UBIFS ( engelsk Unsorted Block Image File System, UBIFS ) er et filsystem med usorterede blokke. Det er efterfølgeren til JFFS2 og en konkurrent til LogFS som et filsystem til brug med NAND -flashdrev . Udviklingen begyndte i 2007, med den første stabile udgivelse i Linux -kernen 2.6.27 i oktober 2008. Filsystemet er udviklet af Nokias ingeniører med deltagelse af medarbejdere fra University of Szeged .
UBIFS kører oven på en usorteret blokvolumen, som selv kører oven på MTD storage , da MTD ikke kan bruges direkte. De to vigtigste forskelle mellem UBIFS og JFFS2 er, at UBIFS understøtter skrive-caching , og UBIFS tager højde for pessimistiske skøn over ledig plads. UBIFS har en tendens til at præstere bedre end JFFS2 på store NAND-flash-enheder. Dette er en konsekvens af systemets designmål: hurtig montering [1] , hurtig adgang til store filer og forbedret skrivehastighed. UBIFS udkonkurrerer også JFFS2 i inline-komprimering, datagendannelse og immunitet mod strømsvigt. On-the-fly datakomprimering i UBIFS understøtter Zlib ( Deflate ) eller LZO algoritmer .
JFFS2 gemmer filsystemindekser i hukommelsen, mens UBIFS gemmer indekser i flashhukommelse. Dette påvirker direkte skalerbarheden af JFFS2, da tabeller skal genopbygges hver gang et volumen monteres. JFFS2-tabeller kan også forbruge meget RAM , så nogle mængder kan blive ubrugelige.
UBI - volumenet ( Usorted Block Images) er sletteblokadministrationslaget for NAND-enheder. UBI tjener to formål: at holde styr på dårlige NAND-blokke og sørge for slidudjævning. Slidudjævnings-"udtværinger" sletter og skriver over hele enheden, og UBI udsætter logiske sletteenheder for højere niveauer og kort over disse fysiske sletteenheder. Laget er skrevet specielt til UBIFS, så det ikke skal håndtere slidudjævning og dårlig blokkontrol. UBI kan dog også være nyttig for CramFS, da CramFS ikke kender til dårlige blokke.
UBI blev tilføjet i Linux 3.7 med understøttelse af hurtige kort (FastMap). FastMap opdaterer oplysningerne på disken, der tidligere er oprettet i hukommelsen, ved at scanne hele enheden. Algoritmekoden falder tilbage til den tidligere fulde scanningsmekanisme ved fejl. Ældre versioner af UBI-systemet vil blot ignorere FastMap-oplysningerne.
Udgivelsen af Linux-kernen version 4.0 dateret 13. april 2015 giver understøttelse af bloklaget blk-mq ( eng. multiqueue block layer ) med en multi-level kømodel, designet til at organisere multi-threaded adgang til data på multi-core systemer og giver dig mulighed for effektivt at bruge mulighederne i moderne SSD-drev . Understøttelse af "security.*" udvidede attributter er også blevet tilføjet.