(57)【要約】【課題】テスト効率が悪かった。【解決手段】本発明は、複数のメモリセルと、複数のヒューズと、複数のヒューズのうち対応するヒューズが第１の状態となることで複数のメモリセルにある不良セルを救済する機能を有する冗長メモリと、既に救済され第１の不良セルに対応した第１の状態となっているヒューズの位置情報から第１の不良セルの第１の情報を生成するヒューズデータ変換回路と、複数のメモリセルのテスト結果により第２の不良セルを検出すると、第２の不良セルの第２の情報と第１の情報とに応じて、第２の不良セルを救済するための救済情報を生成する救済データ生成回路と、救済演算回路が生成した救済情報に応じて、複数のヒューズのうち、所定のヒューズを第１の状態とするヒューズ状態変更回路と、を有する集積回路である。【選択図】図１
2010244596.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリセルと、
複数のヒューズと、
前記複数のヒューズのうち、対応するヒューズが第１の状態となることで、前記複数のメモリセルにある不良セルを救済する機能を有する冗長メモリと、を有する集積回路であって、
既に救済され、第１の不良セルに対応した前記第１の状態となっているヒューズの位置情報から、前記第１の不良セルの第１の情報を生成するヒューズデータ変換回路と、
前記複数のメモリセルのテスト結果により第２の不良セルを検出すると、その検出した第２の不良セルの第２の情報と、前記第１の不良セルの第１の情報とに応じて、前記第２の不良セルを救済するための救済情報を生成する救済データ生成回路と、
前記救済データ生成回路が生成した救済情報に応じて、前記複数のヒューズのうち、所定のヒューズを第１の状態とするヒューズ状態変更回路と、
を有する集積回路。
【請求項２】
前記救済データ生成回路は、
前記ヒューズデータ変換回路からの前記第１の不良セルの第１の情報を保持する保持部と、
前記複数のメモリセルのテスト結果である前記第２の不良セルの第２の情報と、前記保持部が保持する前記第１の不良セルの第１の情報とのデータ値が異なる場合、前記第２の不良セルの第２の情報に応じた救済情報を設定する救済データ設定部と、を有する
請求項１に記載の集積回路。
【請求項３】
前記救済データ生成回路は、
前記複数のメモリセルのテストを行うテスト部を更に有する
請求項２に記載の集積回路。
【請求項４】
前記複数のメモリセルのテストを行うテスト回路を更に有し、
前記救済データ生成回路は、
前記テスト回路のテスト結果である前記第２の不良セルの第２の情報を記憶する記憶部と、
前記ヒューズデータ変換回路からの前記第１の不良セルの第１の情報を保持する保持部と、
前記記憶部が記憶する前記第２の不良セルの第２の情報と、前記保持部が保持する前記第１の不良セルの第１の情報とのデータ値が異なる場合、前記第２の不良セルの第２の情報に応じた救済情報を設定する救済データ設定部と、を有する
請求項１に記載の集積回路。
【請求項５】
前記第１の状態とは、ヒューズがカットされた状態である
請求項１〜請求項４のいずれか１項に記載の集積回路。
【請求項６】
ヒューズデータ変換回路は、
前記第１の不良セルに対応してカットされたヒューズの位置情報を読み出すヒューズデータ読み出し回路と、
前記ヒューズデータ読み出し回路が読み出したカットされたヒューズの位置情報から、前記第１の不良セルの第１の情報に変換する救済データ変換回路と、を有する
請求項５に記載の集積回路。
【請求項７】
ヒューズ状態変更回路は、
前記救済データ生成回路からの前記救済情報に応じて、カットするヒューズの位置情報を生成するヒューズデータ変換回路と、
前記ヒューズデータ変換回路からのヒューズの位置情報に応じたヒューズをカットするヒューズカット回路と、を有する
請求項５に記載の集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路に関し、特にリダンダンシ救済機能を有する集積回路に関する。
【背景技術】
【０００２】
内蔵ＲＡＭ等を有する半導体集積回路において、不良メモリセルが存在する場合、これをスペアのメモリセルと置換することにより、その不良メモリセルを等価的に救済し、製品歩留まりを向上させることが図られている。このように、現在の半導体集積回路には、不良メモリセルを置換救済するための冗長なスペアメモリセルを設ける、リダンダンシ（冗長構成）が用いられている。
【０００３】
近年、内蔵ＲＡＭ等のメモリ回路の容量が大規模化している。このため、メモリ回路に対してこのようなリダンダンシを活用しなければ、製品の歩留まりが悪化してしまう。しかも、この欠陥不良は、周囲条件によって変化する場合がある。具体的には、高温・高電圧では、ある特定アドレスが不良となるが、低温・低電圧では、別のアドレスが不良になるというような場合である。このため、上記のような複数条件で発生する不良を、低コストでリダンダンシ救済が可能な手法や回路が求められている。
【０００４】
ここで、従来技術として特許文献１に冗長メモリの不良を救済するための救済情報の転送時間やヒューズの切断時間を短縮する方法が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−３２３７２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ここで、特許文献１等の従来のリダンダンシを持つメモリ回路に対する不良救済は、１つの条件で行なったテストで不良と検出された際の、不良情報（不良アドレスや、不良ビットの情報）をもとに、集積回路内でリダンダンシ救済情報を求めている。そして、そのリダンダンシ救済情報に応じたヒューズをカット（溶断）することでリダンダンシ救済を行なっていた。このような方法では、上述したように温度等の周囲条件を変えたときに不良となる部分が変わる場合、両条件での不良情報を何らかの方法で格納しておく必要がある。
【０００７】
ここで、周囲条件を変更するには、長い時間がかかる場合が多い。例えば、複数の温度でテストする場合、集積回路の周辺温度を変更し、安定させるまでには長時間を要していた。そして、この場合、１つのチップがテスターを占有する時間が長くなり、テストコストが増大するという問題を有していた。更に、集積回路内のＢＩＳＴ（Built-In-Self-Test）等で救済処理を行なう場合、条件を変更する期間、集積回路内のレジスタやラッチにデータを保持する必要がある。このことは、過去に実行したテスト結果の不良情報が失われないように、集積回路に電源電圧を与え続けて待つ必要があり、消費電力の面からも問題がある。
【０００８】
また、集積回路内でテスト結果の不良情報を保持せず、一端外部に取り出す場合は、テスト結果の不良情報をテスター等の外部装置に取り出し、条件を変えた後で、その情報を集積回路のチップＩＤ等の識別情報と対応をとって、再度、対応した不良情報を読み出し、テストを再開する必要がある。このため、集積回路を識別する情報と、それに対応する不良情報の対応を適切に保存・管理しておく必要があった。
【課題を解決するための手段】
【０００９】
本発明は、複数のメモリセルと、複数のヒューズと、前記複数のヒューズのうち、対応するヒューズが第１の状態となることで、前記複数のメモリセルにある不良セルを救済する機能を有する冗長メモリと、を有する集積回路であって、既に救済され、第１の不良セルに対応した前記第１の状態となっているヒューズの位置情報から、前記第１の不良セルの第１の情報を生成するヒューズデータ変換回路と、前記複数のメモリセルのテスト結果により第２の不良セルを検出すると、その検出した第２の不良セルの第２の情報と、前記第１の不良セルの第１の情報とに応じて、前記第２の不良セルを救済するための救済情報を生成する救済データ生成回路と、前記救済演算回路が生成した救済情報に応じて、前記複数のヒューズのうち、所定のヒューズを第１の状態とするヒューズ状態変更回路と、を有する集積回路である。
【００１０】
本発明にかかる集積回路によれば、過去のテストによる不良セルの救済情報をヒューズの位置情報で記憶し、その位置情報から不良セルの情報を生成できる。このため、新たに行ったテストにより検出された不良セルの情報と、過去に行ったテストの不良セルの情報とを比較することが可能になる。よって、外部で不良情報の保存管理や、テスト条件が変更されるまでテスターを占有する必要がなくなる。
【発明の効果】
【００１１】
本発明にかかる集積回路により、テスト効率の向上が可能である。
【図面の簡単な説明】
【００１２】
【図１】実施の形態１にかかるリダンダンシ制御回路のブロック構成である。
【図２】実施の形態１にかかるリダンダンシ制御回路の動作フローチャートである。
【図３】従来のリダンダンシ制御回路の動作フローチャートである。
【図４】実施の形態２にかかるリダンダンシ制御回路のブロック構成である。
【図５】実施の形態２にかかるリダンダンシ制御回路の動作フローチャートである。
【図６】実施の形態３にかかるリダンダンシ制御回路のブロック構成である。
【発明を実施するための形態】
【００１３】
発明の実施の形態１
【００１４】
以下、本発明を適用した具体的な実施の形態１について、図面を参照しながら詳細に説明する。図１に本実施の形態にかかる集積回路のリダンダンシ制御回路１００の構成を示す。なお、このリダンダンシ制御回路１００は、当該リダンダンシ制御回路１００が組み込まれる半導体集積回路が有するメモリ回路のリダンダンシを制御するものとする。
【００１５】
図１に示すように、リダンダンシ制御回路１００は、ＢＩＳＴ（Built-In-Self-Test）回路１１０と、リダンダンシ救済データ生成回路１２０と、ヒューズデータ変換回路１３０と、ヒューズカット回路１４０と、ヒューズ部１５０と、ヒューズデータ読み出し回路１６０と、リダンダンシ救済演算データ変換回路１７０とを有する。
【００１６】
ＢＩＳＴ回路１１０は、所定の条件下で、当該リダンダンシ制御回路１００が組み込まれる集積回路が有するメモリ回路に対してテストを行う。そして、そのテストの結果である不良情報をリダンダンシ救済データ生成回路１２０に送る。
【００１７】
ヒューズデータ変換回路１３０は、リダンダンシ救済データ生成回路１２０が生成したリダンダンシ救済データから不良を救済するためのヒューズのビット位置とその値の情報に変換し、出力する。ヒューズカット回路１４０は、ヒューズデータ変換回路１３０からの情報に応じて、ヒューズ部１５０のヒューズをカットする（第１の状態とする）。なお、ヒューズデータ変換回路１３０と、ヒューズカット回路１４０とでヒューズ状態変更回路を構成する。
【００１８】
ヒューズ部１５０は、リダンダンシ救済するための複数のヒューズにより構成される。例えば、不良ロウを冗長ロウで置換して救済を行う場合、この冗長ロウに対応したヒューズがカットされる。このヒューズ部１５０のそれぞれのヒューズは、ビット位置情報を有している。このため、どのヒューズをカットするか、もしくは、どのヒューズがカットされたかは、このビット位置情報の値により特定することが可能である。
【００１９】
ヒューズデータ読み出し回路１６０は、ヒューズカット回路１４０によりカットされたヒューズのビット位置とその値の情報を読み出す。リダンダンシ救済演算データ変換回路１７０は、ヒューズデータ読み出し回路１６０が読み出したヒューズのビット位置とその値の情報により、過去に行ったリダンダンシ救済データに変換し、リダンダンシ救済データ生成回路１２０に送る。例えば、不良ロウを冗長ロウで置換してリダンダンシ救済によりカットされたヒューズの位置情報から、その不良ロウのアドレスが特定できる。このため、リダンダンシ救済演算データ変換回路１７０は、リダンダンシ救済データに、その不良ロウのアドレスを格納してリダンダンシ救済データ生成回路１２０に送る。なお、ヒューズデータ読み出し回路１６０と、リダンダンシ救済演算データ変換回路１７０とでヒューズデータ変換回路を構成する。
【００２０】
リダンダンシ救済データ生成回路１２０は、不良情報記憶部１２１と、リダンダンシ救済データ設定部１２２と、リダンダンシ救済データ保持部１２３とを有する。リダンダンシ救済データ生成回路１２０は、ＢＩＳＴ回路１１０から送られたテスト結果による不良情報、また、リダンダンシ救済演算データ変換回路１７０からのリダンダンシ救済データに応じて、そのテストによりリダンダンシ救済を行う不良セルのリダンダンシ救済データを生成する。この生成されたリダンダンシ救済データには、テスト結果によりリダンダンシ救済する不良情報（不良セルのアドレス情報等）が格納される。
【００２１】
不良情報記憶部１２１は、ＢＩＳＴ回路１１０からの不良情報を記憶する。例えば、ＢＩＳＴ回路がテストを行ったメモリセルアレイの不良アドレス情報等を記憶する。
【００２２】
リダンダンシ救済データ設定部１２２は、不良情報記憶部１２１が記憶している不良情報、及び、リダンダンシ救済データ保持部１２３が保持しているリダンダンシ救済データに応じてリダンダンシ救済データを設定する。リダンダンシ救済データ設定部１２２は、この設定により、ＢＩＳＴ回路１１０が検出した複数の不良をどのように救済するかを決定する。この決定方法の具体的な例として、以下のようなリダンダンシ救済がある。
【００２３】
一例として、多数の不良が存在する箇所が、同一のロウアドレスで発生している場合には、その全ての不良を１つの冗長ロウで置換し、不良部分のリダンダンシ救済を行う。このような救済を行った場合、その不良を救済するヒューズが、ヒューズカット回路１４０によりカットされることになる。言い換えると、このカットされたヒューズのビット位置が特定されると、そのヒューズに対応した不良ロウアドレスが特定できることになる。
【００２４】
リダンダンシ救済データ保持部１２３は、リダンダンシ救済データ設定部１２２が設定したリダンダンシ救済データ、及び、リダンダンシ救済演算データ変換回路１７０から送られたリダンダンシ救済データを記憶する。リダンダンシ救済データは、不良アドレス情報、ヒューズ使用フラグ、エラーフラグ等の情報を有する。
【００２５】
以上のようなリダンダンシ制御回路１００の動作について説明する。なお、本例では、複数の不良が発生している場合を想定する。また、リダンダンシ制御回路１００が組み込まれる半導体集積回路のメモリ回路（不図示）には、リダンダンシ救済に使用可能な複数の冗長ロウ（第１の冗長ロウ、第２の冗長ロウ、・・・）が用意されているとする。以下の説明では、第１の冗長ロウを使用するために必要なリダンダンシ救済データの格納場所をＲＱ１、第２の冗長ロウを使用するために必要なリダンダンシ救済データの格納場所をＲＱ２と表記し、第３の冗長ロウを使用するために必要なリダンダンシ救済データの格納場所をＲＱ３と表記する。ここでいう格納場所とはレジスタ群をさすものとし、リダンダンシ救済データ保持部１２３はこれらレジスタ群で構成される。
【００２６】
また、リダンダンシ救済データ格納場所ＲＱ１に入ったデータを、「ＲＱ１ａ」または「ＲＱ１ｂ」と表記し、リダンダンシ救済データ格納場所ＲＱ２に入ったデータを、「ＲＱ２ａ」または「ＲＱ２ｂ」とし、リダンダンシ救済データ格納場所ＲＱ３に入ったデータを、「ＲＱ３ａ」または「ＲＱ３ｂ」として表記する。ここで、ＲＱ１ａ、ＲＱ２ａ、ＲＱ３ａは、リダンダンシ救済データ設定部１２２で直接生成されたデータを示し、ＲＱ１ｂ、ＲＱ２ｂ、ＲＱ３ｂは、ヒューズから読み出したデータをリダンダンシ救済データに変換したデータを示している。
【００２７】
第１の条件下において、メモリ回路のテスト及びリダンダンシ救済を行う。まず、ＢＩＳＴ回路１１０によるメモリ回路のテストが行われる。このテスト結果である不良情報が、リダンダンシ救済データ生成回路１２０に送られる。不良情報記憶部１２１は、この不良情報を記憶する。リダンダンシ救済データ設定部１２２は、不良情報記憶部１２１が記憶している不良情報に応じてリダンダンシ救済データＲＱ１ａを設定する。本例では、リダンダンシ救済データＲＱ１ａとして、不良が発生している不良ロウアドレスＲＯＷ１、値が「０」のヒューズ使用フラグ、値が「０」のエラーフラグが設定される。そして、このリダンダンシ救済データＲＱ１ａが、リダンダンシ救済データ保持部１２３に保持される。
【００２８】
ヒューズデータ変換回路１３０は、リダンダンシ救済データ保持部１２３のリダンダンシ救済データＲＱ１ａの不良ロウアドレスＲＯＷ１を、不良を救済するためカットするヒューズのビット位置とその値に変換する。ヒューズカット回路１４０は、ヒューズデータ変換回路１３０が変換した値に応じた箇所のヒューズをカットする。このことにより、第１の冗長ロウを利用可能となり、第１の条件下におけるリダンダンシ救済が行われる。このようなヒューズカットを行うことにより、第１の条件下での不良救済情報がこのヒューズ部１５０に保存されたことになる。
【００２９】
次に、第２の条件下において、リダンダンシ制御回路１００のテスト及びリダンダンシ救済を行う。まず、ヒューズデータ読み出し回路１６０は、第１の条件下で行ったリダンダンシ救済によりカットされたヒューズのビット位置情報を読み出す。リダンダンシ救済演算データ変換回路１７０は、ヒューズデータ読み出し回路１６０が読み出したヒューズのビット位置の値の情報をリダンダンシ救済データＲＱ１ｂに変換し、リダンダンシ救済データ生成回路１２０に送る。そして、このリダンダンシ救済データＲＱ１ｂが、リダンダンシ救済データ保持部１２３に保持される。
【００３０】
リダンダンシ救済データＲＱ１ｂには、第１の条件下で検出された不良ロウアドレスとＲＯＷ１、値が「１」のヒューズ使用フラグ、値が「０」のエラーフラグが設定される。なお、ヒューズ使用フラグが「１」の値となっているのは、第１の条件下でのリダンダンシ救済が行われ、第１の冗長ロウに対応するヒューズが、カットされていることを示している。
【００３１】
さらに、第２の条件下で、ＢＩＳＴ回路１１０によるメモリ回路のテストが行われる。このテスト結果である不良情報が、リダンダンシ救済データ生成回路１２０に送られる。不良情報記憶部１２１は、この不良情報を記憶する。リダンダンシ救済データ設定部１２２は、不良情報記憶部１２１が記憶している不良情報により、全ての不良が同一ロウアドレスで発生しており、更に、その不良ロウアドレスがリダンダンシ救済データＲＱ１ｂの不良ロウアドレスと一致するなら、新たなリダンダンシ救済を行わないと決定する。よって、その後において新たなヒューズカットは行われない。
【００３２】
ここで、テストの結果、リダン領域、つまり第１の冗長ロウ部分に、不良が検出される場合も考えられる。リダンダンシ救済データ設定部１２２は、リダン領域、つまり第１の冗長ロウ部分のテストにより、不良が検出された場合、リダンダンシ救済データ格納場所ＲＱ１のエラーフラグの値を「１」にする。そして、リダンダンシ救済データ格納場所ＲＱ１のエラーフラグが「１」の場合、リダンダンシ救済データ設定部１２２は、第１の冗長ロウに対するリダンダンシ救済データを設定せず、第２の冗長ロウのリダンダンシ救済データ格納場所ＲＱ２に、不良のロウアドレスを設定する。以降、第１の条件下において行ったのと同様に、ヒューズデータ変換回路１３０、ヒューズカット回路１４０が動作し、第１の冗長ロウの使用をキャンセルし、第２の冗長ロウを利用できるようになる。但し、前提として、メモリ回路が第１の冗長ロウの使用をキャンセルできる回路構成である必要がある。
【００３３】
また、第２の条件下でＢＩＳＴ回路１１０によるメモリ回路のテストの結果、全ての不良が２つのロウアドレスで発生しており、且つ、１つ目の不良ロウは、第１の条件下のテストでリダンダンシ救済対象となっており、リダンダンシ救済データＲＱ１ｂとして登録されている場合について説明する。ただし、ここでは、冗長ロウ部分には不良は存在しないものとする。この場合、１つ目の不良ロウは、第１の冗長ロウで置換されているため、２つ目の不良ロウアドレスＲＯＷ２に対応するリダンダンシ救済データをＲＱ２に設定する。本例では、リダンダンシ救済データＲＱ２ａとして、複数の不良が発生している２つ目の不良ロウアドレスＲＯＷ２、値が「０」のヒューズ使用フラグ、値が「０」のエラーフラグが設定される。そして、このリダンダンシ救済データＲＱ２ａが、リダンダンシ救済データ保持部１２３に保持される。
【００３４】
以降、第１の条件下において行ったのと同様、ヒューズデータ変換回路１３０は、リダンダンシ救済データ保持部１２３のリダンダンシ救済データＲＱ２ａの不良ロウアドレスＲＯＷ２を、不良を救済するためカットするヒューズのビット位置とその値に変換する。ヒューズカット回路１４０は、ヒューズデータ変換回路１３０が変換した値に応じた箇所のヒューズをカットする。このことにより、第２の冗長ロウを利用可能となり、第２の条件下におけるリダンダンシ救済が行われる。このヒューズカットにより、第２の条件下での不良救済情報がこのヒューズ部１５０に保存されたことになる。
【００３５】
更に、第３の条件下において、メモリ回路のテスト及びリダンダンシ救済を行い、上述したのと同様の処理を繰り返してもよい。このように、複数の条件下で発生する不良に対するリダンダンシ救済を行う。
【００３６】
図２に、本実施の形態１のリダンダンシ制御回路１００の動作フローチャートを示す。また、比較のため、特許文献１等の従来のリダンダンシ救済機能を持つ集積回路の動作フローチャートを図３に示す。まず、図３に示す従来の集積回路では、ＢＩＳＴを実行する（Ｓ２０１）。ＢＩＳＴの結果からリダンダンシ救済演算を行う（Ｓ２０２）。その演算結果に基づきヒューズカットを行う（Ｓ２０３）。このように、従来では、１回のヒューズカットによるリダンダンシ救済で完結してしまっている。
【００３７】
これに対して、図２に示すリダンダンシ制御回路１００では、ＢＩＳＴを実行する（Ｓ１０１）。ＢＩＳＴの結果からリダンダンシ救済演算を行う（Ｓ１０２）。その演算結果に基づきヒューズカットを行う（Ｓ１０３）。ここで、再ヒューズカットを行う場合（Ｓ１０４ＹＥＳ）、過去にカットされたヒューズのデータを読み込む（Ｓ１０５）。この過去のヒューズデータを基にリダンダンシ救済データを設定する（Ｓ１０６）。その後、Ｓ１０６で設定されたリダンダンシ救済データを基に、ＢＩＳＴを再実行する（Ｓ１０１）。
【００３８】
以降、Ｓ１０２、Ｓ１０３の処理を行い、再ヒューズカットを行わなくなる（Ｓ１０４ＮＯ）まで、繰り返す。このように、リダンダンシ制御回路１００は、過去にカットされたヒューズのデータを利用してリダンダンシ救済処理が行われる。
【００３９】
従来のリダンダンシを持つメモリ回路に対する不良救済は、１つの条件で行なったテストで不良と検出された際の、不良情報をもとに、集積回路内でリダンダンシ救済情報を求めていた。そして、そのリダンダンシ救済情報に応じたヒューズをカットすることでリダンダンシ救済を行なっていた。このような方法では、複数のテスト条件において不良となる部分が変わる場合、各条件での不良情報を集積回路外に蓄積しておく必要がある。
【００４０】
しかし、本実施の形態１のリダンダンシ制御回路１００を組み込んだ集積回路では、１つの条件で行ったテスト結果による不良部分の救済情報を、カットしたヒューズのビット位置情報で保存する。そして、他の条件下でのテスト時に、カットしたヒューズの情報から過去の不良部分の救済情報をヒューズデータ読み出し回路１６０で読み出す。更に、読み出したデータをリダンダンシ救済演算データ変換回路１７０で、リダンダンシ救済データに変換する。その変換された過去のリダンダンシ救済データと、今回行ったテスト結果から、リダンダンシ救済演算を行う。この演算結果により、複数の条件下での不良救済を行う。このことにより、リダンダンシ制御回路１００を組み込んだ集積回路は、１つの条件下のテスト結果による不良部分の救済情報をカットしたヒューズのビット位置情報で保存する。このため、集積回路の電源を切ったとしても、その不良部分の救済情報は、集積回路内に保持されることになる。よって、複数の条件下でのテスト結果によるリダンダンシ救済を当該集積回路内で処理可能となる。結果として、当該集積回路外に各条件下でのリダンダンシ救済データを蓄積する必要がなく、更に蓄積データを管理する必要もない。よって、テスト設備の削減と、テスト効率の向上が可能となる。
【００４１】
発明の実施の形態２
【００４２】
以下、本発明を適用した具体的な実施の形態２について、図面を参照しながら詳細に説明する。この実施の形態２で説明するリダンダンシ制御回路２００は、実施の形態１と同様、当該リダンダンシ制御回路２００が組み込まれる半導体集積回路が有するメモリ回路のリダンダンシを制御するものとする。図４に本実施の形態２にかかるリダンダンシ制御回路２００を示す。
【００４３】
図４に示すように、リダンダンシ制御回路２００は、ＢＩＳＴ機能付リダンダンシ救済データ生成回路２２０と、ヒューズデータ変換回路１３０と、ヒューズカット回路１４０と、ヒューズ部１５０と、ヒューズデータ読み出し回路１６０と、リダンダンシ救済演算データ変換回路１７０とを有する。なお、図４に示された符号のうち、図１と同じ符号を付した構成は、図１と同じか又は類似の構成を示している。本実施の形態２では、実施の形態１と相違する箇所を重点的に説明し、その他の箇所は説明を省略する。
【００４４】
実施の形態２のリダンダンシ制御回路２００が実施の形態１と異なるのは、ＢＩＳＴ回路１１０と、リダンダンシ救済データ生成回路１２０とが結合したＢＩＳＴ機能付リダンダンシ救済データ生成回路２２０を有している点である。それ以外は、実施の形態１のリダンダンシ制御回路１００と同様である。
【００４５】
ＢＩＳＴ機能付リダンダンシ救済データ生成回路２２０は、ＢＩＳＴ部２１０と、リダンダンシ救済データ設定部１２２と、リダンダンシ救済データ保持部１２３とを有する。ＢＩＳＴ部２１０は、実施の形態１のＢＩＳＴ回路１１０と同様の機能を有している。よって、このＢＩＳＴ機能付リダンダンシ救済データ生成回路２２０により、ＢＩＳＴ実行中にリダンダンシ救済演算を行うことができる。また、ＢＩＳＴ回路１１０と同様の機能を有するＢＩＳＴ部２１０を備えるため、ＢＩＳＴ機能付リダンダンシ救済データ生成回路２２０には、実施の形態１でＢＩＳＴ回路１１０からの不良情報を記憶する不良情報記憶部１２１が要らない。
【００４６】
以下に、リダンダンシ制御回路２００の動作を説明する。ただし、本例でも、実施の形態１と同様、複数の不良が発生している場合を想定する。また、リダンダンシ制御回路２００が組み込まれる半導体集積回路のメモリ回路（不図示）には、リダンダンシ救済に使用可能な複数の冗長ロウ（第１の冗長ロウ、第２の冗長ロウ、・・・）が用意されているとする。
【００４７】
第１の条件下において、メモリ回路のテスト及びリダンダンシ救済を行う。まず、ＢＩＳＴ部２１０によるメモリ回路のテストが行われる。このテストで、まず最初に、ロウアドレスＲＯＷ１で不良が検出された場合、直ちにリダンダンシ救済データ設定部１２２が処理を行う。そして、不良の検出されたロウアドレスＲＯＷ１がリダンダンシ救済データ保持部１２３に、リダンダンシ救済データＲＱ１ａとして保持される。なお、このリダンダンシ救済データＲＱ１ａに格納されたロウアドレスＲＯＷ１は、後に行われるヒューズカットにより第１の冗長ロウにより救済される。
【００４８】
更にその後のテストで不良が検出された場合で、その不良ロウアドレスが、リダンダンシ救済データ格納場所ＲＱ１に格納されている上記ロウアドレスＲＯＷ１と一致したならば、リダンダンシ救済データ設定部１２２は、新たなリダンダンシ救済データを生成しない。つまり、リダンダンシ救済データ保持部１２３に、リダンダンシ救済データＲＱ１ａのみが保持される。
【００４９】
反対に不良が検出された場合で、その不良ロウアドレスが、上記ロウアドレスＲＯＷ１と一致しないロウアドレスＲＯＷ２であったならば、リダンダンシ救済データ設定部１２２は、新たなリダンダンシ救済データＲＱ２ａを設定する。そして、そのリダンダンシ救済データＲＱ２ａが、リダンダンシ救済データ保持部１２３に保持される。リダンダンシ救済データ格納場所ＲＱ２には、ロウアドレスＲＯＷ２が格納されている。なお、このリダンダンシ救済データ格納場所ＲＱ２に格納されたロウアドレスＲＯＷ２は、後に行われるヒューズカットにより第２の冗長ロウにより救済される。また、リダンダンシ救済データＲＱ１ａ、ＲＱ２ａのヒューズ使用フラグは共に「０」である。
【００５０】
ヒューズデータ変換回路１３０は、リダンダンシ救済データ保持部１２３のリダンダンシ救済データＲＱ１ａの不良ロウアドレスＲＯＷ１を、不良を救済するためカットするヒューズのビット位置とその値に変換する。ヒューズカット回路１４０は、ヒューズデータ変換回路１３０が変換した値に応じた箇所のヒューズをカットする。このことにより、第１の冗長ロウを利用可能となり、第１の条件下におけるリダンダンシ救済が行われる。このようなヒューズカットを行うことにより、第１の条件下での不良救済情報がこのヒューズ部１５０に保存されたことになる。
【００５１】
なお、リダンダンシ救済データ保持部１２３にリダンダンシ救済データＲＱ１ａ、ＲＱ２ａが保持されている場合、ヒューズデータ変換回路１３０とヒューズカット回路１４０の処理により、そのデータに対応したヒューズがカットされる。その結果、第１の冗長ロウ、第２の冗長ロウが利用可能となり、第１の条件下におけるリダンダンシ救済が行われる。
【００５２】
次に、第２の条件下において、メモリ回路のテスト及びリダンダンシ救済を行う。まず、ヒューズデータ読み出し回路１６０は、第１の条件下で行ったリダンダンシ救済によりカットされたヒューズのビット位置情報を読み出す。リダンダンシ救済演算データ変換回路１７０は、ヒューズデータ読み出し回路１６０が読み出したヒューズのビット位置の値の情報をリダンダンシ救済データＲＱ１ｂに変換し、ＢＩＳＴ機能付リダンダンシ救済データ生成回路２２０に送る。そして、このリダンダンシ救済データＲＱ１ｂが、リダンダンシ救済データ保持部１２３に保持される。このリダンダンシ救済データ保持部１２３に保持されたリダンダンシ救済データには、第１の条件下で格納したリダンダンシ救済データＲＱ１ａと同じ不良ロウアドレスＲＯＷ１が格納される。
【００５３】
なお、もし第１の条件下で第１の冗長ロウ、第２の冗長ロウによるリダンダンシ救済が行われたならば、リダンダンシ救済データがＲＱ１ａ、ＲＱ２ａが格納していた不良ロウアドレスＲＯＷ１、ＲＯＷ２と同じものが、リダンダンシ救済データＲＱ１ｂ、ＲＱ２ｂにも格納される。なお、このリダンダンシ救済データＲＱ１、ＲＱ２のヒューズ使用フラグは共に「１」である。
【００５４】
さらに、第２の条件下で、ＢＩＳＴ部２１０によるメモリ回路のテストが行われる。このテスト結果で検出した不良ロウアドレスが、リダンダンシ救済データ保持部１２３に保持されているリダンダンシ救済データＲＱ１ｂ（もしくは、ＲＱ１ｂ、ＲＱ２ｂ）の不良ロウアドレスと一致するなら、リダンダンシ救済データ設定部１２２は、新たなリダンダンシ救済を行わないと決定する。よって、この場合、その後において新たなヒューズカットは行われない。
【００５５】
反対に、テスト結果で検出した不良ロウアドレスが、リダンダンシ救済データ保持部１２３に保持されているリダンダンシ救済データＲＱ１ｂ（もしくは、ＲＱ１ｂ、ＲＱ２ｂ）の不良ロウアドレスと一致しないのもがあるなら、リダンダンシ救済データ設定部１２２は、その不良ロウアドレスを新たなリダンダンシ救済データＲＱ３ａとして設定する。このリダンダンシ救済データＲＱ３ａは、リダンダンシ救済データ保持部１２３に保持される。このリダンダンシ救済データＲＱ３ａのヒューズ使用フラグは「０」である。よって、上述したのと同様の動作が行われ、新たにヒューズカットがヒューズデータ変換回路１３０とヒューズカット回路１４０の処理により行われる。このことにより、第２の条件下での不良救済情報がこのヒューズ部１５０に保存されたことになる。
【００５６】
更に、第３の条件下において、メモリ回路のテスト及びリダンダンシ救済を行い、上述したのと同様の処理を繰り返してもよい。このように、複数の条件下で発生する不良に対するリダンダンシ救済を行う。
【００５７】
図５に、本実施の形態２のリダンダンシ制御回路２００の動作フローチャートを示す。図５に示すように、まず、ＢＩＳＴ機能付リダンダンシ救済データ生成回路２２０により、ＢＩＳＴ及びリダンダンシ救済演算を同時に行う（Ｓ３０１）。その演算結果に基づきヒューズカットを行う（Ｓ３０２）。ここで、再ヒューズカットを行う場合（Ｓ３０３ＹＥＳ）、過去にカットされたヒューズのデータを読み込む（Ｓ３０４）。この過去のヒューズデータを基にリダンダンシ救済データを設定する（Ｓ３０５）。その後、Ｓ３０５で設定されたリダンダンシ救済データを基に、ＢＩＳＴ及びリダンダンシ救済演算を同時実行する（Ｓ３０１）。以降、Ｓ３０２の処理を行い、再ヒューズカットを行わなくなる（Ｓ３０３ＮＯ）まで、繰り返す。上記フローチャートからわかるように、実質的には図２で説明した実施の形態１のフローチャートのＳ１０１、Ｓ１０２の処理を同時に行っている点が本実施の形態２のフローチャートと異なる。
【００５８】
以上のように、本実施の形態２のリダンダンシ制御回路２００では、ＢＩＳＴを行うテスト回路とリダンダンシ救済演算を行う演算回路が同一回路内で構成されている。このため、実施の形態１で必要であった、不良情報記憶部１１１が必要なくなり、回路規模を削減することができる。更に、ＢＩＳＴで検出された不良情報を直ちにリダンダンシ救済データ設定部１２２で処理できるメリットもある。
【００５９】
発明の実施の形態３
【００６０】
以下、本発明を適用した具体的な実施の形態３について、図面を参照しながら詳細に説明する。この実施の形態２で説明するリダンダンシ制御回路３００は、実施の形態１、２と同様、当該リダンダンシ制御回路３００が組み込まれる半導体集積回路が有するメモリ回路のリダンダンシを制御するものとする。図６に本実施の形態３にかかるリダンダンシ制御回路３００を示す。
【００６１】
図６に示すように、リダンダンシ制御回路３００は、ＢＩＳＴ機能付リダンダンシ救済データ生成回路２２０と、ヒューズデータ変換回路３３０と、ヒューズカット回路１４０と、ヒューズ部１５０と、ヒューズデータ読み出し回路１６０と、リダンダンシ救済演算データ変換回路３７０とを有する。なお、図６に示された符号のうち、図１、図４と同じ符号を付した構成は、図１、図４と同じか又は類似の構成を示している。本実施の形態３では、実施の形態１、２と相違する箇所を重点的に説明し、その他の箇所は説明を省略する。
【００６２】
実施の形態３のリダンダンシ制御回路３００が実施の形態１、２と異なるのは、ヒューズデータ変換回路３３０と、リダンダンシ救済演算データ変換回路３７０とである。それ以外は、実施の形態１、２のリダンダンシ制御回路１００、２００と同様である。但し、ＢＩＳＴ機能付リダンダンシ救済データ生成回路２２０のリダンダンシ救済データ保持部１１１に保持されるリダンダンシ救済データは、実施の形態１、２と異なり、不良ＩＯビット位置の情報が保持される。ここで、不良ＩＯビット位置の情報とは、以下のようなものであるとする。
【００６３】
例えば、メモリ回路が８ビットのＩＯデータを格納できる構成（以下、ＩＯビットと称す）であるとする。そして、そのＩＯビットの５ビット目で不良が検出された場合、不良ＩＯビット位置の情報として、「０００１００００」という８ビットのデータが生成される。これは、不良ビットの位置データとして、ＬＳＢ（右端側）から５ビット目が、値「１」となっている。なお、メモリ回路に不良ビットがなければ、不良ＩＯビット位置の情報として、「００００００００」という全てのビット値が「０」となる８ビットのデータが生成される。但し、これは一例であるため、不良ＩＯビットの位置が確定できるものであれば良い。よって、不良ＩＯビット位置の情報は、上記構成にとらわれないものとする。
【００６４】
ヒューズデータ変換回路３３０は、ＩＯアドレス変換部３３１と、ヒューズビット変換部３３２とを有する。ＩＯアドレス変換部３３１は、リダンダンシ救済データ保持部１２３のリダンダンシ救済データである不良ＩＯビット位置の情報をアドレスの値に変換する。ヒューズビット変換部３３２は、ＩＯアドレス変換部３３１からのアドレスの値の情報に応じて、リダンダンシ救済に対応するヒューズのビット位置とその値に変換し、ヒューズカット回路１４０に送る。ヒューズカット回路１４０は、このヒューズのビット位置の値の情報に応じたヒューズをカットする。
【００６５】
リダンダンシ救済演算データ変換回路３７０は、ＩＯビット変換部３７１と、リダンダンシ救済アドレス変換部３７２とを有する。リダンダンシ救済アドレス変換部３７２は、ヒューズデータ読み出し回路１６０からのヒューズデータを不良ＩＯビットの位置に対応するアドレス情報に変換する。ＩＯビット変換部３７１は、このアドレス情報を不良ＩＯビット位置の情報に変換し、リダンダンシ救済データ保持部１２３へ送る。
【００６６】
以下に、リダンダンシ制御回路３００の動作を説明する。本例では、メモリ回路（不図示）の不良をビット単位でリダンダンシ救済する場合を示す。但し、説明を簡略化するため、メモリ回路は、８ビットのＩＯデータを格納できる構成となっているものとする。また、このメモリ回路には、リダンダンシ救済に使用可能な複数の冗長ＩＯビット（第１の冗長ＩＯビット、第２の冗長ＩＯビット、・・・）が用意されているとする。
【００６７】
第１の条件下において、メモリ回路のテスト及びリダンダンシ救済を行う。まず、ＢＩＳＴ部２１０によるメモリ回路のテストが行われる。このテストで、ＩＯビットの５ビット目で不良が検出された場合、直ちにリダンダンシ救済データ設定部１２２が処理を行う。このとき、不良ビットのデータとして、値が「１」のＩＯデータが生成される。具体的には、「０００１００００」のようにＬＳＢ（右端側）から５ビット目が値「１」として表現された８ビットデータが生成される。そして、この不良の検出された不良ビットのデータがリダンダンシ救済データ保持部１２３に、リダンダンシ救済データとして保持される。あるいは、ＢＩＳＴで発見された不良ＩＯビットのデータは、一端パイプラインレジスタに保持して、その保持時間の間に、リダンダンシ救済データ保持部１２３に保存してもよい。以下の説明では、第１の条件下におけるテスト結果から設定されるリダンダンシ救済データをＲＢ１aまたはＲＢ１ｂと表記し、第１の条件下におけるテスト結果から設定されるリダンダンシ救済データを含んで第２の条件下におけるテスト結果から設定されるリダンダンシ救済データをＲＢ２ａまたはＲＢ２ｂと表記するものとする。ここで、ＲＢ１ａとＲＢ２ａは、リダンダンシ救済データ設定部１２２で直接生成されたデータを示し、ＲＢ１ｂとＲＢ２ｂは、ヒューズから読み出したデータをリダンダンシ救済データに変換したデータを示している。
【００６８】
ヒューズデータ変換回路３３０は、リダンダンシ救済データ保持部１２３のリダンダンシ救済データＲＢ１ａの不良ＩＯビット情報を、不良を救済するためカットするヒューズのビット位置とその値に変換する。ヒューズカット回路１４０は、ヒューズデータ変換回路１３０が変換した値に応じた箇所のヒューズをカットする。このことにより、第１の冗長ＩＯビットを利用可能となり、第１の条件下におけるリダンダンシ救済が行われる。このようなヒューズカットを行うことにより、第１の条件下での不良救済情報がこのヒューズ部１５０に保存されたことになる。
【００６９】
次に、第２の条件下において、メモリ回路のテスト及びリダンダンシ救済を行う。まず、ヒューズデータ読み出し回路１６０は、第１の条件下で行ったリダンダンシ救済によりカットされたヒューズのビット位置情報を読み出す。リダンダンシ救済演算データ変換回路３７０は、ヒューズデータ読み出し回路１６０が読み出したヒューズのビット位置の値の情報をリダンダンシ救済データＲＢ１ｂに変換し、ＢＩＳＴ機能付リダンダンシ救済データ生成回路２２０に送る。そして、このリダンダンシ救済データＲＢ１ｂが、リダンダンシ救済データ保持部１２３に保持される。このリダンダンシ救済データ保持部１２３に保持されたリダンダンシ救済データには、第１の条件下で格納したリダンダンシ救済データＲＢ１ａと同じ不良ＩＯビット位置の情報が格納される。具体的には、上述した不良ＩＯビット位置の情報と同じ、「０００１００００」という８ビットデータである。
【００７０】
さらに、第２の条件下で、ＢＩＳＴ部２１０によるメモリ回路のテストが行われる。このテスト結果で検出した不良ＩＯビット位置の情報が、リダンダンシ救済データ保持部１２３に保持されているリダンダンシ救済データＲＢ１ｂの不良ＩＯビット位置の情報と一致するなら、リダンダンシ救済データ設定部１２２は、新たなリダンダンシ救済を行わないと決定する。よって、この場合、その後において新たなヒューズカットは行われない。
【００７１】
反対に、テスト結果で検出した不良ＩＯビット位置の情報が、リダンダンシ救済データ保持部１２３に保持されているリダンダンシ救済データＲＢ１ｂの不良ＩＯビット位置の情報と一致しないのもがあるなら、リダンダンシ救済データ設定部１２２は、その不良ＩＯビット位置の情報とリダンダンシ救済データＲＢ１ｂの不良ＩＯビット位置の情報とのＯＲ演算を行い、新たなリダンダンシ救済データＲＢ２ａを生成する。
【００７２】
具体的に説明すると、第２の条件下のテストで、ＩＯビットの３ビット目と５ビット目で不良が検出された場合、不良ＩＯビット位置の情報として「０００１０１００」が生成される。この不良ＩＯビット位置の情報「０００１０１００」と、リダンダンシ救済データＲＢ１ｂの不良ＩＯビット位置の情報「０００１００００」のＯＲ演算を行い、新たなリダンダンシ救済データＲＢ２ａとして不良ＩＯビット位置の情報「０００１０１００」を生成する。
【００７３】
このリダンダンシ救済データＲＢ２ａの不良ＩＯビット位置の情報「０００１０１００」に基づいて、新たにヒューズカットがヒューズデータ変換回路３３０とヒューズカット回路１４０の処理により行われる。このことにより、第２の冗長ＩＯビットを利用可能となり、第２の条件下におけるリダンダンシ救済が行われる。よって、第２の条件下での不良救済情報がこのヒューズ部１５０に保存されたことになる。
【００７４】
なお、リダンダンシ救済データ保持部が、不良ＩＯビット位置の情報しか持たず、救済されたＩＯビットに対するどのヒューズがカットされているかの情報を持っていない場合、そのヒューズカット情報を保持している回路（以下、ヒューズカット情報保持回路と称す）から、情報を取り出し、未カットのＩＯビットに対するアドレス情報に変換し、ヒューズカットを行なうようにしてもよい。ヒューズカット情報保持回路としては、リダンダンシ救済演算データ変換回路３７０に変換前のＩＯビットを現すアドレスを保持しておく等がある。この保持データをＤＱとして、図６に示す。また、実施の形態１、２と同様、ヒューズ使用フラグをリダンダンシ救済データに格納してもよい。
【００７５】
更に、第３の条件下において、メモリ回路のテスト及びリダンダンシ救済を行い、上述したのと同様の処理を繰り返してもよい。このように、複数の条件下で発生する不良に対するリダンダンシ救済を行う。
【００７６】
ここで、メモリ回路のテストは、通常、１サイクルで１アドレスずつしか行なわれない。しかしながら、ＩＯに関しては、ビット数分（上述した例では、８ビット）全ビット同時にテストが行われる。このため、ＢＩＳＴの検査結果から、どのビットに不良があり、それが過去に既に検出された不良と一致するか否かを判断するには、多数のクロックサイクルを必要とする。また、１回のＢＩＳＴにより検出する不良ビットの数も１つとは限らない。しかし、ＩＯ（ＩＯデータ）に対しては、ビット数分（上述した例では、８ビット）全ビット同時に行なわれる。
【００７７】
本実施の形態３では、このことを利用して、ＩＯ（ＩＯデータ）のリダン救済演算の場合、ビット数分で不良箇所の検出を行い、その不良箇所をＩＯビット数分のデータのビット位置（上述した例の「０００１０１００」の値「１」の箇所）で表し、ＢＩＳＴ終了後に、そのビット位置に対応するアドレスに変換する。このことにより、テスト及びリダンダンシ救済の効率化が上昇する効果が得られる。
【００７８】
なお、本発明は上記実施の形態に限られたものでなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【符号の説明】
【００７９】
１００、２００、３００  リダンダンシ制御回路
１１０  ＢＩＳＴ回路
１２０  リダンダンシ救済データ生成回路
１２１  不良情報記憶部
１２２  リダンダンシ救済データ設定部
１２３  リダンダンシ救済データ保持部
１３０、３３０  ヒューズデータ変換回路
１４０  ヒューズカット回路
１５０  ヒューズ部
１６０  ヒューズデータ読み出し回路
１７０、３７０  リダンダンシ救済演算データ変換回路
２１０  ＢＩＳＴ部
２２０  ＢＩＳＴ機能付リダンダンシ救済データ生成回路
３３１  ＩＯアドレス変換回路
３３２  ヒューズビット変換回路
３７１  ＩＯビット変換回路
３７２  リダンダンシ救済アドレス変換回路
【図１】
2010244596.tif 000003
【図２】
2010244596.tif 000004
【図３】
2010244596.tif 000005
【図４】
2010244596.tif 000006
【図５】
2010244596.tif 000007
【図６】
2010244596.tif 000008