我們先前才剛在今年5月的儲存月報,初步檢視了NVMe介面全快閃儲存陣列的現況,緊接著在8月舉行的Flash Summit 2017大會,又傳出一系列關於NVMe全快閃儲存陣列的新消息,顯示陸續有更多廠商投入這個領域,NVMe儲存陣列將以比預想中更快的腳步,來到企業儲存應用市場。

追求100μs等級的極致低延遲

NVMe介面已經被用在高階SSD裝置上,作為SSD裝置的連接介面,透過PCIe匯流排與全新軟體堆疊架構的結合,為SSD提供高頻寬、低延遲的主機內接I/O存取效能。更進一步,透過NVMe-over-Fabrics(NVMeF)網路儲存架構,NVMe也能應用在外接介面上,讓跨網路的快閃儲存陣列存取應用,能透過NVMe獲得遠高於FC、iSCSI等傳統SAN傳輸介面的效能,將存取延遲降到傳統介面無法企及的100μs等級,這便是NVMe全快閃儲存陣列的利基所在。

一般來說,全快閃儲存陣列的存取延遲標準是1ms以下,也就是1000μs,一些較高階的產品則能提供0.5到0.8ms等級的存取延遲,而透過NVMe介面,則可望將全快閃儲存陣列的存取延遲,一舉降到100μs等級。

NVMe儲存陣列的3種類型

依照NVMe介面應用的環節,NVMe全快閃儲存陣列可分為3種類型:

最基本的應用型態,是將NVMe用在儲存陣列的後端SSD介面,也就是以NVMe介面的SSD或Flash模組,替換以前採用的SAS介面SSD,至於主機端介面與磁碟櫃串接介面,則仍沿用原有的FC、iSCSI、SAS等規格。

更進一步,是將NVMe應用到前端的主機端介面,作為儲存陣列與前端主機連接的通道,取代過去使用的FC、iSCSI介面角色。

第三種應用模式,則是將NVMe作為儲存櫃的連接介面,利用NVMe來串接儲存櫃,提供儲存擴展能力,替代過去SAS介面的作用。

開始興起的後端NVMe儲存陣列

在3種NVMe儲存陣列中,目前發展最蓬勃的是技術難度相對最低、僅將NVMe用作為SSD介面的全快閃儲存陣列。有數家廠商都在今年上半年推出了這種產品,包括Pure Storage的FlashArray //x,華為的Dorado 5000 v3,以及國產全快閃儲存陣列廠商捷鼎的NeoSapphire P310、H810等。

然而,這種儲存陣列只是採用了「半套」的NVMeF架構,只是讓SSD介面在原有的SAS/SATA之外,額外多出一種NVMe介面的選擇,控制器架構與主機端介面仍沿用傳統架構,在存取延遲方面的表現,顯然不能和真正的「全套」NVMeF、也就是全部存取環節(End-to-End)都採用NVMe介面的儲存產品相比,但優於上一代採用SAS SSD的產品,更重要的是可保留重複資料刪除、快照、複製等完整的資料服務功能,相對也更容易讓用戶接受。

因此就目前來看,這種架構雖然是最保守的NVMe儲存陣列型式,但也是最實用的,可預期未來多數全快閃儲存陣列廠商,應該都會提供這種型式的產品。

另起爐灶的End-to-End NVMe儲存陣列

從主機端到儲存端,每一個環節都採用NVMe介面的產品,才是完整的NVMe over Fabric儲存陣列,也是最能發揮NVMe效能的架構。

這種完整NVMeF架構的產品,最早是EMC於2016年初發表的DSSD D5全快閃儲存陣列。DSSD D5採用了NVMe介面的專屬Flash儲存模組,主機端也是透過專屬的PCIe I/O卡來存取DSSD D5,藉由這種專屬設計與徹底PCIe與NVMe化的I/O架構,DSSD D5擁有當時極為驚人的100到120μs存取延遲,相當於一般全快閃儲存陣列的1/5到1/10。

不過,應用上的諸多限制,卻抵銷了DSSD D5效能上的優勢。為了追求效能,DSSD D5採用全面專屬硬體規格的設計(控制器、Flash模組到前端主機I/O卡全都是專屬規格),也捨棄了會增加延遲的資料服務軟體功能,只是單純提供高速儲存空間,但支援範圍又很窄,用戶端主機不僅必須透過專屬I/O卡,才能存取DSSD D5,且要使用這種專屬I/O卡還有許多限制(只支援Linux實體主機)

於是經過一年多的市場考驗後,顯示DSSD D5恐怕步伐邁得太快、太激進,難以被接受,以致EMC在2017年中放棄了這款產品。

儘管EMC的DSSD D5沒有成功,但仍有其他廠商持續推動NVMeF儲存應用,並採取了不同的發展路線。相較於DSSD D5這種基於專屬硬體的硬體定義式NVMeF產品,其他廠商則改走軟體定義式路線,不依靠任何專屬硬體,而是透過標準化的通用硬體,來打造End-to-End的完整NVMeF架構儲存陣列,例如以色列新創廠商Excelero的NVMesh,以及老牌固態儲存廠商Kaminario剛發表的k2.N都屬於這種架構。

Excelero的NVMesh是一種Server SAN軟體,透過軟體模擬,讓標準伺服器硬體扮演儲存設備角色,並提供儲存設備需要的擴展性與管理性。NVMesh能支援NVMe協定的SSD裝置,可透過專屬軟體,將內含NVMe SSD的x86伺服器建構為NVMesh Target端設備,前端主機只需安裝NVMesh Client端軟體,便能以NVMeF架構存取NVMesh Target端設備的NVMe SSD,至於底層傳輸通道則支援RoCE規格的乙太網路,或是InfiniBand,所以是一種NVMe over Ethernet或over InfiniBand的傳輸架構。

Kaminario的k2.N核心也是軟體,硬體是由AIC與Supermicro提供的標準伺服器組成(但Kaminario不單獨銷售k2.N的軟體)。k2.N分為擔任控制器的c.node節點與擔任儲存櫃的m.node節點,可以Scale-Out方式組合與擴展整個架構中的c.node與m.node節點,m.node節點中的SSD模組為NVMe SSD模組,而c.node與m.node節點彼此間都過基於25/50GbE RoCE乙太網路的NVMeF互連,是一種NVMe over Ethernet的傳輸架構,採用Broadcom的NetXtreme RoCE網路卡,Mellanox搭配Mellanox的25/50GbE交換器。

至於前端主機則可透過NVMe或傳統的FC、iSCSI介面來連接c.node節點,並為了保護用戶在FC方面的投資,還支援NVMe over FC架構,在既有FC實體通道上執行NVMe協定,可相容過去的SAN傳輸介面,也是k2.N相對於其他NVMeF儲存陣列的特色之一。

繼EMC不成功的DSSD D5之後,有其他廠商持續發展擁有完整NVMe-over-Fabrics(NVMeF)架構的儲存陣列。圖為Kaminario的k2.N,從主機端到後端儲存介面都採用NVMeF架構,可提供最短的存取延遲。

 

圖片來源/Kaminario

 

 

應用在擴充櫃的NVMe架構

NVMe儲存陣列應用上較大的一個問題,是如何解決後端的擴充問題。在單一機箱內部,可以很容易地透過背板來實現基於PCIe匯流排的NVMe連接,但企業級儲存陣列還需要跨多組儲存櫃機箱的串接功能,來提供必要的容量擴展能力,因此如何進行PCIe的外部連接便是關鍵所在。

最直接的做法是採用PCIe交換器,但PCIe外接介面目前還不是很成熟,因此一些廠商的解決辦法是NVMe over Ethernet的傳輸架構,例如Pure Storage預定在今年年底推出的FlashArray //x新款擴充儲存櫃,便預定採用基於25GbE RoCE乙太網路的NVMeF傳輸架構,來作為控制器到儲存櫃的連接介面。

另外我們前面介紹的Kaminario k2.N,在控制器c.Node與儲存櫃m.Node之間也是透過25/50GbE RoCE的NVMeF互連。目前看來,基於25/50GbE RoCE的NVMeF傳輸架構,很可能會成為實現NVMe外部連接的標準作法。

End-to-End的NVMeF架構對許多用戶來說略嫌激進,一些廠商的產品只在後端SSD介面採用NVMe,前端則仍沿用傳統的FC與iSCSI介面。

 

圖片來源/Pure Storage

熱門新聞

Advertisement