CN106339324B - 一种选择垃圾回收块的方法及装置 - Google Patents
一种选择垃圾回收块的方法及装置 Download PDFInfo
- Publication number
- CN106339324B CN106339324B CN201610694728.8A CN201610694728A CN106339324B CN 106339324 B CN106339324 B CN 106339324B CN 201610694728 A CN201610694728 A CN 201610694728A CN 106339324 B CN106339324 B CN 106339324B
- Authority
- CN
- China
- Prior art keywords
- block
- priority level
- priority
- doubly linked
- linked list
- 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.)
- Active
Links
- 239000010813 municipal solid waste Substances 0.000 title claims abstract description 71
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000004364 calculation method Methods 0.000 claims abstract description 23
- 230000004069 differentiation Effects 0.000 claims abstract description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004064 recycling Methods 0.000 description 2
- 238000005299 abrasion Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000003989 dielectric material Substances 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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
-
- 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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
- G06F12/0653—Configuration or reconfiguration with centralised address assignment
Abstract
本发明公开了一种选择垃圾回收块的方法,按照优先级计算公式得到当前各LUN中的block的优先等级,按照优先等级的取值范围创建多个双向链表并按照优先等级为区分依据将各block对应的优先等级添加至对应的双向链表中。当接收到垃圾回收请求时解析垃圾回收请求所对应的LUN,以优先等级为索引在对应的目标双向链表中按照优先等级从高到低的顺序依次搜索,直到找到目标优先等级为止,并以目标优先等级对应的block作为垃圾回收块。通过本方法无需遍历一个LUN中的全部block来计算对应的优先等级,只要按照优先等级由高到底的顺序搜索即可,因此,节约时间。另外,本发明还公开一种选择垃圾回收块的装置,效果如上所述。
Description
技术领域
本发明涉及计算机系统及存储技术领域,特别是涉及一种选择垃圾回收块的方法及装置。
背景技术
Nand-Flash是一种新型的非易失存储器件,具有速度快,体积小,存储密度大,功耗低等特点,以它为存储介质的SSD(固态硬盘)已经得到广泛应用。
一个SSD由很多个独立的Nand-Flash芯片组成,每个Nand-Flash由多个target构成,每个target由多个LUN(逻辑单元号)组成,每个LUN包含多个block(块),每个block包含多个page(物理页)。
在具体实施中,Nand-Flash本身有一些固有的缺陷:
第一,Nand-Flash的写入是out-of-place,即写入操作不能在本地更新,必须写入到新的空白页,同时旧的数据所在页会被标记为无效,等待擦除后才能重新使用;
第二,Nand-Flash的读写操作是以page为单位,而擦除是以block为单位,并且擦除操作所用时间远远大于读写操作所用时间;
第三,Nand-Flash的擦除次数有限制,根据介质材料的不同,通常在几千次到十万次之间。
正是由于上述原因,Nand-Flash需要设计磨损均衡算法,保证所有block的擦写次数均衡,防止出现某个block擦写次数过大,导致整个Nand-Flash失效的情况。磨损均衡算法中非常重要的一个目的就是垃圾回收块的选择,垃圾回收操作是负责将不再使用的block擦除,或者先将包含有效数据的page拷贝到新的block后再擦除该block,block擦除后就可以准备写入新的数据。
垃圾回收时需要在指定LUN挑选一个block进行回收。考虑到擦除操作占用的时间和page拷贝占用的时间都比较长,并且垃圾回收操作一般在后台运行,为了不影响前台运行的任务,能否快速挑选到合适的垃圾回收块就成了影响SSD性能和稳定性指标的重要因素。
在现有技术中,挑选垃圾回收块时,通常会遍历指定LUN的所有block,计算每个block的擦除次数和有效页个数,并且逐一比较,从中挑选出擦除次数最少和有效页个数最少的block,以此作为垃圾回收块,这一流程花费时间较长,并且时间不确定,容易成为系统性能瓶颈。
由此可见,如何减少选择垃圾回收块的时间是本领域技术人员亟待解决地问题。
发明内容
本发明的目的是提供一种选择垃圾回收块的方法及装置,用于减少选择垃圾回收块的时间。
为解决上述技术问题,本发明提供一种选择垃圾回收块的方法,包括:
按照以有效page的个数和擦除次数为变量的优先级计算公式得到当前各LUN中的block的优先等级;
按照优先等级的取值范围创建双向链表并按照优先等级为区分依据将各block对应的优先等级添加至对应的双向链表中;其中,所述双向链表以优先等级作为索引,所述取值范围为0–(2*N-1),N为一个block包含的全部page的个数;
当接收到垃圾回收请求时解析所述垃圾回收请求所对应的LUN,以优先等级为索引在对应的目标双向链表中按照优先等级从高到低的顺序依次搜索,直到找到目标优先等级为止,并以所述目标优先等级对应的block作为垃圾回收块;
其中,所述目标优先等级为首次搜索到block的优先等级。
优选地,所述优先级计算公式为:
P=(VPC+EC*N/MAXEC)%(2*N);
其中,VPC为所述有效page的个数,EC为所述擦除次数,MAXEC为所述block的最大擦除次数,%表示模运算,优先等级为0表示优先级最高,优先等级为2*N-1表示优先等级最低。
优选地,还包括:当任意的block有写操作或擦除操作时,更新对应的双向链表。
优选地,更新对应的双向链表具体包括:
在对应的双向链表中将原始优先等级移除,并通过所述优先级计算公式重新计算新的优先等级,并依据优先等级的大小加入到对应的双向链表的末尾。
优选地,还包括:若两个block的优先级相同,则通过各自的双向链表将两个block连接。
为解决上述技术问题,本发明还提供一种选择垃圾回收块的装置,包括:
计算单元,用于按照以有效page的个数和擦除次数为变量的优先级计算公式得到当前各LUN中的block的优先等级;
创建单元,用于按照优先等级的取值范围创建双向链表并按照优先等级为区分依据将各block对应的优先等级添加至对应的双向链表中;其中,所述双向链表以优先等级作为索引,所述取值范围为0–(2*N-1),N为一个block包含的全部page的个数;
搜索单元,用于当接收到垃圾回收请求时解析所述垃圾回收请求所对应的LUN,以优先等级为索引在对应的目标双向链表中按照优先等级从高到低的顺序依次搜索,直到找到目标优先等级为止,并以所述目标优先等级对应的block作为垃圾回收块;
其中,所述目标优先等级为首次搜索到block的优先等级。
优选地,所述优先级计算公式为:
P=(VPC+EC*N/MAXEC)%(2*N);
其中,VPC为所述有效page的个数,EC为所述擦除次数,MAXEC为所述block的最大擦除次数,%表示模运算,优先等级为0表示优先级最高,优先等级为2*N-1表示优先等级最低。
优选地,还包括:更新单元,用于当任意的block有写操作或擦除操作时,更新对应的双向链表。
优选地,所述更新单元具体包括:
移除单元,用于在对应的双向链表中将原始优先等级移除;
重新计算单元,用于通过所述优先级计算公式重新计算新的优先等级,并依据优先等级的大小加入到对应的双向链表的末尾。
优选地,还包括:连接单元,用于若两个block的优先级相同,则通过各自的双向链表将两个block连接。
本发明所提供的选择垃圾回收块的方法及装置,按照优先级计算公式得到当前各LUN中的block的优先等级,按照优先等级的取值范围创建多个双向链表并按照优先等级为区分依据将各block对应的优先等级添加至对应的双向链表中。当接收到垃圾回收请求时解析垃圾回收请求所对应的LUN,以优先等级为索引在对应的目标双向链表中按照优先等级从高到低的顺序依次搜索,直到找到目标优先等级为止,并以目标优先等级对应的block作为垃圾回收块。通过本方法当需要搜索垃圾回收块时,无需遍历一个LUN中的全部block来计算对应的优先等级,只要按照优先等级由高到底的顺序搜索即可,因此,节约时间,并且由于是按照优先级高低的顺序进行搜索,使得搜索时间是可以掌控的。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种选择垃圾回收块的方法的流程图;
图2为本发明提供的一种双向链表的示意图;
图3为本发明提供的另一种双向链表的示意图;
图4为本发明提供的一种选择垃圾回收块的装置的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
本发明的核心是提供一种选择垃圾回收块的方法及装置。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
图1为本发明提供的一种选择垃圾回收块的方法的流程图。如图1所示,选择垃圾回收块的方法,包括:
S10:按照以有效page的个数和擦除次数为变量的优先级计算公式得到当前各LUN中的block的优先等级。
需要说明的是,优先级计算公式中并不是只能包含有效page的个数和擦除次数这两个参数,还可以包含其他参数。在具体实施中,如果一个块是否成为垃圾回收块主要是依据有效page的个数和擦除次数这两个参数。分别计算每个LUN中的block的优先等级。因为每个block都有若干个page和相应的擦除次数,因此每个block都有自己的优先等级。不同的block的优先等级可能相同也可能不同。
S11:按照优先等级的取值范围创建双向链表并按照优先等级为区分依据将各block对应的优先等级添加至对应的双向链表中。
其中,双向链表以优先等级作为索引,取值范围为0–(2*N-1),N为一个block包含的全部page的个数。
在具体实施中,当一个block确定了之后,则其对应的优先等级的取值范围就是确定的。则一个LUN中的多个block的取值范围的交集就是该LUN的双向链表的起点和终点。
图2为本发明提供的一种双向链表的示意图。左侧为索引,即index=0,1,2……2*N-1。右侧为按照block的优先等级添加至双向链表中。例如其中一个block的优先等级为0时,则其对应的索引就是index=0,换句话说,通过索引就是index=0,就可以找到优先等级为0的block(前提是存在优先等级为0的block)。
S12:当接收到垃圾回收请求时解析垃圾回收请求所对应的LUN,以优先等级为索引在对应的目标双向链表中按照优先等级从高到低的顺序依次搜索,直到找到目标优先等级为止,并以目标优先等级对应的block作为垃圾回收块。
其中,目标优先等级为首次搜索到block的优先等级。
在步骤S11中已经计算好了各个LUN中各个block的优先等级,因此,当接收到垃圾回收请求后,首先解析垃圾回收请求所对应的是哪个LUN,当确定了LUN后,按照优先等级从高到低的顺序依次搜索每个优先等级是否有对应的block。如图2所示,优先从优先级最高的开始,即从index=0开始,查看是否有block的优先等级为0,即P=0,如果有则P=0的block的就是垃圾回收块,如果没有,则从index=1开始,查看是否有block的优先等级为1,即P=1,如果有,则P=1的block的就是垃圾回收块,如果没有,则继续按照优先等级搜索,直到搜索到一个block停止。本发明中,目标优先等级就是首次搜索到block的优先等级。例如,P=0-3都没有对应的block,而P=4中有block,则目标优先等级的优先等级就是4。
可以理解地是,如果前后两次搜索垃圾回收块时,全部的block都没有进行读操作或擦除操作,则不需要进行步骤S10和S12,因此,节约时间。
本实施例提供的选择垃圾回收块的方法,按照优先级计算公式得到当前各LUN中的block的优先等级,按照优先等级的取值范围创建多个双向链表并按照优先等级为区分依据将各block对应的优先等级添加至对应的双向链表中。当接收到垃圾回收请求时解析垃圾回收请求所对应的LUN,以优先等级为索引在对应的目标双向链表中按照优先等级从高到低的顺序依次搜索,直到找到目标优先等级为止,并以目标优先等级对应的block作为垃圾回收块。通过本方法当需要搜索垃圾回收块时,无需遍历一个LUN中的全部block来计算对应的优先等级,只要按照优先等级由高到底的顺序搜索即可,因此,节约时间,并且由于是按照优先级高低的顺序进行搜索,使得搜索时间是可以掌控的。
作为一种优选地实施方式,优先级计算公式为:
P=(VPC+EC*N/MAXEC)%(2*N);
其中,VPC为有效page的个数,EC为擦除次数,MAXEC为block的最大擦除次数,%表示模运算,优先等级为0表示优先级最高,优先等级为2*N-1表示优先等级最低。
本发明中模运算即求余运算,括号中各个参数作为一个整体与2*N做模运算,本发明不再赘述。
作为一种优选地实施方式,还包括:当任意的block有写操作或擦除操作时,更新对应的双向链表。
上述实施例中,可以理解为初始状态时选择垃圾回收块的方法,可以理解的是,当任意block有写操作或擦除操作时,则该block的优先等级就会发生变化,如果没有及时更新,则当进行步骤S12时,不能正确地搜索到垃圾回收块。因此,在本实施例中,如果任意的block有写操作或擦除操作时,需要更新对应的双向链表。
在本实施例中,只是更新了有写操作或擦除操作的block的优先等级,没有进行写操作或擦除操作的block的优先等级不变,因此无需多次计算。
图3为本发明提供的另一种双向链表的示意图。如图3所示,作为一种优选地实施方式,更新对应的双向链表具体包括:
在对应的双向链表中将原始优先等级移除,并通过优先级计算公式重新计算新的优先等级,并依据优先等级的大小加入到对应的双向链表的末尾。
在具体实施例中,一个block在有写操作或擦除操作之前的优先等级称为原始优先等级,进行了写操作或擦除操作后的优先等级称为新的优先等级。因此,如果一个block的优先等级发生变化,则首先要将原始优先等级移除,然后依据新的优先等级加入到对应的双向链表的末尾。例如在图3中,如果原始优先等级为P=1,进行写操作或擦除操作之后,优先等级变为P=2,则将P=1的优先等级移除,并将该block的新的优先等级加入到P=2的双向链表的末尾。
作为一种优选地实施方式,还包括:若两个block的优先级相同,则通过各自的双向链表将两个block连接。
如图2和图3所示,如果两个block的优先级相同,则通过各自的双向链表将两个block连接。
图4为本发明提供的一种选择垃圾回收块的装置的结构图。如图4所示,选择垃圾回收块的装置,包括:
计算单元10,用于按照以有效page的个数和擦除次数为变量的优先级计算公式得到当前各LUN中的block的优先等级;
创建单元11,用于按照优先等级的取值范围创建双向链表并按照优先等级为区分依据将各block对应的优先等级添加至对应的双向链表中;其中,双向链表以优先等级作为索引,取值范围为0–(2*N-1),N为一个block包含的全部page的个数;
搜索单元12,用于当接收到垃圾回收请求时解析垃圾回收请求所对应的LUN,以优先等级为索引在对应的目标双向链表中按照优先等级从高到低的顺序依次搜索,直到找到目标优先等级为止,并以目标优先等级对应的block作为垃圾回收块;
其中,目标优先等级为首次搜索到block的优先等级。
本实施例提供的选择垃圾回收块的装置,按照优先级计算公式得到当前各LUN中的block的优先等级,按照优先等级的取值范围创建多个双向链表并按照优先等级为区分依据将各block对应的优先等级添加至对应的双向链表中。当接收到垃圾回收请求时解析垃圾回收请求所对应的LUN,以优先等级为索引在对应的目标双向链表中按照优先等级从高到低的顺序依次搜索,直到找到目标优先等级为止,并以目标优先等级对应的block作为垃圾回收块。通过本方法当需要搜索垃圾回收块时,无需遍历一个LUN中的全部block来计算对应的优先等级,只要按照优先等级由高到底的顺序搜索即可,因此,节约时间,并且由于是按照优先级高低的顺序进行搜索,使得搜索时间是可以掌控的。
作为一种优选地实施方式,优先级计算公式为:
P=(VPC+EC*N/MAXEC)%(2*N);
其中,VPC为有效page的个数,EC为擦除次数,MAXEC为block的最大擦除次数,%表示模运算,优先等级为0表示优先级最高,优先等级为2*N-1表示优先等级最低。
作为一种优选地实施方式,还包括:更新单元,用于当任意的block有写操作或擦除操作时,更新对应的双向链表。
作为一种优选地实施方式,更新单元具体包括:
移除单元,用于在对应的双向链表中将原始优先等级移除;
重新计算单元,用于通过优先级计算公式重新计算新的优先等级,并依据优先等级的大小加入到对应的双向链表的末尾。
作为一种优选地实施方式,还包括:连接单元,用于若两个block的优先级相同,则通过各自的双向链表将两个block连接。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
以上对本发明所提供的选择垃圾回收块的方法及装置进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
Claims (10)
1.一种选择垃圾回收块的方法,其特征在于,包括:
按照以有效page的个数和擦除次数为变量的优先级计算公式得到当前各LUN中的block的优先等级;
按照优先等级的取值范围创建双向链表并按照优先等级为区分依据将各block对应的优先等级添加至对应的双向链表中;其中,所述双向链表以优先等级作为索引,所述取值范围为0至(2*N-1),N为一个block包含的全部page的个数;
当接收到垃圾回收请求时解析所述垃圾回收请求所对应的LUN,以优先等级为索引在对应的目标双向链表中按照优先等级从高到低的顺序依次搜索,直到找到目标优先等级为止,并以所述目标优先等级对应的block作为垃圾回收块;
其中,所述目标优先等级为首次搜索到block的优先等级。
2.根据权利要求1所述的方法,其特征在于,所述优先级计算公式为:
P=(VPC+EC*N/MAXEC)%(2*N);
其中,VPC为所述有效page的个数,EC为所述擦除次数,MAXEC为所述block的最大擦除次数,%表示模运算,优先等级为0表示优先级最高,优先等级为2*N-1表示优先等级最低。
3.根据权利要求1所述的方法,其特征在于,还包括:当任意的block有写操作或擦除操作时,更新对应的双向链表。
4.根据权利要求3所述的方法,其特征在于,更新对应的双向链表具体包括:
在对应的双向链表中将原始优先等级移除,并通过所述优先级计算公式重新计算新的优先等级,并依据优先等级的大小加入到对应的双向链表的末尾。
5.根据权利要求1所述的方法,其特征在于,还包括:若两个block的优先级相同,则通过各自的双向链表将两个block连接。
6.一种选择垃圾回收块的装置,其特征在于,包括:
计算单元,用于按照以有效page的个数和擦除次数为变量的优先级计算公式得到当前各LUN中的block的优先等级;
创建单元,用于按照优先等级的取值范围创建双向链表并按照优先等级为区分依据将各block对应的优先等级添加至对应的双向链表中;其中,所述双向链表以优先等级作为索引,所述取值范围为0至(2*N-1),N为一个block包含的全部page的个数;
搜索单元,用于当接收到垃圾回收请求时解析所述垃圾回收请求所对应的LUN,以优先等级为索引在对应的目标双向链表中按照优先等级从高到低的顺序依次搜索,直到找到目标优先等级为止,并以所述目标优先等级对应的block作为垃圾回收块;
其中,所述目标优先等级为首次搜索到block的优先等级。
7.根据权利要求6所述的装置,其特征在于,所述优先级计算公式为:
P=(VPC+EC*N/MAXEC)%(2*N);
其中,VPC为所述有效page的个数,EC为所述擦除次数,MAXEC为所述block的最大擦除次数,%表示模运算,优先等级为0表示优先级最高,优先等级为2*N-1表示优先等级最低。
8.根据权利要求6所述的装置,其特征在于,还包括:更新单元,用于当任意的block有写操作或擦除操作时,更新对应的双向链表。
9.根据权利要求8所述的装置,其特征在于,所述更新单元具体包括:
移除单元,用于在对应的双向链表中将原始优先等级移除;
重新计算单元,用于通过所述优先级计算公式重新计算新的优先等级,并依据优先等级的大小加入到对应的双向链表的末尾。
10.根据权利要求6所述的装置,其特征在于,还包括:连接单元,用于若两个block的优先级相同,则通过各自的双向链表将两个block连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610694728.8A CN106339324B (zh) | 2016-08-19 | 2016-08-19 | 一种选择垃圾回收块的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610694728.8A CN106339324B (zh) | 2016-08-19 | 2016-08-19 | 一种选择垃圾回收块的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106339324A CN106339324A (zh) | 2017-01-18 |
CN106339324B true CN106339324B (zh) | 2019-05-10 |
Family
ID=57825340
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610694728.8A Active CN106339324B (zh) | 2016-08-19 | 2016-08-19 | 一种选择垃圾回收块的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106339324B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107102954B (zh) * | 2017-04-27 | 2019-11-12 | 华中科技大学 | 一种基于失效概率的固态存储分级管理方法及系统 |
CN108205501B (zh) * | 2017-06-26 | 2020-08-07 | 珠海市魅族科技有限公司 | 内存回收方法及装置、计算机装置及计算机可读存储介质 |
CN107544754B (zh) * | 2017-07-28 | 2021-05-25 | 新华三信息技术有限公司 | 一种垃圾回收方法及装置 |
CN108681435B (zh) * | 2018-05-25 | 2021-06-29 | 郑州云海信息技术有限公司 | 一种固态硬盘的磨损均衡方法、装置、设备及存储介质 |
CN111090595B (zh) * | 2019-11-19 | 2022-12-20 | 中国航空工业集团公司西安航空计算技术研究所 | 一种nand flash垃圾回收均衡优化方法 |
CN111124305B (zh) * | 2019-12-20 | 2021-08-31 | 浪潮电子信息产业股份有限公司 | 固态硬盘磨损均衡方法、装置及计算机可读存储介质 |
CN111159059B (zh) * | 2019-12-27 | 2022-03-04 | 深圳大普微电子科技有限公司 | 一种垃圾回收方法、装置及非易失性的存储设备 |
CN115904264B (zh) * | 2023-03-13 | 2023-06-13 | 浪潮电子信息产业股份有限公司 | 一种存储系统中块的垃圾数据回收方法、装置以及介质 |
CN116909495B (zh) * | 2023-09-14 | 2023-12-15 | 合肥康芯威存储技术有限公司 | 一种存储装置及其控制方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008029389A1 (en) * | 2006-09-04 | 2008-03-13 | Sandisk Il Ltd. | Device and method for prioritized erasure of flash memory |
CN102880556A (zh) * | 2012-09-12 | 2013-01-16 | 浙江大学 | 一种实现Nand Flash磨损均衡的方法及其系统 |
CN103902465A (zh) * | 2014-03-19 | 2014-07-02 | 华为技术有限公司 | 一种固态硬盘垃圾回收的方法、系统和固态硬盘控制器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201120898A (en) * | 2009-12-07 | 2011-06-16 | Jmicron Technology Corp | Mehtod for wear-leveling and apparatus thereof |
-
2016
- 2016-08-19 CN CN201610694728.8A patent/CN106339324B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008029389A1 (en) * | 2006-09-04 | 2008-03-13 | Sandisk Il Ltd. | Device and method for prioritized erasure of flash memory |
CN102880556A (zh) * | 2012-09-12 | 2013-01-16 | 浙江大学 | 一种实现Nand Flash磨损均衡的方法及其系统 |
CN103902465A (zh) * | 2014-03-19 | 2014-07-02 | 华为技术有限公司 | 一种固态硬盘垃圾回收的方法、系统和固态硬盘控制器 |
Also Published As
Publication number | Publication date |
---|---|
CN106339324A (zh) | 2017-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106339324B (zh) | 一种选择垃圾回收块的方法及装置 | |
DE112010002663B4 (de) | Speichermanagementsysteme, Verfahren zur Verbesserung der Schreib-Lösch-Ausdauerlebenszeit von Speichervorrichtungen und Computerprogrammprodukt | |
US10740308B2 (en) | Key_Value data storage system | |
DE112017002941B4 (de) | Arbeitslastoptimierte Datendeduplizierung mittels Phantomfingerabdrücken | |
DE112011100618B4 (de) | Verwalten von Schreiboperationen auf einen Speicherbereich von Spuren, der zwischen Speichereinheiten verlagert wird | |
Tao et al. | Efficient historical R-trees | |
DE112010003650B4 (de) | Container-Markierungsschema zum Verringern einer Schreibverstärkung bei Halbleiter-Einheiten | |
DE102012208141B4 (de) | Ausgleich nachlassender Funktionsfähigkeit | |
DE112012004571B4 (de) | Unterstützen von unvollständigen Datensegmenten in Flash-Cache-Speichern | |
DE102017128952A1 (de) | Datenspeichervorrichtung, die konfiguriert ist, um eine nicht-blockierende Steuerungs-Aktualisierungsoperation auszuführen | |
DE112011105774B4 (de) | Verschiebbarer Speicher, der In-Memory-Datenstrukturen unterstützt | |
DE112015000378T5 (de) | Selektives Rückkopieren für einen auf einem Chipplättchen gepufferten nichtflüchtigen Speicher | |
DE112013000650B4 (de) | Datenzwischenspeicherungsbereich | |
DE112020002792B4 (de) | Verschleissorientierte blockmodusumwandlung in nichtflüchtigen speichern | |
US20190213177A1 (en) | Trees and graphs in flash memory | |
CN107368257B (zh) | 固态存储器中的数据巡检方法及装置 | |
KR20110080479A (ko) | 멀티 레벨 버퍼 캐시 관리 정책에 따른 메모리 관리 방법 | |
CA2758235A1 (en) | Device and method for storage, retrieval, relocation, insertion or removal of data in storage units | |
US20160357673A1 (en) | Method of maintaining data consistency | |
DE102016010276A1 (de) | Verfahren und systeme zur verbesserung von flash-speicher-leerung | |
DE112017005014T5 (de) | Qualifizieren des Durchsuchens eines Verzweigungsprädiktors unter Verwendung der Vorhersage einer Datenstromlänge | |
CN104598386A (zh) | 通过追踪和利用二级映射索引重复利用固态驱动器块 | |
US10372605B2 (en) | Generational garbage collector for trees under multi-version concurrency control | |
CN109408416B (zh) | 一种地址映射表项页管理方法及装置 | |
CN109086462A (zh) | 一种分布式文件系统中元数据的管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |