节约ram资源实现流量统计的方法及装置的制造方法

文档序号:9567079阅读:207来源:国知局
节约ram资源实现流量统计的方法及装置的制造方法
【技术领域】
[0001]本发明涉及一种流量统计技术,尤其是涉及一种节约RAM资源实现流量统计的方法及装置。
【背景技术】
[0002]近年来,随着互联网技术的飞速发展,网络应用不断增加,例如视频、语音、P2P应用等。高速网络传输承载着巨大的数据流量,如果需要对这些流量的数据信息进行准确快速统计,只有通过硬件机制才能完成。
[0003]交换芯片是网络基建中数据转发、信息统计的核心。在处理巨大流量信息统计时,交换芯片需要提供较大的内部RAM作为stats的硬件表项。在集成度超高的交换芯片中,RAM属于昂贵的资源,增加RAM就是增加了芯片成本。
[0004]当前主流交换芯片实现port stats (端口统计)、flow stats (流量统计)都是由芯片提供stats硬件表项,通过访问控制列表(ACL)或者其它方式,对流进行组(GROUP)划分,分配stats硬表资源。然后配置stats表项的Threshold (门限值),利用硬件中断机制响应stats表项的Threshold,将stats表项中的统计信息通过中断处理函数上报给CPU,对流量信息进行统计。
[0005]伴随芯片处理网络流量的增大,流统计中断将比较频繁,加重了 CPU负载。同时为防止硬表溢出,芯片需要提供越来越大的内部RAM作为stats的表项,增加了芯片成本。

【发明内容】

[0006]本发明的目的在于克服现有技术的缺陷,提供一种节约RAM资源实现流量统计的方法及装置,利用芯片DMA机制,快速读取统计表项中的统计信息至系统内存,以节约芯片硬件成本。
[0007]为实现上述目的,本发明提出如下技术方案:一种节约RAM资源实现流量统计的方法,CPU分配描述符和相应的数据内存,并通知芯片内的DMA控制器;
[0008]所述DMA控制器定时采集芯片统计硬件表项内的统计数据,并将采集到的统计数据根据所述描述符信息搬移到指定的所述数据内存;
[0009]所述DMA控制器回写描述符,并产生中断通知CPU。
[0010]优选地,所述描述符内的信息包括当前操作的数据类型、数据内存起始地址、Entry个数和中断控制信息。
[0011 ] 优选地,所述DMA控制器根据所述描述符内信息和自身触发器定时启动DMA操作。
[0012]优选地,所述DMA控制器回写描述符时,根据当前所述描述符内信息和自身触发器逻辑决定是否继续当前DMA操作。
[0013]优选地,用户通过直接读取所述数据内存中的数据,以获得流量统计数据。
[0014]本发明还提出了一种节约RAM资源实现流量统计的装置,包括CPU、片内的DMA控制器、芯片内的统计硬件表项和数据内存,其中,
[0015]所述CPU用于分配描述符和相应的所述数据内存,并通知芯片内的DMA控制器。
[0016]所述DMA控制器用于定时采集所述芯片内的统计硬件表项内的统计数据,并将采集到的统计数据根据所述描述符信息搬移到指定的所述数据内存;
[0017]所述DMA控制器还用于回写描述符,并产生中断通知CPU。
[0018]与现有技术相比,本发明的有益效果是:本发明利用DMA机制,快速读取stats表项中的统计信息至系统内存,由于此过程响应快速,就不再需要通过增加stats表项容量来防止统计值溢出,节约了硬件成本。同时,此处理过程由DMA控制器完成,可减轻CPU负载,做到快速准确的统计。
【附图说明】
[0019]图1是本发明节约RAM资源实现流量统计的方法的流程示意图;
[0020]图2是本发明芯片DMA的架构框图;
[0021]图3是本发明数据内存的原理示意图;
[0022]图4是本发明CPU的处理流程不意图;
[0023]图5是本发明芯片DMA处理流程不意图。
【具体实施方式】
[0024]下面将结合本发明的附图,对本发明实施例的技术方案进行清楚、完整的描述。
[0025]本发明利用DMA机制,读取stats硬件表项的统计信息至系统内存。当用户需要获取stats统计信息时,只需要读取dma占用的内存即可。
[0026]如图1所示,本发明所揭示的一种节约RAM资源实现流量统计的方法,包括:
[0027]Sl,CPU分配描述符和相应的数据内存,并通知芯片内的DMA控制器。描述符内的信息包括当前操作的数据类型、数据内存起始地址、Entry个数和中断控制信息。
[0028]具体地,结合图1?图4所示,在CPU侧:
[0029]首先,初始化DMA:初始化DMA相关寄存器和数据内存(data memory),维护描述符(descriptor),以及DMA正在处理的个数。
[0030]其次,检查当前descriptor的状态,如果当前descriptor可用,则CPU继续下一步操作,否则,等待当前DMA操作释放descriptor后再操作,或者配置新的descriptor。
[0031]然后,CPU配置新的descriptor,清空descriptor内部的状态标志,写入数据内存(data memory)地址,可以接受数据的长度,数据类型等。
[0032]最后,更新芯片DMA寄存器DmaCtTabl.VldNum,以通知芯片当前已经准备好接收新的数据。其中,DmaCtTabl.VldNum表示有效描述符的个数。
[0033]S2,DMA控制器定时采集芯片统计硬件表项内的统计数据,并将采集到的统计数据根据描述符信息搬移到指定的数据内存。
[0034]S3,DMA控制器回写描述符,并产生中断通知CPU。
[0035]具体地,结合图1和图5所示,在DMA侧的逻辑为:
[0036]首先,DMA控制器检查寄存器DmaCtTabl.VldNum是否为0,若未非0,则继续下一步操作,若为0,则需等待CPU释放新的descriptor。
[0037]其次,DMA控制器读取descriptor,根据内部维护descriptor ring读指针读取对应的descriptor,根据读取的描述符内信息和自身触发器(Trigger)定时启动DMA操作。
[0038]然后,DMA控制器接收来自芯片内部的数据,根据descriptor内的数据内存地址,通过DMA功能将其送到指定的数据内存。
[0039]再然后,DMA控制器对处理完的描述符回写,并且更新寄存器DmaCtTabl.VldNum。在回写描述符时,DMA控制器根据当前描述符内信息和自身触发器逻辑决定是否继续DMA操作。
[0040]最后,DMA控制器根据需要产生中断通知CPU。
[0041]本发明还揭示了一种节约RAM资源实现流量统计的装置,包括CPU、片内的DMA控制器、芯片内的统计硬件表项和数据内存,其中,
[0042]CPU用于分配描述符和相应的数据内存,并通知芯片内的DMA控制器。
[0043]DMA控制器用于定时采集芯片内的统计硬件表项内的统计数据,并将采集到的统计数据根据描述符信息搬移到指定的数据内存;
[0044]DMA控制器还用于回写描述符,并产生中断通知CPU。
[0045]上述每部分的具体实现原理参照上述方法方案中的描述,这里便不再赘述。
[0046]需要说明的是,本发明中所指芯片不局限于专用集成电路(ASIC)芯片,还包括现场可编程门阵列(FPGA)或网络处理器NP等。
[0047]本发明的技术内容及技术特征已揭示如上,然而熟悉本领域的技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰,因此,本发明保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。
【主权项】
1.一种节约RAM资源实现流量统计的方法,其特征在于,包括: CPU分配描述符和相应的数据内存,并通知芯片内的DMA控制器; 所述DMA控制器定时采集芯片统计硬件表项内的统计数据,并将采集到的统计数据根据所述描述符信息搬移到指定的所述数据内存; 所述DMA控制器回写描述符,并产生中断通知CPU。2.根据权利要求1所述的节约RAM资源实现流量统计的方法,其特征在于,所述描述符内的信息包括当前操作的数据类型、数据内存起始地址、Entry个数和中断控制信息。3.根据权利要求1所述的节约RAM资源实现流量统计的方法,其特征在于,所述DMA控制器根据所述描述符内信息和自身触发器定时启动DMA操作。4.根据权利要求3所述的节约RAM资源实现流量统计的方法,其特征在于,所述DMA控制器回写描述符时,根据当前所述描述符内信息和自身触发器逻辑决定是否继续当前DMA操作。5.根据权利要求1所述的节约RAM资源实现流量统计的方法,其特征在于,用户通过直接读取所述数据内存中的数据,以获得流量统计数据。6.一种节约RAM资源实现流量统计的装置,其特征在于,包括CPU、片内的DMA控制器、芯片内的统计硬件表项和数据内存,其中, 所述CPU用于分配描述符和相应的所述数据内存,并通知芯片内的DMA控制器。 所述DMA控制器用于定时采集所述芯片内的统计硬件表项内的统计数据,并将采集到的统计数据根据所述描述符信息搬移到指定的所述数据内存; 所述DMA控制器还用于回写描述符,并产生中断通知CPU。7.根据权利要求6所述的节约RAM资源实现流量统计的装置,其特征在于,所述描述符内的信息包括当前操作的数据类型、数据内存起始地址、Entry个数和中断控制信息。8.根据权利要求6所述的节约RAM资源实现流量统计的装置,其特征在于,所述DMA控制器根据所述描述符内信息和自身触发器定时启动DMA操作。9.根据权利要求8所述的节约RAM资源实现流量统计的装置,其特征在于,所述DMA控制器回写描述符时,根据当前所述描述符内信息和自身触发器逻辑决定是否继续当前DMA操作。
【专利摘要】本发明揭示了一种节约RAM资源实现流量统计的方法及装置,所述方法包括:CPU分配描述符和相应的数据内存,并通知芯片内的DMA控制器;DMA控制器定时采集芯片统计硬件表项内的统计数据,并将采集到的统计数据根据描述符信息搬移到指定的数据内存;DMA控制器回写描述符,并产生中断通知CPU。本发明利用DMA机制,快速读取stats表项中的统计信息至系统内存,不再需要通过增加stats表项容量来防止统计值溢出,节约了硬件成本。同时,此处理过程由DMA控制器完成,可减轻CPU负载,做到快速准确的统计。
【IPC分类】H04L12/801, H04L12/26
【公开号】CN105323184
【申请号】CN201510641335
【发明人】赵茂聪, 李磊, 贾复山, 胥平春
【申请人】盛科网络(苏州)有限公司
【公开日】2016年2月10日
【申请日】2015年10月8日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1