CN1669279A - 提高分组应用的存储器存取效率 - Google Patents
提高分组应用的存储器存取效率 Download PDFInfo
- Publication number
- CN1669279A CN1669279A CN03816660.7A CN03816660A CN1669279A CN 1669279 A CN1669279 A CN 1669279A CN 03816660 A CN03816660 A CN 03816660A CN 1669279 A CN1669279 A CN 1669279A
- Authority
- CN
- China
- Prior art keywords
- grouping
- succession
- external memory
- processor
- 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.)
- Granted
Links
- 238000005192 partition Methods 0.000 claims abstract description 175
- 230000005055 memory storage Effects 0.000 claims description 43
- 238000000034 method Methods 0.000 claims description 39
- 238000003860 storage Methods 0.000 claims description 28
- 230000005540 biological transmission Effects 0.000 claims description 5
- 230000001360 synchronised effect Effects 0.000 claims description 4
- 230000000712 assembly Effects 0.000 claims 12
- 238000000429 assembly Methods 0.000 claims 12
- 230000004044 response Effects 0.000 claims 4
- 238000004590 computer program Methods 0.000 claims 2
- 238000004891 communication Methods 0.000 description 6
- 230000014759 maintenance of location Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/103—Packet switching elements characterised by the switching fabric construction using a shared central buffer; using a shared memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/109—Integrated on microchip, e.g. switch-on-chip
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/253—Routing or path finding in a switch fabric using establishment or release of connections between ports
- H04L49/254—Centralised 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
技术领域
本发明涉及数字通信系统,尤其是包括传输变长分组的高速分组交换网络的系统。
背景技术
高速分组交换网络,诸如异步传输模式(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 (30)
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所述的装置,其特征在于,所述处理器包括一个或多个组件,以便:
以一速率接收特定的一连串分组,使得各个小于所述分区大小的特定分组在从外部存储器读取所述特定的一连串分组前不被写到外部存储器中的分区,以及
将所述特定的分组链接至所述满分区链表中。
19.一种计算机可读介质或传播信号,在其上包括了配置为使处理器实现分组交换应用的计算机程序,其特征在于,所述计算机程序包括:
一代码段,配置为使处理器接收一连串分组,
一代码段,配置为使处理器将多个分组存储在片上存储器中,所述多个分组包括来自所述一连串分组的分组序列中的一个或多个分组,以及
一代码段,配置为响应于存储的分组的组合大小等于预定量,使处理器将所述存储的分组写到外部存储器中的一个分区。
20.如权利要求19所述的介质,其特征在于,接收一连串分组包括接收一连串属于单个分组流的分组,所述介质还包括一代码段,配置为使处理器形成链接所述一连串分组的链表,使得每个分组都链接到存储在外部存储器中的下一个分组。
21.如权利要求19所述的介质,所述介质还包括一代码段,配置为使处理器在读取外部存储器的分区时将外部存储器分区的内容存储到所述片上存储器。
22.如权利要求20所述的介质,其特征在于:
存储多个分组包括只存储来自所述一连串分组的各个小于所述分区大小的分组,以及形成链表包括只用来自所述一连串分组的各个小于所述分区大小的分组来形成小分组链表,
所述介质还包括一代码段,配置为使处理器只用来自所述一连串分组的大小等于所述分区大小的分组来形成外部存储器中满分区链表,而不在片上存储器中存储所述分组。
23.如权利要求22所述的介质,其特征在于,所述外部存储器包括同步动态随机存取存储器。
24.如权利要求22所述的介质,其特征在于,所述一连串分组包括一连串变长度分组。
25.如权利要求22所述的介质,其特征在于,接收一连串分组包括接收一连串属于一虚拟输出队列的分组。
26.如权利要求22所述的介质,所述介质还包括一代码段,设定为使处理器当读取存储属于小分组链表的分组的外部存储器分区时将外部存储器分区的内容存储到所述片上存储器。
27.如权利要求26所述的介质,其特征在于:
接收一连串分组包括以一速率接收特定的一连串分组,使得各个小于所述分区大小的特定分组在从外部存储器读取所述特定的一连串分组前不被写到外部存储器中的分区,以及
形成所述满分区链表包括将所述特定的分组链接至所述满分区链表中。
28.一种用于分组交换应用的系统,其特征在于,所述系统包括:
处理器,具有在所述处理器的芯片上形成的片上存储器和包括连接到所述处理器的第二芯片的外部存储器;
端口,耦合到传输信道;以及
在所述处理器与所述端口之间的链路,
其中,所述处理器包括一或多个组件,以便:
从所述端口接收一连串分组,
在所述片上存储器中存储多个分组,所述多个分组包括一个或多个来自所述一连串分组的分组序列中的分组,以及
响应于存储的分组的组合大小等于预定量,将所述存储的分组写到所述外部存储器中的分区。
29.如权利要求28所述的系统,其特征在于,所述处理器还包括一个或多个组件,以便:
只存储来自所述一连串分组的各个小于外部存储器的分区大小的分组,
只用来自所述一连串分组的各个小于所述分区大小的分组来形成小分组链表,以及
只用来自所述一连串分组的大小等于所述分区大小的分组来形成外部存储器中满分区链表,而不在片上存储器中存储所述分组。
30.如权利要求28所述的系统,其特征在于,所述处理器还包括一个或多个组件,以当读取存储属于所述小分组链表的分组的外部存储器分区时将外部存储器分区的内容存储到所述片上存储器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/158,409 US7065628B2 (en) | 2002-05-29 | 2002-05-29 | Increasing memory access efficiency for packet applications |
US10/158,409 | 2002-05-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1669279A true CN1669279A (zh) | 2005-09-14 |
CN100499563C 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) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101883041A (zh) * | 2010-06-29 | 2010-11-10 | 中兴通讯股份有限公司 | 存储转发系统及其报文存储方法 |
CN106062814A (zh) * | 2014-04-09 | 2016-10-26 | 英特尔公司 | 由图形处理器改进的成组存储器存取效率 |
Families Citing this family (8)
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 |
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 |
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)
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 |
WO2000072530A2 (en) | 1999-05-21 | 2000-11-30 | Avici Systems | Fabric router with flit caching |
JP4214682B2 (ja) * | 2001-01-24 | 2009-01-28 | 株式会社日立製作所 | 計算機およびその入出力手段 |
US20040131055A1 (en) * | 2003-01-06 | 2004-07-08 | Juan-Carlos Calderon | Memory management free pointer pool |
WO2004098201A1 (en) | 2003-04-28 | 2004-11-11 | Koninklijke Philips Electronics N.V. | Liquid crystal projector having increased color accuracy |
-
2002
- 2002-05-29 US US10/158,409 patent/US7065628B2/en not_active Expired - Fee Related
-
2003
- 2003-05-08 WO PCT/US2003/014874 patent/WO2003102725A2/en not_active Application Discontinuation
- 2003-05-08 CN CNB038166607A patent/CN100499563C/zh not_active Expired - Fee Related
- 2003-05-08 EP EP03726810A patent/EP1508225B1/en not_active Expired - Lifetime
- 2003-05-23 TW TW092113998A patent/TWI223747B/zh not_active IP Right Cessation
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101883041A (zh) * | 2010-06-29 | 2010-11-10 | 中兴通讯股份有限公司 | 存储转发系统及其报文存储方法 |
WO2012000354A1 (zh) * | 2010-06-29 | 2012-01-05 | 中兴通讯股份有限公司 | 存储转发系统及其报文存储方法 |
CN101883041B (zh) * | 2010-06-29 | 2015-07-22 | 中兴通讯股份有限公司 | 存储转发系统及其报文存储方法 |
CN106062814A (zh) * | 2014-04-09 | 2016-10-26 | 英特尔公司 | 由图形处理器改进的成组存储器存取效率 |
CN106062814B (zh) * | 2014-04-09 | 2020-06-16 | 英特尔公司 | 由图形处理器改进的成组存储器存取效率 |
Also Published As
Publication number | Publication date |
---|---|
US20030225991A1 (en) | 2003-12-04 |
US7065628B2 (en) | 2006-06-20 |
WO2003102725A3 (en) | 2004-09-16 |
EP1508225A2 (en) | 2005-02-23 |
TWI223747B (en) | 2004-11-11 |
EP1508225B1 (en) | 2012-11-07 |
CN100499563C (zh) | 2009-06-10 |
TW200404206A (en) | 2004-03-16 |
WO2003102725A2 (en) | 2003-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240171507A1 (en) | System and method for facilitating efficient utilization of an output buffer in a network interface controller (nic) | |
CN1064500C (zh) | 临时存储数据包的方法和设备 | |
CN101841545B (zh) | 一种tcp流重组拼包方法和装置 | |
CN1267441A (zh) | 交换设备 | |
US20060092934A1 (en) | System for protocol processing engine | |
EP1171978A1 (en) | Process for automatic detection of and quality of service adjustment for bulk data transfers | |
CN1802836A (zh) | 网络协议卸载引擎存储器管理 | |
US10990326B2 (en) | High-speed replay of captured data packets | |
CN100499563C (zh) | 提高分组应用的存储器存取效率 | |
US9274586B2 (en) | Intelligent memory interface | |
US6738838B2 (en) | Network switch having descriptor cache and method thereof | |
US8549216B2 (en) | Memory management using packet segmenting and forwarding | |
US20040131055A1 (en) | Memory management free pointer pool | |
CN114827300A (zh) | 硬件保障的数据可靠传输系统、控制方法、设备及终端 | |
US6885591B2 (en) | Packet buffer circuit and method | |
CN1112788C (zh) | 基于队列状态的累计补偿型循环轮询不定长包调度方法 | |
CN1662894A (zh) | 包括时隙总线和若干缓冲器的交换装置 | |
CN1151633C (zh) | 千兆位计费系统 | |
CA2369124A1 (en) | Packet messaging method and apparatus | |
US6804258B1 (en) | Method and apparatus for alleviating cell packing problems in bundled link systems | |
CN1505317A (zh) | 用于网络设备的可配置的发送与接收系统接口 | |
Kumar et al. | Addressing queuing bottlenecks at high speeds | |
Kumar et al. | Buffer aggregation: Addressing queuing subsystem bottlenecks at high speeds | |
CN1607792A (zh) | 储存传输单元方法及网络通信装置 | |
Kumar et al. | ULTRA HIGH SPEED PACKET BUFFERING USING" PARALLEL PACKET BUFFER" |
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 |