Patent ID: 8190842

Claim:
A method of reducing read-disturb errors in a memory system comprising a FLASH memory space organized into a plurality of blocks, each block comprising a plurality of pages, and each page defining an individually addressable physical memory location, the method comprising the steps of: accumulating a Block READ Count corresponding to the number of times any of the pages in a first block have been read; determining whether the Block READ Count for the first block has reached a predetermined number; and after the Block READ Count for the first block has reached a predetermined number: in response to a first READ request, and as a result of the first READ request directed to a first target page within the first block, moving data stored within the first target page to a second block that is different from the first block and designating data that remains stored within the first target page as invalid data while retaining within the first block valid data stored within pages in the first block other than the first target page; in response to a subsequent READ request directed to a second target page within the first block, and as a result of the second READ request, moving the data stored within the second target page to a block that is different from the first block and designating data that remains stored within the second target page as invalid data while retaining within the first block valid data stored within pages in the first block other than the second target page, the second READ request being received after the first READ request; determining whether the Block READ Count for the first block has reached a second predetermined number, the second predetermined number being greater than the predetermined number; and in response to a determination that the Block READ Count for the first block has reached the second predetermined number, moving the valid data then stored within the first block to a block different from the first block, the step of determining whether the Block READ Count for the first block has reached a second predetermined number occurring after receipt of the first and second READ requests.