A data writing method for a semiconductor memory device includes writing data
into
the first memory cell, rewriting the data into the first memory cell when an insufficiency
of the data of the first memory cell is determined as a result of verifying the
data of the first memory cell at one first reference threshold voltage, writing
data into the second memory cell following writing the data into the first memory
cell, and rewriting the data into the first memory cell following writing the data
into the second memory cell when an insufficiency of the data of the first memory
cell is determined as a result of verifying the data of the first memory cell at
one second reference threshold voltage. The first reference threshold voltage is
set to be different from the second reference threshold voltage.