为了满足大批量数据的采集、存储与传输需求,越来越多的数据密集型应用如机器学习、雷达、金融风控、航空航天等选择使用现场可编程逻辑门阵列作为数据采集前端硬件来实现高性能的数据采集系统。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协议控制能够在各种场景下发挥出最优性能成为亟待解决的问题。