F2FS (англ. Flash-Friendly File System) — файлова система, орієнтованої на використання на флеш-пам'яті, в тому числі оптимально придатна для SSD-накопичувачів, карт пам'яті (eMMC/SD) і вбудованих в різні споживчі пристрої флеш-чипів. Сирцевий код F2FS був відкритий компанією Samsung у жовтні 2012, після чого доопрацьований інженерами Samsung з урахуванням зауважень співтовариства. Додатково розвивається пакет f2fs-tools, що містить набір утиліт для обслуговування розділів F2FS (mkfs.f2fs, fsck.f2fs).
F2FS | |
---|---|
Розробник | Samsung Electronics, Motorola Mobility і Huawei |
Файлова система | Flash-Friendly File System |
Дата представлення | v3.8, 2012-12-20 (Linux) |
Структура | |
Структура директорій | багаторівнева хеш-таблиця |
Структура файлів | bitmap (вільний простір), таблиця |
Обмеження | |
Максимальний розмір файлу | 3.94 TB |
Максимум файлів | Залежить від розміру обсягу |
Максимальна довжина імені файлу | 512 байт |
Максимальний розмір тому | 16 TB |
Можливості | |
Властивості | модифікація (mtime), модифікація атрибута (ctime), доступ (atime) |
Точність збереження дати | 1 ns |
Атрибути | POSIX, розширені атрибути |
Права доступу | POSIX, ACL |
Фонова компресія | LZO, LZ4 (від Linux 5.6),zstd (від Linux 5.7) |
Фонове кодування | Наявне |
Підтримується ОС | Linux і Android |
F2FS розроблена спеціально з урахуванням специфіки флеш-пам'яті і враховує такі особливості, як незмінний час доступу і обмежений ресурс з числа перезапису даних. З особливостей F2FS можна виділити:
- зберігання структур даних організовано у формі логу, а при оновленні інформації використовується підхід Copy-on-Write, при якому при зміні дані не перезаписуються, а зберігаються в новому місці. При цьому, для зниження зносу флеша дані по можливості розподіляються рівномірно, зводячи до мінімуму повторний запис в одні і ті ж блоки. Для цього використовується алгоритм послідовного заповнення накопичувача, при якому нові дані завжди записуються тільки в області, наступні після вже записаних даних без оглядки на можливу фрагментацію. Після досягнення кінця розділу запис починається з початку, займаючи, в міру можливостей, звільнені блоки. Для виключення конфліктів з логікою контролера накопичувача, в F2FS враховується специфіка роботи прошарку FTL (Flash Translation Layer), що виконує на багатьох накопичувачах подібну задачу з рівномірного заповнення;
- для забезпечення цілісності використовується модель з фіксацією контрольних точок і можливістю відкоту змін (roll-back) у разі проблем.
- Для адаптації F2FS до різних видів флеша, які відрізняються своїми характеристиками в залежності від внутрішньої геометрії і схеми управління, передбачений широкий спектр параметрів для управління структурою розподілу даних в розділі і надана можливість вибору різних алгоритмів очищення і виділення блоків;
- розділ F2FS формується із сегментів розміром 2 Мб, сегменти групуються в секції, які в свою чергу об'єднуються в зони;
- у процесі розробки F2FS враховані проблеми раніше доступних спеціалізованих файлових систем на основі структур у формі логу і докладено всіх зусиль для усунення відомих недоліків, таких як велике споживання пам'яті і високі накладні витрати при виконанні операцій очищення;
- файлова система F2FS захищена від ефекту снігової лавини, що проявляється для Wandering-дерев: у ситуації, коли замість перезапису створюються нові елементи (змінюється номер блоку), для дерев в яких батьківський вузол посилається на дочірні вузли, зміна вузла приводить до перебудови всіх вищерозміщених вузлів;
- для прискорення виконання операцій в процесі роботи основні індекси з інформацією про розподіл даних зберігаються в оперативній пам'яті;
- для виконання операцій чищення реалізований спеціальний складальник сміття, виконуваний у фоні в моменти простою системи;
- підтримується традиційна для UNIX схема розмежування доступу і такі розширені механізми, як [en] і POSIX ACL.
Підтримка файлової системи F2FS включена в ядро Linux починаючи з гілки 3.8.
Див. також
- exFAT — файлова система для флеш-пам'яті і SSD-накопичувачів від Microsoft.
Примітки
- Lee C., Sim D., Hwang J. et al. F2FS: A New File System for Flash Storage // Proceedings of the 13th USENIX Conference on File and Storage Technologies (FAST ’15) — USENIX, 2015. — 397 p. —
- (22 грудня 2012). . . Архів оригіналу за 30 червня 2016. Процитовано 25 травня 2016.
- Changman Lee (3 квітня 2013). . Архів оригіналу за 9 березня 2021. Процитовано 12 лютого 2020.
- Michael Larabel (23 грудня 2019). . Phoronix. Архів оригіналу за 25 січня 2021. Процитовано 7 квітня 2020.
- Michael Larabel (7 квітня 2020). . Phoronix. Архів оригіналу за 29 листопада 2020. Процитовано 7 квітня 2020.
- . Архів оригіналу за 18 січня 2013. Процитовано 21 грудня 2012.
- Samsung открыл код F2FS, новой файловой системы для Flash-накопителей [ 30 листопада 2012 у Wayback Machine.] // opennet.ru. — 05.10.2012.
- index : kernel/git/torvalds/linux.git[недоступне посилання]
Посилання
- Новая файловая система для Flash-накопителей от Samsung и сравнение производительности / lybin // Хабр. — 24.10.2012.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
F2FS angl Flash Friendly File System fajlova sistema oriyentovanoyi na vikoristannya na flesh pam yati v tomu chisli optimalno pridatna dlya SSD nakopichuvachiv kart pam yati eMMC SD i vbudovanih v rizni spozhivchi pristroyi flesh chipiv Sircevij kod F2FS buv vidkritij kompaniyeyu Samsung u zhovtni 2012 pislya chogo doopracovanij inzhenerami Samsung z urahuvannyam zauvazhen spivtovaristva Dodatkovo rozvivayetsya paket f2fs tools sho mistit nabir utilit dlya obslugovuvannya rozdiliv F2FS mkfs f2fs fsck f2fs F2FSRozrobnikSamsung Electronics Motorola Mobility i HuaweiFajlova sistemaFlash Friendly File SystemData predstavlennyav3 8 2012 12 20 Linux StrukturaStruktura direktorijbagatorivneva hesh tablicyaStruktura fajlivbitmap vilnij prostir tablicyaObmezhennyaMaksimalnij rozmir fajlu3 94 TBMaksimum fajlivZalezhit vid rozmiru obsyaguMaksimalna dovzhina imeni fajlu512 bajtMaksimalnij rozmir tomu16 TBMozhlivostiVlastivostimodifikaciya mtime modifikaciya atributa ctime dostup atime Tochnist zberezhennya dati1 nsAtributiPOSIX rozshireni atributiPrava dostupuPOSIX ACLFonova kompresiyaLZO LZ4 vid Linux 5 6 zstd vid Linux 5 7 Fonove koduvannyaNayavnePidtrimuyetsya OSLinux i Android F2FS rozroblena specialno z urahuvannyam specifiki flesh pam yati i vrahovuye taki osoblivosti yak nezminnij chas dostupu i obmezhenij resurs z chisla perezapisu danih Z osoblivostej F2FS mozhna vidiliti zberigannya struktur danih organizovano u formi logu a pri onovlenni informaciyi vikoristovuyetsya pidhid Copy on Write pri yakomu pri zmini dani ne perezapisuyutsya a zberigayutsya v novomu misci Pri comu dlya znizhennya znosu flesha dani po mozhlivosti rozpodilyayutsya rivnomirno zvodyachi do minimumu povtornij zapis v odni i ti zh bloki Dlya cogo vikoristovuyetsya algoritm poslidovnogo zapovnennya nakopichuvacha pri yakomu novi dani zavzhdi zapisuyutsya tilki v oblasti nastupni pislya vzhe zapisanih danih bez oglyadki na mozhlivu fragmentaciyu Pislya dosyagnennya kincya rozdilu zapis pochinayetsya z pochatku zajmayuchi v miru mozhlivostej zvilneni bloki Dlya viklyuchennya konfliktiv z logikoyu kontrolera nakopichuvacha v F2FS vrahovuyetsya specifika roboti prosharku FTL Flash Translation Layer sho vikonuye na bagatoh nakopichuvachah podibnu zadachu z rivnomirnogo zapovnennya dlya zabezpechennya cilisnosti vikoristovuyetsya model z fiksaciyeyu kontrolnih tochok i mozhlivistyu vidkotu zmin roll back u razi problem Dlya adaptaciyi F2FS do riznih vidiv flesha yaki vidriznyayutsya svoyimi harakteristikami v zalezhnosti vid vnutrishnoyi geometriyi i shemi upravlinnya peredbachenij shirokij spektr parametriv dlya upravlinnya strukturoyu rozpodilu danih v rozdili i nadana mozhlivist viboru riznih algoritmiv ochishennya i vidilennya blokiv rozdil F2FS formuyetsya iz segmentiv rozmirom 2 Mb segmenti grupuyutsya v sekciyi yaki v svoyu chergu ob yednuyutsya v zoni u procesi rozrobki F2FS vrahovani problemi ranishe dostupnih specializovanih fajlovih sistem na osnovi struktur u formi logu i dokladeno vsih zusil dlya usunennya vidomih nedolikiv takih yak velike spozhivannya pam yati i visoki nakladni vitrati pri vikonanni operacij ochishennya fajlova sistema F2FS zahishena vid efektu snigovoyi lavini sho proyavlyayetsya dlya Wandering derev u situaciyi koli zamist perezapisu stvoryuyutsya novi elementi zminyuyetsya nomer bloku dlya derev v yakih batkivskij vuzol posilayetsya na dochirni vuzli zmina vuzla privodit do perebudovi vsih visherozmishenih vuzliv dlya priskorennya vikonannya operacij v procesi roboti osnovni indeksi z informaciyeyu pro rozpodil danih zberigayutsya v operativnij pam yati dlya vikonannya operacij chishennya realizovanij specialnij skladalnik smittya vikonuvanij u foni v momenti prostoyu sistemi pidtrimuyetsya tradicijna dlya UNIX shema rozmezhuvannya dostupu i taki rozshireni mehanizmi yak en i POSIX ACL Pidtrimka fajlovoyi sistemi F2FS vklyuchena v yadro Linux pochinayuchi z gilki 3 8 Div takozhexFAT fajlova sistema dlya flesh pam yati i SSD nakopichuvachiv vid Microsoft PrimitkiLee C Sim D Hwang J et al F2FS A New File System for Flash Storage Proceedings of the 13th USENIX Conference on File and Storage Technologies FAST 15 USENIX 2015 397 p ISBN 978 1 931971 20 1 d Track Q60496372d Track Q2141768d Track Q60496355 22 grudnya 2012 Arhiv originalu za 30 chervnya 2016 Procitovano 25 travnya 2016 Changman Lee 3 kvitnya 2013 Arhiv originalu za 9 bereznya 2021 Procitovano 12 lyutogo 2020 Michael Larabel 23 grudnya 2019 Phoronix Arhiv originalu za 25 sichnya 2021 Procitovano 7 kvitnya 2020 Michael Larabel 7 kvitnya 2020 Phoronix Arhiv originalu za 29 listopada 2020 Procitovano 7 kvitnya 2020 Arhiv originalu za 18 sichnya 2013 Procitovano 21 grudnya 2012 Samsung otkryl kod F2FS novoj fajlovoj sistemy dlya Flash nakopitelej 30 listopada 2012 u Wayback Machine opennet ru 05 10 2012 index kernel git torvalds linux git nedostupne posilannya PosilannyaNovaya fajlovaya sistema dlya Flash nakopitelej ot Samsung i sravnenie proizvoditelnosti lybin Habr 24 10 2012