CN117667382A - 通过确定性利用率控制进行的每种功率状态的ssd性能改进 - Google Patents
通过确定性利用率控制进行的每种功率状态的ssd性能改进 Download PDFInfo
- Publication number
- CN117667382A CN117667382A CN202211583127.1A CN202211583127A CN117667382A CN 117667382 A CN117667382 A CN 117667382A CN 202211583127 A CN202211583127 A CN 202211583127A CN 117667382 A CN117667382 A CN 117667382A
- Authority
- CN
- China
- Prior art keywords
- ssd
- operation command
- host
- power
- power state
- 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.)
- Pending
Links
- 230000006872 improvement Effects 0.000 title description 2
- 238000000034 method Methods 0.000 claims abstract description 36
- 239000007787 solid Substances 0.000 claims abstract description 7
- 230000003068 static effect Effects 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 12
- 230000005055 memory storage Effects 0.000 claims description 6
- 238000013468 resource allocation Methods 0.000 claims description 4
- 230000015654 memory Effects 0.000 description 33
- 238000004422 calculation algorithm Methods 0.000 description 11
- 238000013500 data storage Methods 0.000 description 10
- 230000001276 controlling effect Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000005265 energy consumption Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000004557 technical material Substances 0.000 description 1
- 238000012546 transfer Methods 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/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
- G06F1/3225—Monitoring of peripheral devices of memory devices
-
- 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/3275—Power saving in memory, e.g. RAM, cache
-
- 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/0653—Monitoring storage devices or systems
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Power Sources (AREA)
Abstract
一种操作包括主机和至少一个固态驱动器(SSD)的系统的方法。该方法识别与SSD相关联的工作负载,识别SSD的功率状态,并根据功率状态的预算目标控制用于识别出的工作负载的硬件资源的分配和/或分配解除。
Description
技术领域
本公开的实施例涉及一种用于控制存储器系统中的功率利用率的方案。
背景技术
计算机环境范例已经转变为可以随时随地使用的普适计算系统。因此,诸如移动电话、数码相机和笔记本计算机等便携式电子装置的使用快速增加。这些便携式电子装置通常使用具有存储器装置,即数据存储装置的存储器系统。数据存储装置用作便携式电子装置的主存储器装置或辅助存储器装置。
使用存储器装置的存储器系统由于不具有移动部件,因此具有优异的稳定性、耐用性、高信息访问速度和低功耗。具有这些优点的存储器系统的示例包括通用串行总线(USB)存储器装置、具有诸如通用闪存(UFS)等多种接口的存储卡和固态驱动器(SSD)。存储器系统从主机接收与存储器装置相关联的命令并对存储器装置处理这些命令。
发明内容
本发明的各个方面包括一种用于操作数据存储系统的系统和方法。
一方面,提供一种用于操作包括主机和至少一个固态驱动器(SSD)的系统的方法,该方法包括:识别与SSD相关联的工作负载(workload);针对从主机接收到的操作命令识别SSD的功率状态(power state);以及根据识别出的功率状态的预算目标(budgetedtarget),控制用于识别出的工作负载的硬件资源的分配和/或者分配解除(deallocation)。
另一方面,提供一种操作数据处理系统的系统,该系统包括:主机;存储器存储装置;以及控制器,包括在存储器存储装置中,该控制器被配置为:识别与SSD相关联的工作负载,针对从主机接收的操作命令识别SSD的功率状态,以及根据识别出的功率状态的预算目标,控制用于识别出的工作负载的硬件资源的分配和/或者分配解除。
根据下列描述,本发明的附加方面将变得显而易见。
附图说明
图1是示出根据本发明的一个实施例的数据处理系统的示图;
图2是根据本发明的另一实施例的根据输入工作负载的吞吐量的图表;
图3是根据本发明的又一实施例的根据输入工作负载的吞吐量的图表;
图4是根据本发明的SSD中的不同存储管芯根据吞吐量具有不同的功率级别的一个实施例的根据输入工作负载的吞吐量的图表;
图5是根据本发明的又一实施例的根据输入工作负载的吞吐量的图表;
图6是根据本发明的又一实施例的根据输入工作负载的吞吐量的图表;
图7是示出根据本发明的又一实施例的用于控制存储装置的方法的流程图;以及
图8是示出根据本发明的一个实施例的用于操作数据存储系统的方法的流程图。
具体实施方式
下面参照附图更详细地描述多种实施例。然而,本发明可以以不同的形式实施,因此不应解释为限于本文阐述的实施例。相反,提供这些实施例以使本公开透彻和完整,并且将本发明的范围充分传达给本领域技术人员。此外,本文中对“实施例”、“另一实施例”等的引用不一定仅针对一个实施例,并且对任何这种短语的不同引用不一定针对相同的实施例。贯穿本公开中,相同的附图标记在本发明的附图和实施例中指代相同的部件。
本发明可以以多种方式实现,包括实现为过程;设备;系统;在计算机可读存储介质上体现的计算机程序产品;和/或处理器,诸如适于运行存储在联接到该处理器的存储器上和/或由联接到该处理器的存储器提供的指令的处理器。在本说明书中,这些实施方式或本发明可以采用的任何其他形式可以被称为技术。通常,在本发明的范围内可以改变所公开的过程的步骤的顺序。除非另有说明,否则描述为适于执行任务的诸如处理器或存储器的组件可以被实施为临时被配置为在给定时间执行任务的通用组件或被制造为执行任务的特定组件。如在本文中使用的,术语“处理器”等是指适于处理诸如计算机程序指令等数据的一个或多个装置、电路和/或处理内核。
下面结合示出本发明的各个方面的附图来提供对本发明的实施例的详细描述。结合这种实施例来描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求书限制。本发明包含在权利要求书的范围内的许多替代、修改和等效物。在下列描述中阐述了许多具体细节,以提供对本发明的透彻理解。出于示例的目的提供这些细节;可以在没有这些具体细节中的一些或全部的情况下根据权利要求书来实践本发明。为了清楚起见,未详细描述与本发明相关的技术领域中已知的技术材料,从而不会不必要地使本发明模糊。
通常,存储器系统(例如,企业SSD)的性能度量(metric)包括每秒以兆字节为单位(MB/s)的吞吐量或每秒的输入和输出(IO)操作(IOP),以及诸如平均值或多九延迟曲线(multi-nines latency profile)等延迟。多九延迟曲线表示这种多个九的部分中的最差的命令完成时间(例如,99%、99.9%),这通常被称为服务质量(QoS)测量。
存储器系统可以包括操作性地并联联接的存储器装置,诸如NAND闪速存储器装置。由于并行架构,存储器装置上的命令处理完成(例如,与读取命令或写入命令相关联的数据读取操作或写入操作)通常本质上是突发的(bursty)。这意味着在某个时隙内完成的命令明显多于在任何其他时隙内完成的命令。在这种情况下,存储器系统的性能度量不是固定不变的。因此,期望提供一种能够控制功耗的方案。
事实上,环境、社会和治理(ESG)要求已经越来越多地推动所有电子元件成为“更环保”的技术。即使对于SSD,SSD每瓦特性能(SSD performance per watt)也变得越来越重要。因此,无论是否是高负载峰值性能,SSD的生命周期的总能耗对于许多不同的操作条件都变得很重要。SSD的典型性能度量是以MB/s为单位的吞吐量,或每秒的IO操作(IOP)。过去的关注点是实现最佳整体性能,不一定是针对给定功耗限制的最佳性能。
大多数(如果不是全部的话)现有SSD不具有预测功率、性能特性的能力,更不用说针对相同产品的不同容量预测功率、性能特性。例如,具有相同产品型号的1TB/2TB/4TB/8TB SSD共用相同的功率状态和相同的功耗目标数量而不考虑它们各自的容量特性。而且,通常不明显的复杂功率节流(power throttling)逻辑使得所产生的性能不可预测。
在这个背景下,本发明在一个实施例中提供一种计算算法,该计算算法至少在以下约束条件下计算(预测)每瓦特性能:多种SSD容量、多种功率状态和多种工作负载。本发明的计算算法可以在存储器控制器中实时使用,或者可以在一组存储操作之前使用,其中预测标准被提供给主机,以使主机在向存储器装置发送命令时考虑总能耗。
图1是示出根据本发明的一个实施例的数据处理系统的示图。
参照图1,数据处理系统可以包括主机5、控制器100和存储器装置200。控制器100和存储器装置200可以配置存储器系统10。例如,控制器100和存储器装置200可以包括本文未示出的存储器系统10的多种组件。虽然下面的说明集中于基于NVMe SSD的术语,但是本发明不限于此,而是适用于包括不同类型SSD的其他存储器装置。在NVMe(高速非易失性存储器)SSD中,IO命令队列成对为提交队列(SQ)和完成队列(CQ)。
在图1所示的示例实施例中,存储器系统10可以用高速非易失性存储器(NVMe)SSD来实施,并且存储器装置200可以用多个并联的存储器,例如,k个并联的NAND闪速存储器NAND 1 461至NAND k469来实施。NAND闪速存储器(例如,NAND管芯)461至469通过一个或多个通道联接到存储器控制器100。
主机5可以经由预定义的IO命令队列结构与存储器系统10交换命令“请求”和“完成”。例如,主机5包括成对为IO命令队列的提交队列(SQ)52和完成队列(CQ)54。主机5可以根据诸如控制器100中的CPU内核的数量、操作系统(OS)和存储装置(即,存储器装置)IO配置等配置而包括SQ和CQ对。提交队列52可以存储与存储器装置200的操作相关联的命令请求,这些命令请求被提交给存储器控制器100。完成队列54可以从控制器100接收命令请求的完成通知,即指示各个命令请求已经完成的数据项,并且存储接收到的完成通知。因此,当相应的完成数据被放入完成队列54中时,主机5识别到命令请求中的每一个完成。响应于完成数据被传送到完成队列54,主机5将新命令放入提交队列52中以维持预定数量的命令由存储器系统10处理。
控制器100可以包括主机接口(I/F)140、存储器接口(I/F)150、命令处理组件410和预测功率性能模块420。这些组件410、420可以用控制组件的内部组件(例如,软件(SW))来实施。可选地,这些组件410、420可以用硬件(HW)组件来实施。虽然在图1中未示出,但是控制器100和存储器装置200可以包括存储器系统10的多种其它组件。
主机接口140可以从主机5接收命令请求。例如,命令请求可以与存储器装置200的操作(例如,读取、写入或擦除操作)相关联。命令处理组件410可以处理命令请求以对存储器装置200执行命令请求。
在本发明的一个实施例中,本发明的控制算法基于静态资源分配表根据目标确切地针控制对每种工作负载的活动资源分配,而无需复杂的逻辑或硬件测量反馈回路。由于多种存储器组件的不同功耗,工作负载类型识别允许不同的资源阈值级别。
在本发明的一个实施例中,控制(或预测)算法通过使用静态硬件资源表以确切的方式动态分配或解除分配活动资源。在SSD中的吞吐量/功率的众多限制因素/资源之中,NAND是影响吞吐量/功率的主要组件。功耗直接与NAND组件的利用率成比例。在SSD内部,NAND包括多个物理封装。每个物理封装包括通常具有不同操作特性的多个管芯。随着SSD容量的增长,管芯的数量也增长。吞吐量和功率与管芯的数量成比例,直到性能因其他因素而饱和为止。
根据硬件资源的分配,所产生的(吞吐量、功率)对将增加或减少,以在给定SSD容量驱动器上实现给定功率状态的预算(吞吐量、功率)目标。作为对SSD操作的每种独立功率状态进行总计,诸如对每个读取、写入或擦除事件的功率/吞吐量进行总计的算法的结果,不同容量的固态驱动器将具有可预测的实现每瓦特所需的吞吐量的(吞吐量、功率)趋势。
图2是吞吐量/功耗与主机输入工作负载的图形描述。
更具体地,图2中所示的是通用NVMe SSD(吞吐量、功耗)与主机输入工作负载的概念化。图2中的左侧描述示出SSD吞吐量随着主机输入工作负载的增加而增加,直到SSD达到其饱和点(在此表示为TPmax)为止。同样,右侧描述示出在达到最大吞吐量的同时功耗达到最大值。最大吞吐量通常由SSD内部的资源限制和输入工作负载类型确定。
由于在不同集成环境中在许多任务关键型操作下需要较小功率,因此SSD主机通常在特定时段内对SSD施加某些功率限制,其中该特定时段例如由为该信息传送提供协议的NVMe功率状态规范提供。图3是针对特定功率状态PSi的主机输入与(TP,Pwr)的图形描述。更具体地,如图3所示,SSD在两种不同的最大功率约束即Pmax(以下称为PS0状态)和PSi,max(以下称为PSi功率状态)下操作。
当主机在其任何操作时间段期间对SSD施加PSi限制时,吞吐量曲线将低于对应的PS0曲线,并且根据PSi下SSD的算法,吞吐量曲线可能具有与PS0曲线不同的形状。
图4是没有功率状态约束的情况下不同容量驱动器处的(TP,Pwr)的图形描述。图5是在PSi约束下不同容量驱动器处的(TP,Pwr)的图形描述。
SSD的主要部件是NAND,它是影响吞吐量和功耗的主要部件。SSD的一个重要方面是SSD的容量,它限定为用户分配多少存储空间。SSD的通用特性(针对不同的存储容量)示出如图4和图5所示的以下趋势。容量大小的顺序是装置1①的存储大小小于装置2②的存储大小,装置2②的存储大小小于装置3③的存储大小。对于相同的功耗,容量较小的驱动器具有更高的吞吐量效率(每瓦特性能),因为较小的容量驱动器的开销损失较少。
图6示出在由本发明的算法控制的功率状态PSi下的装置2②和装置3③中的改进的每瓦特性能。在相同的性能水平下,控制算法将较大存储器装置之间的功耗差保持为与较小存储器装置的空闲功率差类似。
在用于每瓦特性能的本发明的控制算法的控制下的多种工作负载包括顺序写入、顺序读取、随机写入和随机读取。每种工作负载都定义一组不同的资源利用率目标。例如,NAND管芯在诸如页面读取或页面编程等活动操作期间消耗的电流(或功率)是空闲时间期间消耗的电流的5~10倍。根据功耗数量,例如在设计阶段确定每种功率状态下的最大功率的目标和每种功率状态下活动资源的最大数量。
计算算法
图7是描述本发明的用于计算存储器装置的每种操作状态的功耗数据的计算算法的流程图。
考虑二维NAND资源阵列,其中针对每种SSD容量进行静态初始化。(类似的分配可以应用于其他产生影响的(contributing)资源。)将活动管芯定义为处于除空闲状态以外的任何操作状态(诸如其页面/块的编程(包括擦除)和读取操作状态)的管芯。在图7中的701处,针对存储器装置的页面/块的操作状态的不同阈值数量生成静态硬件资源表。如701处所示,用于生成静态硬件资源表的代码列表可以是:
其中N(i,j)是SSD中的活动NAND管芯的数量,i是工作负载类型i,W0=顺序写入,W1=顺序读取;j是功率状态j,如P0=无节流,P1=1级节流(step1 throttling),P2=2级节流(step 2throttling)。
为了说明,假设512Gb/管芯的最大可用管芯的数量=128@8TB、64@4TB、32@2TB、16@1TB。对于8TB驱动器,可以将一组静态值指定为N00=128、N01=64、N02=32、N03=16。然后,对于工作负载类型0,驱动器将分别在功率状态1/2/3下示出接近(或略小于)4TB/2TB/1TB驱动器的未节流的最大吞吐量的值。
在图7中的703处,对于到达SSD的每个新命令(在BAND的任何给定功率状态ps下),识别工作负载类型。换言之,在703处,workload_type命令可以获得存储器装置的功率状态ps(在给定的观察间隔宽度上)。例如,workload_type命令可以是NVMe命令。如703所示,类型可以是具体的工作负载类型,例如但不限于以下:
0=顺序写入
1=顺序读取
2=随机读取
3=随机写入
4=读取和写入之间的随机混合操作
一旦识别出工作负载类型,在705处,根据接收到的命令所需的工作负载类型和功率状态分配存储器装置的资源。例如,根据接收到的命令的工作负载类型和功率状态,识别不超过最大功率阈值的分配(诸如图6所示),同样,识别接收到的命令的超过最大功率阈值的工作负载类型和功率状态以延迟分配。
在707处,示出可以延迟处理接收到的命令的命令处理。在707处,如果接收到的命令的工作负载类型和功率状态没有超过最大功率阈值(诸如图6所示),则可以按照接收的顺序处理该命令。在707处,如果接收到的命令的工作负载类型和功率状态超过最大功率阈值,则延迟执行接收到的命令,直到出现(命令操作中涉及的存储器单元的)空闲状态为止。可以使用如图7所示的以下命令列表:
不同状态Pi和Pj之间的功率状态转换主要由于来自主机应用的指示的功率预算需求发生,如果不是一直如此的话。所产生的功率状态转换将针对每种SSD规范如NVMe规范进行传送。
上述方法可以用于操作包括服务器和多个SSD的存储器系统。这种方法可以应用于基于NAND闪存的SSD(如上所述),并且特别有利于具有多种功率状态的存储器装置,并且特别有利于(例如SSD NVMe中的)在空闲和活动状态之间具有明显不同的功耗的硬件资源。这种方法对于具有动态可调节目标(功率、性能)标准的硬件资源尤其有益。
图8是示出操作包括主机和至少一个固态驱动器(SSD)的数据存储系统的方法的流程图。在801处,操作数据存储系统的方法识别与SSD相关联的工作负载(例如,与从主机接收到的操作命令相关联的工作负载)。在803处,该方法(例如,基于识别出的工作负载)识别SSD的功率状态。在805处,该方法根据功率状态的预算目标,控制用于识别出的工作负载的硬件资源的分配和/或分配解除。
在操作数据存储系统的该方法中,可以根据多个操作命令,针对SSD的每种功率状态生成一组静态硬件资源表。可以通过从一组静态硬件资源表中识别与从主机接收到的操作命令相关联的功率状态来识别功率状态。
在操作数据存储系统的该方法中,当操作命令所需的管芯超过SSD的最大活动管芯限制时,将操作命令进行排队以用于执行,直到活动管芯变为空闲状态为止。另一方面,当操作命令所需的管芯小于SSD的最大活动管芯限制时,为操作命令分配资源并执行操作命令。
在操作数据存储系统的该方法中,可以向主机提供从主机接收到的操作命令的最大功耗(例如,最大功耗值),并且可以基于操作命令的工作负载和SSD的功率状态来预测从主机接收到的操作命令的最大功耗。在该方法中,可以基于操作命令的识别出的工作负载和SSD的识别出的功率状态来预测用于SSD的最大硬件分配。
在操作数据存储系统的该方法中,可以在具有多种功率状态的SSD中的不同存储器装置之间分配硬件资源,其中多种功率状态在空闲功率状态和包括读取状态、编程状态和擦除状态中的至少一种的活动功率状态之间具有不同的功耗。
相应地,在本发明的一个实施例中,提供一种用于操作数据处理系统的系统,该系统包括:主机;存储器存储装置;以及控制器,包括在存储器存储装置中,该控制器被配置为:识别与SSD相关联的工作负载,针对从主机接收的操作命令识别SSD的功率状态,以及根据识别出的功率状态的预算目标,控制用于识别出的工作负载的硬件资源的分配和/或者解除分配。
该系统中的控制器可以被配置为根据多个操作命令,针对SSD的每种功率状态生成一组静态硬件资源表。控制器可以被配置为从一组静态硬件资源表中识别与从主机接收到的操作命令相关联的功率状态。
该系统中的控制器可以被配置为,在操作命令所需的管芯超过SSD的最大活动管芯限制时,将操作命令进行排队以用于执行,直到活动管芯变为空闲状态为止。控制器可以被配置为,在操作命令所需的管芯小于SSD的最大活动管芯限制时,为操作命令分配资源并执行操作命令。
在该系统中,基于从主机接收的操作命令向主机提供SSD的最大功耗。控制器可以被配置为基于操作命令的工作负载和SSD的功率状态来预测从主机接收到的操作命令的最大功耗。控制器可以被配置为基于操作命令的工作负载和SSD的功率状态来预测SSD的最大硬件分配。控制器可以被配置为在具有多种功率状态的SSD中的不同存储器装置之间分配硬件资源。
在该系统中,在空闲状态或非操作功率状态与没有功率节流或具有最小功率节流的默认功率状态PS0之间可以存在具有不同的功耗的多种功率状态。
尽管为了清楚起见和方便理解已经相当详细地示出和描述了前述实施例,但是本发明不限于所提供的细节。本领域技术人员鉴于前述公开将领会,存在许多实施本发明的替代方式。因此,所公开的实施例是说明性的而非限制性的。本发明旨在包括本领域技术人员所认可的所有修改和替代。
Claims (20)
1.一种操作包括主机和至少一个固态驱动器即SSD的系统的方法,所述方法包括:
识别与所述SSD相关联的工作负载;
针对从所述主机接收到的操作命令识别所述SSD的功率状态;以及
根据识别出的功率状态的预算目标,控制用于识别出的工作负载的硬件资源的分配和/或者分配解除。
2.根据权利要求1所述的方法,其中,识别工作负载包括根据多个操作命令针对所述SSD的每种功率状态生成一组静态硬件资源表。
3.根据权利要求2所述的方法,其中,识别功率状态包括:
从所述一组静态硬件资源表中识别与从所述主机接收到的所述操作命令相关联的功率状态。
4.根据权利要求3所述的方法,其中,控制分配包括:
在所述操作命令所需的管芯超过所述SSD的最大活动管芯限制时,将所述操作命令排队以进行资源分配,直到任意活动管芯变成空闲状态为止。
5.根据权利要求4所述的方法,其中,控制分配包括:
在所述操作命令所需的管芯小于所述SSD的最大活动管芯限制时,为所述操作命令分配资源并执行所述操作命令。
6.根据权利要求1所述的方法,进一步包括:基于从所述主机接收的所述操作命令,向所述主机提供所述SSD的最大功耗。
7.根据权利要求6所述的方法,进一步包括:基于所述操作命令的工作负载和所述SSD的功率状态,预测从所述主机接收到的所述操作命令的最大功耗。
8.根据权利要求6所述的方法,进一步包括:基于所述操作命令的工作负载和所述SSD的功率状态,预测所述SSD的最大硬件分配。
9.根据权利要求3所述的方法,进一步包括:在具有多种功率状态的所述SSD中的不同存储器装置之间分配硬件资源。
10.根据权利要求9所述的方法,其中,所述多种功率状态在空闲状态或非操作功率状态与具有最小功率节流的默认功率状态之间具有不同的功耗。
11.一种操作数据处理系统的系统,包括:
主机;
存储器存储装置;以及
控制器,包括在所述存储器存储装置中,所述控制器:
识别与固态驱动器即SSD相关联的工作负载;
针对从所述主机接收到的操作命令识别所述SSD的功率状态;以及
根据识别出的功率状态的预算目标,控制用于识别出的工作负载的硬件资源的分配和/或者分配解除。
12.根据权利要求11所述的系统,其中,所述控制器根据多个操作命令针对所述SSD的每种功率状态生成一组静态硬件资源表。
13.根据权利要求12所述的系统,其中,所述控制器从所述一组静态硬件资源表中识别与从所述主机接收到的所述操作命令相关联的功率状态。
14.根据权利要求13所述的系统,其中,所述控制器:
在所述操作命令所需的管芯超过对所述SSD的最大活动管芯限制时,将所述操作命令排队以进行资源分配,直到任意活动管芯变为空闲状态为止。
15.根据权利要求14所述的系统,其中,所述控制器:
在所述操作命令所需的管芯小于对所述SSD的最大活动管芯限制时,为所述操作命令分配资源并执行所述操作命令。
16.根据权利要求11所述的系统,其中,基于从所述主机接收到的所述操作命令向所述主机提供所述SSD的最大功耗。
17.根据权利要求16所述的系统,其中,所述控制器基于所述操作命令的工作负载和所述SSD的功率状态来预测从所述主机接收到的所述操作命令的最大功耗。
18.根据权利要求16所述的系统,其中,所述控制器基于所述操作命令的工作负载和所述SSD的功率状态来预测所述SSD的最大硬件分配。
19.根据权利要求13所述的系统,其中,所述控制器在具有多种功率状态的所述SSD中的不同存储器装置之间分配硬件资源。
20.根据权利要求19所述的系统,其中,所述多种功率状态在空闲状态或非操作功率状态与具有最小节流的默认功率状态之间具有不同的功耗。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/940,324 US20240086086A1 (en) | 2022-09-08 | 2022-09-08 | Ssd performance per power state improvement by deterministic utilization control |
US17/940,324 | 2022-09-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117667382A true CN117667382A (zh) | 2024-03-08 |
Family
ID=90075953
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211583127.1A Pending CN117667382A (zh) | 2022-09-08 | 2022-12-09 | 通过确定性利用率控制进行的每种功率状态的ssd性能改进 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20240086086A1 (zh) |
CN (1) | CN117667382A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117894347B (zh) * | 2024-03-15 | 2024-05-24 | 深圳市铨兴科技有限公司 | 一种固态硬盘功耗控制方法、系统和介质 |
-
2022
- 2022-09-08 US US17/940,324 patent/US20240086086A1/en active Pending
- 2022-12-09 CN CN202211583127.1A patent/CN117667382A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240086086A1 (en) | 2024-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106371888B (zh) | 支持虚拟机的存储设备,包括其的存储系统和其操作方法 | |
CN107885456B (zh) | 减少io命令访问nvm的冲突 | |
US8504784B2 (en) | Scheduling methods of phased garbage collection and housekeeping operations in a flash memory system | |
EP3361386B1 (en) | Intelligent far memory bandwidth scaling | |
US9760392B1 (en) | Adaptive throttling in hybrid storage environments | |
KR101505395B1 (ko) | 플래시 메모리 시스템에서 페이징된 가비지 수집과 하우스 키핑 동작 | |
US9323584B2 (en) | Load adaptive data recovery pipeline | |
US20130326113A1 (en) | Usage of a flag bit to suppress data transfer in a mass storage system having non-volatile memory | |
KR102079939B1 (ko) | 데이터 저장 장치 및 그것의 명령어 스케줄링 방법 | |
CN110888592B (zh) | 基于延迟ssd系统智能并行资源利用的请求调度方法及系统 | |
US10768684B2 (en) | Reducing power by vacating subsets of CPUs and memory | |
US10534712B1 (en) | Service level agreement based management of a pre-cache module | |
CN117667382A (zh) | 通过确定性利用率控制进行的每种功率状态的ssd性能改进 | |
CN112783424B (zh) | 存储装置及其控制方法 | |
CN111913654A (zh) | 控制器及具有其的存储器系统 | |
Kim et al. | FAST I/O: QoS supports for urgent I/Os in NVMe SSDs | |
CN107885667B (zh) | 降低读命令处理延迟的方法与装置 | |
CN110908595B (zh) | 存储装置及信息处理系统 | |
JP2016045563A (ja) | Nandバックグラウンド処理制御装置 | |
US11847326B2 (en) | Storage operation suspend system | |
KR20210007417A (ko) | 멀티-코어 시스템 및 그 동작 제어 방법 | |
CN111522504B (zh) | 存储器控制器以及包括存储器控制器的存储器系统 | |
Zhou et al. | Calcspar: A {Contract-Aware}{LSM} Store for Cloud Storage with Low Latency Spikes | |
CN108572924B (zh) | 一种3d mlc闪存设备的请求处理方法 | |
US11030007B2 (en) | Multi-constraint dynamic resource manager |
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 |