本發(fā)明針對用于計(jì)算設(shè)備的低功率狀態(tài),尤其是針對減少休眠及從休眠恢復(fù)操作所需的時(shí)間的休眠模式。
例如個(gè)人計(jì)算機(jī)(PC)、膝上型計(jì)算機(jī)、筆記本電腦、平板電腦、蜂窩電話等的計(jì)算設(shè)備經(jīng)常使用操作系統(tǒng),其提供一個(gè)或多個(gè)低功率狀態(tài)以允許用戶基本上“關(guān)斷”設(shè)備,從而節(jié)電,無需下次上電時(shí)完整且完全的重新引導(dǎo)。例如,計(jì)算設(shè)備可以利用允許整個(gè)設(shè)備掉電的常規(guī)“休眠”模式。
為了實(shí)現(xiàn)這一狀態(tài),計(jì)算設(shè)備的處理器將停止所有活動(dòng)的過程并保存其狀態(tài),接著創(chuàng)建操作系統(tǒng)狀態(tài)的“快照”。在關(guān)閉供電之前,將快照保存到非易失性存儲(chǔ)(例如,硬盤驅(qū)動(dòng)等)。假如計(jì)算設(shè)備隨后被拔出或失去其電源(例如,電池完全耗盡),用戶仍然能夠恢復(fù)到與啟動(dòng)休眠狀態(tài)時(shí)相同的狀態(tài)。
為了從休眠恢復(fù),處理器運(yùn)行只讀存儲(chǔ)器(ROM)中存儲(chǔ)的引導(dǎo)程序,以啟動(dòng)合適的硬件及軟件組件。然后,運(yùn)行引導(dǎo)加載程序以將操作系統(tǒng)載入處理器用于執(zhí)行。之后,初始化操作系統(tǒng)的核。將之前存儲(chǔ)在非易失性存儲(chǔ)中的快照載入操作系統(tǒng),其接著從之前保存的狀態(tài)運(yùn)行。
為了加載快照,操作系統(tǒng)基本上就像從冷引導(dǎo)那樣重啟。結(jié)果,盡管恢復(fù)時(shí)間優(yōu)于冷引導(dǎo),但仍然相當(dāng)長。因此,這一模式通常不會(huì)用在例如蜂窩電話或平板電腦的計(jì)算設(shè)備上。
為了能夠較快恢復(fù)操作系統(tǒng),一般提供“睡眠”或“暫?!蹦J健T诖四J街?,操作系統(tǒng)在易失性系統(tǒng)存儲(chǔ)器(例如,動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM))中保持活動(dòng),簡單地在保存活動(dòng)過程的狀態(tài)后暫停。處理器和某些其它硬件組件至少部分維持通電。尤其是,為了保留數(shù)據(jù),DRAM必須保持通電。在從暫停模式的恢復(fù)時(shí)間可能幾乎是瞬時(shí)的同時(shí),實(shí)現(xiàn)了電池消耗方面的重要權(quán)衡。
因此,想要提供一種用于計(jì)算設(shè)備的低功率模式,允許實(shí)質(zhì)(如果不完全地)終止提供供電,同時(shí)最小化恢復(fù)到活動(dòng)狀態(tài)的時(shí)間。
附圖說明
通過舉例說明本發(fā)明,其不受限于附圖所示的其實(shí)施例。圖中類似的附圖標(biāo)記指示相似的元件。為簡單清晰起見示出附圖中的元件,其不必按比例繪制。
附圖中:
圖1為用于本發(fā)明的實(shí)施例的示例性計(jì)算設(shè)備的示意性框圖;
圖2為根據(jù)本發(fā)明的優(yōu)選實(shí)施例的休眠過程的流程圖;以及
圖3為根據(jù)本發(fā)明的優(yōu)選實(shí)施例的恢復(fù)過程的流程圖。
具體實(shí)施方式
在一個(gè)實(shí)施例中,本發(fā)明提供一種用于計(jì)算設(shè)備節(jié)電的方法,該計(jì)算設(shè)備具有易失性系統(tǒng)存儲(chǔ)器、非易失性存儲(chǔ)設(shè)備和執(zhí)行操作系統(tǒng)并包括內(nèi)部非易失性存儲(chǔ)器的處理器。方法包括在處理器接收使計(jì)算設(shè)備進(jìn)入休眠模式的請求,由處理器暫停操作系統(tǒng)的執(zhí)行,由處理器將易失性系統(tǒng)存儲(chǔ)器的全部內(nèi)容實(shí)質(zhì)地復(fù)制入非易失性存儲(chǔ)設(shè)備,在處理器的內(nèi)部非易失性存儲(chǔ)器中存儲(chǔ)休眠標(biāo)記,并關(guān)斷向計(jì)算設(shè)備的供電。
在另一實(shí)施例中,本發(fā)明提供一種計(jì)算設(shè)備,包括易失性系統(tǒng)存儲(chǔ)器、非易失性存儲(chǔ)設(shè)備和執(zhí)行操作系統(tǒng)并包括內(nèi)部非易失性存儲(chǔ)器的處理器。處理器被配置為接收使計(jì)算設(shè)備進(jìn)入休眠模式的請求,暫停操作系統(tǒng)的執(zhí)行,將易失性系統(tǒng)存儲(chǔ)器的全部內(nèi)容充分復(fù)制入非易失性存儲(chǔ)設(shè)備,在內(nèi)部非易失性存儲(chǔ)器中存儲(chǔ)休眠標(biāo)記,并關(guān)斷向計(jì)算設(shè)備的供電。
現(xiàn)在參考圖,其中縱觀數(shù)個(gè)附圖,相同的附圖標(biāo)記用于指示相同的組件,圖1示出了根據(jù)本發(fā)明的優(yōu)選實(shí)施例的計(jì)算設(shè)備10的實(shí)施例。計(jì)算系統(tǒng)10優(yōu)選地包括處理器12、易失性系統(tǒng)存儲(chǔ)器14和非易失性存儲(chǔ)設(shè)備16。處理器12優(yōu)選地包括一個(gè)或多個(gè)中央處理單元(CPU)內(nèi)核18,其配置為執(zhí)行計(jì)算設(shè)備10的大多數(shù)編程,包括基本操作系統(tǒng)以及計(jì)算設(shè)備10的各種硬件組件(未示出)(例如顯示器、用戶接口、揚(yáng)聲器、麥克風(fēng)、通信模塊等)的控制操作。
處理器12優(yōu)選地進(jìn)一步包括只讀存儲(chǔ)器(ROM)20,其被配置為至少存儲(chǔ)引導(dǎo)程序和與系統(tǒng)初始化相關(guān)的其它編程。處理器12還優(yōu)選地包括內(nèi) 部易失性存儲(chǔ)器22(例如,隨機(jī)存取存儲(chǔ)器(RAM))。內(nèi)部易失性存儲(chǔ)器22優(yōu)選地被配置為接收和存儲(chǔ)用于啟動(dòng)或恢復(fù)操作的程序和處理器12不使用易失性系統(tǒng)存儲(chǔ)器14執(zhí)行的其它基本功能。處理器12還優(yōu)選地包括內(nèi)部非易失性存儲(chǔ)器24,其優(yōu)選地用于存儲(chǔ)與配置或選擇相關(guān)的標(biāo)記或其它數(shù)據(jù),該配置或選擇涉及啟動(dòng)或恢復(fù)操作或其它基本功能。
處理器12還包括至少一個(gè)用于從主電源(未示出)接收電力的輸入,主電源一般為電池,但還可以是其他直流(DC)電源或交流(AC)電源。計(jì)算設(shè)備10還可以包括用于給次要電路供電(例如實(shí)時(shí)時(shí)鐘(RTC)等)的替代電源(未示出)。處理器12還優(yōu)選地包括用于替代電源的輸入28。根據(jù)本發(fā)明的實(shí)施例,如果功耗相對低,在休眠模式中可以或可不關(guān)閉替代電源。
盡管也可以使用其它類型的易失性存儲(chǔ)器,但是易失性系統(tǒng)存儲(chǔ)器14優(yōu)選為動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM),其充當(dāng)用于操作系統(tǒng)和處理器12運(yùn)行的應(yīng)用的存儲(chǔ)和工作空間。處理器12優(yōu)選地包括系統(tǒng)存儲(chǔ)器接口30,以允許(一個(gè)或多個(gè))CPU內(nèi)核18控制易失性系統(tǒng)存儲(chǔ)器14。
尤其在PC或膝上型計(jì)算機(jī)中,非易失性存儲(chǔ)設(shè)備16可以是硬盤驅(qū)動(dòng)(HDD)。然而,在例如平板電腦或蜂窩電話的較小設(shè)備中,非易失性存儲(chǔ)設(shè)備16優(yōu)選為閃存存儲(chǔ)器的類型,例如安全數(shù)字(SD)卡、嵌入式微媒體卡(eMMC)等。處理器12優(yōu)選地包括非易失性存儲(chǔ)接口32,以允許(一個(gè)或多個(gè))CPU內(nèi)核18控制非易失性存儲(chǔ)設(shè)備16。
現(xiàn)在將參考圖2描述根據(jù)本發(fā)明的實(shí)施例提出的休眠流程100。在正常操作中,處理器12將運(yùn)行操作系統(tǒng)內(nèi)核,在此期間處理器12可以在操作系統(tǒng)內(nèi)執(zhí)行應(yīng)用程序。當(dāng)在步驟102接收使計(jì)算設(shè)備10進(jìn)入休眠模式的請求時(shí),在步驟104處理器12優(yōu)選地在操作系統(tǒng)內(nèi)終止執(zhí)行任意程序,并將各活動(dòng)程序的狀態(tài)保存入易失性系統(tǒng)存儲(chǔ)器14。例如通過選擇顯示的休眠等選項(xiàng),計(jì)算設(shè)備10的用戶可以明確地選擇該請求?;蛘?,響應(yīng)于特定的用戶動(dòng)作(例如按下電源按鈕、關(guān)閉汽車等)可以自動(dòng)接收請求。在步驟106,處理器12優(yōu)選地暫停操作系統(tǒng)的執(zhí)行,類似于好像將計(jì)算設(shè)備10置于“暫?!蹦J健S绕涫?,如在常規(guī)休眠流程中出現(xiàn)的,處理器12不創(chuàng)建操作系統(tǒng)的快照。因此,在易失性系統(tǒng)存儲(chǔ)器14中操作系統(tǒng)保持“活動(dòng)”。
在步驟108,將易失性系統(tǒng)存儲(chǔ)器14的全部內(nèi)容充分復(fù)制入非易失 性存儲(chǔ)設(shè)備16。雖然旨在將整個(gè)易失性系統(tǒng)存儲(chǔ)器14復(fù)制過去,但出于休眠目的忽略復(fù)制不相關(guān)的數(shù)據(jù)還是在本發(fā)明的范疇內(nèi)。至少是,將與暫停的操作系統(tǒng)相關(guān)的數(shù)據(jù)和保存的活動(dòng)程序的狀態(tài)復(fù)制到非易失性存儲(chǔ)設(shè)備16。優(yōu)選地,復(fù)制程序存儲(chǔ)在內(nèi)部易失性存儲(chǔ)器22中,并由處理器12執(zhí)行以行使復(fù)制功能。
在步驟110,休眠標(biāo)記存儲(chǔ)在內(nèi)部非易失性存儲(chǔ)器24中,而在步驟112,處理器12將關(guān)斷對計(jì)算設(shè)備10的供電,并進(jìn)入休眠。
現(xiàn)在將參考圖3描述根據(jù)本發(fā)明的實(shí)施例提出的恢復(fù)流程200。計(jì)算設(shè)備10維持休眠,直至在步驟202接收到喚醒請求,此時(shí)恢復(fù)對計(jì)算設(shè)備10的供電。喚醒請求可以具有用戶按下電源按鈕、開啟汽車等的形式。如常見的,在步驟204,處理器12從其內(nèi)部ROM 20執(zhí)行引導(dǎo)程序。在步驟206,處理器12檢查是否在內(nèi)部非易失性存儲(chǔ)器24中設(shè)置休眠標(biāo)記。如果不是,在步驟207,處理器12使用引導(dǎo)程序執(zhí)行冷引導(dǎo)。假如設(shè)置了休眠標(biāo)記,繼續(xù)從休眠恢復(fù)。
這一實(shí)踐明顯不同于之前的休眠恢復(fù)流程,其中直至已經(jīng)執(zhí)行了引導(dǎo)加載程序并且已經(jīng)啟動(dòng)了操作系統(tǒng)內(nèi)核之后處理器才會(huì)檢查休眠標(biāo)記。根據(jù)本發(fā)明的實(shí)施例,不必從初始狀態(tài)啟動(dòng)操作系統(tǒng)內(nèi)核。
具體地,在步驟208,將非易失性存儲(chǔ)設(shè)備16中的復(fù)制的內(nèi)容恢復(fù)到易失性系統(tǒng)存儲(chǔ)器14。這可以由內(nèi)部易失性存儲(chǔ)器22中存儲(chǔ)的復(fù)制程序或類似程序執(zhí)行。在步驟210,恢復(fù)操作系統(tǒng)從其暫停狀態(tài)的執(zhí)行。也就是說,因?yàn)樾菝咂陂g操作系統(tǒng)在非易失性存儲(chǔ)設(shè)備16中保持“活動(dòng)”,所以處理器12能夠在從“暫?!蹦J降恼;謴?fù)之后恢復(fù)用戶的會(huì)話,并恢復(fù)到易失性系統(tǒng)存儲(chǔ)器14。
相較于以400MB/s總線速度采用256MB DRAM和8比特eMMC的系統(tǒng)中的標(biāo)準(zhǔn)的LINUX休眠方法,能夠看到基于上面描述的休眠和恢復(fù)流程100、200,在恢復(fù)時(shí)間方面的顯著減少。在休眠之后的標(biāo)準(zhǔn)LINUX恢復(fù)流程中,大約需要50ms執(zhí)行初始引導(dǎo),約1秒執(zhí)行引導(dǎo)加載程序,以及約2秒啟動(dòng)內(nèi)核和從eMMC恢復(fù)內(nèi)核狀態(tài)的快照。因此,恢復(fù)時(shí)間略多于3秒。
相比之下,盡管上面描述的實(shí)施例的恢復(fù)流程仍然以50ms執(zhí)行初始引導(dǎo),但避免了啟動(dòng)引導(dǎo)加載程序和操作系統(tǒng)。將復(fù)制的數(shù)據(jù)從eMMC恢復(fù)到DRAM僅需要大約640ms,再需要50ms恢復(fù)硬件和驅(qū)動(dòng)器狀態(tài)。因此,在不到1秒,系統(tǒng)就返回到用戶之前的會(huì)話。
本發(fā)明的實(shí)施例對于許多計(jì)算應(yīng)用是有用的。在一個(gè)示例中,電子閱讀器一般不提供休眠模式,用于暫停模式的功耗很高。用不到1秒的恢復(fù)時(shí)間,根據(jù)本發(fā)明的實(shí)施例的休眠模式可以用于使電子閱讀器中的電池壽命增加10倍,或允許電池的尺寸大大減小。
在另一示例中,基于ANDROID的汽車信息娛樂系統(tǒng)采集為靜態(tài)圖像的操作系統(tǒng)的快照,針對偏好或收藏的用戶設(shè)置必須保存在其它地方,并在引導(dǎo)后同步。利用根據(jù)本發(fā)明的實(shí)施例的休眠模式,引導(dǎo)時(shí)間少于1秒,最后“引擎熄火”的時(shí)刻操作系統(tǒng)的所有狀態(tài)能夠被自動(dòng)恢復(fù)。
在之前的說明書中,參考本發(fā)明的實(shí)施例的具體示例描述了本發(fā)明。然而,在不偏離所附的權(quán)利要求中記載的本發(fā)明的更廣泛精神和范疇的情況下,顯然可以在其中進(jìn)行各種修改和改變。
本領(lǐng)域技術(shù)人員會(huì)意識(shí)到上述操作之間的界限僅是說明性的。可以將多個(gè)操作合并為一個(gè)操作,一個(gè)操作可以分布在額外的操作中,并且可以在時(shí)間上至少部分重疊地執(zhí)行操作。進(jìn)一步地,替代實(shí)施例可以包括特定操作的多個(gè)例子,各種其它實(shí)施例中操作順序可以改變。
在權(quán)利要求中,“包括”或“具有”這些詞不排除除了權(quán)利要求中列出的之外還存在其它元件或步驟。進(jìn)一步地,如本文所用的,術(shù)語“一個(gè)”或“某個(gè)”定義為一個(gè)或多個(gè)。而且,在權(quán)利要求中使用的例如“至少一個(gè)”和“一個(gè)或多個(gè)”這樣的介紹性短語不該解釋為暗示由不定冠詞“一個(gè)”或“某個(gè)”介紹的另一權(quán)利要求會(huì)使包含此類介紹的權(quán)利要求要素的任意特定權(quán)利要求限于僅包含一個(gè)此類要素的發(fā)明,即使當(dāng)相同的權(quán)利要求包括該介紹性短語“一個(gè)或多個(gè)”或“至少一個(gè)”以及諸如“一個(gè)”或“某個(gè)”的不定冠詞。對于使用定冠詞的使用同樣適用。除非另有說明,例如“第一”和“第二”的術(shù)語用于隨意區(qū)分此類術(shù)語描述的要素。因此,這些術(shù)語不一定指示此類要素的時(shí)間的或其它的優(yōu)先。在互不相同的權(quán)利要求中記載某些措施這一事實(shí)不是指無法有利地使用這些措施的組合。