减少错误提高可靠性的途径
最基础的功能——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中。但由于需要牺牲一部分容量,因此并不是所有厂商都会乐意这样做。
网友评论