Jump to content

БИФС

БИФС
Разработчик(и) Nokia при поддержке Университета Сегеда
Полное имя Файловая система несортированных блочных изображений
Представлено 2008 год ; 16 лет назад ( 2008 ) с ядром Linux 2.6.27
Структуры
Содержимое каталога B+ деревья
Пределы
Разрешенное имя файла
персонажи
Любой байт, кроме NUL и косой черты "/" [ нужна ссылка ]
Функции
Вилки Да
Атрибуты Да
Файловая система
разрешения
Разрешения Unix
Прозрачный
сжатие
Да
Другой
Поддерживается
операционные системы
Линукс

UBIFS ( UBI File System , более полно — Unsorted Block Image File System ) — это файловая система флэш-памяти для неуправляемых устройств флэш-памяти . [1] UBIFS работает поверх слоя UBI (несортированного изображения блока), [2] который сам по себе находится поверх уровня устройства памяти (MTD). [3] Файловая система разработана инженерами Nokia при поддержке Университета Сегеда , Венгрия. Серьезная разработка началась в 2007 году, когда в октябре 2008 года была выпущена первая стабильная версия ядра Linux 2.6.27. [4]

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

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

UBI ( несортированные блочные изображения ) [10] — это уровень управления блоками стирания для устройств флэш-памяти . UBI служит двум целям: отслеживает сбойные блоки флэш-памяти NAND и обеспечивает выравнивание износа . Функция выравнивания износа распределяет операции стирания и записи по всему флэш-устройству. UBI представляет блоки логического стирания на более высоких уровнях и сопоставляет их с блоками физического стирания. UBI был написан специально для UBIFS, чтобы UBIFS не приходилось заниматься выравниванием износа и бэд-блоками. Тем не менее, UBI также может быть полезен при работе со сквошами и флэш-памятью NAND; sqashfs не знает о сбойных блоках флэш-памяти NAND.

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

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

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

См. также

[ редактировать ]
  1. ^ Джонатан Корбет (2 апреля 2008 г.). «ЮБИФС» . LWN.net . Проверено 18 декабря 2016 г.
  2. ^ «UBIFS – Файловая система UBI: Большая красная заметка» . 22 января 2015 года . Проверено 18 декабря 2016 г. Он не работает поверх блочных устройств. UBIFS был разработан для работы поверх необработанной флэш-памяти.
  3. ^ «UBIFS – Файловая система UBI: Обзор» . 22 января 2015 года . Проверено 18 декабря 2016 г.
  4. ^ Артем Битюцкий (27 марта 2008 г.). «UBIFS – новая файловая система флеш-памяти» . Проверено 18 декабря 2016 г.
  5. ^ «UBIFS – Файловая система UBI: поддержка обратной записи» . 22 января 2015 года . Проверено 18 декабря 2016 г.
  6. ^ «Часто задаваемые вопросы и инструкции по UBIFS: почему df сообщает, что слишком мало свободного места?» . 18 декабря 2015 года . Проверено 18 декабря 2016 г.
  7. ^ «UBIFS – Файловая система UBI: Масштабируемость» . 22 января 2015 года . Проверено 18 декабря 2016 г.
  8. ^ Перейти обратно: а б Битюцкий Артем; Хантер, Адриан (24 сентября 2008 г.). «Файловая система UBIFS» (PDF) . п. 9.
  9. ^ Адриан Хантер (27 марта 2008 г.). «Краткое введение в проектирование UBIFS» (PDF) .
  10. ^ «UBI – Несортированные блочные изображения» . 22 января 2015 года . Проверено 18 декабря 2016 г.
  11. ^ Томас Петаццони (3 октября 2012 г.). «Быстрая карта UBI выходит на основную ветку» . Архивировано из оригинала 15 ноября 2012 года . Проверено 18 декабря 2016 г.
  12. ^ Ричард Вайнбергер (24 сентября 2012 г.). «UBI: запрос Fastmap на включение (v18)» . Проверено 18 декабря 2016 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: f18e89e25b106a4739ea3936f29d5677__1695134940
URL1:https://arc.ask3.ru/arc/aa/f1/77/f18e89e25b106a4739ea3936f29d5677.html
Заголовок, (Title) документа по адресу, URL1:
UBIFS - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)