PC3000 Flash数据恢复工具主要解决U盘CF卡等小型闪存类存储故障数据恢复,早期加入了SSD固态硬盘的数据恢复,但是因为架构问题,SSD固态硬盘的数据恢复从FLASH中分离出来,PC3000 SSD成了独立的数据恢复解决方案。
今天我们将讨论Silicon Motion SM2236G——最流行的小型闪存卡控制器之一。紧凑型闪存控制器的架构相比普通的USB闪存驱动器控制器更接近于SSD CPU。
这是我们第二篇关于小型闪存的文章,第一篇将帮助您学习如何使用SM2234H。
小型闪存卡是市场上速度最快的存储卡。CF卡主要拥有一颗功能强大的控制器,它可以直接访问放置在CF PCB上的多个物理内存芯片。
让我们回到SM2236G。通常,这个控制器使用4个物理内存芯片,并提供高速的读写操作。
当客户引入基于此控制器的数据恢复任务时,很容易采取错误的步骤导致数据恢复质量并不理想。在本文中,我们将尝试如何解决处理这个控制器,以及您应该做什么来获取用户数据!
先做第一件事!SM2236G在4个物理芯片之间是如何分割数据的,在看到任何数据文件头之前,您应该进行几个步骤。
1:读取所有内存芯片后,启动ECC自动检测(launch ECC)并修复所有芯片上的所有位错误!
2:之后,更改读取到芯片的顺序。
在目前的情况下,我们有4颗物理芯片,每颗内存中有4个逻辑部件,它们的完整顺序是:0、1、2、3、4、5、6、7、8、9、10、11、12、13、14、15;
所有第一部分——将是我们第一个逻辑芯片的部分:0、4、8、12;
所有第二部分——将是第二个逻辑芯片的组成部分:1、5、9、13;
所有第三部分——将是我们第三个逻辑芯片的组成部分:2、6、10、14;
所有第四部分——将是我们第四个逻辑芯片的组成部分:3、7、11、15;
SM2236G固件程序将所有这些部分视为4个逻辑芯片阵列,所有带块和页的写入操作都将用该虚拟逻辑内存芯片执行。同时,控制器将以QWords(每个部分8个字节)分割所有数据,并将数据放入每个CE部分。
例如,如果我们需要写一句话:
Silicon_Motion_With_SM2236_Controller_PC3000_Flash_Data_Recovery,控制器会将整个单词按QWords拆分:Silicon_, Motion_W, ith_SM22, 36_Contr, oller_PC, 3000_Fla, sh_Data_, Recovery,然后再写:
Silicon_ – to Part 0 (NAND 0, CE0) Virtual logical memory 0
Motion_W – to Part 4 (NAND 1, CE0) Virtual logical memory 0
ith_SM22 – to Part 8 (NAND 2, CE0) Virtual logical memory 0
36_Contr – to Part 12 (NAND 3, CE0) Virtual logical memory 0
oller_PC – to Part 0 (NAND 0, CE0) Virtual logical memory 0
3000_Fla – to Part 4 (NAND 1, CE0) Virtual logical memory 0
sh_Data_ – to Part 8 (NAND 2, CE0) Virtual logical memory 0
Recovery – to Part 12 (NAND 3, CE0) Virtual logical memory 0
.
.
.
这就是为什么我们需要更改部件的顺序,而不是默认的顺序:
0、1、2、3、4、5、6、7、8、9、10、11、12、13、14、15;
到
0、4、8、12、1、5、9、13、2、6、10、14、3、7、11、15;
你必须给出正确的内存芯片顺序!这一点必须记住,这个顺序非常重要,在NAND脱焊和读取过程中,您需要使用印刷电路板上芯片的UX标记。在上面的例子中,我们只有dumps文件,我们不知道真正的顺序。那么,我们该怎么办?
在SM2236G控制器中有一种检测存储芯片顺序的方法。如果在服务信息工具:0、4、8、12中检查每个部分的第一个块中的第一个字节,您将看到部分字节:SM2236PA, RA/-idx, chip id, Tm.
现在需要找到正确的排列顺序。为此,需要使用第0、4、8、12部分相同方法完成其他部分。在当前情况下,正确的顺序是8、4、0、12、9、5、1、13、10、6、2、14、11、7、3、15。让我们详细看看这些部分:
注意!只有在XOR之后才能看到标记。
将零件按正确顺序移动后,我们得到:
下一步是转换页面。我们必须理解,这些部分将由8个字节连接,因此我们需要将扇区大小设置为8的倍数(520(512数据+8 SA)或528(512数据+16SA))。首先,我们需要记住我们得到的ECC:
现在我们可以进行页面转换:
让我们检查一下标记的顺序:
之后,我们需要再次执行页面转换,我们让我们的制造商加入了4次:
适用于对的交错消除和分块连接:
让我们使用SM2236编译器构建图像:
检查图像:
此外,图像可以由翻译器从“扩展名”构建:
您可以在这里阅读更多关于用块编号构建图像的信息。
要使用这种构建方法,我们需要手动找到一个标记。
首先,我们需要在原始文件中找到主引导记录:
让我们将其添加到搜索结果中:
现在让我们找到标记:
它是32768,所以我们需要设置32768/2=16384。
进行此步骤时,我们将从一个块中看到两页。制造者正在从一个区块变为另一个区块,但在一个区块中是相同的。
如我们所见,制造商的位置是513。现在我们准备好构建一个图像:
至此这个案例解决了!
这是每个2236G案例的常见解决方案,但如果您仍然有任何问题,请随时联系INHDD技术支持或者到技术论坛提出讨论。
评论前必须登录!
注册