【技术实现步骤摘要】
应用于固态硬盘的垃圾回收方法、系统、设备及存储介质
[0001]本专利技术涉及存储
,尤其涉及一种应用于
SSD(Solid State Disk
,固态硬盘
)
的新型垃圾回收方法
、
系统
、
设备及存储介质
。
技术介绍
[0002]现有垃圾回收算法中源闪存块的选取主要有两类:贪婪选择方式
、
考虑磨损均衡的选择方式
。
贪婪选择方式从所有闪存块中找出有效页最少的块,但擦写次数
(PE
,
Program/Erase)
可能最大,长期来看这将加速闪存块的磨损击穿,进而影响固态盘的寿命
。
考虑磨损均衡的选择方式则会均衡有效数据帧数目
、
擦写次数
、
冷热数据等因素,选取回收优先级最大的源闪存块,以均衡闪存块的擦写次数,延长固态盘的寿命
。
[0003]传统考虑磨损均衡的源闪存块选择方式大多设置启动阈值,控制磨损均衡机制的触发频率,减少磨损均衡的开销,但实际固态盘中冷数据的存在会使部分块长期不进行垃圾回收,并且磨损均衡机制未启动前,大多方法没有采取有效的动态磨损均衡,反而增加了固态盘的磨损度,加剧了固态盘整盘性能波动
。
技术实现思路
[0004]为了解决上述现有技术中存在的技术问题,本专利技术提供了一种应用于
SSD
的新型垃圾回收方法
、
系统 />、
设备及存储介质,解决冷数据长期不进行回收
、
未采用有效动态磨损均衡等导致的固态盘磨损度增加
、
整盘性能波动加剧问题
。
[0005]为实现上述目的,本专利技术实施例提供了如下的技术方案:
[0006]第一方面,在本专利技术提供的一个实施例中,提供了一种应用于
SSD
的新型垃圾回收方法,该方法包括以下步骤:
[0007]获取所有闪存块的
PE
数据,并根据
PE
数据设置选择数据;
[0008]基于所述
PE
数据和选择数据,选择源闪存块;
[0009]基于所述选择数据,选择目标闪存块;
[0010]将源闪存块中的数据转移至目标闪存块中,并擦除源闪存块数据
。
[0011]作为本专利技术的进一步方案,所述
PE
数据为所有闪存块的最大
PE
值和最小
PE
值
。
[0012]作为本专利技术的进一步方案,所述选择数据包括
PE
值的阈值
TH、TH1、TH2;所述
TH、TH1、TH2依次增大设置
。
[0013]作为本专利技术的进一步方案,所述基于所述
PE
数据和选择数据,选择源闪存块,包括:
[0014]计算闪存块的最大
PE
值和最小
PE
值的差值
diff
,并将所述差值
diff
与阈值
TH、TH1、TH2进行比较,选择源闪存块
。
[0015]作为本专利技术的进一步方案,所述计算闪存块的最大
PE
值和最小
PE
值的差值
diff
,并将所述差值
diff
与阈值
TH、TH1、TH2进行比较,选择源闪存块,包括:
[0016]若
diff≥TH
,获取非坏闪存块
、
非空闲闪存块的
VDFC、PE、
数据存放时长
T
,计算回
收优先级
P
,选择
P
值最大的闪存块作为源闪存块;
[0017]TH
的设置应符合如下公式:
[0018]TH
=
TH
init
‑
λ
(PE
limIt
‑
PE
max
)
[0019][0020][0021]式中,
TH
init
为阈值
TH
的初始值,可根据盘的实际情况取值,
PE
limit
为闪存块的擦写次数限值,
PE
avg_max
为平均擦写次数的最大值,
N
取值根据
PE
avg_max
‑
TH
init
的大小来设定,
λ
为
PE
limit
‑
PE
max
部分的权重;
[0022]其中,
P
按照如下公式进行计算:
[0023]P
=
A*(VDFC_total*T
max
*(PE
limit
‑
PE))+B*(PE
limit
*T
max
*(VDFC_total
‑
VDFC))+C*(PE
limit
*VDFC_total*T)
[0024]式中,
VDFC_total
为每个闪存块去掉坏块后的全部数据页数,
T
max
为数据存放最大时长,为与温度有关的值,
A、B、C
为
VDFC、PE、
数据存放时长
T
的权重,该组权重的选取用于选择那些
VDFC
较大
、PE
较小
、
数据存放时长
T
较长的冷数据块;
[0025]若
diff≥TH1,
计算回收优先级
P1,选择
P1值最大的闪存块作为源闪存块;
[0026]其中,
P1按照如下公式进行计算:
[0027]P1=
A1*(VDFC_total*T
max
*(pe
limit
‑
PE))+B1*(PE
limit
*T
max
*(VDFC_total
‑
VDFC))+C1*(PE
limiT
*VDFC_total*T)
;
[0028]式中,
A1、B1、C1为
VDFC、PE、
数据存放时长
T
的权重;
[0029]若
diff≥TH2,则遍历回收池中所有闪存块,选取回收优先级
P2最大的闪存块作为源闪存块;
[0030]其中,
P2按照如下公式进行计算:
[0031]P2=
A2*(V本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.
一种应用于固态硬盘的垃圾回收方法,其特征在于,该方法包括:获取所有闪存块的
PE
数据,并根据
PF
数据设置选择数据;基于所述
PF
数据和选择数据,选择源闪存块;基于所述选择数据,选择目标闪存块;将源闪存块中的数据转移至目标闪存块中,并擦除源闪存块数据
。2.
如权利要求1所述的应用于固态硬盘的垃圾回收方法,其特征在于,所述
PE
数据为所有闪存块的最大
PE
值和最小
PE
值
。3.
如权利要求2所述的应用于固态硬盘的垃圾回收方法,其特征在于,所述选择数据包括
PE
值的阈值
TH、TH1、TH2;所述
TH、TH1、TH2依次增大设置
。4.
如权利要求3所述的应用于固态硬盘的垃圾回收方法,其特征在于,所述基于所述
PE
数据和选择数据,选择源闪存块,包括:计算闪存块的最大
PF
值和最小
PE
值的差值
diff
,并将所述差值
diff
与阈值
TH、TH1、TH2进行比较,选择源闪存块
。5.
如权利要求4所述的应用于固态硬盘的垃圾回收方法,其特征在于,所述计算闪存块的最大
PE
值和最小
PF
值的差值
diff
,并将所述差值
diff
与阈值
TH、TH1、TH2进行比较,选择源闪存块,包括:若
diff≥TH
,获取非坏闪存块
、
非空闲闪存块的
VDFC、PE、
数据存放时长
T
,计算回收优先级
P
,选择
P
值最大的闪存块作为源闪存块;
TH
的设置应符合如下公式:
TH
=
TH
init
‑
λ
(PE
limit
‑
PE
max
))
式中,
TH
init
为阈值
TH
的初始值,可根据盘的实际情况取值,
PE
limit
为闪存块的擦写次数限值,
PE
avg_max
为平均擦写次数的最大值,
N
取值根据
PE
avg_max
‑
TH
init
的大小来设定,
λ
为
PE
limit
‑
PE
max
部分的权重;其中,
P
按照如下公式进行计算:
P
=
A*(VDFC_total*T
max
*(PE
limit
‑
PE))+B*(PE
limit
*T
max
*(VDFC_total
‑
VDFC))+C*(PE
limit
*VDFC_total*T)
式中,
VDFC_total
为每个闪存块去掉坏块后的全部数据页数,
T
max
为数据存放最大时长,为与温度有关的值,
A...
【专利技术属性】
技术研发人员:王陈园,高美洲,付凤之,刘忞斋,杨勇军,
申请(专利权)人:山东云海国创云计算装备产业创新中心有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。