デスクの上のフラットスクリーンモニタに KC2500 と KC600 が表示されている様子

NVMe と SATA の比較:違いは何でしょうか?

どちらが優れたストレージ技術かという点では、NVMe の圧勝です。ひと目見ただけでも、NVMe と SATA のパフォーマンスは驚くほど違います。NVMe と SATA では通信ドライバとインターフェイスが完全に異なり、SATA がハードディスクドライブ(HDD)用に設計された AHCI ドライバを使用しているのに対し、NVMe ドライバはフラッシュ技術を使用する SSD 専用に設計されています。また NVMe では、さらにパフォーマンスを向上させるため、ストレージインターフェイスとシステムの CPU の間の通信に PCIe ソケットを活用することができます。両者の比較をスポーツイベントに例えると、F1 レースとスーパーツーリングを比較するようなものです。

どちらも高速ですが、これら2種類のソリッドステートドライブを比較すると、ひと目で違いがはっきりします。これらの違いを調べることは、自分のニーズ、希望および要件を評価する際に有益です。

SATA SSD

ノートパソコンの中の 2.5” SATA SSD

シリアル ATA(SATA)技術は、ケーブルサイズ、コスト、パフォーマンスおよび機能性がネックになっていた既存のパラレル ATA 技術の改良版として、2000 年に発表されました。どちらの技術も、現在のソリッドステートドライブ(SSD)より大幅に能力の低いハードディスクドライブ(HDD)には十分でした。SATA ベースの SSD が出現すると、ATA バスがパフォーマンスの限界に達していることが明らかになりました。HDD の書き込みパフォーマンスは 50~120 MB/秒にしか到達しないのに対して、SSD は 550 MB/秒で SATA バスを最大限まで満たすことができました。バスの限界にも関わらず、SATA ベースの SSD をレガシー HDD 技術と置き替えて使用すると、全体のシステムパフォーマンスは 10~15 倍に改善しました。

AHCI

AHCI(アドバンスト・ホスト・コントローラ・インターフェース)は、SATA 接続されたストレージデバイスのパフォーマンスおよび使いやすさを改善するため、2004 年頃に設計された通信モードです。HDD 用に設計されており、単一のストレージリクエストキューを採用し、そこに最大 32 件のコマンドを入れることができました。つまり、HDD のスループットとパフォーマンスの向上を達成できましたが、これを実装すると、将来、SSD コントローラ技術にとってはボトルネックになりかねないものでした。たとえば HDD が1秒あたり最大 200 件の入出力操作(IOPS)を達成できたのに対して、SATA ベースの SSD は最大 100,000 IOPS に達することができるため、SATA バスによって人為的にパフォーマンスの上限が設けられていました。

M.2 NVMe SSD

PC に取り付けられた Kingston NVMe SSD

NVMe(Non-Volatile Memory Express)技術は、SATA インターフェイスと通信プロトコルのさまざまなボトルネックを解決するため、2011 年に発表されました。NVMe 技術では、SATA バスの代わりに PCIe バスを活用し、ストレージデバイスの膨大な帯域幅の潜在能力を解放します。PCIe 4.0(現在のバージョン)では、最大 32 レーンを提供しており、理論的には最大64,000MB/秒でデータを転送できます。これと比較して、SATA III の仕様の限界は 600MB/秒です。また NVMe の仕様では、65535 個のコマンドキューを持つことができ、各キューに 65535 件のコマンドを入れることができます。SATA ベースの SSD ではキューを1つしか持つことができず、キューに入れられるコマンドの数はわずか 32 件でした。NVMe 技術によって、さまざまなシステムで効率、パフォーマンス、および相互運用性が向上したために、ストレージデバイスに大きな可能性が生まれました。一般には、この技術が新しい業界標準になると考えられています。

SSD のフォームファクタ

HDD が通常 2.5 または 3.5 インチ幅なのに対して、ほとんどの SATA ベースの SSD は 2.5 インチ幅で、厚さは 7mm です。NVMe ドライブでは、各種デバイスに適合できるように数多くの新しいフォームファクタが加わっています。

  • M.2 - M.2 フォームファクタでは物理的なドライブサイズを縮小しているため、これらのストレージデバイスを将来あらゆる場所で使用することができます。ミリメートル単位で 22 は幅を示し、30/42/80/110 は長さを示します。現在、M.2 2280 はSATA をサポートしており、また、NVMe 用としてもっとも一般的に使用されている NVMe SSD フォームファクタでもあります。技術が改良され、さらに縮小化に向かえば、この状況は変化する可能性があります。
  • U.2 - これらはもっとも高価で高パフォーマンスの高耐久性ストレージデバイスで、通常はデータセンター/エンタプライズ環境で使用されています。
  • アドイン PCIe カード - これらの高パフォーマンス NVMe SSD は、M.2 フォームファクタを収納するソケットをまだ採用していないシステムで使用されています。

SSD パフォーマンスのまとめ

NVMe は、SSD を念頭に置いて専用設計されたストレージプロトコルです。中間の SATA HBA 層がないために NVMe では SSD が PCIe バス経由で CPU と直接通信でき、画期的なパフォーマンス向上の道が開けました。これと比較して、SATA III バスのパフォーマンス制限は6Gb/秒ですので、SATA SSD はオーバーヘッドを除いて最大 550MB/秒のスループットを提供できます。単一の PCIe 3.0 は 1GB/秒(双方向)のスループットを提供できますので、PCIe 3x4 SSD では最大 4GB/秒の読み書きスループットに到達可能です。PCIe Gen 4X4 SSD では最大 8GB/秒(双方向)にまで上昇します。ここではパフォーマンスの限界の原因が、プロトコルから NAND メディアへと移りましたが、ここ数年で多くの開発が行われてきたため、メーカーは最小のフォームファクタに最高の密度とパフォーマンスを詰め込むことができるようになりました。

NVMe では、データ経路の短縮と最適化によって、プロトコルの待ち時間が大幅に短縮し、SATA/SAS よりも待ち時間が少なくなりました。NVMe デバイス内のキュー管理も、CPU のオーバーヘッドを大幅に減らす入出力処理ドアベル信号 によって、CPU でさらに効率よく処理されるようになりました。また、ここ 10 年間に行われた膨大な開発努力によって、NVMe デバイスは主要なオペレーティングシステムのほとんどでサポートされるようになっています。

#KingstonIsWithYou

関連動画

関連記事