用于具有非易失性逻辑存储器的处理装置的电力损失中计算方法

文档序号:10552843阅读:202来源:国知局
用于具有非易失性逻辑存储器的处理装置的电力损失中计算方法
【专利摘要】本申请案涉及用于具有非易失性逻辑存储器的处理装置的电力损失中计算方法。计算装置设备(100)通过包含经配置以由装置的CPU(105)运行的软件例程(150)而促进对包含将所述CPU(105)断电的深度低电力模式的使用,所述软件例程(150)实现在进入所述深度低电力模式之前将所述CPU(105)及/或所述装置的外围设备(120)的状态保存到非易失性存储器(115)。所述软件例程(150)可经配置以响应于检测到低电力事件(即,足以使所述CPU(105)运行的电力的损失)或检测到作为效率程序的部分进入所述深度低电力模式以节省电力的软件命令来控制此状态存储。接着,在从所述深度低电力模式唤醒后,所述软件例程(150)即刻首先由所述CPU(105)运行以实现在执行所述中央处理单元(105)的主应用程序之前从所述非易失性存储器(115)恢复所述CPU(105)及所述外围设备的所述状态。
【专利说明】用于具有非易失性逻辑存储器的处理装置的电力损失中计算方法
[0001 ] 相关申请案
[0002]本申请案主张2015年2月25日提出申请的美国临时申请案第62/120,830号的权益,所述临时申请案以全文引用的方式并入本文中。
技术领域
[0003]本发明一般来说涉及具有非易失性存储器的处理装置,且特定来说,涉及用于针对此类处理装置进入及退出深度低电力模式的操作。
【背景技术】
[0004]电子装置不断面对包含提供增加的计算能力及提供变化的控制能力的性能压力。所述性能压力还包含需要用以延长电池寿命或一般来说改进计算装置的操作的功率效率的日益增加的能力。因此,各种类型的计算装置包含进入允许给定装置使用较少电力的低电力模式的不同方式。低电力模式通常包含停止使用装置的各种特征或将装置的特定外围设备掉电。
[0005]低电力模式中的最低电力模式通常包含实际上从装置的中央处理单元(“CPU”)移除电源。然而,进入到最低电力模式中通常导致此类装置不保留CPU状态。因此,必须在唤醒后即刻将装置复位以恢复CPU及其它外围设备的操作状态。在此装置上运行的应用程序的程序员被迫使处置此复位条件且将应用程序的状态手动恢复到所述装置进入到深度低电力模式(即,将CPU掉电)中之前所处的状态。此对于使用此计算或处理装置的客户来说是费劲的过程,此可致使此类客户雇用应用工程师来对此困难挑战进行帮助。如此,最深度低电力模式可并不完全或容易地供使用这些计算装置者使用。

【发明内容】

[0006]—般来说,依据这些各种实施例,一种计算装置设备通过包含经配置以由装置的CPU运行的软件例程而促进对包含将所述CPU断电的深度低电力模式的使用,所述软件例程实现在进入所述深度低电力模式之前将所述CPU及/或所述装置的外围设备的状态保存到非易失性器。所述软件例程可经配置以响应于检测到低电力事件(即,足以使所述CPU运行的电力的损失)或检测到作为效率程序的部分进入所述深度低电力模式以节省电力的软件命令来控制此状态存储。接着,在从所述深度低电力模式唤醒后,所述软件例程即刻首先由所述CPU运行以实现在执行所述中央处理单元的主应用程序(例如,继续进行应用程序任务)之前从所述非易失性存储器恢复所述CPU及所述外围设备的所述状态。
[0007]如此经配置,所述装置在从深度低电力模式的唤醒期间无需执行CPU的完全复位。替代地,CPU及相关联外围设备的稳定操作状态参数可从非易失性存储装置容易地获得及恢复,所述非易失性存储装置能够存储此信息而不消耗电力。此外,所述软件例程可经配置以在足以保证可用于存储CHJ及/或相关联外围设备的状态的足够电力(甚至在完全电力损失事件中)的所施加电力的电平下触发存储过程。此外,可在状态存储过程期间选择性地忽略且不存储已知可在突然掉电事件期间损毁的状态信息,借此仅允许针对CPU的比完全唤醒例程快且消耗较少电力的受限制唤醒过程。通过研究以下描述及图式,这些及其它益处将变得显而易见。
【附图说明】
[0008]图1包括图解说明如根据本发明的各种实施例配置的实例性计算装置的框图。
[0009]图2包括图解说明用于具有低电力模式的特定现有技术计算装置的实例性操作流程的流程图。
[0010]图3包括图解说明用于如根据本发明的各种实施例配置的计算装置的实例性操作流程的流程图。
[0011]图4包括图解说明用于如根据本发明的各种实施例配置的计算装置的另一实例性操作流程的流程图。
[0012]所属领域的技术人员将了解,图中的元件是为简单及清晰起见而图解说明的,且未必按比例绘制。举例来说,为帮助改进对本发明的各种实施例的理解,图中的元件中的一些元件的尺寸及/或相对定位可相对于其它元件被放大。此外,通常不描绘在商业上可行的实施例中有用或必需的常见而众所周知的元件以便促进对这些各种实施例的较不受阻挡观察。将进一步了解,可以特定出现次序描述或描绘特定动作及/或步骤,同时所属领域的技术人员将理解,关于序列的此特定性实际上并不需要。还将理解,本文中使用的术语及表达具有与由所属领域的技术人员上文所陈述的此类术语及表达一致的一般技术含义,除非本文中另外陈述不同特定含义。
【具体实施方式】
[0013]现在转到图,尤其是图1,现在将描述与这些教示中的许多兼容的实例性计算装置设备。计算装置100包含中央处理单元(“CPU”)105、存储器子系统110、非易失性存储器115及若干个外围设备或装置模块120。电力管理单元130或外围电力感测装置135经配置以检测用于CPU 105的电力存在还是不存在。这些元件中的每一者在此项技术中个别地已知,使得无需进一步描述。举例来说,非易失性存储器115是非易失性子系统140的部分,所述非易失性子系统包含非易失性控制器145 AVL存储器115本身可为快闪类型存储器、基于铁磁性随机存取存储器(“FRAM” )的状态保留技术(其将FRAM存储器的特性与当前数据保留方法组合)或具有例如自旋扭矩磁阻式随机存取存储器(“MRAM”)或电阻式存取存储器(“RRAM” )的类似特征的其它技术。此存储器技术在此项技术中已知且无需进一步描述;举例来说,关于FRAM参见美国专利申请公开案第2014/0075088号,所述专利申请公开案以全文引用的方式并入本文中。
[0014]在用于节约电力的一个方法中,电力管理单元130经配置以实现将施加到CPU105、计算装置设备100的外围设备120及存储器子系统110的电力切断以到达深度低电力模式。软件例程150经配置以由CPU 105运行以实现在进入深度低电力模式之前将CPU105及外围设备120的状态保存到非易失性存储器115。软件例程150经配置以响应于以下各项中的一或多者而被触发以保存所述状态且进入深度低电力模式:从电力管理单元130或外围电力感测装置135接收到电力损失的指示、进入深度低电力模式的软件请求或外围驱动的中断事件。事实上,若干个深度睡眠事件中的任一者可由软件例程监视且由所述例程用以实现将装置紧接在此之前的状态(或先前稳定状态)存储到非易失性存储器,所述非易失性存储器是在不汲取电力的情况下保存所述信息。深度睡眠事件可包含对足以操作计算装置的电力的损失的确定或仅进入深度低电力模式以节约电力(即使其以其它方式可用)的命令。
[0015]替代在电力损失后即刻保存重要系统状态(且因此追踪机器状态随时间的改变),软件例程可经配置以允许捕获系统状态的静态快照。举例来说,软件例程经配置以通过存储以下各项中的一或多者而存储CPU 105的状态:程序计数器、堆栈指针、状况寄存器、通用寄存器或CPU 105的其它关键状态信息。类似地,软件例程可经配置以通过存储以下各项中的一或多者而存储与CPU 105相关联的一或多个外围设备120的状态:外围配置寄存器、夕卜围状态寄存器、外围状况寄存器、外围数据缓冲器及可存储于与外围设备120相关联的有效设定配置寄存器160中的其它关键外围状态信息。可在每一系统复位或上电复位后即刻恢复状态的静态图像,使得可替代地还原稳定及可重复的机器状态。对于一旦装置上电便必须无偏差地重复特定功能的应用程序来说,此能力将为最有用的。对于此种类的应用程序来说,以可重复状态启动为有益的。
[0016]在从低电力模式唤醒后,即刻调用特殊软件例程150而非正常装置初始化代码。软件例程150经配置以实现在执行中央处理单元的主应用程序之前从非易失性存储器115恢复CPU 105及外围设备120的状态。在将CPU状态恢复的情况下,软件例程150接着将控制返回到计算装置100的主要应用程序。
[0017]通过图2与3的比较来图解说明方法从现有解决方案的改变。在图2中,图解说明现有方法,其中在运行计算装置100的主应用程序210之前执行完全开机或装置启动205。典型应用程序210包含针对应用程序210初始化CPU 105的C启动例程212,其后续接着用以配置装置的外围设备120的外围设备初始化例程214。接着运行应用程序的主要部分216。如果应用程序210需要进入低电力模式218,那么为确保唤醒后的装置100的稳定状态,低电力模式218将控制传递回到C启动例程212以在重新启动应用程序的主要部分216之前运行穿过整个启动例程。此意指,在每次从低电力模式218退出后消耗许多时间及电力以确保装置100的稳定状态。
[0018]相比来说,如图3中所图解说明,替代于将控制传递到典型低电力模式例程218,调用特殊软件例程。在此实例中,所述软件例程称为电力损失中计算(“CTPL”)库330,其如本文中所描述而操作以将装置及/或外围设备的状态保存到非易失性存储装置。在唤醒后,即刻调用此相同软件例程(或经配置以如所描述而操作的其它例程)330以将存储于非易失性存储装置中的状态恢复到装置寄存器。在所述恢复之后,控制立即传递到应用程序210的主要部分216,借此跳过C启动例程212及外围设备初始化例程214。此为可能的,这是因为存储于非易失性存储器中的稳定状态允许装置100的稳定操作而无需完全开机序列。因此,在从包含将CPU掉电的深度低电力模式唤醒时节省电力及时间。
[0019]图4进一步图解说明根据这些教示的实例性操作方法。具有CPU且使用多个易失性存储元件的处理装置通过执行主应用程序405而操作。检测深度睡眠事件410,所述深度睡眠事件包含处理装置的低电力事件或进入深度低电力模式的软件信号中的一者或两者。响应于检测到深度睡眠事件且在由中央处理单元允许进入到深度低电力模式中之前,调用特殊软件例程420。对CPU进行操作的软件例程420用以实现将包括CPU的多个易失性存储元件及/或CPU的一或多个外围设备的内容的状态存储到非易失性存储器。更具体来说,所述实现状态的存储包含存储422外围配置寄存器、外围状态寄存器、外围状况寄存器、外围数据缓冲器及其它关键外围状态信息。所述实现状态的存储还包含存储424程序计数器、堆栈指针、状况寄存器、通用寄存器及CPU的其它关键状态信息。在将状态存储到非易失性存储器之后,装置进入深度低电力428。
[0020]方法进一步包含在处于深度低电力模式中时检测430包含恢复到处理装置的电力或用以唤醒的软件信号(例如经截获复位信号)中的一者或两者的唤醒事件。响应于检测到唤醒事件,在应用程序405之前调用软件例程420。软件例程420用以实现从非易失性存储器恢复状态的至少一部分,而并非是针对CPU执行从深度低电力模式的唤醒过程。更具体来说,将关于CPU堆栈的状态信息从非易失性存储器恢复432,且将关于外围设备的状态信息从非易失性存储器恢复434。在此恢复之后,控制传递到应用程序405而无需继续穿过用以在冷开机时设定(PU及相关联外围设备的此类操作参数的典型唤醒或复位例程。
[0021]如此经配置,此配置节省重新开机及/或重新配置计算装置(例如系统单芯片(“S0CT’)装置)所需的时间及能量,且还节省重新初始化用以实施所需应用程序功能性的高级软件编程语言所需的能量。由于解决方案不需要将额外硬件并入到SOC中,因此所述解决方案可用于现有装置。此解决方案极其适于基于FRAM的非易失性存储器技术,这是因为FRAM具有基本上无限写入耐久性(至少高达114)及低写入功率以及高写入速度。
[0022]所属领域的技术人员将认识到,可在不背离本发明的范围的情况下关于上文所描述实施例做出各种各样的修改、变更及组合,且此类修改、变更及组合将视为在发明概念的范围内。
【主权项】
1.一种计算装置设备,其包括: 中央处理单元; 存储器子系统; 非易失性存储器; 电力管理单元或外围电力感测装置,其经配置以检测用于所述中央处理单元的电力存在还是不存在; 其中所述电力管理单元经配置以实现将施加到所述中央处理单元、所述计算装置设备的外围设备及所述存储器子系统的电力切断以到达深度低电力模式; 软件例程,其经配置以由所述中央处理单元运行以实现在进入所述深度低电力模式之前将所述中央处理单元及所述外围设备的状态保存到所述非易失性存储器且实现在执行所述中央处理单元的主应用程序之前从所述非易失性存储器恢复所述中央处理单元及所述外围设备的所述状态; 其中所述软件例程经配置以响应于以下各项中的一或多者而被触发以实现保存所述状态且进入到所述深度低电力模式中:从所述电力管理单元或所述外围电力感测装置接收到电力损失的指示、进入所述深度低电力模式的软件请求或外围驱动的中断事件。2.根据权利要求1所述的计算装置设备,其中所述非易失性存储器包括FLASH、FRAM、MRAM或RRAM中的一或多者。3.根据权利要求1所述的计算装置设备,其中所述软件例程经配置以通过存储以下各项中的一或多者而存储所述中央处理单元的所述状态:程序计数器、堆栈指针、状况寄存器、通用寄存器或所述中央处理单元的其它关键状态信息。4.根据权利要求1所述的计算装置设备,其中所述软件例程经配置以通过存储以下各项中的一或多者而存储与所述中央处理单元相关联的一或多个外围设备的所述状态:外围配置寄存器、外围状态寄存器、外围状况寄存器、外围数据缓冲器及其它关键外围状态信息。5.根据权利要求1所述的计算装置设备,其中所述非易失性存储器具有114或大于114的写入循环耐久性。6.一种方法,其包括: 操作具有中央处理单元且使用多个易失性存储元件的处理装置; 检测深度睡眠事件,所述深度睡眠事件包含所述处理装置的低电力事件或进入深度低电力模式的软件信号中的一者或两者,所述深度低电力模式包含将所述中央处理单元断电; 响应于检测到所述深度睡眠事件且在由所述中央处理单元允许进入到深度低电力模式中之前,使用对所述中央处理单元进行操作的软件例程来实现将包括所述中央处理单元的所述多个易失性存储元件及/或所述中央处理单元的一或多个外围设备的内容的状态存储到非易失性存储器; 在处于所述深度低电力模式中时检测包含恢复到所述处理装置的电力或用以唤醒的软件信号中的一者或两者的唤醒事件; 响应于检测到所述唤醒事件,使用所述软件例程来实现从所述非易失性存储器恢复所述状态的至少一部分,而并非是针对所述中央处理单元执行从所述深度低电力模式的唤醒过程。7.根据权利要求6所述的方法,其中所述实现所述状态的存储包括实现将所述状态存储于FLASH、FRAM、MRAM或RRAM中的一或多者中。8.根据权利要求6所述的方法,其中所述实现所述状态的存储包括存储程序计数器、堆栈指针、状况寄存器、通用寄存器及所述中央处理单元的其它关键状态信息。9.根据权利要求6所述的方法,其中所述实现所述状态的存储包括存储外围配置寄存器、外围状态寄存器、外围状况寄存器、外围数据缓冲器及其它关键外围状态信息。10.—种计算装置设备,其包括: 中央处理单元; 存储器子系统; 非易失性存储器,其包括FLASH、FRAM、MRAM或RRAM中的一或多者; 电力管理单元或外围电力感测装置,其经配置以检测用于所述中央处理单元的电力存在还是不存在; 其中所述电力管理单元经配置以实现将施加到所述中央处理单元、所述计算装置设备的外围设备及所述存储器子系统的电力切断以到达深度低电力模式; 软件例程,其经配置以由所述中央处理单元运行以实现在进入所述深度低电力模式之前将所述中央处理单元及所述外围设备的状态保存到所述非易失性存储器且实现在执行所述中央处理单元的主应用程序之前从所述非易失性存储器恢复所述中央处理单元及所述外围设备的所述状态; 其中所述非易失性存储器软件例程经配置以通过存储以下各项中的一或多者而存储所述中央处理单元的所述状态:程序计数器、堆栈指针、状况寄存器、通用寄存器或所述中央处理单元的其它关键状态信息; 其中所述非易失性存储器软件例程经配置以通过存储以下各项中的一或多者而存储与所述中央处理单元相关联的一或多个外围设备的所述状态:外围配置寄存器、外围状态寄存器、外围状况寄存器、外围数据缓冲器及其它关键外围状态信息; 其中所述软件例程经配置以响应于以下各项中的一或多者而被触发以保存所述状态且进入所述深度低电力模式:从所述电力管理单元或所述外围电力感测装置接收到电力损失的指示、进入所述深度低电力模式的软件请求或外围驱动的中断事件; 其中响应于检测到足以退出低电力模式或从电力损失条件还原的电力,所述电力管理单元经配置以发布关于退出深度低电力模式或电力损失条件的上电信号。
【文档编号】G06F1/32GK105912481SQ201610104122
【公开日】2016年8月31日
【申请日】2016年2月25日
【发明人】A·丹嫩贝格, B·彼得森, A·K·吴, J·施赖纳, M·茨韦格, S·C·巴特林
【申请人】德州仪器公司, 德州仪器德国股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1