处理闪存异常数据的方法、电子设备和存储介质与流程

xiaoxiao2月前  9


本申请属于数据存储领域,具体涉及一种处理闪存异常数据的方法、电子设备和存储介质。


背景技术:

1、通常情况下,闪存在使用过程中出现异常掉电会导致闪存中数据块(block)内的某些页(page)损伤。出现损伤的这些页不仅包含异常掉电时数据块内正在执行写入操作的页,而且还包含正在执行写入操作的页附近的页。如图1所示,当在闪存的一个数据块执行写入数据操作时发生异常掉电,比如当数据写到数据块的page n+3时发生异常掉电,这时,至少两个page(如page n+1和page n+3)可能发生损坏。闪存上电之后,从page n+1开始到page n+3的数据不能再使用,同时page n+4到page n+m需要填充虚拟(dummy)数据,保证下次写入的数据不会出错。那从page n+1到page n+m这段空间,不应该被使用。因为这段空间的数据可能异常,如果被读取,ssd程序会进入纠错流程,浪费大量的时间,导致一些需要快速完成的程序,出现性能衰减,比如扫描检查,需要快速扫描全部数据块的指定页,如果读到这种掉电损伤的页,就会花费大量时间纠错,从而导致不能在规定的时间完成扫描。

2、可见,在闪存异常掉电并且重新上电后,若在对闪存进行数据操作的过程中涉及到对数据块中这些被损伤的页进行操作,那么,由于这些损伤的页上的数据可能异常,一旦读取到这些异常数据,会自动对这些异常数据进行纠错,导致对闪存的数据操作速率明显下降。


技术实现思路

1、本申请实施例提供本申请公开了一种处理闪存异常数据的方法、电子设备和存储介质,能够解决相关技术中因对闪存中被损坏的页进行数据操作导致数据操作速率明显下降的问题。

2、第一方面,本申请实施例提供了一种处理闪存异常数据的方法,所述方法包括:

3、在闪存异常掉电并重新上电的情况下,获取所述闪存中的开放数据块的异常掉电信息,所述异常掉电信息包括所述开放数据块中的页出现异常的位置范围和所述开放数据块的块编号;

4、将所述异常掉电信息写入所述闪存中的第一日志块和第二日志块;其中,所述第一日志块和所述第二日志块为所述闪存中的两个不同的日志块,且所述第一日志块和所述第二日志块互为备份;

5、在满足目标条件的情况下,获取所述异常掉电信息;所述异常掉电信息基于目标日志块得到,所述目标日志块为所述第一日志块和所述第二日志块中的至少一者;

6、以避开所述异常掉电信息中包含的所述位置范围的方式对所述开放数据块执行目标操作。

7、第二方面,本申请实施例提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器存储在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。

8、第三方面,本申请实施例提供了一种计算机可读存储介质,所述介质上存储程序或指令,所述程序或指令被执行时实现如第一方面所述的方法的步骤。

9、第四方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,该计算机程序被处理器执行时实现如第一方面所述的方法的步骤。

10、在本申请实施例中,在闪存异常掉电并重新上电的情况下,获取所述闪存中的开放数据块的异常掉电信息,所述异常掉电信息包括所述开放数据块中的页出现异常的位置范围和所述开放数据块的块编号;将所述异常掉电信息写入所述闪存中的第一日志块和第二日志块;其中,所述第一日志块和所述第二日志块为所述闪存中的两个不同的日志块,且所述第一日志块和所述第二日志块互为备份;在满足目标条件的情况下,获取所述异常掉电信息;所述异常掉电信息基于目标日志块得到,所述目标日志块为所述第一日志块和所述第二日志块中的至少一者;以避开所述异常掉电信息中包含的所述位置范围的方式对所述开放数据块执行目标操作。如此,将包括开放数据块中的页出现异常的位置范围的异常掉电信息,写入闪存中的第一日志块和第二日志块,使得第一日志块和第二日志块互为备份;在满足目标条件的情况下,获取异常掉电信息,以避开异常掉电信息中包含的位置范围的方式对开放数据块执行目标操作,这样可以避免对异常掉电信息中记录的开放数据块中的页出现异常的位置范围进行目标操作,进而避免了因对闪存的开放数据块中出现异常的位置范围进行目标操作导致目标操作速率明显下降的问题。



技术特征:

1.一种处理闪存异常数据的方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述将所述异常掉电信息写入所述闪存中的第一日志块和第二日志块,包括:

3.根据权利要求1所述的方法,其特征在于,所述在满足目标条件的情况下,获取所述异常掉电信息,包括:

4.根据权利要求1所述的方法,其特征在于,在所述将所述异常掉电信息写入所述闪存中的第一日志块和第二日志块之后,所述方法还包括:

5.根据权利要求4所述的方法,其特征在于,所述目标页为所述开放数据块中的最后一个未损坏的页;所述在满足目标条件的情况下,获取所述异常掉电信息,包括:

6.根据权利要求1-5任一项所述的方法,其特征在于,所述目标条件包括:对所述开放数据块执行垃圾回收操作,或者,对所述开放数据块执行扫描操作。

7.根据权利要求1-5任一项所述的方法,其特征在于,所述异常掉电信息还包括:异常出现时间、所有开放数据块的先后写入顺序以及异常掉电次数中的至少一种。

8.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1-7任一项所述的方法的步骤。

9.一种计算机可读存储介质,其特征在于,所述介质上存储程序或指令,所述程序或指令被执行时实现如权利要求1-7任一项所述的方法的步骤。

10.一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行时实现权利要求1-7任一项所述的方法的步骤。


技术总结
一种处理闪存异常数据的方法、电子设备和存储介质,涉及数据存储领域,该方法包括:在闪存异常掉电并重新上电的情况下,获取闪存中的开放数据块的异常掉电信息,所述异常掉电信息包括开放数据块中的页出现异常的位置范围和开放数据块的块编号;将所述异常掉电信息写入所述闪存中的第一日志块和第二日志块;其中,第一日志块和第二日志块为闪存中的两个不同的日志块,且第一日志块和第二日志块互为备份;在满足目标条件的情况下,获取所述异常掉电信息;所述异常掉电信息基于目标日志块得到,所述目标日志块为第一日志块和第二日志块中的至少一者;以避开所述异常掉电信息中包含的所述位置范围的方式对所述开放数据块执行目标操作。

技术研发人员:邹左衡,王琛銮
受保护的技术使用者:联芸科技(杭州)股份有限公司
技术研发日:
技术公布日:2024/9/23

最新回复(0)