关于SSD固态硬盘的可靠性,对于一般的用户来说也许没有那么高需求,然而实际上我们早在去年年末的一篇《固态硬盘发展之殇:渐行渐远的企业存储方案》中,对SSD的发展提出了质疑。这么发展的结果,势必造成企业级固态硬盘的行业标准被迫降低,甚至基于SSD固态硬盘的存储方案都要面临全面改变和调整。
该文主要是针对TLC闪存颗粒,因为TLC闪存颗粒已经在低端存储产品中广泛应用,并且在P/E周期甚至不足500次的情况下,就已经被引入 SSD中,这样的SSD固态硬盘可靠性必然得不到保障。作为SSD固态硬盘的重要厂商三星,也只是在低端SSD中引入TLC芯片,而在针对企业级的SSD 840PRO中依然使用MLC。
问题是,MLC就没问题了吗?
MLC也有问题
存储芯片的电压演进
在此前的文章中已经讲过存储芯片寿命降低的缘由:随着SLC—MLC—TLC的进化,存储颗粒能够在基本不增加晶体管规模的情况下实现容量翻倍,但代价是操控存储单元的电压也从2种变成了4种(MLC)、8种(TLC),频繁切换指令给晶体管承受的电流冲击亦变本加厉,导致故障率猛增。从道理上来说,和反复开关家用电器会影响使用寿命的原理是差不多的。
这样发展下去的结果是TLC的下一代——已经实物化了的QLC要依据16种电压规格进行写入操作,其寿命短到只能作为一次性存储器使用。
MLC寿命变差的原理
现在不妨抛开颗粒发展的问题,只停留在还算成熟和稳定的MLC上,看看不同时代的MLC颗粒有哪些变化。
在《固态硬盘发展之殇:渐行渐远的企业存储方案》有一张图是用来描述固态硬盘对于ECC校验依赖性的,不过其中的一些其他信息成为了本文的重要内容。
在这张图里除了显示出SSD固态硬盘对于ECC校验越来越依赖之外,在横轴上列举了5种类型的存储颗粒,分别是SLC、50纳米工艺的MLC、 30纳米工艺的MLC、20纳米工艺的MLC以及TLC,中间的三种MLC的寿命又是什么情况呢?在图中可以很清楚的看到,50纳米MLC的寿命是 10000次,依赖于4bit ECC校验,30纳米MLC的寿命是5000次,依赖于8bit ECC校验,而20纳米MLC的写入寿命是3000次,依赖15bit ECC校验。
也就是说同样是MLC颗粒,随着制造工艺的提升,晶体管也朝着越来越脆弱的方向发展了,如果不是ECC校验规格不断提升,MLC的写入寿命也随着工艺进步在以不可思议的速度衰退。
ECC校验会占用一定的性能,这部分要依赖于主控芯片,幸好主控芯片的性能提升幅度比较大,让SSD厂商得以从软件上弥补硬件的不足。不过工艺提升的道路是无休止的,最骇人听闻的事情还是出现了。
新工艺带来的不仅是寿命问题
今年的CES,SSD固态硬盘厂商镁光发布了新品:Crucial M500系列SSD固态硬盘,将2.5寸固态硬盘的容量提升到了960GB。从参数表上来看,960GB的产品似乎还不错,读取500MB/s,写入 400MB/s,4K读写都达到了80K IOPS,三年质保。
然而就像你永远无法从笔记本或者手机的参数表里知道所有重要信息一样,如果深究起来,20nm工艺制造的128Gbit存储颗粒问题也不少。
这张图列举了MLC颗粒在50纳米到20纳米之间的性能差异,而960GB固态硬盘使用的就是最后一组,即20纳米128Gbit存储颗粒。这张图已经清楚的将工艺提升带来的性能参数全面衰退记录了下来,尤其是前一页提到的寿命缩水,MLC寿命已经随着工艺提升缩水掉了70%。
但是很意外的是除了寿命缩水之外,MLC引以为傲的性能优势也被新工艺抹杀掉了。这张图没有将TLC的性能规格放进去做对比。如果这件事由我来代劳的话,可以看到这样一组对比数据。
本图中的MLC是指50纳米版本,因此要结合前面一张图最后一列看。TLC的读取延迟是75us,20纳米MLC是115us,TLC编程延迟是900到1350us,而20纳米MLC是1600us,擦除延迟TLC是4.5ms,20纳米MLC是3.8ms。也就是说,新工艺MLC在某些关键参数上甚至还不如天生不靠谱的TLC。
测试数据验证MLC性能退步
如果将上面这些理论落实到评测数据里,国外媒体Anandtech通过测试数据证实了20nm MLC究竟有多差劲。以下是一部分参考截图。
测试数据总结下来就9个字:速度慢延迟长功耗高。不过对于厂商来说,工艺提升意味着成本降低,任何负面都是无法阻止工艺提升的脚步的,用户能做的只有慢慢习惯性能越来越差的新产品。
说到最后再提一个假设:是不是在某个时间点,企业级的芯片存储和民用级的芯片存储会因为诉求分歧过大而彻底分道扬镳?