1.  Field of the Invention
This invention relates to a semiconductor memory device capable of storing, for example, 2 bits or more of data. 
2.  Description of the Related Art
A nonvolatile semiconductor memory device capable of storing multivalued data, such as a NAND flash memory using EEPROM, has been proposed (for example, refer to Jpn.  Pat.  Appln.  KOKAI Publication No.  2000-195280). 
In a nonvolatile semiconductor memory device of this type, when multivalued data is stored in a memory cell, a threshold voltage corresponding to each data is set in the memory cell.  The number of threshold voltages increases as the number of bits in data stored in the memory cell increases.  For example, to store 2 bits of 4-valued data, four threshold voltages are required.  To store 3 bits of 8-valued data, eight threshold voltages are needed. 
When data is written into a memory cell, it is verified whether the threshold voltage of the memory cell has reached a threshold voltage corresponding to the data to be written.  To carry out a verify operation, the bit line to which the memory cell is connected is precharged to a specific potential.  In this state, a verify voltage is supplied to the word line.  If the threshold voltage of the memory cell has not reached the threshold voltage corresponding to the writing data, the memory cell turns on.  As a result, the potential on the bit line is discharged via the memory cell and therefore goes low.  In contrast, if the threshold voltage of the memory cell has reached the threshold voltage corresponding to the writing data, the memory cell remains off.  As a result, the bit line remains high.  The potential on the bit line is detected, thereby verifying the threshold voltage of the memory cell.  The result of the verification has shown that the threshold voltage of the memory cell has not reached the threshold voltage corresponding to the data to be written into, writing is done again. 
As described above, in a nonvolatile semiconductor memory device which stores multivalued data, when the number of bits of data to be stored is large, the number of threshold voltages set in the memory cell increases.  In writing data, the verify operation has to be carried for on each threshold voltage.  Consequently, it requires a long time to carry out the verify operation, which makes it difficult to speed up the data write operation.