專利名稱:在掉電的情況下保存系統(tǒng)上下文的制作方法
在掉電的情況下保存系統(tǒng)上下文
背景技術(shù):
對于計(jì)算機(jī)用戶來說,意外的停電和斷電可能是災(zāi)難性的。頻繁的電 力中斷可能導(dǎo)致設(shè)備損毀,例如硬盤損壞,這可能會(huì)導(dǎo)致計(jì)算機(jī)用戶停機(jī) 時(shí)間很長。很長的停機(jī)時(shí)間又可能導(dǎo)致失去收入和機(jī)會(huì)。此外,停電和斷 電可能導(dǎo)致與計(jì)算機(jī)相關(guān)的重要數(shù)據(jù)丟失。例如,意外停電可能會(huì)因?yàn)樵?停電前部分寫入數(shù)據(jù)而導(dǎo)致數(shù)據(jù)損壞。對于電力在最好的情況下也是斷斷 續(xù)續(xù)的新興市場中的計(jì)算機(jī)用戶而言,停電尤其是毀滅性的。電壓過低
(brown-outs)在印度和中國一直是個(gè)問題。 一些商業(yè)環(huán)境通過跨網(wǎng)絡(luò)采用不 間斷電源來應(yīng)對停電事件。不過,這種選項(xiàng)對于很多計(jì)算機(jī)用戶來說成本 太高。
圖1為運(yùn)行環(huán)境的方框圖,該運(yùn)行環(huán)境包括電力代理(power agent), 該電力代理基于儲(chǔ)電裝置(power store)中剩余的電量將系統(tǒng)上下文轉(zhuǎn)存 (spool)到非易失性存儲(chǔ)裝置。
圖2A為流程圖,示出了根據(jù)一實(shí)施例使用電力代理來執(zhí)行系統(tǒng)上下 文保存操作。
圖3A為操作系統(tǒng)任務(wù)管理器的屏幕快照,示出了計(jì)算設(shè)備的多個(gè)進(jìn)程。
圖3B為操作系統(tǒng)任務(wù)管理器的屏幕快照,示出了與圖3A的計(jì)算設(shè)備 相關(guān)聯(lián)的性能方面的信息。
具體實(shí)施例方式
電力代理可以與諸如服務(wù)器、臺(tái)式機(jī)、手持設(shè)備和其它計(jì)算設(shè)備這樣 的平臺(tái)相關(guān)聯(lián)。電力代理用于減小在意外停電期間由于部分寫入的數(shù)據(jù)而 導(dǎo)致數(shù)據(jù)損壞的可能性。電力代理能夠確定在儲(chǔ)電裝置被耗盡之前剩余的時(shí)間(或電)量?;谠摃r(shí)間量,電力代理可以存儲(chǔ)系統(tǒng)上下文。在某些情 況下,電力代理用于保存部分系統(tǒng)上下文,使得一旦恢復(fù)供電就可以對系 統(tǒng)上下文進(jìn)行部分恢復(fù)。電力代理用于基于儲(chǔ)電裝置中剩余的電量將系統(tǒng) 上下文保存到諸如非易失性存儲(chǔ)器這樣的存儲(chǔ)設(shè)備中。因此,在此公開了 在發(fā)生停電時(shí)用于保存系統(tǒng)上下文的方法和系統(tǒng)的實(shí)施例。在下述說明中,給出了很多具體細(xì)節(jié)以提供對使用電力代理的操作的 實(shí)施例的透徹理解并對其進(jìn)行描述。不過,本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到, 無需一個(gè)或多個(gè)具體細(xì)節(jié)就可以實(shí)現(xiàn)這些實(shí)施例,或者可以利用其它組件、 系統(tǒng)等來實(shí)現(xiàn)這些實(shí)施例。在其它實(shí)例中,并未示出或并未詳細(xì)描述公知 的結(jié)構(gòu)或操作,以免使所公開的實(shí)施例的各方面難以理解。圖1示出了包括電力代理104的運(yùn)行環(huán)境100,在此所述的實(shí)施例中, 電力代理104用于將系統(tǒng)上下文保存到非易失性存儲(chǔ)裝置中。諸如計(jì)算設(shè) 備102這樣的平臺(tái)包括與電力代理104通信的總線103。如下文進(jìn)一步所 述的,電力代理104用于各種事務(wù)中,例如其中計(jì)算設(shè)備102失去了外部 電源且需要將系統(tǒng)上下文保存到非易失性存儲(chǔ)裝置的事務(wù)。計(jì)算設(shè)備102 是一種"平臺(tái)"。通常,平臺(tái)對應(yīng)于一個(gè)實(shí)體,例如用于傳輸和處理信息的 服務(wù)器、移動(dòng)計(jì)算設(shè)備、個(gè)人計(jì)算機(jī)等。以下詳述電力代理104的操作, 如圖2的流程所示。典型地,計(jì)算設(shè)備102包括隨機(jī)存取存儲(chǔ)器(RAM)或 其它動(dòng)態(tài)存儲(chǔ)裝置作為主存儲(chǔ)器106,以用于存儲(chǔ)要由處理器108執(zhí)行的 信息和指令。將會(huì)認(rèn)識(shí)到,計(jì)算設(shè)備102可以包括多個(gè)處理器和其它設(shè)備。計(jì)算設(shè)備102可以包括只讀存儲(chǔ)器(ROM) 110和/或其它靜態(tài)存儲(chǔ)裝 置,以用于為處理器108存儲(chǔ)靜態(tài)信息和指令。可以將諸如磁盤、光盤及 驅(qū)動(dòng)器、閃速存儲(chǔ)器或其它非易失性存儲(chǔ)器、或其它存儲(chǔ)器件這樣的存儲(chǔ) 設(shè)備112耦合到計(jì)算設(shè)備102的總線103上,以用于存儲(chǔ)信息和指令。電 力代理104被配置為嵌入到存儲(chǔ)設(shè)備112中的邏輯,例如一個(gè)閃速存儲(chǔ)器 部件。嵌入的邏輯可以是硬件、軟件或二者的組合。如下文所述,電力代 理104用于基于儲(chǔ)電裝置114包含的電量將系統(tǒng)上下文保存到諸如存儲(chǔ)設(shè) 備112這樣的非易失性存儲(chǔ)裝置中。如圖1所示,根據(jù)一實(shí)施例,電力代理104與儲(chǔ)電裝置114、電力管 理器116和電源118通信。根據(jù)該實(shí)施例,儲(chǔ)電裝置114被實(shí)現(xiàn)為電容性設(shè)備,其用于基于存儲(chǔ)容量和連接到諸如電源118這樣的有效的電源或能 量源的時(shí)間來存儲(chǔ)電力或能量?;蛘?,儲(chǔ)電裝置114被實(shí)現(xiàn)為快速放電電 池,例如鎳金屬氫化物("NiMH")電池、鋰離子電池、電容器組、不間斷 電源等。 一旦電源118切斷或因其它情況而中斷(例如在停電期間),儲(chǔ)電 裝置114用于以依賴于其存儲(chǔ)容量和負(fù)載的速率來釋放所存儲(chǔ)的能量。如下文所述,儲(chǔ)電裝置114具有足夠的容量來允許電力代理104在外 部電源118中斷或故障時(shí)將一些或全部系統(tǒng)上下文保存起來。可以理解的 是,基于相關(guān)聯(lián)的計(jì)算設(shè)備的組件和配置,將儲(chǔ)電裝置114實(shí)現(xiàn)為具有足 夠的容量。例如,與諸如臺(tái)式機(jī)系統(tǒng)這樣的較大系統(tǒng)相比,對于諸如手持 設(shè)備這樣的較小系統(tǒng)而言,儲(chǔ)電裝置114的容量一般較小。電源118是A/C 電源或等效裝置,例如墻上插座,其能夠在計(jì)算設(shè)備102插入時(shí)向計(jì)算設(shè) 備102供電??梢越?jīng)由總線103將許多輸入/輸出(I/0)設(shè)備120與計(jì)算設(shè)備102耦 合。示例性(I/0)設(shè)備包括但不限于顯示設(shè)備、通信設(shè)備、音頻設(shè)備、打 印機(jī)、掃描儀和各種用于向平臺(tái)輸入和輸出信息的操作設(shè)備。計(jì)算設(shè)備102 可以與網(wǎng)絡(luò)、系統(tǒng)或其它計(jì)算設(shè)備通信。如上所述,電力代理104也與電力管理器116通信。電力管理器116 是用于監(jiān)測電源118的電力或電壓傳感器。電力管理器116還用于監(jiān)測儲(chǔ) 電裝置114以確定在某一時(shí)間上的可用電量。電力管理器116也可以被描 述為電力管理微控制器,其用于分別監(jiān)測電源118和儲(chǔ)電裝置114的電荷 水平(charge level)。如下文所述,如果電力管理器116檢測到電源118的電荷水平下降, 就把電力管理器116配置成通過在總線103上向處理器108提供中斷信號(hào) 來中斷處理器108。根據(jù)一實(shí)施例,電力管理器116可以經(jīng)由系統(tǒng)管理中 斷(SMI)在任何時(shí)候中斷主處理器??梢栽陔娏芾砥?16檢測到電源118 的電荷水平下降時(shí)使用SMI。 SMI是一種用于處理器108的高優(yōu)先級(jí)不可 屏蔽中斷。根據(jù)一實(shí)施例,電力管理器116用于過濾來自電源118的信號(hào), 這能夠平滑間歇性的電力浪涌。電力管理器H6進(jìn)行過濾顧及到了更加一 貫的用戶體驗(yàn),同時(shí)還有助于防止對系統(tǒng)的損害。圖2為示出了根據(jù)一實(shí)施例的系統(tǒng)上下文保存操作的流程圖。在200處,通過接通計(jì)算設(shè)備102來為諸如計(jì)算設(shè)備102這樣的系統(tǒng)通電。此時(shí), 電源118正在向計(jì)算設(shè)備102供電。電源118也在向儲(chǔ)電裝置114供電。 因此,儲(chǔ)電裝置114開始充電或存儲(chǔ)電力。在202處,固件對計(jì)算設(shè)備102 進(jìn)行初始化,并啟動(dòng)諸如操作系統(tǒng)(OS)目標(biāo)這樣的目標(biāo)應(yīng)用程序。固件通 常是指存儲(chǔ)在ROM或可編程ROM (PROM)中的軟件,并負(fù)責(zé)計(jì)算設(shè)備102 在被首次接通時(shí)的行為。在初始化期間,從存儲(chǔ)設(shè)備112加載包括代理104 在內(nèi)的固件邏輯以處理交互,例如由計(jì)算設(shè)備102的硬件檢測到的各種錯(cuò) 誤或狀況,如下文所述的那樣。
如上所述,電力管理器116監(jiān)測電源118的電荷水平。在204處,電 力管理器116檢測電源118的電荷水平是否發(fā)生下降。如果電力管理器116 未檢測到電源118的電荷水平下降,那么在206處,計(jì)算設(shè)備102繼續(xù)其 正常運(yùn)行。如果電力管理器116檢測到電源118的電荷水平下降,那么在 208處,電力管理器116發(fā)出諸如SMI這樣的中斷,其向處理器108警告 發(fā)生掉電(powerloss)。此時(shí),儲(chǔ)電裝置114開始釋放其存儲(chǔ)的電荷。
如上所述,電力代理104與電力管理器116和儲(chǔ)電裝置114通信。根 據(jù)該實(shí)施例,計(jì)算系統(tǒng)102基于中斷而將控制交給電力代理104。電力代 理104還從電力管理器116接收與儲(chǔ)電裝置114中剩余的電荷水平相關(guān)的 信息。在210處,基于計(jì)算設(shè)備102的配置,電力代理104確定儲(chǔ)電裝置 114中是否還剩有足以進(jìn)行完整系統(tǒng)上下文保存(例如高級(jí)配置和電源接口 (ACPI) S4狀態(tài)保存)的電荷(電力)。
基于儲(chǔ)電裝置114中剩余的電荷,電力代理104確定電荷完全耗盡之 前剩余的時(shí)間(或電)量。剩余時(shí)間取決于儲(chǔ)電裝置114的容量和計(jì)算系統(tǒng) 102的配置。剩余時(shí)間能與將系統(tǒng)上下文轉(zhuǎn)存到存儲(chǔ)器需要多久相關(guān)。或 者,電力管理器116可被配置為計(jì)算剩余的時(shí)間(或電)量,并將該信息提 供給電力代理104。如果儲(chǔ)電裝置114中剩余的電荷足以執(zhí)行完整系統(tǒng)上 下文保存,那么在212處,電力代理104將完整系統(tǒng)上下文轉(zhuǎn)存到非易失 性存儲(chǔ)裝置中。該完整上下文保存使得在向計(jì)算設(shè)備102恢復(fù)供電時(shí)能夠 完全恢復(fù)系統(tǒng)環(huán)境。如果儲(chǔ)電裝置114中剩余的電荷不足以執(zhí)行完整系統(tǒng) 上下文保存,那么在214處,電力代理104確定儲(chǔ)電裝置114中剩余的電 荷是否足以執(zhí)行部分系統(tǒng)上下文保存。如果儲(chǔ)電裝置114中剩余的電荷足以執(zhí)行部分系統(tǒng)上下文保存,那么在216處,電力代理104將部分系統(tǒng)上下文轉(zhuǎn)存到非易失性存儲(chǔ)裝置。根 據(jù)該實(shí)施例,轉(zhuǎn)存部分系統(tǒng)上下文對應(yīng)于保存針對由計(jì)算設(shè)備102的用戶 當(dāng)前使用中的一個(gè)或多個(gè)應(yīng)用程序的活動(dòng)OS狀態(tài)(未分頁)和上下文。于 是,在部分上下文轉(zhuǎn)存期間,電力代理104基于儲(chǔ)電裝置114中剩余的電 荷量(對應(yīng)于轉(zhuǎn)存時(shí)間)和/或優(yōu)先的應(yīng)用轉(zhuǎn)存方案來保存一個(gè)或多個(gè)當(dāng)前使 用中的應(yīng)用程序的活動(dòng)未分頁OS狀態(tài)和上下文。對該實(shí)施例而言,在電 力下降時(shí)正在使用的應(yīng)用程序被優(yōu)先處理。部分上下文保存使得在向計(jì)算 設(shè)備102恢復(fù)供電時(shí)能夠部分恢復(fù)系統(tǒng)環(huán)境。如果儲(chǔ)電裝置114中剩余的電荷不足以執(zhí)行部分系統(tǒng)上下文保存,那 么在218處,電力代理104對輸入/輸出(I/0)緩沖器進(jìn)行轉(zhuǎn)儲(chǔ)清除(flush), 確保沒有部分寫入的數(shù)據(jù)剩下。根據(jù)該實(shí)施例,在220處,如果在完成轉(zhuǎn) 存到存儲(chǔ)裝置102 (在212或216處)的操作之前恢復(fù)向計(jì)算設(shè)備供電,則 電力代理104就不繼續(xù)進(jìn)行相應(yīng)的轉(zhuǎn)存,且流程返回到206。否則,在222 處,計(jì)算設(shè)備102安全地關(guān)機(jī)。圖3A為OS任務(wù)管理器300的屏幕快照,示出了運(yùn)行于計(jì)算設(shè)備上的 很多進(jìn)程。如圖2所示,用戶正在運(yùn)行很多進(jìn)程,當(dāng)前正在使用電子郵件 應(yīng)用程序("OUTLOOK.EXE") 302。電子郵件應(yīng)用程序302正在使用22.476 兆字節(jié)的存儲(chǔ)器。圖3B為OS任務(wù)管理器300的屏幕快照,示出了與運(yùn)行圖3A中的進(jìn) 程的計(jì)算設(shè)備相關(guān)聯(lián)的性能方面的信息。如圖3B所示,活動(dòng)未分頁OS 狀態(tài)304正在使用32.152兆字節(jié)的存儲(chǔ)器。根據(jù)該示例,如果掉電或斷電, 轉(zhuǎn)存完整系統(tǒng)上下文將耗時(shí)大約150秒。反之,轉(zhuǎn)存包括未分頁OS狀態(tài) 和電子郵件應(yīng)用程序上下文的部分系統(tǒng)上下文將耗時(shí)大約3.4秒(g卩,(32.1 兆字節(jié)+22.5兆字節(jié))/16兆字節(jié)/秒=3.4秒)。因此,對于該例而言,與用于完整系統(tǒng)上下文保存的150秒相比,儲(chǔ) 電裝置114只需要提供3.4秒的電力來使電力代理104能夠執(zhí)行部分系統(tǒng) 上下文保存。于是,為了執(zhí)行部分系統(tǒng)上下文保存,儲(chǔ)電裝置114應(yīng)當(dāng)具 有足夠的容量,以便為電力代理104提供充足時(shí)間來轉(zhuǎn)存未分頁OS狀態(tài) 和電子郵件應(yīng)用程序上下文。因此,進(jìn)行部分系統(tǒng)上下文保存的時(shí)間大約比完整上下文系統(tǒng)保存小2個(gè)數(shù)量級(jí)。如果且當(dāng)電源118中斷或掉電時(shí),
這種時(shí)間差異可能是至關(guān)重要的。此外,儲(chǔ)電裝置114無需具有滿足轉(zhuǎn)存
完整系統(tǒng)上下文所需時(shí)間的大小和相關(guān)成本,且可以在計(jì)算系統(tǒng)中實(shí)現(xiàn)為
與部分上下文保存功能相協(xié)調(diào)。最后,如上所述,如果儲(chǔ)電裝置114沒有 足夠的電荷,電力代理104至少能對I/0緩沖器進(jìn)行轉(zhuǎn)儲(chǔ)清除。可以理解 的是,儲(chǔ)電裝置114可以包括更多或更少的容量,該容量將運(yùn)行計(jì)算設(shè)備 的時(shí)間量取決于使用計(jì)算設(shè)備102時(shí)的配置和用戶喜好。
在備選實(shí)施例中,可以將儲(chǔ)電裝置114和電力管理器116合并成獨(dú)立 的設(shè)備。這樣就可以將合并后的儲(chǔ)電裝置114和電力管理器116耦合在計(jì) 算設(shè)備102和電源118之間?;蛘?,儲(chǔ)電裝置114和電力管理器116可以 分開耦合在電源118和計(jì)算設(shè)備102之間??梢岳斫獾氖牵梢愿鶕?jù)期望 的實(shí)現(xiàn)采用不同的配置。
還可以理解,如上所述,可以分離于OS而包括電力代理104 (OS不 可知)。或者,電力代理104嵌入OS,并用于如果掉電或斷電則觸發(fā)OS 特定的驅(qū)動(dòng)程序。在任何情況下,在此所述的實(shí)施例有助于減小在意外停 電期間由于部分寫入的數(shù)據(jù)而導(dǎo)致數(shù)據(jù)損壞的可能性。
在此所述的方法和系統(tǒng)的各方面可以被實(shí)現(xiàn)為編程到各種電路中的任 一種中的功能,所述電路包括可編程邏輯器件("PLD")(例如現(xiàn)場可編程 門陣列("FPGA")、可編程陣列邏輯("PAL")器件、電可編程邏輯和存 儲(chǔ)器件以及標(biāo)準(zhǔn)的基于單元的器件)、以及專用集成電路。各實(shí)施例還可以 被實(shí)現(xiàn)為帶有存儲(chǔ)器(例如電可擦除可編程只讀存儲(chǔ)器("EEPROM"))的微 控制器、嵌入式微處理器、固件、軟件等。此外,可以將各方面實(shí)現(xiàn)在具 有基于軟件的電路仿真的微處理器、離散邏輯(時(shí)序和組合)、定制設(shè)備、 模糊(神經(jīng))邏輯、量子器件以及以上設(shè)備類型的任何混合中。當(dāng)然,基礎(chǔ) 器件技術(shù)可以以各種部件類型來提供,例如,像互補(bǔ)金屬氧化物半導(dǎo)體 ("CMOS")這樣的金屬氧化物半導(dǎo)體場效應(yīng)晶體管("MOSFET")技術(shù)、 像發(fā)射極耦合邏輯("ECL")這樣的雙極技術(shù)、聚合物技術(shù)(例如硅共軛聚 合物和金屬共軛聚合物-金屬結(jié)構(gòu))、模擬數(shù)字混合等。
對于這里公開的各種功能,就其行為、寄存器傳送、邏輯元件和/或其 它特性而言,可以用硬件、固件、和/或?qū)崿F(xiàn)在各種機(jī)器可讀或計(jì)算機(jī)可讀介質(zhì)中的數(shù)據(jù)和/或指令的任意多種組合加以描述。其中可以實(shí)施這種格式 化的數(shù)據(jù)和/或指令的計(jì)算機(jī)可讀介質(zhì)包括但不限于各種形式的非易失性 存儲(chǔ)介質(zhì)(例如光學(xué)、磁性或半導(dǎo)體存儲(chǔ)介質(zhì)),以及可用于通過無線、光 學(xué)或有線信號(hào)傳輸介質(zhì)或其任意組合來傳輸這種格式化的數(shù)據(jù)和/或指令 的載波。通過載波傳輸這種格式化的數(shù)據(jù)和/或指令的示例包括但不限于 經(jīng)由一個(gè)或多個(gè)數(shù)據(jù)傳輸協(xié)議(例如,超文本傳輸協(xié)議("HTTP")、文件傳
輸協(xié)議("FTP")、簡單郵件傳輸協(xié)議("SMTP")等)在因特網(wǎng)和/或其它計(jì)
算機(jī)網(wǎng)絡(luò)上進(jìn)行傳輸(上傳、下載、發(fā)送電子郵件等)。
除非上下文另有明確要求,否則在整個(gè)說明書和權(quán)利要求書中,"包
含"、"包括"等詞語應(yīng)被解釋為包容性的,而不是排他或窮舉性的;也就 是說,其意義為"包括,但不限于"。使用單數(shù)或復(fù)數(shù)的詞匯也分別包括復(fù) 數(shù)或單數(shù)個(gè)對象。此外,詞語"在此"、"下面"、"以上"、"以下"和類似 意思的詞語指的是作為整體的本申請,而不是指本申請的任何特定部分。 當(dāng)援引包括兩個(gè)或更多項(xiàng)目的一個(gè)列表時(shí)用到"或"一詞時(shí),該詞覆蓋對 其的所有以下解釋列表中的任一項(xiàng)目;列表中的全部項(xiàng)目;以及列表中 項(xiàng)目的任意組合。
所示實(shí)施例的以上說明并非意在窮舉或受限于公開內(nèi)容。盡管為了說 明的目的而在此描述了特定的實(shí)施例和示例,但是如本領(lǐng)域的技術(shù)人員將 認(rèn)識(shí)到的,各種等價(jià)的變型都是可能的。在此提供的啟示可應(yīng)用于其它系 統(tǒng)和方法,而不僅僅是上述系統(tǒng)和方法。可以組合上述各實(shí)施例的要素和 行為以提供其它實(shí)施例。根據(jù)以上詳細(xì)說明,可以對方法和系統(tǒng)做出這些 和其它改變。
通常,在后面的權(quán)利要求中,所用的術(shù)語不應(yīng)被解釋為限于說明書和 權(quán)利要求中公開的具體實(shí)施例,而應(yīng)被解釋為包括在權(quán)利要求的范圍內(nèi)工 作的所有系統(tǒng)和方法。因此,所述方法和系統(tǒng)不受公開內(nèi)容的限制,而是 要完全由權(quán)利要求來確定該范圍。盡管以下以某些權(quán)利要求形式給出了某 些方面,但發(fā)明人構(gòu)思了以任意數(shù)量的權(quán)利要求形式表示的很多方面。例 如,盡管僅把一個(gè)方面描述為實(shí)現(xiàn)在機(jī)器可讀介質(zhì)中,但是其它方面也同 樣可實(shí)現(xiàn)在機(jī)器可讀介質(zhì)中。因此,發(fā)明人保留在提交該申請之后補(bǔ)充另 外的權(quán)利要求的權(quán)利,以便同樣為其它方面尋求這種另外的權(quán)利要求形式。
權(quán)利要求
1.一種方法,包括確定計(jì)算設(shè)備掉電之前剩余的時(shí)間量是否足以保存完整系統(tǒng)上下文,其中,該確定操作包括監(jiān)測系統(tǒng)儲(chǔ)電裝置;以及確定系統(tǒng)掉電之前所述剩余的時(shí)間量是否足以保存部分系統(tǒng)上下文,其中,該確定操作包括監(jiān)測系統(tǒng)儲(chǔ)電裝置。
2. 如權(quán)利要求1所述的方法,還包括如果所述時(shí)間量足以轉(zhuǎn)存所述完整系統(tǒng)上下文,則將所述完整系統(tǒng)上下文轉(zhuǎn)存到非易失性存儲(chǔ)器。
3. 如權(quán)利要求l所述的方法,還包括如果所述時(shí)間量不足以轉(zhuǎn)存所 述完整系統(tǒng)上下文,則將所述部分系統(tǒng)上下文轉(zhuǎn)存到非易失性存儲(chǔ)器。
4. 如權(quán)利要求1所述的方法,還包括如果所述時(shí)間量不足以轉(zhuǎn)存所述部分系統(tǒng)上下文,則對輸入/輸出(i/o)緩沖器進(jìn)行轉(zhuǎn)儲(chǔ)清除。
5. 如權(quán)利要求l所述的方法,還包括使用代理以至少部分地基于所 述儲(chǔ)電裝置中剩余的電荷量來確定所述時(shí)間量。
6. 如權(quán)利要求2所述的方法,還包括在掉電之后當(dāng)恢復(fù)供電時(shí)完整 地恢復(fù)所述系統(tǒng)上下文。
7. 如權(quán)利要求3所述的方法,還包括在掉電之后當(dāng)恢復(fù)供電時(shí)部分 地恢復(fù)所述系統(tǒng)上下文。
8. —種其上存儲(chǔ)有指令的計(jì)算機(jī)可讀介質(zhì),所述指令在系統(tǒng)中執(zhí)行時(shí)用于通過以下操作來保存系統(tǒng)上下文 接收基于掉電的中斷; 基于相關(guān)聯(lián)的儲(chǔ)電裝置來確定剩余電量;確定所述剩余電量是否足以轉(zhuǎn)存完整系統(tǒng)上下文;以及 確定所述電量是否足以轉(zhuǎn)存部分系統(tǒng)上下文。
9. 如權(quán)利要求8所述的介質(zhì),其中,所述指令在執(zhí)行時(shí)用于如果所 述電量足以轉(zhuǎn)存所述完整系統(tǒng)上下文,則將所述完整系統(tǒng)上下文轉(zhuǎn)存到非 易失性存儲(chǔ)器。
10. 如權(quán)利要求8所述的介質(zhì),其中,所述指令在執(zhí)行時(shí)用于如果 所述電量不足以轉(zhuǎn)存所述完整系統(tǒng)上下文,則將所述部分系統(tǒng)上下文轉(zhuǎn)存 到非易失性存儲(chǔ)器。
11. 如權(quán)利要求8所述的介質(zhì),其中,所述指令在執(zhí)行時(shí)用于如果所述電量不足以轉(zhuǎn)存所述部分系統(tǒng)上下文,則對輸入/輸出(i/o)緩沖器進(jìn)行轉(zhuǎn)儲(chǔ)清除。
12. 如權(quán)利要求8所述的介質(zhì),其中,所述指令在執(zhí)行時(shí)用于至少 部分地基于所述儲(chǔ)電裝置中剩余的電荷量來確定所述電量。
13. 如權(quán)利要求8所述的介質(zhì),其中,所述指令在執(zhí)行時(shí)用于使用 電力管理器來監(jiān)測電源和所述儲(chǔ)電裝置。
14. 一種用于保存系統(tǒng)上下文的系統(tǒng),該系統(tǒng)包括-電力代理,用于,基于相關(guān)聯(lián)的儲(chǔ)電裝置和電力損耗來確定時(shí)間量; 確定所述時(shí)間量是否足以轉(zhuǎn)存完整系統(tǒng)上下文;以及 確定所述時(shí)間量是否足以轉(zhuǎn)存部分系統(tǒng)上下文。
15. 如權(quán)利要求14所述的系統(tǒng),其中,所述電力代理還用于如果所 述時(shí)間量足以轉(zhuǎn)存所述完整系統(tǒng)上下文,則將所述完整系統(tǒng)上下文轉(zhuǎn)存到 非易失性存儲(chǔ)器。
16. 如權(quán)利要求14所述的系統(tǒng),其中,所述電力代理還用于如果所 述時(shí)間量不足以轉(zhuǎn)存所述完整系統(tǒng)上下文,則將所述部分系統(tǒng)上下文轉(zhuǎn)存 到非易失性存儲(chǔ)器。
17. 如權(quán)利要求14所述的系統(tǒng),其中,所述電力代理還用于如果所 述時(shí)間量不足以轉(zhuǎn)存所述部分系統(tǒng)上下文,則對輸入/輸出(I/0)緩沖器進(jìn)行 轉(zhuǎn)儲(chǔ)清除。
18. 如權(quán)利要求14所述的系統(tǒng),其中,所述電力代理還用于至少部 分地基于所述儲(chǔ)電裝置中剩余的電荷量來確定所述時(shí)間量。
19. 如權(quán)利要求15所述的系統(tǒng),其中,所述電力代理還用于在恢復(fù) 供電時(shí)完整地恢復(fù)所述系統(tǒng)上下文。
20. 如權(quán)利要求16所述的系統(tǒng),其中,所述電力代理還用于在恢復(fù) 供電時(shí)部分地恢復(fù)所述系統(tǒng)上下文。
全文摘要
在此公開了用于在發(fā)生停電之后保存系統(tǒng)上下文的方法和系統(tǒng)的實(shí)施例。電力代理用于減小在意外停電期間由于部分寫入的數(shù)據(jù)而導(dǎo)致數(shù)據(jù)損壞的可能性。電力代理能夠確定在儲(chǔ)電裝置被耗盡之前剩余的時(shí)間量?;谠摃r(shí)間量,電力代理可以存儲(chǔ)系統(tǒng)上下文信息。相應(yīng)地,電力代理能夠保存完整系統(tǒng)上下文、部分系統(tǒng)上下文,或?qū)?I/O)緩沖器進(jìn)行轉(zhuǎn)儲(chǔ)清除。一旦恢復(fù)供電,電力代理能夠基于該保存的特性來恢復(fù)系統(tǒng)上下文。還描述并聲明了其它實(shí)施例。
文檔編號(hào)G06F11/14GK101273336SQ200680035585
公開日2008年9月24日 申請日期2006年9月26日 優(yōu)先權(quán)日2005年9月27日
發(fā)明者M·布魯蘇, M·羅思曼, V·齊默 申請人:英特爾公司