[go: up one dir, main page]

TWI864115B - 儲存裝置、儲存裝置的控制方法及記錄媒體 - Google Patents

儲存裝置、儲存裝置的控制方法及記錄媒體 Download PDF

Info

Publication number
TWI864115B
TWI864115B TW109133593A TW109133593A TWI864115B TW I864115 B TWI864115 B TW I864115B TW 109133593 A TW109133593 A TW 109133593A TW 109133593 A TW109133593 A TW 109133593A TW I864115 B TWI864115 B TW I864115B
Authority
TW
Taiwan
Prior art keywords
block
storage device
super
physical
valid page
Prior art date
Application number
TW109133593A
Other languages
English (en)
Other versions
TW202213084A (zh
Inventor
賴敬中
李連春
陳春樹
Original Assignee
韓商愛思開海力士有限公司
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 韓商愛思開海力士有限公司 filed Critical 韓商愛思開海力士有限公司
Priority to TW109133593A priority Critical patent/TWI864115B/zh
Priority to US17/210,847 priority patent/US11513949B2/en
Publication of TW202213084A publication Critical patent/TW202213084A/zh
Application granted granted Critical
Publication of TWI864115B publication Critical patent/TWI864115B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0891Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

一種儲存裝置、儲存裝置的控制方法及記錄媒體,其可用於具有記憶體之裝置。由一儲存裝置控制器提供多個超區塊的一超區塊有效頁計數表以及該等超區塊的多個內部區塊有效頁計數表,並且提供該等記憶體晶片的多個虛擬區塊映對表,以將一實體區塊位址相關聯的該等超區塊中的一第一超區塊映對到該等超區塊中的一第二超區塊。並可據以實現當儲存裝置需要執行垃圾收集時,藉由透過對被選擇的、以欲進行垃圾收集的超區塊進行更新映對內部區塊的處理以減少該超區塊的有效頁數,以提升垃圾收集的效能。

Description

儲存裝置、儲存裝置的控制方法及記錄媒體
本發明係關於一種電子裝置,更特別的是關於一種儲存裝置、儲存裝置的控制方法及記錄媒體。
由於非揮發性儲存裝置儲存之資料在斷電後也不會消失,且具有省電與體積小的特性,故此非揮發性儲存裝置如基於快閃記憶體的儲存裝置大量地應用於電子裝置上。此外,非揮發性儲存裝置如固態儲存裝置(SSD)亦已逐漸成為桌上型電腦、筆記型電腦、伺服器之類的電腦系統中所配備的儲存裝置。
電子裝置在執行應用程式以儲存文字、數據、照片、播放音訊或視訊等各種的資料時,往往在短時間內需要向儲存裝置提出大量資料寫入動作的請求。儲存裝置的控制器可在電子裝置(即主機)的寫入請求下產生寫入命令,並執行所產生的寫入命令。儲存裝置的控制器可利用命令佇列以儲存主機寫入命令。儲存於命令佇列中的主機寫入命令可依序輸出至儲存裝置的記憶體以進行資料寫入動作。另一方面,儲存裝置也有內部資料移動的需求。若儲存裝置在處理內部資料移動時,可能會影響源自電子裝置的寫入命令執行的效率,造成就電子裝置而言寫入效能的下降及浮動。如此一來,寫入效能的下降及浮動反映在應用程式所反應的流輰度或應用程式所提供的服務的效率的浮動不穩定的情況產生。
對於快閃記憶體或固態硬碟之儲存裝置而言,寫入放大(Write amplification,WA)中一種不欲發生的現象,即實際寫入的物理資料量是寫入資料量的多倍。在快閃記憶體和固態硬碟中,資料以由多個記憶單元(cell)組成的頁(page)為單位寫入到快閃記憶體中。然而,只能以較大的單位,如由多個頁面組成的稱為區塊(block),來進行擦除。如果在一區塊中的一些頁存在不再需要的資料,這些頁被稱為無效頁(invalid pages),而該區塊中存在有需要的資料的頁稱為有效頁(valid pages)。為了使該區塊可被用以從新寫入資料,儲存裝置會進行稱為垃圾收集(GC,garbage collection)的過程,僅將該區塊中有效頁讀取,並重新寫入到另一個先前擦除過的空的區塊中,然後再對前述的該區塊進行擦除而使其成為新的空的區塊。所有的SSD都包含不同程度的垃圾回收機制,但在執行的頻率和速度上有所不同。垃圾收集占了上述儲存裝置的寫入放大的很大一部分。
是以,在儲存裝置的諸多內部資料移動需求中,垃圾收集佔了重要的分量,垃圾收集的效能會對電子裝置而言整體寫入效能造成影響。
實施方式提供了一種儲存裝置、儲存裝置的控制方法及記錄媒體,其可用於具有記憶體之裝置,並可據以實現當儲存裝置需要執行關於內部資料移動的垃圾收集時,藉由透過對被選擇的、以欲進行垃圾收集的超區塊進行處理以減少該超區塊的有效頁數,以提升垃圾收集的效能。
實施方式提供一種儲存裝置的控制方法,該儲存裝置包括一儲存裝置控制器以及包括多個記憶體晶片之一記憶體,該控制方法包括以下步驟。 (a)由該儲存裝置控制器提供多個超區塊(superblock)的一超區塊有效頁計數表以及該等超區塊的多個內部區塊有效頁計數表,其中每個超區塊對應於屬於該等記憶體晶片之一組不同的、非重疊的多個實體區塊,每個實體區塊對應於該等記憶體晶片中一個對應的記憶體晶片的多個頁的一部分,並且該超區塊有效頁計數表包括對應於該等超區塊中各個超區塊的多個實體區塊的一總有效頁數,每個內部區塊有效頁計數表對應於該等超區塊中一超區塊並且包括與該超區塊的多個實體區塊對應的多個有效頁數。(b)由該儲存裝置控制器提供該等記憶體晶片的多個虛擬區塊映對表,以將一實體區塊位址相關聯的該等超區塊中的一第一超區塊映對到該等超區塊中的一第二超區塊。(c)基於該超區塊有效頁計數表,由儲存裝置控制器確定該等超區塊中欲被處理以進行垃圾收集運作的至少一被選的超區塊。(d)由該儲存裝置控制器透過基於該等內部區塊有效頁計數表和該等虛擬區塊映對表重新映對該至少一被選的超區塊來降低該至少一被選的超區塊的總有效頁數。(e)對重新映對的該至少一被選的超區塊執行垃圾回收運作。
於一實施例中,該步驟(d)包括:(d1)基於該等內部區塊有效頁計數表,確定該至少一被選的超區塊的多個實體區塊中的一第一實體區塊所屬的一記憶體晶片是否具有一第二實體區塊,該第二實體區塊的有效頁數小於該第一實體區塊的有效頁數;以及(d2)如果確定該至少一被選的超區塊的多個實體區塊中的該第一實體區塊所屬的該記憶體晶片具有有效頁數小於該第一實體區塊的有效頁數的第二實體區塊,則透過更新該等虛擬區塊映對表中的至少一個來重新映對該第一實體區塊和該第二實體區塊。
於一實施例中,當該第一實體區塊的有效頁數大於或等於一有效頁數門檻值時,執行該步驟(d1)。
於一實施例中,在該步驟(d2)中,透過為該至少一被選的超區塊的該第一實體區塊及另一個超區塊的該第二實體區塊所屬的該記憶體晶片的該虛擬區塊映對表進行更新,來重新映對該第一實體區塊和該第二實體區塊。
於一實施例中,該記憶體晶片的該虛擬區塊映對表被更新以包括用以指示將該至少一被選的超區塊的該第一實體區塊映對到另一超區塊的第二實體區塊的資料。
實施方式又提供一種記錄媒體,其記錄用以讓一儲存裝置執行如上述多個實施例中任一個實施例所述之儲存裝置的控制方法的程式碼。
實施方式另外提供一種儲存裝置,包括一記憶體及一儲存裝置控制器。該記憶體包括多個記憶體晶片。該儲存裝置控制器,電連接到該記憶體,且用於控制該記憶體以對該記憶體進行資料存取,其中該儲存裝置控制器被配置為執行多個運作。該等運作包括以下。(a)由該儲存裝置控制器提供多個超區塊(superblock)的一超區塊有效頁計數表以及該等超區塊的多個內部區塊有效頁計數表,其中每個超區塊對應於屬於該等記憶體晶片之一組不同的、非重疊的多個實體區塊,每個實體區塊對應於該等記憶體晶片中一個對應的記憶體晶片的多個頁的一部分,並且該超區塊有效頁計數表包括對應於該等超區塊中各個超區塊的多個實體區塊的一總有效頁數,每個內部區塊有效頁計數表對應於該等超區塊中一超區塊並且包括與該超區塊的多個實體區塊對應的多個有效頁數。(b)由該儲存裝置控制器提供該等記憶體晶片的多個虛擬區塊映對表,以將一實體區塊位址相關聯的該等超區塊中的一第一超區塊映對到該等超區塊中 的一第二超區塊。(c)基於該超區塊有效頁計數表,由儲存裝置控制器確定該等超區塊中欲被處理以進行垃圾收集運作的至少一被選的超區塊。(d)由該儲存裝置控制器透過基於該等內部區塊有效頁計數表和該等虛擬區塊映對表重新映對該至少一被選的超區塊來降低該選擇的超區塊的總有效頁數。(e)對重新映對的該至少一被選的超區塊執行垃圾回收運作。
於一實施例中,該運作(d)包括:(d1)基於該等內部區塊有效頁計數表,確定該至少一被選的超區塊的多個實體區塊中的一第一實體區塊所屬的一記憶體晶片是否具有一第二實體區塊,該第二實體區塊的有效頁數小於該第一實體區塊的有效頁數;以及(d2)如果確定該至少一被選的超區塊的多個實體區塊中的該第一實體區塊所屬的該記憶體晶片具有有效頁數小於該第一實體區塊的有效頁數的第二實體區塊,則透過更新該等虛擬區塊映對表中的至少一個來重新映對該第一實體區塊和該第二實體區塊。
於一實施例中,當該第一實體區塊的有效頁數大於或等於一有效頁數門檻值時,該儲存裝置控制器執行該運作(d1)。
於一實施例中,在該運作(d2)中,該儲存裝置控制器透過為該至少一被選的超區塊的該第一實體區塊及另一個超區塊的該第二實體區塊所屬的該記憶體晶片的該虛擬區塊映對表進行更新,來重新映對該第一實體區塊和該第二實體區塊。
於一實施例中,該儲存裝置控制器更新該記憶體晶片的該虛擬區塊映對表以包括用以指示將該至少一被選的超區塊的該第一實體區塊映對到另一超區塊的第二實體區塊的資料。
藉此,上述實施方式提供了一種儲存裝置、儲存裝置的控制方法及記錄媒體,其可用於具有記憶體之裝置,實施方式提供了一種儲存裝置、儲存裝置的控制方法及記錄媒體,其可用於具有記憶體之裝置,並可據以實現當儲存裝置需要執行關於內部資料移動的垃圾收集時,藉由透過對被選擇的、以欲進行垃圾收集的超區塊進行更新映對內部區塊的處理以減少該超區塊的有效頁數,以提升垃圾收集的效能。如此,更可促助使用該儲存裝置的電子裝置的整體寫入效能的提升。
10:主機
100、300:儲存裝置控制器
110:處理單元
120:緩衝單元
130_1~130_N:記憶通道
140:記憶通道控制單元
150:主機介面單元
160:匯流排
200:記憶體
D1_1~D1_M、DN_1~DN_M:記憶體晶片
310:主機介面層
320:快閃記憶體轉換層
330:快閃記憶體介面層
CH0、CH1、CH2、CH3:記憶通道
D0、D1~D31:記憶體晶片
B_D0、B_D1~B_D31:實體方塊
CE0、CE1~CE7:致能訊號
SB、SB0、SBX、SBY、SBZ:超區塊
SB_VT:超區塊有效頁計數表
SB0_IT、SB1_IT~SBP_IT:內部區塊有效頁計數表
L2PMT:邏輯到實體映對表
LBA:邏輯區塊位址
D0_VMT、D1_VMT~DQ-1_VMT:虛擬區塊映對表
S10~S50:步驟
S41、S45:步驟
S110~S170:步驟
圖1為儲存裝置的一實施例之示意方塊圖。
圖2為儲存裝置控制器的一實施例之示意方塊圖。
圖3為儲存裝置的控制方法的一實施例之示意流程圖。
圖4為超區塊的一實施例之示意圖。
圖5為多個記憶體晶片的多個內部區塊有效頁計數表的一實施例之示意圖。
圖6為多個記憶體晶片的多個虛擬區塊映對表的一實施例之示意圖。
圖7為圖3中步驟S40之一實施例之示意流程圖。
圖8A為針對選擇之超區塊進行內部區塊的重新映對的一實施例之示意圖。
圖8B為針對選擇之超區塊進行內部區塊的重新映對的一實施例之示意圖。
圖9A為超區塊的內部區塊的映對關係的一實施例之示意圖。
圖9B為針對選擇之超區塊進行內部區塊的重新映對後的超區塊的內部區塊的映對關係的一實施例之示意圖。
圖10為圖3中步驟S40之另一實施例之示意流程圖。
為充分瞭解本發明之目的、特徵及功效,茲藉由下述具體之實施例,並配合所附之圖式,對本發明做詳細說明,說明如後。
請參考圖1,其繪示本發明之儲存裝置的一實施例,圖1的儲存裝置可用以實現圖3、5或10的控制方法(其將於之後詳細說明,此處先暫時略過),並可據以實現當儲存裝置需要執行關於內部資料移動的垃圾收集時,藉由透過對被選擇的、以欲進行垃圾收集的超區塊進行更新映對內部區塊的處理以減少該超區塊的有效頁數,以提升垃圾收集的效能。如圖1所示,儲存裝置包括儲存裝置控制器100及記憶體200。儲存裝置控制器100包括處理單元110、緩衝單元120、複數個記憶通道130_1~130_N(如N為大於1的整數)及對應的記憶通道控制單元140。緩衝單元120可以利用揮發性記憶體或非揮發性記憶體來實現。記憶體200包括複數個記憶體晶片D1_1~D1_M至DN_1~DN_M(如N、M為大於1的整數)。舉例而言,記憶體晶片為快閃記憶體,譬如NOR型記憶體或NAND型記憶體,然而本發明的實現並不受此例子限制。
儲存裝置控制器100可藉由主機介面單元150與主機10通訊以接收來自主機10的讀取請求或寫入請求。儲存裝置控制器100就主機讀取請求或主機寫入請求而產生對應的讀取命令或寫入命令,並將產生的對應的命令傳送至對應的記憶通道(如130_1~130_N)的記憶通道控制單元140。記憶通道控制單元140用以控制至少一記憶體晶片。例如,記憶通道控制單元140傳送資料讀取命令至某一記憶體晶片並將因此而讀取之資料傳送至儲存裝置控制器100中,譬如緩 衝單元120中。儲存裝置控制器100將主機10所請求的資料傳送至主機10。又例如,記憶通道控制單元140依據資料寫入命令而將欲寫入之資料寫入至記憶體晶片中。當儲存裝置控制器100控制記憶體200的操作時,緩衝單元120可以儲存由儲存裝置控制器100和記憶體200來使用以用於諸如讀取操作、寫入操作、程式化操作和抹除操作的各種操作的資料。在圖1中,複數個記憶通道控制單元140以平行處理的方式運作讀取或寫入動作。此外,處理單元110可以透過匯流排160而與記憶通道(如130_1~130_N)電性耦接。然而,本發明之實現並不受上述例子限制。例如,前述各個記憶通道控制單元可以利用邏輯電路或可程式化電路來實現,或者以軟體方式來實現並且由處理單元110來執行。
主機介面單元150可以處理從主機10提供的命令和資料,以及可以透過諸如通用序列匯流排(USB)、多媒體卡(MMC)、周邊元件連接-快速(PCI-E)、串列連接SCSI(SAS)、串列高級技術連接(SATA)、並行高級技術連接(PATA)、小型電腦系統介面(SCSI)、增強小型磁片介面(ESDI)和集成驅動電路(IDE)的各種介面協定中的至少一種來與主機10通信。
請同時參考圖1與圖2,其中圖2為儲存裝置控制器的一實施例之示意方塊圖。圖2呈現儲存裝置控制器300以韌體或軟體方式來實現時的架構。譬如,儲存裝置控制器300包含主機介面層310、快閃記憶體轉換層320、快閃記憶體介面層330。主機介面層310用以與主機10通訊並作為主機10與儲存裝置控制器300之介面。快閃記憶體轉換層320用來進行對讀取、寫入、抹除操作的管理。快閃記憶體轉換層320更用以將邏輯位址(如邏輯區塊位址或邏輯頁位址)轉換為記憶體200之記憶體晶片(如D1_1~D1_M至DN_1~DN_M)所對應的實體位址(如 實體區塊位址或實體頁位址)。快閃記憶體介面層330用於處理快閃記憶體轉換層320及記憶體200之通訊,譬如將命令自快閃記憶體轉換層320傳送至記憶體200。
圖2所示的儲存裝置控制器300可利用圖1的硬體架構來實現。快閃記憶體轉換層320在進行邏輯位址轉換為實體位址時需要參考及維護一位址映對表。由於位址映對表的資料量大,快閃記憶體轉換層320將位址映對表的部分區段儲存於快取中。當快取中沒有轉換所需的邏輯位址與實體位址的對應關係時,快閃記憶體轉換層320需要將快取中位址映對表的區段內容更新而產生映對表讀取命令。此外,在某些記憶體產品的應用場合中,例如是嵌入式多媒體卡(eMMC)或其他的記憶體產品,位址映對表係儲存於記憶體產品的記憶體中,且本發明並不受此例子限制。
儲存裝置控制器300控制針對記憶體200的各種操作,例如,寫入操作、讀取操作、程式化操作、抹除操作。例如,儲存裝置控制器可在主機10的寫入請求下產生寫入命令,並執行所產生的寫入命令。儲存裝置控制器可利用命令佇列以儲存主機寫入命令。儲存裝置控制器可依序處理儲存於命令佇列中的主機寫入命令以進行資料寫入動作。
特別地,儲存裝置控制器300控制用於快閃記憶體轉換層320的韌體演算法。例如,儲存裝置控制器300可以實現包括垃圾收集(GC,garbage collection)、耗損平衡(WL,wear-leveling)、區塊收回(BC,block reclaim)及故障區塊(RBB,runtime bad block)之演算法。故此,例如在執行垃圾收集、耗損平衡、區塊收回及故障區塊中任一種演算法時,儲存裝置也有內部資料移動的需求。
隨著儲存裝置在執行內部資料移動及主機資料寫入時,寫入效能會有下降或浮動的可能。若儲存裝置控制器需要處理大量的內部資料移動時,可 能會影響源自主機的寫入命令執行的效率,造成就電子裝置而言寫入效能的下降。反之,若儲存裝置控制器的內部資料移動需求較少或沒有時,寫入效能上升。為了促進主機資料寫入效率之穩定性或效能提升,以下提出儲存裝置的控制方法的實施例。
請參考圖3,其為儲存裝置的控制方法的一實施例之示意流程圖。如圖3所示之實施例,其可用於具有記憶體之裝置,並可據以實現當儲存裝置需要執行關於內部資料移動的垃圾收集時,藉由透過對被選擇的、以欲進行垃圾收集的超區塊進行處理以減少該超區塊的有效頁數,以提升垃圾收集的效能。請參照圖1與3,圖3的儲存裝置的控制方法之一實施例包括以下步驟S10至S50。其中引用了圖1中的元件作示例作輔助說明,然而該控制方法的實現並不受示例的限制。
如步驟S10所示,由該儲存裝置控制器100提供多個超區塊(superblock)的一超區塊有效頁計數表以及該等超區塊的多個內部區塊有效頁計數表,其中每個超區塊對應於屬於該儲存裝置的多個記憶體晶片(如D1_1~D1_M至DN_1~DN_M)之一組不同的、非重疊的多個實體區塊,每個實體區塊對應於該等記憶體晶片中一個對應的記憶體晶片(如D1_1~D1_M至DN_1~DN_M中的一個)的多個頁的一部分,並且該超區塊有效頁計數表包括對應於該等超區塊中各個超區塊的多個實體區塊的一總有效頁數,每個內部區塊有效頁計數表對應於該等超區塊中一超區塊並且包括與該超區塊的多個實體區塊對應的多個有效頁數。
如步驟S20所示,由該儲存裝置控制器100提供該等記憶體晶片的多個虛擬區塊映對表,以將一實體區塊位址相關聯的該等超區塊中的一第一超區塊映對到該等超區塊中的一第二超區塊。
如步驟S30所示,基於該超區塊有效頁計數表,由儲存裝置控制器100確定該等超區塊中欲被處理以進行垃圾收集運作的至少一被選的超區塊。例如在該等超區塊中依據各超區塊的總有效頁數,確定總有效頁數為最少或較少的超區塊作為該至少一被選的超區塊。
如步驟S40所示,由該儲存裝置控制器100透過基於該等內部區塊有效頁計數表和該等虛擬區塊映對表重新映對該至少一被選的超區塊來降低該選擇的超區塊的總有效頁數。例如, 如步驟S50所示,對重新映對的該至少一被選的超區塊執行垃圾回收運作。
藉此,上述實施方式提供了一種儲存裝置的控制方法及記錄媒體,其可用於具有記憶體之裝置,實施方式提供了一種儲存裝置、儲存裝置的控制方法及記錄媒體,其可用於具有記憶體之裝置,並可據以實現當儲存裝置需要執行關於內部資料移動的垃圾收集時,藉由透過對被選擇的、以欲進行垃圾收集的超區塊進行更新映對內部區塊的處理以減少該超區塊的有效頁數,以提升垃圾收集的效能。如此,更可促助使用該儲存裝置的電子裝置的整體寫入效能的提升。
以下就圖3中的步驟S10至S50分別舉例說明如下。
關於步驟S10中的超區塊(superblock),請參考圖4,其為超區塊的一實施例之示意圖。如圖4所示,一個超區塊SB對應於屬於多個記憶體晶片(如 D0、D1~D31)之一組不同的、非重疊的多個實體區塊(如B_D0、B_D1~B_D31)。每個實體區塊(如B_D0、B_D1或B_D31)對應於該等記憶體晶片中一個對應的記憶體晶片(如D0、D1或D31)的多個頁的一部分。換言之,該超區塊SB為每個記憶體晶片(如D0、D1~D31)中的一個實體區塊(如B_D0、B_D1~B_D31)的集合。接著,可進一步由各個記憶體晶片(如D0、D1~D31)中選取與該超區塊SB的實體區塊(如B_D0、B_D1~B_D31)不重疊的另一實體區塊而成另一超區塊。如此類推,建立多個超區塊,每個超區塊對應於屬於該等記憶體晶片(如D0、D1~D31)之一組不同的、非重疊的多個實體區塊。
此外,在一些實施例中,對於基於圖2的快閃記憶體轉換層320來實現的儲存裝置控制器300而言,快閃記憶體轉換層320可以利用超區塊SB作為區塊分配單位(block allocation unit)。例如,基於圖1、2、4的來實現一儲存裝置的示例中,記憶體晶片D0、D4~D28可對應至儲存裝置中的記憶通道CH0,記憶體晶片D1、D5~D29可對應至儲存裝置中的記憶通道CH1,記憶體晶片D2、D6~D30可對應至儲存裝置中的記憶通道CH2,記憶體晶片D3、D7~D31可對應至儲存裝置中的記憶通道CH3。再者,在上述示例中,該儲存裝置中可以實現多個晶片致能(chip enable,CE)訊號來控制對應的記憶體晶片,從而可以應用多記憶通道來進行多個記憶體晶片的讀取或寫入,以增加讀寫的效能,其中例如圖4中顯示8個以CE0、CE1~CE7代表的致能訊號來示意的對應關係,如致能訊號CE0示意可應用於D0~D3,其他可如此類推。然而,本發明的實現並不受此例子限制。
在如圖3所示的控制方法中,係針對超區塊來進行處理,故於步驟S10、S20中,提出與多個超區塊相關聯的查找表(look-up table)以促進該控制方 法的實現,該等查找表包含:多個超區塊的一超區塊有效頁計數表、多個內部區塊有效頁計數表,以及該等記憶體晶片的多個虛擬區塊映對表。
於步驟S10中,該超區塊有效頁計數表包括對應於該等超區塊中各個超區塊的多個實體區塊的一總有效頁數。例如,有20個超區塊,則可以配置該超區塊有效頁計數表有20個對應的欄位,分別記錄對應的超區塊的總有效頁數。舉例而言,基於圖1或圖2的儲存裝置控制器,可以建立該超區塊有效頁計數表,設定其初始值,並於儲存裝置控制器運作的過程中,記錄、計數或更新每個超區塊的總有效頁數,這些實現方式可以利用快閃記憶體轉換層320來實現。
在如圖3所示的控制方法中,更進一步地由儲存裝置控制器(或快閃記憶體轉換層)提供多個內部區塊有效頁計數表。詳言之,各個超區塊(如圖4的SB)中組成的實體方塊(如B_D0、B_D1~B_D31)可稱為內部區塊,故對於該超區塊(如圖4的SB),儲存裝置控制器(或快閃記憶體轉換層)提供一個對應於該超區塊(如圖4的SB)的內部區塊有效頁計數表。舉例而言,就圖4的超區塊SB的示例而言,內部區塊有效頁計數表包括該超區塊SB的多個實體區塊(如B_D0、B_D1~B_D31)的對應的且數量(如32個)相同的欄位,即有每個欄位記錄對應的實體區域的有效頁數。
請參考圖5,其為多個記憶體晶片的多個內部區塊有效頁計數表的一實施例之示意圖。在基於圖1、圖2的儲存裝置的一示例中,該儲存裝置的儲存裝置控制器可被配置為提供P+1個超區塊(如P為大於或等於1的整數),其中該等超區塊可分別以符號SB0、SB1~SBP代表),該P+1個超區塊之一超區塊有效頁計數表SB_VT有P+1個欄位,各欄位記錄對應的超區塊的所有實體區塊的總有效頁數,如圖5所示。此外,如圖5所示,對應到P+1個超區塊,有P+1個內部區塊有 效頁計數表SB0_IT、SB1_IT~SBP_IT,每個內部區塊有效頁計數表記錄對應的超區塊(如SB0、SB1~SBP)的各個實體區塊的有效頁數。例如,該儲存裝置有Q個(如16=4x4個)記憶體晶片(如Q=NxM,N、M為大於1的整數),則每個超區塊有Q個實體區塊,故每個超區塊對應的內部區塊有效頁計數表亦有Q個欄位,且該Q個欄位分別記錄該超區塊(如SB0、SB1或SBP)的所有內部區塊的個別有效頁數。舉例而言,基於圖1或圖2的儲存裝置控制器,可以建立每個超區塊對應的內部區塊有效頁計數表,設定其初始值,並於儲存裝置控制器運作的過程中,記錄、計數或更新每個超區塊的內部區塊的個別有效頁數,這些實現方式可以利用快閃記憶體轉換層320來實現。然而,本發明之實現並不受上述示例限制。
關於步驟S20,請參考圖6,其為多個記憶體晶片的多個虛擬區塊映對表的一實施例之示意圖。在基於圖1、圖2的儲存裝置的一示例中,該儲存裝置的記憶體包含Q個記憶體晶片(如可分別以符號D0、D1~DQ-1來代表)。該儲存裝置控制器可被配置為提供分別對應至該Q個記憶體晶片的Q個虛擬區塊映對表D0_VMT、D1_VMT~DQ-1_VMT,如圖6所示。例如,該等虛擬區塊映對表用以將與從一邏輯到實體映對表L2PMT獲得的一實體區塊位址相關聯的該等超區塊中的一第一超區塊映對到該等超區塊中的一第二超區塊,其中該實體區塊位址與一邏輯區塊位址(LBA)相對應,且該實體區塊位址可以表示一實體區塊對應的記憶體晶片及該記憶體晶片中的頁(如以編號表示),或表示一實體區塊對應的記憶通道、該記憶通道的記憶體晶片及記憶體晶片中的頁(如以編號表示),或其他任何合適的方式來實現。舉例而言,初始時,該儲存裝置控制器可被配置為將記憶體晶片D0的多個頁依據各個頁所分配至的超區塊的值記錄於虛擬區塊映對表D0_VMT中,並設為對應至同一超區塊;對於其他的虛擬區塊映對表亦可初始 地作相似的處理。藉此,當上述圖3的控制方法的步驟S40執行時,該等初始化虛擬區塊映對表可促進重新映對該至少一被選的超區塊來降低該選擇的超區塊的總有效頁數。然而,本發明之實現並不受上述示例限制。
關於步驟S30,在一實施例中,該儲存裝置控制器依據各超區塊的總有效頁數的變化確定總有效頁數為最少的超區塊作為至少一被選的超區塊。在另一實施例中,該儲存裝置控制器依據各超區塊的總有效頁數是否滿足一判斷準則來確定至少一被選的超區塊。例如,該判斷準測為一總有效頁數門檻值,若該儲存裝置控制器確定總有效頁數為小於或等於該總有效頁數門檻值的超區塊作為至少一被選的超區塊。
關於步驟S40,請參考圖7,其為圖3中步驟S40之一實施例之示意流程圖。於該實施例中,步驟S40包括步驟S41及S45。
如步驟S41所示,基於該等內部區塊有效頁計數表,確定該至少一被選的超區塊的多個實體區塊中的一第一實體區塊所屬的一記憶體晶片是否具有一第二實體區塊,該第二實體區塊的有效頁數小於該第一實體區塊的有效頁數。
如步驟S45所示,如果確定該至少一被選的超區塊的多個實體區塊中的該第一實體區塊所屬的該記憶體晶片具有有效頁數小於該第一實體區塊的有效頁數的第二實體區塊,則透過更新該等虛擬區塊映對表中的至少一個來重新映對該第一實體區塊和該第二實體區塊。
在一些實施例中,若被選的超區塊的數目有兩個或以上,則可以利用步驟S41及S45分別針對各個被選的超區塊,從而執行重新映對的運作,其 中若針對某個被選的超區塊於執行步驟S41時並未發現對應的第二實體區塊,則可進一步對剩下的被選的超區塊繼續執行步驟S41。
關於步驟S41,請參考圖8A,其為針對選擇之超區塊進行內部區塊的重新映對的一實施例之示意圖。如圖8A所示,被選的超區塊(如以SBX代表)以一方陣來示意,並於該方陣中以每一格子來代表該被選的超區塊的內部區塊,並於格子中顯示數字來示意該內部區塊的有效頁數。然而,請注意的是,如圖8A或其他圖式中只是為了方便說明而示意,故本發明之實現並不受本文中示例或示意圖的限制,在實現時,可以各種合適的軟體(如資料結構或資料庫)、硬體或靭體等方式來實現。
舉例而言,基於該等內部區塊有效頁計數表,被選的超區塊SBX的內部區塊有效頁數(如以VPC代表)為39,為了使被選的超區塊SBX的內部區塊有效頁數變得更少,該儲存裝置控制器可以配置為從被選的超區塊SBX的多個實體區塊(即內部區塊)中選取適當數量的實體區塊來進行步驟S41及S45,以達成有效地降低被選的超區塊SBX的內部區塊有效頁數的效果。例如,於一實施例中,該儲存裝置控制器可以配置為在被選的超區塊SBX的內部區塊中找出有效頁數大於或等於一有效頁數門檻值(例如10)時,執行該步驟S41。舉例而言,對於圖8A而言,有至少兩個內部區塊滿足該有效頁數門檻值,其中若沿用圖4中的區塊命名方式的話,該兩個內部區塊B_D3、B_D10分別對應的有效頁數為15、12,且該兩個內部區塊B_D3、B_D10分別對應的記憶體晶片為D3、D10。藉此,該有效頁數門檻值可以避免在實現步驟S41時對找出不合適數量的內部區塊,可促進步驟S41及S45的執行效率;反之,若對有效頁數為1、2或3的內部區塊,進行步驟S41則很可能會造成時間及運算資源上的浪費。
此外,對於步驟S41而言,是為了在其他超區塊中尋找是否存在有效頁數較小的內部區塊,以便與前述的內部區塊B_D3、B_D10於步驟S45中重新映對,即進行內部區塊的交換,從而使重新映對、被選的超區塊SBX有較小的總有效頁數。對欲重新映對的被選的超區塊SBX的一個內部區塊如B_D3(或稱第一實體區塊)而言,需要在該內部區塊B_D3所屬的同一個記憶體晶片D3中尋找是否存在有效頁數較小的內部區塊(或稱第二實體區塊),以便維持較佳的效能。
在圖8A示例中,另一超區塊SBZ的內部區塊B_D3與被選的超區塊SBX的內部區塊B_D3同屬同一個記憶體晶片D3,且區塊SBY的內部區塊B_D3的有效頁數(如3)小於被選的超區塊SBX的內部區塊B_D3有效頁數(如15)。此外,同樣地,另一超區塊SBY的內部區塊B_D10與被選的超區塊SBX的內部區塊B_D10同屬同一個記憶體晶片D10,且區塊SBY的內部區塊B_D10的有效頁數(如0)小於被選的超區塊SBX的內部區塊B_D10有效頁數(如12)。由此,可以取超區塊SBZ的內部區塊B_D3及超區塊SBY的內部區塊B_D10作為步驟S41所述的第二實體區塊,從而進一步執行步驟S45。
請參考圖8B,在執行步驟S45時,透過更新該等虛擬區塊映對表中的至少一個來重新映對該第一實體區塊(如超區塊SBX的內部區塊B_D3或B_D10)和該第二實體區塊(如超區塊SBZ的內部區塊B_D3或超區塊SBY的內部區塊B_D10)。換言之,超區塊SBX的內部區塊B_D3與超區塊SBZ的內部區塊B_D3交換,超區塊SBX的內部區塊B_D10與超區塊SBY的內部區塊B_D10交換。
於一實施例中,在該步驟S45中,透過為該至少一被選的超區塊的該第一實體區塊(如超區塊SBX的內部區塊B_D3或B_D10)及另一個超區塊的該第二實體區塊(如超區塊SBZ的內部區塊B_D3或超區塊SBY的內部區塊 B_D10)所屬的該記憶體晶片的該虛擬區塊映對表進行更新,來重新映對該第一實體區塊和該第二實體區塊。請參考圖9A、9B,圖9A為超區塊的內部區塊的映對關係的一實施例之示意圖,圖9B為針對選擇之超區塊進行內部區塊的重新映對後的超區塊的內部區塊的映對關係的一實施例之示意圖。在圖9A、9B中,每一長條圖形對應到某一記憶體晶片(如D0~D16);每一長條圖形的格子示意對應的記憶體晶片中由至少一頁組成的區塊所屬的超區塊的編號,如記憶體晶片D0所對應的長條圖形中第一個格子內的值為0,表示對應的方塊屬於超區塊SB0,其他方塊則可如此類推;又為了便於理解,在長條最左旁顯示該格子初始時對應的超區塊的符號,如SB0、SBX、SBY、SBZ等。假設初始時的超區塊SBX、SBY、SBZ的內部區塊的映對關係如圖9A所示,其中以3條跨越該等長條圖形的橫向的直線來示意超區塊SBX、SBY、SBZ分別包含的區塊(或稱各超區塊的內部區塊)。在透過步驟S45的重新映對之後,重新映對之超區塊SBX、SBY、SBZ的內部區塊的映對關係如圖9B所示,其中前述的3條直接已改變為3條跨越該等長條圖形的截線來示意超區塊SBX、SBY、SBZ分別包含的區塊(或稱各超區塊的內部區塊)。請注意的是,圖9A、9B僅為示意圖,本發明之實現並不受上述示例限制。
於一實施例中,該記憶體晶片的該虛擬區塊映對表被更新以包括用以指示將該至少一被選的超區塊的該第一實體區塊映對到另一超區塊的第二實體區塊的資料。請再參考圖6及圖9A、9B,如圖9B的更新的映對關係可以透過利用如圖6示意的虛擬區塊映對表來實現。例如,在對應到記憶體晶片D3的虛擬區塊映對表D3_VMT中,可以記錄記憶體晶片D3的原有的超區塊SBX的內部區塊B_D3的實體位址對應的頁被映對到SBZ,並可以記錄原有的超區塊SBZ的內部區塊B_D3的實體位址對應的頁被映對到SBX;另外,在對應到記憶體晶片D10 的虛擬區塊映對表D10_VMT中,可以記錄記憶體晶片D10的原有的超區塊SBX的內部區塊B_D10的實體位址對應的頁被映對到超區塊SBY,並可以記錄原有的超區塊SBY的內部區塊B_D10的實體位址對應的頁被映對到超區塊SBX。舉例而言,圖6所示的每個記憶體晶片的虛擬區塊映對表可以配置為記錄該記憶體晶片的編號、記憶通道的編號以及記錄該記憶體晶片中的每一實體頁的初始時所對應的超區塊的編號以及重新映新後所對應的超區塊的編號,從而有助於上述重新映對的實現。然而,虛擬區塊映對表的實作方式可以在合適的情況下加以簡化或作其他配置,故本發明之實現並不受上述示例限制。
請參考圖10,其為圖3中步驟S40之另一實施例之示意流程圖。如步驟S110所示,確定被選的超區塊中針對一記憶體晶片(如設參數DN=0,代表從記憶體晶片D0開始)的區塊(如以block_x代表);例如,從該記憶體晶片D0對應的虛擬區塊映對表(如圖6所示意)中查找所對應的區塊編號(或稱區塊數字)。如步驟S120所示,判斷該區塊block_x的有效頁數是否大於門檻值(例如門檻值為5、10或其他);若該區塊(如block_x)的有效頁數大於門檻值則執行步驟S130。如步驟S130所示,尋找於同一記憶體晶片中有較小有效頁數的區塊(如以block_y代表)。如步驟S140所示,判斷步驟S130所欲尋找的區塊是否能找到;若是,則執行步驟S150;若否,則執行步驟S160。如步驟S150所示,進行對重新映對區塊block_x及block_y;如圖8B、9B所示意的映對方式。如步驟S160所示,設定針對下一個記憶體晶片(如,設定參數DN增值加一,如以虛擬程式碼表示DN++)。如步驟S170所示,判斷是否已對所有記憶體晶片進行處理,例如判斷參數DN是否大於最大的記憶體晶片的數目(例如Q=16或32等);若是,則執行步驟S110;若否,則停止流程,或執行其他步驟。藉此,利用圖10的實施例可以針對被選的超區塊實現基 於圖4中控制方法的步驟S40。若被選的超區塊有兩個或以上,亦可以重複利用圖10的實施例進行步驟S40。
此外,在一些實施例中,提出一種非暫態的記錄媒體,其記錄用以讓一運算裝置(如前述圖1或2所示的儲存裝置),藉由儲存裝置中的儲存裝置控制器來執行儲存裝置的控制方法之程式碼,其中方法包含依據圖3之方法的任一實施例或其組合。舉例而言,程式碼是一個或多個程式或程式模組,如用於實現依據圖3的步驟S10至S50、圖7的步驟S41和S45或圖10的步驟S110~S170,此等模組之程式碼係協同運作,且可以用任何適合的順序或平行而被執行。當運算裝置執行此程式碼時,能導致運算裝置執行基於圖3之儲存裝置的控制方法之一實施例。上述可讀取記錄媒體例如為靭體、ROM、RAM、記憶卡、光學式資訊儲存媒體、磁式資訊儲存媒體或其他任何種類的儲存媒體或記憶體,且本發明之實現方式並不受此例子限制。
此外,在上述關於儲存裝置的實施例(如圖1、圖2)中,處理單元110、記憶通道控制單元140、主機介面單元150中至少一者或其組合,係可以利用一個或多個電路來實現,如處理器、數位訊號處理器,或是以可程式化的積體電路如微控制器、元件可程式邏輯閘陣列(field programmable gate array,FPGA)或特殊應用積體電路(application specific integrated circuit,ASIC)之類的電路中之一個或多個電路來實現,亦可使用專屬的電路或模組來實現。再者,記憶通道控制單元亦可利用軟體方式如以行程、執行緒、程式模組或其他軟體方式來實現。然而,本發明之實現並不受此等例子所限制。此外,前述圖7的步驟S41、S45或圖10中的步驟S130、S140亦可利用硬體電路來加以實現,如邏輯電路或其他合適的數位電路,從而增進尋找有效頁數較小的其他實體區塊的效能。
藉此,上述實施方式提供了一種儲存裝置、儲存裝置的控制方法及記錄媒體,其可用於具有記憶體之裝置。由一儲存裝置控制器提供多個超區塊的一超區塊有效頁計數表以及該等超區塊的多個內部區塊有效頁計數表,並且提供該等記憶體晶片的多個虛擬區塊映對表,以將一實體區塊位址相關聯的該等超區塊中的一第一超區塊映對到該等超區塊中的一第二超區塊。並可據以實現當儲存裝置需要執行垃圾收集時,藉由透過對被選擇的、以欲進行垃圾收集的超區塊進行更新映對內部區塊的處理以減少該超區塊的有效頁數,以提升垃圾收集的效能。
本發明在上文中已以較佳實施例揭露,然熟習本項技術者應理解的是,該實施例僅用於描繪本發明,而不應解讀為限制本發明之範圍。應注意的是,舉凡與該實施例等效之變化與置換,均應設為涵蓋於本發明之範疇內。因此,本發明之保護範圍當以申請專利範圍所界定者為準。
S10~S50:步驟

Claims (9)

  1. 一種儲存裝置的控制方法,該儲存裝置包括一儲存裝置控制器以及包括多個記憶體晶片之一記憶體,該控制方法包括以下步驟:(a)由該儲存裝置控制器提供多個超區塊(superblock)的一超區塊有效頁計數表以及該等超區塊的多個內部區塊有效頁計數表,其中每個超區塊對應於屬於該等記憶體晶片之一組不同的、非重疊的多個實體區塊,每個實體區塊對應於該等記憶體晶片中一個對應的記憶體晶片的多個頁的一部分,並且該超區塊有效頁計數表包括對應於該等超區塊中各個超區塊的多個實體區塊的一總有效頁數,每個內部區塊有效頁計數表對應於該等超區塊中一超區塊並且包括與該超區塊的多個實體區塊對應的多個有效頁數;(b)由該儲存裝置控制器提供該等記憶體晶片的多個虛擬區塊映對表,以將與一實體區塊位址相關聯的該等超區塊中的一第一超區塊映對到該等超區塊中的一第二超區塊;(c)基於該超區塊有效頁計數表,由儲存裝置控制器確定該等超區塊中欲被處理以進行垃圾收集運作的至少一被選的超區塊;(d)由該儲存裝置控制器透過基於該等內部區塊有效頁計數表和該等虛擬區塊映對表重新映對該至少一被選的超區塊來降低該至少一被選的超區塊的總有效頁數,其中該步驟(d)包括:(d1)基於該等內部區塊有效頁計數表,確定該至少一被選的超區塊的多個實體區塊中的一第一實體區塊所屬的一記憶體晶片是否具有一第二實體區塊,該第二實體區塊的有效頁數小於該第一實體區塊的有效頁數;以及 (d2)如果確定該至少一被選的超區塊的多個實體區塊中的該第一實體區塊所屬的該記憶體晶片具有有效頁數小於該第一實體區塊的有效頁數的第二實體區塊,則透過更新該等虛擬區塊映對表中的至少一個來重新映對該第一實體區塊和該第二實體區塊;以及(e)對重新映對的該至少一被選的超區塊執行垃圾回收運作。
  2. 如請求項1所述之儲存裝置的控制方法,其中當該第一實體區塊的有效頁數大於或等於一有效頁數門檻值時,執行該步驟(d1)。
  3. 如請求項1所述之儲存裝置的控制方法,其中在該步驟(d2)中,透過為該至少一被選的超區塊的該第一實體區塊及另一個超區塊的該第二實體區塊所屬的該記憶體晶片的該虛擬區塊映對表進行更新,來重新映對該第一實體區塊和該第二實體區塊。
  4. 如請求項3所述之儲存裝置的控制方法,其中該記憶體晶片的該虛擬區塊映對表被更新以包括用以指示將該至少一被選的超區塊的該第一實體區塊映對到另一超區塊的第二實體區塊的資料。
  5. 一種記錄媒體,其記錄用以讓一儲存裝置執行如請求項1至4中任一項所述之儲存裝置的控制方法的程式碼。
  6. 一種儲存裝置,包括:一記憶體,包括多個記憶體晶片;和一儲存裝置控制器,電連接到該記憶體,用於控制該記憶體以對該記憶體進行資料存取,其中該儲存裝置控制器被配置為執行多個運作,該等運作包括:(a)由該儲存裝置控制器提供多個超區塊(superblock)的一超區塊有效頁計數表以及該等超區塊的多個內部區塊有效頁計數表,其中每個超區塊對應於屬於該等記憶體晶片之一組不同的、非重疊的多個實體區塊,每個實體區塊對應於該等記憶體晶片中一個對應的記憶體晶片的多個頁的一部分,並且該超區塊有 效頁計數表包括對應於該等超區塊中各個超區塊的多個實體區塊的一總有效頁數,每個內部區塊有效頁計數表對應於該等超區塊中一超區塊並且包括與該超區塊的多個實體區塊對應的多個有效頁數;(b)由該儲存裝置控制器提供該等記憶體晶片的多個虛擬區塊映對表,以將與一實體區塊位址相關聯的該等超區塊中的一第一超區塊映對到該等超區塊中的一第二超區塊;(c)基於該超區塊有效頁計數表,由儲存裝置控制器確定該等超區塊中欲被處理以進行垃圾收集運作的至少一被選的超區塊;(d)由該儲存裝置控制器透過基於該等內部區塊有效頁計數表和該等虛擬區塊映對表重新映對該至少一被選的超區塊來降低該至少一被選的超區塊的總有效頁數,其中該運作(d)包括:(d1)基於該等內部區塊有效頁計數表,確定該至少一被選的超區塊的多個實體區塊中的一第一實體區塊所屬的一記憶體晶片是否具有一第二實體區塊,該第二實體區塊的有效頁數小於該第一實體區塊的有效頁數;以及(d2)如果確定該至少一被選的超區塊的多個實體區塊中的該第一實體區塊所屬的該記憶體晶片具有有效頁數小於該第一實體區塊的有效頁數的第二實體區塊,則透過更新該等虛擬區塊映對表中的至少一個來重新映對該第一實體區塊和該第二實體區塊;以及(e)對重新映對的該至少一被選的超區塊執行垃圾回收運作。
  7. 如請求項6所述之儲存裝置,其中當該第一實體區塊的有效頁數大於或等於一有效頁數門檻值時,該儲存裝置控制器執行該運作(d1)。
  8. 如請求項6所述之儲存裝置,其中在該運作(d2)中,該儲存裝置控制器透過為該至少一被選的超區塊的該第一實體區塊及另一個超區塊的該 第二實體區塊所屬的該記憶體晶片的該虛擬區塊映對表進行更新,來重新映對該第一實體區塊和該第二實體區塊。
  9. 如請求項8所述之儲存裝置,其中該儲存裝置控制器更新該記憶體晶片的該虛擬區塊映對表以包括用以指示將該至少一被選的超區塊的該第一實體區塊映對到另一超區塊的第二實體區塊的資料。
TW109133593A 2020-09-28 2020-09-28 儲存裝置、儲存裝置的控制方法及記錄媒體 TWI864115B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW109133593A TWI864115B (zh) 2020-09-28 2020-09-28 儲存裝置、儲存裝置的控制方法及記錄媒體
US17/210,847 US11513949B2 (en) 2020-09-28 2021-03-24 Storage device, and control method and recording medium thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW109133593A TWI864115B (zh) 2020-09-28 2020-09-28 儲存裝置、儲存裝置的控制方法及記錄媒體

Publications (2)

Publication Number Publication Date
TW202213084A TW202213084A (zh) 2022-04-01
TWI864115B true TWI864115B (zh) 2024-12-01

Family

ID=80822670

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109133593A TWI864115B (zh) 2020-09-28 2020-09-28 儲存裝置、儲存裝置的控制方法及記錄媒體

Country Status (2)

Country Link
US (1) US11513949B2 (zh)
TW (1) TWI864115B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11544186B2 (en) * 2020-07-16 2023-01-03 Silicon Motion, Inc. Method and apparatus for data reads in host performance acceleration mode
US11544185B2 (en) * 2020-07-16 2023-01-03 Silicon Motion, Inc. Method and apparatus for data reads in host performance acceleration mode
CN113096713B (zh) * 2021-04-12 2024-05-07 合肥兆芯电子有限公司 存储器管理方法、存储器控制电路单元与存储器存储装置
US11782602B2 (en) * 2021-06-24 2023-10-10 Western Digital Technologies, Inc. Providing priority indicators for NVMe data communication streams
KR20230163864A (ko) * 2022-05-24 2023-12-01 에스케이하이닉스 주식회사 가비지 컬렉션의 희생 블록을 결정하는 메모리 시스템, 메모리 컨트롤러 및 그 동작 방법
US11972149B2 (en) 2022-07-27 2024-04-30 Western Digital Technologies, Inc. Storage system and method for optimizing host-activated defragmentation and proactive garbage collection processes
US12504903B2 (en) * 2023-02-22 2025-12-23 Micron Technology, Inc. Synchronizing operations between decks of a memory system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120096217A1 (en) * 2010-10-15 2012-04-19 Kyquang Son File system-aware solid-state storage management system
US20170262176A1 (en) * 2016-03-08 2017-09-14 Kabushiki Kaisha Toshiba Storage system, information processing system and method for controlling nonvolatile memory
US20170286288A1 (en) * 2016-03-30 2017-10-05 Sandisk Technologies Llc Method and System for Blending Data Reclamation and Data Integrity Garbage Collection
TW201915746A (zh) * 2017-09-21 2019-04-16 日商東芝記憶體股份有限公司 記憶體系統及控制非揮發性記憶體之控制方法
CN109753230A (zh) * 2017-11-02 2019-05-14 慧荣科技股份有限公司 控制数据存储装置运作的方法及数据存储装置及其控制器

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9798657B2 (en) * 2014-10-15 2017-10-24 Samsung Electronics Co., Ltd. Data storage device including nonvolatile memory device and operating method thereof
US10210041B2 (en) * 2015-11-05 2019-02-19 SK Hynix Inc. Systems and methods for low latency copy operations in non-volatile memory
KR102596400B1 (ko) * 2016-03-07 2023-11-01 에스케이하이닉스 주식회사 데이터 저장 장치 및 데이터 저장 장치의 동작 방법
US10540274B2 (en) 2016-03-29 2020-01-21 Micron Technology, Inc. Memory devices including dynamic superblocks, and related methods and electronic systems

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120096217A1 (en) * 2010-10-15 2012-04-19 Kyquang Son File system-aware solid-state storage management system
US20170262176A1 (en) * 2016-03-08 2017-09-14 Kabushiki Kaisha Toshiba Storage system, information processing system and method for controlling nonvolatile memory
US20170286288A1 (en) * 2016-03-30 2017-10-05 Sandisk Technologies Llc Method and System for Blending Data Reclamation and Data Integrity Garbage Collection
TW201915746A (zh) * 2017-09-21 2019-04-16 日商東芝記憶體股份有限公司 記憶體系統及控制非揮發性記憶體之控制方法
CN109753230A (zh) * 2017-11-02 2019-05-14 慧荣科技股份有限公司 控制数据存储装置运作的方法及数据存储装置及其控制器

Also Published As

Publication number Publication date
US11513949B2 (en) 2022-11-29
TW202213084A (zh) 2022-04-01
US20220100650A1 (en) 2022-03-31

Similar Documents

Publication Publication Date Title
TWI864115B (zh) 儲存裝置、儲存裝置的控制方法及記錄媒體
CN106681934B (zh) 一种存储设备垃圾回收的方法及设备
CN100483552C (zh) 在非易失性存储系统中执行自动磨损平衡的方法
US8612718B2 (en) Mapping alignment
US9666244B2 (en) Dividing a storage procedure
CN113490922B (zh) 固态硬盘写放大优化方法
US11126369B1 (en) Data storage with improved suspend resume performance
CN109582219B (zh) 存储系统、计算系统及其方法
CN102054533A (zh) 隔离顺序、随机和系统数据以减少垃圾回收的针对基于页映射的非易失性半导体存储器
AU2016397188B2 (en) Storage system and system garbage collection method
TWI430091B (zh) Semiconductor memory device
EP4109279B1 (en) Storage device and operating method of storage device
WO2020007030A1 (zh) 一种系统控制器和系统垃圾回收方法
TWI713032B (zh) 資料儲存裝置以及非揮發式記憶體控制方法
CN113687769A (zh) 用于提高数据处理系统中的操作效率的设备和方法
CN111610930B (zh) 数据储存装置以及非挥发式存储器控制方法
TWI786288B (zh) 儲存裝置、儲存裝置的控制方法及記錄媒體
TWI854078B (zh) 用以分配儲存裝置的多個記憶通道以進行串流資料寫入的方法、儲存裝置及其記錄媒體
US9652172B2 (en) Data storage device performing merging process on groups of memory blocks and operation method thereof
CN112527692B (zh) 数据储存装置以及非挥发式存储器控制方法
CN110888593B (zh) 数据储存装置以及非挥发式存储器控制方法
CN114595160B (zh) 存储设备、存储设备的控制方法及存储介质
CN116974481A (zh) 一种空闲物理块水位线的调整方法和存储设备
CN102063381B (zh) 用于闪存的数据写入方法及其控制器与储存系统
US20140281160A1 (en) Non-volatile semiconductor storage apparatus