[发明专利]基于散列链表的内容寻址方法及相应的存储器电路有效
申请号: | 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;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国航空工业集团公司第六三一研究所,未经中国航空工业集团公司第六三一研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210579916.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:多功能搅拌器
- 下一篇:用于新风系统中准确采集室外真实温度方法
- 内容再现系统、内容提供方法、内容再现装置、内容提供装置、内容再现程序和内容提供程序
- 内容记录系统、内容记录方法、内容记录设备和内容接收设备
- 内容服务系统、内容服务器、内容终端及内容服务方法
- 内容分发系统、内容分发装置、内容再生终端及内容分发方法
- 内容发布、内容获取的方法、内容发布装置及内容传播系统
- 内容提供装置、内容提供方法、内容再现装置、内容再现方法
- 内容传输设备、内容传输方法、内容再现设备、内容再现方法、程序及内容分发系统
- 内容发送设备、内容发送方法、内容再现设备、内容再现方法、程序及内容分发系统
- 内容再现装置、内容再现方法、内容再现程序及内容提供系统
- 内容记录装置、内容编辑装置、内容再生装置、内容记录方法、内容编辑方法、以及内容再生方法