[发明专利]一种用TCAM实现关键字快速查找并读表的方法有效
申请号: | 201110411912.4 | 申请日: | 2011-12-12 |
公开(公告)号: | CN102402611A | 公开(公告)日: | 2012-04-04 |
发明(设计)人: | 郑海东;龚源泉;廖继平 | 申请(专利权)人: | 盛科网络(苏州)有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;H04L12/56 |
代理公司: | 苏州慧通知识产权代理事务所(普通合伙) 32239 | 代理人: | 安纪平 |
地址: | 215021 江苏省苏州市苏州工业园*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 tcam 实现 关键字 快速 查找 方法 | ||
技术领域
本发明涉及计算机网络技术,尤其涉及在以太网交换机芯片中采用TCAM实现对不同种类不同比特关键字(Key)进行快速查找的方法。
背景技术
在以太网交换机芯片中,会经常涉及到快速查找ACL(Access Control List,访问控制列表),路由表等功能,这时候查找效率将会影响到芯片的性能。TCAM(Ternary Content Addressable Memory,三态内容寻址存储器)具有快速并行查找,访问方式简单的特点,非常适合这种场合。然而TCAM同时又具有成本高,功耗大的缺点,制约了其在芯片中的大量使用。查表结束后,通常需要根据TCAM查回来的地址,读取此地址对应的SRAM中的表项。交换机芯片中涉及到的表项越来越多,需要查TCAM的Key的位宽变得越来越大,如何再用尽量少的TCAM和SRAM来做尽量多的查表,直接决定了芯片的成本和性能。
在ACL查找时,关键字的长度会有80/160/320/640等多种位宽,同时,同一个key可能查1次或多次。查1次得到1个地址,查多次将同时得到多个地址。之后根据地址,会去读相应的SRAM表项,这时候要读1次或多次SRAM表项。除了ACL,芯片还会做路由等查找。上述各种情况的混合,增加了TCAM使用的复杂度。现有的做法是将ACL和其他查表根据表的类型和关键字的大小放在不同位宽的TCAM中,然后根据查找回来的地址,串行去访问SRAM。
这种方法需要的TCAM数量比较多,同时要求有不同位宽。如果某一种或某一种大小关键字的查找表没有使用完当前的TCAM,将产生浪费。而且会导致存放表象的SRAM的浪费。如果ACL查找多次,得到多个索引(index)串行访问SRAM,这样对SRAM中数据的读取将成为瓶颈,影响了芯片的整体性能。
发明内容
本发明目的在于通过灵活的TCAM映射方法,将不同比特和不同种类的Key映射到同一块TCAM上,用有限的TCAM资源实现尽可能多的不同类型的查找。查表回来的地址会去读数据存储器。通过灵活的SRAM映射关系,能在一个时钟周期内,把多个地址的数据同时读出并发送出去。这种方法能用最少的TCAM资源,实现以太网交换芯片中一个包尽可能多的查找和读表次数;这里的TCAM和SRAM映射关系都可以通过配置寄存器来灵活设置,支持尽可能多的应用场合。
为实现上述目的,本发明提出如下技术方案:一种用TCAM实现关键字快速查找并读表的方法,在TCAM进行关键字的查找时,根据关键字的种类和比特,将关键字放在一个TCAM上或多个TCAM上,并在TCAM和SRAM间通过配置寄存器形成映射关系,使得从TCAM中查找得到的地址通过所述寄存器的逻辑控制分配到任意一个SRAM上,实现关键字在TCAM上的并行查找和SRAM中数据的并行读取。
更进一步地,所述关键字的种类为选自访问控制列表和路由表中的一种或两种。
不同种类和不同比特的关键字放置到同一个TCAM上进行查找。
所述TCAM支持对关键字进行多次并行查找。
当关键字是访问控制列表且多次查找时,根据从TCAM中查到的相应地址配置TCAM寄存器,并由TCAM寄存器将不同TCAM上得到的地址映射到不同的访问控制列表的地址上。
从TCAM中查到的地址根据关键字对应的表项基址配置SRAM寄存器并得到最终的地址,所述最终地址根据SRAM映射寄存器的映射到不同的SRAM上。
所述映射关系是将TCAM中的关键字与该关键字在SRAM中对应的数据间的对应关系。
查找的关键字在TCAM中的分配方式为:与TCAM位宽相同的关键字将发送到每一个TCAM进行并行查找,而大于TCAM位宽的关键字会将高位的发送到偶数的TCAM(TCAM#2N)中,低位的发送到与所述偶数紧接着下来的奇数TCAM(TCAM#2N+1)。
与现有技术相比,本发明能充分利用TCAM和SRAM资源,使得同一个TCAM上能够同时放置不同比特位宽不同类型的关键字,关键字和相对应的表项在TCAM和SRAM灵活配置。同时能支持一个关键字并行查找多个地址,而且能并行读取SRAM数据。提高了交换机芯片查表的效率,在保证通用查表性能的情况下降低了芯片的面积和功耗。
附图说明
图1为本发明TCAM和SCAM映射举例示意图;
图2为本发明TCAM和SCAM 80位宽映射关系示意图;
图3为本发明TCAM和SCAM 160位宽映射关系示意图;
图4为本发明TCAM和SRAM映射实现结构示意图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于盛科网络(苏州)有限公司,未经盛科网络(苏州)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110411912.4/2.html,转载请声明来源钻瓜专利网。