Memory device and memory system

According to one embodiment, a memory device comprises a first memory cell configured to store data, a first word line connected to the first memory cell, a first circuit configured to supply a voltage to the first word line, a second circuit configured to control the first circuit, and a sequencer configured to control the first circuit and the second circuit. The sequencer, when data is written to the first memory cell, determines whether a condition is satisfied or not. The sequencer causes the second circuit to generate a first voltage, when the sequencer determines that the condition is not satisfied, and causes the second circuit to generate a second voltage which is higher than the first voltage, when the sequencer determines that the condition is satisfied.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is based upon and claims the benefit of priority from prior Japanese Patent Application No. 2017-060387, filed Mar. 27, 2017; the entire contents of which are incorporated herein by reference.

FIELD

Embodiments described herein relate generally to a memory device and a memory system.

BACKGROUND

There is known a NAND flash memory in which memory cells are three-dimensionally arranged.

DETAILED DESCRIPTION

In general, according to one embodiment, a memory device comprises a first memory cell configured to store data, a first word line connected to the first memory cell, a first circuit configured to supply a voltage to the first word line, a second circuit configured to control the first circuit, and a sequencer configured to control the first circuit and the second circuit. The sequencer, when data is written to the first memory cell, determines whether a condition is satisfied or not. The sequencer causes the second circuit to generate a first voltage, when the sequencer determines that the condition is not satisfied, and causes the second circuit to generate a second voltage which is higher than the first voltage, when the sequencer determines that the condition is satisfied.

Embodiments will be described hereinafter with reference to the accompanying drawings. In the description, common parts are denoted by like reference numerals throughout the drawings. In the description below, as an example of a memory device, a three-dimensionally stacked NAND flash memory will be described, which is configured such that memory cell transistors are stacked upward on a semiconductor substrate.

<1> First Embodiment

A memory device according to a first embodiment will be described.

<1-1-1> Configuration of Memory System

To begin with, the schematic configuration of the entirety of a memory system including the memory device according to one embodiment will be described with reference toFIG. 1.

As illustrated inFIG. 1, a memory system1includes a NAND flash memory (memory device)100and a memory controller200. The NAND flash memory100and memory controller200may constitute, for example, a single semiconductor device by the combination thereof. Examples of this single semiconductor device may include a memory card such as an SD™ card, and an SSD (solid state drive).

The NAND flash memory100includes a plurality of memory cells, and stores data nonvolatilely. The memory controller200is connected to the NAND flash memory100by a NAND bus, and is connected to a host device300by a host bus. In addition, the memory controller200controls the NAND flash memory100, and accesses the NAND flash memory100in response to instructions received from the host device300. The host device300may be, for example, a digital camera or a personal computer, and the host bus may be, for example, a bus according to an SD™ interface.

The NAND bus is for sending or receiving signals according to the NAND interface specification. Examples of these signals may include a command latch enable signal CLE, an address latch enable signal ALE, a write enable signal WEn, a read enable signal REn, a ready/busy signal RBn, and an input/output signal DQ.

The signals CLE and ALE are signals which notify the NAND flash memory100that input signals DQ to the NAND flash memory100are a command and an address, respectively. The signal WEn is a signal which is asserted at “L (low)” level, and which causes the NAND flash memory100to acquire input signals DQ. In the description herein, the term “assert” is used to represent that a signal (or a logic) is set in an effective (active) state, and the term “negate”, which is an antonym of “assert”, is used to represent that a signal (or a logic) is set in an ineffective (inactive) state. The signal REn is a signal which is also asserted at “L” level, and which is used to read output signals DQ from the NAND flash memory100. The ready/busy signal RBn is a signal which indicates whether the NAND flash memory100is in a ready state (a state in which the NAND flash memory100can receive an instruction from the memory controller200) or in a busy state (a state in which the NAND flash memory100cannot receive an instruction from the memory controller200), and the “L” level indicates the busy state. The input/output signals DQ are, for example, 8-bit signals. In addition, the input/output signals DQ are a substance of data which is sent/received between the NAND flash memory100and memory controller200, and may be a command, an address, write data, read data, etc.

<1-1-2> Configuration of Memory Controller200

Also referring toFIG. 1, the details of the configuration of the memory controller200will be described. As illustrated inFIG. 1, the memory controller200includes a host interface circuit (HOST I/F)210, a built-in memory (RAM)220, a processor (CPU)230, a buffer memory240, a NAND interface circuit (NAND I/F)250, and an ECC circuit260.

The host interface circuit210is connected to the host device300via the host bus, and transfers instructions and data, which are received from the host device300, to the processor230and buffer memory240, respectively. In addition, according to an instruction of the processor230, the host interface circuit210transfers data in the buffer memory240to the host device300.

The processor230controls operations for the entirety of the memory controller200. For example, upon receiving a write instruction from the host device300, the processor230responds to the write instruction and issues a write instruction to the NAND interface circuit250. The same applies to the cases of read and erase. In addition, the processor230executes various processes, such as wear leveling, for managing the NAND flash memory100.

The NAND interface circuit250is connected to the NAND flash memory100via the NAND bus, and manages communications with the NAND flash memory100. In addition, according to instructions received from the processor230, the NAND interface circuit250outputs the signals ALE, CLE, WEn and REn to the NAND flash memory100. Besides, at the time of writing, the NAND interface circuit250transfers a write command which is issued by the processor230, as well as a write data in the buffer memory240, to the NAND flash memory100as input/output signals DQ. Furthermore, at the time of reading, the NAND interface circuit250transfers a read command, which is issued by the processor230, to the NAND flash memory100as the input/output signals DQ, and also receives, as input/output signals DQ, a data which is read from the NAND flash memory100, and transfers this data to the buffer memory240.

The buffer memory240temporarily stores write data and read data.

The internal memory220is a semiconductor memory such as a DRAM, and is used for a working space of the processor230.

In addition, the internal memory220stores firmware for managing the NAND flash memory100, various kinds of management tables, etc.

The ECC circuit260executes an Error Checking and Correcting (ECC) process for a data. Specifically, at the time of data writing, the ECC circuit260generates a parity based on the write data. At the time of data reading, the ECC circuit260detects an error and corrects this error by generating a syndrome from parity. The CPU230may include the functions of the ECC circuit260.

<1-1-3> Configuration of NAND Flash Memory100

<1-1-3-1> Entire Configuration of NAND Flash Memory100

Next, the configuration of the NAND flash memory100will be described. As illustrated inFIG. 1, the NAND flash memory100includes a memory cell array110, row decoders120(R/D120-0to120-3), a driver circuit130, a sense amplifier140, an address register150, a command register160, a sequencer170, and a status register180.

The memory cell array110includes a plurality of blocks BLK (e.g. BLK0to BLK3inFIG. 1) each including a plurality of nonvolatile memory cells which are arranged in rows and columns. In addition, the memory cell array110stores data which are delivered from the memory controller200.

The row decoders120-0to120-3are associated with the blocks BLK0to BLK3, respectively, and select the corresponding blocks.

The driver circuit130outputs a voltage to a selected one of the blocks BLK0to BLK3via the row decoders120-0to120-3.

At the time of data reading, the sense amplifier140senses a data which is read from the memory cell array110, and outputs this data DAT to the memory controller200. At the time of data writing, the sense amplifier140transfers a write data DAT, which is received from the memory controller200, to the memory cell array110.

The address register150stores an address ADD which is received from the memory controller200. The command register160stores a command CMD which is received from the memory controller200.

The sequencer170controls operations for the entirety of the NAND flash memory100, according to a command CMD which is stored in the command register160.

The status register180stores status information, etc. associated with the NAND flash memory100. Specifically, the status register180may store a program loop number, an erase loop number, etc., which will be described later.

Next, the details of the configuration of the memory cell array110will be described.FIG. 2is a circuit diagram of any one of the blocks BLK (e.g.0-3). The other blocks BLK have the same configuration.

As illustrated inFIG. 2, the block BLK includes a plurality of string units SU (e.g. SU0to SU3inFIG. 2). In addition, each string unit SU includes a plurality of NAND strings111.

Each of the NAND strings111includes a plurality of memory cell transistors MT (e.g. MT0to MT47inFIG. 2), and select transistors ST (ST1and ST2).

A memory cell transistor MT includes a stacked gate including a control gate and a charge storage layer, and stores a data nonvolatilely. The number of memory cell transistors MT is not limited to 48, and may be 16, 32, 64, 128, etc. The number of memory cell transistors MT may not be particularly limited. Memory cell transistors MT are disposed such that the memory cell transistors MT are connected in series between the select transistors ST1and ST2. One end of the memory cell transistor MT47, which is located on one end side among the memory cell transistors MT connected in series, is connected to one end of the select transistor ST1. One end of the memory cell transistor MT0, which is located on the other end side among the memory cell transistors MT connected in series, is connected to one end of the select transistor ST2.

The gates of the select transistors ST1in each of the string units SU0to SU3are commonly connected to each of select gate lines SGD0to SGD3. On the other hand, the gates of the select transistors ST2of the plural string units are commonly connected to the same select gate line SGS. In addition, the control gates of the respective memory cell transistors MT0to MT47in the same block are commonly connected to respective word lines WL0to WL47.

Specifically, while the word lines WL0to WL47and the select gate line SGS respectively have common connections between the plural string units SU0to SU3in the same block BLK, the select gate lines SGD are independent for each of the string units SU0to SU3, even in the same block.

In addition, the other ends of the select transistors ST1of the NAND strings111positioned in the same row, among the NAND strings111disposed in a matrix in the memory cell array110, are connected to each of bit lines BL (BL0to BL(L−1); L is a natural number of two or more). Specifically, each of the bit lines BL commonly connects the NAND strings111between the plural string units SU, and also commonly connects the NAND strings111between the plural blocks BLK. Besides, the other ends of the select transistors ST2are commonly connected to a source line SL. The source line SL commonly connects the NAND strings111, for example, between the plural blocks.

Data read and data write are executed in batches for the plural memory cell transistors MT which are commonly connected to any one of the word lines WL, in any one of the string units SU in any one of the blocks.

Data erase can be executed in units of a block BLK, or by a unit smaller than the block BLK. The method of erase is disclosed, for example, in U.S. patent application Ser. No. 13/235,389 filed Sep. 18, 2011 and entitled “NONVOLATILE SEMICONDUCTOR MEMORY DEVICE”. In addition, the method of erase is disclosed in U.S. patent application Ser. No. 12/694,690 filed Jan. 27, 2010 and entitled “NON-VOLATILE SEMICONDUCTOR STORAGE DEVICE”. Besides, the method of erase is disclosed in U.S. patent application Ser. No. 13/483,610 filed May 30, 2012 and entitled “NONVOLATILE SEMICONDUCTOR MEMORY DEVICE AND DATA ERASE METHOD THEREOF”. The entirety of these patent applications is incorporated in the present specification by reference.

<1-1-3-3> Cross Section of Partial Region of Block BLK

Referring toFIG. 3, a cross section of a portion of the block BLK will be described. As illustrated inFIG. 3, a plurality of NAND strings111are formed on a p-well region20. Specifically, for example, four interconnect layers27functioning as select gate lines SGS,48interconnect layers23functioning as word lines WL0to WL47, and, for example, four interconnect layers25functioning as select gate lines SGD are stacked in a third direction in turn on the well region20. Insulating films (not shown) are formed between the stacked interconnect layers.

Pillar-shaped semiconductor members31, which extend in the third direction, are provided on the well region20. Gate insulating films30, charge storage layers (insulating films)29and block insulating films28are formed on side surfaces of the semiconductors31in pillar-shaped structures In addition, the interconnect layers25,23and27are provided on the side surfaces of the pillar-shaped structures, and the memory cell transistors MT and select transistors ST1and ST2are formed by those elements. The semiconductor members31function as current paths for the NAND strings111, and serve as regions where a channel of each transistor is formed. In addition, upper ends of the semiconductor members31are connected to a metal interconnect layer32functioning as a bit line BL.

An n+-type impurity diffusion layer33is provided in a surface region of the well region20. A contact plug35is formed on the diffusion layer33, and the contact plug35is connected to a metal interconnect layer36functioning as a source line SL. Further, a p+-type impurity diffusion layer34is formed in a surface region of the well region20. A contact plug37is formed on the diffusion layer34, and the contact plug37is connected to a metal interconnect layer38functioning as a well interconnect CPWELL. The well interconnect CPWELL is an interconnect for applying a potential to the semiconductor members31via the well region20.

A plurality of the above-described structures are arranged in a second direction (perpendicular to the third direction), and the string units SU are formed by sets of NAND strings111which are arranged in the second direction.

Besides, the memory cell array110may have other configurations. Specifically, a configuration of the memory cell array110is disclosed, for example, in U.S. patent application Ser. No. 12/407,403 filed Mar. 19, 2009 and entitled “THREE DIMENSIONAL STACKED NONVOLATILE SEMICONDUCTOR MEMORY”. In addition, configurations of the memory cell array110is disclosed in U.S. patent application Ser. No. 12/406,524 filed Mar. 18, 2009 and entitled “THREE DIMENSIONAL STACKED NONVOLATILE SEMICONDUCTOR MEMORY”, U.S. patent application Ser. No. 12/679,991 filed Mar. 25, 2010 and entitled “NONVOLATILE SEMICONDUCTOR STORAGE DEVICE AND MANUFACTURING METHOD THEREOF”, and U.S. patent application Ser. No. 12/532,030 filed Mar. 23, 2009 and entitled “SEMICONDUCTOR MEMORY AND METHOD FOR MANUFACTURING SAME”. The entirety of these patent applications is incorporated in the present specification by reference.

Next, the configuration of the row decoder120will be described with reference toFIG. 4.

As illustrated inFIG. 4, the row decoder120includes sets of a block decoder40and high breakdown voltage n-channel MOS transistors50(50-0to50-52). The high breakdown voltage n-channel MOS transistors50are also referred to as “transfer transistors”.

To begin with, the block decoder40is described. At the times of data writing, reading and erasing, the block decoder40decodes a block address BA which is received from the address register150. Then, when the block address BA identifies corresponding one of the blocks BLK, a signal VRDEC is asserted. The potential of the asserted signal VRDEC (which may also be denoted by BLKSEL) is such an amount of voltage as to set the transistor50in the ON state. On the other hand, when the block address BA does not identify this corresponding block BLK, the signal VRDEC is negated. The potential of the negated signal VRDEC is such an amount of voltage as to set the transistor50in the OFF state (e.g. 0 V).

Next, the transistors50are described. The transistors50-0to50-47conduct voltages to the word lines WL0to WL47of the selected block BLK, respectively. Each of the transistors50-0to50-47is connected at one end to each of the word lines WL0to WL47of the corresponding block BLK, and is connected at the other end to each of signal lines CG0to CG47. The signal VRDEC is supplied to the gates of the transistors50-0to50-47.

The transistors50-48to50-51conduct voltages to the select gate lines SGD0to SGD3of the selected block BLK. Each of the transistors50-48to50-51are connected at one end to each of the select gate lines SGD0to SGD3of the selected block BLK, and are connected at the other end to each of signal lines SGDD0to SGDD3. The signal VRDEC is supplied to the gates of the transistors50-48to50-51.

The transistor50-52conduct a voltage to the select gate line SGS of the selected block BLK. One end of the transistor50-52is connected to the select gate line SGS of the corresponding block BLK, and the other end of the transistor50-52is connected to a signal line SGSD. The signal VRDEC is supplied to the gate of the transistor50-52.

Accordingly, for example, in the row decoder120corresponding to the selected block BLK, the transistors50-0to50-52are set in the ON state. Thereby, the word lines WL0to WL47are connected to the signal lines CG0to CG47, the select gate lines SGD0to SGD3are connected to the signal lines SGDD0to SGDD3, and the select gate line SGS is connected to the signal line SGSD.

On the other hand, in the row decoders120corresponding to unselected blocks BLK, the transistors50-0to50-52are set in the OFF state. Thereby, the word lines WL, select gate lines SGD and select gate line SGS are electrically disconnected from the signal lines CG, SGDD and SGSD.

The signal lines CG, SGDD and SGSD are commonly used by the row decoders120-0to120-3. In addition, the driver circuit130applies voltages to the signal lines CG, SGDD and SGSD, in accordance with a page address PA received from the address register150. Specifically, the voltages, which are output from the driver circuit130, are conducted to the lines WL, SGD and SGS in the selected block via the transistors50in any one of the row decoders120, which corresponds to the selected block.

The driver circuit130includes at least a CG driver131, an SGS driver132, an SGD driver133, and a TSF driver134. The CG driver131supplies signals to the signal lines CG. The SGS driver132supplies a signal to the signal line SGSD. The SGD driver133supplies signals to the signal lines SGDD. The TSF driver134supplies the signal VRDEC.

In this example, for the purpose of simplicity, one set of transistors50(transistors50-0to50-52) is provided in one row decoder120. However, a plurality of transistors50may be provided in series.

<1-1-3-5> CG Driver and TSF Driver

The TSF driver134includes a first driver1340. Based on a control signal from the sequencer170, the first driver1340supplies a voltage VPGMHL or VPGMHH (VPGMHL<VPGMHH) as a signal VBST (or VRDEC) to the CG driver131and row decoder120via a node N1.

The CG driver131includes a plurality of high breakdown voltage n-channel MOS transistors1310(e.g.1310-0to1310-47inFIG. 5) which correspond to the signal lines CG, and a first level shifter1311. The first level shifter1311supplies the voltage VPGMHL or VPGMHH, which is supplied via the node N1, to the transistors1310as the signal VBST.

The transistors1310conduct voltages to the signal lines CG. One end of each of the transistors1310is connected to each of the signal lines CG. A voltage is applied to the other end of each of the transistor1310, and the signal VBST is supplied to the gate of the transistor1310. InFIG. 5, for the purpose of simplicity, only the transistors1310for conducting or transferring the voltage VPGM are illustrated. However, the aspect is not limited to this, and high breakdown voltage n-channel MOS transistors for applying various kinds of voltages to the signal lines CG may be provided. The high breakdown voltage n-channel MOS transistors1310are also referred to as “transfer transistors.”

In this example, for the purpose of simplicity, one of the transistors1310is connected to one signal line CG. However, a plurality of transistors1310may be connected in series to one signal line CG.

<1-1-3-6> First Driver

The first driver1340includes high breakdown voltage n-channel MOS transistors1340-0, and1340-1. The voltage VPGM is supplied to one end of the transistor1340-0via a node N2. The other end and gate of the transistor1340-0are connected to a node N1. The voltage VPGMH is supplied to the other end and gate of the transistor1340-0via a node N1. The transistor1340-0operates as a diode transistor. One end of the transistor1340-1is connected to the node N2, and the other end of the transistor1340-1is connected to the node N1. A signal VPH is supplied to a gate of the transistor1340-1.

The signal VPH is supplied by the sequencer170.

In the case of generation of the voltage VPGMHL, the sequencer170sets the signal VPH at “H (H>L)” level. More specifically, the sequencer170sets the voltage of the signal VPH and the voltage of the Node N1the same. Thus, the transistor1340-1operates as a diode transistor. Thereby, the first driver1340supplies the voltage VPGMHL to the node N1.

In the case of generation of the voltage VPGMHH, the sequencer170sets the signal VPH at “H” level. For example, the sequencer170sets the voltage of the signal VPH at 0V. Thus the transistor1340-1is turned off. In the case of generation of the voltage VPGMHH, the number of the transistors which are turned on is smaller than that in the case of generation of the voltage VPGMHL. Thereby, in the case of generation of the voltage VPGMHH, the potential difference of the node N1and the node N2of the first driver1340is larger than that in the case of generation of the voltage VPGMHL. Thereby, the first driver1340supplies the voltage VPGMHH to the node N1.

In the meantime, although the embodiment in which the first driver1340includes the two transistors1340-0, and1340-1is described here for the purpose of simplicity, the embodiment is not limited to this. If the first driver1340is configured to selectively generate the voltage VPGMHL and voltage VPGMHH, the first driver1340may have any circuit configuration.

How the sequencer170selects the voltage VPGMHL or the voltage VPGMHH will be described later.

Referring toFIG. 7, a description is given of a flowchart of a write operation (S1000).

In the meantime, the write operation includes program and program verify. The program is an operation of injecting electrons into the charge storage layer of a selected memory cell transistor. The program verify is an operation of confirming whether the program has been completed or not.

The sequencer170determines whether a write command is received from the memory controller200.

If the sequencer170determines that the write command is received from the memory controller200(i.e. step S1001, Yes), the sequencer170determines whether a program loop number, which is stored in the status register180, is equal to or less than a first value. The first value may be preset, or may be arbitrarily set by a user. The program loop number is a program loop number associated with the latest write operation (an immediately preceding write operation) among the write operations having executed before the reception of the write command in step S1001.

If the sequencer170determines that the program loop number is not equal to or less than the first value (i.e. step S1002, No), the sequencer170sets the signals VBST and VRDEC in the program to the voltage VPGMHL. Specifically, in the program, the sequencer170sets the signal VPH at “H” level, sets the signal VPHL at “H” level, and sets the signal VPHH at “L” level.

If the sequencer170determines that the program loop number is equal to or less than the first value (i.e. step S1002, Yes), the sequencer170sets the signals VBST and VRDEC in the program to the voltage VPGMHH. Specifically, in the program, the sequencer170sets the signal VPH at “H” level, sets the signal VPHL at “L” level, and sets the signal VPHH at “H” level.

The sequencer170executes the program.

Referring toFIG. 8, typical operational waveforms of the program will be described.

Based on the signal from the sequencer170, the TSF driver134raises the signals VBST and VRDEC to the voltage VPGMHL (VSS<VPGMHL) or the voltage VPGMHH (VPGMHL<VPGMHH). The voltage VPGMHL or the voltage VPGMHH is a voltage which sets the transistors50and1310in the ON state.

At time T1, the row decoder120selects a block BLK in accordance with a block address BA which is delivered from the address register150. In addition, the row decoder120applies a voltage VSGD_PROG (e.g. VSS<VSGD_PROG<VPGMHL) to a selected select gate line SGD_SEL, applies a voltage VSGS to a selected select gate line SGS_SEL and unselected select gate lines SGS_USEL, and applies a voltage VSS to unselected select gate lines SGD_USEL. The voltage VSGD_PROG is a voltage which sets the select transistor ST1in the ON state.

At time T1, the sense amplifier140applies, for example, a voltage VSS to a write bit line BL_prog which injects electrons in the charge storage layer29of the memory cell transistor MT, and applies a voltage VDD (VSS<VDD<VSGD_PROG) to non-write bit lines BL_inhibit which suppress injection of electrons into the charge storage layers29of memory cell transistors MT.

Subsequently, at time T2, the row decoder120applies a voltage VSGD (VSS<VSGD<VSGD_PROG) to the selected select gate line SGD_SEL. The voltage VSGD is a voltage which enables the select transistor ST1to conduct the voltage VSS, but disables the select transistor ST1to conduct the voltage VDD.

Accordingly, the select transistors ST1, which correspond to the non-write bit lines BL_inhibit, enter the cut-off state.

Next, at time T3, the row decoder120applies a voltage VPASS (VSGD<VPASS<VPGMHL) to the word lines WL (WL_SEL and WL_USEL).

Subsequently, the row decoder120raises the voltage, which is applied to the plural selected word lines WL_SEL, from the voltage VPASS to the voltage VPGM (VPASS<VPGM<VPGMHL). Thereby, electrons are injected in the selected memory cell transistors which are connected to the selected word lines WL_SEL. The voltage VPGM is appropriately varied in accordance with data to be written or the number of times of program.

After the selected memory cell transistors are programmed in the period of time T4to time T5, the row decoder120lowers, in the period from time T5to time T6, the voltages of the word lines WL and the selected select gate line SGD_SEL to a several voltage, and the sense amplifier140lowers the voltage of the non-write bit lines BL_inhibit to the voltage VSS. Based on the signal from the sequencer170, the TSF driver134lowers the signals VBST and VRDEC to the voltage VSS. Thereby, the program is finished.

As illustrated inFIG. 7, the sequencer170executes the program verify, after the program is finished.

Referring toFIG. 9, a description is given of typical operational waveforms of the program verify. The waveforms illustrated inFIG. 9may also be applicable to an erase verify operation which will be described later.

Based on the signal from the sequencer170, the TSF driver134raises the signals VBST and VRDEC to a voltage VREADH (VSS<VREADH). The voltage VREADH is a voltage which sets the transistors50and1310in the ON state.

At time T8, the row decoder120applies a voltage VSG (e.g. VSS<VSG<VREADH) to the selected select gate lines SGD_SEL and SGS_SEL, applies a voltage VSS to the unselected select gate lines SGD_USEL and SGS_USEL, and applies a voltage VREAD (VSS<VREAD<VREADH) to the unselected word lines WL_USEL. The voltage VSG is a voltage which sets the select transistor ST1in the ON state.

At time T8, the sense amplifier140applies, for example, a voltage VBL (VSS<VBL<VREAD) to the bit lines BL (BL_prog and BL_inhibit).

At time T9, the row decoder120applies a voltage VPVFY (VSS<VPVFY<VREAD) to the selected word line WL_SEL. In addition, the sense amplifier140reads data of the selected memory cell transistors. Thereby, it is determined whether the selected memory cell transistors pass the program verify or fail the program verify.

The row decoder120lowers the potentials of the selected select gate lines SGD_SEL and SGS_SEL to the voltage VSS, and the sense amplifier140lowers the potentials of the bit lines BL to the voltage VSS. Based on the signal from the sequencer170, the TSF driver134lowers the signals VBST and VRDEC to the voltage VSS.

Thereby, the program verify is finished.

As illustrated inFIG. 7, the sequencer170determines whether the result of the program verify is “pass” or not. To be more specific, the sequencer170determines whether the number of fail bits which are determined to be “fail” by the program verify is equal to or more than a preset value. If the number of fail bits is less than the preset value, the sequencer170determines that the result of the program verify is “pass”. This preset value corresponds to, for example, the number of bits which cannot be recovered by the ECC circuit260. This preset value is stored, for example, in the status register180. Specifically, such a configuration may be adopted that this preset value is stored, for example, in the memory cell array110, and this preset value is read out into the status register180when the NAND flash memory100is activated. That is, the sequencer170compares the preset value stored in the status register180with the number of fail bits. If the sequencer170determines that the result of the program verify is “pass” (i.e. step S1007, Yes), the sequencer170terminates the write operation.

If the sequencer170determines that the result of the program verify is not “pass” (i.e. step S1007, No), the sequencer170determines whether a repetition number (a program loop number) of the program is equal to or more than a second value. This second value is stored, for example, in the status register180. Specifically, such a configuration may be adopted that this second value is stored, for example, in the memory cell array110, and the second value is read out into the status register180when the NAND flash memory100is activated. That is, the sequencer170compares the second value stored in the status register180with the program loop number of the program. If the sequencer170determines that the program loop number is equal to or more than the second value (i.e. step S1008, Yes), the sequencer170terminates the write operation.

For example, in some cases, there may exist a memory cell transistor in which data cannot correctly be written even if the program is executed many times. It is not preferable that the program is repeated until such a memory cell transistor passes the verify. Thus, by setting the loop number of the program in this step, an unnecessary loop of the program can be avoided.

If the sequencer170determines that the program loop number is not equal to or more than the second value (i.e. step S1008, No), the sequencer170counts up the program loop number (NWn_Loop). For example, the program loop number is stored in the status register180or the like. Besides, the count of the program loop number may be executed by the sequencer170, or may be executed by other configuration.

In addition, after counting up the loop number, the sequencer170increments the voltage VPGM, which is used in the program, by a voltage DVPGM. Then, the sequencer170repeats step S1005.

In the meantime, the order of execution of step S1008and step S1009may be reversed. In this case, the second value in step S1008increases by “1”. In the description below, in other operations including step S1008and step S1009, the order of execution of step S1008and step S1009may similarly be reversed.

<1-2-2> Command Sequence

Referring toFIG. 10, a command sequence in the write operation will be described. As illustrated inFIG. 10, the memory controller200first issues a write command AAH, and asserts the signal CLE (“H” level). Subsequently, the memory controller200issues addresses (ADD: column address, row address) over, for example, five cycles, and asserts the signal ALE (“H” level). The above-described command and addresses are stored, for example, in the command register160and the address register150, respectively.

Next, the memory controller200outputs write data Din over plural cycles. During this period, the signals ALE and CLE are negated (“L” level). The write data Din, which are received by the NAND flash memory100, are stored in a page buffer (not shown) in the sense amplifier140.

Next, the memory controller200issues a write command “BBH” and asserts the signal CLE. Responding to storing of the command “BBH” in the command register160, the sequencer170starts the write operation (S1000), and the NAND flash memory100enters the busy state (RBn=“L”). Each time the memory controller200issues a signal such as a command, address and data, the memory controller200asserts the signal WEn (“L” level). In addition, each time the signal WEn is toggled, the signal is taken in the NAND flash memory100.

According to the above-described embodiment, the sequencer170changes the control voltage to the transfer transistor which conducts the voltage to the word line WL, in accordance with the program loop number. Thereby, it can cause the transfer transistor to appropriately conduct the voltage.

The advantageous effects of the above-described embodiment will be described. In the NAND flash memory100according to this embodiment, desired voltages are applied to the word lines WL via the plural transfer transistors.

Specifically, as illustrated inFIG. 11, the voltage VPGM is applied to the word line WL via the transistor1310provided in the driver circuit130and the transistor50-0provided in the row decoder120.

As illustrated inFIG. 12, in order to conduct or transfer the voltage VPGM, a voltage VPGMH, which is higher than the voltage VPGM, needs to be applied to the gate of the transfer transistor. However, due to various factors (e.g. degradation of the transfer transistor), it is possible that the threshold of the transfer transistor rises, and the voltage VPGM may not properly be conducted. Thus, it is considered that the voltage VPGMH may be preset to a higher voltage VPGMHH. In this case, however, the load on the gate of the transfer transistor increases and degradation of the transfer transistor may be advanced. As a result, the threshold of the transfer transistor rises, and the voltage VPGM may not properly be conducted or transferred. The threshold means a voltage which is necessary for setting a transistor in the ON state.

Thus, in the method as illustrated inFIG. 12, if the write operations are repeated, such an issue may likely arise that the proper voltage cannot be conducted to the word line WL.

Taking the issue into account, in the present embodiment, as illustrated inFIG. 13, before the transfer transistor is degraded (i.e. in the state in which the threshold is low), the sequencer170applies the voltage VPGMHL, which is lower than the voltage VPGMHH, to the gate of the transfer transistor. After the transfer transistor is degraded (i.e. in the state in which the threshold is high), the sequencer170applies the voltage VPGMHH to the gate of the transfer transistor.

In the memory cell transistor, there is a tendency that the program loop number becomes smaller as the number of times of write (or the number of times of erase) becomes larger. Thus, in the present embodiment, by determining whether the program loop number is a certain value or less, the sequencer170determines the frequency of use of the transfer transistor, that is, the degree of degradation of the transfer transistor.

Thereby, since an unnecessarily large voltage is not applied to the gate of the transfer transistor, the degradation of the transfer transistor can be suppressed or delayed. As a result, even if the write operation is repeated, the sequencer170can transfer an appropriate voltage to the word line WL.

<1-4> Modification Example 1 of the First Embodiment

Referring toFIG. 14, operations S1100of Modification Example 1 of the first embodiment will be described.

The operations S1100differs from the operation ofFIG. 7with respect to the operation after step S1010inFIG. 7.

The step S1102inFIG. 14is similar to step S1002inFIG. 7, and the step S1110inFIG. 14is similar to step S1010inFIG. 7.

<1-5> Modification Example 2 of the First Embodiment

Referring toFIG. 15, operations S1200of Modification Example 2 of the first embodiment will be described.

The operations S1200differ from the operations ofFIG. 7with respect to the operations of steps S1002to S1004inFIG. 7.

Specifically, in the operation corresponding to step S1002inFIG. 7(i.e. step S1202inFIG. 15), the sequencer170determines whether an erase loop number (the number of times of erase, which will be described later) stored in the status register180is equal to or more than a third value. The third value may be preset, or may be arbitrarily set by a user.

If the sequencer170determines that the erase loop number is not equal to or more than the third value (i.e. step S1202, No), the sequencer170sets the signals VBST and VRDEC at the time of the program to the voltage VPGMHL in the operation corresponding to step S1003inFIG. 7(i.e. step S1203inFIG. 15).

If the sequencer170determines that the erase loop number is equal to or more than the third value (i.e. step S1202, Yes), the sequencer170sets the signals VBST and VRDEC at the time of the program to the voltage VPGMHH in the operation corresponding to step S1004inFIG. 7(i.e. step S1204inFIG. 15).

As described above, in Modification Example 2 of the first embodiment, the sequencer170determines the degree of degradation of the transfer transistor, not based on the program loop number, but based on the erase loop number.

In the memory cell transistor, there is a tendency that the erase loop number becomes larger as the number of times of write (or the number of times of erase) becomes larger. Thus, in the present embodiment, by determining whether the erase loop number is equal to or more than a certain value, the sequencer170determines the frequency of use of the transfer transistor, that is, the degree of degradation of the transfer transistor. As a result, advantageous effects similar to those of the first embodiment may be obtained.

<1-6> Modification Example 3 of the First Embodiment

Referring toFIG. 16, operations S1300of Modification Example 3 of the first embodiment will be described.

The operations S1300differ from the operations ofFIG. 7with respect to the operations of steps S1002to S1004inFIG. 7.

Specifically, in the operation corresponding to step S1002inFIG. 7(i.e. step S1302inFIG. 16), the sequencer170determines whether the program loop number, which is stored in the status register180, is equal to or less than the first value, or the erase loop number stored in the status register180is equal to or more than than the third value.

If the sequencer170determines that the program loop number is not equal to or less than the first value, and that the erase loop number is not equal to or greater than the third value (i.e. step S1302, No), the sequencer170sets the signals VBST and VRDEC at the time of the program to the voltage VPGMHL in the operation corresponding to step S1003inFIG. 7(i.e. step S1303inFIG. 16).

If the sequencer170determines that the program loop number is equal to or less than the first value, or that the erase loop number is equal to or more than the third value (i.e. step S1302, Yes), the sequencer170sets the signals VBST and VRDEC at the time of the program to the voltage VPGMHH in the operation corresponding to step S1004inFIG. 7(i.e. step S1304inFIG. 16).

In step S1302, the sequencer170may determine whether the program loop number is equal to or less than the first value and the erase loop number is equal to or more than the third value.

In this case, if the sequencer170determines that the program loop number is not equal to or less than the first value, or that the erase loop number is not equal to or more than the third value (i.e. step S1302, No), the sequencer170sets, in step S1303, the signals VBST and VRDEC at the time of the program to the voltage VPGMHL. Further, if the sequencer170determines that the program loop number is equal to or less than the first value, and that the erase loop number is equal to or more than the third value (i.e. step S1302, Yes), the sequencer170sets, in step S1304, the signals VBST and VRDEC at the time of the program to the voltage VPGMHH.

<1-7> Modification Example 4 of the First Embodiment

Referring toFIG. 17, operations S1400of Modification Example 4 of the first embodiment will be described.

The operations S1400differ from the operations ofFIG. 16with respect to the operation after step S1010inFIG. 16.

The step S1402inFIG. 17is similar to step S1302inFIG. 16, and the step S1110inFIG. 17is similar to step S1010inFIG. 16.

In addition, in step S1402, the sequencer170may determine whether the program loop number is equal to or less than the first value and the erase loop number is equal to or more than the third value.

<1-8> Modification Example 5 of the First Embodiment

The TSF driver134according to the first embodiment is configured to generate two kinds of voltages, i.e. VPGMHL and VPGMHH, as voltages for conducting or transferring the voltage VPGM. However, the TSF driver134may be configured to generate three or more kinds of voltages as voltages for conducting or transferring the voltage VPGM. Hereinafter, referring toFIG. 18, a description will be given of operations in a case where three or more kinds of voltages are generated.

If the sequencer170determines that the write command is received from the memory controller200(i.e. step S1001, Yes), the sequencer170determines which of a plurality of ranges (e.g. three ranges in this example) the program loop number stored in the status register180belongs to.

For example, three ranges, namely a first range, a second range and a third range, are provided. In addition, when the program loop number is equal to or more than a value A, the sequencer170determines that the program loop number is in the first range. When the program loop number is more than value A and is equal to or less than a value B, the sequencer170determines that the program loop number is in the second range.

When the program loop number is more than the value B, the sequencer170determines that the program loop number is in the third range. The value A and the value B may be preset, or may be arbitrarily set by a user.

Upon determination of which of the ranges the program loop number belongs to, the sequencer170determines the voltages of the signals VBST and VRDEC at the time of the program.

Specifically, if the sequencer170determines that the program loop number belongs to the third range, the sequencer170sets the signals VBST and VRDEC to a voltage VPGMH3(VPGM<VPGMH3). If the sequencer170determines that the program loop number belongs to the second range, the sequencer170sets the signals VBST and VRDEC to a voltage VPGMH2(VPGMH3<VPGMH2). If the sequencer170determines that the program loop number belongs to the first range, the sequencer170sets the signals VBST and VRDEC to a voltage VPGMH1(VPGMH2<VPGMH1).

In this manner, the configuration may generate the three kinds of voltages as the voltages for conducting or transferring the voltage VPGM.

Although the method of generating the three kinds of voltages as the voltages for conducting or transferring the voltage VPGM is described herein for simplicity, four or more kinds of voltages may be generated similarly.

The above-described step S1502may be replaced with step S1102inFIG. 14, and the step S1503may be replaced with step S1003and step S1004inFIG. 14.

<1-9> Modification Example 6 of the First Embodiment

Referring toFIG. 19, a description will be given of a case of generating three kinds of voltages as voltages for the voltage conducted VPGM, based on the erase loop number.

If the sequencer170determines that the write command was received from the memory controller200(i.e. step S1001, Yes), the sequencer170determines which of a plurality of ranges (e.g. three ranges in this example) the erase loop number stored in the status register180belongs to.

For example, three ranges, namely a fourth range, a fifth range and a sixth range, are provided. In addition, when the erase loop number is equal to or less than a value C, the sequencer170determines that the erase loop number is in the fourth range. When the erase loop number is more than the value C and is equal to or less than a value D, the sequencer170determines that the erase loop number is in the fifth range. When the erase loop number is more than the value D, the sequencer170determines that the erase loop number is in the sixth range. The value C and value D may be preset, or may be arbitrarily set by a user.

Upon determination of which of the ranges the erase loop number belongs to, the sequencer170determines the voltages of the signals VBST and VRDEC at the time of the program.

Specifically, if the sequencer170determines that the erase loop number belongs to the fourth range, the sequencer170sets the signals VBST and VRDEC to a voltage VPGMH4(VPGM<VPGMH4). If the sequencer170determines that the erase loop number belongs to the fifth range, the sequencer170sets the signals VBST and VRDEC to a voltage VPGMH5(VPGMH4<VPGMH5). If the sequencer170determines that the erase loop number belongs to the sixth range, the sequencer170sets the signals VBST and VRDEC to a voltage VPGMH6(VPGMH5<VPGMH6).

In this manner, the configuration may generate the three kinds of voltages as the voltages for conducting or transferring the voltage VPGM.

Although the method of generating the three kinds of voltages as the voltages for conducting or transferring the voltage VPGM is described herein for simplicity, four or more kinds of voltages may be generated similarly.

<2> Second Embodiment

A second embodiment will be described. In the second embodiment, a description is given of a case in which the signal VBST and signal VRDEC are independently controlled. The typical configuration and typical operation of the memory device according to the second embodiment are similar to those of the memory device according to the above-described first embodiment. Accordingly, descriptions are omitted of the matters described in the first embodiment, and matters which are easily guessed from the first embodiment.

Referring toFIG. 20, the TSF driver134of the NAND flash memory100according to the second embodiment will be described.

The TSF driver134of the NAND flash memory100according to the second embodiment includes a third driver1342and a fourth driver1343. The configurations of the third driver1342and fourth driver1343are similar to the configuration of the first driver1340. The sequencer170may independently control the third driver1342and fourth driver1343. Based on a control signal from the sequencer170, the third driver1342supplies the voltage VPGMHL or VPGMHH as the signal VRDEC to the row decoder120. Based on a control signal from the sequencer170, the fourth driver1343supplies the voltage VPGMHL or VPGMHH as the signal VBST to the first level shifter1311.

Referring toFIG. 21andFIG. 22, a description is given for flowcharts of write operations (S2000) according to the second embodiment.

The sequencer170executes similar operations as in the above-described step S1001.

If the sequencer170determines that the write command is received from the memory controller200(i.e. step S1001, Yes), the sequencer170determines whether a first program loop number, stored in the status register180is equal to or less than a fourth value. For example, in the second embodiment, a latest program loop number for each of the blocks BLK is stored in the status register180. For example, each program loop number may be associated with the block address and stored in the status register180. For example, the first program loop number is a least program loop number among a plurality of program loop numbers stored in the status register180. The fourth value may be preset, or may be arbitrarily set by a user.

If the sequencer170determines that the first program loop number is not equal to or less than the fourth value (i.e. step S2002, No), the sequencer170sets the signal VBST at the time of the program to the voltage VPGMHL. Specifically, at the time of the program, the sequencer170sets the signal VPH, which is delivered to the fourth driver1343, at “H” level, sets the signal VPHL at “H” level, and sets the signal VPHH at “L” level.

If the sequencer170determines that the first program loop number is equal to or less than the fourth value (i.e. step S2002, Yes), the sequencer170sets the signal VBST at the time of the program to the voltage VPGMHH. Specifically, at the time of the program, the sequencer170sets the signal VPH, which is delivered to the fourth driver1343, at “H” level, sets the signal VPHL at “L” level, and sets the signal VPHH at “H” level.

The sequencer170determines whether a second program loop number stored in the status register180is equal to or less than a fifth value. The second program loop number is a program loop number associated with the same block address as the block address corresponding to the write command received in step S1001. The fifth value may be preset, or may be arbitrarily set by a user.

If the sequencer170determines that the second program loop number is not equal to or less than the fifth value (i.e. step S2005, No), the sequencer170sets the signal VRDEC at the time of the program to the voltage VPGMHL. Specifically, at the time of the program, the sequencer170sets the signal VPH, which is delivered to the third driver1342, at “H” level, sets the signal VPHL at “H” level, and sets the signal VPHH at “L” level.

If the sequencer170determines that the second program loop number is equal to or less than the fifth value (i.e. step S2005, Yes), the sequencer170sets the signal VRDEC at the time of the program to the voltage VPGMHH. Specifically, at the time of the program, the sequencer170sets the signal VPH, which is delivered to the third driver1342, at “H” level, sets the signal VPHL at “L” level, and sets the signal VPHH at “H” level.

The sequencer170executes the program based on the settings determined by steps S2002to S2007.FIG. 23illustrates typical operational waveforms in the program. The typical operations are similar to the operations illustrated inFIG. 8. As illustrated inFIG. 23, the signal VBST and the signal VRDEC may independently be controlled.

Specifically, from time T0to time T6, the sequencer170may set the voltage of the signal VBST to the voltage VPGMHH, and further set the voltage of the signal VRDEC to the voltage VPGMHL.

The sequencer170executes the similar operations to the above-described steps S1006to S1010.

The order of the execution of steps S2002to S2004and the execution of steps S2005to S2007may be changed. In the description below, in other operations including the steps S2002to S2004(the corresponding steps to steps S2002to S2004) and the steps S2005to S2007(the corresponding steps to steps S2005to S2007), the order of the execution of steps S2002to S2004and the execution of steps S2005to S2007may similarly be changed.

According to the above-described embodiment, the sequencer170changes the voltages of the signals VBST and VRDEC, respectively, in accordance with the program loop numbers. Thereby, the voltages may cause the transfer transistors to properly conduct or transfer voltages.

The advantageous effects of the above-described embodiment will be described.

As illustrated inFIG. 24, the voltage VPGM is applied to a word lines WL via a transistor1310provided in the driver circuit130and transistors50provided in a row decoder120.

However, the number of times of conducting or transfer of the voltage VPGM by the transistor1310is more than the number of times of conducting or transfer of the voltage VPGM by the transistor50. As described also in the first embodiment, for example, the transistors50-0(BLK0to BLK3), which correspond to the four blocks BLK0to BLK3, are connected to the signal line CG0. However, substantially one transistor1310is connected to the signal line CG0(although a plurality of transistors130may be provided in series, these transistors130operate substantially as if they were one transistor). For example, there may be a case in which the voltage VPGM is once supplied to each of the word line WL0of the block BLK0and the word line WL0of the block BLK1. In this case, each of the transistor50-0(BLK0) and transistor50-0(BLK1) conducts or transfers the voltage VPGM once. However, the transistor1310, which is connected to the signal line CG0, conducts or transfers the voltage VPGM twice. Thus, the number of times of conducting or transfer of the voltage VPGM by the transistor1310is more than the number of times of conducting or transfer of the voltage VPGM by the transistor50. The degree of degradation may be different between the transistor1310and the transistors50due to the difference in frequency of use.

Taking this into account, the sequencer170of the present embodiment refers to the least program loop number (first program loop number) among the program loop numbers in the four blocks BLK0to BLK3, thereby determining the degree of degradation of the transistor1310. In addition, the sequencer170of the present embodiment refers to the program loop number (second program loop number) of each block BLK, thereby determining the degree of degradation of the transistor50of that block BLK that is the target of the write operation.

Thereby, since an unnecessarily large voltage is not applied to the gate of each transfer transistor, the degradation of each transfer transistor is mitigated. As a result, even if the write operations are repeated, the sequencer170transfers a proper voltage to the word line WL.

<2-4> Modification Example 1 of the Second Embodiment

Referring toFIG. 25andFIG. 26, operations S2100of Modification Example 1 of the second embodiment will be described.

The operations S2100differ from the operations ofFIG. 22with respect to the operations after step S1010inFIG. 22.

The step S2102inFIG. 25is similar to step S2002inFIG. 21, and the step S2110inFIG. 26is similar to step S1010inFIG. 22.

<2-5> Modification Example 2 of the Second Embodiment

Referring toFIG. 27, an operation S2200of Modification Example 2 of the second embodiment will be described.

The operations S2200differ from the operations ofFIG. 21with respect to the operations of steps S2002to S2007inFIG. 21.

Specifically, in the operation corresponding to step S2002inFIG. 21(i.e. step S2202inFIG. 27), the sequencer170determines whether a first erase loop number stored in the status register180is equal to or more than a sixth value. For example, in Modification Example 2 of the second embodiment, a latest erase loop number of each of the blocks BLK is stored in the status register180. For example, each erase loop number may be associated with the block address and stored in the status register180. The first erase loop number is a least erase loop number among a plurality of erase loop numbers stored in the status register180. The sixth value may be preset, or may be arbitrarily set by a user.

If the sequencer170determines that the first erase loop number is not equal to or more than the sixth value (i.e. step S2202, No), in the operation corresponding to step S2003inFIG. 21(i.e. step S2203inFIG. 27), the sequencer170sets the signal VBST at the time of the program to the voltage VPGMHL.

If the sequencer170determines that the first erase loop number is equal to or more than the sixth value (i.e. step S2202, Yes), in the operation corresponding to step S2004inFIG. 21(i.e. step S2204inFIG. 27), the sequencer170sets the signal VBST at the time of the program to the voltage VPGMHH.

In the operation corresponding to step S2005inFIG. 21(i.e. step S2205inFIG. 27), the sequencer170determines whether a second erase loop number stored in the status register180is equal to or more than a seventh value. For example, the second erase loop number is an erase loop number associated with the same block address as the block address corresponding to the write command received in step S1001. The seventh value may be preset, or may be arbitrarily set by a user.

If the sequencer170determines that the second erase loop number is not equal to or more than the seventh value (i.e. step S2205, No), in the operation corresponding to step S2006inFIG. 21(i.e. step S2206inFIG. 27), the sequencer170sets the signal VRDEC at the time of the program to the voltage VPGMHL.

If the sequencer170determines that the second erase loop number is equal to or greater than the seventh value (i.e. step S2205, Yes), in the operation corresponding to step S2007inFIG. 21(i.e. step S2207inFIG. 27), the sequencer170sets the signal VRDEC at the time of the program to the voltage VPGMHH.

The order of the execution of steps S2202to S2204and the execution of steps S2205to S2207may be changed.

As described above, in Modification Example 2 of the second embodiment, the sequencer170determines the degree of degradation of the transfer transistor, not based on the program loop number, but based on the erase loop number.

<2-6> Modification Example 3 of the Second Embodiment

Referring toFIG. 28, operations S2300of Modification Example 3 of the second embodiment will be described.

The operations S2300differ from the operations ofFIG. 21with respect to the operations of steps S2002to S2007inFIG. 21.

Specifically, in the operation corresponding to step S2002inFIG. 21(i.e. step S2302inFIG. 28), the sequencer170determines whether the first program loop number stored in the status register180is equal to or less than the fourth value, or the first erase loop number stored in the status register180is equal to or more than the sixth value.

If the sequencer170determines that the first program loop number is not equal to or less than the fourth value, and further that the first erase loop number is not equal to or greater than the sixth value (i.e. step S2302, No), the sequencer170sets the signal VBST at the time of the program to the voltage VPGMHL in the operation corresponding to step S2003inFIG. 21(i.e. step S2303inFIG. 28).

If the sequencer170determines that the first program loop number is equal to or less than the fourth value, or that the first erase loop number is equal to or more than the sixth value (i.e. step S2302, Yes), the sequencer170sets the signal VBST at the time of the program to the voltage VPGMHH in the operation corresponding to step S2004inFIG. 21(i.e. step S2304inFIG. 28).

In the operation corresponding to step S2005inFIG. 21(i.e. step S2305inFIG. 28), the sequencer170determines whether the second program loop number stored in the status register180is equal to or less than the fifth value, or the second erase loop number stored in the status register180is equal to or more than the seventh value.

If the sequencer170determines that the second program loop number is not equal to or less than the fifth value, and that the second erase loop number is not equal to or more than the seventh value (i.e. step S2305, No), the sequencer170sets the signal VRDEC at the time of the program to the voltage VPGMHL in the operation corresponding to step S2006inFIG. 21(i.e. step S2306inFIG. 28).

If the sequencer170determines that the second program loop number is equal to or less than the fifth value, or that the second erase loop number is equal to or more than the seventh value (i.e. step S2305, Yes), the sequencer170sets the signal VRDEC at the time of the program to the voltage VPGMHH in the operation corresponding to step S2007inFIG. 21(i.e. step S2307inFIG. 28).

The order of the execution of steps S2302to S2304and the execution of steps S2305to S2307may be changed. In the description below, in other operations including the steps S2202to S2204and the steps S2205to S2207, the order of the execution of steps S2202to S2204and the execution of steps S2205to S2207may similarly be changed.

In step S2302, the sequencer170may determine whether the first program loop number is equal to or less than the fourth value, and further, the first erase loop number is equal to or more than the sixth value.

In this case, if the sequencer170determines that the first program loop number is not equal to or less than the fourth value, or that the first erase loop number is not equal to or more than the sixth value (i.e. step S2302, No), the sequencer170sets, in step S2303, the signals VBST at the time of the program to the voltage VPGMHL. Further, if the sequencer170determines that the first program loop number is equal to or less than the fourth value, and further that the erase loop number is equal to or more than the sixth value (i.e. step S2302, Yes), the sequencer170sets, in step S2304, the signals VBST at the time of the program operation to the voltage VPGMHH.

In step S2305, the sequencer170may determine whether the second program loop number is equal to or less than the fifth value, and further, the second erase loop number is equal to or more than the seventh value.

In this case, if the sequencer170determines that the second program loop number is not equal to or less than the fifth value, or that the second erase loop number is not equal to or more than the seventh value (i.e. step S2305, No), the sequencer170sets, in step S2306, the signal VRDEC at the time of the program to the voltage VPGMHL. Further, if the sequencer170determines that the second program loop number is equal to or less than the fifth value, and also that the second erase loop number is equal to or more than the seventh value (i.e. step S2305, Yes), the sequencer170sets, in step S2307, the signal VRDEC at the time of the program to the voltage VPGMHH.

<2-7> Modification Example 4 of the Second Embodiment

Referring toFIG. 29andFIG. 30, an operation S2400of Modification Example 4 of the second embodiment will be described.

The operations S2400differ from the operations ofFIG. 28with respect to the operations after step S1010inFIG. 28.

The step S2402inFIG. 29is similar to step S2302inFIG. 28, and the step S2410inFIG. 30is similar to step S1010inFIG. 28.

In step S2402, like step S2302, the sequencer170may determine whether the first program loop number is equal to or less than the fourth value, and further, the first erase loop number is equal to or more than the sixth value.

<2-8> Modification Example 5 of the Second Embodiment

Referring toFIG. 31, a description will be given of operations in a case of generating three kinds of voltages as voltages for conducting or transferring the voltage VPGM.

If the sequencer170determines that the write command is received from the memory controller200(i.e. step S1001, Yes), the sequencer170determines which of a plurality of ranges (e.g. three ranges in this example) the first program loop number stored in the status register180belongs to.

For an example, three ranges, namely a seventh range, an eighth range and a ninth range, are provided. In addition, when the first program loop number is equal to or less than a value E, the sequencer170determines that the first program loop number is in the seventh range. When the first program loop number is greater than value E and is equal to or less than a value F, the sequencer170determines that the first program loop number is in the eighth range. When the first program loop number is greater than the value F, the sequencer170determines that the first program loop number is in the ninth range. The value E and value F may be preset, or may be arbitrarily set by a user.

Upon determination of which of the ranges the first program loop number belongs to, the sequencer170determines the voltages of the signal VBST at the time of the program.

Specifically, if the sequencer170determines that the first program loop number belongs to the ninth range, the sequencer170sets the signal VBST to a voltage VPGMH9(VPGM<VPGMH9). If the sequencer170determines that the first program loop number belongs to the eighth range, the sequencer170sets the signal VBST to a voltage VPGMH8(VPGMH9<VPGMH8). If the sequencer170determines that the first program loop number belongs to the seventh range, the sequencer170sets the signal VBST to a voltage VPGMH7(VPGMH8<VPGMH7).

Although the method of generating the three kinds of voltages as the voltages of the signal VBST for conducting or transferring the voltage VPGM is described herein for simplicity, four or more kinds of voltages may be generated similarly.

The sequencer170determines which of a plurality of ranges (e.g. three ranges in this example) the second program loop number stored in the status register180belongs to.

For an example, three ranges, namely a tenth range, an eleventh range and a twelfth range, are provided. When the second program loop number is equal to or less than a value G, the sequencer170determines that the second program loop number is in the tenth range. When the second program loop number is greater than value G and is equal to or less than a value H, the sequencer170determines that the second program loop number is in the eleventh range. When the second program loop number is greater than the value H, the sequencer170determines that the second program loop number is in the twelfth range. The value G and value H may be preset, or may be arbitrarily set by a user.

Upon determination of which of the ranges the second program loop number belongs to, the sequencer170determines the voltages of the signal VRDEC at the time of the program.

Specifically, if the sequencer170determines that the second program loop number belongs to the twelfth range, the sequencer170sets the signal VRDEC to a voltage VPGMH12(VPGM<VPGMH12). If the sequencer170determines that the second program loop number belongs to the eleventh range, the sequencer170sets the signal VRDEC to a voltage VPGMH11(VPGMH12<VPGMH11). If the sequencer170determines that the second program loop number belongs to the tenth range, the sequencer170sets the signal VRDEC to a voltage VPGMH10(VPGMH11<VPGMH10).

Although the method of generating the three kinds of voltages as the voltages of the signal VRDEC for conducting or transferring the voltage VPGM is described herein for simplicity, four or more kinds of voltages may be generated similarly.

The above-described step S2502may be replaced with step S2102inFIG. 25. In addition, the step S2503may be replaced with step S2003and step S2004inFIG. 25. The above-described step S2504may be replaced with step S2005inFIG. 25. In addition, the step S2505may be replaced with step S2006and step S2007inFIG. 25.

<2-9> Modification Example 6 of the Second Embodiment

Referring toFIG. 32, a description will be given of operations in a case of generating three kinds of voltages as voltages for conducting or transferring the voltage VPGM, based on the erase loop number.

If the sequencer170determines that the write command is received from the memory controller200(i.e. step S1001, Yes), the sequencer170determines which of a plurality of ranges (e.g. three ranges in this example) the first erase loop number stored in the status register180belongs to.

For an example, three ranges, namely a 13th range, a 14th range and a 15th range, are provided. When the first erase loop number is equal to or less than a value I, the sequencer170determines that the first erase loop number is in the 13th range. When the first erase loop number is more than value I and is equal to or less than a value J, the sequencer170determines that the first erase loop number is in the 14th range. When the first erase loop number is more than the value J, the sequencer170determines that the first erase loop number is in the 15th range. The value I and value J may be preset, or may be arbitrarily set by a user.

Upon determination of which of the ranges the first erase loop number belongs to, the sequencer170determines the voltages of the signal VBST at the time of the program.

Specifically, if the sequencer170determines that the first erase loop number belongs to the 13th range, the sequencer170sets the signal VBST to a voltage VPGMH13(VPGM<VPGMH13). If the sequencer170determines that the first erase loop number belongs to the 14th range, the sequencer170sets the signal VBST to a voltage VPGMH14(VPGMH13<VPGMH14). If the sequencer170determines that the first erase loop number belongs to the 15th range, the sequencer170sets the signal VBST to a voltage VPGMH15(VPGMH14<VPGMH15).

Although the method of generating the three kinds of voltages as the voltages of the VBST at the time of conducting or transferring the voltage VPGM is described herein for simplicity, four or more kinds of voltages may be generated similarly.

The sequencer170determines which of a plurality of ranges (e.g. three ranges in this example) the second erase loop number stored in the status register180belongs to.

For an example, three ranges, namely a 16th range, a 17th range and an 18th range, are provided. When the second erase loop number is equal to or less than a value K, the sequencer170determines that the second erase loop number is in the 16th range. When the second erase loop number is more than value K and is equal to or less than a value L, the sequencer170determines that the second erase loop number is in the 17th range. When the second erase loop number is more than the value L, the sequencer170determines that the second erase loop number is in the 18th range. The value K and value L may be preset, or may be arbitrarily set by a user.

Upon determination of which of the ranges the second erase loop number belongs to, the sequencer170determines the voltages of the signal VRDEC at the time of the program.

Specifically, if the sequencer170determines that the second erase loop number belongs to the 16th range, the sequencer170sets the signal VRDEC to a voltage VPGMH16(VPGM<VPGMH16). If the sequencer170determines that the second erase loop number belongs to the 17th range, the sequencer170sets the signal VRDEC to a voltage VPGMH17(VPGMH16<VPGMH17). If the sequencer170determines that the second erase loop number belongs to the 18th range, the sequencer170sets the signal VRDEC to a voltage VPGMH18(VPGMH17<VPGMH18).

Although the method of generating the three kinds of voltages as the voltages of the VRDEC at the time of conducting or transferring the voltage VPGM is described herein for simplicity, four or more kinds of voltages may be generated similarly.

A third embodiment will be described. In the third embodiment, a description is given of a case in which the memory controller controls the signal VBST and the signal VRDEC. The typical configuration and the typical operation of the memory device according to the third embodiment are similar to those of the memory devices according to the above-described first embodiment and second embodiment. Accordingly, descriptions are omitted of the matters described in the first embodiment and second embodiment, and matters which are easily guessed from the first embodiment and second embodiment.

Flowcharts of a write operation (S3000, S3100) according to the third embodiment will be described. To begin with, referring toFIG. 33, the operations (S3000) of the memory controller200are described. Here, for simplicity, it is assumed that the main entity, which executes the operation, is a processor230, but not limited to it.

The processor230determines whether to execute a write operation.

If the processor230determines that it executes the write operation (i.e. step S3001, Yes), the processor230determines whether a write/erase cycle number (WE cycle number) is equal to or more than an eighth value. The write/erase cycle number indicates the number of times of the write operations and erase operations executed. When a data write operation and a data erase operation are executed for the NAND flash memory100, the write/erase cycle number is incremented. This write/erase cycle number is stored, for example, in the internal memory220or the like.

If the processor230determines that the write/erase cycle number is not equal to or more than the eighth value, the processor230sets the signals VBST and VRDEC to the voltage VPGMHL. Specifically, when the processor230issues a write command to the NAND flash memory100, the processor230provides information “Set signals VBST and VRDEC to voltage VPGMHL” to the sequencer170.

If the processor230determines that the write/erase cycle number is equal to or greater than the eighth value, the processor230sets the signals VBST and VRDEC to the voltage VPGMHH. Specifically, when the processor230issues a write command to the NAND flash memory100, the processor230provides information “Set signals VBST and VRDEC to voltage VPGMHH” to the sequencer170.

The processor230issues to the NAND flash memory100a write command sequence including the information obtained by the step S3003or S3004.

Next, referring toFIG. 34, the operations S3100of the NAND flash memory100will be described.

The sequencer170executes an operation similar to the above-described step S1001.

The sequencer170executes the program based on the settings determined by the processor230.

The sequencer170executes operations similar to the above-described steps S1006to S1010.

<3-2> Command Sequence

Referring toFIG. 35, the command sequence at the time of the write operation will be described. As illustrated inFIG. 35, the memory controller200issues a write command CCH, and asserts the signal CLE (‘H’ level). For example, the write command CCH includes the information relating to the signals VBST and VRDEC determined in steps S3002to S3004. Needless to say, it should suffice if the NAND flash memory100is notified of the information relating to the signals VBST and VRDEC determined in steps S3002to S3004, and this information may be issued at a different timing from the write command CCH.

The subsequent command sequence is similar to the sequence described with reference toFIG. 10. A command DDH inFIG. 35corresponds to the command BBH inFIG. 10.

According to the above-described embodiment, the sequencer170varies the voltages of the signals VBST and VRDEC in accordance with the write/erase cycle number. Thereby, it may cause the transfer transistors to properly conduct or transfer voltages.

As described above, there is a tendency that the degradation of the transfer transistor progresses as the number of times of write (or the number of times of erase) in the memory cell transistor becomes larger. Thus, in the present embodiment, by determining whether the write/erase cycle number is a certain value or more, the sequencer170determines the frequency of use of the transfer transistor, that is, the degree of degradation of the transfer transistor.

<3-4> Modification Example 1 of the Third Embodiment

In Modification Example 1 of the third embodiment, a description will be given of a case in which the signal VBST and the signal VRDEC are independently controlled.

Referring toFIG. 36, an operation S3200of the processor230of Modification Example 1 of the third embodiment is described.

The processor230determines whether it executes a write operation or not.

If the processor230determines to execute the write operation (i.e. step S3001, Yes), the processor230determines whether a first write/erase (WE) cycle number is equal to or more than a ninth value. In the third embodiment, the write/erase cycle number associated with each of the blocks BLK is stored in the internal memory220. Each write/erase cycle number is associated with the block address and stored in the internal memory220, for example. The first write/erase cycle number is a least write/erase cycle number among a plurality of write/erase cycle numbers stored in the internal memory220. The ninth value may be preset, or may be arbitrarily set by a user.

If the processor230determines that the first write/erase cycle number is not equal to or more than the ninth value, the processor230sets the signal VBST to the voltage VPGMHL. Specifically, when the processor230issues the write command to the NAND flash memory100, the processor230provides the information “Set signal VBST to voltage VPGMHL” to the sequencer170.

If the processor230determines that the first write/erase cycle number is equal to or more than the ninth value, the processor230sets the signal VBST to the voltage VPGMHH.

Specifically, when the processor230issues the write command to the NAND flash memory100, the processor230provides the information “Set signal VBST to voltage VPGMHH” to the sequencer170.

The processor230determines whether a second write/erase (WE) cycle number is equal to or more than a tenth value. For example, the second write/erase cycle number is a write/erase cycle number associated with the same block address as the block address corresponding to the write command which is sent to the NAND flash memory100. The tenth value may be preset, or may be arbitrarily set by a user.

If the processor230determines that the second write/erase cycle number is not equal to or more than the tenth value, the processor230sets the signal VRDEC to the voltage VPGMHL. Specifically, when the processor230issues the write command to the NAND flash memory100, the processor230provides the information “Set signal VRDEC to voltage VPGMHL” to the sequencer170.

If the processor230determines that the second write/erase cycle number is equal to or more than the tenth value, the processor230sets the signal VRDEC to the voltage VPGMHH. Specifically, when the processor230issues the write command to the NAND flash memory100, the processor230provides the information “Set signal VRDEC to voltage VPGMHH” to the sequencer170.

Thereby, the advantageous effects similar to those of the second embodiment are obtained.

The order of the execution of steps S3202to S3204and the execution of steps S3205to S3207may be changed.

<3-5> Modification Example 2 of the Third Embodiment

Referring toFIG. 37, a description will be given of operations (S3300) in a case of generating three kinds of voltages as voltages for conducting or transferring the voltage VPGM.

If the processor230determines to execute the write operation (i.e. step S3001, Yes), the processor230determines which of a plurality of ranges (e.g. three ranges in this example) the write/erase (WE) cycle number stored in the internal memory220belongs to.

For an example, three ranges, namely a 19th range, a 20th range and a 21st range, are provided. In addition, when the write/erase cycle number is equal to or less than a value M, the sequencer230determines that the write/erase cycle number is in the 19th range. When the write/erase cycle number is more than the value M and is equal to or less than a value N, the processor230determines that the write/erase cycle number is in the 20th range. When the write/erase cycle number is more than the value N, the processor230determines that the write/erase cycle number is in the 21st range. The value M and value N may be preset, or may be arbitrarily set by a user.

Upon determination of which of the ranges the write/erase cycle number belongs to, the processor230determines the voltages of the signals VBST and VRDEC at the time of the program.

Specifically, if the processor230determines that the write/erase cycle number belongs to the 19th range, the processor230sets the signals VBST and VRDEC to a voltage VPGMH19(VPGM<VPGMH19). If the processor230determines that the write/erase cycle number belongs to the 20th range, the processor230sets the signals VBST and VRDEC to a voltage VPGMH20(VPGMH19<VPGMH20). If the processor230determines that the write/erase cycle number belongs to the 21st range, the processor230sets the signals VBST and VRDEC to a voltage VPGMH21(VPGMH20<VPGMH21).

In this manner, the configuration may generate the three kinds of voltages as the voltages for conducting or transferring the voltage VPGM.

Although the method of generating the three kinds of voltages as the voltages for conducting or transferring the voltage VPGM is described herein for simplicity, four or more kinds of voltages may be generated similarly.

<3-6> Modification Example 3 of the Third Embodiment

Referring toFIG. 38, a description will be given of operations (S3400) in a case of generating three kinds of voltages as voltages for conducting or transferring the voltage VPGM.

If the processor230determines to execute the write operation (i.e. step S3001, Yes), the processor230determines which of a plurality of ranges (e.g. three ranges in this example) a first write/erase (WE) cycle number stored in the internal memory220belongs to.

For an example, three ranges, namely a 22nd range, a 23rd range and a 24th range, are provided. When the first write/erase cycle number is equal to or less than a value O, the sequencer230determines that the first write/erase cycle number is in the 22nd range. When the first write/erase cycle number is more than the value O and is equal to or less than a value P, the processor230determines that the first write/erase cycle number is in the 23rd range. When the first write/erase cycle number is more than the value P, the processor230determines that the first write/erase cycle number is in the 24th range. The value O and the value P may be preset, or may be arbitrarily set by a user.

Upon determination of which of the ranges the first write/erase cycle number belongs to, the processor230determines the voltages of the signal VBST at the time of the program.

Specifically, if the processor230determines that the first write/erase cycle number belongs to the 22nd range, the processor230sets the signal VBST to a voltage VPGMH22(VPGM<VPGMH22). If the processor230determines that the first write/erase cycle number belongs to the 23rd range, the processor230sets the signal VBST to a voltage VPGMH23(VPGMH22<VPGMH23). If the processor230determines that the first write/erase cycle number belongs to the 24th range, the processor230sets the signal VBST to a voltage VPGMH24(VPGMH23<VPGMH24).

In this manner, the configuration may generate the three kinds of voltages as the voltages for conducting or transferring the voltage VPGM.

Although the method of generating the three kinds of voltages as the voltages for conducting or transferring the voltage VPGM is described herein for simplicity, four or more kinds of voltages may be generated similarly.

The processor230determines which of a plurality of ranges (e.g. three ranges in this example) a second write/erase (WE) cycle number stored in the internal memory220belongs to.

For an example, three ranges, namely a 25th range, a 26th range and a 27th range, are provided. When the second write/erase cycle number is equal to or less than a value Q, the sequencer230determines that the second write/erase cycle number is in the 25th range. When the second write/erase cycle number is more than the value Q and is equal to or less than a value R, the processor230determines that the second write/erase cycle number is in the 26th range. When the second write/erase cycle number is more than the value R, the processor230determines that the second write/erase cycle number is in the 27th range. The value Q and the value R may be preset, or may be arbitrarily set by a user.

Upon determination of which of the ranges the second write/erase cycle number belongs to, the processor230determines the voltages of the signal VRDEC at the time of the program.

Specifically, if the processor230determines that the second write/erase cycle number belongs to the 25th range, the processor230sets the signal VRDEC to a voltage VPGMH25(VPGM<VPGMH25). If the processor230determines that the second write/erase cycle number belongs to the 26th range, the processor230sets the signal VRDEC to a voltage VPGMH26(VPGMH25<VPGMH26). If the processor230determines that the second write/erase cycle number belongs to the 27th range, the processor230sets the signal VRDEC to a voltage VPGMH27(VPGMH26<VPGMH27).

In this manner, the configuration generates the three kinds of voltages as the voltages for conducting or transferring the voltage VPGM.

Although the method of generating the three kinds of voltages as the voltages for conducting or transferring the voltage VPGM is described herein for simplicity, four or more kinds of voltages may be generated similarly.

A fourth embodiment will be described. In the fourth embodiment, a case of an erase operation is described. The typical configuration and typical operation of the memory device according to the fourth embodiment are similar to those of the memory device according to the above-described first embodiment. Accordingly, descriptions are omitted of the matters described in the first embodiment, and matters which are easily guessed from the first embodiment.

<4-1-1> Driver Circuit

The driver circuit130according to the fourth embodiment includes the CG driver131, the SGS driver132, the SGD driver133, the TSF driver134, a TSFE driver135, and a WELL driver136. The TSFE driver135controls the WELL driver136. The WELL driver136supplies a voltage to the well interconnect CPWELL.

The TSFE driver135includes a fifth driver1350. Based on a control signal from the sequencer170, the fifth driver1350supplies a voltage VERAHL or VERAHH (VERAHL<VERAHH) as a signal VBSTE to the WELL driver136.

The WELL driver136includes a high breakdown voltage n-channel MOS transistor1360, and a second level shifter1361. The second level shifter1361supplies the signal VBSTE, which is received from the TSFE driver135, to the transistor1360. The transistor1360conducts or transfers a voltage VERA to the well interconnect CPWELL. One end of the transistor1360is connected to the well interconnect CPWELL. The voltage VERA is applied to the other end of the transistor1360, and the signal VBSTE is supplied to the gate of the transistor1360. InFIG. 39, for simplicity, only the transistor1360for conducting or transferring the voltage VERA is illustrated. However, the configuration is not limited to it, and high breakdown voltage n-channel MOS transistors for applying various kinds of voltages to the well interconnect CPWELL may be provided. The high breakdown voltage n-channel MOS transistor1360is also referred to as “transfer transistor.”

In this example, for simplicity, one transistor1360is connected to one well interconnect CPWELL. However, a plurality of transistors1360may be connected in series to the one well interconnect CPWELL.

<4-1-2> Fifth Driver

The fifth driver1350includes high breakdown voltage n-channel MOS transistors1350-0, and1350-1. The voltage VERA is supplied to one end of the transistor1350-0via a node N4. The other end and gate of the transistor1350-0are connected to a node N5. The voltage VERAH is supplied to the other end and gate of the transistor1350-0via a node N5. The transistor1340-0operates as a diode transistor. One end of the transistor1350-1is connected to the node N4, and the other end of the transistor1350-1is connected to the node N5. A signal VEH is supplied to a gate of the transistor1350-1.

The signal VEH is supplied by the sequencer170.

In a case of generating the voltage VERAHL, the sequencer170sets the signal VEH at “H” level. More specifically, the sequencer170sets the voltage of the signal VEH and the voltage of the Node N5the same. Thus, the transistor1350-1operates as a diode transistor. Thereby, the driver1350supplies the voltage VERAHL to the node N5.

In a case of generating the voltage VERAHH, the sequencer170sets the signal VEH at “H” level. For example, the sequencer170sets the voltage of the signal VEH at 0V. Thus the transistor1350-1is turned off. In the case of generation of the voltage VERAHH, the number of the transistors which are turned on is smaller than that in the case of generation of the voltage VERAHL. Thereby, in the case of generation of the voltage VERAHH, the potential difference of the node N4and the node N5of the first driver1350is larger than that in the case of generation of the voltage VERAHL. Thereby, the driver1350supplies the voltage VERAHH to the node N5.

Although the case in which the fifth driver1350includes the two transistors1350-0, and1350-1is described herein for simplicity, the configuration is not limited to it. So long as the fifth driver1350is capable of selectively generating the voltage VERAHL and the voltage VERAHH, the fifth driver1350may have any circuit configuration.

How the sequencer170selects the voltage VERAHL or the voltage VERAHH will be described later.

Referring toFIG. 41, a description is given of a flowchart of a data erase operation (S4000).

The data erase operation includes an erase and an erase verify.

The sequencer170determines whether an erase command is received from the memory controller200.

If the sequencer170determines that the erase command is received from the memory controller200(i.e. step S4001, Yes), the sequencer170determines whether an erase loop number, which is stored in the status register180, is equal to or more than a third value. The erase loop number will be described later.

If the sequencer170determines that the erase loop number is not equal to or more than the third value (i.e. step S4002, No), the sequencer170sets the signal VBSTE at the time of the erase to the voltage VERAHL. Specifically, at the time of the erase, the sequencer170sets the signal VEH at “H” level, sets the signal VEHL at “H” level, and sets the signal VEHH at “L” level.

If the sequencer170determines that the erase loop number is equal to or more than the third value (i.e. step S4002, Yes), the sequencer170sets the signal VBSTE at the time of the erase to the voltage VERAHH. Specifically, at the time of the erase, the sequencer170sets the signal VEH at “H” level, sets the signal VEHL at “L” level, and sets the signal VEHH at “H” level.

The sequencer170executes the erase.

Referring toFIG. 42, typical operational waveforms of the erase will be described.

Based on a signal from the sequencer170, the driver135raises the signal VBSTE to the voltage VERAHL (VSS<VERAHL) or voltage VERAHH (VERAHL<VERAHH). The voltage VERAHL or the voltage VERAHH is a voltage which sets the transistor1360in the ON state.

At time T21, the driver136applies the voltage VERA (VSS<VERA<VERAHL) to the well interconnect CPWELL.

In addition, at time T21, the row decoder120selects a block BLK in accordance with a block address BA which is provided by the address register150. Besides, the row decoder120applies a voltage VERAG (VSS<VERAG<VERA) to a selected select gate line SGS_SEL.

Furthermore, at time T21, the row decoder120applies a voltage VE (VSS<VE<VERAG) to a selected word line WL_SEL.

From time T23to time T24after data is erased in the period from time T22to time T23, the row decoder120lowers the voltages of the selected word line WL_SEL and the selected select gate line SGS_SEL to the voltage VSS, and the driver136lowers the voltage of the well interconnect CPWELL to the voltage VSS.

Thereby, the erase is finished.

As illustrated inFIG. 41, the sequencer170executes the erase verify, when the erase operation is finished. The description of the erase verify is omitted here, since the erase verify is similar to the above-described program verify.

As illustrated inFIG. 41, the sequencer170determines whether the result of the erase verify is “pass” or not. To be more specific, the sequencer170determines whether a fail bit number, which is determined by the erase verify, is equal to or more than a set value. If the fail bit number is less than the set value, the sequencer170determines that the result of the erase verify is “pass.” This set value is, for example, the number of fail bits which cannot be recovered by the ECC circuit260. This set value is stored, for example, in the status register180. The sequencer170compares the set value stored in the status register180with the fail bit number. If the sequencer170determines that the result of the erase verify is “pass” (i.e. step S4007, Yes), the sequencer170terminates the data erase operation.

If the sequencer170determines that the result of the erase verify is not “pass” (i.e. step S4007, No), the sequencer170determines whether a repetition number (an erase loop number) of the erase is equal to or more than an eleventh value. This eleventh value is stored, for example, in the status register180. Specifically, the sequencer170compares the eleventh value stored in the status register180with the erase loop number. If the sequencer170determines that the erase loop number is equal to or more than the eleventh value (i.e. step S4008, Yes), the sequencer170terminates the data erase operation.

If the sequencer170determines that the erase loop number is not equal to or more than the eleventh value (i.e. step S4008, No), the sequencer170counts up the erase loop number (NEn_Loop). For example, the erase loop number is stored in the status register180or the like. The count of the erase loop number may be executed by the sequencer170, or may be executed by other configuration.

After counting up the erase loop number, the sequencer170increments the voltage VERA, which is used at the time of the erase, by a voltage DVERA. Then, the sequencer170repeats step S4005.

The order of the execution of step S4008and the execution of step S4009may be changed. In this case, the eleventh value in step S4008increases by “1”. In the description below, in other operations including step S4008and step S4009, the order of the execution of step S4008and the execution of step S4009may similarly be changed.

<4-2-2> Command Sequence

Referring toFIG. 43, a command sequence at the time of the data erase operation will be described. As illustrated inFIG. 43, the memory controller200first issues an erase command EEH, and asserts the signal CLE (“H” level). Subsequently, the memory controller200issues addresses (ADD: row address) over, for example, three cycles, and asserts the signal ALE (“H” level). The above-described command and addresses are stored, for example, in the command register160and the address register150, respectively.

Next, the memory controller200issues a write command “FFH” and asserts the signal CLE. Responding to the storage of the command “FFH” in the command register160, the sequencer170starts the data erase operation (S4000), and the NAND flash memory100enters the busy state (R/Bn=“L”).

According to the above-described embodiment, the sequencer170changes the control voltage to the transfer transistor which conducts or transfers a voltage to the well interconnect CPWELL in accordance with the erase loop number. Thereby, it causes the transfer transistor to properly conduct or transfer the voltage.

The advantageous effects of the above-described embodiment will be described. In the NAND flash memory100according to this embodiment, a desired voltage is applied to the well interconnect CPWELL via the transfer transistor.

As illustrated inFIG. 44, in order to conduct or transfer the voltage VERA, a voltage VERAH which is higher than the voltage VERA needs to be applied to the gate of the transfer transistor. However, since the threshold of the transfer transistor may rise due to various factors (e.g. degradation of the transfer transistor), the voltage VERA may not properly be transferred. Thus, it should be considered that the voltage VERAH is raised to a higher voltage VERAHH in advance. In this case, however, the load on the gate of the transfer transistor increases, and the degradation of the transfer transistor may be accelerated. As a result, since the threshold of the transfer transistor rises, the voltage VERA may not properly be conducted or transferred.

Thus, in the method as illustrated inFIG. 44, if the data erase operation is repeated, the proper voltage may not be conducted or transferred to the well interconnect CPWELL.

In the present embodiment, as illustrated inFIG. 45, before the transfer transistor gets degraded (i.e. in the state in which the threshold is low), the sequencer170applies the voltage VERAHL, which is lower than the voltage VERAHH, to the gate of the transfer transistor. After the transfer transistor gets degraded (i.e. in the state in which the threshold is high), the sequencer170applies the voltage VERAHH to the gate of the transfer transistor.

In the memory cell transistor, there is a tendency that the erase loop number becomes larger as the number of times of write (or the number of times of erase) becomes larger. Thus, in the present embodiment, by determining whether the erase loop number is equal to or more than a certain value, the sequencer170determines the frequency of use of the transfer transistor, that is, the degree of degradation of the transfer transistor.

Thereby, since an unnecessarily large voltage is not applied to the gate of the transfer transistor, the degradation of the transfer transistor is mitigated. As a result, even if the data erase operation is repeated, the sequencer170conducts or transfers a proper voltage to the well interconnect CPWELL.

<4-4> Modification Example 1 of the Fourth Embodiment

Referring toFIG. 46, operations S4100of Modification Example 1 of the fourth embodiment will be described.

The operations S4100differ from the operations ofFIG. 41with respect to the operations after step S4010inFIG. 41.

The step S4102inFIG. 46is similar to step S4002inFIG. 41, and the step S4110inFIG. 46is similar to step S4010inFIG. 41.

<4-5> Modification Example 2 of the Fourth Embodiment

Referring toFIG. 47, operations S4200of Modification Example 2 of the fourth embodiment will be described.

The operations S4200differ from the operations ofFIG. 41with respect to the operations of steps S4002to S4004inFIG. 41.

Specifically, in the operation corresponding to step S4002inFIG. 41(i.e. step S4202inFIG. 47), the sequencer170determines whether a program loop number stored in the status register180is equal to or less than a first value.

When the sequencer170determines that the program loop number is not equal to or less than the first value (i.e. step S4202, No), the sequencer170sets the signal VBSTE at the time of the erase to the voltage VERAHL in the operation corresponding to step S4003inFIG. 41(i.e. step S4203inFIG. 47).

When the sequencer170determines that the program loop number is equal to or less than the first value (i.e. step S4202, Yes), the sequencer170sets the signal VBSTE at the time of the erase to the voltage VERAHH in the operation corresponding to step S4004inFIG. 41(i.e. step S4204inFIG. 47).

As described above, in Modification Example 2 of the fourth embodiment, the sequencer170determines the degree of degradation of the transfer transistor, not based on the erase loop number, but based on the program loop number.

<4-6> Modification Example 3 of the Fourth Embodiment

Referring toFIG. 48, an operation S4300of Modification Example 3 of the fourth embodiment will be described.

The operations S4300differ from the operations ofFIG. 41with respect to the operations of steps S4002to S4004inFIG. 41.

Specifically, in the operation corresponding to step S4002inFIG. 41(i.e. step S4302inFIG. 48), the sequencer170determines whether the program loop number stored in the status register180is equal to or less than a first value, or the erase loop number stored in the status register180is equal to or more than a third value.

If the sequencer170determines that the program loop number is not equal to or less than the first value, and further that the erase loop number is not equal to or more than the third value (i.e. step S4302, No), the sequencer170sets the signal VBSTE at the time of the erase to the voltage VERAHL in the operation corresponding to step S4003inFIG. 41(i.e. step S4303inFIG. 48).

If the sequencer170determines that the program loop number is equal to or less than the first value, or that the erase loop number is equal to or more than the third value (i.e. step S4302, Yes), the sequencer170sets the signal VBSTE at the time of the erase to the voltage VERAHH in the operation corresponding to step S4004inFIG. 41(i.e. step S4304inFIG. 48).

In step S4302, the sequencer170may determine whether the program loop number is equal to or less than the first value, and further, the erase loop number is equal to or more than the third value.

In this case, if the sequencer170determines that the program loop number is not equal to or less than the first value, or that the erase loop number is not equal to or more than the third value (i.e. step S4302, No), the sequencer170sets, in step S4303, the signal VBSTE at the time of the erase to the voltage VERAHL. Further, if the sequencer170determines that the program loop number is equal to or less than the first value, and that the erase loop number is equal to or more than the third value (i.e. step S4302, Yes), the sequencer170sets, in step S4304, the signal VBSTE at the time of the erase to the voltage VERAHH.

<4-7> Modification Example 4 of the Fourth Embodiment

Referring toFIG. 49, operations S4400of Modification Example 4 of the fourth embodiment will be described.

The operations S4400differ from the operations ofFIG. 48with respect to the operations after step S4010inFIG. 48.

The step S4402inFIG. 49is similar to step S4302inFIG. 48, and the step S4110inFIG. 49is similar to step S4010inFIG. 48.

In step S4402, the sequencer170may determine whether the program loop number is equal to or less than the first value, and further, the erase loop number is equal to or more than the third value.

<4-8> Modification Example 5 of the Fourth Embodiment

Referring toFIG. 50, a description will be given of a case of generating three kinds of voltages as voltages for conducting or transferring the voltage VERA, based on the erase loop number.

When the sequencer170determines that the erase command is received from the memory controller200(i.e. step S4001, Yes), the sequencer170determines which of a plurality of ranges (e.g. three ranges in this example) the erase loop number stored in the status register180belongs to.

For an example, three ranges, namely a 28th range, a 29th range and a 30th range, are provided. When the erase loop number is equal to or less than a value S, the sequencer170determines that the erase loop number is in the 28th range. When the erase loop number is more than the value S and is equal to or less than a value T, the sequencer170determines that the erase loop number is in the 29th range. When the erase loop number is more than the value T, the sequencer170determines that the erase loop number is in the 30th range. The value S and value T may be preset, or may be arbitrarily set by a user.

Upon determination of which of the ranges the erase loop number belongs to, the sequencer170determines the voltage of the signal VBSTE at the time of the erase.

Specifically, when the sequencer170determines that the erase loop number belongs to the 28th range, the sequencer170sets the signal VBSTE to a voltage VERAH28 (VERA<VERAH28). If the sequencer170determines that the erase loop number belongs to the 29th range, the sequencer170sets the signal VBSTE to a voltage VERAH29 (VERAH28<VERAH29). When the sequencer170determines that the erase loop number belongs to the 30th range, the sequencer170sets the signal VBSTE to a voltage VERAH30 (VERAH29<VERAH30).

In this manner, the configuration may generate the three kinds of voltages as the voltages for conducting or transferring the voltage VERA.

Although the method of generating the three kinds of voltages as the voltages for conducting or transferring the voltage VERA is described herein for simplicity, four or more kinds of voltages may be generated similarly.

The above-described step S4502may be replaced with step S4102inFIG. 46. In addition, the step S4503may be replaced with step S4003and step S4004inFIG. 46.

<4-9> Modification Example 6 of the Fourth Embodiment

Referring toFIG. 51, a description will be given of a case of generating three kinds of voltages as voltages for conducting or transferring the voltage VERA, based on the program loop number.

If the sequencer170determines that the erase command is received from the memory controller200(i.e. step S4001, Yes), the sequencer170determines which of a plurality of ranges (e.g. three ranges in this example) the program loop number stored in the status register180belongs to.

For an example, three ranges, namely a 31st range, a 32nd range and a 33rd range, are provided. When the program loop number is equal to or less than a value U, the sequencer170determines that the program loop number is in the 31st range. When the program loop number is more than the value U and is equal to or less than a value V, the sequencer170determines that the program loop number is in the 32nd range. When the program loop number is more than the value V, the sequencer170determines that the program loop number is in the 33rd range. The value U and value v may be preset, or may be arbitrarily set by a user.

Upon determination of which of the ranges the program loop number belongs to, the sequencer170determines the voltage of the signal VBSTE at the time of the erase.

Specifically, if the sequencer170determines that the program loop number belongs to the 33rd range, the sequencer170sets the signal VBSTE to a voltage VERAH33 (VERA<VERAH33). If the sequencer170determines that the program loop number belongs to the 32nd range, the sequencer170sets the signal VBSTE to a voltage VERAH32 (VERAH33<VERAH32). If the sequencer170determines that the program loop number belongs to the 31st range, the sequencer170sets the signal VBSTE to a voltage VERAH31 (VERAH32<VERAH31).

In this manner, the configuration may generate the three kinds of voltages as the voltages for conducting or transferring the voltage VERA.

Although the method of generating the three kinds of voltages as the voltages for conducting or transferring the voltage VERA is described herein for simplicity, four or more kinds of voltages may be generated similarly.

A fifth embodiment will be described. In the fifth embodiment, a description is given of a case in which the memory controller controls the signal VBSTE. The typical configuration and typical operation of the memory device according to the fifth embodiment are similar to those of the memory devices according to the above-described first embodiment and fourth embodiment. Accordingly, descriptions are omitted of the matters described in the first embodiment and the fourth embodiment, and matters which are easily guessed from the first embodiment and the fourth embodiment.

Flowcharts of a data erase operation (S5000, S5100) according to the fifth embodiment will be described. To begin with, referring toFIG. 52, the operations (S5000) of the memory controller200are described. Here, for simplicity, the main entity which executes the operations is a processor230, but the configuration is not limited to it.

The processor230determines whether to execute a data erase operation.

If the processor230determines to execute the data erase operation (i.e. step S5001, Yes), the processor230determines whether the write/erase (WE) cycle number (WE cycle number) is equal to or more than an eighth value.

If the processor230determines that the write/erase cycle number is not equal to or more than the eighth value, the processor230sets the signal VBSTE to the voltage VERAHL. Specifically, when the processor230issues a data erase command to the NAND flash memory100, the processor230provides the information “Set signal VBSTE to voltage VERAHL” to the sequencer170.

If the processor230determines that the write/erase cycle number is equal to or greater than the eighth value, the processor230sets the signal VBSTE to the voltage VERAHH. Specifically, when the processor230issues a data erase command to the NAND flash memory100, the processor230provides the information “Set signal VBSTE to voltage VERAHH” to the sequencer170.

The processor230issues to the NAND flash memory100an erase command sequence including the information obtained by the step S5003or S5004.

Next, referring toFIG. 53, the operations S5100of the NAND flash memory100will be described.

The sequencer170executes operations similar to the above-described step S4001.

The sequencer170executes the erase based on the settings determined by the processor230.

The sequencer170executes operations similar to the above-described steps S4006to S4010.

<5-2> Command Sequence

Referring toFIG. 54, a command sequence at the time of the data erase operation will be described. As illustrated inFIG. 54, the memory controller200issues a data erase command GGH, and asserts the signal CLE (“H” level). For example, this data erase command GGH includes the information relating to the signal VBSTE determined in steps S5002to S5004. Needless to say, since it should suffice if the NAND flash memory100is notified of the information relating to the signal VBSTE determined in steps S5002to S5004, this information may be issued at a different timing from the command GGH.

The subsequent command sequence is similar to the sequence described with reference toFIG. 43. A command IIH shown inFIG. 54corresponds to the command FFH inFIG. 43.

According to the above-described embodiment, the sequencer170varies the voltage of the signal VBSTE in accordance with the write/erase cycle number. Thereby, it causes the transfer transistor to properly conduct or transfer a voltage.

As described above, there is a tendency that the degradation of the transfer transistor progresses as the number of times of write (or the number of times of erase) in the memory cell transistor becomes larger. Thus, in the present embodiment, by determining whether the write/erase (WE) cycle number is equal to or more than a certain value, the sequencer170determines the frequency of use of the transfer transistor, that is, the degree of degradation of the transfer transistor.

<5-4> Modification Example of the Fifth Embodiment

Referring toFIG. 55, a description will be given of operations in a case of generating three kinds of voltages as voltages for conducting or transferring the voltage VERA.

When the processor230determines to execute the data erase operation (i.e. step S5001, Yes), the processor230determines which of a plurality of ranges (e.g. three ranges in this example) the write/erase (WE) cycle number stored in the internal memory220belongs to.

For an example, three ranges, namely a 34th range, a 35th range and a 36th range, are provided. When the write/erase cycle number is equal to or less than a value W, the sequencer230determines that the write/erase cycle number is in the 34th range. When the write/erase cycle number is more than the value W and is equal to or less than a value X, the processor230determines that the write/erase cycle number is in the 35th range. When the write/erase cycle number is more than the value X, the processor230determines that the write/erase cycle number is in the 36th range. The value W and value X may be preset, or may be arbitrarily set by a user.

Upon determination of which of the ranges the write/erase cycle number belongs to, the processor230determines the voltage of the signal VBSTE at the time of the erase.

Specifically, when the processor230determines that the write/erase cycle number belongs to the 34th range, the processor230sets the signal VBSTE to a voltage VERAH34 (VERA<VERAH34). When the processor230determines that the write/erase cycle number belongs to the 35th range, the processor230sets the signal VBSTE to a voltage VERAH35 (VERAH34<VERAH35). When the processor230determines that the write/erase cycle number belongs to the 36th range, the processor230sets the signal VBSTE to a voltage VERAH36 (VERAH35<VERAH36).

The configuration may generate the three kinds of voltages as the voltages for conducting or transferring the voltage VERA.

Although the method of generating the three kinds of voltages as the voltages for conducting or transferring the voltage VERA is described herein for simplicity, four or more kinds of voltages may be generated similarly.

<6> Additional Description

In the above-described embodiments and modification examples, the case is discussed in which a memory cell array110of a three-dimensionally stacked-type memory is provided. However, even when they are applied to a memory cell array of a planar-type memory, the advantageous effects similar to the above-described embodiments and modification examples are obtained.

The configuration of the memory cell array110is disclosed, for example, in U.S. patent application Ser. No. 12/397,711 filed Mar. 3, 2009 and entitled “SEMICONDUCTOR MEMORY DEVICE HAVING PLURALITY OF TYPES OF MEMORIES INTEGRATED ON ONE CHIP”. The configuration of the memory cell array110is also disclosed in U.S. patent application Ser. No. 13/451,185 filed Apr. 19, 2012, and entitled “SEMICONDUCTOR MEMORY DEVICE INCLUDING STACKED GATE HAVING CHARGE ACCUMULATION LAYER AND CONTROL GATE AND METHOD OF WRITING DATA TO SEMICONDUCTOR MEMORY DEVICE”, U.S. patent application Ser. No. 12/405,626 filed Mar. 17, 2009 and entitled “NONVOLATILE SEMICONDUCTOR MEMORY ELEMENT, NONVOLATILE SEMICONDUCTOR MEMORY, AND METHOD FOR OPERATING NONVOLATILE SEMICONDUCTOR MEMORY ELEMENT”, and U.S. patent application Ser. No. 09/956,986 filed Sep. 21, 2001 and entitled “NONVOLATILE SEMICONDUCTOR MEMORY DEVICE HAVING ELEMENT ISOLATING REGION OF TRENCH TYPE AND METHOD OF MANUFACTURING THE SAME”. The entirety of these patent applications is incorporated in the present specification by reference.

In each of the above-described embodiments and modification examples, the memory system1which is configured to include a single NAND flash memory100is described, but the configurations are not limited to it. Even when the memory system1includes a plurality of NAND flash memories100, the similar advantageous effects are obtained.

In each of the above-described embodiments and modification examples, the NAND flash memory100which is configured to include a single memory cell array110is described, but the configuration is not limited to it. Even when the NAND flash memory100includes a plurality of memory cell arrays110, the similar advantageous effects are obtained.

The above-described operations of the program, program verify, erase and erase verify are discussed by way of example. The waveforms, other than the waveforms of the signals VBST, VRDEC and VBSTE, may be variously modified.

The term “connect”, “connected” or “connection” in each of the above-described embodiments and modification examples includes a state of “indirect connection” via one or more elements such as a transistor or a resistor.