读论文(二):HMB-SSD: Framework for Efficient Exploiting of the Host Memory Buffer in the NVMe SSD
问题背景
随着SSD的存储容量到达TB级,需要GB级大小的地址映射表,而利用地址映射表通常要使用DRAM,增加了SSD的成本,降低了SSD的竞争优势。利用HMB特性,将一部分主机内存分配给SSD使用,不仅能够降低SSD的成本,还提高了IO性能。
SSD与PC的数据交换可以通过HMB来进行。HMB有两种用法,存放地址映射表或者直接存储读写数据。
提出的方法
文章利用SSD HMB提出的架构如下:
与没有HMB功能的SSD相比,增加与了HMB相关的控制管理结构,主要有三部分:
- HMB activator
这个模块负责HMB初始化,SSD想要管理主机分配的这块内存,必须知道内存的地址与大小,这就是这个模块的工作。 - HMB allocator
初始化工作结束后,开始执行命令,当用到主机内存时,需要按照命令内容分配内存。整个过程为,PC将命令写入SQ队列,NVMe Controller取出命令解析,将命令解析后,allocator根据需要分配内存——用来写数据等。 - FWB manager
该模块实现将主机内存作为SSD写缓冲的功能,具体读写过程如下: