PCのカタログの仕様一覧のストレージの項目で「NVM Express対応」あるいは「NVMe」という文字を見かけることが増えてきた。NVM Express(以下NVMe)とは、ストレージの新しいレジスターインタフェース、およびコマンドセットの仕様である。
レジスターインタフェースとは、ハードウエアとOS/ソフトウエア間の通信の仕組みを標準化したものだ。ホストコントローラー/ストレージデバイスのメーカーがそれぞれ異なっていても、同じように動作し、共通する機能(データの読み書き、電力制御など)を使えるのは、このレジスターインタフェースが標準化されているためである。シンプルに「プロトコル」というような言い方をする場合もあるが、NVMeの仕様書ではこの「レジスターインタフェース」という言葉が使われているので、ここではそれにならっている。
NVMは「Non-Volatile Memory」の略で、「不揮発性メモリー」を示している。NVMeは、エンタープライズおよびクライアントPC向けの、PCI ExpressインタフェースのSSDに最適化された内容となっている。
SSDの普及、インタフェースの高速化が背景
従来のPCのストレージ(HDDやSSD)で、主に使われてきたレジスターインタフェースは「AHCI(Advanced Host Controller Interface)」である。こちらはもともとSerial ATAインタフェースへの最適化を目的として策定されたもので、ストレージデバイスとしてはHDDが想定されている。
その後、SSDが普及、インタフェースも高速化した。SSDのアクセスタイムはHDDの100倍、200倍というレベルで高速である。Serial ATAは初期の1.5Gbps(8ビットを10ビットに変換して転送するので150MB/秒)から3Gbps(300MB/秒)ときて6Gbps(600MB/秒)になった。エンタープライズで使われるSAS(Serial Attached SCSI)でも最大転送速度は12Gbps(1.2GB/秒)だ。