摘要 |
<p>A method for managing a memory by a memory controller which delays a unit (block) of memory, such as flash memory, from being considered for reclamation (garbage collection) using a second pool (2) of blocks which are not considered for garbage collection and a first pool (1) of blocks which is available for garbage collection. The memory comprises a set of blocks; each block comprising a set of pages. Data updates are performed by writing data updates out-of-Âplace, and invalidating the page containing the outdated data. The method moves a block from the first pool (1) to the second pool (2) in response to invalidating a first one of the pages contained in this unit. This unit is returned from the second pool (2) to the first pool (1) after a defined number of blocks of the set have been written; preferably the second pool comprises a single queue, a circular buffer (21) of queues with index pointer (22), or first-in, first-out (FIFO) buffer. A block is selected out of the first pool (1) for reclamation by the block reclaiming process.</p> |