公開了用于對等高速外圍組件互聯(PCIe)存儲傳輸的技術。在一些實施例中,該技術可實現為提供在PCIe設備之間進行對等存儲傳輸的方法,包括在第一PCIe設備的存儲器中提供用于在第一PCIe設備和目標PCIe設備之間通信的數據的隊列,在第一PCIe設備處接收從通信地耦合至第一PCIe設備和目標PCIe設備的主設備傳輸的隊列存儲器分配信息,以及使用第一PCIe設備的計算機處理器生成存儲命令。
【技術實現步驟摘要】
本公開涉及用于對等PCIe存儲傳輸的系統和方法。
技術介紹
高速非易失性存儲器(NVMe)規范是一種訪問固態設備(SSD)和通過高速外圍組件互聯(PCIe)總線連接的其他目標設備的規范。高速非易失性存儲器(NVMe)規范定義了一種基于單個管理指令集和完成隊列以及多個操作輸入/輸出(I/O)指令集和完成隊列的命令接口。管理隊列用于諸如隊列創建和刪除、設備狀態詢問和特征配置的任務,而I/O隊列用于所有與存儲相關的傳輸,諸如塊讀取和寫入。然而,NVMe規范在一定程度上依靠用于命令和控制的主機資源,這可呈現出在系統性能中的瓶頸或阻礙。根據NVMe規范,僅僅一個系統的主CPU能夠發送存儲命令至NVMe控制器。此外,PC1-Express系統架構面臨兩個典型的性能約束。第一,具有高設備扇出(例如企業存儲底板)的典型的PC1-Express構造的總上行帶寬(從PC1-Express開關上行至主機)比下行帶寬(從同一 PC1-Express開關下行至所有連接的存儲器控制器)小。這表示過多提供了該開關的下行帶寬,當僅僅被允許的流量在主機和末端NVMe控制器之間流動時它不能被完全利用。第二,在僅允許主機生成至所有控制器的存儲流量的系統中,主機的資源(特別是計算能力/(PU和存儲/動態隨機存取存儲器(DRAM))是整個系統性能的瓶頸。該系統的全部延遲和吞吐量受到主機能力的束縛。延遲問題對諸如高性能計算平臺等應用尤其不利,其中計算設備諸如圖形處理單元(GPU)期望訪問存儲介質上的大量數據,然而無法在主機不用作一種媒介以初始化從驅動器至主DRAM的存儲傳輸且然后進一步從主DRAM下行至GPU的存儲傳輸的情況下訪問它。解決這種問題的較早的嘗試包括供應商獨特和專有的解決方案,它們并不解決訪問非專門設計的NVM控制器的問題。然而,這并不能夠使得與這種供應商獨特或專有的解決方案不兼容的設備能夠產生這種流量,此外它并不兼容NVM Express協議,這是因為NVMExpress僅允許系統主機產生流量。由此可見,可以理解可能存在與目前用于對等PCIe存儲傳輸的技術相關的重要問題和缺陷。
技術實現思路
公開了用于對等PCIe存儲傳輸的技術。在一些實施例中,該技術可實現為提供在高速外圍組件互聯(PCIe)設備之間進行對等存儲傳輸的方法,包括在第一 PCIe設備的存儲器中提供用于在第一 PCIe設備和目標PCIe設備之間通信的數據的隊列,在第一 PCIe設備處接收從通信地耦合至第一 PCIe設備和目標PCIe設備的主設備傳輸的隊列存儲器分配信息,以及使用第一 PCIe設備的計算機處理器生成存儲命令。根據此示例性實施例的其他方面,該對等存儲傳輸可包括至或從高速非易失性存儲器(NVMe)兼容的目標設備的存儲傳輸。根據此示例性實施例的再一方面,該隊列可被分配至由PCIe枚舉器在第一 PCIe設備的初始化時刻分配的高速外圍組件互聯(PCIe)存儲區域。根據此示例性實施例的其他方面,該隊列可為用于將存儲命令發送至目標PCIe設備的I/O (輸入/輸出)提交隊列。根據此示例性實施例的再一方面,該隊列可為用于從目標PCIe設備接收存儲命令完成的指示的I/o (輸入/輸出)完成隊列。根據此示例性實施例的其他方面,該技術可進一步包括在第一 PCIe設備的存儲器中提供用于在第一 PCIe設備和目標PCIe設備之間通信數據的第二隊列,并在第一 PCIe設備處接收用于第二隊列的來自主機設備的隊列存儲器分配信息。根據此示例性實施例的其他方面,該第二隊列可包括下述隊列的至少一個:用于將存儲命令發送至目標PCIe設備的I/O (輸入/輸出)提交隊列以及用于從目標PCIe設備接收存儲命令完成的指示的I/O (輸入/輸出)完成隊列。根據此示例性實施例的再一方面,該技術可進一步包括在第一 PCIe設備的存儲器中提供數據緩存。根據此示例性實施例的其他方面,可在主機設備的存儲器中提供一隊列以用于下述內容的至少一個:管理提交、管理完成、I/O提交、I/O完成。根據此示例性實施例的其他方面,該技術可進一步包括在主機設備的存儲器中提供數據緩存。根據此示例性實施例的再一方面,該技術可進一步包括基于下述一個或多個因素確定多個隊列以在第一 PCIe設備上利用以及多個隊列以在主機設備上利用,一個或多個因素包括:第一 PCIe設備上可用的存儲器數量,主機設備上可用的存儲器數量,主機設備的利用水平,第一 PCIe設備的利用水平,在高速外圍組件互聯(PCIe)開關和主機設備之間可用的帶寬量,在高速外圍組件互聯(PCIe)開關和第一PCIe設備之間可用的帶寬量,以及在高速外圍組件互聯(PCIe)開關和目標PCIe設備之間可用的帶寬量。根據此示例性實施例的其他方面,該技術可進一步包括在第三PCIe設備的存儲器中提供用于在第一 PCIe設備和目標PCIe設備之間通信的數據的第二隊列,并在第一PCIe設備處接收用于第二隊列的來自主機設備的隊列存儲器分配信息。根據此示例性實施例的其他方面,該技術可進一步包括由第一 PCIe設備通過將產生的存儲傳輸命令存儲在I/o提交隊列中開始存儲傳輸命令,發出對等存儲器寫入至目標PCIe設備的門鈴寄存器,在第一 PCIe設備處接收來自目標PCIe設備的存儲器讀取命令以獲取該存儲傳輸命令,并在第一 PCIe設備和目標PCIe設備之間傳輸數據。根據此示例性實施例的其他方面,該技術可進一步包括接收在I/O完成隊列中由目標PCIe設備寫入的完成指示,接收來自目標PCIe設備的中斷,由第一 PCIe設備從該I/O完成隊列中獲取完成;以及更新目標PCIe設備的門鈴。根據此示例性實施例的再一方面,目標PCIe設備可為MS1-X(消息信號中斷擴展)兼容的并且該中斷可從目標PCIe設備發送至第一 PCIe設備的存儲器中的一地址(舉例來說,在諸如第一 PCIe設備的PCIe Bar空間的PCIe存儲器映射中的地址)。在一些實施例中,對于中斷來說在第一 PCIe設備中可能并不需要存儲器,并且硬件處理邏輯可通過MS1-X中斷的PCIe存儲器寫入事務層包(TLP)觸發。 根據此示例性實施例的其他方面,目標PCIe設備可以不為MS1-X (消息信號中斷擴展)兼容的并且該中斷可以從目標PCIe設備發送至主機并且其中該主機將該中斷轉發至第一 PCIe設備的存儲器中的一地址(舉例來說,在諸如第一 PCIe設備的PCIe Bar空間的PCIe存儲器映射中的地址)。在一些實施例中,對于中斷來說在第一 PCIe設備中可能并不需要存儲器,并且硬件處理邏輯可通過MS1-X中斷的PCIe存儲器寫入事務層包(TLP)觸發。根據此示例性實施例的其他方面,主機設備可包括以下內容的至少一個:企業服務器、數據庫服務器、工作站、以及計算機。根據此示例性實施例的其他方面,目標PCIe設備可包括以下內容的至少一個:圖形處理單元、音頻/視頻捕獲卡、硬盤、主機總線適配器以及高速非易失性存儲器(NVMe)控制器。根據一些實施例,該目標設備可為NVMe兼容的設備。在一些實施例中,用于對等PCIe存儲傳輸的技術可實現為計算機程序產品,它包括可在計算機上執行的一系列指令,該計算機程序產品執行用于對等高速外圍組件互聯(PCIe)存本文檔來自技高網...
【技術保護點】
一種提供在高速外圍組件互聯(PCIe)設備之間的對等存儲傳輸的方法,包括:在第一PCIe設備的存儲器中提供用于在第一PCIe設備和目標PCIe設備之間傳遞的數據的隊列;在第一PCIe設備處接收從通信地耦合至第一PCIe設備和目標PCIe設備的主設備傳輸的隊列存儲器分配信息;以及使用第一PCIe設備的計算機處理器生成存儲命令。
【技術特征摘要】
...
【專利技術屬性】
技術研發人員:C·C·麥坎布里奇,C·W·巴爾,A·C·杰姆爾,
申請(專利權)人:HGST荷蘭公司,
類型:發明
國別省市:荷蘭;NL
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。