掉电数据存储方法、单片机及计算机可读存储介质技术

技术编号:28498283 阅读:17 留言:0更新日期:2021-05-19 22:36
本申请公开了掉电数据存储方法、单片机及计算机可读存储介质,其中掉电数据存储方法包括:划分存储模块,得到第一扇区和第二扇区;将所述第一扇区和所述第二扇区划分若干个数据区;每一所述数据区包括用于写入数据的写区域和已写入数据的满区域;接收掉电信号;根据所述掉电信号从所述写区域中确定确定目标写入数据区;其中,所述目标写入数据区为所述写区域之一;将备份数据写入所述目标写入数据区,并修改所述目标写入数据区的标志位,不需要存储一次数据就擦除一次扇区,直至扇区中的所有数据区存储满才对扇区进行擦除,延长单片机的F l ash存储器使用寿命。ash存储器使用寿命。ash存储器使用寿命。

【技术实现步骤摘要】
掉电数据存储方法、单片机及计算机可读存储介质


[0001]本申请涉及数据读写
,特别涉及掉电数据存储方法、单片机及计算机可读存储介质。

技术介绍

[0002]在单片机系统中,用户数据随着不同应用场景,不同时间都可能发生变化,此时需要单片机系统能够及时将变化后的数据保存下来。目前,单片机使用Flash非易失介质进行数据保存时,可以通过监控电源状态来判断设备的供电情况,当发生掉电时,将单片机设备的功耗降到最低,依靠电容来维持微控制器接下来一小段时间的工作,用于把RAM内存中的用户数据保存到Flash中。将数据保存到Flash中通常具有以下步骤,第一步读取RAM内存的数据寻找Flash存储的扇区,第二步擦除Flash的扇区,第三步将需要存储的数据从RAM写入Flash的扇区。写入数据时,必须先把需要写入数据的目标扇区的原有全部数据擦除,然后才能写入数据。这样仅需要写入几个字节的数据时,可能就要擦除整个扇区,扇区的大小在16KB到128KB不等,但是FLASH的擦写次数有限,一般在万次以上,多次反复的擦除,使得单片机的Flash存储器寿命降低。

技术实现思路

[0003]本申请旨在至少解决现有技术中存在的技术问题之一。为此,本申请提出一种掉电数据存储方法、单片机及计算机可读存储介质,延长单片机的Flash存储器使用寿命。
[0004]第一方面,本申请实施例提供了一种掉电数据存储方法,包括:
[0005]划分存储模块,得到第一扇区和第二扇区;
[0006]将所述第一扇区和所述第二扇区划分若干个数据区;每一所述数据区包括用于写入数据的写区域和已写入数据的满区域;
[0007]接收掉电信号;
[0008]根据所述掉电信号从所述写区域中确定确定目标写入数据区;其中,所述目标写入数据区为所述写区域之一;
[0009]将备份数据写入所述目标写入数据区,并修改所述目标写入数据区的标志位。
[0010]根据本申请第一方面实施例的掉电数据存储方法,至少具有如下有益效果:将Flash存储器划分两个用于数据存储的第一扇区和第二扇区,对第一扇区和第二扇区划分若干个数据区,使用两个扇区在对其中一个扇区进行擦除数据时可以保证另外一个扇区还留有一份正确数据,两个扇区可以起到备份保护的作用,避免擦除扇区时对正确数据的误删除,每个数据区都有已写入数据和未写入数据的标识,每次掉电备份数据只写入到第一扇区或第二扇区中的未写入的数据区中,并对写入的数据区作出标志变更,一个扇区可以存储多个数据在不同的数据区中,提高Flash空间利用率,同时不需要存储一次数据就擦除一次扇区,直至扇区中的所有数据区存储满才对扇区进行擦除,延长单片机的Flash存储器使用寿命。
[0011]根据本申请第一方面的一些实施例,所述根据所述掉电信号从所述写区域中确定目标写入数据区,包括:根据所述掉电信号确定所述第一扇区的所述写区域中的第一最低数据区和所述第二扇区的所述写区域中的第二最低数据区;根据所述第一最低数据区和所述第二最低数据确定所述目标写入数据区。
[0012]根据本申请第一方面的一些实施例,所述根据所述第一最低数据区和所述第二最低数据确定所述目标写入数据区,包括:判断所述第一最低数据区和所述第二最低数据的大小关系,若所述第一最低数据区低于或等于所述第二最低数据区,则将所述第一最低数据区设为所述目标写入数据区;若所述第一最低数据区高于所述第二最低数据区,则将所述第二最低数据区设为所述目标写入数据区。
[0013]根据本申请第一方面的一些实施例,所述根据所述掉电信号从所述写区域中确定确定目标写入数据区,还包括:确定所述第一扇区和所述第二扇区的存储状态;所述存储状态包括存满状态和未存满状态;若所述第一扇区和所述第二扇区均为存满状态且所述第二扇区包括正确数据,则擦除所述第一扇区且将所述第一扇区的最低数据区设为所述目标写入数据区;若所述第一扇区和所述第二扇区均为存满状态且所述第二扇区不包括正确数据,则擦除所述第二扇区,且将所述第二扇区的最高数据区设为所述目标写入数据区、将所述第二扇区的非最高数据区设为满区域。
[0014]根据本申请第一方面的一些实施例,所述根据所述掉电信号从所述写区域中确定确定目标写入数据区,还包括:若所述第二扇区为存满状态且所述第一扇区为未存满状态且所述第一扇区包括正确数据,则擦除所述第二扇区且所述第二扇区的最低数据区设为所述目标写入数据区;若所述第二扇区未存满状态且所述第一扇区为未存满状态且所述第一扇区不包括正确数据,则擦除所述第一扇区且将所述第一扇区的最低数据区设为所述目标写入数据区。
[0015]根据本申请第一方面的一些实施例,还包括:查询所述第一扇区和所述第二扇区满区域中的最新正确数据区;将所述最新正确数据区的数据更新到内存中。
[0016]根据本申请第一方面的一些实施例,所述查询所述第一扇区和所述第二扇区满区域中的最新正确数据区,包括:查询并校验数据正确的所述第一扇区的所有满区域,确定所述第一扇区的满区域中的第一最高数据区;查询并校验数据正确的所述第二扇区的所有满区域,确定所述第二扇区的满区域中的第二最高数据区。
[0017]根据本申请第一方面的一些实施例,所述将所述最新正确数据区的数据更新到内存中,包括:判断所述第一最高数据区和所述第二最高数据的大小关系,若所述第二最高数据区高于或等于所述第一最高数据区,更新所述第二最高数据区的数据到内存中;若所述第二最高数据区低于所述第一最高数据区,更新所述第一最高数据区的数据到内存中。
[0018]第二方面,本申请实施例提供了一种单片机,包括:处理器、存储器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本申请第一方面任意一项实施例所述的掉电数据存储方法。
[0019]第三方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行本申请第一方面任意一项实施例所述的掉电数据存储方法。
[0020]本申请的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变
得明显,或通过本申请的实践了解到。
附图说明
[0021]本申请的附加方面和优点结合下面附图对实施例的描述中将变得明显和容易理解,其中:
[0022]图1是本申请一个实施例提供的掉电数据存储方法的流程图;
[0023]图2是本申请另一个实施例提供的掉电数据存储方法的流程图;
[0024]图3是本申请另一个实施例提供的掉电数据存储方法的流程图;
[0025]图4是本申请另一个实施例提供的掉电数据存储方法的流程图;
[0026]图5是本申请另一个实施例提供的掉电数据存储方法的流程图;
[0027]图6是本申请另一个实施例提供的掉电数据存储方法的流程图;
[0028]图7是本申请另一个实施例提供的掉电数据存储方法的流程图;
[0029]图8是本申请另一个实本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种掉电数据存储方法,其特征在于,包括:划分存储模块,得到第一扇区和第二扇区;将所述第一扇区和所述第二扇区划分若干个数据区;每一所述数据区包括用于写入数据的写区域和已写入数据的满区域;接收掉电信号;根据所述掉电信号从所述写区域中确定目标写入数据区;其中,所述目标写入数据区为所述写区域之一;将备份数据写入所述目标写入数据区,并修改所述目标写入数据区的标志位。2.根据权利要求1所述的掉电数据存储方法,其特征在于,所述根据所述掉电信号从所述写区域中确定目标写入数据区,包括:根据所述掉电信号确定所述第一扇区的所述写区域中的第一最低数据区和所述第二扇区的所述写区域中的第二最低数据区;根据所述第一最低数据区和所述第二最低数据确定所述目标写入数据区。3.根据权利要求2所述的掉电数据存储方法,其特征在于,所述根据所述第一最低数据区和所述第二最低数据确定所述目标写入数据区,包括:判断所述第一最低数据区和所述第二最低数据的大小关系,若所述第一最低数据区低于或等于所述第二最低数据区,则将所述第一最低数据区设为所述目标写入数据区;若所述第一最低数据区高于所述第二最低数据区,则将所述第二最低数据区设为所述目标写入数据区。4.根据权利要求2所述的掉电数据存储方法,其特征在于,所述根据所述掉电信号从所述写区域中确定确定目标写入数据区,还包括:确定所述第一扇区和所述第二扇区的存储状态;所述存储状态包括存满状态和未存满状态;若所述第一扇区和所述第二扇区均为存满状态且所述第二扇区包括正确数据,则擦除所述第一扇区且将所述第一扇区的最低数据区设为所述目标写入数据区;若所述第一扇区和所述第二扇区均为存满状态且所述第二扇区不包括正确数据,则擦除所述第二扇区,且将所述第二扇区的最高数据区设为所述目标写入数据区、将所述第二扇区的非最高数据区设为满区域。5.据权利要求4所述的...

【专利技术属性】
技术研发人员:宋斌刘汪
申请(专利权)人:深圳市显控科技股份有限公司
类型:发明
国别省市:

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

1