CN115129262A - 一种固态硬盘垃圾回收方法、装置、设备及介质 - Google Patents
一种固态硬盘垃圾回收方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN115129262A CN115129262A CN202210909157.0A CN202210909157A CN115129262A CN 115129262 A CN115129262 A CN 115129262A CN 202210909157 A CN202210909157 A CN 202210909157A CN 115129262 A CN115129262 A CN 115129262A
- Authority
- CN
- China
- Prior art keywords
- data
- block
- hot
- storage block
- cold
- 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.)
- Pending
Links
- 239000010813 municipal solid waste Substances 0.000 title claims abstract description 105
- 239000007787 solid Substances 0.000 title claims abstract description 96
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000004064 recycling Methods 0.000 title claims abstract description 29
- 230000001960 triggered effect Effects 0.000 claims abstract description 18
- 238000004590 computer program Methods 0.000 claims description 21
- 238000011084 recovery Methods 0.000 claims description 5
- 230000003321 amplification Effects 0.000 abstract description 11
- 238000003199 nucleic acid amplification method Methods 0.000 abstract description 11
- 230000002035 prolonged effect Effects 0.000 abstract description 5
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- 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/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash 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
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- 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/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Abstract
本申请公开了一种固态硬盘垃圾回收方法、装置、设备及介质,涉及计算机技术领域,所述方法包括:当针对固态硬盘的目标存储区块的读次数满足阈值,并当触发数据搬移,则确定目标存储区块中数据的冷热级别;冷热级别包括与冷数据对应的冷级别、与热数据对应的热级别以及与介于冷热数据之间的数据对应的中等级别;根据目标存储区块中数据的冷热级别,将数据搬移至相应的新存储区块,并对目标存储区块进行擦除,以完成对固态硬盘的所述目标存储区块的垃圾回收。可见,本申请对冷热数据进行级别划分,并根据划分后的级别完成相应的数据搬移进一步完成垃圾回收,如此一来,有效的解决由于冷热数据不区分导致的写放大增加问题,延长固态硬盘使用寿命。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种固态硬盘垃圾回收方法、装置、设备及介质。
背景技术
固态硬盘中存储数据的介质是闪存芯片(flash memory),其中包含多个存储区块(block),每个区块中包含多个页(page)。在对存储区块中的页进行多次数据读操作时,可能对同一个区块内的其它页的数据造成读干扰,造成数据出错。因此需要记录含有有效数据区块的读次数,当读次数达到其厂家给定的值时,需要对这个区块中的有效数据做数据搬移,也就是垃圾回收,其做法是将这个区块中有效的数据搬移到新的区块中,将旧的区块擦除掉,并作为可用区块。
现有技术中,SSD(Solid State Drive,固态驱动器,俗称固态硬盘)主控制器从页中读取一次数据后,会将当前区块A的读次数加一,并写入到内存DDR(double data rate,DDR,双倍读取速率)中。当读次数达到预设值时,利用一种随机数生成器,生成一定范围内的随机值,当随机值等于预设值时,触发垃圾回收,将当前读到的数据,搬移到新的区块B1中,并标记区块A中被读到数据位置为无效。同时主机下发的写同样写入到区块B1中,当区块B1写满后,会重新选一个新的区块B2;B2同样用于存放主机写入的数据和读干扰导致的垃圾回收的数据。以上方式存在如下缺陷:主机写入的数据可能是热数据也可能是冷数据,如果写入的是热数据,垃圾回收(指的是读干扰导致的垃圾回收)时搬移的数据可能是冷数据,那么都写入到同一个区块B1时,冷热数据就会混合在一块;因为热数据是可能被经常复写的,复写之后原先的热数据就变成了无效数据(垃圾数据);当触发后台的垃圾回收(普通垃圾回收,非读干扰的垃圾回收)动作,含有垃圾数据的区块会被选中,就会重新将这些有效的冷数据搬移到新的区块中;在以上流程中,冷数据经过两次搬移后又凑到了一个新的区块C中,如图1所示。如此一来,增加了写放大,影响了SSD的使用寿命。以上现象是在主机数据为热数据,读干扰产生垃圾回收的数据为冷数据的情况下造成到;如果前者为冷数据,后者为热数据,会产生同样的结果;
为此,如何降低写放大,延长固态硬盘使用寿命是本领域亟待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种固态硬盘垃圾回收方法、装置、设备及介质,能够降低写放大,延长固态硬盘使用寿命,其具体方案如下:
第一方面,本申请公开了一种固态硬盘垃圾回收方法,包括:
当针对固态硬盘的目标存储区块的读次数满足读次数阈值,并当触发数据的搬移,则确定所述目标存储区块中的数据的冷热级别;所述冷热级别包括与冷数据对应的冷级别、与热数据对应的热级别以及与介于冷热数据之间的数据对应的中等级别;
根据所述目标存储区块中的所述数据的冷热级别,将所述数据搬移至相应的新的存储区块,并对所述目标存储区块进行擦除,以完成对所述固态硬盘的所述目标存储区块的垃圾回收。
可选的,所述确定所述目标存储区块中的数据的冷热级别,包括:
确定所述目标存储区块的各个存储子区块中的数据的冷热级别;
相应的,所述根据所述目标存储区块中的所述数据的冷热级别,将所述数据搬移至相应的新的存储区块,包括:
根据所述目标存储块的各个所述存储子区块中的数据的冷热级别,将所述存储子区块中的数据搬移至相应的新的存储区块。
可选的,所述根据所述目标存储块的各个所述存储子区块中的数据的冷热级别,将所述存储子区块中的数据搬移至相应的新的存储区块,包括:
若所述存储子区块中的数据的冷热级别为热级别,则将所述数据搬移至第一存储区块;
若所述存储子区块中的数据的冷热级别为中等级别,则将所述数据搬移至第二存储区块;
若所述存储子区块中的数据的冷热级别为冷级别,则将所述数据搬移至第三存储区块。
可选的,所述固态硬盘垃圾回收方法,还包括:
在对所述固态硬盘进行磨损均衡时,基于存储区块的块信息,将所述第三存储区块中的冷数据存储至区块擦写次数大于预设擦写次数的存储区块中,将所述第一存储区块中的热数据存储至区块擦写次数不大于预设擦写次数的存储区块中。
可选的,所述在对所述固态硬盘进行磨损均衡时,基于存储区块的块信息,将所述第三存储区块中的冷数据存储至区块擦写次数大于预设擦写次数的存储区块中,将所述第一存储区块中的热数据存储至区块擦写次数不大于预设擦写次数的存储区块中之前,还包括:
当所述第一存储区块中的数据均为热数据,则将与所述第一存储区块对应的第一信息记录至块信息的固定字段中,
当所述第二存储区块中的数据均为介于冷热数据之间的数据,则将与所述第二存储区块对应的第二信息记录至块信息的固定字段中,
当所述第三存储区块中的数据均为冷数据,则将与所述第三存储区块对应的第三信息记录至块信息的固定字段中。
可选的,所述在对所述固态硬盘进行磨损均衡时,基于存储区块的块信息,将所述第三存储区块中的冷数据存储至区块擦写次数大于预设擦写次数的存储区块中,将所述第一存储区块中的热数据存储至区块擦写次数不大于预设擦写次数的存储区块中,包括:
在对所述固态硬盘进行磨损均衡时,若块信息的固定字段中的信息为第三信息,则将与所述第三信息对应的所述第三存储区块中的冷数据存储至区块擦写次数大于预设擦写次数的存储区块中;
若块信息的固定字段中的信息为第一信息,则将与所述第一信息对应的所述第一存储区块中的热数据存储至区块擦写次数不大于预设擦写次数的存储区块中。
可选的,所述固态硬盘垃圾回收方法,还包括:
按照预设的冷热区分方式,通过主机将数据写入至不同冷热级别的存储区块。
第二方面,本申请公开了一种固态硬盘垃圾回收装置,包括:
冷热级别确定模块,用于当针对固态硬盘的目标存储区块的读次数满足读次数阈值,并当触发数据的搬移,则确定所述目标存储区块中的数据的冷热级别;所述冷热级别包括与冷数据对应的冷级别、与热数据对应的热级别以及与介于冷热数据之间的数据对应的中等级别;
基于冷热级别的数据搬移模块,用于根据所述目标存储区块中的所述数据的冷热级别,将所述数据搬移至相应的新的存储区块,并对所述目标存储区块进行擦除,以完成对所述固态硬盘的所述目标存储区块的垃圾回收。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的固态硬盘垃圾回收方法。
第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的固态硬盘垃圾回收方法。
可见,本申请提出一种固态硬盘垃圾回收方法,包括:当针对固态硬盘的目标存储区块的读次数满足读次数阈值,并当触发数据的搬移,则确定所述目标存储区块中的数据的冷热级别;所述冷热级别包括与冷数据对应的冷级别、与热数据对应的热级别以及与介于冷热数据之间的数据对应的中等级别;根据所述目标存储区块中的所述数据的冷热级别,将所述数据搬移至相应的新的存储区块,并对所述目标存储区块进行擦除,以完成对所述固态硬盘的所述目标存储区块的垃圾回收。可见,本申请对冷热数据进行级别划分,并根据划分后的级别完成相应的数据搬移进一步完成垃圾回收,如此一来,当热数据发生复写后,由于与热数据对应的存储区块中都是热数据,那么预计一段时间后需要回收(普通垃圾回收,非读干扰)的数据量为0;对于介于冷热数据之间的数据对应的存储区块,只有部分数据需要进行回收(普通垃圾回收,非读干扰);而由于与冷数据对应的存储区块中都是冷数据,复写的概率较低,因此短时间内不会产生垃圾数据,因此也不会产生垃圾回收(普通垃圾回收,非读干扰)。如此一来,整体而言,本申请有效的解决由于冷热数据不区分导致的写放大增加问题,延长固态硬盘使用寿命。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为一种读干扰垃圾回收的结构示意图;
图2为本申请公开的一种固态硬盘垃圾回收方法流程图;
图3为本申请公开的一种具体的固态硬盘垃圾回收方法流程图;
图4为本申请公开的一种固态硬盘垃圾回收装置结构示意图;
图5为本申请公开的一种电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
主机写入的数据可能是热数据也可能是冷数据,如果写入的是热数据,垃圾回收(读干扰导致的垃圾回收)时搬移的数据可能是冷数据,那么都写入到同一个区块时,冷热数据就会混合在一块;因为热数据是可能被经常复写的,复写之后原先的热数据就变成了无效数据(垃圾数据);当触发后台的垃圾回收(普通垃圾回收,非读干扰的垃圾回收)动作,含有垃圾数据的区块会被选中,就会重新将这些有效的冷数据搬移到新的区块中;在以上流程中,冷数据经过两次搬移后又凑到了一个新的区块中。如此一来,增加了写放大,影响了SSD的使用寿命。
为此,本申请实施例提出一种固态硬盘垃圾回收方案,能够有效的解决由于冷热数据不区分导致的写放大增加问题,延长固态硬盘使用寿命。
本申请实施例公开了一种固态硬盘垃圾回收方法,参见图1所示,该方法包括:
步骤S11:当针对固态硬盘的目标存储区块的读次数满足读次数阈值,并当触发数据的搬移,则确定所述目标存储区块中的数据的冷热级别;所述冷热级别包括与冷数据对应的冷级别、与热数据对应的热级别以及与介于冷热数据之间的数据对应的中等级别。
本实施例中,固态硬盘指用固态电子存储芯片阵列制成的硬盘,由控制单元和存储单元组成;冷数据即主机认为的不被经常复写的数据;热数据即主机认为的经常被复写的数据。
需要指出的是,用户在读数据时,会读到固态硬盘内部闪存的存储区块,每读一次对应存储区块的读次数(read count)就会加一,当某个存储区块的读次数达到读次数阈值时,可能对同一个区块内其他页的数据操作造成干扰,造成读取数据出错,也即读干扰,此时需要按照一定的概率做数据搬移,也即垃圾回收,当此概率事件发生,也即本申请中的触发数据的搬移发生。
在一种具体的实施方式中,通过主机写入数据时就告知固态硬盘对应的冷热级别;在另一种具体的实施方式中,通过最初写入数据时的时间戳来判断,当检查到数据写入时间越久,那么数据就越冷,判断冷热具体时间阈值根据实际场景决定。
步骤S12:根据所述目标存储区块中的所述数据的冷热级别,将所述数据搬移至相应的新的存储区块,并对所述目标存储区块进行擦除,以完成对所述固态硬盘的所述目标存储区块的垃圾回收。
需要指出的是,所述垃圾回收是指:将含有无效数据和有效数据的页中的有效数据搬移到新的区块中,并更新FTL表(固态硬盘内部的一种用户数据和闪存物理地址的映射表),此时旧的FTL地址置为无效(原来的页中的有效数据变为无效数据),并对原来的页所在区块进行擦除从而将无效数据所占空间腾出以供其他有效数据使用,这个过程称为垃圾回收。垃圾回收具体包括:普通的垃圾回收(由于区块数量降低到一定程度而触发);读干扰导致的垃圾回收。本实施例中,根据所述目标存储区块中的所述数据的冷热级别,将所述数据搬移至相应的新的存储区块,并对所述目标存储区块进行擦除,如此一来,使得不同存储区块存储不同的冷热级别的数据。进一步的,当热数据发生复写后,由于与热数据对应的存储区块中都是热数据,那么预计一段时间后需要回收(普通垃圾回收,非读干扰)的数据量为0;对于介于冷热数据之间的数据对应的存储区块,只有部分数据需要进行回收(普通垃圾回收,非读干扰);而由于与冷数据对应的存储区块中都是冷数据,复写的概率较低,因此短时间内不会产生垃圾数据,因此也不会产生垃圾回收(普通垃圾回收,非读干扰)。
可见,本申请提出一种固态硬盘垃圾回收方法,包括:当针对固态硬盘的目标存储区块的读次数满足读次数阈值,并当触发数据的搬移,则确定所述目标存储区块中的数据的冷热级别;所述冷热级别包括与冷数据对应的冷级别、与热数据对应的热级别以及与介于冷热数据之间的数据对应的中等级别;根据所述目标存储区块中的所述数据的冷热级别,将所述数据搬移至相应的新的存储区块,并对所述目标存储区块进行擦除,以完成对所述固态硬盘的所述目标存储区块的垃圾回收。可见,本申请对冷热数据进行级别划分,并根据划分后的级别完成相应的数据搬移进一步完成垃圾回收,如此一来,当热数据发生复写后,由于与热数据对应的存储区块中都是热数据,那么预计一段时间后需要回收(普通垃圾回收,非读干扰)的数据量为0;对于介于冷热数据之间的数据对应的存储区块,只有部分数据需要进行回收(普通垃圾回收,非读干扰);而由于与冷数据对应的存储区块中都是冷数据,复写的概率较低,因此短时间内不会产生垃圾数据,因此也不会产生垃圾回收(普通垃圾回收,非读干扰)。如此一来,整体而言,本申请有效的解决由于冷热数据不区分导致的写放大增加问题,延长固态硬盘使用寿命。
本申请实施例公开了一种具体的固态硬盘垃圾回收方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。参见图2所示,具体包括:
步骤S21:当针对固态硬盘的目标存储区块的读次数满足读次数阈值,并当触发数据的搬移,则确定所述目标存储区块的各个存储子区块中的数据的冷热级别;所述冷热级别包括与冷数据对应的冷级别、与热数据对应的热级别以及与介于冷热数据之间的数据对应的中等级别。
具体的,每个存储区块中由若干个4k组成,每一个4k代表一个存储子区块。对于每一个4k数据,内部都有一个meta区域,用于额外存储当前4k的属性信息,也即冷热级别,对于每一个4k的数据来说,它的冷热级别是不一样的。当触发数据的搬移,则读取4k数据的meta区域,获取到对应的冷热级别。
步骤S22:根据所述目标存储块的各个所述存储子区块中的数据的冷热级别,将所述存储子区块中的数据搬移至相应的新的存储区块,并对所述目标存储区块进行擦除,以完成对所述固态硬盘的所述目标存储区块的垃圾回收。
本实施例中,若所述存储子区块中的数据的冷热级别为热级别level0,则将所述数据搬移至第一存储区块block0;若所述存储子区块中的数据的冷热级别为中等级别level1,则将所述数据搬移至第二存储区块block1;若所述存储子区块中的数据的冷热级别为冷级别level2,则将所述数据搬移至第三存储区块block2。
需要指出的是,对于每个存储区块来说都有一个最大的擦写次数,也就是擦写寿命。对于固态硬盘内部算法,其中一个目标就是延长固态硬盘寿命,途径是降低写放大,也即降低擦写次数,并进行磨损均衡。所述磨损均衡指:将固态硬盘内部所有区块的擦写次数均衡到同一水位线的过程,其流程大致为,将有效数据从擦写次数低的区块,搬移到擦写次数高的区块,并将原先的区块擦除掉,继续写入新数据。具体的,在对所述固态硬盘进行磨损均衡时,基于存储区块的块信息,将所述第三存储区块中的冷数据存储至区块擦写次数大于预设擦写次数的存储区块中,将所述第一存储区块中的热数据存储至区块擦写次数不大于预设擦写次数的存储区块中。需要指出的是,在对所述固态硬盘进行磨损均衡之前,需要将存储区块对应的块信息(block info)记录至固定字段中,具体的,当所述第一存储区块中的数据均为热数据,则将与所述第一存储区块对应的第一信息0x00记录至块信息的固定字段中,当所述第二存储区块中的数据均为介于冷热数据之间的数据,则将与所述第二存储区块对应的第二信息0x01记录至块信息的固定字段中,当所述第三存储区块中的数据均为冷数据,则将与所述第三存储区块对应的第三信息0x02记录至块信息的固定字段中。如此一来,在对所述固态硬盘进行磨损均衡时,若块信息的固定字段中的信息为第三信息,则将与所述第三信息对应的所述第三存储区块中的冷数据存储至区块擦写次数大于预设擦写次数的存储区块中;若块信息的固定字段中的信息为第一信息,则将与所述第一信息对应的所述第一存储区块中的热数据存储至区块擦写次数不大于预设擦写次数的存储区块中。此外,在全冷数据所在的存储区块发生读干扰时,本申请能够基于上述策略,将全冷数据存储至擦写次数高的存储区块中。
本实施例中,在主机向存储区块写入数据时,可以按照预设的冷热区分方式,通过主机将数据写入至不同冷热级别的存储区块,所述预设的冷热区分方式也即主机写入数据时就告知固态硬盘对应的冷热级别。
可见,本申请提出一种固态硬盘垃圾回收方法,包括:当针对固态硬盘的目标存储区块的读次数满足读次数阈值,并当触发数据的搬移,则确定所述目标存储区块的各个存储子区块中的数据的冷热级别;所述冷热级别包括与冷数据对应的冷级别、与热数据对应的热级别以及与介于冷热数据之间的数据对应的中等级别;根据所述目标存储块的各个所述存储子区块中的数据的冷热级别,将所述存储子区块中的数据搬移至相应的新的存储区块,并对所述目标存储区块进行擦除,以完成对所述固态硬盘的所述目标存储区块的垃圾回收,可见,本申请对冷热数据进行级别划分,并根据划分后的级别完成相应的数据搬移进一步完成垃圾回收,如此一来,当热数据发生复写后,由于与热数据对应的存储区块中都是热数据,那么预计一段时间后需要回收(普通垃圾回收,非读干扰)的数据量为0;对于介于冷热数据之间的数据对应的存储区块,只有部分数据需要进行回收(普通垃圾回收,非读干扰);而由于与冷数据对应的存储区块中都是冷数据,复写的概率较低,因此短时间内不会产生垃圾数据,因此也不会产生垃圾回收(普通垃圾回收,非读干扰)。如此一来,整体而言,本申请有效的解决由于冷热数据不区分导致的写放大增加问题,延长固态硬盘使用寿命。
相应的,本申请实施例还公开了一种固态硬盘垃圾回收装置,参见图4所示,该装置包括:
冷热级别确定模块11,用于当针对固态硬盘的目标存储区块的读次数满足读次数阈值,并当触发数据的搬移,则确定所述目标存储区块中的数据的冷热级别;所述冷热级别包括与冷数据对应的冷级别、与热数据对应的热级别以及与介于冷热数据之间的数据对应的中等级别;
基于冷热级别的数据搬移模块12,用于根据所述目标存储区块中的所述数据的冷热级别,将所述数据搬移至相应的新的存储区块,并对所述目标存储区块进行擦除,以完成对所述固态硬盘的所述目标存储区块的垃圾回收。
其中,关于上述各个模块更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本申请提出一种固态硬盘垃圾回收方法,包括:当针对固态硬盘的目标存储区块的读次数满足读次数阈值,并当触发数据的搬移,则确定所述目标存储区块中的数据的冷热级别;所述冷热级别包括与冷数据对应的冷级别、与热数据对应的热级别以及与介于冷热数据之间的数据对应的中等级别;根据所述目标存储区块中的所述数据的冷热级别,将所述数据搬移至相应的新的存储区块,并对所述目标存储区块进行擦除,以完成对所述固态硬盘的所述目标存储区块的垃圾回收。可见,本申请对冷热数据进行级别划分,并根据划分后的级别完成相应的数据搬移进一步完成垃圾回收,如此一来,当热数据发生复写后,由于与热数据对应的存储区块中都是热数据,那么预计一段时间后需要回收(普通垃圾回收,非读干扰)的数据量为0;对于介于冷热数据之间的数据对应的存储区块,只有部分数据需要进行回收(普通垃圾回收,非读干扰);而由于与冷数据对应的存储区块中都是冷数据,复写的概率较低,因此短时间内不会产生垃圾数据,因此也不会产生垃圾回收(普通垃圾回收,非读干扰)。如此一来,整体而言,本申请有效的解决由于冷热数据不区分导致的写放大增加问题,延长固态硬盘使用寿命。
进一步的,本申请实施例还提供了一种电子设备。图5是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图5为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、显示屏23、输入输出接口24、通信接口25、电源26、和通信总线27。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现以下步骤:
当针对固态硬盘的目标存储区块的读次数满足读次数阈值,并当触发数据的搬移,则确定所述目标存储区块中的数据的冷热级别;所述冷热级别包括与冷数据对应的冷级别、与热数据对应的热级别以及与介于冷热数据之间的数据对应的中等级别;
根据所述目标存储区块中的所述数据的冷热级别,将所述数据搬移至相应的新的存储区块,并对所述目标存储区块进行擦除,以完成对所述固态硬盘的所述目标存储区块的垃圾回收。
在一些具体实施方式中,所述处理器通过执行所述存储器中保存的计算机程序,具体可以实现以下步骤:
确定所述目标存储区块的各个存储子区块中的数据的冷热级别;
相应的,所述根据所述目标存储区块中的所述数据的冷热级别,将所述数据搬移至相应的新的存储区块,包括:
根据所述目标存储块的各个所述存储子区块中的数据的冷热级别,将所述存储子区块中的数据搬移至相应的新的存储区块。
在一些具体实施方式中,所述处理器通过执行所述存储器中保存的计算机程序,具体可以实现以下步骤:
若所述存储子区块中的数据的冷热级别为热级别,则将所述数据搬移至第一存储区块;
若所述存储子区块中的数据的冷热级别为中等级别,则将所述数据搬移至第二存储区块;
若所述存储子区块中的数据的冷热级别为冷级别,则将所述数据搬移至第三存储区块。
在一些具体实施方式中,所述处理器通过执行所述存储器中保存的计算机程序,进一步还可以实现以下步骤:
在对所述固态硬盘进行磨损均衡时,基于存储区块的块信息,将所述第三存储区块中的冷数据存储至区块擦写次数大于预设擦写次数的存储区块中,将所述第一存储区块中的热数据存储至区块擦写次数不大于预设擦写次数的存储区块中。
在一些具体实施方式中,所述处理器通过执行所述存储器中保存的计算机程序,进一步还可以实现以下步骤:
当所述第一存储区块中的数据均为热数据,则将与所述第一存储区块对应的第一信息记录至块信息的固定字段中,
当所述第二存储区块中的数据均为介于冷热数据之间的数据,则将与所述第二存储区块对应的第二信息记录至块信息的固定字段中,
当所述第三存储区块中的数据均为冷数据,则将与所述第三存储区块对应的第三信息记录至块信息的固定字段中。
在一些具体实施方式中,所述处理器通过执行所述存储器中保存的计算机程序,具体可以实现以下步骤:
在对所述固态硬盘进行磨损均衡时,若块信息的固定字段中的信息为第三信息,则将与所述第三信息对应的所述第三存储区块中的冷数据存储至区块擦写次数大于预设擦写次数的存储区块中;
若块信息的固定字段中的信息为第一信息,则将与所述第一信息对应的所述第一存储区块中的热数据存储至区块擦写次数不大于预设擦写次数的存储区块中。
在一些具体实施方式中,所述处理器通过执行所述存储器中保存的计算机程序,进一步还可以实现以下步骤:
按照预设的冷热区分方式,通过主机将数据写入至不同冷热级别的存储区块。
本实施例中,电源26用于为电子设备20上的各硬件设备提供工作电压;通信接口25能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口24,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括计算机程序221,存储方式可以是短暂存储或者永久存储。其中,计算机程序221除了包括能够用于完成前述任一实施例公开的由电子设备20执行的固态硬盘垃圾回收方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请实施例还公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的固态硬盘垃圾回收方法。
关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本申请书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种固态硬盘垃圾回收方法、装置、设备、存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种固态硬盘垃圾回收方法,其特征在于,包括:
当针对固态硬盘的目标存储区块的读次数满足读次数阈值,并当触发数据的搬移,则确定所述目标存储区块中的数据的冷热级别;所述冷热级别包括与冷数据对应的冷级别、与热数据对应的热级别以及与介于冷热数据之间的数据对应的中等级别;
根据所述目标存储区块中的所述数据的冷热级别,将所述数据搬移至相应的新的存储区块,并对所述目标存储区块进行擦除,以完成对所述固态硬盘的所述目标存储区块的垃圾回收。
2.根据权利要求1所述的固态硬盘垃圾回收方法,其特征在于,所述确定所述目标存储区块中的数据的冷热级别,包括:
确定所述目标存储区块的各个存储子区块中的数据的冷热级别;
相应的,所述根据所述目标存储区块中的所述数据的冷热级别,将所述数据搬移至相应的新的存储区块,包括:
根据所述目标存储块的各个所述存储子区块中的数据的冷热级别,将所述存储子区块中的数据搬移至相应的新的存储区块。
3.根据权利要求2所述的固态硬盘垃圾回收方法,其特征在于,所述根据所述目标存储块的各个所述存储子区块中的数据的冷热级别,将所述存储子区块中的数据搬移至相应的新的存储区块,包括:
若所述存储子区块中的数据的冷热级别为热级别,则将所述数据搬移至第一存储区块;
若所述存储子区块中的数据的冷热级别为中等级别,则将所述数据搬移至第二存储区块;
若所述存储子区块中的数据的冷热级别为冷级别,则将所述数据搬移至第三存储区块。
4.根据权利要求3所述的固态硬盘垃圾回收方法,其特征在于,还包括:
在对所述固态硬盘进行磨损均衡时,基于存储区块的块信息,将所述第三存储区块中的冷数据存储至区块擦写次数大于预设擦写次数的存储区块中,将所述第一存储区块中的热数据存储至区块擦写次数不大于预设擦写次数的存储区块中。
5.根据权利要求4所述的固态硬盘垃圾回收方法,其特征在于,所述在对所述固态硬盘进行磨损均衡时,基于存储区块的块信息,将所述第三存储区块中的冷数据存储至区块擦写次数大于预设擦写次数的存储区块中,将所述第一存储区块中的热数据存储至区块擦写次数不大于预设擦写次数的存储区块中之前,还包括:
当所述第一存储区块中的数据均为热数据,则将与所述第一存储区块对应的第一信息记录至块信息的固定字段中,
当所述第二存储区块中的数据均为介于冷热数据之间的数据,则将与所述第二存储区块对应的第二信息记录至块信息的固定字段中,
当所述第三存储区块中的数据均为冷数据,则将与所述第三存储区块对应的第三信息记录至块信息的固定字段中。
6.根据权利要求5所述的固态硬盘垃圾回收方法,其特征在于,所述在对所述固态硬盘进行磨损均衡时,基于存储区块的块信息,将所述第三存储区块中的冷数据存储至区块擦写次数大于预设擦写次数的存储区块中,将所述第一存储区块中的热数据存储至区块擦写次数不大于预设擦写次数的存储区块中,包括:
在对所述固态硬盘进行磨损均衡时,若块信息的固定字段中的信息为第三信息,则将与所述第三信息对应的所述第三存储区块中的冷数据存储至区块擦写次数大于预设擦写次数的存储区块中;
若块信息的固定字段中的信息为第一信息,则将与所述第一信息对应的所述第一存储区块中的热数据存储至区块擦写次数不大于预设擦写次数的存储区块中。
7.根据权利要求1至6任一项所述的固态硬盘垃圾回收方法,其特征在于,还包括:
按照预设的冷热区分方式,通过主机将数据写入至不同冷热级别的存储区块。
8.一种固态硬盘垃圾回收装置,其特征在于,包括:
冷热级别确定模块,用于当针对固态硬盘的目标存储区块的读次数满足读次数阈值,并当触发数据的搬移,则确定所述目标存储区块中的数据的冷热级别;所述冷热级别包括与冷数据对应的冷级别、与热数据对应的热级别以及与介于冷热数据之间的数据对应的中等级别;
基于冷热级别的数据搬移模块,用于根据所述目标存储区块中的所述数据的冷热级别,将所述数据搬移至相应的新的存储区块,并对所述目标存储区块进行擦除,以完成对所述固态硬盘的所述目标存储区块的垃圾回收。
9.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的固态硬盘垃圾回收方法。
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的固态硬盘垃圾回收方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210909157.0A CN115129262A (zh) | 2022-07-29 | 2022-07-29 | 一种固态硬盘垃圾回收方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210909157.0A CN115129262A (zh) | 2022-07-29 | 2022-07-29 | 一种固态硬盘垃圾回收方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115129262A true CN115129262A (zh) | 2022-09-30 |
Family
ID=83385240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210909157.0A Pending CN115129262A (zh) | 2022-07-29 | 2022-07-29 | 一种固态硬盘垃圾回收方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115129262A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116774948A (zh) * | 2023-08-18 | 2023-09-19 | 合肥联宝信息技术有限公司 | 一种数据处理方法、设备、电子设备及存储介质 |
CN116860179A (zh) * | 2023-08-31 | 2023-10-10 | 合肥康芯威存储技术有限公司 | 存储装置、存储装置的数据处理方法、计算机设备及介质 |
CN117742618A (zh) * | 2024-02-19 | 2024-03-22 | 鑫硕泰(深圳)科技有限公司 | 一种固态硬盘的数据存储管理方法和固态硬盘管理装置 |
-
2022
- 2022-07-29 CN CN202210909157.0A patent/CN115129262A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116774948A (zh) * | 2023-08-18 | 2023-09-19 | 合肥联宝信息技术有限公司 | 一种数据处理方法、设备、电子设备及存储介质 |
CN116774948B (zh) * | 2023-08-18 | 2023-11-28 | 合肥联宝信息技术有限公司 | 一种数据处理方法、设备、电子设备及存储介质 |
CN116860179A (zh) * | 2023-08-31 | 2023-10-10 | 合肥康芯威存储技术有限公司 | 存储装置、存储装置的数据处理方法、计算机设备及介质 |
CN117742618A (zh) * | 2024-02-19 | 2024-03-22 | 鑫硕泰(深圳)科技有限公司 | 一种固态硬盘的数据存储管理方法和固态硬盘管理装置 |
CN117742618B (zh) * | 2024-02-19 | 2024-05-07 | 鑫硕泰(深圳)科技有限公司 | 一种固态硬盘的数据存储管理方法和固态硬盘管理装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115129262A (zh) | 一种固态硬盘垃圾回收方法、装置、设备及介质 | |
US8041883B2 (en) | Restoring storage devices based on flash memories and related circuit, system, and method | |
US8843691B2 (en) | Prioritized erasure of data blocks in a flash storage device | |
US8386698B2 (en) | Data accessing method for flash memory and storage system and controller using the same | |
JP4812739B2 (ja) | 不揮発性データ保存装置の静的データ領域の検出方法、磨耗度平準化方法及びデータユニットの併合方法とその装置 | |
US8086787B2 (en) | Wear leveling method, and storage system and controller using the same | |
US8250286B2 (en) | Block management method, and storage system and controller using the same | |
KR100526190B1 (ko) | 플래시 메모리의 재사상 방법 | |
CN108038026B (zh) | 一种基于闪存的数据快速恢复方法与系统 | |
JP5612514B2 (ja) | 不揮発性メモリコントローラ及び不揮発性記憶装置 | |
US9213629B2 (en) | Block management method, memory controller and memory stoarge apparatus | |
TW201349101A (zh) | 資料儲存裝置和快閃記憶體之區塊管理方法 | |
TWI423022B (zh) | 記憶體管理方法、記憶體控制器與記憶體儲存裝置 | |
US8037236B2 (en) | Flash memory writing method and storage system and controller using the same | |
CN114237984A (zh) | 异常掉电下Trim数据的恢复方法、系统及固态硬盘 | |
CN114968096A (zh) | 一种存储器的控制方法、存储器与存储系统 | |
CN111090392A (zh) | 一种基于特征码的冷热数据分离方法 | |
TWI450271B (zh) | 用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器 | |
US9501397B2 (en) | Data writing method, memory controller, and memory storage apparatus | |
CN112347001B (zh) | 闪存垃圾回收的校验方法、装置及电子设备 | |
CN112631952A (zh) | 一种固态硬盘冷热数据分离方法 | |
CN113010091A (zh) | 数据写入固态硬盘的方法、垃圾回收的方法、装置 | |
CN106021124B (zh) | 一种数据的存储方法及存储系统 | |
CN113626346B (zh) | 一种固态硬盘的数据保护方法、装置、设备及介质 | |
KR100780963B1 (ko) | 메모리 카드 및 메모리 카드의 구동 방법 |
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 |