(57)【要約】不揮発性半導体記憶装置は、１メモリセル当たり２ビットの情報を格納する複数の不揮発性メモリセルと、不揮発性メモリセルに対して新規データ書き込みと同時に既存データのリフレッシュを行うプログラム動作において、新規データ書き込み対象ビットを第１の閾値によりベリファイし、既存データのリフレッシュ対象ビットを第２の閾値によりベリファイする制御回路を含み、第１の閾値より第２の閾値が低いことを特徴とする。
2004097839.tif 000002
【特許請求の範囲】
【請求項１】
１メモリセル当たり２ビットの情報を格納する複数の不揮発性メモリセルと、
該不揮発性メモリセルに対して新規データ書き込みと同時に既存データのリフレッシュを行うプログラム動作において、該新規データ書き込み対象ビットを第１の閾値によりベリファイし、該既存データのリフレッシュ対象ビットを第２の閾値によりベリファイする制御回路
を含み、該第１の閾値より該第２の閾値が低いことを特徴とする不揮発性半導体記憶装置。
【請求項２】
読み出しデータ判定用の２つのリファレンスセルを更に含み、該２つのリファレンスセルの閾値の平均に基づいて、該不揮発性メモリセルからの読み出しデータを判定することを特徴とする請求項１記載の不揮発性半導体記憶装置。
【請求項３】
該第１の閾値を設定する第１のリファレンスセルと、
該第２の閾値を設定する第２のリファレンスセル
を更に含むことを特徴とする請求項１記載の不揮発性半導体記憶装置。
【請求項４】
該不揮発性メモリセルから供給されるデータを判定するセンスアンプと、
該新規データ書き込み対象ビットを該第１の閾値によりベリファイする際に該第１のリファレンスセルを選択して該センスアンプに接続し、該既存データのリフレッシュ対象ビットを該第２の閾値によりベリファイする際に該第２のリファレンスセルを選択して該センスアンプに接続する選択回路
を更に含むことを特徴とする請求項３記載の不揮発性半導体記憶装置。
【請求項５】
該新規データと該既存データとをラッチする複数のデータラッチを更に含み、該データラッチの各々は、
該新規データ書き込み対象ビットを該第１の閾値によりベリファイする際に対応メモリセルについての該センスアンプのセンス結果に応じてラッチデータをリセットする第１の回路と、
該既存データのリフレッシュ対象ビットを該第２の閾値によりベリファイする際に対応メモリセルについての該センスアンプのセンス結果に応じてラッチデータをリセットする第２の回路
を含み、該新規データをラッチデータとして格納しているか或いは該既存データをラッチデータとして格納しているかに応じて該第１の回路或いは該第２の回路の何れかを駆動させることを特徴とする請求項４記載の不揮発性半導体記憶装置。
【請求項６】
該新規データと該既存データとをラッチする複数のデータラッチを更に含み、該データラッチの各々は、
該新規データをラッチデータとして格納している場合に対応メモリセルのビットを該第１の閾値によりベリファイした結果に応じて該ラッチデータをリセットする第１の回路と、
該既存データをラッチデータとして格納している場合に対応メモリセルのビットを該第２の閾値によりベリファイした結果に応じて該ラッチデータをリセットする第２の回路
を含むことを特徴とする請求項１記載の不揮発性半導体記憶装置。
【請求項７】
１メモリセル当たり２ビットの情報を格納する複数の不揮発性メモリセルから読み出したデータを２つのリファレンスセルの閾値の平均に基づいて判定する不揮発性半導体記憶装置において、
プログラムデータを第１のデータラッチに格納し、
該不揮発性メモリセルから読み出したデータを第２のデータラッチに格納し、
該第１のデータラッチが格納するデータ及び第２のデータラッチが格納するデータを同時に該不揮発性メモリセルにプログラムする
各段階を含み、該プログラムする段階は、
該第１のデータラッチに対応する該不揮発性メモリセルのビットを第１の閾値を用いてベリファイし、
該第２のデータラッチに対応する該不揮発性メモリセルのビットを第２の閾値を用いてベリファイする
各段階を含み、該第１の閾値より該第２の閾値が低いことを特徴とする不揮発性半導体記憶装置のプログラム方法。
【請求項８】
１メモリセル当たり２ビットの情報を格納する複数の不揮発性メモリセルから読み出したデータを２つのリファレンスセルの閾値の平均に基づいて判定する
不揮発性半導体記憶装置において、
該不揮発性メモリセルに対して新規データ書き込みと同時に既存データのリフレッシュを実行し、
該新規データ書き込み対象ビットを第１の閾値によりベリファイし、
該既存データのリフレッシュ対象ビットを第２の閾値によりベリファイする
各段階を含み、該第１の閾値より該第２の閾値が低いことを特徴とする不揮発性半導体記憶装置のプログラム方法。
【発明の詳細な説明】
【技術分野】  本発明は、一般に不揮発性半導体記憶装置に関し、詳しくは不揮発性半導体記憶装置におけるプログラム回路及びプログラム方法に関する。
【背景技術】  一般的に、フラッシュメモリ等の不揮発性半導体記憶装置においては、ある所定の閾値に設定されたリファレンスセルの電流をリファレンス電流として、読み出し動作時に読み出しメモリセルのドレイン電流とリファレンス電流との間で比較を行う。読み出したメモリセルのドレイン電流が、リファレンス電流よりも大きいか否かに応じて、データ“１”或いは“０”の判定を行う。
フラッシュメモリの書き換え回数が増えていくと、書き込み電荷が損失するチャージロスが発生するようになり、コア回路のメモリセルの閾値が小さくなる傾向にある。これに対して、書き換え動作が通常実行されないリファレンスセルについては、閾値は固定のままである。このため書き換え回数が増えていくと、リファレンスセルの固定の閾値では読み出しマージンを充分に確保できない状態が生じる。
この問題を解決するための方式として、ダイナミック・リファレンス読み出し方式がある。この方式では、読み出しリファレンスセルとしてデータ“１”と“０”の２種類のリファレンスセルを用意し、その平均電流をリファレンス電流とすると共に、メモリセル同様にこれらのリファレンスセルに対しても書き換え動作を実行する。即ち、プログラムされたデータ“０”のリファレンスセルＲｅｆ０とイレーズされたデータ“１”のリファレンスセルＲｅｆ１を用意し、２つのリファレンス電流の平均を読み出しリファレンス電流として用いる。この際、コア回路のメモリセルにプログラム／消去動作を実行するときに、リファレンスセルに対しても同時にプログラム／消去動作を実行することで、メモリセルに発生するチャージロスと同様にリファレンスセルにチャージロスを発生させる。これにより、読み出しマージンを充分に確保することが可能となる。
ダイナミック・リファレンス読み出し方式において、あるリファレンスセルは複数のメモリセルにより共有される。従って、あるメモリセルをプログラムする際に対応リファレンスセルを再プログラムすると、そのリファレンスセルを共有する他のメモリセルについては、チャージロスがある場合には読み出しマージンが不足する結果となる。これを避けるために、リファレンスセルを共有する他のメモリセルについては、新たにプログラムするメモリセルと同じレベルに揃えるためにリフレッシュ動作が必要になる。
図１は、従来のプログラム動作のアルゴリズムを示すフローチャートである。図１に示されるのは、複数ワードのデータをページバッファによりプログラムするページプログラム方式のフローチャートである。
ステップＳＴ１において、プログラムデータをページバッファのデータラッチに入力する。ここで１つのページは例えば１６ワードから構成され、そのうちの例えば２つのワードについてプログラムデータ（書き込みデータ）が入力される。
ステップＳＴ２において、プリリードを実行し、コア回路のメモリセル配列からプログラム対象のページ内アドレスのデータを読み出す。読み出したデータは、ステップＳＴ１でプログラムデータが入力されなかったデータラッチに入力する。これにより、プログラム対象でないワードについてはリフレッシュ動作（再書込み動作）が実行されることになる。
ステップＳＴ３で、プログラムベリファイを実行する。ステップＳＴ４で、プログラムベリファイの結果に基づいて、ベリファイがパスしたか否かを判断する。フェイルした場合には、ステップＳＴ５において、対象メモリセルに対してプログラム動作（リフレッシュ対象についてのプログラム動作を含む）を実行する。その後ステップＳＴ３に戻り、上記動作を繰り返す。全てのビットがベリファイにパスすると処理を終了する。
フラッシュメモリには、窒化膜等からなるトラップ層に電荷を蓄えることで、１つのメモリセル当たり２ビットの情報を格納可能なタイプがある。このタイプのフラッシュメモリでは、コントロールゲートと基板との間に酸化膜−窒化膜−酸化膜で構成される膜が設けられ、窒化膜に電荷をトラップさせて閾値を変化させることで、データの“０”と“１”とを区別する。この場合、窒化膜等のトラップ層は絶縁膜であるので電荷は移動しない。従って、トラップ層の両端に独立に電荷を蓄えることにより１セル当たり２ビットの情報を格納することが実現可能となる。２ビットの情報は、読み出し動作においてドレインとソースとを入れ換えることで、それぞれ別々に読み出すことが出来る。
メモリセルへの書き込みは、チャネルホットエレクトロンによる電子注入により行われる。例えばゲート電極に約９Ｖ、ドレインに約５Ｖ、ソース及び基盤に０Ｖを印加し、チャネルで発生するホットエレクトロンを窒化膜にトラップさせる。このときホットエレクトロンは、窒化膜内でドレインに近い側に注入される。消去動作は、ホットホールインジェクションによるホール注入により行なわれる。即ち、例えばゲート電極に約−６Ｖ、ドレインに約６Ｖを印加することで、ドレインから基板に流れるバンド間トンネル電流により発生するホールを窒化膜に注入し、電荷を中和させて消去する。１つのセル当たり２ビット分の電荷が注入されている場合には、ソースにもドレインと同一の電圧を印加することで、消去動作を実行することが出来る。読み出し動作は、書き込み時とドレインを逆にするリバースリードにより実行される。即ち、書き込み時に約５Ｖを印加した拡散層とは逆側の拡散層をドレインとし、ゲート電極に約５Ｖ、ドレインに１．５Ｖ、ソースと基盤に０Ｖを印加する。窒化膜中のソースに近い側に電荷が蓄えられている場合、トラップ電荷によりチャネルが形成されずに電流が流れない。これによりデータ“０”を読み出すことが可能となる。
このように１セルに２ビット格納可能なフラッシュメモリでは、２ビットのうちの１ビットを読み出す場合、読み出し選択した側でないビットの状態に応じて閾値が変化する。即ち、読み出し選択した側と反対側がプログラム状態である場合には、このプログラムされたトラップ電荷の影響で閾値が比較的大きくなり、また読み出し選択した側と反対側が消去状態である場合には、この消去状態によりトラップ電荷が存在せず閾値が比較的小さくなる。
上述のダイナミック・リファレンス読み出し方式においては、リフレッシュするメモリセルのチャージロスが小さい場合、リフレッシュ動作によってオーバープログラム状態となる可能性がある。即ち、電荷が過剰に注入された状態となる可能性がある。この場合、２ビット格納可能なフラッシュメモリにおいては、過剰にプログラムされた側のビットと反対側のビットにおいて、閾値が無視できないほどに上昇してしまうという問題がある。
特許文献１  特開２００１−７６４９６号公報
【発明の開示】
本発明は、上記関連技術における１つ又は複数の問題点を解決することを目的とする。
具体的に本発明においては、ダイナミック・リファレンス読み出し方式を採用し且つ１つのメモリセル当たり２ビットの情報を格納可能なタイプのフラッシュメモリにおいて、リフレッシュ対象のメモリセルにおけるオーバープログラム状態を避けることを目的とする。
上記目的を達成するために、本発明による不揮発性半導体記憶装置は、１メモリセル当たり２ビットの情報を格納する複数の不揮発性メモリセルと、不揮発性メモリセルに対して新規データ書き込みと同時に既存データのリフレッシュを行うプログラム動作において、新規データ書き込み対象ビットを第１の閾値によりベリファイし、既存データのリフレッシュ対象ビットを第２の閾値によりベリファイする制御回路を含み、第１の閾値より第２の閾値が低いことを特徴とする。
上記のように、新規データを書き込むと共に既存データをリフレッシュするプログラム動作において、プログラム対象ビットについてのプログラムベリファイと、リフレッシュ対象ビットについてのリフレッシュベリファイとを別々に実行し、リフレッシュベリファイの閾値をプログラムベリファイの閾値よりも低い閾値に設定する。これにより、リフレッシュ対象メモリセルのオーバープログラム状態を防ぐことが可能となる。
【図面の簡単な説明】  図１は、従来のプログラム動作のアルゴリズムを示すフローチャートである。
図２は、本発明を適用する不揮発性半導体記憶装置の構成を示す図である。
図３は、本発明によるプログラム動作のアルゴリズムを示すフローチャートである。
図４は、本発明によるリファレンスセル周辺の回路構成の一例を示す図である。
図５は、メモリセルトランジスタをプログラムする構成を説明するためのブロック図である。
図６は、データラッチの回路構成の一例を示す回路図である。
【発明を実施するための最良の形態】  以下に、本発明の実施例を添付の図面を用いて詳細に説明する。
図２は、本発明を適用する不揮発性半導体記憶装置の構成を示す図である。
図２の不揮発性半導体記憶装置１１０は、制御回路１１１、入出力バッファ１１２、アドレスラッチ１１３、Ｘデコーダ１１４、Ｙデコーダ１１５、Ｙゲート１１５Ａ、セルアレイ１１６、データラッチ１１７、プログラム電圧生成回路１１８、消去電圧生成回路１１９、及びチップイネーブル／出力イネーブル回路１２０を含む。
制御回路１１１は、制御信号を外部から受け取り、制御信号に基づいてステートマシンとして動作して、不揮発性半導体記憶装置１１０の各部の動作を制御する。
入出力バッファ１１２は、外部からデータを受け取り、このデータをデータラッチ１１７に供給する。アドレスラッチ１１３は、外部から供給されるアドレス信号を受け取りラッチすると共に、このアドレス信号をＸデコーダ１１４及びＹデコーダ１１５に供給する。Ｘデコーダ１１４は、アドレスラッチ１１３から供給されたアドレスをデコードして、セルアレイ１１６に設けられたワード線をデコード結果に応じて活性化させる。Ｙデコーダ１１５は、アドレスラッチ１１３から供給されたアドレスをデコードして、デコードアドレス信号に基づいてＹゲート１１５Ａを選択的に開閉する。これによりＹゲート１１５Ａは、セルアレイ１１６のビット線を選択的にデータラッチ１１７に接続する。
セルアレイ１１６は、メモリセルトランジスタの配列、ワード線、ビット線等を含み、各メモリセルトランジスタにデータを記憶する。データ読み出し時には、活性化ワード線で指定されるメモリセルからのデータが、ビット線に読み出される。プログラム或いはイレーズ時には、ワード線及びビット線をそれぞれの動作に応じた適当な電位に設定することで、メモリセルに対する電荷注入或いは電荷抜き取りの動作を実行する。セルアレイ１１６は、各々がメモリセル配列を含む複数のセクタに分割されており、セクタ毎にイレーズ動作が実行される構成となっている。本発明において、メモリセルトランジスタのゲートは、窒化膜等からなるトラップ層に電荷を蓄えることで、１つのメモリセル当たり２ビットの情報を格納可能である。
データラッチ１１７は、Ｙデコーダ１１５及びＸデコーダ１１４によって指定されセルアレイ１１６から供給されるデータの電流を、リファレンス電流と比較することで、データが０であるか１であるかの判定を行う。判定結果は読み出しデータとして、入出力バッファ１１２に供給される。本発明では、読み出しリファレンスセルとしてデータ“１”と“０”の２種類のリファレンスセルを用意し、その平均電流をリファレンス電流とするダイナミック・リファレンス読み出し方式を採用している。
プログラム動作及びイレーズ動作に伴うベリファイ動作は、Ｙデコーダ１１５及びＸデコーダ１１４によって指定されセルアレイ１１６から供給されたデータの電流を、プログラムベリファイ用及びイレーズベリファイ用リファレンスセルの示すリファレンス電流と比較することで行われる。プログラム動作においては、データラッチ１１７のバッファに書き込みデータが格納され、このデータに基づいてセルアレイ１１６のワード線及びビット線を適当な電位に設定することで、メモリセルに対する電荷注入を実行する。
なお図２においては、上記動作を実行するための各構成要素、即ちデータ書き込みのためのデータを格納するデータラッチ及び書き込みバッファ、セルアレイ１１６から供給されるデータをセンスするセンスアンプ、各種リファレンスセル等を、一纏めにしたブロックとして、データラッチ１１７を示してある。
プログラム電圧生成回路１１８は、制御回路１１１の制御の下にプログラム用の高電圧を生成する。このプログラム用高電圧はＸデコーダ１１４を介してセルアレイ１１６に供給され、データラッチ１１７に格納されている書き込みデータに基づいたデータ書き込み動作が実行される。消去電圧生成回路１１９は、制御回路１１１の制御の下にイレーズ用の負電位を生成する。このイレーズ用負電圧はＸデコーダ１１４を介してセルアレイ１１６に供給され、セルアレイ１１６に対する消去動作を実行する。
チップイネーブル／出力イネーブル回路１２０は、装置外部から制御信号としてチップイネーブル信号／ＣＥ及びアウトプットイネーブル信号／ＯＥを受け取り、入出力バッファ１１２及びセルアレイ１１６の動作／非動作を制御する。
図３は、本発明によるプログラム動作のアルゴリズムを示すフローチャートである。
ステップＳＴ１において、プログラムデータをページバッファのデータラッチに入力する。ここで１つのページは例えば１６ワードから構成され、そのうちの例えば２つのワードについてプログラムデータ（書き込みデータ）が入力される。
ステップＳＴ２において、プリリードを実行し、コア回路のメモリセル配列からプログラム対象のページ内アドレスのデータを読み出す。読み出したデータは、ステップＳＴ１でプログラムデータが入力されなかったデータラッチに入力する。これにより、プログラム対象でないワードについてはリフレッシュ動作（再書込み動作）が実行されることになる。
ステップＳＴ３で、プログラムベリファイを実行する。このプログラムベリファイ動作は、ページバッファのデータラッチに保持されるデータのうちで、プログラム対象のデータについてのみ実行される。
ステップＳＴ４で、リフレッシュベリファイを実行する。このリフレッシュベリファイ動作は、ページバッファのデータラッチに保持されるデータのうちで、リフレッシュ対象のデータについてのみ実行される。なおリフレッシュベリファイのリファレンス閾値としては、プログラムベリファイのリファレンス閾値よりも低い値に設定される。
ステップＳＴ５で、プログラムベリファイ及びリフレッシュベリファイの結果に基づいて、ベリファイがパスしたか否かを判断する。フェイルした場合には、ステップＳＴ５において、対象メモリセルに対してプログラム動作（新規データを書き込むと共に既存データをリフレッシュするプログラム動作）を実行する。その後ステップＳＴ３に戻り、上記動作を繰り返す。全てのビットがベリファイにパスすると処理を終了する。
上記のように、新規データを書き込むと共に既存データをリフレッシュするプログラム動作において、プログラム対象ビットについてのプログラムベリファイと、リフレッシュ対象ビットについてのリフレッシュベリファイとを別々に実行し、リフレッシュベリファイの閾値をプログラムベリファイの閾値よりも低い閾値に設定する。これにより、リフレッシュ対象メモリセルのオーバープログラム状態を防ぐことが可能となる。
図４は、本発明によるリファレンスセル周辺の回路構成の一例を示す図である。
図４の回路は、ＮＭＯＳトランジスタ２１乃至３０、リファレンスセルトランジスタ３１乃至３４、メモリセルトランジスタ３５、ＮＭＯＳトランジスタ３６乃至３９、ベリファイカスコード回路４０、リファレンスカスコード回路４１及び４２、カスコード回路４３、及びセンスアンプ４４を含む。メモリセルトランジスタ３５は、コア回路（図２のセルアレイ１１６）に含まれるメモリセル配列のうちの選択されたメモリセルである。ＮＭＯＳトランジスタ２５及び３０は、図２のＹゲート１１５Ａに対応し、信号Ｙ１及びＹ２がＨＩＧＨになることによりメモリセルトランジスタ３５を選択する。ベリファイカスコード回路４０、リファレンスカスコード回路４１及び４２、及びカスコード回路４３は、セルトランジスタに流れる電流を電圧値に変換する回路である。信号ＳＥＬ１、ＳＥＬ２、Ｓ１Ａ、及びＳ１Ｂは、リファレンスセルを選択する信号であり、図２に示される制御回路１１１から供給される。
センスアンプ４４の一方の入力（−）には、コア回路のメモリセルトランジスタ３５のデータに対応する電圧がカスコード回路４３から入力される。
データ読み出し時には、信号ＳＥＬ１がＬＯＷ、信号ＳＥＬ２がＨＩＧＨとなる。これによりセンスアンプ４４の他方の入力（＋）には、リファレンスカスコード回路４１及び４２から、リファレンスセルトランジスタ３３のデータに対応する電圧とリファレンスセルトランジスタ３４のデータに対応する電圧との平均電圧が供給される。ここでリファレンスセルトランジスタ３３及び３４は、状態“１”及び状態“０”に対応する。これによりセンスアンプ４４は、リファレンスセルトランジスタの状態“１”及び状態“０”の平均の閾値と、読み出しメモリセルの閾値とを比較し、データ状態をセンスすることになる。なお本発明は、１セルあたり２ビットのデータを格納可能な不揮発性メモリセルの使用を想定しているが、この場合、上記２つのリファレンスセルの状態は“０／１”及び“１／０”となる。
プログラムベリファイ時には、信号ＳＥＬ１がＨＩＧＨで信号ＳＥＬ２がＬＯＷになると共に、信号Ｓ１Ａ及び信号Ｓ１ＢがそれぞれＨＩＧＨ及びＬＯＷとなる。これによりリファレンスセルトランジスタ３１が選択され、その電流がベリファイカスコード回路４０により電圧値に変換され、センスアンプ４４の入力（＋）に供給される。これによりセンスアンプ４４は、プログラムベリファイ用の閾値とコア回路のメモリセルの閾値とを比較し、データ状態をセンスすることになる。
リフレッシュベリファイ時には、信号ＳＥＬ１がＨＩＧＨで信号ＳＥＬ２がＬＯＷになると共に、信号Ｓ１Ａ及び信号Ｓ１ＢがそれぞれＬＯＷ及びＨＩＧＨとなる。これによりリファレンスセルトランジスタ３２が選択され、その電流がベリファイカスコード回路４０により電圧値に変換され、センスアンプ４４の入力（＋）に供給される。これによりセンスアンプ４４は、リフレッシュベリファイ用の閾値とコア回路のメモリセルの閾値とを比較し、データ状態をセンスすることになる。
ここでプログラムベリファイ用のリファレンスセル３１の閾値とリフレッシュベリファイ用のリファレンスセル３２の閾値とは異なり、リフレッシュベリファイ用の閾値の方が低い値に設定されている。これにより、リフレッシュ対象メモリセルのオーバープログラム状態を防ぐことが可能となる。
図５は、メモリセルトランジスタをプログラムする構成を説明するためのブロック図である。
図５の構成は、データラッチ５１、ライトバッファ５２、アドレスバッファ／デコーダ５３、入出力バッファ１１２、及びセンスアンプ４４を含む。入出力バッファ１１２は図２に示され、センスアンプ４４は図４に示される。アドレスバッファ／デコーダ５３は、図２のアドレスラッチ１１３及びＹデコーダ１１５に相当する。
データラッチ５１は、プログラムするページの全ビットについてビット毎に設けられるラッチであり、このラッチによって各ビット毎にプログラムするか否かを指定する。プログラムするか否かを各ビット毎に指定するデータは、プログラムデータＩＮｎとして入出力バッファ１１２から供給される。またプログラムデータを当該データラッチ５１にロードするか否かは、アドレスデコード信号ＧＳＥＬｎによって決定される。プログラムデータがロードされなかったデータラッチ５１には、センスアンプ４４から供給される対応メモリセルのセンスデータＤＳＩｎが格納され、当該ビットに対してリフレッシュ動作が実行されることになる。またセンスアンプ４４から供給されるセンスデータＤＳＩｎは更に、プログラムベリファイの際の判定データとして使用される。
各データラッチ５１にプログラムデータ及びリフレッシュ対象データが格納されると、これらのデータはライトバッファ５２に転送される。その後、ライトバッファ５２に格納されたデータに基づいて、メモリセルトランジスタのドレイン端子に対してプログラム電圧が印加される。同時にプログラム対象のメモリセルのゲート端子にはワード線からプログラム電圧が印加され、これによりプログラム動作が実行される。
図５に示されるように本発明のデータラッチ５１には、プログラムベリファイ動作を指示するプログラムベリファイ信号ＰＧＭＶＢと、リフレッシュベリファイ動作を指示するリフレッシュベリファイ信号ＲＥＦＲＥＳＨＶＢとが供給される。これにより、プログラムベリファイ動作とリフレッシュベリファイ動作とを別々に実行し、プログラムベリファイ動作を実行するデータラッチと、リフレッシュベリファイ動作を実行するデータラッチとを分離することが可能になる。
図６は、データラッチ５１の回路構成の一例を示す回路図である。
図６のデータラッチ５１は、ＰＭＯＳトランジスタ６１乃至６７、ＮＭＯＳトランジスタ６８乃至７０、ＮＡＮＤ回路７１、ＮＯＲ回路７２及び７３、トランスファーゲート７４、及びインバータ７５乃至８０を含む。インバータ７７及び７８は、互いの出力を入力とするように接続され、ラッチ９０を構成する。
初期状態では、反転リセット信号ＲＥＳＥＴＢをＬＯＷとすることにより、ノードＡがＨＩＧＨになるようにラッチ９０が設定されている。またリセット信号ＲＥＳＥＴをＨＩＧＨとすることで、ＮＯＲ回路７２及び７３からなるフリップフロップの出力ＴＡＧＢは、初期状態においてＨＩＧＨとなっている。
データロード信号ＤＬＯＡＤ及び当該データラッチを指定するアドレスデコード信号ＧＳＥＬｇがＨＩＧＨになると、プログラムデータＩＮｎがトランスファーゲート７４を介してラッチ９０に入力される。当該ビットをプログラムする場合には、ラッチ９０は“０”を格納しノードＡがＬＯＷとなる。当該ビットをイレーズ状態にしておく場合には、ラッチ９０は“１”を格納しノードＡがＨＩＧＨとなる。
プログラムデータＩＮｎを取り込むためにトランスファーゲートが導通状態になるとき、インバータ７６の出力である信号ＤＬＯＡＤＤはＨＩＧＨである。このＨＩＧＨである信号ＤＬＯＡＤＤは、ＮＯＲ回路７３に入力され、フリップフロップの出力ＴＡＧＢがＬＯＷになる。これによりプログラムデータＩＮｎが書き込まれたデータラッチにおいては、ＮＭＯＳトランジスタ６９は非導通状態となる。従って、その後コア回路の対応メモリセルからのデータ読み込みを指示する信号ＡＬＯＡＤｇがＨＩＧＨになっても、対応メモリセルのセンスデータＤＳＩｎはラッチ９０に読み込まれない。
プログラムデータＩＮｎを読み込まなかったデータラッチにおいては、インバータ７６の出力である信号ＤＬＯＡＤＤはＬＯＷのままである。従ってフリップフロップの出力ＴＡＧＢは、ＨＩＧＨのまま維持されている。これによりプログラムデータＩＮｎが書き込まれなかったデータラッチにおいては、ＮＭＯＳトランジスタ６９は導通状態となる。その後コア回路の対応メモリセルからのデータ読み込みを指示する信号ＡＬＯＡＤｇがＨＩＧＨになると、対応メモリセルのセンスデータＤＳＩｎがラッチ９０に読み込まれる。即ち、対応メモリセルのセンスデータＤＳＩｎに応じてＮＭＯＳトランジスタ７０の導通／非導通が制御され、これによりラッチ９０に対応メモリセルのセンスデータＤＳＩｎが格納される。このようにして、プログラムデータＩＮｎが書き込まれなかったデータラッチにおいては、対応メモリセルのセンスデータＤＳＩｎがラッチ９０に格納され、リフレッシュ動作の対象となる。
このようにして、図３に示されるステップＳＴ１及びＳＴ２のプログラムデータ入力及びプリリードが実行される。その後、ステップＳＴ３においてプログラムベリファイが実行され、更にステップＳＴ４においてリフレッシュベリファイが実行される。
プログラムベリファイにおいては、プログラムベリファイ信号ＰＧＭＶＢがＬＯＷとなり、ＰＭＯＳトランジスタ６６が導通する。プログラムデータＩＮｎを読み込んだデータラッチにおいては、ＴＡＧＢがＬＯＷであるので、ＰＭＯＳトランジスタ６５は導通状態にある。この際、図４に示すセンスアンプ４４は、リファレンスセルトランジスタ３１のプログラムベリファイ用の閾値とコア回路の対応メモリセルの閾値とを比較し、データ状態をセンスしている。従って図６において、ＰＭＯＳトランジスタ６４のゲートに入力されるセンスデータＤＳＩｎは、プログラムベリファイがパスした場合にはＬＯＷとなる。これによりＰＭＯＳトランジスタ６４が導通し、ラッチ９０のノードＡはＨＩＧＨに設定され、当該ビットをプログラムする動作は実行されない。ベリファイパスしない場合には、ラッチ９０のノードＡはデータ設定された状態のままに留まる。ラッチ９０のノードＡがＬＯＷの状態であれば、当該ビットをプログラムする動作が図３のステップＳＴ６で実行される。
なおプログラムベリファイにおいて、プログラムデータＩＮｎを読み込んでいないデータラッチにおいては、ＴＡＧＢがＨＩＧＨであるので、ＰＭＯＳトランジスタ６５は非導通状態にある。従って、プログラムベリファイ動作の結果は、ラッチ９０が格納するデータに何ら影響を与えない。
リフレッシュベリファイにおいては、リフレッシュベリファイ信号ＲＥＦＲＥＳＨＶＢがＬＯＷとなり、ＰＭＯＳトランジスタ６３が導通する。リフレッシュ対象のデータラッチにおいては、ＴＡＧＢがＨＩＧＨであるので、ＰＭＯＳトランジスタ６２は導通状態にある。この際、図４に示すセンスアンプ４４は、リファレンスセルトランジスタ３２のリフレッシュベリファイ用の閾値とコア回路の対応メモリセルの閾値とを比較し、データ状態をセンスしている。従って図６において、ＰＭＯＳトランジスタ６１のゲートに入力されるセンスデータＤＳＩｎは、リフレッシュベリファイがパスした場合にはＬＯＷとなる。これによりＰＭＯＳトランジスタ６１が導通し、ラッチ９０のノードＡはＨＩＧＨに設定され、当該ビットをプログラムする動作は実行されない。ベリファイパスしない場合には、ラッチ９０のノードＡはデータ設定された状態のままに留まる。ラッチ９０のノードＡがＬＯＷの状態であれば、当該ビットをプログラムする動作が図３のステップＳＴ６で実行される。
なおリフレッシュベリファイにおいて、リフレッシュ対象でないデータラッチにおいては、ＴＡＧＢがＬＯＷであるので、ＰＭＯＳトランジスタ６２は非導通状態にある。従って、リフレッシュベリファイ動作の結果は、ラッチ９０が格納するデータに何ら影響を与えない。
以上のようにして、プログラムベリファイ動作とリフレッシュベリファイ動作とを別々に実行し、プログラムベリファイ動作を実行するデータラッチと、リフレッシュベリファイ動作を実行するデータラッチとを分離することが可能になる。従って、リフレッシュベリファイの閾値をプログラムベリファイの閾値よりも低い閾値に設定し、リフレッシュ対象メモリセルのオーバープログラム状態を防ぐことが可能となる。
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
【図１】
2004097839.tif 000003
【図２】
2004097839.tif 000004
【図３】
2004097839.tif 000005
【図４】
2004097839.tif 000006
【図５】
2004097839.tif 000007
【図６】
2004097839.tif 000008
【国際調査報告】
2004097839.tif 000009
2004097839.tif 000010
2004097839.tif 000011
2004097839.tif 000012