NVMe CMB (Controller Memory Buffer)(シーエムビー)
NVMe SSD コントローラ上の DRAM/SRAM 領域をホスト CPU がメモリマップド I/O で直接アクセス可能とする機能。SSD コントローラに搭載された DDR4/5 DRAM・SRAM 領域をホスト OS から見えるように公開し、低遅延 I/O・ピアツーピア DMA (P2P-DMA) を実現する次世代 SSD 機能。
概要
NVMe CMB (Controller Memory Buffer) は、NVMe SSD コントローラ上の DRAM/SRAM 領域をホスト CPU がメモリマップド I/O で直接アクセス可能とする機能で、SSD コントローラに搭載された DDR4/5 DRAM・SRAM 領域をホスト OS から見えるように公開し、低遅延 I/O・ピアツーピア DMA (P2P-DMA、PCIe デバイス間の直接転送) を実現する次世代 SSD 機能です。NVMe 1.2 (2014 年策定) で標準化され、エンタープライズ・データセンター SSD (Intel Optane SSD P4800X・Samsung PM1735・Micron 9400 Pro) を中心に実装が増加しています。最も注目される用途は GPU と SSD の直接 DMA (NVIDIA GPUDirect Storage) で、CPU を介さずに GPU が SSD のデータを直接読込可能となり、AI 学習・推論データロードの高速化に大きく貢献します。ストレージ間 P2P 転送 (RAID 構成)・低遅延キャッシュ (キーバリューストア)・OS バイパス I/O (SPDK) などの用途でも活用される最先端 SSD 機能です。
主な特徴・仕組み
- 標準化: NVMe 1.2 (2014) で初登場・現代の NVMe 2.0+ で標準
- メモリ種類: SSD 内蔵 DDR4/DDR5 DRAM・SRAM (高速バッファ)
- 容量: 数 MB - 数 GB (SSD モデル依存)
- アクセス: ホスト CPU が PCIe 経由でメモリマップド I/O
- レイテンシ: SSD 内 NAND より 1000 倍速 (μs → ns オーダー)
- P2P DMA: GPU/NIC など他 PCIe デバイスから直接アクセス可能
- 用途: GPUDirect Storage・低遅延キャッシュ・Submission Queue 設置
- 対応 SSD: エンタープライズ NVMe SSD で主に実装
- OS 対応: Linux 4.10+ で SPDK + CMB サポート、Windows は限定的
- 競合: PMR (Persistent Memory Region、不揮発 CMB)
スペック比較表
| 機能 | CMB | PMR | DRAM cache | HMB |
|---|---|---|---|---|
| 不揮発性 | × | ○ | × | × |
| ホスト可視 | ○ | ○ | × | ○ |
| 容量 | MB-GB | MB-GB | 1-4GB | 64MB |
| 用途 | 低遅延 | 不揮発キャッシュ | SSD 内部 | DRAM-less SSD |
| 標準化 | NVMe 1.2 | NVMe 1.4 | - | NVMe 1.2 |
具体例・対応技術
- Intel Optane SSD P4800X (2017-): Optane 技術 + CMB、データセンター高遅延敏感用途
- Samsung PM1735 (2020-): PCIe 4.0 エンタープライズ NVMe、CMB 標準
- Micron 9400 Pro (2023-): PCIe 4.0、AI ワークロード向け、CMB 対応
- NVIDIA GPUDirect Storage (2020-): GPU + NVMe 直接 DMA、CMB 活用
- SPDK (Storage Performance Development Kit): Intel 開発、CMB 経由の OS バイパス I/O
自作PCでの選び方・注意点
NVMe CMB は 2026 年現在、エンタープライズ・データセンター・AI ワークステーション向けの先進機能で、一般的な自作 PC では実装 SSD が限定的ですが、AI 開発・大規模データ処理を行う上級者には価値ある技術。NVIDIA GPUDirect Storage と組合せて Llama 3 70B・Flux などの大型 AI モデル読込を CPU レイテンシなしで実現、PyTorch DataLoader の高速化に有効。Intel Optane SSD P4800X (中古 ¥30,000-60,000) は CMB の代表実装で、AI 研究者・データベース運用者に人気。一般 PC ユーザーは CMB を意識する必要はなく、Samsung 990 PRO・Crucial T705 などの通常 NVMe SSD で十分。AI 推論機・データセンター自作サーバ構築では、NVIDIA GPU + GPUDirect Storage 対応 NVMe SSD の組合せで CMB を活用、I/O ボトルネック解消が可能となります。
関連用語との違い
- HMB (Host Memory Buffer): DRAM-less SSD がホスト DRAM を借用、CMB と逆方向
- DRAM Cache: SSD 内部 DRAM、ホストから不可視
- PMR (Persistent Memory Region): NVMe 1.4 の不揮発 CMB
よくある質問(FAQ)
Q1: CMB と DRAM Cache の違い? A: DRAM Cache は SSD コントローラが内部利用、CMB はホスト CPU から可視。CMB が SSD 内 DRAM の一部をホスト公開。
Q2: GPUDirect Storage との関係は? A: GPUDirect Storage は NVIDIA GPU と NVMe SSD の直接 DMA、CMB の P2P 機能を活用して CPU を介さずデータ転送。
Q3: 一般 PC でも有効? A: ほぼ無効、AI 開発・データセンター用途のみ。一般 SSD は CMB 非対応、通常の NVMe I/O で十分。
まとめ
- NVMe CMB = SSD コントローラ DRAM をホスト公開
- 低遅延 I/O・P2P DMA・GPUDirect Storage で活躍
- エンタープライズ NVMe SSD で主に実装
- AI 学習・データセンター用途で価値、一般 PC は不要