インタフェースとコマンドプロトコルは何を指しているのか

 インタフェースは、パソコンとSSDとの間をつなぐ伝送路のことである。現在パソコンで使われているSSDのインタフェースには、大きく分けて「Serial ATA」と「PCI Express」の2種類がある。それぞれの標準は「Serial ATA 6Gbps」と「PCI Express 3.0x4」だ。

 データ転送速度はPCI Express 3.0x4の方が圧倒的に高速で、Serial ATA 6Gbpsと比べると6倍以上もの大差がある。インタフェースはあくまでもバス、高速道路の速度制限みたいなもので、性能とSSD自体の性能は必ずしも一致しない。だ実測のデータ転送速度(特に読み出し)も、これに近いくらいの開きがある。なおPCI Expressは、世代(2.0/3.0)とレーン数(x2/x4など)で速度が異なる点に注意が必要だ。

 また、PCI Expressに関しては、コマンドプロトコルの違いも把握しておく必要がある。コマンドプロトコルとは、パソコン側とSSDとのデータのやりとりの手順を定めた仕様のこと。現在の標準は「NVMe」だが、過渡期にはSerial ATA用の「AHCI(Advanced Host Controller Interface)」も使われていた。

 換装を考える場合、PCI Expressの世代やレーン数が違うだけならば動作する可能性は高いが、元のSSDとコマンドプロトコルが異なる場合は可能性は低い(詳細は後述)。

ストレージのインタフェースと速度
種類概要最大データ転送速度
PCI Express 3.0x42016年頃からPCI Express SSDで標準的に使われているインタフェース。PCI Express 3.0x4対応のSSDを、2.0x4などの低速なPCI Express対応のパソコンに接続しても動作する(コマンドプロトコルが異なる場合を除く)が本来の性能は発揮できない3.94Gバイト/秒
PCI Express 3.0x2PCI Express SSDが普及する過程で一時的に使われていたインタフェース1.97Gバイト/秒
PCI Express 2.0x4PCI Express SSDが普及する過程で一時的に使われていたインタフェース2Gバイト/秒
PCI Express 2.0x2PCI Express SSDが普及する過程で一時的に使われていたインタフェース1Gバイト/秒
Serial ATA 6Gbps2010年以降のSSD/HDDの標準的なインタフェース。6Gbps(6Gビット/秒)のSSDを3Gbps(3Gビット/秒)まで対応するパソコンに接続した場合も動作するが、本来の性能は発揮できない600Mバイト/秒
Serial ATA 3Gbps2010年以前のSSD/HDDの標準的なインタフェース300Mバイト/秒
SSDのコマンドプロトコル
種類概要
AHCIAdvanced Host Controller Interfaceの略。HDDを前提にSerial ATAインタフェースに最適化されたプロトコル。Serial ATA SSDでも流用され、初期のPCI Express SSDでも使われていた
NVMeNon-Volatile Memory Expressの略。PCI ExpressインタフェースとSSDに最適化されたプロトコル。NVMe対応のパソコンのみで利用できる