(57)【特許請求の範囲】
【請求項１】
制御ゲートとドレインとソースおよび浮遊ゲートを有する電気的に情報の書き込みおよび消去が可能な浮遊ゲート電界効果トランジスタで構成されたメモリセルを有し、上記浮遊ゲートに３値以上の電荷状態が形成される不揮発性半導体メモリ装置であって、
上記浮遊ゲートの３値以上の電荷状態のうちの２値以上の電荷状態を発生させる書き込み時、上記制御ゲートに正の書き込み開始電圧の書き込みパルスを印加する第１ステップの後、所定の電荷状態未満と判断されたメモリセルに対して上記所定の電荷状態以上と判断されるまで前回の書き込みパルスの電圧から電圧増加幅上昇させた書き込みパルスを上記制御ゲートに印加する第２ステップを繰り返す書き込み手段を備え、
上記書き込み手段は上記電圧増加幅をチップ毎に設定可能であり、
上記書き込み手段は、
上記制御ゲートに電圧を供給する電圧供給手段と、
上記電圧供給手段に書き込み制御信号を出力する書き込み制御手段と、
上記電圧増加幅の情報として上記電圧増加幅に相当する数値を記憶する記憶手段とを備え、
上記電圧供給手段は、
各抵抗の両端の電位差が等電位となるように、低電圧側の第１ノードと高電圧側の第２ノードとの間に直列に接続された複数個の抵抗と、
上記各抵抗間のノード、上記第１ノードおよび上記第２ノードの各々に接続された複数個のスイッチとを有し、
上記複数個のスイッチのうちの１つが上記書き込み制御手段により選択されることにより、上記各抵抗間のノード、上記第１ノードおよび上記第２ノードのうちの１つのノードに発生した電圧を上記制御ゲートに供給すると共に、
上記書き込み制御手段は、
上記電圧供給手段の上記複数個のスイッチのうちの１つの選択するための数値が、上記数値の小さいものから上記数値の大きいものへ向けて、上記第１ノード側に位置するスイッチから上記第２ノード側に位置するスイッチへ向けて順に対応付けられており、
上記第１ステップにおいては、上記正の書き込み開始電圧に相当する数値に応じた書き込み制御信号を上記電圧供給手段に出力し、
上記第２ステップにおいては、上記前回の書き込みパルスの電圧に相当する数値に上記記憶手段に記憶された電圧増加幅に相当する数値を加算し、この加算結果の示す数値に応じた書き込み制御信号を上記電圧供給手段に出力し、
上記電圧供給手段は、上記書き込み制御手段からの上記書き込み制御信号が表す上記加算結果の示す数値に相当する電圧を上記制御ゲートに供給することを特徴とする不揮発性半導体メモリ装置。
【請求項２】
請求項１に記載の不揮発性半導体メモリ装置において、
書き込み特性のテストにより得られた上記メモリセルのしきい値電圧の変化幅が所定電圧となる上記電圧増加幅の情報を上記記憶手段に記憶することを特徴とする不揮発性半導体メモリ装置。
【請求項３】
請求項１または２に記載の不揮発性半導体メモリ装置において、
上記記憶手段は、上記メモリセルと同じ構成のメモリセルを用いたことを特徴とする不揮発性半導体メモリ装置。
【請求項４】
請求項１乃至３のいずれか１つに記載の不揮発性半導体メモリ装置において、
上記電圧供給手段は、抵抗分圧器により発生させた電圧を上記制御ゲートに供給することを特徴とする不揮発性半導体メモリ装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、不揮発性半導体メモリ装置に関し、特にチャネルホットエレクトロンを用いた多値の書き込み方式の不揮発性半導体メモリ装置に関する。
【０００２】
【従来の技術】
従来、最も一般的に用いられている不揮発性半導体メモリ装置としては、ＥＴＯＸ(EPROM Thin Oxide、インテルの登録商標)型フラッシュメモリがある。このＥＴＯＸ型フラッシュメモリのメモリセルの模式的な断面図を図８に示している。図８から判るように、ソース６１とドレイン６２とが所定の間隔をあけて形成された基板６０上かつソース６１とドレイン６２との間の領域上に、トンネル酸化膜６３を介してフローティングゲート(浮遊ゲート)６４を形成し、さらにフローティングゲート６４上に層間絶縁膜６５を介してコントロールゲート(制御ゲート)６６を形成している。
【０００３】
このＥＴＯＸ型フラッシュメモリの動作原理について述べる。表１に示す電圧条件のように、書き込み時は、コントロールゲート６６に書き込み電圧Ｖpp(例えば９Ｖ)を印加し、ソースを基準電圧Ｖss(例えば０Ｖ)、ドレイン６２に５Ｖの電圧を印加する。
【０００４】
【表１】
0003908957.tif 000002
なお、書き込みを行わないメモリセルのドレイン６２はオープンにする。これにより、チャネル層では、多くの電流が流れて、ドレインサイドの電界が高い部分で、ホットエレクトロンが発生し、フローティングゲート６４に電子が注入され、メモリセルのしきい値電圧が上昇する。図９は２値フラッシュメモリのしきい値電圧の状態を示し、図９の右側がデータ“０”のプログラム状態(書き込み)のしきい値電圧の分布状態である。
【０００５】
また、消去時は、コントロールゲート６６にＶnn(例えば−９Ｖ)、ソース６１にＶpe(例えば６Ｖ)を印加し、ソースサイドでフローティングゲート６４から電子を引き抜きしきい値電圧を低下させる。図９の左側がデータ“１”のイレース状態(消去)のしきい値電圧の分布状態である。この消去時には、ソースサイドから基板６０にＢＴＢＴ(Band To Band Tunneling)電流が流れる。この電流が発生すると同時にホットホール,ホットエレクトロンが発生する。このうち、ホットエレクトロンはドレイン６２に流れてしまうが、一方、ホットホールは、トンネル酸化膜６３側に引かれ、トンネル酸化膜６３内にトラップされる。このトラップが一般的に、信頼性を悪化させると言われている。
【０００６】
そして、読み出し時は、ドレイン６２に１Ｖを印加し、コントロールゲート６６に５Ｖを印加する。もし、メモリセルのしきい値電圧状態が消去状態でしきい値電圧が低い場合、メモリセルに電流が流れ、データ“１”と判定される。一方、しきい値電圧がプログラム状態でしきい値電圧が高い場合、メモリセルに電流が流れず、データ“０”と判定される。
【０００７】
一方、最近では、コスト低減を目的として多値技術の開発が進められている。図１０(a)〜(d)に多値技術を用いた４値フラッシュメモリの場合のフローティングゲートの電子状態の概念図を示している(図１０に示すものは４値のものである。一方、比較のために２値のものを図１１に示す)。図１０に示すように、それぞれのレベルの状態は、フローティングゲートの電子の数により決められている。この場合のしきい値電圧の状態は、図１２に示すように４つのしきい値電圧レベルに分離されている。
データ“００”がしきい値電圧５.７Ｖ以上
データ“０１”が４.７Ｖ〜５.０Ｖ
データ“１０”が３.７Ｖ〜４Ｖ
データ“１１”が３.０Ｖ以下
である。このようなしきい値電圧の状態は、図１０に示すフローティングゲート内の電子数によりしきい値電圧が変化する特性を利用して、フローティングゲートへの電子の注入量を制御することにより揃える。
【０００８】
この多値技術のポイントは、各しきい値電圧(特に中間レベルであるデータ“０１”とデータ“１０”のしきい値電圧)を所定のしきい値電圧範囲に収めることをいかに実現するかということである。
【０００９】
次に、この多値技術の手法について述べる。一般的な書き込み方法は、特開２００１−５７０９１号公報やIEEE J. Solid−State Circuits vol.３５ No４１ Novmber ２０００ p１６５５〜p１６６７“４０mm2 ３Ｖ Only ５０MHz ６４Mb ２b/cell CHE ＮＯＲ Flash Memory”で開示されている。この文献中で示されている手法は、プログラム(書き込み)パルス印加とプログラムパルス印加後のメモリセルのしきい値電圧を検証するベリファイとを繰り返して行い、メモリセルのしきい値電圧が所定のしきい値電圧に到達したメモリセルは、次のプログラムパルス印加では、ドレイン電圧を印加しないようにオープンにする一方、所定のしきい値電圧に到達していないメモリセルにはドレインに５Ｖを印加し、プログラムパルスを印加して書き込みを続け、最終的にプログラム(書き込み)すべき全メモリセルのしきい値電圧が所定のしきい値電圧に到達したところで書き込みを終了させる手法である。
【００１０】
この場合、特に、プログラム(書き込み)スピードを高めるために、最初のプログラム(書き込み)時はコントロールゲートへの印加電圧を低く設定し、プログラムパルス印加毎にコントロールゲート電圧を一定の電圧間隔により上昇させる手法について述べられている。この場合の書き込みアルゴリズムを図１３に示している。
【００１１】
図１３に示すように、プログラムがスタートすると、ステップＳ１でＮをゼロにし、ステップＳ２でベリファイを行い、メモリセルのしきい値電圧が３.７Ｖ以上か否かを判定する。そして、メモリセルのしきい値電圧が３.７Ｖ未満のときは、ステップＳ３でＮをインクリメント(Ｎ＋１)して、ステップＳ４に進み、ゲート電圧Ｖg(＝Ｖg１０)から△Ｖg×(Ｎ−１)上昇させ、ステップＳ５でＶg＋△Ｖg×(Ｎ−１)の電圧の書き込みパルスをコントロールゲートに印加する。そして、ステップＳ２に戻り、メモリセルのしきい値電圧が３.７Ｖ以上になるまで、ステップＳ２〜Ｓ５を繰り返す。
【００１２】
一方、ステップＳ２でメモリセルのしきい値電圧が３.７Ｖ以上のときは、ステップＳ１１に進み、Ｎをゼロにし、ステップＳ１２でベリファイを行い、メモリセルのしきい値電圧が４.７Ｖ以上か否かを判定する。そして、メモリセルのしきい値電圧が４.７Ｖ未満のときは、ステップＳ１３でＮをインクリメント(Ｎ＋１)して、ステップＳ１４に進み、ゲート電圧Ｖg(＝Ｖg０１)から△Ｖg×(Ｎ−１)上昇させ、ステップＳ１５でＶg＋△Ｖg×(Ｎ−１)の電圧の書き込みパルスをコントロールゲートに印加する。そして、ステップＳ１２に戻り、メモリセルのしきい値電圧が４.７Ｖ以上になるまで、ステップＳ１２〜Ｓ１５を繰り返す。
【００１３】
一方、ステップＳ１２でメモリセルのしきい値電圧が４.７Ｖ以上のときは、図１４に示すステップＳ２１に進み、Ｎをゼロにし、ステップＳ２２でベリファイを行い、メモリセルのしきい値電圧が５.７Ｖ以上か否かを判定する。そして、メモリセルのしきい値電圧が５.７Ｖ未満のときは、ステップＳ２３でＮをインクリメント(Ｎ＋１)して、ステップＳ２４に進み、ゲート電圧Ｖg(＝Ｖg００)から△Ｖg×(Ｎ−１)上昇させ、ステップＳ２５でＶg＋△Ｖg×(Ｎ−１)の電圧の書き込みパルスをコントロールゲートに印加する。そして、ステップＳ２２に戻り、メモリセルのしきい値電圧が４.７Ｖ以上になるまで、ステップＳ２２〜Ｓ２５を繰り返す。
【００１４】
一方、ステップＳ２２でメモリセルのしきい値電圧が４.７Ｖ以上のときは、この処理を終了する。
【００１５】
図１３では、ステップＳ１〜Ｓ５はデータ“１０”の書き込み処理であり、Ｖg１０はデータ“１０”の書き込み時のスタート電圧(書き込み開始電圧)である。また、ステップＳ１１〜Ｓ１５はデータ“０１”の書き込み処理であり、Ｖg０１はデータ“０１”の書き込み時のスタート電圧であり、ステップＳ２１〜Ｓ２５はデータ“００”の書き込み処理であり、Ｖg００はデータ“００”の書き込み時のスタート電圧である。
【００１６】
一方、プログラムパルス印加のコントロールゲートへの電圧印加の遷移を図１５に示している。
【００１７】
この手法の書き込み原理についてメモリセルの特性面から考えて述べる。最初に、ゲート電圧Ｖg１０(例えば６Ｖ)、ドレイン電圧をＶd(例えば５Ｖ)でプログラムパルスを１回印加した場合のメモリセルのしきい値電圧Ｖt分布を図１６に示している。しきい値電圧は２.７Ｖから３.７Ｖに分布していることがわかる。この場合の分布の上限は３.７Ｖ(Ｖtmax)、下限は２.７Ｖ(Ｖtmin)である。ここで、例えば、コントロールゲート電圧を６Ｖ、ドレイン電圧５Ｖにし、一度プログラム(書き込み)を実行する。その場合のしきい値電圧分布は、図１７に示す分布１(図１６に相当)である。その後、続けてコントロールゲート電圧を上昇させ、６.５Ｖとして、プログラム(書き込み)を行った場合、図１７に示す分布２までしきい値電圧が全体的にシフトする。一方、さらに、コントロールゲート電圧を０.５Ｖ増加させて７Ｖでプログラムパルス印加するとメモリセルのしきい値電圧分布は分布３のようになる。次に、同様にしてコントロールゲート電圧を上昇させながら、書き込みを行うとしきい値電圧分布は分布４となる。このときの上限しきい値電圧Ｖtmaxと下限しきい値電圧Ｖtmaxとコントロールゲート電圧の関係をまとめると、図１８に示すようになる。これは、電圧増加幅ΔＶg毎にコントロールゲート電圧を上昇させてのパルス印加数ｎにおきかえて考えることもできる。コントロールゲートへの最初のプログラムパルス印加でのゲート電圧６Ｖでの上限しきい値電圧Ｖtmaxと下限しきい値電圧ＶtmaxをそれぞれＶtmaxi、Ｖtminiとすると
Ｖtmax＝Ｖtmaxi＋ΔＶg×(n−１)
Ｖtmin＝Ｖtmini＋ΔＶg×(n−１)
(ただし、ΔＶgはＶg−６Ｖ、ｎはパルス印加数)
の関係が成り立つ。つまりΔＶt＝ΔＶgの関係が成り立つ。
【００１８】
この式から判るように、データ“０１”、データ“１０”において上記のようなコントロールゲート電圧を上昇させるプログラムアルゴリズムでコントロールゲート電圧の電圧増加幅ΔＶgを０.３Ｖに設定することで、しきい値電圧は、０.３Ｖ以内に収めることが可能である。つまり、データ“０１”では４.７Ｖ〜５Ｖ、データ“１０”では３.７Ｖ〜４Ｖとすることが可能である。例えば、データ“１０”を記憶するメモリセルのしきい値電圧を３.７Ｖ〜４Ｖの範囲に収めるためには、上限しきい値電圧Ｖtmaxが３.７Ｖから４Ｖの範囲に到達するコントロールゲート電圧に設定する。この場合の最初のコントロールゲート電圧は６Ｖとすると、
１パルス目(６Ｖ)      ：Ｖg Ｖtmin＝２.７Ｖ
２パルス目(６.３Ｖ)   ：Ｖg＋ΔＶg Ｖtmin＝３.０Ｖ
３パルス目(６.６Ｖ)   ：Ｖg＋２ΔＶg Ｖtmin＝３.３Ｖ
４パルス目(６.９Ｖ)   ：Ｖg＋３ΔＶg Ｖtmin＝３.６Ｖ
５パルス目(７.２Ｖ)   ：Ｖg＋４ΔＶg Ｖtmin＝３.９Ｖ
になる。
【００１９】
この５パルス目(コントロールゲートへの印加電圧７.２Ｖ)で、メモリセルの書き込み特性のバラツキにより、書き込み速度の最も遅いメモリセルでもそのしきい値電圧は３.９Ｖ以上、すなわち、３.７Ｖ以上になるはずである。
【００２０】
実際は、プログラムパルス印加毎にベリファイを実施しており、このベリファイ(基本的には読み出し動作と同じ)によりメモリセルを流れるメモリセル電流からしきい値電圧を判定し、しきい値電圧が３.７Ｖ以上に到達したメモリセルのドレインはオープンにして、以後、書き込みは行わない処理を行っているため、この５パルス印加でデータ“１０”を書き込むべきメモリセルの全ての書き込み動作が終了する。
【００２１】
このように、パルス印加毎に、ベリファイを行い、３.７Ｖ以上に到達したしきい値電圧のメモリセルのドレインには電圧を印加しない手法を用いることで、しきい値電圧を０.３Ｖ以内に収めることが可能となる。
【００２２】
一方、データ“０１”を記憶するメモリセルのしきい値電圧が４.７Ｖ〜５Ｖの範囲に収める場合も同様の手法で実現可能である。すなわち、上限しきい値電圧Ｖtmaxが４.７Ｖから５Ｖの範囲に到達するようにパルスを印加することにより、８パルス目で下限しきい値電圧Ｖtminが４.８Ｖになる。
【００２３】
【発明が解決しようとする課題】
ところで、上記不揮発性半導体メモリ装置としての４値フラッシュメモリでは、現実的な問題として、メモリセルの特性がデバイス毎でばらつくと、上記のようなΔＶt＝ΔＶgの関係が成り立たなくなるデバイスが発生する。このときに問題になるのは、次の(1),(2)のような場合である。
【００２４】
〔(1)  ΔＶt＞ΔＶgの場合〕
例えば、ΔＶt＝１.２×ΔＶgの場合、電圧増加幅ΔＶg＝０.３Ｖ毎にゲート電圧を増加すると、しきい値電圧の変化幅ΔＶt＝０.３６Ｖとなり、結果としてしきい値電圧分布は、３.７Ｖ〜４.０６Ｖの範囲になる。結果的に、しきい値電圧分布が所定の値よりばらつき、このしきい値電圧分布の拡がりは読み出し時のメモリセル電流の判定のときのマージンの減少につながり、読み出し不良となると予測される。
【００２５】
〔(2)  ΔＶt＜ΔＶgの場合〕
例えば、ΔＶt＝０.８×ΔＶgの場合、電圧増加幅ΔＶg＝０.３Ｖ毎にゲート電圧を増加すると、しきい値電圧の変化幅ΔＶt＝０.２４Ｖとなる。この場合、しきい値電圧分布は所定の３.７Ｖ〜４.０Ｖの範囲に収められるが、
１パルス目(６Ｖ)     ：Ｖg Ｖtmin＝２.７Ｖ
２パルス目(６.３Ｖ)  ：Ｖg＋ΔＶg Ｖtmin＝２.９４Ｖ
３パルス目(６.６Ｖ)  ：Ｖg＋２ΔＶg Ｖtmin＝３.１８Ｖ
４パルス目(６.９Ｖ)  ：Ｖg＋３ΔＶg Ｖtmin＝３.４２Ｖ
５パルス目(７.２Ｖ)  ：Ｖg＋４ΔＶg Ｖtmin＝３.６６Ｖ
６パルス目(７.２Ｖ)  ：Ｖg＋５ΔＶg Ｖtmin＝３.９Ｖ
になり、必要なパルス数が増加することになる。パルス数の増加はパルス印加毎に行うベリファイの増加もさらに加わり、結果としてプログラムスピードが劣化するという問題がある。
【００２６】
そこで、この発明の目的は、デバイスのばらつきに影響されることなくかつプログラムスピードを劣化させることなく、読み出しマージンが確保できる信頼性の高い多値書き込みができる不揮発性半導体メモリ装置を提供することにある。
【００２７】
【課題を解決するための手段】
【００２８】
【００２９】
【００３０】
【００３１】
上記目的を達成するため、この発明の不揮発性半導体メモリ装置は、
制御ゲートとドレインとソースおよび浮遊ゲートを有する電気的に情報の書き込みおよび消去が可能な浮遊ゲート電界効果トランジスタで構成されたメモリセルを有し、上記浮遊ゲートに３値以上の電荷状態が形成される不揮発性半導体メモリ装置であって、
上記浮遊ゲートの３値以上の電荷状態のうちの２値以上の電荷状態を発生させる書き込み時、上記制御ゲートに正の書き込み開始電圧の書き込みパルスを印加する第１ステップの後、所定の電荷状態未満と判断されたメモリセルに対して上記所定の電荷状態以上と判断されるまで前回の書き込みパルスの電圧から電圧増加幅上昇させた書き込みパルスを上記制御ゲートに印加する第２ステップを繰り返す書き込み手段を備え、
上記書き込み手段は上記電圧増加幅をチップ毎に設定可能であり、
上記書き込み手段は、
上記制御ゲートに電圧を供給する電圧供給手段と、
上記電圧供給手段に書き込み制御信号を出力する書き込み制御手段と、
上記電圧増加幅の情報として上記電圧増加幅に相当する数値を記憶する記憶手段とを備え、
上記電圧供給手段は、
各抵抗の両端の電位差が等電位となるように、低電圧側の第１ノードと高電圧側の第２ノードとの間に直列に接続された複数個の抵抗と、
上記各抵抗間のノード、上記第１ノードおよび上記第２ノードの各々に接続された複数個のスイッチとを有し、
上記複数個のスイッチのうちの１つが上記書き込み制御手段により選択されることにより、上記各抵抗間のノード、上記第１ノードおよび上記第２ノードのうちの１つのノードに発生した電圧を上記制御ゲートに供給すると共に、
上記書き込み制御手段は、
上記電圧供給手段の上記複数個のスイッチのうちの１つの選択するための数値が、上記数値の小さいものから上記数値の大きいものへ向けて、上記第１ノード側に位置するスイッチから上記第２ノード側に位置するスイッチへ向けて順に対応付けられており、
上記第１ステップにおいては、上記正の書き込み開始電圧に相当する数値に応じた書き込み制御信号を上記電圧供給手段に出力し、
上記第２ステップにおいては、上記前回の書き込みパルスの電圧に相当する数値に上記記憶手段に記憶された電圧増加幅に相当する数値を加算し、この加算結果の示す数値に応じた書き込み制御信号を上記電圧供給手段に出力し、
上記電圧供給手段は、上記書き込み制御手段からの上記書き込み制御信号が表す上記加算結果の示す数値に相当する電圧を上記制御ゲートに供給することを特徴としている。
【００３２】
上記構成の不揮発性半導体メモリ装置によれば、上記書き込み手段において、デバイスのばらつきに影響されることなく、メモリセルのしきい値電圧の変化幅が所定電圧となる電圧増加幅をチップ毎に設定することが可能となり、プログラムスピードを劣化させることなく、読み出しマージンが確保できる信頼性の高い多値書き込みができる。また、上記書き込み制御手段は、上記正の書き込み開始電圧に相当する数値から上記記憶手段に記憶された電圧増加幅に相当する数値を順次加算して得られた加算結果を表す書き込み制御信号を出力し、その書き込み制御信号が表す加算結果に相当する電圧を上記電圧供給手段から上記制御ゲートに供給するので、簡単な構成で上記電圧増加幅をチップ毎に設定された電圧増加幅で書き込みパルスを上記制御ゲートに印加できる。
【００３３】
また、一実施形態の不揮発性半導体メモリ装置は、書き込み特性のテストにより得られた上記メモリセルのしきい値電圧の変化幅が所定電圧となる上記電圧増加幅の情報を上記記憶手段に記憶することを特徴としている。
【００３４】
上記実施形態の不揮発性半導体メモリ装置によれば、書き込み特性のテストにより得られたメモリセルのしきい値電圧の変化幅が所定電圧となる上記電圧増加幅の情報を上記記憶手段に記憶して、上記記憶手段に記憶された情報に基づいて、上記電圧供給手段から上記制御ゲートに電圧を供給するので、上記メモリセルのしきい値電圧の変化幅をチップの特性ばらつきに関わらず同じ所定電圧にできる。
【００３５】
また、一実施形態の不揮発性半導体メモリ装置は、上記記憶手段が、上記メモリセルと同じ構成のメモリセルを用いたことを特徴としている。
【００３６】
上記実施形態の不揮発性半導体メモリ装置によれば、上記記憶手段に上記メモリセルと同じ構成のメモリセルを用いることによって、例えば複数のメモリセルで構成されたメモリセルアレイ内やメモリセルアレイ周辺のメモリセルを一部使えば良く、特別な記憶手段を新たに設計する必要がなく、チップ面積を小さくできる。
【００３７】
また、一実施形態の不揮発性半導体メモリ装置は、上記電圧供給手段が、抵抗分圧器により発生させた電圧を上記制御ゲートに供給することを特徴としている。
【００３８】
上記実施形態の不揮発性半導体メモリ装置によれば、上記電圧供給手段は、複数の抵抗が直列に接続された抵抗分圧器により発生させた電圧を上記制御ゲートに供給するので、最も簡単な構成でレイアウト面積を小さくでき、デバイス(チップ)の製造条件により抵抗値がばらついても、抵抗比は安定しているため、安定した電圧増加幅を確実に得ることができる。
【００３９】
【発明の実施の形態】
以下、この発明の不揮発性半導体メモリ装置を図示の実施の形態により詳細に説明する。
（第１実施形態）
図１はこの発明の第１実施形態の不揮発性半導体メモリ装置としての４値フラッシュメモリ１０のブロック図である。なお、ここではこの発明の説明に必要なところのみに絞って説明する。
【００４０】
図１において、１１はメモリセルアレイ、１２は上記メモリセルアレイ１１のワード線に電圧を供給するワード線電圧供給回路、１３は上記メモリセルアレイ１１の共通ソース線に電圧を供給する共通ソース線電圧供給回路、１４は上記メモリセルアレイ１１のビット線に電圧を供給するビット線電圧供給回路、１５は上記ワード線電圧供給回路１２,共通ソース線電圧供給回路１３およびビット線電圧供給回路１４を制御する制御回路である。
【００４１】
図２は上記メモリセルアレイ１１の１ブロック分の回路図を示している。一般的には、ブロックが複数個集まって、メモリセルアレイを構成している。
【００４２】
図２に示すように、複数のメモリセル１００がマトリクス状に配置され、ワード線ＷＬ0にはｍ個のメモリセル１００のコントロールゲート(制御ゲート)が接続され、ワード線ＷＬ1〜ＷＬn-1にも同様にｍ個のメモリセル１００のコントロールゲートが接続されている。また、ビット線ＢＬ0にはｎ個のメモリセル１００のドレインが接続され、ビット線ＢＬ1〜ＢＬm-1にも同様にｎ個のメモリセル１００のドレインが接続されている。そして、同一ブロック内のメモリセル１００のソースは、共通ソース線ＳＬに共通に接続されている。なお、メモリセル１００は、図８に示すメモリセルと同一の構成をしており、説明を省略する。
【００４３】
なお、上記メモリセルアレイ１１(図１に示す)内には、データを格納するデータ領域の他に、書き込み時や消去時に行うベリファイにおいて、メモリセルが所定のしきい値電圧に到達したか否かを検証するときに比較のために使用する参照用メモリセル(リファレンスメモリセル)もあるが省略している。
【００４４】
上記ワード線ＷＬ0〜ＷＬn-1を駆動するため、図１に示すワード線電圧供給回路１２があり、制御回路１５からの制御信号およびアドレス信号に基づいて、ワード線電圧供給回路１２がワード線を選択すると共に、書き込み制御信号をプログラム(書き込み)電圧に昇圧して、選択されたワード線を駆動する。また、上記共通ソース線電圧供給回路１３は、制御回路１５からの制御信号およびアドレス信号に基づいて、同一ブロック内のソースを共通化した共通ソース線を選択すると共に、消去制御信号をイレース電圧に昇圧して共通ソース線を駆動する。また、上記ビット線電圧供給回路１４は、制御回路１５からの制御信号とアドレス信号に基づいて、データ領域メモリセルアレイのビット線を選択すると共に、書き込み／読み出し制御信号を昇圧して、ビット線を駆動する。
【００４５】
なお、ビット線電圧供給回路１４内には図示していないが、書き込み時および消去時に行うベリファイにおいて、メモリセルとリファレンスメモリセル各々に流れるメモリセル電流を比較して、しきい値電圧を検証し、書き込みパルスや消去パルスの印加の続行あるいは停止を制御回路１５に伝える比較回路や、読み出し時にメモリセル電流を電圧に換算してセンスするセンスアンプ回路等も含んでいるが、ここでは省略している。
【００４６】
この発明は、多値不揮発性半導体メモリ装置に関するものであり、特にワード線への書き込み電圧の制御に関するものであることから、以後、ワード線電圧供給回路１２について、詳細に説明する。
【００４７】
図１に示すように、上記ワード線電圧供給回路１２は、書き込み手段としてのワード線電圧制御回路１２aと、各ワード線に対応するワード線ドライバ回路１２bとで構成されている。また、上記ワード線電圧制御回路１２aは、書き込み用、消去用、読み出し用各々、ワード線に印加する電圧を制御して出力する制御回路からなっている。ここで、ワード線ドライバ回路１２bは、書き込み時にワード線電圧制御回路１２aからの書き込みパルス電圧をワード線に出力し、消去時に消去パルスを図示しない消去用制御回路からワード線に出力すると共に、読み出し時に図示していない読み出し用制御回路からの出力を選択してワード線に出力するものであり、既存の切り替え回路で構成されているため、ここでの詳細な説明は省略する。
【００４８】
図３はワード線電圧制御回路(書き込み用)の概要を示すブロック図である。図３において、２１は上記制御回路１５(図１に示す)からの制御信号を受ける書き込み制御手段としてのプログラム／イレース制御回路、２２は上記プログラム／イレース制御回路２１から制御信号ＷＬＶＳ[３：０],ＰＧ[１：０]を受ける電圧供給手段としてのワード線レギュレータ回路、２３は上記ワード線レギュレータ回路２２に選択制御信号ＣＤ[１：０]を出力する記憶手段としてのパルス電圧ステップ幅記憶回路である。なお、上記制御信号ＷＬＶＳ[３：０]は、ＷＬＶＳ３,ＷＬＶＳ２,ＷＬＶＳ１およびＷＬＶＳ０の４つの信号を表し、制御信号ＰＧ[１：０]は、ＰＧ１,ＰＧ０の２つの信号を表し、選択制御信号ＣＤ[１：０]は、ＣＤ１,ＣＤ０の２つの信号を表している。
【００４９】
多値技術の場合、書き込み時の各ステップでのワード線への印加電圧は、図３に示すように、プログラム／イレース制御回路２１からの制御信号ＷＬＶＳ[３：０]により決定される。また、プログラムアルゴリズムは、図１３のフローチャートに示すアルゴリズムと同じである(ただし、電圧増加幅ΔＶgは、デバイスのウエハテストのときに特性評価された結果に基づいて、デバイス単位でパルス電圧ステップ幅記憶回路２３に設定される)。
【００５０】
図３のワード線レギュレータ回路２２は、各ワード線ＷＬ0〜ＷＬn-1毎に配置され、ワード線ドライバ回路１２b(図１に示す)を介してワード線に接続されている。上記ワード線レギュレータ回路２２は、００用レギュレータ部２２aと０１用レギュレータ部２２bおよび１０用レギュレータ部２２cで構成されている。
【００５１】
上記００用レギュレータ部２２aは、データ“００”を書き込むための書き込みパルスを発生する回路であり、０１用レギュレータ部２２bは、データ“０１”を書き込むための書き込みパルスを発生する回路であり、１０用レギュレータ部２２cは、データ“１０”を書き込むための書き込みパルスを発生する回路であり、各ワード線に１個ずつ配置されている。なお、データ“１１”は、消去状態であるため、別のワード線制御回路(消去用)から消去パルスを発生させ、ワード線ドライバ回路１２b(図１に示す)を介して、ワード線に出力(例えば−９Ｖ)するが、消去は既存の回路で行っているため、ここでの説明は省略する。
【００５２】
上記プログラム／イレース制御回路２１は、書き込み時はビット線電圧供給回路１４(図１に示す)からのベリファイ結果に基づいて、書き込みパルス電圧のステップ印加の制御(停止も含む)や、書き込むデータ“００”〜“１０”に応じて、どのレギュレータ部を使用するか、または不使用のレギュレータ部の出力の禁止や、消去時の全レギュレータ部の出力禁止や、ベリファイ時の不使用のレギュレータ部の出力の禁止等の制御を行うものである。
【００５３】
上記プログラム／イレース制御回路２１には、書き込みパルスのステップ印加の制御手段を含んでおり、ここでは、４ビットの制御信号ＷＬＶＳ[３：０]で行い、００００〜１１１１の最大１６ステップの出力が可能である。ここでは、００００で第１ステップ、０００１で第２ステップ、００１０で第３ステップ、…として、ベリファイ結果に応じて、さらにステップが必要と判定されれば、ステップアップしながら継続する。
【００５４】
また、データ“００”〜“１０”に応じてどのレギュレータ部を使用し、他のレギュレータ部の出力を禁止するための制御信号ＰＧ[１：０]は、ここでは２ビット(００、０１、１０)で構成され、３つの００用レギュレータ部２２a,１０用レギュレータ部２２bおよび１０用レギュレータ部２２cを制御している。
【００５５】
また、上記パルス電圧ステップ幅記憶回路２３は、ウエハ段階での特性テスト結果に基づいて、ウエハテスト時に電圧増加幅△gを決定する情報が書き込まれる。または、パッケージングされた後のデバイステスト結果に基づいて、パルス電圧ステップ幅記憶回路２３に電圧増加幅△gを決定する情報を書き込んでも良い(この場合は、特性テスト結果の入力端子が必要となる)。
【００５６】
このようにして、各デバイス単位で、その特性に合致した電圧増加幅ΔＶgを発生できるようにテスト結果が記憶されている。
【００５７】
上記パルス電圧ステップ幅記憶回路２３は、フラッシュメモリで構成すれば良く、メモリセルアレイ内やメモリセルアレイ周辺のメモリセルを一部使えば良く、特別な記憶手段を新たに設計する必要はないので、チップ面積の増大にはならない。
【００５８】
この４値フラッシュメモリでは、パルス電圧ステップ幅記憶回路２３からの２ビットの選択制御信号ＣＤ[１：０]により、最大４つの条件の変更が可能である。
【００５９】
ここでは、ΔＶt＝ΔＶgのとき、選択制御信号ＣＤ[１：０]は００に設定し、ΔＶt＞ΔＶgのとき、選択制御信号ＣＤ[１：０]は０１に設定し、ΔＶt＜ΔＶgのとき、選択制御信号ＣＤ[１：０]は１０に設定して説明している。
【００６０】
また、上記ワード線レギュレータ回路２２は、それぞれのしきい値電圧、つまり、データ“００”とデータ“０１”とデータ“１０”にプログラム(書き込み)する場合に、００用レギュレータ部２２a、０１用レギュレータ部２２b、１０用レギュレータ部２２cがそれぞれアクティブとなる。
【００６１】
図４,図５は図３に示すワード線電圧制御回路(書き込み用)内のレギュレータ部の詳細な回路図である。図４において、抵抗値以外は、３つのレギュレータ部の回路構成は基本的には同じである。
【００６２】
図４に示すように、選択制御信号ＣＤ０,ＣＤ１をＮＯＲ回路３１の入力端子に入力し、ＮＯＲ回路３１の出力端子をレベルシフト回路３４の入力端子に接続している。上記レベルシフト回路３４の出力端子をｐＭＯＳトランジスタＨ0のゲートに接続している。また、選択制御信号ＣＤ０をレベルシフト回路３３の入力端子に接続し、レベルシフト回路３３の出力端子をｐＭＯＳトランジスタＨ1のゲートに接続している。また、選択制御信号ＣＤ１をレベルシフト回路３２の入力端子に接続し、レベルシフト回路３２の出力端子をｐＭＯＳトランジスタＨ2のゲートに接続している。上記ｐＭＯＳトランジスタＨ0,Ｈ1,Ｈ2の各ソースを電源Ｖppに接続し、ｐＭＯＳトランジスタＨ0のドレインを抵抗ＲＨ0を介して端子Ｔ15に接続し、ｐＭＯＳトランジスタＨ1のドレインを抵抗ＲＨ1を介して端子Ｔ15に接続し、ｐＭＯＳトランジスタＨ2のドレインを抵抗ＲＨ2を介して端子Ｔ15に接続している。そして、上記端子Ｔ15に１５個の抵抗Ｒ1を直列に接続し、上記直列に接続された抵抗Ｒ1の接続点を端子Ｔ15側から端子Ｔ14〜Ｔ1とし、終端を端子Ｔ0とする。なお、上記レベルシフト回路３２〜３４は、インバータタイプの昇圧用レベルシフト回路であり、入力されたＨighレベルとしての電源Ｖccレベルを、高電圧レベルであるＶppレベル(例えば１２Ｖ)に昇圧するものである。
【００６３】
また、選択制御信号ＣＤ０,ＣＤ１をＮＯＲ回路３６の入力端子に入力し、ＮＯＲ回路３６の出力端子をｎＭＯＳトランジスタＬ0のゲートに接続している。また、選択制御信号ＣＤ０をｎＭＯＳトランジスタＬ1のゲートに接続し、選択制御信号ＣＤ１をｎＭＯＳトランジスタＬ2のゲートに接続している。上記ｎＭＯＳトランジスタＬ0,Ｌ1,Ｌ2の各ソースをグランドに接続し、ｎＭＯＳトランジスタＬ0のドレインを抵抗ＲＬ0を介して端子Ｔ0に接続し、ｎＭＯＳトランジスタＬ1のドレインを抵抗ＲＬ1を介して端子Ｔ0に接続し、ｎＭＯＳトランジスタＬ2のドレインを抵抗ＲＬ2を介して端子Ｔ0に接続している。
【００６４】
次に、端子Ｔ15にｎＭＯＳトランジスタＨＳ15のドレインを接続し、同様にして端子Ｔ14〜Ｔ0にｎＭＯＳトランジスタＨＳ14〜ＨＳ0のドレインを順次接続している。上記ｎＭＯＳトランジスタＨＳ15〜ＨＳ0のソースは共通に接続されている。また、図３に示すプログラム／イレース制御回路２１からの制御信号ＷＬＶＳ[３：０]が抵抗値選択ロジック回路３５に入力され、抵抗値選択ロジック回路３５から出力された制御信号ＨＳ[１５：０]をｎＭＯＳトランジスタＨＳ15〜ＨＳ0のゲートに夫々入力している。
【００６５】
次に、上記ｎＭＯＳトランジスタＨＳ15〜ＨＳ0の共通接続されたソースから出力されたＲef信号を、図５に示すように、増幅器３７の正極側入力端子に入力し、増幅器３７の出力端子をｎＭＯＳトランジスタＴroutのドレインに接続し、そのｎＭＯＳトランジスタＴroutのソースを増幅器３７の負極側入力端子に接続して、ボルテージフォロア回路を形成している。そして、プログラム／イレース制御回路２１からの制御信号ＰＧ１をレベルシフト回路３８に入力し、そのレベルシフト回路３８の出力信号ＨＧ１をｎＭＯＳトランジスタＴroutのゲートに入力している。
【００６６】
上記構成のレギュレータ部において、まず、データ“１０”を書き込むための１０用レギュレータ部２２cで説明する。
【００６７】
パルス電圧ステップ幅記憶回路２３(図３に示す)からの選択制御信号ＣＤ[１：０]が００のとき(ＣＤ１が０、ＣＤ０が０)、ｐＭＯＳトランジスタＨ0とｎＭＯＳトランジスタＬ0がオンし、抵抗ＲＨ0,Ｒ1,…,Ｒ1,ＲＬ0を介して電流が流れる。また、選択制御信号ＣＤ[１：０]が０１のとき(ＣＤ１が０、ＣＤ０が１)、ｐＭＯＳトランジスタＨ1とｎＭＯＳトランジスタＬ１がオンし、抵抗ＲＨ１,Ｒ1,…,Ｒ1,ＲＬ1を介して電流が流れる。また、選択制御信号ＣＤ[１：０]が１０のとき(ＣＤ１が１、ＣＤ０が０)、ｐＭＯＳトランジスタＨ2とｎＭＯＳトランジスタＬ2がオンし、抵抗ＲＨ2,Ｒ1,…,Ｒ1,ＲＬ2を介して電流が流れる。このように、抵抗ＲＨ0〜ＲＨ2、ＲＬ0〜ＲＬ2の各抵抗値を異ならせることで、異なる電圧増加幅ΔＶgを設定できる。
【００６８】
上記抵抗値選択ロジック回路３５は、制御信号ＷＬＶＳの４ビットデータに応じて、０〜１５にデコードするデコーダであり、既存の回路で容易に構成可能である。例えば、制御信号ＷＬＶＳ[３：０]が００００のとき、ｎＭＯＳトランジスタＨＳ0がオンし、制御信号ＷＬＶＳ[３：０]が０００１のとき、ｎＭＯＳトランジスタＨＳ1がオンし、制御信号ＷＬＶＳ[３：０]が００１０のとき、ｎＭＯＳトランジスタＨＳ2がオンし、以下、同様にｎＭＯＳトランジスタが選択され、制御信号ＷＬＶＳ[３：０]が１１１１のとき、ｎＭＯＳトランジスタＨＳ15がオンし、制御信号ＷＬＶＳ[３：０]に応じて、１つの出力が選択されてＲef電圧として出力される。
【００６９】
また、端子Ｔ0〜Ｔ15の各々隣接する出力の出力差が電圧増加幅ΔＶgとなり、抵抗ＲＨ0〜ＲＨ2、ＲＬ0〜ＲＬ2の各抵抗値を異なる値に設定することによって、電圧増加幅ΔＶgは選択制御信号ＣＤ[１：０]により、異なる電圧増加幅ΔＶgを取ることができる。
【００７０】
上記Ｒef電圧は、図５に示すボルテージフォロア回路を構成する増幅器３７の正極側入力端子に入力されて低インピーダンス化され、出力ＨＶＰとしてワード線ドライバ回路１２b(図１に示す)に出力される。なお、上記ボルテージフォロア回路の出力段には、ｎＭＯＳトランジスタＴroutが設置されており、制御信号ＰＧ１により、書き込み時,消去時およびベリファイ時、ワード線レギュレータ部２２が使用されないとき、ｎＭＯＳトランジスタＴroutをオフにして、出力をオープンにしておく。
【００７１】
そして、プログラム(書き込み)が開始されると、ΔＶt＝ΔＶgが成り立つ場合、パルス電圧ステップ幅記憶回路２３(図３に示す)は、選択制御信号ＣＤ[１：０]は００が出力され、結果的に抵抗ＲＨ0(１５ｋΩ)とＲＬ0(３０ｋΩ)がアクティブ状態となる。また、データ“１０”を書き込む場合、制御信号がＨigh状態となり、レベルシフト回路３８の出力信号ＨＧ１がＶｐｐ(１２Ｖ)となって、１０用レギュレータ部２２cがアクティブ状態となる。また、制御信号ＷＬＶＳ[３：０]が００００となり、トランジスタＨＳ0がオンし、Ｒef電圧が６Ｖとなる。その結果、スタート電圧(書き込み開始電圧)として６Ｖがセットされ、プログラム(書き込み)すべきメモリセルのコントロールゲートがつながるワード線には６Ｖが出力され、プログラム(書き込み)すべきメモリセルのドレインには５Ｖの電圧が出力され、書き込みが行われ、そのメモリセルのしきい値電圧が上昇する。
【００７２】
次に、ベリファイが行われ、しきい値電圧が３.７Ｖ以上のメモリセルについては、次にパルス印加時にはドレインをオープンにしてドレイン電圧の出力を行わない。一方、３.７Ｖ以下のメモリセルが存在する場合、制御信号ＷＬＶＳ[３：０]が０００１に変化し、トランジスタＨＳ1がオンし、Ｒef電圧が６.３Ｖとなる。その結果、ワード線に６.３Ｖが出力され、プログラム(書き込み)が行われる。
【００７３】
次に、ベリファイを行い、メモリセルのしきい値電圧が３.７Ｖ以上かどうか確認し、３.７Ｖ以上のメモリセルはそこでプログラムパルス印加(ドレイン電圧印加)を終了し、もし、３.７Ｖ以下のメモリセルが存在する場合は、ワード線電圧をベリファイを行った後、制御信号ＷＬＶＳ[３：０]のインクリメントしてプログラムパルス印加を行い、このベリファイとプログラムパルス印加をしきい値電圧が３.７Ｖ以下のメモリセルがなくなるまで繰り返す。
【００７４】
さらに、データ“０１”、データ“００”(しきい値電圧を４.７Ｖ〜５Ｖ、５.７Ｖ以上)が存在すれば、次に、しきい値電圧を４.７Ｖ以上にする動作を行う。この場合、０１用レギュレータ部２２cをアクティブ状態とする。上記のように、同様の手法でしきい値電圧を４.７Ｖ〜５Ｖ範囲にしきい値電圧を高める。さらに、データ“００”では、００用レギュレータ部２２aをアクティブ状態とし、同様にしてしきい値電圧を５.７Ｖ以上とする。
【００７５】
以上のようにしきい値電圧の低いデータ“１０”から書き込みを行い、終了すれば、次いでデータ“０１”、さらにデータ“００”としきい値電圧の高いデータの書き込みを行っていく。
【００７６】
次に、メモリセルの特性にばらつきがある場合について説明する。
【００７７】
〔(1)  ΔＶt＞ΔＶgの場合〕
例えば、ΔＶt＝１.２×ΔＶgの場合、しきい値電圧の変化幅ΔＶtを０.３Ｖとするためには、電圧増加幅ΔＶg＝０.２５Ｖとする必要がある。この場合、ウエハテスト等でこのチップのメモリセルの特性を測定し、電圧増加幅ΔＶgが０.２５Ｖであることを表す情報をパルス電圧ステップ幅記憶回路２３(図３に示す)に記憶する。この場合、選択制御信号ＣＤ[１：０]＝０１が出力されるように記憶され、プログラムが開始されると、抵抗ＲＬ1(３６.１ｋΩ)と抵抗ＲＨ１(１６.１ｋΩ)が選択される。まず、制御信号ＷＬＶＳ[３：０]が００００となり、トランジスタＨＳ0がオンし、Ｒef電圧が６Ｖとなる。その結果、スタート電圧として６Ｖがセットされ、プログラム(書き込み)すべきメモリセルがつながるワード線に６Ｖが出力され、プログラム(書き込み)すべきメモリセルのドレインには５Ｖの電圧が出力され、メモリセルに書き込みが行われて、しきい値電圧が上昇する。
【００７８】
次に、ベリファイが行われ、しきい値電圧が３.７Ｖ以上のものについては、次にパルス印加時にはドレイン電圧の出力を行わない。一方、しきい値電圧が３.７Ｖ以下のメモリセルが存在する場合、制御信号ＷＬＶＳ[３：０]が０００１となり、トランジスタＨＳ1がオンし、Ｒef電圧が６.２５Ｖとなる。その結果、ワード線電圧に６.２５Ｖが出力され、プログラム(書き込み)が行われる。
【００７９】
次に、ベリファイを行い、メモリセルのしきい値電圧が３.７Ｖ以上かどうか確認し、しきい値電圧が３.７Ｖ以上のメモリセルはそこでプログラムパルス印加(ドレイン電圧印加)を終了し、もし、しきい値電圧が３.７Ｖ以下のメモリセルが存在する場合は、制御信号ＷＬＶＳ[３：０]をインクリメントしてプログラムパルス印加を行い、このベリファイとプログラムパルス印加をしきい値電圧が３.７Ｖ以下のメモリセルがなくなるまで繰り返す。
【００８０】
さらに、データ“０１”、データ“００”(しきい値電圧を４.７Ｖ〜５Ｖ、５.７Ｖ以上)が存在すれば、次に、しきい値電圧を４.７Ｖ以上にする動作を行う。この場合、０１用レギュレータ部２２cをアクティブ状態とする。このように、同様の手法でしきい値電圧を４.７Ｖ〜５Ｖ範囲にしきい値電圧を高める。さらに、データ“００”では、００用レギュレータ部２２aをアクティブ状態とし、同様にしてしきい値電圧を５.７Ｖ以上とする。
【００８１】
この動作は先述のΔＶt＝ΔＶgの場合と同じである。
【００８２】
〔(2)  ΔＶt＜ΔＶgの場合〕
例えば、ΔＶt＝０.８×ΔＶgの場合、しきい値電圧の変化幅ΔＶtを０.３Ｖとするためには、電圧増加幅ΔＶg＝０.３７５Ｖとする必要がある。この場合、ウエハテスト等でこのチップのメモリセルの特性を測定し、電圧増加幅ΔＶgが０.３７５Ｖであることを表す情報をパルス電圧ステップ幅記憶回路２３(図３に示す)に記憶する。この場合、選択制御信号ＣＤ[１：０]＝１０が出力されるように記憶され、プログラム(書き込み)が開始されると、抵抗ＲＬ2(２４ｋΩ)と抵抗ＲＨ2(９ｋΩ)が選択される。
【００８３】
また、制御信号ＷＬＶＳ[３：０]が００００となり、トランジスタＨＳ0がオンし、Ｒef電圧が６Ｖとなる。その結果、スタート電圧として６Ｖがセットされ、プログラム(書き込み)すべきメモリセルがつながるワード線に６Ｖが出力され、プログラム(書き込み)すべきメモリセルのドレインには５Ｖの電圧が出力され、メモリセルに書き込みが行われて、しきい値電圧が上昇する。
【００８４】
次に、ベリファイが行われ、しきい値電圧が３.７Ｖ以上のものについては、次にパルス印加時にはドレイン電圧の出力を行わない。一方、しきい値電圧が３.７Ｖ以下のメモリセルが存在する場合、制御信号ＷＬＶＳ[３：０]が０００１となり、トランジスタＨＳ1がオンし、Ｒef電圧が６.３７５Ｖとなる。その結果、ワード線は６.３７５Ｖが出力され、プログラム(書き込み)が行われる。
【００８５】
次に、ベリファイを行い、メモリセルのしきい値電圧が３.７Ｖ以上かどうか確認し、しきい値電圧が３.７Ｖ以上のメモリセルはそこでプログラムパルス印加(ドレイン電圧印加)を終了し、もし、しきい値電圧が３.７Ｖ以下のメモリセルが存在する場合は、同様に制御信号ＷＬＶＳ[３：０]をインクリメントしてプログラムパルス印加を行い、このベリファイとプログラムパルス印加をしきい値電圧３.７Ｖ以下のメモリセルがなくなるまで繰り返す。
【００８６】
さらに、データ“０１”、データ“００”(しきい値電圧を４.７Ｖ〜５Ｖ、５.７Ｖ以上)が存在すれば、次に、しきい値電圧を４.７Ｖ以上にする動作を行う。この場合、０１用レギュレータ部２２cをアクティブ状態とする。このように、同様の手法でしきい値電圧を４.７Ｖ〜５Ｖ範囲に高める。さらに、データ“００”では、００用レギュレータ部２２aをアクティブ状態とし、同様にしてしきい値電圧を５.７Ｖ以上とする。
【００８７】
このように、上記第１実施形態の不揮発性半導体メモリ装置としての４値フラッシュメモリでは、デバイスのメモリセルの書き込み特性に合わせて電圧増加幅ΔＶgを変えることで、１パルスでメモリセルのしきい値電圧がシフトする量を全てのチップで約０.３Ｖとすることが可能となり、書き込み速度の劣化を防止すると共に、読み出しマージンを確保でき、信頼性の向上を図ることが可能となる。
【００８８】
また、テスト結果を反映させた電圧増加幅ΔＶgが設定可能であるため、確実性を向上することができる。
【００８９】
（第２実施形態）
図６にこの発明の第２実施形態の不揮発性半導体メモリ装置としての４値フラッシュメモリに用いられるワード線電圧制御回路(書き込み用)の概要を示すブロック図であり、上記ワード線電圧制御回路のワード線出力電圧は、６Ｖ〜９.１７５Ｖまで０.０２５Ｖ刻みで出力可能となっている。図６において、４１は書き込み制御手段としてのプログラム／イレース制御回路、４２は上記プログラム／イレース制御回路２１に選択制御信号ＣＶＤ[３：０]を出力する記憶手段としてのパルス電圧ステップ幅記憶回路、４３は上記プログラム／イレース制御回路２１からの制御信号ＷＬＶＳ[６：０]を受ける電圧供給手段としてのワード線レギュレータ回路である。なお、上記制御信号ＷＬＶＳ[６：０]は、ＷＬＶＳ６,ＷＬＶＳ５,…,ＷＬＶＳ１およびＷＬＶＳ０の７つの信号を表し、選択制御信号ＣＶＤ[３：０]は、ＣＶＤ３,…,ＣＶＤ０の４つの信号を表している。
【００９０】
また、図７は図６に示すワード線電圧制御回路(書き込み用)内のワード線レギュレータ回路の詳細回路図である。
【００９１】
図７に示すように、制御信号ｅｎをレベルシフト回路５１の入力端子に接続し、そのレベルシフト回路５１の出力端子をｐＭＯＳトランジスタＨのゲートに接続している。上記ｐＭＯＳトランジスタＨ0のソースを電源Ｖpp(例えば１２Ｖ)に接続し、ｐＭＯＳトランジスタＨのドレインを抵抗ＲＨ1を介して端子Ｔ127に接続している。上記端子Ｔ127に１２６個の抵抗Ｒ1を直列に接続している。上記直列に接続された抵抗Ｒ1の接続点を端子Ｔ127側から端子Ｔ126〜Ｔ1とし、終端を端子Ｔ0とする。なお、上記レベルシフト回路５１は、インバータタイプの昇圧用レベルシフト回路であり、第１実施形態と同じである。
【００９２】
また、上記制御信号ｅｎをｎＭＯＳトランジスタＬのゲートに接続している。上記ｎＭＯＳトランジスタＬのソースをグランドに接続し、ｎＭＯＳトランジスタＬのドレインを抵抗ＲＬ1を介して端子Ｔ0に接続している。
【００９３】
次に、端子Ｔ127にｎＭＯＳトランジスタＨＳ127のドレインを接続し、同様にして端子Ｔ126〜Ｔ0にｎＭＯＳトランジスタＨＳ126〜ＨＳ0のドレインを順次接続している。上記ｎＭＯＳトランジスタＨＳ127〜ＨＳ0のソースは共通に接続されている。また、図６に示すプログラム／イレース制御回路４１からの制御信号ＷＬＶＳ[６：０]が抵抗値選択ロジック回路５２に入力され、抵抗値選択ロジック回路５２から出力された制御信号ＨＳ[１２７：０]をｎＭＯＳトランジスタＨＳ127〜ＨＳ0のゲートに夫々入力している。
【００９４】
次に、上記ｎＭＯＳトランジスタＨＳ127〜ＨＳ0の共通に接続されたソースから出力されたＲef信号を、増幅器５３の正極側入力端子に入力し、増幅器５３の出力端子をｎＭＯＳトランジスタＴroutのドレインに接続し、そのｎＭＯＳトランジスタＴroutのソースを増幅器５３の負極側入力端子に接続して、ボルテージフォロア回路を形成している。そして、制御信号ｅｎをｎＭＯＳトランジスタＴroutのゲートに入力している。
【００９５】
この第２実施形態のフラッシュメモリは、抵抗Ｒ1をシリーズ(直列)に１２７個接続したもので、抵抗Ｒ1の両端の電圧差を０.０２５Ｖと細かく設定することで、第１実施形態の図３に示す００用レギュレータ部２２a,０１用レギュレータ部２２bおよび１０用レギュレータ部２２cを、１つのワード線レギュレータ回路４３にまとめている。
【００９６】
まず、上記ワード線レギュレータ回路４３は、図７に示すように、抵抗ＲＨ１と抵抗ＲＬ1と１２７個のＲ1がシリーズ(直列)に接続され、抵抗Ｒ1の各接続点の端子Ｔ0〜Ｔ127は、各々ｎＭＯＳトランジスタＨＳ0〜ＨＳ127を介して接続されるＲef電圧ノードとなっている。
【００９７】
Ｒef電圧はボルテージフォロア回路を構成する増幅器４３の正極側入力端子に接続されて低インピーダンス化され、信号ＨＶＰとしてワード線ドライバ回路(図示せず)に出力される。また、制御信号ｅｎは、書き込みパルス制御信号であり、書き込みパルスが出力されるとき、Ｈighレベルとなる。上記ボルテージフォロア回路の出力段にあるｎＭＯＳトランジスタＴroutは、制御信号ｅｎがＨighレベルのときにオンしてＲef電圧を出力し、Ｌowレベルのときは、オープン状態となる。
【００９８】
また、上記抵抗選択ロジック回路４２は、プログラム／イレース制御回路４１(図６に示す)からの７ビットの制御信号ＷＬＶＳ[６：０]を受け、この信号に応じて、制御信号ＨＳ０〜１２７のいずれか１つにデコードするデコーダである。
【００９９】
上記抵抗選択ロジック回路４２は、先の第１実施形態と同様に既存の回路で容易に構成できるものである。
【０１００】
表２に制御信号ＷＬＶＳ[６：０]と、ｎＭＯＳトランジスタＨＳ0〜ＨＳ127のうちでオンするトランジスタおよびＲef電圧の関係を示している。
【０１０１】
【表２】
0003908957.tif 000003
【０１０２】
このため、パルス電圧ステップ幅記憶回路４２では、電圧増加幅ΔＶgとして使用したい値をビットに換算して記憶させる。記憶する時期は、第１実施形態と同じである。上記パルス電圧ステップ幅記憶回路４２で記憶に必要なビット数は、抵抗Ｒ1のシリーズ抵抗で設定する電圧差と、想定する電圧増加幅ΔＶgの関係で決まるが、この第２実施形態では４ビットで記憶している。表３は、選択制御信号ＣＶＤ[３：０]と電圧増加幅ΔＶgとの関係を示している。
【０１０３】
【表３】
0003908957.tif 000004
【０１０４】
例えば、電圧増加幅ΔＶgを０.３Ｖとした場合は、以後、制御信号ＷＬＶＳ[６：０]の値０００００００に、１１００(実際は、０００１１００)を順次加算しステップアップした値を使用すれば良いことになる。また、電圧増加幅ΔＶgを０.２５Ｖとした場合は、以後、制御信号ＷＬＶＳ[６：０]の値０００００００に、１０１０(実際は、０００１０１０)を順次加算し、ステップアップした値を使用すれば良いことになる。また、電圧増加幅ΔＶgを０.３７５Ｖとした場合は、以後、制御信号ＷＬＶＳ[６：０]の値０００００００に、１１１１(実際は、０００１１１１)を順次加算しステップアップした値を使用すれば良いことになる。
【０１０５】
図６から判るように、上記パルス電圧ステップ幅記憶回路４２は、プログラム／イレース制御回路４１と直接接続される形になっており、ワード線レギュレータ回路４３とは接続されていない。
【０１０６】
プログラム(書き込み)が開始されると、ΔＶt＝ΔＶgが成り立つ場合、パルス電圧ステップ幅記憶回路４２は、選択制御信号ＣＶＤ[３：０]は１１００が出力され、まず、制御信号ＷＬＶＳ[６：０]が０００００００となり、トランジスタＨＳ0がオンし、Ｒef電圧が６Ｖとなる。結果、スタート電圧(書き込み開始電圧)として６Ｖがセットされ、プログラム(書き込み)すべきメモリセルがつながるワード線には６Ｖが出力され、プログラム(書き込み)すべきメモリセルのドレインには５Ｖが出力されて、書き込みが行われ、メモリセルのしきい値電圧が上昇する。
【０１０７】
次に、ベリファイが行われ、しきい値電圧が３.７Ｖ以上のものについては、次にパルス印加時にはドレイン電圧の出力を行わない。一方、しきい値電圧が３.７Ｖ以下のメモリセルが存在する場合、制御信号ＷＬＶＳ[６：０]に１１００が加算され、０００１１００となり、トランジスタＨＳ12がオンし、Ｒef電圧が６.３Ｖとなる。その結果、ワード線に６.３Ｖが出力され、プログラム(書き込み)が行われる。
【０１０８】
次に、ベリファイを行い、メモリセルのしきい値電圧が３.７Ｖ以上かどうか確認し、しきい値電圧が３.７Ｖ以上のメモリセルはそこでプログラムパルス印加(ドレイン電圧印加)を終了し、もし、しきい値電圧が３.７Ｖ以下のメモリセルが存在する場合は、制御信号ＷＬＶＳ[６：０]にさらに１１００を加算し、トランジスタＨＳ24をオンし、以後同様にして制御信号ＷＬＶＳ[６：０]をインクリメントしてプログラムパルス印加を行い、このベリファイとプログラムパルス印加をしきい値電圧３.７Ｖ以下のメモリセルがなくなるまで繰り返す。
【０１０９】
さらに、データ“０１”、データ“００”(しきい値電圧を４.７Ｖ〜５Ｖ、５.７Ｖ以上)が存在すれば、次に、しきい値電圧を４.７Ｖ以上にする動作を行う。同様の手法でしきい値電圧を４.７Ｖ〜５Ｖ範囲にしきい値電圧を高める。さらに、データ“００”では、同様にしてしきい値電圧を５.７Ｖ以上とする。
【０１１０】
以下、メモリセルの特性にばらつきがある場合について説明する。
【０１１１】
〔(1)  ΔＶt＞ΔＶgの場合〕
例えば、ΔＶt＝１.２×ΔＶgの場合、しきい値電圧の変化幅ΔＶtを０.３Ｖとするためには、電圧増加幅ΔＶg＝０.２５Ｖとする必要がある。この場合、ウエハテスト等でこのチップのメモリセルの特性を測定し、電圧増加幅ΔＶgが０.２５Ｖであることを表す情報をパルス電圧ステップ幅記憶回路４２に記憶する。この場合、ＣＶＤ[３：０]＝１０１０が出力されるように記憶される。
【０１１２】
まず、制御信号ＷＬＶＳ[６：０]が０００００００となり、トランジスタＨＳ0がオンし、Ｒef電圧が６Ｖとなる。その結果、スタート電圧として６Ｖがセットされ、プログラム(書き込み)すべきメモリセルがつながるワード線に６Ｖが出力され、プログラム(書き込み)すべきメモリセルのドレインに５Ｖが出力されて、書き込みが行われ、しきい値電圧が上昇する。
【０１１３】
次に、ベリファイが行われ、しきい値電圧が３.７Ｖ以上のものについては、次にパルス印加時にはドレイン電圧の出力を行わない。一方、しきい値電圧が３.７Ｖ以下のメモリセルが存在する場合、制御信号ＷＬＶＳ[６：０]が０００１０１０となり、トランジスタＨＳ10がオンし、Ｒef電圧が６.２５Ｖとなる。その結果、ワード線電圧には６.２５Ｖが出力され、プログラム(書き込み)が行われる。
【０１１４】
次に、ベリファイを行い、メモリセルのしきい値電圧が３.７Ｖ以上かどうか確認し、しきい値電圧３.７Ｖ以上のメモリセルはそこでプログラムパルス印加(ドレイン電圧印加)を終了し、もし、しきい値電圧３.７Ｖ以下のメモリセルが存在する場合は、制御信号ＷＬＶＳ[６：０]にさらに１０１０を加算し、トランジスタＨＳ20をオンさせる。以後、同様にして制御信号ＷＬＶＳ[６：０]をインクリメントしてプログラムパルス印加を行い、このベリファイとプログラムパルス印加をしきい値電圧３.７Ｖ以下のメモリセルがなくなるまで繰り返す。
【０１１５】
さらに、データ“０１”、データ“００”(しきい値電圧を４.７Ｖ〜５Ｖ、５.７Ｖ以上)が存在すれば、次に、しきい値電圧を４.７Ｖ以上にする動作を行う。この場合、このように、同様の手法でしきい値電圧を４.７Ｖ〜５Ｖ範囲にしきい値電圧を高める。さらに、データ“００”では、同様にしてしきい値電圧を５.７Ｖ以上とする。
【０１１６】
〔(2)  ΔＶt＜ΔＶgの場合〕
例えば、ΔＶt＝０.８×ΔＶgの場合、しきい値電圧の変化幅ΔＶtを０.３Ｖとするためには、電圧増加幅ΔＶg＝０.３７５Ｖとする必要がある。この場合、ウエハテスト等でこのチップのメモリセルの特性を測定し、電圧増加幅ΔＶgが０.３７５Ｖであることを表す情報をパルス電圧ステップ幅記憶回路４２に記憶する。この場合、ＣＶＤ[３：０]＝１１１１が出力されるように記憶される。
【０１１７】
また、制御信号ＷＬＶＳ[６：０]が０００００００となり、トランジスタＨＳ0がオンし、Ｒef電圧が６Ｖとなる。その結果、スタート電圧として６Ｖがセットされ、プログラム(書き込み)すべきメモリセルがつながるワード線に６Ｖが出力され、プログラム(書き込み)すべきメモリセルのドレインに５Ｖが出力されて、書き込みが行われ、しきい値電圧が上昇する。
【０１１８】
次に、ベリファイが行われ、しきい値電圧が３.７Ｖ以上のものについては、次にパルス印加時にはドレイン電圧の出力を行わない。一方、しきい値電圧が３.７Ｖ以下のメモリセルが存在する場合、制御信号ＷＬＶＳ[６：０]をさらに１１１１を加算し、トランジスタＨＳ30をオンさせる。以後、同様にして制御信号ＷＬＶＳ[６：０]が０００１１１１となり、トランジスタＨＳ15がオンし、Ｒef電圧が６.３７５Ｖとなる。その結果、ワード線電圧には６.３７５Ｖが出力され、プログラム(書き込み)が行われる。
【０１１９】
次に、ベリファイを行い、メモリセルのしきい値電圧が３.７Ｖ以上かどうか確認し、しきい値電圧が３.７Ｖ以上のメモリセルはそこでプログラムパルス印加(ドレイン電圧印加)を終了し、もし、しきい値電圧が３.７Ｖ以下のメモリセルが存在する場合は、制御信号ＷＬＶＳ[６：０]をインクリメントしてプログラムパルス印加を行い、このベリファイとプログラムパルス印加をしきい値電圧が３.７Ｖ以下のメモリセルがなくなるまで行う。
【０１２０】
さらに、データ“０１”、データ“００”(しきい値電圧を４.７Ｖ〜５Ｖ、５.７Ｖ以上)が存在すれば、次に、しきい値電圧を４.７Ｖ以上にする動作を行う。このように、同様の手法でしきい値電圧を４.７Ｖ〜５Ｖ範囲に高める。さらに、データ“００”では、同様にしてしきい値電圧を５.７Ｖ以上とする。
【０１２１】
このように、上記第２実施形態の不揮発性半導体メモリ装置としての４値フラッシュメモリは、デバイス単位(チップ単位)で電圧増加幅ΔＶgを設定できることから、各デバイスの書き込み特性に合致した電圧増加幅ΔＶgを設定でき、これにより、特にデータ“０１”や“１０”の中間電圧値を記憶したメモリセルのしきい値電圧分布の広がりの少ないものにすることができるため、読み出し不良の起きない信頼性の高い多値書き込みができる不揮発性半導体メモリ装置を提供することができる。
【０１２２】
また、テスト結果を反映させた電圧増加幅ΔＶgが設定可能であるため、確実性を向上することができる。
【０１２３】
また、この発明の不揮発性半導体メモリ装置は、デバイス単位(チップ単位)で電圧増加幅ΔＶgを設定するので、書き込み方式がチャネルホットエレクトロン方式またはＦＮ(Fowler-Nordheim；ファウラーノーデハイム)トンネル現象を用いた方式等の書き込み方式にも適用でき、書き込み方式に限定されない。
【０１２４】
また、この発明の不揮発性半導体メモリ装置は、ＮＯＲ型,ＮＡＮＤ型およびＡＮＤ型等のメモリセルアレイ構造にも限定されないし、トリプルウェル構造等のメモリセルの構造にも限定されない。
【０１２５】
また、上記第１,第２実施形態では、書き込みはフローティングゲートへの電子の注入による書き込み方式で説明したが、フローティングゲートから電子を引き抜く方式で書き込む場合にも適用できる。
【０１２６】
また、上記第１,第２実施形態では、説明を簡単にするために、データ“１０”、“０１”、“００”全て、６Ｖからプログラム(書き込み)スタートする例で説明したが、書き込み時間を短縮するために、しきい値電圧の高いデータ“０１”は、より高い書き込み電圧をスタート電圧に設定し、さらにデータ“００”はさらに高い書き込み電圧をスタート電圧に設定して、データ“１０”,“０１”,“００”に応じてスタート電圧を異ならせてもよい。
【０１２７】
なお、上記第１,第２実施形態の説明で使用した制御信号ＷＬＶＳや選択制御信号ＣＤ,ＣＶＤ等の制御信号のビット数や電圧増加幅ΔＶgの設定可能幅等は、要求される電圧増加幅ΔＶgや書き込み特性のバラツキ幅に応じて適時設定すれば良い。
【０１２８】
また、上記第２実施形態では、電圧増加幅ΔＶgの設定幅により、使用しないと既に明らかなｎＭＯＳトランジスタＨＳは、配置しなくても良い(例えば、表２のトランジスタＨＳ1〜ＨＳ9等)。また、トランジスタＨＳ12,ＨＳ24,ＨＳ36,…のように各ステップの中心値から、特性バラツキに応じた電圧増加幅ΔＶgに対応するトランジスタ(例えば、トランジスタＨＳ12に対してトランジスタＨＳ10〜ＨＳ15)のみを配置しても良い。
【０１２９】
上記第１,第２実施形態では、ワード線電圧制御回路内で抵抗Ｒ1のシリーズ(直列)接続の接続ノードから電圧増加幅ΔＶgを選択しているが、複数の抵抗が直列に接続された抵抗分圧器による電圧発生は、最も簡単でレイアウト面積もとらない方法であり、デバイス(チップ)の製造条件により抵抗値がばらついても、抵抗比は安定しているため、安定した確実な電圧増加幅ΔＶgを得ることができる。
【０１３０】
上記第１,第２実施形態では、不揮発性半導体メモリ装置としての４値フラッシュメモリについて説明したが、４値フラッシュメモリに限らずフローティングゲートに３値以上の電荷状態が形成される不揮発性半導体メモリ装置にこの発明を適用できる。
【０１３１】
【発明の効果】
以上より明らかなように、この発明の不揮発性半導体メモリ装置によれば、デバイスのばらつきに影響されることなく、１パルスでしきい値電圧がシフトする量を所定値(約０.３Ｖ)とすることが可能となり、書き込み速度の劣化を防止すると共に、読み出しマージンを確保でき、信頼性の向上を図ることが可能となる。
【図面の簡単な説明】
【図１】  図１はこの発明の第１実施形態の不揮発性半導体メモリ装置としての４値フラッシュメモリのブロック図である。
【図２】  図２は上記フラッシュメモリのメモリセルアレイの１ブロック分の回路図である。
【図３】  図３は上記ワード線電圧制御回路の概要を示すブロック図である。
【図４】  図４は上記ワード線電圧制御回路のワード線レギュレータ回路のレギュレータ部を示す回路図である。
【図５】  図５は上記レギュレータ部の一部を示す回路図である。
【図６】  図６はこの発明の第２実施形態の不揮発性半導体メモリ装置としてのフラッシュメモリのワード線電圧制御回路の概要を示すブロック図である。
【図７】  図７は上記ワード線電圧制御回路のワード線レギュレータ回路の回路図である。
【図８】  図８は従来の不揮発性半導体メモリ装置としてのフラッシュメモリの断面構造を示す図である。
【図９】  図９は２値フラッシュメモリのしきい値電圧の状態を示す図である。
【図１０】  図１０(a)〜(d)は４値フラッシュメモリのフローティングゲートの電荷状態を示す図である。
【図１１】  図１１(a)〜(b)は２値フラッシュメモリのフローティングゲートの電荷状態を示す図である。
【図１２】  図１２は４値フラッシュメモリのしきい値電圧の状態を示す図である。
【図１３】  図１３は従来のプログラムアルゴリズムを説明するフローチャートである。
【図１４】  図１４は図１３に続くフローチャートである。
【図１５】  図１５はデータ“１０”書き込み時のワード線電圧の遷移図を示す図である。
【図１６】  図１６はプログラムパルスを１パルス印加した直後のしきい値電圧の分布を示す図である。
【図１７】  図１７はゲート電圧を変化させながらパルス印加を行った場合のしきい値電圧の分布を示す図である。
【図１８】  図１８はゲート電圧とプログラム後の下限しきい値電圧Ｖtmaxと上限しきい値電圧Ｖtmaxの関係を示す図である。
【符号の説明】
１０…フラッシュメモリ、
１１…メモリセルアレイ、
１２…ワード線電圧供給回路、
１３…共通ソース線電圧供給回路、
１４…ビット線電圧供給回路、
１５…制御回路、
２１,４１…プログラム／イレース制御回路、
２２,４３…ワード線レギュレータ回路、
２２a…００用レギュレータ部、
２２b…０１用レギュレータ部、
２２c…１０用レギュレータ部、
２３,４２…パルス電圧ステップ幅記憶回路、
３１,３６…ＮＯＲ回路、
３２〜３４,５１…インバータタイプのレベルシフト回路、
３５,５２…抵抗値選択ロジック回路、
３７,５３…増幅器、
３８…レベルシフト回路、
１００…メモリセル。
【図１】
0003908957.tif 000005
【図２】
0003908957.tif 000006
【図３】
0003908957.tif 000007
【図４】
0003908957.tif 000008
【図５】
0003908957.tif 000009
【図６】
0003908957.tif 000010
【図７】
0003908957.tif 000011
【図８】
0003908957.tif 000012
【図９】
0003908957.tif 000013
【図１０】
0003908957.tif 000014
【図１１】
0003908957.tif 000015
【図１２】
0003908957.tif 000016
【図１３】
0003908957.tif 000017
【図１４】
0003908957.tif 000018
【図１５】
0003908957.tif 000019
【図１６】
0003908957.tif 000020
【図１７】
0003908957.tif 000021
【図１８】
0003908957.tif 000022