• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種基于FPGA的數據傳輸系統及方法技術方案

    技術編號:38510827 閱讀:33 留言:0更新日期:2023-08-19 16:55
    本申請公開了一種基于FPGA的數據傳輸系統及方法,其中,基于FPGA的數據傳輸系統包括:主機設備;現場可編程門陣列設備,所述現場可編程門陣列設備裝載在所述主機設備中,所述現場可編程門陣列設備與所述主機設備通信連接,所述現場可編程門陣列設備與遠端的遠程內存直接訪問設備連接;其中,所述現場可編程門陣列設備設有共享內存區,所述現場可編程門陣列設備、所述主機設備均從所述共享內存區中讀取或寫入數據。本申請可以實現現場可編程門陣列設備和主機設備的簡單交互。設備和主機設備的簡單交互。設備和主機設備的簡單交互。

    【技術實現步驟摘要】
    一種基于FPGA的數據傳輸系統及方法


    [0001]本申請涉及數據傳輸
    ,具體涉及一種基于FPGA的數據傳輸系統及方法。

    技術介紹

    [0002]隨著高性能計算和大數據應用的不斷發展,對于數據中心網絡的高速和高效的數據傳輸需求不斷提高。傳統的網絡通信協議(如TCP/IP)存在延遲高、吞吐量低和CPU利用率低等問題,不能滿足高性能計算和數據中心網絡的要求。因此,遠程直接內存訪問(RDMA, Remote Direct Memory Access)技術被廣泛應用,而RoCE v2是一種重要的RDMA技術,能夠在以太網上實現低延遲、高吞吐量的數據傳輸。在通用的RDMA網絡適配器領域,針對RDMA網絡編程,有通用的RDMA協議棧驅動程序和libibverbs庫來支持RDMA編程。在廠商層面,需要在RDMA協議棧驅動程序中,添加與廠商硬件相關的RDMA協議棧驅動程序部分,大大增加了開發難度。在嵌入式RoCEv2
    ,Xilinx提供了實現RoCEv2技術的IP核以及相應的參考設計和在嵌入式Linux系統中的驅動程序支持,為有需求的廠商進行定制的嵌入式RDMA網絡適配器開發,但在涉及到FPGA(FieldProgrammable Gate Array,現場可編程門陣列)設備和主機設備CPU異構編程上,沒有完整的開發方案支持。雖然有一些通用的異構編程框架,但需要平臺適配和熟悉相應的異構編程技術,加大了技術開發的難度和成本。

    技術實現思路

    [0003]為了解決上述技術問題,提出了本申請。本申請的實施例提供了一種基于FPGA的數據傳輸系統及方法,可以實現現場可編程門陣列設備和主機設備的簡單交互。
    [0004]根據本申請的一個方面,提供了一種基于FPGA的數據傳輸系統,包括:主機設備;現場可編程門陣列設備,所述現場可編程門陣列設備裝載在所述主機設備中,所述現場可編程門陣列設備與所述主機設備通信連接,所述現場可編程門陣列設備與遠端的遠程內存直接訪問設備連接;其中,所述現場可編程門陣列設備設有共享內存區,所述現場可編程門陣列設備、所述主機設備均從所述共享內存區中讀取或寫入數據。
    [0005]在一實施例中,所述現場可編程門陣列設備包括:密文分組鏈接消息認證碼模塊,所述密文分組鏈接消息認證碼模塊與以太網連接,所述密文分組鏈接消息認證碼模塊構造為傳出以太網數據包;數據包過濾器模塊,所述數據包過濾器模塊與所述密文分組鏈接消息認證碼模塊連接,所述數據包過濾器模塊構造為將所述以太網數據包分為RoCE v2協議包和非RoCEv2協議包;ERNIC模塊,所述ERNIC模塊與所述數據包過濾器模塊連接,所述ERNIC模塊構造為解析所述RoCE v2協議包;AXI DMA模塊,所述AXIDMA模塊與所述ERNIC模塊連接,所述AXIDMA模塊構造為將所述ERNIC模塊解析出來的數據寫入至所述共享內存區中;軟核處理器,所述軟核處理器與所述密文分組鏈接消息認證碼模塊連接。
    [0006]在一實施例中,所述現場可編程門陣列設備還包括:XDMA模塊,所述XDMA模塊與所述主機設備連接,所述XDMA模塊構造為完成與所述主機設備的控制交互和數據傳遞;mb_xdma_handshake模塊,所述mb_xdma_handshake模塊與所述軟核處理器連接,所述mb_xdma_
    handshake模塊構造為實現控制命令通信;所述mb_xdma_handshake模塊包括塊RAM,所述塊RAM用于構成所述共享內存區;雙倍速率同步動態隨機存儲器模塊,所述雙倍速率同步動態隨機存儲器模塊構成所述共享內存區。
    [0007]在一實施例中,所述現場可編程門陣列設備與所述主機設備通過PCIe總線連接,所述現場可編程門陣列設備通過QSFP接口與遠端的所述遠程內存直接訪問設備連接。
    [0008]根據本申請的另一個方面,提供了一種基于FPGA的數據傳輸方法,適用于上述任一項實施例所述的基于FPGA的數據傳輸系統,所述基于FPGA的數據傳輸方法以所述現場可編程門陣列設備作為客戶端,遠端的遠程內存直接訪問設備作為服務器端,所述現場可編程門陣列設備與主機設備通信連接,所述基于FPGA的數據傳輸方法包括:所述現場可編程門陣列設備讀取當前共享內存區中的數據;當所述共享內存區中的數據表示有傳輸任務時,所述現場可編程門陣列設備解析當前共享內存區中的數據,獲取操作命令和待傳輸的數據;其中,所述操作命令和待傳輸的數據來自所述主機設備;根據所述操作命令,所述現場可編程門陣列設備向所述客戶端發送待傳輸的數據;發送數據完畢后,所述現場可編程門陣列設備向所述共享內存區中寫入通信結束信息,并向所述主機設備發送本次待傳輸的數據傳輸完成的信號。
    [0009]在一實施例中,在所述現場可編程門陣列設備讀取當前共享內存區中的數據之前,所述基于FPGA的數據傳輸方法還包括:所述現場可編程門陣列設備清除所述共享內存區中的數據。
    [0010]根據本申請的另一個方面,提供了一種基于FPGA的數據傳輸方法,適用于上述任一項實施例所述的基于FPGA的數據傳輸系統,所述基于FPGA的數據傳輸方法以主機設備作為客戶端,且現場可編程門陣列設備與所述主機設備通信連接,遠端的遠程內存直接訪問設備作為服務器端,所述基于FPGA的數據傳輸方法包括:所述主機設備從現場可編程門陣列設備的共享內存區讀取數據;當所述數據表示所述現場可編程門陣列設備確定接收待傳輸的數據時,將所述待傳輸的數據存儲至所述現場可編程門陣列設備的所述共享內存區中;通知所述現場可編程門陣列設備從所述共享內存區中讀取所述待傳輸的數據;獲取所述現場可編程門陣列設備發送的本次待傳輸的數據傳輸完成的信號。
    [0011]根據本申請的另一個方面,提供了一種基于FPGA的數據傳輸方法,適用于上述任一項實施例所述的基于FPGA的數據傳輸系統,所述基于FPGA的數據傳輸方法以所述現場可編程門陣列設備作為服務器端,遠端的遠程內存直接訪問設備作為客戶端,所述現場可編程門陣列設備與主機設備通信連接,所述基于FPGA的數據傳輸方法包括:所述現場可編程門陣列設備監聽所述客戶端的連接請求;當所述客戶端發起連接請求時,所述現場可編程門陣列設備接收所述客戶端的客戶端數據;所述現場可編程門陣列設備將所述客戶端數據存儲至所述現場可編程門陣列設備的共享內存區;所述現場可編程門陣列設備通知所述主機設備開始接收所述客戶端數據;當所述現場可編程門陣列設備接收到所述主機設備發送的接收完成的信號時,繼續監聽所述客戶端的連接請求。
    [0012]在一實施例中,所述當所述客戶端發起連接請求時,所述現場可編程門陣列設備接收所述客戶端的客戶端數據之后,所述基于FPGA的數據傳輸方法還包括:所述現場可編程門陣列設備解析所述客戶端數據,獲得操作命令;所述現場可編程門陣列設備將所述操作命令通過所述共享內存區傳送給所述主機設備;所述現場可編程門陣列設備從所述共享
    內存區中獲取所述主機設備基于所述操作命令存儲的待傳送數據;將所述待傳送數據發送至所述客戶端。
    [0013]根據本申請的另一本文檔來自技高網
    ...

    【技術保護點】

    【技術特征摘要】
    1.一種基于FPGA的數據傳輸系統,其特征在于,包括:主機設備;現場可編程門陣列設備,所述現場可編程門陣列設備裝載在所述主機設備中,所述現場可編程門陣列設備與所述主機設備通信連接,所述現場可編程門陣列設備與遠端的遠程內存直接訪問設備連接;其中,所述現場可編程門陣列設備設有共享內存區,所述現場可編程門陣列設備、所述主機設備均從所述共享內存區中讀取或寫入數據。2.根據權利要求1所述的基于FPGA的數據傳輸系統,其特征在于,所述現場可編程門陣列設備包括:密文分組鏈接消息認證碼模塊,所述密文分組鏈接消息認證碼模塊與以太網連接,所述密文分組鏈接消息認證碼模塊構造為傳出以太網數據包;數據包過濾器模塊,所述數據包過濾器模塊與所述密文分組鏈接消息認證碼模塊連接,所述數據包過濾器模塊構造為將所述以太網數據包分為RoCE v2協議包和非RoCEv2協議包;ERNIC模塊,所述ERNIC模塊與所述數據包過濾器模塊連接,所述ERNIC模塊構造為解析所述RoCE v2協議包;AXI DMA模塊,所述AXIDMA模塊與所述ERNIC模塊連接,所述AXIDMA模塊構造為將所述ERNIC模塊解析出來的數據寫入至所述共享內存區中;軟核處理器,所述軟核處理器與所述密文分組鏈接消息認證碼模塊連接。3.根據權利要求2所述的基于FPGA的數據傳輸系統,其特征在于,所述現場可編程門陣列設備還包括:XDMA模塊,所述XDMA模塊與所述主機設備連接,所述XDMA模塊構造為完成與所述主機設備的控制交互和數據傳遞;mb_xdma_handshake模塊,所述mb_xdma_handshake模塊與所述軟核處理器連接,所述mb_xdma_handshake模塊構造為實現控制命令通信;所述mb_xdma_handshake模塊包括塊RAM,所述塊RAM用于構成所述共享內存區;雙倍速率同步動態隨機存儲器模塊,所述雙倍速率同步動態隨機存儲器模塊構成所述共享內存區。4.根據權利要求1所述的基于FPGA的數據傳輸系統,其特征在于,所述現場可編程門陣列設備與所述主機設備通過PCIe總線連接,所述現場可編程門陣列設備通過QSFP接口與遠端的所述遠程內存直接訪問設備連接。5.一種基于FPGA的數據傳輸方法,適用于權利要求1
    ?
    4中任一項所述的基于FPGA的數據傳輸系統,其特征在于,所述基于FPGA的數據傳輸方法以所述現場可編程門陣列設備作為客戶端,遠端的遠程內存直接訪問設備作為服務器端,所述現場可編程門陣列設備與主機設備通信連接,所述基于FPGA的數據傳輸方法包括:所述現場可編程門陣列設備讀取當前共享內存區中的數據;當所述共享內存區中的數據表示有傳輸任務時,所述現場可編程門陣列設備解析當前共享內存區中的數據,獲取操作命令和待傳輸的數據;其中,所述操作命令和待傳輸的數據來自所述主機設備;
    根據所述操作命令,所述現場可編程門陣列設備向所述客戶端發送待傳輸的數據;發送數據完畢后,所述現場可編程門陣列設備向所述共享內存區中寫入通信結束信息,并向所述主機設備發送本次待傳輸的數據...

    【專利技術屬性】
    技術研發人員:張斌周勇
    申請(專利權)人:北京芯通未來科技發展有限公司
    類型:發明
    國別省市:

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 国产午夜激无码av毛片| 秋霞鲁丝片无码av| 免费A级毛片无码久久版| 无码国产精品一区二区免费模式 | 久久精品亚洲中文字幕无码麻豆 | 无码AV片在线观看免费| 国产乱子伦精品免费无码专区| 亚洲精品高清无码视频| 人妻无码久久精品| 精品久久无码中文字幕| 精品人妻大屁股白浆无码| 久久伊人中文无码| 国产精品无码一区二区三区毛片| 久久亚洲精品无码AV红樱桃| 精品人妻少妇嫩草AV无码专区| 无码人妻丰满熟妇区BBBBXXXX| 无码少妇一区二区三区| 亚洲精品无码专区在线在线播放 | 在人线av无码免费高潮喷水| 日韩精品久久无码中文字幕| 亚洲最大av无码网址| 丰满亚洲大尺度无码无码专线| 亚洲AV色吊丝无码| 亚洲成AV人片在线播放无码| 人妻无码视频一区二区三区 | 无码人妻一区二区三区在线| 亚洲人成无码www久久久| 久久久人妻精品无码一区| 日韩av片无码一区二区不卡电影 | 亚洲av永久无码精品国产精品| 免费无码AV一区二区| 国产AV无码专区亚洲AV琪琪| 国产成人无码免费视频97| 国产精品爆乳奶水无码视频| 尤物永久免费AV无码网站| 免费无遮挡无码视频网站| 无码人妻精品丰满熟妇区| 精品无码黑人又粗又大又长| 粉嫩大学生无套内射无码卡视频| 日韩精品人妻系列无码专区免费| 亚洲av无码久久忘忧草|