F2FS

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 .

Jellemzők

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.

Jegyzetek

  1. Új F2FS fájlrendszer letöltése Jaegeuk Kimtől Archiválva : 2016. június 30. a Linus Torvalds által egyesített Wayback Machine -nél
  2. Jaegeuk Kim. f2fs frissítések a 4.2 -es verzióhoz (2015. június 24.). Letöltve: 2020. október 7. Az eredetiből archiválva : 2016. január 17.
  3. Ez egy új javításkészlet az f2fs fájlrendszerhez . Archiválva : 2013. január 18. a Wayback Machine -nél , LKML, 2012-10-05
  4. A Samsung megnyitotta az F2FS kódot, a flash meghajtók új fájlrendszerét. Archiválva : 2021. április 18. a Wayback Machine -en // opennet.ru , 2012.10.05.
  5. A Linux 3.8 kernel az F2FS , OpenNET fájlrendszert fogja tartalmazni . Archiválva : 2020. október 12. Letöltve: 2020. október 7.

Linkek