2009-03-18 12 views
9

私は、ストレージにNANDフラッシュを使用する組み込みアプリケーションの開発を進めています。 今のところ、Linuxやその他のRTOSは使用しません。アプリケーションは予期せぬパワーダウンを処理する必要があります。組み込みNANDドライブに適したファイルシステムとは何ですか?

私たちは、YAFFS2、JFFS2、FAT + FTL、およびHCC Embeddedのソリューションを含むさまざまなファイルシステムソリューションを検討してきました。

私はFAT + FTLが普通の選択だと聞いたことがありますが、予期しないパワーダウンやパフォーマンスが発生した場合のデータ損失が心配です。誰もがこのことについて洞察と経験を分かち合うことができれば感謝します

+1

更新:私たちはYAFFS2と一緒に行きました。ドキュメントは存在しませんが、大きな問題ではありません。コードは読みやすいとはっきりしています。また、チャールズ・マニングの良いサポートがあります。 –

答えて

8

FAT-FTLは「通常の選択」ですが、必ずしも良い選択ではありません。 YAFFS2はJFFS2より新しいもので、大型NANDの方が高速で拡張性が高いようです。 This presentation of the "Embedded Linux Conference Europe"は、これら2つのフラッシュファイルシステムと他のフラッシュファイルシステムを比較します。

もう1つの解決策はLogFSです(注:ログは対数であり、ログ構造ではありません)。もっとスケーラブルでなければならないが、私はそれがどれほど縫合されているか分からない。

+0

ありがとう、それは興味深いプレゼンテーションです。私が読んだところでは、LogFSは生産の準備ができていないようです。 –

2

堅牢なフラッシュファイルシステムを提供する商用ベンダーDataLightがありますが、もちろん無料ではありません。

彼らは公演で面白いwhite paper (PDF)(塩の穀物を取る)を持っています。

6

UBIFSがあります。私が知っている唯一の実装は、Linuxカーネルにあり、LinuxカーネルのUBIインタフェースに依存します。しかし、基本的なアルゴリズムは、使用している環境に関係なく、あまり問題なく実装可能でなければなりません。生産準備の面では、ノキアはN900スマートフォンでUBIFSを使用しており、SheevaPlugに基づくプラグインもサポートしています。 Linuxの実装が信頼できるものであることが判明しました。 JFFS2とは異なり、UBIFSは起動時にファイルシステム全体を読み取る必要はありません。

Linuxを使用すると、UBIFSを使用するほうがずっと簡単になるので、「Linuxなし」の決定を再検討したいかもしれません。