[发明专利]缓存数据处理方法、装置及系统有效
申请号: | 200810057696.6 | 申请日: | 2008-02-04 |
公开(公告)号: | CN101222444A | 公开(公告)日: | 2008-07-16 |
发明(设计)人: | 郑勤;罗海燕;卞云峰;吕晖 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | H04L12/56 | 分类号: | H04L12/56;H04L29/06 |
代理公司: | 北京同立钧成知识产权代理有限公司 | 代理人: | 刘芳 |
地址: | 518129广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 缓存 数据处理 方法 装置 系统 | ||
技术领域
本发明涉及通信技术领域,尤其涉及一种缓存数据处理方法、装置及系统。
背景技术
包缓存是现代通讯设备中必不可少的关键技术之一,其主要作用是在流量拥塞时提供数据包缓存,避免或减少流量丢失;随着端口速度的不断提高,高端通讯设备通常采用多路并行包缓存技术以获得同端口速度相匹配的包缓存带宽,如图1所示,为现有缓存数据处理系统的结构示意图,该系统由N个并行的存储器所组成,从端口进来的数据包经入队控制器通过存储控制器分发到各个存储器进行缓存,数据包的控制信息入包队列,出队调度器从包队列调度出数据包的控制信息,通过存储控制器从相应的存储器读出包数据,发送到下一级设备,其中,A表示数据通道,B表示控制通道。
由于出队调度器只能从入队控制器选定的存储器中读出包数据,有可能一段时间内所有调度出来的包正好都在一个存储器内,导致从包缓存出队带宽只有设计能力的1/N,因此,在上述多路并行包缓存系统中一个需要解决的关键问题是如何平衡各存储器的读写带宽。
目前,平衡各存储器读写带宽是通过以下手段实现:第一,采用小粒度跨存储器并行保存,即按每个存储器的最小存储粒度(如32bits)把每个数据包分割开来存在多个存储器里,这样出队时每个包都从多个储存器读出来,减少了出队带宽的不平衡程度;第二,采用多包出队的方法,即允许从一个队列中一次调度多个包出来,入队时采用入同一队列的包按顺序存到多个存储器中,这样出队时包数据就会比较均匀地分布在多个存储器中,改进了多存储器之间读带宽的平衡。
发明人在实施本发明的过程中发现,上述方法至少存在如下缺陷,例如第一种方法对于通用的DRAM存储器,小粒度存储会造成每个存储器的读写效率降低,从而降低整个包缓存的有效带宽;对于第二种方法多包出队调度实现比较复杂,同时为提高每个存储器的有效带宽而采用较大的存储粒度时,存储器的空间效率和带宽效率都会有较大的降低,入队时由于包需要按顺序存入各个存储器,也会导致多存储器之间写带宽不平衡性的增加。
发明内容
本发明实施例提供一种缓存数据处理方法、装置及系统,以提高存储器的读写效率,改善多存储器间读写带宽的均衡性,从而提高系统性能。
本发明实施例提供了一种缓存数据处理方法,该方法具体包括:
对进入同一队列的数据包进行拼接;
将拼接后的数据包按预定粒度分割成多个数据单元;
将分割后的数据单元存储在多个存储器中。
上述方法,提高了存储器的读写效率,改善了多存储器间读写带宽的均衡性,从而提高了系统性能。
本发明实施例提供了一种缓存数据处理装置,该装置具体包括:
拼接模块,用于对进入同一队列的数据包进行拼接;
分割模块,用于将拼接后的数据包按预定粒度分割成多个数据单元;
存储模块,用于将分割后的数据单元存储在多个存储器中。
上述装置,提高了存储器的读写效率,改善了多存储器间读写带宽的均衡性。
本发明实施例提供了一种缓存数据处理系统,该系统具体包括:
入队控制器,用于对进入同一队列的数据包进行拼接;
存储控制器,用于将拼接后的数据包按预定粒度分割成多个数据单元并控制分发分割后的数据单元;
多个并行的存储器,用于保存分割后的数据单元,且所述数据单元保存在多个存储器中。
上述系统,提高了存储器的读写效率,改善了多存储器间读写带宽的均衡性,从而提高了系统性能。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1为现有缓存数据处理系统的结构示意图;
图2为本发明缓存数据处理方法实施例的流程图;
图3为本发明缓存数据处理装置实施例的结构示意图;
图4为本发明缓存数据处理系统实施例的结构示意图。
具体实施方式
如图2所示,为本发明缓存数据处理方法实施例的流程图,该方法具体包括:
步骤101、对进入同一队列的数据包进行拼接;
对进入同一队列的数据包按预定长度进行拼接,为进入同一队列的数据设置一个状态表项,该表项维护每一个正在拼包的队列,记录已拼队列的包长,当已拼的队列的包长达到预定长度时,完成一个拼包,当上述预定长度根据存储器的个数等条件进行设置;另外,当进入同一队列的最后一个数据包与已拼接的数据包拼接后的包长超过预定长度时,完成该拼包操作,此时,将进入同一队列的数据包拼接成超过预定长度的数据包;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810057696.6/2.html,转载请声明来源钻瓜专利网。