In a non-volatile semiconductor memory, a large current can be flowed
through the memory cell during reading. The number of the column lines
can be reduced. The electron injection to the floating gates of the
respective memory cells is averaged to reduce the dispersion of the
threshold voltages thereof. The electron emission from the floating gates
of the respective memory cells is also averaged to reduce the dispersion
of the threshold voltages thereof. An increase in chip size due to latch
circuits can be prevented. By noting that either of a plurality of "0" or
"1" of the binary data are stored such in the memory cells of the memory
cell bundle or block, a negative threshold voltage is allocated to the
memory cells for storing the more bit side data of the binary data. A
single column line is used in common for the two adjacent memory blocks.
To inject electrons to the floating gates of the memory cells, voltage is
increased gradually and stopped when electrons have been injected up to a
predetermined injection rate. Electrons are once emitted from the
floating gates, and thereafter the electrons are injected again to store
one of a binary data. Further, the date latch circuits can be formed at
any positions remote from the memory cell array.