reinhardt_f (reinhardt_f) wrote,
reinhardt_f
reinhardt_f

Categories:

F2FS для SSD.

Линус Торвальдс утвердил включение в ветку ядра 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.
http://www.opennet.ru/opennews/art.shtml?num=35667
Tags: линукс
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 17 comments