US 9,811,415 B2
Apparatus and method for detecting and correcting read disturb errors on a flash memory
Shan Chu, Coram, NY (US); and James R Fuccello, Patchogue, NY (US)
Assigned to Symbol Technologies, LLC, Holtsville, NY (US)
Filed by SYMBOL TECHNOLOGIES, INC., Lincolnshire, IL (US)
Filed on Mar. 4, 2015, as Appl. No. 14/638,431.
Claims priority of provisional application 61/972,802, filed on Mar. 31, 2014.
Prior Publication US 2015/0278014 A1, Oct. 1, 2015
Int. Cl. G11C 29/00 (2006.01); G06F 11/10 (2006.01); G11C 29/52 (2006.01)
CPC G06F 11/1068 (2013.01) [G06F 11/106 (2013.01); G06F 11/1052 (2013.01); G11C 29/52 (2013.01)] 2 Claims
OG exemplary drawing
 
1. A method of detecting a pre-read disturb state on a flash memory, the flash memory including a plurality of blocks each having a plurality of pages, the method comprising the steps of:
for each of the plurality of blocks, determining a preventative read operation cadence based at least in part on the respective block having a predetermined level of importance, the predetermined level of importance corresponding to operating system data, critical application data, and critical user data;
during an initialization operation, for each of the plurality of blocks:
reading each of the plurality of pages;
determining a first ECC status for each of the plurality of pages;
determining a first number of errors for each of the plurality of pages based at least in part on the respective first ECC status;
performing a correction responsive to determining that the first number of errors is greater than a predefined first ECC threshold; and
updating a block error status and a block read cadence;
conducting a regular read operation, for each of the plurality of blocks being read during the regular read operation, the regular read operation including the sub-steps of:
updating a read count;
determining a second ECC status for each of the plurality of pages;
determining a second number of errors for each of the plurality of pages based at least in part on the respective second ECC status;
performing the correction responsive to determining that the second number of errors is greater than a predefined second ECC threshold;
updating the block error status and the block read cadence, and
for at least one of the plurality of blocks being read during the regular read operation, triggering the preventative read operation based in part on the block read cadence and further based in part on the preventative read operation cadence, the preventative read operation being executed on each of the pages within the each of the at least one of the plurality of blocks being read during the preventative read operation.