主机内存缓冲区(HMB):PCIe DRAM-less SSD 的智能性能提升之道

为什么 SSD 需要的不只是 NAND
正如计算机依赖 RAM 来临时存储正在处理的数据,SSD(固态硬盘)也需要其自身形式的短期内存来维持高效运作。内存缓冲区(如 DRAM 与 SRAM)是 SSD 的性能加速器,提供高速查询与数据暂存功能,有效强化 NAND 的固有速度,实现更快速的存取与传输。要了解其中的运作原理,必须先认识 SSD 的读取工作流程,以及现代 SSD 为何如此依赖高效的元数据(Metadata)处理机制。
在深入探讨这些缓冲区的运作方式之前,我们先来了解 SSD 如何读取数据。
在 SSD 中,当系统发出读取数据的请求时,SSD 控制器(负责管理所有磁盘驱动器运作的内部处理器)需要参照一张映射表,以找出逻辑块地址(LBA, Logical Block Address)所对应的 NAND Flash 物理地址。这张映射表称为 L2P(逻辑地址到物理地址,Logical to Physical)表。
- 逻辑地址(Logical Address):主机系统所认知的数据存储位置,如同您在 Windows 中看到的文件路径(例如:"C:\Users\Yourname\Documents\whitepaper.docx")
- 物理地址(Physical Address):数据实际存储于 NAND 中的物理区块位置(例如:"block 2000")。
控制器查询 L2P 表并取得对应的物理地址后,即可直接从正确的 NAND 区块读取数据并回传给主机。
然而,这些物理地址并非固定不变。由于 NAND Flash 每个区块的写入次数有限,SSD 控制器会在后台持续迁移数据,以平衡数据写入的工作负载——这一过程称为磨损均衡(Wear Leveling)。此机制可防止特定区块过早损耗,延长磁盘驱动器的整体使用寿命。
因此,数据的物理位置持续在变动,这正是 L2P 表至关重要的原因:无论数据被迁移至何处,系统都能通过 L2P 表正确获取所需数据。
正是这种持续进行的 SSD 存取与 L2P 表查询,不仅导致了 SSD 的性能瓶颈,在随机工作负载下这一问题尤为明显。

SSD 的两种架构:配备 DRAM 与无 DRAM(DRAM-less)
不同的 SSD 处理 L2P 表的方式各异。根据设计架构,SSD 访问这张关键映射表的方式截然不同,而这一差异对性能有着直接且深远的影响。
部分 SSD 配备专属的 DRAM 缓冲区,与控制器内置的 SRAM(片上内存)协同运作,用于存储 L2P 表并作为高速缓存。由于 DRAM 的运作速度远高于 NAND Flash,此架构让控制器能够近乎实时地查询映射数据,降低查询延迟并提升整体响应速度。
然而,在 DRAM-less 的 SSD 中,L2P 表存储于 NAND 本身。这意味着每次读取操作可能需要两次独立的 NAND 访问:一次用于查询映射关系,另一次用于读取实际数据。这种运作机制会明显影响响应时间。
这种性能损失在随机读取工作负载下尤为显著。不同于顺序读取(如播放视频或加载大型文件),随机读取操作访问的是磁盘中分散各处的数据,每次读取都必须先查询 L2P 映射关系,增加了额外步骤,进而影响性能。
随机读取的典型场景:
- 计算机开机:系统加载操作系统、驱动程序与配置,这些操作高度依赖随机读取性能。
此外,这种反复访问也会加剧写入放大(Write Amplification),使 NAND 磨损速度超过正常使用水平。上述种种因素充分说明了内存缓冲区的不可或缺性——缺少缓冲区,SSD 每次操作都需要付出更多的额外代价。
自带缓冲区的设计权衡
尽管配备 DRAM 的 SSD 提供最佳性能,然而在产品设计上,也带来了多方面的考量。其中,成本与物理尺寸成为特别重要的因素。
- 成本效益
在 SSD 中整合专属 DRAM 会增加整体物料清单(BOM)成本。对于嵌入式、工业及边缘部署等应用场景,采购决策往往受到严格的预算限制。这项额外的元件成本,是在衡量 DRAM 所带来的性能优势时必须审慎权衡的取舍。
- 空间限制
除了成本之外,DRAM 芯片还占用额外的 PCB 面积,并需要更复杂的布线设计,对整体设计的紧凑程度构成实质限制。在嵌入式或工业系统等空间受限的环境中,配备 DRAM 的 SSD 并不总是最实用的选择。以 M.2 2230 与 2242 等更小的物理规格(Form Factor)为例,其物理空间本就不足以容纳专属 DRAM,因此,更精简的硬件设计架构,成为这些平台的唯一可行路径。
上述考量反映了一个现实:存储设计从来不是一刀切的决策。随着市场对兼顾效率、尺寸与性能的解决方案需求持续增长,NVMe 规范引入了一项名为主机内存缓冲区(Host Memory Buffer, HMB)的功能。此功能使 DRAM-less SSD 得以在不增加专属 DRAM 成本或空间负担的前提下,达到更接近配备 DRAM 设计的性能水平。
主机内存缓冲区(HMB):驱动 PCIe DRAM-less SSD 的智能性能
HMB 允许无 DRAM 的 DRAM-less SSD 通过 PCIe 接口访问主机系统的部分内存,并将其作为缓存关键数据结构(如 L2P 映射表)的缓冲区。通过这种方式,能够借用主机内存,使 DRAM-less SSD 恢复一定程度的性能,缩小性能差距。
换言之,DRAM-less 解决方案不再需要将 L2P 表从 NAND Flash 复制到 SSD 板载的 DRAM 缓冲区,而是通过 HMB 缓存此表,实现快速查询并降低访问延迟。
HMB 并非实体元件,而是一项 NVMe 协议功能,需要 SSD 控制器架构、固件技术与主机平台的共同支持。因此,尽管 NVMe 规范已定义此机制,但并非所有 DRAM-less SSD 都支持 HMB 功能。
配备 DRAM 的 SSD 可凭借其板载内存缓存各种类型的数据;而使用 HMB 的 DRAM-less SSD 则专注于缓存 L2P 表等元数据。这种针对性的使用方式,在维持低主机资源占用的同时,仍能提供与 DRAM 相当的性能水平。
HMB 如何与主机建立共享内存

HMB 定义于 NVMe 1.2 规范,其运作流程如下:
- SSD 通过 Identify 命令通知主机其支持 HMB,并请求特定的内存容量。
- 主机评估系统 RAM 的可用量。
- 若资源充足,主机通过 Set Features 命令响应,分配内存并提供访问信息。
通过此流程,SSD 即可使用主机部分内存作为自身的缓存,加速访问操作。
进一步的测试数据证实,启用 HMB 可显著提升 SSD 的随机读取速度。为量化此效益,我们以 1GB 数据量进行了 IOMeter 性能测试,对比了启用与未启用 HMB 时的随机读取性能。
如下方图表所示(以宜鼎 PCIe Gen4 4TE2 SSD 系列为例),整合 HMB 可显著提升 IOPS(每秒输入/输出操作次数)。这些效益在随机读取测试与实际开机场景中最明显,L2P 的快速访问直接带来更流畅的使用体验。

CRC 保护:确保 HMB 架构下的数据可靠性
HMB 依赖 SSD 直接控制范围之外的共享系统 RAM。为确保缓存数据在系统多任务处理或潜在干扰下仍保持正确,循环冗余校验(Cyclic Redundancy Check, CRC)被采用作为数据完整性的保护机制。当 L2P 映射表存放于 SSD 外部,并在主机与设备之间传输的过程中,CRC 扮演着关键角色,确保 SSD 整体数据的一致性。
CRC 的运作原理是从数据内容生成一个简短、固定长度的“指纹”。当 SSD 将 L2P 表写入 HMB 时,会同步计算该表的 CRC 值,并将其存储于 SSD 内部的 SRAM 或 NAND 元数据区域。
之后,当 SSD 从 HMB 读取 L2P 表时,会对返回的 L2P 表重新计算 CRC 值,并与先前存储的值进行比对:
- 若两者相符:表示数据可信,其地址映射关系可用于定位 NAND 中的数据。
- 若两者不符:表示数据已损坏,系统将丢弃现有数据,重新从 NAND 加载至 HMB,并计算新的 CRC 值。
此验证程序确保支持 HMB 的 SSD 即便在高度多任务或内存稳定性有限的系统中,仍能维持可靠的性能。更重要的是,此验证程序仅增加极低的额外性能开销,确保在提升可靠性的同时,不会对 SSD 操作引入明显的延迟。

结语与宜鼎可靠的 SSD 解决方案
尽管配备板载 DRAM 的 SSD 仍具备卓越的性能表现,然而支持 HMB 的 DRAM-less SSD 则提供了另一种高效的选择。HMB 通过 PCIe 实现 SSD 与主机 DRAM 之间的直接交互,模拟共享内存系统的行为,协助 DRAM-less SSD 大幅缩短查询时间并提升随机读取响应速度。
随着越来越多的系统设计者优先考量紧凑物理规格与最优化的 BOM 成本,HMB 借助主机内存的能力,成为兼顾性能与价格的优雅桥梁,使 DRAM-less SSD 成为嵌入式、工控及成本敏感型应用的理想选择。
宜鼎专注于打造全方位的工控解决方案,长期深耕硬件、固件与软件技术的研发。因此,宜鼎提供多元的存储解决方案组合,涵盖配备 DRAM 与 DRAM-less 的 SSD,以满足不同系统需求。
宜鼎的 PCIe 存储产品线涵盖 PCIe Gen4 4TE2 与 4TE3 系列,以及 PCIe Gen3 3TE8 系列,其中,所有 DRAM-less 产品组合均支持 HMB。不仅如此,这些 SSD 还整合了前瞻性的工控技术,包括 AES 256-bit data encryption 與 TCG Opal 2.0 支持,进一步提升可靠性,为嵌入式与工业部署提供安全、耐用且值得信赖的存储解决方案,让用户更加安心。



