NVMe1.4的:IO Determinism及多路徑(Multipathing)訪問共享名稱空間

memblaze_2011發表於2018-08-29

FMS2018已經過去了,但是快閃記憶體的熱度並沒有消退。NVMe組織在FMS2018上通過8個演講對NVMe、NVMe-oF、NVMe-MI、JBOF以及NVMe基準測試等話題進行了介紹。在其官網上有這次演講的PPT(據說視訊也會更新上來)。接下來通過NVMe 組織在FMS2018上的主旨演講看下未來一年NVMe的演進重點。

NVMe協議族的路線圖

從上圖可以看到當前NVMe一些主要的特性和下一步將要做的重點。

這篇文章就說NVMe 1.4的兩大更新。

名稱空間(namespace)是NVMe協議中一個基本的邏輯空間的概念,簡單地說名稱空間將NVMe SSD的使用者空間進行邏輯劃分,每個名稱空間擁有自身的NAND,可以獨立的進行格式化和加密等操作。關於名稱空間的討論可以檢視文末的參考文章或者公眾號回覆namespace。

NVMe官網最新的一版NVMe標準是1.3c,釋出於2018年5月24日。而今年第四季度以及2019年,NVMe1.4版本將是NVMe標準化組織工作重點,此次更新的重點包括IO Determinism、PMR以及多路徑訪問共享名稱空間。

IO Determinism:NVMe提高QoS的利器

NVMe協議將在1.4版中通過定義IO Determinism,實現對SSD的物理介質資源精細化管理和控制。在沒有IO Determinism時,多個APP由1個SSD承載,一定程度上QoS也比較難保障。多個APP訪問不同的namespace,但是不同namespace是共享底層channel和Die的。

IO Determinism應用前後負載訪問盤的變化

有了IO Determinism之後,NVMe協議提供將整塊SSD的物理空間劃分為多個NVM Set,每個NVM Set可以包含1到多個Channel和Die,不同的NVM Set的擦除、讀寫都是相互獨立的。不同的Set供不同的App使用(如上圖中右側)。如此一來,應用之間不會互相干擾,效能和延遲也可以得到更好的保障。Facebook在FMS2018上釋出了關於NVMe SSD實現 IO Determinism詳細的測試結果,如下圖:

Facebook對IO Determinism應用後的測試結果

從上圖Facebook對IO Determinism的測試結果可以看出,讀延遲QoS在IO Determinism應用後有了8倍的提升。此外,如今NVMe SSD單盤容量不斷提升(Memblaze的PBlaze5 910/916可以做到15.36TB),IO Determinism將一塊大盤分為多個“小盤”,供上層多個應用使用,提高了資源的利用率。

NVMe多路徑(Multipathing)訪問共享名稱空間(Namespace Sharing

NVMe多路徑訪問共享名稱空間的意思是單個或多個主機可以通過不同的NVMe Controler訪問同一個Namespace。下圖是一個基本的原理。

當前高可用的NVMe儲存系統多使用雙埠NVMe SSD,並採用如下方案實現:

NVMe1.4以後有了多路經訪問特性,高可用的儲存系統就可以結合NVMe SSD的雙埠實現下圖這樣的高可用方案。每一個Contorller都可以看到NVMe SSD一個Port的兩條路徑,這需要NVMe SSD支援多路經功能。

這與SAS時代實現高可用系統的理念類似,只是從Switch到盤的效能都有了質的提升。JBOD也升級到了JBOF/FBOF。業務連續和資料的完整性是企業客戶對儲存系統的重要訴求,要打造高可用方案,Memblaze在雙埠的研發上已經有諸多積累,相關的討論和技術解讀可以看文末關於雙埠的文章。

NVMe協議還有NVMe-MI和NVMe-oF兩個重要的分支,分別定義了NVMe SSD管理命令和網路層面的規範。未來這兩個分支也會有所演進,NVMe-MI將允許應用通過In-Band方式向NVMe 子系統(一般為NVMe SSD或者多塊NVMe SSD組成的組)傳送NVMe-MI Send和NVMe-MI Receive兩個新的命令,獲取子系統的基本資訊。這些資訊之前多由BMC系統獲取。這一新的特性提高了應用獲取底層SSD狀態資訊的能力,可以更高效的感知NVMe 子系統的健康狀態。

NVMe-oF也會開始支援NVMe Over TCP,這部分內容將在後續的文章中進行詳細的闡述。

 

相關閱讀:

NVMe官網的FMS2018專題頁面

https://nvmexpress.org/about/flash-memory-summit-2018/

實錘,PBlaze5實力演繹multiple namespaces 功能(上)

https://mp.weixin.qq.com/s/KV4QOGzNVn-J7wWzX39TnA

實錘,PBlaze5實力演繹multiple namespaces 功能(下)

https://mp.weixin.qq.com/s/Xi2zo5JQeVOHh03RiTHSYw

淺析U.2介面NVMe SSD雙埠模式(上)——應用模式與設計實現

https://mp.weixin.qq.com/s/jc0ySv70Fgqx5lXb04gTxw

淺析U.2介面NVMe SSD雙埠模式(下)——可靠性及效能測試

https://mp.weixin.qq.com/s/AZ4buSBxdpXSip6o_PxGOg

企業級全閃是SAS的,也是NVMe的,最終都是NVMe的

https://mp.weixin.qq.com/s?__biz=MzA3NjE0MTUwNA==&mid=2722162778&idx=1&sn=93f2c813bdbec37c8da72453de9b5d1f&chksm=b8d18ef58fa607e35dd1a1ad5e6e247e43fff7f1521e4f933387691b090f96ac28430f67592f&token=1893621030&lang=zh_CN#rd

Memblaze公眾號請關注

 

 

相關文章