UBIFS

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

UBIFS[править | править вики-текст]

Файловая система с несортированными блоками (Unsorted Block Image File System, UBIFS) является преемником JFFS2 и конкурентом LogFS, в качестве файловой системы для использования поверх носителя NAND Flash. Разработка началась в 2007 году, первый стабильный релиз внесен в ядро Linux 2.6.27 в октябре 2008 года. Файловая система разработанная инженерами Nokia с помощью Университета Сегеда, Венгрия.

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

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

Том несортированных блоков (Unsorted Block Images, UBI)[править | править вики-текст]

Том несортированных блоков (Unsorted Block Images, UBI) - это слой управления блоками стирания для устройств NAND Flash. UBI служит двум целям: отслеживание плохих блоков NAND Flash и обеспечение выравнивания износа. Выравнивание износа размазывает стирание и запись по всему NAND Flash устройству. UBI представляет логические блоки стирания на более высокие уровни и карты этих физических блоков стирания NAND Flash. UBI была написана специально для UBIFS так, чтобы ей не приходилось заниматься функцией выравнивания износа и контролем плохих блоков. Тем не менее, UBI также может быть полезна для CramFS на NAND Flash, т.к. CramFS не знает о плохих блоках NAND Flash.

Быстрые карты (FastMap)[править | править вики-текст]

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

Смотрите также[править | править вики-текст]

Ссылки[править | править вики-текст]