Data latch circuits are provided corresponding to select memory cells from
or into which read or program is executed. The data latch circuits are
grouped by two into sets. When 2-bit data is read from or programmed into
the select memory cells, one data latch circuit is selected by a select
signal, and, when 1-bit data is read or programmed, the two data latch
circuits in one set are selected by a select signal. Between one or two
selected data latch circuits and a data input/output buffer, data is
exchanged. By so doing, changeover between 2-level data and multi-level
(4-level or more-level) data concerning program or read of data into or
out the memory cells becomes possible.