UBIFS - UBIFS
| Dezvoltatori | Nokia cu ajutorul Universității din Szeged |
|---|---|
| Numele complet | Sistem de fișiere imagine blocat nesortat |
| Introdus | 2008 cu kernel-ul Linux 2.6.27 |
| Structuri | |
| Conținut director | B + copaci |
| Limite | |
| Caracterele permise în numele fișierelor | Orice octet, cu excepția NUL și slash înainte "/" |
| Caracteristici | |
| Furci | da |
| Atribute | da |
| Permisiuni de sistem de fișiere | POSIX |
| Compresie transparentă | da |
| Alte | |
| Sisteme de operare acceptate | Linux |
UBIFS ( UBI File System , mai complet Unsorted Block Image File System ) este un sistem de fișiere flash pentru dispozitive de memorie flash neadministrate . UBIFS funcționează deasupra unui strat UBI (imagine bloc nesortată), care este el însuși deasupra unui strat de dispozitiv de tehnologie de memorie (MTD). Sistemul de fișiere este dezvoltat de inginerii Nokia cu ajutorul Universității din Szeged , Ungaria. Dezvoltarea a început serios în 2007, cu prima versiune stabilă realizată în nucleul Linux 2.6.27 în octombrie 2008.
Două diferențe majore între UBIFS și JFFS2 sunt că UBIFS acceptă cache-ul de scriere, iar UBIFS greșește pe partea pesimistă a calculului spațiului liber. UBIFS tinde să funcționeze mai bine decât JFFS2 pentru dispozitivele mari NAND FLASH. Aceasta este o consecință a obiectivelor de proiectare UBIFS: montare mai rapidă, acces mai rapid la fișiere mari și viteze de scriere îmbunătățite. UBIFS păstrează sau îmbunătățește, de asemenea , compresia, recuperabilitatea și toleranța la întreruperea alimentării JFFS2 . Compresia de date UBIFS on-the-fly permite zlib ( algoritmul de dezumflare ), LZO sau Zstandard .
UBIFS stochează indexurile în flash, în timp ce JFFS2 stochează indexurile sistemului de fișiere în memorie. Acest lucru are un impact direct asupra scalabilității JFFS2, deoarece tabelele trebuie reconstruite de fiecare dată când volumul este montat. De asemenea, tabelele JFFS2 pot consuma suficientă memorie RAM de sistem încât unele imagini să fie inutilizabile.
UBI
UBI ( Unsorted Block Images ) este un strat de gestionare a blocurilor de ștergere pentru dispozitivele de memorie flash . UBI servește două scopuri, urmărirea blocurilor rele NAND flash și asigurarea nivelării uzurii . Nivelarea la uzură răspândește ștergerile și scrie pe întregul dispozitiv flash. UBI prezintă blocuri de ștergere logică la straturi superioare și le mapează la blocuri de ștergere fizică. UBI a fost scris special pentru UBIFS, astfel încât UBIFS să nu aibă de-a face cu nivelarea uzurii și blocajele negative. Cu toate acestea, UBI poate fi util și cu squashfs și NAND flash; squashfs nu este conștient de blocările NAND flash rău.
Documentația UBI explică faptul că nu este un strat de traducere flash complet (FTL). Deși un FTL gestionează, de asemenea, blocurile defecte și nivelarea uzurii, interfața pe care o oferă un FTL este un dispozitiv bloc cu sectoare mici (de obicei 512 octeți) care pot fi scrise complet independent. În schimb, interfața UBI expune direct blocurile de ștergere și paginile programabile (care sunt de dimensiuni diferite și mult mai mari decât sectoarele tipice ale dispozitivelor de blocuri), iar sistemele de fișiere care utilizează UBI trebuie să fie conștiente de dimensiunile și restricțiile privind modul în care blocurile trebuie șterse înainte de a fi scrise .
UBI este, în anumite privințe, similar cu un Logical Volume Manager . În utilizarea obișnuită, mai degrabă decât partiționarea blițului în regiuni fixe, un singur dispozitiv UBI se întinde pe întregul bliț (cu excepția probabil a câtorva pagini în locații fixe rezervate pentru bootloader) și se creează mai multe volume în dispozitivul UBI. Acest lucru permite distribuirea nivelului de uzură pe întregul bliț, chiar dacă unele volume sunt scrise mai frecvent decât altele. Volumele UBI pot fi statice (care conțin un fișier întreg sau o imagine scrisă o dată și protejate de CRC-32 de UBI) sau dinamice (care conțin un sistem de fișiere de citire-scriere care este responsabil pentru propria sa integritate a datelor). Singurul sistem de fișiere care acceptă în mod direct UBI este UBIFS, dar folosind gluebieste posibilă emularea unui dispozitiv MTD, care poate fi apoi utilizat pentru a rula alte sisteme de fișiere flash, cum ar fi JFFS2 și YAFFS, și folosind ubiblkeste posibilă emularea dispozitivelor bloc, care pot rula sisteme de fișiere comune, cum ar fi Ext4.
Fastmap
UBI a fost mărit în Linux 3.7 cu suport pentru fastmap. Fastmap menține o versiune pe disc a informațiilor create anterior în memorie prin scanarea întregului dispozitiv flash. Codul revine la mecanismul anterior al unei scanări complete privind eșecurile, iar sistemele UBI mai vechi vor ignora pur și simplu informațiile de mapare rapidă.
Vezi si
Referințe
linkuri externe
- pagina principala
- Universitatea din Szeged: UBIFS
- Experimente UBIFS pe laptopul XO ( un laptop pe copil )
- Sistem de fișiere UBIFS