0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

存儲技術(shù)未來演進:NVMe over Fabrics (NVMeoF)

旺材芯片 ? 來源:架構(gòu)師技術(shù)聯(lián)盟 ? 2024-11-16 10:44 ? 次閱讀

眾所周知,NVMe 是一個邏輯設(shè)備接口規(guī)范,NVM代表非易失性存儲器(Non-Volatile Memory)的首字母縮略字,是固態(tài)硬盤(SSD)的常見的閃存形式。SSD 通常分為兩類接口:SATA 和 NVMe。在需要兼容舊組件且性能不是首要考慮因素時,SATA 接口在新一代驅(qū)動器中依然可用。SATA 誕生于2000年,原本是為配備旋轉(zhuǎn)盤片和磁頭的傳統(tǒng)硬盤設(shè)計的。

雖然這類設(shè)備能夠提供穩(wěn)定的數(shù)據(jù)吞吐量,但由于包含大量機械組件,每次讀/寫操作都會帶來很明顯的延遲。這些硬件上的局限也制約了SATA接口規(guī)范和其整體性能。

對于企業(yè)級應(yīng)用,SAS 接口通常作為SATA的替代選擇,兩者都是ATA和SCSI接口的進化版,它們都利用串行鏈路發(fā)送既有命令。無論使用SAS還是SATA,都需要在CPU和磁盤之間配置硬盤驅(qū)動器控制器。

隨著新一代固態(tài)硬盤的推出,其理論性能已接近甚至超越RAM,遠超傳統(tǒng)HDD,因此需要一種全新的訪問接口來發(fā)揮其潛力。

NVMe(Non-Volatile Memory Express)

2011年,NVMe(非易失性存儲器Express)接口應(yīng)運而生。這一接口專為利用低延遲和高閃存性能而設(shè)計。其物理連接器則根據(jù)應(yīng)用場景有所不同:在客戶端設(shè)備上,由于無需熱插拔且重量和空間更為關(guān)鍵,因此M.2尺寸是常見選擇。而借助Thunderbolt 3接口,PCIe設(shè)備可作為USB-C可插拔設(shè)備連接,NVMe驅(qū)動器也常以這種形式出現(xiàn)(不過,只有當(dāng)較新的USB標(biāo)準(zhǔn)支持超過SATA的帶寬時,這樣的設(shè)備作為NVMe驅(qū)動器才具有實際意義)。

NVMe驅(qū)動器確實具備作為PCIe擴展卡插入PCIe插槽的能力,但這種應(yīng)用相對少見,因為它占用的是那些通常優(yōu)先用于安裝GPU卡的寶貴插槽。在計算服務(wù)器環(huán)境中,NVMe驅(qū)動器更為常見地以M.2(常作為啟動設(shè)備使用)和U.2(專門用于數(shù)據(jù)存儲)的形式呈現(xiàn)。

從設(shè)計角度來看,NVMe規(guī)范定義了一種簡潔高效的協(xié)議,僅包含13條基礎(chǔ)命令。為了最大化并行處理能力,這些命令可以在高達64K個I/O隊列上執(zhí)行,每個隊列可容納64K條命令。這種設(shè)計使得NVMe的性能遠超SATA規(guī)范,高出近三個數(shù)量級。

圖1:NVMe 命令集,來源:Saegate 遠程塊存儲協(xié)議

就遠程訪問存儲而言,有兩種方法:NAS網(wǎng)絡(luò)附加存儲)和 SAN(存儲區(qū)域網(wǎng)絡(luò))。對于個人用戶及小型團隊來說,NAS 是一種理想的選擇,而大型組織和企業(yè)則更傾向于采用 SAN。

NAS 通常用于小型家用文件服務(wù)器環(huán)境中,它通過一組用戶友好的網(wǎng)絡(luò)協(xié)議來掛載存儲,最常見的是使用 NFS(網(wǎng)絡(luò)文件系統(tǒng))和 SMB(服務(wù)器消息塊)協(xié)議來訪問文件系統(tǒng)。NAS 的一個顯著特點是它直接處理文件系統(tǒng)層,并充當(dāng)文件服務(wù)器,這與 SAN 有著本質(zhì)的區(qū)別。

相比之下,SAN 設(shè)備則專注于提供塊存儲服務(wù),而將文件系統(tǒng)層的管理交由客戶端負責(zé)。這就引出了一個問題:客戶端是如何訪問遠程服務(wù)器上的塊設(shè)備的呢?

在深入探討之前,我們先來了解一下 SCSI(小型計算機系統(tǒng)接口),這是一個自20世紀(jì)80年代起就存在的存儲訪問標(biāo)準(zhǔn)。隨著時間的推移,其命令集被廣泛應(yīng)用于多種新型協(xié)議,如 SAS(串行連接 SCSI)和 USB 連接 SCSI。在 SAN 中,SCSI 被用作遠程訪問塊存儲的協(xié)議。具體來說,SCSI 命令會被封裝在網(wǎng)絡(luò)協(xié)議中,并在 iSCSI 客戶端(發(fā)起方)和具有存儲資源的 iSCSI 服務(wù)器(目標(biāo))之間進行交換。實現(xiàn)這一功能的主要傳輸協(xié)議包括 TCP(在 iSCSI 中使用)和光纖通道協(xié)議(FCP),而 FCP 本身也可以進一步通過以太網(wǎng)(FCoE)進行封裝。這種靈活性和兼容性使得 SAN 成為了大型企業(yè)級存儲解決方案的首選。

圖 2:SCSI 和 NVMe 作為遠程塊存儲協(xié)議,來源:Piyush Gupta iSCSI和NVMe均被用作遠程訪問塊存儲的協(xié)議,且兩者均依賴于Fabric network(結(jié)構(gòu)網(wǎng)絡(luò))作為主要的傳輸方式。這里的“Fabric network”是一個寬泛的概念,用于描述抽象的基礎(chǔ)設(shè)施層。無論是通過本地網(wǎng)絡(luò)連接還是利用隧道技術(shù)跨數(shù)據(jù)中心連接,設(shè)備的連接方式并不構(gòu)成主要考量因素。關(guān)鍵在于主機期望網(wǎng)絡(luò)能在帶寬和延遲方面提供最佳性能,以確保數(shù)據(jù)傳輸?shù)母咝院蛯崟r性。

NVMe over Fabrics

最初,NVMeoF是作為獨立規(guī)范發(fā)布的,獨立于 NVMe。然而,隨著其成功的應(yīng)用與實施,NVMeoF逐漸融入并成為了NVMe標(biāo)準(zhǔn)體系的重要一環(huán)。NVMeoF 的引入使得NVMe命令能夠通過多種傳輸方式得以封裝,進而將協(xié)議的可用性擴展至跨網(wǎng)絡(luò)結(jié)構(gòu)的主機與存儲之間的數(shù)據(jù)傳輸。

這一概念與基于SCSI的協(xié)議(如iSCSI或iSER)有著異曲同工之妙。原本為本地存儲訪問設(shè)計的命令集,經(jīng)過重新設(shè)計后,如今能夠在存儲服務(wù)器與主機之間通過網(wǎng)絡(luò)進行通信。

與iSCSI相似,NVMeoF的發(fā)起方和目標(biāo)方(即客戶端和服務(wù)器)會建立連接并交換命令。雖然它們的NVMe堆棧主要以軟件形式實現(xiàn),但考慮到目標(biāo)方通常需要為多個發(fā)起方提供服務(wù),而發(fā)起方又可能需要訪問多個分散的驅(qū)動器,因此可以通過將命令解封裝轉(zhuǎn)移至專用硬件(例如 DPU)來實現(xiàn)更好的性能。

與SCSI相比,NVMe協(xié)議支持并行I/O操作,無需進程間鎖定,從而大大提高了效率。此外,NVMe還優(yōu)化了會話交互:單次數(shù)據(jù)傳輸僅需一次往返和兩次交互,相較于SCSI的兩次往返和四次交互,極大地減少了交互次數(shù)。這些優(yōu)勢在NVMeoF中得到了充分體現(xiàn),由于引入了網(wǎng)絡(luò)延遲,減少往返時間成為了提升整體性能的關(guān)鍵因素。

NVMe 傳輸?shù)姆诸?/p>

圖 3:NVMe 傳輸?shù)姆诸?首先我們介紹用于訪問主機內(nèi)本地存儲的內(nèi)存?zhèn)鬏?。這種傳輸方式通過本地總線與存儲設(shè)備進行通信,設(shè)備通常與PCIe或其他本地總線技術(shù)(如Compute Express Link,簡稱CXL,或Advanced Extensible Interface,簡稱AXI)連接。

NVMeoF擴展了NVMe命令集在基于消息的傳輸中的應(yīng)用。目前,RDMA和 TCP 傳輸由NVMe指定,光纖通道上的NVMe(FC-NVMe)則由INCITS(InterNational Committee for Information Technology Standards)組織管理。對于NVMe/TCP,發(fā)起方和目標(biāo)方之間會建立TCP連接,NVM子系統(tǒng)通過此連接進行通信,交換NVMe/TCP協(xié)議數(shù)據(jù)單元。此TCP連接同時用于命令和數(shù)據(jù)的傳輸,通常由內(nèi)核網(wǎng)絡(luò)堆棧在軟件中處理。雖然這種方法具有無需特殊網(wǎng)絡(luò)配置的便利性,但由于軟件處理的引入,它可能會導(dǎo)致性能下降并增加額外的計算資源需求。

相比之下,F(xiàn)C-NVMe利用光纖通道的可靠性、并行性和多隊列功能,在現(xiàn)有的FC網(wǎng)絡(luò)上提供高效的消息傳輸。與NVMe/TCP相比,F(xiàn)C-NVMe由于協(xié)議設(shè)計更為精簡,因此在CPU開銷方面表現(xiàn)更為優(yōu)秀。

然而,值得注意的是,無論是NVMe/TCP還是FC-NVMe-2,它們均未充分利用能夠加速RDMA的現(xiàn)代卸載網(wǎng)卡。為了彌補這一不足,NVMe標(biāo)準(zhǔn)特別指定了RDMA傳輸方式。RDMA允許數(shù)據(jù)在應(yīng)用程序的內(nèi)存空間與遠程主機的內(nèi)存空間之間直接傳輸,無需內(nèi)核的介入。這不僅減少了CPU的開銷,還降低了數(shù)據(jù)傳輸?shù)难舆t,為高性能存儲訪問提供了強有力的支持。

圖4:RDMA繞過內(nèi)核TCP/IP協(xié)議棧,來源:FS RDMA(遠程直接內(nèi)存訪問)

這里的核心概念在于應(yīng)用程序(如使用 NVMe 的數(shù)據(jù)庫)和設(shè)備(即 NVMe 驅(qū)動器)能夠直接讀取和寫入網(wǎng)卡內(nèi)存緩沖區(qū),繞過傳統(tǒng)的內(nèi)核網(wǎng)絡(luò)堆棧。

RDMA網(wǎng)絡(luò)技術(shù)通?;贗nfiniBand或以太網(wǎng)。InfiniBand是一個高性能的L2網(wǎng)絡(luò)標(biāo)準(zhǔn),RDMA是InfiniBand的一個核心功能。而以太網(wǎng)本身并不直接支持RDMA。

InfiniBand網(wǎng)絡(luò)專為HPC(高性能計算)數(shù)據(jù)中心設(shè)計,提供高吞吐量、低延遲和QoS(服務(wù)質(zhì)量)功能,它使用自己獨有的鏈路、網(wǎng)絡(luò)和傳輸協(xié)議。在InfiniBand網(wǎng)絡(luò)中,RDMA數(shù)據(jù)包通過其特定的傳輸協(xié)議發(fā)送。然而,由于InfiniBand網(wǎng)絡(luò)設(shè)備和NIC的供應(yīng)商相對較少,基于以太網(wǎng)的RDMA解決方案在市場中更受歡迎。

要在以太網(wǎng)上實現(xiàn)RDMA,網(wǎng)絡(luò)結(jié)構(gòu)必須支持無損傳輸。標(biāo)準(zhǔn)以太網(wǎng)并不保證這一點,因此需要進行相應(yīng)的增強或使用特定的上層傳輸協(xié)議。由于現(xiàn)代網(wǎng)絡(luò)方法非常靈活,因此在硬件供應(yīng)商的支持下,可以實現(xiàn)這一目標(biāo)。

值得注意的包括:

融合以太網(wǎng)(RDMA over Converged Ethernet)上的RDMA(v1和v2)和iWARP在傳輸方式和特性上略有不同。

RoCEv1在以太網(wǎng)上使用IB網(wǎng)絡(luò)層數(shù)據(jù)包,但由于沒有使用IP封裝,數(shù)據(jù)包無法在IP網(wǎng)絡(luò)中路由。

RoCE v2在網(wǎng)絡(luò)層使用UDP,允許數(shù)據(jù)包在IPv4或IPv6網(wǎng)絡(luò)上進行路由。因此,RoCE v2有時被稱為可路由RoCE(RRoCE)。

iWARP(Internet Wide Area RDMA Protocol)使用TCP作為傳輸層協(xié)議,它提供了固有的可靠性,因此無需對以太網(wǎng)層進行額外增強。然而,與RoCE相比,使用TCP會帶來更多的開銷和復(fù)雜性。

圖5:常見RDMA實現(xiàn)的網(wǎng)絡(luò)層比較,來源:FS 所有這些技術(shù)共存,并各自提供不同的優(yōu)勢。在數(shù)據(jù)中心環(huán)境中,為了實現(xiàn)最佳性能,InfiniBand 或 RoCE 通常是首選。在某些特定場景中,專用集群網(wǎng)絡(luò)也能作為一個可行的網(wǎng)絡(luò)解決方案。而在 DCB 配置復(fù)雜或需要跨越公共互聯(lián)網(wǎng)部署時,iWARP 技術(shù)可能更為合適。

小結(jié)

NVMeoF 的概念是基于SCSI規(guī)范逐步發(fā)展而來的。盡管舊有的技術(shù)已被證明是可靠且實用的,但隨著固態(tài)硬盤的廣泛應(yīng)用,人們對更為高效的協(xié)議需求日益增長。直接比較不同的協(xié)議可能較為復(fù)雜,因為不同的應(yīng)用程序有不同的需求。因此,尋找一個同時支持 NVMe 和 SCSI over RDMA 的設(shè)備成為了一個挑戰(zhàn)。然而,無論采用何種傳輸方式,NVMeoF 無疑是當(dāng)今SAN網(wǎng)絡(luò)中的領(lǐng)先技術(shù)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 存儲
    +關(guān)注

    關(guān)注

    13

    文章

    4314

    瀏覽量

    85842
  • SSD
    SSD
    +關(guān)注

    關(guān)注

    21

    文章

    2862

    瀏覽量

    117419
  • nvme
    +關(guān)注

    關(guān)注

    0

    文章

    221

    瀏覽量

    22636

原文標(biāo)題:存儲技術(shù)未來演進:NVMe over Fabrics (NVMeoF)

文章出處:【微信號:wc_ysj,微信公眾號:旺材芯片】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    一文詳解 ALINX NVMe IP 特性

    - ALINX NVMe?IP - 在當(dāng)下數(shù)據(jù)驅(qū)動的時代,企業(yè)對高性能存儲解決方案的需求不斷增加。NVMe AXI IP 憑借其支持大數(shù)據(jù)量、高速傳輸、低延遲等存儲性能優(yōu)勢,成為眾多開
    的頭像 發(fā)表于 11-14 13:59 ?245次閱讀
    一文詳解 ALINX <b class='flag-5'>NVMe</b> IP 特性

    PCIe與NVMe存儲的關(guān)系

    在現(xiàn)代計算機系統(tǒng)中,存儲技術(shù)的發(fā)展對于提高整體性能至關(guān)重要。PCI Express(PCIe)和NVMe(Non-Volatile Memory Express)是兩種關(guān)鍵技術(shù),它們共
    的頭像 發(fā)表于 11-06 09:29 ?672次閱讀

    Synology如何使用Nvme固態(tài)做存儲空間

    Synology 如何使用Nvme固態(tài)做存儲空間
    發(fā)表于 10-09 10:55 ?0次下載

    國產(chǎn)NVMe SSD擴展卡:驅(qū)動存儲新紀(jì)元

    NVMe技術(shù)的標(biāo)準(zhǔn)化接口使得不同廠商的設(shè)備能夠更好地兼容和互操作,提升了存儲系統(tǒng)的靈活性和擴展性。
    的頭像 發(fā)表于 08-17 14:59 ?1465次閱讀
    國產(chǎn)<b class='flag-5'>NVMe</b> SSD擴展卡:驅(qū)動<b class='flag-5'>存儲</b>新紀(jì)元

    手機主流存儲eMMC、UFS與NVMe的區(qū)別

    近幾年,手機影像不斷發(fā)展,照片+視頻占據(jù)大量存儲空間,在愈發(fā)膨脹的微信、手游以及各種APP面前,存儲空間愈發(fā)不夠。該存儲空間即是手機存儲容量(ROM),市面上常見的手機快閃記憶體標(biāo)準(zhǔn)共
    的頭像 發(fā)表于 07-16 16:42 ?2763次閱讀
    手機主流<b class='flag-5'>存儲</b>eMMC、UFS與<b class='flag-5'>NVMe</b>的區(qū)別

    高性能NVMe主機控制器,Xilinx FPGA PCIe 3

    NVMe Host Controller IP1介紹NVMe Host Controller IP可以連接高速存儲PCIe SSD,無需CPU和外部存儲器,自動加速處理所有的
    發(fā)表于 04-20 14:41

    兆芯攜手智云創(chuàng)新推出高性能NVMe企業(yè)級存儲系統(tǒng)

    面向持續(xù)增長的數(shù)字化轉(zhuǎn)型與應(yīng)用創(chuàng)新發(fā)展需求,兆芯攜手智云創(chuàng)新,基于兆芯高性能自主處理器平臺成功推出多款信創(chuàng)存儲產(chǎn)品,包括高性能NVMe企業(yè)級存儲系統(tǒng)、HS6000系列企業(yè)級存儲系統(tǒng)和H
    的頭像 發(fā)表于 04-12 14:06 ?558次閱讀

    高性能NVMe主機控制器,Xilinx FPGA NVMe Host Accelerator IP

    NVMe Host Controller IP1介紹NVMe Host Controller IP可以連接高速存儲PCIe SSD,無需CPU和外部存儲器,自動加速處理所有的
    發(fā)表于 04-10 22:55

    如何在Arm平臺上進行SPDK NVMe over TCP優(yōu)化呢?

    隨著存儲介質(zhì)在 I/O 性能方面不斷演進存儲軟件占用的總事務(wù)時間百分比變得越來越大。提高存儲軟件棧的性能和效率至關(guān)重要。
    的頭像 發(fā)表于 04-01 09:53 ?2018次閱讀
    如何在Arm平臺上進行SPDK <b class='flag-5'>NVMe</b> <b class='flag-5'>over</b> TCP優(yōu)化呢?

    Xilinx FPGA高性能NVMe SSD主機控制器,NVMe Host Controller IP

    NVMe Host Controller IP1介紹NVMe Host Controller IP可以連接高速存儲PCIe SSD,無需CPU和外部存儲器,自動加速處理所有的
    發(fā)表于 03-27 17:23

    Xilinx FPGA NVMe主機控制器IP,高性能版本介紹應(yīng)用

    NVMe Host Controller IP1介紹NVMe Host Controller IP可以連接高速存儲PCIe SSD,無需CPU和外部存儲器,自動加速處理所有的
    發(fā)表于 03-09 13:56

    NVMe Host Controller IP實現(xiàn)高性能存儲解決方案

    電子發(fā)燒友網(wǎng)站提供《NVMe Host Controller IP實現(xiàn)高性能存儲解決方案.pdf》資料免費下載
    發(fā)表于 02-21 14:28 ?2次下載

    Xilinx FPGA NVMe Host Controller IP,NVMe主機控制器

    NVMe Host Controller IP1介紹NVMe Host Controller IP可以連接高速存儲PCIe SSD,無需CPU和外部存儲器,自動加速處理所有的
    發(fā)表于 02-21 10:16

    Xilinx FPGA NVMe控制器,NVMe Host Controller IP

    NVMe Host Controller IP可以連接高速存儲PCIe SSD,無需CPU和外部存儲器,自動加速處理所有的NVMe協(xié)議命令,具備獨立的數(shù)據(jù)寫入AXI4-Stream/F
    的頭像 發(fā)表于 02-18 11:27 ?905次閱讀
    Xilinx FPGA <b class='flag-5'>NVMe</b>控制器,<b class='flag-5'>NVMe</b> Host Controller IP

    甲骨文發(fā)布VirtualBox 7.0.14版本,支持NVMe存儲導(dǎo)入導(dǎo)出

    此次升級帶來了多項重要功能,例如支持導(dǎo)入與導(dǎo)出自帶NVMe存儲控制器的虛擬機;初始引入Red Hat Enterprise Linux 9.4的內(nèi)置核心技術(shù)支持等等。同時,也涵蓋了多個bug修正,如
    的頭像 發(fā)表于 01-17 14:41 ?818次閱讀