CN103270490B - 网络处理器及其与外部网络协处理器连接的方法 - Google Patents
网络处理器及其与外部网络协处理器连接的方法 Download PDFInfo
- Publication number
- CN103270490B CN103270490B CN201180061053.9A CN201180061053A CN103270490B CN 103270490 B CN103270490 B CN 103270490B CN 201180061053 A CN201180061053 A CN 201180061053A CN 103270490 B CN103270490 B CN 103270490B
- Authority
- CN
- China
- Prior art keywords
- flow
- coprocessor
- byte
- communication protocol
- processing unit
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 38
- 230000004044 response Effects 0.000 claims abstract description 30
- 238000004891 communication Methods 0.000 claims description 54
- 230000003068 static effect Effects 0.000 claims description 18
- 230000009977 dual effect Effects 0.000 claims description 16
- 230000006870 function Effects 0.000 description 16
- 230000008569 process Effects 0.000 description 11
- 238000005457 optimization Methods 0.000 description 9
- 230000006978 adaptation Effects 0.000 description 7
- 230000001413 cellular effect Effects 0.000 description 6
- 230000000295 complement effect Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 241000544061 Cuculus canorus Species 0.000 description 1
- 241000712062 Patricia Species 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004899 motility Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
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/22—Parsing or analysis of headers
-
- 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/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Systems (AREA)
- Communication Control (AREA)
Abstract
本公开涉及把外部网络协处理器连接到网络处理器分组解析器。当在网络处理器以太网端口的解析器与外部协处理器之间实现请求/响应流量时,优化网络处理器的通道个数包括以太网端口中以64字节以太网分组进行接收,而且在解析过程中,解析器在3.125附加(双向)通道上向协处理器发送16字节字的请求并且在该3.125附加(双向)通道上接收16字节字的响应。协处理器访问16字节字流量与关于网络处理器中一个单元的一个(双向)流量可以静态地多路复用,其中一个或另一个流量是在网络处理器初始化的时候设定的。执行一个以太网端口中的协处理器访问16字节字流量与另一个以太网端口的协处理器访问16字节字流量的动态多路复用,该动态多路复用是利用轮循算法仲裁的。
Description
技术领域
本发明总体上涉及网络处理;更具体地,本发明针对提供网络处理器分组解析器到外部协处理器的连接,用于有效地发送工作负载并接收处理附加网络功能的结果。
背景技术
一个芯片上的高性能网络处理器可能必须处理复杂的网络功能。尤其是,例如在以太网适配器中,分组解析器可能必须支持无法完全在该芯片上处理的高级分组分类与分组过滤功能。在这种情况下,该解析器将必须把一些分组处理功能移到外部协处理器,并从该协处理器取得返回结果,以便将其用作自身分组处理结果的输入。
决定从分组解析器外化(externalize)网络处理功能是很常见的,因为不同的功能可能需要不同的处理架构与性能,而网络处理器芯片不能包括所有这些特性。另一个好的理由是芯片上的面积限制问题,因为分组解析附加网络功能可能需要非常大的逻辑与阵列。
可以由分组解析器外化到协处理器的一种典型附加网络处理功能为是分组分类,作为例子,包括TCAM中的查找或基于哈希的查找,对其采取不同的搜寻算法(Patricia树、Cuckoo算法等)。可以外化的另一个功能是分组过滤功能,这是基于从该分组提取出的模式的识别。
因此,开发到外部协处理器的分组解析器连接的主要需求是要充分灵活,以适应各种带宽需求并支持外部处理器可编程技术,例如FPGA,以允许许多可能的最终网络处理器系统设计。
美国专利US7428618涉及围绕两个网络处理器架构的网络节点结构,分组流的每个方向有一个网络处理器,通过共享内存(图2中的118)通信。该结构与位于子卡(图2中的122C)上的一组协处理器互补。所有的协处理器都经硬件控制逻辑(图2中的236)互连,其中该硬件控制逻辑还经专用内存(图2中的216DPSSRAM)向两个网络处理器(图2中的245A)中的一个提供接口。在该现有技术文档中,没有关于到协处理器的可配置接口的描述,其通信是通过用于经专用内存(图2中的216)在协处理器与网络处理器之间交换请求和响应的特定接口(图2中的254A)实现的。该特定接口是专用的但具体地设计成用于支持到协处理器的接口。
美国专利US20030041172涉及,与现有网络处理器相比,允许性能改进的网络节点结构。关键点是利用外部协处理器互补现有的网络处理器基础架构。那时可用的技术还不允许以与主网络处理器相关连的方式操作协处理器,具体而言是因为对大型缓冲区及复杂状态检索算法的需求(参见[0001]的结尾)。于是,对于这种解决方案,具体的任务不是与由网络处理器处理的主要分组并行执行的,而是与其串行地执行(参见[0002]的结尾)。这种解决方案并没有描述到协处理器的物理接口,特别地,这种接口没有描述为可以适应成各种联网系统需求的可配置接口。
发明内容
本发明的一种优选实施例可以提供用于把网络处理器芯片中的分组解析器连接到外部协处理器的方法与系统,用于以灵活的方式发送工作负载并接收结果,以便重复使用现有的控制/管理双向串行通道并且在有限的串行通道集合上支持许多类型的流量与带宽。
在第一方面,提供了一种方法,在包括第一通信协议端口的网络处理器中,其中每个通信协议端口都支持在N个S Gbps速度的通道上的M最小尺寸分组数据路径流量并且支持在n个s Gbps速度的附加通道上关于该网络处理器中不同通信协议单元的流量,以便使用所述第一通信协议端口来支持由位于每个第一通信协议端口中的解析网络逻辑对外部协处理器的访问,在解析期间,所述解析网络逻辑都以 M最小尺寸分组的接收向所述外部协处理器发送请求并从所述外部协处理器接收响应,所述方法包括,解析器在n个s Gbps速度的附加通道上向协处理器发送最大m字节字的请求,并且在相同s Gbps速度的附加通道上从外部协处理器接收最大m字节字的响应,从而验证不等式N×S/M=<n×s/m。
优选地,在包括以太网端口的网络处理器中,其中每个以太网端口都支持在四个3.125Gbps速度的通道上的64字节最小尺寸以太网分组数据路径流量并且支持在一个3.125Gbps速度的附加通道上关于该网络处理器中不同通信协议单元的流量,以便使用所述以太网络端口支持由位于每一个第一通信协议端口中的解析网络逻辑对外部协处理器的访问,在解析期间,所述解析网络逻辑都以64字节最小尺寸分组的接收向所述外部协处理器发送请求并且从所述外部协处理器接收响应,所述方法包括,解析器在该3.125Gbps速度的附加通道上向协处理器发送最大16字节字的请求并且在相同3.125Gbps速度的附加通道上从外部协处理器接收最大16字节字的响应。
优选地,该方法还包括,在把流量发送至n个s Gbps速度的附加通道上之前,在双输入多路复用器中多路复用第一通信协议端口中的协处理器访问最小M字节字流量及关于该网络处理器中一个通信协议单元的流量,所述双输入多路复用器可静态配置到两个多路复用的流量中的一个当中。
优选地,在可静态配置的双输入多路复用器中被多路复用之前,静态多路复用的协处理器访问最大m字节字流量首先在双输入动态多路复用器中与来自一个其它第一通信协议端口的一个协处理器访问最大m字节字流量多路复用,所述动态多路复用器允许两个多路复用的流量在流量仲裁算法的控制之下。
优选地,该方法还包括附加通道的流量在s Gbps的高速串行器/解串器中在发送时串行化并且在接收时解串。
优选地,该方法还包括附加双向通道的流量在2×s Gbps的高速串行器/解串器中在发送时串行化并且在接收时解串。
优选地,该方法还包括由不同通信协议单元支持的流量包括2.5Gbps PCIe×1流量。
优选地,由不同通信协议单元支持的流量包括1.25Gbps SGMII流量。
优选地,流量仲裁算法是“工作保留”轮循算法。
优选地,用于外部协处理器访问的最大尺寸m字节请求字和最大尺寸m字节响应字包括第一通信协议端口中支持对应协处理器访问最大尺寸m字节字流量的一个标识符。
在第二方面,提供了一种网络处理器,包括第一通信协议端口,每个通信协议端口都支持在N个s Gbps速度的通道上的M最小尺寸字节数据路径流量并且支持在n个s Gbps速度的附加通道上关于该网络处理器中不同通信协议单元的流量,所述网络处理器支持由位于每个第一通信协议端口中的解析网络逻辑对一个外部协处理器的访问,所述解析逻辑适于,在解析过程中,以最小尺寸M字节分组的接收向所述外部协处理器发送请求并且从所述外部协处理器接收响应,所述网络处理器包括,解析器,适于在n个附加通道上向协处理器发送最大m字节字的请求并且在相同s速度的n个附加通道上从该外部协处理器接收最大尺寸m字节字的响应,从而验证不等式N×S/M=<n×s/m。
优选地,该网络处理器还包括以太网端口,每个以太网端口都支持4个3.125Gbps速度的通道上的最大尺寸64字节数据路径流量并且支持1个3.125Gbps速度的附加通道上关于该网络处理器中不同通信协议单元的流量,所述网络处理器支持由位于每个以太网协议端口中的解析网络逻辑对一个外部协处理器的访问,所述解析逻辑适于,在解析过程中,以最小尺寸M字节分组的接收向所述外部协处理器发送请求并且从所述外部协处理器接收响应,所述网络处理器包括,解析器,适于在1个附加通道上向协处理器发送最大16字节字的请求并且在相同3.125Gbps速度的附加通道上从该外部协处理器接收最大16字节字的响应,从而验证不等式N×S/M=<n×s/m。
优选地,网络处理器还包括双输入多路复用器,多路复用第一通信协议端口中的协处理器访问最大尺寸m字节字流量与关于网络处理器中一个网络协议单元的一个流量,所述双输入多路复用器静态配置到两个多路复用的流量中的一个。
优选地,网络处理器还包括双输入动态多路复用器,在多路复用的流量在可静态配置的双输入多路复用器中多路复用之前,多路复用来自一个第一通信协议端口的一个协处理器访问最大尺寸m字节字流量和来自另一个第一通信协议端口的一个协处理器访问最大尺寸m字节字流量,所述动态多路复用器适于允许两个多路复用的流量在流量仲裁算法的控制之下。
网络处理器的以太网物理接口优选地支持附加通道上的以太网数据流量和不同的通信协议单元(对于控制和数据)流量:关于本发明的解决方案,关于外部协处理器的解析器命令流也将在附加通道上得到支持。这允许最小化网络处理器上串行通道的个数,从而优化分组尺寸及成本,并且最小化由大型高速串行器/解串器核心(定制逻辑)所消耗的硅面积。由于所有这些原因,让外部协处理器接口共享这些附加的双向串行通道看起来似乎非常有益。
附图说明
现在参考附图仅仅作为例子来描述本发明的优选实施例,其中:
图1是具有其主要功能、输出通道和到外部协处理器的连接的网络处理器的全局视图,在该网络处理器中实现了本发明的优选实施例;
图2说明了网络处理器解析器到外部协处理器的连接的最初实现,这种实现没有实现优选实施例的解决方案;
图3说明了网络处理器解析器到外部协处理器的连接的第一种优化,这种优化没有实现优选实施例的解决方案;
图4说明了网络处理器解析器到外部协处理器的连接的第二种优化,这种优化是根据优选实施例的解决方案;
图5说明了根据优选实施例解决方案的、在网络处理器解析器与外部协处理器之间交换的XCP请求与响应格式。
具体实施方式
图1是具有其主要功能、输出通道和到外部协处理器的连接的网络处理器的全局视图,在该网络处理器中实现了本发明的优选实施例。如果自上而下进行描述,图1中与未在此示出的一台计算机交换数据的40Gbps网络处理器(100)利用连接到内部处理器总线(108)的专用处理器(101至107)实现处理功能。通过连接到内部总线并且支持外部连接(例如到USB端口)的PCI单元(120)并且通过支持代表以太网分组数据路径的4×10Gbps IEEE标准化XAUI接口(端口1、端口2、端口3和端口4)的以太网适配器(130),该网络处理器支持两种主要的网络协议。PCI和以太网数据流量通过到4个以太网端口(端口1、端口2、端口3和端口4)的互连接口合并。然后,PCI和以太网数据流量在高速串行器/解串器(160)中串行化(自上而下的流量),由于它是双向的,因此结果产生的高速数据路径(170)包括用于发送和接收的4×10b×2的4个输出串行化通道。
例如由四条输出路径(190)所说明的,源自PCI单元(120)和以太网适配器(130)的、具有比数据路径更低速度的某个附加路径(190)可以包括2×1Gbps以太网数据路径和两条2.5Gbps PCI快速(一条通道PCIe×1)数据路径。这条附加路径(190)是通过第二高速串行器/解串器(161)串行化的。
在该网络处理器中,在以太网适配器中执行以太网分组分类的解析器逻辑(140)发送要由外部协处理器(110)执行的一些解析器附加网络功能。协处理器被形容为在网络处理器(100)的“外面”,其中网络处理器与协处理器是在一个芯片中实现的。应当指出,在协处理器上表示出了4个输入,但是外部协处理器上的输入个数是可变的。在自上而下的解析器路径中,解析器在其解析器过程的输入寄存 器中组装请求消息。当解析器填充该消息的“命令字节”(这在本文档中随后参考图5的描述来描述)时,组装完成。利用该命令字节,图中消息流(150)中由粗箭头逻辑表示的解析器触发“请求”消息编码,串行化并发送到协处理器(110)。在自下而上的路径中,解析器解串并解码从协处理器接收到的“响应”消息,并且合并这个结果与其自己分组过程的结果。
所谓的双向XCP解析器-协处理器接口不是一种标准接口,但是被定义为本发明解决方案的一部分。
图2说明了网络处理器解析器到外部协处理器的连接的最初实现,这种实现没有实现优选实施例的解决方案。图2说明了网络处理器的端口逻辑。文档其余部分中“端口”的使用指逻辑单元。在图2中,40Gbps的网络处理器(100)具有10Gbps的4个以太网端口(200、201、202、203),每个端口都提供由IEEE标准定义的双向XAUI接口,包括3.125Gbps的4个通道,每个通道在发送和接收方向都是10b。这种XAUI接口支持数据路径(220、221、222、223)、以太网分组流量。这种数据流量在这里未示出的高速串行器/解串器(160)中串行化。
所接收到的分组在以太网端口中(例如使用基于FSM的微微处理器)进行解析(230、231、232、233),分组的解析需要由外部协处理器进行附加的处理,通过XCP接口发送请求和接收响应。解析器可以在其分组解析窗口过程中的任何时刻建立XCP请求并且利用用于每个以太网端口的一个3.125串行通道发送它。假设典型的XCP请求最大是16字节长,这是最小以太网分组尺寸(64B)的1/4,以速度3.125Gbps发送到(IEEE标准以太网)XAUI接口的4条通道,用于XCP接口(212)的一个3.125Gbps的附加通道就足够了。
串行化/解串是在到达协处理器(110)之前在高速串行器/解串器(161)中执行的。
在这第一种实现中,XCP接口与网络处理器的10Gbps以太网 端口上的以太网数据流量共享。
另一个例子可以是光纤信道或其它通信协议端口,其中串行通道的数量必须优化。假设其它通信协议端口提供N个S Gbps的串行通道以便支持具有最小尺寸M字节的分组流,并且提供支持最大m字节的请求/响应字的速度为s的n个附加串行通道。必须验证以下通用不等式:
N×S/M=<n×s/m
事实上,所定义的变量必须符合以下相同的p与P分组周期性(p=P):
在XAUI通道上:
P=(M×10)/(N×S)
在n个附加通道上:
p=(m×10)/n×s
P与p以毫微秒为单位,M与N是以字节为单位,10为位的数目,N与n为通道数目,而S与s是以Gbps为单位。
图3说明了网络处理器解析器到外部协处理器的连接的第一种优化,这种优化没有实现优选实施例的解决方案。典型的40G网络处理器实现了四个XAUI接口,加上用于控制和管理目的的少数额外串行通道,例如用于网络管理的两个1.25Gbps(标准化)SGMII以太网络通道及用于外围设备控制(流量走向,例如计算机USB端口)的两个2.5Gbps PCIe×1通道。
由于非常期望最小化网络处理器上串行通道的数量,因此如图3中所说明的那样实现第一通道共享。四个控制/管理通道中的每一个都可以独立地为其原始功能使用(来自网络处理器中以太网适配器130的SGMII或者来自PCI单元(120)的PCIe×1)或者为外部协 处理器接口而配置。在一个附加通道配置成用于XCP外部协处理器接口的情况下,通过向外部协处理器请求附加过程,该通道允许关联到四个10G端口之一的解析器扩展其功能性。
利用在端口3和端口4上共享的两个XCP流量的例子,这种通道共享是利用图3中所说明的静态多路复用器实现的。第一静态多路复用器(340)在解析器XCP和PCIe×1流量之间共享通道,而第二多路复用器(341)在解析器XCP流量与用于网络管理的SGMII流量之间共享通道。第一多路复用器(340)有两个输入:来自解析器的XCP流量和来自以太网适配器的SGMII流量。在输出中,多路复用器根据其配置,或者提供解析器流量,或者提供以太网控制流量。事实上,这些多路复用器优选地是静态多路复用器,可以在网络处理器的系统初始化时配置成或者用于一个输入流量或者用于另一个输入流量。在图3的例子中,端口1和端口2XCP通道专用于解析器流量,而端口3和端口4可以配置成作为支持XCP流量或者分别支持PCI或以太网流量。
为了简化附图,只示出了两个控制通道,但是实际上,由于需要支持两个1.25Gbps SGMII以太网络通道用于网络管理及两个2.5Gbps PCIe×1通道用于外围设备控制,因此如端口3和端口4所示,每个以太网络端口都具有多路复用的流量。
图4说明了网络处理器解析器到外部协处理器的连接的第二种优化,这种优化是根据优选实施例的解决方案。根据该优选实施例,当在外部协处理器访问与PCI或以太网络流量之间应用共享控制/管理通道的解决方案时,配置成用于外部协处理器访问的控制/管理通道可以进一步关联到两个解析器而不是一个。
图4的网络处理器实现了如图3中所述的第一种优化。静态多多路复用器(400、401、402、403)关联到每个以太网络端口,因此每个控制/管理通道都可以配置成PCI的解析器流量或者以太网络流量中的任意一个。应当指出,为了简化,连接PCI单元与以太网适配器仅使用端口2与端口3来表示,但是这种连接可以对四个端口存 在。在该优选实施例中,第二多路复用器(410、411、412、413)添加到每个以太网络端口中,在相同的通道道上多路复用两个协处理器访问的流量。当静态多路复用器(400、401、402、403)中的一个配置成只允许外部协处理器访问(XCP接口)时,它从用于它所连接的两个端口的解析器接收该外部协处理器访问流量。例如,当端口2静态多路复用器(401)配置成允许来自端口2的解析器(231、211)的协处理器访问流量时,它还从端口1的解析器(230、210)接收协处理器访问流量。端口1和端口2的这两个协处理器流量在第二多路复用器411中多路复用。第二多路复用器(410、411、412、413)是动态的,因此不在该网络处理器系统初始化时配置,但是,两个流量都是在网络处理器处于活动状态时接受的。流量由优选地实现“工作保留”轮循算法的仲裁器(420、421、422、423)在动态多路复用器中管理。如本领域中已知的,“工作保留”仲裁算法是一种允许在两个解析器流量增加的时候交替流量的算法。
在静态多路复用器(400、401、402、403)配置成只接受PCI或以太网络流量时,不使用动态多路复用器(410、411、412、413)。
因此,利用该优选实施例的解决方案,两个端口的解析器的协处理器访问连接到同一个多路复用器,因此只有一个附加通道用于支持来自两个以太网络端口解析器的协处理器访问的流量。
这允许为其原始功能(PCIe×1、SGMII以太网)保留两个附加信道,并且仍然向四个以太网10G端口的四个解析器提供外部协处理器访问。
这种解决方案很灵活,足以允许许多可能的配置。如果网络处理器提供8个以太网络端口逻辑,则协处理器中的4个输入可以由解析器接口与协处理器一起使用。
两个解析器协处理器访问流量的多路复用对请求(由解析器发送到协处理器的最大16字节XCP字)和响应(由解析器从协处理器接收的最大16字节XCP字)操作。来自两个解析器的请求以轮循的 方式被仲裁,而且响应必须识别接收附加通道流量应当发送至的端口。
图5说明了根据优选实施例解决方案的、在网络处理器解析器与外部协处理器之间交换的XCP请求与响应格式。在图5中描述了为了由解析器用于与外部协处理器通信的XCP接口的最大16字节可变尺寸格式的请求与响应。请求格式包括第一命令字节(500),其最后15个字节供数据(501)使用。说明了命令字节,它可以包括例如,一个命令类型位,位5,这个位可以对读命令是1而对写命令是0,还包括一个“最后命令”位,位3,向协处理器指示该命令是否是最后一个命令或者协处理器是否需要等待下一个命令。当两个解析器命令流量可以多路复用时,例如在请求的命令字节的位4中可以找到的PortID位(503)定义该指令的起源。这同一个位4与在协处理器的16字节格式响应中命令字节(504)中的相同PortID位值(506)一起使用,其余的15个字节(505)供数据使用。利用PortID位,两个可能的值就足以指定两个多路复用解析器流量端口中的一个,这允许适当控制对应解析器的响应。
应当注意控制/管理通道的输出,在该控制/管理信道上,以太网络端口利用静态多路复用器配置成支持协处理器访问流量,当两个协处理器访问流量连接在相同信道上动态多任务化时,总流量速率为2×3.125Gbps=6.25Gbps。在这种情况下,可以使用本领域中已知的6.25Gbps之高速串行化器/解串器(161)而且足够了。
当不使用该优选实施例的动态多路复用时,一个以太网端口上的协处理器访问流量为3.125Gbps,而且这是进入HSS(高速串行器/解串器)(161)的最大速率,因为以太网络控制/管理流量速率为1.25Gbps而且2.5Gbps的PCIe×1流量也跨该HSS(161)。为此,较低性能的HSS(3.125Gbps)可以供第一或第二种实现使用。
外部协处理器接口的灵活性也在串行信道上利用多个速度选择获得,因此,当外部协处理器的成本优化实现不是非常高速的串行链 接(例如,某些低端FPGA系列)时,可以使用较慢的速度;而当使用通道多路复用方案时,可以使用较高的速度。
应当指出,如上所述的本发明实施例可应用到任何类型的外部协处理器,例如处理器、ASIC或者FPGA协处理器。
Claims (17)
1.一种用于连接网络处理器与外部协处理器的方法,该网络处理器包括第一通信协议端口,每个第一通信协议端口都支持在N个S Gbps速度的通道上的M最小尺寸分组数据路径流量并且支持在n个s Gbps速度的附加通道上关于该网络处理器中不同通信协议单元的流量,以便使用所述第一通信协议端口来支持由位于每个第一通信协议端口中的解析逻辑对外部协处理器的访问,在解析期间,所述解析逻辑都以M最小尺寸分组的接收向所述外部协处理器发送请求并从所述外部协处理器接收响应,所述方法包括,
所述解析逻辑在n个s Gbps速度的附加通道上向协处理器发送最大m字节字的请求,并且在相同s Gbps速度的附加通道上从外部协处理器接收最大m字节字的响应,从而验证不等式N×S/M=<n×s/m;
在把流量发送至n个s Gbps速度的附加通道上之前,在双输入多路复用器中多路复用第一通信协议端口中的协处理器访问最小M字节字流量及关于该网络处理器中一个通信协议单元的流量,所述双输入多路复用器可静态配置到两个多路复用的流量中的一个当中。
2.如权利要求1所述的方法,其中,第一通信协议端口是以太网端口,其中,每个以太网端口都支持在四个3.125Gbps速度的通道上的64字节最小尺寸以太网分组数据路径流量并且支持在一个3.125Gbps速度的附加通道上关于该网络处理器中不同通信协议单元的流量,以便使用所述以太网端口支持由位于每一个第一通信协议端口中的解析逻辑对外部协处理器的访问,在解析期间,所述解析逻辑都以64字节最小尺寸分组的接收向所述外部协处理器发送请求并且从所述外部协处理器接收响应,所述方法包括,
所述解析逻辑在该3.125Gbps速度的附加通道上向协处理器发送最大16字节字的请求并且在相同3.125Gbps速度的附加通道上从外部协处理器接收最大16字节字的响应。
3.如权利要求1所述的方法,其中,在可静态配置的双输入多路复用器中被多路复用之前,静态多路复用的协处理器访问最大m字节字流量首先在双输入动态多路复用器中与来自一个其它第一通信协议端口的一个协处理器访问最大m字节字流量多路复用,所述动态多路复用器允许两个多路复用的流量在流量仲裁算法的控制之下。
4.如权利要求1或2所述的方法,还包括,附加通道的流量在s Gbps的高速串行器/解串器中在发送时串行化并且在接收时解串。
5.如权利要求3所述的方法,还包括,附加双向通道的流量在2×s Gbps的高速串行器/解串器中在发送时串行化并且在接收时解串。
6.如权利要求1或2所述的方法,其中由不同通信协议单元支持的流量包括2.5Gbps PCIe×1流量。
7.如权利要求3所述的方法,其中由不同通信协议单元支持的流量包括2.5Gbps PCIe×1流量。
8.如权利要求4所述的方法,其中由不同通信协议单元支持的流量包括2.5Gbps PCIe×1流量。
9.如权利要求1或2所述的方法,其中由不同通信协议单元支持的流量包括1.25Gbps SGMII流量。
10.如权利要求3所述的方法,其中由不同通信协议单元支持的流量包括1.25Gbps SGMII流量。
11.如权利要求3所述的方法,其中流量仲裁算法是“工作保留”轮循算法。
12.如权利要求1所述的方法,其中用于外部协处理器访问的最大尺寸m字节请求字和最大尺寸m字节响应字包括第一通信协议端口中支持对应协处理器访问最大尺寸m字节字流量的一个标识符。
13.如权利要求3所述的方法,其中用于外部协处理器访问的最大尺寸m字节请求字和最大尺寸m字节响应字包括第一通信协议 端口中支持对应协处理器访问最大尺寸m字节字流量的一个标识符。
14.如权利要求4所述的方法,其中用于外部协处理器访问的最大尺寸m字节请求字和最大尺寸m字节响应字包括第一通信协议端口中支持对应协处理器访问最大尺寸m字节字流量的一个标识符。
15.一种网络处理器,包括:
包含解析逻辑的第一通信协议端口,其中,每个第一通信协议端口都支持在N个S Gbps速度的通道上的M最小尺寸字节数据路径流量并且支持在n个s Gbps速度的附加通道上关于该网络处理器中不同通信协议单元的流量,以支持由位于每个第一通信协议端口中的解析逻辑对一个外部协处理器的访问,所述解析逻辑适于,在解析过程中,以最小尺寸M字节分组的接收向所述外部协处理器发送请求并且从所述外部协处理器接收响应,并且,所述解析逻辑还适于在n个附加通道上向协处理器发送最大m字节字的请求并且在相同s速度的n个附加通道上从该外部协处理器接收最大尺寸m字节字的响应,从而验证不等式N×S/M=<n×s/m;
双输入多路复用器,其多路复用第一通信协议端口中的协处理器访问最大尺寸m字节字流量与关于网络处理器中一个通信协议单元的一个流量,所述双输入多路复用器可静态配置到两个多路复用的流量中的一个。
16.如权利要求15所述的网络处理器,其中,所述第一通信协议端口是以太网端口,其中,每个以太网端口都支持4个3.125Gbps速度的通道上的最小尺寸64字节数据路径流量并且支持1个3.125Gbps速度的附加通道上关于该网络处理器中不同通信协议单元的流量,所述网络处理器支持由位于每个以太网协议端口中的解析逻辑对一个外部协处理器的访问,所述解析逻辑适于,在解析过程中,以64字节最小尺寸分组的接收向所述外部协处理器发送请求并且从所述外部协处理器接收响应,所述解析逻辑还适于,在1个附加通道上向协处理器发送最大16字节字的请求并且在相同3.125Gbps速度的 附加通道上从该外部协处理器接收最大16字节字的响应,从而验证不等式N×S/M=<n×s/m。
17.如权利要求15或16所述的网络处理器,还包括双输入动态多路复用器,在多路复用的流量在可静态配置的双输入多路复用器中多路复用之前,多路复用来自一个第一通信协议端口的一个协处理器访问最大尺寸m字节字流量和来自另一个第一通信协议端口的一个协处理器访问最大尺寸m字节字流量,所述动态多路复用器适于允许两个多路复用的流量在流量仲裁算法的控制之下。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP10306455 | 2010-12-20 | ||
EP10306455.6 | 2010-12-20 | ||
PCT/EP2011/073254 WO2012084834A1 (en) | 2010-12-20 | 2011-12-19 | Connecting an external network coprocessor to a network processor packet parser |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103270490A CN103270490A (zh) | 2013-08-28 |
CN103270490B true CN103270490B (zh) | 2016-08-10 |
Family
ID=45373715
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180061053.9A Active CN103270490B (zh) | 2010-12-20 | 2011-12-19 | 网络处理器及其与外部网络协处理器连接的方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9215125B2 (zh) |
CN (1) | CN103270490B (zh) |
DE (1) | DE112011104443B4 (zh) |
GB (1) | GB2503123B (zh) |
TW (1) | TW201238307A (zh) |
WO (1) | WO2012084834A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10931329B2 (en) | 2016-12-29 | 2021-02-23 | Intel Corporation | High speed interconnect with channel extension |
CN107846420B (zh) * | 2017-12-20 | 2021-07-20 | 深圳市沃特沃德股份有限公司 | 与协处理器的通信匹配的方法和车载主系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1529963A (zh) * | 2001-03-05 | 2004-09-15 | �Ҵ���˾ | 高速网络处理器 |
US7428618B2 (en) * | 2001-05-15 | 2008-09-23 | Cloudshield Technologies, Inc. | Apparatus and method for interfacing with a high speed bi-directional network |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7085850B2 (en) * | 2001-08-22 | 2006-08-01 | International Business Machines Corporation | Stateless message processing scheme for network processors interactions |
US7720135B2 (en) * | 2002-11-07 | 2010-05-18 | Intel Corporation | System, method and device for autonegotiation |
US7305047B1 (en) * | 2003-03-12 | 2007-12-04 | Lattice Semiconductor Corporation | Automatic lane assignment for a receiver |
US20050010925A1 (en) * | 2003-07-10 | 2005-01-13 | Charbel Khawand | Interprocessor communication protocol with smart streaming port |
US7558890B1 (en) * | 2003-12-19 | 2009-07-07 | Applied Micro Circuits Corporation | Instruction set for programmable queuing |
US7606231B2 (en) | 2005-02-18 | 2009-10-20 | Broadcom Corporation | Pipeline architecture for a network device |
US7957294B2 (en) * | 2005-12-01 | 2011-06-07 | Electronics And Telecommunications Research Institute | PCI express packet filter including descrambler |
US7962182B2 (en) * | 2006-08-25 | 2011-06-14 | Qualcomm Incorporated | Method and apparatus for content delivery to devices |
US20080278508A1 (en) * | 2007-05-11 | 2008-11-13 | Swen Anderson | Architecture and Method for Remote Platform Control Management |
US20090080428A1 (en) | 2007-09-25 | 2009-03-26 | Maxxan Systems, Inc. | System and method for scalable switch fabric for computer network |
-
2011
- 2011-12-07 TW TW100145006A patent/TW201238307A/zh unknown
- 2011-12-19 GB GB1312922.6A patent/GB2503123B/en active Active
- 2011-12-19 US US13/884,664 patent/US9215125B2/en active Active
- 2011-12-19 WO PCT/EP2011/073254 patent/WO2012084834A1/en active Application Filing
- 2011-12-19 CN CN201180061053.9A patent/CN103270490B/zh active Active
- 2011-12-19 DE DE112011104443.7T patent/DE112011104443B4/de active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1529963A (zh) * | 2001-03-05 | 2004-09-15 | �Ҵ���˾ | 高速网络处理器 |
US7428618B2 (en) * | 2001-05-15 | 2008-09-23 | Cloudshield Technologies, Inc. | Apparatus and method for interfacing with a high speed bi-directional network |
Also Published As
Publication number | Publication date |
---|---|
GB201312922D0 (en) | 2013-09-04 |
TW201238307A (en) | 2012-09-16 |
GB2503123B (en) | 2017-12-20 |
DE112011104443B4 (de) | 2019-10-02 |
CN103270490A (zh) | 2013-08-28 |
GB2503123A (en) | 2013-12-18 |
US20130308653A1 (en) | 2013-11-21 |
DE112011104443T5 (de) | 2013-09-12 |
WO2012084834A1 (en) | 2012-06-28 |
US9215125B2 (en) | 2015-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8175095B2 (en) | Systems and methods for sending data packets between multiple FPGA devices | |
US7243182B2 (en) | Configurable high-speed serial links between components of a network device | |
JP2003508954A (ja) | ネットワーク・スイッチ及びコンポーネント及び操作方法 | |
JP2003508851A (ja) | ネットワーク・プロセッサ、メモリ構成及び方法 | |
JP2003508967A (ja) | ネットワーク・プロセッサ及び方法を用いるネットワーク・スイッチ | |
CN101383712A (zh) | 一种片上网络的路由节点微结构 | |
CN103530245B (zh) | 一种基于fpga的srio互联交换装置 | |
CN110535788B (zh) | 多协议控制器和多协议交换芯片 | |
US20140032731A1 (en) | Recursive, All-to-All Network Topologies | |
CN103270490B (zh) | 网络处理器及其与外部网络协处理器连接的方法 | |
US7206889B2 (en) | Systems and methods for enabling communications among devices in a multi-cache line size environment and disabling communications among devices of incompatible cache line sizes | |
US7568074B1 (en) | Time based data storage for shared network memory switch | |
CN106027397A (zh) | 一种星型拓展的分布式测量设备网络通信方法 | |
US7218638B2 (en) | Switch operation scheduling mechanism with concurrent connection and queue scheduling | |
US9461913B2 (en) | Method of data transmission in a system on chip | |
US8000322B2 (en) | Crossbar switch debugging | |
CN116383114A (zh) | 芯片、芯片互联系统、数据传输方法、电子设备和介质 | |
WO2019126740A1 (en) | An on-chip communication system for neural network processors | |
US7730276B1 (en) | Striping of data into memory of a network data switch to prevent read and write collisions | |
CN113490080A (zh) | 一种多端口fc交换主机及交换方法 | |
US7346010B2 (en) | Hybrid data bus for achieving deterministic performance for non-deterministic network bus type interfaces | |
US20020042854A1 (en) | Bus interconnect system | |
US20200220643A1 (en) | Multichip fault management | |
CN105117163A (zh) | 基于闪存的存储系统中的分布式raid架构 | |
CN115134311B (zh) | RapidIO端点控制器及端点设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |