A memory cell of a memory array stores two bits. A memory array sense
amplifier provides two bits in a verify operation. Two bits in a page
buffer stores a write target value for the corresponding memory cell.
Each bit in a mask buffer stores a value defining processing to be
effected on the corresponding memory cell. A write driver applies a write
pulse when the bit in the mask buffer corresponding to the selected
memory cell is "0". A verify circuit compares the two bits provided from
the memory array sense amplifier with the corresponding two bits in the
page buffer, and changes the corresponding bit in the mask buffer from
"0" to "1" when the result of the comparison represents matching.