存储转发系统及其报文存储方法

文档序号:7753580阅读:133来源:国知局
专利名称:存储转发系统及其报文存储方法
技术领域
本发明涉及网络通信存储器管理技术领域,具体而言,涉及一种存储转发系统及 其报文存储方法。
背景技术
互联网骨干网的数据速率几乎每六到九个月翻一番,同时,对服务质量的要求以 及对数据量也在不断提高。网络设备对于网络上报文的处理大多是基于存储转发方式,即 先将报文缓存到报文存储器中,通过处理运算,计算出报文的出口、格式等信息再发出,因 此所有的报文都至少经过一次的写入和读出操作。这些操作在存储控制器中完成。目前,片外存储器主要有静态随机存取存储器(Static RandomAccess Memory,简 称为Sram)和动态随机存取存储器(DynamicRandom Access Memory,简称为Dram) 二大类, 从速度、容量和成本上考虑,报文缓存主要使用DRAM。Dram是按照某个突发长度进行访问的,因此,由于突发字节数的影响,将导致实际 对存储控制器带宽的要求比理论的要高。例如,对于位宽为64bit,突发长度是8的Dram来 说,每一次的突发读或写都是64字节,对于一个需要缓存65字节的报文来说,需要分别二 次的突发读和写操作完成一个报文的存储转发。图1为理论上转发的包长与最大需求带宽 的对应关系图,图2为实际使用中转发的包长与最大需求带宽的对应关系图,通过比较可 知,实际使用过程中,在包长较小的范围内对存储控制器带宽的需求的跳跃很大,实际的带 宽要求要比理论的带宽要求要高。在一个以Dram为存储转发系统中,当需要存储转发的报文净荷的字节数是L,系 统Dram的存储突发读写字节数为M时,由于存储器受到突发字节数的限制,报文转发的效 率随报文字节数和突发字节数的变化而变化。其中,当L是M的整数倍时,效率N= 100%。当L不是M的整数倍时,效率N = L/ (M* (L\M+1)) *100%Dram完成一次读或写操作,需要通过预充电、行有效、读或写操作,因此,Dram突 发读写的长度越高,Dram的读写效率就越高。在上述公式中,发明人发现当报文净荷L越小,系统Dram的存储突发读写字节数 M越大时,系统的报文转发效率越低。如果L > = M,则L = M+1时,系统的报文转发效率也 较低。

发明内容
本发明的主要目的在于提供一种存储转发系统及其报文存储方法,以至少解决上 述的系统报文转发效率低的问题。根据本发明的一个方面,提供了一种存储转发系统的报文存储方法,包括存储转 发系统接收报文;存储转发系统确定该报文的净荷的字节数L处于预设的阈值范围内,且L mod M的值不为零,其中,M为主存储控制器的存储突发读写字节数,主存储控制器为动态随机存取存储器;将该报文分为两段,将第一段报文存储在辅存储控制器中,将另一段报文在 N次存储过程中,依次地分段存储在主存储控制器中,其中,第一段报文的字节数为L/M的 余数部分,N为L/M的整数部分。根据本发明的另一方面,提供了一种存储转发系统,包括接收模块,用于接收需 要存储转发的报文;判断模块,用于判断该报文的净荷的字节数L是否处于阈值范围内且L mod M的值不为零,如果是,则触发分割模块,其中,M为主存储控制器的存储突发读写字节 数;分割模块,用于将该报文分为两段,其中,第一段报文的字节数为L mod Μ;主存储控制 器,为Dram,用于在N次存储第二段报文的过程中,依次地分段存储第二段报文,其中,N为 L/M的整数部分;辅存储控制器,用于存储第一段报文。通过本发明,通过增加一个辅存储控制器,将产生读写效率损耗部分的报文存储 该辅存储控制器,从而可以降低对主存储控制器带宽的要求,提高报文转发的效率。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1是根据理论计算得到的包长与最大需求带宽的对应关系图;图2是相关技术中实际使用过程中包长与最大需求带宽的对应关系图;图3是根据本发明实施例一的存储转发系统的结构示意图;图4是根据本发明实施例二的存储转发系统的报文存储方法的流程图;图5是采用本发明实施例二提供的技术方案后得到的包长与最大需求带宽的对 应关系示意图。
具体实施例方式下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的 情况下,本申请中的实施例及实施例中的特征可以相互组合。实施例一图3是根据本发明实施例一的存储转发系统的结构示意图,该存储转发系统包 括接收模块10、判断模块20、分割模块30、主存储控制器40和辅存储控制器50。其中,接收模块10,用于接收需要存储转发的报文;判断模块20,用于判断该报文 的净荷的字节数L是否小于阈值,且L mod M的值不为零,如果是,则触发分割模块30,其 中,M为主存储控制器40的存储突发读写字节数;分割模块30,用于将该报文分为两段,其 中,第一段报文的字节数为L mod Μ;主存储控制器40,为Dram,用于在N次存储第二段报 文的过程中,依次地分段存储第二段报文,其中,N为L/M的整数部分;辅存储控制器50,用 于存储第一段报文。例如,M = 64字节,则上述阈值范围可以为以下之一或两者[Μ+1,Μ+8] ; [M*2+l, M*2+4]。需要说明的是,在实际应用中,该阈值范围的设置并不限于此,设置该阈值范围的 目的是消化部分由于主存储控制器40的存储突发读写字节数产生的读写效率损耗,具体 可以根据经验值或实验数据进行设置。由于相关技术中将需要存储转发的报文均存储在一个存储控制器中,在该存储控制器为Dram的情况下,由于该存储控制器的存储突发读写字节数的限制,如果需要存储转 发的报文的字节数不是存储突发读写字节数的倍数,而只比存储突发读写字节数的倍数多 出一小部分时,将会导致报文转发效率降低,增加对存储控制器的最大带宽的需求。而本发 明实施例提供的上述存储转发系统中,增加一个辅存储控制器50,用于存储报文中比存储 突发读写字节数的倍数多出的一小部分报文,从而可以提升系统整体读写效率,降低对主 存储控制器带宽的要求。优选地,辅存储控制50可以为没有存储突发读写字节数限制的存储控制器,例 如,SRAM。优选地,由于辅存储控制50存储的报文字节数不大,因此,其容量无需太大,因 此,辅存储控制50可以为同步SRAM (Synchronous SRAM,简称为SSRAM),从而可以降低成 本。优选地,辅存储控制器50也可以为DRAM,并且,其存储突发字节数较短,至少小于 主存储控制器40的存储突发读写字节数,这样才可以保证系统整体的读写效率有所提升。实施例二本发明实施例二中结合本发明实施例一提供的存储转发系统,对根据本发明实施 例二的存储转发系统的报文存储方法进行描述。图4为根据本发明实施例二的存储转发系统的报文存储方法的流程图,该方法主 要包括以下步骤(步骤S402-步骤S406)步骤S402,存储转发系统接收报文;例如,接收模块10接收到需要处理的报文;步骤S404,存储转发系统确定该报文的净荷的字节数L处于预设的阈值范围内, 且L mod M的值不为零,其中,M为主存储控制器40的存储突发读写字节数,主存储控制器 40 为 Dram ;例如,M = 64字节,阈值范围可以为[M+l,M+8];或者,该阈值范围也可以为 [Μ*2+1,Μ*2+4]ο根据读写效率1 = 17(1#仏\11+1))*100%可知,在1^>=11,L = M+l是系统效率 的最低点。当L是M的数倍以上时,L字节数的变化对报文存储转发效率的影响相对较小, 因此,在本发明实施例中,对于净荷字节数L较长的报文仍然按照现有方式进行处理。步骤S406,将该报文分为两段,将第一段报文存储在辅存储控制器50中,将另一 段报文在N次的存储过程中,依次地分段存储在主存储控制器40中,其中,第一段报文的字 节数为L mod M,N为L/M的整数部分。例如,第一段报文可以中该报文的首部获取,也可以从该报文的尾部获取。在第一 段报文从该报文的首部获取时,在转发时,先读取辅存储控制器50中存储的该段报文,在 第一段报文从该报文的尾部获取时,在转发时,读取转发完主存储控制器40中存储的第二 段报文之后,再读取辅存储控制器50中存储的报文。在存储第二段报文时,如果N > 1,则在该段报文的N次存储过程中,依次地分段存 储第二段报文,即首先从第二段报文中截取字节数为M的数据存储到主存储控制器40中, 在将存储在主存储控制器40中的这部分数据转发后,再从第二段报文中截取下一段字节 数为M的数据存储在主存储控制器40中,然后再转发主存储控制器40中存储的数据,然后 再将下一段字节数为M的数据存储在主存储控制器40中,如此反复,直至第二段报文全部转发完。图5为采用本发明实施例提供的技术方案后,包长与主存储控制器的最大带宽需 求的对应关系示意图,如图5所示,采用本发明实施例提供的技术方案,可以降低对主存储 控制器带宽的要求。由于相关技术中将需要存储转发的报文均存储在一个存储控制器中,在该存储控 制器为Dram的情况下,由于该存储控制器的存储突发读写字节数的限制,如果需要存储转 发的报文的字节数不是存储突发读写字节数的倍数,而只比存储突发读写字节数的倍数多 出一小部分时,将会导致报文转发效率降低,增加对存储控制器的最大带宽的需求。而本发 明实施例提供的上述存储转发系统的报文存储方法中,将报文中比存储突发读写字节数的 倍数多出的一小部分报文存储到辅存储控制器50,从而可以提升系统整体读写效率,降低 对主存储控制器40带宽的要求。实施例三在本发明实施例三中,以一个万兆以太网转发为例,如表1所示,主存储控制器40 的存储突发读写字节数去64字节,转发流量是随着报文包长的变化而变化的,在最短64字 节,报文满流量是7. 619G,所需读写的带宽为7. 619G,在报文为69字节时,报文满流量为 7. 753G,所需读写的带宽为14. 382G。表 1. 在本发明实施例中,阈值范围包括[69,84]和[133,144],即在本发明实施例中, 对报文长度为69字节到84字节以及133到140字节的尾部不足64字节的内容存储到辅 存储控制器50中(例如,SSRAM),对于主存储控制器40的要求在69字节时降低到7. 191G, 系统最大需求的带宽从14. 382G降低到12. 190G。从以上的描述中,可以看出,在本发明实施例中,通过增加一个辅存储控制器50,
10将产生读写效率损耗部分的报文存储该辅存储控制器50,从而可以降低对主存储控制器 40带宽的要求,提高报文转发的效率。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用 的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成 的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储 在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示 出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或 步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
一种存储转发系统的报文存储方法,其特征在于,包括所述存储转发系统接收报文;所述存储转发系统确定所述报文的净荷的字节数L处于预设的阈值范围内,且L mod M的值不为零,其中,M为主存储控制器的存储突发读写字节数,所述主存储控制器为动态随机存取存储器Dram;将所述报文分为两段,将第一段所述报文存储在辅存储控制器中,将另一段所述报文在N次存储过程中,依次地分段存储在所述主存储控制器中,其中,第一段所述报文的字节数为L/M的余数部分,N为L/M的整数部分。
2.根据权利要求1所述的方法,其特征在于,所述第一段报文从所述报文的首部获取。
3.根据权利要求1所述的方法,其特征在于,所述第一段报文从所述报文的尾部获取。
4.根据权利要求1所述的方法,其特征在于,M为64字节,所述阈值范围为[Μ+1,Μ+8]。
5.根据权利要求1所述的方法,其特征在于,M为64字节,所述阈值范围为[M*2+l, M*2+4]。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述辅存储控制器为同步静 态随机存取存储器SSRAM。
7.根据权利要求1至5中任一项所述的方法,其特征在于,所述辅存储控制器为Dram, 且所述辅存储控制器的存储突发读写字节数小于等于M。
8.一种存储转发系统,其特征在于,包括接收模块,用于接收需要存储转发的报文;判断模块,用于判断所述报文的净荷的字节数L是否处于阈值范围内且L mod M的值 不为零,如果是,则触发分割模块,其中,M为主存储控制器的存储突发读写字节数;分割模块,用于将所述报文分为两段,其中,第一段所述报文的字节数为L mod Μ;所述主存储控制器,为Dram,用于在N次存储第二段所述报文的过程中,依次地分段存 储第二段所述报文,其中,N为L/M的整数部分;辅存储控制器,用于存储第一段所述报文。
9.根据权利要求8所述的系统,其特征在于,所述辅存储控制器为SSRAM。
10.根据权利要求8所述的系统,其特征在于,所述辅存储控制器为Dram,且所述辅存 储控制器的存储突发读写字节数小于等于M。
全文摘要
本发明公开了一种存储转发系统及其报文存储方法。其中,该方法包括存储转发系统接收报文;存储转发系统确定该报文的净荷的字节数L处于预设的阈值范围内,且L mod M的值不为零,其中,M为主存储控制器的存储突发读写字节数,主存储控制器为动态随机存取存储器;将该报文分为两段,将第一段报文存储在辅存储控制器中,将另一段报文在N次存储过程中,依次地分段存储在主存储控制器中,其中,第一段报文的字节数为L/M的余数部分,N为L/M的整数部分。通过本发明,可以降低对主存储控制器带宽的要求,提高报文转发的效率。
文档编号H04L12/56GK101883041SQ201010220418
公开日2010年11月10日 申请日期2010年6月29日 优先权日2010年6月29日
发明者周昶, 张兰君, 缪欣, 陈红旗 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1