CN117234434B - 存储设备的操作控制方法及装置 - Google Patents
存储设备的操作控制方法及装置 Download PDFInfo
- Publication number
- CN117234434B CN117234434B CN202311514242.8A CN202311514242A CN117234434B CN 117234434 B CN117234434 B CN 117234434B CN 202311514242 A CN202311514242 A CN 202311514242A CN 117234434 B CN117234434 B CN 117234434B
- Authority
- CN
- China
- Prior art keywords
- target
- data access
- type
- storage device
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 83
- 238000004590 computer program Methods 0.000 claims description 16
- 238000013507 mapping Methods 0.000 claims description 14
- 238000012544 monitoring process Methods 0.000 claims description 7
- 238000001514 detection method Methods 0.000 claims description 6
- 238000000605 extraction Methods 0.000 claims description 4
- 239000000758 substrate Substances 0.000 claims 9
- 239000000523 sample Substances 0.000 claims 4
- 238000007726 management method Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 13
- 238000012005 ligant binding assay Methods 0.000 description 13
- 238000012545 processing Methods 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 5
- 238000013508 migration Methods 0.000 description 5
- 230000005012 migration Effects 0.000 description 5
- 238000013468 resource allocation Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000000725 suspension Substances 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供了一种存储设备的操作控制方法及装置,其中,该方法包括:根据目标存储设备在参考时间段内的数据访问信息预测目标存储设备在参考时间段之后的目标时刻允许执行的数据访问操作的目标操作类型;提取出在参考时间段的结束时刻至目标时刻之间接收到的数据访问操作中属于目标操作类型但未执行的目标访问操作;在目标时刻检测目标存储设备的数据访问负载;在数据访问负载用于指示允许目标存储设备执行属于目标操作类型的数据访问操作的情况下,将目标访问操作分配至目标存储设备。通过本申请,解决存储设备空间资源利用率较低问题,达到提高存储设备空间资源利用率的技术效果。
Description
技术领域
本申请实施例涉及计算机领域,具体而言,涉及一种存储设备的操作控制方法及装置。
背景技术
随着互联网技术的飞速发展,人类社会已经步入了一个数据量呈指数级爆炸增长的大数据时代。大数据时代的到来更加需要存储技术的支撑,各种各样的大数据应用对存储系统的各方面性能和可靠性提出了更大的挑战。在存储设备上能够同时执行固定笔数的读操作和固定笔数的写操作,通过按照设定的固定笔数控制存储设备上执行的读操作和写操作的数量,从而使得存储设备读写均衡,避免存储设备的读/写干扰问题,然而实际使用中发现,当存储设备上的读操作达到执行上限后,此时如果存储设备接收到的下一个操作请求为读操作的操作请求,则存储设备将会将候选的操作请求挂起,直到存储设备结束执行完一定笔数的写操作后再次对挂起的操作继续执行,但是此时存储设备上执行的写操作的笔数可能还未达到上限,还可以处理写操作,进而造成了存储设备上读/写操作的不均衡,使得存储设备的存储空间利用率较低,还是会给存储设备带来读/写干扰的问题。
发明内容
本申请实施例提供了一种存储设备的操作控制方法及装置,以至少解决相关技术中存储设备空间资源利用率较低的问题。
根据本申请的一个实施例,提供了一种存储设备的操作控制方法,包括:根据目标存储设备在参考时间段内的数据访问信息预测所述目标存储设备在所述参考时间段之后的目标时刻允许执行的数据访问操作的目标操作类型,其中,所述数据访问信息用于指示对所述目标存储设备执行的数据访问操作的执行情况;
提取出在所述参考时间段的结束时刻至所述目标时刻之间接收到的数据访问操作中属于所述目标操作类型但未执行的目标访问操作;
在所述目标时刻检测所述目标存储设备的数据访问负载;
在所述数据访问负载用于指示允许所述目标存储设备执行属于所述目标操作类型的数据访问操作的情况下,将所述目标访问操作分配至所述目标存储设备。
可选的,所述根据目标存储设备在参考时间段内的数据访问信息预测所述目标存储设备在所述参考时间段之后的目标时刻允许执行的数据访问操作的目标操作类型,包括:
将第一访问信息和第二访问信息进行匹配,得到匹配结果,其中,所述第一访问信息用于指示在第一时间段内所述目标存储设备执行每种操作类型的数据访问操作的执行情况,所述第二访问信息用于指示在所述第一时间段之前的第二时间段内所述目标存储设备执行每种操作类型的数据访问操作的执行情况,所述参考时间段包括所述第一时间段和所述第二时间段,所述数据访问信息包括所述第一访问信息和所述第二访问信息;
在所述匹配结果用于指示所述第一时间段对应的第一操作类型的和所述第二时间段对应的第二操作类型相同的情况下,将所述第一操作类型确定为所述目标操作类型,其中,所述第一操作类型为所述第一时间段内执行的多个数据访问操作对应的操作类型中数量最多的操作类型,所述第二操作类型为所述第二时间段内执行的多个数据访问操作对应的操作类型中数量最多的操作类型。
可选的,在所述将第一访问信息和第二访问信息进行匹配,得到匹配结果之后,所述方法还包括:
在所述匹配结果用于指示所述第一操作类型和所述第二操作类型不相同的情况下,将所第一时间段内所述第一操作类型的数据访问操作的第一执行次数和所述参考时间段内所述第二操作类型的数据访问操作的第二执行次数进行比较,得到比较结果;
根据所述比较结果确定所述目标操作类型。
可选的,所述根据所述比较结果确定所述目标操作类型,包括:
在所述比较结果用于指示所述第二执行次数小于所述第一执行次数的情况下,将所述第一操作类型确定为所述目标操作类型;
在所述比较结果用于指示所述第二执行次数大于或者等于所述第一执行次数的情况下,将所述第二操作类型确定为所述目标操作类型。
可选的,所述将所第一时间段内所述第一操作类型的数据访问操作的第一执行次数和所述参考时间段内所述第二操作类型的数据访问操作的第二执行次数进行比较,包括:
确定所述第一时间段内所述第二操作类型的数据访问操作的第三执行次数;
计算所述第一执行次数和所述第二时间段内所述第二操作类型的数据访问操作的执行次数的和值,得到第二执行次数;
将所述第一执行次数和所述第二执行次数进行比较。
可选的,所述提取出在所述参考时间段的结束时刻至所述目标时刻之间接收到的数据访问操作中属于所述目标操作类型但未执行的目标访问操作,包括:
配置用于对数据访问操作进行临时存储的目标存储空间;
将在所述参考时间段的结束时刻至所述目标时刻之间接收到的数据访问操作中属于所述目标操作类型但未执行的目标访问操作存储至所述目标存储空间。
可选的,所述配置用于对数据访问操作进行临时存储的目标存储空间,包括:
配置用于对数据访问操作进行临时存储的初始存储空间;
将所述初始存储空间的目标管理上下文字段修改为与所述目标操作类型对应的字段值,得到目标存储空间,其中,所述目标管理上下文字段用于指示所述存储空间所允许存储的数据访问请求对应的操作类型。
可选的,所述在所述目标时刻检测所述目标存储设备的数据访问负载,包括:
检测所述目标存储设备在所述目标时刻的数据访问量,其中,所述数据访问量用于指示在所述目标时刻所述目标存储设备的数据被访问的强度;
根据所述数据访问量确定所述目标存储设备上在所述目标时刻执行的多种操作类型的数据访问操作中每种操作类型的数据访问操作的目标操作数量,其中,所述数据访问负载包括所述目标操作数量,所述目标操作数量用于确定所述目标存储设备在所述目标时刻允许执行操作的操作类型。
可选的,所述根据所述数据访问量确定所述目标存储设备上在所述目标时刻执行的多种操作类型的数据访问操作中每种操作类型的数据访问操作的目标操作数量,包括:
获取所述目标存储设备的单位数据读取量和单位数据写入量,其中,所述单位数据读取量用于指示所述目标存储设备上配置的一个读操作单元单位时间内允许读取的数据量,所述单位数据写入量用于指示所述目标存储设备上配置的一个写操作单元单位时间内允许写入的数据量,所述读操作单元用于对所述目标存储设备执行数据读取操作,所述写操作单元用于对所述目标存储设备执行数据写入操作,所述多种操作类型包括数据读取类型和数据写入类型;
使用所述数据访问量、所述单位数据读取量和所述单位数据写入量计算出所述目标存储设备执行的所述数据读取类型的数据访问操作的第一操作数量和所述数据写入类型的数据访问操作的第二操作数量,其中,所述目标操作数量包括所述第一操作数量和所述第二操作数量。
可选的,所述使用所述数据访问量、所述单位数据读取量和所述单位数据写入量计算出所述目标存储设备执行的所述数据读取类型的数据访问操作的第一操作数量和所述数据写入类型的数据访问操作的第二操作数量,包括:
将所述数据访问量除以所述单位数据写入量得到的第一商值确定为所述第二操作数量;
确定所述单位数据写入量和所述第二操作数量的乘积值;使用所述数据访问量减去所述乘积值得到目标差值;将所述目标差值除以所述数据读取量得到的第二商值确定为所述第一操作数量。
可选的,所述确定所述目标存储设备在所述目标时刻允许执行操作的操作类型,包括:
确定所述目标存储设备上所述目标时刻执行的数据读取类型的数据访问操作的第一操作数量和执行的数据写入类型的数据访问操作的第二操作数量的操作数量差值,其中,所述多种操作类型包括所述数据读取类型和所述数据写入类型,所述目标操作数量包括所述第一操作数量和所述第二操作数量;
在所述操作数量差值大于或者等于第一差值的情况下,将所述第一操作数量与所述目标存储设备允许同时执行所述数据读取类型的数据访问操作的第一最大数量进行比对;
在所述第一操作数量小于所述第一最大数量的情况下,确定所述目标存储设备所述目标时刻允许执行的数据访问操作的操作类型为所述数据读取类型;
在所述第一操作数量等于所述第一最大数量的情况下,确定所述目标存储设备所述目标时刻允许执行的数据访问操作的操作类型为所述数据写入类型。
可选的,在所述确定所述目标存储设备上所述目标时刻执行的数据读取类型的数据访问操作的第一操作数量和执行的数据写入类型的数据访问操作的第二操作数量的操作数量差值之后,所述方法还包括:
在所述操作数量差值小于或者等于第二差值的情况下,将所述第二操作数量与所述目标存储设备允许同时执行所述数据写入类型的操作的第二最大数量进行匹配,其中,所述第二差值小于所述第一差值;
在所述第二操作数量小于所述第二最大数量的情况下,确定所述目标存储设备所述目标时刻允许执行的数据访问操作的操作类型为所述数据写入类型;
在所述第二操作数量等于所述第二最大数量的情况下,确定所述目标存储设备所述目标时刻允许执行的数据访问操作的操作类型为所述数据读取类型。
可选的,在所述确定所述目标存储设备上所述目标时刻执行的数据读取类型的数据访问操作的第一操作数量和执行的数据写入类型的数据访问操作的第二操作数量的操作数量差值之后,所述方法还包括:
在所述操作数量差值大于第二差值且小于所述第一差值,并且所述操作数量差值不等于零的情况下,获取所述目标存储设备上一次执行的数据访问操作的操作类型;
在所述目标存储设备上一次执行的数据访问操作的操作类型为所述数据读取类型的情况下,确定所述目标存储设备所述目标时刻允许执行的数据访问操作的操作类型为所述数据写入类型;
在所述目标存储设备上一次执行的数据访问操作的操作类型为所述数据写入类型的情况下,确定所述目标存储设备所述目标时刻允许执行的数据访问操作的操作类型为所述数据读取类型。
可选的,在所述确定所述目标存储设备上所述目标时刻执行的数据读取类型的数据访问操作的第一操作数量和执行的数据写入类型的数据访问操作的第二操作数量的操作数量差值之后,所述方法还包括:
在所述操作数量差值等于零的情况下,获取所述目标存储设备上一次执行的数据访问操作的操作类型;
在所述目标存储设备上一次执行的数据访问操作的操作类型为所述数据读取类型的情况下,确定所述目标存储设备所述目标时刻允许执行的数据访问操作的操作类型为所述数据读取类型;
在所述目标存储设备上一次执行的数据访问操作的操作类型为所述数据写入类型的情况下,确定所述目标存储设备所述目标时刻允许执行的数据访问操作的操作类型为所述数据写入类型。
可选的,在所述获取所述目标存储设备上一次执行的数据访问操作的操作类型之前,所述方法还包括:
在所述第一操作数量等于所述目标存储设备允许同时执行所述数据读取类型的操作的最大数量,且所述第二操作数量等于所述目标存储设备允许同时执行所述数据写入类型的操作的最大数量的情况下,将在所述目标存储设备上待执行的数据访问操作挂起。
可选的,在所述根据目标存储设备在参考时间段内的数据访问信息预测所述目标存储设备在所述参考时间段之后的目标时刻允许执行的数据访问操作的目标操作类型之前,所述方法还包括:
监测在参考时间段内对所述目标存储设备执行的参考数据访问请求所请求执行操作的参考操作类型;
使用检测到的所述参考数据访问请求对应的所述参考操作类型对目标映射表中包括的多个参考字段的字段值进行修改,得到所述数据访问信息,其中,所述多个参考字段包括第一字段、第二字段和第三字段,所述第一字段用于记录第一时间段内执行的多个数据访问请求对应的请求类型,所述第二字段用于记录第二时间段内执行的多个数据访问请求中执行次数最多的数据访问请求的请求类型,所述第三字段用于记录所述第二时间段内执行的多个数据访问请求中执行次数最多的数据访问请求的执行次数,所述参考时间段包括所述第一时间段和所述第一时间段之前的所述第二时间段。
可选的,在所述目标时刻检测所述目标存储设备的数据访问负载之后,所述方法还包括:
在所述数据访问负载用于指示所述目标存储设备允许执行非所述目标操作类型的候选操作类型的数据访问操作的情况下,提取出在所述目标时刻之后接收到的数据访问操作中属于所述候选操作类型但未执行的参考访问操作;
将所述参考访问操作分配至所述目标存储设备。
可选的,所述提取出在所述目标时刻之后接收到的数据访问操作中属于所述候选操作类型但未执行的参考访问操作,包括:
释放存储了所述目标访问操作的目标存储空间;
将所述目标存储空间的目标管理上下文字段从所述目标操作类型对应的字段值转换为与所述候选操作类型对应的字段值,得到候选存储空间,其中,所述目标管理上下文字段用于指示所述存储空间所允许存储的数据访问请求对应的操作类型;
提取出在所述目标时刻之后接收到的数据访问操作中属于所述候选操作类型但未执行的参考访问操作存储至所述候选存储空间。
可选的,所述将所述目标存储空间的目标管理上下文字段从所述目标操作类型对应的字段值转换为与所述候选操作类型对应的字段值,得到候选存储空间,包括:
在所述目标存储空间所允许存储的数据量小于所述目标操作类型的数据访问操作的数据量的情况下,为所述目标存储空间申请与用于存储数据访问操作的空间资源,得到参考存储空间;
将所述参考存储空间的所述目标管理上下文字段从所述目标操作类型对应的字段值转换为与所述候选操作类型对应的字段值,得到候选存储空间。
根据本申请的另一个实施例,提供了一种存储设备的操作控制装置,包括:预测模块,用于根据目标存储设备在参考时间段内的数据访问信息预测所述目标存储设备在所述参考时间段之后的目标时刻允许执行的数据访问操作的目标操作类型,其中,所述数据访问信息用于指示对所述目标存储设备执行的数据访问操作的执行情况;
提取模块,用于提取出在所述参考时间段的结束时刻至所述目标时刻之间接收到的数据访问操作中属于所述目标操作类型但未执行的目标访问操作;
检测模块,用于在所述目标时刻检测所述目标存储设备的数据访问负载;
分配模块,用于在所述数据访问负载用于指示允许所述目标存储设备执行属于所述目标操作类型的数据访问操作的情况下,将所述目标访问操作分配至所述目标存储设备。
根据本申请的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本申请的又一个实施例,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本申请,使用目标存储设备在参考时间段内的数据访问提前预测目标存储设备在目标时刻允许执行的数据访问操作的目标操作类型,因此可以在参考时间段结束至目标时刻之间的这段时间内为目标存储设备准备好属于目标操作类型但是还未执行的目标访问操作,从而在目标时刻当确定目标存储设备需要执行数据目标操作类型的数据访问操作的情况下,可以直接将目标访问操作分配给存储设备,从而一方面保证了存储设备上的执行的不同操作类型的数据访问操作相对平衡,另一方面降低了存储设备上数据访问操作的执行延迟,提高存储设备空间资源的利用率,因此,可以解决存储设备空间资源利用率较低问题,达到提高存储设备空间资源利用率的技术效果。
附图说明
图1是本申请实施例的一种存储设备的操作控制方法的服务器设备的硬件结构框图;
图2是根据本申请实施例的存储设备的操作控制方法的流程图;
图3是根据本申请实施例的一种可选的设备交互示意图;
图4是根据本申请实施例的一种可选的操作请求分配示意图;
图5是根据本社情实施例的一种可选的历史事物字段示意图;
图6是根据本申请实施例的一种可选的操作控制流程图;
图7是根据本申请实施例的操作控制设备示意图;
图8是根据本申请实施例的存储设备的操作控制装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请的实施例。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例中所提供的方法实施例可以在服务器设备或者类似的运算装置中执行。以运行在服务器设备上为例,图1是本申请实施例的一种存储设备的操作控制方法的服务器设备的硬件结构框图。如图1所示,服务器设备可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述服务器设备还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述服务器设备的结构造成限定。例如,服务器设备还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本申请实施例中的存储设备的操作控制方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至服务器设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器设备的通信供应方提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种存储设备的操作控制方法,图2是根据本申请实施例的存储设备的操作控制方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,根据目标存储设备在参考时间段内的数据访问信息预测所述目标存储设备在所述参考时间段之后的目标时刻允许执行的数据访问操作的目标操作类型,其中,所述数据访问信息用于指示对所述目标存储设备执行的数据访问操作的执行情况;
步骤S204,提取出在所述参考时间段的结束时刻至所述目标时刻之间接收到的数据访问操作中属于所述目标操作类型但未执行的目标访问操作;
步骤S206,在所述目标时刻检测所述目标存储设备的数据访问负载;
步骤S208,在所述数据访问负载用于指示允许所述目标存储设备执行属于所述目标操作类型的数据访问操作的情况下,将所述目标访问操作分配至所述目标存储设备。
通过上述步骤,使用目标存储设备在参考时间段内的数据访问提前预测目标存储设备在目标时刻允许执行的数据访问操作的目标操作类型,因此可以在参考时间段结束至目标时刻之间的这段时间内为目标存储设备准备好属于目标操作类型但是还未执行的目标访问操作,从而在目标时刻当确定目标存储设备需要执行数据目标操作类型的数据访问操作的情况下,可以直接将目标访问操作分配给存储设备,从而一方面保证了存储设备上的执行的不同操作类型的数据访问操作相对平衡,另一方面降低了存储设备上数据访问操作的执行延迟,提高存储设备空间资源的利用率,因此,可以解决存储设备空间资源利用率较低问题,达到提高存储设备空间资源利用率的技术效果。
其中,上述步骤的执行主体可以为部署了存储设备的主机设备,或者还可以应用与存储设备等,但不限于此,图3是根据本申请实施例的一种可选的设备交互示意图,包括主机和分别与主机连接的N个存储设备,上述存储设备的操作控制方法部署在主机上,主机设备通过上述存储设备的操作控制方法实现对每个存储设备执行操作的分配,使得存储设备上执行的不同操作类型的操作相对均衡。
在本申请中存储设备是进行数据存储的设备,可以在存储设备上进行数据的读写操作,为了方便对存储设备的负载管理,可以在存储设备上设置同时执行固定笔数读操作和固定笔数的写操作,通过按照设定的操作笔数执行上限,从而控制存储设备的读写均衡,在本申请中存储设备可以但不限于包括具有上述功能的硬盘设备(比如,固态硬盘,移动硬盘)、存储卡、U盘等等,本方案对此不做限定。
在上述步骤S202提供的实施例中,数据访问信息可以但不限于是存储设备在参考时间段内执行的多个操作类型的数据访问操作的时序关系,此时可以通过对数据访问操作的时序关系进行分析,得到数据访问操作的操作类型的时序变换规律,进而根据该时序变换规律确定出在目标时刻允许执行的数据访问操作的目标操作类型。数据访问信息还可以是参考时间段内包括的多个子时间段中每子时间段执行的每类操作类型的数据访问操作的执行次数,进而通过多个子时间段内的数据访问操作执行次数的比对分析,从而预测出目标时刻执行的各种操作类型的数据访问操作的概率值,进而将概率值最大的操作类型确定为目标类型。
可选地,在本实施例中,数据访问操作为用于对目标硬存储设备进行数据访问的操作,数据访问操作的操作类型可以但不限于包括数据读取类型和数据写入类型,本方案对此不做限定。
在上述步骤S204提供的实施例中,目标存储设备设置了允许同时执行的每类操作的最大数量值,当目标存储设备同时执行的操作的数量大于该类型操作的最大数量值的时候,将会对后续接收到的请求对存储设备进行数据访问操作的全部类型的数据访问操作进行挂起,因此,可以从数据挂起队列中按照时间顺序依次提取出目标操作类型的目标访问操作。或者还可以是构建一个存储空间,用于存储目标存储设备所接收到的全部数据访问操作的操作请求,并在确定目标存储设备执行完毕一条数据访问操作后,将存储空间中对应的数据访问操作删除,进而在目标时刻在存储空间中按照时间的先后顺序提取出目标操作类型的目标访问操作。
在上述步骤S206提供的实施例中,数据访问负载可以是数据访问总量,即数据写入量和数据读取量的和值,或者还可以通过对目标存储设备的工作参数确定出目标存储设备的数据访问负载,比如目标存储设备的功率能够表征目标存储设备当前正在处理的操作类型以及每种操作类型的操作的操作数量。
图4是根据本申请实施例的一种可选的操作请求分配示意图,如图4所示:
在SSD的映射表中增加一个32比特位历史事务字段(HTF),该字段与逻辑页地址(LBA)和物理页地址(PBA)的相应映射表条目一致。提前对FTL操作进行编码,当FTL在地址转换过程中引用映射表时, HTF字段记录操作类型,最多可以保存13个最近的操作的操作类型(占用0~25比特位),(26~27比特位)用作记录前一次记录满的13个记录中最多的操作类型,(28~31比特位)用作记录前一次记录满的13个记录中最多操作类型的操作次数。
每通道配置一个资源流量管理器累积读写消息流量,并且控制每个通道上的读、写消息数量,保证每个通道处理读写消息的相对均衡。如果某个通道上正在处理的读、写消息数量达到了设定的读、写消息数量,则认为该通道处在busy状态。如果预测的读、写请求的 METHOD 遇到通道busy的状态,则执行动态分配,根据通道的负载信息对通道进行类型编码表征通道当前执行读写操作的操作数量,表1是根据本申请还是例的通道类型编码表,如表1所示:
表1
作为一种可选的实施例,所述根据目标存储设备在参考时间段内的数据访问信息预测所述目标存储设备在所述参考时间段之后的目标时刻允许执行的数据访问操作的目标操作类型,包括:
将第一访问信息和第二访问信息进行匹配,得到匹配结果,其中,所述第一访问信息用于指示在第一时间段内所述目标存储设备执行每种操作类型的数据访问操作的执行情况,所述第二访问信息用于指示在所述第一时间段之前的第二时间段内所述目标存储设备执行每种操作类型的数据访问操作的执行情况,所述参考时间段包括所述第一时间段和所述第二时间段,所述数据访问信息包括所述第一访问信息和所述第二访问信息;
在所述匹配结果用于指示所述第一时间段对应的第一操作类型的和所述第二时间段对应的第二操作类型相同的情况下,将所述第一操作类型确定为所述目标操作类型,其中,所述第一操作类型为所述第一时间段内执行的多个数据访问操作对应的操作类型中数量最多的操作类型,所述第二操作类型为所述第二时间段内执行的多个数据访问操作对应的操作类型中数量最多的操作类型。
可选地,在本申请实施例中,通过将第一访问信息和第二访问信息进行匹配,从而得到第一时间段内和第二时间段内执行的各种操作类型的数据访问操作的差异情况,比如,操作类型可以包括数据读取类型和数据写入类型,第一访问信息可以是第一时间段内各种操作类型的操作执行次数,第二访问信息可以是第二时间段内各种操作类型的操作的执行次数,因此可以将第一时间段内和第二时间段内操作类型的执行次数进行比较,从而将执行次数最多的操作类型确定为目标操作类型。
通过以上步骤,将参考时间段划分为多个小的时间段,通过对多个小的时间段内每种操作类型的数据访问操作的执行情况进行匹配,进而在第一时间段内执行的多个数据访问操作对应的操作类型中数量最多的第一操作类型和第二时间段内执行的多个数据访问操作对应的操作类型中数量最多的第二操作类型相同的情况下,第一操作类型或者第二操作类型确定为目标操作类型,从而提高确定出的目标操作类型和目标存储设备在目标时刻允许执行的操作类型匹配一致的概率,进而提高了预测出的目标操作类型的准确率。
作为一种可选的实施例,在所述将第一访问信息和第二访问信息进行匹配,得到匹配结果之后,所述方法还包括:
在所述匹配结果用于指示所述第一操作类型和所述第二操作类型不相同的情况下,将所第一时间段内所述第一操作类型的数据访问操作的第一执行次数和所述参考时间段内所述第二操作类型的数据访问操作的第二执行次数进行比较,得到比较结果;
根据所述比较结果确定所述目标操作类型。
可选地,在本申请实施例中,当第一执行次数大于第二执行次数的下,将第一操作类型确定为目标操作类型,当第一执行次数小于或者等于第二执行次数的情况下,将第二操作类型确定为目标操作类型。
通过以上步骤,当第一操作类型和第二操作类型不一致的情况下,通过比较第一操作类型的操作在第一时间段内的第一执行次数以及第二操作类型的操作在参考时间段内的执行次数,根据执行次数确定出目标操作类型,提高确定出的目标操作类型和目标存储设备在目标时刻允许执行的操作类型匹配一致的概率,进而提高了预测出的目标操作类型的准确率。
作为一种可选的实施例,所述根据所述比较结果确定所述目标操作类型,包括:
在所述比较结果用于指示所述第二执行次数小于所述第一执行次数的情况下,将所述第一操作类型确定为所述目标操作类型;
在所述比较结果用于指示所述第二执行次数大于或者等于所述第一执行次数的情况下,将所述第二操作类型确定为所述目标操作类型。
作为一种可选的实施例,所述将所第一时间段内所述第一操作类型的数据访问操作的第一执行次数和所述参考时间段内所述第二操作类型的数据访问操作的第二执行次数进行比较,包括:
确定所述第一时间段内所述第二操作类型的数据访问操作的第三执行次数;
计算所述第一执行次数和所述第二时间段内所述第二操作类型的数据访问操作的执行次数的和值,得到第二执行次数;
将所述第一执行次数和所述第二执行次数进行比较。
可选地,在本申请实施例中,第三执行次数可以是对第二时间段内属于第二操作类型的操作次数进行统计得到的,本方案对此不做限定。
作为一种可选的实施例,所述提取出在所述参考时间段的结束时刻至所述目标时刻之间接收到的数据访问操作中属于所述目标操作类型但未执行的目标访问操作,包括:
配置用于对数据访问操作进行临时存储的目标存储空间;
将在所述参考时间段的结束时刻至所述目标时刻之间接收到的数据访问操作中属于所述目标操作类型但未执行的目标访问操作存储至所述目标存储空间。
可选地,在本申请实施例中,目标存储空间可以是用于对目标操作类型的数据访问操作进行临时存储的存储空间,其可以但不限于包括目标管理上下文、buffer资源、直接寄存器访问描述资源等等,目标管理上下文用于指示目标存储控制所承接存储的数据访问操作的操作类型。进而配置目标存储空间可以是先根据待承接的操作类型的数据访问操作的数据量申请buffer资源、直接寄存器访问描述资源的资源量,并未申请的资源配置与目标操作类型对应的目标管理上下文,本方案对配置目标存储空间的具体方法不作限定。
作为一种可选的实施例,所述配置用于对数据访问操作进行临时存储的目标存储空间,包括:
配置用于对数据访问操作进行临时存储的初始存储空间;
将所述初始存储空间的目标管理上下文字段修改为与所述目标操作类型对应的字段值,得到目标存储空间,其中,所述目标管理上下文字段用于指示所述存储空间所允许存储的数据访问请求对应的操作类型。
可选地,在本申请实施例中,初始存储空间为用于对数据访问操作进行临时存储的空间,配置初始存储空间可以是根据操作类型对应的操作所具有的数据量申请存储空间的空间资源。
作为一种可选的实施例,所述在所述目标时刻检测所述目标存储设备的数据访问负载,包括:
检测所述目标存储设备在所述目标时刻的数据访问量,其中,所述数据访问量用于指示在所述目标时刻所述目标存储设备的数据被访问的强度;
根据所述数据访问量确定所述目标存储设备上在所述目标时刻执行的多种操作类型的数据访问操作中每种操作类型的数据访问操作的目标操作数量,其中,所述数据访问负载包括所述目标操作数量,所述目标操作数量用于确定所述目标存储设备在所述目标时刻允许执行操作的操作类型。
可选地,在本申请实施例中,数据访问量可以是通过为目标存储设备配置的资源流量管理器进行采集得到的,资源流量管理器根据读写操作的耗时,每发一笔读写分别为每个通道累积资源流量,当读写消息处理完成时,将减去对应通道的资源流量。
可选地,在本申请实施例中,目标存储设备上配置了各种访问操作允许同时执行的操作上限以及每类操作类型的操作访问数据的单位时间数据访问量,进而在确定出了总的数据访问量后,可以使用数据访问量和各种操作类型对应的单位时间数据访问量计算出,诶中操作类型的目标操作数量。
作为一种可选的实施例,所述根据所述数据访问量确定所述目标存储设备上在所述目标时刻执行的多种操作类型的数据访问操作中每种操作类型的数据访问操作的目标操作数量,包括:
获取所述目标存储设备的单位数据读取量和单位数据写入量,其中,所述单位数据读取量用于指示所述目标存储设备上配置的一个读操作单元单位时间内允许读取的数据量,所述单位数据写入量用于指示所述目标存储设备上配置的一个写操作单元单位时间内允许写入的数据量,所述读操作单元用于对所述目标存储设备执行数据读取操作,所述写操作单元用于对所述目标存储设备执行数据写入操作,所述多种操作类型包括数据读取类型和数据写入类型;
使用所述数据访问量、所述单位数据读取量和所述单位数据写入量计算出所述目标存储设备执行的所述数据读取类型的数据访问操作的第一操作数量和所述数据写入类型的数据访问操作的第二操作数量,其中,所述目标操作数量包括所述第一操作数量和所述第二操作数量。
可选地,在本申请实施例中,单次数据读写操作所要处理的数据量小于单次数据写入操作所要处理的数据量,因此为了保证存储设备读写操作的延迟均衡,所以单位时间数据写入量会大于单位数据读取量,因此可以先计算数据访问量除以单位数据写入量得到的商值作为数据写入操作的操作数量,进而计算出数据读取量,计算数据读取量和单位数据写入量的商值最为数据读取操作的操作数量。
可选地,在本申请实施例中,还可以从具有对应关系的数据访问来那个、单位数据读取量、单位数据写入量和操作数量的对应关系中确定出与当前数据访问量、当前单位数据读取量和当前单位数据写入量对应的第一操作数量和第二操作数量。
作为一种可选的实施例,所述使用所述数据访问量、所述单位数据读取量和所述单位数据写入量计算出所述目标存储设备执行的所述数据读取类型的数据访问操作的第一操作数量和所述数据写入类型的数据访问操作的第二操作数量,包括:
将所述数据访问量除以所述单位数据写入量得到的第一商值确定为所述第二操作数量;
确定所述单位数据写入量和所述第二操作数量的乘积值;使用所述数据访问量减去所述乘积值得到目标差值;将所述目标差值除以所述数据读取量得到的第二商值确定为所述第一操作数量 。
作为一种可选的实施例,所述确定所述目标存储设备在所述目标时刻允许执行操作的操作类型,包括:
确定所述目标存储设备上所述目标时刻执行的数据读取类型的数据访问操作的第一操作数量和执行的数据写入类型的数据访问操作的第二操作数量的操作数量差值,其中,所述多种操作类型包括所述数据读取类型和所述数据写入类型,所述目标操作数量包括所述第一操作数量和所述第二操作数量;
在所述操作数量差值大于或者等于第一差值的情况下,将所述第一操作数量与所述目标存储设备允许同时执行所述数据读取类型的数据访问操作的第一最大数量进行比对;
在所述第一操作数量小于所述第一最大数量的情况下,确定所述目标存储设备所述目标时刻 允许执行的数据访问操作的操作类型为所述数据读取类型;
在所述第一操作数量等于所述第一最大数量的情况下,确定所述目标存储设备所述目标时刻允许执行的数据访问操作的操作类型为所述数据写入类型。
可选地,在本申请实施例中,当目标操作数量差值大于或者等于第一差值时,此时数据读取类型的数据访问操作的数量较大,数据写入类型的数据访问操作的操作数量较小,此时可以确定数据写入类型的数据访问操作未达到操作上限,因此需要确定数据读取类型的数据访问操作是否达到操作上限,并在第一操作数量小于第一最大数量的情况下确定出数据读取类型的数据访问操作也未达到上限,进而目标存储设备在目标时刻允许执行的数据访问操作的操作类型为数据读取类型,在第一操作数量等于第一最大数量的情况下,确定出数据读取类型的数据访问操作达到上限,因此目标存储设备在目标时刻允许执行的数据访问操作的操作类型为数据写入类型。
作为一种可选的实施例,在所述确定所述目标存储设备上所述目标时刻执行的数据读取类型的数据访问操作的第一操作数量和执行的数据写入类型的数据访问操作的第二操作数量的操作数量差值之后,所述方法还包括:
在所述操作数量差值小于或者等于第二差值的情况下,将所述第二操作数量与所述目标存储设备允许同时执行所述数据写入类型的操作的第二最大数量进行匹配,其中,所述第二差值小于所述第一差值;
在所述第二操作数量小于所述第二最大数量的情况下,确定所述目标存储设备所述目标时刻允许执行的数据访问操作的操作类型为所述数据写入类型;
在所述第二操作数量等于所述第二最大数量的情况下,确定所述目标存储设备所述目标时刻允许执行的数据访问操作的操作类型为所述数据读取类型。
可选地,在本申请实施例中,当目标操作数量差值小于或者等于第二差值时,此时数据写入类型的数据访问操作的数量较大,数据读取类型的数据访问操作的操作数量较小,此时可以确定数据读取类型的数据访问操作未达到操作上限,因此需要确定数据写入类型的数据访问操作是否达到操作上限,并在第二操作数量小于第二最大数量的情况下确定出数据写入类型的数据访问操作也未达到上限,进而目标存储设备在目标时刻允许执行的数据访问操作的操作类型为数据写入类型,在第二操作数量等于第二最大数量的情况下,确定出数据写入类型的数据访问操作达到上限,因此目标存储设备在目标时刻允许执行的数据访问操作的操作类型为数据读取类型。
作为一种可选的实施例,在所述确定所述目标存储设备上所述目标时刻执行的数据读取类型的数据访问操作的第一操作数量和执行的数据写入类型的数据访问操作的第二操作数量的操作数量差值之后,所述方法还包括:
在所述操作数量差值大于第二差值且小于所述第一差值,并且所述操作数量差值不等于零的情况下,获取所述目标存储设备上一次执行的数据访问操作的操作类型;
在所述目标存储设备上一次执行的数据访问操作的操作类型为所述数据读取类型的情况下,确定所述目标存储设备所述目标时刻允许执行的数据访问操作的操作类型为所述数据写入类型;
在所述目标存储设备上一次执行的数据访问操作的操作类型为所述数据写入类型的情况下,确定所述目标存储设备所述目标时刻允许执行的数据访问操作的操作类型为所述数据读取类型。
可选地,在本申请实施例中,在操作数量差值大于第二差值且小于第一差值的情况下,可以确定出当前目标存储设备上执行的数据读取类型的数据访问操作的操作数量和数据写入类型的数据访问操作的操作数量相近,因此可以根据上一次执行的数据都访问操作的操作类型确定出目标操作类型,即上一次执行的数据访问操作的操作类型为数据写入类型时,目标操作类型为数据读取类型,上一次执行的数据访问操作的操作类型为数据读取类型时,目标操作类型为数据写入类型。
作为一种可选的实施例,在所述确定所述目标存储设备上所述目标时刻执行的数据读取类型的数据访问操作的第一操作数量和执行的数据写入类型的数据访问操作的第二操作数量的操作数量差值之后,所述方法还包括:
在所述操作数量差值等于零的情况下,获取所述目标存储设备上一次执行的数据访问操作的操作类型;
在所述目标存储设备上一次执行的数据访问操作的操作类型为所述数据读取类型的情况下,确定所述目标存储设备所述目标时刻允许执行的数据访问操作的操作类型为所述数据读取类型;
在所述目标存储设备上一次执行的数据访问操作的操作类型为所述数据写入类型的情况下,确定所述目标存储设备所述目标时刻允许执行的数据访问操作的操作类型为所述数据写入类型。
可选地,在本申请实施例中,操作数量差值为零时,数据读取类型的数据访问操作的操作数量和数据写入类型的数据访问操作的操作数量相等,此时目标存储设备可以接收数据读取类型的数据访问操作和数据写入类型的数据访问操作中的任意一种,或者还可以根据上一次执行的数据访问操作的操作类型确定出目标操作类型,即当上一次执行的数据访问操作的操作类型为数据读取类型时,则确定出目标操作类型为数据读取类型,当上一次执行的数据访问操作的操作类型为数据写入类型时,则确定出目标操作类型为数据写入类型。
作为一种可选的实施例,在所述获取所述目标存储设备上一次执行的数据访问操作的操作类型之前,所述方法还包括:
在所述第一操作数量等于所述目标存储设备允许同时执行所述数据读取类型的操作的最大数量,且所述第二操作数量等于所述目标存储设备允许同时执行所述数据写入类型的操作的最大数量的情况下,将在所述目标存储设备上待执行的数据访问操作挂起。
作为一种可选的实施例,在所述根据目标存储设备在参考时间段内的数据访问信息预测所述目标存储设备在所述参考时间段之后的目标时刻允许执行的数据访问操作的目标操作类型之前,所述方法还包括:
监测在参考时间段内对所述目标存储设备执行的参考数据访问请求所请求执行操作的参考操作类型;
使用检测到的所述参考数据访问请求对应的所述参考操作类型对目标映射表中包括的多个参考字段的字段值进行修改,得到所述数据访问信息,其中,所述多个参考字段包括第一字段、第二字段和第三字段,所述第一字段用于记录第一时间段内执行的多个数据访问请求对应的请求类型,所述第二字段用于记录第二时间段内执行的多个数据访问请求中执行次数最多的数据访问请求的请求类型,所述第三字段用于记录所述第二时间段内执行的多个数据访问请求中执行次数最多的数据访问请求的执行次数,所述参考时间段包括所述第一时间段和所述第一时间段之前的所述第二时间段。
可选地,在本申请实施例中,可以在SSD的映射表(目标映射表)中增加一个历史事物字段,通过该字段记录数据访问信息,实施检测数据访问操作的执行情况,根据检测结果修改历史事物字段,图5是根据本社情实施例的一种可选的历史事物字段示意图,如图5所示,该历史事物字段为32比特的字段,比如,可以将0~25比特为作为第一字段,用于存储13个最近执行的数据访问操作,26~27比特为第二字段,用于存储前一次记录满的13个数据访问操作中最多的操作类型,28~32比特为第三字段,用于存储前一次记录满的13个数据访问操作中最多的操作类型的操作数量。
作为一种可选的实施例,在所述目标时刻检测所述目标存储设备的数据访问负载之后,所述方法还包括:
在所述数据访问负载用于指示所述目标存储设备允许执行非所述目标操作类型的候选操作类型的数据访问操作的情况下,提取出在所述目标时刻之后接收到的数据访问操作中属于所述候选操作类型但未执行的参考访问操作;
将所述参考访问操作分配至所述目标存储设备。
可选地,在本申请实施例中,在数据访问负载指示目标存储设备允许执行候选操作类型的数据访问操作的情况下,还可以提取出在所述参考时间段的结束时刻至所述目标时刻之间接收到的数据访问操作中属于候选操作类型但未执行的访问操作分配值目标存储设备中。
可选地,在本申请实施例中,当预测的操作类型和目标时刻目标存储设备实际允许执行的操作的操作类型不匹配的情况下,通过提取目标时刻之后接收到的数据访问操作中数据候选操作类型但为执行的参考访问操作,从而使得目标存储设备可以再次执行参考访问操作,避免相关技术中直接将后续接收到的操作全部暂时挂起导致的对存储设备运行资源的浪费,提高对存储设备运行资源的利用率并保证了存储设备的读写操作均衡。
作为一种可选的实施例,所述提取出在所述目标时刻之后接收到的数据访问操作中属于所述候选操作类型但未执行的参考访问操作,包括:
释放存储了所述目标访问操作的目标存储空间;
将所述目标存储空间的目标管理上下文字段从所述目标操作类型对应的字段值转换为与所述候选操作类型对应的字段值,得到候选存储空间,其中,所述目标管理上下文字段用于指示所述存储空间所允许存储的数据访问请求对应的操作类型;
提取出在所述目标时刻之后接收到的数据访问操作中属于所述候选操作类型但未执行的参考访问操作存储至所述候选存储空间。
通过以上步骤,当预测目标存储设备需要的操作类型和当前时刻时机需要的操作类型不一致是,通过对存储目标操作类型的目标存储空间的目标上下文管理字段进行字段值转换,从而使得可以复用目标存储空间的空间资源为目标存储设备接收参考访问操作,提高了空间资源的利用率。
作为一种可选的实施例,所述将所述目标存储空间的目标管理上下文字段从所述目标操作类型对应的字段值转换为与所述候选操作类型对应的字段值,得到候选存储空间,包括:
在所述目标存储空间所允许存储的数据量小于所述目标操作类型的数据访问操作的数据量的情况下,为所述目标存储空间申请与用于存储数据访问操作的空间资源,得到参考存储空间;
将所述参考存储空间的所述目标管理上下文字段从所述目标操作类型对应的字段值转换为与所述候选操作类型对应的字段值,得到候选存储空间。
可选地,在本申请实施例中,当慕白存储空间所允许存储的数据量大于目标操作类型的数据访问操作的数据量的情况下,还可以将目标存储空间中多余的空间资源进行释放,从而目标存储设备可以使用被释放的空间资源执行运行操作。
作为一种可选的实施例,在所述对所述目标存储设备执行所述目标数据访问请求对应的目标数据访问操作之后,所述方法还包括:
在检测所述目标存储设备中第一存储空间中存储的待擦除数据的数据量大于或者等于目标阈值的情况下,将所述第一存储空间中存储的待回收数据搬移至所述目标存储设备中的第二存储空间中存储,其中,所述第二存储空间为所述目标存储设备上未被占用的存储空间;
在所述第一存储空间中存储的所述待回收数据全部搬移至所述参考存储空间中的情况下,对所述第一存储空间中存储的全部数据进行数据擦除。
作为一种可选的实施例,在所述将所述第一存储空间中存储的待回收数据搬移至所述目标存储设备中的第二存储空间中存储之后,所述方法还包括:
在检测到所述目标存储设备上所述第一存储空间所占的比例处于增长状态的情况下,增大对所述待回收数据进行数据搬移的搬移速率,其中,所述搬移速率用于表征单位时间内向所述第二存储空间中搬移的所述待回收数据的数据量。
可选地,在本申请实施例中,搬移速率的目标增大步长可以是根据第一存储空间所占的比例确定的,或者根据第一存储空间所占比例的增涨速率确定的,比如,从具有对应关系的增大步长和第一存储空间所占比例中确定出与当前第一存储空间所占比例对应的目标增大步长,或者还可以是从具有对应关系的增大补偿和增涨速率中确定出与当前增涨速率对应的目标增大步长。
图6是根据本申请实施例的一种可选的操作控制流程图,如图6所示,至少包括如下步骤:
S601,根据修改后的映射表中的历史访问记录预测一个目标操作类型。
具体地,当存储设备为SSD(Solid State Disk,固态硬盘)在SSD的映射表中增加一个32比特位历史事务字段(HTF),该字段与逻辑页地址(LBA,Logical Block Address)和物理页地址(PBA,Physical Block Address)的相应映射表条目一致。提前对FTL操作类型进行编码,当FTL在地址转换过程中引用映射表时, HTF字段记录操作类型,最多可以保存13个最近的操作(占用0~25比特位),(26~27比特位)用作记录前一次记录满的13个记录中最多的操作类型,(28~31比特位)用作记录前一次记录满的13个记录中最多操作类型的操作次数
S602: 根据预测的操作类型为目标存储设备采集数据访问操作。
具体地,默认情况下,如果没有交易历史记录,则以轮询方式在芯片、通道、die、plane顺序执行动态页面分配。如果某个资源忙,则分配给同级别的下一个资源,以高效利用flash内存资源。对于具有事务历史记录的操作,通过预测的操作类型来分配资源来减轻读写干扰。考虑到请求的类型取决于LBA,在划分为读和写通道的区域中执行动态分配。
至于如何划分读写通道,首先,为每个通道配置一个资源流量管理器,根据读写操作的耗时,每发一笔读写分别为每个通道累积资源流量,当读写消息处理完成时,将减去对应通道的资源流量;其次,控制每个通道的读写消息数量,保证每个通道的读写消息相对均衡;最后,根据每个通道累积的资源流量,区分每个通道当前有多少笔读、多少笔写正在处理,结合表1的比例,将通道划分为读、写、读写混合、读写比例相同四种类型的通道。假设某通道读写资源流量累积为flowsum,读流量单元flow_rdunit,写流量单元flow_wrunit,实际处理一笔写消息的需要的时间远大于处理一笔读消息的时间,两者并不在一个数量级,所以在获取当前通道正在处理读写的消息数量时,先计算写消息数量wrcnt,再计算读消息数量rdcnt,公式参考如下:
其中,“%”为计算商值。
例如,处理一笔读消息需要90ns,处理一笔写消息需要2.7us,可以将读、写的资源流量计数单元分别设为90、2700;控制每个通道上在处理的读消息最多2笔,写消息最多2笔;如果某个通道上的资源流量累计为2790,说明该通道上有一笔读、一笔写消息正在处理,划分为读写比例相同通道类型,如果某个通道的资源流量累计为180,说明该通道上有两笔读消息正在处理,划分为读通道类型。
如上所述,为每通道配置一个资源流量管理器累积读写消息流量,并且控制每个通道上的读、写消息数量,保证每个通道处理读写消息的相对均衡。如果某个通道上正在处理的读、写消息数量达到了设定的读、写消息数量,则认为该通道处在busy状态。如果预测的读、写请求的 遇到通道busy的状态,则执行动态分配,具体资源分配操作伪代码如下:
输入:
每个通道负载类型信息:读、写、读写混合、读写比例相同
逻辑地址:LBA
根据历史事务信息HTF预测的请求类型METHOD
输出:
物理地址PBA
步骤:
if 通道资源流量累积已满
该通道后续读写消息执行挂起
endif
if METHOD == 读 then
if 通道处在读busy状态 then
PBA = 动态分配(LBA , 写)
else
PBA = 动态分配(LBA , 读)
endif
else if METHOD == 写 then
if 通道处在写busy状态 then
PBA = 动态分配(LBA , 读)
else
PBA = 动态分配(LBA , 写)
endif
else if METHOD == 读写混合类型 then
if 上一个PBA在写 then
PBA = 动态分配(LBA , 读)
else
PBA = 动态分配(LBA , 写)
endif
else if METHOD == 读写比例相同类型 then
if 上一个PBA在写 then
PBA = 动态分配(LBA , 写)
else
PBA = 动态分配(LBA , 读)
Endif
endif
预测的类型是通过比较HTF中的读和写次数来确定的,具体操作伪代码如下:
if (HTF:0~25中记录次数最多的操作类型与HTF:26~27记录前13次操作类型一致) then
METHOD= HTF:0~25中记录次数最多的操作类型
else
if (HTF:31~28记录次数 + HTF:0~25中记录与HTF:26~27操作类型相同次数 < HTF:0~25记录次数最多的操作类型) then
METHOD=HTF:0~25记录次数最多的操作类型
else
METHOD= HTF:26~27记录的操作类型
endif
endif
其中, METHOD表示预测的目标操作类型。
S603,通过利用GC(Garbage Collection,垃圾回收)对可能容易受到读/写干扰的页面进行数据搬移。
具体地,当出现过度不平衡的情况,读/写干扰感知页面资源分配时会把部分页面分配给其他通道,来解决由于减少闪存资源使用而导致的NAND消耗不均问题。由于存在这种闪存资源极度不均衡的情况出现,导致某一通道持续在写或者持续在读,当到了一定阈值时就会产生对应的读干扰或者写干扰,通过数据巡检,发现这种读写干扰风险出现时,需要利用GC迁移执行数据重新分配。
GC迁移引入了额外的写操作和占用SSD(Solid State Drive,固态硬盘)资源,这会降低SSD的性能。为了避免性能下降,只能在存储系统未使用时进行后台迁移。为了提高后台迁移过程中的系统性能,GC过程中通过选择具有无效页面多的数据块,将有效页面移动到空闲块中,然后擦除该块来回收无效页面。当一个块内无效页面占总页面的比例上升时,GC效率就会提高。通过GC感知迁移,选择无效页面数量最多的块来提高将发生的GC效率。
上述存储设备的操作控制方法可以但不限与应用于对存储的操作进行控制的设备上,图7是根据本申请实施例的操作控制设备示意图,如图7所示,至少包括如下模块:操作预测模块,动态资源分配模块,通道流量监控模块,以及GC数据搬移模块。操作预测模块:根据修改后的映射表中的交易历史预测目标时刻执行的数据访问操作的操作类型;动态资源分配模块:根据工作负载的强度对每种请求类型执行动态页面资源分配;通道流量监控模块:用来监控通道正在处理读、写消息数量;GC数据搬移模块:实现对可能容易受到干扰的页面进行数据搬移。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
在本实施例中还提供了一种存储设备的操作控制装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图8是根据本申请实施例的存储设备的操作控制装置的结构框图,如图8所示,该装置包括:预测模块,用于根据目标存储设备在参考时间段内的数据访问信息预测所述目标存储设备在所述参考时间段之后的目标时刻允许执行的数据访问操作的目标操作类型,其中,所述数据访问信息用于指示对所述目标存储设备执行的数据访问操作的执行情况;提取模块,用于提取出在所述参考时间段的结束时刻至所述目标时刻之间接收到的数据访问操作中属于所述目标操作类型但未执行的目标访问操作;检测模块,用于在所述目标时刻检测所述目标存储设备的数据访问负载;分配模块,用于在所述数据访问负载用于指示允许所述目标存储设备执行属于所述目标操作类型的数据访问操作的情况下,将所述目标访问操作分配至所述目标存储设备。
可选的,所述预测模块,包括:
匹配单元,用于将第一访问信息和第二访问信息进行匹配,得到匹配结果,其中,所述第一访问信息用于指示在第一时间段内所述目标存储设备执行每种操作类型的数据访问操作的执行情况,所述第二访问信息用于指示在所述第一时间段之前的第二时间段内所述目标存储设备执行每种操作类型的数据访问操作的执行情况,所述参考时间段包括所述第一时间段和所述第二时间段,所述数据访问信息包括所述第一访问信息和所述第二访问信息;
第一确定单元,用于在所述匹配结果用于指示所述第一时间段对应的第一操作类型的和所述第二时间段对应的第二操作类型相同的情况下,将所述第一操作类型确定为所述目标操作类型,其中,所述第一操作类型为所述第一时间段内执行的多个数据访问操作对应的操作类型中数量最多的操作类型,所述第二操作类型为所述第二时间段内执行的多个数据访问操作对应的操作类型中数量最多的操作类型。
可选的,比较模块,用于所述装置还包括:在所述将第一访问信息和第二访问信息进行匹配,得到匹配结果之后,在所述匹配结果用于指示所述第一操作类型和所述第二操作类型不相同的情况下,将所第一时间段内所述第一操作类型的数据访问操作的第一执行次数和所述参考时间段内所述第二操作类型的数据访问操作的第二执行次数进行比较,得到比较结果;
确定模块,用于根据所述比较结果确定所述目标操作类型。
可选的,所述确定模块,包括:
第二确定单元,用于在所述比较结果用于指示所述第二执行次数小于所述第一执行次数的情况下,将所述第一操作类型确定为所述目标操作类型;
第三确定单元,用于在所述比较结果用于指示所述第二执行次数大于或者等于所述第一执行次数的情况下,将所述第二操作类型确定为所述目标操作类型。
可选的,所述比较模块,包括:第四确定单元,用于确定所述第一时间段内所述第二操作类型的数据访问操作的第三执行次数;
计算单元,用于计算所述第一执行次数和所述第二时间段内所述第二操作类型的数据访问操作的执行次数的和值,得到第二执行次数;
比较单元,用于将所述第一执行次数和所述第二执行次数进行比较。
可选的,所述提取模块,包括:配置单元,用于配置用于对数据访问操作进行临时存储的目标存储空间;
存储单元,用于将在所述参考时间段的结束时刻至所述目标时刻之间接收到的数据访问操作中属于所述目标操作类型但未执行的目标访问操作存储至所述目标存储空间。
可选的,所述配置单元,用于:配置用于对数据访问操作进行临时存储的初始存储空间;
将所述初始存储空间的目标管理上下文字段修改为与所述目标操作类型对应的字段值,得到目标存储空间,其中,所述目标管理上下文字段用于指示所述存储空间所允许存储的数据访问请求对应的操作类型。
可选的,所述检测模块,包括:
检测单元,用于检测所述目标存储设备在所述目标时刻的数据访问量,其中,所述数据访问量用于指示在所述目标时刻所述目标存储设备的数据被访问的强度;
第五确定单元,用于根据所述数据访问量确定所述目标存储设备上在所述目标时刻执行的多种操作类型的数据访问操作中每种操作类型的数据访问操作的目标操作数量,其中,所述数据访问负载包括所述目标操作数量,所述目标操作数量用于确定所述目标存储设备在所述目标时刻允许执行操作的操作类型。
可选的,所述第五确定单元,用于:
获取所述目标存储设备的单位数据读取量和单位数据写入量,其中,所述单位数据读取量用于指示所述目标存储设备上配置的一个读操作单元单位时间内允许读取的数据量,所述单位数据写入量用于指示所述目标存储设备上配置的一个写操作单元单位时间内允许写入的数据量,所述读操作单元用于对所述目标存储设备执行数据读取操作,所述写操作单元用于对所述目标存储设备执行数据写入操作,所述多种操作类型包括数据读取类型和数据写入类型;
使用所述数据访问量、所述单位数据读取量和所述单位数据写入量计算出所述目标存储设备执行的所述数据读取类型的数据访问操作的第一操作数量和所述数据写入类型的数据访问操作的第二操作数量,其中,所述目标操作数量包括所述第一操作数量和所述第二操作数量。
可选的,所述第五确定单元,用于:将所述数据访问量除以所述单位数据写入量得到的第一商值确定为所述第二操作数量;
确定所述单位数据写入量和所述第二操作数量的乘积值;使用所述数据访问量减去所述乘积值得到目标差值;将所述目标差值除以所述数据读取量得到的第二商值确定为所述第一操作数量。
可选的,所述第五确定单元,用于:确定所述目标存储设备上所述目标时刻执行的数据读取类型的数据访问操作的第一操作数量和执行的数据写入类型的数据访问操作的第二操作数量的操作数量差值,其中,所述多种操作类型包括所述数据读取类型和所述数据写入类型,所述目标操作数量包括所述第一操作数量和所述第二操作数量;
在所述操作数量差值大于或者等于第一差值的情况下,将所述第一操作数量与所述目标存储设备允许同时执行所述数据读取类型的数据访问操作的第一最大数量进行比对;
在所述第一操作数量小于所述第一最大数量的情况下,确定所述目标存储设备所述目标时刻允许执行的数据访问操作的操作类型为所述数据读取类型;
在所述第一操作数量等于所述第一最大数量的情况下,确定所述目标存储设备所述目标时刻允许执行的数据访问操作的操作类型为所述数据写入类型。
可选的,所述装置还包括:
匹配模块,用于在所述确定所述目标存储设备上所述目标时刻执行的数据读取类型的数据访问操作的第一操作数量和执行的数据写入类型的数据访问操作的第二操作数量的操作数量差值之后,在所述操作数量差值小于或者等于第二差值的情况下,将所述第二操作数量与所述目标存储设备允许同时执行所述数据写入类型的操作的第二最大数量进行匹配,其中,所述第二差值小于所述第一差值;
第一确定模块,用于在所述第二操作数量小于所述第二最大数量的情况下,确定所述目标存储设备所述目标时刻允许执行的数据访问操作的操作类型为所述数据写入类型;
第二确定模块,用于在所述第二操作数量等于所述第二最大数量的情况下,确定所述目标存储设备所述目标时刻允许执行的数据访问操作的操作类型为所述数据读取类型。
可选的,所述装置还包括:
第一获取模块,用于在所述确定所述目标存储设备上所述目标时刻执行的数据读取类型的数据访问操作的第一操作数量和执行的数据写入类型的数据访问操作的第二操作数量的操作数量差值之后,在所述操作数量差值大于第二差值且小于所述第一差值,并且所述操作数量差值不等于零的情况下,获取所述目标存储设备上一次执行的数据访问操作的操作类型;
第三确定模块,用于在所述目标存储设备上一次执行的数据访问操作的操作类型为所述数据读取类型的情况下,确定所述目标存储设备所述目标时刻允许执行的数据访问操作的操作类型为所述数据写入类型;
第四确定模块,用于在所述目标存储设备上一次执行的数据访问操作的操作类型为所述数据写入类型的情况下,确定所述目标存储设备所述目标时刻允许执行的数据访问操作的操作类型为所述数据读取类型。
可选的,所述装置还包括:
第二获取模块,用于在所述确定所述目标存储设备上所述目标时刻执行的数据读取类型的数据访问操作的第一操作数量和执行的数据写入类型的数据访问操作的第二操作数量的操作数量差值之后,在所述操作数量差值等于零的情况下,获取所述目标存储设备上一次执行的数据访问操作的操作类型;
第五确定模块,用于在所述目标存储设备上一次执行的数据访问操作的操作类型为所述数据读取类型的情况下,确定所述目标存储设备所述目标时刻允许执行的数据访问操作的操作类型为所述数据读取类型;
第六确定模块,用于在所述目标存储设备上一次执行的数据访问操作的操作类型为所述数据写入类型的情况下,确定所述目标存储设备所述目标时刻允许执行的数据访问操作的操作类型为所述数据写入类型。
可选的,所述装置还包括:
处理模块,用于在所述获取所述目标存储设备上一次执行的数据访问操作的操作类型之前,在所述第一操作数量等于所述目标存储设备允许同时执行所述数据读取类型的操作的最大数量,且所述第二操作数量等于所述目标存储设备允许同时执行所述数据写入类型的操作的最大数量的情况下,将在所述目标存储设备上待执行的数据访问操作挂起。
可选的,所述装置还包括:
监测模块,用于在所述根据目标存储设备在参考时间段内的数据访问信息预测所述目标存储设备在所述参考时间段之后的目标时刻允许执行的数据访问操作的目标操作类型之前,监测在参考时间段内对所述目标存储设备执行的参考数据访问请求所请求执行操作的参考操作类型;
修改模块,用于使用检测到的所述参考数据访问请求对应的所述参考操作类型对目标映射表中包括的多个参考字段的字段值进行修改,得到所述数据访问信息,其中,所述多个参考字段包括第一字段、第二字段和第三字段,所述第一字段用于记录第一时间段内执行的多个数据访问请求对应的请求类型,所述第二字段用于记录第二时间段内执行的多个数据访问请求中执行次数最多的数据访问请求的请求类型,所述第三字段用于记录所述第二时间段内执行的多个数据访问请求中执行次数最多的数据访问请求的执行次数,所述参考时间段包括所述第一时间段和所述第一时间段之前的所述第二时间段。
可选的,所述装置还包括:
提取模块,用于在所述目标时刻检测所述目标存储设备的数据访问负载之后,在所述数据访问负载用于指示所述目标存储设备允许执行非所述目标操作类型的候选操作类型的数据访问操作的情况下,提取出在所述目标时刻之后接收到的数据访问操作中属于所述候选操作类型但未执行的参考访问操作;
分配模块,用于将所述参考访问操作分配至所述目标存储设备。
可选的,所述提取模块,包括:
释放单元,用于释放存储了所述目标访问操作的目标存储空间;
转换单元,用于将所述目标存储空间的目标管理上下文字段从所述目标操作类型对应的字段值转换为与所述候选操作类型对应的字段值,得到候选存储空间,其中,所述目标管理上下文字段用于指示所述存储空间所允许存储的数据访问请求对应的操作类型;
提取单元,用于提取出在所述目标时刻之后接收到的数据访问操作中属于所述候选操作类型但未执行的参考访问操作存储至所述候选存储空间。
可选的,所述转换单元,用于:
在所述目标存储空间所允许存储的数据量小于所述目标操作类型的数据访问操作的数据量的情况下,为所述目标存储空间申请与用于存储数据访问操作的空间资源,得到参考存储空间;
将所述参考存储空间的所述目标管理上下文字段从所述目标操作类型对应的字段值转换为与所述候选操作类型对应的字段值,得到候选存储空间。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本申请的实施例还提供了一种电子设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (20)
1.一种存储设备的操作控制方法,其特征在于,
包括:
根据目标存储设备在参考时间段内的数据访问信息预测所述目标存储设备在所述参考时间段之后的目标时刻允许执行的数据访问操作的目标操作类型,其中,所述数据访问信息用于指示对所述目标存储设备执行的数据访问操作的执行情况;
提取出在所述参考时间段的结束时刻至所述目标时刻之间接收到的数据访问操作中属于所述目标操作类型但未执行的目标访问操作;
在所述目标时刻检测所述目标存储设备的数据访问负载;
在所述数据访问负载用于指示允许所述目标存储设备执行属于所述目标操作类型的数据访问操作的情况下,将所述目标访问操作分配至所述目标存储设备;
其中,所述根据目标存储设备在参考时间段内的数据访问信息预测所述目标存储设备在所述参考时间段之后的目标时刻允许执行的数据访问操作的目标操作类型,包括:将第一访问信息和第二访问信息进行匹配,得到匹配结果,其中,所述第一访问信息用于指示在第一时间段内所述目标存储设备执行每种操作类型的数据访问操作的执行情况,所述第二访问信息用于指示在所述第一时间段之前的第二时间段内所述目标存储设备执行每种操作类型的数据访问操作的执行情况,所述参考时间段包括所述第一时间段和所述第二时间段,所述数据访问信息包括所述第一访问信息和所述第二访问信息;在所述匹配结果用于指示第一操作类型和第二操作类型不相同的情况下,将所述第一时间段内所述第一操作类型的数据访问操作的第一执行次数和所述参考时间段内所述第二操作类型的数据访问操作的第二执行次数进行比较,得到比较结果,其中,所述第一操作类型为所述第一时间段内执行的多个数据访问操作对应的操作类型中数量最多的操作类型,所述第二操作类型为所述第二时间段内执行的多个数据访问操作对应的操作类型中数量最多的操作类型;根据所述比较结果确定所述目标操作类型;
所述根据所述比较结果确定所述目标操作类型,包括:在所述比较结果用于指示所述第二执行次数小于所述第一执行次数的情况下,将所述第一操作类型确定为所述目标操作类型;在所述比较结果用于指示所述第二执行次数大于或者等于所述第一执行次数的情况下,将所述第二操作类型确定为所述目标操作类型。
2.根据权利要求1所述的方法,其特征在于,
所述方法还包括:
在所述匹配结果用于指示所述第一时间段对应的第一操作类型和所述第二时间段对应的第二操作类型相同的情况下,将所述第一操作类型确定为所述目标操作类型。
3.根据权利要求1所述的方法,其特征在于,
所述将所述第一时间段内所述第一操作类型的数据访问操作的第一执行次数和所述参考时间段内所述第二操作类型的数据访问操作的第二执行次数进行比较,包括:
确定所述第一时间段内所述第二操作类型的数据访问操作的第三执行次数;
计算所述第一执行次数和所述第二时间段内所述第二操作类型的数据访问操作的执行次数的和值,得到第二执行次数;
将所述第一执行次数和所述第二执行次数进行比较。
4.根据权利要求1所述的方法,其特征在于,
所述提取出在所述参考时间段的结束时刻至所述目标时刻之间接收到的数据访问操作中属于所述目标操作类型但未执行的目标访问操作,包括:
配置用于对数据访问操作进行临时存储的目标存储空间;
将在所述参考时间段的结束时刻至所述目标时刻之间接收到的数据访问操作中属于所述目标操作类型但未执行的目标访问操作存储至所述目标存储空间。
5.根据权利要求4所述的方法,其特征在于,
所述配置用于对数据访问操作进行临时存储的目标存储空间,包括:
配置用于对数据访问操作进行临时存储的初始存储空间;
将所述初始存储空间的目标管理上下文字段修改为与所述目标操作类型对应的字段值,得到目标存储空间,其中,所述目标管理上下文字段用于指示所述初始存储空间所允许存储的数据访问请求对应的操作类型。
6.根据权利要求1所述的方法,其特征在于,
所述在所述目标时刻检测所述目标存储设备的数据访问负载,包括:
检测所述目标存储设备在所述目标时刻的数据访问量,其中,所述数据访问量用于指示在所述目标时刻所述目标存储设备的数据被访问的强度;
根据所述数据访问量确定所述目标存储设备上在所述目标时刻执行的多种操作类型的数据访问操作中每种操作类型的数据访问操作的目标操作数量,其中,所述数据访问负载包括所述目标操作数量,所述目标操作数量用于确定所述目标存储设备在所述目标时刻允许执行操作的操作类型。
7.根据权利要求6所述的方法,其特征在于,
所述根据所述数据访问量确定所述目标存储设备上在所述目标时刻执行的多种操作类型的数据访问操作中每种操作类型的数据访问操作的目标操作数量,包括:
获取所述目标存储设备的单位数据读取量和单位数据写入量,其中,所述单位数据读取量用于指示所述目标存储设备上配置的一个读操作单元单位时间内允许读取的数据量,所述单位数据写入量用于指示所述目标存储设备上配置的一个写操作单元单位时间内允许写入的数据量,所述读操作单元用于对所述目标存储设备执行数据读取操作,所述写操作单元用于对所述目标存储设备执行数据写入操作,所述多种操作类型包括数据读取类型和数据写入类型;
使用所述数据访问量、所述单位数据读取量和所述单位数据写入量计算出所述目标存储设备执行的所述数据读取类型的数据访问操作的第一操作数量和所述数据写入类型的数据访问操作的第二操作数量,其中,所述目标操作数量包括所述第一操作数量和所述第二操作数量。
8.根据权利要求7所述的方法,其特征在于,
所述使用所述数据访问量、所述单位数据读取量和所述单位数据写入量计算出所述目标存储设备执行的所述数据读取类型的数据访问操作的第一操作数量和所述数据写入类型的数据访问操作的第二操作数量,包括:
将所述数据访问量除以所述单位数据写入量得到的第一商值确定为所述第二操作数量;
确定所述单位数据写入量和所述第二操作数量的乘积值;使用所述数据访问量减去所述乘积值得到目标差值;将所述目标差值除以所述数据读取量得到的第二商值确定为所述第一操作数量。
9.根据权利要求6所述的方法,其特征在于,
所述确定所述目标存储设备在所述目标时刻允许执行操作的操作类型,包括:
确定所述目标存储设备上所述目标时刻执行的数据读取类型的数据访问操作的第一操作数量和执行的数据写入类型的数据访问操作的第二操作数量的操作数量差值,其中,所述多种操作类型包括所述数据读取类型和所述数据写入类型,所述目标操作数量包括所述第一操作数量和所述第二操作数量;
在所述操作数量差值大于或者等于第一差值的情况下,将所述第一操作数量与所述目标存储设备允许同时执行所述数据读取类型的数据访问操作的第一最大数量进行比对;
在所述第一操作数量小于所述第一最大数量的情况下,确定所述目标存储设备所述目标时刻允许执行的数据访问操作的操作类型为所述数据读取类型;
在所述第一操作数量等于所述第一最大数量的情况下,确定所述目标存储设备所述目标时刻允许执行的数据访问操作的操作类型为所述数据写入类型。
10.根据权利要求9所述的方法,其特征在于,
在所述确定所述目标存储设备上所述目标时刻执行的数据读取类型的数据访问操作的第一操作数量和执行的数据写入类型的数据访问操作的第二操作数量的操作数量差值之后,所述方法还包括:
在所述操作数量差值小于或者等于第二差值的情况下,将所述第二操作数量与所述目标存储设备允许同时执行所述数据写入类型的操作的第二最大数量进行匹配,其中,所述第二差值小于所述第一差值;
在所述第二操作数量小于所述第二最大数量的情况下,确定所述目标存储设备所述目标时刻允许执行的数据访问操作的操作类型为所述数据写入类型;
在所述第二操作数量等于所述第二最大数量的情况下,确定所述目标存储设备所述目标时刻允许执行的数据访问操作的操作类型为所述数据读取类型。
11.根据权利要求9所述的方法,其特征在于,
在所述确定所述目标存储设备上所述目标时刻执行的数据读取类型的数据访问操作的第一操作数量和执行的数据写入类型的数据访问操作的第二操作数量的操作数量差值之后,所述方法还包括:
在所述操作数量差值大于第二差值且小于所述第一差值,并且所述操作数量差值不等于零的情况下,获取所述目标存储设备上一次执行的数据访问操作的操作类型;
在所述目标存储设备上一次执行的数据访问操作的操作类型为所述数据读取类型的情况下,确定所述目标存储设备所述目标时刻允许执行的数据访问操作的操作类型为所述数据写入类型;
在所述目标存储设备上一次执行的数据访问操作的操作类型为所述数据写入类型的情况下,确定所述目标存储设备所述目标时刻允许执行的数据访问操作的操作类型为所述数据读取类型。
12.根据权利要求9所述的方法,其特征在于,
在所述确定所述目标存储设备上所述目标时刻执行的数据读取类型的数据访问操作的第一操作数量和执行的数据写入类型的数据访问操作的第二操作数量的操作数量差值之后,所述方法还包括:
在所述操作数量差值等于零的情况下,获取所述目标存储设备上一次执行的数据访问操作的操作类型;
在所述目标存储设备上一次执行的数据访问操作的操作类型为所述数据读取类型的情况下,确定所述目标存储设备所述目标时刻允许执行的数据访问操作的操作类型为所述数据读取类型;
在所述目标存储设备上一次执行的数据访问操作的操作类型为所述数据写入类型的情况下,确定所述目标存储设备所述目标时刻允许执行的数据访问操作的操作类型为所述数据写入类型。
13.根据权利要求12所述的方法,其特征在于,
在所述获取所述目标存储设备上一次执行的数据访问操作的操作类型之前,所述方法还包括:
在所述第一操作数量等于所述目标存储设备允许同时执行所述数据读取类型的操作的最大数量,且所述第二操作数量等于所述目标存储设备允许同时执行所述数据写入类型的操作的最大数量的情况下,将在所述目标存储设备上待执行的数据访问操作挂起。
14.根据权利要求1所述的方法,其特征在于,
在所述根据目标存储设备在参考时间段内的数据访问信息预测所述目标存储设备在所述参考时间段之后的目标时刻允许执行的数据访问操作的目标操作类型之前,所述方法还包括:
监测在参考时间段内对所述目标存储设备执行的参考数据访问请求所请求执行操作的参考操作类型;
使用检测到的所述参考数据访问请求对应的所述参考操作类型对目标映射表中包括的多个参考字段的字段值进行修改,得到所述数据访问信息,其中,所述多个参考字段包括第一字段、第二字段和第三字段,所述第一字段用于记录第一时间段内执行的多个数据访问请求对应的请求类型,所述第二字段用于记录第二时间段内执行的多个数据访问请求中执行次数最多的数据访问请求的请求类型,所述第三字段用于记录所述第二时间段内执行的多个数据访问请求中执行次数最多的数据访问请求的执行次数,所述参考时间段包括所述第一时间段和所述第一时间段之前的所述第二时间段。
15.根据权利要求1所述的方法,其特征在于,
在所述目标时刻检测所述目标存储设备的数据访问负载之后,所述方法还包括:
在所述数据访问负载用于指示所述目标存储设备允许执行非所述目标操作类型的候选操作类型的数据访问操作的情况下,提取出在所述目标时刻之后接收到的数据访问操作中属于所述候选操作类型但未执行的参考访问操作;
将所述参考访问操作分配至所述目标存储设备。
16.根据权利要求15所述的方法,其特征在于,
所述提取出在所述目标时刻之后接收到的数据访问操作中属于所述候选操作类型但未执行的参考访问操作,包括:
释放存储了所述目标访问操作的目标存储空间;
将所述目标存储空间的目标管理上下文字段从所述目标操作类型对应的字段值转换为与所述候选操作类型对应的字段值,得到候选存储空间,其中,所述目标管理上下文字段用于指示所述目标存储空间所允许存储的数据访问请求对应的操作类型;
提取出在所述目标时刻之后接收到的数据访问操作中属于所述候选操作类型但未执行的参考访问操作存储至所述候选存储空间。
17.根据权利要求16所述的方法,其特征在于,
所述将所述目标存储空间的目标管理上下文字段从所述目标操作类型对应的字段值转换为与所述候选操作类型对应的字段值,得到候选存储空间,包括:
在所述目标存储空间所允许存储的数据量小于所述目标操作类型的数据访问操作的数据量的情况下,为所述目标存储空间申请与用于存储数据访问操作的空间资源,得到参考存储空间;
将所述参考存储空间的所述目标管理上下文字段从所述目标操作类型对应的字段值转换为与所述候选操作类型对应的字段值,得到候选存储空间。
18.一种存储设备的操作控制装置,其特征在于,
包括:
预测模块,用于根据目标存储设备在参考时间段内的数据访问信息预测所述目标存储设备在所述参考时间段之后的目标时刻允许执行的数据访问操作的目标操作类型,其中,所述数据访问信息用于指示对所述目标存储设备执行的数据访问操作的执行情况;
提取模块,用于提取出在所述参考时间段的结束时刻至所述目标时刻之间接收到的数据访问操作中属于所述目标操作类型但未执行的目标访问操作;
检测模块,用于在所述目标时刻检测所述目标存储设备的数据访问负载;
分配模块,用于在所述数据访问负载用于指示允许所述目标存储设备执行属于所述目标操作类型的数据访问操作的情况下,将所述目标访问操作分配至所述目标存储设备;
其中,所述预测模块,包括:匹配单元,用于将第一访问信息和第二访问信息进行匹配,得到匹配结果,其中,所述第一访问信息用于指示在第一时间段内所述目标存储设备执行每种操作类型的数据访问操作的执行情况,所述第二访问信息用于指示在所述第一时间段之前的第二时间段内所述目标存储设备执行每种操作类型的数据访问操作的执行情况,所述参考时间段包括所述第一时间段和所述第二时间段,所述数据访问信息包括所述第一访问信息和所述第二访问信息;所述装置还包括:比较模块,用于在所述将第一访问信息和第二访问信息进行匹配,得到匹配结果之后,在所述匹配结果用于指示第一操作类型和第二操作类型不相同的情况下,将所述第一时间段内所述第一操作类型的数据访问操作的第一执行次数和所述参考时间段内所述第二操作类型的数据访问操作的第二执行次数进行比较,得到比较结果,其中,所述第一操作类型为所述第一时间段内执行的多个数据访问操作对应的操作类型中数量最多的操作类型,所述第二操作类型为所述第二时间段内执行的多个数据访问操作对应的操作类型中数量最多的操作类型;确定模块,用于根据所述比较结果确定所述目标操作类型;
所述确定模块,包括:第二确定单元,用于在所述比较结果用于指示所述第二执行次数小于所述第一执行次数的情况下,将所述第一操作类型确定为所述目标操作类型;第三确定单元,用于在所述比较结果用于指示所述第二执行次数大于或者等于所述第一执行次数的情况下,将所述第二操作类型确定为所述目标操作类型。
19.一种计算机可读存储介质,其特征在于,
所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至17任一项中所述的方法的步骤。
20.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,
所述处理器执行所述计算机程序时实现所述权利要求1至17任一项中所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311514242.8A CN117234434B (zh) | 2023-11-14 | 2023-11-14 | 存储设备的操作控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311514242.8A CN117234434B (zh) | 2023-11-14 | 2023-11-14 | 存储设备的操作控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117234434A CN117234434A (zh) | 2023-12-15 |
CN117234434B true CN117234434B (zh) | 2024-02-20 |
Family
ID=89093337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311514242.8A Active CN117234434B (zh) | 2023-11-14 | 2023-11-14 | 存储设备的操作控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117234434B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107710169A (zh) * | 2016-02-19 | 2018-02-16 | 华为技术有限公司 | 一种闪存设备的访问方法和装置 |
CN109240988A (zh) * | 2018-08-30 | 2019-01-18 | 杜广香 | 用于避免大数据存储系统进入访问失衡状态的方法及系统 |
CN113325998A (zh) * | 2020-02-29 | 2021-08-31 | 杭州海康存储科技有限公司 | 读写速度控制方法、装置 |
-
2023
- 2023-11-14 CN CN202311514242.8A patent/CN117234434B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107710169A (zh) * | 2016-02-19 | 2018-02-16 | 华为技术有限公司 | 一种闪存设备的访问方法和装置 |
CN109240988A (zh) * | 2018-08-30 | 2019-01-18 | 杜广香 | 用于避免大数据存储系统进入访问失衡状态的方法及系统 |
CN113325998A (zh) * | 2020-02-29 | 2021-08-31 | 杭州海康存储科技有限公司 | 读写速度控制方法、装置 |
Also Published As
Publication number | Publication date |
---|---|
CN117234434A (zh) | 2023-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111742291B (zh) | 具有用户空间闪存转换层的用户空间存储i/o栈的方法和系统 | |
CN106681934B (zh) | 一种存储设备垃圾回收的方法及设备 | |
US9489409B2 (en) | Rollover strategies in a N-bit dictionary compressed column store | |
US20160132429A1 (en) | Method and Storage Device for Collecting Garbage Data | |
US20110107053A1 (en) | Allocating Storage Memory Based on Future Use Estimates | |
US20180165014A1 (en) | Array controller, solid state disk, and method for controlling solid state disk to write data | |
CN109358809B (zh) | 一种raid数据存储系统及方法 | |
CN107209714A (zh) | 分布式存储系统及分布式存储系统的控制方法 | |
JP6932530B2 (ja) | ホストへの動的帯域幅報告のための装置および方法 | |
US11886743B2 (en) | Method for enhancing quality of service of solid-state drive and solid-state drive | |
EP3865992A2 (en) | Distributed block storage system, method, apparatus and medium | |
CN114328281B (zh) | 固态硬盘异常掉电处理方法、装置、电子设备及介质 | |
CN115756312A (zh) | 数据访问系统、数据访问方法和存储介质 | |
US20190324677A1 (en) | Information processing apparatus | |
JP7146054B2 (ja) | システムコントローラおよびシステムガベージコレクション方法 | |
CN117234434B (zh) | 存储设备的操作控制方法及装置 | |
CN116401043A (zh) | 一种计算任务的执行方法和相关设备 | |
CN105183375A (zh) | 一种热点数据的服务质量的控制方法和装置 | |
CN115016890A (zh) | 虚拟机资源分配方法、装置、电子设备及存储介质 | |
CN115543859A (zh) | 多分区ssd的磨损均衡优化方法、装置、设备及介质 | |
CN112947867A (zh) | 全闪存阵列高性能存储系统及电子设备 | |
CN117389485B (zh) | 存储性能优化方法、装置、存储系统、电子设备和介质 | |
US20190339898A1 (en) | Method, system and computer program product for managing data storage in data storage systems | |
CN113867642B (zh) | 数据处理方法、装置及存储设备 | |
CN111913650B (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 |