LogFS - LogFS
Эта статья слишком полагается на Рекомендации к основные источники.Февраль 2013) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Разработчики) | Йорн Энгель, Прасад Джоши |
---|---|
Другой | |
Поддерживается операционные системы | 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 пустых блоков флеш-памяти. Алгоритм такой экспоненциальное время в худшем случае, но в худшем случае бывает редко, и алгоритм требует резервирования лишь нескольких блоков флэш-памяти.
Смотрите также
внешняя ссылка
- logfs.org/logfs/ на Wayback Machine (архивировано 16.06.2010)
- Введение в LogFS (Видео)
Рекомендации
- ^ Йорн Энгель; Роберт Мертенс (18 сентября 2005 г.). «LogFS - наконец-то масштабируемая файловая система на флеш-памяти» (PDF). Цитировать журнал требует
| журнал =
(помощь) - ^ Джонатан Корбет (21 декабря 2016 г.). «4.10 Окно слияния, часть 2». Получено 2020-06-02.
Файловая система logfs, которая не поддерживалась годами и, казалось бы, не использовалась, была удалена из ядра.