CN103577338A - 一种回收垃圾数据的方法及存储设备 - Google Patents
一种回收垃圾数据的方法及存储设备 Download PDFInfo
- Publication number
- CN103577338A CN103577338A CN201310573861.4A CN201310573861A CN103577338A CN 103577338 A CN103577338 A CN 103577338A CN 201310573861 A CN201310573861 A CN 201310573861A CN 103577338 A CN103577338 A CN 103577338A
- Authority
- CN
- China
- Prior art keywords
- data
- section
- predicted value
- junk
- current time
- 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
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
-
- 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
- G06F12/0261—Garbage collection, i.e. reclamation of unreferenced memory using reference counting
-
- 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/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- 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/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/70—Details relating to dynamic memory management
- G06F2212/702—Conservative garbage collection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
Abstract
本发明实施例提供一种回收垃圾数据的方法和存储设备,分别记录存储设备每个段内当前时间的第一数据的数据量和在所述当前时间之前预先设置的时间内所述第一数据的变化量;根据所述每个段内所述第一数据的数据量和所述第一数据的变化量计算所述第一数据的预测值;根据每个段内所述第一数据的预测值确定需要回收垃圾数据的段,优先回收垃圾较多且垃圾产生速率较低的段,从而提高回收垃圾数据的效率。
Description
技术领域
本发明涉及计算机领域,尤其涉及到一种回收垃圾数据的方法及存储设备。
背景技术
一般的存储设备写入数据后,会根据逻辑块地址(Logical Block Address,LBA)找到对应的地址,然后把数据写进去。如果多个输入输出命令(InputOutput,IO)之间地址相连,则为顺序IO,否则为随机IO。
存储设备中的硬盘驱动器(Hard Disk Drive,HDD)要读取一个数据时,磁头必须先移动到数据所在磁道,磁头沿径向移动,移到目标扇区所在磁道的上方,这段时间称为寻道时间,平均约为10毫秒。找到目标磁道后通过盘片的旋转,使得要目标扇区转到磁头的下方,这段时间称为旋转延迟时间,一个7200(转/每分钟)的硬盘,每旋转一周所需时间为约为8.33毫秒,则平均旋转延迟时间为约为4.17毫秒。向目标扇区读取或写入数据,时间约为零点几个毫秒。对于顺序IO,IO之间不需要重新寻道和等待,因此顺序IO性能比较高;对于随机IO,每个IO需要重新寻道和等待,寻道和等待时间比数据读取或写入时间高非常多,因此随机IO性能非常差。
存储设备中的一般采用冗余磁盘阵列(Redundant Array of IndependentDisks,RAID)保护,对于随机写IO,RAID5和RAID6都有写惩罚,严重影响性能;对应顺序写IO,写惩罚非常小。以8盘RAID5为例说明写惩罚对写性能的影响。8盘RAID5由7个数据盘(D)和一个校验盘(P)组成,如果随机写一个小IO,则最好情况下,必须把旧的校验数据读到内存中;然后用新数据和旧的校验数据一起重新校验产生新校验数据后,再一起写入磁盘中。每个主机IO至少触发3次磁盘IO操作,写放大3倍,整个系统性能下降2/3。顺序写时,在收到7个主机IO后,一起校验产生新的校验数据,然后7个IO连同一个新的校验数据一起下盘。每7个主机IO触发8次磁盘操作,写放大8/7倍性能下降非常少。
重定向写为完全顺序写,既可以解决HDD随机写性能差问题,又可以解决RAID写惩罚问题,因此,在处理写IO的情况下,引入重定向写功能。把存储设备的物理空间划分为有效数据空间和冗余空间。有效数据空间存储已经写入的数据。在写IO的逻辑地址与有效数据空间物理地址之间建立一层映射,当逻辑地址上来了随机的写IO后,不覆盖写有效数据空间原始物理位置,而是从冗余空间中分配出一段空间,把多个随机写IO顺序写入连续的冗余空间,然后用映射表记录逻辑地址到新物理地址映射,被写过的旧的有效数据物理空间变成垃圾。这样可以把随机写转换成满条带顺序写,提高存储设备写性能。
重定向写会在旧的物理空间产生垃圾,当冗余空间低于一定程度后,必须启动垃圾回收,否则冗余空间用完后,新写入IO会由于分配不到冗余空间而无法处理。为了方便垃圾回收,一般把存储设备物理空间按一定大小先划分为多个段,在RAID场景下段是指整个条带,在固态存储硬盘(Solid State Disk,SSD)场景下段是指可以擦除的块,其他场景下段是指一段连续的空间。当系统运行一段时间后,每个段内都有可能产生垃圾,垃圾数与段内块数的比值称为段内垃圾比例。垃圾回收时,一般先找到垃圾比例较高的段,把该段内剩余有效数据搬移到冗余空间中,将该段有效数据搬移后,就可以将该段回收,把该段变成冗余空间,用于重新分配。
在SSD中,由最小写入单位页组成组成块,其中,SSD中,块为进行数据回收的段。在SSD中写入数据之前需要先擦除,擦除的单位为块,因此SSD内部也采用重定向写,也存在垃圾回收,操作过程跟前面提到的重定向写完全一样,只是在回收前多了一步擦除操作。
通常的,基于重定向写的存储设备的垃圾回收,一般采用垃圾比例作为回收条件,当冗余空间不足后,按垃圾比例高低优先级对垃圾比例较高的段进行回收。垃圾回收过程需要搬移有效数据,搬移需要把有效数据读出来,再把有效数据写入新的地址,这一过程产生读IO和写IO,属于重定向写功能的一部分,因此,搬移过程中需要产生新的IO,新的IO会占用存储设备IO资源和带宽。在一般的存储设备中,IO资源和带宽是有限的,段内的垃圾比例越低,段内需要搬移的有效数据量越大,占用存储设备的IO资源和带宽能力就越多,最终对存储设备性能的影响就越大。现有技术中,基本上每个段在垃圾比例达到预定值后就立马回收,回收垃圾数据效率低。
发明内容
本发明提供了一种回收垃圾数据的方法,旨在解决如何提高垃圾回收效率的问题。
第一方面,一种回收垃圾数据的方法,所述方法包括:
分别记录存储设备每个段内当前时间的第一数据的数据量和在所述当前时间之前预先设置的时间内所述第一数据的变化量;所述第一数据是垃圾数据或者有效数据,所述第一数据的变化量是所述垃圾数据的增加量或者所述有效数据的减少量,所述垃圾数据的增加量的数值和所述有效数据的减少量的数值相同;
根据所述每个段内所述第一数据的数据量和所述第一数据的变化量计算所述第一数据的预测值;
根据每个段内所述第一数据的预测值确定需要回收垃圾数据的段;
其中,所述有效数据是指段内与逻辑地址存在映射关系的物理地址中存储的数据;所述垃圾数据是指段内与逻辑地址不存在映射关系的物理地址中存储的数据。
结合第一方面,在第一方面的第一种可能的实现方式中,
所述根据所述每个段内所述第一数据的数据量和所述第一数据的变化量计算所述第一数据的预测值,包括:
根据所述每个段内所述第一数据的数据量和第一权重计算所述第一数据的数据量的预测值;
根据所述每个段内所述第一数据的变化量和第二权重计算所述第一数据的变化量的预测值;
根据所述第一数据的数据量的预测值和所述第一数据的变化量的预测值计算所述第一数据的预测值。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,
所述分别记录存储设备每个段内当前时间的第一数据的数据量和在所述当前时间之前预先设置的时间内所述第一数据的变化量,包括:
分别记录所述每个段内当前时间的垃圾数据的数据量和在所述当前时间之前预先设置的时间内垃圾数据的增加量;
所述根据所述每个段内所述第一数据的数据量和所述第一数据的变化量计算所述第一数据的预测值,包括:
根据所述每个段内所述当前时间的垃圾数据的数据量和所述第一权重计算所述当前时间的垃圾数据的数据量的预测值;
根据所述每个段内所述垃圾数据的增加量和所述第二权重计算所述垃圾数据的变化量的预测值;
将所述每个段内所述当前时间的垃圾数据的数据量的预测值和所述垃圾数据的变化量的预测值相减,得到所述垃圾数据的预测值;
所述根据所述每段第一数据的预测值确定需要回收垃圾数据的段,包括:
按照垃圾数据的预测值从大到小的顺序确定需要回收垃圾数据的段。
结合第一方面的第一种可能的实现方式,在第一方面的第三种可能的实现方式中,
所述分别记录存储设备每个段内当前时间的第一数据的数据量和在所述当前时间之前预先设置的时间内所述第一数据的变化量,包括:
分别记录所述每个段内当前时间的有效数据的数据量和在所述当前时间之前预先设置的时间内有效数据的减少量;
所述根据所述每个段内所述第一数据的数据量和所述第一数据的变化量计算所述第一数据的预测值,包括:
根据所述每个段内所述当前时间的有效数据的数据量和所述第一权重计算所述当前时间的有效数据的数据量的预测值;
根据所述每个段内所述有效数据的减少量和所述第二权重计算所述有效数据的变化量的预测值;
将所述每个段内所述当前时间的有效数据的数据量的预测值和所述有效数据的变化量的预测值相加,得到所述有效数据的预测值;
所述根据所述每段第一数据的预测值确定需要回收垃圾数据的段,包括:
按照有效数据的预测值从小到大的顺序确定需要回收垃圾数据的段。
结合第一方面的第一种可能的实现方式,在第一方面的第四种可能的实现方式中,所述分别记录存储设备每个段内当前时间的第一数据的数据量和在所述当前时间之前预先设置的时间内所述第一数据的变化量,包括:
分别记录所述每个段内当前时间的垃圾数据的数据量和在所述当前时间之前预先设置的时间内有效数据的减少量;
所述根据所述每个段内所述第一数据的数据量和所述第一数据的变化量计算所述第一数据的预测值,包括:
根据所述每个段内所述当前时间的垃圾数据的数据量和所述第一权重计算所述当前时间的垃圾数据的数据量的预测值;
根据所述每个段内所述有效数据的减少量和所述第二权重计算所述有效数据的变化量的预测值;
将所述每个段内所述当前时间的垃圾数据的数据量的预测值和所述有效数据的变化量的预测值相减,得到所述垃圾数据的预测值;
所述根据所述每段第一数据的预测值确定需要回收垃圾数据的段,包括:
按照垃圾数据的预测值从大到小的顺序确定需要回收垃圾数据的段。
结合第一方面的第一种可能的实现方式,在第一方面的第五种可能的实现方式中,所述分别记录存储设备每个段内当前时间的第一数据的数据量和在所述当前时间之前预先设置的时间内所述第一数据的变化量,包括:
分别记录所述每个段内当前时间的有效数据的数据量和在所述当前时间之前预先设置的时间内垃圾数据的增加量;
所述根据所述每个段内所述第一数据的数据量和所述第一数据的变化量计算所述第一数据的预测值,包括:
根据所述每个段内所述当前时间的有效数据的数据量和所述第一权重计算所述当前时间的有效数据的数据量的预测值;
根据所述每个段内所述垃圾数据的增加量和所述第二权重计算所述垃圾数据的变化量的预测值;
将所述每个段内所述当前时间的有效数据的数据量的预测值和所述垃圾数据的变化量的预测值相加,得到所述有效数据的预测值;
所述根据所述每段第一数据的预测值确定需要回收垃圾数据的段,包括:
按照有效数据的预测值从小到大的顺序确定需要回收垃圾数据的段。
第二方面,一种回收垃圾数据的存储设备,所述设备包括:
记录单元,用于分别记录每个段内当前时间的第一数据的数据量和在所述当前时间之前预先设置的时间内所述第一数据的变化量;所述第一数据是垃圾数据或者所述有效数据,所述第一数据的变化量是所述垃圾数据的增加量或者所述有效数据的减少量,所述垃圾数据的增加量的数值和所述有效数据的减少量的数值相同;
计算单元,用于根据所述每个段内所述第一数据的数据量和所述第一数据的变化量计算所述第一数据的预测值;
确定单元,用于根据每个段内所述第一数据的预测值确定需要回收垃圾数据的段;
其中,所述有效数据是指段内与逻辑地址存在映射关系的物理地址中存储的数据;所述垃圾数据是指段内与逻辑地址不存在映射关系的物理地址中存储的数据。
结合第二方面,在第二方面的第一种可能的实现方式中,所述计算单元,具体用于:
根据所述每个段内所述第一数据的数据量和第一权重计算所述第一数据的数据量的预测值;
根据所述每个段内所述第一数据的变化量和第二权重计算所述第一数据的变化量的预测值;
根据所述第一数据的数据量的预测值和所述第一数据的变化量的预测值计算所述第一数据的预测值结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述记录单元,具体用于:
分别记录所述每个段内当前时间的垃圾数据的数据量和在所述当前时间之前预先设置的时间内垃圾数据的增加量;所述计算单元,具体用于:
根据所述每个段内所述当前时间的垃圾数据的数据量和所述第一权重计算所述当前时间的垃圾数据的数据量的预测值;
根据所述每个段内所述垃圾数据的增加量和所述第二权重计算所述垃圾数据的变化量的预测值;
将所述每个段内所述当前时间的垃圾数据的数据量的预测值和所述垃圾数据的变化量的预测值相减,得到所述垃圾数据的预测值;
所述确定单元,具体用于:
按照垃圾数据的预测值从大到小的顺序确定需要回收垃圾数据的段。
结合第二方面的第一种可能的实现方式,在第二方面的第三种可能的实现方式中,所述记录单元,具体用于:
分别记录所述每个段内当前时间的有效数据的数据量和在所述当前时间之前预先设置的时间内有效数据的减少量;
所述计算单元,具体用于:
根据所述每个段内所述当前时间的有效数据的数据量和所述第一权重计算所述当前时间的有效数据的数据量的预测值;
根据所述每个段内所述有效数据的减少量和所述第二权重计算所述有效数据的变化量的预测值;
将所述每个段内所述当前时间的有效数据的数据量的预测值和所述有效数据的变化量的预测值相加,得到所述有效数据的预测值;
所述确定单元,具体用于:
按照有效数据的预测值从小到大的顺序确定需要回收垃圾数据的段。
结合第二方面的第一种可能的实现方式,在第二方面的第四种可能的实现方式中,所述记录单元,具体用于:
分别记录所述每个段内当前时间的垃圾数据的数据量和在所述当前时间之前预先设置的时间内有效数据的减少量;
所述计算单元,具体用于:
根据所述每个段内所述当前时间的垃圾数据的数据量和所述第一权重计算所述当前时间的垃圾数据的数据量的预测值;
根据所述每个段内所述有效数据的减少量和所述第二权重计算所述有效数据的变化量的预测值;
将所述每个段内所述当前时间的垃圾数据的数据量的预测值和所述有效数据的变化量的预测值相减,得到所述垃圾数据的预测值;
所述确定单元,具体用于:
按照垃圾数据的预测值从大到小的顺序确定需要回收垃圾数据的段。
结合第二方面的第一种可能的实现方式,在第二方面的第五种可能的实现方式中,所述记录单元,具体用于:
分别记录所述每个段内当前时间的有效数据的数据量和在所述当前时间之前预先设置的时间内垃圾数据的增加量;
所述计算单元,具体用于:
根据所述每个段内所述当前时间的有效数据的数据量和所述第一权重计算所述当前时间的有效数据的数据量的预测值;
根据所述每个段内所述垃圾数据的增加量和所述第二权重计算所述垃圾数据的变化量的预测值;
将所述每个段内所述当前时间的有效数据的数据量的预测值和所述垃圾数据的变化量的预测值相加,得到所述有效数据的预测值;
所述确定单元,具体用于:
按照有效数据的预测值从小到大的顺序确定需要回收垃圾数据的段。
本发明实施例提供一种回收垃圾数据的方法和存储设备,分别记录存储设备每个段内当前时间的第一数据的数据量和在所述当前时间之前预先设置的时间内所述第一数据的变化量;第一数据是垃圾数据或者有效数据,第一数据的变化量是所述垃圾数据的增加量或者所述有效数据的减少量,所述垃圾数据的增加量的数值和所述有效数据的减少量的数值相同;根据所述每个段内所述第一数据的数据量和所述第一数据的变化量计算所述第一数据的预测值;根据每个段内所述第一数据的预测值确定需要回收垃圾数据的段,优先回收垃圾较多且垃圾产生速率较低的段,从而提供回收垃圾数据的效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种回收垃圾数据的方法流程图;
图2是本发明实施例一提供的一种回收垃圾数据的方法示意图;
图3是本发明实施例二提供的一种回收垃圾数据的方法示意图;
图4是本发明实施例提供的一种回收垃圾数据的设备结构图;
图5是本发明实施例提供的一种存储设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参考图1,图1是本发明实施例提供的一种回收垃圾数据的方法流程图。如图1所示,所述方法包括以下步骤:
步骤101,分别记录存储设备每个段内当前时间的第一数据的数据量和在所述当前时间之前预先设置的时间内所述第一数据的变化量;所述第一数据是垃圾数据或者有效数据,所述第一数据的变化量是所述垃圾数据的增加量或者所述有效数据的减少量,所述垃圾数据的增加量的数值和有效数据的减少量的数值相同。
其中,所述有效数据是指段内与逻辑地址存在映射关系的物理地址中存储的数据;所述垃圾数据是指段内与逻辑地址不存在映射关系的物理地址中存储的数据。
存储设备中一般把物理空间按一定大小先划分为多个段,在存储设备为RAID场景下所述段是指整个条带,在存储设备为SSD场景下所述段是指可以擦除的块,其他场景下所述段是指一段连续的空间。
具体的,在使用重定向写的存储设备中数据地址有两个,分别是逻辑地址和物理地址。逻辑地址到物理地址之间有一个映射表,用于记录逻辑地址与物理地址的映射。使用重定向写的存储设备接收到写IO后,会携带逻辑地址。向逻辑地址第一次写入数据时,会从存储设备的物理空间分配一个新的物理地址,把数据写入新的物理地址中,并在映射表中建立逻辑地址到新的物理地址的映射。当向相同逻辑地址第二次写入数据时,会从物理空间分配另一个新的物理地址,把数据写入新的物理地址中,并在映射表中建立逻辑地址与新的物理地址的映射。所述另一新的物理地址中存储的数据为有效数据,原物理地址的数据变成垃圾数据。回收段时,垃圾数据不需要搬移,只需要搬移有效数据。
步骤102,根据所述每个段内所述第一数据的数据量和所述第一数据的变化量计算所述第一数据的预测值;
可选地,所述根据所述每个段内所述第一数据的数据量和所述第一数据的变化量计算所述第一数据的预测值,包括:
根据所述每个段内所述第一数据的数据量和第一权重计算所述第一数据的数据量的预测值;
根据所述每个段内所述第一数据的变化量和第二权重计算所述第一数据的变化量的预测值;
根据所述第一数据的数据量的预测值和所述第一数据的变化量的预测值计算第一数据的预测值。
其中,假设每个段内当前时间的第一数据为垃圾数据,第一权重为1/2,所述每个段内第一数据的变化量为垃圾数据的变化量,第二权重为1/3。根据垃圾数据越多越优先回收的原则,垃圾数据量乘以第一权重之积越大,表示段内垃圾数据越多,有效数据越少,回收时搬移有效数据的量就会越小,因此,越优先回收;垃圾数据的变化量乘以第二权重之积越大,表示段内垃圾数据增加量越大,推迟回收使其进一步产生更多的垃圾,因此,越晚回收。综合考虑这两个因素,在表达式上可以为:
垃圾数据量×第一权重-垃圾数据的变化量×第二权重。
假设每段内当前时间的第一数据为有效数据,第一权重为1/2,第一数据的变化量为有效数据的变化量,第二权重为1/3,则根据有效数据越少越优先回收的原则,有效数据量乘以第一权重之积越小,表示有效数据越少,回收时搬移有效数据的量就会越小,因此,越优先回收;有效数据的变化量乘以第二权重之积越小,表示垃圾数据增加量越小,则提早回收。综合考虑这两个因素,在表达式上可以为:
有效数据量×第一权重-有效数据的变化量×第二权重。
步骤103,根据每个段内所述第一数据的预测值确定需要回收垃圾数据的段。
可选地,所述分别记录存储设备每个段内当前时间的第一数据的数据量和在所述当前时间之前预先设置的时间内所述第一数据的变化量,包括:
分别记录所述每个段内当前时间的垃圾数据的数据量和在所述当前时间之前预先设置的时间内垃圾数据的增加量;
所述根据所述每个段内所述第一数据的数据量和所述第一数据的变化量计算所述第一数据的预测值,包括:
根据所述每个段内所述当前时间的垃圾数据的数据量和所述第一权重计算所述当前时间的垃圾数据的数据量的预测值;
根据所述每个段内所述垃圾数据的增加量和所述第二权重计算所述垃圾数据的变化量的预测值;
将所述每个段内所述当前时间的垃圾数据的数据量的预测值和所述垃圾数据的变化量的预测值相减,得到所述垃圾数据的预测值;
所述根据所述每段第一数据的预测值确定需要回收垃圾数据的段,包括:
按照垃圾数据的预测值从大到小的顺序确定需要回收垃圾数据的段。
具体的,图2是本发明实施例一提供的一种回收垃圾数据的方法示意图。如图2所示,假设存储设备有三个段需要回收,段0在时刻1时总的存储容量是100MB,有效数据是80MB,垃圾数据是20MB,段1在时刻1时总的存储容量是100MB,有效数据是60MB,垃圾数据是40MB,段2在时刻1时总的存储容量是100MB,有效数据是40MB,垃圾数据是60MB;段0在时刻2时总的存储容量是100MB,有效数据是40MB,垃圾数据是60MB,段1在时刻2时总的存储容量是100MB,有效数据是40MB,垃圾数据是60MB,段2在时刻2时总的存储容量是100MB,有效数据是40MB,垃圾数据是60MB。
假设预先设置的第一权重为1,第二权重为1/2,则根据每个段时刻1到时刻2的垃圾数据的增加量,计算每个段垃圾数据的预测值。段0在时刻1到时刻2的垃圾数据增加量为40MB,将40MB乘以权重1/2得到段0的垃圾数据的预测值为20MB,段1在时刻1到时刻2的垃圾数据增加量为20MB,将20MB乘以权重1/2得到段0的垃圾数据的预测值为10MB,段2在时刻1到时刻2的垃圾数据增加量为0,段2的垃圾数据的预测值为0。
根据上述的数据,段0垃圾数据的预测值可通过垃圾数据量×第一权重-垃圾数据的变化量×第二权重计算得到,即60MB×1-40MB×1/2=40MB;
段1垃圾数据的预测值可通过垃圾数据量×第一权重-垃圾数据的变化量×第二权重计算得到,即60MB×1-20MB×1/2=50MB;
段2垃圾数据的预测值可通过垃圾数据量×第一权重-垃圾数据的变化量×第二权重计算得到,即60MB×1-0MB×1=60MB。
按照垃圾数据的预测值从大到小的顺序确定需要回收垃圾数据的段的原则,优先回收段2内的垃圾数据,其次回收段1内的垃圾数据,最后回收段0内的垃圾数据。
可选地,所述分别记录存储设备每个段内当前时间的第一数据的数据量和在所述当前时间之前预先设置的时间内所述第一数据的变化量,包括:
分别记录所述每个段内当前时间的有效数据的数据量和在所述当前时间之前预先设置的时间内有效数据的减少量;
所述根据所述每个段内所述第一数据的数据量和所述第一数据的变化量计算所述第一数据的预测值,包括:
根据所述每个段内所述当前时间的有效数据的数据量和所述第一权重计算所述当前时间的有效数据的数据量的预测值;
根据所述每个段内所述有效数据的减少量和所述第二权重计算所述有效数据的变化量的预测值;
将所述每个段内所述当前时间的有效数据的数据量的预测值和所述有效数据的变化量的预测值相加,得到所述有效数据的预测值;
所述根据所述每段第一数据的预测值确定需要回收垃圾数据的段,包括:
按照有效数据的预测值从小到大的顺序确定需要回收垃圾数据的段。
具体的,图3是本发明实施例二提供的一种回收垃圾数据的方法示意图。如图3所示,假设存储设备有三个段需要回收,段0在时刻1时总的存储容量是100MB,有效数据是80MB,垃圾数据是20MB,段1在时刻1时总的存储容量是100MB,有效数据是60MB,垃圾数据是40MB,段2在时刻1时总的存储容量是100MB,有效数据是40MB,垃圾数据是60MB;段0在时刻2时总的存储容量是100MB,有效数据是40MB,存储数据是60MB,段1在时刻2时总的存储容量是100MB,有效数据是40MB,垃圾数据是60MB,段2在时刻2时总的存储容量是100MB,有效数据是40MB,垃圾数据是60MB。
假设第一权重为1,第二权重为1/2,则根据每段时刻1到时刻2的有效数据的减少量,计算每段有效数据的预测值。段0在时刻1到时刻2的有效数据减少量为40MB,将40MB乘以权重1/2得到段0的有效数据的预测值为20MB,段1在时刻1到时刻2的有效数据的减少量为20MB,将20MB乘以权重1/2得到段0的有效数据的预测值为10MB,段2在时刻1到时刻2的有效数据的减少量为0,段2的有效数据的预测值为0。
根据上述的数据,段0有效数据的预测值可通过有效数据量×第一权重+有效数据的变化量×第二权重计算得到,即40MB×1+40MB×1/2=60MB;
段1有效数据的预测值可通过有效数据量×第一权重+有效数据的变化量×第二权重计算得到,即40MB×1+20MB×1/2=50MB;
段2有效数据的预测值可通过有效数据量×第一权重+有效数据的变化量×第二权重计算得到,即40MB×1+0MB×1=40MB。
按照有效数据的预测值从小到大的顺序确定需要回收垃圾数据的段,优先回收段2内的垃圾数据,其次回收段1内的垃圾数据,最后回收段0内的垃圾数据。
可选地,所述分别记录存储设备每个段内当前时间的第一数据的数据量和在所述当前时间之前预先设置的时间内所述第一数据的变化量,包括:
分别记录所述每个段内当前时间的垃圾数据的数据量和在所述当前时间之前预先设置的时间内有效数据的减少量;
所述根据所述每个段内所述第一数据的数据量和所述第一数据的变化量计算所述第一数据的预测值,包括:
根据所述每个段内所述当前时间的垃圾数据的数据量和所述第一权重计算所述当前时间的垃圾数据的数据量的预测值;
根据所述每个段内所述有效数据的减少量和所述第二权重计算所述有效数据的变化量的预测值;
将所述每个段内所述当前时间的垃圾数据的数据量的预测值和所述有效数据的变化量的预测值相减,得到所述垃圾数据的预测值;
所述根据所述每段第一数据的预测值确定需要回收垃圾数据的段,包括:
按照垃圾数据的预测值从大到小的顺序确定需要回收垃圾数据的段。
可选地,所述分别记录存储设备每个段内当前时间的第一数据的数据量和在所述当前时间之前预先设置的时间内所述第一数据的变化量,包括:
分别记录所述每个段内当前时间的有效数据的数据量和在所述当前时间之前预先设置的时间内垃圾数据的增加量;
所述根据所述每个段内所述第一数据的数据量和所述第一数据的变化量计算所述第一数据的预测值,包括:
根据所述每个段内所述当前时间的有效数据的数据量和所述第一权重计算所述当前时间的有效数据的数据量的预测值;
根据所述每个段内所述垃圾数据的增加量和所述第二权重计算所述垃圾数据的变化量的预测值;
将所述每个段内所述当前时间的有效数据的数据量的预测值和所述垃圾数据的变化量的预测值相加,得到所述有效数据的预测值;
所述根据所述每段第一数据的预测值确定需要回收垃圾数据的段,包括:
按照有效数据的预测值从小到大的顺序确定需要回收垃圾数据的段。
本发明实施例提供一种回收垃圾数据的方法,分别记录存储设备每个段内当前时间的第一数据的数据量和在所述当前时间之前预先设置的时间内所述第一数据的变化量;第一数据是垃圾数据或者有效数据,第一数据的变化量是所述垃圾数据的增加量或者所述有效数据的减少量,所述垃圾数据的增加量的数值和所述有效数据的减少量的数值相同;根据所述每个段内所述第一数据的数据量和所述第一数据的变化量计算所述第一数据的预测值;根据每个段内所述第一数据的预测值确定需要回收垃圾数据的段,优先回收垃圾较多且垃圾产生速率较低的段,从而提高回收垃圾数据的效率。
参考图4,图4是本发明实施例提供的一种回收垃圾数据的存储设备的结构图。所述存储设备包括:
记录单元401,用于
分别记录每个段内当前时间的第一数据的数据量和在所述当前时间之前预先设置的时间内所述第一数据的变化量;所述第一数据是垃圾数据或者有效数据,所述第一数据的变化量是所述垃圾数据的增加量或者所述有效数据的减少量,所述垃圾数据的增加量的数值和有效数据的减少量的数值相同;
其中,所述有效数据是指段内与逻辑地址存在映射关系的物理地址中存储的数据;所述垃圾数据是指段内与逻辑地址不存在映射关系的物理地址中存储的数据。
具体的,在使用重定向写的存储设备中数据地址有两个,分别是逻辑地址和物理地址。逻辑地址到物理地址之间有一个映射表,用于记录逻辑地址与物理地址的映射。使用重定向写的存储设备接收到写IO后,会携带逻辑地址。向逻辑地址第一次写入数据时,会从存储设备的物理空间分配一个新的物理地址,把数据写入新的物理地址中,并在映射表中建立逻辑地址到新的物理地址的映射。当向相同逻辑地址第二次写入数据时,会从物理空间分配另一个新的物理地址,把数据写入新的物理地址中,并在映射表中建立逻辑地址与新的物理地址的映射。所述另一新的物理地址中存储的数据为有效数据,原物理地址的数据变成垃圾数据。回收段时,垃圾数据不需要搬移,只需要搬移有效数据。
计算单元402,用于根据所述每个段内所述第一数据的数据量和所述第一数据的变化量计算所述第一数据的预测值;
可选地,所述计算单元402,具体用于:
根据所述每个段内所述第一数据的数据量和第一权重计算所述第一数据的数据量的预测值;
根据所述每个段内所述第一数据的变化量和第二权重计算所述第一数据的变化量的预测值;
根据所述第一数据的数据量的预测值和所述第一数据的变化量的预测值计算所述第一数据的预测值。
其中,假设每个段内当前时间的第一数据为垃圾数据,第一权重为1/2,所述每个段内第一数据的变化量为垃圾数据的变化量,第二权重为1/3。根据垃圾数据越多越优先回收的原则,垃圾数据量乘以第一权重之积越大,表示段内垃圾数据越多,有效数据越少,回收时搬移有效数据的量就会越小,因此,越优先回收;垃圾数据的变化量乘以第二权重之积越大,表示段内垃圾数据增加量越大,推迟回收使其进一步产生更多的垃圾,因此,越晚回收。综合考虑这两个因素,在表达式上可以为:
垃圾数据量×第一权重-垃圾数据的变化量×第二权重。
假设每段内当前时间的第一数据为有效数据,第一权重为1/2,第一数据的变化量为有效数据的变化量,第二权重为1/3,则根据有效数据越少越优先回收的原则,有效数据量乘以第一权重之积越小,表示有效数据越少,回收时搬移有效数据的量就会越小,因此,越优先回收;有效数据的变化量乘以第二权重之积越小,表示垃圾数据增加量越小,则提早回收。综合考虑这两个因素,在表达式上可以为:
有效数据量×第一权重-有效数据的变化量×第二权重。
确定单元403,用于根据每个段内所述第一数据的预测值确定需要回收垃圾数据的段。
可选地,所述记录单元401,具体用于:
分别记录所述每个段内当前时间的垃圾数据的数据量和在所述当前时间之前预先设置的时间内垃圾数据的增加量;
所述计算单元402,具体用于:
根据所述每个段内所述当前时间的垃圾数据的数据量和所述第一权重计算所述当前时间的垃圾数据的数据量的预测值;
根据所述每个段内所述垃圾数据的增加量和所述第二权重计算所述垃圾数据的变化量的预测值;
将所述每个段内所述当前时间的垃圾数据的数据量的预测值和所述垃圾数据的变化量的预测值相减,得到所述垃圾数据的预测值;
所述确定单元403,具体用于:
按照垃圾数据的预测值从大到小的顺序确定需要回收垃圾数据的段。
本发明存储设备实施例的一种具体实施方式可以参见上述图2的描述。
可选地,所述记录单元401,具体用于:
分别记录所述每个段内当前时间的有效数据的数据量和在所述当前时间之前预先设置的时间内有效数据的减少量;
所述计算单元402,具体用于:
根据所述每个段内所述当前时间的有效数据的数据量和所述第一权重计算所述当前时间的有效数据的数据量的预测值;
根据所述每个段内所述有效数据的减少量和所述第二权重计算所述有效数据的变化量的预测值;
将所述每个段内所述当前时间的有效数据的数据量的预测值和所述有效数据的变化量的预测值相加,得到所述有效数据的预测值;
所述确定单元403,具体用于:
按照有效数据的预测值从小到大的顺序确定需要回收垃圾数据的段。
本发明存储设备实施例的一种具体实施方式可以参见上述图3的描述。
可选地,所述记录单元401,具体用于:
分别记录所述每个段内当前时间的垃圾数据的数据量和在所述当前时间之前预先设置的时间内有效数据的减少量;
所述计算单元402,具体用于:
根据所述每个段内所述当前时间的垃圾数据的数据量和所述第一权重计算所述当前时间的垃圾数据的数据量的预测值;
根据所述每个段内所述有效数据的减少量和所述第二权重计算所述有效数据的变化量的预测值;
将所述每个段内所述当前时间的垃圾数据的数据量的预测值和所述有效数据的变化量的预测值相减,得到所述垃圾数据的预测值;
所述确定单元403,具体用于:
按照垃圾数据的预测值从大到小的顺序确定需要回收垃圾数据的段。
可选地,所述记录单元401,具体用于:
分别记录所述每个段内当前时间的有效数据的数据量和在所述当前时间之前预先设置的时间内垃圾数据的增加量;
所述计算单元402,具体用于:
根据所述每个段内所述当前时间的有效数据的数据量和所述第一权重计算所述当前时间的有效数据的数据量的预测值;
根据所述每个段内所述垃圾数据的增加量和所述第二权重计算所述垃圾数据的变化量的预测值;
将所述每个段内所述当前时间的有效数据的数据量的预测值和所述垃圾数据的变化量的预测值相加,得到所述有效数据的预测值;
所述确定单元403,具体用于:
按照有效数据的预测值从小到大的顺序确定需要回收垃圾数据的段。本发明实施例提供一种回收垃圾数据的存储设备,所述存储设备分别记录存储设备每个段内当前时间的第一数据的数据量和在所述当前时间之前预先设置的时间内所述第一数据的变化量;第一数据是垃圾数据或者有效数据,第一数据的变化量是所述垃圾数据的增加量或者所述有效数据的减少量,所述垃圾数据的增加量的数值和所述有效数据的减少量的数值相同;根据所述每个段内所述第一数据的数据量和所述第一数据的变化量计算所述第一数据的预测值;根据每个段内所述第一数据的预测值确定需要回收垃圾数据的段,优先回收垃圾较多且垃圾产生速率较低的段,从而提高回收垃圾数据的效率。
图5是本发明实施例提供的一种存储设备的装置结构图。参考图5,图5是本发明实施例提供的一种存储设备500,本发明具体实施例并不对所述存储设备的具体实现做限定。所述存储设备500包括:
处理器(processor)501,通信接口(Communications Interface)502,存储器(memory)503,总线504。
处理器501,通信接口502,存储器503通过总线504完成相互间的通信。
通信接口502,用于与其他设备进行通信;
处理器501,用于执行程序。
具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。
处理器501可能是一个中央处理器(central processing unit,CPU),或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器503,用于存储程序。存储器503可以是易失性存储器(volatilememory),例如随机存取存储器(random-access memory,RAM),或者非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-statedrive,SSD)。处理器501根据存储器503存储的程序指令,执行以下方法:
分别记录存储设备每个段内当前时间的第一数据的数据量和在所述当前时间之前预先设置的时间内所述第一数据的变化量;所述第一数据是垃圾数据或者有效数据,所述第一数据的变化量是所述垃圾数据的增加量或者所述有效数据的减少量,所述垃圾数据的增加量的数值和所述有效数据的减少量的数值相同;
根据所述每个段内所述第一数据的数据量和所述第一数据的变化量计算所述第一数据的预测值;
根据每个段内所述第一数据的预测值确定需要回收垃圾数据的段;
其中,所述有效数据是指段内与逻辑地址存在映射关系的物理地址中存储的数据;所述垃圾数据是指段内与逻辑地址不存在映射关系的物理地址中存储的数据。
所述根据所述每个段内所述第一数据的数据量和所述第一数据的变化量计算所述第一数据的预测值,包括:
根据所述每个段内所述第一数据的数据量和第一权重计算所述第一数据的数据量的预测值;
根据所述每个段内所述第一数据的变化量和第二权重计算所述第一数据的变化量的预测值;
根据所述第一数据的数据量的预测值和所述第一数据的变化量的预测值计算所述第一数据的预测值。
所述分别记录存储设备每个段内当前时间的第一数据的数据量和在所述当前时间之前预先设置的时间内所述第一数据的变化量,包括:
分别记录所述每个段内当前时间的垃圾数据的数据量和在所述当前时间之前预先设置的时间内垃圾数据的增加量;
所述根据所述每个段内所述第一数据的数据量和所述第一数据的变化量计算所述第一数据的预测值,包括:
根据所述每个段内所述当前时间的垃圾数据的数据量和所述第一权重计算所述当前时间的垃圾数据的数据量的预测值;
根据所述每个段内所述垃圾数据的增加量和所述第二权重计算所述垃圾数据的变化量的预测值;
将所述每个段内所述当前时间的垃圾数据的数据量的预测值和所述垃圾数据的变化量的预测值相减,得到所述垃圾数据的预测值;
所述根据所述每段第一数据的预测值确定需要回收垃圾数据的段,包括:
按照垃圾数据的预测值从大到小的顺序确定需要回收垃圾数据的段。
所述分别记录存储设备每个段内当前时间的第一数据的数据量和在所述当前时间之前预先设置的时间内所述第一数据的变化量,包括:
分别记录所述每个段内当前时间的有效数据的数据量和在所述当前时间之前预先设置的时间内有效数据的减少量;
所述根据所述每个段内所述第一数据的数据量和所述第一数据的变化量计算所述第一数据的预测值,包括:
根据所述每个段内所述当前时间的有效数据的数据量和所述第一权重计算所述当前时间的有效数据的数据量的预测值;
根据所述每个段内所述有效数据的减少量和所述第二权重计算所述有效数据的变化量的预测值;
将所述每个段内所述当前时间的有效数据的数据量的预测值和所述有效数据的变化量的预测值相加,得到所述有效数据的预测值;
所述根据所述每段第一数据的预测值确定需要回收垃圾数据的段,包括:
按照有效数据的预测值从小到大的顺序确定需要回收垃圾数据的段。
本发明实施例提供的回收垃圾数据的存储设备,具体可以参考上述方法实施例和存储设备实施例的描述,在此不再赘述。
本发明实施例提供一种回收垃圾数据的存储设备,分别记录存储设备每个段内当前时间的第一数据的数据量和在所述当前时间之前预先设置的时间内所述第一数据的变化量;第一数据是垃圾数据或者有效数据,第一数据的变化量是所述垃圾数据的增加量或者所述有效数据的减少量,所述垃圾数据的增加量的数值和所述有效数据的减少量的数值相同;根据所述每个段内所述第一数据的数据量和所述第一数据的变化量计算所述第一数据的预测值;根据每个段内所述第一数据的预测值确定需要回收垃圾数据的段,优先回收垃圾较多且垃圾产生速率较低的段,从而提高回收垃圾数据的效率。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (12)
1.一种回收垃圾数据的方法,其特征在于,所述方法包括:
分别记录存储设备每个段内当前时间的第一数据的数据量和在所述当前时间之前预先设置的时间内所述第一数据的变化量;所述第一数据是垃圾数据或者有效数据,所述第一数据的变化量是所述垃圾数据的增加量或者所述有效数据的减少量,所述垃圾数据的增加量的数值和所述有效数据的减少量的数值相同;
根据所述每个段内所述第一数据的数据量和所述第一数据的变化量计算所述第一数据的预测值;
根据每个段内所述第一数据的预测值确定需要回收垃圾数据的段;
其中,所述有效数据是指段内与逻辑地址存在映射关系的物理地址中存储的数据;所述垃圾数据是指段内与逻辑地址不存在映射关系的物理地址中存储的数据。
2.根据权利要求1所述的方法,其特征在于,所述根据所述每个段内所述第一数据的数据量和所述第一数据的变化量计算所述第一数据的预测值,包括:
根据所述每个段内所述第一数据的数据量和第一权重计算所述第一数据的数据量的预测值;
根据所述每个段内所述第一数据的变化量和第二权重计算所述第一数据的变化量的预测值;
根据所述第一数据的数据量的预测值和所述第一数据的变化量的预测值计算所述第一数据的预测值。
3.根据权利要求2所述的方法,其特征在于,所述分别记录存储设备每个段内当前时间的第一数据的数据量和在所述当前时间之前预先设置的时间内所述第一数据的变化量,包括:
分别记录所述每个段内当前时间的垃圾数据的数据量和在所述当前时间之前预先设置的时间内垃圾数据的增加量;
所述根据所述每个段内所述第一数据的数据量和所述第一数据的变化量计算所述第一数据的预测值,包括:
根据所述每个段内所述当前时间的垃圾数据的数据量和所述第一权重计算所述当前时间的垃圾数据的数据量的预测值;
根据所述每个段内所述垃圾数据的增加量和所述第二权重计算所述垃圾数据的变化量的预测值;
将所述每个段内所述当前时间的垃圾数据的数据量的预测值和所述垃圾数据的变化量的预测值相减,得到所述垃圾数据的预测值;
所述根据所述每段第一数据的预测值确定需要回收垃圾数据的段,包括:
按照垃圾数据的预测值从大到小的顺序确定需要回收垃圾数据的段。
4.根据权利要求2所述的方法,其特征在于,所述分别记录存储设备每个段内当前时间的第一数据的数据量和在所述当前时间之前预先设置的时间内所述第一数据的变化量,包括:
分别记录所述每个段内当前时间的有效数据的数据量和在所述当前时间之前预先设置的时间内有效数据的减少量;
所述根据所述每个段内所述第一数据的数据量和所述第一数据的变化量计算所述第一数据的预测值,包括:
根据所述每个段内所述当前时间的有效数据的数据量和所述第一权重计算所述当前时间的有效数据的数据量的预测值;
根据所述每个段内所述有效数据的减少量和所述第二权重计算所述有效数据的变化量的预测值;
将所述每个段内所述当前时间的有效数据的数据量的预测值和所述有效数据的变化量的预测值相加,得到所述有效数据的预测值;
所述根据所述每段第一数据的预测值确定需要回收垃圾数据的段,包括:
按照有效数据的预测值从小到大的顺序确定需要回收垃圾数据的段。
5.根据权利要求2所述的方法,其特征在于,所述分别记录存储设备每个段内当前时间的第一数据的数据量和在所述当前时间之前预先设置的时间内所述第一数据的变化量,包括:
分别记录所述每个段内当前时间的垃圾数据的数据量和在所述当前时间之前预先设置的时间内有效数据的减少量;
所述根据所述每个段内所述第一数据的数据量和所述第一数据的变化量计算所述第一数据的预测值,包括:
根据所述每个段内所述当前时间的垃圾数据的数据量和所述第一权重计算所述当前时间的垃圾数据的数据量的预测值;
根据所述每个段内所述有效数据的减少量和所述第二权重计算所述有效数据的变化量的预测值;
将所述每个段内所述当前时间的垃圾数据的数据量的预测值和所述有效数据的变化量的预测值相减,得到所述垃圾数据的预测值;
所述根据所述每段第一数据的预测值确定需要回收垃圾数据的段,包括:
按照垃圾数据的预测值从大到小的顺序确定需要回收垃圾数据的段。
6.根据权利要求2所述的方法,其特征在于,所述分别记录存储设备每个段内当前时间的第一数据的数据量和在所述当前时间之前预先设置的时间内所述第一数据的变化量,包括:
分别记录所述每个段内当前时间的有效数据的数据量和在所述当前时间之前预先设置的时间内垃圾数据的增加量;
所述根据所述每个段内所述第一数据的数据量和所述第一数据的变化量计算所述第一数据的预测值,包括:
根据所述每个段内所述当前时间的有效数据的数据量和所述第一权重计算所述当前时间的有效数据的数据量的预测值;
根据所述每个段内所述垃圾数据的增加量和所述第二权重计算所述垃圾数据的变化量的预测值;
将所述每个段内所述当前时间的有效数据的数据量的预测值和所述垃圾数据的变化量的预测值相加,得到所述有效数据的预测值;
所述根据所述每段第一数据的预测值确定需要回收垃圾数据的段,包括:
按照有效数据的预测值从小到大的顺序确定需要回收垃圾数据的段。
7.一种回收垃圾数据的存储设备,其特征在于,所述存储设备包括:
记录单元,用于分别记录每个段内当前时间的第一数据的数据量和在所述当前时间之前预先设置的时间内所述第一数据的变化量;所述第一数据是垃圾数据或者所述有效数据,所述第一数据的变化量是所述垃圾数据的增加量或者所述有效数据的减少量,所述垃圾数据的增加量的数值和所述有效数据的减少量的数值相同;
计算单元,用于根据所述每个段内所述第一数据的数据量和所述第一数据的变化量计算所述第一数据的预测值;
确定单元,用于根据每个段内所述第一数据的预测值确定需要回收垃圾数据的段;
其中,所述有效数据是指段内与逻辑地址存在映射关系的物理地址中存储的数据;所述垃圾数据是指段内与逻辑地址不存在映射关系的物理地址中存储的数据。
8.根据权利要求7所述的存储设备,其特征在于,所述计算单元,具体用于:
根据所述每个段内所述第一数据的数据量和第一权重计算所述第一数据的数据量的预测值;
根据所述每个段内所述第一数据的变化量和第二权重计算所述第一数据的变化量的预测值;
根据所述第一数据的数据量的预测值和所述第一数据的变化量的预测值计算所述第一数据的预测值。
9.根据权利要求8所述的存储设备,其特征在于,所述记录单元,具体用于:
分别记录所述每个段内当前时间的垃圾数据的数据量和在所述当前时间之前预先设置的时间内垃圾数据的增加量;
所述计算单元,具体用于:
根据所述每个段内所述当前时间的垃圾数据的数据量和所述第一权重计算所述当前时间的垃圾数据的数据量的预测值;
根据所述每个段内所述垃圾数据的增加量和所述第二权重计算所述垃圾数据的变化量的预测值;
将所述每个段内所述当前时间的垃圾数据的数据量的预测值和所述垃圾数据的变化量的预测值相减,得到所述垃圾数据的预测值;
所述确定单元,具体用于:
按照垃圾数据的预测值从大到小的顺序确定需要回收垃圾数据的段。
10.根据权利要求8所述的存储设备,其特征在于,所述记录单元,具体用于:
分别记录所述每个段内当前时间的有效数据的数据量和在所述当前时间之前预先设置的时间内有效数据的减少量;
所述计算单元,具体用于:
根据所述每个段内所述当前时间的有效数据的数据量和所述第一权重计算所述当前时间的有效数据的数据量的预测值;
根据所述每个段内所述有效数据的减少量和所述第二权重计算所述有效数据的变化量的预测值;
将所述每个段内所述当前时间的有效数据的数据量的预测值和所述有效数据的变化量的预测值相加,得到所述有效数据的预测值;
所述确定单元,具体用于:
按照有效数据的预测值从小到大的顺序确定需要回收垃圾数据的段。
11.根据权利要求8所述的存储设备,其特征在于,所述记录单元,具体用于:
分别记录所述每个段内当前时间的垃圾数据的数据量和在所述当前时间之前预先设置的时间内有效数据的减少量;
所述计算单元,具体用于:
根据所述每个段内所述当前时间的垃圾数据的数据量和所述第一权重计算所述当前时间的垃圾数据的数据量的预测值;
根据所述每个段内所述有效数据的减少量和所述第二权重计算所述有效数据的变化量的预测值;
将所述每个段内所述当前时间的垃圾数据的数据量的预测值和所述有效数据的变化量的预测值相减,得到所述垃圾数据的预测值;
所述确定单元,具体用于:
按照垃圾数据的预测值从大到小的顺序确定需要回收垃圾数据的段。
12.根据权利要求8所述的存储设备,其特征在于,所述记录单元,具体用于:
分别记录所述每个段内当前时间的有效数据的数据量和在所述当前时间之前预先设置的时间内垃圾数据的增加量;
所述计算单元,具体用于:
根据所述每个段内所述当前时间的有效数据的数据量和所述第一权重计算所述当前时间的有效数据的数据量的预测值;
根据所述每个段内所述垃圾数据的增加量和所述第二权重计算所述垃圾数据的变化量的预测值;
将所述每个段内所述当前时间的有效数据的数据量的预测值和所述垃圾数据的变化量的预测值相加,得到所述有效数据的预测值;
所述确定单元,具体用于:
按照有效数据的预测值从小到大的顺序确定需要回收垃圾数据的段。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310573861.4A CN103577338B (zh) | 2013-11-14 | 2013-11-14 | 一种回收垃圾数据的方法及存储设备 |
PCT/CN2014/074797 WO2015070557A1 (zh) | 2013-11-14 | 2014-04-04 | 一种回收垃圾数据的方法及存储设备 |
JP2016526414A JP6093095B2 (ja) | 2013-11-14 | 2014-04-04 | ガベージデータを収集するための方法及び記憶装置 |
EP14862227.7A EP2983087A4 (en) | 2013-11-14 | 2014-04-04 | RECYCLING PROCEDURE FOR DATA MILL AND MEMORY DEVICE |
US14/983,211 US10303600B2 (en) | 2013-11-14 | 2015-12-29 | Method and storage device for collecting garbage data |
JP2017021025A JP6300132B2 (ja) | 2013-11-14 | 2017-02-08 | ガベージデータを収集するための方法及び記憶装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310573861.4A CN103577338B (zh) | 2013-11-14 | 2013-11-14 | 一种回收垃圾数据的方法及存储设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103577338A true CN103577338A (zh) | 2014-02-12 |
CN103577338B CN103577338B (zh) | 2016-06-29 |
Family
ID=50049161
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310573861.4A Active CN103577338B (zh) | 2013-11-14 | 2013-11-14 | 一种回收垃圾数据的方法及存储设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10303600B2 (zh) |
EP (1) | EP2983087A4 (zh) |
JP (2) | JP6093095B2 (zh) |
CN (1) | CN103577338B (zh) |
WO (1) | WO2015070557A1 (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015070557A1 (zh) * | 2013-11-14 | 2015-05-21 | 华为技术有限公司 | 一种回收垃圾数据的方法及存储设备 |
CN105892941A (zh) * | 2016-03-30 | 2016-08-24 | 联想(北京)有限公司 | 垃圾回收方法、垃圾回收装置和电子设备 |
CN106802772A (zh) * | 2016-12-30 | 2017-06-06 | 北京联想核芯科技有限公司 | 数据回收的方法、装置及固态硬盘 |
WO2017173623A1 (zh) * | 2016-04-07 | 2017-10-12 | 华为技术有限公司 | 用于处理存储设备中分条的方法和存储设备 |
CN107894958A (zh) * | 2017-11-22 | 2018-04-10 | 努比亚技术有限公司 | 垃圾信息清理方法、终端、服务器及计算机可读存储介质 |
WO2018086075A1 (zh) * | 2016-11-11 | 2018-05-17 | 华为技术有限公司 | 一种存储系统和系统垃圾回收方法 |
CN108920313A (zh) * | 2018-06-21 | 2018-11-30 | 郑州云海信息技术有限公司 | 一种raid的测试方法、装置、设备及介质 |
CN108984116A (zh) * | 2018-06-14 | 2018-12-11 | 浙江大华技术股份有限公司 | 一种固态硬盘垃圾回收带宽的流控方法及装置 |
CN109284233A (zh) * | 2018-09-18 | 2019-01-29 | 郑州云海信息技术有限公司 | 一种存储系统的垃圾回收方法及相关装置 |
CN109408404A (zh) * | 2018-10-15 | 2019-03-01 | 深圳忆联信息系统有限公司 | 基于tf卡的逆向查表方法、装置和计算机设备 |
CN109977031A (zh) * | 2017-12-27 | 2019-07-05 | 成都华为技术有限公司 | 固态硬盘垃圾回收的方法和固态硬盘 |
CN110399310A (zh) * | 2018-04-18 | 2019-11-01 | 杭州宏杉科技股份有限公司 | 一种存储空间的回收方法及装置 |
CN110674056A (zh) * | 2019-09-02 | 2020-01-10 | 新华三大数据技术有限公司 | 一种垃圾回收方法及装置 |
CN112306896A (zh) * | 2019-07-31 | 2021-02-02 | 华为技术有限公司 | 一种垃圾回收方法及装置 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160075229A (ko) * | 2014-12-19 | 2016-06-29 | 삼성전자주식회사 | 가비지 컬렉션 동작 방법 및 이를 적용하는 레이드 스토리지 시스템 |
US9811462B2 (en) * | 2015-04-30 | 2017-11-07 | Toshiba Memory Corporation | Memory system executing garbage collection |
US10324959B2 (en) * | 2016-09-20 | 2019-06-18 | Futurewei Technologies, Inc. | Garbage collection in storage system |
CN109960463B (zh) * | 2017-12-26 | 2021-11-02 | 中兴通讯股份有限公司 | 一种磁盘管理方法、装置及存储介质 |
CN109445681B (zh) * | 2018-08-27 | 2021-05-11 | 华为技术有限公司 | 数据的存储方法、装置和存储系统 |
KR20200044461A (ko) * | 2018-10-19 | 2020-04-29 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
TWI768476B (zh) * | 2018-11-08 | 2022-06-21 | 慧榮科技股份有限公司 | 用來進行關於容錯式磁碟陣列的映射資訊管理之方法與裝置以及儲存系統 |
TWI709042B (zh) * | 2018-11-08 | 2020-11-01 | 慧榮科技股份有限公司 | 用來進行關於容錯式磁碟陣列的映射資訊管理之方法與裝置以及儲存系統 |
KR20210051873A (ko) * | 2019-10-31 | 2021-05-10 | 에스케이하이닉스 주식회사 | 컨트롤러 및 메모리 시스템 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101281458A (zh) * | 2008-05-14 | 2008-10-08 | 华为技术有限公司 | 一种垃圾回收的装置、系统及方法 |
US20110055455A1 (en) * | 2009-09-03 | 2011-03-03 | Apple Inc. | Incremental garbage collection for non-volatile memories |
CN102799535A (zh) * | 2012-06-29 | 2012-11-28 | 记忆科技(深圳)有限公司 | 固态硬盘的数据处理方法及固态硬盘 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60221847A (ja) * | 1984-04-18 | 1985-11-06 | Fujitsu Ltd | アダプテイブガ−ベジコレクシヨン方式 |
US7139901B2 (en) * | 2000-02-08 | 2006-11-21 | Mips Technologies, Inc. | Extended instruction set for packet processing applications |
JP3688286B2 (ja) * | 2003-06-09 | 2005-08-24 | 三菱電機株式会社 | 情報記憶制御装置及び情報記憶制御方法及び情報記憶制御プログラム |
KR100690804B1 (ko) * | 2005-06-13 | 2007-03-09 | 엘지전자 주식회사 | 휴대단말기의 메모리 정리 방법 |
CN101438597B (zh) * | 2006-05-17 | 2011-05-11 | 富士通株式会社 | 图像数据压缩装置、压缩方法、图像数据恢复装置、恢复方法 |
US7774389B2 (en) * | 2007-01-17 | 2010-08-10 | Microsoft Corporation | Optimized garbage collection techniques |
US20090055628A1 (en) * | 2007-08-21 | 2009-02-26 | International Business Machine Corporation | Methods and computer program products for reducing load-hit-store delays by assigning memory fetch units to candidate variables |
KR20120028581A (ko) * | 2010-09-15 | 2012-03-23 | 삼성전자주식회사 | 비휘발성 메모리 장치, 이의 동작 방법, 및 이를 포함하는 장치들 |
JP5575828B2 (ja) | 2012-04-02 | 2014-08-20 | 日本電信電話株式会社 | ガベージコレクション実行装置、ガベージコレクション実行方法及びガベージコレクション実行プログラム |
US20140244897A1 (en) * | 2013-02-26 | 2014-08-28 | Seagate Technology Llc | Metadata Update Management In a Multi-Tiered Memory |
US9135164B2 (en) * | 2013-03-15 | 2015-09-15 | Virident Systems Inc. | Synchronous mirroring in non-volatile memory systems |
CN103577338B (zh) * | 2013-11-14 | 2016-06-29 | 华为技术有限公司 | 一种回收垃圾数据的方法及存储设备 |
-
2013
- 2013-11-14 CN CN201310573861.4A patent/CN103577338B/zh active Active
-
2014
- 2014-04-04 WO PCT/CN2014/074797 patent/WO2015070557A1/zh active Application Filing
- 2014-04-04 EP EP14862227.7A patent/EP2983087A4/en not_active Ceased
- 2014-04-04 JP JP2016526414A patent/JP6093095B2/ja active Active
-
2015
- 2015-12-29 US US14/983,211 patent/US10303600B2/en active Active
-
2017
- 2017-02-08 JP JP2017021025A patent/JP6300132B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101281458A (zh) * | 2008-05-14 | 2008-10-08 | 华为技术有限公司 | 一种垃圾回收的装置、系统及方法 |
US20110055455A1 (en) * | 2009-09-03 | 2011-03-03 | Apple Inc. | Incremental garbage collection for non-volatile memories |
CN102799535A (zh) * | 2012-06-29 | 2012-11-28 | 记忆科技(深圳)有限公司 | 固态硬盘的数据处理方法及固态硬盘 |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015070557A1 (zh) * | 2013-11-14 | 2015-05-21 | 华为技术有限公司 | 一种回收垃圾数据的方法及存储设备 |
US10303600B2 (en) | 2013-11-14 | 2019-05-28 | Huawei Technologies Co., Ltd. | Method and storage device for collecting garbage data |
CN105892941A (zh) * | 2016-03-30 | 2016-08-24 | 联想(北京)有限公司 | 垃圾回收方法、垃圾回收装置和电子设备 |
US11157365B2 (en) | 2016-04-07 | 2021-10-26 | Huawei Technologies Co., Ltd. | Method for processing stripe in storage device and storage device |
WO2017173623A1 (zh) * | 2016-04-07 | 2017-10-12 | 华为技术有限公司 | 用于处理存储设备中分条的方法和存储设备 |
US10621085B2 (en) | 2016-11-11 | 2020-04-14 | Huawei Technologies Co., Ltd. | Storage system and system garbage collection method |
WO2018086075A1 (zh) * | 2016-11-11 | 2018-05-17 | 华为技术有限公司 | 一种存储系统和系统垃圾回收方法 |
CN106802772B (zh) * | 2016-12-30 | 2020-02-14 | 深圳忆联信息系统有限公司 | 数据回收的方法、装置及固态硬盘 |
CN106802772A (zh) * | 2016-12-30 | 2017-06-06 | 北京联想核芯科技有限公司 | 数据回收的方法、装置及固态硬盘 |
CN107894958B (zh) * | 2017-11-22 | 2023-06-23 | 深圳市世芯信息技术有限公司 | 垃圾信息清理方法、终端、服务器及计算机可读存储介质 |
CN107894958A (zh) * | 2017-11-22 | 2018-04-10 | 努比亚技术有限公司 | 垃圾信息清理方法、终端、服务器及计算机可读存储介质 |
CN109977031B (zh) * | 2017-12-27 | 2021-06-01 | 成都华为技术有限公司 | 固态硬盘垃圾回收的方法和固态硬盘 |
CN109977031A (zh) * | 2017-12-27 | 2019-07-05 | 成都华为技术有限公司 | 固态硬盘垃圾回收的方法和固态硬盘 |
CN110399310A (zh) * | 2018-04-18 | 2019-11-01 | 杭州宏杉科技股份有限公司 | 一种存储空间的回收方法及装置 |
CN108984116B (zh) * | 2018-06-14 | 2021-07-20 | 浙江大华存储科技有限公司 | 一种固态硬盘垃圾回收带宽的流控方法及装置 |
CN108984116A (zh) * | 2018-06-14 | 2018-12-11 | 浙江大华技术股份有限公司 | 一种固态硬盘垃圾回收带宽的流控方法及装置 |
CN108920313A (zh) * | 2018-06-21 | 2018-11-30 | 郑州云海信息技术有限公司 | 一种raid的测试方法、装置、设备及介质 |
CN109284233A (zh) * | 2018-09-18 | 2019-01-29 | 郑州云海信息技术有限公司 | 一种存储系统的垃圾回收方法及相关装置 |
CN109284233B (zh) * | 2018-09-18 | 2022-02-18 | 郑州云海信息技术有限公司 | 一种存储系统的垃圾回收方法及相关装置 |
CN109408404A (zh) * | 2018-10-15 | 2019-03-01 | 深圳忆联信息系统有限公司 | 基于tf卡的逆向查表方法、装置和计算机设备 |
CN109408404B (zh) * | 2018-10-15 | 2020-10-09 | 深圳忆联信息系统有限公司 | 基于tf卡的逆向查表方法、装置和计算机设备 |
CN112306896A (zh) * | 2019-07-31 | 2021-02-02 | 华为技术有限公司 | 一种垃圾回收方法及装置 |
CN110674056A (zh) * | 2019-09-02 | 2020-01-10 | 新华三大数据技术有限公司 | 一种垃圾回收方法及装置 |
CN110674056B (zh) * | 2019-09-02 | 2021-11-23 | 新华三大数据技术有限公司 | 一种垃圾回收方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103577338B (zh) | 2016-06-29 |
WO2015070557A1 (zh) | 2015-05-21 |
JP2017123177A (ja) | 2017-07-13 |
US20160132429A1 (en) | 2016-05-12 |
JP6093095B2 (ja) | 2017-03-08 |
JP6300132B2 (ja) | 2018-03-28 |
EP2983087A4 (en) | 2016-05-11 |
US10303600B2 (en) | 2019-05-28 |
JP2016525249A (ja) | 2016-08-22 |
EP2983087A1 (en) | 2016-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103577338B (zh) | 一种回收垃圾数据的方法及存储设备 | |
KR101937521B1 (ko) | 데이터 저장 시스템들을 위한 동적 오버프로비저닝 | |
US20210073120A1 (en) | Directed sanitization of memory | |
US10942656B2 (en) | System data storage mechanism providing coherency and segmented data loading | |
KR101257691B1 (ko) | 메모리 컨트롤러 및 이의 데이터 관리방법 | |
CN102841851B (zh) | 闪存管理方法和闪存设备 | |
TWI494761B (zh) | 分割實體區塊之方法及記憶體系統 | |
KR101447188B1 (ko) | 플래시 메모리에 최적화된 입출력 제어 방법 및 장치 | |
US8984247B1 (en) | Storing and reconstructing mapping table data in a data storage system | |
CN103902465A (zh) | 一种固态硬盘垃圾回收的方法、系统和固态硬盘控制器 | |
CN104461397A (zh) | 一种固态硬盘及其读写方法 | |
CN104572478A (zh) | 数据存取方法和数据存取装置 | |
CN110674056B (zh) | 一种垃圾回收方法及装置 | |
CN109164975A (zh) | 一种将数据写入固态硬盘的方法以及固态硬盘 | |
WO2015142338A1 (en) | Solid state drive operations | |
WO2020007030A1 (zh) | 一种系统控制器和系统垃圾回收方法 | |
KR101718713B1 (ko) | 비휘발성 메모리 시스템 | |
CN106557428B (zh) | 数据存储设备的映射系统选择 | |
CN102279809A (zh) | 一种在固态硬盘中重定向写入及垃圾回收的方法 | |
CN101324899B (zh) | 一种快速写nand型flash的方法 | |
CN112130749A (zh) | 数据储存装置以及非挥发式存储器控制方法 | |
CN110688323B (zh) | 一种系统控制器和系统垃圾回收方法 | |
KR20120034976A (ko) | 낸드 플래시 메모리에서 데이터의 주소를 사상시키는 장치 및 방법 | |
CN102156619B (zh) | 闪存储存装置、闪存控制器及闪存的数据写入方法 | |
JP2024503956A (ja) | メモリデバイスのデフラグメンテーションのためのシステムおよび方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211222 Address after: 450046 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu wisdom Island, Zhengdong New Area, Zhengzhou City, Henan Province Patentee after: Super fusion Digital Technology Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |