[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

TW201327160A - 於休眠機制之方法及其電腦系統 - Google Patents

於休眠機制之方法及其電腦系統 Download PDF

Info

Publication number
TW201327160A
TW201327160A TW100147798A TW100147798A TW201327160A TW 201327160 A TW201327160 A TW 201327160A TW 100147798 A TW100147798 A TW 100147798A TW 100147798 A TW100147798 A TW 100147798A TW 201327160 A TW201327160 A TW 201327160A
Authority
TW
Taiwan
Prior art keywords
computer system
storage device
swapped
swapping
segment
Prior art date
Application number
TW100147798A
Other languages
English (en)
Inventor
Shi-Wu Lo
Shau-Yin Tseng
Original Assignee
Ind Tech Res Inst
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ind Tech Res Inst filed Critical Ind Tech Res Inst
Priority to TW100147798A priority Critical patent/TW201327160A/zh
Priority to CN2011104521818A priority patent/CN103176813A/zh
Priority to US13/470,604 priority patent/US20130166852A1/en
Publication of TW201327160A publication Critical patent/TW201327160A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Stored Programmes (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

於休眠機制之方法及其電腦系統。此方法包括以下步驟。在一電腦系統進行一休眠機制之前置處理,其中至少一主記憶體中非換出記憶體區分為複數個非換出區段,各區段對應到一狀態值用以代表該區段之內容是否有改變。在進入一休眠狀態過程中,對於各個非換出區段,利用該區段的狀態值判斷是否要將該區段寫入到至少一儲存裝置中,其中若判斷結果表示該非換出區段之內容有改變,將該非換出區段寫入到該電腦系統之至少一儲存裝置中;若判斷結果表示沒有改變,則在休眠狀態過程中,電腦系統不會將該非換出區段寫入到至少一儲存裝置中。

Description

於休眠機制之方法及其電腦系統
本發明是有關於一種於休眠機制之方法及其電腦系統。
由於Google公司公開了Android作業系統的程式碼,這個作業系統非常適合在嵌入式裝置上執行,因此台灣於手機、平板電腦、智慧型電視、車用電腦等產品的開發上,不只可以利用硬體設計予以差異化,還可以修改Android的軟體設計予以差異化。
快速開機讓數位資訊變得更加垂手可得,使得數位家電「隨開隨得」。大部分的智慧型裝置將關機按鈕設定為「處於待機模式」(standby)而非真正的關機模式。待機模式雖然可以有效的縮短等待時間,但整個電子系統依然持續的消耗電力,這樣的技巧屬於「高耗電型快速開機」。待機模式所消耗的電力,讓全世界的二氧化碳排放量增加1%,為此我們需要開發高速開機的方法。歐盟已經決議智慧型家電於不使用時,其耗電量必須小於0.1瓦,因此產業界需要一種快速開機的方法。現行的快速開機的方法,有些是基於休眠機制而達成。
另外,目前大多數的嵌入型裝置,例如數位相機、導航裝置、智慧型手機、平板電腦,都使用快閃記憶體(flash drive)作為儲存裝置。然而快閃記憶體有寫入次數的限制,對使用者而言,將造成不便,故這是為一個必須克服的問題。
實施例提供有關於一種於休眠機制之方法及其電腦系統。
根據一實施例,提出一種於休眠機制之方法,適用於一電腦系統,包括以下步驟。(a)在電腦系統進行一休眠機制之前置處理,其中電腦系統之至少一主記憶體中非換出記憶體(non-swappable memory)區分為複數個非換出區段,各個非換出區段對應到一狀態值用以代表該非換出區段之內容是否有改變。(b)在電腦系統進入休眠機制之一休眠狀態過程中,對於各個非換出區段,利用該非換出區段的狀態值判斷是否要將該非換出區段寫入到至少一儲存裝置中,其中若判斷結果表示該非換出區段之內容有改變,將該非換出區段寫入到該電腦系統之至少一儲存裝置中;若判斷結果表示該非換出區段之內容沒有改變,則在休眠狀態過程中,電腦系統不會將該非換出區段寫入到電腦系統之至少一儲存裝置中。
根據一實施例,提出一種電腦系統,包括:至少一主記憶體、至少一儲存裝置;以及至少一處理單元,耦接該至少一主記憶體及該至少一儲存裝置。至少一處理單元進行一休眠機制之前置處理,其中至少一主記憶體中非換出記憶體(non-swappable memory)區分為複數個非換出區段,各個該些非換出區段對應到一狀態值用以代表該非換出區段之內容是否有改變;其中在電腦系統進入該休眠機制之一休眠狀態過程中,對於各該些非換出區段,至少一處理單元利用該非換出區段的狀態值判斷是否要將該非換出區段寫入到至少一儲存裝置中,其中:若判斷結果表示該非換出區段之內容有改變,至少一處理單元將該非換出區段寫入到至少一儲存裝置中;若判斷結果表示該非換出區段之內容沒有改變,則在休眠狀態過程中,至少一處理單元不會將該非換出區段寫入到該至少一儲存裝置中。
為了對上述及其他方面有更佳的瞭解,下文特舉實施例,並配合所附圖式,作詳細說明如下:
以下提供一種於休眠機制之方法以及其電腦系統的實施例。第1圖是為依據一實施例的電腦系統的方塊圖。如第1圖所示,一電腦系統1包括一處理單元10、一主記憶體12以及一儲存裝置14。處理單元10例如為單核心或多核心的處理器,又電腦系統1可為一單晶片系統。主記憶體12例如為RAM、SDRAM等的揮發性記憶體。儲存裝置14是用作電腦系統1的次記憶體(secondary storage),例如是非揮發性記憶裝置,如快閃記憶體,可用於儲存電腦系統1的互換空間141、檔案系統142及休眠檔143。基於第1圖之電腦系統1之示意圖,可以按照各種應用而實現為各種個人電腦或嵌入型裝置,如行動裝置、多媒體、通訊或網路裝置,例如利用一顯示模組16,如觸控螢幕以及其他配合的硬體模組,而成為智慧型手機或上網裝置或平板電腦。
圖示及實施例說明之主記憶體、儲存裝置、以及處理單元以一方塊圖示意;但本案實施例之主記憶體、儲存裝置以及處理單元可以是至少一個,不限於一個。例如電腦系統可包括:多個處理單元例如是多核心的處理器或多處理器。又如主記憶體(或次記憶體)皆可由多個相對的記憶裝置所組成。
第2圖是為一種於休眠機制之方法的一實施例的流程圖。請參考第3圖示意之主記憶體與次記憶體之關係的示意圖。此方法能於實施之一休眠機制之如第1圖之電腦系統1進入休眠狀態時,減少從主記憶體12寫入到儲存裝置14的寫入動作,尤其是減少主記憶體12中非換出記憶體(non-swappable memory)1210寫入到儲存裝置14的資料量。
請同時參考第1、2及3圖。第2圖之方法能適用於如第1圖之電腦系統1。如步驟S10所示,在電腦系統1進行一休眠機制之前置處理,其中電腦系統1之主記憶體12中非換出記憶體1210區分為複數個非換出區段如2、4和多個,各個這些非換出區段對應到一狀態值用以代表該非換出區段之內容是否有改變。請參考第3圖,在主記憶體12中不同區域,可分為兩類型,第1類型為可換出記憶體(swappable)和第2類型為非換出記憶體(non-swappable)。非換出記憶體可能包括電腦系統1所執行的作業系統核心(kernel)部分、應用程式或是硬體相關的狀態資料。在一般操作下,作業系統不會換出被設定為非換出記憶體之任何記憶體區域。而步驟S10之做法,是針對進入休眠狀態的需要,故前置處理進一步分割非換出記憶體1210為複數個區段,並賦予對應的狀態值。而狀態值之集合可視為這些非換出區段的一狀態表ST。又這些區段可以具有相同或不同大小。
在步驟S10的前置處理之後,如步驟S20所示,在電腦系統1進入該休眠機制之一休眠狀態過程中,對於這些非換出區段之各個非換出區段,判斷是否要將該非換出區段寫入到儲存裝置14中。步驟S201,利用該非換出區段的狀態值判斷是否要將該非換出區段寫入到儲存裝置14中。若步驟S201的判斷結果表示該非換出區段之內容有改變,如步驟S203所示,將該非換出區段寫入到電腦系統1之儲存裝置14中,例如寫入到互換空間(swap space)141、檔案系統142、或休眠檔(hibernation file)143之中。若步驟S201的判斷結果表示該非換出區段之內容沒有改變,則在休眠狀態過程中,電腦系統1不會將該非換出區段寫入到儲存裝置14中,如方塊S205所示意。
在一般休眠機制的實作中,在電腦系統1每次進入休眠狀態之時,都是把非換出記憶體1210全部寫出到非揮發性記憶體。本案實施例讓非換出記憶體進一步區分為多個區段的處理及設定對應的狀態值,並進一步應用在進入休眠狀態之時,只針對內容有改變的非換出區段寫入到儲存裝置中。原則上,此實施例能增進電腦系統1在休眠或復甦或基於休眠甦醒機制之快速開機的速率。此外,在一實施例中,對於利用具有寫入次數限制的非揮發性記憶體如快閃記憶體作為儲存裝置14時,由於非揮發性記憶體使用壽命與寫入到非揮發性記憶體的資料量(data size)具有相關性,故此縮減寫入到儲存裝置14的資料量,原則上可有效增加儲存裝置14的壽命。
此外,在實作步驟S20之時,可在進入休眠狀態過程中建立一表格(如第3圖所示意的表格MT)用以描述非換出記憶體1210的各個區段在儲存裝置14中的記憶位置。在實作一休眠機制中,此表格MT可用以描述如何自互換空間141、檔案系統142、或休眠檔(hibernation file)143之中重建出非換出記憶體1210。
再者,在一實施例中,在從步驟S20之休眠狀態復甦後,若電腦系統1再次進入休眠狀態,則可依據步驟S20進行,直至電腦系統1重新開機(如冷開機或溫開機)則又可從步驟S10開始實施此方法。此外,在其他實施例中,基於休眠機制實現的快速開機方法,亦可利用第2圖之方法。
以下基於第2圖之方法以其他實施例說明如下。
實施例一
在此實施例中,以Linux或基於它的作業系統為例,以說明電腦系統中實作方式。例如TuxOnIce及swsusp是Linux上主要的實現軟體休眠復甦(software suspend)的軟體套件。TuxOnIce為swsusp的下一代軟體,它改良自swsusp,具有較快速的休眠及回覆時間。本實施例中,基於Linux上的TuxOnIce作為實施例的運作平台。
在說明在此運作平台上實現第2圖之方法的實施例之前,首先描述TuxOnIce於產生寫入到儲存裝置14(如非揮發性記憶體或硬碟等裝置)之影像檔時的做法,是分為兩個步驟。請參考第3圖,TuxOnIce將主記憶體12分別兩部分:第1部分121和第2部分122。第1步驟將第3圖中的第2部分寫出到次記憶體,如儲存裝置14。第2步驟將第1部分寫出到次記憶體。
第1步驟的主要目的,是讓系統有足夠的自由空間,使得執行第2部步驟時,第2步驟有足夠的工作記憶體(working memory),此工作記憶體可以確保第2步驟為「一次性寫入」(即不可分割寫入,或atomic write)。
如果系統中大部分的主記憶體為非換出記憶體,那麼TuxOnIce無法於第1步驟將足夠多的記憶體寫出到次記憶體,因此會造成第2步驟無足夠的工作記憶體。TuxOnIce將回報錯誤給使用者,告知使用者無法進入休眠模式,這個情況我們將不再討論。
大部分的情況下,系統中大部分的記憶體隸屬於第1部分,第1部分中有相當一部分的記憶體為非換出記憶體。在這個狀況下,TuxOnIce將會把第1部分製作成單一的影像檔(image file),此影像檔將會一次性的寫入,成為休眠檔(hiberfile)。此休眠檔可以存放於檔案系統或者互換空間中。此休眠檔甚至於可以儲存於系統以外的實體裝置中,如網路儲存裝置(network storage)如雲端儲存(cloud storage)等裝置中。
利用TuxOnIce之休眠模式(Suspend to disk或hiberation)應用於儲存裝置14(如快閃記憶裝置)上時,第2部分的換出記憶體,將透過虛擬記憶體(virtual memory)以「頁出」(即逐頁輸出,page-out)的方式寫出,因此重複性的資料(在次記憶體上具有相同的副本)不會進行真正地寫出動作。然而,TuxOnIce對於第1部分的記憶體是一次性地寫出,因此第1部分的記憶體中的重複性的資料需要進行真正的寫出到次記憶體中。
實施例一是要減少第1部分的記憶體寫出到次記憶體的動作。故此在實施第2圖之步驟S10時,是使用電腦系統之一記憶體管理單元(memory management unit,MMU)來偵測各個非換出區段是否有被修改過並據以記錄這些非換出區段所對應的狀態值,例如是利用記憶體管理單元中的非清白位元(dirty bit)作為判斷的依據。依據實施例一,改變TuxOnIce之「休眠機制」為:如果一非換出區段未被修改過,不會將該非換出區段寫出到次記憶體中。
請參考第4圖,第4圖是為依據第2圖之步驟S10及S20的一實施例。第5圖是為應用第4圖之實施例於一電腦系統之一實施例的方塊圖。如第4圖所示,步驟S11是第2圖之步驟S10之前置處理的一實施例,包括:步驟S111、S113及S115。步驟S111,在電腦系統5之一次冷開機後之第一次進入休眠(swap-before-hibernate)時,處理單元10將主記憶體12中非換出記憶體儲存於該儲存裝置14中。例如,將所有的非換出記憶體的狀態值設為非清白(dirty),故在第一次進入休眠時,處理單元10如步驟S111的方式進行。步驟S113,從第一次休眠甦醒(resume)時,處理單元10自儲存裝置14讀取非換出記憶體並寫入到主記憶體12中。步驟S115,使用電腦系統5之一記憶體管理單元(MMU)51來偵測各個非換出區段是否有被修改過並據以產生各個非換出區段所對應的狀態值。例如,在步驟S113之後,將所有的非換出記憶體區分出來的非換出區段(如包括核心記憶體)設定為清白(clean),故步驟S115的實現就是將記憶體管理單元51設定為:非換出區段(如包括核心記憶體的區段)一旦被修改,就會將該區段標示為非清白(dirty)。
在步驟S11的前置處理之後,步驟S201,在電腦系統5進入休眠機制之一休眠狀態過程中,對於這些非換出區段之各個非換出區段,利用該非換出區段的狀態值(即非清白位元的目前數值)判斷是否要將該非換出區段寫入到儲存裝置14中。若步驟S201中,該非換出區段的狀態值為非清白,判斷結果表示該非換出區段之內容有改變,如步驟S203所示,將該非換出區段寫入到電腦系統1之儲存裝置14中。若步驟S201中,該非換出區段的狀態值為清白,判斷結果表示該非換出區段之內容沒有改變,則在休眠狀態過程中,電腦系統5不會將該非換出區段寫入到儲存裝置14中,如方塊S205所示意。
此外,在第5圖中的記憶體管理單元51,除了如耦接於處理單元10及主記憶體10之間,亦可利用處理單元內建記憶體管理單元代替。
實施例二
實施例二與實施例一之差異在於:利用處理單元執行的方法或其他的硬體裝置取代記憶體管理單元的功能,且電腦系統是依據各個非換出區段的內容,產生對應的狀態值。例如是利用電腦裝置的處理單元來計算狀態值。又例如第8圖所示意的電腦系統8利用一額外的硬體裝置,如耦接於主記憶體12及儲存裝置14之一讀寫控制器81來計算狀態值,其中讀寫控制器81用於控制主記憶體12及儲存裝置14之間資料的讀寫。計算的方式,如利用一雜湊函數(Hash function)依據各非換出區段內容而產生對應的特徵值作為前述之狀態值。該特徵值可據以偵測非換出區段是否被修改過。該特徵表格之初始值例如為一個魔數(magic number)。在上述第8圖之實施例中,電腦系統8包括一讀寫控制電路81,耦接於該主記憶體12和該儲存裝置14之間,用以依據各該些非換出區段的內容,產生對應的狀態值。
請參考第6圖,第6圖是為依據第2圖之步驟S10及S20的另一實施例。第8圖是為應用第6圖之實施例於一電腦系統之一實施例的方塊圖。如第6圖所示,步驟S12是第2圖之步驟S10之前置處理的一實施例,包括:步驟S121、S123。步驟S121,在電腦系統(如1或8)之一次冷開機後之第一次進入休眠時,依據這些非換出區段產生對應的狀態值(如前述的特徵值)以作為一狀態表(如第3圖所示意的狀態表ST),將主記憶體12中非換出記憶體1210及狀態表ST儲存於儲存裝置14中。步驟S123,從第一次休眠甦醒時,自儲存裝置14讀取非換出記憶體並寫入到主記憶體12中。
在步驟S12的前置處理之後,進行步驟S22,其中步驟S22是第2圖之步驟S20的一實施例。步驟S221,在電腦系統1或8進入休眠機制之一休眠狀態過程中,對於這些非換出區段之各個非換出區段,比較依據該非換出區段的內容所產生的一目前的狀態值(如以Hash所計算之特徵值)是否與該狀態表中之對應的一狀態值是否相同,以判斷是否要將該非換出區段寫入到該儲存裝置14中。若步驟S221中,若目前的狀態值與狀態表中之對應的狀態值不相同,表示該非換出區段之內容有改變,如步驟S223所示,則處理單元將該非換出區段寫入到該儲存裝置14中。若步驟S221中,若比較結果為相同,表示該非換出區段之內容沒有改變,則在該休眠狀態過程中,該電腦系統不會將該非換出區段寫入到儲存裝置14中,如方塊S225所示意。
此外,又上述步驟S221中,若比較結果相同,對於利用雜湊函數(Hash function)來計算的特徵值來說,實質上表示主記憶體中的該非換出區段與儲存裝置14中對應區段的資料內容「非常可能」完全一致,即完全相同的機率很高。在某些情況下,例如:強調高效能或者低耗電或其他之一運作狀態下,可以視為一致,因此如步驟S225,不需要將該非換出區段寫出。另一些情況下,例如:強調系統的高度穩定性或其他之另一運作狀態下時,可以進一步作確認。例如在一實施例中,如第7圖所示,步驟S2251,電腦系統比較該非換出區段與儲存裝置14中對應的狀態值關聯的區段的內容是否一致,例如:逐字元(byte)的比較或部分的內容比較或其他的計算方式,以確定該非換出區段的資料是否與儲存裝置14中對應的區段的資料完全相同。若步驟S2251中,比較結果為不一致,表示該非換出區段之內容有改變,如步驟S2255所示,則電腦系統將該非換出區段寫入到該儲存裝置14中。若步驟S2251中,若比較結果為一致,表示該非換出區段之內容沒有改變,則在該休眠狀態過程中,該電腦系統不會將該非換出區段寫入到儲存裝置14中,如方塊S2253所示意。
又電腦系統(如1、5或8)開機時,將由作業系統或BIOS或開機載入程式(bootloader)等系統載入軟體50或80載入第1部分的記憶體,由於第1部分的記憶體可能以不連續的方式(如第3圖中由箭頭所示的非換出記憶體1210之區段對應到儲存裝置14中的不同記憶位置),存放於複數個以上的裝置(如Linux中視為裝置的互換空間141、檔案系統142及休眠檔143)。因此系統載入軟體50將先讀入一表格(如第3圖中的表格MT),並依照此表格MT的記載,重建第1部分的記憶體。該表格MT,可以存放於次記憶體上,或者該表格為快閃記憶體翻譯層(flash translation layer,FTL)。
雖然上述以Linux之平台為例,但不限於此,可基上述實施例,實施例於其他作業系統如BSD及Windows等。
上述敘述了於休眠機制之方法及其電腦系統的實施例。此方法的實施例,原則上能增進電腦系統在休眠或復甦或基於休眠甦醒機制之快速開機的速率。此外,在一實施例中,對於利用具有寫入次數限制的非揮發性記憶體如快閃記憶體作為儲存裝置時,由於非揮發性記憶體使用壽命與寫入到非揮發性記憶體的資料量具有相關性,故此縮減寫入到儲存裝置的資料量,原則上更可有效增加儲存裝置的壽命。
綜上所述,雖然以實施例揭露如上,然其並非用以限定本案之實施方式。本揭露所屬技術領域中具有通常知識者,在不脫離本揭露之精神和範圍內,當可作各種之更動與潤飾。因此,本案之保護範圍當視後附之申請專利範圍所界定者為準。
1、5、8...電腦系統
10...處理單元
12...主記憶體
121...第1部分
122...第2部分
1210...非換出記憶體
14...儲存裝置
16...顯示模組
141...互換空間
142...檔案系統
143...休眠檔
50、80...系統載入軟體
51...記憶體管理單元
81...讀寫控制器
ST...狀態表
MT...表格
S10、S11、S111、S113、S115...步驟
S12、S121、S123...步驟
S20、S201、S203、S205...步驟
S22、S221、S223、S225、S2251、S2253、S2255...步驟
第1圖為依據一實施例的電腦系統的方塊圖。
第2圖為一種於休眠機制之方法的一實施例的流程圖。
第3圖示意主記憶體與次記憶體之關係的示意圖。
第4圖為依據第2圖之方法的一實施例的流程圖。
第5圖是為應用第4圖之實施例於一電腦系統之一實施例的方塊圖。
第6圖為依據第2圖之方法的另一實施例的流程圖。
第7圖為應用第6圖之方法的另一實施例的流程圖。
第8圖為應用第6圖之實施例於一電腦系統之一實施例的方塊圖。
S10、S20、S201、S203、S205...步驟

Claims (20)

  1. 一種於休眠機制之方法,適用於一電腦系統,包括:(a)在該電腦系統進行一休眠機制之前置處理,其中該電腦系統之至少一主記憶體中非換出記憶體(non-swappable memory)區分為複數個非換出區段,各個該些非換出區段對應到一狀態值用以代表該非換出區段之內容是否有改變;(b)在該電腦系統進入該休眠機制之一休眠狀態過程中,對於各該些非換出區段,利用該非換出區段的該狀態值判斷是否要將該非換出區段寫入到至少一儲存裝置中,其中:若該判斷結果表示該非換出區段之內容有改變,將該非換出區段寫入到該電腦系統之該至少一儲存裝置中;若該判斷結果表示該非換出區段之內容沒有改變,則在該休眠狀態過程中,該電腦系統不會將該非換出區段寫入到該電腦系統之該至少一儲存裝置中。
  2. 如申請專利範圍第1項所述之於休眠機制之方法,其中該步驟(a),係使用該電腦系統之一主記憶體管理單元來偵測各該些非換出區段是否有被修改過並據以記錄各該些非換出區段所對應的該狀態值。
  3. 如申請專利範圍第1項所述之於休眠機制之方法,其中該步驟(a),包括:在該電腦系統之一次冷開機後之第一次進入休眠時,將該至少一主記憶體中非換出記憶體儲存於該至少一儲存裝置中;從該第一次休眠甦醒時,自該至少一儲存裝置讀取該非換出記憶體並寫入到該至少一主記憶體中;使用該電腦系統之一主記憶體管理單元來偵測各該些非換出區段是否有被修改過並據以產生各該些非換出區段所對應的該狀態值。
  4. 如申請專利範圍第1項所述之於休眠機制之方法,其中在該步驟(a)中,該電腦系統依據各該些非換出區段的內容,產生對應的該狀態值。
  5. 如申請專利範圍第4項所述之於休眠機制之方法,其中該電腦系統是利用一雜湊函數(Hash function)依據該些非換出區段中各個區段的內容而產生對應的該狀態值。
  6. 如申請專利範圍第4項所述之於休眠機制之方法,其中該電腦系統依據各該些非換出區段的內容,產生對應的該狀態值,該步驟(a),包括:在該電腦系統之一次冷開機後之第一次進入休眠時,依據該些非換出區段產生對應的該些狀態值以作為一狀態表,將該至少一主記憶體中非換出記憶體及該狀態表儲存於該至少一儲存裝置中;從該第一次休眠甦醒時,自該至少一儲存裝置讀取該非換出記憶體並寫入到該至少一主記憶體中。
  7. 如申請專利範圍第6項所述之於休眠機制之方法,其中該步驟(b),包括:對於該些非換出區段中各個區段:比較依據該非換出區段的內容所產生的一目前的狀態值是否與該狀態表中之對應的一狀態值是否相同,以判斷是否要將該非換出區段寫入到該至少一儲存裝置中,其中:若該目前的狀態值與該狀態表中之對應的該狀態值為不相同,表示該非換出區段之內容有改變,則將該非換出區段寫入到該至少一儲存裝置中。
  8. 如申請專利範圍第7項所述之於休眠機制之方法,其中在該步驟(b)中:若比較結果為相同,表示該非換出區段之內容沒有改變,則在該休眠狀態過程中,該電腦系統不會將該非換出區段寫入到該至少一儲存裝置中。
  9. 如申請專利範圍第7項所述之於休眠機制之方法,其中在該步驟(b)中:若比較結果為相同,更比較該非換出區段與該至少一儲存裝置中的與對應的該狀態值關聯的區段的內容是否一致;若比較結果為一致,表示該非換出區段之內容沒有改變,則在該休眠狀態過程中,該電腦系統不會將該非換出區段寫入到該至少一儲存裝置中。
  10. 如申請專利範圍第7項所述之於休眠機制之方法,其中在該步驟(b)中:若比較結果為相同且該電腦系統處於一第一運作狀態下,表示該非換出區段之內容沒有改變,則在該休眠狀態過程中,該電腦系統不會將該非換出區段寫入到該至少一儲存裝置中;若比較結果為相同且該電腦系統處於一第二運作狀態下,更比較該非換出區段與該至少一儲存裝置中的與對應的該狀態值關聯的區段的內容是否一致;若比較結果為一致,表示該非換出區段之內容沒有改變,則在該休眠狀態過程中,該電腦系統不會將該非換出區段寫入到該至少一儲存裝置中。
  11. 一種電腦系統,包括:至少一主記憶體;至少一儲存裝置;以及至少一處理單元,耦接該至少一主記憶體及該至少一儲存裝置,其中該至少一處理單元進行一休眠機制之前置處理,其中該至少一主記憶體中非換出記憶體(non-swappable memory)區分為複數個非換出區段,各個該些非換出區段對應到一狀態值用以代表該非換出區段之內容是否有改變;其中在該電腦系統進入該休眠機制之一休眠狀態過程中,對於各該些非換出區段,該至少一處理單元利用該非換出區段的該狀態值判斷是否要將該非換出區段寫入到該至少一儲存裝置中,其中:若該判斷結果表示該非換出區段之內容有改變,該至少一處理單元將該非換出區段寫入到該至少一儲存裝置中;若該判斷結果表示該非換出區段之內容沒有改變,則在該休眠狀態過程中,該至少一處理單元不會將該非換出區段寫入到該至少一儲存裝置中。
  12. 如申請專利範圍第11項所述之電腦系統,更包括一主記憶體管理單元,用以偵測各該些非換出區段是否有被修改過並據以產生各該些非換出區段所對應的該狀態值。
  13. 如申請專利範圍第11項所述之電腦系統,其中該至少一處理單元進行該休眠機制之前置處理,以:在該電腦系統之一次冷開機後之第一次進入休眠時,該至少一處理單元將該至少一主記憶體中非換出記憶體儲存於該至少一儲存裝置中;該電腦系統從該第一次休眠甦醒時,該至少一處理單元自該至少一儲存裝置讀取該非換出記憶體並寫入到該至少一主記憶體中。
  14. 如申請專利範圍第11項所述之電腦系統,其中該至少一處理單元依據各該些非換出區段的內容,產生對應的該狀態值。
  15. 如申請專利範圍第11項所述之電腦系統,更包括一讀寫控制電路,耦接於該至少一主記憶體和該至少一儲存裝置之間,用以依據各該些非換出區段的內容,產生對應的該狀態值。
  16. 如申請專利範圍第14或15項所述之電腦系統,其中該電腦系統是利用一雜湊函數(Hash function)依據各該些非換出區段的內容,產生對應的該狀態值。
  17. 如申請專利範圍第14項所述之電腦系統,其中該電腦系統依據各該些非換出區段的內容,產生對應的該狀態值,該至少一處理單元進行該休眠機制之前置處理,以:在該電腦系統之一次冷開機後之第一次進入休眠時,依據該些非換出區段產生對應的該些狀態值以作為一狀態表,將該至少一主記憶體中非換出記憶體及該狀態表儲存於該至少一儲存裝置中;從該第一次休眠甦醒時,自該至少一儲存裝置讀取該非換出記憶體並寫入到該至少一主記憶體中。
  18. 如申請專利範圍第17項所述之電腦系統,其中該至少一處理單元進行該休眠機制之前置處理後,在該電腦系統進入該休眠機制之一休眠狀態過程中,對於該些非換出區段中各個區段,該至少一處理單元:比較依據該非換出區段的內容所產生的一目前的狀態值是否與該狀態表中之對應的一狀態值是否相同,以判斷是否要將該非換出區段寫入到該至少一儲存裝置中,其中:若該目前的狀態值與該狀態表中之對應的該狀態值為不相同,表示該非換出區段之內容有改變,則該至少一處理單元將該非換出區段寫入到該至少一儲存裝置中。
  19. 如申請專利範圍第18項所述之電腦系統,其中:若比較結果為相同,表示該非換出區段之內容沒有改變,則在該休眠狀態過程中,該電腦系統不會將該非換出區段寫入到該至少一儲存裝置中。
  20. 如申請專利範圍第18項所述之電腦系統,其中:若比較結果為相同,該至少一處理單元更比較該非換出區段與該至少一儲存裝置中的與對應的該狀態值關聯的區段的內容是否一致;若比較結果為一致,表示該非換出區段之內容沒有改變,則在該休眠狀態過程中,該電腦系統不會將該非換出區段寫入到該至少一儲存裝置中。
TW100147798A 2011-12-21 2011-12-21 於休眠機制之方法及其電腦系統 TW201327160A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW100147798A TW201327160A (zh) 2011-12-21 2011-12-21 於休眠機制之方法及其電腦系統
CN2011104521818A CN103176813A (zh) 2011-12-21 2011-12-29 于休眠机制的方法及其计算机系统
US13/470,604 US20130166852A1 (en) 2011-12-21 2012-05-14 Method for hibernation mechanism and computer system therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW100147798A TW201327160A (zh) 2011-12-21 2011-12-21 於休眠機制之方法及其電腦系統

Publications (1)

Publication Number Publication Date
TW201327160A true TW201327160A (zh) 2013-07-01

Family

ID=48636718

Family Applications (1)

Application Number Title Priority Date Filing Date
TW100147798A TW201327160A (zh) 2011-12-21 2011-12-21 於休眠機制之方法及其電腦系統

Country Status (3)

Country Link
US (1) US20130166852A1 (zh)
CN (1) CN103176813A (zh)
TW (1) TW201327160A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104750227A (zh) * 2013-12-27 2015-07-01 财团法人工业技术研究院 休眠唤醒方法及电子装置
TWI646463B (zh) * 2013-12-27 2019-01-01 財團法人工業技術研究院 休眠喚醒方法及電子裝置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104303159B (zh) 2012-05-29 2017-03-29 惠普发展公司,有限责任合伙企业 基于页面来源的休眠
TWI610163B (zh) * 2016-01-05 2018-01-01 利用分群以利於快速開關機之方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6546472B2 (en) * 2000-12-29 2003-04-08 Hewlett-Packard Development Company, L.P. Fast suspend to disk
US6980769B2 (en) * 2003-05-19 2005-12-27 Visteon Global Technologies, Inc. Method for determining the validity of a radio station lookup table
JP4438582B2 (ja) * 2004-09-22 2010-03-24 株式会社日立製作所 データ移行方法
US8074041B2 (en) * 2004-12-09 2011-12-06 International Business Machines Corporation Apparatus, system, and method for managing storage space allocation
US20070006000A1 (en) * 2005-06-30 2007-01-04 Sandeep Jain Using fine-grained power management of physical system memory to improve system sleep
US8862841B2 (en) * 2006-04-25 2014-10-14 Hewlett-Packard Development Company, L.P. Method and system for scaleable, distributed, differential electronic-data backup and archiving
US8045828B2 (en) * 2007-07-09 2011-10-25 Kabushiki Kaisha Toshiba Apparatus for processing images, and method and computer program product for detecting image updates
TWI399637B (zh) * 2009-09-22 2013-06-21 Nat Univ Chung Cheng Fast switch machine method
US8805837B2 (en) * 2009-10-26 2014-08-12 Microsoft Corporation Alternate data stream cache for file classification
CN101894079A (zh) * 2010-07-15 2010-11-24 哈尔滨工程大学 变长存储块的Hash树存储器完整性保护方法
US10157002B2 (en) * 2010-08-26 2018-12-18 International Business Machines Corporation Migrating an encoded data slice based on an end-of-life memory level of a memory device

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104750227A (zh) * 2013-12-27 2015-07-01 财团法人工业技术研究院 休眠唤醒方法及电子装置
US9594572B2 (en) 2013-12-27 2017-03-14 Industrial Technology Research Institute Electronic apparatus and method for resuming from hibernation
CN104750227B (zh) * 2013-12-27 2017-10-13 财团法人工业技术研究院 休眠唤醒方法及电子装置
TWI610239B (zh) * 2013-12-27 2018-01-01 財團法人工業技術研究院 休眠喚醒方法及電子裝置
TWI646463B (zh) * 2013-12-27 2019-01-01 財團法人工業技術研究院 休眠喚醒方法及電子裝置

Also Published As

Publication number Publication date
US20130166852A1 (en) 2013-06-27
CN103176813A (zh) 2013-06-26

Similar Documents

Publication Publication Date Title
US7757060B2 (en) Reducing wake latency time for power conserving state transition
TWI436199B (zh) 電源管理控制器與方法
US8151036B2 (en) Memory controller, memory system, and access control method of flash memory
TWI493460B (zh) 電子裝置以及開機方法
TWI617914B (zh) 用以從睡眠狀態加速回復之專用啟動路徑
US12019544B2 (en) Memory mapping for hibernation
JP5885881B2 (ja) コンピューティングデバイスにおける電源オフ状態の実施
US9658863B2 (en) Information processing apparatus and control method therefor
US11693466B2 (en) Application processor and system on chip
JP2017521768A (ja) 耐性があるメモリストレージを伴うファームウェアインターフェイス
TW201525869A (zh) 用於雙作業系統記憶體切換的系統及方法
TWI610239B (zh) 休眠喚醒方法及電子裝置
US10564986B2 (en) Methods and apparatus to suspend and resume computing systems
TW201327160A (zh) 於休眠機制之方法及其電腦系統
TWI546661B (zh) 使用狀態資訊回復系統之技術
US8751760B2 (en) Systems and methods for power state transitioning in an information handling system
TWI738235B (zh) 用來進行恢復管理的方法以及記憶裝置及其控制器以及電子裝置
TWI569129B (zh) 系統暫停方法、系統回復方法及應用其之電腦系統
US7657733B2 (en) Hardware password accessing method
CN105224399A (zh) 电子装置及其切换作业系统的方法
TW201939303A (zh) 計算機程式產物及電子裝置之操作方法