電子設(shè)備可以包括主存儲(chǔ)器和輔存儲(chǔ)裝置。電子設(shè)備的主存儲(chǔ)器可以利用一個(gè)或多個(gè)易失性存儲(chǔ)器設(shè)備實(shí)現(xiàn)。如果從存儲(chǔ)器設(shè)備移除電力,則易失性存儲(chǔ)器設(shè)備丟失其數(shù)據(jù)。輔存儲(chǔ)裝置可以使用一個(gè)或多個(gè)非易失性(或持久性)存儲(chǔ)設(shè)備實(shí)現(xiàn)。即便從非易失性存儲(chǔ)設(shè)備移除電力,非易失性存儲(chǔ)設(shè)備也留存其內(nèi)容。
附圖說(shuō)明
關(guān)于以下各圖描述一些實(shí)現(xiàn)。
圖1A和1B是根據(jù)各種實(shí)現(xiàn)的示例電子設(shè)備的框圖。
圖2是根據(jù)一些實(shí)現(xiàn)的示例過(guò)程的流程圖。
圖3是根據(jù)一些實(shí)現(xiàn)的非易失性主存儲(chǔ)器的示例內(nèi)容的示意圖。
圖4是根據(jù)另外的實(shí)現(xiàn)的示例快照過(guò)程的流程圖。
圖5是根據(jù)另外的實(shí)現(xiàn)的示例重啟過(guò)程的流程圖。
具體實(shí)施方式
在包括易失性主存儲(chǔ)器和非易失性輔存儲(chǔ)裝置的電子設(shè)備中,在從電子設(shè)備移除電力之前,首先將要跨電子設(shè)備的電力循環(huán)持久化的數(shù)據(jù)存儲(chǔ)到非易失性輔存儲(chǔ)裝置中。電子設(shè)備的電力循環(huán)可以是指包括從電子設(shè)備(中的至少一些組件)移除電力、接著將電力再應(yīng)用到電子設(shè)備的序列。當(dāng)從電子設(shè)備的組件移除電力時(shí),易失性主存儲(chǔ)器將不會(huì)留存其數(shù)據(jù);然而,存儲(chǔ)在非易失性輔存儲(chǔ)裝置中的數(shù)據(jù)得以留存。
電子設(shè)備的示例可以包括以下中的任何一個(gè)或某種組合:臺(tái)式計(jì)算機(jī)、筆記本計(jì)算機(jī)、平板計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、智能電話、個(gè)人數(shù)字助理、移動(dòng)電話、通信設(shè)備、存儲(chǔ)服務(wù)器、游戲器具等。更一般地,電子設(shè)備可以被稱為“系統(tǒng)”。系統(tǒng)還可以是指多個(gè)電子設(shè)備的布置。
電子設(shè)備可以具有“瞬時(shí)接通”特征,其中電子設(shè)備恢復(fù)到將電子設(shè)備置于低電力模式中的時(shí)間之前所存在的電子設(shè)備的狀態(tài),在低電力模式中從電子設(shè)備中的一些或所有組件移除電力。低電力模式可以包括電子設(shè)備的關(guān)斷模式(其中根本沒(méi)有向電子設(shè)備應(yīng)用電力),或者其中從電子設(shè)備的一些組件移除電力的另一模式。為了使得電子設(shè)備能夠恢復(fù)到之前的狀態(tài),可以將狀態(tài)信息存儲(chǔ)到電子設(shè)備的非易失性輔存儲(chǔ)裝置中。電子設(shè)備的之前狀態(tài)可以是指當(dāng)一個(gè)或多個(gè)程序正執(zhí)行時(shí)的時(shí)間處的狀態(tài)。使電子設(shè)備恢復(fù)到之前狀態(tài)可以是指使電子設(shè)備恢復(fù)以開(kāi)始從之前狀態(tài)起始的執(zhí)行。
使用存儲(chǔ)在非易失性輔存儲(chǔ)裝置中的狀態(tài)信息向之前狀態(tài)的恢復(fù)可以快于引導(dǎo)電子設(shè)備(引導(dǎo)電子設(shè)備使得將電子設(shè)備置于初始狀態(tài)中)。然而,輔存儲(chǔ)裝置可以利用具有比用于實(shí)現(xiàn)主存儲(chǔ)器的(多個(gè))存儲(chǔ)器設(shè)備更慢的訪問(wèn)速度的(多個(gè))存儲(chǔ)設(shè)備來(lái)實(shí)現(xiàn)。作為結(jié)果,使用存儲(chǔ)在輔存儲(chǔ)裝置中的狀態(tài)信息向之前狀態(tài)的恢復(fù)可能仍舊是相對(duì)緩慢的過(guò)程。
依照一些實(shí)現(xiàn),電子設(shè)備可以使用存儲(chǔ)在電子設(shè)備中的非易失性主存儲(chǔ)器中的狀態(tài)信息而恢復(fù)到之前狀態(tài)。非易失性主存儲(chǔ)器是其中即便從電子設(shè)備中的組件(包括非易失性主存儲(chǔ)器)移除電力,存儲(chǔ)在非易失性主存儲(chǔ)器中的數(shù)據(jù)也得以留存的主存儲(chǔ)器(其可以利用一個(gè)或多個(gè)存儲(chǔ)器設(shè)備實(shí)現(xiàn))。當(dāng)將電子設(shè)備置于諸如關(guān)斷模式、休眠模式、睡眠模式等的低電力模式中時(shí),可以從電子設(shè)備中的組件移除電力。
即便在電子設(shè)備的低電力模式中從非易失性主存儲(chǔ)器移除電力,存儲(chǔ)在非易失性主存儲(chǔ)器中的狀態(tài)信息也可以留存。狀態(tài)信息可以包括關(guān)于操作系統(tǒng)的當(dāng)前狀態(tài)、某些應(yīng)用程序的當(dāng)前狀態(tài)、某些硬件設(shè)備的當(dāng)前狀態(tài)等的信息。狀態(tài)信息還可以包括由操作系統(tǒng)、應(yīng)用程序、硬件設(shè)備等使用的數(shù)據(jù)。
作為示例,在電子設(shè)備轉(zhuǎn)變到低電力模式之前,由應(yīng)用程序處理的文檔可以打開(kāi)。應(yīng)用程序的狀態(tài)信息可以指示打開(kāi)的文檔以及文檔的當(dāng)前內(nèi)容,使得當(dāng)電子設(shè)備從低電力模式恢復(fù)到之前狀態(tài)(通過(guò)使用狀態(tài)信息)時(shí),文檔在具有電子設(shè)備被置于低電力模式中時(shí)所存在的內(nèi)容的情況下保持打開(kāi)。
由于非易失性主存儲(chǔ)器可以利用具有比非易失性輔存儲(chǔ)裝置的訪問(wèn)速度更大的訪問(wèn)速度的一個(gè)或多個(gè)存儲(chǔ)器設(shè)備而實(shí)現(xiàn),所以相比于使用存儲(chǔ)在非易失性輔存儲(chǔ)裝置中的狀態(tài)信息的恢復(fù)而言,電子設(shè)備使用存儲(chǔ)在非易失性主存儲(chǔ)器中的狀態(tài)信息向之前狀態(tài)的恢復(fù)可以更加快速地執(zhí)行。而且,因?yàn)樵谝瞥娏χ皵?shù)據(jù)不必從非易失性主存儲(chǔ)器復(fù)制到非易失性輔存儲(chǔ)裝置,所以恢復(fù)可以更快,這是由于在電力得到恢復(fù)之后相同數(shù)據(jù)不必從非易失性輔存儲(chǔ)裝置復(fù)制到非易失性主存儲(chǔ)器。
主存儲(chǔ)器可以是指由電子設(shè)備中的處理器通過(guò)存儲(chǔ)器總線可訪問(wèn)的存儲(chǔ)器。換言之,主存儲(chǔ)器不是通過(guò)電子設(shè)備的輸入/輸出(I/O)總線來(lái)訪問(wèn),輸入/輸出(I/O)總線可以是具有比存儲(chǔ)器總線的通信速度低的通信速度的總線。如果輔存儲(chǔ)裝置存在于電子設(shè)備中,則輔存儲(chǔ)裝置連接到電子設(shè)備的I/O總線,使得對(duì)輔存儲(chǔ)裝置中的數(shù)據(jù)的訪問(wèn)將必須通過(guò)I/O總線而不是通過(guò)存儲(chǔ)器總線而發(fā)生。
根據(jù)一些實(shí)現(xiàn)的主存儲(chǔ)器的另外的特性在于,主存儲(chǔ)器中的數(shù)據(jù)的個(gè)體字節(jié)可以直接地由處理器訪問(wèn)以用于由處理器讀取或?qū)懭?,而不管由處理器采用的字的大小?!白帧笨梢允侵竿ㄟ^(guò)指令在處理器上執(zhí)行而對(duì)其進(jìn)行操作的指定大小的數(shù)據(jù)塊。盡管“字節(jié)”在一些示例中可以是指8個(gè)數(shù)據(jù)比特,但是要指出的是,在其它示例中,字節(jié)可以是指更大或更小數(shù)量的比特。
圖1A是根據(jù)一些實(shí)現(xiàn)的示例電子設(shè)備100的框圖。電子設(shè)備100包括處理器102和非易失性主存儲(chǔ)器104。處理器可以包括微處理器、微控制器、處理器模塊或子系統(tǒng)、可編程集成電路、可編程門陣列、或者另一個(gè)控制或計(jì)算設(shè)備。
可以用于實(shí)現(xiàn)非易失性主存儲(chǔ)器104的存儲(chǔ)器設(shè)備的示例可以包括以下中的任何一個(gè)或某種組合:電阻式隨機(jī)存取存儲(chǔ)器(RRAM)、憶阻器存儲(chǔ)器、相變隨機(jī)存取存儲(chǔ)器(PCRAM)、磁阻式隨機(jī)存取存儲(chǔ)器(MRAM)、自旋轉(zhuǎn)移矩隨機(jī)存取存儲(chǔ)器(STT-RAM)、或者電池支持的動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(例如,NV-DIMM)、或者非易失性、處理器直接可訪問(wèn)并且可以被用作主存儲(chǔ)器的任何其它技術(shù)的存儲(chǔ)器,。
非易失性主存儲(chǔ)器104通過(guò)存儲(chǔ)器總線106可訪問(wèn),存儲(chǔ)器總線106包括控制信號(hào)線路和數(shù)據(jù)信號(hào)線路。控制信號(hào)線路用于將控制信號(hào)運(yùn)載到非易失性主存儲(chǔ)器104以用于執(zhí)行非易失性主存儲(chǔ)器104的訪問(wèn)(讀取和/或?qū)懭耄?。存?chǔ)器總線106的數(shù)據(jù)信號(hào)線路用于運(yùn)載數(shù)據(jù)(讀取數(shù)據(jù)和/或?qū)懭霐?shù)據(jù))。
存儲(chǔ)器控制器108控制非易失性主存儲(chǔ)器104的訪問(wèn)。響應(yīng)于來(lái)自處理器102的請(qǐng)求,存儲(chǔ)器控制器108可以通過(guò)存儲(chǔ)器總線106提交對(duì)應(yīng)控制信號(hào)以執(zhí)行非易失性主存儲(chǔ)器104的所請(qǐng)求的訪問(wèn),其中請(qǐng)求可以為讀取請(qǐng)求、寫入請(qǐng)求、加載請(qǐng)求、存儲(chǔ)請(qǐng)求、或者涉及非易失性主存儲(chǔ)器104的訪問(wèn)的其它請(qǐng)求。
電子設(shè)備100還包括I/O控制器110,其連接在處理器102和I/O總線112之間。一個(gè)或多個(gè)I/O設(shè)備114連接到I/O總線112。此外,如果輔存儲(chǔ)裝置116(基于盤的存儲(chǔ)裝置,諸如硬盤驅(qū)動(dòng)或光學(xué)盤驅(qū)動(dòng),或者固態(tài)存儲(chǔ)裝置,諸如閃速存儲(chǔ)器)存在于電子設(shè)備100中,則輔存儲(chǔ)裝置116可以連接到I/O總線112。在其它示例中,輔存儲(chǔ)裝置116可以從電子設(shè)備100省略,使得電子設(shè)備100沒(méi)有任何輔存儲(chǔ)裝置。
處理器102執(zhí)行通過(guò)I/O控制器110連接到I/O總線112的設(shè)備的訪問(wèn)。作為示例,如果輔存儲(chǔ)裝置116存在于電子設(shè)備100中,則輔存儲(chǔ)裝置116的訪問(wèn)通過(guò)I/O控制器110并且在I/O總線112之上發(fā)生。盡管I/O控制器110被示出為與存儲(chǔ)器控制器108分離,但是要指出的是,在可替換實(shí)現(xiàn)中,存儲(chǔ)器控制器108可以是I/O控制器110的部分。作為再進(jìn)一步的示例,存儲(chǔ)器控制器108和/或I/O控制器110可以是處理器102的部分。
盡管在圖1A中僅僅描繪了一個(gè)處理器102,但是要指出的是,在其它示例中,電子設(shè)備100可以包括多個(gè)處理器。
處理器102還可以包括易失性存儲(chǔ)器118,其可以包括以下中的任何一個(gè)或某種組合:高速緩沖存儲(chǔ)器(或多個(gè)高速緩沖存儲(chǔ)器)、寄存器等。
依照一些實(shí)現(xiàn),非易失性主存儲(chǔ)器104可以存儲(chǔ)狀態(tài)信息120和元數(shù)據(jù)122。非易失性主存儲(chǔ)器104還可以存儲(chǔ)一個(gè)或多個(gè)程序124的機(jī)器可讀指令,諸如操作系統(tǒng)、應(yīng)用程序、固件模塊等。作為進(jìn)一步的示例,程序124可以是管理程序,其是指可以創(chuàng)建和運(yùn)行虛擬機(jī)的機(jī)器可讀指令。虛擬機(jī)仿效物理機(jī)器。虛擬機(jī)可以包括操作系統(tǒng)和應(yīng)用。管理程序虛擬化物理機(jī)器的硬件組件以用于由虛擬機(jī)使用。
狀態(tài)信息120包括與電子設(shè)備100中的程序的當(dāng)前狀態(tài)相關(guān)聯(lián)的信息。狀態(tài)信息120可以至少包括處理器102的易失性存儲(chǔ)器118的部分、由程序使用的數(shù)據(jù)等。存儲(chǔ)在非易失性主存儲(chǔ)器104中的狀態(tài)信息120可以被視為程序的狀態(tài)在特定時(shí)間點(diǎn)處的快照。在一些示例中,可以在多個(gè)時(shí)間點(diǎn)處獲取程序的狀態(tài)的多個(gè)快照;在這樣的示例中,從低電力模式向之前狀態(tài)的恢復(fù)可以是基于快照中的所選一個(gè)快照中的狀態(tài)信息。
在電子設(shè)備100從其中從電子設(shè)備100的組件(包括非易失性主存儲(chǔ)器104)移除電力的低電力模式重啟期間,狀態(tài)信息120可以由處理器102使用以使電子設(shè)備100恢復(fù)到從電子設(shè)備100的組件移除電力之前所存在的之前狀態(tài)。
元數(shù)據(jù)122可以存儲(chǔ)系統(tǒng)是要從之前狀態(tài)恢復(fù)(使用狀態(tài)信息120)還是要在電子設(shè)備100的下一次開(kāi)啟時(shí)引導(dǎo)的指示。如果元數(shù)據(jù)122指示電子設(shè)備100要在下一次開(kāi)啟時(shí)恢復(fù)到之前狀態(tài),則處理器102將使用狀態(tài)信息120以使電子設(shè)備100恢復(fù)到之前狀態(tài)。另一方面,如果元數(shù)據(jù)122指示電子設(shè)備100要在下一次開(kāi)啟時(shí)引導(dǎo),則狀態(tài)信息120可以被丟棄或忽略,并且處理器102可以使電子設(shè)備100引導(dǎo)到初始狀態(tài)。
在一些示例中,除非易失性主存儲(chǔ)器104之外,電子設(shè)備100還可以包括易失性主存儲(chǔ)器126。易失性主存儲(chǔ)器126響應(yīng)于電力從易失性主存儲(chǔ)器126的移除而丟失其內(nèi)容。在其中易失性主存儲(chǔ)器126存在于電子設(shè)備100中的示例中,易失性主存儲(chǔ)器126的所選內(nèi)容可以作為狀態(tài)信息120的部分而復(fù)制到非易失性主存儲(chǔ)器104。
圖1B是根據(jù)另外的實(shí)現(xiàn)的電子設(shè)備100-1的框圖。電子設(shè)備100-1包括存在于圖1A的電子設(shè)備100中的若干組件,但沒(méi)有圖1A的電子設(shè)備100中的其它組件。例如,電子設(shè)備100-1包括處理器102和非易失性主存儲(chǔ)器104,非易失性主存儲(chǔ)器104存儲(chǔ)狀態(tài)信息120、元數(shù)據(jù)122和至少一個(gè)程序124。
圖2是根據(jù)一些實(shí)現(xiàn)的過(guò)程的流程圖。圖2的過(guò)程可以通過(guò)在處理器102上執(zhí)行的機(jī)器可讀指令來(lái)執(zhí)行。在電子設(shè)備(例如,100或100-1)中的至少一個(gè)程序(例如,程序124)的執(zhí)行期間,處理器102可以向非易失性主存儲(chǔ)器104中存儲(chǔ)(在202處)與至少一個(gè)程序相關(guān)聯(lián)的狀態(tài)信息的快照。這種所存儲(chǔ)的狀態(tài)信息被表示為圖1A或1B中的狀態(tài)信息120。
而且,元數(shù)據(jù)122可以存儲(chǔ)(在204處)到非易失性主存儲(chǔ)器104中,其中元數(shù)據(jù)122可以指示電子設(shè)備是要從之前狀態(tài)恢復(fù)還是在下一次開(kāi)啟時(shí)引導(dǎo)。
假設(shè)電子設(shè)備已經(jīng)置于其中從電子設(shè)備的組件移除電力的低電力模式中,則基于所存儲(chǔ)的元數(shù)據(jù)122,電子設(shè)備可以使用若干技術(shù)中的一種而從低電力模式重啟(在206處)。如果元數(shù)據(jù)122指示電子設(shè)備要從之前狀態(tài)恢復(fù),則處理器102使用存儲(chǔ)在非易失性主存儲(chǔ)器104中的狀態(tài)信息120的快照來(lái)恢復(fù)電子設(shè)備。另一方面,如果元數(shù)據(jù)122指示要引導(dǎo)電子設(shè)備,則處理器102引導(dǎo)電子設(shè)備。
圖3是根據(jù)進(jìn)一步的示例的非易失性主存儲(chǔ)器104內(nèi)的各種區(qū)的示意圖。非易失性主存儲(chǔ)器104可以包括用于存儲(chǔ)狀態(tài)信息120的狀態(tài)信息區(qū)302。非易失性主存儲(chǔ)器104還可以包括用于存儲(chǔ)元數(shù)據(jù)122的元數(shù)據(jù)區(qū)304。附加地,非易失性主存儲(chǔ)器104可以包括用于存儲(chǔ)至少一個(gè)程序124的程序區(qū)306。要指出的是,多個(gè)程序區(qū)306可以被提供用于相應(yīng)的不同程序,諸如應(yīng)用程序、操作系統(tǒng)、管理程序等。
在一些示例中,非易失性主存儲(chǔ)器104還可以包括只讀存儲(chǔ)器(ROM)區(qū)308。ROM區(qū)308可以用于存儲(chǔ)傳統(tǒng)上由電子設(shè)備中的ROM存儲(chǔ)的信息。傳統(tǒng)上,ROM可以使用可擦除且可編程的只讀存儲(chǔ)器(EPROM)、電氣可擦除且可編程的只讀存儲(chǔ)器(EEPROM)、閃速存儲(chǔ)器等來(lái)實(shí)現(xiàn)。ROM可以存儲(chǔ)用于引導(dǎo)或恢復(fù)電子設(shè)備的信息,包括數(shù)據(jù)和指令。在一些示例中,假設(shè)圖1A或1B的電子設(shè)備100或100-1沒(méi)有ROM。在這樣的示例中,ROM區(qū)308可以被提供在非易失性主存儲(chǔ)器104中。在可替換示例中,電子設(shè)備100或100-1可以包括ROM,在該情況下,ROM區(qū)308可以從非易失性主存儲(chǔ)器104省略。
在圖3中,ROM區(qū)308包括引導(dǎo)加載程序310,其包括用于加載其它代碼的機(jī)器可讀指令,諸如另外的引導(dǎo)代碼(例如,圖3中所示的311)或操作系統(tǒng)或管理程序。引導(dǎo)加載程序310可以是在電子設(shè)備引導(dǎo)或恢復(fù)時(shí)由處理器102執(zhí)行的最初機(jī)器可讀指令中的一個(gè)。
在其中電子設(shè)備100或100-1沒(méi)有易失性主存儲(chǔ)器(例如,沒(méi)有圖1A的易失性主存儲(chǔ)器126)的示例中,程序124和引導(dǎo)加載程序310可以原位執(zhí)行。在給定存儲(chǔ)器中原位執(zhí)行機(jī)器可讀指令可以是指執(zhí)行存儲(chǔ)在給定存儲(chǔ)器中的機(jī)器可讀指令而沒(méi)有首先將機(jī)器可讀指令復(fù)制到另一個(gè)存儲(chǔ)器。
在可替換示例中,電子設(shè)備100可以提供有易失性主存儲(chǔ)器,諸如在圖1A中描繪的易失性主存儲(chǔ)器126。在這樣的可替換示例中,在執(zhí)行程序124和/或引導(dǎo)加載程序310之前,程序124和/或引導(dǎo)加載程序310可以首先被加載到易失性主存儲(chǔ)器126中。
圖4是獲取執(zhí)行程序(或多個(gè)程序)的狀態(tài)信息的快照的快照過(guò)程400的流程圖??煺者^(guò)程400可以由操作系統(tǒng)、管理程序、或者在處理器102上可執(zhí)行的其它機(jī)器可讀指令來(lái)執(zhí)行。當(dāng)發(fā)生指示要獲取狀態(tài)信息的快照的事件時(shí),快照過(guò)程暫停(在402處)(多個(gè))執(zhí)行程序。暫停程序是指臨時(shí)中止程序的執(zhí)行。
在暫停(多個(gè))程序之后,快照過(guò)程400可以將數(shù)據(jù)沖刷入(在404處)一個(gè)或多個(gè)易失性高速緩沖存儲(chǔ)器中。從易失性高速緩沖存儲(chǔ)器沖刷數(shù)據(jù)可以是指將已經(jīng)從高速緩沖存儲(chǔ)器修改的數(shù)據(jù)寫入到非易失性主存儲(chǔ)器104,以使高速緩沖存儲(chǔ)器中的數(shù)據(jù)與非易失性主存儲(chǔ)器104中的數(shù)據(jù)同步。要指出的是,一個(gè)或多個(gè)高速緩沖存儲(chǔ)器可以是圖1A中示出的處理器102中的易失性存儲(chǔ)器118的部分。
此外,快照過(guò)程400可以將處理器102的易失性存儲(chǔ)器118中的其它易失性數(shù)據(jù)存儲(chǔ)(在406處)到非易失性主存儲(chǔ)器104中。如果存在多個(gè)處理器,則這樣的多個(gè)處理器的易失性數(shù)據(jù)被存儲(chǔ)到非易失性主存儲(chǔ)器104中。
可以響應(yīng)于各種事件而調(diào)用快照過(guò)程400。例如,快照過(guò)程400可以在電子設(shè)備100的成功引導(dǎo)之后執(zhí)行??商鎿Q地,快照過(guò)程400可以以特定時(shí)間間隔執(zhí)行,諸如周期性地或者間隔地。而且,快照過(guò)程400可以響應(yīng)于將電子設(shè)備100置于低電力模式中的請(qǐng)求而執(zhí)行。
圖5是在電子設(shè)備中執(zhí)行的重啟過(guò)程500的流程圖,該電子設(shè)備包括非易失性主存儲(chǔ)器104,但是不包括易失性主存儲(chǔ)器126。當(dāng)電子設(shè)備(100或100-1)從其中電力已經(jīng)從電子設(shè)備100的組件移除的低電力模式重啟時(shí),執(zhí)行重啟過(guò)程500。為了執(zhí)行重啟,處理器102從非易失性主存儲(chǔ)器104的ROM區(qū)308(圖3)調(diào)用(在502處)引導(dǎo)加載程序310。在其中電子設(shè)備包括ROM的示例中,引導(dǎo)加載程序310可以可替換地從ROM調(diào)用。
一旦調(diào)用,引導(dǎo)加載程序310就讀?。ㄔ?04處)存儲(chǔ)在非易失性主存儲(chǔ)器104的元數(shù)據(jù)區(qū)304中的元數(shù)據(jù)122。引導(dǎo)加載程序310讀取元數(shù)據(jù)122以確定電子設(shè)備是否要恢復(fù)到之前狀態(tài),或者電子設(shè)備是否要引導(dǎo)。盡管對(duì)讀取元數(shù)據(jù)122的引導(dǎo)加載程序310進(jìn)行引用,但是要指出的是,在其它示例中,引導(dǎo)加載程序310可以調(diào)用另一個(gè)程序以讀取元數(shù)據(jù)122。
基于元數(shù)據(jù)122,引導(dǎo)加載程序310決定(在506處)是恢復(fù)還是引導(dǎo)電子設(shè)備。如果決定引導(dǎo),則執(zhí)行引導(dǎo)過(guò)程(在508處)。然而,如果決定恢復(fù)電子設(shè)備,則執(zhí)行恢復(fù)過(guò)程(在510處),如下文所討論的?;謴?fù)過(guò)程可以通過(guò)引導(dǎo)加載程序310所調(diào)用的代碼(例如,引導(dǎo)代碼311或其它代碼)來(lái)執(zhí)行。在恢復(fù)過(guò)程中,初始化電子設(shè)備100中的各種組件(在512處)。初始化組件可以是指將組件設(shè)定成初始狀態(tài)。
此外,易失性數(shù)據(jù)可以復(fù)原(在514處)到處理器102的易失性存儲(chǔ)器118。易失性數(shù)據(jù)可以是例如非易失性主存儲(chǔ)器104中的狀態(tài)信息120的部分。
向操作系統(tǒng)或管理程序通知(在516處)操作系統(tǒng)或管理程序已經(jīng)恢復(fù)到之前狀態(tài)。通知可以通過(guò)將指示器設(shè)定成指定值而執(zhí)行。還可以向操作系統(tǒng)或管理程序通知電子設(shè)備的哪些組件已經(jīng)被初始化。
接下來(lái),基于存儲(chǔ)在非易失性主存儲(chǔ)器510中的狀態(tài)信息120,操作系統(tǒng)使執(zhí)行恢復(fù)(在518處)到之前狀態(tài)。
在其中電子設(shè)備(100或100-1)包括易失性主存儲(chǔ)器(例如,圖1A中的126)的可替換實(shí)現(xiàn)中,可以執(zhí)行除以上討論的那些之外的另外任務(wù)。例如,圖4的快照過(guò)程400可以修改成進(jìn)一步包括將易失性主存儲(chǔ)器126的所選數(shù)據(jù)存儲(chǔ)到非易失性主存儲(chǔ)器104中。可以獲取易失性主存儲(chǔ)器126的內(nèi)容的完整快照或部分快照。完整快照涉及將易失性主存儲(chǔ)器126的整個(gè)內(nèi)容復(fù)制到非易失性主存儲(chǔ)器104。部分快照涉及將易失性主存儲(chǔ)器126的內(nèi)容的部分(少于整個(gè)內(nèi)容)復(fù)制到非易失性主存儲(chǔ)器104。
附加地,重啟過(guò)程500可以修改成包括涉及以下操作的附加任務(wù):將來(lái)自非易失性主存儲(chǔ)器104的部分或完整快照復(fù)原到易失性主存儲(chǔ)器126。
易失性主存儲(chǔ)器126的內(nèi)容的部分快照可以包括易失性主存儲(chǔ)器126中的某些所選內(nèi)容,諸如涉及操作系統(tǒng)的內(nèi)核的內(nèi)容以及涉及所選的一個(gè)或多個(gè)應(yīng)用程序的內(nèi)容。執(zhí)行部分快照可以允許更快的恢復(fù),因?yàn)樽鳛橹貑⑦^(guò)程的部分而必須從非易失性主存儲(chǔ)器104復(fù)原到易失性主存儲(chǔ)器126的數(shù)據(jù)量可以減少。
以上討論的各種機(jī)器可讀指令可以存儲(chǔ)在非暫時(shí)性機(jī)器可讀或計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)(或多個(gè)存儲(chǔ)介質(zhì))中,諸如非易失性主存儲(chǔ)器104、易失性主存儲(chǔ)器126和輔存儲(chǔ)裝置116中。
這樣的一個(gè)或多個(gè)機(jī)器可讀或計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)被視為物品(或制品)的部分。物品或制品可以是指任何所制造的單個(gè)組件或多個(gè)組件。一個(gè)或多個(gè)存儲(chǔ)介質(zhì)可以位于運(yùn)行機(jī)器可讀指令的機(jī)器中,或者位于可以通過(guò)網(wǎng)絡(luò)從其下載機(jī)器可讀指令以用于執(zhí)行的遠(yuǎn)程場(chǎng)所處。
在前面的描述中,闡述了眾多細(xì)節(jié)以提供對(duì)本文公開(kāi)的主題的理解。然而,實(shí)現(xiàn)可以在沒(méi)有這些細(xì)節(jié)中的一些的情況下實(shí)踐。其它實(shí)現(xiàn)可以包括從以上討論的細(xì)節(jié)的修改和變型。意圖由隨附權(quán)利要求涵蓋這樣的修改和變型。