TWI436199B - 電源管理控制器與方法 - Google Patents
電源管理控制器與方法 Download PDFInfo
- Publication number
- TWI436199B TWI436199B TW098122732A TW98122732A TWI436199B TW I436199 B TWI436199 B TW I436199B TW 098122732 A TW098122732 A TW 098122732A TW 98122732 A TW98122732 A TW 98122732A TW I436199 B TWI436199 B TW I436199B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- system memory
- standby state
- standby
- request
- Prior art date
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)
Description
本發明係有關於電腦系統,特別是有關於電源管理的方法與控制器。
近年來,電腦進入待機狀態(例如:使筆記型電腦達到省電的目的)並且從待機狀態(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回到正常工作狀態的時間長。因此,如何有效率的使得電腦系統由待機狀態快速恢復至工作狀態,且兼具低電源消耗的便是目前亟待發展的目標。
有鑑於此,本發明提供數個實施例以介紹電源管理的方法與控制器。
電腦系統可接收一待機要求指示電腦系統進入一第一待機狀態。當處於第一待機狀態時,系統中的一系統記憶體必須執行週期性的自我更新程序。其中系統更可中斷進入第一待機狀態,而使系統改進入一系統管理模式。其中系統可於接收到待機要求後,將一系統記憶體內容儲存到一非揮發性記憶體中,以進入一第二待機狀態,並移除系統記憶體之電源。其中,當處於第二待機狀態時,系統記憶體不須執行週期性的自我更新程序。
當重新供應系統記憶體電源之後,可將系統記憶體內容從非揮發性記憶體中復原。
上述各種實施例可用於硬體或軟體中(例如電腦可存取記憶體中的軟體程式或程式指令)。舉例來說,一種能使系統從待機狀態恢復的控制器,可包含一個或多個輸入端,用於接收來自一處理單元的輸入訊號,並用於接收與系統相關的要求。控制器更可包含一個或多個輸出端,用於輸出到一系統記憶體和一非揮發性記憶體。控制器可用於執行上述的方法。
為讓本發明之特徵和優點能更明顯易懂,下文特舉出較佳實施例,並配合所附圖式,作詳細說明如下:
名詞的定義
以下為本發明所使用之名詞的定義:記憶體(Memory Medium)-任何種類的記憶裝置或儲存裝置。本發明中的記憶體可包含儲存裝置,例如:唯讀光碟(CD-ROM)、軟式磁碟片(Floppy Disks)或磁帶裝置(Tape Device);電腦系統記憶體或隨機存取記憶體(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)、網際網路裝置(Internet appliance)、個人數位助理(Personal Digital Assistant)、電視系統(Television System)、網格計算系統(Grid Computing System)或其他裝置或組合。一般來說,本發明之電腦系統可廣泛定義為具有至少一個用來從記憶體執行指令的處理單元的裝置(或裝置組)。
第l圖-系統範例介紹
第1圖為根據本發明一實施例之具有電源管理功能之系統100的示意圖。系統100可進入待機狀態且從該待機狀態恢復到工作狀態。此外,系統100可為任何能進入待機狀態且從該待機狀態恢復的各種電腦系統或裝置。其中,系統100更可為依賴電池供電的電腦系統(如筆記型電腦或其他可攜式裝置)。此外,系統100亦可為任何種類的系統。
如第1圖所示,系統100可包含一中央處理單元(CPU)110,其中,中央處理單元110可為任何種類的處理單元,例如:x86處理器(如Advanced Micro Devices或Intel等公司製造的處理器)、精簡指令集電腦處理器(RISC Processor)、進階精簡指令集電腦處理器(ARM Processor)或其他種類處理單元。
如第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)或一恢復要求(Resume Request)。
硬碟/非揮發性記憶體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 S3 State)。由於在本方法中已經將系統記憶體映像備份儲存到非揮發性記憶體中,所以不需要擔心內容遺失的問題,因此增強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的系統記憶體復原程序完成前就發出。此一存取要求可為存取系統記憶體某一特定部份之內容。舉例來說,此一存取要求可為一記憶體存取要求,用以存取系統記憶體在工作狀態下時某一特定位址之內容。如上所述,這個特定位址的內容可能正由步驟204所執行的系統記憶體復原程序而恢復當中。在另一實施例中,可藉由必要的分頁來判定該特定位址。再者,該存取要求可僅包含系統記憶體位址。
步驟308,判斷步驟304的系統記憶體復原程序是否成功恢復步驟306中存取要求的內容。如果該內容已恢復,則可依照習知的方法存取系統記憶體內容(步驟314)。
然而,如果該內容在收到存取要求前尚未恢復完成,則本方法可在其他系統記憶體內容尚未恢復前先行恢復此存取要求所需之內容,使處理單元可在最短延遲時間內完成存取要求。在另一實施例中,動態分頁控制器可藉由分頁記憶體要求(Page Memory Request)先行恢復特定系統記憶體內容。此方式之分頁記憶體要求具有優先權,如此一來,於步驟304執行系統記憶體復原程序時,即可優先被恢復。藉由“要求分頁(demand paging)”方法來恢復特定系統記憶體內容時,便可將可能先被例如處理單元要求存取的部分記憶體內容先行回存到系統記憶體。如此一來,步驟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舉例代表第二待機狀態)。亦即,晶片或韌體可發出一系統控制中斷指令(System Management 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,作業系統會將所有系統內容寫入非揮發性記憶體的一個檔案中,並且留下適當的內容標籤;但由於在增強S3下,系統內容是被完整的保存於非揮發性記憶體中,而非只是一個檔案而已,所以本發明並不需要內容標籤的指引。另外,如上述,作業系統可能無法知道非揮發性記憶體儲存系統記憶體映像的部分,因此作業系統會相信系統是處於S3,而不是實際上的增強S3。最後,本發明可使用直接記憶體存取技術在系統記憶體和非揮發性記憶體之間直接傳輸資料,而一般S3或S4在復原程序中並不會使用此方法。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100...系統
110...中央處理單元
120...系統記憶體
130...系統晶片組
132...要求分頁控制器
134...硬碟主控制器
140...硬碟/非揮發性記憶體
142...硬碟控制器
145...儲存器
146...系統記憶體映像
第1圖為根據本發明一實施例之具有電源管理功能之系統示意圖;
第2圖為根據本發明一實施例之進入待機狀態的方法流程圖;
第3圖為根據本發明一實施例之從待機狀態恢復的方法流程圖;以及
第4圖為根據本發明一實施例之進入待機狀態並從該待機狀態恢復的方法流程圖。
100...系統
110...中央處理單元
120...系統記憶體
130...系統晶片組
132...要求分頁控制器
134...硬碟主控制器
140...硬碟/非揮發性記憶體
142...硬碟控制器
145...儲存器
146...系統記憶體映像
Claims (22)
- 一種電源管理方法,包含:接收一待機要求使一系統進入一第一待機狀態,該第一待機狀態係由進階組態與電源管理介面規格所定義;根據該第一待機要求,執行一個或複數個程序以進入該第一待機狀態;根據該第一待機要求,將一系統記憶體映像儲存到一非揮發性記憶體的一區域中,用以進入一第二待機狀態,該第二待機狀態係由該進階組態與電源管理介面規格所定義,其中該系統的一作業系統無法知悉該區域;以及在收到該第一待機要求後,並且該系統記憶體映像被儲存於該非揮發性記憶體後,移除一系統記憶體的電源,其中在移除該系統記憶體的電流後,該系統處於該第二待機狀態,並且於該第一待機狀態下,該系統記憶體需執行週期性的自我更新;於該第二待機狀態下,該系統記憶體不需執行週期性的自我更新,其中該系統記憶體映像包括一L2組態內容;接收一恢復要求以恢復該系統;根據該恢復要求,供應電源到該系統記憶體;在供應電源到該系統記憶體後,藉由要求分頁方式,從該非揮發性記憶體中復原該系統記憶體映像之內容;以及在復原該系統記憶體之內容後,執行一個或複數個程序以恢復該系統。
- 如申請專利範圍第1項所述之電源管理方法,其中 接收該待機要求使該系統進入該第一待機狀態的方法包含:產生一指令使得該系統進入該第一待機狀態,其中該待機要求包含該指令;以及中斷該指令以進入一系統管理模式,其中在該系統記憶體映像儲存於該區域並且移除該系統記憶體的電源後,在該系統管理模式中,該系統進入該第二待機狀態,用以取代該第一待機狀態。
- 如申請專利範圍第2項所述之電源管理方法,其中於該系統管理模式中執行將該系統記憶體映像儲存到該非揮發性記憶體或移除該系統記憶體電源之步驟。
- 如申請專利範圍第1項所述之電源管理方法,其中利用直接記憶體存取使得該系統記憶體映像由該非揮發性記憶體中復原。
- 如申請專利範圍第1項所述之電源管理方法,其中復原該系統記憶體映像的方法包含根據一記憶體存取要求復原該系統記憶體。
- 如申請專利範圍第1項所述之電源管理方法,更包含:接收一存取要求以存取該系統記憶體之部分資料;以及根據該存取要求,先行復原該存取要求對應該系統記憶體之部分資料。
- 如申請專利範圍第1項所述之電源管理方法,其中包含產生該系統記憶體映像,並使得該系統記憶體映像儲 存到該非揮發性記憶體中。
- 一種控制器,包含:至少一輸入端,耦接一處理單元,用於接收來自該處理單元的輸入訊號,以及接收與系統相關的要求;至少一輸出端,耦接一系統記憶體以及一非揮發性記憶體,用於根據該輸入端所接收到的該處理單元的輸入訊號,提供輸出到該系統記憶體和該非揮發性記憶體;其中該控制器接收一待機要求使一系統進入一第一待機狀態,該第一待機狀態係由進階組態與電源管理介面規格所定義;且根據該待機要求,執行一個或複數個程式以進入該第一待機狀態;其中,該控制器根據該待機要求,將一系統記憶體映像儲存到該非揮發性記憶體的一區域中,用以進入一第二待機狀態,該第二待機狀態係由進階組態與電源管理介面規格所定義,其中該處理單元的一作業系統無法知悉該區域,並且於該第一待機狀態下,該系統記憶體需執行週期性的自我更新;於該第二待機狀態下,該系統記憶體不需執行週期性的自我更新,其中該系統記憶體映像包括一L2組態內容;在該控制器根據該待機要求將該系統記憶體映像儲存於該非揮發性記憶體後,移除該系統記憶體的電源,其中在移除該系統記憶體的電源後,該系統處於該第二待機狀態;其中該控制器接收一恢復要求以復原該系統;其中該控制器根據該恢復要求,供應電源到該系統記 憶體,接著從該非揮發性記憶體中復原該系統記憶體映像,並接著執行一個或複數個程序以恢復該系統。
- 如申請專利範圍第8項所述之控制器,其中該控制器接收該待機要求使該系統進入該第一待機狀態的方法更包含:中斷使得該系統進入該第一待機狀態之一指令,使得該系統進入一系統管理模式,其中該待機要求包含該指令。
- 如申請專利範圍第8項所述之控制器,其中該控制器於一系統管理模式下執行儲存該系統記憶體映像到該非揮發性記憶體中或移除該系統記憶體的電源的步驟,其中在該系統記憶體映像儲存於該區域並且移除該系統記憶體的電源後,在該系統管理模式中,該系統進入該第二待機狀態,用以取代該第一待機狀態。
- 如申請專利範圍第8項所述之控制器,其中利用直接記憶體存取使得該系統記憶體映像由該非揮發性記憶體復原。
- 如申請專利範圍第8項所述之控制器,其中可根據一記憶體存取要求復原該系統記憶體映像。
- 如申請專利範圍第8項所述之控制器,其中該控制器接收一存取要求以存取該系統記憶體之部分;其中根據該存取要求,該控制器先行復原該存取要求對應該系統記憶體映像之部分資料。
- 一種記憶體,用於儲存一程式指令,其中該程式指令由一處理單元所執行以實現下列步驟:當收到一待機要求時,執行一個或複數個程式以使得 一系統由一工作狀態進入一第一待機狀態,該第一待機狀態係由進階組態與電源管理介面規格所定義;根據該待機要求,將一系統記憶體映像儲存到一非揮發性記憶體的一區域中,用以進入一第二待機狀態,該第二待機狀態係由進階組態與電源管理介面規格所定義,其中該處理單元的一作業系統無法知悉該區域;以及在收到該第一待機要求後,並且該系統記憶體映像被儲存於該非揮發性記憶體後,移除一系統記憶體的電源,其中在移除該系統記憶體的電源後,該系統處於該第二待機狀態,其中於該第一待機狀態下,該系統記憶體需執行週期性的自我更新;於該第二待機狀態下,該系統記憶體不需執行週期性的自我更新,其中該系統記憶體映像包括一L2組態內容;接收一恢復要求以恢復該系統;根據該恢復要求,供應電源到該系統記憶體;在供應電源到該系統記憶體後,將該系統記憶體映像由該非揮發性記憶體中復原;以及在該系統記憶體映像由該非揮發性記憶體中復原後,執行一個或複數個程序以恢復該系統。
- 如申請專利範圍第14項所述之記憶體,其中在收到該待機要求後,更執行該程式指令以實現下列步驟:中斷使得該系統進入第一待機狀態之一指令,使得該系統進入一系統管理模式,其中該待機要求包含該指令。
- 如申請專利範圍第14項所述之記憶體,其中更執行該程式指令以實現下列動作: 接收一存取要求以存取該系統記憶體之部分資料;以及根據該存取要求,先行復原該存取要求對應該系統記憶體映像之部分資料。
- 一種系統,包括:一系統晶片組,接收來自一處理單元的一輸出訊號;一系統記憶體,耦接該系統晶片組;一非揮發性記憶體,耦接該系統晶片組;其中當該輸出訊號係待機要求時,該系統晶片組執行至少一個程式,以進入一第一待機狀態,該第一待機狀態係由進階組態與電源管理介面規格所定義,該系統晶片組將一系統記憶體映像儲存至該非揮發性記憶體的一區域中,以進入一第二待機狀態,該第二待機狀態係由該進階組態與電源管理介面規格所定義,其中該系統的一作業系統無法知悉該區域,並且於該第一待機狀態下,該系統記憶體需執行週期性的自我更新;於該第二待機狀態下,該系統記憶體不需執行週期性的自我更新,其中該系統記憶體映像包括一L2組態內容,在收到該第一待機要求後,並且該系統記憶體映像已被儲存於該非揮發性記憶體中時,移除該系統記憶體的電源,其中在移除該系統記憶體的電流後,該系統處於該第二待機狀態,其中該系統晶片組更可接收一恢復要求以復原該系統;其中,在收到該恢復要求後,該系統晶片組供應電源到該系統記憶體,接著從該非揮發性記憶體中復原該系統記憶體映像,以及執行一個或複數個程序以恢復該系統。
- 如申請專利範圍第17項所述之系統,其中該系統晶片組中斷使得該系統進入該第一待機狀態之一指令,使得該系統進入一系統管理模式,其中該待機要求包含該指令。
- 如申請專利範圍第17項所述之系統,其中該系統晶片組於一系統管理模式下執行儲存該系統記憶體映像到該非揮發性記憶體中或移除該系統記憶體的電源的步驟,其中在該系統記憶體映像儲存於該區域並且移除該系統記憶體的電源後,在該系統管理模式中,該系統進入該第二待機狀態,用以取代該第一待機狀態。
- 如申請專利範圍第17項所述之系統,其中利用直接記憶體存取使得該系統記憶體映像由該非揮發性記憶體復原。
- 如申請專利範圍第17項所述之系統,其中可根據一記憶體存取要求復原該系統記憶體映像。
- 如申請專利範圍第17項所述之系統,其中該系統晶片組接收一存取要求以存取該系統記憶體映像之部分;其中根據該存取要求,該系統晶片組先行復原該存取要求對應該系統記憶體映像之部分資料。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US9503208P | 2008-09-08 | 2008-09-08 | |
US9502908P | 2008-09-08 | 2008-09-08 | |
US12/358,441 US8504850B2 (en) | 2008-09-08 | 2009-01-23 | Method and controller for power management |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201011525A TW201011525A (en) | 2010-03-16 |
TWI436199B true TWI436199B (zh) | 2014-05-01 |
Family
ID=41800184
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW098122528A TWI407300B (zh) | 2008-09-08 | 2009-07-03 | 電源管理控制器與方法 |
TW098122732A TWI436199B (zh) | 2008-09-08 | 2009-07-06 | 電源管理控制器與方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW098122528A TWI407300B (zh) | 2008-09-08 | 2009-07-03 | 電源管理控制器與方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8504850B2 (zh) |
CN (1) | CN104850435B (zh) |
TW (2) | TWI407300B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9348770B1 (en) | 2014-11-20 | 2016-05-24 | Industrial Technology Research Institute | Non-volatile semiconductor memory device with temporary data retention cells and control method thereof |
Families Citing this family (17)
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 | 华为技术有限公司 | 一种操作系统恢复方法、装置及终端设备 |
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 |
Family Cites Families (23)
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 |
JP4436219B2 (ja) * | 2004-09-10 | 2010-03-24 | 富士通株式会社 | 情報処理装置及び電源制御方法 |
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 |
JP2007323149A (ja) * | 2006-05-30 | 2007-12-13 | Matsushita Electric Ind Co Ltd | メモリデータ保護装置及びicカード用lsi |
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 |
US20080082752A1 (en) * | 2006-09-29 | 2008-04-03 | Ram Chary | Method and apparatus for saving power for a computing system by providing instant-on resuming from a hibernation state |
JP4517303B2 (ja) * | 2006-12-28 | 2010-08-04 | ソニー株式会社 | 情報処理装置、起動方法、およびプログラム |
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
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9348770B1 (en) | 2014-11-20 | 2016-05-24 | Industrial Technology Research Institute | Non-volatile semiconductor memory device with temporary data retention cells and control method thereof |
Also Published As
Publication number | Publication date |
---|---|
CN104850435A (zh) | 2015-08-19 |
CN104850435B (zh) | 2019-09-17 |
US20100064159A1 (en) | 2010-03-11 |
TW201011525A (en) | 2010-03-16 |
US8504850B2 (en) | 2013-08-06 |
TWI407300B (zh) | 2013-09-01 |
TW201011524A (en) | 2010-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI436199B (zh) | 電源管理控制器與方法 | |
US6243831B1 (en) | Computer system with power loss protection mechanism | |
US7757060B2 (en) | Reducing wake latency time for power conserving state transition | |
CN101634884B (zh) | 电源管理控制器与方法 | |
KR101562973B1 (ko) | 메모리 장치 및 메모리 장치의 동작 방법 | |
JP4422136B2 (ja) | 記憶装置及び起動方法 | |
US12019544B2 (en) | Memory mapping for hibernation | |
JPH11161385A (ja) | コンピュータシステムおよびそのシステムステート制御方法 | |
TW201525869A (zh) | 用於雙作業系統記憶體切換的系統及方法 | |
US10890963B2 (en) | System and method for platform sleep state enhancements using non-volatile dual in-line memory modules | |
US6154846A (en) | System for controlling a power saving mode in a computer system | |
JPH0944418A (ja) | 情報処理システム及びその制御方法 | |
KR20080057688A (ko) | 비휘발성 메모리를 이용한 운영체계 부팅 방법 | |
US20200133562A1 (en) | Information processing device, controlling method and program | |
TWI522924B (zh) | 電子裝置及其切換作業系統的方法 | |
JP2009258925A (ja) | 計算機システムおよび計算機システムのメモリ管理方法 | |
JP3702233B2 (ja) | 情報処理システムおよびプログラム実行モード制御方法 | |
JPH11338640A (ja) | コンピュータシステムおよびデータ転送制御方法 | |
JP2003345474A (ja) | コンピュータシステムおよびデータ転送制御方法 | |
JP4726425B2 (ja) | 情報処理装置 | |
CN105224399A (zh) | 电子装置及其切换作业系统的方法 | |
JP2006171987A (ja) | コンピュータの快速ブート方法及び装置 | |
CZ20002529A3 (cs) | Systém pro zpracování informací s provozem pozastavení/obnovení |