MEMORY LOGICAL DEFRAGMENTATION DURING GARBAGE COLLECTION
First Claim
Patent Images
1. A method for memory storage comprising:
- in a memory system having non-volatile storage and a controller in communication with the non-volatile storage, the controller is configured for;
initiating a garbage collection operation, wherein the garbage collection operation includes identifying valid data that is stored with obsolete data in a block;
determining, as part of the garbage collection operation, any correlations between the identified valid data to be copied; and
aggregating, based on the determined correlations, the identified valid data to be copied, wherein the aggregation includes combining correlated data in the block during garbage collection.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system defragments data during garbage collection. Garbage collection may be more efficient when the valid data that is aggregated together is related or logically linked. In particular, data from the same file or that is statistically correlated may be combined in the same blocks during garbage collection.
57 Citations
21 Claims
-
1. A method for memory storage comprising:
in a memory system having non-volatile storage and a controller in communication with the non-volatile storage, the controller is configured for; initiating a garbage collection operation, wherein the garbage collection operation includes identifying valid data that is stored with obsolete data in a block; determining, as part of the garbage collection operation, any correlations between the identified valid data to be copied; and aggregating, based on the determined correlations, the identified valid data to be copied, wherein the aggregation includes combining correlated data in the block during garbage collection. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
13. A memory system comprising:
-
a non-volatile storage having an array of memory blocks storing data that is associated with logical block address (LBA) addresses; and a controller in communication with the blocks, the controller configured to; receive a write instruction for data to be written; identify blocks that include both valid data and obsolete data; and aggregate valid data from the identified blocks into a new block, wherein the aggregation further comprises an identification of relationships among the valid data wherein the valid data that is related is aggregated together into the new block. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A method for operating a memory system comprising:
in a non-volatile storage device having a controller and blocks of memory, the controller is configured for; identifying blocks that include both valid data and obsolete data; analyzing the blocks that include both valid data and obsolete data to identify the valid data in those blocks that is correlated; aggregating the valid data, wherein the aggregation includes combining the valid data that is correlated. - View Dependent Claims (20, 21)
Specification