Interested Article - UBIFS

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

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

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

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

Том несортированных блоков ( англ. Unsorted Block Images, UBI) — это слой управления блоками стирания для устройств 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 ( англ. multiqueue block layer) с многоуровневой моделью очередей, рассчитанного на организацию многопоточного доступа к данным на многоядерных системах и позволяющего эффективно использовать возможности современных SSD-накопителей . Также добавлена поддержка расширенных атрибутов «security.*».

Примечания

  1. .

Литература

  • Joel Reardon, Srdjan Capkun, David Basin. (англ.) // Proceedings of the 21st USENIX conference on Security symposium (Security’12). — Berkeley, CA, USA: USENIX Association, 2012. — P. 1–16.
  • Christopher Hallinan. Embedded Linux Primer: A Practical Real-World Approach. — Pearson Education, 2010. — P. 361. — ISBN 978-0-13-706110-5 .

Ссылки

  • (англ.) . Documentation . . — Документация на официальном сайте . Дата обращения: 24 сентября 2013.
  • Adrian Hunter. (англ.) (PDF) (27 марта 2008). Дата обращения: 24 сентября 2013.
  • Adrian Hunter, Artem Bityutskiy. (англ.) (PDF). — Слайды презентации . Дата обращения: 24 сентября 2013.
  • Jonathan Corbet. (англ.) . LWN.net (2 апреля 2008). Дата обращения: 24 сентября 2013.
  • Neil Brown. (англ.) . LWN.net (11 декабря 2012). Дата обращения: 24 сентября 2013.
  • (неопр.) . OpenNET (29 марта 2008). Дата обращения: 24 сентября 2013.
  • Thorsten Leemhuis. . Infrastructure improvements for all (англ.) . The H Open . (10 октября 2008) . . Дата обращения: 24 сентября 2013.
  • on the XO Laptop ( One Laptop per Child )
  • (англ.) . University of Szeged. Department of Software Engineering. — Описание проекта на сайте Сегедского университета — одного из разработчиков системы . Дата обращения: 24 сентября 2013. Архивировано из 28 сентября 2013 года.

Same as UBIFS