我发现了一篇非常有趣的文章,其中深入解释了 SSD 的工作原理:
但是它说 DRAM 缓存实际上用作写入缓存。这就是我最初避免使用它的原因,并且只寻找无 DRAM 的 SSD:控制器很可能没有足够的时间在仍有电量的情况下刷新 1-2 GB 的小文件。所以在我看来,它绝对不应该向操作系统回复数据“在盘片上”(或在我们的例子中是“在芯片中”)。
但后来我了解到这实际上不是 DRAM 缓存的用途;我发现多个实例表明它只是用于读取缓存 FTL 分配表,以便更快地找到合适的位置。
我想知道哪一个是正确的?
我非常确定伪 SLC 缓存用于写入缓存,因为许多 SSD 评论都必须考虑到这一点;写入速度通常在第一次(通常)2 GB 写入(一次)后会大幅下降。这似乎已经好多了……只要断电后能正常恢复。但如果不是呢?我完全可以想象在控制器重启后缓存区域可能会被视为“空”。
那么,有没有既有用于 FTL 分配表的 DRAM 缓存,又有伪 SLC 写入缓存的 SSD?或者 DRAM 缓存真的用作写入缓存?
DRAM 缓存确实是用来“缓存”FTL 的。SLC 缓存用于缓存用户数据。
https://www.reddit.com/r/zfs/comments/wapr7a/intel_to_wind_down_optane_memory_business_3d/
查看 Malventano 的评论,这是他的Linkedin。