В состав ядра Linux 3.8 войдёт файловая система F2FS
21 декабря 2012 года
Линус Торвальдс утвердил(недоступная ссылка) включение в ветку ядра Linux 3.8 файловой системы F2FS (Flash-Friendly File System), ориентированной на использование на Flash-памяти, в том числе оптимально подходящей для SSD-накопителей, карт памяти (eMMC/SD) и встраиваемых в различные потребительские устройства Flash-чипов. Изначально, код F2FS был открыт компанией Samsung в октябре, после чего доработан инженерами Samsung с учётом замечаний сообщества. Дополнительно развивается пакет f2fs-tools(недоступная ссылка), содержащий набор утилит для обслуживания разделов F2FS (mkfs.f2fs, в разработке находится fsck.f2fs).
Файловая система F2FS разработана специально с учётом специфики Flash-памяти и учитывает такие особенности, как неизменное время доступа и ограниченный ресурс по числу перезаписи данных. Из особенностей F2FS можно выделить:
- Хранение структур данных организовано в форме лога, а при обновлении информации используется подход Copy-on-Write, при котором при изменении данные не перезаписываются, а сохраняются в новом месте. При этом, для снижения износа Flash данные по возможности распределяются равномерно, сводя к минимуму повторную запись в одни и те же блоки. Для этого используется алгоритм последовательного заполнения накопителя, при котором новые данные всегда записываются только в области, следующие после уже записанных данных без оглядки на возможную фрагментацию. После достижения конца раздела запись начинается с начала, занимая по мере работы освободившиеся блоки. Для исключения конфликтов с логикой контроллера накопителя, в F2FS учитывается специфика работы прослойки FTL (Flash Translation Layer), выполняющей на многих накопителях сходную задачу по равномерному заполнению.
- Для обеспечения целостности используется модель с фиксацией контрольных точек и возможностью отката изменений (roll-back) в случае проблем.
- Для адаптации F2FS к различным видам Flash, которые отличаются своими характеристиками в зависимости от внутренней геометрии и схемы управления, предусмотрен широкий спектр параметров для управления структурой распределения данных в разделе и предоставлена возможность выбора различных алгоритмов очистки и выделения блоков.
- Раздел F2FS формируется из сегментов размером 2 Мб, сегменты группируются в секции, которые в свою очередь объединяются в зоны.
- В процессе разработки F2FS учтены проблемы ранее доступных специализированных ФС на основе структур в форме лога и предприняты все усилия для устранения известных недостатков, таких как большое потребление памяти и высокие накладные расходы при выполнении операций очистки.
- Файловая система F2FS защищена от эффекта снежного кома, проявляющегося для Wandering-деревьев: в ситуации, когда вместо перезаписи создаются новые элементы (меняется номер блока), для деревьев в которых родительский узел ссылается на дочерние узлы, изменение узла приводит к перестроению всех вышележащих узлов.
- Для ускорения выполнения операций в процессе работы основные индексы с информацией о распределении данных хранятся в оперативной памяти.
- Для выполнения операций чистки реализован специальный сборщик мусора, выполняемый в фоне в моменты простоя системы.
- Поддерживается традиционная для UNIX схема разграничения доступа и такие расширенные механизмы, как xattr и POSIX ACL.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.