[发明专利]用于Flash均衡存储的方法及系统有效
申请号: | 201410099227.6 | 申请日: | 2014-03-17 |
公开(公告)号: | CN103823642B | 公开(公告)日: | 2017-06-13 |
发明(设计)人: | 潘相熙;杨文;罗永良;闫浩;谷韬 | 申请(专利权)人: | 深圳市道通科技股份有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F12/14 |
代理公司: | 广东广和律师事务所44298 | 代理人: | 陈巍巍,刘羽波 |
地址: | 518057 广东省深圳市南山区西丽*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 flash 均衡 存储 方法 系统 | ||
技术领域
本发明涉及一种用于Flash均衡存储的方法及系统。
背景技术
当今电子技术飞速发展,嵌入式微控制技术在电子测量和工业控制领域的应用也越来越广泛。通常在监测和控制系统中,有一些系统状态数据、运行参数或测量数据需要保存在非易失性存储器(Flash)中。
FLASH存储器是一种在EPROM(电可擦写可编程只读存储器)和EEPROM(电可擦可编程只读存储器)的制造技术基础上发展起来的一种可擦除、非易失性存储元件。嵌入式系统中使用的FLASH存储器有两种,一种是在MCU(微控制单元)之外扩展的FLASH芯片,通常是按照特定时序发送命令和数据,实现读、写和擦除操作;另外一种是MCU内部集成的FLASH存储器,这类flash的访问往往是通过调用MCU提供的库函数来完成相应操作。
FLASH存储器的擦写次数是有一定限制的。如果频繁地擦写FLASH存储器的某个固定区域,就会使该区域在较短的时间内达到使用寿命而无法擦写,从而导致系统出错甚至崩溃。为延长FLASH存储器使用寿命,软件设计时通常会采用某种均衡算法将数据平均地写到Flash存储区域。
在有操作系统的电子产品中,FLASH存储器作为大容量文件存储器,可以采用算法较复杂的文件系统来均衡FLASH存储器的擦写来延长它的使用寿命,如磨损均衡算法等。而在嵌入式测量和控制系统中,通常用来存储数据的FLASH存储器容量比较小,一般只有几K到几百K字节,因此不可能采用类似文件系统的方式来管理。
在非操作系统的嵌入式系统中,通常用两种方式实现flash存储管理。对于非连续写入的情况,写入的数据有限且有初始默认值,同时在内存中也备份一遍数据。当要改变数据时,先改变内存数据,然后擦除flash并将内存的数据复制到flash。遇到读写时突然掉电,flash出错的情况,只需将flash中的数据重新恢复为初始默认值即可。对于连续写入的情行,通常需要用FLASH存储器中几个固定单元来保存有效数据区的起始地址和结束地址,其他存储区域均衡写入。在使用过程中出现掉电现象,在重新上电后通过起始地址确定上次正常工作或掉电前写入的有效数据在FLASH存储器中的存储位置。
如上,第一种方案适用情况有限而且一旦数据掉电丢失以后是无法找回的,只能用默认值。第二种方案的情况的弊端是用于保存地址的单元还是会因频繁地擦写而达到擦写饱和,从而影响到整个存储芯片的寿命,不能从根本上解决延长FLASH存储器使用寿命的问题。而且每次写入数据的都需要在两个地方更新内容(保存地址和数据),因而掉电后数据的处理上也会复杂点。
发明内容
基于此,本发明提供了一种用于Flash均衡存储的方法及系统,实现对FLASH存储器的全均衡擦写。
一种用于Flash均衡存储的方法,该方法包括如下步骤:
步骤11,检查当前要写入的扇区是否有擦除标记,如果没有,则格式化当前扇区并置标记;
步骤12,检查当前扇区是否是第一次写入数据,如果是,则先格式化当前扇区的下一个扇区并置擦除标记EARSE_FLAG,然后本扇区置写入使用标记USED_FLAG;
步骤13,判断当前扇区的剩余空间是否足够写入当前数据包,如果空间够,则写入数据到当前位置并更新当前操作地址g_SectorInfo.cur_addr;如果空间不够,则跳转到下一个扇区;
步骤14,检验写入的数据校验能否通过;如果不能,则移入下一个扇区,执行步骤11。
优选的,在所述步骤12和步骤13之间还包括如下步骤:检查写入的数据是否合法,如果合法,则执行步骤13。
优选的,步骤13和步骤14之间,还包括如下步骤:如果当前扇区为规划的最后一个扇区时,重新回到第一个扇区进行操作,重复步骤11-步骤13。
优选的,该方法还包括数据存储的检测步骤,
步骤21,确定要写入的扇区;依次检查标记有使用标记USED_FLAG的扇区,直到找到最后一个这样的扇区;
步骤22,确定要写入的地址;依次检查存储的数据包长度以及校验和的合法性,当找到某个区域校验和非法且数据空白,则当前区域的地址即为要写入的地址。
优选的,步骤22中,如果找到某个区域校验和合法或校验和非法且数据非空白,则操作地址偏移数据块的大小后,重新执行步骤22。
本发明还提供了一种用于Flash均衡存储的系统,该系统包括:
第一检查判断装置,用于检查当前要写入的扇区是否有擦除标记,如果没有,则格式化当前扇区并置标记;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市道通科技股份有限公司,未经深圳市道通科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410099227.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种固孔及防突装置
- 下一篇:土压力计可调式位置固定安装装置