最近のPCにはSSD搭載モデルが当たりになりました。
むしろHDDのモデルを探す方が難しいぐらいに・・・・
HDDに比べ、起動が早く静かということで重宝されていますが、デメリットもあります。
SSDは書き込み回数の上限を迎えると寿命を迎えます。HDDは部品が故障しない限り使用可能ということで、長時間稼働し、書き込み・読み込みが常に行われるサーバーのストレージとしてまだまだ、現役なのはそういった理由だったりする。
そんなSSDの寿命を延ばす技術として、「ウェアレベリング」というものがありますが、実はあまり効果がないことがシラキュース大学とフロリダ国際大学の研究者によって判明しました。
ウェアレベリングって何?
SSDを構成するNAND型フラッシュメモリは「ブロック」と呼ばれる。
データ量単位で消去動作を管理しており、さらに小さな「ページ」と呼ばれるデータ量単位で読み込み、書き込みの管理を行っています。
ウェアレベリングは全てのブロックに対してデータを分散して書き込むようにすうることで、特定のブロックが劣化した時のデータ消失や故障を防ぐようにしています。また、SSDの寿命を延ばすと言われています。
どんな実験をしたのか
ウェアレベリングは3つに分類される。
- データが書かれていない領域にのみ働く「ダイナミック式」
- フラッシュチップを対象に働く「スタティック式」
- デバイス全体を対象に働く「グローバル式」
回、研究チームはフラッシュファイルシステムのシミュレーターであるFTLSimを用いて、ダイナミック式の「Dynamic Adjust-ment Garbage Collection(DAGC)」と、スタティック式のアルゴリズムである「Dual-Pool(DP)」と「Progressive Wear Leveling(PWL)」という3つのアルゴリズムを使って最大100回のフルドライブ書き込みを行い、書き込み効率(WAF)を計測したとのこと
WAFとは
WAFを簡単に説明すると、ホストコンピュータからSSDに書き込まれるデータ量に対するNAND型フラッシュメモリに書き込まれる実際のデータ量の比率のことです。
理想的なストレージシステムであれば、WAFは1.0になるが、実際に運用されるSSDの書き込み効率は2~4程度になる。
実験結果はどうなった
SanDiskはSSDの寿命を推測する測定標準(LDE(Longterm Data Endurance))では、
「書き換え保証回数」×「フラッシュメモリ全体の容量」÷「WAF」=「書き込み可能な総データ量」が示せるとのこと
ようは、WAFが上がれば、上がるほどSSDに書き込める総量が減り、SSDの寿命も短くなる。
研究チームは、対象となる仮想SSDに対して実験前にフルドライブの順次書き込みを1回行い、さらに合計256GiBの順次書き込みと合計768GiBのランダム書き込みを3回に分けて行い、書き込み効率をそろえて実験
FTLSimで構築されたSSD構成は以下の通り。
・ページサイズ:4KiB(キビバイト)
・ブロックサイズ:1MiB(メビバイト)
・1ブロック当たりのページ数:256ページ
・ブロック処理:FIFO
・物理容量:284GiB(ギビバイト)
・論理容量:256GiB
・領域:11%
WAF(縦軸)とフルドライブの回数(横軸)をまとめたもの
緑がDP、赤がPWL、青がDAGC、点線がウェアレベリングしなかった場合のものです。
ウェアレベリングしなかったSSDはほとんど変化しなかった。
容量固定のSSDは物理容量が論理容量を下回ると故障と見なされますが、容量可変であれば論理容量もゆるやかに減少していくため、SSDの耐久寿命は延びるといえます。
研究チームによれば、容量可変SSDの場合、ウェアレベリングを使うと書き込み効率が最大6.9に達したのに対して、ウェアレベリングなしの場合は書き込み効率が2.89におさまったとのこと。
余談
研究チームは、ウェアレベリングはこれまでかなり研究されているテーマではありますが、実際には正しく運用するのは非常に難しく、結果として「驚くほど効果がなく非効率的である」と評価しています。
もしかすると、ウェアレベリングによって、逆にSSDの耐久性を下げていたことが実証されるかもしれません。