HDD和早期SSD絕大多數(shù)都是使用SATA接口,跑的是AHCI(Advanced Host Controller Interface),它是由Intel聯(lián)合多家公司研發(fā)的系統(tǒng)接口標(biāo)準(zhǔn)。AHCI支持NCQ(Native Command Queuing)功能和熱插拔技術(shù)。NCQ最大深度為32,即主機(jī)可以發(fā)最多32條命令給HDD或者SSD執(zhí)行,跟之前硬盤只能一條命令一條命令執(zhí)行相比,硬盤性能大幅提升。
這在HDD時(shí)代,或者SSD早期,AHCI協(xié)議和SATA接口足夠滿足系統(tǒng)性能需求,因?yàn)檎麄€(gè)系統(tǒng)性能瓶頸在硬盤端(低速,高延時(shí)),而不是在協(xié)議和接口端。然而,隨著SSD技術(shù)的飛速發(fā)展,SSD盤的性能飆升,底層閃存帶寬越來越寬,介質(zhì)訪問延時(shí)越來越低,系統(tǒng)性能瓶頸已經(jīng)由下轉(zhuǎn)移到上面的接口和協(xié)議處了。AHCI和SATA已經(jīng)不能滿足高性能和低延時(shí)SSD的需求,因此SSD迫切需要自己更快、更高效的協(xié)議和接口。
時(shí)勢造英雄,在這樣的背景下,NVMe橫空出世。2009年下半年,在帶頭大哥Intel領(lǐng)導(dǎo)下,美光、戴爾、三星、Marvell等巨頭,一起制定了專門為SSD服務(wù)的NVMe協(xié)議,旨在讓SSD從老舊的SATA和AHCI中解放出來。
何為NVMe?Non-Volatile Memory Express,非易失性存儲(chǔ)器標(biāo)準(zhǔn),是跑在PCIe接口上的協(xié)議標(biāo)準(zhǔn)。NVMe的設(shè)計(jì)之初就有充分利用到PCIe SSD的低延時(shí)以及并行性,還有當(dāng)代處理器、平臺(tái)與應(yīng)用的并行性。SSD的并行性可以充分被主機(jī)的硬件與軟件充分利用,相比于現(xiàn)在的AHCI標(biāo)準(zhǔn),NVMe標(biāo)準(zhǔn)可以帶來多方面的性能提升。NVMe為SSD而生,但不局限于以閃存為媒介的SSD,它同樣可以應(yīng)用在高性能和低延時(shí)的3D XPoint這類新型的介質(zhì)上。
首款支持NVMe標(biāo)準(zhǔn)的產(chǎn)品是三星XS1715,于2013年7月發(fā)布。隨后陸續(xù)有企業(yè)級(jí)的NVMe標(biāo)準(zhǔn)SSD推出。2015年Intel 750發(fā)布,標(biāo)志NVMe標(biāo)準(zhǔn)的產(chǎn)品開始進(jìn)入消費(fèi)級(jí)市場。如今市面上已經(jīng)出現(xiàn)很多NVMe SSD產(chǎn)品,包括企業(yè)級(jí)和消費(fèi)級(jí),如果說前幾年NVMe SSD是陽春白雪,現(xiàn)如今已是下里巴人,NVMe SSD已慢慢進(jìn)入尋常百姓家(筆者的小本上就是用的PCIe+NVMe的SSD)。
需要指出的是,在移動(dòng)設(shè)備上,NVMe也有一席之地。蘋果自IPhone 6s開始,其存儲(chǔ)設(shè)備上跑的就是NVMe協(xié)議標(biāo)準(zhǔn)。未來移動(dòng)存儲(chǔ)的方向,筆者認(rèn)為不是UFS,當(dāng)然更不不會(huì)是eMMC,而是NVMe。拭目以待吧。
那么,NVMe究竟有什么好?跟AHCI相比,它有哪些優(yōu)勢?
NVMe和AHCI相比,它的優(yōu)勢主要體現(xiàn)在以下幾點(diǎn):
l低時(shí)延(Latency)
造成硬盤存儲(chǔ)時(shí)延的三大因素:存儲(chǔ)介質(zhì)本身、控制器以及軟件接口標(biāo)準(zhǔn)。
存儲(chǔ)介質(zhì)層面,閃存(Flash)比傳統(tǒng)機(jī)械硬盤速度快的太多;
控制器方面,從SATA SSD發(fā)展成PCIe SSD,原生PCIe主控與CPU直接相連,而不是傳統(tǒng)方式,通過南橋控制器中轉(zhuǎn),再連接CPU,因此基于PCIe的SSD時(shí)延更低;
軟件接口方面,NVMe縮短了CPU到SSD的指令路徑,比如NVMe減少了對(duì)寄存器的訪問次數(shù);MSI-X和中斷管理的應(yīng)用;并行&多線程優(yōu)化,NVMe減少了各個(gè)CPU核之間的鎖同步操作…
所以基于PCIe+NVMe的SSD,具有非常低的延時(shí)。
圖1-1 時(shí)延對(duì)比
l高性能(Throughput & IOPS)
理論上,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á)64K。此外,NVMe的隊(duì)列數(shù)量也從AHCI的1,提高到了64K。
PCIe接口本身在性能上碾壓SATA,再加上NVMe具有比AHCI更深、更寬的命令隊(duì)列,NVMe SSD在性能上秒殺SATA SSD是水到渠成的事情。圖是NVMe SSD,SAS SSD和SATA SSD性能對(duì)比圖:
圖1-2 NVMe,SAS和SATA SSD性能對(duì)比圖
l低功耗
NVMe加入了自動(dòng)功耗狀態(tài)切換和動(dòng)態(tài)能耗管理功能,本書的電源管理篇會(huì)作介紹。
SATA和NVMe還有其他的區(qū)別。
-
SSD
+關(guān)注
關(guān)注
20文章
2812瀏覽量
116996 -
AHCI
+關(guān)注
關(guān)注
0文章
6瀏覽量
13187 -
HDD
+關(guān)注
關(guān)注
0文章
140瀏覽量
27280 -
nvme
+關(guān)注
關(guān)注
0文章
210瀏覽量
22537
原文標(biāo)題:從SATA、SAS到NVMe SSD
文章出處:【微信號(hào):SSDFans,微信公眾號(hào):SSDFans】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論