NVMe比SATA介面的SSD究竟快在哪裡?
來自專欄 UEFI和BIOS探秘467 人贊了文章
作為一般消費者,在京東上會看到各種M.2介面的固態硬碟往往會無所適從,不知道選擇什麼好。尤其是有的SSD寫得支持SATA協議,有的是支持NvME,到底選擇哪種好呢?
NVMe作為新出現的技術,它當然比SATA的SSD硬碟要快,延遲要小。尤其現在SATA介面無疑構成了SSD速度的瓶頸,詳情見:
老狼:雜說快閃記憶體一:關公戰秦瓊之 UFS VS NVMe今天我們就從技術的層面來了解一下為什麼NVMe比SATA快,快多少。並對一般消費者如何選擇做一個方向性的指導。
技術分析
我們來看一下他們的對比:
走SATA協議的M.2 SSD會被連接到南橋的SATA port上,在其上走傳統的AHCI協議棧(SCSI的一個子集),漫長而延遲很高。AHCI只有1個命令隊列,隊列深度32,如果發生大量小文件操作,就會發生擁堵。
走NVMe的SSD,直接走PCIe通道,協議棧很淺。而NVMe可以有65535個隊列,每個隊列都可以深達65536個命令。NVMe也充分使用了MSI的2048個中斷向量優勢,延遲大大減小,尤其大量小文件時速度更是飛快。
從操作系統的協議棧本身來看:
AHCI還是基於傳統的塊傳輸。而NVMe使用了一種叫做「Doorbell」的機制來充分利用了極長的隊列,大大減小了延遲。
數據
我們來一起看一下具體的數據。首先來看NVMe如何減小了協議棧本身的時間消耗,我們用blktrace工具來分析一組傳輸在應用程序層、操作系統層、驅動層和硬體層消耗的時間和佔比,來了解AHCI和NVMe協議的性能區別:
硬碟HDD作為一個參考基準,它的時延是非常大的,達到14ms,而AHCI為125us,NVMe為111us。我們從圖中可以看出,NVMe相對AHCI,協議棧及之下所佔用的時間比重明顯減小,應用程序層面等待的時間佔比很高,這是因為SSD物理硬碟速度不夠快,導致應用空轉。NVMe也為將來Optane硬碟這種低延遲介質的速度提高留下了廣闊的空間。
在實際使用情況如何呢?我們以MySQL資料庫來說:
1)是一個SATA SSD硬碟,雜草叢生的綠色表面大量時間在等待。
2)是四個SATA SSD組成了RAID,等待時間減小了不少。
3)是一個NVMe的硬碟,幾乎看不到綠色了,幾乎不再等待。
4)是RAM disk,綠色完全沒有了,用戶態佔比很高。
從上面的分析,我們可以看出NVMe相對SATA協議,在軟體和硬體上做了巨大優化,大大減小了協議棧的無謂消耗(overhead),提高了響應度。
結語
對性能十分敏感的伺服器市場已經越來越多的使用NVMe了:
那麼對於一般消費者呢?當然是盡量選擇NVMe了,尤其是SATA的M.2價格相對並不便宜,存在僅僅是為了適用於老的主板。
有些主板做了特殊處理,BIOS根據插入的M.2硬碟不同,可以走PCH的SATA通道或者走PCIe通道支持NVMe,這時一定要買NVMe的SSD。這麼做BIOS需要修改不少,有些主板廠商或主板廠商的BIOS承包商為了簡單和一些安全考慮,出廠時限定了支持哪種,這時就需要閱讀主板說明書,別買錯了,就只能退貨了。當然老的主板只支持SATA的介面,就無從選擇了。
其他快閃記憶體相關文章:
老狼:雜說快閃記憶體一:關公戰秦瓊之 UFS VS NVMe老狼:雜談快閃記憶體二:NOR和NAND Flash老狼:雜談快閃記憶體三:FTL老狼:雜說快閃記憶體四:快閃記憶體硬碟介面大比拼老狼:雜說快閃記憶體番外:SSD硬碟如何進行日常維護和Trim老狼:雜說快閃記憶體番外:傲騰Optane與NAND快閃記憶體老狼:雜說快閃記憶體番外:我們的數據存在固態硬碟上安全嗎?老狼:雜說快閃記憶體番外:手機為什麼越用越卡和快閃記憶體寫放大老狼:128G的固態硬碟為什麼有的標120G,有的標100G?固態硬碟容量背後的秘密老狼:手機快閃記憶體和固態硬碟為什麼擦除多了會損壞?老狼:如何安全快速的遷移你的系統到固態硬碟?硬碟相關文章:
老狼:硬碟忽然掉電會損壞硬碟和數據嗎?老狼:機械硬碟裡面是真空嗎?歡迎大家關注本專欄和用微信掃描下方二維碼加入微信公眾號"UEFIBlog",在那裡有最新的文章。同時歡迎大家給本專欄和公眾號投稿!
推薦閱讀:
※壽增三倍的固態硬碟磨損平衡演算法思想
※固態與操作系統的安裝
※銘瑄M.2固態讀寫速度飛起 不換系統換固態升級
※阿里上線業界首款Open Channel存儲產品,提升存儲性價比
※#外觀最騷的固態#七彩虹SL300固態使用感受