存储设备中闪存任务调度方法、装置、存储介质及设备制造方法及图纸

技术编号:34903554 阅读:9 留言:0更新日期:2022-09-10 14:14
本发明专利技术涉及数据存储技术领域,提供了一种存储设备中闪存任务调度方法、装置、存储介质及设备,该方法包括:对各个类型的闪存任务进行子任务拆分;为拆分出的各个子任务配置对应的功耗消耗值;在执行闪存任务调度时,获取当前可用的功耗阈值,并判断当前可用的功耗阈值是否满足待执行子任务的功耗要求;若当前可用的功耗阈值满足待执行子任务的功耗要求则执行该子任务,否则按照预设的调度策略选择其他待执行子任务进行闪存任务调度。本发明专利技术能够有效提高闪存通道利用率,提升固态存储设备的用户读写带宽,降低用户读写响应延时,并且能够很好的控制固态存储设备的峰值功耗,避免出现某些情况下,瞬时功耗峰值过大的情况。瞬时功耗峰值过大的情况。瞬时功耗峰值过大的情况。

【技术实现步骤摘要】
存储设备中闪存任务调度方法、装置、存储介质及设备


[0001]本专利技术涉及数据存储
,尤其涉及一种存储设备中闪存任务调度方法、装置、存储介质及设备。

技术介绍

[0002]随着闪存技术不断发展,当前使用闪存作为存储介质的固态存储设备越来越被广泛地使用在各种领域,用户对固态存储设备的容量需求越来越大,性能需求越来越高,所以当前绝大部分大容量的固态存储设备都会在一个通道上连接多个闪存晶圆,同时一般固态存储设备也会通过增加通道数量来支持更大的容量和更高的性能,这样能够实现固态存储设备容量和性能的大幅提升。容量和性能提升的同时也带来了更多的挑战,因为一个通道,在某一时刻只能为一个闪存晶圆提供数据(除了用户数据本身,还包括命令,地址和状态信息等)传输服务,在这个通道上的多个闪存晶圆只能分时复用通道资源来完成数据传输,但是多个通道上的多个闪存晶圆同时并行工作,又可能会超出固态存储设备设定的功耗峰值,因此如何合理地调度闪存任务,充分利用多通道和多闪存晶圆等资源,在设定功耗范围内,为用户提供高带宽,低延时的存储服务是亟待解决的问题。
[0003]现有技术中提出了一种任务调度方法,是通过设置任务优先级来保证某写性能,例如:读任务优先级高于写任务,所以在执行写任务过程中任何时刻,只要收到读请求,就停止当前写任务,优先响应读请求。这种方法虽然可以有效降低读请求延时,但是这个方法需要闪存本身支持写任务随时可以被中断,然后还能支持读操作,而且该方法还可能会带来写任务迟迟得不到调度,导致固态存储设备中的各种资源被占用,无法释放,形成长时间死锁,反过来影响读请求的响应时间。
[0004]现有技术中还提出了另一种任务调度方法,通过使用不同的命令队列来分别存储读消息和写消息,以此避免读写消息在同一个队列中,读消息不能及时得到响应的状况。但是这一方式只能部分解决读请求被写请求阻挡住的问题,一旦当前正在执行写任务,就只能等待写任务完成,才能响应新到来的读请求。
[0005]可见,现有的任务调度方法仍然无法均衡、合理地实现闪存任务调度,且在任务调度过程中并未考虑到固态存储设备功耗的问题,无法为用户提供高带宽,低延时的存储服务。

技术实现思路

[0006]鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的存储设备中闪存任务调度方法、装置、存储介质及设备。
[0007]本专利技术的一个方面,提供了一种存储设备中闪存任务调度方法,所述方法包括:对各个类型的闪存任务进行子任务拆分;为拆分出的各个子任务配置对应的功耗消耗值;在执行闪存任务调度时,获取当前可用的功耗阈值,并判断当前可用的功耗阈值
是否满足待执行子任务的功耗要求;若当前可用的功耗阈值满足待执行子任务的功耗要求则执行该子任务,否则按照预设的调度策略选择其他待执行子任务进行闪存任务调度。
[0008]进一步地,所述对各个类型的闪存任务进行子任务拆分包括:将闪存的读操作任务拆分为页加载子任务和至少一个读数据传输子任务;将闪存的写操作任务拆分为至少一个写数据传输子任务,以及编程子任务;将闪存的擦除操作任务拆分为命令传输子任务和数据清除子任务。
[0009]进一步地,所述将闪存的读操作任务拆分为页加载子任务和至少一个读数据传输子任务包括:预先配置多种可选的读数据传输长度,每一可选的读数据传输长度均符合闪存接口支持的数据传输单位;根据读操作任务请求数据长度从多种可选的读数据传输长度中选取第一目标数据传输长度,根据第一目标数据传输长度实现读数据传输子任务拆分。
[0010]进一步地,所述读数据传输子任务对应的数据传输长度的最大值根据闪存的页大小确定,所述读数据传输子任务对应的数据传输长度的最小值根据闪存接口支持的最小数据传输单位确定。
[0011]进一步地,所述读操作任务包括主机端读操作任务和后台端读操作任务;所述主机端读操作任务拆分成的读数据传输子任务对应的数据传输长度为第一数据传输长度,所述后台端读操作任务拆分成的读数据传输子任务对应的数据传输长度为第二数据传输长度,第一数据传输长度大于第二数据传输长度。
[0012]进一步地,所述将闪存的写操作任务拆分为至少一个写数据传输子任务包括:根据写数据带宽和延时要求确定写数据传输子任务的第二目标数据传输长度,根据第二目标数据传输长度实现写数据传输子任务拆分。
[0013]进一步地,所述根据写数据带宽和延时要求确定写数据传输子任务的第二目标数据传输长度包括:预先配置多种可选的写数据传输长度,每一可选的写数据传输长度均符合闪存接口支持的数据传输单位。
[0014]根据写数据带宽和延时要求从多种可选的写数据传输长度中选取第二目标数据传输长度。
[0015]进一步地,写操作任务包括主机端写操作任务和后台端写操作任务;所述主机端写操作任务拆分成的写数据传输子任务对应的数据传输长度为第三数据传输长度,所述后台端写操作任务拆分成的写数据传输子任务对应的数据传输长度为第四数据传输长度,第三数据传输长度大于第四数据传输长度。
[0016]进一步地,所述为拆分出的各个子任务配置对应的功耗消耗值包括:根据闪存颗粒执行各个子任务对应的功耗参数计算各个子任务的功耗消耗值。
[0017]进一步地,当待执行子任务为编程子任务或数据清除子任务时,所述判断当前可用的功耗阈值是否满足待执行子任务的功耗要求,包括:判断当前可用的功耗阈值是否大于所述编程子任务或数据清除子任务对应的功耗消耗值和页加载子任务对应的功耗消耗值之和;
若大于,则判断当前可用的功耗阈值满足待执行子任务的功耗要求。
[0018]进一步地,当待执行子任务为后台端的待执行子任务时,所述判断当前可用的功耗阈值是否满足待执行子任务的功耗要求,包括:判断当前可用的功耗阈值是否大于所述后台端的待执行子任务对应的功耗消耗值和页加载子任务对应的功耗消耗值之和;若大于,则判断当前可用的功耗阈值满足待执行子任务的功耗要求。
[0019]进一步地,所述方法还包括:在执行任一子任务时,从当前可用的功耗阈值中分配该子任务对应的功耗消耗值,并更新当前可用的功耗阈值;当该子任务执行完成之后,回收该子任务的功耗消耗值,增加到当前可用的功耗阈值中。
[0020]进一步地,所述按照预设的调度策略选择其他待执行子任务进行闪存任务调度包括:按照主机端的读操作任务优先,以及预设的读操作任务与写操作任务的调度比例,从其他待执行子任务中选择目标子任务进行调度。
[0021]本专利技术的另一方面,提供了一种存储设备中闪存任务调度装置,所述装置包括:任务拆分模块,用于对各个类型的闪存任务进行子任务拆分;配置模块,用于为拆分出的各个子任务配置对应的功耗消耗值;判断模块,用于在执行闪存任务调度时,获取当前可用的功耗阈值,并判断当前可用的功耗阈值是否满足待执行子任务的功耗要求;执行模块,用于在当前可用的功耗阈值满足待执行子任务的功耗要求时执行该子任务;调度模块,用于在当前可用的功耗阈值不满足待执行子任务的功耗要求时,按照预设的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种存储设备中闪存任务调度方法,其特征在于,所述方法包括:对各个类型的闪存任务进行子任务拆分;为拆分出的各个子任务配置对应的功耗消耗值;在执行闪存任务调度时,获取当前可用的功耗阈值,并判断当前可用的功耗阈值是否满足待执行子任务的功耗要求;若当前可用的功耗阈值满足待执行子任务的功耗要求则执行该子任务,否则按照预设的调度策略选择其他待执行子任务进行闪存任务调度。2.根据权利要求1所述的方法,其特征在于,所述对各个类型的闪存任务进行子任务拆分包括:将闪存的读操作任务拆分为页加载子任务和至少一个读数据传输子任务;将闪存的写操作任务拆分为至少一个写数据传输子任务,以及编程子任务;将闪存的擦除操作任务拆分为命令传输子任务和数据清除子任务。3.根据权利要求2所述的方法,其特征在于,所述将闪存的读操作任务拆分为页加载子任务和至少一个读数据传输子任务包括:预先配置多种可选的读数据传输长度,每一可选的读数据传输长度均符合闪存接口支持的数据传输单位;根据读操作任务请求数据长度从多种可选的读数据传输长度中选取第一目标数据传输长度,根据第一目标数据传输长度实现读数据传输子任务拆分。4.根据权利要求3所述的方法,其特征在于,所述读数据传输子任务对应的数据传输长度的最大值根据闪存的页大小确定,所述读数据传输子任务对应的数据传输长度的最小值根据闪存接口支持的最小数据传输单位确定。5.根据权利要求2所述的方法,其特征在于,所述读操作任务包括主机端读操作任务和后台端读操作任务;所述主机端读操作任务拆分成的读数据传输子任务对应的数据传输长度为第一数据传输长度,所述后台端读操作任务拆分成的读数据传输子任务对应的数据传输长度为第二数据传输长度,第一数据传输长度大于第二数据传输长度。6.根据权利要求2所述的方法,其特征在于,所述将闪存的写操作任务拆分为至少一个写数据传输子任务包括:根据写数据带宽和延时要求确定写数据传输子任务的第二目标数据传输长度,根据第二目标数据传输长度实现写数据传输子任务拆分。7.根据权利要求6所述的方法,其特征在于,所述根据写数据带宽和延时要求确定写数据传输子任务的第二目标数据传输长度包括:预先配置多种可选的写数据传输长度,每一可选的写数据传输长度均符合闪存接口支持的数据传输单位;根据写数据带宽和延时要求从多种可选的写数据传输长度中选取第二目标数据传输长度。8.根据权利要求2所述的方法,其特征在于,写操作任务包括主机端写操作任务和后台端写操作任务;所述主机端写操作任务拆分成的写数据传输子任务对应的数据传输长度为第三数据
传输长度,所述后台端写操作任务拆分成的写数据传输子任务对应的数据传输...

【专利技术属性】
技术研发人员:孙丽华薛红军张易
申请(专利权)人:北京得瑞领新科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1