[发明专利]一种基于动态内存分配存储HASH链表的FPGA实现装置及方法有效
申请号: | 201811525145.8 | 申请日: | 2018-12-13 |
公开(公告)号: | CN109670083B | 公开(公告)日: | 2023-03-24 |
发明(设计)人: | 陈伯芳;王晓斌;詹万鹏;危必波;郑蓉 | 申请(专利权)人: | 武汉中元华电科技股份有限公司 |
主分类号: | G06F16/901 | 分类号: | G06F16/901;G06F16/9032 |
代理公司: | 武汉开元知识产权代理有限公司 42104 | 代理人: | 唐正玉 |
地址: | 430223 湖北省*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 动态 内存 分配 存储 hash fpga 实现 装置 方法 | ||
本发明涉及一种基于动态内存分配存储HASH链表的FPGA实现装置及方法,装置包括缓存模块、哈希控制模块、哈希计算结果调度模块、哈希链表处理模块、查找结果调度模块,缓存模块与哈希控制模块相连,哈希计算结果调度模块分别与哈希控制模块、哈希链表处理模块、查找结果调度模块相连,哈希链表处理模块与查找结果调度模块相连。本发明应用于FPGA实现HASH链表存储的领域,采用一种动态内存灵活分配的方法,利用FPGA并行化处理的优势,快速实现HASH链表的存储及查找功能。本发明可以应用于使用HASH链表进行数据存储、相同字符串匹配查找的应用领域,比如FPGA方法实现GZIP压缩、LZ77压缩、网络报文统计等领域,该发明满足HASH算法对于速度、资源及准确性的要求。
技术领域:
本发明涉及一种动态内存灵活分配的方法,特别涉及一种基于动态内存分配存储HASH链表的FPGA实现装置及方法,应用于FPGA实现HASH链表存储的领域,本发明可以应用于使用HASH链表进行数据存储、相同字符串匹配查找的应用领域,比如FPGA方法实现GZIP压缩、LZ77压缩、网络报文统计等领域。
背景技术:
一般HASH表采用链地址法存储,即所有HASH地址相同的字符串都被映射到同一个链表中,HASH地址不相同的字符串映射到不同的链表中。同一个HASH地址的冲突越大时,其对应的链表长度越长。在极端坏(100%冲突)情况下,所有的数据都被映射到同一个链表中;在极端好(0%冲突)情况下,所有的链表都只有一个节点。存在查找字符串匹配速度慢,浪费资源等缺陷。
发明内容:
本发明目的为了克服上述现有技术存在的问题和缺陷,提供一种基于动态内存分配存储HASH链表的FPGA实现装置及方法,本发明采用并行方式大大提高HASH链表的插入、移出及查找表速度。采用动态分配方式,为每个存在冲突的HASH地址在表中分配一段动态大小的连续空间,节省逻辑资源;采用首尾指针方式指示链表位置,实现快速定位;采用动态开放地址法存储冲突表,实现快速读出所有相同HASH地址。该发明方法可应用于采用HASH算法实现相同字符串查找、统计并且逻辑资源有限的场合。
本发明的技术方案为:
一种基于动态内存分配存储HASH链表的FPGA实现装置,包括缓存模块、哈希控制模块、哈希计算结果调度模块、哈希链表处理模块、查找结果调度模块,其特征在于:缓存模块与哈希控制模块相连,哈希计算结果调度模块分别与哈希控制模块、哈希链表处理模块、查找结果调度模块相连,哈希链表处理模块与查找结果调度模块相连,
缓存模块为32KB大小的双端口RAM,循环存储滑动窗口内的数据,为哈希控制模块提供HASH插入链表、移出链表、待编码字符串的数值;
哈希控制模块控制原始数据的读取,将原始数据转成3个连续字符串一组的数据流并计算HASH值;将已插入到哈希表的数据指针发送给缓存模块;完成输入原始数据的比较,统计输入数据的重复次数,后续一起插入HASH表;
哈希计算结果调度模块实现HASH计算结果的分发调度,将计算结果下发到8个通道分别进行HASH表的建立和维护,通过并行处理的方式加快HASH链表的维护及指针的更新;
哈希链表处理模块建立并维护冲突表存储信息,以HASH值为寻址指针将HASH值相同的字符串存储在一起,同时将滑动窗口外的数据移出链表,通过动态分配缓存的方式灵活的构建一部变化的HASH链表。在进行匹配字符串查找时,通过HASH值寻址查找的方式提供相同匹配字符串的地址信息,由于HASH值相同的字符串是链接在一起的,所以可以快速的得到相同匹配字符串的地址信息;
查找结果调度模块实现相同字符串匹配值查找的控制,对HASH链表给出的查找结果进行判断,剔除掉不在滑动窗口内的匹配值,按距离滑动窗口右侧的距离由近及远输出匹配结果。
一种基于动态内存分配存储HASH链表的FPGA实现装置的方法,其特征在于按以下步骤进行:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉中元华电科技股份有限公司,未经武汉中元华电科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811525145.8/2.html,转载请声明来源钻瓜专利网。