CN110531927A - 一种基于块分级的垃圾回收方法及非易失性的存储设备 - Google Patents

一种基于块分级的垃圾回收方法及非易失性的存储设备 Download PDF

Info

Publication number
CN110531927A
CN110531927A CN201910721245.6A CN201910721245A CN110531927A CN 110531927 A CN110531927 A CN 110531927A CN 201910721245 A CN201910721245 A CN 201910721245A CN 110531927 A CN110531927 A CN 110531927A
Authority
CN
China
Prior art keywords
physical block
recycled
grade
block
data
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
CN201910721245.6A
Other languages
English (en)
Other versions
CN110531927B (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.)
Shenzhen Dapu Microelectronics Co Ltd
Original Assignee
Shenzhen Dapu Microelectronics 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 Shenzhen Dapu Microelectronics Co Ltd filed Critical Shenzhen Dapu Microelectronics Co Ltd
Priority to CN201910721245.6A priority Critical patent/CN110531927B/zh
Publication of CN110531927A publication Critical patent/CN110531927A/zh
Application granted granted Critical
Publication of CN110531927B publication Critical patent/CN110531927B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/061Improving I/O performance
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)

Abstract

本发明实施例涉及存储设备应用领域,公开了一种基于块分级的垃圾回收方法及非易失性的存储设备。其中所述的基于块分级的垃圾回收方法,包括:确定所述存储设备中的待回收物理块;若所述待回收物理块中存在有效数据页,根据所述待回收物理块中的有效数据页被搬移的次数,获取所述待回收物理块的等级;根据所述待回收物理块的等级,将所述待回收物理块的有效数据页的数据搬移到上一等级物理块中;初始化所述待回收物理块。通过块分级的方式,本发明实施例能够在垃圾回收过程中,减少有效数据页的搬移,延长固态硬盘的使用寿命,同时避免数据搬移过程中读写错误的发生。

Description

一种基于块分级的垃圾回收方法及非易失性的存储设备
技术领域
本发明涉及存储设备应用领域,特别是涉及一种基于块分级的垃圾回收方法及非易失性的存储设备。
背景技术
固态硬盘(Solid State Drives,SSD),是采用固态电子存储芯片阵列而制成的硬盘,固态硬盘会包括控制单元和存储单元(FLASH存储芯片以及DRAM存储芯片),在固态硬盘中,已写入数据的物理块(block),不能直接改写,只有先通过垃圾回收才能写入新的数据。
为了减少SSD数据的写放大,主要的研究方向是想通过数据分组的方法将冷热数据分离开,在数据写入的时候分别存储在不同的物理块(Block)中。目前,可以通过统计的方法针对不同逻辑区块地址(Logical Block Address,LBA)的数据生命周期进行预测,进而根据生命周期的长短对数据存放的物理块进行分组,但是,数据生命周期的统计和预测会带来比较大的硬件开销,预测准确度目前也满足不了产品期望。
基于此,现有技术亟待改进。
发明内容
本发明实施例旨在提供一种基于块分级的垃圾回收方法及非易失性的存储设备,其能够减少有效数据页的搬移,延长存储设备的使用寿命,同时避免数据搬移过程中读写错误的发生。
为解决上述技术问题,本发明实施例提供以下技术方案:
第一方面,本发明实施例提供一种基于块分级的垃圾回收方法,应用于存储设备,所述方法包括:
确定所述存储设备中的待回收物理块;
若所述待回收物理块中存在有效数据页,根据所述待回收物理块中的有效数据页被搬移的次数,获取所述待回收物理块的等级;
根据所述待回收物理块的等级,将所述待回收物理块的有效数据页的数据搬移到上一等级物理块中;
初始化所述待回收物理块。
在一些实施例中,所述方法还包括:
判断所述待回收物理块的等级是否为最高等级;
若所述待回收物理块的等级不是最高等级,则将所述待回收物理块的有效数据页的数据搬移到上一等级物理块中;
若所述待回收物理块的等级是最高等级,则将所述待回收物理块的有效数据页的数据搬移到另一个最高等级物理块中。
在一些实施例中,所述方法还包括:
将所述待回收物理块的有效数据页的数据搬移到上一等级或另一个最高等级的物理块中,所述上一等级或另一个最高等级的物理块应处于开放状态,并且,满足每个等级在同一时间最多只有一个物理块处于开放状态。
在一些实施例中,在确定所述存储设备中的待回收物理块之前,所述方法还包括:
获取所述存储设备中所有的物理块的运行状态,其中,所述运行状态包括初始化状态、开放状态、关闭状态以及隔离状态。
在一些实施例中,所述将所述待回收物理块的有效数据页的数据搬移到上一等级物理块,包括:
确定是否存在开放状态的所述待回收物理块的上一等级物理块;
若是,则将所述待回收物理块的有效数据页的数据搬移到上一等级物理块;
若否,在所述存储设备剩余的空闲空间中分配一个新的物理块作为所述待回收物理块的上一等级物理块,并将所述待回收物理块的有效数据页的数据搬移到所述新的上一等级物理块。
在一些实施例中,所述将所述待回收物理块的有效数据页的数据搬移到上一等级物理块,还包括:
若所述上一等级物理块的剩余可用空间不足以写入所述待回收物理块的有效数据页的全部数据,则关闭写满的该上一等级物理块,并新建一个上一等级物理块,将剩余的有效数据页的数据搬移到所述新建的上一等级物理块中。
在一些实施例中,所述将所述待回收物理块的有效数据页的数据搬移到另一个最高等级物理块中,包括:
确定是否存在开放状态的另一个最高等级物理块;
若是,则将所述待回收物理块的有效数据页的数据搬移到所述另一个最高等级物理块;
若否,则在所述存储设备剩余的空闲空间中分配一个新的物理块作为最高等级物理块,将所述待回收物理块的有效数据页的数据搬移到所述新的最高等级物理块。
在一些实施例中,所述将所述待回收物理块的有效数据页的数据搬移到所述另一个最高等级物理块,包括:
若所述另一个最高等级物理块的剩余可用空间不足以写入所述待回收物理块的有效数据页的全部数据,则关闭写满的所述另一个最高等级物理块,并新建一个最高等级物理块,将剩余的有效数据页的数据搬移到所述新建的最高等级物理块中。
在一些实施例中,所述方法还包括:
若所述待回收物理块中不存在有效数据页,则直接初始化所述待回收物理块。
在一些实施例中,所述获取所述存储设备中待回收物理块之前,所述方法还包括:
预先定义所述存储设备中的物理块的等级,具体为:根据所述物理块中的有效数据页被搬移的次数,确定所述物理块的等级,为所述存储设备中的物理块定义N个等级,分别为L0,L1,…,LN-1等级,其中,N为正整数且N≥2,L0为最低等级,LN-1为最高等级,且只有最低等级的物理块用于接收Host端直接写入的数据。
第二方面,本发明实施例提供一种基于块分级的垃圾回收装置,应用于存储设备,所述装置包括:
待回收物理块确定单元,用于确定所述存储设备中的待回收物理块;
物理块等级获取单元,用于若所述待回收物理块中存在有效数据页,根据所述待回收物理块中的有效数据页被搬移的次数,获取所述待回收物理块的等级;
数据搬移单元,用于根据所述待回收物理块的等级,将所述待回收物理块的有效数据页的数据搬移到上一等级物理块中;
物理块初始化单元,用于初始化所述待回收物理块。
在一些实施例中,所述装置还包括:
最高等级判断单元,用于判断所述待回收物理块的等级是否为最高等级;
若所述待回收物理块的等级不是最高等级,则将所述待回收物理块的有效数据页的数据搬移到上一等级物理块中;
若所述待回收物理块的等级是最高等级,则将所述待回收物理块的有效数据页的数据搬移到另一个最高等级物理块中。
在一些实施例中,所述最高等级判断单元,具体用于:
将所述待回收物理块的有效数据页的数据搬移到另一个最高等级物理块中,所述另一个最高等级物理块应处于开放状态,并且,满足每个等级在同一时间最多只有一个物理块处于开放状态。
在一些实施例中,所述装置还包括:
运行状态获取单元,用于获取所述存储设备中所有的物理块的运行状态,其中,所述运行状态包括初始化状态、开放状态、关闭状态以及隔离状态。
在一些实施例中,所述数据搬移单元,具体用于:
确定是否存在开放状态的所述待回收物理块的上一等级物理块;
若是,则将所述待回收物理块的有效数据页的数据搬移到上一等级物理块;
若否,在所述存储设备剩余的空闲空间中分配一个新的物理块作为所述待回收物理块的上一等级物理块,并将所述待回收物理块的有效数据页的数据搬移到所述新的上一等级物理块。
在一些实施例中,所述数据搬移单元,还用于:
若所述上一等级物理块的剩余可用空间不足以写入所述待回收物理块的有效数据页的全部数据,则关闭写满的该上一等级物理块,并新建一个上一等级物理块,将剩余的有效数据页的数据搬移到所述新建的上一等级物理块中。
在一些实施例中,所述数据搬移单元,还用于:
确定是否存在开放状态的另一个最高等级物理块;
若是,则将所述待回收物理块的有效数据页的数据搬移到所述另一个最高等级物理块;
若否,则在所述存储设备剩余的空闲空间中分配一个新的物理块作为最高等级物理块,将所述待回收物理块的有效数据页的数据搬移到所述新的最高等级物理块。
在一些实施例中,所述数据搬移单元,还用于:
若所述另一个最高等级物理块的剩余可用空间不足以写入所述待回收物理块的有效数据页的全部数据,则关闭写满的所述另一个最高等级物理块,并新建一个最高等级物理块,将剩余的有效数据页的数据搬移到所述新建的最高等级物理块中。
在一些实施例中,所述装置还包括:
物理块分级单元,用于预先定义所述存储设备中的物理块的等级,具体为:根据所述物理块中的有效数据页被搬移的次数,确定所述物理块的等级,为所述存储设备中的物理块定义N个等级,分别为L0,L1,…,LN-1等级,其中,N为正整数且N≥2,L0为最低等级,LN-1为最高等级,且只有最低等级的物理块用于接收Host端直接写入的数据。
第三方面,本发明实施例提供一种非易失性的存储设备,包括:
闪存芯片,所述闪存芯片包括多个晶圆,每一所述晶圆包括多个分组,每一所述分组包括多个物理块,每一所述物理块包括多个物理页;
主控制器,所述主控制器包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的方法。
第四方面,本发明实施例还提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使非易失性的存储设备能够执行如上所述的基于块分级的垃圾回收方法。
本发明实施例的有益效果是:区别于现有技术的情况下,本发明实施例提供的一种基于块分级的垃圾回收方法,包括:确定所述存储设备中的待回收物理块;若所述待回收物理块中存在有效数据页,根据所述待回收物理块中的有效数据页被搬移的次数,获取所述待回收物理块的等级;根据所述待回收物理块的等级,将所述待回收物理块的有效数据页的数据搬移到上一等级物理块中;初始化所述待回收物理块。通过块分级的方式,本发明实施例能够在垃圾回收过程中,减少有效数据页的搬移,延长固态硬盘的使用寿命,同时避免数据搬移过程中读写错误的发生。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是本发明实施例提供的一种固态硬盘的结构示意图;
图2是本发明实施例提供的一种基于块分级的垃圾回收方法的流程示意图;
图3是本发明实施例提供的另一种基于块分级的垃圾回收方法的流程示意图;
图4是本发明实施例提供的又一种基于块分级的垃圾回收方法的细化流程示意图;
图5是本发明实施例提供的一种物理块的运行状态的示意图;
图6是本发明实施例提供的一种数据的搬移的示意图;
图7是本发明实施例提供的一种基于块分级的垃圾回收的示意图;
图8是本发明实施例提供的一种基于块分级的垃圾回收装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
在本发明实施例中,存储设备包括为具有垃圾回收机制的非易失性存储设备,非易失性存储器(Non-Volatile Memory,NVM)是所有形式的固态(没有可动部分)存储器的一个一般的术语,它不用定期地刷新存储器内容。这包括所有形式的只读存储器(Read-OnlyMemory,ROM),例如:可编程只读存储器(ProgrammableRead-Only Memory,PROM)、可擦可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、电可擦除只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、闪存(FlashMemory)以及电池供电的随机存取储存器(Random Access Memory,RAM)。
具体的,本发明实施例以非易失性的存储设备为固态硬盘为例进行阐述。在固态硬盘中,由于NAND FLASH读写原理,不能对已写入的数据在其存储物理位置上直接改写。需要首先以物理块(Block)为单位执行擦除操作,然后才允许对该块包含的数据页(Page)执行写操作,这使得SSD具有非常低效的就地更新操作的关键弱点。为此,SSD系统通常采用异地更新操作,即将数据复制到缓冲区进行更新,更新后存储至新位置,包含原数据的旧位置标记为“垃圾”,须经由“垃圾回收(Garbage Collection,GC)”才能将一个物理块Block包含的全部物理页Page重新转换为可用空间。垃圾回收(Garbage Collection,GC)是将NANDFLASH中一个物理块里的有效页的数据复制到另一个空闲块(未被使用的物理块)里,然后把这个物理块完全擦除,其中,当NAND FLASH中任意一个物理页中有数据需要修改时,该物理页会被标识为无效页,该无效页内的数据均成为无效数据,并在其他物理块上申请页空间大小进行数据写入,而未被标记为无效页且已使用的物理页被称为有效页。其中,固态硬盘(Solid State Drives,SSD)的编程/擦除次数(Program/Erase Cycles,P/E),简称为擦除次数,决定固态硬盘的寿命。
其中,垃圾回收时一般每次选取有效数据页比例最小的物理块进行操作,将“非垃圾”数据(有效数据)的搬移到新的物理块(block)中,再对该物理块进行擦写操作,使其全部物理页(Page)重新转换为可用空间,此操作过程就会带来额外的数据的写入--称为数据的“写放大”。
同时,NAND Flash的擦写次数频率的高低决定了其使用寿命。NAND Flash物理材料特性决定了其颗粒擦写次数是有限的,一般最多被擦写数千次。那么,为了延长其使用寿命,SSD产品开发设计过程中,会尽量采取策略尽可能降低相同数据读写访问情况下的写放大系数。比如,如果我们可以将相同环境下写放大系数降低20%;那么,原本使用寿命为四年的固态硬盘SSD,可以延长使用到五年。
为了尽可能地减少SSD数据的写放大,就需要SSD主控对数据进行分类存储--不同生命周期的数据存放在不同的物理块中。这样,存放在一个物理块中的数据页的生命周期是相似的;当该物理块被选中做垃圾回收时,其中的数据页已经同时失效,减少了有效数据页的搬移。
因此,如果固态硬盘SSD可以将冷热数据有效的分开,在垃圾回收时需要搬移的有效数据就会相应的减少,从而减小SSD数据写放大系数,延长磁盘使用寿命。
基于此,本发明提供一种基于块分级的垃圾回收方法,通过对物理块进行分级,根据物理块的级别,在垃圾回收时将有效数据搬移至对应级别的物理块,从而完成对不同生命周期数据的自动过滤与分类,实现在非常小的额外硬件开销下,减少了数据被频繁搬移的平均次数,从而提高固态硬盘的使用寿命。
下面结合附图对该方法进行进一步的阐述。
请参阅图1,图1是本发明实施例提供的一种固态硬盘的结构示意图;
如图1所示,该固态硬盘10,包括:主控制器11以及闪存芯片12,所述主控制器11连接所述闪存芯片12;
具体的,所述主控制器11,包括:一个或多个处理器111以及存储器112。其中,图1中以一个处理器111为例。
处理器111和存储器112可以通过总线或者其他方式连接,图1中以通过总线连接为例。
存储器112作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。处理器111通过运行存储在存储器112中的非易失性软件程序、指令以及模块,从而执行本发明实施例的基于块分级的垃圾回收方法的各种功能应用以及数据处理。
存储器112可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器112可选包括相对于处理器111远程设置的存储器,这些远程存储器可以通过网络连接至处理器111。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。所述模块存储在所述存储器112中,当被所述一个或者多个处理器111执行时,执行本发明实施例中的基于块分级的垃圾回收方法。
具体的,所述闪存芯片12,包括多个晶圆(die),每个晶圆由多个分组(plane)组成,每个分组由多个块(block)组成,即本发明中所述的物理块(block),其中,块是闪存芯片12擦除的基本单位,每个块有多个页(page),即物理页,物理页(page)是闪存芯片12读写的基本单位。
请参阅图2,图2是本发明实施例提供的一种基于块分级的垃圾回收方法的流程示意图;
如图2所示,该基于块分级的垃圾回收方法,包括:
步骤S21:确定所述存储设备中的待回收物理块;
具体的,所述存储设备为固态硬盘,当固态硬盘需要进行垃圾回收(GarbageCollection,GC)时,通过启动垃圾回收机制,主控制器确定所述固态硬盘中待回收物理块,其中,所述主控制器根据预设条件确定所述固态硬盘中待回收物理块,例如:获取固态硬盘中所有的物理块的运行状态,若所述物理块的运行状态为关闭状态,对处于关闭状态进一步获取其有效物理页的比例,将有效物理页的比例最低的物理块确定为当前待回收物理块,或者,预设有效物理页的比例阈值,若存在关闭状态的物理块的有效物理页的比例小于或等于所述预设有效物理页的比例阈值,将其作为待回收物理块。可以理解的是,垃圾回收在一个时刻只能对应一个物理块,因此,主控制器只能确定一个最符合条件的物理块,比如:选取有效物理页比例最低的物理块,假设存在多个有效物理页比例相同且均为最低,则所述主控制器随机选择一个物理块作为当前待回收物理块,进一步地,所述主控制器还对多个有效物理页比例相同且均为最低的物理块进行排序,通过确定所述物理块的回收顺序,方便对所述多个物理块进行垃圾回收。
步骤S22:若所述待回收物理块中存在有效数据页,根据所述待回收物理块中的有效数据页被搬移的次数,获取所述待回收物理块的等级;
具体的,确定所述待回收物理块之后,由于待回收物理块可能会存在有效物理页的情况,有效物理页的数据需要进行搬移,以便对所述待回收物理块进行回收而不丢失有效物理页的数据,此时需要对所述有效物理页的数据进行搬移,为了对不同生命周期的数据进行自动过滤与分类,本发明提出一种新的有效数据的搬移方式的设计,如下阐述:
具体的,预先定义所述存储设备中的物理块的等级,例如:预先定义固态硬盘中的物理块的等级,具体为:
根据所述物理块的有效数据页被搬移的次数,确定所述物理块的等级,为所述固态硬盘中的物理块定义N个等级,分别为L0,L1,…,LN-1等级,其中,N为正整数且N≥2,L0为最低等级,LN-1为最高等级,且只有最低等级的物理块用于接收Host端直接写入的数据,即只有L0等级的物理块用于接收主机写入的数据。可以理解的是,L0为最低等级,其所在等级的物理块中的有效数据页被写入1次、搬移0次,LN-1为最高等级,其所在等级的物理块中的有效数据页被搬移至少N-1次,例如:L3等级物理块的有效数据页被搬移的次数为3次。
步骤S23:根据所述待回收物理块的等级,将所述待回收物理块的有效数据页的数据搬移到上一等级物理块中;
具体的,请参阅图6,图6是本发明实施例提供的一种数据的搬移的示意图;
如图6所示,Host端直接写入的数据只能写到L0级物理块(block)中,L0,L1,…,LN-1级中每一级最多有一个物理块处于开放状态(Open)并且其正在写入数据,当某一个Li级物理块写满后,将关闭该物理块,并在剩余的空闲空间中分配一个新的物理块,并将该物理块标记为Li级。
当对Li级物理块做垃圾回收时,如果该物理块中还存在有效数据页,将其搬移到Li+1级物理块中,由于LN-1级为物理块(block)的最高级,如果对LN-1级物理块做垃圾回收时,该物理块的有效数据页将搬移到新的LN-1级物理块中,假设不存在新的LN-1级物理块,则新建一个LN-1级物理块。
可以理解的是,当新的固态硬盘开始使用时,此时只有L0级物理块,随着垃圾回收的启动,物理块中的有效物理页的数据搬移次数增加,固态硬盘逐渐增加L0,L1,…,LN-1级物理块。
步骤S24:初始化所述待回收物理块。
具体的,当所述待回收物理块的有效物理页的数据完全搬移到上一等级物理块中,则此时对所述待回收物理块进行擦除。
请再参阅图3,图3是本发明实施例提供的另一种基于块分级的垃圾回收方法的流程示意图;
如图3所示,该基于块分级的垃圾回收方法,包括:
开始;
步骤S31:确定所述固态硬盘中的待回收物理块;
具体的,当固态硬盘需要进行垃圾回收(Garbage Collection,GC)时,通过启动垃圾回收机制,主控制器确定所述固态硬盘中的待回收物理块,其中,所述主控制器根据预设条件确定所述固态硬盘中的待回收物理块,例如:获取固态硬盘中所有的物理块的运行状态,若所述物理块的运行状态为关闭状态,对处于关闭状态的物理块进一步获取其有效物理页的比例,将有效物理页的比例最低的物理块确定为当前待回收物理块,或者,预设有效物理页的比例阈值,若存在关闭状态的物理块的有效物理页的比例小于或等于所述预设有效物理页的比例阈值,将其作为待回收物理块。可以理解的是,垃圾回收在一个时刻只能对应一个物理块,因此,主控制器只能确定一个最符合条件的物理块,比如:选取有效物理页比例最低的物理块,假设存在多个有效物理页比例相同且均为最低,则所述主控制器随机选择一个物理块作为当前待回收物理块,进一步地,所述主控制器还对多个有效物理页比例相同且均为最低的物理块进行排序,通过确定所述物理块的回收顺序,方便对所述多个物理块进行垃圾回收。
步骤S32:判断待回收物理块中是否存在有效物理页;
具体的,通过确定所述待回收物理块中是否存在有效物理页,若是,则进入步骤S33:获取所述待回收物理块的等级;若否,则进入步骤S34:直接初始化所述待回收物理块;
步骤S33:获取所述待回收物理块的等级;
步骤S34:直接初始化所述待回收物理块;
具体的,对所述待回收物理块进行擦除操作(Erase),初始化所述待回收物理块。
步骤S35:判断所述待回收物理块的等级是否为最高等级;
具体的,判断所述待回收物理块是否为最高等级,即LN-1级,若是,则进入步骤S36:将所述待回收物理块的有效数据页搬移到开放状态的另一个最高等级物理块中;若否,则进入步骤S37:将所述待回收物理块的有效数据页的数据搬移到上一等级的物理块中;
步骤S36:将所述待回收物理块的有效数据页搬移到另一个最高等级物理块中;
具体的,将所述待回收物理块的有效数据页的数据搬移到开放状态的另一个最高等级物理块中,若不存在开放状态的最高等级物理块或该最高等级物理块剩余可用空间在数据搬移过程中被写满,则在所述固态硬盘剩余的空闲空间中分配一个新的物理块作为最高等级物理块,将所述待回收物理块的有效物理页的数据搬移到新的最高等级物理块。可以理解的是,将所述待回收物理块的有效数据页的数据搬移到另一个最高等级物理块中,所述另一个最高等级物理块应处于开放状态,并且,满足每个等级在同一时间最多只有一个物理块处于开放状态。
步骤S37:将所述待回收物理块的有效数据页的数据搬移到上一等级的物理块中;
具体的,若所述待回收物理块的等级为Li级,则将所述待回收物理块的有效数据页的数据搬移到Li+1级的物理块中。
请再参阅图4,图4是本发明实施例提供的又一种基于块分级的垃圾回收方法的细化流程示意图;
如图4所示,该基于块分级的垃圾回收方法,包括:
步骤S41:GC启动;
具体的,启动垃圾回收(Garbage Collection,GC),对选定的物理块的有效物理页的数据进行全部搬移后擦除该物理块的全部物理页。
在本发明实施例中,所述方法还包括:
预先定义所述存储设备中的物理块的等级,具体为:根据所述物理块中的有效数据页被搬移的次数,确定所述物理块的等级,为所述存储设备中的物理块定义N个等级,分别为L0,L1,…,LN-1等级,其中,N为正整数且N≥2,L0为最低等级,LN-1为最高等级,且只有最低等级的物理块用于接收Host端直接写入的数据。
具体的,请参阅图7,图7是本发明实施例提供的一种基于块分级的垃圾回收的示意图;
如图7所示,待回收物理块的搬移方式为由最低等级向最高等级搬移,其中,本发明的物理块的等级按照顺序从低到高,例如:L0,L1,…,LN-1等级,其中,图7中以四级block(即N=4)为例,其中的最高等级LN-1为L3,从图7中可以看出,同一级别的物理块的搬移次数均相同,根据数据页被垃圾回收(Garbage Collection,GC)搬动的历史次数,指定存放容器,即指定物理块(block)的等级,使得每个物理块(block)中的全部数据页被GC搬动的次数相同,完成对不同生命周期数据的自动过滤与分类,实现了固态硬盘SSD冷热数据的分离,进而提高固态硬盘SSD性能。
步骤S42:确定所述固态硬盘中待回收物理块及其等级Li
具体的,主控制器根据预设条件确定所述固态硬盘中待回收物理块,并获取所述待回收物理块的等级,例如:该待回收物理块的等级为Li级,其中,i≤N-1;
在本发明实施例中,在确定所述存储设备中的待回收物理块之前,所述方法还包括:
获取所述固态硬盘中所有的物理块的运行状态,其中,所述运行状态包括初始化状态、开放状态、关闭状态以及隔离状态。
具体的,请参阅图5,图5是本发明实施例提供的一种物理块的运行状态的示意图;
如图5所示,物理块的运行状态包括:初始化状态、开放状态、关闭状态以及隔离状态,其中,四种状态之间可以转换。
具体的,初始化状态(Free),对物理块(block)执行擦除操作(可理解为初始化),初始化状态的物理块可以被分配用来保存新数据。
具体的,开放状态(Open),分配初始化状态(Free)的物理块(block)并开始写入新数据,一个开放状态(Open)的物理块(block)在没有被写满前可以继续写入数据,也可以读取其中已写入的数据。
具体的,关闭状态(Closed),当一个开放状态(Open)的物理块(block)写满数据的时候,将其设为关闭状态(Closed)。一个关闭状态(Closed)下的物理块(block),只能读取数据,不能再写入新的数据;只有对一个关闭状态(Closed)下的block做垃圾回收(搬走有效数据页后擦写整个物理块)才可以转化为初始化状态(Free),以等待再次写入新数据。
具体的,隔离状态(Offline),当发现一个物理块(block)异常的时候,比如:擦写后无法写入新数据,擦写次数到达上限,原始数据错误率上升等情况,将此物理块(block)设置为坏块(bad block),将其隔离不再使用。
在本发明实施例中,每一个物理块的运行状态都要被记录,以备管理,例如:当需要新开一个物理块时,在运行状态为初始化状态的物理块集合中申请一个物理块,当需要确定待回收物理块时,在运行状态为关闭状态的物理块集合中确定一个最优的物理块,所述最优的物理块指的可以是有效数据页最少的物理块,当需要拷贝有效数据页的数据时,在运行状态为开放状态的物理块集合中查找是否有符合等级的物理块。可以理解的是,运行状态为初始化状态和隔离状态的物理块不区分等级,每个等级可以有多个关闭状态的物理块,但每个等级在同一时间最多只有一个物理块处于开放状态。
步骤S43:判断当前待回收物理块中是否存在有效物理页;若是,则进入步骤S44:判断当前待回收物理块的级别i<N-1;若是,则进入步骤S45:判断开放状态的物理块是否有级别为i+1的;若否,则进入步骤S47:擦除该Li级物理块;
具体的,通过判断当前待回收物理块中是否存在有效物理页,若存在有效物理页,则进一步判断当前待回收物理块的级别i是否小于N-1,即判断所述待回收物理块的等级是否为最高等级LN-1;若不存在有效物理页,则进入步骤S47:擦除该Li级物理块;
步骤S44:判断当前待回收物理块的级别i<N-1;若是,则进入步骤S45;若否,则进入步骤S46;
步骤S45:开放状态的物理块是否有级别为i+1的;
具体的,判断开放状态(Open)的物理块是否有级别为i+1的,即判断是否存在当前待回收物理块的上一等级的物理块的运行状态为开放状态,若存在,则进入步骤S451:将GC选取的Li级物理块的有效数据页搬移到该Li+1级物理块中,若搬移过程中空间不足,自动关闭写满的Li+1级物理块,并分配一个新的物理块标记为Li+1;若不存在,则进入步骤S452:SSD主控在剩余的空闲空间中分配一个新的物理块标记为Li+1级;
步骤S451:将GC选取的Li级物理块的有效数据页搬移到该Li+1级物理块中,若搬移过程中空间不足,自动关闭写满的Li+1级物理块,并分配一个新的物理块标记为Li+1级;
具体的,将当前待回收物理块的有效数据页中的数据搬移到上一等级的物理块中,若搬移过程中该上一等级物理块的剩余可用空间不足,则在写满该上一等级物理块后,自动关闭写满的该上一等级物理块,即Li+1级物理块,并在剩余的空闲空间中分配一个新的物理块,将该物理块的等级标记为Li+1级,并将当前待回收物理块中未搬移的有效数据搬移到新分配的Li+1级物理块。
步骤S452:SSD主控在剩余的空闲空间中分配一个新的物理块标记为Li+1级;
具体的,若不存在开放状态的物理块的级别为i+1,即不存在当前待回收物理块的上一等级物理块,则主控制器在剩余的空闲空间中分配一个新的物理块,并将该物理块的等级标记为Li+1级,并将待回收物理块的有效物理页的数据搬移到新建的Li+1级物理块。
步骤S46:开放状态的物理块是否有级别为N-1的?
具体的,若当前待回收物理块的级别为LN-1级,通过判断开放状态的物理块是否有级别为N-1的,即判断是否存在与当前待回收物理块同为最高级别且运行状态为开放状态的物理块,若存在,则进入步骤S461:将GC选取的物理块的有效数据页搬移到该LN-1级物理块中,若搬移过程中空间不足,自动关闭写满的LN-1级物理块,并分配一个新的物理块标记为LN-1级;若不存在,则进入步骤S462:SSD主控在剩余的空闲空间中分配一个新的物理块并标记为LN-1级;
步骤S461:将GC选取的物理块的有效数据页搬移到该LN-1级物理块中,若搬移过程中空间不足,自动关闭写满的LN-1级物理块,并分配一个新的物理块标记为LN-1级;
具体的,若所述另一个最高等级物理块的剩余可用空间不足以写入所述待回收物理块的有效数据页的全部有效数据,则关闭写满的所述另一个最高等级物理块,并在所述存储设备剩余的空闲空间中分配一个新的物理块作为最高等级物理块,将所述待回收物理块的有效数据页的数据继续搬移到所述新的最高等级物理块。
步骤S462:SSD主控在剩余的空闲空间中分配一个新的物理块并标记为LN-1级;
具体的,若不存在级别为LN-1级的运行状态为开放状态的物理块,则固态硬盘的主控制器在剩余的空闲空间中分配一个新的物理块,并将该物理块的级别标记为LN-1级,之后将待回收物理块的有效数据页的全部有效数据搬移到新建的LN-1级物理块中。
步骤S47:擦除该Li级物理块;
具体的,若当前待回收物理块的有效物理页的有效数据搬移到对应的物理块之后,将对所述当前待回收物理块进行擦除,即初始化当前待回收物理块。或者,若当前待回收物理块中不存在有效数据页,则直接初始化所述待回收物理块。
步骤S48:GC结束;
具体的,结束对当前待回收物理块的垃圾回收过程,直至全部的待回收物理块均进行垃圾回收之后,本次垃圾回收(Garbage Collection,GC)结束。
可以理解的是,在初始化状态的物理块相当于等待被开放的物理块,初始化状态的物理块未指定级别,当指派一个物理块由初始化状态转为开放状态以写入数据时,需指定其级别,即确定Li的i取值,这里i∈[0,N-1]。
在本发明实施例中,通过提供一种基于块分级的垃圾回收方法,包括:确定所述存储设备中的待回收物理块;若所述待回收物理块中存在有效数据页,根据所述待回收物理块中的有效数据页被搬移的次数,获取所述待回收物理块的等级;根据所述待回收物理块的等级,将所述待回收物理块的有效数据页的数据搬移到上一等级物理块中;初始化所述待回收物理块。通过对物理块进行等级分级(L0至LN-1),Host端直接写入的数据开始保存在L0级物理块(Block)中,有效数据页从最低等级L0依次往上一级搬移,使得同一级中每个物理块(Block)中的全部物理页被GC搬动的次数相同,根据物理页被GC搬动的历史次数,完成对不同生命周期数据的自动过滤与分类,能够实现在非常小的额外硬件开销下,实现了固态硬盘SSD冷热数据的分离,减少了数据被频繁搬移的平均次数,进而减少SSD数据写放大系数,延长磁盘使用寿命,同时避免数据搬移过程中读写错误的发生。
请参阅图8,图8是本发明实施例提供的一种基于块分级的垃圾回收装置的结构示意图;
该基于块分级的垃圾回收装置可以应用于非易失性的存储设备,例如:固态硬盘,如图8所示,该基于块分级的垃圾回收装置80包括:
待回收物理块确定单元81,用于确定所述存储设备中的待回收物理块;
物理块等级获取单元82,用于若所述待回收物理块中存在有效数据页,根据所述待回收物理块中的有效数据页被搬移的次数,获取所述待回收物理块的等级;
数据搬移单元83,用于根据所述待回收物理块的等级,将所述待回收物理块的有效数据页的数据搬移到上一等级物理块中;
物理块初始化单元84,用于初始化所述待回收物理块。
在本发明实施例中,所述装置还包括:
最高等级判断单元,用于判断所述待回收物理块的等级是否为最高等级;
若所述待回收物理块的等级不是最高等级,则将所述待回收物理块的有效数据页的数据搬移到上一等级物理块中;
若所述待回收物理块的等级是最高等级,则将所述待回收物理块的有效数据页的数据搬移到另一个最高等级物理块中。
在本发明实施例中,所述装置还包括:
运行状态获取单元(图未示),用于获取所述存储设备中所有的物理块的运行状态,其中,所述运行状态包括初始化状态、开放状态、关闭状态以及隔离状态。
在本发明实施例中,所述数据搬移单元83,具体用于:
确定是否存在开放状态的所述待回收物理块的上一等级物理块;
若是,则将所述待回收物理块的有效数据页的数据搬移到上一等级物理块;
若否,在所述存储设备剩余的空闲空间中分配一个新的物理块作为所述待回收物理块的上一等级物理块,并将所述待回收物理块的有效数据页的数据搬移到所述新的上一等级物理块。
在本发明实施例中,所述数据搬移单元83,还用于:
若所述上一等级物理块的剩余可用空间不足以写入所述待回收物理块的有效数据页的全部数据,则关闭写满的该上一等级物理块,并新建一个上一等级物理块,将剩余的有效数据页的数据搬移到所述新建的上一等级物理块中。
在本发明实施例中,所述数据搬移单元83,还用于:
确定是否存在开放状态的另一个最高等级物理块;
若是,则将所述待回收物理块的有效数据页的数据搬移到所述另一个最高等级物理块;
若否,则在所述存储设备剩余的空闲空间中分配一个新的物理块作为最高等级物理块,将所述待回收物理块的有效数据页的数据搬移到所述新的最高等级物理块。
在本发明实施例中,所述数据搬移单元83,还用于:
若所述另一个最高等级物理块的剩余可用空间不足以写入所述待回收物理块的有效数据页的全部数据,则关闭写满的所述另一个最高等级物理块,并新建一个最高等级物理块,将剩余的有效数据页的数据搬移到所述新建的最高等级物理块中。
在本发明实施例中,所述装置还包括:
物理块分级单元(图未示),用于预先定义所述存储设备中的物理块的等级,具体为:根据所述物理块中的有效数据页被搬移的次数,确定所述物理块的等级,将所述存储设备中的物理块分为N个等级,分别为L0,L1,…,LN-1等级,其中,N为正整数且N≥2,L0为最低等级,LN-1为最高等级,最低等级的物理块用于接收Host端直接写入的数据。
由于装置实施例和方法实施例是基于同一构思,在内容不互相冲突的前提下,装置实施例的内容可以引用方法实施例的,在此不赘述。
在本发明实施例中,通过提供一种基于块分级的垃圾回收装置,所述装置包括:待回收物理块确定单元,用于确定所述存储设备中的待回收物理块;物理块等级获取单元,用于若所述待回收物理块中存在有效数据页,根据所述待回收物理块中的有效数据页被搬移的次数,获取所述待回收物理块的等级;数据搬移单元,用于根据所述待回收物理块的等级,将所述待回收物理块的有效数据页的数据搬移到上一等级物理块中;物理块初始化单元,用于初始化所述待回收物理块。通过上述方式,本发明实施例能够减少有效数据页的搬移,延长固态硬盘的使用寿命。
本发明实施例还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如图1中的一个处理器111,可使得上述一个或多个处理器可执行上述任意方法实施例中的基于块分级的垃圾回收方法,例如,执行上述任意方法实施例中的基于块分级的垃圾回收方法,例如,执行以上描述的图2至图4所示的各个步骤;也可实现图8所示的各个单元的功能。
以上所描述的装置或设备实施例仅仅是示意性的,其中所述作为分离部件说明的单元模块可以是或者也可以不是物理上分开的,作为模块单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络模块单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用直至得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (10)

1.一种基于块分级的垃圾回收方法,应用于非易失性的存储设备,其特征在于,所述方法包括:
确定所述存储设备中的待回收物理块;
若所述待回收物理块中存在有效数据页,根据所述待回收物理块中的有效数据页被搬移的次数,获取所述待回收物理块的等级;
根据所述待回收物理块的等级,将所述待回收物理块的有效数据页的数据搬移到上一等级物理块中;
初始化所述待回收物理块。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
判断所述待回收物理块的等级是否为最高等级;
若所述待回收物理块的等级不是最高等级,则将所述待回收物理块的有效数据页的数据搬移到上一等级物理块中;
若所述待回收物理块的等级是最高等级,则将所述待回收物理块的有效数据页的数据搬移到另一个最高等级物理块中。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
将所述待回收物理块的有效数据页的数据搬移到上一等级或另一个最高等级的物理块中,所述上一等级或另一个最高等级的物理块应处于开放状态,并且满足每个等级在同一时间最多只有一个物理块处于开放状态。
4.根据权利要求3所述的方法,其特征在于,所述将所述待回收物理块的有效数据页的数据搬移到上一等级物理块,包括:
确定是否存在开放状态的所述待回收物理块的上一等级物理块;
若是,则将所述待回收物理块的有效数据页的数据搬移到上一等级物理块;
若否,在所述存储设备剩余的空闲空间中分配一个新的物理块作为所述待回收物理块的上一等级物理块,并将所述待回收物理块的有效数据页的数据搬移到所述新的上一等级物理块。
5.根据权利要求4所述的方法,其特征在于,所述将所述待回收物理块的有效数据页的数据搬移到上一等级物理块,还包括:
若所述上一等级物理块的剩余可用空间不足以写入所述待回收物理块的有效数据页的全部数据,则关闭写满的该上一等级物理块,并新建一个上一等级物理块,将剩余的有效数据页的数据搬移到所述新建的上一等级物理块中。
6.根据权利要求3所述的方法,其特征在于,所述将所述待回收物理块的有效数据页的数据搬移到另一个最高等级物理块中,包括:
确定是否存在开放状态的另一个最高等级物理块;
若是,则将所述待回收物理块的有效数据页的数据搬移到所述另一个最高等级物理块;
若否,则在所述存储设备剩余的空闲空间中分配一个新的物理块作为最高等级物理块,将所述待回收物理块的有效数据页的数据搬移到所述新的最高等级物理块。
7.根据权利要求6所述的方法,其特征在于,所述将所述待回收物理块的有效数据页的数据搬移到所述另一个最高等级物理块,包括:
若所述另一个最高等级物理块的剩余可用空间不足以写入所述待回收物理块的有效数据页的全部数据,则关闭写满的所述另一个最高等级物理块,并新建一个最高等级物理块,将剩余的有效数据页的数据搬移到所述新建的最高等级物理块中。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述待回收物理块中不存在有效数据页,则直接初始化所述待回收物理块。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述确定所述存储设备中的待回收物理块之前,所述方法还包括:
预先定义所述存储设备中的物理块的等级,具体为:根据所述物理块中的有效数据页被搬移的次数,确定所述物理块的等级,为所述存储设备中的物理块定义N个等级,分别为L0,L1,…,LN-1等级,其中,N为正整数且N≥2,L0为最低等级,LN-1为最高等级,且只有最低等级的物理块用于接收Host端直接写入的数据。
10.一种非易失性的存储设备,其特征在于,包括:
闪存芯片,所述闪存芯片包括多个晶圆,每一所述晶圆包括多个分组,每一所述分组包括多个物理块,每一所述物理块包括多个物理页;
主控制器,所述主控制器包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-9任一项所述的方法。
CN201910721245.6A 2019-08-06 2019-08-06 一种基于块分级的垃圾回收方法及非易失性的存储设备 Active CN110531927B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910721245.6A CN110531927B (zh) 2019-08-06 2019-08-06 一种基于块分级的垃圾回收方法及非易失性的存储设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910721245.6A CN110531927B (zh) 2019-08-06 2019-08-06 一种基于块分级的垃圾回收方法及非易失性的存储设备

Publications (2)

Publication Number Publication Date
CN110531927A true CN110531927A (zh) 2019-12-03
CN110531927B CN110531927B (zh) 2023-05-09

Family

ID=68660519

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910721245.6A Active CN110531927B (zh) 2019-08-06 2019-08-06 一种基于块分级的垃圾回收方法及非易失性的存储设备

Country Status (1)

Country Link
CN (1) CN110531927B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110928852A (zh) * 2019-12-09 2020-03-27 Oppo广东移动通信有限公司 一种垃圾回收方法、装置及计算机可读存储介质
CN111124944A (zh) * 2019-12-13 2020-05-08 深圳大普微电子科技有限公司 一种数据写入方法、装置及DRAM-Less固态硬盘
CN112052193A (zh) * 2020-09-28 2020-12-08 成都佰维存储科技有限公司 一种垃圾回收方法、装置、可读存储介质及电子设备
CN113835638A (zh) * 2021-09-24 2021-12-24 苏州浪潮智能科技有限公司 一种存储系统中垃圾回收目的块的确定方法、装置及设备
WO2024078012A1 (zh) * 2022-10-11 2024-04-18 华为技术有限公司 固态硬盘配置方法、垃圾回收方法以及相关设备

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120166749A1 (en) * 2009-09-08 2012-06-28 International Business Machines Corporation Data management in solid-state storage devices and tiered storage systems
CN102609358A (zh) * 2012-01-12 2012-07-25 记忆科技(深圳)有限公司 聚集静态数据的方法及其固态硬盘
CN102799535A (zh) * 2012-06-29 2012-11-28 记忆科技(深圳)有限公司 固态硬盘的数据处理方法及固态硬盘
US20130262749A1 (en) * 2012-03-30 2013-10-03 Hitachi, Ltd. Storage system with flash memory, and storage control method
US20130265825A1 (en) * 2012-04-10 2013-10-10 Paul A. Lassa System and method for micro-tiering in non-volatile memory
CN104375944A (zh) * 2013-08-14 2015-02-25 联想(北京)有限公司 一种数据存储方法和装置
CN107102954A (zh) * 2017-04-27 2017-08-29 华中科技大学 一种基于失效概率的固态存储分级管理方法及系统
CN108920107A (zh) * 2018-07-13 2018-11-30 深圳忆联信息系统有限公司 筛选冷数据的方法、装置、计算机设备及存储介质
CN109783020A (zh) * 2018-12-28 2019-05-21 西安交通大学 一种基于ssd-smr混合键值存储系统的垃圾回收方法
CN110007860A (zh) * 2019-03-28 2019-07-12 深圳大普微电子科技有限公司 基于lsm数据库的垃圾处理的方法、固态硬盘以及存储装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120166749A1 (en) * 2009-09-08 2012-06-28 International Business Machines Corporation Data management in solid-state storage devices and tiered storage systems
CN102609358A (zh) * 2012-01-12 2012-07-25 记忆科技(深圳)有限公司 聚集静态数据的方法及其固态硬盘
US20130262749A1 (en) * 2012-03-30 2013-10-03 Hitachi, Ltd. Storage system with flash memory, and storage control method
US20130265825A1 (en) * 2012-04-10 2013-10-10 Paul A. Lassa System and method for micro-tiering in non-volatile memory
CN102799535A (zh) * 2012-06-29 2012-11-28 记忆科技(深圳)有限公司 固态硬盘的数据处理方法及固态硬盘
CN104375944A (zh) * 2013-08-14 2015-02-25 联想(北京)有限公司 一种数据存储方法和装置
CN107102954A (zh) * 2017-04-27 2017-08-29 华中科技大学 一种基于失效概率的固态存储分级管理方法及系统
CN108920107A (zh) * 2018-07-13 2018-11-30 深圳忆联信息系统有限公司 筛选冷数据的方法、装置、计算机设备及存储介质
CN109783020A (zh) * 2018-12-28 2019-05-21 西安交通大学 一种基于ssd-smr混合键值存储系统的垃圾回收方法
CN110007860A (zh) * 2019-03-28 2019-07-12 深圳大普微电子科技有限公司 基于lsm数据库的垃圾处理的方法、固态硬盘以及存储装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110928852A (zh) * 2019-12-09 2020-03-27 Oppo广东移动通信有限公司 一种垃圾回收方法、装置及计算机可读存储介质
CN110928852B (zh) * 2019-12-09 2022-12-02 Oppo广东移动通信有限公司 一种垃圾回收方法、装置及计算机可读存储介质
CN111124944A (zh) * 2019-12-13 2020-05-08 深圳大普微电子科技有限公司 一种数据写入方法、装置及DRAM-Less固态硬盘
CN111124944B (zh) * 2019-12-13 2023-08-18 深圳大普微电子科技有限公司 一种数据写入方法、装置及DRAM-Less固态硬盘
CN112052193A (zh) * 2020-09-28 2020-12-08 成都佰维存储科技有限公司 一种垃圾回收方法、装置、可读存储介质及电子设备
CN112052193B (zh) * 2020-09-28 2023-04-07 成都佰维存储科技有限公司 一种垃圾回收方法、装置、可读存储介质及电子设备
CN113835638A (zh) * 2021-09-24 2021-12-24 苏州浪潮智能科技有限公司 一种存储系统中垃圾回收目的块的确定方法、装置及设备
CN113835638B (zh) * 2021-09-24 2023-08-04 苏州浪潮智能科技有限公司 一种存储系统中垃圾回收目的块的确定方法、装置及设备
WO2024078012A1 (zh) * 2022-10-11 2024-04-18 华为技术有限公司 固态硬盘配置方法、垃圾回收方法以及相关设备

Also Published As

Publication number Publication date
CN110531927B (zh) 2023-05-09

Similar Documents

Publication Publication Date Title
CN110531927A (zh) 一种基于块分级的垃圾回收方法及非易失性的存储设备
CN100504814C (zh) 闪存的区块管理方法
US10838859B2 (en) Recency based victim block selection for garbage collection in a solid state device (SSD)
TWI463315B (zh) 資料儲存裝置及用於資料儲存之方法
CN100435116C (zh) 具有存储器平面对准的非易失性存储器及方法
EP1856616B1 (en) Scheduling of housekeeping operations in flash memory systems
CN102508788B (zh) Ssd及ssd垃圾回收方法和装置
CN102243613B (zh) 管理固态存储器中垃圾收集的系统和方法
CN106502587B (zh) 硬盘数据管理方法和硬盘控制装置
CN106469122B (zh) 有效数据合并方法、存储器控制器与存储器储存装置
KR20070012630A (ko) 데이터 런 프로그래밍
JP2011519095A (ja) マルチバンク記憶装置のためのストレージアドレス再マッピングのための方法およびシステム
CN1701390A (zh) 跟踪非易失性存储器系统中最频繁擦除区块
CN101606133A (zh) 具有连续逻辑地址空间接口的直接数据文件系统的使用
CN106227471A (zh) 固态硬盘和应用于固态硬盘的数据存取方法
DE112020002792B4 (de) Verschleissorientierte blockmodusumwandlung in nichtflüchtigen speichern
CN101369252A (zh) 基于nand闪存文件系统中静态数据损耗均衡的方法
CN101493794A (zh) 一种闪存数据处理方法及装置
CN109671458A (zh) 管理闪存模块的方法及相关的闪存控制器
CN109164975A (zh) 一种将数据写入固态硬盘的方法以及固态硬盘
CN102483685B (zh) 具有附属文件系统的多堆非易失性存储器系统
CN109003641A (zh) 存储设备及其操作方法
US20140328127A1 (en) Method of Managing Non-Volatile Memory and Non-Volatile Storage Device Using the Same
CN109240939B (zh) 一种快速处理固态硬盘trim的方法
CN108804344A (zh) 带文件系统的闪存存储方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant