CN1736066A - 用于流量处理的包存储系统 - Google Patents

用于流量处理的包存储系统 Download PDF

Info

Publication number
CN1736066A
CN1736066A CNA2003801084790A CN200380108479A CN1736066A CN 1736066 A CN1736066 A CN 1736066A CN A2003801084790 A CNA2003801084790 A CN A2003801084790A CN 200380108479 A CN200380108479 A CN 200380108479A CN 1736066 A CN1736066 A CN 1736066A
Authority
CN
China
Prior art keywords
memory
data
data division
bag
size
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
Application number
CNA2003801084790A
Other languages
English (en)
Other versions
CN1736066B (zh
Inventor
A·斯潘塞
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.)
Rambus Inc
Original Assignee
ClearSpeed Technology PLC
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 ClearSpeed Technology PLC filed Critical ClearSpeed Technology PLC
Publication of CN1736066A publication Critical patent/CN1736066A/zh
Application granted granted Critical
Publication of CN1736066B publication Critical patent/CN1736066B/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • H04L47/562Attaching a time tag to queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/60Queue scheduling implementing hierarchical scheduling
    • 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/6215Individual queue per QOS, rate or priority
    • 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/624Altering the ordering of packets in an individual queue
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9042Separate storage for different parts of the packet, e.g. header and payload

Abstract

一种在通信系统中对可变大小的数据包进行排队的方法,包括:从输入数据包产生预定固定大小的记录部分并包含关于该包的信息,该包中的数据在数据部分中;在第一存储器2的独立存储器位置中存储数据部分,并且每一数据部分彼此之间没有联系;在第二存储器3的一个或多个所管理的队列中存储记录部分,其具有的固定大小存储器位置的大小等于记录部分的大小;其中:第一存储器比第二存储器大,并且具有比其小的地址带宽;并且第一存储器中的存储器位置设置成具有多个不同大小的块,并且根据该数据部分的大小将存储器位置分配给该数据部分。方便地,在设置成两个所述块的第一存储器中可以有两个存储器位置,一个用来接收相对较小的数据部分,并且另一个用来接收相对较大的数据部分,并且其中将太大而不能存储在单个存储器块中的数据部分存储为多个块中的链接列表,其具有指向下一块的指针,但是没有任何从该包的一个数据部分指向下一数据部分的指针。块中的存储器位置优选地与该通信系统中最通常出现的数据包的大小匹配。优选地从有效地址的中央池成批地从提供给其的有效地址的池中分配在第一存储器中的存储器位置。

Description

用于流量处理的包存储系统
技术领域
在出口流量处理机中,包以超过输出线速率的速率突发到达。例如,输入速率可以是80Gbits/s,而线速率可以“只”有40Gbits/s。因此需要临时包缓冲。通过在逻辑队列中缓冲包,可以通过在队列中改变有效资源(线带宽和存储容量)的分配得到不同的业务级别。
背景技术
以下几点共同使得在40Gbits/s的线速率时特别难以缓冲包:
1、需要高数据带宽,以同时读取和写入包(在最坏的情况下结构超速)。
2、需要高地址带宽,以在最坏的情况下拷贝,其中同时写入最小量的数据包流并在随机访问模式下从存储器读取。
3、存储器的容量必须高,由于缓冲器在高线速率的瞬间突发期间会迅速充满。
4、在高线速率时必须减少与逻辑队列管理或存储器管理相关联的状态操作。典型地对于执行这种功能的硬件或软件装置有效的系统时钟周期的数目最小。
将包直接放入映射到统计分配的存储器的队列中的方案可以满足(2)和(4),但是使用存储器的效率较低,因此不满足(3)。将包缓冲到单片存储器或SRAM中的方案能够满足(2),但是不能满足(3),由于SRAM是低容量的存储器。实施使用高容量的DRAM的方案可以满足(3),但是难以满足(2),因为随机访问时间短。在试图满足(1)时,方案需要具有高带宽的互连和高引线数的接口。
总之,难以设计四个条件都满足的体系结构。
发明内容
本发明一方面提供一种在通信系统中对可变大小的数据包进行排队的方法,该方法包括:从所述数据包产生预定固定大小的记录部分并包含关于该包的信息,该包中的数据在数据部分中;在第一存储器的独立存储器位置中存储数据部分,并且每一数据部分彼此之间没有联系;在第二存储器的一个或多个所管理的队列中存储记录部分,其具有的固定大小存储器位置的大小等于记录部分的大小;其中:第一存储器比第二存储器大,并且具有比其小的地址带宽;并且第一存储器中的存储器位置设置成具有多个不同大小的块,并且根据该数据部分的大小将存储器位置分配给该数据部分。
方便地,在设置成两个所述块的第一存储器中可以有两个大小的存储器位置,一个用来接收相对较小的数据部分,并且另一个用来接收相对较大的数据部分,并且其中将太大而不能存储在单个存储器块中的数据部分存储为多个块中的链接列表,其具有指向下一块的指针,但是没有任何从该包的一个数据部分指向下一数据部分的指针。
块中的存储器位置优选地与该通信系统中最通常出现的数据包的大小匹配。优选地从有效地址的中央池成批地从提供给其的有效地址池分配第一存储器中的存储器位置。
存储器块可以分隔到多个存储器通道中,并且顺序地跨过通道将地址分配给数据部分,从而将数据部分的存储分散在通道上。
优选地以管线方式通过数据检索单元从第一存储器中读取数据部分,其用于指导存储器块读出数据部分,而不必等待前一个读取完成,并且从该第一存储器中释放地址位置。
在所接收到的包没有足够的存储器的情况下,可以将记录部分入队,就像对应的数据部分存储在第一存储器中,以及顺序读出对应于所述数据包的记录部分,设置标志用来表示将要丢弃所述包的数据部分,丢弃所述数据部分,并且释放名义上分配给所丢弃数据部分的存储器位置。
可以从地址的位图中读取地址位置,并且当在存储器在其中的数据已经被读出之后释放存储器位置时,直接将所释放的存储器位置的地址发送到该池中。在另一方面,本发明提供一种存储集线器,其包含执行如下面的权利要求中所定义的方法所必须的所有特征。
本发明在其最广泛的意义上,提供一种存储集线器,其用来在高线速率流量处理机中缓冲包,从而实现使用高速串行链路与存储集线器连接的大量可独立寻址的存储器通道,从而能够应用于网络线卡上的流量处理机。流量处理机的特征在于高线速率和对大存储器的高速随机访问。
更广泛地,当需要对非常大存储器进行高速随机访问(等待容限)时,可以应用该方法。
根据优选实施例如下实施本发明:
队列管理器和存储器管理器是完全去耦合的(通过包/包记录概念表明。这针对于标准(4))。
包直接流入动态分配的存储器中,几乎没有第一手状态操作(通过存储器管理器和使用本地池得到支持。其针对于标准4)。
存储器地址空间分段和使用存储器管理器的位图进行的有效性跟踪对动态存储器管理提供必要的支持(通过高效存储器使用有助于满足(3))。
使用高速串行芯片至芯片的链路与存储集线器连接(远程输出到多个存储器通道使得地址和数据带宽能够成比率,以满足要求,而不会满足实施限制,这针对于(1)和(2))。
附图说明
现在将参照附图描述本发明,其中:
图1是该包存储系统的主要组件的功能简图;
图2是概存储集线器的体系结构简图;
图3是数据报检索单元设计;
图4(a)是对于多芯片、规模可变实施方法,用于流量处理的包存储系统的实施;
图4(b)是对于单芯片、高度集成的技术方案,用于流量处理的包存储系统的实施。
具体实施方式
本发明包括组装成为一个方案的组件特性、思想和装置,该方案满足流量处理系统中用于40Gbits/s包缓冲所需要的全部条件。存储集线器是本发明的主要实施例。将根据该主要实施例,并连同实现本发明能够传送的性能级别所需要的和/或所想要的周边设备一起描述本发明。为此,下面的说明书被分为描述本发明不同方面和/或特征的多个副标题。不可避免地,在下面的部分之间存在一定的重叠。
存储系统去耦合——该特征的主要目的是分离出包存储问题,使得其不与其它功能混杂在一起,并与其它功能相互不相关。相对复杂的功能可以用来控制包的入队和出队。如果包本身并不传送到该系统,这种包处理/操作的复杂度可以减少。由于在流量处理中并不需要访问包内客,可以将该包放在存储器中,并通过少量的固定大小的包记录表示。在逻辑队列或数据结构中被处理和计算的是这些记录。按照顺序调度的包记录接着可以用来覆盖包,以在输出线上转发。于是,从包缓冲和存储器管理的任务中分离出处理和逻辑队列管理功能。接下来,对少量的固定大小的包记录元数据进行QoS处理。该记录典型地包括包在存储器中的位置(第一块的地址)、该包所属的流的标识(附在上游包上)、包长度和控制标志。使用该流标识符在本地查找附加数据。因此参照图1,在到达块1处到达的数据包流的长度可变。从所接收到的每一包中产生包记录。每一包记录包含关于其各自数据包的信息,并因此“表示”该数据包。而且,该包记录的大小固定,使得原始包内的数据占据可变大小的数据部分。
这是本发明的关键特征,因为其将记录部分和数据部分单独地并彼此独立地进行处理,从而使得能够优化记录和数据的存储。将包的可变长度的数据部分发送到存储集线器2中,而记录部分发送到记录处理系统3。该包记录部分比该数据部分短,并因此相比于处理作为单个整体的全部接收的数据包,可以在单独的处理系统3中有效地对其进行处理。
该存储集线器2根据该包在其到达存储器4的路上从本地池6中所拾取的地址,正确地将该数据传送到存储器4中。如此后所解释,本地池保持有一批从存储集线器2向其发送的有效地址。该系统工作完全不需要该池“请求”用于特定数据包的地址。中央池7保持有包存储器4中的所有存储器位置的地址。通过这种方式,数据包简单地流入存储器4,并且具有尽可能少的处理,以通过高数据速率,例如以当前高至80Gbits/s的速率从输入通道拷贝。
包记录包含指向存储器中的包数据的指针。也可以有标志,即告诉系统3该如何处理记录的信息,诸如应该将其放入哪一队列,以及它们具有何种优先级。每一包具有队列标识符。
大多数包存储/排队系统将整个包作为单个整体处理,包括记录和数据信息,并因此与介绍部分中所述的标准相冲突。本发明通过满足所有这些标准的唯一方式对该包的记录和数据部分进行处理。
存储集线器的使用可以确保当包高速达到时,对它们进行尽可能少的处理,而可以以较低的速度“离线”地处理包记录。数据于是可以直接流入存储器。常规方法使用的技术包括标识该数据将被写入该队列中的何处。如果已经写入了,必须通过重写指针来更新该状态。当新数据达到时,读取指针并且必须再次更新该指针。该过程显然是密集的,并且降低了整体处理的速度。在本发明的优选实施方式中,没有“握手处理”。
极其高速的输入数据需要物理存储器4具有许多通道。这就产生了“引线问题”,其中队列太深使得存储器必须很大(例如数百兆字节),并因此不是单片级。该集线器因此提供用于分离物理和逻辑存储器问题的装置。其然后可以是独立芯片。该存储集线器提供有第二装置,可以在其上面实施所有的存储器通道,而不必支持不同的接口。该存储器4因此优选地是一组存储器芯片,并且该存储集线器潜在的是一个芯片。
该存储集线器具有关于存储器的每一块是自由的知识,并且将一组地址从中央池7传送到在到达块1中的本地池6,指示具有用于接收其包记录已经被到达块剥离的数据的有效地址。在到达块处所到达的数据的每一包都分发有从本地池6中得到的地址,并将其发送到用于存储的对应存储器位置。
存储器管理——当存储器用作数据结构的存储时,其通常是静态或者动态分配的。用于将存储器分配给包的一种有效方法包括下面的特征,其在本发明的优选实施例中提供。包存储器4在该存储器地址空间中被划分成小块。这些块可以是n个不同配置的大小之一。为了减少系统的复杂性,适当地考虑n=2。没有将存储器静态地分配给队列。相反,包存储在一个或多个给定大小的块中(适当地)。给定包的每一块通过链接列表的方式指向下一个,但是在存储器4中没有逻辑队列管理。通过存储集线器中的存储器管理器记录所有存储器块的有效性。在图2所示的存储集线器的结构图中,该存储器管理器方框所示为20。输入侧(图2中的左侧)保持简单,从而处理80Gbits/s的高数据速率,并且将该复杂度故意地保持到输出侧(图2中的右侧)。该输入侧有效地包括分布到不同存储器通道的连续数据流。通过写控制器22产生的写操作具有的优先级比通过读控制器23产生的读操作高。如前面参照图1所解释,写流入,并根据在到达块1中的本地池6所分配的地址,跨过多个存储器通道均衡地在请求复用器24和存储器通道接口25上分布。
该存储器管理器20使用存储器模块21中每个有效存储器块的位图,每一位表示一个块。当该存储器管理器从中央池7发送地址块到本地池6时,该地址与每一个模块相关。因此,当输入数据从本地池6拾取地址时,每一包或包的段会被发送到不同的模块,从而实现负荷分散。如果模块中的每一存储器块具有64字节的容量,也就是说整个包可以全部存储在一个块中,假定包大小少于64字节。更大的包,例如256字节的包会跨过几个块作为链接列表存储。由于数据作为链接列表存储在存储器中,存储器中的每一块指向下一个,从而如果必须在读取下一项之前读取第一项数据和所提取的指针,其在检索时低效率。因此,有利地将存储器划分成为不同大小的块,以分别接受大的和小的数据包。通过该方式,大包可以存储在大块中,使得数据报检索单元可以读取第一个大块,并且如果指针返回到第一个,其可以在完成第一个读取之前,通过管线的方式发布请求读取下一个。
这样有助于在写和读控制器21、22之间的潜在争夺,并且后来也有助于当派送单元5向存储集线器发送请求需要特定的包时,该请求首先到达数据报检索单元DRU,诸如图2中的24,其然后将该请求轮流发布到每一通道。因此,在读取侧和写入侧都有分布。这样进一步增强了负荷分散。
如果考虑平均来自切换结构的输入是80Gbits/s,并且输出侧是40Gbits/s,可以出现数据被转发到同一输出的情况。因此,理想地在输出应该有缓冲器用来处理负荷突发。尽管存储器的大小有限,但是它们还是可以只处理超过40Gbits/s的第二个流量的片段。
通过从该位图读取字,该存储器可以成批地标识空闲块的地址。将位转换成为地址,并且将该地址保持在有限的但是足够大小的中央池中。这是一种数据解压缩形式,其存储效率比维持存储器“自由列表”高(在队列或链接列表中存储所有可能的地址)。通过扫描该位图、或者更直接地根据从存储器和存储器块中读取作为包达到的地址流,并且释放其占用,可以将该中央池7加满。如果中央池为满,必须缓冲所返回的地址,并且将它们的信息插入到该位图中。
高效包存储——将信息放在存储器中一般需要记录存在新信息的更新状态的系统开销。需要一种平滑地以80Gbits/s将数据流入存储器中的装置,其并不需要通过中间状态操作的帮助。到达块1是管线处理器,其从用来创建包记录的该包中提取信息,并且将该包切割成可以映射到存储器块中的切段。根据每一包的长度,适当地选择用于其的段大小(并于是就是存储器块大小)。该包被转发到存储集线器,并且该包记录被转发到用于QoS处理和逻辑排队的系统。所实施的每一不同存储器块大小要求单独的本地(和中央)池。该本地池使得到达能够立即将(分段的)包载入存储器的自由块中。这样做唯一不重要的复杂性就是要将同一包的最后一个存储器块的地址插入到当前块中。其是一个简单快速的系统,不同于从本地池中弹出项,其不需要状态操作。该系统的一个重要特征就是,其支持在存储集线器的有效存储通道上的负荷平衡。当补充本地池时,其等量地接收映射到不同物理存储器通道中的存储器块的地址。接续块于是可以通过循环方式写到存储器块中,有效地分散了地址和数据带宽负荷。在本地池变为空的偶尔情况下,需要由到达丢弃部分或全部的包。考虑记录已经被部分地载入存储器,但是该池临时变空,例如因为存储管理器中的小故障,或者因为其不能快速返回以接收新的批,该队列可能完全装满,并因此导致存储器溢出。在该情况下,不是修正问题,而是丢弃在到达块处到达的其余包,并且还是通过处理器3发送该包记录,但是将该记录标记为“垃圾”。
因此还是要通过包记录创建来报告执行情况,使得可以通过QoS处理器集中地管理事件处理。该处理器必须从存储器中清除该包,并且必须报告所丢弃的任何包的详情。这些都是QoS处理器用于普通操作所已经具有的功能。
本发明优选实施例的显著特征是在派送单元5出现丢弃包的实际处理。记录向平常一样到达派送块5中的队列的报头,但是因为标志,其可以看作垃圾记录。数据还是要读取,但是然后就丢弃,从而释放分配给该数据项的存储器,而不需要将该垃圾数据发送到线上。
高效的包恢复——由于其80Gbits/s的性能要求有挑战性,所以故意地简化该包存储功能。结果,通过到达使用的“开环”法使得40G的包恢复功能变得更复杂。要点是,如果包存储在存储器中的多个块中,每一个指向下一个,一个块必须在可以发布下一个块的请求之前读取,并提取“下一个指针”。将包转发到线上的该装置是派送块。其可以看作是一种类型的DMA引擎,其从QoS处理系统中获取地址(包记录),使用该地址从存储器(存储集线器)中获取数据(包),并将该数据转发到线上。存储器标称地被组织成为n(n=2)组块——大块和小块。选择块的大小,以(a)通过将包大小分布中的峰值与块大小匹配来优化存储器的使用,和(b)检索作为链接列表存储的包更高效。于是,如果说所有的包具有64b/s和256b/s的峰值,可以选择该块大小来匹配。然后将非常大量的包装入单个块中,并且不需要分布在超过一个的块之间。可以设置到达块,以进行关于两个大小块中的哪一个的值调整,其地址保持在两个本地池中,而不是图1中所示的单个池6中,以分配所讨论的包。当包被存储在多个存储器块中时,在所发布的请求与返回的第一数据(其具有下一个块的地址)之间存在延迟。如果块足够大,那么可以从第一个少数字节的块中提取下一个指针,并且发布下一个请求,同时还从存储器中读取其余块。通过选择存储器块大小,使得大多数包可以存储在单个存储器块中,就可以有效地聚合包恢复。在图2的完全管线模式中(即:在前一个请求的响应返回之前可以发送包请求)的存储集线器中,可以通过数据报检索单元(DRU)26提取包。如果每一包在单个块中,可以管线传输该请求。然后所需要的就是通过图3中的重排序缓冲器进行任何所需要的重新排序,如下将详细解释。然而,如果包存储在链接列表中,在可以请求下一个包之前必须检索每个包的数据,从而降低了检索过程的速度。图3表示数据报检索单元(DRU)。记录30到达控制器31,其从记录32中提取指针并发布请求33,但是其知道该记录是否是链接列表中的一个串。如果其不需要等待回来的响应,其可以发布下一个请求。其可以按照这种方式继续。另一方面,如果其需要等待,其停止并建立环路。包的起始回来,并且提取指针。如果块非常大,如几百字节长,实际上保持该指针,从而在读取控制器中读取后几个字节之前,块的前几个字节已经回来了。因此可以提取该指针,并循环回到该控制器的数据报指针FIFO34中,并且发布下一个包的请求。
一旦链接列表中的包已经返回,它们可以在重排序缓冲器36的存储单元阵列35中重新排序。该存储单元阵列等同于一系列鸽笼(pigeonhole),将数据按照其所读出的顺序存储在其中。在等待数据填充到下一个空鸽笼的序列的末端有一个指针。只有接收到该数据,其可以向前移动,并且在其碰到缺口的时候,缺口表示该数据还没有返回。
尽管缓冲器以固定的速率发送数据,在速率控制反馈输入38的命令下对其进行速率控制37。在指针返回的缓冲器39中,提取已经读取的块的地址,使得可以释放该块,并且将指针输出馈送到存储器管理器。
于是,通过实施在多个不同的级别具有数据恢复的分层包检索系统,可以有效地进行多块包的恢复。派送请求完成来自数据报检索单元的包。该DRU从各个存储器通道的存储器读取控制器中提取存储器块,并重新组装包。该存储器读取控制器通过突发读取访问从存储器中提取字,通过标识该块内的有效数据的起始和末端对该块内容进行重新组装。对于该DRU读取的每一存储器块,将该块地址传送到存储器管理器,使得可以更新相关的存储器位图(或者重新使用的块地址)。现在返回到图2,数据报丢弃单元27以类似于DRU的模式工作,但是不返回数据。其目的是更新存储器管理器中的存储器块的状态位。可以丢弃包,因为作为它们已经被标记为垃圾的结果就已经被截去了,因为数据输入速率超过了存储集线器和存储器模块的存储容量,或者因为该流量处理机已经实施算法来随机地丢弃包,以管理队列。虽然与存储集线器本身没有关系,但是负责实施该实际丢弃功能的还是该数据报丢弃单元。然而在丢弃之前要从存储器中读取该包,只是要提取指针。这可以为存储在单个块中的包直接完成。存储在多个块中的包必须从存储器中读取,使得可以恢复“下一个块”的指针。
现在考虑存储器管理器,当存储器用于存储时,其通常静态或动态地分配。然而在本发明中,在静态和动态存储器之间采取“中间结构”。如果一部分存储器静态地分配给一个队列,而另一部分分配给另一个队列,这样的效率非常低,由于存在所有的流量都进入一个队列的风险。如果动态地分配存储器,系统在每一单个存储器为满的时候就不能够接收数据。相反,该存储器被分段成为较小的、位图块。
因此为这些块保持位图。其在该存储器管理器中,优选地存储在SRAM中,作为该存储器中每一单个块的记录。其包括关于该块的状态的信息,诸如其是否被使用。可以通过从中央池7中读取来刷新该本地池6。如果地址字是32位宽,其将从零至32个该有效存储器的块中返回标识。其以高效的方式提供任何有效的空闲存储器。这可以通过使用自由列表的方式来代替,其带有指向每个位置的指针的链接列表。该方法虽然十分彻底,但是在读取指向第一个的指针时效率低,其表示该特定块是自由的,并然后指向下一个自由块。通过读取该位图,可以以高的速率读取指针。在单个时钟周期中,可以一次读取32个自由块的标识符,并将它们转换成完整的地址。
在最差的情况下,即从存储器的一端工作到另一端,一次读取用于32个块的标志,其可能是这样的,在两个或三个周期上遇到密集占据的存储器部分,并且没有明显的标志。为了对付可能由于这种不测事件所引发的延迟,该存储器管理器包括所谓的“捷径”模式。当地址被DRU释放并返回到存储器管理器时,它们并非必须返回到位图中。相反,可以将它们缓冲并循环使用。当接收到刷新本地池的请求时,该中央池并非将它们从位图中除去。如果其FIFO已经缓冲有一批返回用于重发布的地址,其可以替代地释放它们。
该存储器管理器因此包括用于位图的SRAM。当例如12位宽的地址从DRU到达时,其表示存储器的某个地方刚刚被释放。其劳动强度较大,必须将该地址转换成为位,从SRAM中读出该地址,插入该位并然后将其写回。该读取和写操作包括32位字。专用FIFO保持该SRAM。已经解释了,本地池需要周期性的刷新。因此替代从位图中读出32位字,将它们转换成为指针,并然后将这些指针发送回到该池中,相反优选地使从DRU中发送回来的这些地址循环。
实施不同的系统——系统的划分必须考虑现实情况,诸如装置引脚数、功率消耗、硅工艺技术、PCB总数和布线等。通过存储集线器访问多个可独立寻址的存储器通道。该集线器将存储器类型和该存储器所需要的制作技术与系统的其它部分隔开。该集线器也可以使得实施大量可变数目的存储器通道,由于(a)集线器封装将用于存储器通道实施的引线数目最大化;和(b)多个集线器可以与单个QoS处理芯片连接。参照图4,该存储集线器40通过窄的高速串行芯片至芯片的链路41、42与处理芯片(QoS和队列芯片)连接。于是减少了与处理芯片的引线数目接口连接的存储器的负担,减少了整体的引线数目并减少了潜在的复杂ASIC的封装成本。
优选实施例的概括和进一步详情
如图1中所示,到达和派送提供了该包流中的叉点和结合点。它们将存储集线器分开,其只简单地分发从与存储器连接的高速链路接收到的包组块,或者按照要求从存储器检索包。
如图2中所示,该总线用作DRU与存储器通道控制器之间的纵横连接器。这表示包可以存储在多个存储器通道上的存储器块中,并可以通过单个DRU被提取/重构。存在有多个DRU,以增加读取带宽,并为单线输出(OC-768)系统提供负荷均衡。可替换地,在多线系统(例如4×10G以太网)中,每线分配单个DRU。
该存储器管理器包含中央池和存储器位图。该存储器位图在SRAM中实施,并且典型地为256k字节,以支持组织为512字节存储器块的1G包存储器。
如图3中所示,该控制器监管读取管线处理或从链接列表中的包恢复处理。
图4所示为两个可能的系统实施方式。存储器的8个通道提供大约20GBytes/s的数据带宽和300M每秒的随机访问。这满足了40G流量处理(2×切换结构超高速)的要求。虽然可以看到,该整个系统可以在单个装置中实施,如图4(b)中所示,但是更实际地是在多个装置上分布该功能,如图4(a)中所示。存储集线器的使用使得避免了在一个集线器上具有所有的存储器。例如,两个单芯片的范例允许每一芯片“拥有”半个通道。该到达块然后可以集线器之间分布,并且该派送块可以恢复来自该集线器的数据。可能需要平衡集线器之间的流量。
使用多个装置有许多很好的理由,包括:
如果所有装置并不围绕单个高集成的处理器集群,就可以减轻物理分布和大量存储器装置的二级互连;
该存储器技术与该主要的专有处理逻辑分开。这样能更新芯片,同时还可以维持该同一存储器系统,并且该存储器系统可以缩放,而不会过渡地增加引线的数目。现在,数据存储与该处理系统存在物理分离和逻辑分离;
如果存储器通道紧密地围绕单个芯片的周边集群,难以观察到电子特性、信号线分离和线终端上的紧规范;
功率耗散更均匀地分散。单个装置中高功率和引线数目的组合可能需要昂贵的封装技术;在所使用的多个集线器可以被缩放以满足该应用的存储器要求(例如从10G放大到40G,以及更多)时,也可以适用该多芯片方法。
该存储集线器可以设计为芯片内的逻辑块,如图4B中所示。然而,该存储集线器的一个优点在于,存储在存储器中的队列与对这些队列所进行的处理逻辑之间没有密切的关系。图4A中所示的体系结构具有将该数据存储功能的存储器与处理侧分离的优点,使得其非常容易地产生接口。在图4A中,数据流入和流出该流集线器43。在该集线器与存储集线器之间是用于指针的请求、返回的指针流41和送入的指针流以及返回的数据42。不需要复杂的握手处理。

Claims (16)

1.一种在通信系统中对可变大小的数据包进行排队的方法,该方法包括:
从所述数据包产生预定固定大小的记录部分并包含关于该包的信息,该包中的数据在数据部分中;
在第一存储器的独立存储器位置中存储数据部分,并且每一数据部分彼此之间没有联系;
在第二存储器的一个或多个所管理的队列中存储记录部分,其具有的固定大小存储器位置的大小等于记录部分的大小;
其中:
第一存储器比第二存储器大,并且具有比其小的地址带宽;并且
第一存储器中的存储器位置被设置成具有多个不同大小的块,并且根据该数据部分的大小将存储器位置分配给该数据部分。
2.如权利要求1中所述的方法,其中在设置成两个所述块的第一存储器中有两个存储器位置,一个用来接收相对较小的数据部分,并且另一个用来接收相对较大的数据部分,并且其中将太大而不能存储在单个存储器块中的数据部分存储为多个块中的链接列表,其具有指向下一块的指针,但是没有任何从该包的一个数据部分指向下一数据部分的指针。
3.如权利要求1或权利要求2中所述的方法,其中该块中的存储器位置的大小与该通信系统中最通常出现的数据包的大小匹配。
4.如权利要求1至3中任何一个所述的方法,进一步包括从有效地址的中央池成批地从提供给其的有效地址的池中分配在所述第一存储器中的存储器位置。
5.如权利要求4中所述的方法,其中存储器块分隔成多个存储器通道,该方法进一步包括顺序地跨过通道将地址分配给数据部分,从而将数据部分的存储分散在通道上。
6.如权利要求4中所述的方法,进一步包括以管线方式通过数据检索单元从第一存储器中读取数据部分,数据检索单元用于指导存储器块读出数据部分,而不必等待前一个读取完成,并且从该第一存储器中释放地址位置。
7.如前述权利要求中任何一个所述的方法,进一步包括在所接收到的包没有足够的存储器的情况下,将记录部分排队,如同对应的数据部分存储在第一存储器中,顺序读出对应于所述数据包的记录部分,设置标志用来表示将要丢弃所述包的数据部分,丢弃所述数据部分,并且释放名义上分配给所丢弃数据部分的存储器位置。
8.如权利要求6中所述的方法,进一步包括从地址的位图中读取地址位置,并且当在存储器位置存储的数据已经被读出之后释放该存储器位置时,直接将所释放的存储器位置的地址发送到该池中。
9.一种用于对所接收到的数据包进行排队的存储集线器,包括:
到达块,其用来从所述数据包产生预定固定大小的记录部分并且包含关于该包的信息,该包中的数据在数据部分中;
第一存储器,用于在独立存储器位置中存储数据部分,并且每一数据部分彼此之间没有联系;
第二存储器,用于在一个或多个所管理的队列中存储记录部分,其具有的固定大小存储器位置的大小等于记录部分的大小;
其中:
第一存储器比第二存储器大,并且具有比其小的地址带宽;并且
第一存储器中的存储器位置被设置成具有多个不同大小的块,并且根据该数据部分的大小将存储器位置分配给该数据部分。
10.如权利要求9中所述的存储集线器,其中在设置成两个所述块的第一存储器中有两个存储器位置,一个用来接收相对较小的数据部分,并且另一个用来接收相对较大的数据部分,并且其中将太大而不能存储在单个存储器块中的数据部分存储为多个决中的链接列表,其具有指向下一块的指针,但是没有任何从该包的一个数据部分指向下一数据部分的指针。
11.如权利要求9或权利要求10中所述的存储集线器,其中该块中的存储器位置的大小与该通信系统中最通常出现的数据包的大小匹配。
12.如权利要求9至11中任何一个所述的存储集线器,其中从有效地址的中央池成批地从提供给其的有效地址的池中分配在所述第一存储器中的存储器位置。
13.如权利要求12中所述的存储集线器,其中该存储器块被分隔成多个存储器通道,并且顺序地跨过通道将地址分配给数据部分,从而将数据部分的存储分散在通道上。
14.如权利要求12中所述的存储集线器,进一步包括数据检索单元,其用于以管线方式从第一存储器中读取数据部分,并指导存储器块读出数据部分,而不必等待前一个读取完成,并且从该第一存储器中释放地址位置。
15.如权利要求9至14中任何一个所述的存储集线器,进一步包括标志设置装置,使得在所接收到的包没有足够的存储器的情况下,将记录部分排队,如同对应的数据部分存储在第一存储器中,顺序地读出对应于所述数据包的记录部分,并且该标志设置装置设置标志,使得丢弃所述包的数据部分,并且释放名义上分配给所丢弃数据部分的存储器位置。
16.如权利要求14中所述的存储集线器,进一步包括地址位置的位图和装置,其可以工作以使得当在存储器位置存储的数据已经被读出之后释放该存储器位置时,直接将所释放的存储器位置的地址发送到该池中。
CN2003801084790A 2002-11-11 2003-11-11 用于流量处理的包存储系统 Expired - Fee Related CN1736066B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB0226249.1 2002-11-11
GBGB0226249.1A GB0226249D0 (en) 2002-11-11 2002-11-11 Traffic handling system
PCT/GB2003/004866 WO2004045161A1 (en) 2002-11-11 2003-11-11 Packet storage system for traffic handling

Publications (2)

Publication Number Publication Date
CN1736066A true CN1736066A (zh) 2006-02-15
CN1736066B CN1736066B (zh) 2011-10-05

Family

ID=9947583

Family Applications (4)

Application Number Title Priority Date Filing Date
CN2003801085295A Expired - Fee Related CN1736068B (zh) 2002-11-11 2003-11-11 流量管理结构体系
CN2003801084790A Expired - Fee Related CN1736066B (zh) 2002-11-11 2003-11-11 用于流量处理的包存储系统
CN2003801085308A Expired - Fee Related CN1736069B (zh) 2002-11-11 2003-11-11 计算机或通信系统中的数据包处理
CNB200380108223XA Expired - Fee Related CN100557594C (zh) 2002-11-11 2003-11-11 数据处理器的状态引擎

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN2003801085295A Expired - Fee Related CN1736068B (zh) 2002-11-11 2003-11-11 流量管理结构体系

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN2003801085308A Expired - Fee Related CN1736069B (zh) 2002-11-11 2003-11-11 计算机或通信系统中的数据包处理
CNB200380108223XA Expired - Fee Related CN100557594C (zh) 2002-11-11 2003-11-11 数据处理器的状态引擎

Country Status (5)

Country Link
US (5) US7522605B2 (zh)
CN (4) CN1736068B (zh)
AU (4) AU2003283544A1 (zh)
GB (5) GB0226249D0 (zh)
WO (4) WO2004045160A2 (zh)

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7856543B2 (en) * 2001-02-14 2010-12-21 Rambus Inc. Data processing architectures for packet handling wherein batches of data packets of unpredictable size are distributed across processing elements arranged in a SIMD array operable to process different respective packet protocols at once while executing a single common instruction stream
GB0226249D0 (en) * 2002-11-11 2002-12-18 Clearspeed Technology Ltd Traffic handling system
US7210059B2 (en) 2003-08-19 2007-04-24 Micron Technology, Inc. System and method for on-board diagnostics of memory modules
US7310752B2 (en) * 2003-09-12 2007-12-18 Micron Technology, Inc. System and method for on-board timing margin testing of memory modules
US7120743B2 (en) 2003-10-20 2006-10-10 Micron Technology, Inc. Arbitration system and method for memory responses in a hub-based memory system
US6944636B1 (en) * 2004-04-30 2005-09-13 Microsoft Corporation Maintaining time-date information for syncing low fidelity devices
US7310748B2 (en) * 2004-06-04 2007-12-18 Micron Technology, Inc. Memory hub tester interface and method for use thereof
US8316431B2 (en) * 2004-10-12 2012-11-20 Canon Kabushiki Kaisha Concurrent IPsec processing system and method
US20060101210A1 (en) * 2004-10-15 2006-05-11 Lance Dover Register-based memory command architecture
US20060156316A1 (en) * 2004-12-18 2006-07-13 Gray Area Technologies System and method for application specific array processing
EP1832054B1 (en) * 2004-12-23 2018-03-21 Symantec Corporation Method and apparatus for network packet capture distributed storage system
US20100195538A1 (en) * 2009-02-04 2010-08-05 Merkey Jeffrey V Method and apparatus for network packet capture distributed storage system
US7392229B2 (en) * 2005-02-12 2008-06-24 Curtis L. Harris General purpose set theoretic processor
US7746784B2 (en) * 2006-03-23 2010-06-29 Alcatel-Lucent Usa Inc. Method and apparatus for improving traffic distribution in load-balancing networks
US8065249B1 (en) 2006-10-13 2011-11-22 Harris Curtis L GPSTP with enhanced aggregation functionality
US7774286B1 (en) 2006-10-24 2010-08-10 Harris Curtis L GPSTP with multiple thread functionality
US8166212B2 (en) * 2007-06-26 2012-04-24 Xerox Corporation Predictive DMA data transfer
US7830918B2 (en) * 2007-08-10 2010-11-09 Eaton Corporation Method of network communication, and node and system employing the same
JP5068125B2 (ja) * 2007-09-25 2012-11-07 株式会社日立国際電気 通信装置
US8004998B2 (en) * 2008-05-23 2011-08-23 Solera Networks, Inc. Capture and regeneration of a network data using a virtual software switch
US20090292736A1 (en) * 2008-05-23 2009-11-26 Matthew Scott Wood On demand network activity reporting through a dynamic file system and method
US8625642B2 (en) 2008-05-23 2014-01-07 Solera Networks, Inc. Method and apparatus of network artifact indentification and extraction
US8521732B2 (en) 2008-05-23 2013-08-27 Solera Networks, Inc. Presentation of an extracted artifact based on an indexing technique
JP5300355B2 (ja) * 2008-07-14 2013-09-25 キヤノン株式会社 ネットワークプロトコル処理装置及びその処理方法
US8627471B2 (en) * 2008-10-28 2014-01-07 Freescale Semiconductor, Inc. Permissions checking for data processing instructions
US9213665B2 (en) * 2008-10-28 2015-12-15 Freescale Semiconductor, Inc. Data processor for processing a decorated storage notify
WO2010107413A1 (en) 2009-03-18 2010-09-23 Texas Research International, Inc. Environmental damage sensor
US8266498B2 (en) 2009-03-31 2012-09-11 Freescale Semiconductor, Inc. Implementation of multiple error detection schemes for a cache
US20110125749A1 (en) * 2009-11-15 2011-05-26 Solera Networks, Inc. Method and Apparatus for Storing and Indexing High-Speed Network Traffic Data
WO2011060377A1 (en) * 2009-11-15 2011-05-19 Solera Networks, Inc. Method and apparatus for real time identification and recording of artifacts
US8472455B2 (en) * 2010-01-08 2013-06-25 Nvidia Corporation System and method for traversing a treelet-composed hierarchical structure
US8295287B2 (en) * 2010-01-27 2012-10-23 National Instruments Corporation Network traffic shaping for reducing bus jitter on a real time controller
US8990660B2 (en) 2010-09-13 2015-03-24 Freescale Semiconductor, Inc. Data processing system having end-to-end error correction and method therefor
US8504777B2 (en) 2010-09-21 2013-08-06 Freescale Semiconductor, Inc. Data processor for processing decorated instructions with cache bypass
US8667230B1 (en) 2010-10-19 2014-03-04 Curtis L. Harris Recognition and recall memory
KR20120055779A (ko) * 2010-11-23 2012-06-01 한국전자통신연구원 지그비 기반의 음성 데이터 송수신 시스템 및 그의 음성 데이터 송수신 방법
KR20120064576A (ko) * 2010-12-09 2012-06-19 한국전자통신연구원 비대칭 스토리지 시스템에서 연속적인 읽기/쓰기를 제공하기 위한 장치 및 그 방법
US8849991B2 (en) 2010-12-15 2014-09-30 Blue Coat Systems, Inc. System and method for hypertext transfer protocol layered reconstruction
US8666985B2 (en) 2011-03-16 2014-03-04 Solera Networks, Inc. Hardware accelerated application-based pattern matching for real time classification and recording of network traffic
US8566672B2 (en) 2011-03-22 2013-10-22 Freescale Semiconductor, Inc. Selective checkbit modification for error correction
US8607121B2 (en) 2011-04-29 2013-12-10 Freescale Semiconductor, Inc. Selective error detection and error correction for a memory interface
US8990657B2 (en) 2011-06-14 2015-03-24 Freescale Semiconductor, Inc. Selective masking for error correction
US9185125B2 (en) 2012-01-31 2015-11-10 Db Networks, Inc. Systems and methods for detecting and mitigating threats to a structured data storage system
US9100291B2 (en) 2012-01-31 2015-08-04 Db Networks, Inc. Systems and methods for extracting structured application data from a communications link
US9525642B2 (en) 2012-01-31 2016-12-20 Db Networks, Inc. Ordering traffic captured on a data connection
US9092318B2 (en) * 2012-02-06 2015-07-28 Vmware, Inc. Method of allocating referenced memory pages from a free list
US9665233B2 (en) * 2012-02-16 2017-05-30 The University Utah Research Foundation Visualization of software memory usage
CN103338159B (zh) * 2013-06-19 2016-08-10 华为技术有限公司 轮询调度实现方法和装置
EP3078175B1 (en) * 2013-12-04 2019-11-27 DB CyberTech, Inc. Ordering traffic captured on a data connection
JP6249403B2 (ja) * 2014-02-27 2017-12-20 国立研究開発法人情報通信研究機構 光遅延線及び電子バッファ融合型光パケットバッファ制御装置
US10210592B2 (en) 2014-03-30 2019-02-19 Teoco Ltd. System, method, and computer program product for efficient aggregation of data records of big data
US10613963B2 (en) * 2015-03-11 2020-04-07 Protocol Insight, Llc Intelligent packet analyzer circuits, systems, and methods
KR102449333B1 (ko) 2015-10-30 2022-10-04 삼성전자주식회사 메모리 시스템 및 그것의 읽기 요청 관리 방법
US10924416B2 (en) 2016-03-23 2021-02-16 Clavister Ab Method for traffic shaping using a serial packet processing algorithm and a parallel packet processing algorithm
SE1751244A1 (en) * 2016-03-23 2017-10-09 Clavister Ab Method for traffic shaping using a serial packet processing algorithm and a parallel packet processing algorithm
CN107786465B (zh) 2016-08-27 2021-06-04 华为技术有限公司 一种用于处理低延迟业务流的方法和装置
US11112995B2 (en) * 2016-10-28 2021-09-07 Atavium, Inc. Systems and methods for random to sequential storage mapping
CN107656895B (zh) * 2017-10-27 2023-07-28 上海力诺通信科技有限公司 一种1u标准高度的正交平台高密度计算架构
RU2718215C2 (ru) * 2018-09-14 2020-03-31 Общество С Ограниченной Ответственностью "Яндекс" Система обработки данных и способ обнаружения затора в системе обработки данных
US11138044B2 (en) * 2018-09-26 2021-10-05 Micron Technology, Inc. Memory pooling between selected memory resources
US11093403B2 (en) 2018-12-04 2021-08-17 Vmware, Inc. System and methods of a self-tuning cache sizing system in a cache partitioning system
EP3866417A1 (en) * 2020-02-14 2021-08-18 Deutsche Telekom AG Method for an improved traffic shaping and/or management of ip traffic in a packet processing system, telecommunications network, network node or network element, program and computer program product

Family Cites Families (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4914650A (en) * 1988-12-06 1990-04-03 American Telephone And Telegraph Company Bandwidth allocation and congestion control scheme for an integrated voice and data network
US5187780A (en) * 1989-04-07 1993-02-16 Digital Equipment Corporation Dual-path computer interconnect system with zone manager for packet memory
DE69132495T2 (de) * 1990-03-16 2001-06-13 Texas Instruments Inc Verteilter Verarbeitungsspeicher
US5280483A (en) * 1990-08-09 1994-01-18 Fujitsu Limited Traffic control system for asynchronous transfer mode exchange
EP0485690B1 (en) * 1990-11-13 1999-05-26 International Business Machines Corporation Parallel associative processor system
US5765011A (en) * 1990-11-13 1998-06-09 International Business Machines Corporation Parallel processing system having a synchronous SIMD processing with processing elements emulating SIMD operation using individual instruction streams
JP2596718B2 (ja) * 1993-12-21 1997-04-02 インターナショナル・ビジネス・マシーンズ・コーポレイション ネットワーク通信バッファを管理する方法
US5949781A (en) * 1994-08-31 1999-09-07 Brooktree Corporation Controller for ATM segmentation and reassembly
US5513134A (en) * 1995-02-21 1996-04-30 Gte Laboratories Incorporated ATM shared memory switch with content addressing
US5633865A (en) * 1995-03-31 1997-05-27 Netvantage Apparatus for selectively transferring data packets between local area networks
EP0884876B1 (en) * 1997-05-31 2010-02-03 Texas Instruments Incorporated Improved packet switching
US6757798B2 (en) * 1997-06-30 2004-06-29 Intel Corporation Method and apparatus for arbitrating deferred read requests
US5956340A (en) * 1997-08-05 1999-09-21 Ramot University Authority For Applied Research And Industrial Development Ltd. Space efficient fair queuing by stochastic Memory multiplexing
US6088771A (en) * 1997-10-24 2000-07-11 Digital Equipment Corporation Mechanism for reducing latency of memory barrier operations on a multiprocessor system
US6052375A (en) * 1997-11-26 2000-04-18 International Business Machines Corporation High speed internetworking traffic scaler and shaper
US6097403A (en) * 1998-03-02 2000-08-01 Advanced Micro Devices, Inc. Memory including logic for operating upon graphics primitives
US6359879B1 (en) * 1998-04-24 2002-03-19 Avici Systems Composite trunking
EP1080563A1 (en) * 1998-05-07 2001-03-07 Cabletron Systems, Inc. Multiple priority buffering in a computer network
US6314489B1 (en) * 1998-07-10 2001-11-06 Nortel Networks Limited Methods and systems for storing cell data using a bank of cell buffers
US6356546B1 (en) * 1998-08-11 2002-03-12 Nortel Networks Limited Universal transfer method and network with distributed switch
US6829218B1 (en) * 1998-09-15 2004-12-07 Lucent Technologies Inc. High speed weighted fair queuing system for ATM switches
US6396843B1 (en) 1998-10-30 2002-05-28 Agere Systems Guardian Corp. Method and apparatus for guaranteeing data transfer rates and delays in data packet networks using logarithmic calendar queues
SE9803901D0 (sv) * 1998-11-16 1998-11-16 Ericsson Telefon Ab L M a device for a service network
US6246682B1 (en) * 1999-03-05 2001-06-12 Transwitch Corp. Method and apparatus for managing multiple ATM cell queues
US6952401B1 (en) * 1999-03-17 2005-10-04 Broadcom Corporation Method for load balancing in a network switch
US6574231B1 (en) * 1999-05-21 2003-06-03 Advanced Micro Devices, Inc. Method and apparatus for queuing data frames in a network switch port
US6671292B1 (en) * 1999-06-25 2003-12-30 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for adaptive voice buffering
US6643298B1 (en) * 1999-11-23 2003-11-04 International Business Machines Corporation Method and apparatus for MPEG-2 program ID re-mapping for multiplexing several programs into a single transport stream
US7102999B1 (en) * 1999-11-24 2006-09-05 Juniper Networks, Inc. Switching device
DE60038538T2 (de) * 2000-02-28 2009-06-25 Alcatel Lucent Vermittlungseinrichtung und Vermittlungsverfahren
US6662263B1 (en) * 2000-03-03 2003-12-09 Multi Level Memory Technology Sectorless flash memory architecture
ATE331369T1 (de) * 2000-03-06 2006-07-15 Ibm Schaltvorrichtung und verfahren
US6907041B1 (en) * 2000-03-07 2005-06-14 Cisco Technology, Inc. Communications interconnection network with distributed resequencing
CA2301973A1 (en) * 2000-03-21 2001-09-21 Spacebridge Networks Corporation System and method for adaptive slot-mapping input/output queuing for tdm/tdma systems
US6975629B2 (en) * 2000-03-22 2005-12-13 Texas Instruments Incorporated Processing packets based on deadline intervals
US7139282B1 (en) * 2000-03-24 2006-11-21 Juniper Networks, Inc. Bandwidth division for packet processing
CA2337674A1 (en) * 2000-04-20 2001-10-20 International Business Machines Corporation Switching arrangement and method
JP4484317B2 (ja) * 2000-05-17 2010-06-16 株式会社日立製作所 シェーピング装置
US6937561B2 (en) * 2000-06-02 2005-08-30 Agere Systems Inc. Method and apparatus for guaranteeing data transfer rates and enforcing conformance with traffic profiles in a packet network
JP3640160B2 (ja) * 2000-07-26 2005-04-20 日本電気株式会社 ルータ装置及びそれに用いる優先制御方法
DE60119866T2 (de) * 2000-09-27 2007-05-10 International Business Machines Corp. Vermittlungseinrichtung und verfahren mit getrennten Ausgangspuffern
US20020062415A1 (en) * 2000-09-29 2002-05-23 Zarlink Semiconductor N.V. Inc. Slotted memory access method
US6647477B2 (en) * 2000-10-06 2003-11-11 Pmc-Sierra Ltd. Transporting data transmission units of different sizes using segments of fixed sizes
US6871780B2 (en) * 2000-11-27 2005-03-29 Airclic, Inc. Scalable distributed database system and method for linking codes to internet information
US6888848B2 (en) * 2000-12-14 2005-05-03 Nortel Networks Limited Compact segmentation of variable-size packet streams
US7035212B1 (en) * 2001-01-25 2006-04-25 Optim Networks Method and apparatus for end to end forwarding architecture
US20020126659A1 (en) * 2001-03-07 2002-09-12 Ling-Zhong Liu Unified software architecture for switch connection management
US6728857B1 (en) * 2001-06-20 2004-04-27 Cisco Technology, Inc. Method and system for storing and retrieving data using linked lists
US7382787B1 (en) * 2001-07-30 2008-06-03 Cisco Technology, Inc. Packet routing and switching device
US6996117B2 (en) * 2001-09-19 2006-02-07 Bay Microsystems, Inc. Vertical instruction and data processing in a network processor architecture
US6900920B2 (en) * 2001-09-21 2005-05-31 The Regents Of The University Of California Variable semiconductor all-optical buffer using slow light based on electromagnetically induced transparency
US20030081623A1 (en) * 2001-10-27 2003-05-01 Amplify.Net, Inc. Virtual queues in a single queue in the bandwidth management traffic-shaping cell
US7215666B1 (en) * 2001-11-13 2007-05-08 Nortel Networks Limited Data burst scheduling
US20030145086A1 (en) * 2002-01-29 2003-07-31 O'reilly James Scalable network-attached storage system
US7047374B2 (en) * 2002-02-25 2006-05-16 Intel Corporation Memory read/write reordering
US6862639B2 (en) * 2002-03-11 2005-03-01 Harris Corporation Computer system including a receiver interface circuit with a scatter pointer queue and related methods
US7126959B2 (en) * 2002-03-12 2006-10-24 Tropic Networks Inc. High-speed packet memory
US6928026B2 (en) * 2002-03-19 2005-08-09 Broadcom Corporation Synchronous global controller for enhanced pipelining
US20030188056A1 (en) * 2002-03-27 2003-10-02 Suresh Chemudupati Method and apparatus for packet reformatting
US7239608B2 (en) * 2002-04-26 2007-07-03 Samsung Electronics Co., Ltd. Router using measurement-based adaptable load traffic balancing system and method of operation
JP3789395B2 (ja) * 2002-06-07 2006-06-21 富士通株式会社 パケット処理装置
US20040039884A1 (en) * 2002-08-21 2004-02-26 Qing Li System and method for managing the memory in a computer system
US6950894B2 (en) * 2002-08-28 2005-09-27 Intel Corporation Techniques using integrated circuit chip capable of being coupled to storage system
US7180899B2 (en) * 2002-10-29 2007-02-20 Cisco Technology, Inc. Multi-tiered Virtual Local area Network (VLAN) domain mapping mechanism
GB0226249D0 (en) * 2002-11-11 2002-12-18 Clearspeed Technology Ltd Traffic handling system
KR100532325B1 (ko) * 2002-11-23 2005-11-29 삼성전자주식회사 터보 복호기의 입력 제어 방법 및 장치
WO2005036839A2 (en) * 2003-10-03 2005-04-21 Avici Systems, Inc. Rapid alternate paths for network destinations
US7668100B2 (en) * 2005-06-28 2010-02-23 Avaya Inc. Efficient load balancing and heartbeat mechanism for telecommunication endpoints

Also Published As

Publication number Publication date
US20050243829A1 (en) 2005-11-03
WO2004045162A2 (en) 2004-05-27
GB0511587D0 (en) 2005-07-13
US7522605B2 (en) 2009-04-21
CN1736069A (zh) 2006-02-15
AU2003283539A1 (en) 2004-06-03
CN1736066B (zh) 2011-10-05
GB2411271A (en) 2005-08-24
CN100557594C (zh) 2009-11-04
CN1735878A (zh) 2006-02-15
AU2003283559A1 (en) 2004-06-03
US7843951B2 (en) 2010-11-30
AU2003283544A1 (en) 2004-06-03
US20050257025A1 (en) 2005-11-17
GB2413031B (en) 2006-03-15
US8472457B2 (en) 2013-06-25
US20110069716A1 (en) 2011-03-24
US20050265368A1 (en) 2005-12-01
WO2004045160A2 (en) 2004-05-27
CN1736069B (zh) 2012-07-04
GB2412035A (en) 2005-09-14
GB2413031A (en) 2005-10-12
GB0226249D0 (en) 2002-12-18
GB0509997D0 (en) 2005-06-22
WO2004044733A3 (en) 2005-03-31
US7882312B2 (en) 2011-02-01
AU2003283545A1 (en) 2004-06-03
US20050246452A1 (en) 2005-11-03
WO2004044733A2 (en) 2004-05-27
GB0511588D0 (en) 2005-07-13
WO2004045160A3 (en) 2004-12-02
GB0511589D0 (en) 2005-07-13
GB2412035B (en) 2006-12-20
GB2412537B (en) 2006-02-01
CN1736068B (zh) 2012-02-29
CN1736068A (zh) 2006-02-15
AU2003283545A8 (en) 2004-06-03
GB2412537A (en) 2005-09-28
GB2411271B (en) 2006-07-26
WO2004045162A3 (en) 2004-09-16
WO2004045160A8 (en) 2005-04-14
WO2004045161A1 (en) 2004-05-27

Similar Documents

Publication Publication Date Title
CN1736066B (zh) 用于流量处理的包存储系统
US7324509B2 (en) Efficient optimization algorithm in memory utilization for network applications
US5805589A (en) Central shared queue based time multiplexed packet switch with deadlock avoidance
CN1149223A (zh) 具有可指定的多种分组丢失概率的Tbit/s级分组交换机
CN112084136B (zh) 队列缓存管理方法、系统、存储介质、计算机设备及应用
CN1267418A (zh) 连网系统
US20040037322A1 (en) Methods and apparatus for processing packets including distributing packets across multiple packet processing engines and gathering the processed packets from the processing engines
CN1214168A (zh) 有效的输出请求分组交换设备和方法
CN1545658A (zh) 具有双端口存储器仿真配置的交换结构
CN1149222A (zh) 具有多信道广播带外控制的atm分组交换机
US20040039787A1 (en) Methods and apparatus for processing packets including accessing one or more resources shared among processing engines
CN1656470A (zh) 芯片处理器间的控制平面通信
US7675930B2 (en) Chip circuit for combined and data compressed FIFO arbitration for a non-blocking switch
JP2002510813A (ja) 電気通信交換器内のampicdramシステム
EP1530854B1 (en) Packet processing engine
CN107241156B (zh) 一种信元保序方法及装置
CN1860747A (zh) 分级调度
CN100495974C (zh) 数据传输过程中的流量整形方法
CN1125548C (zh) 依序转发包的输出排队方法
CN1221109C (zh) 具有多级缓冲器的负载平衡式交换装置及方法
JP3880890B2 (ja) セルスイッチ及びセル交換方法
CN1602014A (zh) 为网络处理器调度连接的方法与装置
CN1038006A (zh) 信息包交换、交换方法、规程和网络
JPH0696169A (ja) 拡張された像蓄積および分散構造体
US20160057069A1 (en) Packet engine that uses ppi addressing

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: RAMBUS INC.

Free format text: FORMER OWNER: CRIRSPETER TECHNOLOGY INC.

Effective date: 20110415

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: BRISTOL, UK TO: CALIFORNIA, THE USA

TA01 Transfer of patent application right

Effective date of registration: 20110415

Address after: American California

Applicant after: Rambus Inc.

Address before: Bristol

Applicant before: Crirspeter Technology Inc.

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20111005

Termination date: 20201111

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