前回、フラッシュメモリーはセルの書き込み回数や消去回数に上限値があることを説明しました。フラッシュメモリーを記憶媒体とするSSDでは、限られた書き込み/消去回数を前提に、ストレージの寿命を伸ばす仕組みが重要になります。

セルの使用回数をカウントして平準化

 対応策の一つが「ウエアレベリング」という技術です。アプリケーションが要求する通りに書き込みと消去を繰り返すと、特定のセルに要求が集中することがあり、早い時期にそのセルが寿命になる恐れがあります。ウエアレベリングはこれを防ぐための技術で、直訳すると「摩耗平滑化」となります。文字通り、メモリー全体でセルごとの使用回数を平準化する技術です。

セルの使用回数を平準化するウエアレべリング
ウエアレべリングがない場合、セルの使用回数が偏って特定のセルが早く寿命になる恐れがある。ウエアレベリングによってセルの使用回数を平準化することで、セルの寿命を伸ばす。
[画像のクリックで拡大表示]

 ウエアレべリングの実装方法はいくつかあります。エンタープライズ用途のSSDが一般的に用いているのは、各セルの使用回数のカウンターを設ける手法です。サーバーのCPUが要求したセルへのアクセスをアドレス変換して、使用回数の少ないセルを利用することで平準化を図ります。

 カウンターやアドレス変換テーブルは、ユーザーがアクセスできない領域に置かれ、内部管理領域として保護されています。カウンターの参照やアドレス変換による遅延を極力抑えるために、SSDは小容量ですがDRAMをライトキャッシュとして個別に搭載しているのが一般的です。

 また、上限値を踏まえた適切なしきい値を設けて、更新回数がしきい値を超えたSSDはストレージOSにアラートを発信することにより、予防保守が確実に行えるようにもしています。

▼DRAM
コンピュータに使用される半導体メモリの一種。非常に高速だが、電源供給がなくなると記憶情報が失われる揮発性メモリーである。

次ページ以降はITpro Active会員(無料)の方のみお読みいただけます。