【技术实现步骤摘要】
一种磨损均衡的固定数据页宽度的FLASH读写方法
[0001]本专利技术涉及存储设备领域,具体涉及一种延长FLASH写寿命的方法。
技术介绍
[0002]在嵌入式系统设计中,经常会遇到断电后需保留部分动态参数的应用,通常使用但EEPROM(Electrically Erasable Programmable read only memory,带电可擦可编程只读存储器)实现断电存储功能。
[0003]EEPROM的缺点之一是写入和擦除有寿命限制,一般为10万次;之二是价格高、容量低。
[0004]FLASH是一种类似EEPROM的存储器,由于原理的差异,其价格相较EEPROM低、容量高。
[0005]但是,相对于EEPROM一次可任意改写某一字节的存储内容,FLASH清除并改写的最小单位是一个页(通常由数百以上个字节组成),即只要一个页内任何数据需要改写,同页的数据将被全部清0、再重新写入非0的内容。
[0006]通常,延长FLASH写寿命的方法是将其存储空间固定划分为若干区域,每次写入时论轮流使用各个区域,避免重复写入同一个地址而不使用其他空间,使得整个存储空间的写入寿命均匀损耗。
[0007]但是,在一些应用中,在每次存储数据时,部分参数会有变化,但其余多数参数是0,并不需要重复写入。按照常用的分区域写入方法,意味着频繁变化的参数的存储位置的损耗速度远高于通常为0的参数的存储位置,即存储空间的写入寿命没有均匀损耗。
[0008]一个典型的例子是程序日志的记录。为了保持 ...
【技术保护点】
【技术特征摘要】
1.一种磨损均衡的固定数据页宽度的FLASH读写方法,其特征在于,包括如下步骤:步骤之一,启动FLASH存储器及配套的、用于存储状态信息的EEPROM存储器;从预设值获取所述EEPROM存储器物理地址划分为固定的偏移量记录区和写入块编号记录区、FLASH存储器划分为数据块区的预设范围;所述偏移量记录区存储一个偏移量值;所述写入块编号记录区存储S
index
个编号组成的序列,所述编号为整数、可取的最大、最小值分别为编号值上限V
max
和编号值下限V
min
,且所述写入块编号记录区的初始值为预设的、大于编号值上限的无效编号值V
inv
;所述数据块区存储若干数据块,每一所述数据块的FLASH页数固定、记为S
block
、起始位置可变;步骤之二,开始读取流程,从所述偏移量记录区读取前次偏移量V
bias,
‑1;步骤之三,从所述写入块编号记录区读取全部编号序列并保留其前后顺序,并在下述访问过程中,将此序列视为尾
‑
首相接,即序列的末位的下一位定义为序列的首位;步骤之四,在所述编号序列中,忽略等于无效值V
inv
的值、搜索最大值,记为最大编号值V
max,
‑1;如果所述V
max,
‑1不存在,返回空数据做为读取数据,并记录最新偏移量为V
bias,
‑1=0、最新编号值为V
index,
‑1=V
min
‑
1、最新编号位置为P
index,
‑1=
‑
1,结束读取流程,并跳转到步骤之十;如果存在,进行下一步骤;步骤之五,判断V
max,
‑1是否小于所述编号值上限V
max
,如果是,则记录其最新编号值V
index,
‑1=V
max,
‑1、V
max,
‑1在所述编号序列中的顺序为最新编号位置P
index,
‑1,并跳转步骤之八;如果否,进行下一步骤;步骤之六,判断所述最大编号值在所述编号序列中的下一位是否大于所述编号值下限V
min
;如果是,则记录所述最大编号值为最新编号值V
index,
‑1=V
max,
‑1、所述最大编号值在所述编号序列中的位置为最新编号位置P
index,
‑1,并跳转到步骤之八;如果否,则将所述最大编号值在所述编号序列中的下一位记录为第1检查编号...
【专利技术属性】
技术研发人员:马朔昕,邰元,王坦,
申请(专利权)人:南京泰立瑞信息科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。