CN101661429B - 一种统计信息的存储方法及设备 - Google Patents

一种统计信息的存储方法及设备 Download PDF

Info

Publication number
CN101661429B
CN101661429B CN2009101656977A CN200910165697A CN101661429B CN 101661429 B CN101661429 B CN 101661429B CN 2009101656977 A CN2009101656977 A CN 2009101656977A CN 200910165697 A CN200910165697 A CN 200910165697A CN 101661429 B CN101661429 B CN 101661429B
Authority
CN
China
Prior art keywords
statistical
external memory
memory storage
value
read
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.)
Active
Application number
CN2009101656977A
Other languages
English (en)
Other versions
CN101661429A (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.)
ZTE Corp
Original Assignee
ZTE 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 ZTE Corp filed Critical ZTE Corp
Priority to CN2009101656977A priority Critical patent/CN101661429B/zh
Publication of CN101661429A publication Critical patent/CN101661429A/zh
Application granted granted Critical
Publication of CN101661429B publication Critical patent/CN101661429B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种统计信息的存储方法及设备,涉及数据通信领域。本发明方法包括:统计处理的FPGA与外部存储器相连;当更新所述外部存储器中满足某个统计条件的统计值时,所述FPGA从所述外部存储器中读取满足该统计条件的原始统计值,并记录读取过程中所述FPGA输出的满足该统计条件的重复个数,将所读取的原始统计值与所记录的重复个数进行累加,将累加值作为满足该统计条件的统计值,更新到所述外部存储器中。本发明技术方案可以存储更多的统计信息,减少了FPGA内部使用资源。

Description

一种统计信息的存储方法及设备
技术领域
本发明涉及数据通信领域,尤其涉及一种统计信息的存储方法及设备。 
背景技术
路由器性能的不断提升,提供给更多的新业务的出现和发展的空间,新业务需要更大的,更加复杂和准确的统计性能。以往芯片内部、少量的统计信息已经不能满足需求,本设计是针对DUNE公司的FAP系列芯片,在FAP21V芯片提供的统计信息的基础上,收集,归纳,保存这些不断更新的统计信息,提供给上层应用。 
现在需要的业务类型如:QOS、电信流量统计、故障定位等需要随时获得的统计信息如下: 
按照统计方法包括:包字节统计、包个数统计; 
按照流的方向和处理方式包括:每个队列入队报文的统计、每个队列入队阶段由于WRED而被丢弃的且丢弃优先级为0的报文统计、每个队列入队阶段由于WRED而被丢弃的且丢弃优先级为1的报文统计、每个队列入队阶段由于WRED而被丢弃的且丢弃优先级为2的报文统计、每个队列入队阶段由于WRED而被丢弃的且丢弃优先级为3的报文统计、每个队列入队阶段由于其它原因而被丢弃的报文统计、每个队列出队的报文统计、每个队列出队阶段被删除的报文统计; 
按照统计方式包括:连续统计和读清统计。 
按照以上要求计算,如果统计值为32位,至少需要512M的空间,今后随着业务的增多可能还需要更多的空间。 
因此,现有在FPGA芯片内部处理的统计方式已不能满足现在对大容量 存储的需求,需要提出一种大容量、实时、准确的统计方案来支持扩大的数据应用业务的要求。 
发明内容
本发明所要解决的技术问题是,一种统计信息的存储方法及其设备,从而支持日益扩大的数据应用业务的要求。 
为了解决上述问题,本发明公开了一种统计信息的存储方法,包括: 
统计处理的现场可编程门阵列(FPGA)与外部存储器相连; 
当更新所述外部存储器中满足某个统计条件的统计值时,所述FPGA从所述外部存储器中读取满足该统计条件的原始统计值,并记录读取过程中所述FPGA输出的满足该统计条件的重复个数,将所读取的原始统计值与所记录的重复个数进行累加,将累加值作为满足该统计条件的统计值,更新到所述外部存储器中。 
进一步地,所述FPGA从所述外部存储器中读取满足该统计条件的原始统计值之前,该方法还包括: 
根据不同的统计条件配置所述FPGA的统计接口与所述外部存储器地址的映射关系; 
所述FPGA按照所述映射关系从所述外部存储器的相应位置中读取满足统计条件的原始统计值。 
进一步地,上述方法中,所述外部存储器支持的时钟频率为所述FPGA所支持的时钟频率的2倍。 
其中,用户通过增强型外设部件互连标准(PCIE)或者中央处理单元(CPU)接口向所述外部存储器发起读操作,读取所述外部存储器的统计值,其中,所述PCIE接口为所述用户提供最多512条统计条件的突发(burst)读操作。 
所述用户向所述外部存储器发起读清操作时,将所述外部存储器中统计条件的原始统计值返回给所述用户,并将清除过程中统计条件的重复个数作 为读清后的统计值,更新到所述外部存储器中。 
本发明还公开了一种统计信息的存储设备,包括用于统计处理的现场可编程门阵列(FPGA)、统计处理模块、移位寄存器以及外部存储器,其中: 
所述统计处理模块,用于在更新所述外部存储器中满足某个统计条件的统计值时,从所述外部存储器中读取满足该统计条件的原始统计值,并将所述原始统计值与所述移位寄存器中所记录的重复个数进行累加,将累加值作为满足该统计条件的统计值,更新到所述外部存储器中; 
所述移位寄存器,用于在所述统计处理模块读取外部存储器中满足统计条件的原始统计值的过程中,记录所述FPGA输出的满足该统计条件的重复个数; 
所述外部存储器,用于存储所述FPGA发送的统计值。 
进一步地,上述设备还包括地址映射模块: 
所述地址映射模块,用于保存各种业务的统计条件、所述FPGA的统计接口以及外部存储器地址的映射关系; 
所述统计处理模块,按照所述地址映射模块中的映射关系从所述外部存储器的相应位置中读取满足统计条件的原始统计值,并将所述原始统计值与所述移位寄存器中所记录的重复个数进行累加,将累加值作为满足该统计条件的统计值,更新到所述外部存储器的相应位置中。 
其中,所述外部存储器支持的时钟频率为所述FPGA所支持的时钟频率的2倍。 
进一步地,该设备还包括与所述外部存储器读模块相连的统计先进先出(FIFO)模块: 
所述统计FIFO模块,用于接收用户通过增强型外设部件互连标准(PCIE)接口发起的读操作和读清操作,并为所述用户提供最多512条统计条件的(burst)读操作; 
所述外部存储器,用于接收所述统计FIFO模块发送的读操作和读清操作,当接收到所述读操作时,将用户所要读取的统计值返回给所述用户,当接收到所述读清操作时,将用户所要读取的统计值返回给所述用户,并将清除过程中统计条件的重复个数作为读清后的统计值进行更新。
进一步地,所述外部存储器,还用于接收用户通过中央处理单元(CPU)接口发起的读操作和读清操作,当接收到所述读操作时,将用户所要读取的统计值返回给所述用户,当接收到所述读清操作时,将用户所要读取的统计值返回给所述用户,并将清除过程中统计条件的重复个数作为读清后的统计值进行更新。 
本发明技术方案与现有技术相比,可以存储更多的统计信息,减少了FPGA内部使用资源,并且在不改变FPGA统计功能,只改变外部存储设备的前提下满足不同的用户需求。 
附图说明
图1为本实施例中FAP21统计接口时序图; 
图2为本实施例中外部存储器QDR接口时序图; 
图3为本实施例中统计条件和统计值存放位置的示意图; 
图4为本实施例中实现统计信息存储的设备的结构示意图; 
图5为本实施例中实现统计信息存储的流程图。
具体实施方式
本发明的主要构思是,可以将路由器中FPGA(Field-Programmable GateArray,现场可编程门阵列)的内部统计处理功能与存储功能相分离,外部存储设备的大小可以根据不同业务而不同,但其最大处理速度要大于166 MHz,并且支持一个时钟周期内的一次读和写处理;统计处理调度机制相对不变,它保证着统计操作、PCIE(Peripheral Component Interconnect——Express,增强型外设部件互连标准)接口的用户读操作、CPU接口的用户读操作、读清操作、QDR接口的读写操作等的正常运行,从而满足用户的不同需求。 
其中,由于存储功能由外部存储设备来实现,因此需要考虑选择合适的外部存储设备,合适的外部存储设备指其读、写操作的消耗时间满足FPGA最繁忙时候的统计操作要求。 
为了满足最繁忙时候的精确统计要求,即每个时钟周期都要有统计更新,而统计更新操作是:从外部存储设备中读出原始存在的统计数据,加上新的统计数据后,再写入外部存储设备中,因此,统计更新操作在一个时钟周期内必须进行一次读和写。 
还有,需要考虑到用户的操作与统计更新操作所产生的竞争冲突造成的统计不精确的问题。由于本发明所提出的统计处理系统可以为用户提供多种交互方式,而这些交互方式需要对存储设备操作,因此会影响统计的准确性以及实时性,可以采用统一的统计调度机制来协调各种操作的进程。所采用的统一的统计调度机制的原则可以是优先处理统计更新操作,而对外部用户的读请求则在QDR(Quad Data Rate,4字突发四倍数据速率)读的空闲时隙会被响应,读的空闲时隙是指没有FAP21V芯片统计更新数据或者在QDR读过程中有重复数据出现的时隙;对外部用户的读清请求则可以在QDR写的空闲时隙被响应。 
针对不同的业务需求,可以将不同业务的统计条件与外部存储设备通过地址对应表进行关联,而用户可以通过修改这个映射表和外部存储器来满足不同业务需求,而无须改变内部统计调度机制。 
可以考虑提供给用户的读清和读累加这两种处理方式,读和清除的处理是2个独立的过程。对于读清处理方式,与现有的读出数据,然后返回0值不同,本发明的读清操作是先执行读数据过程,再执行清除过程,因此清除操作写入QDR的是清除过程出现的统计条件的重复值。本发明提供给用户的读接口分为PCIE总线方式和CPU总线方式,其中,PCIE总线方式支持用户一次最多512条统计条件的burst读取方式,接口采用FIFO缓存,内部逐条处理 
下面结合附图及具体实施例对本发明技术方案作进一步详细说明。 
一种统计处理信息的存储设备,例如路由器,如图1所示,包括FPGA(本实施例中采用32位统计接口FAP21V芯片)、地址映射模块、移位寄存器、统计处理模块、统计先进先出(FIFO)模块以及QDR(即外部存储器),其中,各模块需要经过读QDR模块、写QDR模块以及QDR接口控制器对QDR进行读写操作。下面介绍各部分的功能。 
FPGA,用于输出满足统计条件的统计信息; 
本实施例中,FPGA所采用的FAP21统计接口的时序要求如图2所示,它是以166MHz的速度向外输出统计信息的,对每个时钟周期出现的有效的统计信息进行分类统计后存储在外部存储设备QDR中。 
外部存储器,用于存储满足各统计条件的统计值,以及用于接收和处理用户通过CPU接口或者PCIE接口发起的读操作以及读清操作; 
由于外部存储器必须支持一个时钟周期内的一次读和写,因此读写的处理时钟至少为FPGA内部时钟的2倍,在本实施例中,外部存储器选用2-WordBurst QDR-II SRAM,它支持的最高存储速率是250MHz; 
当外部存储器接收到用户通过PCIE接口,即由统计FIFO模块发送的读操作时,将用户所要读取的统计值返回给用户,当接收到读清操作时,将用户所要读取的统计值返回给用户,而将清除过程中FPGA输出的该统计条件的重复个数累加,作为读清后的统计值进行更新; 
当外部存储器接收到用户通过CPU接口发送的读操作时,将用户所要读取的统计值返回给用户,当接收到读清操作时,将用户所要读取的统计值返回给用户,而将清除过程中FPGA输出的该统计条件的重复个数作为读清后的统计值进行更新; 
本实施例中,外部存储器QDR的接口时序如图3所示,可以看出它在200MHz的工作频率下实现了一个周期内的一次读和一次写操作,满足了设计要求,并且外部QDR等待着用户的读取或者清除操作,其中,用户通过CPU接口对QDR内的统计信息进行操作时,是逐条进行的,而用户通过PCIE则可以实现对QDR内的统计信息批量读取或者读清操作,其中,用户通过PCIE接口读出的批量统计值存放于图4所示的位置,其中,读出的统计值存 放于其对应输入统计条件的下一个地址,这个地址可能是下一条统计条件的地址,例如,原统计条件存放地址如果是addr0~addrn处,当所有统计信息获取完毕后,统计值存储在addr1~addrn+1处,占用原统计条件的区域(原统计条件在统计值读出后可以被覆盖),不用另辟统计值的存储区域。 
地址映射模块,用于保存各种业务的统计条件、所述FPGA的统计接口以及外部存储器地址的映射关系; 
本实施例中,共使用16M的存储空间,宽度32位存储统计值,地址19位共可存储512K个统计条件;外部存储器(QDR)地址的第18位区分个数和字节统计的区域;地址的第0~17位中的15位表示32K个队列,其余的3位表示入队报文、入队阶段由于WRED而被丢弃的且丢弃优先级为0的报文、入队阶段由于WRED而被丢弃的且丢弃优先级为1的报文、入队阶段由于WRED而被丢弃的且丢弃优先级为2的报文、入队阶段由于WRED而被丢弃的且丢弃优先级为3的报文、入队阶段由于其它原因而被丢弃的报文、出队报文、出队阶段被删除的报文,外部存储设备地址与FAP21V 32位统计接口的对应关系如表1所示: 
表1为FAP统计接口与外部存储器(QDR)地址的映射关系表 
  统计条件   MD(32)   ADDR(20)   统计个数
   实现每个队列入队报文的统  计计数及用户对统计值的读  取(个数统计)   xx00000000000000  0101xxxxxxxxxxxx  ~  xx11111111111111  1101xxxxxxxxxxx   ADDR[18:0]  0000000000000000000  ~  0111111111111111000     32K
  实现每个队列入队阶段由于  WRED而被丢弃的且丢弃优  先级为0的报文统计计数及  用户对统计值的读取(个数  统计)   0000000000000000  0110xxxxxxxxxxxx  ~  0011111111111111  1110xxxxxxxxxxxx   ADDR[18:0]  0000000000000000001  ~  0111111111111111001   32K
  实现每个队列入队阶段由于  WRED而被丢弃的且丢弃优  先级为1的报文统计计数及   0100000000000000  0110xxxxxxxxxxxx  ~   ADDR[18:0]  0000000000000000010  ~   32K
  用户对统计值的读取(个数  统计)   0111111111111111  1110xxxxxxxxxxxx   0111111111111111010  
  实现每个队列入队阶段由于  WRED而被丢弃的且丢弃优  先级为2的报文统计计数及  用户对统计值的读取(个数  统计)   1000000000000000  0110xxxxxxxxxxxx  ~  1011111111111111  1110xxxxxxxxxxxx   ADDR[18:0]  0000000000000000011  ~  0111111111111111011   32K
  实现每个队列入队阶段由于  WRED而被丢弃的且丢弃优  先级为3的报文统计计数及  用户对统计值的读取(个数  统计)   1100000000000000  0110xxxxxxxxxxxx  ~  1111111111111111  1110xxxxxxxxxxxx   ADDR[18:0]  0000000000000000100  ~  0111111111111111100   32K
  实现每个队列入队阶段由于   其它原因而被丢弃的报文统  计计数及用户对统计值的读   取(个数统计)   xx00000000000000   0111xxxxxxxxxxxx  ~   xx11111111111111   1111xxxxxxxxxxxx   ADDR[18:0]   0000000000000000101  ~   0111111111111111101   32K
  实现每个队列出队报文的统  计计数及用户对统计值的读  取(个数统计)   xx00000000000000  0001xxxxxxxxxxxx  ~  xx11111111111111  1001xxxxxxxxxxx   ADDR[18:0]  0000000000000000110  ~  0111111111111111110   32K
  实现每个队列出队阶段被删  除的报文统计计数及用户对  统计值的读取(个数统计)   xx00000000000000  0010xxxxxxxxxxxx  ~  xx11111111111111  1010xxxxxxxxxxxx   ADDR[18:0]  0000000000000000111  ~  0111111111111111111   32K
  实现每个队列入队报文的统   计计数及用户对统计值的读  取(包长统计)   xx00000000000000   0101xxxxxxxxxxxx  ~   xx11111111111111   ADDR[18:0]   1000000000000000000  ~   1111111111111111000   32K
    1101xxxxxxxxxxx    
  实现每个队列入队阶段由于  WRED而被丢弃的且丢弃优  先级为0的报文统计计数及  用户对统计值的读取(包长  统计)   0000000000000000  0110xxxxxxxxxxxx  ~  0011111111111111  1110xxxxxxxxxxxx   ADDR[18:0]  1000000000000000001  ~  1111111111111111001   32K
  实现每个队列入队阶段由于  WRED而被丢弃的且丢弃优  先级为1的报文统计计数及  用户对统计值的读取(包长  统计)   0100000000000000  0110xxxxxxxxxxxx  ~  0111111111111111  1110xxxxxxxxxxxx   ADDR[18:0]  1000000000000000010  ~  1111111111111111010   32K
  实现每个队列入队阶段由于  WRED而被丢弃的且丢弃优  先级为2的报文统计计数及  用户对统计值的读取(包长  统计)   1000000000000000  0110xxxxxxxxxxxx  ~  1011111111111111  1110xxxxxxxxxxxx   ADDR[18:0]  1000000000000000011  ~  1111111111111111011   32K
  实现每个队列入队阶段由于  WRED而被丢弃的且丢弃优  先级为3的报文统计计数及  用户对统计值的读取(包长  统计)   1100000000000000  0110xxxxxxxxxxxx  ~  1111111111111111  1110xxxxxxxxxxxx   ADDR[18:0]  1000000000000000100  ~  1111111111111111100   32K
  实现每个队列入队阶段由于   其它原因而被丢弃的报文统   计计数及用户对统计值的读   取(包长统计)   xx00000000000000   0111xxxxxxxxxxxx  ~   xx11111111111111   1111xxxxxxxxxxxx   ADDR[18:0]   1000000000000000101  ~   1111111111111111101   32K
  实现每个队列出队报文的统  计计数及用户对统计值的读  取(包长统计)   xx00000000000000  0001xxxxxxxxxxxx  ~  xx11111111111111  1001xxxxxxxxxxx   ADDR[18:0]  1000000000000000110  ~  1111111111111111110   32K
  实现每个队列出队阶段被删  除的报文统计计数及用户对  统计值的读取(包长统计)   xx00000000000000  0010xxxxxxxxxxxx  ~  xx11111111111111  1010xxxxxxxxxxxx   ADDR[18:0]  0000000000000000111  ~  0111111111111111111   32K
统计处理模块,用于按照地址映射模块中的映射关系通过读QDR模块从外部存储器的相应位置中读取满足统计条件的原始统计值,并将原始统计值与移位寄存器中所记录的重复个数进行累加,将累加值作为满足该统计条件的统计值,通过写QDR模块更新到外部存储器的相应位置中; 
移位寄存器,用于在统计处理模块读取外部存储器中满足统计条件的原始统计值的过程中,记录FPGA输出的满足该统计条件的重复个数; 
统计FIFO模块,用于接收用户通过增强型外设部件互连标准(PCIE)接口发起的读操作和读清操作,其可以为用户提供最多512条统计条件的burst读操作。 
下面介绍上述装置的工作过程,如图5所示,包括如下步骤: 
步骤500:配置各种业务的统计条件、FPGA的统计接口以及外部存储器地址的映射关系; 
本实施例中,按照表1所示的映射关系进行地址映射。 
步骤510:将经过地址映射后的统计条件发送到移位寄存器中,同时读取QDR中该统计条件的原始统计值; 
此时,移位寄存器的个数等于从QDR接口读出原始统计值需要的周期数,移位寄存中将暂存转化后的统计条件和移位时间内出现过的重复的统计条件的累加值; 
QDR支持一个时钟周期内的一次读和写处理,在一个周期内同时执行统计更新读和用户读统计值的操作的时候,优先处理统计更新读,以确保统计的精确性,剩余的空闲时隙提供给用户进行读统计值操作。 
步骤520:统计更新时,统计处理模块将从QDR接口中读出的原始统计值,与移位寄存中的重复的统计条件的个数进行累加,将新的统计值回写到QDR存储设备中,从而完成一次统计的累加处理(即统计更新); 
其中,移位寄存中的重复的统计条件的个数是将正在更新的统计条件与20个暂存于移位寄器中的统计条件进行比较,如果相同,就将对应的移位寄器中重复值加1保存,并且要求在一个周期内完成,也就是6ns的时间内实现20个32位的比较,所以其周边处理是尽量简化的,以减少其他的时延,保证6ns的时序要求。 
在统计更新时刻存在的空闲时隙,正在更新的统计条件与20个移位寄存器中暂存的统计条件如果存在相等的情况时,不会操作QDR接口的读流程,也存在着空闲时隙。 
本实施例中,移位寄存器的个数是从QDR中读出数据的读周期个数与统计处理时耗的和。QDR的读出数据的时隙是确定的,调节QDR控制器,保证8个周期的读出时间,加上内部处理的时耗,共需要20个移位寄存。 
步骤530:当用户通过PCIE总线执行burst读操作时,burst读操作可以从外部存储器中最多执行512条统计条件的读写; 
其中,用户通过PCIE总线通知所需读取统计条件的存储地址和个数的结构如下所示: 
  55:48   47:16   15:0
  tag   首地址   md字节数
此时,统计值将被逐条读出,读出的统计值被存放在下一条读出统计条件的位置,如图4所示,例如,原统计条件存放地址是addr0~addrn处,当所有统计信息获取完毕后,统计值存储在addr1~addrn+1处,然后发信号通知用户读出。 
步骤540:当用户通过CPU或者PCIE发起读清操作时,外部存储器向用户返回用户所要读取的统计值,并将清除过程中出现的统计条件的重复值作为读清后的统计值,更新到外部存储器中。 
在其他实施例中,也可以先执行上述步骤540的操作,再执行步骤530的操作。 
从上述实施例可以看出,本发明技术方案改变了在FPGA内部进行统计存储的方式,而将统计处理功能和存储功能相分离,即存储功能由外部存储设备来实现,这样,就可以在FPGA原有统计处理基本不变的基础上,按照业务需要扩大或者缩减外部存储资源,实现起来十分简便。另外,由于本发明技术方案中存储功能由外部存储设备来实现,因此增大了存储空间,可以支持日益扩大的数据应用业务的要求。 
当然,本发明还可有多种实施方式,在不背离本发明精神及其实质的情况,熟悉本领域的技术人员当可根据本发明作出各种相应的更改或变化,但凡在本发明的精神和原则之内所作的任何修改、等同替换、改进,均应包含在本发明所附的权利要求的保护范围之内。 

Claims (8)

1.一种统计信息的存储方法,其特征在于,该方法包括:
统计处理的现场可编程门阵列FPGA与外部存储器相连;
当更新所述外部存储器中满足某个统计条件的统计值时,所述FPGA从所述外部存储器中读取满足该统计条件的原始统计值,并记录读取过程中所述FPGA输出的满足该统计条件的重复个数,将所读取的原始统计值与所记录的重复个数进行累加,将累加值作为满足该统计条件的统计值,更新到所述外部存储器中;所述外部存储器支持的时钟频率为所述FPGA所支持的时钟频率的2倍。
2.如权利要求1所述的方法,其特征在于,所述FPGA从所述外部存储器中读取满足该统计条件的原始统计值之前,该方法还包括:
根据不同的统计条件配置所述FPGA的统计接口与所述外部存储器地址的映射关系;
所述FPGA按照所述映射关系从所述外部存储器的相应位置中读取满足统计条件的原始统计值。
3.如权利要求1或2所述的方法,其特征在于,
用户通过增强型外设部件互连标准PCIE或者中央处理单元CPU接口向所述外部存储器发起读操作,读取所述外部存储器的统计值,其中,所述PCIE接口为所述用户提供最多512条统计条件的突发burst读操作。
4.如权利要求3所述的方法,其特征在于,
所述用户向所述外部存储器发起读清操作时,将所述外部存储器中统计条件的原始统计值返回给所述用户,并将清除过程中统计条件的重复个数作为读清后的统计值,更新到所述外部存储器中。
5.一种统计信息的存储设备,包括用于统计处理的现场可编程门阵列FPGA,其特征在于,该设备还包括统计处理模块、移位寄存器以及外部存储器,其中:
所述统计处理模块,用于在更新所述外部存储器中满足某个统计条件的统计值时,从所述外部存储器中读取满足该统计条件的原始统计值,并将所述原始统计值与所述移位寄存器中所记录的重复个数进行累加,将累加值作为满足该统计条件的统计值,更新到所述外部存储器中;
所述移位寄存器,用于在所述统计处理模块读取外部存储器中满足统计条件的原始统计值的过程中,记录所述FPGA输出的满足该统计条件的重复个数;
所述外部存储器,用于存储所述FPGA发送的统计值,所述外部存储器支持的时钟频率为所述FPGA所支持的时钟频率的2倍。
6.如权利要求5所述的设备,其特征在于,该设备还包括地址映射模块:
所述地址映射模块,用于保存各种业务的统计条件、所述FPGA的统计接口以及外部存储器地址的映射关系;
所述统计处理模块,按照所述地址映射模块中的映射关系从所述外部存储器的相应位置中读取满足统计条件的原始统计值,并将所述原始统计值与所述移位寄存器中所记录的重复个数进行累加,将累加值作为满足该统计条件的统计值,更新到所述外部存储器的相应位置中。
7.如权利要求5或6所述的设备,其特征在于,该设备还包括与所述外部存储器读模块相连的统计先进先出FIFO模块:
所述统计FIFO模块,用于接收用户通过增强型外设部件互连标准PCIE接口发起的读操作和读清操作,并为所述用户提供最多512条统计条件的突发burst读操作;
所述外部存储器,用于接收所述统计FIFO模块发送的读操作和读清操作,当接收到所述读操作时,将用户所要读取的外部存储器当时存储的统计值返回给所述用户,当接收到所述读清操作时,将用户所要读取的外部存储器当时存储的统计值返回给所述用户,并将清除过程中统计条件的重复个数作为读清后的统计值进行更新。
8.如权利要求5或6所述的设备,其特征在于,
所述外部存储器,还用于接收用户通过中央处理单元(CPU)接口发起的读操作和读清操作,当接收到所述读操作时,将用户所要读取的外部存储器当时存储的统计值返回给所述用户,当接收到所述读清操作时,将用户所要读取的外部存储器当时存储的统计值返回给所述用户,并将清除过程中统计条件的重复个数作为读清后的统计值进行更新。
CN2009101656977A 2009-08-18 2009-08-18 一种统计信息的存储方法及设备 Active CN101661429B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009101656977A CN101661429B (zh) 2009-08-18 2009-08-18 一种统计信息的存储方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009101656977A CN101661429B (zh) 2009-08-18 2009-08-18 一种统计信息的存储方法及设备

Publications (2)

Publication Number Publication Date
CN101661429A CN101661429A (zh) 2010-03-03
CN101661429B true CN101661429B (zh) 2012-07-18

Family

ID=41789471

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009101656977A Active CN101661429B (zh) 2009-08-18 2009-08-18 一种统计信息的存储方法及设备

Country Status (1)

Country Link
CN (1) CN101661429B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102880680B (zh) * 2012-09-11 2015-08-12 大连梯耐德网络技术有限公司 一种基于随机访问存储器的多用户统计方法
CN106407636B (zh) * 2015-07-31 2020-02-14 腾讯科技(深圳)有限公司 集成结果统计方法及装置
CN106502814B (zh) * 2016-10-19 2020-04-03 杭州迪普科技股份有限公司 一种记录pcie设备错误信息的方法及装置
CN109688070A (zh) * 2018-12-13 2019-04-26 迈普通信技术股份有限公司 一种数据调度方法、网络设备及转发单元
CN112463213B (zh) * 2019-09-06 2024-05-17 北京京东尚科信息技术有限公司 更新、读取统计值的方法和装置
CN111654886B (zh) * 2020-05-27 2023-06-27 杭州迪普科技股份有限公司 一种限制用户带宽的方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1571346A (zh) * 2003-07-15 2005-01-26 中兴通讯股份有限公司 网络信息交换中多端口收发包数统计方法
CN100375063C (zh) * 2004-11-30 2008-03-12 中兴通讯股份有限公司 一种现场可编程门阵列中管理发送缓冲区的方法和装置
CN101246460A (zh) * 2008-03-10 2008-08-20 华为技术有限公司 缓存数据写入系统及方法和缓存数据读取系统及方法
CN101848135A (zh) * 2009-03-24 2010-09-29 华为技术有限公司 芯片的统计数据的管理方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1571346A (zh) * 2003-07-15 2005-01-26 中兴通讯股份有限公司 网络信息交换中多端口收发包数统计方法
CN100375063C (zh) * 2004-11-30 2008-03-12 中兴通讯股份有限公司 一种现场可编程门阵列中管理发送缓冲区的方法和装置
CN101246460A (zh) * 2008-03-10 2008-08-20 华为技术有限公司 缓存数据写入系统及方法和缓存数据读取系统及方法
CN101848135A (zh) * 2009-03-24 2010-09-29 华为技术有限公司 芯片的统计数据的管理方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
杨光宇等.一种基于FPGA的实时直方图统计方法.《机电工程》.2007,第24卷(第4期),67-69. *

Also Published As

Publication number Publication date
CN101661429A (zh) 2010-03-03

Similar Documents

Publication Publication Date Title
CN101661429B (zh) 一种统计信息的存储方法及设备
CN101605100B (zh) 队列存储空间的管理方法和设备
US7844760B2 (en) Schedule and data caching for wireless transmission
CN101694512B (zh) 测试电路和片上系统
CN102437929B (zh) 队列管理中的数据出队方法及装置
CN103279309A (zh) 基于fpga的ddr控制装置及方法
CN102549552A (zh) 用于处理流感知网络节点中的数据分组的方法
CN104346285A (zh) 内存访问处理方法、装置及系统
CN101548328B (zh) 用于捕获串行输入数据的设备和方法
US20060067218A1 (en) NoC semi-automatic communication architecture for "data flows" applications
CN104407809A (zh) 多通道fifo缓冲器及其控制方法
CN106325758B (zh) 一种队列存储空间管理方法及装置
CN101515898A (zh) 芯片的统计数据的管理方法和装置
CN101848135B (zh) 芯片的统计数据的管理方法和装置
CN100546191C (zh) 一种大容量无刷新的高速统计计数器
CN101751980A (zh) 基于存储器知识产权核的嵌入式可编程存储器
CN102508803A (zh) 一种矩阵转置存储控制器
CN100486224C (zh) 一种基于fpga实现atm网络流量控制的装置及方法
CN103222286A (zh) 路由交换装置、网络交换系统和路由交换方法
CN113126911B (zh) 基于ddr3 sdram的队列管理方法、介质、设备
CN103218301B (zh) 用于数字信号处理的存储器访问
CN101848150B (zh) 维护多播计数器的计数值的方法及装置
CN110519174B (zh) 一种面向高阶路由器芯片的高效并行管理方法及架构
CN102789424A (zh) 基于fpga的外扩ddr2的读写方法及基于fpga的外扩ddr2颗粒存储器
CN104052831A (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
C53 Correction of patent for invention or patent application
CB03 Change of inventor or designer information

Inventor after: Ding Ying

Inventor after: Wu Bian

Inventor after: Tong Xiaojiu

Inventor after: Wang Xiaoming

Inventor before: Ding Ying

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: DING YING TO: DING YING WU BIAN TONG XIAOJIU WANG XIAOMING

C14 Grant of patent or utility model
GR01 Patent grant