Patent ID: 8533384

Claim:
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 having a plurality of flash memory areas, including performing the following steps independently for each flash memory group: determining the number of flash memory areas that do not contain valid data; if the number is equal to or less than a first threshold, setting an indicator to a first state; 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; further wherein setting an indicator to a first state further includes: if the number is equal to or less than a second threshold, setting the indicator to a second state, and the method further includes: if the indicator is in the second state, determining whether a task list includes pending tasks and, if the list includes pending tasks, carrying out those tasks, and if the list does not include pending tasks, copying data from the first flash memory area to the second flash memory area and erasing the first flash memory area.