What is Read Disturb Error in NAND Flash memory and how do I recover from it?
A Read Disturb Error in NAND Flash memory manifests as a correctable read error. The recovery is the same as for any other correctable read error – copy the affected page or the block containing the affected page to a new block and erase the old block. If the correctable error is detected by data storage software (flash file system), then the data storage software can force a garbage collection on the affected block.
Read disturb happens when a very high read count is applied to a location (page) in the NAND flash array. Over time, this reading activity can disturb the analog voltage of neighboring bits enough to change their digital value. Since this is just a change in voltage level for certain bits, erasing and reprogramming the block in question completely reverses the effects of read disturb.
Note: It is important to perform the refresh activity while the read errors are correctable.
If the flash manufacturer provides a read cycle limit, then the management software may count the number of reads to any given page or block, and preemptively force a refresh (i.e. garbage collection) to copy the correctable data to a new block. This method may force a refresh before any correctable read errors appear.
Cypress SLC NAND flash does not list a read cycle limit for the S34ML-1, S34MS-1, S34ML-2, or S34ML-2 product lines. In this case, refresh the data in a block once one or more read errors are detected.