全864文字
PR

 フラッシュメモリーは磁気ディスクと異なり、データの上書きができない。このことが寿命のほか、使い込むと遅くなる原因に関わってくる。

「上書きできない」ため空きブロック不足で速度低下

 まずはSSDのデータの書き換え手順を見ていこう(図7)。フラッシュメモリーは上書きができないため、ブロック内の一部を書き換えたい場合は、書き換え対象を含むページを含むブロックを丸ごと作業領域(コントローラーの作業用メモリー)にコピーする。そこでデータを書き換え、別の空いているブロックにデータを書き戻す。そして元のデータがあったブロックには使用不可マークを付ける。

データの上書きができないから処理が煩雑
データの上書きができないから処理が煩雑
図7 フラッシュメモリーはデータの上書きができないため、書き換え処理が複雑だ。データを書き換えたい場合は、書き換え対象データがあるページを含むブロックを丸ごと作業領域(コントローラーの作業用メモリー)にコピーして書き換えを行い(1)(2)、空きブロックに丸ごと書き込んで(3)、元のブロックに使用不可マーク(×)を付ける(4)。使い込むと×ブロックが増えていくが、その対策も用意されている(後述)
[画像のクリックで拡大表示]

 このため、わずか数KBを書き換えたいだけなのに、実際には数MBの書き換えが発生する場合がある。この点も寿命に影響する。

 使い込むと遅くなる理由は空きブロックの減少が関係している。前述の通り、データの書き換えを繰り返すと使用不可ブロックがどんどん増えて空きブロックが減少する。空きブロックが足りなくなると、データを書き込む際に使用不可ブロックを消去して空きブロックを作る必要が生じる(図8)。この数が多いと時間がかかる。これが使い込むほどSSDが遅くなる理由だ。

空きブロックが少なくなると遅くなる
空きブロックが少なくなると遅くなる
図8 図7の通り、データを書き換える際は空きブロックが必要になるが、使い込んで空きブロックがなくなると、データ書き換えの際にできた使用不可ブロックを消去して空きブロックを確保する必要が生じる。だが、数が多いとこの作業に時間がかかる。これがSSDを使い込むと遅くなる理由だ
[画像のクリックで拡大表示]

 だが、SSDにはこの対策機能も装備されている。「ガベージコレクション」と「トリム」だ。