[发明专利]FLASH数据读写方法及系统有效
申请号: | 201710249237.7 | 申请日: | 2017-04-17 |
公开(公告)号: | CN107168647B | 公开(公告)日: | 2020-10-23 |
发明(设计)人: | 龙道志;张惠军;沈鹏程;舒凯;陈蓉 | 申请(专利权)人: | 武汉永力科技股份有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 武汉东喻专利代理事务所(普通合伙) 42224 | 代理人: | 张英 |
地址: | 430223 湖北省武*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | flash 数据 读写 方法 系统 | ||
本发明公开了一种FLASH数据读写方法及系统,该方法是在FLASH中分配N页为数据存储区用于存放数据记录,其中用一页作为索引区,其余N‑1页作为记录区,还包括以下步骤:步骤S101:判断所述目标页Nm是否写满,若未写满执行S102,若写满则转到如下步骤S1a~S1c;步骤S102:将所述待写入数据顺序写入所述记录区的目标页Nm中;步骤S1a:擦除所述记录区的页Nm+2的信息即将该页内容全部置为0xff的标识信息;步骤S1b:将所述数据记录区中所述待写入数据的页Nm+1的页码号顺序写入所述索引区;步骤S1c:将所述待写入数据顺序写入所述记录区的页Nm+1中;所述记录区的N‑1页为一个循环队列的存储区。本发明的技术方案降低了FLASH的擦写次数,延长了使用寿命,上电能快速查找上次掉电时最后存储记录的位置。
技术领域
本发明涉及数据存储领域,特别涉及一种FLASH数据读写方法及系统。
背景技术
针对嵌入式系统领域的相关设备,用户要求实时保存设备运行的数据,连续记录时间不少于5分钟,每分钟数据不少于60条记录,且有足够存储空间,数据掉电不丢失,存储器的使用寿命不小于20年。每条记录长度20byte(8bit/byte),前面14byte存放的是设备的状态及各种信息,后面6byte存放的是实时的年、月、日、时、分、秒。
目前,保存数据的方法有:硬盘、电子盘、RAM外加电池、FLASH闪存等。其中,硬盘、电子盘成本高、体积大;RAM外加电池的方法由于使用了电池,电池寿命短,不能满足要求;FLASH闪存由于其存储空间大、价格低廉等优势,被广泛的应用到各类的嵌入式系统中。传统的FLASH内部分为多个存储单元页(page),存储单元页是可擦除的最小单位,字节或字是写入数据的最小单位。FLASH存储器的写操作和一般的存储器不同,FLASH的写操作必须先将存储单元擦除,然后再写入。由于FLASH擦写次数有限,频繁的对FLASH存储器进行擦写会影响其使用寿命,若不采取特殊处理,寿命不能满足要求。
发明内容
本发明主要解决的技术问题是提供一种嵌入式系统(或单片机内置)内置FLASH数据存储、快速查找方法,该发明可以避免使用RAM外加电池降低使用寿命,也可以避免使用硬盘、电子盘增加成本、增大体积,也不需要增加片外存储器、减小产品单板面积和降低成本。既降低FLASH的擦写次数,解决使用寿命问题,也解决上电能快速查找到上次关机时最后存储记录的位置。
针对上述存在的问题,本发明提供了一种FLASH数据读写方法,其特征在于:在FLASH中分配N页为数据存储区,用于存放数据记录,其中一页作为索引区,其余N-1页作为记录区,所述方法包括:
步骤S101:判断所述目标页Nm是否写满,若未写满执行S102,若写满则转到如下步骤S1a~S1c;
步骤S102:将所述待写入数据顺序写入所述记录区的目标页Nm中;
步骤S1a:擦除所述记录区的页Nm+2的信息即将该页内容全部置为0xff的标识信息;
步骤S1b:将所述数据记录区中所述待写入数据的页Nm+1的页码号顺序写入所述索引区;
步骤S1c:将所述待写入数据顺序写入所述记录区的页Nm+1中;
所述步骤S1b之前还包括如下步骤:
步骤S201:判断所述索引区是否写满,若写满则执行步骤S202;若未写满执行步骤S1b;
步骤S202:擦除所述索引区所有存储单元信息即将该页内容全部置为0xff的标识信息;
步骤S203:页Nm+1的页码号写入所述索引区第一个存储单元;
所述记录区的N-1页为一个循环队列的存储区。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉永力科技股份有限公司,未经武汉永力科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710249237.7/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置