(57)【要約】【課題】  半導体集積装置にロジックチップとともに混載されたフラッシュメモリに対して効率的なテストの実行を可能にする。【解決手段】  半導体集積装置に書き換え可能な不揮発性メモリとともに混載されるロジックチップにテスト回路が設けられる。該テスト回路は、外部のテスタから送信され、格納したプログラマブルなテストシーケンスを読み出し、それに基づいて、読み出した製品ＩＤを元に、前記不揮発性メモリに固有のメモリ制御信号を生成し、該生成したメモリ制御信号を前記不揮発性メモリに出力するテストを実行し、前記メモリ制御信号に応答して前記不揮発性メモリから出力される値に基づくテスト結果を前記テスタに出力する。【選択図】  図２
2017162011.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積装置に書き換え可能な不揮発性メモリとともに混載されるロジックチップにおけるテスト回路であって、
外部のテスタから送信され、格納したテストシーケンスを読み出し、それに基づいて、前記不揮発性メモリに固有のメモリ制御信号を生成し、該生成したメモリ制御信号を前記不揮発性メモリに出力するテストを実行し、
前記メモリ制御信号に応答して前記不揮発性メモリから出力される値に基づくテスト結果を前記テスタに出力する、
テスト回路。
【請求項２】
前記テストシーケンスは、複数の実行コマンドを含み、前記複数の実行コマンドのいくつかは、対応する前記メモリ制御信号に応答して、前記不揮発性メモリが正常に動作した場合に出力される期待値を含む、
請求項１記載のテスト回路。
【請求項３】
前記テスト回路は、
前記メモリ制御信号に応答して前記不揮発性メモリから出力される値と前記期待値とを比較して、前記テスト結果を出力する、
請求項２記載のテスト回路。
【請求項４】
前記テスト回路は、
前記テストシーケンスを格納するコマンドバッファを備え、
前記テスタから第１の制御コマンドを受信した場合に、前記テスタから送信されるテストシーケンスを前記コマンドバッファに格納する、
請求項１記載のテスト回路。
【請求項５】
前記テスト回路は、
前記テスタから第２の制御コマンドを受信した場合に、前記コマンドバッファに格納された前記テストシーケンスを読み出して、前記メモリ制御信号を生成する、
請求項４記載のテスト回路。
【請求項６】
前記テスト回路は、
前記テスタに接続するための複数のピンを備える外部インターフェース回路を備え、
前記外部インターフェース回路が前記複数のピンにおいてピン開放信号を検出した場合に、前記テストにおいて使用しているピンを、他のテストのために開放するように動作する、
請求項１記載のテスト回路。
【請求項７】
前記テスト回路は、ＳＰＩ（Standard Peripheral Interface）規格に従って前記不揮発性メモリと接続される、
請求項１記載のテスト回路。
【請求項８】
前記不揮発性メモリは、フラッシュメモリである、請求項７記載のテスト回路。
【請求項９】
前記テスト回路は、
前記テストシーケンスにおける所定の実行コマンドに基づいて、前記不揮発性メモリから該不揮発性メモリの製品ＩＤを読み出す、
請求項１記載のテスト回路。
【請求項１０】
前記テスト回路は、
前記テストシーケンスにおける任意の実行コマンドが取る複数の引数の中から、前記不揮発性メモリの製品ＩＤに応じて使用する引数を選択し、前記メモリ制御信号を生成する、
請求項９記載のテスト回路。
【請求項１１】
書き換え可能な不揮発性メモリと前記不揮発性メモリに対するテストを実行するテスト回路とがパッケージ化されて構成された半導体集積装置であって、
前記テスト回路は、
外部のテスタから送信され、格納したテストシーケンスを読み出し、それに基づいて、前記不揮発性メモリに固有のメモリ制御信号を生成し、該生成したメモリ制御信号を前記不揮発性メモリに出力するテストを実行し、
前記メモリ制御信号に応答して前記不揮発性メモリから出力される値に基づくテスト結果を前記テスタに出力する、
半導体集積装置。
【請求項１２】
書き換え可能な不揮発性メモリと前記不揮発性メモリに対するテストを実行するテスト回路とがパッケージ化されて構成された半導体集積装置に対するテスト実行方法であって、
外部のテスタと通信可能に接続されることと、
前記テスタから送信されるテストシーケンスを受信し、格納することと、
格納した前記テストシーケンスを読み出し、それに基づいて、前記不揮発性メモリに固有のメモリ制御信号を生成することと、
前記不揮発性メモリをテストするために、生成した前記メモリ制御信号を前記不揮発性メモリに出力することと、
前記メモリ制御信号に応答して前記不揮発性メモリから出力される値を受信することと、
前記不揮発性メモリから出力される値と対応する前記メモリ制御信号に応答して前記不揮発性メモリが正常に動作した場合に出力される期待値とを比較することと、
前記比較した結果をテスト結果として前記テスタに出力することと、
を含むテスト実行方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリデバイス用テスト回路及びこれを含む半導体集積装置に関し、特に、フラッシュメモリに対するテスト回路及びこれらを混載したＡＳＩＣのような半導体集積装置に関する。
【背景技術】
【０００２】
ＬＳＩチップの大容量化及び高速化に伴い、ＬＳＩチップに対するテストコストは、ますます増大している。このため、ＬＳＩチップに対するテスタ機能の一部をテスト回路として当該ＬＳＩチップの内部に組み込んだＢＩＳＴ（Built-In Self Test）と呼ばれるテスト容易化技術により、テストコストの低減を図っている。
【０００３】
例えば、下記特許文献１は、ロジックチップとメモリチップとを共通のパッケージに搭載したマルチ・チップ・パッケージ（ＭＣＰ）の半導体装置を開示する。かかる半導体装置は、メモリアクセス信号又はメモリ試験用アクセス信号のいずれかを選択するセレクタ・出力回路を有し、メモリ試験用アクセス信号により、ロジックチップからメモリチップへのアクセス動作試験を行う。
【０００４】
また、下記特許文献２は、ＮＯＲ型フラッシュメモリ等の不揮発性メモリを搭載した記憶装置及び自己テスト方法に関し、記憶装置自身に組み込まれたテスト回路にて自己テストを行う技術を開示する。より具体的には、特許文献２は、テストの工程項目及びパラメータを格納する不揮発性メモリと、該工程項目及び該パラメータによるテスト工程を該不揮発性メモリに対して行う制御回路とを同一チップ内に備える記憶装置を開示する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−０７７２９６号公報
【特許文献２】特開２００８−１０８３２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＡＳＩＣベンダは、メモリベンダからＫＧＤ（Known Good Die）として入手したフラッシュメモリ及び各種の論理回路を１パッケージ上に混載し、これをＡＳＩＣとして提供する。このようなＡＳＩＣは、全体として、その品質が保証される必要があることから、ＡＳＩＣベンダは、フラッシュメモリそのものに対するテスト及び各種の論理回路に対するテストを行う必要がある。
【０００７】
しかしながら、フラッシュメモリからの読み出し／書き込みは、一般に、ＤＲＡＭ等の他のメモリデバイスの場合に比べて、数十倍の時間を要する。したがって、特許文献１のように、異なるテストをシーケンシャルに行うと、全てのテストが完了するまでに多くの時間を要し、その結果、テストコストの増大を招いてしまうという問題があった。
【０００８】
また、ＡＳＩＣベンダは、ＡＳＩＣ製造／供給のリスク管理上、一般に、複数のフラッシュメモリベンダのフラッシュメモリをそれぞれ採用している。また、ＡＳＩＣベンダは、同様の観点から、同じメモリベンダのフラッシュメモリであっても、異なる機種を採用する場合がある。このようなフラッシュメモリは、メモリベンダや機種ごとの独自の仕様を含み、フラッシュメモリに内蔵されたテスト回路の有無やその制御方法やコマンドもまた、メモリベンダや機種ごとに異なっている。したがって、フラッシュメモリに対するテストに際して、メモリベンダや機種ごとに、各種のパラメータやコマンドに基づくテストシーケンスをそれぞれ用意する必要があり、その結果、テストコストの増大を招いていた。例えば、上述した特許文献２に開示される記憶装置では、テストの工程項目及びパラメータは不揮発性メモリに格納されており、これらは他のメモリベンダの製品や他の機種に利用することはできない。
【０００９】
そこで、本発明は、ＡＳＩＣのような半導体集積装置に混載される不揮発性メモリに対するテストを効率的に実行することができるテスト回路を提供することを目的とする。
【００１０】
より具体的には、本発明は、テスタによる最小限の制御の下で、フラッシュメモリを含む半導体集積装置に対するテストを効率的に実行することができるテスト回路を提供することを目的とする。
【００１１】
また、本発明は、メモリベンダや機種ごとに異なる仕様のフラッシュメモリに対応し得るテスト回路及びこれを含む半導体集積装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するための本発明は、以下に示す発明特定事項乃至は技術的特徴を含んで構成される。
【００１３】
すなわち、ある観点に従う本発明は、半導体集積装置に書き換え可能な不揮発性メモリとともに混載されるロジックチップにおけるテスト回路であり得る。前記テスト回路は、外部のテスタから送信され、格納したテストシーケンスを読み出し、それに基づいて、前記不揮発性メモリに固有のメモリ制御信号を生成し、該生成したメモリ制御信号を前記不揮発性メモリに出力するテストを実行し、前記メモリ制御信号に応答して前記不揮発性メモリから出力される値に基づくテスト結果を前記テスタに出力する、ように構成される。
【００１４】
前記テストシーケンスは、複数の実行コマンドを含み得る。前記複数の実行コマンドのいくつかは、対応する前記メモリ制御信号に応答して、前記不揮発性メモリが正常に動作した場合に出力される期待値をパラメータ（引数）として含み得る。
【００１５】
また、前記テスト回路は、前記メモリ制御信号に応答して前記不揮発性メモリから出力される値と前記期待値とを比較して、前記テスト結果を出力し得る。
【００１６】
また、前記テスト回路は、前記テストシーケンスを格納するコマンドバッファを備え得る。前記テスト回路は、前記テスタから第１の制御コマンドを受信した場合に、前記テスタから続いて送信されるテストシーケンスを前記コマンドバッファに格納し得る。
【００１７】
また、前記テスト回路は、前記テスタから第２の制御コマンドを受信した場合に、前記コマンドバッファに格納された前記テストシーケンスを読み出して、前記メモリ制御信号を生成し得る。
【００１８】
また、前記テスト回路は、前記テスタに接続するための複数のピンを備える外部インターフェース回路を備え、前記外部インターフェース回路が前記複数のピンにおいてピン開放信号を検出した場合に、前記テストにおいて使用しているピンを、他のテストのために開放するように動作し得る。
【００１９】
また、前記テスト回路は、ＳＰＩ（Standard Peripheral Interface）規格に従って前記不揮発性メモリと接続され得る。
【００２０】
また、前記不揮発性メモリは、フラッシュメモリであり得る。
【００２１】
また、前記テスト回路は、前記テストシーケンスにおける所定の実行コマンドに基づいて、前記不揮発性メモリから該不揮発性メモリの製品ＩＤを読み出し得る。
【００２２】
また、前記テスト回路は、前記テストシーケンスにおける任意の実行コマンドが取る複数の引数の中から、前記不揮発性メモリの製品ＩＤに応じて使用する引数を選択し、前記メモリ制御信号を生成し得る。
【００２３】
また、他の観点に従う本発明は、書き換え可能な不揮発性メモリと前記不揮発性メモリに対するテストを実行するテスト回路とがパッケージ化されて構成された半導体集積装置であり得る。前記テスト回路は、外部のテスタから送信され、格納したテストシーケンスを読み出し、それに基づいて、前記不揮発性メモリに固有のメモリ制御信号を生成し、該生成したメモリ制御信号を前記不揮発性メモリに出力するテストを実行し、前記メモリ制御信号に応答して前記不揮発性メモリから出力される値に基づくテスト結果を前記テスタに出力する、ように構成される。
【００２４】
さらに、他の観点に従う本発明は、書き換え可能な不揮発性メモリと前記不揮発性メモリに対するテストを実行するテスト回路とがパッケージ化されて構成された半導体集積装置に対するテスト実行方法であり得る。前記テスト実行方法は、外部のテスタと通信可能に接続されることと、前記テスタから送信されるテストシーケンスを受信し、格納することと、
格納した前記テストシーケンスを読み出し、それに基づいて、前記不揮発性メモリに固有のメモリ制御信号を生成することと、前記不揮発性メモリをテストするために、生成した前記メモリ制御信号を前記不揮発性メモリに出力することと、前記メモリ制御信号に応答して前記不揮発性メモリから出力される値を受信することと、前記不揮発性メモリから出力される値と対応する前記メモリ制御信号に応答して前記不揮発性メモリが正常に動作した場合に出力される期待値とを比較することと、前記比較した結果をテスト結果として前記テスタに出力することと、を含み得る。
【発明の効果】
【００２５】
本発明によれば、半導体集積装置にロジックチップとともに混載される不揮発性メモリに対するテストを効率的に実行することができるようになる。
【００２６】
また、本発明によれば、テスタによる最小限の制御の下で、ベンダや機種ごとに異なる仕様のフラッシュメモリを含む半導体集積装置に対するテストを効率的に実行することができるようになる。
【００２７】
本発明の他の技術的特徴、目的、及び作用効果乃至は利点は、添付した図面を参照して説明される以下の実施形態により明らかにされる。
【図面の簡単な説明】
【００２８】
【図１】本発明の一実施形態に係る自己テスト回路が適用される半導体集積装置を説明するためのブロックダイアグラムである。
【図２】本発明の一実施形態に係る自己テスト回路を説明するためのブロックダイアグラムである。
【図３】本発明の一実施形態に係る自己テスト回路で使用される実行コマンド定義テーブルの一例を示す図である。
【図４】本発明の一実施形態に係る自己テスト回路における実行コマンドシーケンスの一例を示す図である。
【図５】本発明の一実施形態に係る半導体集積装置のテストのうち、自己テスト回路へのテスタの実行手順を説明するフローチャートである。
【図６】本発明の一実施形態に係る半導体集積装置の自己テスト回路の実行手順を説明するフローチャートである。
【図７】本発明の一実施形態に係る半導体集積装置の自己テスト回路の実行手順のうち、テストシーケンス実行を説明するフローチャートである。
【発明を実施するための形態】
【００２９】
以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。本発明は、その趣旨を逸脱しない範囲で種々変形（例えば各実施形態を組み合わせる等）して実施することができる。また、以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付して表している。図面は模式的なものであり、必ずしも実際の寸法や比率等とは一致しない。図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることがある。
【００３０】
本実施形態は、書き換え可能な不揮発性メモリ及び各種の論理回路からなるロジックチップを混載した半導体集積装置であって、該不揮発性メモリに対するテストの実行を制御するためのテスト回路を備え、該テスト回路が、テスタから与えられるプログラマブルなテストシーケンスに従って自律的に動作し得るように構成された、半導体集積装置を開示する。
【００３１】
図１は、本発明の一実施形態に係る半導体集積装置の構成を概略的に説明するためのブロックダイアグラムである。同図に示すように、テスト対象となる半導体集積装置１０は、そのテストに際して、例えば図示しない載置台上に載置され、テスタ２０に通信可能に接続される。図中、１つの半導体集積装置１０がテスタ２０に接続されているが、これに限られず、複数の半導体集積装置１０がテスタ２０に接続され得る。
【００３２】
半導体集積装置１０は、例えば、書き換え可能な不揮発性メモリ（以下単に「不揮発性メモリ」という。）１２と、ロジックチップ１４とを含み、いわゆるシステム・イン・パッケージ（System In Package）として構成されている。このような半導体集積装置１０は、ある種のＡＳＩＣ（Application Specific Integrated Circuit）として理解される。
【００３３】
不揮発性メモリ１２は、典型的には、フラッシュメモリである。本例では、不揮発性メモリ１２は、ＳＰＩ（Serial Peripheral Interface）規格に対応したフラッシュメモリであるものとする。不揮発性メモリ１２は、典型的には、パッケージ化されていないベア・チップの状態において良品であることが保証されたＫＧＤ（Known Good Die）が採用され得るが、これに限られるものではない。不揮発性メモリ１２は、例えば、単体のモジュールで構成されても良いし、複数のモジュールで構成されても良い。
【００３４】
ロジックチップ１４は、各種の機能を実現するための論理回路を含んで構成されるチップである。ロジックチップ１４は、例えば、外部装置から与えられる信号に従って所定の処理を実行し得る。ロジックチップ１４は、所定の処理の実行に際して、必要に応じて、不揮発性メモリ１２にアクセスし、データの読み出し及び書き込みを行う。本実施形態のロジックチップ１４は、不揮発性メモリ１２の動作を制御して、不揮発性メモリ１２テストを実行するためのテスト回路１６を含む。
【００３５】
テスタ２０は、上述の外部装置の一つであり、半導体集積装置１０に対するテストを行うための装置である。不揮発性メモリ１２をテストする場合には、テスタ２０は、半導体集積装置１０のテスト回路１６に、半導体集積装置１０の不揮発性メモリ１２のテストに必要なテストシーケンスを送信し、これに応答してテスト回路１６から出力されるテスト結果データを受信する。テストシーケンスは、後述するように、例えば、コマンド及び／又はパラメータ（例えば期待値等）を含む。期待値は、テストシーケンスに従って動作する不揮発性メモリ１２が正常に動作した場合に期待される出力結果であり、例えば、テスト者が予め定めた値である。また、テスタ２０は、該テスト結果データに基づいて解析を行い、その解析結果を出力し得る。本実施形態のテスト回路１６により、テスタ２０は、半導体集積装置１０の不揮発性メモリ１２に対するテストのためのテストシーケンスを送信した後、テスト結果データを受信するまで、別の処理、例えば、半導体集積装置１０のロジックチップ１４のテスト回路１６以外に対するテストを実行することができる。
【００３６】
図２は、本発明の一実施形態に係るテスト回路の構成を説明するためのブロックダイアグラムである。テスト回路１６は、テスタ２０からテストシーケンスを受信することにより、クロック信号ＣＬＫに従って、他のテストと独立して、不揮発性メモリ１２に対するテストを行い、その結果をテスタ２０に送信する。
【００３７】
同図に示すように、テスト回路１６は、例えば、制御回路１６１と、外部インターフェース回路１６２と、コマンド解釈回路１６３と、コマンドバッファ１６４と、メモリ制御信号生成回路１６５と、比較回路１６６と、メモリインターフェース回路１６７とを含み構成される。
【００３８】
制御回路１６１は、テスト回路１６の動作を統括的に制御する回路である。制御回路１６１は、後述するように、コマンド解釈回路１６３から送出される解釈結果に基づいて、各種の制御を行う。
【００３９】
外部インターフェース回路１６２は、テスタ２０等の外部装置との間のインターフェースとして機能するように構成された回路である。外部インターフェース回路１６２は、テスタ２０と通信可能に接続するための図示しない複数のピン（端子）を有する。例えば、テスタ２０は、テスト回路１６を所定のテストモードで動作させるために、所定のピンに対して所定の信号を出力し、外部インターフェース回路１６２は、これを検出する。所定のテストモードは、例えば、テスタ２０からのテスト信号を不揮発性メモリ１２に直接的に送信し、その結果を受信するスルーテストモードや、テスト回路１６の制御の下で生成されるメモリ制御信号（すなわち、本例ではテスト信号）に基づいてテストを行うセルフテストモードがある。また、外部インターフェース回路１６２は、テスタ２０からピン開放信号を検出した場合、使用中のピンを開放するよう動作する。これにより、所定のテストのために使用されていたピンは開放され、テスタ２０は、他のテストを実行することができるようになる。
【００４０】
コマンド解釈回路１６３は、外部インターフェース回路１６２を介して、テスタ２０から受信した入力信号ＳＩを解釈する回路である。コマンド解釈回路１６３は、該解釈した結果を制御回路１６１に出力する。
【００４１】
コマンドバッファ１６４は、制御回路１６１の制御の下、外部インターフェース回路１６２を介して、テスタ２０から送信される入力信号ＳＩをテストシーケンスとして記憶し、また、出力する。具体的には、コマンドバッファ１６４は、制御回路１６１から書き込み制御指示が与えられると、外部インターフェース回路１６２を介して供給されるテストシーケンスを指定された記憶領域に順に格納する。また、コマンドバッファ１６４は、制御回路１６１から読み出し指示が与えられると、指定された記憶領域から順にテストシーケンスを読み出して、これをメモリ制御信号生成回路１６５に出力する。また、コマンドバッファ１６４は、制御回路１６１からの制御指示により、読み込んだテストシーケンスを出力信号ＳＯとして、外部インターフェース回路１６２を介して、テスタ２０に送信し得る。
【００４２】
メモリ制御信号生成回路１６５は、制御回路１６１の制御の下、不揮発性メモリ１２に対するテストを実行するためのメモリ制御信号を生成する。すなわち、メモリ制御信号生成回路１６５は、コマンドバッファ１６４から供給されるテストシーケンスに含まれる実行コマンドに従って、不揮発性メモリ１２の動作を制御するためのメモリ制御信号を生成し、メモリインターフェース回路１６７に出力するとともに、該実行コマンドに従うパラメータ（期待値）を比較回路１６６に出力する。
【００４３】
比較回路１６６は、制御回路１６１の制御の下、メモリ制御信号生成回路１６５から供給される期待値とメモリインターフェース回路１６７から受信する出力値（動作結果）とを比較する回路である。比較回路１６６は、比較した結果を制御回路１６１に出力し、制御回路１６１は、これを受けて、外部インターフェース回路１６２を介して、テスタ２０に、テスト結果を出力する。
【００４４】
メモリインターフェース回路１６７は、不揮発性メモリ１２との間のインターフェースとして機能するように構成された回路である。本例では、メモリインターフェース回路１６７は、ＳＰＩ規格に従ってフラッシュメモリにアクセスし得るように構成される。
【００４５】
図３は、本発明の一実施形態に係るテスト回路に与えられる実行コマンドの一例を説明するための図である。かかる実行コマンドは、上述したように、テスト回路１６において、不揮発性メモリ１２固有のメモリ制御信号に変換され、不揮発性メモリ１２に供給される。
【００４６】
すなわち、同図に示すように、各実行コマンドは、例えば１バイトのコードにより示され、それぞれ、引数を取り得る。本例では、各実行コマンドは、５バイトの固定長のコードである。実行コマンド“ＩＤＲｅａｄ”は、不揮発性メモリ１２から製品ＩＤを読み出して、引数で指定した期待値と比較するためのコマンドである。読み出した製品ＩＤに基づいて、不揮発性メモリ１２を提供するベンダや該不揮発性メモリ１２の機種が特定され得る。実行コマンド“ＫＧＤＣｈｅｃｋ”は、ベンダから供給された不揮発性メモリ１２からＫＧＤであることを示す値を、引数で指定した設定値が示すアドレスから読み出して、引数で指定した期待値と比較するためのコマンドである。実行コマンド“ＣｈｉｐＥｒａｓｅ”は、不揮発性メモリ１２に書き込まれたデータを一括で消去するためのコマンドである。実行コマンド“ＣｈｉｐＷｒｉｔｅ”は、不揮発性メモリ１２に所定のパターンを書き込むものである。実行コマンド“ＣｈｉｐＲｅａｄ”は、不揮発性メモリ１２に書き込まれているパターンを読み出し、引数で指定した期待値と比較するためのコマンドである。実行コマンド“Ｐｏｌｌｉｎｇ”は、引数で指定した時間内に不揮発性メモリ１２における処理が終わらない場合に、タイムアウトであるとして、不揮発性メモリ１２のテストを異常終了させるためのコマンドである。実行コマンド“ＥＮＤ”は、不揮発性メモリ１２のテストを正常終了させるためのコマンドである。なお、実行コマンド“ＫＧＤＣｈｅｃｋ”等の複数の引数を取る実行コマンドは、実行コマンド“ＩＤＲｅａｄ”で読み出した製品ＩＤに基づいて、当該実行コマンドが取る複数の引数の中から、使用する引数を選択され得る。
【００４７】
図４は、本発明の一実施形態に係るテスト回路に対するテストシーケンスの一例を示す図である。テストシーケンス４００は、上述したような実行コマンド群からなり、例えば、外部インターフェース回路１６２を介して、テスタ２０から送信され、コマンドバッファ１６４に記憶される。すなわち、テスト回路１６のコマンド解釈回路１６３は、テスタ２０からテストシーケンスの書き込みを指示する制御コマンド（“ＷＲＩＴＥ”コマンド）を受信すると、制御回路１６１の制御の下、テストシーケンスがコマンドバッファ１６４に書き込まれる。
【００４８】
同図に示すように、本例のテストシーケンスは、“ＩＤＲｅａｄ”、“ＫＧＤＣｈｅｃｋ”、“ＣｈｉｐＥｒａｓｅ”、“Ｐｏｌｌｉｎｇ”、“ＣｈｉｐＲｅａｄ”、“ＣｈｉｐＷｒｉｔｅ”、“ＣｈｉｐＲｅａｄ”及び“Ｅｎｄ”の実行コマンド群及びその引数により構成されている。テスト回路１６のコマンド解釈回路１６３は、テスタ２０からテストシーケンスの実行開始を指示する制御コマンド（“ＳＴＡＲＴ”コマンド）を受信すると、制御回路１６１の下、コマンドバッファ１６４から例示のテストシーケンスの実行コマンドが順次に読み出され、メモリ制御信号生成回路１６５に出力され、不揮発性メモリ１２に固有のメモリ制御信号が生成され、不揮発性メモリ１２に出力される。
【００４９】
図５は、本発明の一実施形態に係る半導体集積装置のテストのうち、自己テスト回路へのテスタの実行手順を概略的に説明するためのフローチャートである。不揮発性メモリ１２に対するテストモードには、例えば、スルーテストモードやセルフテストモードがある。スルーテストモードとは、テスタ２０がテスト信号を不揮発性メモリ１２に直接的に送信し、その結果を直接的に受信することにより行うテストモードである。一方、セルフテストモードとは、テスト回路１６が、内部的にテスト信号を生成し、これを不揮発性メモリ１２に送信し、その結果をテスタ２０に送信するテストモードである。ここでは、本実施形態のテスト回路１６によるセルフテストモードでのテストの実行手順を概略的に示している。
【００５０】
すなわち、同図に示すように、テスタ２０は、半導体集積装置１０のテスト回路１６のテストモードをセルフテストモードに設定する（Ｓ５０１）。セルフテストモードへの設定は、例えば、テスト回路１６の外部インターフェース回路１６２の所定のテストモードピンに所定のイネーブル信号を出力することにより行われる。次に、テスタ２０は、所定の制御ピンを介して、制御コマンド“ＷＲＩＴＥ”を出力し、続いて、テストシーケンスを出力し、コマンドバッファ１６４にテストシーケンスを書き込む（Ｓ５０２）。テスタ２０は、コマンドバッファ１６４へのテストシーケンスの書き込みが完了すると、制御コマンド“ＲＥＡＤ”を出力し、コマンドバッファ１６４から書き込んだテストシーケンスを読み出して、書き込みが正常に行われたこと、すなわち、テスト回路１６がセルフテスト可能状態にあることをチェックする（Ｓ５０３）。
【００５１】
続いて、テスタ２０は、所定の制御ピンを介して、制御コマンド“ＳＴＡＲＴ”を出力し、テスト回路１６による自律的なテストの実行開始を指示する（Ｓ５０４）。これにより、テスト回路１６は、テストシーケンスに従って不揮発性メモリ１２固有のメモリ制御信号を生成し、これを不揮発性メモリ１２に出力することにより、所定のテスト項目に従ったテストを実行する。
【００５２】
制御コマンド“ＳＴＡＲＴ”の出力後、テスタ２０は、特定のピンに対してピン開放信号を出力し、テスト回路１６用に使用中のピンを開放させ（Ｓ５０５）、該開放されたピンを用いて、他の回路、すなわちテスト回路１６以外の回路のテストを実行する（Ｓ５０６）。その後、テスタ２０は、テスト回路１６の外部インターフェース回路１６２の所定の出力ピンを観測し、出力値（動作結果）が出力される場合に、これを受信する（Ｓ５０７）。テスタ２０は、該受信した出力値に基づいて、所定のテスト項目に対して不揮発性メモリ１２が合格したか否か（その動作が正常であるか否か）を判断する（Ｓ５０８）。そして、テスタ２０は、テストシーケンスに従ったテストが終了した場合、テストモード（本例ではセルフテストモード）を解除する（Ｓ５０９）。
【００５３】
以上のようなセルフテストモードでのテストの実行手順をとることにより、テスタ２０は、半導体集積装置１０の不揮発性メモリ１２に対するテストを実行することができ、かかるテストの開始後、開放したピンを用いて他のテストを並列的乃至は並行的に実行することができるようになる。例えば、テスタ２０は、不揮発性メモリ１２とテスト回路１６を除く、ロジックチップ１４の動作のテストを並行して実行することができるようになり、半導体集積装置１０に対するテスト時間を短縮し、テストコストの低減を図ることができるようになる。
【００５４】
図６及び７は、本発明の一実施形態に係る半導体集積装置の自己テスト回路の実行手順と、テストシーケンス実行を説明するフローチャートである。同図では、テスト回路１６は、セルフテストモードに設定されているものとする。
【００５５】
すなわち、図６に示すように、セルフテストモードにおいて、テスト回路１６は、制御コマンドを受信するまで待機する（Ｓ６０１）。テスト回路１６は、制御コマンドの受信を検出すると（Ｓ６０１のＹｅｓ）、コマンド解釈回路１６３は、受信した制御コマンドを解釈し、その種類を特定する（Ｓ６０２）。本例では、制御コマンドは、コマンドバッファ１６４への書き込みを指示する“ＷＲＩＴＥ”コマンド、コマンドバッファ１６４からの読み出しを指示する“ＲＥＡＤ”コマンド、及びテストシーケンスの実行を指示する“ＳＴＡＲＴ”コマンドの３つであるものとする。
【００５６】
テスト回路１６のコマンド解釈回路１６３は、受信した制御コマンドが、“ＷＲＩＴＥ”コマンドであると判断する場合（Ｓ６０２のＷＲＩＴＥ）、テスト回路１６は、当該 “ＷＲＩＴＥ”コマンドに続いて受信するテストシーケンス（実行コマンド群）を指定されたアドレスのコマンドバッファ１６４に格納する（Ｓ６０３）。
【００５７】
また、テスト回路１６のコマンド解釈回路１６３は、受信した制御コマンドが、“ＲＥＡＤ”コマンドであると判断する場合（Ｓ６０２のＲＥＡＤ）、テスト回路１６は、当該“ＲＥＡＤ” コマンドが指定するアドレスからテストシーケンスを読み出して、テスタ２０に送信する（Ｓ６０４）。
【００５８】
また、テスト回路１６のコマンド解釈回路１６３は、受信した制御コマンドが、“ＳＴＡＲＴ”コマンドであると判断する場合（Ｓ６０２のＳＴＡＲＴ）、テスト回路１６は、コマンドバッファ１６４に格納されたテストシーケンスを読み出して実行する（Ｓ６０５）。テストシーケンスの実行処理は、以下の図７を参照して説明される。
【００５９】
なお、テスト回路１６のコマンド解釈回路１６３は、受信した制御コマンドを解釈し、実行すると、次の制御コマンドの受信まで待機する。
【００６０】
図７を参照して、テスト回路１６は、例えば図示しないアドレス・カウント・レジスタによって示されるアドレス値に従って、テストシーケンスの実行コマンドを１段読み出して（Ｓ７０１）、該読み出した実行コマンドをメモリ制御信号生成回路１６５で解釈する（Ｓ７０２）。アドレス値は、初期状態では、例えばコマンドバッファ１６４のテストシーケンス記憶領域の先頭アドレスが指定されている。
【００６１】
テスト回路１６は、コマンド解釈の結果、それが定義済み実行コマンドであるか否かを判断する（Ｓ７０３）。テスト回路１６は、該解釈結果が定義済み実行コマンドであると判断する場合（Ｓ７０３のＹｅｓ）、続いて、それが“ＥＮＤ”コマンドであるか否かを判断する（Ｓ７０４）。なお、テスト回路１６は、解釈結果が定義済み実行コマンドでないと判断する場合（Ｓ７０３のＮｏ）、終了フラグを設定し、これをテスト結果データとしてテスタ２０に出力し、テストシーケンスの実行を終了する（Ｓ７０９）。
【００６２】
テスト回路１６のメモリ制御信号生成回路１６５は、解釈結果が“ＥＮＤ”コマンドでないと判断する場合（Ｓ７０４のＮｏ）、該解釈された実行コマンドに従って、不揮発性メモリ１２をテストするためのメモリ制御信号を生成し、不揮発性メモリ１２に出力する（Ｓ７０５）。これにより、テスト回路１６の比較回路１６６は、該出力したメモリ制御信号に応答して不揮発性メモリ１２から出力される値（出力値）を観測する。なお、メモリ制御信号生成回路１６５は、“ＩＤＲｅａｄ”コマンドにより、不揮発性メモリ１２の製品ＩＤが既に読み出されている場合において、制御回路１６１の指示に基づき、解釈された実行コマンドが取る複数の引数の中から、前記製品ＩＤに応じて使用される引数を選択して、メモリ制御信号を生成し得る。
【００６３】
テスト回路１６の比較回路１６６は、該実行コマンドに従う期待値と、該出力したメモリ制御信号に応答して不揮発性メモリ１２からの出力値とが一致するか否かを判断する（Ｓ７０６）。テスト回路１６の比較回路１６６は、該期待値と該出力値とが一致すると判断する場合（Ｓ７０６のＹｅｓ）、該実行コマンドに基づくテストは合格したものとして、アドレス・カウンタ・レジスタ内のアドレス値を所定の値だけインクリメントして（Ｓ７０７）、次の実行コマンドを同様に処理するため、Ｓ７０１に戻る。なお、該解釈された実行コマンドが、例えば前述の“ＣｈｉｐＥｒａｓｅ”コマンドのように、引数として期待値を持たない特定の実行コマンドである場合には、テスト回路１６は、ダミーの出力値の応答を受けて、Ｓ７０７の処理に進んでも良い。
【００６４】
一方、テスト回路１６の比較回路１６６は、該期待値と該出力値とが一致しないと判断する場合（Ｓ７０６のＮｏ）、該実行コマンドに基づくテストは合格しなかったものとして、終了フラグを設定し、これをテスト結果データとしてテスタ２０に出力し、テストシーケンスの実行を終了する（Ｓ７０９）。なお、テスト回路１６は、いずれのコマンドに基づくテストが不合格になったか否かをテスタ２０に知らせるために、エラーの内容を示すエラーフラグを設定し、これをテスタ２０に出力するようにしても良い。
【００６５】
以上のように、テスト回路１６は、コマンドバッファ１６４に格納されたテストシーケンスの実行コマンドを１段ずつ順次に読み出して、メモリ制御信号を生成し、これを不揮発性メモリ１２に出力することにより、不揮発性メモリ１２に対するテストを実行する。そして、テスト回路１６は、テストシーケンスの最後のコマンド、“ＥＮＤ”コマンドを認識した場合（Ｓ７０４のＹｅｓ）、テストシーケンスに従うテストが全て合格したものとして、パスフラグを設定し、これをテスタ２０に出力し（Ｓ７０８）、さらに、終了フラグを設定し、これをテスタ２０に出力し、テストシーケンスの実行を終了する（Ｓ７０９）。
【００６６】
以上のように、テスト回路１６は、システム・イン・パッケージ化された半導体集積装置１０のロジックチップ１４に設けられ、テスタ２０からテストシーケンスを受信、コマンドバッファ１６４に格納後、テストの実行開始を指示する制御コマンド“ＳＴＡＲＴ”を受信することにより、テストシーケンスに従って自律的に不揮発性メモリ１２に対するテストを実行することができる。したがって、テスタ２０は、該テストシーケンスを送信した後、テスト結果データを受信するまで、別の処理、例えば、ロジックチップ１４のテスト回路１６を除く部分の動作のテストを並行して実行することができるようになり、半導体集積装置１０に対するテストコストの低減を図ることができるようになる。また、テスタ２０は、終了フラグを受け取ったときのパスフラグの設定の有無によりテストの合否を判別できる。すなわち、テスタ２０は、終了フラグを受け取ったときにおいて、パスフラグが、設定されていれば合格と判別し、設定されていなければ不合格と判別する。
【００６７】
また、テスト回路１６は、テスタ２０から送信されるテストシーケンスのコマンドに基づいて、不揮発性メモリ１２固有のメモリ制御信号を生成するように構成されているので、製品ＩＤを読み取ることで、異なるベンダによって提供された不揮発性メモリ１２や、異なる機種の不揮発性メモリ１２であっても、これを識別し、適切なメモリ制御信号を生成することができるため、これに対するテストを容易に実行することができる。
【００６８】
上記各実施形態は、本発明を説明するための例示であり、本発明をこれらの実施形態にのみ限定する趣旨ではない。本発明は、その要旨を逸脱しない限り、さまざまな形態で実施することができる。
【００６９】
例えば、本明細書に開示される方法においては、その結果に矛盾が生じない限り、ステップ、動作又は機能を並行して又は異なる順に実施しても良い。説明されたステップ、動作及び機能は、単なる例として提供されており、ステップ、動作及び機能のうちのいくつかは、発明の要旨を逸脱しない範囲で、省略でき、また、互いに結合させることで一つのものとしてもよく、また、他のステップ、動作又は機能を追加してもよい。
【００７０】
また、本明細書では、さまざまな実施形態が開示されているが、一の実施形態における特定のフィーチャ（技術的事項）を、適宜改良しながら、他の実施形態に追加し、又は該他の実施形態における特定のフィーチャと置換することができ、そのような形態も本発明の要旨に含まれる。
【産業上の利用可能性】
【００７１】
本発明は、ロジックチップ及び書き込み可能な不揮発性メモリを混載した半導体集積装置の分野に広く利用することができる。
【符号の説明】
【００７２】
１０…半導体装置
１２…不揮発性メモリ
１４…ロジックチップ
１６…テスト回路
１６１…制御回路
１６２…外部インターフェース回路
１６３…コマンド解釈回路
１６４…コマンドバッファ
１６５…メモリ制御信号生成回路
１６６…比較回路
１６７…メモリインターフェース回路
２０…テスタ
【図１】
2017162011.tif 000003
【図２】
2017162011.tif 000004
【図３】
2017162011.tif 000005
【図４】
2017162011.tif 000006
【図５】
2017162011.tif 000007
【図６】
2017162011.tif 000008
【図７】
2017162011.tif 000009