[发明专利]一种路由交换设备及其数据缓存的方法有效
申请号: | 200910167277.2 | 申请日: | 2009-09-02 |
公开(公告)号: | CN101645846A | 公开(公告)日: | 2010-02-10 |
发明(设计)人: | 陈红旗;周昶 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | H04L12/56 | 分类号: | H04L12/56;H04L12/28 |
代理公司: | 北京安信方达知识产权代理有限公司 | 代理人: | 解婷婷;龙 洪 |
地址: | 518057广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 路由 交换 设备 及其 数据 缓存 方法 | ||
技术领域
本发明属于网络通信领域,具体地说是一种路由交换设备及其数据缓存的方法。
背景技术
在路由交换设备中,通常将数据包按照一定的规则拆分成多个数据片,在数据包输出时,再将被拆分成的多个数据片进行组合,恢复成原来的数据包。数据包拆分的数据片长度应该与数据包最小长度、内部包处理速度、存储器数据位宽等因素有关。队列保存通常选用不同队列存储区域动态保存的方式,在考虑动态存储器的带宽利用率的条件下,任何空闲的区域随时都可以放入需要缓存的队列数据。
随着网络技术的发展,路由交换设备中数据动态缓存的带宽越来越大,由于动态存储器的预充电、列激活和自动刷新等时序要求的存在。存储器带宽利用率成为数据缓存首要考虑的问题。但是端口速度的提高和数据包长度变化使得数据缓存的时序控制变得复杂。所以存储器实际数据带宽成为路由交换设备中数据缓存存储器件选择的重要参考。
在数据缓存的应用中,读写操作的地址不相关以及不同包长数据切片数不相等导致不同读操作的地址没有相关性,导致带宽利用率难于提高。
发明内容
本发明要解决的技术问题是,提出一种路由交换设备及其数据缓存的方法,以方便的逻辑代码移植的高性能路由交换设备提高存储带宽利用率。
为了解决上述问题,本发明公开了一种数据缓存的方法,包括:
路由交换设备收到数据包时,若查询外部缓存器的数据缓存状态为,有非全满的数据片行地址,且该非全满的数据片行地址中的连续空间足够存储所述数据包的所有数据片,则将所述数据包的所有数据片播入所述非全满的数据片行地址中,保存所述数据包的包信息和写入的数据片行地址,并更新所述外部缓存器的数据缓存状态。
进一步地,上述方法中,若所述路由交换设备查询外部缓存器的数据缓存状态为,有全空的连续的数据片行地址时,则将所述数据包的所有数据片写入所述全空的连续的数据片行地址中。
进一步地,所述路由交换设备通过连续burst写操作,将所述数据包的数据片连续写入数据片行地址中,其中,当所述数据包的数据片个数超过连续burst写操作的最大次数时,所述路由交换设备在每次写数据过程中,按照连续burst写操作的最大次数进行burst写操作,直到写入所述数据的所有数据片。
该方法还包括:所述路由交换设备接收到读操作时,根据所要读取的数据包的包信息和写入的数据片行地址,从外部缓存器中读取所述数据包,并更新所述外部缓存器的数据缓存状态。
其中,所述路由交换设备通过连续burst读操作,读取所述数据包的数据片,其中,当所述数据包的数据片个数超过连续burst读操作的最大次数时,所述路由交换设备一次读出所述数据包的所有数据片,并在下一次读数据时,减去本次读数据过程中超过连续burst读操作的最大次数的burst读操作数目。
本发明还公开了一种路由交换设备,包括缓存控制模块和数据缓存表模块,其中:
所述缓存控制模块,用于在收到数据包时,若查询数据缓存表模块中外部缓存器的数据缓存状态为,有非全满的数据片行地址,且该非全满的数据片行地址中的连续空间足够存储所述数据包的所有数据片时,则将所述数据包的所有数据片播入所述非全满的数据片行地址中,并将所述数据包的包信息和写入的数据片行地址发送给所述数据缓存表模块;
所述数据缓存表模块,用于保存所述缓存控制模块发送的写入外部存储器的数据包的包信息以及写入的数据片行地址,并实时更新所述外部缓存器的数据缓存状态。
进一步地,上述设备中,所述缓存控制模块,若查询外部缓存器的数据缓存状态为,有全空的连续的数据片行地址时,则将所述数据包的所有数据片写入所述全空的连续的数据片行地址中。
进一步地,所述缓存控制模块,通过连续burst写操作,将所述数据包的数据片连续写入数据片行地址中,其中,当所述数据包的数据片个数超过连续burst写操作的最大次数时,所述所述缓存控制模块在每次写数据过程中,按照连续burst写操作的最大次数进行burst写操作,直到写入所述数据的所有数据片。
其中,所述缓存控制模块,还用于在接收到读操作时,从所述数据缓存表模块中查询所要读取的数据包的包信息和写入的数据片行地址,从外部缓存器中读取所述数据包,并将读取结果发送给所述数据缓存表模块;
所述数据缓存表模块,用于接收所述缓存控制模块发送的读取结果,根据所述读取结果更新所述外部缓存器的数据缓存状态。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910167277.2/2.html,转载请声明来源钻瓜专利网。