2011年10月18日火曜日

UBIFS使ってみた その1

約1年ぶりの更新です。

1年前に腰を壊して以来、ずーっと放置してました(-_-;)
おかげで、英英辞典のやつは3日坊主になってますね・・・。

ぼちぼちゆっくりと更新していきまする。

 

さて、表題のUBIFSの話。

UBIFSはUBI専用のファイルシステムで、
”UBIFS may be considered as the next generation of the JFFS2 file-system.”
多分JFFS2の次の世代(後継と読んだ方がいいのかな?)になると考えてるらしい、MTD (Memory Technology Device) 用のファイルシステムです。

ではUBIとは何か?というと、”Unsorted Block Images”の略で、MTDと各ファイルシステムの間に入って、データを順番にではなく色んな場所に分けて書き込み(ウェアレベリング)をしてくれるものです。

Flash Memoryって簡単に言うと、コンデンサの周りを絶縁体で固めて漏電しないようにした物の集合体みたいなもので、書き込みする時は電子を貫通させてるんですね。
何回も貫通させてると劣化して書きこめなくなっちゃうんです。
同じところばっかり書き換えしていると、部分的に劣化してしまったりします。

よくPCで使用されているFATやNTFS等は部分的に壊れて(bad block)読めなくなってしまうと、他の様々なファイルも読めなくなっちゃいます。

SSD等は中に入ってるコントローラがウェアレベリングしてくれてるので大丈夫なんですが、NANDをそのまま使う組込の世界では、ファイルシステムで吸収してあげないといけないのですね。

そこで生まれたのがJFFS2やYAFFS2といったウェアレベリング対応のファイルシステムで、UBIはその機能をMTDとファイルシステムの間に入れることで、どんなファイルシステムでも使えるようにしよう!としたもの・・・だと思います。

でもFTLじゃないよ!!”UBI is not a Flash Translation Layer” って公式の説明には書いてありましたw

↓ は公式サイトにあるDocumentから持ってきた図。

ubi

 

困った事に、簡単な説明を書いただけで随分と長めの文章になってしまったので、使い方等は明日書こうかなと思います。

備忘録になるので忘れずに!
意外と過去の自分の記事って自分に役立つなぁって開発中に思いました。

0 件のコメント:

コメントを投稿