エンタープライズ、プロフェッショナル、そしてコンシューマー市場におけるソリッドステートドライブ(SSD)の採用が増加するにつれ、互換性を確保するために従来の機械式ハードドライブ用に設計されたインターフェースやフォームファクターにフラッシュメモリをシムする手法は廃れつつあります。ソリッドステートストレージ技術の潜在能力を最大限に活用するため、業界関係者はSSDとコンピューター間の通信に用いる標準インターフェースとしてNVM Expressを考案しました。
TechRepublic の NVM Express チートシートは、高性能でフラッシュファーストなストレージインターフェース仕様の簡単な入門書です。このガイドは、このインターフェースを利用する新しいストレージ技術がリリースされるたびに定期的に更新されます。
参照: クイック用語集: ストレージ (TechRepublic)
NVM Expressとは何ですか?
NVM Express (NVMe)、つまり不揮発性メモリ ホスト コントローラ インターフェイス仕様は、Intel が Optane として販売している NAND や 3D XPoint などのフラッシュベースのストレージ テクノロジの特性の利点を活用するために考案されたデバイス インターフェイス仕様です。
NVM Expressが登場する以前、SSDはシリアルATAまたはSAS経由でコンピューターに接続し、Advanced Host Controller Interface(AHCI)を使用して通信していました。これらの技術は、データのランダムアクセスやデータ転送速度に物理的な限界がある従来の機械式ハードドライブ向けに設計されていました。2010年後半には、主流のコンシューマー向けSSDは、SATAの比較的限られたスループットによってボトルネックになっていた。プロフェッショナルおよびプロシューマー市場では、PCI Express経由で接続するSSDの開発によってこの限界は克服されました。
この戦略によってメーカーはSATA特有の6Gb/s(750MB/s)の速度制限を克服することができただけで、SSDの最高速度はオーバーヘッドを考慮すると約550MB/s程度でした。しかし、これらのドライブはAHCI(ランダムI/Oパフォーマンスのボトルネックをほぼすべて残したまま)を使用するか、カスタムインターフェース仕様を採用するかのいずれかであり、動作はベンダー間、そしてある程度は同一ベンダーのモデル間でも大きく異なっていました。これらのドライブはカスタム設計であったため、使用するにはデバイス固有のソフトウェアドライバーが必要でした。その結果、初期のPCI Express SSDは、Windowsのブートドライブとして使用するのが難しく、ベンダーがLinuxをサポートしていない場合はLinuxで使用するのも困難でした。
NVM Express は、ドライブが使用する予測可能な共通インターフェイスを提供することでこれらの問題を解消します。共通ドライバー仕様によりデバイス固有のドライバーの必要性がなくなり、これらの SSD を使用する際の推測作業が不要になります。
参照: TechRepublic のすべてのチートシートと賢い人向けガイド
注目すべきは、従来のハード ドライブは一般的に 3.5 インチと 2.5 インチのフォーム ファクターで提供されており、SSD は一般的に 2.5 インチまたは mSATA カードとして提供されていることです。NVMe リンク ドライブにはさまざまなフォーム ファクターがありますが、最も一般的なのは M.2 形式で、幅 22mm、長さは 30、42、80、まれに 110 ミリメートルです (M.2 には下位互換性のために SATA 機能が含まれています)。NF1 形式は、データ センターを対象とした M.2 の派生型で、ホットスワップが可能です。以前は SFF-8639 と呼ばれていた U.2 ドライブは、PCI Express 信号を提供するための特殊なコネクタを備えた 2.5 インチ ドライブです。一部のハイエンド ドライブは、通常はハーフ ハイト、ハーフ レングス (HHHL) の PCI Express カードとしてのみ提供されています。
追加リソース
- ウエスタンデジタル、データセンターストレージラインナップにNVMeとフラッシュメモリを追加(ZDNet)
- サムスン、データセンター向け8TB NF1 SSDを発売 (ZDNet)
- 超高速NVMeコントローラがストレージとメモリの境界を曖昧にする(ZDNet)
NVM Express が重要な理由は何ですか?
NVM Expressにより、ドライブメーカーは、従来のプラッター型HDD向けに想定されていたSATA/SASやAHCIのスループットボトルネックに制約されることなく、より高性能なドライブを開発できます。従来のハードドライブで複数のファイルを扱う場合、ドライブヘッドはドライブの様々な部分間を高速に移動し、ディスクへのデータの読み書きを行う必要があります。キャッシュなどのファームウェアの仕組みによってこの動作は隠蔽されていますが、従来のHDDは実質的に一度に1つのファイルしか処理できません。
その結果、従来のHDD向けに設計されたAHCIにはコマンドキューが1つしかなく、キューあたり最大32個のコマンドしか保持できません。この機械的な制限はソリッドステートドライブ(ドライブヘッドがない)には存在しないため、AHCIのこの特性は非常に不利です。NVMeは、最大65535個のコマンドキューを許可することでこの問題に対処し、各キューには最大65536個のコマンドを保持できます。(これは仕様で提供されていますが、実際にこれを活用するにはドライブコントローラがサポートしている必要があります。)
同様に、NVMeは2048個のMSI-X割り込みを提供するのに対し、AHCIはステアリングのない単一の割り込みを提供します。NVMeでは4Kのコマンドパラメータが1回のフェッチで実行されるため、オーバーヘッドも同様に削減されますが、AHCIではホストRAMのフェッチが2回必要です。さらに、NVMeでは並列命令のロックも不要です。全体として、NVMeはフラッシュファーストの哲学を採用しており、ドライブがフラッシュのソリッドステート特性を自由に活用できるようにすることで、より高いパフォーマンスを実現します。
使用されるフラッシュの種類、ドライブ コントローラ、ファームウェアなど、複数の要因がソリッド ステート ドライブの相対的なパフォーマンスに影響を与える可能性があります。最も公平な比較対象は、WDS100T2B0B と WDS100T2X0C です。どちらも Western Digital の比較的新しい 1 TB SSD で、64 層 3D TLC NAND フラッシュを使用しています。前者は SATA/AHCI ドライブで、シーケンシャル読み取り速度は 560 MB/秒、書き込み速度は 530 MB/秒、ランダム読み取り IOPS は 95K と 84K です。一方、後者は PCIe/NVMe ドライブで、シーケンシャル読み取り/書き込み速度も 3400 MB/秒と 2800 MB/秒、ランダム IOPS は 500K と 400K です。このレベルのパフォーマンスは、NVM Express の使用によってのみ実現可能です。
追加リソース
- データセンターにおけるNVMeの可能性を活用する(ZDNet)
- INVMeが主流に(ZDNet)
- NVMe のご紹介: SATA ドライブに別れを告げ、PCI 上の SSD がもたらす驚異的なパフォーマンス (ZDNet)
NVM Express は誰に影響を与えますか?
企業では、NVM Expressの導入によりデータベースのパフォーマンスを大幅に向上させることができます。2015年、南カリフォルニア大学とサンノゼ州立大学の研究者はサムスンと共同で、NVMeのアーキテクチャの違いにより、Linuxカーネルバージョン3.14において「システムソフトウェアのオーバーヘッドが4分の1に減少」することを発見しました。さらに、研究者らは、単一のNVMeドライブと単一のSATAドライブを直接比較した場合、NVMeドライブはデータベースワークロードにおいて「最大8倍のパフォーマンス向上をもたらす可能性がある」と述べています。同様に、単一のNVMeドライブは、4台のSATA SSDによるRAID0アレイよりも「最大5倍」優れたパフォーマンスを発揮します。
グラフィック編集やビデオ制作といったプロフェッショナルおよびプロシューマーのユースケースでは、ドライブのランダムI/O性能よりも、生の読み取り/書き込み速度に大きく依存するため、メリットはやや控えめです。そのため、データベースで見られるような8倍のパフォーマンス向上は、これらのユースケースでは現実的ではありません。前のセクションで比較した2つのドライブの速度例を振り返ると、NVMeは同等のSATA SSDと比較して、読み取り速度で約6倍、書き込み速度で約5.25倍の向上を実現しています。
追加リソース
- SATAフラッシュドライブが時代遅れになっている理由(ZDNet)
- Windows 10:ドライブが故障しそうになると警告を発する便利な新機能(TechRepublic)
- ウエスタンデジタル、NVMe製品でデータセンターポートフォリオを拡大(ZDNet)
- フラッシュストレージと永続メモリではアプリケーションの書き換えが必要になる可能性がある (TechRepublic)
NVM Expressはいつリリースされましたか?
NVMe 仕様の最初のリリースは 2011 年 3 月でしたが、現在のバージョン (1.3c) は 2018 年 5 月にリリースされました。
すべての主要オペレーティングシステムはNVM Expressをサポートしています。Microsoftは2013年10月にWindows 8.1とServer 2012 R2にNVMeのネイティブサポートを組み込み、Windows Updateを通じてWindows 7とServer 2008 R2にもバックポートしました。Appleは2015年4月にOS X Yosemite 10.10.3でNVMeのサポートを追加しました。LinuxにおけるNVMeのサポートは、2012年3月にカーネルバージョン3.3でリリースされました。このサポートは2015年2月にChrome OSに追加されました。
NVM Expressのサポートは、OpenBSD 6.0、NetBSD-current、FreeBSD 10.2、DragonFly BSD 4.6、Oracle Solaris 11.2、OpenSolarisフォークのillumosにも存在します。VMwareはvSphere 6.0以降でNVMeをサポートしています。当然のことながら、これらの製品の後続バージョン(Windows 10、OS X 10.4 Mojaveなど)でもNVM Expressのサポートは継続されます。
追加リソース
- 新しいストレージフォームファクタが HPC の高密度化をどのように実現するか (TechRepublic)
- サムスン、ハイニックス、マイクロンがDRAM価格操作でPC価格を引き上げていたとして提訴される(TechRepublic)
NVM Express 搭載ドライブを入手するにはどうすればよいですか?
比較的新しいPCユーザーはNVMe SSDを使用できます。多くのベンダーがNVMeドライブを内蔵したPCを出荷しています。Macユーザーの場合、Appleは2015年のRetina MacBookからNVMe SSDを採用し、2016年にはTouch Bar搭載MacBook Pro、そして2017年中期Retina iMacのほとんどの構成と2017年iMac Proの全構成にも採用しました。
PCの場合、新しいマザーボードにはSSD接続用の専用M.2スロットが搭載されていることが多いです。これらのコネクタが搭載されていない新しいマザーボードの場合は、既存のPCI Expressスロットを使用してM.2ドライブを接続できるアダプタカードが利用可能です。一部のドライブメーカーはSSDにこのアダプタカードをバンドルして提供していますが、すべてのメーカーのドライブで使用できる安価な汎用ソリューションも一般的に提供されています。
NVM Expressドライブのパフォーマンスは、PCI Expressのリビジョンとレーン数によって大きく左右されます。PCI Express 2.0はレーンあたり500MB/秒、PCI Express 3.0はレーンあたり約985MB/秒をサポートします。PCI Express 2.0のみを搭載した古いコンピューターでもNVMe SSDを使用できますが、ほとんどのNVMe SSDは4レーン(x4)インターフェースを採用しているため、理論上のピーク速度は2000MB/秒に制限されます。ただし、実際にはオーバーヘッドの影響で10~15%低下します。そのため、前述のWDS100T2X0Cドライブで仕様に記載されている3400MB/秒の読み取り速度を達成することは不可能です。
関連する問題は、Lenovo のビジネス向けノートパソコン ThinkPad シリーズで顕著です。第 8 世代 Intel プロセッサ (Kaby Lake Refresh) を搭載した最新の ThinkPad の一部では、システム ボードが 2 つの PCIe 3.0 レーンを SSD に割り当てていますが、SSD 自体 (この場合は Samsung PM981) は x4 インターフェイス用に設計されています。Samsung は、ドライブの読み取り/書き込み速度を 3200 MB/秒と 2400 MB/秒と評価していますが、NotebookCheck による ThinkPad P52s のレビューで実行されたベンチマークでは、速度がそれぞれ 1777 MB/秒と 1722 MB/秒と記録されています。この設計上の欠陥は E480、L480、T580、および T480 に見られますが、X280、T480s、X380 Yoga、および X1 Carbon G6 では x4 インターフェイスが SSD に正しく割り当てられています。
追加リソース
- サムスンが超高速980 PRO PCIe 4.0 SSDを発表(ZDNet)
- NanoPC-T4:ボトルネックの問題のない強力なRaspberry Piの代替品(TechRepublic)
- あらゆるデバイスを完全に消去する方法(ZDNet)

画像: caribb、ゲッティイメージズ/iStockphoto
編集者注:この記事はもともと James Sanders によって執筆され、Brandon Vigliarolo によって更新されました。