【技术实现步骤摘要】
一种降低固态硬盘写入性能波动的方法
[0001]本专利技术属于固体硬盘存储领域,尤其涉及一种降低固态硬盘写入性能波动的方法。
技术介绍
[0002]固态硬盘(Solid State Disk,简称SSD)主要由控制器和NAND Flash组成,相比与传统的机械硬盘,固态硬盘具有性能好、功耗低、可靠性高等特点,在各个领域均得到广泛的应用。目前固态硬盘在实际使用过程中存在写入流程如图1所示,现有技术的写入性能波动严重的问题,尤其是当固态硬盘进入“垃圾回收”状态后,其内部既要处理主机写入的数据又要处理垃圾回收的任务,再加上处理各种映射表更新的任务,往往会出现固态硬盘无法及时处理主机写入的数据以及在处理主机写入数据时阻塞在等待NAND Flash IO资源空闲的情况,进而造成主机写入性能波动严重。写入性能波动一方面反映写入速度连续性不好,波动严重,另一方面表现在某些命令的响应时间过长。而写入性能波动对诸如雷达数据记录、视频数据记录、车载数据记录等需要持续数据记录的相关应用场景有很大的影响,通常会导致丢失某个时刻的关键数据或者严重拖慢整个的性能和相应时间。
技术实现思路
[0003]本专利技术针对固态硬盘在实际使用过程中性能波动严重的问题,提供一种降低固态硬盘写入性能波动的方法,使得固态硬盘在不同数据负载和不同的应用场景中都具有平稳的性能。
[0004]本专利技术所述降低固态硬盘写入性能波动的方法,将固态硬盘缓存拆分为若干缓存资源片段WriteUnit作为最小管理单元,缓存资源申请和释放的单位均为Wri
【技术保护点】
【技术特征摘要】 【专利技术属性】
1.一种降低固态硬盘写入性能波动的方法,其特征在于:将固态硬盘缓存拆分为若干缓存资源片段WriteUnit作为最小管理单元,缓存资源申请和释放的单位均为WriteUnit;固态硬盘执行写入任务,首先启用定时器,执行写入任务的每一个时间间隔为Δt;统计执行写入任务的当前时间段内的写入速度V
Current
,其次根据写入速度V
Current
及当前时间段内固态硬盘的运行状态计算下一个时间段内的写入速度V
Target
,然后根据V
Target
的值确定释放固态硬盘内部缓存资源片段WriteUnit的个数,最后根据已经释放的缓存资源片段WriteUnit的个数接收并处理主机下发的写入命令。2.根据权利要求1所述降低固态硬盘写入性能波动的方法,其特征在于:所述下一个时间段内的写入速度V
Target
计算过程包括:1)计算速度变化的第一参考值V
REF01
;a)统计当前时间段内的Block变化情况,记为ΔBlock,ΔBlock=Block
Used
‑
Block
Added
其中Block
Used
表示当前时间段内因执行写入命令消耗的NAND Flash的Block个数;Block
Added
表示当前时间段内因执行垃圾回收操作释放的NAND Flash的Block个数;b)统计当前时间段内的精确时间ΔT:其中ΔTick表示当前时间间隔内CPU经历的tick个数,CLK
CPU
表示CPU的频率;c)计算速度变化的第一参考值V
REF01
:其中WriteUnitPerBlock表示每个Block的size对应WriteUnit的个数;2)计算速度变化的第二参考值V
REF02
;a)统计当前时间段可用的空闲Block数目,记为Block
Free
,b)计算当前空闲Block和触发垃圾回收条件的空闲Block阈值Block
GC
之间的差值,ΔBlock
Free
=Block
Free
‑
Block
GC
c)计算速度变化的第二参考值V
REF02
:其中N1和N2为预先设定的参数;3)计算下一个时间段内的写入速度V
Target
:V
Target
=V
Current
+w1*V
REF01
+w2*V
REF02
其中w1和w2为预先设定的参数;4)计算下一个时间段内的速度最大值V
MaxNext1
;5)计算下一个时间段内的速度最大值V
技术研发人员:杨柱,李帅,唐伟,王腾腾,王剑立,付伟龙,吉镇东,董璊,孙元春,
申请(专利权)人:尧云科技西安有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。