October 5th, 2011

Orange

О вреде форматирования флешек

Я обнаружил, что при любом форматировании флешек, скорость записи на них значительно снижается. Причём на маленьких файлах скорость может снижаться в десятки раз.



Все современные флешки (как 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, размер которых зависит от файловой системы и размера кластера.
Дальше корневой каталог.
Дальше область данных.

Производители добавляют пропущенные сектора в двух местах, так, чтобы запись велась оптимальнее и скорость была выше. При малейшем изменении структуры (при форматировании) этой оптимизации наступают кранты и скорость записи снижается.
Buy for 200 tokens
Напротив парка Малевича есть еще один парк, называется "Раздолье". Деревня Раздоры, парк Раздолье, типа созвучно. Это единый лесной массив, просто разделенный дорогой. Но парки совершенно разные. В парке Малевича тишина и природа, здесь - природа и люди. Там снег и редкие лыжники, здесь…