Non-volatile semiconductor memories

Abstract: A nonvolatile semiconductor memory device comprises an array of cell units, each cell unit including at least one memory transistor M which has a floating gate and a control gate, the array being divided into a plurality of memory blocks BK each having a certain number of cell units. A selected memory block BK is erased by an erase voltage applied to a semiconductor substrate while unselected memory blocks BK are prevented from erasing by capacitive coupling of the erase voltage to floated word lines WL connected to control gates of memory transistors of the unselected memory blocks BK. In a program mode where a program voltage is applied to a selected word line WL of a selected memory block BK and a pass voltage is applied to unselected word lines WL of the selected memory block BK, channel regions and source and drain junctions of memory transistors M of cell units in the selected memory block BK are charged to a program inhibition voltage. Channel regions and source and drain junctions of cell units associated with memory transistors M programmed to the other binary data are discharged to be programmed while those of cell units associated with nonprogrammed memory transistors M are maintained to the program inhibition voltage to prevent programming.

Description: The present invention relates to electrically erasable and programmable nonvolatile semiconductor memories and, more particularly, but not exclusively, to electrically erasable and programmable nonvolatile semiconductor memories with NAND structured cells. Various systems controlled by recent computers or microprocessors require the development of an electrically erasable and programmable read-only memory (hereinafter referred to as an EEPROM) of a high density. Particularly, since the use of a hard disk with a rotary magnetic disk as a secondary storage occupies a relatively large area in a portable computer system such as a battery-powered computer system of notebook size, system designers take much interest in the development of EEPROMs of high density and high performance occupying a smaller area. To achieve a high density EEPROM, it is a major problem to reduce the area occupied by memory cells. To solve such a problem, an EEPROM has been developed which contains NAND structured cells being capable of decreasing the number of selection transistors per cell and contact holes coupled with a bit line. Such a NAND structured cell is disclosed in the IEDM, pp 412 to 415, 1988 under the title of "NEW DEVICE TECHNOLOGIES FOR 5V-ONLY 4Mb EEPROM WITH NAND STRUCTURE CELL". This NAND structured cell (hereinafter referred to as a NAND cell unit or a NAND cell) is comprised of a first selection transistor whose drain is connected to the corresponding bit line via a contact hole; a second selection transistor whose source is connected to a common source line; and eight memory transistors whose channels are connected in series between the source of the first selection transistor and the drain of the second selection transistor. The NAND cell is formed on a p-type semiconductor substrate, and each memory transistor includes a floating gate layer formed on a gate oxide layer over a channel region between its source and drain regions and a control gate layer separated from the floating gate layer by an intermediate insulating layer. To program or write a selected memory transistor in the NAND cell, an operation of simultaneously erasing all memory transistors therein must be followed by the programming operation. The simultaneous erasure is performed by applying 0 volts to the bit line and raising the gate of the first selection transistor and control gates of all memory transistors to 17 volts. This causes all memory transistors to be changed into enhancement mode transistors which are assumed as binary logic "1" programmed transistors. To program a selected memory transistor to a binary logic "0", 22 volts are applied to the bit line, the gate of the first selection transistor and control gates of memory transistors between the first selection transistor and the selected memory transistor, while 0 volts are applied to the control gate of the selected memory transistor, control gates of memory transistors between the selected memory transistor and the common source line, and the gate of the second selection transistor. Thus, the selected memory transistor is changed into a depletion mode transistor by the Fowler-Nordheim tunneling (F-N tunneling) of holes from its drain to its floating gate. However, the problem of programming in this manner is that a portion of the gate oxide of the selected memory transistor is subjected to a stress induced by application of the high voltage to its drain, and the partially stressed gate oxide causes leakage current to flow. This results in degrading more and more the data retention capability of the memory cell according to an increase of the number of cycles of erasing and/or programming, thereby reducing the reliability of the EEPROM. To solve this problem, an improved device structure, in which the NAND cells are formed on a p-type well region embedded in an n-type semiconductor substrate, and further improved erasing and programming technologies utilizing the improved device structure are disclosed in the symposium on VLSI Technology, pp 129 to 130, 1990 under the title of "A NAND STRUCTURED CELL WITH A NEW PROGRAMMING TECHNOLOGY FOR HIGHLY RELIABLE 5V-ONLY FLASH EEPROM". Erasure of all memory transistors in this NAND cell is performed by applying 0 volts to all control gates and a high potential of 20 volts to the p-type well region and the n-type substrate, thereby uniformly extracting electrons from their floating gates to the well region. As a result, each memory transistor has a threshold voltage of about -4 volts which represents a state of depletion mode, i.e. a logic "0". To program a selected memory transistor in the NAND cell, a high voltage of 20 volts is applied to the gate of the first selection transistor and the control gate of the selected memory transistor, while 0 volts are applied to the gate of the second selection transistor, and an intermediate voltage of 7 volts is applied to control gates of unselected memory transistors. If the selected memory transistor is to be written or programmed into a logic "1", 0 volts are applied to the bit line connected with the NAND cell, thereby injecting electrons into the floating gate of the selected memory transistor. This results in causing the selected memory transistor to become enhancement mode. On the contrary, if the selected memory transistor is to be programmed to a logic "0", a program inhibition voltage of 7 volts instead of 0 volts is applied to the bit line to inhibit the programming of the selected memory transistor. Since such a programming operation uniformly injects electrons from the p-type well to its floating gate via its gate oxide layer, the partial stress on the thin gate oxide layer does not occur to a significant degree, and the gate oxide leakage current may thus be prevented. However, when the memory capacity becomes high, such ways of uniform erasing and programming cause problems in the case that system designers want to erase a portion or a block of previously written or programmed memory cells in order to reprogram. In this case, a conventional approach is to simultaneously erase all memory transistors in a memory cell array, i.e. to carry out a flash erasure, and then to newly reprogram the content of all programs. Thus, since significantly reusable portions or blocks of the memory array are simultaneously erased, the reprogramming not only needs a long time, but also is inconvenient. It may be appreciated that such problems seriously occur when the memory density becomes more higher. To solve these problems, it is made possible only to erase all memory transistors in a selected memory block. However, in the case of an EEPROM using the above-mentioned improved erasing and programming techniques, to prevent the erasing of all memory transistors in an unselected block, it is required that a high voltage equal to an erase voltage or a high voltage of about 18 volts or more be placed on their control gates. Thus, this technology has a drawback that a decoding circuit for performing a block erasing operation becomes complicated in design. In addition, when the density of the EEPROM cells increases, an on-chip occupying area of the decoder increases, thereby making it difficult to design the decoder. Another problem of the prior art is that of programming. To prevent the programming of non-programmed memory transistors, which must maintain previous data, of memory transistors on a selected word line, it is required that each of the bit lines corresponding to the non-programmed memory transistors be raised to the intermediate, i.e. the program inhibiting voltage, via a charge pump circuit connected thereto. In addition, when the memory capacity is increased, the number of bit lines or the length of each bit line is increased. Consequently, it is necessary that a high voltage generating circuit on the same chip for supplying the high voltages to the charge pump circuits has a high performance. Such a high voltage generating circuit and the charge pump circuits give a problem in increasing the area occupied by the on-chip peripheral circuits. Conventional EPROMs include a page program mode for high-speed programming. The page programming operation is composed of a data loading operation and a programming operation. The data loading operation comprises sequentially latching or storing data of a byte size from input/output terminals to a data register. The programming operation comprises simultaneously writing the data stored in the data register into memory transistors on a selected word line via bit lines. The page programming technology on an EEPROM with NAND cells is disclosed in the IEEE JOURNAL OF SOLID-STATE CIRCUITS, VOL. 25, No.2, pp 417 to 423, APRIL 1990. NAND structured EEPROMS and their program and erase operations are discussed in IEICE TRANSACTIONS ON ELECTRONICS, vol. 75C, no. 11, November 1992, pp 1351-1356. Erasure or program of non-selected cells is avoided by supplying the control gate and the channel region each with a voltage such that the resulting difference between the gate voltage and the channel voltage is unable to erase or program the cell. The preamble of claims 1,2,9 and 10 are based on this document. Conventional EEPROMs employ a programming verification technique to enhance their reliability. The verification means checking to determine if programmed cells are programmed so as to have desired threshold voltages. Technologies of the programming verification may be classified into an external verification technique controlled by a microprocessor and an internal verification technique performed by an on-chip verification circuit. The external verification technique is disclosed in the IEEE JOURNAL OF SOLID-STATE CIRCUITS, VOL. 26, No. 4, pp 492 to 495, April 1991 and U.S. Pat. No. 5,053,990. The external verification technique has a problem in that it takes a predetermined long time to determine if programmed cells are well programmed. In addition, whenever reprogramming is performed after the failure of the programming, it is necessary that the data loading operation is performed again. However, the internal verifying technique has an advantage that the programming verification is performed at a higher speed. The internal verifying technique is disclosed in Korean Patent Laid Open No. 91-17445 and U.S. Pat. No. 4,811,294. In these documents, the verification is performed in such a manner that comparator means compare data stored in a data register with data read out in pages from memory cells via sense amplifiers. However, such a scheme employing comparator means increases the area occupied by on-chip peripheral circuits. It is therefore an aim of preferred embodiments of the present invention to provide a nonvolatile semiconductor memory with NAND structured cells which can reduce the size of chip. It is another aim to provide a nonvolatile semiconductor memory with NAND structured cells which can reduce power consumption. It is further aim to provide a nonvolatile semiconductor memory which performs an erasing of a selected one of a plurality of memory blocks. It is still further aim to provide a nonvolatile semiconductor memory which is programmable without application of a program inhibition voltage of high voltages on unselected bit lines in order to reduce a chip size and power consumption. It is another aim to provide methods for block erasing and programming which are capable of reducing on-chip occupying area and power consumption in a nonvolatile semiconductor memory with NAND structured cells. It is another aim to provide a nonvolatile semiconductor memory in which on-chip area of peripheral circuits can be reduced in size. It is a further aim to provide a nonvolatile semiconductor memory in which over programming can be prevented. According to one aspect of the invention, there is provided a nonvolatile semiconductor memory provided with memory cells each having a control gate, a floating gate and a channel region, and further provided with means for applying a high erase voltage to the channel regions of selected and non-selected memory cells and for applying a low voltage to the gates of the selected memory cells, wherein said means capacitively couples at least part of said erase voltage to the gates of said non-selected memory cells, in order to erase the selected cells and to inhibit erasure of the non-selected cells. According to one aspect of the invention, there is provided a nonvolatile semiconductor memory provided with memory cells each having a control gate, a floating gate and a channel region, and further provided with means for applying a high program voltage to the control gates of selected and non-selected memory cells and for applying a low voltage to the channel regions of the selected memory cells, wherein said means capacitively couples at least part of said program voltage to the channel regions and source and drain junctions of said non-selected memory cells, in order to program the selected cells and to inhibit programming of the non-selected cells. According to one aspect of the invention, there is provided a method for erasing selected memory cells in a nonvolatile semiconductor memory provided with memory cells each having a control gate, a floating gate and a channel region, and further provided with means for applying a high erase voltage to the channel regions of selected and non-selected memory cells and for applying a low voltage to the gates of the selected memory cells, wherein said method comprises capacitively coupling at least part of said erase voltage to the gates of said non-selected memory cells, in order to erase the selected cells and to inhibit erasure of the non-selected cells. According to one aspect of the invention, there is provided a method for programming selected memory cells in a nonvolatile semiconductor memory provided with memory cells each having a control gate, a floating gate and a channel region, and further provided with means for applying a high program voltage to the control gates of selected and non-selected memory cells and for applying a low voltage to the channel regions of the selected memory cells, wherein said method comprises capacitively coupling at least part of said program voltage to the channel regions and source and drain junctions of said non-selected memory cells, in order to program the selected cells and to inhibit programming of the non-selected cells. According to one aspect of the present invention, there is provided a nonvolatile semiconductor memory comprising word lines formed generally in parallel over a surface of a semiconductor substrate; an array of cell units formed on said surface, each said unit including at least one memory transistor which has source and drain regions formed in said substrate but separated by a channel region, a floating gate formed over the channel region for storage of charge, and a control gate formed over the floating gate and coupled to a corresponding one of said word lines, said array being divided into a plurality of memory blocks each having a certain number of cell units; means for applying a high voltage to said substrate in a data erase mode; and means, responsive to an address in said erase mode, for applying a low voltage to word lines of a memory block selected by said address in order to erase data stored in memory transistors of said selected memory block, and floating word lines of unselected memory blocks so as to prevent erasure of memory transistors in said unselected memory blocks due to the capacitive coupling of a predetermined amount of said high voltage to word lines of said unselected memory blocks. According to another aspect of the present invention, there is provided a nonvolatile semiconductor memory comprising: word lines formed over a surface of a semiconductor substrate; cell units arranged on said surface to form an array, each said unit including at least one memory transistor which has source and drain regions formed in said substrate but separated by a channel region, a charge storage layer formed over the channel region, and a control gate formed over the floating gate and coupled to a corresponding one of said word lines, said array being divided into a plurality of memory blocks each having a certain number of cell units; and means, responsive to an address in a data erase mode, for applying an erase voltage to said substrate, and simultaneously floating word lines of memory blocks unselected by said address, whereby erasure of memory transistors of said unselected memory blocks is prevented by capacitive coupling of a predetermined amount of said erase voltage to the word lines of said unselected memory blocks. According to a further aspect of the present invention, there is provided a nonvolatile semiconductor memory comprising: a semiconductor substrate; an array of cell units formed on said substrate and arranged in a matrix form of rows and columns, each said unit including a predetermined number of memory transistors connected in series in the column direction, each memory transistor having source and drain regions formed in said substrate but separated by a channel region, a floating gate formed over the channel region to store charge, and a control gate formed over the floating gate; word lines formed over said substrate and arranged generally in parallel in the row direction, each word line being connected to control gates of memory transistors in a corresponding row; and control means for erasing memory transistors to one binary data in an data erase mode by transfer of charges from floating gates thereof, and for capacitively charging, when a high potential is applied to a selected word line in a data program mode subsequent to said erase mode, channel regions and source and drain junctions of memory transistors programmed to one binary data to a predetermined potential, whereby said one binary data programmed memory transistors are not programmed due to low potential difference between the substrate and control gates thereof during programming. According to another aspect of the present invention, there is provided a nonvolatile semiconductor memory comprising: a semiconductor substrate; word lines formed over said substrate; a plurality of NAND cells each having a plurality of memory transistors connected in series, each said transistor having source and drain regions formed in said substrate but separated by a channel region, a floating gate formed over the channel region to store binary data, and a control gate formed over said floating gate and connected to a corresponding one of said word lines; and control means for capacitively charging one of either channel regions and source and drain junctions or word lines of memory transistors of a selected NAND cell so as not to change binary data stored previously in said memory transistors of said selected NAND cell during erasing and programming modes. According to another aspect of the present invention, there is provided a nonvolatile semiconductor memory comprising: a semiconductor substrate having a well region; memory transistors formed on said region and arranged in a matrix form of rows and columns, said memory transistors comprising cell units each of which has a predetermined number of memory transistors connected in series, and first and second terminals at its both ends, cell units in respective rows constituting a memory block, each memory transistor having source and drain regions formed in said region but separated by a channel region, a floating gate formed over the channel region to store charge representing binary data, and a control gate formed over the floating gate; word lines each being connected to control gates of memory transistors in a corresponding row; bit lines generally intersecting said word lines; a common source line; first and second selection lines generally in parallel with said word lines; first selection transistors respectively connected between first terminals of cell units in each memory block and corresponding bit lines for selectively connecting therebetween, gates of first selection transistors associated with each memory block being connected to a corresponding first selection line; second selection transistors connected between second terminals of cell units in each memory block and the common source line for selectively connecting therebetween, gates of second selection transistors associated with each memory block being connected to a corresponding second selection line; a data register connected to said bit lines for providing binary data to said bit lines, said register providing logic high level voltages to bit lines associated with memory transistors programmed to one binary data of said binary data while providing reference voltages to bit lines associated with memory transistors programmed to the other binary data thereof; and control means connected to said word lines and said first and second selection lines for applying a program voltage to a selected one of the word lines of a selected memory block and pass voltages to unselected word lines of unselected memory blocks while applying a logic high level voltage to the first selection line associated with said selected memory block and rendering nonconductive second selection transistors associated therewith, whereby channel regions and source and drain junctions of memory transistors in said selected memory block are capacitively charged to program inhibition voltages. According to a further aspect of the present invention, there is provided a method of erasing data stored in a nonvolatile semiconductor memory in a data erase mode, said memory comprising an array of cell units formed on a surface of a semiconductor substrate, each said unit including at least one memory transistor for storage of data which has a floating gate and a control gate coupled to a corresponding one of a plurality of word lines, said array being divided into a plurality of memory blocks each having a certain number of cell units, said method comprising: applying an erase voltage to said substrate; applying a reference voltage to word lines of a memory block selected by an address in order to erase data of memory transistors in said selected memory block; and floating word lines of memory blocks not selected by said address such that memory transistors of said non-selected memory blocks are prevented from erasure by capacitive coupling of a predetermined amount of said erase voltage to said word lines of said unselected memory blocks. According to a further aspect of the present invention, there is provided a method of preventing erasure of memory transistors in memory blocks unselected by an address in a nonvolatile semiconductor memory, wherein said memory comprises cell units formed on a surface of a semiconductor substrate to form an array, each cell unit having at least one memory transistor which has a source, a drain, a floating gate and a control gate connected to a corresponding one of a plurality of word lines, said array being divided into a plurality of memory blocks each having a certain number of cell units, said method comprising the steps of: floating word lines of said unselected memory blocks; and applying an erase voltage to said substrate, whereby memory transistors of said unselected memory blocks are prevented from erasure by capacitive coupling of a predetermined quantity of said erase voltage to said word lines of said unselected memory blocks. According to another aspect of the present invention, there is provided a method of preventing erasing of a cell unit in a nonvolatile semiconductor memory, said cell unit being formed on a surface of a semiconductor substrate and having a predetermined number of memory transistors connected in series, each memory transistor having source and drain regions formed in said substrate but separated by a channel region. a floating gate formed over the channel region to store binary data, and a control gate formed over the floating gate, respective control gates of memory transistors of the cell unit being connected to a corresponding one of a plurality of word lines, said method comprising the steps of: applying an erase voltage to said substrate; and capacitively charging word lines of said cell unit to a predetermined amount of the erase voltage. According to a further aspect of the present invention, there is provided a method of programming a cell unit in an electrically erasable programmable read only memory, said cell unit being formed on a surface of a semiconductor substrate and having a predetermined number of memory transistors connected in series, each memory transistor having source and drain regions formed in said substrate but separated by a channel region, a floating gate formed over the channel region to store one binary data of binary data, and a control gate formed over the floating gate, said method comprising the steps of: capacitively charging channel regions and source and drain junctions of said memory transistors to a program inhibition voltage; maintaining said program inhibition voltage when a selected memory transistor is not programmed to the other binary data while discharging said program inhibition voltage to a low potential when said selected memory transistor is programmed to the other binary data; and applying a program voltage to the control gate of said selected memory transistor. According to another aspect of the present invention, there is provided a method of programming a cell unit in a semiconductor memory, said cell unit being formed on a surface of a semiconductor substrate and having a predetermined number of memory transistors connected in series, each memory transistor having source and drain regions formed in said substrate but separated by a channel region, a floating gate formed over the channel region to store one binary data of binary data, and a control gate formed over the floating gate, said method comprising the steps of: applying a first high voltage to the control gate of a selected memory transistor and a second high voltage lower than the first high voltage to control gates of the remaining memory transistors, whereby channel regions and source and drain junctions of memory transistors of said unit are capacitively charged to a predetermined charged voltage; and discharging said charged voltage when said selected memory transistor is programmed to the other binary data while maintaining said charged voltage when said selected memory transistor is not programmed to the other binary data. According to a further aspect of the present invention, there is provided a method of programming memory transistors in a row in a semiconductor memory which comprises a semiconductor substrate; memory transistors formed on a surface of said substrate and arranged in rows and columns, said memory transistors comprising cell units each of which has a predetermined number of memory transistors connected in series and first and second terminals at each of two ends, each memory transistor having source and drain regions formed in said substrate but separated by a channel region, a floating gate formed over the channel region to store binary data, and a control gate formed over the floating gate, cell units in respective rows constituting a memory block; word lines each being connected to control gates of memory transistors in a corresponding row; bit lines generally intersecting said word lines, said first terminal of each of cell units of each memory block being connected to a corresponding one of said bit lines via a first selection transistor; and a common source line connected to said second terminal of each of cell units via a second selection transistors, said method comprising the steps of: applying a program voltage to a selected word line of a selected memory block and a pass voltage lower than the program voltage to the remaining word lines thereof, while applying a logic high level voltage lower than the pass voltage to gates of first selection transistors associated with said selected memory block and rendering nonconductive second selection transistors associated therewith, said logic high level voltage corresponding to a logic high state; and applying a logic low level voltage corresponding to a logic low state to bit lines associated with memory transistors programmed from one binary data to the other binary data, while applying the logic high level voltage to bit lines associated with memory transistors not programmed, whereby channel regions and source and drain junctions of said nonprogrammed memory transistors are capacitively charged to a voltage level between said logic high level voltage and said program voltage so as to prevent programming, while others of said memory are programmed. For a better understanding of the invention, and to show how embodiments of the same may be carried into effect, reference will now be made, by way of example, to the accompanying diagrammatic drawings, in which: Figure 1 shows a schematic block diagram of one example of an electrically erasable and programmable read-only memory according to the present invention; Figure 2 is comprised of Figures 2a and 2b: Figure 2a illustrating the arrangement of memory cells within first and second memory blocks associated with a k-th column block. and transfer transistor arrays connected thereto; and Figure 2b showing an input/output buffer, a column decoder and selection circuit, a data register and sense amplifiers associated with the k-th column block; Figure 3 shows a plan view of a layout pattern for one of a plurality of NAND cells constituting a memory cell array; Figure 4 shows a cross-sectional view of the NAND cell taken substantially along line IV-IV of Figure 3; Figure 5 shows a schematic circuit diagram of a block selection control circuit used in an embodiment of Figure 2; Figure 6 shows a schematic circuit diagram of a control gate driving circuit used in embodiments of Figure 2 and Figure 13; Figure 7 shows a schematic circuit diagram of a source line driving circuit used in the embodiment of Figure 2; Figure 8a shows a circuit diagram of a tristate inverter used in Figure 2b; Figure 8b shows a circuit diagram of a tristate NAND gate used in Figure 6; Figure 8c shows a schematic timing circuit diagram for generating control signals  6 and  7 used in the block selection control circuit of Figure 5; Figure 9 shows a program determination circuit and is comprised of Figures 9a and 9b, in which Figure 9a is a circuit diagram showing a portion of the program determination circuit and Figure 9b is a circuit diagram showing a summation circuit: Figure 10 shows a timing chart of various control signals used in a block erasing mode according to a first embodiment of the present invention; Figure 11 shows a timing chart of various control signals used in a programming mode according to the first embodiment of the present invention; Figure 12 shows a timing chart of various control signals used in a programming verification mode and a reading mode according to the first and modified embodiments of the present invention; Figure 13 is a circuit diagram showing a schematic modified embodiment and is comprised of Figures 13a and 2b, in which Figure 13a is a circuit diagram illustrating an arrangement of memory transistors within an i-th memory block having shared word lines in the k-th column block; Figure 14 shows a schematic circuit diagram of a block selection control circuit associated with the modified embodiment of Figure 13; Figure 15 shows a schematic circuit diagram of a ground line driving circuit associated with the modified embodiment of Figure 13; Figure 16 shows a timing chart of various control signals used in a block erasing mode of the modified embodiment; Figure 17 shows a timing chart of various control signals used in a programming mode of the modified embodiment; and Figure 18 is a diagram showing the manner in which the separate sheets of drawings of Figures 2a and 2b, and Figures 13a and 2b may be combined. In the figures, like reference numerals denote like or corresponding parts. In the following description, numerous specific details, such as memory cells, the number of NAND cells, the number of bit lines, the value of voltages, circuit elements and parts and so on, are set forth in order to provide a thorough understanding of the illustrated example of the present invention. It will be understood by those skilled in the art that other embodiments of the present invention may be practised without these specific details, or with alternative specific details. The term "memory transistor" as used herein refers to a floating gate MOS FET having a source, a drain, a floating gate and a control gate. The term "programming" is used to describe the writing of data into selected memory transistors. The term "NAND cell charging" is defined as the charging of the channel and the source and drain junction capacitors of respective memory transistors constituting the NAND cell to a predetermined potential. In the following description, symbols k and i are respectively used for those parts associated with a k-th column block and an i-th memory block. Symbol j represents a notation associated with a j-th word line. The term "ground potential" (or like terms such as "ground voltage" or "earth" potential or voltage" is used conveniently in this specification to denote a reference potential. As will be understood by those skilled in the art, although such reference potential may typically be zero potential, it is not essential that it is so, and may be a reference potential other than zero. An example of an EEPROM of the present invention is fabricated by using CMOS manufacturing technologies on a common chip, in which depletion mode n-channel MOS transistors each having a threshold voltage of -2 to -3 volts (hereinafter referred to as D-type transistors), enhancement mode n-channel MOS transistors each having a threshold voltage of about 0.7 volts (hereinafter referred to as n-channel transistors) and p-channel MOS transistors each having a threshold voltage of about -0.9 volts (hereinafter referred to as p-channel transistors) are employed. Figure 1 illustrates a schematic block diagram of one example of an EEPROM according to the present invention. Figure 2 is composed of Figure 2a and Figure 2b in parallel relationship with each other, and shows, for the convenience of illustration, only those elements associated with the k-th input/output terminal I/Ok: a memory cell array 10, input and output buffers 26 and 28, a column decoder 30, a column selection circuit 32, a data register and sense amplifier 12 and a transmission transistor array 34-i which is connected with the memory cell array 10 and constitutes a portion of a block selection control circuit 18. It should be noted that elements associated with the remaining input/output terminals are identical to those associated with the terminal I/Ok. Referring now to Figures 1 and 2, the memory cell array 10 of the present EEPROM is composed of NAND cells NU arranged in a matrix form of 1,024 rows and 2,048 columns, and includes 1,024 memory blocks BK1 to BK 1024 divided in a row direction. Each NAND cell is composed of memory transistors M1 to M8 whose drain-source paths are connected in series between the source of a first selection transistor ST1 and the drain of a second selection transistor ST2. Gates of the first and second selection transistors ST1 and ST2 and control gates of the memory transistors M1 to M8 are respectively connected to first and second selection lines SL1 and SL2 perpendicular to bit lines BLk-1 to BLk-256 (k=1,2,...,8) and word lines WL1 to WL8. Thus, the memory transistors M1 to M8 are disposed at intersections of the word lines WL1 to WL8 and the bit lines BLk-1 to BLk-256. Drains of the first selection transistors ST1 are respectively connected with corresponding bit lines, and sources of the second selection transistors ST2 are connected to a common source line CSL. Consequently, the memory cell array 10 is comprised of memory cells of a total of 1,024 x 8 x 2,048 (=16,777,216), and each memory block is comprised of memory cells of a total of 8 x 2,048 (=16,384). The memory cell array 10 is divided into eight column blocks Bk (k=1,2,...,8) respectively corresponding to input/output terminals I/01 to I/08, and each column block has 256 bit lines or column lines which are parallel in a column direction. Thus, each column block includes memory cells totalling 256 Kbit (=1,024 x 256). The memory cell array 10 is formed on a p-well region in a semiconductor substrate. Figures 3 and 4 respectively show a plan view and a cross-sectional view of one of NAND cells NU constituting the memory cell array 10. Referring to Figures 3 and 4, the semiconductor substrate 72 is of a p-type silicon monocrystalline material which is cut on the (1,0,0) crystal orientation at an impurity concentration of about 7 x 10 14 atoms/cm 3 . A p-type well region 76 with an impurity concentration of about 2x10 16 atoms/cm 3 is formed having a depth of about 4µm from a main surface 78 of the substrate 72. The well region 76 is surrounded by an n-type well region 74 of about 10µm in depth with an impurity concentration of about 5x10 15 atoms/cm 3 . Heavily doped N + regions 80 to 92 are formed on the main surface 78 of the well region 76 and separated by each of a plurality of channel regions 94. One part of the N + region 80 is a contact region connected via a contact hole 96 to a bit line BL of a metal material, such as aluminum, which extends over an insulation layer 112, and the other part of the N + region 80 also serves as a drain region of the first selection transistor ST1. The N + regions 82 to 90 serve as common source-drain regions of two adjacent transistors of transistors ST1, M1 to M8 and ST2. One part of the N + region 92 is a source region of the second selection transistor ST2, and the other part of the N + region 92 serves as buried common source line CSL. However, the line CSL may be a conductor layer which is insulatively formed within the insulating layer 112 contacting with the N + source region 92 of the transistor ST2 via a contact hole. Gate layers 98 and 100 of a refractory metal silicide material. such as a tungsten silicide, each of which has a thickness of about 1,500Å, are respectively formed on gate insulating layers 102 of about 300Å thickness, overlying channel regions of the first and second selection transistors ST1 and ST2. Floating gate layers 104 of a polycrystalline silicon material are insulatively formed with a thickness of about 1,500Å on gate insulating layers 106 of about 100Å thickness overlying channel regions 94 of memory transistors M1 to M8, respectively. Control gates 108 of the same material and thickness as the gate layers 98 and 100 are respectively formed over the floating gate layers 104 interposing intermediate insulating layers 100, such as ONO insulating layers of silicon dioxide-silicon nitride-silicon dioxide materials, of about 250Å thickness. The gate layers 98 and 100 and the control gate layers 108 are respectively shared by the first and second selection lines SL1 and SL2 and word lines WL1 to WL8, i.e. conductor layers which are fabricated from the same material as the gate and control gate layers 98, 100 and 108. The gate layers 98 and 100, control gate layers 108, floating gate layers 104, the first and second selection lines SL1 and SL2, and word lines WL1 to WL8 are insulated from one another with an insulating layer 112 of insulating materials, such as a silicon dioxide and a BPSG or a PSG. The bit line BL is connected with the contact region 80 via the contact hole 96 and extends in a column direction on the insulating layer 112. The p-type well region 76 and the n-type well region 74 are connected to a well electrode 114 in common via contact holes (not shown). An erasing voltage is applied to the well electrode 114 in an erasing operation, and a reference potential, i.e. ground potential, is applied to the well electrode 114 in operations except the erasing operation, i.e. in a programming, programming verification and reading operations. However, the substrate 72 is always at the reference potential. The memory cell array 10 may also be formed on a p-type well region formed in an n-type monocrystalline silicon substrate. Returning now to Figures 1 and 2, the block selection control circuit 18 serves to select a predetermined memory block of the memory blocks BK1 to BK1024, and to provide control signals on control gate lines CGL1 to CGL8 from a control gate driving circuit 20 to word lines WL1 to WL8 in the selected memory block according to various operation modes, such as the erasing, programming, programming verification and reading modes. In Figure 2a, illustration is made of transfer transistor arrays 34-i constituting a portion of the block selection control circuit 18. Each of the transfer transistor arrays 34-i includes transfer transistors BT1 to BT10 for connecting the first and second selection gate lines SGLi-1 and SGLi-2 and control gate lines CGL1 to CGL8 to the first and second selection lines SL1 and SL2 and word lines WL1 to WL8, respectively. According to one feature of the illustrated embodiment of the present invention, the block selection control circuit 18 renders nonconductive the transfer transistors associated with unselected memory blocks in an erasing operation, thereby causing word lines in unselected memory blocks to become floating. In a programming operation, the block selection control circuit 18 renders conductive the second transistor ST2 in a selected memory block, thereby charging the program inhibition voltage from a source line driving circuit 22 to channels and source and drain junctions of memory transistors in the selected memory block. Figure 5 shows a schematic circuit diagram for a block selection control circuit 18 connected to a transfer transistor array 34-i of Figure 2a. For example, in the case of i=2, lines SGL2-1, SGL2-2 and BSC2 of Figure 5 are respectively connected to lines SGL2-1, SGL2-2 and BSC2 of the transfer transistor array 34-2 associated with the second memory block BK2 as shown in Figure 2a. Thus. it should be understood that though Figure 5 shows, for the convenience of illustration, only a single circuit for selecting the i-th memory block BKi, the block selection control circuit of Figure 5 corresponding to each of memory blocks BK1 to BK1024 resides on the present EEPROM chip as a peripheral circuit. Referring now to Figure 5, NAND gate 120 is a row decoder for receiving address signals Pℓ, Qℓ and Rℓ and a reset signal Xd . The address signals Pℓ, Qℓ and Rℓ are signals predecoded by row address signals from a predecoder (not shown) for predecoding row address signals A 11 , A 11 to A 20 , A 20 which are output from an address buffer for storing a row address a 11 to a 20 from external address input terminals. The row decoder 120 provides a logic low state of 0 volts (hereinafter referred to as an "L" state or an "L" level) on a line 122 when selected, and outputs a logic high state of 5 volts (hereinafter referred to as an "H" state or an "H" level) thereon when unselected. Two input terminals of NAND gate 124 are connected to the line 122 and a signal BLK , respectively. The signal BLK is a control signal for setting word lines WL1 to WL8 to the reference potential before or after the respective operations, as will be discussed hereinafter. The output of the NAND gate 124 is connected to the first selection gate line SGLi-1 and to the block selection control line BSCi via a current path of D-type transistor 126 for inhibiting the transfer of a high voltage. The gate of the transistor 126 is connected to a program control signal PGM for maintaining an "L" state in a programming operation. A charge pump circuit 128 is connected with the block selection control line BSCi for providing, when the line BSCi is selected, a program voltage V pgm on the line BSCi by the pumping of a clock  R in the programming operation. The charge pump circuit 128 is a known circuit comprised of n-channel transistors 130 and 132 and a MOS capacitor 134. Two input terminals of NAND gate 136 are respectively connected with an erase control signal ERA and the line 122. A transfer gate 148 composed of n-channel transistor 140 and p-channel transistor 142 is connected between the output of the NAND gate 136 and a connecting node 146. The gate of n-channel transistor 140 is connected to a control signal  6 , and the gate of p-channel transistor 142 is connected to the complement signal of  6 via an inverter 138. The current path of n-channel transistor 144 is connected between the node 146 and the reference potential, and its gate is connected with a control signal  7 . The source-to-drain current path of D-type transistor 150 for preventing the transfer of a high voltage is connected between the node 146 and the second selection gate line SGLi-2, and its gate is connected to a control signal WE . A charge pump circuit 152 having the same construction as the circuit 128 is connected to the second selection gate line SGLi-2 for providing a pass voltage V pas thereon during the programming operation when the line SGLi-2 is selected. Figure 8c is a schematic circuit diagram for generating the control signals  6 and  7 as used in Figure 5. In an erasing operation or mode,  6 and  7 are all in "L" states, and in a NAND cell charging operation as will be discussed later.  6 is in "H" state and  7 is in "L" state. In programming verification and reading operations,  6 is in "H" state and  7 is in "L" state. Figure 6 illustrates one of eight control gate driving circuits, i.e. the j-th control gate driving circuit which constitutes control gate driving means and is associated with the j-th word line. The outputs of the control gate driving circuits are respectively connected to control gate lines CGL1 to CGL8 which are respectively connected to word lines WL1 to WL8 via transfer transistor arrays 34-i. From the point of view of reduction of total chip size, it would be preferable that the control gate driving circuits be provided in common in an on-chip peripheral circuit so as to drive word lines of a selected memory block according to various operation modes. Referring now to Figure 6, NAND gate 154 is a row decoder receiving row address signals A 8 / A 8 , A 9 / A 9 and A 10 / A 10 from address buffer (not shown). The decoder 154 outputs "L" state upon selection of the line CGLj while outputting "H" state upon unselection thereof. The output of the decoder 154 and a control signal PVF are respectively connected to two input terminals of NOR gate 173. An output signal  v of the NOR gate 173 and its complement signal  v via an inverter 174 are provided to control a tristate NAND gate 158 and a verifying voltage generator 164. The control signal PVF maintains an "L" state only in a programming verification operation. Thus, in every operation excepting the programming verification operation, the control signal PVF stays at "H" level, thereby causing the signal  V to be in an "L" state while causing the signal  v to be in an "H" state. In the programming verification operation, if the line CGLj is selected,  V becomes "H" state and its complement  v becomes "L" state while, if the line CGLj is unselected,  V becomes "L" state and  v becomes "H" state. NAND gate 156 inputs the output of the decoder 154 and control signals DS and ERA , respectively. Two input terminals of the tristate NAND gate 158 are respectively connected to an output line 160 of the NAND gate 156 and the control signal PGM . The tristate NAND gate 158 illustrated in Figure 8b is enabled in response to  V at "L" level and  v at "H" level while becoming high impedance with  V at "H" level and  v at "L" level. Thus, in the programming verification operation, the NAND gate 158 stays in the high impedance state only at the time when the line CGLj is selected. The output of the NAND gate 158 is connected to a connecting node 162 to which the verifying voltage generator 164 is connected. The verifying voltage generator 164 is comprised of a p-channel transistor 166 and n-channel transistors 168, 170 and 172 whose current paths are connected in series between the power supply voltage Vcc and the reference potential. The gate of the p-channel transistor 166 is connected to a chip enable signal CE , and gates of the transistors 168 and 170 are connected to the signal  V from the NOR gates 173. Drain and gate of the transistor 172 are connected in common. The verifying voltage generator 164 is enabled by  V at "H" level only in the programming verification operation, thereby producing a verifying voltage of about 0.8 volts to the connecting node 162. Connected between the connecting node 162 and the control gate line CGLj is the source-to-drain current path of D-type transistor 176 for inhibiting the transfer of a high voltage, the gate of which is connected to the control signal PGM . Two input terminals of NAND gate 178 are respectively connected to the output of the NAND gate 156 and the clock  R from a ring oscillator (not shown). Between the output of the NAND gate 178 and the gate of a driving n-channel transistor 182 is connected a charge pump circuit 180 which has the same construction as the above-mentioned charge pump circuit. Drain and source of the transistor 182 are connected to the program voltage V pgm and the control gate line CGLj, respectively. Inverter 190 receives the program control signal PGM , and the current path of D-type transistor 192 for preventing the transfer of a high voltage is connected between the output of the inverter 190 and the gate of the transistor 182 which is connected to the control signal PGM . As will be discussed hereinafter, a circuit 196 which is comprised of NAND gate 178, the charge pump circuit 180 and the driving transistor 182 provides means for supplying the program voltage V pgm to the control gate line CGLj when the line CGLj has been selected by row address signals A 8 / A 8 , A 9 / A 9 , and A 10 / A 10 in a program mode. Two input terminals of NOR gate 188 are respectively connected to the output of the NAND gate 156 and the clock  R . Between the output of the NOR gate 188 and the gate of a driving n-channel transistor 184 is connected a charge pump circuit 186. Drain and source of the transistor 184 are respectively connected to the pass voltage V pas and the control gate line CGLj. Between a connecting node 202 and the gate of the transistor 184 is connected the current path of D-type transistor 194 for preventing the transfer of a high voltage, the gate of which is connected to the control signal PGM . As will be discussed hereinafter, a circuit 200 which is comprised of NOR gate 188, the charge pump circuit and the transistor 184 provides means for supplying the pass voltage V pas to the control gate line CGLj when the line CGLj is selected by the row address signals in the program mode. Figure 7 shows a schematic circuit diagram of a source line driving circuit which is connected in common to the common source line CSL as shown in Figure 2a. The source line driving circuit 22 is composed of an inverter 204 whose input terminal is connected to the control signal PGM , a D-type transistor 206 whose current path is connected between the output terminal of the inverter 204 and the common source line and whose gate is connected to the control signal PGM , and a charge pump circuit connected to the common source line CSL. The charge pump circuit serves to boost the common source line to a program inhibition voltage V pi in the program mode. The input/output buffer 16 is comprised of the input buffer 26 and the output buffer 28 which are each connected to input/output terminals. The input buffer 26 connected to each of input/output terminals I/O1 to I/O8 is a conventional circuit for converting a byte of data (8-bit data) therefrom to CMOS level data and temporarily storing it. Output buffers 28 are conventional circuits to simultaneously output 8-bit data read out from the corresponding column blocks to the corresponding input/output terminals. The column decoder and selection circuit 14 of Figure 2b is comprised of the column decoder 30 and the column selection circuit 32. The column selection circuit 32 associated with each of column blocks is comprised of transfer transistors T1 to T256, source-to-drain paths of which are respectively connected between a common bus line CBLk and lines DLk-1 to DLk-256. Gates of the transfer transistors T1 to T256 are respectively connected to parallel lines TL1 to TL256 which are connected to the column decoder 30. The column decoder 30 selects one of the lines TL1 to TL256 in response to column address signals from address buffers (not shown), thereby rendering conductive transfer transistors connected with the selected line. The data register and sense amplifier 12 is connected between the lines DLk-1 to DLk-256 and bit lines BLk-1 to BLk-256 which are associated with the corresponding column block, as shown in Figure 2b. In series between the bit lines BLk-1 to BLk-256 and nodes 36 are respectively connected drain-to-source paths of D-type transistors 38 and 40. Gates of the D-type transistors 38 are connected to the power supply voltage Vcc to prevent the transfer of high voltages induced on the bit lines BLk-1 to BLk-256 in a block erasing operation. Gates of the D-type transistors 40 are connected to a control signal  1 staying at "H" level of about 5 volts during programming. Between the nodes 36 and nodes 42 are respectively connected drain-to-source paths of n-channel transistors 44. Gates of the transistors 44 are connected to a control line SBL staying at "H" level during programming. Between the nodes 42 and nodes 46 are respectively connected latches PBk-1 to PBk-256 constituting the data register which is referred to as a page buffer. Each of the latches is comprised of two inverters cross connected. The latches PBk-1 to PBk-256 serve not only as a page buffer for temporarily storing data so as to simultaneously write the data into memory cells via respective corresponding bit lines in a programming operation, but also as verifying detectors for determining if the program was well performed in a programming verification operation and as sense amplifiers for sensing and amplifying data on bit lines which is read out from memory cells in a reading operation. A tristate inverter 48 and an n-channel transistor 49 are connected in parallel between each of nodes 42 and its corresponding one of the lines DLk-1 to DLk-256. Each tristate inverter 48, which is referred to as a clocked CMOS inverter, is enabled by a control signal  4 at "H" level while becoming high impedance by the signal  4 at "L" level. Thus, each of the inverters 48 serves as a buffer amp, being enabled in programming verification and reading operations. N-channel transistors 49 whose gates are connected to a control signal  5 are transfer transistors for transferring input data to the corresponding latches PBk-1 to PBk-256 in a programming operation. The tristate inverter 48 which is used in the present embodiment is illustrated as a schematic circuit diagram in Figure 8a. Between each of nodes 46 and the reference potential are serially connected current paths of n-channel transistors 50 and 52. Gates of the transistors 52 are connected to a control signal  2 staying at "H" level during a verification sensing period in a programming verification operation and during a read sensing period in a read operation. Gates of the transistors 50 are respectively connected to the nodes 36, and drain-to-source paths of n-channel transistors 37 are respectively connected between the nodes 36 and the reference potential. Gates of the transistors 37 are connected in common to a line DCB to which a control signal is applied to cause bit lines to be discharged after completion of erasing and programming operations and to reset the data register to "L" state, i.e. "O" data prior to a reading operation. The data register and sense amplifier 12 includes a constant current source circuit 33, which is referred to as a current mirror, according to the present embodiment. The constant current source circuit 33 comprises a reference portion 64 which is enabled in programming verification and reading operations and disabled in erasing and programming operations; and current source portions 66 comprised of p-channel transistors 54 whose drain-to-source paths are respectively connected between gates of the transistors 50 and the power supply voltage Vcc. The reference portion 64 is comprised of p-channel transistors 56 and 58 and n-channel transistors 60 and 62 to serve as a reference for the current source transistors 54. Source-to-drain paths of the p-channel transistors 56 and 58 are connected in parallel between the power supply voltage Vcc and a line 68, and the gate of the p-channel transistor 58 is connected to the line 68. Drain-to-source paths of the n-channel transistors 60 and 62 are connected in series between the line 68 and the reference potential. The gate of the n-channel transistor 60 is connected to a reference voltage V ref of about 2 volts. Gates of the transistors 56 and 62 are connected to a control signal  3 , and gates of the current source transistors 54 are connected to the line 68. Thus, in programming verification and reading operations, the current source transistors 54 connected to the reference portion 64 which is enabled by the control signal  3 serve to provide a constant current of about 4µA to bit lines BLk-1 to BLk-256. A programming determination circuit 24 of Figure 1 is connected via lines 70 to lines DLk-1 to DLk-256 of Figure 2b to serve to determine if every programmed memory transistor reaches the range of desired threshold voltages in a programming verification operation. Figure 9 shows a schematic circuit diagram of the programming determination circuit 24. It should be noted that the circuitry of Figure 9a is a portion of the programming determination circuit 24 associated with the k-th column block CBk, and eight circuits corresponding to the respective ones of column blocks present as a peripheral circuit on the on-chip EEPROM. A circuit shown in Figure 9b is a summation circuit to perform a summation function for providing an "L" level when any one of signals FP1 to FP8 is "L" level. Referring to Figure 9a, drain-to-source paths of n-channel transistors 212 to 216 are connected in parallel between a line 210 and the reference potential, and gates of the transistors 212 to 216 are respectively connected to lines 70 of Figure 2b. Current paths of p-channel transistors 218 and D-type transistor 220 are connected in series, and the gate of the transistor 218 is connected to a control signal SUP staying at "L" level in a programming verification operation while the gate of the transistor 220 is connected to the line 210. The transistors 212 to 220 constitute a NOR gate 234. Two input terminals of NOR gate 222 are respectively connected to the line 210 and a control signal SFP which becomes "L" state only upon a verifying check. The input of an inverter 224 is connected to the output of the NOR gate 222, and the output terminal of the inverter 224 outputs FPk. The summation circuit 236 of Figure 9b is comprised of NAND gate 226 connected to lines FP1 to FP4; NAND gate 228 connected with signals FP5 to FP8; and NOR gate 230 connected to outputs of the NAND gates 226 and 228. Referring now to the timing charts of Figure 10 to Figure 12, an explanation will be given of operations and features of the first embodiment shown in Figures 1 to 9. Block Erasing Mode In a block erasing mode, the data register and sense amplifier 12, the column decoder and selection circuit 14, the input/output buffer 16 and the programming determination circuit 24 are all in off states. Explained in more detail, the column decoder 30 of Figure 2b is reset, thereby rendering transfer transistors T1 to T256 nonconductive. Control signals  1 to  5 and signals on lines DCB and SBL are held in "L" states, so that the data register and sense amplifier 12 become nonconductive. The control signal SUP of Figure 9a is held in "H" state, and the programming determination circuit 24 is thereby nonconductive. The source line driving circuit 22 provides "L" state, i.e. the reference potential of 0 volts on the common source line CSL by PGM staying at "H" level. Now, an explanation will be given in conjunction with the timing chart of Figure 10, assuming that simultaneous block erasing is performed on data stored in memory transistors in the memory block BK1. The time interval between t 1 and t 2 is a period for discharging all word lines WL1 to WL8 to the reference potential. During this period, NAND gate 124 of Figure 5 retains "H" level with the control signal BLK at "L" level, and D-type transistor 126 is conducting with PGM at "H" level. Thus, the block selection control line BSCi stays at "H" level of 5 volts. At this time, the charge pump circuit 128 is in a nonconducting state. Consequently, in this period, all of the block selection control lines BSC1 to BSC1024 maintain the potential of 5 volts. On the other hand, in this period, since control signals PVF and PGM stay at "H" levels and the control signal ERA is at "L" level, the outputs of NAND gate 156 and tristate NAND gates 158 remain at "H" level and "L" level, respectively. At this time, the tristate inverter 164 is in a high impedance state. Thus, the control gate line CGLj stays at "L" level of 0 volts via turned-on D-type transistor 176. Consequently, all of control gate lines CGL1 to CGL8 maintain "L" level during this period. Transfer transistors BT1 to BT10 are all turned on by the potential of the block selection control lines BSC 1 to BSC 1024 of 5 volts, and word lines WL1 to WL8 are all discharged to the reference potential. The time duration between t 2 and t 3 is a period to erase all memory cells in only a selected memory block. At time t 2 , the decoder 120 receives address signals Pℓ, Qℓ and Rℓ which are all at "H" levels to select the memory block BK1, and the output of the decoder 120 thereby goes to "L" level. Thus, the output of NAND gate 124 goes to "H" level. Consequently, the block selection control line BSC1 corresponding to the selected memory block BK1 remains at the potential of 5 volts during the period between t 2 and t 3 . However, decoders 120 associated with unselected memory blocks BK2 to BK1024 output "H" levels since at least one of the address signals Pℓ, Qℓ and Rℓ is "L" level. Consequently, block selection control lines BSC2 to BSC1024 associated with the unselected memory blocks go to the reference potential of 0 volts. Thus, transfer transistors in the transfer transistor array 34-1 are all turned on, and word lines WL1 to WL8 in the memory block BK1 thereby go to the reference potential. However, since the transfer transistor arrays 34-2 to 3-1024 connected with unselected memory blocks BK2 to BK1024 are all turned off, word lines associated therewith go to floating states. At time t 2 , the erase voltage Vera of about 20 volts is applied to the p-type well region 76 and the n-type well region 74 via the well electrode 114 of Figure 4. During the time interval between t 2 and t 3 , i.e. during the time period of about 10msec, floating gates of memory transistors in the selected memory block BK1 accumulate holes by means of the F-N tunneling which is generated by the application of the erase voltage Vera to their channel, source and drain regions and that of the reference potential to their control gates. Thus, all of the memory transistors in the memory block BK1 are changed into D-type transistors having threshold voltages of about -3 volts. That is, all memory transistors in the memory block BK1 are erased to binary zero data. However, in the case when the erase voltage V era is applied to the p-well and N-well regions 76 and 74 via the well electrode 114 at time t 2 , since word lines in unselected memory block BK2 to BK1024 are then in floating states, the word lines are thereby charged to substantially the erase voltage Vera by a capacitive coupling. Thus, the charged voltage of the word lines in the unselected memory blocks sufficiently reduces the electric field between the channel region and the control gate of each memory transistor such that its erasure can be prevented. The inventors have discovered that word lines in unselected memory blocks were charged to amount of 80 to 90 percent of the erase voltage V era , and data of programmed memory transistors in the unselected memory blocks was not destroyed or disturbed. Thus, in the block erasing of the present embodiment, since it is unnecessary to apply the program inhibition voltage from a voltage boosting circuit to word lines in unselected memory blocks, a reduction of power consumption can be achieved, as well a reduction of the area occupied by the chip. Moreover, the present embodiment has an advantage of increasing effective memory array area whilst reducing peripheral circuit area on a chip surface of a fixed size. This results in increasing the memory capacity of the EEPROM. In the above-mentioned block erasing operation, the erase voltage applied to the well electrode 114 is coupled as well on the floated word lines as on floated bit lines. Thus, the bit lines are also charged to the erase voltage of about 20 volts in the block erase operation. To prevent voltage-induced stress on transistors 40 of Figure 2b due to the charged erase voltage, D-type transistors 38, whose gates are connected to the power supply voltage Vcc, are respectively connected between bit lines BLk-1 to BLk-256 and the transistors 40. During the block erasing operation between t 2 and t 3 , the first selection line SL1 of the selected memory block BK1 maintains a potential of about 4.3 volts, and the second selection line SL2 of the block BK1 is in a floating state since control signals  6 and  7 are at "L" levels, thereby rendering transistors 140 to 144 of Figure 5 nonconductive. The floating state of the second selection line SL2 thereof prevents current flowing via the line SL2 from the well electrode 114 when one or some of the second selection transistors ST2 thereof failed. During the block erasing operation, the voltage relationship of significant portions of selected and unselected memory blocks can be summarized in the following TABLE 1. Voltage States For Selected Memory Block Voltage States For Unselected Memory Blocks First Selection Line SL1 4.3 V 0 V Word Lines WL1 to WL8 0 V Approximately 20V Second Selection Line SL2 Floating Floating Well Electrode 20 V 20 V Turning to Figure 10, the time duration between t 3 and t5 is a period to discharge the charged voltage on bit lines and word lines. At time t 3 , the block erasing operation terminates and the erase voltage Vera goes to the reference potential while control signals WE and ERA go to "H" levels. Between t 3 and t 4 , the output of NAND gate 156 stays at "H" level with the control signal DS at "L" level. Thus, the output of NAND gate 158 goes to "L" level with the control signal PGM at "H" level. Consequently, control gate lines CGL1 to CGL8 maintain "L" levels between t 3 and t 4 . During this period, the output of NAND gate 124 of Figure 5 stays at "H" level with the control signal BLK at "L" level. Thus, each of block selection control lines BSC1 to BSC1024 goes to a potential of 5 volts. Consequently, all transfer transistors BT1 to BT10 are turned on, and all word lines WL1 to WL8 are discharged to the reference potential. On the other hand, the first and second selection lines SL1 and SL2 are also discharged to a potential of 5 volts. At time t 3 , the line DCB goes to "H" level and 1 also goes to "H" level. Thus, the erase voltage charged on bit lines discharges to "L" level via transistors 37 shown in Figure 2b. At time t 4 , control signals BLK and DS go to "H" levels and X d goes to "L" level. Thus, NAND gate 120 of Figure 5 goes to "H" level, and the first and second gate lines SGLi-1 to SGLi-2 and block selection control lines BSCi go to the reference potential. Program Mode The present EEPROM performs a data loading operation to store data input via input/output terminals into data latches PBk-1 to PBk-256 prior to a programming operation after an erasing operation. Data loading operation is accomplished prior to a time t 1 of Figure 11. During the data loading operation, control signals Xd , 2,  3 and  4 , program voltage V pgm , pass voltage V pas , p-well region 76, program inhibition voltage V pi and lines SBL and DCB stay at "L" levels, and control signals WE , PGM , SLE , BLK , DS , ERA , PVF , SUP  R ,  5 and  1 are at "H" levels. As can be seen in Figure 5, since Xd is "L" level and BLK , ERA , SLE , WE and PGM are all "H" levels, block selection gate lines BSC1 to BSC1024 stay at "L" levels, thereby rendering transfer transistor arrays 34-1 to 34-1024 nonconductive. With the line SBL at "L" level, connection of data latches PBk-1 to PBk-256 to bit lines BLk-1 to BLk-256 is inhibited. The constant current circuit 33 and tristate inverters 48 of Figure 2b are in nonconducting states with signals  3 and  4 at "L" levels. Address inputting to external address input terminals is composed of row address a 8 to a 20 and column address a 0 to a 7 . The row address a 8 to a 20 inputs to select one of memory blocks and one of word lines during the data loading operation so as to write data on all bit lines into memory cells at one time, i.e. perform a page program in the programming operation after the completion of the data loading operation. The column address a 0 to a 7 is address signals having 256 cycles during the data loading operation. The column decoder 30 of Figure 2b responds to the column address of 256 cycles based on the toggling of external write enable signal WE x to render transfer transistors T1 to T256 conductive in sequence. At the same time, input buffer 26 corresponding to the respective column blocks sequentially outputs data input to the corresponding input/output terminal in response to the toggling of WE x . Thus, output data from the respective input buffers 26 is stored in sequence into data latches PBk-1 to PBk-256 via sequentially turned-on transfer transistors T1 to T256 and corresponding transfer transistors 49. After the above-mentioned data loading operation, the programming operation is started. One characteristic feature of the present embodiment is that the programming operation includes the NAND cell charging operation. For the convenience of explanation on the programming operation, it is assumed that data stored in the data latches is to be written into memory transistors M 4 connected to a word line WL4 in the memory block BK1. The programming operation is performed during the time period between t 1 and t 3 as shown in Figure 11. During this period, p-well region 76, signals WE , PGM ,  2 ,  3 ,  4 and  5 and the line DCB stay at "L" levels while signals Xd , BLK , DS , ERA and  1 and the line SBL are all at "H" levels. The clock  R , the program voltage V pgm (=18 volts), the pass voltage V pas (=10 volts) and the program inhibition voltage V pi (=7 volts) are supplied during this period. On the other hand, the row address a 8 to a 20 , which is input during the above-mentioned data loading operation, is latched in the address buffer (not shown). Address signals Pℓ, Qℓ and Rℓ which are generated by predecoding address signals A 11 , A 11 to A 20 , A 20 of the latched address, are input to the decoder 120 of Figure 5. Address signals A 8 , A 8 to A 10 , A 10 of the latched address input to the decoder 154 of Figure 6. At time t 1 , the control signal Xd goes to "H" level, and address signals Pℓ, Qℓ and Rℓ selecting the memory block BK1 are input to the NAND gate 120 of Figure 5. Then, the output of the gate 120 goes to "L" level, and outputs of NAND gates 124 and 136 go to "H" levels. Thus, the first selection gate line SGL1-1 goes to a potential of 5 volts, and the block selection control line BSC1 is boosted to the program voltage V pgm of 18 volts by the pumping operation of the charge pump circuit 128. On the other hand, the second selection gate line SGL1-2 is boosted to the pass voltage V pas of 10 volts by the pumping operation of the charge pump circuit 152 with "H" level transferred via transfer transistors 140, 142 and 150. Each decoder 120 associated with unselected memory blocks BK2 to BK1024 goes to "H" level, and the output of each NAND gate 124 corresponding thereto goes to "L" level. Thus, unselected block selection control lines BSC2 to BSC1024 go to a reference potential of 0 volts. At time t 1 , the program control signal PGM goes to "L" level and the common source line CSL, which is the output line of the source line driving circuit 22 of Figure 7, is boosted to the program inhibition voltage V pi . That is, if PGM goes to "L" level, the common source line CSL goes to the absolute value, for example 2 to 3 volts, of the threshold voltage of D-type transistor 206 and is thereby boosted to the program inhibition voltage V pi by means of the charge pump circuit 208. As previously mentioned, since address signals A 8 , A 8 to A 10 , A 10 selecting the word line WL4 were input to the decoder 154 of Figure 6 in the previous data loading operation, the output of the decoder 154 associated with CGL4 is at "L" level, and the outputs of the decoders 154 associated with unselected word lines WL1 to WL3 and WL5 to WL8 are at "H" levels. Thus, the output of NAND gate 156 associated with the selected word line WL4 is at "H" level, and the output of NAND gates 156 associated with the unselected word lines are at "L" levels. At time t 1 , the clock  R is generated. Then, NAND gate 178 and NOR gate 188 associated with the selected word line WL4 respectively output the clock  R and "L" level, thereby providing the program voltage Vpgm on the selected control gate line CGL4. On the contrary, NOR gates 188 associated with unselected word lines output the clock  R , thereby providing the pass voltage V pas on unselected control gate lines CGL1 to CGL3 and CGL5 to CGL8. At time t 1 , the line SBL goes to "H" level. Thus, transfer transistors of Figure 2b are all turned on so as to transfer data stored in latches PBk-1 to PBk-256 to corresponding bit lines BLk-1 to BLk-256. All memory transistors of the selected memory block BK1 in the previous block erase mode were erased to "L" levels, i.e. logic "0" data. In the data loading operation after a block erasing mode, latches corresponding to memory transistors which are to write "H" levels, i.e. logic "1" data were stored to "L" level, i.e. logic "0" data while latches corresponding to memory transistors which are to write logic "0" data were stored to logic "1" data. For the convenience of explanation, assume that logic "1" data is written into a memory transistor 240 which is connected to the selected word line WL4 and bit line BL1-2 of memory block BK1 in the first column block CB1 of Figure 2a while logic "0" data is written into the remaining memory transistors connected to the word line WL4 thereof. Then, the latch PB1-2 has already stored logic "0" data while the remaining latches have already stored logic "1" data in the data loading operation. Thus, after time t 1 , the conduction of transfer transistors 44 causes the bit line BL1-2 to go to "L" level and the remaining bit lines to go to "H" levels of 5 volts. Consequently, during the time duration between t 1 and t 2 , the transfer transistor array 34-1 of Figure 2a is conducting, and the first and second selection lines SL1 and SL2 in the selected memory block BK1 respectively maintain 5 volts and V pas (=10 volts) while the selected word line WL4 and unselected word lines WL1 to WL3 and WL5 to WL8 maintain V pgm (=18 volts) and V pas , respectively. During the programming operation, since the common source line CSL maintains the program inhibition voltage V pi (=7 volts), the second selection transistor ST2 and memory transistors M1 to M8 in the block BK1 are all turned on, and the first selection transistor 242 connected to the bit line BL1-2 is turned on while remaining first selection transistors excluding the transistor 242 in the block BK1 are turned off. Thus, current paths of memory transistors in the NAND cell including the memory transistor 240 are connected with the bit line BL1-2, and channels of the memory transistors and the respective junction capacitor of their sources and drains are thereby discharged to a reference potential of 0 volts. However, first selection transistors ST1 associated with memory transistors which are to write logic "0" data are turned off, and channels of memory transistors in the NAND cells associated therewith and the respective junction capacitors of their sources and drains are charged to the program inhibition voltage V pi (=7 volts). Thus, during the time period of about 100µsec between t1 and t2, a NAND cell charging operation associated with memory transistors which are programmed to logic "0" data is carried out. Turning to Figure 11, the time duration between t 2 and t 3 , i.e. the period of about 2 msec is a period to perform substantial programming. At time t 2 , the signal SLE goes to "H" level and, as can be seen in Figure 8c,  6 goes from "H" level to "L" level while  7 goes from "L" level to "H" level. Thus, transistors 144 of Figure 5 are turned on, thereby causing all of second gate lines SGLi-2 to be connected with the reference potential. Thus, all of second selection transistors ST2 in the selected memory block BK1 are turned off. During this period, the program voltage V pgm of about 18 volts is applied on the word line WL4 in the selected memory block BK1, and source, drain and channel of the memory transistor 240 are applied to 0 volts. Thus, the floating gate of the transistor 240 is accumulated with electrons by the F-N tunneling, thereby causing the transistor 240 to be changed into an enhancement mode transistor having a threshold voltage of about 0.8 volts. However, since junction capacitors of sources and drains of memory transistors excepting the transistor 240 and their channels are charged to the program inhibition voltage V pi , injection of electrons into floating gates of these transistors is inhibited and these transistors remain as depletion mode transistors storing logic "0" data. That is, NAND cells associated with memory cells which are programmed to logic "0" data are blocked from connection to corresponding bit lines by the above-mentioned NAND cell charging, thereby being prevented from writing. As discussed above, the voltage relationship of significant portions during the NAND cell charging and the programming operation can be summarized in the following TABLE 2. Voltage States During NAND Cell Charging Period Voltage States During Programming Period First Selection Line SL1 Of Selected Memory Block 5 V 5 V Unselected Word Lines Of Selected Memory Block V pas = 10 V V pas = 10 V Selected Word Line Of Selected Memory Block V pgm = 18 V V pgm = 18 V Second Selection Line SL2 Of Selected Memory Block V pas = 10 V 0 V Common Source Line CSL V pi = 7 V V pi = 7 V Well Electrode 0 V 0 V The time period between t 3 and t 5 , i.e. the period of 500 nsec, is a period to discharge the boosted voltage on the bit lines and the word lines. At time t 3 , control signals WE and PGM and the line DCB go to "H" levels, and control signals BLK and DS , voltages V pgm , V pas and V pi and the line SBL go to "L" levels of 0 volts. The clock  R stops pulsing to be fixed at "H" level at the time t 3 . On the other hand, during this period,  1 maintains "H" level and  2 and  3 maintain "L" levels. Thus, the source line driving circuit 22 outputs the reference potential on the common source line CSL. Control gate lines CGL1 to CGL8 of Figure 6 go to a potential of 0 volts, and block selection control lines BSC1 to BSC1024 of Figure 5 go to a potential of 5 volts. This results in causing all word lines to be discharged to the reference potential. At time t 4 , Xd goes to "L" level and BLK and DS go to "H" levels. Thus, during the time period between t 4 and t 5 , block selection control lines BSCi and first and second selection gate lines SGLi-1 and SGLi-2 go to the reference potential. On the other hand, since the line DCB and the signal  1 are at "H" levels during the time period between t 3 and t 5 , the boosted voltages on the bit lines are discharged to the reference potential via transistors 37. At time t 5 , the signal  1 goes to "L" level. Programming Verification Mode The programming verification mode is performed immediately after the programming mode. The programming verification operation of the present embodiment is similar to the reading operation as will be discussed later. The difference as compared with the reading operation is that the voltage applied to a selected word line is a minimum threshold voltage which is to be written into memory transistors. This minimum threshold voltage will be referred to as a programming verification voltage. It is assumed that the programming verification voltage is 0.8 volts in the present embodiment. The programming verification operation is carried out immediately after time t 5 in Figure 11, and a timing chart of the programming verification operation is of the time period between t 2 and t 4 as shown in Figure 12. At the initiation of the programming verification, i.e. at time t 5 of Figure 11 or time t 2 of Figure 12, control signals Xd ,  3 and  4 go to "H" levels and signals  1 , PVF and SUP and the line DCB go to "L" levels. Thus, during the programming verification operation, control signals WE , PGM , SLE , Xd , BLK , DS , ERA ,  3 and  4 and the clock  R maintain "H" levels, and voltages V pgm , V pas and V pi , lines SBL and DCB and control signals  1 ,  5 , PVF and SUP maintain "L" levels. It is now assumed that the programming verification operation is performed to determine if a memory transistor 240 of Figure 2a which was written to a logic "1" data in the previous programming mode was programmed with a desired minimum threshold voltage. Where a command for executing a programming verification after completion of programming operation is input to EEPROM from the microprocessor via input/output terminals or other terminals or where a programming verification operation is automatically carried out after a programming operation data stored into latches PBk-1 to PBk-256 in the programming operation is succeeded without reset by the programming verification operation. Thus, at the beginning of the programming verification operation, the latch PB1-2 is storing logic "0" data and the remaining latches are storing logic "1" data. At time t 2 of Figure 12, the control signal Xd goes to "H" level and the decoder 120 of Figure 5 then outputs "L" level in response to address signals Pℓ, Qℓ and Rℓ designating the memory block BK1. Then, since  6 and  7 respectively maintain "H" level and "L" level, first and second selection lines SGL1-1 and SGL1-2 and the block selection control line BSC1 go to "H" levels of 5 volts. At time t 2 , the control signal PVF goes to "L" level and address signals A 8 / A 8 to A 10 / A 10 designating the word line WL4 are fed to the decoder 154 of Figure 6. Then, NAND gate 158 becomes of high impedance and the verifying voltage generator 164 provides the verifying voltage of 0.8 volts on the control gate line CGL4. However, each decoder 154 associated with unselected word lines WL1 to WL3 and WL5 to WL8 output "H" levels. Then, the verifying voltage generator 164 becomes high impedance and NAND gate 158 outputs "H" level. Thus, control gate lines CGL1 to CGL3 and CGL5 to CGL8 go to "H" level of 5 volts. On the other hand, since PGM maintains "H" level at t 2 , the source line driving circuit 22 of Figure 7 provides the reference potential on the common selection line CSL. Consequently, the transfer transistor array 34-1 of Figure 2a is conductive and the first and second selection lines SL1 and SL2 and unselected word lines WL1 to WL3 and WL5 to WL8 go to the potential of 5 volts while the selected word line WL4 goes to the potential of 0.8 volts. Thus, transistors connected with the selection lines SL1 and SL2 and the unselected word lines are turned on. At time t 2 , the control signal  3 goes to "H" level, thereby causing the constant current circuit 33 of Figure 2b to be enabled. Thus, the constant current transistors 54 supply constant current of about 4µA to bit lines via connecting nodes 36 and transistors 40 and 38. Assume that the programmed memory transistor 240 has failed to program, i.e. the threshold voltage of the transistor 240 was below the program verifying voltage of 0.8 volts. Then, the transistor 240 is turned on and the bit line BL1-2 connected thereto goes to the reference potential of 0 volts. Since all transistors of NAND cells in the memory block BK1 which are connected with bit lines excluding the bit line BL1-2 are turned on, the bit lines also go to the reference potential. The period of time when word lines WL1 to WL8 and bit lines are established to the predetermined voltages in such a manner is a period of about 2µsec between t 2 and t 3 of Figure 12. The time period between t 3 and t 4 of Figure 12, i.e. the period of about 500 nsec, is for verification sensing. The control signal  2 goes to "H" level at time t 3 , and transistors 52 of Figure 2b are thereby turned on. The transistor 50 whose gate is connected with the bit line BL1-2 via transistors 38 and 40 is turned off by the reference potential on the bit line BL1-2, thereby causing the latch PB1-2 to maintain logic "0" data. Similarly, since other bit lines are also at the reference potential, transistors 50 associated with these bit lines are turned off and latches excepting the latch PB1-2 thereby maintain previously stored logic "1" data. Verification sensing data stored in the latches PBk-1 to PBk-256 by the above-mentioned verification sensing operation is connected to gates of transistors 212 to 216 of Figure 9a via turned-on inverters 48 and lines 70. Thus, the "L" level verification sensing data stored in the latch PB1-2 is supplied via corresponding inverter 48 to the gate of transistor 214 which constitutes NOR gate 234 of Figure 9a associated with the first column block CB1, thereby rendering the transistor 214 conductive and causing the line 210 to be discharged to the reference potential. Consequently, since the signal SFP goes to "L" level only when the programming verification is checked, FP1 goes to "L" level. However, since latches in other column blocks CB2 to CB8 store "H" levels, transistors 212 to 216 of NOR gate 234 corresponding to each one of the blocks CB2 to CB8 are in nonconductive states. Thus, each line 210 maintains "H" level by means of pull-up transistors 218 and 220 and FP2 to FP8 thereby stay at "H" levels. Thus, the output line 232 of the summation circuit 236 of Figure 9b goes from "H" level to "L" level. This represents that the memory transistor 240 was undesirably programmed. That is, it is checked that the threshold voltage of the memory transistor 240 did not reach at a preset minimum threshold voltage. A program determination signal PDS on the line 232 is connected to a timing circuit (not shown) which generates timing signals between t 1 and t 5 as shown in Figure 11 so as to perform a reprogramming in response to the signal PDS being at "L" level. That is, reprogramming operation is automatically performed. It would be noted that the reprogramming operation of the present embodiment may automatically be performed by the internal circuit of the present EEPROM without request of either reprogramming control or reloading of data from a microprocessor. However, if necessary, the microprocessor may control the reprogramming operation in response to the signal PDS from one of the input/output terminals of the present EEPROM chip. Assuming that the memory transistor 240 reached the desired threshold voltage of 0.8 volts by the reprogramming operation, then the transistor 240 is in a nonconductive state during the programming verification operation performed after the reprogramming operation. Thus, the bit line BL1-2 is charged to the potential of about 2 to 3 volts by the constant current supplied via the constant current transistor 54, thereby rendering conductive the transistor 50 connected with the bit line BL1-2. Consequently, the verification sensing data of latch PB1-2 is changed from logic "0" data to logic "1" data. As previously discussed, other latches are storing logic "1" verification sensing data. Thus, all of the latches PBk-1 to PBk-256 store logic "1" verification sensing data. That is, if all memory transistors were well programmed in the page programming operation, verification sensing data stored in the latches is changed into logic "1". Then, transistors 212 to 216 constituting NOR gates 234 of Figure 9a are all turned off, and signals FP1 to FP8 go to "H" levels with the signal SFP at "L" level during the check of programming verification. Consequently, the summation circuit 236 of Figure 9b outputs the program determination signal PDS, which is at "H" level. This represents that the programming operation had successfully been performed. Now assume that some of memory transistors programmed with logic "1" had successfully been programmed and the remainder had unsuccessfully been programmed. Then, during the followed programming verification operation, latches corresponding to the former memory transistors are changed so as to store logic "1" data, while latches corresponding to the latter memory transistors maintain logic "0" data. Since latches in the former case are storing logic "1" data, their corresponding bit lines are charged to the potential of 5 volts during the followed reprogramming operation. However, in the same manner as the above-mentioned programming operation, since, in the reprogramming operation, a selected first selection line stays at 5 volts and junctions of sources and drains of memory transistors and their channels are charged to the program inhibition voltage of 7 volts, first transistors connected with the charged bit lines on the selected first selection line are in nonconductive states. Thus, during the reprogramming operation, the successfully programmed memory transistors are prevented from programming by the charged program inhibition voltages. However, in the case of the latter, i.e. the unsuccessfully programmed memory transistors, since their corresponding latches are storing logic "0" data, reprogramming is performed only on them. With such repeating operations, if all memory transistors on a selected word line which are programmed with logic "1" data was successfully programmed, the program determination signal PDS outputs "H" level during the above-mentioned programming verification operation, and the reprogramming operation is terminated. The present circuit used in the above-mentioned programming verification operation may also be applied to EEPROMs with NOR-type memory arrays. The programming verification techniques as discussed above have various advantages as follows. First, the programming verification operation can automatically carried out by the internal circuit without the control of an external microprocessor. Second, since the data register is used as data latches in a data loading mode, verification sensing circuits in a programming verification mode and sense amplifiers in a reading mode, as will be discussed hereinbelow, simplification of peripheral circuits may be accomplished. Third, the threshold voltages of programmed memory transistors may be tightly distributed within a narrow range above a preset minimum threshold voltage, and over-programming may be prevented. The tight distribution of threshold voltages can be accomplished by the execution of the programming operation within a shorter period, since successfully programmed memory transistors are automatically inhibited from programming due to the changed data of their corresponding latches. Reading Mode Figure 12 illustrates a timing chart of the reading operation according to the present embodiment. The time period between t1 and t2 in the drawing is a period to discharge word lines WL1 to WL8 and all bit lines BLk-1 to BLk-256 to the reference potential and to reset so that latches PBk-1 to PBk-256 stores logic "0" data. During this period, the control signal  1 and lines SBL and DCB stay at "H" levels. Thus, bit lines BLk-1 to BLk-256 are discharged to the reference potential via the transistor 37 of Figure 2b, and latches PBk-1 to PBk-256 are reset to logic "0" data by the conduction of transistors 37 and 44. During the time period between t 1 and t 2 , a timing chart of control signals WE , PGM , SLE , Xd , BLK , DS and ERA , the clock  R and voltages V pgm , V pas and V pi is identical to the timing chart between t 3 and t 5 shown in Figure 11. Control signals PVF and SUP keep "H" levels during operations excepting the programming verification operation. The time period between t 2 and t 4 is a period for sensing data read out from memory cells and storing the sensing data into latches PBk-1 to PBk-256. During the period, WE , PGM , SLE , Xd , BLK , DS , ERA ,  3 ,  4 and  R maintain "H" levels, and V pgm , V pas , V pi , lines SBL and DCB,  1 and  5 keep "L" levels. An explanation will now be given, assuming that a reading operation is performed from memory transistors connected to the word line WL4 in the memory block BK1 which was page programmed in the above-mentioned programming mode. Operation between t 2 and t 3 is performed in a similar manner as the verification operation as discussed above. Thus, an explanation will be given in brief. The block selection circuit of Figure 5 associated with the selected memory block BK1 makes first and second selection gate lines SGL1-1 and SGL1-2 and the block selection control lines BSC1 held at 5 volts in response to address signals Pℓ, Qℓ and Rℓ addressing the block BK1. Since the control signal PVF is at "H" level, the verifying voltage generator 164 of Figure 6 is in a high impedance state and the NAND gate 158 is being enabled. Thus, the control gate line CGL4 corresponding to the selected word line WL4 is at the reference potential of 0 volts in response to address signals A 8 / A 8 to A 10 / A 10 designating the word line WL4. However, control gate lines CGL1 to CGL3 and CGL5 to CGL8 corresponding to unselected word lines WL1 to WL3 and WL5 to WL8 are at "H" levels of 5 volts. On the other hand, the source line driving circuit 22 of Figure 7 outputs the reference potential on the common source line CSL. Consequently, the transfer transistor array 34-1 of Figure 2a is conductive, and first and second selection lines SL1 and SL2 and unselected word lines WL1 to WL3 and WL5 to WL8 in the block BK1 are thereby at 5 volts while the selected word line WL4 therein is at 0 volts. The control signal  3 goes to "H" levels at time t 2 , thereby causing the current source circuit 33 to be enabled. Thus, the constant current transistors 54 supply the current of about 4µA onto bit lines BLk-1 to BLk-256 via connecting nodes 36 and transistors 40 and 38. Since only the memory transistor 240 is programmed with logic "1", the bit line BL1-2 is charged to about 2 to 3 volts and the remaining bit lines becomes 0 volts. At time t 3 of Figure 12, the control signal ⊘ 2 goes to "H" level, thereby rendering transistors 52 of Figure 2b conductive. Then, only the transistor 50 associated with the bit line BL1-2 is turned on, thereby making the latch PB1-2 sense and store the logic "1". However, remaining latches continuously store logic "0" based on the previously mentioned reset operation since transistors 50 are turned off. That is, page reading is accomplished. Data stored in the latches PBk-1 to PBk-256 is output to input/output terminals I/O1 to I/O8 by a byte (8 bits) via inverters 48, transfer transistors T1 to T256 turned on in sequence in response to column address of 256 cycles and toggles of WE x , and output buffer 28. Modified Embodiments The EEPROM of the first embodiment explained in connection with Figure 1 to Figure 12 comprises the memory array including 1024 memory blocks each of which has NAND cells arranged in the same rows, and a source line driving circuit for generating the program inhibition voltage prior to the programming or reprogramming operation in order to charge it to the NAND cells. However. it should be noted that the present invention is not limited to such an embodiment. For example, the memory array used in other embodiments of the present invention may be comprised of memory blocks having shared word lines as discussed hereinafter. To charge the program inhibition voltage to NAND cell, a capacitive coupling way from control gates may be applied with no use of the source line driving circuit. This modified embodiment is illustrated in Figure 13 to Figure 17. Figure 13 consists of Figure 13a and Figure 2b. Figure 13a shows a memory array composed of memory blocks having shared word lines, and Figure 2b shows the already discussed peripheral circuit connected with the memory array of Figure 13a. For simplification of the drawing, Figure 13a shows only the arrangement of memory cells and shared word lines which are associated with the k-th column block in the i-th memory block SBKi. However, it should be noted that a memory array 10 having memory cells of 16 mega bits as shown in Figure 13a is arranged in the same manner as the memory array of Figure 2a excepting the shared word lines. Referring to Figure 13a, each of memory blocks SBKi (i = 1, 2, 3,..., 512) is comprised of two submemory blocks, i.e. an upper memory block or a first submemory block USBKi and a lower memory block or a second submemory block LSBKi. Each of the upper and lower memory blocks USBKi and LSBKi has the same configuration as each of memory blocks of Figure 2a. Word lines WL1 to WL8 in the upper memory block USBKi are correspondingly connected with word lines WL1 to WL8 in the lower memory block LSBKi. That is, the upper memory block USBKi shares the word lines WL1 to WL8 with the lower memory block LSBKi. The word lines WL1 to WL8 are respectively connected to control gate lines CGL1 to CGL8 via current paths of transfer transistors BT2 to BT9. A first upper selection line USL1 and a first lower selection line LSL1 are connected to upper and lower selection gate lines USGLi and LSGLi via current paths of transfer transistors BT1 and BT11, respectively. Second upper and a second lower selection lines USL2 and LSL2 are connected to upper and lower ground selection lines UGSL and LGSL via current paths of transfer transistors BT10 and BT12, respectively. Sources of second upper and lower selection transistors UST2 and LST2 are connected to a common source line CSL which is connected to the reference potential, i.e. the ground. Drains of first upper and lower selection transistors UST1 and LST1 are respectively connected to corresponding bit lines. The control gate lines CGL1 to CGL8 are connected to the control gate driving circuit 20 explained in connection with Figure 6. Upper and Lower selection gate lines USGLi and LSGLi are respectively connected to corresponding block selection control circuits 318 of Figure 14. Each of block selection control circuits 318 serves to select one of upper and lower memory blocks in a selected memory block designated by address according to respective operation modes. It should be noted that the block selection control circuits 318 corresponding to the respective memory blocks SBKi are provided on the substrate of on-chip EEPROM. Thus, it would be appreciated that two memory blocks substantially share one block selection control circuit since each block selection control circuit controls one memory block comprised of upper and lower memory blocks. This results in relatively increasing the area of memory array on the chip substrate of fixed size so as to increase the memory storage capacity since the chip occupying area of the peripheral circuit is decreased. The upper ground selection line UGSL and the lower ground selection line LGSL are connected to a ground line driving circuit 320 illustrated in Figure 15. The ground line driving circuit 320 is a circuit connected in common with upper ground selection lines UGSL and lower ground selection lines LGSL in memory block SBKi. The ground line driving circuit 320 serves to provide proper voltages onto the upper and lower ground selection lines UGSL and LGSL according to the respective operation modes. Referring to Figure 14 showing the block selection control circuit which controls the i-th memory block SBKi, a decoder 322 receives address signals Pℓ, Qℓ and Rℓ and the control signal Xd . The address signals Pℓ, Qℓ and Rℓ are signals predecoded by address signals A 12 / A 12 to A 20 / A 20 of row address signals A 11 / A 11 to A 20 / A 20 from address buffer (not shown). The row address signal A 11 / A 11 is input to a timing circuit (not shown) in order to generate control signals A 11u , A 11u , A 11l , A 11l and A 11j , A 11j for selecting one of either the upper memory block USBKi or the lower memory block LSBKi according to the respective operation modes. Logic states of these control signals according to the respective operation modes are given in the following TABLE 3. Wherein "H" represents "H" level of 5 volts and "L" represents "L" level of 0 volts. Upper Memory Block Selection A 11 = H Lower Memory Block Selection A 11 = L Reading, Programming Erasing And Programming Mode Verification Mode Reading, Programming Erasing And Programming Mode Verification Mode A 11u H H H L A 11u L L L H A 11j L H L L A 11j L L L H A 11l L H L L A 11l H L H H The output of the decoder 322 is connected to one input terminal of NAND gate 324 and an input terminal of an inverter 326. The other input terminal of NAND gate 324 is connected to the erase control signal ERA . The output of the NAND gate 324 is connected to the upper selection gate line USGLi via a CMOS transfer gate 328, which consists of n-channel transistor 350 and p-channel transistor 352, and the current path of D-type transistor 330. Between a connecting node 358 and the reference potential is connected the current path of n-channel transistor 332. Gates of N-channel transistors 350 and 332, p-channel transistor 352 and D-type transistor 330 are connected to control signals A 11u , A 11j , A 11u and WE m , respectively. The control signal WE m is at "L" level during the block erasing operation and is at "H" level during remaining operations. The output of the NAND gate 324 is also connected to the lower selection gate line LSGLi via a CMOS transfer gate 334, which consists of n-channel transistor 354 and p-channel transistor 356, and the current path of D-type transistor 336. The current path of n-channel transistor 338 is connected between a connecting node 360 and the reference potential. Gates of n-channel transistors 354 and 338, p-channel transistor 356 and D-type transistor 336 are connected to control signals A 11l , A 11j , A 11l and WE m , respectively. The output of the inverter 326 is connected to the block selection control line BSCi via current paths of D-type transistor 340 and n-channel transistor 342, which are connected in parallel, and the current path of D-type transistor 344. The gate of the D-type transistor 340 is connected to the output of the decoder 322, and gates of the n-channel transistor 342 and the D-type transistor 344 are connected to the power supply potential Vcc of 5 volts. Two input terminals of NOR gate 346 are connected to the clock  R and the output of the decoder 322, respectively. Between the output of the NOR gate 346 and the line BSCi is connected a charge pump circuit 348. If address signals selecting the memory block SBKi input to the block selection control circuit 318, the block selection control line BSCi is at a potential of about 4.3 volts in erasing, programming verification and reading modes, and is at the program voltage V pgm of 18 volts in a programming mode. On the contrary, the block selection control line of respective ones of block selection control circuits associated with unselected memory blocks is at the reference potential of 0 volts in all modes. If the memory block SBKi is designated by the address signal and the address signal A 11 is at "H" level, the upper selection gate line USGLi is at a potential of 5 volts in a programming, a programming verification and a reading modes, and the lower selection gate line LSGLi is at a potential of 0 volts by conduction of the transistor 338 in said modes. Similarly, if the memory block SBKi is addressed by the address signal and the address signal A 11 is at "L" level, the lower selection gate line LSGLi is at a potential of 5 volts in programming, programming verification and reading modes, and the upper selection gate line USGLi is at a potential of 0 volts by conduction of the transistor 332 in said modes. On the other hand, upper and lower selection gate lines USGLi and LSGLi are both in floating states of about 2 to 3 volts in a block erasing mode. Referring to Figure 15, the ground line driving circuit 320 is comprised of inverters 362 to 374 and NOR gates 376 and 378. The driving circuit 320 outputs 0 volts onto upper and lower ground selection lines UGSL and LGSL in a programming mode. If the upper memory block is selected in reading and programming verification modes, the upper ground selection line UGSL goes to "H" level of 5 volts, and the lower ground selection line LGSL goes to "L" level of 0 volts. However, if the lower memory block is selected in reading and programming verification modes, the lower ground selection line LGSL goes to "H" level of 5 volts, and the upper ground selection line UGSL goes to "L" levels of 0 volts. On the other hand, upper and lower ground selection lines UGSL and LGSL go to "H" levels of 5 volts in a block erasing mode. Operations of the modified embodiment are almost the same as those of the first embodiment. excepting operation to select either upper or lower memory block and operation to charge NAND cells by way of a capacitive coupling technique in a programming operation. Thus, a brief explanation of operation of the modified embodiment will be given, referring to the accompanying timing charts. Figure 16 shows a timing chart of the block erasing mode. In the drawing, the time period between t 1 and t 2 is for discharging all word lines in the memory array 10 to the reference potential of 0 volts. In this period, control gate lines CGL1 to CGL8 are at the reference potential as discussed in connection with Figure 6. During this period, BLK maintains "L" level, and the predecoder (not shown) generates address signals Pℓ, Qℓ and Rℓ being at "H" levels in response to the signal BLK . Thus, the decoder of Figure 14 outputs "L" level. Consequently, block selection control lines BSC1 to BSC512 are all at the potential of about 4.3 volts, and transfer transistors BT2 to BT9 of transfer transistor arrays 34-1 to 34-512 of Figure 13a are all turned on, thereby grounding all word lines. The time period between t 2 and t 3 of Figure 16 is for erasing a selected memory block. During the period, control gate lines CGL1 to CGL8 remain the reference potential identical to the case between t 1 to t 2 . The block selection control circuit 318 of Figure 14 associated with the selected memory block outputs the potential of about 4.3 volts onto a selected block selection control line. However, the block selection control circuits associated with unselected memory blocks output the reference potential onto unselected block selection control lines. Thus, word lines of upper and lower memory blocks in the selected memory block at time t 2 are all at the reference potential, and all of word lines in unselected memory block are in floating states. However, since the erase voltage V era of 20 volts is applied to the well electrode 114 of Figure 4 at time t 2 , all word lines in the unselected memory blocks are capacitively coupled to about 20 volts, and data of memory transistors in the unselected memory blocks is not erased. However, during the time period between t 2 and t 3 , every memory transistor in the selected memory block is changed into a D-type transistor having a threshold voltage of about -2 to -3 volts by the erase voltage which is applied between its channel and control gate. That is, logic "0" data is stored. On the other hand, during the block erasing period between t 2 and t 3 , since the selected block selection control line is at the potential of about 4.3 volts, and upper and lower selection gate lines USGLi and LSGLi are at about 2 to 3 volts, and upper and lower ground selection lines UGSL and LGSL are at 5 volts, the first upper and lower selection lines USL1 and LSL1 associated with the selected memory block are at about 2 to 3 volts and the second upper and lower selection lines USL2 and LSL2 associated with the selected memory block are in floating states. Thus, when any one of the second upper and lower transistors connected with the second upper and lower selection lines fails, the flow of leakage current is prevented via the second upper and lower selection lines USL2 and LSL2 from the well electrode 114. During the block erasing operation, the voltage relationship of significant portions may be summarized in the following TABLE 4. Selected Memory Block Unselected Memory Block First Upper And Lower Selection Lines USL1 And LSL1 Approximately 2 - 3 V Floating Word Lines WL1 to WL8 0 V Approximately 20V Second Upper And Lower Selection Lines USL2 And LSL2 Floating Floating Well Electrode 20 V 20 V The time period between t 3 and t 4 of Figure 16 is for discharging word lines in unselected memory blocks to the reference potential. During this period, control gate lines CGL1 to CGL8 maintain the reference potential by the control signal DS as previously discussed in connection with Figure 6. The control signal BLK maintains all block selection control lines BSC1 to BSC512 to about 4.3 volts, thereby causing all word lines to be discharged to the reference potential. Upper and lower gate lines UGLi and LSGLi are also maintained to the reference potential by Xd . On the other hand, the line DCB being at "H" level causes bit lines to be discharged to the reference potential. Figure 17 shows a timing chart of the programming mode of the modified embodiment. Referring to Figure 17, the data loading operation is performed prior to time t 1 . The data loading operation is performed in the same manner as that of the first embodiment as discussed in connection with Figure 2b. The time period between t 1 and t 2 is for writing data into selected memory transistors. As discussed in the data loading operation of the first embodiment, bit lines corresponding to memory transistors into which logic "1" data is written are at "L" level of 0 volts while bit lines corresponding to memory transistors into which logic "0" data is written are at "H" levels of 5 volts. After the time t 1 , the selected control gate line goes to the program voltage V pgm of 18 volts. and unselected control gate lines go to the pass voltage V pas of 10 volts as previously discussed in connection with Figure 6. It is now assumed that the fourth control gate line CGL4 was designated by address signals. Then. the control gate line CGL4 goes to the program voltage V pgm of 18 volts and control gate lines CGL1 to CGL3 and CGL5 to CGL8 go to the pass voltage V pas of 10 volts. It is also assumed that the third memory block was designated by address signal and the address signal A 11 was "H" level. Then, the decoder 322 of Figure 14 outputs "L" level and the block selection control line BSC3 goes to the program voltage V pgm of 18 volts after the time t 1 . At this time, the upper selection gate line USGL3 goes to the potential of 5 volts and the lower selection gate line LSGL3 goes to the reference potential. Thus, the transfer transistor array 34-3 of Figure 13a is turned on. On the other hand, the ground line driving circuit 320 of Figure 15 provides the reference potential onto the lines UGSL and LGSL during the programming period. Thus, the second upper and lower selection transistors UST2 and LST2 in the upper and lower memory blocks USBK3 and LSBK3 are all nonconductive. The first lower selection line LSL1 in the lower memory block LSBK3 also goes to the reference voltage via the transfer transistor BT11, thereby causing the first lower selection transistors LST1 to be turned off. However, the first upper selection line USL1 in the upper memory block USBK3 goes to "H" level of 5 volts via the transfer transistor BT1. During the above-mentioned programming operation, the voltage relationship of significant portions may be summarized in the following TABLE 5. Selected Memory Block Selected Upper Memory Block Unselected Lower Memory Block Selected First Upper 5 V - Selected Line USL1 Unselected First Lower - 0V Selected Line LSL1 Selected Word Line V Pam =18 V V Pgm =18 V Unselected Word Line V pas =10 V V Pas =10 V Selected Second Upper 0 V - Selection Line USL2 Unselected Second Lower - 0 V Selection Line LSL2 Well Electrode 0 V 0 V Thus, during the programming operation, the high voltage applied onto word lines WL1 to WL8 causes the NAND cell charging of upper and lower memory blocks USBK3 and LSBK3. Thus, since the first upper selection line USL1 is at the potential of 5 volts, and bit lines associated with memory transistors into which logic "0" data is written are at 5 volts while bit lines associated with memory transistors into which logic "1" data is written are at the reference potential of 0 volts, first upper selection transistors in the upper memory block USBK3 which are connected with the latter memory transistors are turned on, and first upper selection transistors in the memory block USBK3 which are connected with the former memory transistors are turned off. Thus, sources, drains and channels of memory transistors in NAND cells associated with the former memory transistors go to the reference potential, and NAND cells associated with the latter memory transistors are charged to a high voltage. Consequently, during the programming period, floating gates of the former memory transistors connected with the upper word line WL4 accumulate electrons by way of the F-N tunneling, thereby changing into enhancement transistors having a threshold voltage of about 0.8 volts. That is, logic "1" data is stored. However, since channels of the latter memory transistors and junction capacitors of their sources and drains are charged with a high voltage, the programming of these memory transistors is prevented. In the same manner, the first lower selection line LSL1 and the second lower selection line LSL2 in the unselected lower memory block LSBK3 are at the reference potential, and the first and the second lower selection transistors LST1 and LST2 which are respectively connected to the lines LSL1 and LSL2 are thereby turned off. Thus, channels of memory transistors of NAND cells in the lower memory block LSBK3 and junction capacitors of their sources and drains are charged with a high voltage so as to prevent programming. At the time t 2 , the programming operation is terminated and the clock  R stops clocking. Thus, the charge pump circuit 348 is disabled and BSC3 thereby falls to the potential of 5 volts. During the time period between t 2 and t 3 , the control signal DS at "L" level causes control gate lines CGL1 to CGL8 to be grounded. Thus, word lines in the memory block SBK3 are discharged to the reference potential. During the time period between t 3 and t 4 , block selection control lines BSC1 to BSC512 and upper selection gate lines USGL1 to USGL512 are discharged to the reference potential. The programming verification operation may be performed from the time t 4 of Figure 17. The programming verification operation is similar to that of the first embodiment. The difference as compared with the first embodiment is in that the present embodiment has the block selection control circuit for selecting one of either the upper or lower memory block in a selected memory block. If the upper memory block USBKi in a selected memory block is selected by means of the block selection control circuit of Figure 14 in the programming verification operation, a selected block selection control line BSCi goes to the potential of about 4.3 volts, and the upper selection gate line USGLi goes to the potential of 5 volts. Then, the ground line driving circuit 320 of Figure 15 outputs "H" level of 5 volts onto the upper selection gate line UGSL and "L" level of 0 volts onto the lower selection gate line LGSL. As discussed in connection with the first embodiment with reference to Figure 6, in the programming verification operation, a selected control gate line is at the program verifying voltage of 0.8 volts and unselected control gate lines are at the potential of 5 volts. Thus, the line BSCi of about 4.3 volts connected to the transfer transistor array 34-i of Figure 13a goes to the potential of about 7 volts since the potential of 5 volts on the unselected control gate lines is transferred from drains of transfer transistors to their gates by way of capacitive coupling. This operation is also identical in a reading operation. Consequently, a selected word line in the upper memory block USBKi goes to the verifying voltage of 0.8 volts and unselected word lines go to the potential of 5 volts. The first and second upper selection lines USL1 and USL2 also go to the potential of 5 volts. Thus, second selection transistors UST2 in the block USBKi are turned on, thereby connecting NAND cells in the block USBKi to the grounded common source line CSL. However, the first and second lower selection lines LSL1 and LSL2 in the lower memory block LSBKi are at the reference potential and the block LSBKi are at the reference potential and the block LSBKi are at the reference potential and the block LSBKi is thereby unselected. The following programming verification and reprogramming operations are the same as operations explained in the first embodiment in connection with the timing chart during the time period between t 2 and t 4 of Figure 12. In the modified embodiment, programming and reprogramming techniques do not need a program inhibition voltage generator connected with the respective bit lines to inhibit programming of logic "0" programmed cells and reprogramming of successfully logic "1" programmed cells. Thus, the simplification of a peripheral circuit and the reduction of on-chip area can be accomplished. Otherwise, since the program inhibition voltage is automatically generated by the capacitive coupling technique during the programming and reprogramming operations, the programming and reprogramming operations may be executed at a high speed. Thus, since the present embodiment employs a self-program inhibition technique, the above-mentioned advantages may be accomplished. In the reading operation of the modified embodiment, a selected word line of 0 volts is used instead of the selected word line of 0.8 volts in the above-mentioned programming verification operation. Operation to select memory transistors in the reading operation is the same as that in the programming verification operation. Page reading, page read-out sensing and the output from data output terminals are also the same as operations explained in the first embodiment in connection with Figure 12. Thus, EEPROMs of embodiments of the present invention as described above can be designed so as to have capabilities and reliability of improved programming, block erasing and programming verification. The peripheral circuits associated with a reading and a programming verification according to embodiments of the invention can also be used in a nonvolatile semiconductor memory with a NOR-type memory array.

Claims: A nonvolatile semiconductor memory (10) provided with memory cells (NU) each having a control gate, a floating gate and a channel region (94), and further provided with means (ST2, CSL; CGL) for applying a high erase voltage to the channel regions of selected and non-selected memory cells and for applying a low voltage to the gates of the selected memory cells, characterised in that said means capacitively couples at least part of said erase voltage to the gates of said non-selected memory cells, in order to erase the selected cells and to inhibit erasure of the non-selected cells. A nonvolatile semiconductor memory (10) provided with memory cells (NU) each having a control gate, a floating gate and a channel region (94), and further provided with means (CGL; ST2, CSL) for applying a high program voltage to the control gates of selected and non-selected memory cells and for applying a low voltage to the channel regions of the selected memory cells, characterised in that said means capacitively couples at least part of said program voltage to the channel regions and source and drain junctions of said non-selected memory cells, in order to program the selected cells and to inhibit programming of the non-selected cells. A memory according to claim 1, further comprising: word lines (WL) formed generally in parallel over a surface of a semiconductor substrate (72); an array of cell units (NU) formed on said surface, each said unit including at least one memory transistor (M) which has source (82) and drain (84) regions formed in said substrate but separated by said channel region (94), said floating gate formed over the channel region for storage of charge, and said control gate formed over the floating gate and coupled to a corresponding one of said word lines (WL1), said array being divided into a plurality of memory blocks (BK1 -BK1024) each having a certain number of cell units; means for applying said high erase voltage to said substrate including the channel regions in a data erase mode; and means (CGL, BT), responsive to an address in said erase mode, for applying said low voltage to word lines of a memory block selected by said address in order to erase data stored in memory transistors of said selected memory block, and floating word lines of unselected memory blocks so as to prevent erasure of memory transistors in said unselected memory blocks due to said capacitive coupling of a predetermined amount of said high erase voltage to word lines of said unselected memory blocks. A memory according to claim 1, further comprising: word lines (WL) formed over a surface of a semiconductor substrate (72); cell units (NU) arranged on said surface to form an array, each said unit including at least one memory transistor (M) which has source (82) and drain (84) regions formed in said substrate but separated by said channel region (94), said floating gate formed over the channel region, and said control gate formed over the floating gate and coupled to a corresponding one of said word lines (WL1), said array being divided into a plurality of memory blocks (BK1-BK1024) each having a certain number of cell units; and means (CSL, ST2), responsive to an address in a data erase mode, for applying said high erase voltage to said substrate including said channel regions, and simultaneously floating word lines of memory blocks unselected by said address, whereby erasure of memory transistors of said unselected memory blocks is prevented by capacitive coupling of a predetermined amount of said high erase voltage to the word lines of said unselected memory blocks. A memory according to claim 2, further comprising: a semiconductor substrate (72); an array of cell units (NU) formed on said substrate and arranged in a matrix form of rows and columns, each said unit including a predetermined number of memory transistors (M) connected in series in column direction, each memory transistor having source (82) and drain (84) regions formed in said substrate but separated by said channel region (94), said floating gate formed over the channel region to store charge, and said control gate formed over the floating gate; word lines (WL) formed over said substrate and arranged generally in parallel in the row direction, each word line being connected to control gates of memory transistors in a corresponding row; and control means (18, 20, 22) for erasing memory transistors to one binary data in an data erase mode by transfer of charges from floating gates thereof, and for capacitively charging, when said high program voltage is applied to a selected word line in a data program mode subsequent to said erase mode, channel regions and source and drain junctions of memory transistors to be programmed to the one binary data to a predetermined potential, whereby said one binary data programmed memory transistors are the non-selected cells, and are not programmed due to low potential difference between substrate and control gates thereof during programming. A memory according to claim 1 or claim 2, further comprising: a semiconductor substrate (72); word lines (WL) formed over said substrate; a plurality of NAND cells (NU) each having a plurality of memory transistors (M) connected in series, each said transistor having source (82) and drain (84) regions formed in said substrate but separated by said channel region (94), said floating gate formed over the channel region to store binary data, and said control gate formed over said floating gate and connected to a corresponding one of said word lines; and control means (18, 20, 22) for capacitively charging one of either: channel regions and source and drain junctions; or word lines, of memory transistors of a selected NAND cell so as not to change binary data stored previously in said memory transistors of said selected NAND cell during erasing and programming modes. A memory according to claim 1 or claim 2 further comprising: a plurality of bit lines (BL); memory cells (NU) each having at least one memory transistor (M) including said floating gate serving as a charge storage layer, and said control gate, one end of each of said cells being connected (ST1) to a corresponding bit line (BL) and the other end of each memory cell being connected (ST2) to a reference potential (CSL); current source means (33) for supplying a predetermined amount of electrical current to said bit lines during both data reading and program verifying modes; control means (18, 20, 22) for applying a read voltage to control gates of selected memory transistors during the reading mode, and applying to control gates of selected memory transistors said program voltage during a data program mode and a program verifying voltage during the program verifying mode; common data latch means (PBk) operably connected to said bit lines for storing program data in order to provide (26) the program data to said selected memory transistors during the program mode while storing (28) read-out data during the reading mode and verify data during the verifying mode; and data sensing means for respectively providing said read-out data and said verify data to said common data latch means depending on the flow of current through the bit lines and the selected memory transistors from said current source means during said reading and verifying modes. A memory according to claim 2, further comprising: a semiconductor substrate (72) having a well region (76); memory transistors (M) formed on said region and arranged in a matrix form of rows and columns, said memory transistors comprising cell units (NU) each of which has a predetermined number of memory transistors connected in series, and first and second terminals at its both ends, cell units in respective rows constituting a memory block, each memory transistor having source (82) and drain (84) regions formed in said region but separated by said channel region, said floating gate formed over the channel region (94) to store charge representing binary data, and said control gate formed over the floating gate; word lines (WL) being connected to said control gates of memory transistors in a corresponding row; bit lines (BL) generally intersecting said word lines; a common source line (CSL); first and second selection lines (SGL) generally in parallel with said word lines; first selection transistors (ST1) respectively connected between first terminals of cell units in each memory block and corresponding bit lines for selectively connecting therebetween, gates of first selection transistors associated with each memory block being connected to a corresponding first selection line (SGL1); second selection transistors (ST2) connected between second terminals of cell units in each memory block and the common source line for selectively connecting therebetween, gates of second selection transistors associated with each memory block being connected to a corresponding second selection line (SGL2); a data register (PBk) connected to said bit lines for providing binary data to said bit lines, said register providing logic high level voltages to bit lines associated with memory transistors programmed to one binary data of said binary data while providing reference voltages to bit lines associated with memory transistors programmed to the other binary data thereof; and control means (18, 20, 22, BSC1) connected to said word lines and said first and second selection lines for applying said program voltage (Vpgm) to a selected one of the word lines of a selected memory block and pass voltages (Vpas) to unselected word lines of unselected memory blocks while applying a logic high level voltage to the first selection line associated with said selected memory block and rendering nonconductive second selection transistors associated therewith, whereby channel regions and source and drain junctions of memory transistors in said selected memory block are capacitively charged to program inhibition voltages. A method for erasing selected memory cells (M, NU) in a nonvolatile semiconductor memory (10) provided with memory cells each having a control gate, a floating gate and a channel region (94), and further provided with means (CSL, SL2) for applying a high erase voltage to the channel regions of selected and non-selected memory cells and (CGL, BT) for applying a low voltage to the gates (WL) of the selected memory cells, characterised in that said method comprises capacitively coupling at least part of said erase voltage to the gates of said non-selected memory cells, in order to erase the selected cells and to inhibit erasure of the non-selected cells. A method for programming selected memory cells (M, NU) in a nonvolatile semiconductor memory (10) provided with memory cells each having a control gate, a floating gate and a channel region (94), and further provided with means (CGL, BT) for applying a high program voltage to the control gates of selected and non-selected memory cells and (CSL, SL2) for applying a low voltage to the channel regions of the selected memory cells, characterised in that said method comprises capacitively coupling at least part of said program voltage to the channel regions and source and drain junctions of said non-selected memory cells, in order to program the selected cells and to inhibit programming of the non-selected cells. A method of erasing data stored in a nonvolatile semiconductor memory in a data erase mode according to claim 9, said memory comprising an array of cell units (NU) formed on a surface of a semiconductor substrate (72), each said unit including at least one memory transistor (M) for storage of data which has said floating gate and said control gate coupled to a corresponding one of a plurality of word lines (WL), said array being divided into a plurality of memory blocks (BK1-BK1024) each having a certain number of cell units, said method comprising: applying said high erase voltage to said substrate; applying said low voltage to word lines of a memory block selected by an address in order to erase data of memory transistors in said selected memory block; and floating word lines of memory blocks not selected by said address such that memory transistors of said non-selected memory blocks are prevented from erasure by capacitive coupling of a predetermined amount of said erase voltage to said word lines of said unselected memory blocks. A method according to claim 9, further comprising preventing erasure of memory transistors (M) in memory blocks (BK1-BK1024) unselected by an address in a nonvolatile semiconductor memory (10), wherein said memory comprises cell units (NU) formed on a surface of a semiconductor substrate (72) to form an array, each cell unit having at least one memory transistor which has a source (82), a drain (84), said floating gate and said control gate connected to a corresponding one of a plurality of word lines (WL), said array being divided into a plurality of memory blocks each having a certain number of cell units, said method comprising the steps of: floating word lines of said unselected memory blocks; and applying said erase voltage to said substrate, whereby memory transistors of said unselected memory blocks are prevented from erasure by capacitive coupling of a predetermined quantity of said erase voltage to said word lines of said unselected memory blocks. A method according to claim 9, further comprising preventing erasing of a cell unit in a nonvolatile semiconductor memory (10), said cell unit (NU) being formed on a surface of a semiconductor substrate (72) and having a predetermined number of memory transistors (M) connected in series, each memory transistor having source (82) and drain (84) regions formed in said substrate but separated by said channel region (94), said floating gate formed over the channel region to store binary data, and said control gate formed over the floating gate, respective control gates of memory transistors of the cell unit being connected to a corresponding one of a plurality of word lines (WL), said method comprising the steps of: applying said erase voltage to said substrate; and capacitively charging word lines of said cell unit to a predetermined amount of the erase voltage. A method according to claim 10 for programming a cell unit in an electrically erasable programmable read only memory, said cell unit (NU) being formed on a surface of a semiconductor substrate (72) and having a predetermined number of memory transistors (M) connected in series, each memory transistor having source (82) and drain (84) regions formed in said substrate but separated by said channel region (94), said floating gate formed over the channel region to store one binary data of binary data, and said control gate formed over the floating gate, said method com rising the steps of: capacitively charging said channel regions and source and drain junctions of said memory transistors to a program inhibition voltage (Vpi); maintaining said program inhibition voltage when a selected memory transistor is not programmed to the other binary data while discharging said program inhibition voltage to a low potential when said selected memory transistor is programmed to the other binary data; and applying said program voltage to the control gate of said selected memory transistor. A method according to claim 10 for programming a cell unit (NU) in a semiconductor memory (10), said cell unit being formed on a surface of a semiconductor substrate (72) and having a predetermined number of memory transistors (M) connected in series, each memory transistor having source (82) and drain (84) regions formed in said substrate but separated by said channel region (94), said floating gate formed over the channel region to store one binary data of binary data, and said control gate formed over the floating gate, said method comprising the steps of: applying said high program voltage (Vpgm) to the control gate of a selected memory transistor and a second high voltage (Vpi) lower than the first high voltage to control gates of the remaining memory transistors, whereby channel regions and source and drain junctions of memory transistors of said unit are capacitively charged to a predetermined charged voltage; and discharging said charged voltage when said selected memory transistor is programmed to the other binary data while maintaining said charged voltage when said selected memory transistor is not programmed to the other binary data. A method according to claim 10 for programming memory transistors (M) in a row in a semiconductor memory (10) which comprises a semiconductor substrate (72); memory transistors formed on a surface of said substrate and arranged in row and columns, said memory transistors comprising cell units (NU) each of which has a predetermined number of memory transistors connected in series and first and second terminals at each of two ends, each memory transistor having source (82) and drain (84) regions formed in said substrate but separated by said channel region (94), said floating gate formed over the channel region to store binary data, and said control gate formed over the floating gate, cell units in respective rows constituting a memory block (BK); word lines (WL) each being connected to control gates of memory transistors in a corresponding row; bit lines (BL) generally intersecting said word lines, said first terminal of each of cell units of each memory block being connected to a corresponding one of said bit lines via a first selection transistor (ST1); and a common source line connected to said second terminal of each of cell units via second selection transistors (ST2), said method comprising the steps of: applying said program voltage (Vpgm) to a selected word line of a selected memory block and a pass voltage (Vpas) lower than the program voltage to the remaining word lines thereof, while applying a logic high level voltage lower than the pass voltage to gates of said first selection transistors (ST1) associated with said selected memory block and rendering nonconductive said second selection transistors (ST2) associated therewith, said logic high level voltage corresponding to a logic high state; and applying a logic low level voltage corresponding to a logic low state to bit lines associated with memory transistors programmed from one binary data to the other binary data, while applying the logic high level voltage to bit lines associated with memory transistors not programmed, whereby channel regions and source and drain junctions of said nonprogrammed memory transistors are capacitively charged to a voltage level between said logic high level voltage and said program voltage so as to prevent programming, while others of said memory are programmed.

Inventors: CHOI JEONG-HYUK, KIM JIN-KI, SUH KANG-DEOG, CHOI, JEONG-HYUK, KIM, JIN-KI, SUH, KANG-DEOG
Applicants: SAMSUNG ELECTRONICS CO LTD, SAMSUNG ELECTRONICS CO., LTD.
Application year: 1994
Main classification: G11C16
IPC codes: G11C17, H01L27, G11C16, H01L21, H01L29