根据有关数据统计,目前SSD出货的DWPD小于1的占比达到85%,这几年一直维持在85%-86%,后续可能会继续扩大占比。也就是说,这个市场上的对SSD的寿命的诉求并不是很强烈,不需要DWPD很高的SSD。这也侧面说明了,行业内对已不再完全SSD硬件本身的特性来达到整个系统的可靠性。分布式存储,全闪存阵列,各种针对SSD优化的存储软件系统也是遍地开花。这个也给了QLC SSD大规模普及提供了有力的条件。
我们在回顾下NAND常见的四个类型:SLC、MLC、TLC、QLC。SLC的Program/Erase(P/E) Cycle可以达到10万,MLC P/E cycle可以到1万,到TLC 3000次P/E cycle,再到QLC NAND只有1000 P/E cycle。P/E cycle是表征SSD寿命的最重要的参数。
我们可以看到,随着单个cell含有的bit数越多,NAND的可靠性也会有所降低,自然成本也会继续下降,QLC的成本只有SLC成本的1/4。除了寿命可靠性,QLC处于劣势,还有在性能方面也有所降低,如下图,QLC NAND单个page页的写延迟是SLC的8倍,是TLC的2倍,读延迟是SLC的4倍,是TLC的约1.3倍。
既然QLC可靠性和性能都比TLC差,那QLC还有什么用?是不是就可以放弃了?
实则不然,QLC的出现并不是为了取代SLC/MLC/TLC这些前辈,实力也不允许完成替代。QLC更是对TLC SSD的补充,让SSD市场更加的丰富多彩,QLC SSD最终的目标是为了取代HDD机械硬盘。机械硬盘给我们的印象就是又笨重又大的壳子,SSD更加的轻便。机械硬盘主要的使用场景是数据备份等存储需要,容量很大,随便都是8T起步,目前最大的更是达到20TB以上。而SSD目前最大的TLC基本只有8T,大多是1T/2T/4T,更小的还有256GB/512GB。QLC的容量相对要大,可以达到15TB以上。
随着容量的增加,在解决方案中还有一个因素需要考虑:IOPS/TB, 也就是单TB达到的IOPS性能。容量的增加,会让每TB获得的IOPS性能也相应的下降。QLC SSD如果要在容量增加的基础上,继续保持竞争力,IOPS也是非常关键的因素。对比不同协议接口SATA/SAS/PCIe可以清楚的发现,QLC SSD搭配PCIe协议接口才是当下最具竞争力的CP组合。
基于以上的性能数据对比,QLC SSD想要闯出一片属于自己的天空,不能正面硬刚,要选择自己擅长的领域。QLC在读方面与TLC的差异不大,因此QLC SSD的目标使用场景也主要是读为主的业务场景。TLC/QLC分别在block size块大小和读写分布的适用性,如上图总结。找准了自己的定位,QLC SSD就可以发挥自己的优势,带着梁静茹给的勇气向前出发了!
ZNS出现的背景是什么?ZNS SSD的原理是把namespace空间划分多个zone空间,zone空间内部执行顺序读写。
在ZNS的场景下,不同应用按照Zone配置信息,相应存放业务数据。由于是Host管理数据的摆放和存取位置,会最大程度减少GC垃圾回收,降低SSD内部的写放大,提升SSD的寿命。
减少SSD的DRAM空间和去掉OP冗余空间,提升用户可用的容量。
回到我们今天核心的疑问:为什么QLC NAND是ZNS SSD最大的赢家?QLC NAND 和 ZNS 结合会带来哪些收益?
在ZNS SSD设计中,也有很多的挑战:
Charge-trapping QLC NAND 的编程需求:由于 charge-trapping QLC NAND 需要两次编程操作和两次数据传输,以及 要解决CTF相邻位之间的耦合效应可能导致编程电压分布不均匀引入的N WL gaps,因此在处理写入请求时可能需要更大的缓冲空间。这会进一步增加对写入缓冲区的需求。
这也是为什么FG架构QLC NAND SSD性能比CTF架构QLC NAND SSD性能要好(具体介绍请参考:浅析不同NAND架构的差异与影响)
尽管存在这些问题,但 charge-trapping QLC NAND 的高密度和低成本优势使其成为大容量存储应用的理想选择。
为了解决以上问题,业内有这么一种做法,使用 2-stage 缓存(SRAM+DRAM)处理数据操作和编程的方案:
SRAM:用于 RAID 编码、FW 元数据插入以及 RAID 纠错码 (parity) 缓冲区。
SLC Copyback:这种方法将待编程的数据先写入到 SLC 区域,然后再从 SLC 区域复制回 QLC 区域。由于 SLC 的编程速度较快,可以减少整体的编程时间。然而,这种策略需要额外的硬件资源来监控 SLC 块的 RBER,并确保数据的可靠性。
SLC Backup:这种方法将待编程的数据直接存储在 DRAM 中,然后一次性写入到 QLC 区域。虽然这种方法可能会消耗更多的 DRAM 带宽,但它避免了在不同区域之间进行数据移动,简化了数据管理过程。
在不同的Zone的大小,对Open Zone数量和RAID配置有不同的需求。ZNS 和 Die-block 结合使用可以带来一些优势,包括更好的数据组织、更高的 I/O 性能以及更有效的资源管理。ZNS 可以将存储设备划分为一系列连续的逻辑分区(zones),每个 zone 具有预设的最大容量。这种设计有利于顺序写入,从而降低写入放大效应和延迟。但也存在一些潜在挑战,如如何有效地分配和管理 zones,如何平衡不同 dies 或 LUNs 之间的负载等。
小编每日撰文不易,如果您看完有所受益,欢迎点击文章底部左下角“关注”并点击“分享”、“在看”,非常感谢!
精彩推荐:
如果您也想针对存储行业分享自己的想法和经验,诚挚欢迎您的大作。
投稿邮箱:Memory_logger@163.com (投稿就有惊喜哦~)
如您有任何的建议与指正,敬请在文章底部留言,感谢您不吝指教!如有相关合作意向,请后台私信,小编会尽快给您取得联系,谢谢!