一种硬盘功耗调节方法、系统、电子设备及存储介质与流程

未命名 08-13 阅读:87 评论:0


1.本发明涉及存储技术领域,尤其涉及一种硬盘功耗调节方法、系统、电子设备及存储介质。


背景技术:

2.随着科技的迅速发展,人们对存储设备的要求越来越高。而由于固态硬盘较高的读写性能,固态硬盘的应用越来越广泛。大数据时代,ssd(solid state disk,固态硬盘)作为一种具备快速的启动速度、较快的读写速度、高性能、防震性好以及噪声低等优势的存储设备,广泛应用于各种存储系统,目前ssd已成为市场上主流的存储介质。
3.在固态硬盘的实际使用中,随着固态硬盘的高性能需求,同时也伴随着其较高的功耗。目前的功耗调节只是按固定的功耗等级进行调节,调节方式单一,调节结果不够精确,并且不能发挥设置在调节后的功耗等级下的最大性能,因此,亟需一种硬盘功耗调节方案解决上述问题。


技术实现要素:

4.有鉴于此,本发明提出了一种硬盘功耗调节方法、系统、电子设备及存储介质,实现了基于实际应用场景来灵活设置不同的功耗等级,并且能在确定的功耗等级下进一步精确控制硬盘功耗,解决了传统功耗调节方案调节方式单一,调节结果不够精确,并且不能发挥设置在调节后的功耗等级下的最大性能,实现了硬盘功耗的多级动态管理,能够更加精确的控制硬盘功耗,并且保证了在用户限制的功耗等级下,硬盘性能能够得到最大的发挥,提高了数据读写的速率。
5.基于上述目的,本发明实施例的一方面提供了一种硬盘功耗调节方法,具体包括响应于高速处理器接收到功耗等级设置命令,基于所述功耗等级设置命令设置所述硬盘的当前功耗等级和其对应的当前命令单元并发数,并将设置的所述当前功耗等级同步给低速处理器;响应于所述低速处理器接收到同步过来的所述当前功耗等级,周期性对比所述硬盘的平均功耗以及对应于所述当前功耗等级的期望功耗的大小,并基于对比结果调节所述当前命令单元并发数以调节所述硬盘的功耗。
6.在一些实施方式中,所述基于所述功耗等级设置命令设置所述硬盘的当前功耗等级和其对应的当前命令单元并发数的步骤包括:基于预设映射关系和所述功耗等级设置命令设置所述硬盘的当前功耗等级和其对应的所述当前命令单元并发数。
7.在一些实施方式中,方法还包括在主机执行以下步骤:预先建立硬盘的若干功耗等级、最大命令单元并发数与期望功耗之间的预设映射关系。
8.在一些实施方式中,所述预先建立硬盘的若干功耗等级、最大命令单元并发数与期望功耗之间的预设映射关系的步骤包括:获取最大功耗模式下所述硬盘的实际功耗,并基于所述实际功耗计算所述硬盘的
最大功耗;调节当前命令单元并发数以计算在预设的命令单元并发数最小阈值下所述硬盘的最小功耗;基于所述最大功耗和所述最小功耗划分所述硬盘的功耗等级;基于划分的功耗等级计算划分的每个功耗等级对应的最大命令单元并发数和对应的期望功耗以建立所述划分的功耗等级、所述划分的每个功耗等级对应的最大命令单元并发数和所述对应的期望功耗之间的预设映射关系。
9.在一些实施方式中,所述获取最大功耗模式下所述硬盘的实际功耗,并基于所述实际功耗计算所述硬盘的最大功耗的步骤包括:在最大功耗模式下,获取预设时间内硬盘的若干实际功耗;计算预设时间内获取的全部实际功耗的平均值以作为所述最大功耗;所述调节当前命令单元并发数以计算在预设的命令单元并发数最小阈值下所述硬盘的最小功耗的步骤包括:将当前命令单元并发数降到所述最小阈值,并计算所述当前命令单元并发数降到所述最小阈值时预设时间内的若干实际功耗的平均值以作为所述最小功耗。
10.在一些实施方式中,方法还包括:在最大功耗模式下,获取对应于所述最大功耗的最大命令单元并发数;所述计算所述当前命令单元并发数降到所述最小阈值时预设时间内的若干实际功耗的平均值以作为所述最小功耗的步骤之后,还包括:将所述最小阈值作为对应于所述最小功耗的最大命令单元并发数。
11.在一些实施方式中,在所述调节当前命令单元并发数以计算在预设的命令单元并发数最小阈值下所述硬盘的最小功耗的步骤之后,还包括:调节所述当前命令单元并发数以计算每个命令单元的均值功耗。
12.在一些实施方式中,所述调节所述当前命令单元并发数以计算每个命令单元的均值功耗的步骤包括:分若干次逐步降低所述硬盘的所述当前命令单元并发数直到降低后的当前命令单元并发数达到所述最小阈值,并计算每次所述当前命令单元并发数降低后的实际功耗的平均值;基于每次所述当前命令单元并发数降低后得到的全部实际功耗的平均值、所述最大功耗和所述最小功耗计算每个命令单元的均值功耗。
13.在一些实施方式中,所述基于划分的功耗等级计算划分的每个功耗等级对应的最大命令单元并发数的步骤包括:将所述对应于所述最大功耗的最大命令单元并发数作为划分的最大功耗等级对应的命令单元并发数;将所述对应于所述最小功耗的最大命令单元并发数作为划分的最小功耗等级对应的命令单元并发数;基于所述最大功耗、所述均值功耗、所述划分的功耗等级和所述对应于所述最小功耗的最大命令单元并发数计算除所述划分的最大功耗等级和所述划分的最小功耗等级之外的功耗等级对应的命令单元并发数。
14.在一些实施方式中,所述基于所述最大功耗、所述均值功耗、所述划分的功耗等级
和所述对应于所述最小功耗的最大命令单元并发数计算除所述划分的最大功耗等级和所述划分的最小功耗等级之外的功耗等级对应的命令单元并发数的步骤包括:基于对应于所述最小功耗的最大命令单元并发数+(最大功耗-划分的功耗等级对应的期望功耗)/每个命令单元的均值功耗计算除所述划分的最大功耗等级和所述划分的最小功耗等级之外的功耗等级对应的命令单元并发数。
15.在一些实施方式中,所述基于划分的功耗等级计算划分的每个功耗等级对应的最大命令单元并发数和对应的期望功耗以建立所述划分的功耗等级、所述划分的每个功耗等级对应的最大命令单元并发数和所述对应的期望功耗之间的预设映射关系的步骤包括:基于划分的功耗等级计算划分的每个功耗等级对应的最大命令单元并发数和对应的期望功耗,生成功耗等级数组和其对应的命令单元调节数组,从而建立所述划分的功耗等级、所述划分的每个功耗等级对应的最大命令单元并发数和所述对应的期望功耗之间的映射关系。
16.在一些实施方式中,所述周期性对比所述硬盘的平均功耗以及对应于所述当前功耗等级的期望功耗的大小,并基于对比结果调节所述当前命令单元并发数以调节所述硬盘的功耗的步骤包括:计算所述硬盘的平均功耗;基于所述预设映射关系获取所述对应于所述当前功耗等级的期望功耗,并对比所述平均功耗以及所述对应于所述当前功耗等级的期望功耗的大小;基于对比结果计算所述硬盘需要调节的命令单元数,并基于计算结果调节所述当前命令单元并发数。
17.在一些实施方式中,所述将设置的所述当前功耗等级同步给低速处理器的步骤包括:将设置的所述当前功耗等级保存在硬盘存储器;所述计算所述硬盘的平均功耗的步骤包括:轮询所述存储器中保存的所述当前功耗等级;响应于所述当前功耗等级从最大功耗等级变化到其他功耗等级,将轮询周期从第一周期更改为小于第一周期的第二周期;在所述第二周期下,计算所述硬盘的平均功耗。
18.在一些实施方式中,所述计算所述硬盘的平均功耗的步骤包括:每隔预设时间获取一次所述硬盘的瞬时功耗;判断所述瞬时功耗的获取次数是否达到获取次数阈值;若达到所述获取次数阈值,基于获取的全部瞬时功耗计算平均功耗。
19.在一些实施方式中,所述基于对比结果计算所述硬盘需要调节的命令单元数的步骤包括:若是所述平均功耗大于所述对应于所述当前功耗等级的期望功耗,则基于(平均功耗-期望功耗)/每个命令单元的均值功耗计算需要减少的命令单元数,并基于所述当前命令单元并发数和所述需要减少的命令单元数计算所述需要调节的命令单元数;若是所述平均功耗小于所述对应于所述当前功耗等级的期望功耗,则基于(期望功耗-平均功耗)/每个命令单元的均值功耗计算需要增加的命令单元数,并基于所述当前命令单元并发数和所述需要增加的命令单元数计算所述需要调节的命令单元数。
20.在一些实施方式中,所述基于所述当前命令单元并发数和所述需要减少的命令单元数计算所述需要调节的命令单元数的步骤包括:
将所述当前命令单元并发数减去所述需要减少的命令单元数再减去1得到所述需要调节的命令单元数;所述基于所述当前命令单元并发数和所述需要增加的命令单元数计算所述需要调节的命令单元数的步骤包括:将所述当前命令单元并发数加上所述需要增加的命令单元数得到所述需要调节的命令单元数。
21.在一些实施方式中,所述基于对比结果计算所述硬盘需要调节的命令单元数的步骤包括:若是所述平均功耗等于所述对应于所述当前功耗等级的期望功耗,则返回所述在所述第二周期下,计算所述硬盘的平均功耗的步骤。
22.在一些实施方式中,所述基于计算结果调节所述当前命令单元并发数的步骤包括:基于计算结果设置所述硬盘的存储控制模块以调节所述当前命令单元并发数。
23.在一些实施方式中,所述获取次数阈值为2的指数倍。
24.在一些实施方式中,方法还包括在主机执行以下步骤:接收用户功耗等级设置指示,并基于所述用户功耗等级设置指示中的功耗等级信息生成功耗等级设置命令,并发送给所述高速处理器。
25.在一些实施方式中,所述基于预设映射关系和所述功耗等级设置命令设置所述硬盘的当前功耗等级和其对应的所述当前命令单元并发数的步骤包括:基于所述预设映射关系和所述功耗等级设置命令中的功耗等级信息获取对应的最大命令单元并发数;基于所述功耗等级设置命令中的功耗等级信息设置所述当前功耗等级,并基于所述对应的最大命令单元并发数设置所述当前命令单元并发数。
26.本发明实施例的另一方面,还提供了一种硬盘功耗调节系统,包括:硬盘高速处理器和硬盘低速处理器,其中,所述硬盘高速处理器配置为响应于接收到功耗等级设置命令,基于所述功耗等级设置命令设置所述硬盘的当前功耗等级和其对应的当前命令单元并发数,并将设置的所述当前功耗等级同步给所述硬盘低速处理器;所述硬盘低速处理器配置为响应于接收到同步过来的所述当前功耗等级,周期性对比所述硬盘的平均功耗以及对应于所述当前功耗等级的期望功耗的大小,并基于对比结果调节所述当前命令单元并发数以调节所述硬盘的功耗。
27.在一些实施方式中,系统还包括主机,所述主机配置为预先建立硬盘的若干功耗等级、最大命令单元并发数与期望功耗之间的预设映射关系。
28.在一些实施方式中,主机配置为:获取最大功耗模式下所述硬盘的实际功耗,并基于所述实际功耗计算所述硬盘的最大功耗;调节当前命令单元并发数以计算在预设的命令单元并发数最小阈值下所述硬盘的最小功耗;基于所述最大功耗和所述最小功耗划分所述硬盘的功耗等级;
基于划分的功耗等级计算划分的每个功耗等级对应的最大命令单元并发数和对应的期望功耗以建立所述划分的功耗等级、所述划分的每个功耗等级对应的最大命令单元并发数和所述对应的期望功耗之间的预设映射关系。
29.在一些实施方式中,主机配置为在最大功耗模式下,获取预设时间内硬盘的若干实际功耗;计算预设时间内获取的全部实际功耗的平均值以作为所述最大功耗。
30.在一些实施方式中,主机配置为将当前命令单元并发数降到所述最小阈值,并计算所述当前命令单元并发数降到所述最小阈值时预设时间内的若干实际功耗的平均值以作为所述最小功耗。
31.在一些实施方式中,主机还配置为在最大功耗模式下,获取对应于所述最大功耗的最大命令单元并发数。
32.在一些实施方式中,主机还配置为将所述最小阈值作为对应于所述最小功耗的最大命令单元并发数。
33.在一些实施方式中,主机还配置为调节所述当前命令单元并发数以计算每个命令单元的均值功耗。
34.在一些实施方式中,主机进一步配置为:分若干次逐步降低所述硬盘的所述当前命令单元并发数直到降低后的当前命令单元并发数达到所述最小阈值,并计算每次所述当前命令单元并发数降低后的实际功耗的平均值;基于每次所述当前命令单元并发数降低后得到的全部实际功耗的平均值、所述最大功耗和所述最小功耗计算每个命令单元的均值功耗。
35.在一些实施方式中,主机进一步配置为:将所述对应于所述最大功耗的最大命令单元并发数作为划分的最大功耗等级对应的命令单元并发数;将所述对应于所述最小功耗的最大命令单元并发数作为划分的最小功耗等级对应的命令单元并发数;基于所述最大功耗、所述均值功耗、所述划分的功耗等级和所述对应于所述最小功耗的最大命令单元并发数计算除所述划分的最大功耗等级和所述划分的最小功耗等级之外的功耗等级对应的命令单元并发数。
36.在一些实施方式中,主机配置为基于对应于所述最小功耗的最大命令单元并发数+(最大功耗-划分的功耗等级对应的期望功耗)/每个命令单元的均值功耗计算除所述划分的最大功耗等级和所述划分的最小功耗等级之外的功耗等级对应的命令单元并发数。
37.在一些实施方式中,主机配置为基于划分的功耗等级计算划分的每个功耗等级对应的最大命令单元并发数和对应的期望功耗,生成功耗等级数组和其对应的命令单元调节数组,从而建立所述划分的功耗等级、所述划分的每个功耗等级对应的最大命令单元并发数和所述对应的期望功耗之间的预设映射关系。
38.在一些实施方式中,低速处理器配置为:计算所述硬盘的平均功耗;基于所述预设映射关系获取所述对应于所述当前功耗等级的期望功耗,并对比所述平均功耗以及所述对应于所述当前功耗等级的期望功耗的大小;
基于对比结果计算所述硬盘需要调节的命令单元数,并基于计算结果调节所述当前命令单元并发数。
39.在一些实施方式中,高速处理器配置为将设置的所述当前功耗等级保存在硬盘存储器;低速处理器配置为轮询所述存储器中保存的所述当前功耗等级;响应于所述当前功耗等级从最大功耗等级变化到其他功耗等级,将轮询周期从第一周期更改为小于第一周期的第二周期;在所述第二周期下,计算所述硬盘的平均功耗。
40.在一些实施方式中,低速处理器进一步配置为:每隔预设时间获取一次所述硬盘的瞬时功耗;判断所述瞬时功耗的获取次数是否达到获取次数阈值;若达到所述获取次数阈值,基于获取的全部瞬时功耗计算平均功耗。
41.在一些实施方式中,低速处理器进一步配置为:若是所述平均功耗大于所述对应于所述当前功耗等级的期望功耗,则基于(平均功耗-期望功耗)/每个命令单元的均值功耗计算需要减少的命令单元数,并基于所述当前命令单元并发数和所述需要减少的命令单元数计算所述需要调节的命令单元数;若是所述平均功耗小于所述对应于所述当前功耗等级的期望功耗,则基于(期望功耗-平均功耗)/每个命令单元的均值功耗计算需要增加的命令单元数,并基于所述当前命令单元并发数和所述需要增加的命令单元数计算所述需要调节的命令单元数。
42.在一些实施方式中,低速处理器进一步配置为:将所述当前命令单元并发数减去所述需要减少的命令单元数再减去1得到所述需要调节的命令单元数;将所述当前命令单元并发数加上所述需要增加的命令单元数得到所述需要调节的命令单元数。
43.在一些实施方式中,低速处理器进一步配置为:若是所述平均功耗等于所述对应于所述当前功耗等级的期望功耗,则返回在所述第二周期下,计算所述硬盘的平均功耗的步骤。
44.在一些实施方式中,低速处理器进一步配置为:基于计算结果设置所述硬盘的存储控制模块以调节所述当前命令单元并发数。
45.在一些实施方式中,所述获取次数阈值为2的指数倍。
46.在一些实施方式中,主机还配置为接收用户功耗等级设置指示,并基于所述用户功耗等级设置指示中的功耗等级信息生成功耗等级设置命令,并发送给所述高速处理器。
47.在一些实施方式中,高速处理器进一步配置为:基于所述预设映射关系和所述功耗等级设置命令中的功耗等级信息获取对应的最大命令单元并发数;基于所述功耗等级设置命令中的功耗等级信息设置所述当前功耗等级,并基于所述对应的最大命令单元并发数设置所述当前命令单元并发数。
48.本发明实施例的又一方面,还提供了一种电子设备,包括:至少一个处理器;以及存储器,所述存储器存储有可在所述处理器上运行的计算机程序,所述计算机程序由所述处理器执行时实现如上方法的步骤。
49.本发明实施例的再一方面,还提供了一种存储介质,存储介质存储有被处理器执行时实现如上方法步骤的计算机程序。
50.本发明至少具有以下有益技术效果:本发明方案,在ssd进行功耗控制时,循环地处理当前ssd的功耗值。为了使循环任务不影响ssd的io(读写)处理流程,可以将此任务放在低速cpu处理。一方面不占用高速cpu的算力,影响ssd的数据io处理;另一方面低速cpu成本较低、功耗小能给ssd和用户带来更大的收益。
51.本发明方案,通过粗调加微调的整体功耗调整策略、优化的平均功耗采样方式以及多cpu协作的方式,实现了固态硬盘功耗的多级精确控制,并且通过动态地调整策略,保证了在设置的功耗等级下,能够最大发挥固态硬盘在此功耗等级下的读写性能;通过多cpu协同处理的方式,即高速cpu和低速cpu结合的工作方式,合理分配各自任务,将该功耗等级下的固态硬盘的性能发挥到最大,提高ssd在低等级功耗时的性能,同时也降低了硬件的成本。
52.本发明方案,通过计算硬盘的最大功耗和最小功耗来划分硬盘的功耗等级,并下发功耗等级设置命令到硬盘,使硬盘基于功耗等级设置命令来调节硬盘功耗,由此实现了硬盘功耗的快速调节。
附图说明
53.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
54.图1为本发明提供的硬盘功耗调节方法的一实施例的流程图;图2为本发明提供的硬盘功耗粗调方法的一实施例的流程图;图3为本发明提供的硬盘功耗微调方法的一实施例的流程图;图4为本发明提供的硬盘功耗调节系统的一实施例的示意图;图5为本发明提供的电子设备的一实施例的结构示意图;图6为本发明提供的存储介质的一实施例的结构示意图。
具体实施方式
55.为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
56.需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
57.基于上述目的,本发明实施例的第一个方面,提出了一种硬盘功耗调节方法。在如图1所示的实施例中,该方法包括在硬盘执行以下步骤:s10、响应于高速处理器接收到功耗等级设置命令,基于所述功耗等级设置命令设置所述硬盘的当前功耗等级和其对应的当前命令单元并发数,将设置的所述当前功耗等级同步给低速处理器。
58.s11、响应于所述低速处理器接收到同步过来的所述当前功耗等级,周期性对比所述硬盘的平均功耗以及对应于所述当前功耗等级的期望功耗的大小,并基于对比结果调节所述当前命令单元并发数以调节所述硬盘的功耗。
59.具体的,在步骤s10中,基于主机侧发来的功耗等级设置命令设置硬盘的当前功耗等级和当前命令单元并发数,当前命令单元并发数基于预设映射关系获取,预设映射关系为若干功耗等级、最大命令单元并发数与期望功耗之间的映射关系,由此在高速处理器(其中,处理器简称cpu)实现了对硬盘的快速粗调。高速处理器完成当前功耗等级和命令单元并发数的设定后,将设置后的当前功耗等级同步给低速处理器。
60.步骤s11是对功耗的微调过程,可以在低速处理器进行,不占用高速处理器的算力,将硬盘在目前功耗等级下的读写性能发挥到最大,提高了硬盘的性能。由于硬盘运行过程中,功耗为实时波动的,因此,对硬盘进行粗调后,只能保证硬盘的功耗在设置的功耗等级对应的期望功耗附近,因此通过循环进行的微调过程,使波动的实时功耗能够一直接近期望功耗。
61.具体的微调过程为低速处理器检测到高速处理器同步过来的功耗等级后,周期性计算硬盘的平均功耗;基于预设映射关系获取对应于当前功耗等级的期望功耗,并对比平均功耗以及对应于当前功耗等级的期望功耗的大小;基于对比结果计算硬盘需要调节的命令单元数,并基于计算结果调节当前命令单元并发数以微调硬盘的实时功耗。
62.本发明实施例可以应用于固态硬盘的功耗调节。本发明实施例中命令单元可以为固态硬盘闪存的最小命令单元,最小命令单元可以简称为lun。
63.上述方案,通过粗调加微调的整体功耗调整策略以及多cpu协作的方式,实现了固态硬盘功耗的多级精确控制,并且通过动态地调整策略,保证了在设置的功耗等级下,能够最大发挥固态硬盘在此功耗等级下的读写性能;通过多cpu协同处理的方式,即高速cpu和低速cpu结合的工作方式,合理分配各自任务,将该功耗等级下的固态硬盘的性能发挥到最大。
64.在一些实施方式中,方法还包括在主机执行以下步骤:预先建立硬盘的若干功耗等级、最大命令单元并发数与期望功耗之间的预设映射关系。
65.在一些实施方式中,所述预先建立硬盘的若干功耗等级、最大命令单元并发数与期望功耗之间的预设映射关系的步骤包括:获取最大功耗模式下所述硬盘的实际功耗,并基于所述实际功耗计算所述硬盘的最大功耗;调节当前命令单元并发数以计算在预设的命令单元并发数最小阈值下所述硬盘的最小功耗;基于所述最大功耗和所述最小功耗划分所述硬盘的功耗等级;基于划分的功耗等级计算划分的每个功耗等级对应的最大命令单元并发数和对应的期望功耗以建立所述划分的功耗等级、所述划分的每个功耗等级对应的最大命令单元并发数和所述对应的期望功耗之间的预设映射关系。
66.具体的,获取硬盘一段时间内的实时功耗,由于此处目的在于计算最大功耗,因此可以将固态硬盘的io性能跑满,以使固态硬盘工作在最大功耗模式下,然后计算一段时间内获取的实时功耗均值,得到最大功耗,之后逐步降低固态硬盘的lun并发数,直到lun并发
数降到最低,基于最大功耗的计算方法计算最小功耗。
67.根据客户需求来为固态硬盘划分若干功耗等级,计算每个功耗等级对应的期望功耗,最大功耗等级对应最大功耗,最小功耗等级对应最小功耗,保证其他功耗等级对应的期望功耗值在最大功耗值和最小功耗值之间,计算每个功耗等级对应的lun并发数,由此得到每个功耗等级、lun并发数和期望功耗之间的映射关系。基于该映射关系,可以实现硬盘功耗等级的快速粗调。
68.在一些实施方式中,所述获取最大功耗模式下所述硬盘的实际功耗,并基于所述实际功耗计算所述硬盘的最大功耗的步骤包括:在最大功耗模式下,获取预设时间内硬盘的若干实际功耗;计算预设时间内获取的全部实际功耗的平均值以作为所述最大功耗;所述调节当前命令单元并发数以计算在预设的命令单元并发数最小阈值下所述硬盘的最小功耗的步骤包括:将当前命令单元并发数降到所述最小阈值,并计算所述当前命令单元并发数降到所述最小阈值时预设时间内的若干实际功耗的平均值以作为所述最小功耗。
69.在一些实施方式中,方法还包括:在最大功耗模式下,获取对应于所述最大功耗的最大命令单元并发数;所述计算所述当前命令单元并发数降到所述最小阈值时预设时间内的若干实际功耗的平均值以作为所述最小功耗的步骤之后,还包括:将所述最小阈值作为对应于所述最小功耗的最大命令单元并发数。
70.在一些实施方式中,在所述调节当前命令单元并发数以计算在预设的命令单元并发数最小阈值下所述硬盘的最小功耗的步骤之后,还包括:调节所述当前命令单元并发数以计算每个命令单元的均值功耗。
71.在一些实施方式中,所述调节所述当前命令单元并发数以计算每个命令单元的均值功耗的步骤包括:分若干次逐步降低所述硬盘的所述当前命令单元并发数直到降低后的当前命令单元并发数达到所述最小阈值,并计算每次所述当前命令单元并发数降低后的实际功耗的平均值;基于每次所述当前命令单元并发数降低后得到的全部实际功耗的平均值、所述最大功耗和所述最小功耗计算每个命令单元的均值功耗。
72.在一些实施方式中,所述基于划分的功耗等级计算划分的每个功耗等级对应的最大命令单元并发数的步骤包括:将所述对应于所述最大功耗的最大命令单元并发数作为划分的最大功耗等级对应的命令单元并发数;将所述对应于所述最小功耗的最大命令单元并发数作为划分的最小功耗等级对应的命令单元并发数;基于所述最大功耗、所述均值功耗、所述划分的功耗等级和所述对应于所述最小功耗的最大命令单元并发数计算除所述划分的最大功耗等级和所述划分的最小功耗等级之外的功耗等级对应的命令单元并发数。
73.下面通过具体实施例对功耗等级划分的具体过程进行说明,应当理解,此处所描述的实施例仅用于说明和解释本发明,并不用于限定本发明。
74.在本发明实施例中,通过使当前ssd在最大功耗的工作条件下,由此确认每条lun的大致功耗值。具体的过程如下:a)通过io测试命令,把ssd的io性能跑满,使ssd工作在最大功耗模式下;b)为保证数据的有效性和代表性,长时间获取当前ssd的实际功耗并计算其平均值,记为,同时记为,此时lun数为;c)通过调试命令,逐步降低fcc的最大lun并发,每次降低1个lun,再次获取ssd的当前功耗平均值,记为;d)重复步骤c),直到lun可设置的最低值,记录平均功耗数据,此时就是ssd的最小正常运行功耗值,同时记为;e)通过公式,可以得到每个lun的均值功耗;f)ssd具体的要分为多少个功耗等级,根据客户需求来确定,使划分的功耗等级对应的期望功耗值落在最大功耗值和最小功耗值之间的范围内。
75.上述方案,通过客户需求与计算得到的硬盘的最大功耗和最小功耗来划分硬盘的功耗等级,实现了硬盘功耗等级的动态调节,实现方式简单,可以满足不同的客户需求。
76.在一些实施方式中,所述基于所述最大功耗、所述均值功耗、所述划分的功耗等级和所述对应于所述最小功耗的最大命令单元并发数计算除所述划分的最大功耗等级和所述划分的最小功耗等级之外的功耗等级对应的命令单元并发数的步骤包括:基于对应于所述最小功耗的最大命令单元并发数+(最大功耗-划分的功耗等级对应的期望功耗)/每个命令单元的均值功耗计算除所述划分的最大功耗等级和所述划分的最小功耗等级之外的功耗等级对应的命令单元并发数。
77.在一些实施方式中,所述基于划分的功耗等级计算划分的每个功耗等级对应的最大命令单元并发数和对应的期望功耗以建立所述划分的功耗等级、所述划分的每个功耗等级对应的最大命令单元并发数和所述对应的期望功耗之间的预设映射关系的步骤包括:基于划分的功耗等级计算划分的每个功耗等级对应的最大命令单元并发数和对应的期望功耗生成功耗等级数组和其对应的命令单元调节数组,从而建立所述划分的功耗等级、所述划分的每个功耗等级对应的最大命令单元并发数和所述对应的期望功耗之间的预设映射关系。
78.具体的,功耗等级数组里包含每个功耗等级对应的期望功耗值,命令单元调节数组里包含每个功耗等级对应的命令单元并发数量,功耗等级数组和命令单元调节数组相对应,通过功耗等级数组和命令单元调节数组可以使固态硬盘快速获取到功耗等级设置命令里需要调节的功耗等级对应的命令单元并发数量和期望功耗值,由此实现了硬盘功耗的快速调节。
79.下面通过具体实施例对生成功耗等级数组和命令单元调节数组的具体过程进行说明,应当理解,此处所描述的实施例仅用于说明和解释本发明,并不用于限定本发明。
80.以设置4个功耗等级、、为例,其中,表示最大功耗等级,表示最低功耗等级,对应的期望功耗分别对应和,中间两个功耗等级为和。
和对应的粗调lun数就为和,那么所对应的粗调lun数,需要根据公式计算得出,其中,n=1,2,3,4
……
,由此得到,。
81.通过上述计算,可以得到对应四个功耗等级、、的功耗等级数组和命令单元调节数组。
82.功耗等级数组记为power_array[4]:{,,}。
[0083]
命令单元调节数组记为power_lun[4]:{}。
[0084]
在一些实施方式中,所述将设置的所述当前功耗等级同步给硬盘低速处理器的步骤包括:将设置的所述当前功耗等级保存在硬盘存储器;所述计算所述硬盘的平均功耗的步骤包括:轮询所述存储器中保存的所述当前功耗等级;响应于所述当前功耗等级从最大功耗等级变化到其他功耗等级,将轮询周期从第一周期更改为小于第一周期的第二周期;在所述第二周期下,计算所述硬盘的平均功耗。
[0085]
具体的,高速处理器设置的功耗等级可以基于全局变量记录,该全局变量可以保存在dram(dynamic random access memory,动态随机存取存储器)中,由此使设置的功耗等级可以在多个cpu之间共享。
[0086]
在一些实施方式中,所述计算所述硬盘的平均功耗的步骤包括:每隔预设时间获取一次所述硬盘的瞬时功耗;判断所述瞬时功耗的获取次数是否达到获取次数阈值;若达到所述获取次数阈值,基于获取的全部瞬时功耗计算平均功耗。
[0087]
在一些实施方式中,所述基于对比结果计算所述硬盘需要调节的命令单元数的步骤包括:若是所述平均功耗大于所述对应于所述当前功耗等级的期望功耗,则基于(平均功耗-期望功耗)/每个命令单元的均值功耗计算需要减少的命令单元数,并基于所述当前命令单元并发数和所述需要减少的命令单元数计算所述需要调节的命令单元数;若是所述平均功耗小于所述对应于所述当前功耗等级的期望功耗,则基于(期望功耗-平均功耗)/每个命令单元的均值功耗计算需要增加的命令单元数,并基于所述当前命令单元并发数和所述需要增加的命令单元数计算所述需要调节的命令单元数。
[0088]
本发明实施例,通过根据实际应用场景计算需要减少的命令单元数或需要增加的命令单元数,由此实现对硬盘功耗的微调,提高了功耗调节的准确性,保证了在设置的功耗等级下,能够最大发挥固态硬盘在此功耗等级下的读写性能,尤其在低功耗等级下,对硬盘读写性能的提升效果更为明显。
[0089]
在一些实施方式中,所述基于所述当前命令单元并发数和所述需要减少的命令单元数计算所述需要调节的命令单元数的步骤包括:将所述当前命令单元并发数减去所述需要减少的命令单元数再减去1得到所述需要调节的命令单元数;所述基于所述当前命令单元并发数和所述需要增加的命令单元数计算所述需要调节的命令单元数的步骤包括:将所述当前命令单元并发数加上所述需要增加的命令单元数得到所述需要调节
的命令单元数。
[0090]
本发明实施例在调低功耗时,为了保证需要调节的功耗不超过功耗等级所设置的功耗值,会通过如下的计算方式计算需要调整的lun数:当平均功耗大于期望功耗时,需要调节的命令单元数=当前命令单元并发数-需要减少的命令单元数-1;当平均功耗小于期望功耗时,需要调节的命令单元数=当前命令单元并发数+需要增加的命令单元数,由此进一步提高了功耗调节的准确性。
[0091]
在一些实施方式中,所述基于对比结果计算所述硬盘需要调节的命令单元数的步骤包括:若是所述平均功耗等于所述对应于所述当前功耗等级的期望功耗,则返回所述在所述第二周期下,计算所述硬盘的平均功耗的步骤。
[0092]
在一些实施方式中,所述基于计算结果调节所述当前命令单元并发数的步骤包括:基于计算结果设置所述硬盘的存储控制模块以调节所述当前命令单元并发数。
[0093]
在一些实施方式中,所述获取次数阈值为2的指数倍。
[0094]
具体的,为了节省处理器计算功耗平均值的时间,将阈值设置为2的指数倍,由于提高了处理器的处理速度。
[0095]
在一些实施方式中,方法还包括在主机执行以下步骤:接收用户功耗等级设置指示,并基于所述用户功耗等级设置指示中的功耗等级信息生成功耗等级设置命令,并发送给所述高速处理器。
[0096]
在一些实施方式中,所述基于预设映射关系和所述功耗等级设置命令设置所述硬盘的当前功耗等级和当前命令单元并发数的步骤包括:基于所述预设映射关系和所述功耗等级设置命令中的功耗等级信息获取对应的最大命令单元并发数;基于所述功耗等级设置命令中的功耗等级信息设置所述当前功耗等级,并基于所述对应的最大命令单元并发数设置所述当前命令单元并发数。
[0097]
下面通过具体实施例对粗调过程进行说明,应当理解,此处所描述的实施例仅用于说明和解释本发明,并不用于限定本发明。
[0098]
如图2所示,具体的硬盘功耗粗调过程如下:高速cpu接收到主机侧通过nvme(nonvolatile memory express,非易失性内存接口规范)下发的功耗等级设置命令,设置当前ssd的功耗等级。假设用户设置功耗等级为2,高速cpu的命令处理任务,从命令单元调节数组中取出数组下标为2的lun并发数值,并通过fcc的并发lun设置接口,设置当前ssd的最大lun并发数,从而达到快速粗调功耗的目的。
[0099]
粗调完毕之后,再将用户设置的功耗等级通过同步机制同步给低速cpu。至此功耗调整逻辑中,高速cpu的工作就处理完了。
[0100]
下面通过具体实施例对微调过程进行说明,应当理解,此处所描述的实施例仅用于说明和解释本发明,并不用于限定本发明。
[0101]
如图3所示,在低速处理器上执行硬盘功耗的微调过程,具体的硬盘功耗微调过程如下:1)正常情况下,每5s轮询处理一次。当检测到有高速处理器同步过来的功耗等级
,将自身的轮询时间修改为2s一次;2)开启定时器,每100ms获取一次当前ssd的瞬时功耗值;总共收集16次功耗,如果16次功耗数据已经收集够,则直接退出定时处理逻辑;此处16次是为了在后续的均值计算时,方便将除法计算转换为位移处理,由此可以使得cpu节省一个数量级的处理时间。在应用中只要将此数值设置为2的指数倍,都可以加快处理器的处理速度;3)在2s一次的功耗管理的循环处理任务中,检测当前收集的瞬时功耗值是否收集够16组;4)如果收集够16组数据,则关闭定时器,并对16组功耗数据计算平均值,在本实施例中,表示16组瞬时功耗数据的平均值,表示16组瞬时功耗数据的和,为右移符号;5)通过同步过来的功耗等级,从功耗等级数组power_array[n]得到期望功耗,其中,n表示功耗等级数组中功耗等级的数量;6)判断和的大小关系当时,通过计算出需要减少的lun数,其中,表示均值功耗;当时,通过计算出需要增加的lun数。
[0102]
当时,则说明功耗不需要调整,回到步骤2),重新开始继续收集下一组16个功耗数据。
[0103]
7)通过步骤6),发现需要调整功耗时,通过lun并发获取借口获取当前ssd的并发lun数。在调低功耗的时候,为了保证需求中要求的功耗不能超过功耗等级所设置的功耗值,因此,此处将步骤6得到的需要增加的lun数,多往下调整一个lun数。需要调节的命令单元数的计算方式为:当时,。
[0104]
当时,。
[0105]
8)通过fcc的lun并发设置接口,将计算得出的设置给fcc控制器。
[0106]
整个微调流程一直会循环在低速cpu上执行,来实时检测微调ssd的均值功耗,直到用户关闭功耗等级管理功能为止。
[0107]
上述方案,在ssd进行功耗控制时,循环地处理当前ssd的功耗值。为了使循环任务不影响ssd的io(读写)处理流程,可以将此任务放在低速cpu处理。一方面不占用高速cpu的算力,影响ssd的数据io处理;另一方面低速cpu成本较低、功耗小能给ssd和用户带来更大的收益。
[0108]
上述方案,通过粗调加微调的整体功耗调整策略、优化的平均功耗采样方式以及多cpu协作的方式,实现了固态硬盘功耗的多级精确控制,并且通过动态地调整策略,保证
了在设置的功耗等级下,能够最大发挥固态硬盘在此功耗等级下的读写性能;通过多cpu协同处理的方式,即高速cpu和低速cpu结合的工作方式,合理分配各自任务,将该功耗等级下的固态硬盘的性能发挥到最大,提高ssd在低等级功耗时的性能,同时也降低了硬件的成本。
[0109]
基于同一发明构思,根据本发明的另一个方面,如图4所示,本发明的实施例还提供了一种硬盘功耗调节系统,包括:硬盘高速处理器10和硬盘低速处理器20,其中,所述硬盘高速处理器配置为响应于接收到功耗等级设置命令,基于所述功耗等级设置命令设置所述硬盘的当前功耗等级和当前命令单元并发数,并将设置的所述当前功耗等级同步给所述硬盘低速处理器;所述硬盘低速处理器配置为响应于接收到同步过来的所述当前功耗等级,周期性对比所述硬盘的平均功耗以及对应于所述当前功耗等级的期望功耗的大小,并基于对比结果调节所述当前命令单元并发数以调节所述硬盘的功耗。
[0110]
在一些实施方式中,系统还包括主机,所述主机配置为预先建立硬盘的若干功耗等级、最大命令单元并发数与期望功耗之间的预设映射关系。
[0111]
在一些实施方式中,主机配置为:获取最大功耗模式下所述硬盘的实际功耗,并基于所述实际功耗计算所述硬盘的最大功耗;调节当前命令单元并发数以计算在预设的命令单元并发数最小阈值下所述硬盘的最小功耗;基于所述最大功耗和所述最小功耗划分所述硬盘的功耗等级;基于划分的功耗等级计算划分的每个功耗等级对应的最大命令单元并发数和对应的期望功耗以建立所述划分的功耗等级、所述划分的每个功耗等级对应的最大命令单元并发数和所述对应的期望功耗之间的预设映射关系。
[0112]
在一些实施方式中,主机配置为在最大功耗模式下,获取预设时间内硬盘的若干实际功耗;计算预设时间内获取的全部实际功耗的平均值以作为所述最大功耗。
[0113]
在一些实施方式中,主机配置为将当前命令单元并发数降到所述最小阈值,并计算所述当前命令单元并发数降到所述最小阈值时预设时间内的若干实际功耗的平均值以作为所述最小功耗。
[0114]
在一些实施方式中,主机还配置为在最大功耗模式下,获取对应于所述最大功耗的最大命令单元并发数;在一些实施方式中,主机还配置为将所述最小阈值作为对应于所述最小功耗的最大命令单元并发数。
[0115]
在一些实施方式中,主机还配置为调节所述当前命令单元并发数以计算每个命令单元的均值功耗。
[0116]
在一些实施方式中,主机进一步配置为:分若干次逐步降低所述硬盘的所述当前命令单元并发数直到降低后的当前命令单元并发数达到所述最小阈值,并计算每次所述当前命令单元并发数降低后的实际功耗的平均值;基于每次所述当前命令单元并发数降低后得到的全部实际功耗的平均值、所述最
大功耗和所述最小功耗计算每个命令单元的均值功耗。
[0117]
在一些实施方式中,主机进一步配置为:将所述对应于所述最大功耗的最大命令单元并发数作为划分的最大功耗等级对应的命令单元并发数;将所述对应于所述最小功耗的最大命令单元并发数作为划分的最小功耗等级对应的命令单元并发数;基于所述最大功耗、所述均值功耗、所述划分的功耗等级和所述对应于所述最小功耗的最大命令单元并发数计算除所述划分的最大功耗等级和所述划分的最小功耗等级之外的功耗等级对应的命令单元并发数。
[0118]
在一些实施方式中,主机配置为基于对应于所述最小功耗的最大命令单元并发数+(最大功耗-划分的功耗等级对应的期望功耗)/每个命令单元的均值功耗计算除所述划分的最大功耗等级和所述划分的最小功耗等级之外的功耗等级对应的命令单元并发数。
[0119]
在一些实施方式中,主机配置为基于划分的功耗等级计算划分的每个功耗等级对应的最大命令单元并发数和对应的期望功耗,生成功耗等级数组和其对应的命令单元调节数组,从而建立所述划分的功耗等级、所述划分的每个功耗等级对应的最大命令单元并发数和所述对应的期望功耗之间的预设映射关系。
[0120]
在一些实施方式中,低速处理器配置为:计算所述硬盘的平均功耗;基于所述预设映射关系获取所述对应于所述当前功耗等级的期望功耗,并对比所述平均功耗以及所述对应于所述当前功耗等级的期望功耗的大小;基于对比结果计算所述硬盘需要调节的命令单元数,并基于计算结果调节所述当前命令单元并发数。
[0121]
在一些实施方式中,高速处理器配置为将设置的所述当前功耗等级保存在硬盘存储器;低速处理器配置为轮询所述存储器中保存的所述当前功耗等级;响应于所述当前功耗等级从最大功耗等级变化到其他功耗等级,将轮询周期从第一周期更改为小于第一周期的第二周期;在所述第二周期下,计算所述硬盘的平均功耗。
[0122]
在一些实施方式中,低速处理器进一步配置为:每隔预设时间获取一次所述硬盘的瞬时功耗;判断所述瞬时功耗的获取次数是否达到获取次数阈值;若达到所述获取次数阈值,基于获取的全部瞬时功耗计算平均功耗。
[0123]
在一些实施方式中,低速处理器进一步配置为:若是所述平均功耗大于所述对应于所述当前功耗等级的期望功耗,则基于(平均功耗-期望功耗)/每个命令单元的均值功耗计算需要减少的命令单元数,并基于所述当前命令单元并发数和所述需要减少的命令单元数计算所述需要调节的命令单元数;若是所述平均功耗小于所述对应于所述当前功耗等级的期望功耗,则基于(期望功耗-平均功耗)/每个命令单元的均值功耗计算需要增加的命令单元数,并基于所述当前命令单元并发数和所述需要增加的命令单元数计算所述需要调节的命令单元数。
[0124]
在一些实施方式中,低速处理器进一步配置为:
将所述当前命令单元并发数减去所述需要减少的命令单元数再减去1得到所述需要调节的命令单元数;将所述当前命令单元并发数加上所述需要增加的命令单元数得到所述需要调节的命令单元数。
[0125]
在一些实施方式中,低速处理器进一步配置为:若是所述平均功耗等于所述对应于所述当前功耗等级的期望功耗,则返回在所述第二周期下,计算所述硬盘的平均功耗的步骤。
[0126]
在一些实施方式中,低速处理器进一步配置为:基于计算结果设置所述硬盘的存储控制模块以调节所述当前命令单元并发数。
[0127]
在一些实施方式中,所述获取次数阈值为2的指数倍。
[0128]
在一些实施方式中,主机还配置为接收用户功耗等级设置指示,并基于所述用户功耗等级设置指示中的功耗等级信息生成功耗等级设置命令,并发送给所述高速处理器。
[0129]
在一些实施方式中,高速处理器进一步配置为:基于所述预设映射关系和所述功耗等级设置命令中的功耗等级信息获取对应的最大命令单元并发数;基于所述功耗等级设置命令中的功耗等级信息设置所述当前功耗等级,并基于所述对应的最大命令单元并发数设置所述当前命令单元并发数。
[0130]
基于同一发明构思,根据本发明的另一个方面,如图5所示,本发明的实施例还提供了一种电子设备30,在该电子设备30中包括处理器310以及存储器320,存储器320存储有可在处理器上运行的计算机程序321,处理器310执行程序时执行如上的方法的步骤。
[0131]
其中,存储器作为一种非易失性存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本技术实施例中的所述硬盘功耗调节方法对应的程序指令/模块。处理器通过运行存储在存储器中的非易失性软件程序、指令以及模块,从而执行系统的各种功能应用以及数据处理,即实现上述方法实施例的硬盘功耗调节方法。
[0132]
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据系统的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至本地模块。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0133]
基于同一发明构思,根据本发明的另一个方面,如图6所示,本发明的实施例还提供了一种存储介质40,存储介质40存储有被处理器执行时执行如上方法的计算机程序410。
[0134]
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

技术特征:
1.一种硬盘功耗调节方法,其特征在于,包括在硬盘执行以下步骤:响应于高速处理器接收到功耗等级设置命令,基于所述功耗等级设置命令设置所述硬盘的当前功耗等级和其对应的当前命令单元并发数,并将设置的所述当前功耗等级同步给低速处理器;响应于所述低速处理器接收到同步过来的所述当前功耗等级,周期性对比所述硬盘的平均功耗以及对应于所述当前功耗等级的期望功耗的大小,并基于对比结果调节所述当前命令单元并发数以调节所述硬盘的功耗。2.根据权利要求1所述的方法,其特征在于,所述基于所述功耗等级设置命令设置所述硬盘的当前功耗等级和其对应的当前命令单元并发数的步骤包括:基于预设映射关系和所述功耗等级设置命令设置所述硬盘的当前功耗等级和其对应的所述当前命令单元并发数。3.根据权利要求2所述的方法,其特征在于,还包括在主机执行以下步骤:预先建立硬盘的若干功耗等级、最大命令单元并发数与期望功耗之间的所述预设映射关系。4.根据权利要求3所述的方法,其特征在于,所述预先建立硬盘的若干功耗等级、最大命令单元并发数与期望功耗之间的所述预设映射关系的步骤包括:获取最大功耗模式下所述硬盘的实际功耗,并基于所述实际功耗计算所述硬盘的最大功耗;调节当前命令单元并发数以计算在预设的命令单元并发数最小阈值下所述硬盘的最小功耗;基于所述最大功耗和所述最小功耗划分所述硬盘的功耗等级;基于划分的功耗等级计算划分的每个功耗等级对应的最大命令单元并发数和对应的期望功耗以建立所述划分的功耗等级、所述划分的每个功耗等级对应的最大命令单元并发数和所述对应的期望功耗之间的所述预设映射关系。5.根据权利要求4所述的方法,其特征在于,所述获取最大功耗模式下所述硬盘的实际功耗,并基于所述实际功耗计算所述硬盘的最大功耗的步骤包括:在最大功耗模式下,获取预设时间内硬盘的若干实际功耗;计算预设时间内获取的全部实际功耗的平均值以作为所述最大功耗;所述调节当前命令单元并发数以计算在预设的命令单元并发数最小阈值下所述硬盘的最小功耗的步骤包括:将当前命令单元并发数降到所述最小阈值,并计算所述当前命令单元并发数降到所述最小阈值时预设时间内的若干实际功耗的平均值以作为所述最小功耗。6.根据权利要求5所述的方法,其特征在于,还包括:在最大功耗模式下,获取对应于所述最大功耗的最大命令单元并发数;所述计算所述当前命令单元并发数降到所述最小阈值时预设时间内的若干实际功耗的平均值以作为所述最小功耗的步骤之后,还包括:将所述最小阈值作为对应于所述最小功耗的最大命令单元并发数。7.根据权利要求6所述的方法,其特征在于,在所述调节当前命令单元并发数以计算在预设的命令单元并发数最小阈值下所述硬盘的最小功耗的步骤之后,还包括:调节所述当前命令单元并发数以计算每个命令单元的均值功耗。
8.根据权利要求7所述的方法,其特征在于,所述调节所述当前命令单元并发数以计算每个命令单元的均值功耗的步骤包括:分若干次逐步降低所述硬盘的所述当前命令单元并发数直到降低后的当前命令单元并发数达到所述最小阈值,并计算每次所述当前命令单元并发数降低后的实际功耗的平均值;基于每次所述当前命令单元并发数降低后得到的全部实际功耗的平均值、所述最大功耗和所述最小功耗计算每个命令单元的均值功耗。9.根据权利要求8所述的方法,其特征在于,所述基于划分的功耗等级计算划分的每个功耗等级对应的最大命令单元并发数的步骤包括:将所述对应于所述最大功耗的最大命令单元并发数作为划分的最大功耗等级对应的命令单元并发数;将所述对应于所述最小功耗的最大命令单元并发数作为划分的最小功耗等级对应的命令单元并发数;基于所述最大功耗、所述均值功耗、所述划分的功耗等级和所述对应于所述最小功耗的最大命令单元并发数计算除所述划分的最大功耗等级和所述划分的最小功耗等级之外的功耗等级对应的命令单元并发数。10.根据权利要求9所述的方法,其特征在于,所述基于所述最大功耗、所述均值功耗、所述划分的功耗等级和所述对应于所述最小功耗的最大命令单元并发数计算除所述划分的最大功耗等级和所述划分的最小功耗等级之外的功耗等级对应的命令单元并发数的步骤包括:基于对应于所述最小功耗的最大命令单元并发数+(最大功耗-划分的功耗等级对应的期望功耗)/每个命令单元的均值功耗计算除所述划分的最大功耗等级和所述划分的最小功耗等级之外的功耗等级对应的命令单元并发数。11.根据权利要求4所述的方法,其特征在于,所述基于划分的功耗等级计算划分的每个功耗等级对应的最大命令单元并发数和对应的期望功耗以建立所述划分的功耗等级、所述划分的每个功耗等级对应的最大命令单元并发数和所述对应的期望功耗之间的所述预设映射关系的步骤包括:基于划分的功耗等级计算划分的每个功耗等级对应的最大命令单元并发数和对应的期望功耗,生成功耗等级数组和其对应的命令单元调节数组,从而建立所述划分的功耗等级、所述划分的每个功耗等级对应的最大命令单元并发数和所述对应的期望功耗之间的预设映射关系。12.根据权利要求2所述的方法,其特征在于,所述周期性对比所述硬盘的平均功耗以及对应于所述当前功耗等级的期望功耗的大小,并基于对比结果调节所述当前命令单元并发数以调节所述硬盘的功耗的步骤包括:计算所述硬盘的平均功耗;基于所述预设映射关系获取所述对应于所述当前功耗等级的期望功耗,并对比所述平均功耗以及所述对应于所述当前功耗等级的期望功耗的大小;基于对比结果计算所述硬盘需要调节的命令单元数,并基于计算结果调节所述当前命令单元并发数。
13.根据权利要求12所述的方法,其特征在于,所述将设置的所述当前功耗等级同步给低速处理器的步骤包括:将设置的所述当前功耗等级保存在硬盘存储器;所述计算所述硬盘的平均功耗的步骤包括:轮询所述存储器中保存的所述当前功耗等级;响应于所述当前功耗等级从最大功耗等级变化到其他功耗等级,将轮询周期从第一周期更改为小于第一周期的第二周期;在所述第二周期下,计算所述硬盘的平均功耗。14.根据权利要求12所述的方法,其特征在于,所述计算所述硬盘的平均功耗的步骤包括:每隔预设时间获取一次所述硬盘的瞬时功耗;判断所述瞬时功耗的获取次数是否达到获取次数阈值;若达到所述获取次数阈值,基于获取的全部瞬时功耗计算所述平均功耗。15.根据权利要求12所述的方法,其特征在于,所述基于对比结果计算所述硬盘需要调节的命令单元数的步骤包括:若是所述平均功耗大于所述对应于所述当前功耗等级的期望功耗,则基于(平均功耗-期望功耗)/每个命令单元的均值功耗计算需要减少的命令单元数,并基于所述当前命令单元并发数和所述需要减少的命令单元数计算所述需要调节的命令单元数;若是所述平均功耗小于所述对应于所述当前功耗等级的期望功耗,则基于(期望功耗-平均功耗)/每个命令单元的均值功耗计算需要增加的命令单元数,并基于所述当前命令单元并发数和所述需要增加的命令单元数计算所述需要调节的命令单元数。16.根据权利要求15所述的方法,其特征在于,所述基于所述当前命令单元并发数和所述需要减少的命令单元数计算所述需要调节的命令单元数的步骤包括:将所述当前命令单元并发数减去所述需要减少的命令单元数再减去1得到所述需要调节的命令单元数;所述基于所述当前命令单元并发数和所述需要增加的命令单元数计算所述需要调节的命令单元数的步骤包括:将所述当前命令单元并发数加上所述需要增加的命令单元数得到所述需要调节的命令单元数。17.根据权利要求13所述的方法,其特征在于,所述基于对比结果计算所述硬盘需要调节的命令单元数的步骤包括:若是所述平均功耗等于所述对应于所述当前功耗等级的期望功耗,则返回所述在所述第二周期下,计算所述硬盘的平均功耗的步骤。18.根据权利要求12所述的方法,其特征在于,所述基于计算结果调节所述当前命令单元并发数的步骤包括:基于计算结果设置所述硬盘的存储控制模块以调节所述当前命令单元并发数。19.根据权利要求14所述的方法,其特征在于,所述获取次数阈值为2的指数倍。20.根据权利要求1所述的方法,其特征在于,还包括在主机执行以下步骤:接收用户功耗等级设置指示,并基于所述用户功耗等级设置指示中的功耗等级信息生成所述功耗等级设置命令,并发送给所述高速处理器。21.根据权利要求3所述的方法,其特征在于,所述基于预设映射关系和所述功耗等级设置命令设置所述硬盘的当前功耗等级和其对应的所述当前命令单元并发数的步骤包括:基于所述预设映射关系和所述功耗等级设置命令中的功耗等级信息获取对应的最大命令单元并发数;
基于所述功耗等级设置命令中的功耗等级信息设置所述当前功耗等级,并基于所述对应的最大命令单元并发数设置所述当前命令单元并发数。22.一种硬盘功耗调节系统,其特征在于,包括:硬盘高速处理器和硬盘低速处理器,其中,所述硬盘高速处理器配置为响应于接收到功耗等级设置命令,基于所述功耗等级设置命令设置所述硬盘的当前功耗等级和其对应的当前命令单元并发数,并将设置的所述当前功耗等级同步给所述硬盘低速处理器;所述硬盘低速处理器配置为响应于接收到同步过来的所述当前功耗等级,周期性对比所述硬盘的平均功耗以及对应于所述当前功耗等级的期望功耗的大小,并基于对比结果调节所述当前命令单元并发数以调节所述硬盘的功耗。23.一种电子设备,包括:至少一个处理器;以及存储器,所述存储器存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时执行如权利要求1至21任意一项所述的方法的步骤。24.一种存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时执行如权利要求1至21任意一项所述的方法的步骤。

技术总结
本发明涉及存储技术领域,并公开了一种硬盘功耗调节方法、系统、电子设备及存储介质,方法包括在硬盘执行以下步骤:响应于高速处理器接收到功耗等级设置命令,基于功耗等级设置命令设置硬盘的当前功耗等级和其对应的当前命令单元并发数,并将设置的当前功耗等级同步给低速处理器,响应于低速处理器接收到同步过来的当前功耗等级,周期性对比硬盘的平均功耗以及对应于当前功耗等级的期望功耗的大小,并基于对比结果调节当前命令单元并发数以调节硬盘的功耗。通过本发明的方案,实现了硬盘功耗的多级精确控制,并且在设置的功耗等级下,能够最大程度发挥固态硬盘在此功耗等级下的读写性能。写性能。写性能。


技术研发人员:费卫宏 王萌萌 刘国华
受保护的技术使用者:苏州浪潮智能科技有限公司
技术研发日:2023.07.10
技术公布日:2023/8/9
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐