F2FS | |
---|---|
Dezvoltator | Kim Hae Geuk (Kim Jaegeuk, Kor. 김재극 ), Samsung Electronics , Motorola Mobility , Huawei și Google |
Sistemul de fișiere | Flash - Sistem de fișiere prietenos |
Data depunerii | Februarie 2013 [1] ( Linux ) |
Structura | |
Conținutul folderului | Tabel hash pe mai multe niveluri |
Plasarea fișierului | Câmpuri de biți (spațiu liber), Tabel |
Restricții | |
Dimensiunea maximă a fișierului | 3,94 TB |
Numărul maxim de fișiere | Depinde de dimensiunea volumului |
Lungimea maximă a numelui fișierului | 255 de octeți, 512 unicode pentru eticheta de volum |
Dimensiunea maximă a volumului | 16 TB |
Capabilități | |
Proprietăți | timpul de modificare (mtime), timpul de schimbare a atributului (ctime), timpul de acces (atime) |
Precizia stocării datei | 1 ns |
Atribute | Atribute extinse POSIX (xattrs) |
Drepturi de acces | POSIX , ACL |
Comprimarea fundalului | LZO, LZ4, zstd |
Criptare în fundal | Da [2] |
Sistem de operare acceptat | Linux și Android |
F2FS ( English Flash-Friendly File System ) este un sistem de fișiere axat pe utilizarea memoriei flash , inclusiv pentru utilizarea cu SSD pentru servere și computere personale, cu carduri de memorie ( eMMC / SD ) și cu cipuri flash încorporate pentru diverse dispozitive de consum.
Autorul este dezvoltatorul Samsung Kim Jaegeuk (Kim Jaegeuk, Kor. 김재극 ). Codul sursă al sistemului a fost deschis de Samsung în octombrie 2012 [3] [4] , după care a fost finalizat de inginerii Samsung, ținând cont de comentariile comunității.
Suportul F2FS a fost inclus în nucleul Linux începând cu versiunea 3.8 [5] . În paralel, se dezvoltă pachetul f2fs-tools, care conține un set de utilități pentru deservirea partițiilor F2FS (mkfs.f2fs, fsck.f2fs).
Proiectat special pentru specificul memoriei flash și ia în considerare caracteristici precum un timp de acces constant și o resursă limitată pentru numărul de cicluri de rescriere a datelor .
Stocarea structurilor de date este organizată sub forma unui arbore LSM , la actualizarea informațiilor, se utilizează mecanismul de copiere la scriere - la modificare, datele nu sunt suprascrise, ci stocate într-o nouă locație. Pentru a accelera execuția operațiunilor în procesul de lucru, în RAM sunt stocați indici cu informații despre distribuția datelor . Schema de funcționare a sistemului are ca scop extinderea duratei de viață a unităților flash, ținând cont de geometria internă a locației cipurilor în purtător și de funcționarea controlerului; datele sunt distribuite cât mai uniform posibil, minimizând scrierea repetată în aceleași blocuri. În acest scop, se utilizează un algoritm de stocare secvenţială, în care datele noi sunt întotdeauna scrise numai în zonele care urmează datelor înregistrate anterior, fără a ţine cont de posibila fragmentare. După ce se ajunge la sfârșitul volumului, înregistrarea începe de la început, ocupând, dacă este posibil, blocurile eliberate. Pentru a elimina conflictele cu logica controlerului unității, F2FS ia în considerare specificul stratului FTL ( Flash Translation Layer ), care îndeplinește o sarcină similară de umplere uniformă pe multe unități. Pentru a adapta F2FS la diferite tipuri de unități flash, care diferă în caracteristicile lor în funcție de geometria internă și schema de control, este furnizată o gamă largă de parametri pentru a controla structura distribuției datelor în partiție și capacitatea de a selecta diferiți algoritmi pentru ștergere. iar alocarea blocurilor este oferită.
Sistemul este protejat de „efectul de bulgăre de zăpadă” care se manifestă atunci când se utilizează arbori rătăcitori ( copac rătăcitor ): într-o situație în care sunt create elemente noi în loc de rescriere (numărul blocului se modifică), pentru arbori în care nodul părinte se referă la copil noduri, schimbarea nodului duce la reconstruirea tuturor nodurilor din amonte. Sistemul are nevoie de un colector de gunoi care rulează în fundal atunci când sistemul este inactiv.
Pentru a asigura integritatea, se folosește un model cu puncte de execuție de fixare și capacitatea de a derula înapoi modificările (în engleză rollback ) pentru a salva puncte în caz de probleme.
Partiția F2FS este formată din segmente de 2 MB, segmentele sunt grupate în secțiuni, care la rândul lor sunt combinate în zone.
Este acceptată atât schema tradițională de control al accesului Unix , cât și mecanisme avansate precum xattr și POSIX ACL .
Începând cu GRUB 2.04 (5 iulie 2019) este posibil să utilizați o partiție F2FS ca bootabilă. Pentru versiunile anterioare, a trebuit să creați o partiție de pornire separată pe ext4 sau alte sisteme de fișiere acceptate de GRUB.
Sisteme de fișiere ( listă , comparație ) | |||||||
---|---|---|---|---|---|---|---|
Disc |
| ||||||
Distribuit (rețea) | |||||||
Special |
|