TWI587309B - 用於管理休眠狀態中裝置內資料之系統與方法 - Google Patents
用於管理休眠狀態中裝置內資料之系統與方法 Download PDFInfo
- Publication number
- TWI587309B TWI587309B TW101148543A TW101148543A TWI587309B TW I587309 B TWI587309 B TW I587309B TW 101148543 A TW101148543 A TW 101148543A TW 101148543 A TW101148543 A TW 101148543A TW I587309 B TWI587309 B TW I587309B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- data
- stored
- sleep state
- image data
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend 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)
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 (10)
- 一種用於結合一裝置之休眠來管理資料儲存之方法,該方法包括:在與一第一記憶體及一第二記憶體以操作方式耦合之一裝置之一控制器中:自該第一記憶體讀取第一資料;基於該第一資料產生儲存於該第一記憶體中之資料之影像資料;在該裝置進入一初始休眠狀態之前將儲存於該第一記憶體中之資料之該影像資料寫入至該第二記憶體;及在自該初始休眠狀態喚醒之後:自該第二記憶體讀取該影像資料;基於該影像資料重新建構該第一資料;將該重新建構第一資料寫入至該第一記憶體;自該第一記憶體讀取第二資料;比較該第二資料與自儲存於該第二記憶體上之該影像資料重新建構之資料之至少一部分以判定從該裝置自該初始休眠狀態喚醒起儲存於該第一記憶體中之資料是否已改變;回應於判定從自該初始休眠狀態喚醒起儲存於該第一記憶體中之資料已改變:將表示從該裝置自該初始休眠狀態喚醒起已改變之儲存於該第一記憶體中之該資料之至少一部 分之一第一資料差量(delta)儲存於該第二記憶體中,在該裝置進入一第一後續休眠狀態之前將該第一資料差量儲存於該第二記憶體中;在自該第一後續休眠狀態喚醒之後:自該第二記憶體讀取該影像資料及該第一資料差量並基於該影像資料及該第一資料差量重新建構該第二資料;將該重新建構第二資料寫入至該第一記憶體;判定從自該初始休眠狀態喚醒起儲存於該第一記憶體中之資料已改變,且作為回應:判定儲存於該第二記憶體中之資料差量之數目超過一臨限值,且作為回應:產生儲存於該第一記憶體中之該資料之新影像資料;及在進入一下一休眠狀態之前將儲存於該第一記憶體中之該資料之該新影像資料寫入至該第二記憶體。
- 如請求項1之方法,其中該第一記憶體包括DRAM記憶體,且該第二記憶體包括NAND記憶體。
- 如請求項1之方法,其進一步包括:在將該第一資料差量儲存於該第二記憶體中之前壓縮該第一資料差量以減小該第一資料差量之大小。
- 如請求項1之方法,其進一步包括:在將該第一資料差量儲存於該第二記憶體中之前塑形 該第一資料差量以減小該第一資料差量之一位元串流中零的數目。
- 如請求項1之方法,其中比較該第二資料與儲存於該第二記憶體上之該影像資料之至少一部分以判定從該裝置自該初始休眠狀態喚醒起儲存於該第一記憶體中之資料是否已改變包括:計算該第二資料之一第一循環冗餘檢查(CRC);計算自儲存於該第二記憶體上之該影像資料重新建構之該資料之一第二CRC;及判定該第一CRC與該第二CRC是否相等。
- 如請求項1之方法,其中該第二資料及資料之該部分係記憶體之一區段。
- 如請求項1之方法,其中該第二資料及資料之該部分係記憶體之一頁。
- 如請求項1之方法,其中該第二資料及資料之該部分係記憶體之一區塊。
- 一種用於管理資料儲存之裝置,其包括:一介面,其耦合至一第一記憶體及一第二記憶體;一處理器,其用於結合該裝置之休眠來管理資料儲存,該處理器經由該介面與該第一記憶體及該第二記憶體通信且經組態以:自該第一記憶體讀取第一資料;基於該第一資料產生儲存於該第一記憶體中之資料之影像資料; 在該裝置進入一初始休眠狀態之前將儲存於該第一記憶體中之該資料之該影像資料寫入至該第二記憶體;及在該裝置自該初始休眠狀態喚醒之後:自該第二記憶體讀取該影像資料;基於該影像資料重新建構該第一資料;將該重新建構第一資料寫入至該第一記憶體;自該第一記憶體讀取第二資料;比較該第二資料與自儲存於該第二記憶體上之該影像資料重新建構之資料之至少一部分以判定從該裝置自該初始休眠狀態喚醒起儲存於該第一記憶體中之資料是否已改變;及回應於判定從自該初始休眠狀態喚醒起儲存於該第一記憶體中之資料已改變,將表示從該裝置自該初始休眠狀態喚醒起已改變之儲存於該第一記憶體中之該資料之至少一部分之一第一資料差量儲存於該第二記憶體中,在該裝置進入一第一後續休眠狀態之前該第一資料差量係儲存於該第二記憶體中;在自該第一後續休眠狀態喚醒之後:自該第二記憶體讀取該影像資料及該第一資料差量並基於該影像資料及該第一資料差量重新建構該第二資料;將該重新建構第二資料寫入至該第一記憶體;判定從自該初始休眠狀態喚醒起儲存於該第一記 憶體中之資料已改變,且作為回應:判定儲存於該第二記憶體中之資料差量之數目超過一臨限值,且作為回應:產生儲存於該第一記憶體中之該資料之新影像資料;及在進入一下一休眠狀態之前將儲存於該第一記憶體中之該資料之該新影像資料寫入至該第二記憶體。
- 如請求項9之裝置,其中該第一記憶體包括DRAM記憶體,且該第二記憶體包括NAND記憶體。
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 TW201337942A (zh) | 2013-09-16 |
TWI587309B true 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 (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2517101B (en) | 2012-05-29 | 2020-04-29 | Hewlett Packard Development Co | Hibernation based on page source |
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 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020078338A1 (en) * | 2000-12-15 | 2002-06-20 | Ibm Corporation | Method and apparatus for fast computer initialization |
US20020087816A1 (en) * | 2000-12-29 | 2002-07-04 | Atkinson Lee W. | Fast suspend to disk |
WO2007056436A1 (en) * | 2005-11-14 | 2007-05-18 | Ardence, Inc. | 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 |
WO2009009719A2 (en) * | 2007-07-11 | 2009-01-15 | Citrix Systems, Inc. | Methods and systems for providing a level of access to a computing device |
US20100082962A1 (en) * | 2008-10-01 | 2010-04-01 | Novell, Inc. | Flash memory device for booting a computing device including embedded general purpose operating system |
US20100106886A1 (en) * | 2008-10-29 | 2010-04-29 | Sandisk Il Ltd. | Transparent Self-Hibernation of Non-Volatile Memory System |
WO2010129159A2 (en) * | 2009-05-05 | 2010-11-11 | Microsoft Corporation | Capturing and loading operating system states |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2779813B2 (ja) | 1988-09-06 | 1998-07-23 | セイコーエプソン株式会社 | コンピューター |
JP4517303B2 (ja) | 2006-12-28 | 2010-08-04 | ソニー株式会社 | 情報処理装置、起動方法、およびプログラム |
JP2008182710A (ja) * | 2007-01-23 | 2008-08-07 | Asustek Computer Inc | 無線通信システムにおいて情報の安全性を強化する方法及び関連装置 |
US8392606B2 (en) * | 2008-09-23 | 2013-03-05 | Synapse Wireless, Inc. | Wireless networks and methods using multiple valid network identifiers |
US9176883B2 (en) * | 2009-04-30 | 2015-11-03 | HGST Netherlands B.V. | Storage of data reference blocks and deltas in different storage devices |
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 | 삼성전자 주식회사 | 스냅샷 이미지를 이용한 부팅 장치 및 방법 |
-
2011
- 2011-12-19 US US13/330,185 patent/US9495173B2/en active Active
-
2012
- 2012-12-17 EP EP12812466.6A patent/EP2795463B1/en not_active Not-in-force
- 2012-12-17 WO PCT/US2012/070004 patent/WO2013096155A1/en active Application Filing
- 2012-12-17 CN CN201280069740.XA patent/CN104115116B/zh active Active
- 2012-12-19 TW TW101148543A patent/TWI587309B/zh not_active IP Right Cessation
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020078338A1 (en) * | 2000-12-15 | 2002-06-20 | Ibm Corporation | Method and apparatus for fast computer initialization |
US20020087816A1 (en) * | 2000-12-29 | 2002-07-04 | Atkinson Lee W. | Fast suspend to disk |
WO2007056436A1 (en) * | 2005-11-14 | 2007-05-18 | Ardence, Inc. | 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 |
CN101246389A (zh) * | 2006-09-29 | 2008-08-20 | 英特尔公司 | 提供从休眠状态瞬时接通恢复的计算系统节电方法和装置 |
WO2009009719A2 (en) * | 2007-07-11 | 2009-01-15 | Citrix Systems, Inc. | Methods and systems for providing a level of access to a computing device |
US20100082962A1 (en) * | 2008-10-01 | 2010-04-01 | Novell, Inc. | Flash memory device for booting a computing device including embedded general purpose operating system |
US20100106886A1 (en) * | 2008-10-29 | 2010-04-29 | Sandisk Il Ltd. | Transparent Self-Hibernation of Non-Volatile Memory System |
WO2010129159A2 (en) * | 2009-05-05 | 2010-11-11 | Microsoft Corporation | Capturing and loading operating system states |
Also Published As
Publication number | Publication date |
---|---|
US9495173B2 (en) | 2016-11-15 |
CN104115116B (zh) | 2017-03-22 |
TW201337942A (zh) | 2013-09-16 |
US20130159599A1 (en) | 2013-06-20 |
WO2013096155A1 (en) | 2013-06-27 |
CN104115116A (zh) | 2014-10-22 |
EP2795463A1 (en) | 2014-10-29 |
EP2795463B1 (en) | 2018-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI587309B (zh) | 用於管理休眠狀態中裝置內資料之系統與方法 | |
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 | |
CN104750571B (zh) | 用以进行错误纠正的方法、存储装置与存储装置的控制器 | |
JP6276470B2 (ja) | ポータブルコンピューティングデバイスの揮発性メモリのスタンバイ電力を低減するためのシステムおよび方法 | |
US12019544B2 (en) | Memory mapping for hibernation | |
WO2019120133A1 (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 | |
WO2020135411A1 (zh) | 用于nvdimm的数据备份和恢复方法、nvdimm控制器以及nvdimm | |
CN111813455B (zh) | 固态硬盘的低功耗实现方法、装置、计算机设备和存储介质 | |
CN111857596B (zh) | Ssd低功耗实现方法、装置、计算机设备及存储介质 | |
TWI738235B (zh) | 用來進行恢復管理的方法以及記憶裝置及其控制器以及電子裝置 | |
US9239610B2 (en) | Systems and methods for managing data in a system for hibernation states | |
TW201327160A (zh) | 於休眠機制之方法及其電腦系統 | |
CN118155673B (zh) | 分段上电恢复方法、装置、计算机设备及可读存储介质 | |
CN103777732A (zh) | 连接器的控制方法、连接器与存储器储存装置 | |
CN113094294B (zh) | Ssd异常掉电处理方法、装置、计算机设备及存储介质 | |
CN107346216B (zh) | 一种存储设备及其数据处理方法 | |
CN117093422A (zh) | 固态硬盘恢复方法、系统、计算机设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |