PC3000 军达成数据恢复论坛

 找回密码
 立即注册
查看: 971|回复: 0
打印 上一主题 下一主题

PC-3000 Flash。数据更正方法。ECC [复制链接]

Rank: 8Rank: 8

该用户从未签到

金钱
0
元宝
16585
专业度
0
跳转到指定楼层
楼主
发表于 2024-7-1 10:57:50 |只看该作者 |倒序浏览
本帖最后由 JDCTS5 于 2024-9-3 15:14 编辑

PC-3000 Flash。数据更正方法。ECC

    在这一系列文章中,我们将讨论不同的转储更正方法。我认为这不是一个秘密,在NAND存储器芯片读取过程中出现一些字节错误。字节错误数量取决于以下因素:


   NAND存储器芯片的类型SLCMLC、TLC

   Contacts清洁度未清洁芯片读数通常较差);

   温度影响芯片拆焊过程中高温可能损坏电池);

   NAND单元的磨损程度如果客户在NAND设备上重写信息数百次,小单元电容器的质量变得非常,读取时会出现大量错误);


    当然,如果您想从用户flash驱动器获得100%恢复首先您需要修复可能多ECC错误。否则,所有数据都将损坏、不可用或部分损坏:

BADECC.jpg

请记住,字节纠错极其重要!


    纠错的基本方法是ECC。通常这是最简单的数据修复方法。如您所知,控制器通常会在每一页中添加附加信息,称为备用区域(服务区(SA))。它包含一些标记(例如,映像建立标记)、不同的标志和纠错码(ECC)ECC是一种特殊的扩展数据,基于最初写入的用户信息。这种通过特殊数学公式扩展的数据有助于查找扇区\范围中的字节错误并修复它们。通常ECC代码具有特殊的长度——选择用于纠错的字节数。ECC字节的最大数量使我们能够在每个扇区\范围内修复更多的错误。


通用MBR扇区来自旧SLC NAND芯片,页面大小为2112字节,扇区大小528字节大小:

ECC_1.jpg

黄色我们的DA(512字节)映像建立块号6绿纠错码10字节):

ECC_1.png

我们的软件试图查找以下扇区中的所有字节错误:

ECC_2.jpg

并应用ECC代码进行修复:

ECC_2.png


ECC_3.jpg


ECC_3.png


ECC_4.png


ECC_6.png

    简单的例子——10字节的ECC可以修复扇区中5字节的数据。100个字节的ECC可以修复扇区中的50个字节的数据。但正如你所知所有现代NAND存储芯片TLC架构,每个芯片中的ECC错误数量非常大。这是为什么在现代芯片中每页中16384字节的DA10%)/ECC大小可以高达1690字节的ECC!同时,对于旧的SLC芯片控制器通常2048字节的DA使用大约40字节2%)。


为了获得良好的ECC校正结果,您应该记住以下几条规则:


1. 在一些旧SLC和MLC NAND存储芯片ECC将不可能应用直到您进行页面转换

2. 现代的TLC芯片通常工作在一对复杂的控制器中,用XOR模式对数据进行加密。有时(在AU699x、SSS669x和其他一些您应该XOR准备应用ECC自动检测!因为XOR在这个控制器家族密码服务区(SA)区域也!

3. 有时现代TLC芯片包含BAD字节插入(添加)!如果你不消除他们,ECC将不会被发现。

4. 当你修复所有ECC错误时,你应该使用ECC建立数据字节图,并检查有多少扇区仍然没有被纠正。它们的数量超过5-6%。如果字节错误的数量更大(例如来自8GB转储的7.1GB未校正数据),则进一步的恢复过程将是无用的。您需要使用其他方法来提高内存转储质量。

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

Archiver|手机版|PC3000 数据恢复 ( 京ICP备09023376号-1 )

GMT+8, 2025-5-1 22:27 , Processed in 0.174315 second(s), 14 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部