Почему так важно безопасно извлекать устройство?

Давайте теперь представим, как будет работать USB-устройство, если мы не используем безопасное извлечение и выдергиваем это устройство, что называется, на живую.

Начнем с того, что устройство вполне может не содержать тех данных, которые вы на него отправили. Я уже показывал то, как работает отложенная запись Windows (ниже привожу это видео еще раз).

Другими словами, то, что вы отправили на устройство какие-то файлы, при небезопасном извлечении устройства вовсе не гарантирует того, что эти файлы будут на вашей флешке.

Это первая опасность.

Вторая опасность заключается в том, что при небезопасном извлечении устройства оно может выйти из строя. Небольшой перекос при извлечении, неравномерность движения в разъеме, слишком сильный нажим и т.п. — могут привести к тому, что произойдет электрическое повреждение устройства (а при небезопасном извлечении оно в разъеме находится под током). После этого устройство остается или ремонтировать, или (в случае невозможности ремонта) восстанавливать более радикальными методами, связанными с выпаиванием NAND-микросхем.

Третья опасность — возможный выход из строя микропрограммы устройства. Любой USB-накопитель, кроме микросхем, в которых хранятся данные (NAND-микросхемы), имеет контроллер. Этим контроллером и управляется устройство. Для функционирования устройства имеется микропрограмма, одной из важных частей которой является трянслятор. Кстати восстановить флешку можно на сайте datalab.com.ua.

Транслятор — это часть микропрограммы, которая соединяет физиескую адресацию пространства внутри флешки с логической адресацией пространства для операционной системы. Грубо говоря, физические адреса секторов переводятся в LBA, понятные операционной системе. При этом физически первый сектор для Windows во флешке может быть где-то в середине или в конце (совпадение физической и логической адресаций нынче скорее исключение, чем правило).

Так вот, во включенном состоянии флешка довольно часто совершает операции по оптимизации своего адресного пространства, производя соответствующие изменения в микропрограмме. Если в момент начала записи каких-то критических данных флешку выдернуть из компьютера, то эти данные записаны не будут. При следующем включении микропрограмма начнет искать эти данные, не сможет их найти и, как следствие, остановит работу. Устройство попадет в состояние «ошибка». Вывод из ошибки USB-устройств возможен далеко не всегда, для восстановления данных могут потребоваться довольно дорогостоящие процедуры.

Ну и еще одна опасность (четвертая) — это возможный выход из строя внешних жестких дисков, подключаемых через USB. Внешние жесткие диски получают питание через USB, и, соответственно, при внезапном обесточивании (то есть небезопасном извлечении) могут не успеть запарковать головки. При этом головки останутся на поверхности, упадут на нее, что неизбежно приведет к повреждению и головок, и поверхностей — а значит, к потере данных. Извлечение данных с USB-дисков с заклинившими на поверхности головками часто является весьма нетривиальной задачей.

Пятая опасность — выход из строя самого разъема USB. Это возможно по тем же причинам, которые характерны для второй опасности.