存储芯片的垃圾回收方法、装置、设备及存储介质制造方法及图纸

技术编号:18165420 阅读:15 留言:0更新日期:2018-06-09 11:23
本发明专利技术公开了一种存储芯片的垃圾回收方法、装置、设备及存储介质。该方法包括:当检测到系统上电时,获取系统垃圾回收的当前执行状态;当检测到当前执行状态为未完成垃圾回收时,则执行与垃圾回收对应的操作。本发明专利技术实施例通过上电后获取垃圾回收操作的当前执行状态以及根据当前执行状态,执行与所述垃圾回收对应的操作,实现了即使系统掉电后重新上电还能够保证数据的完整性以及通过获取垃圾回收变量,确定掉电之前垃圾回收处于操作步骤中的哪一个环节,进一步进行垃圾回收操作,提高了操作效率的技术效果。

Garbage collection method, device, device and storage medium of memory chip

The invention discloses a garbage collection method, a device, a device and a storage medium of a memory chip. The method includes: when the power is detected on the system, the current execution state of the system garbage collection is obtained; when the current execution state is not recovered, the operation corresponding to the garbage collection is performed. The embodiment of the present invention is to obtain the current execution state of the garbage collection operation and the operation corresponding to the garbage collection according to the current state of execution, and realize the integrity of the data even if the power is recharged after the system is off, and the garbage return is determined before the power loss is obtained by obtaining the garbage collection variable. Which part of the operation steps is collected to further carry out the garbage collection operation and improve the technical efficiency of operation efficiency.

【技术实现步骤摘要】
存储芯片的垃圾回收方法、装置、设备及存储介质
本专利技术实施例涉及存储
,尤其涉及一种存储芯片的垃圾回收方法、装置、设备及存储介质。
技术介绍
eMMC(EmbeddedMultiMediaCard,嵌入式多媒体卡)中的芯片在使用的过程中,由于总的物理块(block)的数量限制,没有被编程的块会越来越少,而已经被编程的块中,并非都是有效数据。为了有足够的块用于编程就要执行垃圾回收操作即找到那些有数据的且有效数据较少的源块,将这些源块中的有效数据收集出来,搬移到另一个块中(即目的块中),然后释放掉其它几个源块,从而有足够多的空闲块使用。目前,为了使存储芯片的读写操作整体速度平滑,垃圾回收操作不是一次性处理结束的,是呈碎片式的方式穿插在整个读写操作之间。但是,当在内嵌式存储芯片在执行垃圾回收操作的过程中,接到复位(Reset)的命令或者出现掉电的情况,重新上电时,目的块中的数据有可能不稳定以及系统无法得知垃圾回收操作执行到了哪一步,导致无法正常进行垃圾回收,对芯片的使用造成不便。
技术实现思路
本专利技术提供一种存储芯片的垃圾回收方法、装置、设备及存储介质,以实现即使系统掉电后重新上电还能够保证数据的完整性。第一方面,本专利技术实施例提供了一种存储芯片的垃圾回收方法,该方法包括:当检测到系统上电时,获取所述系统垃圾回收的当前执行状态;当检测到所述当前执行状态为未完成垃圾回收时,则执行与所述垃圾回收对应的操作。进一步地,所述获取所述系统垃圾回收的当前执行状态,包括:获取所述系统当前的垃圾回收变量,根据所述垃圾回收变量确定所述系统垃圾回收的当前执行状态;其中,所述垃圾回收变量包括空闲、开始和更新映射表。进一步地,所述当检测到所述当前执行状态为未完成垃圾回收时,则执行与所述垃圾回收对应的操作,包括:当垃圾回收变量为开始,且所述系统的目的块的第一个页没有写数据时,则将目标数据从源块向所述目的块进行搬移。进一步地,所述当检测到所述当前执行状态为未完成垃圾回收时,则执行与所述垃圾回收对应的操作,包括:当垃圾回收变量为开始,且所述系统的第一目的块的第一个页写有数据而最后一个页没有写数据时,将所述第一目的块设置为无效;遍历所述系统中各个块的状态确定出第二目的块,将所述数据从源块向所述第二目的块进行数据搬移。进一步地,所述当检测到所述当前执行状态为未完成垃圾回收时,则执行与所述垃圾回收对应的操作,包括:当垃圾回收变量为开始,且所述系统的目的块的第一个页和最后一个页都写有数据时,将垃圾回收变量更改为更新映射表,并执行与所述更新映射表对应的操作。进一步地,所述当检测到所述当前执行状态为未完成垃圾回收时,则执行与所述垃圾回收对应的操作,包括:当垃圾回收变量为更新映射表时,则读取目的块中的最后一页的反表,并根据反表更新系统中逻辑地址与物理地址之间的映射关系。第二方面,本专利技术实施例还提供了一种存储芯片的垃圾回收装置,该装置包括:获取模块,用于当检测到系统上电时,获取所述系统垃圾回收的当前执行状态;执行模块,用于当检测到所述当前执行状态为未完成垃圾回收时,则执行与所述垃圾回收对应的操作。进一步的,所述获取模块还用于:获取所述系统当前的垃圾回收变量,根据所述垃圾回收变量确定所述系统垃圾回收的当前执行状态;其中,所述垃圾回收变量包括空闲、开始和更新映射表。第三方面,本专利技术实施例还提供了一种设备,该设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本专利技术实施例任意所述的存储芯片的垃圾回收方法。第四方面,本专利技术实施例提供的一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本专利技术实施例任意实施例所述的存储芯片的垃圾回收方法。本专利技术实施例的技术方案,通过上电后获取垃圾回收操作的当前执行状态以及根据当前执行状态,执行与所述垃圾回收对应的操作,解决了现有技术中当系统掉电后无法得知执行到垃圾回收操作哪一步以及上电后目的块中的数据不稳定导致数据出错的技术问题,实现了即使系统掉电后重新上电还能够保证数据的完整性以及通过获取垃圾回收变量,确定掉电之前垃圾回收处于操作步骤中的哪一个环节,进一步的进行垃圾回收操作,提高了操作效率的技术效果。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例所提供的一种存储芯片的垃圾回收方法的过程示意图;图2是本专利技术实施例一提供的一种存储芯片的垃圾回收方法的流程图;图3是本专利技术实施例二提供的一种存储芯片的垃圾回收方法的流程图;图4是本专利技术实施例三提供的一种存储芯片的垃圾回收装置的结构示意图;图5是本专利技术实施例四提供的一种设备的结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。为了便于理解,在介绍本专利技术各实施例之前,先对本专利技术实施例的应用场景进行说明,在存储芯片执行垃圾回收的过程中,可能会存在突然掉电的情况,当再次上电启用时可选是优先确认垃圾回收操作是否已经执行完毕。图1是本专利技术实施例所提供的一种存储芯片的垃圾回收方法的过程示意图如图1所示,垃圾回收操作可分为三个步骤,本专利技术实施例中的垃圾回收操作具体可包括:步骤101、遍历所有的块的状态找出源块和目的块,具体可以是:当触发垃圾回收机制时,则遍历所有的块的状态找出源块和目的块,其中,源块可以是存放有数据但是有效数据较少的块,目的块用于放置源块中的数据,可以是当前已经被擦除过还没有写入数据的块。当找到这些源块和目的块后,将垃圾回收变量设置为开始,同时将这些信息更新保存在系统块中;步骤102、数据搬移,具体可以是:在步骤101中已找到源块和目的块,将源块中的数据搬移到目的块中,同时在进行搬移的过程中会记录相应的逻辑地址和物理地址的映射关系,因此当搬移结束时,将目的块中的逻辑地址和物理地址的反表存放到目的块的最后一个页中,需要说明的是块是有页构成的,此时设置垃圾回收变量为更新映射表并将该信息更新在系统块中;步骤103、更新映射表。存储芯片一般是由多个物理区块组成,每个物理区块都可进行读、写和擦除操作。为了方便用户操作,技术人员在编程过程中为每个区块设定了虚拟的逻辑地址,不同的物理区块可以通过逻辑地址进行链接后形成一个完整的可执行目标程序,但是当主机在运行时执行指令和访问数据都是要通过物理地址获取数据,所以必须通过逻辑地址和物理地址之间的映射关系,将逻辑地址转换成物理地址。因此,更新映射表具体可以是:通过步骤102可知在源块中的目标数据全部搬移到目的块的过程中,会记录相应的逻辑地址和物理地址并在数据搬移结束后将其反表存放在目的块的最后一页中,根据目的块中的反表更新系统中的逻辑地址和物理地址的映射关系,便于用户使用。实施例一图2是本专利技术实施例一提供的一种存储芯片的垃圾回收方法的流本文档来自技高网...
存储芯片的垃圾回收方法、装置、设备及存储介质

【技术保护点】
一种存储芯片的垃圾回收方法,其特征在于,包括:当检测到系统上电时,获取所述系统垃圾回收的当前执行状态;当检测到所述当前执行状态为未完成垃圾回收时,则执行与所述垃圾回收对应的操作。

【技术特征摘要】
1.一种存储芯片的垃圾回收方法,其特征在于,包括:当检测到系统上电时,获取所述系统垃圾回收的当前执行状态;当检测到所述当前执行状态为未完成垃圾回收时,则执行与所述垃圾回收对应的操作。2.根据权利要求1所述的方法,其特征在于,所述获取所述系统垃圾回收的当前执行状态,包括:获取所述系统当前的垃圾回收变量,根据所述垃圾回收变量确定所述系统垃圾回收的当前执行状态;其中,所述垃圾回收变量包括空闲、开始和更新映射表。3.根据权利要求2所述的方法,其特征在于,所述当检测到所述当前执行状态为未完成垃圾回收时,则执行与所述垃圾回收对应的操作,包括:当垃圾回收变量为开始,且所述系统的目的块的第一个页没有写数据时,则将目标数据从源块向所述目的块进行搬移。4.根据权利要求2所述的方法,其特征在于,所述当检测到所述当前执行状态为未完成垃圾回收时,则执行与所述垃圾回收对应的操作,包括:当垃圾回收变量为开始,且所述系统的第一目的块的第一个页写有数据而最后一个页没有写数据时,将所述第一目的块设置为无效;遍历所述系统中各个块的状态确定出第二目的块,将所述数据从源块向所述第二目的块进行数据搬移。5.根据权利要求2所述的方法,其特征在于,所述当检测到所述当前执行状态为未完成垃圾回收时,则执行与所述垃圾回收对应的操作,包括:当垃圾回收变量为开始,且所...

【专利技术属性】
技术研发人员:刘凯
申请(专利权)人:北京京存技术有限公司北京京存技术有限公司合肥分公司
类型:发明
国别省市:北京,11

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

1