US2018165188A1PendingUtilityA1

Method and Apparatus for Providing Improved Garbage Collection Process In Solid State Drive

53
Assignee: CNEX LABS INCPriority: Jul 14, 2013Filed: Feb 12, 2018Published: Jun 14, 2018
Est. expiryJul 14, 2033(~7 yrs left)· nominal 20-yr term from priority
G06F 3/0652G06F 3/0641G06F 12/0246G06F 3/0679G06F 3/0608G06F 2212/7201
53
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

An improved garbage collection (“GC”) process configured to recover new blocks from used storage space is disclosed. After initiating the GC process for a flash memory in accordance with at least one of predefined triggering events, a first valid page within a first block marked as an erasable block is identified. Upon determining a first signature representing the content of the first valid page according to a predefined signature generator, the process identifies a second valid page within a second block as a duplicated page of the first valid page in response to the first signature. The process subsequently associates the logical block address (“LBA”) of the first valid page to the second valid page. In an alternative embodiment, page compression and sequential order of page arrangement can also be implemented to further enhance efficiency of garbage collection.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A method for recycling memory space containing stale data in a non-volatile memory (“NVM”) storage system, comprising:
 identifying a first valid page within a first block marked as an erasable block; 
 generating, by a signature generator, a first signature in accordance with content of the first valid page; 
 comparing the first signature with a plurality of signatures stored in a signature table for identifying a second valid page within a second block as a duplicated page of the first valid page; and 
 associating a logical block address (“LBA”) of the first valid page to the second valid page when the first signature matches with a second signature of the plurality of signatures indicating the second valid page containing substantially same data as the first valid page. 
 
     
     
         2 . The method of  claim 1 , further comprising issuing a signal to initiate a process of garbage collection (“GC”) in a NVM in accordance with at least one of predefined triggering events. 
     
     
         3 . The method of  claim 1 , further comprising compressing content of the first valid page to reduce number of bytes representing the content of the first valid page; and
 writing compressed first valid page to a new valid block.   
     
     
         4 . The method of  claim 3 , further comprising:
 arranging a plurality of compressed valid pages including compressed first valid page in a sequential order; and   writing the plurality of compressed valid pages to a new block in the sequential order.   
     
     
         5 . The method of  claim 1 , further comprising:
 arranging a plurality of valid pages including the first valid page in a sequential order when the first signature does not match with anyone of signatures stored in the signature table; and   writing a plurality of compressed valid pages to a new block in the sequential order.   
     
     
         6 . The method of  claim 2 , wherein issuing a signal to initiate a process of GC in a non-volatile memory includes activating the process of GC to remove stale data from a flash memory in response to one of detecting expired blocks, high error rate during page read, exceed total read times, and high invalid pages. 
     
     
         7 . The method of  claim 1 , wherein generating, by a signature generator, a first signature includes hashing the content of the first valid page to generate a unique value representing the first valid page. 
     
     
         8 . The method of  claim 1 , wherein comparing the first signature with a plurality of signatures stored in a signature table includes comparing content of the first signature with every signature stored in the signature table in a solid state drive (“SSD”) controller. 
     
     
         9 . The method of  claim 1 , wherein associating a logical block address (“LBA”) of the first valid page to the second valid page includes updating flash translation layer (“FTL”) to point the LBA of the first valid page to the second valid page. 
     
     
         10 . A memory device comprising:
 a plurality of non-volatile memory (“NVM”) blocks wherein each of the plurality of non-volatile memory blocks includes a set of non-volatile memory pages configured to store information persistently; and   a memory controller coupled to the plurality of NVM blocks and configured to manage the plurality of NVM blocks, wherein the memory controller includes:
 a garbage collection (“GC”) manager configured to recover storage space based on a predefined GC triggering events; 
 a signature table coupled to the GC manager and configured to store a plurality of signatures representing content of valid pages in the plurality of NVM blocks; and 
 a de-dupe module coupled to the GC manager and capable of identifying a duplicated page for a valid page within an erasable block based on the plurality of signatures in the signature table. 
   
     
     
         11 . The device of  claim 10 , wherein the memory controller further includes a compressor configured to generate a compressed valid page in accordance with content of the valid page before rewriting the compressed valid page to a new block. 
     
     
         12 . The device of  claim 10 , wherein the memory controller further includes a sequencer configured to arrange a plurality of valid pages in a sequential order before the valid pages are moved into one or more blocks. 
     
     
         13 . The device of  claim 10 ,
 wherein the plurality of NVM blocks is a group of flash memory blocks wherein each block includes  256  pages of flash memory; and   wherein a garbage collection manager includes a garbage collection scan and garbage block identifier capable of identifying one or more valid pages in a garbage block.   
     
     
         14 . The device of  claim 10 , wherein the de-dupe module includes a hasher configured to generate a signature in accordance with hashing content of a page. 
     
     
         15 . The device of  claim 11 , wherein the de-dupe module includes a signature generator configured to generate a unique signature based on content of a page. 
     
     
         16 . A method for recycling memory space containing stale data in a non-volatile memory (“NVM”) storage system, comprising:
 generating, by a signature generator, a first signature in accordance with content of the first valid page within a first block marked as an erasable block; 
 comparing the first signature with a plurality of signatures stored in a signature table for identifying a second valid page within a second block as a duplicated page of the first valid page; 
 associating a logical block address (“LBA”) of the first valid page to the second valid page when the first signature matches with a second signature of the plurality of signatures; and 
 updating a flash translation layer (“FTL”) to point the LBA of the first valid page to the second valid page. 
 
     
     
         17 . The method of  claim 16 , further comprising:
 arranging a plurality of compressed valid pages including compressed first valid page in a sequential order; and   writing the plurality of compressed valid pages to a new block in the sequential order.   
     
     
         18 . The method of  claim 16 , further comprising initiating a process of GC in a non-volatile memory for activating the process of garbage collection to remove stale data from a flash memory in response to one of detecting expired blocks, high error rate during page read, exceed total read times, and high invalid pages. 
     
     
         19 . The method of  claim 16 , further comprising determining a first signature representing content of the first valid page in accordance with a predefined signature generator. 
     
     
         20 . The method of  claim 19 , further comprising identifying a second valid page within a second block as a duplicated page of the first valid page when the first signature matches with a signature associated with the second valid page.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.