HDD和早期SSD大部分使用SATA接口,正在運行AHCI (Advanced Host Controller Interface),這是由Intel與許多公司合作開發的系統接口標準。AHCI支持NCQ功能和熱插拔技術。NCQ的最大深度是32,也就是在對HDD或SSD執行最多32條命令的情況下,與以前的硬盤只能一條命令執行相比,硬盤性能有了顯著的提高。
AHCI協議和SATA接口AHCI協議和SATA接口足以滿足系統的性能要求,因為整個系統的性能瓶頸在于硬盤端(低速、高延遲),而不是協議和接口端。但是隨著SSD技術的迅速發展,SSD磁盤的性能急劇上升,底層閃存帶寬越來越寬,介質訪問延遲越來越低,系統性能瓶頸已從下面轉移到上面的接口和協議處。AHCI和SATA已無法滿足高性能、低延時的SSD需求,SSD迫切需要有更快、更有效的協議和接口。
在這樣的背景下,NVMe誕生了。09年下半年,在領先的大哥Intel的領導下,美光、戴爾、三星、Marvell等巨頭共同開發了一份專為SSD服務的NVMe協議,目的是使SSD不再使用老的SATA和AHCI。在工業存儲方面方面,崛起了Agrade睿達等一批優秀的品牌。
NVMe是什么?NVMe是Non-Volatile Memory Express,是一種可在PCle接口上運行的非易失性存儲標準。在NVMe設計之初,PCIESSD的低延遲和并行性得到了充分利用,以及當代處理器、平臺和應用的并行性。與目前的AHCI標準相比,NVMe能帶來多方面的性能提高。NVMe是為SSD而生的,但并不局限于以閃存為媒介的SSD,也可以應用于高性能、低延遲的3DXPoint等新媒體。
三星XS1715是第一款支持NVMe標準的產品,于2013年7月發布。隨后推出了企業級NVMe標準SSD。2015發布Intel750,標志著NVMe標準產品進入市場。
當今市場上NVMeSSD產品很多,無論是企業級的還是消費型的,如果說前些年的NVMeSSD還是陽春白雪,如今NVMeSSD已經慢慢地進人了。值得注意的是,NVMe在移動設備上同樣擁有一席之地。從iPhone6s開始,蘋果的存儲設備運行在NVMe協議標準之上。將來的手機存儲方向,應該不是UFS,不是eMMC,而是NVMe,等等看。
那NVMe到底有什么好的呢?它與AHCI相比有什么優點?相對于NVMe和AHCI,其優點主要表現在:
造成硬盤存儲時延的三大因素:存儲介質本身、控制器以及軟件接口標準。
存儲介質層面,閃存(Flash)比傳統機械硬盤速度快太多了。控制器方面,從SATASSD發展成PCIeSSD,原生PCIe主控與CPU直接相連,而不像傳統方式,要通過南橋控制器中轉再連接CPU,因此基于PCle的SSD時延更低。軟件接口方面,NVMe縮短了CPU到SSD的指令路徑,比如NVMe減少了對寄存器的訪問次數;使用了MSI-X中斷管理;并行&多線程優化--NVMe減少了各個CPU核之間的鎖同步操作等。
理論上,IOPS=隊列深度/IO延遲,故IOPS的性能與隊列深度有較大的關系(IOPS并不與隊列深度成正比,因為實際應用中,隨著隊列深度的增加,IO延遲也會提高)。市面上性能不錯的SATA接口SSD,在隊列深度上都可以達到32,然而這也是AHCI所能做到的極限。但目前高端的企業級PCleSSD,其隊列深度可能要達到128,甚至是256才能夠發揮出最高的IOPS性能。而在NVMe標準下,最大的隊列深度可達64K。此外NVMe的隊列數量也從AHCI的1,提高到了64K。
PCle接口本身在性能上碾壓SATA,再加上NVMe具有比AHCI更深、更寬的命今隊列,NVMeSSD在性能上秒殺SATASSD是水到渠成的事情。
NVMe加人了自動功耗狀態切換和動態能耗管理功能。
注:本文來源于聯樂實業官網http://www.a4102.cn/,轉載請標明出處