UBIFS

редактировать
UBIFS
Разработчик (ы)) Nokia с помощью Университета Сегеда
Полное названиеНесортированная файловая система блочного изображения
Представлена ​​2008 г.; 12 лет назад (2008 г.) с ядром Linux 2.6.27
Структуры
Содержимое каталогаB + деревья
Ограничения
Допустимые символы в именах файловЛюбые байт, кроме NUL и косой черты "/"
Характеристики
Форки Да
АтрибутыДа
Разрешения файловой системы POSIX
Прозрачное сжатиеДа
Другое
Поддерживаемые операционные системы Linux

UBIFS (Файловая система UBI, более полно Несортированная файловая система блочного образа ) - это файловая система флэш-памяти для неуправляемых устройств флэш-памяти. UBIFS работает поверх слоя UBI (несортированное блочное изображение), который сам находится поверх уровня запоминающего устройства (MTD). Файловая система разработана инженерами Nokia при поддержке Университета Сегеда, Венгрия. Серьезная разработка началась в 2007 году, когда в октябре 2008 года был выпущен первый стабильный выпуск ядра Linux 2.6.27.

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

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

Содержание
  • 1 UBI
    • 1.1 Fastmap
  • 2 См. Также
  • 3 Ссылки
  • 4 Внешние ссылки
UBI

UBI (Несортированные блочные изображения ) - это уровень управления блоком стирания для устройств флэш-памяти. UBI служит двум целям: отслеживание сбойных блоков флэш-памяти NAND и обеспечение выравнивания износа. При выравнивании износа стираемые и записываемые данные распределяются по всему флеш-устройству. UBI представляет блоки логического стирания на более высокие уровни и сопоставляет их с блоками физического стирания. UBI был написан специально для UBIFS, чтобы UBIFS не имел дело с выравниванием износа и плохими блоками. Однако UBI также может быть полезен с squashfs и NAND flash; squashfs не знает о сбойных блоках флэш-памяти NAND.

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

UBI в некотором смысле аналогичен Logical Volume Manager. При типичном использовании вместо разделения флэш-памяти на фиксированные области одно устройство UBI охватывает всю флэш-память (за исключением, возможно, нескольких страниц в фиксированных местах, зарезервированных для загрузчика), и в устройстве UBI создается несколько томов. Это позволяет распределить выравнивание износа по всей флеш-памяти, даже если одни тома записываются чаще, чем другие. Тома UBI могут быть статическими (которые содержат один раз записанный файл или изображение целиком и защищены CRC-32 с помощью UBI) или динамическими (которые содержат файловую систему чтения-записи, которая отвечает за целостность своих данных). Единственная файловая система, которая напрямую поддерживает UBI, - это UBIFS, но с помощью gluebiможно эмулировать устройство MTD, которое затем можно использовать для запуска других файловых систем флеш-памяти, таких как JFFS2 и YAFFS, и с помощью ubiblk <35.>можно эмулировать блочные устройства, которые могут запускать общие файловые системы, такие как Ext4.

Fastmap

UBI был дополнен в Linux 3.7 поддержкой fastmap. Fastmap поддерживает дисковую версию информации, ранее созданной в памяти, путем сканирования всего флеш-устройства. Код возвращается к предыдущему механизму полного сканирования сбоев, а старые системы UBI просто игнорируют информацию fastmap.

См. Также
Ссылки
Внешние ссылки

Последняя правка сделана 2021-06-20 05:33:05
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте