fbpx
维基百科

NVM Express

NVM Express(缩写NVMe),或称非易失性内存主机控制器接口规范(英語:Non-Volatile Memory Host Controller Interface Specification,缩写:NVMHCIS),是一个逻辑设备接口规范。它是基於裝置邏輯接口的匯流排傳輸協定規範(相當於通讯协议中的应用层),用于访问通过PCI Express(PCIe)总线附加的非揮發性記憶體介质(例如採用快閃記憶體固態硬碟機),雖然理論上不一定要求PCIe匯流排協定。NVMe是一种协议,是一组允许SSD使用PCIe总线的软硬件标准;而PCIe是实际的物理连接通道。

非易失性内存主机控制器接口工作组
簡稱NVMe
成立時間2011年,​12年前​(2011
類型总线, 硬碟機介面[*]
網站nvmexpress.org
PCI Express型、M.2型(下)

NVM代表非揮發性記憶體(non-volatile memory)的首字母縮略字,这是固态硬盘(SSD)的常见的闪存形式。此規範主要是為基於快閃記憶體的存儲裝置提供一個低延時、內部並行化的原生界面規範,也為現代CPU、電腦平台及相關應用提供原生存儲並行化的支援[1],令主機硬體和軟體可以充分利用固態存儲裝置的並列化存儲能力。相比此前機械硬碟機(HDD)時代的AHCI(SATA下的協議),NVMe/NVMHCI降低了I/O操作等待時間、提升同一時間內的操作數、更大容量的操作隊列等。

依託於PCIe匯流排,NVMe裝置可適用於各種支援PCIe匯流排的物理插槽上,包括標準尺寸的PCIe扩展卡英语Expansion card(一般是4個PCIe通道)[2]、採用U.2物理連接界面(SFF-8639)的2.5英寸/3.5英寸標準尺寸固態硬碟機、[3][4]SATA Express匯流排(相容於PCIe)的裝置、M.2規格擴展卡等。[5]此規範由NVMHCIS工作組負責管理。

背景

历史上,大多数SSD使用如SATASAS光纤通道等接口与计算机接口的总线连接。随着固态硬盘在大众市场上的流行,SATA已成为个人电脑中连接SSD的最典型方式;但是,SATA的设计主要是作为机械硬盘驱动器(HDD)的接口,機械結構的HDD使用讀取臂做讀寫,與直接操作固態顆粒的SSD差異很大,并随着时间的推移越来越难满足速度日益提高的SSD。[6]随着在大众市场的流行,许多固态硬盘的数据速率提升已经放缓。不同于机械硬盘,部分SSD已受到SATA最大吞吐量的限制。

在NVMe出现之前,高端SSD只得以采用PCI Express总线制造,但需使用非标准规范的接口。若使用标准化的SSD接口,操作系统只需要一个驱动程序就能使用符合规范的所有SSD。这也意味着每个SSD制造商不必用额外的资源来设计特定接口的驱动程序。[7]

截至2014年9月,在光纤通道(FC)上使用NVMe的新标准也正在开发。[8]

截止2018年,NVMe包含NVMe、NVMe-MI以及NVMe-oF(NVMe over Fabrics)三个细分协议,其中NVMe为主协议,规范了host对盘的读写、访问以及资源管理等功能,NVMe-MI主要包括带外管理相关的功能,NVMe-oF主要是基于NVMe的网络协议规范,可以将FC等网络协议与NVMe进行结合起来。同时,并且三个协议在协同演进,未来将会围绕NVMe形成一个从盘到存储系统的端到端生态。

PCI Express與传统的SATA差異

NVMe标准对比AHCI标准:

  • 当数据从存储传输到服务器主机时,会进入一行或队列。传统的SATA连接只能支持一个队列,一次只能接收32条数据。而NVMe存储支持最多64000个队列,每个队列有64000个条目。
  • NVMe使用原生PCIe通道,免去了SATA与SAS接口的主機適配器与CPU通信所带来的延时。NVMe标准的延时只有AHCI的一半不到:NVMe精简了调用方式,执行命令时不需要读取寄存器;而AHCI每条命令则需要读取4次寄存器,一共会消耗8000次CPU循环,从而造成大概2.5微秒的延迟。
  • NVMe支持同时从多核处理器接受命令和优先处理请求,这在企业级的重负载时优势明显。
  • NVMe加入了自动功耗状态切换和动态能耗管理功能。设备从Power State 0闲置50ms后可以切换到Power State 1;继续闲置的话,在500ms后又会进入功耗更低的Power State 2,切换时会有短暂延迟。SSD在闲置时可以非常快速的控制在极低的水平,在功耗管理上NVMe标准的SSD会比AHCI SSD拥有较大优势。

历史

2009年Intel开始着手寻找SATA的替代方案。SATA作为串行接口,采用AHCI规范,其已经成为制约SSD速度的瓶颈。AHCI只有1个命令队列,队列深度32。而NVMe可以有65535个命令队列,每个队列都可以深达65536个命令。NVMe也充分使用了MSI的2048个中断向量优势,延迟大大减小。最新的版本是2.0c;最大带宽约为16GB/s。[9]

2018年,基于NVMe的SSD已经可以突破15TB可用容量,读带宽达到6GB/s,100万IOPS(4KB随机读),同时保证微秒级延迟。[10] 產品規格:

  • 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月)[11]
    • 2.0a(2021年7月)
    • 2.0b(2022年1月)
    • 2.0c(2022年10月)

作業系統支援

 
Linux內核的存儲控制堆疊中,NVMe的資料路徑、不同層面下多重內部隊列的位置[12]
9Front
2017年3月30日,NVMe驅動程式釋出並供使用[13]
Chrome OS
2015年2月24日,加入NVMe驅動至內核和開機載入程式,可從NVMe裝置啟動Chrome OS[14][15]
DragonFly BSD
DragonFly 4.6開始內建NVMe驅動程式[16]
FreeBSD
Intel贊助開發的驅動程式已內建於FreeBSD的head、stable/9分支中。[17][18]nvd(4)和nvme(4)驅動程式則是在10.2版FreeBSD中開始預設內建於其中。[19]
Haiku
Haiku已有驅動開發時程,但是目前仍未完成[20]
illumos
illumos於2014年10月15日獲得驅動程式支援[21]
iOS
iOS 9開始支援,首款配備了NVMe介面的裝置是iPhone 6S/6S Plus,也是首款採用NVMe的行動裝置。物理介面和UFS相同的採用M-PHY PCIe。接下來Apple推出的iPad ProiPhone SE也採用了NVMe[22]
Linux
NVMe的驅動程式最早是英特爾提供的,適用於Linux的內核驅動程式模組。[23][24][25]這個模組在2012年3月19日整合到Linux內核的主線驅動程式當中,Linux內核3.3版開始內建支援而無需安裝額外模組。[26]
NVMe采用了多队列设计,最高支持64k个队列。2014年1月19日的Linux內核 3.13版開始,block层增加了multi-queue block layer,这一模块可以充分利用多核CPU和底层高速SSD硬件资源,主机CPU的I/O提交队列可以与SSD侧的提交队列进行绑定,即是说每个CPU核可以与SSD硬件的队列进行1:1或者n:m(比值取决于硬件设计)进行配置。对上层应用仍然是通用的块接口。从应用的角度,在某一个CPU Core上产生的IO请求,中断也会在此CPU Core处理, 性能更优。在SSD性能不是瓶颈的情况下,应用的性能能够实现在多核环境下按照CPU Core的数量扩展,这点与AHCI的CPU单队列访问存储设备的机制有所不同。
2015年4月12日發佈的Linux內核 4.0版開始,VirtIO區塊層驅動程式,SCSI驅動層(與SATA驅動共用)、回環裝置驅動(loop device) UBI(unsorted block images)驅動(供快閃記憶體實作區塊擦寫管理)以及RBD驅動程式(which exports Ceph RADOS objects as block devices)都被修改,以適應及適配越來越多的NVMe裝置[27][28][29]
NetBSD
NetBSD在2016年的開發版本中初步支援NVMe。[30]OpenBSD則是在其6.0版時釋出了NVMe的驅動程式。
OpenBSD
OpenBSD的NVMe驅動程式自2014年6月開始,由此前開發並釋出USBAHCI驅動程式的高級開發團隊負責。[31]OpenBSD 6.0開始正式支援。[32]
OS X/macOS
Mac OS X 10.10.3(OS X Yosemite)開始支援NVMe。蘋果公司的Retina MacBook和2016年發佈MacBook Pro,配備了使用NVMe的PCIe SSD作為主硬碟機使用。[33]
Solaris
Solaris自Oracle Solaris 11.2開始支援NVMe。[34]
VMware
英特爾釋出了供VMWare使用的NVMe驅動程式,[35]vSphere 6.0以及其後的版本中,均包含了該驅動程式,支援多種NVMe裝置。[36]在 vSphere 6 update 1 更新中,VMWare的VSAN軟體模擬的存儲子系統也開始支援NVMe裝置。[37]
Windows
微軟在Windows 8.1Windows Server 2012 R2開始,原生支援NVMe裝置。[38][39]同時也為Windows 7Windows Server 2008 R2提供原生驅動程式支援(Windows 7與Windows Server 2008 R2預設不支援NVMe,需由使用者自行下載獲取)。[40]
除了微軟官方提供的驅動程式以外,OpenFabrics Alliance也有維護一套開放原始碼的NVMe驅動程式,使用於Windows 7、8、8.1、10以及Windows Server 2008 R2、2012、2012 R2,這套驅動程式由數個加入了NVMe工作組的公司開發,包括IDT、英特爾以及LSI[41] 当前版本为2016年12月发布的1.5。[42]

參見

參考資料

  1. ^ Compare: NVM Express. NVM Express, Inc. [2017-01-24]. (原始内容于2017-02-07). NVMe™ is designed from the ground up to deliver high bandwidth and low latency storage access for current and future NVM technologies. 
  2. ^ Drew Riley. Intel SSD DC P3700 800GB and 1.6TB Review: The Future of Storage. tomshardware.com. 2014-08-13 [2014-11-21]. 
  3. ^ Intel Solid-State Drive DC P3600 Series (PDF). Intel: 18, 20–22. 2015-03-20 [2015-04-11]. (原始内容 (PDF)于2015-04-02). 
  4. ^ Paul Alcorn. SFFWG Renames PCIe SSD SFF-8639 Connector To U.2. Tom's Hardware. 2015-06-05 [2015-06-09]. 
  5. ^ Dave Landsman. AHCI and NVMe as Interfaces for SATA Express Devices – Overview (PDF). SATA-IO. 2013-08-09 [2013-10-02]. (原始内容 (PDF)于2013-10-05). 
  6. ^ Walker, Don H. A Comparison of NVMe and AHCI (PDF). 31 July 2012. SATA-IO. [3 July 2013]. (原始内容 (PDF)于2019-02-12). 
  7. ^ NVM Express Explained (PDF). 9 April 2014 [21 March 2015]. (原始内容 (PDF)于2016-03-04). 
  8. ^ Fibre Channel Industry Association Collaborating with NVM Express, Inc. to Define New Standard for Fabric-Based Solid-State Storage Devices (新闻稿). [2017-11-09]. (原始内容于2017-07-02). 
  9. ^ NVM Express Announces the Rearchitected NVMe 2.0 Library of Specifications. [2022-12-25]. (原始内容于2023-01-18). 
  10. ^ 王楠. 打造绿色数据中心 Memblaze发布NVMe SSD新品_科技_环球网. tech.huanqiu.com. [2018-11-13]. (原始内容于2018-11-13) (英语). 
  11. ^ NVM Express Announces the Rearchitected NVMe 2.0 Library of Specifications
  12. ^ Werner Fischer; Georg Schönberger. . Thomas-Krenn.AG. 2015-06-01 [2015-06-08]. (原始内容存档于2019-06-29). 
  13. ^ hg/plan9front:sys/src/9/pc/sdnvme.c. [2017-08-22]. (原始内容于2017-03-31). 
  14. ^ NVM Express  » ChromeOS adds boot support for NVM Express. nvmexpress.org. [21 March 2015]. (原始内容于2016-04-22). 
  15. ^ 4f503189f7339c667b045ab80a949964ecbaf93e - chromiumos/platform/depthcharge - Git at Google. googlesource.com. [21 March 2015]. (原始内容于2017-08-23). 
  16. ^ DragonFly BSD 4.6. www.dragonflybsd.org. [2016-09-08]. (原始内容于2016-09-04). 
  17. ^ Log of /head/sys/dev/nvme. FreeBSD source tree. The FreeBSD Project. [16 October 2012]. (原始内容于2013-05-29). 
  18. ^ Log of /stable/9/sys/dev/nvme. FreeBSD source tree. The FreeBSD Project. [3 July 2013]. (原始内容于2018-02-16). 
  19. ^ FreeBSD 10.2-RELEASE Release Notes. The FreeBSD Project. [5 August 2015]. (原始内容于2017-06-18). 
  20. ^ #9910 NVMe devices support. dev.haiku-os.org. [2016-07-28]. (原始内容于2016-08-06). 
  21. ^ 4053 Add NVME Driver Support to Illumos. github.com. [2016-05-23]. (原始内容于2017-05-10). 
  22. ^ Ho, Joshua. iPhone 6s and iPhone 6s Plus Preliminary Results. www.anandtech.com. [2016-06-01]. (原始内容于2016-05-26). 
  23. ^ Matthew Wilcox. NVM Express driver. LWN.net. 2011-03-03 [2013-11-05]. (原始内容存档于2012-07-17). 
  24. ^ Keith Busch. Linux NVMe Driver (PDF). flashmemorysummit.com. 2013-08-12 [2013-11-05]. (原始内容 (PDF)于2013-11-05). 
  25. ^ (PDF). activeevents.com. 2013 [2014-01-11]. (原始内容 (PDF)存档于2014-01-11). 
  26. ^ Merge git://git.infradead.org/users/willy/linux-nvme. kernel.org. 2012-01-18 [2013-11-05]. 
  27. ^ Linux kernel 3.18, Section 1.8. Optional multiqueue SCSI support. kernelnewbies.org. 2014-12-07 [2014-12-18]. (原始内容于2014-12-18). 
  28. ^ Linux kernel 4.0, Section 3. Block. kernelnewbies.org. 2015-05-01 [2015-05-02]. (原始内容于2015-05-04). 
  29. ^ Linux Multi-Queue Block IO Queueing Mechanism (blk-mq) - Device Drivers. thomas-krenn.com. 2015-06-08 [2015-06-08]. (原始内容于2016-03-03). 
  30. ^ nvme -- Non-Volatile Memory Host Controller Interface. NetBSD manual pages. 2016-01-01 [2016-09-02]. (原始内容于2016-09-15). 
  31. ^ David Gwynne. non volatile memory express controller (/sys/dev/ic/nvme.c). BSD Cross Reference. 2014-04-16 [2014-04-27]. (原始内容于2014-04-28). 
  32. ^ David Gwynne. man 4 nvme. OpenBSD man page. 2016-04-14 [2016-08-07]. (原始内容于2016-08-21). 
  33. ^ Faster 'NVM Express' SSD Interface Arrives on Retina MacBook and OS X 10.10.3. macrumors.com. [11 April 2015]. (原始内容于2017-08-23). 
  34. ^ nvme(7D). Oracle. [2014-12-02]. (原始内容于2015-12-09). 
  35. ^ Intel Solid-State for NVMe Drivers. intel.com. 2015-09-25 [2016-03-17]. (原始内容于2016-03-25). 
  36. ^ VMware Compatibility Guide for NVMe devices. vmware.com. [2016-03-17]. (原始内容于2016-03-25). 
  37. ^ VSAN Now Supporting NVMe Devices. vmware.com. 2015-11-11 [2016-03-17]. (原始内容于2016-03-25). 
  38. ^ Andy Herron. Advancements in Storage and File Systems in Windows 8.1 (PDF). snia.org. 2013 [2014-01-11]. (原始内容 (PDF)于2014-01-10). 
  39. ^ Windows 8.1 to support hybrid disks and adds native NVMe driver. Myce.com. 2013-09-06 [2014-01-11]. (原始内容于2014-01-10). 
  40. ^ Update to support NVM Express by using native drivers in Windows 7 or Windows Server 2008 R2. Microsoft. 2014-11-13 [2014-11-17]. (原始内容于2014-11-29). 
  41. ^ . Project web site. [September 18, 2013]. (原始内容存档于2013年6月12日). 
  42. ^ 存档副本. [2017-08-22]. (原始内容于2017-05-10). 

外部連結

  • NVM Express – scalable, efficient, and industry standard(页面存档备份,存于互联网档案馆
  • LFCS: Preparing Linux for nonvolatile memory devices(页面存档备份,存于互联网档案馆), LWN.net, April 19, 2013, by Jonathan Corbet
  • , Linux Foundation, March 12, 2015, by Keith Busch

express, 此條目可参照英語維基百科相應條目来扩充, 2017年6月15日, 若您熟悉来源语言和主题, 请协助参考外语维基百科扩充条目, 请勿直接提交机械翻译, 也不要翻译不可靠, 低品质内容, 依版权协议, 译文需在编辑摘要注明来源, 或于讨论页顶部标记, href, template, translated, page, html, title, template, translated, page, translated, page, 标签, 缩写nvme, 或称非易失性内存主机控制器接口规范, 英語,. 此條目可参照英語維基百科相應條目来扩充 2017年6月15日 若您熟悉来源语言和主题 请协助参考外语维基百科扩充条目 请勿直接提交机械翻译 也不要翻译不可靠 低品质内容 依版权协议 译文需在编辑摘要注明来源 或于讨论页顶部标记 a href Template Translated page html title Template Translated page Translated page a 标签 NVM Express 缩写NVMe 或称非易失性内存主机控制器接口规范 英語 Non Volatile Memory Host Controller Interface Specification 缩写 NVMHCIS 是一个逻辑设备接口规范 它是基於裝置邏輯接口的匯流排傳輸協定規範 相當於通讯协议中的应用层 用于访问通过PCI Express PCIe 总线附加的非揮發性記憶體介质 例如採用快閃記憶體的固態硬碟機 雖然理論上不一定要求PCIe匯流排協定 NVMe是一种协议 是一组允许SSD使用PCIe总线的软硬件标准 而PCIe是实际的物理连接通道 非易失性内存主机控制器接口工作组簡稱NVMe成立時間2011年 12年前 2011 類型总线 硬碟機介面 網站nvmexpress wbr org PCI Express型 M 2型 下 NVM代表非揮發性記憶體 non volatile memory 的首字母縮略字 这是固态硬盘 SSD 的常见的闪存形式 此規範主要是為基於快閃記憶體的存儲裝置提供一個低延時 內部並行化的原生界面規範 也為現代CPU 電腦平台及相關應用提供原生存儲並行化的支援 1 令主機硬體和軟體可以充分利用固態存儲裝置的並列化存儲能力 相比此前機械硬碟機 HDD 時代的AHCI SATA下的協議 NVMe NVMHCI降低了I O操作等待時間 提升同一時間內的操作數 更大容量的操作隊列等 依託於PCIe匯流排 NVMe裝置可適用於各種支援PCIe匯流排的物理插槽上 包括標準尺寸的PCIe扩展卡 英语 Expansion card 一般是4個PCIe通道 2 採用U 2物理連接界面 SFF 8639 的2 5英寸 3 5英寸標準尺寸固態硬碟機 3 4 SATA Express匯流排 相容於PCIe 的裝置 M 2規格擴展卡等 5 此規範由NVMHCIS工作組負責管理 目录 1 背景 2 PCI Express與传统的SATA差異 3 历史 4 作業系統支援 5 參見 6 參考資料 7 外部連結背景 编辑历史上 大多数SSD使用如SATA SAS或光纤通道等接口与计算机接口的总线连接 随着固态硬盘在大众市场上的流行 SATA已成为个人电脑中连接SSD的最典型方式 但是 SATA的设计主要是作为机械硬盘驱动器 HDD 的接口 機械結構的HDD使用讀取臂做讀寫 與直接操作固態顆粒的SSD差異很大 并随着时间的推移越来越难满足速度日益提高的SSD 6 随着在大众市场的流行 许多固态硬盘的数据速率提升已经放缓 不同于机械硬盘 部分SSD已受到SATA最大吞吐量的限制 在NVMe出现之前 高端SSD只得以采用PCI Express总线制造 但需使用非标准规范的接口 若使用标准化的SSD接口 操作系统只需要一个驱动程序就能使用符合规范的所有SSD 这也意味着每个SSD制造商不必用额外的资源来设计特定接口的驱动程序 7 截至2014年9月 在光纤通道 FC 上使用NVMe的新标准也正在开发 8 截止2018年 NVMe包含NVMe NVMe MI以及NVMe oF NVMe over Fabrics 三个细分协议 其中NVMe为主协议 规范了host对盘的读写 访问以及资源管理等功能 NVMe MI主要包括带外管理相关的功能 NVMe oF主要是基于NVMe的网络协议规范 可以将FC等网络协议与NVMe进行结合起来 同时 并且三个协议在协同演进 未来将会围绕NVMe形成一个从盘到存储系统的端到端生态 PCI Express與传统的SATA差異 编辑NVMe标准对比AHCI标准 当数据从存储传输到服务器主机时 会进入一行或队列 传统的SATA连接只能支持一个队列 一次只能接收32条数据 而NVMe存储支持最多64000个队列 每个队列有64000个条目 NVMe使用原生PCIe通道 免去了SATA与SAS接口的主機適配器与CPU通信所带来的延时 NVMe标准的延时只有AHCI的一半不到 NVMe精简了调用方式 执行命令时不需要读取寄存器 而AHCI每条命令则需要读取4次寄存器 一共会消耗8000次CPU循环 从而造成大概2 5微秒的延迟 NVMe支持同时从多核处理器接受命令和优先处理请求 这在企业级的重负载时优势明显 NVMe加入了自动功耗状态切换和动态能耗管理功能 设备从Power State 0闲置50ms后可以切换到Power State 1 继续闲置的话 在500ms后又会进入功耗更低的Power State 2 切换时会有短暂延迟 SSD在闲置时可以非常快速的控制在极低的水平 在功耗管理上NVMe标准的SSD会比AHCI SSD拥有较大优势 历史 编辑2009年Intel开始着手寻找SATA的替代方案 SATA作为串行接口 采用AHCI规范 其已经成为制约SSD速度的瓶颈 AHCI只有1个命令队列 队列深度32 而NVMe可以有65535个命令队列 每个队列都可以深达65536个命令 NVMe也充分使用了MSI的2048个中断向量优势 延迟大大减小 最新的版本是2 0c 最大带宽约为16GB s 9 2018年 基于NVMe的SSD已经可以突破15TB可用容量 读带宽达到6GB s 100万IOPS 4KB随机读 同时保证微秒级延迟 10 產品規格 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月 11 2 0a 2021年7月 2 0b 2022年1月 2 0c 2022年10月 作業系統支援 编辑 Linux內核的存儲控制堆疊中 NVMe的資料路徑 不同層面下多重內部隊列的位置 12 9Front 2017年3月30日 NVMe驅動程式釋出並供使用 13 Chrome OS 2015年2月24日 加入NVMe驅動至內核和開機載入程式 可從NVMe裝置啟動Chrome OS 14 15 DragonFly BSD DragonFly 4 6開始內建NVMe驅動程式 16 FreeBSD Intel贊助開發的驅動程式已內建於FreeBSD的head stable 9分支中 17 18 nvd 4 和nvme 4 驅動程式則是在10 2版FreeBSD中開始預設內建於其中 19 Haiku Haiku已有驅動開發時程 但是目前仍未完成 20 illumos illumos於2014年10月15日獲得驅動程式支援 21 iOS iOS 9開始支援 首款配備了NVMe介面的裝置是iPhone 6S 6S Plus 也是首款採用NVMe的行動裝置 物理介面和UFS相同的採用M PHY PCIe 接下來Apple推出的iPad Pro和iPhone SE也採用了NVMe 22 Linux NVMe的驅動程式最早是英特爾提供的 適用於Linux的內核驅動程式模組 23 24 25 這個模組在2012年3月19日整合到Linux內核的主線驅動程式當中 Linux內核3 3版開始內建支援而無需安裝額外模組 26 NVMe采用了多队列设计 最高支持64k个队列 2014年1月19日的Linux內核 3 13版開始 block层增加了multi queue block layer 这一模块可以充分利用多核CPU和底层高速SSD硬件资源 主机CPU的I O提交队列可以与SSD侧的提交队列进行绑定 即是说每个CPU核可以与SSD硬件的队列进行1 1或者n m 比值取决于硬件设计 进行配置 对上层应用仍然是通用的块接口 从应用的角度 在某一个CPU Core上产生的IO请求 中断也会在此CPU Core处理 性能更优 在SSD性能不是瓶颈的情况下 应用的性能能够实现在多核环境下按照CPU Core的数量扩展 这点与AHCI的CPU单队列访问存储设备的机制有所不同 2015年4月12日發佈的Linux內核 4 0版開始 VirtIO區塊層驅動程式 SCSI驅動層 與SATA驅動共用 回環裝置驅動 loop device UBI unsorted block images 驅動 供快閃記憶體實作區塊擦寫管理 以及RBD驅動程式 which exports Ceph RADOS objects as block devices 都被修改 以適應及適配越來越多的NVMe裝置 27 28 29 NetBSD NetBSD在2016年的開發版本中初步支援NVMe 30 OpenBSD則是在其6 0版時釋出了NVMe的驅動程式 OpenBSD OpenBSD的NVMe驅動程式自2014年6月開始 由此前開發並釋出USB AHCI驅動程式的高級開發團隊負責 31 OpenBSD 6 0開始正式支援 32 OS X macOS Mac OS X 10 10 3 OS X Yosemite 開始支援NVMe 蘋果公司的Retina MacBook和2016年發佈MacBook Pro 配備了使用NVMe的PCIe SSD作為主硬碟機使用 33 Solaris Solaris自Oracle Solaris 11 2開始支援NVMe 34 VMware 英特爾釋出了供VMWare使用的NVMe驅動程式 35 vSphere 6 0以及其後的版本中 均包含了該驅動程式 支援多種NVMe裝置 36 在 vSphere 6 update 1 更新中 VMWare的VSAN軟體模擬的存儲子系統也開始支援NVMe裝置 37 Windows 微軟在Windows 8 1和Windows Server 2012 R2開始 原生支援NVMe裝置 38 39 同時也為Windows 7和Windows Server 2008 R2提供原生驅動程式支援 Windows 7與Windows Server 2008 R2預設不支援NVMe 需由使用者自行下載獲取 40 除了微軟官方提供的驅動程式以外 OpenFabrics Alliance也有維護一套開放原始碼的NVMe驅動程式 使用於Windows 7 8 8 1 10以及Windows Server 2008 R2 2012 2012 R2 這套驅動程式由數個加入了NVMe工作組的公司開發 包括IDT 英特爾以及LSI 41 当前版本为2016年12月发布的1 5 42 參見 编辑 信息技术主题 電腦裝置頻寬列表 M 2 PCI Express SATA SATA Express參考資料 编辑 Compare NVM Express NVM Express Inc 2017 01 24 原始内容存档于2017 02 07 NVMe is designed from the ground up to deliver high bandwidth and low latency storage access for current and future NVM technologies Drew Riley Intel SSD DC P3700 800GB and 1 6TB Review The Future of Storage tomshardware com 2014 08 13 2014 11 21 Intel Solid State Drive DC P3600 Series PDF Intel 18 20 22 2015 03 20 2015 04 11 原始内容存档 PDF 于2015 04 02 Paul Alcorn SFFWG Renames PCIe SSD SFF 8639 Connector To U 2 Tom s Hardware 2015 06 05 2015 06 09 Dave Landsman AHCI and NVMe as Interfaces for SATA Express Devices Overview PDF SATA IO 2013 08 09 2013 10 02 原始内容存档 PDF 于2013 10 05 Walker Don H A Comparison of NVMe and AHCI PDF 31 July 2012 SATA IO 3 July 2013 原始内容存档 PDF 于2019 02 12 NVM Express Explained PDF 9 April 2014 21 March 2015 原始内容存档 PDF 于2016 03 04 Fibre Channel Industry Association Collaborating with NVM Express Inc to Define New Standard for Fabric Based Solid State Storage Devices 新闻稿 2017 11 09 原始内容存档于2017 07 02 NVM Express Announces the Rearchitected NVMe 2 0 Library of Specifications 2022 12 25 原始内容存档于2023 01 18 王楠 打造绿色数据中心 Memblaze发布NVMe SSD新品 科技 环球网 tech huanqiu com 2018 11 13 原始内容存档于2018 11 13 英语 NVM Express Announces the Rearchitected NVMe 2 0 Library of Specifications Werner Fischer Georg Schonberger Linux Storage Stack Diagram Thomas Krenn AG 2015 06 01 2015 06 08 原始内容存档于2019 06 29 hg plan9front sys src 9 pc sdnvme c 2017 08 22 原始内容存档于2017 03 31 NVM Express ChromeOS adds boot support for NVM Express nvmexpress org 21 March 2015 原始内容存档于2016 04 22 4f503189f7339c667b045ab80a949964ecbaf93e chromiumos platform depthcharge Git at Google googlesource com 21 March 2015 原始内容存档于2017 08 23 DragonFly BSD 4 6 www dragonflybsd org 2016 09 08 原始内容存档于2016 09 04 Log of head sys dev nvme FreeBSD source tree The FreeBSD Project 16 October 2012 原始内容存档于2013 05 29 Log of stable 9 sys dev nvme FreeBSD source tree The FreeBSD Project 3 July 2013 原始内容存档于2018 02 16 FreeBSD 10 2 RELEASE Release Notes The FreeBSD Project 5 August 2015 原始内容存档于2017 06 18 9910 NVMe devices support dev haiku os org 2016 07 28 原始内容存档于2016 08 06 4053 Add NVME Driver Support to Illumos github com 2016 05 23 原始内容存档于2017 05 10 Ho Joshua iPhone 6s and iPhone 6s Plus Preliminary Results www anandtech com 2016 06 01 原始内容存档于2016 05 26 Matthew Wilcox NVM Express driver LWN net 2011 03 03 2013 11 05 原始内容存档于2012 07 17 Keith Busch Linux NVMe Driver PDF flashmemorysummit com 2013 08 12 2013 11 05 原始内容存档 PDF 于2013 11 05 IDF13 Hands on Lab Compiling the NVM Express Linux Open Source Driver and SSD Linux Benchmarks and Optimizations PDF activeevents com 2013 2014 01 11 原始内容 PDF 存档于2014 01 11 Merge git git infradead org users willy linux nvme kernel org 2012 01 18 2013 11 05 Linux kernel 3 18 Section 1 8 Optional multiqueue SCSI support kernelnewbies org 2014 12 07 2014 12 18 原始内容存档于2014 12 18 Linux kernel 4 0 Section 3 Block kernelnewbies org 2015 05 01 2015 05 02 原始内容存档于2015 05 04 Linux Multi Queue Block IO Queueing Mechanism blk mq Device Drivers thomas krenn com 2015 06 08 2015 06 08 原始内容存档于2016 03 03 nvme Non Volatile Memory Host Controller Interface NetBSD manual pages 2016 01 01 2016 09 02 原始内容存档于2016 09 15 David Gwynne non volatile memory express controller sys dev ic nvme c BSD Cross Reference 2014 04 16 2014 04 27 原始内容存档于2014 04 28 David Gwynne man 4 nvme OpenBSD man page 2016 04 14 2016 08 07 原始内容存档于2016 08 21 Faster NVM Express SSD Interface Arrives on Retina MacBook and OS X 10 10 3 macrumors com 11 April 2015 原始内容存档于2017 08 23 nvme 7D Oracle 2014 12 02 原始内容存档于2015 12 09 Intel Solid State for NVMe Drivers intel com 2015 09 25 2016 03 17 原始内容存档于2016 03 25 VMware Compatibility Guide for NVMe devices vmware com 2016 03 17 原始内容存档于2016 03 25 VSAN Now Supporting NVMe Devices vmware com 2015 11 11 2016 03 17 原始内容存档于2016 03 25 Andy Herron Advancements in Storage and File Systems in Windows 8 1 PDF snia org 2013 2014 01 11 原始内容存档 PDF 于2014 01 10 Windows 8 1 to support hybrid disks and adds native NVMe driver Myce com 2013 09 06 2014 01 11 原始内容存档于2014 01 10 Update to support NVM Express by using native drivers in Windows 7 or Windows Server 2008 R2 Microsoft 2014 11 13 2014 11 17 原始内容存档于2014 11 29 Windows NVM Express Project web site September 18 2013 原始内容存档于2013年6月12日 存档副本 2017 08 22 原始内容存档于2017 05 10 外部連結 编辑维基共享资源中相关的多媒体资源 NVM ExpressNVM Express scalable efficient and industry standard 页面存档备份 存于互联网档案馆 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 取自 https zh wikipedia org w index php title NVM Express amp oldid 76843413, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。