F2FS

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 .

Funktioner

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.

Noter

  1. Træk nyt F2FS-filsystem fra Jaegeuk Kim Arkiveret 30. juni 2016 på Wayback Machine fusioneret af Linus Torvalds
  2. Jaegeuk Kim. f2fs-opdateringer til v4.2 (24. juni 2015). Hentet 7. oktober 2020. Arkiveret fra originalen 17. januar 2016.
  3. Dette er et nyt patchsæt til f2fs-filsystemet Arkiveret 18. januar 2013 på Wayback Machine , LKML, 2012-10-05
  4. Samsung åbnede koden til F2FS, et nyt filsystem til flashdrev Arkiveret 18. april 2021 på Wayback Machine // opennet.ru , 10/05/2012
  5. Linux 3.8 kernen vil inkludere F2FS , OpenNET filsystemet . Arkiveret 12. oktober 2020. Hentet 7. oktober 2020.

Links