多通道报文汇聚共享内存管理方法及系统技术方案

技术编号:20855169 阅读:27 留言:0更新日期:2019-04-13 10:48
本发明专利技术提供了一种多通道报文汇聚共享内存管理方法及系统,所述方法包括:采用n个1R1W DataRam及n个1R1W PtrRam构建n个入口、m个出口的报文通道,建立存储报文数据的DataRam与存储指针的PtrRam的映射关系;对各个PtrRam中剩余指针数目PtrRamCnt按从多到少进行排序;入口报文通道进行报文写入,入口报文通道获取指针Ptr请求,按剩余指针数目PtrRamCnt从多到少的排序从PtrRam中获取指针Ptr,将对应报文写入对应的DataRam中;出口报文通道进行报文读取,出口报文通道从DataRam中读取报文,读取报文后将指针Ptr释放至对应的PtrRam中。本发明专利技术极大的节省了Ram的资源消耗,同时节省了芯片Ram面积,可满足多通道报文同时缓存的需求。

【技术实现步骤摘要】
多通道报文汇聚共享内存管理方法及系统
本专利技术涉及交换机报文处理
,特别是涉及一种多通道报文汇聚共享内存管理方法及系统。
技术介绍
随着网络的蓬勃发展,交换芯片的带宽需求也越来越大,利用多数据通道传输报文以达到更大交换带宽容量,目前已成为一个主流方向。要实现多通道报文存储的要求,首先报文存储管理一定要满足多通道的读写带宽要求。现有技术中常用的方法是用多读写RAM实现。如果需要满足8个入口、2个出口报文通道的数据缓存请求,那么需要2R8WDataRam(2读8写的静态存储器),同时从芯片物理实现上考虑也没有2R8W的物理Ram,而是通过多块1R1WDataRam(1读1写的静态存储器)搭出来,从物理实现上很耗资源,可行性差。传统的RAM都是1R1W,如果芯片利用多读写的RAM,那么这个RAM的面积也将会是1R1W的多倍。高带宽交换芯片存储报文的缓存容量都是在M字节数量级,所以不适合利用多读写RAM来存储报文数据。因此,针对上述技术问题,有必要提供一种多通道报文汇聚共享内存管理方法及系统。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种多通道报文汇聚共享内存管理方法及系统。为了实现上述目的,本专利技术一实施例提供的技术方案如下:一种多通道报文汇聚共享内存管理方法,所述方法包括:采用n个1R1WDataRam及n个1R1WPtrRam构建n个入口、m个出口的报文通道,建立存储报文数据的DataRam与存储指针的PtrRam的映射关系;对各个PtrRam中剩余指针数目PtrRamCnt按从多到少进行排序;入口报文通道进行报文写入,入口报文通道获取指针Ptr请求,按剩余指针数目PtrRamCnt从多到少的排序从PtrRam中获取指针Ptr,将对应报文写入对应的DataRam中;出口报文通道进行报文读取,出口报文通道从DataRam中读取报文,读取报文后将指针Ptr释放至对应的PtrRam中。作为本专利技术的进一步改进,所述方法还包括:通过PtrRamIndex索引标记获取的指针Ptr与PtrRam之间的对应关系。作为本专利技术的进一步改进,“按剩余指针数目PtrRamCnt从多到少的排序从PtrRam中获取指针Ptr”具体为:从PtrRam取出指针Ptr并放进对应的先入先出队列PtrFifo中;当先入先出队列PtrFifo深度大于或等于将空阈值时,从所有的先入先出队列PtrFifo中取出指针Ptr,当先入先出队列PtrFifo深度小于将空阈值时,从PtrRam中取出指针Ptr;按照剩余指针数目PtrRamCnt从多到少的排序后,依据入口报文通道的请求状态,获取一个或多个指针Ptr;未被使用的指针Ptr根据PtrRamIndex索引重新放进对应的先入先出队列PtrFifo或PtrRam中。作为本专利技术的进一步改进,入口报文通道进行报文写入过程中,同一时钟周期内不同的入口报文通道从不同的PtrRam中取到指针Ptr。作为本专利技术的进一步改进,出口报文通道进行报文读取过程中,同一时钟周期内不同的出口报文通道从不同的DataRam中读取报文。作为本专利技术的进一步改进,所述PtrRam中的剩余指针数目PtrRamCnt为实时排序。作为本专利技术的进一步改进,所述入口报文通道数n和出口报文通道数m均大于1。作为本专利技术的进一步改进,n个所述DataRam的缓存深度相同。本专利技术另一实施例提供的技术方案如下:一种多通道报文汇聚共享内存管理系统,所述系统包括:由n个1R1WDataRam及n个1R1WPtrRam构建的n个入口、m个出口的报文通道,存储报文数据的DataRam与存储指针的PtrRam为一一映射关系;排序模块,用于对各个PtrRam中的指针按剩余指针数目PtrRamCnt从多到少进行排序;当入口报文通道进行报文写入时,入口报文通道获取指针Ptr请求,按剩余指针数目PtrRamCnt从多到少的排序从PtrRam中获取指针Ptr,将对应报文写入对应的DataRam中;当出口报文通道进行报文读取时,出口报文通道从DataRam中读取报文,读取报文后将指针Ptr释放至对应的PtrRam中。作为本专利技术的进一步改进,所述系统还包括:PtrRamIndex索引模块,用于通过PtrRamIndex索引标记获取的指针Ptr与PtrRam之间的对应关系。本专利技术具有以下有益效果:本专利技术利用n块DataRam来缓存存储报文数据,同时利用n块PtrRam来维护DataRam的可用指针,并利用排序算法,使n块PtrRam的指针利用率相对公平,从而使得n块DataRam利用率相对均衡;极大的节省了Ram的资源消耗,同时节省了芯片Ram面积,可满足多通道报文同时缓存的需求。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术中多通道报文汇聚共享内存管理方法的流程示意图;图2为本专利技术一具体实施例中DataRam与PtrRam的映射关系图;图3为本专利技术一具体实施例中指针Ptr获取及释放的示例图;图4为本专利技术一具体实施例中多通道报文汇聚共享内存管理系统的模块图。具体实施方式为了使本
的人员更好地理解本专利技术中的技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。参图1所示,本专利技术公开了一种多通道报文汇聚共享内存管理方法,包括:采用n个1R1WDataRam及n个1R1WPtrRam构建n个入口、m个出口的报文通道,建立存储报文数据的DataRam与存储指针的PtrRam的映射关系;对各个PtrRam中剩余指针数目PtrRamCnt按从多到少进行排序;入口报文通道进行报文写入,入口报文通道获取指针Ptr请求,按剩余指针数目PtrRamCnt从多到少的排序从PtrRam中获取指针Ptr,将对应报文写入对应的DataRam中;出口报文通道进行报文读取,出口报文通道从DataRam中读取报文,读取报文后将指针Ptr释放至对应的PtrRam中。优选地,本专利技术中的入口报文通道数n和出口报文通道数m均大于1,n个DataRam的缓存深度相同。对于m读n写存储器的设计实现(n>1,m>1),本专利技术利用n块1R1WDataRam(1读1写的静态存储器)来缓存存储报文数据,同时需要n块1R1WPtrRam(存放指针的静态存储器)来维护数据1R1WDataRam可用指针Ptr;利用排序算法,使n块PtrRam利用率相对公平,从而使得n块DataRam利用率相对均衡。进一步地,本专利技术通过PtrRamIndex索引标记获取的指针Ptr与PtrRam之间的对应关系。优选地,本专利技术中“按剩余指针数目PtrRamCnt从多到少的排序从PtrRam中获取指针Ptr”具体为:从PtrRam取出指针Ptr并放进对应的先入先出队列PtrFi本文档来自技高网
...

【技术保护点】
1.一种多通道报文汇聚共享内存管理方法,其特征在于,所述方法包括:采用n个1R1W DataRam及n个1R1W PtrRam构建n个入口、m个出口的报文通道,建立存储报文数据的DataRam与存储指针的PtrRam的映射关系;对各个PtrRam中剩余指针数目PtrRamCnt按从多到少进行排序;入口报文通道进行报文写入,入口报文通道获取指针Ptr请求,按剩余指针数目PtrRamCnt从多到少的排序从PtrRam中获取指针Ptr,将对应报文写入对应的DataRam中;出口报文通道进行报文读取,出口报文通道从DataRam中读取报文,读取报文后将指针Ptr释放至对应的PtrRam中。

【技术特征摘要】
1.一种多通道报文汇聚共享内存管理方法,其特征在于,所述方法包括:采用n个1R1WDataRam及n个1R1WPtrRam构建n个入口、m个出口的报文通道,建立存储报文数据的DataRam与存储指针的PtrRam的映射关系;对各个PtrRam中剩余指针数目PtrRamCnt按从多到少进行排序;入口报文通道进行报文写入,入口报文通道获取指针Ptr请求,按剩余指针数目PtrRamCnt从多到少的排序从PtrRam中获取指针Ptr,将对应报文写入对应的DataRam中;出口报文通道进行报文读取,出口报文通道从DataRam中读取报文,读取报文后将指针Ptr释放至对应的PtrRam中。2.根据权利要求1所述的多通道报文汇聚共享内存管理方法,其特征在于,所述方法还包括:通过PtrRamIndex索引标记获取的指针Ptr与PtrRam之间的对应关系。3.根据权利要求2所述的多通道报文汇聚共享内存管理方法,其特征在于,“按剩余指针数目PtrRamCnt从多到少的排序从PtrRam中获取指针Ptr”具体为:从PtrRam取出指针Ptr并放进对应的先入先出队列PtrFifo中;当先入先出队列PtrFifo深度大于或等于将空阈值时,从所有的先入先出队列PtrFifo中取出指针Ptr,当先入先出队列PtrFifo深度小于将空阈值时,从PtrRam中取出指针Ptr;按照剩余指针数目PtrRamCnt从多到少的排序后,依据入口报文通道的请求状态,获取一个或多个指针Ptr;未被使用的指针Ptr根据PtrRamIndex索引重新放进对应的先入先出队列PtrFifo或PtrRam中。4.根据权利要求1所述的多通道报文汇聚共享内存管理方法,其特征在...

【专利技术属性】
技术研发人员:滕国兵夏杰徐子轩
申请(专利权)人:盛科网络苏州有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1