TW201337942A - 用於管理休眠狀態中裝置內資料之系統與方法 - Google Patents

用於管理休眠狀態中裝置內資料之系統與方法 Download PDF

Info

Publication number
TW201337942A
TW201337942A TW101148543A TW101148543A TW201337942A TW 201337942 A TW201337942 A TW 201337942A TW 101148543 A TW101148543 A TW 101148543A TW 101148543 A TW101148543 A TW 101148543A TW 201337942 A TW201337942 A TW 201337942A
Authority
TW
Taiwan
Prior art keywords
memory
data
sleep state
stored
difference
Prior art date
Application number
TW101148543A
Other languages
English (en)
Other versions
TWI587309B (zh
Inventor
Shahar Bar-Or
Eran Sharon
Idan Alrod
Original Assignee
Sandisk Technologies Inc
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 Sandisk Technologies Inc filed Critical Sandisk Technologies Inc
Publication of TW201337942A publication Critical patent/TW201337942A/zh
Application granted granted Critical
Publication of TWI587309B publication Critical patent/TWI587309B/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Power Sources (AREA)

Abstract

本申請案係關於用於管理休眠狀態中一裝置內資料之系統與方法。在一項實施方案中,該裝置包含一介面及一處理器。該介面與一第一記憶體及一第二記憶體耦合。該處理器經由該介面與該第一記憶體及該第二記憶體通信。該處理器經組態以自該第一記憶體讀取第一資料,基於該第一資料產生儲存於該第一記憶體中之該資料之影像資料,及在該裝置進入一初始休眠狀態之前將儲存於該第一記憶體中之該資料之該影像資料寫入至該第二記憶體。該處理器進一步經組態以在該裝置自該初始休眠狀態醒來喚醒之後,自該第二記憶體讀取該影像資料,基於該影像資料重新建構該第一資料,及將該第一資料寫入至該第一記憶體。

Description

用於管理休眠狀態中裝置內資料之系統與方法
本發明係關於用於管理資料之系統與方法,且更特定而言係關於用於管理休眠狀態中一裝置內資料之系統與方法。
期望諸如行動裝置等裝置具有自一休眠狀態(亦稱為一空閒模式)快速重新開始操作且在一休眠狀態中將資料儲存延長之時間週期同時消耗少量電力之兩種能力。為了提供一裝置自一休眠狀態快速喚醒之能力,諸多裝置利用DRAM記憶體。DRAM記憶體提供當自一休眠狀態喚醒時快速執行諸如讀取及寫入操作等操作之能力。然而,DRAM係消耗電力以維持資料之一揮發性記憶體,且因此在一裝置處於一休眠狀態中時消耗電力。
其他裝置利用NAND記憶體。NAND記憶體提供在一休眠狀態期間將資料儲存延長之時間週期同時消耗少量電力之能力。然而,NAND記憶體在諸如寫入及讀取操作等操作方面比DRAM記憶體慢。
期望經改良儲存裝置供用於能夠提供記憶體之速度(諸如在DRAM記憶體之情形下)同時提供將資料儲存延長之時間週期同時消耗少量電力之能力(諸如在NAND記憶體之情形下)之裝置(諸如行動裝置)中。
本發明係關於用於管理休眠中一裝置內資料之系統與方 法。在一項態樣中,揭示一種用於結合一裝置之休眠來管理資料儲存之方法。一裝置之一控制器自該裝置之一第一記憶體讀取資料且基於該第一資料產生儲存於該第一記憶體中之資料之影像資料。在進入一初始休眠狀態之前該控制器將儲存於該第一記憶體中之該資料之該影像資料寫入至一第二記憶體。在自該初始休眠狀態喚醒之後,該控制器自該第二記憶體讀取該影像資料,基於該影像資料重新建構該第一資料,且將該第一資料寫入至該第一記憶體。
在另一態樣中,揭示一種裝置。該裝置包含一介面及一處理器。該介面與一第一記憶體及一第二記憶體耦合。該處理器經由該介面與該第一記憶體及該第二記憶體通信。該處理器經組態以自該第一記憶體讀取第一資料且基於該第一資料產生儲存於該第一記憶體中之資料之影像資料。該處理器進一步經組態以在該裝置進入一初始休眠狀態之前將儲存於該第一記憶體中之該影像資料寫入至該第二記憶體。該處理器進一步經組態以在該裝置自該初始休眠狀態喚醒之後,自該第二記憶體讀取該影像資料,基於該影像資料重新建構該第一資料,及將該第一資料寫入至該第一記憶體。
本發明係關於用於管理休眠狀態中一裝置內資料之系統與方法。如下文更詳細地論述,一裝置可包含兩種類型之記憶體。該裝置之一第一記憶體(諸如DRAM記憶體)可具有諸如快速寫入及讀取時間之性質。該裝置之一第二記憶 體(諸如NAND記憶體)可具有諸如能夠將資料儲存延長之時間週期同時消耗少量電力之性質。為了利用兩種類型之記憶體之優點,該裝置之一控制器可執行操作以在該裝置喚醒時利用該第一記憶體且在該裝置處於一休眠狀態中時利用該第二記憶體。在該第一記憶體與該第二記憶體之間切換資料允許該裝置在喚醒時快速地執行操作且在該裝置處於一休眠狀態中時以小的電力消耗將資料儲存延長之時間週期。
圖1中展示適合用於實施本發明之態樣之一裝置100。一主機系統101將資料儲存至一第一記憶體系統102a及/或一第二記憶體系統102b中及自該第一記憶體系統102a及/或該第二記憶體系統102b擷取資料。該第一記憶體系統102a及/或該第二記憶體系統102b可係嵌入於該裝置內之記憶體,諸如呈安裝於一個人電腦中之一固態磁碟(SSD)機之形式。另一選擇係,第一記憶體系統102a及/或第二記憶體系統102b可呈一卡之形式,該卡透過一機械及電連接器之配對部件104a及106a或104b及106b以可抽換方式連接至主機,如圖1中所圖解說明。經組態供用作一內部或嵌入式SSD磁碟機之一記憶體可看起來類似於圖1之示意圖,其中主要差異係第一記憶體系統102a、第二記憶體系統102b在主機內部之位置。SSD磁碟機可呈離散模組之形式,該等離散模組系用於使磁碟機旋轉之插入式替換件。
就記憶體系統102a、102b而言,圖1之主機系統101可視為具有由電路與軟體之一組合構成之兩個主要部件。該兩 個主要部件係一應用程式部分108(一控制器)及與記憶體系統102a、102b介接之一驅動程式部分110。在一PC中,舉例而言,應用程式部分108可包含運行文書處理、圖形、控制或其他流行應用程式軟體之一處理器112以及用於管理主機101上之資料之檔案系統114。在主要專用於執行一單個組之功能之一相機、蜂巢式電話或其他主機系統中,應用程式部分108包含操作該相機以拍攝及儲存圖片、操作該蜂巢式電話以進行及接收呼叫及諸如此類之軟體。
圖1之記憶體系統102a、102b包含記憶體116及一系統控制器118,此兩者皆與主機101介接,記憶體系統連接至主機101以用於來回傳遞資料且控制記憶體116。系統控制器118可在資料程式化及讀取期間在由主機101使用之資料之邏輯位址與記憶體116之實體位址之間轉換。在功能上,系統控制器118可包含與主機系統介接之一前端122、用於協調記憶體116之操作之控制器邏輯124。
在某些實施方案中,第一記憶體102a係能夠快速執行諸如寫入及讀取操作等操作之記憶體,諸如DRAM記憶體,且第二記憶體102b係能夠將資料儲存延長之時間週期同時消耗少量電力之NAND記憶體。然而,亦可使用其他記憶體組態。
由於DRAM記憶體及NAND記憶體之不同性質,主機101之控制器108可經組態以在進入一休眠狀態之前及之後在第一記憶體102a與第二記憶體102b之間轉移資料之複本。 控制器108轉移資料之複本以在裝置100喚醒時利用DRAM記憶體來提供快速讀取及寫入操作,且在裝置100處於一休眠狀態中時利用NAND記憶體來提供將資料儲存延長之時間週期同時消耗少量電力之能力。
如下文更詳細地解釋,控制器108通常在裝置100進入一初始休眠狀態之前將儲存於第一記憶體102a中之資料之一初始影像儲存於第二記憶體102b中。當裝置100自該休眠狀態喚醒時,控制器108自第二記憶體102b讀取資料之該初始影像,基於資料之該初始影像重新建構資料,且將該所重新建構資料儲存於第一記憶體102a中。
在進入一後續休眠之前,控制器108對照儲存於第二記憶體102b中之第一記憶體102a之資料之初始影像來檢查當前儲存於第一記憶體102a中之資料。當控制器108判定儲存於第一記憶體102a中之資料已改變時,在進入一後續休眠狀態之前,控制器108將表示從一前一休眠狀態起已改變之儲存於第一記憶體102a中之資料之一組資料(亦稱為一差量)儲存於第二記憶體102b中。
當裝置100自休眠喚醒時,控制器108自第二記憶體102b讀取資料之影像及差量,基於資料之影像及資料之差量重新建構資料,且將該所重新建構資料儲存於第一記憶體102a中。在某些實施方案中,控制器108可針對後續休眠重複此程序,直至致使控制器108將儲存於第一記憶體102a中之資料之一新初始影像儲存於第二記憶體102b中之一條件出現為止。可致使控制器108儲存儲存於第一記憶 體102a中之資料之一新初始影像之條件之實例可包含儲存於第二記憶體102b中之差量的數目超過一臨限值及/或從將儲存於第一記憶體102a中之資料之初始影像儲存於第二記憶體102b中起已改變之儲存於第一記憶體102a中之資料之一量超過一臨限值。
圖2係用於在一裝置進入一休眠狀態之前及之後管理該裝置內之資料之一方法之一項實施方案的一流程圖。該方法在步驟202處以一控制器判定該裝置進入一休眠狀態之一需要而開始。將瞭解,該控制器可基於自致動該裝置上之一按鈕之一使用者接收之一信號、從藉助該裝置之最後一次操作起之一時間量及/或可向該控制器警告進入一休眠狀態之一需要之任何其他因素判定該裝置進入一休眠狀態之該需要。
在步驟204處,控制器自第一記憶體讀取資料且形成儲存於第一記憶體中之資料之一初始影像,該第一記憶體可係DRAM記憶體。在步驟206處,控制器可藉由執行諸如以下操作而操縱儲存於第一記憶體中之資料之影像:壓縮資料以減小資料之大小或將資料塑形以減小記憶體上之耗損。在某些實施方案中,為將資料塑形,控制器可變換資料之位元序列以減小構成位元序列之零的數目,以使得經增加數目之記憶體胞可保持處於一經抹除狀態中。可用以將資料塑形之演算法之實例闡述於在2011年7月19日發表之美國專利第7,984,360號、在2011年10月20日提出申請之美國臨時專利申請案第61/549,448號及在2011年10月24日 提出申請之美國臨時專利申請案第61/550,694號中,該等專利中之每一者之全部內容特此以引用方式併入。
在步驟208處,控制器將儲存於第一記憶體中之資料之初始影像儲存於第二記憶體中。如上文所論述,在某些實施方案中,第二記憶體可係NAND記憶體。在步驟210處,裝置進入一初始休眠狀態。
在步驟212處,控制器判定自該初始休眠狀態喚醒之一需要。將瞭解,控制器可基於自致動該裝置上之一按鈕之一使用者接收之一信號及/或向該控制器警告自該休眠狀態喚醒之一需要之任何其它因素判定自該初始休眠狀態喚醒之需要。作為回應,在步驟214處,在儲存裝置進入該休眠狀態之前,控制器自第二記憶體讀取表示儲存於第一記憶體中之資料之資料之初始影像。在步驟216處,控制器操縱資料以反轉已在步驟206處對資料執行之任何操作且基於資料之初始影像重新建構資料。在步驟218處,控制器然後將該所重新建構資料儲存於第一記憶體中以恢復第一記憶體之內容。
在將影像資料儲存於第一記憶體中之後,裝置可執行正常操作,其中控制器將資料寫入至第一記憶體及自第一記憶體讀取資料。此等操作可繼續,直至一控制器判定進入一後續休眠狀態之一需要為止。
圖3係用於在一裝置進入一後續休眠狀態(在執行上文結合圖2所論述之操作之後)之前及之後管理該裝置內之資料之一方法之一項實施方案的一流程圖。
步驟302處,控制器判定該裝置進入一後續休眠狀態之一需要。在步驟304處,控制器自第一記憶體讀取資料。在某些實施方案中,控制器自第一記憶體讀取所有資料。然而,在其他實施方案中,控制器僅讀取儲存於第一記憶體中之資料之一部分,諸如第一記憶體之一區段、第一記憶體之一頁、第一記憶體之一區塊或記憶體之任何其他所要部分。
在步驟306處,控制器判定在步驟304處自第一記憶體讀取之資料從裝置自一前一休眠狀態喚醒起是否已改變。在某些實施方案中,控制器藉由比較在步驟304處自第一記憶體讀取之資料之部分與自表示儲存於第一記憶體中之資料之在該前一休眠之前儲存於第二記憶體中之資料之初始影像重新建構之資料來判定資料是否已改變。將瞭解,取決於在步驟304處自第一記憶體讀取之資料之部分,控制器可比較儲存於第二記憶體中之影像資料之一對應部分,諸如第一記憶體之資料之整個影像、第一記憶體之一區段、第一記憶體之一頁或第一記憶體之一區塊。
在某些實施方案中,在步驟306處,控制器可藉由計算在步驟304處自第一記憶體讀取之資料之部分及基於儲存於第二記憶體中之資料之影像重新建構之資料之相關部分之一循環冗餘檢查(CRC)且然後判定兩個值是否相等來判定儲存於第一記憶體中之資料是否已改變。若兩個CRC值相等,則儲存於在步驟304處自第一記憶體讀取之資料之部分中之資料尚未改變。然而,若兩個CRC值不同,則在 步驟304處自第一記憶體讀取之資料之部分已改變。
當控制器判定儲存於自第一記憶體讀取之資料之部分中之資料已改變,則在步驟308處,控制器將表示從最後的前一休眠起已改變之在步驟304處自第一記憶體讀取之資料之內容之一組資料(亦稱為一差量)儲存於第二記憶體中。在某些實施方案中,在將表示從最後的前一休眠起已改變之自第一記憶體讀取之資料之內容之資料儲存於第二記憶體中之前,控制器可將該資料壓縮及/或塑形。
在將該差量儲存於第二記憶體中之後,控制器繼續進行以在步驟310處判定是否需要檢查儲存於第一記憶體中之資料之任何剩餘部分,以使得控制器可將從前一休眠狀態起已改變之儲存於第一記憶體中之資料之任何改變保存於第二記憶體中。若控制器判定不需要檢查儲存於第一記憶體中之資料之剩餘部分,則裝置在步驟312處進入一休眠狀態。然而,若控制器判定需要檢查儲存於第一記憶體中之資料之剩餘部分,則該方法迴圈至步驟304且重複上文所闡述之方法直至控制器判定不需要檢查儲存於第一記憶體中之資料之剩餘部分為止。裝置然後在步驟312處進入一休眠狀態。
再次參考步驟306,當控制器判定在步驟304處自第一記憶體讀取之資料之內容尚未改變時,該方法繼續進行至步驟310,其中控制器如上文所闡述繼續進行以判定是否需要檢查儲存於第一記憶體中之資料之任何剩餘部分,以使得控制器可將儲存於第一記憶體中之資料從前一休眠狀態 起之任何改變保存於第二記憶體中。
在步驟314處,控制器判定自該休眠狀態喚醒之一需要。在步驟316處,控制器自第二記憶體讀取第一記憶體之內容之影像資料且自第二記憶體讀取控制器儲存於第二記憶體中之任何差量。若控制器執行了對資料之任何操縱(諸如將影像資料及/或差量壓縮及/或塑形),則反轉對資料之操縱。在步驟318處,控制器基於初始影像資料及一或多個差量重新建構資料,且在步驟320處,控制器將該所重新建構資料寫入至第一記憶體。將瞭解,在將基於影像資料及差量重新建構之資料寫入至第一記憶體之後,第一記憶體之內容將包含在儲存裝置進入該前一休眠狀態之前存在於第一記憶體中之任何有效資料。
每當在將第一記憶體之內容之一初始影像儲存於第二記憶體中(如上文結合圖2所闡述)之後儲存裝置進入一後續休眠狀態時可重複上文結合圖3所闡述之方法。在其中多個差量儲存於第二記憶體中之實施方案中,控制器可將第一記憶體之初始影像資料及每一差量儲存於第二記憶體之不同晶粒中,以便增加在儲存裝置自一休眠狀態喚醒時讀取影像資料及差量之並行性。
在某些實施方案中,控制器可基於諸如以下因素判定何時將第一記憶體之內容之一新影像儲存於第二記憶體中:儲存於第二記憶體中之差量的數目及/或從將第一記憶體之內容之一初始影像儲存於第二記憶體中起已在第一記憶體之內容中改變之資料之量。
限制差量之數目或在將第一記憶體之內容之一新影像儲存於第二記憶體中之前可在第一記憶體之內容中改變之資料之量可防止當進入及/或退出因控制器執行與將差量儲存於第二記憶體中及/或自第二記憶體讀取差量且基於差量重新建構資料相關聯之不可接受數目之操作所造成之一休眠狀態時裝置的緩慢效能。
以下實例圖解說明當多個差量保存於第二記憶體中時控制器可執行以重新建構資料之操作之數目。當控制器在不同休眠狀態期間保存一或多個差量時,在某些實施方案中,一差量可表示第一記憶體中之資料自一前一休眠狀態之一改變。舉例而言,一控制器可在一初始休眠狀態之前儲存第一記憶體之資料之一初始影像,在一第一後續休眠狀態之前儲存一第一資料差量,在一第二後續休眠狀態之前儲存一第二資料差量,且在一第三後續休眠狀態之前儲存一第三資料差量。第一差量表示第一記憶體之資料自初始休眠狀態之一改變,第二差量表示第一記憶體之資料自第一後續休眠狀態之一改變,且第三差量表示第一記憶體之資料自第二後續休眠狀態之一改變。
因此,為了重新建構在第三後續休眠狀態之前第一記憶體中之資料,控制器將把第一資料差量應用於資料之初始影像以重新建構在第一後續休眠狀態之前第一記憶體之內容;將第二資料差量應用於在第一後續休眠狀態之前第一記憶體之該等所重新建構內容以重新建構在第二後續休眠狀態之前第一記憶體之內容;且最後,將第三資料差量應 用於在第二後續休眠狀態之前第一記憶體之該等所重新建構內容以重新建構在第三後續休眠狀態之前第一記憶體之內容。
圖4圖解說明一種供一控制器判定何時將儲存於第一記憶體中之資料之一新影像儲存於第二記憶體中以便防止儲存裝置之緩慢效能之方法。該方法在步驟402處以當裝置進入一初始休眠狀態時控制器將儲存於第一記憶體中之資料之內容之一初始影像儲存於第二記憶體中而開始,如上文所闡述。在步驟404處,當裝置自初始休眠喚醒時,控制器自第二記憶體讀取初始影像資料且將基於該影像資料重新建構之資料儲存於第一記憶體中,如上文所闡述。在步驟406處,控制器執行自第一記憶體讀取資料及將資料寫入至第一記憶體之正常操作。
在步驟408處,控制器準備進入一後續休眠狀態,如上文結合圖3所闡述,其中控制器將表示從前一休眠狀態起已改變之儲存於第一記憶體中之一或多個資料差量保存於第二記憶體中。然而,在進入後續休眠狀態之前,控制器在步驟410處判定是否將儲存於第一記憶體中之資料之一新影像儲存於第二記憶體中。在某些實施方案中,控制器可基於諸如以下因素判定是否將資料之一新影像儲存於第二記憶體中:從將初始影像資料儲存於第二記憶體中起保存於第二記憶體中之差量的數目是否超過一臨限值;從將初始影像資料儲存於第二記憶體中起已改變之第一記憶體中之資料之一量是否超過一臨限值;及/或向控制器指示 為保持裝置之效能控制器應將儲存於第一記憶體中之資料之一新影像儲存於第二記憶體中之任何其他所要因素。
當在步驟410處控制器判定不將第一記憶體之內容之新影像資料儲存於第二記憶體中時,裝置繼續進行以在412處進入一後續休眠狀態。在步驟414處,當裝置自該後續休眠狀態喚醒時,控制器讀取儲存於第二記憶體中之初始影像資料及任何差量(如上文所闡述),基於初始影像資料及任何差量重新建構資料,且將所重新建構資料儲存於第一記憶體中。該方法然後迴圈至步驟406,其中控制器結合自主機接收之指令執行自第一記憶體讀取資料及將資料寫入至第一記憶體之正常操作。
然而,當在步驟410處控制器判定儲存第一記憶體之內容之新影像資料之一需要時,該方法迴圈至步驟402,其中當裝置進入一新初始休眠狀態時控制器將儲存於第一記憶體中之資料之內容之一新初始影像儲存於第二記憶體中且重複上文所闡述之方法。
在某些實施方案中,控制器可執行除上文所闡述之操作以外的操作以便增加裝置能夠自一休眠狀態喚醒之速度。舉例而言,當裝置自一休眠狀態喚醒時,控制器可首先僅將負責基本功能性或在裝置自休眠狀態喚醒時一主機及/或使用者可立即需要存取之功能性之資料之彼等部分寫入至第一記憶體中。然後,控制器可隨後在裝置接收到來自該主機及/或使用者之命令時將資料之剩餘部分載入至第一記憶體中。
圖1至圖4闡述用於管理休眠狀態狀態中一裝置內資料之系統與方法。如上文所論述,一裝置可包含具有不同性質之兩種類型之記憶體。在某些實施方案中,一第一記憶體(諸如DRAM記憶體)可具有諸如快速寫入及讀取時間等性質,其中一第二記憶體(諸如NAND記憶體)可具有諸如能夠將資料儲存延長之時間週期同時消耗少量電力等性質。為了利用兩種類型之記憶體之優點,該裝置之一控制器可執行操作以在該裝置喚醒時利用第一記憶體且在該裝置處於一休眠狀態中時利用第二記憶體。在第一記憶體與第二記憶體之間切換資料允許該裝置在喚醒時快速地執行操作且在資料儲存裝置處於一休眠狀態中時以小的電力消耗將資料儲存延長之時間週期。
意欲將前述詳細說明視為說明性而非限制性,且應理解以下申請專利範圍,包含所有等效形式意欲界定本發明之精神及範疇。
100‧‧‧裝置
101‧‧‧主機系統/主機
102a‧‧‧第一記憶體系統/記憶體系統/第一記憶體
102b‧‧‧第二記憶體系統/記憶體系統/第二記憶體
104a‧‧‧配對部件
104b‧‧‧配對部件
106a‧‧‧配對部件
106b‧‧‧配對部件
108‧‧‧應用程式部分/控制器
110‧‧‧驅動程式部分
112‧‧‧處理器
114‧‧‧檔案系統
116‧‧‧記憶體
118‧‧‧系統控制器
122‧‧‧前端
124‧‧‧控制器邏輯
圖1係適於管理休眠狀態中資料之一裝置之一項實施方案之一方塊圖。
圖2係用於在一裝置進入一初始休眠狀態之前及之後管理該裝置內之資料之一方法之一項實施方案的一流程圖。
圖3係用於在一裝置進入一後續休眠狀態之前及之後管理該裝置內之資料之一方法之一項實施方案的一流程圖。
圖4係一控制器判定何時將儲存於一第一記憶體中之資料之一新初始影像儲存於一第二記憶體中之一方法之一項 實施方案的一流程圖。
100‧‧‧裝置
101‧‧‧主機系統/主機
102a‧‧‧第一記憶體系統/記憶體系統/第一記憶體
102b‧‧‧第二記憶體系統/記憶體系統/第二記憶體
104a‧‧‧配對部件
104b‧‧‧配對部件
106a‧‧‧配對部件
106b‧‧‧配對部件
108‧‧‧應用程式部分/控制器
110‧‧‧驅動程式部分
112‧‧‧處理器
114‧‧‧檔案系統
116‧‧‧記憶體
118‧‧‧系統控制器
122‧‧‧前端
124‧‧‧控制器邏輯

Claims (20)

  1. 一種用於結合一裝置之休眠來管理資料儲存之方法,該方法包括:在與一第一記憶體及一第二記憶體以操作方式耦合之一裝置之一控制器中:自該第一記憶體讀取第一資料;基於該第一資料產生儲存於該第一記憶體中之該資料之影像資料;在該裝置進入一初始休眠狀態之前將儲存於該第一記憶體中之該資料之該影像資料寫入至該第二記憶體;及在自該初始休眠狀態喚醒之後:自該第二記憶體讀取該影像資料;基於該影像資料重新建構該第一資料;及將該第一資料寫入至該第一記憶體。
  2. 如請求項1之方法,其中該第一記憶體包括DRAM記憶體,且該第二記憶體包括NAND記憶體。
  3. 如請求項1之方法,其進一步包括:在自該初始休眠狀態喚醒之後:自該第一記憶體讀取第二資料;及比較該第二資料與自儲存於該第二記憶體上之該影像資料重新建構之資料之至少一部分以判定從該裝置自該初始休眠狀態喚醒起儲存於該第一記憶體中之資料是否已改變。
  4. 如請求項3之方法,其進一步包括:回應於判定從自該初始休眠狀態喚醒起儲存於該第一記憶體中之資料已改變:將表示從該裝置自該初始休眠狀態喚醒起已改變之儲存於該第一記憶體中之該資料之至少一部分之一第一資料差量儲存於該第二記憶體中,在該裝置進入一第一後續休眠狀態之前將該第一資料差量儲存於該第二記憶體中。
  5. 如請求項4之方法,其進一步包括:在將該第一資料差量儲存於該第二記憶體中之前壓縮該第一資料差量以減小該第一資料差量之大小。
  6. 如請求項4之方法,其進一步包括:在將該第一資料差量儲存於該第二記憶體中之前塑形該第一資料差量以減小該第一資料差量之一位元串流中零的數目。
  7. 如請求項4之方法,其進一步包括:在自該第一後續休眠狀態喚醒之後:自該第二記憶體讀取該影像資料;自該第二記憶體讀取該第一資料差量;及將基於該影像資料及該第一資料差量之所重新建構資料寫入至該第一記憶體。
  8. 如請求項7之方法,其進一步包括:在自該第一後續休眠狀態喚醒之後:自該第一記憶體讀取第三資料; 比較該第三資料與自該影像資料及該第一資料差量重新建構之資料之至少一部分以判定從該裝置自該第一後續休眠狀態喚醒起儲存於該第一記憶體中之資料是否已改變;及回應於判定從該裝置自該第一後續休眠狀態喚醒起儲存於該第一記憶體中之資料已改變:將表示從該裝置自該第一後續休眠狀態喚醒起已改變之儲存於該第一記憶體中之該資料之至少一部分之一第二資料差量儲存於該第二記憶體中,在該裝置進入一第二後續休眠狀態之前將該第二資料差量儲存於該第二記憶體中。
  9. 如請求項8之方法,其中將該第一資料差量及該第二資料差量儲存於該第二記憶體之不同晶粒中。
  10. 如請求項3之方法,其進一步包括:在判定從自該初始休眠狀態喚醒起儲存於該第一記憶體中之資料已改變之後:判定儲存於該第二記憶體中之資料差量之數目超過一臨限值,且作為回應:產生儲存於該第一記憶體中之該資料之新影像資料;及在進入一下一休眠狀態之前將儲存於該第一記憶體中之該資料之該新影像資料寫入至該第二記憶體。
  11. 如請求項3之方法,其進一步包括: 在判定從自該初始休眠狀態喚醒起儲存於該第一記憶體中之資料已改變之後:判定從該裝置自該初始休眠狀態喚醒起在該第一記憶體中已改變之資料之一量超過一臨限值,且作為回應:產生儲存於該第一記憶體中之該資料之新影像資料;及在進入一下一休眠狀態之前將儲存於該第一記憶體中之該資料之該新影像資料寫入至該第二記憶體。
  12. 如請求項3之方法,其中比較該第二資料與儲存於該第二記憶體上之該影像資料之至少一部分以判定從該裝置自該初始休眠狀態喚醒起儲存於該第一記憶體中之資料是否已改變包括:計算該第二資料之一第一循環冗餘檢查(CRC);計算自儲存於該第二記憶體上之該影像資料重新建構之該資料之一第二CRC;及判定該第一CRC與該第二CRC是否相等。
  13. 如請求項3之方法,其中該第二資料及資料之該部分係記憶體之一區段。
  14. 如請求項3之方法,其中該第二資料及資料之該部分係記憶體之一頁。
  15. 如請求項3之方法,其中該第二資料及資料之該部分係記憶體之一區塊。
  16. 一種裝置,其包括:一介面,其耦合至一第一記憶體及一第二記憶體;一處理器,其用於結合該裝置之休眠來管理資料儲存,該處理器經由該介面與該第一記憶體及該第二記憶體通信且經組態以:自該第一記憶體讀取第一資料;基於該第一資料產生儲存於該第一記憶體中之該資料之影像資料;在該裝置進入一初始休眠狀態之前將儲存於該第一記憶體中之該資料之該影像資料寫入至該第二記憶體;及在該裝置自該初始休眠狀態喚醒之後:自該第二記憶體讀取該影像資料;基於該影像資料重新建構該第一資料;及將該第一資料寫入至該第一記憶體。
  17. 如請求項16之裝置,其中該第一記憶體包括DRAM記憶體,且該第二記憶體包括NAND記憶體。
  18. 如請求項16之裝置,其中該處理器進一步經組態以:在自該初始休眠狀態喚醒之後:自該第一記憶體讀取第二資料;及比較該第二資料與自儲存於該第二記憶體上之該影像資料重新建構之資料之至少一部分以判定從該裝置自該初始休眠狀態喚醒起儲存於該第一記憶體中之資料是否已改變。
  19. 如請求項18之裝置,其中該處理器進一步經組態以:回應於判定從自該初始休眠狀態喚醒起儲存於該第一記憶體中之資料已改變:將表示從儲存裝置自該初始休眠狀態喚醒起已改變之儲存於該第一記憶體中之該資料之至少一部分之一第一資料差量儲存於該第二記憶體中,在該裝置進入一第一後續休眠狀態之前該處理器將該第一資料差量儲存於該第二記憶體中。
  20. 如請求項19之裝置,其中該處理器進一步經組態以:在自該第一後續休眠狀態喚醒之後:自該第二記憶體讀取該影像資料;自該第二記憶體讀取該第一資料差量;及將基於該影像資料及該第一資料差量之所重新建構資料寫入至該第一記憶體。
TW101148543A 2011-12-19 2012-12-19 用於管理休眠狀態中裝置內資料之系統與方法 TWI587309B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/330,185 US9495173B2 (en) 2011-12-19 2011-12-19 Systems and methods for managing data in a device for hibernation states

Publications (2)

Publication Number Publication Date
TW201337942A true TW201337942A (zh) 2013-09-16
TWI587309B TWI587309B (zh) 2017-06-11

Family

ID=47520279

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101148543A TWI587309B (zh) 2011-12-19 2012-12-19 用於管理休眠狀態中裝置內資料之系統與方法

Country Status (5)

Country Link
US (1) US9495173B2 (zh)
EP (1) EP2795463B1 (zh)
CN (1) CN104115116B (zh)
TW (1) TWI587309B (zh)
WO (1) WO2013096155A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112012006454T5 (de) 2012-05-29 2015-02-26 Hewlett-Packard Development Company, L.P. Ruhezustand auf der Basis von Seitenquellcode
JP6029350B2 (ja) * 2012-06-27 2016-11-24 キヤノン株式会社 情報処理装置、情報処理装置の制御方法及びプログラム
US20170125070A1 (en) * 2015-10-29 2017-05-04 Sandisk Technologies Inc. System and method for hibernation using a delta generator engine
US10521143B2 (en) * 2017-03-23 2019-12-31 Netapp Inc. Composite aggregate architecture
CN113094102A (zh) * 2019-12-23 2021-07-09 珠海全志科技股份有限公司 一种Dram休眠及唤醒方法、装置和存储介质
KR20230060817A (ko) 2021-10-28 2023-05-08 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
US12045508B2 (en) * 2022-05-24 2024-07-23 SanDisk Technologies, Inc. Data storage device and method for device-initiated hibernation

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2779813B2 (ja) 1988-09-06 1998-07-23 セイコーエプソン株式会社 コンピューター
US6807630B2 (en) 2000-12-15 2004-10-19 International Business Machines Corporation Method for fast reinitialization wherein a saved system image of an operating system is transferred into a primary memory from a secondary memory
US6546472B2 (en) * 2000-12-29 2003-04-08 Hewlett-Packard Development Company, L.P. Fast suspend to disk
US20070112899A1 (en) 2005-11-14 2007-05-17 Edwards Matthew F Method and apparatus for fast boot of an operating system
US20080082752A1 (en) * 2006-09-29 2008-04-03 Ram Chary Method and apparatus for saving power for a computing system by providing instant-on resuming from a hibernation state
JP4517303B2 (ja) 2006-12-28 2010-08-04 ソニー株式会社 情報処理装置、起動方法、およびプログラム
TW200832992A (en) * 2007-01-23 2008-08-01 Innovative Sonic Ltd Method of enhancing continuous packet connectivity in a wireless communications system and related apparatus
CN101743532A (zh) 2007-07-11 2010-06-16 思杰系统有限公司 用于提供对计算装置的访问水平的方法和系统
US8392606B2 (en) * 2008-09-23 2013-03-05 Synapse Wireless, Inc. Wireless networks and methods using multiple valid network identifiers
US8510542B2 (en) 2008-10-01 2013-08-13 Oracle International Corporation Flash memory device having memory partitions and including an embedded general purpose operating system for booting a computing device
US8181046B2 (en) * 2008-10-29 2012-05-15 Sandisk Il Ltd. Transparent self-hibernation of non-volatile memory system
US9176883B2 (en) * 2009-04-30 2015-11-03 HGST Netherlands B.V. Storage of data reference blocks and deltas in different storage devices
US8209501B2 (en) 2009-05-05 2012-06-26 Microsoft Corporation Capturing and loading operating system states
US20100318719A1 (en) * 2009-06-12 2010-12-16 Micron Technology, Inc. Methods, memory controllers and devices for wear leveling a memory
KR101668312B1 (ko) * 2010-10-19 2016-10-21 삼성전자 주식회사 모바일 디바이스에서 하이버네이션 기능 지원 방법 및 장치
KR101467515B1 (ko) * 2010-11-23 2014-12-01 삼성전자 주식회사 스냅샷 이미지를 이용한 부팅 장치 및 방법

Also Published As

Publication number Publication date
CN104115116B (zh) 2017-03-22
EP2795463A1 (en) 2014-10-29
WO2013096155A1 (en) 2013-06-27
EP2795463B1 (en) 2018-03-21
CN104115116A (zh) 2014-10-22
US9495173B2 (en) 2016-11-15
US20130159599A1 (en) 2013-06-20
TWI587309B (zh) 2017-06-11

Similar Documents

Publication Publication Date Title
TWI587309B (zh) 用於管理休眠狀態中裝置內資料之系統與方法
JP7235226B2 (ja) 記憶デバイスにおけるシステムタイムスタンプを用いたバックグラウンドデータ・リフレッシュ
US8327171B2 (en) Method and apparatus for facilitating device hibernation
US7519808B2 (en) Method and apparatus for quickly reanimating devices from hibernation
US7900074B2 (en) Method and apparatus for quickly reanimating devices from hibernation
US9110669B2 (en) Power management of a storage device including multiple processing cores
JP6276470B2 (ja) ポータブルコンピューティングデバイスの揮発性メモリのスタンバイ電力を低減するためのシステムおよび方法
US20230016888A1 (en) Memory mapping for hibernation
CN101673191B (zh) 数据写入方法、装置及数据存储系统
TW201333677A (zh) 計算系統之快速平台冬眠及回復
TWI224728B (en) Method and related apparatus for maintaining stored data of a dynamic random access memory
US20170068304A1 (en) Low-power memory-access method and associated apparatus
CN111813455B (zh) 固态硬盘的低功耗实现方法、装置、计算机设备和存储介质
CN107728954A (zh) 一种磁盘运行状态的控制方法、装置及设备
WO2020135411A1 (zh) 用于nvdimm的数据备份和恢复方法、nvdimm控制器以及nvdimm
WO2020135412A1 (zh) 用于nvdimm的数据备份和恢复方法、nvdimm控制器以及nvdimm
CN104572511A (zh) 具有混合架构的存储装置和计算机系统
CN111857596B (zh) Ssd低功耗实现方法、装置、计算机设备及存储介质
TW202134859A (zh) 用來進行恢復管理的方法以及記憶裝置及其控制器以及電子裝置
US9239610B2 (en) Systems and methods for managing data in a system for hibernation states
CN108536271B (zh) 一种降低功耗的方法、装置及存储介质
TW201327160A (zh) 於休眠機制之方法及其電腦系統
CN107436823A (zh) 自动排程备份的系统及其方法
CN118155673B (zh) 分段上电恢复方法、装置、计算机设备及可读存储介质
CN107346216B (zh) 一种存储设备及其数据处理方法

Legal Events

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