Русская Википедия:UBIFS

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

UBIFS (Шаблон:Lang-en) — файловая система с несортированными блоками. Является преемником JFFS2 и конкурентом LogFS в качестве файловой системы для использования с флеш-накопителями технологии NAND. Разработка началась в 2007 году, первый стабильный релиз внесён в ядро Linux 2.6.27 в октябре 2008 года. Файловая система разработана инженерами Nokia при участии сотрудников Университета Сегеда.

UBIFS работает поверх тома несортированных блоков, который сам по себе работает поверх запоминающего устройства Шаблон:Нп5, так как MTD не может использоваться непосредственно. Два основных различия между UBIFS и JFFS2 в том, что UBIFS поддерживает кэширование записи, и UBIFS делает поправку на пессимистическую оценку свободного пространства. UBIFS, как правило, работает лучше, чем JFFS2 на больших NAND-флеш-устройствах. Это следствие целей дизайна системы: быстрое монтированиеШаблон:Sfn, быстрый доступ к большим файлам, а также улучшенная скорость записи. UBIFS также лучше JFFS2 в сжатии на лету, восстановления информации и нечувствительности к сбоям питания. Сжатие данных на лету в UBIFS поддерживает алгоритмы Zlib (Deflate) или LZO.

JFFS2 сохраняет индексы файловой системы в памяти, в то время как UBIFS сохраняет индексы на флеш-памяти. Это непосредственно влияет на масштабируемость JFFS2, так как таблицы должны быть перестроены, каждый раз, когда том монтируется. Кроме того, таблицы JFFS2 могут потреблять большое количество оперативной памяти, поэтому некоторые тома могут стать непригодными для использования.

Том несортированных блоков

Том несортированных блоков (Шаблон:Lang-en) — это слой управления блоками стирания для устройств NAND. UBI служит двум целям: отслеживание плохих блоков NAND и обеспечение выравнивания износа. Выравнивание износа «размазывает» стирание и запись по всему устройству, и UBI представляет логические блоки стирания на более высокие уровни и карты этих физических блоков стирания. Слой был написан специально для UBIFS так, чтобы ей не приходилось заниматься функцией выравнивания износа и контролем плохих блоков. Тем не менее, UBI также может быть полезна для CramFS, так как CramFS не владеет информацией о плохих блоках.

Быстрые карты

UBI была дополнена в Linux 3.7 поддержкой быстрых карт (FastMap). FastMap актуализирует информацию, находящуюся на диске, ранее созданную в памяти путём сканирования всего устройства. Код алгоритма возвращается к предыдущему механизму полного сканирования при сбое. Старые же версии UBI-системы будут просто игнорировать FastMap-информацию.

Изменения, добавленные в ядре Linux 4.0

В релизе версии ядра Linux 4.0 от 13 апреля 2015 года обеспечена поддержка блочного слоя blk-mq (Шаблон:Lang-en) с многоуровневой моделью очередей, рассчитанного на организацию многопоточного доступа к данным на многоядерных системах и позволяющего эффективно использовать возможности современных SSD-накопителей. Также добавлена поддержка расширенных атрибутов «security.*».

Примечания

Шаблон:Примечания

Литература

Ссылки