Patent ID: 9678671
Date: 2017-06-13
CPC Classifications: G06F

Claim:
1. A method for selecting memory blocks in a non-volatile solid-state memory array for garbage collection, the method comprising: classifying each of a plurality of memory blocks into one of three or more memory block pools based on respective numbers of invalid pages in the respective memory blocks and respective invalid page threshold levels for each of the three or more memory block pools, each memory block pool having a different invalid page threshold level; adjusting one or more of the invalid page threshold levels based on a memory usage condition; re-classifying one or more of the plurality of memory blocks into a different one of the three or more memory block pools based on the adjusted one or more invalid page threshold levels; determining a number of memory blocks to be garbage collected; and selecting the determined number of memory blocks for garbage collection from one or more non-empty ones of the three or more memory block pools according to a predetermined selection order.