TWI546661B - 使用狀態資訊回復系統之技術 - Google Patents

使用狀態資訊回復系統之技術 Download PDF

Info

Publication number
TWI546661B
TWI546661B TW104113550A TW104113550A TWI546661B TW I546661 B TWI546661 B TW I546661B TW 104113550 A TW104113550 A TW 104113550A TW 104113550 A TW104113550 A TW 104113550A TW I546661 B TWI546661 B TW I546661B
Authority
TW
Taiwan
Prior art keywords
main memory
memory
electrical
electrical main
metadata
Prior art date
Application number
TW104113550A
Other languages
English (en)
Other versions
TW201546612A (zh
Inventor
塔西安諾D 沛義茲
卡羅斯H 寇斯塔
喬阿沃C 安伯西
迪亞哥 拉梅達利亞
毛瑞西歐N 波多
羅伯瑞托 班德
Original Assignee
惠普發展公司有限責任合夥企業
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 惠普發展公司有限責任合夥企業 filed Critical 惠普發展公司有限責任合夥企業
Publication of TW201546612A publication Critical patent/TW201546612A/zh
Application granted granted Critical
Publication of TWI546661B publication Critical patent/TWI546661B/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0638Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2206/00Indexing scheme related to dedicated interfaces for computers
    • G06F2206/10Indexing scheme related to storage interfaces for computers, indexing schema related to group G06F3/06
    • G06F2206/1014One time programmable [OTP] memory, e.g. PROM, WORM
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7207Details relating to flash memory management management of metadata or control data

Description

使用狀態資訊回復系統之技術 發明領域
本發明係有關於使用狀態資訊回復系統之技術。
背景
一電子裝置可包含一主記憶體以及一輔助儲存器。一電子裝置之主記憶體可以一或多數個依電性記憶裝置加以實施。假設電源係自一依電性記憶裝置移除,該依電性記憶裝置會失去其資料。輔助儲存器可利用一或多數個非依電性(或永久)儲存裝置加以實施。即使電源係自一非依電性儲存裝置移除,該非依電性儲存裝置仍保留其內容。
發明概要
依據本發明之實施例,係特別提出一種系統包含:一非依電性主記憶體用以儲存該系統中執行之至少一程式之狀態資訊,以及指示是否該系統在一次一啟動時將被回復至一先前狀態或將被重新開機之元資料;以及至少一處理器,用以:作為將該系統由電源自該系統被移除之一模式中再啟動之一部分,回應於指示該系統將回復至該 先前狀態之該元資料,利用該非依電性主記憶體中所儲存之該狀態資訊將該系統回復至該先前狀態。
100‧‧‧電子裝置
100-1‧‧‧電子裝置
102‧‧‧處理器
104‧‧‧非依電性主記憶體
106‧‧‧記憶體匯流排
108‧‧‧記憶體控制器
110‧‧‧I/O控制器
112‧‧‧I/O匯流排
114‧‧‧I/O裝置
116‧‧‧輔助儲存器
118‧‧‧依電性記憶體
120‧‧‧狀態資訊
122‧‧‧元資料
124‧‧‧程式
126‧‧‧依電性主記憶體
202--206‧‧‧步驟
302‧‧‧狀態資訊區域
304‧‧‧元資料區域
306‧‧‧程式區域
308‧‧‧ROM區域
310‧‧‧開機啟動載入器
311‧‧‧開機啟動碼
400‧‧‧快照程序
402--406、502--518‧‧‧步驟
某些建置係相關於下列圖式加以說明。
圖1A與1B係依據各種建置之例示性電子裝置之方塊圖。
圖2係依據某些建置之一例示性程序之一流程圖。
圖3係依據某些建置之一非依電性主記憶體之一例示性內容之一示意圖。
圖4係依據進一步建置之一例示性快照程序之一流程圖。
圖5係依據進一步建置之一例示性再啟動程序之一流程圖。
詳細說明
在包含一依電性主記憶體及一非依電性輔助儲存器之一電子裝置中,橫越該電子裝置之一電源週期而將予以保存之資料係電源自該電子裝置移除之前先儲存至非依電性輔助儲存器內者。電子裝置之一電源週期可指一序列而該序列包含自電子裝置(內之至少某些組件)移除電源,接著重新施加電源至該電子裝置。當電源自電子裝置之組件移除時,依電性主記憶體將不會保存其資料;然而,儲存在非依電性輔助儲存器中之資料則會予以保存。
電子裝置之實例可包含下列之任何或某些組合:桌上型電腦、筆記型電腦、平板電腦、伺服器電腦、智慧型手機、個人數位助理器、行動電話、通訊裝置、儲存伺服器、遊戲裝置、以及等等。更一般性地,一電子裝置可指一”系統”。一系統亦可指多數個電子裝置之一配置。
一電子裝置可具有一"瞬間開啟"特性,其中電子裝置係回復至該電子裝置被置入一低電源模式前所存在之該電子裝置之一狀態,而該低電源模式中電源係自該電子裝置中之某些或全部組件移除。一低電源模式可包含該電子裝置之一關閉模式(其中完全沒有任何電源施加至該電子裝置),或另一模式其中電源係自該電子裝置之某些組件移除。為促成電子裝置回復先前狀態,狀態資訊可儲存至該電子裝置之非依電性輔助儲存器內。電子裝置之先前狀態可指一或多數程式正在執行時之一狀態。回復電子裝置至先前狀態可指回復該電子裝置由該先前狀態開始執行。
利用儲存至非依電性輔助儲存器中之狀態資訊回復一先前狀態可較使該電子裝置重新開機(使該電子裝置重新開機會導致該電子裝置置入一初始狀態)更為快速。然而,輔助儲存器可利用較用以實施主記憶體之一記憶裝置為慢之存取速度之一儲存裝置來加以實施。因此,利用輔助儲存器中所儲存之狀態資訊回復先前狀態可能仍為一相對緩慢之程序。
依據某些建置,一電子裝置可利用儲存在電子裝置中之一非依電性主記憶體內之狀態資訊回復至一先前狀 態。一非依電性主記憶體係一主記憶體(其可以一或多數個記憶裝置加以實施)其中儲存在非依電性主記憶體中之資料即使電源自電子裝置中之組件(包含該非依電性主記憶體)移除仍可予以保存。當電子裝置置於一低電源模式時,諸如一關閉模式、一冬眠模式、一睡眠模式、以及等等,電源可自電子裝置中之組件移除。
儲存在非依電性主記憶體中之狀態資訊即使電源在電子裝置之低電源模式中自非依電性主記憶體移除仍可予以保存。狀態資訊可包含有關一作業系統之一現行狀態、特定應用程式之一現行狀態、特定硬體裝置之一現行狀態、以及等等之資訊。狀態資訊亦可包含作業系統所使用之資料、應用程式、硬體裝置、以及等等。
舉一實例,電子裝置轉換至一低電源模式之前,一應用程式正在處理之一文件可能係開啟者。應用程式之狀態資訊可指示該開啟文件以及該文件之現行內容,因此當電子裝置由低電源模式(藉著利用該狀態資訊)回復至一先前狀態時,該文件保持開啟而內容為該電子裝置被置入低電源模式時所存在之內容。
因為非依電性主記憶體可利用具有較一非依電性輔助儲存器之存取速度為快之一存取速度之一或多數個記憶裝置加以實施,所以電子裝置利用儲存在非依電性主記憶體中之狀態資訊回復至一先前狀態相較於利用儲存在一非依電性輔助儲存器中之狀態資訊之一回復而言可更為快速地加以執行。此外,因為資料在電源移除之前無需由 非依電性主記憶體複製至非依電性輔助儲存器,所以回復可較為快速,此因在電源回復之後相同資料無需由非依電性輔助儲存器複製至非依電性主記憶體之故。
一主記憶體可指一記憶體而該記憶體可經由一記憶體匯流排藉著電子裝置中之一處理器存取。換言之,主記憶體並非經由電子裝置之一輸入/輸出(I/O)匯流排加以存取,而該輸入/輸出(I/O)匯流排可能係一具有較記憶體匯流排之通訊速度為低之一通訊速度之匯流排。假設輔助儲存器存在於電子裝置中,則輔助儲存器係連接至該電子裝置之I/O匯流排,因此輔助儲存器中之資料之存取將需經由I/O匯流排而非記憶體匯流排而發生。
依據某些建置之一主記憶體之一進一步特性係該主記憶體中之資料之個別位元組可藉著處理器直接加以定址、供該處理器讀取或寫入,而無論該處理器所使用之一字之大小為何。一”字”可指藉著處理器上執行之指令而操作之一特定大小之一資料區塊。雖然在某些實例中一”位元組”可指資料之8個位元,然而注意在其他實例中,一位元組可指一較大或較小數量之位元。
圖1A係依據某些建置之一例示性電子裝置100之一方塊圖。電子裝置100包含一處理器102及一非依電性主記憶體104。一處理器可包含一微處理器、微控制器、處理器模組或子系統、可程式積體電路、可程式閘陣列、或另一控制或計算裝置。
可用以實施非依電性主記憶體104之記憶裝置之 實例包含下列之任何或某些組合:一電阻性隨機存取記憶體(RRAM)、一憶阻器記憶體、一相變隨機存取記憶體(PCRAM)、一磁阻性隨機存取記憶體(MRAM)、一自旋-轉移力矩隨機存取記憶體(STT-RAM)、或一電池-支援式動態隨機存取記憶體(例如,NV-DIMM)、或非依電性、藉著處理器直接加以定址、以及可作為主記憶體用之任何其他技術之一記憶體。
非依電性主記憶體104可經由一記憶體匯流排106加以存取,該記憶體匯流排包含控制信號線及資料信號線。控制信號線係用以攜帶控制信號至非依電性主記憶體104俾執行非依電性主記憶體104之存取(讀取及/或寫入)。記憶體匯流排106之資料信號線係用以攜帶資料(讀取資料及/或寫入資料)。
一記憶體控制器108控制非依電性主記憶體104之存取。回應來自處理器102之一請求,其中該請求可能為一讀取請求、寫入請求、載入請求、儲存請求、或包含非依電性主記憶體104之一存取之其他請求,記憶體控制器108可經由記憶體匯流排106提交對應控制信號以執行所請求之非依電性主記憶體104之存取。
電子裝置100亦包含一I/O控制器110,該控制器係連接於處理器102與一I/O匯流排112之間。一或多數個I/O裝置114係連接至I/O匯流排112。此外,假設一輔助儲存器116(碟片型儲存器諸如一硬碟驅動器或一光碟驅動器、或一固態儲存器諸如快閃記憶體)係存在於電子裝置100中, 則輔助儲存器116可連接至I/O匯流排112。在其他實例中,輔助儲存器116可自電子裝置100中省略,因此電子裝置100沒有任何輔助儲存器。
處理器102經由I/O控制器110執行連接至I/O匯流排112之裝置之一存取。舉一實例,假設輔助儲存器116存在於電子裝置100中,則輔助儲存器116之一存取係經由I/O控制器110及經由I/O匯流排112而發生。雖然I/O控制器110係顯示與記憶體控制器108分離,然而注意在替代性建置中,記憶體控制器108可為I/O控制器110之部分。舉進一步之實例,記憶體控制器108及/或I/O控制器110可為處理器102之部分。
雖然僅有一處理器102於圖1A中加以描述,然而注意在其他實例中,電子裝置100可包含多數個處理器。
處理器102亦可包含依電性記憶體118,該依電性記憶體可包含下列之任何或某些組合:一快取記憶體(或多數個快取記憶體)、暫存器、以及等等。
依據某些建置,非依電性主記憶體104可儲存狀態資訊120及元資料122。非依電性主記憶體104亦可儲存一或多數程式124之機器可讀指令,諸如一作業系統、一應用程式、一韌體模組、以及等等。舉一進一步實例,程式124可為一超管理器,該超管理器係指可產生及執行虛擬機器之機器可讀指令。一虛擬機器模仿一實體機器。一虛擬機器可包含一作業系統及一應用程式。超管理器虛擬化一實體機器之硬體組件俾供虛擬機器使用。
狀態資訊120包含關聯於電子裝置100中之程式之一現行狀態。狀態資訊120可包含處理器102之至少一部分依電性記憶體118、程式所使用之資料、以及等等。儲存於非依電性主記憶體104中之狀態資訊120可視為在一特定時點處之程式之一狀態之一快照。在某些實例中,多數快照可自多數時點處之程式之狀態拍攝而得;在此類實例中,由一低電源模式回復至一先前狀態可以快照中之一選定快照中之狀態資訊為依據。
電子裝置100由電源自電子裝置100之組件(包含非依電性主記憶體104)移除之一低電源模式中之一再啟動期間,狀態資訊120可供處理器102使用以將電子裝置100回復至電源自該電子裝置100之組件移除前所存在之一先前狀態。
元資料122可儲存是否在一電子裝置100之一次一啟動時系統將(利用狀態資訊120)自一先前狀態回復或將重新開機之一指示。假設元資料122指示電子裝置100在次一啟動時將回復至一先前狀態,則處理器102將利用狀態資訊120以將電子裝置100回復至該先前狀態。另一方面,假設元資料122指示電子裝置100將在次一啟動時重新開機,則狀態資訊120可予以廢除或忽略,以及處理器102可讓電子裝置100重新開機至一初始狀態。
在某些實例中,電子裝置100,除了非依電性主記憶體104以外,亦可包含一依電性主記憶體126。依電性主記憶體126回應電源自該依電性主記憶體126移除而失去 其內容。依電性主記憶體126存在於電子裝置100內之實例中,依電性主記憶體126之選定內容可複製至非依電性主記憶體104以作為狀態資訊120之部分。
圖1B係依據進一步建置之一電子裝置100-1之一方塊圖。電子裝置100-1包含圖1A之電子裝置100中所存在之若干組件,然而並無圖1A之電子裝置100中之其他組件。例如,電子裝置100-1包含處理器102及非依電性主記憶體104,該非依電性主記憶體104儲存狀態資訊120、元資料122、以及至少一程式124。
圖2係依據某些建置之一程序之一流程圖。圖2之程序可藉著處理器102上執行之機器可讀指令加以執行。電子裝置(例如,100或100-1)中之至少一程式(例如,程式124)之執行期間,處理器102可將關聯於該至少一程式之狀態資訊之一快照儲存至非依電性主記憶體104內(在步驟202處)。此儲存之狀態資訊係以圖1A或圖1B中之狀態資訊120代表。
此外,元資料122可儲存至非依電性主記憶體104內(在步驟204處),其中元資料122可指示是否電子裝置在一次一啟動時將自一先前狀態回復或重新開機。
假設電子裝置已被置入一低電源模式其中電源係自該電子裝置之組件移除,該電子裝置可依據所儲存之元資料122利用若干技術中之一種技術自該低電源模式再啟動(在步驟206處)。假設元資料122指示電子裝置將自一先前狀態回復,則處理器102利用非依電性主記憶體104中所 儲存之狀態資訊120之快照回復該電子裝置。另一方面,假設元資料122指示電子裝置將被重新開機,則處理器102讓該電子裝置重新開機。
圖3係依據進一步實例之非依電性主記憶體104內之各種區域之一示意圖。非依電性主記憶體104可包含一狀態資訊區域302以儲存狀態資訊120。非依電性主記憶體104亦可包含一元資料區域304以儲存元資料122。此外,非依電性主記憶體104可包含一程式區域306以儲存至少一程式124。注意多數個程式區域306可提供予個別不同之程式,諸如應用程式、一作業系統、一超管理器、以及等等。
在某些實例中,非依電性主記憶體104亦可包含一唯讀記憶體(ROM)區域308。ROM區域308可用以儲存傳統上由一電子裝置中之一ROM所儲存之資訊。傳統上,一ROM可利用一可抹除及可程式唯讀記憶體(EPROM)、一電子式可抹除及可程式唯讀記憶體(EEPROM)、一快閃記憶體、以及等等加以實施。ROM可儲存用以重新開機或回復一電子裝置之資訊,包含資料及指令。在某些實例中,係假設圖1A或1B之電子裝置100或100-1未具有一ROM。在此類實例中,ROM區域308可在非依電性主記憶體104內予以提供。在替代性實施例中,電子裝置100或100-1可包含一ROM,在此情況下該ROM區域308可自非依電性主記憶體104省略。
圖3中,ROM區域308包含一開機啟動載入器310,該開機啟動載入器包含用以載入其他碼,諸如進一步 之開機啟動碼(例如,圖3中所顯示之311)或一作業系統或超管理器,之機器可讀指令。當電子裝置重新開機或回復時,開機啟動載入器310可為處理器102所執行之第一機器可讀指令中之一機器可讀指令。
在電子裝100或100-1未具有一依電性主記憶體(例如,未具有圖1A之依電性主記憶體126)之實例中,程式124及開機啟動載入器310係在原地加以執行。在一既定記憶體中原地執行機器可讀指令可指並未先將機器可讀指令複製至另一記憶體即執行該既定記憶體中所儲存之機器可讀指令。
在替代性實例中,電子裝置100可具有一依電性主記憶體,諸如圖1A中所描述之依電性主記憶體126。在此類替代性實例中,程式124及/或開機啟動載入器310可在執行程式124及/或開機啟動載入器310之前先載入至依電性主記憶體126內。
圖4係拍攝一執行程式(或多數執行程式)之狀態資訊之一快照之一快照程序400之一流程圖。快照程序400可藉著一作業系統、一超管理器、或可在處理器102上執行之其他機器可讀指令加以執行。當一事件發生以指示狀態資訊之一快照將予以拍攝時,快照程序即暫停執行程式(在步驟402處)。暫停一程式係指暫時地停止該程式之執行。
暫停程式後,快照程序400可在一或多個依電性快取記憶體中清除資料(在步驟404處)。自一依電性快取記憶體清除資料可指將來自快取記憶體已被修正之資料寫入 至非依電性主記憶體104以同步化該快取記憶體中之資料與該非依電性主記憶體104中之資料。注意該一或多數個快取記憶體可為圖1A中所顯示之處理器102中之依電性記憶體118之部分。
此外,快照程序400可將處理器102之依電性記憶體118中之其他依電性資料儲存至非依電性主記憶體104內。假設有多數處理器時,則此類多數處理器之依電性資料係儲存至非依電性主記憶體104內。
快照程序400可回應各種事件而被引動。例如,快照程序400可在電子裝置100之一成功開機後加以執行。替代地,快照程序400可依特定時間間隔,諸如,週期性或間歇性,加以執行。此外,快照程序400可回應一請求而加以執行以將電子裝置100置入一低電源模式。
圖5係在包含非依電性主記憶體104,但未包含依電性主記憶體126之電子裝置中所執行之一再啟動程序500之一流程圖。再啟動程序500係在電子裝置(100或100-1)自一低電源模式(其中電源已自電子裝置100之組件移除)中再啟動時予以執行。為執行再啟動,處理器102引動來自非依電性主記憶體104之ROM區域308之開機啟動載入器310(圖3)(在步驟502處)。在電子裝置包含一ROM之實例中,開機啟動載入器310可替代地由ROM加以引動。
一旦被引動,開機啟動載入器310讀取非依電性主記憶體104之元資料區域304中所儲存之元資料122(在步驟504處)。開機啟動載入器310讀取元資料122以決定是否 電子裝置將回復至一先前狀態,或是否電子裝置將予以重新開機。雖然係提及開機啟動載入器310讀取元資料122,然而注意在其他實例中,開機啟動載入器310可引動另一程式以讀取元資料122。
依據元資料122,開機啟動載入器310決定是否回復或使電子裝置重新開機(在步驟506處)。假設決定是重新開機,則一開機啟動程序係予以執行(在步驟508處)。然而,假設決定是回復電子裝置,則一回復程序係予以執行(在步驟510處),如下文所討論者。回復程序可藉著開機啟動載入器310所引動之碼(例如,開機啟動碼311或其他碼)加以執行。在回復程序中,電子裝置100中之各種組件係予以初始化(在步驟512處)。初始化組件可指將該等組件設定為一初始狀態。
此外,依電性資料可復原至處理器102之依電性記憶體118。例如,依電性資料可為非依電性主記憶體104中之狀態資訊120之部分。
作業系統、或超管理器係被通知該作業系統、或超管理器已回復至一先前狀態。該通知可藉著將一指示器設定為一特定值而加以執行。作業系統、或超管理器亦可被通知電子裝置之組件已被初始化。
其次,作業系統依據非依電性主記憶體510中所儲存之狀態資訊120回復執行先前狀態(在步驟518處)。
在電子裝置(100或100-1)包含一依電性主記憶體(例如,圖1A中之126)之替代性建置中,除上文所討論者以 外可執行進一步之工作。例如,圖4之快照程序400可加以修改以進一步包含將依電性主記憶體126之選定資料儲存至非依電性主記憶體104內。可拍攝依電性主記憶體126之內容之一完整快照或一部分快照。一完整快照包含將依電性主記憶體126之整體內容複製至非依電性主記憶體104內。一部分快照包含將依電性主記憶體126之內容之一部分(較整體為少)複製至非依電主記憶體104內。
此外,再啟動程序500可加以修改以包含有關將部分或全部快照由非依電性主記憶體104復原至依電性主記憶體126之一額外工作。
依電性主記憶體126之內容之一部分快照可包含依電性主記憶體126中之特定選定內容,諸如有關作業系統之核心之內容以及有關選定之一或多數個應用程式之內容。執行一部分快照可容許快速回復,此因作為一再啟動程序之部份之必需由非依電性主記憶體104復原至依電性主記憶體126之資料量可減少之故。
上文所討論之各種機器可讀指令可儲存至一非暫時性機器可讀或電腦可讀儲存媒介(或多數儲存媒介)中,諸如非依電性主記憶體104、依電性主記憶體126、以及輔助儲存器116。
此種機器可讀或電腦可讀儲存媒介或多數媒介係視為一物品(或產品)之部分。一物品或產品可指任何製成之單一組件或多數組件。儲存媒介或多數媒介可設置於執行機器可讀指令之機器中,或設置在一遠端地點處而機器 可讀指令可經由一網路自該遠端地點下載以供執行之用。
在前述說明中,許多細節均予以說明以提供此處所揭示之主題之一理解。然而,建置可不具此類細節中之某些細節即可加以實施。其他建置可包含來自上文所討論細節之修改及變動。意圖隨附請求項涵蓋此類修改及變動。
202‧‧‧步驟
204‧‧‧步驟
206‧‧‧步驟

Claims (15)

  1. 一種系統,其包含:一非依電性主記憶體,用以儲存該系統中執行之至少一程式之狀態資訊、以及指示是否該系統在下一次啟動時將被回復至一先前狀態或將被重新開機之元資料;以及至少一處理器,用以:作為將該系統由電源自該系統被移除之一模式中再啟動之一部分,回應於該元資料指出該系統將回復至該先前狀態,利用該非依電性主記憶體中所儲存之該狀態資訊將該系統回復至該先前狀態。
  2. 如請求項1之系統,其中該至少一處理器係回應於包含一第一指示之該元資料而回復該系統,以作為該系統之該再啟動之一部分。
  3. 如請求項2之系統,其中該至少一處理器係回應於包含一第二指示之該元資料而使該系統重新開機,以作為該系統之該再啟動之一部分。
  4. 如請求項1之系統,其中該至少一處理器包含一依電性記憶體以儲存依電性資料,以及其中該回復包含利用該狀態資訊將該依電性資料復原至該依電性記憶體。
  5. 如請求項1之系統,其中該至少一程式包含一作業系統,其中該回復包含利用該狀態資訊繼續自該先前狀態開始之該作業系統的執行動作。
  6. 如請求項1之系統,其中該系統未具有一依電性主記憶 體。
  7. 如請求項1之系統,其中該系統未具有一非依電性輔助儲存器。
  8. 如請求項1之系統,進一步包含:一依電性主記憶體,其中該回復係利用該狀態資訊將資料復原至該依電性主記憶體。
  9. 如請求項1之系統,進一步包含一記憶體匯流排,其中該非依電性主記憶體可不利用一輸入/輸出匯流排而經由該記憶體匯流排而為該至少一處理器存取。
  10. 一種方法,其包含:於一系統中執行至少一程式期間,將關聯於該至少一程式之狀態資訊之一快照儲存至一非依電性主記憶體內;將指示是否該系統在下一次啟動時將被回復至一先前狀態或將被重新開機之元資料儲存至該非依電性主記憶體內;以及作為由電源自該系統被移除之一模式中再啟動該系統之一部分:若該元資料指示該系統將被回復至該先前狀態,則利用該非依電性主記憶體中所儲存之該狀態資訊之該快照將該系統回復至該先前狀態,以及若該元資料指示該系統將被重新開機,則使該系統重新開機。
  11. 如請求項10之方法,其中該系統包含一記憶體匯流排,該方法進一步包含: 由該系統之一處理器經由該記憶體匯流排存取該非依電性主記憶體。
  12. 如請求項11之方法,其中該系統進一步包含與該記憶體匯流排分離之一輸入/輸出(I/O)匯流排,該方法進一步包含:由該處理器經由該I/O匯流排而非該記憶體匯流排存取一輔助儲存器。
  13. 如請求項10之方法,進一步包含將該狀態資訊之該快照儲存至該非依電性主記憶體中之前暫停該至少一程式。
  14. 一種包含儲存有指令之至少一非暫時性機器可讀儲存媒體之物品,而該等指令在執行時導致一系統進行下列動作:在一系統中執行至少一程式期間,將關聯於該至少一程式之狀態資訊儲存至一非依電性主記憶體內;將指示是否該系統在下一次啟動時將由一先前狀態回復之元資料儲存至該非依電性主記憶體內;以及作為由電源自該系統被移除之一模式中再啟動該系統之一部分:引動一開機啟動載入器;由該開機啟動載入器致使讀取該非依電性主記憶體中之該元資料;以及回應於判定該元資料指出該系統將由該先前狀態被回復,利用該非依電性主記憶體中所儲存之該狀態資訊將該系統回復至該先前狀態。
  15. 如請求項14之物品,其中該非依電性主記憶體係可經由與一輸入/輸出(I/O)匯流排分離之一記憶體匯流排而由一處理器存取。
TW104113550A 2014-04-29 2015-04-28 使用狀態資訊回復系統之技術 TWI546661B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2014/035836 WO2015167455A1 (en) 2014-04-29 2014-04-29 Resuming a system using state information

Publications (2)

Publication Number Publication Date
TW201546612A TW201546612A (zh) 2015-12-16
TWI546661B true TWI546661B (zh) 2016-08-21

Family

ID=54359012

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104113550A TWI546661B (zh) 2014-04-29 2015-04-28 使用狀態資訊回復系統之技術

Country Status (5)

Country Link
US (1) US10572269B2 (zh)
EP (1) EP3137990A4 (zh)
CN (1) CN106258006A (zh)
TW (1) TWI546661B (zh)
WO (1) WO2015167455A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107003864B (zh) 2015-01-29 2021-08-20 惠普发展公司,有限责任合伙企业 恢复片上系统设备
US10235183B2 (en) 2015-01-29 2019-03-19 Hewlett-Packard Development Company, L.P. Booting a system-on-a-chip device
US10936045B2 (en) * 2016-09-26 2021-03-02 Hewlett-Packard Development Company, L.P. Update memory management information to boot an electronic device from a reduced power mode
KR102271422B1 (ko) * 2017-11-28 2021-07-01 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 전자 장치를 통한 운영 체제 복구
JP7200625B2 (ja) * 2018-11-27 2023-01-10 コニカミノルタ株式会社 画像形成装置および画像形成装置の制御プログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6564286B2 (en) 2001-03-07 2003-05-13 Sony Corporation Non-volatile memory system for instant-on
US7900074B2 (en) * 2006-06-02 2011-03-01 Apple Inc. Method and apparatus for quickly reanimating devices from hibernation
US7971081B2 (en) 2007-12-28 2011-06-28 Intel Corporation System and method for fast platform hibernate and resume
US8352717B2 (en) * 2009-02-09 2013-01-08 Cs-Solutions, Inc. Recovery system using selectable and configurable snapshots
JP5289153B2 (ja) * 2009-04-14 2013-09-11 キヤノン株式会社 情報処理装置及びその制御方法、並びにコンピュータプログラム
EP2273365A1 (en) * 2009-06-26 2011-01-12 Thomson Licensing Combined memory and storage device in an apparatus for data processing
US9483103B2 (en) * 2010-10-22 2016-11-01 Hewlett-Packard Development Company, L.P. Process state of a computing machine
US8370667B2 (en) * 2010-12-22 2013-02-05 Intel Corporation System context saving based on compression/decompression time
US8694764B2 (en) * 2011-02-24 2014-04-08 Microsoft Corporation Multi-phase resume from hibernate
KR101813641B1 (ko) * 2011-11-15 2018-01-02 에스프린팅솔루션 주식회사 화상형성장치 및 하이버네이션 기능을 갖는 화상형성장치를 부팅하는 방법
WO2013089685A1 (en) * 2011-12-13 2013-06-20 Intel Corporation Enhanced system sleep state support in servers using non-volatile random access memory
US9830964B2 (en) 2012-09-10 2017-11-28 Texas Instruments Incorporated Non-volatile array wakeup and backup sequencing control

Also Published As

Publication number Publication date
EP3137990A4 (en) 2017-12-27
US20170046176A1 (en) 2017-02-16
WO2015167455A1 (en) 2015-11-05
CN106258006A (zh) 2016-12-28
EP3137990A1 (en) 2017-03-08
TW201546612A (zh) 2015-12-16
US10572269B2 (en) 2020-02-25

Similar Documents

Publication Publication Date Title
US10228745B2 (en) Resuming a system-on-a-chip device
US20190258502A1 (en) Techniques for persistent memory virtualization
TWI515660B (zh) 韌體變量更新方法
TWI546661B (zh) 使用狀態資訊回復系統之技術
US9910664B2 (en) System and method of online firmware update for baseboard management controller (BMC) devices
US20150089287A1 (en) Event-triggered storage of data to non-volatile memory
JP5860543B2 (ja) ブートデータのロード
TW201239759A (en) BIOS update method and computer system for using the same
CN109313604B (zh) 用于压缩虚拟存储器的动态配置的计算系统、装置和方法
US20200326925A1 (en) Memory device firmware update and activation with memory access quiescence
US11144455B2 (en) Memory mapping for hibernation
Joe et al. Bootup time improvement for embedded linux using snapshot images created on boot time
JP2023020861A (ja) ファームウェアの更新
US10936045B2 (en) Update memory management information to boot an electronic device from a reduced power mode
US20130166852A1 (en) Method for hibernation mechanism and computer system therefor
US10545686B2 (en) Prioritizing tasks for copying to nonvolatile memory
US20150317181A1 (en) Operating system switching method
US11972243B2 (en) Memory device firmware update and activation without memory access quiescence
US20210011706A1 (en) Memory device firmware update and activation without memory access quiescence
US9785448B2 (en) System suspending method, system resuming method and computer system using the same