Host Memory Buffer SSD 是一项寻求一个主要目标的行业发展:最大限度地降低 SSD 成本。随着技术变得更加成熟,我们在过去一年中开始看到更多的 HMB SSD。在本文中,我们将介绍 HMB 基础知识,并说明为什么这是 NVMe SSD 在某些细分市场中的一项重要技术。

主机内存缓冲区 (HMB) SSD:基础知识

几代人以来,SSD 的驱动器内部都有 DRAM。在数据中心领域,这也是为什么我们看到几代 SSD 带有大电容器,以便在断电时为 DRAM 供电。这些功能会显着增加 SSD 的成本。

HMB SSD并不是我们见过的第一种无DRAM SSD,甚至是NVMe SSD。这方面的一个例子是,许多 SATA DOM 甚至在 HMB 之前就没有 DRAM。HMB 的不同之处在于性能优于之前的那些版本,并且它也被纳入了官方 NVMe 1.2 规范。

DRAM 几代人在 SSD 中执行的最重要功能可能是作为 L2P(逻辑到物理)表。这是一种映射表功能,可跟踪数据在 SSD 上的物理位置并为其提供逻辑映射,因此操作系统无需跟踪内部 SSD 数据移动。

通过将 L2P 表移动到主系统内存,HMB SSD 能够获得无 DRAM SSD 的成本优势,同时还保留了具有板载 DRAM 的 SSD 的大量性能。

这需要几个主要项目才能工作。首先,主机系统和操作系统需要支持 HMB 和 NVMe 1.2 规范。这是因为需要为这些任务分配主内存。其次,SSD 本身在其控制器和固件中需要 HMB 特定的功能。

这些函数的示例是 HMB 激活器和 HMB 分配器。HMB Activator 最显着的功能是处理 HMB SSD 的初始化。当主机系统要求 SSD 识别自己时,HMB 激活器通过发送 HMPRE 属性来标记它是 HMB SSD。从那里,SSD 和主机系统设置 HMB 结构。

在 HMB 分配器端,SSD 需要跟踪和管理它从主机系统请求的内存。在操作中,HMB 分配器做了很多工作。它具有分配和释放内存等功能,这些内存驻留在 PCIe 总线和主机系统的主内存中。如果 SSD 支持 HMB 快速写入缓冲区,那么控制器的 HMB 分配器也需要具有管理它的功能。

HMB 快速写缓冲器

HMB 的一个特点是驱动器可以包含一个快速写入缓冲区 (FWB) 作为 HMB 结构的一部分。其基本思想是,SSD 制造商可以利用主存的速度优势,将主存用作 NAND 设备的写入缓冲区。当数据从 FWB 刷新到 NAND SSD 时,这允许将数据写入 NAND 等功能更有效地与 NAND 的单元对齐。

缺点是数据安全。在当前的大多数系统中,主存储器是没有断电保护或 PLP 的易失性 DRAM。在数据中心 SSD 中,PLP 电路被添加到 SSD 中,因此 SSD 的易失性 DRAM 可以在断电时刷新到非易失性 NAND。

从理论上讲,像 NVDIMM 这样的技术和更奇特的技术,比如现在已经不存在的 Optane DIMM,可以提供这种类型的服务,而不会在电源事件期间丢失数据。这些技术通常比直接将 PLP 添加到 NAND SSD 成本更高。同时,数据中心的超大规模人员已经考虑有效地执行概念上类似的版本来管理庞大的 NAND 阵列。

至此,我们已经讨论了特性,但下一个问题是 HMB 为何存在。

为什么存在 HMB NVMe SSD

我们拥有 HMB SSD 的主要原因是成本,但也有其他影响。下面是一个项目 TinyMiniMicro 节点中的 HMB NVMe SSD 示例。在 1L 企业台式 PC 领域,拥有成本和功耗更低的 SSD,同时仍然能够销售 NVMe SSD 很重要。

可以看出SSD是M.2 2280或80mm型号。同时,它的尺寸仅为 80 毫米,因为要使用额外的 PCB 来到达现有的安装点。

可以想象,假设 SSD PCB 更小,外形尺寸会如何缩小。

最后的话

尽管业内许多人喜欢说 HMB SSD 与配备 DRAM 的替代品一样快,但事实并非如此。相反,这些通常被认为是一种有价值的技术,因为它从 SSD 中移除了 DRAM 封装,并且还可以减少驱动器的物理占用空间。

尽管如此,大多数主要制造商在市场上都有 HMB SSD,因此我们预计会在一段时间内看到这项技术。随着服务器进入 CXL 时代并且系统中相对刚性的内存结构变得灵活,这也将变得更加有趣。

什么是主机内存缓冲区或 HMB NVMe SSD?相关推荐

  1. Kafka将消息发往内存缓冲区

    KafkaProducer是多线程并发安全的,多线程环境下也不会导致数据错乱. //将消息添加到内存缓冲里去,RecordAccumulator组件负责的 RecordAccumulator.Reco ...

  2. 【C 语言】文件操作 ( C 语言中的文件操作函数 | 磁盘与内存缓冲区 | 缓冲区工作机制 )

    文章目录 一.C 语言中的文件操作函数 二.磁盘与内存缓冲区 三.缓冲区工作机制 一.C 语言中的文件操作函数 读取 文本文件 可以使用 getc , fgets , fscanf 函数 , 向 文本 ...

  3. python cv2.imencode()(将图像编码到内存缓冲区中。)(图像压缩原理)

    from cv2\__init__.py def imencode(ext, img, params=None): # real signature unknown; restored from __ ...

  4. Python StringIO实现内存缓冲区中读写数据

    StringIO的行为与file对象非常像,但它不是磁盘上文件,而是一个内存里的"文件",我们可以像操作磁盘文件那样来操作StringIO.这篇文章主要介绍了Python Stri ...

  5. 报警服务器物理内存,从内存告警谈ESXi主机内存管理——内存构成

    在<如何处理ESXi主机的黄色告警>一文中我们提到了在没有冗余的管理网络或启用SSH的情况下,ESXi主机图标右下方将会出现黄色的告警.除了上述配置导致告警之外,另一种常见的告警就是ESX ...

  6. win10服务器cpu占用过高,解决win10服务主机内存和cpu高占用的解决方法

    有些使用Win10系统的用户反馈说,电脑总是卡到不行,检查后发现原来是服务主机,本地服务占用了大量内存和cpu,导致电脑运行起来并不那么流畅.那么,遇到这种问题该怎么办呢?接下来,小编就向大家分享解决 ...

  7. oracle数据库所在主机内存耗尽

    大体上就是不断的告警,主机内存基本使用完了,swap使用90%.这个时候就开始着手处理.详细经过就不写了,这里只写一些事后总结. 总结一下, 1,要精确厘清到底哪些进程使用的内存是合理的,哪些是不合理 ...

  8. 磁盘缓冲区和内存缓冲区

    一般编程所说的缓冲区指的是内存缓冲区,这是程序所设置的一块内存空间,用来暂存从其他设备读入的数据或者是即将写入其他设备的数据:     而磁盘缓冲区有两种:     意是上面说的内存缓冲区,只是它是专 ...

  9. Qt5基础 QBuffer内存缓冲区读写

    Qt5基础系列 Qt基础的学习笔记.此文章为在B站上学习黑马程序员Qt教程的QBuffer部分做的记录,加深理解,方便回看. 目录 Qt5基础系列 一.QBuffer 1.头文件 2.引入类 3.主程 ...

最新文章

  1. Error in ggplot(df, aes(x = x, y = y)) : could not find function “ggplot“
  2. Fragment 复习一
  3. 昇思MindSpore年终盘点 | 看完这篇正式开启虎年!
  4. Java编程题修院子,了解java虚拟机—JVM相关参数设置(2)
  5. javaee和javaee_JavaEE概念简介
  6. OpenCV中cvResize函数图象放缩
  7. sae java 开发环境_新浪开放平台 sae环境 java主机使用感受
  8. 因发生下列错误 无法创建映射网络驱动器_怎么来修复“Windows无法安装所需文件的错误原因”?...
  9. oracle行号排序问题
  10. 云计算时代 战争的焦点在哪里
  11. 基于VLC的视频播放器
  12. JProfiler12 最新使用教程
  13. freemarker Java 模板引擎 基本语法
  14. 万物互联天下 创造未来奇迹
  15. python线性方程组求解_用Python的Numpy求解线性方程组
  16. 如何预防计算机病毒英语作文,电脑病毒的英文作文
  17. 这台笔记本最适合程序员编程!送!
  18. 300PLC转以太网与MatrikonOPC以太网通讯
  19. 实施:GitHub + MarkDown 文档系统的工作环境部署及工作流程说明 | 技术传播
  20. 桂电免出校器实现自动宽带拨号,免除你每天拨号的烦恼——路由器以斐讯K2为例

热门文章

  1. Matlab和OpenCv的混合编程,工具箱mexopencv
  2. 【无服务器架构】Knative Eventing 介绍
  3. mysql更改字段数据
  4. 计算机底层存储,图引擎底层存储的设计与实现-计算机工程.PDF
  5. 2023腾讯云服务器价格表(轻量/CVM/免费/GPU)
  6. listview下拉刷新上拉加载扩展(二)-仿美团外卖
  7. 摩凡陀女士手表赛蕾娜系列腕表 优雅之美展露无遗
  8. 阿坝州2008年《四川省房屋建筑抗震加固工程计价定额》人工费调整批复〔2018〕25号
  9. PCB设计系列文章-印刷电路发展历史
  10. pg_ctl: 目录 “/pgsql/data“不是一个数据库集群目录 | 致命错误: 角色 “postgres“ 不存在