In writing N level of multilevel data to nonvolatile semiconductor memory by
repeating
a verification process, a verification result of a memory cell where the Nth threshold
level which is the highest level is to be written as an expected level is invalidated
until completion of writing to a memory cell where the (N-1)th and lower level
is to be written. The verification result of the memory cell where the Nth level
is to be written is validated after reaching the (N-1)th write level. A reference
current supplied to a sense amplifier corresponding to the Nth level is set at
at least a level allowing no indeterminate sensing of a sense amplifier. In verification
of the Nth level data, a word line voltage supplied for verify-reading is raised
from VW 1 to VW 2.