F2FS | |
---|---|
Udvikler | Kim Hae Geuk (Kim Jaegeuk, Kor. 김재극 ), Samsung Electronics , Motorola Mobility , Huawei og Google |
Filsystem | Flash - venligt filsystem |
Indsendelsesdato | februar 2013 [1] ( Linux ) |
Struktur | |
Mappeindhold | Multilevel hash tabel |
Filplacering | Bitfelter (fri plads), tabel |
Begrænsninger | |
Maksimal filstørrelse | 3,94 TB |
Maksimalt antal filer | Afhænger af volumen størrelse |
Maksimal filnavnlængde | 255 bytes, 512 unicode til volumetiket |
Maksimal volumenstørrelse | 16 TB |
Evner | |
Ejendomme | ændringstid (mtime), attributændringstid (ctime), adgangstid (atime) |
Datolagringsnøjagtighed | 1 ns |
Egenskaber | POSIX udvidede attributter (xattrs) |
Adgangsrettigheder | POSIX , ACL |
Baggrundskomprimering | LZO, LZ4, zstd |
Baggrundskryptering | Ja [2] |
OS understøttet | Linux og Android |
F2FS ( engelsk Flash-Friendly File System ) er et filsystem fokuseret på at bruge flash-hukommelse , herunder til brug med SSD til servere og personlige computere, med hukommelseskort ( eMMC / SD ) og med indbyggede forskellige forbrugerenheder flash-chips.
Forfatteren er Samsung -udvikler Kim Jaegeuk (Kim Jaegeuk, Kor. 김재극 ). Systemets kildekode blev åbnet af Samsung i oktober 2012 [3] [4] , hvorefter den blev færdiggjort af Samsungs ingeniører under hensyntagen til fællesskabets kommentarer.
F2FS-understøttelse har været inkluderet i Linux-kernen siden version 3.8 [5] . Sideløbende udvikles f2fs-tools-pakken, som indeholder et sæt hjælpeprogrammer til at servicere F2FS-partitioner (mkfs.f2fs, fsck.f2fs).
Designet specifikt til flashhukommelsens specifikationer og tager højde for funktioner som en konstant adgangstid og en begrænset ressource til antallet af dataomskrivningscyklusser .
Opbevaring af datastrukturer er organiseret i form af et LSM-træ , ved opdatering af information anvendes kopi-på-skriv- mekanismen - ved ændring overskrives dataene ikke, men gemmes på en ny placering. For at fremskynde udførelsen af operationer under arbejdet gemmes indekser med information om distributionen af data i RAM . Systemdriftsskemaet er rettet mod at forlænge levetiden af flashdrev under hensyntagen til den interne geometri af placeringen af chipsene i bæreren og betjeningen af controlleren; data fordeles så jævnt som muligt, hvilket minimerer gentagen skrivning til de samme blokke. Til dette formål anvendes en sekventiel lagringsalgoritme, hvor nye data altid kun skrives i områderne efter de tidligere registrerede data, uden hensyn til eventuel fragmentering. Efter at have nået slutningen af lydstyrken, starter optagelsen fra begyndelsen og optager om muligt de frigjorte blokke. For at eliminere konflikter med drevcontrollerlogikken tager F2FS højde for detaljerne i FTL-laget ( Flash Translation Layer ), som udfører en lignende opgave med ensartet fyldning på mange drev. For at tilpasse F2FS til forskellige typer flash-drev, som adskiller sig i deres egenskaber afhængigt af den interne geometri og kontrolskema, er en bred vifte af parametre tilvejebragt for at kontrollere strukturen af datafordelingen i partitionen og muligheden for at vælge forskellige algoritmer til rydning og bloktildeling er givet.
Systemet er beskyttet mod den "sneboldeffekt", der viser sig ved brug af vandrende træer ( vandrende træ ): i en situation, hvor nye elementer oprettes i stedet for omskrivning (bloknummeret ændres), for træer, hvor forældreknuden refererer til barnet noder, fører ændring af noden til genopbygning af alle opstrøms noder. Systemet har brug for en skraldeopsamler, der kører i baggrunden, når systemet er inaktivt.
For at sikre integriteten anvendes en model med fiksering af udførelsespunkter og mulighed for at rulle ændringer tilbage ( engelsk rollback ) for at gemme point i tilfælde af problemer.
F2FS-partitionen er dannet af 2 MB segmenter, segmenterne er grupperet i sektioner, som igen er kombineret i zoner.
Både det traditionelle Unix -adgangskontrolskema er understøttet, såvel som avancerede mekanismer såsom xattr og POSIX ACL .
Fra GRUB 2.04 (5. juli 2019) er det muligt at bruge en F2FS-partition som bootbar. For tidligere versioner skulle du oprette en separat opstartspartition på ext4 eller andre filsystemer understøttet af GRUB.
Filsystemer ( liste , sammenligning ) | |||||||
---|---|---|---|---|---|---|---|
Disk |
| ||||||
Distribueret (netværk) | |||||||
Særlig |
|