F2FS | |
---|---|
Fejlesztő | Kim Hae Geuk (Kim Jaegeuk, Kor. 김재극 ), Samsung Electronics , Motorola Mobility , Huawei és Google |
Fájlrendszer | Flash - Barátságos fájlrendszer |
Benyújtás dátuma | 2013. február [1] ( Linux ) |
Szerkezet | |
Mappa tartalma | Többszintű hash tábla |
Fájl elhelyezése | Bitmezők (szabad hely), táblázat |
Korlátozások | |
Maximális fájlméret | 3,94 TB |
Fájlok maximális száma | A kötet méretétől függ |
A fájlnév maximális hossza | 255 bájt, 512 unicode a kötetcímke számára |
Maximális kötetméret | 16 TB |
Képességek | |
Tulajdonságok | módosítási idő (mtime), attribútumváltási idő (ctime), hozzáférési idő (atime) |
Dátumtárolási pontosság | 1 ns |
Attribútumok | POSIX kiterjesztett attribútumok (xattrs) |
Hozzáférési jogok | POSIX , ACL |
Háttértömörítés | LZO, LZ4, zstd |
Háttér titkosítás | igen [2] |
OS támogatott | Linux és Android |
Az F2FS ( angol Flash-Friendly File System ) egy flash memória használatára összpontosító fájlrendszer , beleértve a szerverek és személyi számítógépek SSD -vel való használatát , memóriakártyákkal ( eMMC / SD ) és beépített különféle fogyasztói eszközök flash chipekkel.
A szerző a Samsung fejlesztője, Kim Jaegeuk (Kim Jaegeuk, Kor. 김재극 ). A rendszer forráskódját a Samsung 2012 októberében nyitotta meg [3] [4] , ezt követően a Samsung mérnökei véglegesítették a közösség észrevételeit figyelembe véve.
Az F2FS támogatás a 3.8-as verzió óta szerepel a Linux kernelben [5] . Ezzel párhuzamosan folyik az f2fs-tools csomag fejlesztése, amely egy sor segédprogramot tartalmaz az F2FS partíciók kiszolgálására (mkfs.f2fs, fsck.f2fs).
Kifejezetten a flash memória sajátosságaihoz tervezték, és figyelembe veszi az olyan jellemzőket, mint az állandó hozzáférési idő és az adat -újraírási ciklusok számának korlátozott erőforrása .
Az adatstruktúrák tárolása LSM fa formájában van megszervezve, az információk frissítésénél a másolás írásra mechanizmust alkalmazzák - változtatáskor az adatok nem felülíródnak, hanem új helyen tárolódnak. A munkafolyamat során a műveletek végrehajtásának felgyorsítása érdekében az adatok elosztására vonatkozó információkat tartalmazó indexeket a RAM -ban tárolják . A rendszer működési sémája a flash meghajtók élettartamának meghosszabbítását célozza, figyelembe véve a chipek hordozóban való elhelyezkedésének belső geometriáját és a vezérlő működését; az adatok a lehető legegyenletesebben oszlanak el, minimalizálva az ugyanazon blokkokra történő ismételt írást. Erre a célra egy szekvenciális tárolási algoritmust használnak, amelyben mindig csak a korábban rögzített adatokat követő területekre írnak új adatokat, figyelmen kívül hagyva az esetleges töredezettséget. A kötet végére érve a felvétel elölről kezdődik, lehetőség szerint elfoglalva a felszabaduló blokkokat. A meghajtóvezérlő logikájával való ütközések kiküszöbölése érdekében az F2FS figyelembe veszi az FTL ( Flash Translation Layer ) réteg sajátosságait, amely sok meghajtón hasonló feladatot lát el az egységes kitöltéssel. Az F2FS különféle típusú flash meghajtókhoz való hozzáigazítása érdekében, amelyek jellemzőik a belső geometriától és vezérlési sémától függően különböznek egymástól, a paraméterek széles skálája biztosítja a partíció adatelosztási szerkezetének vezérlését és a törlési algoritmusok kiválasztásának lehetőségét. és blokkkiosztás biztosított.
A rendszer védett a „hógolyó-effektustól”, amely vándorfák (vándorfa) használatakor jelentkezik : olyan helyzetben , amikor az átírás helyett új elemek jönnek létre (a blokkszám megváltozik), olyan fákhoz, amelyekben a szülő csomópont gyermekre utal csomópontok, a csomópont megváltoztatása az összes upstream csomópont újjáépítéséhez vezet. A rendszernek szüksége van egy szemétgyűjtőre , amely a háttérben fut, amikor a rendszer tétlen.
Az integritás biztosítása érdekében olyan modellt használnak, amely rögzíti a végrehajtási pontokat, és lehetővé teszi a változtatások visszaállítását ( angolul rollback ), hogy problémák esetén pontokat menthessenek el.
Az F2FS partíció 2 MB-os szegmensekből áll, a szegmensek szekciókba vannak csoportosítva, amelyek viszont zónákká egyesülnek.
Mind a hagyományos Unix hozzáférés-vezérlési séma támogatott, mind a fejlett mechanizmusok, például az xattr és a POSIX ACL .
A GRUB 2.04-től (2019. július 5.) kezdődően lehetőség van egy F2FS partíció használatára indíthatóként. A korábbi verziókhoz külön rendszerindító partíciót kellett létrehozni ext4 -en vagy más, a GRUB által támogatott fájlrendszereken.
Fájlrendszerek ( lista , összehasonlítás ) | |||||||
---|---|---|---|---|---|---|---|
Korong |
| ||||||
Elosztott (hálózat) | |||||||
Különleges |
|