1x、1y纳米时代带来的问题
如果我们看看现在的SSD,高端型号的读写速度已然双双突破500MB/s,而中端定位的240/256GB的SSD的价格也纷纷跌破千元。在性能暴增和价格下跌的背后功臣自然是SSD的主控制器和闪存,随着时间的推移,前者的功能越来越强大,后者的工艺制程越来越低。
闪存工艺制程的不断演进使得本来就一直遭受各种质疑的SSD的寿命问题更加凸显,在34nm时代的MLC闪存耐久的一般为5000次P/E,到了现在的20/19nm时代已经变为3000次,三星甚至开始使用TLC闪存,耐久度可能只有1000次P/E。
事实上表示闪存的耐久性能绝非仅一个数字那么简单,后面的学问更是多多。随着工艺的提高,闪存单元的尺寸越来越小,区分各电压状态之间的差值也越来越小,很容易造成在读取时因为电压状态不对产生数据错误。这个问题在现在1xnm阶段已经越发严重,到明年步入1ynm时会更加明显。
1x、1y纳米阶段,哪些问题开始凸显?
就像机械硬盘遇到磁记录技术瓶颈一样,闪存的发展也有着自己的瓶颈,工艺提高造成数据出错率的提高,这个问题是无法解决的,但好在我们可以通过各种方式减少出错,这就是SSD主控的任务,也将成为今后SSD主控十分重要的话题。
减少错误提高可靠性的途径
最基础的功能——ECC校验
ECC校验是目前几乎所有主流SSD控制器都支持的一个特性,在数据位上额外的位存储一个用数据加密的代码,该代码与数据被同时写入到闪存单元中。
主控的ECC的校验能力需要跟上闪存制程的升级步伐,如果ECC没有足够的纠错能力,闪存的出错率会大大增加,耐久度也会受到严重影响。比如东芝19nm Toggle 2.0闪存,当主控固件的ECC能力在24bit/1KB的时候,耐久度为1000 P/E;而当ECC能力达到40bit/1KB时候,则为3000 P/E。
SandForce SF-2000系列主控拥有55bit/512byte的校验能力
在主流的SSD主控中,SandForce SF-2000系列主控拥有55bit/512byte的校验能力,Marvell 88SS 9187可以支持修正128bit/1KB的随机错误,该主控还支持元数据独立ECC,元数据,即是关于数据的数据,也就是存储在缓存中的映射表,主控支持对其独立ECC则可保证映射表的数据可靠性。
每一次SSD主控的升级,ECC校验能力都会得到增强以配合更新制程的闪存。元数据ECC更可能成为未来SSD主控的必备特性,这在SSD容量越来越大、性能越来越高的发展趋势下十分重要。
更进一步的读取电压修正算法
当ECC已经无法完成校验工作的时候,就需要通过进一步的手段来完成纠错。
浦科特在M5P系列产品中引入了先进资料延伸演算法(Robust Data Hold-out Algorithm),通过微调读取电压再次读取,以提供第二层读取保护协助,这就可以应对那些因为各种干扰导致的电压不正确的问题。资料显示该技术可以使资料存取的错误率大幅下降60%。
浦科特M5P中采用的True Protect技术
三星在去年发布840 PRO/840系列固态硬盘的时候,其MDX主控支持先进信号处理算法(Advanced Signal Processing Alogrithm),而在今年发布840 EVO时所采用的MEX主控,针对该算法进行了进一步的升级。
更小的制程工艺,需要更先进的信号处理算法提高耐久度
总体来说,这类算法是一种更为主动的纠错处理,因为数据的出错大都来自于电压值的偏离,所以对闪存读取电压进行微调就可以读出原来的数据。但不同闪存有着不同的参数,针对性的调试并生成算法再整合到固件中,显然需要掌握自上而下的资源才可以做到,三星的整合能力毋容置疑,而这也是三星最大的优势体现。
牺牲容量的冗余校验功能
和机械硬盘产生坏道一样,闪存也会产生坏块,这也是不可避免的问题。产生坏块并不不要紧,重要的是提供怎样的保护机制,因此,数据冗余校验机制也被越来越多地采用。
SandForce主控采用了RAISE来提供保护,这是一种类似RAID 5的冗余保护机制,如同组建RAID5需要至少三块硬盘一样,采用SandForce主控的固态硬盘都划分出一段OP(Over Provisioning)预留空间用于RAISE。只要不是两个块同时损坏,RAISE都可以把数据恢复回来。
RAISE技术特性,可大幅度增强可靠性
Marvell在88SS9187主控中加入了内部硬件RAID数据冗余的功能,但是否启用则取决于第三方厂商。美光Crucial在M500中就开启了这一功能,被命名为RAIN(Redundant Array of Independent NAND)技术,因此也有7%的预留空间(OP)。RAIN也应用在了美光企业级SSD中。
Crucial M500应用了9187主控的数据冗余功能
同样,随着闪存越来越多的可能存在的品质或可靠性问题,原先在一些企业级SSD中才会使用的冗余校验技术也逐渐出现在消费类SSD中。但由于需要牺牲一部分容量,因此并不是所有厂商都会乐意这样做。
数据压缩和SLC缓存模式
数据压缩不就减少损耗了?
有人说担心SSD寿命的怎么不拿来供着?什么数据都不写不就用的长了?这虽然是一个笑话,但从侧面来看,只要你写的数据少,SSD的寿命自然长。但是你不能要求消费者去少写数据,那么这个任务就需要交给SSD主控。
这就是SandForce的即时数据压缩特性,DuraWrite是很多SSD评测中都提到过的。在数据写入的过程中,通过实时压缩,减少实际写入闪存的数据量,自然也就降低了对闪存的损耗:其他主控SSD写入了100GB的数据,SandForce主控的SSD可能只有60GB。无形之中延长SSD的使用寿命。
DuraWrite的直接好处,延长SSD使用寿命
目前还没有其他非SandForce主控消费级SSD中采用这种技术的,这也是SandForce的一个很重要的优势。而且通过实时压缩,写入的数据少了,反应到传输速度自然也更快。
未来有没有可能其他主控也支持这一特性,提高速度的同时又减小损耗?笔者认为有,单短时间内还不会。因此也有其他厂商抨击SandForce的这种特性。但至少从作用来看,该技术有比没有更好。
SLC缓存模式是怎么回事?
随着更先进制程的MLC闪存、甚至TLC闪存的采用,其编程复杂度也越来越高,反映到性能则是随机写入速度大降。而大幅度增加外置DRAM缓存保证随机写又是不现实的,一个是成本问题,一个是掉电丢数据风险。
TLC的SLC缓存模式的简单解释
所以SLC模式应运而生,目前OCZ、三星、闪迪以及东芝都有采用这类技术。通过划分部分区域模拟SLC的写入方式,一方面加快了速度,另一方面也可以对大量的随机写请求做一个缓冲,再持续写入到非SLC模式区域。大幅度划分SLC模式区域可以短时间内获得超快的写入速度,但是也相应地增加了写入放大。
三星840 EVO:SLC缓存模式下接近450MB/s,过后恢复到200MB/s
SLC缓存模式到底是做什么的?它其实是TLC时代保证写入性能的关键,相当于就是做了一个大缓存,这可以显著地提升家用环境下的体验,不过如果无休止地设定超大的SLC缓存区域,性能数字固然好看,但是带来的负面效应也是成正比的,反而会不利于耐久性。
总结:要速度还是要寿命?
闪存制程的不断进步也带来了很多负面的问题,SSD主控的任务就是要通过技术手段尽可能地减缓这些问题,保证SSD一个可观的可靠性。从目前的趋势来看,到了1ynm阶段:
1.ECC校验能力是新一代SSD主控需要进一步增强的
2.“微调读取电压”的算法可以在ECC之外提供进一层包含,也逐渐成为必须
3.数据冗余校验可以提供更高的数据安全性,SandForce处于领先地位,逐渐被更多SSD支持
4.SandForce的数据压缩特性优势更加明显,同类其他SSD主控暂无法实现
5.“SLC缓存模式”逐渐被更多消费级SSD采用,但必须把握好一个“度”
相比商用和企业级SSD,消费级SSD对可靠性和稳定性的要求是最低的
其实相比商用和企业级SSD,消费级SSD对可靠性和稳定性的要求是最低的,也因此成本更低,但为了吸引用户购买,就需要加入一些“吸引眼球”的手段,其中一些手段是建立在提高性能加大损耗的基础上的,尽管仍可以保证最基本的耐久性能,但消费者真正需要的是令人放心的产品。有的时候我们必须抛开一些无谓的“高性能”来换得更可信赖的产品。
网友评论