Программные сбои в контроллере.
Как вы уже знаете из статьи «Устройство типовой USB Flash» в любом флэш - накопителе имеется микросхема-контроллер. Именно контроллер отвечает за передачу данных между компьютером и флэш - накопителем. Управляет контроллером специализированная программа. При неправильном извлечении или просто от различных сбоев питания, а возможно и от других причин – возможно возникновение сбоя программы контроллера накопителя. Результатом этого является блокировка контроллера, и он в результате перестает отвечать на запросы операционной системы компьютера.
В случае подключения такого неисправного накопителя к компьютеру флэшка опознается как «Неизвестное устройство», имеет формат RAW или вообще может быть видна в системе как диск с нулевой ёмкостью.
В другом случае, флэш - накопитель доступен только «для чтения». Данные на диске доступны и читаются, но стоит только попытаться создать новый файл или стереть существующий, или попытаться отформатировать, как сразу выводится сообщение – «Диск защищен от записи». В этом случае контроллер просто переходит в режим защиты данных (при фиксировании ошибок программы или сбоев флэш-памяти) для защиты её от дальнейшего разрушения (память типа NAND, установленная во флэш - накопителях подрежена сбоям именно при записи данных).
Последовательность при восстановлении флэш - накопителя.
1. Прежде всего, необходимо определить модель микросхемы-контроллера, это позволит подобрать необходимую утилиту (программу) для работы с ним. Для этого существуют два способа. Первый – открыть корпус флэш – накопителя, если это возможно, и увидеть название модели контроллера, нанесённое на корпусе самой микросхемы. Если это проблематично, либо корпус не вскрывается, либо он неразборный – воспользуемся вторым способом. Принцип его заключается в определении модели по кодам VID и PID - lданная информация прошита в программе контроллера. VID – это идентификатор производителя, PID – соответственно, идентификатор устройства. VID и PID есть в любом USB устройстве. Считать эти коды можно специальными программами: CheckUDisk 5.0, UsbIDCheck, ChipGenius v2.64, иногда это можно сделать средствами операционной системы.
В случае если значения VID&PID считать не удаётся или эти значения пусты, очень велика вероятность электрического повреждения микросхемы. Скорее всего в этом случае вылечить накопитель программным способом не получится.
2. Значения VID&PID считаны, следовательно появились шансы на успешное восстановление устройства. Далее, зная VID&PID, и пользуясь различными базами, можно определить производителя флэш - накопителя и модель установленного в нем контроллера. По базе, зная контроллер, находим утилиту для работы со сбойным устройством.(http://flashboot.ru/index.php?name=iflash)
3. Подходящую для работы утилиту можно найти либо на сайте производителя, либо в независимых каталогах утилит например на этом сайте. Утилиты отсортированы для удобства - по производителям.
Например:
Если у Вас, VID вашего флэш - накопителя – 1005, а PID – B113. То по базе (http://flashboot.ru/index.php?name=iflash) определяем, что во флэш - накопителе стоит контроллер PS2136 фирмы PHISON. Набором утилит для этого контроллера – является USB 2K REL90 (PS2231-UP12). Если тип контроллера определён визуально - вскрытием корпуса, тогда набор утилит определяем исходя их марки контроллера.
Как работают утилиты здесь описывать не будем из-за их огромного количества и многообразия. Во многих утилитах порядок работы с ними описан в документации или хелпе к ним.
После окончания работ по восстановлению работоспособности контроллера велика вероятность получить хоть какие-то данные из памяти флэш - накопителя. Сделать это можно используя программу PhotoRec.
Если данные в накопителе не так нужны или полностью разрушились, настоятельно рекомендуем провести тест устройства на наличие сбойных (bad) секторов. Для этого используем программы: MyDiskTest v2.42, Victoria 4.3 Beta или Flashnul 0.99.