はじめに
最近のパソコンパーツ周辺ではPCI-Express接続で超高速な「NVMe対応SSD」がトレンドの一つになっています。その最大のウリは従来のSATA3接続タイプのSSDをはるかに凌駕する転送速度を得られること。
この高性能を実現するために「PCI-Expressインタフェースでの接続」と、データやりとりのための新しい手順「NVMe」の仕組みが必須でした。
タイミングを合わせるような形でマザーボード側に「M.2スロット」の規格が組み込まれ、簡単にPCI-Express接続のSSDをシステムに組み込めるようになったこともこのタイプのSSD普及を加速する一つの要因になりました。
この記事ではSSDの世界に一つの大きなブレイクスルーをもたらしてくれた技術、NVMeについて簡単に説明していきます。
NVMeとはなんぞや
NVMeタイプのSSDのお話がされるときには今はPCI-Expressインタフェース接続と一緒に語られることがほとんどです。ですが細かく見ていくとPCI-Express接続とNVMeのお話は別物です。
他に高速でデータをやりとりできるインタフェースがあれば物理的な接続はそちらを使って、PCI-Express接続以外のNVMe対応のSSDを作ることもできます。
ただ、現在のコンピュータ関連のあれこれを巡る状況では、高速にデータをやりとりするためのインタフェースは基本すべてPCI-Expressに集約させていく方向になっています。超高速版のSDカードもPCI-Expressを使うことになっているぐらいですから。
ですので当面はNVMe対応のSSD=PCI-Express接続、という状況が続くでしょう。
さて、ちょっとお話がそれました。
NVMeとは「Non-Volatile Memory Express」の頭文字を取ったもので、フラッシュメモリなどの「不揮発性メモリ」を使った記憶装置のためのデータをやりとりする規格です。
HDDやSSDで使われてきた規格のSATA3に代わるものです。

SATA3も含むSATA系の規格は元々ハードディスク(HDD)をターゲットにした規格でしたので、比較的低速な機材を接続すること前提で作られています。
フラッシュメモリなどの不揮発性メモリは、機械的に動く部分が必要なHDDなどとは比較にならない反応速度・転送速度を持っています。SATAは不揮発性メモリで使うには内部に無駄も多く、どうやってもメモリ本来の性能≒SSDの性能を出し切ることが出来なくなっていました。
そもそも最大通信速度もSATA3ですら600MB/秒に制限されてしまいますしね。
この壁をぶち壊して半導体で作ったストレージの性能をフルに発揮できるようにと考えて作られたのがNVMeです。
この仕組みを使えば最大転送速度は使っているインタフェースの最大速度にかなり近いところまでいけますし、ランダムアクセスのスピードもSATA3接続のSSDよりずっと高速になります。
フラッシュメモリなどの本来の性能をフルに引き出せる可能性がある規格になっているわけです。
もしもSATA3のデータやりとりの手順(プロトコル)だけを流用してPCIe接続のNVMe対応ではないSSDを作ることを仮定すると、恐らくプロトコル側の無駄が影響しにくい大きなファイルのシーケンシャルアクセスではNVMe SSDに近い性能が出せると思います。
これに対して小さなファイルのランダムアクセスでは性能はかなり控えめなものになると思われます。
こういった処理では単位時間当たりのI/O回数が大幅に増えますので、プロトコルの無駄・遅延などがモロに性能に響きます。ザックリ言えば、PCIeで直接接続してもSATA3接続のSSDレベルのIOPSしか出ない製品になると思います。
具体的にはそういったタイプのSSDでは10万IOPS程度が限界になるのではないかと。現状のNVMeタイプのSSDは軽く20万IOPSを超える数字を叩き出しますから、その部分に大きな差が出ると予想しています。
まあ、現実にはNVMeタイプではないPCIe接続のSSDがありませんから、本当のところどうなるかは証明できないのですけれどね。
NVMe対応SSDの種類
一般的なパソコン向けだとNVMe対応のSSDは2つのタイプに分けられます。
1つはM.2スロットに接続するもので今はこちらが主流。
もう1つはPCI-Expressスロットに挿す形の拡張カードですが、こちらはM.2タイプの普及で徐々に数が減っています。
実はさらにもう1つ、サーバ向けにPCI-Expressインタフェースの信号を引き出すケーブルを使って接続する2.5型HDDと同じカタチのSSDもありますが、こちらはもっと数が少なく一般的なパソコンで対応する機種はありません。
どれも今はPCI-Expressの信号4本(4レーンまたはx4)を使ってコンピュータ本体と接続します。
インタフェース的にはPCI-Express3.0対応なら最大4GB/秒の転送速度が実現できます。
実際のNVMe対応SSD
今、パソコンの世界で主流になっているM.2スロットに挿すタイプのNVMe対応SSDはこんな形をしています。

やはり4レーンの接続になりますが、見た目がかなり大がかりになります。
その代わりヒートシンクがついていてマザーボードからSSD本体が立ち上がっている分、ケース内のエアフローなどでの冷却がやりやすいメリットもあります。
今の超高速SSDはCPUやGPUと同じように「過熱」が性能面での弱点になり始めています。
ベンチマークなど大量のドライブへのアクセスが出た時にコントローラの温度が上がりすぎてしまいやすくなっていて、チップを守るために温度を下げる必要が出てしまいました。このためにコントローラの動作クロックを抑えるなどの影響で、性能が制限されてしまうのです。
高性能タイプのSSDを使うときには、SSDの冷却を考えた方がいいケースが増えました。
実際の性能を見てみると、他のドライブとはこれぐらいの差が簡単につきます。
こちらが「PCIe2.0 x4」接続のWD Black 250GBのベンチマークデータです。

インタフェースのバージョンが古いのでSSD本来のポテンシャルを出し切れていませんが、それでもSATA3接続のSSDの3倍以上の転送速度が出ます。
そしてこちらがSATA3接続のSSDのデータです。

ちなみにHDDだとこれぐらいになって、

特に小さなファイルのランダムアクセスで圧倒的と言える差がつきます。この部分の性能差がパソコンの使用感に直接響きます。
使ってみようNVMe SSD
NVMe対応のSSDは最近のM.2スロット搭載のマザーボード、パソコンならばほぼ確実に利用できるようになっています。
ちょっと古いマザーボードでもPCI-Expressカードスロットを持っていてUEFIで動いているパソコンならば、OSにWindows 8.1以降を使っているとそのままシステムドライブを引っ越しできる可能性が高くなります。
使うときにもSATA3接続のSSDやHDDと何も違いはなく、普通にシステム側がドライブとして認識してくれるはずです。
パソコンの使用感をグッと引き上げてくれる可能性のあるデバイスですから、是非活用したいところです。