91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

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

旺材芯片 ? 來源:架構師技術聯盟 ? 2024-11-16 10:44 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

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

NVMe(Non-Volatile Memory Express)

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

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

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

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

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

NAS 通常用于小型家用文件服務器環境中,它通過一組用戶友好的網絡協議來掛載存儲,最常見的是使用 NFS(網絡文件系統)和 SMB(服務器消息塊)協議來訪問文件系統。NAS 的一個顯著特點是它直接處理文件系統層,并充當文件服務器,這與 SAN 有著本質的區別。

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

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

圖 2:SCSI 和 NVMe 作為遠程塊存儲協議,來源:Piyush Gupta iSCSI和NVMe均被用作遠程訪問塊存儲的協議,且兩者均依賴于Fabric network(結構網絡)作為主要的傳輸方式。這里的“Fabric network”是一個寬泛的概念,用于描述抽象的基礎設施層。無論是通過本地網絡連接還是利用隧道技術跨數據中心連接,設備的連接方式并不構成主要考量因素。關鍵在于主機期望網絡能在帶寬和延遲方面提供最佳性能,以確保數據傳輸的高效性和實時性。

NVMe over Fabrics

最初,NVMeoF是作為獨立規范發布的,獨立于 NVMe。然而,隨著其成功的應用與實施,NVMeoF逐漸融入并成為了NVMe標準體系的重要一環。NVMeoF 的引入使得NVMe命令能夠通過多種傳輸方式得以封裝,進而將協議的可用性擴展至跨網絡結構的主機與存儲之間的數據傳輸。

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

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

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

NVMe 傳輸的分類

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

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

相比之下,FC-NVMe利用光纖通道的可靠性、并行性和多隊列功能,在現有的FC網絡上提供高效的消息傳輸。與NVMe/TCP相比,FC-NVMe由于協議設計更為精簡,因此在CPU開銷方面表現更為優秀。

然而,值得注意的是,無論是NVMe/TCP還是FC-NVMe-2,它們均未充分利用能夠加速RDMA的現代卸載網卡。為了彌補這一不足,NVMe標準特別指定了RDMA傳輸方式。RDMA允許數據在應用程序的內存空間與遠程主機的內存空間之間直接傳輸,無需內核的介入。這不僅減少了CPU的開銷,還降低了數據傳輸的延遲,為高性能存儲訪問提供了強有力的支持。

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

這里的核心概念在于應用程序(如使用 NVMe 的數據庫)和設備(即 NVMe 驅動器)能夠直接讀取和寫入網卡內存緩沖區,繞過傳統的內核網絡堆棧。

RDMA網絡技術通常基于InfiniBand或以太網。InfiniBand是一個高性能的L2網絡標準,RDMA是InfiniBand的一個核心功能。而以太網本身并不直接支持RDMA。

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

要在以太網上實現RDMA,網絡結構必須支持無損傳輸。標準以太網并不保證這一點,因此需要進行相應的增強或使用特定的上層傳輸協議。由于現代網絡方法非常靈活,因此在硬件供應商的支持下,可以實現這一目標。

值得注意的包括:

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

RoCEv1在以太網上使用IB網絡層數據包,但由于沒有使用IP封裝,數據包無法在IP網絡中路由。

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

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

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

小結

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 存儲
    +關注

    關注

    13

    文章

    4536

    瀏覽量

    87501
  • SSD
    SSD
    +關注

    關注

    21

    文章

    2985

    瀏覽量

    119660
  • nvme
    +關注

    關注

    0

    文章

    252

    瀏覽量

    23252

原文標題:存儲技術未來演進:NVMe over Fabrics (NVMeoF)

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    NVMe高速傳輸之擺脫XDMA設計之十:NVMe初始化狀態機設計

    在完成PCIe配置初始化后,PCIe總線域的地址空間都分配完畢,可以執行傳出存儲讀寫TLP,系統初始化進入NVMe配置初始化。NVMe配置初始化主要完成NVMe設備BAR空間的
    發表于 07-05 22:03

    NVMe高速傳輸之擺脫XDMA設計之六:性能監測單元設計

    性能監測單元負責監測 NVMe over PCIe 邏輯加速引擎的運行狀態和統計信息, 包括復位后 運行時間信息、 NVMe 指令數量統計信息、 數據操作數量統計信息、 IOPS 性能統計 信息
    發表于 07-02 19:51

    NVMe IP高速傳輸擺脫XDMA設計之四:系統控制模塊設計

    系統控制模塊負責實現 NVMe over PCI 邏輯加速引擎的控制功能, 其結構如圖 1 所示。 用戶通過系統控制模塊實現對初始化功能、 隊列管理功能、 DMA 功能等主要功能的控制, 同時邏輯
    發表于 06-29 18:07

    NVMe IP高速傳輸卻不依賴便利的XDMA設計之三:系統架構

    、 零散數據等多種數據量形式。 面臨大量零散數據存儲請求時, 需要增加 NVMe I/O 隊列的數量和深度來保證數據傳輸性能; 而面臨大量連續數據存儲請求時, 單隊列足以發揮性能。 在這種情況下, 需要
    發表于 06-29 17:42

    NVMe協議研究掃盲

    的不斷完善,越來越多的系統和應用采用NVMe存儲接口的SSD,這種技術將成為未來存儲領域的主流。 NVM
    發表于 06-02 23:28

    NVMe協議簡介2

    通過PCIe進行,使用PCIe的存儲讀寫TLP請求。指令的提交與完成機制如圖1所示,圖中展示的指令提交與完成步驟如下: 圖1 NVMe指令提交與完成步驟圖 (1)主機控制器向提交隊列寫入一個或多個提交命令
    發表于 05-15 23:15

    NVMe協議簡要分析

    具有更高的吞吐量、更快的訪問速度和更低的功耗,已經被廣泛應用于各種計算領域和存儲系統。 1. NVMe隊列 NVMe協議采用成對的提交隊列(Submission Queue,SQ)和完成隊列
    發表于 05-15 00:34

    NVMe協議分析

    NVM Express(NVMe)是一種高性能、可擴展的接口協議,用于通過PCI express(PCIe)總線,實現主機軟件與NVM設備之間的通信。目前,由于NVMe SSD相比于SATA SSD具有更高的吞吐量、更快的訪問速度和更低的功耗,已經被廣泛應用于各種計算領域
    的頭像 發表于 05-15 00:29 ?554次閱讀
    <b class='flag-5'>NVMe</b>協議分析

    NVME控制器設計1

    NVMe 控制模塊負責實現用戶請求事務與NVMe事務的轉換、 NVMe命令提交與完成機制、 PRP 尋址機制。 在 NVMe over PC
    發表于 04-24 09:45

    NVMe IP over PCIe 4.0:擺脫XDMA,實現超高速!

    基于NVMe加速引擎,它直接放棄XDMA,改為深度結合PCIe,通過高速傳輸機制開發。同時利用UVM驗證平臺驗證,有效提升工作效率。
    的頭像 發表于 04-16 14:57 ?422次閱讀
    <b class='flag-5'>NVMe</b> IP <b class='flag-5'>over</b> PCIe 4.0:擺脫XDMA,實現超高速!

    ALINX NVME SPCle IP 特性詳解

    NVMe SPCle IP 正是為這樣的場景量身定制。通過結合 PCIe 軟核 IP 與 NVMe 主機控制器,讓開發人員 在無硬核的情況下,也能輕松接入 NVMe SSD ,突破了傳統
    的頭像 發表于 02-20 15:35 ?515次閱讀
    ALINX <b class='flag-5'>NVME</b> SPCle IP 特性詳解

    一文詳解 ALINX NVMe IP 特性

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

    PCIe與NVMe存儲的關系

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

    Synology如何使用Nvme固態做存儲空間

    Synology 如何使用Nvme固態做存儲空間
    發表于 10-09 10:55 ?0次下載

    國產NVMe SSD擴展卡:驅動存儲新紀元

    NVMe技術的標準化接口使得不同廠商的設備能夠更好地兼容和互操作,提升了存儲系統的靈活性和擴展性。
    的頭像 發表于 08-17 14:59 ?1767次閱讀
    國產<b class='flag-5'>NVMe</b> SSD擴展卡:驅動<b class='flag-5'>存儲</b>新紀元
    主站蜘蛛池模板: 久久人人青草97香蕉 | 免费性bbbb台湾| 中文天堂 | 最新欧美精品一区二区三区 | 最新在线网址 | 永久手机看片福利盒子 | 国产重口老太和小伙乱视频 | 欧美深夜 | 久久9热| 狠狠色狠狠色综合日日32 | 国产全肉乱妇杂乱视频 | 特级毛片免费看 | 黄色三级免费网站 | 日本三级2018亚洲视频 | 亚洲四虎影院 | 色老头影院| 天天舔夜夜操 | 色激情小说 | 四虎影视在线播放 | 男人午夜视频在线观看 | 在线网址你懂的 | 国产免费一区二区三区 | 桃花色综合影院 | 久久午夜网 | 淫香色香 | 美女扒开尿口给男的桶个爽 | 午夜小视频男女在线观看 | 国产成人无精品久久久久国语 | 美女免费观看一区二区三区 | 三级国产在线观看 | 国产精品九九久久一区hh | 在线免费观看黄色小视频 | 一区二区免费看 | 国产精品天天影视久久综合网 | 四虎在线观看 | 亚洲人在线 | 日本加勒比官网 | 欧美一级视频免费 | 88xx成人永久免费观看 | 亚州一级毛片在线 | 欧美美女一区二区三区 |