CN102752196A - 统计信息的发送、统计计数方法及装置 - Google Patents
统计信息的发送、统计计数方法及装置 Download PDFInfo
- Publication number
- CN102752196A CN102752196A CN2012102032544A CN201210203254A CN102752196A CN 102752196 A CN102752196 A CN 102752196A CN 2012102032544 A CN2012102032544 A CN 2012102032544A CN 201210203254 A CN201210203254 A CN 201210203254A CN 102752196 A CN102752196 A CN 102752196A
- Authority
- CN
- China
- Prior art keywords
- statistical
- chip
- statistical information
- accounting message
- formation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种统计信息的发送、统计计数方法及装置,其中,统计信息的发送方法包括:网络处理芯片获取流量管理队列的统计信息;网络处理芯片向片外统计芯片发送统计信息,其中,片外统计芯片用于根据统计信息对队列的各个统计项进行计数。通过本发明,实现了在网络处理芯片外部对流量管理队列的各个统计项进行计数,从而降低了网络处理芯片的复杂性,精简了网络处理芯片的尺寸。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种统计信息的发送、统计计数方法及装置。
背景技术
在大型的通信网络设备中,随着网络处理芯片的TM(Traffic Management,流量管理)的队列数与统计项的逐渐增加,导致了统计计数器的数量越来越大,对网络处理芯片内部用来存储计数的SRAM(Static Random Access Memory,静态随机访问存储器)容量要求越来越高,这就导致了内部SRAM在网络处理芯片设计中占用面积过大,而且片内RAM资源较为珍贵,使得整个网络处理芯片成本过大。因此,目前的网络处理芯片中,普遍使用直接外挂SRAM或DRAM(Dynamic Random Access Memory,动态随机访问存储器)作为统计计数器的存储器。
网络处理芯片直接内嵌RAM方式,虽然处理效率较高,但需要消耗大量的RAM资源,使得网络处理芯片的成本相当高;其次,大量的内嵌RAM需占用芯片的较大面积,使得网络处理芯片尺寸过大。
图1示出了现有技术中的一种使用直接外挂SRAM(或DRAM)的作为统计计数器的存储器的处理方案,在网络处理芯片内部专门开辟一段用于统计计数的逻辑模块,用来对流量进行统计计数,计数结果通过Memory(存储器)并行总线直接发送到外部的SRAM(或DRAM)中。在高速流量转发模式(如300Mpps)下,为了能够及时响应统计,通常需要2片SRAM并联(DRAM速度较慢,可能需要更多片并联),以提高统计带宽。
然而,上述采用直接外挂SRAM/DRAM作为统计计数器的存储器的方案至少存在以下两个问题:使用两片SRAM/DRAM并联,消耗芯片I/O管脚(Input/Output pins,输入输出管脚)过多,约200个(即使只使用一片,管脚的数量也较多);统计计数功能模块在网络处理芯片的内部完成,统计技术功能和流量转发平面抢占内部逻辑资源,并使得网络处理芯片的内部逻辑巨大,从而导致整个网络处理芯片的物理尺寸较大。
发明内容
针对相关技术中,统计计数模块的逻辑功能在网络处理芯片内部实现,导致网络处理芯片的内部逻辑复杂,通过内嵌RAM方式统计成本较高、占用物理面积较大的问题,本发明提供了一种统计信息的发送、统计计数方法及装置,以至少解决上述问题。
根据本发明的一个方面,提供了一种统计信息的发送方法,包括:网络处理芯片获取流量管理队列的统计信息;所述网络处理芯片向片外统计芯片发送所述统计信息,其中,所述片外统计芯片用于根据所述统计信息对所述队列的各个统计项进行计数。
优选地,所述网络处理芯片向片外统计芯片发送所述统计信息,包括:所述网络处理芯片通过其串行总线向片外统计芯片发送所述统计信息。
优选地,所述网络处理芯片通过其串行总线向片外统计芯片发送所述统计信息,包括:所述网络处理芯片按照预设格式将所述统计信息封装成统计报告;所述网络处理芯片将一个或多个所述统计报告封装成统计报文;所述网络处理芯片通过其串行总线向所述片外统计芯片发送所述统计报文。
优选地,所述网络处理芯片将一个或多个所述统计报告封装成统计报文,包括:所述网络处理芯片将一个或多个所述统计报告封装成统计报文切片;所述网络处理芯片按照其串行总线的处理能力,将一个或多个所述统计报文切片封装成所述统计报文。
优选地,将一个或多个所述统计报文切片封装成所述统计报文之前,还包括:确定当前的所述统计报文切片的第一个统计报告为有效的统计报告。
优选地,所述统计信息包括以下至少之一:所述队列的出队信息、所述队列的入队信息、所述队列的丢弃信息、所述队列的老化信息、所述队列的队列长度、所述队列的队列号。
根据本发明的另一个方面,提供了一种统计计数方法,包括:片外统计芯片从网络处理芯片获取流量管理队列的统计信息;所述片外统计芯片按照所述统计信息对所述队列的各个统计项进行计数。
优选地,片外统计芯片从网络处理芯片获取队列的统计信息,包括:所述片外统计芯片接收所述网络处理器发送的统计报文,其中,所述统计报文携带有所述统计信息;所述片外统计芯片从所述统计报文中解析得到所述统计信息。
优选地,所述片外统计芯片接收所述网络处理器发送的统计报文,包括:所述片外统计芯片通过串行总线接收所述网络处理器发送的统计报文。
优选地,所述片外芯片按照所述统计信息对各个统计项进行计数之后,还包括:存储所述各个统计项的计数结果。
优选地,所述统计信息包括以下至少之一:所述队列的出队信息、所述队列的入队信息、所述队列的丢弃信息、所述队列的老化信息、所述队列的队列长度、所述队列的队列号。
根据本发明的又一个方面,提供了一种统计信息的发送装置,位于网络处理芯片中,包括:获取模块,用于获取流量管理队列的统计信息;发送模块,用于向片外统计芯片发送所述统计信息,其中,所述片外统计芯片用于根据所述统计信息对所述队列的各个统计项进行计数。
优选地,所述发送模块按照以下方式发送所述统计信息:所述发送模块通过网络处理芯片的串行总线向片外统计芯片发送所述统计信息。
优选地,所述发送模块包括:第一封装单元,用于按照预设格式将所述统计信息封装成统计报告;第二封装单元,用于将一个或多个所述统计报告封装成统计报文;发送单元,用于通过网络处理芯片的串行总线向所述片外统计芯片发送所述统计报文。
优选地,所述第二封装单元按照以下方式封装所述统计报文:所述第二封装单元将一个或多个所述统计报告封装成统计报文切片;所述第二封装单元按照所述网络处理芯片的串行总线的处理能力,将一个或多个所述统计报文切片封装成所述统计报文。
根据本发明的又一个方面,提供了一种统计计数装置,位于片外统计芯片,包括:获取模块,用于从网络处理芯片获取流量管理队列的统计信息;计数模块,用于按照所述统计信息对所述队列的各个统计项进行计数。
优选地,所述获取模块包括:接收单元,用于接收所述网络处理器发送统计报文,其中,所述统计报文携带有所述统计信息;解析单元,用于从所述统计报文中解析得到所述统计信息。
优选地,所述接收单元按照以下方式接收所述统计报文:通过串行总线接收所述网络处理器发送的统计报文。
优选地,还包括:存储模块,用于存储所述各个统计项的计数结果。
根据本发明的又一个方面,提供了一种网络处理芯片,包括:本发明提供的上述统计信息的发送装置。
根据本发明的又一个方面,提供了一种片外统计芯片,包括:本发明提供的上述统计计数装置。
根据本发明的又一个方面,提供了一种网络通信设备,包括:本发明提供的上述网络处理芯片,以及本发明提供的上述片外统计芯片。
通过本发明,网络处理芯片获取流量管理队列的统计信息,并向片外统计芯片发送获取到的统计信息,由片外统计芯片根据流量管理队列的统计信息对队列的各个统计项进行计数。实现了在网络处理芯片外部对流量管理队列的各个统计项进行计数,从而降低了网络处理芯片的复杂性,精简了网络处理芯片的尺寸。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据相关技术的使用直接外挂SRAM(或DRAM)的作为统计计数器的存储器的处理方案的示意图;
图2是根据本发明实施例的网络通信设备的结构框图;
图3是根据本发明实施例的统计信息的发送装置的结构框图;
图4是根据本发明实施例优选的发送模块的结构框图;
图5是根据本发明实施例的统计信息的发送方法的流程图;
图6是根据本发明实施例的统计计数装置的结构框图;
图7是根据本发明实施例优选的获取模块的结构框图;
图8是根据本发明实施例优选的统计计数装置的结构框图;
图9是根据本发明实施例的统计计数方法的流程图;
图10是根据本发明实施例的统计计数的管理方法的示意图;
图11是根据本发明实施例的统计计数的管理方法的流程图;
图12是根据本发明实施例的统计计数的管理装置的结构图;
图13是根据本发明实施例的使用内嵌SRAM的ASIC实现的外部统计芯片的\结构框图;
图14是根据本发明实施例的使用外挂SRAM/DRAM的PLD实现的外部统计芯片的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
针对现有技术中在网络处理芯片内部进行计数,导致网络处理芯片尺寸过大,以及使用片外SRAM/DRAM作为统计计数器的存储器,造成存储器占用过多的网络处理芯片I/O管脚的问题,本发明实施例提供了一种统计计数的解决方案,该方案包括一种网络通信设备、网络通信设备的网络处理芯片和片外统计芯片、网络处理芯片和片外统计芯片的优选装置,以及在上述网络通信设备中实现统计计数的方法。下面对本发明实例的统计计数的解决方案进行详细描述。
根据本发明实施例,提供了一种网络通信设备,用以解决网络通信设备中网络处理芯片复杂和尺寸过大的问题。
图2是根据本发明实施例的网络通信设备的结构框图,如图2所示,该网络通信设备主要包括:网络处理芯片1和片外统计芯片2。其中,网络处理芯片1,用于获取流量管理队列的统计信息,并向片外统计芯片2发送获取到的统计信息。片外统计芯片2,用于根据网络处理芯片1发送的流量管理队列的统计信息,对流量管理队列的各个统计项进行计数。
通过本发明实施例,网络通信设备的网络处理芯片1获取流量管理队列的统计信息,并向片外统计芯片发送获取到的统计信息,片外统计芯片2根据网络处理芯片1发送的流量管理队列的统计信息,对流量管理队列的各个统计项进行计数。实现了在网络处理芯片1外部对流量管理队列的各个统计项进行计数,从而降低了网络处理芯片1的复杂性,精简了网络处理芯片1的尺寸。
相关技术中,在网络处理芯片1内部通过统计计数的逻辑模块对流量进行统计计数,计数结果通过Memory并行总线直接发送到外部存储器,而通过并行总线发送计数结果占用网络处理芯片1大量的I/O管脚。为了避免发送统计信息时占用过多的I/O管脚,在本发明实施例的一个优选实施方式中,网络处理芯片1可以通过其串行总线向片外统计芯片2发送统计信息。通过本优选实施方式,相对于直接外挂SRAM/DRAM的统计计数方式,串行方式减少了网络处理芯片1对外的I/O引脚数量。
在实际应用中,片外统计芯片2可以由内嵌大容量SRAM的ASIC(Application SpecificIntegrated Circuit,专用芯片)实现,也可以PLD(Programmable Logic Device,可编程逻辑器件)外挂SRAM/DRAM的形式实现。ASIC或PLD可编程逻辑器件用于解析统计报文以及实现统计计数,SRAM/DRAM可以用于存储统各个计项的计数器。
具体的,PLD可用FPGA(Field Programmable Gate Array,现场可编程门阵列)、CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)以及将来新一代的PLD。SRAM可用QDR SRAM(Quad Data Rate SRAM,四倍数据速率SRAM)或DDR SRAM(Double DataRate SRAM,双倍数据速率SRAM)实现。其中,QDR SRAM可以是QDRII/QDRII+SRAM,以及将来新一代的QDR SRAM,DDR SRAM可以是DDR2/DDR3 SRAM,以及将来新一代的DDR SRAM。DRAM可用DDR DRAM(Double Data Rate DRAM,双倍数据速率DRAM)或者RLDRAM(Reduce Latency DRAM,低延迟DRAM)。其中,DDR DRAM可用DDR2/DDR3SARAM,以及将来新一代的DDR SRAM;RLDRAM可用RLDRAMII或LLDRAMII,以及将来新一代的RLDRAM。
根据本发明实施例,提供了一种统计信息的发送装置,位于网络处理芯片1中,作为网络处理芯片1的一种优选实施方式,用以实现网络处理芯片1的上述功能。
图3是根据本发明实施例的统计信息的发送装置的结构框图,如图3所示,该装置主要包括:获取模块10和发送模块12。其中,获取模块10,用于获取流量管理队列的统计信息;发送模块12,与获取模块10相耦合,用于向片外统计芯片2发送获取到的统计信息,片外统计芯片2用于根据统计信息对队列的各个统计项进行计数。
通过本发明实施例,获取模块10获取流量管理队列的统计信息,并由发送模块12向片外统计芯片2发送获取到的统计信息,由片外统计芯片2根据流量管理队列的统计信息对队列的各个统计项进行计数。实现了在网络处理芯片1外部对流量管理队列的各个统计项进行计数,从而降低了网络处理芯片1的复杂性,精简了网络处理芯片1的尺寸。
相关技术中,在网络处理芯片1内部通过统计计数的逻辑模块对流量进行统计计数,计数结果通过并行总线直接发送到外部存储器,而通过并行总线发送计数结果占用网络处理芯片1大量的I/O管脚。为了避免发送统计信息时占用过多的I/O管脚,在本发明实施例的一个优选实施方式中,发送模块10可以通过网络处理芯片1的串行总线向片外统计芯片2发送获取到的统计信息。
图4是根据本发明实施例优选的发送模块的结构框图,如图4所示,发送模块10可以包括:第一封装单元102,用于按照预设格式将统计信息封装成统计报告;第二封装单元104,与第一封装单元102相耦合,用于将一个或多个统计报告封装成统计报文;发送单元106,与第二封装单元104相耦合,用于通过网络处理芯片1的串行总线向片外统计芯片2发送统计报文。
在本发明实施例的一个优选实施方式中,第二封装单元104可以按照以下方式封装统计报文:将一个或多个统计报告封装成统计报文切片,并按照网络处理芯片1的串行总线的处理能力,将一个或多个统计报文切片封装成统计报文。具体第,可以按照串行总线的突发能力,确定合成统计报文的统计文切片的数量。第二封装单元104将一个或多个统计报文切片封装成统计报文时,可以在第一个统计报文切片处打上SOP(Start of Packet,报文开始标志),在最后一个统计报文切片处打上EOP(End of Packet,报文结束标志),如果一个统计报文仅包含一个统计报文切片,则对此统计报文切片同时打上SOP/EOP。同时,还可以在报文切片打上VLD(Valid of Packet,报文切片有效标志),以指示当前统计报文切片的有效性。
优选地,第二封装单元104将一个或多个统计报文切片封装成统计报文之前,还可以确定当前的统计报文切片的第一个统计报告为有效的统计报告。也就是说,第二封装单元104可以在收到当前报文切片的第一个有效统计报告时,开始将统计报告封装成统计报文切片,从而防止封装形成空的统计报文切片,进一步的,用于封装成统计报文切片的剩余统计报告可以是无效的,以防止长时间没有有效统计报告生成,而导致已封装的有效统计报告无法组成统计报文切片,进而使得统计报文切片无法形成统计报文及时发送到片外统计芯片2。
对应于上述装置,根据本发明实施例,还提供了一种统计信息的发送方法,用以通过上述装置实现将统计信息发送至片外统计芯片2。
图5是根据本发明实施例的统计信息的发送方法的流程图,如图5所示,该方法可以包括步骤S502至步骤S504。
步骤S502,网络处理芯片获取流量管理队列的统计信息。
在步骤S502中,网络处理芯片可以从其流量转发平面的TM处获取流量管理队列的统计信息,统计信息可以包括但不限于以下至少之一:队列的出队信息、队列的入队信息、队列的丢弃信息、队列的老化信息、队列的队列长度,以及队列的队列号。
步骤S504,网络处理芯片向片外统计芯片发送获取到的统计信息,其中,片外统计芯片用于根据上述统计信息对队列的各个统计项进行计数。
相关技术中,在网络处理芯片内部通过统计计数的逻辑模块对流量进行统计计数,计数结果通过并行总线直接发送到外部存储器,而通过并行总线发送计数结果占用网络处理芯片1大量的I/O管脚。为了避免发送统计信息时占用过多的I/O管脚,在步骤S504的一个优选实施方式中,网络处理芯片可以通过其串行总线向片外统计芯片发送获取到的统计信息。
在本发明实施例的一个优选实施方式中,网络处理芯片通过其串行总线向片外统计芯片发送统计信息时,可以按照预设格式将统计信息封装成统计报告,并将一个或多个统计报告封装成统计报文,通过网络处理芯片的串行总线向片外统计芯片发送统计报文。具体的,统计报告是统计信息的载体,同时也是片外统计芯片解析的基本单元,统计报告的内容可以包括队列的统计信息,例如,队列的入队、出队、丢弃类型、队列长度、队列号等信息。无效的统计报告可以为空,用全0数据填充统计报告内容。统计信息封装成统计报告后,可以将统计报告按照一定规则串行排列,组成统计报文发送至片外统计芯片。
进一步的,网络处理芯片将一个或多个统计报告封装成统计报文时,可以将一个或多个统计报告封装成统计报文切片,并按照其串行总线的处理能力,将一个或多个统计报文切片封装成统计报文。在实际应用中,可以根据统计报告的大小确定封装统计报文切片的统计报告数量,不能整除的可以用0填充,例如,将13个76bit的统计报告封装成1024bit的报文切片,剩余的36bit全部用0填充。将一个或多个统计报文切片封装成统计报文时,可以在第一个统计报文切片处打上SOP标志,在最后一个统计报文切片处打上EOP标志,如果一个统计报文只包含一个统计报文切片,则可以对该统计报文切片同时打上SOP/EOP。进一步的,还可以在统计报文切片打上VLD标志,以指示当前统计报文切片的有效性。
优选地,将一个或多个统计报文切片封装成统计报文之前,还可以确定当前的统计报文切片的第一个统计报告为有效的统计报告,例如,可以通过判断统计报告是否为空来确定统计包括是否有效,如果统计报告不为空,则该统计包括有效,否者,该统计报告无效。具体的,网络处理芯片可以在收到当前报文切片的第一个有效统计报告时,开始将统计报告封装成统计报文切片,从而防止封装形成空的统计报文切片,进一步的,用于封装成统计报文切片的剩余统计报告可以是无效的,以防止长时间没有有效统计报告生成,而导致已封装的有效统计报告无法组成统计报文切片,进而使得统计报文切片无法形成统计报文及时发送到片外统计芯片。
片外统计芯片接收到网络处理芯片发送的统计报文后,可以从统计报文中解析出流量管理队列的统计信息,并根据统计信息对队列的各个统计项进行计数。进一步的,将各个计数结果存储在存储器中。
通过本发明实施例,网络处理芯片获取流量管理队列的统计信息,并向片外统计芯片发送获取到的统计信息,由片外统计芯片根据流量管理队列的统计信息对队列的各个统计项进行计数。实现了在网络处理芯片外部对流量管理队列的各个统计项进行计数,从而降低了网络处理芯片的复杂性,精简了网络处理芯片的尺寸。
根据本发明实施例,提供了一种统计计数装置,位于片外统计芯片2中,作为片外统计芯片2的一种优选实施方式,用以实现片外统计芯片2的功能。
图6是根据本发明实施例的统计计数装置的结构框图,如图6所示,该装置主要包括:获取模块20和计数模块22。其中,获取模块20,用于从网络处理芯片获取流量管理队列的统计信息;计数模块22,与获取模块20相耦合,用于按照获取到的统计信息对队列的各个统计项进行计数。
通过本发明实施例,片外统计芯片的获取模块20从网络处理芯片获取流量管理队列的统计信息,由计数模块22按照获取到的统计信息对队列的各个统计项进行计数,实现了在网络处理芯片外对流量管理队列的统计项进行计数,从而降低了网络处理芯片的复杂性,精简了网络处理芯片的尺寸。
图7是根据本发明实施例优选的获取模块的结构框图,如图7所示,获取模块20可以包括:接收单元202,用于接收网络处理器发送的统计报文,其中,该统计报文携带有上述统计信息;解析单元204,与接收单元202相耦合,用于从统计报文中解析得到统计信息。具体的,解析单元204采用与发送统计报文的封装方法相对应的解析方法,从统计报文中解析出流量管理队列的统计信息。优选地,接收单元可以通过片外统计芯片的串行总线接收网络处理器发送统计报文,以避免发送统计信息时占用过多的I/O管脚。
图8是根据本发明实施例优选的统计计数装置的结构框图,如图8所示,该装置还可以包括:存储模块24,与计数模块22相耦合,用于存储各个统计项的计数结果。
对应于上述装置,根据本发明实施例,还提供了一种统计计数方法,用以通过上述装置在片外统计芯片2中实现对流量管理队列的各个统计项进行计数。
图9是根据本发明实施例的统计计数方法的流程图,如图9所示,该方法包括步骤S902至步骤S904。
步骤S902,片外统计芯片从网络处理芯片获取流量管理队列的统计信息。
在步骤S902的一个优选实施方式中,片外统计芯片从网络处理芯片获取队列的统计信息时,可以接收网络处理器发送的统计报文,并从所述统计报文中解析得到上述统计信息,其中,统计报文中携带有上述统计信息。上述统计信息可以包括但不限于以下至少之一:队列的出队信息、队列的入队信息、队列的丢弃信息、队列的老化信息、队列的队列长度,以及队列的队列号。优选地,片外统计芯片可以通过其串行总线接收网络处理芯片发送的统计报文。通过串行总线接收统计报文,减少了对网络处理芯片和片外统计芯片I/O管脚的需求,减少了芯片的I/O管脚数量。
步骤S904,片外统计芯片按照上述统计信息对队列的各个统计项进行计数。
在本发明实施例的一个优选实施方式中,片外芯片按照队列的统计信息对各个统计项进行计数之后,还可以存储各个统计项的计数结果。
通过本发明实施例,片外统计芯片从网络处理芯片获取流量管理队列的统计信息,并按照获取到的统计信息对队列的各个统计项进行计数,实现了在网络处理芯片外对流量管理队列的统计项进行计数,从而降低了网络处理芯片的复杂性,精简了网络处理芯片的尺寸。
优选实施例
在本发明优选实施例中,结合统计信息的发送和统计计数方法及装置,提供了一种统计计数的管理方法及装置,以解决现有技术中直接使用片外SRAM/DRAM作为统计计数器的存储器,造成I/O管脚过多,以及网络处理芯片尺寸过大的问题。下面分别对本发明优选实施例的方法及装置进行描述。
本优选实施例的统计计数的管理方法,实现了本发明上述实施例的统计信息的发送方法以及统计计数方法。具体的,本优选实施例的统计计数的管理方法包括步骤一至步骤三:
步骤一,获取TM的出队、入队、丢弃、清空、老化等统计信息,将统计信息封装成一定格式的统计报告;
步骤二,将若干个统计报告封装成统计报文切片,优选地,统计报文切片的第一个统计报告必须有效,以防止生成空报文切片;
步骤三,根据串行总线(如SerDes)的突发能力,确定将几个统计报文切片合成1个统计报文,并发送到片外统计芯片,由片外统计芯片实现统计计数功能。
本发明实施例的统计计数的管理装置,实现了本发明上述实施例的统计信息的发送装置以及统计计数装置的功能。具体的,本优选实施例的统计计数的管理装置主要包括:
统计报告生成模块,用于将队列的各类统计信息,按照一定的格式封装成统计报告。
统计报文切片生成模块,用于将n个统计报告封装成统计报文切片。
串行总线接口模块,用于将统计报文切片按照串行总线(SerDes等)的突发能力,将几个报文切片合成一个统计报文,并将统计报文发送到片外统计芯片。
片外统计芯片,用于接收串行总线的统计报文并进行解析,对解析后的统计信息进行统计计数。优选地,片外统计芯片可由FPGA或专用芯片实现。
通过本优选实施例,将队列的统计信息封装成统计报文,通过串行总线发送到片外统计芯片,由片外统计芯片实现统计计数的功能。相对于直接外挂SRAM/DRAM的统计计数方式,串行统计计数方式减少了网络处理芯片对外的I/O引脚数量,并且,将统计计数模块的逻辑功能移植到了片外统计芯片,裁剪了网络处理器的内部逻辑,有效精简了网络处理芯片的芯片尺寸。
具体实施例
图10是根据本发明实施例的统计计数的管理方法的示意图,在本发明具体实施例中,以统计报告大小为76bit,统计报文切片大小为128B(1B=8bit),统计报文大小为256B进行示意,实际运用中,不限于此示意场景。
图11是根据本发明实施例的统计计数的管理方法的流程图,如图3所示,该方法可以包括步骤S1102至步骤S1108。
步骤S1102,将队列统计信息按照一定的格式封装成统计报告。
上述统计报告是基本统计信息的载体,也是片外统计芯片解析的基本单元,统计报告的内容要包括队列的全部统计信息:入队、出队、丢弃类型、队列长度、队列号等,无效的统计报告内容为空,用全0数据填充报告内容。统计报告按照一定规则串行排列,最后组成统计报文发送出去。
步骤S1104,将若干个统计报告封装成统计报文切片,此切片的第一个统计报告非空(即报告有效)。
上述统计报告的大小决定几个报告封装成一个统计报文切片,不能整除的用0填充(比如将13个76bit的统计报告封装成1024bit的报文切片,剩余的36bit全部用0填充)。
统计报文切片只有在收到当前报文切片的第一个有效统计报告时,才开始进行统计报文切片的封装工作,这是为了防止封装后形成空的统计报文切片而设计的;此后,用于封装成统计报文切片的剩余统计报告可以是无效的,这是为了防止长时间没有有效统计报告生成,而导致前面的有效统计报告无法组成统计报文切片,导致统计报文切片无法发送出去而设计的。
步骤S1106,串行总线按照自身的突发能力,将若干统计报文切片封装成统计报文,串行的发送到片外。
串行总线可以按照自身突发能力的大小,决定将几个计报文切片合成一个统计报文。在第一个统计报文切片处打上SOP标志,在最后一个统计报文切片处打上EOP标志,如果一个统计报文仅包含一个统计报文切片,则对此统计报文切片同时打上SOP/EOP。同时每个报文切片都打上VLD标志,以指示当前统计报文切片的有效性,之后便可将此统计报文通过串行总线发送到片外,由片外芯片实现统计计数。
步骤S1108,片外统计芯片对接收到的统计报文进行解析,完成统计计数的功能。
统计报文解析的过程执行与报文封装过程相反的顺序,将从串行总线接口处收到的统计报文数据,解封装为与网络处理芯片发送时相同的入队、出队、丢弃等统计信息,的片外统计芯片根据这些统计信息,完成各个统计项的计数功能,将计数的结果保存在SRAM/DRAM中。
图12是根据本发明实施例的统计计数的管理装置的结构图,如图12所示,该装置主要包括:统计报告生成模块401、统计报文切片生成模块402、串行总线接口模块403,以及片外统计芯片404。
其中,统计报告生成模块401,用于从网络处理芯片的流量转发平面的TM处获取统计项信息,并根据预定的格式生成统计报告。
统计报文切片生成模块402,用于从上述统计报告生成模块处获取统计报告,并按照一定的原则将n个所述统计报告封装成统计报文切片。
串行总线接口模块403,用于将若干个上述统计报文切片封装成统计报文,并为统计报文切片打上SOP/EOP/VLD标记,以指示统计报文的开始、结束及有效性。由于串行总线使用串行接口传输数据,只需10个左右数量级的I/O管脚就可以完成统计报文的发送,大大减少了I/O管脚的开销。
片外统计芯片404,用于接收上述串行总线接口模块的统计报文,并对统计报文进行解析后,进行相关统计项的计数,并将计数的结果保存到SRAM/DRAM中。
在本发明实施例中,统计报告生成模块401、统计报文切片生成模块402、串行总线接口模块403虽然位于网络处理芯片内部,但只是对统计信息进行封装打包,并不直接实现统计计数功能,因而占用的逻辑资源较小,相对于流量转发平面的逻辑资源,其逻辑量几乎可以忽略不计。
优选地,片外统计芯片404,可用内嵌SRAM的ASIC实现,也可用PLD外挂DRAM/SRAM的形式实现。
图13是根据本发明实施例的使用内嵌SRAM的ASIC实现的外部统计芯片的\结构框图,如图13所示,具体可以包括:统计计数模块501,用于实现读取SRAM中的原有统计值,与统计值增量累加后,重新写回原计数器地址的逻辑功能。为了实现有效的统计计数,统计计数模块501工作在流水模式下。内嵌SRAM502,用于存储上述统计计数模块的计数结果。
图14是根据本发明实施例的使用外挂SRAM/DRAM的PLD实现的外部统计芯片的结构框图,如图14所示,具体可以包括:统计计数模块601,用于实现读取SRAM/DRAM中的原有统计值,与统计值增量累加后,重新写回原计数器地址的逻辑功能。为了实现有效的统计计数,统计计数模块601工作在流水模式下。外挂SRAM/DRAM602,用于存储上述统计计数模块的计数结果。
通过本发明实施例,实现了有效的减少网络处理芯片的外部I/O管脚数量,同时将统计计数功能移植到了片外,有效的裁剪了网络处理芯片的内部逻辑量,减少了网络处理芯片的物理尺寸。
从以上的描述中,可以看出,本发明实现了如下技术效果:将队列的统计信息封装成统计报文,通过串行总线发送到片外统计芯片,由片外统计芯片实现统计计数的功能。相对于直接外挂SRAM/DRAM的统计计数方式,串行统计计数方式减少了网络处理芯片对外的I/O引脚数量,并且,将统计计数模块的逻辑功能移植到了片外统计芯片,裁剪了网络处理器的内部逻辑,有效精简了网络处理芯片的芯片尺寸。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (22)
1.一种统计信息的发送方法,其特征在于,包括:
网络处理芯片获取流量管理队列的统计信息;
所述网络处理芯片向片外统计芯片发送所述统计信息,其中,所述片外统计芯片用于根据所述统计信息对所述队列的各个统计项进行计数。
2.根据权利要求1所述的方法,其特征在于,所述网络处理芯片向片外统计芯片发送所述统计信息,包括:
所述网络处理芯片通过其串行总线向片外统计芯片发送所述统计信息。
3.根据权利要求2所述的方法,其特征在于,所述网络处理芯片通过其串行总线向片外统计芯片发送所述统计信息,包括:
所述网络处理芯片按照预设格式将所述统计信息封装成统计报告;
所述网络处理芯片将一个或多个所述统计报告封装成统计报文;
所述网络处理芯片通过其串行总线向所述片外统计芯片发送所述统计报文。
4.根据权利要求3所述的方法,其特征在于,所述网络处理芯片将一个或多个所述统计报告封装成统计报文,包括:
所述网络处理芯片将一个或多个所述统计报告封装成统计报文切片;
所述网络处理芯片按照其串行总线的处理能力,将一个或多个所述统计报文切片封装成所述统计报文。
5.根据权利要求4所述的方法,其特征在于,将一个或多个所述统计报文切片封装成所述统计报文之前,还包括:
确定当前的所述统计报文切片的第一个统计报告为有效的统计报告。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述统计信息包括以下至少之一:所述队列的出队信息、所述队列的入队信息、所述队列的丢弃信息、所述队列的老化信息、所述队列的队列长度、所述队列的队列号。
7.一种统计计数方法,其特征在于,包括:
片外统计芯片从网络处理芯片获取流量管理队列的统计信息;
所述片外统计芯片按照所述统计信息对所述队列的各个统计项进行计数。
8.根据权利要求7所述的方法,其特征在于,片外统计芯片从网络处理芯片获取队列的统计信息,包括:
所述片外统计芯片接收所述网络处理器发送的统计报文,其中,所述统计报文携带有所述统计信息;
所述片外统计芯片从所述统计报文中解析得到所述统计信息。
9.根据权利要求8所述的方法,其特征在于,所述片外统计芯片接收所述网络处理器发送的统计报文,包括:
所述片外统计芯片通过串行总线接收所述网络处理器发送的统计报文。
10.根据权利要求7所述的方法,其特征在于,所述片外芯片按照所述统计信息对各个统计项进行计数之后,还包括:
存储所述各个统计项的计数结果。
11.根据权利要求7至10中任一项所述的方法,其特征在于,所述统计信息包括以下至少之一:所述队列的出队信息、所述队列的入队信息、所述队列的丢弃信息、所述队列的老化信息、所述队列的队列长度、所述队列的队列号。
12.一种统计信息的发送装置,位于网络处理芯片中,其特征在于,包括:
获取模块,用于获取流量管理队列的统计信息;
发送模块,用于向片外统计芯片发送所述统计信息,其中,所述片外统计芯片用于根据所述统计信息对所述队列的各个统计项进行计数。
13.根据权利要求12所述的装置,其特征在于,所述发送模块按照以下方式发送所述统计信息:
所述发送模块通过网络处理芯片的串行总线向片外统计芯片发送所述统计信息。
14.根据权利要求13所述的装置,其特征在于,所述发送模块包括:
第一封装单元,用于按照预设格式将所述统计信息封装成统计报告;
第二封装单元,用于将一个或多个所述统计报告封装成统计报文;
发送单元,用于通过网络处理芯片的串行总线向所述片外统计芯片发送所述统计报文。
15.根据权利要求14所述的装置,其特征在于,所述第二封装单元按照以下方式封装所述统计报文:
所述第二封装单元将一个或多个所述统计报告封装成统计报文切片;
所述第二封装单元按照所述网络处理芯片的串行总线的处理能力,将一个或多个所述统计报文切片封装成所述统计报文。
16.一种统计计数装置,位于片外统计芯片,其特征在于,包括:
获取模块,用于从网络处理芯片获取流量管理队列的统计信息;
计数模块,用于按照所述统计信息对所述队列的各个统计项进行计数。
17.根据权利要求16所述的装置,其特征在于,所述获取模块包括:
接收单元,用于接收所述网络处理器发送的统计报文,其中,所述统计报文携带有所述统计信息;
解析单元,用于从所述统计报文中解析得到所述统计信息。
18.根据权利要求17所述的装置,其特征在于,所述接收单元按照以下方式接收所述统计报文:
通过串行总线接收所述网络处理器发送的统计报文。
19.根据权利要求16所述的装置,其特征在于,还包括:
存储模块,用于存储所述各个统计项的计数结果。
20.一种网络处理芯片,其特征在于,包括:权利要求12至15中任一项所述的统计信息的发送装置。
21.一种片外统计芯片,其特征在于,包括:权利要求16至19任一项所述的统计计数装置。
22.一种网络通信设备,其特征在于,包括:权利要求20所述的网络处理芯片,以及权利要求21所述的片外统计芯片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012102032544A CN102752196A (zh) | 2012-06-19 | 2012-06-19 | 统计信息的发送、统计计数方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012102032544A CN102752196A (zh) | 2012-06-19 | 2012-06-19 | 统计信息的发送、统计计数方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102752196A true CN102752196A (zh) | 2012-10-24 |
Family
ID=47032100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012102032544A Pending CN102752196A (zh) | 2012-06-19 | 2012-06-19 | 统计信息的发送、统计计数方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102752196A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103997415A (zh) * | 2013-02-20 | 2014-08-20 | 中兴通讯股份有限公司 | 一种实现报文统计的装置及方法 |
CN104301172A (zh) * | 2014-09-12 | 2015-01-21 | 中国电子科技集团公司第三十二研究所 | 网络处理器的统计计数方法 |
CN105389267A (zh) * | 2015-10-21 | 2016-03-09 | 盛科网络(苏州)有限公司 | stats分配的芯片实现方法 |
CN115051954A (zh) * | 2022-08-17 | 2022-09-13 | 北京左江科技股份有限公司 | 一种基于FPGA BlockRam的大容量以太网报文统计限速结构 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002045349A1 (en) * | 2000-11-29 | 2002-06-06 | Sisilk Networks, Inc. | Network switch with a parallel shared memory and method of operation |
CN101515898A (zh) * | 2009-03-25 | 2009-08-26 | 华为技术有限公司 | 芯片的统计数据的管理方法和装置 |
CN101848132A (zh) * | 2009-03-24 | 2010-09-29 | 华为技术有限公司 | 流量统计装置及方法 |
-
2012
- 2012-06-19 CN CN2012102032544A patent/CN102752196A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002045349A1 (en) * | 2000-11-29 | 2002-06-06 | Sisilk Networks, Inc. | Network switch with a parallel shared memory and method of operation |
CN101848132A (zh) * | 2009-03-24 | 2010-09-29 | 华为技术有限公司 | 流量统计装置及方法 |
CN101515898A (zh) * | 2009-03-25 | 2009-08-26 | 华为技术有限公司 | 芯片的统计数据的管理方法和装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103997415A (zh) * | 2013-02-20 | 2014-08-20 | 中兴通讯股份有限公司 | 一种实现报文统计的装置及方法 |
CN104301172A (zh) * | 2014-09-12 | 2015-01-21 | 中国电子科技集团公司第三十二研究所 | 网络处理器的统计计数方法 |
CN105389267A (zh) * | 2015-10-21 | 2016-03-09 | 盛科网络(苏州)有限公司 | stats分配的芯片实现方法 |
CN105389267B (zh) * | 2015-10-21 | 2018-08-21 | 盛科网络(苏州)有限公司 | stats分配的芯片实现方法 |
CN115051954A (zh) * | 2022-08-17 | 2022-09-13 | 北京左江科技股份有限公司 | 一种基于FPGA BlockRam的大容量以太网报文统计限速结构 |
CN115051954B (zh) * | 2022-08-17 | 2022-11-11 | 北京左江科技股份有限公司 | 一种基于FPGA BlockRam的大容量以太网报文统计限速装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108667739A (zh) | 拥塞控制方法、装置及系统 | |
CN100531038C (zh) | 实现分布式系统板间通信的系统和方法 | |
CN102752196A (zh) | 统计信息的发送、统计计数方法及装置 | |
CN110800328B (zh) | 一种缓存状态上报方法、终端和计算机存储介质 | |
US10284319B2 (en) | Method and apparatus for multiplexing machine type communication data of multiple MTC devices in a wireless network environment | |
CN108989286A (zh) | 通用数据流的封装方法、解封装方法及装置 | |
CN108521343A (zh) | 一种oam报文的处理方法及装置 | |
CN102457442A (zh) | 一种消息发送和读取方法、装置及中间件系统 | |
CN103004132A (zh) | 使用微片用于时钟门控的技术 | |
CN102238055B (zh) | 基于mdio接口的下载方法及系统 | |
CN103546394A (zh) | 一种通信装置 | |
CN102916902A (zh) | 数据存储方法及装置 | |
CN107786464B (zh) | 一种实现节点间通信的方法及装置 | |
CN103746945B (zh) | 一种数据传输装置及方法 | |
CN102984083A (zh) | 队列管理方法及装置 | |
CN113141322A (zh) | 一种数据通信方法、数据通信装置及计算机存储介质 | |
CN101848132A (zh) | 流量统计装置及方法 | |
CN112787955B (zh) | Mac层数据报文的处理方法、设备和存储介质 | |
CN100531123C (zh) | 一种实现数据包模式到信元帧模式转换的装置及其方法 | |
CN101833431B (zh) | 基于fpga实现的双向高速fifo存储器 | |
CN103634229A (zh) | 一种片间通讯方法及控制装置 | |
CN103997415A (zh) | 一种实现报文统计的装置及方法 | |
CN106657097B (zh) | 一种数据发送方法及装置 | |
CN100493000C (zh) | 一种实现多逻辑通道计数的方法和装置 | |
CN103118023B (zh) | 一种在网络中传输规范数据的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20121024 |
|
WD01 | Invention patent application deemed withdrawn after publication |