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

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公衆號請關注

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章