问题背景
NAND Flash Memory (NFM)-based的存储,虽然它还存在每比特价格较高(相对于HDD)、有限的生命周期(磨损)、可靠性等问题,但仍为现在的主流NVM介质。
NVMe接口协议最多可支持64K队列,每条队列64K条命令,可以充分发挥NVM的并行能力(现在的SSD都没有达到实现这么多队列,从消费级到企业级,最多支持128条队列)。
文章以RAM Disk(详情了解https://www.cnblogs.com/dayu-liu/p/11120248.html)为例,该软件利用主机内存模拟成硬盘,与普通的存储设备相比,速度快一个数量级,造成这种速度的差异很好理解,模拟硬盘与应用程序所在的距离更近,通常是主机内存的不同部分,而真实的存储设备需要经过PCIe的数据进行传输。提出了自己的NVMe SSD利用HMB的结构(修改VSSIM模拟器,进行的模拟,不是真正的实现这种架构的SSD)。
提出的方法
文章提出的利用HMB的NVMe命令处理过程如下:
左边为没有利用HMB特性NVMe SSD执行命令的过程,右边则采用了HMB特性。
两者最大的区别在于,NVMe SSD在执行命令过程中,不会进行数据的传输(对于写命令而言,先将应用程序的数据从图中的Data array搬运到HMB,那什么时