一种高密度智能网卡、fpga及其工作方法

文档序号:1937211 发布日期:2021-12-07 浏览:19次 >En<

阅读说明:本技术 一种高密度智能网卡、fpga及其工作方法 (High-density intelligent network card, FPGA and working method thereof ) 是由 郑冠儒 韩威 薛广营 于 2021-08-30 设计创作,主要内容包括:本申请公开了一种高密度智能网卡,包括FPGA,网口,PCIE接口,SOC设备,SODIMM内存,其中FPGA用于分别接收来自SOC设备的内存访问请求和来自网口的内存访问请求,区分来自SOC设备的内存访问请求和来自网口的内存访问请求,将来自SOC设备的内存访问请求发送至SODIMM内存,得到请求数据并反馈至SOC设备。可见,相比于传统的智能网卡架构,本申请将FPGA的内存和SOC设备的内存池化,节省了板卡上硬件的空间,简化了硬件设计,提高了硬件设计的效率。此外,本申请还提供了一种应用于高密度智能网卡的FPGA、高密度智能网卡中FPGA的工作方法,其技术效果与上述高密度智能网卡的技术效果相对应。(The application discloses a high-density intelligent network card, which comprises an FPGA, a network port, a PCIE interface, an SOC device and an SODIMM memory, wherein the FPGA is used for respectively receiving a memory access request from the SOC device and a memory access request from the network port, distinguishing the memory access request from the SOC device from the memory access request from the network port, sending the memory access request from the SOC device to the SODIMM memory, obtaining request data and feeding the request data back to the SOC device. Therefore, compared with the traditional intelligent network card architecture, the method and the system have the advantages that the memory of the FPGA and the memory of the SOC device are pooled, the space of hardware on the board card is saved, the hardware design is simplified, and the hardware design efficiency is improved. In addition, the application also provides an FPGA applied to the high-density intelligent network card and a working method of the FPGA in the high-density intelligent network card, and the technical effect of the FPGA is corresponding to that of the high-density intelligent network card.)

一种高密度智能网卡、FPGA及其工作方法

技术领域

本申请涉及计算机技术领域,特别涉及一种高密度智能网卡、应用于高密度智能网卡的FPGA、高密度智能网卡中FPGA的工作方法。

背景技术

随着数据中心网络架构的发展,为解决数据中心虚拟化所带来的网络流量资源消耗的问题,智能网卡的概念应运而生。智能网卡通过将服务器上虚拟机之间的网络流量卸载到网卡上,释放了服务器中宝贵的计算资源。

当前主流的智能网卡架构都通过SOC+FPGA来实现的,如图1所示,FPGA对外通过一个网口提供业务通道,FPGA通过一个PCIE接口和上行设备互联,FPGA下设置一组DRAM内存,FPGA和SOC之间通过一组接口互联,SOC下设置SODIMM内存。这种架构的业务部署方便,可拓展性强。但是硬件设计上需要占用大量的硬件空间,对于有限的网卡空间来说,限制了其进一步的发展。

因此,亟需一种高密度的智能网卡架构,释放板卡上有限的硬件空间,提高网卡的容量。

发明内容

本申请的目的是提供一种高密度智能网卡、应用于高密度智能网卡的FPGA、高密度智能网卡中FPGA的工作方法,用以解决目前智能网卡外设较多所带来的硬件布局紧张的问题。其具体方案如下:

第一方面,本申请提供了一种高密度智能网卡,包括:FPGA,网口,PCIE接口,SOC设备,SODIMM内存;

其中,所述网口用于连通所述FPGA和外接设备;所述PCIE接口用于连通所述FPGA和上行服务器设备;所述SODIMM内存和所述SOC设备均与所述FPGA互联;所述FPGA用于分别接收来自所述SOC设备的内存访问请求和来自所述网口的内存访问请求,区分来自所述SOC设备的内存访问请求和来自所述网口的内存访问请求,将所述来自所述SOC设备的内存访问请求发送至所述SODIMM内存,得到请求数据并反馈至所述SOC设备。

可选的,所述FPGA包括:内存报文交换模块,内存控制模块,Slave内存模块,网络模块;

所述Slave内存模块接收所述SOC设备发出的内存访问请求,将所述内存访问请求发送至所述内存报文交换模块;所述内存报文交换模块识别来自于所述SOC设备或来自于所述网络模块的内存访问请求,并将所述内存访问请求发送至所述内存控制模块;所述内存控制模块根据所述内存访问请求实现对所述SODIMM内存的访问,将所述SODIMM内存返回的请求数据反馈至所述内存报文交换模块,所述内存交换模块接收到所述请求数据后,通过识别报文信息将所述请求数据反馈至所述网络模块或所述Slave内存模块;所述Slave内存模块将所述请求数据反馈给所述SOC设备。

可选的,所述FPGA还包括:网口控制模块以及PCIE模块;

所述网口控制模块用于连通所述网口和所述网络模块;所述PCIE模块用于连通所述PCIE接口和所述网络模块。

可选的,所述Slave内存模块和SOC内存控制接口互联,用于向所述SOC设备提供网络界面。

可选的,所述SOC内存控制接口为QSFP28接口。

第二方面,本申请提供了一种高密度智能网卡中FPGA的工作方法,所述高密度智能网卡包括网口,PCIE接口,SOC设备,SODIMM内存,其中所述网口用于连通FPGA和外接设备,所述PCIE接口用于连通所述FPGA和上行服务器设备,该方法包括:

分别接收来自所述SOC设备的内存访问请求和来自所述网口的内存访问请求;

区分来自所述SOC设备的内存访问请求和来自所述网口的内存访问请求;

将所述来自所述SOC设备的内存访问请求发送至所述SODIMM内存,得到请求数据并反馈至所述SOC设备。

可选的,所述FPGA包括内存报文交换模块,Slave内存模块,网络模块,所述分别接收来自所述SOC设备的内存访问请求和来自所述网口的内存访问请求;区分来自所述SOC设备的内存访问请求和来自所述网口的内存访问请求,包括:

控制所述Slave内存模块接收所述SOC设备发出的内存访问请求,并将所述内存访问请求发送至所述内存报文交换模块;

控制所述内存报文交换模块识别来自于所述SOC设备或来自于所述网络模块的内存访问请求。

可选的,所述FPGA还包括内存控制模块,将所述来自所述SOC设备的内存访问请求发送至所述SODIMM内存,得到请求数据并反馈至所述SOC设备,包括:

控制所述内存报文交换模块将所述内存访问请求发送至所述内存控制模块;

控制所述内存控制模块根据所述内存访问请求实现对所述SODIMM内存的访问,并将所述SODIMM内存返回的请求数据反馈至所述内存报文交换模块;

接收到所述请求数据后,控制所述内存交换模块通过识别报文信息将所述请求数据反馈至网络模块或所述Slave内存模块;

控制所述Slave内存模块将所述请求数据反馈给所述SOC设备。

可选的,还包括:

控制所述Slave内存模块通过SOC内存控制接口向所述SOC设备提供网络界面。

第三方面,本申请提供了一种应用于高密度智能网卡的FPGA,所述高密度智能网卡包括网口,PCIE接口,SOC设备,SODIMM内存,其中,所述网口用于连通所述FPGA和外接设备,所述PCIE接口用于连通所述FPGA和上行服务器设备,所述SODIMM内存和所述SOC设备均与所述FPGA互联;

所述FPGA用于分别接收来自所述SOC设备的内存访问请求和来自所述网口的内存访问请求,区分来自所述SOC设备的内存访问请求和来自所述网口的内存访问请求,将所述来自所述SOC设备的内存访问请求发送至所述SODIMM内存,得到请求数据并反馈至所述SOC设备。

本申请所提供的一种高密度智能网卡,包括FPGA,网口,PCIE接口,SOC设备,SODIMM内存,其中,网口用于连通FPGA和外接设备,PCIE接口用于连通FPGA和上行服务器设备,SODIMM内存和SOC设备均与FPGA互联。FPGA用于分别接收来自SOC设备的内存访问请求和来自网口的内存访问请求,区分来自SOC设备的内存访问请求和来自网口的内存访问请求,将来自SOC设备的内存访问请求发送至SODIMM内存,得到请求数据并反馈至SOC设备。可见,相比于传统的智能网卡架构,本申请将FPGA的内存和SOC设备的内存池化,节省了板卡上硬件的空间,简化了硬件设计,提高了硬件设计的效率。

此外,本申请还提供了一种应用于高密度智能网卡的FPGA、高密度智能网卡中FPGA的工作方法,其技术效果与上述高密度智能网卡的技术效果相对应,这里不再赘述。

附图说明

为了更清楚的说明本申请实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为传统智能网卡架构;

图2为本申请提供的高密度智能网卡架构;

图3为本申请提供的FPGA内部软件架构框图;

图4为本申请提供的高密度智能网卡数据处理流程;

图5为本申请提供的高密度智能网卡中FPGA的工作方法实施例的流程图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请提供了一种高密度智能网卡、应用于高密度智能网卡的FPGA、高密度智能网卡中FPGA的工作方法,解决因网卡上外设较多所带来的硬件布局紧张的问题,降低硬件设备的开发难度,达到提高生产效率,节约开发成本的目的。

下面对本申请提供的高密度智能网卡实施例一进行介绍,参见图2,实施例一包括FPGA,网口,PCIE接口,SOC设备,SODIMM内存;

其中,网口用于连通所述FPGA和外接设备;PCIE接口用于连通FPGA和上行服务器设备;SODIMM内存和SOC设备均与FPGA互联;FPGA用于分别接收来自SOC设备的内存访问请求和来自网口的内存访问请求,区分来自SOC设备的内存访问请求和来自网口的内存访问请求,将来自所述SOC设备的内存访问请求发送至SODIMM内存,得到请求数据并反馈至SOC设备。

作为一种具体的实施方式,FPGA选择Intel的Agilex芯片实现,网口选择所用Molex QSFP28网口,SOC设备选择Intel的Xeon D系列芯片实现,SODIMM内存选择Micron的16GB ECC内存,PCIE接口为GEN4 x16接口。FPGA通过QSFP28接口对外提供100G的网络界面,FPGA和SOC设备互联,FPGA下挂Micron的16GB SODIMM内存来响应FPGA和SOC的内存资源请求。

本实施例提供一种高密度智能网卡,包括FPGA,网口,PCIE接口,SOC设备,SODIMM内存,相比于传统的智能网卡架构,本实施例将FPGA的内存和SOC设备的内存池化,节省了板卡上硬件的空间,简化了硬件设计,提高了硬件设计的效率。

下面开始详细介绍本申请提供的高密度智能网卡实施例二,参见图3,实施例二中FPGA包括:内存报文交换模块,内存控制模块,Slave内存模块,网络模块;

Slave内存模块接收SOC设备发出的内存访问请求,将内存访问请求发送至内存报文交换模块;内存报文交换模块识别来自于SOC设备或来自于网络模块的内存访问请求,并将内存访问请求发送至内存控制模块;内存控制模块根据内存访问请求实现对SODIMM内存的访问,将SODIMM内存返回的请求数据反馈至内存报文交换模块,内存交换模块接收到所述请求数据后,通过识别报文信息将请求数据反馈至网络模块或Slave内存模块;Slave内存模块将请求数据反馈给SOC设备。

作为一种具体的实施方式,FPGA还包括:网口控制模块以及PCIE模块;网口控制模块用于连通网口和网络模块,PCIE模块用于连通PCIE接口和网络模块。

具体的,Slave内存模块和SOC内存控制接口互联,用于向SOC设备提供网络界面。

本实施例提供了FPGA内部的软件架构框图,如图3所示,包括内存报文交换模块,内存控制模块,Slave内存模块,网络模块,网口控制模块以及PCIE模块。内存报文交换模块会识别来自于网络模块的报文和来自于Slave内存模块的报文,并将相应的处理结果分别反馈给网络模块或Slave内存模块。

具体的,工作流程如图4所示,开始启动之后,FPGA完成各个模块的初始化,之后等待SOC发出一次访问内存的请求,FPGA的slave内存模块收到SOC发出的请求之后,将报文发送至内存报文交换模块,内存报文交换模块会识别来自于SOC或来自于网络模块的报文,并将请求发送至内存控制模块,内存控制模块完成对SODIMM内存的访问,将SODIMM返回的数据,反馈至内存报文交换模块。内存报文交换模块接收到数据后,通过识别报文的信息,将报文反馈至网络模块或Slave内存模块,最终Slave内存模块将拿到的数据反馈给SOC,结束整个流程。

可见,本实施例提供的一种高密度智能网卡,相比于传统的智能网卡架构,本实施例通过FPGA中的内存报文交换模块的设计,将FPGA的内存和SOC的内存池化,节省了板卡上硬件的空间,简化了硬件设计,提高了硬件设计的效率,为企业带来收益。

本实施例的技术关键点在于,将资源池化的思想应用于智能网卡上,创新性的提出了通过FPGA内部的内存报文交换模块的设计,来实现FPGA和SOC共用内存资源的设计,该方案在之前的硬件设计中未见提出。

下面对本申请实施例提供的高密度智能网卡中FPGA的工作方法进行介绍,下文描述的高密度智能网卡中FPGA的工作方法与上文描述的高密度智能网卡可相互对应参照。

本实施例提供一种高密度智能网卡中FPGA的工作方法,其中高密度智能网卡包括网口,PCIE接口,SOC设备,SODIMM内存,其中网口用于连通FPGA和外接设备,PCIE接口用于连通FPGA和上行服务器设备,如图5所示,该方法包括:

S51、分别接收来自SOC设备的内存访问请求和来自网口的内存访问请求;

S52、区分来自SOC设备的内存访问请求和来自网口的内存访问请求;

S53、将来自SOC设备的内存访问请求发送至SODIMM内存,得到请求数据并反馈至SOC设备。

在一些具体的实施例中,FPGA包括内存报文交换模块,Slave内存模块,网络模块,上述分别接收来自SOC设备的内存访问请求和来自网口的内存访问请求;区分来自SOC设备的内存访问请求和来自网口的内存访问请求,包括:

控制Slave内存模块接收SOC设备发出的内存访问请求,并将内存访问请求发送至内存报文交换模块;

控制内存报文交换模块识别来自于SOC设备或来自于网络模块的内存访问请求。

在一些具体的实施例中,FPGA还包括内存控制模块,上述将来自SOC设备的内存访问请求发送至SODIMM内存,得到请求数据并反馈至SOC设备,包括:

控制内存报文交换模块将内存访问请求发送至内存控制模块;

控制内存控制模块根据内存访问请求实现对SODIMM内存的访问,并将SODIMM内存返回的请求数据反馈至内存报文交换模块;

接收到请求数据后,控制内存交换模块通过识别报文信息将请求数据反馈至网络模块或Slave内存模块;

控制Slave内存模块将请求数据反馈给SOC设备。

在一些具体的实施例中,还包括:

控制Slave内存模块通过SOC内存控制接口向SOC设备提供网络界面。

本实施例的高密度智能网卡中FPGA的工作方法基于前述的高密度智能网卡实现,因此该方法的具体实施方式可见前文中的高密度智能网卡的实施例部分这里不再赘述。

此外,本申请还提供了一种应用于高密度智能网卡的FPGA,高密度智能网卡包括网口,PCIE接口,SOC设备,SODIMM内存,其中,网口用于连通FPGA和外接设备,PCIE接口用于连通FPGA和上行服务器设备,SODIMM内存和SOC设备均与FPGA互联;

FPGA用于分别接收来自SOC设备的内存访问请求和来自网口的内存访问请求,区分来自SOC设备的内存访问请求和来自网口的内存访问请求,将来自SOC设备的内存访问请求发送至SODIMM内存,得到请求数据并反馈至SOC设备。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

以上对本申请所提供的方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

12页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种超大规模FPGA芯片的数据配置和回读方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!