JP2013041642A - Semiconductor device - Google Patents

Semiconductor device Download PDF

Info

Publication number
JP2013041642A
JP2013041642A JP2011177852A JP2011177852A JP2013041642A JP 2013041642 A JP2013041642 A JP 2013041642A JP 2011177852 A JP2011177852 A JP 2011177852A JP 2011177852 A JP2011177852 A JP 2011177852A JP 2013041642 A JP2013041642 A JP 2013041642A
Authority
JP
Japan
Prior art keywords
memory cell
program
current
memory
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.)
Withdrawn
Application number
JP2011177852A
Other languages
Japanese (ja)
Inventor
Daiya Ogawa
大也 小川
Takashi Ito
孝 伊藤
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2011177852A priority Critical patent/JP2013041642A/en
Publication of JP2013041642A publication Critical patent/JP2013041642A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a semiconductor device including a nonvolatile memory, which allows high-speed programming even for a charge trap type.SOLUTION: In a semiconductor device, a memory array is arranged in a matrix and includes a plurality of memory cells MC0 and MC1 each of which stores data by change in a threshold voltage level. A verification circuit 50 determines whether a threshold voltage has reached a program verification voltage for each program operation that is executed for a plurality of times for memory cells for programming. A current adjustment circuit 52 passes a program current of a first current value to memory cells, out of the plurality of memory cells for programming, for which it is determined by the verification circuit 50 that the threshold voltage has not reached the program verification voltage; and passes a program current of a second current value, which is smaller than the first current value, to memory cells for which it is determined that the threshold voltage has reached the program verification voltage.

Description

この発明は、電気的に書換え可能な不揮発性メモリを備えた半導体装置に関する。   The present invention relates to a semiconductor device including an electrically rewritable nonvolatile memory.

フラッシュメモリなどの不揮発性メモリを内蔵したマイクロコンピュータでは、不揮発性メモリの容量増加に伴って、プログラム(書込)時間の増大が問題となっている。特にNOR型フラッシュメモリのように、ホットエレクトロン注入を利用する書込方式では、チャージポンプ回路の電流供給能力に限界があるため、同時に書込を行なうことができるセル数に制限がされる。このことが、プログラム時間を増大させる要因の1つとなっている。   In a microcomputer incorporating a non-volatile memory such as a flash memory, an increase in program (write) time has become a problem as the capacity of the non-volatile memory increases. In particular, in a writing method using hot electron injection such as a NOR flash memory, the current supply capability of the charge pump circuit is limited, so that the number of cells that can be simultaneously written is limited. This is one of the factors that increase the program time.

特開2004−022112号公報(特許文献1)は、高速のページプログラムを可能にする不揮発性半導体メモリ装置を開示する。この文献に記載の不揮発性メモリ装置では、1ページのデータをページ内の複数のアドレスごとに書込を行なう。このとき、ベリファイ読出で判定がパスしたアドレスについては、書込動作とベリファイ読出動作をスキップすることによって高速化が図られる。   Japanese Unexamined Patent Application Publication No. 2004-022112 (Patent Document 1) discloses a nonvolatile semiconductor memory device that enables high-speed page programming. In the nonvolatile memory device described in this document, one page of data is written for each of a plurality of addresses in the page. At this time, with respect to the address that has passed the determination in the verify read operation, the write operation and the verify read operation are skipped to increase the speed.

特開平09−307082号公報(特許文献2)は、メモリセルの閾値の分布幅を狭くするための手法としてビット毎ベリファイについて開示している。上記文献と目的は異なるが技術的には類似している。具体的には、書込時間を短い時間に区分けし、区分けした時間毎に書込とベリファイが行なわれる。ベリファイ動作によって閾値の上昇が十分と判定されたものは、次回のサイクルから書込が行なわれない。   Japanese Patent Application Laid-Open No. 09-307082 (Patent Document 2) discloses bit-by-bit verification as a technique for narrowing the threshold distribution width of memory cells. Although the purpose is different from the above document, it is technically similar. Specifically, the writing time is divided into short times, and writing and verifying are performed for each divided time. If it is determined that the threshold is sufficiently increased by the verify operation, writing is not performed from the next cycle.

特開平09−307082号公報(特許文献2)は、さらに、書込動作を2回に分けて行なう手法も開示する。具体的には、読出しの設定レベルと同じかそれよりは高いが本来必要とするベリファイ読出の判定レベルより低い緩めの第1の判定レベルを設定し、この第1の判定レベルに基づいて第1の書込動作が行なわれる。次に、本来必要とする第2の判定レベルに基づいて第2の書込動作が行なわれる。   Japanese Laid-Open Patent Publication No. 09-307082 (Patent Document 2) further discloses a method of performing the writing operation in two steps. Specifically, a loose first determination level that is equal to or higher than the read setting level but lower than the originally required verify read determination level is set, and the first determination level is set based on the first determination level. Is written. Next, a second write operation is performed based on the second determination level that is originally required.

特表2007−520029号公報(特許文献3)も上記の特許文献と同様に、粗いプログラミング工程とファインプログラミング工程の2段階の分けて書込を行なう技術について開示する。この文献の技術では、粗いプログラミング工程においてメモリセルをベリファイする間に、ファインプログラミング工程においてこれら以外のメモリセルをベリファイすることにより、効率的にベリファイが行なわれる。   Japanese Patent Publication No. 2007-520029 (Patent Document 3) also discloses a technique for performing writing in two stages of a coarse programming process and a fine programming process, as in the above-mentioned patent document. In the technique of this document, while verifying memory cells in a coarse programming process, verifying is performed efficiently by verifying other memory cells in a fine programming process.

なお、上記の各文献は、各メモリセルに1ビットのデータを記憶する場合を扱ったものであるが、電圧範囲の異なる4個の閾値電圧分布にそれぞれデータを対応付けることによって、各メモリセルに2ビットのデータを記憶させることもできる(たとえば、特開2007−141393号公報(特許文献4)参照)。   Each of the above references deals with the case where 1-bit data is stored in each memory cell, but by associating data with four threshold voltage distributions having different voltage ranges, 2-bit data can also be stored (see, for example, Japanese Patent Application Laid-Open No. 2007-141393 (Patent Document 4)).

なお、良く知られているように、不揮発性メモリのメモリセルの構造には、浮遊ゲート(フローティングゲート)型と電荷捕獲(チャージトラップ)型とがある。電荷捕獲型の代表例として、窒化シリコン膜を用いたMONOS(Metal-Oxide-Nitride-Oxide-Silicon)型が知られている(たとえば、特開2010−272156号公報(特許文献5)、特開2008−251096号公報(特許文献6)を参照)。   As is well known, the structure of a memory cell of a nonvolatile memory includes a floating gate type and a charge trap type. As a typical example of the charge trapping type, a MONOS (Metal-Oxide-Nitride-Oxide-Silicon) type using a silicon nitride film is known (for example, JP 2010-272156 A (Patent Document 5)). 2008-251096 gazette (refer patent document 6)).

特開2004−022112号公報JP 2004-022112 A 特開平09−307082号公報Japanese Patent Laid-Open No. 09-307082 特表2007−520029号公報Special table 2007-520029 gazette 特開2007−141393号公報JP 2007-141393 A 特開2010−272156号公報JP 2010-272156 A 特開2008−251096号公報JP 2008-251096 A

上記の特開2004−022112号公報(特許文献1)に記載の技術は、浮遊ゲート型の不揮発性メモリのプログラミング工程を高速化するにはある程度有効であると考えられる。しかしながら、窒化シリコン膜などを用いた電荷捕獲型の不揮発性メモリにこの技術は適用できない。なぜなら、窒化シリコン膜にトラップした電荷は、時間の経過とともにデトラップする性質があるが、特に電荷注入後の短時間の間でのデトラップの割合が大きいからである。したがって、プログラムベリファイ時に、閾値電圧がプログラムベリファイ電圧に達したと判定したメモリセルについて、その後のプログラムパルスの印加をやめてしまうと、閾値電圧がプログラムベリファイ電圧以下まで低下してしまう。   The technique described in Japanese Patent Application Laid-Open No. 2004-022112 (Patent Document 1) is considered to be effective to some extent for speeding up the programming process of the floating gate type nonvolatile memory. However, this technique cannot be applied to a charge trapping nonvolatile memory using a silicon nitride film or the like. This is because the charge trapped in the silicon nitride film has the property of detrapping over time, but the detrapping rate is particularly large in a short time after the charge injection. Therefore, if the application of a subsequent program pulse is stopped for a memory cell that has been determined that the threshold voltage has reached the program verify voltage during program verification, the threshold voltage will drop below the program verify voltage.

このようなプログラムパルスの印加直後のデトラップによる閾値電圧の低下という問題は、電荷捕獲型の場合ほど顕著でないにしても、浮遊ゲート型の場合にも起こり得る問題である。   Such a problem of lowering the threshold voltage due to detrapping immediately after the application of the program pulse is a problem that may occur in the floating gate type even though it is not as significant as in the charge trapping type.

したがって、この発明の目的は、電荷捕獲型の場合であっても高速にプログラムすることが可能な不揮発性メモリを備えた半導体装置を提供することである。   Accordingly, an object of the present invention is to provide a semiconductor device including a nonvolatile memory that can be programmed at high speed even in the case of a charge trapping type.

この発明の実施の一形態による半導体装置は、メモリアレイと、ベリファイ回路と、電流調整回路とを備える。メモリアレイは、行列状に配列され、各々が閾値電圧のレベル変化によってデータを記憶する複数のメモリセルを含む。各メモリセルは、第1および第2の導通電極とゲート電極とを有する。各メモリセルの閾値電圧は、第1および第2の導通電極間にプログラム電流を流すとともにゲート電極にプログラム電圧を印加するプログラム動作が複数回実行されることによって、所定のプログラムベリファイ電圧に到達する。ベリファイ回路は、プログラム対象のメモリセルに対して複数回実行されるプログラム動作ごとに、閾値電圧がプログラムベリファイ電圧に到達したか否かを判定する。電流調整回路は、プログラム電流の大きさを調整する。電流調整回路は、プログラム対象の複数のメモリセルのうち、ベリファイ回路によって閾値電圧がプログラムベリファイ電圧に達していないと判定されたメモリセルには第1の電流値のプログラム電流を流し、閾値電圧がプログラムベリファイ電圧に達したと判定されたメモリセルには第1の電流値よりも小さい第2の電流値のプログラム電流を流す。   A semiconductor device according to an embodiment of the present invention includes a memory array, a verify circuit, and a current adjustment circuit. The memory array includes a plurality of memory cells arranged in a matrix and each storing data according to a level change of a threshold voltage. Each memory cell has first and second conduction electrodes and a gate electrode. The threshold voltage of each memory cell reaches a predetermined program verify voltage by causing a program current to flow between the first and second conductive electrodes and applying a program voltage to the gate electrode a plurality of times. . The verify circuit determines whether or not the threshold voltage has reached the program verify voltage for each program operation executed a plurality of times on the memory cell to be programmed. The current adjustment circuit adjusts the magnitude of the program current. The current adjustment circuit supplies a program current having a first current value to a memory cell in which the threshold voltage is determined not to reach the program verify voltage by the verify circuit among the plurality of memory cells to be programmed. A program current having a second current value smaller than the first current value is supplied to the memory cell determined to have reached the program verify voltage.

上記の実施の形態によれば、閾値電圧がプログラムベリファイ電圧に達したと判定されたメモリセルには第1の電流値よりも小さい第2の電流値のプログラム電流を流すことによって、閾値電圧の低下を抑制し、これによって、所定のプログラムベリファイ電圧以上の閾値電圧となるまで従来よりも高速にプログラムすることができる。   According to the above embodiment, the threshold voltage of the threshold voltage is caused to flow by passing a program current having a second current value smaller than the first current value to the memory cell determined to have reached the program verify voltage. Thus, the program can be programmed at a higher speed than before until the threshold voltage becomes equal to or higher than a predetermined program verify voltage.

この発明の実施の形態1による半導体装置の構成を示すブロック図である。1 is a block diagram showing a configuration of a semiconductor device according to a first embodiment of the present invention. メモリセルMCの構成を示す図である。It is a figure which shows the structure of the memory cell MC. メモリセルMCの記憶動作を示す図である。It is a figure which shows the memory | storage operation | movement of memory cell MC. 図1の不揮発性メモリ装置4の全体構成を示すブロック図である。FIG. 2 is a block diagram showing an overall configuration of the nonvolatile memory device 4 of FIG. 1. 図4のメモリアレイ30の構成を模式的に示した平面図である。FIG. 5 is a plan view schematically showing the configuration of the memory array 30 of FIG. 4. 図5のメモリブロックMB0の構成を示す回路図である。FIG. 6 is a circuit diagram showing a configuration of a memory block MB0 of FIG. 図5、図6のカラム系選択回路39のうちデータのプログラムに関係する部分を示した図である。7 is a diagram showing a portion related to a data program in the column system selection circuit 39 of FIGS. 5 and 6. FIG. 消去状態とプログラム状態のときの閾値電圧分布を示す図である。It is a figure which shows the threshold voltage distribution at the time of an erase state and a program state. プログラムパルス印加動作時にメモリセルMCに流れる電流をまとめた表を示した図である。It is the figure which showed the table | surface which put together the electric current which flows into the memory cell MC at the time of a program pulse application operation. プログラム時にメモリゲートに印加される電圧波形を概略的に示すタイミング図である。It is a timing diagram which shows roughly the voltage waveform applied to a memory gate at the time of programming. 実施の形態1の場合のプログラム手順を示すフローチャートである。4 is a flowchart showing a program procedure in the case of the first embodiment. この発明の実施の形態2による不揮発性メモリ装置のうちデータのプログラムに関係する部分を示した図である。It is the figure which showed the part relevant to the program of data among the non-volatile memory devices by Embodiment 2 of this invention. 図12の不揮発性メモリ装置によるプログラムの手順について説明するための図である。FIG. 13 is a diagram for explaining a program procedure by the nonvolatile memory device of FIG. 12. メモリブロックの同時選択を行なわない通常状態においてソース線およびビット線に印加される電圧波形を示すタイミングチャートである。5 is a timing chart showing voltage waveforms applied to a source line and a bit line in a normal state where simultaneous selection of memory blocks is not performed. メモリブロックの同時選択状態においてソース線およびビット線に印加される電圧波形を示すタイミングチャートである。5 is a timing chart showing voltage waveforms applied to a source line and a bit line in a simultaneous selection state of memory blocks. 実施の形態2の場合のプログラム手順を示すフローチャートである。10 is a flowchart showing a program procedure in the case of the second embodiment.

以下、この発明の実施の形態について図面を参照して詳しく説明する。なお、同一または相当する部分には同一の参照符号を付して、その説明を繰返さない。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. The same or corresponding parts are denoted by the same reference numerals, and description thereof will not be repeated.

<実施の形態1>
[半導体装置の構成]
図1は、この発明の実施の形態1による半導体装置の構成を示すブロック図である。図1には、半導体装置の一例としてマイクロコンピュータチップ1が示されている。マイクロコンピュータチップ1は、CPU(Central Processing Unit)2と、RAM(Random Access Memory)3と、不揮発性メモリ装置4と、周辺回路5と、インターフェース回路7と、これらを相互に接続するデータバス8と、電源回路6とを含む。
<Embodiment 1>
[Configuration of semiconductor device]
1 is a block diagram showing a configuration of a semiconductor device according to a first embodiment of the present invention. FIG. 1 shows a microcomputer chip 1 as an example of a semiconductor device. The microcomputer chip 1 includes a CPU (Central Processing Unit) 2, a RAM (Random Access Memory) 3, a nonvolatile memory device 4, a peripheral circuit 5, an interface circuit 7, and a data bus 8 that interconnects them. And a power supply circuit 6.

電源回路6は、マイクロコンピュータチップ1の外部から受けた外部電源電圧VCCに基づいて内部電源電圧VDDを生成する。内部電源電圧VDDは、マイクロコンピュータチップ1の各部に供給される(図1では、不揮発性メモリ装置4への供給のみが代表的に示されている)。   The power supply circuit 6 generates an internal power supply voltage VDD based on the external power supply voltage VCC received from the outside of the microcomputer chip 1. The internal power supply voltage VDD is supplied to each part of the microcomputer chip 1 (in FIG. 1, only supply to the nonvolatile memory device 4 is representatively shown).

不揮発性メモリ装置4は、EEPROM(Electrically Erasable and Programmable Read-only Memory)やフラッシュメモリなどの半導体記憶装置である。これらの半導体記憶装置の各メモリセルは、ゲート電極とチャネル層との間に電荷蓄積部を有する。電荷蓄積部に蓄積された電荷によってメモリセルの閾値電圧が変化し、これによって「1」、「0」の情報を記憶することができる。電荷蓄積部として、一般に、多結晶シリコン膜で形成された浮遊ゲート(フローティングゲート)や、窒化ケイ素膜などが用いられる。窒化ケイ素膜は、膜中に分散して存在する捕獲準位(トラップレベル)によって電荷を蓄積する。この実施の形態では、窒化ケイ素膜を電荷蓄積部として用いた例について説明する。次に、メモリセルの具体的構成をさらに詳しく説明する。   The nonvolatile memory device 4 is a semiconductor storage device such as an EEPROM (Electrically Erasable and Programmable Read-only Memory) or a flash memory. Each memory cell of these semiconductor memory devices has a charge storage portion between the gate electrode and the channel layer. The threshold voltage of the memory cell is changed by the charge stored in the charge storage unit, and thus information of “1” and “0” can be stored. Generally, a floating gate (floating gate) formed of a polycrystalline silicon film, a silicon nitride film, or the like is used as the charge storage portion. The silicon nitride film accumulates electric charges by trap levels that are dispersed in the film. In this embodiment, an example in which a silicon nitride film is used as a charge storage portion will be described. Next, a specific configuration of the memory cell will be described in more detail.

[メモリセルの構成]
図2は、メモリセルMCの構成を示す図である。図2(A)には、メモリセルMCの断面図が模式的に示され、図2(B)には、メモリセルMCの回路図記号が示される。図2(A),(B)で対応する部分には同一の参照符号を付す。
[Configuration of memory cell]
FIG. 2 is a diagram showing a configuration of the memory cell MC. FIG. 2A schematically shows a cross-sectional view of the memory cell MC, and FIG. 2B shows a circuit diagram symbol of the memory cell MC. Parts corresponding to those in FIGS. 2A and 2B are denoted by the same reference numerals.

図2(A),(B)を参照して、メモリセルMCは、コントロールゲート21、窒化シリコン膜22、メモリゲート23、ソース24、およびドレイン25を含む。コントロールゲート21は、P型シリコン基板20の表面上に絶縁層(図示せず)を介して形成される。窒化シリコン膜22は、コントロールゲート21の側壁に酸化シリコン膜(図示せず)、窒化シリコン膜22、および酸化シリコン膜(図示せず)からなるONO(Oxide-Nitride-Oxide)膜として形成される。ONO膜上には、サイドウォール構造のメモリゲート23が形成される。ソース24およびドレイン25は、ゲート21,23の両側にN型不純物を注入することによってそれぞれ形成される。   2A and 2B, memory cell MC includes a control gate 21, a silicon nitride film 22, a memory gate 23, a source 24, and a drain 25. The control gate 21 is formed on the surface of the P-type silicon substrate 20 via an insulating layer (not shown). The silicon nitride film 22 is formed on the sidewall of the control gate 21 as an ONO (Oxide-Nitride-Oxide) film made of a silicon oxide film (not shown), a silicon nitride film 22, and a silicon oxide film (not shown). . A memory gate 23 having a sidewall structure is formed on the ONO film. The source 24 and the drain 25 are formed by implanting N-type impurities on both sides of the gates 21 and 23, respectively.

メモリセルMCが複数配列されたメモリアレイには、各々が、メモリセル行に対応して行方向Xに延在する、メモリゲート線MGL、コントロールゲート線CGL、およびソース線SLが設けられる。メモリセル列に対応して列方向Yに延在するビット線BLが設けられる。各メモリセルMCにおいて、メモリゲート23は、対応のメモリゲート線MGLに接続される。コントロールゲート21は、対応のコントロールゲート線CGLに接続される。ソース24は、対応のソース線SLに接続される。ドレイン25は、対応のビット線BLに接続される。   A memory array in which a plurality of memory cells MC are arranged is provided with a memory gate line MGL, a control gate line CGL, and a source line SL, each extending in the row direction X corresponding to the memory cell row. Bit lines BL extending in the column direction Y are provided corresponding to the memory cell columns. In each memory cell MC, the memory gate 23 is connected to the corresponding memory gate line MGL. The control gate 21 is connected to the corresponding control gate line CGL. Source 24 is connected to corresponding source line SL. The drain 25 is connected to the corresponding bit line BL.

[メモリセルの記憶動作]
各メモリセルMCには固有のアドレスが割り当てられ、各メモリセルMCは閾値電圧のレベル変化によって1ビットのデータを記憶する。
[Memory cell storage operation]
A unique address is assigned to each memory cell MC, and each memory cell MC stores 1-bit data according to a threshold voltage level change.

図3は、メモリセルMCの記憶動作を示す図である。図3(A)にはプログラムパルス印加動作時の状態が示され、図3(B)には消去パルス印加動作時の状態が示され、図3(C)には読出動作時の状態が示され、図3(D)にはプログラムベリファイ動作時の状態が示される。   FIG. 3 is a diagram showing a storage operation of the memory cell MC. FIG. 3A shows the state during the program pulse application operation, FIG. 3B shows the state during the erase pulse application operation, and FIG. 3C shows the state during the read operation. FIG. 3D shows the state during the program verify operation.

図3(A)を参照して、プログラムパルス印加動作時は、メモリゲート23に6.4〜11Vの間の選択された電圧(「プログラム電圧」と称する)が印加され、コントロールゲート21には1.0Vが印加され、ソース24には3.2〜7.0Vの間の選択された電圧が印加され、ドレイン25には0.8Vが印加される。これにより、ソースサイド注入(SSI:Source Side Injection)方式により、ホットエレクトロンが窒化シリコン膜22に注入されてメモリセルMCの閾値電圧が高くなる。このとき、ソース・ドレイン間に流れる電流を「プログラム電流」と称する。プログラムパルス印加動作は、メモリセルMCの閾値電圧が所定のプログラムベリファイ電圧PVよりも高くなるまで繰り返し行なわれる。プログラムされたメモリセルMCには、データ“0”と“1”のうちのたとえば“1”が記憶される(“0”と決めてもよいが、この明細書では“1”とする)。なお、メモリゲート23の電圧は、メモリセルMCの閾値電圧が高くなり難い場合に正側に高いレベルに設定される。ソース24の電圧は、絶縁破壊が生じないように、メモリゲート23の電圧に応じて設定される。   Referring to FIG. 3A, during the program pulse application operation, a selected voltage (referred to as “program voltage”) between 6.4 and 11 V is applied to memory gate 23, and control gate 21 is applied to control gate 21. 1.0 V is applied, a selected voltage between 3.2 and 7.0 V is applied to the source 24, and 0.8 V is applied to the drain 25. Thus, hot electrons are injected into the silicon nitride film 22 by the source side injection (SSI) method, and the threshold voltage of the memory cell MC is increased. At this time, the current flowing between the source and the drain is referred to as “program current”. The program pulse application operation is repeated until the threshold voltage of the memory cell MC becomes higher than a predetermined program verify voltage PV. For example, “1” of data “0” and “1” is stored in the programmed memory cell MC (“0” may be determined, but “1” is used in this specification). Note that the voltage of the memory gate 23 is set to a high level on the positive side when the threshold voltage of the memory cell MC is difficult to increase. The voltage of the source 24 is set according to the voltage of the memory gate 23 so that dielectric breakdown does not occur.

図3(B)を参照して、消去パルス印加動作時は、メモリゲート23に−3.3〜−8Vの間の選択された電圧が印加され、コントロールゲート21には0Vが印加され、ソース24には3.2〜7.0Vが印加され、ドレイン25はOPEN状態にされる。これにより、バンド間トンネル(BTBT:Band To Band Tunneling)方式により、ホットホールが窒化シリコン膜22に注入されてメモリセルMCの閾値電圧が低くなる。消去パルス印加動作は、メモリセルMCの閾値電圧が所定の消去ベリファイ電圧EVよりも低くなるまで繰り返し行なわれる。消去されたメモリセルMCには、データ“0”と“1”のうちのたとえば“0”が記憶される。なお、メモリゲート23の電圧は、メモリセルMCの閾値電圧が低くなり難い場合に負側に高いレベルに設定される。ソース24の電圧は、絶縁破壊が生じないように、メモリゲート23の電圧に応じて設定される。   Referring to FIG. 3B, during the erase pulse application operation, a voltage selected between −3.3 and −8V is applied to memory gate 23, 0V is applied to control gate 21, and the source The voltage 24 is applied with 3.2 to 7.0 V, and the drain 25 is set in the OPEN state. Accordingly, hot holes are injected into the silicon nitride film 22 by a band-to-band tunneling (BTBT) method, and the threshold voltage of the memory cell MC is lowered. The erase pulse application operation is repeated until the threshold voltage of the memory cell MC becomes lower than a predetermined erase verify voltage EV. For example, “0” of data “0” and “1” is stored in the erased memory cell MC. Note that the voltage of the memory gate 23 is set to a high level on the negative side when the threshold voltage of the memory cell MC is difficult to decrease. The voltage of the source 24 is set according to the voltage of the memory gate 23 so that dielectric breakdown does not occur.

図3(C)を参照して、読出動作時は、メモリゲート23およびソース24に0Vが印加され、コントロールゲート21およびドレイン25に1.5Vが印加され、ドレイン25とソース24の間に流れる電流Idが閾値電流よりも大きいか否かが判定される。電流Idが閾値電流よりも大きい場合は、メモリセルMCの閾値電圧が低いのでメモリセルMCの記憶データは“0”であると判定される。逆に、電流Idが閾値電流よりも小さい場合は、メモリセルMCの閾値電圧が高いのでメモリセルMCの記憶データは“1”であると判定される。   Referring to FIG. 3C, in the read operation, 0 V is applied to memory gate 23 and source 24, 1.5 V is applied to control gate 21 and drain 25, and flows between drain 25 and source 24. It is determined whether the current Id is larger than the threshold current. When the current Id is larger than the threshold current, the threshold voltage of the memory cell MC is low, so that the storage data of the memory cell MC is determined to be “0”. Conversely, when the current Id is smaller than the threshold current, the threshold voltage of the memory cell MC is high, so that the storage data of the memory cell MC is determined to be “1”.

図3(D)を参照して、プログラムベリファイ動作時は、メモリゲート23にプログラムベリファイ電圧PVが印加され、ソース24に0Vが印加され、コントロールゲート21およびドレイン25に1.5Vが印加され、ドレイン25とソース24の間に流れる電流Idが閾値電流よりも大きいか否かが判定される。電流Idが閾値電流よりも大きい場合は、メモリセルMCの閾値電圧がプログラムベリファイ電圧PVよりも低いので、プログラムは完了していないと判定される。逆に、電流Idが閾値電流よりも小さい場合は、メモリセルMCの閾値電圧がプログラムベリファイ電圧PVよりも高いので、プログラム完了したと判定される。   Referring to FIG. 3D, in the program verify operation, program verify voltage PV is applied to memory gate 23, 0V is applied to source 24, 1.5V is applied to control gate 21 and drain 25, It is determined whether or not the current Id flowing between the drain 25 and the source 24 is larger than the threshold current. When the current Id is larger than the threshold current, the threshold voltage of the memory cell MC is lower than the program verify voltage PV, so that it is determined that the programming is not completed. On the contrary, when the current Id is smaller than the threshold current, the threshold voltage of the memory cell MC is higher than the program verify voltage PV, so that it is determined that the programming is completed.

消去ベリファイ動作時には、図3(D)において、メモリゲート23には、プログラムベリファイ電圧PVに代えて消去ベリファイ電圧EVが印加される。その他箇所に印加される電圧は図3(D)の場合と同じである。ドレイン25とソース24の間に流れる電流Idが閾値電流よりも大きい場合は、メモリセルMCの閾値電圧が消去ベリファイ電圧EVよりも低いので、消去は完了したと判定される。逆に、電流Idが閾値電流よりも小さい場合は、メモリセルMCの閾値電圧が消去ベリファイ電圧EVよりも高いので、消去は完了していないと判定される。   In the erase verify operation, in FIG. 3D, the erase verify voltage EV is applied to the memory gate 23 instead of the program verify voltage PV. The voltage applied to other portions is the same as that in FIG. When the current Id flowing between the drain 25 and the source 24 is larger than the threshold current, the threshold voltage of the memory cell MC is lower than the erase verify voltage EV, so that it is determined that the erase has been completed. On the other hand, when the current Id is smaller than the threshold current, the threshold voltage of the memory cell MC is higher than the erase verify voltage EV, so that it is determined that the erase is not completed.

[不揮発性メモリ装置の構成]
図4は、図1の不揮発性メモリ装置4の全体構成を示すブロック図である。図4を参照して、不揮発性メモリ装置4は、メモリアレイ30、入出力回路31、ワード線デコーダ部35、コントロールゲート線ドライバ部36、メモリゲート線ドライバ部37、ソース線ドライバ部38、カラム系選択回路39、制御回路32、電源回路33、および電源切替回路34を含む。
[Configuration of non-volatile memory device]
FIG. 4 is a block diagram showing the overall configuration of the nonvolatile memory device 4 of FIG. Referring to FIG. 4, the nonvolatile memory device 4 includes a memory array 30, an input / output circuit 31, a word line decoder unit 35, a control gate line driver unit 36, a memory gate line driver unit 37, a source line driver unit 38, a column. A system selection circuit 39, a control circuit 32, a power supply circuit 33, and a power supply switching circuit 34 are included.

メモリアレイ30には、図2で説明したメモリセルMCが行列状に多数配列される。この実施の形態では、ビット線は、複数の主ビット線BLと副ビット線SBLとを含む。各主ビット線BL(図5の主ビット線BL0〜BL2047に対応し、図6の主ビット線BL0〜BL255に対応する)には、スイッチ用のトランジスタQC(図6のトランジスタQC0A,QC0B,…,QC255A,QC255Bに対応する)を介して複数の副ビット線SBL(図6の副ビット線BL0A,BL0B,…,BL255A,BL255Bに対応する)が接続される。メモリセルMCのドレイン25は、対応の副ビット線SBLに接続される。   A large number of memory cells MC described in FIG. 2 are arranged in a matrix in the memory array 30. In this embodiment, the bit line includes a plurality of main bit lines BL and sub-bit lines SBL. Each main bit line BL (corresponding to the main bit lines BL0 to BL2047 in FIG. 5 and corresponding to the main bit lines BL0 to BL255 in FIG. 6) has a switching transistor QC (transistors QC0A, QC0B,. , QC255A, QC255B), a plurality of subbit lines SBL (corresponding to subbit lines BL0A, BL0B,..., BL255A, BL255B in FIG. 6) are connected. The drain 25 of the memory cell MC is connected to the corresponding sub bit line SBL.

入出力回路31は、不揮発性メモリ装置4の外部(たとえば、図1のCPU2)から、コマンド、アドレス、および書込データなどを受けるとともに、読出データを外部に出力する。   Input / output circuit 31 receives a command, an address, write data, and the like from the outside of nonvolatile memory device 4 (for example, CPU 2 in FIG. 1) and outputs read data to the outside.

ワード線デコーダ部35は、入出力回路31を介して受けた行アドレス信号をデコードすることによって、メモリアレイの選択行を指定する信号を出力する。   The word line decoder unit 35 outputs a signal designating the selected row of the memory array by decoding the row address signal received via the input / output circuit 31.

コントロールゲート線ドライバ部36は、ワード線デコーダ部35によって指定された選択行に対応するコントロールゲート線CGLに、電源切替回路34を介して受けた所定の動作電圧を供給する。   The control gate line driver unit 36 supplies a predetermined operating voltage received via the power supply switching circuit 34 to the control gate line CGL corresponding to the selected row designated by the word line decoder unit 35.

メモリゲート線ドライバ部37は、ワード線デコーダ部35によって指定された選択行に対応するメモリゲート線MGLに、電源切替回路34を介して受けた所定の動作電圧を供給する。   The memory gate line driver unit 37 supplies a predetermined operating voltage received via the power supply switching circuit 34 to the memory gate line MGL corresponding to the selected row designated by the word line decoder unit 35.

ソース線ドライバ部38は、ソース線SLに、接地電圧または電源切替回路34を介して受けた所定の動作電圧を供給する。なお、ソース線ドライバ部38は、スイッチ用のトランジスタQA(図5のQA0〜QA31に対応する)を介在してソース線SL(図6のSL0_0〜SL0_15に対応する)接続される。   The source line driver unit 38 supplies a ground voltage or a predetermined operating voltage received via the power supply switching circuit 34 to the source line SL. The source line driver section 38 is connected to a source line SL (corresponding to SL0_0 to SL0_15 in FIG. 6) via a switching transistor QA (corresponding to QA0 to QA31 in FIG. 5).

カラム系選択回路39には、入出力回路31を介して受けた列アドレス信号をデコードするカラムデコーダ回路が設けられる。カラム系選択回路39は、カラムデコーダ回路によるデコード結果に基づいて、選択されたビット線BL(選択列に対応するビット線BL)に、接地電圧や、電源切替回路34を介して受けた所定の動作電圧を供給する。   Column system selection circuit 39 is provided with a column decoder circuit for decoding a column address signal received via input / output circuit 31. The column system selection circuit 39 receives a predetermined voltage received via the ground voltage or the power supply switching circuit 34 on the selected bit line BL (bit line BL corresponding to the selected column) based on the decoding result by the column decoder circuit. Supply operating voltage.

カラム系選択回路39には、さらに、選択されたビット線BLを介して読出対象のメモリセルMCに流れる電流を検知する読出用センスアンプ(SA:Sense Amplifier)回路や、選択されたビット線BLを介してプログラム対象のメモリセルMCに流れる電流を検知するベリファイ用センスアンプ回路などが含まれる。   The column system selection circuit 39 further includes a read sense amplifier (SA) circuit that detects a current flowing through the memory cell MC to be read through the selected bit line BL, and a selected bit line BL. And a verifying sense amplifier circuit for detecting a current flowing through the memory cell MC to be programmed via the.

制御回路32は、図1のCPU2などのホストからの指令に従って、プログラムパルス印加動作、消去パルス印加動作、読出動作、プログラムベリファイ動作、および消去ベリファイ動作などの各動作モードを実行する。制御回路32は、さらに、各動作モードに必要な動作電圧が各ドライバ部に供給されるように、電源回路33および電源切替回路34を制御する。   The control circuit 32 executes each operation mode such as a program pulse application operation, an erase pulse application operation, a read operation, a program verify operation, and an erase verify operation in accordance with a command from a host such as the CPU 2 in FIG. The control circuit 32 further controls the power supply circuit 33 and the power supply switching circuit 34 so that the operation voltage necessary for each operation mode is supplied to each driver unit.

電源回路33は、図1の電源回路6で生成された内部電源電圧VDDを昇圧または降圧することによって、各動作モードに応じた種々の大きさの動作電圧を生成するチャージポンプ回路を含む。電源切替回路34は、電源回路33で生成された種々の大きさ動作電圧を受けて、各動作モードに応じて、供給する動作電圧の大きさや供給先を切替えるスイッチ群である(ディストリビュータとも称する)。   The power supply circuit 33 includes a charge pump circuit that generates operation voltages of various magnitudes according to each operation mode by boosting or stepping down the internal power supply voltage VDD generated by the power supply circuit 6 of FIG. The power supply switching circuit 34 is a group of switches (also referred to as a distributor) that receives operating voltages of various magnitudes generated by the power supply circuit 33 and switches the magnitude of the operating voltage to be supplied and the supply destination in accordance with each operation mode. .

[メモリアレイの構成]
図5は、図4のメモリアレイ30の構成を模式的に示した平面図である。図5には、メモリアレイ30周辺の各ドライバ部も併せて示される。
[Configuration of memory array]
FIG. 5 is a plan view schematically showing the configuration of the memory array 30 of FIG. FIG. 5 also shows each driver section around the memory array 30.

図5のメモリアレイ30では、一例として、図2のメモリセルMCが64行4096列に配列された例が示される。メモリアレイ30は、各々が16行512列のメモリセルMCからなる32個のメモリブロックMB0〜MB31に分割される。したがって、メモリアレイ30内で、メモリブロックMB0〜MB31は4行8列に配列される(図5では図解を容易にするために、8つのメモリブロックが代表的に示されている)。   In the memory array 30 of FIG. 5, an example in which the memory cells MC of FIG. 2 are arranged in 64 rows and 4096 columns is shown as an example. Memory array 30 is divided into 32 memory blocks MB0 to MB31 each consisting of memory cells MC of 16 rows and 512 columns. Therefore, memory blocks MB0 to MB31 are arranged in 4 rows and 8 columns in memory array 30 (in FIG. 5, eight memory blocks are representatively shown for ease of illustration).

コントロールゲート線ドライバ部36は、メモリアレイ30のX方向の中央に配置され、図の左側のコントロールゲート線CGL0A〜CGL63AをそれぞれドライブするドライバCGD0A〜CGD63Aと、図の右側のコントロールゲート線CGL0B〜CGL63BをそれぞれドライブするドライバCGD0B〜CGD63Bとを含む。コントロールゲート線CGL0A〜CGL15AはメモリブロックMB0〜MB3で共通に用いられ、コントロールゲート線CGL16A〜CGL31AはメモリブロックMB8〜MB11で共通に用いられ、コントロールゲート線CGL32A〜CGL47AはメモリブロックMB16〜MB19で共通に用いられ、コントロールゲート線CGL48A〜CGL63AはメモリブロックMB24〜MB27で共通に用いられる。同様に、コントロールゲート線CGL0B〜CGL15BはメモリブロックMB4〜MB7で共通に用いられ、コントロールゲート線CGL16B〜CGL31BはメモリブロックMB12〜MB15で共通に用いられ、コントロールゲート線CGL32B〜CGL47BはメモリブロックMB20〜MB23で共通に用いられ、コントロールゲート線CGL48B〜CGL63BはメモリブロックMB28〜MB31で共通に用いられる。   The control gate line driver unit 36 is disposed in the center of the memory array 30 in the X direction, and drivers CGD0A to CGD63A for driving the control gate lines CGL0A to CGL63A on the left side of the figure, respectively, and the control gate lines CGL0B to CGL63B on the right side of the figure. Including drivers CGD0B to CGD63B, respectively. Control gate lines CGL0A to CGL15A are used in common in memory blocks MB0 to MB3, control gate lines CGL16A to CGL31A are used in common in memory blocks MB8 to MB11, and control gate lines CGL32A to CGL47A are used in common in memory blocks MB16 to MB19. The control gate lines CGL48A to CGL63A are commonly used in the memory blocks MB24 to MB27. Similarly, control gate lines CGL0B to CGL15B are used in common in memory blocks MB4 to MB7, control gate lines CGL16B to CGL31B are used in common in memory blocks MB12 to MB15, and control gate lines CGL32B to CGL47B are used in memory blocks MB20 to MB20. MB23 is commonly used, and control gate lines CGL48B to CGL63B are commonly used in memory blocks MB28 to MB31.

メモリゲート線ドライバ部37は、ドライバMGD0〜MGD15を含む。ドライバMGDi(ただし、0≦i≦15)は、メモリゲート線MGLi,MGLi+16,MGLi+32,MGLi+48をドライブする。メモリゲート線MGL0〜MGL15はメモリブロックMB0〜MB7で共通に用いられ、メモリゲート線MGL16〜MGL31はメモリブロックMB8〜MB15で共通に用いられ、メモリゲート線MGL32〜MGL47はメモリブロックMB16〜MB23で共通に用いられ、メモリゲート線MGL48〜MGL63はメモリブロックMB24〜MB31で共通に用いられる。   Memory gate line driver unit 37 includes drivers MGD0 to MGD15. The driver MGDi (where 0 ≦ i ≦ 15) drives the memory gate lines MGLi, MGLi + 16, MGLi + 32, and MGLi + 48. The memory gate lines MGL0 to MGL15 are commonly used in the memory blocks MB0 to MB7, the memory gate lines MGL16 to MGL31 are commonly used in the memory blocks MB8 to MB15, and the memory gate lines MGL32 to MGL47 are commonly used in the memory blocks MB16 to MB23. The memory gate lines MGL48 to MGL63 are commonly used in the memory blocks MB24 to MB31.

ソース線ドライバ部38(38A,38B)は、メモリブロックMB0〜MB31のソース線をそれぞれドライブするドライバSLD0〜SLD31を含む。ドライバSLD0〜SLD31にそれぞれ対応してスイッチ用のNMOS(Negative-channel Metal Oxide Semiconductor)トランジスタQA0〜QA31が設けられる。各NMOSトランジスタQAは、対応のドライバSLDとそのドライバに対応するメモリブロックMBとの間の伝送経路に挿入される。NMOSトランジスタQA0〜QA31は、バッファSSDから出力される信号に応じてオンまたはオフに切替わる。   The source line driver unit 38 (38A, 38B) includes drivers SLD0 to SLD31 that drive the source lines of the memory blocks MB0 to MB31, respectively. Switching NMOS (Negative-channel Metal Oxide Semiconductor) transistors QA0 to QA31 are provided corresponding to the drivers SLD0 to SLD31, respectively. Each NMOS transistor QA is inserted in a transmission path between the corresponding driver SLD and the memory block MB corresponding to the driver. The NMOS transistors QA0 to QA31 are switched on or off in accordance with a signal output from the buffer SSD.

カラム系選択回路39からは、主ビット線BL0〜BL2047が引き出される。主ビット線BLは、メモリアレイ30の2列ごとに1本ずつ設けられる。   From the column system selection circuit 39, main bit lines BL0 to BL2047 are drawn out. One main bit line BL is provided for every two columns of the memory array 30.

図6は、図5のメモリブロックMB0の構成を示す回路図である。他のメモリブロックMB1〜MB31も同様の構成であるので、以下では、メモリブロックMB0の構成を代表とし、特にこのメモリブロックMB0に設けられたソース線および副ビット線について説明する。   FIG. 6 is a circuit diagram showing a configuration of memory block MB0 in FIG. Since the other memory blocks MB1 to MB31 have the same configuration, the configuration of the memory block MB0 will be representatively described below, and in particular, the source lines and sub-bit lines provided in the memory block MB0 will be described.

図6を参照して、メモリブロックMB0のメモリセル行にそれぞれ対応してソース線SL0_0〜SL0_15が設けられる。ソース線SL0_0〜SL0_15の各一端は、Y方向に延在する配線SL0_busに接続される。配線SL0_busの一端はNMOSトランジスタQA0を介してソース線ドライバSLD0に接続されるとともに、スイッチ用のNMOSトランジスタQB0を介して接地ノードVSSに接続される。各メモリセルMCのソースに所定の正の動作電圧を印加する場合は、NMOSトランジスタQA0がオン状態になり、NMOSトランジスタQB0はオフ状態になる。各メモリセルMCのソースに接地電圧を印加する場合は、NMOSトランジスタQA0がオフ状態になり、NMOSトランジスタQB0はオン状態になる。   Referring to FIG. 6, source lines SL0_0 to SL0_15 are provided corresponding to the memory cell rows of memory block MB0, respectively. One end of each of the source lines SL0_0 to SL0_15 is connected to a wiring SL0_bus extending in the Y direction. One end of the wiring SL0_bus is connected to the source line driver SLD0 via the NMOS transistor QA0 and to the ground node VSS via the switching NMOS transistor QB0. When a predetermined positive operating voltage is applied to the source of each memory cell MC, the NMOS transistor QA0 is turned on and the NMOS transistor QB0 is turned off. When a ground voltage is applied to the source of each memory cell MC, the NMOS transistor QA0 is turned off and the NMOS transistor QB0 is turned on.

メモリブロックMB0のメモリセル列にそれぞれ対応して、副ビット線BL0A,BL0B,BL1A,BL1B,…,BL255A,BL255Bが設けられる。副ビット線BL0A,BL0Bの一端は、スイッチ用のNMOSトランジスタQC0A,QC0Bをそれぞれ介して主ビット線BL0に接続される。副ビット線BL0A,BL0Bの他端は、PMOS(Positive-channel Metal Oxide Semiconductor)トランジスタQD0A,QD0Bを介して電源ノードVDDに接続される。PMOSトランジスタQD0A,QD0Bは、ゲートに所定のバイアス電圧が与えられることによって定電流源として用いられる。他の副ビット線BLA,BLBについても同じであり、一端はスイッチ用のトランジスタを介して対応の主ビット線BLに接続され、他端は定電流源用のPMOSトランジスタを介して電源ノードVDDに接続される。   Sub bit lines BL0A, BL0B, BL1A, BL1B,..., BL255A, BL255B are provided corresponding to the memory cell columns of memory block MB0, respectively. One ends of the sub bit lines BL0A and BL0B are connected to the main bit line BL0 via switching NMOS transistors QC0A and QC0B, respectively. The other ends of the sub bit lines BL0A and BL0B are connected to the power supply node VDD via PMOS (Positive-channel Metal Oxide Semiconductor) transistors QD0A and QD0B. The PMOS transistors QD0A and QD0B are used as constant current sources when a predetermined bias voltage is applied to the gates. The same applies to the other sub-bit lines BLA and BLB. One end is connected to the corresponding main bit line BL via a switching transistor, and the other end is connected to the power supply node VDD via a constant current source PMOS transistor. Connected.

[カラム系選択回路の構成]
図7は、図5、図6のカラム系選択回路39のうちデータのプログラムに関係する部分を示した図である。
[Configuration of column selection circuit]
FIG. 7 is a diagram showing a portion related to the data program in the column system selection circuit 39 of FIGS.

図7では、図5のメモリブロックMB0〜MB31のうちの1つを代表したメモリブロックMBにおいて、選択列の副ビット線BLA,BLBと選択行のソース線SLとに接続されたメモリセルMC0,MC1が示されている。   In FIG. 7, in the memory block MB representing one of the memory blocks MB0 to MB31 in FIG. 5, the memory cells MC0, MC0 connected to the sub-bit lines BLA, BLB of the selected column and the source line SL of the selected row. MC1 is shown.

既に説明したように、SSI(ソースサイドインジェクション)方式によるデータ書込であるので、チャージポンプ33で作成された高電圧が、ディストリビュータ41およびソース線ドライバSLDを介して、ソース線SLに接続されたメモリセルMC0,MC1に供給される。   As already described, since the data is written by the SSI (Source Side Injection) method, the high voltage created by the charge pump 33 is connected to the source line SL via the distributor 41 and the source line driver SLD. It is supplied to the memory cells MC0 and MC1.

副ビット線BLA,BLBの一端は、PMOSトランジスタQDA,QDBを介して電源ノードVDDと接続される。既に説明したようにPMOSトランジスタQDA,QDBは、そのゲートに所定の電圧が与えられることによって電流I1を流す定電流源として用いられる。   One ends of the sub bit lines BLA and BLB are connected to the power supply node VDD via the PMOS transistors QDA and QDB. As already described, the PMOS transistors QDA and QDB are used as constant current sources that cause the current I1 to flow when a predetermined voltage is applied to their gates.

副ビット線BLA,BLBの他端は、スイッチ用のNMOSトランジスタQCA,QCBをそれぞれ介して主ビット線BLと接続される。NMOSトランジスタQCA,QCBは選択的にオン状態になるように制御される。図7の場合には、NMOSトランジスタQCAがオン状態であり、NMOSトランジスタQCBがオフ状態であるとする。これによって、副ビット線BLAに接続されたメモリセルMC0にはプログラム電流I2が流れるが、副ビット線BLBに接続されたメモリセルMC1にはプログラム電流が流れない。すなわち、メモリセルMC0がプログラム対象として選択されたことになる。   The other ends of the sub bit lines BLA and BLB are connected to the main bit line BL via switching NMOS transistors QCA and QCB, respectively. The NMOS transistors QCA and QCB are controlled so as to be selectively turned on. In the case of FIG. 7, it is assumed that the NMOS transistor QCA is on and the NMOS transistor QCB is off. As a result, the program current I2 flows in the memory cell MC0 connected to the sub bit line BLA, but the program current does not flow in the memory cell MC1 connected to the sub bit line BLB. That is, the memory cell MC0 is selected as a program target.

主ビット線BLは、さらに、カラム系選択回路39に接続される。カラム系選択回路39は、データのプログラムに関係する構成要素として、セレクタ51と、ベリファイ用センスアンプ50と、電流調整回路52とを含む。   The main bit line BL is further connected to the column system selection circuit 39. The column system selection circuit 39 includes a selector 51, a verify sense amplifier 50, and a current adjustment circuit 52 as components related to the data program.

セレクタ51およびベリファイ用センスアンプ50は、複数の主ビット線BLごとに(たとえば16本の主ビット線BLごとに)設けられる。この場合、セレクタ51によって選択された主ビット線BLに、ベリファイ用センスアンプ50が接続される。ベリファイ動作時には、ソース線が接地電圧にされ、プログラム対象のメモリセルのドレインが副ビット線BLAおよび主ビット線BLを順に経由してベリファイ用センスアンプ50に接続される。   The selector 51 and the verify sense amplifier 50 are provided for each of the plurality of main bit lines BL (for example, every 16 main bit lines BL). In this case, the verify sense amplifier 50 is connected to the main bit line BL selected by the selector 51. During the verify operation, the source line is set to the ground voltage, and the drain of the memory cell to be programmed is connected to the verify sense amplifier 50 via the sub bit line BLA and the main bit line BL in order.

ベリファイ用センスアンプ50は、接続されたメモリセルが電流を流すか流さないかでベリファイのPass/Failを判定する。通常、ゲート酸化膜へのストレスによって信頼性が悪化しないようにするために、プログラムパルス印加の初発目から最大電圧を印加するのではなく、パルス印加ごとにベリファイ動作を挟みながらプログラムパルスの電圧レベルを徐々に上げる。ベリファイの結果がFailのときは、再度プログラムパルスが印加される。すなわち、プログラムパルス(書込パルス)を印加した後にベリファイを実行するというステップを繰返すことによって一通りのプログラムが完了する。   The verify sense amplifier 50 determines the pass / fail of the verify depending on whether or not the connected memory cell passes a current. Normally, in order to prevent reliability deterioration due to stress on the gate oxide film, the maximum voltage is not applied from the first application of the program pulse, but the voltage level of the program pulse is sandwiched between verify operations for each pulse application. Raise gradually. When the verification result is Fail, the program pulse is applied again. That is, a series of programs is completed by repeating the step of executing verification after applying a program pulse (write pulse).

電流調整回路52は、プログラムパルス印加動作時に主ビット線BLを流れる電流量を調整する。   The current adjustment circuit 52 adjusts the amount of current flowing through the main bit line BL during the program pulse application operation.

電流調整回路52は、書込用ラッチ回路53、ベリファイ用ラッチ回路54、ANDゲート55、および電流切替回路60を含む。これらの構成要素は、各主ビット線BLに個別に対応して設けられる。   The current adjustment circuit 52 includes a write latch circuit 53, a verify latch circuit 54, an AND gate 55, and a current switching circuit 60. These components are provided corresponding to each main bit line BL individually.

書込用ラッチ回路53は、プログラム時に書込データを保持するための回路である。具体的には、データを書込む(書込データ“1”)場合にはハイレベル(Hレベル)のデータが保持され、データを書込まない(書込データ“0”)場合にはローレベル(Lレベル)のデータが保持される。   The write latch circuit 53 is a circuit for holding write data during programming. Specifically, when data is written (write data “1”), high level (H level) data is retained, and when data is not written (write data “0”), low level is retained. (L level) data is held.

ベリファイ用ラッチ回路54は、対応のビット線BLに接続されたプログラム対象のメモリセルMCについて、ベリファイ用センスアンプ50の判定結果を保持するための回路である。具体的には、プログラム開始前の初期状態にはHレベルのデータが保持され、ベリファイがPassした後にはLレベルのデータが保持される。   The verify latch circuit 54 is a circuit for holding the determination result of the verify sense amplifier 50 for the memory cell MC to be programmed connected to the corresponding bit line BL. Specifically, the H level data is held in the initial state before the start of the program, and the L level data is held after the verification is passed.

電流切替回路60は、スイッチ用のNMOSトランジスタ63と、書込阻止電流生成部80と、第1の書込電流生成部81と、第2の書込電流生成部82とを含む。   Current switching circuit 60 includes a switching NMOS transistor 63, a write blocking current generator 80, a first write current generator 81, and a second write current generator 82.

NMOSトランジスタ63のドレインは、ノードND1を介してビット線BLと接続される。NMOSトランジスタ63は、ソース線SLに接続されたNMOSトランジスタQAとともに、プログラムパルスの印加を開始および終了するためのスイッチとして用いられる。プログラム時には、NMOSトランジスタQA,63がオン状態になることによって、選択セルMC0にプログラム電流I2が流れる。   The drain of the NMOS transistor 63 is connected to the bit line BL via the node ND1. The NMOS transistor 63 is used as a switch for starting and ending application of the program pulse together with the NMOS transistor QA connected to the source line SL. At the time of programming, the NMOS transistors QA and 63 are turned on, so that a program current I2 flows through the selected cell MC0.

書込阻止電流生成部80は、ノードND1と電源ノードVDDとの間に接続される。書込阻止電流生成部80は、選択セルMC0にデータを書込まない(書込データ“0”)場合に、副ビット線BLA,BLBの一端にそれぞれ接続されたPMOSトランジスタQDA,QDBの一方が生成する定電流I1と大きさが等しく反対方向の電流I6を生成して、主ビット線BLに供給する。この結果、ビット線BLに流れる電流I3と選択セルMC0のチャネルに流れる電流I2とが0になるので、書込電流が阻止される。   Write blocking current generating unit 80 is connected between node ND1 and power supply node VDD. When no data is written to the selected cell MC0 (write data “0”), the write inhibition current generator 80 has one of the PMOS transistors QDA and QDB connected to one end of the sub-bit lines BLA and BLB, respectively. A current I6 that is equal in magnitude and opposite to the constant current I1 to be generated is generated and supplied to the main bit line BL. As a result, the current I3 flowing through the bit line BL and the current I2 flowing through the channel of the selected cell MC0 become 0, so that the write current is blocked.

より詳細には、書込阻止電流生成部80は、電源ノードVDDとノードND1との間に直列に接続されたPMOSトランジスタ61,62を含む。PMOSトランジスタ61は、ゲートに所定の電圧が印加されることによって、定電流I6を流す定電流源として用いられる。PMOSトランジスタ62は、ゲートに入力された書込用ラッチ回路53の出力に応じてオンまたはオフが切替わるスイッチとして用いられる。書込用ラッチ回路53の出力がHレベル(書込データ“1”)のとき、PMOSトランジスタ62がオフ状態になる。書込用ラッチ回路53の出力がLレベル(書込データ“0”)のとき、PMOSトランジスタ62がオン状態になることによって、書込電流が阻止される。   More specifically, write inhibit current generation unit 80 includes PMOS transistors 61 and 62 connected in series between power supply node VDD and node ND1. The PMOS transistor 61 is used as a constant current source for supplying a constant current I6 when a predetermined voltage is applied to the gate. The PMOS transistor 62 is used as a switch that is turned on or off in accordance with the output of the write latch circuit 53 input to the gate. When the output of the write latch circuit 53 is at the H level (write data “1”), the PMOS transistor 62 is turned off. When the output of the write latch circuit 53 is at L level (write data “0”), the PMOS transistor 62 is turned on, thereby preventing the write current.

第1の書込電流生成部81は、スイッチ用のNMOSトランジスタ63のソース(ノードND2)と接地ノードVSSとの間に接続される。第1の書込電流生成部81は、選択セルMC0にデータを書込む(書込データ“1”)場合に、PMOSトランジスタQDA,QDBの一方が生成する定電流I1と同方向の電流I4を生成する。   The first write current generator 81 is connected between the source (node ND2) of the switching NMOS transistor 63 and the ground node VSS. The first write current generator 81 generates a current I4 in the same direction as the constant current I1 generated by one of the PMOS transistors QDA and QDB when writing data to the selected cell MC0 (write data “1”). Generate.

より詳細には、第1の書込電流生成部81は、ノードND2と接地ノードとの間に直列に接続されたNMOSトランジスタ64,65を含む。NMOSトランジスタ64は、ゲートに入力された書込用ラッチ回路53の出力に応じてオンまたはオフが切替わるスイッチとして用いられる。書込用ラッチ回路53の出力がHレベル(書込データ“1”)のとき、NMOSトランジスタ64がオン状態になることによって書込電流が流れる。書込用ラッチ回路53の出力がLレベル(書込データ“0”)のとき、NMOSトランジスタ64はオフ状態になる。NMOSトランジスタ65は、ゲートに所定の電圧が印加されることによって、定電流I4を流す定電流源として用いられる。   More specifically, first write current generator 81 includes NMOS transistors 64 and 65 connected in series between node ND2 and the ground node. The NMOS transistor 64 is used as a switch that is turned on or off in accordance with the output of the write latch circuit 53 input to the gate. When the output of the write latch circuit 53 is at the H level (write data “1”), the write current flows when the NMOS transistor 64 is turned on. When the output of the write latch circuit 53 is at L level (write data “0”), the NMOS transistor 64 is turned off. The NMOS transistor 65 is used as a constant current source for supplying a constant current I4 when a predetermined voltage is applied to the gate.

第2の書込電流生成部82は、スイッチ用のNMOSトランジスタ63のソース(ノードND2)と接地ノードVSSとの間に、第1の書込電流生成部81と並列に接続される。第2の書込電流生成部82は、選択セルMC0にデータを書込む(書込データ“1”)場合であり、かつ、ベリファイ結果がPassになる前に、PMOSトランジスタQDA,QDBの一方が生成する定電流I1と同方向の電流I5を生成する。ベリファイ結果がPassになった後には、第2の書込電流生成部82が生成する電流は0になる。   The second write current generator 82 is connected in parallel with the first write current generator 81 between the source (node ND2) of the switching NMOS transistor 63 and the ground node VSS. The second write current generation unit 82 writes data to the selected cell MC0 (write data “1”), and before the verify result becomes Pass, one of the PMOS transistors QDA and QDB A current I5 in the same direction as the constant current I1 to be generated is generated. After the verify result becomes Pass, the current generated by the second write current generator 82 becomes zero.

より詳細には、第2の書込電流生成部82は、ノードND2と接地ノードとの間に直列に接続されたNMOSトランジスタ66,67を含む。NMOSトランジスタ66は、スイッチ用のトランジスタとして用いられる。NMOSトランジスタ66のゲートには、書込用ラッチ回路53の出力とベリファイ用ラッチ回路54の出力との論理積(ANDゲート55の出力信号)が入力される。したがって、NMOSトランジスタ66は、メモリセルMC0に書込データ“1”を書込む場合には、書込み前の初期状態ではオン状態になり、ベリファイの結果がPassになった後はオフ状態になる。メモリセルMC0に書込データ“0”を書込む場合には、NMOSトランジスタ66はオフ状態になる。NMOSトランジスタ67は、ゲートに所定の電圧が印加されることによって、定電流I5を流す定電流源として用いられる。   More specifically, second write current generator 82 includes NMOS transistors 66 and 67 connected in series between node ND2 and the ground node. The NMOS transistor 66 is used as a switching transistor. The gate of the NMOS transistor 66 receives the logical product (output signal of the AND gate 55) of the output of the write latch circuit 53 and the output of the verify latch circuit 54. Therefore, when writing the write data “1” to the memory cell MC0, the NMOS transistor 66 is turned on in the initial state before writing, and turned off after the verification result is Pass. When write data “0” is written to the memory cell MC0, the NMOS transistor 66 is turned off. The NMOS transistor 67 is used as a constant current source for supplying a constant current I5 when a predetermined voltage is applied to the gate.

以上をまとめると、書込用ラッチ回路53およびベリファイ用ラッチ回路に保持されたデータに応じて、スイッチ用のトランジスタ62,64,66の各々がオン状態になるかオフ状態になるか、すなわち、電流切替回路60の動作が決まる。具体的には以下のとおりである。   In summary, according to the data held in the write latch circuit 53 and the verify latch circuit, each of the switching transistors 62, 64, 66 is turned on or off, that is, The operation of the current switching circuit 60 is determined. Specifically, it is as follows.

まず、書込用ラッチ回路53に書込データ“0”が保持されている場合には、PMOSトランジスタ62がオン状態になり、NMOSトランジスタ64,66がオフ状態になるので、電流切替回路60は、主ビット線BLをVDD側にチャージして書込電流が流れるのを阻止する。   First, when the write data “0” is held in the write latch circuit 53, the PMOS transistor 62 is turned on and the NMOS transistors 64 and 66 are turned off. The main bit line BL is charged to the VDD side to prevent the write current from flowing.

書込用ラッチ回路53に書込データ“1”が保持され、かつ、ベリファイ用ラッチにデータ“1”が保持されている場合(ベリファイがPassする前)には、PMOSトランジスタ62がオフ状態になり、NMOSトランジスタ64,66がオン状態になる。したがって、電流切替回路60は、主ビット線BLを接地(VSS)側にチャージする(すなわち、主ビット線BLから電流を引き抜く)。この結果、主ビット線BLには、I4+I5の電流が流れ、選択セルMC0にはI4+I5−I1の電流I2が流れる(強書込)。   When the write data “1” is held in the write latch circuit 53 and the data “1” is held in the verify latch (before verification is passed), the PMOS transistor 62 is turned off. Thus, the NMOS transistors 64 and 66 are turned on. Therefore, the current switching circuit 60 charges the main bit line BL to the ground (VSS) side (that is, draws current from the main bit line BL). As a result, a current of I4 + I5 flows through the main bit line BL, and a current I2 of I4 + I5-I1 flows through the selected cell MC0 (strong writing).

書込用ラッチ回路53に書込データ“1”が保持され、かつ、ベリファイ用ラッチにデータ“0”が保持されている場合(ベリファイがPassした後)には、PMOSトランジスタ62およびNMOSトランジスタ66がオフ状態になり、NMOSトランジスタ64がオン状態になる。したがって、電流切替回路60は、主ビット線BLを接地(VSS)側にチャージ、すなわち、主ビット線BLから電流を引き抜く。ただし、この場合に主ビット線BLに流れる電流はI4となり、選択セルMC0に流れる電流I2はI4−I1となり、ベリファイがPassする前より小さい(弱書込)。上記の電流I4,I5,I6の具体的な設定値の例は図9で説明する。   When the write data “1” is held in the write latch circuit 53 and the data “0” is held in the verify latch (after verification is passed), the PMOS transistor 62 and the NMOS transistor 66 Is turned off, and the NMOS transistor 64 is turned on. Therefore, the current switching circuit 60 charges the main bit line BL to the ground (VSS) side, that is, draws current from the main bit line BL. However, in this case, the current flowing through the main bit line BL is I4, and the current I2 flowing through the selected cell MC0 is I4-I1, which is smaller than before the verification is passed (weak writing). An example of specific set values of the currents I4, I5, and I6 will be described with reference to FIG.

[従来のプログラム方法の問題点]
以下では、上記の構成によるカラム系選択回路39を用いない、従来のプログラム方法による問題点について説明する。
[Problems of conventional programming methods]
In the following, a problem with a conventional programming method that does not use the column selection circuit 39 having the above configuration will be described.

図8は、消去状態とプログラム状態のときの閾値電圧分布を示す図である。
図8(A)を参照して、閾値電圧の違いによってデータを記憶する場合、データ“0”を記憶するときには閾値電圧が消去ベリファイ電圧EV以下になるようにする。この結果、データ“0”を記憶したメモリセルの閾値電圧は消去分布(ERS分布)に含まれる。データ“1”を記憶するときには閾値電圧がプログラムベリファイ電圧PV以上になるようにする。この結果、データ“1”を記憶したメモリセルの閾値電圧はプログラム分布(PRG分布)に含まれる。消去ベリファイ電圧EVとプログラムベリファイ電圧PVとの電圧差VDは、データ保証期間などを考慮して決定される。
FIG. 8 is a diagram showing threshold voltage distributions in the erase state and the program state.
Referring to FIG. 8A, when data is stored according to a difference in threshold voltage, the threshold voltage is set to be equal to or lower than erase verify voltage EV when data “0” is stored. As a result, the threshold voltage of the memory cell storing the data “0” is included in the erase distribution (ERS distribution). When storing data “1”, the threshold voltage is set to be equal to or higher than the program verify voltage PV. As a result, the threshold voltage of the memory cell storing the data “1” is included in the program distribution (PRG distribution). The voltage difference VD between the erase verify voltage EV and the program verify voltage PV is determined in consideration of the data guarantee period.

図8(B)を参照して、まず、プログラム対象の全メモリセルがプログラムベリファイをPassするまで、全メモリセルにプログラムパルスを印加する場合の問題点について説明する。この場合、最初にプログラムベリファイをPassしたメモリセル(図8(B)の参照符号48)に対しては、ゲート酸化膜に過剰ストレスが印加されることになる。   With reference to FIG. 8B, first, problems in the case where a program pulse is applied to all memory cells until all memory cells to be programmed pass the program verify will be described. In this case, an excessive stress is applied to the gate oxide film for the memory cell (reference numeral 48 in FIG. 8B) for which the program verify is first passed.

別の問題としてプログラム速度の低下が挙げられる。ホットエレクトロン注入による書込方式では、プログラム時にはプログラム電流を流す必要があるが。電流経路の寄生抵抗によって電圧ドロップ(IRドロップ)が生じる。電圧ドロップが生じると設定していた電圧値より低い電圧値しかメモリセルに印加できなくなるため、プログラムが遅いメモリセル(図8(B)の参照符号49)は、なかなかプログラムが完了せずに、チップ全体としてプログラム速度が低下する原因となる。   Another problem is a decrease in program speed. In the writing method using hot electron injection, it is necessary to pass a program current during programming. A voltage drop (IR drop) occurs due to the parasitic resistance of the current path. When a voltage drop occurs, only a voltage value lower than the set voltage value can be applied to the memory cell. Therefore, a memory cell with a slow program (reference numeral 49 in FIG. 8B) does not readily complete the program. This causes the program speed to decrease as a whole chip.

一方、プログラムベリファイをPassしたメモリセルをマスクし、以降のプログラムパルスを印加しない手法もあるが、この手法は窒化膜系のトラップメモリには使用できない。なぜなら、PRGパルス印加後、短時間でのデトラップがあるため、一度プログラムベリファイPassしたメモリセルをマスクすると、そのメモリセルの閾値電圧はプログラムベリファイ電圧PV以下まで閾値電圧がシフトするからである。   On the other hand, there is a method of masking a memory cell that has passed program verification and not applying a subsequent program pulse, but this method cannot be used for a nitride-based trap memory. This is because there is a detrapping in a short time after the application of the PRG pulse, and therefore, if a memory cell that has been once program-verified is masked, the threshold voltage of the memory cell is shifted to the program verify voltage PV or lower.

[実施の形態1の場合のプログラム時の動作]
実施の形態1による不揮発性メモリ装置の場合には、上述した問題点を解決できる。以下、実施の形態1の場合のプログラム時の動作について具体的に説明する。
[Operation at the time of programming in the first embodiment]
In the case of the nonvolatile memory device according to the first embodiment, the above-described problems can be solved. Hereinafter, the operation at the time of programming in the first embodiment will be specifically described.

図9は、プログラムパルス印加動作時にメモリセルMCに流れる電流をまとめた表を示した図である。図9では、図7の定電流源用のトランジスタQDA,QDBに流れる電流I1を3μAに設定し、定電流源用のトランジスタ65に流れる電流I4を3.5μAに設定し、定電流源用のトランジスタ67に流れる電流I5を1.5μAに設定し、定電流源用のトランジスタ61に流れる電流I6を3μAに設定した場合が示される。この場合、書込用ラッチ回路53およびベリファイ用ラッチ回路54の状態に応じてメモリセルには下記のような電流が流れる。   FIG. 9 is a diagram showing a table summarizing currents flowing through the memory cells MC during the program pulse application operation. In FIG. 9, the current I1 flowing through the constant current source transistors QDA and QDB of FIG. 7 is set to 3 μA, the current I4 flowing through the constant current source transistor 65 is set to 3.5 μA, and the constant current source transistors The case where the current I5 flowing through the transistor 67 is set to 1.5 μA and the current I6 flowing through the constant current source transistor 61 is set to 3 μA is shown. In this case, the following current flows through the memory cell in accordance with the states of the write latch circuit 53 and the verify latch circuit 54.

(1)書込対象セルの初期化後で、前パルス印加後のベリファイ結果がFailのとき
書込用ラッチ回路53の出力…”H”
ベリファイ用ラッチ回路54の出力…”H”
よって、
書込用電流源トランジスタ65 …活性
書込用電流源トランジスタ67 …活性
書込電流I4+I5の強書込でパルスが印加されるので、書込対象のメモリセルに流れるプログラム電流(書込電流)I2は、I3−I1=I4+I5−I1=2μAになる。
(1) After initialization of the write target cell, when the verify result after applying the previous pulse is Fail, the output of the write latch circuit 53 is “H”.
Output of verify latch circuit 54 ... "H"
Therefore,
Write current source transistor 65... Active Write current source transistor 67... Active Since a pulse is applied by strong writing of the write current I4 + I5, the program current (write current) I2 flowing in the write target memory cell Is I3-I1 = I4 + I5-I1 = 2 μA.

(2)前パルス印加後のベリファイ結果がPassのとき
書込用ラッチ回路53の出力…”H”
ベリファイ用ラッチ回路54の出力…”L”
よって、
書込用電流源トランジスタ65 …活性
書込用電流源トランジスタ67 …非活性
書込電流I4のみの弱書込でパルスが印加されるので、書込対象のメモリセルに流れるプログラム電流I2は、I3−I1=I4−I1=0.5μAになる。
(2) When the verification result after applying the previous pulse is Pass The output of the write latch circuit 53 ... "H"
Output of verify latch circuit 54 ... "L"
Therefore,
Write current source transistor 65... Active Write current source transistor 67... Inactive Since a pulse is applied by weak writing of only the write current I4, the program current I2 flowing through the memory cell to be written is I3 −I1 = I4−I1 = 0.5 μA.

(3)非書込対象セル
書込用ラッチ回路53の出力…”L”
ベリファイ用ラッチ回路54の出力…”H”
よって、
書込用電流源トランジスタ65 …非活性
書込用電流源トランジスタ67 …非活性
すなわち、非書込対象のメモリセルに流れるプログラム電流I2は0になり非書込状態になる。
(3) Non-write target cell Output of write latch circuit 53: "L"
Output of verify latch circuit 54 ... "H"
Therefore,
Write current source transistor 65... Inactive Write current source transistor 67... Inactive That is, the program current I2 flowing through the memory cell to be inwritten becomes 0 and becomes in an inactive state.

このように、書込用電流源を、通常書込用と弱書込用との2種類に切替可能にすることにより、ベリファイ結果に応じて書込対象のメモリセルごとに書込電流を変化させることができる。すなわち、プログラムベリファイ時に書込対象の全メモリセルがPassせず、再度プログラムパルスを印加する場合には、ベリファイがPassした一部のメモリセルに対しては、書込電流を絞ることにより弱書込状態にすることができる。   As described above, the write current source can be switched between the normal write mode and the weak write mode, thereby changing the write current for each memory cell to be written in accordance with the verify result. Can be made. In other words, if all the memory cells to be written are not passed during program verification and a program pulse is applied again, the write current is reduced by reducing the write current for some memory cells that have been verified. Can be included.

この結果、プログラムベリファイ電圧PV以上の閾値電圧を有するメモリセルに対しては過剰プログラムによるゲート酸化膜のストレスを緩和できる。さらには、弱書込状態にすることによって、閾値電圧のプログラム分布の上限値を上げずに下限値の低下を抑制することができるので、分布の幅をより狭くすることができる。   As a result, the stress of the gate oxide film due to overprogramming can be reduced for a memory cell having a threshold voltage equal to or higher than the program verify voltage PV. Furthermore, by setting the weak write state, the lowering of the lower limit value can be suppressed without increasing the upper limit value of the threshold voltage program distribution, so that the distribution width can be further narrowed.

プログラムベリファイをパスしたメモリセルに流す書込電流を絞ることによって、チップ全体の書込速度を向上させるという効果もある。すなわち、書込電流を絞ることによって余分な電流消費がないため、図7のチャージポンプ33からソース線SLに至る経路での電圧ドロップ量が抑えられる。具体的には、図7の配線43,44,45による損失や、ディストリビュータ41やトランジスタQAなどのスイッチによる損失、ドライバSLDによる損失が抑制される。この結果、まだプログラムベリファイ電圧PVに達していないメモリセルに印加するパルス電圧の電圧ドロップを抑制することができるので、電圧ドロップ量が大きい場合に比べて書込時間を低減できる。   There is also an effect that the write speed of the entire chip is improved by reducing the write current that flows to the memory cell that has passed the program verify. That is, by reducing the write current, there is no extra current consumption, so that the amount of voltage drop in the path from the charge pump 33 to the source line SL in FIG. 7 can be suppressed. Specifically, loss due to the wirings 43, 44, and 45 in FIG. 7, loss due to switches such as the distributor 41 and the transistor QA, and loss due to the driver SLD are suppressed. As a result, the voltage drop of the pulse voltage applied to the memory cell that has not yet reached the program verify voltage PV can be suppressed, so that the writing time can be reduced as compared with the case where the voltage drop amount is large.

図10は、プログラム時にメモリゲートに印加される電圧波形を概略的に示すタイミング図である。図10のタイミング図は、プログラムパルスを印加するタイミング(すなわち、ソース線SLにプログラム電流が流れるタイミング)も併せて示している。   FIG. 10 is a timing diagram schematically showing voltage waveforms applied to the memory gate during programming. The timing chart of FIG. 10 also shows the timing at which the program pulse is applied (that is, the timing at which the program current flows through the source line SL).

図10を参照して、時刻t1から時刻t2の間で、図4の電源回路33で生成された所定の電圧V1が、選択行の各メモリセルMCのメモリゲート23に印加される。この状態で、図4のソース線ドライバ部38から選択行のソース線SLにパルス電圧が印加される(すなわち、選択行のソース線SLにプログラム電流が流れる)。パルス電圧の印加は、図7のNMOSトランジスタQAおよび63をオンすることによって行なわれるので、図5に示したメモリブロック単位で行なわれることになる。たとえば、図5において、メモリアレイ30の第1行目が選択されている場合には、最初にNMOSトランジスタQA0をオンすることによって、メモリブロックMB0に設けられた第1行目のソース線SL0(図6のソース線SL0_0に相当する)にパルス電圧が印加される。このとき、図6において、メモリセルMC(0,0)〜MC(0,511)の512個のメモリセルのうち、トランジスタQC0A,QC0B〜QC255A,QC255Bで選択された256個のメモリセルにパルス電圧が同時に印加される。   Referring to FIG. 10, between time t1 and time t2, predetermined voltage V1 generated by power supply circuit 33 in FIG. 4 is applied to memory gate 23 of each memory cell MC in the selected row. In this state, a pulse voltage is applied from the source line driver unit 38 of FIG. 4 to the source line SL of the selected row (that is, a program current flows through the source line SL of the selected row). Since the application of the pulse voltage is performed by turning on the NMOS transistors QA and 63 of FIG. 7, it is performed in units of memory blocks shown in FIG. For example, in FIG. 5, when the first row of the memory array 30 is selected, the NMOS transistor QA0 is first turned on, whereby the source line SL0 (first row provided in the memory block MB0) ( A pulse voltage is applied to the source line SL0_0 in FIG. At this time, in 512 memory cells of memory cells MC (0,0) to MC (0,511) in FIG. 6, 256 memory cells selected by the transistors QC0A, QC0B to QC255A, QC255B are pulsed. A voltage is applied simultaneously.

次に、NMOSトランジスタQA1をオンすることによって、メモリブロックMB1に設けられた第1行目のソース線SL1にパルス電圧が印加される。これによって、第1行目のソース線SL1に接続された256個のメモリセルにパルス電圧が印加される。以下同様に、NMOSトランジスタQA2〜QA7を順次オンすることによって、メモリブロックMB2〜MB7にそれぞれ設けられた第1行目のソース線SL2〜SL7にパルス電圧が印加される(なお、図5には図示していないが、メモリブロックMB0〜MB31に設けられたソース線をそれぞれSL0〜SL31としている)。   Next, by turning on the NMOS transistor QA1, a pulse voltage is applied to the source line SL1 in the first row provided in the memory block MB1. As a result, a pulse voltage is applied to 256 memory cells connected to the source line SL1 in the first row. Similarly, by sequentially turning on the NMOS transistors QA2 to QA7, a pulse voltage is applied to the source lines SL2 to SL7 in the first rows provided in the memory blocks MB2 to MB7, respectively (see FIG. 5). Although not shown, source lines provided in the memory blocks MB0 to MB31 are SL0 to SL31, respectively).

次の時刻t3から時刻t4の間で、選択行の各メモリセルMCのメモリゲート23に印加される電圧がプログラムベリファイ電圧PVに設定される。そして、この期間に、時刻t1〜t2でパルス電圧を印加したメモリセルについてベリファイを実行する。この結果、ベリファイをPassしたメモリセルについては、図7で示した対応のベリファイ用ラッチ回路54に保持されるデータが“1”から“0”に変更される。   Between the next time t3 and time t4, the voltage applied to the memory gate 23 of each memory cell MC in the selected row is set to the program verify voltage PV. During this period, verify is executed for the memory cell to which the pulse voltage is applied at times t1 to t2. As a result, the data held in the corresponding verify latch circuit 54 shown in FIG. 7 is changed from “1” to “0” for the memory cell that has been verified.

次の時刻t5から時刻t6の間で、選択行の各メモリセルMCのメモリゲート23にプログラム時の電圧V2が印加される。メモリゲート23に印加される電圧V2は初回(時刻t1から時刻t2まで)のパルス印加のときの電圧V1よりも高い。このようにメモリゲートに印加される電圧は段階的に上げていくのが望ましい。この状態で、図4のソース線ドライバ部38から選択行の各ソース線SL0〜SL7に順番にパルス電圧が印加される(すなわち、選択行のソース線SLにプログラム電流が流れる)。このとき、時刻t3から時刻t4の間で行なったベリファイ結果がPassのものについては書込電流が通常よりも低い弱書込になる。   During the next time t5 to time t6, the programming voltage V2 is applied to the memory gate 23 of each memory cell MC in the selected row. The voltage V2 applied to the memory gate 23 is higher than the voltage V1 at the first pulse application (from time t1 to time t2). Thus, it is desirable to increase the voltage applied to the memory gate in a stepwise manner. In this state, a pulse voltage is sequentially applied from the source line driver unit 38 of FIG. 4 to the source lines SL0 to SL7 in the selected row (that is, a program current flows through the source line SL in the selected row). At this time, if the verify result obtained between time t3 and time t4 is Pass, the write current is weaker than usual.

以下、同様に時刻t7から時刻t8の間で、選択行の各メモリセルに印加されるメモリゲート電圧がプログラムベリファイ電圧PVに設定され、選択行のメモリセルに対してベリファイが実行される。ベリファイ結果を受けてベリファイ用ラッチ回路54に保持されるデータが更新される。次の時刻t9から時刻t10の間で、選択行の各メモリセルMCのメモリゲート23にプログラム時の電圧V3が印加される。この状態で、図4のソース線ドライバ部38から選択行の各ソース線SL0〜SL7に順番にパルス電圧が印加される。   Similarly, between time t7 and time t8, similarly, the memory gate voltage applied to each memory cell in the selected row is set to the program verify voltage PV, and verification is executed on the memory cell in the selected row. In response to the verify result, the data held in the verify latch circuit 54 is updated. During the next time t9 to time t10, the programming voltage V3 is applied to the memory gate 23 of each memory cell MC in the selected row. In this state, a pulse voltage is sequentially applied from the source line driver unit 38 in FIG. 4 to the source lines SL0 to SL7 in the selected row.

図11は、実施の形態1の場合のプログラム手順を示すフローチャートである。以下、図7、図11を参照して、これまで説明したプログラム手順について総括する。以下のプログラム手順は、図3の制御回路32による制御によって実行される。   FIG. 11 is a flowchart showing a program procedure in the case of the first embodiment. Hereinafter, the program procedure described so far will be summarized with reference to FIGS. The following program procedure is executed under the control of the control circuit 32 in FIG.

まず、ステップS10で、全ての書込用ラッチ回路53および全てのベリファイ用ラッチ回路54が初期化される。   First, in step S10, all the write latch circuits 53 and all the verify latch circuits 54 are initialized.

次のステップS20で、アドレスを指定するためのレジスタに、書込対象のメモリセルのうち先頭アドレスが設定される。この場合、行アドレスは選択行に固定され、列アドレスは書込対象のメモリセルのうち先頭列に設定される。   In the next step S20, the start address of the memory cell to be written is set in the register for designating the address. In this case, the row address is fixed to the selected row, and the column address is set to the first column among the memory cells to be written.

次のステップS30で、設定された列アドレスに対応する書込用ラッチ回路53に書込データ(“1”または“0”)が入力される。   In the next step S30, write data (“1” or “0”) is input to the write latch circuit 53 corresponding to the set column address.

次のステップS40で、全書込データの入力が完了したか否かの確認が行なわれ、未完了の場合には(ステップS40でNO)、アドレス指定用のレジスタに設定するアドレス番号が増加される(ステップS50)。この場合、行アドレスは選択行に固定され、列アドレスは2列分ずつ増加される。その後、ステップS30に処理が戻る。なお、実施の形態1の場合には、図7のNMOSトランジスタQCA,QCBによって、副ビット線BLA,BLBのいずれかが選択されるので、列番号の増加は2列ずつになる。   In the next step S40, it is confirmed whether or not the input of all the write data is completed. If not completed (NO in step S40), the address number set in the address designation register is increased. (Step S50). In this case, the row address is fixed to the selected row, and the column address is increased by two columns. Thereafter, the process returns to step S30. In the case of the first embodiment, one of the sub-bit lines BLA and BLB is selected by the NMOS transistors QCA and QCB in FIG. 7, so that the column number increases by two columns.

全書込データの入力が完了すると(ステップS40でYES)、ステップS60に進み、書込データが“1”に設定されたメモリセルにプログラムパルスが印加される。パルス電圧の印加は、図7のNMOSトランジスタQAおよび63をオンすることによって行なわれるので、図5に示したメモリブロック単位で行なわれることになる。具体的には、選択行に対応する各メモリブロックのソース線に順次パルス電圧が印加される。パルス電圧を印加するごとに、図3の制御回路32に設けられたSLカウンタによってパルス電圧を印加したブロック数がカウントされる。   When the input of all the write data is completed (YES in step S40), the process proceeds to step S60, and the program pulse is applied to the memory cell in which the write data is set to “1”. Since the application of the pulse voltage is performed by turning on the NMOS transistors QA and 63 of FIG. 7, it is performed in units of memory blocks shown in FIG. Specifically, a pulse voltage is sequentially applied to the source line of each memory block corresponding to the selected row. Each time the pulse voltage is applied, the number of blocks to which the pulse voltage is applied is counted by the SL counter provided in the control circuit 32 of FIG.

次のステップS70で、アドレスを指定するためのレジスタに、書込対象のメモリセルのうち先頭アドレスが設定される。この場合、行アドレスは選択行に固定され、列アドレスは先頭列に設定される。   In the next step S70, the head address of the memory cell to be written is set in the register for designating the address. In this case, the row address is fixed to the selected row, and the column address is set to the first column.

次のステップS80で、アドレス指定用のレジスタに設定されたアドレスに対応するメモリセルに対してプログラムベリファイが実施される。   In the next step S80, program verify is performed on the memory cell corresponding to the address set in the address designation register.

次のステップS90で、ステップS80で実行したベリファイの判定結果がパス(Pass)であれば、パスしたメモリセルMCに対応するベリファイ用ラッチ回路54に保持されるデータの論理レベルが反転される。   In the next step S90, if the result of the verification executed in step S80 is a pass, the logic level of the data held in the verify latch circuit 54 corresponding to the passed memory cell MC is inverted.

次のステップS100で、書込対象メモリセルのうち最終アドレスのメモリセルまでベリファイが完了したか否かの確認が行なわれ、未完了の場合には(ステップS100でNO)、アドレス指定用のレジスタに設定するアドレス番号が増加される(ステップS110)。この場合、行アドレスは選択行に固定され、列アドレスは次の書込データ“1”のメモリセルの列番号まで増加する。その後、ステップS80に処理が戻る。なお、既にベリファイをパスしたメモリセルについては、ベリファイ動作をスキップしてもよい。   In the next step S100, it is checked whether or not the verification has been completed up to the memory cell at the final address among the memory cells to be written. If the verification has not been completed (NO in step S100), a register for address designation is used. The address number to be set is increased (step S110). In this case, the row address is fixed to the selected row, and the column address is increased to the column number of the memory cell of the next write data “1”. Thereafter, the process returns to step S80. The verify operation may be skipped for memory cells that have already passed verify.

最終アドレスのメモリセルまでベリファイが完了すると(ステップS100でYES)、次のステップS120に処理が進む。ステップS120では、データ“1”を書込んだ全書込メモリセルでベリファイがパスしたか否かが判定される。全書込メモリセルでベリファイがパスすると(ステップS120でYES)処理が終了する。全書込メモリセルでベリファイがパスしていない場合には、ステップS60に処理が戻る。   When verification is completed up to the memory cell at the final address (YES in step S100), the process proceeds to the next step S120. In step S120, it is determined whether or not verification has passed in all the write memory cells to which data “1” has been written. When verification is passed in all the write memory cells (YES in step S120), the process ends. If verification has not passed in all the write memory cells, the process returns to step S60.

<実施の形態2>
図12は、この発明の実施の形態2による不揮発性メモリ装置のうちデータのプログラムに関係する部分を示した図である。
<Embodiment 2>
FIG. 12 is a diagram showing portions related to a data program in the nonvolatile memory device according to the second embodiment of the present invention.

図12のカラム系選択回路70は、セレクタ71とカウンタ72をさらに含む点で図7のカラム系選択回路39と異なる。セレクタ71は、メモリブロック内の各ANDゲート55の出力信号を順に選択して出力する。カウンタ72は、セレクタ71を介して受けた複数のANDゲート55の出力のうち、論理レベルがHレベルのもの(すなわち、ベリファイ結果がFailであり、プログラムが未完了のメモリセル数)をカウントする。カウンタ72の出力結果は、図4の制御回路32に出力される。   The column system selection circuit 70 of FIG. 12 is different from the column system selection circuit 39 of FIG. 7 in that it further includes a selector 71 and a counter 72. The selector 71 sequentially selects and outputs the output signal of each AND gate 55 in the memory block. The counter 72 counts the outputs of the plurality of AND gates 55 received through the selector 71 whose logic level is H level (that is, the number of memory cells in which the verify result is Fail and the program is not completed). . The output result of the counter 72 is output to the control circuit 32 in FIG.

図13は、図12の不揮発性メモリ装置によるプログラムの手順について説明するための図である。   FIG. 13 is a diagram for explaining a program procedure by the nonvolatile memory device of FIG.

一般的にNOR型のフラッシュメモリでは、ホットエレクトロンを用いた書込が行なわれるので、所定の大きさ書込電流を流すためにソースまたはドレインに高電圧を印加する必要がある。このとき、チャージポンプ回路の電流容量には限界があるので、同時書込可能なメモリセル数には上限が存在する。そこで、同時書込可能なメモリセル数に応じて、メモリアレイが複数のグループ(図5のメモリブロックMB)に分割され、グループごとに順番に書込が行なわれる。   Generally, in a NOR type flash memory, since writing using hot electrons is performed, it is necessary to apply a high voltage to the source or drain in order to flow a write current having a predetermined magnitude. At this time, since the current capacity of the charge pump circuit is limited, there is an upper limit on the number of memory cells that can be simultaneously written. Therefore, the memory array is divided into a plurality of groups (memory block MB in FIG. 5) according to the number of memory cells that can be simultaneously written, and writing is performed in order for each group.

実施の形態2による不揮発性メモリ装置の場合には、グループごとにプログラムが未完了のメモリセル数をカウントしているので、プログラムが未完了のメモリセル数(Failビット数)が減少するにつれて、複数のグループに同時にプログラムパルスを印加することにより、同時に書込むグループ数を増加させることができる。この結果、チップ全体でのプログラム時間を短縮することができる。   In the case of the non-volatile memory device according to the second embodiment, since the number of memory cells that have not been programmed is counted for each group, the number of memory cells that have not yet been programmed (the number of Fail bits) decreases. By simultaneously applying a program pulse to a plurality of groups, the number of groups to be written simultaneously can be increased. As a result, the programming time for the entire chip can be shortened.

以下、図5、図13を参照して、具体的に説明する。図13では、図5に示したメモリアレイ30において、行アドレス信号に応じた選択行として第1行目(メモリゲート線MGL0に対応)が選択され、この選択行の全ビットのメモリセルにデータ“1”(高閾値電圧分布)を書込む場合が想定されている。   Hereinafter, a specific description will be given with reference to FIGS. 5 and 13. In FIG. 13, in the memory array 30 shown in FIG. 5, the first row (corresponding to the memory gate line MGL0) is selected as the selected row corresponding to the row address signal, and data is stored in the memory cells of all the bits in this selected row. It is assumed that “1” (high threshold voltage distribution) is written.

図13(A)に示すプログラムパルスの1発目は、最小分割単位(すなわち、メモリブロックMB0のソース線SL0、メモリブロックMB1のソース線SL1、…、メモリブロックMB7のソース線SL7)ごとにプログラムパルスを印加することになる。各最小分割単位には256ビット(bit)のプログラム対象のメモリセルが含まれる。   The first program pulse shown in FIG. 13A is programmed for each minimum division unit (that is, source line SL0 of memory block MB0, source line SL1 of memory block MB1,..., Source line SL7 of memory block MB7). A pulse will be applied. Each minimum division unit includes 256 bits (bits) of memory cells to be programmed.

プログラムパルスの印加回数が増加するにつれて、ベリファイをPassするメモリセル数が増加する。すなわち、図13に数値で示したプログラム未完了のメモリセル数(Failビット数とも称する)は減少する。図13(B)の場合には、Failビット数が各ブロックで200ビットになっている。ベリファイをPassしたメモリセルに対しては弱書込を行なうことにすると、1発ごとのプログラムパルスで流れる全書込電流は、Failビット数が減少するにつれて減少する。   As the number of application times of the program pulse increases, the number of memory cells that pass verification increases. That is, the number of unprogrammed memory cells (also referred to as the number of fail bits) indicated by numerical values in FIG. 13 decreases. In the case of FIG. 13B, the number of Fail bits is 200 bits in each block. If weak writing is performed on a memory cell to which verification has been passed, the total write current that flows with each program pulse decreases as the number of Fail bits decreases.

図13(C)では、ソース線SL0,SL1,SL5,SL6に対応するFailビット数がそれぞれ120ビットになっている。この場合、連続する2ブロックのFailビット数の和が256ビット以下であれば、2ブロックをマルチ選択して同時にプログラムパルスを印加することができる。図13(C)の場合には、ソース線SL0,SL1に対応するメモリセルに同時にプログラムパルスを印加し、ソース線SL5,SL6に対応するメモリセルに同時にプログラムパルスを印加している。   In FIG. 13C, the number of Fail bits corresponding to the source lines SL0, SL1, SL5, and SL6 is 120 bits. In this case, if the sum of the number of Fail bits of two consecutive blocks is 256 bits or less, two blocks can be multi-selected and a program pulse can be applied simultaneously. In the case of FIG. 13C, a program pulse is simultaneously applied to the memory cells corresponding to the source lines SL0 and SL1, and a program pulse is simultaneously applied to the memory cells corresponding to the source lines SL5 and SL6.

プログラムパルスの印加回数が増加するにつれて、さらにFailビット数が減少するので、同時にプログラムパルスを印加するブロック数(すなわち、同時に動作させるソース線ドライバ数)を増加させることができる。図13(D)の場合には、ソース線SL0,SL1,SL2用のソース線ドライバを同時に動作させることでメモリブロックMB0,MB1,MB2に同時にプログラムパルスが印加されている。同様に、ソース線SL3,SL4用のソース線ドライバを同時に動作させ、ソース線SL5,SL6,SL7用のソース線ドライバを同時に動作させることができる。すなわち、3回のプログラムパルスの印加で選択行の全メモリセルにプログラムパルスを印加することができる。最終的に図13(E)の場合には、選択行の全メモリセルにプログラムパルスが同時に印加される。   As the number of application times of the program pulse increases, the number of Fail bits further decreases, so that the number of blocks to which the program pulse is applied simultaneously (that is, the number of source line drivers operated simultaneously) can be increased. In the case of FIG. 13D, a program pulse is simultaneously applied to the memory blocks MB0, MB1, and MB2 by simultaneously operating the source line drivers for the source lines SL0, SL1, and SL2. Similarly, the source line drivers for the source lines SL3 and SL4 can be operated simultaneously, and the source line drivers for the source lines SL5, SL6 and SL7 can be operated simultaneously. That is, the program pulse can be applied to all the memory cells in the selected row by applying the program pulse three times. Finally, in the case of FIG. 13E, the program pulse is simultaneously applied to all the memory cells in the selected row.

上記の説明では、選択行の全メモリセルにデータ“1”を書込む場合について説明したが、通常、選択行のメモリセルに書込むデータ“1”、“0”はランダムである。したがって、1発目のプログラムパルスの印加の場合においても、プログラム未完了のメモリセル数(Failビット数)に応じて、複数のブロックに同時にプログラムパルスを印加することができる。   In the above description, the case where data “1” is written in all the memory cells in the selected row has been described. However, data “1” and “0” written in the memory cells in the selected row are usually random. Therefore, even in the case of applying the first program pulse, the program pulse can be applied simultaneously to a plurality of blocks in accordance with the number of unprogrammed memory cells (the number of fail bits).

上記の説明では、連続するブロックに同時にプログラムパルスを印加する例について説明したが、必ずしも連続するブロックに同時にプログラムパルスを印加する必要はない。たとえば、図13(C)の場合には、ソース線SL0,SL5に対応するメモリセルに同時にプログラムパルスを印加してもよい。   In the above description, an example in which the program pulse is simultaneously applied to consecutive blocks has been described. However, it is not always necessary to simultaneously apply the program pulse to consecutive blocks. For example, in the case of FIG. 13C, the program pulse may be simultaneously applied to the memory cells corresponding to the source lines SL0 and SL5.

図14は、メモリブロックの同時選択を行なわない通常状態においてソース線およびビット線に印加される電圧波形を示すタイミングチャートである。   FIG. 14 is a timing chart showing voltage waveforms applied to the source line and the bit line in a normal state where simultaneous selection of memory blocks is not performed.

図15は、メモリブロックの同時選択状態においてソース線およびビット線に印加される電圧波形を示すタイミングチャートである。図15では、ソース線SL0,SL1に対応するメモリブロックが同時選択されている。   FIG. 15 is a timing chart showing voltage waveforms applied to the source line and the bit line in the simultaneous selection state of the memory blocks. In FIG. 15, the memory blocks corresponding to the source lines SL0 and SL1 are simultaneously selected.

図5、図14を参照して、プログラムパルスを印加しない定常状態(時刻t1より前)では、各ソース線ドライバSLDから出力される電圧はLレベルであり、各主ビット線BLの電圧はHレベルになっている。   Referring to FIGS. 5 and 14, in a steady state (before time t1) when no program pulse is applied, the voltage output from each source line driver SLD is L level, and the voltage of each main bit line BL is H It is level.

時刻t1で、ソース線ドライバSLD0からソース線SL0にHレベルの電圧が供給される。同時に、主ビット線BL0〜BL255に対応するスイッチ用のトランジスタ63(図12参照)がオン状態になることにより、主ビット線BL0〜BL255の電圧がLレベルになる(ただし、主ビット線BL0〜BL255に接続される全選択メモリセルにデータ“1”を書込むとする)。   At time t1, an H level voltage is supplied from the source line driver SLD0 to the source line SL0. At the same time, the switching transistors 63 (see FIG. 12) corresponding to the main bit lines BL0 to BL255 are turned on, so that the voltages of the main bit lines BL0 to BL255 become L level (however, the main bit lines BL0 to BL0). It is assumed that data “1” is written in all selected memory cells connected to BL255).

次の時刻t2で、ソース線ドライバSLD0からソース線SL0に供給される電圧はLレベルに戻り、ソース線ドライバSLD1からソース線SL1に供給される電圧がHレベルに変化する。同時に、主ビット線BL0〜BL255の電圧はHレベルに戻り、主ビット線BL256〜BL511の電圧がLレベルに変化する。   At the next time t2, the voltage supplied from the source line driver SLD0 to the source line SL0 returns to the L level, and the voltage supplied from the source line driver SLD1 to the source line SL1 changes to the H level. At the same time, the voltages on the main bit lines BL0 to BL255 return to the H level, and the voltages on the main bit lines BL256 to BL511 change to the L level.

次の時刻t3で、ソース線ドライバSLD1からソース線SL1に供給される電圧はLレベルに戻り、ソース線ドライバSLD2からソース線SL2に供給される電圧がHレベルに変化する。同時に、主ビット線BL256〜BL511の電圧はHレベルに戻り、主ビット線BL512〜BL755の電圧がLレベルに変化する。以下、同様に進行する。   At the next time t3, the voltage supplied from the source line driver SLD1 to the source line SL1 returns to the L level, and the voltage supplied from the source line driver SLD2 to the source line SL2 changes to the H level. At the same time, the voltages of the main bit lines BL256 to BL511 return to the H level, and the voltages of the main bit lines BL512 to BL755 change to the L level. Thereafter, the process proceeds in the same manner.

次に、図5、図15を参照して、ソース線SL0,SL1に対応するメモリセルに同時にプログラムパルスを印加する場合を説明する。この場合、時刻t1で、ソース線ドライバSLD0からソース線SL0にHレベルの電圧が供給されるとともに、ソース線ドライバSLD1からソース線SL1にHレベルの電圧が供給される。同時に、主ビット線BL0〜BL255の電圧がLレベルになるとともに、主ビット線BL256〜BL511の電圧がLレベルになる。   Next, a case where a program pulse is simultaneously applied to the memory cells corresponding to the source lines SL0 and SL1 will be described with reference to FIGS. In this case, at time t1, an H level voltage is supplied from the source line driver SLD0 to the source line SL0, and an H level voltage is supplied from the source line driver SLD1 to the source line SL1. At the same time, the voltages of the main bit lines BL0 to BL255 become L level, and the voltages of the main bit lines BL256 to BL511 become L level.

次に時刻t3で、ソース線ドライバSLD0,SLD1からソース線SL0,SL1にそれぞれ供給される電圧はLレベルに戻り、ソース線ドライバSLD2からソース線SL2に供給される電圧がHレベルに変化する。同時に、主ビット線BL0〜BL511の電圧はHレベルに戻り、主ビット線BL512〜BL755の電圧がLレベルに変化する。以下、図14の場合と同様に進行する。   Next, at time t3, the voltages supplied from the source line drivers SLD0 and SLD1 to the source lines SL0 and SL1 return to the L level, and the voltage supplied from the source line driver SLD2 to the source line SL2 changes to the H level. At the same time, the voltages of the main bit lines BL0 to BL511 return to the H level, and the voltages of the main bit lines BL512 to BL755 change to the L level. Thereafter, the process proceeds in the same manner as in FIG.

図16は、実施の形態2の場合のプログラム手順を示すフローチャートである。図16のフローチャートは、ステップS55,S95をさらに含む点で、図11のフローチャートと異なる。図11と同一のステップについては、同一の参照符号を付して説明を簡略化する。なお、以下に示したプログラム手順は、図3の制御回路32による制御によって実行される。   FIG. 16 is a flowchart showing a program procedure in the case of the second embodiment. The flowchart of FIG. 16 differs from the flowchart of FIG. 11 in that it further includes steps S55 and S95. The same steps as those in FIG. 11 are denoted by the same reference numerals, and the description is simplified. The program procedure shown below is executed under the control of the control circuit 32 in FIG.

まず、ステップS10で、全ての書込用ラッチ回路53および全てのベリファイ用ラッチ回路54が初期化される。   First, in step S10, all the write latch circuits 53 and all the verify latch circuits 54 are initialized.

次のステップS20で、アドレス指定用のレジスタに、書込対象のメモリセルのうち先頭アドレスが設定される。この場合、行アドレスは選択行に固定され、列アドレスは書込対象のメモリセルのうち先頭列に設定される。   In the next step S20, the head address of the memory cell to be written is set in the address designation register. In this case, the row address is fixed to the selected row, and the column address is set to the first column among the memory cells to be written.

次のステップS30で、設定された列アドレスに対応する書込用ラッチ回路53に書込データ(“1”または“0”)が入力される。   In the next step S30, write data (“1” or “0”) is input to the write latch circuit 53 corresponding to the set column address.

次のステップS40で、全書込データの入力が完了したか否かの確認が行なわれ、未完了の場合には(ステップS40でNO)、アドレス指定用のレジスタに設定するアドレス番号が増加される(ステップS50)。その後、ステップS30に処理が戻る。   In the next step S40, it is confirmed whether or not the input of all the write data is completed. If not completed (NO in step S40), the address number set in the address designation register is increased. (Step S50). Thereafter, the process returns to step S30.

全書込データの入力が完了すると(ステップS40でYES)、次のステップS55で、同時にデータ書込みを行なうブロックの組合せが決定される。既に説明したように、パルス電圧の印加は、図5に示したメモリブロック単位で行なわれ、具体的には、選択行に対応する各メモリブロックのソース線にパルス電圧が印加される。この際、チャージポンプ回路の電流容量を超えなければ、いくつかのブロックをまとめて同時にパルス電圧を印加することが可能である。そこで、ステップS55では、図13のカウンタ72によって各ブロックごとにカウントされるプログラム未完了のメモリセル数(Failビット数)に基づいて、チャージポンプ回路の電流容量を超えない範囲内で、同時にデータ書込みを行なうブロックの組合せが決定される。   When the input of all the write data is completed (YES in step S40), the combination of blocks in which data is simultaneously written is determined in the next step S55. As already described, the pulse voltage is applied in units of the memory block shown in FIG. 5, and specifically, the pulse voltage is applied to the source line of each memory block corresponding to the selected row. At this time, if the current capacity of the charge pump circuit is not exceeded, it is possible to apply several pulse voltages to the blocks at the same time. Therefore, in step S55, based on the number of unprogrammed memory cells (the number of fail bits) counted for each block by the counter 72 in FIG. 13, data is simultaneously recorded within a range not exceeding the current capacity of the charge pump circuit. A combination of blocks to be written is determined.

次のステップS60で、ステップS55で決定したブロックの組合せごとに順番にプログラムパルスが印加される。パルス電圧を印加するごとに、図3の制御回路32に設けられたSLカウンタによってパルス電圧を印加したブロック数がカウントされる。   In the next step S60, a program pulse is applied in order for each combination of blocks determined in step S55. Each time the pulse voltage is applied, the number of blocks to which the pulse voltage is applied is counted by the SL counter provided in the control circuit 32 of FIG.

次のステップS70で、アドレス指定用のレジスタに、書込対象のメモリセルのうち先頭アドレスが設定される。この場合、行アドレスは選択行に固定され、列アドレスは先頭列に設定される。   In the next step S70, the head address of the memory cell to be written is set in the address designation register. In this case, the row address is fixed to the selected row, and the column address is set to the first column.

次のステップS80で、アドレス指定用のレジスタに設定されたアドレスに対応するメモリセルに対してプログラムベリファイが実施される。   In the next step S80, program verify is performed on the memory cell corresponding to the address set in the address designation register.

次のステップS90で、ステップS80で実行したベリファイの判定結果がパス(Pass)であれば、パスしたメモリセルMCに対応するベリファイ用ラッチ回路54に保持されるデータの論理レベルが反転される。   In the next step S90, if the result of the verification executed in step S80 is a pass, the logic level of the data held in the verify latch circuit 54 corresponding to the passed memory cell MC is inverted.

次のステップS95で、ステップS80で実行したベリファイの判定結果がフェイル(Fail)であれば、メモリブロックごとに設けられた図12のカウンタ72によって、Failビット数としてカウントする。   In the next step S95, if the result of the verification executed in step S80 is Fail, the number of Fail bits is counted by the counter 72 of FIG. 12 provided for each memory block.

次のステップS100で、書込対象メモリセルのうち最終アドレスのメモリセルまでベリファイが完了したか否かの確認が行なわれ、未完了の場合には(ステップS100でNO)、アドレス指定用のレジスタに設定するアドレス番号が増加される(ステップS110)。この場合、行アドレスは選択行に固定され、列アドレスは次の書込データ“1”のメモリセルの列番号まで増加する。その後、ステップS80に処理が戻る。なお、既にベリファイをパスしたメモリセルについては、ベリファイ動作をスキップしてもよい。   In the next step S100, it is checked whether or not the verification has been completed up to the memory cell at the final address among the memory cells to be written. If the verification has not been completed (NO in step S100), a register for address designation is used. The address number to be set is increased (step S110). In this case, the row address is fixed to the selected row, and the column address is increased to the column number of the memory cell of the next write data “1”. Thereafter, the process returns to step S80. The verify operation may be skipped for memory cells that have already passed verify.

最終アドレスのメモリセルまでベリファイが完了すると(ステップS100でYES)、次のステップS120で、データ“1”を書込んだ全書込メモリセルでベリファイがパスしたか否かが判定される。全書込メモリセルでベリファイがパスすると(ステップS120でYES)処理が終了する。全書込メモリセルでベリファイがパスしていない場合には、ステップS55に処理が戻る。   When verification is completed up to the memory cell at the final address (YES in step S100), it is determined in next step S120 whether verification has passed in all the write memory cells to which data “1” has been written. When verification is passed in all the write memory cells (YES in step S120), the process ends. If verification has not passed in all the write memory cells, the process returns to step S55.

ステップS55では、ステップS95でカウントされたブロックごとのFailビット数に基づいて、チャージポンプ回路の電流容量を超えない範囲内で、同時にデータ書込みを行なうブロックの組合せが新たに決定される。   In step S55, based on the number of Fail bits for each block counted in step S95, a combination of blocks in which data is simultaneously written is newly determined within a range not exceeding the current capacity of the charge pump circuit.

今回開示された実施の形態はすべての点で例示であって制限的なものでないと考えられるべきである。この発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。   The embodiment disclosed this time must be considered as illustrative in all points and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.

1 マイクロコンピュータチップ、4 不揮発性メモリ装置、20 P型シリコン基板、21 コントロールゲート、22 窒化シリコン膜、23 メモリゲート、24 ソース、25 ドレイン、30 メモリアレイ、32 制御回路、33 チャージポンプ(電源回路)、34 電源切替回路、35 ワード線デコーダ部、36 コントロールゲート線ドライバ部、37 メモリゲート線ドライバ部、38 ソース線ドライバ部、39,70 カラム系選択回路、50 ベリファイ用センスアンプ、51,71 セレクタ、52 電流調整回路、53 書込用ラッチ回路、54 ベリファイ用ラッチ回路、60 電流切替回路、65,67 書込用電流源トランジスタ、72 カウンタ、BL 主ビット線、BLA,BLB,SBL 副ビット線、CGL コントロールゲート線、EV 消去ベリファイ電圧、MB0〜MB31 メモリブロック、MC,MC0,MC1 メモリセル、MGL メモリゲート線、PV プログラムベリファイ電圧、SL ソース線、SLD ソース線ドライバ。   1 microcomputer chip, 4 nonvolatile memory device, 20 P-type silicon substrate, 21 control gate, 22 silicon nitride film, 23 memory gate, 24 source, 25 drain, 30 memory array, 32 control circuit, 33 charge pump (power supply circuit) ), 34 power supply switching circuit, 35 word line decoder section, 36 control gate line driver section, 37 memory gate line driver section, 38 source line driver section, 39, 70 column system selection circuit, 50 verify sense amplifier, 51, 71 Selector, 52 Current adjustment circuit, 53 Write latch circuit, 54 Verify latch circuit, 60 Current switching circuit, 65, 67 Current source transistor for write, 72 Counter, BL main bit line, BLA, BLB, SBL Subbit Line, CGL Cement roll gate line, EV erase verify voltage, MB0~MB31 memory block, MC, MC0, MC1 memory cell, MGL memory gate line, PV program verify voltage, SL source line, SLD source line driver.

Claims (5)

半導体装置であって、
行列状に配列され、各々が閾値電圧のレベル変化によってデータを記憶する複数のメモリセルを含むメモリアレイを備え、
各前記メモリセルは、第1および第2の導通電極とゲート電極とを有し、
各前記メモリセルの閾値電圧は、前記第1および第2の導通電極間にプログラム電流を流すとともに前記ゲート電極にプログラム電圧を印加するプログラム動作が複数回実行されることによって、所定のプログラムベリファイ電圧に到達し、
前記半導体装置は、さらに、
プログラム対象のメモリセルに対して複数回実行される前記プログラム動作ごとに、閾値電圧が前記プログラムベリファイ電圧に到達したか否かを判定するベリファイ回路と、
前記プログラム電流の大きさを調整する電流調整回路とを備え、
前記電流調整回路は、プログラム対象の複数のメモリセルのうち、前記ベリファイ回路によって閾値電圧が前記プログラムベリファイ電圧に達していないと判定されたメモリセルには第1の電流値のプログラム電流を流し、閾値電圧が前記プログラムベリファイ電圧に達したと判定されたメモリセルには前記第1の電流値よりも小さい第2の電流値のプログラム電流を流す、半導体装置。
A semiconductor device,
A memory array including a plurality of memory cells arranged in a matrix and each storing data according to a threshold voltage level change;
Each of the memory cells has first and second conductive electrodes and a gate electrode,
The threshold voltage of each memory cell is set to a predetermined program verify voltage by causing a program current to flow between the first and second conductive electrodes and applying a program voltage to the gate electrode a plurality of times. To reach
The semiconductor device further includes:
A verify circuit for determining whether or not a threshold voltage has reached the program verify voltage for each of the program operations executed a plurality of times on the memory cell to be programmed;
A current adjustment circuit for adjusting the magnitude of the program current,
The current adjustment circuit passes a program current having a first current value to a memory cell determined by the verify circuit that the threshold voltage has not reached the program verify voltage among the plurality of memory cells to be programmed, A semiconductor device, wherein a program current having a second current value smaller than the first current value is supplied to a memory cell determined to have a threshold voltage reaching the program verify voltage.
前記半導体装置は、さらに、
メモリセル行にそれぞれ対応して設けられ、各々が、対応のメモリセル行に含まれた各メモリセルの前記第1の導通電極と接続される複数の第1配線と、
メモリセル列にそれぞれ対応して設けられ、各々が、対応のメモリセル列に含まれた各メモリセルの前記第2の導通電極と接続される複数の第2配線と、
各前記メモリセルのプログラム動作時に、前記複数の第1配線に所定のドライブ電圧を印加するドライブ回路とを備え、
前記電流調整回路は、前記複数の第2配線に接続され、プログラム対象のメモリセルに前記第1または第2の電流値のプログラム電流が流れるように、前記複数の第2配線の各々に流れる電流値を調整する、請求項1に記載の半導体装置。
The semiconductor device further includes:
A plurality of first wirings provided corresponding to the memory cell rows, each connected to the first conductive electrode of each memory cell included in the corresponding memory cell row;
A plurality of second wirings provided corresponding to the memory cell columns, each connected to the second conductive electrode of each memory cell included in the corresponding memory cell column;
A drive circuit that applies a predetermined drive voltage to the plurality of first wirings during a program operation of each of the memory cells;
The current adjustment circuit is connected to the plurality of second wirings, and a current flowing through each of the plurality of second wirings so that a program current having the first or second current value flows through a memory cell to be programmed. The semiconductor device according to claim 1, wherein the value is adjusted.
前記電流調整回路は、
1または複数のメモリセル列ごとに設けられ、各々が、対応するメモリセル列のプログラム対象のメモリセルについての前記ベリファイ回路による判定結果を保持する複数のラッチ回路と、
1または複数のメモリセル列ごとに、前記複数のラッチ回路にそれぞれ対応して設けられた複数の電流源回路とを含み、
各前記電流源回路は、
対応のメモリセル列の第2配線と接続され、対応のメモリセル列に含まれたメモリセルのプログラム動作時に、対応のラッチ回路の保持データによらずに定電流が流れる第1のトランジスタと、
前記第1のトランジスタと並列に接続され、対応のメモリセル列に含まれたメモリセルのプログラム動作時に、対応するラッチ回路の保持データが変化するまでの間、定電流が流れる第2のトランジスタとを含む、請求項2に記載の半導体装置。
The current adjustment circuit includes:
A plurality of latch circuits provided for each one or a plurality of memory cell columns, each holding a determination result by the verify circuit for a memory cell to be programmed in the corresponding memory cell column;
A plurality of current source circuits provided corresponding to the plurality of latch circuits for each of one or a plurality of memory cell columns,
Each of the current source circuits
A first transistor that is connected to the second wiring of the corresponding memory cell column, and in which a constant current flows regardless of data held in the corresponding latch circuit during a program operation of the memory cell included in the corresponding memory cell column;
A second transistor that is connected in parallel with the first transistor and through which a constant current flows during a program operation of a memory cell included in the corresponding memory cell column until data held in the corresponding latch circuit changes; The semiconductor device according to claim 2, comprising:
前記メモリアレイを構成する複数のメモリセルは、複数列ごとに複数のグループに分割され、
前記半導体装置は、さらに、
前記グループごとにメモリセル行にそれぞれ対応して設けられ、各々が、対応のメモリセル行に含まれた各メモリセルの前記第1の導通電極と接続される複数の第1配線と、
前記グループごとにメモリセル列にそれぞれ対応して設けられ、各々が、対応のメモリセル列に含まれた各メモリセルの前記第2の導通電極と接続される複数の第2配線と、
前記複数のグループにそれぞれ対応して設けられ、各々が、対応のグループに含まれたメモリセルのプログラム動作時に、対応のグループの前記複数の第1配線に所定のドライブ電圧を印加する複数のドライブ回路とを備え、
前記電流調整回路は、各前記グループの前記複数の第2配線に接続され、プログラム対象のメモリセルに前記第1または第2の電流値のプログラム電流が流れるように、各前記グループの前記複数の第2配線の各々に流れる電流値を調整し、
前記半導体装置は、さらに、
前記ベリファイ回路の判定結果に基づいて、前記グループごとに、閾値電圧が前記プログラムベリファイ電圧に達していないメモリセルの数であるプログラム未完了セル数をカウントするカウンタと、
各前記ドライブ回路から対応のグループへのドライブ電圧の供給を制御する制御回路とを備え、
前記制御回路は、1または複数のドライブ回路ごとに順次ドライブ電圧を供給させることによって、同時に動作するドライブ回路の数を制限し、前記プログラム未完了セル数が減少するにつれて、同時に動作するドライブ回路の数を増加させる、請求項1に記載の半導体装置。
The plurality of memory cells constituting the memory array are divided into a plurality of groups for each of a plurality of columns,
The semiconductor device further includes:
A plurality of first wirings provided corresponding to the memory cell rows for each of the groups, each connected to the first conductive electrode of each memory cell included in the corresponding memory cell row;
A plurality of second wirings provided corresponding to the memory cell columns for each group, each connected to the second conductive electrode of each memory cell included in the corresponding memory cell column;
A plurality of drives provided corresponding to each of the plurality of groups, each applying a predetermined drive voltage to the plurality of first wirings of the corresponding group during a program operation of the memory cells included in the corresponding group With circuit,
The current adjustment circuit is connected to the plurality of second wirings of each of the groups, and the plurality of the plurality of groups of each of the groups are configured such that a program current having the first or second current value flows through a memory cell to be programmed. Adjust the current value that flows in each of the second wiring,
The semiconductor device further includes:
Based on the determination result of the verify circuit, for each group, a counter that counts the number of unprogrammed cells that is the number of memory cells whose threshold voltage has not reached the program verify voltage;
A control circuit for controlling the supply of drive voltage from each of the drive circuits to a corresponding group,
The control circuit limits the number of drive circuits operating simultaneously by sequentially supplying a drive voltage to one or a plurality of drive circuits. As the number of unprogrammed cells decreases, the control circuit operates simultaneously. The semiconductor device according to claim 1, wherein the number is increased.
各前記メモリセルは、窒化シリコン膜を有し、プログラム動作時に前記窒化シリコン膜に電荷が捕獲されることによって閾値電圧のレベルが変化する、請求項1〜4のいずれか1項に記載の半導体装置。   5. The semiconductor according to claim 1, wherein each of the memory cells includes a silicon nitride film, and a threshold voltage level is changed by trapping charges in the silicon nitride film during a program operation. apparatus.
JP2011177852A 2011-08-16 2011-08-16 Semiconductor device Withdrawn JP2013041642A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011177852A JP2013041642A (en) 2011-08-16 2011-08-16 Semiconductor device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011177852A JP2013041642A (en) 2011-08-16 2011-08-16 Semiconductor device

Publications (1)

Publication Number Publication Date
JP2013041642A true JP2013041642A (en) 2013-02-28

Family

ID=47889899

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011177852A Withdrawn JP2013041642A (en) 2011-08-16 2011-08-16 Semiconductor device

Country Status (1)

Country Link
JP (1) JP2013041642A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015155860A1 (en) * 2014-04-09 2015-10-15 株式会社日立製作所 Information storage device and method for controlling information storage device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015155860A1 (en) * 2014-04-09 2015-10-15 株式会社日立製作所 Information storage device and method for controlling information storage device

Similar Documents

Publication Publication Date Title
TWI427634B (en) System and method for programming cells in non-volatile integrated memory devices
JP4751039B2 (en) Nonvolatile semiconductor memory device
US7391655B2 (en) Data processing system and nonvolatile memory
US8699273B2 (en) Bitline voltage regulation in non-volatile memory
US8547755B2 (en) Method and apparatus of performing an erase operation on a memory integrated circuit
US9349459B2 (en) Programming memory cells using smaller step voltages for higher program levels
KR100960352B1 (en) Method of erasing a flashing memory using a pre-reasing step
US7643350B2 (en) Nonvolatile semiconductor memory device and method of writing data into the same
US20110194354A1 (en) Non-volatile semiconductor memory device
US8467245B2 (en) Non-volatile memory device with program current clamp and related method
US9245644B2 (en) Method and apparatus for reducing erase disturb of memory by using recovery bias
KR101634264B1 (en) Method, apparatus, and manufacture for flash memory adaptive algorithm
JP3974778B2 (en) Nonvolatile semiconductor memory device and data erasing method thereof
JP2004171686A (en) Nonvolatile semiconductor memory device, and data erasing method therefor
JP2010040125A (en) Erasing method in nonvolatile semiconductor memory device
EP2498258B1 (en) Non-volatile memory device with program current clamp and related method
KR20080090801A (en) Erase method for nand flash memory device
KR101161393B1 (en) Method for erasing flash memory device
US20120140572A1 (en) Semiconductor memory device and method of operating the same
JP2013041642A (en) Semiconductor device
JP2010524143A (en) Electronic device having non-volatile memory array and method of use thereof
JP2007058964A (en) Nonvolatile semiconductor storage device
US8498162B2 (en) Method, apparatus, and manufacture for flash memory write algorithm for fast bits
JP2011222101A (en) Semiconductor memory device
KR20080056845A (en) Non-volatile semiconductor memory device with reduced erase stress and erase time

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20141104