NVMe 是什麼,接口、規範、協議?為什麼 NVMe 才是未來趨勢

2019-11-22   Fronit

傳統的機械硬碟或者固態硬碟(SSD),通過 SATA (串行)連接南橋晶片,其速率收到 SATA 帶寬限制。其中 SATA 2 帶寬為 3Gb/s,而 SATA 3 帶寬為 6Gb/s。

SATA 有兩種工作模式可以選擇:ATAAHCI。其中 ATA 是硬體模擬傳統 IDE 的一種方法,表面是串行接口,實際還是 IDE 運行方式。AHCI 則是一種新的傳輸模式,專門為 SATA 接口設計,可讓 SATA 存儲設備激活高級 SATA 功能,例如原生指令隊列及熱插拔,傳輸數據更快捷有效。

AHCI 的核心是 NCQ 技術,是一種用於改進高負荷下硬碟的性能和穩定性的技術。當用戶的應用程式發送多條指令到用戶的硬碟,NCQ 技術可以優化完成這些指令的順序,降低機械負荷,達到提升性能的目的。 NCQ 技術是一種使硬碟內部優化工作負荷執行順序,通過對內部隊列中的命令進行重新排序,實現智能數據管理,從而改善硬碟因機械部件受到的各種性能制約。

可以看出,SATA 接口與 AHCI 標準其實是為高延遲的機械硬碟而設計的,在 SSD 時代依然是主流。早期 SSD 性能不高加上容量小,不覺得有什麼問題,但是隨著 SSD 的性能逐漸增強,這些標準已經成為限制 SSD 的一大瓶頸,專為機械硬碟而設計的 AHCI 標準並不適合低延時的 SSD。

業界早就意識到了這一問題,2009 年下半年 Intel 領導的 NVMe 技術工作正式啟動,小組成員包括美光、三星、戴爾、Marvell 等 90 多家公司,目的就是為 SSD 建立新的存儲規範標準,讓它在老舊的 SATA 與 AHCI 中解放出來。

2011年3月,來自業界各成員公司合作開發的「NVM express 規範」1.0 版正式出爐,該標準針對快閃記憶體存儲的特點量身定製,解除了舊標準施加在 SSD 上的各種限制。該規範的第 1.1 版於2012年10月11日發布,1.2 版於2014年11月發布,目前最新的版本是2017年10月發布的 1.3a。

NVMe 標準使用原生 PCI-E 通道與 CPU 直連,可以免去 SATA 的外置控制器(PCH)與 CPU 通信所帶來的延時。需要特彆強調的是,NVMe 是一種總線傳輸協議規範,並不是接口。目前常見的 NVMe SSD 有 M.2 和 PCI-E 兩種接口。