很多貌似专业的半瓶水还在用一些显得很高端的测试手段喊着外置DRAM缓存无用论,严格来说有没有用这件事取决于每个人的实际需求,我只能讲讲外置DRAM缓存到底有什么用,跑分又是如何欺骗你们的。
外置DRAM缓存的作用是存放FTL闪存映射表的,简单理解硬盘是一本书,FTL就是目录,有没有目录和目录的详略程度影响着对这本书中信息检索的速度。如果这是一本用来查找的工具书,目录很重要,如果这是一本小说,那目录可能并不重要。
问题的关键在于“跨度”,简单来说,从同样一本书的10页中找一句话,和从1000页中找一句话,难度是不一样的,速度也是不一样的。来看看intel对于跨度的说明。全盘跨度就意味着NVMe的DRAMless的HMB技术借的64M内存存放的FTL要么不全,要么不够详细。同时也意味着测试的是TLC或QLC。
外置DRAM缓存数据上的体现就是全盘跨度的4K随机读写,由于一般大家都开启了写入缓存,4K随机写入并不是真实的编程速度,甚至从某种意义上说都不是随机写入,这也正是为什么NAND原理决定了编程速度必然小于读取速度,顺序写入也不如读取,随机写入却能超过读取的真正原因,关掉写入缓存,你会得到真正的随机写入,但消费者一般没人关心。
因此,外置DRAM缓存数据上的体现就只剩全盘跨度的4K随机读取了。但是很遗憾的告诉各位,CDM测试中的4K不是全盘跨度的,而是与测试文件大小一致,如图中就只是1GiB跨度的随机4K,而且由于此时1GiB的测试文件恰好在SLC Cache中,所有这个4K又称SLC 4K或者有加速的4K。由于NVMe的DRAMless还有HMB技术,可以向内存借64M存储FTL,因此固件算法得当的前提下,这个4K数据是完全不逊色有外置DRAM缓存的硬盘的,虽然这与实际的读取场景完全不符。但是只要把测试文件大小调到64GiB,就会看到4K明显下降。举个例子,从同样一本书的10页中找一句话,和从640页中找一句话而且这书目录可能还不全。
如果想测试全盘跨度的4K就一般是借助Iometer填满全盘测试了。
懒得自己动手可以直接参考 @然天一 的数据,从然天一视频的操作来看就是使用Iometer测试的全盘跨度作为TLC或QLC的4K,天梯图标的是无加速的4K,可能是觉得“全盘跨度”这个概念大家比较难接受吧,数据准不准我不能打包票,但是整体趋势上看肯定是对的。相同型号,容量越大,跨度越大,随机4K越低。DRAMless的全盘跨度4k不如有独立DRAM缓存的。
另外,FIO看起来专业高端,但是如果半瓶水设置的测试文件大小 -size=1G,那测出来的同样也只是1G跨度的4K,DRAMless跑的可开心了。测试全盘跨度得像吧里 @无谓丶shunny 大佬那样用FIO,多说一句,搞科研的看Origin作图就是顺眼舒服。
外置DRAM缓存的作用是存放FTL闪存映射表的,简单理解硬盘是一本书,FTL就是目录,有没有目录和目录的详略程度影响着对这本书中信息检索的速度。如果这是一本用来查找的工具书,目录很重要,如果这是一本小说,那目录可能并不重要。
问题的关键在于“跨度”,简单来说,从同样一本书的10页中找一句话,和从1000页中找一句话,难度是不一样的,速度也是不一样的。来看看intel对于跨度的说明。全盘跨度就意味着NVMe的DRAMless的HMB技术借的64M内存存放的FTL要么不全,要么不够详细。同时也意味着测试的是TLC或QLC。
外置DRAM缓存数据上的体现就是全盘跨度的4K随机读写,由于一般大家都开启了写入缓存,4K随机写入并不是真实的编程速度,甚至从某种意义上说都不是随机写入,这也正是为什么NAND原理决定了编程速度必然小于读取速度,顺序写入也不如读取,随机写入却能超过读取的真正原因,关掉写入缓存,你会得到真正的随机写入,但消费者一般没人关心。
因此,外置DRAM缓存数据上的体现就只剩全盘跨度的4K随机读取了。但是很遗憾的告诉各位,CDM测试中的4K不是全盘跨度的,而是与测试文件大小一致,如图中就只是1GiB跨度的随机4K,而且由于此时1GiB的测试文件恰好在SLC Cache中,所有这个4K又称SLC 4K或者有加速的4K。由于NVMe的DRAMless还有HMB技术,可以向内存借64M存储FTL,因此固件算法得当的前提下,这个4K数据是完全不逊色有外置DRAM缓存的硬盘的,虽然这与实际的读取场景完全不符。但是只要把测试文件大小调到64GiB,就会看到4K明显下降。举个例子,从同样一本书的10页中找一句话,和从640页中找一句话而且这书目录可能还不全。
如果想测试全盘跨度的4K就一般是借助Iometer填满全盘测试了。
懒得自己动手可以直接参考 @然天一 的数据,从然天一视频的操作来看就是使用Iometer测试的全盘跨度作为TLC或QLC的4K,天梯图标的是无加速的4K,可能是觉得“全盘跨度”这个概念大家比较难接受吧,数据准不准我不能打包票,但是整体趋势上看肯定是对的。相同型号,容量越大,跨度越大,随机4K越低。DRAMless的全盘跨度4k不如有独立DRAM缓存的。
另外,FIO看起来专业高端,但是如果半瓶水设置的测试文件大小 -size=1G,那测出来的同样也只是1G跨度的4K,DRAMless跑的可开心了。测试全盘跨度得像吧里 @无谓丶shunny 大佬那样用FIO,多说一句,搞科研的看Origin作图就是顺眼舒服。