(57)【特許請求の範囲】
【請求項１】
同一の入力値を入力するＮ個（Ｎは、３以上の奇数）のデータ保持回路からの出力値の内、過半数を占める第１の出力値を出力する第１の回路と、
前記Ｎ個のデータ保持回路からの出力値の内、過半数未満である第２の出力値を出力する第２の回路と、
を備え、
前記第２の回路は、前記Ｎ個のデータ保持回路からの出力値の全てが一致する場合に、当該出力値を前記第２の出力値として出力することを特徴とする半導体装置。
【請求項２】
外部からの指示に応じて、前記第１の出力値又は前記第２の出力値のいずれかを選択して出力する出力選択回路をさらに備えることを特徴とする請求項１に記載の半導体装置。
【請求項３】
前記出力選択回路は、前記指示が通常動作又はテスト動作のいずれであるかを判定し、前記指示が前記通常動作であると判定された場合に、前記第１の出力値を選択し、前記指示が前記テスト動作であると判定された場合に、前記第２の出力値を選択して出力することを特徴とする請求項２に記載の半導体装置。
【請求項４】
前記データ保持回路は、フリップフロップ回路であることを特徴とする請求項１乃至３のいずれか１項に記載の半導体装置。
【請求項５】
同一の入力値を入力するＮ個（Ｎは、３以上の奇数）のデータ保持回路からの出力値の内、過半数を占める第１の出力値を出力する第１の回路と、
前記Ｎ個のデータ保持回路からの出力値の内、過半数未満である第２の出力値を出力し、前記Ｎ個のデータ保持回路からの出力値の全てが一致する場合には当該出力値を前記第２の出力値として出力する第２の回路と、
少なくとも前記第２の出力値に基づき前記Ｎ個のデータ保持回路の故障を検出する検出回路と、を備えるデータ保持回路の故障検出システム。
【請求項６】
前記検出回路は、前記第２の出力値が前記入力値と異なる場合に、前記Ｎ個の内、過半数未満のデータ保持回路が故障していることを検出することを特徴とする請求項５に記載のデータ保持回路の故障検出システム。
【請求項７】
前記検出回路は、前記第１の出力値と前記第２の出力値とが異なる場合に、前記Ｎ個のデータ保持回路の一部が故障していることを検出することを特徴とする請求項５又は６に記載のデータ保持回路の故障検出システム。
【請求項８】
前記検出回路は、前記第１の出力値と前記第２の出力値とが一致する場合に、前記第１の出力値又は前記第２の出力値と前記入力値とに応じて前記検出を行うことを特徴とする請求項５乃至７のいずれか１項に記載のデータ保持回路の故障検出システム。
【請求項９】
前記検出回路は、前記第１の出力値と前記第２の出力値とが一致し、かつ、前記第１の出力値又は前記第２の出力値と前記入力値とが異なる場合に、前記Ｎ個のデータ保持回路の全てが故障していることを検出することを特徴とする請求項５乃至８のいずれか１項に記載のデータ保持回路の故障検出システム。
【請求項１０】
前記第１の出力値及び前記第２の出力値を入力し、外部からの指示に応じて、前記第１の出力値又は前記第２の出力値のいずれかを前記検出回路へ出力する出力選択回路をさらに備え、
前記検出回路は、前記出力選択回路からの出力値と前記入力値とに応じて前記検出を行うことを特徴とする請求項５乃至９のいずれか１項に記載のデータ保持回路の故障検出システム。
【請求項１１】
同一の入力値を入力するＮ個（Ｎは、３以上の奇数）のデータ保持回路からの出力値の内、過半数を占める第１の出力値を出力し、
前記Ｎ個のデータ保持回路からの出力値の内、過半数未満である第２の出力値を出力し、前記Ｎ個のデータ保持回路からの出力値の全てが一致する場合には、当該出力値を前記第２の出力値として出力し、
少なくとも前記第２の出力値に基づき前記Ｎ個のデータ保持回路の故障を検出するデータ保持回路の故障検出方法。
【請求項１２】
前記第２の出力値が前記入力値と異なる場合に、前記Ｎ個の内、過半数未満のデータ保持回路が故障していることを検出することを特徴とする請求項１１に記載のデータ保持回路の故障検出方法。
【請求項１３】
前記第１の出力値と前記第２の出力値とが異なる場合に、前記Ｎ個のデータ保持回路の一部が故障していることを検出することを特徴とする請求項１１又は１２に記載のデータ保持回路の故障検出方法。
【請求項１４】
前記第１の出力値と前記第２の出力値とが一致する場合に、前記第１の出力値又は前記第２の出力値と前記入力値とに応じて前記検出を行うことを特徴とする請求項１１乃至１３のいずれか１項に記載のデータ保持回路の故障検出方法。
【請求項１５】
前記第１の出力値と前記第２の出力値とが一致し、かつ、前記第１の出力値又は前記第２の出力値と前記入力値とが異なる場合に、前記Ｎ個のデータ保持回路の全てが故障していることを検出することを特徴とする請求項１１乃至１４のいずれか１項に記載のデータ保持回路の故障検出方法。
【請求項１６】
前記第１の出力値及び前記第２の出力値を入力し、外部からの指示に応じて、前記第１の出力値又は前記第２の出力値のいずれかを出力し、
前記出力された前記第１の出力値又は前記第２の出力値のいずれかと前記入力値とに応じて前記検出を行うことを特徴とする請求項１１乃至１５のいずれか１項に記載のデータ保持回路の故障検出方法。
【請求項１７】
前記指示が通常動作又はテスト動作のいずれであるかを判定し、
前記指示が前記通常動作であると判定された場合に、前記第１の出力値を選択し、前記指示が前記テスト動作であると判定された場合に、前記第２の出力値を選択して出力することを特徴とする請求項１６に記載のデータ保持回路の故障検出方法。
【請求項１８】
半導体装置が備えるＮ個（Ｎは、３以上の奇数）のデータ保持回路の故障検出方法であって、
メモリのアドレスが示す領域の不良有無を示す入力値を前記Ｎ個のデータ保持回路のそれぞれへ入力し、
前記メモリの第１のアドレスに対する入力データの書き込み命令を受け付けた場合に、前記Ｎ個のデータ保持回路からの出力値の内、過半数である第１の出力値を出力し、
前記第１の出力値に基づき前記領域の不良有無を判定し、前記領域が不良無を示す場合に、前記第１のアドレスへ前記入力データを書き込み、前記領域が不良有を示す場合に、前記第１のアドレスとは異なる第２のアドレスへ前記入力データを書き込み、
前記メモリの前記第１のアドレスから出力データの読み出し命令を受け付けた場合に、前記Ｎ個のデータ保持回路からの出力値の内、過半数未満である第２の出力値を出力し、前記Ｎ個のデータ保持回路からの出力値の全てが一致する場合には、当該出力値を前記第２の出力値として出力し、
前記第２の出力値に基づき前記領域の不良有無を判定し、前記領域が不良無を示す場合に、前記第１のアドレスから前記出力データを読み出し、前記領域が不良有を示す場合に、前記第２のアドレスから前記出力データを読み出し、
前記入力データと前記読み出された出力データとに応じて前記Ｎ個のデータ保持回路の故障を検出するデータ保持回路の故障検出方法。
【請求項１９】
前記入力データと前記読み出された出力データとが異なる場合に前記Ｎ個のデータ保持回路の一部が故障していることを検出することを特徴とする請求項１８に記載のデータ保持回路の故障検出方法。
【請求項２０】
前記入力データと前記読み出された出力データとが一致する場合に、前記入力データを第１の入力データとし、前記第１の入力データと異なるデータを第２の入力データを前記第１のアドレスに対する入力データとして書き込みを行い、前記第１のアドレスに対応する出力データを読出し、当該出力データと前記第２の入力データと比較することを特徴とする請求項１８又は１９に記載のデータ保持回路の故障検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置並びにデータ保持回路の故障検出システム及び故障検出方法に関し、特に、半導体装置に搭載される複数のフリップフロップ回路等のデータ保持回路の故障を検出するための半導体装置並びにデータ保持回路の故障検出システム及び故障検出方法に関する。
【背景技術】
【０００２】
半導体装置の分野における半導体素子の微細化に伴い、フリップフロップ回路を搭載する半導体装置は、アルファ線による影響を受け易くなり、誤動作することがある。そこで、アルファ線による誤動作を防止するために、複数のフリップフロップ回路を搭載した多数決論理回路を用いることにより、論理回路の耐アルファ線強度を高くすることが一般的である。さらに、近年、半導体素子の微細化が進み、複数のフリップフロップ回路を搭載する半導体装置が増加し、かつ、フリップフロップ回路の搭載数が増加する傾向にある。そのため、フリップフロップ回路自身の故障検出を行なう要求が高まってきた。
【０００３】
特許文献１は、少なくとも３個のフリップフロップ回路と、当該３個のフリップフロップの出力のうち過半数を占める論理値に応じて信号を出力する多数決論理回路とを有するデータ保持回路に関する技術が開示されている。当該データ保持回路は、データ保持の信頼性の向上を図った回路構成である。また、当該データ保持回路は、いずれかのフリップフロップ回路をアルファ線が通過した場合に、フリップフロップ回路の出力が変化したとしても、他のフリップフロップ回路の出力によって正しい出力信号を維持することができる。さらに、当該データ保持回路は、フリップフロップ回路のハードウェア的な故障を検出できる。
【０００４】
ここで、図１１に特許文献１にかかるデータ保持回路の構成図を示す。図１１に示すアルファ線保証フリップフロップ回路９００は、３つのフリップフロップ回路ＦＦ１〜ＦＦ３と、多数決論理回路ＭＪＲとを備える。フリップフロップ回路ＦＦ１〜ＦＦ３のそれぞれは、入力端子ＴＩ１を介して同一の入力データＤが入力される。多数決論理回路ＭＪＲは、フリップフロップ回路ＦＦ１〜ＦＦ３の出力信号の多数決、すなわち、３つの信号のうち同一である２つ以上のフリップフロップの出力と同一論理の信号を出力する。
【０００５】
アルファ線保証フリップフロップ回路９００は、出力端子ＴＯ１を介して、多数決論理回路ＭＪＲから出力される出力信号Ｑを出力する。また、フリップフロップ回路ＦＦ１〜ＦＦ３のそれぞれは、入力端子ＴＩ２〜ＴＩ４を介して、それぞれ異なるクロック信号ＣＫ１〜ＣＫ３が入力される。そして、フリップフロップ回路ＦＦ１〜ＦＦ３のそれぞれは、クロック信号ＣＫ１〜ＣＫ３に同期して入力データＤの信号をそれぞれ取り込んで保持するように構成されている。
【０００６】
例えば、フリップフロップ回路ＦＦ１〜ＦＦ３のいずれか一つにアルファ線が通過することにより、当該アルファ線が通過したフリップフロップ回路が保持するラッチデータが反転することがある。この場合であっても、アルファ線保証フリップフロップ回路９００の誤動作を防止することができる。その理由は、反転したデータが少数値であり、多数決論理回路ＭＪＲにおいてアルファ線による信号変化が無視されるためである。
【０００７】
なお、前記３つのクロック信号ＣＫ１〜ＣＫ３は同一のタイミングであり、例えば、元になるクロック信号を複数のクロックバッファなどで分配することで形成される。このように、各フリップフロップ回路ＦＦ１〜ＦＦ３をラッチ動作させるクロック信号を別の信号とすることにより、仮に、いずれかのクロック信号にアルファ線によるノイズが発生したとしても、フリップフロップ回路９００の誤動作を防止することができる。その理由は、そのノイズにより出力が変化するフリップフロップ回路は１つだけであり、多数決論理回路ＭＪＲにおいてノイズによる信号変化がカットされるためである。
【０００８】
また、図１２に特許文献１にかかるスキャンテストを実現可能なフリップフロップ回路の構成図を示す。図１２に示すスキャンテスト回路９００ａは、アルファ線保証フリップフロップ回路９００の構成に対してスキャンテストを実現可能にしたものである。スキャンテスト回路９００ａは、３つのフリップフロップ回路ＦＦ１ａ〜ＦＦ３ａと、多数決論理回路ＭＪＲとを備える。フリップフロップ回路ＦＦ１ａ〜ＦＦ３ａのそれぞれは、それぞれテスト用のスキャンパスを構成する。すなわち、フリップフロップ回路ＦＦ１ａ〜ＦＦ３ａは、スキャンイン及びスキャンアウト機能付きのフリップフロップ回路である。
【０００９】
具体的には、フリップフロップ回路ＦＦ１ａ〜ＦＦ３ａのそれぞれは、図１１のフリップフロップ回路ＦＦ１〜ＦＦ３に比べて、さらに、入力端子ＴＩ５〜ＴＩ７を介して、異なるスキャンインデータＳＩＤ１〜ＳＩＤ３が入力される。また、フリップフロップ回路ＦＦ１ａ〜ＦＦ３ａのそれぞれは、入力端子ＴＩ８を介して同一のスキャン用クロック信号ＴＭが入力される。そして、フリップフロップ回路ＦＦ１ａ〜ＦＦ３ａのそれぞれは、スキャン用クロック信号ＴＭに同期してスキャンインデータＳＩＤ１〜ＳＩＤ３の信号をそれぞれ取り込んで保持するように構成されている。
【００１０】
そして、スキャンテスト回路９００ａは、出力端子ＴＯ２〜ＴＯ４を介して、フリップフロップ回路ＦＦ１ａ〜ＦＦ３ａのそれぞれから出力されるスキャンアウトデータＳＯＤ１〜ＳＯＤ３を出力する。これにより、フリップフロップ回路ＦＦ１ａ〜ＦＦ３ａのそれぞれに対応して、スキャンインデータＳＩＤ１〜ＳＩＤ３からスキャンアウトデータＳＯＤ１〜ＳＯＤ３へフリップフロップ回路に独立したテスト値を伝送できる。そのため、フリップフロップ回路ＦＦ１ａ〜ＦＦ３ａのそれぞれのテストや多数決論理回路ＭＪＲのテストが可能になる。
【００１１】
図１３は、図１２に示すスキャンテスト回路９００ａにおける動作真理値表である。図１３のＳＩＤ１〜３は、フリップフロップ回路ＦＦ１ａ〜ＦＦ３ａの保持状態の値である。また、図１３のＱの値は、多数決論理回路ＭＪＲの出力信号Ｑの値である。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００２−１８５３０９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
しかしながら、上述したスキャンテスト回路９００ａを用いてフリップフロップ回路ＦＦ１ａからＦＦ３ａの故障を検出する場合、テスト時間が長くなるという問題が生じる。
【００１４】
その理由は、図１２のスキャンテスト回路９００ａにおいて、３つのフリップフロップＦＦ１ａ〜ＦＦ３ａと多数決論理回路ＭＪＲとが正常に動作することを確認するためには、図１３に示した動作真理値表に示すようなデータ値の組み合わせ（８通り）を実行する必要があるためである。その場合、スキャンインデータＳＩＤ１〜ＳＩＤ３を、図１３に示したそれぞれの組み合わせとなるように順次設定し直して、入力端子ＴＩ５〜ＴＩ７を介してフリップフロップＦＦ１ａ〜ＦＦ３ａに異なるデータを入力するような専用のテストを実行する必要がある。
【００１５】
さらに、図１２のスキャンテスト回路９００ａのスキャンインデータＳＩＤ１〜ＳＩＤ３を使用したテストでは、通常動作の入力データＤから出力信号Ｑの論理値のパスとは異なるため、通常動作のデータＤの組み合わせ（値が"０"と"１"の２通り）においてもスキャンテスト回路９００ａの動作をテストする必要がある。よって、特許文献１では、通常動作とスキャンテストによるテストを行なうテータ値の組み合わせで、１０通り（８通り＋２通り）が必要となるからである。
【課題を解決するための手段】
【００１６】
本発明の第１の態様にかかる半導体装置は、同一の入力値を入力するＮ個（Ｎは、３以上の奇数）のデータ保持回路（例えば、本発明の実施の形態１にかかるフリップフロップ回路ＦＦ１〜ＦＦ３）からの出力値の内、過半数を占める第１の出力値を出力する第１の回路（例えば、本発明の実施の形態１にかかる多数決論理回路ＭＪＲ）と、前記Ｎ個のデータ保持回路からの出力値の内、過半数未満である第２の出力値を出力する第２の回路（例えば、本発明の実施の形態１にかかる少数値判定回路ＭＩＲ）と、を備える。
【００１７】
本発明の第２の態様にかかるデータ保持回路の故障検出システムは、同一の入力値を入力するＮ個（Ｎは、３以上の奇数）のデータ保持回路からの出力値の内、過半数を占める第１の出力値を出力する第１の回路と、前記Ｎ個のデータ保持回路からの出力値の内、過半数未満である第２の出力値を出力する第２の回路と、少なくとも前記第２の出力値に基づき前記Ｎ個のデータ保持回路の故障を検出する検出回路と、を備える。
【００１８】
本発明の第３の態様にかかるデータ保持回路の故障検出方法は、同一の入力値を入力するＮ個（Ｎは、３以上の奇数）のデータ保持回路からの出力値の内、過半数を占める第１の出力値を出力し、前記Ｎ個のデータ保持回路からの出力値の内、過半数未満である第２の出力値を出力し、少なくとも前記第２の出力値に基づき前記Ｎ個のデータ保持回路の故障を検出する。
【００１９】
本発明の第４の態様にかかるデータ保持回路の故障検出方法は、半導体装置が備えるＮ個（Ｎは、３以上の奇数）のデータ保持回路の故障検出方法であって、メモリ（例えば、本発明の実施の形態３にかかるメモリセルＭＣ）のアドレスが示す領域の不良有無を示す入力値（例えば、本発明の実施の形態３にかかるヒューズデータＦＤ１）を前記Ｎ個のデータ保持回路のそれぞれへ入力し、前記メモリの第１のアドレスに対する入力データの書き込み命令を受け付けた場合に、前記Ｎ個のデータ保持回路からの出力値の内、過半数である第１の出力値を出力し、前記第１の出力値に基づき前記領域の不良有無を判定し、前記領域が不良無を示す場合に、前記第１のアドレスへ前記入力データを書き込み、前記領域が不良有を示す場合に、前記第１のアドレスとは異なる第２のアドレスへ前記入力データを書き込み、前記メモリの前記第１のアドレスから出力データの読み出し命令を受け付けた場合に、前記Ｎ個のデータ保持回路からの出力値の内、過半数未満である第２の出力値を出力し、前記第２の出力値に基づき前記領域の不良有無を判定し、前記領域が不良無を示す場合に、前記第１のアドレスから前記出力データを読み出し、前記領域が不良有を示す場合に、前記第２のアドレスから前記出力データを読み出し、前記入力データと前記読み出された出力データとに応じて前記Ｎ個のデータ保持回路の故障を検出する。
【００２０】
本発明の第１乃至第４の態様のそれぞれによれば、１つの入力値に対して第１の出力値と第２の出力値の２つのデータが得られる。そのため、データ保持回路のいずれかが故障している場合には、データ保持回路の全てが正常である場合と比べて、入力値と第１の出力値と第２の出力値との組合せが異なるため、故障を検出することができる。そのため、例えば、フリップフロップ回路が３つである場合、上述した１０通りのテストを行う必要がなく、テスト時間を短縮することができる。
【発明の効果】
【００２１】
本発明により、半導体装置に搭載される複数のデータ保持回路の故障を検出するためのテスト時間を短縮するための半導体装置並びにデータ保持回路の故障検出システム及び故障検出方法を提供することができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施の形態１にかかる半導体装置の構成を示すブロック図である。
【図２】本発明の実施の形態１にかかるデータ保持回路に故障がない場合の動作真理値表を示す図である。
【図３】本発明の実施の形態１にかかるデータ保持回路に故障がある場合の動作真理値表を示す図である。
【図４】本発明の実施の形態２にかかる故障検出システムの構成を示すブロック図である。
【図５】本発明の実施の形態２にかかる故障検出処理の流れを示すフローチャートである。
【図６】本発明の実施の形態２にかかる故障判定処理の詳細の流れを示すフローチャートである。
【図７】本発明の実施の形態３にかかる半導体記憶装置の構成を示すブロック図である。
【図８】本発明の実施の形態３にかかるリダンダンシ判定回路の構成を示すブロック図である。
【図９】本発明の実施の形態３にかかる動作真理値表を示す図である。
【図１０】本発明の実施の形態３にかかる故障検出テストの流れを示すフローチャートである。
【図１１】関連技術にかかるアルファ線保証フリップフロップ回路の構成を示すブロック図である。
【図１２】関連技術にかかるスキャンテスト回路の構成を示すブロック図である。
【図１３】関連技術にかかるスキャンテスト回路の動作真理値表を示す図である。
【発明を実施するための形態】
【００２３】
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。
【００２４】
＜発明の実施の形態１＞
図１は、本発明の実施の形態１にかかる半導体装置１００の構成を示すブロック図である。半導体装置１００は、アルファ線による誤動作を防止する耐アルファ線強度の高い論理回路である。半導体装置１００は、フリップフロップ回路ＦＦ１〜ＦＦ３と、多数決論理回路ＭＪＲと、少数値判定回路ＭＩＲと、切替え回路ＣＨとを備える。尚、半導体装置１００は、図１１に示したアルファ線保証フリップフロップ回路９００に改良を加え、少数値判定回路ＭＩＲと切替え回路ＣＨを加えたものであってもよい。
【００２５】
半導体装置１００は、入力端子ＴＩ１を介して入力データＤを入力し、入力端子ＴＩ２を介してクロック信号ＣＫ１を入力し、入力端子ＴＩ３を介してクロック信号ＣＫ２を入力し、入力端子ＴＩ４を介してクロック信号ＣＫ３を入力し、入力端子ＴＩ９を介してテスト信号ＴＥＳＴを入力する。ここで、入力データＤは、二値のいずれかを示す信号であり、例えば、"０"又は"１"である。また、テスト信号ＴＥＳＴは、通常動作又はテスト動作のいずれであるかを指示するための信号であり、例えば、"０"が通常動作を指示し、"１"がテスト動作を指示するものとする。
【００２６】
そして、半導体装置１００は、入力データＤとクロック信号ＣＫ１とをフリップフロップ回路ＦＦ１へ入力し、入力データＤとクロック信号ＣＫ２とをフリップフロップ回路ＦＦ２へ入力し、入力データＤとクロック信号ＣＫ３とをフリップフロップ回路ＦＦ３へ入力し、テスト信号ＴＥＳＴを切替え回路ＣＨへ入力する。また、半導体装置１００は、出力端子ＴＯ５を介して切替え回路ＣＨから出力される出力信号ＱＸを出力する。
【００２７】
フリップフロップ回路ＦＦ１〜ＦＦ３は、データ保持回路の一例である。フリップフロップ回路ＦＦ１〜ＦＦ３のそれぞれは、入力データＤを入力し、クロック信号ＣＫ１〜ＣＫ３に応じて、フリップフロップ出力信号ＩＯ１〜ＩＯ３を出力し、多数決論理回路ＭＪＲ及び少数値判定回路ＭＩＲへ入力する。尚、本発明の実施の形態１にかかる半導体装置１００が備えるフリップフロップ回路の数は、３以上の奇数であればよい。つまり、フリップフロップ回路ＦＦ１〜ＦＦ３は、同一の入力値である入力データＤを入力する３以上の奇数個のデータ保持回路である。
【００２８】
ここで、フリップフロップ出力信号ＩＯ１〜ＩＯ３は、フリップフロップ回路ＦＦ１〜ＦＦ３における入力データＤの保持状態を示す信号値である。そこで、アルファ線の影響によりフリップフロップ回路ＦＦ１〜ＦＦ３のいずれか又は全てが誤動作し、入力データＤが反転する場合がある。そのため、フリップフロップ出力信号ＩＯ１〜ＩＯ３は、異なる場合がある。
【００２９】
多数決論理回路ＭＪＲは、フリップフロップ出力信号ＩＯ１〜ＩＯ３を入力し、フリップフロップ出力信号ＩＯ１〜ＩＯ３の多数決の結果である多数値信号Ｍａを出力し、切替え回路ＣＨへ入力する。すなわち、多数決論理回路ＭＪＲは、フリップフロップ出力信号ＩＯ１〜ＩＯ３の３つの値を比較し、フリップフロップ回路ＦＦ１〜ＦＦ３からの出力値の内、過半数を占める論理値を多数値信号Ｍａとして出力する。言い換えると、多数決論理回路ＭＪＲは、フリップフロップ回路ＦＦ１〜ＦＦ３からの出力値の内、過半数を占める第１の出力値を出力する第１の回路である。
【００３０】
少数値判定回路ＭＩＲは、フリップフロップ出力信号ＩＯ１〜ＩＯ３を入力し、フリップフロップ出力信号ＩＯ１〜ＩＯ３の内、少数値である少数値信号Ｍｉを出力し、切替え回路ＣＨへ入力する。すなわち、少数値判定回路ＭＩＲは、フリップフロップ出力信号ＩＯ１〜ＩＯ３の３つの値を比較し、過半数を下回る論理値を少数値信号Ｍｉとして出力する。言い換えると、少数値判定回路ＭＩＲは、フリップフロップ回路ＦＦ１〜ＦＦ３からの出力値の内、過半数未満である第２の出力値を出力する第２の回路である。
【００３１】
ここで、フリップフロップ回路ＦＦ１〜ＦＦ３のいずれかがアルファ線により誤動作した場合、すなわち、故障している場合、多数値信号Ｍａ及び少数値信号Ｍｉの値は異なる。そのため、多数決論理回路ＭＪＲ及び少数値判定回路ＭＩＲにより、二値のいずれかの入力値に対して、第１の出力値と第２の出力値を用いてＮ個（Ｎは、３以上の奇数）のデータ保持回路の故障の有無を検出することができる。
【００３２】
尚、少数値判定回路ＭＩＲは、フリップフロップ回路ＦＦ１〜ＦＦ３からの出力値の全てが一致する場合に、当該出力値を少数値信号Ｍｉとして出力する。これにより、第２の出力値と入力値との比較により全てのデータ保持回路が正常な場合を検出することができる。
【００３３】
切替え回路ＣＨは、多数値信号Ｍａと、少数値信号Ｍｉと、テスト信号ＴＥＳＴとを入力し、テスト信号ＴＥＳＴに応じて、多数決論理回路ＭＪＲの出力と少数値判定回路ＭＩＲの出力とを切り替える機能を有する。すなわち、切替え回路ＣＨは、多数値信号Ｍａ又は少数値信号Ｍｉのいずれかを選択して、出力信号ＱＸとして出力する。言い換えると、切替え回路ＣＨは、外部からの指示に応じて、第１の出力値又は第２の出力値のいずれかを選択して出力する出力選択回路である。これにより、Ｎ個のデータ保持回路を備える既存の半導体装置に代えて、第１の出力値と第２の出力値を用いてＮ個のデータ保持回路の故障の有無を検出することができる半導体装置を適用できる。
【００３４】
さらに、切替え回路ＣＨは、テスト信号ＴＥＳＴが通常動作又はテスト動作のいずれであるかを判定し、テスト信号ＴＥＳＴが通常動作を示すと判定された場合に、多数値信号Ｍａを選択し、テスト信号ＴＥＳＴがテスト動作を示すと判定された場合に、少数値信号Ｍｉを選択して出力する。これにより、通常動作時に、既存の機能を提供しつつ、テスト動作も可能とすることができる。
【００３５】
図２及び図３は、本発明の実施の形態１にかかる半導体装置１００の動作真理値表を示す図である。まず、図２及び図３に示す動作真理値表の項目は、入力データＤ、フリップフロップ出力信号ＩＯ１〜ＩＯ３、ＱＸ（Ｍａ）、ＱＸ（Ｍｉ）及びテスト結果を示す。ここで、ＱＸ（Ｍａ）は、テスト信号ＴＥＳＴが"０"の場合の出力信号ＱＸ、つまり、多数値信号Ｍａを示す。ＱＸ（Ｍｉ）は、テスト信号ＴＥＳＴが"１"の場合の出力信号ＱＸ、つまり、少数値信号Ｍｉを示す。テスト結果は、多数値信号Ｍａと少数値信号Ｍｉとの一致又は不一致のいずれかを示す。また、多数値信号Ｍａと少数値信号Ｍｉとが一致する場合に、多数値信号Ｍａ又は少数値信号Ｍｉのいずれかと入力データＤとの一致又は不一致のいずれかを示す。
【００３６】
図２は、本発明の実施の形態１にかかるフリップフロップ回路ＦＦ１〜ＦＦ３の全てに故障がない場合の動作真理値表を示す図である。ここでは、図２を用いて、フリップフロップ回路ＦＦ１〜ＦＦ３の全てに故障がない場合の動作について説明する。まず、半導体装置１００に対して入力される入力データＤが"０"である場合、フリップフロップ回路ＦＦ１〜ＦＦ３は、クロック信号ＣＫ１〜ＣＫ３の活性により、フリップフロップ出力信号ＩＯ１〜Ｉ０３を"０"として、多数決論理回路ＭＪＲ及び少数値判定回路ＭＩＲへ出力する。
【００３７】
次に、多数決論理回路ＭＪＲ及び少数値判定回路ＭＩＲは、それぞれフリップフロップ出力信号ＩＯ１〜Ｉ０３の値を比較する。ここでは、多数値信号Ｍａ及び少数値信号Ｍｉは、共に、"０"となる。そして、テスト信号ＴＥＳＴが非活性（以下、"０"を非活性とする）である場合、切替え回路ＣＨは、多数値信号Ｍａを出力信号ＱＸとして出力する。また、テスト信号ＴＥＳＴが活性（以下、"１"を活性とする）である場合、切替え回路ＣＨは、少数値信号Ｍｉを出力信号ＱＸとして出力する。
【００３８】
また、半導体装置１００に対して入力される入力データＤが"１"である場合、フリップフロップ回路ＦＦ１〜ＦＦ３は、クロック信号ＣＫ１〜ＣＫ３の活性により、フリップフロップ出力信号ＩＯ１〜Ｉ０３を"１"として、多数決論理回路ＭＪＲ及び少数値判定回路ＭＩＲへ出力する。
【００３９】
次に、多数決論理回路ＭＪＲ及び少数値判定回路ＭＩＲは、それぞれフリップフロップ出力信号ＩＯ１〜Ｉ０３の値を比較する。ここでは、多数値信号Ｍａ及び少数値信号Ｍｉは、共に、"１"となる。そして、テスト信号ＴＥＳＴが"０"である場合、切替え回路ＣＨは、多数値信号Ｍａを出力信号ＱＸとして出力する。また、テスト信号ＴＥＳＴが"１"である場合、切替え回路ＣＨは、少数値信号Ｍｉを出力信号ＱＸとして出力する。
【００４０】
このように、フリップフロップ回路ＦＦ１〜ＦＦ３の全てに故障がない場合には、入力データＤが"０"又は"１"のいずれの場合も、ＱＸ（Ｍａ）及びＱＸ（Ｍｉ）は一致する。さらに、ＱＸ（Ｍａ）及びＱＸ（Ｍｉ）は入力データＤとも一致する。そのため、図２のテスト結果が得られた場合には、フリップフロップ回路ＦＦ１〜ＦＦ３の全てに故障がないと判定することができる。
【００４１】
図３は、本発明の実施の形態１にかかるフリップフロップ回路ＦＦ１〜ＦＦ３のいずれか又は全てに故障がある場合の動作真理値表を示す図である。ここでは、図３を用いて、フリップフロップ回路ＦＦ３のみに故障がある場合の動作について説明する。まず、入力データＤが"０"である場合、フリップフロップ回路ＦＦ１及びＦＦ２は、フリップフロップ出力信号ＩＯ１及びＩ０２を"０"として出力するが、フリップフロップ回路ＦＦ３は、フリップフロップ出力信号ＩＯ３を"１"として出力する。
【００４２】
次に、多数決論理回路ＭＪＲは、フリップフロップ出力信号ＩＯ１及びＩ０２の２つが"０"であるため、多数値信号Ｍａを"０"として出力する。一方、少数値判定回路ＭＩＲは、フリップフロップ出力信号ＩＯ３のみが"１"であるため、少数値信号Ｍｉを"１"として出力する。そして、テスト信号ＴＥＳＴが"０"である場合、切替え回路ＣＨは、"０"を出力信号ＱＸとして出力する。また、テスト信号ＴＥＳＴが"１"である場合、切替え回路ＣＨは、"１"を出力信号ＱＸとして出力する。
【００４３】
このように、テスト結果は、ＱＸ（Ｍａ）が"０"であり、ＱＸ（Ｍｉ）が"１"であるため不一致となる。また、入力データＤが"１"である場合についても、テスト結果は、ＱＸ（Ｍａ）が"１"であり、ＱＸ（Ｍｉ）が"０"であるため不一致となる。そのため、図３の＃１と＃１４のテスト結果が得られた場合には、フリップフロップ回路ＦＦ１〜ＦＦ３の一部に故障があると判定することができる。これは、フリップフロップ回路ＦＦ１又はＦＦ２のいずれかのみに故障がある場合も、図３の＃２，＃４，＃１１及び＃１３のテスト結果が得られるため、同様である。
【００４４】
次に、フリップフロップ回路ＦＦ２及びＦＦ３の２つに故障がある場合の動作について説明する。まず、入力データＤが"０"である場合、フリップフロップ回路ＦＦ１は、フリップフロップ出力信号ＩＯ１を"０"として出力するが、フリップフロップ回路ＦＦ２及びＦＦ３は、フリップフロップ出力信号ＩＯ２及びＩ０３を"１"として出力する。
【００４５】
次に、多数決論理回路ＭＪＲは、フリップフロップ出力信号ＩＯ２及びＩ０３の２つが"１"であるため、多数値信号Ｍａを"１"として出力する。一方、少数値判定回路ＭＩＲは、フリップフロップ出力信号ＩＯ１のみが"０"であるため、少数値信号Ｍｉを"０"として出力する。そして、テスト信号ＴＥＳＴが"０"である場合、切替え回路ＣＨは、"１"を出力信号ＱＸとして出力する。また、テスト信号ＴＥＳＴが"１"である場合、切替え回路ＣＨは、"０"を出力信号ＱＸとして出力する。
【００４６】
このように、テスト結果は、ＱＸ（Ｍａ）が"１"であり、ＱＸ（Ｍｉ）が"０"であるため不一致となる。また、入力データＤが"１"である場合についても、テスト結果は、ＱＸ（Ｍａ）が"０"であり、ＱＸ（Ｍｉ）が"１"であるため不一致となる。そのため、図３の＃３と＃１２のテスト結果が得られた場合には、フリップフロップ回路ＦＦ１〜ＦＦ３の一部に故障があると判定することができる。これは、フリップフロップ回路ＦＦ１及びＦＦ２と、ＦＦ１及びＦＦ３という２つの回路に故障がある場合も、図３の＃５，＃６，＃９及び＃１０のテスト結果が得られるため、同様である。
【００４７】
最後に、フリップフロップ回路ＦＦ１〜ＦＦ３の全てに故障がある場合の動作について説明する。まず、入力データＤが"０"である場合、フリップフロップ回路ＦＦ１〜ＦＦ３は、フリップフロップ出力信号ＩＯ１〜Ｉ０３を"１"として出力する。
【００４８】
次に、多数決論理回路ＭＪＲは、フリップフロップ出力信号ＩＯ１〜Ｉ０３の３つが"１"であるため、多数値信号Ｍａを"１"として出力する。一方、少数値判定回路ＭＩＲは、フリップフロップ出力信号ＩＯ１〜Ｉ０３の３つが"１"と一致するため、少数値信号Ｍｉを"１"として出力する。そして、テスト信号ＴＥＳＴが"０"である場合、切替え回路ＣＨは、"１"を出力信号ＱＸとして出力する。また、テスト信号ＴＥＳＴが"１"である場合、切替え回路ＣＨは、"１"を出力信号ＱＸとして出力する。
【００４９】
このように、フリップフロップ回路ＦＦ１〜ＦＦ３の全てに故障がある場合には、ＱＸ（Ｍａ）及びＱＸ（Ｍｉ）は一致する。しかし、ＱＸ（Ｍａ）及びＱＸ（Ｍｉ）は"１"であり、入力データＤは"０"であるため、ＱＸ（Ｍａ）又はＱＸ（Ｍｉ）と入力データＤとは不一致となる。また、入力データＤが"１"である場合についても、ＱＸ（Ｍａ）及びＱＸ（Ｍｉ）は"０"であり、入力データＤは"１"であるため、ＱＸ（Ｍａ）又はＱＸ（Ｍｉ）と入力データＤとは不一致となる。そのため、テスト結果は、不一致となる。そのため、図３の＃８と＃７のテスト結果が得られた場合には、フリップフロップ回路ＦＦ１〜ＦＦ３の全てに故障があると判定することができる。
【００５０】
以上のことから、本発明の実施の形態１では、フリップフロップ回路ＦＦ１〜ＦＦ３の故障を検出するためのテストを入力データＤが"０"及び"１"の２通りのみで行うことができる。このため、特許文献１に比べて、テスト時間を短縮することができる。さらに、切替え回路ＣＨを用いずに、多数値信号Ｍａ及び少数値信号Ｍｉを半導体装置１００から直接出力する場合には、テスト信号ＴＥＳＴを用いずとも、多数値信号Ｍａ、少数値信号Ｍｉ及び入力データＤを比較することにより、故障を検出することができる。また、フリップフロップ回路ＦＦ１〜ＦＦ３の内、複数が同時に故障することが稀である場合には、少なくとも１つが故障していることを検出できればよい。その場合、少なくとも少数値信号Ｍｉと入力データＤとを比較することで、故障の有無を判定することができる。
【００５１】
＜発明の実施の形態２＞
図４は、本発明の実施の形態２にかかる故障検出システム２００の構成を示すブロック図である。故障検出システム２００は、半導体装置１００ａと、検出回路ＤＥＴとを備える。半導体装置１００ａは、本発明の実施の形態１にかかる半導体装置１００の構成の内、少なくとも、フリップフロップ回路ＦＦ１〜ＦＦ３、多数決論理回路ＭＪＲ及び少数値判定回路ＭＩＲを備える。また、半導体装置１００ａは、半導体装置１００との違いとして、出力端子ＴＯ６を介して入力データＤを出力し、出力端子ＴＯ７を介して多数決論理回路ＭＪＲから出力される多数値信号Ｍａを出力し、出力端子ＴＯ８を介して少数値判定回路ＭＩＲから出力される少数値信号Ｍｉを出力する。
【００５２】
検出回路ＤＥＴは、入力データＤと、多数値信号Ｍａと、少数値信号Ｍｉとを入力し、判定結果Ｒを出力する。判定結果Ｒは、フリップフロップ回路ＦＦ１〜ＦＦ３のいずれか又は全部に故障があるか否かを判定した結果を示す情報である。検出回路ＤＥＴは、少なくとも少数値信号Ｍｉに基づきＮ個のデータ保持回路の故障を検出する回路である。尚、検出回路ＤＥＴは、半導体装置１００ａに入力される入力データＤと同一のデータが入力されれば、半導体装置１００ａから入力されなくても構わない。
【００５３】
検出回路ＤＥＴは、少数値信号Ｍｉが入力データＤと異なる場合に、Ｎ個の内、過半数未満のデータ保持回路が故障していることを検出する。また、検出回路ＤＥＴは、多数値信号Ｍａと少数値信号Ｍｉとが異なる場合に、Ｎ個のデータ保持回路の一部が故障していることを検出する。
【００５４】
ここで、上述したように、少数値判定回路ＭＩＲは、Ｎ個のデータ保持回路からの出力値の全てが一致する場合に、当該出力値を少数値信号Ｍｉとして出力する。この場合、検出回路ＤＥＴは、多数値信号Ｍａと少数値信号Ｍｉとが一致する場合に、多数値信号Ｍａ又は少数値信号Ｍｉと入力データＤとに応じて故障の検出を行う。
【００５５】
また、検出回路ＤＥＴは、多数値信号Ｍａと少数値信号Ｍｉとが一致し、かつ、多数値信号Ｍａ又は少数値信号Ｍｉと入力データＤとが異なる場合に、Ｎ個のデータ保持回路の全てが故障していることを検出する。これにより、データ保持回路の全てが故障した場合を検出できるため、故障検出の精度を向上することができる。
【００５６】
尚、故障検出システム２００は、本発明の実施の形態１にかかる切替え回路ＣＨをさらに備えても構わない。その場合、検出回路ＤＥＴは、切替え回路ＣＨからの出力値と入力データＤとに応じて故障の検出を行うようにするとよい。
【００５７】
図５は、本発明の実施の形態２にかかる故障検出処理の流れを示すフローチャートである。まず、半導体装置１００ａは、入力データＤをフリップフロップ回路ＦＦ１〜ＦＦ３のそれぞれへ入力する（Ｓ１１）。次に、フリップフロップ回路ＦＦ１〜ＦＦ３のそれぞれは、クロック信号ＣＫ１〜ＣＫ３に応じて、フリップフロップ出力信号ＩＯ１〜ＩＯ３を出力する（Ｓ１２）。
【００５８】
続いて、多数決論理回路ＭＪＲは、入力されたフリップフロップ出力信号ＩＯ１〜ＩＯ３を比較し、多数値信号Ｍａを出力する（Ｓ１３）。また、少数値判定回路ＭＩＲは、入力されたフリップフロップ出力信号ＩＯ１〜ＩＯ３を比較し、少数値信号Ｍｉを出力する（Ｓ１４）。
【００５９】
そして、検出回路ＤＥＴは、入力された多数値信号Ｍａ、少数値信号Ｍｉ及び入力データＤに基づき、故障判定処理を行う（Ｓ１５）。尚、故障判定処理の詳細は、図６にて後述する。その後、検出回路ＤＥＴは、判定結果Ｒを出力する（Ｓ１６）。
【００６０】
図６は、本発明の実施の形態２にかかる故障判定処理の詳細の流れを示すフローチャートである。まず、検出回路ＤＥＴは、多数値信号Ｍａと少数値信号Ｍｉとが一致するか否かを判定する（Ｓ２１）。多数値信号Ｍａと少数値信号Ｍｉとが一致すると判定された場合、検出回路ＤＥＴは、多数値信号Ｍａと入力データＤとが一致するか否かを判定する（Ｓ２２）。多数値信号Ｍａと入力データＤとが一致すると判定された場合、検出回路ＤＥＴは、フリップフロップ回路ＦＦ１〜ＦＦ３の全てに故障がないと判定する（Ｓ２３）。ステップＳ２２により多数値信号Ｍａと入力データＤとが一致しないと判定された場合、検出回路ＤＥＴは、フリップフロップ回路ＦＦ１〜ＦＦ３の全てに故障があると判定する（Ｓ２４）。
【００６１】
ステップＳ２１により多数値信号Ｍａと少数値信号Ｍｉとが一致しないと判定された場合、検出回路ＤＥＴは、多数値信号Ｍａと入力データＤとが一致するか否かを判定する（Ｓ２５）。多数値信号Ｍａと入力データＤとが一致すると判定された場合、検出回路ＤＥＴは、フリップフロップ回路ＦＦ１〜ＦＦ３の内、過半数未満、すなわち、１つの回路に故障があると判定する（Ｓ２６）。ステップＳ２５により多数値信号Ｍａと入力データＤとが一致しないと判定された場合、検出回路ＤＥＴは、フリップフロップ回路ＦＦ１〜ＦＦ３フリップフロップ回路ＦＦ１〜ＦＦ３の内、過半数、すなわち、２つの回路に故障があると判定する（Ｓ２７）。
【００６２】
尚、図５のステップＳ２２及びＳ２５において、多数値信号Ｍａの代わりに少数値信号Ｍｉを比較に用いても構わない。
【００６３】
また、図５を入力データＤが"０"及び"１"のそれぞれの場合に実施することにより、図２又は図３のテスト結果が得られる。
【００６４】
尚、図２と図３の動作真理値表に示す多数値信号Ｍａと少数値信号Ｍｉの一致と不一致の状態を検出する方法として、本発明の実施の形態１にかかる切替え回路ＣＨの代わりにＥＸＯＲ回路を用いても構わない。そして、ＥＸＯＲ回路の出力結果を入力データＤとの比較することで、本発明の実施の形態１と同様な故障検出の効果が得ることができる。
【００６５】
以上のことから、本発明の実施の形態２により、複数のデータ保持回路の故障を検出するためのテスト時間を短縮することができる。
【００６６】
＜発明の実施の形態３＞
本発明の実施の形態３は、Ｎ個のデータ保持回路を備える半導体装置のテスト方法である。本発明の実施の形態３にかかる半導体記憶装置３００は、本発明の実施の形態１にかかる半導体装置１００をリダンダンシ判定回路に備えた場合の半導体記憶装置の例である。そして、本発明の実施の形態３にかかるテスト方法は、半導体記憶装置自体のテストと共に、リダンダンシ判定回路の故障を検出することにより、生産工程内のテスト時間を抑えるためのものである。図７は、本発明の実施の形態３にかかる半導体記憶装置３００の構成を示すブロック図である。半導体記憶装置３００は、リダンダンシ判定回路ＲＪ１、ＲＪ２、・・・ＲＪｎ（ｎは１以上の自然数とする）と、リダンダンシアドレスデコーダＲＤＥと、アドレスデコーダＡＤＥと、メモリセルＭＣと、入出力制御回路ＩＯＣとを備える。
【００６７】
メモリセルＭＣは、アドレスが示す領域にデータを格納するメモリの構成単位の一例である。入出力制御回路ＩＯＣは、外部から書き込み命令又は読み出し命令を受け付け、メモリセルＭＣに対するアクセスを制御し、結果を出力する回路である。書き込み命令は、メモリセルＭＣ内の書き込み対象のアドレスの指定と、書き込み対象の入力データＤＩの指定とを含む。読み出し命令は、メモリセルＭＣ内の読み出し対象のアドレスの指定を含む。具体的には、入出力制御回路ＩＯＣは、外部から制御信号ＲＷの指定により書き込み命令又は読み出し命令を判断し、処理を行う。以下では、例として、制御信号ＲＷが"０"である場合、書き込み命令を示し、制御信号ＲＷが"１"である場合、読み出し命令を示すものとする。尚、入出力制御回路ＩＯＣは、読み出し命令に応じてメモリセルＭＣからデータを読み出した場合、出力データＤＯとして外部へ出力する。
【００６８】
メモリセルＭＣは、外部から指定されるアドレスＡＤＤ１〜ＡＤＤｎ以外のリダンダンシアドレスにより示される領域を有する。リダンダンシアドレスは、メモリセルＭＣの領域の内、外部から指定されるアドレスが示す領域が故障した場合に、内部的に当該アドレスの代わりに使用される置換先アドレスである。
【００６９】
リダンダンシ判定回路ＲＪ１は、クロック信号ＣＬＫと、テスト信号ＴＥＳＴとを入力し、アドレスＡＤＤ１が示す領域に対応するヒューズの切断状況に応じて、当該領域が不良か否かを示すリダンダンシ判定信号ＱＲ１を出力する。リダンダンシ判定回路ＲＪ１は、ヒューズ回路ＲＦ１と、半導体装置１０１とを備える。ヒューズ回路ＲＦ１は、ヒューズの切断状況に応じて、切断有無を示す二値の信号であるヒューズデータＦＤ１を出力する。半導体装置１０１は、上述した半導体装置１００と同等の構成を有し、ヒューズデータＦＤ１を入力データＤとして入力し、併せて、クロック信号ＣＬＫ及びテスト信号ＴＥＳＴを入力し、リダンダンシ判定信号ＱＲ１をリダンダンシアドレスデコーダＲＤＥへ出力する。尚、リダンダンシ判定回路ＲＪ１の詳細は、図８に後述する。
【００７０】
また、リダンダンシ判定回路ＲＪ２〜ＲＪｎは、リダンダンシ判定回路ＲＪ１と同等の構成である。例えば、リダンダンシ判定回路ＲＪ２は、ヒューズ回路ＲＦ２と、半導体装置１０２とを備える。ヒューズ回路ＲＦ２は、アドレスＡＤＤ２が示す領域に対応するヒューズの切断状況に応じて、ヒューズデータＦＤ２を半導体装置１０２へ出力する。半導体装置１０２は、上述した半導体装置１００と同等の構成を有し、ヒューズデータＦＤ２を入力データＤとして入力し、併せて、クロック信号ＣＬＫ及びテスト信号ＴＥＳＴを入力し、リダンダンシ判定信号ＱＲ２をリダンダンシアドレスデコーダＲＤＥへ出力する。また、例えば、リダンダンシ判定回路ＲＪｎは、アドレスＡＤＤｎが示す領域に対応するヒューズの切断状況に応じて、当該領域が不良か否かを示すリダンダンシ判定信号ＱＲｎを出力する。その他の構成は、リダンダンシ判定回路ＲＪ１と同等であるため、説明を省略する。
【００７１】
リダンダンシアドレスデコーダＲＤＥは、外部から指定されるアドレスＡＤＤ１〜ＡＤＤｎと、リダンダンシ判定回路ＲＪ１〜ＲＪｎからリダンダンシ判定信号ＱＲ１〜ＱＲｎと、を入力し、リダンダンシ判定信号ＱＲ１〜ＱＲｎが不良を示す場合に、対応するアドレスＡＤＤ１〜ＡＤＤｎのリダンダンシアドレスＲＡＤ１〜ＲＡＤｎをアドレスデコーダＡＤＥへ出力する。
【００７２】
アドレスデコーダＡＤＥは、外部から指定されるアドレスＡＤＤ１〜ＡＤＤｎと、リダンダンシアドレスＲＡＤ１〜ＲＡＤｎとを入力し、リダンダンシアドレスＲＡＤ１〜ＲＡＤｎを優先して、メモリセルＭＣに対するアクセス対象のアドレスとして出力する。
【００７３】
図８は、本発明の実施の形態３にかかるリダンダンシ判定回路ＲＪ１の構成を示すブロック図である。リダンダンシ判定回路ＲＪ１は、上述したように、ヒューズ回路ＲＦ１と、半導体装置１０１とを備える。また、半導体装置１０１は、フリップフロップ回路ＦＦ１１〜ＦＦ１３と、多数決論理回路ＭＪＲ１と、少数値判定回路ＭＩＲ１と、切替え回路ＣＨ１とを備える。尚、半導体装置１０１の内、半導体装置１００と同等の構成については、適宜、説明を省略する。
【００７４】
フリップフロップ回路ＦＦ１１〜ＦＦ１３のそれぞれは、入力端子ＴＩ１を介してヒューズデータＦＤ１、入力端子ＴＩ２〜ＴＩ４のそれぞれを介してクロック信号ＣＬＫを入力する。また、フリップフロップ回路ＦＦ１１〜ＦＦ１３のそれぞれは、クロック信号ＣＬＫに応じてフリップフロップ出力信号ＩＯ１１〜ＩＯ１３を出力し、多数決論理回路ＭＪＲ１及び少数値判定回路ＭＩＲ１へ入力する。ここで、フリップフロップ出力信号ＩＯ１１〜ＩＯ１３は、フリップフロップ回路ＦＦ１１〜ＦＦ１３におけるヒューズデータＦＤ１の保持状態を示す信号値である。そこで、アルファ線の影響によりフリップフロップ回路ＦＦ１１〜ＦＦ１３において保持する信号値が反転した場合、本来のヒューズの切断状況とは異なる信号値がフリップフロップ出力信号ＩＯ１１〜ＩＯ１３として出力される。
【００７５】
多数決論理回路ＭＪＲ１は、フリップフロップ出力信号ＩＯ１１〜ＩＯ１３を入力し、多数値信号Ｍａ１を出力し、切替え回路ＣＨ１へ入力する。少数値判定回路ＭＩＲ１は、フリップフロップ出力信号ＩＯ１１〜ＩＯ１３を入力し、少数値信号Ｍｉ１を出力し、切替え回路ＣＨ１へ入力する。切替え回路ＣＨ１は、多数値信号Ｍａ１と、少数値信号Ｍｉ１と、テスト信号ＴＥＳＴとを入力し、テスト信号ＴＥＳＴに応じて、多数値信号Ｍａ１又は少数値信号Ｍｉ１のいずれかを選択して、出力信号ＱＲ１として出力する。
【００７６】
図９は、本発明の実施の形態３にかかるリダンダンシ判定回路ＲＪ１における動作真理値表を示す図である。まず、図９に示す動作真理値表の項目は、ヒューズデータＦＤ１、フリップフロップ出力信号ＩＯ１１〜ＩＯ１３、ＱＲ１（Ｍａ１）及びＱＲ１（Ｍｉ１）並びにＱＲ１（Ｍａ１）及びＱＲ１（Ｍｉ１）におけるアドレスデコーダＡＤＥの選択結果を示す。ここで、ＱＲ１（Ｍａ１）は、テスト信号ＴＥＳＴが"０"の場合の出力信号ＱＲ１、つまり、多数値信号Ｍａ１を示す。ＱＲ１（Ｍｉ１）は、テスト信号ＴＥＳＴが"１"の場合の出力信号ＱＲ１、つまり、少数値信号Ｍｉ１を示す。選択結果は、アドレスデコーダＡＤＥにおいて選択されるアドレスがアドレスＡＤＤ１又はリダンダンシアドレスＲＡＤ１のいずれであるかを示す。
【００７７】
続いて、図９を用いて、リダンダンシ判定回路ＲＪ１に故障がない場合の動作について説明する。まず、ヒューズ回路ＲＦ１のヒューズが切断未了の場合、半導体装置１０１は、ヒューズデータＦＤ１を"０"として入力する。このとき、フリップフロップ回路ＦＦ１１〜ＦＦ１３は、フリップフロップ出力信号ＩＯ１１〜Ｉ０１３を"０"として出力する。そして、多数決論理回路ＭＪＲ１及び少数値判定回路ＭＩＲ１は、多数値信号Ｍａ１及び少数値信号Ｍｉ１を"０"として切替え回路ＣＨ１へ出力する。そして、テスト信号ＴＥＳＴが"０"及び"１"のいずれの場合も、切替え回路ＣＨ１は、"０"をリダンダンシ判定信号ＱＲ１としてリダンダンシアドレスデコーダＲＤＥへ出力する。そのため、リダンダンシアドレスデコーダＲＤＥは、リダンダンシアドレスＲＡＤ１をアドレスデコーダＡＤＥへ出力しない。よって、アドレスデコーダＡＤＥは、アドレスＡＤＤ１を選択する。
【００７８】
つまり、リダンダンシ判定回路ＲＪ１に故障がなく、かつ、ヒューズ回路ＲＦ１のヒューズが切断未了の場合、図９の＃１に示すように、テスト信号ＴＥＳＴが"０"及び"１"のいずれの場合も、アドレスＡＤＤ１によりメモリセルＭＣへアクセスされる。
【００７９】
リダンダンシ判定回路ＲＪ１に故障がなく、かつ、ヒューズ回路ＲＦ１のヒューズが切断完了の場合、つまり、アドレスＡＤＤ１が示す領域が故障している場合について説明する。まず、ヒューズデータＦＤ１が"１"であるため、フリップフロップ回路ＦＦ１１〜ＦＦ１３は、フリップフロップ出力信号ＩＯ１１〜Ｉ０１３を"１"として出力する。そして、多数決論理回路ＭＪＲ１及び少数値判定回路ＭＩＲ１は、多数値信号Ｍａ１及び少数値信号Ｍｉ１を"１"として切替え回路ＣＨ１へ出力する。そして、テスト信号ＴＥＳＴが"０"及び"１"のいずれの場合も、切替え回路ＣＨ１は、"１"をリダンダンシ判定信号ＱＲ１としてリダンダンシアドレスデコーダＲＤＥへ出力する。そのため、リダンダンシアドレスデコーダＲＤＥは、リダンダンシアドレスＲＡＤ１をアドレスデコーダＡＤＥへ出力する。よって、アドレスデコーダＡＤＥは、リダンダンシアドレスＲＡＤ１を選択する。
【００８０】
つまり、リダンダンシ判定回路ＲＪ１に故障がなく、かつ、ヒューズ回路ＲＦ１のヒューズが切断完了の場合、図９の＃１６に示すように、テスト信号ＴＥＳＴが"０"及び"１"のいずれの場合も、リダンダンシアドレスＲＡＤ１によりメモリセルＭＣへアクセスされる。
【００８１】
次に、リダンダンシ判定回路ＲＪ１が備えるフリップフロップ回路ＦＦ１１〜ＦＦ１３に故障がある場合の動作について説明する。例えば、図９の＃２には、フリップフロップ回路ＦＦ１３のみが故障であり、ヒューズ回路ＲＦ１のヒューズが切断未了の場合を示す。このとき、まず、ヒューズデータＦＤ１が"０"であるため、フリップフロップ回路ＦＦ１１及びＦＦ１２は、フリップフロップ出力信号ＩＯ１１及びＩＯ１２を"０"として出力するが、フリップフロップ回路ＦＦ１３は、フリップフロップ出力信号ＩＯ１３を"１"として出力する。そして、多数決論理回路ＭＪＲ１は、多数値信号Ｍａ１を"０"とし、少数値判定回路ＭＩＲ１は、少数値信号Ｍｉ１を"１"として切替え回路ＣＨ１へ出力する。そして、テスト信号ＴＥＳＴが"０"である場合、切替え回路ＣＨ１は、"０"をリダンダンシ判定信号ＱＲ１として出力する。そのため、リダンダンシアドレスデコーダＲＤＥは、リダンダンシアドレスＲＡＤ１をアドレスデコーダＡＤＥへ出力しない。よって、アドレスデコーダＡＤＥは、アドレスＡＤＤ１を選択する。
【００８２】
一方、テスト信号ＴＥＳＴが"１"である場合、切替え回路ＣＨ１は、"１"をリダンダンシ判定信号ＱＲ１として出力する。そのため、リダンダンシアドレスデコーダＲＤＥは、リダンダンシアドレスＲＡＤ１をアドレスデコーダＡＤＥへ出力する。よって、アドレスデコーダＡＤＥは、リダンダンシアドレスＲＡＤ１を選択する。
【００８３】
つまり、フリップフロップ回路ＦＦ１３のみが故障であり、ヒューズ回路ＲＦ１のヒューズが切断未了の場合、図９の＃２に示すように、テスト信号ＴＥＳＴが"０"と"１"との場合に、アドレスデコーダＡＤＥが選択するアドレスが異なる。そのため、メモリセルＭＣへアクセスされるアドレスも異なることとなる。
【００８４】
同様に、フリップフロップ回路ＦＦ１１〜ＦＦ１３の内、いずれか又は２つの回路に故障がある場合も、図９の＃３〜＃７に示すように、アドレスデコーダＡＤＥが選択するアドレスが異なる。また、ヒューズ回路ＲＦ１のヒューズが切断完了の場合も、図９の＃１０〜＃１５に示すように、アドレスデコーダＡＤＥが選択するアドレスが異なる。
【００８５】
そこで、本発明の実施の形態３にかかるデータ保持回路の故障検出方法は、まず、メモリセルＭＣのアドレスが示す領域の不良有無を示す入力値をＮ個のデータ保持回路のそれぞれへ入力する。次に、メモリセルＭＣの第１のアドレスに対する入力データの書き込み命令を受け付けた場合に、Ｎ個のデータ保持回路からの出力値の内、過半数である第１の出力値を出力する。そして、第１の出力値に基づき領域の不良有無を判定し、領域が不良無を示す場合に、第１のアドレスへ入力データを書き込む。または、領域が不良有を示す場合に、第１のアドレスとは異なる第２のアドレスへ入力データを書き込む。
【００８６】
その後、メモリセルＭＣの第１のアドレスから出力データの読み出し命令を受け付けた場合に、Ｎ個のデータ保持回路からの出力値の内、過半数未満である第２の出力値を出力する。そして、第２の出力値に基づき領域の不良有無を判定し、領域が不良無を示す場合に、第１のアドレスから出力データを読み出す。または、領域が不良有を示す場合に、第２のアドレスから出力データを読み出す。そして、入力データと読み出された出力データとに応じてＮ個のデータ保持回路の故障を検出する。
【００８７】
これにより、メモリセルＭＣへのデータの書き込みと読み出しというメモリセルＭＣ自体の汎用的なテスト方法に併せて、効率的にデータ保持回路の故障を検出することができる。よって、テスト時間を短縮することができる。
【００８８】
また、入力データと読み出された出力データとが異なる場合にＮ個のデータ保持回路の一部が故障していることを検出することが望ましい。
【００８９】
このように、Ｎ個のデータ保持回路の一部に故障がある場合、第１の出力値と第２の出力値とが異なる値となる。そのため、メモリセルＭＣのアドレスが示す領域に不良がない場合に、第２の出力値は、領域が不良有を示すため、入力データが第２のアドレスへ書き込まれる。一方、第１の出力値は、領域が不良無を示すため、出力データが第１のアドレスから読み出される。そのため、入力データと出力データとは、異なるアドレスに格納されているため、データの違いが発生する。これにより、Ｎ個のデータ保持回路の一部に故障があることを検出することができる。
【００９０】
さらに、入力値として第１の値をＮ個のデータ保持回路のそれぞれへ入力し、入力データと読み出された出力データとが一致する場合に、入力値として第１の値とは異なる第２の値をＮ個のデータ保持回路のそれぞれへ入力することが望ましい。これにより、入力データと出力データとが偶然一致した場合であっても、その後、異なる値を入力データとして比較するため、故障を検出する精度を高めることができる。
【００９１】
図１０は、本発明の実施の形態３にかかる故障検出テストの流れを示すフローチャートである。尚、以下の故障検出テストは、メモリセルのテスト装置又はテスト用のコンピュータプログラムを用いることで実現可能である。
【００９２】
まず、半導体記憶装置３００は、入力データＤＩに"０"を設定する（Ｓ３０１）。次に、半導体記憶装置３００は、テスト信号ＴＥＳＴに"１"を設定する（Ｓ３０２）。これにより、リダンダンシ判定回路ＲＪ１〜ＲＪｎの備える切替え回路ＣＨ１〜ＣＨｎは、少数値信号Ｍｉ１〜Ｍｉｎを選択して、リダンダンシ判定信号ＱＲ１〜ＱＲｎとして出力することとなる。そして、半導体記憶装置３００は、制御信号ＲＷに"０"を設定する（Ｓ３０３）。
【００９３】
その後、半導体記憶装置３００は、メモリセルＭＣの全アドレスへ入力データＤＩの書き込み命令を受け付ける（Ｓ３０４）。このとき、リダンダンシ判定回路ＲＪ１〜ＲＪｎは、アドレスが示す領域に対応するヒューズの切断状況に応じてリダンダンシ判定信号ＱＲ１〜ＱＲｎを出力する。そして、リダンダンシアドレスデコーダＲＤＥは、リダンダンシ判定信号ＱＲ１〜ＱＲｎに応じてリダンダンシアドレスＲＡＤ１〜ＲＡＤｎの出力有無を判定し、アドレスデコーダＡＤＥは、リダンダンシアドレスデコーダＲＤＥからの出力に応じてアドレスを選択する。そして、選択されたアドレスに対して、入出力制御回路ＩＯＣは、入力データＤＩを書き込む。
【００９４】
ここで、メモリセルＭＣは、生産工程において不良セルと判定されたアドレスについては、ヒューズ切断処置され、ヒューズ切断完了となっている。そのため、リダンダンシアドレスデコーダＲＤＥは、ヒューズ切断完了であるアドレスについて、リダンダンシアドレスＲＡＤ１〜ＲＡＤｎに置換する。また、上述したように、リダンダンシ判定回路ＲＪ１〜ＲＪｎに故障がある場合、リダンダンシ判定信号ＱＲ１〜ＱＲｎは、ヒューズデータＦＤ１〜ＦＤｎの値と異なる場合がある。
【００９５】
よって、メモリセルＭＣにヒューズ切断完了であるアドレスが含まれ、リダンダンシ判定回路ＲＪ１〜ＲＪｎに故障がない場合には、入出力制御回路ＩＯＣは、リダンダンシアドレスＲＡＤ１〜ＲＡＤｎに対して入力データＤＩを書き込む。また、メモリセルＭＣにヒューズ切断完了であるアドレスが含まれるか否かに関わらず、リダンダンシ判定回路ＲＪ１〜ＲＪｎに故障がある場合には、入出力制御回路ＩＯＣは、図９の例に従ったアドレスに対して入力データＤＩを書き込む。
【００９６】
その後、半導体記憶装置３００は、テスト信号ＴＥＳＴに"０"を設定する（Ｓ３０５）。これにより、リダンダンシ判定回路ＲＪ１〜ＲＪｎの備える切替え回路ＣＨ１〜ＣＨｎは、多数値信号Ｍａ１〜Ｍａｎを選択して、リダンダンシ判定信号ＱＲ１〜ＱＲｎとして出力することとなる。そして、半導体記憶装置３００は、制御信号ＲＷに"１"を設定する（Ｓ３０６）。
【００９７】
そして、半導体記憶装置３００は、メモリセルＭＣの全アドレスから出力データＤＯの読み出し命令を受け付ける（Ｓ３０７）。このとき、入出力制御回路ＩＯＣは、アドレスデコーダＡＤＥにより選択されたアドレスから出力データＤＯを読み出す。このとき、ステップＳ３０４と同様に、メモリセルＭＣにヒューズ切断完了であるアドレスが含まれるか否かに関わらず、リダンダンシ判定回路ＲＪ１〜ＲＪｎに故障がある場合には、入出力制御回路ＩＯＣは、図９の例に従ったアドレスから出力データＤＯを読み出す。また、ここでは、各リダンダンシ判定回路ＲＪ１〜ＲＪｎにおいて、一部のフリップフロップ回路が故障している場合に、リダンダンシ判定信号ＱＲ１〜ＱＲｎが書き込み時と読み出し時で異なるため、アクセス対象のアドレスが異なることとなる。
【００９８】
その後、半導体記憶装置３００は、入力データＤＩと出力データＤＯとが一致するか否かを判定する（Ｓ３０８）。入力データＤＩと出力データＤＯとが一致すると判定された場合、半導体記憶装置３００は、入力データＤＩが"１"であるか否かを判定する（Ｓ３０９）。入力データＤＩが"１"でないと判定された場合、半導体記憶装置３００は、入力データＤＩに"１"を設定する（Ｓ３１１）。そして、ステップＳ３０２〜Ｓ３０９を実行する。これにより、書き込み先のアドレスと読み出し先のアドレスとが異なる場合に、出力データＤＯが"０"であったために、入力データＤＩと偶然に一致してしまった場合であっても、異なる入力データＤＩにより再度、比較を行うため、検出の精度を高めることができる。
【００９９】
その後、ステップＳ３０９により入力データＤＩが"１"であると判定され、半導体記憶装置３００は、リダンダンシ判定回路ＲＪ１〜ＲＪｎに不良無、例えば、"Ｐａｓｓ"と判定する（Ｓ３１２）。
【０１００】
また、ステップＳ３０８により入力データＤＩと出力データＤＯとが一致しないと判定された場合、半導体記憶装置３００は、データが一致しないアドレスに対応するリダンダンシ判定回路を故障、例えば、"Ｆａｉｌ"と判定する（Ｓ３１０）。このとき、故障と判定されたリダンダンシ判定回路に対して不良処置を行う。例えば、当該リダンダンシ判定回路を交換するなどを行う。
【０１０１】
ステップＳ３１０又はＳ３１２の後、当該故障検出テストを終了する。
【０１０２】
このように、本発明の実施の形態３にかかる故障検出テストを実施することで、メモリセルＭＣの書き込み及び読み出し動作のテストにおいて、リダンダンシ判定回路ＲＪ１〜ＲＪｎに搭載される複数のフリップフロップ回路の故障検出も行なうことができる。そのため、リダンダンシ判定回路の故障を検出するための専用テストを別途行う必要がなく、生産工程で費やすテスト時間を抑えることが可能となる。
【０１０３】
＜その他の発明の実施の形態＞
尚、本発明の実施の形態１にかかる半導体装置１００は、多数決論理回路と、少数値判定回路と、切り替え回路とを備えるテスト回路ということができる。ここで、多数決論理回路は、少なくとも３つのフリップフロップ回路の出力を入力する。また、少数値判定回路は、３つのフリップフロップ回路の出力を入力し、入力した"０"と"１"の数を比較して、過半数を割る論理値を出力する。また、切り替え回路は、テスト信号によって多数決論理回路の出力と少数値判定回路の出力を選択する。これにより、２通りのみのテスト値を設定し、多数決論理回路の出力と少数値判定回路の出力との出力をテスト信号の値により選択してテストすることで、フリップフロップ回路の故障検出が可能になる。そのため、スキャンテスト回路９００ａにおいて必要であったテストモードと通常モードのテストにおけるテスト値の組み合わせ数を削減することができ、テスト時間を短縮する効果がある。
【０１０４】
すなわち、耐アルファ線のフリップフロップ回路を備えた半導体装置において、フリップフロップ回路故障検出テストの時間を短縮できる効果がある。その理由としては、スキャンテスト回路９００ａのスキャンテストで実施していたフリップフロップの保持データの組み合わせ全てを順次設定し直しながら繰り返すテストが不要となり、特許文献１のスキャンテスト回路９００ａのテストに比べ短時間で故障検出することが可能となる。
【０１０５】
さらに、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【符号の説明】
【０１０６】
１００  半導体装置
１００ａ  半導体装置
２００  故障検出システム
３００  半導体記憶装置
９００  アルファ線保証フリップフロップ回路
９００ａ  スキャンテスト回路
ＡＤＤ１  アドレス
ＡＤＤｎ  アドレス
ＣＨ  切替え回路
ＣＨ１  切替え回路
ＣＫ１  クロック信号
ＣＫ２  クロック信号
ＣＫ３  クロック信号
ＣＬＫ  クロック信号
Ｄ  入力データ
ＤＥＴ  検出回路
ＦＦ１  フリップフロップ回路
ＦＦ２  フリップフロップ回路
ＦＦ３  フリップフロップ回路
ＦＦ１１  フリップフロップ回路
ＦＦ１２  フリップフロップ回路
ＦＦ１３  フリップフロップ回路
ＦＦ１ａ  フリップフロップ回路
ＦＦ２ａ  フリップフロップ回路
ＦＦ３ａ  フリップフロップ回路
ＩＯ１  フリップフロップ出力信号
ＩＯ２  フリップフロップ出力信号
ＩＯ３  フリップフロップ出力信号
ＩＯ１１  フリップフロップ出力信号
ＩＯ１２  フリップフロップ出力信号
ＩＯ１３  フリップフロップ出力信号
ＭＩＲ  少数値判定回路
ＭＪＲ  多数決論理回路
Ｍａ  多数値信号
Ｍｉ  少数値信号
ＭＩＲ１  少数値判定回路
ＭＪＲ１  多数決論理回路
Ｍａ１  多数値信号
Ｍｉ１  少数値信号
Ｑ  出力信号
ＱＸ  出力信号
Ｒ  判定結果
ＲＦ１  ヒューズ回路
ＲＪ１  リダンダンシ判定回路
ＦＤ１  ヒューズデータ
１０１  半導体装置
ＱＲ１  リダンダンシ判定信号
ＲＦ２  ヒューズ回路
ＲＪ２  リダンダンシ判定回路
ＦＤ２  ヒューズデータ
１０２  半導体装置
ＱＲ２  リダンダンシ判定信号
ＲＪｎ  リダンダンシ判定回路
ＱＲｎ  リダンダンシ判定信号
ＲＤＥ  リダンダンシアドレスデコーダ
ＲＡＤ１  リダンダンシアドレス
ＲＡＤｎ  リダンダンシアドレス
ＡＤＥ  アドレスデコーダ
ＭＣ  メモリセル
ＩＯＣ  入出力制御回路
ＤＩ  入力データ
ＤＯ  出力データ
ＲＷ  制御信号
ＴＥＳＴ  テスト信号
ＴＩ１  入力端子
ＴＩ２  入力端子
ＴＩ３  入力端子
ＴＩ４  入力端子
ＴＩ５  入力端子
ＴＩ６  入力端子
ＴＩ７  入力端子
ＴＩ８  入力端子
ＴＩ９  入力端子
ＴＯ１  出力端子
ＴＯ２  出力端子
ＴＯ３  出力端子
ＴＯ４  出力端子
ＴＯ５  出力端子
ＴＯ６  出力端子
ＴＯ７  出力端子
ＴＯ８  出力端子
ＳＩＤ１  スキャンインデータ
ＳＩＤ２  スキャンインデータ
ＳＩＤ３  スキャンインデータ
ＴＭ  スキャン用クロック信号
ＳＯＤ１  スキャンアウトデータ
ＳＯＤ２  スキャンアウトデータ
ＳＯＤ３  スキャンアウトデータ
【図１】
0005558167.tif 000002
【図２】
0005558167.tif 000003
【図３】
0005558167.tif 000004
【図４】
0005558167.tif 000005
【図５】
0005558167.tif 000006
【図６】
0005558167.tif 000007
【図７】
0005558167.tif 000008
【図８】
0005558167.tif 000009
【図９】
0005558167.tif 000010
【図１０】
0005558167.tif 000011
【図１１】
0005558167.tif 000012
【図１２】
0005558167.tif 000013
【図１３】
0005558167.tif 000014