JFFS - JFFS
| Dezvoltatori | Axis Communications |
|---|---|
| Numele complet | Jurnalizarea sistemului de fișiere Flash |
| Alte | |
| Sisteme de operare acceptate | Linux |
Journaling Flash System File (sau JFFS ) este un sistem de fișiere structurat log pentru utilizarea pe NOR memorie flash dispozitive de pe Linux sistem de operare. A fost înlocuit de JFFS2 .
Proiecta
Memoria flash (în mod specific flash-ul NOR ) trebuie ștearsă înainte de scriere. Procesul de ștergere are mai multe limitări:
- Radierea este foarte lent (tipic 1-100 ms per bloc de ștergere, care este de 10 3 -10 5 ori lent decât citirea datelor din aceeași regiune).
- Este posibilă ștergerea blițului numai pe segmente mari (de obicei 64 KiB sau mai mult), în timp ce poate fi citit sau scris în blocuri mai mici (adesea 512 octeți).
- Memoria flash poate fi ștearsă doar de un număr limitat de ori (de obicei 10 3 –10 6 ) înainte de a fi uzată.
Aceste constrângeri se combină pentru a produce o asimetrie profundă între modelele de acces de citire și scriere la memoria flash. În schimb, unitățile de disc magnetice oferă acces de citire și scriere aproape simetric: viteza de citire și viteza de scriere sunt aproape identice (deoarece ambele sunt constrânse de viteza cu care se rotește discul), este posibil să citești și să scrii blocuri sau sectoare mici (de obicei 512 sau 4096 octeți) și nu există nicio limită practică a numărului de ori în care suportul magnetic poate fi scris și rescris.
Sistemele de fișiere tradiționale, cum ar fi ext2 sau FAT, care au fost concepute pentru a fi utilizate pe suport magnetic, își actualizează de obicei structurile de date la locul lor, cu structuri de date precum inoduri și directoare actualizate pe disc după fiecare modificare. Această lipsă concentrată de nivelare a uzurii face ca sistemele de fișiere convenționale să nu fie adecvate pentru utilizarea în citire-scriere pe dispozitivele flash.
JFFS impune nivelarea uzurii tratând dispozitivul bliț ca un jurnal circular. Toate modificările aduse fișierelor și directoarelor sunt scrise în coada nodurilor de conectare . În fiecare nod, se scrie mai întâi un antet care conține metadate, urmat de date de fișiere, dacă există. Nodurile sunt înlănțuite împreună cu pointeri offset în antet. Nodurile încep ca valabile și apoi devin învechite atunci când este creată o versiune mai nouă a acestora.
Spațiul liber rămas în sistemul de fișiere este decalajul dintre coada jurnalului și capul acestuia. Când aceasta scade, un colector de gunoi copiază noduri valide din cap în coadă și le omite pe cele învechite, recuperând astfel spațiul.
Dezavantaje
- La momentul montării, driverul sistemului de fișiere trebuie să citească întregul lanț de inod și apoi să îl păstreze în memorie. Acest lucru poate fi foarte lent. Consumul de memorie al JFFS este, de asemenea, proporțional cu numărul de fișiere din sistemul de fișiere.
- Proiectarea jurnalului circular înseamnă că toate datele din sistemul de fișiere sunt rescrise, indiferent dacă sunt statice sau nu. Acest lucru generează multe cicluri de ștergere inutile și reduce durata de viață a mediului bliț.
Vezi si
Referințe
Surse
- Woodhouse, David. "JFFS2: Sistemul de fișiere Flash Journalling, versiunea 2" . Sources.Redhat.com .