[发明专利]基于散列链表的内容寻址方法及相应的存储器电路有效

专利信息
申请号: 201210579916.8 申请日: 2012-12-27
公开(公告)号: CN103064948A 公开(公告)日: 2013-04-24
发明(设计)人: 田泽;张荣华;张玲;刘航 申请(专利权)人: 中国航空工业集团公司第六三一研究所
主分类号: G06F17/30 分类号: G06F17/30;G06F12/02
代理公司: 西安智邦专利商标代理有限公司 61211 代理人: 王少文
地址: 710068 *** 国省代码: 陕西;61
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 散列链表 内容 寻址 方法 相应 存储器 电路
【说明书】:

技术领域

发明属于计算机硬件技术,涉及一种内容寻址存储器实现方法。

背景技术

内容寻址存储器(Content Addressable Memory,简称CAM)是一种特殊的存储器阵列,它的主要工作机制就是将一个输入数据项与存储在CAM中的所有数据项自动进行比较,并输出该数据项对应的匹配信息,具有检索速度快,使用灵活等特点,被广泛应用于网络通信等领域。现有技术主要采用晶体管级全定制电路设计实现,其优点是检索速度快,缺点是需要专门工艺、成本高昂,不利于大规模使用;目前基于RTL设计的电路一般采用串行、并行、二分法、散列法等设计思路,设计的电路不是检索速度慢,就是消耗资源太多,不利于检索深度和宽度的扩展,无法满足现代网络通信和数据处理对检索深度和速度的使用要求。

发明内容

本发明的目的是提供一种采用RTL设计语言,综合散列查找、链表存储、并行比较等技术的内容寻址存储器电路实现方法。

本发明的解决方案是:

一种基于链接散列的内容寻址方法,其包括以下步骤:

步骤1、用户定义检索关键字和检索深度,其中检索关键字位宽为M,检索关键字关联内容位宽为C,检索深度为2S

步骤2、取检索关键字最高位作为分支BR,从次高位开始依次取3位作为迷你关键字MKEY,检索关键字剩余位作为散列地址HASHADD;

步骤3、定义检索散列函数,将检索关键字作为散列函数的输入,散列地址HASHADD作为散列函数的结果;

步骤4、构造链表存储器,在链表存储器中动态创建散列函数结果冲突的检索数据链表,其中冲突数目大于1且小于等于4时,创建一级链表存储器,冲突数目大于4时,创建二级链表存储器;链表存储器地址宽度为S/2,存储器数据宽度为W=4×(关键字有效位+迷你关键字+偏移地址),存储4个检索关键字对应的关键字有效位#_VAL、迷你关键字#_MKEY、偏移地址#_OFFSET,所述#_VAL代表3_VAL,2_VAL,1_VAL,0_VAL;所述#_MKEY代表3_MKEY,2_MKEY,1_MKEY,0_MKEY;所述#_OFFSET代表3_OFFSET,2_OFFSET,1_OFFSET,0_OFFSET;

当3_VAL为1时,链表存储器3_VAL、3_MKEY、3_OFFSET字段为一个有效的数据项对应的检索信息;当3_VAL为0且3_MKEY为111时,字段3_OFFSET为一个二级链表指针;当3_VAL为0且3_MKEY为100时,字段3_OFFSET为下一个空闲链表指针;当3_VAL为0且3_MKEY为其他值时,3_MKEY、3_OFFSET字段为无效的数据项;

步骤5、构造链表存储器管理电路,包括位宽为S/2的空闲链表头指针、位宽为S/2的空闲链表尾指针、位宽为S/2+1的空闲链表计数器、位宽为S/2+1的链表使用计数器;

步骤5.1,内容寻址存储器复位后,空闲链表头指针为0,空闲链表尾指针为2S/2-1,空闲链表计数为2S/2,链表初始化状态信号为0,链表使用计数器为2;

步骤5.2,当内容寻址存储器新增数据项的散列结果冲突,且为第2个或第5个冲突数据项,将动态分配空闲链表头指针作为新的散列冲突数据项存储位置;当链表使用计数器小于2S/2时,空闲链表计数器减1,空闲链表头指针加1,链表使用计数器加1;当链表使用计数器大于等于2S/2时,首先按照空闲头指针访问链表存储器,将获取的下一个空闲链表指针作为新的空闲链表头指针,然后空闲链表计数器减1,链表使用计数器不变。

步骤5.3,当内容寻址存储器删除某数据项时,如果删除前该地址散列结果冲突数目为2或5,要求对删除后的散列冲突数据项排列进行移位,释放一个链表存储器地址。并将释放的链表存储器地址作为下一个空闲链表指针写到空闲链表尾指针指向的链表存储器地址,然后将释放的链表存储器地址作为新的空闲链表尾指针,然后空闲链表计数器加1,链表使用计数器不变。

步骤6、构造一个散列存储器,散列存储器地址宽度为(M-4),数据宽度=2×(迷你关键字位宽+检索关键字对应的偏移地址位宽+链表存储器地址位宽+链表指针有效位);存储器数据内容包括位数相等的高字段和低字段,其中高字段对应分支BR=1的数据、低字段对应分支BR=0的数据,字段数据依次为链表指针有效位EXL,一级链表指针LINK,关键字有效位VAL,迷你关键字MKEY,偏移地址OFFSET;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国航空工业集团公司第六三一研究所,未经中国航空工业集团公司第六三一研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201210579916.8/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top