CN104850435B - 电源管理控制器与方法 - Google Patents
电源管理控制器与方法 Download PDFInfo
- Publication number
- CN104850435B CN104850435B CN201510247583.2A CN201510247583A CN104850435B CN 104850435 B CN104850435 B CN 104850435B CN 201510247583 A CN201510247583 A CN 201510247583A CN 104850435 B CN104850435 B CN 104850435B
- Authority
- CN
- China
- Prior art keywords
- nonvolatile memory
- memory
- restored
- storage
- system storage
- 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
Classifications
-
- 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
-
- 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
-
- 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)
- Power Sources (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供电源管理控制器与方法。一种恢复计算机系统状态的方法,包含:接收恢复请求使得计算机系统自待机状态恢复到工作状态;执行复原程序以将该计算机系统恢复到该工作状态,其中该复原程序包含通过请求分页方法从非易失性存储器的一特定区域加载数据到系统存储器,其中该计算机系统的一操作系统无法读取储存该数据的非易失性存储器中的该特定区域,其中该数据包含用于恢复到该工作状态的信息,其中该复原程序包含通过先前储存于该非易失性存储器中的该信息使得该计算机系统恢复到该工作状态,且其中该数据包含一L2配置内容;以及接收存取请求以存取该系统存储器。
Description
本发明是以下专利申请的分案申请:申请号:200910152277.5,申请日:2009年7月14日,发明名称:电源管理控制器与方法
技术领域
本发明是有关于计算机系统的电源管理,特别是有关于计算机系统从待机状态快速恢复到工作状态的装置及方法。
背景技术
近年来,计算机进入待机状态(例如:使笔记本型计算机达到省电的目的)并且从待机状态(Sleep State)快速恢复到工作状态(Execution State)的能力越来越受重视。举例来说,使用者若不希望在计算机关机之后,需要等待很长的一段开机时间才可以再次使用计算机,则可选择让计算机进入待机状态。
在已知计算机系统中(例如使用Microsoft WindowsTM操作系统的计算机系统),可通过数种待机状态(例如:进阶配置与电源管理接口规格ACPI所定义的待机状态)来减少电源的消耗。举例来说,S3(Suspend to RAM)是一种低唤醒延迟时间(例如:约5秒或更短)的待机状态,在S3下,计算机系统可以很快速地恢复到正常工作状态(例如:S0),但只有系统存储器以及部份中央处理单元L2配置的内容可以被维持,其余大部分的系统内容都会遗失。系统存储器可通过执行周期性的自我更新程序(self-refresh)来维持其内容,然而存储器自我更新程序会消耗电源,且当电池电量过低而断电时,系统存储器会有遗失内容的风险。因此,计算机系统并不会长时间处于S3(尤其是受限于电池电量的手提式计算机),通常在某一段时间之后,计算机系统便会进入S4(Suspended to Disk)。
S4是一种低耗电量、长唤醒延迟时间(例如:约20秒或更长)的待机状态。在S4下,所有硬件及装置的电源都会关闭,而系统内容则会被保存到硬盘中。虽然S4较S3可节省更多的电源,但计算机系统从S4回到正常工作(例如:S0状态)需要重新执行基本输入输出系统(BIOS)初始化,因此花费的时间会较S3回到正常工作状态的时间长。因此,如何有效率地使得计算机系统由待机状态快速恢复至工作状态,且兼具低电源消耗的便是目前亟待发展的目标。
发明内容
本发明提供了一种恢复计算机系统状态的方法,包含:接收恢复请求使得计算机系统自待机状态恢复到工作状态;执行复原程序以将该计算机系统恢复到该工作状态,其中该复原程序包含通过请求分页方法从非易失性存储器的一特定区域加载数据到系统存储器,其中该计算机系统的一操作系统无法读取储存该数据的非易失性存储器中的该特定区域,其中该数据包含用于恢复到该工作状态的信息,其中该复原程序包含通过先前储存于该非易失性存储器中的该信息使得该计算机系统恢复到该工作状态,且其中该数据包含一L2配置内容;以及接收存取请求以存取该系统存储器,其中该存取请求指示存取该系统存储器的部分数据,并在该复原程序完成前存取该存取请求对应该系统存储器的部分。
本发明提供了一种控制器,用以恢复系统的状态,其中该控制器包含:至少一输入端,用于接收来自处理单元的输入信号,以及用于接收与该系统相关的请求;以及至少一输出端,用于输出到系统存储器和非易失性存储器;其中该控制器用于:通过该输入端接收恢复请求,使得该系统由待机状态恢复到工作状态,其中该复原程序包含通过请求分页方法从非易失性存储器的一特定区域加载数据到系统存储器,其中该计算机系统的一操作系统无法读取储存该数据的非易失性存储器中的该特定区域,其中该数据包含用于恢复到该工作状态的信息,其中该复原程序包含通过先前储存于该非易失性存储器中的该信息使得该计算机系统恢复到该工作状态,且其中该数据包含一L2配置内容;以及通过该输入端接收存取请求以存取该系统存储器的部分数据,其中该存取请求对应该系统存储器的地址,并在该复原程序完成前存取该存取请求。
本发明提供了一种具有电源管理能力的系统,包含:处理单元;非易失性存储器,耦接到该处理单元;系统存储器,耦接到该处理单元,其中当收到待机请求时,该处理单元执行程序以使得该系统进待机状态;其中当收到该待机请求时,该处理单元将该系统存储器的内容储存到该非易失性存储器中并移除该系统存储器的电源;以及系统芯片,耦接到该处理单元、该非易失性存储器以及该系统存储器,其中当收到恢复请求时,该系统芯片执行复原程序使得该系统恢复到工作状态,其中该复原程序包含通过请求分页方法从非易失性存储器的一特定区域加载数据到系统存储器,其中该计算机系统的一操作系统无法读取储存该数据的非易失性存储器中的该特定区域,其中该数据包含用于恢复到该工作状态的信息,其中该复原程序包含通过先前储存于该非易失性存储器中的该信息使得该计算机系统恢复到该工作状态,且其中该数据包含一L2配置内容。
有鉴于此,本发明提供数个实施例以介绍电源管理的方法。
一计算机系统处于工作状态时,可收到待机请求,指示该计算机系统进入待机状态。此时,可将工作状态的相关数据从系统存储器储存到非易失性存储器中。之后可暂停供应电源到系统存储器。
接着,可收到恢复请求,指示计算机系统从待机状态恢复到工作状态。接着执行复原程序使得数据从该非易失性存储器(例如:硬盘、闪存或电子可抹除可编程只读存储器等)加载到系统存储器。
最后,可接收存取请求,指示存取系统存储器的部分数据。
上述的方法可用于硬件或软件中(例如计算机可存取存储器中的软件程序或程序指令)。举例来说,一种能使系统从待机状态恢复的控制器,可包含一个或多个输入端,用于接收来自处理单元的输入信号,并用于接收与系统相关的请求。控制器还可包含一个或多个输出端,用于输出到系统存储器和非易失性存储器。
本发明提供了一种恢复计算机系统状态的方法,包含:接收恢复请求使得计算机系统自待机状态恢复到工作状态;执行复原程序以将该计算机系统恢复到该工作状态,其中该复原程序包含从非易失性存储器加载数据到系统存储器;以及接收存取请求以存取该系统存储器,其中该存取请求指示存取该系统存储器的部分数据,并在该复原程序完成前存取该存取请求对应该系统存储器的部分。
本发明还提供了一种控制器,用以恢复系统的状态,其中该控制器包含:至少一输入端,用于接收来自处理单元的输入信号,以及用于接收与该系统相关的请求;以及至少一输出端,用于输出到系统存储器和非易失性存储器;其中该控制器用于:通过该输入端接收恢复请求,使得该系统由待机状态恢复到工作状态;执行复原程序以将该系统恢复到该工作状态,其中该复原程序包含通过该输出端从该非易失性存储器加载数据到该系统存储器;以及通过该输入端接收存取请求以存取该系统存储器的部分数据,其中该存取请求对应该系统存储器的地址。
本发明还提供了一种具有电源管理能力的系统,包含:处理单元;非易失性存储器,耦接到该处理单元;以及系统存储器,耦接到该处理单元,其中当收到待机请求时,该处理单元执行程序以使得该系统进待机状态;其中当收到该待机请求时,该处理单元将该系统存储器的内容储存到该非易失性存储器中并移除该系统存储器的电源;系统芯片,耦接到该处理单元、该非易失性存储器以及该系统存储器,其中当收到恢复请求时,该系统芯片执行复原程序使得该系统恢复到工作状态,其中该复原程序包含从该非易失性存储器加载数据到该系统存储器。
为让本发明的特征和优点能更明显易懂,下文特举出较佳实施例,并配合所附图式,作详细说明如下。
附图说明
图1为根据本发明一实施例的具有电源管理功能的系统示意图;
图2为根据本发明一实施例的进入待机状态的方法流程图;
图3为根据本发明一实施例的从待机状态恢复的方法流程图;以及
图4为根据本发明一实施例的进入待机状态并从该待机状态恢复的方法流程图。
[主要元件标号说明]
100~系统;
110~中央处理单元;
120~系统存储器;
130~系统芯片组;
132~请求分页控制器;
134~硬盘主控制器;
140~硬盘/非易失性存储器;
142~硬盘控制器;
145~储存空间;
146~系统存储器映像。
具体实施方式
名词的定义
以下为本发明所使用的名词的定义:
存储器(Memory Medium)─任何种类的记忆装置或储存装置。本发明中的存储器可包含储存装置,例如:只读光盘(CD-ROM)、软式磁盘片(Floppy Disks)或磁带装置(TapeDevice);计算机系统存储器或随机存取存储器(RAM),例如:动态随机存取存储器(DRAM)、双通道动态随机存取存储器(DDR RAM)、静态随机存取存储器(SRAM)、延伸数据输出随机存取存储器(EDO RAM)、Rambus动态随机存取存储器(Rambus RAM)等;或非易失性存储器(如磁性载体,例如:硬式磁盘驱动器(Hard Drive)、闪存(Flash Memory)、电子可抹除可编程只读存储器(EEPROM)或光储存装置(Optical Storage))。本发明的存储器还可包含其它种类的存储器或其组合。
分页(Page)─存储器单元或区块。存储器分页通常用来表示各种大小的数据运作单元。例如:在x86结构中,一个分页可能是4kB,然而分页的大小可被程控,也可能不受计算机系统的处理单元或操作系统所控制。
计算机系统(Computer System)─任何种类的计算或处理系统,包含个人计算机系统(Personal Computer System)、中央处理系统(Mainframe Computer System)、工作站(Workstation)、计算机网络装置(Network Appliance)、因特网装置(Internetappliance)、个人数字助理(Personal Digital Assistant)、电视系统(TelevisionSystem)、网格计算系统(Grid Computing System)或其它装置或组合。一般来说,本发明的计算机系统可广泛定义为具有至少一个用来从存储器执行指令的处理单元的装置(或装置组)。
图1─系统范例介绍
图1为根据本发明一实施例的具有电源管理功能的系统100的示意图。系统100可进入待机状态且从该待机状态恢复到工作状态。此外,系统100可为任何能进入待机状态且从该待机状态恢复的各种计算机系统或装置。其中,系统100还可为依赖电池供电的计算机系统(如笔记本型计算机或其它可携式装置)。此外,系统100亦可为任何种类的系统。
如图1所示,系统100可包含中央处理单元(CPU)110,其中,中央处理单元110可为任何种类的处理单元,例如:x86处理器(如Advanced Micro Devices或Intel等公司制造的处理器)、精简指令集计算机处理器(RISC Processor)、进阶精简指令集计算机处理器(ARMProcessor)或其它种类处理单元。
如图1所示,中央处理单元110可耦接至系统芯片组(System Chipset)130,用以存取耦接至系统芯片组130的系统存储器(System Memory)120。系统芯片组130可包含请求分页控制器(Demand Page Controller)132或其它存储器控制器。请求分页控制器132可耦接至硬盘主控制器(Disk Host Controller)134,并通过硬盘主控制器134来发出指令到硬盘/非易失性存储器(Disk/Nonvolatile Memory,NVM)140。此外,根据本发明的数个实施例,请求分页控制器132可接收待机请求(Suspend Request)或恢复请求(ResumeRequest)。
硬盘/非易失性存储器140可包含硬盘控制器(Disk Controller)142和储存空间(Storage)145,其中硬盘控制器142接收由硬盘主控制器134发出的指令。如图1所示,在系统100处于待机状态时,储存空间145可储存系统存储器映像(System Memory Image)146,其中系统存储器映像146表示系统100工作状态时的系统内容。在某些实施例中,非易失性存储器中的一特定区域可用来储存工作状态的系统内容(系统存储器映像)。此外,系统100的操作系统可能无法知悉非易失性存储器的这个区域。本实施例的硬盘/非易失性存储器140可为硬式磁盘驱动器、电子可抹除可编程只读存储器、闪存或其它非易失性存储器。
本实施例图1中的元件并不限于如图所示的连接方式与元件,其它方式的配置和连接亦可达到本实施例的功效。例如:系统10可包含一个控制器或组合多个控制器;系统100亦可依需求加上其它元件。
图2─进入待机状态的方法
图2为根据本发明一实施例的进入待机状态的方法流程图。图2所示的方法可用于任何计算机系统或图1所示的系统中。在不同实施例中,本方法的步骤可同时执行、依不同顺序执行或省略,若有需要亦可增加其它步骤。该方法操作如下:
步骤202,收到待机请求。在另一实施例中可以是芯片组(例如:前述的芯片组130)收到待机请求,也可以是其它可控制系统元件收到待机请求。在另一实施例中,待机请求可来自操作系统。举例来说,操作系统可通过中央处理单元产生待机请求,其中中央处理单元可写入特定值到特定的输入/输出地址(I/O Address),然后芯片组可译解该输入/输出地址,并执行相关的待机程序。
此外,待机请求可能是在各种情况下产生。举例来说,当使用者请求计算机系统进入待机状态(例如按下待机按键)时,操作系统可发出待机请求。另外,计算机系统可能有在静止一段时间并达到某设定条件后(例如:省电设定),系统自动产生待机请求。
步骤204,硬盘主控制器(或非易失性存储器控制器)产生系统存储器映像。如上所述,系统存储器映像可为目前工作状态下的系统内容。
步骤206,储存系统存储器映像到非易失性存储器中,用以储存目前工作状态下的系统内容。在另一实施例中,可通过复制整个系统存储器内容到非易失性存储器来储存目前工作状态时的系统内容。此外,可通过系统存储器和非易失性存储器之间的直接存储器存取(Direct Memory Access,DMA)来执行该复制内容。在另一实施例中,还可以将其它内容,例如:一些中央处理单元和L2配置内容,同时储存到非易失性存储器中。
步骤208,移除系统存储器的电源(例如:存储器待机电源)。
如前述,移除系统存储器的电源可能会导致所有储存于系统存储器中的内容遗失。但由于本方法已经将系统存储器映像备份储存到非易失性存储器中,所以不需要担心内容遗失的问题,因此可以停止系统存储器的供电,以达到省电的目的。因此,本方法对于依赖电池供电的系统(例如:笔记本型计算机或手持型装置)来说有其优点。
步骤210,系统进入增强S3(Enhanced S3State)。由于在本方法中已经将系统存储器映像备份储存到非易失性存储器中,所以不需要担心内容遗失的问题,因此增强S3此待机状态又可称为非易失性待机状态(Nonvolatile Sleep State)。虽然此增强S3可如同S4般的减少电源的消耗,但此增强S3并不等同于S4,其原因在于本方法所定义的增强S3相较于S4可更快速地恢复到工作状态。其详细说明如下。
图3─从非易失性待机状态恢复的方法
图3为根据本发明一实施例的从待机状态恢复的方法流程图。图3所示的方法可用于任何计算机系统或图1所示的系统中。在不同实施例中,本方法的步骤可同时执行、依不同顺序执行或省略,若有需要亦可增加其它步骤。该方法操作如下:
步骤302,收到恢复请求使得计算机系统或装置从待机状态恢复到工作状态。在另一实施例中,恢复请求可以是由控制器(例如:前述的请求分页控制器132)收到。在另一些实施例中,控制器是从系统处理单元的重置向量(Reset Vector)开始执行。其中,待机状态可以是上述步骤208所述的增强S3(亦即,系统存储器电源被移除的状态)。
其中,恢复请求可能是在各种情形下产生。举例来说,当系统的使用者希望继续使用计算机,而按下按键或用其它方式将系统从待机状态“叫醒”时所产生的恢复请求。此外。恢复请求亦可来自系统的各种元件,例如:系统的电源开关、待机按键或其它输入/输出装置(例如鼠标或键盘)等。
步骤304,执行复原程序以将系统恢复到工作状态。复原程序可包含恢复系统各元件的电源供应。在另一实施例中,复原程序可包含发送存储器复原指令到非易失性存储器控制器。该存储器复原指令指示数据的加载,例如:将储存在非易失性存储器中的系统存储器映像从低地址(Lowest Address)开始回存到系统存储器,直到内容完全加载,并使得系统存储器完全恢复到工作状态。其中,存储器复原程序是用来恢复所有系统存储器内容,例如:将存储器内容从存储器低地址往存储器高地址开始回存。此外,复原程序亦可通过一分页(page)复原指令来恢复系统存储器分页。举例来说,分页复原指令可将存储器内容依分页依序回存;或根据一分页请求(on-demand)而先行回存特定分页的内容。此外,本方法并不限定上述两种方式,亦可有其它各种存储器复原方法。另外如上述,系统存储器映像可被储存在非易失性存储器中的一特定区域,而且操作系统可能无法读取或知悉非易失性存储器的这个区域。
本发明复原程序还可包含复原系统内容以外的其它内容,例如:一部分(或全部)中央处理单元和L2配置内容或其它内容。在另一实施例中,储存在非易失性存储器中的数据可能包含这些额外的配置内容,因此,复原程序可包含复原系统内容或其它被储存到非易失性存储器中的内容。
本方法的复原程序可将系统恢复到进入待机状态前的工作状态(例如:系统在收到上述步骤202中的待机请求前的状态)。如前述,复原程序可通过将先前储存在非易失性存储器中的系统内容回存以使得系统恢复到工作状态。在另一实施例中,复原程序可包含通过系统存储器和非易失性存储器之间的直接存储器存取(DMA)来传送信息或系统存储器映像。直接存储器存取可由前述的请求分页控制器132、硬盘主控制器134、硬盘控制器142或其它可能的装置来启动。如前述,非易失性存储器可包含闪存、硬盘、或其它种类非易失性存储器。
步骤306,收到系统存储器存取请求。其中存取请求可来自系统的处理单元(例如:前述的中央处理单元110)或控制器(例如:前述的请求分页控制器132)。举例来说,控制器可知道或预测处理单元需要哪一个分页的数据,进而发出相对应的存取请求。换句话说,当系统要进入待机状态前,控制器可储存或记录处理单元或系统已经使用了系统存储器的哪些特定分页,然后在前述恢复请求发出后,尽可能在处理单元提出存取请求前,先行恢复这些分页。在另一实施例中,控制器可通过配置处理或优先恢复地址清单而得知处理单元可能请求的分页地址。
在另一实施例中,被请求存取的分页可储存在一分页寄存器(Page Register)中(例如:在南桥芯片中)。在另一实施例中,步骤306的存取请求可能会在步骤304的系统存储器复原程序完成前就发出。此存取请求可为存取系统存储器某一特定部份的内容。举例来说,此存取请求可为存储器存取请求,用以存取系统存储器在工作状态下时某一特定地址的内容。如上所述,这个特定地址的内容可能正由步骤304所执行的系统存储器复原程序而恢复当中。在另一实施例中,可通过必要的分页来判定该特定地址。再者,该存取请求可仅包含系统存储器地址。
步骤308,判断步骤304的系统存储器复原程序是否成功恢复步骤306中存取请求的内容。如果该内容已恢复,则可依照已知的方法存取系统存储器内容(步骤314)。
然而,如果该内容在收到存取请求前尚未恢复完成,则本方法可在其它系统存储器内容尚未恢复前先行恢复此存取请求所需的内容,使处理单元可在最短延迟时间内完成存取请求。在另一实施例中,动态分页控制器可通过分页存储器请求(Page MemoryRequest)先行恢复特定系统存储器内容。此方式的分页存储器请求具有优先权,如此一来,于步骤304执行系统存储器复原程序时,即可优先被恢复。通过“请求分页(demandpaging)”方法来恢复特定系统存储器内容时,便可将可能先被例如处理单元请求存取的部分存储器内容先行回存到系统存储器。如此一来,步骤314的存储器存取步骤可能会先或后于步骤312执行。
相较于已知技术系统由S4状态恢复到工作状态时必须等待整个系统存储器都完成内容回存后才能执行存储器存取工作,利用本方法的系统可更快速地恢复到工作状态。
图4─进入待机状态并从该待机状态恢复的方法
图4为根据本发明一实施例的进入待机状态并从该待机状态恢复的方法流程图。图4所示的方法可用于任何计算机系统或图1所示的系统中。在不同实施例中,本方法的步骤可同时执行、依不同顺序执行或省略,若有需要亦可增加其它步骤。其中图4所示的方法的任何说明细节皆可应用到图2和图3所示的方法中,同样的,图2和图3所示的方法的说明细节亦可适用于图4所示的方法中。进入待机状态并从该待机状态恢复到工作状态的方法可操作如下:
步骤402中,系统处于闲置状态或系统达到进入待机状态的条件。
步骤404中,系统可自行决定进入第一待机状态,或是如步骤402所述,系统可因达到进入待机状态的条件而收到一进入第一待机状态指令而进入第一待机状态,举例来说,若系统闲置时间达到一限定值后进入第一待机状态状态;或是使用者可通过选择睡眠或待机选项而请求系统进入待机状态。其中第一待机状态例如为S3(以下皆以S3举例代表第一待机状态)。接着,系统开始执行相应的程序以进入第一待机状态。在另一实施例中,系统会依照步骤404的决定发出待机请求以进入第一待机状态。
在某些情况下,芯片组或固件(Firmware)或其它控制器可发出(例如:通过输入/输出陷阱(I/O Trap))中断指令,使得系统进入系统管理模式(System Management Mode),用以使得系统不进入第一待机状态,而直接进入第二待机状态(例如:增强S3,以下皆以增强S3举例代表第二待机状态)。亦即,芯片或固件可发出系统控制中断指令(SystemManagement Interrupt,SMI)至处理单元。而处理单元在收到系统控制中断指令后,便可进入系统管理模式(SMM)使得基本输入输出系统或固件可以控制系统进入第二待机状态(例如:控制系统进入增强S3)。
步骤406,系统进入S3。其中系统可能需要执行一个或多个程序以进入S3。举例来说,系统可能需将其内容储存到系统存储器中(例如:系统动态随机存取存储器),接着再进入S3。在另一实施例中,系统可根据S3的标准程序来储存其系统内容。
步骤408,将系统内容储存至非易失性存储器中;或是将系统存储器映像储存到非易失性存储器中(可随着其它内容,例如:中央处理单元或L2配置内容一起储存)。其中,基本输入输出系统或固件可执行步骤408,使得系统根据步骤404所述的系统控制中断指令(SMI)而不进入S3。此外,亦可直接将系统内容储存到非易失性存储器中,亦即省略步骤406。
步骤410,当处于系统管理模式(SMM)时,基本输入输出系统和固件可关闭系统,并进入增强S3。亦即,移除更新系统存储器的电源(如同图2所示的方法)。然而,不同于ACPI所定义的S4,因为系统管理模式(SMM)是由基本输入输出系统或固件所控制,所以当本方法的系统要从增强S3恢复至工作状态时,并不需重新初始化基本输入输出系统。此外,在另一实施例中,操作系统会认为系统是处于S3,然而系统实际上是处于增强S3。在另一实施例中,操作系统会以为系统是处于S4,然而系统实际上却是处于增强S3。在另外的实施例中,操作系统可知道系统处于增强S3,此时由基本输入输出系统或固件控制系统于系统管理模式(SMM)。
步骤412,系统收到一恢复请求而使系统从待机状态恢复到工作状态。其中恢复请求是根据操作系统认为系统所在的待机状态而产生。举例来说,当操作系统认为系统是处于S3时(系统实际上可能是处于增强S3),操作系统便会产生从S3恢复到工作状态的恢复请求。同样地,当操作系统认为系统是处于S4时(系统实际上可能是处于增强S3),操作系统会产生从S4恢复到工作状态的恢复请求。此外,当操作系统知道系统实际上是处于增强S3,则可产生从增强S3恢复到工作状态的恢复请求。
在另一实施例中,固件或芯片组可接收上述的恢复请求。举例来说,恢复请求可来自系统的各种元件,例如:当使用者按下系统的电源开关、待机按键或其它输入/输出装置(例如鼠标或键盘…等)时。再者,处理单元亦可直接发出系统存储器存取请求,使系统恢复至工作状态。
步骤414,将系统内容从非易失性存储器回存到系统存储器。在另一实施例中,这个系统存储器复原程序会使得系统从增强S3恢复到S3。然而,在另一些实施例中,系统会直接从增强S3恢复到工作状态(即使操作系统认为系统是处于S3)。当系统内容从非易失性存储器回存到系统存储器时,系统可供应电源给系统存储器。
步骤416,系统可能执行一个或多个程序来恢复系统。举例来说,可依照ACPI定义的S3恢复程序而使得系统内容自系统存储器中恢复。若系统已从增强S3进入S3,则系统可依照已知的S3存储器复原程序恢复到工作状态。在一些实施例中,步骤414或步骤416可使用图3所描述的请求分页(demand paging)方法。
步骤418,系统进入工作状态。
本发明的优点
已知系统(例如Microsoft WindowsTM系统)虽然可选择进入S3和S4待机状态,并从S3和S4恢复到工作状态。然而,本发明另提供一种待机状态─增强S3,此待机状态(增强S3)兼具了S3和S4的优点。
如图3实施例的所述,当系统欲从增强S3恢复时,可几乎如同从S3恢复一样快速。但相较于一般的S3,本发明定义的增强S3却不需要提供系统存储器电源以更新系统存储器。因此,本发明定义的增强S3兼具S3的优点(快速恢复)和S4的优点(省电)。
此外,增强S3和其它待机状态有其它不同点。举例来说,在增强S3下,基本输入输出系统可执行写入的操作(写入到非易失性存储器中);而在S4下,通常是由操作系统执行写入。其次,在增强S3中所有系统内容会遗失,但是这些内容会被完整地保存在非易失性存储器中;相反的,在S4下,所有系统内容仅会被储存成一个文件。再者,根据ACPI规格第20页中载明“若系统受指示进入S4,操作系统会将所有系统内容写入非易失性存储器的一个文件中,并且留下适当的内容标签(If the system has been commanded to enter S4,theOS will write all system content to a file on non-volatile storage media andleave the appropriate context maker);但由于在增强S3下,系统内容是被完整的保存于非易失性存储器中,而非只是一个文件而已,所以本发明并不需要内容标签的指引。另外,如上述,操作系统可能无法知道非易失性存储器储存系统存储器映像的部分,因此操作系统会相信系统是处于S3,而不是实际上的增强S3。最后,本发明可使用直接存储器存取技术在系统存储器和非易失性存储器之间直接传输数据,而一般S3或S4在复原程序中并不会使用此方法。
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,任何所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,因此本发明的保护范围当视所附的权利要求范围所界定者为准。
Claims (12)
1.一种恢复计算机系统状态的方法,包含:
接收恢复请求使得计算机系统自待机状态恢复到工作状态,其中在待机状态中不对系统存储器供电;
执行复原程序以将该计算机系统恢复到该工作状态,其中该复原程序包含通过请求分页方法从非易失性存储器加载数据到系统存储器,其中该数据包含储存在非易失性存储器中的一特定区域的系统存储器映像,并且该计算机系统的一操作系统无法读取储存该系统存储器映像的非易失性存储器中的该特定区域,其中该数据包含用于恢复到该工作状态的信息,其中该复原程序包含通过先前储存于该非易失性存储器中的该信息使得该计算机系统恢复到该工作状态,且其中该数据包含一L2配置内容,其中通过请求分页方法从该非易失性存储器加载该数据到该系统存储器是将储存在该非易失性存储器中的该特定区域的系统存储器映像从低地址开始回存到该系统存储器,直到内容完全加载,并使得该系统存储器完全恢复到工作状态,或者,通过请求分页方法从该非易失性存储器加载该数据到该系统存储器是通过一分页复原指令将该非易失性存储器内容依分页依序回存或先行回存特定分页的内容;
其中该复原程序于该系统存储器和该非易失性存储器间使用直接存储器存取,以及
接收存取请求以存取该系统存储器,其中该存取请求指示存取该系统存储器的部分数据,并在该复原程序完成前存取该存取请求对应该系统存储器的部分,
所述的恢复计算机系统状态方法还包含:
接收待机请求以使得该计算机系统待机;
收到该待机请求后,在系统管理模式中将该数据储存到该非易失性存储器中;以及
在系统管理模式中暂停供应电源到该系统存储器,其中
在该系统管理模式中执行下,当接收该恢复请求以恢复该计算机系统时,不需重新初始化基本输入输出系统。
2.根据权利要求1所述的恢复计算机系统状态方法,其中该复原程序包含分页存储器复原程序。
3.根据权利要求1所述的恢复计算机系统状态方法,还包含:
判断该存取请求对应该系统存储器的部分是否已复原;以及
当该存取请求对应的该系统存储器部分尚未复原,则先行自非易失性存储器复原该存取请求对应该系统存储器的部分数据,
其中该复原程序包含存储器复原指令,其中通过优先于该存储器复原指令的该分页复原指令,使得该分页复原指令先行复原对应该系统存储器的部分。
4.根据权利要求1所述的恢复计算机系统状态方法,其中该数据包含该计算机系统于该工作状态时的该系统存储器映像。
5.一种控制器,用以恢复系统的状态,其中该控制器包含:
至少一输入端,用于接收来自处理单元的输入信号,以及用于接收与该系统相关的请求;以及
至少一输出端,用于输出到系统存储器和非易失性存储器;
其中该控制器用于:
通过该输入端接收恢复请求,使得该系统由待机状态恢复到工作状态,其中在待机状态中不对系统存储器供电,其中复原程序包含通过请求分页方法从非易失性存储器加载数据到系统存储器,其中该数据包含储存在非易失性存储器中的一特定区域的系统存储器映像,并且计算机系统的一操作系统无法读取储存该系统存储器映像的非易失性存储器中的该特定区域,其中该数据包含用于恢复到该工作状态的信息,其中该复原程序包含通过先前储存于该非易失性存储器中的该信息使得该计算机系统恢复到该工作状态,且其中该数据包含一L2配置内容,其中通过请求分页方法从该非易失性存储器加载该数据到该系统存储器是将储存在该非易失性存储器中的该特定区域的系统存储器映像从低地址开始回存到该系统存储器,直到内容完全加载,并使得该系统存储器完全恢复到工作状态,或者,通过请求分页方法从该非易失性存储器加载该数据到该系统存储器是通过一分页复原指令将该非易失性存储器内容依分页依序回存或先行回存特定分页的内容;
其中该复原程序于该系统存储器和该非易失性存储器间使用直接存储器存取;以及
通过该输入端接收存取请求以存取该系统存储器的部分数据,其中该存取请求对应该系统存储器的地址,并在该复原程序完成前存取该存取请求,
其中该控制器还可:
通过该输入端接收待机请求以使得该系统待机;
收到该待机请求后,在系统管理模式中将该数据储存到该非易失性存储器中;以及
在系统管理模式中暂停供应电源到该系统存储器,其中
在该系统管理模式中执行下,当接收该恢复请求以恢复该计算机系统时,不需重新初始化基本输入输出系统。
6.根据权利要求5所述的控制器,其中该复原程序包含分页存储器复原程序。
7.根据权利要求5所述的控制器,其中该控制器还可:
判断该存取请求对应该系统存储器的部分数据是否已恢复;以及
当该存取请求对应该系统存储器的部分数据尚未复原时,则先行自该非易失性存储器复原该存取请求对应该系统存储器的部分,
其中该复原程序包含发送存储器复原指令,其中通过优先于该存储器复原指令的该分页复原指令,使得该分页复原指令先行复原对应该系统存储器的部分。
8.根据权利要求5所述的控制器,其中该数据包含该系统于该工作状态时的该系统存储器映像。
9.一种具有电源管理能力的系统,包含:
处理单元;
非易失性存储器,耦接到该处理单元;
系统存储器,耦接到该处理单元,其中当收到待机请求时,该处理单元执行程序以使得该系统进待机状态;其中当收到该待机请求时,在系统管理模式中该处理单元将该系统存储器的内容储存到该非易失性存储器中并移除该系统存储器的电源从而在待机状态中不对系统存储器供电;以及
系统芯片,耦接到该处理单元、该非易失性存储器以及该系统存储器,其中当收到恢复请求时,该系统芯片执行复原程序使得该系统恢复到工作状态,其中该复原程序包含通过请求分页方法从非易失性存储器加载数据到系统存储器,其中该数据包含储存在非易失性存储器中的一特定区域的系统存储器映像,并且计算机系统的一操作系统无法读取储存该系统存储器映像的非易失性存储器中的该特定区域,其中该数据包含用于恢复到该工作状态的信息,其中该复原程序包含通过先前储存于该非易失性存储器中的该信息使得该计算机系统恢复到该工作状态,且其中该数据包含一L2配置内容,其中通过请求分页方法从该非易失性存储器加载该数据到该系统存储器是将储存在该非易失性存储器中的该特定区域的系统存储器映像从低地址开始回存到该系统存储器,直到内容完全加载,并使得该系统存储器完全恢复到工作状态,或者,通过请求分页方法从该非易失性存储器加载该数据到该系统存储器是通过一分页复原指令将该非易失性存储器内容依分页依序回存或先行回存特定分页的内容;
其中该复原程序于该系统存储器和该非易失性存储器间使用直接存储器存取
其中在该系统管理模式中执行下,当接收该恢复请求以恢复该计算机系统时,不需重新初始化基本输入输出系统。
10.根据权利要求9所述的系统,其中该系统芯片接收存取请求用以存取该系统存储器的部分数据;其中该存取请求对应该系统存储器的地址;其中该系统芯片判断该存取请求对应该系统存储器的部分数据是否已复原,若该存取请求对应该系统存储器的部分数据尚未复原,则先行自该非易失性存储器复原该存取请求对应该系统存储器的部分。
11.根据权利要求9所述的系统,其中该系统芯片判断该存取请求对应该系统存储器的部分数据是否已恢复,当该存取请求对应该系统存储器的部分数据尚未复原时,则先行自该非易失性存储器复原该存取请求对应该系统存储器的部分。
12.根据权利要求9所述的系统,其中该非易失性存储器包含闪存。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US9503208P | 2008-09-08 | 2008-09-08 | |
US9502908P | 2008-09-08 | 2008-09-08 | |
US61/095,029 | 2008-09-08 | ||
US61/095,032 | 2008-09-08 | ||
US12/358,412 US8499174B2 (en) | 2008-09-08 | 2009-01-23 | Method and controller for power management |
US12/358,412 | 2009-01-23 | ||
CNA2009101522775A CN101599023A (zh) | 2008-09-08 | 2009-07-14 | 电源管理控制器与方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2009101522775A Division CN101599023A (zh) | 2008-09-08 | 2009-07-14 | 电源管理控制器与方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104850435A CN104850435A (zh) | 2015-08-19 |
CN104850435B true CN104850435B (zh) | 2019-09-17 |
Family
ID=41800184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510247583.2A Active CN104850435B (zh) | 2008-09-08 | 2009-07-14 | 电源管理控制器与方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8504850B2 (zh) |
CN (1) | CN104850435B (zh) |
TW (2) | TWI407300B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110185208A1 (en) * | 2010-01-28 | 2011-07-28 | Apple Inc. | Memory power reduction in a sleep state |
KR101747797B1 (ko) * | 2011-01-26 | 2017-06-15 | 삼성전자주식회사 | 사타 인터페이스 및 그것의 전원 관리 방법 |
US9958926B2 (en) | 2011-12-13 | 2018-05-01 | Intel Corporation | Method and system for providing instant responses to sleep state transitions with non-volatile random access memory |
US9829951B2 (en) * | 2011-12-13 | 2017-11-28 | Intel Corporation | Enhanced system sleep state support in servers using non-volatile random access memory |
US9152205B2 (en) * | 2012-08-28 | 2015-10-06 | Intel Corporation | Mechanism for facilitating faster suspend/resume operations in computing systems |
US20140157025A1 (en) * | 2012-12-03 | 2014-06-05 | Radhika Ranjan Soni | Static frame display from a memory associated with a processor of a data processing device during low activity thereof |
TWI486875B (zh) | 2012-12-28 | 2015-06-01 | Mstar Semiconductor Inc | 電子裝置休眠回復設定方法以及具有休眠狀態以及休眠回復機制的電子裝置 |
TW201437805A (zh) * | 2013-03-29 | 2014-10-01 | Wistron Corp | 電子裝置及其電源管理方法 |
US10007552B2 (en) * | 2013-10-23 | 2018-06-26 | Insyde Software Corp. | System and method for dual OS memory switching |
US9600369B2 (en) | 2013-12-10 | 2017-03-21 | Huawei Technologies Co., Ltd. | Operating system recovery method and apparatus, and terminal device |
CN103729211B (zh) * | 2013-12-10 | 2017-08-04 | 华为技术有限公司 | 一种操作系统恢复方法、装置及终端设备 |
TWI533319B (zh) | 2014-11-20 | 2016-05-11 | 財團法人工業技術研究院 | 非揮發性記憶體裝置及其控制方法 |
US10115442B2 (en) | 2016-01-22 | 2018-10-30 | Microsoft Technology Licensing, Llc | Demand-based provisioning of volatile memory for use as non-volatile memory |
US9760147B2 (en) | 2016-01-22 | 2017-09-12 | Microsoft Technology Licensing, Llc | Power control for use of volatile memory as non-volatile memory |
KR102406571B1 (ko) * | 2017-12-28 | 2022-06-08 | 삼성전자주식회사 | 디스플레이 장치 및 그 동작방법 |
US11061692B2 (en) * | 2018-02-07 | 2021-07-13 | Intel Corporation | Low latency boot from zero-power state |
EP3872606B1 (en) | 2020-02-25 | 2023-08-02 | NXP USA, Inc. | Processor system |
US11061619B1 (en) | 2020-03-23 | 2021-07-13 | Western Digital Technologies, Inc. | Power management for data storage devices implementing non-volatile memory (NVM) sets |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1967447A (zh) * | 2004-09-10 | 2007-05-23 | 富士通株式会社 | 信息处理设备及电源控制方法 |
CN101082886A (zh) * | 2006-05-30 | 2007-12-05 | 松下电器产业株式会社 | 存储器数据保护装置及ic卡用lsi |
CN101211214A (zh) * | 2006-12-28 | 2008-07-02 | 索尼株式会社 | 信息处理设备、启动方法和计算机程序 |
CN101246389A (zh) * | 2006-09-29 | 2008-08-20 | 英特尔公司 | 提供从休眠状态瞬时接通恢复的计算系统节电方法和装置 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6393584B1 (en) * | 1995-04-26 | 2002-05-21 | International Business Machines Corporation | Method and system for efficiently saving the operating state of a data processing system |
US6438668B1 (en) * | 1999-09-30 | 2002-08-20 | Apple Computer, Inc. | Method and apparatus for reducing power consumption in a digital processing system |
US6609182B1 (en) * | 2000-01-20 | 2003-08-19 | Microsoft Corporation | Smart hibernation on an operating system with page translation |
US6691234B1 (en) * | 2000-06-16 | 2004-02-10 | Intel Corporation | Method and apparatus for executing instructions loaded into a reserved portion of system memory for transitioning a computer system from a first power state to a second power state |
US6546472B2 (en) * | 2000-12-29 | 2003-04-08 | Hewlett-Packard Development Company, L.P. | Fast suspend to disk |
US6883037B2 (en) * | 2001-03-21 | 2005-04-19 | Microsoft Corporation | Fast data decoder that operates with reduced output buffer bounds checking |
TWI224728B (en) * | 2002-10-03 | 2004-12-01 | Via Tech Inc | Method and related apparatus for maintaining stored data of a dynamic random access memory |
US7100037B2 (en) * | 2002-11-27 | 2006-08-29 | Intel Corporation | Method for reducing BIOS resume time from a sleeping state |
US7143248B2 (en) * | 2003-01-29 | 2006-11-28 | Steven Bress | Systems and methods for restoring critical data to computer long-term memory device controllers |
US7523323B2 (en) * | 2005-09-15 | 2009-04-21 | Intel Corporation | Method and apparatus for quick resumption |
US20070234028A1 (en) * | 2005-09-15 | 2007-10-04 | Rothman Michael A | Method and apparatus for quickly changing the power state of a data processing system |
US7543123B2 (en) * | 2005-11-07 | 2009-06-02 | International Business Machines Corporation | Multistage virtual memory paging system |
US20070150651A1 (en) * | 2005-12-22 | 2007-06-28 | Intel Corporation | Method for dynamically exposing backup and restore volumes |
US7793127B2 (en) * | 2005-12-30 | 2010-09-07 | Intel Corporation | Processor state restoration and method for resume |
US7584374B2 (en) * | 2006-03-07 | 2009-09-01 | Intel Corporation | Driver/variable cache and batch reading system and method for fast resume |
US7900074B2 (en) * | 2006-06-02 | 2011-03-01 | Apple Inc. | Method and apparatus for quickly reanimating devices from hibernation |
KR101258530B1 (ko) * | 2006-09-01 | 2013-04-30 | 삼성전자주식회사 | 딥스탑 모드를 구현하기 위한 시스템 온 칩 및 그 방법 |
US20080072084A1 (en) * | 2006-09-20 | 2008-03-20 | Chao-Kuang Yang | Method for Power Management |
US20080229050A1 (en) * | 2007-03-13 | 2008-09-18 | Sony Ericsson Mobile Communications Ab | Dynamic page on demand buffer size for power savings |
-
2009
- 2009-01-23 US US12/358,441 patent/US8504850B2/en active Active
- 2009-07-03 TW TW098122528A patent/TWI407300B/zh active
- 2009-07-06 TW TW098122732A patent/TWI436199B/zh active
- 2009-07-14 CN CN201510247583.2A patent/CN104850435B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1967447A (zh) * | 2004-09-10 | 2007-05-23 | 富士通株式会社 | 信息处理设备及电源控制方法 |
CN101082886A (zh) * | 2006-05-30 | 2007-12-05 | 松下电器产业株式会社 | 存储器数据保护装置及ic卡用lsi |
CN101246389A (zh) * | 2006-09-29 | 2008-08-20 | 英特尔公司 | 提供从休眠状态瞬时接通恢复的计算系统节电方法和装置 |
CN101211214A (zh) * | 2006-12-28 | 2008-07-02 | 索尼株式会社 | 信息处理设备、启动方法和计算机程序 |
Also Published As
Publication number | Publication date |
---|---|
CN104850435A (zh) | 2015-08-19 |
US20100064159A1 (en) | 2010-03-11 |
TW201011525A (en) | 2010-03-16 |
US8504850B2 (en) | 2013-08-06 |
TWI407300B (zh) | 2013-09-01 |
TWI436199B (zh) | 2014-05-01 |
TW201011524A (en) | 2010-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104850435B (zh) | 电源管理控制器与方法 | |
TWI816566B (zh) | 用於將外部記憶體虛擬化為機器學習加速器之局部記憶體之裝置及系統 | |
CN101634884B (zh) | 电源管理控制器与方法 | |
CN109739563B (zh) | 终端的控制方法、装置、系统及存储介质 | |
US8671241B2 (en) | Systems and methods for using reserved solid state nonvolatile memory storage capacity for system reduced power state | |
US6732280B1 (en) | Computer system performing machine specific tasks before going to a low power state | |
US7412565B2 (en) | Memory optimization for a computer system having a hibernation mode | |
US12019544B2 (en) | Memory mapping for hibernation | |
US20080065845A1 (en) | Reducing Wake Latency Time For Power Conserving State Transition | |
US6405320B1 (en) | Computer system performing machine specific tasks before going to a low power state | |
JP6399916B2 (ja) | 情報処理装置およびその制御方法 | |
KR20010033687A (ko) | 하이버네이션 기능 지원 정보 처리 시스템 및 그를제어하는 방법 | |
US20180095693A1 (en) | Information processing apparatus, information processing system, and method for controlling information processing apparatus | |
JP2015102889A (ja) | ファームウェアの更新方法、電子機器、コンピュータおよびコンピュータ・プログラム | |
US20190004818A1 (en) | Method of UEFI Shell for Supporting Power Saving Mode and Computer System thereof | |
US10996876B2 (en) | Systems and methods for dynamically modifying memory namespace allocation based on memory attributes and application requirements | |
JPH0784848A (ja) | 情報処理システム | |
KR20080057688A (ko) | 비휘발성 메모리를 이용한 운영체계 부팅 방법 | |
TWI522924B (zh) | 電子裝置及其切換作業系統的方法 | |
JP2012168871A (ja) | 計算機、消費電力低減方法およびプログラム | |
CN118276762A (zh) | 低延迟退出深度低功耗状态的存储设备及其方法 | |
US20130080717A1 (en) | Information processing apparatus and control method | |
TW201721348A (zh) | 系統暫停方法、系統回復方法及應用其之電腦系統 | |
CN105224399A (zh) | 电子装置及其切换作业系统的方法 | |
CN118170320A (zh) | 进入低功耗状态的存储设备及其方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |