System and method of managing data in a non-volatile memory having a staging sub-drive
First Claim
1. A method for managing data in a memory system having a controller in communication with a plurality of non-volatile memory sub-drives, the method comprising the controller:
- receiving host data writes at the memory system;
storing all data associated with the received host data writes only at a staging sub-drive of the plurality of sub-drives;
only moving data from the staging sub-drive to another sub-drive as part of a garbage collection operation to free additional space in the staging sub-drive.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method is disclosed for managing data in a non-volatile memory. The system may include a non-volatile memory having multiple non-volatile memory sub-drives, including a staging sub-drive to receive all data from a host and a plurality of other sub-drives each associated with a respective data temperature range. A controller of the memory system is configured to route all incoming host data only to the staging sub-drive and during garbage collection each individual piece of valid data from a selected source block in a selected source sub-drive is routed to a respective one of the sub-drives. The method may include only routing host data to the staging sub-drive and only relocating valid data to sub-drives other than the staging sub-drive based on a determined temperature of valid data and a unique temperature range associated with sub-drives other than the staging sub-drive in the non-volatile memory system.
12 Citations
21 Claims
-
1. A method for managing data in a memory system having a controller in communication with a plurality of non-volatile memory sub-drives, the method comprising the controller:
-
receiving host data writes at the memory system; storing all data associated with the received host data writes only at a staging sub-drive of the plurality of sub-drives; only moving data from the staging sub-drive to another sub-drive as part of a garbage collection operation to free additional space in the staging sub-drive. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for managing data, the method comprising:
in a memory system having a controller and plurality of non-volatile memory sub-drives including a staging sub-drive configured to receive all initial data writes from a host and plurality of additional sub-drives each associated with data of a different predetermined temperature range, the controller; selecting one of the plurality of non-volatile memory sub-drives for a garbage collection operation; selecting a source superblock for the garbage collection operation in the selected one of the plurality of sub-drives, the selected source superblock having valid data pieces each associated with a respective logical address; for each valid data piece in the selected source superblock, determining a temperature of the logical address associated with the valid data piece; and moving the valid data piece to the non-volatile memory sub-drive containing data associated with logical addresses having the determined temperature. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
16. A non-volatile memory system comprising:
-
a non-volatile memory having a plurality of sub-drives; and a controller in communication with the plurality of sub-drives, the controller configured to; only route data received from a host to a staging sub-drive; select from the plurality of sub-drives a sub-drive having more than a target amount of overprovisioning for the sub-drive, wherein the target amount of overprovisioning comprises a ratio of physical storage capacity to valid data in the sub-drive; select a source superblock from the selected sub-drive for a garbage collection operation; execute the garbage collection operation on the selected source superblock, wherein to execute the garbage collection operation, the controller is configured to only relocate valid data pieces of the selected source superblock to sub-drives other than the staging sub-drive based on a data temperature range associated with the sub-drives other than the staging sub-drive and a data temperature determined for each valid data piece. - View Dependent Claims (17, 18, 19, 20)
-
-
21. A non-volatile memory system comprising:
-
a non-volatile memory comprising; a staging sub-drive configured to receive all host data from a host; and a plurality of temperature range sub-drives other than the staging sub-drive, each of the plurality of temperature range sub-drives associated with a respective different data temperature range; and means for selecting a source superblock for a garbage collection operation from one of the staging sub-drive or plurality of temperature range sub-drives based on a target overprovisioning for each sub-drive and for only relocating valid data from the selected source superblock to sub-drives other than the staging sub-drive based on a data temperature range associated with the sub-drives other than the staging sub-drive and a data temperature determined for each valid data piece in the selected source superblock.
-
Specification