TWI729674B - 資料儲存裝置及其垃圾蒐集方法 - Google Patents
資料儲存裝置及其垃圾蒐集方法 Download PDFInfo
- Publication number
- TWI729674B TWI729674B TW109101110A TW109101110A TWI729674B TW I729674 B TWI729674 B TW I729674B TW 109101110 A TW109101110 A TW 109101110A TW 109101110 A TW109101110 A TW 109101110A TW I729674 B TWI729674 B TW I729674B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- blocks
- block
- source blocks
- storage device
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0817—Cache consistency protocols using directory methods
- G06F12/0822—Copy directories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7204—Capacity control, e.g. partitioning, end-of-life degradation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7209—Validity control, e.g. using flags, time stamps or sequence numbers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一種垃圾蒐集方法,適用於一資料儲存裝置,此垃圾蒐集方法包括:從複數個資料區塊中選取複數個來源區塊,其中複數個來源區塊的總有效資料數大於或等於一個區塊的一預設資料數;複製部分來源區塊的有效資料至一目的區塊,其中部分來源區塊的總有效資料數小於預設資料數;複製剩餘來源區塊的全部或部份有效資料至目的區塊,其中複製有效資料的資料量等於預設資料數減去部分來源區塊的總有效資料數;以目的區塊的映射資訊更新邏輯至實體位址映射表;以及將全部或部分來源區塊回收成為備用區塊。
Description
本發明是有關於資料儲存之相關技術,尤其是有關於一種可用於一資料儲存裝置之垃圾蒐集方法。
資料儲存裝置,尤其是採用非揮發性儲存媒體的資料儲存裝置,包括複數個資料區塊,每一資料區塊包含複數個資料頁,每一資料頁用以儲存至少一儲存單位的資料,儲存單位可為512B或較佳為4KB。資料區塊又依據其儲存資料與否而區分為空白資料區塊(或稱為備用區塊)與非空白資料區塊(或稱使用中資料區塊)。為了進行資料的管理及存取,資料儲存裝置需要建立及儲存一個資料的邏輯至實體位址L2P映射表(Host logical-to-Flash physical address mapping table,H2F table),並於資料儲存裝置運作時將邏輯至實體位址L2P映射表複製至動態隨機存取記憶體(Dynamic random access memory,DRAM),以增加資料的管理及存取上的效率。另外,L2P映射表的大小依其記錄內容而不同,較常見的大小為資料儲存裝置的資料儲存容量的1/1000,以資料儲存容量為256GB(GigaByte)的資料儲存裝置為例,L2P映射表的大小為256MB(MegaByte),因此,資料儲存裝置所配置的DRAM的大小較佳為大於或等於256MB,以儲存一
整個L2P映射表以及資料儲存裝置運作時所需要的系統資料、參數、或程式。
對於沒有配置動態隨機存取記憶體或者僅配置小型DRAM(即DRAM的大小不足以儲存一整個邏輯至實體位址L2P映射表)的資料儲存裝置而言,整個邏輯至實體位址L2P映射表會分割成複數個子L2P映射表,並時常交換該些子L2P映射表至小型DRAM以進行垃圾蒐集。而在蒐集來源區塊的有效資料時,會依序從第一個來源區塊的第一張子L2P映射表從非揮發性儲存媒體載入到控制器內部,並且去檢查此次垃圾蒐集的每個來源區塊是否有有效資料仍在這張子L2P映射表上,這種檢查所有來源區塊的作法是為了減少頻繁地交換該些子L2P映射表,之後若有其他來源區塊擁有相同的子L2P映射表的話,便可以不用重新載入到控制器內部。然而,在挑選來源區塊時,會將來源區塊的有效資料盡可能的塞滿或超過目的地來源區塊。當選定的來源區塊的有效資料總和超過目的地來源區塊時,有可能會發生在此次垃圾蒐集結束後,並無法保證能夠釋放出來源區塊變成備用區塊,因而存在著技術上的需求。
本發明之目的在提供一種可用於一資料儲存裝置之垃圾蒐集方法,其可確保目的區塊可以被有效利用,並且確保來源區塊被釋放而成為備用區塊。
本發明實施例提供一種垃圾蒐集方法,適用於一資料儲存裝置,垃圾蒐集方法包括:從複數個資料區塊中選取複數個來源區塊,其中複數個來源區塊的總有效資料數大於或等於一個區塊的一預設資
料數;複製部分來源區塊的有效資料至一目的區塊,其中,部分來源區塊的總有效資料數小於預設資料數;複製剩餘來源區塊的全部或部份有效資料至目的區塊,其中,複製有效資料的資料量等於預設資料數減去部分來源區塊的總有效資料數;以目的區塊的映射資訊更新邏輯至實體位址映射表;以及將全部或部分來源區塊回收成為備用區塊。
本發明實施例提供一種資料儲存裝置,包括:一控制單元,用以執行一垃圾蒐集方法,包括:從複數個資料區塊中選取複數個來源區塊,其中複數個來源區塊的總有效資料數大於或等於一個區塊的一預設資料數;複製部分來源區塊的有效資料至一目的區塊,其中,部分來源區塊的總有效資料數小於預設資料數;複製剩餘來源區塊的全部或部份有效資料至目的區塊,其中,複製有效資料的資料量等於預設資料數減去部分來源區塊的總有效資料數;以目的區塊的映射資訊更新邏輯至實體位址映射表;以及將全部或部分來源區塊回收成為備用區塊。
為使能更進一步瞭解本發明之特徵及技術內容,請參閱以下有關本發明之詳細說明與附圖,但是此等說明與所附圖式僅係用來說明本發明,而非對本發明的權利範圍作任何的限制。
10:主機
11:中央處理單元
12:連接介面
20:資料儲存裝置
21:控制單元
22:非揮發性儲存媒體
30:區塊
31:資料區塊
32:備用區塊
212:介面邏輯
214:微處理器
216:控制邏輯
218:揮發性儲存媒體
311、312、313、314:來源區塊
321:目的區塊
S21、S23、S25、S27、S29:步驟
圖1為本發明實施例所提供的資料儲存裝置及其與主機的電性耦接關係的示意圖;圖2為本發明實施例所提供的垃圾蒐集方法的流程圖;圖3A為本發明實施例的垃圾蒐集方法所提供的從複數個資料區塊中選取複數個來源區塊的示意圖;
圖3B為本發明實施例的垃圾蒐集方法所提供的複製部分來源區塊的有效資料至目的區塊的示意圖;圖3C為本發明實施例的垃圾蒐集方法所提供的將全部或部分來源區塊回收成為備用區塊的示意圖;
在下文中,將藉由圖式說明本發明之各種實施例來詳細描述本發明。然而,本發明概念可能以許多不同形式來體現,且不應解釋為限於本文中所闡述之例示性實施例。此外,在圖式中相同參考數字可用以表示類似的元件。
圖1為本發明實施例所提供的資料儲存裝置及其與主機的電性耦接關係的示意圖。如圖1所示,主機10主要包括有中央處理單元11與連接介面12。連接介面12適於電性耦接資料儲存裝置20。中央處理單元11用以透過連接介面12傳送命令、資料給資料儲存裝置20,例如是傳送讀取命令給資料儲存裝置20,或是傳送寫入命令及欲寫入資料儲存裝置20的資料給資料儲存裝置20。而在此例中,主機10包括以電腦、手機、平板、相機或是其他具運算功能的手持式電子裝置來實現。
資料儲存裝置20包括有控制單元21與非揮發性儲存媒體22。控制單元21係電性耦接非揮發性儲存媒體22,並用以控制非揮發性儲存媒體22的操作(例如進行資料的存取與抹除)。在此例中,非揮發性儲存媒體22例如是以快閃記憶體(Flash Memory)、磁阻式隨機存取記憶體(Magnetoresistive RAM)、鐵電隨機存取記憶體(Ferroelectric RAM)、電阻式記憶體(Resistive RAM,RRAM)等具有長時間資料保存之記憶體裝置來實現。非揮發性儲存媒體22具有多
個實體區塊(簡稱區塊)30,而每一區塊30具有多個資料頁(Page),以及該些資料頁用來儲存資料。區塊30可依據其功能而有不同的稱呼。例如:正在寫入有效資料的區塊30稱為主動區塊(Active Block),儲存有效資料的區塊30稱為資料區塊31,未儲存有效資料的區塊30稱為備用區塊32,資料區塊31可回收成為備用區塊32。
控制單元21主要包括有介面邏輯212、微處理器214、控制邏輯216與揮發性儲存媒體218,其中揮發性儲存媒體218例如是以靜態隨機存取記憶體(SRAM)來實現。控制單元21之微處理器214係電性耦接介面邏輯212與控制邏輯216,而其中控制邏輯216又電性耦接非揮發性儲存媒體22與揮發性儲存媒體218。微處理器214用以透過控制邏輯216存取非揮發性儲存媒體22與揮發性儲存媒體218中的資料,且微處理器214還用以透過介面邏輯212接收來自主機10之命令或資料,命令例如:寫入命令、讀取命令、或傾倒(Flush)命令等。
資料儲存裝置20更可以包括有一個DRAM,此DRAM主要用以暫儲L2P映射表(Logical addresses to Physical addresses Mapping Table),L2P映射表的大小例如為512MB而DRAM的大小為512MB。另外,資料儲存裝置20也可以包括有一個DRAM而DRAM的大小為128MB,此DRAM可用以暫儲部份L2P映射表。
在下述的說明中將以未配置DRAM的資料儲存裝置20為例進行本發明資料儲存裝置之垃圾蒐集方法的說明,然而,本發明資料儲存裝置之垃圾蒐集方法亦可適用於配置DRAM的資料儲存裝置20,故不以此為限。
圖2為本發明實施例所提供的垃圾蒐集方法的流程圖。請同時參照圖1、圖2、圖3A、圖3B及圖3C。其中,觸發本發明垃圾蒐集方
法的條件很多,例如,備用區塊32的總數量小於或等於垃圾蒐集閥值(GC Threshold),主機10於預設時間長度內並未下達任何命令,主機10命令資料儲存裝置20進入待命(Standby)模式或節電(Power Saving)模式。當任何一個上述條件滿足時,控制單元21執行下述步驟。
步驟S21:如圖3A所示,從複數個資料區塊31中選取複數個來源區塊,其中這些來源區塊的總有效資料數(Valid Data Count)大於或等於一個區塊30的預設資料數(Default Data Count),來源區塊的數量至少為3。控制單元21較佳選取具有較少的有效資料數的資料區塊31作為來源區塊,例如,選取4個資料區塊31作為來源區塊311~314,來源區塊311~314分別具有400、450、550、1000的有效資料。區塊30例如有512個資料頁,每一資料頁可儲存4筆4KB大小的資料,則預設資料數為2048(即2048筆4KB大小的資料)。另外,控制單元21較佳即時更新每一資料區塊31的有效資料量,並將每一資料區塊31的有效資料量記錄至系統資訊區塊中。
步驟S23:如圖3B所示,複製部分來源區塊311~313的有效資料至目的區塊321,其中,部分來源區塊311~313的總有效資料數小於預設資料數,部分來源區塊311~313的數量至少為2,剩餘來源區塊313的數量等於1。例如,控制單元21選取來源區塊311~313,總有效資料數為1350,小於2048,並將來源區塊311~313的有效資料複製至目的區塊321。另外,目的區塊321是從複數個備用區塊32中選出,目的區塊321是從複數個備用區塊32中隨機選取、或者從複數個備用區塊32中依序選取、或者是複數個備用區塊32中具有最小抹寫次數(Erase Count)者。
步驟S25:複製剩餘來源區塊的全部或部份有效資料至目的區塊321,其中,複製有效資料的資料量等於預設資料數減去部分來源區塊的總有效資料數。2048減去1350等於698,因此,控制單元21複製來源區塊314的698筆有效資料至目的區塊321。複製完成後,來源區塊314仍具有302筆有效資料未被複製。
在另一實施例中,來源區塊311~314分別具有400、450、500、698的有效資料。控制單元21複製來源區塊314的698筆有效資料至目的區塊321。複製完成後,來源區塊314的所有有效資料已被複製。
步驟S27:以目的區塊321的映射資訊更新L2P映射表。由於目的區塊321已寫滿資料,因此,控制單元21將目的區塊321關閉,即寫入區塊結束(End of Block)資訊至目的區塊321中。另外,控制單元21以目的區塊321所儲存的資料的映射資訊(即資料的實體位址)更新L2P映射表的內容。另外,由於資料儲存裝置20未配置有DRAM,控制單元21可將部份L2P映射表,例如:L2P映射表中的一個群組映射表(Group Table),暫存至SRAM,且以群組映射表為主,將目的區塊321中所有與群組映射表相關的映射資訊更新群組映射表的內容。之後,控制單元21再載入另一群組映射表至SRAM,並重覆上述步驟,直到目的區塊321的所有映射資訊皆已更新至L2P映射表(或一個以上群組映射表)。
步驟S29:如圖3C所示,將全部或部分來源區塊回收成為備用區塊32。由於來源區塊311~313的有效資料複製至目的區塊321,且L2P映射表的映射資訊已指向目的區塊321,因此來源區塊311~313的有效資料已不再有效。控制單元21可抹除來源區塊311~313並將來源區塊
311~313回收成為備用區塊32,或直接將來源區塊311~313作為備用區塊32,如此一來,備用區塊32的總數量可增加3。
在另一實施例中,來源區塊311~314的所有有效資料複製至目的區塊321,且L2P映射表的映射資訊已指向目的區塊321,因此來源區塊311~314的有效資料已不再有效。控制單元21可抹除來源區塊311~314並將來源區塊311~314回收成為備用區塊32,或直接將來源區塊311~314作為備用區塊32,如此一來,備用區塊32的總數量可增加4。
在另一實施例中,本發明垃圾蒐集方法可分段執行,並於每段之間,控制單元21執行來自主機10之命令,換句話說,資料儲存裝置20輪流執行本發明垃圾蒐集方法以及來自主機10之命令,如此一來,資料儲存裝置20的系統效能不會有顯著地降低。
綜上所述,本發明實施例所提供的資料儲存裝置以及用於一資料儲存裝置之垃圾蒐集方法,其可確保目的區塊可以被填滿及有效利用,並且確保來源區塊被釋放而成為備用區塊。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,本發明所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
S21、S23、S25、S27、S29:步驟
Claims (16)
- 一種垃圾蒐集方法,適用於一資料儲存裝置,該垃圾蒐集方法包括:從複數個資料區塊中選取複數個來源區塊,其中該些來源區塊的總有效資料數大於一個區塊的一預設資料數;複製部分的該些來源區塊的有效資料至一目的區塊,其中該部分的該些來源區塊的總有效資料數小於預設資料數;複製剩餘的該些來源區塊的全部或部份有效資料至該目的區塊,其中複製有效資料的資料量等於該預設資料數減去該部分的該些來源區塊的總有效資料數;以該目的區塊的映射資訊更新邏輯至實體位址映射表;以及將全部或部分的該些來源區塊回收成為備用區塊。
- 如請求項1所述的垃圾蒐集方法,其中該些來源區塊的數量至少為3。
- 如請求項1所述的垃圾蒐集方法,其中該部分的該些來源區塊的數量至少為2。
- 如請求項1所述的垃圾蒐集方法,其中該剩餘的該些來源區塊的數量等於1。
- 如請求項1所述的垃圾蒐集方法,其中從複數個資料區塊中選取複數個來源區塊更包括:選取具有較少的有效資料數的該些資料區塊作為該些來源區塊。
- 如請求項1所述的垃圾蒐集方法,其中從複數個資料區塊中選取複數個來源區塊更包括:即時更新每一資料區塊的有效資料量,並將每一資料區塊的有效資料量記錄至每一資料區塊的一系統資訊區塊中。
- 如請求項1所述的垃圾蒐集方法,其中該目的區塊是從複數個備用區塊中選取。
- 如請求項1所述的垃圾蒐集方法,其中該資料儲存裝置包括儲存有效資料的該些資料區塊以及未儲存有效資料的複數個備用區塊。
- 一種資料儲存裝置,包括:一控制單元,用以執行一垃圾蒐集方法,該垃圾蒐集方法包括:從複數個資料區塊中選取複數個來源區塊,其中該些來源區塊的總有效資料數大於一個區塊的一預設資料數;複製部分的該些來源區塊的有效資料至一目的區塊,其中該部分的該些來源區塊的總有效資料數小於預設資料數; 複製剩餘的該些來源區塊的全部或部份有效資料至該目的區塊,其中複製有效資料的資料量等於該預設資料數減去該部分的該些來源區塊的總有效資料數;以該目的區塊的映射資訊更新邏輯至實體位址映射表;以及將全部或部分的該些來源區塊回收成為備用區塊。
- 如請求項9所述的資料儲存裝置,其中該些來源區塊的數量至少為3。
- 如請求項9所述的資料儲存裝置,其中該部分的該些來源區塊的數量至少為2。
- 如請求項9所述的資料儲存裝置,其中該剩餘的該些來源區塊的數量等於1。
- 如請求項9所述的資料儲存裝置,其中從複數個資料區塊中選取複數個來源區塊更包括:選取具有較少的有效資料數的該些資料區塊作為該些來源區塊。
- 如請求項9所述的資料儲存裝置,其中從複數個資料區塊中選取複數個來源區塊更包括:即時更新每一資料區塊的有效資料量,並將每一資料區塊的有效資料量記錄至每一資料區塊的一系統資訊區塊中。
- 如請求項9所述的資料儲存裝置,其中該目的區塊是從複數個備用區塊中選取。
- 如請求項9所述的資料儲存裝置,其中該資料儲存裝置包括儲存有效資料的該些資料區塊以及未儲存有效資料的複數個備用區塊。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109101110A TWI729674B (zh) | 2020-01-13 | 2020-01-13 | 資料儲存裝置及其垃圾蒐集方法 |
CN202010103949.XA CN113111011A (zh) | 2020-01-13 | 2020-02-20 | 数据存储装置及其垃圾收集方法 |
US17/031,931 US11455246B2 (en) | 2020-01-13 | 2020-09-25 | Garbage collection method for data storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109101110A TWI729674B (zh) | 2020-01-13 | 2020-01-13 | 資料儲存裝置及其垃圾蒐集方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI729674B true TWI729674B (zh) | 2021-06-01 |
TW202127260A TW202127260A (zh) | 2021-07-16 |
Family
ID=76709140
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109101110A TWI729674B (zh) | 2020-01-13 | 2020-01-13 | 資料儲存裝置及其垃圾蒐集方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11455246B2 (zh) |
CN (1) | CN113111011A (zh) |
TW (1) | TWI729674B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201413450A (zh) * | 2012-09-25 | 2014-04-01 | Phison Electronics Corp | 資料儲存方法、記憶體控制器與記憶體儲存裝置 |
TW201527973A (zh) * | 2014-01-09 | 2015-07-16 | Phison Electronics Corp | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 |
US20160239380A1 (en) * | 2015-02-16 | 2016-08-18 | Quantum Corporation | Garbage Collection And Defragmentation For Solid State Drives (SSD) and Shingled Magnetic Recording (SMR) Drives |
US20190227926A1 (en) * | 2018-01-19 | 2019-07-25 | Silicon Motion Inc. | Method for managing flash memory module and associated flash memory controller and electronic device |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8612718B2 (en) * | 2009-08-19 | 2013-12-17 | Seagate Technology Llc | Mapping alignment |
US8706983B2 (en) * | 2010-06-30 | 2014-04-22 | Sandisk Technologies Inc. | Garbage collection of memory blocks using volatile memory |
US10002073B2 (en) * | 2015-11-06 | 2018-06-19 | SK Hynix Inc. | Selective data recycling in non-volatile memory |
US10126970B2 (en) * | 2015-12-11 | 2018-11-13 | Sandisk Technologies Llc | Paired metablocks in non-volatile storage device |
JP6414853B2 (ja) * | 2015-12-14 | 2018-10-31 | 東芝メモリ株式会社 | メモリシステムおよび制御方法 |
US10339044B2 (en) * | 2016-03-30 | 2019-07-02 | Sandisk Technologies Llc | Method and system for blending data reclamation and data integrity garbage collection |
TWI619018B (zh) * | 2016-11-10 | 2018-03-21 | 慧榮科技股份有限公司 | 可用於資料儲存裝置之垃圾蒐集方法 |
TWI681295B (zh) * | 2017-07-07 | 2020-01-01 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 |
US10509722B2 (en) * | 2017-08-31 | 2019-12-17 | Micron Technology, Inc. | Memory device with dynamic cache management |
KR20200004656A (ko) * | 2018-07-04 | 2020-01-14 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
-
2020
- 2020-01-13 TW TW109101110A patent/TWI729674B/zh active
- 2020-02-20 CN CN202010103949.XA patent/CN113111011A/zh active Pending
- 2020-09-25 US US17/031,931 patent/US11455246B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201413450A (zh) * | 2012-09-25 | 2014-04-01 | Phison Electronics Corp | 資料儲存方法、記憶體控制器與記憶體儲存裝置 |
TW201527973A (zh) * | 2014-01-09 | 2015-07-16 | Phison Electronics Corp | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 |
US20160239380A1 (en) * | 2015-02-16 | 2016-08-18 | Quantum Corporation | Garbage Collection And Defragmentation For Solid State Drives (SSD) and Shingled Magnetic Recording (SMR) Drives |
US20190227926A1 (en) * | 2018-01-19 | 2019-07-25 | Silicon Motion Inc. | Method for managing flash memory module and associated flash memory controller and electronic device |
Also Published As
Publication number | Publication date |
---|---|
TW202127260A (zh) | 2021-07-16 |
US11455246B2 (en) | 2022-09-27 |
CN113111011A (zh) | 2021-07-13 |
US20210216447A1 (en) | 2021-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI703438B (zh) | 映射表更新方法 | |
US11354236B2 (en) | Garbage collection method for data storage device | |
US10915475B2 (en) | Methods and apparatus for variable size logical page management based on hot and cold data | |
US8055873B2 (en) | Data writing method for flash memory, and controller and system using the same | |
US8386698B2 (en) | Data accessing method for flash memory and storage system and controller using the same | |
CN105718530B (zh) | 文件存储系统及其文件存储控制方法 | |
US8316257B2 (en) | NAND power fail recovery | |
KR102088403B1 (ko) | 저장장치, 이를 포함하는 컴퓨터 시스템 및 이의 동작 방법 | |
US20090307413A1 (en) | Data writing method for flash memory and storage system and controller using the same | |
CN107038131A (zh) | 固态硬盘断电保护装置及方法 | |
CN108733510A (zh) | 数据储存装置及映射表重建方法 | |
TWI498899B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI718710B (zh) | 資料儲存裝置以及非揮發式記憶體控制方法 | |
US11334480B2 (en) | Data storage device and non-volatile memory control method | |
CN108073359B (zh) | 数据储存装置的操作方法 | |
TWI729674B (zh) | 資料儲存裝置及其垃圾蒐集方法 | |
TWI713032B (zh) | 資料儲存裝置以及非揮發式記憶體控制方法 | |
TWI724550B (zh) | 資料儲存裝置以及非揮發式記憶體控制方法 | |
TW201832085A (zh) | 記憶體系統的操作方法 | |
US20230236964A1 (en) | Storage controller deallocating memory block, method of operating the same, and method of operating storage device including the same | |
KR20230115196A (ko) | 메모리 블록을 할당 해제하는 스토리지 컨트롤러, 그것의 동작하는 방법, 및 그것을 포함하는 스토리지 장치의 동작하는 방법 | |
CN110609817A (zh) | 一种防止文件碎片化的文件存储系统 |