CN102047618B - 网络处理器单元和用于网络处理器单元的方法 - Google Patents

网络处理器单元和用于网络处理器单元的方法 Download PDF

Info

Publication number
CN102047618B
CN102047618B CN200980119421.3A CN200980119421A CN102047618B CN 102047618 B CN102047618 B CN 102047618B CN 200980119421 A CN200980119421 A CN 200980119421A CN 102047618 B CN102047618 B CN 102047618B
Authority
CN
China
Prior art keywords
grouping
processing unit
switch
packet
queue
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.)
Expired - Fee Related
Application number
CN200980119421.3A
Other languages
English (en)
Other versions
CN102047618A (zh
Inventor
G.诺德马克
T.博登
J.卡尔斯特伦
V.苏科尼克
M.珀森
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.)
Kaiwei International Co
Marvell Asia Pte Ltd
Original Assignee
Marvell International Ltd
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 Marvell International Ltd filed Critical Marvell International Ltd
Priority to CN201410090177.5A priority Critical patent/CN103944837B/zh
Publication of CN102047618A publication Critical patent/CN102047618A/zh
Application granted granted Critical
Publication of CN102047618B publication Critical patent/CN102047618B/zh
Expired - Fee Related 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
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/101Packet switching elements characterised by the switching fabric construction using crossbar or matrix
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/103Packet switching elements characterised by the switching fabric construction using a shared central buffer; using a shared memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9036Common buffer combined with individual queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports

Abstract

一种用于处理网络中的分组的网络处理器单元(10)及其方法,该网络处理器(10)包括:通信接口(14),被配置成接收和传送分组;至少一个处理装置(16),用于处理分组或其部分;嵌入式交换机(12),被配置成在通信接口(14)和处理装置(16)之间交换分组;以及其中,嵌入式交换机(12)被配置成分析接收的分组并确定该分组是否应被丢弃;如果分组不应被丢弃,则该交换机被配置成存储所接收的分组,发送该分组的第一部分给处理装置(16)以便对其进行处理,从处理装置(16)接收经处理的该分组的第一部分并传送所述经处理的该分组的第一部分。

Description

网络处理器单元和用于网络处理器单元的方法
技术领域
本发明涉及用于处理网络中的分组的方法和网络处理器单元,并且特别涉及具有嵌入式分组交换机的方法和网络处理器单元。
背景技术
网络处理器可以被用作单芯片交换机/路由器或用在模块化交换机/路由器中的入或出线路卡上。许多现有技术的网络处理器包括用在网络处理器的不同模块之间的若干中间缓冲器,导致网络处理器具有比所需更多的缓冲器空间。此外,若干中间缓冲器可能导致处理期间的等待时间。
图1示意性示出了具有若干中间缓冲器的现有技术的网络处理器1。如所示出的,网络处理器1包括业务管理器(traffic manager)2、接口3、具有队列和调度器的缓冲器4a,4b,4c、处理装置5、以及可选的外部存储器6a,6b,参照图1。从接口3接收的分组数据在输入缓冲器4a中缓冲、通过处理装置5处理、在中间缓冲器4b中缓冲,之后被写入业务管理器2的缓冲器。从业务管理器2,分组数据经由输出缓冲器4c在接口3上被调度和传送。由于不同系统之间的需求变化,导致分组处理的理想次序变化。例如,离开业务管理器的全部或部分业务在传送之前可能需要附加的穿过处理装置,如通过环回路径7所示的。在其它情况下,可能需要两次穿过业务管理器。
现有技术的网络处理器1的缺陷是需要比所需更大的大缓冲器尺寸。例如,如果突发的分组数据穿过图1的网络处理器1,则它首先存储在输入缓冲器4a中,之后在中间缓冲器4b中最后在输出缓冲器4c中。这意味着每一个缓冲器(输入缓冲器、中间缓冲器以及输出缓冲器)必须提供用于常规量的分组数据以及用于突发大小的缓冲空间。
现有技术的网络处理器的另一缺陷是穿过网络处理器的分组顺序流。如图1所示,首先,分组在接口上被接收;第二,它们在输入缓冲器中被缓冲;第三,它们被处理装置处理;第四,它们在中间缓冲器中被缓冲;第五,它们被写入业务管理器的缓冲器;以及第六,它们在输出缓冲器中被缓冲;以及第七,它们在接口上被传送。
Su等人的US2005/0169259公开了一种分组交换单元,包括端口、分组交换控制单元、微处理器数据传输接口、微处理器、以及分组缓冲器。分组缓冲器包括分组区、索引缓冲器以及传输队列电路。分组交换控制单元和微处理器数据传输接口两者都可以分别从/向端口和微处理器传输分组。
Su等人的分组交换单元的缺陷在于,它也需要大的缓冲空间,原因是端口具有存储和转发功能意味着在将分组移入分组缓冲器之前通过端口存储。
Langner的US2007/0230475公开了一种基于交换机的网络处理器,包括输入接口、输出接口、处理部件、以及具有双向端口的交换机。网络处理器将信息与通过输入接口接收的分组关联,并且该信息基于交换机的交换操作串行次序通过多个处理部件顺序地处理。该网络处理器可被看作在各处理部件的输入和输出之间根据应用提供可选择的互连。对于特定应用,分组将因此仅流到所需的以及处于恰当次序的特定处理部件。处理部件的次序通过交换机的配置和处理部件的配置来获得。
Langner的网络处理器的缺陷是:针对给定应用(如安全交易服务器应用、安全套接字层(SSL)VPN防火墙应用或安全因特网协议(IPSEC)VPN防火墙应用)的分组交换的预定串行次序。在针对特别应用进行配置之后,所有的分组将具有相同的串行处理次序,并因此将采用相同的路径穿过网络处理器。
发明内容
本发明的目的是克服现有技术的缺陷和缺点。更特别地,本发明的目的是使网络处理器中的缓冲器尺寸最小,并为分组提供灵活的路径穿过网络处理器以便适应不同的系统需求。
上述目的尤其利用按照独立权利要求的方法和网络处理器单元来完成。本发明另外的实施例在从属权利要求中详细说明。
附图说明
本发明的实施例将参考以下附图详细描述,附图中:
图1示意性图示了现有技术的网络处理器的框图;
图2示意性图示了按照本发明实施例的网络处理器的框图;
图3示意性图示了按照本发明实施例的网络处理器的框图;
图4a示意性图示了按照本发明的网络处理器实施例的框图;
图4b示意性图示了按照本发明的网络处理器实施例的框图;
图5a示意性图示了按照本发明的网络处理器实施例的框图,其中示出了嵌入式交换机的调度视图;以及
图5b示意性图示了按照本发明的网络处理器实施例的框图,其中示出了嵌入式交换机的调度视图。
具体实施方式
现在将参考附图详细描述本发明,附图中,相同的参考标号表示相同或对应的特征、构件或装置。
按照本发明,图1所示的现有技术的网络处理器中所包括的输入缓冲器、中间缓冲器和输出缓冲器由嵌入式交换机来代替。按照本发明,功能块(例如,诸如端口的通信接口、处理装置、业务管理器、分组格式化器或与嵌入式交换机通信并将分组数据写入嵌入式交换机的另一构件)被配置以选择分组数据的输出地址。在实施例中,嵌入式交换机包括在去往网络处理器的诸如功能块的不同模块(诸如去往处理装置、一个或多个接口以及可能的业务管理器)的队列之间共享的缓冲存储器,由此所需的总缓冲尺寸减小。
因此,按照本发明,同一分组突发在嵌入式交换机中最多每次仅发生一次。此外,本发明的寻址机制(籍此将分组数据写到嵌入式交换机的功能块选择输出地址,例如输出端口)能够灵活地组织穿过网络处理器的模块(例如穿过处理装置和业务管理器)的数据路径。而且,借助于本发明,可以基于属性集将分组从接收接口直接交换到传送接口,所述属性可以基于与分组一起接收的(例如在分组头部中的)信息。此外,本发明的统一通信接口和灵活的寻址使不同的子系统(例如处理装置)能够连接到嵌入式交换机的不同端口。
应理解,术语分组在本申请文件中使用时可能指各种类型的数据单元,包括但不限于因特网协议版本4(IPv4)分组、因特网协议版本6(IPv6)分组、IEEE 802.3帧、点到点协议(PPP)帧、ATM信元、或其它协议数据单元(PDU)。此外,分组可以是这样的PDU(例如、信元、分段或存储页)的、控制消息的、或者在网络处理系统内相互通信的另一类型的数据单元的一部分。
图2示意性图示了按照本发明实施例的网络处理器10,有时也称为网络处理单元。网络处理器10包括交换机12、通信接口14和处理装置16。交换机12被设置为与接口14和处理装置16通信。
图3示意性图示了网络处理器10的实施例,该网络处理器10还包括设置成与交换机12和通信接口14通信的业务管理器18。可选的外部存储器20、22可以被设置成分别与处理装置16和业务管理器18通信。
该网络处理器可以是各种已知类型中的任一种,包括在国际专利申请No.PCT/EP2007/055777(其通过引用结合于此)中描述的处理器,但是它还可以是加密的处理器、字符串搜索处理器、和/或通用CPU。该处理器可以包括各种已知类型的处理装置,包括如国际专利申请No.PCT/SE2005/001969(其通过引用结合于此)中描述的同步处理管道。此外,该处理器可以包括诸如分组格式化器和/或业务管理器之类的处理装置。
交换机12被配置为提供业务管理功能,包括服务类别分离、分层调度、业务整形、以及空间和逻辑多播。
此外,交换机12(优选嵌入式交换机),在此还被称为共享存储器交换机(SMS),被配置成在通信接口(例如在接收/传送接口14中之一)和处理装置16之间交换分组。在实施例中,所述交换优选基于与分组一起接收的信息(例如设置属性)。此外,交换机12适于在数据路径上以匹配系统需求(即匹配网速)的数据率来交换分组数据。
图4a,4b示意性图示了网络处理器10的实施例,其中交换机12包括分组缓冲器24、输入端口(有时也称为写端口)26a、输出端口(有时也称为读端口)26b、输入仲裁器28、队列映射器30、丢弃单元34、队列管理器36、以及分组调度器38。如图4所示,网络处理器10的实施例还可包括设置成与交换机12通信的分组格式化器32。
在实施例中,交换机12被配置成利用交换机12的嵌入式存储器中的缓冲器来完成分组交换,参照图4a,4b。该缓冲器可以例如是诸如分组缓冲器24之类的嵌入式缓冲器。
如图4a,4b中示例性图示的,分组缓冲器24(有时也被称为主分组缓冲器)包括用于储存分组数据的数据储存器24-1以及控制单元24-2,控制单元24-2包括用于执行队列的逻辑和控制存储器以及用于多播和/或单播的装置。控制存储器被配置成存储链接的列表元素(包括例如到分组数据的指针、到其它链接的列表元素的指针)以及分组属性(诸如分组类型和分组长度)。共享存储器交换机12的分组缓冲器24可以利用以下端口中的一个或多个端口来读取或写入:多个端口26(26a,26b);处理装置端口(例如可编程管道端口(PP端口)、业务接口端口(TI 端口)、可选的分组格式化器端口(PF端口)、和/或可选的业务管理器端口(TM端口))。
PP,TI,PF,TM端口26可包括一个或多个子端口,即该端口内的一个或多个逻辑地址。子端口可由来自接收子系统(例如来自处理装置16、业务管理器18和/或分组格式化器32)的背压来调节(throttle)。例如,对应于TX以太网MAC的TI子端口可以调节在调度器中针对去往业务接口14的队列映射到该子端口的节点。PP读端口可具有对应于业务接口的16个子端口。TI读端口可具有对应于业务接口的64个子端口。TM读端口可具有单个子端口。PF读端口可具有2个子端口。当在端口26上对具有不同子端口的分组进行读取或写入时,可以将分组交织,即属于第一子端口的第一分组的第一部分可在端口上被读取或写入,之后是在第一分组的第二部分之前在该端口上读取或写入第二分组的第一部分。
分组缓冲器24可以被配置成以存储-转发方式来操作,即分组缓冲器24被配置成存储完整的输入分组之后将其发出,使得存储器交换机12可以证实所接收分组的分组完整性并丢弃有差错标记的分组。此外,在实施例中,分组缓冲器24被配置成存储4MB的分组数据并吸收高达32K的分组。它可以支持400MHz的分组写速率和分组读速率。在另一实施例中,它可以支持800MHz的分组写速率和400MHz的分组读速率。然而,应理解该分组写速率和分组读速率可以改变,并且可以分别是另一适当的写速率和读速率。分组缓冲器24还可以包括64个多播队列,每个队列可以容纳64个分组。
在实施例中,交换机12被配置成不修改分组对齐,即不修改该分组或包含在该分组中的数据。此外,为了给网络处理器10接收的分组预留用于附加的头部的空间,业务接口14应优选被配置成例如通过增加分组偏移值PBase来将分组偏移移位。通信接口14还可以在将来自交换机12的分组传输到例如连接的单元之前,将额外的头部空间从该分组中剥离。被配置成接收和传送完整分组的其它处理装置也可以将分组偏移移位。这些处理装置包括例如业务管理器、分组格式化器、加密处理单元或字符串搜索处理单元。
在实施例中,当从队列读取分组以便插入到处理装置16中时,头256个字节被发送到处理装置16。如果分组长度PLen和分组偏移值PBase的和为256字节或更少,则整个分组进入处理装置16。如果分组较长,即如果PLen和PBase的和大于256个字节,则该分组的尾部被保持在分组缓冲器24的专区中(例如在数据储存器24-1中),并且当分组头部从分组装置16退出时,该分组尾部与分组头部被重新连接。然而,在另一实施例中,整个分组被发送到处理装置16,不管分组长度如何。此外,处理装置16可以被配置成处理分组的部分、全部分组以及它们的组合。还应理解,交换机接收的分组或其部分可以被交织。
在实施例中,如果接收的分组具有变化的长度,则在分组短的情况下(例如,在64字节和256字节之间且包含64字节和256字节)比在分组长的情况下(例如大于256个字节)分组速率更高。在仅长分组的第一部分被发送到处理装置16的实施例中,处理装置16的容量可被超额预订(oversubscribe),即低于针对短分组以最大分组速率处理分组所需的容量。如果处理装置16被超额预订,则嵌入式交换机12可以存储临时的短突发分组。如果这些突发的范围被限制,且处理装置16的容量大于平均分组速率,则所有接收的分组可以仍然由处理装置16来处理,原因是该处理装置16可以追上和处理先前在具有长分组的周期期间存储的突发。
在实施例(其中长分组的头部被发送到处理装置16,并且处理装置16的作用就象同步管道一样适于以受保证的150MHz分组速率或另一适当分组速率来处理短分组)中,如果分组长的话,可能有未使用的处理容量,因为针对长分组的分组速率可能小于该受保证的分组速率,导致可插入分组到该同步管道的时隙未被使用。在这样的实施例中,从处理装置16退出的分组头部可以被存储在嵌入式交换机12中,并重新进入处理装置16以供进一步处理,从而利用了另外未使用的处理容量。在处理完成之后,分组头部从处理装置16退出并与嵌入式交换机12中的分组尾部重新连接。例如在分组集合的子集需要比其它分组更多的处理时(例如由于它们需要添加额外的协议头部),这种扩展的处理是有用的。
交换机12被配置成支持单播、逻辑多播和/或空间多播。分组类型和附加的输入参数作为分组属性随分组被传递到写端口内,如下所述。
在实施例中,嵌入式交换机12包括用于逻辑多播的装置,由此嵌入式交换机12至少部分地基于随分组接收的信息以及可选地还部分基于一个或多个查找表中的信息,通过将属性NumCopies随写入到队列中的分组一起存储而存储拷贝数量。当从队列读取分组时,该分组的NumCopies个拷贝被传送。
因此,通过逻辑多播,分组被读取多次。当这样的分组出列时,可以将用于拷贝数量的参考计数器递减。然而,应理解,参考计数器可以针对每个拷贝递增直到达到拷贝的最大数量。如果拷贝的数量到达最小数(例如零)或者最大数,该分组从队列中解除分配。否则,该分组被保留在队列中,并且当被对应调度器选择时重复地出列。逻辑多播可以支持高达每个分组64个拷贝,它适合于包括3层多播,即ISO OSI模型三层多播,例如IP分组的多播以及VPLS(虚拟专LAN服务)泛洪的大范围应用。
在实施例中,嵌入式交换机12包括用于空间多播的装置,由此嵌入式交换机12至少部分地基于随分组接收的信息以及可选地还部分地基于一个或多个查找表中的信息、来选择至少两个队列并将接收的分组写到所选择的两个队列。
因此,通过空间多播,分组描述符被并行写到多个空间多播队列而非常规队列,并且参考计数器被初始化。对于每个空间多播队列,多播拷贝被创建且参考计数器被递增或递减。如果拷贝数量达到最小数量(例如零)或最大数量,该分组从该队列中解除分配。这些空间多播队列可被配置成遮蔽交换机12中的队列。这意味着空间多播队列被读取而不是被对应的调度器选择的队列。空间多播适合于到物理端口的低等待时间多播,其中多媒体分布或二层多播或广播是典型的应用。每个空间多播队列能够容纳高达任何分组大小的64个分组。
应理解,可以组合逻辑和空间多播。对于被写到空间多播队列的分组,拷贝数量可以是高达64K。该组合可以用于针对物理端口内的逻辑子端口制作拷贝。
在实施例中,交换机12的输入仲裁器28被配置成服务于来自交换机12的输入端口26a的交织分组并朝向分组缓冲器24将其传递给队列映射器30,参照图4a,4b。因此,输入仲裁器28可以被配置成将来自一个或多个输入端口26的分组数据缓冲并调度到交换机12。来自一个或多个输入端口26的分组数据43a由包含在输入仲裁器28中并由输入仲裁器28服务的队列接收。该输入仲裁器28被配置成将来自不同输入端口26a的分组数据43a进行交织,当时将一个存储页写入交换机12。如果队列装满,则可以激活用于溢出保护的机制,如背压44a,44b,尾部丢弃或头部丢弃。
在实施例中,队列映射器30被配置成接收来自输入仲裁器28的分组属性42a。分组属性随分组通过业务接口14、可选分组格式化器32、可选业务管理器18和/或处理装置16中的一个或多个发送。在其它实施例时,分组属性还可以单独被发送而不发送分组。队列映射器30被配置成解码分组属性并根据分组属性生成队列映射。队列映射包括队列号和其中写入分组的可选一个或多个多个多播队列,以及一旦分组出列制作多少数量的拷贝。队列映射还可以由丢弃单元34使用,该丢弃单元被配置成决定是丢弃还是让分组排队。
在实施例中,业务接口14、处理装置16、业务管理器18和可选的分组格式化器32中的至少一个基于从交换机12接收的分组属性和/或分组数据的处理来设置分组属性。该处理可以通过执行计算机程序、通过有限状态机或通过利用存储器查找(例如在内容可寻址的存储器或RAM中的查找)的分类、或者通过其它由本领域普通技术人员所理解的适当方式来实现。在其它实施例中,分组属性按每端口、每子端口、每个流或端口内的每个其它逻辑单元来配置。
在一个实施例中,分组属性42a是输入端口26a上的带外信号,即属性不是通过与分组相同的信道来发送。在另一实施例中,分组属性42a在带内发送,并且交换机12(例如队列映射器30)被配置成从分组数据43a提取分组属性43a。例如,队列映射器30或输入仲裁器28可以被配置成提取/获取存储在分组的头部和/或尾部中的属性。尾部可以包括放置在分组末端的补充数据。
队列映射器30包括被配置成存储有关于队列映射的信息的映射数据库31。
分组属性可包含直接或间接的队列映射。在直接映射的情况下,分组属性包含队列映射,该队列映射被直接中继到丢弃单元以便确定是否应由队列管理器将分组数据写到对应于该直接队列映射的队列。在间接队列映射的情况下,队列映射器30使用分组属性42a从映射数据库31中查找队列映射,并且随后该分组属性被中继给丢弃单元以便确定是否应由队列管理器将分组数据写到查找的队列。然而,应理解,所述属性可以被中继给丢弃单元以便确定在直接或间接将分组映射到队列之前是否应将其丢弃。
此外,分组属性可包含有关于分组丢弃、分组开始、分组结束、差错、分组长度、分组中字段的偏移、源节点、源端口、源子端口、源队列、目的节点、目的端口、目的子端口、目的队列、业务类别、颜色、镜像、存储地址、存储器占用、多播状态、数据保护的信息或可与分组关联的其它信息。
在实施例中,交换机12包括用于丢弃接收的分组而不是将其写到队列的装置。丢弃分组的决定至少部分地基于当前的队列长度和/或平均队列长度和/或存储在表格中的信息和/或随分组接收的信息。
用于丢弃分组的装置可以由前述的丢弃单元34实现。
在实施例中,交换机12还包括用于丢弃队列头部的分组而不是将其传送到输出端口的装置。丢弃分组的决定可以至少部分地基于当前的队列长度和/或平均队列长度和/或存储在表格中的信息和/或随分组接收的信息和/或队列中分组花费的时间。
用于丢弃分组的装置可以由丢弃单元34实现,该丢弃单元被配置成针对每个接收的分组检查对用于缓冲区预留以及有效队列管理的规则的符合性,并作出通过或丢弃的决定。丢弃单元34可以被配置成包括用于加权随机早期丢弃(WRED)的装置以及针对可选地共享存储器池的队列进行尾部丢弃的装置。丢弃单元34还可以包括配置成检测分组差错的装置。丢弃单元34还可维持队列长度并包含用于背压生成的配置寄存器。
通过丢弃单元34中的配置,分组缓冲器24可被分割成不同的存储器使用类型的多个区域。丢弃单元34可被配置成监督这些区域的使用,并应用用于分组丢弃或背压的一组机制来保护缓冲器存储区域并防止毁灭性的缓冲器情形。
在实施例中,交换机12还可包括队列管理器36,该队列管理器36包括配置成保持队列状态并管理链接的用于队列和自由控制存储器的列表的排队块(enqueue block)。该排队块还可通过如丢弃单元所请求的将分组和存储页添加到链接列表的尾部实现分组的排队。队列管理器26还可包括配置成通过如分组调度器38所请求的从链接列表弹出分组和存储页来实现分组的出列。
在实施例中,交换机12包括一个或多个内部队列组,组的数量对应于端口数量。
如图5a示意性示出的,在实施例中,交换机12包括朝向处理装置16的队列组:PP队列;朝向业务接口14或可选的业务管理器18的队列组:TX队列,以及到可选的业务格式化器32的队列组:PF队列。每个队列组具有分组调度器38。
如图5b示意性示出的,在实施例中,交换机12包括朝向处理装置16的一组队列:PP队列;朝向业务接口14的一组队列:TX队列;朝向可选的业务管理器18的一组队列:TM队列;到可选的分组格式化器32的一组队列:PF队列;以及用于调度针对待丢弃的分组数据的读取操作的一组队列:丢弃队列。每组队列具有分组调度器38,其中某些在图4a,4b中示意性示出。
此外,如图4a,4b和图5a,5b示意性示出的,交换机12包括分组调度器38,其被配置成将来自交换机12的队列的分组调度到与交换机12通信的一个或多个功能块,所述调度利用调度算法来执行。交换机12可以每个输出端口具有至少一个调度器,其确定针对该队列的业务次序。
在实施例中,分组调度器38被配置成利用亏损加权循环法(DWRR)、严格优先队列(SPQ)以及循环法(RR)中的一种或组合来调度分组。然而,应理解可以使用其它的适当调度算法。例如,输出端口调度器可以按照以下至少一种调度算法来服务队列:循环法、加权循环法、亏损循环法、亏损加权循环法、严格优先队列、先来先服务、最早截止期优先、时分复用或另一适当调度算法。
在实施例中,分组调度器38可包括:包含至少两层调度器的一个或多个分层调度器。例如,分组调度器38可包括:处理装置调度器-PP调度器,其被配置成将分组数据调度到处理装置16;业务管理器调度器-TM调度器,其被配置成将分组数据调度到业务管理器;接口调度器-TX调度器,其被配置成将分组数据向业务接口-TX接口,14b调度;分组格式化调度器-PF调度器,其被配置成将分组数据调度到分组格式化器32;和/或丢弃调度器,其被配置成调度分组丢弃。
交换机的输出端口调度器(例如TX调度器)包括业务整形器,如令牌桶、漏桶或用于实现业务整形的其它适当装置或算法,其限制了从每个调度器输出的数据速率。
PP调度器和TX调度器可以被配置成每个都服务512个队列,并且PF调度器可被配置成服务16个队列。
在实施例中,交换机可包括输出仲裁器41,参照图4b和5b。输出仲裁器41可对应于输入仲裁器28。输出仲裁器41被配置成从分组调度器38接收分组读取操作的请求,并从主分组缓冲器24将这些操作转换成数据读取操作。输出仲裁器41被配置成控制输出端口26b之间的读取带宽的共享。在实施例中,输出仲裁器41被配置成利用亏损加权循环法(DWRR)、严格优先队列(SPQ)以及循环法(RR)中的一种或组合来调度分组。然而,应理解可以使用其它适当的调度算法。例如,输出端口调度器可以按照以下至少一种调度算法来服务队列:循环法、加权循环法、亏损循环法、亏损加权循环法、严格优先队列、先来先服务、最早截止期优先、时分复用或另一适当调度算法。在实施例中,至少一个输出端口具有子端口。在这种情况下,输出仲裁器41进一步调度这些子端口并控制该输出端口的子端口之间的带宽共享。
交换机12的实施例包括状态格式化器40,其被设置成与分组缓冲器24和分组调度器38通信,并被配置成当队列水平超过配置的水位标志时产生对分组调度器的背压。依靠可配置的连接矩阵,背压信号可灵活地映射到分组调度器中的队列或节点。
如图5a,5b所示,调度可以被来自处理装置16、分组格式化器32、业务接口14、或业务管理器18的背压进行开/关调节。换句话说,分组数据到处理装置16、分组格式化器32、业务接口14、或业务管理器18的调度可以被中断,如果它们的缓冲器满了并且不能够接收任何更多的分组数据的话。分组调度器38停止调度和发送分组数据,直到缓冲器被清空并且再一次能够接收分组数据。
以下示例描述了由网络处理器进行的四个示例性分组的处理。可以利用网络处理器的相同配置并发地处理这些分组和其它分组。因此,同一个网络处理器配置可以导致穿过网络处理器的不同流路径。
所有的四个分组43a最初采用相同的路径。它们由业务接口14接收。通过配置业务接口14,分组属性42a被设置成到朝向处理装置16的PP队列的直接映射。除非该分组被丢弃单元34丢弃,否则该分组在所选的PP队列中排队,且其分组数据被存储在主分组缓冲器24的数据储存器24-1中。从该PP队列,分组被分组调度器38调度,并且部分或全部的分组数据被输出仲裁器41从主分组缓冲器24中读取,并经由PP端口26b发送给处理装置16。分组属性由交换机12基于队列号来设定。处理装置16借助于执行程序代码序列的计算机程序处理分组,其可执行分组数据和/或分组属性的分类和编辑,以及本领域普通技术人员公知的分组信息和数据库的其它操作。处理装置16检查分组内容(如分组头部)并执行表格查找。基于这些操作,四个分组以四种不同方式来处理,这将在以下第1)-4)点中描述。
1)处理装置16将第一示例性分组标识为将穿过交换机12、业务管理器18以及再次穿过交换机12之后被送往业务接口14的用户分组。为了实现该目的,处理装置16将容纳了对于业务管理器18的输入参数的头部添加到分组,并且将分组属性设置成对朝向业务管理器18的队列的直接映射。在经由交换机12传送分组后,如上所述,业务管理器18利用输入头部中的参数来设置对朝向业务接口14的队列的直接映射。在另一个穿过交换机12到业务接口14之后,分组被传送给外部接收器(未示出)。
2)处理装置16将第二示例性分组标识为低等待时间控制分组,其将穿过交换机12直接到业务接口14。为实现该目的,处理装置16将分组属性设置成到朝向业务接口14的队列的直接映射。在另一个穿过交换机12到业务接口14之后,该分组被传送给外部接收器(未示出)。
3)处理装置16将第三示例性分组标识为多播分组,例如多播视频分组。该分组应被拷贝到多个实例并被发送给业务接口14的不同端口。为实现该目的,可编程的管道16将分组属性设置成标识多播组的间接映射。然而,应理解,到多播队列的直接映射也是可能的,但是由于存在许多多播队列,提供直接的映射需要资源,因此,为了节省带宽,优选提供间接映射。队列映射器30使用多播组作为关键字以便在映射数据库31中查找。该查找返回其中分组排队的多播队列列表。除非拷贝被丢弃单元34丢弃,否则每个拷贝被写到多播队列。在穿过交换机12到业务接口14之后,每个分组被传送给外部接收器(未示出)。
4)处理装置16将第四示例性分组标识为将要通过例如IPv4分段(fragmentation)来分段的用户分组。该分组将穿过交换机12、分组格式化器32、再一次穿过交换机12、业务管理器18、以及最后一次穿过交换机12,之后被发送到业务接口14以便传输。为实现该目的,处理装置16针对给分组格式化器32的输入参数增加头部并将分组属性设置成到朝向业务管理器18的队列的直接映射。在已经如上所述地经由交换机12传递分组之后,分组格式化器32使用配置参数或输入头部中的参数来控制将要执行的功能和/或操作。此外,分组格式化器32设置到返回处理装置16的队列的直接映射。此后,采用与用于第一示例性分组的从处理装置16进行过程步骤的相同的过程步骤。
尽管已经按照所示出的实施例描述了本发明,本领域的一个普通技术人员将容易认识到在不背离本发明范围的情况下可能进行变化。因此,预期的是包含在以上描述中并在附图中示出的所有内容应被理解为说明性的而非限制的意义。

Claims (24)

1.一种用于处理网络中的分组的网络处理器单元(10),该网络处理器单元(10)包括:
-通信接口(14),被配置成接收和传送分组;
-至少一个处理装置(16),用于处理分组或其部分;
-嵌入式交换机(12),被配置成在通信接口(14)和处理装置(16)之间交换分组;以及
其中,嵌入式交换机(12)被配置成分析接收的分组并确定该分组是否应被丢弃;如果分组不应被丢弃,则该交换机被配置成存储所接收的分组,发送该分组的第一部分给处理装置(16)以便对其进行处理,从处理装置(16)接收经处理的该分组的第一部分并传送所述经处理的该分组的第一部分;
-业务管理器,被配置成与通信接口和嵌入式交换机通信;以及
-缓冲器,被包括在嵌入式交换机中,该缓冲器被配置成通常至少在通信接口、至少一个处理装置和业务管理器之间被共享。
2.按照权利要求1的网络处理器单元(10),其中通信接口(14)、处理装置(16)或另一功能块(12,14,16,32)被配置成基于分组数据的处理设置分组属性,该另一功能块(12,14,16,32)是被布置成与嵌入式交换机(12)通信的业务管理器(12)或分组格式化器(32)之一。
3.按照权利要求1的网络处理器单元(10),其中通信接口(14)、处理装置(16)或另一功能块(12,14,16,32)被配置成基于从嵌入式交换机(12)接收的信息设置分组属性,该另一功能块(12,14,16,32)是被布置成与嵌入式交换机(12)通信的业务管理器(12)或分组格式化器(32)之一。
4.按照权利要求2-3中任一项的网络处理器单元(10),其中交换机(12)根据所设置的分组属性来确定功能块(12,14,16,32)并将分组发送给该功能块(12,14,16,32)。
5.按照权利要求1-3中任一项的网络处理器单元(10),其中所述分组的第一部分包括整个分组。
6.按照权利要求1-3中任一项的网络处理器单元(10),其中嵌入式交换机(12)被配置成存储分组的第二部分,从处理装置(16)接收经处理的分组的第一部分,并重新组装经处理的分组的第一部分和分组的第二部分,之后传送重新组装的分组。
7.按照权利要求6的网络处理器单元(10),其中分组的第一部分是该分组的头部,分组的第二部分是该分组的主体,并且其中嵌入式交换机(12)包括用于在处理第一部分的同时存储所述第二部分的分组缓冲器(24)。
8.按照权利要求1-3中任一项的网络处理器单元(10),其中嵌入式交换机(12)被配置有来自通信接口(14)和处理装置(16)的输入端口(26a);以及到通信接口(14)和处理装置(16)的输出端口(26b),由此根据所设置的分组属性,能够将在任一输入端口(26a)上接收的分组写到任一输出端口(26b)的输出队列并通过输出端口(26b)传送。
9.按照权利要求8的网络处理器单元(10),还包括被配置成与嵌入式交换机(12)和通信接口(14)通信的业务管理器(18),其中嵌入式交换机(12)配置有来自业务管理器(18)的输入端口(26a)以及到业务管理器(18)的输出端口(26b),由此在任一输入端口(26a)上接收的分组能够被写到任一输出端口(26b)的输出队列并通过输出端口(26b)传送。
10.按照权利要求9的网络处理器单元(10),其中嵌入式交换机(12)包括配置成将来自一个或多个输入端口(26a)的分组数据进行缓冲和调度的输入仲裁器(28),以及配置成从该输入仲裁器(28)接收分组属性的队列映射器(30)。
11.按照权利要求10的网络处理器单元(10),其中嵌入式交换机(12)包括配置成利用调度算法调度来自交换机(12)的队列的分组的分组调度器(38),所述调度算法是循环法、加权循环法、亏损循环法、亏损加权循环法、严格优先队列、先来先服务或最早截止期优先之一。
12.按照权利要求9-11中任一项的网络处理器单元(10),其中每个输入端口(26a)和/或每个输出端口(26b)包括一个或多个子端口。
13.按照权利要求1-3中任一项的网络处理器单元(10),其中嵌入式交换机(12)被配置成支持单播、逻辑多播和/或空间多播。
14.一种用于处理网络中的分组的网络处理器单元(10)的方法,该方法包括:
-借助于通信接口(14)接收和传送分组;
-借助于至少一个处理装置(16)处理分组或其部分;
-借助于嵌入式交换机(12),
分析所接收的分组,
确定该分组是否应被丢弃;如果该分组不应被丢弃,借助于交换机(12):
存储所接收的分组;
发送分组的第一部分给处理装置(16)以便对其处理,
从处理装置(16)接收经处理的分组的第一部分,以及
传送经处理的分组的第一部分;
-借助于业务管理器与通信接口和嵌入式交换机通信;以及
-借助于被包括在嵌入式交换机中的缓冲器通常至少在通信接口、至少一个处理装置和业务管理器之间共享该缓冲器。
15.按照权利要求14的方法,其中,借助于通信接口(14)、处理装置(16)或另一功能块(12,14,16,32),分组属性基于分组数据的处理来设置,该另一功能块(12,14,16,32)是被布置成与嵌入式交换机(12)通信的业务管理器(12)或分组格式化器(32)之一。
16.按照权利要求14的方法,其中,借助于通信接口(14)、处理装置(16)或另一功能块(12,14,16,32),分组属性基于从嵌入式交换机(12)接收的信息来设置,该另一功能块(12,14,16,32)是被布置成与嵌入式交换机(12)通信的业务管理器(12)或分组格式化器(32)之一。
17.按照权利要求15-16中的任一项的方法,还包括以下步骤:借助于交换机(12)并根据所设置的分组属性,确定功能块(12,14,16,32),并发送分组给功能块(12,14,16,32)。
18.按照权利要求14-16中的任一项的方法,其中所述分组的第一部分包括整个分组。
19.按照权利要求14-16中的任一项的方法,还包括:
存储分组的第二部分,
从处理装置(16)接收经处理的分组的第一部分,以及
重新组装经处理的分组的第一部分和分组的第二部分,之后传送重新组装的分组。
20.按照权利要求14-16中的任一项的方法,其中分组的第一部分是分组的头部,分组的第二部分是分组的主体,并且其中在处理第一部分的同时将第二部分存储在嵌入式交换机(12)的分组缓冲器(24)中。
21.按照权利要求14-16中的任一项的方法,根据所设置的分组属性,在交换机(12)的任一输入端口(26a)上接收的分组能够被写到交换机(12)的任一输出端口(26b)并通过输出端口(26b)传送。
22.按照权利要求21的方法,其中,借助于包括在嵌入式交换机(12)中的输入仲裁器(28),缓冲并调度在一个或多个输入端口(26a)上接收的分组数据,并且其中,借助于包括在嵌入式交换机(12)中的队列映射器(30),接收来自输入仲裁器(28)的分组属性。
23.按照权利要求22的方法,其中,借助于包括在嵌入式交换机(12)中的分组调度器(38),利用调度算法调度来自交换机(12)的队列的分组数据,所述调度算法是循环法、加权循环法、亏损循环法、亏损加权循环法、严格优先队列、先来先服务或最早截止期优先之一。
24.按照权利要求14-16中的任一项的方法,还包括单播、逻辑多播和/或空间多播。
CN200980119421.3A 2008-05-30 2009-05-29 网络处理器单元和用于网络处理器单元的方法 Expired - Fee Related CN102047618B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410090177.5A CN103944837B (zh) 2008-05-30 2009-05-29 网络处理器单元和用于网络处理器单元的方法

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US5761408P 2008-05-30 2008-05-30
US61/057614 2008-05-30
SE0801280 2008-05-30
SE0801280-9 2008-05-30
PCT/EP2009/056592 WO2009144296A1 (en) 2008-05-30 2009-05-29 A network processor unit and a method for a network processor unit

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201410090177.5A Division CN103944837B (zh) 2008-05-30 2009-05-29 网络处理器单元和用于网络处理器单元的方法

Publications (2)

Publication Number Publication Date
CN102047618A CN102047618A (zh) 2011-05-04
CN102047618B true CN102047618B (zh) 2014-03-26

Family

ID=40947266

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201410090177.5A Expired - Fee Related CN103944837B (zh) 2008-05-30 2009-05-29 网络处理器单元和用于网络处理器单元的方法
CN200980119421.3A Expired - Fee Related CN102047618B (zh) 2008-05-30 2009-05-29 网络处理器单元和用于网络处理器单元的方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201410090177.5A Expired - Fee Related CN103944837B (zh) 2008-05-30 2009-05-29 网络处理器单元和用于网络处理器单元的方法

Country Status (5)

Country Link
US (3) US8630199B2 (zh)
EP (1) EP2311230B1 (zh)
CN (2) CN103944837B (zh)
TW (2) TWI482460B (zh)
WO (1) WO2009144296A1 (zh)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8948046B2 (en) 2007-04-27 2015-02-03 Aerohive Networks, Inc. Routing method and system for a wireless network
US8218502B1 (en) 2008-05-14 2012-07-10 Aerohive Networks Predictive and nomadic roaming of wireless clients across different network subnets
US20100002715A1 (en) * 2008-07-07 2010-01-07 Alcatel Lucent Thermally flexible and performance scalable packet processing circuit card
US8351449B1 (en) * 2008-08-07 2013-01-08 Bee Networx Inc. Scheduling data communication for mobile communication devices with multiple wireless network interfaces associated with differing costs
US9674892B1 (en) 2008-11-04 2017-06-06 Aerohive Networks, Inc. Exclusive preshared key authentication
US8483194B1 (en) 2009-01-21 2013-07-09 Aerohive Networks, Inc. Airtime-based scheduling
US9900251B1 (en) 2009-07-10 2018-02-20 Aerohive Networks, Inc. Bandwidth sentinel
US11115857B2 (en) 2009-07-10 2021-09-07 Extreme Networks, Inc. Bandwidth sentinel
JP5550198B2 (ja) * 2009-12-10 2014-07-16 トムソン ライセンシング マルチキャスト・ネットワークにおけるsctpのためのプロトコル・ブースタ
US9769092B2 (en) * 2010-01-18 2017-09-19 Marvell International Ltd. Packet buffer comprising a data section and a data description section
US9002277B2 (en) 2010-09-07 2015-04-07 Aerohive Networks, Inc. Distributed channel selection for wireless networks
US8457142B1 (en) * 2011-02-18 2013-06-04 Juniper Networks, Inc. Applying backpressure to a subset of nodes in a deficit weighted round robin scheduler
TWI448966B (zh) * 2011-07-04 2014-08-11 Realtek Semiconductor Corp 用於具有內建網路單元之嵌入式系統裝置的網路單元置換方法以及嵌入式系統裝置
US10091065B1 (en) 2011-10-31 2018-10-02 Aerohive Networks, Inc. Zero configuration networking on a subnetted network
KR101640017B1 (ko) * 2011-12-23 2016-07-15 한국전자통신연구원 패킷 전송 장비 및 그것의 트래픽 관리 방법
JP5930767B2 (ja) * 2012-02-23 2016-06-08 キヤノン株式会社 電子デバイス、通信制御方法
CN104769864B (zh) 2012-06-14 2018-05-04 艾诺威网络有限公司 多播到单播转换技术
CN102833159B (zh) * 2012-08-16 2015-10-21 中兴通讯股份有限公司 报文拥塞处理方法及装置
US11003459B2 (en) 2013-03-15 2021-05-11 Intel Corporation Method for implementing a line speed interconnect structure
KR20170089973A (ko) * 2013-03-15 2017-08-04 인텔 코포레이션 회선 속도 상호 연결 구조를 구현하는 방법
US9413772B2 (en) 2013-03-15 2016-08-09 Aerohive Networks, Inc. Managing rogue devices through a network backhaul
US10389650B2 (en) 2013-03-15 2019-08-20 Aerohive Networks, Inc. Building and maintaining a network
US9753691B2 (en) 2013-03-15 2017-09-05 Intel Corporation Method for a stage optimized high speed adder
US9674084B2 (en) * 2013-11-21 2017-06-06 Nephos (Hefei) Co. Ltd. Packet processing apparatus using packet processing units located at parallel packet flow paths and with different programmability
US9722810B2 (en) * 2014-02-03 2017-08-01 International Business Machines Corporation Computer-based flow synchronization for efficient multicast forwarding for products and services
US10834241B1 (en) * 2019-01-08 2020-11-10 Xilinx, Inc. Streaming editor circuit for implementing a packet deparsing process

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1493132A (zh) * 2000-11-07 2004-04-28 ض� 基于交换的网络处理器

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6876653B2 (en) 1998-07-08 2005-04-05 Broadcom Corporation Fast flexible filter processor based architecture for a network device
US7120117B1 (en) * 2000-08-29 2006-10-10 Broadcom Corporation Starvation free flow control in a shared memory switching device
US20040151197A1 (en) * 2002-10-21 2004-08-05 Hui Ronald Chi-Chun Priority queue architecture for supporting per flow queuing and multiple ports
US7644256B2 (en) * 2003-01-28 2010-01-05 Xelerated Ab Method in pipelined data processing
US7826470B1 (en) * 2004-10-19 2010-11-02 Broadcom Corp. Network interface device with flow-oriented bus interface
US20060248375A1 (en) * 2005-04-18 2006-11-02 Bertan Tezcan Packet processing switch and methods of operation thereof
US7801144B2 (en) * 2006-03-31 2010-09-21 Agere Systems Inc. Switch-based network processor
CN1838624B (zh) * 2006-04-26 2010-05-12 南京大学 高性能网络数据处理平台系统和处理方法
KR101409456B1 (ko) * 2007-06-12 2014-06-24 삼성전자주식회사 IP converged 시스템에서의 패킷 처리 방법 및그 시스템
US7821939B2 (en) * 2007-09-26 2010-10-26 International Business Machines Corporation Method, system, and computer program product for adaptive congestion control on virtual lanes for data center ethernet architecture

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1493132A (zh) * 2000-11-07 2004-04-28 ض� 基于交换的网络处理器

Also Published As

Publication number Publication date
US20110085464A1 (en) 2011-04-14
TWI482460B (zh) 2015-04-21
EP2311230A1 (en) 2011-04-20
US8964594B2 (en) 2015-02-24
CN103944837B (zh) 2017-08-25
WO2009144296A1 (en) 2009-12-03
CN103944837A (zh) 2014-07-23
TW201531064A (zh) 2015-08-01
US8630199B2 (en) 2014-01-14
CN102047618A (zh) 2011-05-04
US20150163156A1 (en) 2015-06-11
TW201014273A (en) 2010-04-01
TWI527409B (zh) 2016-03-21
US20140146827A1 (en) 2014-05-29
EP2311230B1 (en) 2019-08-28
US9178830B2 (en) 2015-11-03

Similar Documents

Publication Publication Date Title
CN102047618B (zh) 网络处理器单元和用于网络处理器单元的方法
US7298756B1 (en) System and method for programming cell packet headers
US7100020B1 (en) Digital communications processor
US7263066B1 (en) Switch fabric backplane flow management using credit-based flow control
EP1249978B1 (en) Device and method for transmission in a switch
US7843816B1 (en) Systems and methods for limiting low priority traffic from blocking high priority traffic
US6987760B2 (en) High speed network processor
CA2188130C (en) A system for the parallel assembly of data transmissions in a broadband network
US6754222B1 (en) Packet switching apparatus and method in data network
US20120327951A1 (en) Channel Service Manager with Priority Queing
US7324537B2 (en) Switching device with asymmetric port speeds
JP2002541732A5 (zh)
US7439763B1 (en) Scalable shared network memory switch for an FPGA
JP2000503828A (ja) データネットワーク上でデータパケットをスイッチングする方法および装置
US7079538B2 (en) High-speed router
CN103957156A (zh) 通过网络传输数据的方法
WO1999059078A1 (en) Digital communications processor
US7289537B1 (en) Single-chip multi-port Ethernet switch
US20050243825A1 (en) Methods and systems for efficient multicast across a mesh backplane
US7206310B1 (en) Method and apparatus for replicating packet data with a network element
US7730276B1 (en) Striping of data into memory of a network data switch to prevent read and write collisions
KR100378372B1 (ko) 데이터 네트워크에서 패킷 스위치 장치 및 방법
Sukhtankar A Low Latency Switch Architecture for High-Performance Packet-Switched Networks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20120802

Address after: Stockholm

Applicant after: A strategic position Lelate Group Co.

Address before: Stockholm

Applicant before: Xelerated AB

ASS Succession or assignment of patent right

Owner name: XELERATED NEWCO AB

Free format text: FORMER OWNER: XELERATED AB

Effective date: 20120823

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20120823

Address after: Stockholm

Applicant after: A strategic position Lelateniuke Co.

Address before: Stockholm

Applicant before: Xelerated AB

ASS Succession or assignment of patent right

Owner name: MAVER INTERNATIONAL LTD.

Free format text: FORMER OWNER: MARVELL ELECTRONIC TECHNOLOGY SWEDEN CO., LTD.

Effective date: 20121219

C41 Transfer of patent application or patent right or utility model
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: Stockholm

Applicant after: Marvell electronic technology company in Sweden

Address before: Stockholm

Applicant before: A strategic position Lelateniuke Co.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: XELERATED AB TO: MARVELL ELECTRONIC TECHNOLOGY SWEDEN CO., LTD.

TA01 Transfer of patent application right

Effective date of registration: 20121219

Address after: Bermuda Hamilton

Applicant after: MARVELL INTERNATIONAL Ltd.

Address before: Stockholm

Applicant before: Marvell electronic technology company in Sweden

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20200427

Address after: Singapore City

Patentee after: Marvell Asia Pte. Ltd.

Address before: Ford street, Grand Cayman, Cayman Islands

Patentee before: Kaiwei international Co.

Effective date of registration: 20200427

Address after: Ford street, Grand Cayman, Cayman Islands

Patentee after: Kaiwei international Co.

Address before: Hamilton, Bermuda Islands

Patentee before: Marvell International Ltd.

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140326

Termination date: 20210529

CF01 Termination of patent right due to non-payment of annual fee