有效
一种融合网络接口卡、报文编码方法及其报文传输方法
肖立权、常俊胜、赖明澈、庞征斌、陆平静、罗章、黎渊、张建民、齐星云、徐金波、孙岩、董德尊
中国人民解放军国防科技大学
肖
肖立权 专利 62
中国人民解放军国防科技大学电通信技术电子数据处理数字信息传输
常
常俊胜 专利 70
中国人民解放军国防科技大学电子数据处理通用计算机数字信息传输
赖
赖明澈 专利 93
中国人民解放军国防科技大学传输系统电通信技术电子数据处理
庞
庞征斌 专利 61
中国人民解放军国防科技大学电通信技术电子数据处理计算技术
陆
陆平静 专利 61
中国人民解放军国防科技大学电子数据处理计算技术物理仪器
罗
罗章 专利 62
中国人民解放军国防科技大学数字信息传输电通信技术电子数据处理
黎
黎渊 专利 55
广西医科大学第二附属医院(广西医科大学第二临床医学院)电子数据处理计算技术物理仪器
张
张建民 专利 617
清华大学坝堰细部水利工程地水敷设
齐
齐星云 专利 82
中国人民解放军国防科技大学电通信技术数据交换网数字信息传输
徐
徐金波 专利 45
中国人民解放军国防科技大学数字信息传输电通信技术电子数据处理
孙
孙岩 专利 64
中国人民解放军国防科学技术大学电子数据处理计算技术物理仪器
董
董德尊 专利 94
中国人民解放军国防科技大学网络流控数字信息传输电通信技术
摘要
本发明提供一种融合网络接口卡、报文编码方法及其报文传输方法,包含PCIE主机接口处理模块、高速网网卡核心逻辑、交叉开关XBAR、以太网网卡核心逻辑、以太网报文拆分/拼装模块、物理层逻辑,高速网/以太网报文转换模块EoH以及高速网/以太网可配的网络端口。本发明在一套网络硬件上同时支持定制高速互连和标准以太网接口,在一套物理硬件上支持三种工作模式,高速网模式、以太网模式,以及通过高速网传输以太网报文的EoH模式,高速网/以太网无缝兼容,灵活支持科学计算和云计算等多模应用。
1.一种融合网络接口卡,包括PCIE主机接口处理模块、高速网网卡核心逻辑、交叉开关XBAR、以太网网卡核心逻辑、以太网报文拆分/拼装模块、物理层逻辑,其特征在于,还包含一个高速网/以太网报文转换模块EoH以及高速网/以太网可配的网络端口;PCIE主机接口处理模块与计算机系统中的结点以及高速网网卡核心逻辑、以太网网卡核心逻辑相连接,实现和PCIE接口的通信功能,将系统中的各类结点连接至网络中;PCIE主机接口处理模块从结点接收报文,根据结点使用通信模式的不同,决定将来自结点的报文提交给高速网网卡核心逻辑还是以太网网卡核心逻辑,判断依据如下:当与本结点进行通信的结点是高速网结点时判定结点需要使用的是高速网模式,PCIE主机接口处理模块将报文提交给高速网网卡核心逻辑;当与本结点进行通信的结点是以太网结点时判定结点需要使用的是以太网模式,PCIE主机接口处理模块将报文提交给以太网网卡核心逻辑;对于物理层过来的报文,PCIE主机接口处理模块从高速网网卡核心逻辑接收高速网报文,将高速网报文通过PCIE接口传输至所连接的结点;PCIE主机接口处理模块从以太网网卡核心逻辑接收以太网报文,然后通过PCIE接口将报文传输至所连接的结点;高速网网卡核心逻辑与PCIE主机接口处理模块和交叉开关XBAR相连;高速网网卡核心逻辑从PCIE主机接口处理模块接收报文,将报文处理成高速网报文,然后提交给交叉开关XBAR;对于物理层方向过来的高速网报文,高速网核心逻辑从交叉开关XBAR接收到报文,处理后提交给PCIE主机接口处理模块;以太网网卡核心逻辑与PCIE主机接口处理模块以及以太网报文拆分/拼装模块相连;以太网网卡核心逻辑从PCIE主机接口处理模块接收报文,将报文处理成以太网报文,然后提交给以太网报文拆分/拼装模块;对于从物理层过来的报文,以太网核心逻辑从以太网报文拆分/拼装模块接收到以太网报文,处理后提交给PCIE主机接口处理模块;交叉开关XBAR与高速网网卡核心逻辑、高速网/以太网可配的网络端口,以及高速网/以太网报文转换模块EoH相连;交叉开关XBAR用于实现PCIE流量在多个网络端口的动态分配,将从高速网网卡核心逻辑或高速网/以太网报文转换模块EoH接收到的报文流量在多个网络端口之间进行无阻塞的报文交换,将报文进行动态分配,然后提交给高速网/以太网可配的网络端口;对于物理层方向过来的报文,交叉开关XBAR从高速网/以太网可配的网络端口接收报文,如果报文信息中显示报文传输的目的结点是高速网时,则交叉开关XBAR将报文提交给高速网网卡核心逻辑,如果报文信息中显示报文传输的目的结点是以太网时,则交叉开关XBAR将报文提交给高速网/以太网报文转换模块EoH;以太网报文拆分/拼装模块与以太网网卡核心逻辑、高速网/以太网可配的网络端口,以及高速网/以太网报文转换模块EoH相连;以太网报文拆分/拼装模块从以太网网卡核心逻辑接收到以太网报文,将以太网报文拆分成以太网报文分片,如果报文信息中显示报文传输的目的结点是高速网时,则以太网报文拆分/拼装模块将以太网报文分片提交给高速网/以太网报文转换模块EoH,如果报文信息中显示报文传输的目的结点是以太网时,则以太网报文拆分/拼装模块将以太网报文分片直接提交给高速网/以太网可配的网络端口;对于物理层方向过来的报文,以太网报文拆分/拼装模块从高速网/以太网报文转换模块EoH或高速网/以太网可配的网络端口接收以太网报文分片,将以太网报文分片拼接成以太网报文,然后提交给以太网网卡核心逻辑;高速网/以太网报文转换模块EoH与交叉开关XBAR、以及以太网报文拆分/拼装模块相连;高速网/以太网报文转换模块EoH将高速网虚拟为以太网,使得连接在高速网中的结点直接与连接在以太网络中的结点直接通信;高速网/以太网报文转换模块EoH的功能是通过将以太网报文切片后封装在高速网报文中实现的,记高速网/以太网报文转换模块EoH将以太网报文切片后封装在高速网报文形成的报文为长MP报文;高速网/以太网报文转换模块EoH从交叉开关XBAR接收到长MP报文,删除EoH报文头,转换成以太网报文后发送给以太网报文拆分/拼装模块;或者高速网/以太网报文转换模块EoH从以太网报文拆分/拼装模块接收到以太网报文,封装EoH报文头,转换成长MP报文后发送给XBAR;EoH报文头长度为6字节,从低位至高位,EoH报文头各域说明如下:[8:0]为发送端的模块编号MOD_ID,[17:9]为接收端的模块编号MOD_ID,[25:18]为以太网报文长度,[45:26]为发送端的NIC_ID,[47:46]为保留位;其中MOD_ID指模块编号,模块编号为用网络接口芯片的芯片号和网络端口号组合出来的字段,用来标识报文来源和目的地址;NIC_ID是以太网网卡在高速网中的编号;高速网/以太网可配的网络端口与交叉开关XBAR、以太网报文拆分/拼装模块以及物理层相连;高速网/以太网可配的网络端口从交叉开关XBAR接收高速网报文,高速网/以太网可配的网络端口配置成高速网网络端口,然后通过物理层将高速网报文传输出去;从以太网报文拆分/拼装模块接收以太网报文,高速网/以太网可配的网络端口配置成以太网网网络端口,然后通过物理层将以太网报文传输出去;对于物理层方向过来的报文,高速网/以太网可配的网络端口根据报文配置,将接收的高速网报文提交给交叉开关XBAR,或者将接收的以太网报文提交给以太网报文拆分/拼装模块;物理层与高速网/以太网可配的网络端口以及外部其他结点的网络接口卡或路由器相连;物理层从高速网/以太网可配的网络端口接收高速网报文或以太网报文,传输至其他结点。
2.如权利要求1所述的融合网络接口卡,其特征在于,所述高速网/以太网报文转换模块EoH包含三大模块:(1)Ingress流水线,用于作为数据输入处理流水线处理逻辑;(2)Egress流水线,用于作为数据输出处理流水线处理逻辑;(3)控制和状态寄存器CSR模块;Ingress流水线从XBAR接收到长MP报文,删除EoH报文头,转换成以太网报文后发送给以太网报文拆分/拼装模块;Egress流水线从以太网报文拆分/拼装模块接收到以太网报文,封装EoH报文头,转换成长MP报文后发送给XBAR;CSR模块通过寄存器配置实现对Ingress流水线和Egress流水线的控制。
3.如权利要求2所述的融合网络接口卡,其特征在于,所述CSR模块访问采用标准的CSR环结构,寄存器的位宽是64位,寄存器的访问地址是20位,包含8位模块地址和12位模块内部偏移地址;CSR模块向外提供2个CSR连接接口,分别是1个表CSR和1个逻辑CSR;表CSR将高速网/以太网报文转换模块EoH中的表串连在一起,而逻辑CSR将高速网/以太网报文转换模块EoH中的Ingress流水线和Egress流水线子模块串连在一起。
4.如权利要求2所述的融合网络接口卡,其特征在于,所述Ingress流水线包含三个逻辑子模块:Ingress输入缓冲区、Ingress报文检查模块和Ingress报文格式转换模块;·Ingress输入缓冲区:与交叉开关XBAR以及Ingress报文检查模块相连;Ingress输入缓冲区从交叉开关XBAR接收长MP报文,存入Ingress输入缓冲区;·Ingress报文检查模块:与Ingress输入缓冲区以及Ingress报文格式转换模块相连;Ingress报文检查模块从Ingress输入缓冲区读取长MP报文,对长MP报文进行正确性检查,然后,将高速网报文发送给Ingress报文格式转换模块;·Ingress报文格式转换模块:与Ingress报文检查模块以及以太网报文拆分/拼装模块相连;Ingress报文格式转换模块包含一个Ingress输出FIFO,Ingress报文格式转换模块从报文检查模块接收到长MP报文,删除EoH报文头信息,将长MP报文去封装生成以太网报文分片,存入Ingress输出FIFO,然后将Ingress输出FIFO中存入的以太网报文分片顺序发送给以太网中的以太网报文拆分/拼装模块;所述Egress流水线包含四个逻辑子模块:Egress输入缓冲区、Egress报文格式转换模块、Egress输出FIFO以及Egress报文输出模块;·Egress输入缓冲区:与以太网报文拆分/拼装模块以及Egress报文格式转换模块相连;Egress输入缓冲区从以太网报文拆分/拼装模块接收以太网报文分片,缓存至Egress输入缓冲区;·Egress报文格式转换模块:与Egress输入缓冲区以及Egress输出FIFO相连;Egress方向核心模块,完成以太网报文切片重组的功能,填写重组后以太网报文的路由信息,构造EoH报文头;Egress报文格式转换模块从Egress输入缓冲区读取以太网报文分片,构造EoH报文头,根据切片配置对报文的载荷进行切割,单序列报文长度/序列号计数/报文总长度填写在LLP头中,报文序列切片用头尾信息区分,将以太网报文封装为长MP报文,然后,将长MP报文存入Egress输出FIFO中;·Egress输出FIFO:与Egress报文格式转换模块以及Egress报文输出模块相连;Egress输出FIFO从Egress报文格式转换模块接收并缓存长MP报文;·Egress报文输出模块:与Egress输出FIFO以及交叉开关XBAR相连;Egress报文输出模块从Egress输出FIFO读取长MP报文,输出到交叉开关XBAR。
5.如权利要求4所述的融合网络接口卡,其特征在于,所述Ingress输入缓冲区和Egress输入缓冲区为多VC共享缓冲区DAMQ,报文通过多VC共享缓冲区DAMQ存储调度。
6.如权利要求4所述的融合网络接口卡,其特征在于,所述Egress报文格式转换模块,封装数据除了封装的以太网报文外,还封装了EoH报文头。
7.如权利要求3所述的融合网络接口卡,其特征在于,所述CSR环结构中寄存器读写访问的实现方式为:每个模块都实例化一个环形寄存器访问公用模块csr_chain,寄存器访问请求在环上进行传递,CSR环上的各个模块基于寄存器访问地址进行处理,如果是本模块地址的寄存器访问,则进行相应的寄存器读写处理;CSR环上的各模块传递寄存器访问应答,依次到达寄存器处理总控模块。
8.基于权利要求1~7中任一项所述融合网络接口卡的报文编码方法,其特征在于,包括EoH与XBAR方向的报文、发往以太网报文拆分/拼装模块方向的报文、从以太网报文拆分/拼装模块方向接收到的报文,报文编码方法分别如下:(1)EoH与XBAR方向的报文编码方法:对序列报文的设计是固定长度+可变长度的序列尾报文模式;记固定长度的序列报文长度为K个报文分片,可变长度的序列尾报文长度为K’个报文分片,K、K’均为自然数,K’≤K;报文封装时,数据内容足够封装成K个报文分片格式便封装成K个报文分片报文,最后不足部分,根据剩余数据长度确定报文长度,优先选择短格式进行封装;(2)发往以太网报文拆分/拼装模块方向的报文编码方法:发往以太网报文拆分/拼装模块方向的接口遵循如下规则:(1)以太网报文长度范围64~1536B;(2)数据通道位宽是32B;最后一拍数据时最后一拍有效字节数信号LBO使能;(3)数据包头SOP、数据包中间部分MOP、数据包尾EOP的信用Sop_valid、Eop_valid、Mop_valid控制分开;(4))数据包头SOP的信用Sop_valid需要固定持续≤128B;以太网报文拆分/拼装模块在Eop_valid和tail同时有效时,单个报文结束;(3)从以太网报文拆分/拼装模块方向接收到的报文编码方法:以太网报文拆分/拼装模块给过来的报文,第一拍和第二拍分别是出口队列描述符QD和入口报文描述符PD,从第三拍开始是以太网报文。
9.基于权利要求1~7中任一项所述融合网络接口卡的报文传输方法,其特征在于,包括三种通信模式:高速网模式、以太网模式和EoH模式,根据协议配置,决定启用何种通信模式:(一)高速网模式下的报文传输方法为:对于从本结点过来的报文,处理流程如下:(1)PCIE主机接口处理模块通过PCIE接口从所连接的高性能计算机系统中的结点接收报文,并提交给高速网网卡核心逻辑;(2)高速网网卡核心逻辑将报文处理成高速网报文,然后提交给交叉开关XBAR;(3)交叉开关XBAR从高速网网卡核心逻辑接收高速网报文,然后将高速网报文流量在多个网络端口之间进行无阻塞的报文交换,然后根据路由表配置将动态分配后的报文提交给所述报文对应的高速网/以太网可配的网络端口;(4)高速网/以太网可配的网络端口将从交叉开关XBAR接收的报文通过物理层进行传输;对于从其他结点通过物理层过来的报文,处理流程如下:(1)高速网/以太网可配的网络端口从物理层接收报文,提交给交叉开关XBAR;(2)交叉开关XBAR从高速网/以太网可配的网络端口接收到报文后,根据路由表配置,如果是到达本结点的报文,则将报文提交给高速网网卡核心逻辑;如果不是到达本结点的报文,则根据路由表配置,将报文通过对应的高速网/以太网可配的网络端口发送给对应的高速网/以太网可配的网络端口,然后通过物理层发送出去;(3)高速网核心逻辑从交叉开关XBAR接收到报文,处理后提交给PCIE主机接口处理模块;(4)PCIE主机接口处理模块从高速网网卡核心逻辑接收报文,然后通过PCIE接口将报文传输至所连接的高性能计算机系统中的结点;(二)以太网模式下的报文传输方法为:对于从本结点过来的报文,处理流程如下:(1)PCIE主机接口处理模块通过PCIE接口从所连接的结点接收报文,并提交给以太网网卡核心逻辑;(2)以太网网卡核心逻辑将报文处理成以太网报文,然后提交给以太网报文拆分/拼装模块;(3)以太网报文拆分/拼装模块从以太网网卡核心逻辑接收以太网报文,将以太网报文拆分成多个以太网报文分片,然后将以太网报文分片提交给高速网/以太网可配的网络端口;(4)高速网/以太网可配的网络端口将从以太网报文拆分/拼装模块接收的以太网报文分片通过物理层进行传输;对于从其他结点通过物理层过来的报文,处理流程如下:(1)高速网/以太网可配的网络端口从物理层接收以太网报文分片,提交给以太网报文拆分/拼装模块;(2)以太网报文拆分/拼装模块从高速网/以太网可配的网络端口接收到以太网报文分片后,根据路由表配置,如果是到达本结点的以太网报文分片,则将以太网报文分片拼接成以太网报文,然后提交给以太网网卡核心逻辑;(3)以太网核心逻辑从以太网报文拆分/拼装模块接收到以太网报文,处理后提交给PCIE主机接口处理模块;(4)PCIE主机接口处理模块从以太网网卡核心逻辑接收以太网报文,然后通过PCIE接口将报文传输至所连接的结点;(三)EoH模式下的报文传输方法为:对于从本结点过来的报文,处理流程如下:(1)PCIE主机接口处理模块通过PCIE接口从所连接的结点接收报文,并提交给以太网网卡核心逻辑;(2)以太网网卡核心逻辑将报文处理成以太网报文,然后提交给以太网报文拆分/拼装模块;(3)以太网报文拆分/拼装模块从以太网网卡核心逻辑接收以太网报文,将以太网报文拆分成多个以太网报文分片,然后将以太网报文分片提交给EoH;(4)高速网/以太网报文转换模块EoH从以太网报文拆分/拼装模块接收到以太网报文,封装EoH报文头,转换成长MP报文后发送给XBAR;(5)交叉开关XBAR从EoH接收长MP报文,然后将长MP报文流量在多个网络端口之间进行无阻塞的报文交换,然后根据路由表配置将动态分配后的报文提交给所述报文对应的高速网/以太网可配的网络端口;(6)高速网/以太网可配的网络端口将从交叉开关XBAR接收的报文通过物理层进行传输;对于从其他结点通过物理层发送过来的报文,处理流程如下:(1)高速网/以太网可配的网络端口从物理层接收长MP报文,提交给交叉开关XBAR;(2)交叉开关XBAR从高速网/以太网可配的网络端口接收报文,因为长MP报文信息中显示报文传输的目的结点是以太网时,因此,交叉开关XBAR将报文提交给高速网/以太网报文转换模块EoH;(3)高速网/以太网报文转换模块EoH从交叉开关XBAR接收到长MP报文,删除MP报文头,转换成以太网报文后发送给以太网报文拆分/拼装模块;(4)以太网报文拆分/拼装模块从EoH接收以太网报文分片,将以太网报文分片拼接成以太网报文,然后提交给以太网网卡核心逻辑;(5)以太网核心逻辑从以太网报文拆分/拼装模块接收到以太网报文,处理后提交给PCIE主机接口处理模块;(6)PCIE主机接口处理模块从以太网网卡核心逻辑接收以太网报文,然后通过PCIE接口将报文传输至所连接的结点。



