(57)【特許請求の範囲】
【請求項１】
メモリセルと、
該メモリセルと同様に書き換えが行われるダイナミックリファレンスセルと、
該ダイナミックリファレンスセルの第１のセルと第２のセルとから平均リファレンス電流を求め、該平均リファレンス電流と読み出し電流とを比較することで読み出しデータを判定するデータ判定制御回路
を含み、該データ判定制御回路は第１のセルの閾値に応じて該第２のセルをプログラムすることを特徴とする不揮発性半導体記憶装置。
【請求項２】
複数のプログラムベリファイ用リファレンスセルを更に含み、該データ判定制御回路は該第１のセルの閾値に応じて該複数のプログラムベリファイ用リファレンスセルの１つを選択し、該選択された１つのプログラムベリファイ用リファレンスセルを用いて該第２のセルをプログラムすることを特徴とする請求項１記載の不揮発性半導体記憶装置。
【請求項３】
複数のイレーズベリファイ用リファレンスセルを更に含み、該データ判定制御回路は該複数のイレーズベリファイ用リファレンスセルを用いて該第１のセルの閾値を判定することを特徴とする請求項１記載の不揮発性半導体記憶装置。
【請求項４】
該メモリセルは窒化膜に電荷をトラップすることで１メモリセル当たり２ビットの情報を格納することを特徴とする請求項１記載の不揮発性半導体記憶装置。
【請求項５】
複数のイレーズベリファイ用リファレンスセル及び複数のプログラムベリファイ用リファレンスセルを更に含み、該データ判定制御回路は該複数のイレーズベリファイ用リファレンスセルを用いて該第１のセルの閾値を判定し、該閾値判定結果に基づいて該複数のプログラムベリファイ用リファレンスセルの１つを選択し、該選択された１つのプログラムベリファイ用リファレンスセルを用いて該第２のセルをプログラムすることを特徴とする請求項４記載の不揮発性半導体記憶装置。
【請求項６】
複数のプログラムベリファイ用リファレンスセルを更に含み、該データ判定制御回路は該第１のセルの閾値に応じて該複数のプログラムベリファイ用リファレンスセルの１つを選択し、該選択された１つのプログラムベリファイ用リファレンスセルを用いて該第２のセルのリファレンス用に選択される側とは反対側をプログラムすることを特徴とする請求項４記載の不揮発性半導体記憶装置。
【請求項７】
該データ判定制御回路は該複数のプログラムベリファイ用リファレンスセルを用いて該第１のセルの閾値を判定することを特徴とする請求項６記載の不揮発性半導体記憶装置。
【請求項８】
該データ判定制御回路は該第１のセルと該第２のセルとから平均リファレンス電流を求め、該平均リファレンス電流と読み出し用リファレンスセルの電流とを比較することで該第２のセルをプログラムすることを特徴とする請求項１記載の不揮発性半導体記憶装置。
【請求項９】
該メモリセルは窒化膜に電荷をトラップすることで１メモリセル当たり２ビットの情報を格納することを特徴とする請求項８記載の不揮発性半導体記憶装置。
【請求項１０】
該メモリセルは窒化膜に電荷をトラップすることで１メモリセル当たり２ビットの情報を格納し、該データ判定制御回路は該第１のセルのリファレンス用に選択される側と該第２のセルのリファレンス用に選択される側とは反対側とから平均リファレンス電流を求め、該平均リファレンス電流とプログラム用リファレンスセルの電流とを比較することで該第１或いは該第２のセルをプログラムすることを特徴とする請求項１記載の不揮発性半導体記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般に不揮発性半導体記憶装置に関し、詳しくはデータ読み出し時にリファレンスセルを用いる不揮発性半導体記憶装置に関する。
【従来の技術】
一般的に、フラッシュメモリ等の不揮発性半導体記憶装置においては、ある所定の閾値に設定されたリファレンスセルの電流をリファレンス電流として、読み出し動作時に読み出しメモリセルのドレイン電流とリファレンス電流との間で比較を行う。読み出したメモリセルのドレイン電流が、リファレンス電流よりも大きいか否かに応じて、データ“１”或いは“０”の判定を行う。
【０００２】
フラッシュメモリの書き換え回数が増えていくと、書き込み電荷が損失するチャージロスが発生するようになり、コア回路のメモリセルの閾値が小さくなる傾向にある。これに対して、書き換え動作が通常実行されないリファレンスセルについては、閾値は固定のままである。このため書き換え回数が増えていくと、リファレンスセルの固定の閾値では読み出しマージンを充分に確保できない状態が生じる。
【０００３】
読み出しマージンを充分に確保するために、読み出しリファレンスセルとしてデータ“１”と“０”の２種類のリファレンスセルを用意し、その平均電流をリファレンス電流とすると共に、メモリセル同様にこれらのリファレンスセルに対しても書き換え動作を実行する手法がある。即ち、プログラムされたデータ“０”のリファレンスセルＲｅｆ０とイレーズされたデータ“１”のリファレンスセルＲｅｆ１を用意し、２つのリファレンス電流の平均を読み出しリファレンス電流として用いる。
【０００４】
この手法の場合、Ｒｅｆ０はある所定の閾値に設定されたプログラムベリファイ用リファレンスセルＰｒＲｅｆを用いて、メモリセルと同様にプログラムされる。この際のプログラムベリファイにおいては、プログラムベリファイ用リファレンスセルＰｒＲｅｆと書き込み対象のセルとを比較し、書き込み対象のセルがリファレンスセルＰｒＲｅｆ以上の閾値に達した時点で書き込み終了となる。従って、このようにプログラムされるリファレンスセルＲｅｆ０の閾値は、下限が設定されているだけであり、実際にどの閾値に設定されているかは分からない。またリファレンスセルＲｅｆ１も同様に、上限が設定されているだけであり、実際にどの閾値にされているかは分からない。
【発明が解決しようとする課題】
このようにリファレンスセルの閾値は、その書き込み・消去特性に依存してある程度の広がりを有した確率分布を有する。
【０００５】
２つのリファレンスセルの平均である仮想的な読み出しリファレンスセルの閾値の分布は、読み出しマージンに大きな影響を与える。仮想的な読み出しリファレンスセルの閾値が高い場合、メモリセルのデータ“０”との閾値差が小さくなり、“０”側のマージンが小さくなる。逆に、仮想的な読み出しリファレンスセルの閾値が低い場合、メモリセルのデータ“１”との閾値差が小さくなり、“１”側のマージンが小さくなる。
【０００６】
このように、２つのリファレンスセルの平均電流をリファレンス電流とする場合、リファレンスセルの書き込み・消去の特性に依存してリファレンスセルの閾値にバラツキが存在するために、平均であるリファレンス電流にもバラツキが生じ、読み出しマージンが不安定なものになってしまう。
【０００７】
以上を鑑みて本発明は、２つのリファレンスセルの平均電流をリファレンス電流とする構成の不揮発性半導体記憶装置において、安定した読み出しマージンを提供することを目的とする。
【課題を解決するための手段】
本発明による不揮発性半導体記憶装置は、メモリセルと、該メモリセルと同様に書き換えが行われるダイナミックリファレンスセルと、該ダイナミックリファレンスセルの第１のセルと第２のセルとから平均リファレンス電流を求め、該平均リファレンス電流と読み出し電流とを比較することで読み出しデータを判定するデータ判定制御回路を含み、該データ判定制御回路は第１のセルの閾値に応じて該第２のセルをプログラムすることを特徴とする。
【０００８】
上記不揮発性半導体記憶装置においては、データ判定制御回路は第１のセルの閾値に応じて該第２のセルをプログラムする。従って、第１のセルの閾値が小さいときには該第２のセルの閾値が大きくなるように該第２のセルをプログラムすることが可能になり、２つのリファレンスセルの平均電流をリファレンス電流とする構成の不揮発性半導体記憶装置において、安定した読み出しマージンを提供することが出来る。
【発明の実施の形態】
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。
【０００９】
図１は、本発明を適用する不揮発性半導体記憶装置の構成を示す図である。
【００１０】
図１の不揮発性半導体記憶装置１０は、制御回路１１、入出力バッファ１２、アドレスラッチ１３、Ｘデコーダ１４、Ｙデコーダ１５、セルアレイ１６、データ判定制御回路１７、書き込み回路１８、消去回路１９、及びチップイネーブル／出力イネーブル回路２０を含む。
【００１１】
制御回路１１は、制御信号を外部から受け取り、制御信号に基づいてステートマシンとして動作して、不揮発性半導体記憶装置１０の各部の動作を制御する。
【００１２】
入出力バッファ１２は、外部からデータを受け取り、このデータをデータ判定制御回路１７に供給する。アドレスラッチ１３は、外部から供給されるアドレス信号を受け取りラッチすると共に、このアドレス信号をＸデコーダ１４及びＹデコーダ１５に供給する。Ｘデコーダ１４は、アドレスラッチ１３から供給されたアドレスをデコードして、セルアレイ１６に設けられたワード線をデコード結果に応じて活性化させる。Ｙデコーダ１５は、アドレスラッチ１３から供給されたアドレスをデコードして、デコードアドレス信号に基づいて、セルアレイ１６のビット線のデータを選択的に読み出してデータ判定制御回路１７に供給する。
【００１３】
セルアレイ１６は、メモリセルトランジスタの配列、ワード線、ビット線等を含み、各メモリセルトランジスタにデータを記憶する。データ読み出し時には、活性化ワード線で指定されるメモリセルからのデータが、ビット線に読み出される。プログラム或いはイレーズ時には、ワード線及びビット線をそれぞれの動作に応じた適当な電位に設定することで、メモリセルに対する電荷注入或いは電荷抜き取りの動作を実行する。
【００１４】
データ判定制御回路１７は、Ｙデコーダ１５及びＸデコーダ１４によって指定されセルアレイ１６から供給されるデータの電流を、２つのリファレンスセルの電流の平均であるリファレンス電流と比較することで、データが０であるか１であるかの判定を行う。判定結果は読み出しデータとして、入出力バッファ１２に供給される。またプログラム動作及びイレーズ動作に伴うベリファイ動作は、Ｙデコーダ１５及びＸデコーダ１４によって指定されセルアレイ１６から供給されたデータの電流を、プログラムベリファイ用及びイレーズベリファイ用リファレンスセルの示すリファレンス電流と比較することで行われる。
【００１５】
本発明においては、読み出しデータ判定用のリファレンスセルはセルアレイ１６内部に設けられ、メモリセルと同様に書き換え動作の対象であるダイナミックリファレンスセルとして提供される。またプログラムベリファイ用及びイレーズベリファイ用リファレンスセルはセルアレイ１６外部例えばデータ判定制御回路１７内に設けられ、固定の閾値を有するリファレンスセルである。
【００１６】
書き込み回路１８は、制御回路１１の制御の下に、データ判定制御回路１７に入出力バッファ１２から供給される書き込みデータに基づいて、アドレスラッチ１３、Ｘデコーダ１４、及びＹデコーダ１５を駆動して、セルアレイ１６に対するデータ書き込み動作を実行する。消去回路１９は、イレーズ動作時にワード線及びビット線に印加する電位を生成して、セルアレイ１６に対するセクタ単位の消去動作を実行する。
【００１７】
チップイネーブル／出力イネーブル回路２０は、装置外部から制御信号としてチップイネーブル信号／ＣＥ及びアウトプットイネーブル信号／ＯＥを受け取り、入出力バッファ１２及びセルアレイ１６の動作／非動作を制御する。
【００１８】
図２は、データ読み出し動作に関連する回路構成を示す図である。
【００１９】
図２の回路は、データラッチ３１、センスアンプ（Ｓ／Ａ）３２、コア用カスコード回路３３、リファレンスセルＡ用カスコード回路３４、及びリファレンスセルＢ用カスコード回路３５を含み、これらの回路によりセルアレイ１６から読み出されるデータのレベルを判定する。これらの回路は、図１のデータ判定制御回路１７に相当する。
【００２０】
セルアレイ１６は、メモリセルを格納するコアセル領域１６Ａと、ダイナミックリファレンスセルを格納するダイナミックリファレンスセル領域１６Ｂとを含む。コアセル領域１６Ａから読み出されるデータは、コア用カスコード回路３３により電流信号から電圧信号に変換されて、センスアンプ３２に供給される。またダイナミックリファレンスセル領域１６ＢのリファレンスセルＡから読み出されるリファレンスレベルは、リファレンスセルＡ用カスコード回路３４により電流信号から電圧信号に変換される。更にダイナミックリファレンスセル領域１６ＢのリファレンスセルＢから読み出されるリファレンスレベルは、リファレンスセルＢ用カスコード回路３５により電流信号から電圧信号に変換される。リファレンスセルＡ用カスコード回路３４の出力とリファレンスセルＢ用カスコード回路３５の出力同士は結合され平均化され、センスアンプ３２に供給される。センスアンプ３２では、データの電圧レベルとリファレンスの電圧レベルとを比較することで、データが“１”或いは“０”であるかついて判定を行う。判定されたデータは、データラッチ３１に供給される。
【００２１】
図３は、本発明の第１の実施例によるダイナミックリファレンスセル設定の方法を示すフローチャートである。また図４は、図３のフローチャートによるダイナミックリファレンスセル設定を説明するための図である。
【００２２】
第１の実施例では、複数のプログラムベリファイ用リファレンスセル及び複数のイレーズベリファイ用リファレンスセルを用いることで、読み出し用のダイナミックリファレンスセルの閾値を設定する。図４に示されるように、第１の実施例で用いる複数のプログラムベリファイ用リファレンスセルＰＧＶ１乃至ＰＧＶ３は、その閾値にＰＧＶ１＜ＰＧＶ２＜ＰＧＶ３の関係があり、また複数のイレーズベリファイ用リファレンスセルＥＲＶ１乃至ＥＲＶ３は、その閾値にＥＲＶ１＞ＥＲＶ２＞ＥＲＶ３の関係がある。ここでイレーズベリファイ用リファレンスセルＥＲＶ１がコアセル領域のメモリセルをイレーズする際のベリファイ用リファレンスであり、プログラムベリファイ用リファレンスセルＰＧＶ２がコアセル領域のメモリセルをプログラムする際のベリファイ用リファレンスである。
【００２３】
最初に、イレーズベリファイ用リファレンスセルＥＲＶ１を用いて、コアセル領域のメモリセルと同様に、ダイナミックリファレンスセルをイレーズする。
【００２４】
図３のステップＳＴ１で、イレーズベリファイ用リファレンスセルＥＲＶ２を使用リファレンスセルとして設定する。ステップＳＴ２で、設定されたイレーズベリファイ用リファレンスセルＥＲＶ２の閾値で、“１”側のダイナミックリファレンスセルをベリファイする。即ち、データ判定する。
【００２５】
データが“１”であると判定される場合には、ステップＳＴ３で、イレーズベリファイ用リファレンスセルＥＲＶ３を使用リファレンスセルとして設定する。ステップＳＴ４で、設定されたイレーズベリファイ用リファレンスセルＥＲＶ３の閾値で、“１”側のダイナミックリファレンスセルをベリファイする。即ち、データ判定する。データが“１”であると判定される場合には、“１”側のダイナミックリファレンスセルの閾値が、最も小さいＥＲＶ３の閾値より小さいことになる。従ってこの場合、ステップＳＴ５で、最も大きい閾値を有するプログラムベリファイ用リファレンスセルＰＧＶ３を使用リファレンスセルとして設定する。
【００２６】
またステップＳＴ２でデータが“０”であると判定される場合には、“１”側のダイナミックリファレンスセルの閾値が、最も大きいＥＲＶ１の閾値と中間のＥＲＶ２の閾値との間にあることになる。従ってこの場合、ステップＳＴ６で、最も小さい閾値を有するプログラムベリファイ用リファレンスセルＰＧＶ１を使用リファレンスセルとして設定する。
【００２７】
またステップＳＴ４でデータが“０”であると判定される場合には、“１”側のダイナミックリファレンスセルの閾値が、中間のＥＲＶ２の閾値と最も小さいＥＲＶ３の閾値との間にあることになる。従ってこの場合、ステップＳＴ７で、中間の閾値を有するプログラムベリファイ用リファレンスセルＰＧＶ２を使用リファレンスセルとして設定する。
【００２８】
最後にステップＳＴ８で、設定されたプログラムベリファイ用リファレンスセルを使用して、“０”側のダイナミックリファレンスセルをプログラムする。
【００２９】
このように上記実施例においては、複数のイレーズベリファイ用リファレンスセルを比較対象として用いることで、イレーズされた“１”側のダイナミックリファレンスセルの閾値レベルを判断し、求められた閾値のレベルに応じて“０”側のダイナミックリファレンスセルをプログラムする。従って、“１”側のダイナミックリファレンスセルの閾値が小さいときには、“０”側のダイナミックリファレンスセルの閾値を大きくすることで、平均リファレンス電流が所定の値に安定するように、ダイナミックリファレンスセルを設定することが可能になる。
【００３０】
図５は、第１の実施例のリファレンスセル設定動作を実行する回路構成を示す図である。
【００３１】
図５の回路は、センスアンプ４１、イレーズベリファイ用リファレンスセル４２−１乃至４２−３、リファレンスセル選択回路４３、リファレンスセル選択回路４４、プログラムベリファイ用リファレンスセル４５−１乃至４５−３、及びセンスアンプ４６を含み、ダイナミックリファレンスセル領域１６Ｂに対するリファレンスセルの閾値設定動作を実行する。
【００３２】
センスアンプ４１は、ダイナミックリファレンスセル領域１６Ｂから読み出される“１”側のダイナミックリファレンスセルの電流を、リファレンスセル選択回路４３が選択するイレーズベリファイ用リファレンスセル４２−１乃至４２−３の１つからのリファレンス電流と比較する。この比較動作は、図３のフローチャートのステップＳＴ１からステップＳＴ４に相当する。
【００３３】
センスアンプ４１からの判定結果と現在の選択状態とに応じて、リファレンスセル選択回路４３は、リファレンスセル選択回路４４に選択すべきプログラムベリファイ用リファレンスセルを通知する。これに応じて、リファレンスセル選択回路４４はプログラムベリファイ用リファレンスセル４５−１乃至４５−３の１つを選択する。この選択動作は、図３のフローチャートのステップＳＴ５からステップＳＴ７に相当する。
【００３４】
センスアンプ４６は、選択されたプログラムベリファイ用リファレンスセルからのリファレンス電流に基づいて、ダイナミックリファレンスセル領域１６Ｂから読み出した“０”側のダイナミックリファレンスセルをベリファイする。このベリファイ結果に基づいて、書き込み制御回路４７がダイナミックリファレンスセル領域１６Ｂの“０”側のダイナミックリファレンスセルをプログラムする。
【００３５】
このようにして、複数のイレーズベリファイ用リファレンスセルを比較対象として用いることで、イレーズされた“１”側のダイナミックリファレンスセルの閾値レベルを判断する。更に、求められた閾値のレベルに応じて、複数のプログラムベリファイ用リファレンスセルの１つを選択し、選択したプログラム用の閾値を用いて、“０”側のダイナミックリファレンスセルをプログラムする。
【００３６】
以下に、本発明の更なる実施例を説明する。上記の第１の実施例は、ポリシリコンをフローティングゲートとするような通常のフラッシュメモリを対象とするものである。これに対し、以下に記載の実施例は、窒化膜等からなるトラップ層に電荷を蓄えることで１つのメモリセル当たり２ビットの情報を格納可能なタイプのフラッシュメモリを対象とする。
【００３７】
このタイプのフラッシュメモリでは、コントロールゲートと基板との間に酸化膜−窒化膜−酸化膜で構成される膜が設けられ、窒化膜に電荷をトラップさせて閾値を変化させることで、データの“０”と“１”とを区別する。この場合、窒化膜等のトラップ層は絶縁膜であるので電荷は移動しない。従って、トラップ層の両端に独立に電荷を蓄えることにより１セル当たり２ビットの情報を格納することが実現可能となる。２ビットの情報は、読み出し動作においてドレインとソースとを入れ換えることで、それぞれ別々に読み出すことが出来る。
【００３８】
メモリセルへの書き込みは、チャネルホットエレクトロンによる電子注入により行われる。例えばゲート電極に約９Ｖ、ドレインに約５Ｖ、ソース及び基盤に０Ｖを印加し、チャネルで発生するホットエレクトロンを窒化膜にトラップさせる。このときホットエレクトロンは、窒化膜内でドレインに近い側に注入される。消去動作は、ホットホールインジェクションによるホール注入により行なわれる。即ち、例えばゲート電極に約−６Ｖ、ドレインに約６Ｖを印加することで、ドレインから基板に流れるバンド間トンネル電流により発生するホールを窒化膜に注入し、電荷を中和させて消去する。１つのセル当たり２ビット分の電荷が注入されている場合には、ソースにもドレインと同一の電圧を印加することで、消去動作を実行することが出来る。読み出し動作は、書き込み時とドレインを逆にするリバースリードにより実行される。即ち、書き込み時に約５Ｖを印加した拡散層とは逆側の拡散層をドレインとし、ゲート電極に約５Ｖ、ドレインに１．５Ｖ、ソースと基盤に０Ｖを印加する。窒化膜中のソースに近い側に電荷が蓄えられている場合、トラップ電荷によりチャネルが形成されずに電流が流れない。これによりデータ“０”を読み出すことが可能となる。
【００３９】
このように１セルに２ビット格納可能なフラッシュメモリでは、２ビットのうちの１ビットを読み出す場合、読み出し選択した側でないビットの状態に応じて閾値が変化する。即ち、読み出し選択した側と反対側がプログラム状態である場合には、このプログラムされたトラップ電荷の影響で閾値が比較的大きくなり、また読み出し選択した側と反対側が消去状態である場合には、この消去状態によりトラップ電荷が存在せず閾値が比較的小さくなる。
【００４０】
従って、このようなフラッシュメモリにおいては、読み出し選択した側と反対側の状態を考慮して閾値設定を実行する必要がある。リファレンス用に読み出し選択した側とは反対側の状態に応じて、以下の４つの場合が考えられる。
１．“１”側のダイナミックリファレンスセルにおいて反対側が電荷を蓄えていないと共に、“０”側のダイナミックリファレンスセルにおいて反対側が電荷を蓄えていない状態
２．“１”側のダイナミックリファレンスセルにおいて反対側が電荷を蓄えていると共に、“０”側のダイナミックリファレンスセルにおいて反対側が電荷を蓄えていない状態
３．“１”側のダイナミックリファレンスセルにおいて反対側が電荷を蓄えていないと共に、“０”側のダイナミックリファレンスセルにおいて反対側が電荷を蓄えている状態
４．“１”側のダイナミックリファレンスセルにおいて反対側が電荷を蓄えていると共に、“０”側のダイナミックリファレンスセルにおいて反対側が電荷を蓄えている状態
ここで上記の第１の場合は、図３と同一のフローチャートで閾値設定を実行することが出来る。
【００４１】
図６は、本発明の第２の実施例によるダイナミックリファレンスセル設定の方法を示すフローチャートである。この第２の実施例は、上記の第２の場合、即ち“１”側のダイナミックリファレンスセルにおいて反対側が電荷を蓄えていると共に“０”側のダイナミックリファレンスセルにおいて反対側が電荷を蓄えていない状態に対応する。
【００４２】
まず初期状態としては、ダイナミックリファレンスセルの各々は、両方のビットがイレーズされた“１”の状態に設定されている。
【００４３】
図６のステップＳＴ１で、プログラムベリファイ用リファレンスセルＰＧＶ２を使用リファレンスセルとして設定する。ステップＳＴ２で、設定されたプログラムベリファイ用リファレンスセルを使用して、“１”側のダイナミックリファレンスセルにおいてリファレンス用に選択するのとは反対側をプログラムする。
【００４４】
以下のステップＳＴ３乃至ステップＳＴ１０は、図３のフローチャートのステップＳＴ１乃至ステップＳＴ８と基本的に同一である。この手順によって、“１”側のダイナミックリファレンスセルの選択側に対する閾値を判定して、“０”側のダイナミックリファレンスセルの選択側をプログラムする。
【００４５】
このように本発明の第２の実施例においては、“１”側のダイナミックリファレンスセルにおいて反対側をプログラムして電荷を蓄えておく。この状態で、“１” 側のダイナミックリファレンスセルの選択側に対する閾値を判定して、“０”側のダイナミックリファレンスセルの選択側をプログラムする。
【００４６】
図７は、本発明の第３の実施例によるダイナミックリファレンスセル設定の方法を示すフローチャートである。この第３の実施例は、上記の第２の場合、即ち“１”側のダイナミックリファレンスセルにおいて反対側が電荷を蓄えていると共に“０”側のダイナミックリファレンスセルにおいて反対側が電荷を蓄えていない状態に対応する。
【００４７】
まず初期状態としては、ダイナミックリファレンスセルの各々は、両方のビットがイレーズされた“１”の状態に設定されている。
【００４８】
図７のステップＳＴ１で、プログラムベリファイ用リファレンスセルＰＧＶ２を使用リファレンスセルとして設定する。ステップＳＴ２で、設定されたプログラムベリファイ用リファレンスセルを使用して、“０”側のダイナミックリファレンスセルにおいてリファレンス用に選択する側をプログラムする。
【００４９】
ステップＳＴ３で、プログラムベリファイ用リファレンスセルＰＧＶ３を使用リファレンスセルとして設定する。ステップＳＴ４で、設定されたプログラムベリファイ用リファレンスセルＰＧＶ３の閾値で、“０”側のダイナミックリファレンスセルの選択側をベリファイする。即ち、データ判定する。
【００５０】
データが“１”であると判定される場合には、ステップＳＴ５で、プログラムベリファイ用リファレンスセルＰＧＶ２を使用リファレンスセルとして設定する。ステップＳＴ６で、設定されたプログラムベリファイ用リファレンスセルＰＧＶ２の閾値で、“０”側のダイナミックリファレンスセルの選択側をベリファイする。即ち、データ判定する。データが“１”であると判定される場合には、ステップＳＴ７で、最も大きい閾値を有するプログラムベリファイ用リファレンスセルＰＧＶ３を使用リファレンスセルとして設定する。
【００５１】
またステップＳＴ４でデータが“０”であると判定される場合には、ステップＳＴ８で、最も小さい閾値を有するプログラムベリファイ用リファレンスセルＰＧＶ１を使用リファレンスセルとして設定する。
【００５２】
またステップＳＴ６でデータが“０”であると判定される場合には、ステップＳＴ９で、中間の閾値を有するプログラムベリファイ用リファレンスセルＰＧＶ２を使用リファレンスセルとして設定する。
【００５３】
最後にステップＳＴ１０で、設定されたプログラムベリファイ用リファレンスセルを使用して、“１”側のダイナミックリファレンスセルのリファレンス用読み出し側とは反対側をプログラムする。
【００５４】
このように上記実施例においては、複数のプログラムベリファイ用リファレンスセルを比較対象として用いることで、“０”側のダイナミックリファレンスセルの閾値レベルを判断し、求められた閾値のレベルに応じて“１”側のダイナミックリファレンスセルの選択側とは反対側をプログラムする。従って、“０”側のダイナミックリファレンスセルの閾値が小さいとき（例えばＰＧＶ１とＰＧＶ２との間の場合）には、“１”側のダイナミックリファレンスセルの選択側とは反対側を強く（例えばＰＧＶ３を用いて）プログラムすることで、“１”側のダイナミックリファレンスセルの選択側の閾値を大きくすることが出来る。これにより、平均リファレンス電流が所定の値に安定するように、ダイナミックリファレンスセルを設定することが可能になる。
【００５５】
図８は、本発明の第４の実施例によるダイナミックリファレンスセル設定の方法を示すフローチャートである。この第４の実施例は、前述の場合分けの第３の場合、即ち“１”側のダイナミックリファレンスセルにおいて反対側が電荷を蓄えていないと共に、“０”側のダイナミックリファレンスセルにおいて反対側が電荷を蓄えている状態の場合に相当する。
【００５６】
まず初期状態としては、ダイナミックリファレンスセルの各々は、両方のビットがイレーズされた“１”の状態に設定されている。
【００５７】
図８のステップＳＴ１で、プログラムベリファイ用リファレンスセルＰＧＶ１を使用リファレンスセルとして設定する。ステップＳＴ２で、設定されたプログラムベリファイ用リファレンスセルを使用して、“０”側のダイナミックリファレンスセルにおいてリファレンス用に選択するのとは反対側をプログラムする。
【００５８】
以下のステップＳＴ３乃至ステップＳＴ１０は、図３のフローチャートのステップＳＴ１乃至ステップＳＴ８と基本的に同一である。この手順によって、“１”側のダイナミックリファレンスセルの選択側に対する閾値を判定して、“０”側のダイナミックリファレンスセルの選択側をプログラムする。
【００５９】
このように本発明の第４の実施例においては、“０”側のダイナミックリファレンスセルにおいて反対側をプログラムして電荷を蓄えておく。この状態で、“１” 側のダイナミックリファレンスセルの選択側に対する閾値を判定して、“０”側のダイナミックリファレンスセルの選択側をプログラムする。
【００６０】
図９は、本発明の第５の実施例によるダイナミックリファレンスセル設定の方法を示すフローチャートである。この第５の実施例は、前述の場合分けの第４の場合、即ち“１”側のダイナミックリファレンスセルにおいて反対側が電荷を蓄えていると共に、“０”側のダイナミックリファレンスセルにおいて反対側が電荷を蓄えている状態の場合に相当する。
【００６１】
まず初期状態としては、ダイナミックリファレンスセルの各々は、両方のビットがイレーズされた“１”の状態に設定されている。
【００６２】
図８のステップＳＴ１で、プログラムベリファイ用リファレンスセルＰＧＶ２を使用リファレンスセルとして設定する。ステップＳＴ２で、設定されたプログラムベリファイ用リファレンスセルを使用して、“１”側のダイナミックリファレンスセルにおいてリファレンス用に選択するのとは反対側をプログラムする。ステップＳＴ３で、更に、“０”側のダイナミックリファレンスセルにおいてリファレンス用に選択するのとは反対側をプログラムする。
【００６３】
以下のステップＳＴ４乃至ステップＳＴ１１は、図３のフローチャートのステップＳＴ１乃至ステップＳＴ８と基本的に同一である。この手順によって、“１”側のダイナミックリファレンスセルの選択側に対する閾値を判定して、“０”側のダイナミックリファレンスセルの選択側をプログラムする。
【００６４】
このように本発明の第５の実施例においては、“０”側及び“１”側のダイナミックリファレンスセルにおいて反対側をプログラムして電荷を蓄えておく。この状態で、“１” 側のダイナミックリファレンスセルの選択側に対する閾値を判定して、“０”側のダイナミックリファレンスセルの選択側をプログラムする。
【００６５】
第２乃至第５の実施例は、上記説明から明らかなように、基本的に第１の実施例と同様な処理手順であり、図５の回路構成と同様な回路構成或いは簡単な変形を施した回路構成によって実現することが出来る。
【００６６】
図１０は、本発明の第６の実施例によるダイナミックリファレンスセル設定の方法を示すフローチャートである。この実施例は、窒化膜を用いた１セルに２ビット格納可能なフラッシュメモリを対象とし、前述の実施例とは異なり単一のリファレンスセルで閾値を設定可能な方法に関する。
【００６７】
まず初期状態としては、ダイナミックリファレンスセルの各々は、両方のビットがイレーズされた“１”の状態に設定されている。
【００６８】
ステップＳＴ１で、プログラムベリファイ用リファレンスセルＰＧＶを使用リファレンスセルとして設定する。ステップＳＴ２で、設定されたプログラムベリファイ用リファレンスセルを使用して、“０”側のダイナミックリファレンスセルＡにおいてリファレンス用に選択する側をベリファイする。この結果に基づいて、ステップＳＴ５で、“０”側のダイナミックリファレンスセルＡの選択側をプログラムする。これにより“０”側のダイナミックリファレンスセルＡに格納されるデータは“０１”となる。第１のビットは選択側のデータを示し、第２のビットは反対側のデータを示す。
【００６９】
ステップＳＴ３で、読み出し用リファレンスセルＲＥＡＤを使用リファレンスセルとして設定する。ステップＳＴ４で、設定された読み出し用リファレンスセルを使用して、“０”側のダイナミックリファレンスセルＡの選択側と“１”側のダイナミックリファレンスセルＢの選択側との平均閾値（平均電流）をベリファイする。この結果に基づいて、ステップＳＴ６で、“１”側のダイナミックリファレンスセルＢの選択側とは反対側をプログラムする。これにより“１”側のダイナミックリファレンスセルＢに格納されるデータは“１０”となる。
【００７０】
このように本実施例では、“０”側のダイナミックリファレンスセルＡの選択側と“１”側のダイナミックリファレンスセルＢの選択側との平均閾値が、読み出し閾値近傍に来るように、ダイナミックリファレンスセルに対する閾値設定を行う。従って、平均リファレンス電流が所定の値に安定するように、ダイナミックリファレンスセルを設定することが可能になる。
【００７１】
上記説明では、まず“０”側のダイナミックリファレンスセルＡの選択側をプログラムし、その後“１”側のダイナミックリファレンスセルＢの選択側とは反対側をプログラムした。これとは逆に、“１”側を最初にプログラムし、その後“０”側をプログラムするように構成しても同様の効果が得られる。また１セルに１ビットであるフラッシュメモリにおいても同様に、“０”側のダイナミックリファレンスセルと“１”側のダイナミックリファレンスセルとの平均閾値が、読み出し閾値近傍に来るように、“０”側のダイナミックリファレンスセルに対する閾値設定を行うが出来る。
【００７２】
図１１は、第６の実施例のリファレンスセル設定動作を実行する回路構成を示す図である。
【００７３】
図１１の回路は、センスアンプ５１及び５２、プログラムベリファイ用リファレンスセル（ＰＧＶ）５３、読み出し用リファレンスセル（ＲＥＡＤ）５４、及び書き込み制御回路５５を含む。センスアンプ５１は、ダイナミックリファレンスセル領域１６Ｂから“０”側のダイナミックリファレンスセルＡを読み出し、プログラムベリファイ用リファレンスセル５３を用いてベリファイする。この結果に基づいて、書き込み制御回路５５が“０”側のダイナミックリファレンスセルＡをプログラムする。この動作が図１０のフローチャートのステップＳＴ１、ＳＴ２、及びＳＴ５に対応する。
【００７４】
その後、センスアンプ５２は、ダイナミックリファレンスセル領域１６Ｂから“１”側及び“０”側のダイナミックリファレンスセルＡ及びＢを読み出し、それらの平均電流を読み出し用リファレンスセル５４に基づいてベリファイする。この結果に基づいて、書き込み制御回路５５が“１”側のダイナミックリファレンスセルＢにおいて選択側とは反対側をプログラムする。この動作が図１０のフローチャートのステップＳＴ３、ＳＴ４、及びＳＴ６に対応する。
【００７５】
このように図１１の回路構成によって、平均リファレンス電流が所定の値に安定するように、ダイナミックリファレンスセルを設定することが可能になる。
【００７６】
図１２は、本発明の第７の実施例によるダイナミックリファレンスセル設定の方法を示すフローチャートである。この実施例は、窒化膜を用いた１セルに２ビット格納可能なフラッシュメモリを対象とし、単一のリファレンスセルで閾値を設定可能な方法に関する。
【００７７】
まず初期状態としては、ダイナミックリファレンスセルの各々は、両方のビットがイレーズされた“１”の状態に設定されている。
【００７８】
ステップＳＴ１で、プログラムベリファイ用リファレンスセルＰＧＶ及び読み出し用リファレンスセルＲＥＡＤを使用リファレンスセルとして設定する。ステップＳＴ２で、設定されたプログラムベリファイ用リファレンスセルを使用して、“０”側のダイナミックリファレンスセルＡにおいてリファレンス用に選択する側をベリファイする。この結果に基づいて、ステップＳＴ５で、“０”側のダイナミックリファレンスセルＡの選択側をプログラムする。これにより“０”側のダイナミックリファレンスセルＡに格納されるデータは“０１”となる。第１のビットは選択側のデータを示し、第２のビットは反対側のデータを示す。
【００７９】
ステップＳＴ３で、ステップＳＴ１で設定されている読み出し用リファレンスセルを使用して、“０”側のダイナミックリファレンスセルＡの選択側と“１”側のダイナミックリファレンスセルＢの選択側とは反対側の平均閾値（平均電流）をベリファイする。この結果に基づいて、ステップＳＴ６で、“１”側のダイナミックリファレンスセルＢの選択側とは反対側をプログラムする。これにより“１”側のダイナミックリファレンスセルＢに格納されるデータは“１０”となる。
【００８０】
このように本実施例では、“０”側のダイナミックリファレンスセルＡの選択側と“１”側のダイナミックリファレンスセルＢの選択側とは反対側の平均閾値が、プログラム用リファレンスセルの閾値近傍に来るように、ダイナミックリファレンスセルに対する閾値設定を行う。従って、“０”側のダイナミックリファレンスセルＡの選択側の閾値が大きいほど、“１”側のダイナミックリファレンスセルＢの選択側とは反対側の電荷注入量は小さくなり、“１”側のダイナミックリファレンスセルＢの選択側の閾値は小さくなる。これにより、平均リファレンス電流が所定の値に安定するように、ダイナミックリファレンスセルを設定することが可能になる。
【００８１】
上記説明では、まず“０”側のダイナミックリファレンスセルＡの選択側をプログラムし、その後“１”側のダイナミックリファレンスセルＢの選択側とは反対側をプログラムした。これとは逆に、“１”側を最初にプログラムし、その後“０”側をプログラムするように構成しても同様の効果が得られる。
【００８２】
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
【発明の効果】
上記不揮発性半導体記憶装置においては、データ判定制御回路は第１のセルの閾値に応じて該第２のセルをプログラムする。従って、第１のセルの閾値が小さいときには該第２のセルの閾値が大きくなるように該第２のセルをプログラムすることが可能になり、２つのリファレンスセルの平均電流をリファレンス電流とする構成の不揮発性半導体記憶装置において、安定した読み出しマージンを提供することが出来る。
【図面の簡単な説明】
【図１】本発明を適用する不揮発性半導体記憶装置の構成を示す図である。
【図２】データ読み出し動作に関連する回路構成を示す図である。
【図３】本発明の第１の実施例によるダイナミックリファレンスセル設定の方法を示すフローチャートである。
【図４】図３のフローチャートによるダイナミックリファレンスセル設定を説明するための図である。
【図５】第１の実施例のリファレンスセル設定動作を実行する回路構成を示す図である。
【図６】本発明の第２の実施例によるダイナミックリファレンスセル設定の方法を示すフローチャートである。
【図７】本発明の第３の実施例によるダイナミックリファレンスセル設定の方法を示すフローチャートである。
【図８】本発明の第４の実施例によるダイナミックリファレンスセル設定の方法を示すフローチャートである。
【図９】本発明の第５の実施例によるダイナミックリファレンスセル設定の方法を示すフローチャートである。
【図１０】本発明の第６の実施例によるダイナミックリファレンスセル設定の方法を示すフローチャートである。
【図１１】第６の実施例のリファレンスセル設定動作を実行する回路構成を示す図である。
【図１２】本発明の第７の実施例によるダイナミックリファレンスセル設定の方法を示すフローチャートである。
【符号の説明】
１０  不揮発性半導体記憶装置
１１  制御回路
１２  入出力バッファ
１３  アドレスラッチ
１４  Ｘデコーダ
１５  Ｙデコーダ
１６  セルアレイ
１７  データ判定制御回路
１８  書き込み回路
１９  消去回路
２０  チップイネーブル／出力イネーブル回路
【図１】
0003796457.tif 000002
【図２】
0003796457.tif 000003
【図３】
0003796457.tif 000004
【図４】
0003796457.tif 000005
【図５】
0003796457.tif 000006
【図６】
0003796457.tif 000007
【図７】
0003796457.tif 000008
【図８】
0003796457.tif 000009
【図９】
0003796457.tif 000010
【図１０】
0003796457.tif 000011
【図１１】
0003796457.tif 000012
【図１２】
0003796457.tif 000013