【技术实现步骤摘要】
基于2组报文处理引擎的报文处理方法及装置
本专利技术涉及缓存技术,尤其涉及基于2组报文处理引擎的报文处理方法及装置。
技术介绍
在高速交换芯片中,1组入口报文处理引擎与出口报文处理引擎已经远远不能满足高带宽的报文处理,因此,需要2组入口报文处理引擎与出口报文处理引擎同时对报文进行处理,以提高报文的处理带宽。共享缓存是交换芯片中比较常用的一种结构,在这种交换结构中,所有的输入端口与输出端口都共享一个缓存模块,所有需要经过交换芯片的报文都在缓存中存储转发。该结构的优点是缓存资源可以得到充分使用,可以获得最佳的时延和吞吐率性能。因此,存储引擎可以利用共享缓存技术,采用一块具有2个读取接口与2个写入接口的缓存模块,实现对两组入口报文处理引擎与出口报文处理引擎的报文的存储转发。然而,由于具有2个读取接口与2个写入接口的缓存模块在工艺上需要消耗很大的面积,因此,导致了交换芯片成本的增加。
技术实现思路
本专利技术的多个方面提供基于2组报文处理引擎的报文处理方法及装置,用以降低交换芯片的成本。本专利技术的一方面,提供一种基于2组报文处理引擎的报文处理方法,包括:接收2个入口报文处理 ...
【技术保护点】
一种基于2组报文处理引擎的报文处理方法,其特征在于,包括:接收2个入口报文处理引擎发送的写入请求,每个所述写入请求中包含待写入的报文;根据每个所述入口报文处理引擎所发送的写入请求中所包含的报文,生成每个所述入口报文处理引擎的至少1个片段,每个所述片段包括至多2个存储单元长度的报文;将每个所述片段,存储到2个缓存模块,每个所述缓存模块具有1个读取接口与1个写入接口。
【技术特征摘要】
1.一种基于2组报文处理引擎的报文处理方法,其特征在于,包括:接收2个入口报文处理引擎发送的写入请求,每个所述写入请求中包含待写入的报文;根据每个所述入口报文处理引擎所发送的写入请求中所包含的报文,生成每个所述入口报文处理引擎的至少1个片段,每个所述片段包括至多2个存储单元长度的报文;将每个所述片段,存储到2个缓存模块;接收2个出口报文处理引擎发送的读取请求,每个所述读取请求中包含待读取的报文的存储位置标识;根据每个所述出口报文处理引擎所发送的读取请求中所包含的存储位置标识,获得每个所述出口报文处理引擎待读取的报文的长度;根据每个所述出口报文处理引擎待读取的报文的长度,从每个所述出口报文处理引擎所发送的读取请求中所包含的存储位置标识所指示的缓存模块的位置中,读取所述报文;所述将每个所述片段,存储到2个缓存模块,包括:若所述片段中所包括报文的长度小于或等于1个存储单元长度,对所述片段进行复制,以获得2个相同的所述片段;以及将2个相同的所述片段,存储到2个缓存模块;若所述片段中所包括报文的长度大于1个存储单元长度,且小于或等于2个存储单元长度,将所述片段,存储到2个缓存模块;其中,采用4个缓存模块,每个所述缓存模块具有1个读取接口与1个写入接口。2.根据权利要求1所述的方法,其特征在于,所述根据每个所述入口报文处理引擎所发送的写入请求中所包含的报文,生成每个所述入口报文处理引擎的至少1个片段,包括:若所述报文的长度小于存储单元长度的2倍,将所述报文直接作为1个片段;若所述报文的长度为存储单元长度的2N倍,N为自然数,利用存储单元长度的2倍为划分单位,对所述报文进行划分,以生成N个片段,每个所述片段包括2个存储单元长度的报文;若所述报文的长度在存储单元长度的2N倍与2N+1倍之间,N为自然数,利用存储单元长度的2倍为划分单位,对所述报文进行划分,以生成N+1个片段,其中,N个所述片段中每个片段包括2个存储单元长度的报文。3.根据权利要求1所述的方法,其特征在于,所述根据每个所述出口报文处理引擎待读取的报文的长度,从每个所述出口报文处理引擎所发送的读取请求中所包含的存储位置标识所指示的缓存模块的位置中,读取所述报文,包括:采用轮询方式,确定每个所述出口报文处理引擎所发送的读取请求的请求类型,且每个所述出口报文处理引擎所发送的读取请求的请求类型不相同;其中,所述请求类型包括第一类请求和第二类请求;根据每个所述出口报文处理引擎所发送的读取请求的请求类型和每个所述出口报文处理引擎待读取的报文的长度,从每个所述出口报文处理引擎所发送的读取请求中所包含的存储位置标识所指示的缓存模块的位置中,读取所述报文。4.根据权利要求3所述的方法,其特征在于,所述根据每个所述出口报文处理引擎所发送的读取请求的请求类型和每个所述出口报文处理引擎待读取的报文的长度,从每个所述出口报文处理引擎所发送的读取请求中所包含的存储位置标识所指示的缓存模块的位置中,读取所述报文,包括:若每个所述出口报文处理引擎待读取的报文的长度均小于或等于1个存储单元长度,从每个所述出口报文处理引擎所发送的读取请求中所包含的存储位置标识所指示的缓存模块的位置中,读取每个所述位置中所存储的报文;若第一类请求的读取请求所属的出口报文处理引擎待读取的报文的长度为小于或等于1个存储单元长度,且第二类请求的读取请求所属的出口报文处理引擎待读取的报文的长度为大于1个存储单元长度且小于或等于2个存储单元长度,从第一类请求的读取请求中所包含的存储位置标识所指示的缓存模块的位置中,读取该位置中所存储的报文,以及从第二类请求的读取请求中所包含的存储位置标识所指示的缓存模块的位置中,读取该位置中所存储的1个存储单元长度的报文或全部报文;若第一类请求的读取请求所属的出口报文处理引擎待读取...
【专利技术属性】
技术研发人员:毛育红,
申请(专利权)人:盛科网络苏州有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。