GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • メインページ
  • コミュニティ・ポータル
  • 最近の出来事
  • 新しいページ
  • 最近の更新
  • おまかせ表示
  • 練習用ページ
  • アップロード (ウィキメディア・コモンズ)
  • 特別ページ
  • ヘルプ
  • 利用案内
  • 井戸端
  • お知らせ
  • バグの報告

This view

  • Original page
  • New address

GeezerVison is showing ja.wikipedia.org — NVM Express - Wikipedia

Non-Volatile Memory Host Controller Interface Working Group
略称 NVMe
設立 2011年
ウェブサイト nvmexpress.org
PCI-ExpressカードタイプのPCIe SSDの例。
NVM Express 1.0準拠、PCIe 3.0 x8対応のデータセンター向けIntel P3608[1] [2] [3]

NVM Express (NVMe、エヌブイエムイー) もしくは NVMHCI (Non-Volatile Memory Host Controller Interface) はPCI Express (PCIe) で不揮発の補助記憶装置を接続するためのインターフェース規格であり、AHCIに代わる次世代規格である。2021年7月現在の最新規格はRev.2.0[4]。NVMは不揮発性メモリ (Non-Volatile Memory) の頭文字である。

概要

PCI-ExpressカードタイプのPCIe SSDの例
NVM Express 1.0準拠、PCIe 3.0 x4対応のコンシューマー向けIntel 750[5]

シリアルATA (SATA) は主にHDD用に設計されたものであり、その限界転送速度である6 Gbpsを超えることは出来ず、SSDの性能を制限していた。

NVMeは近代的なCPU、プラットフォーム、アプリケーションの並列性とフラッシュメモリーの低いレイテンシや内部並列性を最大限利用するよう設計された。その結果、以前のインターフェースに比較してI/Oオーバーヘッドを下げ様々なパフォーマンスを改善し、並列度の高いコマンドキューと低レイテンシが可能になった。

NVMe規格制定以前よりハイエンドSSD製品の中には、PCI Expressを使用した非標準のインターフェースで接続するものもあったが、各SSDメーカーのドライバが必要であった。この規格で各メーカーが特定のインターフェースのためにドライバを設計する必要はなくなった。

代表的なNVMeデバイスには次の種類がある:

  • PCI Express標準サイズの拡張カード
  • PCI Expresハーフハイトの拡張カード
  • 2.5インチのカード型。U.2コネクター(SFF-8639)の4レーンのPCI Express
    • U.3
  • M.2コネクタ
  • EDSFF (Enterprise and Data Center SSD Form Factor): SFF-TA-1002
    • E1.S: SFF-TA-1006
    • ES: SFF-TA-1008, SFF-TA-1023
      • E3.L
      • E3.S
  • NGSFF (Next Generation Small Form Factor): NF1

経緯

不揮発性メモリにアクセスする新しい標準規格はインテル・デベロッパー・フォーラムで2007年に最初に公開され、コントローラーとフラッシュメモリー間のI/Fとして「Open NAND Flash Interface Working Group」のONFIが、ホストとコントローラのI/FとしてNVMHCIが示された[6]。同年にインテルが主導するNVMHCIワーキンググループが結成された。NVMHCI 1.0の仕様の策定は2008年4月に完了しインテルのウェブサイトで公開された[7] [8] [9]。

NVMeの技術的な策定は2009年後半に始まり[10]、90社以上の企業で構成される「NVM Express Workgroup」で開発された。インテルのアンバー・ハフマンが同グループの議長を務めた。仕様書のバージョン1.0は2011年3月1日に[11]、バージョン1.1は2012年10月11日に発表された[12]。バージョン1.1で追加された主な特色はマルチパス I/O(名前空間の共有あり)と任意長のスキャッタ/ギャザーI/Oである。今後は名前空間管理の大幅な強化が期待されている[10]。NVMe 1.1は機能に重点を置いているためエンタープライズNVMHCIとも呼ばれた[13]。2013年1月、NVMe仕様のアップデートバージョン「1.0 e-」が公開された[14]。

2012年8月には最初のNVMeチップセットがIntegrated Device Technology社から発売された(89HF16P04AG3および89HF32P08AG3)[15] [16]。最初のNVMeドライブは、2013年7月に発表されたサムスンのXS1715エンタープライズドライブであり、3 GB/s の読み取り速度をサポートし、同社の過去のエンタープライズ製品よりも6倍高速であるとしている[17]。2013年11月に発売されたLSI SandForce SF3700 コントローラーもNVMeをサポートし[18]、同コントローラーのPCI Express 2.0 ×4を搭載したサンプルでは、1,800 MB/秒の読み取り/書き込みシーケンシャル速度と、150K/80KのランダムIOPSが確認された[19]。また、同コントローラーを使用したKingston HyperXのプロシューマー製品がコンシューマー・エレクトロニクス・ショー2014で展示され、同様の性能が示された[20][21]。2014年6月、インテル初のNVMe製品として、PCI Expressバスのintel SSD データセンターファミリー DC P3700シリーズ、DC P3600シリーズ、DC P3500シリーズが発表された[22]。

2014年3月にグループは法人化して「NVM Express, Inc.」となり、2014年11月時点で同社は65社以上の企業で構成されている。NVMeの仕様は同社が所有、保守しており、業界標準としての認知度向上も促進している。同社はPromoter Groupから選ばれた13名(シスコ、デル、EMC、HGST、インテル、マイクロン、マイクロソフト、NetApp、Oracle、PMC、サムスン、サンディスク、シーゲイト)の取締役会によって運営されている[23]。

AHCIとの違い

Advanced Host Controller Interface (AHCI) は幅広いソフトウェアとの互換性が利点であるが、PCI Expressに接続したSSDの性能を発揮しきれないという欠点もある。AHCIは当時一般的であったハードディスクとCPUやメモリの接続を念頭に設計されたためである。SSDはハードディスクと比べると半導体メモリ寄りの特性を持つ [24] [25]。

NVMeはPCIe SSDの低遅延、並列性と現代的なCPU、プラットフォーム、アプリケーションの並列処理との組み合わせを最大限に生かすために一から設計しなおされた。結果として下表の通り様々なパフォーマンスが改善された[24] [25] [26]。

AHCI と NVMeの仕様の違い[24] [25]
AHCI NVMe
最大キュー深度 コマンドキュー: 1個
32 コマンド/キュー
コマンドキュー: 65536個
65536 コマンド / キュー[27]
Un-cacheable register accesses (2000 サイクル毎) 6 / 未キューコマンド
9 / キュー済コマンド
2 / コマンド
MSI-Xと割り込みステアリング 単一の割り込み
ステアリング 無し
2048 MSI-X 割り込み
並列処理、マルチスレッド 同期ロックが必要 ロック不要
4 KB コマンドの効率 コマンド・パラメータ はホスト側のDRAMから直列で2フェッチが必要 コマンド・パラメータ は単一のフェッチ(64 Byte)で済む

仕様

これまでのNVMeの仕様は以下の通り[28]。

  • 1.0e (2013年1月)
  • 1.1b (2014年7月)
  • 1.2 (2014年11月)
    • 1.2a (2015年10月)
    • 1.2b (2016年6月)
    • 1.2.1 (2016年6月)
  • 1.3 (2017年5月)
    • 1.3a (2017年10月)
    • 1.3b (2018年5月)
    • 1.3c (2018年5月)
    • 1.3d (2019年3月)
  • 1.4 (2019年6月)
    • 1.4a (2020年3月)
    • 1.4b (2020年9月)
  • 2.0 (2021年5月)
    • 2.0a (2021年7月)
    • 2.0b (2022年1月)

対応OS

LinuxカーネルのNVMeデータパス[29]
ChromeOS
2015年2月24日、NVMeからの起動に対応[30] [31]。
DragonFly BSD
DragonFly 4.6でドライバを搭載[32]。
FreeBSD
HEADとSTABLE/9の両ブランチにインテルがドライバを提供した[33][34]。FreeBSD 10.2 以降、nvd(4) と nvme(4) のドライバがGENERICカーネルに含まれている[35]。
Haiku
将来的に対応予定[36]。
illumos
2014年10月15日に対応を開始[37]。
iOS / iPadOS
iPhone 6Sと6S PlusでAppleがスマートフォンでNVMe over PCIeを採用。その後同技術を使用するiPad ProとiPhone SE を発売[38]。
Linux
Intelは2012年3月19日リリースのLinuxカーネル3.3でドライバーを公開[39][40][41][42]。
主にFusion-ioが開発した高性能SSD用のブロックレイヤー「blk-multiqueue」(blk-mq)が2014年1月19日リリースのLinuxカーネル3.13に統合された。これによりより高いI/O送信率を実現している。Linuxカーネルのブロック層の新設計により内部キューは2つのレベル(CPUとハードウェアサブミッションキュー)に分割され、ボトルネックが取り除かれてI/Oの高並列化が可能になった[43] [44] [45]。
2015年4月12日にリリースされたLinuxカーネル4.0では以下のドライバがNVMeを使用するように変更された[46] [47] [48]:
  • VirtIOブロックドライバ
  • SCSI層(SATAドライバ)
  • ループデバイスドライバ
  • アンソートブロックイメージ (UBI)ドライバ(フラッシュメモリの消去ブロック管理層)
  • RBDドライバ(Ceph RADOSオブジェクトをブロックデバイスとしてエクスポート)
NetBSD
NetBSD-8.0でNVMeをサポート[49]。実装はOpenBSD 6.0に由来[50]。
OpenBSD
過去にUSB 2.0とAHCIサポートを担当していた上級開発者によって2014年4月から作業開始[51]。OpenBSD 6.0でサポート[52]。
macOS
OS X Yosemite10.10.3で導入。Retina MacBookはPCIe over NVMeをインターフェイスとして利用[53]。
Solaris
Oracle Solaris 11.2でサポート[54]。
VMware
IntelはvSphere 6.0以降へVMware[55]用のドライバーを提供[56]。vSphere 6 update 1では、VMwareのソフトウェア定義ストレージサブシステム「VSAN」もNVMeデバイスをサポート[57]。
Windows
Windows 8.1およびWindows Server 2012 R2から対応[26] [58]。Windows 7およびWindows Server 2008 R2もアップデートでドライバが提供された[59]。
OpenFabricsアライアンスは、Windows 7/8/8.1及びWindows Server 2008R2/2012/2012R2用のオープンソースのNVMe Windowsドライバーを保持している。これはNVMeワークグループの一部のプロモーター企業、特にIDT、Intel、LSIのベースラインコードから開発されている[60]。現行バージョンは1.4(2014年12月にリリース)[61]。

ソフトウェアサポート

QEMU
2013年8月15日にリリースされた v1.6以降のQEMUがNVMeに対応[62]。
UEFI
SourceforgeからUEFI用オープンソース NVMeドライバーが利用可能[63]。

脚注

  1. ↑ “インテル、NVMe対応の超高速SSD「P3608」シリーズを発表 4TBは実売108万円”. ZDNet Japan (2015年9月28日). 2026年1月11日閲覧。
  2. ↑ “Intel、最大5GB/secのデータセンター向けNVMe SSD ~前モデルとの性能比は約2倍に向上”. PC Watch (2015年9月24日). 2026年1月11日閲覧。
  3. ↑ “リード5,000MB/sの超高速SSD「Intel DC P3608」が受注販売”. AKIBA PC Hotline! (2016年7月6日). 2026年1月11日閲覧。
  4. ↑ NVMeBMaster. “Specifications” (英語). NVM Express. 2021年7月7日閲覧。
  5. ↑ “Intel、リード最大2,400MB/secのコンシューマ向けSSD「750」”. PC Watch. 2026年1月11日閲覧。
  6. ↑ “Speeding up Flash... in a flash”. The Inquirer (2007年10月13日). 2014年1月11日閲覧。
  7. ↑ http://www.bswd.com/FMS09/FMS09-T2A-Huffman.pdf
  8. ↑ “Flash new standard tips up”. The Inquirer (2008年4月16日). 2014年1月11日閲覧。
  9. ↑ http://www.flashmemorysummit.com/English/Collaterals/Proceedings/2008/20080813_T2A_Huffman.pdf
  10. 1 2 http://www.flashmemorysummit.com/English/Collaterals/Proceedings/2013/20130813_A12_Onufryk.pdf
  11. ↑ “New Promoter Group Formed to Advance NVM Express” (PDF). Press release. June 1, 2011. 2013年9月18日閲覧.
  12. ↑ Amber Huffman editor (2012年10月11日). “NVM Express Revision 1.1”. Specification. 2013年9月18日閲覧。
  13. ↑ David A. Deming (2013年6月8日). “PCIe-based Storage” (PDF). snia.org. 2014年1月12日閲覧。
  14. ↑ Amber Huffman editor (2013年1月23日). “NVM Express Revision 1.0e”. Specification. 2013年9月18日閲覧。
  15. ↑ “IDT releases two NVMe PCI-Express SSD controllers”. The Inquirer (2012年8月21日). 2014年1月11日閲覧。
  16. ↑ “IDT Shows Off The First NVMe PCIe SSD Processor and Reference Design - FMS 2012 Update”. The SSD Review (2012年8月24日). 2014年1月11日閲覧。
  17. ↑ “Samsung Announces Industry’s First 2.5-inch NVMe SSD | StorageReview.com - Storage Reviews”. StorageReview.com (2013年7月18日). 2014年1月11日閲覧。
  18. ↑ “LSI SF3700 SandForce Flash Controller Line Unveiled | StorageReview.com - Storage Reviews”. StorageReview.com (2013年11月18日). 2014年1月11日閲覧。
  19. ↑ “LSI Introduces Blazing Fast SF3700 Series SSD Controller, Supports Both PCIe and SATA 6Gbps”. hothardware.com. 2015年3月21日閲覧。
  20. ↑ Jane McEntegart. “Kingston Unveils First PCIe SSD: 1800 MB/s Read Speeds”. Tom's Hardware. 2015年3月21日閲覧。
  21. ↑ “Kingston HyperX Predator PCI Express SSD Unveiled With LSI SandForce SF3700 PCIe Flash Controller”. hothardware.com. 2015年3月21日閲覧。
  22. ↑ “Intel® Solid-State Drive Data Center Family for PCIe*”. Intel. 2015年3月21日閲覧。
  23. ↑ “NVM Express  » NVM Express Organization History”. www.nvmexpress.org. 2015年12月23日閲覧。
  24. 1 2 3 Dave Landsman (2013年8月9日). “AHCI and NVMe as Interfaces for SATA Express Devices – Overview” (PDF). SATA-IO. 2013年10月2日閲覧。
  25. 1 2 3 Dave Landsman and Don Walker (2013年11月15日). “NVMe and AHCI as SATA Express Interface Options final” (PDF). SATA-IO. 2023年11月7日閲覧。
  26. 1 2 Andy Herron (2013年). “Advancements in Storage and File Systems in Windows 8.1” (PDF). snia.org. 2014年1月10日時点のオリジナルよりアーカイブ。2014年1月11日閲覧。
  27. ↑ NVM Express specification revision 1.2. section 1.4 Theory of Operation. http://nvmexpress.org/wp-content/uploads/NVM_Express_1_2_Gold_20141209.pdf. 
  28. ↑ NVMe Specifications
  29. ↑ “Linux Storage Stack Diagram”. Thomas-Krenn.AG (2015年6月1日). 2015年6月8日閲覧。
  30. ↑ “NVM Express  » ChromeOS adds boot support for NVM Express”. nvmexpress.org. 2015年3月21日閲覧。
  31. ↑ “4f503189f7339c667b045ab80a949964ecbaf93e - chromiumos/platform/depthcharge - Git at Google”. googlesource.com. 2015年3月21日閲覧。
  32. ↑ “DragonFly BSD 4.6”. www.dragonflybsd.org. 2016年9月8日閲覧。
  33. ↑ “Log of /head/sys/dev/nvme”. FreeBSD source tree. The FreeBSD Project. 2012年10月16日閲覧。
  34. ↑ “Log of /stable/9/sys/dev/nvme”. FreeBSD source tree. The FreeBSD Project. 2013年7月3日閲覧。
  35. ↑ “FreeBSD 10.2-RELEASE Release Notes”. The FreeBSD Project. 2015年8月5日閲覧。
  36. ↑ “#9910 NVMe devices support”. dev.haiku-os.org. 2016年7月28日閲覧。
  37. ↑ “4053 Add NVME Driver Support to Illumos”. github.com. 2016年5月23日閲覧。
  38. ↑ Ho, Joshua. “iPhone 6s and iPhone 6s Plus Preliminary Results”. www.anandtech.com. 2016年6月1日閲覧。
  39. ↑ Matthew Wilcox (2011年3月3日). “NVM Express driver”. LWN.net. 2013年11月5日閲覧。
  40. ↑ Keith Busch (2013年8月12日). “Linux NVMe Driver” (PDF). flashmemorysummit.com. 2013年11月5日閲覧。
  41. ↑ “IDF13 Hands-on Lab: Compiling the NVM Express Linux Open Source Driver and SSD Linux Benchmarks and Optimizations” (PDF). activeevents.com (2013年). 2014年1月11日閲覧。
  42. ↑ “Merge git://git.infradead.org/users/willy/linux-nvme”. kernel.org (2012年1月18日). 2013年11月5日閲覧。
  43. ↑ “Linux kernel 3.13, Section 1.1 A scalable block layer for high-performance SSD storage”. kernelnewbies.org (2014年1月19日). 2014年1月25日閲覧。
  44. ↑ Jonathan Corbet (2013年6月5日). “The multiqueue block layer”. LWN.net. 2014年1月25日閲覧。
  45. ↑ “Linux Block IO: Introducing Multi-queue SSD Access on Multi-core Systems” (PDF). kernel.dk. ACM (2013年). 2014年1月25日閲覧。
  46. ↑ “Linux kernel 3.18, Section 1.8. Optional multiqueue SCSI support”. kernelnewbies.org (2014年12月7日). 2014年12月18日閲覧。
  47. ↑ “Linux kernel 4.0, Section 3. Block”. kernelnewbies.org (2015年5月1日). 2015年5月2日閲覧。
  48. ↑ “Linux Multi-Queue Block IO Queueing Mechanism (blk-mq) - Device Drivers”. thomas-krenn.com (2015年6月8日). 2015年6月8日閲覧。
  49. ↑ “Significant changes from NetBSD 7.0 to 8.0”. Significant changes from NetBSD 7.0 to 8.0 (2016年5月1日). 2025年7月25日閲覧。
  50. ↑ “nvme(4) - NetBSD Manual Pages”. NetBSD Manual Pages (2017年4月27日). 2025年7月25日閲覧。
  51. ↑ David Gwynne (2014年4月16日). “non volatile memory express controller (/sys/dev/ic/nvme.c)”. BSD Cross Reference. 2014年4月27日閲覧。
  52. ↑ David Gwynne (2016年4月14日). “man 4 nvme”. OpenBSD man page. 2016年8月7日閲覧。
  53. ↑ “Faster 'NVM Express' SSD Interface Arrives on Retina MacBook and OS X 10.10.3”. macrumors.com. 2015年4月11日閲覧。
  54. ↑ “nvme(7D)”. Oracle. 2014年12月2日閲覧。
  55. ↑ “Intel Solid-State for NVMe Drivers”. intel.com (2015年9月25日). 2016年3月17日閲覧。
  56. ↑ “VMware Compatibility Guide for NVMe devices”. vmware.com. 2016年3月17日閲覧。
  57. ↑ “VSAN Now Supporting NVMe Devices”. vmware.com (2015年11月11日). 2016年3月17日閲覧。
  58. ↑ “Windows 8.1 to support hybrid disks and adds native NVMe driver”. Myce.com (2013年9月6日). 2014年1月11日閲覧。
  59. ↑ “Update to support NVM Express by using native drivers in Windows 7 or Windows Server 2008 R2”. Microsoft (2014年11月13日). 2014年11月17日閲覧。
  60. ↑ “Windows NVM Express”. Project web site. 2013年9月18日閲覧。
  61. ↑ https://svn.openfabrics.org/svnrepo/nvmewin/releases/
  62. ↑ “ChangeLog/1.6”. qemu.org. 2015年3月21日閲覧。
  63. ↑ “Download EDK II from”. SourceForge.net. 2014年1月11日閲覧。

関連項目

Advanced Host Controller Interface

外部リンク

  • 公式ウェブサイト
  • LFCS: Preparing Linux for nonvolatile memory devices, LWN.net, April 19, 2013, by Jonathan Corbet
  • Multipathing PCI Express Storage, Linux Foundation, March 12, 2015, by Keith Busch
  • SNIA: Solid State Drive Form Factors
  • Samsung: NGSFF SSD
バス
主要項目
  • システムバス
  • フロントサイドバス
  • バックサイドバス
  • デイジーチェーン
  • コントロールバス
  • アドレスバス
  • バスコンテンション
  • バスマスタリング
  • ネットワークオンチップ
  • プラグアンドプレイ
  • バス帯域幅の一覧
コンピュータバス規格
  • S-100バス
  • Unibus
  • VAXBI
  • MBus
  • STD Bus
  • SMBus
  • Q-bus
  • Europe Card Bus
  • ISA
  • STEbus
  • Zorro II
  • Zorro III
  • CAMAC
  • FASTBUS
  • LPC
  • HP Precision Bus
  • EISA
  • VME
  • VXIバス
  • NuBus
  • TURBOchannel
  • MCA
  • SBus
  • Cバス
  • NESA(Eバス)
  • 98ローカルバス
  • VLB
  • HP GSC bus
  • CoreConnect
  • InfiniBand
  • UPA
  • AGP
  • Compute Express Link (CXL)
  • Direct Media Interface (DMI)
  • RapidIO
  • インテル QuickPath インターコネクト
  • HyperTransport
  • NVLink
  • APバス
ストレージバス規格
  • ST-506
  • ESDI
  • SMD
  • Parallel ATA
  • SSA
  • DSSI
  • HIPPI
  • シリアルATA
    • eSATA
    • eSATAp
    • mSATA
  • SCSI
    • Parallel SCSI
    • Serial Attached SCSI
  • ファイバーチャネル
  • SATA Express
  • U.2 (SFF-8639)
  • U.3
  • M.2
  • NVM Express
  • EDSFF
ペリフェラルバス規格
  • Apple Desktop Bus
  • HP-IL
  • HIL
  • MIDI
  • マルチパス
  • RS-232 (シリアルポート)
  • EIA/RS-422
  • RS-423
  • RS-485
  • DMX512-A
  • IEEE-488 (GPIB)
  • IEEE-1284 (パラレルポート)
  • UNI/O
  • ACCESS.bus
  • 1-Wire
  • I²C
  • SPI
  • EIA/RS-485
  • Parallel SCSI
  • Profibus
  • USB
    • USB Type-C
    • Thunderbolt
  • FireWire (IEEE-1394)
  • PCI
    • PCI-X
    • PXI
  • PCI Express
    • External PCI Express
    • Thunderbolt
    • PXI Express
  • Camera Link
オーディオ規格
  • ADAT Lightpipe
  • AES3
  • Intel HD Audio
  • Inter-IC Sound
  • MADI
  • McASP
  • S/PDIF
  • トスリンク
コンピュータバス規格 (ポータブル)
  • PCカード
  • ExpressCard
コンピュータバス規格 (組み込み)
  • Multidrop bus
  • AMBA
  • Wishbone
  • AXI
ビークルバス
  • LIN
  • J1708
  • J1587
  • FMS
  • J1939
  • CAN
  • VAN
  • FlexRay
  • IDB-1394
  • MOST
  • 補足:インタフェースのリストは通信速度がおおよそ速い順。セクションの最後に挙げているインタフェースが最も速い。
  • カテゴリ カテゴリ
「https://ja.wikipedia.org/w/index.php?title=NVM_Express&oldid=111666572」から取得
カテゴリ:
  • インタフェース規格
  • 補助記憶装置
  • PCI Express
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.