フラッシュファイルシステムの特性
ここでは、以下のフラッシュファイルシステムの特性について説明します。
- パフォーマンス
- ガーベジコレクション
- 消去回数の平均化
- 障害復旧
- 容量効果
パフォーマンス
フラッシュファイルシステムのパフォーマンスについては、ハードディスクを使用したファイルシステムとは違う特性があります。
まず、データの読み出しのパフォーマンスですが、たいていの場合はRAMディスクと同程度の速度になります。
フラッシュメモリは読み出しにおいては通常のメモリとして動作することを示しています。
一方、データの書込みのパフォーマンスはフラッシュメモリの状態に強く依存します。
- もっとも速度が出るのは、フラッシュメモリを初期化した直後である。
- そして、最も速度が遅いのはガーベジコレクションを起動する直前の状態のときである。
- これは、空領域がないのでガーベジコレクションを起動しなければならないからである。
このように、フラッシュファイルシステムでは書込みのパフォーマンスは最高から最低までの幅が大きいものとなっています。
実際のフラッシュファイルシステムの運用では、1. と 2. の間で行われるので、典型的な状態をフラッシュメモリ上に作り、パフォーマンスの測定を行う必要があります。
ちなみに、書込み速度はハードディスクよりもずいぶん遅いと言われています。
ガーベジコレクション
ガーベジコレクションはフラッシュファイルシステムのパフォーマンス、消去回数や消費電力に影響をあたえます。
ガーベジコレクションの起動の条件等をシステムにあわせて調整する必要があります。
消去回数の平均化
消去回数の平均化もフラッシュファイルシステム特有のものとなっています。
消去回数を全体にならすようにすることによって、フラッシュメモリの寿命を延ばします。
このことは、システムのライフサイクルとの関連もあるために、消去回数について見積もっておく必要があります。
障害復旧
障害復旧機能について説明します。
これはフラッシュファイルシステム特有の問題ではないのですが、フラッシュファイルシステムは組込み機器に利用されることが多いので、特に気をつけておく必要があります。
障害復旧には2つの側面があります。
1つはフラッシュメモリチップの不良に関する障害復旧です。
フラッシュメモリチップの不良にはイレーズブロックレベルのものと、領域レベルのものがあります。
イレーズブロックが不良となった場合は、不良になったブロックにマーク付けを行い、以後そのイレーズブロックを使用しないようにすることによって対処します。
また、代替イレーズブロックを用意しておき、不良ブロックの代わりに代替イレーズブロックを使用するようにもします。
MS-FFSでは、スペアブロックを複数用意しておいて、その中の1つを代替イレーズブロックとして使用するようになっています。
データを書き込む場合に、正しくデータを書き込めなかった場合は、そのデータ領域をマークして次の消去まで使用しないようにします。
もう1つは電源異常に関する障害復旧です。
フラッシュメモリチップは不揮発性をもっているので、一度書き込んだデータは消去されるまで保存されています。
しかし、書込みをしている最中に電源に異常があった場合は、正しくデータを書き込めないことになります。
このような状態になると、書き込もうとしていたデータが単に消失してしまうだけでなく、ファイルシステムの一貫性を失なうことにもなり、たいへん重大な問題となります。
このために、ファイルシステムをチェックして、問題があれば報告し、修正 (最低限ファイルシステムの一貫性を復旧) するための機能が必要となります。
フラッシュファイルシステムはバッテリ駆動されている製品で利用されることが多いので、バッテリの異常な取り出し低電圧などの事故が起こる可能性があります。
このため電源異常が発生した場合に最低限現在のデータの書込みを保証するために、バックアップ用のバッテリやキャパシタを搭載したりして、ハードウェア的サポートをすることがあります。
容量効果
フラッシュファイルシステムを構築する場合、搭載するフラッシュメモリの容量に対して、ファイルシステムとしての有効領域がどれだけ取れるか検討する必要があります。
フラッシュファイルシステムは、通常のファイルシステムに比べて、メディア上に管理情報を多く保持する必要があります。
つまり、フラッシュファイルシステムでは、ファイルシステム自身のオーバーヘッドとフラッシュメモリ上でデータを管理するためのオーバーヘッドを考慮する必要があります。
この点は忘れがちなので注意が必要です。
場合によっては予定していたデータ領域を取ることができないことがあります。
事前に有効領域がどれくらい取れるか見積もる必要があります。
目次
- はじめに
- MS-FFS について
- イレーズブロックの構造化について
- ガーベジコレクション
- 消去回数の平均化
- フラッシュファイルシステムの特性

