LogFS - LogFS

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

LogFS это Linux бревенчатый и масштабируемый файловая система flash, предназначенный для использования на больших устройствах флэш-память. Это написано Йорн Энгель[1] и частично спонсируется CE Linux Forum.

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

История

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

Операция

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

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

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

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

Смотрите также

внешняя ссылка

Рекомендации

  1. ^ Йорн Энгель; Роберт Мертенс (18 сентября 2005 г.). «LogFS - наконец-то масштабируемая файловая система на флеш-памяти» (PDF). Цитировать журнал требует | журнал = (помощь)
  2. ^ Джонатан Корбет (21 декабря 2016 г.). «4.10 Окно слияния, часть 2». Получено 2020-06-02. Файловая система logfs, которая не поддерживалась годами и, казалось бы, не использовалась, была удалена из ядра.