网络路由器带有用于功能监控、流量办理、网络追寻和网络安全的计算计数器。计数器用来记载数据包抵达和脱离的次数以及特定事情的次数,比方当网络呈现坏包时。数据包的抵达会使多个不同的计算计数器产生更新;但一台网络设备中的计算计数器的数量及其更新速度常常遭到存储技能的约束。
办理计算计数器需求高功能的存储器才干满意多重的读—修正—写操作。本文将描绘一种运用IP办法的共同计算计数器,这种计数器的一端能够衔接网络处理器(NPU),另一端能够衔接Xilinx公司的QDR-IV存储操控器。QDR-IV计算计数器IP是一种带有QDR-IV SRAM、为网络沟通办理和其他计数器运用供给高效计算计数器的软IP。
QDR-IV SRAM概述
QDR-IV SRAM装备两个双向数据端口A和B,能够在一个时钟周期内完结两次数据写入或两次数据读取操作,或一次读写结合的操作。因而,这一特色带来了额定的灵活性,架构师可将之用于读/写并不一定平衡的运用中。每个端口在两个时钟沿均可进行数据传输(DDR(双倍数据速率)操作),作业形式为突发式,每个时钟周期的突发长度为两个字(每个字为X18或X36)。地址总线为通用型,其上升沿和下降沿能分别为端口A和端口B供给地址。部分制造商的QDR-IV SRAM还可支撑嵌入式ECC(过错查看和纠正),可从根本上消除软过错,进步存储器陈设的可靠性。
QDR-IV SRAM分为两种:高功能 (HP) QDR-IV和超高功能 (XP) QDR-IV。HP设备的最大运转频率为667 MHz,而XP设备的最大运转频率为1066 MHz。QDR-IV XP能够经过将存储空间分红分红8个内存条来添加功能,用地址的3个最低有用位(LSB)表明。要求的存储计划是在同一周期内存取不同的内存条。从一个周期到另一周期,一切的内存条均可存取,体系规划师可经过规划体系架构来相应地分配回忆库地址,以充分发挥极速存储器的RTR功能。这样,开发人员能够在下降总体系本钱的一起大幅进步功能。
计算计数器IP
QDR IV计算计数器是一种带有QDR-IV SRAM,而且为网络沟通办理和其他计数器运用供给计算计数器的软IP。该IP选用支撑体系办理存取端口的读—修正—写逻辑。该IP的一端能够衔接网络处理单元(NPU),另一端能够衔接 QDR-IV存储操控器。因为该计算计数器支撑400Gbps及更快速率的线卡,因而功能仅受限于所运用的FPGA和QDR-IV设备。
计算计数器IP的运转
图1是运用QDR-IV和计算计数器IP的用例。典型的网络处理单元(NPU)以800M的每秒配对物更新速率发送计算(STATS)更新恳求。每一项STATS恳求包含在一个72位字中带有两个计数器(数据包和字节计数)的进口/出口包指令令牌。整个计数器缓存数据以1秒为距离,更新到体系存储器中的终身计数器(一般为DRAM)。这一来自NPU的回读被称为处理器(PROCS)更新恳求。PCIe接口用于传输计数器缓存数据以更新终身计数器。下图显现了STATS IP的设置和与Xilinx存储操控器、PCIe总线和NPU衔接的QDR-IV存储器。
图1:带计算IP、NPU和存储器的完好根底架构
计算IP适用于HP和XP QDR-IV存储器。其运转形式经过坐落IP规划顶层接口的单一参数操控。两个计数器(数据包和字节)的每个流地址为单72位字。一个144Mb QDR-IV SRAM支撑四百万计数器。该规划所要求的IP接口数量与所运用的QDR-IV SRAM的数量适当。
正如模块图所示,NPU经过4x25Gbps链路将计算和处理恳求推送到IP中。IP的运转频率为存储器存取频率的四分之一,而且运用四条被称为“通道”的平行数据途径以匹配存储器带宽。在存储接口HP和XP运转形式中,端口A作为读取端口,端口B作为写入端口。每项计算恳求对保存在与该恳求相关的共同存储方位中的计数器数据进行读—修正—写操作。
读写恳求经过分阶段来推迟与QDR-IV存储器读取推迟以及存储操控器推迟的匹配。分阶段规划也作为本地缓存累积推迟过程中的服务更新恳求。在HP形式中,没有计算/处理器更新地址约束经过四根通道中的任何一根。地址的产生可能是随机的,而且无需给每根通道分配特定类型的地址。但因为在XP形式中存储器的区块结构和约束与其相关,因而通道0和1被分配到保存进口流数据的奇数地址方位,通道2和3被分配到保存出口流数据的偶数地址方位。这一共同的组织能够防备可能在XP形式中产生的分块约束方位。