CN101232450A - 数据分组处理设备 - Google Patents

数据分组处理设备 Download PDF

Info

Publication number
CN101232450A
CN101232450A CNA2008100088515A CN200810008851A CN101232450A CN 101232450 A CN101232450 A CN 101232450A CN A2008100088515 A CNA2008100088515 A CN A2008100088515A CN 200810008851 A CN200810008851 A CN 200810008851A CN 101232450 A CN101232450 A CN 101232450A
Authority
CN
China
Prior art keywords
memory
data
segmentation
table memory
pdu
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
CNA2008100088515A
Other languages
English (en)
Other versions
CN101232450B (zh
Inventor
R·图特
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.)
Intel Corp
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Publication of CN101232450A publication Critical patent/CN101232450A/zh
Application granted granted Critical
Publication of CN101232450B publication Critical patent/CN101232450B/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
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9047Buffering arrangements including multiple buffers, e.g. buffer pools
    • H04L49/9052Buffering arrangements including multiple buffers, e.g. buffer pools with buffers of different sizes
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • H04L49/9068Intermediate storage in different physical parts of a node or terminal in the network interface card
    • H04L49/9073Early interruption upon arrival of a fraction of a packet

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Communication Control (AREA)

Abstract

数据分组处理设备。公开了一种用于数据分组处理的设备。在一个实施例中,设备包括在芯片上实现的处理器、可由处理器访问的芯片上内部分段存储器、芯片外外部分段存储器以及在内部分段存储器和外部分段存储器之间的数据传送通道。外部分段存储器包括第一和第二存储器分段,其中第一和第二存储器分段的大小不同。

Description

数据分组处理设备
技术领域
本发明涉及通信设备,并且更特别地涉及数据处理设备,其包含在分组交换通信网络中使用的处理器。
背景技术
在分组交换通信***中,数据在***单元之间通过分组也称为PDU(协议数据单元)来传送。在一些***单元中,PDU受协议处理的影响。在这些***单元中,需要在协议处理之前、期间或之后临时存储PDU。
在传统***中,内部(即“芯片上”)小存储器和外部(即“芯片外”)大存储器用于存储PDU。小的内部存储器是昂贵的,但是与协议处理器位于同一芯片上,并因此快速且与协议处理紧密地耦合。大的外部存储器不昂贵并且在高PDU的交通量的情况下提供所需的足够存储容量。另一方面,相比于内部存储器,外部存储器只可经由外部接口访问,导致了带宽限制和低访问速度。
通常,分段存储器被用作为内部存储器和外部存储器。分段存储器以给定大小的存储器分段而被布置。每个分段和固定的段地址关联。分段存储器允许有效和通用的存储管理,主要是因为存储器分段可以在列表中连接并自由地分配给不同的应用。
发明内容
公开了一个实施例,其提供了一种用于数据分组处理的设备。在一个实施例中,设备包括在芯片上实现的处理器、可由处理器访问的芯片上内部分段存储器、芯片外外部分段存储器以及在内部分段存储器和外部分段存储器之间的数据传送通道。外部分段存储器包括第一和第二存储器分段,其中第一和第二存储器分段的大小不同。
附图说明
附图被包括以提供对本发明的进一步理解并且合并进来且构成本说明书的一部分。这些附图说明了本发明的实施例并且结合说明书来阐明本发明的原理。本发明的其它实施例和本发明的许多预期优点将容易被理解,因为参考随后的详细描述它们变得更容易理解。附图的元素不需要彼此成比例。相同的附图标记指定对应的类似部件。当结合附图阅读时本发明的实施例在随后的详细描述中将更加明显,其中:
图1是用于数据处理的***的框图,该***包括与内部和外部存储器协作的协议处理器。
图2是说明在图1的***中使用的内部数据结构的示意图。
图3是用于数据处理的***的框图,该***包括与内部和外部存储器协作的协议处理器以及存储器分段分配管理布置。
图4是说明用于外部分段存储器的存储管理的外部表格存储器的结构的示意图。
图5是说明用于外部分段存储器的存储管理的内部表格存储器的结构的示意图。
图6是说明用于存储器分段分配的处理的流程图。
图7是说明用于两个外部分段存储器的存储管理的内部表格存储器的结构的示意图。
图8是说明在两个外部表格存储器和一个内部表格存储器之间地址传送的框图。
具体实施方式
在随后的详细描述中,参考了附图,这些附图形成了这里描述的一部分,并且其中通过说明的方式示出了特定的实施例,在这些实施例中实施了本发明。在这点上,参考所描述的附图的方位使用方向术语,比如“顶部”、“底部”、“前面”、“后面”、“前沿”、“拖后”等。因为本发明的实施例的部件可以位于多个不同的方位,所以方向术语用于说明的目的且绝不是限制性的。应当理解,在不偏离本发明的范围的情况下可以使用其它实施例并且可以做出结构或逻辑变化。因此,随后的详细描述不是以限制意义做出的,并且本发明的范围由所附权利要求限定。
随后更具体详述的本发明的实施例可应用于分组交换数据通信***、网络以及随后的TCP(传输控制协议)、IP(互联网协议)和以太网协议之中的协议。图1说明用于数据处理的***的简化框图。该***包括输入数据处理单元101、外部存储器102、内部存储器103、协议处理器104和输出数据处理单元105。进入的PDU达到输入数据处理单元101的输入端106。PDU何时到达、有多少PDU到达以及它们到达的顺序是不可预测的。此外,PDU的长度通常是可变的并且通常不能预测或预测可能不准确。
输入数据处理单元101将PDU使用的数据格式转换为用于存储和协议处理目的的内部数据格式。以这种内部数据格式格式化的数据接着经由数据连接107被存储在外部存储器102中。PDU对于协议处理所需的那部分接着经由数据连接108被传送到内部存储器103。协议处理器104经由双向数据连接109访问内部存储器103。如在后面详细更描述的,在协议处理期间,在内部存储器103中存储的数据被改变。接着,改变的数据经由数据连接110返回到外部存储器102并且可以存储在获得它的相同存储单元上。最终,以内部数据格式构造并包含在协议处理期间改变的数据部分的PDU数据经由数据连接111被转发到输出数据处理单元105。输出数据处理单元105执行与输入数据处理单元101的操作反向的操作,即将根据内部数据格式构造的进入数据重新变换为由PDU使用的数据格式。这些PDU接着在输出数据处理单元105的输出端112输出。
应注意到,外部存储器102是芯片外的,即是在与内部存储器103和协议处理器104不同的芯片上实现的。因此,经由数据连接108和110传送的数据通过为外部设备设计的接口(在图1中未示出)。输入数据处理单元101和输出数据处理单元105通常在与内部存储器103和协议处理器104相同的芯片上实现。因此,数据连接107和111也使用外部设备的接口。
根据一个方面,外部存储器102具有至少两个不同长度的存储器分段,即长度较小的第一存储器分段120,和长度比第一存储器分段120长的第二存储器分段121。内部存储器103也是分段存储器。但是,内部存储器103可能只包括相同长度的存储器分段122。通常,内部存储器103中的存储器分段122的长度与外部存储器102中的第一存储器分段120的长度相同或相似。因此,由协议处理器104执行的协议处理只在具有固定长度的存储器分段122上操作。
图2说明由输入数据处理单元101生成的内部数据格式的例子。内部数据格式包括具有不同分段长度的两个不同的数据分段。到达输入数据处理单元101的输入端106的PDU被映射到具有第一分段长度的第一数据分段201,并且如果不是PDU的所有数据都适合于第一数据分段201,则映射到第二分段长度的一个或多个第二数据分段202、203。第一数据分段201被再分成三个子分段,即描述符204、初级编辑空间205和PDU头部空间206。第二数据分段202、203可以是连续的,即不具有内部数据结构。
描述符204可以具有预定长度。初级编辑空间205和PDU头部空间206之间的边界207可以是可变的。边界207相对于第一数据分段(即描述符204的第一位)开始的位置可以在描述符中指明。
作为一个例子,描述符204可以具有预定长度的32字节,并且初级编辑空间205的初始长度也可以是32字节。输入数据处理单元101接收由PDU头部和PDU体部组成的PDU。边界207是用于将PDU数据映射到第一和第二数据分段201、202、203的起始点。当PDU头部表示PDU的前导数据时,取决于PDU头部空间206的长度,三种情况可在操作中出现。第一,完整的PDU头部和一些或所有随后的PDU体部数据被复制到PDU头部空间206中。第二种可能是,PDU头部空间206正好具有PDU头部的长度。在该情况下,PDU头部也被完全复制到PDU头部空间206中并且全部填充该PDU头部空间206。第三种可能性是,PDU头部具有大于PDU头部空间206的长度。在该情况下,从边界207开始,只有PDU的前导部分被复制到内部数据格式的PDU头部空间206中。
在所有三种情况下,不适合第一数据分段201的PDU数据被无缝地复制到第二分段202、203等。换句话说,无论考虑哪种情况(PDU头部空间206大于、等于或小于PDU头部),不适合第一数据分段201的第一个PDU位是第二数据分段202中的前导位。如果要求两个或多个第二数据分段203,则后续第二数据分段202、203之间的对准也是无缝的。
如果外部存储器102是具有不同长度的存储器分段120、121的分段存储器,第一数据分段201被传送到第一存储器分段120,并且第二数据分段202、203(如果有的话)被存储在第二存储器分段121中。应当注意的是,第一存储器分段120的大小可以与第一数据分段201的长度相同,并且第二存储器分段121的大小可以与第二数据分段202、203的长度相同。但是,存储器分段大小还可以分别大于或小于对应的数据分段长度。
在各个实施例中,只有第一数据分段201经受协议处理。因此,将经由数据连接108将第一数据分段201从外部存储器102中的第一存储器分段120传送到内部存储器103中的存储器分段122。在一个实施例中,第一数据分段201的长度等于内部存储器103中的存储器分段122的大小或是其的整数倍。在该情况下,第一存储器分段120从外部存储器102到内部存储器103的复制不导致任何的切断或浪费。
在协议处理期间,协议处理器104经由内部数据连接109访问第一数据分段201。边界207是协议处理的起始点。这个起始点是从描述符204得知的。在协议处理期间,PDU头部数据被修改。
根据OSI(开放***互联)参考模型,PDU头部中的协议层的相关性在到更高协议的方向上降低,即在朝着有效负载的方向(左边)上。因此,PDU头部的修改可能从边界207开始并且传播到左边。换句话说,对于协议处理相关的协议数据通常位于PDU头部的开始处。取决于协议处理的细节,只需要修改PDU头部达到某个处理深度。
可以在各种实施例中提供许多不同类型的PDU头部处理。
-可能的情况是,PDU头部的长度不扩展或减小,而只修改达到与边界207有关的某个深度。在该情况下,初级编辑空间205仍然未使用并且边界207的位置在描述符204中不必更新。
-基本地,PDU头部长度可以在协议处理期间增加或减小。如果添加了PDU头部,则新的PDU头部数据被写入到初级编辑空间205。此外,(初始的)PDU头部空间206中的PDU头部数据可以被修改但是不能移动。用新的PDU头部数据编辑初级编辑空间205导致了边界207在右边方向的位移。因此,描述符204被更新以便指明新的边界207位置。
-如果PDU头部的长度在协议处理期间减小,在左边方向上从边界207开始取消PDU头部数据。并且,PDU头部数据可以被修改但不能被移动,并且边界207的位置在描述符204中被更新。
为了概括,在最后两个例子中,即当增加PDU头部数据的长度时或当减小PDU头部数据的长度时,现有的PDU头部数据可以被修改或可以保持未修改。这里,未修改意味着数据没有被其它数据代替,但是,它可以被删除。PDU头部数据的增长或缩减都通过重新布置边界207来适应。在上述的所有情况下,因为PDU头部数据不被移位,PDU头部数据和PDU体部数据(有效负载)之间的连接保持稳定。
在协议处理之后,修改的第一数据分段201从内部存储器103复制到外部存储器202。每个数据分段201可以被复制到从中读取它的相同存储单元(第一存储器分段120)。在其它实施例中,数据分段201可以被复制到其它存储器分段。
因为PDU头部空间206中的数据不被移动,输出数据处理单元105可以通过将处理的第一数据分段201链接到第二数据分段202、203(如果有的话)来简单地重新装配PDU。因此,输出数据处理单元105可以在不进行任何进一步处理的情况下从边界207的更新位置开始传输重新装配的数据。
第一数据分段201(即对于协议处理“可见”的数据)的长度可以根据各种准则来选择。第一数据分段201的最小长度由描述符204的长度加上初级编辑空间205的长度加上协议处理器104中协议处理所需要的PDU头部的处理深度来给出。因此,因为外部存储器102和内部存储器103之间的最小数据传送的缘故,第一数据分段201的长度可适于由协议处理器104完成的协议处理的处理深度。
在各个实施例中,第一数据分段201的长度可以适于内部分段存储器中的存储器分段122的预定大小和/或适于外部分段存储器中的第一存储器分段120的固定大小。在该情况下,第一数据分段201的长度通常是2的整数次幂。
又一种可能性是,使第一数据分段201的长度适于进入的PDU的长度分布。作为一个例子,已知的是,在接入网络中的IP PDU的长度分布可以由特征曲线逼近。一种简单的已知逼近是所谓的IMIX分布。根据IMIX分布,十二个PDU中的七个PDU的大小小于或等于40字节(58.3%),十二个PDU中的四个PDU的大小大于40字节但小于1400字节,由此33.3%的特性累积显露了大约500个字节,并且十二个PDU中的一个PDU的大小大于1400字节(8.3%)。因此,PDU头部空间206的长度(其定义了第一数据分段201的长度,前提是描述符204的长度和编辑空间205的长度被预先确定)可以被选择,使得大约50%或大于50%的PDU完全适合于PDU头部空间206。在该情况下,只在50%或小于50%的PDU到达中才需要第二数据分段202、203,减轻了外部分段存储器102中的存储分配的操作消耗。
主要包含有效负载数据的第二数据分段202、203的长度适于外部分段存储器102中的第二存储器分段121的大小。例如,第二数据分段202、203可能具有范围从128到2048字节的长度。
将要注意,第一数据分段201的长度和第二数据分段202、203的长度可以具有不是2的整数次幂的值。这种长度可以用于按照优化准则来“定制(tailor-made)”长度调整。但是,当试图防止可使用地址空间出现“洞”时,存储分配的消耗上升。
如果所要求的处理深度和所要求的初级编辑空间205的和具有不大于96字节的长度,则128字节的第一数据分段长度是有利的。这个长度可以被再划分为用于描述符204的固定32字节、在64和96字节之间的PDU头部空间206以及0和32字节之间的对应初级编辑空间205,参看图2。如已经提到的,初级编辑空间205位于描述符204和如由输入数据处理单元101确定的PDU头部空间206的开始之间。将要注意到,用于初级编辑空间205的32字节长度足以容纳在实践中经历的普通PUD头部扩展。
利用例如小于2088字节的最大PDU长度(就如例如在以太网协议的基础上在接入网络中所规定的),1024字节的第二数据分段202、203的长度可能是有利的。在该情况下,对于存储PDU需要两个第二数据分段202、203的最大值。接着以内部数据格式的PDU数据可能仅由四个地址来描述:
(1)第一数据分段201的地址(例如16到24位)
(2)PDU头部空间在第一数据分段201中的相关开始地址,即边界207的位置(例如5到7位)
(3)第二数据分段202的地址,如果有的话(例如16到24位)
(4)第二数据分段203的地址,如果有的话(例如16到24位)
地址(2)、(3)和(4)可以存储在第一数据分段201的描述符204中。因此,不需要地址的链式链接(chain-linking)。
返回图1,应注意的是,外部分段存储器102还可以用两个以上的分段大小来组织。例如,如果使用三个分段大小,则三个分段大小可分别是128、512和1024字节。内部分段存储器103还可以具有不同的存储器分段大小,但是通常只用一个存储器分段大小来组织,因为通常只有第一数据分段201被存储在内部分段存储器103中。
应注意的是,如图1所描述的多分段大小外部分段存储器102的规定和以上结合图2阐明的内部数据格式的规定不是必须被组合。使用具有多个分段大小的外部分段存储器102的数据处理***可以将另一个内部数据格式用作为以上阐明的类型。反之亦然,以上结合图2阐明的内部数据格式可在装备有只包括相同大小的存储器分段的外部分段存储器102的传统数据处理***中使用。
图3说明与图1所描绘的数据处理***类似的数据处理***的简化框图。因此,附图标记301到312分别涉及图1中用附图标记101到112表示的相同单元。外部分段存储器302的第一存储器分段320和第二存储器分段321分别涉及如图1所示的第一存储器分段120和第二存储器分段121。同样,内部分段存储器303的存储器分段322对应于如图1所示的存储器分段122。
根据本发明的另一个方面,提供了外部分段存储器302的存储器分段分配管理。图3中所示的存储器分段分配管理布置包括外部(“芯片外”)表格存储器330、内部(“芯片上”)表格存储器331和经由双向数据连接333耦合到内部表格存储器331的指针交换单元332。内部表格存储器331和外部表格存储器332通过双向数据连接334彼此耦合。输入数据处理单元301和输出数据处理单元305分别经由数据连接335和336都耦合到内部表格存储器331。
首先,假设外部分段存储器302是只具有相同大小存储器分段的分段存储器。换句话说,第一和第二存储器分段320、321相同。
当输入数据处理单元301已经根据内部数据格式在一个或多个数据分段中构造了进入的PDU,则这些数据分段可以被快速存储在外部分段存储器302中。另一方面,当输出数据处理单元305已经从外部分段存储器302接收所需要的数据分段201、202、203用于重新装配PDU时,从中获得数据分段201、202、203的存储器分段320、321可以被快速地提供给输入数据处理单元301,以作为空闲(即未占用)的存储器分段以便准备好重用。为了解决以上问题,根据示例实施例的存储管理在下面描述。
外部分段存储器302的空闲的存储器分段320、321在相应的列表中被引用,这些列表在外部表格存储器330和内部表格存储器331中存储和更新。图4说明了在外部分段存储器302中的存储器分段320、321的所有分段地址的列表。该列表在外部表格存储器330中被维护和更新。2k是外部分段存储器302中的存储器分段的数量。因此,每个存储器分段320、321可以由具有k个位的分段地址来寻址。结果,外部表格存储器330的大小至少是2k×k个位。在图4中,分段地址用0,1,2,…,2k-2,2k-1来表示。对于这些分段地址的每一个,外部表格存储器330提供了k个位的存储器空间。如果分段地址与所使用的存储器分段320、321相关联,则外部表格存储器330中的对应k位存储器空间没有条目,参看与具有地址1,3,5,6,…,2k-3,2k-1的存储器分段关联的阴影存储器空间。否则,如果与分段地址关联的存储器分段320、321是空闲的,则对应的存储器空间存储下一空闲的存储器分段320、321的分段地址。根据图4,与分段地址0,2,4,7,8,…,2k-2关联的存储器分段320、321是空闲的存储器分段320、321。与分段地址0关联的存储器空间存储分段地址4,其是下一空闲的存储器分段320、321的分段地址。与分段地址4关联的存储器空间存储分段地址2,即指向由分段地址2寻址的下一空闲的存储器分段320、321的指针,等等。从上面清楚的是,外部表格存储器330维护与外部分段存储器302的空闲的存储器分段320、321关联的分段地址的有序列表。分段地址的有序列表读取0,4,2,8,7,2k-2。分段地址的顺序表示随时间的顺序,指明存储器分段320、321变得空闲的顺序(或者如后面将阐明的,就作为释放的存储器分段的地址从内部表格存储器331传送到外部表格存储器330)。
当外部表格存储器330是芯片外的时,输入数据处理单元301或输出数据处理单元305和外部表格存储器330之间的存储器访问将相当慢。另一方面,由于外部表格存储器330的至少2k×k个位的可观大小,在许多情况下将这种表格存储器实现为“快速”内部表格存储器是不现实的。因此,根据图4,使用用于分段地址管理的第二个大小较小的表格存储器331,其是内部(即芯片上)存储器。图5说明这个内部表格存储器331的组织。
类似于外部表格存储器330,内部表格存储器331列出与外部表格存储器302的空闲存储器分段关联的分段地址。根据这些实施例,只有与空闲存储器分段关联的分段地址子集存储在内部表格存储器331中。更具体地,内部表格存储器331可以具有适于存储2i个分段地址的存储器大小,其中i<k。在图5中,数字0,1,2,…,2i-2,2i-1索引这i个存储器空间。每个存储器空间具有大小为k的第一子空间,其中可以存储与外部分段存储器302的存储器分段320、321关联的分段地址。此外,每个存储器空间具有大小为i的第二子空间,其中可存储内部表格存储器331的地址。大小为i的该第二子空间允许对与空闲存储器分段320、321关联的分段地址进行排序。参考图5所示的例子,与空闲的存储器分段320、321关联的分段地址存储在内部表格存储器331的地址1,2,4,5,8,…,2i-3之下。类似于图5,阴影存储器空间涉及空闲的存储器分段320、321。(与外部分段存储器302的空闲的存储器分段320、321关联的)分段地址的顺序是1,2,5,4,8,2i-3。在图5中,该列表被表示为“分配的空闲指针列表”。
在图5中,阴影的存储器空间是备用存储器区域。备用存储器区域也可以在列表中维护。这在图5中指示,其中每个备用存储器空间的第二子空间包含内部表格存储器331指向下一个备用存储器空间的地址。在图5描绘的例子中,备用地址列表(图5中称为“备用指针列表”)读取7,2i-2,2i-1,0,3,6。
作为例子,如果内部表格存储器331具有4K个条目(即存储器空间),则i=12。1M个分段的外部分段存储器302使用具有k=20个位的地址。因此,内部表格存储器331的字长度可因此是k+i=20+12=32位。这个字长度根据的是最普通的协议处理器304和外部设备的最普通接口两者的字长度。
随后描述存储器分段分配管理的示例操作。当输出数据处理单元305从外部分段存储器302读出分段数据时,它经由数据连接336向内部表格存储器331通知变为空闲的存储器分段320、321的分段地址。另一方面,当输入数据处理单元301需要在外部分段存储器302的存储器分段320、321中存储生成的数据分段201、202、203时,经由数据连接335可迅速获得空闲的存储器分段地址。当内部表格存储器330、输入数据处理单元301和输出数据处理单元305都在同一芯片上实现时,在这些单元之间快速传送分段地址是可能的。
换句话说,内部表格存储器331操作用于维护与空闲的存储器分段320、321关联的分段地址的有限储存或供应,以便加速外部存储器302的存储器分段分配管理。地址请求和地址释放主要针对内部表格存储器331,只要在内部表格存储器331中维护的空闲分段地址的列表不被耗尽。如果地址请求和地址释放很大程度上被平衡,则内部表格存储器331可以满足在很长时间上提供和取回分段地址的需要。访问外部表格存储器330的存储器的数量被显著减小,这类似于高速缓冲效果。应当理解的是,外部表格存储器330和输入/输出数据处理单元301、305之间的可选数据连接没有在图3中示出。但是,当进入和出去的PDU的量可以随时间显著变化时,可以是这样的情况,即来自输入数据处理单元301的大量的分段地址请求可以耗尽内部表格存储器331。相反,输出数据处理单元305的大量分段地址的释放可能导致内部表格存储器331的溢出。为了防止内部表格存储器331的这种下溢或溢出状况,内部表格存储器331可以经由双向数据连接334与外部表格存储器330交换空闲的分段地址(也称为指针)。
更具体地,在也表示为下溢传送的第一情况下,从在外部表格存储器330中维护的列表(图4)中提取与空闲的存储器分段320、321关联的分段地址,将其传送到内部表格存储器331并添加到图5所显示的分段地址列表。当从在外部表格存储器330中维护的列表提取分段地址时,这个分段地址将已经被记录在外部表格存储器330中维护的分段地址列表中,以作为所使用的分段地址,尽管它不会被有效地使用,直到这个分段地址被从内部表格存储器331移交到输入数据处理单元301。因此,空闲分段320、321的地址将保存在内部表格存储器331中或在外部表格存储器330中,但是不会在表格存储器331、330两者中。结果,外部表格存储器330可被看作为空闲的存储器分段320、321的附加地址的存储池,这些附加的地址不包含在保存在内部表格存储器331中的列表中。
在第二种情况下,也表示为上溢传送,从在内部表格存储器331中维护的地址列表中提取分段地址,将其经由双向数据连接334传送到外部表格存储器330并添加到与外部表格存储器330中的空闲存储器分段关联的分段地址列表。这防止了在输出数据处理单元305的高活动性和输入数据处理单元301的低活动性的情况下内部表格存储器303的上溢输出。
如果两个列表(空闲地址列表和备用地址列表)被保存在根据图5的内部表格存储器331中,存储器分段分配管理的示例操作可如下:在开始处,备用地址列表覆盖所有的存储器空间。随后的转变可被定义为:
-当外部存储器302的空闲地址(即空闲存储器分段的地址)被分配用于存储PDU时,来自空闲地址列表的条目被移除并添加到备用地址列表。
-当外部存储器302中的PDU地址被释放,来自备用地址列表的条目被移除,PDU地址被写入到该条目并且将该条目添加到空闲地址列表。
-当空闲地址从外部表格存储器330传送到内部表格存储器331时,来自空闲地址列表的条目被移除,空闲地址被写入到该条目并且将该条目添加到空闲地址列表(下溢传送操作)。
-当地址从内部表格存储器331中的空闲地址列表传送到外部表格存储器330时,从空闲地址列表中移除该地址并将其添加到内部表格存储器331中的备用地址列表(溢出传送操作)。
指针交换单元332可以用于控制地址的下溢传送和/或溢出传送。为此,指针交换单元332可以经由双向数据连接333监控内部表格存储器331的填充水平,如图6的S1处所示。
在S2,填充水平可以例如与两个阈值比较,即较高的阈值和较低的阈值。
在S3,判定填充水平是低于较低阈值、高于较高阈值还是在较低阈值和较高阈值之间。如果填充水平低于较低阈值,则启动多个连续的下溢传送操作(在S4)。相反,如果填充水平高于较高阈值,则启动多个连续的溢出传送操作(在S5)。如果填充水平在较低阈值和较高阈值之间,则不需要地址传送(在S6)。
上述的过程可以通过实现下溢传送操作和/或溢出传送操作的滞后而被细化。在滞后的下溢传送操作中,提供较低的下溢阈值和较高的下溢阈值。如果填充水平低于较低的下溢阈值,则启动下溢地址传送,并且当填充水平高于较高的下溢阈值时停止。相反,在滞后的溢出地址传送操作中,提供较低的溢出阈值和较高的溢出阈值。当填充水平超过较高的溢出阈值时,启动溢出地址传送,并且当填充水平低于较低的溢出阈值时停止溢出地址传送。
通过适当选择较低和较高的下溢和溢出阈值,可能使地址传送的数量最小化并按照不同PDU负载分布找到最佳设置。
随后,假设外部分段存储器302包括两个类型的具有不同分段大小的存储器分段120、121。外部分段存储器302的详细描述已经在上面提供,并且将不在这里描述。可参考上面的阐述。
图7说明当考虑两个存储器分段大小时的内部表格存储器331的组织。并且,已经如在图5中说明的,内部表格存储器331具有有限数量的2i个地址空间,包括字长度为k(例如k=20)的第一存储器子空间和字长度为i(例如i=12)的第二存储器子空间。但是,由于外部表格存储器330包括两个类型的存储器分段320、321,两个分段空闲地址列表在内部表格存储器331被处理。如图7中所分配的空闲指针列表1所表示的第一空闲列表列举了第一存储器分段320的空闲地址,该空闲地址旨在存储由输入数据处理单元301产生的第一数据分段201。如图7中所分配的空闲指针列表2所表示的第二列表列举了第二存储器分段321的空闲地址,该空闲地址旨在存储由输入数据处理单元301产生的第二数据分段202、203。应当注意,两个列表的和不能大于2i,因为两个列表都在相同的内部表格存储器331中维护。不是使用内部表格存储器331的固定部分来在物理分离的存储器区域中维护两个列表,而是这两个列表都可以分布在整个存储器空间,并且每个存储器空间都可以由这两个列表使用(但不能同时)。
参考图7,分配的空闲指针列表1读取1,2,5,4,8,2i-3。分配的空闲指针列表2读取0,7,2i-1。在分配的空闲指针列表1的情况下,第一存储器子空间存储第一存储器分段320的存储器地址。在分配的空闲指针列表2的情况下,第一存储器子空间存储第二存储器分段321的存储器地址。注意到,第一和第二存储器分段320、321的分段地址可以具有不同的字长度。
类似于图5,还是在图7中,备用存储器空间可在备用存储器地址列表中处理。在图7中,这个第三列表被称为备用指针列表。备用存储器地址列表包括内部表格存储器331中的条目,这些条目不包含来自外部存储器302中的空闲的第一或第二存储器分段320、321的地址,即剩余的地址,这些地址不包含在分配的空闲指针列表1或分配的空闲指针列表2中。在图7中,备用存储器地址列表读取3,6,2i-2。
在开始时,备用存储器地址列表覆盖内部表格存储器331中的整个存储器空间。存储器分段分配管理的操作可包含以下八个转变:
-当关联于第一存储器分段320的空闲地址被分配用于存储第一数据分段时,来自空闲地址列表1的条目被移除并被添加到备用存储器地址列表。
-当关联于第二存储器分段321的空闲地址被分配用于存储第二数据分段时,来自空闲地址列表2的条目被移除并被添加到备用存储器地址列表。
-当释放第一存储器分段320时,来自备用存储器地址列表的条目被移除,存储器分段地址被写入该条目并且将该条目添加到空闲指针列表1。
-当释放第二存储器分段321时,来自备用存储器地址列表的条目被移除,存储器分段地址被写入该条目并且将该条目添加到空闲地址列表2。
-当与外部存储器302的空闲第一存储器分段320关联的地址从外部表格存储器330传送到内部表格存储器331中时,来自备用存储器地址列表的条目被移除,空闲地址被写入该条目并且将该条目添加到空闲地址列表1(下溢传送操作)。
-当与外部存储器302的空闲第二存储器分段321关联的地址从外部表格存储器330传送到内部表格存储器331中时,来自备用存储器地址列表的条目被移除,存储器分段地址被写入该条目并且将该条目添加到空闲地址列表2(下溢传送操作)。
-当来自空闲地址列表1的地址被传送到外部表格存储器330时,将该地址从空闲地址列表1中移除并添加到备用存储器地址列表(溢出传送操作)。
-当来自空闲地址列表2的地址被传送到外部表格存储器330时,将该地址从空闲地址列表2中移除并添加到备用存储器地址列表(溢出传送操作)。
因此,在内部表格存储器331和外部表格存储器330之间的分段地址传送可以类似于如上对于只包括同一种分段类型320、321的外部分段存储器302的情况所阐明的来完成。更具体地,如图8中所显示,外部表格存储器330可以包括两个单独的存储器区域801、802。第一存储器区域801用于存储与空闲的第一存储器分段320关联的地址的完整列表。第二存储器区域802用于存储与空闲的第二存储器分段321关联的地址的完整列表。作为例子,如果外部分段存储器302包含1M的第一存储器分段320,则第一存储器区域801的大小可以是20位×1M。如果外部分段存储器302包含256K的第二存储器分段321,则第二存储器区域802的大小可以是18位×256K。
空闲分段地址(指针)的传送在内部表格存储器831(对应于图3所示的内部表格存储器331)和外部表格存储器330的第一存储器区域801以及第二存储器区域802之间完成。内部表格存储器831根据图7来组织并且因此维护空闲地址列表1(即分配的空闲指针列表1)、空闲地址列表2(即分配的空闲指针列表2)和可选的备用存储器地址列表(即备用指针列表)。指针传送管理可以如前参考单个存储器分段大小的外部分段存储器302,即结合图3到6的描述来完成。特别地,如已经提到的,每个指针传送(即在存储器区域801和内部表格存储器831之间的指针传送以及在存储器区域802和内部表格存储器831之间的指针传送)可以通过使用滞后下溢和滞后溢出空闲地址交换来管理。在该情况下,如上已经描述的,较低阈值和较高阈值被选择用于空闲第一存储器分段的地址传送,并且较低阈值和较高阈值被选择用于空闲第二存储器分段的地址传送。
这些阈值的选择应当由输入数据处理单元301根据第一存储器分段320和第二存储器分段321的需要来做出。例如,如果考虑PDU长度的IMIX分布,则对于第一存储器分段320的地址需要12个地址的平均量,并且对于第二存储器分段321的地址需要7+2=9个地址的平均量。通过为两种空闲地址传送机制,选择适当的较低和较高的阈值,空闲地址列表1的长度可以适当地适于空闲地址列表2的长度。
根据各实施例,可使用预定的固定较高和较低阈值。但是,存储器分段分配的扩展方式可以设想为根据各种参数而改变较高和/或较低的阈值。例如,可以考虑第一存储器分段320和第二存储器分段321的实际需要。例如可以通过在一个滑动时间窗口上计数所分配的第一存储器分段320和所分配的第二存储器分段321的数量来测量第一存储器分段320和第二存储器分段321的实际需要。
从上应当注意,空闲地址传送处理是后台处理,其是松散耦合而不是直接耦合到由输入数据处理单元301和输出数据处理单元305完成的存储器分段分配处理。松散耦合可以按如上所阐明的由取决于填充水平的空闲地址传送机制来引起。尽管已经针对表格列表结构描述了上面的实施例,但是还可能提供其它结构,比如环形结构。
尽管这里已经说明和描述了特定的实施例,本领域技术人员将会理解,各种替换和/或等效实施方式可以代替所示和所描述的特定实施例而不会偏离本发明的范围。本申请旨在覆盖这里所讨论的特定实施例的任何改变或变型。因此,可以预测本发明只由权利要求及其等效物来限定。

Claims (44)

1.一种数据分组处理设备,包括:
在芯片上实现的处理器;
可由处理器访问的芯片上内部分段存储器;
芯片外外部分段存储器;
在内部分段存储器和外部分段存储器之间的数据传送通道;并且
其中外部分段存储器包括第一和第二存储器分段,第一和第二存储器分段的大小不同。
2.根据权利要求1的设备,其中处理器是协议处理器。
3.根据权利要求1的设备,其中数据传送通道被配置为只将在外部分段存储器的第一存储器分段中存储的数据传送到内部分段存储器。
4.根据权利要求3的设备,其中第一存储器分段的大小小于第二存储器分段。
5.根据权利要求1的设备,其中内部分段存储器只包括相同大小的存储器分段。
6.根据权利要求1的设备,还包括:
输入数据处理单元,用于将进入的PDU映射到包括第一数据分段和第二数据分段的内部数据格式中,其中第一数据分段和第二数据分段的长度不同;和
输出数据处理单元,用于将内部数据格式的第一和第二数据分段重新装配到要输出的PDU中。
7.根据权利要求6的设备,其中输入数据处理单元被配置为将协议处理要求的PDU数据只分配到第一数据分段。
8.根据权利要求6的设备,其中第一存储器分段的大小对应于第一数据分段的长度。
9.根据权利要求1的设备,其中第一存储器分段的大小的范围是从64到256字节。
10.根据权利要求1的设备,其中第二存储器分段的大小的范围是从128到2048字节。
11.根据权利要求6的设备,其中第一数据分段的长度等于内部分段存储器的分段的大小或是其整数倍。
12.一种数据协议处理设备,包括:
协议处理器;
输入数据处理单元,配置为将进入的PDU映射到内部数据格式中,该内部数据格式包括要经受协议处理的第一数据分段和将不经受协议处理的一个或多个第二数据分段;和
分段存储器,用于存储第一和第二数据分段。
13.根据权利要求12的设备,其中第一数据分段包括描述符子分段、编辑空间子分段和PDU头部子分段。
14.根据权利要求13的设备,其中编辑空间子分段和PDU头部子分段彼此相邻,并且描述符子分段包含与编辑空间子分段和PDU头部子分段之间的边界位置有关的信息。
15.根据权利要求13的设备,其中描述符子分段包含与用于存储第二数据分段的一个或多个存储器分段的地址有关的信息。
16.根据权利要求13的设备,其中PDU头部子分段的长度的最小值是64字节。
17.根据权利要求13的设备,其中PDU头部子分段的长度是如此使得多于50%的PDU在长度上小于PDU头部子分段。
18.根据权利要求12的设备,其中第一数据分段的长度的范围是从64到256字节。
19.根据权利要求12的设备,其中第二数据分段的长度的范围是从128到2048字节。
20.一种设备,包括:
在芯片上实现的处理器;
可由协议处理器访问的芯片上内部分段存储器;
芯片外外部分段存储器;
在内部分段存储器和外部分段存储器之间的数据传送通道;
芯片外外部表格存储器,配置用于外部分段存储器的分段分配管理;
芯片上内部表格存储器,配置用于外部分段存储器的分段分配管理;
在外部表格存储器和内部表格存储器之间的地址传送通道;
地址传送管理单元,操作用于将地址从外部表格存储器传送到内部表格存储器中和/或将地址从内部表格存储器传送到外部表格存储器中。
21.根据权利要求20的设备,其中处理器是协议处理器。
22.根据权利要求20的设备,其中内部表格存储器包括外部分段存储器的空闲存储器分段的列表。
23.根据权利要求22的设备,其中外部表格存储器包括外部分段存储器的附加空闲存储器分段的列表,附加空闲存储器分段不包含在内部表格存储器中保存的列表中。
24.根据权利要求22的设备,其中内部表格存储器包括多个用于存储外部分段存储器的地址的第一存储单元,第一存储单元的数量小于外部分段存储器的分段数量。
25.根据权利要求24的设备,其中内部表格存储器还包括多个用于存储内部表格存储器的地址的第二存储单元,其中每个第二存储单元都与第一存储单元相关联。
26.根据权利要求24的设备,其中外部表格存储器包括2k个分段并且内部表格存储器包括2i个第一存储单元,其中i<k。
27.根据权利要求20的设备,其中地址传送管理单元被配置为
监控内部表格存储器的填充水平,和
如果填充水平低于较低的阈值,则启动一个或多个地址从外部表格存储器到内部表格存储器的传送,和/或
如果填充水平高于较高的阈值,则启动一个或多个地址从内部表格存储器到外部表格存储器的传送,其中较高的阈值大于较低的阈值。
28.根据权利要求20的设备,还包括:
输入数据处理单元,用于将进入的PDU映射到包括第一数据分段和第二数据分段的内部数据格式中;和
输出数据处理单元,用于将内部数据格式的第一和第二数据分段重新装配到要输出的PDU中。
29.根据权利要求20的设备,其中外部分段存储器包括第一和第二存储器分段,第一和第二存储器分段的大小不同。
30.根据权利要求29的设备,其中芯片上内部表格存储器被配置用于外部分段存储器的第一和第二存储器分段的分段分配。
31.根据权利要求30的设备,其中地址传送管理单元被配置为
监控与第一存储器分段有关的内部表格存储器的第一填充水平和与第二存储器分段有关的内部表格存储器的第二填充水平,和
如果第一或第二填充水平分别低于较低的阈值,则启动第一或第二存储器分段的一个或多个地址从外部表格存储器到内部表格存储器的传送,和/或
如果第一或第二填充水平分别高于较高的阈值,则分别启动第一或第二存储器分段的一个或多个地址从内部表格存储器到外部表格存储器的传送,其中较高的阈值大于较低的阈值。
32.一种用于数据处理的方法,包括:
将进入的PDU数据映射到包括第一数据分段和第二数据分段的内部数据格式中,其中只将要被协议处理的PDU数据映射到第一数据分段中;
将第一和第二数据分段存储在芯片外外部分段存储器中;
将第一数据分段传送到可由协议处理器访问的芯片上内部分段存储器;
由协议处理器处理第一数据分段;
将处理的第一数据分段返回到外部分段存储器;
根据处理的第一数据分段和第二数据分段来重新装配PDU。
33.根据权利要求32的方法,其中第一数据分段和第二数据分段的长度不同。
34.根据权利要求32的方法,其中
将第一数据分段存储在外部分段存储器的第一存储器分段中;和
将第二数据分段存储在外部分段存储器的第二存储器分段中,其中外部分段存储器的第一和第二存储器分段的大小不同。
35.一种用于将进入的PDU映射到适于协议处理的内部数据格式的方法,包括:
将要经受协议处理的PDU数据只映射到内部数据格式的第一数据分段;
将不经受协议处理的的PDU数据映射到内部数据格式的第二数据分段;其中
第一数据分段包括描述符子分段、编辑空间子分段和PDU头部子分段。
36.根据权利要求35的方法,其中编辑空间子分段和PDU头部子分段彼此相邻,并且描述符子分段包含与编辑空间子分段和PDU头部子分段之间的边界位置有关的信息。
37.根据权利要求35的方法,其中描述符子分段包含与用于存储第二数据分段的一个或多个存储器分段的地址有关的信息。
38.一种用于存储PDU数据的方法,该PDU数据要由在芯片上实现的协议处理器进行协议处理,该方法包括:
将进入的PDU映射到包括数据分段的内部数据格式;和
通过访问记录外部分段存储器的空闲存储器分段的地址的列表来在用于存储数据分段的芯片外外部存储器中分配存储器分段,该列表在芯片上内部表格存储器中被维护。
39.根据权利要求38的方法,其中芯片外外部表格存储器包括外部分段存储器的附加空闲存储器分段的列表,附加空闲存储器分段不包含在内部表格存储器中保存的列表中。
40.根据权利要求39的方法,还包括:
监控内部表格存储器的填充水平,和
如果填充水平低于较低的阈值,则启动一个或多个地址从外部表格存储器到内部表格存储器的传送,和/或
如果填充水平高于较高的阈值,则启动一个或多个地址从内部表格存储器到外部表格存储器的传送,其中较高的阈值大于较低的阈值。
41.根据权利要求38的方法,还包括:
将进入的PDU映射到包括第一数据分段和第二数据分段的内部数据格式;和
通过访问记录外部分段存储器的空闲第一存储器分段的地址的第一列表和通过访问记录外部分段存储器的空闲第二存储器分段的地址的第二列表来在用于存储第一和第二数据分段的外部分段存储器中分配不同大小的第一和第二存储器分段。
42.根据权利要求41的方法,其中第一列表和第二列表共同保存在内部表格存储器中。
43.根据权利要求41的方法,其中
监控与第一存储器分段有关的内部表格存储器的第一填充水平和与第二存储器分段有关的内部表格存储器的第二填充水平,和
如果第一或第二填充水平分别低于较低的阈值,则启动第一或第二分段的一个或多个地址从外部表格存储器到内部表格存储器的传送,和/或
如果第一或第二填充水平分别高于较高的阈值,则分别启动第一或第二分段的一个或多个地址从内部表格存储器到外部表格存储器的传送,其中较高的阈值大于较低的阈值。
44.一种数据分组处理设备,包括:
在芯片上实现的用于处理的装置;
可由处理器访问的芯片上内部分段存储器;
芯片外外部分段存储器;
用于在内部分段存储器和外部分段存储器之间传送数据的装置;并且其中
外部分段存储器包括第一和第二存储器分段,第一和第二存储器分段的大小不同。
CN2008100088515A 2007-01-26 2008-01-25 数据分组处理设备 Active CN101232450B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/698670 2007-01-26
US11/698,670 US7925798B2 (en) 2007-01-26 2007-01-26 Data packet processing device

Publications (2)

Publication Number Publication Date
CN101232450A true CN101232450A (zh) 2008-07-30
CN101232450B CN101232450B (zh) 2012-09-05

Family

ID=39669216

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100088515A Active CN101232450B (zh) 2007-01-26 2008-01-25 数据分组处理设备

Country Status (3)

Country Link
US (1) US7925798B2 (zh)
CN (1) CN101232450B (zh)
TW (1) TWI360744B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102144273A (zh) * 2008-09-03 2011-08-03 Abb股份公司 用于低电压开关设备的用户接口装置
CN101751356B (zh) * 2008-12-18 2012-08-22 国际商业机器公司 用于改进直接存储器存取传送效率的方法、***和装置
CN105718548A (zh) * 2010-09-03 2016-06-29 赛门铁克公司 基于去重复存储***中用于可扩展引用管理的***和方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7850260B2 (en) * 2007-06-22 2010-12-14 Oracle America, Inc. Injection/ejection mechanism
US8312243B2 (en) * 2009-07-16 2012-11-13 Lantiq Deutschland Gmbh Memory management in network processors
CN102385558B (zh) 2010-08-31 2015-08-19 国际商业机器公司 请求控制装置、请求控制方法及相关的处理器
US8908710B2 (en) * 2012-03-05 2014-12-09 Broadcom Corporation Routing packets through external memory
US9398117B2 (en) * 2013-09-26 2016-07-19 Netapp, Inc. Protocol data unit interface

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040260829A1 (en) * 2001-04-13 2004-12-23 Husak David J. Manipulating data streams in data stream processors
EP1251460A1 (en) * 2001-04-19 2002-10-23 TELEFONAKTIEBOLAGET L M ERICSSON (publ) Adaptive method for allocation of random access memory
EP1454460A1 (en) * 2001-11-13 2004-09-08 Transwitch Corporation Overcoming access latency inefficiency in memories for packet switched networks
US7412588B2 (en) * 2003-07-25 2008-08-12 International Business Machines Corporation Network processor system on chip with bridge coupling protocol converting multiprocessor macro core local bus to peripheral interfaces coupled system bus
US7418568B2 (en) * 2005-01-05 2008-08-26 Sap Ag Memory management technique
EP1842134A1 (en) 2005-01-26 2007-10-10 Infineon Technologies AG Improvements in and relating to memory updating
US7916751B2 (en) * 2005-06-21 2011-03-29 Interdigital Technology Corporation Method and apparatus for efficient operation of an enhanced dedicated channel
JP4570532B2 (ja) * 2005-08-02 2010-10-27 パナソニック株式会社 動き検出装置、動き検出方法、集積回路およびプログラム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102144273A (zh) * 2008-09-03 2011-08-03 Abb股份公司 用于低电压开关设备的用户接口装置
US8928186B2 (en) 2008-09-03 2015-01-06 ABB S.p. A. User interface device for low voltage switching devices
CN102144273B (zh) * 2008-09-03 2016-03-02 Abb股份公司 用于低电压开关设备的用户接口装置
CN101751356B (zh) * 2008-12-18 2012-08-22 国际商业机器公司 用于改进直接存储器存取传送效率的方法、***和装置
US8412862B2 (en) 2008-12-18 2013-04-02 International Business Machines Corporation Direct memory access transfer efficiency
CN105718548A (zh) * 2010-09-03 2016-06-29 赛门铁克公司 基于去重复存储***中用于可扩展引用管理的***和方法
CN105718548B (zh) * 2010-09-03 2019-04-26 赛门铁克公司 基于去重复存储***中用于可扩展引用管理的***和方法

Also Published As

Publication number Publication date
TWI360744B (en) 2012-03-21
TW200844738A (en) 2008-11-16
US20080183907A1 (en) 2008-07-31
CN101232450B (zh) 2012-09-05
US7925798B2 (en) 2011-04-12

Similar Documents

Publication Publication Date Title
CN101232450B (zh) 数据分组处理设备
CN102377682B (zh) 基于定长单元存储变长分组的队列管理方法及设备
US8583851B2 (en) Convenient, flexible, and efficient management of memory space and bandwidth
US7308523B1 (en) Flow-splitting and buffering PCI express switch to reduce head-of-line blocking
US20060153078A1 (en) Receiver, transceiver, receiving method and transceiving method
US6965566B2 (en) Packet flow control apparatus and a method for controlling the same
US20090187681A1 (en) Buffer controller and management method thereof
CN112771493B (zh) 将写入流分离到多个分区中
US7486688B2 (en) Compact packet switching node storage architecture employing Double Data Rate Synchronous Dynamic RAM
US20090002864A1 (en) Memory Controller for Packet Applications
US20180253391A1 (en) Multiple channel memory controller using virtual channel
US10061513B2 (en) Packet processing system, method and device utilizing memory sharing
US7525904B1 (en) Redundant packet routing and switching device and method
JP2000236354A (ja) 複数のデータ通信チャネルと関連するバッファ
CN103345452A (zh) 一种在多个缓冲存储器中根据权重信息缓存数据方法
CN1517881A (zh) 存储器管理空闲指针库
JP2002108699A (ja) 置換によりデータブロックの書き込みを可能にするメモリ管理装置
CN110035021B (zh) 针对原子数据访问请求进行的资源分配
US7069397B2 (en) Stream based memory manager with function specific hardware logic for accessing data as a stream in memory
WO2003019350A1 (en) Buffer system with sequential and non-sequential block access
US7836231B2 (en) Buffer control method and device thereof
US7710991B1 (en) Scalable packet routing and switching device and method
US11402999B2 (en) Adaptive wear leveling using multiple partitions
US9612950B2 (en) Control path subsystem, method and device utilizing memory sharing
CN100396059C (zh) ***式网络处理器控制信息高速缓冲存储器

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
ASS Succession or assignment of patent right

Owner name: LINGTE GERMANY CO., LTD.

Free format text: FORMER OWNER: INFINEON TECHNOLOGY WIRELESS TECHNOLOGY CO., LTD.

Effective date: 20130620

Owner name: INFINEON TECHNOLOGY WIRELESS TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: INFINEON TECHNOLOGIES AG

Effective date: 20130620

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

Effective date of registration: 20130620

Address after: German Berg, Laura Ibiza

Patentee after: Lantiq Deutschland GmbH

Address before: German Berg, Laura Ibiza

Patentee before: Infineon Technologies wireless Ltd.

Effective date of registration: 20130620

Address after: German Berg, Laura Ibiza

Patentee after: Infineon Technologies wireless Ltd.

Address before: German Neubiberg

Patentee before: Infineon Technologies AG

TR01 Transfer of patent right

Effective date of registration: 20180517

Address after: German Neubiberg

Patentee after: LANTIQ BETEILIGUNGS GmbH & Co.KG

Address before: German Berg, Laura Ibiza

Patentee before: Lantiq Deutschland GmbH

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200805

Address after: California, USA

Patentee after: INTEL Corp.

Address before: German Neubiberg

Patentee before: LANTIQ BETEILIGUNGS GmbH & Co.KG

TR01 Transfer of patent right