本申请公开了一种数据存储方法、系统和电子设备,属于数据存储技术领域,本申请的方法在闪存存储设备中确定第一存储区域,然后在第一存储区域中划分出多个第二存储区域;在多个第二存储区域中找到可进行读写操作的第二存储区域,并在可进行读写操作的第二存储区域进行读写操作;可进行读写操作的第二存储区域的空间写满数据时,将可进行读写操作的第二存储区域中虚拟地址对应的最新写入的待存储数据写入下一个可进行读写操作的第二存储区域,在写入完成后在下一个可进行读写操作的第二存储区域继续进行读写操作。本申请在第一存储区域中划分出多个第二存储区域,在多个第二存储区域之间进行数据的循环擦写存储,可有效提高整体大区域的擦写寿命。
【技术实现步骤摘要】
本申请属于数据存储,具体涉及一种数据存储方法、系统和电子设备。
技术介绍
1、闪存存储设备(flash)一般以块为单元进行擦写,不可以对单字节操作,容量一般比较大,但是擦写寿命比较低。在嵌入式产品很多应用场景,常采用flash作为存储设备,对于需要零散存储的数据,其擦写存储动作较为频繁,这难免影响flash的使用寿命。
技术实现思路
1、专利技术目的:本申请开发了一种数据存储方法、系统和电子设备,旨在解决现有技术中flash在频繁的擦写存储动作下使用寿命低的技术问题。
2、技术方案:第一方面,本申请提供一种数据存储方法,应用于闪存存储设备,所述闪存存储设备包括第一存储区域,所述第一存储区域包括多个第二存储区域;所述数据存储方法包括:
3、向可进行读写操作的第二存储区域写入待存储数据;
4、响应于可进行读写操作的所述第二存储区域写满,将可进行读写操作的所述第二存储区域中虚拟地址对应的最新写入的所述待存储数据写入下一可进行读写操作的所述第二存储区域,并继续在下一可进行读写操作的所述第二存储区域中进行读写操作。
5、在一些实施例中,还包括:
6、确定所述第二存储区域的单位擦写寿命;
7、确定所述目标擦写寿命;
8、基于所述目标擦写寿命和所述单位擦写寿命确定所述第二存储区域的数量。
9、在一些实施例中,所述基于所述目标擦写寿命和所述单位擦写寿命确定所述第二存储区域的数量的表征公式包括:
<
p>10、n*m≥a;11、其中,n为所述单位擦写寿命;m为所述第二存储区域的数量;a为所述目标擦写寿命。
12、在一些实施例中,所述第二存储区域包括:
13、识别区域,所述识别区域包括所述第二存储区域的前k个字节所占区域;所述识别区域中的数据用于表征所述第二存储区域的状态,k为正整数;
14、存储区域,所述存储区域包括第二存储区域中与所述识别区域连接的区域,所述存储区域用于存储写入的所述待存储数据。
15、在一些实施例中,所述存储区域包括:
16、数据区域,所述数据区域用于存储所述待存储数据;
17、虚拟地址区域,所述虚拟地址区域用于存储所述待存储数据的虚拟地址;
18、校验区域,所述校验区域用于存储所述待存储数据的校验码和所述虚拟地址的校验码。
19、在一些实施例中,所述第二存储区域的状态包括合法状态、写满状态、接收状态、非法状态和擦除状态,所述合法状态用于表征该区域可进行读写操作,所述写满状态用于表征该区域的存储空间已写满数据,所述接收状态用于表征该区域正在接收另外区域的数据,所述非法状态用于表征该区域需要清除数据,所述擦除状态用于表征该区域数据已全部清除:所述可进行读写操作的第二存储区域的确定方法包括
20、若所述第二存储区域为所述合法状态,则确定所述第二存储区域可进行读写操作。
21、在一些实施例中,所述数据存储方法还包括:
22、若所述闪存存储设备重新上电,则对所述闪存存储设备进行上电初始化操作,所述上电初始化操作包括:
23、若当前所述第二存储区域处于接收状态、上一个所述第二存储区域处于写满状态,则将上一个所述第二存储区域中虚拟地址对应的最新写入的所述待存储数据写入当前所述第二存储区域,并将当前所述第二存储区域置位合法状态;
24、若当前所述第二存储区域处于合法状态,且存在位于当前所述第二存储区域之前的处于合法状态的所述第二存储区域,则清除当前所述第二存储区域中的数据;
25、若当前所述第二存储区域处于写满状态,且存在处于合法状态的所述第二存储区域,则清除当前所述第二存储区域中的数据,或者将当前所述第二存储区域中虚拟地址对应的最新写入的所述待存储数据写入下一个所述第二存储区域。
26、在一些实施例中,所述数据存储方法还包括:
27、配置地址存储区域,所述地址存储区域用于存储所述虚拟地址对应的最新待写入的数据在所述第二存储区域的存储地址;
28、配置全局变量,所述全局变量用于存储最新待写入的数据在所述第二存储区域的存储地址;
29、在读取数据时,若所述地址存储区域中的存储地址所在的所述第二存储区域处于合法状态,则读取所述地址存储区域中的存储地址中的数据;
30、在写入数据时,若所述全局变量中的存储地址所在的所述第二存储区域处于合法状态,且所述全局变量中的存储地址处于擦除状态,则在所述全局变量中的存储地址写入数据。
31、第二方面,本申请的实施例还提供一种数据存储系统,应用于闪存存储设备,所述闪存存储设备包括第一存储区域,所述第一存储区域包括多个第二存储区域,所述数据存储系统包括:
32、数据写入模块,所述数据写入模块用于向可进行读写操作的第二存储区域写入待存储数据;
33、数据转接模块,所述数据转接模块用于响应于可进行读写操作的所述第二存储区域写满,将可进行读写操作的所述第二存储区域中虚拟地址对应的最新写入的所述待存储数据写入下一可进行读写操作的所述第二存储区域,并继续在下一可进行读写操作的所述第二存储区域中进行读写操作。
34、第三方面,本申请的实施例还提供一种电子设备,包括:
35、存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行如第一方面中任一项所述的数据存储方法。
36、有益效果:与现有技术相比,本申请实施例提供的一种数据存储方法,应用于闪存存储设备,本申请的数据存储方法首先在闪存存储设备中确定用于存储数据的第一存储区域,然后在第一存储区域中划分出多个部分存储空间,以确定多个第二存储区域;在多个第二存储区域中找到可进行读写操作的第二存储区域,并在可进行读写操作的第二存储区域进行读写操作;当可进行读写操作的第二存储区域的空间写满数据时,将可进行读写操作的第二存储区域中虚拟地址对应的最新写入的待存储数据写入下一个可进行读写操作的第二存储区域,并在写入完成后在下一个可进行读写操作的第二存储区域继续进行读写操作。本申请在第一存储区域中划分出多个第二存储区域,在多个第二存储区域之间进行数据的循环擦写存储,将一片大的存储区域划分为多片小的存储区域,基于大小区域相同的擦写寿命,通过在相同的存储区域内增加擦写区域的数量对需要零散存储的数据进行循环擦写存储,可有效提高整体大区域的擦写寿命。
本文档来自技高网...
【技术保护点】
1.一种数据存储方法,其特征在于,应用于闪存存储设备,所述闪存存储设备包括第一存储区域,所述第一存储区域包括多个第二存储区域;所述数据存储方法包括:
2.根据权利要求1所述的数据存储方法,其特征在于,还包括:
3.根据权利要求2所述的数据存储方法,其特征在于,所述基于所述目标擦写寿命和所述单位擦写寿命确定所述第二存储区域的数量的表征公式包括:
4.根据权利要求1所述的数据存储方法,其特征在于,所述第二存储区域包括:
5.根据权利要求4所述的数据存储方法,其特征在于,所述存储区域包括:
6.根据权利要求4所述的数据存储方法,其特征在于,区域的状态包括合法状态、写满状态、接收状态、非法状态和擦除状态,所述合法状态用于表征该区域可进行读写操作,所述写满状态用于表征该区域的存储空间已写满数据,所述接收状态用于表征该区域正在接收另外区域的数据,所述非法状态用于表征该区域需要清除数据,所述擦除状态用于表征该区域数据已全部清除:所述可进行读写操作的第二存储区域的确定方法包括
7.根据权利要求6所述的数据存储方法,其特征在于,所述数据存储方法还包括:
8.根据权利要求6所述的数据存储方法,其特征在于,所述数据存储方法还包括:
9.一种数据存储系统,其特征在于,应用于闪存存储设备,所述闪存存储设备包括第一存储区域,所述第一存储区域包括多个第二存储区域,所述数据存储系统包括:
10.一种电子设备,其特征在于,包括:
...
【技术特征摘要】
1.一种数据存储方法,其特征在于,应用于闪存存储设备,所述闪存存储设备包括第一存储区域,所述第一存储区域包括多个第二存储区域;所述数据存储方法包括:
2.根据权利要求1所述的数据存储方法,其特征在于,还包括:
3.根据权利要求2所述的数据存储方法,其特征在于,所述基于所述目标擦写寿命和所述单位擦写寿命确定所述第二存储区域的数量的表征公式包括:
4.根据权利要求1所述的数据存储方法,其特征在于,所述第二存储区域包括:
5.根据权利要求4所述的数据存储方法,其特征在于,所述存储区域包括:
6.根据权利要求4所述的数据存储方法,其特征在于,区域的状态包括合法状态、写满状态、接收状态、非法状态和擦除状态...
【专利技术属性】
技术研发人员:崔亚飞,胡运平,
申请(专利权)人:深圳市欣旺达能源科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。