CROSS-REFERENCES TO RELATED APPLICATIONS  
       [0001]     This application is based upon and claims the benefit of priority from the prior Japanese Patent Applications No. 2004-292558, filed on Oct. 5, 2004, the entire contents of which are incorporated herein by reference.  
       BACKGROUND OF THE INVENTION  
       [0002]     1. Field of the Invention  
         [0003]     This invention relates to an electrically rewritable nonvolatile semiconductor memory device. Among nonvolatile semiconductor memories, it especially relates to a NAND type flash memory.  
         [0004]     2. Description of Related Art  
         [0005]     In recent years, the demand of small nonvolatile semiconductor memories with large capacity increases rapidly, and the NAND type flash memory which can expect high integration and large capacity has especially attracted attention, compared with the conventional NOR type flash memory.  
         [0006]     For the purpose of manufacturing a NAND type flash memory with large capacity, chip shrink for high integration will be promoted. However, as chip shrink progresses, a bit line interval is shortened and the contiguity capacity of the bit line is getting large. These days, the contiguity bit line capacity has reached 80% of the whole bit line capacity. It is considered that as capacity of a flash memory becomes large, the chip shrink further progresses and the contiguity bit line capacity is going to be larger.  
         [0007]     In the NAND type flash memory, in order to make the consumption current of sense amplifier (S/A) small, the “voltage sense method” which detects the electric charge of a bit line is adopted. The sense operation of the data in the NAND type flash memory of the voltage sense method is as follows.  
         [0008]     (1) Store the electric charge in the bit line beforehand (precharge).  
         [0009]     (2) When a NAND memory cell turns on, because the precharged electric charge passes through a NAND memory cell, the potential of the bit line becomes VSS (discharge).  
         [0010]     (3) When the NAND memory cell does not turn on, because the precharged electric charge is not drawn out, the potential of the bit line is maintained as the precharged potential. In this case, the bit line is floating.  
         [0011]     (4) At the time when the discharge ended, data is read by detecting the voltage level of the bit line with a sense amplifier.  
         [0012]     Due to the fact that the chip shrink has progressed and the contiguity bit line capacity has become large in recent years, regarding the bit line adjoining the bit line in a floating state in the above-mentioned state of (3) (i.e. the state which the NAND memory cell does not turn on), when discharge of the bit line described in the above-mentioned (2) is performed, it is influenced by the contiguity capacity of the bit line and the potential of the bit line in floating also decreases. Thus, what is called “coupling” phenomenon arises. Originally, in the above-mentioned state of (3), the potential of the bit line should have maintained the precharged level. However, the potential of the bit line decreases due to the influence of coupling, and an incorrect sense is caused. Therefore, there is a case where it becomes impossible to perform exact read-out operation. In order to avoid the incorrect sense caused by the influence of this coupling, for example, the method of shielding an adjoining bit line is adopted these days, as indicated by U.S. Pat. No. 5,453,955.  
         [0013]     In this method of shielding the adjoining bit line (hereinafter referred to as the “bit line shielding method”), one sense amplifier circuit (S/A and latch) is shared by two bit lines as shown in  FIG. 1 . That is, the adjoining bit lines are classified into even number (Even) and odd number (Odd), and the structure that the adjoining bit lines of even number and odd number share one sense amplifier is adopted.  
         [0014]     In read-out operation of this bit line shielding method, when the data of the bit line of even number are read out (when even-numbered pages are read out), transfer gates for the even-bit lines (BLSe) are turned on, and the even-bit lines are connected to the sense amplifier. At this time, by turning on transistors for grounding (BIASo) the odd-bit lines are connected to BLCRL to become grounding potential (VSS). Under this state, if potential (VDD) is precharged from the sense amplifier (S/A) on the even-bit lines, since the potential of the odd-bit lines are held at VSS, the even-bit lines are not influenced by the odd-bit lines, and precharge is performed appropriately.  
         [0015]     On the other hand, when reading the data of the odd-bit lines, the transfer gate for the odd-bit lines (BLSo) is turned on, and the odd-bit lines are connected to the sense amplifier. At this time, by turning on the transistor for grounding (BIASe), the even-bit lines are connected to BLCRL to make grounding potential (VSS). If the potential (VDD) is precharged from the sense amplifier (S/A) on the odd-bit lines under this state, since the potential of the even-bit lines are held at VSS, the odd-bit lines are not influenced by the even-bit lines, and precharge is performed appropriately.  
         [0016]     Thus, in the bit line shielding method, by making the adjoining non-selected bit line into a grounding state at the time of read-out operation, it becomes possible to perform exact read-out operation, without being influenced by the signal of the adjoining bit line.  
         [0017]     At the time of write-in operation of data (at the time of program operation), in order to speed up write-in speed, since the adjoining bit lines do not influence each other, it is desirable to write in the even-bit line and the odd-bit line simultaneously.  
         [0018]     However, in the conventional NAND type flash memory using the bit line shielding method shown in  FIG. 1 , it is impossible to write in the even-bit lines and the odd-bit lines simultaneously due to a circuit structure. Therefore, it is necessary to write data to the even-bit lines and the odd-bit lines by turns at the time of writing data. On the other hand, the demand to speed up the NAND type flash memory in a market is increasing, it is desired to realize that the even-bit lines and the odd-bit lines are written in simultaneously and the whole system of the NAND type flash memory speeds up.  
       SUMMARY OF THE INVENTION  
       [0019]     In the nonvolatile semiconductor memory device of one embodiment of this invention and its operation method, a sense amplifier has a circuit receiving and holding data from the outside and two circuits receiving and holding the data transmitted from that circuit. These circuits transmit said data to two bit lines, and said data is simultaneously written in the memory cells selected among the nonvolatile memory cells connected to two adjacent bit lines. Therefore, in the nonvolatile semiconductor memory of one embodiment of this invention and its operation method, data can be simultaneously written in the even-bit lines and the odd-bit lines.  
         [0020]     A nonvolatile semiconductor memory device of one embodiment of this invention comprises:  
         [0021]     a memory cell array which a plurality of an electrically rewritable nonvolatile memory cell are arranged; and  
         [0022]     a sense amplifier having first, second and third circuits holding write-in data, said first circuit receiving data from the outside and transmits said data to said second circuit and said third circuit, said second circuit and said third circuit transmitting said data to two adjacent bit lines respectively; and  
         [0023]     wherein said data is written in simultaneously to a memory cell selected among said nonvolatile memory cells connected to said two adjacent bit lines. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0024]     The accompanying drawings, which are incorporated into and form a part of the specification, illustrate one or more embodiments of the present invention, together with the description, serve to explain the principals of the invention. The drawings are only for the purpose of illustrating one or more preferred embodiments of the invention and are not to be construed as limiting the invention. In the drawings:  
         [0025]      FIG. 1  is an outline block diagram of a memory cell array and sense amplifiers of a NAND type flash memory.  
         [0026]      FIG. 2  is an outline block diagram of one embodiment of the nonvolatile semiconductor memory of one embodiment of this invention.  
         [0027]      FIG. 3A  is an outline block diagram of the memory cell array, the sense amplifiers and the selection circuits concerning one embodiment of the nonvolatile semiconductor memory of one embodiment of this invention.  
         [0028]      FIG. 3B  is a cross sectional view of a memory cell concerning one embodiment of the nonvolatile semiconductor memory of one embodiment of this invention.  
         [0029]      FIG. 4  is a circuit block diagram of the memory cell of the memory cell array concerning one embodiment of the nonvolatile semiconductor memory of one embodiment of this invention.  
         [0030]      FIG. 5  is an outline block diagram of the sense amplifier concerning one embodiment of the nonvolatile semiconductor memory of one embodiment of this invention.  
         [0031]      FIG. 6  shows the circuit structure of the sense amplifier and the selection circuit concerning one embodiment of the nonvolatile semiconductor memory of one embodiment of this invention.  
         [0032]      FIG. 7  is a timing chart of verify operation of the even-numbered pages concerning one embodiment of the nonvolatile semiconductor memory of one embodiment of this invention.  
         [0033]      FIG. 8  is a timing chart of verify operation of the even-numbered pages concerning one embodiment of the nonvolatile semiconductor memory of one embodiment of this invention.  
         [0034]      FIG. 9  is a timing chart of verify operation of the odd-numbered pages concerning one embodiment of the nonvolatile semiconductor memory of one embodiment of this invention.  
         [0035]      FIG. 10  is a timing chart of verify operation of the odd-numbered pages concerning one embodiment of the nonvolatile semiconductor memory of one embodiment of this invention.  
         [0036]      FIG. 11  is a timing chart of verify operation of the odd-numbered pages in one embodiment of the nonvolatile semiconductor memory of one embodiment of this invention.  
         [0037]      FIG. 12  shows the circuit structure of the sense amplifier and the selection circuit concerning one embodiment of the nonvolatile semiconductor memory of one embodiment of this invention.  
         [0038]      FIG. 13  is a timing chart of verify operation of the even-numbered pages concerning one embodiment of the nonvolatile semiconductor memory of one embodiment of this invention.  
         [0039]      FIG. 14  is a timing chart of verify operation of the odd-numbered pages in one embodiment of the nonvolatile semiconductor memory of one embodiment of this invention. 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0040]     The outline block diagram of the nonvolatile semiconductor memory device  10  of one embodiment of the present invention concerning this embodiment is shown in  FIG. 2 . The nonvolatile semiconductor memory  10  of one embodiment of the present invention concerning this embodiment comprises a memory cell array  11 , a column control circuit (column decoder)  12 , a low control circuit (low decoder)  13 , a source line control circuit  14 , a P well control circuit  15 , a data input-and-output buffer  16 , a command interface  17 , a state machine  18 , a sense amplifier  19  and a selection circuit  20 . The nonvolatile semiconductor memory  10  of one embodiment of this invention concerning this embodiment performs transmission and reception of data and a control signal (command) with an external I/O pad  21 .  
         [0041]     In the nonvolatile semiconductor memory  10  of one embodiment of this invention concerning this embodiment, data and the control signal are inputted into the command interface  17  and the column control circuit  12  through the data input-and-output buffer  16  from the external I/O pad  21 . The state machine  18  controls the column control circuit  12 , the low control circuit  13 , the source line control circuit  14  and the P well control circuit  15  based on the control signal and the data. The state machine  18  outputs the access information over the memory cell of the memory cell array  11  to the column control circuit  12  and the low control circuit  13 . Based on the subject access information and the data, the column control circuit  12  and the low control circuit  13  control the sense amplifier  19  and the selection circuit  20 , and thereby activate the memory cell, and perform read-out, writing or erasing of data. The sense amplifier  19  connected to each bit line of the memory cell array  11  loads the data to a bit line, and detects the potential of the bit line, and holds it in a data cache. In addition, the data read from the memory cell by the sense amplifier  19  controlled by the column control circuit  12  is outputted to the external I/O pad  21  through the data input-and-output buffer  16 . The selection circuit  20  selects the data cache connected with the bit line among a plurality of data caches which constitutes the sense amplifier.  
         [0042]     Next,  FIG. 3A  is referred to.  FIG. 3A  shows the outline block diagram of the memory cell array  11 , the sense amplifier  19  and the selection circuit  20  of the nonvolatile semiconductor memory  10  of one embodiment of this invention concerning this embodiment. In this embodiment, the memory cell array  11  has m units of memory blocks having 2 n units of the memory cell  23 . In  FIG. 3 , the memory block i and the memory block (i+1) are shown typically. The memory cell  23  is connected to the bit lines BLe 0 , BLo 0 , BLe 1 , BLo 1 , BLe 2 , BLo 2 , . . . , BLe (n−1) BLo (n−1), respectively. The sense amplifier  19  has n units of the sense amplifier (S/A 0 -S/A (n−1)). The selection circuit  20  has n units of the selection circuits (SC 0 , SC 1 , . . . , SC (n−1)). One even-bit line and one odd-bit line form a pair, and one sense amplifier (S/A) and one selection circuit (SC) are shared. In the nonvolatile semiconductor memory  10  of one embodiment of this invention, an end of each bit line of the memory cell array  11  is floating. In addition, as shown in  FIG. 3B , the memory cell  23  has a source/drain  23   c  and  23   d  and a channel forming region  23   e , and it comprises a structure which an electric charge accumulation layer  23   a  and a control gate  23   b  are laminated.  
         [0043]     The circuit structure of the memory cell  23  of the memory cell array  11  is shown in  FIG. 4 . Although the memory block i and the memory block (i+1) are shown here among the memory cell blocks which constitute the memory cell array, the circuit structure of other memory blocks is also the same.  
         [0044]     The memory cell  23  has three memory transistors MTr and two selection gate transistors STr 1  and STr 2 , respectively. The memory cell  23  which constitutes the memory block i and the memory cell  23  which constitutes the memory block (i+1) share the sauce line (C-source) in common. In this embodiment, although string length of the NAND memory cell is set to 4 (WL 0  to WL 3 ), string length may be  16  or  32  or others. In addition, page length (the number of 2 n of bit lines) is 2 kByte adding the even-bit lines and the odd-bit lines. The number of memory blocks (m) is set to 1024. The number of the memory blocks of the nonvolatile semiconductor memory  10  of one embodiment of this invention concerning this embodiment, the string length and the page length of the NAND memory cell are not necessarily limited to the number described in this embodiment, and they may be changed appropriately according to a desired storage capacity. The number of the selection gate transistors is not necessarily limited to this, either.  
         [0045]     Next,  FIG. 5  is referred to.  FIG. 5  shows the outline block diagram of the sense amplifier S/A 0  of the sense amplifier  19  concerning this embodiment. The sense amplifier SA 1  to SA (n−1) of the sense amplifier  19  has the same structure as the sense amplifier S/A 0 . As shown in  FIG. 5 , the sense amplifier S/A 0  has primary data cache  30  (PDC), secondary data cache  31  (SDC), ABL data cache  32  (ADC), dynamic data cache  33  (DDC) and temporary data cache  34  (TDC). Dynamic data cache  33  and temporary data cache  34  may be provided according to need. Dynamic data cache  33  can be used also as cache holding the data for writing the middle potential (VQPW) between VDD (high potential) and VSS (low potential) in the bit line.  
         [0046]     Next,  FIG. 6  is referred to. The sense amplifier  19  and the circuit structure of the selection circuit  20  of this embodiment are shown in  FIG. 6 . Although the sense amplifier SA 0  and the selection circuit SC 0  connected to the even-bit lines BLe 0  and the odd-bit lines BLo 0  are typically shown in  FIG. 6  for convenience of the drawing, the other sense amplifiers SA 1  to SA (n−1) and the selection circuits SC 1  to SC (n−1) have the same circuit structures.  
         [0047]     The sense amplifier S/A 0  has primary data cache (PDC)  30 , secondary data cache (SDC)  31 , ABL data cache (ADC)  32 , dynamic data cache (DDC)  33  and temporary data cache (TDC)  34  as mentioned above. In this embodiment, the primary data cache  30  has clocked inverters CLI 1  and CLI 2  and an N channel type transistor NMOS 5 . The secondary data cache  31  has clocked inverters CLI 3  and CLI 4  and N channel type transistors NMOS 6  and NMOS 7 . The ABL data cache  32  has clocked inverters CLI 5  and CLI 6  and an N channel type transistor NMOS 8 . The dynamic data cache  33  has N channel type transistors NMOS 4  and NMOS 9 . The temporary data cache  34  has a capacity C. The circuit structure of the primary data cache  30 , the secondary data cache  31 , the ABL data cache  32 , the dynamic data cache  33  and the temporary data cache  34  is not necessarily limited the structure described in  FIG. 6 , and other circuit structure can also be adopted.  
         [0048]     The sense amplifier S/A 0  has N channel type transistors NMOS 11  to NMOS 20  for controlling input and output of the data in these data caches. In this embodiment, although the N channel type transistors NMOS 5  to NMOS 20  are used, input and output of the data may be controlled in these data caches by using P channel transistors.  
         [0049]     One of the characteristics of the nonvolatile semiconductor memory  10  of one embodiment of this invention is that the sense amplifier S/A 0  is equipped with the ABL data cache  32 . The ABL data cache  32  is to latch the data temporarily, and its size may be smaller than the primary data cache  30  and the secondary data cache  31 . Therefore, even if the ABL data cache  32  is added to the conventional sense amplifier, there is almost no increase in an occupied area.  
         [0050]     The selection circuit SC 0  has AND circuits AND 1  to AND 4  and N channel type transistors NMOS 0  to NMOS 3 , NMOS 22  and NMOS 23 . Regarding the selection circuit SC 0 , as long as it has a function to transmit the data from the sense amplifier S/A 0  to the bit lines BLe 0  and BLo 0 , a circuit other than the circuit shown in  FIG. 6  may be used.  
         [0051]     Next, write-in operation (program operation) of the data of the nonvolatile semiconductor memory  10  concerning this embodiment is explained. First, write-in data is transmitted to the secondary data cache (SDC)  31  by data lines IO and IOn. Since data is transmitted in serial, the column control circuit  12  judges whether data is an even-numbered page (Even page) or an odd-numbered page (Odd page). When data is an even-numbered page (Even page) “High” is inputted into BLC 1  and NMOS 13  is turned on, and data is transmitted to the primary data cache (PDC)  30  and the dynamic data cache (DDC)  33 . When data is an odd-numbered page (Odd page), data is transmitted to the ABL data cache (ADC)  32 . Next, the data held at the primary data cache (PDC)  30  or the ABL data cache (ADC)  32  is transmitted to the bit lines BLe 0  or BLo 0 . If data is “0 (Low)” at this time, VSS is transmitted, and if data is “1 (High)”, VDD is transmitted (precharge). Here, the data held in the primary data cache (PDC)  30  is transmitted to BLe 0 , and the data held at the ABL data cache (ADC)  32  is transmitted to BLo 0 .  
         [0052]     Here, the operation that the data held at the primary data cache (PDC)  30  or ABL data cache (ADC)  32  are transmitted to the bit lines BLe 0  or BLo 0  is explained in detail. First, all of BLSe, BLSo, BIASe and BIASo are set to “High”, and BLCRL is set to VDD. At this time, (1) when node N 1  of the primary data cache (PDC)  30  is “Low”, node N 1   n  becomes “High”, and NMOS 0  turns off, and NMOS 2  turns on. Here, by inputting “High” into BLC 1  and BLCLAMP and turning on NMOS 10  and NMOS 13 , “Low (in this embodiment, it is VSS)” is transmitted to the even-bit line BLe 0 . On the other hand, (2) when node N 1  of the primary data cache (PDC)  30  is “High”, node N 1   n  becomes “Low”, and NMOS 0  turns on, and NMOS 2  turns off. Since the potential of BLCRL is VDD at this time, VDD is inputted and precharged to the even-bit line BLe 0 .  
         [0053]     In addition, (3) when node N 3  of the ABL data cache (ADC)  32  is “Low”, node N 3   n  becomes “High”, and NMOS 1  turns off, and NMOS 3  turns on. Here, by inputting “High” into EVEN and turning on NMOS 23 , “Low (VSS)” is directly transmitted to the odd-bit line BLo 0  from the ABL data cache (ADC)  32 . On the other hand, (4) when node N 3  is “High”, node N 3   n  becomes “Low”, and NMOS 1  turns on, and NMOS 3  turns off. Since the potential of BLCRL is VDD at this time, VDD is inputted and precharged to the odd-bit line BLo 0 .  
         [0054]     The operation described above will be performed to all of the bit lines of even number and odd number. Then, by applying write-in voltage (Vpgm) to a word line WL to which the memory cell which writes in data is connected, data can be simultaneously written in to all the memory cells on one page connected to all of the even-bit lines and odd-bit lines, and write-in speed can be improved.  
         [0055]     Next, verify operation when writing in data will be explained referring to FIGS.  7  to  11 . Because the nonvolatile semiconductor memory  10  of one embodiment of this invention concerning this embodiment adopts the voltage sense method, the influence by coupling of the bit lines adjoining each other is large. And since all of the bit lines cannot be read simultaneously, verify operation is continuously performed for every even-numbered page and odd-numbered page. Immediately after program operation, write-in data is held in the primary data cache (PDC)  30 , the ABL data cache (ADC)  32 . The secondary data cache (SDC)  31  needs to open data for cache operation (operation to keep a next write-in data)  
         [0056]     First, verify operation of even-numbered pages is performed. The timing chart of verify operation of this even-numbered pages is shown in  FIG. 7 . Although  FIG. 7  shows the timing chart of the even-bit line BLe 0 , the odd-bit line BLo 0 , and the selection circuit SC 0  and the sense amplifier S/A 0  connected to them, the timing chart of verify operation in other bit lines is the same as what is shown in  FIG. 7 .  
         [0057]     Period RCLK in  FIG. 7  is referred to. It is necessary to ground all of the odd-bit lines BLo 0  to BLo (n−1) to VSS for a bit line shield at the time of verify operation of the even-numbered pages. Therefore, BLCRL is set to 0V (VSS). Here, by inputting “High” into BIASo, BLSo and EVEN, (1) when node N 3  of the ABL data cache (ADC)  32  is “Low”, node N 3   n  becomes “High”, and NMOS 1  turns off and NMOS 3  turns on, and thereby data of node N 3  “Low” is transmitted to the odd-bit line BLo 0 . On the other hand, (2) when node N 3  of the ABL data cache (ADC)  32  is “High”, node N 3   n  becomes “Low”, and NMOS 1  turns on and NMOS 3  turns off, and thereby VSS is transmitted to BLo 0  from BLCRL. As a result, regardless of the data held at the ABL data cache (ADC)  32 , VSS can be transmitted to the odd-bit line BLo 0 , and the bit line shield can be realized.  
         [0058]     Next, it is necessary to precharge to the even-bit line BLe 0 . In addition, the primary data cache (PDC)  30  keeps write in data. BIASe and BLSe are set to “High” here. At this time, (1) when node N 1  of the primary data cache (PDC)  30  is “High”, it corresponds to non-writing, and NMOS 0  turns on, and NMOS 2  turns off. Therefore, VSS is charged by the even-bit line BLe 0 . In this case, since it corresponds to non-writing, it is not necessary to sense the potential of the bit line BLe 0 , and since precharge is not needed, it does not cause a problem. On the other hand, (2) when node N 1  of the primary data cache (PDC)  30  is “Low”, NMOS 0  turns off and NMOS 2  turns on. At this time, by setting VPRE to VDD, and inputting “High” into BLPRE and BLCLAMP and turning on NMOS 10  and NMOS 11 , the even-bit line BLe 0  can be precharged to VDD. Then, the data of a memory cell can be distinguished by sensing change of the potential of the even-bit line BLe 0  when making the selection gate (SGS) of the subject memory cell  23  into “High”.  
         [0059]     Next, operation of period SCLK in  FIG. 7  will be explained. In the timing of period EXCLK 1  in  FIG. 7 , by performing operation shown in  FIG. 8 , the data held at the dynamic data cache (DDC)  33  is transmitted to the temporary data cache (TDC)  34  in sequence, and the data of node N 1  held at the primary data cache (PDC)  30  is transmitted to the dynamic data cache (DDC)  33 , and the data held at the temporary data cache (TDC)  34  is transmitted to node N 1  of the primary data cash (PDC)  30 .  
         [0060]     Then, by impressing VDD to VPRE and inputting “High (Vsg)” into BLPRE and turning on NMOS 11 , the temporary data cache (TDC)  34  is precharged with VDD. Then, the even-bit line BLe 0  is sensed by inputting “High” into BLCLAMP and turning on NMOS 10 . Depending on the potential of this even-bit line BLe 0  at this moment, the temporary data cache (TDC)  34  is discharged or is held at the state charged to VDD.  
         [0061]     Then, at the timing of period EXCLK 2  in  FIG. 7 , operation shown in  FIG. 8  is performed again. Regarding the memory cell which performed write in (node N 1  of the primary data cache (PDC)  30  is “Low”), since “Low” is held at the dynamic data cache (DDC)  33 , NMOS 4  does not turn on, the data held at the temporary data cache (TDC)  34  is taken into node N 1  of the primary data cache (PDC)  30 . As a result, since the writing of data is inadequate when (1) the temporary data cache (TDC)  34  holds “Low”, data writing is performed again in the next program operation. On the other hand, since the writing of data is completed when (2) temporary data cache (TDC)  34  holds “High”, writing of data is not performed in the next program operation. Regarding the memory cell which data has already written in or non-writing (node N 1  of the primary data cache (PDC)  30  is “High”), since “High” is held at the dynamic data cache (DDC)  33 , NMOS 4  turns on, and VDD is impressed to VREG, “High” is inputted into REG and NMOS 12  turns on, the temporary data cache (TDC)  34  is automatically charged to VDD. Thereby, “High” is again inputted into node N 1  of the primary data cache (PDC)  30 , and the subject memory cell becomes non-writing in a next program. The period after period SCLK is needed when middle potential (QPW) needs to be written to a bit line.  
         [0062]     Subsequently, verification operation of the odd-numbered page is performed. The timing chart at this time is shown in  FIG. 9 . Although  FIG. 9  shows the timing chart of the even-bit line BLe 0 , the odd-bit line BLo 0  and the selection circuit SC 0  and the sense amplifier S/A 0  connected to them, the timing chart of verify operation in other bit lines is the same as what is shown in  FIG. 9 .  
         [0063]     Period RCLK in  FIG. 9  is referred to. First, the odd-bit line BLo 0  is precharged. BLCRL is set to 0V (VSS). “High” is first inputted into ODD, BIASo and BLSo. (1) When node N 3  of the ABL data cache (ADC)  32  is “Low”, node N 3   n  becomes “High” and NMOS 3  turns on. At this time, by setting VPRE to VDD and inputting “High” into BLPRE and BLCLAMP and turning on NMOS 10  and NMOS 11 , the odd-bit line BLo 0  can be precharged to VDD. On the other hand, (2) when node N 3  of the ABL data cache (ADC)  32  is “High”, node N 3   n  becomes “Low”, NMOS 1  turns on, and VSS is transmitted to the odd-bit line BLo 0  from BLCRL. Since the memory cell corresponds to non-writing at this time and it is not necessary to sense, precharge is no need to perform.  
         [0064]     Regarding verify operation of the odd-bit line BLo 0 , as well as the even-bit line BLe 0 , in order to carry out using the primary data cache (PDC)  30 , it is necessary to replace the data of the primary data cache (PDC)  30  and that of the ABL data cache (ADC)  32 . Then, in period EXCLK 1  in  FIG. 9 , the data of the primary data cache (PDC)  30  and that of the ABL data cache (ADC)  32  is replaced by performing operation shown in  FIG. 10 .  
         [0065]     First, “High” is inputted into DTG, NMOS 9  is turned on and the data of node N 1  of the primary data cache (PDC)  30  is transmitted to the dynamic data cache (DDC)  33 . Next, the data of node N 3  of the ABL data cache (ADC)  32  is transmitted to node N 1  of the primary data cache (PDC)  30  by inputting “High” into BLC 1  and BLC 3 , and turning on NMOS 13  and NMOS 14 . Finally, the data of the dynamic data cache (DDC)  33  is transmitted to node N 3  of the ABL data cache (ADC)  32 , and exchange of the data of the primary data cache (PDC)  30  and the ABL data cache (ADC)  32  is completed.  
         [0066]     In order to perform a bit line shield, it is necessary to ground the even-bit line BLe 0  to VSS. However, since the data of the primary data cache (PDC)  30  is write-in data of the ABL data cache (ADC)  32 , the same method as the time of the shield of the odd-bit line BLo 0  at the time of verify operation of even-bit line mentioned above cannot be performed. Then, VSS is transmitted from BLCRL by inputting “High” into ODD and turning on NMOS 0 . Then, the data of the memory cell can be distinguished by sensing change of the potential of the odd-bit line BLo 0  when making the selection gate (SGS) of the subject memory cell into “High”. However, since the data of the even-numbered pages is held at the ABL data cache (ADC)  32  at this time, depending on such data, NMOS 3  connected to the odd-bit line BLo 0  which is writing in data may not turn on, and the sense of the odd-bit line BLo 0  may not be performed.  
         [0067]     Then, the sense of the odd-numbered page in consideration of the above is explained. By impressing VSS to VPRE, inputting “High” into BLPRE, and turning on NMOS 11  after the end of period EXCLK 1  in  FIG. 9 , the temporary data cache (TDC)  34  is discharged. Next, by performing operation again shown in  FIG. 10  during period EXCLK 2  in period SCLK, the data held at the primary data cache (PDC)  30  is transmitted to the dynamic data cache (DDC)  33 . The data of node N 3  held at the ABL data cache (ADC)  32  is transmitted to the primary data cache (PDC)  30 , and the data held at the dynamic data cache (DDC)  33  is transmitted to node N 3  of the ABL data cache (ADC)  32  successively. By doing this, the data of the even-numbered pages return to the primary data cache (PDC)  30 , and the data of the odd-numbered pages return to the ABL data cache (ADC)  32 . By returning the data of the odd-numbered pages to the ABL data cache (ADC)  32 , NMOS 3  connected to the odd-bit line BLo 0  to be sensed turns on.  
         [0068]     Then, by impressing VDD to VPRE and inputting “High” into BLPRE and turning on NMOS 11 , the temporary data cache (TDC)  34  is precharged by VDD. And the odd-bit line BLo 0  is sensed by inputting “High” into BLCLAMP and turning on NMOS 10 . Depending on the potential of the odd-bit line BLo 0  at this time, the temporary data cache (TDC)  34  is discharged, or the state that it is charged at VDD is held. Then, operation in  FIG. 11  is performed in period EXCLK 3  in  FIG. 9 . Regarding the memory cell which performs write in (node N 3  of the ABL data cache (ADC)  32  is “Low”), since “Low” is held at the dynamic data cache (DDC)  33 , NMOS 4  does not turn on, the data held at the temporary data cache (TDC)  34  is downloaded to node N 3  of the ABL data cache (ADC)  32 . As a result, (1) when node N 3  of the ABL data cache (ADC)  32  holds “Low” since the writing of data is inadequate, data is again written in the next program operation. On the other hand, (2) when node N 3  of the ABL data cache (ADC)  32  is “High”, since the writing of data is completed, data writing is not performed in the next program operation. In the non-writing in memory cell originally (node N 3  of the ABL data cache (ADC)  32  is “High”), since “High” is held at the dynamic data cache (DDC)  33 , Since NMOS 4  turns on, and VDD is impressed to VREG, and “High” is inputted into REG and NMOS 12  turns on, the temporary data cache (TDC)  34  is automatically charged to VDD. Thereby, “High” is again inputted into node N 3  of the ABL data cache (ADC)  32 , and the subject memory cell will be non-writing also in a next program.  
         [0069]     In this embodiment, although the dynamic data cache (DDC)  33  is connected to the primary data cache (PDC)  30 , the dynamic data cache (SDC)  33  may be connected to the ABL data cache (ADC)  32 . In addition, both of the primary data cache (PDC)  30  and the ABL data cache (ADC) may have one dynamic data cache (DDC)  33 . Thereby, operations including QPW will be possible.  
         [0070]     As mentioned above, in the nonvolatile semiconductor memory  10  of one embodiment of this invention concerning this embodiment, after writing in data simultaneously in the even-bit lines and the odd-bit lines, it is possible to perform verify operation of the even-numbered pages and verify operation of the odd-numbered pages continuously. The nonvolatile semiconductor memory  10  of one embodiment of this invention concerning this embodiment suppresses the increase in the occupation area by an additional circuit as much as possible and effective write-in speed of the nonvolatile semiconductor memory is improved.  
       EXAMPLE 1  
       [0071]     Next, another example of the nonvolatile semiconductor memory of one embodiment of this invention is explained. The nonvolatile semiconductor memory of one embodiment of this invention concerning this embodiment changes the circuit structure of the sense amplifier  19  and the selection circuit  20  in the nonvolatile semiconductor memory  10  explained in the above-mentioned embodiment.  
         [0072]      FIG. 12  shows the circuit structure of the selection circuit  20  and the sense amplifier  19  of the nonvolatile semiconductor memory  10  of one embodiment of this invention concerning this embodiment. Although  FIG. 12  typically shows the sense amplifier SA 0  and the selection circuit SC 0  connected to the even-bit line BLe 0  and the odd-bit line BLo 0  for convenience of the drawing, the same circuit structure applies to other sense amplifier SA 1  to SA (n−1) and selection circuits SC 1  to SC (n−1). In addition, since other circuits which constitute the nonvolatile semiconductor memory  10  are the same as that of what is explained in the above-mentioned embodiment, it does not explain anew here.  
         [0073]     Compared with the selection circuit SC 0  shown in  FIG. 6  explained in the above-mentioned embodiment, the selection circuit SC 0  of this embodiment changes part of N channel type transistors to P channel type transistor, and thereby the whole number of elements is decreased. The selection circuit SC 0  of this embodiment has the N channel type transistors (NMOS 0  to NMOS 3 , NMOS 22  to NMOS 25 ), the P channel type transistors (PMOS 0 , PMOS 1 ) and the capacity C 2 . Since the circuit structure of the sense amplifier S/A 0  is as same as that of what is explained in  FIG. 6 , it is not explained anew here.  
         [0074]     Here, write-in operation (program operation) of the data of the nonvolatile semiconductor memory  10  of one embodiment of this invention concerning this embodiment is explained. First, write-in data is transmitted to the primary data cache (PDC)  30  and the ABL data cache (ADC)  32 . Next, the data held at the primary data cache (PDC)  30  and the ABL data cache (ADC)  32  are transmitted to the bit line BLe 0  or BLo 0 . At this time, when data “0 (Low)” is written in, VSS is transmitted. When data “1 (High)” is written in, VDD is transmitted and precharge is performed. Here, as same as the above-mentioned embodiment, the data of the primary data cache (PDC)  30  will be transmitted to the even-bit line BLe 0 , and the data of the ABL data cache (ADC)  32  will be transmitted to the odd-bit line BLo 0 .  
         [0075]     Here, operation that the data held at the primary data cache (PDC)  30  and the ABL data cache (ADC)  32  is transmitted to the bit line BLe 0  or BLo 0  is explained in detail. First, BLSe and BLSo are set to “High”. In addition, BLCRL is set to VDD. (1) when node N 1  of the primary data cache (PDC)  30  is “Low” at this time, node N 1   n  becomes “High”, and NMOS 0  turns on, and PMOS 0  turns off. Here, by impressing VSS to VPRE and inputting “High” into BLPRE and turning on NMOS 11 , “Low (in this embodiment, VSS)” can be transmitted to the even-bit line BLe 0 . On the other hand, (2) when node N 1  of the primary data cache (PDC)  30  is “High”, node N 1   n  becomes “Low” and PMOS 0  turns on. Since the potential of BLCRL is VDD at this time, VDD is inputted and precharged to the even-bit line BLe 0 .  
         [0076]     (3) When node N 3  of the ABL data cache (ADC)  32  is “Low”, node N 3   n  becomes “High”, and NMOS 1  turns on, and PMOS 1  turns off. At this time, by impressing VSS to VPRE and inputting “High” to BLPRE and turning on NMOS 11 , VSS can be transmitted to the odd-bit line BLo 0 . On the other hand, (4) when node N 3  of the ABL data cache (ADC)  32  is “High”, node N 3   n  becomes “Low” and PMOS 1  turns on. Since the potential of BLCRL is VDD at this time, VDD is inputted and precharged to the odd-bit line BLo 0 .  
         [0077]     The above operation will be performed in all the bit lines of even number and odd number. Then, by impressing writing voltage (Vpgm) to the word line WL that the memory cell which writes in data is connected, writing in can be performed simultaneously to all the memory cells on one page connected to all the even-bit lines and odd-bit lines, and write-in speed can be improved.  
         [0078]     Next, verify operation at the time of writing in data is explained. As already stated, the nonvolatile semiconductor memory  10  of one embodiment of this invention concerning this embodiment adopts the voltage sense method, since the influence by coupling of the mutually adjoining bit lines is large and all the bit lines cannot be read simultaneously, verification operation is continuously performed by every even-numbered page and odd-numbered page. Immediately after program operation, the primary data cache (PDC)  30  and the ABL data cache (ADC)  32  holds write in data. The secondary data cache (SDC)  31  needs to open data for cache operation (operation keeping next write-in data).  
         [0079]     First, verify operation of the even-numbered pages is performed. The timing chart of verify operation of this even-numbered pages is shown in  FIG. 13 . Although  FIG. 13  shows the timing chart in the even-bit line BLe 0 , the odd-bit line BLo 0 , the selection circuit SC 0  and the sense amplifier S/A 0  connected to the even-bit line BLe 0  and the odd-bit line BLo 0 , the timing chart of verify operation in other bit lines is the same as that of what is shown in  FIG. 13 .  
         [0080]     Period RCLK in  FIG. 13  is referred to. When verifying the even-numbered pages, it is necessary to ground the odd-bit lines BLo 0  to BLo (n−1) to VSS for the bit line shield. Therefore, BLCRL is set to 0V (VSS) and BIASo is turned on. By this, PMOS 1  turns on, the odd-bit line BLo 0  is set to VSS, and the bit line shield can be realized.  
         [0081]     Next, it is necessary to precharge to the even-bit line BLe 0 . The primary data cache (PDC)  30  holds write in data. Here, BLSe is set to “High”. (1) When node N 1  of the primary data cache (PDC)  30  is “High” at this time, it corresponds to non-writing, and node N 1   n  becomes “Low”, and PMOS 0  turns on, and NMOS 0  turns off. Therefore, VSS is charged to the even-bit line BLe 0 . In this case, since it corresponds to non-writing, it is not necessary to sense the potential of the even-bit line BLe 0 , and since precharge is not needed, it does not cause a problem. On the other hand, (2) when node N 1  of the primary data cache (PDC)  30  is “Low”, node N 1   n  becomes “High”, and PMOS 0  turns off, and NMOS 0  turns on. At this time, by impressing VDD to VPRE and inputting “High” into BLPRE and BLCLAMP and turning on NMOS 10  and MOS 11 , the even-bit line BLe 0  can be precharged to VDD. Then, the data of a memory cell can be distinguished by sensing change of the potential of the even-bit line BLe 0  when making the selection gate (SGS) of the subject memory cell  23  into “High”. Since the method of the sense is the same as the method explained in the above-mentioned embodiment, explanation is omitted here.  
         [0082]     Successively, verification operation of the odd-numbered pages is performed. The timing chart at this time is shown in  FIG. 14 . Although  FIG. 14  shows the timing chart in the even-bit line BLe 0 , the odd-bit line BLo 0 , the selection circuit SC 0  and the sense amplifier S/A 0  connected to the even-bit line BLe 0  and the odd-bit line BLo 0 , the timing chart of verify operation in other bit lines is the same as that of what is shown in  FIG. 14 .  
         [0083]     Period RCLK in  FIG. 9  is referred to. First, BLCRL is set to 0V (VSS) and “High” is inputted into BIASe. By this, PMOS 0  turns on, the even-bit line BLe 0  is set to VSS, and the bit line shield can be realized. Next, the odd-bit line BLo 0  is precharged. First, “High” is inputted into BLSo. Here, (1) when node N 3  of the ABL data cache (ADC)  32  is “Low”, node N 3   n  is set to “High”1 and NMOS 1  turns on. At this time, by impressing VDD to VPRE, and inputting “High” into BLPRE, BLCLAMP and ODD, and turning on NMOS 10 , NMOS 11  and NMOS 22 , the odd-bit line BLo 0  can be precharged to VDD. On the other hand, (2) when node N 3  of the ABL data cache (ADC)  32  is “High”, node N 3   n  becomes “Low”, PMOS 1  turns on, and VSS is transmitted to the odd-bit line BLo 0  from BLCRL. Since a cell corresponds to non-writing at this time, it does not cause a problem even if precharge is not performed. Setting BLSo into “Low” turns off NMOS 3 , and the gate voltage of PMOS 1  and NMOS 1  is held by a capacitor including C 2 . Regarding verify operation of odd-bit line BLo 0 , in order to carry out using the primary data cache (PDC)  30  as well as the even-bit line BLe 0 , it is necessary to replace the data of the primary data cache (PDC)  30  and the data of the ABL data cache (ADC)  32 . Since the method of exchange of this data is the same as that of the method explained in the above-mentioned embodiment, it is not explained anew here.  
         [0084]     Then, the data of the memory cell can be distinguished by sensing change of the potential of the odd-bit line BLo 0  when making the selection gate (SGS) of the subject memory cell  23  into “High”. Since the method of a sense is the same as the method explained in the above-mentioned embodiment, its explanation is omitted here.  
         [0085]     In this embodiment, although the dynamic data cache (DDC)  33  is connected to the primary data cache (PDC)  30 , the dynamic data cache (SDC)  33  may be connected to the ABL data cache (ADC)  32 . In addition, both of the primary data cache (PDC)  30  and the ABL data cache (ADC) may have one dynamic data cache (DDC)  33 . Thereby, operations including QPW will be possible.  
         [0086]     As mentioned above, in the nonvolatile semiconductor memory  10  of one embodiment of this invention concerning this embodiment, after writing in data simultaneously in the even-bit line and the odd-bit line, it is possible to perform verify operation of the even-numbered pages and verify operation of the odd-numbered pages continuously. The nonvolatile semiconductor memory  10  of one embodiment of this invention concerning this embodiment suppresses the increase in the occupied area due to an additional circuit as much as possible, and effective write-in speed of the nonvolatile semiconductor memory is improved. Further, in the nonvolatile semiconductor memory of this embodiment, without performing charge and discharge of the bit line from data cache, since charge and discharge can be carried out from VPRE, BLCRL, and BIAS altogether to operate, size of each data cache can be smaller than before.  
       EXAMPLE 2  
       [0087]     The nonvolatile semiconductor memory  10  of one embodiment of this invention explained in the above-mentioned embodiment and the above-mentioned example 1 can perform precharge of the bit line with a pressor voltage to a non-writing cell from BLCRL directly when writing in data from the ABL data cache (ADC)  32  as shown in  FIGS. 6 and 12 . Thereby, voltage higher than VDD can be flowed by connecting BLCRL with an external power supply or a pressor circuit. As a result, higher voltage can be transmitted to the channel to the non-writing in memory cell, and incorrect writing can be decreased. In the example shown in  FIG. 12 , by using a P channel type transistor, as same as the case using an N channel type transistor, voltage can be transmitted while avoiding lowering of voltage by a threshold amount.  
         [0088]     While chip areas are not nearly increased, the nonvolatile semiconductor memory of one embodiment of this invention can realize improvement in the speed of write-in operation, and it can realize speed up of the whole system of a NAND type flash memory. Therefore, according to one embodiment of the present invention, a nonvolatile semiconductor memory, which is cheaper, small size, a high speed and large capacity, can be realized. The nonvolatile semiconductor memory of one embodiment of this invention can be used as memory storage of electronics including a computer, a digital camera, a cellular phone and home electronics.
A nonvolatile semiconductor memory device comprises a memory cell array which a plurality of an electrically rewritable nonvolatile memory cell is arranged and a sense amplifier having first, second and third circuits holding write-in data; and the first circuit receives data from the outside and transmits the data to the second circuit and the third circuit, and the second circuit and the third circuit transmit the data to two adjacent bit lines respectively, and the data is written in simultaneously to a memory cell selected among the nonvolatile memory cells connected to the two adjacent bit lines.