Kioxia的NVMe RAID卸载有何亮点?

news2024/9/23 17:52:59

图片

随着每一代固态硬盘SSD的速度不断提升,RAID阵列面临着一个重大的挑战:如何有效地维持并扩展性能。即使是通过专门的RAID卡来处理RAID操作的情况下,例如在RAID 5阵列中,简单的写请求也需要涉及两次读取和两次写入不同的SSD。如果没有硬件加速,来自读取操作的数据需要返回到CPU和主内存进行进一步处理,然后才能执行写操作。

图片

RAID 5:
将数据和相对应的奇偶校验信息分别存储在不同的硬盘上,奇偶校验信息占一个硬盘的空间,允许损坏一个硬盘。当一个硬盘损坏时,可以根据剩余的数据和相对应的奇偶校验信息计算出损坏的数据,恢复数据时性能会受到较大的影响。RAID 5写性能偏低,尤其是随机写性能,建议在读写不太频繁的场景上使用,如:用作数据备份。

图片

Kioxia提出了利用PCIe直接内存访问(DMA)功能和SSD控制器的控制器内存缓冲区(CMB)来避免数据移动至CPU再返回的过程。所需的奇偶校验计算是由SSD控制器内的加速器块完成的。

扩展阅读:

  • PCIe P2P DMA全景解读

  • 浅析CXL P2P DMA加速数据传输的原理

自2014年以来,CMB被纳入到NVMe 1.2标准中,其目的是减少主机和设备之间的数据移动。CMB是控制器内部的一块专用内存,通过PCIe总线访问。当CPU需要访问存储设备的数据时,它可以通过内存读写事务层封装(MRd或MRw)直接访问CMB,而不需要将整个数据块传输到主机内存。

图片

由于主机CPU无法像访问DDR内存那样高效地访问CMB,因此CMB通常被用作PCIe设备之间块数据传输的DMA(直接内存访问)缓冲区。这种方式减少了数据在主机和设备之间来回移动的次数,从而提高了数据传输效率。尽管CMB提供了一种优化数据移动的方法,但它仍然存在一些限制。例如,由于主机CPU访问CMB的效率低于DDR内存,且CMB的大小有限,因此对于需要频繁、大量数据交换的应用场景,CMB可能无法提供最佳的性能。 

Kioxia的PoC(概念验证)实现中,DMA引擎可以访问整个主机地址空间(包括同条带SSD的BAR映射CMB),这样它就能够从相邻的SSD接收和传输所需的数据。过使用CMB,可以避免数据移动到CPU和主内存,从而减少CPU和系统DRAM的使用。奇偶校验计算由位于SSD控制器内部的加速器块完成,这减少了对主机CPU周期的占用。

图片

Kioxia的PoC实现显示,与软件RAID相比,CPU利用率降低了近50%。系统DRAM的利用率减少了超过90%。卸载方案还可以处理奇偶校验检查操作,无需占用主机CPU周期来进行奇偶校验计算任务。

在企业级SSD中,这种新型的RAID卸载方法可以显著提高RAID阵列的整体性能,特别是在需要大量读写操作的工作负载下。对于需要处理大量数据和频繁读写操作的数据中心来说,这种技术可以有效降低CPU负担,提高整体效率。对于高性能计算应用,这种方法可以减少数据传输延迟,提高计算密集型任务的处理速度。

此外,Kioxia已经开始向NVM Express工作小组贡献这些特性。如果获得接受,这项提议的卸载方案将成为一项标准,可能被多个SSD厂商广泛采用。

为了实现大规模的企业级支持,需要解决良好的互操作性问题。这意味着不仅要跨越不同的厂商,还需要在不同型号和固件之间兼容。关于如何安全地进行重建、扩展或收缩RAID阵列的具体细节还需要进一步披露。

硬件RAID在过去曾被视为一种依赖硬件厂商的技术,因此它的地位有所下降。相反,像ZFS这样的软件定义解决方案因为强调数据完整性而受到了欢迎。考虑到ZFS在写入数据之前先进行奇偶校验计算的特点,Kioxia的新技术可能与ZFS的算法不兼容,至少需要进行大量的修改。

扩展阅读:

  • ZNS SSD+F2FS文件系统|如何降低GC开销?

  • 为什么QLC NAND才是ZNS SSD最大的赢家?

  • 字节跳动ZNS SSD应用案例解析

  • NVMe SSD:ZNS与FDP对决,你选谁?

ZNS SSD的原理是把namespace空间划分多个zone空间,zone空间内部执行顺序读写。在ZNS的场景下,不同应用按照Zone配置信息,相应存放业务数据。由于是Host管理数据的摆放和存取位置,会最大程度减少GC垃圾回收。降低SSD内部的写放大,提升SSD的寿命。

图片


如果您看完有所受益,欢迎点击文章底部左下角“关注”并点击“分享”、“在看”,非常感谢!

精彩推荐:

  • ZNS SSD是不是持久缓存的理想选择?

  • FMS 2024:多家厂商CXL技术方案总览

  • FMS 2024: 带来哪些存储技术亮点?

  • IEEE报告解读:存储技术发展趋势分析

  • 什么?陶瓷也可以用来存储数据了?

  • 都说固态硬盘寿命短,那么谁把使用寿命用完了吗?

  • 内存原生CRAM技术将会颠覆计算存储的未来?

  • 浅析SSD性能与NAND速率的关联

  • MCR DIMM如何解决内存带宽瓶颈?

  • 浅析MPS对PCIe系统稳定性的影响

  • DPU:值不值得托付下一代存储加速架构?

  • 论文解读|数据中心内存RAS技术全景剖析

  • 属于PCIe 7.0的那道光来了~

  • SSD基础架构与NAND IO并发问题探讨

  • 字节跳动ZNS SSD应用案例解析

  • CXL崛起:2024启航,2025年开启新时代

  • NVMe SSD:ZNS与FDP对决,你选谁?

  • 浅析PCI配置空间

  • 浅析PCIe系统性能

  • 存储随笔《NVMe专题》大合集及PDF版正式发布!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2093559.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ENVI SARscape||笔记

介绍就不介绍了,直入主题! 第一章 ENVI和SARscape 下载与安装: ENVI 5.6 软件安装包下载及安装激活教程! (qq.com)https://mp.weixin.qq.com/s/kH0g5g9AALgDNPssfdZ8wQ 启动 ENVI 的启动模式有两种:ENVI和ENVIIDL&…

鸿蒙 tabs 底部中间凸出

1, 先看效果 2, 直接cv代码-- 先修改一下 资源配置 图标使用自己的 color.json配置 {"integer": [{"name": "tab_row_column_image_width","value": 24},{"name": "tab_row_column_image_height","value&qu…

Vue面试常见知识总结2——spa、vue按需加载、mvc与mvvm、vue的生命周期、Vue2与Vue3区别

SPA SPA(Single Page Application,单页面应用)是一种Web应用程序架构,其核心特点是在用户与应用程序交互时,不重新加载整个页面,而是通过异步加载页面的局部内容或使用JavaScript动态更新页面。以下是对SPA…

【QT】增加注释模板

为了增加项目可读性,增加注释模板 选择工具->外部->配置… ,再次选择“文本编辑器”->“片段”->“添加”,触发命名为header_customer,点击应用,按照下面的模板编排,再次点击应用, /*******************…

【第0004页 · 递归】生成括号对

【前言】本文以及之后的一些题解都会陆续整理到目录中,若想了解全部题解整理,请看这里: 第0004页 生成括号对 今天这题有点难绷,从某种程度上来说应该是第二次写这个问题了,但还是卡住了,现在我们来看一下…

2018CCPC网络赛 C - Dream

题意 给定一个P,现在可以以任意方式重载‘’和‘*’两个符号,使得满足下列等式 其中定义如下 需要注意的是,重载过后的*需要满足以下要求: 也就是说,重载‘*’之后通过计算得到的(k1,2,3,...,p-1)的取值对于集合{1,2,3,...,p-1}是一个一一映射的关系 ​​​​最后输出2*p行,按…

如何在windows中使用hfd.sh aria2c下载huggingface文件

这里写目录标题 简介hfd.sh使用方法windows系统安装aria2c aria2c官方文档: https://aria2.github.io/manual/en/html/aria2c.html 简介 我们在下载huggingface上模型权重的时候,要么在浏览器上直接下,要么使用官方下载程序。浏览器上还得一…

Lagent 自定义 Agent 智能体

准备 安安装环境 mindsearch 工具 画图工具

算法设计与分析:实验五 图论——桥问题

实验内容: 1. 桥的定义 在图论中,一条边被称为“桥”代表这条边一旦被删除,这张图的连通块数量会增加。等价地说,一条边是一座桥当且仅当这条边不在任何环上。一张图可以有零或多座桥。 2. 求解问题 找出一个无向图中所有的桥…

用MATLAB 画一个64QAM的星座图

由于QAM采用幅度和相位二维调制,其频谱效率大大提高,而且不同点的欧式距离也要大于调幅AM调制方式,QAM也是LTE和5G NR首选的调制方式,本期教大家画一个64QAM的星座图。 如下: 首先产生一个64QAM的调制数据&#xff0…

18044 成绩等级评分

### 思路 1. 从键盘输入一个整数成绩。 2. 判断成绩是否在0到100之间: - 如果不在范围内,输出“error”。 - 如果在范围内,根据成绩范围输出对应的等级: - 90分以上为A - 80到89分为B - 70到79分为C - …

数仓架构:离线数仓、实时数仓Lambda和Kappa、湖仓一体数据湖

往期推荐 大数据HBase图文简介-CSDN博客 数仓分层ODS、DWD、DWM、DWS、DIM、DM、ADS-CSDN博客 数仓常见名词解析和名词之间的关系-CSDN博客 目录 往期推荐 1. 数仓架构 1.1 离线数仓架构 1.1.1 数据集市架构 1.1.1.2 独立数据集市 1.1.1.2 从属数据集市 1.1.2 Inmon企…

Java的线程池简述

线程池的工作原理 线程池是为了减少频繁的创建线程和销毁线程带来的性能损耗,线程池的工作原理如下图: 线程池分为核心线程池,线程池的最大容量,还有等待任务的队列,提交一个任务,如果核心线程没有满&…

基于SpringBoot+Vue+MySQL的宠物寄养服务管理系统

系统背景 互联网社会的到来,让各行各业通过互联网实现了浴火重生的可能,每个行业都发现了完全可以使用互联网技术用来提高信息在内部的传递效率,提高管理水准。通过本次对宠物寄养服务系统的设计和开发,不仅能巩固已经学到的知识&…

代码随想录 刷题记录-22 动态规划(6)习题

1.300.最长递增子序列 子序列问题是动态规划解决的经典问题,当前下标i的递增子序列长度,其实和i之前的下标j的子序列长度有关系. 动规五部曲: 1.dp数组及下标含义 dp[i] : 从任意位置开始,以nums[i]元素作为结尾的所有 递增子…

Unity编辑器开发 Immediate Mode GUI (IMGUI)

1. 简介: IMGUI是代码驱动gui系统,由 OnGUI 函数驱动: void OnGUI() {if (GUILayout.Button("Press Me")){ Debug.Log("Hello!");} } IMGUI常用于: 创建 in-game debugging displays and tools&#xff1b…

Redis基础命令和事务,redis持久化和主从复制

目录 第一章、Redis数据库的下载和安装1.1)nosql数据库和 Redis 介绍1.2)Windows中下载安装Redis数据库1.3)Linux中安装Redis数据库1.4)Linux中启动redis1.5)Linux中关闭redis 第二章、三种Redis客户端连接Redis数据库…

AI安全立法:加州新法案的争议与未来影响

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

版本管理工具 Git 的下载安装及使用

1 基本介绍 Git 是目前最流行的分布式版本控制软件 什么是分布式版本控制软件? 所有版本信息仓库全部同步到本地的每个用户可以在本地查看所有版本历史,可以离线在本地提交,只需在连网时 push 到相应的服务器或其他用户那里。每个用户那里…

一键翻译全球:2024年跨文化交流的得力助手

翻译工具作为沟通不不同语言桥梁上的重要使者,正在从古老的字典查阅到现代的机器翻译软件发展。今天,让我们一同探索与搜狗翻译工具相似的翻译工具们怎么带我们走进奇妙世界。 1.福晰翻译 链接直达>>https://www.foxitsoftware.cn/fanyi/ 这款多…