專利名稱:電子裝置以及休眠方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種休眠的方法,尤其涉及一種能快速進入以及離開休眠模式的方法。
背景技術(shù):
隨著計算機設(shè)備價格普及化,消費大眾所擁有的桌上型計算機以及攜帶型計算機設(shè)備數(shù)量逐漸增加。然而,因應能源節(jié)約的環(huán)保考量,以及讓攜帶型計算機的操作時間延長。因此,計算機設(shè)備將電源消耗與管理列為一項重要考量,例如提供待命與休眠(Hibernation)等模式以節(jié)約電源,讓使用者需要暫時離開計算機時,可選擇讓計算機進入待命或休眠模式來達到省電目的。當使用者重新喚醒計算機時,需耗時喚起計算機的功能并且將計算機回復至先前的狀態(tài)。
發(fā)明內(nèi)容
為了解決上述問題,本發(fā)明提供一種電子裝置包括一非易失存儲器、一動態(tài)隨機存取存儲器以及一控制單元。動態(tài)隨機存取存儲器包括一待命區(qū)塊??刂茊卧靡詫⒈粓?zhí)行以及預取的多個程序模塊載入動態(tài)隨機存取存儲器,以及將動態(tài)隨機存取存儲器中沒有被使用的程序模塊的數(shù)據(jù)以及程序碼存儲于待命區(qū)塊。其中,當電子裝置進入一休眠模式時,控制單元將待命區(qū)塊中的數(shù)據(jù)清除至一既定量,并且在清除待命區(qū)塊中的數(shù)據(jù)后,將清除后的動態(tài)隨機存取存儲器中的其余數(shù)據(jù)存儲至非易失存儲器。本發(fā)明另提供一種休眠方法,適用于一電子裝置包括接收一第一指令;根據(jù)第一指令,清除一動態(tài)隨機存取存儲器中的一待命區(qū)塊的存儲器容量至一既定量,其中待命區(qū)塊用以存儲動態(tài)隨機存取存儲器中沒有被使用的程序模塊的數(shù)據(jù)以及程序碼;清除動態(tài)隨機存取存儲器中的待命區(qū)塊的存儲器容量至既定量后,將清除后的動態(tài)隨機存取存儲器中的數(shù)據(jù)定義為一回復數(shù)據(jù),并且存儲至一非易失存儲器;以及停止供應電源至動態(tài)隨機存取存儲器,并且致使電子裝置進入休眠模式。本發(fā)明使得電子裝置能夠快速進入以及離開休眠模式。
圖1為本發(fā)明所揭示的電子裝置的方塊圖。圖2為本發(fā)明的一種休眠方法的流程圖。主要附圖標記說明:100 電子裝置;120 控制單元;130 動態(tài)隨機存取存儲器;140 非易失存儲器;150 只讀存儲器;
160 待命區(qū)塊。
具體實施例方式以下將詳細討論本發(fā)明各種實施例的裝置及使用方法。然而值得注意的是,本發(fā)明所提供的許多可行的發(fā)明概念可實施在各種特定范圍中。這些特定實施例僅用于舉例說明本發(fā)明的裝置及使用方法,但非用于限定本發(fā)明的范圍。在計算機系統(tǒng)(例如使用Microsoft Windows操作系統(tǒng)的電子裝置),其電源管理可借由高級配置與電源接口(Advanced Configuration and Power Interface,ACPI)所定義的待機狀態(tài)來減少電源的消耗,在高級配置與電源接口中定義了 SO S5共六種狀態(tài):S0開機狀態(tài)代表計算機系統(tǒng)工作狀態(tài),在開機狀態(tài)中計算機的中央處理器CPU(S)執(zhí)行指令,操作系統(tǒng)和應用程序亦可正常執(zhí)行。另外,在開機狀態(tài)下,中央處理器CPU和硬盤、DVD驅(qū)動器等計算機裝置可以一再的進入和從低能源狀態(tài)回來;在SI省電狀態(tài)時,中央處理器CPU停止工作;在32省電狀態(tài)時,中央處理器CPU關(guān)閉,不供電;S3待機狀態(tài)(Sleep),僅有存儲器供電,亦稱為掛載至存儲器(Suspend to RAM),在S3狀態(tài)為一種低喚醒(Resume)時間(約5秒或更短)的待機狀態(tài),計算機系統(tǒng)可以很快速地恢復到工作狀態(tài)(例如SO狀態(tài));34休眠狀態(tài)(Hibernate)亦可稱為掛載至磁盤(Suspend to Disk),且為一種低耗電量、長喚醒延遲時間(例如:約20秒或更長)的待機狀態(tài)。上述的SI S4為不同程度的省電狀態(tài)或待機狀態(tài),S5狀態(tài)則是關(guān)機狀態(tài),在關(guān)機狀態(tài)S5下,計算機的軟件以及裝置處于關(guān)閉狀態(tài),但有些部件仍然帶電,使計算機仍然可以被鍵盤、時鐘、m0dem(電話喚醒)、LAN(網(wǎng)絡(luò)喚醒)還有USB裝置所喚醒。值得注意的是,本發(fā)明所述的開機狀態(tài)、待機狀態(tài)、省電狀態(tài)以及關(guān)機狀態(tài)不限定于ACPI所定義的Microsoft Windows的操作系統(tǒng)。舉例而言,在Linux操作系統(tǒng)或者Mac OS系統(tǒng)下各種電源管理程序所定義的將系統(tǒng)掛載至存儲器的狀態(tài)皆可視為本申請的待機狀態(tài)(Sleep),而將系統(tǒng)掛載至硬盤的狀態(tài)皆可視為本申請的休眠狀態(tài)(Hibernate)。值得注意的是,在本發(fā)明中待機狀態(tài)(Sleep)以及休眠狀態(tài)(Hibernate)統(tǒng)稱為休眠模式。圖1為本發(fā)明所揭示的一種電子裝置100的方塊圖,其中電子裝置100適用于本發(fā)明所揭示的休眠方法。如圖1中所示,電子裝置100包括控制單元120、動態(tài)隨機存取存儲器130 (Random-access memory, RAM)、非易失存儲器140以及只讀存儲器150,其中控制單元120可包括一嵌入式控制器、一芯片組以及一單一中央處理器(central-processingunit,CPU)或者是關(guān)聯(lián)于平行運算環(huán)境(parallel processing environment)的多個平行中央處理器(未圖示),而只讀存儲器150電性耦接至嵌入式控制器。除此之外,本領(lǐng)域普通技術(shù)人員也可將電子裝置100實施于其他系統(tǒng)配置(configuration)上,例如,手持式設(shè)備(hand-held devices)、多處理器系統(tǒng)、以微處理器為基礎(chǔ)或可程序化的消費性電子產(chǎn)品(microprocessor-based or programmable consumer electronics)、網(wǎng)絡(luò)計算機、迷你計算機、平板計算機、筆記型計算機、大型主機以及類似的設(shè)備。在電子裝置100開機時,控制單元120中的嵌入式控制器讀取只讀存儲器150中的BIOS程序碼,以在開機以及操作系統(tǒng)切換時,提供電子裝置100充足的信息,其中只讀存儲器150中的BIOS程序碼為控制整個開機流程的核心機制。動態(tài)隨機存取存儲器130用以載入各式各樣的程序與數(shù)據(jù)以供控制單元120直接執(zhí)行與運用。值得注意的是,本發(fā)明的動態(tài)隨機存取存儲器130包括一待命區(qū)塊160,用以存取沒有被使用的程序模塊的數(shù)據(jù)以及程序碼。非易失存儲器140可包含快閃存儲器(flash ROM)、可擦除可編程只讀存儲器、電子式可擦除可編程只讀存儲器、暫存器、硬盤、及/或在所知的技術(shù)中以任何其他型式存在的計算機可讀取存儲媒介,用以存儲可供控制單元120執(zhí)行的程序模塊。值得注意的是,非易失存儲器140亦可用以存儲BIOS的程序碼,并且執(zhí)行上述只讀存儲器150的功能。一般而言,程序模塊包含常序(routines)、程序(program)、物件(object)、元件(component)或網(wǎng)絡(luò)服務(Web Service)等,用以執(zhí)行點對點通信系統(tǒng)的即時信息轉(zhuǎn)換(instant message switch)功倉泛??刂茊卧?20中的芯片組電性耦接于各元件之間,用以傳送電子裝置100中的各元件的控制信號。在一實施例中,芯片組可為南北橋合一的芯片或是南橋芯片。此夕卜,芯片組還可包括存儲器控制器(未標示,例如是動態(tài)隨機存取存儲器控制器(DRAMController)),用以動態(tài)隨機存取存儲器130。另外,控制單元120還用以將存儲于非易失存儲器140中被執(zhí)行以及預取的程序模塊載入動態(tài)隨機存取存儲器130中執(zhí)行,并且將動態(tài)隨機存取存儲器130中沒有被使用的程序模塊的數(shù)據(jù)以及程序碼存儲于待命區(qū)塊160中。當電子裝置100進入休眠模式,例如高級配置與電源接口(AdvancedConfiguration and Power Interface, ACPI)所定義的 S3 或者 S4 狀態(tài)時,控制單兀 120根據(jù)進入休眠模式的指令,將待命區(qū)塊160中的數(shù)據(jù)清除至一既定量或者全部清除,并且在清除待命區(qū)塊160中的數(shù)據(jù)后,將動態(tài)隨機存取存儲器130中的其余數(shù)據(jù)定義為一回復數(shù)據(jù),并且存儲至非易失存儲器140。其中上述既定量以減少待命區(qū)塊160中的無效的預取數(shù)據(jù)為原則,以減少當電子裝置100進入休眠模式時需備分的數(shù)據(jù),即自休眠模式回復至正常運行時需重新載入的數(shù)據(jù),可由設(shè)計者自行制定,本發(fā)明在此不加以限制。值得注意的是,在本發(fā)明中,控制單元120用以清除待命區(qū)塊160中電子裝置100的系統(tǒng)的快取數(shù)據(jù)(cache memory),其中快取數(shù)據(jù)可隨時從文件系統(tǒng)中讀回。另外,本發(fā)明的休眠模式將電子裝置100的部分元件,例如動態(tài)隨機存取存儲器130、非易失存儲器140以及顯示器(未圖示)處于停止運轉(zhuǎn)的狀態(tài),以便電子裝置100減少電源的耗用,當使用者重新喚醒電子裝置100時,即快速地脫離休眠模式,且顯示器畫面則完全還原為離開時的畫面。另一方面,當電子裝置100進入休眠模式時,則會將動態(tài)隨機存儲器130中的工作狀態(tài)存儲在非易失存儲器140后再關(guān)閉電子裝置100。因此,當使用者重新啟動電子裝置100時,先前存儲在非易失存儲器140的數(shù)據(jù)會重新載入到非易失存儲器140,因此先前電子裝置100關(guān)閉時所有使用中的程序及文件均重新還原于顯示器畫面上,亦即還原至進入休眠模式前的狀態(tài)。圖2表示依據(jù)本發(fā)明實施例的休眠方法的流程圖。流程開始于步驟S200。在步驟S200中,電子裝置100接收一第一指令,觸發(fā)電子裝置100進入休眠模式的指令,其中上述第一指令為電子裝置100滿足一既定條件所使能的控制信號,舉例而言,既定條件可為電子裝置100閑至超過一既定時間。接著流程進行至步驟S202。在步驟S202中,控制單元120根據(jù)第一指令,清除動態(tài)隨機存取存儲器130中的待命區(qū)塊160的存儲器容量至一既定量,其中待命區(qū)塊160用以存儲動態(tài)隨機存取存儲器130中沒有被使用的程序模塊的數(shù)據(jù)以及程序碼。舉例而言,控制單元120可要求操作系統(tǒng)分配動態(tài)隨機存取存儲器130中的存儲器容量至一程序軟件,此時操作系統(tǒng)會將動態(tài)隨機存取存儲器130中存儲于待命區(qū)塊160沒有被使用的程序模塊的數(shù)據(jù)以及程序碼所占用的存儲器容量分配給此程序軟件。直至待命區(qū)塊160的存儲器容量分配給此程序軟件的存儲器容量至一既定量后,操作系統(tǒng)停止分配動態(tài)隨機存取存儲器130的存儲器容量給此程序軟件,而此程序軟件釋出操作系統(tǒng)分配的動態(tài)隨機存取存儲器130的存儲器容量,由此達到清除待命區(qū)塊160的存儲器容量的功效。值得注意的是,在本發(fā)明的另一實施例中,動態(tài)隨機存取存儲器130將待命區(qū)塊160中的數(shù)據(jù)全部清除。另外,動態(tài)隨機存取存儲器130用以存取被執(zhí)行以及預取的多個程序模塊,并且將動態(tài)隨機存取存儲器130中沒有被使用的程序模塊的數(shù)據(jù)以及程序碼存儲于待命區(qū)塊160中。接著流程進行至步驟S204。在步驟S204中,控制單元120清除動態(tài)隨機存取存儲器130中的待命區(qū)塊160的存儲器容量至既定量后,控制單元120將動態(tài)隨機存取存儲器130中的其余數(shù)據(jù)定義為一回復數(shù)據(jù),并且存儲至非易失存儲器140。接著流程進行至步驟S206。在步驟S206中,電子裝置100停止供應電源至動態(tài)隨機存取存儲器130,并且致使電子裝置100進入休眠模式,例如高級配置與電源接口(Advanced Configuration andPower Interface,ACPI)所定義的S3或者S4狀態(tài)。接著流程進行至步驟S208。在步驟S208中,電子裝置100接收一第二指令,其中電子裝置100滿足一既定條件時產(chǎn)生上述第二指令,舉例而言電子裝置100的周邊裝置被使能后,產(chǎn)生觸發(fā)電子裝置100由休眠模式回復正常運行的指令。接著流程進行至步驟S210。在步驟S210中,根據(jù)上述第二指令,控制單元120將進入休眠模式前存儲于非易失存儲器140中的回復數(shù)據(jù)載入動態(tài)隨機存取存儲器130。接著流程進行至步驟S212。在步驟S212中,將電子裝置100由休眠模式中喚醒,并且根據(jù)動態(tài)隨機存取存儲器130中的數(shù)據(jù),將電子裝置100回復至休眠前的狀態(tài)。流程結(jié)束于步驟S212。本發(fā)明的不同實施例已于本文敘述,但本領(lǐng)域普通技術(shù)人員應能了解這些實施例僅作為范例,而非限定于此。本領(lǐng)域普通技術(shù)人員可在不脫離本發(fā)明的精神的情況下,對形式與細節(jié)上做不同的變化。舉例而言,軟件程序碼可使能本發(fā)明實施例所述的裝置與方法的功能、組建(fabrication)、塑造(modeling)、模擬、描述(description)、以及/或測試,亦可通過一般程序語言(C、C++)、硬件描述語言(Hardware Description Languages,HDL)(包括Verilog HDL、VHDL等等)、或其他可利用的程序語言或者程序碼來完成。此軟件程序碼可配置在任何已知的計算機可使用媒介,例如磁帶、半導體、磁盤,或是光盤(例如⑶-ROM、DVD-ROM等等)、網(wǎng)際網(wǎng)絡(luò)、有線、無線、或其他通信媒介的傳輸方式之中。此外,本發(fā)明所述的裝置與方法通過硬件與軟件的結(jié)合來實現(xiàn)。因此,本發(fā)明不應局限于所揭示的實施例,而是依所附的權(quán)利要求與等效實施所界定。特別是,本發(fā)明可實施在使用于一般用途計算機中的處理器裝置內(nèi)。最后,本發(fā)明雖以較佳實施例揭示如上,然而其并非用以限定本發(fā)明的范圍,任何本領(lǐng)域普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍內(nèi),當可做些許的改變與潤飾,因此本發(fā)明的保護范圍應當視所附的權(quán)利要求界定的范圍為準。
權(quán)利要求
1.一種電子裝置,包括: 一非易失存儲器; 一動態(tài)隨機存取存儲器,包括一待命區(qū)塊; 一控制單元,用以將被執(zhí)行以及預取的多個程序模塊載入上述動態(tài)隨機存取存儲器,以及將上述動態(tài)隨機存取存儲器中沒有被使用的上述程序模塊的數(shù)據(jù)以及程序碼存儲于上述待命區(qū)塊;其中 當上述電子裝置進入一休眠模式時,上述控制單元將上述待命區(qū)塊中的數(shù)據(jù)清除至一既定量,并且在清除上述待命區(qū)塊中的數(shù)據(jù)后,將清除后的上述動態(tài)隨機存取存儲器中的其余數(shù)據(jù)存儲至上述非易失存儲器。
2.如權(quán)利要求1所述的電子裝置,其中當上述電子裝置進入上述休眠模式時,上述控制單元將上述待命區(qū)塊中數(shù)據(jù)全部清除。
3.如權(quán)利要求1所述的電子裝置,其中上述非易失存儲器用以存儲上述程序模塊,并且上述控制單元將存儲于上述非易失存儲器中的程序模塊載入上述動態(tài)隨機存取存儲器中執(zhí)行。
4.如權(quán)利要求1所述的電子裝置,其中上述休眠模式為高級配置與電源接口ACPI所定義的S3或者S4狀態(tài)。
5.一種休眠方法,適用于一電子裝置,包括: 接收一第一指令; 根據(jù)上述第一指令,清除一動態(tài)隨機存取存儲器中的一待命區(qū)塊的存儲器容量至一既定量,其中上述待命區(qū)塊用以存儲上述動態(tài)隨機存取存儲器中沒有被使用的程序模塊的數(shù)據(jù)以及程序碼; 清除上述動態(tài)隨機存取存儲器中的上述待命區(qū)塊的存儲器容量至上述既定量后,將清除后的上述動態(tài)隨機存取存儲器中的數(shù)據(jù)定義為一回復數(shù)據(jù),并且存儲至一非易失存儲器;以及 停止供應電源至上述動態(tài)隨機存取存儲器,并且致使上述電子裝置進入休眠模式。
6.如權(quán)利要求5所述的休眠方法,其中上述動態(tài)隨機存取存儲器用以存取被執(zhí)行以及預取的多個程序模塊,并且將上述動態(tài)隨機存取存儲器中沒有被使用的上述程序模塊的數(shù)據(jù)以及程序碼存儲于上述待命區(qū)塊中。
7.如權(quán)利要求5所述的休眠方法,其中上述清除上述動態(tài)隨機存取存儲器是將上述待命區(qū)塊中數(shù)據(jù)全部清除。
8.如權(quán)利要求5所述的休眠方法,還包括: 接收一第二指令; 根據(jù)上述第二指令,將存儲于上述非易失存儲器中的回復數(shù)據(jù)載入上述動態(tài)隨機存取存儲器;以及 將上述電子裝置由上述休眠模式中喚醒,并且根據(jù)上述動態(tài)隨機存取存儲器中的回復數(shù)據(jù),將上述電子裝置回復至休眠前的狀態(tài)。
9.如權(quán)利要求5所述的休眠方法,其中上述休眠模式為高級配置與電源接口ACPI所定義的S3或者S4狀態(tài)。
全文摘要
本發(fā)明提供一種電子裝置包括一非易失存儲器、一動態(tài)隨機存取存儲器以及一控制單元。動態(tài)隨機存取存儲器包括一待命區(qū)塊??刂茊卧靡詫⒈粓?zhí)行以及預取的多個程序模塊載入動態(tài)隨機存取存儲器,以及將動態(tài)隨機存取存儲器中沒有被使用的程序模塊的數(shù)據(jù)以及程序碼存儲于待命區(qū)塊。其中,當電子裝置進入一休眠模式時,控制單元將待命區(qū)塊中的數(shù)據(jù)清除至一既定量,并且在清除待命區(qū)塊中的數(shù)據(jù)后,將清除后的動態(tài)隨機存取存儲器中的其余數(shù)據(jù)存儲至非易失存儲器。本發(fā)明使得電子裝置能夠快速進入以及離開休眠模式。
文檔編號G06F1/32GK103218031SQ20121002277
公開日2013年7月24日 申請日期2012年1月20日 優(yōu)先權(quán)日2012年1月20日
發(fā)明者蔡錦和 申請人:宏碁股份有限公司