Файловая система Flash - Flash file system

А файловая система flash это файловая система предназначен для хранения файлы на флэш-память –На основе запоминающих устройств. Хотя файловые системы флеш-памяти тесно связаны с файловыми системами в целом, они оптимизированы для характера и характеристик флеш-памяти (например, чтобы избежать запись усиления ), и для использования в частности операционные системы.

Обзор

Хотя блочное устройство Layer может эмулировать диск, чтобы файловая система общего назначения могла использоваться на устройстве хранения на основе флэш-памяти, это неоптимально по нескольким причинам:

  • Стирание блоков: блоки флэш-памяти должны быть явно удалены, прежде чем они могут быть записаны. Время, необходимое для стирания блоков, может быть значительным, поэтому полезно стирать неиспользуемые блоки, когда устройство находится в режиме ожидания.
  • Произвольный доступ: файловые системы общего назначения оптимизированы, чтобы избежать диск ищет по возможности, из-за дороговизны поиска. Устройства с флэш-памятью не требуют задержки поиска.
  • Выравнивание износа: устройства флэш-памяти имеют тенденцию изнашиваться, когда один блок многократно перезаписывается; Файловые системы Flash предназначены для равномерного распределения записей.

Файловые системы с лог-структурой обладают всеми желательными свойствами для файловой системы flash.[1] К таким файловым системам относятся JFFS2 и ЯФФС.

Из-за особых характеристик флэш-памяти ее лучше всего использовать с контролер выполнять выравнивание износа и исправление ошибки или специально разработанная вспышка файловые системы, которые распределяют запись по носителю и имеют дело с длительным временем стирания флеш-блоков NAND. Основная концепция файловых систем флеш-памяти: когда необходимо обновить флеш-хранилище, файловая система будет записывать новую копию измененных данных в новый блок, переназначать указатели файлов, а затем стирать старый блок позже, когда он время.

На практике файловые системы Flash используются только для Устройства с технологией памяти (MTD), которые представляют собой встроенную флэш-память, не имеющую контроллера. Съемная вспышка карты памяти и USB-накопители иметь встроенные контроллеры для управления MTD с помощью специальных алгоритмов,[2][3] например, выравнивание износа, восстановление плохих блоков, восстановление после потери питания, сборка мусора и исправление ошибки, поэтому использование файловой системы Flash имеет ограниченные преимущества.

Устройства на основе флэш-памяти становятся все более распространенными по мере увеличения количества мобильных устройств, снижения стоимости в расчете на размер памяти и увеличения емкости микросхем флэш-памяти.

Происхождение

Самой ранней файловой системой флеш-памяти, управляющей массивом флеш-памяти как свободно записываемым диском, была TrueFFS от М-Системы Израиля, представленный как программный продукт на выставке PC-Card Expo на Санта-Клара, Калифорния, в июле 1992 г. и запатентовано в 1993 г.[4]

Одна из самых ранних файловых систем флеш-памяти была Microsoft FFS2, для использования с MS-DOS, выпущенный осенью 1992 года.[5] FFS2 предшествовал более ранний продукт, названный «FFS», который, однако, не был файловой системой флэш-памяти, управляя массивом флэш-памяти как написать один раз прочитать много (WORM), а не как свободно записываемый диск.

Примерно в 1994 г. PCMCIA, отраслевая группа, утвердила Слой Flash-перевода (FTL), основанная на дизайне TrueFFS от M-Systems. Спецификация была разработана и совместно предложена M-Systems и SCM Microsystems, который также предоставил первые рабочие реализации FTL. Одобрено Intel,[6] FTL также стала популярным дизайном файловой системы флэш-памяти на носителях, отличных от PCMCIA.

Файловые системы флеш-памяти Linux

JFFS, JFFS2 и YAFFS
JFFS была первой файловой системой для флеш-памяти для Linux, но его быстро вытеснил JFFS2, первоначально разработанная для вспышки NOR. потом ЯФФС был выпущен в 2002 году, специально для флэш-памяти NAND, и JFFS2 был обновлен для поддержки флэш-памяти NAND.
УБИФС
УБИФС был объединен с Linux 2.6.22[7] в 2008 году. УБИФС активно развивался с момента его первоначального слияния.[8] UBIFS имеет документация размещен в Infradead.org вместе с драйверами JFFS2 и MTD. Некоторое первоначальное сравнение показывает, что UBIFS со сжатием быстрее, чем F2FS.[9]
LogFS
LogFS, еще одна файловая система Linux для флэш-памяти, в настоящее время разрабатывается для решения проблем масштабируемости JFFS2.
F2FS
F2FS (Файловая система с поддержкой Flash) была добавлена ​​в Ядро Linux 3.8.[10] Вместо того, чтобы быть нацеленным на обращение непосредственно к необработанным флеш-устройствам, F2FS предназначена для использования на флеш-устройствах хранения, которые уже включают уровень флеш-трансляции, например SD-карты.[11]

Объединенные файловые системы

Overlayfs, Unionfs и aufs представляют собой объединенные файловые системы, которые позволяют объединять несколько файловых систем и представлять их пользователю в виде единого дерева. Это позволяет разработчику системы помещать части операционной системы, которые номинально доступны только для чтения на разных носителях, в обычные области для чтения и записи. OpenWrt обычно устанавливается на чипах raw flash без FTL. Он использует overlayfs для объединения сжатых файлов только для чтения. Сквош с JFFS2.

Слои перевода

Смотрите также

Рекомендации

  1. ^ Арнд Бергманн (18 февраля 2011 г.). «Оптимизация Linux с помощью дешевых флешек». LWN.net. Получено 2013-01-26.
  2. ^ "Контроллер USBkey от Phison PS2251-63". Архивировано из оригинал на 2011-07-28. Получено 2011-05-26.
  3. ^ OpenNFM: NAND FTL с открытым исходным кодом для SSD и встроенного модуля хранения
  4. ^ Патент США 5404485, "Файловая система Flash, Амир Бан" 
  5. ^ Патент Microsoft FFS2
  6. ^ «Понимание спецификации уровня трансляции Flash (FTL)» (PDF). Intel. Декабрь 1998. Архивировано с оригинал (PDF) в 2014-07-19. Получено 2015-07-27.
  7. ^ Джонатан Корбет (2 апреля 2008 г.). «УБИФС». LWN.
  8. ^ Ричард Вайнбергер (24 сентября 2012 г.). «UBI: запрос Fastmap для включения». LKML.
  9. ^ Нил Браун (2012-12-11). «JFFS2, UBIFS и рост флэш-хранилищ». LWN.
  10. ^ «Файловые системы и хранилище». Журнал ядра - в версии 3.8. H. 2013-01-21. Получено 2013-01-23.
  11. ^ Нил Браун (10.10.2012). "Разборка f2fs". LWN.net. Получено 2014-04-09.

внешняя ссылка