[发明专利]一种现场可编程门阵列FPGA及数据存储方法在审
申请号: | 201510366845.7 | 申请日: | 2015-06-26 |
公开(公告)号: | CN105119768A | 公开(公告)日: | 2015-12-02 |
发明(设计)人: | 魏强 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | H04L12/26 | 分类号: | H04L12/26 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 冯艳莲 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 现场 可编程 门阵列 fpga 数据 存储 方法 | ||
技术领域
本发明涉及通信技术领域,特别涉及一种FPGA及数据存储方法。
背景技术
流级统计是流量分析里的重要部分,用于监测网络上的数据报文的数目、错包数、抖动、延迟、速率等一系列特征。数据报文发起以后,经路由器进行转发,以太网测试仪表对路由器转发的数据报文进行分析,以达到测试路由转发性能的目的,如图1所示。
目前,以太网端口已具备100Gbps甚至400Gbps的小字节(64Bytes)线速的处理能力,通用CPU(CentralProcessingUnit,中央处理单元)硬件无法匹配如此高的端口速率,也无法满足测试要求,因此,业界一般采用专用硬件FPGA(Field-ProgrammableGateArray,现场可编程门阵)实现高速、高精确度、高实时性的统计。
现有技术中,通常采用FPGA内部的BLOCKRAM或者REGISTER资源实现数据报文的流级统计,如果需统计的流级用户数较多,通常在FPGA外部连接存储器,如(SRAM(StaticRandomAccessMemory,静态随机存取存储器)、DRAM(DynamicRandomAccessMemory,动态随机存取存储器)等,采用“寻址+累加+存储”的方式进行统计,但其支持的流级统计速率和流级用户数之间无法平衡,如支持的流级统计速率高但流级用户数较少,或支持的流级用户数多但流级统计速率低。
发明内容
本发明实施例提供一种FPGA及数据存储方法,用以解决现有技术中存在的流级统计过程中支持的流级用户数和流级速率之间无法平衡的缺陷,即若支持的流级用户数较大时,流级统计速率较低;若支持的流级统计速率较高时,流级用户数较少。
第一方面,提供一种现场可编程门阵列FPGA,包括:
第一流级统计模块,用于在属于一级缓存的第一缓存中查找接收到的数据报文所属数据流的第一当前流级统计值,并根据所述第一当前流级统计值计算所述数据流的第一更新流级统计值;
溢出判断模块,用于判断将所述第一更新流级统计值存储到所述第一缓存中时是否溢出,并在判断结果为否时,将所述第一更新流级统计值替换所述第一缓存中存储的第一当前流级统计值;
第二流级统计模块,用于在所述溢出判断模块的判断结果为是时,根据所述第一更新流级统计值计算第二更新流级统计值,并将所述第二更新流级统计值存储至属于二级缓存的第二缓存中;
所述第一缓存的位宽小于所述第二缓存的位宽。
结合第一方面,在第一种可能的实现方式中,所述第一流级统计模块根据所述第一当前流级统计值计算所述数据流的第一更新流级统计值时,具体用于:
将所述第一当前流级统计值加1之和,作为所述第一更新流级统计值;或
确定属于所述数据流的未统计的数据报文的数量,将所述第一当前流级统计值与所述未统计的数据报文的数量之和,作为所述第一更新流级统计值。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述第一流级统计模块还用于:
确定与接收到的数据报文所属的数据流所对应的缓存标识ID;
将与所述缓存ID对应的缓存作为所述第一缓存。
结合第一方面,或者第一方面的第一种至第二种可能的实现方式,在第三种可能的实现方式中,所述第二流级统计模块,具体用于:
确定存在与所述数据流所对应的第二缓存,将所述第二缓存当前存储的数值作为第二当前流级统计值;
将所述第二当前流级统计值和所述第一更新流级统计值之和,作为所述第二更新流级统计值;
将所述第二更新流级统计值替换所述第二缓存中存储的第二当前流级统计值。
结合第一方面,或者第一方面的第一种至第二种可能的实现方式,在第四种可能的实现方式中,所述第二流级统计模块,具体用于:
在确定不存在与所述数据流所对应的第二缓存时,将所述第一更新流级统计值作为所述第二更新流级统计值;并添加与所述数据流对应的第二缓存,将所述第二更新流级统计值存储到所述第二缓存中。
结合第一方面,或者第一方面的第一种至第四种可能的实现方式,在第五种可能的实现方式中,还包括:
控制器,用于在确定满足预设条件时,针对所述数据流,将所述第一缓存和所述第二缓存中针对所述数据流的所有流级统计值之和,作为针对所述数据流的流级总统计值;
刷新模块,用于根据所述流级总统计值对动态随机存取存储器RAM中存储的针对所述数据流的流级统计值进行更新。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510366845.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:自动绞线机
- 下一篇:用于铜丝疏绕屏蔽的分线板