LogFS

редактировать
LogFS
Разработчик (и) Йорн Энгель, Прасад Джоши
Другое
Поддерживается операционные системы Linux
Веб-сайтlogfs.org/logfs/ на Wayback Machine (архивировано 16.06.2010)

LogFS Linux лог-структурированная и масштабируемая файловая система флэш-памяти, предназначенная для использования на больших устройствах флэш-памяти. Он написан и частично спонсируется CE Linux Forum.

LogFS была представлена ​​в основной ветке ядра Linux в версии 2.6.34, выпущенной 16 мая 2010 г. Она была удалена из кодовую базу во время окна слияния версии 4.10 в декабре 2016 года, поскольку она «не поддерживалась годами и, казалось, не использовалась».

Содержание
  • 1 История
  • 2 Операция
  • 3 См. Также
  • 4 Внешние ссылки
  • 5 Ссылки
История

По состоянию на ноябрь 2008 года LogFS была достаточно зрелой, чтобы пройти весь набор тестов, и впоследствии была включена в основное ядро ​​Linux с пометкой в качестве «экспериментального» в версии 2.6.34, выпущенной 16 мая 2010 г. Однако он не привлек большой пользовательской базы и был удален из ядра в декабре 2016 г.

Операция

LogFS был мотивирован трудностями JFFS2 с накопителями флэш-памяти большего размера. LogFS хранит дерево inode на диске; JFFS2 этого не делает, что требует от него сканирования всего диска при монтировании и кеширования всего дерева в ОЗУ. Для больших дисков сканирование может занять несколько десятков секунд, а дерево может занять значительный объем оперативной памяти. LogFS избегает этих штрафов, но выполняет больше работы во время работы системы и использует часть дискового пространства для хранения дерева inode.

LogFS сохраняет дерево индексных дескрипторов файла на диске, что означает, что при записи в файл каждый узел-предок в дереве должен быть перезаписан. Это делается с помощью обновления «блуждающего дерева». Самый нижний узел в дереве (то есть данные) записывается первым, каждый узел записывается по возрастанию дерева, пока не обновится корневой индексный дескриптор. Запись в корень последней сохраняет атомарность обновления.

A блок флэш-памяти - это единица стирания и обычно больше, чем блок файловой системы. LogFS обрабатывает это несоответствие, упаковывая несколько блоков файловой системы в один блок флэш-памяти. Запись «сумма» в конце блока флэш-памяти записывает, какие данные хранятся в нем. Когда все блоки файловой системы блока флэш-памяти перемещены или удалены, его можно стереть и использовать для новых данных.

Для максимального использования флэш-памяти необходимо сжимать данные, чтобы блоки флэш-памяти были заполнены полезными данными. Это достигается с помощью сборки мусора. Стратегия сборки мусора LogFS основана на размещении файловых данных определенным образом в блоки флэш-памяти: блок флэш-памяти будет содержать только файловые данные с того же уровня в дереве индексных дескрипторов. LogFS может собирать мусор на верхнем уровне деревьев, используя всего 1 пустой блок флэш-памяти. Он может собирать мусор на 2 верхних уровнях деревьев, используя 2 пустых блока флэш-памяти. И может собрать мусор на всех N уровнях деревьев, используя N пустых блоков флеш-памяти. Алгоритм - экспоненциальное время в худшем случае, но худший случай встречается редко, и алгоритм требует резервирования лишь нескольких блоков флэш-памяти.

См. Также
Внешние ссылки
Ссылки
  1. ^Йорн Энгель; Роберт Мертенс (18 сентября 2005 г.). «LogFS - наконец, масштабируемая файловая система на флеш-памяти» (PDF). Cite journal требует | journal =()
  2. ^Джонатан Корбет (21.12.2016)). «4.10 Окно слияния, часть 2». Дата обращения 02.06.2020. Файловая система logfs, которая не обслуживалась годами и, казалось бы, не использовалась, была удалена из ядра.
Последняя правка сделана 2021-05-28 05:28:01
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте