CN112486415A - 存储装置的垃圾回收方法及装置 - Google Patents
存储装置的垃圾回收方法及装置 Download PDFInfo
- Publication number
- CN112486415A CN112486415A CN202011376808.1A CN202011376808A CN112486415A CN 112486415 A CN112486415 A CN 112486415A CN 202011376808 A CN202011376808 A CN 202011376808A CN 112486415 A CN112486415 A CN 112486415A
- Authority
- CN
- China
- Prior art keywords
- recovery
- data
- attribute parameters
- weight
- data block
- 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.)
- Granted
Links
- 238000004064 recycling Methods 0.000 title claims abstract description 50
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000011084 recovery Methods 0.000 claims abstract description 101
- 230000007246 mechanism Effects 0.000 claims abstract description 26
- 238000010801 machine learning Methods 0.000 claims description 28
- 238000012549 training Methods 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 11
- 238000012795 verification Methods 0.000 claims description 10
- 230000014759 maintenance of location Effects 0.000 claims description 8
- 230000001960 triggered effect Effects 0.000 claims description 6
- 230000000694 effects Effects 0.000 abstract description 16
- 238000002790 cross-validation Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 238000010200 validation analysis Methods 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000035939 shock Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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/0604—Improving or facilitating administration, e.g. storage management
-
- 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
-
- 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
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- 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/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
Abstract
本发明公开了一种存储装置的垃圾回收方法及装置。其中,该方法包括:获取存储装置的数据块的多个属性参数;为多个属性参数添加权重,其中,每个属性参数均对应有权重;根据多个属性参数以及对应的权重,确定数据块的回收值;在回收值达到预设回收阈值的情况下,通过回收机制对数据块进行回收。本发明解决了现有技术中的存储装置的垃圾回收方法,通过设置较低的空闲空间阈值,作为触发回收机制的条件,导致使用后期垃圾回收的频率越来越高,导致回收效果差,严重影响存储性能的技术问题。
Description
技术领域
本发明涉及数据存储领域,具体而言,涉及一种存储装置的垃圾回收方法及装置。
背景技术
近年来,随着固态硬盘SSD(Solid State Disk,SSD)设计技术的不断进步,相比传统的机械硬盘,SSD显示出具有读写速度快、功耗低、体积小、防震抗摔、便于携带等方面的优势,它已经在许多领域开始替代传统机械硬盘。
闪存具有几大特性:1)按页(page)读写、按块(block)擦除,提供读、写和擦除3种操作;页是读/写的最小单位;块是擦除的最小单位。2)闪存擦除后只能写一次,即所谓的写前擦除,这造成闪存不能原地更新,否则会带来巨大的开销。3)闪存每个存储单元的编程/擦除(P/E)次数有限,超过擦除次数后该存储单元存储数据不再可靠。4)Read Disturb,同一个block上page读,自己没事,导致其他没有被读的page数据出错,为了消除readdisturb,记录每个Block读的次数,当这个数值达到阈值(闪存厂家提供)之前,把block上所有的数据刷新一遍(读出来,擦除,然后在写回),或者把数据搬到别的地方5)DataRetention在固态硬盘不忙的时候,按照一定的算法,扫描全盘,如果发现某个闪存页翻转比特数量超过一定阈值,就重写数据到新的地方。这样做的好处是避免数据放太久,导致比特翻转数量超过ECC算法的纠错能力,从而能减少ECC不可纠错误。隐藏闪存上述特性,使得这些不方便的特性对用户而言透明,垃圾回收负责将回收块中的有效数据复制到新的物理块中,将回收块擦除后重新利用;SSD使用过程中会产生碎片页,需要通过垃圾回收的方式回收失效页。然而垃圾回收机制会降低SSD的性能,同时缩减SSD的寿命。特别是SSD快写满时会频繁触发垃圾回收机制GC,严重降低SSD的性能。目前的GC机制通过设置较低的空闲空间阈值作为触发条件,这会导致使用后期垃圾回收的频繁触发,严重影响性能。
现有技术GC块的选源算法比较固定。带来的结果就是写放大,会损耗大量的盘的寿命,降低盘的性能。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种存储装置的垃圾回收方法及装置,以至少解决现有技术中的存储装置的垃圾回收方法,通过设置较低的空闲空间阈值,作为触发回收机制的条件,导致使用后期垃圾回收的频率越来越高,导致回收效果差,严重影响存储性能的技术问题。
根据本发明实施例的一个方面,提供了一种存储装置的垃圾回收方法,包括:获取存储装置的数据块的多个属性参数;为所述多个属性参数添加权重,其中,每个属性参数均对应有权重;根据所述多个属性参数以及对应的权重,确定所述数据块的回收值;在所述回收值达到预设回收阈值的情况下,通过回收机制对所述数据块进行回收。
可选的,所述属性参数包括下列至少之一:擦除次数,擦除次数与平均擦除次数的差,有效页数量,读取干扰值,写入数据之后的保持时间。
可选的,为所述多个属性参数添加权重之前,包括:通过机器学习算法确定每个所述属性参数的权重。
可选的,通过机器学习算法确定每个所述属性参数的权重包括:通过数据块的历史回收数据,确定在回收机制触发时,多个属性参数的可用权重范围;通过机器学习算法对多种权重组合进行处理,输出所述权重组合下的数据收敛程度,其中,所述权重组合包括多个属性参数的可用权重,所述可用权重为对应的属性参数在所述可用权重范围内的数值;根据符合预设收敛程度的权重组合,确定每个所述属性参数的所述权重。
可选的,通过机器学习算法对多种权重组合进行处理,输出所述权重组合下的数据收敛程度之前,还包括:确定所述机器学习算法;通过所述历史回收数据选取多组不同的训练数据和验证数据,对所述机器学习算法进行训练和交叉验证;选取验证数据中验证结果最好的超参数,作为所述机器学习算法的超参数。
可选的,在所述回收值达到预设回收阈值的情况下,通过回收机制对所述数据块进行回收包括:触发垃圾回收算法;通过垃圾回收算法对所述数据块进行垃圾回收处理。
可选的,根据所述多个属性参数以及对应的权重,确定所述数据块的回收值包括:确定每个属性参数的平方根;将多个属性参数的所述平方根和对应的权重的乘积进行求和,确定所述回收值。
可选的,还包括:在所述回收值未达到预设回收阈值的情况下,在预定时间对所述数据块的回收值进行再次确定。
根据本发明实施例的另一方面,还提供了一种存储装置的垃圾回收装置,包括:获取模块,用于获取存储装置的数据块的多个属性参数;加权模块,用于为所述多个属性参数添加权重,其中,每个属性参数的均对应有权重;确定模块,用于根据所述多个属性参数以及对应的权重,确定所述数据块的回收值;回收模块,用于在所述回收值达到预设回收阈值的情况下,通过回收机制对所述数据块进行回收。
根据本发明实施例的另一方面,还提供了一种计算机存储介质,所述计算机存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机存储介质所在设备执行上述中任意一项所述的存储装置的垃圾回收方法。
根据本发明实施例的另一方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述中任意一项所述的存储装置的垃圾回收方法。
在本发明实施例中,采用获取存储装置的数据块的多个属性参数;为多个属性参数添加权重,其中,每个属性参数均对应有权重;根据多个属性参数以及对应的权重,确定数据块的回收值;在回收值达到预设回收阈值的情况下,通过回收机制对数据块进行回收的方式,通过对数据块的多个属性参数,并添加权重,确定数据块的回收值,在回收值达到预设回收阈值的情况下,对数据块进行回收,达到了从数据块的多个属性参数,确定回收的触发条件,对数据块有效回收的目的,从而实现了提高数据块的回收效果,降低回收对数据块的后续使用性能的影响的技术效果,进而解决了现有技术中的存储装置的垃圾回收方法,通过设置较低的空闲空间阈值,作为触发回收机制的条件,导致使用后期垃圾回收的频率越来越高,导致回收效果差,严重影响存储性能的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种存储装置的垃圾回收方法的流程图;
图2是根据本发明实施方式的交叉验证时验证数据和训练数据的示意图;
图3是根据本发明实施方式的一种权重下的数据分布的示意图;
图4是根据本发明实施方式的另一种权重下的数据分布的示意图;
图5是根据本发明实施例的一种存储装置的垃圾回收装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种存储装置的垃圾回收方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种存储装置的垃圾回收方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,获取存储装置的数据块的多个属性参数;
步骤S104,为多个属性参数添加权重,其中,每个属性参数均对应有权重;
步骤S106,根据多个属性参数以及对应的权重,确定数据块的回收值;
步骤S108,在回收值达到预设回收阈值的情况下,通过回收机制对数据块进行回收。
通过上述步骤,采用获取存储装置的数据块的多个属性参数;为多个属性参数添加权重,其中,每个属性参数均对应有权重;根据多个属性参数以及对应的权重,确定数据块的回收值;在回收值达到预设回收阈值的情况下,通过回收机制对数据块进行回收的方式,通过对数据块的多个属性参数,并添加权重,确定数据块的回收值,在回收值达到预设回收阈值的情况下,对数据块进行回收,达到了从数据块的多个属性参数,确定回收的触发条件,对数据块有效回收的目的,从而实现了提高数据块的回收效果,降低回收对数据块的后续使用性能的影响的技术效果,进而解决了现有技术中的存储装置的垃圾回收方法,通过设置较低的空闲空间阈值,作为触发回收机制的条件,导致使用后期垃圾回收的频率越来越高,导致回收效果差,严重影响存储性能的技术问题。
上述存储装置可以为固态存储装置,可以为闪存。
上述数据块可以为存储设备上进行存储的数据块,在回收时以数据块为单位对存储设备进行垃圾回收。对数据块的操作有三种,包括读、写和擦除操作,读写时按页(page)读写,擦除时按块(block)擦除。
可选的,属性参数包括下列至少之一:擦除次数,擦除次数与平均擦除次数的差,有效页数量,读取干扰值,写入数据之后的保持时间。
本实施例中选取四个属性参数,分别为擦除次数与平均擦除次数的差,有效页数量,读取干扰值,写入数据之后的保持时间。上述擦除次数为当前的数据块的擦除次数,上述平均擦除次数可以为存储设备的所有数据块的平均擦除次数,或者历史回收操作触发时的数据块的平均擦除次数。通过多个属性参数从多个角度考虑存储数据快回收的触发条件,使得对数据块有效回收,实现提高数据块的回收效果,降低回收对数据块的后续使用性能。
上述为属性参数添加权重,考虑不同的属性参数对回收触发的影响不同,可以在多个属性参数之间添加权重,以使属性参数对回收触发的影响更急合理,从而提高回收效果。
可选的,根据多个属性参数以及对应的权重,确定数据块的回收值包括:确定每个属性参数的平方根;将多个属性参数的平方根和对应的权重的乘积进行求和,确定回收值。
例如,回收值T=Af(x1)+Bf(x2)+Cf(x3)+Df(x4),其中,f(x1)为当前选取的块与avg erase Cnt平均擦除次数的差值的平方根,A为f(x1)的权重值,f(x2)为当前选取块的Valid page Cnt有效页数量的值的平方根,B为f(x2)的权重值,f(x3)为当前选取块的readDisturb读取干扰值的平方根,C为f(x3)的权重值,f(x4)为当前选取块的写入数据之后的保持时间的值的平方根,D为f(x4)的权重值。从而确定回收值,根据回收值确定是否触发数据块的垃圾回收。
在回收值达到预设回收阈值的情况下,通过回收机制对数据块进行回收。通过对数据块的多个属性参数,并添加权重,确定数据块的回收值,在回收值达到预设回收阈值的情况下,对数据块进行回收,达到了从数据块的多个属性参数,确定回收的触发条件,对数据块有效回收的目的,从而实现了提高数据块的回收效果,降低回收对数据块的后续使用性能的影响的技术效果,进而解决了现有技术中的存储装置的垃圾回收方法,通过设置较低的空闲空间阈值,作为触发回收机制的条件,导致使用后期垃圾回收的频率越来越高,导致回收效果差,严重影响存储性能的技术问题。
可选的,为多个属性参数添加权重之前,包括:通过机器学习算法确定每个属性参数的权重。
具体的,通过机器学习算法确定每个属性参数的权重包括:通过数据块的历史回收数据,确定在回收机制触发时,多个属性参数的可用权重范围;通过机器学习算法对多种权重组合进行处理,输出权重组合下的数据收敛程度,其中,权重组合包括多个属性参数的可用权重,可用权重为对应的属性参数在可用权重范围内的数值;根据符合预设收敛程度的权重组合,确定每个属性参数的权重。
可选的,通过机器学习算法对多种权重组合进行处理,输出权重组合下的数据收敛程度之前,还包括:确定机器学习算法;通过历史回收数据选取多组不同的训练数据和验证数据,对机器学习算法进行训练和交叉验证;选取验证数据中验证结果最好的超参数,作为机器学习算法的超参数。
本实施例中的上述机器学习算法可以为KNN算法,KNN算法的时间复杂度为O(D*N*N)。其中D为维度数,N为样本总数。参数一般分为模型参数和超级参数。模型参数是需要通过不断的调整模型和超参数训练得到的最佳参数。而超参数则可以是人为手动设定的值,上述维度数D为超参数。通过交叉验证选择合适的D的值。交叉验证指的是将训练数据集进一步分成训练数据和验证数据,选择在验证数据里面最好的超参数组合。交叉验证其实就是调参。像在KNN中超参数就是D的值。可以通过交叉验证的方式,选择一组最好的D值作为模型最终的D值。从而使得KNN算法更加合理和准确,从而提高了多个属性参数的权重的准确性。
可选的,在回收值达到预设回收阈值的情况下,通过回收机制对数据块进行回收包括:触发垃圾回收算法;通过垃圾回收算法对数据块进行垃圾回收处理。
上述垃圾回收算法可以为GC算法。在触发垃圾回收算法后,通过GC算法对上述数据块进行垃圾回收处理。
可选的,还包括:在回收值未达到预设回收阈值的情况下,在预定时间对数据块的回收值进行再次确定。
需要说明的是,本申请实施例还提供了一种可选的实施方式,下面对该实施方式进行详细说明。
一次完整的垃圾回收GC(Garbage Collection)操作包括三个步骤:1、选择需要回收的失效目标块;2、迁移目标块中的数据到其他块中;3、擦除目标块。为了提升盘后期性能,最大程度降低gc对性能的影响,优化gc的触发条件尤为重要。
本实施方式提供了一种基于机器学习的固态存储垃圾回收算法效率优化方法,提高GC垃圾回收的效率,提高满盘状态下的盘的性能,减少盘的寿命的损失。
通过机器学习,分析训练数据,找到对应的最佳权重,T=Af(x1)+Bf(x2)+Cf(x3)+Df(x4)。
其中的A,B,C,D通过机器学习KNN强化训练得到的权重值,针对toshibaTH58TF71V23BA8H Nand颗粒,擦除次数Erase Cnt以10为一个step,有效页数量Valid PageCnt以32为一个step,读取干扰值Read Disturb以10k为一个step,具体如表1所示,表1是各项属性参数的权重对应表。
表1各项属性参数的权重对应表
f(x1)为当前选取的块与avg erase Cnt平均擦除次数的差值的平方根。A为权重值,这个值需要通过机器学习训练得到。对于回收块和平均Erase Cnt的差值,是一个范围,当范围约束过于严苛,会导致数据块因为触发Erase Cnt的条件而进入回收,因此会影响回收的效率;当范围过于宽泛,又会导致块损耗不均衡,个别数据块过损耗而成为坏块。
f(x2)为当前选取块的Valid page Cnt有效页数量的值的平方根。B为权重值,这个值需要通过机器学习训练得到。Valid page Cnt对于垃圾回收非常重要,逻辑块中有效页越少回收效率越高,但是,需要均衡Valid page Cnt触发的回收,以及erase cnt和readDisturb以及Retention触发回收之间的权重比,这会影响整个回收算法的效率和写入性能。
f(x3)为当前选取块的readDisturb读取干扰值的平方根。C为权重值,这个值需要通过机器学习训练得到。readDisturb的值是由当前数据块的读次数和Erase Cnt决定,这是通过不断的NAND测试实验得到的一个数据库,最终拟合而成得一组算法结果。
f(x4)为当前选取块的时间的值的平方根。D为权重值,这个值需要通过机器学习训练得到。Retention的值主要是由数据写入之后的保持时间和Erase Cnt以及环境温度决定,目前的拟合值是通过海量NAND测试的结果获得。
KNN算法的时间复杂度为O(D*N*N)。其中D为维度数,N为样本总数。从时间复杂度上可以很清楚的就知道KNN非常不适合高维度的数据集,容易发生维度爆炸的情况。同时也发现了一个问题在关于D的选择上面。图2是根据本发明实施方式的交叉验证时验证数据和训练数据的示意图,如图2所示,通过交叉验证选择合适的K的值。交叉验证指的是将训练数据集进一步分成训练数据和验证数据,选择在验证数据里面最好的超参数组合。交叉验证其实就是调参。参数一般分为模型参数和超级参数。模型参数是需要通过不断的调整模型和超参数训练得到的最佳参数。而超参数则是人为手动设定的值。像在KNN中超参数就是K的值。可以通过交叉验证的方式,选择一组最好的K值作为模型最终的K值。
通过设置不同的ABCD权重值,训练数据并制作绘点查看点的分布图。
图3是根据本发明实施方式的一种权重下的数据分布的示意图,如图3所示,当A=a1,B=b1 C=c1 D=d1的时候,数据分布较为分散,收敛度较小;图4是根据本发明实施方式的另一种权重下的数据分布的示意图,如图4所示,当A=a2,B=b2,C=c2,D=d2的时候,数据分布较为集中,收敛度高,最终通过大量的训练模型,找出最佳的权重值和阈值T。
本实施方式能够把nand特性更好的融合,GC的时候可以综合几种特性考虑GC源块。
图5是根据本发明实施例的一种存储装置的垃圾回收装置的示意图,如图5所示,根据本发明实施例的另一方面,还提供了一种存储装置的垃圾回收装置,包括:获取模块52,加权模块54,确定模块56和回收模块58,下面对该装置进行详细说明。
获取模块52,用于获取存储装置的数据块的多个属性参数;加权模块54,用于为多个属性参数添加权重,其中,每个属性参数的均对应有权重;确定模块56,用于根据多个属性参数以及对应的权重,确定数据块的回收值;回收模块58,用于在回收值达到预设回收阈值的情况下,通过回收机制对数据块进行回收。
通过上述装置,采用获取模块52获取存储装置的数据块的多个属性参数;加权模块54为多个属性参数添加权重,其中,每个属性参数均对应有权重;确定模块56根据多个属性参数以及对应的权重,确定数据块的回收值;回收模块58在回收值达到预设回收阈值的情况下,通过回收机制对数据块进行回收的方式,通过对数据块的多个属性参数,并添加权重,确定数据块的回收值,在回收值达到预设回收阈值的情况下,对数据块进行回收,达到了从数据块的多个属性参数,确定回收的触发条件,对数据块有效回收的目的,从而实现了提高数据块的回收效果,降低回收对数据块的后续使用性能的影响的技术效果,进而解决了现有技术中的存储装置的垃圾回收方法,通过设置较低的空闲空间阈值,作为触发回收机制的条件,导致使用后期垃圾回收的频率越来越高,导致回收效果差,严重影响存储性能的技术问题。
根据本发明实施例的另一方面,还提供了一种计算机存储介质,计算机存储介质包括存储的程序,其中,在程序运行时控制计算机存储介质所在设备执行上述中任意一项的存储装置的垃圾回收方法。
根据本发明实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述中任意一项的存储装置的垃圾回收方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种存储装置的垃圾回收方法,其特征在于,包括:
获取存储装置的数据块的多个属性参数;
为所述多个属性参数添加权重,其中,每个属性参数均对应有权重;
根据所述多个属性参数以及对应的权重,确定所述数据块的回收值;
在所述回收值达到预设回收阈值的情况下,通过回收机制对所述数据块进行回收。
2.根据权利要求1所述的方法,其特征在于,所述属性参数包括下列至少之一:擦除次数,擦除次数与平均擦除次数的差,有效页数量,读取干扰值,写入数据之后的保持时间。
3.根据权利要求1所述的方法,其特征在于,为所述多个属性参数添加权重之前,包括:
通过机器学习算法确定每个所述属性参数的权重。
4.根据权利要求3所述的方法,其特征在于,通过机器学习算法确定每个所述属性参数的权重包括:
通过所述数据块的历史回收数据,确定在回收机制触发时,多个属性参数的可用权重范围;
通过机器学习算法对多种权重组合进行处理,输出所述权重组合下的数据收敛程度,其中,所述权重组合包括多个属性参数的可用权重,所述可用权重为对应的属性参数在所述可用权重范围内的数值;
根据符合预设收敛程度的权重组合,确定每个所述属性参数的所述权重。
5.根据权利要求4所述的方法,其特征在于,通过机器学习算法对多种权重组合进行处理,输出所述权重组合下的数据收敛程度之前,还包括:
确定所述机器学习算法;
通过所述历史回收数据选取多组不同的训练数据和验证数据,对所述机器学习算法进行训练和交叉验证;
选取验证数据中验证结果最好的超参数,作为所述机器学习算法的超参数。
6.根据权利要求1所述的方法,其特征在于,在所述回收值达到预设回收阈值的情况下,通过回收机制对所述数据块进行回收包括:
触发垃圾回收算法;
通过垃圾回收算法对所述数据块进行垃圾回收处理。
7.根据权利要求1所述的方法,其特征在于,根据所述多个属性参数以及对应的权重,确定所述数据块的回收值包括:
确定每个属性参数的平方根;
将多个属性参数的所述平方根和对应的权重的乘积进行求和,确定所述回收值。
8.一种存储装置的垃圾回收装置,其特征在于,包括:
获取模块,用于获取存储装置的数据块的多个属性参数;
加权模块,用于为所述多个属性参数添加权重,其中,每个属性参数的均对应有权重;
确定模块,用于根据所述多个属性参数以及对应的权重,确定所述数据块的回收值;
回收模块,用于在所述回收值达到预设回收阈值的情况下,通过回收机制对所述数据块进行回收。
9.一种计算机存储介质,其特征在于,所述计算机存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机存储介质所在设备执行权利要求1至7中任意一项所述的存储装置的垃圾回收方法。
10.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至7中任意一项所述的存储装置的垃圾回收方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011376808.1A CN112486415B (zh) | 2020-11-30 | 2020-11-30 | 存储装置的垃圾回收方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011376808.1A CN112486415B (zh) | 2020-11-30 | 2020-11-30 | 存储装置的垃圾回收方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112486415A true CN112486415A (zh) | 2021-03-12 |
CN112486415B CN112486415B (zh) | 2024-05-24 |
Family
ID=74937713
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011376808.1A Active CN112486415B (zh) | 2020-11-30 | 2020-11-30 | 存储装置的垃圾回收方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112486415B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115599706A (zh) * | 2022-12-13 | 2023-01-13 | 合肥康芯威存储技术有限公司(Cn) | 一种数据存储设备的垃圾回收处理方法及数据存储设备 |
CN115904264A (zh) * | 2023-03-13 | 2023-04-04 | 浪潮电子信息产业股份有限公司 | 一种存储系统中块的垃圾数据回收方法、装置以及介质 |
CN117435517A (zh) * | 2023-12-19 | 2024-01-23 | 合肥康芯威存储技术有限公司 | 一种存储器件及其数据处理方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150370701A1 (en) * | 2014-06-19 | 2015-12-24 | Sandisk Enterprise Ip Llc | Sub-Block Garbage Collection |
WO2016187677A1 (en) * | 2015-05-28 | 2016-12-01 | Calo Holdings Pty Ltd | Detecting emptying of a refuse receptacle |
CN106775474A (zh) * | 2016-12-16 | 2017-05-31 | 郑州云海信息技术有限公司 | 一种Nand Flash磨损均衡方法、装置及存储器 |
CN107301132A (zh) * | 2017-06-09 | 2017-10-27 | 华中科技大学 | 一种闪存垃圾回收优化方法 |
CN109408410A (zh) * | 2018-11-13 | 2019-03-01 | 郑州云海信息技术有限公司 | 一种固态硬盘垃圾回收的仲裁方法、装置及存储介质 |
US20190114078A1 (en) * | 2017-10-18 | 2019-04-18 | Samsung Electronics Co., Ltd. | Storage device, computing system including storage device and operating method of storage device |
CN111090398A (zh) * | 2019-12-13 | 2020-05-01 | 北京浪潮数据技术有限公司 | 固态硬盘的垃圾回收方法、装置、设备及可读存储介质 |
-
2020
- 2020-11-30 CN CN202011376808.1A patent/CN112486415B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150370701A1 (en) * | 2014-06-19 | 2015-12-24 | Sandisk Enterprise Ip Llc | Sub-Block Garbage Collection |
WO2016187677A1 (en) * | 2015-05-28 | 2016-12-01 | Calo Holdings Pty Ltd | Detecting emptying of a refuse receptacle |
CN106775474A (zh) * | 2016-12-16 | 2017-05-31 | 郑州云海信息技术有限公司 | 一种Nand Flash磨损均衡方法、装置及存储器 |
CN107301132A (zh) * | 2017-06-09 | 2017-10-27 | 华中科技大学 | 一种闪存垃圾回收优化方法 |
US20190114078A1 (en) * | 2017-10-18 | 2019-04-18 | Samsung Electronics Co., Ltd. | Storage device, computing system including storage device and operating method of storage device |
CN109408410A (zh) * | 2018-11-13 | 2019-03-01 | 郑州云海信息技术有限公司 | 一种固态硬盘垃圾回收的仲裁方法、装置及存储介质 |
CN111090398A (zh) * | 2019-12-13 | 2020-05-01 | 北京浪潮数据技术有限公司 | 固态硬盘的垃圾回收方法、装置、设备及可读存储介质 |
Non-Patent Citations (1)
Title |
---|
QIWU LUO等: "Self-Learning Hot Data Prediction: Where Echo State Network Meets NAND Flash Memories", IEEE, 3 January 2020 (2020-01-03), pages 939 - 950, XP011774982, DOI: 10.1109/TCSI.2019.2960015 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115599706A (zh) * | 2022-12-13 | 2023-01-13 | 合肥康芯威存储技术有限公司(Cn) | 一种数据存储设备的垃圾回收处理方法及数据存储设备 |
CN115599706B (zh) * | 2022-12-13 | 2023-03-14 | 合肥康芯威存储技术有限公司 | 一种数据存储设备的垃圾回收处理方法及数据存储设备 |
CN115904264A (zh) * | 2023-03-13 | 2023-04-04 | 浪潮电子信息产业股份有限公司 | 一种存储系统中块的垃圾数据回收方法、装置以及介质 |
CN117435517A (zh) * | 2023-12-19 | 2024-01-23 | 合肥康芯威存储技术有限公司 | 一种存储器件及其数据处理方法 |
CN117435517B (zh) * | 2023-12-19 | 2024-04-05 | 合肥康芯威存储技术有限公司 | 一种存储器件及其数据处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112486415B (zh) | 2024-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112486415A (zh) | 存储装置的垃圾回收方法及装置 | |
US11392328B2 (en) | Dynamic background scan optimization in a memory sub-system | |
US7409623B2 (en) | System and method of reading non-volatile computer memory | |
CN101529526B (zh) | 用于估计和报告闪存盘存储器的预期寿命的方法 | |
CN101676882B (zh) | 存储器装置的内嵌映射信息 | |
US9275740B2 (en) | Method and apparatus for improving data integrity using threshold voltage recalibration | |
CN109599143B (zh) | 具有读阈值机制的存储系统及其操作方法 | |
CN103985415A (zh) | 基于保留漂移历史的非易失性存储器读取阈值最优化 | |
CN110444246A (zh) | 用于存储器系统的相邻辅助校正错误恢复及其方法 | |
WO2009053963A2 (en) | Methods for adaptively programming flash memory devices and flash memory systems incorporating same | |
CN107094370A (zh) | 固态硬盘控制器的0‑1平衡管理 | |
US10665309B2 (en) | Memory endurance measures based on an extrapolated function fit to metric points for a memory sub-system | |
US11443830B1 (en) | Error avoidance based on voltage distribution parameters of block families | |
US11960989B2 (en) | Read threshold estimation systems and methods using deep learning | |
Guo et al. | Flexlevel NAND flash storage system design to reduce LDPC latency | |
CN110689914B (zh) | 一种固态硬盘的读纠错方法、装置、设备及存储介质 | |
CN112347001B (zh) | 闪存垃圾回收的校验方法、装置及电子设备 | |
CN103295634B (zh) | 读取快闪存储器中所储存的数据的方法、存储器控制器与系统 | |
CN112802529A (zh) | 一种军工级Nand闪存的检测方法、装置、电子设备及存储介质 | |
CN114530178B (zh) | Nand芯片中写入块的读取方法、存储介质及设备 | |
US11705193B2 (en) | Error avoidance based on voltage distribution parameters | |
CN111767165B (zh) | 数据处理方法、装置及控制设备 | |
CN107861835B (zh) | 一种提升闪存编码率的方法及闪存 | |
TWI684106B (zh) | 訓練人工智慧更正儲存裝置的對數概度比的方法 | |
CN109558265B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |