本文所述的实施方案总体涉及数据存储,并且尤其涉及存储设备中的低功率模式。
背景技术:
各种主机系统,诸如移动和个人计算机,包括用于数据的永久存储的存储设备。存储设备例如可包括基于闪存存储器的固态驱动器(ssd)。
技术实现要素:
本文所述的实施方案提供了包括非易失性存储器、易失性存储器和控制器的存储设备。易失性存储器支持正常模式和自刷新模式。控制器被配置为当在正常模式使用易失性存储器时将用于主机的数据存储在非易失性存储器中,并响应于从主机接收到掉电命令来去激活存储设备的至少一部分以及将易失性存储器从正常模式切换到自刷新模式。
在一些实施方案中,易失性存储器包括动态随机存取存储器(dram)。在实施方案中,控制器被配置为响应于接收到掉电命令来去激活存储设备和主机之间的主接口,并通过与主接口分开的唤醒接口来从主机接收唤醒命令。
在一些实施方案中,控制器被配置为响应于从主机接收到唤醒命令来激活存储设备的至少一部分以及将易失性存储器切换到正常模式。在示例性实施方案中,控制器被配置为响应于检测到当易失性存储器处于自刷新模式时发生电力中断来从非易失性存储器恢复易失性存储器的内容。在另一实施方案中,控制器被配置为响应于检测到当易失性存储器处于自刷新模式时发生电力中断来根据电力中断的持续时间决定是否从非易失性存储器恢复易失性存储器的内容。在又一实施方案中,控制器被配置为在切换到自刷新模式之前将易失性存储器的内容备份到非易失性存储器中,并响应于唤醒命令来决定是否从非易失性存储器恢复易失性存储器的内容。
在一些实施方案中,存储设备还包括备用电源,该备用电源被配置为至少当易失性存储器处于自刷新模式时为易失性存储器提供临时电力。在实施方案中,控制器被配置为响应于掉电命令将易失性存储器切换到自刷新模式并且随后向主机发送确认,并响应于从主机接收到去激活指令来去激活存储设备的至少一部分。
根据本文所述的实施方案,另外提供了一种用于在存储设备中存储数据的方法,存储设备包括非易失性存储器和支持正常模式和自刷新模式的易失性存储器。当在正常模式使用易失性存储器时,数据为用于主机的存储在非易失性存储器中的数据。响应于从主机接收到掉电命令来去激活存储设备的至少一部分以及将易失性存储器从正常模式切换到自刷新模式。
根据本文所述的实施方案,还提供了一种包括主机和存储设备的系统。存储设备包括非易失性存储器、支持正常模式和自刷新模式的易失性存储器、以及控制器。控制器被配置为当在正常模式使用易失性存储器时将用于主机的数据存储在非易失性存储器中,以及响应于从主机接收到掉电命令来去激活存储设备的至少一部分以及将易失性存储器从正常模式切换到自刷新模式。
结合附图,从下文中对本发明的实施方案的详细描述将更完全地理解这些和其他实施方案,在附图中:
附图说明
图1是示意性地示出了根据本文所述的实施方案的主机系统的框图;并且
图2为示意性示出根据本文所述的实施方案的用于操作固态驱动器(ssd)的方法的流程图。
具体实施方式
概述
本文所述的实施方案提供了用于减小存储设备中的功率消耗的方法和系统。虽然本文所述的实施方案主要涉及固态驱动器(ssd),但所公开的技术可与各种其他适当类型的存储设备一起使用。
在所公开的实施方案中,存储设备包括非易失性存储器(nvm)、控制器和动态随机存取存储器(dram)或其他易失性存储器。在操作的正常模式下,在针对临时数据存储、管理数据结构和/或其他相关信息使用dram时,控制器与主机通信并且将用于主机的数据存储在nvm中。
除了正常模式之外,存储设备支持去激活大部分的存储设备电路的节电模式,并且dram被设置为自刷新模式。在自刷新模式下,暂停大部分的dram功能以使得功率消耗最小化,并且dram仅周期性地刷新其存储单元来保持其中存储的内容。
所公开的技术使能节电模式和正常模式之间的非常快的转变。由于dram内容由自刷新机构保持,在切换到节电模式之前不需要存储器将dram内容刷新到nvm,并且不需要在唤醒时从nvm获取dram内容。
而且,不需要主机在唤醒时重新发现或枚举存储设备。存储设备可仅保持在切换到节电模式之前使用过的枚举值。还不需要系统在唤醒时重新校准主机ssd接口,这是因为校准值可从dram恢复。
而且,由于dram内容未被刷新到nvm,所以所公开的技术减小nvm单元的磨损以及增大nvm寿命。此优点对于主机系统诸如移动计算机尤其明显,该主机系统在节电和正常操作之间频繁交替。
转变到所公开的节电模式以及从所公开的节电模式转变出来是通常由主机决定和触发的。主机通常具有最准确信息,其有关ssd的现有和未来活动、即将来临的电力中断和影响决定进入或退出节电模式的其他因素。主机对节电模式的明确控制使得节电最大化,以及有助于应用适当滞后并且避免在模式之间不必要的切换。
在实施方案中,除了用于数据存储和获取的主接口之外,存储设备和主机支持独立的唤醒接口。在实施方案中,主机使用主接口指示存储设备切换到节电模式,但是使用独立的唤醒接口发送唤醒指令。此特征使得存储设备能够在节电模式关闭主接口,并且进一步减小功率消耗。
在一些实施方案中,节电模式具有两个子模式。即使在节电时段期间发生电力故障,第一子模式也启用快速唤醒。第二子模式不提供此保证,并且需要涉及从nvm恢复dram内容的较慢唤醒。
系统描述
图1是根据本文所述的实施方案的示意性地示出了主机系统20的框图。系统20包括将数据存储在固态驱动器(ssd)28中的主机24。在示例性实施方案中,系统20包括个人或移动计算机、或移动计算或通信设备,并且主机24包括计算机或设备的中央处理单元(cpu)。
在另选的实施方案中,系统20可包括存储数据的任何其他适合类型的系统,诸如企业存储系统。作为ssd的另选方案,系统20可使用将数据存储在非易失性存储器(nvm)中的任何其他适合类型的存储设备。
在图1的实施方案中,ssd28包括一个或多个闪存设备32或其他适合nvm设备以及与主机24通信并且将数据存储在闪存设备32中的控制器36。控制器36使用主接口44和独立的唤醒接口48与主机24通信。在示例性的实施方案中,主接口44包括外围组件快速互连(pcie)接口,并且唤醒接口48包括离散输入/输出(i/o)信号。另选地,接口44和48可包括任何其他适合接口。
ssd28还包括易失性存储器,通常为动态随机存取存储器(dram)40。dram40例如可包括一个或多个双数据率(ddr)设备、单数据率(sdr)dram、低功率ddr(lpddr)或任何其他适合类型的dram。
dram40支持自刷新模式,其中大部分dram功能被暂停以减小功率消耗。在自刷新模式下,dram通常忽略存储和读出命令,并且仅周期性地刷新其存储器单元以保持在其中存储的内容。通常通过dram中的内部定时电路来管理刷新周期。还可在工作在该模式下时禁用dram时钟。一些dram设备支持“选择性自刷新”-仅刷新所选择部分的存储器的模式。在当前上下文中,此类选择性自刷新还被看成自刷新模式。
在本文所述的实施方案中,控制器36在各种模式下操作ssd28,各种模式包括至少正常模式和自刷新节电模式。模式之间的交替以及电力管理通常由电力管理模块52执行。(ssd可包括不必包含dram自刷新机构的附加的节电模式,但是这些模式被认为在本公开的范围之外。出于简洁的目的,自刷新节电模式由此仅称为“节电模式”。
图1的系统和存储设备配置是示例性配置,其纯粹为了概念上的清楚而示出。另选地,还可使用任何其他适合系统和存储设备配置。为了清楚起见,已从附图中省略了对于理解本发明的原理非必需的元件,诸如各种寻址电路、计时和排序电路及调试电路。
在图1中示出的示例性配置中,存储器设备32和ssd控制器36被实现为单独的集成电路(ic)。然而,在另选的实施方案中,存储器设备和控制器可被集成到单个多芯片封装件(mcp)或片上系统(soc)中的独立半导体模片上,并且可通过内部总线互连。此外另选地,控制器电路的部分或全部可以存在于在上面设置了存储器设备中的一个或多个的同一裸片上。另外另选地,控制器36的功能的一些或全部可由主机24,或任何其他类型的存储器控制器来实现。在一些实施方案中,主机24和控制器36可在相同裸片上制造,或在相同设备封装件中的单独模片上制造。
控制器36的功能例如可使用适合处理器上运行的软件、使用硬件(例如,状态机或其他逻辑)、或使用软件和硬件组件的组合来实现。另选地,控制器36可包括一个或多个处理器,其能够执行用于实现本文所述功能的软件。软件可以例如通过网络以电子形式下载到处理器,或者另选地或附加地,其可被提供于和/或存储在非暂态有形介质诸如磁性、光学、或电子存储器上。
使用dram自刷新的ssd节电模式
通常,当被指示切换到节电模式时,控制器36中的模块52将dram40设置为自刷新。dram保持连接到电力(假定ssd整体上保持加电),并且存储在dram中的信息由此得以保持。存储在dram40中的信息例如可包括已缓存的用户数据、元数据、逻辑物理地址转变表、杂项临时数据、和/或任何其他适合信息。
由于dram信息保持完整,所以切换成节电模式以及从节电模式切换出非常快。通常,不需要控制器36在切换到节电模式时将dram内容刷新到nvm,或者在唤醒时从nvm获取dram内容。也不需要主机在唤醒时重新发现和枚举ssd-主机可仅使用先前枚举值。
而且,主机或控制器有可能在唤醒时跳过(或者至少部分跳过)在主机和控制器之间重新校准接口,这是因为现有校准值可以被保持并且稍后从dram读出。此校准值例如可包括接口线的片上终端的校准、接口线上的定时偏差的校准、或者任何其他适合的校准值。
当切换到节电模式时,控制器36去激活大部分ssd电路(除了将dram设置为自刷新之外)从而减小功率消耗。当退出节电模式时,控制器36重新激活ssd电路从而恢复正常操作。控制器36可关闭一个或多个电力轨以及仅保持相关dram轨和dram接口锁定轨。控制器还可指示ssd的电源切换到在正常操作中不使用的低功率模式,从而获得一些电源效率。
通常,切换到节电模式以及从节电模式切换出是由主机24决定的。主机通过主接口44向ssd控制器36发送掉电命令来切换到节电模式。在一个实施方案中,主机24使用nvm-express(nvme)协议通过主接口44与控制器36通信。在该实施方案中,掉电命令包括nvme命令。
在图1的实施方案中,主机24通过在唤醒接口48将唤醒命令发送到控制器36来指示ssd28从节电模式唤醒。由于唤醒接口48与主接口44分开,所以控制器36也可在节电时段期间去激活主接口44。该特征启用另外的节电模式,尤其在(如在pcie中)主接口消耗相当大的电量时。
另一方面,唤醒接口48通常设计成是简化的并且消耗较少功率,因为它在节电时段期间保持活动。在本示例中,唤醒接口包括单个位i/o信号。另选地,还可使用任何其他适合接口,例如,简单命令接口。
然而,一般来讲,所公开的技术不要求使用独立唤醒接口。在一些实施方案中,主机24可通过主接口将唤醒命令发送到ssd28,在这种情况下接口48被省略。
在一些实施方案中,节电模式具有两个子模式。即使在节电时段期间发生电力故障,第一子模式也保证快速唤醒。第二子模式不提供此保证,并且需要涉及从nvm恢复dram内容的较慢唤醒。
为了实现第一子模式,无论外部电力整体上是否为ssd可用,dram40应保持连接到该电力。如果满足此条件,则即使出现影响ssd的电力故障,dram信息仍保持完整。在示例性的实施方案中,dram由备用电源诸如电池或超级电容器备份。备用电源的能量容量应足够持续用于最长预期的(或指定的)断电。
在另选的实施方案中,节电模式具有混合子模式。在该子模式中,dram内容在进入节电模式之前被复制到nvm,并且也保持在dram中。如果在节电时段期间未发生电力中断(或者如果电力中断足够短使得dram能使用自刷新保持其内容),则由于dram内容是完整的,所以ssd可快速返回到正常操作。否则,恢复较慢并且涉及从nvm恢复dram内容。
在实施方案中,主机可基于即将到来的电力中断的长度的先验知识决定应用哪个子模式。例如,考虑这样一种情形,其中主机未预期电力中断,或者预期电力中断足够短使得dram能支持其自刷新操作。在此情形中,主机可限制将dram内容复制到nvm并且依赖dram自刷新。在另一方面,如果主机预期较长电力中断,则可决定将dram内容复制到nvm。在此情况下恢复到正常操作可能取决于电力中断的实际持续时间,如在上述的混合子模式一样。
图2为根据本文所述的实施方案的示意性示出用于操作ssd28的方法的流程图。该方法开始于ssd控制器36在掉电指示步骤60通过主接口44从主机24接收掉电命令。
响应于掉电命令,在去激活步骤64,控制器36去激活ssd电路的至少一部分并且将dram40设置为自刷新。控制器例如可去激活闪存设备32、主接口44、和/或任何其他适合ssd组件。唤醒接口48通常保持活动以便检测唤醒命令。在该阶段,ssd36消耗较少功率。
在另选实施方案中,控制器36响应于掉电命令不立即去激活ssd电路,而仅仅准备去激活并且允许主机将其触发。在该实施方案中,在接收到掉电命令之后,控制器36为自刷新准备dram内容,将dram40设置为自刷新,并且向主机24确认ssd准备进入自刷新节电模式。主机24随后例如利用唤醒接口48指示ssd电路关闭。主机例如可指示ssd电源关闭不必要的电力轨并且进入低功率模式。
在稍晚的某个时间点,在唤醒步骤68,主机24使用唤醒接口48唤醒ssd36。响应于唤醒命令,在检查步骤72,控制器36检查电力中断或故障是否发生在节电时段期间。如果不是,则在快速唤醒步骤76,控制器36执行快速唤醒过程,该快速唤醒过程假定存储在dram40中的信息有效。
否则,在慢速唤醒步骤80,控制器36执行较慢唤醒过程,该较慢唤醒过程假定存储在dram40中的信息无效。后一过程通常涉及从闪存设备32恢复存储在dram40中的信息。在两个唤醒过程(步骤76和80)中,控制器36将dram40从自刷新切换到正常操作。
应当理解,上文所描述的实施方案以实施例的方式引用,并且以下权利要求不限于上文已特别示出或描述的内容。相反地,范围包括上文所描述的各种特征的组合和子组合两者,以及本领域的技术人员在阅读前述描述时将想到的并且在现有技术中未公开的所述各种特征的变型和修改。在本专利申请中以引用方式并入的文献被认为是本申请不可分割的一部分,但如果任何术语在这些并入的文献中被定义成与本说明书中明确地或隐含地作出的定义相冲突,应仅考虑本说明书中的定义。
权利要求书(按照条约第19条的修改)
1.一种存储设备,包括:
非易失性存储器;
易失性存储器,所述易失性存储器支持正常模式和自刷新模式;和
控制器,所述控制器被配置为:
当在正常模式下使用所述易失性存储器时将用于主机的数据存储在所述非易失性存储器中;
响应于从所述主机接收到掉电命令而去激活所述存储设备的至少一部分并将所述易失性存储器从正常模式切换到自刷新模式;以及
响应于从所述主机接收到唤醒命令而激活所述存储设备的所述至少一部分并将所述易失性存储器切换到正常模式。
2.根据权利要求1所述的存储设备,其中所述易失性存储器包括动态随机存取存储器(dram)。
3.根据权利要求1所述的存储设备,其中所述控制器被配置为响应于检测到当所述易失性存储器处于自刷新模式时发生电力中断而从所述非易失性存储器恢复所述易失性存储器的内容。
4.根据权利要求1所述的存储设备,其中所述控制器被配置为响应于检测到当所述易失性存储器处于自刷新模式时发生电力中断而根据所述电力中断的持续时间决定是否从所述非易失性存储器恢复所述易失性存储器的内容。
5.根据权利要求1所述的存储设备,其中所述控制器被配置为在切换到自刷新模式之前将所述易失性存储器的内容备份到所述非易失性存储器,并且响应于所述唤醒命令来决定是否从所述非易失性存储器恢复所述易失性存储器的内容。
6.根据权利要求1或2中任一项所述的存储设备,并且包括备用电源,所述备用电源被配置为至少当所述易失性存储器处于自刷新模式时为所述易失性存储器提供临时电力。
7.根据权利要求1或2中任一项所述的存储设备,其中所述控制器被配置为响应于所述掉电命令将所述易失性存储器切换到自刷新模式并随后向所述主机发送确认,并且响应于从所述主机接收到去激活指令而去激活所述存储设备的所述至少一部分。
8.一种用于数据存储的方法,包括:
在包括非易失性存储器(nvm)和支持正常模式和自刷新模式的易失性存储器的存储设备中,当在正常模式下使用所述易失性存储器时将用于主机的数据存储在所述非易失性存储器中;
响应于从所述主机接收到掉电命令而去激活所述存储设备的至少一部分并将所述易失性存储器从正常模式切换到自刷新模式;以及
响应于从所述主机接收到唤醒命令而激活所述存储设备的所述至少一部分并将所述dram切换到正常模式。
9.根据权利要求8所述的方法,其中所述易失性存储器包括动态随机存取存储器(dram)。
10.根据权利要求8所述的方法,其中激活所述存储设备的一部分包括响应于检测到当所述易失性存储器处于自刷新模式时发生电力中断而从所述非易失性存储器恢复所述易失性存储器的内容。
11.根据权利要求8所述的方法,其中恢复所述内容包括响应于检测到当所述易失性存储器处于自刷新模式时发生电力中断而根据所述电力中断的持续时间决定是否从所述非易失性存储器恢复所述易失性存储器的内容。
12.根据权利要求8所述的方法,其中切换到自刷新模式包括在切换到自刷新模式之前将所述易失性存储器的内容备份到所述非易失性存储器,并且其中恢复所述内容包括响应于所述唤醒命令来决定是否从所述非易失性存储器恢复所述易失性存储器的内容。
13.根据权利要求8或9中任一项所述的方法,并且包括至少当所述易失性存储器处于自刷新模式时使用备用电源向所述易失性存储器提供临时电力。
14.根据权利要求8或9中任一项所述的方法,其中切换到自刷新模式包括在将所述易失性存储器切换到自刷新模式之后向所述主机发送确认,并且其中去激活所述存储设备的所述至少一部分包括响应于从所述主机接收到去激活指令而禁用所述存储设备的所述至少一部分。
15.一种系统,包括:
主机;和
存储设备,所述存储设备包括:
非易失性存储器;
易失性存储器,所述易失性存储器支持正常模式和自刷新模式;和
控制器,所述控制器被配置为:
当在正常模式下使用所述易失性存储器时将用于所述主机的数据存储在所述非易失性存储器中;
响应于从所述主机接收到掉电命令而去激活所述存储设备的至少一部分,包括所述存储设备和所述主机之间的主接口,并将所述易失性存储器从正常模式切换到自刷新模式;以及
通过与所述主接口分开的唤醒接口从所述主机接收唤醒命令。
16.一种存储设备,包括:
非易失性存储器;
易失性存储器,所述易失性存储器支持正常模式和自刷新模式;和
控制器,所述控制器被配置为:
当在正常模式下使用所述易失性存储器时将用于主机的数据存储在所述非易失性存储器中;
响应于从所述主机接收到掉电命令而去激活所述存储设备的至少一部分并将所述易失性存储器从正常模式切换到自刷新模式;以及
响应于接收到所述掉电命令而去激活所述存储设备和所述主机之间的主接口,并通过与所述主接口分开的唤醒接口从所述主机接收唤醒命令。
17.一种用于数据存储的方法,包括:
在包括非易失性存储器(nvm)和支持正常模式和自刷新模式的易失性存储器的存储设备中,当在正常模式下使用所述易失性存储器时将用于主机的数据存储在所述非易失性存储器中;以及
响应于从所述主机接收到掉电命令而去激活所述存储设备的至少一部分,包括所述存储设备和所述主机之间的主接口,并将所述易失性存储器从正常模式切换到自刷新模式;以及
通过与所述主接口分开的唤醒接口从所述主机接收唤醒命令。