公開了對于具有非易失存儲器(“NVM”)的系統的高效緩沖的系統和方法。樹可以存儲在系統的易失性存儲器中,其包含NVM的邏輯空間和物理地址之間的邏輯至物理的映射。當所述樹可用的存儲量低于預定閾值時,系統試圖減少NVM中的數據碎片,并因此扁平化樹的一部分。NVM接口可選擇最佳的樹的條目集合以結合。可以使用任意合適的方法,例如經過樹移動一個或多個滑動窗口,當條件滿足時擴大滑動窗口,掃描樹時使用優先級隊列,和/或當更新樹時維護優先級隊列。
【技術實現步驟摘要】
NAND快閃存儲器,以及其他類型的非易失性存儲器(“NVM”),通常用于大規模存儲。例如,諸如便攜式媒體播放器的消費電子產品通常包括閃存以存儲音樂、視頻和其他媒體。
技術介紹
具有NVM的系統可以包括數據結構,其將文件系統使用的邏輯地址映射到NVM的物理地址(例如,提供邏輯至物理的映射)。該結構經常可以駐留在易失性存儲器中。隨著更新現有文件或添加其他文件,存儲映射需要的存儲量可能相應增加。因此,在某些情況下,為該結構分配的存儲量不足以獲取所有的邏輯至物理映射。
技術實現思路
公開了對于具有非易失存儲器(“NVM”)的系統的較快樹扁平化(flatten)的系統和方法。樹可以存儲在系統的易失性存儲器中,其中樹可以包含在NVM的邏輯空間和物理地址之間的邏輯至物理的映射。當所述樹可用的存儲量低于預定閾值時,系統可能試圖減少NVM中的數據碎片數量,并因此可以扁平化樹的一部分。所釋放的樹存儲器的量可以添加回樹存儲器池。NVM接口可基于任何合適方法選擇最佳的樹的條目集合以結合,例如經過樹來移動一個或多個滑動窗口,當條件滿足時擴大滑動窗口,掃描樹時使用優先級隊列,和/或當更新樹時維護優先級隊列。附圖說明當結合附圖,參考如下詳細描述,本專利技術的以上和其他的方面和優勢將變得更加明顯,在圖中,同樣的附圖標記指相同的部件,其中圖1和2是根據本專利技術的各種實施例配置的電子設備的框圖;圖3是根據本專利技術的各種實施例的非易失性存儲器的功能視圖;圖4是根據本專利技術的各種實施例,邏輯塊地址到物理頁的示例性映射的框圖;圖5是根據本專利技術的各種實施例,用于提供邏輯至物理映射的示例性樹的一部分的框圖;圖6是根據本專利技術的各種實施例,邏輯塊地址至物理頁的另一示例性映射的框圖;圖7是根據本專利技術的各種實施例,用于提供邏輯塊地址至物理映射的另一示例性樹的一部分的框圖;圖8是根據本專利技術的各種實施例,用于較快樹扁平化的示例性處理的流程圖;圖9是根據本專利技術的各種實施例,用于在非易失性存儲器中產生物理連續碎片的示例性處理的流程圖;圖1OA和IOB是根據本專利技術的各種實施例,用于較快樹扁平化的另一示例性處理的流程圖;圖11是根據本專利技術的各種實施例,用于較快樹扁平化的再一示例性處理的流程圖;圖12是根據本專利技術的各種實施例,優先權隊列的框圖;圖13是根據本專利技術的各種實施例,用于較快樹扁平化的另一示例性處理的流程圖;以及圖14是根據本專利技術的各種實施例,另一優先級隊列的框圖。 圖15是根據本專利技術可替換實施例配置的存儲器接口的框圖。 圖16是根據本專利技術的另一可替換實施例配置的存儲器接口的框圖。具體實施例方式公開了對于具有非易失存儲器(“NVM”)的系統的較快樹扁平化的系統和方法。樹可以存儲在系統的易失性存儲器中,其中樹可以包含NVM的邏輯空間和物理地址之間的邏輯至物理的映射。當所述樹可用的存儲量低于預定閾值時,系統的NVM接口可能試圖減少NVM中的數據碎片,并因此可以扁平化樹的一部分。所釋放的樹存儲器的量可以添加回樹存儲器池。NVM接口例如通過將樹的條目的最佳集合結合成單個條目或節點而扁平化樹的一部分。最佳條目集合可以在邏輯空間中是連續的而在物理空間中是不連續的。因此,在選擇最佳條目集合之后,該NVM接口可以重新編碼對應于條目的數據片段,以至于片段可以是物理連續的。具體而言,NVM接口可以通過從NVM讀取對應于多個條目的數據而重新編碼所述片段,然后在易失性存儲器中保存該數據。在保存這些數據之后,NVM接口可將數據連續編入到NVM的新的超級塊。NVM接口可以使用任何合適的方法選擇最佳條目集合。在某些實施例中,NVM接口可以使用一個或多個滑動窗口以獲得最佳條目集合。在某些情況下,可以為一個或多個滑動窗口中的每個保持最小跨度。然后,基于不同的最小跨度之間的比較,NVM接口可以選擇最佳條目集合。在其他實施例中,NVM接口可以使用饑渴(greedy)方法以找到最佳的條目集合以扁平化。即,一旦發現最佳條目集合,NVM接口可以繼續在樹中尋找可以添加到最佳條目集合的額外連續條目。在進一步實施例中,NVM接口可以通過維護易失性存儲器中的優先權隊列找到最佳的條目集合。例如,NVM接口可以試圖在優先級隊列中插入與匹配滑動窗口的多個條目相關聯的參數。NVM接口可以繼續該處理,直到滑動窗口已經經過樹的末端。然后NVM接口可以使用優先級隊列找到最佳條目集合。在進一步實施例中,NVM接口可以通過當執行樹更新時維護候選條目的優先權隊列而找到最佳條目集合。如果后來判定樹可用的存儲器的量低于預定的閾值,NVM接口可以使用優先級隊列找到可以組合的條目。圖1示出電子設備100的框圖。在一些實施例中,電子設備100可以是或可以包括便攜式媒體播放器、移動電話、口袋大小的個人電腦、個人數字助理(“PDA”)、桌面電腦、筆記本電腦和任何其他適合的類型的電子設備。電子設備100可以包括片上系統(“SoC”)110和非易失性存儲器(“NVM”)120。非易失性存儲器120可以包括基于浮置柵極或電荷捕獲技術的NAND閃存,NOR閃存,可擦可編程只讀存儲器(“EPR0M”),電可擦可編程只讀存儲器(“EEPROM”),鐵電RAM( “FRAM”),磁阻RAM ( “MRAM”)或其在何組合。非易失性存儲器120可以組織成“塊”,其可以是最小的可擦單位,并進一步組織成“頁面”,該“頁面”可以是被編程或讀取的最小單位。在一些實施例中,NVM120可以包括多個集成電路,其中每個集成電路可具有多個塊。來自相應集成電路的存儲器位置(例如,塊或塊的頁)可形成“超級塊”。可使用物理地址(例如,物理頁面地址或物理塊地址)來引用NVM 120的每個存儲器位置(例如,頁面或塊)。片上系統110可以包括SoC控制電路112、存儲器114和NVM接口 118。SoC控制電路112可以控制SoCllO以及SoCllO或設備100的其他組件的通用操作和功能。例如,響應于用戶輸入和/或應用或操作系統的指令,SoC控制電路112可以向NVM接口 118發出讀或寫請求以從NVM120獲得數據或將數據存儲在NVM120中。為了清晰起見,SoC控制電路112請求存儲或檢索的數據可以被稱作“用戶數據”,即使數據不直接關聯于用戶或用戶應用程序。相反,用戶數據可以是SoC控制電路112產生或獲取的任何合適的數字信息序列(例如,通過應用程序或操作系統)。SoC控制電路112可以包括硬件、軟件、固件、以及任何組件,電路,或者驅動電子設備100功能的邏輯操作的任何組合。例如,SoC控制電路112可以包括在NVM120或存儲器114中存儲的軟件/固件控制下操作的一個或多個處理器。存儲器114可以包括任何合適類型的易失性存儲器、諸如隨機存取存儲器(“RAM”)(例如,靜態RAM( “SRAM”),動態隨機存取存儲器(“DRAM”),同步動態隨機存取存儲器(“SDRAM”)、雙數據率(DDR)RAM)、緩存存儲器、只讀存儲器(“ROM”)或其任意紐合。存儲器114可以包括臨時存儲用戶數據的數據源,用于編程到或從非易失性存儲器120讀取數據。在某些實施例中,存儲器114可以起主存的作用,用于作為SoC控制電路112的一部分實施的任何處理器。在一些實施例中,存儲器114可以儲存一本文檔來自技高網...
【技術保護點】
一種用于較快樹扁平化的方法,所述方法包括:檢測樹目前可用的存儲量低于預定閾值,其中所述樹存儲非易失存儲器(“NVM”)的邏輯空間和物理地址之間的邏輯至物理映射;在所述樹上移動至少兩個滑動窗口;當所述至少兩個滑動窗口在所述樹上移動時,保持對應于所述至少兩個滑動窗口的至少兩個最小跨度;確定所述至少兩個滑動窗口已在所述樹上完成移動;以及至少部分地基于所述至少兩個最小跨度之間的比較,選擇扁平化所述樹的條目集合。
【技術特征摘要】
...
【專利技術屬性】
技術研發人員:D·J·波斯特,V·科麥爾尼斯基,
申請(專利權)人:蘋果公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。