基于断电重续的全盘扫描方法、装置、计算机设备及介质制造方法及图纸

技术编号:19424544 阅读:28 留言:0更新日期:2018-11-14 10:24
本发明专利技术涉及基于断电重续的全盘扫描方法、装置、计算机设备及介质,该方法包括判断当前映射表是否完整;若否,则将无用的映射表信息清空,将最起始的用户数据所在的位置作为起始位置;若是,则根据映射表信息获取断电前扫描到的用户数据位置,作为起始位置;按顺序对用户数据进行扫描,并将映射表信息以及当前扫描用户数据的位置信息存储于NAND Flash中;判断所有用户数据是否都扫描完毕;若是,则输出恢复映射表成功的通知;若否,则返回从起始位置按顺序对用户数据进行扫描,并将映射表信息存储于NAND Flash中的步骤。本发明专利技术实现在断电重启后,仍能进行映射表的恢复,减少断电对映射表恢复的影响,提高全盘扫描的效率。

【技术实现步骤摘要】
基于断电重续的全盘扫描方法、装置、计算机设备及介质
本专利技术涉及存储器,更具体地说是指基于断电重续的全盘扫描方法、装置、计算机设备及存储介质。
技术介绍
基于断电重续的全盘扫描算法是指逻辑地址到物理地址的映射表信息丢失时,按照用户数据按写入顺序进行扫描恢复映射表信息的过程。基于断电重续的全盘扫描是按照用户数据的写入顺序进行扫描的,用户数据在不同擦除单元之间的写入顺序有专门的字段进行记录,在擦除单元内部的写入顺序是固定的。将擦除单元按写入顺序排序之后,取出最先写入数据的擦除单元。将擦除单元上的数据按读写单元顺序依次读出,在每一读写单元读出的内容中有专门的区域记录着这个物理地址中写入的逻辑地址的信息。如图1所示,读写单元信息中用于记录逻辑地址的区域被称为meta区,meta区域是NANDflash中读写单元的spare区的一部分,FTL模块利用meta区存储这个物理地址对应的逻辑地址。在用户数据写入的过程中逻辑地址lpa0的数据开始的时候写在物理地址ppa0的位置,之后又重新复写到ppa1的位置,在映射表恢复的过程中,如图2所示,先在ppa0的位置读到lpa0,此时逻辑地址到物理地址的映射关系为(lpa0,ppa0),继续扫描之后在ppa1的位置也读到lpa0,此时逻辑地址到物理地址的映射关系更新为(lpa0,ppa1),如果将之后所有的存储用户数据的擦除单元都扫描一遍,没有在NANDFlash其他读写单元的meta区域读到lpa0,则说明逻辑地址lpa0映射到物理地址ppa1的位置,在ppa1的位置处能读到用户期望的数据,同样,其他的逻辑地址也是使用同样的方法找到对应的存储位置。如图3所示,基于断电重续的全盘扫描用户数据的起始点是擦除单元20,依次扫描其他的用户数据,扫描达到一定的数据量就将当前恢复的映射表保存到NANDFlash中,之后继续扫描,直到将所有的用户数据扫描完,此时NAND中保存的映射表就是重新恢复的映射表。现在的基于断电重续的全盘扫描算法可以达到恢复映射表的目的,但需要保持在基于断电重续的全盘扫描恢复映射表的过程中不能断电。当TF卡容量比较大时,基于断电重续的全盘扫描恢复映射表的时间会比较久,在基于断电重续的全盘扫描的过程中如果出现断电,那么之前恢复的信息全部作废,系统再次上电的时候需要重头开始,即将所有用户数据重新进行扫描,另外,在TF卡使用的过程中,可能需要不停地读写数据,可是在基于断电重续的全盘扫描的过程中由于映射表信息没有恢复是无法响应读写操作的,在基于断电重续的全盘扫描的过程中继续进行读写操作会导致读写超时,读写超时之后,主机会认为TF卡异常,主机主动发起断电重启操作,断电重启操作会导致基于断电重续的全盘扫描无法顺利结束,而再次上电又重复进行基于断电重续的全盘扫描、读写超时、断电重启的过程,如上描述,每次上电都重复着相同的过程,TF卡没有得到足够的时间完成映射表的恢复,也就无法正常工作。因此,有必要设计一种新的基于断电重续的全盘扫描方法,实现在断电重启后,系统仍能进行映射表的恢复,减少断电对映射表恢复的影响,提高全盘扫描的效率。
技术实现思路
本专利技术的目的在于克服现有技术的缺陷,提供基于断电重续的全盘扫描方法、装置、计算机设备及存储介质。为实现上述目的,本专利技术采用以下技术方案:基于断电重续的全盘扫描方法,所述方法包括:判断当前映射表是否完整;若否,则将无用的映射表信息清空,将最起始的用户数据所在的位置作为起始位置;若是,则根据映射表信息获取断电前扫描到的用户数据位置,作为起始位置;按顺序对用户数据进行扫描,并将映射表信息以及当前扫描用户数据的位置信息存储于NANDFlash中;判断所有用户数据是否都扫描完毕;若是,则输出恢复映射表成功的通知;若否,则返回从起始位置按顺序对用户数据进行扫描,并将映射表信息存储于NANDFlash中的步骤。其进一步技术方案为:所述判断当前映射表是否完整的步骤之前,还包括:判断断电之前基于断电重续的全盘扫描的状态是否为未开始扫描用户数据;若否,则进入判断当前映射表是否完整的步骤;若是,则进入将无用的映射表信息清空的步骤。其进一步技术方案为:所述方法还包括:当进行按顺序对用户数据进行扫描,并将映射表信息以及当前扫描用户数据的位置信息存储于NANDFlash中的步骤的过程中,出现断电现象时开机重启,并进入判断断电之前基于断电重续的全盘扫描的状态是否为未开始扫描用户数据的步骤。其进一步技术方案为:从起始位置按顺序对用户数据进行扫描,并将映射表信息以及当前扫描用户数据的位置信息存储于NANDFlash中的步骤中,用户数据的位置信息包括用户数据的所在通道、所在片选、所在擦除单元以及所属读写单元。本专利技术还提供了基于断电重续的全盘扫描装置,包括完整性判断单元、清空单元、位置获取单元、扫描存储单元、扫描判断单元以及通知单元;所述完整性判断单元,用于判断当前映射表是否完整;所述清空单元,用于若否,则将无用的映射表信息清空,将最起始的用户数据所在的位置作为起始位置;所述位置获取单元,用于若是,则根据映射表信息获取断电前扫描到的用户数据位置,作为起始位置;所述扫描存储单元,用于按顺序对用户数据进行扫描,并将映射表信息以及当前扫描用户数据的位置信息存储于NANDFlash中;所述扫描判断单元,用于判断所有用户数据是否都扫描完毕;所述通知单元,用于若是,则输出恢复映射表成功的通知。其进一步技术方案为:所述装置还包括状态判断单元;所述状态判断单元,用于判断断电之前基于断电重续的全盘扫描的状态是否为未开始扫描用户数据。其进一步技术方案为:所述装置还包括断电处理单元,所述断电处理单元,用于出现断电现象时开机重启。本专利技术还提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的基于断电重续的全盘扫描方法。本专利技术还提供了一种介质,所述介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述的基于断电重续的全盘扫描方法。本专利技术与现有技术相比的有益效果是:本专利技术的基于断电重续的全盘扫描方法,通过在扫描用户数据时,除了存储映射表信息之外,还在NANDFlash内记录用户数据所在的位置,当出现断电时,若映射表信息完整,则从记录的用户数据所在的位置开始扫描,若映射表信息不完整,则从已排序的用户数据最开始的位置开始扫描,无论从哪个位置开始扫描都需要将扫描过程中的用户数据所在位置记录,以便于下次断电扫描过程的重续,实现在断电重启后,系统仍能进行映射表的恢复,减少断电对映射表恢复的影响,提高全盘扫描的效率。下面结合附图和具体实施例对本专利技术作进一步描述。附图说明图1为现有技术的读写单元信息的分布图;图2为现有技术的映射表信息恢复的流程图;图3为现有技术的基于断电重续的全盘扫描的流程图;图4为本专利技术一具体实施例提供的基于断电重续的全盘扫描方法的流程图;图5为本专利技术一具体实施例提供的基于断电重续的全盘扫描装置的结构框图;图6为本专利技术一具体实施例提供的一种计算机设备的结构框图。具体实施方式为了更充分理解本专利技术的
技术实现思路
,下面结合具体实施例对本专利技术的技术方案进一步介绍和说明,但不局限本文档来自技高网
...

【技术保护点】
1.基于断电重续的全盘扫描方法,其特征在于,所述方法包括:判断当前映射表是否完整;若否,则将无用的映射表信息清空,将最起始的用户数据所在的位置作为起始位置;若是,则根据映射表信息获取断电前扫描到的用户数据位置,作为起始位置;按顺序对用户数据进行扫描,并将映射表信息以及当前扫描用户数据的位置信息存储于NAND Flash中;判断所有用户数据是否都扫描完毕;若是,则输出恢复映射表成功的通知;若否,则返回从起始位置按顺序对用户数据进行扫描,并将映射表信息存储于NAND Flash中的步骤。

【技术特征摘要】
1.基于断电重续的全盘扫描方法,其特征在于,所述方法包括:判断当前映射表是否完整;若否,则将无用的映射表信息清空,将最起始的用户数据所在的位置作为起始位置;若是,则根据映射表信息获取断电前扫描到的用户数据位置,作为起始位置;按顺序对用户数据进行扫描,并将映射表信息以及当前扫描用户数据的位置信息存储于NANDFlash中;判断所有用户数据是否都扫描完毕;若是,则输出恢复映射表成功的通知;若否,则返回从起始位置按顺序对用户数据进行扫描,并将映射表信息存储于NANDFlash中的步骤。2.根据权利要求1所述的基于断电重续的全盘扫描方法,其特征在于,所述判断当前映射表是否完整的步骤之前,还包括:判断断电之前基于断电重续的全盘扫描的状态是否为未开始扫描用户数据;若否,则进入判断当前映射表是否完整的步骤;若是,则进入将无用的映射表信息清空的步骤。3.根据权利要求1或2所述的基于断电重续的全盘扫描方法,其特征在于,所述方法还包括:当进行从起始位置按顺序对用户数据进行扫描,并将映射表信息以及当前扫描用户数据的位置信息存储于NANDFlash中的步骤的过程中,出现断电现象时开机重启,并进入判断断电之前基于断电重续的全盘扫描的状态是否为未开始扫描用户数据的步骤。4.根据权利要求1或2所述的基于断电重续的全盘扫描方法,其特征在于,按顺序对用户数据进行扫描,并将映射表信息以及当前扫描用户数据的位置信息存储于NANDFlash中的步骤中,用户数据的位置信息包括用户数据的所在通道、所在片选、所在擦除单元以...

【专利技术属性】
技术研发人员:杨洋周冬华顾何平
申请(专利权)人:记忆科技深圳有限公司
类型:发明
国别省市:广东,44

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

1