В наш сервис на восстановление данных поступила очередная неисправная флешка от Prestigio из серии Leather Data в стильном кожаном корпусе. На этот раз объем 1 Гб, а заменитель кожи золотистого цвета. По видимому, основные силы производитель потратил на стильный внешний вид, внутренности не внушают доверия. На зеленом текстолите небрежно припаяны кварцевый резонатор, светодиод и некоторые другие элементы. Во всех доступных нам экземплярах Leather Data объемом 1 или 2 Гб использовалась одна и та же плата с контроллером USBest UT163-L6 BPD0431. Чипы памяти разные, в данной флешке установлен чип Hynix HY27UT088G2M в корпусе TSOP-48. Судя по инструкции выполненной прямо на печатной плате она предназначалась так же для установки памяти Hynix емкостью 4 гигабайта и некоей памяти K9W (вероятно K9WAG08Uxx от Samsung).
Для восстановления файлов с неисправной флешки вычитываем содержимое микросхемы памяти программатором из состава комплекса PC-3000 Flash. Закончив вычитывание, выделяем ECC, корректируем дамп памяти и перечитываем проблемные места. После устранения битовых ошибок можно приступить к предварительным преобразованиям. Контроллер работает с памятью в двухканальном режиме, поэтому устраняем интерлив, разделив дамп на блоки размером 512 секторов и объединив их через страницу, то есть через каждые четыре сектора. Проверив результат сигнатурным анализом можно убедиться, что предварительные преобразования в данном случае на этом можно закончить. Приступаем к восстановлению транслятора. Первым делом выделяем содержащиеся в служебной информации маркеры. Удобнее всего это делать в нулевом блоке, поэтому ищем его в дампе по характерным файловым структурам и работаем с ним.
На рисунке сверху можно увидеть служебку от секторов, которые по нашему предположению должны встать в нулевой блок. В данном случае маркеры находятся в первых двух столбцах служебной информации (10 01 и 10 02). Для старшего байта применяем маску 0F. Младший байт маркера содержит используемый контроллером бит чётности, поэтому используем для него маску FE. На рисунке не видно, но если промотать служебную информацию, то станет понятно что размер блока составляет 1024 сектора. Теперь у нас есть вся необходимая информация для восстановления транслятора флешки, собираем страницы по возрастанию их номеров в блоки. Реконструируем файловую систему и получаем доступ к пользовательским данным. Проверяем качество сборки, убеждаемся что восстановлено 100% информации и сохраняем данные на диск.