NVMeの速度が優れているのは当然だ。ストレージおよびサーバーベンダーの錚々たるコンソーシアムが、PCIeバスを利用してNAND SSDを高速化する高性能インターフェース仕様としてNVMeを開発した。NVMeの論理デバイスインターフェースは、SSDの低レイテンシーと並列性を活用してIOPSとスループットを向上させ、レイテンシーを低減する。
NVMeプロトコルは、フラッシュに特化した改善により、高帯域幅と低レイテンシーを実現する。現在のNANDフラッシュをサポートし、永続メモリーテクノロジーに依存する将来の高性能デバイスにも対応できるよう拡張可能だ。NVMeの速度は、それ以前に登場したSATAおよびSASドライブの性能を上回るが、サーバーやデータセンターへのSSD導入を検討する理由は、速度だけではない。このガイドでは、NVMeストレージデバイスの機能と制限の両方を取り上げる。
ジャンプ先:
- NVMe SSDの速度はどの程度か
- NVMeのアーキテクチャ
- NVMeの速度を高める6つの機能
- NVMeの3つの制限
- NVMe-oF(NVMe over Fabrics)
- NVMeの速度と他の種類のSSDとの比較
- 結論:NVMeの速度
NVMe SSDの速度はどの程度か
NVMe(Non-Volatile Memory Express)は、メモリー処理の効率を飛躍的に高め、読み書き速度を向上させるよう設計されている。SATAやSASなど、旧来のストレージプロトコルの速度を容易に上回る。主なNVMe SSDベンダーには、Samsung、Kingston Technology、Crucial、Kioxia、Western Digitalなどがある。
最大64Kのキュー
NVMeは、PCI Expressを利用するアーキテクチャにより、速度を目的に設計されている。PCIe規格は共有メモリーを介して処理をマッピングし、内部ソフトウェアを簡素化するとともに、最大64,000個のキューによってI/Oを最適化する。
従来のプロトコルからの速度向上
NVMeの機能による大幅な高速化により、従来のSASおよびSATA SSDよりも高速で、SAS/SATA HDDは言うまでもない。これらの速度は、SATAハードドライブやSSDの5~10倍になることが多い。
最高速度
最速クラスのNVMeドライブの中には、読み取り速度が7 GB/s、書き込み速度が5~6 GB/sに達するものがある。同じドライブで、ランダム読み取りIOPSは500,000以上、書き込みIOPSは500,000に達する。
SSDのパフォーマンスと価格について詳しく見るSSDのパフォーマンスと価格。
NVMeのアーキテクチャ
NVMeは、コンピューターまたはサーバーのPCI Expressバス規格を使用して、NVMe SSDを中央処理装置に接続する。CPUへより直接的にアクセスできるため、NVMeドライブは別の通信ステップを省略できる。例えばSATA SSDは、CPUとの通信にSATAコントローラーを使用しなければならない。この追加ステップには時間がかかるため、読み書き速度はそれほど速くない。NVMeドライブはCPUとの通信距離が短く、速度が向上する。
NVMe SSDの複数スレッドも性能を向上させる。ドライブ上の複数スレッドによって並列処理が可能になり、ストレージディスクは一度に複数の処理を実行できる。これは、大規模なアプリケーションを同時に実行するコンピューターやサーバーに有効だ。
NVMe仕様は、標準サイズのPCIe拡張カード、またはU.2コネクター経由の4レーンPCIeインターフェースを備えた2.5インチフォームファクターで提供される。導入が容易なことから人気の高いU.2は、SSDをホストに接続する。NVMe U.2ドライブには、2.5インチフォームファクターで幅広いインターフェースをサポートするため、4本のPCIeレーン、2本のSASレーン、1本のSATAレーンを備えるものが多い。
PCIe、SATA、USBフォームファクター向けのM.2ミニボード仕様は、コンシューマー向けNVMeで広く採用されている標準規格だ。M.2ボードには複数のサイズがあり、PCIeのフットプリントとして最小のものも含まれる。
NVMeディスクのストレージ容量は、コンシューマー向けの450GBから始まる。現在、データセンター向けの最大容量は約30TBに達するが、これは非常に大容量の部類に入る。
NVMeの速度を高める6つの機能
NVMeインターフェースは、より高速な速度への対応、サーバー性能の向上、コマンドのより効率的なマッピングを目的に設計されているため、従来のインターフェースを上回る。NVMe SSDのこれらの機能により、従来のディスクやSATA SSDよりも全体的に高速なドライブとなっている。
SSDの並列性
このアーキテクチャはSSDの並列性を活用し、I/Oオーバーヘッドを削減する。HDDやテープは、アクセスパターンの影響を受けやすい。シーケンシャルデータでは性能が向上する一方、ランダムデータではデータアクセスが遅くなる。SSDは並列に動作するため、ランダムデータかシーケンシャルデータかはSSD性能にほとんど影響しない。
更新されたバス
ハイブリッドフラッシュアレイは、SSD階層がHDDストレージインターフェースの対応速度を上回る性能を持つため、ボトルネックになることが多かった。IT部門は、マルチコアプロセッサーと大量のRAMによって、ある程度これを補っていた。しかし、SSDの速度を活用できるよう設計されたNVMeを導入する方が、効率的でコストも低い。NVMeはPCIeバスと規格を活用し、データ伝送に複数のレーンを使用できる。
性能向上
NVMeの追加機能には、単一キューで64Kの容量をサポートし、こうした長いキューを約64K本同時に処理する機能がある。レイテンシーの低減と相まって、同時にリクエストを処理する負荷の高いサーバーの性能を高める。
RDMA
NVMeは、PCIeバスを使用してリモートダイレクトメモリーアクセス(RDMA)を利用する。これにより、インターフェースはI/Oコマンドと応答をホストの共有メモリーにマッピングでき、CPUリソースが解放される。NVMeはコマンドセットも簡素化しており、SATAやSASの半分未満のCPU命令で処理を実行する。
コントローラーメモリーバッファー
NVMeバッファーを使用すると、ホストはPCIe経由のフェッチコマンドに依存せず、コントローラーメモリー内でコマンドを組み立てられる。NVMeはSCSIコマンドではなくメモリーブロックを渡すため、レイテンシーが低下する。NVMeは、サービスレベル合意のパラメーターを確認して優先コマンドを調停する。
予約
NVMeは、共有ネームスペースを管理してホストアクセスを調整するWindowsクラスターで、マルチホスト予約をサポートする。
NVMeの3つの制限
NVMeベースのドライブは、速度が重視される処理に非常に有効だが、購入して導入するのは簡単ではない。特に、処理ニーズの大きい大企業ではなおさらだ。NVMeの制限には、コスト、システムサポートの不足、設計上の問題がある。
コスト
NVMeベースのストレージは、他のストレージデバイスより高価だ。一般的に、M.2およびU.2 SSDはハードドライブよりも高コストになる。ここ数年で、NVMeドライブと他のドライブの価格差は縮まり、NVMe SSDは手頃になってきた。しかし、大量のデータを扱う場合、大容量ドライブは依然として非常に高価だ。高速性の対価を支払うことになるため、多くの企業にとって、特に大量のアーカイブデータを保存する場合は現実的ではない。
システムサポートの不足
古いコンピューターシステムやサーバーの多くは、NVMeプロトコルをサポートしていない。自社のデータセンターのハードウェアがM.2、U.2、E.1フラッシュドライブに対応していなければ、NVMeを導入する意味はない。すべてのSSDと連携するシステムの開発には時間がかかるうえ、NVMeは比較的新しいプロトコルだ。
設計と容量
一般的なNVMeドライブの多くは、大規模なデータセンター向けには設計されていない。よく耳にするM.2 SSDは、実際にはゲーミングシステムなどのコンシューマー用途、または小規模なスタートアップのITチーム向けに設計されたものだ。しかし、ほとんどの場合、一般的なNVMe SSDは大量のデータ保存には適していない。M.2ドライブのストレージ容量は通常400GB~8TBだが、8TBは非常に大容量の部類に入り、その容量のドライブは高価だ。
一部のベンダーは、データセンター専用ドライブの製造を始めている。Enterprise and Data Center Standard Form Factor(EDSFF)は、エンタープライズ用途向けに特化して設計されている。しかし、大容量ドライブは依然として高価だ。多数のエンタープライズグレードNVMeドライブを使用することは、大半の企業にとって高コスト、あるいは到底実現できない選択肢となる。
NVMe-oF(NVMe over Fabrics)
NVMe over Fabricsは、NVMeデバイスをネットワーク経由で利用可能にする比較的新しいプロトコルだ。データを環境間で迅速に移動する必要があるデータセンター環境に有効である。NVMe-oFの標準規格が初めて公開されたのは2016年で、データセンター技術としてはまだ広く利用されていない。
NVMeには数多くの性能上のメリットがあるが、その速度は個々のホストへの直接接続に依存する。共有ストレージにはストレージコントローラーが不可欠で、容量のプロビジョニング、一部のデータ保護、物理アドレス指定、プロトコル変換を管理する。しかし、ストレージコントローラーを追加するとNVMeの速度は低下し、高コストを正当化する根拠が失われる。
NVMe-oFは、この問題を解決する方法だ。この仕様により、NVMeのメッセージベースのコマンドは、低速なストレージコントローラーを経由せずに、Ethernet、Fibre Channel(FC)、InfiniBandファブリック上でデータを転送できる。ストレージ管理者はNVMe SSDをサーバーから取り外し、ファブリック経由で接続できる。リモートSSDストレージサービスは、極めて低いレイテンシーでメモリー間転送と同等の速度で動作する。
この仕様は、InfiniBand、Converged Ethernet、Internet Wide AreaにRDMAを使用する。Fibre Channel経由の転送には別の方式を使用する。
NVMe over fabricsについて詳しく見るNVMe over fabrics。
NVMeの速度と他の種類のSSDとの比較
この表では、NVMeベースのドライブとSATAドライブのシーケンシャル読み取り・書き込み速度を比較する。NVMeベースのSSDは一貫して高速だが、これらのドライブ間でも速度には大きな差がある。
| フォームファクター/仕様 | 容量 | シーケンシャル読み取り最高速度 | シーケンシャル書き込み最高速度 | |
|---|---|---|---|---|
| NVMeベースSSD | ||||
| Samsung PM9A3 | U.2 | 3.84 TB | 6,900 MB/s | 4,100 MB/s |
| Kingston DC15000M | U.2 | 3.84 TB | 3,300 MB/s | 2,700 MB/s |
| Kioxia XD6 Series | E1.S | 3.84 TB | 6,500 MB/s | 2,350 MB/s |
| SATA SSD | ||||
| Kingston Technology DC450R | 2.5″ | 3.84 TB | 560 MB/s | 530 MB/s |
| Seagate Nytro 1361 | 2.5″ | 3.84 TB | 530 MB/s | 500 MB/s |
記載されている読み書き速度はハードウェアベンダーが提供するもので、理想的な条件下での最高速度を示している。通常のデータセンター環境における日常的な性能を正確に反映しているとは限らない点に注意が必要だ。
詳しく見る:NVMeとSATAの違い。
結論:NVMeの速度
NVMeベースのSSDは高速なデータ処理に最適化され、従来のSSDよりも性能が向上している。しかし、あらゆるストレージ用途に適しているわけではない。ビジネスニーズによっては、次の場合、NVMe SSDは適切な選択肢ではない可能性がある。
- 迅速なアクセスが必要な大量のデータを保存する場合。
- 複数のNVMeドライブを導入する予算がない場合。
- アーカイブストレージを導入する必要がある場合。
さらに、NVMeストレージを導入する前に、現在のストレージハードウェアがNVMeをサポートしていることを確認する必要がある。ストレージソリューション同士が連携して動作しない状況は避けなければならない。そうでなければ、将来的な拡張作業が滞る可能性がある。
1つまたは2つの重要なアプリケーションをサポートする小規模なストレージシステムであれば、高性能なNVMeドライブが適している可能性がある。データストレージでは、常に最新のトレンドをすぐに追いかけるのが最善とは限らない。しかし、慎重に検討し、適切な用途で利用するなら、NVMeストレージは導入する価値がある。
新しいSSDを検討していますか?次に読むべき最適なソリッドステートドライブについてご覧ください。
この記事は2023年3月にJenna Phippsによって更新された。