NAND闪存中的ECC
现代闪存设备具有由低质量NAND芯片引起的数据完整性的非常普遍的问题。这个问题众所周知为“比特错误”。当存储文件的区域出现位错误时,它会被破坏且无法读取。它在多媒体文件上非常引人注目。
有多种原因导致误码(单元间干扰,读取干扰,内部噪声)和几种减少误码的方法(纠错码,功率操作,读重试)。 ECC是保护数据和纠正错误的最有效方式,因此所有现代闪存控制器(外部和嵌入式)都具有内置ECC引擎。当数据写入NAND时,控制器会生成特殊校验和并将其写入页面备用区。然后,当读取数据时,控制器测试每个页面的数据完整性并在必要时进行纠正。
ECC代码有几种类型,但只有BCH类型广泛用于闪存设备。该算法是通用的并且具有一组参数。这些参数在控制器的FW中预编程,并且因型号而异。当控制器损坏时,所有这些参数都会丢失,但ECC的校验和仍然留在NAND芯片的每一页内。
Visual Nand Reconstructor可以自动查找代码参数并使用剩余的校验和进行纠错。通过ECC算法进行的纠错必须在物理图像被提取后应用(或者在删除后出现坏列的情况下)。当ECC / BCH元素连接到物理图像时,它的唯一参数必须调整 - 页面大小。完成后,代码的自动分析可以完成剩下的工作。下面的视频显示了有关其工作原理的详细说明。