ウェアレベリング
読み:ウェアレベリング
外語:wear leveling
フラッシュメモリーのような書き換え回数に制限の強い媒体の使用寿命を伸ばすための技術。摩耗を平滑化する、の意。
概要
コンピューターで用いられる記録媒体には、書き換え可能な回数の制限が厳しいものが、少なからず存在する。
ディスク媒体であればCD-RWやDVD-RWなどがあり、メモリー媒体ではフラッシュメモリーが代表的である。
これらでの書き換え可能な制限は、媒体全体に対する回数ではなく、特定の素子や箇所に対するものである。したがって、書き換えが一定箇所に偏らず、全体を満遍なく使うようにすれば、媒体の利用可能な回数は大幅に増えることになる。
こういった制御をすることを、ウェアレベリングという。
特徴
手法
ウェアレベリングの手法として、フラッシュメモリーモジュールに制御用マイコンを搭載したりするハードウェアによる方法と、ファイルシステムを工夫するソフトウェアによる方法とがある。
ハードウェアによるものは、専用の回路が必要になるため、記録媒体単体では実現できない。例えば、コンパクトフラッシュのように必要回路が同時に搭載されているような製品でのみ可能である。
そこで、現在はソフトウェアによる方法が主流となっている。
ソフトウェア
オペレーティングシステムから記録媒体にデータを書き込む場合、現在ではファイルという単位でこれが行なわれている。このため、ファイルシステムという機構が使われている。
書き換え制限がほぼ無視できるハードディスクドライブ用のファイルシステムとは違い、ウェアレベリングが必要な媒体用のファイルシステムには、次のような機構が盛り込まれる。
- 書き込む度に素子を変え、一定の素子に更新が集中しないようにする
- フラッシュメモリーはブロックサイズが大きいことが多いので、書き換えが多発するファイルを一つのブロックにまとめる工夫 (遅延書き込み機能と合わせて書き換え回数の削減を実現)
- ファイルシステムの管理情報は書き換えが多発するので、移動可能にするか、メモリー上で更新するなどの工夫
こういった、フラッシュメモリー用に設計されたファイルシステムを俗に、フラッシュファイルシステムという。
再検索