CN111090398B - 固态硬盘的垃圾回收方法、装置、设备及可读存储介质 - Google Patents
固态硬盘的垃圾回收方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN111090398B CN111090398B CN201911284438.6A CN201911284438A CN111090398B CN 111090398 B CN111090398 B CN 111090398B CN 201911284438 A CN201911284438 A CN 201911284438A CN 111090398 B CN111090398 B CN 111090398B
- Authority
- CN
- China
- Prior art keywords
- data block
- priority
- solid state
- state disk
- dirty 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
Abstract
本申请公开了一种固态硬盘的垃圾回收方法、装置、设备及计算机可读存储介质。其中,方法包括对固态硬盘中各脏数据块的磨损次数进行随机离散处理;根据平均磨损次数、各脏数据块的有效数据帧个数和随机化后的磨损次数计算各脏数据块的垃圾回收优先级;基于各脏数据块的有效数据帧个数将脏数据块分为多类,并利用预设调整因子对各类数据集的脏数据块的垃圾回收优先级值进行调整;根据当前空闲数据块总数与个数阈值之间的关系,从各数据集中按照调整后的垃圾回收优先级进行垃圾回收,在提高固态硬盘的空间利用率和兼顾磨损均衡的基础上,可避免垃圾回收过程中发生冷数据搬移风暴的现象,还可有效提升固态硬盘的稳定性和可靠性,保证用户使用体验。
Description
技术领域
本申请涉及固态硬盘的磨损均衡技术领域,特别是涉及一种固态硬盘的垃圾回收方法、装置、设备及计算机可读存储介质。
背景技术
随着云计算、互联网技术的快速发展,日常工作生活中时时刻刻都会产生海量数据需要存储,数据存储技术得到相应的发展以满足爆炸式增长数据的现实存储需求。SSD(Solid State Drives,固态硬盘)为用固态电子存储芯片阵列制成的硬盘,由控制单元和固态存储单元组成。由于其稳定的性能,例如读写速度快、能耗较低,有效地克服了机械硬盘诸多缺点,而被广泛采用。
固态硬盘的存储单元中包括多个数据块(Block),数据块为固态硬盘的最小擦除单位。由于固态硬盘没有重写机制,在一个数据块写满数据后,需要擦除该数据块上的数据才可写入新的数据,而每个数据块的擦除次数有限,固态硬盘的寿命取决与最小寿命的数据块,为了延长固态硬盘的寿命,各数据块的擦除操作应进行磨损均衡以保证各数据块的擦除次数相同。在固态硬盘的使用过程中,通过垃圾回收可有效提升其空间利用率。垃圾回收是指将几个写满数据的物理数据块中的有效页中搬移到新的空闲物理数据块中,然后再把这几个源数据块进行擦除,从而提高固态硬盘的空间利用率。垃圾回收过程既要考虑空间回收率,保证固态硬盘能源源不断的快速提供空闲块,又要兼顾磨损次数,即全盘的磨损均衡和单个数据块的磨损次数,从而保证固态硬盘的使用寿命,所以高效可行的垃圾回收算法对固态硬盘的性能和寿命都起到至关重要的作用。
相关技术在垃圾回收中选择源数据块时仅仅考虑旧数据块中包含的有效数据帧的个数和该数据块的磨损次数。但是如果一段时间内出现多个擦除次数较低的数据块需要进行迁移,而这些数据块包含的有效数据帧较多,就会导致长时间无法回收出数据块,影响回收有效数据块的效率,极易对固态硬盘性能造成影响,例如在SSD生命周期初期,当有大量旧数据块的磨损次数相同,随机写入的冷数据,有效数据帧个数较大,可能会形成低效垃圾回收风暴。也就是说,相关技术在根据磨损均衡程度进行垃圾回收源数据块时,空间回收率较低,甚至会出现低效垃圾回收风暴,影响用户的读写效率,尤其在大压力写条件下,空闲块数量会低到一定水位,长时间回收不出空闲块,无法响应主机IO请求而掉盘,不能保证SSD高品质、高寿命服务。
发明内容
本申请提供了一种固态硬盘的垃圾回收方法、装置、设备及计算机可读存储介质,在提高固态硬盘的空间利用率和兼顾磨损均衡的基础上,还可有效避免垃圾回收过程中出现冷数据搬移风暴,有利于提升固态硬盘的稳定性和可靠性,保证用户使用体验。
为解决上述技术问题,本发明实施例提供以下技术方案:
本发明实施例一方面提供了一种固态硬盘的垃圾回收方法,包括:
按照块逻辑编号随机化算法对固态硬盘中各脏数据块的磨损次数进行随机化处理;
根据所述固态硬盘的平均磨损次数、各脏数据块的有效数据帧个数和随机化后的磨损次数计算各脏数据块的垃圾回收优先级;
基于各脏数据块的有效数据帧个数将各数据块分为多个数据块集,并利用预设调整因子对各数据块集中的脏数据块的垃圾回收优先级值进行调整;
根据所述固态硬盘当前的空闲数据块总数与预设个数阈值之间的关系,从各数据块集中按照调整后的垃圾回收优先级进行垃圾回收。
可选的,所述根据所述固态硬盘的平均磨损次数、各脏数据块的有效数据帧个数和随机化后的磨损次数计算各脏数据块的垃圾回收优先级包括:
根据优先级计算关系式计算各脏数据块的垃圾回收优先级,所述优先级计算关系式为:
P=(X/a)+(Y*abs(Y)/b)+c;
式中,P为垃圾回收优先级,X为当前脏数据块的有效数据帧个数,Y为所述当前脏数据块离散化后的磨损次数与所述平均磨损次数的差值,abs(Y)为Y的绝对值,a、b为化简后最简分数的分子分母,c为偏移量,M为一个物理数据块中包含的数据帧总个数,N为磨损均衡允许的最大偏差次数。
可选的,所述N的取值根据磨损均衡关系式来确定,所述磨损均衡关系式为:
式中,Nmax为500,Nmin为100,PEavg为所述平均磨损次数。
可选的,所述按照块逻辑编号随机化算法对固态硬盘中各脏数据块的磨损次数进行随机化处理为:
按照块逻辑编号随机化算法,在预设随机范围内对固态硬盘中各脏数据块的磨损次数进行随机化处理;所述随机范围为(PEavg-N,PEavg+N)。
可选的,所述基于各脏数据块的有效数据帧个数将各数据块分为多个数据块集,并利用预设调整因子对每个数据块集中的各数据块的垃圾回收优先级值进行调整包括:
若当前脏数据的有效数据帧个数值小于预设VDFC阈值,则将所述当前脏数据块分类至第一优先级集中;若当前脏数据的有效数据帧个数值不小于所述VDFC阈值,则将所述当前脏数据块分类至第二优先级集中;所述第一优先级集为所述第二优先级集的子集;
利用优先级微调公式对所述第一优先级集和所述第二优先级集中的各脏数据块的优先级进行调整,所述优先级微调公式为:
式中,P0为当前脏数据块调整后的优先级,P为所述当前脏数据块的垃圾回收优先级,%为取余运算符,X为所述当前脏数据块的有效数据帧个数。
可选的,所述根据所述固态硬盘当前的空闲数据块总数与预设个数阈值之间的关系,从各数据块集中按照调整后的垃圾回收优先级进行垃圾回收包括:
若所述固态硬盘当前的空闲数据块总数不小于所述个数阈值,则从所述第二优先级集中选择优先级最小的脏数据块作为目标数据块进行回收;
若所述固态硬盘当前的空闲数据块总数小于所述个数阈值,则从所述第一优先级集中选择优先级最小的脏数据块作为目标数据块进行回收。
可选的,所述个数阈值为限制主机IO写速度为0的写仲裁阈值;所述VDFC阈值根据阈值计算关系式计算得到,所述阈值计算关系式为:
其中,V1=V0-V'-n1-n2-n3;
式中,η为所述VDFC阈值,m为所述固态硬盘的块数据帧总数,V1为用户空间容量,V0为全盘容量,V'为预留空间值,n1为稳态时空闲数据块总个数,n2为parity数据块个数,n3为坏块个数。
本发明实施例另一方面提供了一种固态硬盘的垃圾回收装置,包括:
磨损次数随机化处理模块,用于按照块逻辑编号随机化算法对固态硬盘中各脏数据块的磨损次数进行随机化处理;
优先级计算模块,用于根据所述固态硬盘的平均磨损次数、各脏数据块的有效数据帧个数和随机化后的磨损次数计算各脏数据块的垃圾回收优先级;
优先级微调模块,用于基于各脏数据块的有效数据帧个数将各数据块分为多个数据块集,并利用预设调整因子对每个数据块集中的各数据块的垃圾回收优先级值进行调整;
垃圾回收模块,用于根据所述固态硬盘当前的空闲数据块总数与预设个数阈值之间的关系,从各数据块集中按照调整后的垃圾回收优先级进行垃圾回收。
本发明实施例还提供了一种固态硬盘的垃圾回收设备,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如前任一项所述固态硬盘的垃圾回收方法的步骤。
本发明实施例最后还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有固态硬盘的垃圾回收程序,所述固态硬盘的垃圾回收程序被处理器执行时实现如前任一项所述固态硬盘的垃圾回收方法的步骤。
本申请提供的技术方案的优点在于,在计算脏数据块的垃圾回收优先级之前,先对各脏数据块的磨损次数进行随机化离散处理,以避免多个大量数据块的磨损次数和平均磨损次数差距较大的现象发生,可有效降低冷数据搬移风暴的发生概率;根据有效数据帧个数,通过对优先级微调分类,基于当前空闲数据块总数对脏数据块进行选择回收,使得垃圾回收可用空间利用率可控,实现固态硬盘空闲块数量可控,还有利于提升固态硬盘的空间回收率,快速高效应对低水位时的冷数据搬移风暴,保证固态硬盘运行的可靠性,保证用户的读写效率,有利于提升固态硬盘的稳定性和可靠性,保证用户使用体验。
此外,本发明实施例还针对固态硬盘的垃圾回收方法提供了相应的实现装置、设备及计算机可读存储介质,进一步使得所述方法更具有实用性,所述装置、设备及计算机可读存储介质具有相应的优点。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
为了更清楚的说明本发明实施例或相关技术的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种固态硬盘的垃圾回收方法的流程示意图;
图2为本发明实施例提供的以磨损次数横向看优先级的趋势曲线示意图;
图3为本发明实施例提供的以有效数据帧个数横向看优先级的趋势曲线示意图;
图4为本发明实施例提供的优先级的整体趋势曲线示意图;
图5为本发明实施例提供的一种垃圾回收方法的流程示意图;
图6为本发明实施例提供的固态硬盘的垃圾回收装置的一种具体实施方式结构图;
图7为本发明实施例提供的固态硬盘的垃圾回收设备的一种具体实施方式结构图;
图8为本发明实施例提供的示意性例子的一种具体实施方式结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
在介绍了本发明实施例的技术方案后,下面详细的说明本申请的各种非限制性实施方式。
首先参见图1,图1为本发明实施例提供的一种固态硬盘的垃圾回收方法的流程示意图,本发明实施例可包括以下内容:
S101:按照块逻辑编号随机化算法对固态硬盘中各脏数据块的磨损次数进行随机化处理。
可以理解的是,固态硬盘中会存在大量脏数据块的磨损次数与平均磨损次数的差距较大的情况,例如在固态硬盘使用初期,极易出现大量脏数据块的磨损次数相同且有效数据帧个数也相同的情况,这种情况下,系统会优先选择磨损次数较大的脏数据块,但是选中的这些脏数据块的有效数据帧个数可能会很大,迁移这些有效数据帧至新的数据块就需要耗费大量时间,造成冷数据搬移风暴,导致固态硬盘的可用空间回收率较低。在计算优先级之前,可按照块逻辑编号随机化算法在预设随机范围内对固态硬盘中各脏数据块的磨损次数进行随机化处理,随机范围为在固态硬盘的平均磨损次数上下允许磨损的最大偏差,例如随机范围可为(PEavg-N,PEavg+N),PEavg为固态硬盘的平均磨损次数,N为磨损均衡所允许的最大偏差次数。磨损次数的随机化处理具体过程可参照相关技术领域记载的块逻辑编号随机化算法的实现过程,此处,便不再赘述。
S102:根据固态硬盘的平均磨损次数、各脏数据块的有效数据帧个数和随机化后的磨损次数计算各脏数据块的垃圾回收优先级。
在本申请中,为了兼顾磨损均衡和垃圾回收可用空间利用率基础上避免冷数据风暴的发生,在计算各脏数据块时可根据优先级计算关系式计算各脏数据块的垃圾回收优先级,优先级计算关系式可表示为:
P=(X/a)+(Y*abs(Y)/b)+c;
式中,P为垃圾回收优先级,X为当前脏数据块的有效数据帧个数,Y为当前脏数据块离散化后的磨损次数与平均磨损次数的差值,abs(Y)为Y的绝对值,a为有效数据帧个数的加权系数,b为磨损次数的加权系数,c为偏移量,M为一个物理数据块中包含的数据帧总个数,N为磨损均衡允许的最大偏差次数。若磨损次数低于平均磨损次数,则磨损次数为负值,若磨损次数高于平均磨损次数,则磨损次数为正值,若磨损次数与平均磨损次数相同,则磨损次数为0。本领域技术人员可根据实际应用场景进行选取a、b和c的具体值,本申请对此不做任何限定。通过简单的优先级计算关系式计算各脏数据块的垃圾回收优先级,可有效降低cpu资源的占用率,还可高效保证磨损均衡和空间回收率。
可选的,在根据优先级定位脏数据块过程中,为了提高定位效率,高效、准确的确定当前优先级对应的脏数据块,固态硬盘的各脏数据块的优先级的数据结构可表示为哈希表形式,在每个哈希表中包含脏数据块的优先级、有效数据帧个数值和磨损次数等信息。脏数据块的每个优先级为一个双向链表,所有优先级构成一个双向链表数组。
S103:基于各脏数据块的有效数据帧个数将各数据块分为多个数据块集,并利用预设调整因子对各数据块集中的脏数据块的垃圾回收优先级值进行调整。
在本申请中,S101随机化各脏数据块的磨损次数后,还有很小的概率会集中出现一批冷数据块的磨损次数随机化后会变得很小,但是这些冷数据块的有效数据帧个数较大,这样在一段时间内还会出现低效率垃圾回收风暴,当出现这种情况时,恰好遇到固态硬盘中的空闲数据块个数较少时,磨损均衡管理模块会因为低效率垃圾回收风暴无法及时回收空闲数据块给主机IO,影响主机性能。基于此,在更新优先级时,还可根据各脏数据块的有效数据帧个数对优先级进行分类,本领域技术人员可根据实际需要确定分类的阈值和分类的类别总数,本申请对此不做任何限定。在将各数据块分类之后,对每类数据块可采用同一个调整因子进行优先级值调整,也可采用不同的调整因子进行优先级值调整,这均不影响本申请的实现。
S104:根据固态硬盘当前的空闲数据块总数与预设个数阈值之间的关系,从各数据块集中按照调整后的垃圾回收优先级进行垃圾回收。
可以理解的是,在固态硬盘当前的空闲数据块总数较多时,固态硬盘对垃圾回收的空间回收率要求不高,在固态硬盘当前的空闲数据块总数较少时,固态硬盘对垃圾回收的空间回收率要求就比较高了,在根据有效数据帧个数对各脏数据块进行分类后,可根据实际需求选择相应的数据块集中的脏数据块进行垃圾回收,使得垃圾回收可控性增强,实现固态硬盘的可用数据块数据可控。
还需要说明的是,固态硬盘每新产生一个数据块,则原有数据块的有效数据帧置无效,有效数据帧个数值发生变化,相应的,垃圾回收优先级也发生变化,需要及时进行更新以保证数据的一致性。
在本发明实施例提供的技术方案中,在计算脏数据块的垃圾回收优先级之前,先对各脏数据块的磨损次数进行随机化离散处理,以避免多个大量数据块的磨损次数和平均磨损次数差距较大的现象发生,可有效降低冷数据搬移风暴的发生概率;根据有效数据帧个数,通过对优先级微调分类,基于当前空闲数据块总数对脏数据块进行选择回收,使得垃圾回收可用空间利用率可控,实现固态硬盘空闲块数量可控,还有利于提升固态硬盘的空间回收率,快速高效应对低水位时的冷数据搬移风暴,保证固态硬盘运行的可靠性,保证用户的读写效率,有利于提升固态硬盘的稳定性和可靠性,保证用户使用体验。
作为一种可选的实施方式,S102在根据优先级计算关系式P=(X/a)+(Y*abs(Y)/b)+c计算各脏数据块的垃圾回收优先级过程中,涉及到加权系数和偏移量的选择,而加权系数和偏移量的值选取对脏数据块的垃圾回收优先级的准确度直观重要,鉴于此,本申请还提供了参数选择方法,可包括下述内容:
式中,a、b为化简后最简分数的分子分母,c为偏移量,M为一个物理数据块中包含的数据帧总个数,N为磨损均衡允许的最大偏差次数。根据一个逻辑单元的物理数据块总数可确定优先级总个数W,在计算得到垃圾回收优先级后,还可将优先级归一化到0~W范围内。
为了验证本申请的参数选择方法有利于保证脏数据块的优先级的准确度,本申请还进行了验证性实验,请参阅图2-图4。图2反映的是优先级随Y*abs(Y)/b项的变化趋势,abs(Y)值越大,曲线斜率越大,优先级增长或减小的越快,以图中第一区域讲,磨损次数偏小,优先级迅速衰减,这样第一区域的数据块在垃圾回收时越容易被选中,保证磨损均衡;图3反映的是优先级随X/a项的变化趋势,呈斜率相同的线性关系,图中相同颜色区域(第一区域或第二区域或第三区域)X越小,优先级越小,这样X较小的数据块在垃圾回收时越容易被选中,保证垃圾回收的空间回收率。
综上所述,参考数据块信息中的磨损次数和有效数据帧个数计算优先级,能够保证大多数情况固态硬盘的磨损均衡和空间回收率。少数情况同一时间可能会出现大量擦除次数相同且有效数据帧个数相同的冷数据块,为避免这些数据块优先级相同,重新计算数据块优先级时,根据随机化算法对此数据块磨损次数随机化,随机范围为平均磨损次数上下允许磨损的最大偏差,这样把这些优先级可能相同的数据块PE随机打散,降低短时间内的低效率垃圾回收风暴概率。在固态硬盘的生命周期内,为提高初期垃圾回收空间回收率,因初期磨损次数较小,对盘的磨损均衡要求可适当降低,磨损均衡允许最大偏差随平均磨损次数增加而线性减小,N的取值可根据磨损均衡关系式来确定,生命周期初期更新优先级时,b值较小,根据平均磨损次数调整磨损均衡粒度的策略,保证磨损均衡的前提下提升了固态硬盘的初期性能,磨损均衡关系式可表示为:
式中,Nmax为500,Nmin为100,PEavg为平均磨损次数。
可选的,在另外一种实施方式中,在S103中,可将脏数据块分为两类,若当前脏数据的有效数据帧个数值小于预设VDFC阈值,则将当前脏数据块分类至第一优先级集中;若当前脏数据的有效数据帧个数值不小于VDFC阈值,则将当前脏数据块分类至第二优先级集中;第一优先级集为第二优先级集的子集。然后将第一优先级集中的脏数据块的优先级调整为大于等于相应优先级的第一个偶数,第一优先级集中的各脏数据块的优先级均为偶数优先级,且有效数据帧个数较少;将第二优先级集中的脏数据块的优先级调整为大于相应优先级的第一个奇数;这样微调后的优先级跟原优先级最大误差为2,整体优先级排列情况不受影响。也就是说,可利用优先级微调公式对第一优先级集和第二优先级集中的各脏数据块的优先级进行调整,优先级微调公式为:
式中,P0为当前脏数据块调整后的优先级,P为当前脏数据块的垃圾回收优先级,%为取余运算符,X为当前脏数据块的有效数据帧个数。
其中,为了保证磨损均衡和垃圾空间回收率的均匀性,VDFC阈值可根据阈值计算关系式计算得到,阈值计算关系式为:
其中,V1=V0-V'-n1-n2-n3;
式中,η为VDFC阈值,m为固态硬盘的块数据帧总数,V1为用户空间容量,V0为全盘容量,V'为预留空间值,n1为稳态时空闲数据块总个数,n2为parity数据块个数,n3为坏块个数。
在本发明实施例中,重算优先级的算法简码可如下所示:
VDFC_THRESHOLD=(BLOCK_FOR_USER/TOTAL_BLOCK)*DATA_FRAME_PER_BLOCK;
为保证随机均衡写条件下存在偶数优先级,VDFC阈值可参考上述值适当提高。
FREE_BLOCK_THRESHOLD=WRITE_CREDIT_VALUE_LIMIT_SPEED_0;
int pe,average_pe,vdfc,priority
/*磨损次数pe随机化,pe高于平均pe下式取+,pe低于平均pe下式取-*/
/*MAX_PE_TO_AVERAGE_DISTANCE为允许最大PE偏差*/
pe=pe±block_number%MAX_PE_TO_AVERAGE_DISTAN CE;
/*计算优先级并根据有效数据帧个数调整优先级,式中有效数据帧个数vdfc为脏数据块的有效数据帧个数,pe为脏数据块的磨损次数,average_pe为平均磨损次数,a,b分别为有效数据帧个数和磨损次数在优先级中的权重,参数c为偏移,保证优先级的基本范围*/
priority=vdfc/a+(pe–average_pe)*abs(pe–average_pe)/b+c
if vdfc<VDFC_THRESHOLD then
priority+=priority%2
else then
priority+=priority%2+1
end if
return priority。
作为另外一种可选的实施方式,在将各脏数据块分类值第一优先级集和第二优先级集中,请参阅图5,S104的垃圾回收实现过程可包括:
若固态硬盘当前的空闲数据块总数不小于个数阈值,则从第二优先级集中选择优先级最小的脏数据块作为目标数据块进行回收;
若固态硬盘当前的空闲数据块总数小于个数阈值,则从第一优先级集中选择优先级最小的脏数据块作为目标数据块进行回收。
其中,垃圾回收时会设定个数阈值,为了使得整个技术方案的磨损均衡影响尽量小,空闲块个数阈值可根据限制主机IO写速度为0时的阈值来确定,也即空闲块个数降到限制主机IO写速度为0的写仲裁阈值时从第一优先级集中进行垃圾回收数据块选择。写仲裁值为固态硬盘剩余的可用空闲块的数量,根据写仲裁值可调整主机IO写的速度,表达式可V=k(C-m),k为常数,m为主机IO写速度为0时的空闲数据块数量,C为写仲裁值,V为主机IO写的速度。
当空闲块总个数大于等于个数阈值时,按照优先级大小从第二优先级集中选择脏数据块回收,选择优先级最小的优先回收。当空闲块个数小于个数阈值时,从有效数据帧个数较小的第一优先级集中按由小到大的顺序选择源数据块,以提升垃圾回收的空间回收率;当空闲块个数回升至个数阈值以上时,跳回至第二优先级集中选择脏数据块进行垃圾回收。采用上述方法在空闲块个数较少时,进一步将有效数据帧个数较大的低优先级数据块打散处理,缓解垃圾回收压力,稳定写性能。
在本发明实施例中,还需要说明的是,若在第一优先级集中或者在第二优先级集中无法确定最低优先级的脏数据块,可为第一优先级集中的最低优先级加2后重新进行待回收的脏数据块的选择,或者是可为第二优先级集中的最低优先级加1后重新进行待回收的脏数据块的选择,从而保证垃圾回收的高效率。
本发明实施例还针对固态硬盘的垃圾回收方法提供了相应的实现装置,进一步使得所述方法更具有实用性。下面对本发明实施例提供的固态硬盘的垃圾回收装置进行介绍,下文描述的固态硬盘的垃圾回收装置与上文描述的固态硬盘的垃圾回收方法可相互对应参照。
参见图6,图6为本发明实施例提供的固态硬盘的垃圾回收装置在一种具体实施方式下的结构图,该装置可包括:
磨损次数随机化处理模块601,用于按照块逻辑编号随机化算法对固态硬盘中各脏数据块的磨损次数进行随机化处理。
优先级计算模块602,用于根据固态硬盘的平均磨损次数、各脏数据块的有效数据帧个数和随机化后的磨损次数计算各脏数据块的垃圾回收优先级。
优先级微调模块603,用于基于各脏数据块的有效数据帧个数将各数据块分为多个数据块集,并利用预设调整因子对每个数据块集中的各数据块的垃圾回收优先级值进行调整。
垃圾回收模块604,用于根据固态硬盘当前的空闲数据块总数与预设个数阈值之间的关系,从各数据块集中按照调整后的垃圾回收优先级进行垃圾回收。
可选的,在本实施例的一些实施方式中,所述优先级计算模块602具体用于根据优先级计算关系式计算各脏数据块的垃圾回收优先级,优先级计算关系式为:
P=(X/a)+(Y*abs(Y)/b)+c;
式中,P为垃圾回收优先级,X为当前脏数据块的有效数据帧个数,Y为所述当前脏数据块离散化后的磨损次数与所述平均磨损次数的差值,abs(Y)为Y的绝对值,a、b为化简后最简分数的分子分母,c为偏移量,M为一个物理数据块中包含的数据帧总个数,N为磨损均衡允许的最大偏差次数。
作为一种可选的实施方式,所述磨损次数随机化处理模块601还可为按照块逻辑编号随机化算法,在预设随机范围内对固态硬盘中各脏数据块的磨损次数进行随机化处理的模块;随机范围可为(PEavg-N,PEavg+N)。
在本实施例的另一些实施方式中,所述优先级微调模块603例如还可以包括:
分类子模块,用于若当前脏数据的有效数据帧个数值小于预设VDFC阈值,则将当前脏数据块分类至第一优先级集中;若当前脏数据的有效数据帧个数值不小于VDFC阈值,则将当前脏数据块分类至第二优先级集中;第一优先级集为第二优先级集的子集;
调整子模块,用于利用优先级微调公式对第一优先级集和第二优先级集中的各脏数据块的优先级进行调整,优先级微调公式为:
式中,P0为当前脏数据块调整后的优先级,P为当前脏数据块的垃圾回收优先级,%为取余运算符,X为当前脏数据块的有效数据帧个数。
可选的,在本发明实施例的另外一些实施方式中,所述垃圾回收模块604例如可包括:
第一回收子模块,用于若固态硬盘当前的空闲数据块总数不小于个数阈值,则从第二优先级集中选择优先级最小的脏数据块作为目标数据块进行回收;
第二回收子模块,用于若固态硬盘当前的空闲数据块总数小于个数阈值,则从第一优先级集中选择优先级最小的脏数据块作为目标数据块进行回收。
本发明实施例所述固态硬盘的垃圾回收装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例实现了在提高固态硬盘的空间利用率和兼顾磨损均衡的基础上,还可有效避免垃圾回收过程中出现冷数据搬移风暴,有利于提升固态硬盘的稳定性和可靠性,保证用户使用体验。
上文中提到的固态硬盘的垃圾回收装置是从功能模块的角度描述,进一步的,本申请还提供一种固态硬盘的垃圾回收设备,是从硬件角度描述。如图7所示,该装置包括存储器70,用于存储计算机程序;
处理器71,用于执行计算机程序时实现如上述实施例提到的固态硬盘的垃圾回收方法的步骤。
其中,处理器71可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器71可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器71也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器71可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器71还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器70可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器70还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器70至少用于存储以下计算机程序701,其中,该计算机程序被处理器71加载并执行之后,能够实现前述任一实施例公开的测试方法的相关步骤。另外,存储器70所存储的资源还可以包括操作系统702和数据703等,存储方式可以是短暂存储或者永久存储。其中,操作系统702可以包括Windows、Unix、Linux等。数据703可以包括但不限于测试结果对应的数据等。
在一些实施例中,固态硬盘的垃圾回收设备还可包括有显示屏72、输入输出接口73、通信接口74、电源75、通信总线76以及传感器77。
本领域技术人员可以理解,图7中示出的结构并不构成对固态硬盘的垃圾回收设备的限定,可以包括比图示更多或更少的组件。
本发明实施例所述固态硬盘的垃圾回收设备的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例在提高固态硬盘的空间利用率和兼顾磨损均衡的基础上,还可有效避免垃圾回收过程中出现冷数据搬移风暴,有利于提升固态硬盘的稳定性和可靠性,保证用户使用体验。
为了使本领域技术人员更加清楚明白本申请提供技术方案,基于上述本发明实施例的各个实施例,下面结合图8对本发明实施例的技术方案涉及的一些可能的应用场景进行举例介绍,图8为本发明实施例提供的一个示意性例子的框架结构图,可包括:
如图8所示,固态硬盘通过PCIe接口连接在主机上。固态硬盘包括前端、后端和Nand,前端可具体包括SSD系统启动控制单元、IO命令处理单元、Admin命令处理单元和PCIe链路管理单元;后端可具体包括磨损均衡、垃圾回收管理单元、L2P表管理单元、上下电管理单元、Nand控制单元和Nand操作接口单元。
其中,SSD系统启动控制单元用于系统启动的前期固件的加载;IO命令处理单元用于处理主机下发IO读、写命令;Admin命令处理单元用于处理主机下发格式化、获取smart信息等Admin命令;PCIe链路管理单元用于主机端和固态硬盘端的PCIe链路的建立、链路协商、链路断开等链路相关事项。磨损均衡、垃圾回收管理单元用于固态硬盘内部物理块的管理,各物理块的磨损均衡,垃圾回收工作,也即本申请实现如上述实施例提到的固态硬盘的垃圾回收方法的计算机程序可存储在该模块中,相当于上述设备实施例中的处理器;L2P表管理单元用于管理逻辑地址和物理地址的映射、trim表;上下电管理单元用于下电元数据保存和上电元数据的恢复;Nand控制单元用于Nand的读写转发和根据Nand特性对Nand的维护;Nand操作接口单元用于直接操作Nand,包含读、写、擦;Nandflash为固态硬盘的存储介质。
固态硬盘插入主机,上电完成后,SSD系统启动控制单元通过加载固件完成固态硬盘的启动;PCIe链路管理单元建立二者数据链路;IO命令处理单元实时处理主机发送的用户数据读写请求,当其检测到主机下发大数据写请求后,通过PCIe链路管理单元建立数据传输链路,并检测当前Nand中是否有足够空闲数据块来存储待写入数据,若是检测没有足够空闲数据块,则利用磨损均衡、垃圾回收管理单元调用其内存储的计算机程序对固态硬盘进行垃圾回收直至有足够空闲数据块可容纳待写入数据;然后通过PCIe链路管理单元建立的链路,基于Nand控制单元和Nand操作接口单元将待写入数据写入至Nand中。在固态硬盘空闲状态中,也即没有接收到用户读写请求,固态硬盘可实时或定时利用磨损均衡、垃圾回收管理单元执行计算机程序时实现如上述实施例提到的固态硬盘的垃圾回收方法的步骤,以保证固态硬盘空闲块数量可及时响应主机请求,保证用户的读写效率。为了保证固态硬盘的数据响应效率,在固态硬盘执行读写请求时,可不对其进行垃圾回收处理。
需要注意的是,上述应用场景仅是为了便于理解本申请的思想和原理而示出,本申请的实施方式在此方面不受任何限制。相反,本申请的实施方式可以应用于适用的任何场景。
由上可知,本发明实施例在提高固态硬盘的空间利用率和兼顾磨损均衡的基础上,还可有效避免垃圾回收过程中出现冷数据搬移风暴,有利于提升固态硬盘的稳定性和可靠性,保证用户使用体验。
可以理解的是,如果上述实施例中的固态硬盘的垃圾回收方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、磁碟或者光盘等各种可以存储程序代码的介质。
基于此,本发明实施例还提供了一种计算机可读存储介质,存储有固态硬盘的垃圾回收程序,所述固态硬盘的垃圾回收程序被处理器执行时如上任意一实施例所述固态硬盘的垃圾回收方法的步骤。该存储介质可以为U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例所述计算机可读存储介质的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例实现了在提高固态硬盘的空间利用率和兼顾磨损均衡的基础上,避免垃圾回收过程中发送冷数据搬移风暴的现象,还可有效提升固态硬盘性能和用户使用体验。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上对本申请所提供的一种固态硬盘的垃圾回收方法、装置、设备及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
Claims (7)
1.一种固态硬盘的垃圾回收方法,其特征在于,包括:
按照块逻辑编号随机化算法对固态硬盘中各脏数据块的磨损次数进行随机化处理;
根据所述固态硬盘的平均磨损次数、各脏数据块的有效数据帧个数和随机化后的磨损次数计算各脏数据块的垃圾回收优先级;
基于各脏数据块的有效数据帧个数将各数据块分为多个数据块集,并利用预设调整因子对各数据块集中的脏数据块的垃圾回收优先级值进行调整;
根据所述固态硬盘当前的空闲数据块总数与预设个数阈值之间的关系,从各数据块集中按照调整后的垃圾回收优先级进行垃圾回收;
其中,所述根据所述固态硬盘的平均磨损次数、各脏数据块的有效数据帧个数和随机化后的磨损次数计算各脏数据块的垃圾回收优先级包括:
根据优先级计算关系式计算各脏数据块的垃圾回收优先级,所述优先级计算关系式为:
P=(X/a)+(Y*abs(Y)/b)+c;
其中,a/b=M/N 2;c=b*N 2;
式中,P为垃圾回收优先级,X为当前脏数据块的有效数据帧个数,Y为所述当前脏数据块离散化后的磨损次数与所述平均磨损次数的差值,abs(Y)为Y的绝对值,a、b为M/N 2化简后最简分数的分子分母,c为偏移量,M为一个物理数据块中包含的数据帧总个数,N为磨损均衡允许的最大偏差次数;
其中,所述基于各脏数据块的有效数据帧个数将各数据块分为多个数据块集,并利用预设调整因子对每个数据块集中的各数据块的垃圾回收优先级值进行调整包括:
若当前脏数据的有效数据帧个数值小于预设VDFC阈值,则将所述当前脏数据块分类至第一优先级集中;若当前脏数据的有效数据帧个数值不小于所述VDFC阈值,则将所述当前脏数据块分类至第二优先级集中;所述第一优先级集为所述第二优先级集的子集;利用优先级微调公式对所述第一优先级集和所述第二优先级集中的各脏数据块的优先级进行调整,所述优先级微调公式为:
式中,P 0为当前脏数据块调整后的优先级,P为所述当前脏数据块的垃圾回收优先级,%为取余运算符,X为所述当前脏数据块的有效数据帧个数;
其中,所述根据所述固态硬盘当前的空闲数据块总数与预设个数阈值之间的关系,从各数据块集中按照调整后的垃圾回收优先级进行垃圾回收包括:
若所述固态硬盘当前的空闲数据块总数不小于所述个数阈值,则从所述第二优先级集中选择优先级最小的脏数据块作为目标数据块进行回收;若所述固态硬盘当前的空闲数据块总数小于所述个数阈值,则从所述第一优先级集中选择优先级最小的脏数据块作为目标数据块进行回收。
3.根据权利要求2所述的固态硬盘的垃圾回收方法,其特征在于,所述按照块逻辑编号随机化算法对固态硬盘中各脏数据块的磨损次数进行随机化处理为:
按照块逻辑编号随机化算法,在预设随机范围内对固态硬盘中各脏数据块的磨损次数进行随机化处理;随机范围为(PE avg -N,PE avg +N)。
5.一种固态硬盘的垃圾回收装置,其特征在于,包括:
磨损次数随机化处理模块,用于按照块逻辑编号随机化算法对固态硬盘中各脏数据块的磨损次数进行随机化处理;
优先级计算模块,用于根据所述固态硬盘的平均磨损次数、各脏数据块的有效数据帧个数和随机化后的磨损次数计算各脏数据块的垃圾回收优先级;
优先级微调模块,用于基于各脏数据块的有效数据帧个数将各数据块分为多个数据块集,并利用预设调整因子对每个数据块集中的各数据块的垃圾回收优先级值进行调整;
垃圾回收模块,用于根据所述固态硬盘当前的空闲数据块总数与预设个数阈值之间的关系,从各数据块集中按照调整后的垃圾回收优先级进行垃圾回收;
其中,所述优先级计算模块进一步用于:根据优先级计算关系式计算各脏数据块的垃圾回收优先级,所述优先级计算关系式为:
P=(X/a)+(Y*abs(Y)/b)+c;
其中,a/b=M/N 2;c=b*N 2;
式中,P为垃圾回收优先级,X为当前脏数据块的有效数据帧个数,Y为所述当前脏数据块离散化后的磨损次数与所述平均磨损次数的差值,abs(Y)为Y的绝对值,a、b为M/N 2化简后最简分数的分子分母,c为偏移量,M为一个物理数据块中包含的数据帧总个数,N为磨损均衡允许的最大偏差次数;
其中,所述优先级微调模块进一步用于:若当前脏数据的有效数据帧个数值小于预设VDFC阈值,则将所述当前脏数据块分类至第一优先级集中;若当前脏数据的有效数据帧个数值不小于所述VDFC阈值,则将所述当前脏数据块分类至第二优先级集中;所述第一优先级集为所述第二优先级集的子集;利用优先级微调公式对所述第一优先级集和所述第二优先级集中的各脏数据块的优先级进行调整,所述优先级微调公式为:
式中,P 0为当前脏数据块调整后的优先级,P为所述当前脏数据块的垃圾回收优先级,%为取余运算符,X为所述当前脏数据块的有效数据帧个数;
其中,所述垃圾回收模块进一步用于:若所述固态硬盘当前的空闲数据块总数不小于所述个数阈值,则从所述第二优先级集中选择优先级最小的脏数据块作为目标数据块进行回收;若所述固态硬盘当前的空闲数据块总数小于所述个数阈值,则从所述第一优先级集中选择优先级最小的脏数据块作为目标数据块进行回收。
6.一种固态硬盘的垃圾回收设备,其特征在于,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1至4任一项所述固态硬盘的垃圾回收方法的步骤。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有固态硬盘的垃圾回收程序,所述固态硬盘的垃圾回收程序被处理器执行时实现如权利要求1至4任一项所述固态硬盘的垃圾回收方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911284438.6A CN111090398B (zh) | 2019-12-13 | 2019-12-13 | 固态硬盘的垃圾回收方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911284438.6A CN111090398B (zh) | 2019-12-13 | 2019-12-13 | 固态硬盘的垃圾回收方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111090398A CN111090398A (zh) | 2020-05-01 |
CN111090398B true CN111090398B (zh) | 2022-06-17 |
Family
ID=70396087
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911284438.6A Active CN111090398B (zh) | 2019-12-13 | 2019-12-13 | 固态硬盘的垃圾回收方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111090398B (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111813343B (zh) * | 2020-07-16 | 2022-07-08 | 济南浪潮数据技术有限公司 | 一种固态硬盘垃圾回收方法、系统及相关组件 |
CN113311992B (zh) * | 2020-08-31 | 2024-01-23 | 阿里巴巴集团控股有限公司 | 固态硬盘预留空间的动态调整方法及装置 |
CN112445429B (zh) * | 2020-10-30 | 2022-08-05 | 至誉科技(武汉)有限公司 | 固态硬盘物理块的管理方法及系统 |
CN112463038B (zh) * | 2020-11-13 | 2023-01-06 | 苏州浪潮智能科技有限公司 | 一种数据置无效的方法、系统、设备以及介质 |
CN112433676A (zh) * | 2020-11-24 | 2021-03-02 | 合肥康芯威存储技术有限公司 | 一种固态硬盘的垃圾回收处理方法及系统 |
CN112416255A (zh) * | 2020-11-30 | 2021-02-26 | 苏州浪潮智能科技有限公司 | 一种用户写入速度控制方法、装置、设备和介质 |
CN112486415A (zh) * | 2020-11-30 | 2021-03-12 | 北京泽石科技有限公司 | 存储装置的垃圾回收方法及装置 |
CN112506725B (zh) * | 2020-12-04 | 2023-01-06 | 苏州浪潮智能科技有限公司 | 一种返修固态硬盘等级判定方法、装置、设备及可读介质 |
CN113626346B (zh) * | 2021-06-30 | 2023-07-14 | 苏州浪潮智能科技有限公司 | 一种固态硬盘的数据保护方法、装置、设备及介质 |
CN113641304B (zh) * | 2021-07-05 | 2023-10-20 | 深圳市宏旺微电子有限公司 | 用于管理数据块的方法、装置、终端设备及存储介质 |
CN113778821A (zh) * | 2021-07-30 | 2021-12-10 | 联芸科技(杭州)有限公司 | 固态硬盘的介质访问管理方法及固态硬盘 |
CN113608702A (zh) * | 2021-08-18 | 2021-11-05 | 合肥大唐存储科技有限公司 | 一种实现数据处理的方法、装置、计算机存储介质及终端 |
CN113986118A (zh) * | 2021-09-28 | 2022-01-28 | 新华三大数据技术有限公司 | 一种数据处理方法及装置 |
CN113590050B (zh) * | 2021-09-29 | 2021-12-31 | 苏州浪潮智能科技有限公司 | 随机写性能调节的方法、装置、电子设备及存储介质 |
CN113867651B (zh) * | 2021-12-03 | 2022-02-25 | 武汉深之度科技有限公司 | 一种硬盘数据清理方法、装置及计算设备 |
CN114168082B (zh) * | 2021-12-10 | 2023-07-04 | 深圳忆联信息系统有限公司 | 避免ssd空闲块耗尽的方法、装置、计算机设备及存储介质 |
CN114528233B (zh) * | 2022-01-21 | 2023-07-25 | 苏州浪潮智能科技有限公司 | 一种固态硬盘的io写仲裁控制的方法、装置、设备及介质 |
CN115599308B (zh) * | 2022-11-28 | 2023-03-21 | 苏州浪潮智能科技有限公司 | 固态硬盘的垃圾回收方法、装置、电子设备及存储介质 |
CN116909495B (zh) * | 2023-09-14 | 2023-12-15 | 合肥康芯威存储技术有限公司 | 一种存储装置及其控制方法 |
CN117435517B (zh) * | 2023-12-19 | 2024-04-05 | 合肥康芯威存储技术有限公司 | 一种存储器件及其数据处理方法 |
CN117453147B (zh) * | 2023-12-22 | 2024-04-02 | 合肥联宝信息技术有限公司 | 固态硬盘垃圾回收方法、装置及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106681935A (zh) * | 2016-12-29 | 2017-05-17 | 郑州云海信息技术有限公司 | 一种固态硬盘垃圾回收方法 |
CN108681435A (zh) * | 2018-05-25 | 2018-10-19 | 郑州云海信息技术有限公司 | 一种固态硬盘的磨损均衡方法、装置、设备及存储介质 |
CN109254927A (zh) * | 2018-08-30 | 2019-01-22 | 浪潮电子信息产业股份有限公司 | 一种固态硬盘磨损均衡的实现方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8166233B2 (en) * | 2009-07-24 | 2012-04-24 | Lsi Corporation | Garbage collection for solid state disks |
US10409526B2 (en) * | 2014-12-17 | 2019-09-10 | Violin Systems Llc | Adaptive garbage collection |
US10635581B2 (en) * | 2017-01-20 | 2020-04-28 | Seagate Technology Llc | Hybrid drive garbage collection |
-
2019
- 2019-12-13 CN CN201911284438.6A patent/CN111090398B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106681935A (zh) * | 2016-12-29 | 2017-05-17 | 郑州云海信息技术有限公司 | 一种固态硬盘垃圾回收方法 |
CN108681435A (zh) * | 2018-05-25 | 2018-10-19 | 郑州云海信息技术有限公司 | 一种固态硬盘的磨损均衡方法、装置、设备及存储介质 |
CN109254927A (zh) * | 2018-08-30 | 2019-01-22 | 浪潮电子信息产业股份有限公司 | 一种固态硬盘磨损均衡的实现方法 |
Non-Patent Citations (3)
Title |
---|
Efficient garbage collection policy and block management method for NAND flash memory;Kee-Hoon Jang等;《2010 2nd International Conference on Mechanical and Electronics Engineering》;20100826;第327-331页 * |
全程优化的固态硬盘垃圾回收方法;方才华等;《计算机应用》;20170531(第05期);第1257-1262、1281页 * |
闪存磨损均衡算法综述;黄德才等;《浙江工业大学学报》;20090228(第01期);第73-78页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111090398A (zh) | 2020-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111090398B (zh) | 固态硬盘的垃圾回收方法、装置、设备及可读存储介质 | |
CN111124305B (zh) | 固态硬盘磨损均衡方法、装置及计算机可读存储介质 | |
US11704239B2 (en) | Garbage collection method for storage medium, storage medium, and program product | |
CN102629258B (zh) | 重复数据删除方法和装置 | |
US8392649B2 (en) | Memory storage device, controller, and method for responding to host write commands triggering data movement | |
US10409525B2 (en) | Memory management method, memory control circuit unit and memory storage device | |
CN109753443B (zh) | 一种数据处理方法、装置及电子设备 | |
US20120317337A1 (en) | Managing data placement on flash-based storage by use | |
CN102880556A (zh) | 一种实现Nand Flash磨损均衡的方法及其系统 | |
CN103473150A (zh) | 一种用于数据去重系统中的碎片重写方法 | |
CN101640069B (zh) | 用于闪速存储器的平均磨损方法与平均磨损系统 | |
US9424177B2 (en) | Clock switching method, memory controller and memory storage apparatus | |
CN110673789B (zh) | 固态硬盘的元数据存储管理方法、装置、设备及存储介质 | |
TW201732821A (zh) | 資料傳輸方法、記憶體控制電路單元與記憶體儲存裝置 | |
US9946476B2 (en) | Memory management method, memory control circuit unit and memory storage apparatus | |
TW201703048A (zh) | 記憶體管理方法、記憶體控制電路單元以及記憶體儲存裝置 | |
CN109508142A (zh) | 数据存储装置及其操作方法 | |
WO2022017148A1 (zh) | 文件系统管理方法、电子设备及存储介质 | |
CN105224238B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
CN108762989B (zh) | 固态硬盘的数据存储方法、装置、设备及可读存储介质 | |
TWI517165B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN114968839A (zh) | 硬盘垃圾回收方法、装置、设备及计算机可读存储介质 | |
CN102486757B (zh) | 存储器储存装置及其存储器控制器与回应主机指令的方法 | |
CN115509454A (zh) | 一种固态硬盘数据的写入方法、装置、电子设备以及介质 | |
CN106933499A (zh) | 一种提高mlc闪存系统性能的方法和装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |