Patent ID: 7167395

Claim:
A method for determining a reading voltage for reading data out of a non-volatile semiconductor memory, wherein the semiconductor memory comprises a plurality of memory cells grouped in a first memory area and a second memory area, the method comprising the steps of: storing a given number of “0”s into the second memory area; storing an equal number of “0”s and “1”s in the memory cells of the first memory area; reading the memory cells of the first memory area using an initial first reading voltage; adjusting the first reading voltage and re-reading the memory cells of the first memory area until an equal number of “0”s and “1”s are read out of the memory cells of the first memory area, thus obtaining a final first reading voltage; determining an initial second reading voltage on the basis of the final first reading voltage; reading the memory cells of the second memory area using the initial second reading voltage; adjusting the second reading voltage and re-reading the memory cells of the second memory area until the number of “0”s read is equal to the number of “0”s stored in the second memory area, thus obtaining a final second reading voltage; and using the final second reading voltage as a reading voltage for reading the memory cells of the semiconductor memory.