[发明专利]一种缓冲区管理方法及其系统无效
| 申请号: | 200810100471.4 | 申请日: | 2008-06-16 |
| 公开(公告)号: | CN101610197A | 公开(公告)日: | 2009-12-23 |
| 发明(设计)人: | 吴春华;娄本刚 | 申请(专利权)人: | 中兴通讯股份有限公司 |
| 主分类号: | H04L12/54 | 分类号: | H04L12/54;H04L29/08 |
| 代理公司: | 北京安信方达知识产权代理有限公司 | 代理人: | 龙 洪;霍育栋 |
| 地址: | 518057广东省深圳市南山*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 缓冲区 管理 方法 及其 系统 | ||
技术领域
本发明涉及高速数据传输与交换,具体涉及一种缓冲区管理方法及其系统。
背景技术
在数据通信网络中,数据流量都非常大。这些数据流量在数据交换点完成源端口与目的端口之间的互通,所述数据交换点包括交换机,路由器等。在每个数据交换点,一般由于数据处理的需要,都需要将从源端口进来的数据报文进行缓存。
在数据通信领域中,通常使用大容量的存储器来存储从源端口进来的数据。大容量的存储器通常为同步动态随机存储器(SDRAM),双倍数据传输同步动态随机存储器(DDR SDRAM),四倍数据传输同步动态随机存储器(DDR2SDRAM)等。存储器根据需要被分割为很多小块,这些小块被称为缓冲区(Buffer)。对这些缓冲区进行有效地管理的机制及其具体实现,称为缓冲区管理系统(Buffer Manager)。数据从源端口进来的时候,将发起申请缓存区操作。数据从目的端口发送出去的时候,将发起释放缓存区操作。
如图1所示,传统缓冲区管理系统包括空闲缓冲区列表读写指针,空闲缓冲区队列,控制逻辑,缓冲区回收三个部分。大容量的外部存储器是被管理的目标。外部存储器根据需要被分割成很多小块,每个小块依顺序赋予地址,称为缓冲区地址。空闲缓冲区队列保存的为未分配出去的缓冲区地址。其工作原理如下:(一)初始化,如图2所示,在系统初始化阶段需要将空闲缓冲区队列初始化,其内容为依顺序排列的缓冲区地址,读指针初始化成0,写指针初始化为缓冲区总数加1。在该阶段,空闲缓冲区列表为满状态。(二)分配过程,如图3所示,当外部有缓冲区申请请求时,从空闲缓冲区队列中取得一个空闲缓冲区地址,读指针加1;(三)释放过程,如图4所示,当外部有缓冲区释放请求时,响应释放请求,将待释放的缓冲区地址列入空闲缓冲区队列,写指针加1。
由于数据缓存能力的需要,选用的存储器的容量一般很大,缓冲区的数量一般也比较大。假如管理1M的缓冲区数量,那么每个缓冲区的地址为20bit,管理这些缓冲区占用的空间至少为:1M*20=20Mbit。如此巨大的空间消耗,迫使传统缓冲区管理系统将空闲缓冲区列表的内容(缓冲区指针)存放在芯片的外部存储器中。而缓冲区管理系统则位于芯片内部,其负责维护空闲缓冲区队列的读写指针。此种方式要求缓冲区管理系统在每一个申请和释放的时候都需要读写外部存储器各一次。由于外部存储器通常表现出显著延迟,使得缓冲区管理系统的效率受到影响。
同时,采用传统的缓冲区管理系统,如果需要有缓冲区的自动回收系统,其必须为每个缓冲区至少分配2比特Bit空间,记录当前缓冲区的分配状态和回收状态。在此种情况下,传统的缓冲区管理系统在分配缓冲区时,置缓冲区的分配状态Bit为有效,同时置缓冲区的回收状态Bit为无效。传统的缓冲区管理系统的回收方法通过定时遍历所有的缓冲区,查看缓冲区的状态,然后更新缓冲区的状态。如果缓冲区的分配状态Bit为有效,而回收状态Bit为无效,则置回收状态Bit为有效。如果缓冲区的分配状态Bit为有效,而回收状态Bit为有效,则置分配状态Bit和回收状态Bit为无效。另外,此2Bit的访问不能和空闲缓冲区队列一起访问,其原因是空闲缓冲区队列中的内容为乱序的。所以,如果采用自动回收系统,在对缓冲区进行回收时,还将增加对外部存储器的读写访问各一次,对性能造成严重影响。
考虑到缓冲区回收功能,传统的缓冲区管理系统管理1M的缓冲区数量,其所需的空间至少为:1M*20+1M*2=22Mbit,其空间所需巨大,且性能低下。
发明内容
本发明需要解决的技术问题是如何提供一种缓冲区管理方法及其系统,可以无须读写外部存储器完成缓冲区的申请和释放。
本发明的上述第一个技术问题这样解决,提供一种缓冲区管理方法,包括以下步骤:
1.1)建立外部存储器的缓冲区状态表并将其记录索引与各自缓冲区地址对应;所述索引和地址的宽度一致,所述状态包括分配状态和未分配状态,未分配状态也称空闲状态;
1.2)根据对应请求和所述缓冲区状态表分配或回收缓冲区并对所述缓冲区状态表进行维护。
按照本发明提供的管理方法,所述记录索引与对应缓冲区地址完全相同。
按照本发明提供的管理方法,所述缓冲区状态表由若干缓冲区状态子表构成,所述缓冲区状态子表标识码ID作为高位和所述缓冲区状态子表的记录索引作为低位构成各自缓冲区地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810100471.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种网络地址转换出接口均衡方法和装置
- 下一篇:一种处理报文的方法





