本公開涉及非易失性臨時數據處理。提供了處理存儲在諸如NAND閃存的非易失性存儲器中的臨時數據的系統和方法。臨時數據可以包括休眠數據或電子設備的僅一個啟動周期所需的任何其它數據。當在非易失性存儲器的一個或多個頁面中存儲臨時數據時,電子設備可以將臨時標記存儲為至少一個頁面中的元數據的一部分。以該方式,在下一次啟動電子設備時,電子設備可以使用該臨時標記來確定相關聯的頁面包含不需要的數據。電子設備因此可以使該頁面無效并從其元數據表中忽略該頁面。
【技術實現步驟摘要】
本公開涉及非易失性臨時數據處理。
技術介紹
NAND閃存以及其它類型的非易失性存儲器(NVM)通常被應用在電子設備中用作大容量存儲。例如,諸如便攜式媒體播放器的消費電子設備往往包括NAND閃存來存儲音樂、視頻以及其它媒體程序。這樣的數據通常打算要長期存儲,例如,以天、月或甚至年的量級。NVM還可被用在電子設備中用于不同于長期存儲的其它目的。例如,電子設備可能臨時將來自易失性存儲器的數據存儲在NVM中以使得易失性存儲器能夠在降低功率的休眠狀態中斷電而不丟失數據。又例如,NVM可以用在虛擬存儲器方案中,來增加電子設備的易失性存儲器所表現出的容量。
技術實現思路
提供了用于處理打算短期存儲在非易失性存儲器(諸如閃存)中的數據的系統和方法。通過允許與長期數據不同地處理短期存儲,存儲器管理效率和NVM的有效性都能夠被增加。短期存儲可以包括在NVM中存儲僅在操作系統的當前實例期間被需要的數據,而一旦電子設備關機或重新啟動(或甚至更早)就不再有用。該數據可以被稱作“非易失性臨時數據”或“NV臨時數據”,因為,該數據是被臨時需要的,但是被存儲在持久的非易失性介質中。NV臨時數據可以包括例如基于硬件的休眠數據、應用產生的數據、基于應用的休眠數據、交換文件和其它臨時文件。在一些實施例中,當存儲NV臨時數據時,電子設備可以使用臨時標記來修飾NV臨時數據。例如,對于電子設備在其中存儲NV臨時數據的NVM的每個頁面,電子設備可以在頁面的元數據中包括臨時標記。可替換地,電子設備可以在存儲NV臨時數據的塊的至少一個頁面中提供臨時標記。這使得電子設備能夠將NV臨時數據與在多次設備啟動(bootup)中都需要的信息進行區分。在電子設備的啟動期間,電子設備可以被配置為執行各種啟動步驟,例如構建元數據表。元數據表可以包括例如表示文件系統發布的哪些邏輯地址(例如邏輯塊地址(LBA))當前被分配的表,和/或邏輯至物理地址映射。電子設備可以通過掃描NVM的頁面并確定每個頁面是否包括臨時標記(或每個頁面是否位于被標記用于存儲NV臨時數據的塊中)來創建元數據表。如果頁面包括臨時標記,則包括在該頁面中的數據僅在上次啟動電子設備時有用,并且在當前啟動中不需要。因此,電子設備可以將該頁面標記為具有無效數據并從元數據表中忽略該頁面(及其存儲的元數據)。通過在啟動時執行這樣的清理操作,電子設備可以保證從一開始就高效使用NVM存儲位置。即,在當前啟動周期中的任何時刻,電子設備都不在垃圾收集或磨損均衡的過程中執行不必要的操作來維護廢棄的NV臨時數據。在一些實施例中,電子設備可以基于數據是否為NV臨時數據來選擇存儲位置和/或用于存儲數據的編程技術。例如,電子設備可以選擇較低性能的存儲位置,諸如較小可靠性的頁面或塊(例如,高度循環的塊),來存儲NV臨時數據。在一些實施例中,電子設備可以選擇較高速度的存儲位置或用于存儲NV臨時數據的編程技術,諸如單層單元(SLC)塊。附圖說明本專利技術的上述和其它方面和優點將在考慮了下面結合附圖的具體描述之后變得清楚,附圖中相同標號表示相同部件,其中圖I是具有根據本專利技術的各種實施例配置的非易失性存儲器的示例性電子設備的框圖;圖2和圖3是根據本專利技術的各種實施例的存儲非易失性臨時數據的示例性非易失 性存儲位置的圖形示意;圖4是根據本專利技術的各種實施例的使用臨時標記修飾非易失性存儲器中的非易失性臨時數據的示例性過程的流程圖;以及圖5是根據本專利技術的各種實施例的用于在電子設備啟動時處理非易失性臨時數據的示例性過程的流程圖。具體實施例方式圖I是示例性電子設備100的框圖。在一些實施例中,電子設備100可以是或可以包括便攜式媒體播放器(例如由加州庫比蒂諾的蘋果公司出品的iPod )、蜂窩電話(例如由蘋果公司出品的iPhone )、口袋大小的個人計算機、個人數字助理(PDA)、桌上型計算機、膝上型計算機、以及任何其它適當類型的電子設備或系統。電子設備100可以包括片上系統(SoC) 110和非易失性存儲器(NVM) 120。NVM120可以包括基于浮柵或電荷捕獲技術的NAND閃存、NOR閃存、可擦除可編程只讀存儲器(EPR0M)、電可擦除可編程只讀存儲器(EEPR0M)、鐵電RAM (FRAM)、磁阻RAM (MRAM)或其任意組合。NVM 120可以被組織成“塊”,其是最小的可擦除單元,并且可以進一步被組織成“頁面”,其可以是可被編程或讀取的最小的單元。在一些實施例中,NVM 120可以包括多個集成電路,每個集成電路可以具有多個塊。來自相應集成電路的塊(例如具有相同位置或塊編號的塊)可以形成被稱作“超級塊”的邏輯單元。NVM 120的每個存儲位置(例如,頁面或塊)可以使用物理地址(例如物理頁面地址或物理塊地址)來尋址。盡管在圖I中僅示出了一個NVM,但是可替換地,電子設備100可以包括多個NVM封裝。片上系統110可以包括控制電路112、存儲器114以及NVM接口 116。控制電路112通常可以控制SoC 110以及電子設備100的一般操作和功能。控制電路112可以包括任何適當的部件、電路或邏輯,例如一個或多個處理器。控制電路112可以在程序的控制下操作,所述程序諸如應用、操作系統或加載在存儲器114中的NVM驅動器(例如NVM驅動器117)。存儲器114可以包括任何適當類型的易失性存儲器,例如隨機存取存儲器(RAM)(例如,靜態RAM (SRAM)、動態隨機存取存儲器(DRAM)、同步動態隨機存取存儲器(SDRAM)、雙倍速率(DDR) RAM)、高速緩存存儲器、或其任意組合。在一些實施例中,存儲器114可以作為實現為控制電路112的一部分的任何處理器的主存儲器。在這些和其它實施例中,存儲器114可以存儲有時(即同時或不同時間)也可以作為NV臨時數據被存儲在NVM 120中的數據。如上所述,NV臨時數據包括存儲在NVM中的僅在操作系統的當前實例期間被需要的數據,而一旦電子設備100被關閉或重新啟動(或更早)就不再有用。例如,存儲器114和/或NVM 120可以以基于硬件的休眠數據的形式存儲NV臨時數據。基于硬件的休眠數據可以包括響應于進入基于硬件的休眠狀態(例如,存儲器114被斷電的降低功率狀態),從存儲器114轉移至NVM 120的數據。因此,基于硬件的休眠數據可以包括使得電子設備100在其從休眠狀態醒來時能夠返回至其休眠之前的操作狀態(例如在進入降低功率狀態之前所處的狀態)的數據。基于硬件的休眠數據可以表示設備的硬件和軟件的當前操作狀態。例如,設備狀態數據可以指出哪些程序正活躍地運行,或更特別地,哪個媒體資產(例如歌曲)正在被播放,或用戶當前訪問的圖形用戶界面中的位置。因為如果用戶在硬件休眠期間關閉電子設備100,用戶不會期望電子設備100返回到其休眠之 前的操作狀態,所以這樣的基于硬件的休眠數據是NV臨時數據的一個示例。在一些實施例中,存儲器114和/或NVM 120可以將應用產生的數據存儲為NV臨時數據。應用產生的數據可以包括與應用相關聯或由其產生的任何臨時有用的數據,諸如關于游戲應用中當前游戲的數據。在一些實施例中,應用可以向操作系統和文件系統提供關于應用產生的數據的臨時性質的指示,所以該數據可以被最終作為NV臨時數據存儲在NVM本文檔來自技高網...
【技術保護點】
一種電子設備,包括:易失性存儲器,用于存儲臨時數據;非易失性(NV)存儲器,包括多個頁面;控制電路,操作用于將所述臨時數據存儲在所述非易失性存儲器中作為NV臨時數據,其中所述控制電路在存儲有所述NV臨時數據的頁面中的至少一個頁面中存儲臨時標記。
【技術特征摘要】
...
【專利技術屬性】
技術研發人員:N·J·瓦克拉特,D·J·波斯特,
申請(專利權)人:蘋果公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。