前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >NVMe接口优化:HDD存储的未来之路

NVMe接口优化:HDD存储的未来之路

作者头像
数据存储前沿技术
发布2025-02-26 13:36:55
发布2025-02-26 13:36:55
840
举报

全文概览

在生成式AI和大数据时代,存储系统的性能和效率变得至关重要。传统的SATA和SAS接口已经无法满足现代数据中心对高吞吐量和低延迟的需求。NVMe(非易失性内存 express)作为一种新兴的存储接口,正在逐步取代这些传统接口,特别是在大容量存储系统中。本文深入探讨了NVMe接口在HDD(硬盘驱动器)中的应用,分析了其如何通过统一存储堆栈、优化拓扑结构以及引入新技术(如eBPF、CMB、HMB等)来提升存储系统的性能、降低功耗和总拥有成本(TCO)。通过多个实际案例和技术细节,本文为读者展示了NVMe接口如何推动存储技术的革新,并为未来的数据中心和AI应用提供了强有力的支持。

  1. NVMe存储接口整合
    • 讨论了NVMe接口如何取代传统的SATA和SAS接口,推动大容量存储系统的现代化。
    • 介绍了NVMe委员会的技术规划,包括eBPF计算程序、命令持续时间限制(CDL)和弹性容量等。
  2. NVMe-HDD统一存储堆栈与TCO效率
    • 分析了NVMe-HDD如何通过统一存储堆栈减少服务器DAS与JBOD存储的TCO和功耗。
    • 探讨了CPU/GPU直连、数据压缩和计算存储等技术在NVMe-HDD中的应用。
  3. NVMe简化硬盘拓扑结构
    • 展示了NVMe如何通过消除SAS和SATA专有硅片,简化存储拓扑结构,提升系统效率。
    • 介绍了从SAS/SATA到NVMe的拓扑结构演变过程。
  4. NVMe-oF驱动初始化流程与CMB应用
    • 详细描述了NVMe-oF驱动的初始化流程,包括队列创建、数据缓冲区分配和RDMA密钥生成。
    • 探讨了控制器内存缓冲区(CMB)在减少Fabric延迟和优化数据传输中的作用。
  5. NVMe-HDD直连验证与JBOD扩展方案
    • 介绍了NVMe-HDD直连验证的过程,包括UEFI固件和操作系统内核的验证。
    • 讨论了JBOD扩展方案中的数据路径验证和硬件组件的安全性。
  6. 总结:NVMe-HDD优化存储系统
    • 总结了NVMe-HDD系统优化的关键要点,包括性能提升、功耗优化和容量利用率。
    • 强调了统一架构、HMB、CMB等技术对存储系统整体性能的提升。

阅读收获

  1. 了解NVMe接口如何取代传统SATA和SAS接口,推动大容量存储系统的现代化。
  2. 掌握NVMe-HDD的统一存储堆栈,理解其如何通过优化拓扑结构和引入新技术(如eBPF、CMB、HMB)来提升系统性能和降低TCO。
  3. 认识NVMe-oF驱动的初始化流程,了解其在数据传输和Fabric延迟优化中的关键作用。
  4. 探索NVMe-HDD直连验证和JBOD扩展方案,理解其在确保存储系统安全性和扩展性中的重要性。
20250224-2022.png
20250224-2022.png

NVMe 存储接口整合

图片讨论了关于NVMe存储接口整合的进展,特别是在OCP NVMe HDD规范方面。该规范已在2022年由多个活跃成员共同推动。讨论的重点是通过NVMe协议取代传统的SATA接口,以现代化和整合大容量存储系统。不同的消费者、驱动供应商、系统供应商和生态系统公司正参与这一转型过程。

20250224-2022-1.png
20250224-2022-1.png

20250224-2022-2.png
20250224-2022-2.png

NVMe 存储接口整合

讨论了NVMe委员会针对未来NVMe硬盘的功能规划,包含了多个正在进行中的技术开发,如eBPF计算程序、命令持续时间限制(CDL)以及弹性容量(用于重用)。

还提到,原生SOC三模端口(支持SAS、SATA和NVMe)对未来过渡非常重要。此外,展示了三个EDU阶段的进展,表明产品化可能在2027至2028年间发生,届时将有大量市场需求推动该技术的发展。

===

HDD的额外功能规划:

  • NVMe委员会TPAR 4091 计算程序(eBPF) ——进行中
  • NVMe委员会TPAR 4144 命令持续时间限制(CDL) ——进行中
  • NVMe委员会TPAR 4149 弹性容量(用于重用) ——进行中
  • 原生SOC三模(SAS,SATA和NVMe)端口 是过渡所必需的
    • EDU1 – OCP演示2022 —— 因SATA连接器规范合规问题被推迟
    • EDU2 – 2023年采样 —— 通过80% 驱动程序 Linux 和 MSFT供应商SIE测试
    • EDU3 – 正在开发中 —— NVMe2.0,增加了到2025年第二季度可能实现的固件功能
    • 产品化预计在2027到2028年之间实现,关键CSP的市场需求推动

关于 eBPF

eBPF (Extended Berkeley Packet Filter) 是一种非常强大的内核级技术,起初用于网络数据包过滤,但它的功能已经大大扩展到操作系统内核的其他方面。eBPF允许程序在操作系统内核中执行代码,而无需更改内核源代码或加载内核模块。这种方法提供了一种高效、安全的方式来扩展操作系统的功能。

主要特点和应用:

  1. 高效的性能
    • eBPF 程序运行在内核中,可以直接访问内核数据结构,但它们会经过验证以确保不会引入不安全的操作。
    • 由于eBPF是在内核级别运行,它能够提供比传统用户空间应用程序更高的性能,尤其是在处理网络流量、性能监控和安全分析时。
  2. 灵活性和扩展性
    • 虽然最初是为了网络包过滤而设计的,eBPF现在被广泛用于性能监控、安全、调试、Tracing、流量管理等多个领域。
    • eBPF程序可以通过"钩子"插入到内核的多个不同位置(例如,系统调用、网络栈、进程生命周期等),这使得它能在不需要修改内核源代码的情况下扩展操作系统的功能。

eBPF的工作原理

  • 程序加载用户空间的应用程序通过特定的API将eBPF程序加载到内核中。这些程序通过BPF系统调用机制与内核交互。
  • 验证eBPF程序加载后,由内核中的BPF验证器进行安全性检查,确保它们不会引发系统崩溃或其他安全问题。
  • 执行在符合安全规则后,eBPF程序会在内核中某个“钩子”位置被触发,并执行所定义的操作。

20250224-2022-3.png
20250224-2022-3.png

NVMe-HDD统一存储堆栈与TCO效率

  • 提供超过50%的服务器DAS与JBOD存储特定硅片TCO(总拥有成本)和功耗的减少
  • 基于标准的硅片、操作系统堆栈、驱动程序和软件
  • SSD和HDD的统一数据静态存储、数据传输中和验证安全架构整合
  • CPU/GPU直连优化功率、带宽、数据压缩和计算存储等
  • 通过NVMe-HDD控制器内存缓冲区(CMB)DPU/RNIC硬件加速实现高效的NVMeoF与GPU直连
  • 使用NVMe主内存缓冲区(HMB)优化HDD性能和功率,并提高IOP、带宽、排队和重建性能效率
  • 双驱动器HDD支持IOP、带宽、排队和重建性能的提高

下方3组图,详细说明SAS/SATA 接口向 PCIe 接口转型过程差异,从左往右依次来看:

  • 左1 说明, SAS/SATA 接口需要有专用的芯片,因此接口成本比较高;
  • 左2 说明,SAS/SATA 与 PCIe 接口的路径差异,传统接口多一个 定制的 IOC 驱动器;
  • 左3 说明,两者在IO路径上的差异,PCIe 的IO路径更精简。

20250224-2022-4.png
20250224-2022-4.png

NVMe简化硬盘拓扑结构

通过消除传统的SAS和SATA专有硅片及驱动程序,NVMe提供了统一的驱动程序/操作系统堆栈,适用于HDD和SSD。这种简化的架构有助于支持多驱动器并优化NVMe-oF(NVMe over Fabrics)的可组合性。随着技术的发展,拓扑结构从使用SAS和SATA硬盘的复杂连接过渡到未来采用NVMe硬盘的简化系统,带来了更高的效率和扩展性。

===

拓扑结构演变

  1. 初始阶段
    • CPU/DPU/GPUSAS控制器SAS扩展器SAS硬盘
    • 在此结构中,SAS控制器和扩展器连接多个SAS硬盘。
  2. 过渡阶段
    • CPU/DPU/GPUCPU集成至SATA桥接芯片SATA硬盘
    • 在此阶段,CPU与SATA桥接芯片集成,连接多个SATA硬盘。
  3. 未来阶段
    • CPU/DPU/GPU三模控制器PCIe交换机NVMe硬盘
    • 未来,采用NVMe硬盘,通过三模控制器和PCIe交换机实现数据传输,简化了存储拓扑。

20250224-2022-6.png
20250224-2022-6.png

PoC 案例

演示了PCIe Gen4 IOMs设备,支持NVMe over Fabrics(NVMe-oF)x16 RNICs的应用。

该演示通过连接SFF8674铜缆展示了数据传输,并展示了PCIe交换机和硬盘阵列的连接。展品包括2U-3.5” NVMe-HDD POC JBOD以及相关的硬件架构。


20250224-2022-8.png
20250224-2022-8.png

NVMe-oF驱动初始化流程

流程图展示了在NVMe-oF驱动目标初始化的过程中,目标驱动程序如何创建必要的队列、数据缓冲区以及RDMA密钥等,客户端通过发现过程连接到目标并获取所有相关信息,以便进行数据传输。

整个流程涉及到管理和IO队列的创建、数据缓冲区的分配以及密钥的生成,确保客户端能够正确地访问和操作目标设备。

===

  • 目标驱动程序在目标内存中创建队列对(Queue Pairs)
  • 目标驱动程序创建数据缓冲区以进行IO传输
  • 目标驱动程序为RDMA创建密钥:
    • 管理队列和IO队列
    • 数据缓冲区
    • SQ门铃和CQ门铃
  • 客户端通过发现过程连接到目标
  • 客户端获取目标创建的所有密钥,并且获得数据缓冲区的物理地址

20250224-2022-9.png
20250224-2022-9.png

控制器内存缓冲区(CMB)

图展示控制器内存缓冲区(CMB)增强功能及其在存储系统中的作用。

CMB能够通过RNIC硬件(远程网络接口控制器)引擎将命令和数据直接传输到存储控制器,从而减少Fabric附加的存储设备的成本。此外,还介绍了硬盘驱动器(HDD)对于CMB的低需求,以及如何通过硬件和NVMe硅片支持高效的数据传输和命令处理。

===

关键增强功能:

  • 当前在大多数RNIC中得到支持
  • CMB允许命令和数据直接通过RNIC硬件引擎传输到存储控制器
  • 减少了与Fabric附加的Bunch of Drives(FBOD)设备的总拥有成本(TCO)

实现概述:

  • HDDs(硬盘驱动器)需要一个非常小的CMB(8-16MB),这是因为其较低的IOPS(每秒输入输出操作数)
  • 硬件支持将内部CMB DRAM暴露给主机PCIe总线
  • NVMe硅片支持从内部DRAM获取命令/数据

控制器内存缓冲区CMB的应用价值

  • 优化数据传输:NVMe V1.2引入了控制器内存缓冲区(CMB),旨在通过减少NAND和DRAM之间的数据复制来优化数据传输。CMB能够分配在CXL主机定向内存(HDM)地址空间中,使得处理器只获取所需的流量单元(FLITs),从而减少不必要的数据传输,提高效率。
  • 提升存储与内存的结合:通过将存储和内存结合,CMB能够解决资源分配中的竞争条件,类似于NVDIMM-N的DRAM持久性,提升数据的持久性和访问速度。
  • 支持高效的内存访问:CXL通过允许使用CXL.mem协议在相同的PCIe物理接口上进行高效的内存访问,解决了CMB的性能限制,使得存储与内存的合并成为可能。

相关文章推荐

图展示了NVMe-oF GPU-Direct在存储系统中逐步演变的过程。随着硬件架构的变化,系统在减少延迟和开销方面变得更加高效:

  1. 在最初的拓扑中,使用了RNIC、CPU和SAS设备,但由于使用了CPU的内存和SAS扩展器,这带来了较高的延迟和开销。
  2. 随着DPU(数据处理单元)的引入,系统的计算和内存处理得到了更高效的卸载,减少了延迟和CPU负担。
  3. 在最新的拓扑中,通过引入NVMe HDD CMB(控制器内存缓冲区)并直接将HDD和SSD连接到RNIC,进一步减少了PCIe交换机的开销,从而显著降低了Fabric延迟。

===

  • RNIC + CPU + SAS启用的NVMe-oF GPU-Direct驱动程序
    • RNIC + CPU + 内存 + SAS IOC + SAS扩展器的开销
    • 大约10微秒的Fabric延迟开销
    • 使用CPU的DRAM来管理NVMe队列和数据缓冲区
  • DPU + NVMe HDD启用的NVMe-oF驱动程序
    • DPU + PCIe交换机的开销
    • 大约5微秒的Fabric延迟开销
    • 100%卸载CPU、DRAM和SAS硅片
    • 使用DPU的DRAM来管理NVMe队列和数据缓冲区
  • RNIC + NVMe HDD CMB启用的NVMe-oF驱动程序
    • 2-3微秒的Fabric延迟开销
    • 100%卸载CPU/DPU的DRAM和SAS/交换机硅片
    • 使用NVMe HDD CMB来管理NVMe队列和数据缓冲区
    • 直接将HDD和SSD连接到RNIC,消除PCIe交换机的开销

20250224-2022-11.png
20250224-2022-11.png

元数据存储的问题

图讨论了HDD存储在旋转介质上的元数据带来的问题,主要指出了空间浪费和读取速度慢等问题。硬盘在启动时需要读取大量的元数据,这不仅增加了启动时间,还占用了可用于存储数据的空间。

内容:

  • 所有硬盘驱动器(HDD)的关键轨道索引信息表和磁头校准元数据目前存储在旋转介质中,浪费了存储空间。
  • 在HDD启动并准备好数据传输之前,硬盘必须从旋转介质中读取所有这些数据。
  • 这导致了系统启动时的旋转时间较长,并且消耗了客户可见的数据介质轨道。

20250224-2022-12.png
20250224-2022-12.png

NVC(非易失性缓存)

图介绍了HDD在断电情况下如何使用NVM存储DRAM写缓存数据(NVC),并说明了旋转能量转化为电力后消耗的主要资源是NOR和NAND写操作。由于有限的旋转能量和较慢的存储速度,NVC容量受到限制,这导致了较高的延迟并降低了写密集型应用的性能。

内容:

  • 硬盘驱动器(HDD)必须在断电条件下将所有的DRAM写缓存数据存储在NVM(非易失性存储器)中,因此产生了NVC(非易失性缓存)这个术语。
  • NVC数据存储利用了旋转盘片中存储的旋转能量,将其转化为电力,主要被慢速的NOR和NAND写操作消耗。
  • 由于有限的旋转能量和较小/较慢的HDD NOR/NAND存储,这限制了HDD的NVC容量,进而增加了延迟并降低了写密集型应用程序的性能。

20250224-2022-13.png
20250224-2022-13.png

主机内存缓冲的应用价值

图讨论了HMB如何通过加速HDD的启动时间、释放元数据扇区以及提高HDD的NVC容量,从而在提高性能的同时降低功耗,优化HDD的整体性能和总拥有成本(TCO)。通过将元数据存储在HMB中而非旋转介质中,可以显著减少启动时间,并支持无活动磁盘的节能应用。

===

  • 企业数据中心存储服务器通常配备BBU(Battery Backup Unit,电池备份单元),并具有大容量DRAM、快速NVMe SSD和/或超电容支持的NVDIMMs。
  1. NVMe驱动程序为存储域中的每个HDD创建主机内存缓冲区(HMB)窗口,NVMe驱动程序将每个唯一的HDD序列号元数据填充到每个HDD的HMB中,从而使HDD能够启动。
    • A. 通过释放元数据扇区,可以为客户提供更多存储容量。
    • B. HMB中的HDD元数据通过Byte/RDMA访问,比旋转介质中的访问要快得多,从而大大加速了启动时间,因此HDD的启动时间可以缩短到2到3秒,这对于重新启用大规模节能的无活动磁盘(MAID)温存储应用至关重要。
    • C. 如果HDD从服务器中被移除或盗窃,则没有元数据就无法读取。
  2. HDD的NVC可以是已记录的或单次存储的,存储在这些CPU/DPU NVM的HMB分区中,而不是HDD的较慢NOR或NAND中,从而使得HDD的NVC容量大幅增加,降低延迟、提高性能并减少功耗。

20250224-2022-14.png
20250224-2022-14.png

NVMe-HDD 直连验证

图展示了通过直接连接的NVMe硬盘驱动器进行设备验证的过程。

验证采用现有的标准方法,在操作系统启动前由UEFI固件进行验证,启动后则由操作系统内核进行验证,支持热插拔硬盘的检测。图中还列出了几个涉及的协议与标准,包括MCTP、SPDM和DOE。

===

  • 使用与当前数据路径验证相同的模型:
    • NVMe 内带 SECURITY IN/OUT
    • MCTP(管理组件传输协议)通过 VDM(供应商定义消息)
    • SPDM(安全协议与数据模型)通过 DOE(文档对象交换,提议中)
  • 操作系统启动前:
    • UEFI 固件验证设备
  • 操作系统启动后:
    • 操作系统内核验证设备
    • 热插拔HDD

20250224-2022-15.png
20250224-2022-15.png

JBOD 扩展方案

图展示了JBOD NVMe-HDD拓扑结构的验证方式。

数据路径通过“in-band”和“out-of-band”两种方式进行验证,外部验证可在设备层或应用设备层进行。JBOD系统通过简单的硬件组件,如BMC和PCIe交换机,来确保设备访问的隔离性,保证验证过程的安全性。

===

  • 数据路径:存储系统通过数据路径将HDD呈现给主机。
    • “In-band”(NVMe命令集)
    • “Out-of-band”(VDM或DOE)
    • 主机使用以下方式进行直接验证:
  • Sideband:存储系统通过sideband桥接验证路径与数据路径。
    • 用于带外管理的BMC(基板管理控制器)
    • 智能/非智能PCIe交换机
    • 外部验证在设备级别(通过设备)或设备级别(通过passthrough)进行。
    • 必须使用最简单的JBOD硬件组件来实现:
    • 存储系统在验证过程中管理设备访问,以实现隔离。
20250224-2022-16.png
20250224-2022-16.png

总结:NVMe-HDD 优化存储系统

图概述了NVMe-HDD系统优化的关键要点,包括提高性能、优化功耗和容量利用率,强调了统一架构对提高存储效率的影响,并介绍了各种技术,如主机内存缓冲区(HMB)、控制器内存缓冲区(CMB)以及更灵活的数据放置方式等,这些都能显著提升HDD和SSD的整体性能和可用性。

===

  • 在达到优化的容量利用率、减少功耗、提高性能和降低总拥有成本(TCO)的效率目标之前,需要客户和供应商的重大贡献。
  • 统一的NVMe SSD和HDD架构可以充分利用以下特性:
    • 用HMB空间分配替代sNAND或iNAND
    • 更大的HMB支持更好的NVC性能
    • 通过HMB基于RDMA的头部和媒体元数据表释放更多用户数据容量
    • 更快的硬盘驱动器启动时间与HMB基于快速元数据表的读取
    • HDD将失去在元数据丢失的情况下找到其轨道的能力,从而需要超级安全的擦除
    • 利用现有的3.5”存储机箱背板/连接器,减少IOM组件
    • 数据压缩在NVMe SSD和HDD上都能取得最佳效果
    • 启用增强的多执行器支持与命名空间(NS)现有操作系统支持
    • 优化离线/在线HDD重命名/ADR,具有弹性容量或NS管理
    • 使用SPDM和MCTP通过VDM/DOE验证进行设备身份验证
    • 控制器内存缓冲区(CMB)启用NVMe-oF/TCP和GPU-Direct AI简化
    • 主机内存缓冲区(HMB)提高性能并减少功耗
    • 主机管理的区域命名空间(ZNS)非常适合SMR
    • 命令持续时间限制(CDL)质量服务优化
    • 灵活的数据放置(FDP)应用友好的数据放置
    • 使用eBPF的计算存储应用程序

延伸思考

这次分享的内容就到这里了,或许以下几个问题,能够启发你更多的思考,欢迎留言,说说你的想法~

  1. NVMe接口的广泛应用是否会彻底淘汰SATA和SAS接口?在未来的数据中心中,传统接口是否还有存在的必要?
  2. 如何进一步优化NVMe-HDD的TCO和功耗?除了现有的技术(如CMB、HMB),还有哪些创新技术可以应用于NVMe-HDD系统?
  3. NVMe-oF在AI和大数据应用中的潜力如何?随着AI和大数据的发展,NVMe-oF是否能够成为未来存储系统的标准?

原文标题:Optimizing HDD Interface in the Generative AI Era

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-02-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 王知鱼 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • NVMe 存储接口整合
  • NVMe 存储接口整合
  • NVMe-HDD统一存储堆栈与TCO效率
  • NVMe简化硬盘拓扑结构
  • PoC 案例
  • NVMe-oF驱动初始化流程
  • 控制器内存缓冲区(CMB)
  • 元数据存储的问题
  • NVC(非易失性缓存)
  • 主机内存缓冲的应用价值
  • NVMe-HDD 直连验证
  • JBOD 扩展方案
  • 总结:NVMe-HDD 优化存储系统
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档