[发明专利]一种嵌入式FLASH数据存储方法及系统有效
申请号: | 201810083339.0 | 申请日: | 2018-01-29 |
公开(公告)号: | CN108228479B | 公开(公告)日: | 2021-04-30 |
发明(设计)人: | 葛文韬;李小禄 | 申请(专利权)人: | 深圳市泰比特科技有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 深圳市科吉华烽知识产权事务所(普通合伙) 44248 | 代理人: | 温玉珍 |
地址: | 518000 广东省深圳市南山区南山街道科*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 嵌入式 flash 数据 存储 方法 系统 | ||
1.一种嵌入式FLASH数据存储方法,其特征在于,包括索引区和数据区,其中,所述索引区从前往后采用固定长度进行存储和管理,所述数据区从后往前采用可变长度进行存储和管理,直到所述索引区和数据区发生冲突,则通过FLASH擦除实现回收整理;所述索引区用于存储记录索引,所述数据区用于存储FLASH数据;
所述索引区在删除时,将旧的索引记录标置为0,并增加一条新记录,新增记录和删除老记录这两种操作都只需要将对应位从1变为0,按字节操作;
还包括标记头,所述标记头设置于所述索引区前;所述标记头包括KV标记、版本号、校验和、起始地址和结束地址;所述KV标记为键名和键值的标记,采用键名与键值对应的存储方式,从单个字节到整个文件都可以存储进单个与键名对应的键值中;
通过FLASH擦除实现回收整理的过程包括以下步骤:
步骤D1,判断是否完成初始化,若否则实现初始化,若是则跳转至步骤D2;
步骤D2,从索引区的起始地址开始,遍历索引区,计算索引以及键值所占用的长度;
步骤D3,在内存分配同等大小的空间,并将索引以及键值的数据加载到内存中;
步骤D4,擦除索引区及数据区;
步骤D5,将内存中索引以及键值的数据重新整理,并写入FLASH,完成回收。
2.根据权利要求1所述的嵌入式FLASH数据存储方法,其特征在于,在首次启动挂载系统时,包括以下步骤:
步骤A1,上电开机,读取文件头;
步骤A2,根据文件头中的KV标记及校验和,验证所在位置是否是合法的KV文件系统,若是则跳转至步骤A4,若否则跳转至步骤A3;
步骤A3,格式化标记头;
步骤A4,加载得到KV文件系统的基础属性,所述基础属性包括起始地址和结束地址;
步骤A5,标记完成初始化。
3.根据权利要求1所述的嵌入式FLASH数据存储方法,其特征在于,在读取键值设置时,包括以下步骤:
步骤B1,判断是否完成初始化,若否则直接返回空,若是则跳转至步骤B2;
步骤B2,从索引区的起始地址开始,遍历匹配所有索引记录,判断是否找到键值名对应的索引记录,若否则直接返回空;若是则跳转至步骤B3;
步骤B3,根据索引记录中的地址与长度调取并返回键值设置值。
4.根据权利要求1所述的嵌入式FLASH数据存储方法,其特征在于,在写入键值设置时,包括以下步骤:
步骤C1,判断是否完成初始化,若否则实现初始化,若是则跳转至步骤C2;
步骤C2,从索引区的起始地址开始,遍历索引区,搜索所述索引区的所有索引记录;
步骤C3,生成新的键名、键值和索引;
步骤C4,判断空间是否不足,若是则通过FLASH擦除实现回收整理并返回至步骤C2,若否则跳转至步骤C5;
步骤C5,判断是否存在旧的索引记录,若是则删除旧的索引记录,若否则执行成功。
5.根据权利要求4所述的嵌入式FLASH数据存储方法,其特征在于,所述步骤C5中,若旧的索引记录不存在,则从数据区分配键名及键值对应的空间,并存储键名及键值,从索引区分配空间存储索引结构,并指向数据区对应的键名与键值;若旧的索引记录存在,将旧的索引记录标记为0,并重新向数据区申请空间存储新的键名和键值,重新生成新的索引记录,其中新的键名指向旧的索引记录所对应的键名,新的键值指向新分配的键值。
6.一种嵌入式FLASH数据存储系统,其特征在于,采用了如权利要求1至5任意一项所述的嵌入式FLASH数据存储方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市泰比特科技有限公司,未经深圳市泰比特科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810083339.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种SSD写性能的提高方法及装置
- 下一篇:一种数字滤波器及数据处理方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置