CN105323184A - 节约ram资源实现流量统计的方法及装置 - Google Patents
节约ram资源实现流量统计的方法及装置 Download PDFInfo
- Publication number
- CN105323184A CN105323184A CN201510641335.6A CN201510641335A CN105323184A CN 105323184 A CN105323184 A CN 105323184A CN 201510641335 A CN201510641335 A CN 201510641335A CN 105323184 A CN105323184 A CN 105323184A
- Authority
- CN
- China
- Prior art keywords
- descriptor
- statistics
- dma controller
- datarams
- realizes
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Bus Control (AREA)
Abstract
本发明揭示了一种节约RAM资源实现流量统计的方法及装置,所述方法包括:CPU分配描述符和相应的数据内存,并通知芯片内的DMA控制器;DMA控制器定时采集芯片统计硬件表项内的统计数据,并将采集到的统计数据根据描述符信息搬移到指定的数据内存;DMA控制器回写描述符,并产生中断通知CPU。本发明利用DMA机制,快速读取stats表项中的统计信息至系统内存,不再需要通过增加stats表项容量来防止统计值溢出,节约了硬件成本。同时,此处理过程由DMA控制器完成,可减轻CPU负载,做到快速准确的统计。
Description
技术领域
本发明涉及一种流量统计技术,尤其是涉及一种节约RAM资源实现流量统计的方法及装置。
背景技术
近年来,随着互联网技术的飞速发展,网络应用不断增加,例如视频、语音、P2P应用等。高速网络传输承载着巨大的数据流量,如果需要对这些流量的数据信息进行准确快速统计,只有通过硬件机制才能完成。
交换芯片是网络基建中数据转发、信息统计的核心。在处理巨大流量信息统计时,交换芯片需要提供较大的内部RAM作为stats的硬件表项。在集成度超高的交换芯片中,RAM属于昂贵的资源,增加RAM就是增加了芯片成本。
当前主流交换芯片实现portstats(端口统计)、flowstats(流量统计)都是由芯片提供stats硬件表项,通过访问控制列表(ACL)或者其它方式,对流进行组(GROUP)划分,分配stats硬表资源。然后配置stats表项的Threshold(门限值),利用硬件中断机制响应stats表项的Threshold,将stats表项中的统计信息通过中断处理函数上报给CPU,对流量信息进行统计。
伴随芯片处理网络流量的增大,流统计中断将比较频繁,加重了CPU负载。同时为防止硬表溢出,芯片需要提供越来越大的内部RAM作为stats的表项,增加了芯片成本。
发明内容
本发明的目的在于克服现有技术的缺陷,提供一种节约RAM资源实现流量统计的方法及装置,利用芯片DMA机制,快速读取统计表项中的统计信息至系统内存,以节约芯片硬件成本。
为实现上述目的,本发明提出如下技术方案:一种节约RAM资源实现流量统计的方法,CPU分配描述符和相应的数据内存,并通知芯片内的DMA控制器;
所述DMA控制器定时采集芯片统计硬件表项内的统计数据,并将采集到的统计数据根据所述描述符信息搬移到指定的所述数据内存;
所述DMA控制器回写描述符,并产生中断通知CPU。
优选地,所述描述符内的信息包括当前操作的数据类型、数据内存起始地址、Entry个数和中断控制信息。
优选地,所述DMA控制器根据所述描述符内信息和自身触发器定时启动DMA操作。
优选地,所述DMA控制器回写描述符时,根据当前所述描述符内信息和自身触发器逻辑决定是否继续当前DMA操作。
优选地,用户通过直接读取所述数据内存中的数据,以获得流量统计数据。
本发明还提出了一种节约RAM资源实现流量统计的装置,包括CPU、片内的DMA控制器、芯片内的统计硬件表项和数据内存,其中,
所述CPU用于分配描述符和相应的所述数据内存,并通知芯片内的DMA控制器。
所述DMA控制器用于定时采集所述芯片内的统计硬件表项内的统计数据,并将采集到的统计数据根据所述描述符信息搬移到指定的所述数据内存;
所述DMA控制器还用于回写描述符,并产生中断通知CPU。
与现有技术相比,本发明的有益效果是:本发明利用DMA机制,快速读取stats表项中的统计信息至系统内存,由于此过程响应快速,就不再需要通过增加stats表项容量来防止统计值溢出,节约了硬件成本。同时,此处理过程由DMA控制器完成,可减轻CPU负载,做到快速准确的统计。
附图说明
图1是本发明节约RAM资源实现流量统计的方法的流程示意图;
图2是本发明芯片DMA的架构框图;
图3是本发明数据内存的原理示意图;
图4是本发明CPU的处理流程示意图;
图5是本发明芯片DMA处理流程示意图。
具体实施方式
下面将结合本发明的附图,对本发明实施例的技术方案进行清楚、完整的描述。
本发明利用DMA机制,读取stats硬件表项的统计信息至系统内存。当用户需要获取stats统计信息时,只需要读取dma占用的内存即可。
如图1所示,本发明所揭示的一种节约RAM资源实现流量统计的方法,包括:
S1,CPU分配描述符和相应的数据内存,并通知芯片内的DMA控制器。描述符内的信息包括当前操作的数据类型、数据内存起始地址、Entry个数和中断控制信息。
具体地,结合图1~图4所示,在CPU侧:
首先,初始化DMA:初始化DMA相关寄存器和数据内存(datamemory),维护描述符(descriptor),以及DMA正在处理的个数。
其次,检查当前descriptor的状态,如果当前descriptor可用,则CPU继续下一步操作,否则,等待当前DMA操作释放descriptor后再操作,或者配置新的descriptor。
然后,CPU配置新的descriptor,清空descriptor内部的状态标志,写入数据内存(datamemory)地址,可以接受数据的长度,数据类型等。
最后,更新芯片DMA寄存器DmaCtTabl.VldNum,以通知芯片当前已经准备好接收新的数据。其中,DmaCtTabl.VldNum表示有效描述符的个数。
S2,DMA控制器定时采集芯片统计硬件表项内的统计数据,并将采集到的统计数据根据描述符信息搬移到指定的数据内存。
S3,DMA控制器回写描述符,并产生中断通知CPU。
具体地,结合图1和图5所示,在DMA侧的逻辑为:
首先,DMA控制器检查寄存器DmaCtTabl.VldNum是否为0,若未非0,则继续下一步操作,若为0,则需等待CPU释放新的descriptor。
其次,DMA控制器读取descriptor,根据内部维护descriptorring读指针读取对应的descriptor,根据读取的描述符内信息和自身触发器(Trigger)定时启动DMA操作。
然后,DMA控制器接收来自芯片内部的数据,根据descriptor内的数据内存地址,通过DMA功能将其送到指定的数据内存。
再然后,DMA控制器对处理完的描述符回写,并且更新寄存器DmaCtTabl.VldNum。在回写描述符时,DMA控制器根据当前描述符内信息和自身触发器逻辑决定是否继续DMA操作。
最后,DMA控制器根据需要产生中断通知CPU。
本发明还揭示了一种节约RAM资源实现流量统计的装置,包括CPU、片内的DMA控制器、芯片内的统计硬件表项和数据内存,其中,
CPU用于分配描述符和相应的数据内存,并通知芯片内的DMA控制器。
DMA控制器用于定时采集芯片内的统计硬件表项内的统计数据,并将采集到的统计数据根据描述符信息搬移到指定的数据内存;
DMA控制器还用于回写描述符,并产生中断通知CPU。
上述每部分的具体实现原理参照上述方法方案中的描述,这里便不再赘述。
需要说明的是,本发明中所指芯片不局限于专用集成电路(ASIC)芯片,还包括现场可编程门阵列(FPGA)或网络处理器NP等。
本发明的技术内容及技术特征已揭示如上,然而熟悉本领域的技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰,因此,本发明保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。
Claims (9)
1.一种节约RAM资源实现流量统计的方法,其特征在于,包括:
CPU分配描述符和相应的数据内存,并通知芯片内的DMA控制器;
所述DMA控制器定时采集芯片统计硬件表项内的统计数据,并将采集到的统计数据根据所述描述符信息搬移到指定的所述数据内存;
所述DMA控制器回写描述符,并产生中断通知CPU。
2.根据权利要求1所述的节约RAM资源实现流量统计的方法,其特征在于,所述描述符内的信息包括当前操作的数据类型、数据内存起始地址、Entry个数和中断控制信息。
3.根据权利要求1所述的节约RAM资源实现流量统计的方法,其特征在于,所述DMA控制器根据所述描述符内信息和自身触发器定时启动DMA操作。
4.根据权利要求3所述的节约RAM资源实现流量统计的方法,其特征在于,所述DMA控制器回写描述符时,根据当前所述描述符内信息和自身触发器逻辑决定是否继续当前DMA操作。
5.根据权利要求1所述的节约RAM资源实现流量统计的方法,其特征在于,用户通过直接读取所述数据内存中的数据,以获得流量统计数据。
6.一种节约RAM资源实现流量统计的装置,其特征在于,包括CPU、片内的DMA控制器、芯片内的统计硬件表项和数据内存,其中,
所述CPU用于分配描述符和相应的所述数据内存,并通知芯片内的DMA控制器。
所述DMA控制器用于定时采集所述芯片内的统计硬件表项内的统计数据,并将采集到的统计数据根据所述描述符信息搬移到指定的所述数据内存;
所述DMA控制器还用于回写描述符,并产生中断通知CPU。
7.根据权利要求6所述的节约RAM资源实现流量统计的装置,其特征在于,所述描述符内的信息包括当前操作的数据类型、数据内存起始地址、Entry个数和中断控制信息。
8.根据权利要求6所述的节约RAM资源实现流量统计的装置,其特征在于,所述DMA控制器根据所述描述符内信息和自身触发器定时启动DMA操作。
9.根据权利要求8所述的节约RAM资源实现流量统计的装置,其特征在于,所述DMA控制器回写描述符时,根据当前所述描述符内信息和自身触发器逻辑决定是否继续当前DMA操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510641335.6A CN105323184A (zh) | 2015-10-08 | 2015-10-08 | 节约ram资源实现流量统计的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510641335.6A CN105323184A (zh) | 2015-10-08 | 2015-10-08 | 节约ram资源实现流量统计的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105323184A true CN105323184A (zh) | 2016-02-10 |
Family
ID=55249799
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510641335.6A Pending CN105323184A (zh) | 2015-10-08 | 2015-10-08 | 节约ram资源实现流量统计的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105323184A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109240954A (zh) * | 2017-07-10 | 2019-01-18 | 恩智浦美国有限公司 | 具有触发序列发生器的dma控制器 |
CN109739786A (zh) * | 2019-01-08 | 2019-05-10 | 郑州云海信息技术有限公司 | 一种dma控制器和异构加速系统 |
CN109814925A (zh) * | 2018-12-24 | 2019-05-28 | 合肥君正科技有限公司 | 一种硬件模块通用自配置的方法及装置 |
CN112667537A (zh) * | 2021-01-05 | 2021-04-16 | 烽火通信科技股份有限公司 | 流量上报方法、装置、设备及可读存储介质 |
CN112968784A (zh) * | 2021-01-29 | 2021-06-15 | 新华三信息安全技术有限公司 | 一种流量计费方法及装置 |
CN113992545A (zh) * | 2021-12-28 | 2022-01-28 | 昆高新芯微电子(江苏)有限公司 | 实现网络流量统计的方法、芯片和交换机 |
CN114679381A (zh) * | 2022-03-24 | 2022-06-28 | 芯河半导体科技(无锡)有限公司 | 一种基于硬件dma的快速刷表方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6081851A (en) * | 1997-12-15 | 2000-06-27 | Intel Corporation | Method and apparatus for programming a remote DMA engine residing on a first bus from a destination residing on a second bus |
CN1713164A (zh) * | 2005-07-21 | 2005-12-28 | 复旦大学 | 可自主处理多事务传输要求的dma控制器及数据传输方法 |
CN202058149U (zh) * | 2011-05-31 | 2011-11-30 | 江汉大学 | 基于pci总线的双通道数据采集仪 |
CN104731711A (zh) * | 2013-12-23 | 2015-06-24 | 中兴通讯股份有限公司 | 一种网络设备写表方法及装置 |
-
2015
- 2015-10-08 CN CN201510641335.6A patent/CN105323184A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6081851A (en) * | 1997-12-15 | 2000-06-27 | Intel Corporation | Method and apparatus for programming a remote DMA engine residing on a first bus from a destination residing on a second bus |
CN1713164A (zh) * | 2005-07-21 | 2005-12-28 | 复旦大学 | 可自主处理多事务传输要求的dma控制器及数据传输方法 |
CN202058149U (zh) * | 2011-05-31 | 2011-11-30 | 江汉大学 | 基于pci总线的双通道数据采集仪 |
CN104731711A (zh) * | 2013-12-23 | 2015-06-24 | 中兴通讯股份有限公司 | 一种网络设备写表方法及装置 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109240954A (zh) * | 2017-07-10 | 2019-01-18 | 恩智浦美国有限公司 | 具有触发序列发生器的dma控制器 |
CN109814925A (zh) * | 2018-12-24 | 2019-05-28 | 合肥君正科技有限公司 | 一种硬件模块通用自配置的方法及装置 |
CN109739786A (zh) * | 2019-01-08 | 2019-05-10 | 郑州云海信息技术有限公司 | 一种dma控制器和异构加速系统 |
WO2020143237A1 (zh) * | 2019-01-08 | 2020-07-16 | 郑州云海信息技术有限公司 | 一种dma控制器和异构加速系统 |
CN109739786B (zh) * | 2019-01-08 | 2022-02-18 | 郑州云海信息技术有限公司 | 一种dma控制器和异构加速系统 |
CN112667537A (zh) * | 2021-01-05 | 2021-04-16 | 烽火通信科技股份有限公司 | 流量上报方法、装置、设备及可读存储介质 |
CN112968784A (zh) * | 2021-01-29 | 2021-06-15 | 新华三信息安全技术有限公司 | 一种流量计费方法及装置 |
CN113992545A (zh) * | 2021-12-28 | 2022-01-28 | 昆高新芯微电子(江苏)有限公司 | 实现网络流量统计的方法、芯片和交换机 |
CN113992545B (zh) * | 2021-12-28 | 2022-04-22 | 昆高新芯微电子(江苏)有限公司 | 实现网络流量统计的方法、芯片和交换机 |
CN114679381A (zh) * | 2022-03-24 | 2022-06-28 | 芯河半导体科技(无锡)有限公司 | 一种基于硬件dma的快速刷表方法 |
CN114679381B (zh) * | 2022-03-24 | 2023-11-24 | 芯河半导体科技(无锡)有限公司 | 一种基于硬件dma的快速刷表方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105323184A (zh) | 节约ram资源实现流量统计的方法及装置 | |
DE102009043411B4 (de) | Bereitstellen eines Zurückstellungsmechanismus für "gepostete" Interrupt-Transaktionen | |
US20190034368A1 (en) | Methods and apparatus for synchronizing uplink and downlink transactions on an inter-device communication link | |
CN101460912B (zh) | 数据通信流控制装置及其方法 | |
US11616723B2 (en) | Techniques to reduce network congestion | |
KR102560556B1 (ko) | 멀티스레디드 프로세서들에 대한 대역폭/자원 관리 | |
US10079772B2 (en) | Queue scheduling method and device, and computer storage medium | |
CN108476177A (zh) | 用于处理功能可扩展性的数据平面 | |
US10275163B2 (en) | Methods for controlling data transfer speed of a data storage device and a host device utilizing the same | |
CN110532205B (zh) | 数据传输方法、装置、计算机设备和计算机可读存储介质 | |
US20130304841A1 (en) | Server node interconnect devices and methods | |
CN104182279A (zh) | 一种任务调度方法、装置及系统 | |
US10452122B2 (en) | Methods for controlling data transfer speed of a data storage device and a host device utilizing the same | |
CN101436146B (zh) | 动态调节远程设备管理进程的优先级的方法及系统 | |
US11621918B2 (en) | Techniques to manage data transmissions | |
DE112014006501T5 (de) | Synchronisierung der Unterbrechungsverarbeitung zur Verringerung des Stromverbrauchs | |
CN108009075A (zh) | 基于Hystrix框架的动态熔断判断方法 | |
WO2016206513A1 (zh) | 加速处理数据的方法、分配装置和交换机 | |
DE102020114142A1 (de) | Technologien für unterbrechungs-disassoziierte warteschlangenbildung für multi-warteschlangen-i/o-vorrichtungen | |
CN100469055C (zh) | 转发报文的处理方法及处理装置 | |
CN104539557A (zh) | 报文统计上报cpu的方法及装置 | |
US20160294926A1 (en) | Using a single work item to send multiple messages | |
CN103823712A (zh) | 一种多cpu虚拟机系统的数据流处理方法和装置 | |
EP4037272A1 (en) | Data processing method and device | |
KR101945346B1 (ko) | 동적 백라이트 제어 기능을 갖는 적응적 부분 스크린 업데이트 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160210 |