О вреде форматирования флешек
ammo1 — 05.10.2011 Я обнаружил, что при любом форматировании флешек, скорость записи на них значительно снижается. Причём на маленьких файлах скорость может снижаться в десятки раз.Все современные флешки (как USB-flash, так и карты памяти) форматируются производителем "по хитрому", для того, чтобы скорость записи была максимальной.
Возьмём, к примеру, флешку Kingston Data Traveler DT101 4GB.
Изначально бутсектор флешки располагается в 8064м физическом секторе, первый FAT - в 8112, область данных начинается с сектора 11968. При этом скорость записи на больших файлах - 7.6 мб./сек.
Если отформатировать эту флешку в Windows, структура разделов не изменится, поэтому бутсектор так и останется в 8064м секторе, а вот первый FAT уже окажется в секторе 8100, а область данных начнётся с сектора 23360. При этом скорость записи снизится до 6.1 мб./сек.
При форматировании на фотоаппаратах или с помощью программ создания загрузочных флешек, вроде Flashboot, структура разделов также может меняться.
Как же быть? Я вижу только один выход: с помощью какой-либо программы (например Winhex) сразу после покупки сохранять первые физические сектора флешки (c нулевого сектора по последний сектор корневого каталога) в файлик. И при необходимости форматирования или переформатирования (после неудачного форматирования тем же фотоаппаратом), восстанавливать этот файлик на флешку.
В заключение в двух словах о том, как устроена структура данных флешки.
Обычно флешка имеет таблицу разделов, которая записана в MBR в нулевом физическом секторе (есть ещё режим "SuperFloppy", когда у флешки нет MBR и в нулевом секторе лежит бутсектор, как на дискете).
Дальше идёт произвольное количество пропущенных секторов и начинается сам единственный раздел.
В нулевом секторе единственного раздела располагается бутсектор.
Дальше идёт произвольное количество пропущенных секторов.
Дальше идут две копии FAT, размер которых зависит от файловой системы и размера кластера.
Дальше корневой каталог.
Дальше область данных.
Производители добавляют пропущенные сектора в двух местах, так, чтобы запись велась оптимальнее и скорость была выше. При малейшем изменении структуры (при форматировании) этой оптимизации наступают кранты и скорость записи снижается.
|
</> |