我们常常看到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的读写性能和寿命。 为了减小坏块、错误数据对NANDFLASH/SSD的影响。主控需要对NANDFLASH里的坏块进行判定、校正错误数据、对坏块进行管理。于是主控加入了BBM坏块管理和ECC校验纠错。 ECC找到坏块或者“伪坏块”,对它们进行判断、识别、纠正、标注,如果确定它们是真的坏块,则将其交给BBM去管理。这样在主控的干预下,SSD读写时就可以减少数据错误、避开坏块,从而保证了SSD的读写性能和安全、寿命。随着主控技术的不断进步。主控的ECC和BBM能力不断增强,主控ECC能力越来越强,BBM也能管理和屏蔽更多的坏块了。这使得SSD对NANDFLASH的品质要求越来越低。这使得黑片都可以拿来做SSD,且性能勉强达到运用要求。主控进步是SSD技术的一种进步,但是降低对NANDFLASH品质的要求对于我们消费者来说,却是一件坏事。因为黑片从此可以暗度陈仓,鱼目混珠了。 我们来看看如何通过查看“ECC的运行历史/状况”来大概看懂一个SSD的好坏。 (声明:此方式是我无意中发现的,是结合了ECC和BBM知识的一种猜想,有待验证。) 因为: 1.可能是NANDFLASH品质很渣。 2.可能是SSD主控不给力。 只有这两个可能,且任何一个都代表SSD可能很差劲。 确实如此,我的SSD速度测验,顺序读为300多MB/S,顺序写入不到20MB/S,4K也是不堪入目,是一个性能比HDD还糟糕的SSD。 另外我也用其他SSD用上面的方式检测过。也证明,我们通过看“ECC的运行历史/状况”可以大概了解到SSD主控和NANDFLASH的好坏,进而了解到这款SSD的好坏。 (但是由于ECC的版本不一样,可能有的SSD在测验时无法看到“ECC的运行历史/状况”。大家不妨自己试试。) |