(57)【特許請求の範囲】
【請求項１】
フラッシュＥＰＲＯＭメモリセルの集合と前記フラッシュＥＰＲＯＭメモリセルの集合内にデータを書込むデータ書込み回路からなる機能モジュール、
該機能モジュールに結合され、前記データ書込み回路のテストとして、前記データ書込み回路に前記フラッシュメモリセルの集合へのデータの書込み動作を繰り返し実行させ、前記テスト中において前記データの書込み動作が完了した実行回数のカウントを行い、前記テストの結果として状態情報を発生するテスト回路、
前記データ書込み回路が前記フラッシュメモリセルの集合内にデータを書込む動作の実行回数を、当該実行回数を指定するユーザ入力に応答して、プログラムするロジック、
不揮発性メモリと、前記テストに応答して前記不揮発性メモリに状態情報を書込む回路とを含む、前記テスト回路に結合された不揮発性状態書込み回路、および、
前記不揮発性メモリに結合され、前記不揮発性メモリに記憶された状態情報へのアクセスを外部装置に可能ならしめるポート
を備え、
前記状態情報が、前記データ書込み回路による前記フラッシュメモリセルの集合内へのデータの書込み動作が、前記ロジックによってプログラムされた実行回数繰り返して全て終了したか否かを示すことを特徴とする集積回路。
【請求項２】
前記不揮発性状態書込み回路内の前記不揮発性メモリは、少なくとも一つの電気的にプログラム可能なリードオンリーメモリセルを備える請求項１に記載の集積回路。
【請求項３】
前記不揮発性状態書込み回路内の前記不揮発性メモリは、少なくとも一つの電気的に消去及びプログラム可能なリードオンリーメモリセル（ＥＥＰＲＯＭ）からなる請求項１に記載の集積回路。
【請求項４】
前記不揮発性状態回路内の前記不揮発性メモリが少なくとも一つのフラッシュタイプの電気的に消去及びプログラム可能なリードオンリーメモリセル（フラッシュＥＰＲＯＭ）からなる請求項１に記載の集積回路。
【請求項５】
無制限テストモードを設定するロジックを備え、
前記テストは、前記フラッシュＥＰＲＯＭメモリセルの耐久性をテストするために、前記データ書込み回路に前記フラッシュメモリセルの集合へのデータの書込み動作を前記書込み動作の実行がハングアップするまで繰り返し実行させることを含み、前記状態情報は前記書込み動作の実行の成功のうちに完了した回数を示す請求項１に記載の集積回路。
【請求項６】
メモリセルの集合を含むメモリおよびそのメモリ内にデータを書込むデータ書込み回路、
前記メモリに結合され、前記データ書込み回路のテストであって、前記データ書込み回路に前記メモリ内へのデータの書込み動作を繰り返し実行させ、前記テスト中においてデータの書込み動作が完了した実行回数のカウントを行い、前記テストの結果として状態情報を生成するテスト回路、
前記データ書込み回路が前記テスト対象の前記メモリ内にデータを書込む実行回数を、当該実行回数を指定するユーザ入力に応答して、プログラムするロジック、
不揮発性メモリ、および前記テストに応答して前記不揮発性メモリに状態情報を書込む回路を備える、前記テスト回路に結合された不揮発性状態書込み回路、及び
前記不揮発性メモリに連結され、前記不揮発性メモリに記憶された前記状態情報へのアクセスを外部装置に可能ならしめるポート
を備え、
前記状態情報が、前記データ書込み回路による前記テスト対象の前記メモリ内へのデータの書込み動作が、前記ロジックによってプログラムされた実行回数繰り返して全て終了したか否かを示すことを特徴とする集積回路。
【請求項７】
前記メモリはＥＥＰＲＯＭメモリセルのアレイを備え、前記データ書込み回路は、前記アレイ用の消去・プログラム制御回路を備える請求項６に記載の集積回路。
【請求項８】
前記ＥＥＰＲＯＭメモリセルのアレイはフラッシュＥＰＲＯＭセルを備える請求項７に記載の集積回路。
【請求項９】
前記不揮発性状態書込み回路内の前記不揮発性メモリは、少なくとも一つの電気的にプログラム可能なリードオンリーメモリセルを備える請求項６に記載の集積回路。
【請求項１０】
前記不揮発性状態書込み回路内の前記不揮発性メモリは、少なくとも一つの電気的に消去及びプログラム可能なリードオンリーメモリセル（ＥＥＰＲＯＭ）を備える請求項６に記載の集積回路。
【請求項１１】
前記不揮発性状態回路内の前記不揮発性メモリが少なくとも一つのフラッシュタイプの電気的に消去及びプログラム可能なリードオンリメモリセル（フラッシュＥＰＲＯＭ）を備える請求項６に記載の集積回路。
【請求項１２】
前記メモリは不揮発性メモリセルのアレイを備え、前記不揮発性状態書込み回路内の前記不揮発性メモリは前記アレイのサブセットを備える請求項６に記載の集積回路。
【請求項１３】
前記不揮発性状態書込み回路は、前記アレイサブセットに結合され、前記テストの間、前記サブセットへのアクセスを可能にするロジックを備えた請求項１２に記載の集積回路。
【請求項１４】
前記メモリは、フラッシュＥＰＲＯＭメモリセルを備え、
前記不揮発性状態回路内の前記不揮発性メモリは、前記メモリ内のフラッシュＥＰＲＯＭメモリセルのテストセットを備え、
前記データ書込み回路は、前記メモリに結合されたプログラム・消去回路であって、当該プログラム・消去回路を動作させるテストモードを有するプログラム・消去回路を備える請求項６に記載の集積回路。
【請求項１５】
無制限テストモードを設定するロジックを備え、
前記テストは、前記メモリの耐久性をテストするために、前記データ書込み回路に前記メモリ内へのデータの書込み動作を前記書込み動作の実行がハングアップするまで繰り返し実行させることを含み、前記状態情報は前記書込み動作の実行の成功のうちに完了した回数を示す請求項６または１４に記載の集積回路。
【請求項１６】
テストコントロール回路を備え、該テストコントロール回路は、前記テストモードの間に前記テストセットへのアクセスを使用可能にするロジック、
前記プログラム・消去回路に結合され、前記複数の実行のカウントに応答して前記テストセット内のメモリセルをアドレス指定するテストレジスタ、および
前記テストセットに結合され、前記テストモード中の特定の実行の状態を示すデータを前記テストセット内の対応するメモリセルに供給する回路を備えている請求項１４に記載の集積回路。
【請求項１７】
モードコントロール入力に応答し、前記状態情報の読み出しを可能にする回路をさらに備えた請求項１４に記載の集積回路。
【請求項１８】
前記プログラム・消去回路は、自動プログラム・プログラム検証制御ループを含み、
当該自動プログラム・プログラム検証制御ループはプログラム検証の失敗に応答してプログラミングの実行を再試行するロジックと、プログラム再試行閾値まで再試行をカウントし、プログラム再試行閾値に達した場合には、前記プログラミングの実行の失敗を示す信号を生成する再試行カウンタとを備え、ユーザ入力に応答して前記プログラム再試行閾値をプログラムするロジックをさらに備える請求項１４に記載の集積回路。
【請求項１９】
前記プログラム・消去回路は、自動消去・消去検証制御ループを含み、
該自動消去・消去検証制御ループは、プログラム検証の失敗に応答して消去の実行を再試行するロジックと、消去再試行閾値まで再試行をカウントし、その閾値に達した場合は、消去の失敗を示す信号を生成する再試行カウンタを備え、ユーザ入力に応答して前記消去再試行閾値をプログラムするロジックを更に備えた請求項１４に記載の集積回路。
【請求項２０】
前記プログラム・消去回路は、前記アレイ内のメモリセルをプログラム・消去する自動プログラム・プログラム検証制御ループおよび自動消去・消去検証制御ループを備え、
前記自動プログラム・プログラム検証制御回路ループは、プログラム検証の失敗に応答してプログラミングの実行を再試行するロジックと、プログラム再試行閾値まで再試行をカウントし、その閾値に達した場合は、プログラミングの実行の失敗を示す信号を生成する再試行カウンタ、
前記自動消去・消去検証制御ループはプログラム検証の失敗に応答して消去の実行を再試行するロジックと、消去再試行閾値まで再試行をカウントし、その閾値に達した場合は、消去の実行の失敗を示す信号を生成する再試行カウンタを備え、
前記プログラム再試行閾値および前記消去再試行閾値は、前記実行回数を当該実行回数を指定するユーザ入力に応答してプログラムする前記ロジックによって設定される請求項１４に記載の集積回路。
【請求項２１】
機能モジュールを備えた集積回路群を製造する方法であって、前記集積回路群上に不揮発性状態書込みメモリを集積する工程、
ユーザ入力によって指定されたテストの実行回数を前記集積回路群上に格納する工程、
機能モジュールのテストをプログラム可能な実行回数で繰り返し実行し、前記テストが終了した実行回数をカウントし、前記集積回路群の各々に対する前記プログラム可能な実行回数で前記テストが全て終了したか否かを示す情報を前記集積回路群の各々の前記不揮発性状態書込みメモリに自動的に格納する工程、および
前記不揮発性状態書込みメモリに格納された前記情報に応答して前記集積回路群を分類する工程を有し、
前記プログラム可能な実行回数を、前記テストの実行時に供給される前記ユーザ入力によって指定することを含む方法。
【請求項２２】
前記テストを行う工程の前に、
複数の集積回路を自動的にテストするプロセッサを備えるテスト装置に該複数の集積回路を装着する工程、及び、
前記テスト装置を用いて前記ユーザ入力を供給する工程をさらに有する請求項２１に記載の方法。
【請求項２３】
前記機能モジュールは、自動プログラム・消去回路を備えたフラッシュＥＰＲＯＭを備え、前記自動プログラム・消去回路はプログラム再試行閾値回路および消去再試行閾値回路を備えており、
前記テストを行う工程の前に、さらに
少なくとも一つのプログラム再試行閾値回路および消去再試行閾値回路をプログラムして前記テスト実行時の再試行を減少させる工程を含む請求項２１に記載の方法。
【発明の詳細な説明】
発明の背景
発明の分野
本発明は、集積回路の製造およびテストに関するものであり、特にエンジニアニングの為及び製造の為にＥＥＰＲＯＭまたはフラッシュＥＰＲＯＭのような集積回路をテストする回路に関するものである。
従来技術の説明
集積回路の製造において、エンジニアニング上及び製造上のテストは重要である。それ故、大抵の集積回路は、チップ上にテスト過程を容易にするテスト回路を備えている。一時に多数のデバイスをテストする能力は、テスト過程が集積回路を製造する方法に組み込まれている場合、製造上特に重要である。一団となった（ギャング）集積回路の為の製造テストシステムでは、テストを制御するプロセッサによって監視されなければならないデータ量は極めて大きなものになることがある。このため、テスト過程が遅くなり、テストモードの間に処理できる情報量が制限される。
不揮発性メモリ装置の分野ではテストは極めて重要である。例えば、メモリ装置は、耐久性のテストをしなければならず、製造の際の読み書き速度仕様に適合していなければならない。また、回路の耐久性、読み書き速度パラメータは、製品設計の際のエンジニアニリング上重要である。集積回路技術を基礎とした不揮発性メモリ設計は伸び行く分野の典型例である。不揮発性メモリセルの代表例は消去可能プログラム可能読み出し専用メモリ（ＥＰＲＯＭ）として知られている。二つの一般的なＥＰＲＯＭ設計はメモリセルの分離（アイソレーション）の行われ方により区別される。一つはＥＥＰＲＯＭとよばれ、第２のものは高密度形式を用いるフラッシュＥＰＲＯＭとして知られている。
フラッシュＥＰＲＯＭ、ＥＥＰＲＯＭ技術の両方とも、ソース、チャンネル、ドレインからなり、チャンネル上の浮遊ゲートとその浮遊ゲートから分離された制御ゲートを備えたメモリセルを基礎としている。セルをプログラムする動作は、浮遊ゲートを電子で充電（チャージ）してメモリセルのターンオン閾値を増大させる。従って、プログラムされたときも、セルはターンオンしない。すなわち制御ゲートに読み出し電位を印加してアドレス指定したときもセルは非導通のままである。セルを消去する動作は浮遊ゲートから電子を除去して閾値を低下させることである。より低い閾値となれば、読み出し電位を制御ゲートに印加してアドレス指定したときセルは導通状態になる。
通常のＥＥＰＲＯＭ構造は、メモリセルをビット線から隔離するパスゲートを含む２トランジスタセル構造か、直列接続の二つのトランジスタのように動作するスプリットゲート構造を用いて非選択セルを隔離するので、非選択メモリセルが漏れ電流をビット線に与えることはない。高密度のフラッシュＥＰＲＯＭでは隔離トランジスタ乃至はスプリットゲートを用いることはない。
さらに、市販されているフラッシュＥＰＲＯＭ構造体は、プログラミング、消去が確実になされたことを検証する回路を備える。例えば、Jungrothによって発明された、"VOLTAGE MARGING CIRCUIT FOR FLASH EPROM"と題する米国特許第4,875,118号を参照されたい。
また、市販の装置は、不揮発性構造体の動作をテストするのに用いることができる自動プログラムモード及び消去モードを備える。
フラッシュＥＰＲＯＭ、およびＥＥＰＲＯＭのような不揮発性メモリ装置に対する特定の品質要求を満たすために、プログラム・消去サイクリング（cycling）が、低耐久性（すなわち、初期の破壊（infant mortability））の装置を排除するのに要求される。テストに対するハードウエアとしての条件を単純化し、サイクル時間を減少させるためには、一括サイクリング（ギャングサイクリング：gang cycling）が製造環境で要求される。従って、自動プログラム・消去モードに何らかの情報を与えて、ギャングサイクリングを容易化ことがの望ましい。エンジニアリング上は、サイクリングの間にデバイスの状態を記録するモードを持つことにより、特定のデバイスの耐久性を指示することも重要である。
発明の概要
本発明は、機能モジュールと、当該機能モジュールと結合し、その機能モジュールのテストを実行し、そのテストの結果として状態情報を発生する機能モジュールテスト回路を備えた集積回路を提供する。不揮発性状態書き込み回路は、チップ上の前記テスト回路と結合され、不揮発性メモリを備える。不揮発性書き込み回路内のある回路は機能回路のテストに応答して状態情報をその不揮発性メモリに書き込む。ポートが、不揮発性メモリに結合された集積回路に備えられ、その集積回路を介して外部装置にアクセス可能になっている。
不揮発性状態書き込み回路内の不揮発性メモリは、ＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュＥＰＲＯＭのような種々の不揮発性メモリセル構造でよい。
本発明の一側面によれば、集積回路機能モジュールはメモリを含み、テストは当該メモリに結合された書込み回路を実行（exercise）して、メモリセルの速度や耐久性を試験する。
好適なシステムによる不揮発性状態書き込みメモリは、メモリ内のメモリセルがテストされた回数の示度を記憶するのに用いる複数のメモリセルを備える。この数は、メモリが破壊の前に何回のサイクリングに耐えたかをテスト技術者に情報を与えることによってセルの耐久性を示す。また、そのメモリは、製造のテストモードの間に、集積回路がサイクル回数の特定の閾値をパスしたかどうか、その結果、耐久性低い回路を除くかどうかを示す状態情報を記憶するのに用いることができる。
本発明の別の側面によれば、製造モードの間にメモリに対する書込み回路の実行（exercise）によってメモリセルがテストされるべき回数がユーザ入力によりプログラム可能である。
本発明のさらに別の側面によれば、フラッシュＥＰＲＯＭ集積回路が提供される。そのフラッシュＥＰＲＯＭはフラッシュＥＰＲＯＭメモリセルのアレイとそのアレイ内のデータの外部装置によりアクセスを可能のするポートを備える。一組のテスト用のフラッシュＥＰＲＯＭセル（テストセット）がアレイ内に備えられる。そのアレイに結合されたプログラム・消去回路は、そのプログラム・消去回路を実行（exersize）してメモリアレイ内のセルのテストの結果示す状態情報を発生するテストモードを備える。不揮発性状態書き込み回路はプログラム回路およびテストセットに結合され、状態情報をテストセットに書き込む。別のテストモードでは、読出し回路が動作可能（enable）にされデータポートを介して状態情報を読み出す。
テスト制御回路は、モード制御入力に応答して特定のテストの実行（exercise）を選択する。テストモードに応答してテスト列にアクセスする回路は、テストモードの間にテストセットへのアクセスを可能にするロジック（logic）、プログラム回路に結合され、複数の演習のカウントに応答してテストセット内のメモリセルをアドレス指定する、テスト列アドレスレジスタ、およびテストセットに結合され、テストセット内の対応するメモリセルにテストモードの特定の実行（exercise）の状態を指示するデータを供給する回路を備えている。
本発明のさらに別の側面によれば、フラッシュＥＰＲＯＭ集積回路が提供され、その中でプログラム・消去回路は、自動プログラム及びプログラム検証制御回路ループと自動消去及び消去検証制御回路ループを備えている。自動プログラム及びプログラム検証制御回路ループは、プログラム検証の失敗に応答してプログラムミングの実行（execise）を再試行するロジック、およびプログラム再試行閾値までの再試行をカウントし、そのプログラム再試行閾値に達成した場合はプログラミングの実行の失敗の信号を生成する再試行カウンタを備えている。自動消去及び消去検証制御ループはまた、消去検証の失敗に応答して消去の実行（exercise）を再試行するロジックを備えている。消去再試行カウンタは消去再試行閾値までの再試行をカウントし、その消去再試行閾値に到達した場合は消去の実行の失敗の信号を生成する。ユーザーがプログラムできるロジックを備え、これによりユーザー入力に応じてプログラム再試行閾値及び消去再試行閾値がプログラムされる。このような性能は、エンジニアリング評価のために、またフラッシュＥＰＲＯＭや不揮発性メモリ構造体のウエーハテスト時間を減少させるために重要である。
本発明はまた、集積回路を製造する方法として特徴づけることができる。この方法は、（１）集積回路上に不揮発性状態書込みメモリを集積すること、（２）集積回路内の機能モジュールのテストを実行すること、（３）このような特定の集積回路の不揮発性状態書込みメモリに各特定の集積回路にして行ったテストの結果を示す情報を記憶すること、および（４）不揮発性書込みメモリに記憶されたデータに応答して集積回路を分類すること、を有する。この方法は、複数の集積回路を自動的にテストするプロセッサを含むテスト装置上に複数の集積回路を配置する工程を含む”ギャングサイクリング”の手法に拡張できる。
従って、本発明は、エンジニアリングの為の自動プログラム・消去モードを提供し、集積不揮発性メモリ装置上での不揮発性状態書込み回路の利用を含む製造の為の自動プログラム・消去モードを提供する。この技術は、広い範囲の多様の集積回路に適用可能であり非常に高速で大量の状態情報の生成を伴う、非常に多くの回路のテストを容易にする。
本発明の他の側面および利点は、図面、詳細な説明、および請求の範囲を参照することによって明らかになるだろう。
【図面の簡単な説明】
図１は、本発明に係る不揮発性状態書込み回路を内蔵した集積回路の概略図である。
図２は、本発明に係る集積回路の製造に用いられるテスト回路の概略図である。
図３は、本発明に係る不揮発性状態書込み回路を内蔵した不揮発性メモリ集積回路の機能ブロック図である。
図４は、図３の回路においてエンジニアリング上用いられる自動プログラム・消去サイクリングモードを示すフローチャートである。
図５は、図３の回路において製造上用いられる自動プログラム・消去サイクリングモードを示すフローチャートである。
図６は、本発明に係る自動プログラム・消去サイクリングモードのプログラミングを示すタイミング図である。
図７は、本発明を係る集積回路用のテスト列読出しシーケンスを示すタイミング図である。
図８は、本発明を内包する不揮発性メモリ装置のテストフローである。
図９は、本発明に係るセグメント単位で動作可能な（segmentable）なフラッシュＥＰＲＯＭの概略図である。
図１０は、本発明に係るフラッシュＥＰＲＯＭの詳細論理図である。
図１１は、図１０のブロックスキップ・リセットコントロールブロック２２７の論理図である。
図１２Ａ−１２Ｃは本発明に係る自動プリプログラム・消去動作の詳細フローチャートである。
図１３は、本発明に係るプログラム・消去再試行閾値のプログラミングを説明するタイミング図である。
詳細な説明
図１乃至図１３を参照して、本発明の好適実施例を詳細に説明する。図１および図２は、本発明に係わる不揮発性状態書込み回路の基本環境を示す。図３乃至図１３はフラッシュＥＰＲＯＭ集積回路の実施例、および本発明に係る製造及びエンジニアリングを目的としてそれをテストする方法を示す。
図１は包括的に参照番号１で示された集積回路を示し、機能モジュール２を含む。機能モジュール２にはテスト回路２が結合されている。不揮発性状態記憶部４がライン６によってテスト回路に結合され、不揮発性メモリ内のテスト回路３によって実行されたテストの結果を示す状態情報を記憶する。集積回路１は、それを介して外部装置が不揮発性状態記憶部４にアクセスできる入出力ポート５を備えている。入出力ポート５は公知の技術を用いて集積回路の機能モジュール２により共有されてても良い。
集積回路１に不揮発性状態記憶部４を内蔵することによって、図１に示すように、テスト回路３は、かなりの情報（intelligence）を有し、リアルタイムでテストの結果を受ける外部装置を必要としない。従って、この構造体は、図２に示されるように集積回路郡のギャングサイクリングを容易にする。
図２は集積回路の製造中に用いられる本発明に係る機構を帰納的に示す。この機構は、テスト制御プロセッサ１００と集積回路郡のギャングテスト用のテストボード１０１からなる。その集積回路郡は、回路００、回路０１、回路１０、回路１１、回路２０・・・を備えるアレイとして、ボード１０１に配置され、他の回路は、行列状に装置上に配列されている。ボード１０１は、そのボード上にアレイ配置する集積回路に結合されたテストバス１０２を備える。テストコントロールプロセッサはライン１０３によってバス１０２と連絡する。図１に示された集積回路を用いて、テストコントロールプロセッサは集積回路を制御して並列にテストを実行（execute）し、その結果を各集積回路の不揮発性メモリに記憶する。後に、複数のチップ上の不揮発性状態記憶部に記憶されたデータはテストコントロールプロセッサによる分析のために走査して取り出すことができる。この過程によって、連絡する回路の各々に対するテストによって発生した状態情報をテストし、受信する必要がなくなる。さらに、各集積回路の不揮発性状態記憶部はかなり多量のデータを記憶し、集積回路郡のギャングテストの速度条件のために従来のシステムでは得られない種々のテスト結果を示すことができる。
図３は、本発明に係る不揮発性メモリ装置の機能ブロック図である。
その装置は不揮発性メモリアレイ１１０を備える。アレイは複数の行と列（図示せず）を備えている。列の一つはテスト列１１１として用いられ、テストモードの間だけ、Ｘアドレスによって選択され、全てのＡＰＥ（automatic program and erase）モードの間の不揮発性状態書き込みおよびテスト列読み出しモードの間の状態情報の読出しが可能である。Ｘデコーダ１１２はアレイ１１０と結合され、アレイの行に沿ってワード線を駆動する。１１３で概略的に示されたＩ／Ｏポートは、テスト列１１１のデータを含むアレイ内のデータへのアクセスを与える。Ｉ／Ｏポート１１３は、データ入力バッファ１４０およびセレクタ１４１を介してアレイ１１０のデータ線１４２に、セレクタ１４１、センスアンプ１４３およびデータアウトバッファ１４４を介してデータ線１４２に結合されている。不揮発性メモリアレイ１１０はアドレスバッファ１１５に結合されたアドレス入力パッド１１４を介してアドレス指定される。アドレスバッファ１１５の出力は、従来技術を用いてＸデコーダ１１２を駆動するＸプリデコーダ１１６に供給されるライン１４５上のＸアドレスを含む。アドレスバッファ１１５はライン１４６上のＹアドレスをプリデコーダ１４７とＹデコーダ１４８に供給してアレイ１１０内のＹパストランジスタ１４９を列選択する。
不揮発性メモリアレイはまた、ライン１１９上の入力としてのアドレス高電圧信号ＡｘＨ、ライン１２０上のチップイネーブル信号、ライン１２１上の出力イネーブル信号（必要に応じて）、及びライン１２３上の信号データを受信するように連結されたモードコントロールロジック１１８を備える。モードコントロールロジックは集積回路の動作モードを制御するのに用いられる。好適実施例において、ユーザモードは少なくともプログラムモード、消去モードおよび読出しモードを有する。テストモードは、３個の自動プログラム・消去（ＡＰＥ）テストモードおよびテスト列読出しモードを有する。これらのモードは、図６、図７に示されるようにアドレス高電圧に応答するテストモードを含むように変形された、公知の技術を用いてライン１１９、１２０、１２１および１２３上の入力に応答して選択される（例えば、カリホルニア、サニーベールのAdavanced Micro Device, Inc.によって製造されたAm28F020フラッシュメモリチップ参照）。
モードコントロールロジック１１８に結合するのは、自動プログラム・消去回路１２４であり、これは、不揮発性メモリアレイのセルをプログラム・消去するのに必要な全ての回路を備える（出願番号PCT/US93/05117で1993年5月28日に出願された、Tom D. Yiu他によって発明された"FAST FLASH PROGRAMMING AND PRE-PROGRAMMING CIRCUIT DESIGN"及び出願番号PCT/US93/05416で、1993年5月28日に出願され，Tien-Ler Lin他によって発明された"FLASH EPROM WITH BLOCK ERASE WITH BLOCK ERASE FLAGS FOR OVER-ERASE PROTECTION"と題する同時係属のPCT出願を参照されたい）。
好適実施例によれば、モードコントロールロジック１１８は３個の異なったテストＡＰＥモード、すなわちライン１２５上で信号として送られる無制限（free-running）ＡＰＥモード、ライン１２６上で示されている１６個のＡＰＥサイクルを実行（exercise）するＡＰＥモードおよびライン１２７上で指示された１２８個のＡＰＥサイクルを実行するＡＰＥモードを有する。また、テスト列読出しモードがライン１２２上で信号として送られる。ライン１２５、１２６または１２７上の信号がアクティブの間に、ＡＰＥテスト列イネーブル信号ＡＰＥ  ＴＣはライン１０９を通ってテスト列プログラミングの間にテスト列ドライバ１２８に供給される。このテスト列プログラミングは、ライン１２９のデータをテスト列１１１に送り、Ｙデコーダ１４８を使用停止（disable）にしてＴＣレジスタ１１７内で特定されたＸアドレスに応答してテスト列１１１のプログラミングを実行する。また、タイマ１２９はＡＰＥモード１２４に結合されている。
ライン１３０上のＡＰＥＯＮＣＥ信号はＡＰＥサイクリングの間にモードコントロールロジック１１８によって生成される。この信号はｍｏｄ１６／１２８カウンタ１３１をインクリメント（increment）するのに用いられる。ｍｏｄ１６／１２８カウンタ１３１はライン１３２上にカウント１６信号およびライン１３４上にカウント１２８信号を生成し、それらの信号はモードコントロールロジック１１８に送られる。
ＴＣレジスタ１１７は、ＡＰＥサイクリングの間にワードラインアドレスビットを供給するアドレスカウンタ１３５に結合され、図４および図５のアルゴリズムにおける１６個のプログラム消去サイクル毎の状態書込みのための、テスト列１１１における適切な位置を特定する。ＴＣレジスタ１１７の値はＡＰＥ処理の間にアドレスカウンタ１３５に落とされ、そのアドレスカウンタ１３５を介してアドレスバッファ１１５に送られる。この値は、ゼロに初期化され、プログラム・消去回路の特定の実行（exercise）のためにテスト列１１１の特定のメモリセルをアドレス指定するのに用いられる。各アクセス毎に、アドレスカウンタ１３５は１づつインクリメントし、増加された値をＴＣレジスタ１１７に戻す。従って、各１６サイクルの実行（exercise）毎に、不揮発性メモリアレイテスト列１１１内の新しい行が状態情報を書込むためにアドレス指定される。
図４及び図５は、それぞれ、エンジニアリングを目的とする無制限ＡＰＥプロセスおよび本発明によってモードコントロールロジック１１８によって実行される、有限サイクル数で行われる製造ＡＰＥプロセスを示す。図４において、アルゴリズムは、リセット状態１６３で開始する。モードコントロールロジックは高電圧Ａ１ＨおよびＡ２Ｈに対するアドレスラインＡ１およびＡ２をモニタする（ブロック１６４）。Ａ１ＨおよびＡ２Ｈが検出された後、モードコントロールロジックは、ブロック１６５およびブロック１６６によって特定された無制限ＡＰＥに関する一連のＸ３Ｈ−Ｘ３Ｈについての一連のデータをモニタする。次いで、アルゴリズムはプログラム・消去サイクル１５０（詳細は図１０、図１２に示されている）を続行する。プログラム・消去サイクル１５０はプログラム検証を含むチッププリプログラミングステップ１５１を有する。プログラム検証が失敗すると、ハングアップ状態になる。従って、次のステップでハングアップ状態がテストされる（ブロック１５１Ａ）。プリプログラミングの間にハングアップが起こらなければ、チップ消去サイクルが実行（exercise）される（ブロック１５２）。チップ消去サイクリングも消去検証を有する。チップが消去検証に失敗すると、ハングアップ状態に入る。アルゴリズムの次のステップはチップ消去後のハングアップのテストである（ブロック１５２Ａ）。ハングアップが検出されなければ、アルゴリズムはブロック１５４に進む。ハングアップ状態がブロック１５１Ａ、１５２Ａのどちらかのブロックで検出されると、ブロック１５５で示されるように自動プログラム・消去サイクルがハングアップする。
ハングアップ状態はチップモードをリセットしないでＡＰＥプロセスを停止する。
自動ＡＰＥサイクリング１５０の間にハングアップがなければ、アルゴリズムはアドレス信号Ａ１及びＡ２が高（high）プログラミングポテンシャルのままであることを確認するテストを行って、サイクリングが続くことを示す。そうでない場合は、アルゴリズムは終了する（ブロック１５６）。アドレスラインが高レベルのままであれば、アルゴリズムは、図３のｍｏｄ１６カウンタ１３１の出力で発生したカウンタ１６の信号をテストする（ブロック１５７）。
カウント１６信号がブロック１５７でアクティブ（asserted）にされると、テスト列は、データを”０”に設定することによってプログラムされる（ブロック１５８）。チップはハングアップモードのない自動プログラムルーチン、および図３のＴＣレジスタを用いるこのテスト実行の為のテスト列の特定のセルをプログラムする。ブロック１５８におけるテスト列のプログラミングの後、ＴＣレジスタはインクリメントされる（ブロック１５９）。次に、ＡＰＥＯＮＣＥ信号がアクティブにされ、ｍｏｄ１６カウンタ１３１がインクレメントされる（ブロック１６０）。ブロック１６０の後、アルゴリズムはＡＰＥサイクリング１５０にループする。このループは、テストをモニタするテストプロセッサによってアドレス信号Ａ１及びＡ２が高プログラミングポテンシャルに維持されている間継続する。１６サイクル毎に、ループがハングアップするか、サイクルがＡ１ＨまたはＡ２Ｈに応答して終了するまで、テスト列アドレス位置がゼロにプログラムされる。
図５は、図３に関して説明したＡＰＥ１２８モードまたはＡＰＥ１６モードのような固定カウントＡＰＥモードに対するＡＰＥサイクリングを説明する。図５において、ＡＰＥ１２８モードの例を説明する。図４において用いられる参照番号は図５の同一のブロックのものと同様である。図５において、アルゴリズムは、たとえば、データ値をＸ３−Ｘ２シーケンスに変形して、図４のブロック１６３−１６６に類似した態様でＡＰＥ１２８モード（ブロック１６７）を検出することから始まる。これによって、ハングアップを有しないＡＰＥサイクルが開始される（ブロック１６１）。そのハングアップのないＡＰＥモードは、チップ消去サイクル１５２が続くチッププリプログラムサイクル１５１を用いる。
ＡＰＥサイクル１６１の後、アドレス信号Ａ１およびＡ２がテストされる（ブロック１５４）。何れか一方が低い場合、アルゴリズムは終了する（ブロック１５６）。両信号とも高い場合、ｍｏｄ１６カウンタがテストされる（ブロック１５７）。カウントが１６に等しい場合、テスト列が自動プログラムルーチンおよびＴＣレジスタを用いてプログラムされる（ブロック１５８）。次に、ＴＣレジスタがインクレメントされる（ブロック１５９）。ブロック１５７のカウントが１６に等しくない場合、カウント１２８信号がブロック１６２でテストされる。カウント１２８信号がアクティブにされない場合，ＡＥＯＮＣＥ信号がアクティブにされ、ｍｏｄ１６カウンタがインクリメントされる（ブロック１６０）。つぎに、アルゴリズムはＡＰＥサイクル１６１にループバック（loop back）する。ブロック１６２で、カウンタ１２８信号がアクティブにされたとすれば、アルゴリズムはブロック１５６にループバックし、終了する。ＡＰＥ１２８モードが終了すると、テスト列の内容は00000000 ... 111（８個のゼロの後に全て１が続く）。
このモードは、一団の回路内の所定の回路がプリプログラム・消去モードを通過するに要する時間が変わるので、集積回路を製造する製造モードにとって重要である。従って、テスト回路はその一組の回路内の全てのチップを並列にＡＰＥサイクリングさせることができる。全ての素子がこのプロセスを完了したことを確認するに十分な時間待った後で、有効な製造モード操作不揮発性状態記憶部から結果を読み出して、素子郡がサイクリングされたことを確認できる。図４のエンジニアリングのテストによれば、素子は最初の失敗でハングアップする。テスト列内のデータは、どの位のサイクルが最初のハングアップの前に完了したかを示す。
図６は、モードコントロールロジック１１８を用いてＡＰＥモードをプログラムするシーケンスを示すタイミング図である。ＡＰＥモードに入るためには、トレース１７０で示されるように、Ｖｃｃ電源は５Ｖでなければならない。また、プログラミング高電圧Ｖｐｐはトレース１７１で示されるようにターンオンしなければならない。アドレス信号Ａ１はＶｐｐのターンオンから少なくとも約１０マイクロ秒後にプログラム電位になる。また、アドレス信号Ａ２は、トレース１７２、１７３に示されるように、アドレスＡ１のターンオンから１０マイクロ秒後に高になる。Ａ１及びＡ２がアクティブにされるとき、トレース１７４で示されるように、他のアドレス信号は不感（don't care state）状態にある。チップイネーブル信号は、トレース１７５で示されるようにＡ２信号がアクティブにされてから１００マイクロ秒後に低（low）になる。トレース１７７で示される出力イネーブル信号は、高になり、出力を使用停止（disable）にする。
モードは、ライン１７８、１７９で示されるようにライン１７５上のチップイネーブル信号のトグル（toggle）の間、即ち高低２状態を往復する間にデータ信号Ｑ０ーＱ７をアクティブにすることによって選択される。記号§§は、Ｘ１（１６進）に等しく、ＡＰＥモードを示す。それはＸ２（１６進）であり、ＡＰＥ１２８モードを示す。またそれは、Ｘ３（１６進）に等しく、ＡＰＥ無制限モードを示す。
ＡＰＥ１６モードはＡＰＥサイクルの数が１６に等しいとき終了する。ＡＰＥ１２８モードは、ＡＰＥサイクルの数が１２８に等しいとき終了する。ＡＰＥ１６モード、ＡＰＥ１２８モード及びＡＰＥ無制限モードは、他のＡ２またはＡ１信号が高のままで、Ａ１またはＡ２ＶＨ電圧がＶｃｃレベル以下になるとき終了する。サイクリングが終了し、チップ全体が消去状態になるとき装置はリセット状態に入る。
図７に示されるテスト列読出しタイミング波形はテスト列を読出すために用いられる。テスト列読出しタイミング波形は、１８０で示されるようにＶｃｃ電源が高になった後で入力される。アドレス信号Ａ６及びＶｐｐプログラミング信号はそれぞれ、ライン１８１、１８２で示されるように、アクティブにされて１２Ｖのプログラミング電位になる。アドレス信号Ａ０−Ａ６は、ライン１８３で示されるように、不感（ドントケア（don't care））状態にある。アドレス信号Ａ７−Ａ１８は、１８４で示されるウインドウの間にアクティブにされテスト列の特定のセルをアドレス指定する。このアドレス指定は、ライン１８５上のチップイネーブル信号およびライン１８７上の出力イネーブル信号を操作することによって達成される。従って、チップイネーブル信号が低になるとき、ラインＱ０−Ｑ７上のデータはアクティブにされて、ライン１８８に示されるように、全て０か全て１となり、高Ａ６（Ａ６ＶＨ）によって選択されるテスト列の読出しモードに入る。そのテスト列からのデータを読出すために、出力イネーブル信号がライン１８７で示されるようにアクティブにされる。有効なアドレスがライン１８４に供給された後、ライン１８８で示されるようにテスト列からデータが読出される。
こうして、不揮発性メモリ装置内にテストモード回路を備えた自動不揮発性状態書込み回路が示される。当該装置は、エンジニアリングおよび製造の二つのモードを有し、耐久サイクリングの成功を示す状態情報または耐久サイクリングの間に特定のチップが受けたテストの数を記憶することを可能にする。
図８は、本発明に係る不揮発性状態書込み回路を備える集積回路の製造のためのテストの流れを示す。このテストの流れは、図３乃至図７を参照して上述した不揮発性メモリ装置に特に適している。テスト製造法は、プログラム・消去動作テストをパスするウエハの中から内の良好なダイをピックアップし、装置内のセルに００（１６進）パターンデータをプログラムする、ウエハレベルにおける、第１のソートステップＳＯＲＴ１（ブロック１９０）を有する。
次のステップは、ブロック１９１で示すように装置をベーク（bake）して高温動作させることである。装置をベークすると、弱い保持性能しかない上記ステップでプログラムされた装置が不合格（fail）になる。ＳＯＲＴ２ステップ（ブロック１９２）では、保持テストをパスした装置がウエハ上で選択される。ＳＯＲＴ２の後で、個々のダイがパッケージされる（ブロック１９３）。封止の後、第１のパッケージテストが実行され（ブロック１９４）、チップの機能テストにより、その装置がプログラム・消去可能であることと、特定のタイミングに従ってアレイが読出されることを確認する。パッケージテストの後、ＡＰＥ耐久サイクリングが実行（execute）される（ブロック１９５）。このサイクリングは、集積回路の耐久力をテストするものであり、上述したように、エンジニアリングのためまたは製造のためにプログラムしてもよい。ブロック１９５のＡＰＥサイクリングの後、最終テストがブロック１９６で実行（execute）される。最終テストの間、テスト列は、図７のタイミング図に従って読出され、サイクリングテストで不合格となった装置を選別して除外する。次いで、チェッカボードパターンをプログラムして個々の装置のの速度の程度をテストする。
本発明に係る不揮発性状態書込み回路を用いて、プログラム／消去サイクリング１９５を集積回路の製造の過程でより効果的に実行（execute）できる。また、このようなテストから得られる情報が改善される。中でも、この方法を用いて製造される集積回路の品質およびコストが改善される。
本発明に係る不揮発性メモリ装置の好適実施例にはフラッシュＥＰＲＯＭ集積回路が含まれる。フラッシュＥＰＲＯＭの実施例を図９乃至１３を用いて詳細に説明する。
図９は、フラッシュＥＰＲＯＭ回路のドレイン−ソース−ドレイン配列を用いたセグメント単位で動作可能なアレイ構造を示す（従来技術を示すために参考としてここに引用されている"NON-VOLTILE MEMORY CELL AND ARRAY ARCHITECTURE"というタイトルで１９９２年１月２２日に出願された同時係属の米国特許出願第０７／８２３，８８２号に記載されている）。
上記回路には第１のローカルビット線１０および第２のローカルビット線１１が含まれる。第１、第２のローカルビット線１０、１１は、埋め込み拡散導体によって実現される。埋め込み拡散によって実現されるローカル仮想接地線１２も含まれる。ゲート、ドレイン及びソースを有する複数の浮遊ゲートトランジスタがローカルビット線１０、１１および仮想接地線１２に結合されている。複数のトランジスタのソースはローカル仮想接地線１２に結合されている。第１列のトランジスタ１３のドレインは、第１のローカルビット線１０に結合されており、第２列のトランジスタ１４のドレインは、第２のローカルビット線１１に結合されている。浮遊ゲートトランジスタのゲートは、ワード線ＷＬ0〜ＷＬNに結合され、各ワード線（例えば、ＷＬ1）は第１ローカルビット線１０のトランジスタ（例えば、トランジスタ１５）および第２ローカルビット線１１のトランジスタ（例えば、トランジスタ１６）のゲートに結合されている。従って、トランジスタ１５、１６は共通ソース拡散部を有する２トランジスタセルと見なすことができる。
浮遊ゲートを充電する動作は、フラッシュＥＰＲＯＭセルに対するプログラムステップと呼ばれる。これは、ゲートとソースの間に大きな正の電圧（例えば１２Ｖ）およびドレインとソースの間に正の電圧（例えば６Ｖ）を設定することによってホットエレクトロン注入によってバイト毎に達成される。
浮遊ゲートを放電する動作は、フラッシュＥＰＲＯＭセルの消去ステップと呼ばれる。これは、浮遊ゲートとソースとの間（ソース消去）、または浮遊ゲートと基板の間（チャンネル消去）のＦ−Ｎ（Fowler-Nordheim）トンネル機構によって実現される。ソース消去は、ゲートを接地するかまたは負（例えば−７Ｖ）にバイアスしたまま、ソースに正のバイアス（例えば１２Ｖ又は７Ｖ）を印加することによって行われる。ブロック単位のチャンネル消去は、ゲートに負バイアスを印加すること、および／または基板に正のバイアスを印加することによって行われる。
第１のグローバルビット線１７および第２のグローバルビット線１８は各ソース−ドレイン−ドレインブロックと接続されている。第１のグローバルビット線１７は拡散金属コンタクト５５を介して最上ブロックのセレクトトランジスタ１９のソースと結合されている。同様に、第２のグローバルビット線１８は拡散金属コンタクト５６を介して最上位ブロックのセレクトトランジスタ２１のソースと連結されている。最上ブロックのセレクトトランジスタ１９、２１のドレインは、それぞれ、第１及び第２のビット線１０、１１に結合されている。最上位ブロックのセレクトトランジスタ１９、２１のゲートは、線２３上の最上位ブロックセレクトトランジスタＴＢＳＥＬAによって制御される。
ローカル仮想接地線１２は、最下位ブロックのセレクタトランジスタ６５Ａを介して導体５４Ａを横切る仮想の接地端子に結合されている。最下位ブロックのセレクトトランジスタ６５Ａのドレインは、ローカル接地線１２に連結されている。最下位ブロックセレクトトランジスタ６５Ａのソースは導体５４に結合しており、そのゲートは線２６を横切る最下位ブロックの信号ＢＢＳＥＬAによって制御される。好適なシステムにおいては、導体５４Ａは、アレイを介して水平に離れた位置で金属ー拡散コンタクト６０Ａに延びる埋込み拡散導体である。
グローバルビット線は、アレイを介して各列セレクトトランジスタ７０、７１まで垂直に延び、そのトランジスタを介して選択されたグローバルビット線がセンスアンプとプログラムデータ入力回路（図示しない）に結合される。こうして、列選択トランジスタ７０のソースはグローバルビット線１７に結合され、そのゲートは列デコード信号Ｙn0に結合され、そのドレインは導体２９に結合される。
フラッシュＥＰＲＯＭのブロックは、図９に示されるように複数のサブアレイに配置される。図９は、大規模集積回路内の二つのサブアレイを示す。サブアレイは点線５０に沿って分割され、点線５０より上のサブアレイ５１Ａおよび点線５０より下のサブアレイ５１Ｂを有する。セルの第１グループ５２は、所定のビット線対（例えばビット線１７、１８）に沿ってセルの第２グループ５３とミラーイメージで配置される。ビット線対をたどって行くと、メモリサブアレイは、仮想接地線５４Ａ、５４Ｂ（埋め込み拡散）および金属ー拡散コンタクト５５、５６、５７および５８を共有するように反復されて配置する。仮想接地導体５４Ａ、５４Ｂはアレイを横切って拡散金属コンタクト６０Ａ、６０Ｂを介して垂直の仮想接地金属線２５まで水平に延びる。サブアレイは金属仮想接地線２５の両側で、隣接したサブアレイが一本の仮想接地線２５を共有するように繰り返される。金属仮想接地線２５は、アレイグランド及び消去高電圧回路に結合される。従って、サブアレイレイアウトは、グローバルビット線に対して二つのトランジスタセルの列毎に二つの金属コンタクトピッチと、金属仮想線２５に対してサブアレイ毎に一つの金属コンタクトピッチを必要とする。
さらに、図９に示された２個またはそれ以上のサブアレイは、最上部（top）または最下部（bottom）ブロックセレクト信号ＴＢＳＥＬＡ、ＴＢＳＥＬＢ、ＢＢＳＥＬＡ、およびＢＢＳＥＬＢによって与えられる付加的デコードのために図示されたワード線を共有することができる。好適なシステムにおいて、各ブロックは、列状の４個のサブアレイを含み、各サブアレイの行は他の３個のサブアレイの行と共通のワード線ドライバを共有する。４個のサブアレイの中でのデコードは、ＴＢＳＬＥＡおよびＴＢＳＥＬＢに応答して最上部のブロックセレクトトランジスタを用いて実行される。各サブアレイは、３２本のワード線および１Ｋ（1,024）のビット線を備える。従って、４個のサブアレイ、３２本のワード線（深さ）および１Ｋのビット線（幅）で、１２８Ｋのセルブロックが与えられる。３２個のブロックで４メガビットメモリが形成される。
これまでの説明から明らかなように、本発明に係わる構造によって、区分されセクタ毎に動作するフラッシュＥＰＲＯＭアレイが提供される。これによれば、読み出し、プログラムおよび消去サイクルの間、非選択のサブアレイのトランジスタのソース、ドレインがビット線および仮想接地線上の電流および電圧から分離できるため、便利である。従って、読み出し動作では、選択されないサブアレイからの漏れ電流がビット線上の電流に寄与しないため検知が改善される。消去動作では、仮想接地線の高電圧が選択されないブロックからＢＢＳＥＬによって分離される。同じセクタ内のブロックに対して、ＢＢＳＥＬは同じ電圧レベルを有している。ＢＢＳＥＬは、セクタフラグがセットされたときには高電圧をアレイに通す必要から高電圧で駆動され、セクタフラグがリセットされたときにはゼロＶで駆動される。これによってセクタ毎の消去動作が可能となる。
図１０は、本発明に係る集積回路に関する、プログラム、プログラム検証、消去、及び消去検証制御の詳細ブロック図である。本例において、その集積回路は、３２ブロックからなる４メガビットのフラッシュメモリアレイ２００を備える。メモリアレイ２００内の３２個のブロックには３２フラグレジスタ２０１が接続されている。３２個の各フラグレジスタ２０１の各々は、メモリアレイ２００内の特定のブロックに対応する。
当該集積回路は、チップにデータを入出力し、アドレスをチップ入力するためのデータパッド２０２およびアドレスパッド２０３を備える。データパッド２０２はデータラッチ２０４に結合されている。データラッチ２０４は、コマンドレジスタ２０６を駆動しチップに対して動作モードを設定するデコーダ２０５に結合されている。コマンドレジスタ２０６には、出力イネーブル・チップイネーブルコントロールパッド２０８によって駆動される出力イネーブル・チップイネーブルコントロールロジック２０７が結合されている。
コマンドレジスタ２０６は、当該レジスタ２０６がブロック消去モードを指示するとき、フラグ２０１にライン２０９上のロード信号を出し、ＥＲＳコントロールロジック２２８にライン２５２上の制御信号を出す。ブロック消去のためにライン２０９上のロード信号に応答して設定されるフラグ２０１はライン２５０上のプリデコーダ２１０の出力で指示される。プリデコーダ２１０は、アドレスバッファ・ラッチ２１１からの最上位ビットによって駆動される。本例におけるアドレスバッファ・ラッチ２１１は、ブロック消去のためにアドレスパッド２０３上の信号によって駆動される。こうして、コマンドシーケンスの一部としてブロック消去モードが設定されるとき、消去されるブロックのアドレスがアドレスパッド２０３を介して供給される。これらのアドレスがプリデコーダ２１０によってプリデコードされ、ライン２０９上のロード信号に応答して設定されるフラグレジスタ２０１内のフラグを選択する。チップ消去動作またはＡＰＥモードの間、全てのフラグがライン２９９上のＳＥＴＦＧＢ信号によって設定される。
閾値レジスタ２８０は、図１３を参照して以下に詳細に説明するように設定される選択されたプログラム・消去再試行閾値を有するＰ／Ｅカウンタ２９６に信号を送る。
セクタ消去モード動作の間、コマンドレジスタ２０６は、ライン２１２上に制御信号を出す。それによって、アドレスバッファ・ラッチ２１１はＬＳＢアドレスカウンタ２１３の出力を選択し、ＭＳＢアドレスカウンタ２１４は、適宜、ロードの間アレイまたはアドレスパッド２０３を駆動する。アドレスはＸデコーダ２１５及びＹデコーダ２１６を介して供給され、アレイのアドレス指定をする。ブロックセレクトドライバ２１７は、ＥＲＳコントロールロジック２２８からライン２５３を通って指示される消去・消去検証モードの際、フラグレジスタ２０１内のフラグによって制御される。
ＥＲＳコントロールブロック２２８はまた、タイマ回路２２５からのライン２６１上の入力に応答して消去モードの間の高電圧発生を制御する。ＡＰＥＯＮＣＥ信号は、ＥＲＳコントロールブロック２２８への入力として図１０に示されている。
検証または読み出し動作の間のアドレス指定位置がセンスアンプ２１９に接続される。センスアンプ２１９の出力は、コンパレータ２２０に接続され、そのコンパレータはアドレス位置に記憶されたデータを、消去されるセル（プリプログラム検証では（００（１６進）に期待される）と比較する。コンパレータ２２０のＭＡＴＣＨ出力は、ライン２２１上で、Ｑ１３が高（high）のときは、ブロックブロックスキップリセットコントロール回路２２７に供給され、Ｑ１３が低（low）のときは、ライン２９８上にＥＡＤＲＣＬＫを発生してＬＳＢアドレスをインクリメントする消去検証制御回路２２２に供給される。消去検証制御回路２２２も、ライン２２３を通ってコンパレータ２２０のタイミングを制御する。消去検証制御回路２２２への他の入力には、発振器・ロジック制御ブロック２２４および消去シーケンスにおける決定的な事象のタイミングを制御するタイマ２２５からの信号がある。
全体フラグ評価回路２２６は、ブロックスキップ・リセット制御回路２２７からのＭＳＢＣＫ３７信号、ならびにフラグレジスタ２０１からライン２５８上でＦＬＡＧＲＥＳＢ信号およびライン２５９上でＡＬＦＧＲＥＳ信号を受信する。該回路は、全てのフラグがリセットされたときライン２６０上でＤＯＮＥ信号を供給し、またライン２９７上にＤＯＮＥ信号を供給して、全体フラグ評価間隔の間に全てのフラグがリセットされなかったとき、Ｐ／Ｅカウンタをインクリメントする。
消去検証制御回路２２２は消去検証動作の間にライン２５４上にＥＲＳＶＦＹ信号を発生し、自動チップまたはブロック消去動作に対する検証動作を示すライン２５５上のＳＣＰＡＰ／ＥＶ信号を発生する。
ブロックスキップ・リセット制御回路２２７はライン２５６上のＮＯＥＶＤＳＮ信号およびライン２５７上の信号ＭＳＢＣＫ３７を消去検証制御回路２２２に供給する。ＮＯＥＶＤＳＮはフラグ評価の間に高になっており、ＬＳＢアドレスのインクリメントを防止する。ブロックスキップ・リセット制御回路２２７を図１１を参照してさらに詳細に説明する。
消去制御回路２２８はコマンドレジスタロジック２０６内のテストコントロールロジックからライン２８１上のＡＰＥＯＮＣＥ信号を受信する。ブロックスキップ・リセットコントロール回路２２７はまた、ＥＲＳコントロールブロック２２８からライン２５３上のＥＲＳ信号およびライン２３１上のＲＥＳＡＬＬ信号を受信する。ＥＲＳコントロールブロック２２８は、全てのだった主ロジックブロックに結合され、システム内のカウンタ、レジスタ等の全てをリセットするのに用いられる。ブロックスキップ・リセットコントロールブロック２２７に対する他の入力は、カウンタがオーバーフローするときＬＳＢカウンタ２１３によって生成されるライン２６２上のＱ１３（すなわちＯＶＦＬ）信号及びチップの最後のブロックがアクセスされたことを示すプリデコーダ２１０によって生成されたライン２６３上のＬＡＳＢＬＫ信号である。
ブロックスキップリセットコントロール回路２２７の他の出力は、フラグブロック２０１内のフラグをリセットするのに用いられるライン２２９上のＲＥＳＦＧＢ信号およびＭＳＢアドレスカウンタ２１４に信号を送って新ブロックまでインクリメントするのに用いられるライン２３０上のＭＳＢＣＫＥＶ信号である。
Ｐ／Ｅカウンタ２９６は、消去制御ブロック２２８に接続されているライン２９５上にＭＡＸＯＵＴ信号を発生する。ＭＡＸＯＵＴ信号は所定動作内の消去またはプログラム再試行の数がプログラムされた再試行閾値を越えるときに高となる。カウンタのプログラミングは、オーバーフロー値としてカウンタのタップ出力を選択するロジックによって達成できる。これによって、閾値のプログラミング回数を以下に説明するように２の累乗の値にすることが可能となる。
ブロックスキップ・リセットコントロールブロック２２７はまた、消去検証制御回路に結合され、状態制御回路に対するフラグ及びアドレスカウンタのリセットを制御する。
図１１は、ブロックスキップ・リセットコントロールロジック２２７に対する論理図である。図１１に示された回路はブロックフラグ評価に対する４個の主だったコントロール信号を発生する。これらには、ライン３００上で全てのＬＳＢが検証を経たブロックのフラグをリセットするＲＥＳＴＧＢ信号が含まれている。ライン３０１上のＭＳＢＣＫＥＶ信号はＭＳＢカウンタをインクリメントし、最後のＬＳＢが正しく検証された場合、何らかのＬＳＢの検証がなされなかった場合、または新しいブロックがリセットフラグを持つ場合に新しいブロックに移動する。ライン３０２のＭＳＢＣＫ信号３７は状態制御回路に対して全てのブロックを調べたことを指示し、またそれがフラグ状態を再評価する時である。ライン３０３上のＮＯＥＶＤＳＮ信号を用いてによって新ブロックに対するフラグ評価期間の間ＬＳＢアドレスカウンタを停止させる。
当該論理図の入力には消去モードを示すライン３０４上のＥＲＳ信号が含まれる。また、ライン３０５上のリセット・テスト信号ＲＥＳＡＬＬおよびＡＰＥＯＮＣＥが入力として供給される。ＡＰＥＯＮＣＥ信号は、上述した自動プログラム・消去サイクリングの間にコマンドロジック（図１０の２０６）によってアクティブにされる。
もう一つの入力は、チップの最後のブロックがアドレス指定されたことを示すＭＳＢカウンタ２１４によって駆動されるライン３０６上のＬＡＳＢＬＫ信号である。
ライン３０７上のＥＲＳＶＦＹ信号が消去検証動作の間に生成され、ライン３０８上のＤＥＶ信号が制御目的でＥＲＳＶＦＹ信号の遅延形式として生成される。信号ＦＬＡＧＲＥＳＢは、選択ブロックのフラグがリセットされたときアクティブ低（active low）となる。
ライン３１０の信号ＭＡＴＣＨは所定のアドレスに対するパス消去検証を示すコンパレータの出力である。ライン３１１上の信号Ｑ１３は、ブロック内の最後のＬＳＢがテストされたことを示すＬＳＢオーバフロー信号である。
ライン３１２上の信号ＳＣＰＡＰ／ＥＶは、自動チップまたはブロック消去動作に対する検証動作を示す。ＲＥＳＡＬＬ信号はライン３１３上のグローバルリセット信号である。また、ロジックに対する入力にはタイミング上の目的から種々の発振器からのものを含む。
ライン３００上のＲＥＳＦＧＢ信号は一列に続くインバータ３２０及び３２１の出力で生成される。インバータ３２０への入力はＮＡＮＤゲート３２２の出力である。ＮＡＮＤゲート３２２の入力にはライン３２３上の発振器信号ＯＳＣＢおよびラッチ３２４の出力が含まれる。ラッチ３２４への入力はＮＡＮＤゲート３２５の出力である。ＮＡＮＤゲート３２５への入力には、ラッチ３２６の出力、ライン３１２上のＳＣＰＡＰ／ＥＶ信号およびインバータ３２７の出力が含まれる。インバータ３２７への入力は、ＮＡＮＤゲート３２８の出力である。ＮＡＮＤゲート３２８への入力には、ライン３１０上のＭＡＴＣＨ信号およびライン３１１上のＱ１３信号が含まれる。ラッチ３２６は新ブロックに移動するタイミングを示す。ライン３１２上の制御信号ＳＣＰＡＰ／ＥＶは正しい動作モードを示す。ＮＡＮＤゲート３２８の出力は、ブロックに対する消去検証が成功したかどうかを示す。これら全ての状態が真ならば、リセット３００上のリセットフラグ信号ＲＥＳＦＧＢがライン３２３上のＯＳＣＢ信号と同期して生成される。
ライン３０１上のＭＳＢＣＫＥＶがインバータ３３０の出力で生成される。インバータ３３０の入力はＮＡＮＤゲート３３１の出力となる。ＮＡＮＤゲート３３１の入力には、ライン３２３上のＯＳＣＢ信号およびインバータ３３２の出力が含まれる。インバータ３３２への入力はラッチ３２６の出力である。インバータ３３３への入力はＳＲフリップフロップ３３４のアクティブ低出力である。フリップフロップ３３４に対するＲ入力はＮＡＮＤゲート３３５の出力である。ＮＡＮＤゲート３３５に対する入力には、ライン３１３上のＲＥＳＡＬＬ信号によって駆動されるインバータ３３７の出力が含まれる。他の入力はＮＡＮＤゲート３３８の出力である。ＮＡＮＤゲート３３８はＯＳＣ信号およびラッチ３３９の出力によって駆動される。ラッチ３３９への入力はラッチ３２６の出力である。こうして、ＮＡＮＤゲート３３５の出力はタイミング信号となる。
フリップフロップ３３４へのＳ入力は、インバータ３３６の出力である。インバータ３３６のドライバはＮＡＮＤゲート３４０である。ＮＡＮＤゲート３４０への入力には、ライン３２３上のＯＳＣＢ信号とインバータ３４１の出力が含まれる。インバータ３４１はラッチ３４２によって駆動される。ラッチ３４２への入力はＮＡＮＤゲート３４３の出力である。ＮＡＮＤゲート３４３への入力にはＮＡＮＤゲート３２５の出力、ＮＡＮＤゲート３４４の出力およびＮＡＮＤゲート３４５の出力が含まれる。ＮＡＮＤゲート３４４の出力は、インバータ３４６によって駆動された入力による消去検証の失敗を示す。インバータ３４６はライン３１０上のＭＡＴＣＨ信号によって駆動される。ＮＡＮＤゲート３４４への他の入力には適切なモードを示すライン３１２上のＳＣＰＡＰ／ＥＶ信号および適切なタイミングを示すラッチ３２６の出力が含まれる。
ＮＡＮＤゲート３４５の出力は、設定フラグがない場合に発生される。これはＮＯＲゲート３４７の出力で示される。ＮＯＲ３４７への入力には、ライン３０９上のＦＬＡＧＲＥＳＢ信号とＮＡＮＤゲート３４８の出力が含まれる。ＮＡＮＤゲート３４８への入力にはＥＲＳＶＦＹ信号とライン３０７および３０８上のＤＥＶ信号が含まれる。
こうして、ライン３０１上のＭＳＢＣＫＥＶ信号は、設定フラグがないということ、カレントブロックに消去検証の失敗があったこと、またはカレントブロックが消去検証を経たことを示すロジックによって駆動されるインバータ３３６の出力によって基本的に駆動される。
ライン３０２上のＭＳＢＣＫ３７信号はインバータ３５０の出力によって駆動される。インバータ３５０はＮＡＮＤゲート３５１によって駆動される。ＮＡＮＤゲート３５１の入力にはライン３０１上のＭＳＢＣＫＥＶ信号とＳＲフリップフロップ３５２の出力が含まれる。フリップフロップ３５２に対するＲ入力はＮＡＮＤゲート３５３によって駆動される。ＮＡＮＤゲート３５３への入力には、ライン３０４上のＥＲＳ信号によって駆動されるインバータ３５４の出力およびテスト状態を示すＮＯＲゲート３５５の出力が含まれる。ＳＲフリップフロップ３５２へのＳ入力はインバータ３５６によって駆動される。インバータ３５６に対する入力はラッチ３５７のアクティブ低出力である。ラッチ３５７はラッチ３５８にアクティブ高出力によって駆動される。ラッチ３５８はＮＡＮＤゲート３５９によって駆動される。ＮＡＮＤゲート３５９に対する入力には、タイミング用のインバータ３３２の出力およびライン３０６上のＬＡＳＢＬＫが含まれる。こうして、ＭＳＢＣＫ３７信号は全てのブロックが状態制御回路を通過した後で生成され、それが全体フラグ評価に戻る時である。ＭＳＢＣＲ３７は消去モードにおけるＲＥＳＡＬＬおよびＡＰＥサイクリングの際のＡＰＥＯＮＣＥによってリセットされ、消去検証が完了した後で別のＰ／Ｅサイクルを開始する。
ライン３０３上のＮＯＥＶＤＳＮはインバータ３６０によって駆動される。インバータ３６０への入力はＮＯＲゲート３６１の出力である。ＮＯＲゲート３６１への入力にはインバータ３４１の出力およびインバータ３３３の出力が含まれる。これらの信号はフラグ評価状態を特定する。
図１２Ａ〜１２Ｃは、ブロックレベルのプリプログラミング、消去および検証を伴う、本発明に係わる自動セクタ消去動作の詳細フローチャートである。
アルゴリズムは、入力にＤ０（１６進）が続く２０（１６進）のシーケンスからなるコマンドを待つ図１２Ａにおけるステップ６００、６０１および６０２からなるループで始まる。すなわち、ループはリセットステップ６００を含み、２０（１６進）のテスト（ステップ６０１）に進む。テストに失敗すると、リセットステップ６００にループバックする。テストが成功した場合は、アルゴリズムは、ステップ６０２でＤ０（１６進）のテストをする。Ｄ０（１６進）のテストが失敗すると、アルゴリズムはリセットステップ６００にループバックする。Ｄ０（１６進）ワードが続く２０（１６進）ワードのシーケンスがステップ６０２で検知されると、アルゴリズムはステップ６０３に進みＬＯＡＤ信号をアクティブにする。これによって、到来アドレスのデコードに応答して３２フラグの一つが設定される。ＡＰＥモードに対しては、全てのブロックが特殊なシーケンスを用いてプログラム・消去のために選択される。また、消去検証がブロック６４３（図１２Ｃ）で完了した後で、固定カウントサイクリングＰ／Ｅカウントが終わる（up）するまで、無制限モードでのハングアップまで、または両ケースでＡ１ＨまたはＡ２Ｈが低になるとき、ＡＰＥＯＮＣＥが別のＰ／Ｅサイクルを開始する。
この時点で、タイマがステップ６０４で動作可能（enable）にされる。次に、アルゴリズムはＰＧＲＥＳ信号がアクティブかどうかをテストする。アクティブであれば、出力イネーブルがアクティブの間チップイネーブルが低になり、チップは別のアドレスをラッチし、別のフラグを設定すべきであることを意味する信号を生成する。その信号が高の場合、アルゴリズムは、ステップ６０６にループしＲＶタイマをリセットし、更にフラグが入力アドレスに応答して設定される（ステップ６０７）。この時点で、アルゴリズムはステップ６０４にループバックしＲＶタイマを動作可能にする。
ＰＧＲＥＳ信号がステップ６０５で高でない場合、アルゴリズムはＲＶタイマの満了をテストする（ステップ６０８）。好適システムにおいては、満了時間は約１０００マイクロ秒である。タイマが満了していない場合、アルゴリズムはステップ６０４にループバックする。タイマが満了している場合は、ＰＧＬＯＥＮＤ信号がステップ６０９でアクティブにされ、消去されるべきブロックをラッチするためのセクタアドレスロードシーケンスの終了を示す。ステップ６０９の後、アルゴリズムは図１２Ｂにループする。
図１２Ｂの、アルゴリズムは、図１２Ａのステップ６０９でのＰＧＬＯＥＮＤの設定後に始まる。ブロックゼロのフラグはいつでも評価可能な状態にされており（ステップ６１０）、Ｐ／ＥＶＡＬが消去モードのプリプログラミングフラグ評価間隔を指示するように設定される（ステップ６１１）。
Ｐ／ＥＶＡＬの設定後、ＦＬＡＧＲＥＳＢ信号がステップ６１２で評価される。ＦＬＡＧＲＥＳＢ信号がゼロの場合、アルゴリズムは最後のブロックがステップ６１３で評価されたどうか判別する。最後のブロックがステップ６１３で評価されていれば、Ｐ／ＥＶＡＬ信号がステップ６１４でリセットされ、ＥＲＳ信号はステップ６１５で高にセットされる。ステップ６１３で最後のブロックが評価されていなければ、ＭＳＢカウンタがステップ６５４でインクリメントされ、アルゴリズムはステップ６１１にループバックして設定フラグを有するブロックの残りを評価する。
ＦＬＡＧＲＥＳＢ信号が、図１０のライン２５８上の信号によって指示されたカレントフラグに対してフラグブロック２０１によって生成される。
ステップ６１２で、ＦＬＡＧＲＥＳＢがゼロでなく、設定フラグを指示する場合、アルゴリズムはステップ６１６にループする。ステップ６１６で、ＰＧＭ信号は高にセットされ、Ｐ／ＥＶＡＬ信号はリセットされる。これによって、消去されるべきブロックのビット線、ワード線および仮想接地端子にプログラミング電位を供給されることになる。一実施例では、メモリの各セクタの４本のワード線が使用可能にされ、４バイトが並列にプリプログラムされる。
ステップ６１７で示されるようにプログラミング電圧を使用可能（enable）にした後で、タイマＰＧＭＲＥＣ１が動作可能にされ、プログラム電圧の回復を待つ（ステップ６１８）。ステップ６１８の後で、プログラム電圧が駆動される（ステップ６１９）。第２の検証タイマはステップ６２０でのプログラム検証電圧回復のために動作可能にされる。
ステップ６２０でのタイマの満了の後、ステップ６１９で駆動されるセルをテストするコンパレータの出力が高であるかどうか判別する（ステップ６２１）。高であれば、ステップ６２２で、アルゴリズムはＱ１３が高であるかどうかをテストする。Ｑ３が高であることは最下位アドレスカウンタがオーバフローしたことを示す。４バイトを並列にプリプログラミングする実施例では、二つの最下位ビット（Ｑ１２、Ｑ１３）がマスクされるとき、アルゴリズムはＱ１１をテストする。Ｑ１１は４バイトのインクリメントに対するカウンタのオーバフローを示す。当該カウンタがオーバフローした場合、アルゴリズムは最後のブロックが検証されたかどうかを判別する（ステップ６２３）。最後のブロックが検証されていれば、ＰＧＭがステップ６２４でリセットされ、ＥＲＳ信号がステップ６２５で高にセットされる。ステップ６２３で、最後のブロックがプログラムされていなかったとすれば、アルゴリズムはステップ６５４にループし、ＭＳＢカウンタをインクリメントし、設定フラグを有する次のブロックに進む。
ステップ６２２でＱ１３（またはＱ１１）がオーバフローしていなかったとすれば、最下位ビットカウンタが１（Ｑ１１をテストするときは４）だけインクリメントされ、Ｐ／ＥＣＮＴ信号がリセットされる（ステップ６２６）。次に、アルゴリズムはステップ６１７にループし、ブロックのプログラミングを続ける。Ｐ／ＥＣＮＴ信号は、ステップ６２１での一致信号（match signal）が高でなかった場合に、インクリメントされる再試行カウンタである。ステップ６２１の後、一致信号が高でない場合、アルゴリズムは、選択されたプログラム再試行閾値ＰＴＨＲに再試行カウンタＰ／ＥＣＮＴが到達したかどうかをテストする（ブロック６２７）。これは、図１０のライン２９５上のＭＡＸＯＵＴ信号に対応する。
再試行カウンタＰ／ＥＣＮＴがオーバフローしていた場合、エラーが示され、アルゴリズムがハングアップする（ステップ６２８）。当該カウンタがオーバフローしていない場合、ステップ６２９でインクリメントされ、アルゴリズムはステップ６１７にループバックする。
図１２Ｂに関して述べたように、最後のブロックのプリプログラミングに成功した場合、ステップ６１５またはステップ６２５の何れかでＥＲＳ信号は高に設定される。ＥＲＳ高の設定の後、アルゴリズムは図１２Ｃに示された手順にループする。
図１２Ｃに示されるように、最初のステップは、図９において示すようなアレイ内において最下位ブロックトランジスタＢＢＳＥＬを介してソースに、またワード線に印加するように制御して適正な消去電圧が消去されるべきブロックに印加することにより消去動作を起動することである（ステップ６３０）。消去動作の後、消去回復タイマが消去電圧の回復のために用いられる（ステップ６３１）。ステップ６３１での回復の後、ＥＲＳＶＦＹ信号が高になり、チップは消去検証動作に入る（ステップ６３２）。つぎに、遅延消去検証信号ＤＥＶが高になる（ステップ６３３）。この時点で、消去比較ラッチはアドレス指定セルからのデータを受ける（ステップ６３４）。その後、アルゴリズムは、一致がないこと、信号Ｑ１３によって指示される一致とオーバフローが起こったこと、またはＦＬＡＧＲＥＳＢが低であることをテストする（ステップ６３５）。これらの条件の何れか一つが満たされないで、そのバイトについての一致が起こったこと（そのバイトの検証がなされたこと）、最後のブロックに到達しなかったこと、またはまだリセットされるべきフラグが存在することを示す場合、アルゴリズムはステップ６３６にループし、そこでＬＳＢアドレスがインクリメントされる。ステップ６３６の後、アルゴリズムはステップ６３４にもどり、次のバイトからのデータをラッチする。
ステップ６３５で、バイトが検証されないか、検証されたが、アドレスカウンタがオーバフローしたか、またはテスト中のブロックのフラグがリセットされた場合、アルゴリズムはステップ６３７にループし、オーバフロー条件付きの一致の成否をテストする。一致が成功していれば、フラグがそのブロックにリセットされる（ステップ６３８）。フラグをリセットされた後、アルゴリズムはステップ６３９にループバックし、最後のブロックがテストされたかどうかテストする。同様に、ステップ６３７で、ステップ６３７に達した理由がＬＳＢカウンタの一致且つオーバフロー以外のものであった場合、アルゴリズムはステップ６３９に進む。ステップ６３９で、最後のブロックがテストされていない場合、アルゴリズムはステップ６４０にループし、ブロックアドレスはインクリメントされ、ＬＳＢアドレスはリセットされる。ステップ６４０から、アルゴリズムはステップ６３４にループし設定フラグを有する次のブロックのテストを始める。
ステップ６３９で、最後のブロックがテストされていれば、アルゴリズムはステップ６４１に進み、そこでＥＲＳＶＦＹおよびＤＥＶ信号がリセットされ、また回復タイマが始動される。回復タイマの満了の後、ＡＬＦＧＲＥＳ信号がテストされる（ステップ６４２）。ＡＬＦＧＲＥＳ信号のテストの際、全てのフラグがリセットされたことが判別されれば、消去動作は完全で、制御回路はリセットされる（ステップ６４３）。全てのフラグがリセットされていない場合、試行カウンタＰ／ＥＣＮＴ（ＭＡＸＯＵＴ信号と等価）をテストして（ステップ６４４）、以下に説明するように１０２４（８ＦＦ１６進）のような選択された消去再試行閾値ＥＴＨＲを越えたかどうかを判別する。その選択値を越えていれば、エラーが生じていて、試行はあきらめられる（ステップ６４５）。
ブロック６４４のカウンタが満了していなければ、ステップ６４６でそのカウンタはインクリメントされ、アルゴリズムはステップ６３０にループして消去検証をパスしなかったブロックを再消去する。
図１０に示されたＰ／Ｅカウンタ２９６は、上述のように、レジスタ２８０の値に応答してプログラム可能であり、本発明に従ってプログラム再試行閾値及び消去再試行閾値を設定する。このプログラム可能なＰ／Ｅカウンタは自動動作モードに対するテスト時間を短縮するのに用いることができる。従って、より低い再試行閾値を製造中のテスト中に用いることで、デバイスの製造をスピードアップすることができる。
図１３は、プログラム・消去カウンタの閾値を最大に設定する（max out）のに用いるタイミング図を示す。図のように、Ｐ／Ｅカウンタ再試行閾値に対するプログラムモードは、トレース７００で示されたプログラム電位にアドレスＡ１１をアクティブにする（assert）ことによって入力（enter）される。また、プログラム電位ＶPPはライン７０１上で示されるように高にされる。チップイネーブル・出力イネーブル信号はライン７０２、７０４上でサイクルされる。すなわち、チップイネーブルは１０マイクロ秒の間、高で、つぎに１０ナノ秒の間、低で、さらに１００ナノ秒高、１００ナノ秒低、１マイクロ秒高、１０マイクロ高となる。出力イネーブル信号はＰ／Ｅカウンタのこのプログラミングの間、高に維持される。Ｐ／Ｅカウンタのプログラミングは、７０５で示されたウインドウの間アドレスビットＡ１４−Ａ１６を設定することによって実行される。プログラムモード用のデータは、Ｘ８（１６進）、これに続くＸ８（１６進）、更に続くＦＦ（１６進）というトレース７０６によって示されるようにアクティブにされる。
Ｐ／Ｅカウンタの再試行閾値はアドレス信号Ａ１４−Ａ１６に応答して次の表に従ってプログラムされる。
0003919213.tif 000002
レジスタ２８０は、Ｖｃｃのパワーダウンによってデフォルト値である（Ａ１４，Ａ１５，Ａ１６）＝（０，０，０）に対応する状態にリセットされる。すなわち、ユーザはデフォルトカウントを見るだけであり、テストモードは社内テストのために用いられるだけである。
結論
結局、本発明によれば、テスト回路において不揮発性メモリを使用するという改良されたテスト性能を有する集積回路を提供する。チップ上の不揮発性メモリにデータを記憶することによって、テスト回路の融通性および性能が改良できる。また、集積回路製造中のテスト速度は、テスト工程の際の効果的な方法でデータの読み出ができるので大いに増大される。
本発明は特に、不揮発性メモリ装置（例えば、各々が異なったプログラム・消去時間を有し、また回路設計の分析上、製造上かなりのプログラム・消去サイクリングを必要とするＦＬＡＳＨ  ＥＰＲＯＭ）での実現に適している。
本発明の好適実施例の前述した説明は、便宜上のものである。発明を開示された形式そのままに限定する趣旨ではない。多くの修正、変形を当業者がなしうることは明かである。実施例は、本発明の原理、その実際的な適用をもっとも良く説明し、それによって当業者が本発明の種々の実施例および意図した特定の利用に適した種々の変形が可能となるように選定し、説明された。本発明の範囲は次の請求の範囲とその均等物によって確定されるべきである。
尚、本願では、基礎となった英語原出願における名詞及び動詞の”exercise(s)”をそれぞれ「実行」及び「実行する」と訳す一方で、やはり同英語原出願における名詞及び動詞の"execution"及び"execute"の一部をそれぞれ「実行」及び「実行」と訳した。そして、これらの翻訳結果の錯綜を防止するために、前者については「実行（exercise(s)」及び「実行する（execute）」とし、後者については「実行（execute）」及び「実行する（execute）」と表現することで両者を弁別した。しかし、特許請求の範囲ではこれらのような括弧書きを付記しなかった。その代わり、特許請求の範囲において出現する"exercise(s)"はすべて「実行（する）」と翻訳し、そこで出現する"execution"及び"execute"は「実行（する）」以外の語に訳した。
英語では、"exercise"と"execute"との間には微妙な意味の相違があることに注意を要する。即ち、"exercise"は、回路や装置を動作させるという意味の場合に適切な表現であるのに対して、"execute"はある機能を動作させるという意味の場合により適切な表現である。すると、例えば、ある回路が複数の機能を有する場合には、"exercise"とは回路を動作させた結果少なくとも一つの機能を動作させれば足りる場合の「実行（する）」と解釈される。換言すれば、名詞の"exercise"とは、"execution(s) of a function or functions of"の意味であり、動詞の"exercise"は"execute a function of functions of"の意味である。従って、以上の英語原出願の意味をもって、本願の特許請求の範囲並びに詳細な説明等における「実行（する）」の語義が解釈されるべきである。
【図１】
0003919213.tif 000003
【図２】
0003919213.tif 000004
【図３】
0003919213.tif 000005
【図４】
0003919213.tif 000006
【図５】
0003919213.tif 000007
【図６】
0003919213.tif 000008
【図７】
0003919213.tif 000009
【図８】
0003919213.tif 000010
【図９】
0003919213.tif 000011
【図１０】
0003919213.tif 000012
【図１１】
0003919213.tif 000013
【図１２Ａ】
0003919213.tif 000014
【図１２Ｂ】
0003919213.tif 000015
【図１２Ｃ】
0003919213.tif 000016
【図１３】
0003919213.tif 000017