用于内部/外部存储器分组和字节计数的方法和装置制造方法及图纸

技术编号:9644198 阅读:137 留言:0更新日期:2014-02-07 04:46
提供了一种用于内部/外部存储器分组和字节计数的方法和装置,特别地,提供了一种用于对所接收的分组的数量和包含于所接收的分组中的字节的数量进行计数的系统和方法。系统包括第一存储器,被布置于集成电路中,第一存储器被配置成第一组合计数器,该第一组合计数器具有用于存储所接收的分组的部分和的第一组比特以及用于存储包含于所接收的分组中的字节的部分和的第二组比特。第二存储器在集成电路外部。第二存储器被配置成存储所接收的分组的总数和包含于所接收的分组中的字节的总数。更新电路系统被配置成当第一存储器中的第一组比特或第二组比特溢出时,更新存储在第二存储器中的分组的总数。

【技术实现步骤摘要】
用于内部/外部存储器分组和字节计数的方法和装置相关申请的交叉引用本申请要求于2012年5月22日提交的,名称为“DRAMPacketandByteCounter”的美国临时专利申请No.61/650,157以及于2012年10月8日提交的,名称为“DRAMPacketandByteCounter”的美国临时专利申请No.61/710,868的优先权,上述申请整体合并于此。
此处描述的技术总体上涉及分组和分组字节计数,并且更具体地,涉及使用内部和外部存储器的分组和分组字节计数。
技术介绍
网络设备(诸如交换机)用于对由该网络设备接收的分组的数量和包含于这些所接收的分组中的字节的数量进行计数。用于此类计数的某个硬件具有技术上的限制,诸如约束了计数能力的处理或存取速度限制。以上描述被呈现为本
中的相关技术的总体概览,并且不应该被解释为承认其包含的任何信息构成针对本专利申请的现有技术。
技术实现思路
提供用于对所接收的分组的数量和包含于所接受的分组中的字节的数量进行计数的系统和方法的示例。系统包括被布置于集成电路中的第一存储器,第一存储器被配置为第一组合计数器,该第一组合计数器具有用于存储所接收的数据分组的部分和的第一组比特,以及用于存储包含于所接收的分组中的字节的部分和的第二组比特。第二存储器在集成电路外部。第二存储器被配置成存储所接收的数据分组的总数以及包含于所接收的分组中的字节的总数。更新电路系统被配置成每当第一存储器中的第一组比特或第二组比特溢出时,使用来自第一存储器的第一组比特来更新存储在第二存储器中的分组的总数,并且使用来自第一存储器的第二组比特来更新存储在第二存储器中的字节的总数。作为另一示例,用于跟踪所接收的分组的数量和包含于所接收的分组中的字节的数量的方法包括基于所接收的分组和所接收的分组中的字节的数量更新存储在被布置于集成电路中的第一存储器中的第一组合计数器,其中第一组合计数器的第一组比特被配置成对所接收的分组的部分和进行计数,并且其中第一组合计数器的第二组比特被配置成对包含于所接收的分组中的字节的部分和进行计数。关于是否第一组比特或第二组比特已经溢出进行确定。当第一组合计数器的第一组比特或第二组比特已经溢出时,更新存储在集成电路外部的第二存储器中的所接收的分组的总数和所接收的分组中的字节的总数。附图说明图1是描绘用于对所接收的分组的数量和包含于所接收的分组中的字节的数量进行计数的系统的框图。图2描绘了由本公开的一个实施例中的更新电路系统采用的示例伪码。图3是描绘内部存储器引擎、外部存储器处的队列和外部存储器引擎之间的、用于有助于更新操作的交互的框图。图4是描绘用于跟踪所接收的分组的数量和包含于所接收的分组中的字节的数量的方法的流程图。图5是描绘用于对所接收的分组的数量和包含于所接收的分组中的字节的数量进行计数的系统和方法的交换机形式的示例实现方式的框图。具体实施方式图1是描绘用于对所接收的分组的数量和包含于所接收的分组中的字节的数量进行计数的系统的框图。网络设备(诸如交换机)用于提供对传入分组的数量和在那些分组中所接收的字节的数量进行计数的计数器。网络设备常常包括很多的此类计数器(例如,数百数千的计数器)。在一些实现方式中,分组以持续增加的高速率被接收,这要求快速计数操作,诸如读取-写入-修改存储器操作。内部存储器(诸如静态随机存取存储器)被布置于与网络处理器或网络设备的其他数据处理器相同的集成电路上,其能够提供充分快速的存储操作以跟上分组接收的高速率。然而,此类内部存储器空间通常对于大量计数器在较长时间内维持此类对分组和分组大小的计数相对昂贵并且不切实际。因此,可用于分配给每个内部计数器的比特的数量是有限的。在一个实施例中,外部存储器(诸如外部动态随机存取存储器)提供较大、较价格低廉的存储。虽然此类片外存储器为分组计数提供充足的存储器空间,但是在一些实施例中,那些存储器无法快到足够处理高分组速率。图1是描绘用于利用布置于集成电路中的第一内部存储器和在集成电路外部的第二存储器两者对所接收的分组的数量和所接收的分组中包含的字节的数量进行计数的系统的框图。为简单起见,典型的网络设备包括了很多看不到的组件。图1的系统包括第一内部存储器102,其被布置于网络设备集成电路104(例如,在第一电路衬底上)中。内部存储器102被配置成第一组合计数器106,该第一组合计数器106维持用于存储第一值的在一个地址处的比特的数量以及用于存储第二值的在该地址处的比特的数量。组合计数器106具有用于存储所接收的分组110的部分和的第一组比特108以及用于存储包含于所接收的分组110中的字节的部分和的第二组比特112。图1的系统还包括在网络设备集成电路104外部的(例如,在第二电路衬底上)第二外部存储器114。第二存储器114被配置成存储所接收的分组的总数116和包含于所接收的分组中的字节的总数118。在一个示例中,第二存储器114包括外部组合计数器,该外部组合计数器具有用于存储分组的总数的第一组比特116以及用于存储字节的总数的第二组比特118。图1的系统还包括更新电路系统120,该更新电路系统120被配置成每当第一存储器104中的第一组比特108或第二组比特112溢出时,使用来自第一存储器102的第一组比特108更新存储在第二存储器114中的分组的总数116以及使用来自第一存储器102的第二组比特112更新存储在第二存储器114中的字节的总数118。图1的系统利用内部存储器102和外部存储器114的某些优势来维持对所接收的分组110的数量和其中的数据的字节的数量的精确计数,即便是在潜在的高速接收数据分组110的情况下。系统利用内部存储器102的快速操作能力来跟踪在第一组比特108中的所接收的分组的数量以及在第二组比特112中的那些分组中的字节的数量。由于内部存储器102中的存储开销,仅仅有限数量的比特被分配给第一组合计数器106,其中期望第一组合计数器106将不必须具有对在108和112处可用的充足数量的比特来保持对所接收的分组110和/或所接收的分组110中包含的字节的精确计数。然而,第一组合计数器106用于保持所接收的分组110和包含于所接收的那些分组110中的字节的部分和,其中实际的分组的总数116和字节的总数118被存储在在集成电路104的外部的第二存储器114中。每当第一组比特108(例如对应于所接收的分组的数量)或第二组比特112(例如对应于所接收的字节的数量)溢出时,更新电路系统120被配置成基于在第一组比特108中的分组的部分和更新存储在第二存储器114中的分组的总数116,并且进一步基于在第二组比特112中的字节的部分和更新存储在第二存储器114中的字节的总数118。分配在116的用于存储分组的总数(例如,55比特)的存储器空间大于或远大于分配给第一组比特108(例如,5比特)的用于对分组的部分和进行计数的比特的数量。相似地,分配在118的用于存储字节的总数(例如,64比特)的存储器空间大于或远大于分配给第二组比特112(例如,11比特)的用于对字节的部分和进行计数的比特的数量。更新电路系统120在一个实施例中被配置成也执行其他操作,诸如当第一组比特108或第二组比特112溢出本文档来自技高网...
用于内部/外部存储器分组和字节计数的方法和装置

【技术保护点】
一种用于对所接收的分组的数量和包含于所述所接收的分组中的字节的数量进行计数的系统,包括:第一存储器,被布置于集成电路中,所述第一存储器被配置成第一组合计数器,所述第一组合计数器具有用于存储所接收的分组的部分和的第一组比特,以及用于存储包含于所述所接收的分组中的字节的部分和的第二组比特;第二存储器,在所述集成电路外部,所述第二存储器被配置成存储所接收的分组的总数和包含于所述所接收的分组中的字节的总数;以及更新电路系统,被配置成每当所述第一存储器中的所述第一组比特或所述第二组比特溢出时,使用来自所述第一存储器的所述第一组比特更新存储在所述第二存储器中的所述分组的总数以及使用来自所述第一存储器的所述第二组比特更新存储在所述第二存储器中的所述字节的总数。

【技术特征摘要】
2012.05.22 US 61/650,157;2012.10.08 US 61/710,8681.一种用于对所接收的分组的数量和包含于所述所接收的分组中的字节的数量进行计数的系统,包括:第一存储器,被布置于集成电路中,所述第一存储器被配置成第一组合计数器,所述第一组合计数器具有用于存储所接收的分组的部分和的第一组比特,以及用于存储包含于所述所接收的分组中的字节的部分和的第二组比特;第二存储器,在所述集成电路外部,所述第二存储器被配置成存储所接收的分组的总数和包含于所述所接收的分组中的字节的总数;以及更新电路系统,被配置成每当所述第一存储器中的所述第一组比特或所述第二组比特溢出时,使用来自所述第一存储器的所述第一组比特更新存储在所述第二存储器中的所述分组的总数以及使用来自所述第一存储器的所述第二组比特更新存储在所述第二存储器中的所述字节的总数。2.根据权利要求1所述的系统,其中所述系统还被配置成当所述第一组比特或所述第二组比特溢出时,复位所述第一组比特和所述第二组比特。3.根据权利要求1所述的系统,其中所述第二存储器包括外部组合计数器,所述外部组合计数器具有被配置成存储所述分组的总数的第一组比特以及被配置成存储所述字节的总数的第二组比特。4.根据权利要求3所述的系统,其中所述外部组合计数器的所述第一组比特包含多于所述第一组合计数器的所述第一组比特的比特;以及其中所述外部组合计数器的所述第二组比特包含多于所述第一组合计数器的所述第二组比特的比特。5.根据权利要求1所述的系统,其中可用于对所述所接收的分组的部分和进行计数的所述第一组比特包含少于可用于对所述字节的部分和进行计数的所述第二组比特的比特。6.根据权利要求1所述的系统,其中基于预期平均分组大小或预期最小分组大小设置所述第一组比特中的比特的数量和所述第二组比特中的比特的数量。7.根据权利要求1所述的系统,其中被布置于所述集成电路中的所述第一存储器包含多个组合计数器,所述多个组合计数器被配置成在网络装置处对所接收的分组的数量进行计数以及对字节的数量进行计数。8.根据权利要求1所述的系统,其中所述第二存储器以不够快到跟踪所接收的分组的部分和与字节的部分和的速率来执行读取-写入-修改操作。9.根据权利要求1所述的系统,其中所述第一存储器是静态随机存取存储器,并且其中所述第二存储器是动态随机存取存储器。10.根据权利要求9所述的系统,其中所述静态随机存取存储器和所述动态随机存取存储器是交换机的组件。11.根据权利要求1所述的系统,还包括在所述第二存储器处的缓冲区,其中所述系统被配置成通过以下操作更新所述所接收的分组的总数和所述字节的总数:当所述第一组比特或所述第二组比特溢出时,添加条目至所述缓冲区,其中所述条目包括基于所述第一存储器的所述第一组比特和所述第二组比特的、将被增加至在所...

【专利技术属性】
技术研发人员:K·T·博登P·维斯特伦德
申请(专利权)人:马维尔国际贸易有限公司
类型:发明
国别省市:

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

1