CN103560980A - 用于内部/外部存储器分组和字节计数的方法和装置 - Google Patents

用于内部/外部存储器分组和字节计数的方法和装置 Download PDF

Info

Publication number
CN103560980A
CN103560980A CN201310205302.8A CN201310205302A CN103560980A CN 103560980 A CN103560980 A CN 103560980A CN 201310205302 A CN201310205302 A CN 201310205302A CN 103560980 A CN103560980 A CN 103560980A
Authority
CN
China
Prior art keywords
bit
group
byte
grouping
memory
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.)
Granted
Application number
CN201310205302.8A
Other languages
English (en)
Other versions
CN103560980B (zh
Inventor
K·T·博登
P·维斯特伦德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kaiwei International Co
Marvell International Ltd
Marvell Asia Pte Ltd
Original Assignee
Mawier International Trade Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mawier International Trade Co Ltd filed Critical Mawier International Trade Co Ltd
Publication of CN103560980A publication Critical patent/CN103560980A/zh
Application granted granted Critical
Publication of CN103560980B publication Critical patent/CN103560980B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9084Reactions to storage capacity overflow
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • H04L49/9078Intermediate storage in different physical parts of a node or terminal using an external memory or storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

提供了一种用于内部/外部存储器分组和字节计数的方法和装置,特别地,提供了一种用于对所接收的分组的数量和包含于所接收的分组中的字节的数量进行计数的系统和方法。系统包括第一存储器,被布置于集成电路中,第一存储器被配置成第一组合计数器,该第一组合计数器具有用于存储所接收的分组的部分和的第一组比特以及用于存储包含于所接收的分组中的字节的部分和的第二组比特。第二存储器在集成电路外部。第二存储器被配置成存储所接收的分组的总数和包含于所接收的分组中的字节的总数。更新电路系统被配置成当第一存储器中的第一组比特或第二组比特溢出时,更新存储在第二存储器中的分组的总数。

Description

用于内部/外部存储器分组和字节计数的方法和装置
相关申请的交叉引用
本申请要求于2012年5月22日提交的,名称为“DRAM Packetand Byte Counter”的美国临时专利申请No.61/650,157以及于2012年10月8日提交的,名称为“DRAM Packet and Byte Counter”的美国临时专利申请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溢出并且分组的总数116和字节的总数118已被更新时,复位第一组比特108和第二组比特112。
第一组合计数器106被配置成包括用于对所接收的分组110的数量进行计数的第一组比特108和用于对所接收的分组110中包含的字节的数量进行计数的第二组比特112。在本公开的一个实施例中,指定给第一组比特108的比特的数量不同于指定给第二组比特110的比特的数量,从而使得第一组比特108和第二组比特110能够存储不同的最大值。在图1的示例中,可用于对所接收的分组的部分和进行计数的第一组比特108包含的比特少于用于对字节的部分和进行计数的第二组比特112的比特。
通常,期望由第二组比特112进行计数的字节的数量将大于由第一组比特108进行计数的分组的数量,这将是任何时候所接收的分组110包含多于一个字节的情况。在实施例中,通过试图把尽可能广的计数范围用于第一组比特108和第二组比特112来最佳地利用可用于内部存储器102中的第一组合计数器106的有限的比特的数量,图1的系统得到优化。在本公开的一个实施例中,选择第一组比特108和第二组比特112的相对大小,从而使得期望第一组比特108和第二组比特112在大约相同的速率上溢出(例如,达到或超过它们的最大计数能力),诸如基于统计确定的平均分组大小、期望的最小分组大小或其他度量。由于期望第一组比特108和第二组比特112都不会先于彼此溢出,因此通常,对第二外部存储器114中的分组的总数116和字节的总数118的更新之间的时间周期被最大化,这常常在第二外部存储器114是诸如动态随机存取存储器的较慢的操作存储器时所期望的。在本公开的一个实施例中,第一组比特108被配置成包含5比特,从而允许对多达32个分组进行计数,并且第二组比特112被配置成包含11比特,从而允许对多达2048个字节进行计数,其中第一组合计数器106包含为16的总比特数以用于计数。注意到,通过为内部计数器选择远少于许多计数操作所需要的比特的比特的总数量,并且通过周期性地更新外部计数器,可以在网络设备IC上布置多得多的计数器。
由于所接收的分组110的实际大小事先并非已知,所以在实践中,第一组比特108和第二组比特112将不会总是精确地同时溢出(例如,第一和第二组比特将不会都针对特定分组溢出)。更新电路系统被配置成当第一组比特108或第二组比特112溢出时,更新分组的总数116和字节的总数118两者。更新电路系统120还被配置成在那些组比特108、112溢出之后并且数据包和字节的总数116、118被分别更新之后,复位第一组比特108和第二组比特112两者。
在本公开的一个实施例中,更新电路系统120被配置成处理某些特殊情况。例如,在上述说明中,第一组合计数器106被配置成在第一组比特108中具有5比特,并且在第二组比特112中具有11比特,其中的11比特允许对存储在所接收的分组110内的数据的多达2048个字节进行计数。在一些实施例中,存在长度上超过2048字节的所接收的分组,从而使得增加多于2048至第二组比特将引起第二组比特112的双重溢出,从而使得无法单独使用第二组比特112精确地更新字节的总数118。为了解决此问题和其他特殊情况,在一个实施例中,附加的逻辑被包括于更新电路系统120中,以维持精确的分组计数和分组字节计数。
图2描绘了由本公开的一个实施例中的更新电路系统采用的示例伪码。在图2的示例中,用于在内部存储器中的组合计数器i处对分组进行计数的第一组比特由A[i].pkt代表,并且用于在组合计数器i处对那些分组中的字节进行计数的第二组比特由A[i].byte表示。在202处,临时变量T被指定为A[i].byte(即组合计数器i的第二组比特的当前字节计数)与代表当前所接收的分组中的字节的长度的长度变量之和。更新电路系统的临时变量能够为特定的组合计数器i保持大于A[i].byte的数量的比特。临时变量T用于即使当长度变量大到将导致A[i].byte的双重溢出,从而引起组合计数器i的不确定的字节计数时,还能维持精确的字节计数。
在204处,关于是否当前分组将引起第一组比特A[i].pkt或第二组比特A[i].byte溢出进行确定。当第一组比特A[i].pkt处于它的最大值2p,其中p是第一组比特中的比特的数量(即,当前所接收的分组将该分组计数增加1,并超过最大值2p)或者临时变量T处于第二组比特A[i].byte的最大值2b,其中b是第二组比特中的比特的数量时,在204处的语句为真。
当在204处的语句为真时,在206处做出命令以基于对第一组比特A[i].pkt和包含当前字节计数部分和的临时变量T进行计数的分组更新在外部存储器处的分组的总数和字节的总数。溢出处理在208处继续,其中在第一组比特A[i].pkt处的分组计数被复位,并且在210处,在第二组比特A[i].byte处的字节计数被复位。当在204处的语句为假时,不检测溢出情况。因此,用于对分组进行计数的第一组比特A[i].pkt在212处被增加,并且用于对那些分组中的字节进行计数的第二组比特A[i].byte被更新为临时变量T的值。
如在206处所注意的,当第一组比特或第二组比特将基于当前分组溢出时,做出命令以更新在外部存储器的分组的总数和字节的总数。在本公开的一个实施例中,使用数据队列操作执行该更新操作。
图3是描绘内部存储器引擎、外部存储器处的队列和外部存储器引擎之间的,用于有助于更新操作的交互的框图。图3的系统包括内部存储器302,其被布置于网络设备的集成电路104上。内部存储器302被配置成第一组合计数器306,该第一组合计数器306具有用于存储所接收的分组的部分和的第一组比特308以及用于存储包含于所接收的分组中的字节的部分和的第二组比特310。图3的系统还包括第二外部存储器312,该外部存储器在集成电路304外部,诸如被布置于不同的集成电路314上。外部存储器312包括用于以外部组合计数器320的形式存储所接收的分组316的总数的机制和用于以外部组合计数器320的形式存储那些所接收的分组中的字节318的总数的机制。
网络设备集成电路304还包括内部存储器引擎322,该内部存储引擎322被配置成基于所接收的分组执行某些更新操作。在本公开的一个实施例中,内部存储引擎322被配置成每当内部存储器302中的第一组合计数器306中的第一组比特308或第二组比特310溢出时,发送命令以更新存储在外部存储器312中的分组316的总数以及更新存储在第二存储器312中的字节318的总数。在图3的示例中,内部存储引擎322通过向在外部存储器312的缓冲队列326添加条目324来命令更新外部组合计数器320。条目324包括基于第一组合计数器306的第一组比特308和第二组比特310的所接收的分组和所接收的字节的部分和。在一个实施例中,内部存储器引擎322还被配置成执行其他操作,诸如在第一组比特308或第二组比特310溢出之后在发送缓冲条目命令后,复位第一组比特308和第二组比特310。
外部存储器引擎328与队列326和外部组合计数器320交互以基于队列条目324更新分组316的总数和字节318的总数。在本公开的一个实施例中,在内部存储器302的每个第一组合计数器306都与外部组合计数器320按照一对一关系匹配。在其他实施例中,许多第一组合计数器306按照多对一关系与单个外部组合计数器320相关联。在图3的示例中,第一组合计数器306和外部组合计数器320通过一对一关系相关联。内部存储器引擎322诸如通过以下命令将条目324添加至队列缓冲区326:
EnqueuetDRAM(i,A[i].pkt,T),
其中i标识第一组合计数器306以及对应的将被更新的外部组合计数器,A[i].pkt标识应被添加至分组计数316的分组的数量,并且T标识应被添加至字节计数318的字节的数量。
图4是描绘用于跟踪所接收的分组的数量和包含于所接收的分组中的字节的数量的方法的流程图。在402,基于所接收的分组和所接收的分组中的字节的数量更新存储在被布置于集成电路中的第一存储器中的第一组合计数器,其中第一组合计数器的第一组比特被配置成对所接收的分组的部分和进行计数,并且其中第一组合计数器的第二组比特被配置成对包含于所接收的分组中的字节的部分和进行计数。在404处关于是否第一组比特或第二组比特已经溢出进行确定。在406处,当第一组合计数器的第一组比特或第二组比特已经溢出时,更新存储在在集成电路外部的第二存储器中的所接收的分组的总数和所接收的分组中的字节的总数。在408处,当第一组合计数器的第一组比特或第二组比特已经溢出时,第一组比特和第二组比特被复位。
图5是描绘用于对所接收的分组的数量和包含于所接收的分组中的字节的数量进行计数的系统和方法的交换机形式的示例实现方式的框图。交换机502接收一连串具有若干字节的分组长度的分组504。集成电路芯片506包括被布置于其上的用于处理所接收的分组504的数据处理器508。除了其他的功能之外,数据处理器508还用于维持所接收(例如,在给定的端口上)的分组的数量和存储在那些所接收的分组中的字节的数量的计数。数据处理器508使用内部静态随机存取存储器510执行此类操作,该内部静态随机存取存储器510被配置成具有用于存储所接收的分组的部分和的第一组比特514和用于存储包含于所接收的分组中的字节的部分和的第二组比特516。交换机502还包括在集成电路裸片506外部的动态随机存取存储器518形式的第二存储器。动态随机存取存储器518被配置成存储所接收的分组的总数520和包含于所接收的分组的字节的总数522。数据处理器508被配置成使用来自静态随机存取存储器510的第一组比特514更新存储在动态随机存取存储器518中的分组的总数520,并且使用来自静态随机存取存储器510的第二组比特516更新存储在动态随机存取存储器518中的字节的总数522。在一个实施例中,数据处理器518被配置成执行其他操作,以及诸如当第一组比特514或第二组比特516溢出时,复位第一组比特514和第二组比特516。
在实现用于对所接收的分组的数量和包含于所接收的分组的字节的数量进行计数的系统和方法时执行某些优化。在本公开的一个实施例中,选择分配给第一组比特和第二组比特的比特的数量,从而使得外部存储器的计数速率能力高于第一组比特或第二组比特的平均打包速率。在一个示例中,在2字节组合计数器中,用于对所接收的分组进行计数的第一组比特被设置成5比特,而用于对那些所接收的分组中的字节进行计数的第二组比特被设置成11比特。
在本公开的另一实施例中,为了提高内部和外部计数器的统计性能,尤其是在使用多个内部和外部计数器的情况下,每个内部计数器以随机或其他的数值[R,S]初始化,并且相关联的外部计数器以相对应的负值[-R,-S]初始化。此类优化避免了多个内部计数器在短时间段中溢出,诸如在系统启动时。作为示例,在内部第一组合计数器中的第一组比特被设置成数值R(例如,随机的数字、基于内部存储器中第一组合计数器的地址的值),并且外部存储器中的分组的总数被设置成初始值-R。附加地,内部第一组合计数器中的第二组比特被设置成值S,并且外部存储器中的字节的总数被设置成初始值-S。
本申请使用示例来说明本发明。本发明可获得专利保护的范围包括其他示例。

Claims (20)

1.一种用于对所接收的分组的数量和包含于所述所接收的分组中的字节的数量进行计数的系统,包括:
第一存储器,被布置于集成电路中,所述第一存储器被配置成第一组合计数器,所述第一组合计数器具有用于存储所接收的分组的部分和的第一组比特,以及用于存储包含于所述所接收的分组中的字节的部分和的第二组比特;
第二存储器,在所述集成电路外部,所述第二存储器被配置成存储所接收的分组的总数和包含于所述所接收的分组中的字节的总数;以及
更新电路系统,被配置成每当所述第一存储器中的所述第一组比特或所述第二组比特溢出时,使用来自所述第一存储器的所述第一组比特更新存储在所述第二存储器中的所述分组的总数以及使用来自所述第一存储器的所述第二组比特更新存储在所述第二存储器中的所述字节的总数。
2.根据权利要求1所述的系统,其中所述系统还被配置成当所述第一组比特或所述第二组比特溢出时,复位所述第一组比特和所述第二组比特。
3.根据权利要求1所述的系统,其中所述第二存储器包括外部组合计数器,所述外部组合计数器具有被配置成存储所述分组的总数的第一组比特以及被配置成存储所述字节的总数的第二组比特。
4.根据权利要求3所述的系统,其中所述外部组合计数器的所述第一组比特包含多于所述第一组合计数器的所述第一组比特的比特;以及
其中所述外部组合计数器的所述第二组比特包含多于所述第一组合计数器的所述第二组比特的比特。
5.根据权利要求1所述的方法,其中可用于对所述所接收的分组的部分和进行计数的所述第一组比特包含少于可用于对所述字节的部分和进行计数的所述第二组比特的比特。
6.根据权利要求1所述的系统,其中基于预期平均分组大小或预期最小分组大小设置所述第一组比特中的比特的数量和所述第二组比特中的比特的数量。
7.根据权利要求1所述的系统,其中被布置于所述集成电路中的所述第一存储器包含多个组合计数器,所述多个组合计数器被配置成在网络装置处对所接收的分组的数量进行计数以及对字节的数量进行计数。
8.根据权利要求1所述的系统,其中所述第二存储器以不够快到跟踪所接收的分组的部分和和字节的部分和的速率来执行读取-写入-修改操作。
9.根据权利要求1所述的系统,其中所述第一存储器是静态随机存取存储器,并且其中所述第二存储器是动态随机存取存储器。
10.根据权利要求9所述的系统,其中所述静态随机存取存储器和所述动态随机存取存储器是交换机的组件。
11.根据权利要求1所述的系统,还包括在所述第二存储器处的缓冲区,其中所述系统被配置成通过以下操作更新所述所接收的分组的总数和所述字节的总数:
当所述第一组比特或所述第二组比特溢出时,添加条目至所述缓冲区,其中所述条目包括基于所述第一存储器的所述第一组比特和所述第二组比特的、将被增加至在所述第二存储器处的所述所接收的分组的总数和所述字节的总数的所接收的分组的部分和以及所接收的字节的部分和,并且其中基于所述缓存区条目更新所述所接收的分组的总数和所述字节的总数。
12.根据权利要求1所述的系统,其中所述第一存储器被布置于第一电路衬底上,并且其中所述第二存储器被布置于与所述第一衬底分离的第二电路衬底上。
13.根据权利要求1所述的系统,其中更新所述第二存储器中的所述字节的总数包括基于当前分组中的字节的数量和先前由所述第一存储器中的所述第二组比特存储的所述字节的数量,将数量增加到所述第二存储器中的所述字节的总数上。
14.一种网络设备,包括:
静态随机存取存储器,被布置于集成电路中,所述静态随机存取存储器被配置成第一组合计数器,所述第一组合计数器具有用于存储所接收的分组的部分和的第一组比特以及用于存储包含于所述所接收的分组中的字节的部分和的第二组比特;
动态随机存取存储器,在所述集成电路外部,所述动态随机存取存储器被配置成存储所接收的分组的总数和包含于所述所接收的分组中的字节的总数;以及
更新电路系统,被配置成每当所述第一组比特或所述第二组比特在所述静态随机存取存储器中溢出时,使用来自所述静态随机存取存储器的所述第一组比特更新存储在所述动态随机存取存储器中的所述分组的总数以及使用来自所述静态随机存取存储器的所述第二组比特更新存储在所述动态随机存取存储器中的所述字节的总数。
15.一种用于跟踪所接收的分组的数量和包含于所述所接收的分组中的字节的数量的方法,包括:
基于所接收的分组和所述所接收的分组中的字节的数量更新存储在被布置于集成电路中的第一存储器中的第一组合计数器,其中所述第一组合计数器的第一组比特被配置成对所接收的分组的部分和进行计数,并且其中所述第一组合计数器的第二组比特被配置成对包含于所述所接收的分组中的字节的部分和进行计数;
确定是否所述第一组比特或所述第二组比特已经溢出;以及
当所述第一组合计数器的所述第一组比特或所述第二组比特已经溢出时,更新存储在所述集成电路外部的第二存储器中的所接收的分组的总数和所述所接收的分组中的字节的总数。
16.根据权利要求15所述的方法,还包括:
当所述第一组合计数器的所述第一组比特或所述第二组比特已经溢出时,复位所述第一组比特和所述第二组比特。
17.根据权利要求15所述的方法,其中更新所述字节的总数包括:
基于所述第二组比特和当前分组中的字节的数量确定字节值;
通过字节计数增加存储在所述第二存储器中的字节的总数。
18.根据权利要求15所述的方法,其中用于对所述所接收的分组的数量进行计数的所述第一组比特包含少于用于对所述字节的数量进行计数的所述第二比特数的比特。
19.根据权利要求15所述的方法,其中所述所接收的分组的总数和所述字节的总数被存储在第二组合计数器中。
20.根据权利要求15所述的方法,其中所述第一组合计数器的所述第一组比特包含5比特,并且其中所述第一组合计数器的所述第二组比特包含11比特。
CN201310205302.8A 2012-05-22 2013-05-22 用于内部/外部存储器分组和字节计数的方法和装置 Expired - Fee Related CN103560980B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201261650157P 2012-05-22 2012-05-22
US61/650,157 2012-05-22
US201261710868P 2012-10-08 2012-10-08
US61/710,868 2012-10-08

Publications (2)

Publication Number Publication Date
CN103560980A true CN103560980A (zh) 2014-02-05
CN103560980B CN103560980B (zh) 2018-04-24

Family

ID=49621568

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310205302.8A Expired - Fee Related CN103560980B (zh) 2012-05-22 2013-05-22 用于内部/外部存储器分组和字节计数的方法和装置

Country Status (2)

Country Link
US (1) US8995263B2 (zh)
CN (1) CN103560980B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105278912A (zh) * 2014-06-11 2016-01-27 凯为公司 具有溢出fifo的计数器及其方法
CN106068629A (zh) * 2014-03-04 2016-11-02 马维尔以色列(M.I.S.L.)有限公司 分组交换系统中的分布式计数器和计量器
US10680957B2 (en) 2014-05-28 2020-06-09 Cavium International Method and apparatus for analytics in a network switch
CN112041845A (zh) * 2018-04-30 2020-12-04 鲁汶天主教大学 可配置硬件设备
CN116319464A (zh) * 2023-03-16 2023-06-23 南京金阵微电子技术有限公司 网络报文流量统计方法、系统、存储介质及电子设备

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140233582A1 (en) * 2012-08-29 2014-08-21 Marvell World Trade Ltd. Semaphore soft and hard hybrid architecture
WO2014188277A2 (en) 2013-05-03 2014-11-27 Marvell World Trade Ltd. Time efficient counters and meters architecture
CN109391559B (zh) * 2017-08-10 2022-10-18 华为技术有限公司 网络设备
US11637784B2 (en) * 2021-03-31 2023-04-25 Nxp Usa, Inc. Method and system for effective use of internal and external memory for packet buffering within a network device
US11669281B1 (en) * 2021-11-19 2023-06-06 Meta Platforms, Inc. Count circuit for symbol statistics

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1720509A (zh) * 2002-11-29 2006-01-11 摩托罗拉公司 用于提供更精确的用户装置计费的方法和装置
US20060209827A1 (en) * 2005-03-02 2006-09-21 Calvignac Jean L Systems and methods for implementing counters in a network processor with cost effective memory
CN101185288A (zh) * 2005-05-26 2008-05-21 讯宝科技公司 用于802.11无线局域网的rf利用率计算和报告方法
US20100202295A1 (en) * 2005-02-18 2010-08-12 Broadcom Corporation Programmable metering behavior based on a table lookup

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3782283B2 (ja) * 2000-04-19 2006-06-07 富士通株式会社 インタフェース装置
US7373561B2 (en) * 2002-10-29 2008-05-13 Broadcom Corporation Integrated packet bit error rate tester for 10G SERDES
US8296452B2 (en) * 2003-03-06 2012-10-23 Cisco Technology, Inc. Apparatus and method for detecting tiny fragment attacks
US7401169B2 (en) * 2004-07-08 2008-07-15 Cisco Technology, Inc. Counter updating system using an update mechanism and different counter utilization mechanism
US7860006B1 (en) * 2005-04-27 2010-12-28 Extreme Networks, Inc. Integrated methods of performing network switch functions
JP4778453B2 (ja) * 2007-01-24 2011-09-21 株式会社エヌ・ティ・ティ・ドコモ 通信端末、輻輳制御方法および輻輳制御プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1720509A (zh) * 2002-11-29 2006-01-11 摩托罗拉公司 用于提供更精确的用户装置计费的方法和装置
US20100202295A1 (en) * 2005-02-18 2010-08-12 Broadcom Corporation Programmable metering behavior based on a table lookup
US20060209827A1 (en) * 2005-03-02 2006-09-21 Calvignac Jean L Systems and methods for implementing counters in a network processor with cost effective memory
CN101185288A (zh) * 2005-05-26 2008-05-21 讯宝科技公司 用于802.11无线局域网的rf利用率计算和报告方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106068629A (zh) * 2014-03-04 2016-11-02 马维尔以色列(M.I.S.L.)有限公司 分组交换系统中的分布式计数器和计量器
CN106068629B (zh) * 2014-03-04 2019-07-19 马维尔以色列(M.I.S.L.)有限公司 分组交换系统中的分布式计数器和计量器
US10680957B2 (en) 2014-05-28 2020-06-09 Cavium International Method and apparatus for analytics in a network switch
US11627087B2 (en) 2014-05-28 2023-04-11 Marvell Asia Pte, LTD Method and apparatus for flexible and efficient analytics in a network switch
CN105278912A (zh) * 2014-06-11 2016-01-27 凯为公司 具有溢出fifo的计数器及其方法
CN105278912B (zh) * 2014-06-11 2021-03-12 马维尔亚洲私人有限公司 具有溢出fifo的计数器及其方法
CN112041845A (zh) * 2018-04-30 2020-12-04 鲁汶天主教大学 可配置硬件设备
CN112041845B (zh) * 2018-04-30 2024-05-17 鲁汶天主教大学 可配置硬件设备
CN116319464A (zh) * 2023-03-16 2023-06-23 南京金阵微电子技术有限公司 网络报文流量统计方法、系统、存储介质及电子设备
CN116319464B (zh) * 2023-03-16 2024-02-06 南京金阵微电子技术有限公司 网络报文流量统计方法、系统、存储介质及电子设备

Also Published As

Publication number Publication date
US8995263B2 (en) 2015-03-31
CN103560980B (zh) 2018-04-24
US20130315259A1 (en) 2013-11-28

Similar Documents

Publication Publication Date Title
CN103560980A (zh) 用于内部/外部存储器分组和字节计数的方法和装置
US8001309B2 (en) Method and system for grouping interrupts from a time-dependent data storage system
KR101086592B1 (ko) 패킷 저장 방법, 버퍼 관리 방법, 손실 버퍼 검출 방법 및공유형 메모리
CN103259694B (zh) 用于网络设备的空间高效计数器
US9306876B1 (en) Multibank egress queuing system in a network device
US20180288503A1 (en) Profiles for collecting telemetry data
CN105630712B (zh) 计数器及计数方法
CN104579863A (zh) 用于飞机的数据通信网络
US7984210B2 (en) Method for transmitting a datum from a time-dependent data storage means
CN109242161B (zh) 基于大数据的配送路线的生成方法及终端设备
US6504843B1 (en) System and method for dynamically mapping a high speed link to a multiplicity of low speed trunked links
CN109446130B (zh) 一种i/o设备状态信息的获取方法及系统
US20140201458A1 (en) Reducing cache memory requirements for recording statistics from testing with a multiplicity of flows
US20130275989A1 (en) Controller for managing a reset of a subset of threads in a multi-thread system
CN105141468B (zh) 高效实现网络芯片流量统计的方法及装置
US11797439B2 (en) Balancing memory-portion accesses
CN108701093A (zh) 使用动态随机存取存储器(dram)高速缓存指示符高速缓存存储器以提供可扩展dram高速缓存管理
CN105389267A (zh) stats分配的芯片实现方法
US20140050221A1 (en) Interconnect arrangement
US9894670B1 (en) Implementing adaptive resource allocation for network devices
US20110055496A1 (en) Signal processor, transmission apparatus, and method for processing signal
US9380006B2 (en) Packet processing method, and packet transmission apparatus
US20140269286A1 (en) Delay Timer Device, Method for Managing a Plurality of Delays, and Apparatus for Delaying a Plurality of Data Packets
US9431105B2 (en) Method and apparatus for memory access management
CN110191014A (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200424

Address after: Singapore City

Patentee after: Marvell Asia Pte. Ltd.

Address before: Ford street, Grand Cayman, Cayman Islands

Patentee before: Kaiwei international Co.

Effective date of registration: 20200424

Address after: Ford street, Grand Cayman, Cayman Islands

Patentee after: Kaiwei international Co.

Address before: Hamilton, Bermuda

Patentee before: Marvell International Ltd.

Effective date of registration: 20200424

Address after: Hamilton, Bermuda

Patentee after: Marvell International Ltd.

Address before: Babado J San Mega Le

Patentee before: MARVELL WORLD TRADE Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180424

Termination date: 20200522