【技术实现步骤摘要】
一种可变数据块宽度的EEPROM读写方法
[0001]本专利技术涉及存储设备领域,具体涉及一种延长EEPROM写寿命的方法。。
技术介绍
[0002] 在嵌入式系统设计中,经常会遇到断电后需保留部分动态参数的应用,通常使用但EEPROM(Electrically Erasable Programmable read only memory,带电可擦可编程只读存储器)实现断电存储功能。
[0003]但是EEPROM的写入和擦除有寿命限制,一般为10万次。
[0004]通常,延长EEPROM写寿命的方法是将其存储空间固定划分为若干区域,每次写入时论轮流使用各个区域,避免重复写入同一个地址而不使用其他空间,使得整个存储空间的写入寿命均匀损耗。
[0005]但是,在一些应用中,在每次存储数据时,部分参数会有变化,但其余多数参数是0,并不需要重复写入。按照常用的分区域写入方法,意味着频繁变化的参数的存储位置的损耗速度远高于通常为0的参数的存储位置,即存储空间的写入寿命没有均匀损耗。
技术实现思路
[0006]对此,本专利技术提供一种根据写入数据长度动态读写并循环调整写入偏移量的EEPROM数据结构及其读写方法,通过记录过往写入的数据位置并在其起始位置添加偏移量,无论输入数据长度为何均可实现频繁改变的数据和全0的数据写入同一存储单元的概率相同,即所有存储空间的写入寿命均匀损耗。
[0007]为了达成上述目的,本专利技术提供一种可变数据块宽度的EEPROM读写方法,该方法包括如下步骤 ...
【技术保护点】
【技术特征摘要】
1.一种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
state
+1),当前块状态...
【专利技术属性】
技术研发人员:马朔昕,邰元,王坦,
申请(专利权)人:南京泰立瑞信息科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。