Garbage Collection with Demotion of Valid Data to a Lower Memory Tier
First Claim
1. A method comprising:
- arranging a non-volatile first tier of a multi-tier memory structure into a plurality of garbage collection units (GCUs) each comprising a plurality of non-volatile memory cells managed as a unit;
storing a plurality of data sets in a selected GCU; and
performing a garbage collection operation upon the selected GCU by identifying at least one of the plurality of data sets as a valid data set, migrating the valid data set to a different, non-volatile second tier of the multi-tier memory structure, and invalidating a data state of each of the plurality of non-volatile memory cells in the selected GCU to prepare the selected GCU to store new data.
1 Assignment
0 Petitions
Accused Products
Abstract
Method and apparatus for managing data in a memory. In accordance with some embodiments, a first tier of a multi-tier memory structure is arranged into a plurality of garbage collection units (GCUs). Each GCU is formed from a plurality of non-volatile memory cells, and is managed as a unit. A plurality of data sets is stored in a selected GCU. A garbage collection operation is performed upon the selected GCU by identifying at least one of the plurality of data sets as a valid data set, migrating the valid data set to a non-volatile second tier of the multi-tier memory structure, and invalidating a programmed state of each of the plurality of non-volatile memory cells to prepare the selected GCU for storage of new data. In some embodiments, the invalidating operation involves setting all of the memory cells in the selected GCU to a known storage state.
374 Citations
20 Claims
-
1. A method comprising:
-
arranging a non-volatile first tier of a multi-tier memory structure into a plurality of garbage collection units (GCUs) each comprising a plurality of non-volatile memory cells managed as a unit; storing a plurality of data sets in a selected GCU; and performing a garbage collection operation upon the selected GCU by identifying at least one of the plurality of data sets as a valid data set, migrating the valid data set to a different, non-volatile second tier of the multi-tier memory structure, and invalidating a data state of each of the plurality of non-volatile memory cells in the selected GCU to prepare the selected GCU to store new data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. An apparatus comprising:
-
a multi-tier memory structure comprising a plurality of non-volatile memory tiers each having different data transfer attributes and corresponding memory cell constructions, wherein an upper memory tier in the multi-tier memory structure is arranged into a plurality of garbage collection units (GCUs), each GCU comprising a plurality of non-volatile memory cells that are allocated and reset as a unit; a storage manager adapted to store a plurality of data sets in a selected GCU in the upper memory tier; and a garbage collection engine adapted to perform a garbage collection operation upon the selected GCU by identifying at least one of the plurality of data sets as a valid data set, demoting the valid data set to a non-volatile lower tier of the multi-tier memory structure, and invalidating a storage state of each of the plurality of non-volatile memory cells in preparation for storage of new data to the selected GCU. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
-
19. An apparatus comprising:
-
a multi-tier memory structure comprising a plurality of non-volatile memory tiers each having different data transfer attributes and corresponding memory cell constructions, wherein an upper memory tier in the multi-tier memory structure is arranged into a plurality of garbage collection units (GCUs), each GCU comprising a plurality of non-volatile memory cells that are allocated and reset as a unit; and a controller adapted to allocate a selected GCU for storage of data from a GCU allocation pool, to store a plurality of data sets in the allocated selected GCU, and to subsequently garbage collect the selected GCU to return the selected GCU to the GCU allocation pool by demoting a valid data set to a lower memory tier and resetting the plurality of non-volatile memory cells in the selected GCU to a known storage state. - View Dependent Claims (20)
-
Specification