Flash memory controller garbage collection operations performed independently in multiple flash memory groups
First Claim
Patent Images
1. A method of performing garbage collection operations in a system comprising a flash memory controller and a flash memory module made up of at least four groups of flash memory devices, each device consisting of a plurality of flash memory areas, including performing the following steps independently for each flash memory group:
- (a) determining the number of flash memory areas that do not contain valid data;
(b) if the number is equal to or less than a first threshold, setting an indicator to a first state;
(c) if the indicator is in the first state, copying data from a first flash memory area to a second flash memory area and erasing the first flash memory area.
11 Assignments
0 Petitions
Accused Products
Abstract
A flash memory controller connected to multiple flash memory groups performs independent garbage collection operations in each group. For each group, the controller independently determines the amount of free space and performs garbage collection operations if the amount falls below a threshold.
-
Citations
25 Claims
-
1. A method of performing garbage collection operations in a system comprising a flash memory controller and a flash memory module made up of at least four groups of flash memory devices, each device consisting of a plurality of flash memory areas, including performing the following steps independently for each flash memory group:
-
(a) determining the number of flash memory areas that do not contain valid data; (b) if the number is equal to or less than a first threshold, setting an indicator to a first state; (c) if the indicator is in the first state, copying data from a first flash memory area to a second flash memory area and erasing the first flash memory area. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A flash memory controller connected to a group of flash memory-devices, the controller storing programming, the programming comprising:
-
first programming stored in a first memory, the first programming including programming that checks the number of free memory areas in a first subgroup of flash memory devices and, if the number is below a threshold, triggers first garbage collection programming, the first garbage collection programming including programming that selects a first memory area from the first subgroup of flash memory devices and copies the valid data from the first memory area to a first volatile memory within the flash memory controller; and programming that copies the valid data from the first volatile memory to a second memory area from the first subgroup of flash memory devices; and programming that erases at least a portion of the first memory area; and second programming stored in a second memory, the second programming including programming that checks the number of free memory areas in a second subgroup of flash memory devices and, if the number is below a threshold, triggers second garbage collection programming, the second garbage collection programming including programming that selects a third memory area from the second subgroup of flash memory devices and copies the valid data from the third memory area to a second volatile memory within the flash memory controller; programming that copies the valid data from the second volatile memory to a fourth memory area from the second subgroup of flash memory devices, and programming that erases at least a portion of the third memory area. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25)
-
Specification