Восстановление файлов на флешке с контроллером AU6998SN

Прислали из Новгорода неисправную USB флешку в «классическом» исполнении (микроконтроллер, текстолит, м\с NAND — всё отдельно, в отличии от «монолитов»). Микроконтроллер с маркировкой AU6998SN, NAND Flash в корпусе TSOP-48 с id 0x45DE9493.

Параметры чтения чипа памяти:

Флешки на контроллерах AU6998 имеют ряд особенностей. Первая заключается в том, что правильные коды коррекции ошибок чтения ECC при проведении обратных преобразований, могут быть обнаружены и применены только после предварительного наложения на считанный дамп XOR-маски.

После нахождения параметров кода ECC и исправления ошибок, в том числе и с применением методики Read-Retry, надо применять другую маску XOR, где области служебной информации сектора модифицированы для сборки образа по номеру блока. Это ещё одна особенность, присущая Flash дискам на контроллерах AU6998. С нужным алгоритмом «ксор» маркер MBR сектора, который находится «черновым» анализом дампа, должен быть 00h 80h.

Не смотря на то, что «черновой» анализ показывает «целые» файлы довольно большого размера, третья особенность сборки, это не типовое «устранение Interleave» с делением на блоки и объединением полученных блоков попарно, а разделение дампа на блоки с последующим объединением дампов jbod-стайл.

Параметры сборщика для флешек на микро-контроллере AU6998SN всегда одинаковые: позиция маркера 512, маска 70FFh, обратный порядок структуры идентификатора:

Следующая, четвёртая, особенность заключается не в версиях блоков-кандидатов на место в дампе, без чего Root-каталог "не встанет" на место

это как раз встречается часто и на флешках с другими контроллерами, а в наличии сдвига, позиция которого находится методом анализа собранного образа, а значение сдвига равно двойному размеру блока. Без учёта этой особенности root каталог будет «битым».

После применения корректного сдвига в виртуальной сборке дампа, все файлы с поломанной флешки на контроллере AU6998SN будут успешно восстановлены.