TW201329868A - 載入啟動資料之技術 - Google Patents

載入啟動資料之技術 Download PDF

Info

Publication number
TW201329868A
TW201329868A TW101139731A TW101139731A TW201329868A TW 201329868 A TW201329868 A TW 201329868A TW 101139731 A TW101139731 A TW 101139731A TW 101139731 A TW101139731 A TW 101139731A TW 201329868 A TW201329868 A TW 201329868A
Authority
TW
Taiwan
Prior art keywords
electrical memory
data
memory
electrical
activation
Prior art date
Application number
TW101139731A
Other languages
English (en)
Other versions
TWI509513B (zh
Inventor
John J Briden
Fred Charles Thomas Iii
Walter A Gaspard
Original Assignee
Hewlett Packard Development Co
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 Hewlett Packard Development Co filed Critical Hewlett Packard Development Co
Publication of TW201329868A publication Critical patent/TW201329868A/zh
Application granted granted Critical
Publication of TWI509513B publication Critical patent/TWI509513B/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/4406Loading of operating system
    • G06F9/441Multiboot arrangements, i.e. selecting an operating system to be loaded
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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
    • 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/1417Boot up procedures
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本文中之實施例係關於載入啟動資料。在一實施例中,一裝置從一第一非依電性記憶體的一第一部分載入啟動資料以完成該裝置的一第一次啟動。該第一非依電性記憶體的該第一部分然後被釋放以容許該裝置覆寫該第一部分。接著,該啟動資料在該裝置進入一電力降低狀態之前係被寫入至該第一非依電性記憶體。若一第二次啟動被起始,該已寫入的啟動資料係要從該第一非依電性記憶體載入以完成該裝置的該第二次啟動。

Description

載入啟動資料之技術
本發明係有關於一種載入啟動資料之技術。
背景
一計算裝置可包括一具有較慢存取時間之慢速儲存裝置,諸如一硬碟機(HDD)。該慢速儲存裝置可構成一瓶頸並影響該計算裝置的效能。為了改善效能,該計算裝置可包括一具有較快存取時間之快速儲存裝置,諸如一快閃記憶體。然而,該快速儲存裝置的每單位儲存量可能比該慢速儲存裝置更昂貴。
結果,快速儲存裝置的儲存容量可能比慢速儲存裝置的儲存容量更小。快速儲存裝置的較小儲存容量可能會被該計算裝置完全利用,例如供經常存取資料用。若需要額外儲存容量時,該計算裝置也可儲存部分經常存取資料在該慢速儲存裝置。提高能夠儲存在該快速儲存裝置的經常存取資料的百分比可進一步改善該計算裝置的效能。
依據本發明之一實施例,係特地提出一種記憶體分配方法,其包括:將啟動資料從一第一非依電性記憶體的一第一部分載入以完成一裝置的一第一次啟動;釋放該第一非依電性記憶體的該第一部分以容許該裝置覆寫該第一部分;以及在該裝置進入一電力降低狀態之前將該啟動資料寫入至該第一非依電性記憶體,其中,若一第二次啟 動已起始,該已寫入的啟動資料係要從該第一非依電性記憶體載入以完成該裝置的該第二次啟動。
100‧‧‧裝置
110‧‧‧處理器
120‧‧‧快取記憶體模組
130‧‧‧啟動模組
140‧‧‧第一非依電性記憶體
142‧‧‧第一部分
150‧‧‧裝置
160‧‧‧第二非依電性記憶體
162‧‧‧第二部分
200‧‧‧計算裝置
205‧‧‧處理器
210‧‧‧機器可讀儲存媒體
212‧‧‧指令
214‧‧‧指令
216‧‧‧指令
300‧‧‧方法
310‧‧‧方塊
320‧‧‧方塊
330‧‧‧方塊
340‧‧‧方塊
350‧‧‧方塊
360‧‧‧方塊
370‧‧‧方塊
380‧‧‧方塊
390‧‧‧方塊
以下的詳細說明參考附圖,其中:圖1A為一供載入啟動資料之裝置的一例示方塊圖;圖1B為一供載入啟動資料之裝置的另一例示方塊圖;圖2為一包括用以載入啟動資料指令之計算裝置之一例示方塊圖;及圖3A及3B為一用以載入啟動資料之方法的一例示流程圖。
詳細說明
特定細節敘述於以下說明以提供對實施例的完全了解。然而,熟悉此技藝者可了解實施例可不需此等特定細節而實施。例如,系統可以方塊圖顯示以免實施例被不必要的細節模糊。在其他情況下,已知程序,構造及技術可能不顯示不必要的細節以避免使實施例模糊。
除了一較慢速儲存裝置,諸如一硬碟機(HDD),一計算裝置可包括一較快速儲存裝置,諸如一快閃記憶體。該較快速儲存裝置可具有一比該較慢速儲存裝置低的潛時。該計算裝置可藉由將更多經常存取資料儲存在該較快速儲存裝置而不儲存在該較慢速儲存裝置而提高效能。例 如,該計算裝置可將該較快速儲存裝置用作一快取記憶體或用來儲存啟動資料。然而,該較快速儲存裝置可能沒有足夠大的儲存容量來儲存該計算裝置使用的所有經常存取資料。因此,該較快速儲存裝置的儲存容量可以是該計算裝置效能上的瓶頸。再者,由於該較快速儲存裝置的每單位記憶體一般是遠較該慢速儲存裝置昂貴,該較快速儲存裝置的儲存容量一般是不會提高。
例如,藉由從該較快速儲存裝置載入啟動資料來啟動該計算裝置,相對於該較慢速儲存裝置,可減少該計算裝置的啟動時間。啟動資料可佔據該較快速儲存裝置大的百分比。例如,啟動資料可以為4 gigabytes(GB),而該較快速儲存裝置的儲存容量可以為15 GB。該較快速儲存裝置的一預定部分可保留給啟動資料,但啟動資料的大小可以不同。因此,該預定部分的大小可保守設定成大的,導致該較快速儲存裝置的部分儲存容量的浪費。例如,若啟動資料是4 GB而該預定部分是5 GB,則有1 GB的儲存容量可能不會被利用。
再者,若該計算裝置不常啟動,保留該預定部分並不是對該較快速儲存裝置的儲存容量的有效利用。另一方面,讓整個較快速儲存裝置作為一快取記憶體來使用可導致啟動資料隨著時間需要被覆寫。結果,該計算裝置在下一次啟動時可能不能夠從該較快速儲存裝置載入啟動資料。反而該計算裝置在下一次啟動時會從該較慢速儲存裝置載入啟動資料。
實施例可提高該較快速儲存裝置給經常存取資料用的儲存容量之一數量,而仍容許該計算裝置從該較快速儲存裝置載入啟動資料。例如,該計算裝置可從該較快速儲存裝置的一部分載入啟動資料,然後容許該較快速儲存裝置之存有啟動資料的該部分轉為給其他諸如快取資料的資料類型用。接著,在切斷計算裝置的電源之前,可將啟動資料再次寫入至該較快速儲存裝置供下一次啟動用。
圖1A為一供載入啟動資料之裝置100之例示方塊圖。該裝置100的實例可包括一筆記型電腦、一桌上型電腦、一全合一(all-in-one)系統、一平板計算裝置、一可攜式讀取裝置、一無線電子郵件裝置、一行動電話、及諸如此類者。在圖1A的實施例中,該裝置100包括一處理器110、一快取記憶體模組120、一啟動模組130及一第一非依電性記憶體140。該第一非依電性記憶體140更包括一第一部分142。
該處理器110可為適於檢索及執行來自該第一非依電性記憶體140的指令之一CPU、一GPU、或一微處理器及/或組配為可執行下文所說明之模組120及130之任一者的功能之電子電路。該第一非依電性記憶體140可為一或多個非依電性機器可讀儲存媒體,諸如任何在即使沒開啟電源時仍保留所儲存的資訊之電子、磁性、光學或其他實體儲存裝置。該第一非依電性記憶體140的實例可包括一固態驅動機(SSD)或一快閃記憶體。
該等模組120及130之各者可包括,例如,具有供 實行以下所說明之功能的電子電路之硬體裝置。另外,或作為另一選擇,各模組可被實作為一系列編碼在一諸如該第一非依電性記憶體140的機器可讀儲存媒體上且可為該處理器110所執行的指令。在實施例中,該等模組120及130之一些者可被實作為硬體裝置,而其他模組是被實作為可執行的指令。例如,該等模組120及130可被實作為在該裝置100上運作的一作業系統(OS)(未示)所執行的一應用程式。
該第一非依電性記憶體140係要將啟動資料儲存在該第一部分142。該啟動資料是用來完成該裝置100的一第一次啟動。例如,在將該裝置100從一諸如關閉狀態的不活動狀態打開電源時,該裝置100可首先執行一初始指令組,諸如儲存在一唯讀記憶體(ROM)(未示)中者。根據此等指令,該裝置100可將啟動資料從該第一非依電性記憶體140,諸如該第一部分142,載入至一分離位置,諸如一隨機存取記憶體(RAM)(未示)。該啟動資料可包括指令,諸如一程式及/或作業系統(OS)者,及/或回應於該裝置100打開電源時所要執行的資料。在一實施例中,該啟動資料可以用來開始該裝置100上的一作業系統。該裝置100然後可執行及/或使用在該RAM處的啟動資料來完成該裝置100的第一次啟動,其可包括例如是該OS的啟動。
該快取記憶體模組120係要在該啟動資料從該第一非依電性記憶體140的該第一部分142被載入之後將快取資料寫入至該第一非依電性記憶體140的該第一部分142。 該快取資料可包括有可能再次使用或經常使用的資料,諸如應用程式檔案、使用者文件、及/或元資料。例如,諸如該OS、一應用程式或網路瀏覽器的軟體、或諸於該處理器110或另一記憶體的硬體可儲存該快取資料在該第一部分142供更快速存取該快取資料。該快取資料可為冗餘或非冗餘型資訊。該冗餘型資訊可為從另一記憶體位置提取而儲存在該第一部分142之唯讀資料。如此,可能有冗餘型資訊的複本儲存在該第一部分142及另一記憶體位置兩者。該非冗餘型資訊可以為僅儲存在該第一部分142的資料,諸如被硬體、應用程式、使用者等所修改或產生的資料。
該啟動模組130係要在該裝置100進入一電力降低狀態之前將啟動資料寫入至該第一非依電性記憶體140。該電力降低狀態的例子可包括該裝置100進入一電源關閉狀態、一休眠狀態、或一睡眠狀態。例如,在從該OS收到該裝置100即將進入該電力降低狀態的指示時,該啟動模組130可在該裝置100關閉之前將啟動資料再次寫入至該第一部分142。或者,該啟動資料可在該裝置100關閉之前被寫入至該第一非依電性記憶體140的另一部分。在一實施例中,該OS可等到收到來自諸如該啟動模組130的確認該啟動資料已被成功轉移至該第一非依電性記憶體140時才完成該裝置進入該電力降低狀態。
當該裝置100接著被打開電源時,可起始一第二次啟動。該已寫入的啟動資料可再次從該第一非依電性記憶體140載入以完成該裝置100的第二次啟動。從而,藉由釋 放該第一非依電性記憶體140處儲存著該啟動資料的記憶體位置,諸如該第一部分142,給快閃資料用,一較大量的經常使用資訊可儲存在該第一非依電性記憶體140而因此改善該裝置的效能及/或速度。再者,藉由在關閉該裝置100的電源之前將該啟動資料載入回該第一非依電性記憶體140,相較於若該啟動資料是從一較慢速記憶體載入,該裝置100可更快的啟動。
圖1B為一供載入啟動資料的裝置150之另一例示方塊。圖1B的裝置150包括與圖1A的該裝置100之組件類似的組件,諸如該處理器110、該快取記憶體模組120、該啟動模組130及該第一非依電性記憶體140。該第一非依電性記憶體140同樣地包括該第一部分142。然而,圖1B的該裝置150更包括一第二非依電性記憶體140。該第二非依電性記憶體160包括一第二部分。
該第二非依電性記憶體160可為一或多個非依電性機器可讀儲存媒體,諸如任何在即使沒有開啟電源時仍保留所儲存的資訊之電子、磁性、光學、或其他實體儲存裝置。該第二非依電性記憶體160的實例可包括一硬碟機(HDD)或一儲存器驅動器。該第二非依電性記憶體160可具有一比該第一非依電性記憶體140大的潛時及/或容量。例如,該第二非依電性記體體160可為一具有一較高存取時間的磁性儲存媒體,諸如一500 gigabyte(GB)的HDD,而該第一非依電性記憶體160可為一種具有一較低存取時間的快閃記憶體,諸如一64GB的SDD。
該第二非依電性記憶體160亦可儲存該啟動資料。例如,該啟動模組130可在該快取記憶體模組120將該快取資料寫入至該第一非依電性記憶體140的該第一部分142之前將該啟動資料寫入至該第二非依電性記憶體160,例如該第二部分162。因此,該啟動資料可被保存。之後,該啟動模組130可在該裝置150進入一電力降低狀態之前將在該第二非依電性記憶體160的該啟動資料寫入至該第一非依電性記憶體140,例如該第一部分142。因此,該裝置100可藉由如以上所說明般存取來自該第一非依電性記憶體140的該啟動資料而再次被啟動。再者,在該第二非依電性記憶體160的該啟動資料的複製本可被保留作為一備份。例如,若該啟動資料不能夠從該第一非依電性記憶體140載入以完成第一次或第二次啟動時,該啟動資料可從該第二非依電性記憶體160載入。擧例而言,若該裝置100在該啟動模組130完成將該啟動資料寫回至該第一非依電性記憶體140之前就已關閉電源又或者若該第一非依電性記憶體140故障,該啟動資料可能不可從該第一非依電性記憶體140載入。在該第二非依電性記憶體160的該啟動資料之一位址位置可儲存在該第一非依電性記憶體140。結果,若該啟動資料不能夠從該第一非依電性記憶體140載入,該裝置150仍可讀取儲存在該第一非依電性記憶體140的位址位置而存取在該第二非依電性記憶體160的該啟動資料。
選擇性地,該快取記憶體模組120可在該裝置150進入電力降低狀態之前將在該第一非依電性記憶體140的 快取資料儲存至該第二非依電性記憶體160。例如,該快取記憶體模組120可在該啟動模組130將該啟動資料寫回至該第一部分142之前將在該第一部分142的該快取資料儲存至該第二非依電性記憶體160。因此,該快取資料可被保存在該第二非依電性記憶體160且在第二次啟動後再使用。否則,若該快取資料的一複製本並沒有儲存至該第二非依電性記憶體160,該快取資料可能會在被該啟動模組130以在該第一部分142的啟動資料覆寫時而喪失。該等裝置100及150的操作可針對圖3A及圖3B更詳細說明。
圖2為一包括用於載入啟動資料的指令之計算裝置200的一例示方塊圖。在圖2的實施例中,該計算裝置200包括一處理器205,該第一非依電性記憶體140及一機器可讀儲存媒體210。該機器可讀儲存媒體210更包括用以載入啟動資料的指令212、214及216。該第一非依電性記憶體140包括該第一部分142且可類似於圖1A及圖1B者。
該計算裝置200可為,例如,一晶片組、一筆記型電腦、一平板計算裝置、一可攜式讀取裝置、一無線電子郵件裝置、一行動電話、或任何其他能夠執行該等指令212、214及216的裝置。在某些實施例中,該計算裝置200可包括或被連接至另外的組件,諸如記憶體、感應器、顯示器等。例如,該計算裝置200可包括一類似於圖1B的該第二非依電性記憶體160的第二非依電性記憶體(未示)。或者,該第二非依電性記憶體可為該機器可讀儲存媒體210的一部分。
該處理器205可為至少一中央處理單元(CPU)、至少一基於半導體的微處理器、至少一圖像處理單元(GPU)、其他適用於檢索及執行儲存在該機器可讀儲存媒體210中的指令之硬體裝置,或其等之組合。該處理器205可提取、解碼、及執行指令212、214及216以實行載入該啟動資料。作為檢索及執行指令的另一選擇或除其以外,該處理器202可包括至少一積體電路(IC)、其他控制邏輯、其他電子電路、或其等之組合,其皆包括若干電子組件用以執行指令212、214及216的功能。
該機器可讀儲存媒體210可為任何含有或儲存有可執行指令之電子磁性、光學、或其他實體儲存裝置。因此,該機器可讀儲存媒體210可為,例如,隨機存取記憶體(RAM)、一電子可抹除可程式化唯獨記憶體(EEPROM)、一儲存器驅動器、一唯讀光碟(CD-ROM),諸如此類。因此,該機器可讀儲存媒體210可為非暫時者。如以下所詳細說明,機器可讀儲存媒體210可被編碼有一系列用以設定載入該啟動資料的可執行指令。
再者,當該等指令212、214及216被一處理器(例如經由該處理器之一處理元件或多數處理元件)執行,可令該處理器執行一些程序,諸如圖3A及3B的程序。例如,該等載入指令212可被該處理器205執行以從該第一非依電性記憶體140的該第一部分142載入啟動資料以完成該裝置的一第一次啟動。該等釋放指令142可被該處理器205執行以釋放該第一非依電性記憶體140的該第一部分142以容許該 裝置200覆寫該第一部分142。該等寫入指令216可被該處理器205執行以在該裝置200進入一電力降低狀態之前,將啟動資料寫入至該第一非依電性記憶體140,例如該第一部分142。若該裝置200起始一第二次啟動,該已寫入的啟動資料將從該第一非依電性記憶體140載入以完成該裝置200的第二次啟動。
該機器可讀儲存媒體210也可包括在該第一部分被釋放之前將在該第一非依電性記憶體140的該第一部分142之啟動資料儲存至該第二非依電性記憶體的指令(未示),其中該啟動資料係從該第二非依電性記憶體被寫入至該第一非依電性記憶體140。再者,該機器可讀儲存媒體210也可包括若該啟動資料不能從該第一非依電性記憶體140載入以完成至少第一次或第二次的啟動時,從該第二非依電性記憶體載入該啟動資料的指令(未示)。該啟動資料從該第一非依電性記憶體140載入比從該第二非依電性記憶體載入快速。該裝置200的運作可針對圖3A及3B更詳細說明。
圖3A及圖3B為一用以載入啟動資料的方法300之一例示流程圖。雖然該方法300係針對該裝置150說明如下,但是其他適合用以執行該方法300的組件,諸如該等裝置100或200也可利用。另外,用以執行該方法300的組件可分散於多數個裝置之間(例如,一處理裝置與輸入及輸出裝置連通)。在某些情況,多數個協調作動的裝置可被視為一單一裝置來執行該方法300。該方法300可以係以儲存在 一諸如一儲存媒體210的機器可讀儲存媒體的可執行指令的形式實行及/或以電子電路的形式實行。
在方塊310,該裝置150從一第一非依電性記憶體140的一第一部分142載入啟動資料以完成該裝置100的一第一次啟動。例如,該裝置150可存取指令以從該第一非依電性記憶體140將該裝置150的一OS的影像載入至另一記憶體,例如一RAM。一旦該OS已被載入,該第一次啟動即可完成。然後,在方塊320,該裝置150將該第一非依電性記憶體140的該第一部分142的啟動資料儲存至一第二非依電性記憶體160。接著,在方塊330,該裝置150釋放該第一非依電性記憶體140的該第一部分142以容許該裝置150覆寫該第一部分。在方塊330的釋放步驟可包括使用該第一非依電性記憶體140的該第一部分140作為一快取記憶體來儲存該裝置150的快取資料。在稍後時間,在該裝置150的電源關閉之前,在方塊340,該裝置150將在該第一非依電性記憶體140的快取資料儲存至該第二非依電性記憶體160。該快取資料可被再利用,例如藉由在該裝置100的一第二次啟動之後被重新儲存至該第一非依電性記憶體140的該第一部分142。
然後,在方塊350,在該裝置150進入一電力降低狀態之前,該裝置150將在該第二非依電性記憶體160的該啟動資料寫入至該第一非依電性記憶體140。在方塊360,在該裝置150已進入該電力降低狀態之後,是否已起始該裝置150的一第二次啟動。若第二次啟動沒有發生,該方法300 結束。否則,在方塊370,該裝置150從該第一非依電性記憶體140載入該已寫入的啟動資料以完成該裝置150的第二次啟動。在方塊380,判定該已寫入的啟動資料是否已從該第一非依電性記憶體140成功載入。若該已寫入的啟動資料已成功載入,該方法300結束。否則,在方塊390,該裝置150從該第二非依電性記憶體160載入該啟動資料。該啟動資料從該第一非依電性記憶體140載入比從該第二非依電性記憶體160載入快速。
根據以上,實施例提供一方法及/或裝置用以增加可用快取記憶體空間的量,諸如一第一非依電性記憶體者,而同時容許在該裝置啟動時,啟動資料可從該第一非依電性記憶體140載入。因此,實施例可減少啟動時間及該裝置的資料潛時。例如,實施例可在該裝置使用中時將該啟動資料儲存在一第二非依電性記憶體,而然後在該裝置進入電力降低狀態之前將該啟動資料存回該第一非依電性記憶體。在下一次啟動時,該啟動資料可再次從該第一非依電性記憶體載入。
300‧‧‧方法
310‧‧‧方塊
320‧‧‧方塊
330‧‧‧方塊
340‧‧‧方塊
350‧‧‧方塊

Claims (15)

  1. 一種記憶體分配方法,其包含下列步驟:將啟動資料從一第一非依電性記憶體的一第一部分載入以完成一裝置的一第一次啟動;釋放該第一非依電性記憶體的該第一部分以容許該裝置覆寫該第一部分;以及在該裝置進入一電力降低狀態之前,將該啟動資料寫入至該第一非依電性記憶體,其中若一第二次啟動已起始,該已寫入的啟動資料係要從該第一非依電性記憶體載入以完成該裝置的該第二次啟動。
  2. 如申請專利範圍第1項之方法,更包含:在該釋放步驟之前,將該啟動資料儲存至一第二非依電性記憶體,其中該寫入步驟係將該啟動資料從該第二非依電性記憶體寫入至該第一非依電性記憶體。
  3. 如申請專利範圍第1項之方法,其中該釋放步驟包括使用該第一非依電性記憶體的該第一部分作為一快取記憶體以儲存快取資料。
  4. 如申請專利範圍第3項之方法,更包含:在該寫入步驟之前,將在該第一非依電性記憶體之快取資料儲存至該第二非依電性記憶體。
  5. 如申請專利範圍第1項之方法,其中該第一非依電性記憶體相較於該第二非依電性記憶體具有一較低存取時 間。
  6. 如申請專利範圍第5項之方法,其中該第一非依電性記憶體包括一快閃記憶體且該第二非依電性記憶體包括一磁性儲存媒體。
  7. 如申請專利範圍第1項之方法,更包含:若該啟動資料不能從該第一非依電性記憶體載入以完成該第一次及第二次啟動之至少之一者,從該第二非依電性記憶體載入該啟動資料,其中該啟動資料從該第一非依電性記憶體載入比從該第二非依電性記憶體載入更快速。
  8. 一種裝置,其包含:一第一非依電性記憶體以儲存啟動資料於一第一部分,該啟動資料用以完成該裝置的一第一次啟動;一快取記憶體模組以在該啟動資料從該第一非依電性記憶體載入之後,將快取資料寫入至該第一非依電性記憶體的該第一部分;以及一啟動模組以在該裝置進入一電力降低狀態之前,將該啟動資料寫入至該第一非依電性記憶體,其中若一第二次啟動已起始,該已寫入的啟動資料係要從該第一非依電性記憶體載入以完成該裝置的該第二次啟動。
  9. 如申請專利範圍第8項之裝置,更包含:一第二非依電性記憶體以儲存該啟動資料,其中該啟動模組係要在該快取記憶體模組將該快取資料 寫入至該第一非依電性記憶體的該第一部分之前,將該啟動資料寫入至該第二非依電性記憶體,以及該啟動模組係要在該裝置進入該電力降低狀態之前,將在該第二非依電性記憶體的該啟動資料寫入至該第一非依電性記憶體。
  10. 如申請專利範圍第8項之裝置,其中該快取記憶體模組係要在該裝置進入該電力降低狀態之前,將在該第一非依電性記憶體的該快取資料儲存至該第二非依電性記憶體。
  11. 如申請專利範圍第8項之裝置,其中該第一非依電性記憶體包括一快閃記憶體且該第二非依電性記憶體包括一磁性儲存媒體,該第一非依電性記憶體相較於該第二非依電性記憶體具有一較低存取時間。
  12. 如申請專利範圍第11項之裝置,其中,若該啟動資料不能從該第一非依電性記憶體載入以完成該第一次及第二次啟動之至少之一者,該啟動資料係要從該第二非依電性記憶體載入。
  13. 一種非暫時機器可讀儲存媒體,該媒體儲存著指令,該等指令若被一裝置的一處理器執行時,令該處理器執行下列步驟:將啟動資料從一第一非依電性記憶體的一第一部分載入以完成該裝置的一第一次啟動;釋放該第一非依電性記憶體的該第一部分以容許該裝置覆寫該第一部分;以及 在該裝置進入一電力降低狀態之前,將該啟動資料寫入至該第一非依電性記憶體,其中若一第二次啟動已起始,該已寫入的啟動資料係要從該第一非依電性記憶體載入以完成該裝置的該第二次啟動。
  14. 如申請專利範圍第13項之非暫時機器可讀儲存媒體,更包含指令,該等指令若被該處理器執行時,令該處理器執行下列步驟:在該第一部分被釋放之前,將在該第一非依電性記憶體的該第一部分的該啟動資料儲存至一第二非依電性記憶體,其中該啟動資料係從該第二非依電性記憶體寫入至該第一非依電性記憶體。
  15. 如申請專利範圍第14項之非暫時機器可讀儲存媒體,更包含指令,該等指令若被該處理器執行時,令該處理器執行下列步驟:若該啟動資料不能從該第一非依電性記憶體載入以完成該第一次及第二次啟動之至少之一者時,從該第二非依電性記憶體載入該啟動資料,其中該啟動資料從該第一非依電性記憶體載入比從該第二非依電性記憶體載入更快速。
TW101139731A 2011-10-26 2012-10-26 載入啟動資料之技術 TWI509513B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/057924 WO2013062543A1 (en) 2011-10-26 2011-10-26 Load boot data

Publications (2)

Publication Number Publication Date
TW201329868A true TW201329868A (zh) 2013-07-16
TWI509513B TWI509513B (zh) 2015-11-21

Family

ID=48168214

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101139731A TWI509513B (zh) 2011-10-26 2012-10-26 載入啟動資料之技術

Country Status (9)

Country Link
US (1) US9858086B2 (zh)
EP (1) EP2771785B1 (zh)
JP (1) JP5860543B2 (zh)
KR (1) KR101846612B1 (zh)
CN (1) CN103999042B (zh)
BR (1) BR112014009915B1 (zh)
IN (1) IN2014CN02917A (zh)
TW (1) TWI509513B (zh)
WO (1) WO2013062543A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5984500B2 (ja) * 2011-11-30 2016-09-06 三菱電機株式会社 情報処理装置、放送受信装置及びソフトウェア起動方法
US20140241071A1 (en) * 2013-02-26 2014-08-28 Seagate Technology Llc Fast Power Loss Recovery By Swapping Boot and Recovery Data Sets in a Memory
US9619330B2 (en) * 2013-10-08 2017-04-11 Seagate Technology Llc Protecting volatile data of a storage device in response to a state reset
WO2015118436A1 (en) * 2014-02-07 2015-08-13 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device, device, and electronic device
JP6420165B2 (ja) * 2014-02-07 2018-11-07 株式会社半導体エネルギー研究所 半導体装置
US9424134B2 (en) * 2014-03-28 2016-08-23 Intel Corporation Boot management in a non-volatile memory system
US9823972B2 (en) * 2014-10-28 2017-11-21 Samsung Electronics Co., Ltd. Mobile flash storage boot partition and/or logical unit shadowing
US10055236B2 (en) * 2015-07-02 2018-08-21 Sandisk Technologies Llc Runtime data storage and/or retrieval
US10474473B2 (en) * 2017-04-11 2019-11-12 Intel Corporation Technology to facilitate rapid booting with high-speed and low-speed nonvolatile memory
TWI698748B (zh) * 2019-01-02 2020-07-11 慧榮科技股份有限公司 資料儲存裝置、存取裝置及資料處理方法
WO2023035233A1 (en) * 2021-09-10 2023-03-16 Schneider Electric It Corporation Cost effective firmware upgrade algorithm for resource constrained microprocessors

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100313996B1 (ko) 1998-01-08 2001-12-28 구자홍 컴퓨터시스템의바이오스데이터저장장치및방법
JPH11353229A (ja) 1998-06-05 1999-12-24 Canon Inc メモリ制御装置およびメモリ制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
US6205548B1 (en) 1998-07-31 2001-03-20 Intel Corporation Methods and apparatus for updating a nonvolatile memory
US20100146256A1 (en) * 2000-01-06 2010-06-10 Super Talent Electronics Inc. Mixed-Mode ROM/RAM Booting Using an Integrated Flash Controller with NAND-Flash, RAM, and SD Interfaces
US6748457B2 (en) * 2000-02-03 2004-06-08 Realtime Data, Llc Data storewidth accelerator
US7082495B2 (en) * 2002-06-27 2006-07-25 Microsoft Corporation Method and apparatus to reduce power consumption and improve read/write performance of hard disk drives using non-volatile memory
JP2004145730A (ja) * 2002-10-25 2004-05-20 Ricoh Co Ltd 画像形成装置
US7206971B2 (en) * 2003-04-07 2007-04-17 Lsi Logic Corporation Selectable and updatable computer boot memory
EP1634168A1 (en) 2003-06-03 2006-03-15 Koninklijke Philips Electronics N.V. Booting from non-volatile memory
US7412565B2 (en) * 2003-08-18 2008-08-12 Intel Corporation Memory optimization for a computer system having a hibernation mode
JP2005107608A (ja) 2003-09-29 2005-04-21 Nec Electronics Corp 電子機器、不揮発性メモリ及び不揮発性メモリのデータ書き換え方法
US7631138B2 (en) 2003-12-30 2009-12-08 Sandisk Corporation Adaptive mode switching of flash memory address mapping based on host usage characteristics
US20050251617A1 (en) 2004-05-07 2005-11-10 Sinclair Alan W Hybrid non-volatile memory system
US7644239B2 (en) 2004-05-03 2010-01-05 Microsoft Corporation Non-volatile memory cache performance improvement
US7469336B2 (en) 2005-06-24 2008-12-23 Sony Corporation System and method for rapid boot of secondary operating system
JP4736593B2 (ja) 2005-07-25 2011-07-27 ソニー株式会社 データ記憶装置、データ記録方法、記録及び/又は再生システム、並びに、電子機器
US20080109612A1 (en) * 2006-11-02 2008-05-08 Jones Kevin M Dynamic Code Relocation for Low Endurance Memories
KR101406493B1 (ko) * 2007-07-19 2014-06-12 엘지전자 주식회사 플래쉬 메모리를 구비한 컴퓨터 및 플래쉬 메모리의구동방법
US8239611B2 (en) * 2007-12-28 2012-08-07 Spansion Llc Relocating data in a memory device
US8621144B2 (en) 2008-06-26 2013-12-31 Intel Corporation Accelerated resume from hibernation in a cached disk system
US8417928B2 (en) * 2008-09-24 2013-04-09 Marvell International Ltd. Turbo boot systems and methods for subsequent booting from a captured data stored in a non-volatile semiconductor memory
US8407398B2 (en) 2008-10-01 2013-03-26 Lenovo (Singapore) Pte. Ltd. Cache mapping for solid state drives
US9282277B2 (en) 2008-12-19 2016-03-08 Seagate Technology Llc Storage device and controller to selectively activate a storage media
TW201027324A (en) * 2009-01-14 2010-07-16 Giga Byte Tech Co Ltd Embedded electronic device free from being stuck in update failure and method of making the same
US8327076B2 (en) 2009-05-13 2012-12-04 Seagate Technology Llc Systems and methods of tiered caching
TWI460588B (zh) 2009-07-17 2014-11-11 Toshiba Kk Memory management device and memory information processing device
CN102103508A (zh) * 2009-12-22 2011-06-22 鸿富锦精密工业(深圳)有限公司 电子装置及其开机与关机方法
JP2011198133A (ja) * 2010-03-19 2011-10-06 Toshiba Corp メモリシステムおよびコントローラ

Also Published As

Publication number Publication date
KR20140082734A (ko) 2014-07-02
EP2771785A4 (en) 2015-06-10
CN103999042B (zh) 2018-03-30
BR112014009915A2 (pt) 2017-04-25
US20140250295A1 (en) 2014-09-04
EP2771785B1 (en) 2022-12-21
KR101846612B1 (ko) 2018-04-06
TWI509513B (zh) 2015-11-21
JP2014534521A (ja) 2014-12-18
JP5860543B2 (ja) 2016-02-16
US9858086B2 (en) 2018-01-02
BR112014009915B1 (pt) 2021-06-15
WO2013062543A1 (en) 2013-05-02
IN2014CN02917A (zh) 2015-07-03
CN103999042A (zh) 2014-08-20
EP2771785A1 (en) 2014-09-03

Similar Documents

Publication Publication Date Title
TWI509513B (zh) 載入啟動資料之技術
US10866797B2 (en) Data storage device and method for reducing firmware update time and data processing system including the device
TWI514408B (zh) 於裝置開機期間處置來自非揮發性記憶體之錯誤
TWI437494B (zh) 記憶卡、包含該記憶卡的記憶體系統以及其操作方法
US8464257B2 (en) Method and system for reducing power loss to backup IO start time of a storage device in a storage virtualization environment
US10956323B2 (en) NVDIMM emulation using a host memory buffer
TWI519952B (zh) 非揮發性暫時資料處理
TWI486768B (zh) 檔案系統預提取的方法與電子裝置以及啟動方法
US11755315B2 (en) Boot ROM update method and boot-up method of embedded system
US10162760B2 (en) Hibernation based on page source
US20200097370A1 (en) Recovery on virtual machines with existing snapshots
US20170123881A1 (en) Test method of volatile memory device embedded in electronic device
TW201546612A (zh) 使用狀態資訊回復系統之技術
KR20080057688A (ko) 비휘발성 메모리를 이용한 운영체계 부팅 방법
US20150317181A1 (en) Operating system switching method
US10761834B2 (en) SSD firmware download dual boot
US9959120B2 (en) Persistent relocatable reset vector for processor
JP4735765B2 (ja) Linuxプログラム起動システム
TWI391941B (zh) 支援開機執行之儲存裝置
JP5685070B2 (ja) 情報処理装置、およびプログラム
TWI492060B (zh) Computer system with built-in flash memory backup unit and method thereof
JP2003331239A (ja) メモリ再配置機能を有するicカード

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees