Flash memory with targeted read scrub algorithm
First Claim
1. A method for counteracting read disturb effects in a flash memory device comprising:
- in a controller of the flash memory device, the controller;
receiving a read command from a host;
determining if a scan for errors in a portion of the flash memory device is necessary in response to the read command; and
in response to determining that the scan is necessary;
identifying a word line of the flash memory to scan based on the received read command;
scanning only the identified word line for data errors, without scanning any other word line in a block containing the identified word line, wherein scanning only the identified word line comprises scanning only an upper page of the identified word line;
placing the block in a refresh queue if an error threshold is detected in the identified word line; and
if the error threshold is not detected in the identified word line, waiting for a next read command from the host.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system have been described for counteracting and correcting for read disturb effects in blocks of flash memory. The method may include the step of a controller of the memory system performing a read scrub scan on only a portion of one targeted word line in a block at desired intervals. The controller may calculate whether a read scrub scan is necessary based on a probabilistic determination that is calculated in response to each received host read command. The controller may then place a block associated with the targeted word line into a refresh queue if a number of errors are detected in the targeted word line that meets or exceeds a predetermined threshold. The block refresh process may include copying the data from the block into a new block during a background operation.
-
Citations
17 Claims
-
1. A method for counteracting read disturb effects in a flash memory device comprising:
in a controller of the flash memory device, the controller; receiving a read command from a host; determining if a scan for errors in a portion of the flash memory device is necessary in response to the read command; and in response to determining that the scan is necessary; identifying a word line of the flash memory to scan based on the received read command; scanning only the identified word line for data errors, without scanning any other word line in a block containing the identified word line, wherein scanning only the identified word line comprises scanning only an upper page of the identified word line; placing the block in a refresh queue if an error threshold is detected in the identified word line; and if the error threshold is not detected in the identified word line, waiting for a next read command from the host. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
10. A memory system comprising:
-
non-volatile memory; and a controller in communication with the non-volatile memory, the controller configured to; receive a read command from a host; determine if a scan for errors in of a portion of the flash memory device is necessary in response to the read command; and in response to determining that the scan is necessary; identify a word line of the flash memory to scan based on the received read command; scan only the identified word line for data errors, without scanning any other word line in a block containing the identified word line, wherein the controller is further configured to scan only an upper page of the identified word line; place the block in a refresh queue if an error threshold is detected in the identified word line; and if the error threshold is not detected in the identified word line, wait for a next read command from the host. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
Specification