固态存储系统中的功率管理系统和方法与流程
未命名
07-23
阅读:61
评论:0

1.本文公开内容涉及非易失性存储系统的管理,特别涉及非易失性存储系统的功率管理。
背景技术:
2.基于快速、可靠非易失性存储器(nvm)的存储系统,如固态硬盘(ssd),已经彻底改变了数据存储。最近,nvm express(nvme)是一种行业标准,它提供了访问非易失性存储器的超快速方式。然而,nvme技术也有一个缺点:高功耗。因此,非易失性存储系统必须进行功率管理,在功率、性能、产品可靠性和客户体验之间找到可接受的平衡。
3.通常,非易失性存储系统可能是可操作的或空闲的,因此,已经定义了各种可操作和空闲功率级别。当非易失性存储系统不可操作但未能转换到较低功率模式时,即使非易失性存储系统处于空闲状态,它也将继续消耗功率。另一方面,虽然空闲功率状态提供了各种节能级别,但在进入和退出每个空闲功率状态所需的时间上存在权衡。长的进入和退出延迟会导致性能降低或响应时间延长。因此,需要对非易失性存储驱动器进行功率管理,为节能和进入/退出延迟提供平衡的方法。
技术实现要素:
4.本公开提供了一种实现伪空闲功率状态的存储系统。该伪空闲功率状态可以被定位为活动和空闲功率状态之间的中间功率状态,其中进入延迟和退出延迟比任何空闲功率状态快至少一个数量级。在伪空闲功率状态下,功耗可能比任何活动状态的最低功耗低约一个数量级(5-20倍),比任何空闲状态的最高功耗高约一个量级。
5.在各种实施例中,可以实现管理进入和退出伪空闲功率状态的方法和系统。连接到主机的数据总线的阈值数据传输速率可以是进入伪空闲功率状态的一个预定条件。用于从主机接收的命令的非空命令队列可以作为进入伪空闲功率状态的另一个条件。当命令队列为空,并且总线传输速率低于预定阈值但高于零时,存储系统可以进入这种伪空闲功率状态。命令队列也可以作为退出伪空闲功率状态并进入活动功率状态的条件。当存在来自主机的命令时,示例的非易失性存储系统可以退出伪空闲功率状态并进入全性能功率状态。
6.在一个示例性实施例中,提供了一种非易失性存储系统,其可以包括:耦合到主机的第一接口、非易失性存储设备、包括命令队列和处理器的存储控制器,以及耦合存储控制器和非易失性存储设备的第二接口。处理器可以被配置为:在活动功率状态下处理来自主机的数据传输请求,监视命令队列和第一接口的数据总线上的数据传输速率,确定数据传输速率低于预定阈值并且命令队列中没有命令,进入伪空闲功率状态,其中所述第二接口的输入和输出(io)驱动器被关闭但所述存储控制器的片上内存的功率域保持接通,确定所述命令队列中存在来自所述主机的新命令,并退出所述伪空闲功率状态并进入所述活动功率状态。
7.在另一个示例性实施例中,提供了一种用于管理非易失性存储系统的功率的方法。该方法可以包括处理来自处于活动功率状态的主机的数据传输请求、监视非易失性存储系统的存储控制器中的命令队列以及主机和非易失性存储系统之间的第一接口的数据总线上的数据传输速率,确定数据传输速率下降到预定阈值以下并且在命令队列中没有命令,进入伪空闲功率状态,其中耦合所述存储控制器和所述非易失性存储系统的非易失性存储设备的第二接口的输入和输出(io)驱动器被关闭,但用于所述存储控制装器的片上内存的功率域保持打开,确定在所述命令队列中存在来自所述主机的新命令,以及退出伪空闲功率状态并进入活动功率状态。
8.优选地,所述数据传输速率的所述预定阈值是每秒500兆字节(mb/s);
9.优选地,所述数据传输速率是作为在一秒内传输的数据的大小计算的平均总线传输速率;
10.优选地,以每毫秒一次的频率检查所述数据传输速率;
11.优选地,所述存储控制器的片上内存是静态随机存取存储器(sram);
12.优选地,所述方法还包括在所述伪空闲功率状态下关闭所述第二接口的裸片上端接(odt)电路;
13.优选地,所述方法还包括在所述伪空闲功率状态下,开启时钟门控并维持所述存储控制器的时钟速度,所述时钟速度低于所述活动功率状态但高于任何空闲功率状态。
14.在另一个示例性实施例中,提供了一种嵌入计算机指令的非暂时性机器可读介质。当由硬件处理器执行时,计算机指令可以使硬件处理器执行:处理来自处于活动功率状态的非易失性存储系统处的主机的数据传输请求,监测所述非易失性存储系统的存储控制器中的命令队列以及所述主机和所述非易失性存储系统之间的第一接口的数据总线上的数据传输速率,确定所述数据传输速率下降到预定阈值以下并且所述命令队列中没有命令,进入伪空闲功率状态,其中耦合所述存储控制器和所述非易失性存储系统的非易失性存储设备的第二接口的输入和输出(io)驱动器被关闭,但用于所述存储控制装器的片上内存的功率域保持打开,确定在所述命令队列中存在来自所述主机的新命令,以及退出伪空闲功率状态并进入活动功率状态。
15.优选地,所述数据传输速率的所述预定阈值是每秒500兆字节(mb/s)。
16.优选地,所述数据传输速率是平均总线传输速率,其被计算为在一秒内传输的数据的大小,并且以每毫秒一次的频率进行检查。
17.优选地,当所述计算机指令由所述硬件处理器执行时,所述计算机指令进一步使得所述硬件处理器执行:当所述数据传输速率为零的时长达到第一时间阈值并且在所述命令队列中没有来自所述主机的新命令时,退出所述伪空闲功率状态并进入睡眠状态,并且所述第一时间阈值在1到3秒的范围内。
18.优选地,当所述计算机指令由所述硬件处理器执行时,所述计算机指令进一步使得所述硬件处理器在所述伪空闲功率状态下执行:关断所述第二接口的裸片上端接(odt)电路。
19.优选地,当所述计算机指令由所述硬件处理器执行时,所述计算机指令进一步使得所述硬件处理器在所述伪空闲功率状态下执行开启时钟门控并维持所述存储控制器的时钟速度,所述时钟速度低于所述活动功率状态但高于任何空闲功率状态
附图说明
20.图1示意性显示了根据本公开实施例的具有功率管理的非易失性存储系统;
21.图2是根据本公开实施例的非易失性存储系统的功率状态框图;
22.图3是根据本公开实施例的用于对非易失性存储系统进行功率管理的过程的流程图。
具体实施方式
23.现在将参考附图详细描述根据本公开的具体实施例。为了一致性,各个图中的相似元件由相似的参考数字表示。
24.图1示意性地示出了根据本公开实施例的具有包括伪空闲状态的功率管理的非易失性存储系统100。非易失性存储系统100可以包括存储控制器102和一个或多个非易失性存储器(nvm)设备104。存储控制器102可以通过nvm设备接口116耦合到一个或多个nvm设备104。nvm设备接口116可以包括输入和输出驱动器(io)以及裸片上端接(odt)电路。在实施例中,nvm器件是nand器件,nvm设备接口116可以是nand接口。
25.非易失性存储系统100可以通过接口108耦合到主机106。接口108可以包括用于在非易失性存储系统100和主机106之间进行数据传输的数据总线。接口108可以是许多当前使用或尚未开发的接口之一,例如但不限于串行at附件(sata)、并行ata(pata)、pci express(pcie)、安全数字(sd)、通用串行总线(usb)等。非易失性存储系统100可以在存储卡中实现,usb闪存驱动器和固态驱动器,以便为主机106提供非易失性存储。
26.nvm设备104可以为非易失性存储系统100提供非易失数据存储。在一些实施例中,nvm器件104可以是一个或多个nand闪存器件。
27.存储控制器102可以包括计算机处理器110、存储器112和命令队列114。计算机处理器110可以是例如微处理器或微控制器。存储器112可以是片上静态随机存取存储器(sram),并且可以存储管理非易失性存储系统100的固件的可执行指令和数据。在至少一个实施例中,计算机处理器110可以被配置为执行存储器112中的固件的可执行指令,以执行用于管理非易失性存储系统100的各种操作。命令队列114可以是用于来自主机104的命令的存储器。在接口108是pci express(pcie)的实施例中,来自主机的所有命令可以被称为非易失性存储器express(nvme)命令。nvme命令可以包括各种命令集,例如管理命令和i/o命令。管理命令可以包括管理和管理命令,包括识别和获取日志页等。i/o命令可以处理诸如读取和写入之类的数据访问。
28.存储控制器102可以被配置为执行非易失性存储系统100的功率管理。在一些实施例中,非易失性存储系统100可以具有一个或多个活动功率状态。在一个或多个活动功率状态中的每一个中,非易失性存储系统100可以是完全可操作的并且主动地处理来自主机104的数据请求。例如,可以从主机104接收数据请求作为数据访问命令。存储控制器102可以从命令队列114中获取命令并为数据请求提供服务(例如,从nvm设备104读取数据或向nvm设备写入数据)。
29.在一些实施例中,一个或多个活动功率状态可以包括功率状态零(ps0)、功率状态1(ps1)和功率状态2(ps2)。ps0可以是具有全速和性能以及最高功耗的活动状态。当非易失性存储系统100处于ps0功率状态时,非易失性存储系统100的各种组件可以是可操作的,例
如,nvm设备接口116的存储器112、nvm设备io和odt电路,控制器102的各种功率域可以被接通。此外,不存在用于控制器时钟的时钟门控,并且控制器102的时钟速度可能很高。相比之下,ps1和ps2可能具有一定程度的节流,以限制功耗和性能。例如,控制器102的时钟速度在ps1中可能比在ps0中慢,并且在ps2中可能比ps1中慢。
30.非易失性存储系统100还可以具有一个或多个空闲功率状态。例如,一个或多个空闲功率状态可以包括功率状态3(ps3)和功率状态4(ps4)。ps3可以被称为睡眠状态,其中非易失性存储系统100可以进入睡眠模式。例如,存储器112可以处于睡眠状态(功率关闭但周期性地打开以进行刷新),nvm设备io和odt可以关闭,控制器102的各种功率域可以部分打开和部分关闭。
31.此外,可以对控制器时钟启用时钟门控,并且控制器102的时钟速度可能非常低。ps4可以被称为深度睡眠状态,在深度睡眠状态中,除了在ps3状态中关闭的那些组件之外,非易失性存储系统100的更多组件可以被关闭。例如,控制器102的各种功率域可以被关闭。
32.除了一个或多个活动功率状态和一个或更多个空闲功率状态外,非易失性存储系统100还可以具有至少一个功率状态,该功率状态可以比任何空闲功率状态消耗更多的功率,而比任何活动功率状态消耗更少的功率。功耗在活动功率状态和空闲功率状态之间的功率状态既不是活动功率状态,也不是空闲功率状态,并且可以被称为伪空闲功率状态。在伪空闲功率状态下,与空闲功率状态相比,非易失性存储系统100的更多组件可以被开启,并且与活动功率状态相比非易失性感存系统100的更少组件可以被打开。例如,在伪空闲功率状态下,存储器112可以打开,nvm设备io和odt可以关闭,控制器102的各种功率域可以打开。此外,在伪空闲功率状态下,可以对控制器时钟启用时钟门控,并且控制器102的时钟速度可以较低。
33.表1可以说明伪空闲功率状态ps0和ps3的一些示例性特征,并表明伪空闲功率态可能与现有空闲状态不同。首先,控制器102的内部存储器112(sram)可以在伪空闲功率状态期间保持导通。相反,处于ps3功率状态的内部sram可以被置于深度睡眠模式。第二,nvm设备io驱动器和片上终端(odt)可以在伪空闲功率状态下被切换到关断以节省功率,并且可以在空闲功率状态中保持关断。
34.第三,控制器102内部的功率域可以在伪空闲功率状态下保持开启,而在ps3中,一些功率域可以关闭。例如,存储器控制器的功率域在ps3中被关闭,但在伪空闲功率状态下可以保持打开。
35.第四,控制器时钟门控可以在伪空闲功率状态下启用,以进一步节省功率,而在活动状态下可以禁用。因此,伪空闲功率状态可以具有比空闲状态ps3更短的退出等待时间(例如,更短的退出时间)。因为ps3可以具有比ps4更短的退出等待时间,所以伪空闲功率状态可以具有比空闲状态ps4短得多的退出等待。也就是说,非易失性存储系统100可以比ps3和ps4更快地退出伪空闲功率状态并进入ps0(或任何其他活动功率状态)。
[0036][0037][0038]
表1一个实施例中的伪空闲功率状态的实现细节
[0039]
如表1所示,伪空闲功率状态的内部时钟速度可能低于活动状态的内部钟速度,高于ps3的内部时钟速率。在一个示例性实施例中,用于控制器102的内部cpu时钟在伪空闲功率状态下可以是166mhz,而在活动状态下为400-800mhz,在ps3空闲状态下仅为几个mhz。
[0040]
可以监控通过接口108的数据总线的数据传输,以确定非易失性存储系统100是否应该从活动功率状态进入伪空闲功率状态。例如,当接口108上的数据传输速率下降到预定阈值以下但仍高于零并且在命令队列114中没有命令时,非易失性存储系统100可以从活动功率状态切换。在一个实施例中,接口108的数据总线可以由处理器110监控(例如,执行固件)。处理器110可以通过计算在给定时间间隔(例如,1秒)内传输的数据的大小来计算平均总线传输速率。在一些实施例中,平均总线传输速率可以用于监视数据总线,并且预定阈值可以是每秒500兆字节(mb/s)。可以通过以每毫秒一次的频率(例如1khz)检查总线传输速率来监测数据传输。如果从主机106接收到新命令并将其输入到命令队列114中,则无论它是管理命令还是i/o命令,非易失性存储系统100都可以退出伪空闲功率状态并进入活动状态。
[0041]
图2是根据本公开实施例的非易失性存储系统的功率状态框图。零功率状态(ps0)可以是具有全速和全性能的活动功率状态。当接口108的空闲时间达到第一阈值时,非易失性存储系统100可以从ps0切换到ps3。当接口108的数据传输速率为零时,接口108可以是空闲的。在一些实施例中,第一阈值可以是秒的数量级,例如,在1到3秒(1~3秒)的范围内。
[0042]
当接口108的空闲时间达到第二阈值时,非易失性存储系统100可以从ps3切换到ps4。在一些实施例中,第二阈值可以是几十秒的数量级,例如,在10到30秒(10到30秒钟)的范围内。
[0043]
在各种实施例中,当接口108的数据传输速率低于预定阈值(例如,500mb/s)并且命令队列114中没有命令时,非易失性存储系统100可以从ps0切换到伪空闲功率状态。如果存在来自主机106的新命令,则非易失性存储系统100可以退出伪空闲功率状态并返回到活动ps0功率状态。
[0044]
当在接口108的数据总线上恢复数据传输时(例如,在接收和处理新的数据访问命令之后),非易失性存储系统100可以退出ps3功率状态和ps4功率状态,并返回到活动ps0功率状态。当接口108的数据总线上的数据传输速率已经达到零并且保持空闲达阈值(例如,1
~3秒)时,非易失性存储系统100也可以从伪空闲状态切换到ps3功率状态。
[0045]
非易失性存储系统100可以具有其他活动功率状态,并且功率状态ps0可以是这些活动功率状态的代表性功率状态。用于在任何其他活动功率状态和伪空闲功率状态之间转换(例如,到和从)的条件可以与ps0和伪空闲状态相同。
[0046]
图3是根据本公开实施例的用于对非易失性存储系统进行功率管理的过程300的流程图。在方框302,来自主机的数据请求可以由处于活动功率状态的非易失性存储系统来处理。例如,非易失性存储系统100可以在活动功率状态下处理来自主机106的数据请求。数据请求可以是从主机接收的i/o命令,用于向非易失性存储系统100写入数据或从其读取数据。
[0047]
在块304,可以监控连接到主机的数据总线上的数据传输速率以及用于来自主机的命令的命令队列。例如,接口108可以具有耦合到主机的数据总线,并且可以周期性地检查接口108的数据总线上的数据传输速率(例如,通过计算每秒传输的数据的大小)。此外,命令队列114可以由控制器102监控。可以通过以每毫秒一次的频率(例如1khz)检查总线传输速率来监测数据传输。在方框306,可以确定数据传输速率下降到预定阈值以下,并且在命令队列中没有命令。例如,控制器102可以确定在命令队列中没有命令,并且数据传输速率已经下降到预定阈值(例如,500mb/s)以下。
[0048]
在块308,非易失性存储系统可以进入伪空闲功率状态,在该状态下,nvm设备接口的输入和输出(io)驱动器可以关闭,但存储控制器的片上内存的功率域可以保持打开。在各种实施例中,非易失性存储系统100可以使用连接到主机的接口的数据总线上的数据传输速率以及命令队列114中是否存在命令作为判断是否进入伪空闲功率状态的标准。一旦数据传输速率下降到预定阈值以下并且在命令队列114中没有命令,非易失性存储系统100就可以进入伪空闲功率状态,在该状态中,非易失性存储系统100可以关闭某些功能以变得不完全可操作但也不空闲,例如,nvm设备接口的i/o驱动器关闭,但存储控制器的sram的功率域可以保持打开。
[0049]
在方框310处,可以确定存在来自主机的新命令。在框312,非易失性存储系统可以退出伪空闲功率状态以进入活动功率状态。例如,非易失性存储系统100可以监视命令队列114,并且一旦从主机106接收到新命令并将其输入到命令队列中,非易失性存储系统100就可以离开伪空闲功率状态并进入活动功率状态。
[0050]
与功率管理(例如,不同功率状态之间的转换)相关的过程300和非易失性存储系统100的特征可以使用软件(例如,可由计算机处理器(cpu、gpu或两者)执行)、硬件(例如,现场可编程门阵列(fpga)或专用集成电路(asic)、固件或这三者的任何适当组合来实现。在一个实施例中,例如,过程300和非易失性存储系统100的与功率管理有关的特征可以被编程在计算机处理器可执行指令中,存储在非暂时性机器可读介质(例如,非易失性存储设备104、硬盘驱动器、cd、dvd等)中,并由执行可执行指令的处理器110(例如,微处理器或微控制器)执行。
[0051]
在一个示例性实施例中,提供了一种非易失性存储系统,其可以包括:耦合到主机的第一接口、非易失性存储设备、包括命令队列和处理器的存储控制器,以及耦合存储控制器和非易失性存储设备的第二接口。处理器可以被配置为:在活动功率状态下处理来自主机的数据传输请求,监视命令队列和第一接口的数据总线上的数据传输速率,确定数据传
输速率低于预定阈值并且命令队列中没有命令,进入伪空闲功率状态,其中所述第二接口的输入和输出(io)驱动器被关闭但所述存储控制器的片上内存的功率域保持接通,确定所述命令队列中存在来自所述主机的新命令,并退出所述伪空闲功率状态并进入所述活动功率状态。
[0052]
在一个实施例中,数据传输速率的预定阈值可以是每秒500兆字节(mb/s)。
[0053]
在一个实施例中,数据传输速率可以是平均总线传输速率,计算为一秒内传输的数据大小。
[0054]
在一个实施例中,可以以每毫秒一次的频率检查数据传输速率。
[0055]
在一个实施例中,处理器可以进一步配置为当数据传输速率为零的时长达到第一时间阈值并且命令队列中没有来自主机的新命令时,退出伪空闲功率状态并进入睡眠状态。第一时间阈值可以在1到3秒的范围内。
[0056]
在一个实施例中,在伪空闲功率状态下,处理器可以进一步配置为关闭第二接口的裸片上端接(odt)电路。
[0057]
在一个实施例中,在伪空闲功率状态下,处理器可以进一步配置为开启时钟门控,并保持存储控制器的时钟速度,该时钟速度低于活动功率状态,但高于任何空闲功率状态。
[0058]
在另一个示例性实施例中,提供了一种用于管理非易失性存储系统的功率的方法。该方法可以包括处理来自处于活动功率状态的主机的数据传输请求、监视非易失性存储系统的存储控制器中的命令队列以及主机和非易失性存储系统之间的第一接口的数据总线上的数据传输速率,确定数据传输速率下降到预定阈值以下并且在命令队列中没有命令,进入伪空闲功率状态,其中耦合所述存储控制器和所述非易失性存储系统的非易失性存储设备的第二接口的输入和输出(io)驱动器被关闭,但用于所述存储控制装器的片上内存的功率域保持打开,确定在所述命令队列中存在来自所述主机的新命令,以及退出伪空闲功率状态并进入活动功率状态。
[0059]
在一个实施例中,数据传输速率的预定阈值可以是每秒500兆字节(mb/s)。
[0060]
在一个实施例中,数据传输速率可以是平均总线传输速率,计算为一秒内传输的数据大小。
[0061]
在一个实施例中,可以以每毫秒一次的频率检查数据传输速率。
[0062]
在一个实施例中,存储控制器的片上内存可以是静态随机存取存储器(sram)。
[0063]
在一个实施例中,该方法还可以包括:在伪空闲功率状态下关闭第二接口的裸片上端接(odt)电路。
[0064]
在一个实施例中,该方法还可以包括,在伪空闲功率状态下,开启时钟门控(clock gating),并保持存储控制器的一个时钟速度,该时钟速度低于活动功率状态,但高于任何空闲功率状态。
[0065]
在另一个示例性实施例中,提供了一种嵌入计算机指令的非暂时性机器可读介质。当由硬件处理器执行时,计算机指令可以使硬件处理器执行:处理来自处于活动功率状态的非易失性存储系统处的主机的数据传输请求,监测所述非易失性存储系统的存储控制器中的命令队列以及所述主机和所述非易失性存储系统之间的第一接口的数据总线上的数据传输速率,确定所述数据传输速率下降到预定阈值以下并且所述命令队列中没有命令,进入伪空闲功率状态,其中耦合所述存储控制器和所述非易失性存储系统的非易失性
存储设备的第二接口的输入和输出(io)驱动器被关闭,但用于所述存储控制装器的片上内存的功率域保持开启,确定在所述命令队列中存在来自所述主机的新命令,以及退出伪空闲功率状态并进入活动功率状态。
[0066]
在一个实施例中,数据传输速率的预定阈值可以是每秒500兆字节(mb/s)。
[0067]
在一个实施例中,数据传输速率可以是计算为每秒传输的数据大小的平均总线传输速率,并以每毫秒一次的频率进行检查。
[0068]
在一个实施例中,当计算机指令由硬件处理器执行时,可以进一步使硬件处理器执行:当数据传输速率为零的时长达到第一时间阈值并且命令队列中没有来自主机的新命令时,退出伪空闲功率状态并进入睡眠状态。第一时间阈值可以在1到3秒的范围内。
[0069]
在一个实施例中,当计算机指令由硬件处理器执行时,可以进一步使硬件处理器在伪空闲功率状态下执行:关闭第二接口的裸片上终止(odt)电路。
[0070]
在一个实施例中,当计算机指令由硬件处理器执行时,可以进一步使硬件处理器在伪空闲功率状态下执行开启时钟门控并保持存储控制器的时钟速度,该时钟速度低于活动功率状态,但高于任何空闲功率状态。
[0071]
任何公开的方法和操作都可以实现为存储在一个或多个计算机可读存储介质上的计算机可执行指令(例如,用于本文所述操作的软件代码)(例如,非瞬态计算机可读介质,例如一个或更多个光盘、易失性存储器组件(例如dram或sram),或非易失性存储器组件(例如硬盘驱动器))并且在设备控制器上执行(例如由asic执行的固件)。用于实现所公开的技术的任何计算机可执行指令以及在所公开的实施例的实现期间创建和使用的任何数据可以存储在一个或多个计算机可读介质(例如,非临时计算机可读介质)上。
[0072]
虽然本文公开了各种方面和实施例,但其他方面和实施方案对本领域技术人员来说是显而易见的。本文所公开的各个方面和实施例是为了说明的目的,而不是旨在进行限制,真正的范围和精神由权利要求体现。
技术特征:
1.一种非易失性存储系统,其特征在于,包括:第一接口,所述第一接口被耦合到主机;非易失性存储设备;存储控制器,包括命令队列和处理器;和第二接口,其耦合所述存储控制器和所述非易失性存储设备,其中所述处理器被配置为:在活动功率状态下处理来自所述主机的数据传输请求;监视所述命令队列和所述第一接口的数据总线上的数据传输速率;确定所述数据传输速率下降到预定阈值以下并且在所述命令队列中没有命令;进入伪空闲功率状态,其中所述第二接口的输入和输出(io)驱动器被关闭,但所述存储控制器的片上内存的功率域保持通电;确定在所述命令队列中存在来自所述主机的新命令;和退出所述伪空闲功率状态并进入所述活动功率状态。2.根据权利要求1所述的非易失性存储系统,其特征在于,所述数据传输速率的所述预定阈值是每秒500兆字节(mb/s)。3.根据权利要求1所述的非易失性存储系统,其特征在于,所述数据传输速率是作为在一秒内传输的数据的大小计算的平均总线传输速率。4.根据权利要求3所述的非易失性存储系统,其特征在于,以每毫秒一次的频率检查所述数据传输速率。5.根据权利要求1所述的非易失性存储系统,其特征在于,所述处理器还被配置为当所述数据传输速率为零的时长达到第一时间阈值并且在所述命令队列中没有来自所述主机的新命令,并且所述第一时间阈值在1到3秒的范围内时,退出所述伪空闲功率状态并进入睡眠状态。6.根据权利要求1所述的非易失性存储系统,其特征在于,在所述伪空闲功率状态下,所述处理器还被配置为关闭所述第二接口的裸片上端接(odt)电路。7.根据权利要求1所述的非易失性存储系统,其特征在于,在所述伪空闲功率状态中,所述处理器还被配置为开启时钟门控并维持所述存储控制器的时钟速度,所述时钟速度低于所述活动功率状态但高于任何空闲功率状态。8.一种用于管理非易失性存储系统的功率的方法,其特征在于,包括:处理来自处于活动功率状态的主机的数据传输请求;监测所述非易失性存储系统的存储控制器中的命令队列以及所述主机和所述非易失性存储系统之间的第一接口的数据总线上的数据传输速率;确定所述数据传输速率下降到预定阈值以下并且在所述命令队列中没有命令;进入伪空闲功率状态,其中耦合所述存储控制器和所述非易失性存储系统的非易失性存储设备的第二接口的输入和输出(io)驱动器被关闭,但用于所述存储系统的片上内存的功率域保持接通;确定在所述命令队列中存在来自所述主机的新命令;和退出伪空闲功率状态并进入活动功率状态。9.根据权利要求8所述的方法,其特征在于,所述数据传输速率的所述预定阈值是每秒
500兆字节(mb/s);所述数据传输速率是作为在一秒内传输的数据的大小计算的平均总线传输速率;以每毫秒一次的频率检查所述数据传输速率;所述存储控制器的片上内存是静态随机存取存储器(sram);还包括在所述伪空闲功率状态下关闭所述第二接口的裸片上端接(odt)电路;还包括在所述伪空闲功率状态下,开启时钟门控并维持所述存储控制器的时钟速度,所述时钟速度低于所述活动功率状态但高于任何空闲功率状态。10.一种具有嵌入其上的计算机指令的非暂时性机器可读介质,其特征在于,所述计算机指令在由硬件处理器执行时使得所述硬件处理器执行:在处于活动功率状态的非易失性存储系统处理来自主机的数据传输请求;监测所述非易失性存储系统的存储控制器中的命令队列以及所述主机和所述非易失性存储系统之间的第一接口的数据总线上的数据传输速率;确定所述数据传输速率下降到预定阈值以下并且在所述命令队列中没有命令;进入伪空闲功率状态,其中耦合所述存储控制器和所述非易失性存储系统的非易失性存储设备的第二接口的输入和输出(io)驱动器被关闭,但用于所述存储系统的片上内存的功率域保持接通;确定在所述命令队列中存在来自所述主机的新命令;和退出伪空闲功率状态并进入活动功率状态。
技术总结
本申请提供了用于非易失性存储(NVM)系统的功率管理的系统、装置和方法。非易失性存储系统可以包括耦合到主机的第一接口、NVM设备、包括命令队列和处理器的存储控制器,以及耦合存储控制器和NVM设备的第二接口。处理器可以被配置为在活动功率状态下处理来自主机的数据传输请求,监视命令队列和第一接口上的数据传输速率,确定数据传输速率下降到预定阈值以下并且命令队列为空,进入伪空闲功率状态,确定存在来自主机的新命令,并且退出伪空闲功率状态并进入活动功率状态。状态并进入活动功率状态。状态并进入活动功率状态。
技术研发人员:请求不公布姓名
受保护的技术使用者:英韧科技(上海)有限公司
技术研发日:2023.04.25
技术公布日:2023/7/22
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/