您好,登錄后才能下訂單哦!
【IT168 編譯】NVMe是Non-Volatile Memory express(非易失性內存主機控制器接口規范)的簡稱,它是一種協議,能夠使固態硬盤(SSD)運行得更快,如今在企業用戶中已越來越流行。
理解什么是NVMe的最簡單的方法就是打個比方——假設你剛買了一輛跑車,速度能達到400公里每小時,是你以前那輛老汽車的3到4倍。唯一的問題是,普通的道路是無法允許以這樣的速度行駛的,而且一般城市道路限速幾十公里每小時,往往還得考慮車流的問題。如果你想要讓跑車更快,就需要換一條路開。
這個場景有點像制造商推出基于閃存技術的SSD之后,存儲行業的情況。閃存技術比傳統機械硬盤快很多倍(快多少倍取決于你使用的設備),但是早期的設備都使用與硬盤驅動器相同的SATA或SAS連接到系統和網絡。雖然這些接口對于硬盤驅動器(HDD)所能提供的性能來說已經足夠了,但是它們為SSD帶來了瓶頸。這對于企業大數據分析和其他數據密集型工作負載來說,尤其是個問題。
這些性能問題促使人們尋找更好的方式將SSD連接到服務器,這正NVMe的用武之地。
1、什么是NVMe?
NVMe協議標準由NVM Express公司監管,這是一個由100多個組織組成的聯盟,這些組織致力于開發更快的協議以提高非易失性存儲的性能。該組織由一個13家公司組成的董事會領導,其中包括Cavium、Cisco、Dell EMC、Facebook、英特爾、Micron、Microsemi、微軟、NetApp、三星、希捷、東芝內存和Western Digital。
HDD能達到的最高理論速度,與SATA、NVMe最高提供的理論速度對比
NVMe的官方定義將其描述為“一個開放的標準和信息集合,以充分釋放非易失性存儲在從移動端到數據中心的所有類型的計算環境中能夠提供的優勢。NVMe從底層開始設計,為當前和未來的NVM技術提供高帶寬和低延遲存儲訪問。”
NVMe是通過PCI Express總線將存儲連接到服務器的接口規范,簡單來說就是,使SSD與主機系統通信的速度更快。它有助于緩解閃存通過最初為HDD設計的SAS或SATA連接到系統時出現的瓶頸。
2、NVMe的速度遠遠快于SATA或SAS
NVMe控制器通過幾種不同的方式提高性能。一種是使用PCIe總線,它將存儲直接連接到系統CPU。這種直接連接消除了SATA的一些必要步驟,并提高了整體性能。
此外,NVMe SSD在很大程度上實現了并行性,極大地提高了吞吐量。當數據從存儲傳輸到服務器主機時,它會進入一行或隊列。傳統的SATA連接只能支持一個隊列,一次只能接收32條數據。再回到車的類比上,這就像只有一條車道的車流可以容納32輛車。
而NVMe存儲支持最多64000個隊列,每個隊列有64000個條目。換句話說,這就像從一條單行道走到一條6.4萬車道的路上,每條車道都能容納6.4萬輛汽車,這對整體表現產生了巨大的影響。
正如我們的類比中說城市道路一般限速在幾十公里每小時一樣,SATA和SAS連接也有速度限制。對于SATA,理論最大傳輸速度為6.0 Gbps(在實踐中,最大傳輸速度要低得多)。這就相當于給SATA SSD的運行速度設定了上限。超過一定限度,使用再快的閃存對系統的整體性能沒有影響,因為SATA連接會造成瓶頸。
對于大多數消費者來說,SATA SSD提供了足夠的性能來完成日常工作。而且由于SATA SSD比NVMe SSD便宜,大多數消費者級別的固態存儲仍然使用SATA接口。
然而,企業處理的數據通常比消費者多得多,對他們來說,SATA連接帶來的延遲可能會成為一個問題。
英特爾750系列是支持NVMe技術的固態硬盤產品之一
3、只有SSD運行在NVMe上
因為NVMe驅動器要比SATA快得多,所以將NVMe與HDD放在一起使用來提高性能似乎是個好主意。但是請記住,NVMe代表非易失性存儲接口規范,它是專門為NAND 閃存等非易失性存儲設計的(盡管它也可以用于較新的非易失性內存,比如3D XPoint)。
當系統從HDD讀取數據時,它一次只能讀取一塊數據。因為它必須進行旋轉以定位到第一個數據塊的正確物理位置,然后再次旋轉,移動到第二個數據塊的正確位置,以此類推。另一方面,閃存和其他非易失性存儲技術沒有移動部件。這意味著系統可以同時從許多不同的位置讀取數據。這就是為什么SSD可以利用NVMe提供的并行性,而HDD不能。
4、PCIe和NVMe有關系,但它們不是同一個東西
對于很多人來說,NVMe最令人困惑的部分是它與PCIe的關系。一些廠商使用NVMe作為標簽來指代他們的SSD,另外一些廠商則使用PCIe標簽,還有一些廠商似乎可以互換使用這些術語。
雖然PCIe和NVMe密切相關,但兩個術語指的是略有不同的技術。可以將PCIe看作是系統的物理部分。當您將一個NVMe SSD插入服務器時,您需要通過一個PCIe插槽連接它。
相比之下,NVMe是一種協議,是一組允許SSD使用PCIe總線的軟硬件標準。可以這么說,NVMe是允許存儲設備與服務器連接的語言,而PCIe是實際的物理連接。
5、NVMe-oF連接SSD到網絡
本文主要關注的是標準的NVMe,它將SSD直接連接到服務器,但是NVM Express組織也發布了NVMe over Fabric (NVMe- oF)的規范,它將用于塊存儲的非易失性存儲連接到網絡。根據該組織的說法,“NVMe- oF定義了一個通用架構,它支持一系列存儲網絡結構,用于存儲網絡結構之上的NVMe塊存儲協議。”這包括在存儲系統中啟用前端接口,擴展到大量NVMe設備,并在數據中心內延長NVMe設備和NVMe子系統可訪問的距離。
NVMe-oF規范與NVMe規范有大約90%的相同;然而,它確實使用了一種不同的傳輸映射機制。NVME-oF也有兩種不同的變體:一種用于RDMA,另一種用于光纖通道。
NVMe-oF規范也比NVMe規范新得多,盡管一些廠商已經宣布支持這項技術,但實際上很少有廠商銷售NVMe的產品。期待這種技術在未來幾年變得更加普遍。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。