CN103577336A - 一种存储数据处理方法及装置 - Google Patents

一种存储数据处理方法及装置 Download PDF

Info

Publication number
CN103577336A
CN103577336A CN201310505056.8A CN201310505056A CN103577336A CN 103577336 A CN103577336 A CN 103577336A CN 201310505056 A CN201310505056 A CN 201310505056A CN 103577336 A CN103577336 A CN 103577336A
Authority
CN
China
Prior art keywords
storage unit
storage space
data block
recycled
ident value
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
Application number
CN201310505056.8A
Other languages
English (en)
Other versions
CN103577336B (zh
Inventor
魏明昌
张程伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201310505056.8A priority Critical patent/CN103577336B/zh
Priority to CN201710034639.5A priority patent/CN106775496B/zh
Publication of CN103577336A publication Critical patent/CN103577336A/zh
Priority to PCT/CN2014/074811 priority patent/WO2015058493A1/zh
Application granted granted Critical
Publication of CN103577336B publication Critical patent/CN103577336B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例提供的存储数据处理方法及装置,当存储空间满足预设条件时,统计各个存储单元中的无用数据块的数量,将数量最大或大于预设值的存储单元作为待回收的存储空间,将其中的有用数据搬块移到其它存储空间。因为待回收的存储单元中的无用数据块最多,所以,其中的有用数据块与其它存储单元相比最少,因此,需要进行搬移的数据块的数量最少,在回收此存储单元时,有用数据块搬移的次数最少;或者,因为待回收的存储单元中的无用数据块大于预设值,所以,能够通过预设值将搬移次数控制在预设范围内,尽量减少数据块的搬移次数。因此能够减少存储空间回收过程中的数据块的搬移次数,减轻数据块搬移对SSD的磨损。

Description

一种存储数据处理方法及装置
技术领域
本发明涉及通信领域,尤其涉及一种存储数据处理方法及装置。
背景技术
固态硬盘(Solid State Device,SSD)在使用的过程中,需要进行存储空间的回收,即将写满数据的存储空间中的无用数据块删除,将其中的有用数据块搬移到其它存储空间,而有用数据块的搬移会导致固态硬盘的磨损。
发明内容
有鉴于此,本发明实施例提供了一种存储数据处理方法及装置,目的在于解决有用数据块的搬移而导致的SSD磨损的问题。
为了实现上述目的,本发明实施例提供了以下技术方案:
本发明实施例的第一方面提供了一种存储数据处理方法,包括:
当存储空间满足预设条件时,统计各个存储单元中的无用数据块的数量,所述各个存储单元通过预先划分所述存储空间获得;
将无用数据块的数量最大或大于预设值的存储单元作为待回收的存储空间;
将所述待回收的存储空间中的有用数据块搬移到其它存储空间。
在本发明实施例的第一方面的第一种实现方式中,所述无用数据块包括:
标识值为0的数据块,所述标识值用于表示数据块被引用的次数,所述标识值的初始值为1。
在本发明实施例的第一方面的第二种实现方式中,所述标识值的设置方法至少包括以下一项:
当第一存储单元中的数据块被写入第二存储单元时,所述第一存储单元中的所述数据块的标识值加一;
当第一存储单元对应的逻辑区块地址指向第二存储单元时,所述第一存储单元中的数据块的标识值减一。
在本发明实施例的第一方面的第三种实现方式中,所述将所述待回收的存储空间中的有用数据块搬移到其它存储空间包括:
将所述待回收的存储空间中的标识值为1的数据块搬移到第一存储单元;
将所述待回收的存储空间中的标识值大于1、或者带有快照或备份标记的数据块搬移到第二存储单元,所述第一存储单元与所述第二存储单元不同,所述标识值用于表示数据块被引用的次数,所述标识值的初始值为1。
在本发明实施例的第一方面的第四种实现方式中,所述预设条件至少包括以下一项:
存储空间中的剩余存储空间小于预设阈值;
写满数据的存储单元数量在所有存储单元中所占的比例大于预设比值。
本发明实施例的第二方面提供了一种硬盘控制器,包括:
统计模块,用于当存储空间满足预设条件时,统计各个存储单元中的无用数据块的数量,所述各个存储单元通过预先划分所述存储空间获得;
确定模块,用于将无用数据块的数量最大或大于预设值的存储单元作为待回收的存储空间;
数据搬移模块,用于将所述待回收的存储空间中的有用数据块搬移到其它存储空间。
在本发明实施例的第二方面的第一种实现方式中,在所述将无用数据块的数量最大或大于预设值的存储单元作为待回收的存储空间方面,所述确定模块具体用于:
将标识值为0的数据块的数量最大或大于预设值的存储单元作为待回收的存储空间,所述标识值用于表示数据块被引用的次数,所述标识值的初始值为1。
在本发明实施例的第二方面的第二种实现方式中,还包括:
标识值设置模块,用于当第一存储单元中的数据块被写入第二存储单元时,所述第一存储单元中的所述数据块的标识值加一,和/或,当第一存储单元对应的逻辑区块地址指向第二存储单元时,所述第一存储单元中的数据块的标识值减一。
在本发明实施例的第二方面的第三种实现方式中,在所述将所述待回收的存储空间中的有用数据块搬移到其它存储空间方面,所述数据搬移模块具体用于:
将所述待回收的存储空间中的标识值为1的数据块搬移到第一存储单元;
将所述待回收的存储空间中的标识值大于1、或者带有快照或备份标记的数据块搬移到第二存储单元,所述第一存储单元与所述第二存储单元不同,所述标识值用于表示数据块被引用的次数,所述标识值的初始值为1。
在本发明实施例的第二方面的第四种实现方式中,在所述当存储空间满足预设条件时,统计各个存储单元中的无用数据块的数量方面,所述统计模块具体用于:
当存储空间中的剩余存储空间小于预设阈值,和/或,写满数据的存储单元数量在所有存储单元中所占的比例大于预设比值时,统计各个存储单元中的无用数据块的数量。
本发明实施例提供的存储数据处理方法及装置,当存储空间满足预设条件时,统计各个存储单元中的无用数据块的数量,将数量最大或大于预设值的存储单元作为待回收的存储空间,将其中的有用数据搬块移到其它存储空间。因为待回收的存储单元中的无用数据块最多,所以,其中的有用数据块与其它存储单元相比最少,因此,需要进行搬移的数据块的数量最少,在回收此存储单元时,有用数据块搬移的次数最少;或者,因为待回收的存储单元中的无用数据块大于预设值,所以,能够通过预设值将搬移次数控制在预设范围内,尽量减少数据块的搬移次数。可见,本实施例提供的存储数据处理方法及装置,在回收存储空间时,先回收无用数据块最多或大于预设值的存储单元,因此能够减少存储空间回收过程中的数据块的搬移次数,减轻数据块搬移对SSD的磨损。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种存储数据处理方法的流程图;
图2为本发明实施例公开的又一种存储数据处理方法的流程图;
图3为本发明实施例公开的又一种存储数据处理方法的流程图;
图4为本发明实施例公开的一种硬盘控制器的结构示意图;
图5为本发明实施例公开的又一种硬盘控制器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开的一种存储数据处理方法,如图1所示,包括:
S101:当存储空间满足预设条件时,统计各个存储单元中的无用数据块的数量,所述各个存储单元通过预先划分所述存储空间获得;
可选地,各个存储单元的容量大小可以相同,也可以不同,例如,各个存储单元的容量均为1MB。
S102:将无用数据块的数量最大或大于预设值的存储单元作为待回收的存储空间;
其中,所述预设值可以由用户依据需求预先设定。
S103:将所述待回收的存储空间中的有用数据块搬移到其它存储空间。
通常,在进行存储空间的回收时,需要将待回收的存储空间中的有用数据块搬移到其它存储空间中,而对于SSD而言,数据块搬移会导致SSD的磨损,从而降低SSD的使用寿命。
本实施例所述的存储数据处理方法,依据各个存储单元中无用数据块的数量确定待回收的存储空间,即将无用数据块最多或数量大于预设值的存储单元作为待回收的存储空间,因此,待回收的存储单元中的有用数据块的数量最小,或者小于预设值,因此,能够将搬移有用数据块的次数降到最小,或者控制在一定范围内,实现尽可能地降低搬移的次数的目的,尽量减少因搬移而导致的SSD的磨损。
本发明实施例公开的又一种存储数据处理方法,可以应用于SSD系统,其中,SSD预先被划分为多个存储单元,每个存储单元的容量大小相同。如图2所示,本实施例所述方法包括:
S201:当写满数据的存储单元的数量在所有存储单元中所占的比例大于预设比值(例如80%)时,统计各个存储单元中的标识值为0的数据块的数量;
本实施例中,所述标识值用于表示数据块被引用的次数,数据块被引用是指,数据块被系统中的文件或程序使用。数据块的标识值为0,说明数据块没有被系统中任何文件或程序使用,即标识值为0的数据块为无用数据块。
可选地,每个存储单元各自的描述信息中,可以记录此存储单元中的各个数据块的标识值,所述标识值的初始值为1。
S202:将标识值为0的数据块的数量最大的存储单元作为待回收的存储空间;
S203:将所述待回收的存储空间中的标识值为1的数据块搬移到第一存储单元;
S204:将所述待回收的存储空间中的标识值大于1、或者带有快照或备份标记的数据块搬移到第二存储单元,其中,第一存储单元与第二存储单元不同;
S205:将所述待回收的存储空间中的无用数据块擦除。
本实施例所述的存储数据处理方法,将标识值为0的数据块最多的存储单元作为待回收的存储空间,并将待回收的存储空间中的标识值不同的数据块搬移到不同的存储单元,因为标识值表示数据块被引用的次数,所以,标识值大于1的数据块被引用的次数大于标识值为0的数据块被引用的次数,因此,标志值大于1的数据块变为无用数据块的概率小于标识值为0的数据块,所以,按照被引用的次数将有用数据放置在不同的存储单元,能够将变为无用数据块概率相近的数据块集中放置在一个存储单元中,当此存储单元作为待回收存储空间时,其中包括的数据块均为无用数据块的可能性较大,因此,能够避免有用数据块的搬移过程,从而减小对SSD的磨损。
本发明实施例公开的又一种存储数据处理方法,可以应用于SSD系统,其中,SSD可以被划分为多个存储单元,记为segment,每个存储单元(segment)的容量大小相同,每个存储单元的物理地址与指向所述存储单元的逻辑区块地址(Logical Block Address,LBA)相对应,每个segment具有唯一的编号,存储单元的物理地址使用{segment编号+segment编号内偏移}表示。
本实施例中,对不同状态的segment进行标记:例如,将写满数据的segment标记为Fulledsegment,将没有写入数据的segment标记为Idlesegment,将正在进行回收的segment标记为GCSsegment。
如图3所示,本实施例所述方法包括:
S301:当存储空间中的剩余存储空间小于预设阈值时,统计每个Fulledsegment中的标识值为0的数据块的数量;
本实施例中,标识值用于表示数据块被引用的次数,其初始值为1。所述标识值的设置方法可以包括以下任意一项:
A:当第一存储单元中的数据块被写入第二存储单元时,所述第一存储单元中的所述数据块的标识值加一,例如,编号为1的segment中的数据块的标识值为1,所述数据块又被写入编号为2的segment,则编号为1的segment中的数据块的标识值为2。
或者,B:当第一存储单元对应的逻辑区块地址指向第二存储单元时,所述第一存储单元中的数据块的标识值减一,例如,标识值为1的数据块存储在编号为1的segment中,所述数据块的物理地址为{segment1+segment1内偏移},所述物理地址与LBA1对应,当LBA1从指向{segment1+segment1内偏移}变更为指向物理地址{segment2+segment2内偏移}时,物理地址{segment1+segment1内偏移}的数据块的标识值变为0。
上述A或B过程可以应用于向SSD硬盘写入数据的过程中,例如向SSD硬盘写入新的数据时,可以判断待写入的数据是否存在于SSD硬盘中,如果是,则满足第一存储单元中的数据块被写入第二存储单元的条件。
S302:将标识值为0的数据块的数量最大的存储单元作为待回收的存储空间,可以标记为GCSegment;
S303:将GCSegment中标识值为1的数据块搬移到第一Idlesegment中;
第一Idlesegment可以标记为静态数据存储单元(StaticDataSegment),用于存放标识值为1的数据块,当第一Idlesegment写满后,转为Fulledsegment。
S304:将GCSegment中的标识值大于1、或者带有快照或备份标记的数据块搬移到第二Idlesegment中;
第二Idlesegment可以标记为动态数据存储单元(DynamicDataSegment),用于存放标识值大于1、或者带有快照或备份标记的数据块,第二Idlesegment写满后,转为Fulledsegment。
需要说明的是,当数据块被搬移后,指向所述数据块的LBA不变,则所述LBA指向的物理地址发生变化,满足上述B的条件,所以,如果所述数据块以复制的方式被搬移到新的存储单元,则待回收存储空间中的所述数据块的标识值更新为0。
S305:将GCSegment中的标识值为0的数据块擦除。
本实施例所述的方法,可以在向SSD硬盘写入数据块时,设置已存储在SSD硬盘中的数据块的标识值,从而依据标识值优先回收无用数据块最多的存储单元,并将引用次数相近的有用数据块集中放置,从而减少在回收过程中对有用数据块的搬移次数,降低数据搬移对SSD硬盘的磨损。
与上述方法实施例相对应地,本发明实施例还公开了一种硬盘控制器,如图4所示,包括:
统计模块401,用于当存储空间满足预设条件时,统计各个存储单元中的无用数据块的数量,所述各个存储单元通过预先划分所述存储空间获得;
确定模块402,用于将无用数据块的数量最大或大于预设值的存储单元作为待回收的存储空间;
数据搬移模块403,用于将所述待回收的存储空间中的有用数据块搬移到其它存储空间。
本实施例所述的硬盘控制器,将无用数据块数量最大或大于预设值的存储单元作为待回收的存储空间,因此,能够减小有用数据块的搬移次数,或者将有用数据块的搬移次数控制在预设值内,从而能够尽量减少数据块的搬移次数,从而避免搬移数据块对存储设备造成的磨损,提高存储设备的使用寿命。
可选地,本实施例中,在所述将无用数据块的数量最大或大于预设值的存储单元作为待回收的存储空间方面,所述确定模块可以具体用于:将标识值为0的数据块的数量最大或大于预设值的存储单元作为待回收的存储空间,所述标识值用于表示数据块被引用的次数,所述标识值的初始值为1。
可选地,本实施例所述的硬盘控制器,还可以包括:标识值设置模块,用于当第一存储单元中的数据块被写入第二存储单元时,所述第一存储单元中的所述数据块的标识值加一,和/或,当第一存储单元对应的逻辑区块地址指向第二存储单元时,所述第一存储单元中的数据块的标识值减一。
可选地,本实施例中,在所述将所述待回收的存储空间中的有用数据块搬移到其它存储空间方面,所述数据搬移模块具体用于:将所述待回收的存储空间中的标识值为1的数据块搬移到第一存储单元,以及将所述待回收的存储空间中的标识值大于1、或者带有快照或备份标记的数据块搬移到第二存储单元,所述第一存储单元与所述第二存储单元不同,所述标识值用于表示数据块被引用的次数,所述标识值的初始值为1。
在所述当存储空间满足预设条件时,统计各个存储单元中的无用数据块的数量方面,所述统计模块具体用于:当存储空间中的剩余存储空间小于预设阈值,和/或,写满数据的存储单元数量在所有存储单元中所占的比例大于预设比值时,统计各个存储单元中的无用数据块的数量。
本发明实施例还公开了另一种硬盘控制器,如图5所示,包括:
处理器501,用于当存储空间满足预设条件时,统计各个存储单元中的无用数据块的数量,所述各个存储单元通过预先划分所述存储空间获得,将无用数据块的数量最大或大于预设值的存储单元作为待回收的存储空间,并将所述待回收的存储空间中的有用数据块搬移到其它存储空间;
存储器502,用于存储所述处理器中运行的程序以及在所述程序的运行过程中产生的数据;
所述处理器501和所述存储器502通过数据总线503进行通信。
本实施例所述的硬盘控制器,能够尽量减少有用数据块的搬移次数,从而避免因数据块的搬移而导致的硬盘磨损。
可选地,在所述将无用数据块的数量最大或大于预设值的存储单元作为待回收的存储空间方面,本实施例所述处理器具体用于:将标识值为0的数据块的数量最大或大于预设值的存储单元作为待回收的存储空间,所述标识值用于表示数据块被引用的次数,所述标识值的初始值为1。
可选地,本实施例中的处理器还可以用于:当第一存储单元中的数据块被写入第二存储单元时,所述第一存储单元中的所述数据块的标识值加一,和/或,当第一存储单元对应的逻辑区块地址指向第二存储单元时,所述第一存储单元中的数据块的标识值减一。
可选地,在所述将所述待回收的存储空间中的有用数据块搬移到其它存储空间方面,所述处理器具体用于:将所述待回收的存储空间中的标识值为1的数据块搬移到第一存储单元,并将所述待回收的存储空间中的标识值大于1、或者带有快照或备份标记的数据块搬移到第二存储单元,所述第一存储单元与所述第二存储单元不同,所述标识值用于表示数据块被引用的次数,所述标识值的初始值为1。
在所述当存储空间满足预设条件时,统计各个存储单元中的无用数据块的数量方面,所述处理器具体用于:当存储空间中的剩余存储空间小于预设阈值,和/或,写满数据的存储单元数量在所有存储单元中所占的比例大于预设比值时,统计各个存储单元中的无用数据块的数量。
本实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本发明实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种存储数据处理方法,其特征在于,包括:
当存储空间满足预设条件时,统计各个存储单元中的无用数据块的数量,所述各个存储单元通过预先划分所述存储空间获得;
将无用数据块的数量最大或大于预设值的存储单元作为待回收的存储空间;
将所述待回收的存储空间中的有用数据块搬移到其它存储空间。
2.根据权利要求1所述的方法,其特征在于,所述无用数据块包括:
标识值为0的数据块,所述标识值用于表示数据块被引用的次数,所述标识值的初始值为1。
3.根据权利要求2所述的方法,其特征在于,所述标识值的设置方法至少包括以下一项:
当第一存储单元中的数据块被写入第二存储单元时,所述第一存储单元中的所述数据块的标识值加一;
当第一存储单元对应的逻辑区块地址指向第二存储单元时,所述第一存储单元中的数据块的标识值减一。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述将所述待回收的存储空间中的有用数据块搬移到其它存储空间包括:
将所述待回收的存储空间中的标识值为1的数据块搬移到第一存储单元;
将所述待回收的存储空间中的标识值大于1、或者带有快照或备份标记的数据块搬移到第二存储单元,所述第一存储单元与所述第二存储单元不同,所述标识值用于表示数据块被引用的次数,所述标识值的初始值为1。
5.根据权利要求1至3任一项所述的方法,其特征在于,所述预设条件至少包括以下一项:
存储空间中的剩余存储空间小于预设阈值;
写满数据的存储单元数量在所有存储单元中所占的比例大于预设比值。
6.一种硬盘控制器,其特征在于,包括:
统计模块,用于当存储空间满足预设条件时,统计各个存储单元中的无用数据块的数量,所述各个存储单元通过预先划分所述存储空间获得;
确定模块,用于将无用数据块的数量最大或大于预设值的存储单元作为待回收的存储空间;
数据搬移模块,用于将所述待回收的存储空间中的有用数据块搬移到其它存储空间。
7.根据权利要求6所述的硬盘控制器,其特征在于,在所述将无用数据块的数量最大或大于预设值的存储单元作为待回收的存储空间方面,所述确定模块具体用于:
将标识值为0的数据块的数量最大或大于预设值的存储单元作为待回收的存储空间,所述标识值用于表示数据块被引用的次数,所述标识值的初始值为1。
8.根据权利要求7所述的硬盘控制器,其特征在于,还包括:
标识值设置模块,用于当第一存储单元中的数据块被写入第二存储单元时,所述第一存储单元中的所述数据块的标识值加一,和/或,当第一存储单元对应的逻辑区块地址指向第二存储单元时,所述第一存储单元中的数据块的标识值减一。
9.根据权利要求6至8任一项所述的硬盘控制器,其特征在于,在所述将所述待回收的存储空间中的有用数据块搬移到其它存储空间方面,所述数据搬移模块具体用于:
将所述待回收的存储空间中的标识值为1的数据块搬移到第一存储单元;
将所述待回收的存储空间中的标识值大于1、或者带有快照或备份标记的数据块搬移到第二存储单元,所述第一存储单元与所述第二存储单元不同,所述标识值用于表示数据块被引用的次数,所述标识值的初始值为1。
10.根据权利要求6至8任一项所述的硬盘控制器,其特征在于,在所述当存储空间满足预设条件时,统计各个存储单元中的无用数据块的数量方面,所述统计模块具体用于:
当存储空间中的剩余存储空间小于预设阈值,和/或,写满数据的存储单元数量在所有存储单元中所占的比例大于预设比值时,统计各个存储单元中的无用数据块的数量。
CN201310505056.8A 2013-10-23 2013-10-23 一种存储数据处理方法及装置 Active CN103577336B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201310505056.8A CN103577336B (zh) 2013-10-23 2013-10-23 一种存储数据处理方法及装置
CN201710034639.5A CN106775496B (zh) 2013-10-23 2013-10-23 一种存储数据处理方法及装置
PCT/CN2014/074811 WO2015058493A1 (zh) 2013-10-23 2014-04-04 一种存储数据处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310505056.8A CN103577336B (zh) 2013-10-23 2013-10-23 一种存储数据处理方法及装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201710034639.5A Division CN106775496B (zh) 2013-10-23 2013-10-23 一种存储数据处理方法及装置

Publications (2)

Publication Number Publication Date
CN103577336A true CN103577336A (zh) 2014-02-12
CN103577336B CN103577336B (zh) 2017-03-08

Family

ID=50049159

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201310505056.8A Active CN103577336B (zh) 2013-10-23 2013-10-23 一种存储数据处理方法及装置
CN201710034639.5A Active CN106775496B (zh) 2013-10-23 2013-10-23 一种存储数据处理方法及装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201710034639.5A Active CN106775496B (zh) 2013-10-23 2013-10-23 一种存储数据处理方法及装置

Country Status (2)

Country Link
CN (2) CN103577336B (zh)
WO (1) WO2015058493A1 (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015058493A1 (zh) * 2013-10-23 2015-04-30 华为技术有限公司 一种存储数据处理方法及装置
CN105138282A (zh) * 2015-08-06 2015-12-09 上海七牛信息技术有限公司 一种存储空间回收的方法及存储系统
WO2016086411A1 (zh) * 2014-12-05 2016-06-09 华为技术有限公司 一种控制器、闪存装置、识别数据块稳定性的方法以及在闪存装置中存储数据的方法
CN105843746A (zh) * 2015-01-12 2016-08-10 广明光电股份有限公司 固态硬盘的写入方法
CN108255742A (zh) * 2017-11-29 2018-07-06 深圳忆联信息系统有限公司 一种大容量固态硬盘映射方法
CN108664413A (zh) * 2018-05-23 2018-10-16 中国联合网络通信集团有限公司 磁盘清理方法和磁盘清理装置
CN109542335A (zh) * 2017-09-22 2019-03-29 慧荣科技股份有限公司 快闪存储器的数据内部搬移方法以及使用该方法的装置
CN111078137A (zh) * 2019-11-07 2020-04-28 深圳市金泰克半导体有限公司 清理存储空间的方法
CN113126916A (zh) * 2021-03-29 2021-07-16 广州安凯微电子股份有限公司 一种异常掉电后的数据修复方法及装置
CN116880776A (zh) * 2023-09-06 2023-10-13 上海凯翔信息科技有限公司 一种存储数据的数据处理系统

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109947353B (zh) * 2017-12-20 2021-03-09 浙江宇视科技有限公司 存储管理方法、固态硬盘及可读存储介质
CN108984124B (zh) * 2018-07-13 2022-03-25 深圳忆联信息系统有限公司 减少写放大的方法、装置、计算机设备及存储介质
CN109690485B (zh) * 2018-08-24 2023-08-18 袁振南 基于数据结构的垃圾回收方法、计算机及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101110058A (zh) * 2006-07-20 2008-01-23 何纯淳 闪速存储器的回收方法
US20100106919A1 (en) * 2008-10-28 2010-04-29 Micron Technology, Inc. Logical unit operation
CN101930345A (zh) * 2010-08-24 2010-12-29 苏州国芯科技有限公司 一种基于块访问的闪存读写方法
CN101944068A (zh) * 2010-08-23 2011-01-12 中国科学技术大学苏州研究院 一种共享高速缓存的性能优化方法
CN102262512A (zh) * 2011-07-21 2011-11-30 浪潮(北京)电子信息产业有限公司 一种实现磁盘阵列缓存分区管理的系统、装置及方法
CN102436418A (zh) * 2010-09-29 2012-05-02 富泰华工业(深圳)有限公司 将存储器恢复为出厂状态的电子装置及方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7567188B1 (en) * 2008-04-10 2009-07-28 International Business Machines Corporation Policy based tiered data deduplication strategy
US20120159098A1 (en) * 2010-12-17 2012-06-21 Microsoft Corporation Garbage collection and hotspots relief for a data deduplication chunk store
CN102073464A (zh) * 2011-01-14 2011-05-25 南开大学 一种按需分配增量卷的创建方法
CN103577336B (zh) * 2013-10-23 2017-03-08 华为技术有限公司 一种存储数据处理方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101110058A (zh) * 2006-07-20 2008-01-23 何纯淳 闪速存储器的回收方法
US20100106919A1 (en) * 2008-10-28 2010-04-29 Micron Technology, Inc. Logical unit operation
CN101944068A (zh) * 2010-08-23 2011-01-12 中国科学技术大学苏州研究院 一种共享高速缓存的性能优化方法
CN101930345A (zh) * 2010-08-24 2010-12-29 苏州国芯科技有限公司 一种基于块访问的闪存读写方法
CN102436418A (zh) * 2010-09-29 2012-05-02 富泰华工业(深圳)有限公司 将存储器恢复为出厂状态的电子装置及方法
CN102262512A (zh) * 2011-07-21 2011-11-30 浪潮(北京)电子信息产业有限公司 一种实现磁盘阵列缓存分区管理的系统、装置及方法

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015058493A1 (zh) * 2013-10-23 2015-04-30 华为技术有限公司 一种存储数据处理方法及装置
WO2016086411A1 (zh) * 2014-12-05 2016-06-09 华为技术有限公司 一种控制器、闪存装置、识别数据块稳定性的方法以及在闪存装置中存储数据的方法
CN105980992A (zh) * 2014-12-05 2016-09-28 华为技术有限公司 一种控制器、闪存装置、识别数据块稳定性的方法以及在闪存装置中存储数据的方法
US9772790B2 (en) 2014-12-05 2017-09-26 Huawei Technologies Co., Ltd. Controller, flash memory apparatus, method for identifying data block stability, and method for storing data in flash memory apparatus
CN105980992B (zh) * 2014-12-05 2018-02-13 华为技术有限公司 一种存储系统、识别数据块稳定性的方法以及装置
CN105843746A (zh) * 2015-01-12 2016-08-10 广明光电股份有限公司 固态硬盘的写入方法
CN105138282A (zh) * 2015-08-06 2015-12-09 上海七牛信息技术有限公司 一种存储空间回收的方法及存储系统
CN109542335B (zh) * 2017-09-22 2022-04-01 慧荣科技股份有限公司 快闪存储器的数据内部搬移方法以及使用该方法的装置
CN109542335A (zh) * 2017-09-22 2019-03-29 慧荣科技股份有限公司 快闪存储器的数据内部搬移方法以及使用该方法的装置
CN114546293A (zh) * 2017-09-22 2022-05-27 慧荣科技股份有限公司 快闪存储器的数据内部搬移方法以及使用该方法的装置
CN108255742A (zh) * 2017-11-29 2018-07-06 深圳忆联信息系统有限公司 一种大容量固态硬盘映射方法
CN108664413A (zh) * 2018-05-23 2018-10-16 中国联合网络通信集团有限公司 磁盘清理方法和磁盘清理装置
CN111078137A (zh) * 2019-11-07 2020-04-28 深圳市金泰克半导体有限公司 清理存储空间的方法
CN113126916A (zh) * 2021-03-29 2021-07-16 广州安凯微电子股份有限公司 一种异常掉电后的数据修复方法及装置
CN116880776A (zh) * 2023-09-06 2023-10-13 上海凯翔信息科技有限公司 一种存储数据的数据处理系统
CN116880776B (zh) * 2023-09-06 2023-11-17 上海凯翔信息科技有限公司 一种存储数据的数据处理系统

Also Published As

Publication number Publication date
CN106775496B (zh) 2020-01-21
CN106775496A (zh) 2017-05-31
CN103577336B (zh) 2017-03-08
WO2015058493A1 (zh) 2015-04-30

Similar Documents

Publication Publication Date Title
CN103577336A (zh) 一种存储数据处理方法及装置
CN102511044B (zh) 一种数据删除方法及装置
CN109656486B (zh) 固态硬盘的配置方法、数据存储方法、固态硬盘和存储控制器
CN110399310B (zh) 一种存储空间的回收方法及装置
CN102707990A (zh) 基于容器的处理方法、装置和系统
CN103902465A (zh) 一种固态硬盘垃圾回收的方法、系统和固态硬盘控制器
CN102201259A (zh) 非易失性存储器的平均抹写方法
CN105242871A (zh) 一种数据写入方法及装置
CN102096561B (zh) 分层数据存储处理方法、装置以及存储设备
CN103577338A (zh) 一种回收垃圾数据的方法及存储设备
CN103019888A (zh) 备份方法与装置
CN103020255A (zh) 分级存储方法和装置
CN103761053A (zh) 一种数据处理方法和装置
CN103324533A (zh) 分布式数据处理方法、装置及系统
CN103955433A (zh) 盖瓦磁记录硬盘、盖瓦磁记录硬盘写数据的方法及装置
CN102591789A (zh) 存储空间回收方法及装置
CN103677653A (zh) 一种基于ssd的数据处理方法及电子设备
CN103677674A (zh) 一种数据处理方法及装置
CN102169727A (zh) 基于随机游走的固态硬盘磨损均衡方法
CN103064804A (zh) 磁盘数据的访问控制方法及装置
CN103389942A (zh) 控制装置、存储装置及存储控制方法
CN105204783A (zh) 一种基于数据生存期的固态盘垃圾回收方法
CN105493080A (zh) 基于上下文感知的重复数据删除的方法和装置
CN105224238A (zh) 存储器管理方法、存储器存储装置及存储器控制电路单元
CN104408126B (zh) 一种数据库的持久化写入方法、装置和系统

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