CN100499563C - 提高分组应用的存储器存取效率 - Google Patents

提高分组应用的存储器存取效率 Download PDF

Info

Publication number
CN100499563C
CN100499563C CNB038166607A CN03816660A CN100499563C CN 100499563 C CN100499563 C CN 100499563C CN B038166607 A CNB038166607 A CN B038166607A CN 03816660 A CN03816660 A CN 03816660A CN 100499563 C CN100499563 C CN 100499563C
Authority
CN
China
Prior art keywords
grouping
external memory
succession
chip
partition
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
CNB038166607A
Other languages
English (en)
Other versions
CN1669279A (zh
Inventor
J·-C·卡尔德龙
J·凌
J·-M·开亚
V·约斯
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN1669279A publication Critical patent/CN1669279A/zh
Application granted granted Critical
Publication of CN100499563C publication Critical patent/CN100499563C/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
    • 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/10Packet switching elements characterised by the switching fabric construction
    • H04L49/109Integrated on microchip, e.g. switch-on-chip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • H04L49/254Centralised controller, i.e. arbitration or scheduling

Landscapes

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

Abstract

通过传输满分区的数据可提高分组应用的存储器存取效率。可通过使用和处理器在一个芯片上的片上存储器临时存储分组来增加写到外部存储器的满分区数量。在将分组写到外部存储器之前,长度小于外部存储器分区大小的分组可临时存储在片上存储器中,直到收集到相应于满或将近满的分区的量,这时就可将数据高效地写到外部存储器分区。

Description

提高分组应用的存储器存取效率
技术领域
本发明涉及数字通信***,尤其是包括传输变长(variable-size)分组的高速分组交换网络的***。
背景技术
高速分组交换网络,诸如异步传输模式(ATM)、互联网协议(IP)和千兆比特以太网,支持不同会话的大量连接。理想地,分组调度在最大化可用带宽的使用的同时以最小延迟从不同的连接传输分组。大多数通信***在处理集成电路(有时称为芯片)上具有处理分组的非常有限量的存储空间,并使用额外的集成电路(例如,外部存储器芯片)来提供用于分组存储的更大量的外部存储器。
在ATM网络中,分组(通常称为信元)都是定长的,通过使用分区长度等于信元长度的存储器,处理芯片和外部存储器芯片之间的可用带宽可可以被有效利用。然而,在变长分组交换网络中,当分组长度不是存储器分区长度的整数倍时存储器带宽会被浪费。
发明内容
本发明旨在提出一种解决上述问题的技术方案。
根据本发明的一种用于分组交换应用的存储器存取方法,所述方法包括:在具有片上存储器的处理器上接收一连串分组,所述片上存储器形成于具有所述处理器的芯片上;将多个分组存储在片上存储器中,所述多个分组包括来自所述一连串分组的分组序列中的一个或多个分组;响应于在所述片上存储器中存储的分组的组合大小等于预定量,将所述存储的分组写到外部存储器中的分区。
根据本发明的一种用于分组交换应用的装置,其特征在于,所述装置包括:处理器;在具有所述处理器的芯片上形成的片上存储器;以及包括连接到所述处理器的第二芯片的外部存储器;其中,所述处理器包括一个或多个组件以便:接收一连串分组,在所述片上存储器中存储多个分组,所述多个分组包括一个或多个来自所述一连串分组的分组序列中的分组,以及响应于在所述片上存储器中存储的分组的组合大小等于预定量,将所述存储的分组写到所述外部存储器中的一个分区。
根据本发明的一种用于分组交换应用的***,其特征在于,所述***包括:处理器,具有在所述处理器的芯片上形成的片上存储器和包括连接到所述处理器的第二芯片的外部存储器;耦合到传输信道的端口;以及在所述处理器与所述端口之间的链路,其中,所述处理器包括一或多个组件,以便:从所述端口接收一连串分组,在所述片上存储器中存储多个分组,所述多个分组包括一个或多个来自所述一连串分组的分组序列中的分组,以及响应于在所述片上存储器中存储的分组的组合大小等于预定量,将所述存储的分组写到所述外部存储器中的分区。
附图说明
图1是分组交换网络图。
图2是示出包含变长分组的外部存储器芯片内容的方框图。
图3是执行用于将分组写到外部存储器的过程的流程图。
图4是示出存储在片上存储器和外部存储器中的分组的链表的存储器结构的图。
图5是示出存储在外部存储器和片上存储器的分组的两个链表的存储器结构的图。
图6是示出保存部分分区分组的64字节存储器分区的格式的图。
图7是示出存储变长分组的外部存储器芯片的内容的方框图。
图8是执行用于将一连串的部分分区分组写到外部存储器的过程的流程图。
图9是执行用于从外部存储器读取部分分区分组的过程的流程图。
各图中相同的参考符号代表相同的元素。
详细说明
数字通信***一般使用分组交换***,传输称为分组的数据块。典型地,要在报文中传送的数据长于分组长度,且必须分割成一连串的分组。每个分组由要传输的数据部分和头中的用来通过网络路由分组到其目的地的控制信息组成。在一连串分组中被发送的最后的数据分组通常称为尾分组。
图1示出典型分组交换***100。在***100中,传输服务器110通过通信路径115连接到分组交换网络120,后者通过通信路径125连接到目的服务器130。传输服务器110通过分组交换网络120发送作为一连串分组的报文到目的服务器130。在分组交换网络120中,分组通常通过一连串服务器。当每个分组到达一台服务器时,该服务器就在将分组传输到下一台服务器之前暂时存储这个分组。分组通过网络前进,直到它们到达目的服务器130。目的服务器130包含一个或多个处理芯片135和一个或多个外部存储器芯片140上的存储器分区。外部存储器芯片140可使用各种存储技术,包括SDRAM(同步动态随机存取存储器)。
为例示的目的,描述分组交换***的一种具体实现。为便于描述,使用这样一个具体实现,其中报文可以是任意长度的、分组可以从1到64字节变化且存储器分区长度为64字节。许多实现可使用具有最大分组长度的变长分组且存储器分区长度大于64字节。例如,可使用两兆字节或四兆字节的最大分组长度。
分组交换***可通过维护分组的链表来管理数据通信。链表可包括一连串存储在外部存储器的分区中的分组,使得存储在一个分区中的数据指向链表中存储下一个数据的分区。与数据存储在外部存储器中一样,存储空间可能由于只使用存储器分区的一部分而浪费。
如图2所示,在外部存储器芯片200中大量存储可能被浪费了。具体地,报文210,它为138个字节长且包括三个分组211、212和213,使用了三个外部存储器分区215、200和225来存储分组211、212和213。外部存储器分区215和220是满的(即没有未使用的空间),因为分组211和212是64字节长,等于外部存储器分区的大小。但是,外部存储器分区225存储只有10字节长度的分组213,且外部存储器分区225的未用部分226包括了55个未用字节。
还如图2所示,报文230,它是65字节长且包括两个分组231和232,使用两个外部存储器分区235和240来存储分组231和232。外部存储器分区235没有未用空间,因为分组231是64字节长,等于外部存储器分区的大小。外部存储器分区240存储只有一字节长的分组232。存储器分区240的未用部分241包括63个未用字节。此外,在这个例子中,只为写一个字节而使用整个时钟周期来存取外部存储器分区。
存取存储器的效率依赖于报文长度分布。如果许多报文很大(即包括多个最大长度的分组和至多一个小于最大长度的分组),则存取效率将很高,因为许多分区是填满的。但是,某些类型的通信量可能具有大报文(例如数据)和小报文(例如控制报文)的较均匀分布。这可能导致低效的存储器存取,并且可能在外部存储器使用诸如SDRAM等存储技术时更成问题,因为SDRAM对随机存取有高存取延迟。存储器存取效率可通过传输满分区的数据来提高。
可通过使用与处理器在一个芯片上的片上存储器临时存储分组来提高写到外部存储器的满分区数量。在将分组写到外部存储器之前,长度小于外部存储器分区大小的分组可临时存储在片上存储器上,直到收集到相应于满或接近满分区的量,这时数据就能高效地写到外部存储器分区。通过将小分组存储在片上存储器中,块传送的数量减少了,使用的存储器带宽增加了,且存储空间节约了,因为更多的满分区被写到/读出外部存储器。
如图3所示,增加对于分组应用的存储器存取效率的过程300始于处理器开始接收一连串分组(310),这时处理器将分组存储在片上存储器中(320)。处理器判定存储在片上存储器的分组长度(或者多个分组的组合长度,如果存储了多个分组的话)是否等于预定量(330),诸如,例如外部存储器分区大小,且如果否,则将另一个分组存储在片上存储器中(320)。当所存储分组的组合长度等于预定量时,处理器将存储在片上存储器中的数据写到外部存储器分区(340),在片上存储器中存储另一个分组(320)并如上所述地进行。在另一个实现中,当存储在片上存储器中的数据量,组合下一个部分填满的分组中的数据量,超过外部存储器分区大小时,处理器将存储在片上存储器中的数据写到外部存储器分区。
如图4所示,通过用片上存储器缓存分组提高存储器存取效率是可实现的,例如,通过维护两个进入分组的链表。一个链表410用于存储具有长度等于外部存储器分区大小的分组,而另一个链表415用于存储具有长度小于外部存储器分区大小的分组。在接收分组时,每个分组在该分组长度等于外部存储器分区大小时加到链表410或者在该分组长度不是这样时加到链表415。为简短起见,只示出了少量的外部存储器分区。
满分区的链表410包含具有长度等于外部存储器分区大小的分组416-418,并使用了满分区链表开始指针430和满分区链表结尾指针432。
链表415存储了任何具有长度小于外部存储器分区大小的分组(例如部分分区分组)并可用两个片上存储器分区435和437和外部存储器分区440和442来实现。在接收分组时,片上存储器分区437临时存储每个部分分区分组(这里是444),直到收集到等于外部存储器分区大小的数据量,在这时数据可高效地写到外部存储器分区440或442。分组可存储在多于一个的外部存储器分区中。
在从外部存储器分区440读取部分分区分组时,片上存储器分区435临时存储部分分区分组446、448和450。外部存储器分区440和442存储多个具有长度小于外部存储器分区大小的分组452-454和455-457。第十六分组454的第一部分被写到外部存储器分区440,而第十六分组455的第二部分被写到外部存储器分区442。
链表415使用外部存储器中第一分区指针460(这里指向外部存储器分区440),和存储器中下一分区指针462、链表开始指针(这里指向片上存储器分区435)和链表结尾指针466(这里指向片上存储器分区437)。也可使用其它存储器结构。
具有长度等于外部存储器分区大小的部分分区分组可存储在具有小于外部存储器分区大小的分组的链表415中,或者也可存储在满分区的链表410中。
实现可包括将具有长度小于外部存储器分区大小的分组临时存储在片上存储器中,用于分组的单个流或属于同一虚拟输出队列(“VoQ”)的多个流。
如图5所示,可对分组的单个流通过使用片上存储器缓存分组来实现提高存储器存取效率,例如通过维护所有接收到的分组的链表500,而不考虑单个分组长度是否等于外部存储器分区大小。如图5所示,写片上存储器510分区临时地存储每个分组(这里是分组512),直到已收集到相应于外部存储器分区大小的量,在这时数据可高效地写到外部存储器分区515、520、525和530。分组可存储在多于一个外部存储器分区中。
读取片上存储器分区535存储从外部存储器分区读取的数据(这里是第一分组537)。
链表500存储组合在一起第二分组540和第三分组542的第一部分并写到单个外部存储器分区530的;存储组合在一起并写到单个外部存储器分区525的第三分组544的第二部分和第四分组546的第一部分;存储组合在一起并写到单一外部存储器分区520的第四分组548的第二部分和第五分组550;以及存储具有长度等于外部存储器分区大小并写到外部存储器分区515的第六分组552。
外部存储器分区515、520、525和530没有未用的存储空间。链表500使用外部存储器中第一分区指针570(这里指向外部存储器分区530)、外部存储器中下一分区指针572、链表开始指针574(这里指向片上存储器分区535)和链表结尾指针576(这里指向片上存储器分区510)。
图6示出具有长度小于外部存储器分区大小的分组当这些分组存储在片上存储器分区或外部存储器分区中时的存储格式600。所示出的实现使用了由8字节字组成的64字节分区。第一字610用作头来存储有关分组中其它数据字620的控制信息。头610中的控制信息621-627对应于具体数据字631-637。例如,有关第一数据字631的控制信息存储在项621中,有关第二数据字632的控制信息存储在项622中等等。
每个数据字631-637的控制信息621-627包括分组开始位640,指示分组是否开始于相应字,包括分组结尾位641,指示分组是否结束于相应数据字,以及包括#used字段642,指示用于存储分组的位数。然而,#used字段642只包含相应字存储分组结尾时的数据。此外,头控制信息610包含指向下一分组分区628的指针。分区中剩余字631-637由分组620中的数据组成。
如图7所示,通过使用片上存储器缓存分组提高存储器存取效率可得到具有减少的未用空间量的外部存储器分区。外部存储器分区710、715、720、725和730每个分别存储分组740、741、742、743和744,其中每个都有等于外部存储器分区大小的长度。外部存储器分区745存储分组746、747和748,所有这些都有小于外部存储器分区大小的长度。分组746-748被组合在一起并当收集到等于外部存储器分区大小的量时被写到外部存储器分区745。
图8示出了将一连串具有小于外部存储器分区大小的长度的部分分区分组写到诸如SDRAM的外部存储器分区中的过程800。过程始于将分组写到由链表结尾指针指示的写片上存储器分区(诸如图4中的片上存储器分区),并为每个被写的数据字更新控制变量(诸如图6中的分组比特的开始640、分组比特的结尾641和#used字段642)(810)。
过程确定写片上存储器分区是否已满(例如,是否存储在片上存储器分区中的数据量等于外部存储器分区)(820),以及,如果是,则过程在外部存储器中分配一空闲分区(830)。写片上存储器分区中的数据被写到具有由外部存储器中下一分区指针指定的地址的外部存储器分区中(840),且用以前分配的空闲外部存储器分区地址来更新外部存储器分区中下一分区指针(850)。
过程确定是否有其它的分组要写(860),以及,如果是,则过程从写片上存储器分区中的第一数据字开始写,并更新被写的数据字的控制变量(870)。然后过程如上所述地确定写到写片上存储器分区的量是否等于外部存储器分区大小(820)。
在所有分组都被写后,用存储最后一个分组数据的外部存储器分区的地址来更新链表结尾指针(880)。
写一连串部分分区分组的过程800可在链表结尾指针指向读取片上存储器分区这里进行修改,例如这可发生在接收数据率低的情况中。如果链表结尾指针指向读取片上存储器分区,则分组直接写到读片上存储器分区而不写到写片上存储器分区或外部存储器分区中。直接将分组写到读片上存储器分区确保了分组在处理器准备好读取该分组时是可用的。
读取具有长度小于外部存储器分区大小且已使用提高存储器存取效率的过程存储在外部存储器分区中的分组,通常包括使用处理器从中读取分组的片上存储器分区来缓存外部存储器分区数据。读外部存储器分区可以存储在片上存储器分区中,因为外部存储器分区可存储多于一个分组。
图9示出读取具有长度小于外部存储器分区大小并存储在外部存储器分区中的分组的过程900。过程900始于处理器开始读取在由链表开始指针指示的读取片上存储器分区中的分组(910)。过程确定是否已到达读取片上存储器分区的结尾而分组没有结束(920),以及,如果是,则过程确定分组是否存储在外部存储器分区中(940),这可通过比较外部存储器中第一分区指针和外部存储器中下一分区指针来完成。如果指针相同,则没有分组存储在外部存储器分区中。如果指针不同,则分组存储在外部存储器分区中。
如果过程判定分组存储在外部存储器中,则处理器从由外部存储器中第一分区指针指示的外部存储器中读取分区并将外部存储器分区写入读片上存储器分区(950),释放已读取的外部存储器分区(960),并使用指向从外部存储器读取的分区中的下一外部存储器分区的指针来更新外部存储器中第一分区指针(970)。过程继续从读片上存储器分区中读取分组(980)并象前面一样通过确定是否已到达读片上存储器分区的结尾而分组还未结束来前进(920)。
如果过程确定未到达读片上存储器分区的结尾而分组已结束(920),则过程更新链表开始指针指向存储在读片上存储器分区中的下一个分组(930)并如前所述地开始读取由链表开始指针指示的分组(910)。
尽管为例示的目的使用了分组交换***的具体实现,但用于分组应用提高存储器存取效率的好处并不限于这个实现,而是等价地可用于其它实现,诸如,例如,对于变长分组使用不是64字节的最大分组长度、除了SDRAM以外的存储技术以及存储器分区长度除了64字节以外的实现等。
实现可包括方法或者过程、装置或者***、或者计算机介质上的计算机软件。应该理解各种修改方案可在不脱离所附权利要求书的精神和范围的情况下实现。例如,如果所揭示的技术步骤以不同的次序执行和/或如果所揭示的***中的组件以不同方式结合和/或用其它组件置换或替代,仍能得到这些有益的效果。

Claims (21)

1.一种用于分组交换应用的存储器存取方法,所述方法包括:
在具有片上存储器的处理器上接收一连串分组,所述片上存储器形成于具有所述处理器的芯片上;
将多个分组存储在片上存储器中,所述多个分组包括来自所述一连串分组的分组序列中的一个或多个分组;
响应于在所述片上存储器中存储的分组的组合大小等于预定量,将所述存储的分组写到外部存储器中的分区。
2.如权利要求1所述的方法,其特征在于,接收一连串分组包括接收一连串属于单个分组流的分组,所述方法还包括形成链接所述一连串分组的链表,使得每个分组都链接到存储在外部存储器中的下一个分组。
3.如权利要求1所述的方法,其特征在于,所述方法还包括在读取外部存储器的分区时将所述外部存储器的分区中的内容存储到所述片上存储器。
4.如权利要求2所述的方法,其特征在于,
存储多个分组包括只存储来自所述一连串分组的各个都小于所述分区大小的分组,而形成链表包括只用来自所述一连串分组的各个都小于所述分区大小的分组形成小分组链表,
所述方法还包括只用来自所述一连串分组的大小等于所述分区大小的分组形成外部存储器中满分区链表,而不在片上存储器中存储所述大小等于所述分区大小的分组。
5.如权利要求4所述的方法,其特征在于,所述外部存储器包括同步动态随机存取存储器。
6.如权利要求4所述的方法,其特征在于,所述一连串分组包括一连串变长分组。
7.如权利要求4所述的方法,其特征在于,接收一连串分组包括接收一连串属于虚拟输出队列的分组。
8.如权利要求4所述的方法,其特征在于,所述方法还包括当读取存储属于小分组链表的分组的外部存储器分区时,将外部存储器分区的内容存储到所述片上存储器。
9.如权利要求8所述的方法,其特征在于,
接收一连串分组包括以一速率接收特定的一连串分组,使得各个小于所述分区大小的特定分组在从外部存储器读取所述特定的一连串分组前不被写到所述外部存储器中的分区,以及
形成所述满分区链表包括链接所述特定的分组至所述满分区链表。
10.一种用于分组交换应用的装置,其特征在于,所述装置包括:
处理器;
在具有所述处理器的芯片上形成的片上存储器;以及
包括连接到所述处理器的第二芯片的外部存储器;
其中,所述处理器包括一个或多个组件以便:
接收一连串分组,
在所述片上存储器中存储多个分组,所述多个分组包括一个或多个来自所述一连串分组的分组序列中的分组,以及
响应于在所述片上存储器中存储的分组的组合大小等于预定量,将所述存储的分组写到所述外部存储器中的一个分区。
11.如权利要求10所述的装置,其特征在于,所述处理器包括接收属于单个分组流的一连串分组的输入设备,所述处理器还包括一个或多个组件以形成链接所述一连串分组的链表,使得将每个分组链接到存储在外部存储器中的下一个分组。
12.如权利要求10所述的装置,所述处理器还包括一个或多个组件,用于在读取外部存储器分区时存储外部存储器分区的内容到所述片上存储器。
13.如权利要求11所述的装置,其特征在于,所述处理器包括一个或多个组件以便:
只存储来自所述一连串分组的各个小于所述分区大小的分组,以及
只用来自所述一连串分组的各个小于所述分区大小的分组来形成小分组链表,
所述处理器还包括一个或多个组件,以只用来自所述一连串分组的大小等于所述分区大小的分组来形成外部存储器中满分区链表,而不在片上存储器中存储所述大小等于所述分区大小的分组。
14.如权利要求13所述的装置,其特征在于,所述处理器包括一个或多个组件,以将存储的分组写到同步动态随机存取存储器中的分区。
15.如权利要求13所述的装置,其特征在于,所述处理器包括一个或多个组件,以接收一连串变长分组。
16.如权利要求13所述的装置,其特征在于,所述处理器包括一个或多个组件,以接收属于虚拟输出队列的一连串分组。
17.如权利要求13的装置,所述处理器还包括一个或多个组件,用于当读取存储属于所述小分组链表的分组的外部存储器分区时将外部存储器分区的内容存储到所述片上存储器。
18.如权利要求17所述的装置,其特征在于,所述处理器包括一个或多个组件,以便:
以一速率接收特定的一连串分组,使得各个小于所述分区大小的特定分组在从外部存储器读取所述特定的一连串分组前不被写到外部存储器中的分区,以及
将所述特定的分组链接至所述满分区链表中。
20.一种用于分组交换应用的***,其特征在于,所述***包括:
处理器,具有在所述处理器的芯片上形成的片上存储器和包括连接到所述处理器的第二芯片的外部存储器;
耦合到传输信道的端口;以及
在所述处理器与所述端口之间的链路,
其中,所述处理器包括一或多个组件,以便:
从所述端口接收一连串分组,
在所述片上存储器中存储多个分组,所述多个分组包括一个或多个来自所述一连串分组的分组序列中的分组,以及
响应于在所述片上存储器中存储的分组的组合大小等于预定量,将所述存储的分组写到所述外部存储器中的分区。
21.如权利要求20所述的***,其特征在于,所述处理器还包括一个或多个组件,以便:
只存储来自所述一连串分组的各个小于外部存储器的分区大小的分组,
只用来自所述一连串分组的各个小于所述分区大小的分组来形成小分组链表,以及
只用来自所述一连串分组的大小等于所述分区大小的分组来形成外部存储器中满分区链表,而不在片上存储器中存储所述大小等于所述分区大小的分组。
22.如权利要求21所述的***,其特征在于,所述处理器还包括一个或多个组件,用于当读取存储属于所述小分组链表的分组的外部存储器分区时将外部存储器分区的内容存储到所述片上存储器。
CNB038166607A 2002-05-29 2003-05-08 提高分组应用的存储器存取效率 Expired - Fee Related CN100499563C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/158,409 2002-05-29
US10/158,409 US7065628B2 (en) 2002-05-29 2002-05-29 Increasing memory access efficiency for packet applications

Publications (2)

Publication Number Publication Date
CN1669279A CN1669279A (zh) 2005-09-14
CN100499563C true CN100499563C (zh) 2009-06-10

Family

ID=29582672

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB038166607A Expired - Fee Related CN100499563C (zh) 2002-05-29 2003-05-08 提高分组应用的存储器存取效率

Country Status (5)

Country Link
US (1) US7065628B2 (zh)
EP (1) EP1508225B1 (zh)
CN (1) CN100499563C (zh)
TW (1) TWI223747B (zh)
WO (1) WO2003102725A2 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7295564B2 (en) * 2003-01-06 2007-11-13 Intel Corporation Virtual output queue (VoQ) management method and apparatus
KR100509489B1 (ko) * 2003-02-06 2005-08-22 삼성전자주식회사 가변 폭의 데이터 패킷을 암호화하는 장치 및 방법
CN100358320C (zh) * 2003-12-24 2007-12-26 华为技术有限公司 一种数据包存储的管理方法和装置
US20050154851A1 (en) * 2004-01-14 2005-07-14 Charles Andrew A. Fast, high reliability dynamic memory manager
CN101883041B (zh) * 2010-06-29 2015-07-22 中兴通讯股份有限公司 存储转发***及其报文存储方法
US8700873B2 (en) * 2010-10-14 2014-04-15 International Business Machines Corporation Direct memory access memory management
US9411695B2 (en) 2013-12-04 2016-08-09 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Provisioning memory in a memory system for mirroring
US9632801B2 (en) * 2014-04-09 2017-04-25 Intel Corporation Banked memory access efficiency by a graphics processor
US10346177B2 (en) 2016-12-14 2019-07-09 Intel Corporation Boot process with parallel memory initialization
EP3598315B1 (fr) * 2018-07-19 2022-12-28 STMicroelectronics (Grenoble 2) SAS Accès direct en mémoire

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5367643A (en) * 1991-02-06 1994-11-22 International Business Machines Corporation Generic high bandwidth adapter having data packet memory configured in three level hierarchy for temporary storage of variable length data packets
US5920561A (en) 1996-03-07 1999-07-06 Lsi Logic Corporation ATM communication system interconnect/termination unit
US6347097B1 (en) * 1997-12-05 2002-02-12 Texas Instruments Incorporated Method and apparatus for buffering received data from a serial bus
US6539024B1 (en) * 1999-03-26 2003-03-25 Alcatel Canada Inc. Method and apparatus for data buffer management in a communications switch
DE60026518T2 (de) 1999-05-21 2006-11-16 Avici Systems, Billerica Flit-cache in einem paketvermittelndem router
JP4214682B2 (ja) * 2001-01-24 2009-01-28 株式会社日立製作所 計算機およびその入出力手段
US20040131055A1 (en) * 2003-01-06 2004-07-08 Juan-Carlos Calderon Memory management free pointer pool
KR20060004687A (ko) 2003-04-28 2006-01-12 코닌클리케 필립스 일렉트로닉스 엔.브이. 증가된 칼라 정밀도를 갖는 액정 프로젝터

Also Published As

Publication number Publication date
EP1508225B1 (en) 2012-11-07
CN1669279A (zh) 2005-09-14
WO2003102725A2 (en) 2003-12-11
TW200404206A (en) 2004-03-16
US7065628B2 (en) 2006-06-20
US20030225991A1 (en) 2003-12-04
WO2003102725A3 (en) 2004-09-16
TWI223747B (en) 2004-11-11
EP1508225A2 (en) 2005-02-23

Similar Documents

Publication Publication Date Title
US6700894B1 (en) Method and apparatus for shared buffer packet switching
EP1045558B1 (en) Very wide memory TDM switching system
KR100750880B1 (ko) 가변 길이 데이터 패킷의 이종 네트워크 스위칭을 위한시스템 및 방법
CN101873253A (zh) 带缓冲的纵横式交换机***
US6292491B1 (en) Distributed FIFO queuing for ATM systems
CN109861931B (zh) 一种高速以太网交换芯片的存储冗余***
CN100499563C (zh) 提高分组应用的存储器存取效率
US6601116B1 (en) Network switch having descriptor cache and method thereof
WO2011015055A1 (zh) 一种存储管理的方法和***
US8549216B2 (en) Memory management using packet segmenting and forwarding
US20040131055A1 (en) Memory management free pointer pool
CN101043437B (zh) 一种快速发送操作、管理和维护信元的方法和装置
US7733888B2 (en) Pointer allocation by prime numbers
CN102932265A (zh) 数据缓存管理装置和方法
Kabra et al. Fast buffer memory with deterministic packet departures
US6885591B2 (en) Packet buffer circuit and method
Mutter A novel hybrid memory architecture with parallel DRAM for fast packet buffers
US20040215869A1 (en) Method and system for scaling memory bandwidth in a data network
US7143185B1 (en) Method and apparatus for accessing external memories
EP1326475A1 (en) Method and apparatus using multiple packet reassembler and memories for performing multiple functions
Kumar et al. Buffer aggregation: Addressing queuing subsystem bottlenecks at high speeds
JP2004056736A (ja) リンク切替方法及びリンクインターフェース
Kumar et al. ULTRA HIGH SPEED PACKET BUFFERING USING" PARALLEL PACKET BUFFER"
US20020051451A1 (en) Packet switches
Brown et al. An IRAM-Based Architecture for a Single-Chip ATM Switch

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090610

Termination date: 20180508

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