概要
ウェアレベリングはデータが全てのブロックに対して均等に書き込まれるようにするもので、ほとんどのフラッシュ製品で現在利用されています。特定のブロックのみが劣化したことによる機器の故障やデータの消失を防ぎ、フラッシュ製品の信頼性や安定性を高めています。
ウェアレベリングの仕組み
ウェアレベリングはコントローラが各ブロックの消去カウントを管理し、値の低いブロックにデータを書き込むようにしています。ウェアレベリングを持たない機器と持つ機器を比較すると、持たない機器では一部のブロックに処理が集中してしまい製品寿命を縮めています。ウェアレベリングを搭載させることで書き込みを分散させて特定のブロックのみが劣化するのを防ぎ、製品寿命を延ばしています。
ウェアレベリングの種類
ウェアレベリングは主にダイナミック、スタティック、グローバルに分類されます。これらの大きな違いは書き込みの分散方法です。
ダイナミック・ウェアレベリング
データが書かれていない領域のみに対して働き、この領域で消去カウントの小さいブロックを書き込みに使用します。
スタティック・ウェアレベリング
フラッシュチップを対象に働くため、空のブロックだけでなく、データの書かれているブロックも利用されます。消去カウントの小さいブロックに書かれているデータを別のブロックに移動させることで、消去カウントが最小のブロックを空きブロックにし、次の書き込みで使用できるようにしています。
グローバル・ウェアレベリング
スタティック・ウェアレベリングがフラッシュチップ単体に対して働くのに対し、グローバル・ウェアレベリングはデバイス全体を対象に働き、消去カウントが最小のブロックを空きブロックにして次の書き込みで使用できるようにしています。
まとめ
一般的にウェアレベリングは消去カウントの小さいブロックに書き込みが行われるように動作します。書き込みを分散させることで製品寿命を延ばすことができるので、フラッシュ製品には不可欠な機能となっており、トランセンドのフラッシュ製品にも耐久性と信頼性を高めるために搭載させています。