用户数据搬移的恢复方法、装置、电子设备及存储介质制造方法及图纸

技术编号:27224889 阅读:32 留言:0更新日期:2021-02-04 11:46
本发明专利技术实施例公开了一种用户数据搬移的恢复方法、装置、电子设备及存储介质。该方法包括:确定数据搬移的目标存储块和源存储块;读取所述目标存储块中最后一个有效数据存储页中的有效数据;若读取错误,则根据该有效数据对应的物理地址从源存储块中获取源数据,并将所述源数据写入目标存储块中所述最后一个有效数据存储页的下一存储页;根据写入结果继续用户数据搬移。本发明专利技术实施例的方案实现了缩短GC复建时间。GC复建时间。GC复建时间。

【技术实现步骤摘要】
用户数据搬移的恢复方法、装置、电子设备及存储介质


[0001]本专利技术实施例涉及数据存储技术,尤其涉及一种用户数据搬移的恢复方法、装置、电子设备及存储介质。

技术介绍

[0002]EMMC(Embedded Multi Media Card,嵌入式多媒体卡)是MMC协会订立的,主要针对手机或者平板电脑等产品的内嵌式存储器标准规格,带有MMC多媒体接口、快闪存储器(例如NAND flash)以及EMMC控制器。越来越多的移动设备采用EMMC芯片作为存储单元。
[0003]EMMC中用户数据存储块用于存放用户数据,例如设定当可使用的用户数据存储块只剩全部的用户数据存储块约10%,需要启动数据搬移(Garbage collection,GC)。GC主要是将用户数据存储块中的有效数据进行搬移后,擦除该有效数据及其他无效数据,并回收该用户数据存储块以供再次使用,从而提高EMMC对NAND Flash存储块的使用效率。当GC尚未完成,发生断电,再次上电时需要复建GC断电前最新的系统数据和用户数据,保证存储设备能够在上次系统最新状态基础上继续运行,不丢失系统数据和用户数据。
[0004]现有的GC复建过程通常会进行大量的擦写操作,导致GC复建时间较长。

技术实现思路

[0005]本专利技术提供一种用户数据搬移的恢复方法、装置、电子设备及存储介质,以实现缩短GC复建时间。
[0006]第一方面,本专利技术实施例提供了一种用户数据搬移的恢复方法,包括:
[0007]确定数据搬移的目标存储块和源存储块;
[0008]读取所述目标存储块中最后一个有效数据存储页中的有效数据;
[0009]若读取错误,则根据该有效数据对应的物理地址从源存储块中获取源数据,并将所述源数据写入目标存储块中所述最后一个有效数据存储页的下一存储页;
[0010]根据写入结果继续用户数据搬移。
[0011]可选的,根据写入结果继续用户数据搬移,包括:
[0012]若写入失败,则从自由存储块链表中获取一自由存储块作为新目标存储块;
[0013]将当前的目标存储块中的所有有效数据搬移至所述新目标存储块。
[0014]可选的,将当前的目标存储块中的所有有效数据搬移至所述新目标存储块之后,还包括:
[0015]更新所述自由存储块链表。
[0016]可选的,确定数据搬移的目标存储块和源存储块包括:
[0017]获取自由存储块链表,其中,所述自由存储块链表存储有每一自由存储块的类型、有效数据量以及逻辑地址,且数据搬移的目标存储块由所述自由存储块链表中存储的自由存储块中选取,以及数据搬移的源存储块在搬移完成后回收到所述自由存储块链表;
[0018]查找所述自由存储块链表,确定是否存在写入数据的用户数据存储块和缓存存储
块;所述目标存储块为缓存存储块,所述源存储块为用户数据存储块;
[0019]若所述自由存储块链表中仅存在缓存存储块,则将所述缓存存储块对应的逻辑地址与用户存储块信息表中有效数据量最少的用户数据存储块对应的逻辑地址进行比对;
[0020]若存在相同的逻辑地址,则确定所述用户数据存储块为数据搬移的源存储块,所述缓存存储块为数据搬移的目标存储块。
[0021]可选的,该方法还包括:
[0022]若所述自由存储块链表中存在用户数据存储块,则将所述用户数据存储块中的数据擦除,并更新所述自由存储块链表。
[0023]可选的,所述用户数据存储块为多层存储单元存储块或单层存储单元存储块,所述缓存存储块为单层存储单元存储块。
[0024]第二方面,本专利技术实施例还提供了一种用户数据搬移的恢复装置,包括:
[0025]存储块确定模块,用于确定数据搬移的目标存储块和源存储块;
[0026]有效数据读取模块,用于读取所述目标存储块中最后一个有效数据存储页中的有效数据;
[0027]数据获取与写入模块,用于若读取错误,则根据该有效数据对应的物理地址从源存储块中获取源数据,并将所述源数据写入目标存储块中所述最后一个有效数据存储页的下一存储页;
[0028]用户数据搬移模块,用于根据写入结果继续用户数据搬移。
[0029]可选的,该装置还包括:
[0030]新目标存储块获取模块,用于若写入失败,则从自由存储块链表中获取一自由存储块作为新目标存储块;
[0031]有效数据搬移模块,用于将当前的目标存储块中的所有有效数据搬移至所述新目标存储块。
[0032]第三方面,本专利技术实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本专利技术任意实施例所述的用户数据搬移的恢复方法。
[0033]第四方面,本专利技术实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时实现本专利技术任意实施例所述的用户数据搬移的恢复方法。
[0034]本专利技术实施例通过在最后一个有效数据存储页中的有效数据读取失败时,先判断最后一个有效数据存储页中的有效数据是否能够成功写入下一存储页,从而判断最后一个有效数据存储页中有效数据读取失败的原因,根据写入结果继续后续数据搬移,而非在发现最后一个有效数据存储页中的有效数据读取失败时直接将当前目标存储块中的有效数据搬移至新目标存储块,可以减小数据的擦、写或读等操作,进一步减少GC复建时间。
附图说明
[0035]图1是本专利技术实施例一提供的一种用户数据搬移的恢复方法的流程图;
[0036]图2是本专利技术实施例二提供的又一种用户数据搬移的恢复方法的流程图;
[0037]图3是本专利技术实施例三提供的又一种用户数据搬移的恢复方法的流程图;
[0038]图4是本专利技术实施例三提供的一种存储块扫描示意图;
[0039]图5是本专利技术实施例四提供的一种用户数据搬移的恢复装置的结构示意图;
[0040]图6为本专利技术实施例五提供的一种电子设备的结构示意图。
具体实施方式
[0041]下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。
[0042]实施例一
[0043]本实施例提供了一种用户数据搬移的恢复方法,可以由用户数据搬移的恢复装置来执行,其中该装置可由软件和/或硬件实现,并一般集成在芯片中,例如EMMC芯片等。图1是本专利技术实施例一提供的一种用户数据搬移的恢复方法的流程图,具体的,参见图1,该方法包括如下步骤:
[0044]步骤110、确定数据搬移的目标存储块和源存储块;
[0045]其中,每一存储块由多个存储页组成,每一存储页包括多个存储单元,每一存储单元按照存储容量分类可以包括单层存储单元(Single-Level Cell,SLC本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用户数据搬移的恢复方法,其特征在于,包括:确定数据搬移的目标存储块和源存储块;读取所述目标存储块中最后一个有效数据存储页中的有效数据;若读取错误,则根据该有效数据对应的物理地址从源存储块中获取源数据,并将所述源数据写入目标存储块中所述最后一个有效数据存储页的下一存储页;根据写入结果继续用户数据搬移。2.根据权利要求1所述的方法,其特征在于,根据写入结果继续用户数据搬移,包括:若写入失败,则从自由存储块链表中获取一自由存储块作为新目标存储块;将当前的目标存储块中的所有有效数据搬移至所述新目标存储块。3.根据权利要求2所述的方法,其特征在于,将当前的目标存储块中的所有有效数据搬移至所述新目标存储块之后,还包括:更新所述自由存储块链表。4.根据权利要求1所述的方法,其特征在于,确定数据搬移的目标存储块和源存储块包括:获取自由存储块链表,其中,所述自由存储块链表存储有每一自由存储块的类型、有效数据量以及逻辑地址,且数据搬移的目标存储块由所述自由存储块链表中存储的自由存储块中选取,以及数据搬移的源存储块在搬移完成后回收到所述自由存储块链表;查找所述自由存储块链表,确定是否存在写入数据的用户数据存储块和缓存存储块;所述目标存储块为缓存存储块,所述源存储块为用户数据存储块;若所述自由存储块链表中仅存在缓存存储块,则将所述缓存存储块对应的逻辑地址与用户存储块信息表中有效数据量最少的用户数据存储块对应的逻辑地址进行比对;若存在相同的逻辑地址,则确定所述用户数据存储块为数据搬移的源存储块,所述缓存...

【专利技术属性】
技术研发人员:吴春晓
申请(专利权)人:北京兆易创新科技股份有限公司
类型:发明
国别省市:

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

1