Patent ID: 8773922

Claim:
A method determining a read voltage in a non-volatile semiconductor memory device including a memory cell array of non-volatile memory cells, the method comprising: obtaining read data by reading the nonvolatile memory cells using a current read voltage, wherein the nonvolatile memory cells is disposed in a portion of the memory cell array capable of storing program data during a program operation initiated by a user input received via a user interface; extracting comparative data from the read data by calculating a first number of a data value stored in the nonvolatile memory cells; extracting reference data from program data programmed in the nonvolatile memory cells during a program operation initiated by a user input received via the user interface by calculating a second number of the data value stored by the nonvolatile memory cells; comparing the comparative data with the reference data to generate a comparison result; determining on the basis of the comparison result whether or not the current read voltage is an optimal read voltage; and when the current read voltage is determined not to be an optimal voltage, changing the current read voltage to a new read voltage on the basis of a difference value between the first and second numbers.