CN112905496A - 垃圾回收的方法、装置、可读存储介质及电子设备 - Google Patents
垃圾回收的方法、装置、可读存储介质及电子设备 Download PDFInfo
- Publication number
- CN112905496A CN112905496A CN202110110989.1A CN202110110989A CN112905496A CN 112905496 A CN112905496 A CN 112905496A CN 202110110989 A CN202110110989 A CN 202110110989A CN 112905496 A CN112905496 A CN 112905496A
- Authority
- CN
- China
- Prior art keywords
- data unit
- target
- effective data
- page
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开一种垃圾回收方法、装置、可读存储介质及电子设备,当接收垃圾回收请求后,对读取到的目标有效数据单元进行连续性判断和同一数据页的判断,确定与目标有效数据单元处于同一数据页并且以目标有效数据单元的位置开始连续的有效数据单元,并通过多plane读的方式将多个有效数据单元构成的连续有效数据单元序列通过一个读操作读取到缓存中,相较于现有每次读取操作只读取一个有效数据单元的读取方式,本发明能够将连续的有效数据单元通过多plane读操作一次性读出后同时写入目标数据块中,显著提高了闪存对待回收数据的写入速度,进而提高了垃圾回收的效率。
Description
技术领域
本发明涉及存储器数据管理领域,特别涉及一种垃圾回收的方法、装置、可读存储介质及电子设备。
背景技术
在eMMC(Embedded Multi Media Card,嵌入式的多媒体存储卡)固件使用一段时间之后,存储卡的可存储单元将会减少,出现空块不足的现象,因此存储卡将会进行GC(Garbage Collection,垃圾回收)操作。垃圾回收的过程中,需要将待回收block(数据块)上的有效数据单元搬移到新的数据块上存储,而目前的做法是通过以4K为最小的操作单元,将待回收数据块上的有效数据单元以4K为单位一个一个的读取,当buffer(缓存)上存储的数据量为一个page(数据页)时,再将数据搬移到新的数据块上。虽然采用逐个搬移的方式能够简单直接地对待回收的数据进行垃圾回收,但是在使用H2testw工具对存储卡进行H2满盘测试的过程中,由于大部分有效数据单元数据都是连续的,因此采用逐个搬移的方式将会严重影响垃圾回收速度,从而导致H2满盘测试的效率降低。
发明内容
本发明所要解决的技术问题是:提供一种垃圾回收的方法、装置、可读存储介质及电子设备,能够提高垃圾回收的效率。
为了解决上述技术问题,本发明采用的技术方案为:
一种垃圾回收的方法,包括步骤:
接收垃圾回收请求,对待回收的数据块上的有效数据单元进行读取;
对于读取到的目标有效数据单元,确定与所述目标有效数据单元处于同一数据页并且以所述目标有效数据单元的位置开始连续的有效数据单元,得到有效数据单元序列;
将所述有效数据单元序列通过多plane读的方式读取到缓存中。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种垃圾回收装置,包括:
接收模块,用于接收垃圾回收请求;
判断模块,用于对对于读取到的目标有效数据单元,确定与所述目标有效数据单元处于同一数据页并且以所述目标有效数据单元的位置开始连续的有效数据单元,得到有效数据单元序列;
读取模块,用于将所述有效数据单元序列通过多plane读的方式读取到缓存中。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述垃圾回收方法中的各个步骤。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述垃圾回收方法中的各个步骤。
本发明的有益效果在于:接收垃圾回收请求后,确定与目标有效数据单元处于同一数据页并且以目标有效数据单元的位置开始连续的有效数据单元,并通过多plane读的方式将多个有效数据单元构成的连续有效数据单元序列通过一个读操作读取到缓存中,相较于现有每次读取操作只读取一个有效数据单元的读取方式,本发明能够将连续的有效数据单元通过多plane读操作一次性读出后同时写入目标数据块中,显著提高了闪存对待回收数据的写入速度,进而提高了垃圾回收的效率。
附图说明
图1为本发明实施例的一种垃圾回收方法的步骤流程图;
图2为本发明实施例的一种垃圾回收方法的有效数据单元读取示意图;
图3本发明实施例的一种垃圾回收方法的另一步骤流程图;
图4为现有技术中H2满盘测试结果图;
图5为本发明实施例的一种垃圾回收方法的H2满盘测试结果图;
图6为本发明实施例的一种垃圾回收装置的另一种结构示意图;
图7为本发明实施例的一种电子设备的结构示意图。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
请参照图1,本发明实施例提供了一种垃圾回收的方法,包括步骤:
接收垃圾回收请求,对待回收的数据块上的有效数据单元进行读取;
对于读取到的目标有效数据单元,确定与所述目标有效数据单元处于同一数据页并且以所述目标有效数据单元的位置开始连续的有效数据单元,得到有效数据单元序列;
将所述有效数据单元序列通过多plane读的方式读取到缓存中。
由上述描述可知,本发明的有益效果在于:接收垃圾回收请求后,确定与目标有效数据单元处于同一数据页并且以目标有效数据单元的位置开始连续的有效数据单元,并通过多plane读的方式将多个有效数据单元构成的连续有效数据单元序列通过一个读操作读取到缓存中,相较于现有每次读取操作只读取一个有效数据单元的读取方式,本发明能够将连续的有效数据单元通过多plane读操作一次性读出后同时写入目标数据块中,显著提高了闪存对待回收数据的写入速度,进而提高了垃圾回收的效率。
进一步地,所述确定与所述目标有效数据单元处于同一数据页并且以所述目标有效数据单元的位置开始连续的有效数据单元包括:
每次读取操作时,对目标有效数据单元进行连续性判断和同一数据页判断,判断当前读取的目标有效数据单元与下一次要读取的目标有效数据单元是否连续并且属于同一数据页,若连续且属于同一数据页,则将当前读取的目标有效数据单元添加到有效数据单元序列中,并将下一次要读取的目标有效数据单元设置为当前读取的目标有效数据单元,并返回执行所述对目标有效数据单元进行连续性判断和同一数据页判断的步骤,直至出现与当前读取的目标有效数据单元不连续或不属于同一数据页的有效数据单元;
若不连续或不属于同一数据页,将当前读取的有效数据单元添加到所述有效数据单元序列中。
由上述描述可知,通过对目标有效数据单元进行连续性判断和同一数据页判断,且当当前读取的目标有效数据单元与下一次要读取的目标有效数据单元连续并且属于同一数据页时,将下一次要读取的目标有效数据单元添加到有效数据单元序列中,实现连续读取,从而提高闪存对待回收数据的读取效率。
进一步地,所述连续性判断包括:
若当前读取的目标有效数据单元的物理位置与下一次要读取的目标有效数据单元的物理位置的差值为1,则当前读取的目标有效数据单元和下一次要读取的目标有效数据单元为连续单元。
由上述描述可知,通过将当前读取的目标有效数据单元的物理位置与下一次要读取的目标有效数据单元的物理位置进行比较,当两者的差值为1时,表示两个有效数据单元为连续的有效数据单元,简单有效的对有效数据单元的连续性进行判断,提高了连续性判断的效率。
进一步地,所述同一数据页判断包括:
将当前读取的目标有效数据单元的物理位置除以一个数据页所包含的数据单元的个数得到当前读取的目标有效数据单元的第一数据页数值;
将下一次要读取的目标有效数据单元的物理位置除以一个数据页所包含的数据单元的个数得到下一次要读取的目标有效数据单元的第二数据页数值;
若所述第一数据页数值和第二数据页数值相同,则当前读取的目标有效数据单元与下一次要读取的目标有效数据单元属于同一数据页。
由上述描述可知,通过将当前读取的目标有效数据单元的第一数据页数值与下一次要读取的目标有效数据单元的第二数据页数值进行比较,当第一数据页数值与第二数据页数值相等时,表示两个有效数据单元为同一个数据页上的有效数据单元,从而使多plane读操作时能够将处于同一个数据页上的多个连续的有效数据单元通过一个读操作读取出来,提高了闪存对待回收数据的读取效率。
进一步地,在所述对目标有效数据单元进行连续性判断和同一数据页判断之前还包括步骤:
判断所述缓存中的有效数据单元个数和所述有效数据单元序列中的有效数据单元个数之和是否达到所述缓存的预设容量,若是,则将所述有效数据单元序列通过多plane读的方式读取到所述缓存中,若否,则执行对目标有效数据单元进行连续性判断和同一数据页判断的步骤。
由上述描述可知,通过判断缓存中的有效数据单元个数和有效数据单元序列中的有效数据单元个数之和是否达到缓存的预设容量,限制了有效单元序列的长度,避免了当垃圾回收时由于读取了超出可操作范围的有效数据单元个数,使超出可操作范围的有效数据单元无法进行正常的垃圾回收操作,提高垃圾回收的稳定性。
进一步地,所述预设容量为闪存上数据单元的并行度。
由上述描述可知,通过适应性的根据不同闪存设备上有效数据单元的并行度提高缓存上的预设容量,使多plane读取操作能够在最大的可操作范围内对有效数据单元进行操作,提高垃圾回收的稳定性。
请参照图6,本发明另一实施例提供了一种垃圾回收装置,包括:
接收模块,用于接收垃圾回收请求;
判断模块,用于对对于读取到的目标有效数据单元,确定与所述目标有效数据单元处于同一数据页并且以所述目标有效数据单元的位置开始连续的有效数据单元,得到有效数据单元序列;
读取模块,用于将所述有效数据单元序列通过多plane读的方式读取到缓存中。
本发明另一实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述垃圾回收方法中的各个步骤。
请参照图7,本发明另一实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述垃圾回收方法中的各个步骤。
本发明上述垃圾回收方法、装置、计算机可读存储介质及电子设备能够适用于各种类型的闪存设备进行垃圾回收,以下通过具体实施方式进行说明:
实施例一
请参照图1,一种垃圾回收的方法,包括步骤:
S1、接收垃圾回收请求,对待回收的数据块上的有效数据单元进行读取;
其中,数据块上所有的有效数据单元的位置信息记录在有效数据表上,读取时根据有效数据表将有效数据单元读出;有效数据表为一种特殊的地址参数表,在GC搬迁前扫描多个block上的所有数据,建立一个表将具有有效数据的地址记录到这个表上,按照这个表读出搬迁数据直到目的TLC块数据写满,扫描的有效数据量大于目的块可写入的数据量;当目的块写满时,有效数据表失效,其余未搬迁的有效数据和其他block再次扫描形成新的有效数据表,搬迁至下一个目的块;
S2、对于读取到的目标有效数据单元,确定与所述目标有效数据单元处于同一数据页并且以所述目标有效数据单元的位置开始连续的有效数据单元,得到有效数据单元序列;
具体的,每次读取操作时,对目标有效数据单元进行连续性判断和同一数据页判断,判断当前读取的目标有效数据单元与下一次要读取的目标有效数据单元是否连续并且属于同一数据页,若连续且属于同一数据页,则将当前读取的目标有效数据单元添加到有效数据单元序列中,并将下一次要读取的目标有效数据单元设置为当前读取的目标有效数据单元,并返回执行所述对目标有效数据单元进行连续性判断和同一数据页判断的步骤,直至出现与当前读取的目标有效数据单元不连续或不属于同一数据页的有效数据单元;
若不连续或不属于同一数据页,将当前读取的有效数据单元添加到所述有效数据单元序列中;
S3、将所述有效数据单元序列通过多plane读的方式读取到缓存中;
其中,连续性判断包括:
对目标有效数据单元进行连续性判断,若当前读取的目标有效数据单元的物理位置与下一次要读取的目标有效数据单元的物理位置的差值为1,则当前读取的目标有效数据单元和下一次要读取的目标有效数据单元为连续单元;
同一数据页判断包括:
对目标有效数据单元进行同一数据页判断,将当前读取的目标有效数据单元的物理位置除以一个数据页所包含的数据单元的个数得到当前读取的目标有效数据单元的第一数据页数值;
将下一次要读取的目标有效数据单元的物理位置除以一个数据页所包含的数据单元的个数得到下一次要读取的目标有效数据单元的第二数据页数值;
若所述第一数据页数值和第二数据页数值相同,则当前读取的目标有效数据单元与下一次要读取的目标有效数据单元属于同一数据页;
具体的,请参照图2,设一个闪存有两个plane,分别为plane0和plane1,plane0和plane1的每一个page中包含4个4k数据单元,如plane0中的page0包含0、1、2和3一共4个4k数据单元,plane1中的page0包含4、5、6和7一共4个4k单元,其中8个4k都属于page0;
对如图2所示的有效数据进行有效数据单元读取,如当前读取的目标有效数据单元为plane0中的page0上的物理位置为0的4k数据单元,而下一次要读取的目标有效数据单元为plane0中的page0上的物理位置为1的4k数据单元,通过连续性判断可知,物理位置0和物理位置1之间的差值为1,则plane0中的page0上的物理位置为0的4k数据单元与下plane0中的page0上的物理位置为1的4k数据单元为两个连续的有效4k数据单元;
当前读取的目标有效数据单元为plane0中的page0上的物理位置为0的4k数据单元,即当前读取的目标有效数据单元的物理位置为0,page0中所包含的数据单元为8个4k,用0除以8,得到结果为0,余数为8,则plane0中的page0上的物理位置为0的4k数据单元的第一数据页数值为0;
下一次要读取的目标有效数据单元为plane0中的page0上的物理位置为1的4k数据单元,即下一次要读取的目标有效数据单元的物理位置为1,page0中所包含的数据单元为8个4k,用1除以8,得到结果为0,余数为8,则plane0中的page0上的物理位置为1的4k数据单元的第一数据页数值为0;
由于plane0中的page0上的物理位置为0的4k数据单元的第一数据页数值和plane0中的page0上的物理位置为1的4k数据单元的第一数据页数值均为0,因此plane0中的page0上的物理位置为0的4k数据单元与plane0中的page0上的物理位置为1的4k数据单元都在page0上;
因此,将plane0中的page0上的物理位置为0的4k数据单元添加至有效数据单元序列中,得到有效数据单元序列为0;
以此类推,当读取到plane1中的page0上的物理位置为7的4k数据时,下一次要读取的目标有效数据单元为plane0中的page1上的物理位置为8的4k数据单元,通过连续性判断可知,物理位置7和物理位置8之间的差值为1,则plane1中的page0上的物理位置为7的4k数据单元与plane0中的page1上的物理位置为8的4k数据单元为连续的两个4k单元;
对plane1中的page0上的物理位置为7的4k进行连续性判断,即用7除以8,得到结果为0,余数为8,则plane1中的page0上的物理位置为7的4k数据单元的第一数据页数值为0;用8除以8,得到结果为1,余数为0,则plane0中的page1上的物理位置为8的4k数据单元的第一数据页数值为1;由于第一数据页数值为0,第二数据页数据为1,两者不相等,最终得到有效数据单元序列为0、1、2、3、4、5、6和7;
其中,如图2所示,plane0中的page0上的物理位置为3的数据单元和plane1中的page0上的物理位置为4的数据单元都属于page0,但属于不同plane,若采用单plane操作则物理位置3和物理位置4不能连续读出,而多plane的操作方式能够对闪存各个plane同时进行操作,且多plane操作中间的繁忙时间很短,多plane操作比单plane更高效;因此通过多plane读的方式能够将物理位置为3和物理位置为4的两个连续且属于同一page的有效数据单元连续读出;即通过一个多plane读操作能够将0-7一共8个4k有效数据一次性读到缓存上。
实施例二
本实施例与实施例一的不同在于,在对目标有效数据单元进行连续性判断和同一数据页判断之前还包括步骤:
判断所述缓存中的有效数据单元个数和所述有效数据单元序列中的有效数据单元个数之和是否达到所述缓存的预设容量,若是,则将所述有效数据单元序列通过多plane读的方式读取到所述缓存中,若否,则执行对目标有效数据单元进行连续性判断和同一数据页判断的步骤;
其中,预设容量指的是闪存中多plane操作一次最多可执行的数据量,如为两个plane的闪存,那么多plane操作一次可操作两个page,即最多可操作32k的数据量。
获取闪存上数据单元的并行度,由于一个page包含8和4k数据单元得到并行度数值为8,即缓存的预设容量为8;
请参照图3,将cnt的判断数值设置为7,进行第一次读取时将cnt设置为0,如第一次读取的目标有效数据单元为plane0中的page1上的物理位置为8的4k数据单元,此时cnt=0,因此对plane0中的page1上的物理位置为8的4k数据单元进行如实施例一所述的连续性判断和同一数据页判断,得到有效数据单元序列为8和9;当对plane0中的page1上的物理位置为10的4k数据单元进行预设容量判断,此时cnt=2小于7,因此对plane0中的page1上的物理位置为10的4k数据进行连续性判断和同一数据页判断,由于物理位置10和物理位置14并不连续,因此将当前物理位置为10的有效数据添加至数据单元序列中且cnt加1,并将当前有效数据单元序列8、9和10读取到缓存中;
接着对plane1中的page1上的物理位置为14的4k数据单元进行预设容量判断,此时cnt=3,因此进行连续性判断和同一数据页判断,得到有效数据单元序列为14且cnt加1;由于plane1中的page1上的物理位置为15的4k数据单元与plane0中的page2上的物理位置为16的4k数据单元不属于同一page,因此将当前物理位置为15的有效数据添加至数据单元序列中且cnt加1,并将当前有效数据单元序列14和15读取到缓存中;
以此类推,当当前读取的目标有效数据单元为plane0中的page2上的物理位置为18的4k数据单元时,此时cnt=7,因此进行连续性判断和同一数据页判断,物理位置18与物理位置19连续,因此将当前物理位置为15的有效数据添加至数据单元序列中且cnt加1,此时对有效数据单元为plane0中的page2上的物理位置为19的4k数据单元进行判断,由于此时cnt=8大于预设值7,因此不进行判断,将当前有效数据单元序列16、17和18读取到缓存中,清空cnt数值进行下一次读取。
请参照图4,为优化前H2满盘测试速度结果;
请参照图5,为优化后H2满盘测试速度结果;
对比图4与图5可以看出,通过对于读取到的目标有效数据单元,确定与所述目标有效数据单元处于同一数据页并且以所述目标有效数据单元的位置开始连续的有效数据单元,得到有效数据单元序列;并将所述有效数据单元序列通过多plane读的方式读取到缓存中后再一次性写入目标块的优化方式可使写速度达到20.9MByte/s,而优化前的写速度为16.8MByte/s。
实施例三
请参照图6,一种垃圾回收装置,包括:
接收模块,用于接收垃圾回收请求;
判断模块,用于对对于读取到的目标有效数据单元,确定与所述目标有效数据单元处于同一数据页并且以所述目标有效数据单元的位置开始连续的有效数据单元,得到有效数据单元序列;
读取模块,用于将所述有效数据单元序列通过多plane读的方式读取到缓存中。
实施例四
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例一或二中任一个中的一种垃圾回收方法中的各个步骤。
实施例五
请参照图7,一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述实施例一或二中任一个中的一种垃圾回收方法中的各个步骤。
综上所述,本发明提供的一种垃圾回收方法、装置、可读存储介质及电子设备,对待回收的有效数据单元进行读取时,先判断当前读取到的目标有效数据单元是否达到缓存的预设容量,若未达到缓存的预设容量,再对当前读取到的目标有效数据单元进行连续性判断和同一数据页的判断,能够在预设容量的范围内确定与目标有效数据单元处于同一数据页并且以目标有效数据单元的位置开始连续的有效数据单元,并通过多plane读的方式将多个有效数据单元构成的连续有效数据单元序列通过一个读操作读取到缓存中,从而保证了在最大允许的可操作范围内将连续的有效数据单元通过多plane读操作一次性读出后同时写入目标数据块中,显著提高了闪存对待回收数据的写入速度,进而提高了垃圾回收的效率。
在本申请所提供的上述实施例中,应该理解到,所揭露的方法、装置、计算机可读存储介质以及电子设备,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个组件或模块可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或组件或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的组件可以是或者也可以不是物理上分开的,作为组件显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部组件来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个组件单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种垃圾回收的方法,其特征在于,包括步骤:
接收垃圾回收请求,对待回收的数据块上的有效数据单元进行读取;
对于读取到的目标有效数据单元,确定与所述目标有效数据单元处于同一数据页并且以所述目标有效数据单元的位置开始连续的有效数据单元,得到有效数据单元序列;
将所述有效数据单元序列通过多plane读的方式读取到缓存中。
2.根据权利要求1所述的一种垃圾回收的方法,其特征在于,所述确定与所述目标有效数据单元处于同一数据页并且以所述目标有效数据单元的位置开始连续的有效数据单元包括:
每次读取操作时,对目标有效数据单元进行连续性判断和同一数据页判断,判断当前读取的目标有效数据单元与下一次要读取的目标有效数据单元是否连续并且属于同一数据页,若连续且属于同一数据页,则将当前读取的目标有效数据单元添加到有效数据单元序列中,并将下一次要读取的目标有效数据单元设置为当前读取的目标有效数据单元,并返回执行所述对目标有效数据单元进行连续性判断和同一数据页判断的步骤,直至出现与当前读取的目标有效数据单元不连续或不属于同一数据页的有效数据单元;
若不连续或不属于同一数据页,将当前读取的有效数据单元添加到所述有效数据单元序列中。
3.根据权利要求2所述的一种垃圾回收的方法,其特征在于,所述连续性判断包括:
若当前读取的目标有效数据单元的物理位置与下一次要读取的目标有效数据单元的物理位置的差值为1,则当前读取的目标有效数据单元和下一次要读取的目标有效数据单元为连续单元。
4.根据权利要求2所述的一种垃圾回收的方法,其特征在于,所述同一数据页判断包括:
将当前读取的目标有效数据单元的物理位置除以一个数据页所包含的数据单元的个数得到当前读取的目标有效数据单元的第一数据页数值;
将下一次要读取的目标有效数据单元的物理位置除以一个数据页所包含的数据单元的个数得到下一次要读取的目标有效数据单元的第二数据页数值;
若所述第一数据页数值和第二数据页数值相同,则当前读取的目标有效数据单元与下一次要读取的目标有效数据单元属于同一数据页。
5.根据权利要求2至4中任一项所述的一种垃圾回收的方法,其特征在于,在所述对目标有效数据单元进行连续性判断和同一数据页判断之前还包括步骤:
判断所述缓存中的有效数据单元个数和所述有效数据单元序列中的有效数据单元个数之和是否达到所述缓存的预设容量,若是,则将所述有效数据单元序列通过多plane读的方式读取到所述缓存中,若否,则执行对目标有效数据单元进行连续性判断和同一数据页判断的步骤。
6.根据权利要求5所述的一种垃圾回收的方法,其特征在于,所述预设容量为闪存上数据单元的并行度。
7.一种垃圾回收装置,其特征在于,包括:
接收模块,用于接收垃圾回收请求,对待回收的数据块上的有效数据单元进行读取;
判断模块,用于对对于读取到的目标有效数据单元,确定与所述目标有效数据单元处于同一数据页并且以所述目标有效数据单元的位置开始连续的有效数据单元,得到有效数据单元序列;
读取模块,用于将所述有效数据单元序列通过多plane读的方式读取到缓存中。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6任意一项所述的垃圾回收方法中的各个步骤。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-6任意一项所述的垃圾回收方法中的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110110989.1A CN112905496A (zh) | 2021-01-27 | 2021-01-27 | 垃圾回收的方法、装置、可读存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110110989.1A CN112905496A (zh) | 2021-01-27 | 2021-01-27 | 垃圾回收的方法、装置、可读存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112905496A true CN112905496A (zh) | 2021-06-04 |
Family
ID=76118882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110110989.1A Pending CN112905496A (zh) | 2021-01-27 | 2021-01-27 | 垃圾回收的方法、装置、可读存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112905496A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114415949A (zh) * | 2021-12-31 | 2022-04-29 | 山东云海国创云计算装备产业创新中心有限公司 | 扫描回收block方法、***、存储介质及设备 |
CN117234962A (zh) * | 2023-11-10 | 2023-12-15 | 成都佰维存储科技有限公司 | 空间回收方法、装置、可读存储介质及电子设备 |
-
2021
- 2021-01-27 CN CN202110110989.1A patent/CN112905496A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114415949A (zh) * | 2021-12-31 | 2022-04-29 | 山东云海国创云计算装备产业创新中心有限公司 | 扫描回收block方法、***、存储介质及设备 |
CN114415949B (zh) * | 2021-12-31 | 2024-03-01 | 山东云海国创云计算装备产业创新中心有限公司 | 扫描回收block方法、***、存储介质及设备 |
CN117234962A (zh) * | 2023-11-10 | 2023-12-15 | 成都佰维存储科技有限公司 | 空间回收方法、装置、可读存储介质及电子设备 |
CN117234962B (zh) * | 2023-11-10 | 2024-03-26 | 成都佰维存储科技有限公司 | 空间回收方法、装置、可读存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112486852B (zh) | 一种固态硬盘及其地址映射方法 | |
CN103049224B (zh) | 将数据导入物理磁带的方法、装置和*** | |
CN111324303B (zh) | Ssd垃圾回收方法、装置、计算机设备及存储介质 | |
CN112905496A (zh) | 垃圾回收的方法、装置、可读存储介质及电子设备 | |
CN103970669A (zh) | 用于加速在固态设备中的回收操作的物理到逻辑地址映射 | |
CN114356248B (zh) | 一种数据处理方法和装置 | |
CN111930301A (zh) | 垃圾回收优化方法、装置、存储介质及电子设备 | |
CN112379830B (zh) | 有效数据位图的创建方法、装置、存储介质及电子设备 | |
CN114371814B (zh) | 数据处理的方法、装置及固态硬盘 | |
CN102867046B (zh) | 基于固态硬盘的数据库优化方法及*** | |
CN111831691A (zh) | 一种数据读写方法及装置、电子设备、存储介质 | |
CN112256198B (zh) | Ssd数据读取方法、装置、可读存储介质及电子设备 | |
CN108228340B (zh) | 终端控制方法及装置、终端设备及计算机可读存储介质 | |
CN110515562A (zh) | 一种磁盘访问方法及装置 | |
CN114400037B (zh) | Nand擦除方法、装置及可读存储介质 | |
CN113778911B (zh) | L2p数据缓存方法、装置、可读存储介质及电子设备 | |
CN112148486B (zh) | 内存页面管理方法、装置、设备及可读存储介质 | |
CN111897489B (zh) | 数据写入方法、装置、设备及计算机可读存储介质 | |
CN115587050A (zh) | 映射表垃圾回收效率的方法、装置、计算机设备及介质 | |
CN111949558B (zh) | 一种垃圾数据回收方法、装置和存储设备 | |
CN111930302A (zh) | 数据读取方法、装置、计算机可读存储介质及电子设备 | |
CN112416811A (zh) | 基于数据关联度的垃圾回收方法、闪存及装置 | |
CN110658999A (zh) | 一种信息更新方法、装置、设备及计算机可读存储介质 | |
CN111930300B (zh) | 数据写入方法、装置、计算机可读存储介质及电子设备 | |
CN113703671B (zh) | 一种数据块擦除方法及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 518000 floors 1-3 and 4 of buildings 4 and 8, zone 2, Zhongguan honghualing Industrial South Zone, No. 1213 Liuxian Avenue, Pingshan community, Taoyuan Street, Nanshan District, Shenzhen, Guangdong Applicant after: BIWIN STORAGE TECHNOLOGY Co.,Ltd. Address before: 518000 1st, 2nd, 4th and 5th floors of No.4 factory building, tongfuyu industrial town, Taoyuan Street, Nanshan District, Shenzhen City, Guangdong Province Applicant before: BIWIN STORAGE TECHNOLOGY Co.,Ltd. |