SSD 中的主机内存缓冲区 (HMB) 是什么?

您可能认为所有文档和照片都整齐地存储在计算机上的逻辑文件夹结构中。 不过,你错了。 那是计算机向您显示的视图。 但实际上,如果您使用的是 SSD,则数据会分布在整个驱动器上。

如果您偶尔对其进行碎片整理过程,则 HDD 的效果最佳。 这对 HDD 上的所有数据块进行了排序,因此相关位是 close 一起,可以按顺序从驱动器中读取。 这是因为 HDD 从盘片中读取顺序数据位比随机读取要快得多。

SSD 在随机读取方面要好得多,因为它们不必先等待读取头到达正确的位置。 一般来说,它们的速度也快得多,而且还有很多其他理由更喜欢它们。

问题是,SSD 受到磨损的影响更大。 每次从存储单元读取数据时,主要是在将数据写入存储单元时,存储单元都会稍微退化。 为了最大限度地减少磨损并延长驱动器寿命,SSD 使用称为磨损均衡的过程。 写入数据时,SSD 选择首先将其放置在磨损最少的单元格上。

这会导致奇怪的事情,例如覆盖文件后技术上仍保留在驱动器上的数据,仅仅是因为新版本保存在不同的存储单元中。 “已删除”的数据被标记为“可以覆盖”,而不是主动删除。 删除它会使用对受影响的内存单元的有限写入次数中的一次。

注意动向

SSD 会保留一份表格,其中列出了所有内容的保存位置以及可以覆盖和不可以覆盖的内容以高效工作。 这不会占用太多空间,但任何操作系统都会不断进行小型写入操作。 这些不断的变化将意味着对 SSD 执行许多写入,特别是对一个部分,这将缩短其使用寿命。

为避免这种情况,大多数 SSD 都包含一些板载 DRAM。 DRAM 不会像闪存那样受到磨损,因此可以根据需要随时更新。 顺便说一句,它也更快。 因此,当您请求文件时,具有 DRAM 的 SSD 将更快地返回结果,因为查找时间减少了。

一些预算 SSD 选择放弃 DRAM,但作为一种节省成本的措施。 这确实会影响性能并缩短驱动器的使用寿命。

Enter HMB

HMB 旨在降低与无 DRAM 固态硬盘相关的性能和使用寿命。 主机内存缓冲区使用另一个 DRAM 源来存储驱动器的至少部分逻辑到物理映射。 这样做的好处是,每台计算机的主 RAM 中都已经拥有丰富的 DRAM 资源。

SSD 驱动程序允许 SSD 请求将一小部分系统 RAM 留出并分配以存储查找表。 虽然 SSD 通常每 TB 闪存配备 1GB DRAM,但 HMB 通常远不及该大小。 制造商和驱动器之间的具体实现有所不同,但大约 100MB 是标准的。 这允许最常用的数据映射其位置以便更快地访问。 其他数据必须以慢速方式访问。

与直接的 DRAM-less SSD 相比,这可以改善大多数工作负载的延迟。 不过,性能并不完全符合使用板载 DRAM 的要求。 它还有助于减少 SSD 本身的一些磨损。 然而,这种好处难以衡量,而且可能微乎其微。

结论

HMB 是对无 DRAM 固态硬盘的有益补充。 它几乎没有额外的金钱成本。 它有助于缓解与无 DRAM 固态硬盘相关的大部分性能下降。 HMB 仍然无法提供与板载 DRAM 相同的性能水平。 它会导致系统 RAM 使用率稍高,这可能是 RAM 最少的预算计算机的问题。

分配给 HMB 的 RAM 通常很小,如果需要,系统可以提供少于 SSD 请求的内存。 总而言之,HMB 本质上是一场没有缺点的胜利。 在直接比较支持 HMB 的无 DRAM SSD 和不支持 HMB 的 SSD 时,尽管考虑了所有其他因素,但还是选择 HMB 模型。 不过,我们仍然推荐带有板载 DRAM 的 SSD,因为它们提供了最佳性能,而成本仅略有增加。 你觉得呢?你有没有什么想法? 在下面的评测中分享它们。