发明名称 一种快速搜索CAM的方法
摘要 本发明提供一种快速搜索CAM的方法,包括模块划分以及数据处理流程,整个设计划分为三个单元,查找字区间划分单元,SRAM存储器单元和CAM控制逻辑模块,其中查找字单元负责接收CAM搜索使能和CAM搜索内容,并对CAM搜索内容,即查找字进行区域划分,得到N个子区间,每个子区间对应1个子查找字,以此驱动SRAM存储器单元的读操作地址,同时查找字划分单元输出各片SRAM存储器的读使能信号,SRAM存储器单元接收到读使能信号有效即开始读操作,读出相应地址上的位向量,并且在端口上输出。
申请公布号 CN102937969A 申请公布日期 2013.02.20
申请号 CN201210385491.7 申请日期 2012.10.12
申请人 浪潮电子信息产业股份有限公司 发明人 周恒钊;陈继承
分类号 G06F17/30(2006.01)I;G06F12/08(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 代理人
主权项 一种快速搜索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中不存在与查找字相同的数据,搜索完成,匹配失败;4)CAM控制逻辑模块在接收到SRAM存储器控制单元发出的每个位向量后对其进行合并,缩减和优先译码,计算出最终的搜索匹配结果和匹配地址,并在端口上输出对应内容,完成对多个SRAM存储器读出数据的合并操作和各子区间对应的位向量的与操作,得到完整搜索数据所对应的位向量;5)CAM控制逻辑模块合并操作完成后,对合并结果进行缩减运算或(|)操作和优先译码pri‑encoder操作,合并位向量的缩减运算或操作的结果即为CAM的搜索匹配结果,1表示匹配成功,0表示匹配失败,合并位运算的优先译码操作的结果即为CAM的匹配项在CAM中的地址;6)CAM的写操作由CAM控制逻辑模块进行控制:由优先译码器找到CAM空项,然后通过SRAM存储器的写端口向地址等同于写入数据的存储字发起写操作,写入内容为该地址上原有存储字与写入对应的位为1,其余位为0的位向量进行逐位或操作的计算结果。
地址 250014 山东省济南市高新区舜雅路1036号