一种磨损均衡的可变数据页宽度的FLASH读写方法技术

技术编号:30967276 阅读:22 留言:0更新日期:2021-11-25 20:40
本发明专利技术涉及一种FLASH存储器数据结构及其读写方法,包括动态适应写入数据块的页数,将数据循环写入存储空间中的不同区域且在每个循环后将之平移一定位移量。平移的基准是上一个当前页号之后、上个循环之中最近的写入起始页号,因此位移量随循环变化、同时实现相较上个循环中的一个数据块进行了页号偏移,两者写入的数据块内容大部分重叠而无需更改、少部分错开而避免了集中写入某些地址而过多损耗寿命。上述方法解决了一些应用中写入的少部分数据频繁变化,多数数据通常为0、仅偶尔变化,如此数据特性造成的FLASH存储单元寿命磨损不平均的问题,在保证空间使用效率的同时延长FLASH存储器的使用寿命。FLASH存储器的使用寿命。FLASH存储器的使用寿命。

【技术实现步骤摘要】
一种磨损均衡的可变数据页宽度的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写寿命的方法是将其存储空间固定划分为若干区域,每次写入时论轮流使用各个区域,避免重本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种磨损均衡的可变数据页宽度的FLASH读写方法,其特征在于,包括如下步骤:步骤之一,启动FLASH存储器及配套的、用于存储状态信息的EEPROM存储器;从预设值获取状态存储区单元数S
state
和数据存储区单元数S
data
,将存储空间划分为状态存储区和数据存储区;所述状态存储区各个单元以从0开始递增的状态地址标识,每个单元的容量固定为一定字节数并占据1个地址;每个单元存储数据块编号、数据块起始页号和数据块终止页号三个值;所有所述数据块编号在复位时写入S
state
+1;所述数据存储区各个单元以从0开始递增的数据页号标识,每个单元的容量固定为一页并占据1个地址,每个单元存储数据,若干个连续单元构成存储一个数据块;所述地址均允许循环访问,即所述存储地址中的末尾地址的下一位,自动指向所述存储地址中的首位地址,所述数据地址中的末尾页号的下一位,自动指向所述数据地址中的首位页号;数学上,这可以通过取余运算进行,符号为%;步骤之二,开始读取流程,从所述状态存储区读取各个单元的所述数据块编号,将之组成数据块编号序列并保留其前后顺序,并在下述访问过程中允许循环访问,即序列的末尾的下一位定义为序列的首位;步骤之三,在所述数据块编号序列中,从首位向后搜索第一个编号不连续的位置;如果不存在不连续位置,则记录当前块状态地址P
index
=0,当前块编号V
index
=0,当前块起始页号为B
data
=0,输出空数据,结束读取流程,并跳转到步骤之十一;否则,记录所述编号不连续位置的两个编号中的靠前一个的地址为最后写入块状态地址P
index,
‑1(如果是末尾编号和首位编号不连续,P
index,
‑1=S
state

1),并进行下一步骤;步骤之四,按照所述最后写入块状态地址P
index,
‑1,从状态存储区读出其指向的存储单元中存储的状态信息,分别记为最后写入块编号V
index,
‑1、最后写入块起始页号B
data,
‑1和最后写入块终止页号E
data,
‑1;步骤之五,读出并输出数据存储区中B
data,
‑1到E
data,
‑1页号中的数据,结束读取流程;步骤之六,记当前块编号V
index
=(V
index,
‑1+1)%(S
st...

【专利技术属性】
技术研发人员:马朔昕邰元王坦
申请(专利权)人:南京泰立瑞信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1