本申请涉及数据存储技术,尤其涉及一种数据存储器的控制方法及电子设备。
背景技术:
1、在计算机设计中,通常采用串行外围总线只读存储器(spi rom,serialperipheral interface bus read only memory)芯片存储基本输入输出系统(bios,basicinput output system)和嵌入式控制器(ec,embedded controller)等固件(fw,firmware)信息,这些fw都有一些变量需要保存。为了节约成本,通常不会额外增加带电可擦可编程只读存储器(eeprom,electrically erasable programmable read only memory)之类的设备保存变量数据;而是会在spi rom中预留一部分空间用于存储变量。
2、对于应用层而言,变量的操作包括读取和写入。对于底层,在spi rom中写数据要分为擦除和写入,但是,spi rom的擦写寿命非常有限,且spi rom的擦除时间较长,这对于实时性要求较高的嵌入式设备而言,是非常致命的弱点。
技术实现思路
1、本申请的技术方案是这样实现的:
2、根据本申请的一方面,提供一种数据存储器控制方法,所述数据存储器包括第一区域和第二区域,其中,所述第一区域用于存储数据索引信息,所述第二区域用于存储数据;
3、所述方法包括:
4、响应于第一数据获取指令,从所述第一区域确定第一数据的索引信息,根据第一数据的索引信息确定第一数据对应的第一地址;
5、从所述第一地址对应的第二区域中获取所述第一数据;
6、如果所述第一数据满足重写条件,将所述第一数据对应的第二数据写入第二地址对应的第二区域;所述第二数据表征所述第一数据的重写数据。
7、上述方案中,在所述将所述第一数据对应的第二数据写入第二地址对应的第二区域之前,所述方法还包括:
8、记录所述第二区域中各数据地址的写入次数;
9、将写入次数最小的数据地址确定为所述第二地址。
10、上述方案中,所述方法还包括,确定所述第二地址与所述第一地址的偏移距离,将预设偏移距离内写入次数最小的数据地址确定为所述第二地址。
11、上述方案中,所述根据所述索引信息确定所述数据对应的第一地址,包括:
12、获取所述索引信息中第一比特位上的第一值;其中,所述第一比特位表征最低比特位;
13、如果所述第一值是0,获取所述索引信息中第二比特位上的第二值,所述第二比特位与所述第一比特位相邻;
14、如果所述第二值是1,将所述第一值对应的目标地址确定为所述数据对应的所述第一地址。
15、上述方案中,所述方法还包括:
16、确定所述索引信息中所有比特位上的数值均是0,擦除所述第一区域中的所述索引信息。
17、上述方案中,所述第一数据满足重写条件,包括:
18、将表征所述第一数据的第一组比特位值与表征待写入的第二数据的第二组比特位值进行比较;所述第二数据表征所述第一数据的重写数据;
19、根据所述第一组比特位值与所述第二组比特位值的比较结果,确定同一比特位上的第三值和第四值;其中,所述第三值归属于所述第一组比特位值,所述第上值归属于所述第二组比特位值;
20、如果所述第三值是0,所述第四值是1,确定所述第一数据满足重写条件。
21、上述方案中,所述方法还包括:
22、如果所述第二区域满足数据擦除条件,对所述第二区域中存储的数据进行数据擦除。
23、上述方案中,所述第二区域满足数据擦除条件,包括以下之一:
24、获取当前系统的状态信息;如果所述状态信息表征所述系统当前处于空闲状态,确定所述第二区域满足数据擦除条件;
25、如果接收到针对所述第二区域的数据擦除指令,确定所述第二区域满足数据擦除条件。
26、上述方案中,所述方法还包括:
27、将所述数据索引信息和所述第一数据存储到易失性存储器,所述数据存储器为非易失性存储器;
28、通过所述易失性存储器执行对所述第二区域中所述第一数据进行数据擦除或将所述第二数据写入所述第二区域。
29、根据本申请的另一方面,提供一种电子设备,包括:
30、数据存储器,具有第一区域和第二区域,其中,所述第一区域用于存储数据索引信息,所述第二区域用于存储数据;
31、处理器,用于响应于第一数据获取指令,从所述第一区域确定第一数据索引信息,根据第一数据索引信息确定第一数据对应的第一地址;以及用于从所述第一地址对应的第二区域中获取所述第一数据;如果所述第一数据满足重写条件,将所述第一数据对应的第二数据写入第二地址对应的第二区域;所述第二数据表征所述第一数据的重写数据。
1.一种数据存储器控制方法,所述数据存储器包括第一区域和第二区域,其中,所述第一区域用于存储数据索引信息,所述第二区域用于存储数据;
2.根据权利要求1所述的方法,在所述将所述第一数据对应的第二数据写入第二地址对应的第二区域之前,所述方法还包括:
3.根据权利要求2所述的方法,所述方法还包括,确定所述第二地址与所述第一地址的偏移距离,将预设偏移距离内写入次数最小的数据地址确定为所述第二地址。
4.根据权利要求1所述的方法,其中,所述根据所述索引信息确定所述数据对应的第一地址,包括:
5.根据权利要求4所述的方法,其中,所述方法还包括:
6.根据权利要求1所述的方法,其中,所述第一数据满足重写条件,包括:
7.根据权利要求1所述的方法,其中,所述方法还包括:
8.根据权利要求7所述的方法,其中,所述第二区域满足数据擦除条件,包括以下之一:
9.根据权利要求1所述的方法,其中,所述方法还包括:
10.一种电子设备,包括: