(57)【特許請求の範囲】
【請求項１】
複数の不揮発性メモリセルを有するメモリアレイ（１００）と、
該メモリアレイに接続され、該複数の不揮発性メモリセルに電圧を加えて該メモリアレイ内の複数の不揮発性メモリセルを読取りかつプログラムする供給回路（１０８、１０９）と、
ページバッファ（１９０）内にあり、該メモリアレイに接続され、該メモリアレイ内の不揮発性メモリセルの行の少くとも一部を含んでいる組に対してデータ記憶用のバッファを与える複数のビットラッチ（５２４、５２６、５３４、５３６）と、
該供給回路と該ビットラッチとに接続され、該供給回路を制御して不揮発性メモリセルの該組に対して該複数のビットラッチ内の該データをプログラムするようにする制御ロジック（１０６）と、
該メモリアレイと該複数のビットラッチとに接続され、該メモリアレイ内で不揮発性メモリセルの該組に対してデータのプログラミングが成功したことを確認する自動データ確認回路（５５７、５６７、５６４）と、
を備えたデータ記憶用装置であって、
該自動データ確認回路は、該ビットラッチとメモリアレイ内の不揮発性メモリセルとに接続されたセンスラッチ（５５７）を含む確認ロジックを備え、該確認ロジックは該ビットラッチを該不揮発性メモリセルから分離し、該不揮発性メモリセルから該メモリデータを読取り、該読取ったメモリデータを前記センスラッチ（５５７）の対応するものに記憶し、該読取ったメモリデータで対応するセンスラッチ（５５７）のものがプログラムされた状態を示すときには対応するビットラッチ（５２４、５２６、５３４、５３６）をリセットすることを特徴とするデータ記憶用装置。
【請求項２】
複数の不揮発性メモリセルの各行は第１のページと第２のページとを含み、前記組は不揮発性メモリセルのあるページを含んでいる請求項１記載の装置。
【請求項３】
請求項１又は請求項２記載の装置であって、
該メモリアレイは少くともＭワードラインと複数の不揮発性メモリセルに接続されたＮビットラインとを含み、また、該複数のビットラッチは各Ｎビットラインについて１ビットラッチを有しており、かつＮは３２よりも大きいものである装置。
【請求項４】
請求項１記載の装置であって、該自動データ確認回路が、出力論理（５１０、５１２、５１４、５１６）を含み、該出力ロジックは確認されている各不揮発性メモリセルの確認ロジックに接続されていて、該自動データ確認回路は、すべてのビットラッチがある特定の二進値を記憶するときにはデータ確認した信号（ＡＢＬＲＥＳ）を用意するようにした装置。
【請求項５】
さらに再試行ロジックを備え、このロジックは確認ロジックと制御ロジックとに接続され、また前記特定の値を記憶していない対応するビットラッチを有している不揮発性メモリセルを再プログラムするようにした請求項４記載の装置。
【請求項６】
請求項５記載の装置であって、該再試行ロジックはプログラム再試行を計数し、再試行について再プログラム制限を設定するようにした装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はフラッシュＥＥＰＲＯＭメモリ技術に関し、特に自動プログラムベリファイ及びページプログラミング用の改善されたフラッシュＥＥＰＲＯＭメモリ構成に関する。
【０００２】
【従来の技術】
フラッシュＥＥＰＲＯＭは不揮発性記憶集積回路の中で著しく発展している。
【０００３】
メモリフラッシュＥＥＰＲＯＭ内のメモリセルは、いわゆるフローティングゲートトランジスタを用いて形成され、フローティングゲートを充電または放電することによりデータはセル内に格納される。フローティングゲートはポリシリコン等の導電材料で、薄い酸化膜または他の絶縁材料によってトランジスタのチャンネルから絶縁されており、絶縁材料の第２層によりトランジスタのコントロールゲートから絶縁されている。
【０００４】
フローティングゲートは Fowler-Nordheim tunneling 機構を用いてゲー
ト及びソース又はドレイン間に大きなプラス電圧をかけてることにより充電できる。これにより電子は薄い絶縁膜を介してフローティングゲートに注入される。
【０００５】
又は、電位を与え高エネルギ電子をセルのチャンネル内に誘起することにより、ホットエレクトロン注入と呼ばれる雪崩注入機構を用いることができ、こ機構は絶縁膜を介してフローティングゲートに電子を注入する。フローティングゲートが充電されると、メモリセルを導通させるための閾値電圧は、リード(read)動
作の時にワードラインに与えられた電圧以上に上昇する。従って、充電されたセルがリード動作のときにアドレスされた場合、セルは導通しない。セルの非導通状態はセンス回路の極性に応じてバイナリの１又は０として示される。
【０００６】
【発明が解決しようとする課題】
フローティングゲートは放電して逆のメモリ状態をとる。この機能はトランジスタのフローティングゲートとソース又はドレイン間、又はフローティングゲートと基板間のＦ−Ｎトンネル機構により一般に行われる。例えばフローティングゲートはドレインからゲートへ大きなプラス電圧を与えることにより、ドレインを介して放電する。このときソースはフローティング電位のままである。
【０００７】
フローティングゲートを充電及び放電するために用いる高電圧は、特にセルサイズ及び処理仕様の減少に伴って、フラッシュメモリ装置に著しい設計的制限を与える。
【０００８】
更に、フローティングゲートを充電及び放電する動作は、特にＦ−Ｎトンネル機構を用いる場合に比較的低速な処理で、速度が要求される用途でフラッシュメモリ装置の適用範囲を制限することがある。
【０００９】
フラッシュメモリ装置の動作を低速にする他の処理はプログラムベリファイである。プログラムシーケンスを適用した後、プログラミングはベリファイされなければ完全なものではなく、ベリファイでエラーが検出された場合、プログラミングは再び行われる。プログラムの再実行は一般にワード単位又はバイト単位で行われる。従って、１エラービットを有するバイト内に正常にプログラムされた複数ビットはそのプログラムサイクルを繰り返し受ける。これによりオーバープログラミング及びセルの不具合が生じることがある。この問題に対する１つの方法が、米国特許出願Ｎｏ．５，１６３，０２１（発明者：Mehrotra，et al.
コラム１９、１０行以降、図１４〜１７）に示されている。
【００１０】
従って、速度を向上し従来のオーバープログラミングエラーを克服するフラッシュＥＥＰＲＯＭセル構成及びそのプログラミング方法の提供が望まれている。
【００１１】
【課題を解決するための手段】
本発明は新たなフラッシュＥＥＰＲＯＭセル及びアレイの設計、及びこのセル及びアレイを高速にプログラムする方法を提供する。このフラッシュＥＥＰＲＯＭアレイの設計は"ページモード"プログラミングに基づいており、このプログラミングは、例えば１０２４個のフラッシュＥＥＰＲＯＭセルを並列に含むページにより構成されるデータの行を書き込むことにより行われる。従って本発明の特徴によれば、フラッシュＥＥＰＲＯＭトランジスタアレイが提供される。このメモリアレイはデータを格納するための複数のフラッシュＥＥＰＲＯＭセルを有する。供給回路は複数のフラッシュＥＥＰＲＯＭセルに電圧を供給し、メモリアレイ内の複数のフラッシュＥＥＰＲＯＭセルをリード及びプログラムする。ページバッファは、対応するビットラインに接続された複数のビットラッチを含み、メモリアレイ内の１つのワードラインに沿ったフラッシュＥＥＰＲＯＭセルの行にページデータの格納部を提供する。コントロールロジックは、ビットラッチ内のメモリデータ及びアドレス信号に応じて前記供給回路を制御し、前記行内の複数のフラッシユＥＥＰＲＯＭセルにデータをプログラムする。データベリファイ回路はこの行内の各セルにプログラムされたメモリデータを自動的にベリファイし、
ベリファイに合格したセルに対応するビットラッチをリセットする。全ビットラッチがリセット状態となりセルの行がベリファイを合格したとき、ページベリファイド(verified)信号が発生し、他の場合プログラム動作は繰り返される。
【００１２】
本発明の他の特徴によれば、メモリアレイは少なくともＭ行及びＮ列のフラッシュＥＥＰＲＯＭセルを含む。フラッシュＥＥＰＲＯＭセルの全行がプログラムシーケンスでプログラムされるように、ビットラッチは格納用メモリデータをフラッシュＥＥＰＲＯＭセルの行に提供する。フラッシュＥＥＰＲＯＭセルの全行がプログラムされた後、プログラムされたフラッシュＥＥＰＲＯＭセル内のデータはベリファイされる。このデータベリファイ回路は、ベリファイロジックを含み、このロジックはフラッシュＥＥＰＲＯＭセルからメモリデータを読み出し、対応するビットラッチをリセットし、フラッシュＥＥＰＲＯＭセルからのメモリデータがビットラッチによりプログラムされた状態を示すとき、セルデータベリファイ信号を提供する。従ってベリファイロジックはフラッシュＥＥＰＲＯＭセル内のメモリデータの自動プログラムベリファイを提供する。フラッシュＥＥＰＲＯＭセルの行内の各フラッシュＥＥＰＲＯＭセルからのメモリデータは、対応するビットラッチのメモリデータと比較され、自動的にベリファイされる。
【００１３】
本発明の更に他の特徴によれば、前記データベリファイ回路は出力ロジックを含み、このロジックは、全てのセルデータベリファイ信号がベリファイされたフラッシユＥＥＰＲＯＭセルに対して受信されたとき、ページベリファイ信号を提供する。この出力ロジックがページベリファイ信号を提供しないとき、丙試行ロジックが、プログラムベリファイで不合格となったフラッシュＥＥＰＲＯＭセルを再度プログラムする。この再試行ロジックは再プログラム試行回数を計数し、再プログラム試行回数限度を設定するロジックを含む。
【００１４】
更に本発明の他の特徴によれば、前記プログラム回路はロジックを含み、このロジックはフラッシュＥＥＰＲＯＭセルからプログラムされた入力データをリードし、そのプログラムされた入力データとビットラッチのデータとを比較し、フラッシュＥＥＰＲＯＭセル全てがプログラムベリファイに合格したとき、プログラムベリファイド信号を提供する。このロジックはプログラムされたフラッシュＥＥＰＲＯＭセルが全てプログラムベリファイに合格したとき、自動的にプログラムベリファイド信号を提供する。
【００１５】
更に本発明の他の特徴によれば、Ｍ行Ｎ列のフラッシュＥＥＰＲＯＭメモリセルを有するメモリアレイ内にデータを格納する方法が提供され、この方法は、ページバッファに入力データの行をロードし、その入力データをメモリの行にプログラムするためにメモリセルの行を選択し、メモリセルの行を前記ページバッファからの入力データによりプログラムし、そのメモリセルの行を読み出し、メモリセルの行に対する入力データのプログラミングをベリファイし、メモリセルの行内の入力データがベリファイされたとき、プログラムベリファイフラグを設定する。メモリアレイは更に、ベリファイで不合格となったセルのみを再プログラムするステップを含む。
【００１６】
本発明の他の特徴及び効果は図面、詳細な説明、及び請求の範囲から理解できるものである。
【００１７】
【実施例】
本発明の好適実施例を図面を参照して詳細に説明する。図１は本発明によるフラッシュＥＥＰＲＯＭ集積回路モジュールの概要を示す。図１の集積回路モジュールは一般的なフラッシュＥＥＰＲＯＭメモリアレイ１００を含む。
【００１８】
メモリアレイ１００にはメモリアレイ内の水平デコード用のワードライン及びブロック選択デコーダ１０４が接続されている。又、メモリアレイ１００にはアレイ内の垂直デコード用の列レコーダ及びバーチャルグランド回路１０５が接続されている。
【００１９】
列デコーダ及びバーチャルグランド回路１０５には構造１０３内のプログラムデータ入力及びセンスアンプ１０７が接続されており、これはメモリアレイに接続されるデータ入出力回路を提供する。
【００２０】
一般にフラッシュＥＥＰＲＯＭ集積回路は、リードオンリーモード、プログラムモード、及び消去モードで動作する。従って、モード制御回路１０６がチップ上のアレイ１００及び他のブロック（１０８、１０９、１０５）に接続されている。
【００２１】
最後に、本発明の一実施例によれば、プログラム及び消去モード期間中、メモリセルのゲートまたはソース及びドレインの何れかに負の電位が供給される。従って、負電圧発生器１０８及び正電圧発生器１０９がアレイに様々な参照電圧を供給するのに用いられる。一般に負電圧発生器１０８及び正電圧発生器１０９は電源電圧ＶCC又はＶCC及び高プログラム電位ＶPPにより駆動される。
【００２２】
図２は大規模集積回路内の２つのセグメントに関する設計の一例を示す。これらの部分は点線５０に沿って一般に分割され、点線５０上部のセグメント５１Ａ及び点線５０下部のセグメント５２Ｂを含む。セグメント５１Ａ内の列の第１対５２は、与えられたグローバルビットライン対（例えばビットライン７０、７１）
に沿って、セグメント５１Ｂ内の列の第２対５３と鏡像(mirror imagc)となる
ように配置される。メモリセグメントはバーチャルグランド導体５４Ａ、５４Ｂ（埋め込み拡散）及び金属拡散接点５５、５６、５７、５８を共用するように構成される。バーチャルグランド導体５４Ａ、５４Ｂはアレイを水平に横切り、金属拡散接点６０Ａ、６０Ｂを介して垂直バーチャルグランド金属線５９まで延長されている。隣接するセグメントが金属バーチャルグランド線５９を共用するように、セグメントは金属バーチャル線５９の反対側で反復されている。従って図２のセグメント配置では、グローバルビットラインの２つのトランジスタセルの各列毎に２つの金属接触ピッチ(pitches)、及び金属バーチャルグランドライン５９について各セグメント毎に１つの金属接点ピッチが必要となる。
【００２３】
与えられたビットライン対に沿った各列対（例えば５２、５３）はＥＥＰＲＯＭセルのセットを具備する。従って７５−１、７５−２、７５−Ｎは、列の対７７の第１列における第１セットのフラッシュＥＥＰＲＯＭセルを構成する。セル７６−１、７６−２、７６−Ｎは列の対７７の第２列における第２セットのフラッシュＥＥＰＲＯＭセルを構成する。
【００２４】
セルの第１セット及びセルの第２セットは共通埋め込み拡散ソースライン７８を共用する。セル７５−１、７５−２、７５−Ｎは埋め込み拡散ドレインライン７９に結合されている。セル７６−１、７６−２、７６−Ｎは埋め込み拡散ドレインライン８０に接続されている。上部選択トランジスタ８１及び上部選択トランジスタ８２を具備するセレクタ回路は、ドレイン拡散ライン７９、８０を金属グローバルビットライン８３、８４に各々結合している。従ってトランジスタ８１はドレイン拡散ライン７９に結合されたソースと金属接点５７に結合されたドレインを有する。トランジスタ８２はドレイン拡散ライン８０に結合されたソースと金属接点５８に結合されたドレインを有する。トランジスタ８１及び８２のゲートは信号ＴＢＳＥＬAにより制御され、フラッシュＥＥＰＲＯＭセルの各列をグローバルビットライン８３及び８４に接続する。
【００２５】
ソース拡散ライン７８は選択トランジスタ８５のドレインに接続されている。
【００２６】
選択トランジスタ８５のソースはバーチャルグランド拡散ライン５４Ａに接続されている。トランジスタ８５Ａのゲートは信号ＢＢＳＥＬAにより制御されている。
【００２７】
更に、図２に示すように複数のセグメントのセクタは、上部及び下部ブロック選択信号ＴＢＳＥＬA、ＴＢＳＥＬB、ＢＢＳＥＬA、及びＢＢＳＥＬBにより提
供される追加デコーディングにより、ワードライン信号を共用することができる。
【００２８】
一実施例において、８つのセグメントがワードラインドライバを共用することにより、８セグメント深度(deep)のセクタを提供する。
【００２９】
図から判るように本発明による構成は、セクタ分けされたフラッシュＥＥＰＲＯＭアレイを提供する。これは効果的な構成である。なぜなら、リード、プログラム又は消去サイクル中に、選択されていないセグメント内のトランジスタのソース及びドレインは、ビットライン及びバーチャルグランドライン上の電流及び電圧から分離できるからである。従ってリード動作中にセンス動作(sensing)
改善される。なぜなら、選択されていないセグメントからの漏れ電流はビットライン上の電流に影響を及ぼさないからである。プログラム及び消去動作中、バーチャルグランドラインとビットラインの電圧は非選択セグメントから分離される。
【００３０】
これにより、与えられたセクタ内のセグメントがワードラインドライバを共用するときに、セグメント毎又は好適にセクタ毎のセクタ分けされた消去動作が可能となる。
【００３１】
下部ブロック選択トランジスタ（例えばトランジスタ６５Ａ、６５Ｂ）は、後述の図３に示す所定構成のように不要となることが望ましい。又、これらのブロック選択トランジスタは、下部ブロック選択信号を隣接するセグメントと共用することができる。又は、下部ブロック選択トランジスタ（例えば６５Ａ、６５Ｂ）
は、バーチャルグランド端子６０Ａ、６０Ｂに隣接する単一の分離トランジスタにより置き換えることもできる。
【００３２】
図３は本発明によるフラッシュＥＥＰＲＯＭアレイの他の構成を示し、フラッシュＥＥＰＲＯＭセルの２つの列は単一金属ビットラインを共用している。図３はアレイ列の４対を示し、列の各対はフラッシュＥＥＰＲＯＭセルをドレイン・ソース・ドレイン構成で含んでいる。
【００３３】
従って、第１列対１２０は第１ドレイン拡散ライン１２１、ソース拡散ライン１２２、及び第２ドレイン拡散ライン１２３を含む。ワードラインＷＬ０〜ＷＬ６３は各々、列対の第１列の中のセルのフローティングゲート及び列対の第２列の中のセルのフローティングゲートを覆っている。図に示すように、第１列対は、
セル１２４、セル１２５、セル１２６、及びセル１２７を含む１つの列を含む。
【００３４】
ワードラインＷＬ２〜ＷＬ６１に接続されたセルは示されていない。列対１２０の第２列は、セル１２８、セル１２９、セル１３０、及びセル１３１を含む。アレイの同一列に沿って、第２列対１３５が示されている。これは鏡像に配置されていることを除き、列対１２０と同一構成である。
【００３５】
このように、セル１２５のような第１列対内のトランジスタは、ドレイン拡散ライン１２１内のドレイン及びソース拡散ライン１２２内のソースを含む。フローティングゲートは、第１ドレイン拡散ライン１２１とソース拡散ライン１２２の間のチャンネル領域を覆っている。ワードラインＷＬ１はセル１２５のフローティングゲートを覆い、フラッシュＥＥＰＲＯＭセルを形成している。
【００３６】
列対１２０及び列対１３５はアレイバーチャルグランド拡散１３６（ＡＲＶＳＳ）を共用している。従って、列対１２０のソース拡散ライン１２２はグランド拡散１３６に接続されている。同様に、列対１３５のソース拡散ライン１３７はグランド拡散１３６に接続されている。
【００３７】
前述したように、セル列の各対１２０は単一金属ラインを共用している。従って、ブロック右選択トランジスタ１３８及びブロック左選択トランジスタ１３９が含まれている。トランジスタ１３９はドレイン拡散ライン１２１内のドレイン、
金属接点１４０に接続されたソース、及びライン１４１上の制御信号ＢＬＴＲ１に接続されたゲートを含んでいる。同様に右選択トランジスタ１３８は、ドレイン拡散ライン１２３内のソース、金属接点１４０に接続されたドレイン、及びライン１４２上の制御信号ＢＬＴＲ０に接続されたゲートを含んでいる。従って、トランジスタ１３８及び１３９を含む選択回路は、第１ドレイン拡散ライン１２１と第２ドレイン拡散ライン１２３の、金属接点１４０を介した金属ライン１４３（ＭＴＢＬ０）に対する選択的接続を提供する。同様に、列対１３５は右選択トランジスタ１４４及び右選択トランジスタ１４５を含み、これらトランジスタは金属接点１４６に同様に接続されている。接点１４６は接点１４０のように同一金属ライン１４３に接続され、接点１４０は列対１２０に接続されている。この金属ラインは２列以上のセルにより、追加の選択回路を用いて共用することが出来る。
【００３８】
図２及び３の構成は、２列のセルを形成するドレイン・ソース・ドレインユニットに基づいており、これらのセルは隣接する列のドレイン・ソース・ドレインユニットから分離され、隣接する列のセルからの漏れ電流を防止している。この構成は、センス回路の漏れ電流に対する適当な許容により、又は非選択セルからの漏れ電流に対する他の制御により、３列以上のユニットに拡張できる 従って、
例えば与えられた分離領域内に第４及び第５拡散ラインを追加し、４列のセルを提供するドレイン・ソース・ドレイン・ソース・ドレイン構造を構成できる。
【００３９】
列対は水平及び垂直に配置され、Ｍワードライン及び２Ｎ列を具備するフラッシュＥＥＰＲＯＭのアレイを提供する。このアレイはＮ本の金属ビットラインのみを必要とし、各ラインは前述したように選択回路を介してフラッシュＥＥＰＲＯＭの列対に接続される。
【００４０】
図では２つの金属ビットライン１４３及び１５２（ＭＴＢＬ０、ＭＴＢＬ１）に接続された４つの列対１２０、１３５、１５０、及び１５１のみが示されているが、アレイは必要に応じて水平及び垂直に繰り返し、大規模フラッシュＥＥＰＲＯＭメモリアレイを構成できる。従って、１つのワードラインを共用する列対１２０及び１５０は水平に繰り返され、アレイの１セグメントを提供する。セグメントは垂直に繰り返される。共用ワードドライバに接続される複数ワードラインを各々有するセグメントグループ（例えば８セグメント）は、アレイのセクタと考えることができる。
【００４１】
バーチャルグランド構成と、配置に要求される減少した金属ピッチ、及び異なるセグメント内の複数行の中にワードラインドライバを共用できる能力により、アレイの配置はコンパクトである。従ってワードラインＷＬ６３'はワードラインドライバをワードラインＷＬ６３と共用することができる。好適システムにおいて、８つのワードラインが単一のワードラインドライバを共用できる。従って、
１つのワードラインドライバ回路のピッチのみが８行のセルセットに各々必要となる。左及び右選択トランジスタ（セグメント１２０用の１３９、１３８）によって提供される追加デコードにより、共用ワードライン構成を達成できる。共用ワードライン構成は、セクター消去動作中、８行のセル全てが同一ワードライン電圧を受信し、消去されるべきではないセル内にワードライン干渉を発生するという欠点を有している。与えられたアレイに関してこれが問題となる場合、全てのセクタ消去動作が、共用されたワードラインドライバに接続されたセルの全行を含むセグメントに関してデコードされることを保証することにより、この干渉の問題は解決できる。単一ドライバを共用する８ワードラインについて、８セグメントの最小セクタ消去が望ましい。
【００４２】
図４は本発明の特徴を説明するためのフラッシュＥＥＰＲＯＭアレイの概略ブロック図である。従って図４に示すフラッシュＥＥＰＲＯＭメモリモジュールは、
セクタ１７０−１、１７０−２、１７０−３、１７０−Ｎを含むメインフラッシュＥＥＰＲＯＭアレイを含み、各セクタは８セグメント（例えばＳＥＧ０〜ＳＥＧ７）を含む。共用ワードラインドライバ１７１−１、１７１−２、１７１−３、
１７１−Ｎの複数セットは、各セクタ内の８セグメントの共用ワードラインを駆動するのに用いられる。共用ワードラインドライバ１７１−１について示されているように、セクタ１７０−１について６４個の共用ドライバがある。６４個のドライバのそれぞれがライン１７２上に出力を供給する。これら各出力は６４ラインの８セットに分割された区分により示されるように、セクタ１７０−１の各セグメント内の８本のワードラインを駆動するのに用いられる。
【００４３】
アレイには複数のブロック選択ドライバ１７３−１、１７３−２、１７３−３、
１７３−Ｎも接続されている。各ブロック選択ドライバは、各セグメント用の左及び右ブロック選択信号を駆動する。図３に示すようにセグメントは構成され、６４ワードラインの各セットに対して供給されるＢＬＴＲ１及びＢＬＴＲ０ブロック選択信号対がある。
【００４４】
更に、フラッシュＥＥＰＲＯＭアレイ内にはＮ本のグローバルビットラインがある。データ入力回路及びセンスアンプ１９１について、アレイ内のフラッシュＥＥＰＲＯＭセルの２Ｎ列に対してアクセスできるようにＮビットラインが用いられる。列選択デコーダ１７５はページプログラムビットラッチ１９０に接続され、これらラッチは各Ｎビットラインについて少なくとも１ビットラッチを含む。
【００４５】
又、列選択デコーダ１７５はデータ入力回路及びセンスアンプ１９１に接続されている。データバスライン１９２は１６ビット幅で、入力データをデータ入力回路及びセンスアップ１９１に提供する。データバスライン１９２は又、１６ビットの出力データを供給する。これらの回路はフラッシュＥＥＰＲＯＭアレイに使用するデータ入出力回路を提供する。
【００４６】
Ｎビットライン１７４は列選択デコーダ１７５に接続される。好適システムにおいて、全１０２４ビットラインについてＮ＝１０２４である。ブロック選択ドライバ１７３−１〜１７３−Ｎは、ブロックデコーダ１７６に接続されている。
【００４７】
共用ワードラインドライバ１７１−１〜１７１−Ｎは行デコーダ１７７に接続されている。列選択デコーダ１７５、ブロックデコーダ１７６、及び行デコーダ１７７はライン１７８内のアドレス上のアドレス信号を受信する。
【００４８】
列選択デコーダ１７５にはページプログラムビットラッチ／ベリファイブロック１９０が接続されている。ページプログラムビットラッチ／ベリファイブロック１９０はＮ個のラッチを含み、Ｎビットラインの各々に１つのラッチが用いられる。従って、１ページデータはＮビット幅と考えられ、セルの各行は２ページ、
即ちページ０及びページ１の幅である。与えられた行内のページは前述のように左及び右のデコーディングを用いて選択される。ページプログラムビットラッチ／ベリファイブロック１９０は、アレイ内の選択された行のセルに対してプログラムされたデータのＮビット幅ページ及びＮビットラッチ内に格納されたデータのベリファイ用回路を含む。
【００４９】
選択可能電圧源１７９は図中に概念的に示されるように、ワードラインドライバ１７１−１〜１７１−Ｎ及びビットラインを介してフラッシュＥＥＰＲＯＭアレイのリード、プログラム、及び消去モード用の参照電位を供給するのに用いられる。
【００５０】
アレイ内のバーチャルグランドラインはバーチャルグランドドライバ１８１に接続され、アレイ内のバーチャルグランド端子に様々なモードでの電位を提供する。又、ｐ−ウェル及びｎ−ウェル参照電圧源１９９はアレイの各ウェルに接続されている。
【００５１】
従って、図４から判るように、ワードラインドライバ１７１−１のような６４個のワードラインドライバは、アレイ内の５１２（６４×８）行に用いられる。
【００５２】
ブロック選択ドライバ（例えば１７３−１）により提供される追加デコーディングにより、この共用ワードライン配置を達成できる。
【００５３】
好適実施例におけるセルはセクタ消去動作用に構成され、この消去動作により消去されたセルの検知直後、そのセルが非導通になり、センスアンプの出力がハイになるようにフローティングゲートの充電（フローティングゲートへの電子注入）が行われる。又この構造は検知直後、プログラムされたセルが導通しフローティングゲートの放電（フローティングゲートからの電子放出）が行われるページプログラム用に構成される。
【００５４】
プログラミング動作での動作電圧は、低（データ＝０）閾値状態にプログラムされるセルのドレインに対してプラス６ボルト、ゲートに対してマイナス８ボルト、ソース端子に０ボルト又はフローティングである。基板又はセルのｐ−ウェルは接地される。この結果、フローティングゲートを放電するためのFowler-
Ｎｏｒｄｈｅｉｍ  ｔｕｎｎｅｌｉｎｇ  機構が達成される。
【００５５】
消去動作はドレインにプラス８ボルト、ゲートにプラス１２ボルト、及びソースにマイナス８ボルトを供給することにより行われる。ｐ−ウェルはマイナス８ボルトにバイアスされる。この結果、フローティングゲートを充電するための
Fowler-Nordheim tunneling 機構が達成される。読み出し電位はドレインで
１．２ボルト、ゲートで５ボルト、及びソースで０ボルトである。
【００５６】
これは、消去されるセルを選択するワードラインデコーディングを使用したセクタ消去をする能力を設定する。１つのセグメント内の非選択セルに関する消去干渉状態により、ドレイン上で−８ボルト、ゲート上で０ボルト、ソース上で−８ボルトが生じる。これは十分にセルの許容範囲内の値で、セルはセル内の電荷の著しい干渉を生じること無くこれらの電位を耐える。
【００５７】
同様に、プログラム干渉状態は同一セグメント内で同一ビットラインを共用するセルについて、ドレイン上で６ボルト、ゲート上で０ボルト（又は場合により１ボルト）、及びソース上の０ボルト又はフローティングである。この状態でゲートからドレインへの駆動はなく、これはセルを著しく妨害することはない。
【００５８】
同一ワードラインを共用し同一ビットラインを共用しないセル、又はハイ状態を維持するアドレスされたセルに関して、干渉状態はドレイン上で０ボルト、ゲート上で−８ボルト、及びソース上で０ボルト又はフローティングである。又、この状態は非選択セル内の電荷の著しい劣化を生じない。
【００５９】
図４において、ページプログラムビットラッチ／ベリファイブロック１９０はプログラムベリファイ回路を含み、この回路はベリファイをパスするページバッファ内のデータのビット単位リセットを行う。従って、図５に概念的に示されるような構造がフラッシュＥＥＰＲＯＭ内に含まれる。アレイのセンスアンプ４５０は、比較回路４５１に接続される。この比較回路の入力はページバッファ／ビットラッチ４５２である。従ってセンスアンブからのデータバイトは、対応するページバッファからのバイトと比較される。バイトに対する合否信号はページバッファ４５２上のビットリセットに戻される。従って合格ビットはページバッファ内でリセットされる。ページバッファ内の全ビットがリセットされると、又はプログラム動作の所定試行回数が達成されると、プログラム動作は終了する。実際には、本発明の１つの特徴によれば比較回路は必要ない。むしろ、センスされたデータをパスビットラッチのリセットに直接使用できる。
【００６０】
図６は２ビットラインＭＴＢＬ０ １４３及びＭＴＢＬ１ １５２に関する自動ベリファイ回路及びページプログラム部を概略示す図である。図６の金属ライン１４３（ＭＴＢＬ０）は図３の金属ライン１４３（ＭＴＢＬ０）に対応する。金属ライン１５２（ＭＴＢＬ１）は図３の金属ライン１５２（ＭＴＢＬ１）に対応する。図６のアレイバーチャルグランド１３６（ＡＲＶＳＳ）は図３のアレイバーチャルグランド１３６（ＡＲＶＳＳ）に対応する。ライン５０１上の信号ＰＷＩはトランジスタ５０２、５０４、５０６、及び５０８のｐ−ウェルに接続されている。アレイ内の各ビットライン対はこれと同一構造を有する。
【００６１】
図６において、トランジスタ５０２のドレイン及びトランジスタ５０４のドレインは金属ライン１４３（ＭＴＢＬ０）に接続されている。トランジスタ５０６のドレイン及びトランジスタ５０８のドレインは金属ライン１５２（ＭＴＢＬ１）
に接続されている。トランジスタ５０４のソース及びトランジスタ５０６のソースはアレイバーチャルグランド１３６（ＡＲＶＳＳ）に接続されている。ライン５７０上の信号ＤＭＷＬＸがアクティブのとき、アレイバーチャルプランドライン１３６（ＡＲＶＳＳ）はトランジスタ５０４及びトランジスタ５０６を介して金属ライン１４３（ＭＴＢＬ０）及び金属ライン１５２（ＭＴＢＬ１）に各々接続される。
【００６２】
データＩ／Ｏライン５７４はトランジスタ５０２のソースに接続されている。
【００６３】
データＩ／Ｏライン５７６はトランジスタ５０８のソースに接続されている。ライン５７２上の信号ＢＬＩＳＯＢはゲートトランジスタ５０２及びトランジスタ５０８のゲートに接続されている。信号ＢＬＩＳＯＢがハイのとき、金属ライン１４３はトランジスタ５０２を介してデータＩ／Ｏライン５７４に接続され、金属ライン１５２はトランジスタ５０８を介してデータＩ／Ｏライン５７６に接続される。
【００６４】
データＩ／Ｏライン５７４はトランジスタ５４２のドレインに接続されている。
【００６５】
トランジスタ５４２のソースはグランドに接続され、トランジスタ５４２のゲートはライン５８８上の信号ＤＭＷＬに接続されれている。データＩ／Ｏライン５７４は信号ＤＭＷＬがハイのときプルダウン(Pull down)される。
【００６６】
データＩ／Ｏライン５７４は更に列選択トランジスタ５４４のドレインに接続される。トランジスタ５４４のソースはノード５５１に接続される。トランジスタ５４４のゲートはライン５９０上の信号Ｙ０に接続される。
【００６７】
バッファ５５０内のデータはパスゲート５２２のソースに接続されている。パスゲート５５２のドレインはノード５５１に接続されている。パスゲート５５２はライン５９２上の信号ＤＩＮＬにより制御される。
【００６８】
センスアンプ５５４は又、ノード５５１に接続されている。センスアンプ５５４はライン５９４上の信号ＳＡＥＢにより制御される。センスアンプ５５４の出力はパスゲート５５６のドレインに接続されている。パスゲート５５６のソースはラッチ回路５５７に接続されている。パスゲート５５６はライン５９６上の信号ＳＡＲＤにより制御される。
【００６９】
ラッチ回路はインバータ５５８及び５６０を含む。インバータ５５８の入力はパスゲート５５６のソースに接続される。インバータ５５８の出力はインバータ５６０の入力に接続され、インバータ５６０の出力はパスゲート５５６のソースに接続されている。ラッチ回路５５７の出力は又、ＮＯＲゲート５６２の第１入力に接続されている。ＮＯＲゲート５６２の第２入力はライン５９８上の信号ＲＥＳＬＡＴＢに接続される。ＮＯＲゲート５６２の出力はトランジスタ５６４のゲートに接続されている。トランジスタ５６４のドレインはノード５５１に接続され、そのソースは接地されている。
【００７０】
トランジスタ５０８を介してビットライン１５２に接続されるデータＩ／Ｏライン５７６は同様に接続されている。従ってライン５７６はトランジスタ５４８のドレインに接続されている。トランジスタ５４８のソースは接地され、そのゲートはライン５８８上の信号ＤＭＷＬに接続される。トランジスタ５４６のドレインは又、データＩ／Ｏライン５７６に接続されている。信号Ｙ０はトランジスタ５４６のゲートに接続される。トランジスタ５４６のソースはノードＤＡＴＡ１ ５９１に接続され、この５９１は他の側のノード５５１に対応する。簡単のた
め、ＤＩＮバッファ５５０の対応するセット、センスアンプ５５４、ラッチ回路５５７及びノードＤＡＴＡ１ ５９１に接続される関係する回路は示していない。
【００７１】
動作に関して、ＤＩＮバッファ５５０、パスゲート５５２、センスアンプ５５４、
パスゲート５５６、ラッチ回路５５７、ＮＯＲゲート５６２及びトランジスタ５６４に類似する回路は同様に構成され、ノードＤＡＴＡ１ ５９１に接続される。
【００７２】
各データＩ／Ｏライン５７４、５７６は、それに接続されるビットラッチ／ベリファイロジック回路を有し、このロジック回路はデータＩ／Ｏライン５７４についてＮＡＮＤゲート５２４及びインバータ５２６、及びデータラインＩ／Ｏ５７６についてＮＡＮＤゲート５３４及びインバータ５３６を一般に具備している。
【００７３】
データＩ／Ｏライン５７４について、パスゲート５２２のドレインはデータＩ／Ｏライン５７４に接続され、パスゲート５２２のソースはＮＡＮＤゲート５２４の第１入力に接続される。ＮＡＮＤゲート５２４の第２入力はライン５８２上の信号ＢＬＡＴＥＮに接続される。ＮＡＮＤゲート５２４の出力はインバータ５２６の入力に接続される。ＮＡＮＤゲート５２４及びインバータ５２６の入力パワーはライン５８０上の信号ＬＡＴＣＨＰＷＲに接続される。ライン５７８上の信号ＬＡＴＣＨＢはパスゲート５２２のゲートに接続される。インバータ５２６の出力はＮＡＮＤゲート５２４の第１入力、トランジスタ５１０のゲート、及びトランジスタ５３０のゲートに接続されている。トランジスタ５１０のドレインはライン５７７上の信号ＡＢＬＲＥＳ１に接続される。トランジスタ５１０のソースは接地されている。トランジスタ５３０のドレインはライン５８６上の信号ＤＬＰＷＲに接続される。トランジスタ５３０のソースはトランジスタ５２８のドレインに接続されている。トランジスタ５２８のゲートはライン５８４上の信号ＤＬＣＴＬに接続され、トランジスタ５２８のソースはデータＩ／Ｏライン５７４に接続されている。
【００７４】
ラッチ回路５２４及び５２６内でラッチされたデータ＝１状態は、ライン５７７上の信号ＡＢＬＲＥＳをプルダウンする。この論理１レベルはトランジスタ５１０をイネーブル(enable)とし、これによりライン５７７上に論理０レベルが
生じる。トランジスタ５１０がイネーブルとなると、ライン５７７は接地され、これにより信号ＡＢＬＲＥＳは論理０レベルになる。トランジスタ５１４及び５１６はインバータを具備し、このインバータはトランジスタ５１０及び５１２と共にＮＯＲロジック機能を提供する。トランジスタ５１４はｐ−チャンネルトランジスタで、そのソースはＶCCに接続され、ドレインはｎ−チャンネルトランジスタ５１６のドレインに接続されている。ライン５７７はトランジスタ５１４及び５１６のドレインに接続されている。ｎ−チャンネルトランジスタ５１６のソースは接地され、トランジスタ５１４及び５１６のゲートライン５９９上の信号ＰＧＰＶＢに接続される。インバータ５１８及び５２０は直列に接続されている。
【００７５】
ライン５７７はインバータ５１８に入力を提供する。インバータ５１８の出力はインバータ５２０の入力を与え、インバータ５２０の出力はライン５７９上の信号ＡＢＬＲＥＳを提供する。従って、ラッチ回路５２４及び５２６がロジック１レベルを格納しているときは常に、信号ＡＢＬＲＥＳは論理０レベルである。トランジスタ５１４はライン５７７のプルアップを提供し、これはトランジスタ５１０またはトランジスタ５１２をイネーブルにすることにより論理０レベルに駆動することができる。
【００７６】
トランジスタ５１６の目的は、ライン５９９上のデフォルト状態のＰＧＦＶＢが"ハイ"の期間中、トランジスタ５１０、５１２…の全ゲートをローにすることである。トランジスタ５１６がない場合、ライン５７７上のＡＢＬＲＥＳ１がフローティングとなる。この場合トランジスタ５１６はライン５７７がプルダウンされるように追加されている。アクティブモード中（ページプログラムモード中のプログラムベリファイ期間）、ライン５９９上のＰＧＰＶＢはアクティブ"ロー"で、トランジスタ５１６はオフ、トランジスタ５１４はライン５７７のプルアップを提供する。
【００７７】
信号ＬＡＴＣＨＢ、ＬＡＴＣＨＰＷＲ、ＢＬＡＴＥＮ及びＤＬＣＴＬにより制御される回路のミラー構成は、データＩ／Ｏライン５７６に接続されている。パスゲート５３２のゲートはライン５７８上の信号ＬＡＴＣＨＢに接続されている。
【００７８】
パスゲート５３２のソースはＮＡＮＤゲート５３４の第１入力に接続される。ＮＡＮＤゲート５３４の第２入力はライン５８２上のＢＬＡＴＥＮに接続される。
【００７９】
ＮＡＮＤゲート５３４の出力はインバータ５３６の入力に接続される。ライン５８０上の信号ＬＡＴＣＨＰＷＲはＮＡＮＤゲート５３４及びインバータ５３６に入力パワーを提供する。インバータ５３６の出力はＮＡＮＤゲート５３４の第１入力、トランジスタ５１２のゲート、及びトランジスタ５３８のゲートに接続されている。トランジスタ５３８のソースはトランジスタ５４０のドレインに接続される。トランジスタ５４０のゲートはライン５８４上の信号ＤＬＣＴＬに接続され、トランジスタ５４０のソースはデータＩ／Ｏライン５７６に接続されている。トランジスタ５２１のソースは接地され、トランジスタ５２１のドレインはライン５７７に接続されている。
【００８０】
図７は図６の金属ライン１４３（ＭＴＢＬ０）に対応するラインのようなメモリアレイ内のビットライン６０２のための単一ビットラッチの回路図である。図６のように、トランジスタ５０２のドレインはライン６０２に接続されている。
【００８１】
トランジスタ５０２のソースはデータＩ／Ｏライン５７４上の信号ＢＬＩＳＯＢに接続されてる。トランジスタ５０２のゲートはライン５７２上の信号ＢＬＩＳＯＢに接続されている。トランジスタ５０２の幅は２０ミクロンで、長さは１．２ミクロンである。トランジスタ５２２のドレインはデータＩ／Ｏライン５７４に接続され、トランジスタ５２２のソースはＮＡＮＤゲート５２４の第１入力に接続されている。ライン５７８上の信号ＬＡＴＣＨＢはトランジスタ５２２のゲートに接続される。トランジスタ５２２の幅は６ミクロンで、長さは１．２ミクロンである。
【００８２】
トランジスタ６２０、６２１、６２２、及び６２３はＮＡＮＤゲート５２４を具備する。トランジスタ６２４及び６２５はインバータ５２６を具備する。ライン５７８上の信号ＬＡＴＣＨＰＷＲはＮＡＮＤゲート５２４及びインバータ５２６に電力を提供する。例えば、ｐ−チャンネルトランジスタ６２０のソース、ｐ−チャンネルトランジスタ６２１のソース、及びｐ−チャンネルトランジスタ（６
２４のソースもライン５７８上のＬＡＴＣＨＰＷＲに接続される。トランジスタ６２０のゲートはノード６３０に接続され、ＮＡＮＤゲート５２４の第１入力を提供する。トランジスタ６２２のゲートは更にノード６３０に接続される。トランジスタ６２２のドレイン及びトランジスタ６２１のドレインはトランジスタ６２０のドレインに接続される。トランジスタ６２１のゲート及びトランジスタ６２３のゲートはライン５８２上の信号ＢＬＡＴＥＮに接続される。ライン５８２上の信号ＢＬＡＴＥＮはＮＡＮＤゲート５２４に第２入力を与える。トランジスタ６２３のドレインはトランジスタ６２２のソースに接続され、トランジスタ６２３のソースは接地されている。
【００８３】
トランジスタ６２１のドレインはＮＡＮＤゲート５２４の出力を提供し、インバータ５２６の入力に接続される。トランジスタ６２４のゲート及びトランジスタ６２５のゲートはインバータ５２６への入力を与える。トランジスタ６２４のソースはライン５７８上のライン５７８上の信号ＬＡＴＣＨＰＷＲに接続され、インバータ５２６に対する電力が与えられる。トランジスタ６２４及びトランジスタ６２５のドレインはノード６３０に接続され、インバータ５２６に出力を提供する。トランジスタ６２５のソースは接地されている。トランジスタ６２４の基板はライン５７８上の信号ＬＡＴＣＨＰＷＲに接続される。
【００８４】
トランジスタ６２１及び６２４の幅は３ミクロンで、長さは１．４ミクロンである。トランジスタ６２０及びトランジスタ６２３の幅は３ミクロンで、長さは１．２ミクロンである。
【００８５】
ラッチ回路５２４及び５２６の出力はトランジスタ５３０のゲート及びトランジスタ５２２のソースに接続される。ライン５８６上の信号ＤＬＰＷＲはトランジスタ５３０のソースに接続される。トランジスタ５３０のドレインはトランジスタ５２８のソースに接続される。トランジスタ５２８のゲートはライン５８４上の信号ＤＬＣＴＬに接続される。トランジスタ５２８のドレインはデータＩ／Ｏライン５７４に接続される。トランジスタ５３０及びトランジスタ５２８の幅は６ミクロンで、長さは１．２ミクロンである。
【００８６】
トランジスタ５１０のドレインはライン５７７上に出力信号ＡＢＬＲＥＳ１を提供する。トランジスタ５１０のソースは接地され、トランジスタ５１０のゲートはノード６３０に接続されている。従って、ビットラッチの状態に依存して、信号ＡＢＬＲＥＳ１はグランドに短絡するか、又はトランズミッタ５１４によりプルアップされる。トランジスタ５１０の幅は３ミクロンで、長さは０．８ミクロンである。
【００８７】
トランジスタ５４４のドレインはデータＩ／Ｏライン５７４に接続され、ソースはデータライン６５０に接続されている。ライン５９０上の信号ＹＳＥＬはライン５９０上のトランジスタ５４４のゲートに接続される。ＤＩＮバッファ５５０はデータライン６５０に接続されている。センスアンプ５５４はデータライン６５０に接続され、トランジスタ５６４のゲートに制御信号を提供する。トランジスタ５６４のドレインはデータライン６５０に接続され、トランジスタ５６４のソースは接地される。従って、センスアンプ５５４の出力に応じて、トランジスタ５６４はデータライン６５０をグランドに接続する。
【００８８】
動作において、図６及び７に示されるフラッシュＥＥＰＲＯＭのページプログラム及び自動ベリファイ回路は、一連の動作段階(stages)においてページプロ
グラム及びプログラムベリファイを実行する。動作段階は（１）データローディング段、（２）データプログラム段、（３）アレイデータリード段、（４）ビットラッチ段のリセット、及び（５）再試行段として一般化できる。フラッシュＥＥＰＲＯＭアレイのページプログラム及び自動ベリファイの動作は、データＩ／Ｏライン５７４を参照して説明される。ページプログラム及び自動ベリファイは、
他のメモリセルに接続されているデータＩ／Ｏライン５７６を用いて同様に実行される。更に、ページプログラム及び自動ベリファイ回路は、フラッシュＥＥＰＲＯＭアレイ内のメモリセルのページをプログラムするのに必要な全てのデータＩ／Ｏラインについて同様な回路を含む。
【００８９】
データローディング段において、ライン５８０上の信号ＬＡＴＣＨＰＷＲ、ライン５７８上の信号ＬＡＴＣＨＢ、及びライン５８２上の信号ＢＬＡＴＥＮには、
データラッチ回路５２４及び５２６の動作を活性化するために５ボルトが供給される。ライン５８０上の信号ＬＡＴＣＨＰＷＲはＮＡＮＤゲート５２４及びインバータ５２６に動作用電圧を供給する。ライン５８２上の信号ＢＬＡＴＥＮによりラッチ回路５２４及び５２６が入力を受信可能となる。ライン５７８上の信号ＬＡＴＣＨＢはパスゲート５２２をイネーブルとし、パスゲート５２２はデータＩ／Ｏライン５７４とＮＡＮＤゲート５２４の第１入力を接続する。ライン５７２上の信号ＢＬＩＳＯＢは論理０レベルでトランジスタ５０２をディセーブル
(disable)とする。トランジスタ５０２をディセーブルとすることにより、データＩ／Ｏライン５７４をメタルライン１４３（ＭＴＢＬ０）から分離する。ライン５８４上の信号ＤＬＣＹＬは論理０レベルでパスゲート５２８をディセーブルとする。信号ＤＬＰＷＲは論理１レベルでＶCCの電圧を有し、これは約５ボルトである。ライン５８８上の信号ＤＭＷＬは論理０レベルで、トランジスタ５４２がデータＩ／Ｏライン５７４をグランドに接続するのを防止する。ライン５９０上の信号Ｙ０は論理１レベルでトランジスタ５４４をイネーブルとしトランジスタ５４４を導通する。信号Ｙ０はデコードされた信号で、この信号によりデータＩ／Ｏライン５７４はイネーブルとされ、データローディング段動作期間中、１６個のＤＩＮバッファの対応する１つ（例えばバッファ５５０）がアクセス可能となる。ライン５９２上の信号ＤＩＮＬは論理１レベルでパスゲート５５２をイネーブルとする。ＤＩＮバッファ５５０からの入力データはパスゲート５５２を介してデータＩ／Ｏライン５７４に転送される。
【００９０】
入力データがデータＩ／Ｏライン５７４に転送されると、ＤＩＮバッファ５５０からのデータはＮＡＮＤゲート５２４の第１入力に転送される。ＤＩＮバッファ５５０からのデータが論理１レベルの場合、ＮＡＮＤゲート５２４の第１入力に受信された論理１レベルにより論理０レベルが生じる。ＮＡＮＤゲート５２４の論理０レベル出力は、インバータ５２６への入力を提供し、インバータ５２６は論理１出力を提供する。ＮＡＮＤゲート５２４及びインバータ５２６はビットラッチ回路５２４及び５２６を有し、これはＮＡＮＤゲート５２４に第１入力に受信したデータをラッチする。インバータ５２６の出力での論理１レベルにより、
パスゲート５３０をイネーブルとし、ライン５８６上の信号ＤＬＰＷＲをパスゲート５２８に転送する。しかしデータローディング段動作期間中、ライン５８４上の信号ＤＬＣＴＬは論理０で、これによりパスゲート５２８は信号ＤＬＰＷＲのデータＩ／Ｏライン５７４にを導通を不可能とする。
【００９１】
他の場合、ＤＩＮバッファ５５０からのデータが論理０レベルのとき、ＮＡＮＤゲート５２４の第１入力に受信した論理０レベルにより論理１出力が発生する。
【００９２】
ＮＡＮＤゲート５４の論理１レベルはインバータ５２６への入力を提供し、インバータ５２６は論理０出力を提供し、この出力はラッチ回路５２４及び５２６に格納される。インバータ５２６の出力での論理０レベルはパスゲート５３０をディセーブとし、パスゲート５２８を介したライン５８６上の信号ＤＬＰＷＲのデータＩ／Ｏライン５７４への転送を禁止する。従って、ＮＡＮＤゲート５２４及びインバータ５２６のビットラッチ回路は、ＤＩＮバッファ５５０からの転送データに対応する入力データの論理１レベル又は論理０レベルを格納する。
【００９３】
１０２４ビットの全ページ用のビットラッチは一度に１６ビットがロードされる。ＤＩＮバッファ５５０からの入力データが、全ビットラインについてのデータローディング段の実行の後にビットラッチ回路５２４及び５２６にロードされると、ベリファイシーケンスが実行され、データライト段がそれに続く。予備ライトベリファイループ（これは後述のシーケンスに従う）は、ユーザがページを同一データで２回プログラムするようなプログラミングセルの消耗を防止する。
【００９４】
論理１がラッチ回路５２４及び５２６に格納されたときにデータライトが起こる。
【００９５】
論理１レベルデータ＝１状態がＤＩＮバッファ５５０から受信されると、データライト段の期間に論理１レベルがフラッシュＥＥＰＲＯＭアレイの１セルにプログラムされる。論理０レベル（データ＝０）がＤＩＮバッファ５５０から受信され、ラッチ回路５２４及び５２６に格納された場合、データライト段はフラッシュＥＥＰＲＯＭのメモリセルをプログラムしない。
【００９６】
本実施例において、論理１レベル（データ＝１）はＤＩＮバッファ５５０から転送され、ビットラッチ回路５２４及び５２６に格納される。データライト段の実行中、ライン５８７上の信号ＬＡＴＣＨＢはディセーブルとなる。ライン５７８上の信号ＬＡＴＣＨＢは論理０に設定され、ラッチ回路５２４及び５２６への入力をディセーブルとする。信号ＬＡＴＣＨＰＷＲは高い電圧に設定され、ラッチ回路５２４及び５２６に電力を供給する。信号ＬＡＴＣＨＰＷＲは高い電圧に設定され、ラッチ回路５２４及び５２６に電力を供給する。ライン５２８上の信号ＢＬＡＴＥＮは高い電圧レベルに設定され、ラッチ回路５２４及び５２６の出力をイネーブルにする。ライン５７２上の信号ＢＬＩＳＯＢは高い電圧レベルに設定されトランジスタ５０２をイネーブルにする。トランジスタ５０２はデータＩ／Ｏライン５７４をメタルライン１４３に接続する。ライン５８４上の信号ＤＬＣＵＬは高い電圧レベルに設定されパスゲート５２８をイネーブルとする。ライン５８６上の信号ＤＬＰＷＲは高い電圧に設定される。ライン５９０上の信号Ｙ０は論理０レベルでありトランジスタ５４４をディセーブルとする。信号ＤＩＮＬは論理０レベルで、ＤＩＮバッファ５５０からの入力データをデータＩ／Ｏライン５７４から切り離す。信号ＳＡＥＢは論理０レベルでセンスアンプ５５４をディセーブルとする。
【００９７】
制御信号が正常に初期化され、データプログラム段を実行すると、ライン５８６上の信号ＤＬＰＷＲはデータＩ／Ｏライン５７４に転送される。信号ＤＬＰＷＲはプログラムパワーを提供し、フラッシュＥＥＰＲＯＭアレイ内のメモリセルをプログラムする。従ってラッチ回路５２４及び５２６がデータ＝１状態でラッチされると、パスゲート５３０はイネーブルとなり、信号ＤＬＰＷＲをパスゲート５２８を介して通過させる。ライン５７２上の信号ＢＬＩＳＯＢはトランジスタ５０２をイネーブルとし、信号ＤＬＰＷＲをメタルライン１４３に接続する。
【００９８】
図３において、ライン１４１又はＢＬＴＲ０上の信号ＢＬＴＲ１をイネーブルとすることで、セルの列をメタルライン１４３に接続し、信号ＤＬＰＷＲからプログラム電圧を提供し、８ボルトに変化したワードライン上の特定メモリセル１２５又は１２９をプログラムする。例えば、ライン１４１上のＢＬＴＲ１が選択され、ワードラインＷＬ１が選択された場合、信号ＤＬＰＷＲからのプログラミング電圧はメモリセル１２５に方向付けられる。
【００９９】
ラッチ回路５２４及び５２６からのデータがメモリセルにプログラムされた後、
その回路はデータがデータライト段において適切にプログラムされたことを自動的にベリファイする準備が整う。これはビットラッチをリセットするかを決定するために、以下のような５ステップシーケンス（Ａ〜Ｅ；図８のタイミング図参照）を含む。
【０１００】
ステップＡ
関係するセンスアンプを介して不揮発性ビットから実データをリード（１６個のセンスアンプは全て同時に活性化される。即ち１６ビットが同時にリードされる）。検知結果は図６のラッチ５５７内に格納される。例えば図６において、特定されたワードラインから、選択されたセルをベリファイするには、ＢＬＩＳＯＢ（５７２）はハイ（ＯＮ）でなければならず、選択されたＹ（５４４、５４６及び１４個より多いそれらデバイス）はオン、センスアンプ（ＳＡ）５５４（及び１５個の他のＳＡ）は活性化され、ＳＡＲＤ（５９６）がハイとなることにより、検知結果はラッチ（５５７）まで到達し、このリードステップ期間中に５２４及び５２６から構成されるビットラッチが妨害されないように、ＬＡＴＣＨＢ（５７８）、ＤＬＣＴIＬ（５８４）は低電圧（ＯＦＦ）である。選択されたセルの閾値電圧はＳＡ（５５４）がセンスを行うために十分な時間の後、ＳＡ（５５４）によりデータライン５７４を介して検知され、ラッチ５５７に格納される。
【０１０１】
プログラミングの後、セルの閾値電圧（ＶＴ）は（ＳＡ５５４がそのセルが低いＶＴ状態であると知らせることができる程度に）十分低く、インバータの出力（５
６０又は５５８の入力）は低レベルを反映することになり、ＳＡＲＤ（５９６）はオフ、そしてＳＡ（５４４）はディセーブルとなる。低レベルがラッチ（５５７）に格納され、次の４ステップにどんなリードがその結果起きたかは、新たなロケーションの再リードが必要となるまで問題ではない。プログラミングの後、選択されたセルＶＴはまだハイがリードされ、インバータ５６０の出力はハイレベル、即ち論理１レベルがラッチ５５７にラッチされる。いづれにせよデバイス５６４はオフであるから、ハイ又はローにラッチされたラッチ５５７がデバイス（５６４）に影響しないように、ＲＥＳＬＡＴＢ（５９８）はこのステップでハイである。
【０１０２】
ステップＢ
データライン（選択又は非選択のライン全てを含む）を放電する。このステップの目的はステップ（Ｄ）において説明される。データライン５７４の放電の仕方は、全てのセンスアンプがディセーブル状態で、ＤＭＷＬ（５８８）をハイに活性化し、ＬＡＴＣＨＢをローにし、ＤＬＣＴＬをローにし、５６４及び５５２をオフにする。トランジスタ５８８はデータライン５７４に格納された電荷を放電する。放電シーケンスが高速に行われるように、ＢＬＩＳＯＢ（５７２）はローレベルで（図８のＢＬＩＳＯはハイ）長いメタルビットライン（ＭＴＢＬ０）をデータライン（５７４）から分離する。
【０１０３】
ステップＣ
データラインを（関係するビットラッチに応じて選択的に）プリチャージする。
【０１０４】
このステップの目的はステップＤ）において説明される。このステップ中、ＤＭＷＬはローレベル、ＢＬＩＳＯＢはまだローレベル（図８のＢＬＩＳＯはハイ）であり、同一ワードラインの選択された１６データライン及び他の非選択データラインを高い電圧レベルにプリチャージすべきか否かは、そのビットラッチに格納されたデータにより決定される。例えば図６において、このステップ中、ＬＡＴＣＨＢ（５７８）はまだオフ、ＤＬＣＴＬ（５８４）はローからハイに切り替わり、データライン５７４はインバータ５２６の出力（これは５３０のゲート）がハイレベルにラッチされている場合、ＤＬＰＷＲ（この例ではＶCCレベル電源）
をデバイス５３０及び５２８を介してデータライン（５７４）に接続することによりハイレベルにプリチャージされる。
【０１０５】
ステップＤ
ビットラッチをリセットするか否か。このステップ中、ＬＡＴＣＨＢはローレベルからハイレベルに切り替わり、ビットラッチ（これはインバータ５２４及び５３６により構成される）をリセットするために、ＲＥＳＬＡＴＢ（５９８）はインバータ５６０の出力が（ステップＡから）ロー（にラッチされていれば）であれば、５６４をオンにすることによりハイからローに切り替わる。選択されたセルは既にローＶＴであるから、次のプログラミングの高い電圧パルスシーケンスのために、ビットラッチの内容はリセットされるべきであり、ローＶＴであるセルはローＶＴに再びプログラムされるべきではない。ビットラッチが以前のベリファイループステップ（Ｄ）からリセットされているか、又は第１プログラミングシーケンスの前でもリセット状態であったときがある。このような場合、次のリセットビットラッチステップは前者の場合ではビットラッチに何等影響することはなく、後者の場合では選択されたセルが高ＶＴであるか否かはそのビットラッチに影響しない。なぜなら、セルが高ＶＴの場合、ビットラッチをリセットするものはなく（ステップＡ及びＤから５６４はオフである）、ビットラッチはリセット状態であるからである。セルがローＶＴの場合、ビットラッチを再びリセットしてもビットラッチの内容に何等変化を与えない。この構成には比較回路は必要とならない。
【０１０６】
ＬＡＴＣＨＢはフラッシュＥＥＰＲＯＭの設計にて全てのビットラッチに対するグローバル信号であり、５２２、５３２…のゲートでのハイレベルにより、全てのビットラッチが、関係するデータラインにトーク(talking)することになる。
【０１０７】
つまり、インバータ５２６の出力ノードが、関係するデータライン（例えば５７４）と電荷を分け合うことになる。インバータ５２６の駆動能力は、適切なデータがビットラッチに設定できるように（インバータ５２６に対して勝るように）弱いデバイスとして設計されている。従って、ＬＡＴＣＨＢ（５２８）がハイのとき、弱いインバータ（５２６）には、ビットラッチの存在性が曖昧となる問題が発生する。
【０１０８】
ステップ（Ｂ）及び（Ｃ）の目的は、ステップ（Ｄ）に移行する前に、即ちＬＡＴＣＨＢ（５７８）がローからハイへ切り替わる前に適切な電圧レベルをデータラインに与え、この回路が前述したように無くとも正常な動作を保証するように設計された場合でも、あらゆる"電荷共有の問題を避けることである。ステップ（Ｂ）の期間中、全データラインはローレベルに放電され、ステップ（Ｃ）では、関係するビットラッチがハイレベルを"格納している"データラインのみがハイレベルにプリチャージされる。従ってステップ（Ｂ）及び（Ｃ）は、ここでは安全を見込んだ設計による追加ステップである。
【０１０９】
ステップＥ
全データラインを再び放電する。プログラミングベリファイイングについて次のワードに移行する前に（つまり、新たなワードを充電しステップ（Ａ）からステップ（Ｄ）を繰り返す前に）プログラムベリファイ動作は、この時点で首尾良く完了しており、ロジック制御は残りの電荷を全データラインから取り除き、新たなワードに切り替わる。例えばこのステップで、ＬＡＴＣＨＢ（５７８）はローレベルで、ＲＥＳＬＡＴＢ（５９８）はハイレベル，ＤＭＷＬ（５９８）はハイレベル、そしてＢＬＩＳＯＢ（５７２）はハイレベル（図８のＢＬＩＳＯはロー）である。
【０１１０】
従って、図５のページプログラム及び自動ベリファイ回路は、プログラムされたメモリセルの自動ベリファイという固有の特徴を提供する。ラッチ回路５２４及び５２６はＤＩＮバッファ５５０から受信した入力データを格納する。ラッチ回路５２４及び５２６に格納されたデータはＡＢＬＲＥＳ１を制御する。このＡＢＬＲＥＳ１はプログラムする必要のあるセルが１つまたは複数ある場合に論理０レベルに設定される。信号ＡＢＬＲＥＳ１は、そのメモリセルがプログラムベリファイシーケンス中にベリファイされるまで（このシーケンスはラッチ回路５２４及び５２６が論理０レベルにリセットし、信号ＡＢＬＲＥＳ１を正常にプログラムされたメモリセルを示す論理１レベルにリセットする）、論理０レベルを維持する。プログラムベリファイシーケンスは自動である。
【０１１１】
ライン５９９上の信号ＰＧＰＶＢは論理０レベルで、自動ベリファイシーケンス中にライン５７７に電荷を与える。ラッチ回路５２６及び５２４がリセットされるとき、トランジスタ５１０はディセーブルにされ、ライン５７７上の電荷はすぐさまグランドに放電される。ライン５７７上の信号ＡＢＬＲＥＳ１は論理１レベルとなる。この論理１レベルはインバータ５１８に入力を与え、このインバータはインバータ５２９に対する入力を提供するための出力を発生し、インバータ５２０はライン５７９上に信号ＡＢＬＲＥＳの論理１レベル出力を供給する。
【０１１２】
ライン５７９上の信号ＡＢＬＲＥＳの論理１レベルは、ページプログラムドベリファイ信号を提供し、この信号はメモリセルのページがプログラムベリファイを合格したことを意味する。
【０１１３】
アレイのメモリセルページ内の各メモリセルはトランジスタ５１０を活性化し、
これによりライン５７７上の信号ＡＢＬＲＥＳ１はローレベルとなる。従って、アレイのメモリセルページ内でのプログラムベリファイを合格しなかったメモリセルは、何れも出力信号ＡＢＬＲＥＳを論理０レベルにする。ライン５７９上のＡＢＬＲＥＳの論理０レベルは、そのアレイのメモリセルのページ内の少なくとも１つのメモリセルが、正常にプログラムされずにベリファイされたことを意味する。従って、正常にベリファイされたなかったメモリセルは何れも、ライン５７９上の信号ＡＢＬＲＥＳを論理０レベルにする。全メモリセルが正常にプログラム及びベリファイされると、ライン５７９上の信号ＡＢＬＲＥＳは論理１レベルになる。
【０１１４】
動作において、プログラムに失敗したセルは信号ＡＢＬＲＥＳが論理１レベルになるまで、再プログラム及びベリファイされる。再試行回数は、あるページがプログラムベリファイで繰り返し不良の場合に、プログラムシーケンスのルーピング(looping)を防ぐために制限されている。
【０１１５】
図９Ａ及び９Ｂは図６のフラッシュＥＥＰＲＯＭのプログラムの流れを示すフローチャートである。この処理はデータがプログラムされるセクタ（例えばセクタ７０−１）の消去により開始する（ブロック７００）。そのセクタを消去した後、消去ベリファイ動作が実行される（ブロック７０１）。次に、０か１のページ番号、及びセグメント番号１ないし８がホストプロセッサによる入力アドレスに応じて設定される（ブロック７０２）。
【０１１６】
ページ番号及びセグメント番号を設定した後、ページバッファにはそのページのデータがロードされる（ブロック７０３）。このページバッファには特定プログラム動作に応じて例えばＮビットデータ、すなわちバイトデータをロードする。
【０１１７】
次に、ユーザが予備消去しないか、あるいは同一データを再プログラムせずに、どのセルがプログラミングを必要とするかを決定しない場合、ベリファイ動作が実行される（ブロック７０４）。ページバッファをロードした後、プログラム電位がプログラムされるセグメントに供給される（ブロック７０５）。ページプログラム動作の後、ページをベリファイするベリファイ動作が実行される。ベリファイ動作において、プログラムされたページは読み出され、各対応する読み取りビットデータがセンスアンプデータラッチに格納される（ブロック７１５）。
【０１１８】
図９Ｂにおいて、ベリファイを合格したページビットはリセットされる（ブロック７２２）。次に、アルゴリズムは全ページビットがページバッファ内でオフになったかを判断する（ブロック７２３）。すべてがオフではない場合、アルゴリズムは再試行の回数が最大数になったか判断し（ブロック７１０）、そうでない場合、ループはプロック７０５に戻り、不良ビットが再プログラムされるように、そのページを再びプログラムする。合格したビットはプログラムされない。
【０１１９】
なぜなら、ページバッファ内の対応するビットはベリファイ動作中、０にリセットされているからである。ブロック７１０で再試行回数が最大になった場合、アルゴリズムは中断され、動作不良を信号出力する。
【０１２０】
ブロック７２３で、全ページビットがオフの場合、アルゴリズムはそのセクタが終了したか判断、即ちそのセクタの両ページが書き込まれ、両方とも完了したか判断する（ブロック７２５）。これはＣＰＵが決定したパラメータである。そのセクタが終了していない場合、アルゴリズムはブロック７０２へ戻り、対応するページ番号の１つまたはセグメント番号を更新する。ブロック７２５でそのセクタが終了すると、アルゴリズムが終了する（ブロック７３０）。
【０１２１】
【発明の効果】
以上、新たなフラッシュＥＥＰＲＯＭセル及びアレイ構成が説明された。この構成は独特のセル配置により得られる高集積度アレイを提供する。隣接する２つの局部ドレインビットラインは１つの共通ソースビットラインを共用する。また、
この配置はアレイ内の各２列のセルについて単一のメタルラインの使用を可能とする。更にこの配置は共用ワードラインを用いることにより縮小され、ワードラインのピッチはメインアレイのサイズ決定に影響しない。セクタ消去は本発明の区分けできる構成を用いて容易にできる。また、ページプログラム及び自動ベリファイ回路は、メモリセルの高効率で正確なプログラムを提供する。従って、信頼性の高い高性能フラッシュメモリアレイがこれらの技術を使用することにより達成できる。
【０１２２】
フラッシュＥＥＰＲＯＭアレイのｎチャンネルの実施例が説明された。勿論、ｐチャンネル装置についても一般的な技術を利用して本発明を実施できる。更に、
この構成はフラッシュＥＥＰＲＯＭセルに関して説明された。この構成の数多くの特徴は他のメモリ回路アレイにも適用できるものである。
【０１２３】
前述の本発明による好適実施例は単に説明を目的として示された。以上の説明は本発明を開示された形式に精細に限定する意図はない。当業者は他の様々な修正や変更を施すことができる。本発明は以下に示す請求の範囲により定義される。
【図面の簡単な説明】
【図１】本発明によるフラッシュＥＥＰＲＯＭ集積回路モジュールの概略構成図。
【図２】本発明の一実施例によるドレイン・ソース・ドレイン構成バーチャルグランドフラッシュＥＥＰＲＯＭアレイの概略構成図。
【図３】本発明の他の一実施例を示し、１つのメタルビットラインを共用する２列のフラッシュＥＥＰＲＯＭセルである。
【図４】本発明によるページプログラム及び自動ベリファイ機能を有するフラッシュＥＥＰＲＯＭアレイの概略ブロック図。
【図５】本発明によるプログラムベリファイ回路の概略図。
【図６】フラッシュＥＥＰＲＯＭアレイの２メモリセル分のページプログラム及び自動ベリファイ回路の概略図。
【図７】フラッシュＥＥＰＲＯＭアレイ内のメモリセル用のページプログラム及び自動ベリファイ回路の概略図。
【図８】図６及び７の自動ベリファイ回路における制御信号のタイミング図。
【図９】本発明によるページプログラム及び自動ベリファイ動作を示すフローチャート。
【図１０】本発明によるページプログラム及び自動ベリファイ動作を示すフローチャート。
【図１】
0003655882.tif 000002
【図２】
0003655882.tif 000003
【図３】
0003655882.tif 000004
【図４】
0003655882.tif 000005
【図５】
0003655882.tif 000006
【図６】
0003655882.tif 000007
【図７】
0003655882.tif 000008
【図８】
0003655882.tif 000009
【図９】
0003655882.tif 000010
【図１０】
0003655882.tif 000011