先日の記事からの続きです。今回は規格についてお話しましょう。
・SATA(SerialATA)
・mSATA
・M.2
・NVMe
上記の用語はPC組み上げをしようと思った方は触れたことがあると思いますが、横並びにしていいかどうか微妙なところです。なぜかというと、「接続形状の規格」と「転送方式の規格」が混在しているからです。
SerialATAっていう規格は、もともとはATA規格の中でもパラレルATA(PATA、IDEとか言ってました)の進化版として生まれた、HDDや光学ドライブ等を接続する規格でした。スタートは2000年頃で、当時のストレージ(HDDや2.5″SSDは今でも)の接続の主流でした。こちらの規格も進化して、SATA3.0なんて言われる6GBit/sの転送速度を出せるところまで転送速度が上がりました。しかし、6GBitっていっても、750MBですからね。限界が来るわけですよね。とはいえ、HDDでは読み込みがせいぜい200MB/sだったので、特に問題がなかったわけです。
しかし、SSDが出だして転送速度が上がってくると、ATAの規格ではフォローしきれなくなったんですよね。そんな中、GPUの処理等に使われるPCIexpressの規格をもっと小型にして、ストレージ転送に利用できるようになった規格がM.2です。
というわけで、SATAとM.2は接続規格なのですが、実はM.2はSATAとしての機能も持っていて、M.2に接続できるSSDは規格がSATAモデル(我々はよくM.2 SATAと呼んでいます)と、NVMeモデルと混ざってるので、区別がつきにくいところです。しかも、これ、スロットによってはNVMeのみサポートしていたり、M.2なのにSATAにしか対応していなかったりする場合もあるので、過渡期の端末は部品を間違えないように選ばないといけません。
ちなみにWikiPediaではM.2のページにこのように書かれています。
レガシーSATA
SATA接続のSSDなどに使われる。M.2端子のSATA 3.0 6Gbpsポートを使用し、AHCIで機器と通信する。
PCI Express上のAHCI PCI
Express接続のSSDなどに使われる。PCI Expressレーンを使用し、AHCIで機器と通信する。AHCIはCPUと外部機器の速度差が大きい頃ホストバスアダプタのために開発された規格であるため、非効率な部分がある。そのため最高速度ではないものの、普及しているSATA機器との後方互換性を確保できる。2018年現在ではNVM Expressへの移行が完了している。
PCI Express上のNVM Express
PCI Express接続のSSDなどに使われる。PCI Expressレーンを使用し、NVM Expressで機器と通信する。NVM Expressは低レイテンシと並列性を主眼に置いて新たに開発されたストレージインターフェイスで、近年のCPU、プラットフォーム、アプリケーションの並列性を活かすことができる。
AHCIっていうのがSATAと同じ転送規格ですね。だから、M.2なのにSATAなんてよくわからないSSDが存在するわけです。当然M.2 SATAの転送速度は2.5″ SATAと同程度なので、500MB/sくらいが限界です。見かけとしてはM-KeyとかB-Key(前回記事参照)で見分けられることが多いですが、NVMeでもB-Keyを使っている(転送速度が低く設定されている)ものがあるので、結局ラベルを読むなり、型式で規格を追うなりしないと正確なところはわからないのが現状です。
あ、ちなみにmSATAっていうのは、M.2より前にSATAの接続を小型化して、省スペース、軽量のPCを作るときに重宝された規格です。Ultrabookなんかによく採用されていました。今ではほぼ淘汰されていますね。
それでは今回はこのあたりで。続きはまたの機会に。