(57)【要約】【課題】メモリを初期化するための初期化専用回路を設けることなくメモリを初期化することができ、メモリ中の機密データを完全に消去した後にのみ外部からメモリにアクセス可能な半導体集積回路を提供すること。【解決手段】半導体集積回路は、機密データを格納するメモリと、メモリＢＩＳＴを実行するメモリＢＩＳＴ回路と、外部端子を介したメモリアイソレーションテスト用の経路とメモリＢＩＳＴ回路からの経路を切り替える第１のセレクタと、第１のセレクタからの出力の経路と通常回路からの経路を切り替え、出力がメモリに接続される第２のセレクタと、メモリからの出力の経路と擬似信号が入力される経路を切り替え、メモリＢＩＳＴ回路から出力される検査完了信号を選択信号とする第３のセレクタとを備える。この半導体集積回路では、メモリＢＩＳＴの実行によりメモリが初期化された後、メモリアイソレーションテスト用の経路を介して外部端子からメモリにアクセスされる。【選択図】図１
2008262630.tif 000002
【特許請求の範囲】
【請求項１】
機密データを格納するメモリと、
前記メモリに対してメモリＢＩＳＴを実行するメモリＢＩＳＴ回路と、
外部端子を介し前記メモリに対して実行されるメモリアイソレーションテスト用の経路と前記メモリＢＩＳＴ回路からの経路を切り替える第１のセレクタと、
前記第１のセレクタからの出力の経路と通常回路からの経路を切り替え、出力が前記メモリに接続される第２のセレクタと、
前記メモリからの出力の経路と擬似信号が入力される経路を切り替え、前記メモリＢＩＳＴ回路から出力される検査完了信号を選択信号とする第３のセレクタと、を備え、
前記メモリＢＩＳＴの実行により前記メモリが初期化された後、前記メモリアイソレーションテスト用の経路を介して前記外部端子から前記メモリにアクセスされることを特徴とする半導体集積回路。
【請求項２】
請求項１に記載の半導体集積回路であって、
前記機密データとは異なるダミーデータを格納する他のメモリを備え、
前記第３のセレクタは、前記メモリからの出力の経路と前記他のメモリからの出力の経路を切り替えることを特徴とする半導体集積回路。
【請求項３】
請求項１に記載の半導体集積回路であって、
前記メモリは冗長領域を有し、
前記第３のセレクタは、前記メモリからの出力の経路と前記メモリ内の冗長領域からの出力の経路を切り替えることを特徴とする半導体集積回路。
【請求項４】
請求項１に記載の半導体集積回路であって、
前記通常回路のフリップフロップ、前記メモリＢＩＳＴ回路のフリップフロップ、及び観測用のフリップフロップが同一のスキャンチェーン上に配置され、
スキャンテスト時のシフト動作と同時に、前記メモリに格納された前記機密データが書き換えられることを特徴とする半導体集積回路。
【請求項５】
機密データを格納するメモリと、
前記メモリに対してメモリＢＩＳＴを実行するメモリＢＩＳＴ回路と、
外部端子を介し前記メモリに対して実行されるメモリアイソレーションテスト用の経路と前記メモリＢＩＳＴ回路からの経路を切り替える第１のセレクタと、
前記第１のセレクタからの出力の経路と通常回路からの経路を切り替え、出力が前記メモリに接続される第２のセレクタと、
前記メモリからの出力の経路と擬似信号が入力される経路を切り替え、前記メモリＢＩＳＴ回路から出力される検査完了信号を選択信号とする第３のセレクタと、を備えた半導体集積回路が行うメモリ検査方法であって、
前記メモリに対して検査を行う際、前記メモリＢＩＳＴ回路が前記メモリＢＩＳＴを実行した後に、前記メモリアイソレーションテスト用の経路を介して前記外部端子から検査を行うことを特徴とするメモリ検査方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路及びメモリ検査方法に関する。
【背景技術】
【０００２】
従来、半導体集積回路は、機密データを完全に初期化するための初期化専用回路を有し、機密データを格納するメモリに対して検査もしくは評価を行う際、初期化専用回路によってメモリを完全に初期化してから、メモリへのアクセスを許可していた。図８は、従来の半導体集積回路を示すブロック図である。図８に示す半導体集積回路では、外部端子２４１からのアイソレーションテストを実行する場合、初期化回路２１３によりメモリ２１１の初期化が必要であった。
【０００３】
また、他の従来の半導体集積回路は、アクセス可否判定回路を有し、外部からのアクセスを制御していた（例えば特許文献１参照）。
【０００４】
【特許文献１】特開平８−２４１２５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、上記説明した半導体集積回路では、機密データを格納するメモリの場合、直接外部にテスト専用端子を設けることができない。このため、メモリに機密データが格納されている場合、メモリを初期化するテスト専用の回路が必要となる。しかし、機密データを完全に初期化するための初期化専用回路は回路面積増大の要因となる。
【０００６】
また、レーザリペアによる冗長救済機能を有するメモリでは、専用回路による初期化及びアイソレーションによる個別テストが必要であるため、検査時間が長くなる。また、スキャン時においては、メモリ周辺のフリップフロップ（ＦＦ）制御により、メモリの情報を外部へ出力することが可能であった。
【０００７】
本発明の目的は、メモリを初期化するための初期化専用回路を設けることなくメモリを初期化することができ、メモリ中の機密データを完全に消去した後にのみ外部からメモリにアクセス可能な半導体集積回路及びメモリ検査方法を提供することである。
【課題を解決するための手段】
【０００８】
本発明は、機密データを格納するメモリと、前記メモリに対してメモリＢＩＳＴを実行するメモリＢＩＳＴ回路と、外部端子を介し前記メモリに対して実行されるメモリアイソレーションテスト用の経路と前記メモリＢＩＳＴ回路からの経路を切り替える第１のセレクタと、前記第１のセレクタからの出力の経路と通常回路からの経路を切り替え、出力が前記メモリに接続される第２のセレクタと、前記メモリからの出力の経路と擬似信号が入力される経路を切り替え、前記メモリＢＩＳＴ回路から出力される検査完了信号を選択信号とする第３のセレクタとを備え、前記メモリＢＩＳＴの実行により前記メモリが初期化された後、前記メモリアイソレーションテスト用の経路を介して前記外部端子から前記メモリにアクセスされる半導体集積回路を提供する。この半導体集積回路によれば、メモリを初期化するための初期化専用回路を設けることなく、メモリを初期化することができ、機密データを完全に消去した後にのみ外部からメモリにアクセス可能である。したがって、初期化専用に必要であった回路面積が不要であり、機密データの漏洩を防ぐことができる。
【０００９】
上記半導体集積回路は、前記機密データとは異なるダミーデータを格納する他のメモリを備え、前記第３のセレクタは、前記メモリからの出力の経路と前記他のメモリからの出力の経路を切り替える。このため、通常ユーザは、機密データ用のメモリへのアクセスを行っても、他のメモリにしかアクセスできないため、機密データの漏洩を防ぐことができる。
【００１０】
上記半導体集積回路では、前記メモリは冗長領域を有し、前記第３のセレクタは、前記メモリからの出力の経路と前記メモリ内の冗長領域からの出力の経路を切り替える。このため、通常ユーザは、機密データ用のメモリへのアクセスを行っても、冗長領域にしかアクセスできないため、機密データの漏洩を防ぐことができる。また、冗長領域の検査及び評価が可能となる。
【００１１】
上記半導体集積回路では、前記通常回路のフリップフロップ、前記メモリＢＩＳＴ回路のフリップフロップ、及び観測用のフリップフロップが同一のスキャンチェーン上に配置され、スキャンテスト時のシフト動作と同時に、前記メモリに格納された前記機密データが書き換えられる。このため、スキャンでリードを試みると、必ずメモリへのライト動作となるため、機密データが書き換えられ、機密データの漏洩を防ぐことができる。このように、スキャンチェーンと観測用のフリップフロップを用いた機密データの漏洩を防ぐことができる。
【００１２】
本発明は、機密データを格納するメモリと、前記メモリに対してメモリＢＩＳＴを実行するメモリＢＩＳＴ回路と、外部端子を介し前記メモリに対して実行されるメモリアイソレーションテスト用の経路と前記メモリＢＩＳＴ回路からの経路を切り替える第１のセレクタと、前記第１のセレクタからの出力の経路と通常回路からの経路を切り替え、出力が前記メモリに接続される第２のセレクタと、前記メモリからの出力の経路と擬似信号が入力される経路を切り替え、前記メモリＢＩＳＴ回路から出力される検査完了信号を選択信号とする第３のセレクタと、を備えた半導体集積回路が行うメモリ検査方法であって、前記メモリに対して検査を行う際、前記メモリＢＩＳＴ回路が前記メモリＢＩＳＴを実行した後に、前記メモリアイソレーションテスト用の経路を介して前記外部端子から検査を行う。このため、外部端子からのメモリアイソレーションテスト用の経路で検査を行う前に、メモリに格納されている機密データを初期化するための動作が不要である。また、メモリに対して検査を行う際、メモリＢＩＳＴ回路によるメモリＢＩＳＴ実行後に、外部端子からのメモリアイソレーションテスト用の経路で検査を行った結果、不良かつ冗長メモリによる修復が可能である場合は、メモリに格納されている機密データ専用の初期化動作が不要である。このように、メモリＢＩＳＴを使用した機密データメモリの初期化を行うことで、初期化の工程を削減することができ、検査時間を短縮することができる。また、メモリリペアが可能となる。
【発明の効果】
【００１３】
本発明に係る半導体集積回路及びメモリ検査方法によれば、メモリを初期化するための初期化専用回路を設けることなく、機密データを消去することができ、完全に消去した後にのみ外部からメモリにアクセス可能である。したがって、初期化専用に必要であった回路面積が不要であり、機密データの漏洩を防ぐことができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施形態について、図面を参照して説明する。
【００１５】
（第１の実施形態）
図１は、第１の実施形態の半導体集積回路を示すブロック図である。図１に示すように、第１の実施形態の半導体集積回路は、メモリＢＩＳＴ（ＭＢＩＳＴ）回路１０１からの経路と外部端子１３１からの直接入力経路１２２を切り替える第１のセレクタ１０１、外部端子１３１からの直接入力経路１２２と通常回路１４１からの経路１２３を切り替える第２のセレクタ１０２、及びメモリ１１１からの出力の経路と擬似信号が入力される経路を切り替える第３のセレクタ１０３を備える。第３のセレクタ１０３には、ＭＢＩＳＴ回路１０１からの検査完了信号１２１が選択信号として入力される。メモリ１１１はＳＲＡＭであり、機密データを格納する。
【００１６】
第１の実施形態の半導体集積回路が行うメモリ検査動作について説明する。図２は、メモリ検査手順を示すフローチャートである。まず、ＭＢＩＳＴ回路１１２がメモリ１１１に対してメモリＢＩＳＴ（Built In Self Test）を実行し、その結果を判定する（ステップＳ１）。メモリＢＩＳＴ実行の結果が「ＰＡＳＳ（成功）」である場合はメモリ１１１が初期化されているため、外部端子１３１からメモリ１１１へのアクセスが許可される。そして、メモリ１１１に対し、アイソレーションテストを実行し、その結果を判定する（ステップＳ２）。アイソレーションテスト実行の結果、ＰＡＳＳである場合、ＰＡＳＳ判定を行い（ステップＳ３）、本検査を終了する。
【００１７】
一方、ステップＳ１によるメモリＢＩＳＴ実行の結果が「ＦＡＩＬ（失敗）」である場合、又はステップＳ２のアイソレーションテスト実行の結果がＦＡＩＬである場合は、ＦＡＩＬ判定を行い（ステップＳ４）、本検査を終了する。
【００１８】
第１の実施形態の半導体集積回路及び当該半導体集積回路が行うメモリ検査方法によれば、外部端子によりメモリＢＩＳＴ以外のアルゴリズムが入力可能となる。また、初期化だけの動作が不要であるため、メモリ初期化の工程を削減することができる。したがって、メモリを初期化するための初期化専用回路を実装することなく、データの初期化が可能となる。また、機密データが完全に消去された後であれば、機密データが漏洩することなく、メモリの検査及び評価が可能となる。したがって、従来の回路構成に比べ、大幅にテスト回路を削減することができる。
【００１９】
さらに、第１の実施形態の半導体集積回路によれば、機密データを格納するメモリに対し、第三者から機密データを読み出すことができず、また、検査時あるいは評価時にも、その内容が完全に消去されるまで、メモリに対して外部からアクセスできない。これにより、メモリを初期化するための初期化専用回路を設けることなく、メモリを初期化することができ、機密データを完全に消去した後でのみ、外部からリード・ライトのアクセスが可能である。したがって、初期化専用に必要であった回路面積を削減し、機密データの漏洩を防ぐことができる。
【００２０】
（第２の実施形態）
冗長メモリ領域を実装するメモリにおいては、使用メモリ領域に不良個所が検出された場合、冗長メモリ領域を使用することにより、不良メモリを修復（リペア）することが可能である。第２の実施形態では、機密データメモリが冗長メモリ領域を有する場合を示す。なお、第２の実施形態の半導体集積回路の構成は前記第１の実施形態と同様であるため、同一の符号を用いることによりその説明を省略する。
【００２１】
図３は、メモリのリペアを行う場合のメモリ検査手順を示すフローチャートである。まず、冗長メモリ領域を実装するメモリ１１１に対し、ＭＢＩＳＴ回路１１２によりメモリＢＩＳＴ（Built In Self Test）を実行し、その結果を判定する（ステップＳ１１）。メモリＢＩＳＴ実行の結果、ＰＡＳＳである場合、ＰＡＳＳ判定を行い（ステップＳ１２）、本検査を終了する。
【００２２】
一方、メモリＢＩＳＴ実行の結果、ＦＡＩＬである場合、メモリ１１１に対し、アイソレーションテストを実行し、不良ビットを特定し、救済可能であるか否かを判定する（ステップＳ１３）。アイソレーションテスト実行の結果、救済可能である場合、メモリ１１１のリペアを行う（ステップＳ１４）。リペアを行った後、メモリＢＩＳＴを再度実行し、メモリ動作のＰＡＳＳ／ＦＡＩＬを判定する（ステップＳ１５）。メモリＢＩＳＴ実行の結果、ＰＡＳＳである場合、ステップＳ１２でＰＡＳＳ判定を行い、本検査を終了する。
【００２３】
一方、ステップＳ１３のアイソレーションテスト実行の結果、救済不可能である場合、あるいはステップＳ１５のメモリＢＩＳＴ実行の結果、ＦＡＩＬである場合、ＦＡＩＬ判定を行い（ステップＳ１６）、本検査を終了する。
【００２４】
第２の実施形態の半導体集積回路によれば、メモリＢＩＳＴを使用した機密データメモリの初期化を行うことで、初期化の工程を削減するとともに、メモリリペアが可能となる。
【００２５】
（第３の実施形態）
図４は、第３の実施形態の半導体集積回路を示すブロック図である。前記第１の実施形態と同一の構成要素については同一の符号を付すことによりその説明を省略する。第３の実施形態の半導体集積回路には、機密データ用のメモリ１１１とは別に、通常データ用のメモリ（擬似メモリ）５１３が実装されている。第３のセレクタ１０３は、機密データメモリ１１１の出力と擬似メモリ５１３の出力とを切り替える。
【００２６】
第３の実施形態の半導体集積回路によれば、外部端子１３１からのアイソレーションテスト実行時、第３のセレクタ１０３の切り替えにより、初期化が完了するまで、擬似メモリ５１３の値が出力される。したがって、通常ユーザは、機密データ用のメモリへのアクセスを行っても、擬似メモリにしかアクセスできないため、機密データの漏洩を防ぐことが可能となる。
【００２７】
なお、擬似メモリを実装する代わりに、機密データ用のメモリに冗長領域が実装された場合も同様である。図５は、機密データ用のメモリに冗長領域が実装された半導体集積回路を示すブロック図である。機密データ用のメモリ１１１には、冗長領域６１３が実装されている。
【００２８】
この半導体集積回路では、外部端子１３１からのアイソレーションテスト実行時、第３のセレクタ１０３の切り替えにより、初期化が完了するまで、冗長領域６１３の値が出力される。したがって、通常ユーザは、機密データ用のメモリへのアクセスを行っても、冗長領域６１３にしかアクセスできないため、機密データの漏洩を防ぐことが可能となり、冗長領域の検査・評価が可能となる。
【００２９】
（第４の実施形態）
図６は、第４の実施形態の半導体集積回路を示すブロック図である。前記第１の実施形態と同一の構成要素については同一の符号を付すことによりその説明を省略する。第４の実施形態の半導体集積回路は、前記第１の実施形態の構成の他、第３のセレクタ１０３の出力と第２のセレクタ１０２の出力とを切り替える第４のセレクタ８０４、ＳＣＡＮ用観測／制御フリップフロップ８１３及びＳＣＡＮ（スキャン）チェーン８３３を有する。
【００３０】
ＳＣＡＮチェーン８３３には、ＭＢＩＳＴ回路１１２内の代表フリップフロップ８３１、通常回路１４１内の代表フリップフロップ８３２及びＳＣＡＮ用観測／制御フリップフロップ８１３が繋がれている。
【００３１】
図中、８２４は通常回路１４１からの経路である。８２５はＳＣＡＮ時にバイパスされる経路である。８２６はＳＣＡＮ用観測／制御フリップフロップ８１３からの制御信号である。８２７はＳＣＡＮ用観測／制御フリップフロップ８１３への観測信号である。
【００３２】
上記構成を有する半導体集積回路では、ＳＣＡＮ用観測／制御フリップフロップ８１３及び通常回路１４１内の代表フリップフロップ８３２を用い、通常のＳＣＡＮ経路で機密データメモリ１１１の情報を読み出すことが可能である。
【００３３】
ここで、本実施形態の半導体集積回路の動作を、他の半導体集積回路の動作と比較して説明する。図７は、他の形態の半導体集積回路を示すブロック図である。図中、７０１は第１のセレクタである。７０２は第２のセレクタである。７０３は第３のセレクタである。７０４は第４のセレクタである。７１１は機密データメモリである。７１２はＭＢＩＳＴ回路である。７１３はＳＣＡＮ用観測／制御フリップフロップである。７２１はセレクタ制御信号である。７２２はＭＢＩＳＴ回路７１２からの制御信号である。７２３は外部端子からの直接入力経路である。７２４は通常回路からの経路である。７２５はＳＣＡＮ時にパイパスされる経路である。７２６はＳＣＡＮ用観測／制御フリップフロップからの制御信号である。７２７はＳＣＡＮ用観測／制御フリップフロップへの観測信号である。
【００３４】
上記他の半導体集積回路では、メモリ７１１のアドレスを読み取りたい値に設定するために、ＳＣＡＮチェーンのＳＨＩＦＴ動作を利用する。まず、経路７２４を制御するフリップフロップに値をセットするために、シフトイン（ＳＨＩＦＴ  ＩＮ）する。同様に、第１のセレクタ７０１、第２のセレクタ７０２を制御するためにシフトインする。次に、同様にＳＣＡＮチェーンのＳＨＩＦＴ動作を利用し、第３のセレクタ７０３、第４のセレクタ７０４を制御するために、ＭＢＩＳＴ回路７１２内のフリップフロップを制御する。つまり、ＭＢＩＳＴ回路７１２からのセレクタ制御信号７２１を制御し、第３のセレクタ７０３、第４のセレクタ７０４の方向を変える。そして、フリップフロップ７１３でメモリ７１１から所望の値を取り込む。再び、ＳＣＡＮチェーンのＳＨＩＦＴ動作を利用し、取り込んだ値を外部にシフトアウト（ＳＨＩＦＴ  ＯＵＴ）する。こうして、メモリ７１１内の情報を読み出すことが可能となる。
【００３５】
上記他の半導体集積回路で上記手法により読み出し可能になってしまう理由は、フリップフロップ７１３、経路７２４上のフリップフロップ、第１のセレクタ７０１及び第２のセレクタ７０２を制御できるフリップフロップ、及びＭＢＩＳＴ回路７１２内のフリップフロップが異なるＳＣＡＮチェーン上に存在することで、個別に制御が可能なためである。つまり、メモリ７１１に対して意図するアドレス値を設定する動作と、フリップフロップ７１３で値を取り込む動作とが、互いに影響を受けずに出来るためである。
【００３６】
この点に鑑み、本実施形態の半導体集積回路は、経路８２４上のフリップフロップ８３２と、セレクタ制御信号１２１を生成するＭＢＩＳＴ回路１１２内のフリップフロップ８３１と、メモリ１１１の値を取り込むことができるフリップフロップ８１３とが同一のＳＣＡＮチェーン８３３に繋がれた構成を有する。
【００３７】
この構成により、意図（所望）するアドレス値へ経路８２４を変化させたり、第２のセレクタ１０２及び第１のセレクタ１０１の方向を制御したり、ＭＢＩＳＴ回路１１２内のフリップフロップ８３１の値を制御して第３のセレクタ１０３及び第４のセレクタ１０４の方向を制御することを、ＳＣＡＮチェーンを利用して試みた場合、一度目はうまくいくかもしれないが、一度目に取り込んだ値をシフトアウト（ＳＨＩＦＴ  ＯＵＴ）する動作によって、ランダムなアドレス・WriteEnable制御が発生し、メモリ１１１に別の値を書き込む挙動が起こる。したがって、それ以降、メモリ１１１には、機密データが残らなくなることが期待される。なお、ＳＨＩＦＴ  ＩＮ動作では、フリップフロップ８１３→フリップフロップ８３１→フリップフロップ８３２の方向へ値をシフトさせることで、フリップフロップ８１３自身が取り込んだ値によって、ランダムにフリップフロップ８３１、８３２の値が変わることが期待される。
【００３８】
このように、第４の実施形態における半導体集積回路によれば、ＳＣＡＮ経路であるＳＣＡＮ用観測／制御フリップフロップ８１３に、ＭＢＩＳＴ回路１１２内の代表フリップフロップ８３１を接続する（繋ぐ）ことで、スキャンでリードを試みると、必ずメモリ１１１へのライト動作となるため、機密データが書き換えられ、機密データの漏洩を防ぐことが可能である。
【産業上の利用可能性】
【００３９】
本発明に係る半導体集積回路は、メモリの初期化専用回路を有することなくメモリを初期化し、外部からメモリへのアクセスが可能な半導体集積回路等として有用である。
【図面の簡単な説明】
【００４０】
【図１】第１の実施形態の半導体集積回路を示すブロック図
【図２】メモリ検査手順を示すフローチャート
【図３】メモリのリペアを行う場合のメモリ検査手順を示すフローチャート
【図４】第３の実施形態の半導体集積回路を示すブロック図
【図５】機密データ用のメモリに冗長領域が実装された半導体集積回路を示すブロック図
【図６】第４の実施形態の半導体集積回路を示すブロック図
【図７】他の形態の半導体集積回路を示すブロック図
【図８】従来の半導体集積回路を示すブロック図
【符号の説明】
【００４１】
１１１  メモリ
１０１  第１のセレクタ
１０２  第２のセレクタ
１０３  第３のセレクタ
１１２  メモリＢＩＳＴ回路
１２２、１２３  経路
１３１  外部端子
８０４  第４のセレクタ
８１３，８３１，８３２  フリップフロップ
８３３  ＳＣＡＮチェーン
【図１】
2008262630.tif 000003
【図２】
2008262630.tif 000004
【図３】
2008262630.tif 000005
【図４】
2008262630.tif 000006
【図５】
2008262630.tif 000007
【図６】
2008262630.tif 000008
【図７】
2008262630.tif 000009
【図８】
2008262630.tif 000010