(57)【要約】【課題】本発明は、状態遷移制御機構による状態遷移を容易に評価、解析することができる半導体装置を提供する。【解決手段】本発明の半導体装置は、状態コードを保持する状態コードレジスタ１４と、状態コードと所望の状態を指示するコマンドとが入力され、次に遷移すべき内部状態の状態コードを決定し、決定した状態コードを状態コードレジスタ１４に設定する状態遷移ロジック手段１２と、検出したい内部状態を期待値コードとして保持する期待値レジスタ１６と、状態コードレジスタ１４に設定された状態コードと期待値レジスタ１６の期待値コードとを比較し、これらが一致したときに一致信号を出力する比較手段１７と、を有する。【選択図】  図１
2004234720.tif 000002
【特許請求の範囲】
【請求項１】
現在の内部状態を示す状態コードを保持する状態コードレジスタと、
前記状態コードレジスタからの状態コードと、所望の状態への遷移を指示するコマンドとが入力され、これらに基づいてあらかじめ定められた論理に従って次に遷移すべき内部状態の状態コードを決定し、内部クロックに同期して前記決定した状態コードを前記状態コードレジスタに設定する状態遷移ロジック手段と、
検出したい内部状態を期待値コードとして保持する期待値レジスタと、
前記状態遷移ロジック手段によって前記状態コードレジスタに設定された前記状態コードと前記期待値レジスタの前記期待値コードとを比較し、これらが一致したときに一致信号を出力する比較手段と、
を有することを特徴とする半導体装置。
【請求項２】
現在の内部状態での滞留期間を内部クロックに同期してカウントするタイマー手段をさらに有し、
前記状態遷移ロジック手段は、前記タイマー手段からのカウント値がさらに入力され、次に遷移すべき内部状態の状態コードの決定は、前記タイマー手段からの前記カウント値にさらに基づくことを特徴とする請求項１に記載の半導体装置。
【請求項３】
前記タイマー手段は、前記比較手段からの前記一致信号を受けて、そのカウント動作を停止またはリセットし、
前記状態遷移ロジック手段は、前記タイマー手段からのカウント値に基づいて内部状態の遷移を停止することを特徴とする請求項２に記載の半導体装置。
【請求項４】
前記比較手段からの前記一致信号を受けて、前記状態遷移ロジック手段に対して内部割込みコマンドを生成する内部割込み発生手段をさらに有することを特徴とする請求項１に記載の半導体装置。
【請求項５】
前記内部割込み発生手段は、通常モードとテストモードのどちらか一方を選択するテストコマンドと、外部からの割込み動作を示す割込みコマンドとをさらに受けて、通常モードでは前記割込みコマンドを、テストモードでは前記内部割込みコマンドを、前記状態遷移ロジック手段に出力することを特徴とする請求項４に記載の半導体装置。
【請求項６】
前記比較手段からの前記一致信号を外部に通知する手段を有することを特徴とする請求項１乃至請求項５のいずれか１項に記載の半導体装置。
【請求項７】
現在の内部状態を示す状態コードと、所望の状態への遷移を指示するコマンドとに基づいて、あらかじめ定められた論理に従って次に遷移すべき内部状態の状態コードを決定し、内部クロックに同期して前記決定した状態コードを状態コードレジスタに設定する状態遷移ステップと、
検出したい内部状態を期待値コードとして期待値レジスタに設定する期待値設定ステップと、
前記状態遷移ステップで状態コードレジスタに設定された前記状態コードと、前記期待値設定ステップで期待値レジスタに設定された前記期待値コードとを比較し、これらが一致したときに一致信号を出力する比較ステップと、
を有することを特徴とする半導体装置の状態遷移チェック方法。
【請求項８】
前記状態遷移ステップにおける次に遷移すべき内部状態の前記状態コードの決定は、現在の内部状態での滞留期間を示すカウント値にさらに基づくことを特徴とする請求項７に記載の半導体装置の状態遷移チェック方法。
【請求項９】
前記比較ステップにおいて前記一致信号が出力された場合に、これを受けて、あらかじめ定められた特定の内部状態への遷移を除いて、現在の内部状態からの遷移が起こらないようにしたことを特徴とする請求項７に記載の半導体装置の状態遷移チェック方法。
【請求項１０】
前記比較ステップにおいて前記一致信号が出力された場合に、これを受けて、あらかじめ定められた内部状態に遷移する内部割込みコマンドを生成する内部割込み発生ステップをさらに有することを特徴とする請求項７に記載の半導体装置の状態遷移チェック方法。
【請求項１１】
内部状態を評価または解析する外部装置の外部トリガ信号として前記比較ステップで出力される前記一致信号を用いることを特徴とする請求項７乃至請求項１０のいずれか１項に記載の半導体装置の状態遷移チェック方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、内部状態の遷移を制御する状態遷移機構を有する半導体装置およびその状態遷移チェック方法に関する。特に、不揮発性メモリ部などが設けられ、タイマー回路を用いて一部の状態遷移を自律的に行う機能を有する半導体装置の評価効率向上に関する。
【０００２】
【従来の技術】
不揮発性メモリなどの非同期型メモリセルを搭載した半導体装置では、セルの書込み、消去に要する時間が非常に長く、また、セル部はその製造過程により、書込みおよび消去特性に大きなばらつきが生じ、書込み時間、消去時間をセルごとに最適化する必要がある。
【０００３】
このような目的を達成するため、各セルへの書込み、消去後に自動的にベリファイを実行する方法が提案されている（例えば、特許文献１。）。
【０００４】
図６は従来の半導体装置における不揮発性メモリセルへの書込み動作を示すフローチャートである。書込み動作は、初期化ステップ１０１、プログラムステップ１０２、回数更新ステップ１０３、ベリファイステップ１０４、ベリファイ判定ステップ１０５、回数判定ステップ１０６、データ更新ステップ１０７、後処理ステップ１０８、エラー設定ステップ１０９、より構成され、セルごとに書込み時間が最適化されるように実行される。
【０００５】
すなわち、書込みコマンドが入力されると、まず、初期化ステップ１０１で、書込みアドレスと書込みデータが取り込まれラッチされる。次に、プログラムステップ１０２で、書込みアドレスで指定されたセルに書込みデータに基づいて書込み電圧が与えられ、そのセルのフローティングゲートに電子を注入することで実際に書込みが行われる。セルへの書込みは８ビットまたは１６ビットの単位で複数セルに対して同時に行われ、１回の書込み時間は１〜２μｓ程度である。
【０００６】
次に、回数更新ステップ１０３で書込み回数のカウントアップが行われた後、ベリファイステップ１０４で、いま書き込んだデータが読み出される。
【０００７】
次に、ベリファイ判定ステップ１０５で、その読出しデータと書込みデータが比較される。フローティングゲートに注入された電子の量によって、セルトランジスタのしきい値が変化するので、十分な量の電子が注入されれば、読出しデータの値は書込みデータと一致し、反対に電子の注入が不十分であれば、しきい値の変化は小さく、読出しデータと書込みデータは一致しない。
【０００８】
この比較結果に従って、後処理ステップ１０８と回数判定ステップ１０６のどちらか一方が選択される。すなわち、読出しデータと書込みデータが一致すれば（ＯＫ）、後処理ステップ１０８が選択され、一致しなければ（ＮＧ）、回数判定ステップ１０６が選択される。ここで、同時に書込み動作が行われた複数のセルすべてに対して、その読出しデータが書込みデータとそれぞれ一致していることが必要であるため、１ビットでも不一致のセルがあれば、回数判定ステップ１０６が選択される。
【０００９】
後処理ステップ１０８では、セルに与えていた電圧を初期状態に戻して、書込み動作が終了する。
【００１０】
回数判定ステップ１０６では、これまで行われた書込みの回数が所定の値と比較され、所定の値を越えていなければ（ＯＫ）、さらに電子を注入するためにデータ更新ステップ１０７が選択され、その後再度プログラムステップ１０２を繰り返す。また、書込み回数が所定の値を越えていた場合には（ＮＧ）、エラー設定ステップ１０９が選択され、その後、後処理ステップ１０８を経て書込み動作が終了する。
【００１１】
データ更新ステップ１０７では、ベリファイステップ１０４で読み出された読出しデータのうち、書込みデータと一致したビット、つまり、十分な電子がフローティングゲートに注入されたセルを選別し、次のプログラムステップ１０２でそのセルが書き込みされないようにマスクデータを更新する。これは、セルトランジスタのしきい値がビットごとに大きくばらつくことをできるだけ抑えて、読出し動作や消去動作などでの回路動作を安定化させるためである。
【００１２】
エラー設定ステップ１０９では、エラーフラグをセットして、書込み動作が正常に終了しなかったこと、つまり、セルデータが正しくないことを記録する。その後、後処理ステップ１０８を経て、書込み動作が終了する。
【００１３】
このように、書込み動作では、回数オーバーでエラーになる場合を除いて、同時に書き込む８ビットまたは１６ビットのセルがすべて正しく書き込まれるまで、プログラムステップ１０２を繰り返すことになる。このため、１回の書込み動作には数１０μｓ程度の時間が必要で、１００ｎｓ程度の他のコマンドサイクルに比べると非常に長く、システムに組み込んだときに障害になることが予想される。これを回避するため、書込み動作または消去動作中に外部からの割込みを受けて、これらの動作を中断または中止できるようになっている。中断の場合は、あとでその動作を再開できるよう、アドレスやデータをレジスタ回路などに保持しておく。また、割込みが発生してから、それまでの動作を中断して別のコマンドを入力できるようになるまでのリードタイムをできるだけ短くするために、図６の各ステップにおいては、その割込みに対応する処理を実行できるようになっている。
【００１４】
このような複雑な動作を制御するため、内部状態の遷移機構が組み込まれており、どのようなタイミングで割込みが入力されても、最少のリードタイムで対応できるようになっている。
【００１５】
ところで、上記のような半導体装置を評価する際に、この割込みによる動作の変更をすべて確かめなければならないという問題がある。言葉をかえて言えば、数１０μｓの間のどこで割込みをかけても、その半導体装置が正しく動作することを保証しなければならないということである。特に、外部信号を非同期で入力することを許すような半導体装置では、この問題は深刻であり、評価と不良解析に膨大な時間を費やすこととなる。
【００１６】
単純にタイミングをずらしながら、割込みコマンドを入力していく評価方法では、書込み動作で数１００倍〜数１０００倍の評価時間が必要であり、すべてのタイミングですべてのコマンドの組合せを評価することは、現実的にはほとんど不可能といってよい。
【００１７】
また、不良再現や不良解析、特に、針あたりによる内部信号波形の観察などにおいては、数１０μｓ中の数ｎｓしかない信号波形を観察する必要があり、このためのトリガ信号を作るのが極めて困難であるという問題もある。
【００１８】
さらに、消去動作は書込み動作より長く、１回の消去動作で１ｓ程度もの時間を必要とし、上記のような評価、不良解析はさらに困難となる。
【００１９】
【特許文献１】
特開平２−１４２０００号公報
【００２０】
【発明が解決しようとする課題】
上述のごとく、従来の半導体装置は、不揮発性メモリセル部の書込み動作および消去動作中の割込みコマンドなどの評価、解析に膨大な時間を要するという問題があった。
【００２１】
本発明は、上記問題点を解決するためになされたもので、状態遷移制御機構による状態遷移を容易に評価、解析することができる半導体装置およびその状態遷移チェック方法を提供することを目的とする。
【００２２】
【課題を解決するための手段】
上記目的を達成するために、本発明の半導体装置は、現在の内部状態を示す状態コードを保持する状態コードレジスタと、前記状態コードレジスタからの状態コードと、所望の状態への遷移を指示するコマンドとが入力され、これらに基づいてあらかじめ定められた論理に従って次に遷移すべき内部状態の状態コードを決定し、内部クロックに同期して前記決定した状態コードを前記状態コードレジスタに設定する状態遷移ロジック手段と、検出したい内部状態を期待値コードとして保持する期待値レジスタと、前記状態遷移ロジック手段によって前記状態コードレジスタに設定された前記状態コードと前記期待値レジスタの前記期待値コードとを比較し、これらが一致したときに一致信号を出力する比較手段と、を有することを特徴としている。
【００２３】
本発明によれば、所望の内部状態に遷移したときに一致信号が出力されるので、状態遷移制御機構による状態遷移を効率良く評価、解析できる半導体装置を実現することができる。
【００２４】
また、本発明の半導体装置の状態遷移チェック方法は、現在の内部状態を示す状態コードと、所望の状態への遷移を指示するコマンドとに基づいて、あらかじめ定められた論理に従って次に遷移すべき内部状態の状態コードを決定し、内部クロックに同期して前記決定した状態コードを状態コードレジスタに設定する状態遷移ステップと、検出したい内部状態を期待値コードとして期待値レジスタに設定する期待値設定ステップと、前記状態遷移ステップで状態コードレジスタに設定された前記状態コードと、前記期待値設定ステップで期待値レジスタに設定された前記期待値コードとを比較し、これらが一致したときに一致信号を出力する比較ステップと、を有することを特徴としている。
【００２５】
本発明によれば、所望の内部状態に遷移したときに一致信号が出力されるので、状態遷移制御機構による状態遷移を効率良く評価、解析できる半導体装置の状態遷移チェック方法を実現することができる。
【００２６】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施の形態（以下実施形態という）を説明する。
【００２７】
（第１の実施形態）
図１は、本発明の第１の実施形態に係わる半導体装置を示す回路ブロック図である。ここでは、不揮発性メモリ装置の書込み動作とその割込みコマンドの一つであるプログラムサスペンド（以下、ＰＳＵＳという）を用いて、本発明に係わる状態遷移制御機構を説明する。メモリセル部に関連する回路ブロックや動作の詳細は、一般的な不揮発性メモリ装置と同様なので省略する。
【００２８】
図１に示すように、本発明の半導体装置は、外部からの信号を受けてコマンドや制御信号を生成する制御回路１１、現在の内部状態や入力されたコマンドに基づいて次の内部状態を決定する状態遷移ロジック部１２、現在の内部状態での滞留期間をカウントするタイマー回路１３、現在の内部状態を保持する状態コードレジスタ１４、外部から入力されたデータを保持する入力バッファ１５、検出すべき内部状態を保持する期待値レジスタ１６、現在の内部状態と期待値を比較し一致信号を出力する比較回路１７、を持っている。
【００２９】
制御回路１１は、制御入力端子ＣＭＤ１８を持ち、入力コマンドに基づいて、所望の内部状態遷移を指示するコマンドを生成し、これを状態遷移ロジック部１２に出力する。また、現在の内部状態と入力コマンドに基づいて、状態遷移ロジック部１２および入力バッファ１５をはじめとする本半導体装置内にある各回路ブロックの制御に必要な制御信号を生成し、コントロールバスなどを介してそれぞれの回路ブロックに供給する。
【００３０】
状態遷移ロジック部１２は、現在の内部状態と制御回路１１から受け取ったコマンドとタイマー回路１３から受け取ったカウント値とをもとに、内部クロックの次のサイクルで遷移すべき内部状態を決定し、これを状態コードとして状態コードレジスタ１４に出力する。また、新しい内部状態に遷移したときに、あらかじめ定められているその内部状態の滞留期間（内部クロックのサイクル数）をタイマー回路１３に通知する。
【００３１】
ここでいう内部状態とは、状態遷移ロジック部１２で決定された状態コードに基づいて、内部クロックに同期してその論理状態が変化する周辺論理回路全体の論理状態を識別する概念で、それらはあらかじめ定められた状態コードによって一意に識別されるものである。メモリセル周辺のアナログ的な動作状態や、内部クロックに同期しない論理回路の状態、あるいは、非同期入力に直接連動して動作する回路の状態、などは含まないものとする。
【００３２】
これらの例としては、メモリセルのしきい値、ワード線の電圧レベル、高電圧発生回路や内部降圧回路、出力のハイインピーダンス化、などかある。
【００３３】
タイマー回路１３は、新しい内部状態へ遷移したときに、状態遷移ロジック部１２からその内部状態の滞留期間を内部クロックのサイクル数として受け取り、これを内部クロックに同期してカウントダウンしながら状態遷移ロジック部１２へカウント値としてフィードバックする。
【００３４】
不揮発性メモリセルからなるメモリ部を有する半導体装置では、不揮発性メモリセルの書込み動作や消去動作に長い時間を必要とするので、このタイマー回路１３による内部状態の滞留期間設定は必須の機能である。
【００３５】
状態コードレジスタ１４は、内部クロックに同期して状態遷移ロジック部１２から受け取った現在の状態コードを保持し、これを状態遷移ロジック部１２にフィードバックするとともに、制御回路１１および比較回路１７に出力する。
【００３６】
入力バッファ１５は、データ入力端子Ｉ／Ｏ１９を持ち、制御回路１１からの信号に従って、入力されたデータを取り込むと同時に、これを期待値として期待値レジスタ１６に出力する。ここでいう期待値とは、検出すべき状態コードと同じ値で、評価者がある定められた手順に従って外部から入力する。通常の書込みデータなども同じデータ入力端子Ｉ／Ｏ１９と入力バッファ１５を使用するが、これらは制御回路１１によってデータバスへ出力される。
【００３７】
期待値レジスタ１６は、入力バッファ１５から受け取った期待値を保持し、これを比較回路１７へ出力する。
【００３８】
比較回路１７は、状態コードレジスタ１４が保持する状態コードと、期待値レジスタ１６が保持する期待値とを受け取り、これらを比較し、一致すれば一致信号を出力端子ＥＱ２０を介して出力する。
【００３９】
次に、このような構成の状態遷移制御機構の動作を、状態遷移図を用いて説明する。図２は、本発明の第１の実施形態に係わる半導体装置の状態遷移図である。ここでは、メモリセル部への書込み動作とＰＳＵＳコマンドに関連した内部状態の状態遷移を図示している。
【００４０】
図中のボックスは内部状態を表し、それぞれに状態コード（ｃｏｄｅ）と滞留期間（ｃｙｃｌｅ）が割り当てられている。
【００４１】
また、矢印は状態遷移を表し、矢印についているラベルはその状態遷移を引き起こすコマンドまたは状態フラグの条件を示している。コマンドは制御入力端子ＣＭＤ１８への入力コマンドに基づいて制御回路１１で生成される。状態フラグは複数のビットからなるフラグの集まりで、各フラグはその内部状態での動作の結果として設定、解除がなされる。
【００４２】
ラベルのない矢印は、その内部状態での滞留期間が経過したときに、タイマー回路１３のカウント値により自律的に起こる状態遷移である。つまり、カウント値が“０”になると自動的に内部状態が遷移することを意味している。
【００４３】
内部状態の遷移にはあらかじめ優先順位が定められており、コマンドによる遷移、状態フラグによる遷移、カウント値によるデフォルト遷移、の順である。すなわち、状態遷移ロジック部１２は、内部クロックに同期して、まず、制御回路１１からのコマンドの有無を検査し、現在の内部状態で遷移が定義されているコマンドが入力されていれば、その遷移先の内部状態を次の状態コードとして状態コードレジスタ１４に出力する。
【００４４】
また、定義されているコマンドの入力がなければ、状態遷移ロジック部１２は、次に、タイマー回路１３からのカウント値を調べ、これが“０”でなければ、それはこの内部状態の滞留期間がまだ経過していないことを示しているので、現在の状態コードをそのまま次の状態コードとして状態コードレジスタ１４に出力する。もし、カウント値が“０”であれば、次に、状態遷移ロジック部１２は状態フラグの内容を調べる。
【００４５】
状態フラグの内容がその内部状態で遷移が定義されているフラグとその値に一致すれば、その遷移先の状態コードを状態コードレジスタ１４に出力する。さらに、定義されたコマンド入力がなく、状態フラグも遷移条件を満たしていなければ、状態遷移ロジック部１２は、最後に、あらかじめ定められたデフォルトの遷移先を次の状態コードとして、状態コードレジスタ１４に出力する。
【００４６】
書込み動作に関連した内部状態には、図２に示すように、待機状態３０、初期化状態３１、プログラム状態３２、ベリファイ状態３３、後処理状態３４、サスペンド状態３５、がある。
【００４７】
待機状態３０は、コマンド入力待ちの状態であり、状態コードに“０”が割り当てられている。また、この待機状態３０には滞留期間が定められていない。これは、コマンド入力があるまではこの状態が続くことを意味し、言葉をかえれば、デフォルトの遷移先が自分自身であることを意味する。待機状態３０で、制御回路１１から書込みコマンドＰＧＲＭＣＭＤを受け取ると、状態遷移ロジック部１２は、初期化状態３１に遷移するよう動作する。
【００４８】
初期化状態３１は、メモリセルへの書込みに先立って書込み準備を行う状態であり、状態コードに“１”が割り当てられ、滞留期間に“２”が割り当てられている。ここでは、書込みマスクや状態フラグの初期化が行われる。具体的には、メモリセルへの書込み用マスクデータがリセットされ、エラーフラグＥＲＲがリセットされ、ベリファイフラグＰＶはＮＧに設定され、書込みカウントフラグＣＴＯＶＲはＦＡＬＳＥに設定される。
【００４９】
初期化状態３１では、割込みコマンドであるＰＳＵＳＣＭＤコマンドが入力されない限り、状態遷移ロジック部１２は、内部クロックが２サイクルを経過すると自動的にプログラム状態３２に遷移するよう動作する。
【００５０】
プログラム状態３２は、メモリセルへの書込みを実際に行う状態であり、状態コードに“２”が割り当てられ、滞留期間に“８０”が割り当てられている。１回の書込み時間が経過し、メモリセルへの書込みが終了すると、書込みカウンタがカウントアップされる。
【００５１】
後述するベリファイ状態３３でメモリセルへの書込みが十分でないと判定されると、再度このプログラム状態３２に遷移してきて、同じメモリセルに再書込みが行われ、書込みカウンタがさらにカウントアップされる。こうして、この値があらかじめ定められたプログラム回数を越えると、状態フラグＣＴＯＶＲがＴＲＵＥに設定される。これは、メモリセルに欠陥などがあり、一定時間以上をかけても書込みができなかったことを意味している。
【００５２】
プログラム状態３２では、ＰＳＵＳＣＭＤコマンドが入力されない限り、状態遷移ロジック部１２は、内部クロックが８０サイクルを経過すると自動的にベリファイ状態３３に遷移するよう動作する。
【００５３】
ベリファイ状態３３は、直前のプログラム状態３２で書き込んだメモリセルから読出しを行い、セルトランジスタのしきい値が十分変化しているかを調べる状態である。状態コードに“３”が割り当てられ、滞留期間に“１５”が割り当てられている。読出しは８ビットまたは１６ビットが同時に行われ、これらすべてのビットが書込みデータと一致したときに、状態フラグＰＶがＯＫに設定される。
【００５４】
状態遷移ロジック部１２は、ＰＳＵＳＣＭＤコマンドの入力がなく、滞留期間を経過すると、まず、状態フラグＰＶを調べ、これがＯＫであれば、後処理状態３４に遷移するよう動作する。また、状態フラグＰＶがＮＧの場合には、次に、状態フラグＣＴＯＶＲを調べ、これがＦＡＬＳＥであれば、再度メモリセルへの書込みを行うため、マスクデータを設定し直した後、プログラム状態３２へ遷移するよう動作する。
【００５５】
マスクデータとは、プログラム状態３２で実際に書込みを行うビットを示すもので、ベリファイ状態３３で書込みデータと一致したビットはこのマスクデータをセットして、実際のメモリセルへの書込みを行わないようにする。
【００５６】
状態遷移ロジック部１２は、ベリファイ状態３３において、状態フラグＰＶがＮＧで、かつ、状態フラグＣＴＯＶＲがＴＲＵＥである場合には、エラーフラグＥＲＲをセットした後、後処理状態３４に遷移するよう動作する。エラーフラグＥＲＲは、一定時間以上かけても書込みができなかったことを示すフラグで、少なくともこの書込みアドレスに対応したメモリセルはこれ以降使用できないことを示している。
【００５７】
後処理状態３４は、書込みレベルのワード線を通常レベルに戻すなどの後処理を行う状態で、状態コードに“４”が割り当てられ、滞留期間に“１３”が割り当てられている。後処理状態３４では、ＰＳＵＳＣＭＤコマンドが入力されない限り、状態遷移ロジック部１２は、内部クロックが１３サイクルを経過すると自動的に待機状態３０に遷移するよう動作し、ＰＧＲＭＣＭＤコマンドの入力で始まった一連の書込み動作が終了する。
【００５８】
初期化状態３１、プログラム状態３２、ベリファイ状態３３、および、後処理状態３４で、ＰＳＵＳＣＭＤコマンドが入力されると、状態遷移ロジック部１２はサスペンド状態３５に遷移するよう動作する。サスペンド状態３５には、状態コード“５”が割り当てられている。この状態では、現在の書込みアドレスを含めて任意のメモリセルの読出しが行える。また、サスペンド状態３５でプログラムレジュームコマンドＰＲＳＭＣＭＤが入力されると、書込み動作の初期化状態３１に復帰することができる。
【００５９】
上述したような構成の半導体装置において、たとえば、期待値レジスタ１６に期待値“２”を設定して、書込み動作を評価する場合を説明する。
【００６０】
まず、データ入力端子Ｉ／Ｏ１９に期待値“２”を与え、制御入力端子ＣＭＤ１８に期待値設定コマンドを入力すると、制御回路１１により入力バッファ１５を介して期待値レジスタ１６に期待値“２”が設定される。次に、制御入力端子ＣＭＤ１８に自動プログラムコマンドが入力されると、制御回路１１は、これを受け取り、同時に書込みアドレスと書込みデータを内部にラッチし、状態遷移ロジック部１２へ書込みコマンドＰＧＲＭＣＭＤを発行する。
【００６１】
これを受けた状態遷移ロジック部１２は、図２の状態遷移図に従って、順次状態コードレジスタ１４の内容を更新していく。すなわち、状態遷移ロジック部１２は、書込みコマンドＰＧＲＭＣＭＤを受け取ると、待機状態３０から初期状態３１に遷移し、２サイクル後にプログラム状態３２に遷移するよう動作する。
【００６２】
このプログラム状態３２では、期待値レジスタ１６と状態コードレジスタ１４の内容（この例では“２”）が一致し、比較回路１７が一致信号を出力端子ＥＱ２０を介して出力する。この一致信号を監視することで、内部状態がプログラム状態に到達したタイミングを正確に把握することができる。状態遷移が進み、ベリファイ状態３３になると、一致信号は出力されなくなる。
【００６３】
上述した一連の書込み動作が終了して待機状態３０に戻ったら、再度、自動プラグラムコマンドを入力することで、上記の動作が繰り返され、内部状態がプログラム状態３２になるたびに、一致信号が出力される。
【００６４】
このようにして、所望の内部状態に対応した期待値を入力することで、その内部状態に入るたびに一致信号を得ることができる。
【００６５】
上記第１の実施形態によれば、任意の内部状態に対応した一致信号を得ることができ、これを外部トリガ信号として利用できるので、所望の内部状態を容易に評価、解析でき、特に、不揮発性メモリセルからなるメモリ部を有した半導体装置の書込み動作、消去動作など、実行時間の長い一連の動作を効率良く評価、解析でき、開発効率を大幅に向上させることができる。
【００６６】
（第２の実施形態）
図３は、本発明の第２の実施形態に係わる半導体装置を示す回路ブロック図である。ここでは、第１の実施形態と同様に、不揮発性メモリ装置の書込み動作とＰＳＵＳコマンドを用いて、本発明に係わる状態遷移制御機構を説明する。メモリセル部に関連する回路ブロックや動作の詳細は、一般的な不揮発性メモリ装置と同様なので省略する。
【００６７】
図３に示すように、本発明の半導体装置は、外部からの信号を受けてコマンドや制御信号を生成する制御回路５１、現在の内部状態や入力されたコマンドに基づいて次の内部状態を決定する状態遷移ロジック部５２、現在の内部状態での滞留期間をカウントするタイマー回路５３、現在の内部状態を保持する状態コードレジスタ５４、外部から入力されたデータを保持する入力バッファ５５、検出すべき内部状態を保持する期待値レジスタ５６、現在の内部状態と期待値を比較し一致信号を出力する比較回路５７、を持っている。
【００６８】
内部状態、状態コード、期待値などの用語の定義は、第１の実施形態と同様である。
【００６９】
制御回路５１は、制御入力端子ＣＭＤ５８を持ち、入力コマンドに基づいて、所望の内部状態遷移を指示するコマンドを生成し、これを状態遷移ロジック部５２に出力する。また、現在の内部状態と入力コマンドに基づいて、状態遷移ロジック部５２および入力バッファ５５をはじめとする本半導体装置内にある各回路ブロックの制御に必要な制御信号を生成し、コントロールバスなどを介してそれぞれの回路ブロックに供給する。
【００７０】
状態遷移ロジック部５２は、現在の内部状態と制御回路５１から受け取ったコマンドとタイマー回路５３から受け取ったカウント値とをもとに、内部クロックの次のサイクルで遷移すべき内部状態を決定し、これを状態コードとして状態コードレジスタ５４に出力する。また、新しい内部状態に遷移したときに、あらかじめ定められているその内部状態の滞留期間をタイマー回路５３に通知する。
【００７１】
タイマー回路５３は、新しい内部状態へ遷移したときに、状態遷移ロジック部５２からその内部状態の滞留期間を内部クロックのサイクル数として受け取り、これを内部クロックに同期してカウントダウンしながら状態遷移ロジック部５２へカウント値としてフィードバックする。
【００７２】
また、タイマー回路５３は、比較回路５７から一致信号を受け取った時には、カウントダウンを停止する。
【００７３】
状態コードレジスタ５４は、内部クロックに同期して状態遷移ロジック部５２から受け取った現在の状態コードを保持し、これを状態遷移ロジック部５２にフィードバックするとともに、制御回路５１および比較回路５７に出力する。
【００７４】
入力バッファ５５は、データ入力端子Ｉ／Ｏ５９を持ち、制御回路５１からの信号に従って、入力されたデータを取り込むと同時に、これを期待値として期待値レジスタ５６に出力する。通常の書込みデータなども同じデータ入力端子Ｉ／Ｏ５９と入力バッファ５５を使用するが、これらは制御回路５１によってデータバスへ出力される。
【００７５】
期待値レジスタ５６は、入力バッファ５５から受け取った期待値を保持し、これを比較回路５７へ出力する。
【００７６】
比較回路５７は、状態コードレジスタ５４が保持する状態コードと、期待値レジスタ５６が保持する期待値とを受け取り、これらを比較し一致すれば一致信号をタイマー回路５３に出力する。また、この一致信号は出力端子ＥＱ６０を介して出力される。
【００７７】
このような構成の状態遷移制御機構による通常の状態遷移は、第１の実施形態の図２と同様なので、詳しい説明は省略する。
【００７８】
次に、期待値レジスタ５６に期待値“２”を設定して、書込み動作を評価する場合を説明する。
【００７９】
まず、データ入力端子Ｉ／Ｏ５９に期待値“２”を与え、制御入力端子ＣＭＤ５８に期待値設定コマンドを入力すると、制御回路５１により入力バッファ５５を介して期待値レジスタ５６に期待値“２”が設定される。次に、制御入力端子ＣＭＤ５８に自動プログラムコマンドが入力されると、制御回路５１は、これを受け取り、同時に書込みアドレスと書込みデータを内部にラッチし、状態遷移ロジック部５２へ書込みコマンドＰＧＲＭＣＭＤを発行する。
【００８０】
これを受けた状態遷移ロジック部５２は、図２の状態遷移図に従って、順次状態コードレジスタ５４の内容を更新していく。すなわち、状態遷移ロジック部５２は、書込みコマンドＰＧＲＭＣＭＤを受け取ると、待機状態３０から初期状態３１に遷移し、２サイクル後にプログラム状態３２に遷移するよう動作する。
【００８１】
このプログラム状態３２では、期待値レジスタ５６と状態コードレジスタ５４の内容（この例では“２”）が一致し、比較回路５７が一致信号をタイマー回路５３および出力端子ＥＱ６０に出力する。
【００８２】
タイマー回路５３は、一致信号を受け取ると、これ以降内部クロックに同期したカウントダウンを停止する。これにより、状態遷移ロジック部５２に制御回路５１からのＰＳＵＳＣＭＤコマンドが入力されない限り、状態遷移は事実上停止することになる。
【００８３】
すなわち、プログラム状態３２に入ると、まず、状態遷移ロジック部５２はタイマー回路５３にこの状態の滞留期間“８０”を設定する。次に、タイマー回路５３は、比較回路５７からの一致信号を受けて、内部クロックの入力をディセーブルにする。このため、タイマー回路５３でのカウントダウンは行われず、ＰＳＵＳＣＭＤコマンドが入力されない限り、内部状態はこのプログラム状態３２に留まったままとなる。
【００８４】
このようにして、初期状態３１から後処理状態３４までの所望の内部状態に対応した期待値を期待値レジスタ５６に設定することで、その内部状態に入ったところで状態遷移を停止し、その状態でのワード線の電圧レベル、各信号線のロジックレベルなどを針あたり等の手法により観察することができる。また、出力端子ＥＱ６０を介して取り出した一致信号に同期して、外部からＰＳＵＳコマンドおよびレジュームコマンドを制御入力端子ＣＭＤ５８に与えることで、制御回路５１にＰＳＵＳＣＭＤコマンドおよびＰＲＳＭＣＭＤコマンドを発行させ、上記の動作を繰り返し行わせることもできる。
【００８５】
上記第２の実施形態によれば、任意の内部状態に対応した期待値を入力することで、所望の内部状態で状態遷移を停止することができるので、内部針あたりなどの手法により、所望の内部状態での信号レベルを容易に確認することができる。特に、不揮発性のメモリセル部を有した半導体装置の書込み動作、消去動作など、実行時間の長い一連の動作を効率良く評価、解析でき、開発効率を大幅に向上させることができる。
【００８６】
上記第２の実施形態では、期待値比較により停止した内部状態からの状態遷移はＰＳＵＳＣＭＤコマンドによるとしたが、本発明はこれに限られるものではない。たとえば、テストモードでの割込みコマンドを新たに追加して、各内部状態から待機状態３０などへ遷移できるようにしてもよい。
【００８７】
（第３の実施形態）
図４は、本発明の第３の実施形態に係わる半導体装置を示す回路ブロック図である。ここでは、第１の実施形態と同様に、不揮発性メモリ装置の書込み動作とＰＳＵＳコマンドを用いて、本発明に係わる状態遷移制御機構を説明する。メモリセル部に関連する回路ブロックや動作の詳細は、一般的な不揮発性メモリ装置と同様なので省略する。
【００８８】
図４に示すように、本発明の半導体装置は、外部からの信号を受けてコマンドや制御信号を生成する制御回路７１、現在の内部状態や入力されたコマンドに基づいて次の内部状態を決定する状態遷移ロジック部７２、現在の内部状態での滞留期間をカウントするタイマー回路７３、現在の内部状態を保持する状態コードレジスタ７４、外部から入力されたデータを保持する入力バッファ７５、検出すべき内部状態を保持する期待値レジスタ７６、現在の内部状態と期待値を比較し一致信号を出力する比較回路７７、一致信号を受けて内部割込みを発生する内部割込み発生回路７８、を持っている。
【００８９】
内部状態、状態コード、期待値などの用語の定義は、第１の実施形態と同様である。
【００９０】
制御回路７１は、制御入力端子ＣＭＤ７９を持ち、入力コマンドに基づいて、所望の内部状態遷移を指示するコマンドを生成し、これを状態遷移ロジック部７２および内部割込み発生回路７８に出力する。また、現在の内部状態と入力コマンドに基づいて、状態遷移ロジック部７２、入力バッファ７５、および内部割込み発生回路７８をはじめとする本半導体装置内にある各回路ブロックの制御に必要な制御信号を生成し、コントロールバスなどを介してそれぞれの回路ブロックに供給する。
【００９１】
状態遷移ロジック部７２は、現在の内部状態と制御回路７１から受け取ったコマンドとタイマー回路７３から受け取ったカウント値とをもとに、内部クロックの次のサイクルで遷移すべき内部状態を決定し、これを状態コードとして状態コードレジスタ７４に出力する。また、新しい内部状態に遷移したときに、あらかじめ定められているその内部状態の滞留期間をタイマー回路７３に通知する。
【００９２】
タイマー回路７３は、新しい内部状態へ遷移したときに、状態遷移ロジック部７２からその内部状態の滞留期間を内部クロックのサイクル数として受け取り、これを内部クロックに同期してカウントダウンしながら状態遷移ロジック部７２へカウント値としてフィードバックする。
【００９３】
状態コードレジスタ７４は、内部クロックに同期して状態遷移ロジック部７２から受け取った現在の状態コードを保持し、これを状態遷移ロジック部７２にフィードバックするとともに、制御回路７１および比較回路７７に出力する。
【００９４】
入力バッファ７５は、データ入力端子Ｉ／Ｏ８０を持ち、制御回路７１からの信号に従って、入力されたデータを取り込むと同時に、これを期待値として期待値レジスタ７６に出力する。通常の書込みデータなども同じデータ入力端子Ｉ／Ｏ８０と入力バッファ７５を使用するが、これらは制御回路７１によってデータバスへ出力される。
【００９５】
期待値レジスタ７６は、入力バッファ７５から受け取った期待値を保持し、これを比較回路７７へ出力する。
【００９６】
比較回路７７は、状態コードレジスタ７４が保持する状態コードと、期待値レジスタ７６が保持する期待値とを受け取り、これらを比較し一致すれば一致信号（以下、ｅｑｓｔａｔｅ信号という）を内部割込み発生回路７８に出力する。また、ｅｑｓｔａｔｅ信号は出力端子ＥＱ８１を介して出力される。
【００９７】
内部割込み発生回路７８は、比較回路７７からのｅｑｓｔａｔｅ信号と、制御回路７１からのＴＥＳＴコマンドおよびＳＵＳＰＥＮＤコマンドを受け取ると、状態遷移ロジック部７２にＰＳＵＳＣＭＤコマンドを出力する。図５は、本発明の第３の実施形態に係わる半導体装置の内部割込み発生回路を示す回路図である。
【００９８】
内部割込み発生回路７８は、図５に示すように、ＡＮＤゲート９０とＯＲゲート９１から構成される。ＡＮＤゲート９０の一方の入力には比較回路７７からのｅｑｓｔａｔｅ信号が入力され、他方の入力には制御回路７１からのＴＥＳＴコマンドが入力され、出力はＯＲゲート９１の一方の入力に接続されている。ＯＲゲート９１の他方の入力には制御回路７１からのＳＵＳＰＥＮＤコマンドが入力され、出力はＰＳＵＳＣＭＤコマンドとして状態遷移ロジック部７２に入力されている。
【００９９】
ＴＥＳＴコマンドは、この半導体装置がテストモードで動作していることを示す信号で、制御入力端子ＣＭＤ７９にテストコマンドが入力されることで、制御回路７１で生成される。半導体装置が通常モードで動作しているときは、ＴＥＳＴコマンドは”Ｌ”になっている。
【０１００】
ＳＵＳＰＥＮＤコマンドは、制御入力端子ＣＭＤ７９にＰＳＵＳコマンドが与えられたときに制御回路７１で生成される信号である。
【０１０１】
図５の内部割込み発生回路７８を用いれば、通常モードのときには従来と同様の動作をし、テストモードのときには、期待値レジスタ７６に設定した内部状態に応じて自動的に割込みコマンドＰＳＵＳＣＭＤを発生することができる。
【０１０２】
このような構成の状態遷移制御機構では、通常の状態遷移は、第１の実施形態の図２と同様なので、詳しい説明は省略する。
【０１０３】
次に、期待値レジスタ７６に期待値“２”を設定して、書込み動作を評価する場合を説明する。
【０１０４】
まず、制御入力端子ＣＭＤ７９にテストモード設定コマンドを与え、半導体装置をテストモードにする。この時、制御回路７１はＴＥＳＴコマンドを”Ｈ”にする。
【０１０５】
次に、データ入力端子Ｉ／Ｏ８０に期待値“２”を与え、制御入力端子ＣＭＤ７９に期待値設定コマンドを入力すると、制御回路７１により入力バッファ７５を介して期待値レジスタ７６に期待値“２”が設定される。次に、制御入力端子ＣＭＤ７９に自動プログラムコマンドが入力される。制御回路７１は、これを受け取り、同時に書込みアドレスと書込みデータを内部にラッチし、状態遷移ロジック部７２へ書込みコマンドＰＧＲＭＣＭＤを発行する。
【０１０６】
これを受けた状態遷移ロジック部７２は、図２の状態遷移図に従って、順次状態コードレジスタ７４の内容を更新していく。すなわち、状態遷移ロジック部７２は、書込みコマンドＰＧＲＭＣＭＤを受け取ると、待機状態３０から初期状態３１に遷移し、２サイクル後にプログラム状態３２に遷移するよう動作する。
【０１０７】
このプログラム状態３２では、期待値レジスタ７６と状態コードレジスタ７４の内容（この例では“２”）が一致し、比較回路７７はｅｑｓｔａｔｅ信号を内部割込み発生回路７８に出力する。
【０１０８】
これを受けた内部割込み発生回路７８は、ＰＳＵＳＣＭＤコマンドを”Ｈ”にして、割込みが発生したことを状態遷移ロジック部７２に通知する。ＰＳＵＳＣＭＤコマンドを受け取ると、状態遷移ロジック部７２は、次の内部クロックに同期して、内部状態をサスペンド状態３５にするように状態コードを出力する。こうして内部状態はサスペンド状態３５に遷移する。
【０１０９】
ここで、出力端子ＥＱ８１からの出力を受けて、外部から期待値レジスタ７６を“３”に更新し、レジュームコマンドＰＲＳＭＣＭＤを入力すれば、状態遷移は、初期化状態３１→プログラム状態３２→ベリファイ状態３３と進み、再び、内部割込みにより、サスペンド状態３５に戻ってくることになる。
【０１１０】
このようにして、所望の内部状態に対応した期待値を順次入力することで、外部割込みコマンドを入力することなく、任意の内部状態からの割込みコマンドによる遷移パスをすぺて評価することができる。
【０１１１】
上記第３の実施形態によれば、初期状態３１から後処理状態３４までの任意の内部状態に対応した期待値を入力することで、外部からの割込みコマンドを入力することなく、所望の内部状態からの割込みによる状態遷移をシミュレートすることができるので、すべての状態遷移パスを効率良く評価でき、開発効率を大幅に向上させることができる。
【０１１２】
上記第１から第３の実施形態では、一例として、不揮発性のメモリセル部を有する半導体装置の書込み動作を説明したが、本発明はこれに限られるものではなく、状態遷移機構を有し、少なくとも一部の状態遷移が、内部タイマー回路などで自律的に行われる半導体装置に広く適用することができる。また、内部状態の分割方法も図２に限られるものではない。
【０１１３】
さらに、期待値として検出すべき状態コードを用いているが、これに検出すべきタイマー回路のカウント値を追加してもよい。このようにすれば、所望の内部状態に入った時点だけでなく、その状態に入ってから一定の滞留期間が経過した時点で一致信号を出力させることができる。
【０１１４】
さらに、従来の半導体装置との互換性を保つために、比較回路による一致信号の出力をテストモードのときに限定することもできる。
【０１１５】
【発明の効果】
以上説明したように本発明によれば、所望の内部状態に遷移したときに一致信号が出力されるので、状態遷移制御機構による状態遷移を効率良く評価、解析でき、開発効率を大幅に向上させることができる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態に係わる半導体装置を示す回路ブロック図。
【図２】本発明の第１の実施形態に係わる半導体装置の状態遷移図。
【図３】本発明の第２の実施形態に係わる半導体装置を示す回路ブロック図。
【図４】本発明の第３の実施形態に係わる半導体装置を示す回路ブロック図。
【図５】本発明の第３の実施形態に係わる半導体装置の内部割込み発生回路を示す回路図。
【図６】従来の半導体装置における不揮発性メモリセルへの書込み動作を示すフローチャート。
【符号の説明】
１１、５１、７１  制御回路
１２、５２、７２  状態遷移ロジック部
１３、５３、７３  タイマー回路
１４、５４、７４  状態コードレジスタ
１５、５５、７５  入力バッファ
１６、５６、７６  期待値レジスタ
１７、５７、７７  比較回路
１８、５８、７９  制御入力端子
１９、５９、８０  データ入力端子
２０、６０、８１  一致信号出力端子
３０  待機状態
３１  初期化状態
３２  プログラム状態
３３  ベリファイ状態
３４  後処理状態
３５  サスペンド状態
７８  内部割込み発生回路
９０  ＡＮＤゲート
９１  ＯＲゲート
【図１】
2004234720.tif 000003
【図２】
2004234720.tif 000004
【図３】
2004234720.tif 000005
【図４】
2004234720.tif 000006
【図５】
2004234720.tif 000007
【図６】
2004234720.tif 000008
【手続補正書】
【提出日】平成16年5月7日(2004.5.7)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
現在の内部状態を示す状態コードを保持する状態コードレジスタと、
前記状態コードレジスタからの状態コードと、所望の状態への遷移を指示するコマンドとが入力され、これらに基づいてあらかじめ定められた論理に従って次に遷移すべき内部状態の状態コードを決定し、内部クロックに同期して前記決定した状態コードを前記状態コードレジスタに設定する決定手段と、
検出したい内部状態を期待値コードとして保持する期待値レジスタと、
前記決定手段によって前記状態コードレジスタに設定された前記状態コードと前記期待値レジスタの前記期待値コードとを比較し、これらが一致したときに一致信号を出力する比較手段と、
を有することを特徴とする半導体装置。
【請求項２】
現在の内部状態での滞留期間を内部クロックに同期してカウントするタイマー手段をさらに有し、
前記決定手段は、前記タイマー手段からのカウント値がさらに入力され、次に遷移すべき内部状態の状態コードの決定は、前記タイマー手段からの前記カウント値にさらに基づくことを特徴とする請求項１に記載の半導体装置。
【請求項３】
前記タイマー手段は、前記比較手段からの前記一致信号を受けて、そのカウント動作を停止またはリセットし、
前記決定手段は、前記タイマー手段からのカウント値に基づいて内部状態の遷移を停止することを特徴とする請求項２に記載の半導体装置。
【請求項４】
前記比較手段からの前記一致信号を受けて、前記決定手段に対して内部割込みコマンドを生成する内部割込み発生手段をさらに有し、この内部割込み発生手段は通常モードとテストモードのどちらか一方を選択するテストコマンドと外部からの割込み動作を示す割込みコマンドを受けて、前記通常モードでは前記割込みコマンドを、前記テストモードでは前記内部割込みコマンドを前記決定手段に出力することを特徴とする請求項１に記載の半導体装置。
【請求項５】
現在の内部状態を示す状態コードと、所望の状態への遷移を指示するコマンドとに基づいて、あらかじめ定められた論理に従って次に遷移すべき内部状態の状態コードを決定し、内部クロックに同期して前記決定した状態コードを状態コードレジスタに設定する状態遷移ステップと、
検出したい内部状態を期待値コードとして期待値レジスタに設定する期待値設定ステップと、
前記状態遷移ステップで前記状態コードレジスタに設定された前記状態コードと、前記期待値設定ステップで前記期待値レジスタに設定された前記期待値コードとを比較し、これらが一致したときに一致信号を出力する比較ステップと、
を有することを特徴とする半導体装置の状態遷移チェック方法。