基于模拟eeprom的数据写入、读取及管理方法技术

技术编号:34193708 阅读:13 留言:0更新日期:2022-07-17 16:04
本发明专利技术提供了一种基于模拟eeprom的数据写入、读取及管理方法,模拟eeprom包括静态随机存取存储器以及闪存,闪存包括至少两个存储组,至少两个存储组包括第一存储组和第二存储组;其数据写入方法包括:将待写入数据写入至静态随机存取存储器的目标地址;将所述待写入数据以预设写入顺序写入至所述第一存储组,并判断所述第一存储组是否为存满状态;当所述第一存储组为存满状态时,将所述待写入数据以预设写入顺序写入至所述第二存储组,并清除所述第一存储组中的所述待写入数据。本发明专利技术降低了模拟eeprom的数据管理机制的复杂度,提高了其灵活性。灵活性。灵活性。

Data writing, reading and management method based on analog EEPROM

【技术实现步骤摘要】
基于模拟eeprom的数据写入、读取及管理方法


[0001]本专利技术涉及嵌入式软件
,具体涉及一种基于模拟eeprom的数据写入、读取及管理方法。

技术介绍

[0002]在嵌入式应用的很多场合,一些关键数据需要长久保存并且可能频繁的更改。在嵌入式开发中,在很多产品的场景中都使用电可擦除可编程只读存储器(Electrically Erasable Programmable Read

Only Memory,EEPROM)来存储应用中需要保存的非易失性数据。
[0003]现有技术中一般通过flash组成eeprom,将内置flash划分成多个“页”,并在flash中为每一页寻找额外的空间来存储地址和状态信息。向eeprom写入数据时,数据会写入到当前活跃“页”的某一地址,同时将地址和状态信息写入到另一快特定区域;读eeprom时,先读取地址及状态信息,再根据获取的信息定位到“页”的对应地址;当前“页”写满时,需依次读出本“页”存储的值,选定下一工作“页”后,将数据拷贝到下一工作“页”。上述技术受限于flash的位宽,实现方法较为复杂,需要在flash中单独划分区一块区域用于存储地址和状态信息。读取eeprom时,首先需要进行复杂的寻址才能找到flash中对应的存储位置,因而读取eeprom需要花费多个时钟周期。为了解决上述技术方案存在的读取eeprom周期过长的技术问题,现有技术中提出了通过非易失性存储器(non

volatile memory, NVM)和随机存取存储器(random access memory,RAM)组成eeprom的技术方案,NVM内部被划分成多个扇区,但仅有一个扇区是处于工作状态。每一个扇区中又单独划分出一块区域用于存储该扇区的状态标签(包括擦除计数器、失效标签和注销标签)。数据写入到eeprom系统时,首先会存储到RAM中,与此同时RAM的地址和数据信息会存储到NVM的工作扇区;读取eeprom时,数据直接来源于RAM;掉电后由于NVM中保存的数据不会丢失,NVM中存储的数据又会同步到RAM中。
[0004]上述技术方案存在以下问题:需要单独划分出一块区域存储状态标签,数据管理机制复杂。因此,急需提供一种基于模拟eeprom的数据写入、读取及管理方法,解决现有技术中eeprom的数据管理机制复杂的技术问题。。

技术实现思路

[0005]有鉴于此,有必要提供一种基于模拟eeprom的数据写入、读取及管理方法,用以解决现有技术中存在的eeprom的数据管理机制复杂的技术问题。
[0006]为了解决上述技术问题,本专利技术提供了一种基于模拟eeprom的数据写入方法,所述模拟eeprom包括静态随机存取存储器以及闪存,所述闪存包括至少两个存储组,所述至少两个存储组包括第一存储组和第二存储组;所述基于模拟eeprom的数据写入方法包括:将待写入数据写入至所述静态随机存取存储器的目标地址;将所述待写入数据以预设写入顺序写入至所述第一存储组,并判断所述第一存储
组是否为存满状态;当所述第一存储组为存满状态时,将所述待写入数据以预设写入顺序写入至所述第二存储组,并清除所述第一存储组中的所述待写入数据。
[0007]在一些可能的实现方式中,基于模拟eeprom的数据写入方法还包括:将所述待写入数据、所述目标地址以及附加信息进行打包,生成待校验数据包,所述附加信息包括有效标志位。
[0008]在一些可能的实现方式中,基于模拟eeprom的数据写入方法还包括:基于所述有效标志位判断所述待校验数据包是否有效;当所述待校验数据包有效时,将所述待校验数据包以预设写入顺序写入至所述第一存储组,并判断所述第一存储组是否为存满状态;当所述第一存储组为存满状态时,将所述待写入数据、所述目标地址以及附加信息重新打包,生成重组数据包;将所述重组数据包以所述预设写入顺序写入至所述第二存储组,并清除所述第一存储组中的所述待校验数据包。
[0009]在一些可能的实现方式中,所述至少两个存储组包括首存储组、至少一个中间存储组以及尾存储组;当所述第一存储组为所述首存储组或所述中间存储组时,所述第二存储组为与所述第一存储组相邻的下一存储组;当所述第一存储组为所述尾存储组时,所述第二存储组为所述首存储组。
[0010]另一方面,本专利技术还提供了一种基于模拟eeprom的数据读取方法,所述模拟eeprom包括静态随机存取存储器以及闪存,所述闪存包括多个存储组,每一所述存储组包括首行、多个中间行和尾行,所述首行和中间行用于存储待读取数据;所述基于模拟eeprom的数据读取方法包括:依次读取每一所述存储组的首行和尾行,并通过预设的信息包标记位判断所述首行和所述尾行是否均有效;当所述首行和所述尾行均有效时,以预设读取顺序读取所述待读取数据。
[0011]在一些可能的实现方式中,所述首行和中间行还用于存储地址信息,所述以预设读取顺序读取所述待读取数据,包括:基于所述地址信息确定所述静态随机存取存储器的目标地址,并将所述待读取数据读取至所述目标地址;从所述静态随机存取存储器的目标地址中读取所述待读取数据。
[0012]在一些可能的实现方式中,所述基于所述地址信息确定所述静态随机存取存储器的目标地址,包括:基于所述信息包标记位判断所述待读取数据是否为有效数据;当所述待读取数据为所述有效数据时,基于所述地址信息确定所述静态随机存取存储器的目标地址。
[0013]在一些可能的实现方式中,所述将所述待读取数据读取至所述目标地址中,包括:检测所述待读取数据中出错的比特位数;当出错的比特位数大于阈值比特位数时,生成出错状态信息,并将所述出错状态信息以及所述待读取数据对应的闪存地址保存至寄存器中;当出错的比特位数小于或等于阈值比特位数时,基于所述误差校验码运算纠正出
错的比特位,生成已纠正数据,并将所述已纠正数据写入至所述目标地址。
[0014]在一些可能的实现方式中,所述静态随机存取存储器包括功能标志位;所述从所述静态随机存取存储器的目标地址中读取所述待读取数据,包括:基于所述功能标志位判断所述待读取数据是否为eeprom数据;当所述待读取数据为eeprom数据时,从所述目标地址中读取所述待读取数据。
[0015]另一方面,本专利技术还提供一种基于模拟eeprom的数据管理方法,包括:根据基于模拟eeprom的数据写入方法写入eeprom数据;根据基于模拟eeprom的数据读取方法读取所述eeprom数据;其中,所述基于模拟eeprom的数据写入方法为上述任意一种可能的实现方式中所述的基于模拟eeprom的数据写入方法中的步骤,所述基于模拟eeprom的数据读取方法为上述任意一种可能的实现方式中所述的基于模拟eeprom的数据读取方法中的步骤。
[0016]另一方面,本专利技术还提供了一种基于模拟eeprom的数据管理系统,包括:处理器、闪存以及静态随机存取存储器,所述闪存包括多个存储组;所述处理器用于执行上述任意一种可能的实现方式中所本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于模拟eeprom的数据写入方法,其特征在于,所述模拟eeprom包括静态随机存取存储器以及闪存,所述闪存包括至少两个存储组,所述至少两个存储组包括第一存储组和第二存储组;所述基于模拟eeprom的数据写入方法包括:将待写入数据写入至所述静态随机存取存储器的目标地址;将所述待写入数据以预设写入顺序写入至所述第一存储组,并判断所述第一存储组是否为存满状态;当所述第一存储组为存满状态时,将所述待写入数据以预设写入顺序写入至所述第二存储组,并清除所述第一存储组中的所述待写入数据。2.根据权利要求1所述的基于模拟eeprom的数据写入方法,其特征在于,还包括:将所述待写入数据、所述目标地址以及附加信息进行打包,生成待校验数据包,所述附加信息包括有效标志位。3.根据权利要求2所述的基于模拟eeprom的数据写入方法,其特征在于,还包括:基于所述有效标志位判断所述待校验数据包是否有效;当所述待校验数据包有效时,将所述待校验数据包以预设写入顺序写入至所述第一存储组;并判断所述第一存储组是否为存满状态;当所述第一存储组为存满状态时,将所述待写入数据、所述目标地址以及附加信息重新打包,生成重组数据包;将所述重组数据包以所述预设写入顺序写入至所述第二存储组,并清除所述第一存储组中的所述待校验数据包。4.根据权利要求1所述的基于模拟eeprom的数据写入方法,其特征在于,所述至少两个存储组包括首存储组、至少一个中间存储组以及尾存储组;当所述第一存储组为所述首存储组或所述中间存储组时,所述第二存储组为与所述第一存储组相邻的下一存储组;当所述第一存储组为所述尾存储组时,所述第二存储组为所述首存储组。5.一种基于模拟eeprom的数据读取方法,其特征在于,所述模拟eeprom包括静态随机存取存储器以及闪存,所述闪存包括多个存储组,每一所述存储组包括首行、多个中间行和尾行,所述首行和中间行用于存储待读取数据;所述基于模拟eeprom的数据读取方法包括:依次读取每一所述存储组的首行和尾行,并通过预设的信息包标记位判断所述首行和所述尾行是否均有效;当所述首行和所述尾行均有效时,以预设读取顺序读取所述待读取数据。6.根据权利要求5所述的基于模拟eeprom的数据读取方法,其特征在于,所述首行和中间行还用于存储地址信息,所述...

【专利技术属性】
技术研发人员:胡春林
申请(专利权)人:武汉杰开科技有限公司
类型:发明
国别省市:

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

1