読み書きをしようとする記憶素子(ブロック)をCPUなどが指定する場合に、その指定されたアドレスを直接用いるのではなく、アドレスの変換テーブルなどを用いることによって実際にアクセスされる記憶素子を間接指定する仕掛けを、ハードウェアで実現しておく。記憶媒体への書き込みを行なう際には、このアドレス変換テーブルの値を調整することにより、まだあまり書き換え回数が多くない素子に実際の書き換え操作が発生するようにする。この技術が有効なのは、CDなどのような記録媒体だけが個別に販売されるようなものではなく、コンパクトフラッシュのような記憶素子へのアクセス制御回路がセットになった状態で取り扱われるものにおいてである。近年、多用されつつあるNAND型フラッシュメモリを使った記憶媒体では、一部プロフェッショナル向けの高価格帯製品において、この技術を取り入れたものの商品化が始まっている。ハードウェアレベルのウェアレベリングは、具体的には記憶素子の各ブロック毎の更新回数をデバイスで記録、管理しておき、(例えばファイルシステムの管理情報などの)更新が頻繁なブロックと、変更回数が少ないまたは空きのブロックとを物理的に「スワップ」することである。つまり、あるブロックについての更新回数の値が、全ブロックの状態から計算される値など一定値を下回った場合に当該ブロックの内容を空きブロックに転送し、移動させる(空きブロックが少ないか無い場合は、変更回数が少ないブロックとの間でブロックを転送し、入れ替える)。このようにして記憶媒体全体の変更回数を平準化させ、該当ブロックを「スワップ」した後は前述のアドレス変換テーブルを更新する。これにより、ソフトウェアからはウェアレベリング動作を(積極的には)関知せずに読み書きを続けられる。以上のことから、ウェアレベリングのアルゴリズムにもよるが、更新頻度の高いデータブロックほど記憶媒体全般の記憶ブロックに渡って書き込みが行われることになるため、データの完全消去の観点からするとHDDに対する従来の伝統的な消去手法は適用できないことになる。ソフトウェアの工夫.