CN115412511A - 一种用于以太网交换芯片的高性能计数器电路及计数方法 - Google Patents

一种用于以太网交换芯片的高性能计数器电路及计数方法 Download PDF

Info

Publication number
CN115412511A
CN115412511A CN202210907590.0A CN202210907590A CN115412511A CN 115412511 A CN115412511 A CN 115412511A CN 202210907590 A CN202210907590 A CN 202210907590A CN 115412511 A CN115412511 A CN 115412511A
Authority
CN
China
Prior art keywords
counter
frames
frame
port
data frame
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
CN202210907590.0A
Other languages
English (en)
Other versions
CN115412511B (zh
Inventor
陶淑婷
陈雷
毛雅欣
张永波
张奇荣
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.)
Beijing Microelectronic Technology Institute
Mxtronics Corp
Original Assignee
Beijing Microelectronic Technology Institute
Mxtronics Corp
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 Beijing Microelectronic Technology Institute, Mxtronics Corp filed Critical Beijing Microelectronic Technology Institute
Priority to CN202210907590.0A priority Critical patent/CN115412511B/zh
Publication of CN115412511A publication Critical patent/CN115412511A/zh
Application granted granted Critical
Publication of CN115412511B publication Critical patent/CN115412511B/zh
Active 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/10Packet switching elements characterised by the switching fabric construction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明提供了一种用于以太网交换芯片的高性能计数器电路,包括计数器、累加器、计数器存储模块和多路选择器;其中计数器存储模块采用双端口SRAM。本发明采用基于SRAM的计数方式,以尽量少的硬件资源实现了高效能的统计计数器功能。为最大限度的利用存储器,本发明采用双端口SRAM,可在一个时钟周期内完成两次数据写入或两次数据读取操作,通过使用1个地址存储2个计数器的方式,仅使用4bit地址就可完成32个计数器的统计及存储。采用该计数器架构不仅可以高效率地将每个端口的计数器存储到SRAM中,而且还能够支持快速的更新和匹配,能有效减少对SRAM资源的消耗,从而提高了所实现交换网络设备的性能。

Description

一种用于以太网交换芯片的高性能计数器电路及计数方法
技术领域
本发明属于有线通信技术领域,特别涉及一种用于以太网交换芯片的高性能计数器电路及计数方法。
背景技术
统计计数器是计算机网络交换设备中重要的组成部分。上层网络应用通常需要以很高的速度获取底层网络交换设备中的统计信息以便及时做出正确的决策。计数器统计值是交换芯片向CPU提供的重要状态信息,为满足上层应用的统计需求,交换芯片需要在各端口维护着大量的统计计数器。如交换芯片有10个交换端口,每个端口需要维持32个计数器,则10个端口共需320个计数器,每个计数器需要单个寄存器存储数据,进而需要320个寄存器,这样会导致计数器规模很大,占用的片上逻辑资源就越多,从而使以太网芯片的面积和功耗很大。
发明内容
为了克服现有技术中的不足,本发明人进行了锐意研究,提供了一种用于以太网交换芯片的高性能计数器电路及计数方法,采用基于双端口SRAM的方式实现对数据帧的统计,将大量的计数器实现在SRAM上,可以获得可观的逻辑资源空间,且有较高的更新速度。该实现技术不仅能够以很高的效率将每个端口的计数器存储到SRAM中,而且还能够支持快速的更新和匹配,能有效减少对SRAM资源的消耗,从而完成本发明。
本发明提供的技术方案如下:
第一方面,一种用于以太网交换芯片的高性能计数器电路,包括:
计数器,位于交换芯片的端口,用于对接收到的数据帧进行帧信息统计;
累加器,用于接收计数器发送的数据帧统计值,并读取已存入计数器存储模块的数据帧统计值,实施新数据帧统计值与已有数据帧统计值的累加,并将累加结果再次写入计数器存储模块中;
计数器存储模块,采用双端口SRAM,用于存储对应各端口所有计数器的经累加后的数据帧统计值;
多路选择器,用于根据上层应用自计数器存储模块中选择性地读出相应端口计数器下的经累加后的数据帧统计值。
第二方面,一种用于以太网交换芯片的高性能计数方法,包括:
交换芯片各端口在接收到数据帧后通过计数器进行帧信息统计,经累加器后存入双端口SRAM;
在收到下一个数据帧后,从双端口SRAM中读出数据帧统计值,与端口计数器接收到的数据帧统计值通过累加器进行累加,将累加结果再次写入双端口SRAM中;
根据上层应用通过多路选择器读出双端口SRAM中相应端口计数器下的经累加后的数据帧统计值。
根据本发明提供的一种用于以太网交换芯片的高性能计数器电路及计数方法,具有以下有益效果:
(1)本发明提供的一种用于以太网交换芯片的高性能计数器电路及计数方法,基于SRAM的计数器结构替代传统寄存器模式,减少了逻辑资源占用,从而减小了交换芯片的面积和功耗;
(2)本发明提供的一种用于以太网交换芯片的高性能计数器电路及计数方法,采用了双端口的SRAM,SRAM有两个数据端口D0和D1,可在一个时钟周期内完成两次数据写入或两次数据读取操作,在一个地址上存储了2个计数器,从而增加了计数器数据的存储和更新速度;
(3)本发明提供的一种用于以太网交换芯片的高性能计数器电路及计数方法,双端口的SRAM的高地址位用于指示端口号,低地址位用于指示计数器偏移地址,可实现各交换端口32个计数器数据帧统计值的统计和存储,可完全满足上层应用对交换芯片各端口信息访问的需求;
(4)本发明提供的一种用于以太网交换芯片的高性能计数器电路,通过计数器存储模块的增加实现扩展,扩展后可适用于端口数较多的大容量交换芯片,每个计数器存储模块负责部分交换芯片端口接收和发送数据帧的统计,扩展方式存在较大可行性。
附图说明
图1为用于以太网交换芯片的高性能计数器电路框图;
图2为11端口以太网交换芯片的高性能计数器电路框图;
图3为双端口的SRAM的写时序。
具体实施方式
下面通过对本发明进行详细说明,本发明的特点和优点将随着这些说明而变得更为清楚、明确。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
根据本发明的第一方面,提供了一种用于以太网交换芯片的高性能计数器电路,包括:
计数器,位于交换芯片的端口,用于对接收到的数据帧进行帧长、帧数等帧信息统计;
累加器,用于接收计数器发送的数据帧统计值,并读取已存入计数器存储模块的数据帧统计值,实施新数据帧统计值与已有数据帧统计值的累加,并将累加结果再次写入计数器存储模块中;
计数器存储模块,采用双端口SRAM,用于存储对应各端口所有计数器的经累加后的数据帧统计值;
多路选择器,用于根据上层应用自计数器存储模块中选择性地读出相应端口计数器下的经累加后的数据帧统计值。
在一种优选的实施方式中,各端口计数器用于对接收和发送的数据帧的帧长、帧数及帧冲突进行统计;其中,帧长统计包括好帧帧长、坏帧帧长;帧数统计包括单播帧个数、广播帧个数、多播帧个数、流控帧个数、过短帧个数、过长帧个数、错误帧个数、不同长度帧个数等;帧冲突统计包括冲突事件个数、无冲突发送帧个数、一次冲突发送成功的帧个数、多于一次发送成功的帧个数、由于冲突丢弃的帧个数等。
在一种优选的实施方式中,由于数据帧统计值包括数据帧的帧长、帧数及帧冲突,累加器实施帧长累加、帧数累加和帧冲突累加。
在一种优选的实施方式中,所述计数器存储模块的高地址位用于指示端口号,低地址位用于指示计数器偏移地址,一个计数器存储模块的低地址位可对应两个计数器的数据帧统计值。
在一种优选的实施方式中,所述计数器存储模块的数目为至少一个,在计数器存储模块为多个时,使得电路结构得到扩展,扩展后可适用于端口数较多的大容量交换芯片,每个计数器存储模块负责部分交换芯片端口接收和发送数据帧的统计。
根据本发明的第二方面,提供了一种用于以太网交换芯片的高性能计数方法,包括:
交换芯片各端口在接收到数据帧后通过计数器进行帧长、帧数等帧信息统计,经累加器后存入双端口SRAM;
在收到下一个数据帧后,从双端口SRAM中读出帧长、帧数等数据帧统计值,与端口计数器接收到的数据帧统计值通过累加器进行累加,将累加结果再次写入双端口SRAM中;
根据上层应用通过多路选择器读出双端口SRAM中相应端口计数器下的经累加后的数据帧统计值。
第二方面中计数器、累加器、计数器存储模块和多路选择器的性能及实施方式与第一方面中一致,在此不再赘述。
实施例1
如图1所示为该电路整体框图,下面以11端口(P0-P10)交换芯片为例,说明各模块之间的连接关系和数据处理过程。
如图1所示,交换芯片各端口收到数据帧后,通过各端口的计数器对帧信息进行统计,包括帧长、帧数等;计数器的输出值发送给累加器,累加器将计数器输出值与双端口SRAM读出的统计值进行累加,包括帧长累加、帧数累加和帧冲突累加等;累加器输出的结果再次存入双端口SRAM中;多路选择器可根据上层应用的需要自双端口SRAM中选择要读出的计数器的计数结果值。
如图1所示,双端口SRAM可对每个端口32个计数器进行统计,计数器偏移地址范围为0x00-0x1F。该32个计数器对应的地址的含义如表1-表3所示:
表1:入口统计计数器
Figure BDA0003772969790000051
表2:出口统计计数器
Figure BDA0003772969790000052
Figure BDA0003772969790000061
表3:入口/出口统计计数器
Figure BDA0003772969790000062
根据表1-表3的32个计数器可完全覆盖交换芯片端口接收和发送数据帧的帧信息,可满足二层以太网交换芯片的统计计数器要求。
如图1所示,双端口SRAM的地址有n bit,高(n-4)bit指示芯片端口,后4bit指示计数器偏移地址。双端口SRAM有D0、D1两个通道数据,对应计数器偏移地址为0x00-0x1F计数器的数据帧统计值,总共可以统计2*16=32个计数器的值。
例如,双端口SRAM的地址有7bit,高4bit(ADDR<6:4>)指示芯片端口,后4bit(ADDR<3:0>)指示计数器偏移地址。双端口SRAM有D0<31:0>、D1<31:0>两路32bit数据,计数器共有32个,一个SRAM地址对应2个计数器,SRAM地址与计数器偏移地址的关系如表4所示:
表4 SRAM地址与计数器偏移地址的对应关系
Figure BDA0003772969790000071
考虑到端口SRAM过大会占用逻辑资源过多,对于多端口的交换芯片,可采用多个双端口SRAM进行计数器统计。
如图2所示为11个端口的交换芯片计数器设计,可采用SRAM1、SRAM2两个计数器存储模块,SRAM1用于存储P0-P7端口的计数器,SRAM2用于存储P8-P10端口的计数器。SRAM1的地址位为7bit(ADDR<6:0>),其中高3bit(ADDR<6:4>)用于指示端口P0-P7,低4bit(ADDR<3:0>)用于指示计数器的偏移地址。SRAM2的地址位为6bit(ADDR<5:0>),其中高2bit(ADDR<5:4>)用于指示端口P8-P10,低4bit(ADDR<3:0>)用于指示计数器的偏移地址。
图3为双端口SRAM的写时序,图中显示了双端口SRAM中P1、P2端口各发出10个长度为68字节的单播帧时的统计情况,表5根据表1、表2和表3给出了图3中变化的计数器值,对P1、P2端口发送的总帧长、单播帧数、帧长为65-127字节的帧数进行了统计。
表5 P1、P2端口计数器统计
Figure BDA0003772969790000072
本发明采用基于SRAM的计数器电路结构,以尽量少的硬件资源实现了交换芯片的统计计数器功能,且该电路结构易于扩展,扩展后可用于多端口大容量交换芯片的计数统计。
本发明在各端口数据帧统计值存储时采用双端口SRAM,SRAM的高地址位用于指示端口号,低地址位用于指示计数器偏移地址,一个计数器偏移地址可对应两个计数器的数据帧统计值,使存储器得到了充分利用,从而有效提高了所实现网络设备的性能。
以上结合具体实施方式和范例性实例对本发明进行了详细说明,不过这些说明并不能理解为对本发明的限制。本领域技术人员理解,在不偏离本发明精神和范围的情况下,可以对本发明技术方案及其实施方式进行多种等价替换、修饰或改进,这些均落入本发明的范围内。本发明的保护范围以所附权利要求为准。
本发明说明书中未作详细描述的内容属本领域技术人员的公知技术。

Claims (10)

1.一种用于以太网交换芯片的高性能计数器电路,其特征在于,包括:
计数器,位于交换芯片的端口,用于对接收到的数据帧进行帧信息统计;
累加器,用于接收计数器发送的数据帧统计值,并读取已存入计数器存储模块的数据帧统计值,实施新数据帧统计值与已有数据帧统计值的累加,并将累加结果再次写入计数器存储模块中;
计数器存储模块,采用双端口SRAM,用于存储对应各端口所有计数器的经累加后的数据帧统计值;
多路选择器,用于根据上层应用自计数器存储模块中选择性地读出相应端口计数器下的经累加后的数据帧统计值。
2.根据权利要求1所述的用于以太网交换芯片的高性能计数器电路,其特征在于,所述计数器用于对接收和发送的数据帧的帧长、帧数及帧冲突进行统计;其中,帧长统计包括好帧帧长、坏帧帧长;帧数统计包括单播帧个数、广播帧个数、多播帧个数、流控帧个数、过短帧个数、过长帧个数、错误帧个数、不同长度帧个数;帧冲突统计包括冲突事件个数、无冲突发送帧个数、一次冲突发送成功的帧个数、多于一次发送成功的帧个数、由于冲突丢弃的帧个数。
3.根据权利要求2所述的用于以太网交换芯片的高性能计数器电路,其特征在于,所述累加器用于实施帧长累加、帧数累加和帧冲突累加。
4.根据权利要求1所述的用于以太网交换芯片的高性能计数器电路,其特征在于,所述计数器存储模块的高地址位用于指示端口号,低地址位用于指示计数器偏移地址,一个计数器存储模块的低地址位对应两个计数器的数据帧统计值。
5.根据权利要求1所述的用于以太网交换芯片的高性能计数器电路,其特征在于,所述计数器存储模块的数目为至少一个,在计数器存储模块为多个时,每个计数器存储模块负责部分交换芯片端口接收和发送数据帧的统计。
6.一种用于以太网交换芯片的高性能计数方法,其特征在于,包括:
交换芯片各端口在接收到数据帧后通过计数器进行帧信息统计,经累加器后存入双端口SRAM;
在收到下一个数据帧后,从双端口SRAM中读出数据帧统计值,与端口计数器接收到的数据帧统计值通过累加器进行累加,将累加结果再次写入双端口SRAM中;
根据上层应用通过多路选择器读出双端口SRAM中相应端口计数器下的经累加后的数据帧统计值。
7.根据权利要求6所述的用于以太网交换芯片的高性能计数方法,其特征在于,所述交换芯片各端口在接收到数据帧后通过计数器进行帧信息统计的步骤中,包括对接收和发送的数据帧的帧长、帧数及帧冲突进行统计;其中,帧长统计包括好帧帧长、坏帧帧长;帧数统计包括单播帧个数、广播帧个数、多播帧个数、流控帧个数、过短帧个数、过长帧个数、错误帧个数、不同长度帧个数;帧冲突统计包括冲突事件个数、无冲突发送帧个数、一次冲突发送成功的帧个数、多于一次发送成功的帧个数、由于冲突丢弃的帧个数。
8.根据权利要求6所述的用于以太网交换芯片的高性能计数方法,其特征在于,所述从双端口SRAM中读出数据帧统计值,与端口计数器接收到的数据帧统计值通过累加器进行累加的步骤中,包括实施帧长累加、帧数累加和帧冲突累加。
9.根据权利要求6所述的用于以太网交换芯片的高性能计数方法,其特征在于,所述将累加结果再次写入双端口SRAM的步骤中,计数器存储模块的高地址位用于指示端口号,低地址位用于指示计数器偏移地址,一个计数器存储模块的低地址位对应两个计数器的数据帧统计值。
10.根据权利要求6所述的用于以太网交换芯片的高性能计数方法,其特征在于,所述将累加结果再次写入双端口SRAM的步骤中,若双端口SRAM的数目为多个时,每个双端口SRAM负责部分交换芯片端口接收和发送数据帧的统计。
CN202210907590.0A 2022-07-29 2022-07-29 一种用于以太网交换芯片的高性能计数器电路及计数方法 Active CN115412511B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210907590.0A CN115412511B (zh) 2022-07-29 2022-07-29 一种用于以太网交换芯片的高性能计数器电路及计数方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210907590.0A CN115412511B (zh) 2022-07-29 2022-07-29 一种用于以太网交换芯片的高性能计数器电路及计数方法

Publications (2)

Publication Number Publication Date
CN115412511A true CN115412511A (zh) 2022-11-29
CN115412511B CN115412511B (zh) 2024-05-28

Family

ID=84158545

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210907590.0A Active CN115412511B (zh) 2022-07-29 2022-07-29 一种用于以太网交换芯片的高性能计数器电路及计数方法

Country Status (1)

Country Link
CN (1) CN115412511B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030046703A (ko) * 2001-12-06 2003-06-18 삼성전자주식회사 분리로직을 이용한 메모리 공유장치
CN101515898A (zh) * 2009-03-25 2009-08-26 华为技术有限公司 芯片的统计数据的管理方法和装置
CN102497287A (zh) * 2011-12-12 2012-06-13 盛科网络(苏州)有限公司 一种以太网交换芯片中实现节能统计的方法及系统
CN110751276A (zh) * 2018-07-24 2020-02-04 闪迪技术有限公司 在nand存储器阵列中实现具有三值输入和二值权重的神经网络
CN110765043A (zh) * 2019-10-31 2020-02-07 山东华芯半导体有限公司 一种ssd主控中的raid核心计算装置及方法
CN112637072A (zh) * 2020-12-23 2021-04-09 北京时代民芯科技有限公司 一种用于交换芯片地址存储及查找的快速并行电路及方法
CN112711393A (zh) * 2020-12-31 2021-04-27 中国科学院合肥物质科学研究院 一种基于fpga的实时多通道累加方法
CN215450218U (zh) * 2021-07-08 2022-01-07 深圳市灵明光子科技有限公司 直方图统计装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030046703A (ko) * 2001-12-06 2003-06-18 삼성전자주식회사 분리로직을 이용한 메모리 공유장치
CN101515898A (zh) * 2009-03-25 2009-08-26 华为技术有限公司 芯片的统计数据的管理方法和装置
CN102497287A (zh) * 2011-12-12 2012-06-13 盛科网络(苏州)有限公司 一种以太网交换芯片中实现节能统计的方法及系统
CN110751276A (zh) * 2018-07-24 2020-02-04 闪迪技术有限公司 在nand存储器阵列中实现具有三值输入和二值权重的神经网络
CN110765043A (zh) * 2019-10-31 2020-02-07 山东华芯半导体有限公司 一种ssd主控中的raid核心计算装置及方法
CN112637072A (zh) * 2020-12-23 2021-04-09 北京时代民芯科技有限公司 一种用于交换芯片地址存储及查找的快速并行电路及方法
CN112711393A (zh) * 2020-12-31 2021-04-27 中国科学院合肥物质科学研究院 一种基于fpga的实时多通道累加方法
CN215450218U (zh) * 2021-07-08 2022-01-07 深圳市灵明光子科技有限公司 直方图统计装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
周云波;李晓容;: "大容量同步双端口SRAM的仿真方法", 电子与封装, no. 12 *

Also Published As

Publication number Publication date
CN115412511B (zh) 2024-05-28

Similar Documents

Publication Publication Date Title
US7391721B1 (en) Maintaining counters and updating a secondary counter storage
US7315550B2 (en) Method and apparatus for shared buffer packet switching
US8291167B2 (en) System and method for writing cache data and system and method for reading cache data
US7304942B1 (en) Methods and apparatus for maintaining statistic counters and updating a secondary counter storage via a queue for reducing or eliminating overflow of the counters
US7401169B2 (en) Counter updating system using an update mechanism and different counter utilization mechanism
KR101611516B1 (ko) 직렬 포트 메모리 통신 레이턴시 및 신뢰성을 향상시키기 위한 방법 및 시스템
US20240143169A1 (en) Method for Improving Message Storage Efficiency of Network Chip, Device, and Storage medium
US7263023B2 (en) Semiconductor memory device having memory architecture supporting hyper-threading operation in host system
US8285945B2 (en) Memories for electronic systems
EP3657744B1 (en) Message processing
US10291232B2 (en) Counter and counting method
US9274586B2 (en) Intelligent memory interface
CN110058816B (zh) 一种基于ddr的高速多用户队列管理器及方法
CN115412511B (zh) 一种用于以太网交换芯片的高性能计数器电路及计数方法
US6957309B1 (en) Method and apparatus for re-accessing a FIFO location
CN113126911A (zh) 基于ddr3 sdram的队列管理方法、介质、设备
US8572349B2 (en) Processor with programmable configuration of logical-to-physical address translation on a per-client basis
CN108108149B (zh) 一种基于分离统计高效收集的性能统计电路
CN115543869A (zh) 多路组相连高速缓冲存储器及其访问方法、计算机设备
CN104683265A (zh) 一种用于100g接口的大容量精确包计数方法
CN111782561B (zh) 一种sram的存储空间分配方法、装置及芯片
CN102571477B (zh) 一种流量统计装置、芯片以及设备
CN108647161B (zh) 一种记录访存地址历史的硬件监测电路
US7783796B2 (en) Method for releasing data of storage apparatus
CN111817724B (zh) 一种数据压缩电路

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant