Будущее
Собственно мы подошли к концу. Вывод из вышесказанного можно сделать следующий: флэш-память в будущем будет все больше распространяться и совершенствоваться. Пока не ясно, сможет ли она заменить жесткие диски, но задатки к этому у нее имеются. Но тут есть еще одна загвоздка — файловая система.
Современные файловые системы оптимизированы для использования вместе с жесткими дисками. А ведь HDD — это вовсе не SSD по своей структуре. Прежде всего доступ к данным на винчестере осуществляется при помощи LBA-адресации. Блок такого адреса позволяет вычислить на какой пластине, на какой дорожке и в каком секторе расположена запрашиваемая информация. Но вот незадача — у флэш нет пластин, дорожек и секторов. Но есть блоки, поделенные на страницы. Сегодня эта проблема решается трансляцией адресов из одного формата в другой, но куда удобнее было бы, если б все это происходило напрямую.
Еще одна особенность флэш-памяти — запись может осуществляться только в предварительно очищенные блоки. А эта операция занимает определенное время. Вот и неплохо бы очищать неиспользуемые совсем блоки во время простоя.
Современные дисковые файловые системы оптимизированы для минимизации времени доступа к данным — они стараются, чтобы их поиск происходил максимально быстро по диску. Но для флэш-памяти это просто неактуально — доступ ко всем блокам осуществляется одинаково быстро. Ну и не помешает поддержка вычисления уровня износа флэш-чипов со стороны файловой системы.
Так что дело ближайшего будущего — это выпуск новых файловых систем, оптимизированных для работы с флэш-памятью. Такие впрочем уже существуют, но современные ОС плохо их поддерживают. Примечательно, что одной из первых стала FFS2 от Microsoft, которую та выпустила еще в начале 90-х годов.
ОС Linux не отстает от прогресса. Для нее были созданы файловые системы JFFS, JFFS2, YAFFS, LogFS, UBIFS. Отличилась и Sun, разработав ZFS, которая недавно перешла во владение Oracle. Она оптимизирована не только для жестких дисков, но и для флэш-накопителей. Причем как для использования их в качестве основного хранилища, так и как кэша.
Тем не менее, сегодня самой популярной файловой системой для флэшек (не считая SSD) остается FAT и FAT32. Это просто удобнее всего. Они поддерживаются всеми операционными системами, не требуют драйверов. Но и их уже недостаточно для работы. К примеру ограничение на максимальный размер файла (4 Гбайта) уже становится неприемлемым.
Флэш-накопитель, форматированный под файловую систему exFAT
Впрочем, у Microsoft есть замена — exFAT, ранее известная как FAT64. Как мы уже писали, она выбрана в качестве основной ФС для карт SDXC. Помимо оптимизации под флэш-память она поддерживает файлы размером до 16 экзабайт (16.7 миллионов терабайт), а в одну папку можно записать более 65536 файлов.
Поддерживается exFAT сегодня операционными системами Windows Mobile версии 6.0 и выше, Windows XP SP2 и выше, Windows Vista SP1, Windows Server 2008 и Windows 7 со сборки 6801. Заметим, что в Windows Vista флэш-накопитель на основе exFAT не способен использоваться как кэш в функции ReadyBoost. Соответствующая поддержка появится в Windows 7. Ну а что касается других ОС, то для Linux доступен бесплатный модуль ядра, позволяющий использовать exFAT только для чтения.
Так что наиболее перспективной ОС для флэш-приводов сегодня выглядит ZFS и exFAT. Но обе распространены весьма слабо, хотя у последней есть больше шансов стать популярной. Ее уже выбрали в качестве основной для карт SD последнего поколения и все наиболее популярные версии Windows ее "знают".
В остальном будем ждать дальнейшего наращивания емкости флэшек и снижения их стоимости. Технология эта очень хороша, поэтому мы желаем ей только успеха.