У
многих клиентов возникает вопрос, как происходит процесс восстановления информации с flash-карты при неисправном контроллере или nand-микросхемы памяти? Почему это занимает столько времени? Возможности сидеть с клиентом и отвечать на вопросы у меня нет, поэтому опишу процесс восстановления в картинках.
В данном примере usb-флешка 16gb с контроллером SM3257Q AA. Микросхема памяти типа BGA (контактная площадка под микросхемой). Данный контроллер производит фирма SILICON MOTION (SM) и он есть в списке поддерживаемых контроллеров
Список поддерживаемых контроллеров.
EN2232T | SM2236G | SM2682B | SM288BF | SM324BA | SM3252R |
SM3257L | EN2683B | SM223TF | SM2682L | SM320T | SM324QF |
SM3253L | SM3257LT | EN2683F | SM2242T | SM2683F | SM3211Q |
SM325 | SM3253Q | SM3257Q | EN3257 | SM262A | SM2685F |
SM3211T | SM3251D | SM3254Q | SM325AC | SM264A | SM2686 |
SM321DF | SM3251L | SM3255EN | SM325QF | SM221T | SM3253Q |
SM3257Q | EN3257 | SM262A | SM2685F | SM3211T | SM3251D |
SM3254Q | SM325AC | LT2682B | SM264A | SM2686 | SM321DF |
SM3251L | SM3255EN | SM325QF | SM221T | SM264AF | SM2687B |
SM321Q | SM3251Q | SM3255L | SM325RF | SM222TF | SM266BF |
SM268BF | SM321QF | SM3255P | SM3261L | SM2232T | SM267LT |
SM2702 | SM321TF | SM3252H | SM3255Q | SM3267L | SM2234H |
SM2681BF | SM2703 | SM323Q | SM3252Q | SM3257EN | SM340QF |
И так процесс можно разбить на 4 этапа:
- Выпаивание микросхемы памяти.
- Получение дампа (образа) памяти микросхемы.
- Устранение преобразований контроллера.
- Работа с полученным образом.
Выпаивание микросхемы памяти.
Н а этом этапе мы выпаиваем nand-микросхему памяти. Температура не губительная для выпайки микросхемы памяти – не превышающая 350 градусов. После достижения этой температуры микросхема без усилия снимается. Тут стоит отметить, что микросхема памяти может быть залита клеем, и тогда ее придется предварительно подготовить, перед демонтажем. Затем производим зачистку контактов микросхемы и помещаем её в колодку ридера.Считывание микросхемы памяти.
В данном пример мы имеем дело с микросхемой памяти BGA-типа (контакты микросхемы находятся под ней).После подачи питания комплекс определяет распиновку, маркировку (ID) и объём (количество частей) микросхемы (опять же если он существует в базе), если есть несколько вариантов, то предоставляет возможность определить специалисту вручную.
Д
алее производим вычитку микросхемы, на этом этапе, также производится анализ чтения микросхемы. Некоторые микросхемы требуют дополнительной подготовки, в виде изменения температуры микросхемы и подаваемого напряжения. Все это может во много раз увеличить время работы.
После удачного считывания микросхемы можно приступать к следующему этапу.
Устранение преобразований контроллера.
Н а данном этапе устраняются преобразования, созданные контроллером флешки в процессе работы (просто вычитав информацию с микросхемы, данные в том же виде, как они были до возникшей неисправности, мы не увидим). Преобразования необходимы для увеличения срока жизни микросхем памяти, их скорости и уменьшения количества ошибок при операциях над ячейками. Алгоритмы устранения преобразований большинства видов контроллеров уже есть, благодаря работе специалистов компаний ACELab и Soft-center, но все еще остаётся достаточно большой процент примеров, которые делаются в полуавтоматическом режиме, по причине изменения алгоритмов работы контроллеров, повреждения ячеек микросхемы памяти и т.д.В
ернёмся к нашей флешке, вначале производим коррекцию ECC - битовых ошибок, далее устраняются XOR преобразования (данное преобразование позволило увеличить срок службы микросхемы памяти и уменьшить число ошибок) и подбираем параметры страницы (отделяем служебную информацию от пользовательской). Теперь если мы попробуем просканировать получившийся результат, то сможем обнаружить заголовки файлов (большинство файлов все еще не корректны).
Д
алее продолжаем устранять преобразования согласно алгоритму, проверяя каждый раз результаты методом чернового сканирования. В конечном счете у нас должно будет получиться то, что на картинке. В заключение этого этапа собирается транслятор и если все шаги были правильно подобраны, то мы получаем структуру данных, как и до повреждения флеш карты. Данный этап самый длительный по времени.