CN105204783A - 一种基于数据生存期的固态盘垃圾回收方法 - Google Patents
一种基于数据生存期的固态盘垃圾回收方法 Download PDFInfo
- Publication number
- CN105204783A CN105204783A CN201510671242.8A CN201510671242A CN105204783A CN 105204783 A CN105204783 A CN 105204783A CN 201510671242 A CN201510671242 A CN 201510671242A CN 105204783 A CN105204783 A CN 105204783A
- Authority
- CN
- China
- Prior art keywords
- data
- area
- sub
- solid
- state disk
- 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
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于数据生存期的固态盘垃圾回收方法,包括:将固态盘划分为按数据生存期执行垃圾回收操作的区域Area_timegc和正常回收区域Area_normalgc,用递增时间标记T0、T1、…、TN-1将Area_timegc细分为S1、S2、…、SN共N个子区间,子区间Sn是位于Tn-1与Tn之间的区间,SN是TN-1与T0之间的区间;向固态盘发出写请求时,文件系统记录待写数据的预期生存期限Tdeadline,将Tdeadline顺序与T0、T1、…、TN-1作比较,若有满足条件Tn-1<Tdeadline<=Tn的Tn-1与Tn,将数据写入由Tn-1与Tn确定的子区间Sn中;若TN-1<Tdeadline<=kTN-1,将数据写入SN中;若Tdeadline>kTN-1,则将数据写入Area_normalgc区域;对于区域Area_timegc,随着系统运行依次对其子区间S1、S2、…、SN执行基于时间的垃圾回收操作,且循环使用这N个子空间;对于Area_normalgc区域,执行已有的其他垃圾回收操作。
Description
技术领域
本发明属于计算机数据存储技术领域,更具体地,涉及一种基于数据生存期的固态盘垃圾回收方法。
背景技术
固态盘(SolidStateDrive,简称SSD)是以半导体作为存储介质,用固态电子存储芯片阵列而制成的硬盘,它摆脱了传统机械磁盘旋转机构的制约,且采用了多通道并发处理的方式,大大的提高了计算机系统的存储性能,当前的固态盘主要是基于FLASH芯片。随着固态盘成本的降低,固态盘存储系统已被广泛应用于个人计算机,车载、视频监控、军事、网络终端、电力、医疗等领域。
固态盘有着许多的优点,同时也有一些不同于普通磁盘的特性,其中最重要的一个特性是固态盘不支持覆盖写,即对固态盘的某个存储区域进行写入操作之前,必须首先进行擦除操作,为了弥补这种不足,固态盘采用的是“异地更新”的写入方式。即当某地址的数据需要更新时,先把数据复制到缓存中,进行更新,然后把更新后的数据重新写到新的地址,原地址的数据标记为无效数据。随着系统的运行,固态盘中的无效数据会越来越多,为了保证固态盘数据的写入速度,需要对这些无效数据块进行回收,保持有足够多的空白块用来写入新数据,这种通过对无效数据块进行回收来释放存储空间的技术即为垃圾回收技术。垃圾回收会引起固态盘内部有效数据的移动,带来较高的垃圾回收开销,且随着固态盘老化,代价会更高。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于数据生存期的固态盘垃圾回收方法,其目的在于,基于数据的生存期信息,合理地划分固态盘存储空间,当所存储的数据到达生存期限时,选择性地执行垃圾回收操作,以减少垃圾回收时固态盘内有效数据的移动,进而减少垃圾回收开销,提升系统性能。
为实现上述目的,按照本发明的一个方面,提供了一种基于数据生存期的固态盘垃圾回收方法,包括固态盘存储空间的划分:固态盘存储空间按照垃圾回收操作的不同划分为两个区域,基于数据生存期执行垃圾回收操作的区域Area_timegc和正常回收区域Area_normalgc,在区域Area_timegc内执行基于数据生存期的垃圾回收操作,在区域Area_normalgc内执行已有的其它垃圾回收操作;基于数据生存期的执行垃圾回收操作的区间Area_timegc为一个按时刻标记的存储区间,并以递增时刻T0、T1、T2、….、TN-1标记,T0、T1、T2、….、TN-1将Area_timegc划分为S1、S2、…、SN共N个子区间,其中子区间Sn(0<n<N)是处于时间标记Tn-1与Tn之间的区间,用来存储生存期限处于Tn-1(时间下限)与Tn(时间上限)之间的数据,子区间SN是TN-1与T0之间的区间,用来存储生存期限大于TN-1且不是永久存储的数据;当系统运行时间T等于T1与T0的差值时,对区间S1执行垃圾回收操作,回收后的区间S1时间下限变为TN-1,并作为数据的生存期限最大的一个子区间重新投入使用,其余未回收的子空间S2,…,SN的时间下限和上限都相对的减小,分别用来存储生存期限处于各自时间下限和时间上限之间的数据,抽象而言,对应的时间标记变化为:T1→T0,T2→T1,…,Tn-1→Tn-2,T0→Tn-1,对应的区间标记变化为:S1→SN,S2→S1,S3→S2,…,SN→SN-1;
在此方法的实现中,S1,S2,…,SN共N个子区间的实际使用过程是一个循环使用的过程。
优选地,基于数据生存期的固态盘垃圾回收方法的垃圾回收过程,包括以下步骤:
(1)根据应用要求,设置区域Area_timegc需要执行垃圾回收的时间序列GCtime:{GCtime_1,GCtime_2,GCtime_3,...,GCtime_N-1},即当系统运行时间等于GCtime_n(0<n<N)的时候对区域Area_timegc执行第n次垃圾回收操作。并设置时间标记T0、T1、T2、….、TN-1的初始值,令T0等于系统当前时间Current_Systime,则Tn=Current_Systime+GCtime_n(n=1,2,..,N-1),T0、T1、T2、….、TN-1为递增数列且数列的每一项都随Current_Systime的变化而变化;特别的,当时间序列GCtime为等差数列,且公差为t_gc时,T0、T1、T2、….、TN-1的初始值赋值情况可以简化为Tn=Current_Systime+t_gc*n(n=1,2,..,N-1);
(2)文件系统向固态盘发出写请求WriteReq,并记录待写数据的预期生存期限,即数据变为无效状态的预期时刻Tdeadline,其中待写数据的预期生存期限由具体的应用告知文件系统;
(3)判断待写入的数据是否是需要永久保存在固态盘中的,具体来说,判断Tdeadline是否大于kTN-1,若不大于kTN-1,说明待写数据不是要永久存储在固态盘中的,转入步骤(4);否则转入步骤(6);其中k为大于1的时间系数,在不同的应用场景下可以设置不同的值;
(4)将待写数据写入固态盘的Area_timegc区域,具体包括将Tdeadline顺序与T0、T1、T2、….、TN-1作比较,找出符合条件Tn-1<Tdeadline<=Tn的Tn-1与Tn,将待写数据写入由Tn-1与Tn确定的子区间Sn中;若Tdeadline>TN-1,则写入子区间SN中;
(5)当系统运行时间Run_time=GCtime_n(0<n<N)时,对子区间S1执行垃圾回收操作,对S1执行垃圾回收操作后,时间标记变化为:T1→T0、T2→T1、…、Tn-1→Tn-2、T0→Tn-1,区间标记变化为:S1→SN、S2→S1、S3→S2、…、SN→SN-1;
(6)将待写数据写入固态盘的Area_normalgc区域,当Area_normalgc的使用情况满足触发垃圾回收操作的条件时,对Area_normalgc执行相应的已有的其他垃圾回收操作。
优选地,执行基于数据生存期的垃圾回收操作的区间Area_timegc为一个按时刻标记的环形存储区间,它的N个子区间S1、S2、…、SN是循环利用的,且是按时间依次执行垃圾回收操作的,其中N的值在具体的应用情景下可以具体设置;
优选地,文件系统发出写请求WriteReq时,当待写数据需要写入由Tn-1与Tn确定的子区间Sn中且Sn中已经没有足够的空间来服务此次写请求时,则将数子区间Sn+1中;
优选地,文件系统发出更新已写入数据的生存期限请求,即请求Tdeadline变为T’deadline时,会出现两种情况:一,T’deadline仍然处于由Tn-1与Tn确定的时间区间内,此种情况无需移动数据到新的子区间;二,T’deadline不再处于由Tn-1与Tn确定的时间区间内,此种情况需要找到满足T’n-1<T’deadline<=T’n的T’n-1与T’n,将数据复制到由T’n-1与T’n确定的子区间S’n中,并将原来处于子区间Sn中的数据置为无效状态;
优选地,当对区间S1执行垃圾回收操作时,垃圾回收操作的主要任务就是:一,回收整个S1子区间,将S1中的有效数据存储至相邻的子区间S2中,若S2已满,则存储至子区间S3中,以此类推;二,对子区间S1进行擦除操作,达到释放可用空间的目的,并执行时间标记变化:T1→T0、T2→T1、…、Tn-1→Tn-2、T0→Tn-1,区间标记变化:S1→SN、S2→S1、S3→S2、…、SN→SN-1;
优选地,当系统运行较长的一段时间Tswap后,交换Area_timegc区域和Area_normalgc区域,首先将Area_normalgc中的有效数据复制到缓冲区,回收Area_normalgc空间,然后在Area_timegc区域中选出有效数据量处于两端,即最多和最少的几个子空间,将它们复制到回收后的Area_normalgc区域中去,形成新的Area_timegc’区域,接下来回收这几个子空间,形成新的Area_normalgc’区域,最后将缓冲区中的原Area_normalgc的有效数据写入到Area_normalgc’中,完成Area_timegc区域和Area_normalgc区域的交换,其中Tswap在具体的应用情景下可具体设置。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
1、本发明缓解了现有固态盘系统中存在的垃圾回收时开销较大的技术问题:由于采用了步骤(1),固态盘从逻辑上被抽象为一个环形的存储空间,且被随系统时间变化的时间标记划分为多个存储子空间,采用步骤(2)(3),将文件系统提交的写数据请求予以分类,将暂时存储的数据和永久存储的数据放入不同的区域,进而采用步骤(4)(5)和步骤(6),对两种存储空间执行不同的垃圾回收操作,对非永久存储数据的空间执行基于数据生存期的垃圾回收操作,且改变相应的时间标记、空间标记达到循环利用存储空间的目的,对永久存储数据的空间执行其它合适的垃圾回收操作,有效提高了固态盘的存储空间的利用效率,减少了垃圾回收过程中有效数据的移动,提高了系统性能。
2、本发明提高了固态盘的性能,进而提高了固态盘存储系统的整体性能,改善了用户的体验效果。
附图说明
图1是本发明基于数据生存期的固态盘垃圾回收方法中循环存储空间Area_timegc的示意图。
图2是本发明基于数据生存期的固态盘垃圾回收方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
如图1所示,为本发明中基于数据生存期执行垃圾回收操作的区域Area_timegc的逻辑区域划分示意图,具体地固态盘存储空间按照垃圾回收操作的不同划分为两个区域,基于数据生存期执行垃圾回收操作的区域Area_timegc和正常回收区域Area_normalgc,在区域Area_timegc内执行基于数据生存期的垃圾回收操作,在区域Area_normalgc内执行已有的其它垃圾回收操作;其中:
基于数据生存期的执行垃圾回收操作的区间Area_timegc为一个按时刻标记的存储区间,该存储区间以递增时刻T0、T1、T2、….、TN-1标记,T0、T1、T2、….、TN-1将区间Area_timegc划分为S1、S2、…、SN共N个子区间;其中子区间Sn是处于时间标记Tn-1与Tn之间的区间,用来存储生存期限处于Tn-1(时间下限)与Tn(时间上限)之间的数据,子区间SN是处于时间标记TN-1与T0之间的区间,用来存储生存期限大于TN-1且不是永久存储的数据;
在系统运行过程中,根据系统运行时间依次对区间Area_timegc的各个子区间执行垃圾回收操作。
执行基于数据生存期的垃圾回收操作的区间Area_timegc为一个按时刻标记的环形存储区间,它的N个子区间S1、S2、…、SN是循环利用的,且是按时间依次执行垃圾回收操作的,其中N的值在具体的应用情景下可以具体设置。
具体地,上述根据系统运行时间依次对区间Area_timegc的各个子区间执行垃圾回收操作可以为:
当系统开始运行时,初始化系统运行时间T=0,当系统运行时间T等于T1与T0的差值时,对区间S1执行垃圾回收操作,并置T=0;时间标记变化为:T1→T0,T2→T1,…,Tn-1→Tn-2,T0→Tn-1,区间标记变化为:S1→SN,S2→S1,S3→S2,…,SN→SN-1;
重复上述操作,如此继续对区间标记变化成S1的区间执行垃圾回收操作,从而实现对区间Area_timegc的各个子区间循环执行垃圾回收操作。
进一步地,当所述固态盘接收到数据写入请求时,所述固态盘存储数据的方法为:
(1)当文件系统向固态盘发出写请求WriteReq时,记录待写数据的预期生存期限,即数据变为无效状态的预期时刻Tdeadline;
(2)判断待写入的数据是否需要永久保存在固态盘中,即判断Tdeadline是否大于kTN-1,若不大于kTN-1,说明待写数据不需要永久存储在固态盘中,转入步骤(3);否则转入步骤(4);其中k为大于1的时间系数;
(3)将待写数据写入固态盘的Area_timegc区域,具体包括将Tdeadline顺序与T0、T1、T2、….、TN-1作比较,找出符合条件Tn-1<Tdeadline<=Tn的Tn-1与Tn,将待写数据写入由Tn-1与Tn确定的子区间Sn中;若Tdeadline>TN-1,则写入子区间SN中;
(4)将待写数据写入固态盘的Area_normalgc区域。
例如,如图2所示,为本发明一个实施例中固态盘从写入数据到执行垃圾回收操作的流程图,具体地包括以下步骤:
(1)根据应用要求,固态盘存储空间划分为两个区域Area_timegc和Area_normalgc,在区域Area_timegc内执行基于数据生存期的垃圾回收操作,在区域Area_normalgc内执行已有的其它垃圾回收操作,设置Area_timegc需要执行垃圾回收的周期t_gc,并设置时间标记T0、T1、T2、….、TN-1的初始值,令T0等于系统当前时间Current_Systime,则Tn=Current_Systime+t_gc*n(n=1,2,..,N-1),T0、T1、T2、….、TN-1为递增数列且数列的每一项都随Current_Systime的变化而变化,T0、T1、T2、….、TN-1都是随系统时间变化而变化的时间变量,但是它们的差值为常数值,而且它们将固态盘的存储空间从逻辑上划S1、S2、…、SN共N个子区间,其中N的值在具体的应用情景下可以具体设置;
(2)文件系统向固态盘发出写请求WriteReq,并记录待写数据的预期生存期限,即数据变为无效状态的预期时刻Tdeadline,当系统运行到Tdeadline时刻时,该写请求写入的数据有很大的概率已经被删除或者更新,因而会被置为无效状态,其中待写数据的生存期信息有上层应用告知文件系统;
(3)判断待写入的数据是否是需要永久保存在固态盘中的,具体来说,判断Tdeadline是否大于kTN-1,若不大于kTN-1,说明待写数据不是要永久存储在固态盘中的,转入步骤(4);若大于kTN-1,则说明数据相对来说,是需要被永久存储在固态盘中的,转入步骤(6);其中k为大于1的时间系数,在不同的应用场景下可以设置不同的值;
(4)将待写数据写入固态盘的Area_timegc区域,具体包括将Tdeadline顺序与T0、T1、T2、….、TN-1作比较,找出符合条件Tn-1<Tdeadline<=Tn的Tn-1与Tn,将待写数据写入由Tn-1与Tn确定的子区间Sn中;若Tdeadline>TN-1,则写入子区间SN中;
当待写数据需要写入由Tn-1与Tn确定的子区间Sn中且Sn中已经没有足够的空间来服务此次写请求时,则将数子区间Sn+1中,即将数据尽量存入比预期生存期限大的子空间中,可以减少固态盘垃圾回收时有效数据的移动。
(5)当系统运行时间Run_time=t_gc时,触发垃圾回收操作的执行,对子区间S1执行垃圾回收操作,执行垃圾回收操作后,时间标记变化为:T1→T0、T2→T1、…、Tn-1→Tn-2、T0→Tn-1,区间标记变化为:S1→SN、S2→S1、S3→S2、…、SN→SN-1,改变时间标记、空间标记,以达到循环利用Area_timegc存储空间的目的。
(6)将待写数据写入固态盘的Area_normalgc区域,当Area_normalgc的使用情况满足触发垃圾回收操作的条件时,对Area_normalgc执行相应的已有的其他垃圾回收操作。
进一步地,若文件系统发出更新已写入数据的生存期限请求,即请求Tdeadline变为T’deadline时,会出现两种情况:一,T’deadline仍然处于由Tn-1与Tn确定的时间区间内,此种情况无需移动数据到新的子区间;二,T’deadline不再处于由Tn-1与Tn确定的时间区间内,此种情况需要找到满足T’n-1<T’deadline<=T’n的T’n-1与T’n,将数据复制到由T’n-1与T’n确定的子区间S’n中,并将原来处于子区间Sn中的数据置为无效状态;
进一步地,当对区间S1执行垃圾回收操作时,垃圾回收操作的主要任务就是:一,回收整个S1子区间,将S1中的有效数据存储至相邻的子区间S2中,若S2已满,则存储至子区间S3中,以此类推;二,对子区间S1进行擦除操作,达到释放可用空间的目的,并执行时间标记变化:T1→T0、T2→T1、…、Tn-1→Tn-2、T0→Tn-1,区间标记变化:S1→SN、S2→S1、S3→S2、…、SN→SN-1;
进一步地,当系统运行较长的一段时间Tswap后,交换Area_timegc区域和Area_normalgc区域,首先将Area_normalgc中的有效数据复制到缓冲区,回收Area_normalgc空间,然后在Area_timegc区域中选出有效数据量处于两端,即最多和最少的几个子空间,将它们复制到回收后的Area_normal区域中去,形成新的Area_timegc’区域,接下来回收这几个子空间,形成新的Area_normalgc’区域,最后将缓冲区中的原Area_normalgc的有效数据写入到Area_normalgc’中,完成Area_timegc区域和Area_normalgc区域的交换,其中Tswap在具体的应用情景下可具体设置,这个环节有利于磨损均衡,避免了固态盘的某个区域过早失效从而影响到固态盘的整体寿命。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种基于数据生存期的固态盘垃圾回收方法,其特征在于,将固态盘存储空间划分为两个区域:基于数据生存期执行垃圾回收操作的区域Area_timegc和正常回收区域Area_normalgc,在区域Area_timegc内执行基于数据生存期的垃圾回收操作,在区域Area_normalgc内执行已有的其它垃圾回收操作;其中:
基于数据生存期的执行垃圾回收操作的区间Area_timegc为一个按时刻标记的存储区间,该存储区间以递增时刻T0、T1、T2、....、TN-1标记,T0、T1、T2、....、TN-1将区间Area_timegc划分为S1、S2、...、SN共N个子区间;其中子区间Sn是处于时间标记Tn-1与Tn之间的区间,用来存储生存期限处于时间下限Tn-1与时间上限Tn之间的数据,子区间SN是处于时间标记TN-1与T0之间的区间,用来存储生存期限大于TN-1且不是永久存储的数据;
在系统运行过程中,根据系统运行时间依次对区间Area_timegc的各个子区间执行垃圾回收操作。
2.根据权利要求1所述的方法,其特征在于,所述在系统运行过程中,根据系统运行时间依次对区间Area_timegc的各个子区间执行垃圾回收操作具体为:
当系统开始运行时,初始化系统运行时间T=0,当系统运行时间T等于T1与T0的差值时,对区间S1执行垃圾回收操作,并置T=0;时间标记变化为:T1→T0,T2→T1,...,Tn-1→Tn-2,T0→Tn-1,区间标记变化为:S1→SN,S2→S1,S3→S2,...,SN→SN-1;
重复上述操作,如此继续对区间标记变化成S1的区间执行垃圾回收操作,从而实现对区间Area_timegc的各个子区间循环执行垃圾回收操作。
3.根据权利要求1或2所述的基于数据生存期的固态盘垃圾回收方法,其特征在于,所述固态盘存储数据的方法为:
(1)当文件系统向固态盘发出写请求WriteReq时,记录待写数据的预期生存期限,即数据变为无效状态的预期时刻Tdeadline;
(2)判断待写入的数据是否需要永久保存在固态盘中,即判断Tdeadline是否大于kTN-1,若不大于kTN-1,说明待写数据不需要永久存储在固态盘中,转入步骤(3);否则转入步骤(4);其中k为大于1的时间系数;
(3)将待写数据写入固态盘的Area_timegc区域,具体包括将Tdeadline顺序与T0、T1、T2、....、TN-1作比较,找出符合条件Tn-1<Tdeadline<=Tn的Tn-1与Tn,将待写数据写入由Tn-1与Tn确定的子区间Sn中;若Tdeadline>TN-1,则写入子区间SN中;
(4)将待写数据写入固态盘的Area_normalgc区域。
4.根据权利要求3所述的基于数据生存期的固态盘垃圾回收方法,其特征在于,在所述步骤(3)中,当待写数据需要写入由Tn-1与Tn确定的子区间Sn中且Sn中已经没有足够的空间来服务此次写请求时,则将数据写入子区间Sn+1中。
5.根据权利要求3所述的基于数据生存期的固态盘垃圾回收方法,其特征在于,当文件系统发出更新已写入数据的生存期限请求时,即请求Tdeadline变为T’deadline时:
若T’deadline仍然处于由Tn-1与Tn确定的时间区间内,则无需移动该已写入数据到新的子区间;
若T’deadline不再处于由Tn-1与Tn确定的时间区间内,则需要找到满足T’n-1<T’deadline<=T’n的T’n-1与T’n,将该已写入数据复制到由T’n-1与T’n确定的子区间S’n中,并将原来处于子区间Sn中的该已写入数据置为无效状态。
6.根据权利要求2或3所述的基于数据生存期的固态盘垃圾回收方法,其特征在于,对区间S1执行垃圾回收操作具体包括:一,将子区间S1中的有效数据存储至相邻的子区间S2中,若S2已满,则存储至子区间S3中,以此类推;二,对子区间S1进行擦除操作。
7.根据权利要求1或2所述的基于数据生存期的固态盘垃圾回收方法,其特征在于,当系统运行设定时间Tswap后,交换Area_timegc区域和Area_normalgc区域,首先将Area_normalgc中的有效数据复制到缓冲区,回收Area_normalgc空间,然后在Area_timegc区域中选出有效数据量处于两端,即最多和最少的几个子空间,将它们复制到回收后的Area_normalgc区域中去,形成新的Area_timegc’区域,接下来回收这几个子空间,形成新的Area_normalgc’区域,最后将缓冲区中的原Area_normalgc的有效数据写入到Area_normalgc’中,完成Area_timegc区域和Area_normalgc区域的交换。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510671242.8A CN105204783B (zh) | 2015-10-13 | 2015-10-13 | 一种基于数据生存期的固态盘垃圾回收方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510671242.8A CN105204783B (zh) | 2015-10-13 | 2015-10-13 | 一种基于数据生存期的固态盘垃圾回收方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105204783A true CN105204783A (zh) | 2015-12-30 |
CN105204783B CN105204783B (zh) | 2018-12-07 |
Family
ID=54952502
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510671242.8A Active CN105204783B (zh) | 2015-10-13 | 2015-10-13 | 一种基于数据生存期的固态盘垃圾回收方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105204783B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109240941A (zh) * | 2018-09-21 | 2019-01-18 | 郑州云海信息技术有限公司 | 一种存储系统的垃圾回收方法及相关装置 |
CN109284233A (zh) * | 2018-09-18 | 2019-01-29 | 郑州云海信息技术有限公司 | 一种存储系统的垃圾回收方法及相关装置 |
CN109857337A (zh) * | 2018-12-10 | 2019-06-07 | 浪潮(北京)电子信息产业有限公司 | 一种写入速度控制方法、系统、装置及可读存储介质 |
WO2020042850A1 (zh) * | 2018-08-27 | 2020-03-05 | 华为技术有限公司 | 数据的存储方法、装置和存储系统 |
WO2021120137A1 (zh) * | 2019-12-19 | 2021-06-24 | 华为技术有限公司 | 一种数据存储方法及存储装置 |
CN113190469A (zh) * | 2021-05-13 | 2021-07-30 | 合肥康芯威存储技术有限公司 | 一种存储器、数据写入方法及存储系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102799535A (zh) * | 2012-06-29 | 2012-11-28 | 记忆科技(深圳)有限公司 | 固态硬盘的数据处理方法及固态硬盘 |
CN103455435A (zh) * | 2013-08-29 | 2013-12-18 | 华为技术有限公司 | 数据写入方法及装置 |
CN104391661A (zh) * | 2014-12-12 | 2015-03-04 | 西安三星电子研究有限公司 | 向固态硬盘写入数据的方法及设备 |
US20150254268A1 (en) * | 2012-02-29 | 2015-09-10 | Netapp, Inc. | Fragmentation control for performing deduplication operations |
-
2015
- 2015-10-13 CN CN201510671242.8A patent/CN105204783B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150254268A1 (en) * | 2012-02-29 | 2015-09-10 | Netapp, Inc. | Fragmentation control for performing deduplication operations |
CN102799535A (zh) * | 2012-06-29 | 2012-11-28 | 记忆科技(深圳)有限公司 | 固态硬盘的数据处理方法及固态硬盘 |
CN103455435A (zh) * | 2013-08-29 | 2013-12-18 | 华为技术有限公司 | 数据写入方法及装置 |
CN104391661A (zh) * | 2014-12-12 | 2015-03-04 | 西安三星电子研究有限公司 | 向固态硬盘写入数据的方法及设备 |
Non-Patent Citations (2)
Title |
---|
SANGWOOK SHANE HAHN等: "To Collect or Not Collect:Just-in-time Garbage Collection for High-Performance SSDs with Long Lifetimes", 《DESIGN AUTOMATION CONFERENCE》 * |
武新丽: "浅谈_NETFramework中的垃圾回收机制", 《廊坊师范学院学报(自然科学版)》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020042850A1 (zh) * | 2018-08-27 | 2020-03-05 | 华为技术有限公司 | 数据的存储方法、装置和存储系统 |
US12008263B2 (en) | 2018-08-27 | 2024-06-11 | Huawei Technologies Co., Ltd. | Garbage collection and data storage method and apparatus, and storage system |
CN109284233A (zh) * | 2018-09-18 | 2019-01-29 | 郑州云海信息技术有限公司 | 一种存储系统的垃圾回收方法及相关装置 |
CN109284233B (zh) * | 2018-09-18 | 2022-02-18 | 郑州云海信息技术有限公司 | 一种存储系统的垃圾回收方法及相关装置 |
CN109240941A (zh) * | 2018-09-21 | 2019-01-18 | 郑州云海信息技术有限公司 | 一种存储系统的垃圾回收方法及相关装置 |
CN109240941B (zh) * | 2018-09-21 | 2021-12-03 | 郑州云海信息技术有限公司 | 一种存储系统的垃圾回收方法及相关装置 |
CN109857337A (zh) * | 2018-12-10 | 2019-06-07 | 浪潮(北京)电子信息产业有限公司 | 一种写入速度控制方法、系统、装置及可读存储介质 |
WO2021120137A1 (zh) * | 2019-12-19 | 2021-06-24 | 华为技术有限公司 | 一种数据存储方法及存储装置 |
CN113190469A (zh) * | 2021-05-13 | 2021-07-30 | 合肥康芯威存储技术有限公司 | 一种存储器、数据写入方法及存储系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105204783B (zh) | 2018-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105204783A (zh) | 一种基于数据生存期的固态盘垃圾回收方法 | |
CN102508788B (zh) | Ssd及ssd垃圾回收方法和装置 | |
CN102866956B (zh) | 基于固态存储介质的数据实时跟踪存储系统及方法 | |
CN101923448B (zh) | 一种nand闪存的转换层读写方法 | |
CN106598878B (zh) | 一种固态硬盘冷热数据分离方法 | |
CN107391774B (zh) | 基于重复数据删除的日志文件系统的垃圾回收方法 | |
CN109656486B (zh) | 固态硬盘的配置方法、数据存储方法、固态硬盘和存储控制器 | |
CN109426622B (zh) | 一种提高闪存固态盘寿命的方法及高寿命闪存固态盘 | |
CN102135942B (zh) | 一种存储设备中实现损耗均衡的方法及存储设备 | |
CN102768645B (zh) | 混合缓存的固态硬盘预取方法和固态硬盘ssd | |
CN101515276B (zh) | 一种文件数据写操作的方法、文件数据恢复方法及系统 | |
US20120173797A1 (en) | Method for performing block management/flash memory management, and associated memory device and controller thereof | |
US9213634B2 (en) | Efficient reuse of segments in nonoverwrite storage systems | |
CN101526927B (zh) | Flash文件系统的数据处理方法及数据处理装置 | |
CN104346357A (zh) | 一种嵌入式终端的文件存取方法及系统 | |
TWI434175B (zh) | 用來進行區塊管理之方法以及記憶裝置及控制器 | |
CN102841851A (zh) | 闪存管理方法和闪存设备 | |
CN103488583A (zh) | 一种高性能高可靠的固态盘实现方法 | |
CN109710541B (zh) | 针对NAND Flash主控芯片Greedy垃圾回收的优化方法 | |
CN103455435A (zh) | 数据写入方法及装置 | |
CN101556555B (zh) | 用于闪存的区块管理方法、其控制器与储存系统 | |
CN110531927B (zh) | 一种基于块分级的垃圾回收方法及非易失性的存储设备 | |
CN109471594B (zh) | 一种mlc闪存读写方法 | |
CN107092563B (zh) | 一种垃圾回收方法及装置 | |
CN109558333B (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 |