1. Field of the Invention
The present invention relates to a nonvolatile semiconductor memory and its test method, and in particular, to a circuit that sets an initial value for a write voltage and an initial value for an erase voltage both of which are used for a nonvolatile semiconductor memory that carries out verify writes and verify erasures, as well as a test method for this circuit. The present invention is applicable to, for example, a NAND type flash memory.
2. Description of the Related Art
A NAND type flash memory, a kind of nonvolatile semiconductor memory, has been published in documents such as “K. Imamiya et. al. “A 130-mm2 256-Mb NAND Flash with Shallow Trench Isolation Technology”, IEEE J. Solid State Circuits, Vol. 34, pp. 1536-1543, Bov. 1999”.
For such a nonvolatile semiconductor memory, voltage trimming and the redundancy repair of bad cells are carried out during a wafer test sequence.
FIG. 15 is a flow chart showing schematically a wafer test sequence for a conventional NAND type flash memory.
Description will be given of operations performed during the sequence.
In a DC test, contact checks and DC checks for a standby current or the like are conducted. In Vref (reference voltage) trimming, the reference voltage Vref of each chip on a wafer is monitored. Then, a trimming value is calculated which is required to correct the monitored reference voltages to a target value.
Then, Vpgm (write voltage) initial value trimming is carried out. An incremental step pulse programming scheme is employed for the NAND type flash memory to increase a write voltage Vpgm step by step starting with its initial value. This method is described in, for example, “K. D. Suh et. al., “A 3.3 V 32 Mb NAND Flash Memory with Incremental Step Pulse Programming Scheme”, ISSCC Digest of Technical Papers, pp. 128 to 129, February 1995”.
This write method requires the initial value of Vpgm to be optimized so that a write time (or the number of write loops) does not exceed a predetermined time (the number of times). To achieve this, it is necessary to find a block (good block) in a memory cell array on which a write and erasure can be successfully executed. This is because bad cells have not been subjected to a redundancy repair yet.
When a good block is found, the optimum value is determined by executing a write on this block while varying the initial value of Vpgm.
Subsequently, a phase cut for voltage trimming is carried out. During this step, the wafer is transferred to a laser blow apparatus and a phase cut is executed in accordance with the trimming value determined by the Vref trimming and the Vpgm initial value trimming.
Subsequently, bad columns and rows are detected. In this case, bad columns and rows are detected by writing several data patterns in the memory cell array for a redundancy repair.
Then, a redundancy phase cut is carried out. In this case, the wafer is transferred to the laser blow apparatus again and a phase cut for a redundancy repair is executed.
In this flow chart, the phase cut for voltage trimming is carried out before the detection of bad columns and rows because if the detection of bad columns and rows is executed with incorrect internally generated voltages such as Vpgm, it may be impossible to find defects.
The time required for a wafer test sequence such as the one described above is reflected in the cost of the chip. Accordingly, in order to reduce the chip cost, it is necessary to minimize the test time while conducting required tests.
In the above described wafer test sequence, a factor relating to an increased test time is the presence of the phase cut step. Before carrying out a phase cut using a laser blow, the wafer must be removed from the tester and then transferred to the laser blow apparatus. This results in a temporal overhead. In particular, in the above described wafer test sequence, two phase cuts must be executed. Consequently, the overhead is more marked.
The applicant's Jpn. Pat. Appln. KOKAI Publication No. 2001-176290 (Jpn. Pat. Appln. No. 11-351396) “Nonvolatile Semiconductor Device” describes a method of reducing the time required for the phase cut steps.
Further, the applicant has proposed in Jpn. Pat. Appln. KOKAI Publication No. 2002-117699 (Jpn. Pat. Appln. No. 2000-303854) “Nonvolatile Semiconductor Device” that a memory cell array stores information on a trimming value for a write voltage/erase voltage as well as redundancy which information be used for a nonvolatile semiconductor memory is stored in a memory cell array and that when the memory is powered on, the information be retrieved from the memory cell array and stored in a predetermined register, so that when the memory is in a normal operational state, the information on the voltage trimming value and redundancy is stored in this register.
However, in the NAND type flash memory, the initial write or erase voltage is determined on the basis of the results of a test conducted for each chip. Detailed description will be given below of problems with this determination.
FIG. 9 schematically shows a related configuration in order to describe a read/write operation performed by the NAND type flash memory.
In FIG. 9, a memory cell array 11 is composed of NAND cell units arranged in a column direction and a row direction to form a matrix. Each of the NAND cell units is comprised of electrically rewritable nonvolatile memory cells connected in series. Each of the memory cells has a stacked gate type MOS transistor structure in which a control gate and a floating gate are stacked.
The memory cell array 11 is formed on a well area insulated and separated from the other components. To erase data from a memory cell in the memory cell array 11, the following erase method is employed: an erase operation is divided into a plurality of steps so that an erase voltage applied to the well area is increased in increments of a specified value in each step starting with an initial voltage.
The memory cell array 11 is provided with a plurality of word lines and bit lines that cross one another. The plurality of word lines are selectively driven by a decoder output from a row decoder 12.
When data is read, a signal read from a memory cell in the memory cell array 11 is supplied to a page buffer 13 via a bit line. The signal is then sensed in the page buffer 13, and then outputted in unit of column to equipment located outside the chip.
When data is written, a voltage corresponding to externally supplied write data is supplied to a bit line via a page buffer 13 and the data is then written in a selected memory cell.
Word lines in the memory cell array 11 connect a plurality of NAND cell units together. The plurality of NAND cell units constitute a cell block, the minimum unit for a data erasure. A plurality of cell blocks are arranged via common bit lines.
The range of memory cells selected by one word line is called “one page”. A data write operation is performed on the entire page at a time. For example, write data retained in a data register for 512 bytes is written at a time through a bit line.
FIGS. 10A and 10B show a bias relationship observed when data is written in a memory cell (cell transistor) of the NAND type flash memory.
As shown in FIG. 10A, if write data is “00”, a write bias (in this example, 0V) is applied to a well area in a cell transistor. Such a cell transistor to which the write bias is applied has a threshold being shifted to the positive side because electrons are injected into a floating gate (writes are carried out).
As shown in FIG. 10B, if write data is “0”, a write bias is not applied to a well area in a cell transistor, to establish a floating state. Such a cell transistor to which the write bias is not applied maintains a low threshold because no electrons are injected into a floating gate (no writes are carried out).
FIG. 11 shows a bias relationship observed in a memory cell unit when a read is executed on the NAND type flash memory. A voltage of 0 V is applied to a selected word line (in the present example, WL14). A read voltage Vread is applied to unselected word lines (in the present example, WL0 to WL13 and WL15), a gate line SGD for selected gate transistors on a bit line (BL) side, and to a gate line SGS for selected gate transistor on a common source line (SL) side. In this case, it is necessary to turn on the cell transistors for which the read voltage Vread is applied to their unselected word lines (in the present example, WL0 to WL13 and WL15) and the selected gate transistors for which the read voltage Vread is applied to their gate lines.
To achieve this, a threshold for a cell transistor with a data “0” status (written status) must lie between a selected word line voltage (0 V) and an unselected word line voltage (Vread) with a sufficient margin. However, the write characteristic of the cell transistor varies among lots, wafers, chips, and cells within the same chip.
FIG. 12 shows a variation in the threshold for a cell transistor after a write in the case in which an appropriate write bias is applied to the whole chip of the NAND type flash memory. This figure indicates that after a write, the threshold for the cell transistor does not lie between 0 V and Vread with a sufficient margin.
To avoid this situation, a variation in threshold after a write is minimized by using a method called a “verify writes in which when a write is executed on the memory, a write operation and a verify operation are repeated until the verification succeeds.
FIGS. 13 and 14 show a variation in write bias observed when a verify write is executed on the NAND type flash memory.
In the verify write, as shown in FIG. 13, while writes and verifications are being repeated, the write bias (word line voltage) is gradually increased every time a write is carried out. If a write has been executed on any cell at a voltage higher than the verify voltage, then during the next write, the write bias is not applied to this cell.
When the above described verify write is carried out during a test on a nonvolatile memory, the distribution of thresholds obtained after a write is narrow if the write is started with a sufficiently low write bias. However, if the write is started with too low a voltage, a write operation must be repeated a large number of times. This may degrade write performance.
To set the voltage (initial value) with which a verify write is started, it is necessary to set an initial value for the write voltage for each chip or a smaller unit so that the write is finished after a target number of operations because the write characteristic of the memory cell varies among chips as described previously.
However, in the related art, the initial voltage for a verify write or verify erasure is determined on the basis of the results of a test on one write or erase unit. Thus, the initial voltage is not always obtained from a group of memory cells exhibiting a typical write or erase characteristic. Therefore, disadvantageously, the trimming value is inappropriate for the initial voltage.