[go: up one dir, main page]

JP2014132512A - Nonvolatile semiconductor memory device and writing method thereof - Google Patents

Nonvolatile semiconductor memory device and writing method thereof Download PDF

Info

Publication number
JP2014132512A
JP2014132512A JP2014084843A JP2014084843A JP2014132512A JP 2014132512 A JP2014132512 A JP 2014132512A JP 2014084843 A JP2014084843 A JP 2014084843A JP 2014084843 A JP2014084843 A JP 2014084843A JP 2014132512 A JP2014132512 A JP 2014132512A
Authority
JP
Japan
Prior art keywords
program
memory cell
data
word line
start voltage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014084843A
Other languages
Japanese (ja)
Other versions
JP5784788B2 (en
Inventor
Shingen Senoo
真言 妹尾
Hideki Arakawa
秀貴 荒川
Riichiro Shirata
理一郎 白田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Powerchip Technology Corp
Original Assignee
Powerchip Technology Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Powerchip Technology Corp filed Critical Powerchip Technology Corp
Priority to JP2014084843A priority Critical patent/JP5784788B2/en
Publication of JP2014132512A publication Critical patent/JP2014132512A/en
Application granted granted Critical
Publication of JP5784788B2 publication Critical patent/JP5784788B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Read Only Memory (AREA)

Abstract

【課題】プログラム後のしきい値電圧分布のバラツキを最小化し、高速の書き換え特性を得る。
【解決手段】不揮発性のメモリセルアレイと、上記メモリセルアレイへの書き込みを制御する制御回路とを備えた不揮発性半導体記憶装置において、上記制御回路は、書き込むメモリセルのデータを消去する消去処理の前において、上記メモリセルアレイに書き込むときのプログラム速度を検出し、当該プログラム速度に対応するプログラム開始電圧をブロック毎又はワード線毎に決定して、上記決定したプログラム開始電圧を上記メモリセルアレイに格納し、上記メモリセルアレイからプログラム開始電圧を読み出して所定のデータを書き込む。
【選択図】図19
Variations in threshold voltage distribution after programming are minimized, and high-speed rewriting characteristics are obtained.
In a non-volatile semiconductor memory device including a non-volatile memory cell array and a control circuit for controlling writing to the memory cell array, the control circuit performs an erasing process for erasing data of a memory cell to be written. Detecting a program speed when writing to the memory cell array, determining a program start voltage corresponding to the program speed for each block or word line, and storing the determined program start voltage in the memory cell array, A program start voltage is read from the memory cell array and predetermined data is written.
[Selection] Figure 19

Description

本発明は、例えばフラッシュメモリなどの電気的書き換え可能な不揮発性半導体記憶装置(EEPROM)とその書き込み方法に関する。   The present invention relates to an electrically rewritable nonvolatile semiconductor memory device (EEPROM) such as a flash memory and a writing method thereof.

ビット線とソース線との間に複数のメモリセルトランジスタ(以下、メモリセルという)を直列に接続してNANDストリングを構成し、高集積化を実現したNAND型不揮発性半導体記憶装置が知られている(例えば、特許文献1〜4参照。)。   2. Description of the Related Art A NAND-type nonvolatile semiconductor memory device is known in which a NAND string is configured by connecting a plurality of memory cell transistors (hereinafter referred to as memory cells) in series between a bit line and a source line to realize high integration. (For example, refer to Patent Documents 1 to 4.)

一般的なNAND型不揮発性半導体記憶装置において、消去は、半導体基板に例えば20Vの高電圧を印加し、ワード線に0Vを印加する。これにより、例えばポリシリコンなどからなる電荷蓄積層であるフローティングゲートより電子を引き抜いて、しきい値を消去しきい値(例えば、−3V)よりも低くする。一方、書き込み(プログラム)においては、半導体基板に0Vを与え、制御ゲートに例えば20Vの高電圧を印加する。これにより、半導体基板よりフローティングゲートに電子を注入することにより、しきい値を書き込みしきい値(例えば、1V)よりも高くする。これらのしきい値をとるメモリセルは、書き込みしきい値と読み出ししきい値の間の読み出し電圧(例えば、0V)を制御ゲートに印加することにより、そのメモリセルに電流が流れるか否かにより、その状態を判断することができる。   In a general NAND type nonvolatile semiconductor memory device, erasing is performed by applying a high voltage of, for example, 20V to the semiconductor substrate and applying 0V to the word line. As a result, electrons are extracted from the floating gate, which is a charge storage layer made of, for example, polysilicon, and the threshold value is made lower than the erase threshold value (for example, −3 V). On the other hand, in writing (programming), 0 V is applied to the semiconductor substrate, and a high voltage of, for example, 20 V is applied to the control gate. As a result, by injecting electrons from the semiconductor substrate into the floating gate, the threshold value is made higher than the write threshold value (for example, 1 V). A memory cell having these threshold values depends on whether a current flows through the memory cell by applying a read voltage (for example, 0 V) between the write threshold value and the read threshold value to the control gate. The state can be determined.

以上のように構成された不揮発性半導体記憶装置において、書き込み対象であるメモリセルにプログラム動作により書き込みを行うと、メモリセルトランジスタのフローティングゲートに電荷が注入されしきい値電圧が上昇する。これにより、ゲートにしきい値以下の電圧を印加しても電流が流れなくなり、データ「0」を書き込んだ状態が達成される。一般に、消去状態のメモリセルのしきい値電圧にはバラツキがあり、プロセスバラツキにより書き込み速度にもバラツキがある。従って、所定の書き込み電圧を印加してプログラム動作を実行し、しきい値電圧がベリファイレベル以上になるようにベリファイすると、書き込み後のメモリセルのしきい値電圧はベリファイレベル以上である程度分布を有するものとなる。   In the nonvolatile semiconductor memory device configured as described above, when a write operation is performed on a memory cell to be written by a program operation, charges are injected into the floating gate of the memory cell transistor and the threshold voltage rises. As a result, even when a voltage equal to or lower than the threshold is applied to the gate, no current flows, and a state in which data “0” is written is achieved. Generally, the threshold voltage of an erased memory cell varies, and the writing speed also varies due to process variations. Therefore, when a program operation is executed by applying a predetermined write voltage and the threshold voltage is verified to be equal to or higher than the verify level, the threshold voltage of the memory cell after writing has a certain distribution above the verify level. It will be a thing.

ところで、プロセスバラツキにより、書き込み速度のバラツキが大きなメモリに対して、より効果的に書き込む方法としてISPP(Increment Step Pulse Program)法が用いられている。すなわち、プロセス上の加工バラツキが大きいと、1パルスによるメモリセルの書き込み後のしきい値電圧分布は大きくなる。単に、ビット毎にベリファイ技術を用いても、しきい値電圧を狭く制御しようとすると、木目細かく書き込み/ベリファイを繰り返さねばならず、結果として書き込みに長い時間が必要となる。そこで、図4に示すように、プログラムパルスPPの電圧をプログラム開始電圧Vstartから開始して、所定のステップ電圧Vstepだけ上昇させつつかつビット毎にベリファイする方法が用いられている。   Incidentally, an ISPP (Increment Step Pulse Program) method is used as a method for more effectively writing to a memory having a large writing speed variation due to process variations. That is, when the process variation in the process is large, the threshold voltage distribution after the memory cell is written by one pulse becomes large. Even if the verify technique is simply used for each bit, if the threshold voltage is controlled to be narrow, writing / verification must be repeated finely, resulting in a long time for writing. Therefore, as shown in FIG. 4, a method is used in which the voltage of the program pulse PP is started from the program start voltage Vstart and increased by a predetermined step voltage Vstep and verified for each bit.

特開平9−147582号公報JP-A-9-147582 特開2000−285692号公報JP 2000-285692 A 特開2003−346485号公報JP 2003-346485 A 特開2001−028575号公報JP 2001-028575 A 特開2001−325796号公報JP 2001-325796 A 特開2010−102751号公報JP 2010-102751 A 特開2009−283117号公報JP 2009-283117 A

ここで、NAND型フラッシュEEPROMをプログラムして所定のしきい値電圧分布を得るためには、プログラム開始電圧Vstartは以下に示すように、重要なパラメータである。図5に示すように、プログラム開始電圧Vstartはしきい値電圧分布の幅を決定し、ここで、しきい値電圧分布を狭くするためには、より低いプログラム開始電圧Vstartを用いることが好ましいが、プログラム時間が長くなる。一方、より高いプログラム開始電圧Vstartを用いると、プログラム時間は短くなるが、しきい値電圧分布が広くなるという問題点があった。また、プログラム及び消去のサイクルの後、もしプログラム開始電圧Vstartが同一であれば、しきい値電圧分布の幅は広くなり、プログラム速度はメモリセルアレイのブロックにおけるワード線に依存してばらつくという問題点があった。従って、プログラム開始電圧Vstartの最適化は重要な課題である。   Here, in order to obtain a predetermined threshold voltage distribution by programming the NAND flash EEPROM, the program start voltage Vstart is an important parameter as shown below. As shown in FIG. 5, the program start voltage Vstart determines the width of the threshold voltage distribution. Here, in order to narrow the threshold voltage distribution, it is preferable to use a lower program start voltage Vstart. , The program time becomes longer. On the other hand, when a higher program start voltage Vstart is used, the program time is shortened but the threshold voltage distribution is widened. Also, after the program and erase cycles, if the program start voltage Vstart is the same, the threshold voltage distribution becomes wider and the program speed varies depending on the word lines in the memory cell array block. was there. Therefore, optimization of the program start voltage Vstart is an important issue.

従来技術では、一般的に、1つのチップに対して同一のプログラム開始電圧Vstartを用いている。出願人の製造過程でも、1つのチップに対してブロック毎又はワード線毎のプログラム速度のバラツキを考慮に入れていないのが実情である(例えば、特許文献6参照。)。また、上述のように、プログラム速度が高速であるときは、各該当ブロックに対してしきい値電圧分布が広くなる。従って、データ書き換えに伴う酸化膜自身の劣化の耐久性が悪化し、高速な多回数の書き換え特性を得ることが難しいという問題点があった。   In the prior art, the same program start voltage Vstart is generally used for one chip. Even in the manufacturing process of the applicant, the actual situation is that the variation in the program speed for each block or word line is not taken into consideration for one chip (for example, see Patent Document 6). Further, as described above, when the program speed is high, the threshold voltage distribution is wide for each corresponding block. Therefore, there is a problem that the durability of deterioration of the oxide film itself accompanying data rewriting deteriorates, and it is difficult to obtain a high-speed and many-time rewriting characteristic.

図6は図4のISPP(Increment Step Pulse Program)法を用いてNAND型フラッシュEEPROMをプログラムするときに同一のプログラム開始電圧Vstartを用いてプログラムしたときのしきい値電圧Vth分布を示す図である。図11は従来技術で用いるプログラム開始電圧Vstartを示す表である。図11のごとく、各ブロックで同一のプログラム開始電圧Vstartを用いてプログラムした場合、図6から明らかなように、しきい値電圧分布がばらつくという問題点があった。   FIG. 6 is a diagram showing a threshold voltage Vth distribution when the NAND flash EEPROM is programmed using the same program start voltage Vstart when the ISPP (Increment Step Pulse Program) method of FIG. 4 is programmed. . FIG. 11 is a table showing the program start voltage Vstart used in the prior art. As shown in FIG. 11, when programming is performed using the same program start voltage Vstart in each block, there is a problem that the threshold voltage distribution varies as apparent from FIG.

この問題点を解決するために、例えば特許文献7においてプログラム開始電圧を変化する方法が開示されている。特許文献7において開示された不揮発性メモリ装置のプログラム方法は、各セルのプログラム速度に応じてプログラム開始電圧を異なって設定する不揮発性メモリ装置のプログラム方法を提供することを目的としており、第1頁に対してプログラム動作を行う段階と、前記第1頁に対するプログラム動作が完了するまでプログラムパルス印加回数をカウントする段階と、前記カウントされたプログラムパルス印加回数としきい値を比較してプログラム開始電圧を再設定する段階と、第2頁に対して前記再設定されたプログラム開始電圧に応じてプログラム動作を行う段階とを含む構成としたことを特徴としている。   In order to solve this problem, for example, Patent Document 7 discloses a method of changing the program start voltage. The non-volatile memory device programming method disclosed in Patent Document 7 aims to provide a non-volatile memory device programming method in which the program start voltage is set differently according to the programming speed of each cell. Performing a program operation on a page, counting a program pulse application count until the program operation on the first page is completed, comparing the counted program pulse application count with a threshold value, and a program start voltage And a step of performing a program operation according to the reset program start voltage with respect to the second page.

上記の特許文献7のプログラム方法では、第1頁においては最適なプログラム開始電圧を用いることができず、ページ間の書き込みバラツキは補正されず、また、プログラムパルスの計数のみでは、しきい値電圧分布のバラツキがなくなるようにプログラム開始電圧を最適化することは難しいという問題点があった。   In the programming method of the above-mentioned patent document 7, the optimum program start voltage cannot be used on the first page, the writing variation between pages is not corrected, and the threshold voltage is determined only by counting the program pulses. There is a problem that it is difficult to optimize the program start voltage so as to eliminate the variation in distribution.

本発明の目的は以上の問題点を解決し、プログラム後のしきい値電圧分布のバラツキを最小化し、高速で多回数の書き換え特性を得ることができる不揮発性半導体記憶装置とその書き込み方法を提供することにある。   SUMMARY OF THE INVENTION An object of the present invention is to provide a nonvolatile semiconductor memory device and a writing method thereof that can solve the above-described problems, minimize variations in threshold voltage distribution after programming, and obtain high-speed and many-time rewriting characteristics. There is to do.

第1の発明に係る不揮発性半導体記憶装置は、
不揮発性のメモリセルアレイと、上記メモリセルアレイへの書き込みを制御する制御回路とを備えた不揮発性半導体記憶装置において、
上記制御回路は、書き込むメモリセルのデータを消去する消去処理のための消去パルスを印加する前の段階において、上記メモリセルアレイに書き込むときのプログラム速度を検出し、当該プログラム速度に対応するプログラム開始電圧をブロック毎又はワード線毎に決定して、上記決定したプログラム開始電圧を上記メモリセルアレイに格納し、上記メモリセルアレイからプログラム開始電圧を読み出して所定のデータを書き込むことを特徴とする。
The nonvolatile semiconductor memory device according to the first invention is
In a nonvolatile semiconductor memory device comprising a nonvolatile memory cell array and a control circuit for controlling writing to the memory cell array,
The control circuit detects a program speed when writing to the memory cell array and applies a program start voltage corresponding to the program speed before applying an erase pulse for an erase process for erasing data of a memory cell to be written. Is determined for each block or each word line, the determined program start voltage is stored in the memory cell array, the program start voltage is read from the memory cell array, and predetermined data is written.

上記不揮発性半導体記憶装置において、上記制御回路は、上記書き込むメモリセルのデータを消去する消去処理のための消去パルスを印加する前の段階において、上記メモリセルアレイのワード線上のメモリセルに格納されたデータを用いて上記プログラム速度を検出することを特徴とする。   In the nonvolatile semiconductor memory device, the control circuit is stored in a memory cell on a word line of the memory cell array before applying an erase pulse for erasing processing for erasing data of the memory cell to be written. The program speed is detected using data.

もしくは、上記制御回路は、上記書き込むメモリセルのデータを消去する消去処理のための消去パルスを印加する前の段階において、上記メモリセルアレイのダミーワード線上の所定のメモリセルを用いて上記プログラム速度を検出することを特徴とする。   Alternatively, the control circuit uses the predetermined memory cell on the dummy word line of the memory cell array to increase the program speed before applying an erase pulse for erasing processing for erasing data of the memory cell to be written. It is characterized by detecting.

もしくは、上記制御回路は、上記書き込むメモリセルのデータを消去する消去処理のための消去パルスを印加する前の段階において、上記メモリセルアレイのワード線上の所定のメモリセルを用いて上記プログラム速度を検出することを特徴とする。   Alternatively, the control circuit detects the program speed using a predetermined memory cell on a word line of the memory cell array in a stage before applying an erase pulse for erasing processing for erasing data of the memory cell to be written. It is characterized by doing.

また、上記不揮発性半導体記憶装置において、上記制御回路は、上記各消去処理に対して、1本のみのワード線上のデータを用いてプログラム速度を検出することを特徴とする。   In the nonvolatile semiconductor memory device, the control circuit detects a program speed using data on only one word line for each erasing process.

ここで、前記1本のみのワード線上のデータを用いてプログラム速度を検出する場合、このプログラム速度を検出するワード線のメモリセルストリング内の位置を上記消去処理毎にシフトさせて、所定の消去処理回数で1サイクルとすることを特徴とする。   Here, when the program speed is detected using the data on only one word line, the position in the memory cell string of the word line for detecting the program speed is shifted for each erasing process, and a predetermined erase is performed. The number of processes is one cycle.

さらに、上記不揮発性半導体記憶装置において、前記プログラム速度の検出チェックは、上記消去処理毎に消去回数をカウントしてその情報をフラグビットとしてプログラム速度データと同様に格納し、前記消去回数が所定の回数になったときにプログラム速度チェックを行いそのデータを更新することを特徴とする。   Further, in the nonvolatile semiconductor memory device, the program speed detection check is performed by counting the number of times of erasing for each erasing process and storing the information as a flag bit in the same manner as the program speed data. The program speed check is performed when the number of times is reached, and the data is updated.

またさらに、上記不揮発性半導体記憶装置において、上記制御回路は、上記決定したプログラム開始電圧を上記メモリセルアレイのダミーのワード線上のメモリセルに格納することを特徴とする。   Still further, in the nonvolatile semiconductor memory device, the control circuit stores the determined program start voltage in a memory cell on a dummy word line of the memory cell array.

またさらに、上記不揮発性半導体記憶装置において、上記制御回路は、上記決定したプログラム開始電圧を上記メモリセルアレイのダミーのワード線上のメモリセルに格納することを特徴とする。   Still further, in the nonvolatile semiconductor memory device, the control circuit stores the determined program start voltage in a memory cell on a dummy word line of the memory cell array.

またさらに、上記不揮発性半導体記憶装置において、上記制御回路は、上記決定したプログラム開始電圧を上記メモリセルアレイのワード線上の付加的なメモリセルに格納し、当該メモリセルからプログラム開始電圧を読み出すときに、上記決定したプログラム開始電圧を格納するために、各ワード線に対して、プログラム速度の検出を行うワード線数Nに対応するNバイトのメモリ領域を準備し、上記各消去処理に対応するプログラム速度の検出において用いたワード線上のメモリセルに上記決定したプログラム開始電圧を格納することを特徴とする。   Still further, in the nonvolatile semiconductor memory device, the control circuit stores the determined program start voltage in an additional memory cell on a word line of the memory cell array, and reads the program start voltage from the memory cell. In order to store the determined program start voltage, an N-byte memory area corresponding to the number N of word lines whose program speed is detected is prepared for each word line, and a program corresponding to each erasing process is prepared. The determined program start voltage is stored in a memory cell on a word line used for speed detection.

ここで、前記決定したプログラム開始電圧を格納するために、各ワード線に対して、プログラム速度の検出を行うワード線数Nに対応する少なくともNバイトのメモリ領域を準備し、上記各消去処理に対応するプログラム速度の検出において用いたワード線上のメモリセルに上記決定したプログラム開始電圧を格納することを特徴とする。   Here, in order to store the determined program start voltage, a memory area of at least N bytes corresponding to the number N of word lines whose program speed is detected is prepared for each word line, The determined program start voltage is stored in a memory cell on a word line used in detecting the corresponding program speed.

ここで、前記プログラム速度を検出するワード線がストリングの両隣等の少なくとも1本以上のワード線のデータも兼ねる場合は、前記速度の検出を行ったワード線上に格納するのではなく、それが代表したワード線上の(N+1)バイトのメモリ領域を使用して、消去処理毎にシフトさせることを特徴とする。   Here, when the word line for detecting the program speed also serves as data for at least one word line on both sides of the string, it is not stored on the word line for which the speed has been detected. The memory area of (N + 1) bytes on the word line is used and shifted every erasing process.

上記不揮発性半導体記憶装置において、上記制御回路は、上記決定したプログラム開始電圧を上記メモリセルアレイのダミーのワード線上あるいはワード線上のメモリセルに格納するにあたり、当該プログラム開始電圧のデータにECC(Error Correcting Code)のビットを付加して書き込み、前記ECCのビットを付加して書き込むときに、データ1ビットに対して3ビット以上のビットセルを用いて書き込むことを特徴とする。   In the nonvolatile semiconductor memory device, the control circuit stores the determined program start voltage in a dummy word line of the memory cell array or a memory cell on the word line. Code) bits are added and writing is performed, and when ECC bits are added and written, writing is performed using three or more bit cells for one bit of data.

また、上記不揮発性半導体記憶装置において、上記制御回路は、上記格納されたプログラム開始電圧を1回の読み出しサイクルで読み出して、上記読み出したプログラム開始電圧を用いて所定のデータを書き込むことを特徴とする。   In the nonvolatile semiconductor memory device, the control circuit reads the stored program start voltage in one read cycle, and writes predetermined data using the read program start voltage. To do.

さらに、上記不揮発性半導体記憶装置において、上記制御回路は、上記格納されたプログラム開始電圧を1回の読み出しサイクルで読み出して、上記読み出したすべてのプログラム開始電圧をレジスタに記憶して、所定のデータを書き込むプログラム処理が該当ブロック内であれば、そのレジスタから該当ワード線のプログラム開始電圧を読み出して所定のデータを書き込むことを特徴とする。   Further, in the nonvolatile semiconductor memory device, the control circuit reads the stored program start voltage in one read cycle, stores all the read program start voltages in a register, and stores predetermined data If the program processing for writing is within the corresponding block, the program start voltage of the corresponding word line is read from the register and predetermined data is written.

第2の発明に係る不揮発性半導体記憶装置の書き込み方法は、不揮発性のメモリセルアレイと、上記メモリセルアレイへの書き込みを制御する制御回路とを備えた不揮発性半導体記憶装置の書き込み方法において、
上記制御回路は、書き込むメモリセルのデータを消去する消去処理のための消去パルスを印加する前の段階において、上記メモリセルアレイに書き込むときのプログラム速度を検出し、当該プログラム速度に対応するプログラム開始電圧をブロック毎又はワード線毎に決定して、上記決定したプログラム開始電圧を上記メモリセルアレイに格納し、上記メモリセルアレイからプログラム開始電圧を読み出して所定のデータを書き込むことを特徴とする。
A nonvolatile semiconductor memory device writing method according to a second aspect of the present invention is a nonvolatile semiconductor memory device writing method comprising a nonvolatile memory cell array and a control circuit for controlling writing to the memory cell array.
The control circuit detects a program speed when writing to the memory cell array and applies a program start voltage corresponding to the program speed before applying an erase pulse for an erase process for erasing data of a memory cell to be written. Is determined for each block or each word line, the determined program start voltage is stored in the memory cell array, the program start voltage is read from the memory cell array, and predetermined data is written.

従って、本発明に係る不揮発性半導体記憶装置とその書き込み方法によれば、書き込むメモリセルのデータを消去する消去処理の前又は後において、上記メモリセルアレイに書き込むときのプログラム速度を検出し、当該プログラム速度に対応するプログラム開始電圧をブロック毎又はワード線毎に決定して、上記決定したプログラム開始電圧を上記メモリセルアレイに格納し、上記メモリセルアレイからプログラム開始電圧を読み出して所定のデータを書き込む。従って、プログラム後のしきい値電圧分布のバラツキを最小化し、高速及び多回数の書き換え特性を得ることができる。   Therefore, according to the nonvolatile semiconductor memory device and the writing method thereof according to the present invention, the program speed when writing to the memory cell array is detected before or after the erasing process for erasing the data of the memory cell to be written, and the program A program start voltage corresponding to the speed is determined for each block or word line, the determined program start voltage is stored in the memory cell array, the program start voltage is read from the memory cell array, and predetermined data is written. Therefore, variations in the threshold voltage distribution after programming can be minimized, and high-speed and many-time rewriting characteristics can be obtained.

本発明の一実施形態に係るNAND型フラッシュEEPROMの全体構成を示すブロック図である。1 is a block diagram showing an overall configuration of a NAND flash EEPROM according to an embodiment of the present invention. 図1のメモリセルアレイ10とその周辺回路の構成を示す回路図である。FIG. 2 is a circuit diagram showing a configuration of a memory cell array 10 of FIG. 1 and its peripheral circuits. 図2のページバッファ(2本のビットライン分)の詳細構成を示す回路図である。FIG. 3 is a circuit diagram illustrating a detailed configuration of a page buffer (for two bit lines) in FIG. 2. 従来技術に係るISPP(Increment Step Pulse Program)法を用いてNAND型フラッシュEEPROMをプログラムするときの書き込み方法を示すタイミングチャートである。It is a timing chart showing a writing method when programming a NAND type flash EEPROM using an ISPP (Increment Step Pulse Program) method according to the prior art. 図4のISPP(Increment Step Pulse Program)法を用いてNAND型フラッシュEEPROMをプログラムするときにプログラム開始電圧Vstartを変化させたときのしきい値電圧Vth分布を示す図である。FIG. 5 is a diagram showing a threshold voltage Vth distribution when a program start voltage Vstart is changed when programming a NAND flash EEPROM using the ISPP (Increment Step Pulse Program) method of FIG. 4. 図4のISPP(Increment Step Pulse Program)法を用いてNAND型フラッシュEEPROMをプログラムするときに同一のプログラム開始電圧Vstartを用いてプログラムしたときのしきい値電圧Vth分布を示す図である。FIG. 5 is a diagram illustrating a threshold voltage Vth distribution when programming a NAND flash EEPROM using the same program start voltage Vstart when the ISPP (Increment Step Pulse Program) method of FIG. 4 is programmed. 一般的なNAND型フラッシュEEPROMにおけるページとブロックの概念を示す3次元概念図である。It is a three-dimensional conceptual diagram showing the concept of pages and blocks in a general NAND flash EEPROM. 本発明の実施形態に係る、プログラム開始電圧Vstartを各ブロック又はワード線毎に最適化する書き込み方法を用いたときの作用効果を示すしきい値電圧Vth分布図である。FIG. 10 is a threshold voltage Vth distribution diagram showing an operation and effect when a write method for optimizing a program start voltage Vstart for each block or word line is used according to an embodiment of the present invention. 図8の書き込み方法で用いるプログラム速度チェック処理の作用効果を示すしきい値電圧Vth分布図である。FIG. 9 is a threshold voltage Vth distribution diagram showing the effect of the program speed check process used in the writing method of FIG. 8. 図9のプログラム速度チェック処理のためのワード線の選択方法を示す図である。It is a figure which shows the selection method of the word line for the program speed check process of FIG. 従来技術で用いるプログラム開始電圧Vstartを示す表である。It is a table | surface which shows the program start voltage Vstart used with a prior art. 本発明の実施形態で用いるプログラム開始電圧Vstartを示す表である。It is a table | surface which shows the program start voltage Vstart used in embodiment of this invention. 本発明の第1の実施形態に係るプログラム処理を示すフローチャートである。It is a flowchart which shows the program processing which concerns on the 1st Embodiment of this invention. 図13のサブルーチンであるプログラム処理(S4)を示すフローチャートである。It is a flowchart which shows the program process (S4) which is a subroutine of FIG. 第1の実施形態のプログラム処理に先立って実行される消去処理を示すフローチャートを示す。3 is a flowchart illustrating an erasing process that is executed prior to the program process of the first embodiment. 図15のサブルーチンであるプログラム速度チェック処理(S21)を示すフローチャートである。It is a flowchart which shows the program speed check process (S21) which is a subroutine of FIG. 第1の実施形態のプログラム処理に先立って実行される消去処理(実施例2)を示すフローチャートを示す。6 is a flowchart illustrating an erasing process (Example 2) executed prior to the program process of the first embodiment. 図17のサブルーチンであるプログラム速度チェック処理(S42)を示すフローチャートである。It is a flowchart which shows the program speed check process (S42) which is a subroutine of FIG. 本発明の第2の実施形態に係る消去処理を示すフローチャートである。It is a flowchart which shows the deletion process which concerns on the 2nd Embodiment of this invention. 本発明の変形例に係る処理であって、上記プログラム処理において、通常のワード線上の付加的なメモリセルを用いてプログラム開始電圧及びフラグデータを格納するためのプログラム開始電圧及びフラグデータ格納処理(S23,S43,S65)を示すフローチャートである。A process according to a modification of the present invention, wherein in the program process, a program start voltage and flag data storage process for storing a program start voltage and flag data using an additional memory cell on a normal word line ( It is a flowchart which shows S23, S43, S65). 本発明の変形例に係る処理(S61)であって、上記プログラム処理において、通常のワード線上の付加的なメモリセルからプログラム開始電圧及びフラグデータを読み出すためのプログラム開始電圧及びフラグデータ読み出しを示すフローチャートである。A process (S61) according to a modification of the present invention, in the program process, shows a program start voltage and flag data reading for reading a program start voltage and flag data from an additional memory cell on a normal word line. It is a flowchart.

以下、本発明に係る実施形態について図面を参照して説明する。なお、以下の各実施形態において、同様の構成要素については同一の符号を付している。   Hereinafter, embodiments according to the present invention will be described with reference to the drawings. In addition, in each following embodiment, the same code | symbol is attached | subjected about the same component.

図1は本発明の一実施形態に係るNAND型フラッシュEEPROMの全体構成を示すブロック図である。また、図2は図1のメモリセルアレイ10とその周辺回路の構成を示す回路図である。さらに、図3は図2のページバッファ(2本のビットライン分)の詳細構成を示す回路図である。まず、本実施形態に係るNAND型フラッシュEEPROMの構成について以下に説明する。   FIG. 1 is a block diagram showing the overall configuration of a NAND flash EEPROM according to an embodiment of the present invention. FIG. 2 is a circuit diagram showing the configuration of the memory cell array 10 of FIG. 1 and its peripheral circuits. FIG. 3 is a circuit diagram showing the detailed configuration of the page buffer (for two bit lines) in FIG. First, the configuration of the NAND flash EEPROM according to this embodiment will be described below.

図1において、本実施形態に係るNAND型フラッシュEEPROMは、メモリセルアレイ10と、その動作を制御する制御回路11と、ロウデコーダ12と、高電圧発生回路13と、データ書き換え及び読み出し回路14と、カラムデコーダ15と、コマンドレジスタ17と、アドレスレジスタ18と、動作ロジックコントローラ19と、データ入出力バッファ50と、データ入出力端子51とを備えて構成される。   In FIG. 1, a NAND flash EEPROM according to this embodiment includes a memory cell array 10, a control circuit 11 for controlling the operation thereof, a row decoder 12, a high voltage generation circuit 13, a data rewrite / read circuit 14, A column decoder 15, a command register 17, an address register 18, an operation logic controller 19, a data input / output buffer 50, and a data input / output terminal 51 are configured.

メモリセルアレイ10は、図2に示すように、例えば18個のスタックト・ゲート構造の電気的書き換え可能な不揮発性メモリセルMC0〜MC15,MCD0,MCD1を直列接続してNANDセルユニットNU(NU0,NU1, …)が構成される。各NANDセルユニットNUは、ドレイン側が選択ゲートトランジスタSG1を介してビット線BLに接続され、ソース側が選択ゲートトランジスタSG2を介して共通ソース線CELSRCに接続される。ロウ方向に並ぶメモリセルMCの制御ゲートは共通にワード線WLに接続され、選択ゲートトランジスタSG1,SG2のゲート電極はワード線WLと平行して配設される選択ゲート線SGD,SGSに接続される。ここで、選択ゲート線SGSとワード線WL0との間に、各ワード線と平行してダミーワード線DWL0が形成され、選択ゲート線SGDとワード線WL15との間に、各ワード線と平行してダミーワード線DWL1が形成される。1本の各ワード線WLにより選択されるメモリセルの範囲が書き込み及び読み出しの単位となる1ページである。1ページ又はその整数倍の範囲の複数のNANDセルユニットNUの範囲がデータ消去の単位である1ブロックとなる。書き換え及び読み出し回路14は、ページ単位のデータ書き込み及び読み出しを行うために、ビット線毎に設けられたセンスアンプ回路(SA)及びラッチ回路(DL)を含み、以下、ページバッファという。   As shown in FIG. 2, the memory cell array 10 includes, for example, 18 stacked gate structure electrically rewritable nonvolatile memory cells MC0 to MC15, MCD0, MCD1 connected in series to NAND cell units NU (NU0, NU1). ,…) Is constructed. Each NAND cell unit NU has a drain side connected to the bit line BL via the selection gate transistor SG1, and a source side connected to the common source line CELSRC via the selection gate transistor SG2. The control gates of the memory cells MC arranged in the row direction are commonly connected to the word line WL, and the gate electrodes of the selection gate transistors SG1 and SG2 are connected to selection gate lines SGD and SGS arranged in parallel with the word line WL. The Here, a dummy word line DWL0 is formed between the selection gate line SGS and the word line WL0 in parallel with each word line, and between the selection gate line SGD and the word line WL15, in parallel with each word line. Thus, the dummy word line DWL1 is formed. A range of memory cells selected by one word line WL is one page as a unit of writing and reading. A range of a plurality of NAND cell units NU in one page or an integral multiple of one page is one block as a data erasing unit. The rewrite / read circuit 14 includes a sense amplifier circuit (SA) and a latch circuit (DL) provided for each bit line in order to write and read data in page units, and is hereinafter referred to as a page buffer.

図2のメモリセルアレイ10は、簡略化した構成を有し、複数のビット線でページバッファを共有してもよい。この場合は、データ書き込み又は読み出し動作時にページバッファに選択的に接続されるビット線数が1ページの単位となる。また、図2は、1個の入出力端子52との間でデータの入出力が行われるセルアレイの範囲を示している。メモリセルアレイ10のワード線WL及びビット線BLの選択を行うために、それぞれロウデコーダ12及びカラムデコーダ15が設けられている。制御回路11は、データ書き込み、消去及び読み出しのシーケンス制御を行う。制御回路11により制御される高電圧発生回路13は、データ書き換え、消去、読み出しに用いられる昇圧された高電圧や中間電圧を発生する。   The memory cell array 10 in FIG. 2 has a simplified configuration, and a page buffer may be shared by a plurality of bit lines. In this case, the number of bit lines selectively connected to the page buffer at the time of data write or read operation is a unit of one page. FIG. 2 shows a range of the cell array in which data is input / output to / from one input / output terminal 52. In order to select a word line WL and a bit line BL of the memory cell array 10, a row decoder 12 and a column decoder 15 are provided, respectively. The control circuit 11 performs sequence control of data writing, erasing and reading. The high voltage generation circuit 13 controlled by the control circuit 11 generates a boosted high voltage or intermediate voltage used for data rewriting, erasing, and reading.

入出力バッファ50は、データの入出力及びアドレス信号の入力に用いられる。すなわち、入出力バッファ50及びデータ線52を介して、入出力端子51とページバッファ14の間でデータの転送が行われる。入出力端子52から入力されるアドレス信号は、アドレスレジスタ18に保持され、ロウデコーダ12及びカラムデコーダ15に送られてデコードされる。入出力端子52からは動作制御のコマンドも入力される。入力されたコマンドはデコードされてコマンドレジスタ17に保持され、これにより制御回路11が制御される。チップイネーブル信号CEB、コマンドラッチイネーブルCLE、アドレスラッチイネーブル信号ALE、書き込みイネーブル信号WEB、読み出しイネーブル信号REB等の外部制御信号は動作ロジックコントロール回路19に取り込まれ、動作モードに応じて内部制御信号が発生される。内部制御信号は、入出力バッファ50でのデータラッチ、転送等の制御に用いられ、さらに制御回路11に送られて、動作制御が行われる。   The input / output buffer 50 is used for data input / output and address signal input. That is, data is transferred between the input / output terminal 51 and the page buffer 14 via the input / output buffer 50 and the data line 52. An address signal input from the input / output terminal 52 is held in the address register 18 and sent to the row decoder 12 and the column decoder 15 to be decoded. An operation control command is also input from the input / output terminal 52. The input command is decoded and held in the command register 17, whereby the control circuit 11 is controlled. External control signals such as a chip enable signal CEB, a command latch enable CLE, an address latch enable signal ALE, a write enable signal WEB, and a read enable signal REB are taken into the operation logic control circuit 19, and an internal control signal is generated according to the operation mode. Is done. The internal control signal is used for control such as data latch and transfer in the input / output buffer 50, and is further sent to the control circuit 11 for operation control.

ページバッファ14は、2個のラッチ回路14a,14bを備え、多値動作の機能とキャッシュの機能を切り換えて実行できるように構成されている。すなわち、1つのメモリセルに1ビットの2値データを記憶する場合に、キャッシュ機能を備え、1つのメモリセルに2ビットの4値データを記憶する場合には、キャッシュ機能とするか、又はアドレスによって制限されるがキャッシュ機能を有効とすることができる。そのような機能を実現するための具体的なページバッファ14A(2本のビットライン分)の詳細構成を図3に示す。   The page buffer 14 includes two latch circuits 14a and 14b, and is configured to be able to switch between a multi-value operation function and a cache function. That is, a cache function is provided when 1-bit binary data is stored in one memory cell, and a cache function is provided when 2-bit quaternary data is stored in one memory cell. However, the cache function can be enabled. FIG. 3 shows a detailed configuration of a specific page buffer 14A (for two bit lines) for realizing such a function.

図3において、ページバッファ14Aは、2個のインバータ61,62にてなるラッチL1と、2個のインバータ63,64にてなるラッチL2と、ベリファイ用キャパシタ70と、プリチャージ用トランジスタ71と、ベリファイ用トランジスタ72乃至75と、ベリファイ・パスフェイル判定トランジスタ76,77と、カラムゲートトランジスタ81,82と、転送スイッチトランジスタ83乃至85,88,89と、ビットライン選択トランジスタ86,87と、ラッチイコライズトランジスタ90と、リセットトランジスタ91とを備えて構成される。   In FIG. 3, the page buffer 14A includes a latch L1 composed of two inverters 61 and 62, a latch L2 composed of two inverters 63 and 64, a verifying capacitor 70, a precharging transistor 71, Verify transistors 72 to 75, verify pass / fail judgment transistors 76 and 77, column gate transistors 81 and 82, transfer switch transistors 83 to 85, 88 and 89, bit line select transistors 86 and 87, and latch equalization A transistor 90 and a reset transistor 91 are provided.

図3において、2本のビット線BLe,BLoがページバッファ14Aに選択的に接続されるようになっている。この場合、ビット線選択信号BLSE又はBLSOによって、ビットライン選択トランジスタ86又は87を導通させ、ビット線BLe又はビット線BLoの一方を選択的にページバッファ14Aに接続する。なお、一方のビット線が選択されている間、非選択状態である他方のビット線は、固定の接地電位や電源電圧電位にすることによって、隣接ビット線間のノイズを削減することが好ましい。   In FIG. 3, two bit lines BLe and BLo are selectively connected to the page buffer 14A. In this case, the bit line select signal 86 or 87 is turned on by the bit line select signal BLSE or BLSO, and either the bit line BLe or the bit line BLo is selectively connected to the page buffer 14A. Note that it is preferable to reduce noise between adjacent bit lines by setting the other bit line in the non-selected state to a fixed ground potential or power supply voltage potential while one bit line is selected.

図3のページバッファ14Aは、第1のラッチL1と、第2のラッチL2とを有する。ページバッファ14Aは所定の動作制御によって、主に読み出し、書き込み及び消去動作に寄与する。また、第2のラッチL2は、2値動作においては、キャッシュ機能を実現する二次的なラッチ回路であり、キャッシュ機能を使用しない場合には当該ページバッファ14Aの動作に補助的に寄与して多値動作を実現する。   The page buffer 14A shown in FIG. 3 includes a first latch L1 and a second latch L2. The page buffer 14A mainly contributes to read, write, and erase operations by predetermined operation control. The second latch L2 is a secondary latch circuit that realizes a cache function in a binary operation, and supplementarily contributes to the operation of the page buffer 14A when the cache function is not used. Realize multi-valued operation.

ラッチL1は、クロックト・インバータ61,62を逆並列接続して構成されている。メモリセルアレイ10のビット線BLは、転送スイッチトランジスタ85を介してセンスノードN4に接続され、センスノードN4はさらに転送スイッチトランジスタ83を介してラッチL1のデータ保持ノードN1に接続されている。センスノードN4には、プリチャージ用トランジスタ71が設けられている。ノードN1は、転送スイッチトランジスタ74,75を介してノードN1のデータを一時記憶するための一時記憶ノードN3に接続されている。さらに、ノードN4には、ビット線に対して電圧V1をプリチャージするためのプリチャージ用トランジスタ71も接続されている。ノードN4にはレベル保持のためのキャパシタ70が接続されている。キャパシタ70の他端は接地される。   The latch L1 is configured by connecting clocked inverters 61 and 62 in antiparallel. The bit line BL of the memory cell array 10 is connected to the sense node N4 via the transfer switch transistor 85, and the sense node N4 is further connected to the data holding node N1 of the latch L1 via the transfer switch transistor 83. A precharge transistor 71 is provided at the sense node N4. Node N1 is connected to temporary storage node N3 for temporarily storing data of node N1 via transfer switch transistors 74 and 75. Further, a precharging transistor 71 for precharging the voltage V1 with respect to the bit line is also connected to the node N4. A capacitor 70 for maintaining the level is connected to the node N4. The other end of the capacitor 70 is grounded.

第2のラッチL2は、第1のラッチL1と同様に、クロックト・インバータ63,64を逆並列接続して構成されている。ラッチL2の2つのデータノードN5,N6は、カラム選択信号CSLにより制御されるカラムゲートトランジスタ81,82を介して、データ入出力バッファ50に接続されるデータ線52に接続される。ノードN5は、転送スイッチトランジスタ84を介して、ノードN4に接続される。   Similarly to the first latch L1, the second latch L2 is configured by connecting clocked inverters 63 and 64 in antiparallel. The two data nodes N5 and N6 of the latch L2 are connected to a data line 52 connected to the data input / output buffer 50 via column gate transistors 81 and 82 controlled by a column selection signal CSL. The node N5 is connected to the node N4 via the transfer switch transistor 84.

図2は、メモリセルアレイ10と、ページバッファ14と、データ入出力バッファ50の接続関係を示す。NAND型フラッシュEEPROMの読み出し、書き込みの処理単位は、あるロウアドレスでの同時に選択される1ページ分の容量(例えば512バイト)となっている。8個のデータ入出力端子52があるため、1つのデータ入出力端子52に対しては、512ビットとなっており、図2ではその512ビット分の構成を示している。   FIG. 2 shows a connection relationship between the memory cell array 10, the page buffer 14, and the data input / output buffer 50. The processing unit for reading and writing of the NAND flash EEPROM is a capacity for one page (for example, 512 bytes) selected simultaneously at a certain row address. Since there are eight data input / output terminals 52, there are 512 bits for one data input / output terminal 52, and FIG. 2 shows the configuration for 512 bits.

データをメモリセルに書き込む場合には、データ信号線52から書き込みデータを第2のラッチL2に取り込む。書き込み動作を開始するには、書き込みデータが第1のラッチL1になければならないので、続いて、ラッチL2に保持したデータをラッチ回路L1に転送する。また、読み出し動作においては、データ入出力端子51にデータを出力するには、読み出したデータがラッチL2になければならないので、ラッチL1で読み出したデータをラッチL2に転送する必要がある。従って、転送スイッチトランジスタ83,84を導通状態にしてラッチL1とラッチL2の間でデータを転送できるように構成されている。このとき、転送先のラッチ回路を非活性状態にしてからデータを転送し、その後転送先のラッチ回路を活性状態に戻してデータを保持することなる。   When data is written to the memory cell, the write data is fetched from the data signal line 52 into the second latch L2. In order to start the write operation, the write data must be in the first latch L1, and then the data held in the latch L2 is transferred to the latch circuit L1. In the read operation, in order to output data to the data input / output terminal 51, since the read data must be in the latch L2, the data read by the latch L1 needs to be transferred to the latch L2. Accordingly, the transfer switch transistors 83 and 84 are turned on so that data can be transferred between the latch L1 and the latch L2. At this time, the data is transferred after the transfer destination latch circuit is deactivated, and then the transfer destination latch circuit is returned to the active state to hold the data.

なお、図1乃至図3において、メモリセルアレイ10へのデータの書き込み、消去の基本動作は例えば特許文献4〜5において開示されており周知技術であり、詳細説明を省略する。   1 to 3, the basic operations for writing and erasing data in the memory cell array 10 are disclosed in, for example, Patent Documents 4 to 5, which are well-known techniques and will not be described in detail.

本実施形態では、NAND型フラッシュEEPROMにおいて、プログラム後のしきい値電圧分布のバラツキを最小化し、高速で多回数の書き換え特性を得ることができる改良されたISPP法を用いた書き込み方法を提案する。ここで、本実施形態に係る書き込み方法は、各ブロック毎又は各ワード線毎に、プログラム開始電圧Vstartを変化する機能を有し、プログラム速度をチェックした後、当該プログラム速度の検出結果に基づいてプログラム開始電圧を決定して格納し、その情報を読み出して所定のデータの書き込むことを行うことを特徴としている。   The present embodiment proposes a writing method using an improved ISPP method that can obtain a large number of rewrite characteristics at high speed while minimizing variations in the threshold voltage distribution after programming in a NAND flash EEPROM. . Here, the write method according to the present embodiment has a function of changing the program start voltage Vstart for each block or each word line, and after checking the program speed, based on the detection result of the program speed. The program start voltage is determined and stored, and the information is read and predetermined data is written.

図7は一般的なNAND型フラッシュEEPROM(SLC2Gビット)におけるページとブロックの概念を示す3次元概念図である。図7から明らかなように、1ページは2064バイト×8ビットから構成され、64ページで1ブロックを構成し、全体で128Kページを有する。書き込みと読み出しはページバッファ14を用いて1ぺージ毎に実行され、消去は1つのブロック毎に実行される。   FIG. 7 is a three-dimensional conceptual diagram showing the concept of pages and blocks in a general NAND flash EEPROM (SLC 2G bit). As is apparent from FIG. 7, one page is composed of 2064 bytes × 8 bits, 64 pages constitute one block, and a total of 128K pages. Writing and reading are performed for each page using the page buffer 14, and erasure is performed for each block.

図11は従来技術で用いるプログラム開始電圧Vstartを示す表であり、図12は本発明の実施形態で用いるプログラム開始電圧Vstartを示す表である。従来技術では、各ブロックでプログラム開始電圧Vstartは同一であるが、本実施形態では、図12に示すように、各ブロック毎に最適なプログラム開始電圧Vstartを決定して用いる。なお、図12において、プログラム開始電圧Vstart(・)の括弧内のデータは所定の基準プログラム開始電圧Vstart(0)からのオフセットデータをいう。例えば、1単位のオフセット電圧を0.3Vとすると、Vstart(+2)=Vstart(0)+2×0.3Vとなる。   FIG. 11 is a table showing the program start voltage Vstart used in the prior art, and FIG. 12 is a table showing the program start voltage Vstart used in the embodiment of the present invention. In the prior art, the program start voltage Vstart is the same in each block, but in the present embodiment, as shown in FIG. 12, the optimum program start voltage Vstart is determined and used for each block. In FIG. 12, data in parentheses of the program start voltage Vstart (•) is offset data from a predetermined reference program start voltage Vstart (0). For example, assuming that one unit of offset voltage is 0.3V, Vstart (+2) = Vstart (0) + 2 × 0.3V.

図8は本発明の実施形態に係る、プログラム開始電圧Vstartを各ブロック毎又は各ワード線毎に最適化する書き込み方法を用いたときの作用効果を示すしきい値電圧Vth分布図である。本実施形態によれば、各ブロック毎又は各ワード線毎にプログラム開始電圧Vstartが最適化され、各ブロック毎又は各ワード線毎にしきい値電圧分布のゆらぎが、図8に示すように最小化され、従来例に比較して、データ書き換えに伴う酸化膜自身の劣化の耐久性が向上し、高速及び多回数な書き換え特性を得ることができるという特有の効果を有する。   FIG. 8 is a threshold voltage Vth distribution diagram showing the operation and effect when using the write method for optimizing the program start voltage Vstart for each block or each word line according to the embodiment of the present invention. According to the present embodiment, the program start voltage Vstart is optimized for each block or each word line, and the fluctuation of the threshold voltage distribution is minimized for each block or each word line as shown in FIG. Compared to the conventional example, the durability of the deterioration of the oxide film itself accompanying data rewriting is improved, and the rewriting characteristics can be obtained at high speed and many times.

図9は図8の書き込み方法で用いるプログラム速度チェック処理の作用効果を示すしきい値電圧Vth分布図である。プログラム速度チェックは以下のようにして行われる。図9に示すように、テストのために、各ブロック毎又は各ワード線毎に特定ビット(テストビット)のメモリセルに対してプログラムストレスを印加し、いくつかの電圧レベル(図9では、4つの電圧レベルであり、ΔVstep毎にオフセットする。)を用いてベリファイ読み出しを行って当該特定ビットのしきい値電圧分布を検出し、当該テストのための特定ビットの中で最速ビットの最大しきい値電圧に基づいて、当該ブロック又は当該ワード線のためのプログラム開始電圧Vstartを決定する。例えば、プログラム開始電圧Vstart(0)=15〜16Vであり、MLC(Multi Level Cell)ではVstep=0.3V及びΔVstep=0.1Vであり、SLC(Single Level Cell)ではVstep=1.1V及びΔVstep=0.2〜0.5Vである。   FIG. 9 is a threshold voltage Vth distribution diagram showing the effect of the program speed check process used in the writing method of FIG. The program speed check is performed as follows. As shown in FIG. 9, for the test, a program stress is applied to a memory cell of a specific bit (test bit) for each block or each word line, and several voltage levels (4 in FIG. 9) are applied. Is read out by detecting the threshold voltage distribution of the specific bit, and the maximum threshold of the fastest bit among the specific bits for the test is detected. Based on the value voltage, a program start voltage Vstart for the block or the word line is determined. For example, the program start voltage Vstart (0) = 15 to 16V, Vstep = 0.3V and ΔVstep = 0.1V in MLC (Multi Level Cell), and Vstep = 1.1V in SLC (Single Level Cell). ΔVstep = 0.2 to 0.5V.

上記決定されたプログラム開始電圧Vstart(・)のデータについては、各ブロックのダミーのワード線上の特定ビットのメモリセルに、対応するオフセット値を格納することが好ましい。例えば、プログラム開始電圧Vstart(−2)にはビット(110)を対応させ、プログラム開始電圧Vstart(−1)にはビット(101)を対応させ、プログラム開始電圧Vstart(0)にはビット(100)を対応させ、プログラム開始電圧Vstart(+1)にはビット(011)を対応させ、プログラム開始電圧Vstart(+2)にはビット(010)を対応させ、該特定ビットに格納する。ここで、プログラム開始電圧は重要な値なのでエラーは許されないので、例えば上記3ビットの各1ビットに3ビット以上のビットセルを用いて書き込み、多数決ルールを用いて読み出すようにしてもよい。また、例えば電圧(Vstart+n×Vstep)を用いて1発の書き込みパルスでのプログラム処理によりデータを書き込んでプログラムし、ダミーのワード線上のプログラム開始電圧Vstart(・)のデータを多数決ルールの決定方法を用いて読み出してプログラムするように構成してもよい。この場合においては、各ワード線に設定されたプログラム開始電圧Vstart(・)のデータを当該ブロックのダミーワード線上のメモリセルにともに格納される。もし、通常の書き込み用ワード線上の特定ビットのメモリセルに上記決定されたプログラム開始電圧Vstart(・)のデータを格納してもよいが、当該目的のための付加的なメモリセルを必要とする。   For the data of the determined program start voltage Vstart (•), it is preferable to store a corresponding offset value in a memory cell of a specific bit on a dummy word line of each block. For example, bit (110) is associated with program start voltage Vstart (−2), bit (101) is associated with program start voltage Vstart (−1), and bit (100) is associated with program start voltage Vstart (0). ), The bit (011) is associated with the program start voltage Vstart (+1), the bit (010) is associated with the program start voltage Vstart (+2), and stored in the specific bit. Here, since the program start voltage is an important value, no error is allowed. For example, each of the 3 bits may be written using a bit cell of 3 bits or more and read using a majority rule. In addition, for example, a method for determining a majority rule for data of a program start voltage Vstart (•) on a dummy word line is programmed by programming data by a program process with one write pulse using a voltage (Vstart + n × Vstep). It may be configured to use and read and program. In this case, the data of the program start voltage Vstart (•) set for each word line is stored together in the memory cells on the dummy word line of the block. If the data of the determined program start voltage Vstart (•) may be stored in a memory cell of a specific bit on a normal write word line, an additional memory cell for this purpose is required. .

図13は本発明の第1の実施形態に係るプログラム処理を示すフローチャートである。図13において、まず、ステップS1において、プログラムデータをロードし、ステップS2において、プログラムパルスを印加する前に、書き込みに選択されたブロックの特定ビットのデータを読み出す。このデータには該ブロック又は該ブロックの各ワード線毎のVstartが格納されている。具体的には、まず、上述したしたように、ダミーワード線に格納した場合はダミーワード線を選択して読み出し、あるいは通常のワード線に付加メモリセルを設けて格納した場合は、所定の読出用ワード線電圧Vspをすべてのワード線に印加した後、1回で読み出し処理を行う。次に、該選択されたワード線に対応する特定のビットのデータに基づいて、プログラム開始電圧及びフラグデータを一時レジスタ(バッファメモリ)にセットする。次いで、ステップS3において、プログラムデータをバッファメモリ14aにセットする。さらに、ステップS4において、特定ビットに基づいて設定されたプログラム開始電圧を用いてISPP法を用いてプログラム処理を実行する。本実施形態に係る書き込み方法に対する1つの大きな必要条件は、プログラムのスループットを維持するためのプログラム時間を増大させないことであり、この理由のために、プログラム速度チェック処理は消去動作において実行される。   FIG. 13 is a flowchart showing the program processing according to the first embodiment of the present invention. In FIG. 13, first, in step S1, program data is loaded, and in step S2, data of a specific bit of a block selected for writing is read before applying a program pulse. In this data, Vstart for each block or each word line of the block is stored. Specifically, first, as described above, when the data is stored in the dummy word line, the dummy word line is selected and read, or when the additional word is stored in the normal word line, the predetermined read is performed. After the application word line voltage Vsp is applied to all the word lines, a read process is performed once. Next, a program start voltage and flag data are set in a temporary register (buffer memory) based on the data of a specific bit corresponding to the selected word line. In step S3, program data is set in the buffer memory 14a. Further, in step S4, the program process is executed using the ISPP method using the program start voltage set based on the specific bit. One major requirement for the write method according to this embodiment is not to increase the program time to maintain program throughput, and for this reason, the program speed check process is performed in an erase operation.

図13のステップS2において、基本的には、メモリセルの特定ビットからデータを読み出すことでプログラム開始電圧Vstart(・)を決定するが、ワード線WL3〜WL28の連続したプログラムなどの場合においては、ワード線WL3のプログラムのときのみ、メモリセルの特定ビットからデータを読み出し、残りのワード線WL4〜WL28のときは一時レジスタからプログラム開始電圧Vstart(・)を読み出すことで余分なプログラム時間を削減してもよい。   In step S2 of FIG. 13, the program start voltage Vstart (·) is basically determined by reading data from a specific bit of the memory cell. In the case of continuous programming of the word lines WL3 to WL28, Only when the word line WL3 is programmed, data is read from a specific bit of the memory cell, and when the remaining word lines WL4 to WL28 are read, the program start voltage Vstart (·) is read from the temporary register to reduce the extra program time. May be.

図14は図13のサブルーチンであるプログラム処理(S4)を示すフローチャートである。図14において、ステップS11において上記設定されたプログラム開始電圧Vstart(・)をプログラム電圧Vpgm(n)に設定し、ステップS12においてプログラム電圧Vpgm(n)を有するプログラムパルスを印加し、ステップS13においてプログラムされたか否かについてベリファイし、ステップS14においてすべてのメモリセルについてパスしたか否かについて判断し、YESのときは元のメインルーチンに戻る一方、NOのときはステップS15に進む。ステップS15では、プログラム電圧Vpgm(n)を増分Vstepだけインクリメントしてプログラム電圧Vpgm(n)を設定してステップS12に戻る。   FIG. 14 is a flowchart showing the program processing (S4) which is a subroutine of FIG. In FIG. 14, the program start voltage Vstart (•) set in step S11 is set to the program voltage Vpgm (n), a program pulse having the program voltage Vpgm (n) is applied in step S12, and the program is programmed in step S13. In step S14, it is determined whether or not all memory cells have been passed. If YES, the process returns to the original main routine. If NO, the process proceeds to step S15. In step S15, the program voltage Vpgm (n) is incremented by the increment Vstep to set the program voltage Vpgm (n), and the process returns to step S12.

図15は第1の実施形態のプログラム処理に先立って実行される消去処理を示すフローチャートであるが、この消去処理中にてプログラム開始電圧設定処理(実施例1)が実行される。図15において、ステップS21においてプログラム速度チェック処理(図16)を実行し、ステップS22において消去パルスを用いてデータを消去する。次いで、ステップS23において、上記プログラム速度チェックで得られて一時レジスタにセットされたプログラム開始電圧及びフラグデータをメモリセルの所定の特定ビットに格納する。具体的には、一時レジスタに格納されたプログラム開始電圧及びフラグデータをページバッファ14にセットした後、対応するワード線(又はダミーワード線)を選択して、例えば通常のSLCプログラム処理を実行することでプログラムを行う。   FIG. 15 is a flowchart showing the erase process executed prior to the program process of the first embodiment. During this erase process, the program start voltage setting process (Example 1) is executed. In FIG. 15, a program speed check process (FIG. 16) is executed in step S21, and data is erased using an erase pulse in step S22. In step S23, the program start voltage and flag data obtained by the program speed check and set in the temporary register are stored in predetermined specific bits of the memory cell. Specifically, after the program start voltage and flag data stored in the temporary register are set in the page buffer 14, the corresponding word line (or dummy word line) is selected and, for example, normal SLC program processing is executed. Program.

図16は図15のサブルーチンであるプログラム速度チェック処理(S21)を示すフローチャートである。図16において、まず、ステップS31において、メモリセルの特定ビットに対してデータをバッファメモリ14にセットする。具体的には、特定のワード線からデータを読み出して、1のデータであればチェックビットとし、0のデータであればマスクビットとする。次いで、ステップS32において、プログラムパルスを用いてプログラム処理を行う。さらに、ステップS33において、上記特定ビットにおいて最大のしきい値電圧Vthを取得してそのときのプログラム開始電圧のオフセットデータを一時レジスタに格納して元のメインルーチンに戻る。ここで、上記特定ビットにおいて最大のしきい値電圧Vthを取得するためには、データビットが例えばすべて1のデータとなるまでベリファイ電圧を所定のステップ電圧で上昇させながら、ベリファイ読み出しを行う。   FIG. 16 is a flowchart showing a program speed check process (S21) which is a subroutine of FIG. In FIG. 16, first, in step S31, data is set in the buffer memory 14 for a specific bit of the memory cell. Specifically, data is read from a specific word line. If it is 1 data, it is a check bit, and if it is 0 data, it is a mask bit. Next, in step S32, program processing is performed using a program pulse. Further, in step S33, the maximum threshold voltage Vth is acquired in the specific bit, the offset data of the program start voltage at that time is stored in the temporary register, and the process returns to the original main routine. Here, in order to obtain the maximum threshold voltage Vth in the specific bit, verify reading is performed while increasing the verify voltage at a predetermined step voltage until all the data bits become 1 data, for example.

図16のステップS31ではチェックビットを得るのにユーザのデータの1を用いているが、ユーザのデータは常に1のビットをチェックに充分な数を含むとは限らない。そこで、このようにユーザデータを使用する場合は、図13に示したプログラム処理のステップS1において0のデータ数をカウントして、もし0のデータ数がページサイズの半分より大きかったら、反転フラグビットをセットして、S3においてデータを反転する。この処理により、常に1のデータ数をページサイズの半分以上とすることができる。なお、読出し時には、当然、データ中の反転フラグが立っていたら、反転して出力する。   In step S31 of FIG. 16, 1 of the user data is used to obtain the check bit, but the user data does not always include a sufficient number of 1 bits for checking. Therefore, when user data is used in this way, the number of 0 data is counted in step S1 of the program processing shown in FIG. 13, and if the number of 0 data is larger than half the page size, the inversion flag bit Is set and the data is inverted in S3. By this processing, the number of data of 1 can always be more than half of the page size. At the time of reading, of course, if an inversion flag is set in the data, it is inverted and output.

図17は第1の実施形態のプログラム処理に先立って実行される別の形態の消去処理を示すフローチャートである。この中でプログラム開始電圧設定処理(実施例2)が実行される。図17において、まず、ステップS41において、消去パルスを用いてデータを消去し、ステップS42において、ソフトプログラム処理を用いてプログラム速度チェック処理を実行する。そして、ステップS43上記プログラム速度チェックで得られて一時レジスタにセットされたプログラム開始電圧及びフラグデータをメモリセルの所定の特定ビットに格納する。   FIG. 17 is a flowchart showing another form of erasing processing executed prior to the program processing of the first embodiment. In this, the program start voltage setting process (Example 2) is executed. In FIG. 17, first, in step S41, data is erased using an erase pulse, and in step S42, a program speed check process is executed using a soft program process. In step S43, the program start voltage and flag data obtained in the program speed check and set in the temporary register are stored in predetermined specific bits of the memory cell.

図18は図17のサブルーチンであるプログラム速度チェック処理(S42)を示すフローチャートである。図18において、まず、ステップS51においてダミーワード線上の特定ビットに対してデータをバッファメモリ14にセットする。次いで、ステップS52において、ダミーワード線上の特定ビットに対してプログラムパルスを用いてプログラム処理を行う。そして、ステップS53において、上記特定ビットにおいて、すべて1のデータとなるかをベリファイ電圧を変化させてベリファイ読み出しを行うことにより、最大のしきい値電圧Vthを取得してそのときのプログラム開始電圧のオフセットデータを一時レジスタに格納し、元のメインルーチンに戻る。   FIG. 18 is a flowchart showing a program speed check process (S42) which is a subroutine of FIG. In FIG. 18, first, in step S51, data is set in the buffer memory 14 for a specific bit on the dummy word line. Next, in step S52, a program process is performed on the specific bit on the dummy word line using a program pulse. Then, in step S53, the verify voltage is changed to verify whether all the data in the specific bit is 1 data, and the maximum threshold voltage Vth is obtained to obtain the program start voltage at that time. Store the offset data in the temporary register and return to the original main routine.

図19は本発明の第2の実施形態に係る消去処理を示すフローチャートである。図19において、まず、ステップS61において、メモリセルの特定ビットから古いプログラム開始電圧及びフラグデータを読み出す。ここで、フラグはプログラム速度チェックのためのワード線を表す。次いで、ステップS62において、プログラム速度チェック処理を実行し、ステップS63において、消去パルスを用いてデータを消去する。そして、ステップS64において上記プログラム速度チェックで設定されたプログラム開始電圧を基準としたソフトプログラム開始電圧又は他の所定の方式で決められたソフトプログラム開始電圧を用いてソフトプログラム処理を実行する。さらに、ステップS65において、上記セットされたプログラム開始電圧及びフラグデータを特定ビットに格納するここで、修正されたフラグはプログラム速度チェックのための次のチェック用ワード線を表す。   FIG. 19 is a flowchart showing an erasing process according to the second embodiment of the present invention. In FIG. 19, first, in step S61, old program start voltage and flag data are read from a specific bit of a memory cell. Here, the flag represents a word line for program speed check. Next, a program speed check process is executed in step S62, and data is erased using an erase pulse in step S63. In step S64, the soft program process is executed using the soft program start voltage based on the program start voltage set in the program speed check or a soft program start voltage determined by another predetermined method. Further, in step S65, the set program start voltage and flag data are stored in specific bits, where the modified flag represents the next check word line for program speed check.

図19のプログラム速度チェック処理では、プログラム速度チェック処理のための余分な時間を削減するために、各消去処理毎に、特定の1本のワード線に対してプログラム速度チェック処理が行われる。従って、あるワード線のプログラム速度チェックの1つのサイクルは1つのストリングにおけるセル数に等しくなる。具体的には、ワード線上のユーザデータを読み出して、1のビット(又は11のビット)を得て当該データをプログラムビットとしてセットする。そして、プログラムパルスを印加して、ベリファイ電圧を変化しながらベリファイ読み出しを行って最大のしきい値電圧Vthを検出し、それを予測値と比較することでそれに対応するプログラム開始電圧Vstart(・)を決定することができる。   In the program speed check process of FIG. 19, in order to reduce the extra time for the program speed check process, the program speed check process is performed for one specific word line for each erase process. Thus, one cycle of program speed check for a word line is equal to the number of cells in one string. Specifically, user data on the word line is read, 1 bit (or 11 bits) is obtained, and the data is set as a program bit. Then, the program pulse is applied, the verify read is performed while the verify voltage is changed, the maximum threshold voltage Vth is detected, and it is compared with the predicted value, thereby corresponding to the program start voltage Vstart (·). Can be determined.

図10は上述のプログラム速度チェック処理のための変形例に係るワード線の選択方法を示す図である。プログラム速度チェック処理は、すべての、あるいはいくつかの特定のワード線に対して順番に各消去毎にシフトさせながら実行される。ここで、まず第1に、プログラム開始電圧Vstartのデータ格納場所の確保及び準備のために、各ワード線に対して(N+1)バイトを用意する。ここで、Nはプログラム速度チェックを行うワード線の本数である。Vstart(・)のオフセット値を1バイトで格納する。図19の消去処理のステップS65では、プログラム速度チェックが行われたワード線の該(N+1)バイトに対して、ベリファイ電圧Vread=PVを用いて通常のSLCプログラムを用いて、プログラム開始電圧データ及びフラグデータが格納される。この格納処理のフローは図20で説明される。そして、このようにして書き込まれたプログラム開始電圧データ及びフラグデータを読み出すステップS61では、すべてのワード線に対して読出用ワード線電圧Vsp(図10では1V)を印加し、前回格納したワード線からプログラム開始電圧Vstartのデータ及び、今回測定すべきワード線の番号が格納されたフラグデータを読み出す。データが書いてあるのは1本のワード線上の該(N+1)バイトのみなので、1回の読み出し動作でデータが読み出せる。   FIG. 10 is a diagram showing a word line selection method according to a modification for the program speed check process described above. The program speed check process is executed while shifting every erasure in order for all or some specific word lines. Here, first, (N + 1) bytes are prepared for each word line in order to secure and prepare a data storage location for the program start voltage Vstart. Here, N is the number of word lines for program speed check. The offset value of Vstart (•) is stored in 1 byte. In step S65 of the erase process in FIG. 19, the program start voltage data and the (N + 1) bytes of the word line on which the program speed check has been performed are performed using a normal SLC program using the verify voltage Vread = PV. Flag data is stored. This storage processing flow will be described with reference to FIG. In step S61 for reading the program start voltage data and flag data written in this way, the read word line voltage Vsp (1 V in FIG. 10) is applied to all the word lines, and the previously stored word line is stored. To read the data of the program start voltage Vstart and the flag data storing the number of the word line to be measured this time. Since data is written only in the (N + 1) bytes on one word line, the data can be read out by one read operation.

次いで、例えばECC(Error Correcting Code)などを用いて当該データをデコードし、デコードされたデータを一時レジスタに格納する。この読出し処理のフローは図21で説明される。さらに、プログラム速度チェック処理のためのワード線として、上記フラグデータのワード線にセットする。ワード線の選択方法の一例としては、すべてのワード線を速度チェックする方法もあるが、端部を除いたワード線については通常は良くそろっているので、例えばWL0,1,2,16,29,30,31(ストリングの両エッジ及び中央部)を選択すればよい。WL16については、WL3〜28をカバーするとしてもよい。これらのワード線の選択は、ワード線に依存したプログラム特性によって決定されるからである。ここで、ワード線数については、例えば、プログラム開始電圧データを通常のワード上の付加的なメモリセルに格納する場合において、余分なビット数を増大させ、これにより、チップサイズを相対的に増大させる。なお、プログラム開始電圧データの読み出しにおいては、1つの読み出しサイクルでベリファイ電圧VpassR=Vread=Vspを用いて読み出し及びベリファイが行われ、フラグはプログラム速度チェックのための次のチェック用ワード線を表す。   Next, the data is decoded using, for example, ECC (Error Correcting Code), and the decoded data is stored in a temporary register. The flow of this reading process will be described with reference to FIG. Further, it is set to the word line of the flag data as a word line for the program speed check process. As an example of the method of selecting the word lines, there is a method of checking the speed of all the word lines. However, since word lines except for the end portions are usually well aligned, for example, WL0, 1, 2, 16, 29 , 30, 31 (both edges and central part of the string) may be selected. WL16 may cover WL3 to 28. This is because the selection of these word lines is determined by program characteristics depending on the word lines. Here, regarding the number of word lines, for example, when storing the program start voltage data in an additional memory cell on a normal word, the number of extra bits is increased, thereby relatively increasing the chip size. Let In reading the program start voltage data, reading and verifying are performed using the verify voltage VpassR = Vread = Vsp in one read cycle, and the flag represents the next check word line for program speed check.

図20は本発明の変形例に係る処理(S65)であって、上記消去処理において、通常のワード線上の付加的なメモリセルを用いてプログラム開始電圧及びフラグデータを格納するためのプログラム開始電圧及びフラグデータ格納処理(S23,S43,S65)を示すフローチャートである。図20において、まず、ステップS71において、メモリセルの特定ビットに対して、プログラム開始電圧及びフラグデータを一時レジスタからページバッファ14にセットし、ステップS72において、上記セットされたデータを選択されたワード線にプログラムすることでプログラム開始電圧及びフラグデータをメモリセルの特定ビットに格納する。図10に示したように、選択ワード線以外のワード線のセルはすべて消去状態なので、書き込んだ後のしきい値電圧Vthはリードパス電圧(VpassR)よりも高くなっても問題ないので、通常のプログラムよりも書き込みのパルス数を少なくしてプログラム時間を短くすることが可能となる。具体的には、通常のSLC書き込みには3〜4発のパルスを使い書き込み時間として200μs程度がかかるが、これを1〜2発にして100μs程度と半減できる。   FIG. 20 shows a process (S65) according to a modification of the present invention. In the erase process, a program start voltage for storing a program start voltage and flag data using an additional memory cell on a normal word line. And it is a flowchart which shows flag data storage processing (S23, S43, S65). In FIG. 20, first, in step S71, the program start voltage and flag data are set from the temporary register to the page buffer 14 for the specific bit of the memory cell. In step S72, the set data is selected as the selected word. By programming the line, the program start voltage and flag data are stored in specific bits of the memory cell. As shown in FIG. 10, since all the cells of the word lines other than the selected word line are in the erased state, there is no problem even if the threshold voltage Vth after writing becomes higher than the read pass voltage (VpassR). It is possible to shorten the program time by reducing the number of write pulses than the program. Specifically, normal SLC writing uses 3 to 4 pulses and takes about 200 [mu] s as a writing time, but this can be halved to about 100 [mu] s by using 1 to 2 pulses.

図21は本発明の変形例に係る処理(S61)であって、上記プログラム処理において、通常のワード線上の付加的なメモリセルからプログラム開始電圧及びフラグデータを読み出すためのプログラム開始電圧及びフラグデータ読み出しを示すフローチャートである。図21において、ステップS81において、すべてのワード線に対して、読出用ワード線電圧Vspをセットする。次いで、ステップS82において、メモリセルの特定のビットのデータを読み出し、ステップS83において、特定ビットのデータからの、プログラム開始電圧及びフラグデータを一時レジスタにセットする。フラグデータを読み出す前においてはどのワード線にプログラム開始電圧データとフラグデータが書いてあるかわからないので、通常であればワード線を1本ずつ読み出す必要があるが、図10に示すように、1本のワード線の特定ビット以外のメモリセルは消去状態なので、S81のようにすべてのワード線に読出し電圧Vsp(図10では1V)を印加する方法で1回(20μs程度)で読み出せる。なお、これらのデータを格納するワード線は例えばWL16に固定してもよいが、毎回シフトした方がワード線毎の書き換え回数を減少することができるので信頼性をより向上させることができる。   FIG. 21 shows a process (S61) according to a modification of the present invention. In the program process, the program start voltage and the flag data for reading the program start voltage and the flag data from the additional memory cells on the normal word line are shown. It is a flowchart which shows reading. In FIG. 21, in step S81, read word line voltage Vsp is set for all word lines. Next, in step S82, data of a specific bit of the memory cell is read, and in step S83, the program start voltage and flag data from the data of the specific bit are set in the temporary register. Before reading the flag data, it is not known which word line contains the program start voltage data and the flag data. Therefore, it is usually necessary to read one word line at a time, but as shown in FIG. Since the memory cells other than the specific bit of the word line are in the erased state, the read voltage Vsp (1 V in FIG. 10) is applied to all the word lines as in S81, and can be read once (about 20 μs). The word line for storing these data may be fixed to, for example, WL16. However, the number of rewrites for each word line can be reduced by shifting each time, so that the reliability can be further improved.

以上説明したように、本実施形態によれば、各ブロック毎又は各ワード線毎にプログラム速度チェックを行って最適なプログラム開始電圧を決定して、プログラム開始電圧を変化させてデータの書き込みを行うので、プログラム後のしきい値電圧分布のバラツキを最小化し、高速の書き換え特性を得ることができる。   As described above, according to the present embodiment, a program speed check is performed for each block or each word line to determine an optimum program start voltage, and data is written by changing the program start voltage. Therefore, variation in the threshold voltage distribution after programming can be minimized, and high-speed rewriting characteristics can be obtained.

以上説明した中で、「各ブロック毎又は各ワード線毎」にプログラム開始電圧を設定するとしているが、理想的にはすべてのブロックのすべてのワード線について速度チェック&開始電圧設定するのが望ましいが、上述したように、メモリセルのストリングの中ほどのワード線の書き込み速度はほとんど同じであり、それはブロックについても言えるので、プログラム速度チェックはそれぞれ必要な部分のブロックとワード線について行い、チェックは行わないブロックとワード線についてはそれらのうちの対応する値を使用することでも良い。これにより、プログラム速度チェックに伴う消去処理時間の増大が軽減される。   In the above description, the program start voltage is set for each block or each word line. Ideally, it is desirable to set the speed check & start voltage for all word lines in all blocks. However, as described above, the write speed of the word line in the middle of the memory cell string is almost the same, and it can be said for the block. Therefore, the program speed check is performed for the block and the word line of the necessary part, respectively. For blocks and word lines that are not performed, the corresponding values may be used. As a result, an increase in the erasure processing time accompanying the program speed check is reduced.

また、プログラム速度チェックを行うワード線について、図18ではダミーワード線を使用したが、この場合は各ワード線のプログラム開始電圧は初期特性あるいは標準的特性をもとに計算した値が使用されることになり、バラツキは完全には補正されないが、ブロック間のバラツキは補正される。この他、主に説明したワード線のユーザデータ領域を使用する方法と、チェック用の付加ビットをメモリセルアレイに付け加える方法がある。   Further, in FIG. 18, dummy word lines are used as the word lines for checking the program speed. In this case, the program start voltage of each word line is a value calculated based on the initial characteristics or standard characteristics. As a result, the variation is not completely corrected, but the variation between blocks is corrected. In addition, there are mainly a method of using the user data area of the word line and a method of adding an additional bit for checking to the memory cell array.

さらに、プログラム速度チェックは書き込み後の最大のしきい値電圧Vthで決めるとする方法の他、異常に書き込みの速いビットのデータを拾うのをさけるために、2番目に高いしきい値電圧Vthを採用するというような方法も良い。回路的にも2〜3ビットは特に問題ない。   Furthermore, in addition to a method in which the program speed check is determined by the maximum threshold voltage Vth after writing, the second highest threshold voltage Vth is set to avoid picking up abnormally fast bit data. The method of adopting is also good. In terms of circuit, 2 to 3 bits are not particularly problematic.

さらに、プログラム速度チェックに使うビットについては、通常ワード線を使用する場合にはユーザデータを使用する方法を提示したが、本発明はこれに限らず、ダミーワード線の特定ビットを使う場合はすべて書き込みはされていないのですべて使用できる。上述した(N+1)バイト×多数決ビットのような構成であれば、プログラム速度チェック対象のワード線のビットはすべて消去状態であるので、これもそのまま使用できる。このように必ずしもユーザデータを使用しなくてもよい。   In addition, as for the bits used for the program speed check, a method of using user data when using a normal word line has been presented. However, the present invention is not limited to this, and all cases where a specific bit of a dummy word line is used. Since it is not written, all can be used. With the configuration of (N + 1) bytes × majority bits described above, all the bits of the word line for which the program speed is to be checked are in the erased state, and can be used as they are. Thus, it is not always necessary to use user data.

さらに、プログラム開始電圧データを格納するメモリセルは、実施例のとおり、ダミーワード線あるいは通常ワード線の付加ビットがあるが、ダミーワード線については、付加ビットなしの通常ビット領域、付加ビット領域に加え、選択ゲート線SGD側のダミーワード線を使うか、選択ゲート線SGS側のダミーワード線を使うかの選択が取りえる。従って、選択ゲート線SGS側は格納用、選択ゲート線SGD側はプログラム速度チェック用と分けることもよい。   Further, the memory cell for storing the program start voltage data has the dummy bit line or the additional bit of the normal word line as in the embodiment, but the dummy word line has the additional bit region without the additional bit. In addition, it is possible to select whether to use a dummy word line on the selection gate line SGD side or a dummy word line on the selection gate line SGS side. Therefore, the selection gate line SGS side may be divided for storage, and the selection gate line SGD side may be divided for program speed check.

さらに、上記においてプログラム速度チェックを行うワード線は1本として、毎消去処理時に1本ずつシフトする方法を説明し、ワード線0,1,2,16,29,30,31についてプログラム速度チェックを行う実施例を説明したが、本発明はこれに限らず、すべてのワード線について速度チェックをすれば速度チェックの周期の1サイクルは32回になるが、上記のように7本のワード線のみ速度チェックを行う場合は、そのまま1サイクルを7回とするほかに、ワード線3〜15,17〜28はカウントのみ行い(フラグビットのみ更新)、1サイクルを32回とする方法もあり、データ格納を行うワード線も3〜28にシフトしつつ行う方法と合わせ、メモリセルの書き換え回数に伴う信頼性劣化を抑える好ましい方法といえる。また、図18のようにプログラム速度チェックをダミーワード線で行う場合も同様に消去処理回数をカウントしフラグビットとして格納することにより、速度チェックの1サイクルを32回とか所定の好適な数に設定することができる。   Further, in the above description, the method for shifting the program speed check one by one at the time of each erasing process is described assuming that the program speed check is one, and the program speed check is performed for the word lines 0, 1, 2, 16, 29, 30, 31. Although the embodiment has been described, the present invention is not limited to this, and if the speed check is performed for all word lines, one cycle of the speed check period is 32 times, but only seven word lines are used as described above. When the speed check is performed, in addition to setting one cycle to seven times as it is, there is a method in which the word lines 3 to 15 and 17 to 28 are only counted (only flag bits are updated) and one cycle is set to 32 times. It can be said that this is a preferable method for suppressing the deterioration of reliability due to the number of rewrites of the memory cell, together with the method of performing the storage while shifting the word line to 3 to 28. Similarly, when the program speed check is performed with a dummy word line as shown in FIG. 18, the number of erase processes is similarly counted and stored as a flag bit, so that one cycle of the speed check is set to a predetermined suitable number of 32 times. can do.

以上の実施形態においては、NAND型フラッシュEEPROMについて説明しているが、本発明はこれに限らず、NOR型フラッシュEEPROMなどのフローティングゲートにデータを書き込むことが可能な不揮発性半導体記憶装置に広く適用できる。   Although the NAND flash EEPROM has been described in the above embodiments, the present invention is not limited to this, and is widely applied to nonvolatile semiconductor memory devices capable of writing data to a floating gate such as a NOR flash EEPROM. it can.

以上詳述したように、本発明に係る不揮発性半導体記憶装置とその書き込み方法によれば、各ブロック毎又は各ワード線毎にプログラム速度チェックを行って最適なプログラム開始電圧を決定して、プログラム開始電圧を変化させてデータの書き込みを行うので、プログラム後のしきい値電圧分布のバラツキを最小化し、高速の書き換え特性を得ることができる。   As described above in detail, according to the nonvolatile semiconductor memory device and the writing method thereof according to the present invention, the program speed check is performed for each block or each word line to determine the optimum program start voltage, and the program Since data is written by changing the start voltage, variation in the threshold voltage distribution after programming can be minimized and high-speed rewrite characteristics can be obtained.

10…メモリセルアレイ、
11…制御回路、
12…ロウデコーダ、
13…高電圧発生回路、
14,14A…データ書き換え及び読み出し回路(ページバッファ)、
14a,14b…ラッチ回路、
15…カラムデコーダ、
17…コマンドレジスタ、
18…アドレスレジスタ、
19…動作ロジックコントローラ、
50…データ入出力バッファ、
51…データ入出力端子、
52…データ線、
L1,L2…ラッチ。
10: Memory cell array,
11 ... control circuit,
12 ... row decoder,
13. High voltage generation circuit,
14, 14A ... Data rewriting and reading circuit (page buffer),
14a, 14b ... latch circuit,
15 ... column decoder,
17 ... Command register,
18 ... Address register,
19 ... Operation logic controller,
50: Data input / output buffer,
51: Data input / output terminal,
52 ... Data line,
L1, L2 ... Latch.

Claims (13)

不揮発性のメモリセルアレイと、上記メモリセルアレイへの書き込みを制御する制御回路とを備えた不揮発性半導体記憶装置において、
上記制御回路は、書き込むメモリセルのデータを消去する消去処理のための消去パルスを印加する前の段階において、上記メモリセルアレイに書き込むときのプログラム速度を検出し、当該プログラム速度に対応するプログラム開始電圧をブロック毎又はワード線毎に決定して、上記決定したプログラム開始電圧を上記メモリセルアレイに格納し、上記メモリセルアレイからプログラム開始電圧を読み出して所定のデータを書き込み、
上記制御回路は、上記書き込むメモリセルのデータを消去する消去処理のための消去パルスを印加する前の段階において、上記メモリセルアレイのワード線上のメモリセルに格納されたデータを用いて上記プログラム速度を検出することを特徴とする不揮発性半導体記憶装置。
In a nonvolatile semiconductor memory device comprising a nonvolatile memory cell array and a control circuit for controlling writing to the memory cell array,
The control circuit detects a program speed when writing to the memory cell array and applies a program start voltage corresponding to the program speed before applying an erase pulse for an erase process for erasing data of a memory cell to be written. Is determined for each block or word line, the determined program start voltage is stored in the memory cell array, the program start voltage is read from the memory cell array, and predetermined data is written.
The control circuit uses the data stored in the memory cells on the word lines of the memory cell array to increase the program speed before applying an erase pulse for erasing processing for erasing data in the memory cell to be written. A non-volatile semiconductor memory device, characterized by detecting.
上記制御回路は、上記各消去処理に対して、1本のみのワード線上のデータを用いてプログラム速度を検出することを特徴とする請求項1記載の不揮発性半導体記憶装置。   2. The non-volatile semiconductor memory device according to claim 1, wherein the control circuit detects a program speed by using data on only one word line for each erasing process. 前記1本のみのワード線上のデータを用いてプログラム速度を検出する場合、このプログラム速度を検出するワード線のメモリセルストリング内の位置を上記消去処理毎にシフトさせて、所定の消去処理回数で1サイクルとすることを特徴とする請求項2記載の不揮発性半導体記憶装置。   When the program speed is detected using the data on only one word line, the position of the word line for detecting the program speed in the memory cell string is shifted for each erase process, and the predetermined number of erase processes is performed. 3. The nonvolatile semiconductor memory device according to claim 2, wherein one cycle is used. 前記プログラム速度の検出チェックは、上記消去処理毎に消去回数をカウントしてその情報をフラグビットとしてプログラム速度データと同様に格納し、前記消去回数が所定の回数になったときにプログラム速度チェックを行いそのデータを更新することを特徴とする請求項2又は3記載の不揮発性半導体記憶装置。   The program speed detection check counts the number of erases for each erase process and stores the information as flag bits in the same manner as the program speed data. When the erase count reaches a predetermined number, the program speed check is performed. 4. The nonvolatile semiconductor memory device according to claim 2, wherein the data is updated. 上記制御回路は、上記決定したプログラム開始電圧を上記メモリセルアレイのダミーのワード線上のメモリセルに格納することを特徴とする請求項1〜4のうちのいずれか1つに記載の不揮発性半導体記憶装置。   The nonvolatile semiconductor memory according to claim 1, wherein the control circuit stores the determined program start voltage in a memory cell on a dummy word line of the memory cell array. apparatus. 上記制御回路は、上記決定したプログラム開始電圧を上記メモリセルアレイのワード線上の付加的なメモリセルに格納することを特徴とする請求項1〜4のうちのいずれか1つに記載の不揮発性半導体記憶装置。   The non-volatile semiconductor according to claim 1, wherein the control circuit stores the determined program start voltage in an additional memory cell on a word line of the memory cell array. Storage device. 前記決定したプログラム開始電圧を格納するために、各ワード線に対して、プログラム速度の検出を行うワード線数Nに対応する少なくともNバイトのメモリ領域を準備し、上記各消去処理に対応するプログラム速度の検出において用いたワード線上のメモリセルに上記決定したプログラム開始電圧を格納することを特徴とする請求項6記載の不揮発性半導体記憶装置。   In order to store the determined program start voltage, a memory area of at least N bytes corresponding to the number N of word lines for which the program speed is detected is prepared for each word line, and a program corresponding to each erasing process is prepared. 7. The nonvolatile semiconductor memory device according to claim 6, wherein said determined program start voltage is stored in a memory cell on a word line used for speed detection. 上記制御回路は、上記プログラム速度を検出するワード線として複数のワード線の配置方向の中央部のワード線を選択して上記プログラム速度を検出して、上記中央部のワード線の両隣にそれぞれ位置する複数本のワード線のプログラム速度として用いることを特徴とする請求項7記載の不揮発性半導体記憶装置。   The control circuit detects the program speed by selecting a word line at the center in the arrangement direction of a plurality of word lines as a word line for detecting the program speed, and is positioned respectively on both sides of the word line at the center. 8. The nonvolatile semiconductor memory device according to claim 7, wherein the nonvolatile semiconductor memory device is used as a program speed of a plurality of word lines. 上記制御回路は、上記プログラム速度を検出するワード線を上記中央部のワード線として用いて上記プログラム速度を検出し、その検出データに対応するプログラム開始電圧データを当該ワード線の両隣にそれぞれ位置する複数本のワード線のうちの1本に書き込むときに、メモリセルのデータを消去する消去処理毎に、ワード線を1本ずつシフトさせながら選択することを特徴とする請求項8記載の不揮発性半導体記憶装置。   The control circuit detects the program speed by using the word line for detecting the program speed as the word line in the central portion, and positions the program start voltage data corresponding to the detected data on both sides of the word line. 9. The nonvolatile memory according to claim 8, wherein when writing to one of a plurality of word lines, each word line is selected while being shifted one by one for each erasing process for erasing data in a memory cell. Semiconductor memory device. 上記制御回路は、上記決定したプログラム開始電圧を上記メモリセルアレイのダミーのワード線上又はワード線上のメモリセルに格納するときに、当該プログラム開始電圧のデータの1ビットに対して3ビットのビットセルを用いて多数決論理で書き込むことを特徴とする請求項1〜9のうちのいずれか1つに記載の不揮発性半導体記憶装置。   The control circuit uses a 3-bit bit cell for 1 bit of data of the program start voltage when storing the determined program start voltage in a dummy word line of the memory cell array or a memory cell on the word line. The nonvolatile semiconductor memory device according to claim 1, wherein writing is performed by majority logic. 上記制御回路は、上記格納されたプログラム開始電圧を1回の読み出しサイクルで読み出して、上記読み出したプログラム開始電圧を用いて所定のデータを書き込むことを特徴とする請求項1〜10のうちのいずれか1つに記載の不揮発性半導体記憶装置。   11. The control circuit according to claim 1, wherein the control circuit reads the stored program start voltage in one read cycle, and writes predetermined data using the read program start voltage. The nonvolatile semiconductor memory device according to claim 1. 上記制御回路は、上記格納されたプログラム開始電圧を1回の読み出しサイクルで読み出して、上記読み出したすべてのプログラム開始電圧をレジスタに記憶して、所定のデータを書き込むプログラム処理が該当ブロック内であれば、そのレジスタから該当ワード線のプログラム開始電圧を読み出して所定のデータを書き込むことを特徴とする請求項1〜11のうちのいずれか1つに記載の不揮発性半導体記憶装置。   The control circuit reads the stored program start voltage in one read cycle, stores all the read program start voltages in a register, and writes a predetermined data in the corresponding block. 12. The nonvolatile semiconductor memory device according to claim 1, wherein the program start voltage of the corresponding word line is read from the register and predetermined data is written. 不揮発性のメモリセルアレイと、上記メモリセルアレイへの書き込みを制御する制御回路とを備えた不揮発性半導体記憶装置の書き込み方法において、
上記制御回路は、書き込むメモリセルのデータを消去する消去処理のための消去パルスを印加する前の段階において、上記メモリセルアレイに書き込むときのプログラム速度を検出し、当該プログラム速度に対応するプログラム開始電圧をブロック毎又はワード線毎に決定して、上記決定したプログラム開始電圧を上記メモリセルアレイに格納し、上記メモリセルアレイからプログラム開始電圧を読み出して所定のデータを書き込み、
上記制御回路は、上記書き込むメモリセルのデータを消去する消去処理のための消去パルスを印加する前の段階において、上記メモリセルアレイのワード線上のメモリセルに格納されたデータを用いて上記プログラム速度を検出することを特徴とする不揮発性半導体記憶装置の書き込み方法。
In a writing method of a nonvolatile semiconductor memory device comprising a nonvolatile memory cell array and a control circuit for controlling writing to the memory cell array,
The control circuit detects a program speed when writing to the memory cell array and applies a program start voltage corresponding to the program speed before applying an erase pulse for an erase process for erasing data of a memory cell to be written. Is determined for each block or word line, the determined program start voltage is stored in the memory cell array, the program start voltage is read from the memory cell array, and predetermined data is written.
The control circuit uses the data stored in the memory cells on the word lines of the memory cell array to increase the program speed before applying an erase pulse for erasing processing for erasing data in the memory cell to be written. A non-volatile semiconductor memory device writing method, comprising: detecting a non-volatile semiconductor memory device;
JP2014084843A 2014-04-16 2014-04-16 Nonvolatile semiconductor memory device and writing method thereof Active JP5784788B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014084843A JP5784788B2 (en) 2014-04-16 2014-04-16 Nonvolatile semiconductor memory device and writing method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014084843A JP5784788B2 (en) 2014-04-16 2014-04-16 Nonvolatile semiconductor memory device and writing method thereof

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2012001495A Division JP2013143155A (en) 2012-01-06 2012-01-06 Nonvolatile semiconductor memory device and write-in method thereof

Publications (2)

Publication Number Publication Date
JP2014132512A true JP2014132512A (en) 2014-07-17
JP5784788B2 JP5784788B2 (en) 2015-09-24

Family

ID=51411511

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014084843A Active JP5784788B2 (en) 2014-04-16 2014-04-16 Nonvolatile semiconductor memory device and writing method thereof

Country Status (1)

Country Link
JP (1) JP5784788B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10366771B2 (en) 2017-02-28 2019-07-30 Toshiba Memory Corporation Controller, memory system, and block management method for NAND flash memory using the same

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10818358B2 (en) 2017-09-22 2020-10-27 Toshiba Memory Corporation Memory system including a semiconductor memory having a memory cell and a write circuit configured to write data to the memory cell
JP2021072139A (en) 2019-10-29 2021-05-06 キオクシア株式会社 Semiconductor storage device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080158979A1 (en) * 2006-12-27 2008-07-03 Teruhiko Kamei Method for programming with initial programming voltage based on trial
JP2009151912A (en) * 2007-12-24 2009-07-09 Hynix Semiconductor Inc Flash memory device and operation method
JP2009283117A (en) * 2008-05-23 2009-12-03 Hynix Semiconductor Inc Method of programming nonvolatile memory device
JP2010020881A (en) * 2008-07-10 2010-01-28 Hynix Semiconductor Inc Programming method of nonvolatile memory device
JP2011519110A (en) * 2008-04-29 2011-06-30 サンディスク アイエル リミティド Non-volatile multi-level memory with adaptive setting of reference voltage for programming, verification and reading

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080158979A1 (en) * 2006-12-27 2008-07-03 Teruhiko Kamei Method for programming with initial programming voltage based on trial
JP2009151912A (en) * 2007-12-24 2009-07-09 Hynix Semiconductor Inc Flash memory device and operation method
JP2011519110A (en) * 2008-04-29 2011-06-30 サンディスク アイエル リミティド Non-volatile multi-level memory with adaptive setting of reference voltage for programming, verification and reading
JP2009283117A (en) * 2008-05-23 2009-12-03 Hynix Semiconductor Inc Method of programming nonvolatile memory device
JP2010020881A (en) * 2008-07-10 2010-01-28 Hynix Semiconductor Inc Programming method of nonvolatile memory device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10366771B2 (en) 2017-02-28 2019-07-30 Toshiba Memory Corporation Controller, memory system, and block management method for NAND flash memory using the same

Also Published As

Publication number Publication date
JP5784788B2 (en) 2015-09-24

Similar Documents

Publication Publication Date Title
TWI496152B (en) Non-volatile semiconductor memory device and write-in method thereof
JP6783682B2 (en) Semiconductor storage and memory system
CN112233713B (en) Semiconductor storage device
JP5292052B2 (en) Nonvolatile semiconductor memory device and writing method thereof
JP4902002B1 (en) Nonvolatile semiconductor memory device
JP5575244B2 (en) Selective memory cell program and erase
JP5250117B2 (en) Adaptive erase and soft programming for memory
JP5439488B2 (en) Improved data retention of the last word line in non-volatile memory arrays
JP4510072B2 (en) Nonvolatile semiconductor memory device and writing method thereof
JP2022519866A (en) Flash memory device
KR101155249B1 (en) Semiconductor memory device and method of erasing the same
US8520435B2 (en) Nonvolatile memory device and method of operating the same
JP2014225310A (en) Nonvolatile semiconductor memory device
JP5565948B2 (en) Semiconductor memory
JP2008084471A (en) Semiconductor memory device
JP2018147535A (en) Semiconductor memory device and memory system
KR20130072668A (en) Semiconductor memory device and operating method thereof
US9053793B2 (en) Semiconductor memory device and method of operating the same
US9251902B2 (en) Semiconductor storage device
KR20130034919A (en) Semiconductor device and operation method thereof
KR101668340B1 (en) Nand type flash memory and programming method thereof
JP2013186932A (en) Non-volatile semiconductor memory device
JP2017097927A (en) NAND flash memory and programming method thereof
TWI648743B (en) Semiconductor device and method of operating same
JP5784788B2 (en) Nonvolatile semiconductor memory device and writing method thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140416

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150105

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150630

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150722

R150 Certificate of patent or registration of utility model

Ref document number: 5784788

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250