我们就会发现SSD上显示支持ECC。那么ECC是个什么东西呢?ECC是SSD的数据校验、纠错。为什么SSD需要ECC呢?
原因:
1.SSD容易造成数据读写错误。ECC需要去校验设置数据出错,以及辨别是否坏块。
2.SSD读写的介质是NANDFLASH。而NANDFLASH在制造过程和利用过程中就会造成坏块。
为什么NANDFLASH会造成数据读写错误呢?
原因:
1.写入集中、写入放大、异常宕机等等,数据读写错误是普遍的。
2.NANDFLASH坏块引起数据读写错误。
为什么NANDFLASH会有坏块?
原因:
1.生产时的导致的坏块。
2.运用中产生的坏块。NANDFLASH是借助电荷来推动数据存储的,而当电荷击穿底层的绝缘层,坏块或就出现了。
坏块太多的NANDFLAH,无法借助测试,就成了黑片,部分测验未借助NANDFLASH基本能用就成了白片,而NANDFLAH的坏块少并且通过所有测试是为正片。
NANDFLASH中坏块是普遍存在的,只是多少的弊端。这些坏块影响NANDFLASH/SSD的读写性能和寿命。
如上图,SSD的写入主要分为顺序读写和随机读写,而SSD运用中不断增加的坏块,随机的出现在SSD的NANDFLASH中,这促使SSD读写时容易发生出错,和提高读写的等待时间。
为了减少坏块、错误数据对NANDFLASH/SSD的影响。主控需要对NANDFLASH里的坏块进行判断、校正错误数据、对坏块进行管控。于是主控加入了BBM坏块管理和ECC校验纠错。
ECC找到坏块或者“伪坏块”,对它们进行判定、识别、纠正、标注,如果确认它们是真的坏块,则将其交给BBM去管控。这样在主控的干预下,SSD读写时就可以增加数据出错、避开坏块,从而确保了SSD的读写性能和安全、寿命。随着主控技术的不断进步。主控的ECC和BBM能力不断增强,主控ECC能力越来越强,BBM也能管理和屏蔽更多的坏块了。这促使SSD对NANDFLASH的质量要求越来越低。这促使黑片都可以用来做SSD,且性能勉强超过采用要求。主控进步是SSD技术的一种进步,但是增加对NANDFLASH品质的规定针对我们消费者来说,却是一件坏事。因为黑片从此可以暗度陈仓,鱼目混珠了。
我们来说说能否借助查看“ECC的运行历史/状况”来估计看懂一个SSD的真假。
(声明:此方法是我无意中发现的,是结合了ECC和BBM知识的一种猜想固态硬盘坏的原因,有待验证。)
我用SSD-Z测到硬盘S.M.A.R.T自我检查分析报告,在里面,我发现“ECC错误率”格式化为682。而我的SSD才运用214小时。我的手机几乎是24小时开机,也就是说我的SSD才运用15天以内。半个月时间,我的ECC检查到和格式化的出错数据/坏块达到了682次/个。
我用鲁大师测试SSD。硬件ECC校正数据超过了699。这两个图表明,我的SSD“牛仔很忙”。为什么SSD运用不久固态硬盘坏的原因,但是ECC却很忙,检查到/纠正过的数据出错或者看到的坏块非常多?
因为:
1.可能是NANDFLASH品质很渣。
2.可能是SSD主控不强悍。
只有这两个可能,且任何一个都代表SSD可能很差劲。
确实如此,我的SSD速度测试,顺序读为300多MB/S,顺序写入不到20MB/S,4K也是不堪入目,是一个性能比HDD还糟糕的SSD。
另外我也用其他SSD用下面的方法测试过。也证明,我们借助看“ECC的运行历史/状况”可以估计了解到SSD主控和NANDFLASH的好坏,进而了解到这款SSD的好坏。
(但是由于ECC的版本不一样,可能有的SSD在测试时能够发现“ECC的运行历史/状况”。大家不妨自己试试。)
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-120569-1.html
你也看球