NVMeは「Non-Volatile Memory Express」の略称で、主にPCにおけるソリッドステートドライブ(SSD)へのアクセスに用いられる高速ストレージプロトコルを意味します。NVMeは、その前世代のSATAインターフェースよりも、これらの高速デバイスへのアクセスにおいてはるかに効率的な方法です。
これはSATAの欠点ではありません。単に特定の課題を解決するために設計されたもので、その目的を非常にうまく果たしました。技術は進化し、この業界ではよくあることです。SATAは、より古いPATAインターフェースが高速化するドライブの速度に対応できなくなっていたため、ハードドライブ用のより優れたインターフェースを提供するために導入されました。そして、ご存知の通り、SATAはSerial ATAの略で、PATAはParallelの略です。ATA自体は、意味不明な「Advanced Technology Attachment」の略です。
NVMeについて話す際にSATAに触れないわけにはいきませんので、後ほど再びその話題に戻ることに驚かないでください。SATAは重要であり、現在も広く使用されていますが、NVMeが現在の主流です。NVMeの仕組みを理解するためには、もう1つのインターフェースを理解する必要があります。それがPCI Express(PCIe)です。NVMeはPCI Expressインターフェースを利用して、最新のSSDが提供する驚異的なデータ転送速度を実現しています。
PCI Expressは、置き換えるSATA IIIインターフェースよりも大幅に高速です。しかし、それだけではありません。並列データ転送をサポートすることで、本当に大きなスループットを実現できます。ここでは、NVMeとPCIeが古いSATA規格に比べてどれほど大きな飛躍を遂げたかを、具体的な数値で示したいと思います。これは単にスループットに関する話です。
NVMeは、SATAで使用されるAdvanced Host Controller Interface(AHCI)ドライバーと比較して、コマンドを2倍の速度で発行します。NVMeは1秒あたり100万回を超える入出力操作(IOPs)を処理できるのに対し、SATAは10万回です。基本的な動作において、NVMeはより高速に動作します。
実際にドライブを使用する際には、これらの数値は大きな差として現れます。最も顕著な改善点は、最大転送速度を見た際に明らかになります。PCIe 3.0が導入された際、SATAは概ね600MB/sに制限されていましたが、PCIe 3.0 NVMeドライブは1レーンだけで1,000MB/sを達成できました。ほとんどのSSDは4レーンに対応しているため、約4,000MB/sの転送速度が期待できます。
PCIeの各世代ごとにスループットはほぼ倍増してきました。そのため、現在ではPCIe 5.0に対応したドライブが最大16GB/sのスループットを実現する可能性があります。プロトコルオーバーヘッドやエラー訂正を考慮しても、MP700 PRO SE SSDのような製品では約14,000MB/sの速度が期待できます。これはSATAの23倍を超える速度です。
NVMeドライブについて最後に触れておくべき点は、対応するドライブのフォームファクターです。ドライブはさまざまな形状とサイズで提供されていますが、消費者向けSSDの場合、主にM.2ドライブに限定されています。M.2ドライブは幅22mmで、ほとんどが長さ80mmです。物理的により小型のドライブ(長さ60mmや30mmなど)は、ハンドヘルドデバイスでよく使用されています。
幅と長さを組み合わせることで、フォームファクターが定義されます。例えば、MP700 ELITEのようなドライブを見ると、M.2 2280と表記されており、これが22mmの幅と80mmの長さを示しています。一方、MP600 MINIはM.2 2230ドライブで、長さはわずか30mmです。この製品は小型のValve Steam Deck向けに設計されているため、この小さなフォームファクターは理にかなっています。
記事内の製品