不揮発性の半導体メモリにデータを保存するSSDは、磁性体を塗布したディスクに情報を記録し読み出すHDDよりも耐衝撃性・電力効率・読み書き速度で優れており、近年価格も下がってきたことによって一気に普及しました。技術系ニュースメディアのAnandTechが、SSDの性能を比較するためのベンチマークテストを行う上で考慮すべき「SSDの3つの特徴」を解説しています。

How We Test PCIe 4.0 Storage: The AnandTech 2021 SSD Benchmark Suite - Print View

https://www.anandtech.com/print/16458/2021-ssd-benchmark-suite

◆1:データの記録方式

SSDは主に「NANDフラッシュメモリ」「メモリコントローラー」「DRAMバッファ」の3つで構成されています。NANDはデータを保存する場所、メモリコントローラーはNANDメモリの制御を行うIC、DRAMはNANDとメモリコントローラーの仲介を行うキャッシュメモリです。

NANDフラッシュメモリにおいて、1ビットの情報を蓄積するのに必要な回路構成をセルと呼びます。このセルが多ければ多いほどNANDフラッシュメモリの容量、すなわちSSDの容量が増えることになります。しかし単純に増やすだけではNANDフラッシュメモリの面積が大きくなり、価格も高くなってしまうため、各メーカーは多層構造の3D NAND技術や、製造プロセスルールの微細化、MLCで対応してきました。

このうち、MLCは「マルチレベルセル」の略で、おおまかにいえば1つのセルに収める情報のビット数を2つに増やすことでSSDの容量を増やす記録方式です。2021年時点でコンシューマー向けでは、1つのセルに3ビットの情報を記録する「TLC」が主流となっており、1セルにつき1ビットのSLCや2ビットのMLCに比べると、容量当たりのコストを低く抑えることに成功しています。また、近年では1セルにつき4ビットの情報を記録する「QLC」や5ビットの情報を記録する「PLC」も登場していますが、大容量と引き換えに読み書き速度が遅くなってしまうというというデメリットがあります。



TLCもSLCに比べると読み書き速度が遅くなり、読み書き回数も減ってしまいます。この問題を解決するため、ほとんどのTLC NANDを搭載するコンシューマー向けSSDでは、一部をSLCで記録する「SLCキャッシュ」が採用されています。書き込むデータを一度SLCキャッシュに保存し、ホストのI/Oアクティビティが停止するとすぐにSLCキャッシュをクリアし、待機時間を最大限に活用して次の書き込みに備えることで、TLCでも読み書き速度を高速にするという技術です。

AnandTechによれば、このSLCキャッシュがSSDにデータを書き込むベンチマークに大きな影響を及ぼすとのこと。SLCキャッシュのサイズには制限があるため、ベンチマークで計測されるパフォーマンスは「SLCキャッシュ内」「SLCキャッシュ外」の2種類が存在することになります。

近年のSSDでは、SLCキャッシュサイズが可変なものも多く、SSDの残り容量が少なくなるにつれて、利用可能なSLCキャッシュサイズが縮小されます。またAnandTechによれば、QLC NAND搭載SSDでは、書き込み以外にもSLCキャッシュを使用するため、TLC NAND搭載SSDよりもSLCキャッシュが枯渇しやすいとのこと。

以下はIntelのNVMe(PCIe 3.0x4)接続・QLC NAND搭載SSD「665p」シリーズで、容量の使用率(横軸)に対するSLCキャッシュサイズの容量(縦軸)を折れ線グラフで示したもの。青い線が2TBモデルで、黄色い線が1TBのデータです。このグラフを見ると、容量の使用率が50%を超えると、SLCキャッシュサイズが通常時の1割程度に落ち込んでしまっています。



一般的な使用の範囲であれば、SLCキャッシュ外のパフォーマンスを体感することはほとんどありませんが、数十〜数百GBのデータを連続して書き込むベンチマークテストであれば、最終的にキャッシュがオーバーフローし、SLCキャッシュ外の低パフォーマンスを体感する可能性は十分ありえます。

◆2:SSDの接続プロトコル

SSDの接続プロトコルには、主にNVM Express(NVMe)とAdvanced Host Controller Interface(AHCI)の2種類があります。NVMeはPCI Express(PCIe)接続に、AHCIはSerial ATA(SATA)接続に対応しています。記事作成時点で市場に出回っているコンシューマー向けSSDの接続プロトコルは、NVMeが主流となっています。

しかし、NVMe接続のSSDは温度上昇が懸念事項となります。そのため、AnandTechでは2017年まではランダムアクセス、シーケンシャルアクセスなど各I/Oパターンを各キューで3分間ずつ、継続的なI/Oを18分間テストしていますが、毎回SSDの排熱が問題になっていたとのこと。そのため、M.2端子・NVMe接続のSSDでベンチマークテストを実施する際、AnandTechはいつもヒートシンクを装着しているそうです。



ただし、AnandTechは「この種のベンチマークテストは、過酷な条件下でSSDがどのように動作するかを調べるのには有用ですが、通常の使用でどのように動作するかについてはあまり関係ありません」と述べています。

また、ベンチマークの実行時間を定めても、SATA接続のSSDで10秒を要するテストを、NVMe(PCIe 4.0)接続のSSDで実施すると、SATA接続のSSDの10倍以上の処理が必要になります。そのため、AnandTechは「実行時間」「各ベンチマークテストで転送されるデータ量」の両方に制限を設けて、ベンチマークテストをより現実的で実用的なものにしていると述べています。

◆3:DRAMバッシュの有無

AnandTechは、SSDのエントリーモデルとハイエンドモデルには容量や記録方式、接続プロトコル以外に、メモリコントローラーにも違いがあると指摘し、特にNANDフラッシュメモリにファイルを格納するための「フラッシュファイルシステム」が重要だとしています。

SSDのメモリコントローラーが持つ機能の1つであるフラッシュ・トランスレーション・レイヤー(FTL)は、論理ブロックアドレス(LBA)で指定されたブロックを、SSD内部の物理ブロックに割り当てる役割を担っています。1TBのNANDフラッシュメモリを管理するFTLのアドレス変換テーブルには1GB弱の容量が必要になります。



ハイエンドモデルのSSDにはこのアドレス変換テーブルをキャッシュするために、DRAMバッファメモリが搭載されています。しかしAnandTechによれば、エントリーモデルのSSDにはこのDRAMバッファが搭載されていないものも多いとのこと。DRAMバッファを搭載しないSSDでは、ランダムアクセス時にフラッシュメモリへの読み込み操作が増えるほか、ウェアレベリングとガベージコレクションの管理が難しくなるため、書き込みの多い処理を行ったり容量がほぼ一杯の状態だったりすると、パフォーマンスが大きく低下する傾向があります。そのため、ハイエンドモデルのSSDとエントリーモデルのSSDでは、パフォーマンスに差が生まれるとのことです。