CN102147767A - 固态硬盘垃圾收集参数动态调整方法及其*** - Google Patents
固态硬盘垃圾收集参数动态调整方法及其*** Download PDFInfo
- Publication number
- CN102147767A CN102147767A CN2011101054486A CN201110105448A CN102147767A CN 102147767 A CN102147767 A CN 102147767A CN 2011101054486 A CN2011101054486 A CN 2011101054486A CN 201110105448 A CN201110105448 A CN 201110105448A CN 102147767 A CN102147767 A CN 102147767A
- Authority
- CN
- China
- Prior art keywords
- solid state
- hard disc
- state hard
- free time
- described solid
- 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
Images
Landscapes
- Processing Of Solid Wastes (AREA)
- Memory System (AREA)
Abstract
本发明公开了一种固态硬盘垃圾收集参数动态调整方法及其***,所述方法包括:A、获取固态硬盘空闲时间的预测长度;B、根据所述固态硬盘空闲时间的预测长度,设置所述固态硬盘的垃圾收集参数;C、根据所述垃圾收集参数,在所述固态硬盘空闲时间的预测长度内,执行所述固态硬盘的垃圾收集操作。借此,本发明提高了固态硬盘垃圾收集的效率,以及固态硬盘运行时的响应速度和读写性能。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种固态硬盘垃圾收集参数动态调整方法及其***。
背景技术
在计算机技术迅速发展的同时,计算机存储介质也有了长足的发展。由普通硬盘发展到了SSD(Solid State Disk,固态硬盘)。由于固态硬盘不使用普通硬盘的机械旋转装置,因而抗震性极佳。固态硬盘的存储模块是半导体闪存NAND Flash芯片。NAND Flash芯片操作单元一般分两级:block(块)和page(页)。页的大小有1KB,2KB,4KB,8KB等,且随着制造工艺的发展,有增大的趋势;每一个块一般包含16、32、64或更多数量的页。对于NAND颗粒可以有三种操作:1、读一个页;2、写一个页;3、擦除一个块。各操作所需要的时间大致如下表(以Micron 73系列NAND颗粒为例):
操作 | 页读取 | 页写入 | 块擦除 |
所需时间 | 50微秒 | 1.3毫秒 | 3毫秒 |
可见,对NAND的读操作时比较快的,而块擦除操作时最慢的。
NAND颗粒具有一个比较特别的特性:即NAND Flash芯片不能原地进行in-place update(更新),在一个页已经写入数据的情况下,如果要想在这个页继续写入新的数据,则必须先对该页进行擦除操作。因为擦除操作必须是以块为单位进行的,所以其耗时是比较长的。因而在SSD使用过程中如何最优地进行擦除对其性能的影响是非常大的。
由于NAND颗粒的上述特性,导致在SSD使用了一段时间后会出现大量的“垃圾页”。其产生原因解释如下:
由于擦除一个块时间太长,因此现有的SSD在遇到需要对一个页中的数据进行更新的情况时,都是将所需更新的数据写入到一个新分配的空白页中,然后将原来的一页旧数据标记为“无效”。这样的页就是垃圾页。随着SSD使用时间逐渐增加,这样的垃圾页将越来越多,大大降低了***中可供使用的存储容量。因为这些垃圾页中包含的数据都是无效的,可以擦除,因此就需要一个过程来吧这些垃圾页都收集起来并进行擦除,从而产生出新的可供写入数据的空白页来,这样的过程就称为“垃圾收集”。
在垃圾收集过程中,主要需要完成如下操作:
1、选择垃圾块。由于擦除操作是以块为单位进行的,因此需要选择一个块作为垃圾以便于进行擦除操作。一个闪存块中有很多页(比如256个),其中垃圾页的数量越多,越适合被选作垃圾块。
2、申请空白块。每一个被选中的垃圾块可能包含一些有效的页,这些页需要被搬移到新的闪存块中,因此需先申请一个或多个空白块,以便将这些有效页搬移到这些空白块中。
3、有效页搬移。
4、擦除垃圾块。
5、SSD管理数据的更新。由于垃圾收集将改变地址映射关系和其他SSD管理数据,因此需要对这些数据进行相应的更新。
下面是垃圾收集的示例,如图1所示,假设我们已选择B0、B1、B2、B3作为垃圾块,每个块中有8个页。其中标记为“V”的页表示是有效数据页;标记为“X”的页表示是无效数据页;其余的是空白页,空白页表示未使用。在垃圾收集过程中,每一个垃圾块中的有效页都将被搬移到新的空白页中,如图2所示。在上述搬移过程完成之后,即可对垃圾块进行擦除操作,擦除操作完成后的状态如图3所示。可以看到,在垃圾收集前,一共有19个空白页。垃圾收集完成之后,却有29个空白页,因此显著增加了***的空白页数量。
而垃圾收集是SSD中不可避免的操作,当***的空白页数量降低到一定程度后,每一次写数据操作都有可能引起垃圾收集操作。根据上面的介绍我们可以知道,每次垃圾收集操作都包含了大量的页写入和块擦除操作,因此其耗时是比较长的,轻易就能达到500ms以上。因此,如何降低垃圾收集操作对***性能的影响,尤其是如何降低***的写入延迟是一个重要的问题。但是在现有技术中尚未有有效的进行固态硬盘垃圾收集的处理方法。
综上可知,现有的固态硬盘的垃圾处理技术,在实际使用上,显然存在不便与缺陷,所以有必要加以改进。
发明内容
针对上述的缺陷,本发明的目的在于提供一种固态硬盘垃圾收集参数动态调整方法及其***,以提高固态硬盘垃圾收集的效率,以及固态硬盘运行时的响应速度和读写性能。
为了实现上述目的,本发明提供一种固态硬盘垃圾收集参数动态调整方法,所述方法包括:
A、获取固态硬盘空闲时间的预测长度;
B、根据所述固态硬盘空闲时间的预测长度,设置所述固态硬盘的垃圾收集参数;
C、根据所述垃圾收集参数,在所述固态硬盘空闲时间的预测长度内,执行所述固态硬盘的垃圾收集操作。
根据的固态硬盘垃圾收集参数动态调整方法,在所述步骤C之后还包括:
D、根据所述固态硬盘空闲时间的实际长度,调整所述固态硬盘空闲时间的预测长度。
根据的固态硬盘垃圾收集参数动态调整方法,所述步骤A包括:
A1、设置所述固态硬盘空闲时间的预测长度的算法及所述算法的参数;
A2、根据所述固态硬盘空闲时间的预测长度的算法及所述算法的参数,获取所述固态硬盘空闲时间的预测长度。
根据的固态硬盘垃圾收集参数动态调整方法,所述算法的参数包括:与多个用户的所述固态硬盘的操作数据相关的固态硬盘空闲时间长度的分布集、所述固态硬盘的历史工作情况数据及当前工作负载数据;
所述垃圾收集参数包括:所述固态硬盘空闲时间的预测长度、在单位所述固态硬盘空闲时间的预测长度内收集所述固态硬盘垃圾块的数目;
所述固态硬盘空闲时间的预测长度的算法包括:根据所述算法的参数设置所述固态硬盘空闲时间的预测长度;或者
在每次进行所述固态硬盘空闲时间长度预测时,将上一次所述固态硬盘空闲时间作为下一次所述固态硬盘空闲时间的预测值。
根据的固态硬盘垃圾收集参数动态调整方法,所述步骤D包括:
D1、当所述固态硬盘当前空闲时间长度比所述固态硬盘空闲时间的预测长度长时,则增加所述固态硬盘空闲时间的预测长度;
D2、当所述固态硬盘当前空闲时间长度比所述固态硬盘空闲时间的预测长度短时,则减小所述固态硬盘空闲时间的预测长度。
本发明还提供了一种固态硬盘垃圾收集参数动态调整***,所述***包括:
获取模块,用于获取固态硬盘空闲时间的预测长度;
设置模块,用于根据所述固态硬盘空闲时间的预测长度,设置所述固态硬盘的垃圾收集参数;
收集模块,用于根据所述垃圾收集参数,在所述固态硬盘空闲时间的预测长度内,执行所述固态硬盘的垃圾收集操作。
根据所述的固态硬盘垃圾收集参数动态调整***,所述***还包括:
调整模块,用于根据所述固态硬盘空闲时间的实际长度,调整所述固态硬盘空闲时间的预测长度。
根据所述的固态硬盘垃圾收集参数动态调整***,所述获取模块还包括:
第一设置子模块,用于设置所述固态硬盘空闲时间的预测长度的算法及所述算法的参数;
获取子模块,用于根据所述固态硬盘空闲时间的预测长度的算法及所述算法的参数,获取所述固态硬盘空闲时间的预测长度。
根据所述的固态硬盘垃圾收集参数动态调整***,所述算法的参数包括:与多个用户的所述固态硬盘的操作数据相关的固态硬盘空闲时间长度的分布集、所述固态硬盘的历史工作情况数据及当前工作负载数据;
所述垃圾收集参数包括:所述固态硬盘空闲时间的预测长度、在单位所述固态硬盘空闲时间的预测长度内收集所述固态硬盘垃圾块的数目;
所述固态硬盘空闲时间的预测长度的算法包括:根据所述算法的参数设置所述固态硬盘空闲时间的预测长度;或者
在每次进行所述固态硬盘空闲时间长度预测时,将上一次所述固态硬盘空闲时间作为下一次所述固态硬盘空闲时间的预测长度。
根据所述的固态硬盘垃圾收集参数动态调整***,所述调整模块包括:
第一调整子模块,用于当所述固态硬盘当前空闲时间长度比所述固态硬盘空闲时间的预测长度长时,则增加所述固态硬盘空闲时间的预测长度;
第二调整子模块,用于当所述固态硬盘当前空闲时间长度比所述固态硬盘空闲时间的预测长度短时,则减小所述固态硬盘空闲时间的预测长度。
本发明通过对固态硬盘的空闲时间长度进行预测,并结合固态硬盘的历史工作情况和当前工作的负载情况,合理设置固态硬盘的垃圾收集参数,并根据该垃圾收集参数进行固态硬盘的垃圾收集操作,有效提高固态硬盘的垃圾收集效率,降低垃圾收集对读写性能的影响。进一步,在完成当前垃圾收集操作后,再根据固态硬盘当前实际的工作状态调整固态硬盘空闲时间的预测长度值,使固态硬盘的垃圾收集触发更为准确。借此,本发明提高了固态硬盘垃圾收集的效率,以及固态硬盘运行时的响应速度和读写性能。
附图说明
图1是现有技术一个示例中的固态硬盘包括垃圾块的示意图;
图2是现有技术一个示例中的固态硬盘移动垃圾块的示意图;
图3是现有技术一个示例中的固态硬盘垃圾块移动完成的示意图;
图4是本发明提供的固态硬盘垃圾收集的***的结构示意图;
图5是本发明一个实施例提供的固态硬盘垃圾收集的***的结构示意图;
图6是本发明提供的固态硬盘垃圾收集的方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参见图4,本发明提供了一种固态硬盘垃圾收集参数动态调整***100,所述***100包括:
获取模块10,用于获取固态硬盘空闲时间的预测长度;
设置模块20,用于根据所述固态硬盘空闲时间的预测长度,设置所述固态硬盘的垃圾收集参数;
收集模块30,用于根据所述垃圾收集参数,在所述固态硬盘空闲时间的预测长度内,执行所述固态硬盘的垃圾收集操作。
垃圾收集是固态硬盘中必有的操作,因为垃圾收集操作涉及到大量的页写入和块擦除操作,其延时非常大,在垃圾收集进行的过程中,固态硬盘***对外界的读写操作命令的响应非常慢。因此如何尽量减少垃圾收集活动对读写命令的延迟关系到固态硬盘的响应时间性能。在固体硬盘的日常操作过程中会有大量的空闲时间,比如用户在用键盘输入或浏览网页时,可以利用这些空闲时间进行后台垃圾收集。但是,如何控制垃圾收集的时间,使其不至于影响用户的正常操作,这就需要对这段空闲时间进行预测。然后再根据预测到的固态硬盘空闲时间,设置垃圾收集参数,然后在所述预测的空闲时间内,根据所述垃圾收集参数执行所述固态硬盘的垃圾收集操作,优化固态硬盘的读写性能。
在本发明的一个实施例中,所述***100还包括:
调整模块40,用于根据所述固态硬盘空闲时间的实际长度,调整所述固态硬盘空闲时间的预测长度。
在该实施例中,设置一调整模块40根据所述固态硬盘空闲时间的实际长度,调整固态硬盘下一次空闲时间的预测长度值。例如,当前固态硬盘的空闲时间比较短,则说明用户很大概率的是在频繁的操作计算机,则调整模块40将下一次固态硬盘空闲时间的预测长度值减小,可以提高固态硬盘垃圾收集的效率。
在本发明的一个实施例中,所述获取模块10还包括:
第一设置子模块101,用于设置所述固态硬盘空闲时间的预测长度的算法及所述算法的参数;
获取子模块102,用于根据所述固态硬盘空闲时间的预测长度的算法及所述算法的参数,获取所述固态硬盘空闲时间的预测长度;
在该实施例中,所述算法的参数包括:与多个用户的所述固态硬盘的操作数据相关的固态硬盘空闲时间长度的分布集、所述固态硬盘的历史工作情况数据及当前工作负载数据。根据大量的用户使用固态硬盘的统计数据,在用户使用计算机的过程中,固态硬盘空闲时间的出现时间是有规律的,通过统计这些规律,可以得到用户使用计算机的空闲时间,这样可以较好的掌握到固态硬盘的空闲时间,如固态硬盘在前几日的操作过程中,其空闲时间出现的几率很小,并且当前该固态硬盘的工作负载较大,则预测该固态硬盘的空闲时间长度较短。以减轻固态硬盘的工作负载。在预测了固态硬盘的空闲时间长度后,在该空闲时间内进行固态硬盘的垃圾收集,提高固态硬盘的读写响应速度。具体的,可通过第一设置子模块101设置相应的算法及参数,利用获取子模块102根据该算法及参数获取所述述固态硬盘空闲时间的预测长度。其中,固态硬盘空闲时间的预测长度的算法包括:根据所述算法的参数设置所述固态硬盘空闲时间的预测长度;或者在每次进行所述固态硬盘空闲时间长度预测时,将上一次所述固态硬盘空闲时间作为下一次所述固态硬盘空闲时间的预测长度。例如,在本发明的一个实施例中,根据多个用户的所述固态硬盘的操作数据相关的固态硬盘空闲时间长度的分布集、所述固态硬盘的历史工作情况数据及当前工作负载数据的综合情况考虑,设置固态硬盘的空闲时间的预测长度的算法及所述算法的参数。
在本发明的一个实施例中,所述收集模块30还包括:
设置模块20根据所述固态硬盘空闲时间的预测长度,设置所述固态硬盘垃圾收集的垃圾收集参数;收集模块30再根据所述固态硬盘垃圾收集的垃圾收集参数,执行所述固态硬盘的垃圾收集操作。
在该实施例中,所述垃圾收集参数包括:所述固态硬盘空闲时间的预测长度、在单位所述固态硬盘空闲时间的预测长度内收集所述固态硬盘垃圾块的数目;当预测到了固态硬盘空闲时间的长度,根据该空闲时间长度和单位时间内所能收集的垃圾块数,设置垃圾收集时总共需要收集的垃圾块数。其中,单位时间内所能收集的垃圾块数是由固态硬盘的***硬件决定的。如在固态硬盘***操作繁忙时,设置模块20可以设置较小的垃圾块收集数目,如果固态硬盘***操作处于负载较小的情况时,设置模块20可以设置较大的垃圾块收集数目。并且设置模块20还可以设置收集了一定数目的垃圾块则停止固态硬盘垃圾块的收集。由于垃圾收集耗时较长,所以如果预测得到的空闲时间较长,则收集模块30可以收集较多的垃圾块;否则,收集模块30不进行垃圾收集或只收集少量的垃圾块。
在本发明的一个实施例中,所述调整模块40包括:
第一调整子模块401,用于当所述固态硬盘当前空闲时间长度比所述固态硬盘空闲时间的预测长度长时,则增加所述固态硬盘空闲时间的预测长度;
第二调整子模块402,用于当所述固态硬盘当前空闲时间长度比所述固态硬盘空闲时间的预测长度短时,则减小所述固态硬盘空闲时间的预测长度。
在该实施例中,通过负反馈调整方法对固态硬盘下一次空闲时间的预测进行调整。
参见图6,在本发明还提供了一种固态硬盘垃圾收集参数动态调整方法,所述方法包括:
步骤S601中,获取固态硬盘空闲时间的预测长度;该步骤通过获取模块10实现。
步骤S602中,根据所述固态硬盘空闲时间的预测长度,设置所述固态硬盘的垃圾收集参数;该步骤通过设置模块20实现。
步骤S603中,根据所述垃圾收集参数,在所述固态硬盘空闲时间的预测长度内,执行所述固态硬盘的垃圾收集操作;该步骤通过收集模块30实现。
在本发明中,首先设置固态硬盘的空闲时间长度预测算法及其参数;然后根据所述空闲时间长度预测算法及其设置的参数,对固态硬盘***在运行时刻所出现的空闲时间片的长度进行预测。然后再根据所述固态硬盘空闲时间的预测长度,调整垃圾收集参数,这些包括固态硬盘垃圾收集的终止条件、收集垃圾块的方法。接着根据预测算法所预测的空闲时间长度,结合每收集一个块所消耗的时间长度,计算这次空闲时间内所应收集的垃圾块的数量。根据计算出的所需收集的垃圾块的数量,设定相关的垃圾收集参数,开始进行垃圾收集。例如,预测固态硬盘将出现1秒钟的空闲时间,而每收集一块垃圾块需要100毫秒,则可以估计这段空闲时间可用来收集10个垃圾块,因此调整垃圾收集参数为“收集10个垃圾块”。以上数字只用于举例说明,不一定代表实际值。
在本发明的一个实施例中,在所述步骤S603之后还包括根据所述固态硬盘空闲时间的实际长度,调整所述固态硬盘空闲时间的预测长度的步骤。该步骤通过调整模块40实现。
当前的空闲时间结束,并且触发的垃圾收集完成后,可以利用负反馈方法调整空闲时间长度预测算法中的相关参数,使其更能准确反映当前固态硬盘***的行为特征。例如根据固态硬盘的预测结果,动态调整垃圾收集参数,主要是在每次垃圾收集所需收集的垃圾块的数量,并触发垃圾收集。如果预测固态硬盘有较长时间的空闲,并且固态硬盘单位时间内能收集的块数比较多,则在固态硬盘的空闲时间内收集较多的垃圾块,反之则收集较少的垃圾块,甚至不进行垃圾收集。
在本发明的一个实施例中,所述步骤S601包括:设置所述固态硬盘空闲时间的预测长度的算法及所述算法的参数的步骤;该步骤通过第一设置子模块101实现。以及
根据所述固态硬盘空闲时间的预测长度的算法及所述算法的参数,获取所述固态硬盘空闲时间的预测长度的步骤;该步骤通过获取子模块102实现。
在该实施例中,可以根据对大量用户的固态硬盘的操作数据的统计分析,得到固态硬盘空闲时间长度的统计分布;如将用户在使用固态硬盘的过程中出现的所有空闲时间记录下来,分析其分布;如空闲时间长度超过1秒的有多少,小于0.1秒的有多少等,由此可以得到固态硬盘空闲时间的规律。另外,还需要根据所述固态硬盘历史使用情况及当前工作负载,结合上述的统计分析结果,对固态硬盘***当前出现的空闲的延续长度进行预测。例如,如果用户的使用情况是经常出现时间长度较长的空闲,则预测有较长时间的空闲的概率较大。
在本发明的一个实施例中,所述根据所述固态硬盘空闲时间的实际长度,调整所述固态硬盘空闲时间的预测长度的步骤包括:
当所述固态硬盘当前空闲时间长度比所述固态硬盘空闲时间的预测长度长时,则增加所述固态硬盘空闲时间的预测长度的步骤;该步骤通过第一调整子模块401实现。以及
当所述固态硬盘当前空闲时间长度比所述固态硬盘空闲时间的预测长度短时,则减小所述固态硬盘空闲时间的预测长度的步骤;该步骤通过第二调整子模块402实现。
在该实施例中,固态硬盘当前的空闲结束,并且触发的垃圾收集完成后,利用负反馈方法调整空闲时间长度预测算法中的相关参数,使其更能准确反映当前固态硬盘***的行为特征;使固态硬盘的垃圾收集更为有效。具体的,在其他条件相同的情况下,当所述固态硬盘当前空闲时间比预测长时,增加所预测值的长度;当所述固态硬盘当前空闲时间比预测时间短时,减小所预测的空闲时间长度值。
因此,在本发明中通过对用户使用固态硬盘的大量数据的统计分析,得到固态硬盘使用的空闲时间长度分布规律;并根据固态硬盘使用历史和当前使用负载情况,预测固态硬盘***当前出现的空闲时间的长度;再根据所预测的空闲时间的长度,计算进行垃圾收集所需收集的垃圾块的数量;然后执行固态硬盘的垃圾操作。在垃圾收集完成并且空闲期结束后,再根据实际空闲的长度调整预测算法和参数;进一步的再动态调整垃圾收集的参数,提高固态硬盘垃圾收集的效率。
综上所述,本发明通过对固态硬盘的空闲时间长度进行预测,并结合固态硬盘的历史工作情况和当前工作的负载情况,合理设置固态硬盘的垃圾收集参数,并根据该垃圾收集参数进行固态硬盘的垃圾收集操作,有效提高固态硬盘的垃圾收集效率,降低垃圾收集对读写性能的影响。进一步,在完成当前垃圾收集操作后,再根据固态硬盘当前实际的工作状态调整固态硬盘空闲时间的预测长度值,使固态硬盘的垃圾收集触发更为准确。借此,本发明提高了固态硬盘垃圾收集的效率,以及固态硬盘运行时的响应速度和读写性能。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (10)
1.一种固态硬盘垃圾收集参数动态调整方法,其特征在于,所述方法包括:
A、获取固态硬盘空闲时间的预测长度;
B、根据所述固态硬盘空闲时间的预测长度,设置所述固态硬盘的垃圾收集参数;
C、根据所述垃圾收集参数,在所述固态硬盘空闲时间的预测长度内,执行所述固态硬盘的垃圾收集操作。
2.根据权利要求1所述的固态硬盘垃圾收集参数动态调整方法,其特征在于,在所述步骤C之后还包括:
D、根据所述固态硬盘空闲时间的实际长度,调整所述固态硬盘空闲时间的预测长度。
3.根据权利要求1所述的固态硬盘垃圾收集参数动态调整方法,其特征在于,所述步骤A包括:
A1、设置所述固态硬盘空闲时间的预测长度的算法及所述算法的参数;
A2、根据所述固态硬盘空闲时间的预测长度的算法及所述算法的参数,获取所述固态硬盘空闲时间的预测长度。
4.根据权利要求3所述的固态硬盘垃圾收集参数动态调整方法,其特征在于,所述算法的参数包括:与多个用户的所述固态硬盘的操作数据相关的固态硬盘空闲时间长度的分布集、所述固态硬盘的历史工作情况数据及当前工作负载数据;
所述垃圾收集参数包括:所述固态硬盘空闲时间的预测长度、在单位所述固态硬盘空闲时间的预测长度内收集所述固态硬盘垃圾块的数目;
所述固态硬盘空闲时间的预测长度的算法包括:根据所述算法的参数设置所述固态硬盘空闲时间的预测长度;或者
在每次进行所述固态硬盘空闲时间长度预测时,将上一次所述固态硬盘空闲时间作为下一次所述固态硬盘空闲时间的预测值。
5.根据权利要求2所述的固态硬盘垃圾收集参数动态调整方法,其特征在于,所述步骤D包括:
D1、当所述固态硬盘当前空闲时间长度比所述固态硬盘空闲时间的预测长度长时,则增加所述固态硬盘空闲时间的预测长度;
D2、当所述固态硬盘当前空闲时间长度比所述固态硬盘空闲时间的预测长度短时,则减小所述固态硬盘空闲时间的预测长度。
6.一种固态硬盘垃圾收集参数动态调整***,其特征在于,所述***包括:
获取模块,用于获取固态硬盘空闲时间的预测长度;
设置模块,用于根据所述固态硬盘空闲时间的预测长度,设置所述固态硬盘的垃圾收集参数;
收集模块,用于根据所述垃圾收集参数,在所述固态硬盘空闲时间的预测长度内,执行所述固态硬盘的垃圾收集操作。
7.根据权利要求6所述的固态硬盘垃圾收集参数动态调整***,其特征在于,所述***还包括:
调整模块,用于根据所述固态硬盘空闲时间的实际长度,调整所述固态硬盘空闲时间的预测长度。
8.根据权利要求6所述的固态硬盘垃圾收集参数动态调整***,其特征在于,所述获取模块还包括:
第一设置子模块,用于设置所述固态硬盘空闲时间的预测长度的算法及所述算法的参数;
获取子模块,用于根据所述固态硬盘空闲时间的预测长度的算法及所述算法的参数,获取所述固态硬盘空闲时间的预测长度。
9.根据权利要求8所述的固态硬盘垃圾收集参数动态调整***,其特征在于,所述算法的参数包括:与多个用户的所述固态硬盘的操作数据相关的固态硬盘空闲时间长度的分布集、所述固态硬盘的历史工作情况数据及当前工作负载数据;
所述垃圾收集参数包括:所述固态硬盘空闲时间的预测长度、在单位所述固态硬盘空闲时间的预测长度内收集所述固态硬盘垃圾块的数目;
所述固态硬盘空闲时间的预测长度的算法包括:根据所述算法的参数设置所述固态硬盘空闲时间的预测长度;或者
在每次进行所述固态硬盘空闲时间长度预测时,将上一次所述固态硬盘空闲时间作为下一次所述固态硬盘空闲时间的预测长度。
10.根据权利要求7所述的固态硬盘垃圾收集参数动态调整***,其特征在于,所述调整模块包括:
第一调整子模块,用于当所述固态硬盘当前空闲时间长度比所述固态硬盘空闲时间的预测长度长时,则增加所述固态硬盘空闲时间的预测长度;
第二调整子模块,用于当所述固态硬盘当前空闲时间长度比所述固态硬盘空闲时间的预测长度短时,则减小所述固态硬盘空闲时间的预测长度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110105448.6A CN102147767B (zh) | 2011-04-26 | 2011-04-26 | 固态硬盘垃圾收集参数动态调整方法及其*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110105448.6A CN102147767B (zh) | 2011-04-26 | 2011-04-26 | 固态硬盘垃圾收集参数动态调整方法及其*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102147767A true CN102147767A (zh) | 2011-08-10 |
CN102147767B CN102147767B (zh) | 2014-04-02 |
Family
ID=44422039
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110105448.6A Expired - Fee Related CN102147767B (zh) | 2011-04-26 | 2011-04-26 | 固态硬盘垃圾收集参数动态调整方法及其*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102147767B (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508788A (zh) * | 2011-09-28 | 2012-06-20 | 成都市华为赛门铁克科技有限公司 | Ssd及ssd垃圾回收方法和装置 |
CN102855198A (zh) * | 2012-08-08 | 2013-01-02 | 记忆科技(深圳)有限公司 | 存储装置的控制器及资源优化方法 |
WO2013140435A1 (en) * | 2012-03-19 | 2013-09-26 | Hitachi, Ltd. | Data storage system comprising non-volatile semiconductor storage device, and storage control method |
CN103455319A (zh) * | 2012-05-31 | 2013-12-18 | 慧荣科技股份有限公司 | 数据储存装置与快闪存储器控制方法 |
CN103914392A (zh) * | 2014-04-03 | 2014-07-09 | 深圳市硅格半导体有限公司 | 闪存的空块回收方法及装置 |
CN105512049A (zh) * | 2015-11-23 | 2016-04-20 | 联想(北京)有限公司 | 一种存储器数据回收方法、装置及*** |
CN105892941A (zh) * | 2016-03-30 | 2016-08-24 | 联想(北京)有限公司 | 垃圾回收方法、垃圾回收装置和电子设备 |
CN107203337A (zh) * | 2016-03-17 | 2017-09-26 | 三星电子株式会社 | 用户可配置的被动后台操作 |
CN107861692A (zh) * | 2017-11-24 | 2018-03-30 | 苏州韦科韬信息技术有限公司 | 动态调整固态硬盘带宽的方法 |
CN108984116A (zh) * | 2018-06-14 | 2018-12-11 | 浙江大华技术股份有限公司 | 一种固态硬盘垃圾回收带宽的流控方法及装置 |
CN109308273A (zh) * | 2017-07-26 | 2019-02-05 | 北京兆易创新科技股份有限公司 | 闪存控制器、闪存控制器功能的调节方法及设备 |
WO2020224500A1 (zh) * | 2019-05-09 | 2020-11-12 | 深圳大普微电子科技有限公司 | 一种固态硬盘的数据处理方法及装置 |
US11036630B2 (en) * | 2018-09-27 | 2021-06-15 | SK Hynix Inc. | Memory system and operating method thereof |
WO2022017002A1 (zh) * | 2020-07-22 | 2022-01-27 | 华为技术有限公司 | 一种垃圾回收方法及装置 |
US11327886B2 (en) | 2019-07-10 | 2022-05-10 | Board Of Trustees Of The University Of Illinois | Capturing time-varying storage of data in memory device for data recovery purposes |
US11748277B2 (en) | 2020-03-05 | 2023-09-05 | Seagate Technology, Llc | Client input/output (I/O) access rate variation compensation |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101004634A (zh) * | 2006-01-20 | 2007-07-25 | 三星电子株式会社 | 收集非易失性存储器的垃圾块的装置及收集方法 |
CN101281458A (zh) * | 2008-05-14 | 2008-10-08 | 华为技术有限公司 | 一种垃圾回收的装置、***及方法 |
US20090112952A1 (en) * | 2007-10-30 | 2009-04-30 | International Business Machines Corporation | Low latency optimization for generational garbage collection |
US20090319720A1 (en) * | 2008-06-20 | 2009-12-24 | Seagate Technology Llc | System and method of garbage collection in a memory device |
CN101777026A (zh) * | 2009-01-09 | 2010-07-14 | 成都市华为赛门铁克科技有限公司 | 一种存储管理方法、硬盘及存储*** |
-
2011
- 2011-04-26 CN CN201110105448.6A patent/CN102147767B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101004634A (zh) * | 2006-01-20 | 2007-07-25 | 三星电子株式会社 | 收集非易失性存储器的垃圾块的装置及收集方法 |
US20090112952A1 (en) * | 2007-10-30 | 2009-04-30 | International Business Machines Corporation | Low latency optimization for generational garbage collection |
CN101281458A (zh) * | 2008-05-14 | 2008-10-08 | 华为技术有限公司 | 一种垃圾回收的装置、***及方法 |
US20090319720A1 (en) * | 2008-06-20 | 2009-12-24 | Seagate Technology Llc | System and method of garbage collection in a memory device |
CN101777026A (zh) * | 2009-01-09 | 2010-07-14 | 成都市华为赛门铁克科技有限公司 | 一种存储管理方法、硬盘及存储*** |
Non-Patent Citations (1)
Title |
---|
JUNGHEE LEE 等: "A semi-preemptive garbage collector for solid state drives", 《PERFORMANCE ANALYSIS OF SYSTEMS AND SOFTWARE (ISPASS), 2011 IEEE INTERNATIONAL SYMPOSIUM ON》, 12 April 2011 (2011-04-12) * |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508788B (zh) * | 2011-09-28 | 2014-12-10 | 华为数字技术(成都)有限公司 | Ssd及ssd垃圾回收方法和装置 |
CN102508788A (zh) * | 2011-09-28 | 2012-06-20 | 成都市华为赛门铁克科技有限公司 | Ssd及ssd垃圾回收方法和装置 |
WO2013140435A1 (en) * | 2012-03-19 | 2013-09-26 | Hitachi, Ltd. | Data storage system comprising non-volatile semiconductor storage device, and storage control method |
CN103455319B (zh) * | 2012-05-31 | 2016-12-28 | 慧荣科技股份有限公司 | 数据储存装置与快闪存储器控制方法 |
CN103455319A (zh) * | 2012-05-31 | 2013-12-18 | 慧荣科技股份有限公司 | 数据储存装置与快闪存储器控制方法 |
CN102855198B (zh) * | 2012-08-08 | 2016-03-23 | 记忆科技(深圳)有限公司 | 存储装置的控制器及资源优化方法 |
CN102855198A (zh) * | 2012-08-08 | 2013-01-02 | 记忆科技(深圳)有限公司 | 存储装置的控制器及资源优化方法 |
CN103914392A (zh) * | 2014-04-03 | 2014-07-09 | 深圳市硅格半导体有限公司 | 闪存的空块回收方法及装置 |
CN103914392B (zh) * | 2014-04-03 | 2017-05-03 | 深圳市硅格半导体有限公司 | 闪存的空块回收方法及装置 |
CN105512049A (zh) * | 2015-11-23 | 2016-04-20 | 联想(北京)有限公司 | 一种存储器数据回收方法、装置及*** |
US10198209B2 (en) | 2015-11-23 | 2019-02-05 | Lenovo (Beijing) Limited | Memory storage recycling |
CN105512049B (zh) * | 2015-11-23 | 2019-04-23 | 联想(北京)有限公司 | 一种存储器数据回收方法、装置及*** |
CN107203337A (zh) * | 2016-03-17 | 2017-09-26 | 三星电子株式会社 | 用户可配置的被动后台操作 |
CN107203337B (zh) * | 2016-03-17 | 2021-11-09 | 三星电子株式会社 | 用户可配置的被动后台操作 |
CN105892941A (zh) * | 2016-03-30 | 2016-08-24 | 联想(北京)有限公司 | 垃圾回收方法、垃圾回收装置和电子设备 |
CN109308273B (zh) * | 2017-07-26 | 2020-11-20 | 北京兆易创新科技股份有限公司 | 闪存控制器、闪存控制器功能的调节方法及设备 |
CN109308273A (zh) * | 2017-07-26 | 2019-02-05 | 北京兆易创新科技股份有限公司 | 闪存控制器、闪存控制器功能的调节方法及设备 |
CN107861692A (zh) * | 2017-11-24 | 2018-03-30 | 苏州韦科韬信息技术有限公司 | 动态调整固态硬盘带宽的方法 |
CN108984116A (zh) * | 2018-06-14 | 2018-12-11 | 浙江大华技术股份有限公司 | 一种固态硬盘垃圾回收带宽的流控方法及装置 |
CN108984116B (zh) * | 2018-06-14 | 2021-07-20 | 浙江大华存储科技有限公司 | 一种固态硬盘垃圾回收带宽的流控方法及装置 |
US11036630B2 (en) * | 2018-09-27 | 2021-06-15 | SK Hynix Inc. | Memory system and operating method thereof |
WO2020224500A1 (zh) * | 2019-05-09 | 2020-11-12 | 深圳大普微电子科技有限公司 | 一种固态硬盘的数据处理方法及装置 |
US11327886B2 (en) | 2019-07-10 | 2022-05-10 | Board Of Trustees Of The University Of Illinois | Capturing time-varying storage of data in memory device for data recovery purposes |
US11748277B2 (en) | 2020-03-05 | 2023-09-05 | Seagate Technology, Llc | Client input/output (I/O) access rate variation compensation |
WO2022017002A1 (zh) * | 2020-07-22 | 2022-01-27 | 华为技术有限公司 | 一种垃圾回收方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102147767B (zh) | 2014-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102147767B (zh) | 固态硬盘垃圾收集参数动态调整方法及其*** | |
Park et al. | CFLRU: a replacement algorithm for flash memory | |
Stoica et al. | Improving flash write performance by using update frequency | |
Lim et al. | FASTer FTL for enterprise-class flash memory SSDs | |
US8966205B1 (en) | System data management using garbage collection and hybrid self mapping | |
DE102012219907B4 (de) | Erhöhen der Speicherkapazität in Systemen mit eingeschränkter elektrischer Leistungsaufnahme | |
CN100530142C (zh) | 将实存分配给虚存页大小的方法及*** | |
Haas et al. | The fundamental limit of flash random write performance: Understanding, analysis and performance modelling | |
CN101067800A (zh) | 一种基于局部采样的存储器的磨损平衡方法 | |
CN102346712A (zh) | 存储器管理装置、信息处理装置、存储器管理方法 | |
Lee et al. | Empirical study of NVM storage: an operating system's perspective and implications | |
US20100228898A1 (en) | Apparatus, system, and method for real time job-specific buffer allocation | |
US11436140B2 (en) | Memory control system for setting garbage collection frequency higher in dirty mode | |
CN113093993B (zh) | 一种闪存空间动态分配方法及固态硬盘 | |
CN1822037A (zh) | 计算机***优化 | |
Wan et al. | Optimizing checkpoint data placement with guaranteed burst buffer endurance in large-scale hierarchical storage systems | |
CN102141898A (zh) | 固态硬盘读写指令重排序的方法及其*** | |
Li et al. | Pattern-based write scheduling and read balance-oriented wear-leveling for solid state drivers | |
CN101866320B (zh) | 数据管理方法及使用此方法的闪存储存***与控制器 | |
Kang et al. | CLOCK-DNV: A write buffer algorithm for flash storage devices of consumer electronics | |
CN105117175B (zh) | 一种基于软件编译层的可变电阻式存储器磨损均衡方法 | |
CN103020077A (zh) | 一种电力***实时数据库内存管理方法 | |
CN106569728B (zh) | 多磁盘阵列raid共享写缓存的处理方法及装置 | |
Qi et al. | Indef: An advanced defragmenter supporting migration offloading on zns ssd | |
Tjioe et al. | Making garbage collection wear conscious for flash SSD |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140402 |