用於加速在固態設備中的回收操作的物理到邏輯地址映射的製作方法
2023-04-28 12:35:06
用於加速在固態設備中的回收操作的物理到邏輯地址映射的製作方法
【專利摘要】一種用於在固態設備中增加回收操作性能的方法,包括以下步驟:(A)在存儲器中創建一個具有多個閒位置的空的物理到邏輯地址映射,(B)將與每個將數據寫入到塊的寫入操作相關聯的物理頁面地址填充所述多個空閒位置的一個,其中所述塊具有多個頁面;(C)在向所述塊的倒數第二頁面寫入的過程中,將所述物理到邏輯地址映射寫入到所述多個頁面的最後一頁;以及(D)通過讀取所述地址映射以確定所述多個頁面是否包含有效數據,從而開始所述塊的回收操作。
【專利說明】用於加速在固態設備中的回收操作的物理到邏輯地址映射
【技術領域】
[0001]本發明一般涉及存儲設備,更具體地,涉及用於實現物理到邏輯地址映射以加速固態設備中的回收操作的方法和/或裝置。
【背景技術】
[0002]傳統固態設備(SSD)與硬碟設備(HDD)操作不同。在HDD中,宿主想要寫入的每個邏輯塊地址(LBA)具有用於該寫入操作的固定物理地址空間。在SSD中,不具有LBA限制。在傳統NAND快閃記憶體中,數據按頁面寫入。如果一個頁面已經寫入了數據,新的數據需要寫入該頁面。擦除操作需要在包含該頁面的塊上執行。擦除之後,新的數據可以在該頁面上寫入。如果不再需要該塊的一些頁面上的數據(也叫做過期頁面),在該塊中僅僅具有有效數據的頁面被讀取和重新寫入到其他先前擦除的空塊中。此時沒有移動過期數據而留下的空閒頁面對新數據是可用的。這叫做碎片收集。在傳統系統中,碎片收集需要從一個塊的所有頁面中查找,這很費時。
[0003]期待在SSD中執行物理到邏輯地址映射來加速回收操作。
【發明內容】
[0004]本發明涉及用於增加固態設備中的回收操作的性能的方法,包括步驟:(A)在存儲器中創建具有多個記錄位置的空的物理到邏輯地址映射,(B)將與每個將數據寫入到塊的寫入操作相關聯的物理頁面地址填充到多個記錄位置的一個,塊具有多個頁面,(C)在向塊的倒數第二頁面寫入的過程中,向多個頁面中的最後的頁面寫入物理到邏輯地址映射,
(D)通過讀取地址映射確定所述多個頁面是否包含有效數據,初始化塊回收操作。
[0005]本發明的特徵和優點包括提供了物理到邏輯地址映射,其能夠(i)加速SSD中的回收,(ii)確定映射的塊是否包含碎片數據,和/或(iii)易於實現。
【專利附圖】
【附圖說明】
[0006]本發明的這些和其他特徵和優點將從隨後的詳細說明和所附的權利要求及附圖中顯而易見,其中:
[0007]圖1是本發明的一個實施例的框圖;
[0008]圖2是解釋示範寫入操作的示意圖;
[0009]圖3是快閃記憶體結構的示意圖;
[0010]圖4是回收操作的流程圖。
[0011]圖5是解釋物理到邏輯地址映射的示例的示意圖。
[0012]圖6是實現回收操作的過程的示意圖。
【具體實施方式】
[0013]本發明的實施例涉及一種在固態設備(SSD)中將物理到邏輯地址映射而加速回收操作的方法。該物理到邏輯地址包括一個寫入到該SSD的一個NAND快閃記憶體部分的數據表格。在一個示例中,當該SSD開始回收操作時,SSD中的固件將首先讀取該映射到一內部RAM,然後決定哪個塊需要被回收。通過使用物理到邏輯映射,該SSD固件僅僅讀取該NAND快閃記憶體的一些頁面便可完成一個回收操作。
[0014]參考圖1,示出了解釋本發明的一個實施例的裝置80的框圖。在一個示例中,裝置80可以實現為一個具有一非易失存儲電路的設備,例如移動計算設備。但是,也可採用其他類型的設備以符合特定實施例的設計標準。裝置80通常包括一個塊(或電路)82,塊(或電路)84以及塊(或電路)86。電路84可包括塊(或電路)100。塊84顯示為一個控制器。塊100可實現為一個存儲器。存儲器100可存儲用於控制電路84的固件102,或其他軟體。固件102可操作該控制器並包括所描述的回收操作。存儲器10可存儲物理到邏輯映射。
[0015]信號(例如REQ)可由電路82產生。信號REQ可由電路84接收。信號REQ可以是一個請求信號,其可用於訪問來自電路86的數據。信號(例如I/O)可由電路84產生來向電路86顯示。信號REQ可包括一個或更多地址比特。信號(例如DATA)可以是一個或更多由電路82接收的數據部分。
[0016]圖中示出了電路82實現為宿主電路。電路82從電路86讀取和向電路86寫入數據。電路86通常實現為一個非易失存儲電路例如NAND快閃記憶體。但是,也可實現為滿足特定實施例的設計標準的其他類型的存儲器。電路86可包括多個模塊90a-90n。模塊90a_90n可實現為NAND快閃記憶體晶片。在一些實施例中,電路86可以是NAND快閃記憶體設備。在其他實施例中,電路84和/或電路86可以實現為具有一個或更多非易失設備的固態設備的所有或一部分。電路86通常可操作地在非易失條件下存儲數據。當從電路86讀取數據,電路82可訪問信號REQ中識別出的數據集(例如多個比特)。在一個示例中,模塊90a-90n可以是硬連線到印刷電路板(PCB)的預製模塊。在其他示例中,模塊90a-90n可以是可移除模塊,其能夠用於增加或減少電路86的總尺寸。在一個實施例中,電路86可包括可移除和/或不可移除模塊90a-90n。此外,模塊90a_90n的每個可包括多個獨立存儲單元92a_92n。
[0017]參考圖2,示出了示例寫入操作。在示出的示例中,向頁面O寫入LPAO示為「I」 ;還示出了向頁面I和2寫入LPA4和10。如果宿主82請求到LPAO的另一寫入,控制器82需要寫入到其他頁面,例如到頁面3,示為「2」。在這一的例子中,LPAO存儲在頁面3中。下次宿主82讀取LPA0,固件102須從頁面3讀取,而非頁面O。這樣的話,包含在頁面O中的LPA數據被叫做碎片,由於最新的數據存儲在頁面3中。當宿主82執行到介質86的一些數據寫入操作之後,許多LPA將重新寫入,每次寫到不同位置。固件102保持跟蹤最新的位置,然後控制器84包括「系統映射」以記錄這一映像,如「3」所示。
[0018]參考圖3,示出了存儲器86的結構示意圖。數據以被叫做頁面(由多個元組成)的單元而寫入存儲器86。以更大的被叫做塊(由多個頁面組成)的單元擦除存儲器86。如果位於塊的一些頁面上的數據不再需要(也叫做過期頁面),在該塊中僅具有有效數據的頁面被讀取,並重新寫入另一個先前擦除的空的塊。沒有移除過期數據留下來的空閒頁面此時可用於存儲新的數據。在示出的例子中,四個頁面(A-D)被寫入塊(X)。如果單獨的頁面當前是空閑的(被擦除),其可在任何時間被寫入。四個新的頁面(E-H)和四個替換頁面(A』 -D』 )被寫入到塊(X)。原始的A-D頁面現在是無效(過期)數據,但是在該塊被清空之前,不能被覆蓋寫入。為了將新的數據寫入到具有過期數據(例如(A-D)的頁面),所有有效頁面(例如E-H和A』 -D』 )被讀取和寫入到一個新的塊(例如Y),此時舊的塊(例如X)被擦除。這一最後的步驟就是碎片收集。
[0019]固件102列出了物理到邏輯地址映射以加速回收過程。回收過程包括寫每個塊的物理到邏輯地址映射。一個例子中,物理到邏輯地址包含所有信息以確定該塊是否包含碎片數據。該物理到邏輯地址映射是一個包含「物理地址」到「邏輯頁面地址」映射的特定表格。下面的表1說明了這樣的一個例子。
[0020]表1
[0021]
【權利要求】
1.一種在固態設備中增加回收操作性能的方法,包括下列步驟: (A)在存儲器中創建一個具有多個記錄位置的空的物理到邏輯地址映射, (B)將與每個將數據寫入到塊的寫入操作相關聯的物理頁面地址填充所述多個記錄位置的一個,其中所述塊具有多個頁面; (C)在向所述塊的倒數第二頁面寫入的過程中,將所述物理到邏輯地址映射寫入到所述多個頁面的最後一頁;以及 (D)通過讀取所述地址映射以確定所述多個頁面是否包含有效數據,從而開始所述塊的回收操作。
2.如權利要求1所述的方法,進一步包括步驟: 確定包含有效數據的塊的所有邏輯地址。
3.如權利要求2所述的方法,進一步包括步驟: 將所述有效數據移動到一第二塊中。
4.如權利要求1所述的方法,進一步包括: 將所述塊添加到一個可用塊的群中。
5.如權利要求1所述的方法,其中所述固態設備包括多個NAND快閃記憶體模塊。
6.如權利要求5所述的方法,其中所述NAND快閃記憶體模塊是可移動的。
7.如權利要求1所述的方法,其中所述方法在控制器上存儲的固件中實現。
8.如權利要求7所述的方法,其中所述控制器包括一固態設備控制器。
9.如權利要求1所述的方法,其中所述固態設備存儲可被宿主設備訪問的數據。
10.一種用於在固態設備中增加回收操作性能的裝置,包括: 用於在存儲器中創建一個具有多個記錄位置的空的物理到邏輯地址映射的創建裝置; 用於將與每個將數據寫入到塊的寫入操作相關聯的物理頁面地址填充所述多個記錄位置的一個的記錄裝置,其中所述塊具有多個頁面; 用於在向所述塊的倒數第二頁面寫入的過程中,將所述物理到邏輯地址映射寫入到所述多個頁面的最後一頁的寫入裝置;以及 用於通過讀取所述地址映射以確定所述多個頁面是否包含有效數據,從而開始所述塊的回收操作的開始裝置。
11.一種用於在固態設備中增加回收操作性能的裝置,包括: 一存儲器,被配置為存儲一具有多個記錄位置的物理到邏輯地址映射;以及一控制器,被配置為(i)將與每個將數據寫入到塊的寫入操作相關聯的物理頁面地址填充所述多個空閒位置的一個,其中所述塊具有多個頁面,(ii)在向所述塊的倒數第二頁面寫入的過程中,將所述物理到邏輯地址映射寫入到所述多個頁面的最後一頁;以及(iii)通過讀取所述地址映射以確定所述多個頁面是否包含有效數據,從而開始所述塊的回收操作。
12.如權利要求11所述的裝置,其中所述控制電路進一步被配置為確定包含有效數據的塊的所有邏輯地址。
13.如權利要求11所述的裝置,其中所述控制電路進一步被配置為將所述有效數據移動到一第二塊。
14.如權利要求11所述的裝置,其中所述控制電路進一步被配置為將所述塊添加到可用塊的群。
15.如權利要求 11所述的裝置,其中所述控制器通過宿主設備控制訪問所述固態設備。
【文檔編號】G06F12/02GK103970669SQ201310050270
【公開日】2014年8月6日 申請日期:2013年2月6日 優先權日:2013年2月6日
【發明者】馬利昭, 董智敏, 榮幸, 袁戎, 汪寧 申請人:Lsi公司