Partial garbage collection for fast error handling and optimized garbage collection for the invisible band

Information

  • Patent Grant
  • 10061696
  • Patent Number
    10,061,696
  • Date Filed
    Friday, May 27, 2016
    8 years ago
  • Date Issued
    Tuesday, August 28, 2018
    6 years ago
Abstract
A method for managing garbage collection of memory locations in an DSD having a plurality of dies each having a plurality of memory blocks includes: selecting a physical region of memory to be garbage collected, the selected physical region being a subset of a block management region; and garbage collecting the selected physical region. The garbage collecting includes: determining one or more journals corresponding to the selected physical region, the journal comprising transaction entries indicating what logical data are written to memory locations in the selected physical region; determining whether the memory locations within the physical region contain valid data based on a comparison of information in the journal and a mapping table; and if valid data exists, copying valid data into memory locations in memory regions other than the selected physical region of memory. The selected physical region of memory is erased when the block management region is erased.
Description
BACKGROUND
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.


Related Art


FIG. 1 is a diagram illustrating a representative memory device used in a DSD such as an SSD. A DSD may contain a plurality of solid-state memory devices, for example, 16 or more solid-state non-volatile memory devices (also referred to herein as dies) 100, for example, but not limited to flash memory devices or other non-volatile memory devices. A die 100 may include a plurality of memory blocks 110 with each block including a plurality of flash pages (F-pages) 120. The memory blocks 110 in the solid-state memory device 100 may be divided into planes of even-numbered blocks 130 and odd-numbered blocks 140. Each of the plurality of memory blocks 110 on a die 100 may be accessed by a separate memory channel. A DSD is generally a device that electronically stores data, so in other embodiments, the DSD may additionally include other types of memory such as rotational magnetic media (e.g., a solid-state hybrid drive (SSHD)).


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.





BRIEF DESCRIPTION OF THE DRAWINGS

Aspects and features of the present inventive concept will be more apparent by describing example embodiments with reference to the accompanying drawings, in which:



FIG. 1 is a diagram illustrating a representative DSD;



FIG. 2 is a block diagram illustrating an DSD according to an example embodiment of the present inventive concept;



FIG. 3 is a diagram illustrating a memory region described by a journal according to an example embodiment of the present inventive concept;



FIG. 4 is a diagram illustrating the occurrence of a program error according to an example embodiment of the present inventive concept;



FIG. 5 is a flowchart illustrating a method for managing garbage collection of memory locations according to an example embodiment of the present inventive concept;



FIG. 6 is a block diagram illustrating S-journals for an invisible band according to an example embodiment of the present inventive concept; and



FIG. 7 is a flowchart illustrating a method for managing garbage collection of memory locations and invisible band journals according to an example embodiment of the present inventive concept.





DETAILED DESCRIPTION

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



FIG. 2 is a block diagram illustrating an DSD according to an example embodiment of the present inventive concept. The DSD 200 may include a controller 210 (e.g., SSD controller) that may control overall operation of the DSD 200, a mapping table 220 that may contain entries describing a logical-to-physical correspondence of data in the DSD 200, and a plurality of dies 100, for example, but not limited to, flash memory or other non-volatile memory devices. The plurality of dies 100 may be logically arranged in a matrix.


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 FIG. 1), where N is the number of dies 100. As each memory block 110 could contain many megabytes (MB) of storage space, the total data to be garbage collected at the S-block level may approach the gigabyte (GB) range.


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.



FIG. 3 is a diagram illustrating a physical area of memory covered by an S-journal according to an example embodiment of the present inventive concept. The controller 210 may be configured to maintain, in the plurality of non-volatile memory devices 100, a plurality of S-journals defining physical-to-logical address correspondences. An S-journal may cover a physical memory region that has a size of 32 E-pages (i.e., error correction code (ECC) page) of flash memory space. One of ordinary skill in the art will appreciate that more than one S-journal, and/or other S-journal sizes and/or other size memory regions may be used.


Referring to FIG. 3, in an example embodiment, an S-journal may record physical-to-logical mapping information for a region spanning one or more E-pages 320, one or more logical segments of data, or logical pages (L-pages), 330, and one or more F-pages 120. For example, as shown in FIG. 3, S-journal N records the mapping information for an S-Journal region N 312a spanning four F-pages (F-page m to m+3) and all the E-pages and L-pages contained within. Several E-pages can reside within an F-page. An E-page 320 (i.e., error correction code (ECC) page) may form the basis for physical addressing and may be of a predetermined fixed size. L-pages 330 can have variable sizes, due to, for example, compression. As shown, they may be contained within a single E-page 320, or may span two or more E-pages 320. L-pages 330 may also span S-journal region boundaries 315. With a nominal 2 KB memory E-page size, an S-journal may record mapping information for 32 E-pages 320, which may span several dies 100.


Referring back to FIG. 2, in one embodiment, the various S-blocks are assigned to different bands such as a data band and a system band. In one embodiment, S-journal data is used to track the logical data written to a given S-block 230 in the data band. An S-journal contains physical-to-logical mapping information for a region within a given S-block 230, which as explained above could include four F-pages (or 32 E-pages), for example. The precise number may depend on system configuration. Also, as data is compressed, the L-pages can vary in size and thus there can be a variable number of L-pages 330 in an S-journal region 312 within a given S-block 230. Thus, the S-journal may itself vary in size, since an entry is needed per L-page. In one embodiment, the S-journal data is collected and written out sequentially to S-blocks in the system band. In example embodiments of the present inventive concept, a smallest physical region of memory that can be selected to be garbage collected is an F-page 120.


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.



FIG. 4 is a diagram illustrating the occurrence of a program error according to an example embodiment of the present inventive concept. Referring to FIG. 4, a journal region 410 may include die 0, page 0 of channels 0-n. As an illustrative example, if a program error occurs in a physical location in the physical region of memory, for example in channel 1, F-page 0, die 0, the garbage collection may be confined to the journal region 410, i.e., the collection of F-page 0's as shown, which spans 64 KB where n=7 and an F-page is of 8 KB size. On the other hand, with conventional garbage collection, up to several GB of data may be involved in a garbage collection since it manages memory by block management region. Even if the error occurs in channel 1, F-page 8 of die 0 and the nine S-journal regions covering pages 0-8 need to be garbage collected, 64 KB×9 pages is a small size for garbage collection compared to several GB of data required for a conventional garbage collection operation.



FIG. 5 is a flowchart illustrating a method for managing garbage collection of memory locations according to an example embodiment of the present inventive concept. Referring to FIG. 5, the controller 210 may select a physical region of memory to be garbage collected from the plurality of dies 100 (510). The selected physical region of memory may be a subset of a block management region, for example, but not limited to, a portion of one or more memory blocks 110 from the plurality of dies 100 in the DSD 200 (e.g., an F-page or a journal area spanning several F-pages). For example, the controller 210 may select the physical region of memory upon detection of a high bit error count during a read operation. Garbage collecting may then be performed on the selected physical region of memory.


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 FIG. 3). In that case, more than one S-journal may correspond to the selected physical memory region. For example, if garbage collecting on S-journal region N, S-journal N−1 may need to be processed if an L-Page 330 reaches into the region covered by S-journal N−1. Thus, two S-journals may be involved in the garbage collection. The controller 210 may determine one or more S-journals corresponding to the selected physical region of memory (520). The one or more S-journals may contain mapping information transaction entries indicating what logical data (i.e., logical pages) are written to memory locations in the selected physical region.


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.



FIG. 6 is a block diagram illustrating S-journals for an invisible band according to an example embodiment of the present inventive concept. In one embodiment, an invisible band 610 is a special memory address range designed for denoting that logical data has been invalidated. In other words, there are no physical, i.e., real, memory blocks mapped to the invisible band. However, the invisible band is used to support TRIM operations, and correspondingly, invisible band S-journals 620 are created for TRIM operation entries containing logical addresses corresponding to a non-existent address space in the invisible band which are essentially empty L-pages. Instead of storing L-pages of zeros, a journal entry is created. A TRIM command marks as free space data that no longer needs to be kept track of.


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:

    • garbage collect user data areas covered by 150 S-journal entries (150×10 to 20 entries)=1,500 to 3,000 entries;
    • garbage collect one invisible band S-journal (approximately 3,000 entries);
    • garbage collect user data areas covered by another 150 S-journal entries (150×10 to 20 entries)=1,500 to 3,000 entries;
    • garbage collect another invisible band S-journal (approximately 3,000 entries)


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. FIG. 7 is a flowchart illustrating a method for managing garbage collection of memory locations and invisible band journals according to an example embodiment of the present inventive concept.


Referring to FIG. 7, the controller 210 may select a physical region of memory having a predetermined number of data entries to be garbage collected from the plurality of dies 100 (710). The controller 210 may determine one or more S-journals corresponding to the selected physical region of memory. The selected physical region of memory may be a subset of a block management region, for example, but not limited to, a portion of one or more memory blocks 110 from the plurality of dies 100 in the DSD 200 (e.g., an F-page or a journal area spanning several F-pages). For example, the physical region of memory may be selected upon detection of a high bit error count during a read operation. Garbage collecting may then be performed on the selected physical region of memory.


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.

Claims
  • 1. A method for managing garbage collection for an invisible band in a data storage device (DSD), the method comprising: designating an invisible band that comprises a memory address range designed to indicate that logical data has been invalidated;creating one or more invisible band S-journals for TRIM operations, wherein the one or more invisible band S-journals contains mapping information transaction entries recording what logical data are mapped to a location designed for denoting that logical data has been invalidated;scheduling garbage collection for the one or more invisible band S-journals by alternating garbage collection on the one or more invisible band S-journals with garbage collection on one or more data band S-journals, wherein the one or more data band S-journals contain mapping information transaction entries indicating what logical data are written to memory locations in a selected physical region of the DSD; andperforming the scheduled garbage collection.
  • 2. The method of claim 1, wherein the one or more invisible band S-journals scheduled for garbage collection contains substantially a same number of entries as the one or more data band S-journals scheduled for garbage collection.
  • 3. The method of claim 1, comprising: determining whether a first invisible band S-journal scheduled for garbage collection contains valid metadata;copying the determined valid metadata from first invisible band S-journal to a second invisible band S-journal; andfreeing the first invisible band S-journal for use.
  • 4. A data storage device (DSD), comprising: a controller;a plurality of dies, each die comprising a plurality of memory blocks, an invisible band that comprises a memory address range designed to indicate that logical data has been invalidated; andone or more invisible band S-journals created by TRIM operations, wherein the one or more invisible band S-journal contains mapping information transaction entries recording what logical data are mapped to a location designed for denoting that logical data has been invalidated;wherein the controller is configured to schedule garbage collection for the one or more invisible band S-journals by alternating garbage collection on the one or more invisible band S-journals with garbage collection on one or more data band S-journals, wherein the one or more data band S-journals contains mapping information transaction entries indicating what logical data are written to memory locations in a selected physical region of the DSD; andwherein the controller is configured to perform the scheduled garbage collection.
  • 5. The DSD of claim 4, wherein the one or more invisible band S-journals scheduled for garbage collection contains substantially a same number of entries as the one or more data band S-journals scheduled for garbage collection.
  • 6. The DSD of claim 4, wherein the controller configured to: determine whether a first invisible band S-journal scheduled for garbage collection contains valid metadata;copy the determined valid metadata from first invisible band S-journal to a second invisible band S-journal; andfree the first invisible band S-journal for use.
CROSS-REFERENCE TO RELATED APPLICATION(S)

This application is a continuation of U.S. patent application Ser. No. 14/250,000, filed on Apr. 10, 2014, entitled “PARTIAL GARBAGE COLLECTION FOR FAST ERROR HANDLING AND OPTIMIZED GARBAGE COLLECTION FOR THE INVISIBLE BAND”, which claims the benefit of U.S. Provisional Application No. 61/955,418 filed Mar. 19, 2014, the disclosures of which are hereby incorporated in their entirety by reference.

US Referenced Citations (160)
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
7912997 Murray 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
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
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
20140047210 Cohen Feb 2014 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
20140149828 Chang 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 et al. Sep 2014 A1
20150179254 Alrod Jun 2015 A1
Non-Patent Literature Citations (5)
Entry
Agrawal et al., “Design Tradeoffs for SSD Performance,” USENIX, 14 pgs. (2008).
International Search Report and Written Opinion for International Patent Application No. PCT/US2013/062723 dated Jan. 16, 2014 (11 pages).
Kang 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).
Toker, “Garbage Collection and TRIM in SSDs Explained—An SSD Primer,” The SSD Review, 9 pgs. (2012).
Wei et al., “Reliably Erasing Data from Flash-Based Solid State Drives,” FAST, 13 pgs. (2011).
Related Publications (1)
Number Date Country
20160275012 A1 Sep 2016 US
Provisional Applications (1)
Number Date Country
61955418 Mar 2014 US
Continuations (1)
Number Date Country
Parent 14250000 Apr 2014 US
Child 15166694 US