NAND型フラッシュメモリは、構造的な問題から「データを書換られる回数(寿命)」があり、その寿命を延ばすために『ウェアレベリング』と言う技術が使われています。
この記事では、このウェアレベリング技術と言うものについて分かりやすく解説しています。
スポンサーリンク
ウェアレベリングとは?
NAND型フラッシュメモリーは「セルに電子を保存すること」によって、データが保存される仕組みです。
つまり、セルが電子を保存できなくなるまでの回数…これが「製品寿命」になります。
ウェアレベリングとは、この「電子が保存できなくなるまでの回数/容量(寿命)を延ばす技術のこと」です。
外部サイト:メモリブロックの寿命を延ばすウェアレベリング|Logitec データ復旧技術センター
「セル」と「ページ」と「ブロック」
- 読込作業=ページ毎
- 書込作業=ページ毎
- 消去作業=ブロック毎
NAND型フラッシュメモリーは、読込作業と書込作業を「ページ」で行っており、データの消去作業は「ブロック」で行われる仕組みです。
ちなみに、複数のセルが「ページ」を構成しており、複数のページが「ブロック」を構成しています。
NAND型フラッシュメモリーの製品寿命は”セル”ではなく”ブロック”の寿命…と言う方が分かりやすいかもしれませんね。
【関連記事:外部サイト】
NAND型フラッシュメモリーの製品寿命がある理由
NAND型フラッシュメモリーは、セルの「浮遊ゲート」と呼ばれる場所に”電子”を保存することによってデータが保存されます。
浮遊ゲートは「絶縁膜」と「トンネル酸化膜」と言うものに挟まれており、この2つの壁があるおかげで電子が密閉(データ保存)できる構造になっています。
ただ、浮遊ゲートに電子を保存するためには「トンネル酸化膜」を通過する必要があり、この時にトンネル酸化膜がダメージを受けてしまうのです。
電子を保存する回数=書換回数が増えると、トンネル酸化膜が劣化してしまい、電子が保存できない状態になります。
例えるなら、密閉袋に穴が開いているみたいな状態に近くなってしまうのです。
この「トンネル酸化膜の劣化するまでの書換回数」こそが、NAND型フラッシュメモリーの製品寿命になります。
外部サイト:認識しないメモリでもウェアレベリング・アナリシスで復旧|データ復旧サービス WinDiskRescue|くまなんピーシーネット
・具体例
ブロック『a』~『j』までの「10ブロック」が使える場合、その10ブロックに「1万個のデータ」を保存する場合で考えてみましょう。
例えば、ブロック『a』だけが5000個のデータ保存を担当しており、他のブロックが残り5000個のデータを保存する場合、ブロック『a』の寿命だけが大きく削られてしまうことになります。
もし、各ブロックが担当するデータを”均一”に振り分けられれば、特定のブロックだけが早く劣化してしまうことはありません。
他にも、データを保存したままのブロックは使えないため、そのブロックは「保存データが破棄された後に優先的に使われるシステム」が組まれていたりもします。
この様に、使用するブロックを「均一化する技術」がウェアレベリングです。
ちなみに、企業やメモリー製品毎によって採用システム(ウェアレベリング)が異なるため、同じ記録方式でも製品寿命が異なる要因の一つになっています。
スポンサーリンク
2種類のウェアレベリング
書換頻度が少ないデータを「スタティックデータ/静的データ」と呼び、書換頻度が多いデータを「ダイナミックデータ/動的データ」と呼びます。
- スタティックデータ=静的データ
- ダイナミックデータ=動的データ
ウェアレベリングには、この「2種類のデータ」に対して「それぞれに適した制御システム」が存在します。
ダイナミック・ウェアレベリング
ダイナミック・ウェアレベリングとは「書換回数の少ないブロックを優先的に使用する制御システム」のことです。
NAND型フラッシュメモリーには「ブロック毎の書換回数」を記録するシステムが搭載されており、その”ブロック毎の書換回数”を基にして「寿命の長いブロック」が優先的に使用されます。
外部サイト:トランセンド|メモリ製品のスペシャリスト - ウェアレベリング
スタティック・ウェアレベリング
書換回数 | ウェアレベリング前 | ⇒ | ウェアレベリング後 |
---|---|---|---|
低 | 保存データA | デ-タ消去 | |
並 | |||
並 | |||
高 | 未使用 | 保存データA |
寿命が短くなってしまったブロックに「寿命の長いブロックにある書換頻度の少ないデータ」を移動することによって有効活用するシステムが『スタティック・ウェアレベリング』です。
この制御システムが組み込まれていると、寿命の長いブロックを「書換が行われるデータ置場」として使用できる上に、寿命が短くなったブロックすらも「書換頻度の少ないデータ置場(保存場所)」として無駄なく使用できます。
【スタティック・ウェアレベリングで大きく寿命が延びるケース】
例えば、スマホの内蔵ストレージが「8GB」であったとして、その内、システムデータが「6GB分」保存されていたとします。
この場合、空き容量は「2GB」となってしまい、保存されるデータは「2GB分のブロック」にしか保存できません。
この時、制御システムに『スタティック・ウェアレベリング』が組み込まれていれば、全容量の「8GB分のブロック」が有効活用できる様になるのです。
単純計算であれば、寿命は約4倍も長くなる計算になります。
この様に、空き容量の少ない場合や、書換が行われない保存データが多い場合に大きな恩恵を受けられる制御システムです。
スポンサーリンク