基于双扇区机制的数据处理方法、装置及电子设备与流程

摘要: 本申请属于数据管理,具体涉及一种基于双扇区机制的数据处理方法、装置及电子设备。背景技术:1、闪存eeprom仿真(flasheepromemulation,fe...
基于双扇区机制的数据处理方法、装置及电子设备与流程

本申请属于数据管理,具体涉及一种基于双扇区机制的数据处理方法、装置及电子设备。

背景技术:

1、闪存eeprom仿真(flash eeprom emulation,fee)模块,指使用flash(flash存储器通常用于大量数据存储,例如操作系统、应用程序和文件数据,其大容量和快速访问速度适合用作主存储设备)来模拟电可擦除可编程只读存储器(electrically erasableprogrammable read-only memory,eeprom)功能,使应用可以在不主动擦除flash的情形下对flash进行写入。

2、由于flash物理空间有限,fee引入双扇区垃圾回收机制,通过定期清理无效或过时的数据页,垃圾回收策略释放出已占用的存储空间,使其可以被新数据再次使用。这不仅有助于延缓闪存磨损,防止因频繁写入导致的存储性能下降,还提高了系统的持久性和稳定性。

3、但是,现有的fee双扇区垃圾回收机制的数据处理方案存在如下问题:

4、数据写入落盘时间具有较大的不确定性;

5、扇区空间利用不充分。

技术实现思路

1、本申请实施例的目的是提供一种基于双扇区机制的数据处理方法、装置及电子设备,至少能够部分解决上述问题。

2、第一方面,本申请实施例提供了一种基于双扇区机制的数据处理方法,包括:

3、在接收到目标数据的写入任务的情况下,若第一扇区为空、且所述目标数据的大小大于第二扇区的剩余空间大小,则先将所述目标数据写入所述第一扇区,再执行所述第二扇区的数据迁移任务;或者,

4、在接收到所述目标数据的写入任务的情况下,若所述第一扇区不为空、且所述第二扇区的剩余空间大小小于或等于预设阈值,则先执行所述第一扇区的数据迁移任务,再将所述目标数据写入所述第二扇区;

5、其中,所述第一扇区为无效扇区,所述第二扇区为有效扇区。

6、可选地,所述若所述第一扇区不为空、且所述第二扇区的剩余空间大小小于或等于预设阈值,则先执行所述第一扇区的数据迁移任务,再将所述目标数据写入所述第二扇区,包括:

7、在确定所述第一扇区不为空的情况下,确定所述第二扇区的剩余空间与所述预设阈值的大小关系;

8、在确定所述第二扇区的剩余空间大小小于或等于所述预设阈值的情况下,将所述第一扇区中的有效数据块迁移至所述第二扇区;

9、在将所述第一扇区中的有效数据块全部迁移至所述第二扇区的情况下,将所述目标数据写入所述第二扇区,并将所述第一扇区标记为待擦除状态。

10、可选地,所述将所述目标数据写入所述第二扇区之后,所述方法还包括:

11、在检测到没有其他写入任务的情况下,对标记为所述待擦除状态的第一扇区执行数据擦除操作。

12、可选地,所述方法还包括:

13、若所述第一扇区不为空、且所述第二扇区的剩余空间大小大于所述预设阈值的情况下,将所述目标数据写入所述第二扇区;

14、在检测到没有其他写入任务的情况下,将所述第一扇区中的有效数据块迁移至所述第二扇区;

15、在将所述第一扇区中的有效数据块全部迁移至所述第二扇区的情况下,对所述第一扇区执行数据擦除操作。

16、可选地,所述预设阈值是基于各个类型的写入数据的最大值之和得到的。

17、可选地,所述若第一扇区为空、且所述目标数据的大小大于第二扇区的剩余空间大小,则先将所述目标数据写入所述第一扇区,再执行所述第二扇区的数据迁移任务,包括:

18、在确定所述第一扇区为空的情况下,确定所述目标数据与所述第二扇区的剩余空间的大小关系;

19、在确定所述目标数据的大小大于所述第二扇区的剩余空间大小的情况下,将所述目标数据写入所述第一扇区,并将所述第二扇区标记为待迁移状态;

20、在检测到没有其他写入任务的情况下,将标记为所述待迁移状态的第二扇区的有效数据块迁移至所述第一扇区。

21、可选地,所述执行所述第二扇区的数据迁移任务之后,所述方法还包括:

22、在将所述第二扇区中的有效数据块全部迁移至所述第一扇区的情况下,对所述第二扇区执行数据擦除操作,并将所述第二扇区标记为无效扇区,将所述第一扇区标记为有效扇区。

23、第二方面,本申请实施例提供了一种基于双扇区机制的数据处理装置,包括:

24、第一执行模块,用于在接收到目标数据的写入任务的情况下,若第一扇区为空、且所述目标数据的大小大于第二扇区的剩余空间大小,则先将所述目标数据写入所述第一扇区,再执行所述第二扇区的数据迁移任务;或者,

25、第二执行模块,用于在接收到所述目标数据的写入任务的情况下,若所述第一扇区不为空、且所述第二扇区的剩余空间大小小于或等于预设阈值,则先执行所述第一扇区的数据迁移任务,再将所述目标数据写入所述第二扇区;

26、其中,所述第一扇区为无效扇区,所述第二扇区为有效扇区。

27、第三方面,本申请实施例还提供了一种电子设备,包括存储器,收发机,处理器:

28、所述存储器,用于存储计算机程序;所述收发机,用于在所述处理器的控制下收发数据;所述处理器,用于读取所述存储器中的计算机程序并执行如上述第一方面所述的方法。

29、第四方面,本申请实施例还提供一种处理器可读存储介质,所述处理器可读存储介质存储有计算机程序,所述计算机程序用于使处理器执行如上述第一方面所述的方法。

30、第五方面,本申请实施例提供一种计算机程序产品,所述计算机程序产品被存储在存储介质中,所述计算机程序产品被至少一个处理器执行以实现如第一方面所述的方法。

31、在本申请实施例中,第一扇区为无效扇区,第二扇区为有效扇区,在接收到目标数据的写入任务的情况下,若第一扇区为空、且目标数据的大小大于第二扇区的剩余空间大小,则先将目标数据写入第一扇区,再执行第二扇区的数据迁移任务,即当第二扇区写满或即将写满时,先将当前需要写入的目标数据直接写入另外一个空闲的第一扇区,之后再进行数据迁移,由此可以避免先进行数据迁移导致的数据写入时间具有较大的不确定性的问题,提高写入时间的可靠性。

32、若所述第一扇区不为空、且第二扇区的剩余空间大小小于或等于预设阈值,则先执行第一扇区的数据迁移任务,再将目标数据写入第二扇区,即当持续存在写入任务时,如果检测到当前的第二扇区的剩余空间小于等于预设阈值,且另外的第一扇区不为空,则触发强制换页操作,先进行数据迁移,再写入目标数据,此方案无需预留扇区空间,能够最大化扇区空间利用率。

1.一种基于双扇区机制的数据处理方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述若所述第一扇区不为空、且所述第二扇区的剩余空间大小小于或等于预设阈值,则先执行所述第一扇区的数据迁移任务,再将所述目标数据写入所述第二扇区,包括:

3.根据权利要求2所述的方法,其特征在于,所述将所述目标数据写入所述第二扇区之后,所述方法还包括:

4.根据权利要求1所述的方法,其特征在于,所述方法还包括:

5.根据权利要求1至4任一项所述的方法,其特征在于,所述预设阈值是基于各个类型的写入数据的最大值之和得到的。

6.根据权利要求1所述的方法,其特征在于,所述若第一扇区为空、且所述目标数据的大小大于第二扇区的剩余空间大小,则先将所述目标数据写入所述第一扇区,再执行所述第二扇区的数据迁移任务,包括:

7.根据权利要求1或6所述的方法,其特征在于,所述执行所述第二扇区的数据迁移任务之后,所述方法还包括:

8.一种基于双扇区机制的数据处理装置,其特征在于,包括:

9.一种电子设备,其特征在于,包括存储器,收发机,处理器:

10.一种处理器可读存储介质,其特征在于,所述处理器可读存储介质存储有计算机程序,所述计算机程序用于使处理器执行如权利要求1-7任一项所述的基于双扇区机制的数据处理方法的步骤。

11.一种计算机程序产品,其特征在于,所述计算机程序产品被存储在存储介质中,所述计算机程序产品被至少一个处理器执行以实现如权利要求1-7任一项所述的基于双扇区机制的数据处理方法的步骤。