CN101095308B - 用于队列级联和逻辑标识的系统分组接口分组交换的通信设备 - Google Patents

用于队列级联和逻辑标识的系统分组接口分组交换的通信设备 Download PDF

Info

Publication number
CN101095308B
CN101095308B CN2005800431069A CN200580043106A CN101095308B CN 101095308 B CN101095308 B CN 101095308B CN 2005800431069 A CN2005800431069 A CN 2005800431069A CN 200580043106 A CN200580043106 A CN 200580043106A CN 101095308 B CN101095308 B CN 101095308B
Authority
CN
China
Prior art keywords
interface
data
packet
spi
present
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
Application number
CN2005800431069A
Other languages
English (en)
Other versions
CN101095308A (zh
Inventor
王思兵
张晓倩
甘忠海
翟舒兵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Electronics America Inc
Original Assignee
Integrated Device Technology Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Integrated Device Technology Inc filed Critical Integrated Device Technology Inc
Publication of CN101095308A publication Critical patent/CN101095308A/zh
Application granted granted Critical
Publication of CN101095308B publication Critical patent/CN101095308B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/17Interaction among intermediate nodes, e.g. hop by hop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
    • H04L49/352Gigabit ethernet switching [GBPS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

系统分组接口分组交换装置包括一个或更多个系统分组接口(SPI),每个SPI具有输入和输出端口,其能够连接至一个或更多个设备并接收和发送数据;系统分组接口分组交换装置还包括一个或更多个缓冲区,其被连接以处理所述接收和发送数据,其中,自分段的存储器(图18)生成所述一个或更多个缓冲区。

Description

用于队列级联和逻辑标识的系统分组接口分组交换的通信设备
相关申请
本专利申请要求于2004年10月15日提交的题目为“Method andApparatus for generic interface,packet cut-through,overbooking,queueconcatenation,and logical identification priority for a System Packet Interfacedevice”美国临时申请序列号60/619234的优先权,在此并入作为参考。本专利申请要求于2005年10月14日提交的题目为“Method and Apparatus forgeneric interface,packet cut-through,overbooking,queue concatenation,andlogical identification priority for a System Packet Interface device”美国临时申请序列号11/250873的优先权,其与本申请具有相同的发明人,并在此并入作为参考。
技术领域
本发明涉及通信领域。特别是,本发明涉及关于系统分组接口(SystemPacket Interface,SPI)设备的通用接口、分组切入(packet cut-through)、超额预定、队列级联和逻辑标识优先权的方法和设备。
背景技术
通信与数据传输有关。经常需要处理数字格式的数据以获得有效的通信。数据的一个接口是具有各种级别的系统分组接口。例如,SPI第四级(SPI4,或SPI-4)是用于物理层(PHY)设备和链路层设备之间的分组和信元传输的系统分组接口。SPI-4能够处理在SONET/SDH(POS)上的OC-192 ATM和分组的合计带宽,以及10Gb/s的以太网应用。
正如最初由光互连论坛(Optical Internetworking Forum,OIF)规定的,SPI接口存在于物理层设备和保留的SONET/SDH系统之间,并将同步物理层从由较高层执行的基于分组的异步处理中分离。起初设计SPI-4在10G上执行,以支持ATM和POS应用的合计带宽要求。SPI-4已成为运行在10G带宽的多协议通信设备的通用标准,包括吉比特以太网(GigabitEthernet)和10吉比特以太网PHYs、交换结构接口电路(FIC)、NPU、安全处理器、存储处理器、流量管理、映像程序、成帧器、MAC和PHY。这样,SPI是通用接口,但由于高的带宽,存在困难的接口、分组时延,和溢出。这就提出了问题。
发明内容
本发明提供了一种系统分组接口(SPI)分组交换设备,其包括:一个或更多个系统分组接口(SPI),每个系统分组接口具有输入和输出端口,所述端口能够连接至一个或更多设备以及接收和发送数据;以及一个或更多缓冲区,其连接成处理所述接收和发送数据,其中所述一个或更多缓冲区自分段的存储器产生。
本发明还提供了一种设备,其包括:SPI分组交换设备,其具有一个或更多输入数据通道,以及其中,所述一个或更多输入数据通道中的一个或更多个被动态地反扭斜以相对于时钟使输入比特以及字对中。
本发明还提供了一种设备,其包括:SPI分组交换设备,其具有单片存储器,并具有高速收发机逻辑(HSTL)接口,所述高速收发机逻辑接口能够连接至一个或更多QDR II(QDR2)(四倍数据率版本2)存储器接口。
进一步地,其中,所述HSTL接口可以允许所述SPI分组交换设备单片存储器的扩展。
本发明还提供了一种设备,其包括:SPI分组交换设备,其具有能够连接至现场可编程门阵列(FPGA)设备的通用接口,其中,所述通用接口具有一个或更多管脚,所述一个或更多管脚能够传送从由输出数据、输出控制、输入数据、输入控制、输出时钟、输入时钟以及参考电压所组成的组中选择的实体。
本发明还提供了一种方法,其包括:在与具有开始信令的数据流相关的分组数据上操作,所述开始信令跟随以逻辑标识(LID)信令,所述逻辑标识(LID)信令跟随以结束信令。
进一步地,本发明所提供的方法还可包括包含多个数据分组的多个数据流,其中,所述多个数据分组可以是与所述多个数据流中的一个或更多个相关联的分组片段。
进一步地,其中,与一个或更多个所述多个数据流相关联的连续分组片段可以被交插。
进一步地,其中,所述交插的连续分组片段可由与所述多个数据流中的每个相关联的每个LID所标识。
本发明还提供了一种方法,其包括:将固定的最大数量的缓冲区分段分配至与数据流相关联的LID;以及基于从由极度缺乏、不足和充足所组成的组中选择的所述缓冲区分段的状态,产生背压信号。
本发明还提供了一种方法,其包括:将可变数量的缓冲区分段分配至与一个或更多数据流相关联的一个或更多LID;以及基于从由单个LID、一个或更多LID和所有LID所组成的组中选择的一个或更多实体的状态,产生背压信号。
进一步地,本发明所提供的方法还可包括:产生发给所有所述一个或更多数据流的背压信号。
进一步地,其中,所述分配可以是列队级联。
进一步地,本发明所提供的方法还可包括:基于从由所述更多LID中的一个、所述背压、所述集合背压、轮转、最近使用的、和基于优先权的方案所组成的组中选择的一个或更多的实体,调度所述一个或更多数据流。
本发明还提供了一种设备,其包括:一个或更多个通用接口,其位于SPI设备上;以及设置装置,其用于设置所述一个或更多通用接口中的每一个以与具有从由QDR II存储器接口,和具有输出数据、输出控制、输入数据、输入控制、输出时钟以及输入时钟的接口所组成的组中选择的接口的设备进行连接。
本发明还提供了一种设备,其包括:SPI设备,其能够处理一个或更多分组;以及设置装置,其用于设置所述SPI设备以从所述一个或多个分组以一方式传输数据,所述方式从由来自所述一个或更多个分组中的每个的按顺序的连续数据,和来自所述一个或更多个分组中的一个或更多个的交插的连续数据所组成的组中选择。
本发明还提供了一种设备,包括:SPI设备,其具有用于通信数据的一个或更多个接口;和分配装置,其用于基于所述通信数据来分配与所述SPI设备相关联的存储器。
本发明还提供了一种设备,包括:SPI设备,其具有用于通信数据的一个或更多个接口;和关联装置,其用于将逻辑标识(LID)与来自所述一个或更多个接口的所述通信数据相关联。
进一步地,其中所述通信数据可以是一个或更多个数据分组。
进一步地,本发明所提供的设备可进一步包括:使用装置,其用于使用所述LID以提供一个或更多个操作,所述操作从由分组模式、分组切入、超额预定、队列级联、基于LID的优先权、基于LID的调度和分组片段处理所组成的组中选择。
进一步地,其中所述分组切入可以是对每一逻辑端口。
附图说明
本发明通过例子来说明,且不限于所附的图形,其中:
图1说明了其中可以实现本发明的方法和设备的网络环境;
图2是其中可使用本发明的一些实施方式的计算机系统的框图;
图3说明了本发明的一个实施方式,在这里其被用于实现10Gbps的全双工服务卡;
图4说明了本发明的一个实施方式,其更详细地显示了辅助接口;
图5说明了本发明的一个实施方式,在这里其被用于实现高密度以太网线路卡;
图6说明了本发明的一个实施方式,在这里其被用于实现NPU的可选择的以太网I/O(输入/输出)选项;
图7说明了本发明的一个实施方式,其更详细地显示了辅助接口;
图8说明了本发明的一个实施方式,其更详细地显示了通用模式辅助接口;
图9说明了本发明的一个实施方式,其显示了传输形成;
图10说明了本发明的一个实施方式,其显示了两个传输,展示了传输开销;
图11以框图形式说明了本发明接口的一个实施方式;
图12说明了本发明的一个实施方式,其显示了每个链路状态字的格式;
图13说明了本发明的一个实施方式,其显示了不同数据路径模式;
图14以框图形式说明了本发明的一个实施方式;
图15说明了对于极度缺乏(starving)、不足(hungry)和充足(satisfied)的阈值的状态生成的实施方式;
图16以框图形式说明了队列级联的4个PFP;
图17说明了本发明的一个实施方式,其显示了LID优先权;以及
图18以框图形式说明了本发明的一个实施方式。
具体实施方式
本发明包含在SPI-4设备的一个实施方式中,其可用于分组处理的多种流量控制应用。这些设备也可称为流量控制管理(FCM)设备。这样的一个FCM是分组交换设备。
分组交换设备解决了在基于Core/Metro/Edge网络互联市场大量的互联问题。例如,在一个实施例中,综合的解决方式支持10Gbps分组处理,并为逻辑端口密度和缓冲能力提供广泛的选项,范围从低等待时间的SPI-4到SPI-4交换开始,通过复杂的流量控制设计,其需要SPI-4数据的超额预定和集合。
在本发明的一个实施例中,合并3个SPI-4端口,分组交换产品便于在高灵活性的多点连接方案中使用点到点的SPI-4接口。该实施例能够无缝连接(seamlessly connect)多重SPI-4网络硬件元件,如网络处理器单元(NPU)、联合处理器、流量管理器、多吉比特成帧器和物理接口(PHY)、以及交换结构接口(switch fabric interface)设备。在一个实施例中,SPI-4分组交换设备允许两个SPI-4接口的16个或更多个逻辑接口在第三个SPI-4中合并。
在本发明的一个实施例中,其可用于下述的应用中的聚合和数据交换,在所述应用中,所附的SPI-4设备中的少于16个的信道,快速背压(backpressure)响应和足够的缓冲区是可用的。在本发明的另一个实施例中,其可用于将两个24-端口10/100/1000以太网MAC连接到单个的SPI-4NPU。在另一个实施方式中,当由于流量中包含了“特大(jumbo)”以太网帧而需要额外的缓冲和分组处理时,其可被使用。在本发明的一个实施方式中,其很适合连接到下述设备,所述设备由于长的内部流水线而具有慢的背压响应,趋于产生大量的飞行(in-flight)分组。
在本发明的一个实施方式中,提供了要求应用的灵活性和选项。例如,可使用高逻辑端口计数或大的数据缓冲区,需要所述高逻辑端口计数或大的数据缓冲区来处理在很多系统构架中使用的更复杂的数据聚合技术。通过帮助调整端到端通信量,这可以作为处理单元帮助NPU,其中,SPI-4系统背压产生“突发”数据,其能够干扰流控机制的正确操作。
在本发明的一个实施方式中,容许大范围的逻辑端口数据率的背压方案是可能的。在一个实施例中,通过由分段的存储器产生的大型有效缓冲区的帮助,完成背压方案。这允许更快的响应时间和更低的内部等待时间,并提供对由临近设备中的数据和流控流水线导致的大的外部时延的吸收,所述临近设备诸如分组转发装置和PHY设备。缓冲能力吸收了典型的飞行数据突发,并防止信息丢失,长的流控响应时间可导致所述信息丢失。此背压方案也帮助降低在数据路径中的点的极度缺乏周期和拥塞频率,带来更高效的分组数据流。
在一个实施方式中,SPI-4分组交换设备提供了大量的特性,包括在宽频域范围上执行SPI-4输入数据信道和SPI-4输出状态信道的自动的动态的抗扭斜的能力。该特性相对于时钟对中(center)输入比特和字,而无需用户干涉。
在本发明的一个实施方式中,SPI-4分组交换设备为QDRII(QDR2)(四倍数据率版本2,quad data rate version 2)存储器或对ASIC(专用集成电路)或FPGA(现场可编程门阵列)的HSTL逻辑分组接口提供高速收发器逻辑接口,因而允许在应用中的单片存储器(on-chip memory)的扩展,其要求额外的缓冲并至定制的逻辑的连接。
在另一个实施例中,实现了一套诊别计数器和误差模拟装置,其减轻了现有的诊别以及自动系统初始化操作。
在本发明的一个实施方式中,设备具有3个SPI-4端口,支持128个逻辑端口,并且对于每个输入至输出具有128K的分组缓冲区。在本发明的另一个实施方式中,设备具有3个SPI-4端口,支持64个逻辑端口,并且对于每个输入至输出具有64K的分组缓冲区。在本发明的再一个实施方式中,设备具有3个SPI-4端口,支持32个逻辑端口,并且对于每个输入至输出具有32K的分组缓冲区。
图3说明了本发明的一个实施例,其用于实施10Gbps全双工服务卡。这里,SPI分组交换设备具有3个SPI4.2数据流:302、306连接至NPU308,310连接至NPU312。辅助10Gbps接口314通向流量管理器FPGA 316,其连接至交换结构318。
图4说明了本发明的一个实施方式400,其更详细地显示了辅助接口。这里详细说明了显示信号的通用10Gbps接口402。显示了通用10Gbps接口402连接至FPGA,其负载了代码,如需要,跨接至其它接口,如控制平面或交换结构。辅助接口支持传输格式和流量控制。在一个实施方式中,连接至辅助接口的代码对于客户FPGA方的实施是可用的。在一个实施方式中,接口支持达200MHz的DDR时钟操作。
图5说明了本发明的一个实施方式,在这里其被用于实现高密度以太网线路卡500。这里SPI分组交换设备510具有3个SPI4.2数据流:502和506分别连接至24端口以太网MAC或聚合器504和508,512连接至NPU514。QDRII接口516通向QDRII SRAM(静态随机存取存储器)518。
图6说明了本发明的一个实施方式,在这里其被用于实现NPU的可选择的以太网I/O(输入/输出)选项600。这里SPI分组交换设备610具有3个SPI4.2数据流:602连接至10×吉比特以太网MAC或聚合器604,606连接至10吉比特以太网MAC或聚合器608,而612连接至NPU614。QDRII接口616通向QDRII SRAM(静态随机存取存储器)618。
图7示出了发明700的一个实施例,该发明700示出了辅助接口的更多的细节。在702,信号被详细列出。QDRII接口模式可以连接至具有36bit数据总线的18Mbit的QDRII SRAM。在一个实施例中,这使得管理在全双工10Gbps的接口速率时在QDR-II SRAM中达到64个的独立队列,并且具有每队列流量控制。
图8示出了发明800的一个实施例,该发明800示出了通用模式辅助接口的更多细节。在802,信号被详细列出。通用接口设计成轻松地连接至FPGA。输入和输出可以作为一对使用。输入流量控制消息在输出信道上传输。输出流量控制消息在输入信道上传输。流量控制机制既提供了每链路级流量控制也提供了接口级流量控制。
信号定义为:
  信号名称   I/O   说明
  EDAT[31:0]   O   HSTL   输出数据
  ECTL[3:0]   O   HSTL   输出控制
  IDAT[31:0]   I   HSTL   输入数据
  ICTL[3:0]   I   HSTL   输入控制
  PECLK   O   HSTL   外部时钟信号
  NECLK   O   HSTL   外部时钟信号
  PICLK   I   HSTL   内部时钟信号
  NICLK   I   HSTL   内部时钟信号
  Vref   I   A   参考电压
在一个实施例中,通用接口传输格式如下。格式被定义以映射传输格式中的1-256字节。接口具有32bit宽数据总线和4bit宽控制总线。4bit宽控制总线承载控制信息,而32bit数据总线承载传输数据。最小的传输长度是2个字(1字等于1个数据周期(datacycle))。传输的第二个字承载LID信息。LID[5:0]被映射进第一字节的B[5:0]中。第一传输的控制字段(control field)是SOP或者SOT。在图9中示出了传输信息的一个实例。
对控制字段进行编码以表明数据字的类型。在一个实施例中,编码如下:
  {ctrl[1],ctrl[0]}   说明
  00000000   EOP 1B没有错误标签
  00000001   EOP 2B没有错误标签
  00000010   EOP 3B没有错误标签
  00000011   EOP 4B没有错误标签
  00000100   EOP 5B没有错误标签
  00000101   EOP 6B没有错误标签
  00000110   EOP 7B没有错误标签
  00000111   EOP 8B没有错误标签
  00001000   EOP 1B具有错误标签
  00001001   EOP 2B具有错误标签
  00001010   EOP 3B具有错误标签
  00001011   EOP 4B具有错误标签
  00001100   EOP 5B具有错误标签
  00001101   EOP 6B具有错误标签
  00001110   EOP 7B具有错误标签
  00001111   EOP 8B具有错误标签
  00010000   SOP
  00010001   SOT
  00010010   EOT
  00010011   正常数据,相配的接收方准备好
  00010100   正常数据,相配的接收方满
  00010101   状态字,相配的接收方准备好
  00010110   状态字,相配的接收方满
  00010111-1111111  1   保留的
图10示出了本发明的一个实施例,该实施例示出了表明传输开销的两个传输1000。在1002中是1-8字节的短传输,而在1004中是正常传输。
图11以结构图形式示出了1100中的本发明接口的一个实施例。在该实施例中,接口如下操作。输出产生传输格式和本地状态信息。输入丢弃传输格式和其他的结束状态信息。
输入过程如下。通过对控制字段进行解码而对输入接口的每个字进行分类。忽略保留的控制字段。从传输的第一字中提取LID,随之的有效荷载属于该LID。直到接收到有效状态字,输入才会发送数据。
输出过程如下。输出产生传输格式。传输跳转至接口,链路级状态字能中断传输。代码的一个示例是:
If(接收了接口级背压){发送状态字}
Else{
If(状态字请求){
       发送状态字}
Else if(存在传输发送){
       发送传输}
Else{发送状态字}
}
应该从请求中以8周期发送状态字。接收的接口级状态控制接口的流量。接口级背压会在不多于8周期中暂停传输。在模块未启动时,其应该发送具有接口和每链路背压(都背压)的状态字。
图12示出了本发明的一个实施例,该实施例示出了每链路状态字格式。该接口级状态在如上所示的控制字段中承载。链路级状态在状态字中承载。
接口级状态基于输入锁定器(locker)而产生。如果2个或更多的锁定器是满的,那么就产生接口级背压。监控来自PFP(分组分割处理器,packetfragment processor)的链路级状态。如果任何使用的LID(逻辑标识)状态改变,那么产生关联的状态字和发送请求。如果多状态改变的LID封装在相同状态字中,那么产生一个状态字。
状态终止如下。接口级状态被发送至输出。链路级状态被发送至PFP。
图13示出了本发明的一个实施例,该实施例示出各种数据路径模式1300。在1302是示出的与数据流Y和Y分组片段有关的分组。在1304是示出的与数据流Z和Z分组片段有关的分组。在1306是示出的切入模式(cut-through mode)(还称为“cutthrough”或者“cut through”)中的数据路径。在1308是示出的分组模式中的数据头(data pate)。在切入模式中,数据路径承载连续的分组片段(与各种逻辑数据流关联)1306。在分组模式中,连续的分组片段与同样的逻辑数据流1308关联。在切入模式中,连续的分组片段可以通过数据路径指定至不同的LID或者源自不同的LID,并且分组的片段可以进行交插(interleave)。例如1306,分组Y的片段可以与分组Z的片段进行交插。在分组模式中,连续的分组片段通过数据路径指向一个LID或者源自一个LID,并且分组的片段不与连续的分组片段进行交插。例如1308,分组Y的片段不与分组Z的片段进行交插。
图14以结构图形式示出了本发明的一个实施例。
在本发明的一个实施例中,分组和切入模式都被PFP(分组片段处理器)中可编程基础所支持。在切入模式中,单元是一个传输。在分组模式中,单元是一个分组。在本发明的一个实施例中,PFP可以处理分组模式和切入模式中的每个链接。在本发明的另一实施例中,在每个逻辑端口基础上分组模式或者切入模式都是可控制的。在本发明的一个实施例中,每SPI4接口切入突发长度是可编程的。
在本发明的一个实施例中,对于操作的非超额预定模式和超额预定模式都提供支持。在非超额预定模式中,一个LID可以占据的最大数量的缓冲区分段受到可编程缓冲区分段分配列表的限制。如果存在更多的数据且用尽了分配的分段,那么每LID溢出就会发生。在那时,背压产生。图15示出了极度缺乏、不足和充足阈值的状态产生的一个实施例。基于缓冲区填充级和每个的可编程阈值,产生三种状态级。注意,如果自由分段>极度缺乏阈值,那么状态=极度缺乏。如果自由分段>不足阈值,并自由分段<=极度缺乏阈值,那么状态=不足。如果自由分段<=不足阈值,那么状态=充足。注意,自由分段等于分配给该LID的未使用的分段。
在超额预定模式中,每个LID和整体缓冲区的背压的阈值是可以配置的。在超额预定模式中,每LID缓冲区和整体缓冲区填充级都影响背压的状态产生。如果缓冲区轮询(poll)的自由分段<=缓冲区管理配置寄存器设定的阈值,那么将所有的LID的状态设置为充足。在一个实施例中,“溢出”被路由至另一未满的缓冲区。背压信号接着是一个“聚合”信号,直到所有充满被以信号告知或者缓冲区完全溢出存储器,才发布该信号。在本发明的一个实施例中,在达到缓冲区充满条件时,背压施加至所有信道。
在本发明的另一实施例中,超额预定模式的背压处于“缓冲区满”条件中,“缓冲区满”条件存在于存储器被用尽至“充足”阈值,该“充足”阈值是一种预定的或者动态调整的阈值,使得自由存储器(除了用于缓冲区的)是仍旧可用,以满足其中未完成的流量控制信用请求等。
在本发明的一个实施例中,支持队列级联(queue concatenation)。图16以结构图形式示出了四个PFP(PFP1 1602、PFP2 1604、PFP3 1606和PFP4 1608),每个具有64队列信号(QIxx和相关联的QOyy)。在一个实施例中,队列可以作为链接列表排列而实施。为了阐释的目的,队列输入QIxx和队列输出QOyy分离地显示。在队列级联中,可以将任何队列输出路由至任何队列输入,因而扩展了队列。这样可以辅助不对称带宽的情况。例如,为了扩展PFP1队列1的长度,可以将输出QO01路由至PFP2队列1的输入(QI01)。将此连接标识为PFP1.QO01至PFP2.QI01。作为结果的队列将是从PFP1.QI01至PFP2.QO01。
为了扩展长度,另一实施例是PFP1.QO02至PFP4.QI34,接着是PFP4.QO34至PFP3.QI13,然后是PFP3.QO13至PFP1.QI47,接着是PFP1.QO47至PFP2.QI21。那么“作为结果的”队列将是自PFP1.QI02至PFP2.QO21。如果每个PFP中的队列长度相等,则作为结果的PFP1.QI02至PFP2.QO21队列的长度将等于PFP1.QI02至PFP1.QO02(即PFP1的队列2)的长度的5倍。
图17示出显示LID优先权1700的本发明的一个实施例。在1702是一个设备,其通过链接1704在每个端口发送状态如极度缺乏、不足和充足以阻止1706并进入调度程序1708,1708在本例中有3个逻辑端口LID0、LID1和LID2作为输入。在本发明的另一实施例中是64个LID。由调度程序给每个LID使用的二级优先权。用这种方式,调度程序可使用用于基于本地的优先权的轮转(round robin)。例如,假设优先权A高于优先权B。设想LID0有B优先权而LID1和LID2每个都处于优先权A。调度程序1708然后前进以在LID0之前调度LID1和LID2。当LID1和LID2完成时,调度程序1708接着处理LID0。
在本发明的一个实施例中,有一个定义与每个LID相关联的2级优先权的输出服务器,以及在轮转中提供相同优先权的队列。
图18示出以框图1800形式的本发明的一个实施例。
因此描述了用于系统分组接口设备的通用接口、分组切入、超额预定、队列级联和逻辑标识优先权的方法和装置。
图1示出可应用所描述的技术的网络环境100。网络环境100具有网络102,其连接S个服务器104-1至104-S以及C个客户机108-1至108-C。在下面描述更多的细节。
图2是计算机系统200的框图,其中本发明的一些实施例可被使用并可表示在图1所示任何客户机和/或服务器以及其它图中的设备、客户机和服务器中的使用。以下描述更多的细节。
回来参考图1,图1示出可应用所述技术的网络环境100。网络环境100具有网络102,其连接S个服务器104-1至104-S以及C个客户机108-1至108-C。如所示的,以S个服务器104-1至104-S和C个客户机108-1至108-C的形式的几个计算机系统通过网络102彼此相互连接,例如网络102可为基于企业的网络。注意,可选地,网络102可为或包括下列的一个或更多个:互联网、局域网(LAN)、广域网(WAN)、卫星链接、光纤网络、电缆网络或这些和/或其它网络的组合。例如服务器可表示独立的磁盘存储系统或存储和计算资源。同样地,客户机可具有计算、存储和查看性能。这里描述的方法和设备可主要应用到任何类型的本地或远程的视觉通信工具或设备,如LAN、WAN、系统总线等。因此,本发明可应用在S个服务器104-1至104-S和C个客户机108-1至108-C。
回来参考图2,图2示出以框图形式的计算机系统200,其可表示图1所示的任何客户机和/或服务器。该框图是高水平概念上的表示并可以以多种方法和通过多种体系结构实施。总线系统202与中央处理单元(CPU)204、只读存储器(ROM)206、随机存储器(RAM)208、存储器210、显示器220、音频222、键盘224、指示器226、混合输入/输出(I/O)设备228和通信系统230互连。例如,总线系统220可为如系统总线、外设部件互连(PCI)、高级图形端口(AGP)、小型计算机系统接口(SCSI)、电气与电子工程师学会(IEEE)标准号1394(FireWire)、通用串行总线(USB)等的这样的总线的一个或更多个。CPU204可为单个的、多个的或甚至分布的计算资源。存储器210可为压缩光盘(Compact Disc,CD)、数字通用光盘(Digital Versatile Disk,DVD)、硬盘(HD)、光盘(optical disk)、磁带、闪存、记忆棒、视频记录器等。例如显示器220可为本发明的一个实施例。注意,由于依赖于计算机系统的实际实施,计算机系统可包括框图中的一些、全部、多个或重新配置的组件。例如,简化的客户机可由缺乏如传统键盘的无线手持设备构成。因此,对图2的系统的很多变形是可能的。
为了讨论和理解本发明,应理解,本领域技术人员使用各种术语来描述技术和方法。此外,在描述中,为解释起见,很多具体细节被阐明以便提供对本发明的彻底理解。然而很明显,对本领域一个普通技术人员来讲,没有这些具体细节也可实现本发明。在一些例子中,以框图形式而不是详细地显示公知的结构和设备,以避免干扰本发明的描述。这些实施例被充分详细地描述以使本领域普通技术人员能实现本发明,且应理解,也可使用其他实施例,且可进行逻辑的、机械的、电的和其它变化而不偏离本发明的范围。
本说明书的一些部分可通过算法和对如计算机存储器内的数据比特操作的符号表示来介绍。这些算法的描述和表示是数据处理技术领域中普通技术人员使用来以最有效地传播其工作的实质给本领域其它普通技术人员的方式。通常,算法在这里设想为产生期望的结果的一系列自相容的动作。该动作是需要物理量的物理操作的。通常,虽然不是必须,这些量采取电或磁信号的形式,该信号能够被储存、传输、合并和以其他方式处理。主要因为共同使用的缘故,将这些信号用来指代比特、值、元件、符号、字符、术语、数字等等有时证明是方便的。
然而应该记住,所有这些及类似的术语应与适当的物理量联系且只是应用于这些量的方便的符号。除非特别说明,否则从本讨论明显可见,应认识到,贯穿本说明书,使用术语如“处理”或“计算”或“演算”或“确定”或“显示”等等的讨论可指计算机系统或类似的电子计算设备的动作和过程,其将表示为计算机系统寄存器和存储器内的物理量的数据操作和转换成类似地表示为计算机系统存储器或寄存器或其它这样的信息存储、传输或显示设备内的物理量的其它数据。
用于执行这里的操作的装置可实现本发明。该装置可为了所要求的目的被特别构造,或可包括通用计算机,其由储存在计算机中的计算机程序选择性地启动或重新配置。这样的计算机程序可储存在计算机可读存储介质中,例如但不限于任何类型的盘,包括软盘、硬盘、光盘、压缩光盘-只读存储器(CD-ROM)和磁光盘、只读存储器(ROM)、随机存储器(RAM)、电子可编程只读存储器(EPROM)、电子可擦可编程只读存储器(EEPROM)、闪存、磁卡或光卡等等,或适于储存计算机本地或远程的电子指令的任何类型的介质。
这里介绍的算法和显示不固有地涉及任何特定的计算机或其它装置。可使用具有根据这里讲授的程序的各种通用系统,或构造更多专用装置以执行所要求的方法可证明是方便的。例如,根据本发明的任何方法通过给通用处理器编程或通过硬件和软件的任何结合可在硬件电路中实施。本领域的一个技术人员应立刻认识到,本发明可用所描述的计算机系统配置以外的计算机系统配置来实行,包括手持设备、多处理器系统、基于微处理器或可编程的消费电子器件、数字信号处理(DSP)设备、机顶盒、网络PC、小型计算机、大型计算机等等。本发明也可在分布式计算系统中实行,其中由通过通信网络链接的远程处理设备执行任务。
可使用计算机软件实现本发明的方法。如果用符合公认标准的程序设计语言编写,设计为实现该方法的指令序列可被编译以用于在多种硬件平台上执行和用于多种操作系统的接口。此外,本发明没有根据任何特定的程序设计语言来描述。应认识到,很多程序设计语言可用于实现这里所述的本发明的讲授。而且,本领域通常以一种或另一种形式(如程序、进程、应用程序、驱动程序...)将软件说成采取动作或引起结果。这样的表达只是简略的表达方法,其说明计算机对软件的执行导致计算机的处理器执行动作或产生结果。
应理解,本领域技术人员使用很多术语和技术来描述通信、协议、应用程序、实施、机制等。一个这样的技术是根据算法或数学表达实施技术的描述。即,例如,虽然技术可被实施为在计算机上执行的代码,而该技术的表达可更适宜和简洁地以公式、算法或数学表达被传播和交换。因此,本领域普通技术人员应认识到,将A+B=C表示为加法函数的块,其在硬件和/或软件中的实施应采用两个输入(A和B)并产生一个和的输出(C)。因此,如描述,公式、算法或数学表达的使用应理解为在至少硬件和/或软件中具有物理实施(如计算机系统,其中本发明的技术可被实行以及被实现为一个实施)。
机器可读介质应理解为包括以机器(如计算机)可读的形式储存或传输信息的任何机制。例如,机器可读介质包括只读存储器(ROM)、随机存储器(RAM)、磁盘存储介质、光存储介质、闪存设备、电、光、声或其它形式的传播信号(如载波、红外信号、数字信号等)等等。
正如本说明书中使用的,“一个实施例”或“一实施例”或类似的措词表示所描述的特征包括在本发明的至少一个实施例中。提到本说明书中的“一个实施例”不一定指相同的实施例;然而,这样的实施例不相互排斥。“一个实施例”也不意味着本发明的仅仅单个的实施例。例如,在“一个实施例”中描述的特征、结构、动作等也可包括在其他实施例中。因而,本发明可包括这里描述的实施例的多种组合和/或集成。
因此,描述了用于系统分组接口设备的通用接口、分组切入、超额预定、队列级联和逻辑标识优先权的方法和装置。

Claims (1)

1.一种通信设备,其包括:
系统分组接口SPI分组交换设备,其具有一个或更多个输入数据通道,以及其中,所述一个或更多个输入数据通道中的一个或更多个被动态地反扭斜以相对于时钟使输入比特以及字对中。
CN2005800431069A 2004-10-15 2005-10-15 用于队列级联和逻辑标识的系统分组接口分组交换的通信设备 Active CN101095308B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US61923404P 2004-10-15 2004-10-15
US60/619,234 2004-10-15
US11/250,873 US7573896B2 (en) 2004-10-15 2005-10-14 Method and apparatus for generic interface, packet cut-through, overbooking, queue concatenation, and logical identification priority for a system packet interface device
US11/250,873 2005-10-14
PCT/US2005/037134 WO2006044726A2 (en) 2004-10-15 2005-10-15 System packet interface packet exchange for queue concatenation and logical identification

Publications (2)

Publication Number Publication Date
CN101095308A CN101095308A (zh) 2007-12-26
CN101095308B true CN101095308B (zh) 2010-09-29

Family

ID=36180654

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005800431069A Active CN101095308B (zh) 2004-10-15 2005-10-15 用于队列级联和逻辑标识的系统分组接口分组交换的通信设备

Country Status (3)

Country Link
US (5) US7573896B2 (zh)
CN (1) CN101095308B (zh)
WO (1) WO2006044726A2 (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7551645B2 (en) * 2003-01-31 2009-06-23 Broadcom Corporation Apparatus and method to receive and align incoming data including SPI data in a buffer to expand data width by utilizing a single read port and single write port memory device
US7701957B1 (en) * 2004-01-20 2010-04-20 Integrated Device Technology, Inc. Method and apparatus for switching, merging, and demerging data between data communication locations
US7760859B2 (en) 2005-03-07 2010-07-20 Net Optics, Inc. Intelligent communications network tap port aggregator
US8094576B2 (en) 2007-08-07 2012-01-10 Net Optic, Inc. Integrated switch tap arrangement with visual display arrangement and methods thereof
US7903576B2 (en) * 2007-08-07 2011-03-08 Net Optics, Inc. Methods and arrangement for utilization rate display
US7898984B2 (en) * 2007-08-07 2011-03-01 Net Optics, Inc. Enhanced communication network tap port aggregator arrangement and methods thereof
US7773529B2 (en) 2007-12-27 2010-08-10 Net Optic, Inc. Director device and methods thereof
US8184651B2 (en) * 2008-04-09 2012-05-22 Altera Corporation PLD architecture optimized for 10G Ethernet physical layer solution
US7970563B2 (en) * 2008-05-19 2011-06-28 Asoka Usa Corporation Testing apparatus and method for signal strength of powerline networks
DE102009033756A1 (de) * 2009-07-17 2011-01-20 Rolls-Royce Deutschland Ltd & Co Kg Axialverdichter, insbesondere für eine Fluggasturbine
US9813448B2 (en) 2010-02-26 2017-11-07 Ixia Secured network arrangement and methods thereof
US9749261B2 (en) 2010-02-28 2017-08-29 Ixia Arrangements and methods for minimizing delay in high-speed taps
US8711697B1 (en) * 2011-06-22 2014-04-29 Marvell International Ltd. Method and apparatus for prioritizing data transfer
US9565137B2 (en) * 2012-04-26 2017-02-07 Nxp Usa, Inc. Cut-through forwarding module and a method of receiving and transmitting data frames in a cut-through forwarding mode
WO2014006448A1 (en) * 2012-07-03 2014-01-09 Freescale Semiconductor, Inc. Cut through packet forwarding device
CN105193442B (zh) 2015-09-17 2018-12-25 沈阳东软医疗系统有限公司 一种pet扫描时间的确定方法和装置
CN107404446A (zh) * 2016-05-19 2017-11-28 中兴通讯股份有限公司 一种处理分片报文的方法及装置
CN108234360A (zh) * 2016-12-14 2018-06-29 中国航空工业集团公司西安航空计算技术研究所 一种抗阻塞fc交换机级联端口实现与方法
IT201700057287A1 (it) * 2017-05-26 2018-11-26 St Microelectronics Srl Procedimento per gestire schede a circuito integrato, scheda ed apparecchiatura corrispondenti
TWI792981B (zh) * 2022-04-15 2023-02-11 國立陽明交通大學 流量控制方法

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978359A (en) * 1995-07-19 1999-11-02 Fujitsu Network Communications, Inc. Allocated and dynamic switch flow control
US5991295A (en) * 1995-10-10 1999-11-23 Madge Networks Limited Digital switch
JPH09307581A (ja) * 1996-05-16 1997-11-28 Oki Electric Ind Co Ltd ブリッジ装置
JPH1023023A (ja) * 1996-07-03 1998-01-23 Sony Corp 交換装置およびその方法
JPH1198183A (ja) * 1997-09-17 1999-04-09 Toshiba Corp 中継装置
US6233243B1 (en) * 1997-11-24 2001-05-15 Ascend Communications, Inc. Method and apparatus for performing cut-through virtual circuit merging
US6144668A (en) * 1997-11-26 2000-11-07 International Business Machines Corporation Simultaneous cut through and store-and-forward frame support in a network device
US7382736B2 (en) * 1999-01-12 2008-06-03 Mcdata Corporation Method for scoring queued frames for selective transmission through a switch
US6876668B1 (en) * 1999-05-24 2005-04-05 Cisco Technology, Inc. Apparatus and methods for dynamic bandwidth allocation
US6859435B1 (en) * 1999-10-13 2005-02-22 Lucent Technologies Inc. Prevention of deadlocks and livelocks in lossless, backpressured packet networks
US7457313B2 (en) * 2000-09-25 2008-11-25 General Instrument Corporation Hierarchical prioritized round robin (HPRR) scheduling
US6975638B1 (en) * 2000-10-13 2005-12-13 Force10 Networks, Inc. Interleaved weighted fair queuing mechanism and system
US7046681B2 (en) * 2000-11-29 2006-05-16 Raza Microelectronics, Inc. Network switch for routing network traffic
US20020118692A1 (en) * 2001-01-04 2002-08-29 Oberman Stuart F. Ensuring proper packet ordering in a cut-through and early-forwarding network switch
US6944171B2 (en) * 2001-03-12 2005-09-13 Switchcore, Ab Scheduler method and device in a switch
US20020141427A1 (en) * 2001-03-29 2002-10-03 Mcalpine Gary L. Method and apparatus for a traffic optimizing multi-stage switch fabric network
US6901052B2 (en) * 2001-05-04 2005-05-31 Slt Logic Llc System and method for policing multiple data flows and multi-protocol data flows
US7286487B2 (en) * 2002-11-18 2007-10-23 Infinera Corporation Optical transmission network with asynchronous mapping and demapping and digital wrapper frame for the same
US7317683B2 (en) * 2001-11-01 2008-01-08 International Business Machines Corporation Weighted fair queue serving plural output ports
US7457297B2 (en) * 2001-11-16 2008-11-25 Enterasys Networks, Inc. Methods and apparatus for differentiated services over a packet-based network
US7301906B2 (en) * 2001-12-17 2007-11-27 Lsi Corporation Methods and structures for improved buffer management and dynamic adaption of flow control status in high-speed communication networks
US7092360B2 (en) * 2001-12-28 2006-08-15 Tropic Networks Inc. Monitor, system and method for monitoring performance of a scheduler
US7046687B1 (en) * 2002-01-16 2006-05-16 Tau Networks Configurable virtual output queues in a scalable switching system
US7158510B1 (en) * 2002-02-14 2007-01-02 Alcatel Look-up table arbitration system and method for a fast switching element
US6954466B1 (en) * 2002-03-05 2005-10-11 Modelware, Inc. Link-layer receiver
US7352766B2 (en) * 2002-03-12 2008-04-01 Alcatel Lucent High-speed memory having a modular structure
US7177311B1 (en) * 2002-06-04 2007-02-13 Fortinet, Inc. System and method for routing traffic through a virtual router-based network switch
US7251219B2 (en) * 2002-07-03 2007-07-31 Intel Corporation Method and apparatus to communicate flow control information in a duplex network processor system
US20040085904A1 (en) * 2002-10-31 2004-05-06 Bordogna Mark A. Method for flow control of packets aggregated from multiple logical ports over a transport link
US7573876B2 (en) * 2002-12-05 2009-08-11 Intel Corporation Interconnecting network processors with heterogeneous fabrics
US7408878B2 (en) * 2003-06-10 2008-08-05 Cisco Technology, Inc. System packet interface
US7342881B2 (en) * 2003-06-20 2008-03-11 Alcatel Backpressure history mechanism in flow control
KR100500515B1 (ko) * 2003-06-30 2005-07-14 삼성전자주식회사 패킷 플로 제어 장치 및 방법
US7580355B2 (en) * 2003-08-25 2009-08-25 Integrated Device Technology, Inc. Method of performing weighted round-robin queue scheduling using a dynamic link list and structure for implementing same
US7391787B1 (en) * 2003-09-11 2008-06-24 Pmc-Sierra, Inc. System and method for opportunistic request-grant switching
US7093037B2 (en) * 2003-09-22 2006-08-15 Emulex Design & Manufacturing Corporation Generalized queue and specialized register configuration for coordinating communications between tightly coupled processors
US7657706B2 (en) * 2003-12-18 2010-02-02 Cisco Technology, Inc. High speed memory and input/output processor subsystem for efficiently allocating and using high-speed memory and slower-speed memory
US7558890B1 (en) * 2003-12-19 2009-07-07 Applied Micro Circuits Corporation Instruction set for programmable queuing
US7324541B2 (en) * 2003-12-22 2008-01-29 Intel Corporation Switching device utilizing internal priority assignments
US7426215B2 (en) * 2004-04-06 2008-09-16 Intel Corporation Method and apparatus for scheduling packets
US20060039284A1 (en) * 2004-04-12 2006-02-23 Integrated Device Technology, Inc. Method and apparatus for processing a complete burst of data
US7606158B2 (en) * 2004-09-24 2009-10-20 Cisco Technology, Inc. Hierarchical flow control for router ATM interfaces
US20070127513A1 (en) * 2005-12-06 2007-06-07 Ramesh Sudini Starvation reduction in TCP/IP applications

Also Published As

Publication number Publication date
US7505468B1 (en) 2009-03-17
CN101095308A (zh) 2007-12-26
US8036216B1 (en) 2011-10-11
WO2006044726A2 (en) 2006-04-27
US7636367B1 (en) 2009-12-22
WO2006044726A3 (en) 2006-06-08
US7573896B2 (en) 2009-08-11
US8064472B1 (en) 2011-11-22
US20060083185A1 (en) 2006-04-20

Similar Documents

Publication Publication Date Title
CN101095308B (zh) 用于队列级联和逻辑标识的系统分组接口分组交换的通信设备
US11601359B2 (en) Resilient network communication using selective multipath packet flow spraying
US9231860B2 (en) System and method for hierarchical link aggregation
JP4903815B2 (ja) 通信ネットワークを通じたトラフィック分配を向上させる方法およびシステム
WO2017070851A1 (en) Channelization for flexible ethernet
Lee Cloud networking: Understanding cloud-based data center networks
CN104050136A (zh) 用于改进与硬件驱动的算法的均衡的装置、系统、以及方法
US7236488B1 (en) Intelligent routing switching system
CN109857690A (zh) 驱动器的应用系统、驱动器和数据传输方法
JP2003508957A (ja) ネットワーク・プロセッサ処理コンプレックス及び方法
CN104660462B (zh) 一种万兆以太网测试设备的组包系统
US20050172058A1 (en) Multi-protocol bus system and method of operation thereof
US20120163392A1 (en) Packet processing apparatus and method
WO2020142867A1 (zh) 一种流量整形方法及相关设备
CN103548303A (zh) 网络业务调度器和相关联的方法、计算机程序和计算机程序产品
CN109951750A (zh) 基于FlexE一层交叉架构的数据处理方法及系统
US9282041B2 (en) Congestion profiling of computer network devices
CN102845042A (zh) 一种应用层多个活动物理接口的带宽聚集系统及方法
US10079769B1 (en) Methods and apparatus for implementing dynamic rate controllers using linked list of rate programs
KR100523491B1 (ko) 이더넷 시스템의 패킷 성능 보장 장치 및 그 방법
Heuschkel et al. VirtualStack: Green high performance network protocol processing leveraging FPGAs
US11240072B2 (en) Adaptation of a transmit equalizer using management registers
CN102223285B (zh) 处理数据报文的方法及网络节点
Dobinson et al. Ieee 802.3 ethernet, current status and future prospects at the lhc
Su et al. The high speed switching experiment based on NetFPGA SUME

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