[发明专利]一种基于Hash查找CAM的方法有效
申请号: | 201110276822.9 | 申请日: | 2011-09-19 |
公开(公告)号: | CN102364463A | 公开(公告)日: | 2012-02-29 |
发明(设计)人: | 周恒钊 | 申请(专利权)人: | 浪潮电子信息产业股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 250014 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 hash 查找 cam 方法 | ||
技术领域
本发明涉及通信、高速网络下的数据查找匹配或芯片设计技术领域, 具体地说是一种基于Hash查找CAM的方法。
背景技术
随着通信技术的快速发展,一方面,在网络中传输的数据带宽越来越大。另一方面, 网络中各种各样的应用不断变化和发展,现在的IP网络需要为用户提供更多服务类型和更 好的服务质量,要求路由器提供额外的处理机制来实现区分服务,报文分类,安全入侵监测, 防火墙访问控制,虚拟专用网,快速路由查找,网络地址转化,等一些网络关键技术。
为了适应网络的数据流量越来越大的发展趋势,保证网络链路的通畅性,对路由器性能 提出了新的挑战——如何快速路由。网络技术的发展,这些关键网络技术都涉及查找匹配问 题,而基于软件的查找匹配效率低下,传统的软件实现的方法对于高速网络的发展显的力不 从心。
CAM芯片的快速查找匹配特性,使得CAM在网络中得到广泛的应用。CAM芯片的快速查 找匹配的特点,为网络中很多关键的应用提供了新的解决方案。可以用CAM来实现快速路由 查找,报文分类,区分服务,入侵监测等需要快速查找匹配的关键技术。
发明内容
本发明的目的是提供一种基于Hash查找CAM的方法。
本发明的目的是按以下方式实现的,本发明的通过Hash查找匹配原理,将其逻辑用硬件电路描述,待查数据写入存储体, 两结构组合成为内容可寻址存储体(Content Addressable Memory)。设计分为以下几个功 能模块:
1)总线;2)Hash函数查找表;3)Hash入口表;4)数据存储体;5)匹配电路;6)RAM控制电路,其中:
总线1)是CAM与外部通信的通道。在CAM中总线分为请求总线和响应总线。请求总线是一条双向多路复用总线,请求总线由命令总线和请求数据总线组成。命令总线处理输入命令,请求总线是主要数据通道。所有对CAM的操作命令信号,还有输入到CAM中的数据信号都通过请求总线进行传输。
Hash函数查找表2)通过查找表的方式对Hash查找函数逻辑进行实现,哈希查找步骤为:设哈希表为HST[0~M-1],哈希函数取H(key),解决冲突的方法为R(x);第一步对给定k值,计算哈希地址 Di=H(k);若HST为空,则查找失败;若HST=k,则查找成功;否则,执行第二步(处理冲突)。第二步重复计算处理冲突的下一个存储地址 Dk=R(Dk-1),直到HST[Dk]为空,或HST[Dk]=k为止。若HST[Dk]=K,则查找成功,否则查找失败。根据选择的冲突处理方法,计算关键字key的下一个存储地址。若下一个存储地址仍被占用,则继续执行第二步,直到找到能用的存储地址为止。
Hash入口表3)中存放Key值经过Hash函数计算后的Hash_Key以及与之对应的数据表项入口值。
数据存储体4)作为待查找的数据存放区,根据系统的数据格式确定该存储体的数据宽度和数据深度,通过Hash_Key查找到对应于数据存储体的地址后,系统通过RAM控制电路6)对该存储体进行访存,读取数据表项中的数据。
读取出表项中的数据后,通过匹配电路5)将待寻址的内容与表项数据进行比对,若匹配,则输出匹配地址,拉高数据匹配标志。
查找程序流程如下:
1.根据输入的查找数据进行hash计算得到Hash key,用Hash key去访问Hash入口表。如果Hash入口表的内容为0,则跳到3;如果Hash入口表的内容不为0,则跳到2;
2.根据Hash入口表的内容,去访问CAM数据项链表,并把查找数据同CAM数据项链表的数据一个一个比较(从链表头到链表尾)。从链表头开始比较,查找不成功,接着查找链表的下一项,直到链表尾为止,跳到3;查找成功(查找数据的值同CAM数据项链表中一项的值相同)则记录下此项CAM地址,接着查找链表的下一项,如果也成功则比较CAM地址与此前记录的CAM地址的大小,最终取CAM地址最小者,这样查找一直到链表尾为止,跳到3;
3.查找成功,返回CAM地址和CAM命中的信息,跳到4;查找不成功,返回查找结束,返回CAM没有命中的信息,跳到4;
4.操作结束,返回。
本发明的有益效果是:基于Hash查找算法的高效性,可快速查找出匹配数据,减小了数据查找时的比较次数,只需要一次即能找出数据,提高了查找效率,节约了系统时间,提高了数据通信的吞吐率。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮电子信息产业股份有限公司,未经浪潮电子信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110276822.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:光纤光栅线性腔单频光纤激光器
- 下一篇:全方位减震底座