CN105389267A - stats分配的芯片实现方法 - Google Patents

stats分配的芯片实现方法 Download PDF

Info

Publication number
CN105389267A
CN105389267A CN201510689875.1A CN201510689875A CN105389267A CN 105389267 A CN105389267 A CN 105389267A CN 201510689875 A CN201510689875 A CN 201510689875A CN 105389267 A CN105389267 A CN 105389267A
Authority
CN
China
Prior art keywords
statistics
ram
message
stats
public
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
CN201510689875.1A
Other languages
English (en)
Other versions
CN105389267B (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.)
Suzhou Centec Communications Co Ltd
Original Assignee
Centec Networks Suzhou 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 Centec Networks Suzhou Co Ltd filed Critical Centec Networks Suzhou Co Ltd
Priority to CN201510689875.1A priority Critical patent/CN105389267B/zh
Publication of CN105389267A publication Critical patent/CN105389267A/zh
Application granted granted Critical
Publication of CN105389267B publication Critical patent/CN105389267B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0207Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Display Devices Of Pinball Game Machines (AREA)
  • Memory System (AREA)
  • Communication Control (AREA)

Abstract

本发明揭示了一种stats分配的芯片实现方法,包括报文在芯片内的入端口、队列模块和出端口均使能做公共统计,在入方向处理模块和出方向处理模块均做独有统计,所述公共统计过程包括:为每类统计分配一个地址索引,所述地址索引指向已分配给每类统计的RAM中的存储位置,更新所述RAM;所述独有统计过程包括:根据报文的种类信息,选择需统计的种类,并为每类统计分配一个地址索引,所述地址索引包括选择的RAM标号及在相应RAM中的存储位置,更新所述RAM,其中,所述RAM个数为每个报文需要做统计的种类的最大值。本发明提高了stats存储的灵活性,降低因设定优先级而产生的冲突。

Description

stats分配的芯片实现方法
技术领域
本发明涉及一种报文统计技术,尤其是涉及一种灵活的stats分配的芯片实现方法。
背景技术
为了方便管理员对交换机进行故障排查和流量监控,需要交换机在工作过程中统计各种报文的数目和总报文长度,比如进出port端口的报文数目、三层转发的报文数目、符合某条ACE(访问控制条目,即ACL中的条目)规则的报文数目等。报文统计时,软件会为其分配RAM的地址索引作为起始存储空间,不同类型的统计信息分配不同存储空间,实现报文的统计。
现有技术主要采用的常见方案是:设计多块RAM,为每一类stats(统计)分配固定的RAM,每一类stats只能在指定的RAM中进行存储,存储在指定RAM的哪个位置由软件静态分配。当需要统计的stats种类多于RAM的个数时,采用多个种类的stats固定存储优先级、分配同一块RAM不同存储位置的方案。
若要保证每种stats分配一块RAM,成本比较高,占用芯片的面积较大。实际应用中考虑成本等的设计,需要统计的stats种类往往会多于RAM的个数。如果一次转发过程中,报文需要做多种stats统计,这几种stats又恰巧被固定分配同一块RAM时,stats产生冲突,RAM只能更新优先级最高的stats对应的报文数和报文长度,优先级低的stats不会被更新。而其他不需要做的stats的RAM此时就是空闲状态。因此采用固定分配RAM的方案极大的限制了stats存储的灵活性,导致stats统计的可靠性降低。
发明内容
本发明的目的在于克服现有技术的缺陷,提供一种stats分配的芯片实现方法,为每一个报文都能够做的公共stats分配独立的RAM,为不同报文所独有的stats种类分配共享、可自由选择的RAM,以实现动态灵活分配stats存储的RAM。
为实现上述目的,本发明提出如下技术方案:一种stats分配的芯片实现方法,包括:
报文依次进入芯片的入端口、入方向处理模块、队列模块、出方向处理模块和出端口,在所述入端口、队列模块和出端口均使能做公共统计,在所述入方向处理模块和出方向处理模块均做独有统计,其中,
所述公共统计过程包括:为每类统计分配一个地址索引,所述地址索引指向已分配给每类统计的RAM中的存储位置,更新所述RAM;
所述独有统计过程包括:根据报文的种类信息,选择需统计的种类,并为每类统计分配一个地址索引,所述地址索引包括选择的RAM标号及在相应RAM中的存储位置,更新所述RAM,其中,所述RAM个数为每个报文需要做统计的种类的最大值。
优选地,在做所述公共统计时,所述每种统计存储的RAM标号是静态分配的,所述每种统计在分配到的RAM中的存储位置是动态分配。
优选地,在做所述独有统计时,所述每种统计存储的RAM标号和在分配到的RAM中的存储位置均是由动态分配的。
优选地,公共统计和独有统计在地址索引完成后,更新所述RAM相应存储位置中统计的报文个数和报文长度信息。
优选地,报文进入交换芯片的物理入端口后,入端口检测到有报文进入,根据使能信息做入口方向的每个端口的输入流量的公共统计。
优选地,报文进入入口方向处理模块,做包括基于VlanId的、基于MAC的、基于ACL等的独有统计。
优选地,报文进入队列模块,根据使能信息做统计队列模块不同队列ID中的报文流量的公共统计。
优选地,报文进入出口方向处理模块,做包括基于报文编辑的、基于VlanId的独有统计。
优选地,报文到达特定的物理出端口,根据使能信息做出口方向的每个端口的输出流量的公共统计。
本发明为每一个报文都能够做的公共stats分配独立的RAM,为不同报文所独有的stats种类分配共享、可自由选择的RAM。软件自由分配给stats共享的存储空间指针时,不再是只分配RAM内部的地址指针,而是将RAMID和RAM内部地址同时分配给stats,这样stats能够自由选用RAM,多个stats同时要存储时,只需要分配不同的RAM,不会因固定分配RAM带来冲突。本发明技术方案提高了stats存储的灵活性,降低因设定优先级而产生的冲突。
附图说明
图1是本发明公共stats分配独立RAM的示意图;
图2是本发明独有stats分配共享RAM示意图;
图3和图4是本发明一种stats分配的芯片实现方法的流程示意图。
具体实施方式
下面将结合本发明的附图,对本发明实施例的技术方案进行清楚、完整的描述。
本发明揭示的一种stats分配的芯片实现方法,支持独立RAM和共享RAM并存的stats存储方式。独立RAM的存储主要存储基于每种报文流(flow)共有的stats,共享RAM的存储主要针对每个flow独有的统计。
如图1所示,假设本发明技术方案支持L个独立RAM,独立RAM1~独立RAML,支持K种stats的统计,其中L=K。L/K的取值为每种flow共有的stats种类数。每种共有stats对应一块RAM,在做公共统计时,每种统计存储的RAM标号是静态分配的,且每种统计在分配到的RAM中的存储位置是动态分配。
设本发明技术方案支持N个共享的RAM,共享RAM1~共享RAMN,支持M种stats的统计,其中M>N,M的取值为各种flow需要做stats的种类之和,N的取值为各种flow需要做stats的种类的最大值。每种stats存储的RAM标号(RAMID)由软件动态分配,且在分配到的RAM中的存储位置也是由动态分配的,保证每一类报文需要做的stats都能够实现,又不会产生冲突。
具体地,如图1所示,为本发明技术方案中公共stats分配独立RAM的示意图,其处理过程如下:
使能做公共stats,报文进入芯片,为该类stats分配一个地址索引,该地址索引指向已经静态分配给该类stats的RAM中的相应存储位置,更新该存储位置中统计的报文个数和报文长度信息。
如图2所示,为本方案中独有stats分配共享RAM示意图,其处理过程如下:
报文进入芯片,根据报文的种类信息,从独有stats中选择需要统计的种类,图2中StatsMux(stats选择器)部分实现为该类stats分配一个地址索引,该索引包括选择的RAMID以及在该RAM中的存储位置。
一个报文进来可能会做多个种类的stats,分配索引时要保证为每一种stats分配不同的RAM。方案中共享RAM个数的设计各种flow需要做stats的种类的最大值,显然能够满足为每一种stats分配不同的RAM的要求。地址索引完成之后,更新指定RAM中指定位置的报文个数和报文长度统计信息。
结合图3和图4所示,为本发明所揭示的一种stats分配的芯片实现方法的流程示意图,在这个过程中实现各种公共stats和共享stats的统计。其过程如下:
使能公共stats1、公共stats1和公共stats3。
报文进入交换机的物理端口,端口检测到有报文进入,做公共stats1,这里指做入口方向基于port口的stats,目的是为了统计每个端口的输入的流量。该stats所存储的RAM为静态分配的独立RAM。
报文进入入口方向处理模块,解析、查找、实施策略等,以二层报文为例,做的独有stats1可以是基于虚拟局域网标号(VlanId)的,基于网卡物理地址(MAC)的,基于访问控制列表(ACL)的等。以上几种不同的独有stats分别存储在不同的RAM中,所存储的RAMID根据分配算法态分配。
入口方向处理完成之后,报文进入队列模块,做公共stats2,这里指基于队列ID的stats,目的是统计队列模块不同队列ID中的报文流量.该stats所存储的RAM为静态分配的独立RAM。
报文进入出口方向处理模块,根据需要可能会进行报文的编辑行文,比如虚拟局域网(Vlan)的调整等,这里做独有的stats2可以是基于报文编辑的、基于VlanId的等。以上几种不同的独有stats分别存储在不同的RAM中,所存储的RAMID根据分配算法态分配。
出口方向处理完成后,报文会从特定的port口输出,做公共stats3,这里指做出口方向基于port的stats,目的是为了统计每个端口输出的流量。该stats所存储的RAM为静态分配的独立RAM。
本发明共享RAM设计思想的引进能够减少静态分配RAM个数或者大小,降低芯片成本;同时能降低冲突发生的可能性,提高stats芯片级统计的准确性。
本发明的技术内容及技术特征已揭示如上,然而熟悉本领域的技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰,因此,本发明保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。

Claims (10)

1.一种stats分配的芯片实现方法,其特征在于,包括:
报文依次进入芯片的入端口、入方向处理模块、队列模块、出方向处理模块和出端口,在所述入端口、队列模块和出端口均使能做公共统计,在所述入方向处理模块和出方向处理模块均做独有统计,其中,
所述公共统计过程包括:为每类统计分配一个地址索引,所述地址索引指向已分配给每类统计的RAM中的存储位置,更新所述RAM;
所述独有统计过程包括:根据报文的种类信息,选择需统计的种类,并为每类统计分配一个地址索引,所述地址索引包括选择的RAM标号及在相应RAM中的存储位置,更新所述RAM,其中,所述RAM个数为每个报文需要做统计的种类的最大值。
2.根据权利要求1所述的芯片实现方法,其特征在于,在做所述公共统计时,所述每种统计存储的RAM标号是静态分配的。
3.根据权利要求1所述的芯片实现方法,其特征在于,在做所述公共统计时,所述每种统计在分配到的RAM中的存储位置是动态分配。
4.根据权利要求1所述的芯片实现方法,其特征在于,在做所述独有统计时,所述每种统计存储的RAM标号和在分配到的RAM中的存储位置均是由动态分配的。
5.根据权利要求1所述的芯片实现方法,其特征在于,公共统计和独有统计在地址索引完成后,更新所述RAM相应存储位置中统计的报文个数和报文长度信息。
6.根据权利要求1所述的芯片实现方法,其特征在于,报文进入交换芯片的物理入端口后,入端口检测到有报文进入,根据使能信息做入口方向的每个端口的输入流量的公共统计。
7.根据权利要求1所述的芯片实现方法,其特征在于,报文进入入口方向处理模块,做包括基于VlanId的、基于MAC的、基于ACL的独有统计。
8.根据权利要求1所述的芯片实现方法,其特征在于,报文进入队列模块,根据使能信息做统计队列模块不同队列ID中的报文流量的公共统计。
9.根据权利要求1所述的芯片实现方法,其特征在于,报文进入出口方向处理模块,做包括基于报文编辑的、基于VlanId等的独有统计。
10.根据权利要求1所述的芯片实现方法,其特征在于,报文到达特定的物理出端口,根据使能信息做出口方向的每个端口的输出流量的公共统计。
CN201510689875.1A 2015-10-21 2015-10-21 stats分配的芯片实现方法 Active CN105389267B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510689875.1A CN105389267B (zh) 2015-10-21 2015-10-21 stats分配的芯片实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510689875.1A CN105389267B (zh) 2015-10-21 2015-10-21 stats分配的芯片实现方法

Publications (2)

Publication Number Publication Date
CN105389267A true CN105389267A (zh) 2016-03-09
CN105389267B CN105389267B (zh) 2018-08-21

Family

ID=55421571

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510689875.1A Active CN105389267B (zh) 2015-10-21 2015-10-21 stats分配的芯片实现方法

Country Status (1)

Country Link
CN (1) CN105389267B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108833203A (zh) * 2018-05-23 2018-11-16 新华三信息安全技术有限公司 一种报文统计方法及装置
CN110658990A (zh) * 2018-06-28 2020-01-07 希捷科技有限公司 具有改善的准备时间的数据存储***

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101741739A (zh) * 2009-12-01 2010-06-16 中兴通讯股份有限公司 一种交换设备出、入端口报文统计的方法和装置
CN102752196A (zh) * 2012-06-19 2012-10-24 中兴通讯股份有限公司 统计信息的发送、统计计数方法及装置
CN103997415A (zh) * 2013-02-20 2014-08-20 中兴通讯股份有限公司 一种实现报文统计的装置及方法
US9003294B1 (en) * 2014-12-23 2015-04-07 FanActivate, LLC Scalable systems for change detection of statistic data feeds across multiple servers using shared memory with configurable messaging triggers
CN104539490A (zh) * 2015-01-28 2015-04-22 盛科网络(苏州)有限公司 基于交换芯片实现报文高速统计的方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101741739A (zh) * 2009-12-01 2010-06-16 中兴通讯股份有限公司 一种交换设备出、入端口报文统计的方法和装置
CN102752196A (zh) * 2012-06-19 2012-10-24 中兴通讯股份有限公司 统计信息的发送、统计计数方法及装置
CN103997415A (zh) * 2013-02-20 2014-08-20 中兴通讯股份有限公司 一种实现报文统计的装置及方法
US9003294B1 (en) * 2014-12-23 2015-04-07 FanActivate, LLC Scalable systems for change detection of statistic data feeds across multiple servers using shared memory with configurable messaging triggers
CN104539490A (zh) * 2015-01-28 2015-04-22 盛科网络(苏州)有限公司 基于交换芯片实现报文高速统计的方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108833203A (zh) * 2018-05-23 2018-11-16 新华三信息安全技术有限公司 一种报文统计方法及装置
CN110658990A (zh) * 2018-06-28 2020-01-07 希捷科技有限公司 具有改善的准备时间的数据存储***

Also Published As

Publication number Publication date
CN105389267B (zh) 2018-08-21

Similar Documents

Publication Publication Date Title
US8873567B1 (en) Providing routing information to support routing by port groups via corresponding network paths
US6088745A (en) Logical output queues linking buffers allocated using free lists of pointer groups of multiple contiguous address space
US7606236B2 (en) Forwarding information base lookup method
CN109962850B (zh) 实现分段路由的方法和控制器及计算机可读存储介质
CN108259346B (zh) 一种等价路由表项建立方法和装置
CN102546424B (zh) 报文保序方法及装置
CN110995598B (zh) 一种变长报文数据处理方法和调度装置
CN112753198B (zh) 在网络中的负载均衡和报文重排序方法及装置
CN104461727A (zh) 内存模组访问方法及装置
CN103812787A (zh) 一种电力通信网络中报文优先转发的方法
KR20170094399A (ko) 크로스 보드 전송 방법 및 장치, 프로그램 및 기록매체
CN105656807A (zh) 一种网络芯片多通道数据传输方法及传输装置
CN101052011B (zh) Mpls标签分配方法、***和设备
CN102437956B (zh) 上链聚合端口的流量均衡方法、装置及设备
CN105389267A (zh) stats分配的芯片实现方法
EP2104285B1 (en) Method and apparatus for reducing service loss in a link aggregation group
CN104836738A (zh) 路由硬件表项资源管理方法、装置及网络设备
US10021035B1 (en) Queuing methods and apparatus in a network device
CN103079207B (zh) 物理小区标识pci的配置方法和设备
CN102025632A (zh) Mpls网络中数据分组的标签分配方法及***
CN105991439B (zh) 管理数据中心服务器的方法及装置
CN102546397A (zh) 上链聚合端口的流量均衡方法、装置及设备
CN105939262B (zh) 标签分配的方法及装置
CN101304390B (zh) Mpls标签分配方法和vpls报文映射方法及装置
CN103763196A (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
CP01 Change in the name or title of a patent holder

Address after: 215000 unit 13 / 16, 4th floor, building B, No.5 Xinghan street, Suzhou Industrial Park, Jiangsu Province

Patentee after: Suzhou Shengke Communication Co.,Ltd.

Address before: 215000 unit 13 / 16, 4th floor, building B, No.5 Xinghan street, Suzhou Industrial Park, Jiangsu Province

Patentee before: CENTEC NETWORKS (SU ZHOU) Co.,Ltd.

CP01 Change in the name or title of a patent holder