| CPC G06F 11/1016 (2013.01) [G06F 11/1048 (2013.01); G06F 11/1068 (2013.01); G11C 16/3404 (2013.01); G11C 29/42 (2013.01)] | 16 Claims |

|
1. A method of searching for read voltages of a data storage device, wherein the data storage device comprises a calculation circuit and a non-volatile flash memory, and the method is executed by the calculation circuit to perform following steps:
reading a memory segment through a plurality of read voltages to obtain a plurality of sampling data respectively, wherein the read voltages are composed of pairs of adjacent read voltages, and the memory segment is from the non-volatile flash memory;
counting first bits in each of the sampled data to obtain a first bit number, wherein the first bit numbers correspond to the read voltages respectively;
obtaining a number difference from the first bit numbers of each of the pairs of adjacent read voltages;
calculating a coefficient matrix according to the read voltages and the number differences;
calculating a plurality of fitting values according to the read voltages and the coefficient matrix, wherein the fitting values correspond to the read voltages respectively; and
selecting a read voltage among the read voltages corresponding to a minimum fitting value among the fitting values, in order to read the memory segment to perform an error correction program.
|