[发明专利]一种查找内容可寻址存储器表项的方法和装置有效
申请号: | 200910210011.1 | 申请日: | 2009-11-03 |
公开(公告)号: | CN101694664A | 公开(公告)日: | 2010-04-14 |
发明(设计)人: | 赵里遥 | 申请(专利权)人: | 杭州华三通信技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;H04L12/56 |
代理公司: | 北京鑫媛睿博知识产权代理有限公司 11297 | 代理人: | 龚家骅 |
地址: | 310053 浙江省杭州市高新技术产业*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 查找 内容 寻址 存储器 方法 装置 | ||
技术领域
本发明涉及存储技术领域,尤其涉及一种查找内容可寻址存储器表项的方 法和装置。
背景技术
CAM(Content-addressable memory,内容可寻址存储器),也叫做associative memory(关联存储器)、associative storage(关联贮存器)或者associative array (关联阵列),是一种用于高速搜索的特殊计算机存储器。CAM是为搜索时 间敏感的应用提供的硬件搜索引擎,具有相对于使用算法的搜索方法更快的 查找速度。
CAM包括两种基本形式:Binary CAM和Ternary CAM,其中,Binary CAM 是一种最简单的CAM,支持二进制位(0或者1)的存储和搜索;Ternary CAM 支持第三种匹配状态“不关心”,用于提供搜索的灵活性。例如,Ternary CAM 存储了一个表项为″10XX0″,该表项将会匹配″10000″、″10010″、″10100″或者 ″10110″四个搜索字中的任何一个。相对于Binary CAM,Ternary CAM额外的 搜索灵活性也伴随着额外的开销,内部存储单元必须可以编码3种可能的状 态,而不是Binary CAM的两种状态,上述额外的状态通常通过给所有存储单 元增加表示关心或不关心的掩码位来实现。
CAM的搜索时间敏感应用通常用于路由器/交换机中的报文转发和报文 分类。Binary CAM是一种基于RAM技术的存储器,能够在一个硬件时钟周 期内完成关键字的精确匹配查找,只要输入关键字的内容,CAM就会将该关 键字与CAM中所有的表项同时进行匹配比较,最后返回索引地址。CAM技 术可以实现快速的路由或ACL查找,但不能存储变长的路由前缀或位置灵活 变化的ACL域,从而造成存储空间的浪费。Ternary CAM是为克服Binary CAM 的上述缺点而提出的,Ternary CAM的优点是它所保存的表项在长度要求上非 常灵活,即可以在同一个Ternary CAM芯片中保存任意长度的关键字表项。 Ternary CAM中的每一个表项都是由内容项和掩码项两部分共同构成,可以对 存储空间的每一位进行屏蔽,可以方便地屏蔽掉不需要处理的数据位,由此 提高了处理速度。
用于IP封包转发的RAM查找技术包括,在RAM中存放端口的IP地址 和其他相关表项,在执行查找的过程中,基于一定的软件算法,通过输入RAM 中的地址得到地址中的数据,然后判断该数据是否为所需要的地址,如果判 断结果为是,则直接从该地址输出对应的表项,其路由查找主要是基于软件 的算法,通常由PP(Packet Processor,包处理器)来完成的。ACL(Access Control List,访问控制列表)是一个有序的语句集,具有广泛的应用,是一个基于将 规则与报文进行匹配,用来允许或拒绝报文流的排序表。传统的网络在ACL 表查找方面主要通过软件或软硬件配合的方式完成,处理效率较低,已经逐 渐成为设备性能的瓶颈。在交换设备中,多业务处理带来的频繁的对ACL表 的访问,使得交换设备处理性能大大下降。
Ternary CAM在CAM领域的出现是因为路由的最长前缀匹配是Internet 的标准,路由器和交换机转发IP封包时,转发引擎需要在路由表中查找该IP 报文中目的地址所对应的路由信息,从而决定IP报文的转发方式。如表1所 示,为转发IP报文时的简化路由表。
表1转发报文时的简化路由表
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州华三通信技术有限公司,未经杭州华三通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910210011.1/2.html,转载请声明来源钻瓜专利网。
- 内容再现系统、内容提供方法、内容再现装置、内容提供装置、内容再现程序和内容提供程序
- 内容记录系统、内容记录方法、内容记录设备和内容接收设备
- 内容服务系统、内容服务器、内容终端及内容服务方法
- 内容分发系统、内容分发装置、内容再生终端及内容分发方法
- 内容发布、内容获取的方法、内容发布装置及内容传播系统
- 内容提供装置、内容提供方法、内容再现装置、内容再现方法
- 内容传输设备、内容传输方法、内容再现设备、内容再现方法、程序及内容分发系统
- 内容发送设备、内容发送方法、内容再现设备、内容再现方法、程序及内容分发系统
- 内容再现装置、内容再现方法、内容再现程序及内容提供系统
- 内容记录装置、内容编辑装置、内容再生装置、内容记录方法、内容编辑方法、以及内容再生方法