当我们谈论从U盘与相机存储卡的恢复数据时,磨损的NAND闪存芯片是一个常见问题。如今,即使是新出厂的芯片质量也可能很低。因此,您的SSD或者U盘存储可能会在不到一个月的时间内就有损坏的情况。不幸的是,当我们谈论可以使用NAND芯片的其他设备时,也可以看到这种趋势,例如SSD,手机,甚至还有智能汽车使用的NAND Flash芯片!
2012年至2018年间制造的某某拉汽车使用由Nvidia的Tegra 3系统芯片驱动的信息娱乐系统,其中包括8GB的eMMC NAND存储。麻烦的是,这些闪存芯片正在磨损,达到了程序擦除周期限制,并且无法可靠地存储数据,从而导致操作中的故障。大约160000辆汽车在内部生产了这种eMMC存储,并可能受到此问题的影响。存储控制器无法再找到正常工作的 NAND 块,因此无法正常工作。一旦储物空间磨损,它可能会对汽车的某些功能产生影响,例如触摸屏,后视摄像头,除雾系统等。在最糟糕的情况下,它甚至可能影响某某拉汽车的重要选择,例如自动驾驶仪驾驶。
某某拉已经意识到了这些问题,并试图通过一些更新来解决这个问题,这些更新减少了写入的日志数量,改进了纠错和存储策略。此外,在2020年5月,某某拉开始生产现在使用64GB Micron eMMC而不是Hynix的8GB eMMC的备件。
但主要问题仍然存在。如果需要查找并保存一些系统文件(如密钥和证书),该怎么办?
让我们来看看这些汽车的两个真实案例。
第一芯片是SM控制器,ADD79491 6044ADD7存储器,部件大小=4096Mb,页面大小=8832字节,块大小=2048页。在这种情况下,芯片有两个银行,但你也可以只获得一个行的芯片。我们需要找到密钥文件和证书文件,名称为car.key和car.crt
为此,我们需要执行一些准备步骤。
首先,您需要从此芯片读取转储。您需要找到引脚排列方案。
成功读取转储后,我们首先更改块大小。
步骤 1.由于此驱动器的大小非常大,因此第一步是在任务中将块大小更改为 4096 页。你可以这样做:
此操作对于应用此大小的 XOR 是必需的。在某个阶段,您将需要返回等于 256 的块大小的原始值,但我们稍后会返回到它。
步骤2. 由于我们有两家行的案例,我们最终完成了两个转储的任务。与一个行案例的区别仅在于一个“按块/页面加入”少。
因此,两家行的主要问题是每个行都有XORs。您可以在顶部的 XOR 列表中看到它们。
XOR 的名称包含有关芯片使能部件和将要执行的操作的信息(用于纠错的 ECC 区域的数据解密或用于图像组件的数据区域的数据解密)。对于单个银行芯片,不需要CE1的异或。
第3步. 以下是此类情况的典型准备步骤:
在这种情况下,XOR用于一些虚拟计划,我们通过更改芯片节点上芯片块的大小来设置其大小。这个小技巧消除了纠正和重新读取不同图形中的转储的需要,也就是说,在图形的第三行上,我们定义ECC,进行更正并重新读取无效扇区。图的第四行再次是XOR,但这是数据的XOR,它不是自给自足的,这就是为什么在ECC的XOR之后应用它很重要的原因。这种异或更改看起来与AU情况非常相似,当时我们需要首先为ECC选择XOR,然后为块编号选择XOR。
这是页面设计应该是什么样子的:
页大小: 16 扇区 8832
扇区大小 544
结构*
32-512; 0-32;
544-512; 0-32;
1126-512; 0-32;
1638-512; 0-32;
2220-512; 0-32;
2732-512; 0-32;
3314-512; 0-32;
3826-512; 0-32;
4408-512; 0-32;
4920-512; 0-32;
5502-512; 0-32;
6014-512; 0-32;
6596-512; 0-32;
7108-512; 0-32;
7690-512; 0-32;
8202-512; 0-32;
这是非常重要的一步! 添加完所有转换后,我们返回到操作的步骤 1,并在参数中返回 256 页的初始块大小。
完成所有转换后,ECC 已正常工作,并且已尽可能多地重新读取转储,您可以开始生成映像。映像是使用特殊脚本组装的。请确保所有参数与图片中相同。
如果 ECC 出现重大问题,您可以使用模式 @4\x2D\x42\x45\x47\x49\x4E\x20\x43\x45\x52\x54 和 car.key @4\x2D\x42\x45\x47\x49\x4E\x20\x52\x53\x41\x20这两种类型的文件在文件末尾都有一个字节序列2D2D2D2D2D0A,可用于确定文件的确切大小。
第二种情况是PS8032控制器或类似,1×2 ADD794DA 74C30000存储器,部分大小=4096Mb,页面大小=8832字节,块大小=256页,双通道存储器,表示存在两组独立的IO0-7行。
通常,第二个任务与上述情况非常相似,但有一些例外。
1. 图形第一行的 ECC 应按如下方式定义:
– 0 [1076]
– 1076 [1072]
– 2148 [1072]
– 3220 [1072]
– 4292 [1072]
– 5364 [1072]
– 6436 [1072]
– 7508 [1072]
2. 一组典型的转换和程序集参数应如下所示:
否则,方法和问题与本文第一种情况下的方法和问题相同。主要问题是转储的质量。芯片通常会磨损。因此,首先完成所有转换更容易,然后通过搜索 GREP 找到必要的 car.key 和 car.crt 文件,并专注于重新阅读包含这些文件的页面。请记住,通道是不同的,转储是通过扇区组合的。这就是为什么您只能在图表的第一行重新读取,而将文件保存在最后一行的原因。为了更方便地重新阅读,您可以稍微将转换顺序更改为以下顺序:
- 工程师微信二维码
- 微信扫一扫添加好友可直接咨询数据恢复相关问题
- 关注盘首微信小程序
- 扫描微信小程序查看大量数据恢复技术视频教程