F2FS

Материал из Википедии — свободной энциклопедии
Перейти к навигацииПерейти к поиску
F2FS
РазработчикКим Хэ Гык (Kim Jaegeuk,кор.김재극),Samsung Electronics,Motorola Mobility,Huawei иGoogle
Файловая системаФлеш-дружелюбная файловая система (англ. Flash-Friendly File System)
Дата представления2013-02[1] (Linux)
Структура
Содержимое папокМногоуровневая хеш-таблица
Размещение файловБитовые поля (свободное место), Таблица
Ограничения
Максимальный размер файла3,94 ТБ
Максимум файловЗависит от размера тома
Максимальная длина имени файла255 байт, 512 unicode для лейбла тома
Максимальный размер тома16 ТБ
Возможности
Свойствавремя модификации (mtime), время изменения атрибута (ctime), время доступа (atime)
Точность хранения даты1 нс
АтрибутыPOSIX, расширенные атрибуты (xattrs)
Права доступаPOSIX,ACL
Фоновая компрессияLZO, LZ4, zstd
Фоновое шифрованиеЕсть[2]
Поддерживается ОСLinux иAndroid

F2FS (англ. Flash-Friendly File System) —файловая система, ориентированная на использование нафлеш-памяти, в том числе для использования сSSD для серверов и персональных компьютеров, с картами памяти (eMMC/SD) и со встроенными в различные потребительские устройства флеш-чипами.

Автор — разработчикSamsung Ким Чэ Гык (Kim Jaegeuk,кор.김재극).Исходный код системы был открыт Samsung в октябре 2012[3][4], после чего доработан инженерами «Samsung» с учётом замечаний сообщества.

Поддержка F2FS включена вядро Linux начиная с версии 3.8[5]. Параллельно развивается пакет f2fs-tools, содержащий набор утилит для обслуживания разделов F2FS (mkfs.f2fs, fsck.f2fs).

Разработана специально с учётом специфики флеш-памяти и учитывает такие особенности, как неизменноевремя доступа и ограниченный ресурс количества циклов перезаписиданных.

Особенности

[править |править код]

Хранение структур данных организовано в формеLSM-дерева, при обновлении информации используется механизмкопирования при записи — при изменении данные не перезаписываются, а сохраняются в новом месте. Для ускорения выполнения операций в процессе работы индексы с информацией о распределении данных хранятся воперативной памяти. Схема работы системы нацелена на продление жизни флеш-накопителей, учитывает внутреннюю геометрию расположения чипов в носителе и работу контроллера; данные по возможности распределяются равномерно, сводя к минимуму повторную запись в одни и те же блоки. С этой целью используется алгоритм последовательного заполнения накопителя, при котором новые данные всегда записываются только в области, следующие после ранее записанных данных, без оглядки на возможную фрагментацию. После достижения конца тома запись начинается с начала, занимая, по возможности, освобождённые блоки. Для исключения конфликтов с логикой контроллера накопителя в F2FS учитывается специфика работы прослойки FTL (Flash Translation Layer), выполняющего на многих накопителях подобную задачу по равномерному заполнению. Для адаптации F2FS к различным видам флеш-накопителей, различающихся своими характеристиками в зависимости от внутренней геометрии и схемы управления, предусмотрен широкий спектр параметров для управления структурой распределения данных в разделе и предоставлена возможность выбора различных алгоритмов очистки и выделения блоков.

Система защищена от «эффекта снежного кома», проявляющегося при использованиигуляющих деревьев (wandering tree): в ситуации, когда вместо перезаписи создаются новые элементы (меняется номер блока), для деревьев, в которых родительский узел ссылается на дочерние узлы, изменение узла приводит к перестройке всех вышележащих узлов. Системе необходимсборщик мусора, выполняющийся в фоне в моменты простоя системы.

Для обеспечения целостности используется модель с фиксацией точек выполнения и возможностью отката изменений (англ. rollback) к точкам сохранения в случае возникновения проблем.

Раздел F2FS формируется из сегментов размером 2 МБ, сегменты группируются в секции, которые в свою очередь объединяются в зоны.

Поддерживается как традиционная дляUnix схема разграничения доступа, так и такие расширенные механизмы, какxattr[англ.] и POSIXACL.

Начиная сGRUB 2.04 (5 Июля 2019) можно использовать раздел с F2FS как загрузочный. Для ранних версий приходилось создавать отдельный загрузочный раздел наext4 или других файловых системах, поддерживаемых GRUB.

Примечания

[править |править код]
  1. Pull new F2FS filesystem from Jaegeuk KimАрхивная копия от 30 июня 2016 наWayback Machine merged by Linus Torvalds
  2. Jaegeuk Kim. f2fs updates for v4.2  (24 июня 2015). Дата обращения: 7 октября 2020. Архивировано 17 января 2016 года.
  3. This is a new patch set for the f2fs file systemАрхивная копия от 18 января 2013 наWayback Machine, LKML, 2012-10-05
  4. Samsung открыл код F2FS, новой файловой системы для Flash-накопителейАрхивная копия от 18 апреля 2021 наWayback Machine //opennet.ru, 05.10.2012
  5. В состав ядра Linux 3.8 войдёт файловая система F2FS.OpenNET.Архивировано 12 октября 2020. Дата обращения: 7 октября 2020.

Ссылки

[править |править код]
Перейти к шаблону «Файловые системы»
Дисковые
Оптические диски
Флеш-память/SSD
Кластерные
Распределённые
(сетевые)
Специальные
Псевдо- и виртуальные
Шифрованные
Источник —https://ru.wikipedia.org/w/index.php?title=F2FS&oldid=146553200
Категории:
Скрытые категории: