1. Technical Field
Apparatuses and methods consistent with the present inventive concept relate to memory erase operations in a data storage device (DSD) such as a solid-state drive (SSD) and more particularly to minimizing a size of a garbage collection operation.
2. Related Art
During a garbage collection operation valid data is copied from a first memory region to a second memory region to facilitate erasing of the first memory region.
Aspects and features of the present inventive concept will be more apparent by describing example embodiments with reference to the accompanying drawings, in which:
While certain embodiments are described, these embodiments are presented by way of example only, and are not intended to limit the scope of protection. The methods and systems described herein may be embodied in a variety of other forms. Furthermore, various omissions, substitutions, and changes in the form of the example methods and systems described herein may be made without departing from the scope of protection.
Overview
Garbage collection on an DSD 200 involves saving valid data from a certain memory region of one or more of the plurality of dies 100 by copying the valid data to a new location and then erasing the whole region within the DSD 200 from which the data were copied. After being erased, the memory region may be re-used. In conventional garbage collection methods, the garbage collection typically operates on a block management region basis, and the region typically corresponds to a unit of a super block (S-block) 230. Each S-block 230 may include N memory blocks 110 (refer to
Garbage collection is described in detail in U.S. application Ser. No. 13/654,288 filed Oct. 17, 2012, the disclosure of which is hereby incorporated in its entirety by reference.
Optimized Garbage Collection
Some embodiments of the present inventive concept involve minimizing the smallest size memory region for which the garbage collection operation can be performed in certain situations. In example embodiments of the present inventive concept, the smallest size memory region for garbage collection may be an area covered by one system journal, or S-journal. In some embodiments, where an area covered by one S-journal includes multiple F-pages, the smallest size memory region may be a sub-part of an area covered by the S-journal, such as a single F-page.
Referring to
Referring back to
When a need for garbage collection occurs (e.g., a data access error such as a program error is encountered), having a small minimum memory region for garbage collection allows for localized garbage collection, thereby speeding up recovery.
The selected physical region of memory may be in a data band and may be associated with a data band S-journal. In some cases, the selected physical region of memory in the data band may store at least one L-page 330 that spans S-journal region boundaries 315 of the data band S-journal (refer to the black L-pages in
The controller 210 may determine whether the memory locations within the selected physical region of memory contain valid data based on a comparison of information in the one or more S-journals and a mapping table 220 (530). If the selected physical region of memory contains valid data (530-Y), the controller 210 may cause the valid data to be copied to memory locations in memory regions other than the selected physical region of memory (540). After the valid data, if any, is moved, the controller 210 may queue the selected physical region of memory for erasure (550).
Some embodiments of the present inventive concept may also be applied to enable piecemeal garbage collection on the invisible band S-journals which allows for garbage collection of a large number (e.g., many millions) of entries to be performed in manageable chunks to avoid thrashing and/or congestion.
An invisible band S-journal 620 may include thousands of entries. Due to the large number of entries, garbage collecting the entire S-journal 620 at one time could lead to congestion. In an example embodiment, this thrashing/congestion problem may be prevented by scheduling garbage collection for portions of the S-journal 620 entries as follows:
In example embodiments of the present inventive concept, the controller 210 may interleave user data band S-journal-based and invisible band S-journal-based garbage collection to split processing time so that no one process dominates. Thus, by scheduling garbage collection to alternate between the data band and the invisible band, the thrashing/congestion problem may be prevented.
Referring to
The controller 210 may determine whether the memory locations within the selected physical region of memory contain valid data based on a comparison of information in the S-journal and a mapping table 220 (720). If the selected physical region of memory contains valid data (720-Y), the controller 210 may cause the valid data to be copied to memory locations in memory regions other than the selected physical region of memory (730). After the valid data, if any, is moved, the controller 210 may queue the selected physical region of memory for erasure (740).
The controller 210 may cause garbage collection to be performed on one or more invisible band S-journals 620 containing mapping information transaction entries recording what logical data are mapped to a location designed for denoting that logical data has been invalidated (750). The controller 210 may select the invisible band S-journals 620 to contain substantially the same number of recorded mapping information transaction entries as the predetermined number of data band S-journal entries corresponding to a physical region of memory to be garbage collected.
The controller 210 may determine whether the one or more invisible band S-journals 620 contain valid metadata (760). If the selected one or more invisible band S-journals 620 contain valid metadata (760-Y), the controller 210 may cause the valid metadata to be copied to invisible band S-journals 620 other than the selected invisible band S-journals 620 (770). After the valid metadata, if any, is moved, the controller 210 may cause the invisible space corresponding to the one or more invisible band S-journals 620 to be freed for use (780).
The example embodiments disclosed herein can be applied to solid-state drives, hybrid hard drives, and the like. Solid-state memory may comprise a wide variety of technologies, such as flash integrated circuits, Phase Change Memory (PC-RAM or PRAM), Programmable Metallization Cell RAM (PMC-RAM or PMCm), Ovonic Unified Memory (OUM), Resistance RAM (RRAM), NAND memory, NOR memory, EEPROM, Ferroelectric Memory (FeRAM), MRAM, or other discrete NVM (non-volatile solid-state memory) chips. In addition, other forms of storage, for example, but not limited to, DRAM or SRAM, battery backed-up volatile DRAM or SRAM devices, EPROM, EEPROM memory, etc., may additionally or alternatively be used. As another example, various components illustrated in the figures may be implemented as software and/or firmware on a processor, ASIC/FPGA, or dedicated hardware. Also, the features and attributes of the specific example embodiments disclosed above may be combined in different ways to form additional embodiments, all of which fall within the scope of the present disclosure.
While certain embodiments have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the protection. The methods and systems described herein may be embodied in a variety of other forms. Various omissions, substitutions, and/or changes in the form of the example methods and systems described herein may be made without departing from the spirit of the protection.
This application claims the benefit of U.S. Provisional Application No. 61/955,418 filed Mar. 19, 2014, the disclosure of which is hereby incorporated in its entirety by reference.
Number | Name | Date | Kind |
---|---|---|---|
6065020 | Dussud | May 2000 | A |
6856556 | Hajeck | Feb 2005 | B1 |
7126857 | Hajeck | Oct 2006 | B2 |
7363421 | Di Sena et al. | Apr 2008 | B2 |
7412585 | Uemura | Aug 2008 | B2 |
7430136 | Merry, Jr. et al. | Sep 2008 | B2 |
7441067 | Gorobets et al. | Oct 2008 | B2 |
7447807 | Merry et al. | Nov 2008 | B1 |
7502256 | Merry, Jr. et al. | Mar 2009 | B2 |
7509441 | Merry et al. | Mar 2009 | B1 |
7509471 | Gorobets | Mar 2009 | B2 |
7596643 | Merry, Jr. et al. | Sep 2009 | B2 |
7610438 | Lee et al. | Oct 2009 | B2 |
7653778 | Merry, Jr. et al. | Jan 2010 | B2 |
7685337 | Merry, Jr. et al. | Mar 2010 | B2 |
7685338 | Merry, Jr. et al. | Mar 2010 | B2 |
7685374 | Diggs et al. | Mar 2010 | B2 |
7733712 | Walston et al. | Jun 2010 | B1 |
7765373 | Merry et al. | Jul 2010 | B1 |
7898855 | Merry, Jr. et al. | Mar 2011 | B2 |
7912991 | Merry et al. | Mar 2011 | B1 |
7936603 | Merry, Jr. et al. | May 2011 | B2 |
7962792 | Diggs et al. | Jun 2011 | B2 |
8078918 | Diggs et al. | Dec 2011 | B2 |
8090899 | Syu | Jan 2012 | B1 |
8095851 | Diggs et al. | Jan 2012 | B2 |
8108692 | Merry et al. | Jan 2012 | B1 |
8122185 | Merry, Jr. et al. | Feb 2012 | B2 |
8127048 | Merry et al. | Feb 2012 | B1 |
8135903 | Kan | Mar 2012 | B1 |
8151020 | Merry, Jr. et al. | Apr 2012 | B2 |
8161227 | Diggs et al. | Apr 2012 | B1 |
8166233 | Schibilla et al. | Apr 2012 | B2 |
8166245 | Diggs et al. | Apr 2012 | B2 |
8243525 | Kan | Aug 2012 | B1 |
8254172 | Kan | Aug 2012 | B1 |
8261012 | Kan | Sep 2012 | B2 |
8296625 | Diggs et al. | Oct 2012 | B2 |
8312207 | Merry, Jr. et al. | Nov 2012 | B2 |
8316176 | Phan et al. | Nov 2012 | B1 |
8341339 | Boyle et al. | Dec 2012 | B1 |
8375151 | Kan | Feb 2013 | B1 |
8392635 | Booth et al. | Mar 2013 | B2 |
8397107 | Syu et al. | Mar 2013 | B1 |
8407449 | Colon et al. | Mar 2013 | B1 |
8423722 | Deforest et al. | Apr 2013 | B1 |
8433858 | Diggs et al. | Apr 2013 | B1 |
8443167 | Fallone et al. | May 2013 | B1 |
8447920 | Syu | May 2013 | B1 |
8458417 | Goss et al. | Jun 2013 | B2 |
8458435 | Rainey, III et al. | Jun 2013 | B1 |
8478930 | Syu | Jul 2013 | B1 |
8489854 | Colon et al. | Jul 2013 | B1 |
8503237 | Horn | Aug 2013 | B1 |
8521972 | Boyle et al. | Aug 2013 | B1 |
8549236 | Diggs et al. | Oct 2013 | B2 |
8583835 | Kan | Nov 2013 | B1 |
8601311 | Horn | Dec 2013 | B2 |
8601313 | Horn | Dec 2013 | B1 |
8612669 | Syu et al. | Dec 2013 | B1 |
8612804 | Kang et al. | Dec 2013 | B1 |
8615681 | Horn | Dec 2013 | B2 |
8638602 | Horn | Jan 2014 | B1 |
8639872 | Boyle et al. | Jan 2014 | B1 |
8683113 | Abasto et al. | Mar 2014 | B2 |
8700834 | Horn et al. | Apr 2014 | B2 |
8700950 | Syu | Apr 2014 | B1 |
8700951 | Call et al. | Apr 2014 | B1 |
8706985 | Boyle et al. | Apr 2014 | B1 |
8707104 | Jean | Apr 2014 | B1 |
8713066 | Lo et al. | Apr 2014 | B1 |
8713357 | Jean et al. | Apr 2014 | B1 |
8719531 | Strange et al. | May 2014 | B2 |
8724422 | Agness et al. | May 2014 | B1 |
8725931 | Kang | May 2014 | B1 |
8745277 | Kan | Jun 2014 | B2 |
8751728 | Syu et al. | Jun 2014 | B1 |
8769190 | Syu et al. | Jul 2014 | B1 |
8769232 | Suryabudi et al. | Jul 2014 | B2 |
8775720 | Meyer et al. | Jul 2014 | B1 |
8782327 | Kang et al. | Jul 2014 | B1 |
8788778 | Boyle | Jul 2014 | B1 |
8788779 | Horn | Jul 2014 | B1 |
8788880 | Gosla et al. | Jul 2014 | B1 |
8793429 | Call et al. | Jul 2014 | B1 |
8898548 | Mullendore et al. | Nov 2014 | B1 |
20040088474 | Lin | May 2004 | A1 |
20040109376 | Lin | Jun 2004 | A1 |
20060155917 | Di Sena et al. | Jul 2006 | A1 |
20070016721 | Gay | Jan 2007 | A1 |
20070094445 | Trika et al. | Apr 2007 | A1 |
20070204128 | Lee et al. | Aug 2007 | A1 |
20070300037 | Rogers et al. | Dec 2007 | A1 |
20080104308 | Mo et al. | May 2008 | A1 |
20080256287 | Lee et al. | Oct 2008 | A1 |
20080282024 | Biswas et al. | Nov 2008 | A1 |
20090019218 | Sinclair et al. | Jan 2009 | A1 |
20090049229 | Honda et al. | Feb 2009 | A1 |
20090119353 | Oh et al. | May 2009 | A1 |
20090150599 | Bennett | Jun 2009 | A1 |
20090177931 | Song et al. | Jul 2009 | A1 |
20090216938 | Conley et al. | Aug 2009 | A1 |
20090222643 | Chu | Sep 2009 | A1 |
20090240873 | Yu et al. | Sep 2009 | A1 |
20090241008 | Kim et al. | Sep 2009 | A1 |
20090241009 | Kong et al. | Sep 2009 | A1 |
20090259805 | Kilzer et al. | Oct 2009 | A1 |
20090292972 | Seol et al. | Nov 2009 | A1 |
20090327589 | Moshayedi | Dec 2009 | A1 |
20100030999 | Hinz | Feb 2010 | A1 |
20100082886 | Kwon et al. | Apr 2010 | A1 |
20100174847 | Paley et al. | Jul 2010 | A1 |
20100174849 | Walston et al. | Jul 2010 | A1 |
20100174851 | Leibowitz et al. | Jul 2010 | A1 |
20100211851 | Dixon | Aug 2010 | A1 |
20100241928 | Kim et al. | Sep 2010 | A1 |
20100250793 | Syu | Sep 2010 | A1 |
20100268871 | Lee et al. | Oct 2010 | A1 |
20100306451 | Johnson | Dec 2010 | A1 |
20110022778 | Schibilla et al. | Jan 2011 | A1 |
20110055458 | Kuehne | Mar 2011 | A1 |
20110066788 | Eleftheriou et al. | Mar 2011 | A1 |
20110072194 | Forhan et al. | Mar 2011 | A1 |
20110072333 | Kuo | Mar 2011 | A1 |
20110099321 | Haines et al. | Apr 2011 | A1 |
20110099323 | Syu | Apr 2011 | A1 |
20110099350 | Feldman et al. | Apr 2011 | A1 |
20110119464 | Karr et al. | May 2011 | A1 |
20110185112 | Goss | Jul 2011 | A1 |
20110191566 | Takamiya et al. | Aug 2011 | A1 |
20110191654 | Rub | Aug 2011 | A1 |
20110225346 | Goss et al. | Sep 2011 | A1 |
20110252289 | Patapoutian et al. | Oct 2011 | A1 |
20110283049 | Kang et al. | Nov 2011 | A1 |
20110320915 | Khan | Dec 2011 | A1 |
20120023387 | Wang et al. | Jan 2012 | A1 |
20120072639 | Goss et al. | Mar 2012 | A1 |
20120072807 | Cornwell et al. | Mar 2012 | A1 |
20120173795 | Schuette et al. | Jul 2012 | A1 |
20120191936 | Ebsen et al. | Jul 2012 | A1 |
20120226887 | Culley et al. | Sep 2012 | A1 |
20120260020 | Suryabudi et al. | Oct 2012 | A1 |
20120278531 | Horn | Nov 2012 | A1 |
20120284460 | Guda | Nov 2012 | A1 |
20120290769 | Okubo et al. | Nov 2012 | A1 |
20120324191 | Strange et al. | Dec 2012 | A1 |
20130132638 | Horn et al. | May 2013 | A1 |
20130145106 | Kan | Jun 2013 | A1 |
20130290793 | Booth et al. | Oct 2013 | A1 |
20140059405 | Syu et al. | Feb 2014 | A1 |
20140101369 | Tomlin et al. | Apr 2014 | A1 |
20140115427 | Lu | Apr 2014 | A1 |
20140133220 | Danilak et al. | May 2014 | A1 |
20140136753 | Tomlin et al. | May 2014 | A1 |
20140149826 | Lu et al. | May 2014 | A1 |
20140157078 | Danilak et al. | Jun 2014 | A1 |
20140181432 | Horn | Jun 2014 | A1 |
20140208003 | Cohen | Jul 2014 | A1 |
20140223255 | Lu et al. | Aug 2014 | A1 |
20140258769 | Baryudin | Sep 2014 | A1 |
Entry |
---|
Andrew J. Tomlin, et al., U.S. Appl. No. 13/654,288, filed Oct. 17, 2012, 46 pages. |
Rodney N. Mullendore, et al., U.S. Appl. No. 13/651,313, filed Oct. 12, 2012, 28 pages. |
Rodney N. Mullendore, et al., U.S. Appl. No. 13/594,696, filed Aug. 24, 2012, 34 pages. |
Written Opinion & International Search Report dated:Jan. 16, 2014 from Patent Application Serial No. PCT/US2013/062723 11 pages. |
L. Toker, “Garbage Collection and TRIM in SSDs Explained—An SSD Primer,” The SSD Review, Apr. 16, 2012, 9 pgs. |
N. Agrawal et al., “Design Tradeoffs for SSD Performance,” USENIX Jun. 2008, 14 pgs. |
M. Wei, et al., “Reliably Erasing Data from Flash-Based Solid State Drives,” FAST 2011, 13 pgs. |
Jeong-Uk Kang & Heeseung Jo, et al., “A Superblock-Based Flash Translation Layer for NAND Flash Memory,” Proceedings of the 6th ACM & IEEE International Conference on Embedded Software, pp. 161-170, (Oct. 22-25, 2006). |
Number | Date | Country | |
---|---|---|---|
61955418 | Mar 2014 | US |