(57)【特許請求の範囲】
【請求項１】
各行が複数の記憶セルを有する複数の行，前記複数の記憶セルに対応する複数のビット線，および前記複数のビット線に対応する複数の書込みラッチを有するメモリ・アレイに書込みを行う方法であって：
前記メモリ・アレイ内の第１データを格納している第１行を選択する段階；
前記第１データを、前記第１行から前記複数の書込みラッチにロードする段階；
前記第１データの代わりに書き込まれるべき第２データに相当する電圧を、前記複数のビット線のそれぞれに供給する段階；
プログラミング電圧を、前記第１行の全ての記憶セルに結合される制御ゲート語線に印加する段階；
消去電圧を、前記第１行の全ての記憶セルと結合される前記制御ゲート語線に印加する段階；および
前記プログラミング電圧を印加する段階と前記消去電圧を印加する段階とを、前記第２データの書込み中に複数回交互に連続して実施する段階；
を備える方法。
【請求項２】
前記第２データは前記第１データと同一であって、プログラミング電圧を印加する段階と消去電圧を印加する段階を実施した結果、前記第１行内の前記第１データが変更なしにリフレッシュされる、ことを特徴とする請求項１記載の方法。
【請求項３】
前記第１データを前記複数の書込みラッチ内にロードした後、かつ前記複数のビット線のそれぞれに電圧を供給する前に、少なくとも一つの前記書込みラッチを変更して、前記第２データを実現する段階によってさらに構成され、前記第２データは前記第１データと異なることを特徴とする、請求項１記載の方法。
【請求項４】
集積回路であって：
複数の行及び複数のビット線を有するメモリ・アレイであって、前記複数の行は複数の記憶セルを有し、前記複数のビット線は前記複数の記憶セルに対応する、前記メモリ・アレイ；
前記メモリ・アレイに結合される書込みラッチ装置であって、前記メモリ・アレイ内に書き込まれるべきデータを格納する書込みラッチ装置；および
前記メモリ・アレイおよび前記書込みラッチ装置に結合され、前記第１行と結合される語線への消去電圧およびプログラミング電圧の印加を制御するメモリ・コントローラ；
を備え、前記メモリ・コントローラによる制御は、前記第１行に書き込まれるべきデータの書込み中、前記データに相当する電圧を前記複数のビット線のそれぞれに供給しながら前記プログラミング電圧と前記消去電圧とを前記第１行の全ての記憶セルと結合される語線に複数回交互に連続して印加することを含む、集積回路。
【請求項５】
前記複数の各行内の各記憶セルが、直列に接続される３個のトランジスタを含み、第１トランジスタはアレイ接地と結合され、第２トランジスタは前記第１トランジスタと前記語線とに結合され、第３トランジスタは前記第２トランジスタとビット線とに結合されることを特徴とする、請求項４記載の集積回路。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は集積回路のメモリ素子に関し、さらに詳しくは消去可能不揮発性メモリにデータを書込み、そのデータをリフレッシュする方法および装置に関する。
【０００２】
【従来の技術】
電気的消去可能書込み可能な読出し専用ＲＯＭ（ＥＥＰＲＯＭ）は、電気信号を用いてプログラムと消去が行われる不揮発性メモリ素子である。ＥＥＰＲＯＭは、データ処理システムの動作中に、メモリに対して行われる変更を保存する必要がある場合に、データ処理システムでの用途が認められる。このような状況において、ＥＥＰＲＯＭは、システムの電源切断中ずっと、メモリの状態を維持する。
【０００３】
消去可能不揮発性メモリ素子は通常、多くの記憶セルを含む。記憶セルは、データの１単位または１ビットを保持するメモリの一部分である。一般に、記憶セルは、少なくとも１個のトランジスタまたは記憶機構を含む。記憶セルはグループ単位で組織され、通常グループはバイトと呼ばれ、８ビットのデータを含む。ついで、各グループまたは各バイトは個々にプログラムできる。各バイトは、メモリ・アレイ内の位置によって識別され、その位置で、各バイトは、語線位置とビット線位置の一意の組合せを有する。語線情報とビット線情報は、数学的配列中の項を行と列の識別によって識別するのと同様に、メモリのバイトの実効アドレスを形成する。消去は、メモリ・アレイ全体を一括して，個々の語線ごと，語線のグループごと，個々のバイトごとまたはバイトのグループごとに行われる。
【０００４】
特定の記憶セルの語線およびビット線の識別は一般に、語線制御およびビット線制御によって行われる。通常のＥＥＰＲＯＭセルは、語線制御と結合される浮動ゲート・トランジスタと、ビット線制御と結合される選択トランジスタとを含む。浮動ゲート・トランジスタは、記憶セルに関わるデジタル値を格納する。プログラミングまたは消去を行う場合、語線制御は、浮動ゲート・トランジスタに十分な電圧を供給して、プログラミングまたは消去を可能にする。選択トランジスタは、指示された語線内で、消去またはプログラムされるべき個々のＥＥＰＲＯＭセルを選択する。
【０００５】
ＥＥＰＲＯＭの既知の消去方式の一つによると、ある一定の語線に関わる制御は、１２から１５ボルトのような高い正電圧にバイアスされる一方、ビット線は、低い基準電位に保持され、これにより、語線全体を消去する、すなわち、制御線と結合される各浮動ゲート・トランジスタに格納される電荷を、消去された状態に変更する。本明細書に記載するように、記憶セルは、浮動ゲート装置が論理「０」に相当する非導通状態にあるときに消去され、浮動ゲート装置が論理「１」に相当する導通状態にあるときにプログラムされると定義されることに注意されたい。ただし、代替的実施例では、反対の極性を用いて記憶セルを定義することもできる。消去動作中、各セルの消去を可能にするほど十分な時間にわたって、電圧が制御状態に維持され、線を選択する。そのため、複数のセルを同時に消去して、これにより、合計消去時間の短縮を実現することが望ましい。特定のＥＥＰＲＯＭセルは、独立した選択トランジスタを有し、そのトランジスタの選択ゲートは通常、消去動作中はオンになっているが、これは絶対そうでなければならないというわけではない。消去動作の完了時には、浮動ゲート装置は、読み取り動作中の導通を防止するのに十分な閾値電圧まで充電される。任意の数の制御線を同時にバイアスして、ブロック単位の消去および一括消去を可能にできる。ブロック単位の消去の場合、メモリ・アレイ内の複数の行が、一度に消去される。一括消去の場合、全部の行が同時に消去される。ブロック単位の消去および一括消去は、複数のセルが同時に消去されるので、メモリ・セルを消去するのに要する合計時間を短縮する。
【０００６】
ある既知のＥＥＰＲＯＭ書込み方式によれば、制御線は、−１２から−１５ボルトのような高い負電圧にバイアスされ、浮動ゲート装置は、導通状態にプログラムされる。プログラミング動作中、関連ビット線はついで、制御線に関して、５ボルトのような中ぐらいの高さの正電圧にバイアスがかけられる。ある一定の行は、それぞれ行内の１つのビットに対応するビット線を複数有する。制御線はある一定の行内の複数のビットに渡っているので、消去状態を維持し、プログラミングを阻止すべきビットは分離することが望ましい。これを行うには、プログラムする必要のないビットに関わるビット線にバイアス電圧を印加する。バイアス電圧は、接地または低い基準電圧レベルである。同様に、選択されない行の制御線にも、約３．５ボルトのバイアス電圧を印加して分離させる。選択されない制御線にバイアスをかけることで、ビット線の障害またはバンド間のトンネル効果を最小限に抑える。プログラミング中、隣接するビットは、所望のビットをプログラムするのに使用される電圧によって影響を受けることが多いことに注意されたい。プログラミング中、隣接するビットも、同じ高電圧に曝されるので、こうしたことがあてはまる。
【０００７】
ＥＥＰＲＯＭの１つの具体的構成が、フラッシュＥＥＰＲＯＭである。フラッシュＥＥＰＲＯＭは、電気的な消去およびプログラム機能を提供し、一般に回路密度が高くなっている。このように回路密度が高いことは多くの場合、フラッシュＥＥＰＲＯＭアレイに対してブロック消去しかできないという犠牲の上に成り立っている。通常、アレイは、１回のステップ、すなわち「フラッシュ」で消去されるので、フラッシュＥＥＰＲＯＭと呼ばれる。回路設計は小型化の一途を辿っているので、この種のメモリのプログラミング電圧と消去電圧を、その維持に必要なシリコンの面積を増加させずに維持する必要性がある。一般に、Ｎ形素子は、Ｖthreshold値を維持し、この値は、トランジスタのソース端子電圧が増加するにつれて増加する。通常の高い消去電圧とプログラミング電圧の場合、Ｎ形閾値電圧は損失が大きすぎて効率的な動作ができない。このため、記憶セルに書き込むのに必要な電圧を維持するのに、回路を付加する必要がある。回路を付加すれば、メモリ・アレイのサイズに比して大きくなることが多い。
【０００８】
【発明が解決しようとする課題】
上記のように（また、以下に詳しく説明するように）、隣接する記憶セルに対して悪影響を与えないような、不揮発性消去可能メモリに書込みを行う方法に対する必要性が存在する。また、メモリに書込みを行う方法は、メモリ・アレイ内の個々のビットを分離できることが望ましい。例えば、１００ｋ書込みサイクル以上の極めて多くの書込みサイクル数を有するメモリでは特に、メモリ・アレイ内の他の行についてプログラミングを行っている間、共通のビット線を共用するトランジスタを効果的に保護する選択装置を有することが望ましい。
【０００９】
メモリ・アレイのもう一つの望ましい機能は、長期のデータ保存である。データ保存とは、記憶セルが、前回の書込み状態（例：書き込まれたセルが論理「１」状態を維持する時間、および消去されたセルが論理「０」状態を維持する時間）を保持する時間のことを言う。時間が経つと、セル内で電子の漏れが発生し、十分な電荷が失われれば、セルがたとえ意図的に書き換えられていなくても、以前のプログラム済みセルが消去済みセルとして読み出される。これは、高水準のデータ保全性を必要とする用途では深刻な問題である。データ保全性を保証する従来のＥＥＰＲＯＭの方式は、ＥＥＰＲＯＭからデータを定期的に読み出して、読み出したデータをランダム・アクセス・メモリ（ＲＡＭ）内に格納して、ＥＥＰＲＯＭアレイ全体を消去し、ついでＲＡＭ内に格納されたのと同じデータ値により、アレイを再プログラムすることだった。この方式は、ＥＥＰＲＯＭアレイ内のデータをリフレッシュする際には効果的であるが、スマートカードで用いられる集積回路など機密度の高い用途では欠点を有する。その欠点とは、リフレッシュ・サイクルにおいて、ＥＥＰＲＯＭデータが読み出されて、ＲＡＭに格納されることにより、集積回路のデータ・バス上にデータが流布することである。バス上に、データ、特にアレイ全体のデータがあることは、リフレッシュ手順の間にデータを「捕捉」できる機会をハッカーに与えることになり、そのために、機密性の高い用途では、データ保存問題にとって望ましい解決策にはならない。
【００１０】
【課題を解決するための手段】
上記の必要性およびその他の利点は、本発明により満たされ、実現される。一つの形式において、本発明は、同じ状態に維持すべきビットを強化するように、メモリ・アレイのビット書込みおよびビット消去を行う方法を提供する。一つの実施例では、記憶セルは、３個のトランジスタ、すなわち、浮動ゲート・トランジスタ，ソース選択トランジスタおよびドレイン選択トランジスタを含む。浮動ゲート・トランジスタのプログラミングを行うには、プログラミング・データに従ってビット線電圧を供給し、プログラミング電圧を印加して、ついで、浮動ゲート・トランジスタの制御ゲートに消去電圧を印加する。これと同じプログラミングおよび消去手順は、行内のデータのどのビットも変更せずに、アレイ内のデータを１行リフレッシュするのに使用できる。
【００１１】
別の実施例の方法では、プログラミングすべきビットのプログラミングを検証し、プログラミングが完了するまで、プログラミング・サイクルを提供する。また別の実施例の方法では、消去すべきビットの消去を検証し、消去が完了するまで、消去サイクルを提供する。一つの実施例では、メモリ制御状態マシンは、検証消去ビット（ＶＥ）および検証プログラム・ビット（ＶＰ）をモニターし、それに応じて、追加のプログラミング・サイクルおよび／または消去サイクルを提供する。本発明では、不揮発性メモリのプログラミングと消去を可能にする一方、データの状態変更が選択されていないセルに、線間障害トンネル効果が及ぶのを最小限に抑える。
【００１２】
本発明の一つの側面によれば、メモリ・アレイに書き込む方法は、メモリ・アレイが複数の行，複数のビット線，および複数のビット線に対応する複数の書込みラッチを有する場合、メモリ・アレイは、メモリ・アレイ内の第１行を選択する段階；第１行が第１データを格納する段階；第１データを第１行から複数の書込みラッチにロードする段階；少なくとも一つの書込みラッチを変更して、第２データを実現する段階；第２データに対応する電圧を、複数のビット線それぞれに与える段階；プログラミング電圧を、第１行と結合される制御ゲート語線に印加する段階；および第１行と結合される制御ゲート語線に消去電圧を印加する段階によって構成される。
【００１３】
本発明の別の側面によれば、メモリ・アレイ内でデータをリフレッシュする方法は、書込み手順と同様の方法で得られる。より具体的には、データのリフレッシュは、メモリ・アレイ内の第１行を選択し、第１行が第１データを格納することによって実現される。第１行からの第１データは、複数の書込みラッチにロードされる。ついで、書込みラッチを変更することなく、複数のビット線のそれぞれに、ラッチ内に格納されるデータ（すなわち、第１データ）に対応する電圧が与えられる。ついで、プログラミング電圧が、第１行と結合される制御ゲート語線に印加され、消去電圧が、第１行と結合される制御ゲート語線に印加される。このため、第１データは、データ・バスにデータを置くことを必要とせずに、ラッチ・ロードによって、第１行に再度書込まれる。
【００１４】
本発明のさらに別の側面によれば、集積回路は、複数の行を有して前記複数の行が複数の記憶セルを有するメモリ・アレイ；メモリ・アレイと結合される書込みラッチであって、メモリ・アレイ内に書き込まれるべきデータを格納する書込みラッチ装置；メモリ・アレイおよび書込みラッチ装置と結合される比較器であって、複数の行の第１行内に格納されたデータを、書込みラッチ装置内に格納されたデータと比較し、これに応じて、検証消去信号および検証プログラム信号を発生する比較器；メモリ・アレイおよび書込みラッチ装置と結合されるメモリ・コントローラであって、検証プログラム信号が第１値のときに、第１行と結合される語線にプログラミング電圧の印加を開始し、検証消去信号が第２値のときに、第１行と結合される語線に消去電圧の印加を開始するメモリ・コントローラによって構成される。
【００１５】
【実施例】
図１は、電気的消去可能書込み可能な読出し専用メモリ（ＥＥＰＲＯＭ）の先行技術による実現を示す。この実施例によれば、記憶セルは、非導通状態にあり、かつ論理低値を示す閾値電圧を保持するときに、消去済みの状態にある。プログラム済みの記憶セルは導通状態にあり、論理高値を示す閾値電圧を保持する。この実施例において、１バイトは８ビットであるので、ｎは８に等しい。各ビット線は、各語線内に関連記憶セルを有する。メモリ・アレイは、トランジスタ１２，１６を含む第１記憶セルから、トランジスタ１４，１８を含む最後の記憶セルに至る記憶セルを有する。アレイ内の各記憶セルは、語線およびビット線の位置によって識別される。
【００１６】
第１記憶セルは、トランジスタ１２，１６を含む。トランジスタ１２は、記憶セルをビット線と結合するのに用いられるドレイン選択トランジスタである。トランジスタ１２は、トランジスタ１６のドレイン・ノードと結合されるソース・ノードと、ビット線０と結合されるドレイン・ノードとを含む。トランジスタ１６は、浮動ゲート・トランジスタであり、データを格納するのに用いられる。トランジスタ１６のソース・ノードは、アレイ接地電圧源と結合される。メモリ・アレイは、０からｎで表示される複数のビット線を有するものとして示される。メモリの追加バイトも同様の構成をとる。
【００１７】
メモリ・アレイ内のバイトのプログラミングと消去のため、トランジスタ１０，１９を含む選択回路が実現される。トランジスタ１０は、消去する場合にトランジスタ１６から１８を選択し、また語線が選択されないときには、トランジスタ１６から１８を分離するのに用いられる消去選択トランジスタである。トランジスタ１９は、プログラミングを行うのにトランジスタ１６から１８にバイアスをかけるのに使用されるプログラミング選択トランジスタである。アレイ内の他の記憶セルは、選択トランジスタと結合される浮動ゲート・トランジスタと同じ構成を有する。
【００１８】
語線電圧が、トランジスタ１０，１２から１４のゲートに供給され、これらのトランジスタを同一の語線位置を持つものとして識別する。この語線と結合される各トランジスタは、トランジスタ１０のゲートに与えられる語線制御に応答する。制御ゲート消去選択信号は、トランジスタ１０のドレイン・ノードに与えられる。図に示すように、記憶セルは、８ビットまたは８個の記憶セルを有するメモリの１バイトを形成する。制御信号は、トランジスタ１９のゲートに与えられる。トランジスタ１９のソース・ノードは、消去選択接地電圧源と結合される。トランジスタ１９のドレイン・ノードは、トランジスタ１６から１８の制御ゲートと結合される。制御ノードは、浮動ゲート・トランジスタ１６から１８の制御ゲート・ノードと結合される。トランジスタ１６から１８はついで、トランジスタ１２から１４と結合される。トランジスタ１２から１４はついで、ビット線０からｎとそれぞれ結合され、次のメモリの語線に続く。トランジスタ１４，１８は、メモリの次のバイトと結合される。
【００１９】
図１に示すメモリの１バイトを消去するに際して、語線をアサートすることにより、再び、ある行を選択する。ついで、高電圧が、制御ゲート消去選択を介して、トランジスタ１０に与えられ、一方、ビット線０からｎは低電圧に維持される。制御ゲート消去選択により供給される高電圧が、トランジスタ１６から１８を消去する。この実施例によれば、アサートされた語線とビット線０からｎとよって確定されるメモリのバイト内にある全トランジスタが消去される。
【００２０】
図１に示すメモリのバイトは、ビット０からｎを含み、この場合、ビット線０はトランジスタ１２と結合され、ビット線ｎはトランジスタ１４と結合される。図１に示すメモリをプログラミングするにあたり、最初に１つの語線が選択される。選択された語線は、当該語線に対応する電圧をアサートする、すなわち、当該語線に高い負電圧を供給することによって明示される。被選択語線のビット０からｎにプログラムすべきデータは、ビット線０からｎに対応する電圧として与えられる。プログラムされる間、データは、トランジスタ１６から１８内に格納される。上記のように、高い論理データ値、すなわち１の場合には、対応するビットは、導通状態に置かれ、プログラム済みビットとして定義される。低い論理データ値、すなわちゼロの場合は、対応するビットは非導通状態に置かれ、消去済みビットとして定義される。
【００２１】
プログラミングの間、トランジスタ１６から１８の制御ゲートと結合される制御ノードは、通常０ボルトの接地基準レベルに維持されることが重要である。これを実現するには、制御ゲート消去選択が、トランジスタ１０を介して接地基準電圧を与えるか、またはより一般的に行われているように、高電圧が、トランジスタ１９のゲートを介して与えられて、トランジスタ１９をオンにし、消去選択接地を介して接地基準電圧を供給する。このようにして、消去選択接地電圧が、プログラミング・モードの間、トランジスタ１６から１８の制御ゲートに供給される。
【００２２】
図１に示すメモリは、バイトのプログラムと消去に適用できることに注意されたい。小型化技術を実現するために、回路設計も小型化しているので、寸法が問題になる。より高い消去電圧を使用して、消去速度が上昇しており、小型化技術では、こうした電圧の増加を処理するのが難しい。電圧が低いと、これに比例して電圧の損失も増加するため、こうした装置に関わる閾値電圧を保護することができない。この問題は、ｐ形およびｎ形素子の実現によって解決できる。しかしながら、その結果得られる回路は、効率的な適用には大きすぎる。
【００２３】
図２は、２トランジスタ構成のフラッシュ・メモリのソース選択の実現を示す。図に示されるメモリ・アレイの一部は、トランジスタ２６から２８を含み、これらはそれぞれトランジスタ２４から３０と結合されており、これらは語線０に関わっている。同様に、アレイは、複数のビット線を含み、この場合ビット線０はトランジスタ２６，２２と関わりがあり、これらのトランジスタはそれぞれ、トランジスタ２４および２０と結合される。このメモリ素子において、データはトランジスタ２６から２８とトランジスタ２２に格納され、これらは浮動ゲート・トランジスタである。トランジスタ２２は、語線ｍと関わりがあり、図示されていないが、語線ｍ上には、ビット線１からｎに関わるトランジスタが存在することに注意されたい。ここで、語線０を選択して読み出すには、選択語線電圧をアサートし、語線０内の各ビットは、当該ビットと関わりのあるビット線を検知するように選択することによって示される。例えば、トランジスタ２６で識別されるビットを読み出すには、選択語線０がアサートされる一方で、制御語線０は、予め決められた基準電圧にバイアスされ、ビット線０から接地へのコンダクタンスにより、読み出すデータが示される。同様に、語線ｍは、語線ｍの電圧をアサートすることによって読出され、トランジスタ２２内に格納されるデータは、ビット線０から接地へのコンダクタンスによって示される。トランジスタ２６から２８と２２はそれぞれ、スイッチの働きをする関連の選択トランジスタを有する。トランジスタ２４から３０のゲートは、選択語線０をアサートすることによってアクセスされる。ついで、トランジスタ２４から３０とトランジスタ２０はそれぞれ、共通のアレイ接地と結合される。
【００２４】
図２に示すメモリのプログラミングは、プログラムすべきビットに関連するビット線に高電圧を供給し、かつ、制御ゲート語線を介して、関連する制御ゲート語線に低電圧を供給することによって実現される。例えば、トランジスタ２６のプログラミングは、ビット線０に高電圧を供給し、かつ制御ゲート語線０に低電圧を供給することによって実現する。一般に、ビット線０は、プログラミングの間、５ボルトに保持され、制御語線０は−１２ボルトに保持される。プログラミングの間、選択ゲート語線はすべて、ほぼ基準接地または０ボルトに保持される。この構成は、プログラムすべきトランジスタの両端で、約１７ボルトの電圧降下を受け入れることに注意されたい。
【００２５】
トランジスタ２６のプログラミング中、トランジスタ２８も、−１２ボルトの制御ゲート語線０の電圧を受ける。このため、トランジスタ２８に障害が生じる。トランジスタ２８がすでにプログラミングされている場合には、制御ゲート語線０の電圧は、トランジスタ２８のプログラミングを強化し、望ましくない障害を生じないような働きをする。しかしながら、トランジスタ２８が消去状態にある場合には問題が生じる。この場合、プログラミング電圧−１２Ｖを制御ゲート語線０に印加してトランジスタ２６をプログラムすることにより、トランジスタ２８の消去済み状態に悪影響を与える。
【００２６】
トランジスタ２６の消去中は、高電圧が、制御ゲート語線０を介して供給され、低電圧がビット線０を介して供給される。制御ゲート語線０の高電圧はまた、トランジスタ２６からトランジスタ２８にも供給されることに注意されたい。また、高電圧を供給して語線０を選択することができ、トランジスタ２４をオンにして、ソースとして共通のアレイ接地値をトランジスタ２６に提供する。このようにして、トランジスタ２６も消去される。代替的な方法では、ビット線０は両方とも低電圧に保持され、選択語線０は、高電圧に維持される。トランジスタ２６から２８とトランジスタ２２のプログラミングおよび消去も同様の方法で実現される。
【００２７】
もう一つの例として、図２の記憶セルの行消去も、制御ゲート語線を１５ボルトのような高い正電圧にバイアスすることによって実現できる。ついで、すべてのビット線は、接地電位に保持される。選択ゲートは通常オンにされるが、これは絶対不可欠ということではない。浮動ゲート素子（制御ゲート語線０を介して高電圧にバイアスされる）が充電されると、その結果、メモリの読み出しモードの間、導通状態になるのを阻止するのに十分な閾値電圧が生じる。任意の数の制御ゲート語線が一緒にバイアスされて、このような条件の下で、ブロック単位の消去または一括消去を行うことができる。
【００２８】
同様に、プログラミング中、制御ゲート語線は高い負電圧にバイアスされる一方、関連ビット線は、中ぐらいの高さ正電圧にバイアスされる。同一の制御ゲート語線と結合されていても、プログラミングを意図しないビットは、接地電圧にバイアスされる。選択されていない制御ゲート語線は、約３．５ボルトにバイアスされて、ビット線の障害およびバンド間トンネル効果を最小限に抑える。ここで、隣接するビットは、負電圧に曝されることにより、ゲートの障害を被る。隣接ビットが破壊される前に、ビットがプログラミングを行う場合には、プログラミングは成功するが、プログラミングがすべて完了する前に隣接ビットが破壊される場合には、問題が生じることが多い。この種の動作では一般に、プログラミングに先立って、一括消去を実行する必要がある。
【００２９】
図３は、本発明の一実施例によるメモリ素子の一部を示し、これは、消去すべきビット内の論理低値を格納するために、一括消去動作またはブロック消去動作を用いないで、１ビットをプログラムまたは消去するのに十分なバイアス条件を提供する。以下に示す各トランジスタは、プログラミング前の状態であって、例えば、トランジスタ３０，３２はプログラム済みの状態にあり、トランジスタ３１，３３は消去済みの状態にあった。プログラミング中、制御ゲート語線電圧は、約−１２ボルトのような負電圧と、約＋１２ボルトのような高電圧との間でトグルされて、３０，３１から３２，３３までの記憶セルに書き込む。書込み動作の前は、トランジスタ３０，３２は導通状態、すなわち、プログラム済みの状態にあり、一方、トランジスタ３１，３３は非導通状態、すなわち、消去済みの状態にあった。ビット線０はトランジスタ３０と結合され、ビット線１はトランジスタ３１と結合され、ビット線ｎー１はトランジスタ３２と結合され、ビット線ｎはトランジスタ３３と結合されることに注意されたい。制御ゲート語線０は、トランジスタ３０，３１から３２，３３までの制御ゲートまたは浮動ゲートと結合される。図３に示される例によれば、予め定められたデータが、トランジスタ３０から３３に書き込まれる。トランジスタ３０，トランジスタ３１はプログラミングしなければならず、トランジスタ３２，トランジスタ３３は消去しなければならない。上記トランジスタにこのように書込みを行うため、ビット線０およびビット線１は５ボルトに保持され、ビット線ｎー１およびビット線ｎは０ボルトに保持される。第１期間は、プログラミング電圧が制御ゲート語線０に印加され、第２期間は、消去電圧が制御ゲート語線０に与えられる。
【００３０】
上記回路内で明示される結果を図４のタイミング図に示す。ここで、横軸は時間に相当し、縦軸は閾値電圧に相当する。浮動ゲート・トランジスタ３０から３３それぞれの閾値電圧が示され、相応の印が付される。この図では、消去限界電圧レベルと書込み限界電圧レベルとが、閾値電圧軸上に示される。また、時間ｔ１，ｔ２，ｔ３，ｔ４，ｔ５およびｔ６は時間軸上に示される。時間ｔ１で終了する第１期間中、プログラミング電圧は、制御ゲート語線０に印加される。すでに検討したように、トランジスタ３０は、書込み動作の前にプログラムされていたため、トランジスタ３０は、プログラム閾値電圧レベルにあった。プログラミング電圧は、制御ゲート語線０に印加されるので、その結果、プログラミングを強化するような効果がトランジスタ３０に生じ、これにより、トランジスタ３０の閾値電圧を、プログラミング閾値電圧レベル以下に低下させる。閾値電圧が予め定められた書込み限界電圧レベルを下回ると、導通状態になり、これにより、プログラム済みセルとして読み出される。閾値電圧が予め定められた消去限界閾値電圧レベルを上回ると、導通が阻止され、これにより、消去済みセルとして読み出される。トランジスタ３０の閾値電圧がプログラム限界閾値電圧以下に下がるので、トランジスタ３０に格納されるデータに対する悪影響は存在しない。
【００３１】
時間ｔ１から始まって、時間ｔ２で終わる次の期間中、消去電圧が制御ゲート語線０に印加され、その結果、トランジスタ３０の閾値電圧が上昇する。この期間中、消去電圧が与えられるが、トランジスタ３０の閾値電圧を、元のプログラム閾値電圧レベルを超えて上昇させるには不十分である。制御ゲート語線の電圧は、プログラミング電圧と消去電圧との間をトグルするので、トランジスタ３０の閾値は上下するが、プログラム閾値電圧レベル、またはそれ以下に維持される。
【００３２】
トランジスタ３１については違いが生じ、この違いは、書込み動作の前の消去閾値電圧レベルで始まる。図４に示すように、時間ｔ１の終了時に、トランジスタ３１の閾値電圧は、消去閾値電圧レベルを大きく下回り、プログラム閾値電圧レベルに近づく。次の期間の間、消去電圧が印加され、その結果、トランジスタ３１の閾値電圧が微増するが、次のサイクルでは、プログラミング電圧が印加されて、閾値電圧は引き続き、プログラム限界閾値電圧レベルへと向かう。時間ｔ５には、トランジスタ３１は、トランジスタ３０と同様に、プログラム済みの導通状態にあるように見える。
【００３３】
トランジスタ３２は、プログラミング電圧が制御ゲート語線０に印加されるので、強化されたプログラミング閾値電圧によって、トランジスタ３０と同じような働きをする。しかしながら、次の期間中、消去電圧が印加されると、トランジスタ３２の閾値電圧は、消去限界電圧レベルに近づく。時間ｔ２で開始され、時間ｔ３で終了するプログラミング電圧の次のサイクルでは、閾値電圧が微減するが、次の消去サイクル中は上昇を続ける。時間ｔ６には、トランジスタ３２は、トランジスタ３３と同様に、消去済みの非導通状態にあるように見える。
【００３４】
プログラミング電圧が、制御ゲート語線０に印加されるとき、トランジスタ３３では、閾値電圧に負の劣化が生じる。トランジスタ３３の電圧は、図４に示すように、消去閾値電圧レベルから開始するが、時間ｔ１の終了時には、そのレベルを下回っている。時間ｔ１から時間ｔ２まで第２の期間中、＋１２ボルトの消去電圧が、制御ゲート語線０に印加される。この期間中、トランジスタ３３の閾値電圧は、消去閾値電圧レベルに回復するほど上昇するので、トランジスタ３３が受けた劣化から回復する。トランジスタ３３は、書込み動作の前は消去状態にあり、プログラミング電圧が、トランジスタ３３の制御ゲートと結合される制御ゲート語線０に印加されたために、劣化が生じたに過ぎないことに注意されたい。トランジスタ３３は、この書込み動作の終了時に消去されなければならず、そのため、トランジスタ３３の電圧にはほとんど劣化が認められないことが望ましい。
【００３５】
時間ｔ２の間、トランジスタ３０では、トランジスタ３１の場合と同様に、閾値電圧が上昇する。トランジスタ３２では、トランジスタ３２の閾値電圧が、プログラミング閾値電圧レベルから離れて、消去電圧レベルに向かうように変化するので、劇的に上昇する。この実施例によれば、プログラミング電圧と消去電圧は、サイクル単位で、制御ゲート語線０に逐次印加されることに注意されたい。プログラミング電圧の第１サイクルは時間ｔ１までであり、消去サイクルは時間ｔ２まで、プログラミング・サイクルは時間ｔ２からｔ３まで、消去サイクルは時間ｔ３からｔ４まで等々となる。書込み動作は異なるサイクルに渡って続くので、トランジスタ３０とトランジスタ３３はそれぞれ、電圧の変化が小さい。しかしながら、トランジスタ３０と３３は、それぞれの状態を維持しなければならない。トランジスタ３１と３２は、それぞれの状態を変化させなければならず、それぞれ第１の状態から始まって、別の状態に書き込みされる必要がある。
【００３６】
図５は、本発明の別の実施例を示し、ここで、メモリは、３個のトランジスタを含む。分かりやすいように、以下では、トランジスタ４０，４４，４８に焦点を当てるが、同様のことは、トランジスタ４１，４５，４９またはトランジスタ４２，４６，３５またはトランジスタ４３，４７，３６にも当てはまる。記憶セルのデータは、トランジスタ４４（浮動ゲート・トランジスタ）に格納され、このトランジスタは、制御ゲート語線０と結合される。ついで、記憶セルはトランジスタ４０を含み、ここで、トランジスタ４０のゲートは、ドレイン選択語線０と結合され、トランジスタ４０のドレイン・ノードはビット線０と結合される。また、記憶セルはトランジスタ４８を含み、このトランジスタは、ソース選択語線０と結合される。トランジスタ４８のソースは、共通のアレイ接地と結合されることに注意されたい。共通アレイ接地は、トランジスタ４８から４９と３５から３６のソース・ノードと結合される。このメモリ素子において、ビット線０は、トランジスタ４０から４２のドレイン・ノードと結合される。ビット線ｎは、トランジスタ４１から４３のドレイン・ノードと結合される。そのため、ビット線は、複数の語線と結合される。
【００３７】
トランジスタ４４を含む記憶セルへの書込みの間、本発明の方法では、語線０を選択し、メモリ・アレイ内の他の語線すべての選択を解除する。これを行うため、ドレイン選択語線０は、高電圧レベルに保持される。ドレイン選択語線はついで、低電圧レベルに保持される。記憶セルに書き込まれるべきデータは、ビット線０に与えられ、ビット線０は、トランジスタ４０のノードと結合される。ついで、トランジスタ４０のソース・ノードは、トランジスタ４４のドレイン・ノードと結合される。トランジスタ４４への書込みの間、ドレイン選択語線０は、高電圧レベルに保持されてトランジスタ４０をオンにし、これにより、ビット線０からトランジスタ４４へとデータが与えられる。トランジスタ４４のプログラムまたは消去のため、最初にプログラミング電圧が、制御ゲート語線０に印加され、ついで、消去電圧が供給される。プログラミング電圧の後に消去電圧が供給されるサイクル、または消去電圧の後にプログラミング電圧が供給されるサイクルは、１サイクルまたは複数のサイクルにわたって実現できる。また、制御ゲート語線０がプログラミング電圧に保持される期間、および消去電圧に保持される期間は、異なる長さの期間にできることも注意されたい。トランジスタ４４への書込みの間、ソース選択語線０は低電圧に保持され、これにより、共通のアレイ接地から、浮動ゲート装置４４のソースに働きかける。
【００３８】
これと同じトランジスタまたは記憶セルへの書込み方法は、図２に示すような２トランジスタ構成のメモリを使っても実現できることに注意されたい。ここで再び図２を参照する。データはビット線に入力され、どの行が選択されるかに応じて、制御ゲート語線０または制御ゲート語線ｍの電圧は、プログラミング電圧と消去電圧との間でトグルされる。
【００３９】
図６は、本発明の一実施例による集積メモリ回路５０を示す。集積メモリ回路５０は、データ処理システムの一部とすることができ、同システムは不揮発性消去可能メモリを含む。ここで、メモリ・コントローラ５８は、ビット・セル・アレイ５６として図示されるメモリ・アレイの動作を制御する。ビット・セル・アレイ５６は、書込みラッチ５７およびワード・デコーダ５１，５９、およびセンス・アンプと標識される読み出し増幅器５５と結合される。ビット・セル・アレイ５６内に格納されるデータは、比較器３８により、書込みラッチ５７に格納されるデータと比較される。本発明の一実施例によれば、ビット・セル・アレイ５６内に格納されるデータは、読み出し増幅器５５によって、比較器３８に与えられる。本発明の一実施例によれば、制御ゲート語線電圧が、高電圧ワード・デコード５１によって与えられ、選択線が、低電圧のワード・デコード５９によって与えられる。３トランジスタ構成のメモリ実現を有する別の実施例によれば、ドレイン選択語線は、低電圧のワード・デコード５９により与えられ、制御ゲート語線は、高電圧のワード・デコード５１により与えられる。
【００４０】
高電圧のプレデコード５２は、高電圧のワード・デコード５１と結合され、後者はまた、ビット・セル・アレイ５６と結合される。読み出し増幅器５５は比較器３８と結合され、かつ、メモリ・コントローラ５８と双方向に結合される。メモリ・コントローラ５８は、アドレス情報と制御情報、および集積メモリ回路５０内からのデータ情報を受け取り、かつデータ処理システム内からかかる情報を受け取ることができる。メモリ・コントローラ５８は、低電圧のワード・デコード５９と双方向に結合される。メモリ・コントローラ５８は、新しいデータ情報を書込みラッチ５７に与え、ここで、新しいデータは、書込みラッチ５７内に格納されて、ビット・セル・アレイ５６に書き込まれる。メモリ・コントローラ５８は、記憶機構５３，５４（後で詳述する）および比較器３８と結合される。図６に示される結合は、複数の導線によって実現され、ここでは、単一方向性と双方向性は矢印で示される。
【００４１】
メモリ・コントローラ５８は、書込み動作を含めて、ビット・セル・アレイ５６へのアクセスを制御する。ビット・セル・アレイ５６は、複数のメモリ行を含み、それぞれに対して、語線と複数のビット線とを組合わせることによってアクセスする。ビット・セル・アレイ５６内の一つの行への書込み動作の場合、メモリ・コントローラ５８は、アサートすべき適切な制御ゲート語線を指示し、書込みラッチ５７からのデータを用いて、当該行のビット線に電圧レベルを与える。ついで、比較器３８が、ビット・セル・アレイ５６内に格納されるデータと、書込みラッチ５７内に格納されるデータとの比較に関する出力表示として、検証消去信号（ＶＥ）および検証プログラム信号（ＶＰ）を発生する。出力信号ＶＥおよびＶＰは、図６に示すようにレジスタ内に格納でき、ここで、データ記憶機構５３は、ＶＥ情報を格納し、データ記憶機構５４はＶＰ情報を格納する。検証消去および検証プログラム情報が、メモリ・コントローラ５８に与えられ、同コントローラは、この情報を利用して、所望の書込み動作を達成するために実施すべきさらなる動作に関して、決定を行う。
【００４２】
メモリ・コントローラ５８は、プログラム・サイクルまたは消去サイクルをもう１回実施する決定を行うことができる。また、メモリ・コントローラ５８は、プログラミング時間および／または消去時間を増加または削減することができ、或いはプログラミング電圧および／または消去電圧を調整して、ビット・セル・アレイ５６を効果的にプログラムすることができる。代替的実施例では、メモリ・コントローラ５８は、消去すべきブロックのサイズを決定する。メモリ・コントローラ５８はまた、プログラミングまたは消去時間が一定の値を超える不良セルを検出することができ、当該記憶セルは使用されない。メモリ・コントローラ５８は、集積メモリ回路５０内またはデータ処理システム内の状況に反応して、プログラミング時間および／または消去時間を調整することができる。
【００４３】
集積メモリ回路５０はまた、データ・リフレッシュ動作を実施するように設計される。データをリフレッシュするには、メモリ・コントローラ５８が、新しいデータを書込みラッチ５７に与え、適切なビット線電圧を制御して、新しいデータをその行に書き込むのではなく、書込みラッチ５７内のデータは、そもそも、行からロードされたデータと同じ形で維持される。ついで、メモリ・コントローラ５８は、適切なビット線電圧を制御して、この同じデータを行内に戻すように再度書き込む。この種のリフレッシュ動作の利点は、メモリ回路を超えてデータを転送する必要なしに行えることである。先行技術のリフレッシュ動作では、不揮発性メモリのデータは最初にＲＡＭ（データ・バスを介したデータの転送が必要）にロードされ、ついで、不揮発性メモリが消去されて、ＲＡＭ内に格納されたデータによって再度プログラミングされる（ここでもデータ・バスを介したデータの転送があらたに必要）。データの特に大きな部分をデータ・バスを介して転送することは、ハッカーがデータにアクセスしやすくなるので、セキュリティ上のリスクが高くなる。このため、本発明では、このリスクを回避できる。
【００４４】
図７は、本発明の一実施例による書込み動作のプロセスの流れを示す。プロセスの流れは、プロセス・ブロック６０において、書込みを行う語線を選択することから始まる。語線は１行のデータを指すこともある。被選択語線への書込みは、書込みラッチ５７内に格納されたデータと一致させて、ビットをプログラムしたり、またはビットを消去することができる。書込みラッチ５７が論理「０」を含む場合に、ビットが消去され、書込みラッチ５７が論理「１」を含む場合には、ビットがプログラミングされる。プロセス・ブロック６１に進み、書込みラッチ５７として図６に示されるように、被選択行からのビット・データが書込みラッチ内にロードされる。プロセス・ブロック６８では、書込みラッチ５７内のデータが、ビット・セル・アレイ５６内の行に書き込まれるべきデータを示すように変更される。プロセス・ブロック６２において、メモリ・コントローラ５８は、書込みラッチ５７内に格納される情報によって定義される通りに、ビット線電圧を与える。プロセス・ブロック６３に進み、プログラミング電圧が、第１期間にわたって、被選択行の制御ゲート語線に印加される。プロセス・ブロック６４において、消去電圧が、第２期間にわたって、被選択行の制御ゲート語線に与えられる。第１期間および第２期間は同一期間とすることができることに注意されたい。また、第１期間と第２期間は、処理パラメータ，メモリのサイズ，または他の回路設計上の問題点に応じて、調整できることに注意されたい。
【００４５】
プロセス・ブロック６５において、被選択行はついで、データを図６の読み出し増幅器５５に与えることによって読み出される。再び図７を参照し、プロセス・ブロック６６において、ビット・セル・アレイ５６からのデータは、書込みラッチ５７内のデータと比較される。この比較は、図６の比較器３８によって行われる。デシジョン・ダイアモンド（decision diamond）６７において、ビット・セル・アレイ５６の被選択行内のすべてのビットが、書込みラッチ５７内に格納されたデータの限界値以内にあるかどうか判断される。すべてのビットが、消去限界閾値電圧レベルを上回る、またはプログラム限界閾値電圧レベルを下回る場合には、プロセスは終了する。しかしながら、任意のビットが、２つの限界閾値電圧レベルの間に入る場合には、プロセスの流れは、プロセス・ブロック６３に進み、ここで、プログラミング電圧と消去電圧のサイクルが再び適用される。
【００４６】
図７のそれと極めて似通ったプロセスの流れは、本発明による消去可能不揮発性メモリのデータをリフレッシュするのに用いられるが、次の点についてのみ異なっている。プロセス・ブロック６０において、選択される行は、リフレッシュすべき行である。しかしながら、リフレッシュ動作でも、当該行を有効に書き込む、またはプログラミング／消去するので、これは動作内容上の問題である。プロセス・ブロック６１は同じであり、すなわち、被選択行からのデータが、書込みラッチにロードされる。ここで、プロセス・ブロック６８のように、少なくとも一つの書込みラッチを変更するのではなく、書込みラッチ内のデータは、リフレッシュ動作では変更されないまま残される。プロセスの流れの残りは同じである。書込みラッチ内のデータに対応するビット線電圧が印加される（しかし、このデータは変更されない）。プログラミング電圧と消去電圧が、被選択行の制御ゲートに印加されて、書込みラッチ内のデータとビット線電圧とによって決定される通りに、行内の適切なビットをプログラム／消去する。プログラミング電圧と消去電圧を印加した後、検証なしに、リフレッシュすべき行を考慮することができる。また、図７の残りの部分で記載される検証プロセス（または図８を参照して、以下に記載する検証プロセス）は、適切なリフレッシュを保証するために実施することができる。
【００４７】
図８は、本発明の代替的実施例を示し、この図で、プロセス・ブロック７０に示されるプログラムは、図７のブロック６３のプログラミング・サイクルを示す。ここで、プログラミング電圧が再び、被選択行の制御ゲート語線に印加される。プロセスは、プロセス・ブロック７１に進み、ここで、消去サイクルは、図７のプロセス・ブロック６４の消去サイクルに対応する。ここで、消去電圧が、被選択行の制御ゲート語線に印加される。この場合も、プログラミング電圧と消去電圧を印加する期間は、パラメータの数に応じて調整できるか、または予め定められた値に設定できる。プロセス・ブロック７２において、プロセスは、被選択行内のすべてのビットを検証する。この検証プロセスは、図７のプロセス・ブロック６５，６６と似通っており、データは、被選択行から読み出され、ついで、書込みラッチ５７内に格納されるデータと比較される。
【００４８】
デシジョン・ダイアモンド７５において、すべてのビットを消去するかどうか判断される。これは、書込みラッチ５７内に格納されるデータによって決定される通りに、消去を意図するこれらのビットを比較することを指す。消去すべきすべてのビットが消去されていない場合、プロセスの流れは、プロセス・ブロック７９に示すように、もう一つの消去サイクルに進み、これは、プロセス・ブロック７１で実施されるのと似通っている。プロセス・ブロック７９の消去サイクルが完了すると同時に、プロセスの流れは、プロセス・ブロック７２に進み、被選択行内のすべてのビットを検証する。デシジョン・ダイアモンド７５において、すべてのビットが消去される場合には、プロセスの流れはブロック７２に進む。プロセスの流れは、ブロック７２から、デシジョン・ダイアモンド７３に進み、すべてのビットがプログラミングされたかどうか判断する。これは、書込みラッチ５７内に格納されたデータによってプログラミングする必要のあるすべてのビットが、実際にビット・セル・アレイ５６内でプログラミングされたことを検証する。すべてのビットがプログラミングされた場合には、プロセスは、デシジョン・ダイアモンド７６に進み、すべてのビットが消去されたことを判断する。これは、デシジョン・ダイアモンド７５の検証と似通っている。すべてのビットが消去された場合、プロセスは、最終のプログラミング・サイクルのためにブロック７７に進み、最終の消去サイクルのためにブロック７８に進む。しかしながら、デシジョン・ダイアモンド７６において、すべてのビットが消去されていない場合には、プロセスは、ブロック７９の消去サイクルに進む。
【００４９】
このように、消去の失敗またはプログラムの失敗により、制御ゲート語線に電圧を印加するサイクルがもう１つトリガされる。障害モードは、印加された電圧レベル、および印加される時間数を決定する。ビットが消去に失敗する場合、もう１回消去サイクルが実施される。また、ビットがプログラミングに失敗する場合、もう１回プログラミング・サイクルが実施される。本発明の一実施例によれば、書込み動作が完了したとき、すべてのビットが正しく書き込まれる場合には、プログラミング・サイクルと消去サイクルがもう１回ずつ実施される。これは、書込み動作をさらに強化するためである。
【００５０】
図９は、図６のメモリ・コントローラ５８の動作を状態図で示したものである。ビット・セル・アレイ５６内の書込み動作の開始により、ＶＥおよびＶＰが予め定められた値に強制される。本発明によれば、ＶＥおよびＶＰは、プログラミングおよび消去が検証されないときに、アサートされる。代替的実施例では、反対の論理指定も行えることに注意されたい。ＶＥおよびＶＰを論理「１」に強制することにより、状態９０で、プログラミング・サイクルまたはプログラミング状態が開始される。プログラミング・サイクルが完了したとき、ＶＥが依然論理値「１」である場合には、消去サイクルが状態９２において開始される。しかしながら、状態９０のプログラミング・サイクルの後、ＶＥがクリアされる場合には、メモリ・コントローラ５８は検証のため、状態９３に遷移する。
【００５１】
状態９２に進み、消去サイクルが実施される。消去サイクルが完了する時点で、メモリ・コントローラ５８は、検証状態９３に遷移する。状態９３の検証が完する時点で、ＶＰがクリアされ、かつＶＥが設定される場合には、メモリ・コントローラ５８は、もう１回消去サイクルを実施するために、状態９２に遷移する。この場合、プログラミングされるべきすべてのビットがプログラミングされた間、少なくとも１ビットは消去されなかった。状態９３の検証が完了する時点で、ＶＥおよびＶＰがともにクリアされる場合には、書込み動作が完了する。しかしながら、ＶＰが設定される場合には、メモリ・コントローラ５８は、状態９０のプログラミングに戻るように遷移する。状態９０においてプログラミング・サイクルが完了したとき、ＶＥがクリアされる場合には、メモリ・コントローラ５８は、検証状態９３に遷移する。状態９０と９２は書込み動作を検証せず、ＶＥまたはＶＰを更新しない。ＶＥおよびＶＰは、状態９３において検証が完了するときにのみ更新される。
【００５２】
一つの実施例によれば、不揮発性メモリの１ビットに書き込む方法が提供され、これにより、プログラミング電圧と消去電圧は、被選択語線の制御ゲート語線に交互に印加される。書込みは、メモリ・アレイ内のビットのプログラミングと消去とを含む。これと同じ書込み動作を使用して、データ・バス上へのデータの転送を必要とせずに、アレイ内のデータをリフレッシュすることができる。書込み動作が完了するとき、検証消去（ＶＥ）の指示および検証プログラム（ＶＰ）の指示が、メモリ・コントローラに与えられ、メモリ・コントローラはついで、複数のサイクルが必要であるかどうかを判断する。記憶セルの構成により、メモリ・アレイ内の各ビットを分離させて、隣接するビットに書込みの影響が及ぶのを回避することができる。一つの実施例によれば、３トランジスタ構成のＥＥＰＲＯＭは、被選択語線のドレイン選択に高電圧を供給する一方、他の語線のドレイン選択には低電圧をかえることによって、書込みが行われる。プログラミング電圧と消去電圧とは、書込みが完了するまで、被選択語線の制御ゲート語線に、サイクル単位で印加される。
【００５３】
本発明の一実施例によれば、２トランジスタ構成の記憶セルを含むメモリ・アレイは、３トランジスタ構成の記憶セルの方法と同様の方法で、プログラミングと消去が行われる。プログラミング電圧と消去電圧は、制御語線に対して交互に印加されるが、ドレイン選択トランジスタは存在しない。図６を参照して、メモリ・コントローラ５８は、図９に示すように動作する。図７および図８に示す方法は、上記のメモリ・アレイに適用できる。
【００５４】
本発明を好適な実施例に即して説明してきたが、本発明が数多くの方法で変形でき、また上記に具体的に記述され説明された以外に多くの実施例をとることができることは、当業者には明白であろう。したがって、添付請求の範囲は、本発明の真正の意図および範囲に属する本発明のすべての変形を包含することを意図している。
【図面の簡単な説明】
【図１】  消去選択を有する不揮発性記憶セルの先行技術による実現を回路図で示す。
【図２】  ２トランジスタ構成のソース選択フラッシュ・メモリを回路図で示す。
【図３】  本発明の一実施例によるメモリ・アレイの一部を回路図で示す。
【図４】  本発明の一実施例によるメモリに書き込む方法に相当するタイミング図である。
【図５】  本発明の一実施例による３トランジスタ構成のメモリ・アレイを回路図で示す。
【図６】  本発明の一実施例によるメモリをブロック図で示す。
【図７】  本発明の別の実施例によるメモリに書き込む方法を流れ図で示す。
【図８】  本発明の別の実施例によるメモリに書き込む方法を流れ図で示す。
【図９】  本発明の一実施例による図６のメモリ・コントローラ５８の動作を状態図で示す。
【符号の説明】
１０，１２，１４，１５，１６，１８，１９，２０，２２，２４，２６，２８，３０，３１，３２，３３，３５，３６，４０，４１，４２，４３，４４，４５，４６，４７，４８，４９  トランジスタ
３８  比較器
５０  集積メモリ回路
５１  高電圧ワード・デコード
５２  高電圧プレデコード
５３，５４  記憶機構
５５  読み出し増幅器
５６  ビット・セル・アレイ５６
５７  書込みラッチ
５８  メモリ・コントローラ
５９  低電圧ワード・デコード
【図１】
0004405621.tif 000002
【図２】
0004405621.tif 000003
【図３】
0004405621.tif 000004
【図４】
0004405621.tif 000005
【図５】
0004405621.tif 000006
【図６】
0004405621.tif 000007
【図７】
0004405621.tif 000008
【図８】
0004405621.tif 000009
【図９】
0004405621.tif 000010