ウェアレベリング
[Wikipedia|▼Menu]

この記事は検証可能参考文献や出典が全く示されていないか、不十分です。
出典を追加して記事の信頼性向上にご協力ください。(2016年9月)

ウェアレベリング (wear levelling / wear leveling) とは、コンピュータ記憶媒体に用いられる技術の1つ。書き換え限度回数が存在する媒体において、その使用寿命を延ばすための手法。

wear levellingを日本語訳すると「摩耗平滑化」といった意味になるが、日本語では英語をそのままカタカナにして「ウェアレベリング」と呼ばれることが多い。
目次

1 概要

2 技術の具体例

2.1 ハードウェアの工夫

2.2 ソフトウェアの工夫


3 関連項目

概要

コンピュータの記憶媒体には、保持データを書き換えると少しずつ劣化してゆくというものがいくつかある。電源を切っても内容が保持される媒体においてそれは顕著で、CD-RWDVD-RWフラッシュメモリなど、書き換え可能回数が数百から数千回程度のものが近年[いつ?]では多用されてきている。

一般的に、これらの記憶媒体の書き換え限度回数は、媒体全体に対しての回数ではなく、記憶素子1つに対しての回数である。このことより、書き換えが1つの素子に集中せず、1個の媒体中の各素子にできるだけ均等に分散するように制御ができれば、媒体全体としての書き換え限度回数は飛躍的に向上することになる。

この、データの書き換えを媒体中の記憶素子にできるだけ均等に分散させる技術のことを、ウェアレベリングと呼ぶ。ウェアレベリングの技術を用いることにより、媒体としての書き換え限度回数は各素子の書き換え限度回数の数百から数千倍になる。
技術の具体例

ウェアレベリングを実現する技術はいくつもあるが、大きく分けると、記憶媒体のモジュール内のハードウェアを工夫することによるアプローチと、記憶媒体への読み書きフォーマットファイルシステム)を工夫するソフトウェア上のアプローチの2つになる。
ハードウェアの工夫

読み書きをしようとする記憶素子(ブロック)をCPUなどが指定する場合に、その指定されたアドレスを直接用いるのではなく、アドレスの変換テーブルなどを用いることによって実際にアクセスされる記憶素子を間接指定する仕掛けを、ハードウェアで実現しておく。記憶媒体への書き込みを行なう際には、このアドレス変換テーブルの値を調整することにより、まだあまり書き換え回数が多くない素子に実際の書き換え操作が発生するようにする。

この技術が有効なのは、CDなどのような記録媒体だけが個別に販売されるようなものではなく、コンパクトフラッシュのような記憶素子へのアクセス制御回路がセットになった状態で取り扱われるものにおいてである。近年[いつ?]、多用されつつあるNAND型フラッシュメモリを使った記憶媒体では、一部プロフェッショナル向けの高価格帯製品において、この技術を取り入れたものの商品化が始まっている。

ハードウェアレベルのウェアレベリングは、具体的には記憶素子の各ブロック毎の更新回数をデバイスで記録、管理しておき、(例えばファイルシステムの管理情報などの)更新が頻繁なブロックと、変更回数が少ないまたは空きのブロックとを物理的に「スワップ」することである。つまり、あるブロックについての更新回数の値が、全ブロックの状態から計算される値など一定値を下回った場合に当該ブロックの内容を空きブロックに転送し、移動させる(空きブロックが少ないか無い場合は、変更回数が少ないブロックとの間でブロックを転送し、入れ替える)。このようにして記憶媒体全体の変更回数を平準化させ、該当ブロックを「スワップ」した後は前述のアドレス変換テーブルを更新する。これにより、ソフトウェアからはウェアレベリング動作を(積極的には)関知せずに読み書きを続けられる。

以上のことから、ウェアレベリングのアルゴリズムにもよるが、更新頻度の高いデータブロックほど記憶媒体全般の記憶ブロックに渡って書き込みが行われることになるため、データの完全消去の観点からするとHDDに対する従来の伝統的な消去手法は適用できないことになる。
ソフトウェアの工夫

コンピュータシステムが補助記憶装置にデータを保管する際には、ファイルと呼ばれる単位で読み書きをすることが圧倒的に多い。この際、「どのファイルが媒体のどの位置に格納されているのか」という情報を管理する機構のことを、ファイルシステムと呼ぶ。このファイルシステムの構成を工夫することにより、ウェアレベリングを実現できる。

書き換え回数制限がほぼ無いに等しい一般的なハードディスクを前提としたファイルシステムの場合、あるファイルが使用する記憶素子は一度割り当てられると変更されることが無いため、書き換え頻度が高いファイル(動作の履歴を書き込むファイルなど)に割り当てられた記憶素子に書き換えが集中してしまう。これに対し、ウェアレベリングに対応したファイルシステムでは、書き込みの度に使用する記憶素子を次々と取り替え、書き換えが同じ素子に集中しないように制御される。

また、ファイルシステムの管理情報、すなわちファイル本体が媒体中のどこにあるかを示すデータや媒体中の未使用の領域がどこであるかを示すデータは、最も書き換え頻度が高くなるので、この情報が1か所に集中しないように制御する工夫も必要になる。


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:13 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef