Back-end developer
0,0
рейтинг
24 октября 2012 в 05:43

Администрирование → Новая файловая система для Flash-накопителей от Samsung и сравнение производительности recovery mode

Всем доброго дня!

Инженеры из компании 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) в случае проблем. Для ускорения выполнения операций в процессе работы основные индексы с информацией о распределении данных хранятся в оперативной памяти.

Представлены результаты оценки производительности файловых систем EXT4 и NILFS2 в сравнении F2FS, новой файловой системы для Flash-накопителей, разработанной в компании Samsung. Тестирование проводилось как на обычном ПК с CPU Core i5 2500, так и на смартфоне a Galaxy S3 с прошивкой на базе Android 4.0.4. В обоих конфигурация использовалась SD-карта Transcend 16GB class 10;

Производительность F2FS оказалась выше конкурентов в тестах на случайную и последовательную буферизированную запись, запись cо сбросом буферов через fsync и случайное чтение данных. При оценке времени монтирования лидером стала ФС EXT4, F2FS оказалась на втором месте.

buffered write (1GB file)
Desktop PC Galaxy-S 3
sequential (MB/s) random (IOPS) sequential (MB/s) random (IOPS)
EXT4 7.1 1073 6.7 1073
NILFS2 6.8 1462 4.0 1272
F2FS 10.6 2675 6.9 1682

write + fsync (100MB file)
Desktop PC Galaxy-S 3
sequential (KB/s) random (IOPS) sequential (KB/s) random (IOPS)
EXT4 511.8 125 383.4 119
NILFS2 545.2 112 356.7 72
F2FS 1057.9 240 772.3 184

mounting time
Desktop PC Galaxy-S 3
1st mount after formating (msec) after rebooting (msec) 1st mount after formating (msec) after rebooting (msec)
EXT4 11 20 20 40
NILFS2 920 1013 1680 1630
F2FS 1486 161 2280 1570

buffered read (1GB file)
Desktop PC Galaxy-S 3
sequential (MB/s) random (IOPS) sequential (MB/s) random (IOPS)
EXT4 16.4 1568 9.6 1395
NILFS2 16.6 1609 9.6 1440
F2FS 16.8 1643 9.7 1499

Дополнение: отдельно проведено сравнение производительности VFAT и F2FS:

buffered write (1GB file), 4KByte write
Desktop PC Galaxy-S 3
sequential (MB/s) random (IOPS) sequential (MB/s) random (IOPS)
EXT4 7.1 1073 6.7 1073
NILFS2 6.8 1462 4.0 1272
F2FS 10.6 2675 6.9 1682
VFAT 7.3 1108 7.3 1075

write + fsync (100MB file), 4KByte write
Desktop PC Galaxy-S 3
sequential (MB/s) random (IOPS) sequential (MB/s) random (IOPS)
EXT4 511.8 125 383.4 119
NILFS2 545.2 112 356.7 72
F2FS 1047.9 240 772.3 184
VFAT 356.5 260 474.4 373

buffered read (1GB file), 4KByte read
Desktop PC Galaxy-S 3
sequential (MB/s) random (IOPS) sequential (MB/s) random (IOPS)
EXT4 16.4 1568 9.6 1395
NILFS2 16.6 1609 9.6 1440
F2FS 16.8 1643 9.7 1499
VFAT 16.6 1592 9.6 1501


Источник: opennet.ru
P.S. В Archlinux есть уже пакет в AUR.
P.S.S. Кто то может сказать, что ему придется носить несколько флешек с разными фс, т.к. она очень далеко не везде поддерживается сейчас, но данную фс на данный момент не плохо можно использовать на стационарных ssd дисках.
Lev Lybin @lybin
карма
6,0
рейтинг 0,0
Back-end developer
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Администрирование

Комментарии (29)

  • 0
    интересно, на сколько больше/меньше будут жить накопители с F2FS чем с VFAT
    • 0
      Надо почитать как устроена vfat или в чем отличие от fat от туда будет ответ, но если верить инженерам из самсунг то не хуже точно.
      • 0
        vfat — это и есть fat, только с поддержкой длинных имён файлов (обычные fat12,16 только 11 символов). Т.е. та фс, которая начиная с win95 использовалась.
        • 0
          Ясно, спасибо, тогда ответ очевиден.
        • 0
          Я с exFat перепутал %) vfat точно в ауте
  • 0
    интересно, а под ядро 2.6.27.53 можно будет засунуть и нужно ли что то ещё править в конфиге ядра?
  • +3
    Давно пора. Я вообще не понимаю, что в Андроиде делает vfat.
    • +1
      Поддерживает тех пользователей, которые подключают телефон к компу с Windows, очевидно.
      • +2
        Андроид уже некоторое время работает с компьютерами по MTP — соответственно, неважно какая там внутри файловая система.
        • +1
          Только начиная с Android 3.0. А ещё миллионы вполне актуальных и рабочих 2.0 устройств.
          • 0
            У меня 2.3.4, MTP в наличии.
            Кроме того, в Windows таки можно пока ставить драйвера.
            • 0
              Очень много источников упоминают что всё-таки начиная с 3.0.

              И согласитесь, что очень много ситуаций когда дрова нельзя поставить:
              * пользователь домохозяйка и не знает что это такое и где это брать
              * интернет клубы
              * и т.д.
              • 0
                Очень много источников упоминают что всё-таки начиная с 3.0.
                Значит в Sony знают толк в backports.

                И согласитесь, что очень много ситуаций когда дрова нельзя поставить


                Да, бывают такие проблемы. Но все-равно в общем случае с телефоном частенько идет какой-то софт. Программой больше, программой меньше.

                Да, и вот еще что… Слабо верится что миллионы вполне актуальных и рабочих 2.0 устройств в одночасье самостоятельно тайком перейдут на F2FS.
      • 0
        для них есть MTP
        • –1
          Ну хорошо, для тех пользователей, которые достают карточку из телефона и используют её через картридер.
          • –1
            Не такая уж проблема поставить под виндой драйвера файловой системы. ext2fs, которая была бы явным фаворитом для карточек если б не разработали новую, такие драйвера имеет.

            Но вообще таких пользователей ничтожно мало.
            • +2
              >> Не такая уж проблема поставить под виндой драйвера файловой системы. ext2fs, которая была бы явным фаворитом для карточек если б не разработали новую, такие драйвера имеет.

              Если так рассуждать, не такая уж проблема и Ubunty поставить, но почему-то многие этого не делают, что не мешает им использовать андроид.

              >> Но вообще таких пользователей ничтожно мало.
              Пруфлинки, исследования?

              А я вот вам приведу:
              * Доля андроид устройств, то есть более 75% не поддерживают MTP
              * При этом как минимум устройств 400 млн. по устаревшим данным. То есть как минимум 300 млн. без MTP
              * Доля Windows — 92%.

              Так что по моим прикидкам vfat это реальное упрощение жизни.
  • +1
    В Samsung наконец кто-то посчитал, сколько Microsoft на них зарабатывает :)
  • 0
    Где сравнение с NTFS, раз уж упомянут SSD?
    • 0
      С exFAT тогда уж логичнее.
      • 0
        ФС в начале октября вышла только, конечно действительно странно почему не сравнили, я чего то перепутал vfat с exfat думал про второе речь шло… вообще погуглив везде почему то все пишут что лучше, а почему конкретного ответа не нашел, может очевидно…
        Как прочитал в одном месте exfat или f2fs без разницы, если что то не будет популярным то уйдет… поразмыслив я не знаю ни одного человека который бы использовал exfat(кроме самого себя), f2fs только начинает, увидим. А вообще exfat vfat наверное просто допилки предыдущих версий fat, а f2fs новая с нуля с учетом недостатков от предыдущих, как сказано, реализаций подобных фс, сравнение интересно увидеть самому, но вера куда больше :)
  • 0
    вообще погуглив везде почему то все пишут что лучше, а почему конкретного ответа не нашел, может очевидно…
    Очевидно что лучше по патентным и лицензионным соображением в первую очередь. Очень не хочется добавлять поддержку exFAT, скажем в андроид, а вот f2fs в Windows — легко.
  • 0
    Без драйвера для Windows использование не на ssd/внутренней памяти телефона сомнительно.
  • 0
    Я полагаю, был смысл сравнивать с YAFFS2/UBIFS/сотоварищи, нет?

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.