NVM Express
NVM Express (NVMe、エヌブイエムイー) もしくは NVMHCI (Non-Volatile Memory Host Controller Interface) はPCI Express (PCIe) で
NVMe | |
2011 | |
ウェブサイト |
nvmexpress |
概要
シリアルATA (SATA) は
NVMeは
NVMe
NVMeデバイスには
- PCI Express
標準 サイズの拡張 カード - 2.5インチのカード
型 。U.2コネクター(SFF-8639)の4レーンのPCI Express- U.3
- M.2コネクタ
- EDSFF (Enterprise and Data Center SSD Form Factor): SFF-TA-1002
- NGSFF (Next Generation Small Form Factor): NF1
経緯
NVMeの
2012
2014
AHCIとの違 い
Advanced Host Controller Interface (AHCI) は
NVMeはPCIe SSDの
AHCI | NVMe | |
---|---|---|
コマンドキュー: 32 コマンド/キュー |
コマンドキュー: 65536 65536 コマンド / キュー[23] | |
Un-cacheable register accesses (2000 サイクル |
6 / 9 / キュー |
2 / コマンド |
MSI-Xと |
ステアリング |
2048 MSI-X |
ロック | ||
4 KB コマンドの |
コマンド・パラメータ はホスト |
コマンド・パラメータ は |
仕様
これまでのNVMeの
- 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.2a (2015
- 1.3 (2017
年 5月 )- 1.3a (2017
年 10月 ) - 1.3b (2018
年 5月 ) - 1.3c (2018
年 5月 ) - 1.3d (2019
年 3月 )
- 1.3a (2017
- 1.4 (2019
年 6月 )- 1.4a (2020
年 3月 ) - 1.4b (2020
年 9月 )
- 1.4a (2020
- 2.0 (2021
年 5月 )- 2.0a (2021
年 7月 ) - 2.0b (2022
年 1月 )
- 2.0a (2021
対応 OS
- ChromeOS
- 2015
年 2月 24日 、NVMeからの起動 に対応 [26][27]。 - DragonFly BSD
- DragonFly 4.6でドライバを
搭載 [28]。 - FreeBSD
- HEADとSTABLE/9の
両 ブランチにインテルがドライバを提供 した[29][30]。FreeBSD 10.2以降 、nvd(4) と nvme(4) のドライバがGENERICカーネルに含 まれている[31]。 - Haiku
将来 的 に対応 予定 [32]。- illumos
- 2014
年 10月15日 に対応 を開始 [33]。 - iOS
- iPhone 6Sと6S PlusでAppleがスマートフォンでNVMe over PCIeを
採用 。その後 同 技術 を使用 するiPad ProとiPhone SE を発売 [34]。 - Linux
- Intelは2012
年 3月 19日 リリースのLinuxカーネル3.3でドライバーを公開 [35][36][37][38]。 主 にFusion-ioが開発 した高性能 SSD用 のブロックレイヤー「blk-multiqueue」(blk-mq)が2014年 1月 19日 リリースのLinuxカーネル3.13に統合 された。これによりより高 いI/O送信 率 を実現 している。Linuxカーネルのブロック層 の新 設計 により内部 キューは2つのレベル(CPUとハードウェアサブミッションキュー)に分割 され、ボトルネックが取 り除 かれてI/Oの高 並列 化 が可能 になった[39][40][41]。- 2015
年 4月 12日 にリリースされたLinuxカーネル4.0では以下 のドライバがNVMeを使用 するように変更 された[42][43][44]:
- VirtIOブロックドライバ
- SCSI
層 (SATAドライバ) - ループデバイスドライバ
- アンソートブロックイメージ (UBI)ドライバ(フラッシュメモリの
消去 ブロック管理 層 ) - RBDドライバ(Ceph RADOSオブジェクトをブロックデバイスとしてエクスポート)
- NetBSD
開発 版 (NetBSD-current)でNVMeをサポート[45]。実装 はOpenBSD 6.0に由来 。- OpenBSD
過去 にUSB 2.0とAHCIサポートを担当 していた上級 開発 者 によって2014年 4月 から作業 開始 [46]。OpenBSD 6.0でサポート[47]。- OS X
- OS X Yosemite10.10.3で
導入 。Retina MacBookはPCIe over NVMeをインターフェイスとして利用 [48]。 - Solaris
- Oracle Solaris 11.2でサポート[49]。
- VMware
- IntelはvSphere 6.0
以降 へVMware[50]用 のドライバーを提供 [51]。vSphere 6 update 1では、VMwareのソフトウェア定義 ストレージサブシステム「VSAN」もNVMeデバイスをサポート[52]。 - Windows
- Windows 8.1およびWindows Server 2012 R2から
対応 [22][53]。Windows 7およびWindows Server 2008 R2もアップデートでドライバが提供 された[54]。 - OpenFabricsアライアンスは、Windows 7/8/8.1
及 びWindows Server 2008R2/2012/2012R2用 のオープンソースのNVMe Windowsドライバーを保持 している。これはNVMeワークグループの一部 のプロモーター企業 、特 にIDT、Intel、LSIのベースラインコードから開発 されている[55]。現行 バージョンは1.4(2014年 12月にリリース)[56]。
ソフトウェアサポート
脚注
- ^ NVMeBMaster. “Specifications” (
英語 ). NVM Express. 2021年 7月 7日 閲覧 。 - ^ “Speeding up Flash... in a flash”. The Inquirer (2007
年 10月 13日 ). 2014年 1月 11日 閲覧 。 - ^ http://www.bswd.com/FMS09/FMS09-T2A-Huffman.pdf
- ^ “Flash new standard tips up”. The Inquirer (2008
年 4月 16日 ). 2014年 1月 11日 閲覧 。 - ^ http://www.flashmemorysummit.com/English/Collaterals/Proceedings/2008/20080813_T2A_Huffman.pdf
- ^ a b http://www.flashmemorysummit.com/English/Collaterals/Proceedings/2013/20130813_A12_Onufryk.pdf
- ^ “New Promoter Group Formed to Advance NVM Express”. Press release. (June 1, 2011) September 18, 2013
閲覧 。 - ^ Amber Huffman editor (October 11, 2012). “NVM Express Revision 1.1”. Specification. September 18, 2013
閲覧 。 - ^ David A. Deming (2013
年 6月 8日 ). “PCIe-based Storage” (PDF). snia.org. 2014年 1月 12日 閲覧 。 - ^ Amber Huffman editor (January 23, 2013). “NVM Express Revision 1.0e”. Specification. September 18, 2013
閲覧 。 - ^ “IDT releases two NVMe PCI-Express SSD controllers”. The Inquirer (2012
年 8月 21日 ). 2014年 1月 11日 閲覧 。 - ^ “IDT Shows Off The First NVMe PCIe SSD Processor and Reference Design - FMS 2012 Update”. The SSD Review (2012
年 8月 24日 ). 2014年 1月 11日 閲覧 。 - ^ “Samsung Announces Industry’s First 2.5-inch NVMe SSD | StorageReview.com - Storage Reviews”. StorageReview.com (2013
年 7月 18日 ). 2014年 1月 11日 閲覧 。 - ^ “LSI SF3700 SandForce Flash Controller Line Unveiled | StorageReview.com - Storage Reviews”. StorageReview.com (2013
年 11月18日 ). 2014年 1月 11日 閲覧 。 - ^ “LSI Introduces Blazing Fast SF3700 Series SSD Controller, Supports Both PCIe and SATA 6Gbps”. hothardware.com. 21 March 2015
閲覧 。 - ^ Jane McEntegart. “Kingston Unveils First PCIe SSD: 1800 MB/s Read Speeds”. Tom's Hardware. 21 March 2015
閲覧 。 - ^ “Kingston HyperX Predator PCI Express SSD Unveiled With LSI SandForce SF3700 PCIe Flash Controller”. hothardware.com. 21 March 2015
閲覧 。 - ^ “Intel® Solid-State Drive Data Center Family for PCIe*”. Intel. 21 March 2015
閲覧 。 - ^ “NVM Express » NVM Express Organization History”. www.nvmexpress.org. 23 December 2015
閲覧 。 - ^ a b c Dave Landsman (2013
年 8月 9日 ). “AHCI and NVMe as Interfaces for SATA Express Devices – Overview” (PDF). SATA-IO. 2013年 10月 2日 閲覧 。 - ^ a b c Dave Landsman and Don Walker (2013
年 11月15日 ). “NVMe and AHCI as SATA Express Interface Options final” (PDF). SATA-IO. 2023年 11月7日 閲覧 。 - ^ a b Andy Herron (2013
年 ). “Advancements in Storage and File Systems in Windows 8.1” (PDF). snia.org. 2014年 1月 10日 時点 のオリジナルよりアーカイブ。2014年 1月 11日 閲覧 。 - ^ NVM Express specification revision 1.2. section 1.4 Theory of Operation .
- ^ NVMe Specifications
- ^ “Linux Storage Stack Diagram”. Thomas-Krenn.AG (2015
年 6月 1日 ). 2015年 6月 8日 閲覧 。 - ^ “NVM Express » ChromeOS adds boot support for NVM Express”. nvmexpress.org. 21 March 2015
閲覧 。 - ^ “4f503189f7339c667b045ab80a949964ecbaf93e - chromiumos/platform/depthcharge - Git at Google”. googlesource.com. 21 March 2015
閲覧 。 - ^ “DragonFly BSD 4.6”. www.dragonflybsd.org. 2016
年 9月 8日 閲覧 。 - ^ “Log of /head/sys/dev/nvme”. FreeBSD source tree. The FreeBSD Project. 16 October 2012
閲覧 。 - ^ “Log of /stable/9/sys/dev/nvme”. FreeBSD source tree. The FreeBSD Project. 3 July 2013
閲覧 。 - ^ “FreeBSD 10.2-RELEASE Release Notes”. The FreeBSD Project. 5 August 2015
閲覧 。 - ^ “#9910 NVMe devices support”. dev.haiku-os.org. 2016
年 7月 28日 閲覧 。 - ^ “4053 Add NVME Driver Support to Illumos”. github.com. 2016
年 5月 23日 閲覧 。 - ^ Ho, Joshua. “iPhone 6s and iPhone 6s Plus Preliminary Results”. www.anandtech.com. 2016
年 6月 1日 閲覧 。 - ^ Matthew Wilcox (2011
年 3月 3日 ). “NVM Express driver”. LWN.net. 2013年 11月5日 閲覧 。 - ^ Keith Busch (2013
年 8月 12日 ). “Linux NVMe Driver” (PDF). flashmemorysummit.com. 2013年 11月5日 閲覧 。 - ^ “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日 閲覧 。 - ^ “Merge git://git.infradead.org/users/willy/linux-nvme”. kernel.org (2012
年 1月 18日 ). 2013年 11月5日 閲覧 。 - ^ “Linux kernel 3.13, Section 1.1 A scalable block layer for high-performance SSD storage”. kernelnewbies.org (2014
年 1月 19日 ). 2014年 1月 25日 閲覧 。 - ^ Jonathan Corbet (2013
年 6月 5日 ). “The multiqueue block layer”. LWN.net. 2014年 1月 25日 閲覧 。 - ^ “Linux Block IO: Introducing Multi-queue SSD Access on Multi-core Systems” (PDF). kernel.dk. ACM (2013
年 ). 2014年 1月 25日 閲覧 。 - ^ “Linux kernel 3.18, Section 1.8. Optional multiqueue SCSI support”. kernelnewbies.org (2014
年 12月7日 ). 2014年 12月18日 閲覧 。 - ^ “Linux kernel 4.0, Section 3. Block”. kernelnewbies.org (2015
年 5月 1日 ). 2015年 5月 2日 閲覧 。 - ^ “Linux Multi-Queue Block IO Queueing Mechanism (blk-mq) - Device Drivers”. thomas-krenn.com (2015
年 6月 8日 ). 2015年 6月 8日 閲覧 。 - ^ “nvme -- Non-Volatile Memory Host Controller Interface”. NetBSD manual pages (2016
年 1月 1日 ). 2016年 9月 2日 閲覧 。 - ^ David Gwynne (2014
年 4月 16日 ). “non volatile memory express controller (/sys/dev/ic/nvme.c)”. BSD Cross Reference. 2014年 4月 27日 閲覧 。 - ^ David Gwynne (2016
年 4月 14日 ). “man 4 nvme”. OpenBSD man page. 2016年 8月 7日 閲覧 。 - ^ “Faster 'NVM Express' SSD Interface Arrives on Retina MacBook and OS X 10.10.3”. macrumors.com. 11 April 2015
閲覧 。 - ^ “nvme(7D)”. Oracle. 2014
年 12月2日 閲覧 。 - ^ “Intel Solid-State for NVMe Drivers”. intel.com (2015
年 9月 25日 ). 2016年 3月 17日 閲覧 。 - ^ “VMware Compatibility Guide for NVMe devices”. vmware.com. 2016
年 3月 17日 閲覧 。 - ^ “VSAN Now Supporting NVMe Devices”. vmware.com (2015
年 11月11日 ). 2016年 3月 17日 閲覧 。 - ^ “Windows 8.1 to support hybrid disks and adds native NVMe driver”. Myce.com (2013
年 9月 6日 ). 2014年 1月 11日 閲覧 。 - ^ “Update to support NVM Express by using native drivers in Windows 7 or Windows Server 2008 R2”. Microsoft (2014
年 11月13日 ). 2014年 11月17日 閲覧 。 - ^ “Windows NVM Express”. Project web site. September 18, 2013
閲覧 。 - ^ https://svn.openfabrics.org/svnrepo/nvmewin/releases/
- ^ “ChangeLog/1.6”. qemu.org. 21 March 2015
閲覧 。 - ^ “Download EDK II from”. SourceForge.net. 2014
年 1月 11日 閲覧 。
関連 項目
外部 リンク
公式 ウェブサイト- 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