CN111641622A - 一种融合网络接口卡、报文编码方法及其报文传输方法 - Google Patents
一种融合网络接口卡、报文编码方法及其报文传输方法 Download PDFInfo
- Publication number
- CN111641622A CN111641622A CN202010438897.1A CN202010438897A CN111641622A CN 111641622 A CN111641622 A CN 111641622A CN 202010438897 A CN202010438897 A CN 202010438897A CN 111641622 A CN111641622 A CN 111641622A
- Authority
- CN
- China
- Prior art keywords
- message
- ethernet
- network
- module
- speed network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/101—Packet switching elements characterised by the switching fabric construction using crossbar or matrix
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3018—Input queuing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3027—Output queuing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明提供一种融合网络接口卡、报文编码方法及其报文传输方法,包含PCIE主机接口处理模块、高速网网卡核心逻辑、交叉开关XBAR、以太网网卡核心逻辑、以太网报文拆分/拼装模块、物理层逻辑,高速网/以太网报文转换模块EoH以及高速网/以太网可配的网络端口。本发明在一套网络硬件上同时支持定制高速互连和标准以太网接口,在一套物理硬件上支持三种工作模式,高速网模式、以太网模式,以及通过高速网传输以太网报文的EoH模式,高速网/以太网无缝兼容,灵活支持科学计算和云计算等多模应用。
Description
技术领域
本发明涉及高性能互连网络设计领域,具体涉及一种在同一套网络硬件上支持以太网和高速网连接的高速网/以太网融合网络接口卡、报文编码方法及其报文传输方法。
背景技术
当前高性能计算机存在高速网(High Performance Express)和以太网(Ethernet)两套网络。传统银河、天河等高性能计算机系统应用领域主要面向计算密集型高性能计算领域,其专用互连网络(简称高速网)采用基于RDMA(Remote Direct MemoryAccess,远程直接内存访问)协议的高速网网络接口卡(简称高速网网卡)。随着大数据、云计算等数据密集型应用的兴起,高性能计算机的应用领域除了计算密集型高性能计算,还包括数据密集型大数据、云计算等应用,其互连网络采用基于TCP/IP协议的以太网网卡。
如图1(a)所示,传统高速网网卡主要包括PCIE主机接口处理模块、高速网网卡核心逻辑、交叉开关XBAR、高速网网络端口、物理层。PCIE主机接口处理模块与高性能计算机系统中的结点相连接,实现和PCIE接口的通信功能,将高性能计算机系统中的各类结点连接至网络中,然后将结点需要传输的数据通过高速网网卡核心逻辑处理成高速网报文(记为MP报文);对于物理层过来的报文,PCIE主机接口处理模块从高速网网卡核心逻辑接收报文,然后通过PCIE接口将报文提交给所连接的高性能计算机系统中的结点。对于高性能高速网卡,可能包含多个主机接口或网络端口,XBAR中包含路由表配置文件,XBAR根据其中的路由表配置文件实现PCIE流量在多个网络端口或主机接口的分配,根据路由表配置将从高速网网卡核心逻辑接收到的报文流量在多个网络端口之间进行无阻塞的报文交换,然后将动态分配后的报文提交给高速网网络端口,然后通过物理层将报文进行传输;对于物理层过来的报文,XBAR从高速网网络端口接收到报文后,根据路由表配置,如果是到达本结点的报文,则将报文提交给高速网网卡核心逻辑;如果不是到达本结点的报文,则根据路由表配置,将报文通过对应的高速网网络端口发送给对应的高速网网络端口,然后通过物理层发送出去。
对于从本结点过来的报文,传统高速网网卡处理流程如下:(1)PCIE主机接口处理模块通过PCIE接口从所连接的高性能计算机系统中的结点接收报文,并提交给高速网网卡核心逻辑;(2)高速网网卡核心逻辑将报文处理成高速网报文,然后提交给交叉开关即XBAR;(3)交叉开关XBAR从高速网网卡核心逻辑接收高速网报文,然后将高速网报文流量在多个网络端口之间进行无阻塞的报文交换,然后根据路由表配置将动态分配后的报文提交给所述报文对应的高速网网络端口;(4)高速网网络端口将从XBAR接收的报文通过物理层进行传输。
对于从其他结点通过物理层过来的报文,传统高速网网卡处理流程如下:(1)高速网网络端口从物理层接收报文,提交给XBAR;(2)XBAR从高速网网络端口接收到报文后,根据路由表配置,如果是到达本结点的报文,则将报文提交给高速网网卡核心逻辑;如果不是到达本结点的报文,则根据路由表配置,将报文通过对应的高速网网络端口发送给对应的高速网网络端口,然后通过物理层发送出去;(3)高速网核心逻辑从XBAR接收到报文,处理后提交给PCIE主机接口处理模块;(4)PCIE主机接口处理模块从高速网网卡核心逻辑接收报文,然后通过PCIE接口将报文传输至所连接的高性能计算机系统中的结点。
如图1(b)所示,传统以太网网卡主要包括PCIE主机接口处理模块、以太网网卡核心逻辑、以太网报文拆分/拼装模块(Dicing/Slicing模块)、以太网网络端口、物理层逻辑。PCIE主机接口处理模块与大数据、云计算等系统中的结点相连接,将结点连接至网络中,然后将结点需要传输的数据通过以太网网卡核心逻辑处理成以太网报文,然后提交给以太网报文拆分/拼装模块;对于从物理层方向过来的以太网报文,PCIE主机接口处理模块从以太网网卡核心逻辑接收以太网报文,然后通过PCIE接口将报文传输至所连接的结点。以太网报文拆分/拼装模块从以太网网卡核心逻辑接收到以太网报文,将以太网报文拆分成以太网报文分片,然后提交给以太网网络端口,然后通过物理层逻辑将以太网报文进行传输;对于从物理层方向过来的以太网报文,以太网报文拆分/拼装模块从以太网网络端口接收到以太网报文分片后,将以太网报文分片拼接成以太网报文,然后提交给以太网网卡核心逻辑;以太网核心逻辑从以太网报文拆分/拼装模块接收到以太网报文,处理后提交给PCIE主机接口处理模块;然后通过PCIE接口将报文传输至所连接的结点。
对于从本结点过来的报文,传统以太网网卡处理流程如下:(1)PCIE主机接口处理模块通过PCIE接口从所连接的结点接收报文,并提交给以太网网卡核心逻辑;(2)以太网网卡核心逻辑将报文处理成以太网报文,然后提交给以太网报文拆分/拼装模块;(3)以太网报文拆分/拼装模块从以太网网卡核心逻辑接收以太网报文,将以太网报文拆分成多个以太网报文分片,然后将以太网报文分片提交给以太网网络端口;(4)以太网网络端口将从以太网报文拆分/拼装模块接收的以太网报文分片通过物理层进行传输。
对于从其他结点通过物理层过来的报文,传统以太网网卡处理流程如下:(1)以太网网络端口从物理层接收以太网报文分片,提交给以太网报文拆分/拼装模块;(2)以太网报文拆分/拼装模块从以太网网络端口接收到以太网报文分片后,将以太网报文分片拼接成以太网报文,然后提交给以太网网卡核心逻辑;(3)以太网核心逻辑从以太网报文拆分/拼装模块接收到以太网报文,处理后提交给PCIE主机接口处理模块;(4)PCIE主机接口处理模块从以太网网卡核心逻辑接收以太网报文,然后通过PCIE接口将报文传输至所连接的结点。
当前高性能计算机存在高速网和以太网两套网络,相关功能存在一定重复、叠床架屋,资源浪费。而且高速网和以太网两种网络之间无法互连互通,同一时刻计算机系统中只能运行一种网络。因此,下一代互连网络应尽可能支持多网络融合设计,支持计算密集和数据密集等多类型应用,在单一网络中支持多套网络及协议,简化网络设计和硬件资源。
发明内容
本发明要解决的技术问题是针对现有计算机系统中的互连网络无法同时支持高速网和以太网、无法有效支持计算密集和数据密集等多类型应用的技术问题,提供一种融合网络接口卡、报文编码方法及其报文传输方法,在一套网络硬件上同时支持定制高速互连和标准以太网接口,在一套物理硬件上支持三种工作模式,高速网模式、以太网模式,以及通过高速网传输以太网报文的EoH(Ethernet Over High Performance Express,简称EoH)模式,高速网/以太网无缝兼容,灵活支持科学计算和云计算等多模应用。
本发明高速网/以太网融合网络接口卡,除包含背景技术中传统以太网网卡和高速网网卡中的PCIE主机接口处理模块、高速网网卡核心逻辑、交叉开关XBAR、以太网网卡核心逻辑、以太网报文拆分/拼装模块、物理层逻辑,还包含一个高速网/以太网报文转换模块EoH以及高速网/以太网可配的网络端口。
一种融合网络接口卡,包括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;
高速网/以太网可配的网络端口与交叉开关XBAR、以太网报文拆分/拼装模块以及物理层相连;高速网/以太网可配的网络端口从交叉开关XBAR接收高速网报文,高速网/以太网可配的网络端口配置成高速网网络端口,然后通过物理层将高速网报文传输出去;从以太网报文拆分/拼装模块接收以太网报文,高速网/以太网可配的网络端口配置成以太网网网络端口,然后通过物理层将以太网报文传输出去;对于物理层方向过来的报文,高速网/以太网可配的网络端口根据报文配置,将接收的高速网报文提交给交叉开关XBAR,或者将接收的以太网报文提交给以太网报文拆分/拼装模块;
物理层与高速网/以太网可配的网络端口以及外部其他结点的网络接口卡或路由器相连;物理层从高速网/以太网可配的网络端口接收高速网报文或以太网报文,传输至其他结点。
作为本发明技术方案的进一步改进,所述高速网/以太网报文转换模块EoH包含三大模块:(1)Ingress流水线,用于作为数据输入处理流水线处理逻辑;(2)Egress流水线,用于作为数据输出处理流水线处理逻辑;(3)控制和状态寄存器CSR模块;Ingress流水线从XBAR接收到长MP报文,删除EoH报文头,转换成以太网报文后发送给以太网报文拆分/拼装模块;Egress流水线从以太网报文拆分/拼装模块接收到以太网报文,封装EoH报文头,转换成长MP报文后发送给XBAR;CSR模块通过寄存器配置实现对Ingress流水线和Egress流水线的控制。
EoH模块的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。
作为本发明技术方案的进一步改进,所述CSR模块访问采用标准的CSR环结构,寄存器的位宽是64位,寄存器的访问地址是20位,包含8位模块地址和12位模块内部偏移地址;CSR模块向外提供2个CSR连接接口,分别是1个表CSR和1个逻辑CSR;表CSR将高速网/以太网报文转换模块EoH中的表串连在一起,而逻辑CSR将高速网/以太网报文转换模块EoH中的Ingress流水线和Egress流水线子模块串连在一起。
作为本发明技术方案的进一步改进,所述CSR环结构中寄存器读写访问的实现方式为:每个模块都实例化一个环形寄存器访问公用模块csr_chain,寄存器访问请求在环上进行传递,CSR环上的各个模块基于寄存器访问地址进行处理,如果是本模块地址的寄存器访问,则进行相应的寄存器读写处理;CSR环上的各模块传递寄存器访问应答,依次到达寄存器处理总控模块。
作为本发明技术方案的进一步改进,所述Ingress输入缓冲区和Egress输入缓冲区为多VC共享缓冲区DAMQ(Dynamic Allocated Memory Queue),报文通过DAMQ存储调度。
作为本发明技术方案的进一步改进,所述Egress报文格式转换模块,封装数据除了封装的以太网报文外,还封装了6字节的EoH报文头(EoH Head),以更好地支持对MOD_ID和NIC_ID的映射关系学习等功能。如图5所示,从低位至高位,EoH头各域说明如下:[8:0]为发送端的模块编号MOD_ID,记域名为SrcModID;[17:9]为接收端的模块编号MOD_ID,记域名为DestModID;[25:18]为以太网报文长度,记域名为ByteCnt;[45:26]为发送端的NIC_ID,记域名为SrcID;[47:46]为保留位,记域名为Rsv。其中MOD_ID指模块编号,用网络接口芯片的芯片号和网络端口号组合出来的字段,用来标识报文来源和目的地址;NIC_ID是以太网网卡在高速网中的编号,以太网网卡要接入高速网,需要在高速网上有个编号,NIC_ID即为以太网卡的高速网编号。
本发明进一步提供基于所述融合网络接口卡的报文编码方法,包括与XBAR方向的报文格式、发往以太网报文拆分/拼装模块方向的报文格式、从以太网报文拆分/拼装模块方向接收到的报文,分别如下:
(1)与XBAR方向的报文格式:对序列报文的设计是固定长度+可变长度的序列尾报文模式;记固定长度的序列报文长度为K个报文分片,可变长度的序列尾报文长度为K’个报文分片,K、K’均为自然数,K’≤K;报文封装时,数据内容足够封装成K个报文分片格式便封装成K个报文分片报文,最后不足部分,根据剩余数据长度确定报文长度,优先选择短格式进行封装;
(2)发往以太网报文拆分/拼装模块方向的报文格式:发往以太网报文拆分/拼装模块方向的接口遵循如下规则:(1)以太网报文长度范围64~1536B;(2)数据通道位宽是32B;最后一拍数据tail时最后一拍有效字节数信号LBO使能;(3)数据包头SOP、数据包中间部分MOP、数据包尾EOP的信用Sop_valid、Eop_valid、Mop_valid控制分开;(4))数据包头SOP的信用Sop_valid需要固定持续≤128B;以太网报文拆分/拼装模块在Eop_valid和tail同时有效时,单个报文结束;
(3)从以太网报文拆分/拼装模块方向接收到的报文:以太网报文拆分/拼装模块给过来的报文,第一拍和第二拍分别是出口队列描述符QD和入口报文描述符PD,从第三拍开始是以太网报文。
作为本发明技术方案的进一步改进,可变长度(4/6/10flit格式)的序列尾报文模式编码方式如下:长MP 10flit报文包括1个头flit,1个尾flit和8个数据flit,即只包含256B数据;长MP 6flit报文包括1个头flit,1个尾flit和4个数据flit,即只包含128B数据;长MP 4flit报文包括1头flit,1尾flit和2个数据flit,即只包含64B数据。
作为本发明技术方案的进一步改进,从以太网报文拆分/拼装模块方向接收到的报文中MOP长度以176B切分。
作为本发明技术方案的进一步改进,当MOP分片无法被以太网报文拆分/拼装模块和EoH数据通路位宽整除时,EoH Egress方向进行错位,将数据错位后全部补满。
本发明进一步提供基于所述融合网络接口卡的报文传输方法,包括三种通信模式:高速网模式、以太网模式和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接口将报文传输至所连接的结点。
采用本发明可以达到以下效果:
1.通过EoH,实现了以太网报文和高速网报文的基于硬件的高效转换,通过配置可以实现网络端口在高速网传输模式和以太网传输模式之间的切换,实现了两种网络设备之间的互连互通;
2.本发明在一套物理硬件上支持三种通信模式:高速网模式、以太网模式和以及通过高速网传输以太网报文的EoH模式,高速网/以太网无缝兼容,灵活支持科学计算和云计算等多模应用。
附图说明
图1是背景技术中传统高速网网卡总体框架图(a)和传统以太网网卡总体框架图(b)示意图;
图2是本发明高速网/以太网融合网络接口卡结构示意图;
图3是本发明EoH逻辑结构图;
图4是本发明CSR中寄存器读写访问实现示意图;
图5是本发明实施例中EoH头部信息格式;
图6是本发明实施例中与XBAR方向的长MP 10flit报文格式示意图;
图7是本发明实施例中发往Dicing/Slicing方向的报文格式示意图;
图8是本发明实施例中从Dicing/Slicing方向接收到的报文示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的其他实施例,都属于本申请保护的范围。
如图2所示,本发明高速网/以太网融合网络接口卡,除包含背景技术中传统以太网网卡和高速网网卡中的PCIE主机接口处理模块、高速网网卡核心逻辑、交叉开关XBAR、以太网网卡核心逻辑、Dicing/Slicing模块、物理层逻辑,还包含一个高速网/以太网报文转换模块(Ethernet Over High Performance Express,简称EoH)以及高速网/以太网可配的网络端口。
PCIE主机接口处理模块与系统中的结点以及高速网网卡核心逻辑、以太网网卡核心逻辑相连接,实现和PCIE接口的通信功能,将系统中的各类结点连接至网络中。PCIE主机接口处理模块从结点接收报文,根据结点使用通信模式的不同,决定将来自结点的报文提交给高速网网卡核心逻辑还是以太网网卡核心逻辑,判断依据如下:当结点需要使用的是高速网模式时,即与本结点进行通信的结点也是高速网结点时,PCIE主机接口处理模块将报文提交给高速网网卡核心逻辑;当结点需要使用的是以太网模式时,即与本结点进行通信的结点是以太网结点时,PCIE主机接口模块将报文提交给以太网网卡核心逻辑。对于物理层过来的报文,PCIE主机接口处理模块从高速网网卡核心逻辑接收高速网报文,将高速网报文通过PCIE接口传输至所连接的结点;PCIE主机接口处理模块从以太网网卡核心逻辑接收以太网报文,然后通过PCIE接口将报文传输至所连接的结点。
与背景技术相同,高速网网卡核心逻辑与PCIE主机接口处理模块和XBAR相连。高速网网卡核心逻辑从PCIE主机接口处理模块接收报文,将报文处理成高速网报文,然后提交给交叉开关XBAR;对于物理层方向过来的高速网报文,高速网核心逻辑从XBAR接收到报文,处理后提交给PCIE主机接口处理模块。
与背景技术相同,以太网网卡核心逻辑与PCIE主机接口处理模块以及Dicing/Slicing模块相连。以太网网卡核心逻辑从PCIE主机接口处理模块接收报文,将报文处理成以太网报文,然后提交给Dicing/Slicing模块;对于从物理层过来的报文,以太网核心逻辑从Dicing/Slicing模块接收到以太网报文,处理后提交给PCIE主机接口处理模块。
XBAR与高速网网卡核心逻辑、高速网/以太网可配的网络端口,以及EoH相连。XBAR实现PCIE流量在多个网络端口的动态分配,将从高速网网卡核心逻辑或EoH接收到的报文流量在多个网络端口之间进行无阻塞的报文交换,将报文进行动态分配,然后提交给高速网/以太网可配的网络端口;对于物理层方向过来的报文,XBAR从高速网/以太网可配的网络端口接收报文,如果报文信息中显示报文传输的目的结点是高速网时,则XBAR将报文提交给高速网网卡核心逻辑,如果报文信息中显示报文传输的目的结点是以太网时,则XBAR将报文提交给EoH。
Dicing/Slicing模块与以太网网卡核心逻辑、高速网/以太网可配的网络端口,以及EoH相连。Dicing/Slicing模块从以太网网卡核心逻辑接收到以太网报文,将以太网报文拆分成以太网报文分片,如果报文信息中显示报文传输的目的结点是高速网时,则Dicing/Slicing模块将以太网报文分片提交给EoH,如果报文信息中显示报文传输的目的结点是以太网时,则Dicing/Slicing模块将以太网报文分片直接提交给高速网/以太网可配的网络端口。对于物理层方向过来的报文,Dicing/Slicing模块从EoH或高速网/以太网可配的网络端口接收以太网报文分片,将以太网报文分片拼接成以太网报文,然后提交给以太网网卡核心逻辑。
EoH与XBAR、以及Dicing/Slicing模块相连。EoH将高速网虚拟为以太网,从而使得连接在高速网中的结点直接与连接在以太网络中的结点直接通信。EoH的功能主要是通过将以太网报文切片后封装在高速网报文中实现的,记EoH将以太网报文切片后封装在高速网报文形成的报文为长MP报文。EoH从XBAR接收到长MP报文,删除EoH报文头,转换成以太网报文后发送给Dicing/Slicing模块;或者EoH从Dicing/Slicing模块接收到以太网报文,封装EoH报文头,转换成长MP报文后发送给XBAR。
高速网/以太网可配的网络端口与XBAR、Dicing/Slicing模块以及物理层相连。高速网/以太网可配的网络端口从XBAR接收高速网报文,高速网/以太网可配的网络端口配置成高速网网络端口,然后通过物理层将高速网报文传输出去;从Dicing/Slicing模块接收以太网报文,高速网/以太网可配的网络端口配置成以太网网网络端口,然后通过物理层将以太网报文传输出去。对于物理层方向过来的报文,高速网/以太网可配的网络端口根据报文配置,将接收的高速网报文提交给XBAR,或者将接收的以太网报文提交给Dicing/Slicing模块。
物理层与高速网/以太网可配的网络端口以及外部其他结点的网络接口卡或路由器相连。物理层从高速网/以太网可配的网络端口接收高速网报文或以太网报文,传输至其他结点。
EoH模块与相连的Dicing/Slicing模块、CSR模块的接口说明如下:
表1 EoH与Dicing/Slicing模块中Slicing的接口
信号名 | 宽度bit | 方向 | 说明 |
slic_sop_valid | 1 | O | SOP数据有效 |
slic_mop_valid | 1 | O | MOP数据有效 |
slic_eop_valid | 1 | O | EOP数据有效 |
slic_data | 256 | O | 数据 |
slic_head | 1 | O | 报文分片头,每个分片的第一拍标志 |
slic_tail | 1 | O | 报文分片尾,每个分片的最后一拍标志 |
slic_hirar_free | 1 | I | 信用释放信号,初始信用=64 |
表2 EoH与Dicing/Slicing模块中Dicing的接口
信号名 | 宽度bit | 方向 | 说明 |
dice_hirar_data_valid | 1 | I | 数据有效 |
dice_hirar_data | 256 | I | 数据 |
dice_hirar_head | 1 | I | 报文第一拍数据标志位,脉冲信号。 |
dice_hirar_tail | 1 | I | 报文最后一拍数据标志位,脉冲信号 |
EoH_dice_free | 1 | O | 信用释放信号,初始信用=32 |
表3 EoH与CSR的接口
表4 EoH与XBAR的接口
如图3所示,EoH模块包含三大模块:(1)数据输入处理流水线处理逻辑(EoHIngress Process),简称为Ingress流水线;(2)数据输出处理流水线处理逻辑(EoH EgressProcess),简称为Egress流水线;(3)CSR(Control and Status Register,控制和状态寄存器)模块。Ingress流水线从XBAR接收到长MP报文,删除EoH报文头,转换成以太网报文后发送给Dicing/Slicing模块;Egress流水线从Dicing/Slicing模块接收到以太网报文,封装EoH报文头,转换成长MP报文后发送给XBAR。CSR模块通过寄存器配置实现对Ingress流水线和Egress流水线的控制。
EoH模块的Ingress流水线包含三个逻辑子模块:Ingress输入缓冲区、Ingress报文检查模块和Ingress报文格式转换模块。
·Ingress输入缓冲区:与XBAR以及Ingress报文检查模块相连;Ingress输入缓冲区从XBAR接收长MP报文,存入Ingress输入缓冲区。
·Ingress报文检查模块:与Ingress输入缓冲区以及Ingress报文格式转换模块相连;Ingress报文检查模块从Ingress输入缓冲区读取长MP报文,对长MP报文进行正确性检查,例如所使用VC(Virtual Channel,虚信道)、报文长度、报文类型等,然后,将高速网报文发送给Ingress报文格式转换模块。
·Ingress报文格式转换模块:与Ingress报文检查模块以及Dicing/Slicing模块相连;Ingress报文格式转换模块包含一个Ingress输出FIFO,Ingress报文格式转换模块从报文检查模块接收到长MP报文,删除EoH报文头信息,将长MP报文去封装生成以太网报文分片,存入Ingress输出FIFO,然后将Ingress输出FIFO中存入的以太网报文分片顺序发送给以太网中的Dicing/Slicing模块。
EoH模块的Egress流水线包含四个逻辑子模块:Egress输入缓冲区、Egress报文格式转换模块、Egress输出FIFO以及Egress报文输出模块。
·Egress输入缓冲区:与Dicing/Slicing模块以及Egress报文格式转换模块相连;Egress输入缓冲区从Dicing/Slicing模块接收以太网报文分片,缓存至Egress输入缓冲区。
·Egress报文格式转换模块:与Egress输入缓冲区以及Egress输出FIFO相连;Egress方向核心模块,完成以太网报文切片重组的功能,填写重组后以太网报文的路由信息,构造EoH报文头。Egress报文格式转换模块从Egress输入缓冲区读取以太网报文分片,构造EoH报文头,根据切片配置对报文的载荷(payload)进行切割,单序列报文长度/序列号计数/报文总长度填写在LLP(Link Level Protocol,链路级协议)头中,报文序列切片用头尾信息区分,将以太网报文封装为长MP报文,然后,将长MP报文存入Egress输出FIFO中。
·Egress输出FIFO:与Egress报文格式转换模块以及Egress报文输出模块相连;Egress输出FIFO从Egress报文格式转换模块接收并缓存长MP报文。
·Egress报文输出模块:与Egress输出FIFO以及XBAR相连;Egress报文输出模块从Egress输出FIFO读取长MP报文,输出到XBAR。
如图4所示,本发明实施例中CSR模块访问采用标准的CSR环结构,寄存器的位宽是64位,寄存器的访问地址是20位,包含8位模块地址和12位模块内部偏移地址;CSR模块向外提供2个CSR连接接口,分别是1个表CSR和1个逻辑CSR;表CSR将EoH模块中的表串连在一起,而逻辑CSR将EoH模块中的Ingress流水线和Egress流水线子模块串连在一起。
如图5所示,本发明实施例中Egress报文格式转换模块,封装数据除了封装的以太网报文外,还封装了6字节的EoH报文头(EoH Head),以更好地支持对MOD_ID和NIC_ID的映射关系学习等功能。如图5所示,从低位至高位,EoH头各域说明如下:[8:0]为发送端的模块编号MOD_ID,记域名为SrcModID;[17:9]为接收端的模块编号MOD_ID,记域名为DestModID;[25:18]为以太网报文长度,记域名为ByteCnt;[45:26]为发送端的NIC_ID,记域名为SrcID;[47:46]为保留位,记域名为Rsv。其中MOD_ID指模块编号,用网络接口芯片的芯片号和网络端口号组合出来的字段,用来标识报文来源和目的地址;NIC_ID是以太网网卡在高速网中的编号,以太网网卡要接入高速网,需要在高速网上有个编号,NIC_ID即为以太网卡的高速网编号。
结合图6,EoH与XBAR方向的报文格式如下:
目前对序列报文的设计是固定长度(10flit格式)+可变长度(4/6/10flit格式)的序列尾报文模式。即报文封装时,数据内容足够封装成10flit格式便封装成10flit报文,最后不足部分,根据剩余数据长度确定报文长度,优先选择短格式进行封装。比如上述641B长度的报文,会切成2个完整10flit的EoH报文,外加最后一个10flit序列尾巴报文,包含129B数据+127B填0。再如257B长度的报文,会切成1个完整10flit的EoH报文,外加最后一个4flit序列尾巴报文,包含1B数据+63B填0。
从图6中可以看出,XBAR方向过来的报文payload中还包含了8B lmp信息。在进入以太网之前,需要把这部分信息放入以太网信息内部。待报文环回从Egress流水线到EoH后,再将这部分信息取出来,放到报文头之前。
结合图7,发往Dicing/Slicing方向的报文格式遵循如下规则:
(1)以太报文长度范围64~1536;
(2)数据通道位宽是32B。最后一拍数据(tail)时LBO(Last Byte Out,最后一拍有效字节数)信号使能,1表示1B数据有效,31表示31B数据有效,以此类推,0表示32B有效;
(3)因为SOP(Start of Package,数据包头)和MOP(Middle of Package,数据包中间部分)/EOP(End of Package,数据包尾)在Dicing/Slicing分开存放,在EoH的出口,将信用控制分开;
(4)Sop_valid需要固定持续≤128B。Dicing/Slicing在eop_valid和tail同时有效时,认为单个报文结束。
结合图8,从Dicing/Slicing方向接收到的报文:Dicing/Slicing给过来的报文,第一拍和第二拍分别是出口队列描述符(Queue Descriptor,QD)和入口报文描述符(Package Descriptor,PD)信息,从第三拍开始都是以太网报文。需要注意的是,MOP长度以176B切分。本发明实施例中Dicing/Slicing和EoH的数据通路为32B,MOP分片无法整除,所以EoH Egress流水线方向需要做简单的数据错位(gearbox),将数据错位后全部补满。
Claims (9)
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;
高速网/以太网可配的网络端口与交叉开关XBAR、以太网报文拆分/拼装模块以及物理层相连;高速网/以太网可配的网络端口从交叉开关XBAR接收高速网报文,高速网/以太网可配的网络端口配置成高速网网络端口,然后通过物理层将高速网报文传输出去;从以太网报文拆分/拼装模块接收以太网报文,高速网/以太网可配的网络端口配置成以太网网网络端口,然后通过物理层将以太网报文传输出去;对于物理层方向过来的报文,高速网/以太网可配的网络端口根据报文配置,将接收的高速网报文提交给交叉开关XBAR,或者将接收的以太网报文提交给以太网报文拆分/拼装模块;
物理层与高速网/以太网可配的网络端口以及外部其他结点的网络接口卡或路由器相连;物理层从高速网/以太网可配的网络端口接收高速网报文或以太网报文,传输至其他结点。
2.如权利要求1所述的融合网络接口卡,其特征在于,所述高速网/以太网报文转换模块EoH包含三大模块:(1)Ingress流水线,用于作为数据输入处理流水线处理逻辑;(2)Egress流水线,用于作为数据输出处理流水线处理逻辑;(3)控制和状态寄存器CSR模块;Ingress流水线从XBAR接收到长MP报文,删除EoH报文头,转换成以太网报文后发送给以太网报文拆分/拼装模块;Egress流水线从以太网报文拆分/拼装模块接收到以太网报文,封装EoH报文头,转换成长MP报文后发送给XBAR;CSR模块通过寄存器配置实现对Ingress流水线和Egress流水线的控制。
3.如权利要求1所述的融合网络接口卡,其特征在于,所述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报文格式转换模块,封装数据除了封装的以太网报文外,还封装了6字节的EoH报文头,从低位至高位,EoH报文头各域说明如下:[8:0]为发送端的模块编号MOD_ID,[17:9]为接收端的模块编号MOD_ID,[25:18]为以太网报文长度,[45:26]为发送端的NIC_ID,[47:46]为保留位;其中MOD_ID指模块编号,模块编号为用网络接口芯片的芯片号和网络端口号组合出来的字段,用来标识报文来源和目的地址;NIC_ID是以太网网卡在高速网中的编号。
7.如权利要求3所述的融合网络接口卡,其特征在于,所述CSR环结构中寄存器读写访问的实现方式为:每个模块都实例化一个环形寄存器访问公用模块csr_chain,寄存器访问请求在环上进行传递,CSR环上的各个模块基于寄存器访问地址进行处理,如果是本模块地址的寄存器访问,则进行相应的寄存器读写处理;CSR环上的各模块传递寄存器访问应答,依次到达寄存器处理总控模块。
8.基于权利要求1~7所述融合网络接口卡的报文编码方法,其特征在于,包括与XBAR方向的报文格式、发往以太网报文拆分/拼装模块方向的报文格式、从以太网报文拆分/拼装模块方向接收到的报文,分别如下:
(1)与XBAR方向的报文格式:对序列报文的设计是固定长度+可变长度的序列尾报文模式;记固定长度的序列报文长度为K个报文分片,可变长度的序列尾报文长度为K’个报文分片,K、K’均为自然数,K’≤K;报文封装时,数据内容足够封装成K个报文分片格式便封装成K个报文分片报文,最后不足部分,根据剩余数据长度确定报文长度,优先选择短格式进行封装;
(2)发往以太网报文拆分/拼装模块方向的报文格式:发往以太网报文拆分/拼装模块方向的接口遵循如下规则:(1)以太网报文长度范围64~1536B;(2)数据通道位宽是32B;最后一拍数据tail时最后一拍有效字节数信号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接口将报文传输至所连接的结点。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010438897.1A CN111641622B (zh) | 2020-05-21 | 2020-05-21 | 一种融合网络接口卡、报文编码方法及其报文传输方法 |
US17/109,146 US11558315B2 (en) | 2020-05-21 | 2020-12-02 | Converged network interface card, message coding method and message transmission method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010438897.1A CN111641622B (zh) | 2020-05-21 | 2020-05-21 | 一种融合网络接口卡、报文编码方法及其报文传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111641622A true CN111641622A (zh) | 2020-09-08 |
CN111641622B CN111641622B (zh) | 2022-01-07 |
Family
ID=72331499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010438897.1A Active CN111641622B (zh) | 2020-05-21 | 2020-05-21 | 一种融合网络接口卡、报文编码方法及其报文传输方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11558315B2 (zh) |
CN (1) | CN111641622B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112333024A (zh) * | 2020-11-06 | 2021-02-05 | 中国人民解放军国防科技大学 | 融合高速网链路层与100g以太网编码层的适配装置 |
CN116185502A (zh) * | 2023-02-16 | 2023-05-30 | 南京金阵微电子技术有限公司 | 流水线处理器及电子设备 |
CN114679425B (zh) * | 2022-03-24 | 2024-05-31 | 深圳震有科技股份有限公司 | 一种5g网络下的报文处理方法、网络设备及存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI733560B (zh) * | 2020-08-13 | 2021-07-11 | 瑞昱半導體股份有限公司 | 網路交換器及其網路交換器系統 |
CN114844842A (zh) * | 2022-05-07 | 2022-08-02 | 湖南戎腾网络科技有限公司 | 数据传输方法、装置、电子设备及可读存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7480303B1 (en) * | 2005-05-16 | 2009-01-20 | Pericom Semiconductor Corp. | Pseudo-ethernet switch without ethernet media-access-controllers (MAC's) that copies ethernet context registers between PCI-express ports |
US20110179199A1 (en) * | 2010-01-15 | 2011-07-21 | International Business Machines Corporation | Support for non-locking parallel reception of packets belonging to the same reception fifo |
US8069293B1 (en) * | 2009-05-22 | 2011-11-29 | Qlogic Corporation | Flexible server network connection upgrade systems and methods |
US20150142911A1 (en) * | 2012-08-15 | 2015-05-21 | International Business Machines Corporation | Network interface card having overlay gateway functionality |
CN106789099A (zh) * | 2016-11-16 | 2017-05-31 | 深圳市捷视飞通科技股份有限公司 | 基于pcie的高速隔离网络方法及终端 |
CN206400756U (zh) * | 2016-12-24 | 2017-08-11 | 南京研旭电气科技有限公司 | 高速以太网数据采集卡 |
CN108111930A (zh) * | 2017-12-15 | 2018-06-01 | 中国人民解放军国防科技大学 | 基于高密度存储器的多裸片高阶光交换结构 |
CN108696461A (zh) * | 2017-03-31 | 2018-10-23 | 英特尔公司 | 用于智能网络接口卡的共享存储器 |
CN110247970A (zh) * | 2019-06-17 | 2019-09-17 | 中国人民解放军国防科技大学 | 一种互连芯片动态共享缓冲装置 |
CN111092773A (zh) * | 2019-12-25 | 2020-05-01 | 成都九芯微科技有限公司 | 一种支持虚拟交换的pcie交换芯片端口配置系统和方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10019401B1 (en) * | 2016-03-31 | 2018-07-10 | EMC IP Holding Company LLC | Virtualized target channel adapter |
DE112017007865T5 (de) * | 2017-08-16 | 2020-05-14 | Intel Corporation | Netzgebundener shuffle-datenspeicher |
US20210119930A1 (en) * | 2019-10-31 | 2021-04-22 | Intel Corporation | Reliable transport architecture |
-
2020
- 2020-05-21 CN CN202010438897.1A patent/CN111641622B/zh active Active
- 2020-12-02 US US17/109,146 patent/US11558315B2/en active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7480303B1 (en) * | 2005-05-16 | 2009-01-20 | Pericom Semiconductor Corp. | Pseudo-ethernet switch without ethernet media-access-controllers (MAC's) that copies ethernet context registers between PCI-express ports |
US8069293B1 (en) * | 2009-05-22 | 2011-11-29 | Qlogic Corporation | Flexible server network connection upgrade systems and methods |
US20110179199A1 (en) * | 2010-01-15 | 2011-07-21 | International Business Machines Corporation | Support for non-locking parallel reception of packets belonging to the same reception fifo |
US20150142911A1 (en) * | 2012-08-15 | 2015-05-21 | International Business Machines Corporation | Network interface card having overlay gateway functionality |
CN106789099A (zh) * | 2016-11-16 | 2017-05-31 | 深圳市捷视飞通科技股份有限公司 | 基于pcie的高速隔离网络方法及终端 |
CN206400756U (zh) * | 2016-12-24 | 2017-08-11 | 南京研旭电气科技有限公司 | 高速以太网数据采集卡 |
CN108696461A (zh) * | 2017-03-31 | 2018-10-23 | 英特尔公司 | 用于智能网络接口卡的共享存储器 |
CN108111930A (zh) * | 2017-12-15 | 2018-06-01 | 中国人民解放军国防科技大学 | 基于高密度存储器的多裸片高阶光交换结构 |
CN110247970A (zh) * | 2019-06-17 | 2019-09-17 | 中国人民解放军国防科技大学 | 一种互连芯片动态共享缓冲装置 |
CN111092773A (zh) * | 2019-12-25 | 2020-05-01 | 成都九芯微科技有限公司 | 一种支持虚拟交换的pcie交换芯片端口配置系统和方法 |
Non-Patent Citations (8)
Title |
---|
LIQUAN XIAO等: "《A Cost-Efficient Router Architecture for HPC Inter-Connection Networks: Design and Implementation》", 《IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS ( VOLUME: 30, ISSUE: 4, APRIL 1 2019)》 * |
LIQUAN XIAO等: "A Reconfigurable Address Translation Cache for Interconnect Network of High Performance Computer", 《2019 IEEE 21ST INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING AND COMMUNICATIONS; IEEE 17TH INTERNATIONAL CONFERENCE ON SMART CITY; IEEE 5TH INTERNATIONAL CONFERENCE ON DATA SCIENCE AND SYSTEMS (HPCC/SMARTCITY/DSS)》 * |
刘军伟: "多种高速串行总线的对比研究与分析", 《电子测试》 * |
刘路等: "天河-1A互连系统的接口设计", 《计算机工程与科学》 * |
吕高锋等: "CSRouter:服务可扩展的路由器体系结构", 《通信学报》 * |
吴惑等: "基于FPGA的万兆以太网TCP/IP协议处理架构", 《电子设计工程》 * |
尹亚明等: "PCI Express技术在嵌入式MPSoC中的应用", 《计算机工程与科学》 * |
杨惠等: "面向多核网络分组处理系统的线程亲和缓冲区管理机制", 《国防科技大学学报》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112333024A (zh) * | 2020-11-06 | 2021-02-05 | 中国人民解放军国防科技大学 | 融合高速网链路层与100g以太网编码层的适配装置 |
CN112333024B (zh) * | 2020-11-06 | 2022-07-19 | 中国人民解放军国防科技大学 | 融合高速网链路层与100g以太网编码层的适配装置 |
CN114679425B (zh) * | 2022-03-24 | 2024-05-31 | 深圳震有科技股份有限公司 | 一种5g网络下的报文处理方法、网络设备及存储介质 |
CN116185502A (zh) * | 2023-02-16 | 2023-05-30 | 南京金阵微电子技术有限公司 | 流水线处理器及电子设备 |
CN116185502B (zh) * | 2023-02-16 | 2023-11-07 | 南京金阵微电子技术有限公司 | 流水线处理器及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111641622B (zh) | 2022-01-07 |
US11558315B2 (en) | 2023-01-17 |
US20210367906A1 (en) | 2021-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111641622B (zh) | 一种融合网络接口卡、报文编码方法及其报文传输方法 | |
KR101064099B1 (ko) | Pci 익스프레스에서의 패킷 결합 | |
US7245627B2 (en) | Sharing a network interface card among multiple hosts | |
US7296093B1 (en) | Network processor interface system | |
US8369347B2 (en) | Fiber channel over Ethernet and fiber channel switching based on Ethernet switch fabrics | |
US7206283B2 (en) | High-performance network switch | |
US7978702B2 (en) | Backplane interface adapter | |
US7647472B2 (en) | High speed and high throughput digital communications processor with efficient cooperation between programmable processing components | |
US7203194B2 (en) | Method and system for encoding wide striped cells | |
EP2003823B1 (en) | Autonegotiation over an interface for which no autonegotiation standard exists | |
CN105791214B (zh) | 一种RapidIO报文和以太网报文之间的转换方法和设备 | |
US20020091884A1 (en) | Method and system for translating data formats | |
US7324537B2 (en) | Switching device with asymmetric port speeds | |
CN107079017B (zh) | 一种报文转换方法及装置 | |
JP2003508954A (ja) | ネットワーク・スイッチ及びコンポーネント及び操作方法 | |
JP2003508967A (ja) | ネットワーク・プロセッサ及び方法を用いるネットワーク・スイッチ | |
JP2000503828A (ja) | データネットワーク上でデータパケットをスイッチングする方法および装置 | |
JP2003508851A (ja) | ネットワーク・プロセッサ、メモリ構成及び方法 | |
JP2003508957A (ja) | ネットワーク・プロセッサ処理コンプレックス及び方法 | |
GB2459838A (en) | Encapsulating Ethernet frames for transit through a bridge or router | |
JP2003508951A (ja) | Vlsiネットワーク・プロセッサ及び方法 | |
CN109412922A (zh) | 一种传输报文的方法、转发设备、控制器及系统 | |
US8824468B2 (en) | System and method for parsing frames | |
US6324164B1 (en) | Asynchronous transfer mode (A.T.M.) protocol adapter for a high speed cell switching system | |
EP1508225B1 (en) | Method for data storage in external and on-chip memory in a packet switch |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |