[发明专利]一种快速搜索CAM的方法无效
申请号: | 201210385491.7 | 申请日: | 2012-10-12 |
公开(公告)号: | CN102937969A | 公开(公告)日: | 2013-02-20 |
发明(设计)人: | 周恒钊;陈继承 | 申请(专利权)人: | 浪潮电子信息产业股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F12/08 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 250014 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 快速 搜索 cam 方法 | ||
技术领域
本发明涉及集成电路设计领域, 具体地说是一种快速搜索CAM的方法。
背景技术
CAM(Content Addressable Memory),是一种特殊类型的计算机存储器,被广泛运用于计算机和通信领域。标准的存储器RAM的功能为根据用户提供的读地址返回存储在该地址上的数据字。不同于RAM,CAM的功能为根据用户提供的一个数据字,搜索全部的存储以判断该数据字是否存储在其中。如果找到这个数据字,则返回匹配地址,即该数据字在存储器中的位置,因此CAM就是软件术语associative array的硬件具体化。
通常的CAM设计原理为在一个操作中搜索整个存储,即读出存储器中每一组数据,并将外部接收的数据与之逐一进行比较,然后根据比较结果对其进行优先译码,优先译码器产生一个二进制的匹配位置定位和一个匹配命中信号。常规的CAM实现方法有两种,一种为将数据存储在SRAM中,搜索时逐一读出SRAM中的内容与查找字进行比较。另一种为将数据存储在Register搭建存储器组中,搜索时将查找字广播到每一组Register中进行比较,再由优先译码器根据各组的比较结果产生匹配位置和匹配命中信号。
但上述两种实现方法均存在不同程度的弊端,第一种方法受到RAM读端口数量的限制,且完成一个CAM搜索过程需要的延时很大,L = (存储器深度/RAM读端口个数)* Tclk ,需要多个时钟周期。在RAM器件规格确定,端口不变的前提下,存储器深度越大,CAM搜索延迟也就越大。以一个1读1写两端口SRAM实现的CAM为例,若存储深度为64,则需要64个时钟周期才能完成一次搜索。第二种方法则受到资源和面积的约束,使用Register搭建的存储器组虽然能并行对查找字进行比较,但占用的芯片面积比同等容量的SRAM大。查找字数据宽度越大,这种面积差距就越明显,为芯片的资源分配和布局布线带来很大的挑战。
发明内容
本发明的目的是提供一种快速搜索CAM的方法。
本发明的目的是按以下方式实现的,快速搜索CAM是基于SRAM存储器和逻辑控制模块来实现,以搜索内容作为读地址,同时进行多块SRAM存储器访问,SRAM存储器中存储的内容均为宽度等同于CAM搜索深度的位向量,位向量中的有效位即指示搜索匹配结果和匹配项地址,经过逻辑控制模块合并多块SRAM存储器输出的结果,得到完整搜索内容在CAM中的匹配结果和匹配项的地址;具体步骤如下:
1)SRAM存储器存放宽度等同于CAM搜索深度的位向量,每次进行CAM搜索时以被检索的数据作为读地址,发起相应的SRAM存储器读操作,SRAM存储器返回对应地址上的位向量;
2)SRAM存储器的读使能由CAM搜索使能驱动,读地址由CAM搜索内容驱动,将CAM的查找字以存储器深度为基数划分为若干个搜索子区间,每个子区间各对应一片SRAM存储器,所有SRAM存储器之间互不相干;
3)并行读出每个子区间所对应的SRAM存储器中的位向量,每个位向量都代表了它所在查找字子区间的匹配信息,由CAM控制逻辑模块完成对每个位向量的合并操作,即每次输入的相同数据宽度的二进制操作数逐位与&操作,计算出一个完整宽度的查找字在CAM中的匹配信息;
4)SRAM存储器中每个地址上均存放着数据宽度等同于CAM搜索深度的位向量,位向量每一位指代一个CAM的有效入口,1表示该入口有效,0表示无效,指示CAM有效入口的位向量,位向量中值为1的位所在位向量中的位置即为该有效入口在CAM中的匹配地址;位向量某一位值等于1,说明CAM中同等位置上存在与查找字相同的数据,搜索完成,匹配成功,位向量所有位都等于0,说明CAM中不存在与查找字相同的数据,搜索完成,匹配失败;
5)CAM控制逻辑模块在接收到SRAM存储器控制单元发出的每个位向量后对其进行合并,缩减和优先译码,计算出最终的搜索匹配结果和匹配地址,并在端口上输出对应内容,完成对多个SRAM存储器读出数据的合并操作和各子区间对应的位向量的与操作,得到完整搜索数据所对应的位向量;
6)CAM控制逻辑模块合并操作完成后,对合并结果进行缩减运算或(|)操作和优先译码pri-encoder操作,合并位向量的缩减运算或操作的结果即为CAM的搜索匹配结果,1表示匹配成功,0表示匹配失败,合并位运算的优先译码操作的结果即为CAM的匹配项在CAM中的地址;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮电子信息产业股份有限公司,未经浪潮电子信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210385491.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种认知无线传感器网络跨层协议设计方法
- 下一篇:图像处理设备和图像处理方法