(Translated by https://www.hiragana.jp/)
NVM Express - 维基百科,自由的百科全书 とべ转到内容ないよう

NVM Express

本页使用了标题或全文手工转换
维基百科ひゃっか自由じゆうてき百科ひゃっかぜん
えきしつせいないそんぬしつくえひかえせいせっこう工作こうさく
簡稱NVMe
成立せいりつ時間じかん2011ねん,​13ねんまえ​(2011
類型るいけい总线かた碟機かいめん[*]
あみnvmexpress.org

NVM Express(缩写NVMe),あるしょうえきしつせいないそんぬしつくえひかえせいせっこう规范英語えいごNon-Volatile Memory Host Controller Interface Specification,缩写:NVMHCIS),一个逻辑设备接口规范。它是もと裝置そうち邏輯せっこうてき匯流はいつて協定きょうてい規範きはん相當そうとう於通讯协议中てき应用层),よう于访问通过PCI Express(PCIe)总线附加ふかてき揮發きはつせい記憶きおくたいかい质(れい採用さいようかい記憶きおくたいてきかたたいかた碟機),雖然理論りろんじょう一定いってい要求ようきゅうPCIe匯流はい協定きょうてい。NVMeいち种协议,いち组允许SSD使用しようPCIe总线てき软硬けん标准;而PCIe实际てき物理ぶつり连接どおりどう

PCI ExpressかたM.2かたした

NVM代表だいひょう揮發きはつせい記憶きおくたい(non-volatile memory)てきくび字母じぼちぢみ略字りゃくじ,这是かた态硬盘(SSD)てきつね见的闪存形式けいしき。此規範きはん主要しゅようためもと於快閃記憶きおくたいてきそんもうか裝置そうち提供ていきょういちてい延時のぶとき、內部並行へいこうてき原生げんせい界面かいめん規範きはん,也為現代げんだいCPU電腦でんのう平台ひらだい相關そうかん應用おうよう提供ていきょうげん生存せいぞんもうか並行へいこうてき支援しえん[1]れいあるじかたからだ軟體以充ぶん利用りようかたたいそんもうか裝置そうちてき並列へいれつそんもうか能力のうりょくそう此前機械きかいかた碟機(HDD)時代じだいてきAHCI(SATAてき協議きょうぎ),NVMe/NVMHCIくだていりょうI/O操作そうさとうまち時間じかんつつみますどういちあいだ內的操作そうさすうさらだい容量ようりょうてき操作そうさ隊列たいれつとう

依託いたく於PCIe匯流はい,NVMe裝置そうち適用てきよう各種かくしゅ支援しえんPCIe匯流はいてき物理ぶつり插槽じょう包括ほうかつ標準ひょうじゅん尺寸しゃくすんてきPCIe扩展卡えいExpansion card一般いっぱん4PCIeどおりどう[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よせそんいちともかい消耗しょうもう8000CPU循环,从而造成ぞうせい大概たいがい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
OpenBSDてきNVMe驅動くどうほどしき2014ねん6がつ開始かいしゆかり此前開發かいはつなみしゃくいずるUSBAHCI驅動くどうほどしきてき高級こうきゅう開發かいはつだんたいせめ[31]OpenBSD 6.0開始かいし正式せいしき支援しえん[32]
OS X/macOS
Mac OS X 10.10.3(OS X Yosemite開始かいし支援しえんNVMe。蘋果公司こうしてきRetina MacBook2016ねんはつMacBook Pro配備はいびりょう使用しようNVMeてきPCIe SSD作為さくいぬしかた碟機使用しよう[33]
Solaris
SolarisOracle 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. [2022-12-25]. (原始げんし内容ないようそん于2023-01-18). 
  12. ^ Werner Fischer; Georg Schönberger. Linux Storage Stack Diagram. 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. ^ 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). 
  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. ^ Windows NVM Express. Project web site. [September 18, 2013]. (原始げんし内容ないようそん档于2013ねん6がつ12にち). 
  42. ^ そん副本ふくほん. [2017-08-22]. (原始げんし内容ないようそん于2017-05-10). 

外部がいぶ連結れんけつ[编辑]