CN116301662B - 一种固态硬盘功耗管理方法及固态硬盘 - Google Patents
一种固态硬盘功耗管理方法及固态硬盘 Download PDFInfo
- Publication number
- CN116301662B CN116301662B CN202310531703.6A CN202310531703A CN116301662B CN 116301662 B CN116301662 B CN 116301662B CN 202310531703 A CN202310531703 A CN 202310531703A CN 116301662 B CN116301662 B CN 116301662B
- Authority
- CN
- China
- Prior art keywords
- solid state
- state disk
- threshold range
- task
- performance
- 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
- 239000007787 solid Substances 0.000 title claims abstract description 166
- 238000007726 management method Methods 0.000 title abstract description 13
- 238000000034 method Methods 0.000 claims abstract description 35
- 230000007246 mechanism Effects 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 7
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000020169 heat generation Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000017525 heat dissipation Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013403 standard screening design Methods 0.000 description 1
- 230000002459 sustained effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3268—Power saving in hard disk drive
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请提供一种固态硬盘功耗管理方法及存固态硬盘。所述方法包括:确定固态硬盘的任务量的阈值范围;在固态硬盘的任务量位于第一阈值范围的情况下,使固态硬盘保持全性能工作;在固态硬盘的位于第二阈值范围的情况下,动态调整高速串行计算机扩展总线通道数量,使高速串行计算机扩展总线通道数量匹配固态硬盘的性能;在固态硬盘的位于第三阈值范围的情况下,动态调整控制器的主频,使控制器的主频匹配固态硬盘的性能。本申请实施例根据固态硬盘负载的轻重程度建立相应的性能匹配机制,固态硬盘通过动态调整不同的高速串行计算机扩展总线通道数量,或者固态硬盘控制器工作频率来控制匹配固态硬盘的性能,以降低固态硬盘的功耗。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种固态硬盘功耗管理方法及固态硬盘。
背景技术
随着固态硬盘(Solid State Disk,SSD)技术的发展,主流的固态硬盘性能提升很大,SSD的功耗和散热问题越来越突出。一方面系统端需要增加很多成本来提供对应的解决方案解决这个问题,否则会出现功耗不达标和固态硬盘的数据安全性问题。另一方面整个系统性能提升的瓶颈并不在于固态硬盘,有时候任务量不重,并不需要固态硬盘的高速运行。
当固态硬盘响应处理系统主机任务时,不管其任务量(workload)多大,都是满负荷全功率地运行,导致固态硬盘工作功耗过高。而高功耗伴随着产生更多的热量,使得系统需要投入更多资源来处理热量问题。造成非良性循环。
发明内容
有鉴于现有技术中存在的上述至少一个技术问题而提了本申请。根据本申请一方面,提供了一种固态硬盘功耗管理方法,所述方法包括:
确定固态硬盘的任务量的阈值范围;
在所述固态硬盘的任务量位于第一阈值范围的情况下,使所述固态硬盘保持全性能工作;
在所述固态硬盘的所述任务量位于第二阈值范围的情况下,动态调整高速串行计算机扩展总线通道数量,使所述高速串行计算机扩展总线通道数量匹配所述固态硬盘的性能;
在所述固态硬盘的所述任务量位于第三阈值范围的情况下,动态调整控制器的主频,使所述控制器的所述主频匹配所述固态硬盘的性能。
在一些实施例中,所述确定固态硬盘的任务量的阈值范围,包括:
通过非易失性内存主机控制器接口规范指令队列的个数和深度确定所述固态硬盘的所述任务量的阈值范围。
在一些实施例中,通过非易失性内存主机控制器接口规范指令队列的个数和深度确定所述固态硬盘的所述任务量的阈值范围,包括:
接收所述非易失性内存主机控制器接口规范指令队列,其中所述非易失性内存主机控制器接口规范指令队列至少包括数据块的逻辑起始地址和数据块长度;
基于所述数据块的逻辑起始地址和所述数据块长度确定所述固态硬盘的所述任务量是否处于第一阈值范围、第二阈值范围或者第三阈值范围。
在一些实施例中,所述非易失性内存主机控制器接口规范指令包括管理指令和输入输出指令。
在一些实施例中,所述非易失性内存主机控制器接口规范指令队列至少包括提交队列和完成队列。
在一些实施例中,确定所述固态硬盘的任务量的阈值范围,包括:
通过驱动层确定所述固态硬盘的任务量的阈值范围。
在一些实施例中,通过驱动层确定所述固态硬盘的任务量的阈值范围,包括:
接收固态硬盘的驱动层发送的任务通知,所述任务通知至少包括待读写信息的类型、位置、容量大小和持续时间;
基于所述任务通知确定所述固态硬盘的所述任务量是否大于第一预设阈值,或者大于第二预设阈值且不大于所述第一预设阈值,或者不大于所述第二预设阈值。
在一些实施例中,其中,所述驱动层在接收到读写操作和系统操作的任务时,会将待操作数据存储进缓冲存储器,然后再将所述待操作数据生成数据包,然后基于所述数据包的信息生成所述任务通知。
在一些实施例中,其中,所述第一阈值范围包括大于第一预设阈值;
所述第二阈值范围包括小于等于所述第一预设阈值且大于第二预设阈值;
所述第三阈值范围包括小于等于所述第二预设阈值。
本申请实施例另一方面提供了一种固态硬盘,所述固态硬盘用于执行如上所述的固态硬盘功耗管理方法。
本申请实施例的固态硬盘功耗管理方法,根据固态硬盘的任务量的三种不同阈值范围,确定固态硬盘的任务量保持全性能工作,或者动态调整高速串行计算机扩展总线通道数量,使所述高速串行计算机扩展总线通道数量匹配所述固态硬盘的性能,或者动态调整控制器主频,使所述控制器的所述主频匹配所述固态硬盘的性能,本申请实施例根据固态硬盘负载的轻重程度建立相应的性能匹配机制,固态硬盘通过动态调整不同的高速串行计算机扩展总线通道数量,或者固态硬盘控制器工作频率来控制匹配固态硬盘的性能,以降低固态硬盘的功耗。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示出根据本申请实施例的固态硬盘功耗管理方法的示意性流程图;
图2示出根据本申请实施例的通过驱动层确定所述固态硬盘的任务量的阈值范围的过程的示意性流程图;
图3示出根据本申请另一种实施例的固态硬盘功耗管理方法的示意性流程图。
具体实施方式
为使本领域技术人员更好的理解本申请实施例的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
固态硬盘(Solid State Disk,SSD)速度越来越快,现在主流的SSD已经是外围组件快速互连(Peripheral Component Interconnect Express,PCIe) 4代, PCIe 5代也很快上市,到时接口带宽会翻倍,性能提升的同时,SSD的功耗和散热问题越来越突出。系统端需要增加很多成本来提供对应的解决方案解决这个问题,否则会出现功耗不达标和固态硬盘数据安全性的问题。另一方面整个系统性能瓶颈不在固态硬盘上,在任务量不高的情况下,并不需要固态硬盘的高速运行,高速运行的固态硬盘有时候反到成为资源的浪费。
目前PCIe SSD有多种电源模式,这些电源模式主要包括PCIe Link和SSD本体两部分的电模式。PCIe Link包括L0/L1.0/L1.1/L1.2. SSD包括PS0~PS4的电源模式。同时外围组件快速互连(Peripheral Component Interconnect Express,PCIe) Link与SSD本体的电源模式又相互影响。主要是让SSD在不工作的时候进入低功耗状态,在低功耗状态下SSD不响应主机指令。但是,实际情况是,当固态硬盘需要响应处理系统主机任务,不管任务量(workload)多大,都是全负荷全性能工作,此时功耗会最大。完成任务后,系统和固态硬盘会有一定的电源模式机制,进入到更低的功耗状态。
可见,传统技术中存在以下问题:
1、计算机系统大多数workload不重,固态硬盘却用满负荷全功率运行,导致其工作功耗过高;
2、高功耗伴随着产生更多的热,系统需要投入更多的热量(thermal)费用,造成恶性循环。
基于前述的至少一个技术问题,本申请提供了一种固态硬盘功耗管理方法,所述方法包括:确定所述固态硬盘的任务量的阈值范围;在固态硬盘的任务量位于第一阈值范围的情况下,使所述固态硬盘保持全性能工作;在所述固态硬盘的所述任务量位于第二阈值范围的情况下,动态调整高速串行计算机扩展总线通道数量,使所述高速串行计算机扩展总线通道数量匹配所述固态硬盘的性能;在所述固态硬盘的所述任务量位于第三阈值范围的情况下,动态调整控制器主频,使所述控制器的所述主频匹配所述固态硬盘的性能。本申请实施例根据固态硬盘负载的轻重程度建立相应的性能匹配机制,固态硬盘通过动态调整不同的高速串行计算机扩展总线通道数量,或者固态硬盘控制器工作频率来控制匹配固态硬盘的性能,以降低固态硬盘的功耗。
图1示出根据本申请实施例的固态硬盘功耗管理方法的示意性流程图;如图1所示,根据本申请实施例的固态硬盘功耗管理方法100可以包括如下步骤S101、步骤S102、步骤S103和步骤S104:
在步骤S101,确定固态硬盘的任务量的阈值范围。
在本申请的一个实施例中,所述确定固态硬盘的任务量的阈值范围,包括步骤A1:
在步骤A1,通过非易失性内存主机控制器接口规范(NVM Express,NVMe)指令队列的个数和深度确定所述固态硬盘的所述任务量的阈值范围。
其中,所述第一阈值范围包括大于第一预设阈值;
所述第二阈值范围包括小于等于所述第一预设阈值且大于第二预设阈值;
所述第三阈值范围包括小于等于所述第二预设阈值。
也就是说,第一预设阈值>第二预设阈值。阈值范围大致可以分成三个范围值,但是每个范围区间仍然具有若干值,也就是说在每个区间内,仍可以就功耗进行微调。
在一个示例中,通过非易失性内存主机控制器接口规范指令队列的个数和深度确定所述固态硬盘的所述任务量的阈值范围,包括步骤B1和步骤B2:
在步骤B1,接收所述非易失性内存主机控制器接口规范指令队列,其中所述非易失性内存主机控制器接口规范指令队列至少包括数据块的逻辑起始地址和数据块长度。
这里所述非易失性内存主机控制器接口规范指令包括管理指令(Admin指令)和输入输出指令(I/O指令)。所述非易失性内存主机控制器接口规范指令队列至少包括提交队列(Submission Queue,SQ)和完成队列(Completion Queue,CQ)。
在NVMe规范中,制定了主机与固态硬盘之间通信的各种指令规范,以及这些指令的执行方式。在这些命令中与固态硬盘相关的NVMe命令主要有两种:一种叫管理指令(Admin指令),用于管理主机和控制固态硬盘;另外一种是输入输出指令(I/O指令),用于主机和固态硬盘之间的数据传输,这些指令是通过队列方式发送给固态硬盘设备。
在步骤B2,基于所述数据块的逻辑起始地址和所述数据块长度确定所述固态硬盘的所述任务量是否处于第一阈值范围、第二阈值范围或者第三阈值范围。
在NVMe规范中,还有三个比较重要的技术:提交队列(Submission Queue,SQ)、完成队列(Completion Queue,CQ)和门铃寄存器(Doorbell Register,DB)。其中,提交队列存储于主机的内存中,主机要发送命令时,先把准备好的命令放在提交队列SQ中,然后通知固态硬盘SSD来读取;完成队列CQ也存储于主机的内存中,当一个命令执行完成后,执行的结果可能为成功或者失败,这时固态硬盘SSD需要向完成队列CQ中写入命令的完成状态(成功或者失败);门铃寄存器DB设置于固态硬盘SSD的控制器内部,当主机发送命令时,不会直接向固态硬SSD盘直接发送命令,而是把命令存储在内存中,通过固态硬盘SSD的门铃寄存器DB来告知固态硬盘SSD。主机将命令存储在提交队列时,固态硬盘SSD向完成队列CQ中写入命令执行结果(成功或者失败);因此提交队列SQ和完成队列CQ的关系是一对一或者多对一的关系,有SQ必然会有CQ。对于管理指令来说,系统中只有一对提交队列SQ和完成队列CQ,它们是一一对应的关系。而输入输出指令对应的提交队列SQ和完成队列CQ是通过管理指令创建的,可以有很多对。在实际的数据读写过程中,会产生多少个输入输出提交队列SQ,取决于系统配置和性能需求从而灵活配置输入输出提交队列SQ的个数。在数据读写的过程中,主机预先将多个指令打包通过多个提交队列发送给固态硬盘SSD,每个指令包含预读取或写入的数据块的长度,数据块的逻辑地址起始地址和数据块长度等参数,每对提交队列SQ和完成队列CQ的深度也是可以配置的,可以理解为NVMe性能是可以通过配置提交队列SQ和完成队列CQ的队列个数和队列深度来灵活调节。这种指令序列预先发送的特点可以让固态硬盘SSD通过指令里面相关信息预先判断之后的一段时间内的任务量(workload)状况。
然后,通过NVMe指令的相关队列信息,SSD预先分析任务量(Workload)的类型、队列深度、指令频繁程度及数据量的大小等来判断任务量(workload)的轻重程度,并根据轻重程度设置相应不同层级的阈值,例如,从高到低为,第一预设阈值>第二预设阈值。然后根据固态硬盘的任务量的阈值计算所需的固态硬盘SSD的性能,建立固态硬盘的性能相匹配的模式。
在本申请的另一个实施例中,确定所述固态硬盘的任务量的阈值范围,包括步骤C1:
在步骤C1,通过驱动层确定所述固态硬盘的任务量的阈值范围。
其中,所述驱动层在接收到读写操作和系统操作的任务时,会将待操作数据存储进缓冲存储器,然后再将所述待操作数据生成数据包,然后基于所述数据包的信息生成所述任务通知。
在一个示例中,通过驱动层确定所述固态硬盘的任务量的阈值范围,包括步骤D1和步骤D2:
在步骤D1,接收固态硬盘的驱动层发送的任务通知,所述任务通知至少包括待读写信息的类型、位置、容量大小和持续时间;
在步骤D2,基于所述任务通知确定所述固态硬盘的所述任务量是否大于第一预设阈值,或者大于第二预设阈值且不大于所述第一预设阈值,或者不大于所述第二预设阈值。
一般地,用户的读写操作和系统操作会先经过存储驱动层。存储驱动层主要功能实现统一的存储访问接口,例如,读取变量到内存、写回变量到存储设备。也就是说,在读写操作和系统操作时,需要先将数据存储在存储驱动层的写入缓冲存储器里面,然后由写入缓冲存储器将数据打包成符合传输要求的数据包后,再发送给固态硬盘。同理,SSD读取指令时,也是要把需要传输的指令信息发送到驱动层,再由驱动层下达给固态硬盘。
由此,驱动层和固态硬盘可以建立读写任务状况信息预先通知机制,例如,预先将要读写信息的类型、位置、容量大小、以及所要持续的时间等等通知给固态硬盘。固态硬盘在预先知道相应的用户操作及系统的任务量(workload)之后,根据任务量(workload)设置相应不同层级的阈值,例如,按从高到低的顺序为,第一预设阈值>第二预设阈值。然后根据阈值计算所需要的固态硬盘的性能,建立性能匹配机制。
在一个具体的示例中,如图2所示,为通过驱动层确定所述固态硬盘的任务量的阈值范围的过程200的示意性流程图。如图2所示,通过驱动层确定所述固态硬盘的任务量的阈值范围的过程200包括步骤S201、步骤S202和步骤S203:
在步骤S201,分析统计指令和数据流任务的相关参数。
这里指令可以包括输入输出指令和系统操作指令等,与数据流任务相关的参数可以包括要读写信息的类型、位置、容量大小、以及所要持续的时间等等。
在步骤S202,判断任务量的轻重程度,根据轻重程度确定任务量的阈值范围。
根据任务量的轻重程度,可以相应地并阈值范围大体可以分为高中低三个区间。当任务量较重时,可以使固态硬盘全性能运行。当任务量居中时,可以适当地调整高速串行计算机扩展总线通道数量,使所述高速串行计算机扩展总线通道数量匹配所述固态硬盘的性能。当任务量较低时,可以动态调整控制器的主频,使所述控制器的所述主频匹配所述固态硬盘的性能。
在步骤S203,建立与任务量的阈值范围相对应的固态硬盘性能匹配模型,以确定固态硬盘的调整策略。
可以事先构建与任务量的阈值范围与所需要的固态硬盘能的匹配模型。然后在确定任务量的阈值范围后,可以根据匹配模型确定所需要固态硬盘的性能,然后根据所需的固态硬盘性能确定调整策略。由此,一方面可以实现任务量与固态硬盘性能的匹配,另一方面,使固态硬盘根据任务量调整性能,可以减少固态硬盘的功耗。
在步骤S102,在所述固态硬盘的任务量位于第一阈值范围的情况下,使所述固态硬盘保持全性能工作。
本申请实施例中的第一预设阈值大于第二预设阈值,如果任务量大于第一预设阈值说明当前的任务量比较重,因此需要使固态硬盘保持全性能工作,以提高任务的处理速度,同时也提高系统的运行速度。
在步骤S103,在所述固态硬盘的所述任务量位于第二阈值范围的情况下,动态调整高速串行计算机扩展总线通道数量,使所述高速串行计算机扩展总线通道数量匹配所述固态硬盘的性能。
这里的第二阈值范围可以指任务量小于等于第一预设阈值且大于第二预设阈值,也就是任务量居中的情况。例如,在任务量大于第一预设阈值时,高速串行计算机扩展总线通道数量为4个通道,而任务量小于等于第一预设阈值且大于第二预设阈值时,可以使高速串行计算机扩展总线通道数量降为2个通道。当然,由于第二阈值范围是个区间,在这个区间内,既可以动态地增加通道数也可以减少通道数。
在步骤S104,在所述固态硬盘的所述任务量位于第三阈值范围的情况下,动态调整控制器的主频,使所述控制器的所述主频匹配所述固态硬盘的性能。
这里的所述第三阈值范围可以指小于等于第二预设阈值。由于任务量较轻,因此,可以调整控制器的主频。由于第三阈值范围是个区间范围,在这个区间内,既可以动态地增大控制器的工作频率,也可以动态地减小控制器的工作频率。
本申请实施例通过预判后续一段时间固态硬盘的任务量(workload)的情况,动态调整高速串行计算机扩展总线通道数量和/或控制器工作频率的大小,来匹配固态硬盘的性能需求,同时可以降低功耗。
如图3所示,为本申请的另一个实施例的固态硬盘功耗管理方法的示意性流程图。根据本申请实施例的固态硬盘功耗管理方法300可以包括如下步骤S301、步骤S302、步骤S303、步骤S304和步骤S305:
在步骤S301,判断固态硬盘任务量的轻重程度是否大于第一预设阈值;如果是,则执行步骤S302;否则执行步骤S303。
在步骤S302,使固态硬盘保持全性能工作。本申请实施例中的第一预设阈值大于第二预设阈值,如果任务量大于第一预设阈值说明当前的任务量比较重,因此需要使固态硬盘保持全性能工作,以提高任务的处理速度。
在步骤S303,判断固态硬盘任务量的轻重程度是否小于等于第一预设阈值且大于第二预设阈值,如果是,则执行步骤S304;否则执行步骤S305。
在步骤S304,动态调整高速串行计算机扩展总线通道数量,使所述高速串行计算机扩展总线通道数量匹配所述固态硬盘的性能。具体地在固态硬盘任务量的轻重程度是否小于等于第一预设阈值且大于第二预设阈值的情况下,说明固态硬盘的任务量居中,这时可以通过调整高速串行计算机扩展总线通道数量来使固态硬盘的性能与任务量相匹配。例如,
在步骤S305,动态调整控制器主频,使所述控制器的所述主频匹配所述固态硬盘的性能。
本申请实施例通过对系统workload预判与匹配合适固态硬盘SSD工作性能的逻辑方式,使得固态硬盘SSD工作在合适的性能状态,既能满足系统使用的性能要求,又能降低固态硬盘SSD工作时的功耗且不影响系统的其他功能;而且,通过动态调整PCIe 通道以及动态调整主频的方式,可以减少固态硬盘相应模块功耗,在降功耗同时也让固态硬盘SSD在不同工作模式切换下保持其使用的稳定性。鉴于此本申请实施例具有以下优点:
(1)降低固态硬盘整体功耗与热量产生,又不会影响用户UE感受
(2)整个系统可以减少Thermal费用
此外,本申请实施例还提供了一种固态硬盘,所述固态硬盘可以用于执行如图1至3所示的固态硬盘功耗管理方法。
本申请实施例的固态硬盘,由于能够实现前述的固态硬盘功耗管理方法,因此具有和前述的固态硬盘功耗管理方法相同的优点。
尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本申请的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本申请的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本申请的范围之内。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本申请并帮助理解各个发明方面中的一个或多个,在对本申请的示例性实施例的描述中,本申请的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本申请的方法解释成反映如下意图:即所要求保护的本申请要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本申请的单独实施例。
本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
应该注意的是上述实施例对本申请进行说明而不是对本申请进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上所述,仅为本申请的具体实施方式或对具体实施方式的说明,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种固态硬盘功耗管理方法,其特征在于,所述方法包括:
确定固态硬盘的任务量的阈值范围;
在所述固态硬盘的任务量位于第一阈值范围的情况下,使所述固态硬盘保持全性能工作;
在所述固态硬盘的所述任务量位于第二阈值范围的情况下,动态调整高速串行计算机扩展总线通道数量,使所述高速串行计算机扩展总线通道数量匹配所述固态硬盘的性能;
在所述固态硬盘的所述任务量位于第三阈值范围的情况下,动态调整控制器的主频,使所述控制器的所述主频匹配所述固态硬盘的性能。
2.根据权利要求1所述的方法,其特征在于,所述确定固态硬盘的任务量的阈值范围,包括:
通过非易失性内存主机控制器接口规范指令队列的个数和深度确定所述固态硬盘的所述任务量的阈值范围。
3.根据权利要求2所述的方法,其特征在于,通过非易失性内存主机控制器接口规范指令队列的个数和深度确定所述固态硬盘的所述任务量的阈值范围,包括:
接收所述非易失性内存主机控制器接口规范指令队列,其中所述非易失性内存主机控制器接口规范指令队列至少包括数据块的逻辑起始地址和数据块长度;
基于所述数据块的逻辑起始地址和所述数据块长度确定所述固态硬盘的所述任务量是否处于第一阈值范围、第二阈值范围或者第三阈值范围。
4.根据权利要求2所述的方法,其特征在于,所述非易失性内存主机控制器接口规范指令包括管理指令和输入输出指令。
5.根据权利要求2所述的方法,其特征在于,所述非易失性内存主机控制器接口规范指令队列至少包括提交队列和完成队列。
6.根据权利要求1所述的方法,其特征在于,确定所述固态硬盘的任务量的阈值范围,包括:
通过驱动层确定所述固态硬盘的任务量的阈值范围。
7.根据权利要求6所述的方法,其特征在于,通过驱动层确定所述固态硬盘的任务量的阈值范围,包括:
接收固态硬盘的驱动层发送的任务通知,所述任务通知至少包括待读写信息的类型、位置、容量大小和持续时间;
基于所述任务通知确定所述固态硬盘的所述任务量是否大于第一预设阈值,或者大于第二预设阈值且不大于所述第一预设阈值,或者不大于所述第二预设阈值。
8.根据权利要求7所述的方法,其特征在于,其中,所述驱动层在接收到读写操作和系统操作的任务时,会将待操作数据存储进缓冲存储器,然后再将所述待操作数据生成数据包,然后基于所述数据包的信息生成所述任务通知。
9.根据权利要求7所述的方法,其特征在于,其中,
所述第一阈值范围包括大于第一预设阈值;
所述第二阈值范围包括小于等于所述第一预设阈值且大于第二预设阈值;
所述第三阈值范围包括小于等于所述第二预设阈值。
10.一种固态硬盘,其特征在于,所述固态硬盘用于执行如权利要求1至8任一项所述的固态硬盘功耗管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310531703.6A CN116301662B (zh) | 2023-05-12 | 2023-05-12 | 一种固态硬盘功耗管理方法及固态硬盘 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310531703.6A CN116301662B (zh) | 2023-05-12 | 2023-05-12 | 一种固态硬盘功耗管理方法及固态硬盘 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116301662A CN116301662A (zh) | 2023-06-23 |
CN116301662B true CN116301662B (zh) | 2023-08-01 |
Family
ID=86789026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310531703.6A Active CN116301662B (zh) | 2023-05-12 | 2023-05-12 | 一种固态硬盘功耗管理方法及固态硬盘 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116301662B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117542403B (zh) * | 2024-01-09 | 2024-04-05 | 深圳市领德创科技有限公司 | 基于温控技术的固态硬盘运行管理系统及方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101794169A (zh) * | 2010-03-08 | 2010-08-04 | 北京航空航天大学 | 基于改变控制模式进行机群系统能耗管控的方法 |
CN105164635A (zh) * | 2013-05-31 | 2015-12-16 | 英特尔公司 | 针对固态存储设备在运行中的性能调整 |
WO2018019119A1 (zh) * | 2016-07-26 | 2018-02-01 | 北京理工大学 | 一种面向连续数据存储的动态局部并行数据布局方法及装置 |
CN108027637A (zh) * | 2015-09-18 | 2018-05-11 | 高通股份有限公司 | 用于使用前馈压缩统计来控制存储器频率的系统和方法 |
CN109522176A (zh) * | 2017-09-20 | 2019-03-26 | 阿里巴巴集团控股有限公司 | 一种存储系统的监控方法、装置、电子设备及存储介质 |
CN109725698A (zh) * | 2018-11-22 | 2019-05-07 | 合肥联宝信息技术有限公司 | 一种供电控制装置、供电装置和电子设备 |
CN109947694A (zh) * | 2019-04-04 | 2019-06-28 | 上海威固信息技术股份有限公司 | 一种可重构计算存储融合闪存控制系统 |
CN110199241A (zh) * | 2017-01-26 | 2019-09-03 | Ati科技无限责任公司 | 自适应功率控制环路 |
CN112597096A (zh) * | 2020-12-15 | 2021-04-02 | 中国科学院计算技术研究所 | 一种低功耗的fpga部分可重构方法和装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9189385B2 (en) * | 2010-03-22 | 2015-11-17 | Seagate Technology Llc | Scalable data structures for control and management of non-volatile storage |
US8555095B2 (en) * | 2010-07-26 | 2013-10-08 | Apple Inc. | Methods and systems for dynamically controlling operations in a non-volatile memory to limit power consumption |
US10120817B2 (en) * | 2015-09-30 | 2018-11-06 | Toshiba Memory Corporation | Device and method for scheduling commands in a solid state drive to reduce peak power consumption levels |
US10185511B2 (en) * | 2015-12-22 | 2019-01-22 | Intel Corporation | Technologies for managing an operational characteristic of a solid state drive |
US20210311871A1 (en) * | 2020-04-06 | 2021-10-07 | Samsung Electronics Co., Ltd. | System and method for aggregating server memory |
US20220197519A1 (en) * | 2020-12-19 | 2022-06-23 | Intel Corporation | Multi-level memory system power management apparatus and method |
US20210109587A1 (en) * | 2020-12-21 | 2021-04-15 | Intel Corporation | Power and thermal management in a solid state drive |
-
2023
- 2023-05-12 CN CN202310531703.6A patent/CN116301662B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101794169A (zh) * | 2010-03-08 | 2010-08-04 | 北京航空航天大学 | 基于改变控制模式进行机群系统能耗管控的方法 |
CN105164635A (zh) * | 2013-05-31 | 2015-12-16 | 英特尔公司 | 针对固态存储设备在运行中的性能调整 |
CN108027637A (zh) * | 2015-09-18 | 2018-05-11 | 高通股份有限公司 | 用于使用前馈压缩统计来控制存储器频率的系统和方法 |
WO2018019119A1 (zh) * | 2016-07-26 | 2018-02-01 | 北京理工大学 | 一种面向连续数据存储的动态局部并行数据布局方法及装置 |
CN110199241A (zh) * | 2017-01-26 | 2019-09-03 | Ati科技无限责任公司 | 自适应功率控制环路 |
CN109522176A (zh) * | 2017-09-20 | 2019-03-26 | 阿里巴巴集团控股有限公司 | 一种存储系统的监控方法、装置、电子设备及存储介质 |
CN109725698A (zh) * | 2018-11-22 | 2019-05-07 | 合肥联宝信息技术有限公司 | 一种供电控制装置、供电装置和电子设备 |
CN109947694A (zh) * | 2019-04-04 | 2019-06-28 | 上海威固信息技术股份有限公司 | 一种可重构计算存储融合闪存控制系统 |
CN112597096A (zh) * | 2020-12-15 | 2021-04-02 | 中国科学院计算技术研究所 | 一种低功耗的fpga部分可重构方法和装置 |
Non-Patent Citations (1)
Title |
---|
SHCA:基于RAID的两级缓存算法设计与实现;詹玲;门勇;汤陈蕾;徐鹏;万继光;;小型微型计算机系统(第05期) * |
Also Published As
Publication number | Publication date |
---|---|
CN116301662A (zh) | 2023-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9110669B2 (en) | Power management of a storage device including multiple processing cores | |
US11061580B2 (en) | Storage device and controllers included in storage device | |
CN116301662B (zh) | 一种固态硬盘功耗管理方法及固态硬盘 | |
US11397675B2 (en) | Storage device, computer system, and operation method of storage device configured to arbitrarily stop garbage collection | |
TWI610179B (zh) | 主機裝置與資料傳輸速率控制方法 | |
US10089266B2 (en) | Power saving feature for storage subsystems | |
US8301805B2 (en) | Managing I/O request in a storage system | |
US20190065404A1 (en) | Adaptive caching in a storage device | |
WO2021160048A1 (zh) | 下行控制信息的设计方法、系统、电子设备和存储介质 | |
CN111580639A (zh) | Ssd自适应负载时钟的调节方法、装置和计算机设备 | |
CN108205478B (zh) | 智能序列式小型计算机系统接口物理层功率管理 | |
KR20180049340A (ko) | 스토리지 장치 및 그것의 링크 상태 제어 방법 | |
EP4083776A1 (en) | Systems, methods, devices, and apparatuses for adaptive near storage computation | |
US10025370B2 (en) | Overriding latency tolerance reporting values in components of computer systems | |
WO2021197128A1 (zh) | 流量限速方法及装置 | |
US8209450B2 (en) | Maintenance operations using configurable parameters | |
US11500539B2 (en) | Resource utilization tracking within storage devices | |
LU101773B1 (en) | Method for improving sequential read performance of solid-state drive | |
CN110928827B (zh) | 一种访问PCIe设备的优化的方法和设备 | |
CN106598483A (zh) | 一种面向异构内存的可重构内存管理系统 | |
JP6502879B2 (ja) | 記憶装置 | |
CN112306804B (zh) | 一种处理方法及处理装置 | |
WO2023151465A1 (zh) | 一种ssd的规格参数的调节方法及相关产品 | |
US20200225860A1 (en) | Intelligent sas phy connection management | |
US11977769B2 (en) | Control of back pressure based on a total number of buffered read and write entries |
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 |