CN101499956A - 分级缓冲区管理系统及方法 - Google Patents
分级缓冲区管理系统及方法 Download PDFInfo
- Publication number
- CN101499956A CN101499956A CNA2008100052602A CN200810005260A CN101499956A CN 101499956 A CN101499956 A CN 101499956A CN A2008100052602 A CNA2008100052602 A CN A2008100052602A CN 200810005260 A CN200810005260 A CN 200810005260A CN 101499956 A CN101499956 A CN 101499956A
- Authority
- CN
- China
- Prior art keywords
- freebuf
- formation
- pointer
- outside
- buffer
- 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
Images
Abstract
本发明提供了一种分级缓冲区管理系统,包括芯片和外部存储器,其中,外部存储器包括外部空闲缓冲区队列,芯片包括外部空闲缓冲区队列控制模块和控制逻辑模块,芯片还包括:内部空闲缓冲区队列,用于存放部分缓冲区地址的RAM空间,其中,内部空闲缓冲区队列存储缓冲区地址的优先级高于外部空闲缓冲区队列;以及内部空闲缓冲区队列控制模块,用于控制内部空闲缓冲区队列的出队和入队操作,并维护内部空闲缓冲区队列的指针。此外,本发明提供了一种分级缓冲区管理方法。从而,在进出芯片的流量稳定时,不需要对外部存储器进行读写访问。这样将极大提高缓冲区管理器的效率,以及提高外存的带宽利用率。
Description
技术领域
本发明涉及高速数据交换领域,更具体地,涉及管理诸如SDRAM,DDR,DDR2之类的大容量数据存储器的分级缓冲区管理系统及方法。该存储器被分成众多小分片(称为缓冲区),存储在数据交换过程中需要缓存的数据报文。管理这些分片的申请和释放由缓冲区管理系统完成。
背景技术
在数据通信网络中,数据流量都非常大。这些数据流量在数据交换点(如交换机,路由器等)完成源端口与目的端口之间的互通。在每个数据交换点,必须以迅速且有效的方式将从源端口的数据交换到目的端口。在网络上传递的数据通常都是以固定大小的分组或者有长度限制的数据帧进行传递。通常,分组(或数据帧)从源端口进来之后,都要求被存储在缓冲区中。
在数据通信领域中,通常使用大容量的存储器来存储从源端口进来的数据。大容量的存储器通常为SDRAM,DDR SDRAM,DDR2SDRAM等。存储器根据需要被分割为很多小块。这些小块被称为缓冲区(Buffer)。对这些缓冲区进行有效地管理的机制及其具体实现,称为缓冲区管理器(Buffer Manager)。数据从源端口进来的时候,将发起申请缓存区操作。数据从目的端口发送出去的时候,将发起释放缓存区操作。
传统缓冲区管理器实现图如附图1所示。包括空闲缓冲区队列读写指针,空闲缓冲区队列,控制逻辑三个部分。大容量的外部存储器是被管理的目标。外部存储器根据需要被分割成很多小块,每个小块依顺序赋予地址,称为缓冲区地址。空闲缓冲区队列保存的为未分配出去的缓冲区地址。在系统初始化阶段(参见图2),需要将空闲缓冲区队列初始化,其内容为依顺序排列的缓冲区地址,读指针初始化成0,写指针初始化为缓冲区总数加1。在系统初始化阶段,空闲缓冲区列表为满状态。当外部有缓冲区申请请求时(参见图3),从空闲缓冲区队列中取得一个空闲缓冲区地址,读指针加1;外部有缓冲区释放请求时(参见图4),响应释放请求,将待释放的缓冲区地址列入空闲缓冲区队列,写指针加1。
存储器的容量一般很大,所以缓冲区的数量一般也比较大。假如管理1024K的缓冲区数量,那么每个缓冲区的地址为20bit。按照传统缓冲区管理器的做法,管理这些缓冲区,空闲缓冲区列表占用的空间至少为:1024K*20=20Mbit。如此巨大的空间消耗,迫使传统缓冲区管理器将空闲缓冲区列表的内容(缓冲区指针)存放在芯片的外部存储器中。而缓冲区管理器则位于芯片内部,其负责维护空闲缓冲区队列的读写指针。此种方式要求缓冲区管理器在每一个申请和释放的时候都需要读写外部存储器各一次。由于外部存储器通常表现出显著延迟,使得缓冲区管理器的效率受到影响。同时,由于缓冲区管理器不可能独占一个外部存储器,其对外部存储器的每次读写都还将影响到芯片内部的其他模块对外部存储器的访问,从而影响其他模块的效率。而且由于缓冲区管理器对外部存储器的访问长度都很短(对于外部存储器为SDRAM或者DDR SDRAM来说,通常为1就够了,对Buffer数的要求不会超过2^32个),这还会影响到整个外部存储器的带宽利用率。
发明内容
考虑到上述问题而做出本发明,为此,本发明的主要目的在于,提供一种分级缓冲区管理系统及方法。
根据本发明的一个方面,提供了一种分级缓冲区管理系统,包括芯片和外部存储器,其中,外部存储器包括外部空闲缓冲区队列,芯片包括外部空闲缓冲区队列控制模块和控制逻辑模块,芯片还包括:
内部空闲缓冲区队列,用于存放部分缓冲区地址的RAM空间,其中,内部空闲缓冲区队列存储缓冲区地址的优先级高于外部空闲缓冲区队列;以及
内部空闲缓冲区队列控制模块,用于控制内部空闲缓冲区队列的出队和入队操作,并维护内部空闲缓冲区队列的指针。
内部空闲缓冲区队列的指针和外部空闲缓冲区队列的指针可以分别包括读指针和写指针。
内部空闲缓冲区队列的指针和外部空闲缓冲区队列的指针还可以分别包括队列指针。
外部空闲缓冲区队列位于大容量的DRAM或SRAM存储芯片中,用于存放缓冲区地址。
根据本发明的另一方面,提供了一种分级缓冲区管理方法,其包括以下步骤:对分级缓冲区管理系统进行初始化操作,其中,将外部空闲缓冲区列队中的部分缓冲区地址保存到内部空闲缓冲区队列,该缓冲区地址的数量为第二阈值;以及在初始化步骤之后,外部空闲缓冲区列队和内部空闲缓冲区队列分级地执行分配缓冲区过程,其中,内部空闲缓冲区队列存储缓冲区地址的优先级高于外部空闲缓冲区队列。
在初始化操作结束时,外部空闲缓冲区队列的读指针可以位于第二阈值处,以及外部空闲缓冲区队列的写指针可以位于最大缓冲区数目处。
分配缓冲区过程可以包括内部空闲缓冲区队列执行出队操作。
在出队操作期间,当内部空闲缓冲区队列中的缓冲区地址数量小于第一阈值时,内部空闲缓冲区队列控制模块向外部空闲缓冲区队列发起将多个空闲缓冲区地址分配到内部空闲缓冲区队列中的请求,并且外部空闲缓冲区队列将多个空闲缓冲区地址提供给内部空闲缓冲区队列。
根据本发明的分级缓冲区管理方法还可以包括外部空闲缓冲区列队和内部空闲缓冲区队列分级地执行释放缓冲区过程,其中,内部空闲缓冲区队列执行入队操作。
在入队操作期间,当内部空闲缓冲区队列中的缓冲区地址数量大于第二阈值时,内部空闲缓冲区队列控制模块执行将预定数量的缓冲区释放到外部空闲缓冲区队列的操作。
由于内部空闲缓冲区队列位于芯片内部,其无论是响应速度还是带宽都将比访问外部存储器快很多。而且,在常用的数据交换过程中,从源端口进来的数据流量应等于从目的端口出去的数据流量,在芯片内部不会有报文滞留,所以单位时间内申请缓冲区的速率应会等于释放缓冲区的速率。采用本发明后,只要内部空闲缓冲区队列深度大于某一数值,在常用的数据交换过程中,都不需要访问外部存储器。空闲缓冲区队列的深度通常可由芯片的交换延迟决定。采用本发明后,无疑会大幅提高缓冲区管理系统的响应速度,降低外部存储器的访问次数,提高其他模块对外部存储器的访问响应。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1示出了根据现有技术的缓冲区管理器系统的结构示意图;
图2示出了根据现有技术的缓冲区管理器的初始化过程的流程图;
图3示出了根据现有技术的缓冲区管理器的缓冲区分配的流程图;
图4示出了根据现有技术的缓冲区管理器的缓冲区申请的流程图;
图5示出了根据本发明的分级缓冲区管理系统的结构示意图;
图6示出了根据本发明的分级缓冲管理方法的流程图;
图7示出了根据本发明实施例的分级缓冲区管理系统的结构示意图;
图8示出了根据本发明实施例的分级缓冲管理方法的初始化过程的流程图;
图9示出了根据本发明的分级缓冲管理方法的缓冲区分配的流程图;以及
图10示出了根据本发明的缓冲区管理器的缓冲区申请的流程图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图5示出了根据本发明的分级缓冲区管理系统的结构示意图。
参照图5,提供了一种分级缓冲区管理系统,包括芯片10和外部存储器20,其中,外部存储器20包括外部空闲缓冲区队列201,芯片10包括外部空闲缓冲区队列控制模块103和控制逻辑模块104,芯片10还包括:
内部空闲缓冲区队列101,用于存放部分缓冲区地址的RAM空间,其中,内部空闲缓冲区队列101存储缓冲区地址的优先级高于外部空闲缓冲区队列201;以及
内部空闲缓冲区队列控制模块102,用于控制内部空闲缓冲区队列101的出队和入队操作,并维护内部空闲缓冲区队列101的指针。
内部空闲缓冲区队列101的指针和外部空闲缓冲区队列103的指针可以分别包括读指针和写指针。
内部空闲缓冲区队列101的指针和外部空闲缓冲区队列103的指针还可以分别包括队列指针。
外部空闲缓冲区队列103位于大容量的DRAM或SRAM存储芯片中,用于存放缓冲区地址。
图6示出了根据本发明的分级缓冲管理方法的流程图。
参照图6,提供了一种分级缓冲区管理方法,其包括以下步骤:步骤S202,对分级缓冲区管理系统进行初始化操作,其中,将外部空闲缓冲区列队中的部分缓冲区地址保存到内部空闲缓冲区队列中,缓冲区地址的数量为第二阈值;以及步骤S204,在初始化步骤之后,外部空闲缓冲区列队和内部空闲缓冲区队列分级地执行分配缓冲区过程,其中,内部空闲缓冲区队列存储缓冲区地址的优先级高于外部空闲缓冲区队列。
在初始化操作结束时,外部空闲缓冲区队列的读指针可以位于第二阈值处,以及外部空闲缓冲区队列的写指针可以位于最大缓冲区数目处。
分配缓冲区过程可以包括内部空闲缓冲区队列执行出队操作。
在出队操作期间,当内部空闲缓冲区队列中的缓冲区地址数量小于第一阈值时,内部空闲缓冲区队列控制模块向外部空闲缓冲区队列发起将多个空闲缓冲区地址分配到内部空闲缓冲区队列中的请求,并且外部空闲缓冲区队列将多个空闲缓冲区地址提供给内部空闲缓冲区队列。
根据本发明的分级缓冲区管理方法还可以包括外部空闲缓冲区列队和内部空闲缓冲区队列分级地执行释放缓冲区过程,其中,内部空闲缓冲区队列执行入队操作。
在入队操作期间,当内部空闲缓冲区队列中的缓冲区地址数量大于第二阈值时,内部空闲缓冲区队列控制模块执行将预定数量的缓冲区地址释放到外部空闲缓冲区队列的操作。
图7示出了根据本发明示例性实施例的分级缓冲区管理系统的结构示意图。
本发明借助流量平衡特性,在芯片内部开辟一小块RAM,作一个小的空闲缓冲区队列来达到减少外部存储器访问的目的。即将空闲缓冲区管理分成2级,第一级速度极快,位于芯片内部;第二级速度稍慢,位于外部存储器上。如果单位时间内,申请缓冲区的数量和释放缓冲区的数量相等,那么不需要涉及到第二级管理,减少了外存的访问,提高的本模块的速度以及外存的带宽利用率。本发明实现的缓冲区管理器系统由五个主要部分构成,分别是存储在外部存储器中的空闲缓冲区队列,外部空闲缓冲区队列控制模块,内部空闲缓冲区队列,内部空闲缓冲区队列控制模块,以及控制逻辑模块。和传统缓冲区管理器相比,增加了内部空闲缓冲区队列以及相应的控制模块来控制队列的出队以及入队。
如附图7所示的分级缓冲区管理系统包括五个部分:外部存储器中的空闲缓冲区队列,外部空闲缓冲区队列控制模块,内部空闲缓冲区队列,内部空闲缓冲区队列控制模块,以及控制逻辑模块。外部存储器是被管理对象,其依据数据报文的大小被分成众多大小相同的缓冲区,每个缓冲区由缓冲区指针来索引。
1.外部存储器中的空闲队列
此对应的是外部存储器中的一块物理空间,其大小应为:缓冲区指针宽度x缓冲区个数。其内容存放的是缓冲区指针。每个缓冲区地址对应报文在外部存储器中存放的一段存储空间。在系统初始化阶段,此队列应被依顺序初始成:0x0,0x1....。
2.外部空闲缓冲区队列控制模块
完成对外部存储器中的空闲队列的出队和入队操作,维护外部存储器中的空闲队列的读写指针。在系统初始化完成后,读指针应为内部空闲缓冲区队列的第二阀值,写指针应为最大缓冲区数目的值。当有缓冲区需要释放到外部存储器中的空闲队列时,执行入队操作,将待释放的缓冲区指针写入外部存储器中的队列中写指针指向的地址,并将写指针加1。当有缓冲区需要申请时,执行出队操作,将读指针对应的外部存储器队列中的内容读出,并将读指针加1。
外部存储器中的空闲队列,也可以采取以堆栈方式管理,那么外部空闲缓冲区队列控制模块需要维护的只是一个堆栈指针,而不再需要维护读写两个指针。
3.内部空闲缓冲区队列
此对应的是芯片内部的一小块RAM空间,其数据宽度应等于缓冲区地址宽度,其深度应和芯片的交换延迟决定。此队列存放的内容为缓冲区地址。在系统初始化完成后,其应被已经被依顺序初始化成,0x0,0x1.....。
4.内部空闲缓冲区队列控制模块
完成对内部空闲缓冲区队列的出队和入队操作,维护内部空闲缓冲区队列的读写指针。在系统初始化完成后,读指针应为0,写指针应为内部空闲缓冲区队列的第二阀值。当有缓冲区释放时,执行入队操作,将代释放的缓冲区指针写入内部空闲队列写指针对应的地址,并将写指针加1。如果此时内部空闲缓冲区队列包含的空闲缓冲区个数大于第二阀值,执行将批量缓冲区都释放入外部空闲缓冲区队列。当有缓冲区申请时,执行出队操作,将内部空闲缓冲区队列读指针指向的地址存储的内容读出,并将读指针加1。如果此时内部空闲缓冲区包含的空闲缓冲区个数小于第一阀值,将执行批量缓冲区申请操作,从外部空闲缓冲区读入一定数量的空闲缓冲区。
内部空闲缓冲区队列,也可以采取以堆栈方式管理,那么内部空闲缓冲区队列控制模块需要维护的只是一个堆栈指针,而不再需要维护读写两个指针。
5.控制逻辑模块
此模块完成外部缓冲区释放和申请的仲裁操作。当有多个申请释放源同时有效的时候,决定响应哪个源。缓冲区管理器可以服务多个缓冲区使用者,使用者需要使用缓冲区时向缓冲区管理器申请分配,使用完缓冲区后向缓冲区管理器申请释放该缓冲区,回收供以后使用。控制逻辑部分根据外部的分配或者释放请求,根据优先级策略仲裁,选择处理某一个申请源的请求,然后对内部空闲缓冲区队列进行出队和入队操作。
图8示出了根据本发明示例性实施例的分级缓冲管理方法的初始化过程的流程图。
在系统初始化阶段,将外部空闲缓冲区列表按顺序初始化好。然后将从外部存储器的空闲缓冲区列表申请一定数量的缓冲区,将内部空闲缓冲区队列内的缓冲区数量充满到第二门限值。初始化完成之后,才进入正常的工作模式。
图9示出了根据本发明示例性实施例的分级缓冲管理方法的缓冲区分配的流程图。
在分配缓冲区时,收到缓冲区使用者的分配请求后,内部空闲缓冲区队列执行出队操作,将被分配的缓冲区索引送给申请者。如果内部空闲缓冲区队列内的缓冲区数目小于第一门限值,则需要发起从外部存储器的空闲缓冲区列表中申请分配多个空闲缓冲区填充到内部空闲缓冲区队列中。
图10示出了根据本发明示例性实施例的缓冲区管理器的缓冲区申请的流程图。
在释放缓冲区时,收到缓冲区使用者的释放请求后,内部空闲缓冲区队列执行入队操作,将被释放的缓冲区直接将缓冲区直接释放进内部空闲缓冲区队列。当内部空闲缓冲区队列内的缓冲区数目大于第二门限值时,则执行内部空闲缓冲区队列出队操作,将一定数量的缓冲区释放进外部空闲缓冲区队列。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种分级缓冲区管理系统,包括芯片和外部存储器,其中,所述外部存储器包括外部空闲缓冲区队列,所述芯片包括外部空闲缓冲区队列控制模块和控制逻辑模块,其特征在于,所述芯片还包括:
内部空闲缓冲区队列,用于存放部分缓冲区地址的RAM空间,其中,所述内部空闲缓冲区队列存储缓冲区地址的优先级高于所述外部空闲缓冲区队列;以及
内部空闲缓冲区队列控制模块,用于控制所述内部空闲缓冲区队列的出队和入队操作,并维护所述内部空闲缓冲区队列的指针。
2.根据权利要求1所述的系统,其特征在于,所述内部空闲缓冲区队列的所述指针和所述外部空闲缓冲区队列的指针分别包括读指针和写指针。
3.根据权利要求1所述的系统,其特征在于,所述内部空闲缓冲区队列的所述指针和所述外部空闲缓冲区队列的指针分别包括队列指针。
4.根据权利要求1所述的系统,其特征在于,所述外部空闲缓冲区队列位于大容量的DRAM或SRAM存储芯片中,用于存放所述缓冲区地址。
5.一种通过根据权利要求1至4中任一项所述的分级缓冲区管理系统执行的分级缓冲区管理方法,其特征在于,包括以下步骤:
对所述分级缓冲区管理系统进行初始化操作,其中,将外部空闲缓冲区列队中的部分缓冲区地址保存到内部空闲缓冲区队列中,并且所述缓冲区地址的数量为第二阈值;以及在所述初始化操作之后,所述外部空闲缓冲区列队和所述内部空闲缓冲区队列分级地执行分配缓冲区过程,其中,所述内部空闲缓冲区队列存储缓冲区地址的优先级高于所述外部空闲缓冲区队列。
6.根据权利要求5所述的方法,其特征在于,所述内部空闲缓冲区队列的指针和所述外部空闲缓冲区队列的指针分别包括读指针和写指针。
7.根据权利要求6所述的方法,其特征在于,在所述初始化操作结束时,所述外部空闲缓冲区队列的读指针位于第二阈值处,以及所述外部空闲缓冲区队列的写指针位于最大缓冲区数目处。
8.根据权利要求5所述的方法,其特征在于,所述分配缓冲区过程包括:所述内部空闲缓冲区队列执行出队操作。
9.根据权利要求8所述的方法,其特征在于,在所述内部空闲缓冲区执行所述出队操作期间,当所述内部空闲缓冲区队列中的所述缓冲区地址数量小于第一阈值时,内部空闲缓冲区队列控制模块向所述外部空闲缓冲区队列发起将多个空闲缓冲区地址分配到所述内部空闲缓冲区队列中的请求,并且所述外部空闲缓冲区队列将所述多个空闲缓冲区地址提供给所述内部空闲缓冲区队列。
10.根据权利要求5所述的方法,其特征在于,还包括所述外部空闲缓冲区列队和所述内部空闲缓冲区队列分级地执行释放缓冲区过程,其中,所述内部空闲缓冲区队列执行入队操作。
11.根据权利要求10所述的方法,其特征在于,在所述入队操作期间,当所述内部空闲缓冲区队列中的所述缓冲区地址数量大于所述第二阈值时,所述内部空闲缓冲区队列控制模块执行将预定数量的缓冲区地址释放到所述外部空闲缓冲区队列的操作。
12.根据权利要求5所述的方法,其特征在于,所述内部空闲缓冲区队列的所述指针和所述外部空闲缓冲区队列的指针分别包括队列指针。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810005260A CN101499956B (zh) | 2008-01-31 | 2008-01-31 | 分级缓冲区管理系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810005260A CN101499956B (zh) | 2008-01-31 | 2008-01-31 | 分级缓冲区管理系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101499956A true CN101499956A (zh) | 2009-08-05 |
CN101499956B CN101499956B (zh) | 2012-10-10 |
Family
ID=40946842
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810005260A Active CN101499956B (zh) | 2008-01-31 | 2008-01-31 | 分级缓冲区管理系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101499956B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101621474B (zh) * | 2009-08-11 | 2011-11-16 | 杭州华三通信技术有限公司 | 一种实现小包访问内存高速线速的方法及装置 |
CN102439534A (zh) * | 2011-10-25 | 2012-05-02 | 华为技术有限公司 | 降低数据类芯片外挂ddr功耗的方法及数据类芯片系统 |
CN102437929A (zh) * | 2011-12-16 | 2012-05-02 | 华为技术有限公司 | 队列管理中的数据出队方法及装置 |
CN106302238A (zh) * | 2015-05-13 | 2017-01-04 | 深圳市中兴微电子技术有限公司 | 一种队列管理方法及装置 |
CN106326141A (zh) * | 2015-06-16 | 2017-01-11 | 中兴通讯股份有限公司 | 数据缓存处理方法及装置 |
CN107025184A (zh) * | 2016-02-01 | 2017-08-08 | 深圳市中兴微电子技术有限公司 | 一种数据管理方法及装置 |
CN110245121A (zh) * | 2019-05-08 | 2019-09-17 | 深圳市战音科技有限公司 | 文件管理方法、系统以及电子设备 |
CN111026348A (zh) * | 2019-12-13 | 2020-04-17 | 中国科学院长春光学精密机械与物理研究所 | 一种图像显示方法、装置及设备 |
CN111316249A (zh) * | 2017-09-04 | 2020-06-19 | 弗索拉公司 | 改进的数据处理方法 |
US10969996B1 (en) * | 2019-02-06 | 2021-04-06 | Marvell Israel (M.I.S.L) Ltd. | Extendable hardware queue structure and method of operation thereof |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100691327B1 (ko) * | 2005-10-10 | 2007-03-12 | 삼성전자주식회사 | 디스플레이장치 및 그 제어방법 |
CN101046770A (zh) * | 2006-03-28 | 2007-10-03 | 福华先进微电子股份有限公司 | 存储器存取系统及方法 |
CN100530078C (zh) * | 2007-05-16 | 2009-08-19 | 中兴通讯股份有限公司 | 一种堆栈缓冲区管理方法 |
-
2008
- 2008-01-31 CN CN200810005260A patent/CN101499956B/zh active Active
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101621474B (zh) * | 2009-08-11 | 2011-11-16 | 杭州华三通信技术有限公司 | 一种实现小包访问内存高速线速的方法及装置 |
CN102439534A (zh) * | 2011-10-25 | 2012-05-02 | 华为技术有限公司 | 降低数据类芯片外挂ddr功耗的方法及数据类芯片系统 |
CN102437929A (zh) * | 2011-12-16 | 2012-05-02 | 华为技术有限公司 | 队列管理中的数据出队方法及装置 |
CN102437929B (zh) * | 2011-12-16 | 2014-05-07 | 华为技术有限公司 | 队列管理中的数据出队方法及装置 |
CN106302238A (zh) * | 2015-05-13 | 2017-01-04 | 深圳市中兴微电子技术有限公司 | 一种队列管理方法及装置 |
CN106326141A (zh) * | 2015-06-16 | 2017-01-11 | 中兴通讯股份有限公司 | 数据缓存处理方法及装置 |
CN107025184A (zh) * | 2016-02-01 | 2017-08-08 | 深圳市中兴微电子技术有限公司 | 一种数据管理方法及装置 |
CN111316249A (zh) * | 2017-09-04 | 2020-06-19 | 弗索拉公司 | 改进的数据处理方法 |
CN111316249B (zh) * | 2017-09-04 | 2023-09-29 | 弗索拉公司 | 改进的数据处理方法 |
US10969996B1 (en) * | 2019-02-06 | 2021-04-06 | Marvell Israel (M.I.S.L) Ltd. | Extendable hardware queue structure and method of operation thereof |
CN110245121A (zh) * | 2019-05-08 | 2019-09-17 | 深圳市战音科技有限公司 | 文件管理方法、系统以及电子设备 |
CN111026348A (zh) * | 2019-12-13 | 2020-04-17 | 中国科学院长春光学精密机械与物理研究所 | 一种图像显示方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN101499956B (zh) | 2012-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101499956B (zh) | 分级缓冲区管理系统及方法 | |
US7324509B2 (en) | Efficient optimization algorithm in memory utilization for network applications | |
CN104090847B (zh) | 一种固态存储设备的地址分配方法 | |
CN107204198B (zh) | 高速访问双倍速率同步动态随机存储器的控制方法及装置 | |
US9841913B2 (en) | System and method for enabling high read rates to data element lists | |
US8312243B2 (en) | Memory management in network processors | |
CN102193874B (zh) | 用于管理存储器的缓存管理器和方法 | |
CN108366111B (zh) | 一种用于交换设备的数据包低时延缓存装置与方法 | |
US10055153B2 (en) | Implementing hierarchical distributed-linked lists for network devices | |
US9769092B2 (en) | Packet buffer comprising a data section and a data description section | |
US7126959B2 (en) | High-speed packet memory | |
US7000073B2 (en) | Buffer controller and management method thereof | |
US9785367B2 (en) | System and method for enabling high read rates to data element lists | |
TWI730481B (zh) | 網路封包接收裝置及方法 | |
CN1517881A (zh) | 存储器管理空闲指针库 | |
US9767014B2 (en) | System and method for implementing distributed-linked lists for network devices | |
WO2013139363A1 (en) | Memory architecture determining the number of replicas stored in memory banks or devices according to a packet size | |
US10067690B1 (en) | System and methods for flexible data access containers | |
WO2024001414A1 (zh) | 报文的缓存方法、装置、电子设备及存储介质 | |
US9965211B2 (en) | Dynamic packet buffers with consolidation of low utilized memory banks | |
Garcia et al. | On the design of hybrid dram/sram memory schemes for fast packet buffers | |
Wang et al. | Reservation-Based Packet Bufferswith Deterministic Packet Departures |
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 |