UBIFS: következő generációs flash filerendszer a Nokia és a Szegedi Egyetem munkája nyomán

 ( trey | 2008. március 28., péntek - 19:39 )

A beágyazott rendszerek - mint például a PDA-k, GPS vevők, mobiltelefonok, digitális kamerák - jelentős hányada flash eszközöket használ adattárolásra. A flash adattárolók működése eltér a merevlemezekétől. A mindennapi, általános célú filerendszereket - például a vfat-ot, ntfs-t, ext2/ext3-at, stb. - merevlemezek számára fejlesztették ki. Ezen filerendszerek felhasználása flash adattárolók filerendszereként nem előnyös, mert ha mégis megtesszük, idő előtti elhasználódással és jelentős teljesítménybeli hátránnyal kell számolnunk. A fejlesztők, hogy megkerüljék ezeket a nemkívánatos mellékhatásokat, flash filerendszereket fejlesztettek ki. Napjaink legfejlettebb és legnépszerűbb linuxos flash filerendszere a JFFS2.
Számos trükk és erőfeszítés ellenére a JFFS2 nem használható 512MB-nál nagyobb méretű flash eszközökön. A probléma a filerendszer dizájn szintjén található. Olyan adatstruktúrákat használ, amely kisméretű eszközök esetén ideális, azonban nagyobb eszközök esetén nagymennyiségű memóriát igényel és jelentősen lelassul. Ebből kifolyólag szükség volt egy új flash filerendszer kifejlesztésére.

A Nokia szakemberei a Szegedi Egyetemmel összefogva jelentős erőfeszítéseket tettek annak érdekében, hogy előálljanak egy olyan, flash eszközök számára kifejlesztett filerendszerrel, amely még a JFFS2-nél is jobb tulajdonságokkal rendelkezik. A munka eredményeként megszületett az UBI File System, más néven az UBIFS.

A legfontosabb különbségek a JFFS2 és az UBIFS közt:

JFFS2 UBIFS
Indexelés a flash-en Nincs B+ fa "vándorlási" (wandering) algoritmussal
Indexelés a memóriában Láncolt lista, információt tartalmaz minden node-ról, folyamatosan a memóriában tartja TNC (Tree Node Cache) amely képes zsugorodni, ha a Linux VM-nek memóriára van szüksége
Írási művelet Write through (nincs gyorsítótárazás íráskor) Write back (van gyorsítótárazás íráskor)

Az UBI egy wear-levelling (technika, amely megnöveli egyes törölhető számítógépes adattárolók, például a flash eszközök élettartamát), bad-block lekezelő, kötetkezelő réteg, amely már jelenleg is része a mainline Linux kernelnek. Az UBIFS az UBI felett működik, a kritikus feladatokat - például a szemétgyűjtést (garbage collection) vagy a bad eraseblock lekezelést az UBI-ra bízza.

Az UBIFS-t Artem Bityutskiy jelentette be tegnap az LKML-en. A bejelentésben Artem az UBIFS-t stabil, éles felhasználásra közeli állapotúként jellemezte. Az UBIFS teljesítménye kiváló. Írási műveletek esetén ~ százszor gyorsabb (egyértelműen a gyorsítótárazásnak köszönhetően) a JFFS2-nél, szinkron műveletek esetén pedig nagyjából hozza a JFFS2 sebességét.

Referenciák:
[RFC PATCH] UBIFS - new flash file system
UBIFS: The New Generation Flash File System
UBIFS - UBI File-System
UBIFS FAQ and HOWTO
UBIFS Whitepaper
UBI - Unsorted Block Images
UBI FAQ and HOWTO

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

de vajon ugyanazon eszközön egy merevlemezre kifejlesztett "jó" filerendszerhez (pl XFS, JFS, etc...) képest mennyivel jobb/gyorsabb stb. ...?

probald ki :)

Linux kernel. (Almost) Made in Hungary. :))))

--
trey @ gépház

Világ finnugorjai egyesüljetek!

A finn-magyar rokonság a 60-as években ötlött ki és ugyan akkor kötelezően ez volt az irányvonal, azóta korántsem elfogadott és a mértékadó kutatók sem igazán állítanak konkrétat.

Csak szólok, nehogy így maradjon és egy világkatasztrófa utáni párezredik évben ha valaki kiásná a szervert, ezt lássa.

gondolom a nokia használni is kívánja majd okostelefonjaiban. vajon mennyi időnek kell eltelnie ahhoz, hogy általános támogatással rendelkezzen? más pda, mobil gyártók támogassák, windows támogassa, stb.. Én személy szerint a flash memóriákat eléggé mobil módon kezelem, és elég kellemetlen lenne ha szinte csak a saját készülékemmel lenne kompatibilis...

afaik a memóriakártyaként szerelt flash modulok tartalmaznak hardveres wear-levelinget, tehát azokhoz nem kell speciális fájlrendszer / ubi.

AFAIK csak az SSD diskekben van megvalósítva a hw-s védelem.

wikipedia szerint "Removable flash memory cards and USB flash drives have built-in controllers to perform wear-levelling and error correction so use of a specific flash file system does not add any benefit."

aztán lehet hogy az olcsóbbak nem igazi wear leveling algoritmusokat használnak hanem csak mezei bad block management-et. az viszont tuti, hogy nem olyan lineáris blokk eszköznek látszik ami direktben a belső flash memóriára képződik le. (akkor nem sokáig bírná fat fájlrendszerrel)

Ha beépített, akkor csak a mobilnak kell ismernie. Ha a mobilt csatlakoztatod, akkor is a mobil fogja kezelni, az adja ki az adatokat.

Pont azt probalta megtundni, hogy a nokia mennyire kapja fel, illetve, hogy van e esely ra, hogy a tobbi gyarto is ezt alkalmazza, mert az ilyen modon formazott flash-jet idegen mobilba is betolna (legalabbis en igy ertelmeztem).
A kerdes meg (ha igy ertette) akkor elegge koltoi.

Nekem ugy tunik,hogy amint stabilnak bizonyul, hulye aki nem ezt hasznalja 512Mb felett, rendszer fs -nek erosen limutalt irasszamu eszkozon.

így értettem :) és épp ez az. hogy költői... sajnos az hogy valami jó, sőt: sokkal_jobb még nem jelenti azt hogy viszonylag rövid időn belül (ha egyáltalán) kezelni tudja. a windows-os natív támogatásról meg kár beszélni...

"a windows-os natív támogatásról meg kár beszélni..."

Tényleg, van olyan filerendszer, ami iso szabvány? Bár gondolom nincs. Pedig lenne értelme, csak kérdés, hogy melyiket tennék meg iso szabványnak. Én a mostanában készülő/elkészült általános filerendszerek valamelyikét tenném meg annak, miután stabilizálódnak. (zfs, brtfs, hammerfs) Vélemény?

szvsz nem lenne sok értelme szabványosítani.
vannak többé-kevésbé hordozhatóak már most is, amúgymeg a diverzitásban hiszek.

bár ettől még linuxos zfs port jól esne :)

Mestersegesen generalt igeny :)

---
pontscho / fresh!mindworkz

Tényleg, van olyan filerendszer, ami iso szabvány? Bár gondolom nincs.
Ugy tudtam, hogy a ISO9660 az ISO szabvany. (a CD-k filerendszere)

----
Sooner or later you had to talk, even if it was only because you'd run out of things to throw. - Pratchett
honlap készítés

Tényleg. Csak iso-t nem igazán lehet hagyományos vinyókon rw filerendszerként használni.

miért is kell a windowsos natív?

mert ez a kulcsa a tényleges elterjedésének (a legtöbb felhasználó nem fogja hegesztgetni a gépét). bár ha már a mobiloknál maradunk ha azt akarja rákötni ahhoz is kell driver.

És akkor az ubifs-t az ubuntu fogja először támogatni? Mert milyen jól hangzik már. :)

Gratulalok a szegedi fejlesztoknek! Csak igy tovabb!

Lehet hogy hülye kérdés de ez SSD-kre is vonatkozhat?

Most kaphato SSD vinyokra:
Nem.

Én eddig ubit csak uzsira csomiztam a szenyába. :)

--
Sokan nincsenek tudatában annak, / hogy egyszer mindenki meghal. / Akik ráébrednek erre, / azonnal abbahagyják az ellenségeskedést.

Es suli utan beultel a cukiba mi? :-)

...dumcsizni a havcsikkal...
---
;-(

"nem használható 512MB-nál nagyobb méretű flash eszközökön"
Ezt nem ugy ertettek, hogy retek lassu lesz ? mkfs.jffs2 csinalt nekem nagyobbat.

Hany megatol eri meg UBIFS -t hasznalni, ha mount ido nem erdekel.Memoria hasznalat viszont erdekel.

Lehet -e valami raid0-szeru mukodest elerni ket/tobb chip kozott ?

Valószínűleg igen. Én is utánanáztem, mert nem volt egyértelmű, de nem találtam konkrétat, csak annyit, hogy:

"David Woodhouse has pushed the limit that jffs2 can reasonably used to 512MB, which is the size used in the OLPC XO laptop. If there are ways to get beyond that (which I find unlikely), there will be a hard limit 2GB or 4GB because of limitations in the fs layout."

--
trey @ gépház