一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

垃圾回收方法、装置、可读存储介质及电子设备与流程

2022-07-10 00:17:30 来源:中国专利 TAG:
1.本发明涉及存储芯片数据存储
技术领域
:,尤其涉及一种垃圾回收方法、装置、可读存储介质及电子设备。
背景技术
::2.众所周知,ssd(固态硬盘,solidstatedisk)固件中的gc(垃圾回收,garbagecollection)机制主要分为标记和搬移两个基本步骤,其中,标记步骤为在待回收空间中找出需要回收的有效数据,搬移步骤则是根据有效数据的标记信息进行数据迁移;比较常见的标记算法有基于位图的方式,其构建的bitmap信息称之为vbmp,该算法原理为根据待回收空间中的反向索引信息p2l(物理地址到逻辑地址,physical_2_logical)和固件中保存的l2p(逻辑地址到物理地址,logical_2_physical)进行逐一匹配,如果两者都指向相同的物理地址,则将该位置标记至vbmp,在后续数据搬移过程,则需要搜索vbmp中为1的bit位置进行对应地址的数据搬移;这样基于位图的标记方式需要额外分配空间用于存储vbmp信息,且在数据搬移时无法快速地获取需要回收的有效数据。技术实现要素:3.本发明所要解决的技术问题是:提供一种垃圾回收方法、装置、可读存储介质及电子设备,能够简单、高效地实现垃圾回收。4.为了解决上述技术问题,本发明采用的一种技术方案为:一种垃圾回收方法,包括:根据接收的待回收空间的垃圾回收请求读取所述待回收空间对应的反向数据索引表,所述反向数据索引表包括第一地址对;基于所述第一地址对确定有效地址对,并对所述有效地址对进行遍历直至每一所述有效地址对均已遍历;对于遍历到的当前有效地址对,获取与所述当前有效地址对对应的下一有效地址对,根据所述下一有效地址对确定所述当前有效地址对对应的标记信息,并保存所述标记信息至所述反向数据索引表;根据所述标记信息确定有效数据,并对所述有效数据进行搬移。5.为了解决上述技术问题,本发明采用的另一种技术方案为:一种垃圾回收装置,包括:数据获取模块,用于根据接收的待回收空间的垃圾回收请求读取所述待回收空间对应的反向数据索引表,所述反向数据索引表包括第一地址对;数据标记模块,用于:基于所述第一地址对确定有效地址对,并对所述有效地址对进行遍历直至每一所述有效地址对均已遍历;对于遍历到的当前有效地址对,获取与所述当前有效地址对对应的下一有效地址对,根据所述下一有效地址对确定所述当前有效地址对对应的标记信息,并保存所述标记信息至所述反向数据索引表;数据搬移模块,用于根据所述标记信息确定有效数据,并对所述有效数据进行搬移。6.为了解决上述技术问题,本发明采用的另一种技术方案为:一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述一种垃圾回收方法中的各个步骤。7.为了解决上述技术问题,本发明采用的另一种技术方案为:一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种垃圾回收方法中的各个步骤。8.本发明的有益效果在于:读取待回收空间对应的反向数据索引表,反向数据索引表包括第一地址对,从第一地址对中确定有效地址对,并对有效地址对进行遍历,对于遍历到的当前有效地址对,获取与该当前有效地址对对应的下一有效地址对,根据下一有效地址对确定当前有效地址对的标记信息,并将标记信息保存至反向数据索引表,根据标记信息确定有效数据,并对有效数据进行搬移,不再像现有技术中,采用位图方式进行垃圾回收,而是根据下一有效地址对确定当前有效地址对的标记信息,数据标记完成后,在数据搬移过程中,只需根据第一个有效地址对的标记信息就能够依次获取后续的有效地址对,且整个过程无需单独分配存储空间给数据标记表,只需保存第一个有效地址对的索引信息即可,与位图方式相比,节省了匹配过程,从而能够简单、高效地实现垃圾回收。附图说明9.图1为本发明实施例的一种垃圾回收方法的步骤流程图;图2为本发明实施例的一种垃圾回收装置的结构示意图;图3为本发明实施例的一种电子设备的结构示意图;图4为本发明实施例的垃圾回收方法中的垃圾回收示意图。具体实施方式10.为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。11.请参照图1,本发明实施例提供了一种垃圾回收方法,包括:根据接收的待回收空间的垃圾回收请求读取所述待回收空间对应的反向数据索引表,所述反向数据索引表包括第一地址对;基于所述第一地址对确定有效地址对,并对所述有效地址对进行遍历直至每一所述有效地址对均已遍历;对于遍历到的当前有效地址对,获取与所述当前有效地址对对应的下一有效地址对,根据所述下一有效地址对确定所述当前有效地址对对应的标记信息,并保存所述标记信息至所述反向数据索引表;根据所述标记信息确定有效数据,并对所述有效数据进行搬移。12.从上述描述可知,本发明的有益效果在于:读取待回收空间对应的反向数据索引表,反向数据索引表包括第一地址对,从第一地址对中确定有效地址对,并对有效地址对进行遍历,对于遍历到的当前有效地址对,获取与该当前有效地址对对应的下一有效地址对,根据下一有效地址对确定当前有效地址对的标记信息,并将标记信息保存至反向数据索引表,根据标记信息确定有效数据,并对有效数据进行搬移,不再像现有技术中,采用位图方式进行垃圾回收,而是根据下一有效地址对确定当前有效地址对的标记信息,数据标记完成后,在数据搬移过程中,只需根据第一个有效地址对的标记信息就能够依次获取后续的有效地址对,且整个过程无需单独分配存储空间给数据标记表,只需保存第一个有效地址对的索引信息即可,与位图方式相比,节省了匹配过程,从而能够简单、高效地实现垃圾回收。13.进一步地,所述基于所述第一地址对确定有效地址对之前包括:根据所述垃圾回收请求获取数据索引表,所述数据索引表包括第二地址对;所述基于所述第一地址对确定有效地址对包括:基于所述第一地址对与所述第二地址对确定有效地址对。14.由上述描述可知,数据索引表体现了主机中保存的最新数据,而反向数据索引表则体现了存储区域中存储的数据,根据数据索引表和反向数据索引表能够准确地确定出有效数据。15.进一步地,所述第一地址对包括第一物理地址和所述第一物理地址对应的第一逻辑地址;所述第二地址对包括第二逻辑地址和所述第二逻辑地址对应的第二物理地址;所述基于所述第一地址对与所述第二地址对确定有效地址对包括:遍历所述第一地址对,直至每一所述第一地址对均已遍历;对于遍历到的目标第一地址对,根据所述目标第一地址对的目标第一逻辑地址从所述第二地址对中确定目标第二逻辑地址及对应的目标第二物理地址;判断所述目标第一逻辑地址对应的目标第一物理地址与所述目标第二物理地址是否一致,若是,则将所述目标第一地址对确定为有效地址对。16.由上述描述可知,由于数据索引表中的每一逻辑地址只指向一个物理地址,其对应的数据即最新数据,而反向数据索引表在数据存储的过程中会出现同一个逻辑地址指向多个物理地址,将第一地址对与第二地址对进行逐一匹配,若相同的逻辑地址指向相同的物理地址,即可认为该物理地址对应的数据为主机中的最新数据,即有效数据,后续需要对该有效数据进行搬移,从而实现了有效数据的确认。17.进一步地,所述获取与所述当前有效地址对对应的下一有效地址对,根据所述下一有效地址对确定所述当前有效地址对对应的标记信息包括:判断所述当前有效地址对是否存在下一有效地址对,若是,则获取与所述当前有效地址对对应的下一有效地址对,根据所述下一有效地址对确定所述当前有效地址对对应的标记信息,若否,则将所述当前有效地址对确定为末位有效地址对,并将所述末位有效地址对对应的标记信息确定为无效值。18.由上述描述可知,除了末位有效地址对之外,其余的有效地址对的标记信息都根据其对应的下一有效地址对确定,则可以直接获取到下一有效地址对的位置,由于末位有效地址对不存在下一有效地址对,因此可将末位有效地址对对应的标记信息确定为无效值,以作为后续数据搬移过程的停止标志。19.进一步地,所述根据所述下一有效地址对确定所述当前有效地址对对应的标记信息包括:获取所述下一有效地址对中的下一第一物理地址;根据所述下一第一物理地址得到所述当前有效地址对对应的标记信息。20.由上述描述可知,根据下一有效地址对对应的下一第一物理地址得到当前有效地址对对应的标记信息,便于后续数据搬移时,依次根据标记信息索引对应的物理地址,从而简单、高效地实现垃圾回收。21.进一步地,所述获取与所述当前有效地址对对应的下一有效地址对之前包括:判断所述当前有效地址对是否为首位有效地址对,若是,则保存所述首位有效地址对对应的首位第一物理地址;所述根据所述标记信息确定有效数据包括;根据所述首位第一物理地址与所述标记信息确定有效数据。22.由上述描述可知,将首位有效地址对的首位第一物理地址保存,在数据搬移时,只需根据首位第一物理地址和标记信息即可索引到有效数据,无需额外设置存储空间保存所有有效地址对的标记信息,节省了存储空间。23.进一步地,所述保存所述标记信息至所述反向数据索引表包括:将所述标记信息覆盖所述当前有效地址对对应的第一逻辑地址。24.由上述描述可知,将标记信息直接覆盖当前有效地址对对应的第一逻辑地址,无需设置额外的存储空间保存标记信息,且便于数据搬移时的索引,提高垃圾回收效率。25.请参照图2,本发明另一实施例提供了一种垃圾回收装置,包括:数据获取模块,用于根据接收的待回收空间的垃圾回收请求读取所述待回收空间对应的反向数据索引表,所述反向数据索引表包括第一地址对;数据标记模块,用于:基于所述第一地址对确定有效地址对,并对所述有效地址对进行遍历直至每一所述有效地址对均已遍历;对于遍历到的当前有效地址对,获取与所述当前有效地址对对应的下一有效地址对,根据所述下一有效地址对确定所述当前有效地址对对应的标记信息,并保存所述标记信息至所述反向数据索引表;数据搬移模块,用于根据所述标记信息确定有效数据,并对所述有效数据进行搬移。26.本发明另一实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述一种垃圾回收方法中的各个步骤。27.请参照图3,本发明另一实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种垃圾回收方法中的各个步骤。28.本发明上述的一种垃圾回收方法、装置、可读存储介质及电子设备能够适用于任何类型的ssd(固态硬盘,solidstatedisk),比如基于闪存的ssd、基于dram(动态随机存取存储器,dynamicrandomaccessmemory)的ssd等,以下通过具体实施方式进行说明:实施例一请参照图1及图4,本实施例的一种垃圾回收方法,包括:s1、根据接收的待回收空间的垃圾回收请求读取所述待回收空间对应的反向数据索引表,所述反向数据索引表(p2ltable)包括第一地址对;其中,所述第一地址对包括第一物理地址和所述第一物理地址对应的第一逻辑地址,如图4所示;s2、根据所述垃圾回收请求获取数据索引表,所述数据索引表(l2ptable)包括第二地址对;其中,所述第二地址对包括第二逻辑地址和所述第二逻辑地址对应的第二物理地址,如图4所示;s3、基于所述第一地址对确定有效地址对,并对所述有效地址对进行遍历直至每一所述有效地址对均已遍历;所述s3中基于所述第一地址对确定有效地址对包括:基于所述第一地址对与所述第二地址对确定有效地址对,具体包括:s31、遍历所述第一地址对,直至每一所述第一地址对均已遍历;s311、对于遍历到的目标第一地址对,根据所述目标第一地址对的目标第一逻辑地址从所述第二地址对中确定目标第二逻辑地址及对应的目标第二物理地址;比如,如图4所示,遍历到目标第一地址对paa_0:laa_1,根据laa_1从第二地址对中确定目标第二逻辑地址及对应的目标第二物理地址,即laa_1:paa_0,遍历到目标第一地址对paa_1:laa_3,根据laa_3从第二地址对中确定目标第二逻辑地址及对应的目标第二物理地址,即laa_3:paa_15;s312、判断所述目标第一逻辑地址对应的目标第一物理地址与所述目标第二物理地址是否一致,若是,则将所述目标第一地址对确定为有效地址对;若否,则将所述目标第一地址对确定为非有效地址对;比如,p2ltable中的paa_0:laa_1与l2ptable中的laa_1:paa_0物理地址一致,则将paa_0:laa_1确定为有效地址对,p2ltable中的paa_1:laa_3与l2ptable中的laa_3:paa_15物理地址不一致,则paa_1:laa_3为非有效地址对;s4、对于遍历到的当前有效地址对,获取与所述当前有效地址对对应的下一有效地址对,根据所述下一有效地址对确定所述当前有效地址对对应的标记信息,并保存所述标记信息至所述反向数据索引表,具体包括:s41、对于遍历到的当前有效地址对,判断所述当前有效地址对是否存在下一有效地址对,若是,则执行s42,若否,则执行s43;比如,如图4所示,对于当前有效地址对paa_0:laa_1,其存在下一有效地址对paa_3:laa_4,则执行s42,对于当前有效地址对paa_6:laa_7,假设不存在下一有效地址对,则执行s43;s42、获取与所述当前有效地址对对应的下一有效地址对,根据所述下一有效地址对确定所述当前有效地址对对应的标记信息,并保存所述标记信息至所述反向数据索引表;所述s42中获取与所述当前有效地址对对应的下一有效地址对之前包括:判断所述当前有效地址对是否为首位有效地址对,若是,则保存所述首位有效地址对对应的首位第一物理地址;比如,如图4所示,当前有效地址对paa_0:laa_1为首位有效地址对,则保存首位第一物理地址paa_0,或者可直接保存为0;所述s42中根据所述下一有效地址对确定所述当前有效地址对对应的标记信息包括:获取所述下一有效地址对中的下一第一物理地址;根据所述下一第一物理地址得到所述当前有效地址对对应的标记信息;比如,如图4所示,获取当前有效地址对paa_3:laa_4的下一有效地址对paa_6:laa_7的下一第一物理地址paa_6,根据paa_6得到paa_3:laa_4对应的标记信息,即6;所述s42中保存所述标记信息至所述反向数据索引表包括:将所述标记信息覆盖所述当前有效地址对对应的第一逻辑地址;比如,将标记信息6覆盖paa_3:laa_4的第一逻辑地址,覆盖后即paa_3:6;s43、将所述当前有效地址对确定为末位有效地址对,并将所述末位有效地址对对应的标记信息确定为无效值;比如,假设当前有效地址对paa_6:laa_7为末位有效地址对,将paa_6:laa_7对应的标记信息确定为无效值,即paa_6:null;s5、根据所述标记信息确定有效数据,并对所述有效数据进行搬移;所述s5中根据所述标记信息确定有效数据包括:根据所述首位第一物理地址与所述标记信息确定有效数据;比如,如图4所示,保存的首位第一物理地址为paa_0,则根据paa_0的标记信息3确定下一第一物理地址paa_3,根据paa_3的标记信息6确定下一第一物理地址paa_6,依此类推,这些物理地址上的数据即有效数据,依次下发针对这些物理地址的读请求;读取到有效数据后,还对读取到的有效数据进行校验,因此,所述s5中对所述有效数据进行搬移之前包括:获取所述第一物理地址读请求,根据所述读请求读出所述第一物理地址中包含的元数据区域;从所述元数据区域获取与所述第一物理地址对应的第三逻辑地址;根据所述第三逻辑地址,判断从所述数据索引表中查询到的目标物理地址与所述第一物理地址是否一致,若是,则对所述有效数据进行搬移;具体的,从nand(闪存)的meta区域(元数据区域)获取与第一物理地址对应的第三逻辑地址,根据所述第三逻辑地址从l2ptable中查询的目标物理地址与所述第一物理地址进行匹配判断是否一致,若是,则表示当前的有效数据为待搬移的最新数据,对有效数据进行搬移。29.实施例二请参照图2,一种垃圾回收装置,包括:数据获取模块,用于根据接收的待回收空间的垃圾回收请求读取所述待回收空间对应的反向数据索引表,所述反向数据索引表包括第一地址对;数据标记模块,用于:基于所述第一地址对确定有效地址对,并对所述有效地址对进行遍历直至每一所述有效地址对均已遍历;对于遍历到的当前有效地址对,获取与所述当前有效地址对对应的下一有效地址对,根据所述下一有效地址对确定所述当前有效地址对对应的标记信息,并保存所述标记信息至所述反向数据索引表;数据搬移模块,用于根据所述标记信息确定有效数据,并对所述有效数据进行搬移。30.实施例三一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时可实现实施例一中垃圾回收方法的各个步骤。31.实施例四请参照图3,一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现实施例一中垃圾回收方法的各个步骤。32.综上所述,本发明提供的一种垃圾回收方法、装置、可读存储介质及电子设备,根据接收的待回收空间的垃圾回收请求读取待回收空间对应的反向数据索引表,基于反向数据索引表中的第一地址对和数据索引表中的第二地址对一一匹配确定有效地址对,对于遍历到的当前有效地址对,根据与当前有效地址对对应的下一有效地址对确定当前有效地址对对应的标记信息,并将标记信息覆盖当前有效地址对对应的第一逻辑地址,保存首位第一物理地址,根据首位第一物理地址标记信息确定有效数据,并对有效数据进行搬移,在数据搬移过程中,只需根据首位第一物理地址就能够依次获取后续的有效地址对,再获取到有效数据,且整个过程无需单独分配存储空间给数据标记表,只需保存第一个有效地址对的索引信息即可,即首位第一物理地址,与位图方式相比,节省了匹配过程,从而能够简单、高效地实现垃圾回收。33.在本技术所提供的上述实施例中,应该理解到,所揭露的方法、装置、计算机可读存储介质以及电子设备,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个组件或模块可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或组件或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。34.所述作为分离部件说明的组件可以是或者也可以不是物理上分开的,作为组件显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部组件来实现本实施例方案的目的。35.另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个组件单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。36.所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。37.需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。38.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。39.以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的
技术领域
:,均同理包括在本发明的专利保护范围内。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献