原文:Getting the Most Out of QLC-based NVMe Storage
如同TLC逐步取代MLC,QLC也会逐步拿下TLC 如今占据的市场。因为PE Cycle的进一步降低,QLC这碗饭配点Optane,吃起来会比较香。
Intel已经出品了一款套餐:用于Client市场得一款M.2 SSD – H10,上面同时部署了Optane和QLC,前者负责速度,后者负责容量
原文作者认为,H10可以胜任普通的消费级应用:
- 大文件,顺序读写由QLC负责
- 小文件,随机读写由Optane负责
但是到了PB级别的文件服务器,性能要求更高,workload更加复杂,这么简单的策略就行不通了。
WEKA IO的策略如下:
- 所有的数据都不直接写入QLC,而是先到前端(Optane or TLC);
- 对数据进行处理,再复制或移动到QLC;
- 充分利用前端减少小文件对QLC的磨损,同时保证时延;
- 利用前端存储元数据(频繁更新)和日志(读改写),再定期更新到QLC;
- 在对QLC写入数据的时候,考虑ETTL(Expected Time to Live), 把生命周期(从写入到修改或者删除的时间)相同的数据放在一起;
- 在写入QLC时,采用PCS (Page Collection Scheme)算法提高page利用效率(QLC一个page为8K,目前主流的存储应用是4K base的,无法有效利用QLC的page容量,PCS就是针对这个问题提出的解决方案,具体细节可以参考论文https://thesai.org/Downloads/Volume9No11/Paper_64-Efficient_Page_Collection_Scheme.pdf)
在写入QLC时,尽量写满整个条带;
综合以上各种手段,WEKA IO希望达成:
- 提高整体性能;
- 降低拥有成本;
- 延长QLC寿命;
- 提高QLC使用效率;
WekaIO 应用模型
写在最后:
WEKAIO支持双QLC镜像模式,研究表明:
通过自身校验恢复一块256GB的QLC SSD需要至少一个星期的时间,而复制本地镜像2天内就可以完成(PCIe 4.0上则1天就可以完成),但这种应用的前提时QLC的成本进一步降低。