フラッシュメモリーは磁気ディスクと異なり、データの上書きができない。このことが寿命のほか、使い込むと遅くなる原因に関わってくる。
「上書きできない」ため空きブロック不足で速度低下
まずはSSDのデータの書き換え手順を見ていこう(図7)。フラッシュメモリーは上書きができないため、ブロック内の一部を書き換えたい場合は、書き換え対象を含むページを含むブロックを丸ごと作業領域(コントローラーの作業用メモリー)にコピーする。そこでデータを書き換え、別の空いているブロックにデータを書き戻す。そして元のデータがあったブロックには使用不可マークを付ける。
このため、わずか数KBを書き換えたいだけなのに、実際には数MBの書き換えが発生する場合がある。この点も寿命に影響する。
使い込むと遅くなる理由は空きブロックの減少が関係している。前述の通り、データの書き換えを繰り返すと使用不可ブロックがどんどん増えて空きブロックが減少する。空きブロックが足りなくなると、データを書き込む際に使用不可ブロックを消去して空きブロックを作る必要が生じる(図8)。この数が多いと時間がかかる。これが使い込むほどSSDが遅くなる理由だ。
だが、SSDにはこの対策機能も装備されている。「ガベージコレクション」と「トリム」だ。