动态范围匹配表维护方法

文档序号:7954793阅读:367来源:国知局
专利名称:动态范围匹配表维护方法
技术领域
本发明涉及动态范围匹配表的维护方法,特别是对动态范围匹配表中的表项进行添加和删除的方法。
背景技术
三态内容可寻址存储器(Ternary Content Addressable Memory,简称TCAM)与普通存储器不同,普通存储器的寻址方式为输入地址,输出内容;而三态内容可寻址存储器可以根据输入的内容得到地址,也就是说,当输入一个内容(通常叫做比较数)时,TCAM会把比较数和TCAM中存储的数据进行比较,如果有命中表项,则输出命中表项的地址,三态内容可寻址存储器的每个存储单元除了“0”、“1”状态外,还有一个“don’t care”状态,表示既可以为“0”又可以为“1”。由于TCAM具有三态存储的功能,在输入一个比较数时,可能会有多个TCAM地址中的内容和比较数相同,如何确定哪一个地址为真正命中的地址,解决方法为,TCAM中存放的表项被分配有优先级,较低物理地址的表项具有较高的优先级,在出现多命中的情况下,优先级最高的表项的地址为查找的结果。
使用TCAM进行范围表示的方法如下TCAM的三态存储方式为带掩码的数据提供了非常方便的存储方式,带掩码的数据实际上是一种特殊的范围,即从2n~2n+1-1的范围,对于一般的范围,可以拆分成若干个这样的特殊范围的并集,可以证明数据位宽为n的数据段的任意范围最多可以拆分成2(n-1)个可以直接存放在TCAM中的特殊的数据/掩码形式的范围。
范围匹配表为按照TCAM表的范围表示规则拆分为一个或多个范围区间后,可以作为一条或多条TCAM表项存入TCAM的表。动态范围匹配表是指不具备优先级特性的范围匹配表。作为一种典型的范围匹配表,动态范围匹配表被广泛应用于的通信领域当中。在传统的范围匹配表维护方法中,因其具有优先级特性,其维护结构和维护方法比较复杂,维护难度大,而动态范围匹配表不具备优先级特征,对它的维护不应采用常用的范围匹配表的优先级维护方法。

发明内容
本发明的目的是针对上述现有技术的不足,即在维护TCAM中的动态范围匹配表时,将表项作为优先级范围匹配表管理维护所存在的复杂低效的问题,提供对动态范围匹配表的维护方法,改善了目前没有TCAM中动态范围匹配表维护方法供使用的现状。
为实现上述目的,本发明提出了对动态范围匹配表的维护方法,其中执行以下步骤步骤1、为动态范围匹配表包含的规则创建相应的维护结构,在该维护结构中,每一条规则对应三态内容可寻址存储器的一个或多个表项,所述的维护结构满足所述动态范围匹配表与表中规则之间的关联要求,并用于对所述动态范围匹配表的各个规则进行维护;步骤2、根据所述的各个规则对应的维护结构对保存的所述动态范围匹配表中的各规则进行维护,并对所述表项进行相应操作。
规则节点对应所述动态范围匹配表中的范围匹配规则,该规则节点采用所述的维护结构表示。
规则优先级、规则分解表项数目、分解规则首表项指针、分解规则尾表项指针及规则节点有效标志位。
所述三态内容可寻址存储器的一个或多个表项采用链表结构维护。
所述分解规则首表项指针指向所述链表结构的首表项,所述分解规则尾表项指针指向所述链表结构的尾表项。
在添加表项时,执行以下步骤步骤1、将范围匹配规则拆分为多个三态内容可寻址存储器表项;步骤2、判断三态内容可寻址存储器的容量是否足够所述多个表项的插入,如果是,则执行步骤3;否则执行步骤5;步骤3、在三态内容可寻址存储器的空闲表项链中插入所述多个表项;步骤4、更新空闲链表;步骤5、结束。
在删除表项时,执行以下步骤步骤1、由动态范围匹配表索引得到其对应的三态内容可寻址存储器表项链;步骤2、将表项链中的所有表项删除;步骤3、将表项链归还入空闲表项链中;步骤4、结束。
该方法减小了因普通范围匹配表的优先级维护产生的管理维护开销,改善了没有现成的TCAM中动态范围匹配表维护算法供使用的现状。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。


图1为本发明对动态范围匹配表的维护方法的实施例中范围匹配规则节点的维护结构示意图;图2为本发明对动态范围匹配表的维护方法的实施例中添加表项的流程图;图3为本发明对动态范围匹配表的维护方法的实施例中删除表项的流程图。
具体实施例方式
动态范围匹配表具有单条规则对应一至多条TCAM表项和表中优先级平等的特性,在本发明中,为每一条范围匹配规则定义一个范围匹配规则节点,该节点的结构如图1所示,其中,包括规则索引,为原始表的索引号;规则分解表项数目,为原始表按照分解规则被拆分成TCAM表中被存储表项的数目;;分解规则首表项指针,指向TCAM表的首表项;;分解规则尾表项指针,指向TCAM表的尾表项;以及规则节点有效标志位。将所有TCAM中的空闲表项组织为空闲链。
如图2所示,为本发明对动态范围匹配表的维护方法的实施例中添加表项的流程图,具体执行以下步骤步骤101、将范围匹配规则拆分为多个三态内容可寻址存储器表项,设表项条数为N;步骤102、判断三态内容可寻址存储器的容量是否足够N个表项的插入,如果是,则执行步骤3;否则执行步骤5;步骤103、在三态内容可寻址存储器的空闲表项链中插入N个表项,并将该空闲表项链的首尾指针赋给规则节点的相应指针;步骤104、更新空闲链表,根据预计拆分的规则数,预分配一块内存空间;步骤105、结束。
如图3所示,为本发明对动态范围匹配表的维护方法的实施例中删除表项的流程图,具体执行以下步骤步骤201、由动态范围匹配表索引得到其对应的三态内容可寻址存储器表项链;步骤202、将表项链中的所有表项删除;步骤203、将表项链归还入空闲表项链中;步骤204、结束。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围。
权利要求
1.一种动态范围匹配表的维护方法,其中执行以下步骤步骤1、为动态范围匹配表包含的规则创建相应的维护结构,在该维护结构中,每一条规则对应三态内容可寻址存储器的一个或多个表项,所述的维护结构满足所述动态范围匹配表与表中规则之间的关联要求,并用于对所述动态范围匹配表的各个规则进行维护;步骤2、根据所述的各个规则对应的维护结构对保存的所述动态范围匹配表中的各规则进行维护,并对所述表项进行相应操作。
2.根据权利要求1所述的动态范围匹配表的维护方法,其中所述步骤1包括规则节点对应所述动态范围匹配表中的范围匹配规则,该规则节点采用所述的维护结构表示。
3.根据权利要求2所述的动态范围匹配表的维护方法,其中所述规则节点具体包括规则优先级、规则分解表项数目、分解规则首表项指针、分解规则尾表项指针及规则节点有效标志位。
4.根据权利要求3所述的动态范围匹配表的维护方法,其中所述三态内容可寻址存储器的一个或多个表项采用链表结构维护。
5.根据权利要求4所述的动态范围匹配表的维护方法,其中所述分解规则首表项指针指向所述链表结构的首表项,所述分解规则尾表项指针指向所述链表结构的尾表项。
6.根据权利要求1至5中任意一项所述的动态范围匹配表的维护方法,其中步骤2中所述相应操作为插入操作时具体执行以下步骤步骤1、将范围匹配规则拆分为多个三态内容可寻址存储器表项;步骤2、判断所述三态内容可寻址存储器的容量是否足够所述多个表项的插入,如果是,则执行步骤3;否则执行步骤5;步骤3、在所述三态内容可寻址存储器的空闲表项链中插入所述多个表项;步骤4、更新空闲链表;步骤5、结束。
7.根据权利要求1至5中任意一项所述的动态范围匹配表的维护方法,其中步骤2中所述相应操作为删除操作时具体执行以下步骤步骤1、由动态范围匹配表索引得到其对应的三态内容可寻址存储器表项链;步骤2、将所述表项链中的所有表项删除;步骤3、将所述表项链归还入空闲表项链中;步骤4、结束。
全文摘要
本发明涉及一种动态范围匹配表的维护方法,其中执行以下步骤步骤1.为动态范围匹配表包含的规则创建相应的维护结构,在该维护结构中,每一条规则对应三态内容可寻址存储器的一个或多个表项,所述的维护结构满足所述动态范围匹配表与表中规则之间的关联要求,并用于对所述动态范围匹配表的各个规则进行维护;步骤2.根据所述的各个规则对应的维护结构对保存的所述动态范围匹配表中的各规则进行维护,并对所述表项进行相应操作。该方法减小了因普通范围匹配表的优先级维护产生的管理维护开销,改善了没有现成的TCAM中动态范围匹配表维护算法供使用的现状。
文档编号H04L12/56GK1896991SQ20061003410
公开日2007年1月17日 申请日期2006年3月2日 优先权日2006年3月2日
发明者余蓁, 胡睿 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1