微星在前段時(shí)間放出消息,用戶通過(guò)更新旗下X99、Z97、H97系列主板BIOS到最新版本,即可獲得對(duì)NVMe的支持。官方表示,相比目前主流的AHCI,通過(guò)新的NVMe標(biāo)準(zhǔn)接入的SSD,可以獲得大幅度的性能提升。但是對(duì)于大多數(shù)用戶來(lái)說(shuō),NVMe接口標(biāo)準(zhǔn)可能并不熟悉,即使有所耳聞,可能也覺(jué)得只是在高端專業(yè)領(lǐng)域應(yīng)用得多,與一般民用無(wú)緣。但隨著SSD性能的提升,SATA接口和AHCI已經(jīng)逐漸成為存儲(chǔ)的瓶頸所在,PCIe和NVMe的組合取代前者只是時(shí)間問(wèn)題。下面筆者就為大家簡(jiǎn)單解析一下NVMe的特性,以及相較于AHCI究竟有哪些優(yōu)勢(shì)。
AHCI就要過(guò)時(shí)了?新接口標(biāo)準(zhǔn)NVMe淺析
在開(kāi)始介紹NVMe技術(shù)之前,我們不妨回過(guò)頭來(lái)看一下2011年時(shí)的SSD產(chǎn)品。當(dāng)時(shí)市面上絕大部分的SSD產(chǎn)品都跟2.5英寸機(jī)械硬盤一樣,有著同樣的外形規(guī)格,使用同樣的SATA接口,以及同樣的接口標(biāo)準(zhǔn)(AHCI)。雖然當(dāng)時(shí)SSD的性能和可靠度也在逐步提高,但仍然難以達(dá)到SATA 6Gbps的極限,限制SSD性能發(fā)揮的,更多與SSD內(nèi)部的閃存、主控和固件有關(guān)。然而,新技術(shù)研發(fā)總是具有令人驚嘆的前瞻性——2011年3月,NVMe 1.0標(biāo)準(zhǔn)正式發(fā)布。
事實(shí)上,NVMHCI(非易失性存儲(chǔ)主控制器接口)最早在2007年的Intel 開(kāi)發(fā)者論壇上已被提出,并在同年由Intel 領(lǐng)銜成立了NVMHCI工作組。該工作組的成員還包括了美光、戴爾、三星、Marvell、NetAPP、EMC、IDT等公司,而他們的目標(biāo),就是要將未來(lái)存儲(chǔ)產(chǎn)品的性能,從SATA和AHCI之中解放出來(lái)。下面我們就來(lái)談一下NVMe的優(yōu)勢(shì)所在。
低延遲
因?yàn)锳HCI標(biāo)準(zhǔn)本身就是為高延遲的機(jī)械硬盤而設(shè),雖然SSD發(fā)展至今,主流產(chǎn)品依然沿用了機(jī)械硬盤時(shí)代的那一套,但已經(jīng)開(kāi)始不能滿足性能的高速發(fā)展,特別是在延遲方面。而面向PCIe SSD產(chǎn)品的NVMe標(biāo)準(zhǔn),降低存儲(chǔ)時(shí)出現(xiàn)的高延遲,就是其要解決的問(wèn)題之一。
NVMe PCIe SSD可有效降低延遲
造成硬盤存儲(chǔ)時(shí)延遲的三大因素,存儲(chǔ)介質(zhì)本身、控制器,以及軟件接口標(biāo)準(zhǔn)。由上圖可以發(fā)現(xiàn),比起AHCI,NVMe可以大幅度降低控制器和軟件接口部分的延遲,原因有以下兩個(gè):
NVMe面向的是PCIe SSD,原生PCIe主控與CPU直接相連,而不是傳統(tǒng)方式,通過(guò)南橋控制器中轉(zhuǎn),再連接CPU(當(dāng)然,如果設(shè)備是接入到南橋提供的PCIe接口上,那么這部分的延遲也不會(huì)降低多少);
NVMe精簡(jiǎn)了調(diào)用方式,執(zhí)行命令時(shí)不需要讀取寄存器;而AHCI每條命令則需要讀取4次寄存器,一共會(huì)消耗8000次CPU循環(huán),從而造成2.5μs的延遲。
但我們從圖中也可以看出,即使NVMe有效降低了控制器與軟件接口之間的延遲,存儲(chǔ)介質(zhì)本身仍然是造成延遲的最主要原因。撇開(kāi)延遲有點(diǎn)突破天際的機(jī)械硬盤不說(shuō),現(xiàn)在SSD使用的NAND閃存本身也會(huì)造成約50μs的延遲(不同NAND的延遲差別也比較大,僅以圖中例子說(shuō)明)。要解決存儲(chǔ)介質(zhì)造成的較高延遲,還需要依賴于未來(lái)可能應(yīng)用的諸如PCM、RRAM、MRAM等新式存儲(chǔ)器。
IOPS性能提升
隊(duì)列深度的大幅提升
另外,NVMe的另一個(gè)重點(diǎn)則是提高SSD的IOPS(每秒讀寫(xiě)次數(shù))性能。如果我們有詳細(xì)了解過(guò)SSD的主控參數(shù),應(yīng)該知道會(huì)有隊(duì)列深度這個(gè)參數(shù)。理論上,IOPS=隊(duì)列深度/ IO延遲,故IOPS的性能,與隊(duì)列深度有較大的關(guān)系(但I(xiàn)OPS并不與隊(duì)列深度成正比,因?yàn)閷?shí)際應(yīng)用中,隨著隊(duì)列深度的增大,IO延遲也會(huì)提高)。市面上性能不錯(cuò)的SATA接口SSD,在隊(duì)列深度上都可以達(dá)到32,然而這也是AHCI所能做到的極限。但目前高端的企業(yè)級(jí)PCIe SSD,其隊(duì)列深度可能要達(dá)到128,甚至是256才能夠發(fā)揮出最高的IOPS性能。而NVMe標(biāo)準(zhǔn)下,最大的隊(duì)列深度可達(dá)64000。此外,NVMe的隊(duì)列數(shù)量也從AHCI的1,提高了64000。
?。▓D表數(shù)據(jù)來(lái)自Tom‘s Hardware)隊(duì)列深度基本要達(dá)到128以上,才能發(fā)揮最高性能
驅(qū)動(dòng)適用性廣
主流操作系統(tǒng)已經(jīng)逐漸開(kāi)始支持NVMe
NVMe標(biāo)準(zhǔn)的也解決了不同PCIe SSD之間的驅(qū)動(dòng)適用性問(wèn)題。此前的PCIe SSD,均需要安裝驅(qū)動(dòng)程序后才能正常使用,而不同的廠商又各自為政,每個(gè)廠商產(chǎn)品都有自己的驅(qū)動(dòng),SSD也不能作為引導(dǎo)使用。但支持NVMe標(biāo)準(zhǔn)之后,PCIe SSD就可適用于多個(gè)不同平臺(tái),也不需要廠商獨(dú)立提供驅(qū)動(dòng)支持。目前Windows、Linux、Solaris、Unix、VMware、UEFI等都加入了對(duì)NVMe SSD的支持。(當(dāng)然,這個(gè)優(yōu)勢(shì)并不是相對(duì)AHCI而言,而是相對(duì)于其他需要采用獨(dú)立驅(qū)動(dòng)的PCIe SSD)
低功耗
最后,在功耗方面,因?yàn)樵鶳CIe可以直接與CPU相連,沒(méi)有了中間轉(zhuǎn)接過(guò)程所產(chǎn)生的功耗;另外在能耗管理上,加入了自動(dòng)功耗狀態(tài)切換和動(dòng)態(tài)能耗管理功能,相比起主流的SATA接口SSD也擁有較大的功耗優(yōu)勢(shì)。
2NVMe接口標(biāo)準(zhǔn)能否迅速普及?
NVMe接口標(biāo)準(zhǔn)能否迅速普及?
微星以 Intel P3700 SSD為例,演示AHCI與NVMe性能差別
本文最初提到了微星率先在旗下9系主板中加入了NVMe的支持,但是否意味著支持NVMe的PCIe SSD就會(huì)很快在民用平臺(tái)普及開(kāi)來(lái)呢?筆者個(gè)人認(rèn)為這個(gè)答案是否定的,微星加入對(duì)NVMe支持具有更多的象征性意義。
首先,也是最重要的一點(diǎn),目前普通民用級(jí)PC完全用不到這么高的性能,即使真讓我們使用了,當(dāng)前的應(yīng)用體驗(yàn)也不會(huì)讓我們有那種當(dāng)初從機(jī)械硬盤跨入固態(tài)硬盤時(shí)代的“快感”。
Intel DC P3700 800GB SSD售價(jià)2414美元
支持NVMe的SSD的售價(jià)在未來(lái)的一段時(shí)間內(nèi),仍然達(dá)不到普通民用可以接受的水平。企業(yè)級(jí)的Intel P3600 800GB 官方指導(dǎo)價(jià)為1569美元,P3700 800GB更是高達(dá)2414美元。三星的SM951 M.2 SSD勉強(qiáng)也算是民用級(jí)支持NVMe的SSD,但是面向OEM領(lǐng)域,主要用于高端超極本之中,雖然萬(wàn)能的X寶也有賣,不過(guò)256GB版本的價(jià)格也達(dá)到了1799元。
下代CPU直接提供的PCIe 3.0通道數(shù)仍為16條
平臺(tái)方面,目前主流消費(fèi)級(jí)CPU,提供的PCIe 3.0通道數(shù)為16條,下一代的Skylake-S同樣維持在這個(gè)數(shù)目。把NVMe SSD接入到與CPU直連的接口中,會(huì)搶占顯卡的PCIe通道(如果你有安裝顯卡的話),從而一定程度上降低顯卡性能;但如果接入的是南橋提供的接口,延遲和傳輸帶寬也可能會(huì)受到影響,也不能完全發(fā)揮出NVMe SSD的性能優(yōu)勢(shì)。
因此,綜上所述,在兩年內(nèi),NVMe依然很難在主流領(lǐng)域普及開(kāi)來(lái)。但是在SATA 6Gbps和AHCI已經(jīng)逐漸成為存儲(chǔ)設(shè)備發(fā)展瓶頸的今天,各種走PCIe通道的SSD,以及NVMe標(biāo)準(zhǔn)將會(huì)是接下來(lái)存儲(chǔ)產(chǎn)品的發(fā)展趨勢(shì)。Intel 9系主板就已經(jīng)加入了可走PCIe通道的M.2接口,100系主板還會(huì)有對(duì)同是走PCIe通道的SATA Express的原生支持。值得一提的是,100系的中高端芯片組還將支持到PCIe 3.0,通道數(shù)量也會(huì)有較大提高(9系為8條,100系中Z170為20條,H170為16條),帶寬和擴(kuò)展能力都能達(dá)到極大的提升,這無(wú)疑也是Intel 為PCIe SSD的普及而鋪路。
下代芯片組的擴(kuò)展能力將會(huì)大大提升,PCIe SSD也將走入主流