CPC G11C 16/26 (2013.01) [G06F 3/0619 (2013.01); G06F 3/064 (2013.01); G06F 3/0659 (2013.01); G06F 3/0679 (2013.01); G06F 11/1068 (2013.01); G06F 11/1072 (2013.01); G11C 11/5642 (2013.01); G11C 16/0483 (2013.01); G11C 16/3427 (2013.01); G11C 29/52 (2013.01); H03M 13/152 (2013.01); G11C 16/0475 (2013.01); G11C 2211/5644 (2013.01); G11C 2211/5648 (2013.01)] | 9 Claims |
1. A memory controller for reading data stored in a flash memory,
wherein the memory controller is configured to perform the steps of:
reading a plurality of memory cells of the flash memory by using a plurality of control gate voltages to obtain a plurality of bit sequences from the flash memory;
referring to the plurality of bit sequences to determine numbers of memory cells whose threshold voltages are located between a first control gate voltage and a second control gate voltage of the plurality of control gate voltages, to generate a first value;
referring to the plurality of bit sequences to determine numbers of memory cells whose threshold voltages are located between a third control gate voltage and a fourth control gate voltage of the plurality of control gate voltages, to generate a second value; and
updating at least one of the plurality of control gate voltages according to the first value and the second value.
|