為了滿足大批量數據的采集、存儲與傳輸需求,越來越多的數據密集型應用如機器學習、雷達、金融風控、航空航天等選擇使用現場可編程邏輯門陣列作為數據采集前端硬件來實現高性能的數據采集系統。FPGA憑借其高靈活性、高并行能力及可高度定制化的特點,能夠在各種應用場景下實現高帶寬的數據采集、存儲及傳輸。然而FPGA并不擅長進行數據存儲工作,僅在內部集成少量片上存儲 。目前常見的解決方法是使用雙倍速率存儲器來滿足高帶寬和較大容量的存儲需求。然而隨著數據量的增加,數據的存儲需求達到TB級別,DDR SDRAM也不再能滿足如此巨大的存儲容量需求。因此,需要在FPGA上實現高帶寬、低延時的數據傳輸系統來解決FPGA存儲容量不足的問題。
直接內存訪問技術提供了一種不經過CPU的數據傳輸方式,其具有高性能、低延遲、CPU旁路等多種優勢,在現代數據中心和計算機系統中得到廣泛應用 。DMA技術通常被部署在高級微控制器總線或高速外設部件互連總線(PCIe)上,二者均為短距離連接總線,會導致數據采集系統的部署位置受限 。遠程直接內存訪問技術(RDMA)是一種專為遠距離網絡通信設計的技術,其通常通過光纖進行設備間連接,提供高通量、低延遲、遠距離的零拷貝網絡數據傳輸。基于融合以太網的遠程直接內存訪問(RoCE)提供了一種基于以太網的RDMA技術實現方法,相較于IB(InfiniBand)、互聯網廣域遠程直接內存訪問協議(iWARP)等RDMA實現方法,RoCE v2協議具有可通過以太網路由、低成本、無TCP/IP依賴等優勢。因此,RoCE v2協議是數據采集系統拓展傳輸方式的最佳選擇,基于FPGA實現RoCE v2協議的傳輸控制成為了研究熱點。與此同時,隨著應用場景的不斷變化,數據采集系統既要考慮高速連續數據的采集,也要考慮少量零散數據的采集。如何使基于FPGA的RoCE v2協議控制能夠在各種場景下發揮出最優性能成為亟待解決的問題。