[发明专利]一种NOR‑Flash哈希表存储方法及装置在审

专利信息
申请号: 201710091598.3 申请日: 2017-02-20
公开(公告)号: CN106897228A 公开(公告)日: 2017-06-27
发明(设计)人: 孙晓悦 申请(专利权)人: 山东威尔数据股份有限公司
主分类号: G06F12/02 分类号: G06F12/02
代理公司: 上海精晟知识产权代理有限公司31253 代理人: 孙福岭
地址: 264000 山东省*** 国省代码: 山东;37
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 nor flash 哈希表 存储 方法 装置
【说明书】:

技术领域

发明涉及一种NOR-Flash哈希表存储方法及装置,属于数据存储技术领域。

背景技术

单片机中NOR-FLASH作为外部存储已经成为标准,NOR-FLASH拥有无坏块、擦除单元小、数据写入错误率低、允许单字节读取等优势。但是由于成本限制,无法使用操作系统来管理,因此会遇到以下问题:

1、数据必须分块存储

由于单片机等设备没有操作系统,无法动态分配空间,内存也只有几十KB,也无法引入空间管理算法,在空间使用上必须采用先划分后使用的办法。比如:对档案划出一块区域,每条档案固定长度50字节,1M只能存储20971条档案。每个档案又要关联到规则组合,每个规则段大约70字节,1M只能存储14979条。

2、空间无法进行混合使用

由于内容的分块,每块数据都要分开保存,假如每个人都用同一种规则,那么系统最多就是2万档案。规则只保存了一条70字节,1MB的空间就这么浪费了。或者说一个人使用两条规则,那么系统最多是7489个人,档案的一大半空间又浪费了。

3、数据删除后无法利用删除的空间

由于Flash特性,读写可以单次写,写过的地方不能再次写入只能擦除,但是擦除必须一次性擦掉一块(一般大于64KB),由于单片机只有几十KB内存,根本没有办法做数据缓存,而且缓存过程中还可能产生断电,因此,更加不安全。使用其他临时块搬移需要读写2次,擦除2次,效率更低。

4、数据查询只能从头查询

由于空间是顺序存放,取出某条档案或者某条规则必须要从头遍历,别无他法。当档案很多的时候检索效率极低。

Hash算法是一种散列算法,通过摘要方式将数据分组,通过表挂载到不同的链上。这样就实现了初步的hash算法结构。

由于Hash使用链式存储,每条链是单独标号,这样可以将某些业务集中放在某个或某几个链上,实现多业务数据存放,比如将档案放在0-99链、黑名单放在100-149链上、配置信息放在150链上。数据之间无干扰,而且根据数据的摘要也能快速检索数据。但是该算法只能在内存中使用,用类似malloc()和free()的方式进行,而Flash中没有这样的东西,而且只能从1写0,擦除又要64K一块。

发明内容

本发明针对以上问题,提供一种NOR-Flash哈希表存储方法及装置,将Hash算法结构进行转换,并运用到NOR-Flash芯片结构中,从而节约存储空间,提高信息检索效率。

本发明解决上述技术问题的技术方案如下:一种NOR-Flash哈希表存储方法,该方法包括如下步骤:

步骤一:建立链表头数组,存储每一条哈希链的头部;

步骤二:定义哈希链表的基本数据源格式;

步骤三:扫描用户第一次开机时Flash芯片中的数据,构建链表基础数据;

步骤四:按顺序直接存放用户添加的数据,将下一元素地址作为内存中的链表头,添加完后新的链表头作为新的元素地址;

步骤五:当空间剩余1个块即最小擦除单元时,回收作业把链表前面的数据进行删除,并挂载到链表后面,当腾出一个块的垃圾数据时,将单块的垃圾数据擦除。

进一步的,步骤一中所述的建立链表头数组具体包括:采用预设的哈希函数构建链表号、链表块头、链表块尾、链表起始位置。

进一步的,步骤二中所述的哈希链表的基本数据源格式至少包括可用标记、摘要、下一元素地址、数据长度、数据、循环冗余校验码中的一项。

进一步的,步骤三中所述的构建链表基础数据包括链表空白尾地址、有效记录数、无效记录数。

进一步的,所述步骤五中链表数据的删除、挂载、擦除具体指:

将有效元素转移到已擦除的空白区域;

腾出一块完整的标记无效的区域;

将无效区域进行块擦除变为空白区域。

本发明还提供一种NOR-Flash哈希表存储装置,所述装置包括:

链表构建模块,用于建立链表头数组,存储每一条哈希链的头部,同时扫描用户第一次开机时Flash芯片中的数据,构建链表基础数据;

格式定义模块,用于定义哈希链表的基本数据源格式;

数据存储模块,用于存放用户添加的数据;

数据整理模块,用于当空间剩余1个块即最小擦除单元时,对链表前面的数据进行删除、挂载、擦除。

进一步的,所述格式定义模块中基本数据源格式至少包括可用标记、摘要、下一元素地址、数据长度、数据、循环冗余校验码中的一项。

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

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东威尔数据股份有限公司,未经山东威尔数据股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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