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