PC-3000 Flash 支持来自不同制造商的各种受损NAND Flash控制器,其中包括最古老的之一——Alcor Micro。在过去的15年里,这家公司开发了大量不同型号的USB闪存盘CPU。它从简单但非常流行的AU6980开始创业,现在以其著名的AU6989/AU6998系列征服了整个Flash USB驱动器市场。
不久前,Alcor Micro发布了一款具有极其复杂内部数据加扰的新控制器——AU89102DF。它变得越来越流行,尤其是在高容量(128 GB及以上)USB闪存盘领域。PC-3000 Flash紧跟控制器制造商的步伐,因此最新的软件更新允许您从基于此新控制器的存储介质中恢复数据!阅读下面的文章,了解更多关于如何操作的信息。

图片由 http://flashspeicher.net/ 提供
正如您从我们关于AU6989控制器的文章中记得的那样,现代AU控制器具有相当复杂的内部结构。
-
AU6989/AU6998有几种修改版本,其中一些可能使用XOR数据加扰,或者可能根本不使用(这对于现代Flash CPU来说并不常见);
-
如果AU6989/AU6998使用XOR并且存在坏字节,那么这个坏字节也会被XOR处理,结果导致坏列看起来非常奇怪和平滑!很难检测到它们(但如果您至少拥有2018年的PC-3000 Flash Ver. 7.2.9,就没那么难)
-
在XOR加扰的情况下,我们必须使用两种不同的XOR——一种用于ECC,另一种用于数据或镜像构建。这就是为什么AUxxx控制器的XOR总是成对出现;
-
最后,构建镜像非常困难,因为AU控制器使用附加子块来描述文件系统。如果我们使用常见的块号类型1 [0000],在大多数情况下就不得不放弃良好的文件系统。(但仍然有一个选项!)。
但这还不是全部。AU控制器的XOR过去相当复杂,但可以快速计算它们的值并将其添加到PC-3000 Flash数据库中。几个月前,新版本的AU89102DF(AU87xxx/89xxx系列)带来了新的困难:
-
一个巨大的XOR密钥,其中包含存储器内每个单独块的唯一数据;
-
完全支持TLC 3D NAND和QLC存储器,这导致NAND内部的页面和块大小值很大;
-
完全支持USB 3.x接口;
这款AU89102DF控制器通常安装在高容量USB闪存盘中。此类驱动器可能只有两个NAND芯片,但它们的总容量可能高达1 TB!
这就是为什么当我们处理基于TLC 3D NAND或QLC存储器的新型闪存驱动器时,我们必须为长时间的重读操作和大量的伴随转储的ECC错误做好准备。
今天我们其中一个例子是基于两个物理TLC 0x2CC41832芯片的AU89102DF控制器,每个芯片有4个部分:
2×4 2CC41832 A2000000,部分大小=65536Mb,页面大小=18656字节,块大小=5184页面:

总容量为512GB。这不是我们实践中遇到的最大USB驱动器,但绝对是最紧凑的之一——PCB两侧各有两个芯片,仅此而已。
看看这个存储器中的块大小——5184个页面!我们只能想象未来几年内NAND内部的块和页面大小会变得多大……
那么,让我们添加一个转换图并选择现有的一个XOR:


这里我们得到了两个XOR——一个用于ECC,另一个用于数据解密。让我们选择ID=2715用于ECC。之后,将可以在XOR结果上启动ECC校正:
当ECC校正结束时,我们必须进行重读。为了在AU案例上节省时间,我们建议您使用重读映射生成器:

当重读完成并且我们的转储处于完美状态时,我们可以将XOR从ID=2715更改为ID=2717(用于数据的AU8910)并执行交错和按页面合并:
最后,我们可以启动原始恢复并查找文件:

不幸的是,没有良好的转换器组装,带有完整文件系统的镜像是无法实现的,但我们计划找出原始转换器表的工作原理,并在未来的更新中添加组装算法。
目前,如果所有文件系统文件都位于原始恢复结果内,您可以尝试使用我们新的基于文件系统的镜像组装算法来构建镜像。
更多用于AU8910的XOR将很快提供!请别忘了每周更新您的资源数据库!
如果您对数据恢复案例有任何疑问,欢迎您向技术支持部门提出。