一种多用户并行操作tcam的控制系统及其控制方法

文档序号:6366634阅读:200来源:国知局
专利名称:一种多用户并行操作tcam的控制系统及其控制方法
技术领域
本发明涉及ー种多用户并行操作TCAM的控制系统及其控制方法。
背景技术
随着互联网的发展,互联网的业务倾向多祥性、复杂性及个性化的趋势。同时带宽越来越大,目前市面上1G/10G,甚至40G/100G都开始进行商用。必然对某些领域带来冲击,尤其是网络信息安全,网络信息监控和网络信息管理等领域,主要是CPU处理的事物越来越多,速率的提高无法满足要求。针对当前的情況,ー种完全基于硬件的网络业务流量查询系统正在悄然而生。其中对业务查询时,需要使用三态内容寻·址存储器(ternary content addressable memory, TCAM)的时候,对TCAM的操作十分复杂或不通用。

发明内容
本发明针对现有技术存在的上述问题,提出了ー种多用户并行操作TCAM的控制系统及其控制方法。本发明采用的技术手段如下本发明的系统是使用通用逻辑芯片和查表存储器件实现,系统包括FIF0単元;TCAM用户仲裁単元,用于对通过FIFO单元操作TCAM的不同用户进行调度;TCAM时序控制単元,用于对不同用户通过FIFO单元输入的TCAM操作指令进行时序控制,形成符合TCAM操作标准的指令数据后输出;TCAM接ロ,用于将TCAM时序控制单元输出的指令数据输出给TCAM ;初始化配置単元,用于对TCAM进行初始化和配置;查询结果仲裁単元,用于对TCAM反馈回来的数据进行封装、识别并发送给相应用户;统计单元,用于对用户对TCAM的操作进行查询统计,显示查询统计結果。
该系统的控制方法包括Cl =TCAM接ロ I提供对初始化配置单元6输出的初始化配置操作指令的调度,产生直接配置TCAM的操作。C2.通过TCAM用户仲裁单元4循环调度FIFO单元3中的各个FIFO数据,由FIFO単元3将汇聚输出的操作指令发送给TCAM时序控制単元2。对不同FIFO有不同的调度,假如第一 FIFO读取I条数据,第二 FIFO读5条数据,第三FIFO读取N条数据,有结束位来指示;C3.循环调度后,TCAM时序控制单元2根据操作指令的格式产生访问TCAM的时序,将FIFO単元3输出的操作指令加入该时序控制,符合TCAM操作标准的指令数据后输出。C4. TCAM接ロ I提供对TCAM时序控制单元2输出的指令数据的调度,产生直接配置TCAM的操作。C5.查询结果仲裁単元5对TCAM反馈回来的数据根据其特征识别其用户后,进行识别分配。通过字段判断不同用户或用户组,分为R1、R2、R3,再进行分配给各个用户组;
C6.通过统计单元将各个用户或用户组统计到的信息,上报到终端显示。本发明的有益效果是在提高TCAM操作速度的同时,对不同厂家的TCAM兼容性较好,可以快速响应市场需求,缩短开发周期。本发明的另ー优点是采用硬件对网络报文进行查询时,采用TCAM器件,为了提高TCAM处理速度,采用多用户和并行方式操作。


为了更清楚的说明本发明的实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做ー简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可 以根据这些附图获得其他的附图。图I是本发明的多用户并行操作TCAM的控制系统的结构图。
具体实施例方式为使本发明的实施例的目的、技术方案和优点更加清楚,下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚完整的描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明的保护范围。如图I所示,该系统包括FIFO单元3 ;TCAM用户仲裁单元4,用于对通过FIFO单元3操作TCAM的不同用户进行调度;TCAM时序控制単元2,用于对不同用户通过FIFO単元3输入的TCAM操作指令进行时序控制,形成符合TCAM操作标准的指令数据后输出;TCAM接ロ 1,用于将TCAM时序控制单元2输出的指令数据输出给TCAM ;初始化配置单元6,用于对TCAM进行初始化和配置。TCAM时序控制单元2连接FIFO单元3,TCAM用户仲裁单元4连接FIFO单元3,TCAM接ロ I连接在TCAM时序控制单元2和TCAM之间,初始化配置单元6连接TCAM。该系统还可以包括查询结果仲裁単元5,用于对TCAM反馈回来的数据进行封装、识别并发送给相应用户。该系统还可以包括一统计单元,用于对用户对TCAM的操作进行查询统计,显示查询统计結果。查询统计结果优选显示为是每一用户组对TCAM查询成功次数、每ー用户对TCAM查询成功次数、某一 TCAM记录被查询到的次数。下面对上述每一功能単元分别详细阐述一、FIFO 单元 3:FIFO单元3又包括多个FIF0,由于不同FIFO代表不同的用户,而不同的用户有不同的操作行为,将同一操作行为的用户放到ー个FIFO中,通过字段设置用户数。优选地,FIFO单元3包括连接第一用户组的第一 FIF032、连接第二用户组的第二 FIF033、连接第三用户组的第三FIF034、和将第一 FIF032、第二 FIF033和第三FIF034接收到的操作指令进行汇聚后,输出给TCAM时序控制単元2的FIFO汇聚单元31。每ー用户组可以包括具有同一操作行为的多个用户,用户数可通过FIFO中的字段设置,最大可以配置的用户数为232个,合计4G用户,三个用户组即可达到12G用户,可满足各种设计要求。注意,FIFO资源由硬件决定。
ニ、TCAM用户仲裁单元4 TCAM用户仲裁単元4可以使用对用户的优先级设置实现调度,也可采用均衡调度方式。在采用均衡调度方式吋,TCAM用户仲裁単元4通过FIFO単元3循环读取用户分区信息,在循环读取环路上増加令牌H1,得到令牌Hl的用户组可对TCAM进行操作,操作完后,该用户组释放令牌Hl到环路上。
三、TCAM时序控制单元2 对TCAM的不同操作需要有不同的时序控制,目前TCAM支持的操作有读寄存器操作、读数据操作、读掩码操作、写寄存器操作、写数据草组、写掩码操作;另外,还提供刪除操作、查询操作。对查询操作中的字宽有严格限制,主要字宽有72bit、144bit、288bit、576bit。由于对TCAM的操作复杂,导致TCAM的时序也复杂。本发明的TCAM时序控制单元2通过有限状态机(FSM)的结构,对不同操作进行不同时序模拟,将产生的数据写入FIFO单元3输出的操作指令中,形成符合TCAM操作标准的指令数据,实现时序控制。值得注意的是,不同操作的时序不同,不同TCAM厂家的产品也有不同的时序,具体的时序需查看TCAM产品说明书。四、TCAM接 ロ I :该功能単元主要是完成对TCAM时序控制単元2输出的指令数据和初始化配置单元6输出的操作指令的调用。五、查询结果仲裁単元5:由于多用户并行操作机制,必然会发生当前TCAM反馈数据是反馈给哪ー用户的哪个操作上,同时需要保证用户访问前后顺序的控制,称为保序操作。为了实现保序操作,对每ー访问TCAM的操作进行记录,在TCAM反馈结果后,立即对TCAM的结果保存并识别用户和配对操作結果。查询结果仲裁単元5首先接收TCAM反馈的所有结果R0,通过识别再分发出Rl到第一用户组、R2到第二用户组、R3到第三用户组,以使不同用户组得到所期望的結果。查询结果仲裁単元5保证识别分发结果过程中不会出现乱序、分发错误、无法识别、通路堵死等异常。另外通过恢复或丢弃处理等,保证某ー错误结果不会导致整个单元无法工作的问题。本发明定义第一用户组、第二用户组、第三用户组输出的操作指令的特殊格式,以区分用户组号、用户身份、用户操作类型、用户操作内容。TCAM时序控制単元2可根据该特定格式计算出TCAM的访问时序,为TCAM时序控制単元2的时序控制提供依据。如下表一和表ニ是操作指令的格式简表表一
权利要求
1.ー种多用户并行操作TCAM的控制系统,其特征在于包括FIFO单元(3) ;TCAM用户仲裁単元(4),用于对通过FIFO単元(3)操作TCAM的不同用户进行调度;TCAM时序控制单元(2),用于对不同用户通过FIFO単元(3)输入的TCAM操作指令进行时序控制,形成符合TCAM操作标准的指令数据后输出;TCAM接ロ(I),用于将TCAM时序控制单元(2)输出的指令数据输出给TCAM ;初始化配置单元(6),用于对TCAM进行初始化和配置。TCAM时序控制单元⑵连接FIFO单元(3),TCAM用户仲裁单元(4)连接FIFO单元(3),TCAM接ロ⑴连接在TCAM时序控制单元(2)和TCAM之间,初始化配置单元(6)连接TCAM。
2.根据权利要求I所述的系统,其特征在于还包括查询结果仲裁単元(5),用于对TCAM反馈回来的数据进行封装、识别并发送给相应用户或用户组。
3.根据权利要求2所述的系统,其特征在于还包括统计单元,用于对用户对TCAM的操作进行查询统计,显示查询统计結果;该查询统计结果显示为每ー用户组对TCAM查询成功次数、每ー用户对TCAM查询成功次数、某一 TCAM记录被查询到的次数。
4.根据权利要求3所述的系统,其特征在于FIFO単元(3)包括连接第一用户组的第一 FIFO(32)、连接第二用户组的第二 FIF0(33)、连接第三用户组的第三FIF0(34)、和将第一 FIFO(32)、第二 FIFO(33)和第三FIFO(34)接收到的操作指令进行汇聚后,输出给TCAM时序控制单元(2)的FIFO汇聚单元(31)。
5.根据权利要求4所述的系统,其特征在于TCAM用户仲裁単元(4)采用均衡调度方式,通过FIFO単元(3)循环读取用户分区信息,在循环读取环路上増加令牌,得到令牌的用户组可对TCAM进行操作,操作完后,该用户组释放令牌到环路上。
6.根据权利要求5所述的系统,其特征在于TCAM时序控制単元(2)通过有限状态机的结构,对不同操作进行不同时序模拟,将产生的数据写入FIFO単元(3)输出的操作指令中,形成符合TCAM操作标准的指令数据。
7.—种如权利要求4所述的系统的控制方法,其特征在于包括步骤 Cl :TCAM接ロ(I)提供对初始化配置单元(6)输出的初始化配置操作指令的调度,产生直接配置TCAM的操作; C2.通过TCAM用户仲裁单元(4)循环调度FIFO单元(3)中的各个FIFO数据,由FIFO単元(3)将汇聚输出的操作指令发送给TCAM时序控制単元(2); C3.循环调度后,TCAM时序控制单元(2)根据操作指令的格式产生访问TCAM的时序,将FIFO単元(3)输出的操作指令加入该时序控制,符合TCAM操作标准的指令数据后输出; C4. TCAM接ロ(I)提供对TCAM时序控制单元(2)输出的指令数据的调度,产生直接配置TCAM的操作; C5.查询结果仲裁単元(5)对TCAM反馈回来的数据,根据其特征识别其用户后,进行分配; C6.通过统计单元将各个用户或用户组统计到的信息,上报到终端显示。
全文摘要
本发明公开了一种多用户并行操作TCAM的控制系统及其控制方法。系统包括FIFO单元;TCAM用户仲裁单元;TCAM时序控制单元;TCAM接口;初始化配置单元;查询结果仲裁单元和统计单元。本发明的有益效果是在提高TCAM操作速度的同时,对不同厂家的TCAM兼容性较好,可以快速响应市场需求,开发出相应产品。
文档编号G06F13/18GK102662888SQ20121007496
公开日2012年9月12日 申请日期2012年3月20日 优先权日2012年3月20日
发明者姜鲲鹏, 张建辉, 彭博, 徐天赐, 李玉峰, 陈庶樵, 魏长城, 黄慧群 申请人:大连梯耐德网络技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1