临时小文件多的时候,操作系统会给 m2 固态硬盘喂多个队列的数据啊。。对应用程序来说,无论在 SSD 还是操作系统做缓存(队列),看到的响应时间都是一样的。
感觉是负优化。因为 nvme 协议本身是异步的。DRAM 缓存因为易失,只能选择 write-through 和 write-around 两种模式,它们都是为了提高写入后读的性能,而不能提高写性能。既不能降低延迟,也不能提高吞吐。
SLC 缓存和 DRAM 缓存就不一样了。写入到 SLC 缓存的数据已经持久化,主控可以返回写入完成的回应给操作系统。所谓的 wirte-back 缓存,极大提升写性能。
总之,DRAM 的使用场景很局限。与其花晶体管搞 DRAM,不如花晶体管搞 SLC 缓存。我还担心无良 SSD 主控乱来。性能差点无所谓,丢数据不能忍。
【 在 zyd (dd) 的大作中提到: 】
: 主控当然不能坑呀,然而几十年机械硬盘都这么过来了,缓存的机理已经成熟不能再成熟了。断电报错的机理早就在那里。
: 这个目的是提升系统反应和游戏之类的体验呀,主要是大量的临时的小文件,tlc写入会较慢,某些时候零点几秒的差异,会给用户带来很大的感受差别。反过来说即使很小概率断电出错,不过重启下游戏什么的就能解决。
: 在连续大量数据写入的时候,缓存当然就没用了。
: ...................
--
FROM 112.47.234.*