SSDは空き容量がある程度あった方が高速に使える?
現代のSSDでは、適切な空き容量を維持することで、高速な処理性能を享受できます。
SSDはその特性と最新の高速化技術により、「空き容量が多いと快適に使える」ように設計されており、十分な空き容量がある場合に最大のパフォーマンスを発揮します。
実際には、メーカー各社による高度なアルゴリズム制御が行われていますが、本記事では基礎的な仕組みを解説します。
SSDの特性
SSDは、古いデータに直接上書きすることができません。
HDDの場合は、直接該当のアドレスに書き込む方法でデータの書き換えが行われますが、SSDのデータ書き換えはそれとは異なる手法で行われます。
データを書き換える時、SSDは一旦古いデータを別の場所にコピーしてから、古いデータを消して新しいデータを書き込みます。HDDとSSDでは、データの書き換えプロセスにこのような違いがあるのです。
SSDのデータは「ページ」と「ブロック」で管理されています。データの読み書きは「ページ」単位で行いますが、データの消去は「ブロック単位」でしか行うことができません。
ページ | SSD内の最小単位であり、通常は4KBまたは8KBのサイズを持つ。 |
ブロック | 複数のページが集まって一つのブロックを構成する。 データの消去はブロック単位で行われる。ブロック内のページのデータを削除する際には、そのブロック全体が消去されるため、新しいデータを書き込む際には、元のブロック全体を消去してから書き込みが行われる。 |
前述の通り、SSDでの書き込みは「上書きができない」ため、書き換えは以下の3ステップを踏む必要があります。
[1]書き込みたいページが含まれたブロック全体を一旦コピー
[2]書き込みたいブロック内のデータを消去
[3]コピーしたデータに変更を加えたものを書き戻す
しかし、最初からデータが消去されている (データが存在しない) ブロックであれば、[1]と[2]の工程が必要ありません。
十分な空き容量のあるSSDでは、データ書き込みに必要なページのコピー、消去、書き戻しの工程が必要になる事が少なくなり、ページへの書き込みのみで対応でき、結果として高速なパフォーマンスが得られます。加えて、ガベージコレクションなどのデータ再配置機能も、十分な空き容量があると効率的に機能します。
高速化技術
最近のSSDは、NANDセルの一部を特別な「キャッシュ」として使用する “疑似SLCモード” が採用されています。このモードには、データの読み書き速度を見た目上高速化する効果があります。
疑似SLCモードはSSDの空き領域を高速キャッシュとして利用し、全体の処理速度が向上させます。
本来、リアルSLCをキャッシュとして配置すれば疑似SLCを使う必要はありませんが、その場合のコストが大きくなってしまうことと、キャッシュとしての容量も固定化されてしまうといったデメリットがあります。そのため、SSDの空き容量を疑似SLCとして利用することで、コストや容量などの問題が軽減されるといったメリットを得られます。
疑似SLCの容量はSSDメーカーのアルゴリズム次第であり、可変できる容量などは異なりますが疑似SLCとして利用するために、SSD内に空いているエリアが必須です。
また、SLCの性質上、保持できる情報量は1bitまでになるため、仮にTLCモードで60GBの空き容量があったとしても、SLCとして利用する場合は1/3の20GBとなります。
そのため、SSD容量を目一杯まで利用してしまうと、前述のキャッシュに割当できる容量が減ってしまうため、速度低下に繋がります。
他にも速度低下を招く要因はありますが、基本的には「SSDの導入は利用したい容量+αで検討する」の考え方でご検討いただくことをお勧めします。
参考情報SSDは容量の大容量化を目指す仮定で、1セルに保持できる情報量を増やす方向に開発が進みました。 疑似SLCモード疑似SLCモード (pSLC) は、TLC (Triple-Level Cell) やQLC (Quad-Level Cell) などの高密度NANDフラッシュメモリを、より高速で信頼性の高いSLC (Single-Level Cell) に近い動作をさせる技術です。具体的な利点としては、以下のようなものがあります
NAND型フラッシュメモリの種類
|
まとめ
SSDは、空き容量を確保することで高速化が期待できる一方で、容量をフルに利用するとキャッシュに割り当てる容量が減少して、速度が低下するリスクがあります。SSDの特性を理解し、容量の選定や運用に注意を払うことで、SSDのパフォーマンスを最大限に活用しましょう。
マシンの利用方法等によって最適なSSDの条件は異なりますので、具体的なご相談は弊社テグシス事業部までお声がけください。