PC-3000flash。重读地图生成器工具。如何在ECC校正和读出过程中节省时间
- 时间:6年前
- 浏览:3394次
通常当我们使用具有大容量(64gb及以上)的不同驱动器(尤其是AU控制器和Sandisk)时,我们面临着完整的ECC校正和读出过程可能需要几个小时的情况。
请注意: 我们不建议您在所有其他情况下使用此方法!有时为了获得好结果,所有块(即使没有100%填充数据)也必须修复!否则,图像构建阶段可能存在巨大问题!我们建议仅在最不紧急的情况下使用重读映射生成器,因为没有足够的时间进行良好和完整的ECC校正!
在这种情况下,我们可以使用称为“重读图生成器” 的特殊算法。
它是如何工作的?此函数分析驱动器的整个空间,并仅分配包含数据的扇区链。然后,基于所接收的信息,创建该链的映射。
让我们在实例上检查这个方法。我们有Phison PS2251-67-5机箱配4GB TLC NAND芯片。通常TLC芯片质量非常差,这就是为什么在ECC校正之后进行读出很重要。
1.首先 - ECC校正。在我们的示例中,我们有一个带有坏字节的NAND,这就是我们应该在第二个字符串上启动ECC自动检测的原因,我们在这个字符串中剪切坏列:
ECC校正已经开始,但不幸的是大部分页面都没有修复。这就是我们将来需要进行读出的原因:
2. ECC校正之后,我们需要知道我们有多少坏扇区都有。为此,我们需要创建一个地图,并选择Uncorrected sector:
我们可以看到,从4.21GB的NAND内存芯片中,1.54GB仍然受损,ECC无法修复它们:
3.现在,我们需要使用Reread Map Generator来构建一个仅包含REAL数据的子图。包含垃圾或空扇区的块将从此地图中排除!它将帮助我们只关注实际数据并跳过不属于真实用户数据的所有内容:
默认情况下需要保留所有参数。只需选中“ 仅使用完整块”复选框:
仅使用实际数据创建块链:
最后我们得到:从4.21GB的数据中只有1.84GB的真实文件。其他空间 - 是垃圾和空的部门。
让我们构建一个子图并找到我们的REAL数据仍有多少损坏:
我们可以看到,只有约490MB仍然损坏,需要重新阅读程序。我们需要修复490Mb,而不是修复1.54GB的数据!
4.最后一步 - 使用ReadRetry函数重新读取。
请注意,在此过程中,原始NAND芯片必须连接 到PC-3000闪存!
当重新读取的过程完成后,将有可能进一步获取数据,并且您的转储将处于完美状态。