(57)【要約】メモリ・アレイ（１４）の検査中に、冗長メモリ要素（２０）を使用可能にするための方法及び装置。
2006510156.tif 000002
【特許請求の範囲】
【請求項１】
故障したメモリ要素と交換するための少なくとも１つの冗長メモリ要素を含む複数のメモリ要素を有するメモリ・アレイと、
内蔵式メモリ自己検査ユニットと、
を備え、前記自己検査ユニットは、
メモリ要素が故障しているかどうかを判断し、その判断結果に応じて故障信号を生成するための検査ユニット、及び、
ロードイネーブル信号によって、冗長部分の使用可能化のタイミングを図る冗長部分使用可能化アクティベータ、
を含み、
前記故障信号が前記ロードイネーブル信号に基づいてアクティブにされたときに、対応する冗長メモリ要素の使用可能化を制御するための故障アドレス・レジスタが設けられた、集積回路。
【請求項２】
前記検査ユニットは、メモリ要素に値を書き込み、読み出し操作中に前記メモリ要素の出力が前記書き込んだ値と一致しないかどうかを判断することによって、該メモリ要素の故障を判断する、請求項１に記載の集積回路。
【請求項３】
前記検査ユニットは、前記メモリ・アレイの前記複数のメモリ要素に対して値のパターンを書き込む、請求項２に記載の集積回路。
【請求項４】
前記冗長部分使用可能化アクティベータは、書き込まれた値を持っていない冗長メモリ要素を前記検査ユニットが読み込むのを阻止するように冗長部分を使用可能にする、請求項１に記載の集積回路。
【請求項５】
前記検査ユニットは、冗長メモリ要素が使用可能にされた場合にのみ、前記冗長メモリ要素の故障を判断する、請求項１に記載の集積回路。
【請求項６】
各々の故障アドレス・レジスタが、
冗長メモリ要素によって置換されることになる故障メモリ要素のアドレス位置を収容するための１組のアドレス・ビットと、
アドレス位置が前記アドレス・ビットに収容されるメモリ要素が、対応する冗長メモリ要素と置換されるべきかどうかを制御するためのイネーブル・ビットと、
前記イネーブル・ビットをオーバーライドするための冗長不良ビットと、
前記ロードイネーブル信号に応答して前記イネーブル・ビットに読み込まれることになる値を保持するための一時イネーブル・ビットと、
前記ロードイネーブル信号に応答して前記冗長不良ビットに読み込まれることになる値を保持するための一時冗長不良ビットと、
を含む、請求項１に記載の集積回路。
【請求項７】
複数のメモリ要素と少なくとも１つの冗長メモリ要素とを含むメモリ・アレイを修復するための方法であって、
どのメモリ要素が故障しているかを判断するためにメモリ・アレイのメモリ要素を検査するステップと、
前記検査中に故障メモリ要素を置換するための冗長メモリ要素の使用可能化のタイミングを図るステップと、
を含む方法。
【請求項８】
前記タイミングを図るステップは、検査が偽の故障の原因とならないときに前記冗長メモリ要素を使用可能にするステップを含む、請求項７に記載の方法。
【請求項９】
前記使用可能にするステップは、対応する冗長メモリ要素についてのレジスタを制御するロードイネーブル信号をアクティブにするステップを含む、請求項８に記載の方法。
【請求項１０】
前記検査するステップは、冗長メモリ要素が使用可能である場合にのみ、前記冗長メモリ要素を検査するステップを含む、請求項７に記載の方法。
【請求項１１】
前記検査するステップは、メモリ要素に値を書き込み、読み出し操作中に前記メモリ要素の出力が前記書き込んだ値と一致しないかどうかを判断することによって、該メモリ要素の故障を判断するステップを含む、請求項７に記載の方法。
【請求項１２】
前記検査するステップは、前記メモリ・アレイの前記複数のメモリ要素と使用可能にされた冗長メモリ要素のみに対して値のパターンを書き込むものである、請求項１１に記載の方法。
【請求項１３】
集積回路のためのメモリ・アレイであって、
Ａ）故障したメモリ要素と交換するための少なくとも１つの冗長メモリ要素を含む複数のメモリ要素と、
Ｂ）故障アドレス修復レジスタと、
を備え、前記故障アドレス修復レジスタは、
１）対応する冗長メモリ要素の使用可能化を制御するためのものであって、各々が、
ａ）冗長メモリ要素によって置換されることになる故障メモリ要素のアドレス位置を収容するための１組のアドレス・ビット、
ｂ）アドレス位置が前記アドレス・ビットに収容されるメモリ要素が、対応する冗長メモリ要素と交換されるべきかどうかを制御するためのイネーブル・ビット、
ｃ）前記イネーブル・ビットを使用不可にするための冗長不良ビット、
ｄ）タイミング制御されたロードイネーブル信号に応答して前記イネーブル・ビットに読み込まれることになる値を保持するための一時イネーブル・ビット、及び、
ｅ）前記タイミング制御されたロードイネーブル信号に応答して前記冗長不良ビットに読み込まれることになる値を保持するための一時冗長不良ビット、
を含むレジスタと、
２）故障メモリ要素のアドレスを前記レジスタに格納するかどうかを判断するための比較論理と、
を含むメモリ・アレイ。
【請求項１４】
故障メモリ要素のアドレスを格納するための複数のビットと、
前記故障メモリ要素を冗長メモリ要素と置換することを可能にするための複数の制御ビットと、
を備えるメモリ修復レジスタ。
【請求項１５】
前記制御ビットは、
前記故障メモリ要素が、対応する冗長メモリ要素と交換されるべきかどうかを制御するためのイネーブル・ビットと、
前記イネーブル・ビットを使用不可にするための冗長不良ビットと、
タイミング制御されたロードイネーブル信号に応答して前記イネーブル・ビットに読み込まれることになる値を保持するための一時イネーブル・ビットと、
前記タイミング制御されたロードイネーブル信号に応答して前記冗長不良ビットに読み込まれることになる値を保持するための一時冗長不良ビットと、
を含む、請求項１４に記載のメモリ修復レジスタ。
【請求項１６】
前記故障メモリ要素のアドレスを前記レジスタに格納するかどうかを判断するための比較論理をさらに備える、請求項１４に記載のメモリ修復レジスタ。
【請求項１７】
前記冗長不良ビットは、前記イネーブル・ビットを使用不可にするために、該イネーブル・ビットとＡＮＤ演算される、請求項１５に記載のメモリ修復レジスタ。
【請求項１８】
欠陥の有無について集積回路のメモリを検査するための装置であって、冗長メモリ要素を故障したメモリ要素と置換することが可能にされたときにのみ前記冗長メモリ要素を検査するための検査ユニットを備える装置。
【請求項１９】
前記故障したメモリ要素は別の冗長メモリ要素である、請求項１８に記載の装置。
【請求項２０】
検査するための手段の操作中に、冗長部分実装のタイミングを制御するための手段をさらに備える、請求項１８に記載の装置。
【請求項２１】
前記検査ユニットは非冗長メモリ要素をも検査する、請求項１８に記載の装置。
【請求項２２】
検査中に、集積回路のメモリ・アレイの冗長メモリ要素を使用可能にするタイミングを制御するための信号。
【請求項２３】
メモリを検査するための手段と、
検査中に、同時に前記メモリを修復するための手段と、
を備える集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、メモリ冗長部分の使用可能化に関する。
【背景技術】
【０００２】
一般的にはメモリ・アレイが、特定的には静的ランダム・アクセス・メモリ（ＳＲＡＭ）が、多くの特定用途向け集積回路（ＡＳＩＣ）チップ上のシリコン領域のほとんどを占めている。これらのメモリ・アレイは、このようにチップの大きな割合にわたっており、技術の製造プロセスにおける限界を圧迫する傾向があるため、これらのチップに関する製造歩留まりに影響を与えることが多い。しかしながら、その極めて反復の多い予測可能な設計は、チップを製造した後でのメモリ修復の方法に役立つものである。メモリ修復の典型的な手法は、欠陥を有するメモリ要素と「スワップ」されることになる、追加の、すなわち「冗長な」行又は列を含むようにすることである。行すなわちワード線の冗長部分を含む固定設計のＳＲＡＭメモリ・アレイを検査し、修復するための従来方法は、３つの一般的なカテゴリーに分類される。
【０００３】
１つの技術は、すべての冗長メモリ要素を汎用メモリ要素と同時に（すなわち、ヒューズ飛びの前に）検査するものであり、いずれかの冗長メモリ要素が故障している場合には、チップを修復不可能なものとしてマークする。チップ修復に関して多大なコストがかかるため、この技術が好まれている。したがって、チップを「修理不可能」と特定できるのが早ければ早いほど、モジュール・テストにおいて故障している冗長要素が発見されなくなるため、テスト・プロセスにおいてより多くの費用を節約することができる。しかしながら、この解決法は、チップを修復することを必要としない冗長メモリ要素に発見される欠陥が、修復可能なチップの廃棄という結果を招くことになるため、非効率的で、費用がかかるものである。
【０００４】
冗長メモリ要素を検査するための第２の技術は、故障している汎用メモリ要素が冗長メモリ要素と置換される後（すなわち、ヒューズ飛びの後）まで待って、該冗長メモリ要素を、置換の対象となった汎用メモリ要素であるかのように検査することである。この技術は、未使用の冗長メモリ要素に欠陥が発見されたときには修復可能なチップが無駄にならないため、第１の技術よりも好まれている。しかしながら、この技術は、ヒューズが飛ぶまで故障している冗長メモリ要素を特定せず、したがって、テスト時間、ヒューズ飛び、及び場合によっては（多くの場合、チップのコストの半分以上を占める）モジュールへのパッケージ化に関する付加的コストを生じる。
【０００５】
最後に、第３の技術は、第１の技術におけるように、汎用メモリ要素を置換する前にすべての冗長メモリ要素を検査することを規定するが、付加的な機構を設け、その機構によって、故障している冗長メモリ要素を特定し、汎用メモリ要素を置換するときにマップするものである。この技術は、ヒューズ飛びの後に、故障している冗長メモリ要素の数を減少させるか又は故障している冗長メモリ要素を無くし、検査工程の早い段階で修復不可能なチップを特定することによって、検査のコストを節約する。しかしながら、シリコン・チップ領域及び検査の複雑さに関する付加的コストが生じる。この余分なコストは、ダイナミックＲＡＭ（ＤＲＡＭ）などの高密度メモリ・アレイにおいては正当化できるが、ＳＲＡＭ及びレジスタ・アレイ（ＲＡ）などの、より高性能で、より低密度のメモリに対しては許容できないものである。付加的コストは、第２の技術におけるように、メモリ要素が置換された後に同一の条件で再びチップを検査する場合に発生する余分な検査時間である。
【０００６】
コンパイル可能な（又は、カスタマイズ可能な）メモリが、冗長メモリ要素を実装し、検査することに対してさらなる障害となる。例えば、故障した冗長メモリ要素を検査し、マップすることは、コンパイル可能なメモリ設計においては極めて煩雑である。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
以上を考慮すると、当該技術分野においては、検査中に冗長メモリ要素を検査し、修復するためのより効率的な方法及び装置についての必要性が存在する。
【課題を解決するための手段】
【０００８】
本発明は、メモリ・アレイの検査中に、冗長メモリ要素を使用可能にするための方法及び装置に関する。本発明は、冗長メモリ要素が故障したメモリ要素と置換されることを可能にされたときにのみ、該冗長メモリ要素の検査を行うものである。このため、未使用の冗長メモリ要素の検査が回避される。本発明は、メモリの検査中に多数のパターンを実行して、特定の障害を分離し、検出する内臓式自己検査（ＢＩＳＴ）ユニットを実装する。本発明は、偽の故障を生じさせることなく早い段階で障害が検出され、修復されるように、冗長メモリ要素に伴う新たに発見されたあらゆる欠陥をテスト中の多くの時点で修復する。次に、アクティブにされた冗長メモリ要素の障害は、その後のパターン検査において検査される。結果として、汎用メモリ要素空間におけるすべての障害は、冗長メモリ要素が修復可能となったときに該冗長メモリ要素を検査し、修復することによって、最終的に修復されることになる。修復は検査中に行われるため、ユーザは、製造時だけではなくいつでも、例えばＩＣの起動時に、メモリを修復することができる。この機能によって、製造が完了した後しばらくして発生する信頼性故障の修復が可能になり、したがって製造者へのＩＣ返品を避けることができる。さらに、本発明は、故障アドレスを収集し、冗長部分を実装してその故障アドレスを置換するために、同一のラッチの使用を可能にする制御ビットを持つレジスタを含む。
本発明の前述の、又は他の特徴は、本発明の実施形態に関する以下のより具体的な説明から明らかになるであろう。
本発明の実施形態は、同じ表示が同じ要素を示す添付図面を参照して、詳細に説明される。
【発明を実施するための最良の形態】
【０００９】
図を参照すると、メモリ検査中に冗長部分を使用可能にするための方法及び装置が、ＳＲＡＭ用途に関連してここで説明される。しかしながら、本発明の教示は、あらゆる種類のメモリに適用できることを認識すべきである。図１に示されるように、集積回路（ＩＣ）１０は、とりわけ、各々のメモリの対応する故障アドレス・レジスタ・アレイ（ＦＡＲＡ）１６とともに１つ又はそれ以上のメモリ・アレイ１４と結合されるメモリ内蔵式自己検査（ＢＩＳＴ）ユニット１２を含む。各々のメモリ・アレイ１４は、複数の一般ワード線すなわちメモリ要素１８（これ以降、「ＧＷＬ」とする）と、１組の冗長ワード線すなわちメモリ要素２０（これ以降、「ＲＷＬ」とする）との特定の設計を含むことができる。ＧＷＬは、当初から作動することを目的としたメモリ要素であり、ＲＷＬは、故障メモリ要素（ＧＷＬ又はＲＷＬ）と置換するために設けられるメモリ要素である。「置換する」とは、ＲＷＬが故障メモリ要素とスワップされる、すなわち交換されることを意味する。代替的には、各々のメモリ・アレイ１４は、複数のＧＷＬ１８及びＲＷＬ２０の組の数をユーザ選択することができる、コンパイル可能な（又は、カスタマイズ可能な）メモリ設計の形態をとることができる。
【００１０】
ＢＩＳＴユニット１２は、とりわけ、使用可能なメモリ要素（すなわち、ＧＷＬ及び使用可能なＲＷＬ）に値が書き込まれ、次いで読み返される、メモリ・アレイ１４の自己検査を実行するための検査ユニット２１を有する状態マシン２２を含む。検査ユニット２１は、次に、読み取り操作中のメモリ要素の出力を該メモリ要素に書き込まれた値と比較することによって、故障が存在するかどうかを判断する。出力が一致しない場合には、故障信号がアクティブにされる（生成される）。ＢＩＳＴユニット１２は、自己検査を実行するために、書き込みパターン選択、データ・ジェネレータ、アドレス・カウンタなどの共通機能を含むことができる。さらに、ＢＩＳＴユニット１２は、検査中に冗長部分状況を変更する適切な時又は時点を判断するように設定される、すなわち偽の故障を生じさせることなく使用可能／使用不可のＲＷＬをアクティブにすることができる、ロードイネーブル信号（ＬＥ）アクティベータ２３を含む。ＬＥアクティベータ２３の詳細は、後述されることになる。ＢＩＳＴユニット１２及びメモリ・アレイ１４は、各々が適切なインターフェース２４を含むことができる。ＦＡＲＡ１６は、故障アドレス・レジスタ（ＦＡＲ）２６の組と、制御論理２８（図２）とを含む。各々のメモリ・アレイ１４が、関連するＦＡＲＡ１６を含むか、又は、メモリ・アレイ１４のグループが、ＦＡＲＡ１６を共有することができる。ＦＡＲＡ１６は別個のエンティティとして示されるが、ＦＡＲＡ１６は、メモリ・アレイ１４の一部として設けることができることを認識すべきである。
【００１１】
４つのＲＷＬと非冗長ビット線（列）とを実装する例示的なＦＡＲＡ１６が、図２により詳細に示される。ＦＡＲＡ１６は、各々のＲＷＬについて１つの故障アドレス・レジスタ（ＦＡＲ）２６を含む。ＦＡＲ０からＦＡＲ３までで表される４つのＦＡＲの各々は、ＲＷＬ０からＲＷＬ３までで表されるそれぞれのＲＷＬに送られる。制御論理２８は、後述されるように、ＬＯＡＤ信号及びＤＩＳＡＢＬＥ信号を各々のＦＡＲ２６に出力することができる。制御論理２８はまた、メモリ・アレイ１４から故障信号を受信し、メモリ・アレイ１４を修復することができない場合には修理不可信号を出力する。４つのＲＷＬ／ＦＡＲが示されるが、メモリ・アレイ１４は、必要ないずれかの数のＲＷＬ／ＦＡＲを実装できることを認識すべきである。
【００１２】
ＦＡＲ２６の詳細が、図３に示される。各々のＦＡＲ２６は、ｎ個のアドレス・ビットＡ０〜Ａｎ（図３においては、ｎ＝８）と、以下の制御ビット又はラッチ、すなわち、イネーブルＥＮ、一時イネーブルＴＥ、冗長不良ＢＲ、及び一時冗長不良ＴＢとを含む。アドレス・ビットＡ０〜Ａｎは、ＲＷＬによって置換されることになる故障メモリ要素のアドレス位置を収容する。イネーブル・ビットＥＮは、アドレス位置がアドレス・ビットＡ０〜Ａｎに収容されたメモリ要素が、対応する冗長メモリ要素と置換されることになるかどうかを制御する、すなわち、イネーブル・ビットＥＮは、ＦＡＲをアクティブにし、対応するＲＷＬを使用可能にする。一時イネーブルＴＥは、ロードイネーブル信号に応答してイネーブル・ビットＥＮに読み込まれることになる値を保持するためのものである、すなわち、一時イネーブルＴＥは、ＬＥアクティベータ２３が適切であると判断したときに、ロードイネーブル信号をアクティブにすることによってＦＡＲ２６の対応するＲＷＬがアクティブにされることを示す。冗長不良ビットＢＲは、セットされたとき、ＡＮＤゲート３２を介してイネーブル・ビットＥＮをオーバーライドする、すなわち、冗長不良ビットＢＲは、セットされたとき、ＦＡＲ２６及び対応するＲＷＬを使用不可にする。一時冗長不良ビットＴＢは、ロードイネーブル信号に応答して冗長不良ビットＢＲに読み込まれることになる値を保持するためのものである、すなわち、一時冗長不良ビットＴＢは、セットされたとき、ＬＥアクティベータ２３が適切であると判断したときに、ロードイネーブル信号をアクティブにすることによってＦＡＲ及び対応するＲＷＬが使用不可にされることを示す。
【００１３】
各々のＦＡＲ２６は、対応する比較論理セクション３０を含み、アクティブにされたときにはロードイネーブル信号と、故障アドレスとを受信する。さらに、ＦＡＲＡ制御論理２８からのＬＯＡＤ信号が一時イネーブル・ビットＴＥ及びアドレス・ビットＡ０〜Ａｎに送られ、ＦＡＲＡ制御論理２８からのＤＩＳＡＢＬＥ信号が一時冗長不良ビットＴＢに送られる。ロードイネーブル信号ＬＥは、イネーブル・ビットＥＮ及び冗長不良ビットＢＲに送られる。一時イネーブル・ビットＴＥはイネーブル・ビットＥＮ及びＦＡＲ比較論理３０に送られ、一時冗長不良ビットＴＢは冗長不良ビットＢＲに送られる。ロードイネーブル信号ＬＥがアクティブであるとき、イネーブル・ビットＥＮがセットされていない場合には一時イネーブル・ビットＴＥの値が該イネーブル・ビットＥＮに送り込まれ、冗長不良ビットＢＲがセットされていない場合には一時冗長不良ビットＴＢの値が該冗長不良ビットＢＲに送り込まれる。それぞれのビット（ＥＮ又はＢＲ）がすでにセットされている場合には、対応する一時ビット（それぞれ、ＴＥ又はＴＢ）は無視される。イネーブル・ビットＥＮはＡＮＤゲート３２に送られ、冗長不良ビットＢＲは反転後にＡＮＤゲート３２に送られる。したがって、結果として得られるメモリ・イネーブル信号ＲＥは、最終的に、冗長不良ビットＢＲによって制御される、すなわち、ＢＲビットは、セットされたとき、イネーブル・ビットＥＮの値をオーバーライドする。イネーブル・ビットＥＮ及び冗長不良ビットＢＲは、各々がＦＡＲ比較論理セクション３０に送られる。アドレス・ビットＡ０〜Ａｎは、比較論理セクション３０及び（ＲＡ信号を介して）メモリ・アレイ１４に結合される。メモリ・イネーブル信号ＲＥもまた、ＡＮＤゲート３２のオペランドによってメモリ１４に結合される。
【００１４】
説明のために、「セットされていない」とは、ビットが「０」の値を有することを意味し、「セットされている」とは、ビットが「１」の値を有することを意味する。しかしながら、本発明の精神に影響を与えることなく、ビットがアクティブ・ロー、すわなち「セットされている」＝「０」及び「セットされていない」＝「１」であるように、論理を設計できることを認識すべきである。さらに、「Ｘ」の設定又は状態は、ビットが、書き込まれた値を持たないことか、又は、その値が説明に直接には関係しないことのいずれかを意味する。
【００１５】
図４を参照すると、ここでは本発明の操作が説明される。段階的な説明がなされることになるが、方法論としてすべてのステップが必要というわけではないことを認識すべきである。さらに、本発明の操作は、ステップの集合によって説明されるのではなく他のステップで示されることがある。
【００１６】
最初のステップＳ１において、ＦＡＲＡ１６は、２つの状態のうちの１つに初期化される。第１の初期設定状態では、制御ビットＴＥ、ＴＢ、ＥＮ、及びＢＲは、すべてのＦＡＲ２６についてセットされていない、すなわち「０」である。アドレス・ビットＡ０〜Ａｎは、「Ｘ」状態にあると考えられる。しかしながら、実際には、アドレス・レジスタＡ０〜Ａｎは、通常は既知の値、例えばすべて「０」にセットされている。あるいは、第２の初期設定状態では、ＦＡＲ２６のいくつか又はすべては、以前の冗長解が読み込まれる。例えば、Ａ０〜Ａｎはアドレス・データを収容し、イネーブル・ビットＥＮはセットされ、冗長不良ビットＢＲはセットされ（又はセットされず）、一時イネーブル・ビットＴＥ及び一時冗長不良ビットＴＢは「Ｘ」にセットされる。残りの（すなわち、未使用の）ＦＡＲ２６は、上記の第１の状態による「セットされていない」状態として初期化される。
【００１７】
第２のステップＳ２において、操作が検査ユニット２１によって実施される。このステップでは、検査ユニット２１は、上述のように、使用可能なメモリ要素（すなわち、ＧＷＬ及び使用可能なＲＷＬ）に値を書き込み、次いで、その値を読み返す。次に、検査ユニット２１は、読み出し操作中のメモリ要素の出力を、書き込まれた値と比較することによって、故障が存在するかどうかを判断する。出力が一致しない場合には、故障信号がアクティブにされる（生成される）。１つの実施形態においては、検査ユニット２１は、データが正確に格納されたかどうかを判断するために、異なるパターン、すなわち多数のパターンをメモリ要素に逐次的に書き込み、次にそれらを読み返すことによって、各々のアクティブなメモリ要素を検査するように設定される。例示的なパターンとして、ブランケット０、ブランケット１、チェック模様、反転チェック模様、ワード線ストライプ、ビット線ストライプなどを挙げることができる。以下に明らかになるように、逐次的に検査することによって、故障メモリ要素を修復し、その修復を行うために用いられたＲＷＬを検査することが可能になる。
【００１８】
ステップＳ３において、タイミング制御されたロードイネーブル（ＬＥ）信号がＬＥアクティベータ２３によってアクティブにされたかどうかの判断が行われる。ロードイネーブル（ＬＥ）信号がアクティブである、すなわちセットされているときは、ＦＡＲ２６の冗長部分状況を変更するのに適した時／時点が存在することを示す。検査中にＧＷＬに故障が検出されたときは、検査ユニット２１は、多くのマシン・サイクルの間、その故障を認識することができない。故障を検出してすぐにＲＷＬが使用可能にされた場合には、その後のマシン・サイクルは、ＲＷＬに何も書き込まれなかったときにそのＲＷＬを読み出すことになる。したがって、検査ユニット２１は、ＲＷＬに異常がなくてもそのＲＷＬの故障を示すことになる。ロードイネーブル（ＬＥ）信号は、ＲＷＬの状況を、例えば使用不可から使用可能に又は使用可能から使用不可に、変更するのに適切な時を判断することによって、この偽の故障が発生するのを防ぐ。適切な時は、例えば、検査ユニット２１がすべてのアドレスへの書き込みを開始しようとする時の直前、及び、検査ユニット２１が以前のすべての読み出し操作の故障状況を評価した後とすることができる。
【００１９】
ステップＳ４において、ロードイネーブル信号がアクティブである場合には、セットされたすべての一時イネーブル・ビットＴＥは、まだセットされていない対応するイネーブル・ビットＥＮに読み込まれ、セットされたすべての一時冗長不良ビットＴＢは、まだセットされていない対応する冗長不良ビットＢＲに読み込まれる。すなわち、ＦＡＲ２６は、冗長部分状況を変更するようにシグナル通知される。上述のように、それぞれのビット（ＥＮ又はＢＲ）がすでにセットされている場合には、対応する一時ビット（それぞれ、ＴＥ又はＴＢ）は無視される。このステップの意味は、以下にさらに詳細に説明される。
【００２０】
ステップＳ５において、メモリ・アレイ１４がアクセスされて（読み出されて）いるかどうかに関して判断が行われる。アクセスされていない場合には、論理はステップＳ２に戻り、さらにテストされる。メモリが作動状態の場合には、論理はステップＳ６に進み、そこでは、メモリ要素の故障が検出されたかどうかに関して判断が行われる。検査ユニット２１に関連して上述したように、アドレスが、書き込まれたデータを読み返さないときは、故障が検出される。故障が検出されなかった場合には、ステップＳ２におけるテストを用いて操作が続く。
【００２１】
故障が検出された場合には操作はステップＳ７に進み、そこでは、故障信号がＦＡＲ比較論理セクション３０に転送され、故障したメモリ要素のアドレスが、以前検出されたいずれかの故障したメモリ要素のアドレスと一致するかどうかに関して判断が行われる。すなわち、故障したメモリ要素のアドレスは、その故障が新たに検出された故障か又は以前検出された故障かを判断するために、各々のＦＡＲの比較論理セクション３０によって、該ＦＡＲに格納されたそれぞれのアドレス・ビットＡ０〜Ａｎと比較される。故障したメモリ要素のアドレスが、ＦＡＲ２６の１つに格納されたアドレスと一致する場合には、ＭＡＴＣＨ信号がＦＡＲＡ制御論理２８に転送され、その故障が新たに検出された故障ではないことを表し、操作は以下に説明されるステップＳ１０に進む。しかしながら、故障したメモリ要素のアドレスが、ＦＡＲ２６のいずれかに格納されたアドレスのいずれとも一致しない場合には、その故障は以前に検出されなかったこと、すなわち新たな故障であることを示す。この場合には、ステップ８において、次の利用可能なＦＡＲ／ＲＷＬについて一時イネーブル・ビットＴＥがセットされ、ステップ９において、故障したメモリ要素のアドレスがそのＲＷＬについての対応するＦＡＲに読み込まれる。一時イネーブル・ビットのセットと、アドレスの読み込みとは、ＦＡＲＡ制御論理２８からのＬＯＡＤ信号によって行われる。次のＲＷＬについての一時イネーブル・ビットＴＥをセットすることによって、次にＬＥアクティベータ２３が、冗長部分状況の変更を実施するのに適した時が存在すると判断したときに、このＲＷＬについての一時イネーブル・ビットＴＥがイネーブル・ビットＥＮに読み込まれ、該ＲＷＬを使用可能にする。したがって、故障メモリ要素の置換についての必要性を記録し、使用可能なＲＷＬが何も書き込まれていないときに検査中に読み込まれることによって発生する偽の故障を防止するために、適切な時まで使用可能化を保留することができる。
【００２２】
ステップＳ１０に移ると、一致しているいずれかのＦＡＲ２６ついてイネーブル・ビットＥＮがセットされているかどうかに関して、判断が行われる。このステップは、ＦＡＲＡ１６の初期設定状態のせいで生じる状況を処理するために設けられる。具体的には、４つの制御ビット（ＥＮ、ＴＥ、ＢＲ、ＴＢ）の各々が「セットされていない」状態に初期化され、アドレス・ビットＡ０〜Ａｎが、何らかの値に初期化される。この状況は、検査が初期設定アドレスの１つ又はそれ以上と一致するアドレスに故障を検出したときに発生する場合がある。例えば、１つ又はそれ以上の初期設定アドレスがすべて０であり、検査が、アドレス００００  ００００を持つＧＷＬに故障を検出すると、１つ又はそれ以上の一致アドレスがもたらされることになる。この場合には、システムは依然として、故障アドレスをＦＡＲＡ１６に読み込むことができなければならない。一致しているいずれかのアドレス（２つ以上の場合もある）についてイネーブル・ビットＥＮがセットされているかどうかに関するステップＳ１０の判断は、故障が実際に読み込まれたかどうかを示す。一致しているいずれかのアドレスについてイネーブル・ビットＥＮがセットされなかった場合には、故障はこれまで読み込まれてこなかったことを示し、操作はステップＳ１１に進む。
【００２３】
ステップＳ１１において、この単一の一致しているＦＡＲについて一時イネーブル・ビットＴＥがセットされているかどうか、すなわち、一致しているＦＡＲのあらゆる重複を無視するかどうかに関して、判断が行われる。一時イネーブル・ビットＴＥがセットされている場合には、この故障の修復が進行中であり、ロードイネーブル信号ＬＥによる使用可能化を待っている、すなわち、冗長部分状況を変更するのに適した時を待っていることを示す。この場合には、操作は、ステップＳ２におけるテストを続行することによって、次のマシン・サイクルに進む。しかしながら、一時イネーブル・ビットＴＥがセットされていない場合には、この故障は読み込まれなかったことを示す。この場合には、ステップ８において、次の利用可能ＦＡＲ２６について一時イネーブル・ビットＴＥがセットされ、ステップ９において、故障したメモリ要素のアドレスが対応するＦＡＲ２６アドレス・ビットに読み込まれ、その結果、ロードイネーブル信号ＬＥがアクティブにされたときに、対応するＲＷＬがアクティブにされることによって修復を行うことができる。
【００２４】
ステップＳ１０に戻ると、一致しているいずれかのＦＡＲのイネーブル・ビットＥＮがセットされている場合には、この故障が読み込まれたことを示し、操作はステップＳ１２に進む。ステップＳ１２において、一致しているいずれかのＦＡＲ（２つ以上の場合もある）について冗長不良ビットＢＲがセットされていないかどうかに関して、判断が行われる。一致しているすべてのＦＡＲについて冗長不良ビットＢＲがセットされている場合には、この故障は、同様に故障した、すなわち使用不可又は休止状態となった、以前は使用可能なＲＷＬによるものであったことを示す。このＲＷＬ故障の修復は、別のＲＷＬを用いて完了されることになるか、又は、ロードイネーブル信号ＬＥのアクティブ化による修復を待つことになる。この場合には、操作は、ステップＳ２におけるテストを続行することによって、次のマシン・サイクルに進む。一致しているいずれかのＦＡＲについて冗長不良ビットＢＲがセットされていない場合には、この故障は、このマシン・サイクルで新たに検出された使用可能なＲＷＬのものであるか、又はロードイネーブル信号ＬＥをアクティブにすることよる使用不可化を待っていることを示し、操作はステップＳ１３に進む。
【００２５】
ステップＳ１３において、この単一の一致しているＦＡＲについて一時冗長不良ビットＴＢがセットされているかどうかを判断することによって、上のシナリオのどれが存在しているかに関する判断を行う。一時冗長不良ビットＴＢがセットされている場合には、ＲＷＬ故障は、ＲＷＬの状況を不良に変更するために、単にロードイネーブル信号ＬＥを待っていることを示す。この場合には、操作は、ステップＳ２におけるテストに進む。しかしながら、一時冗長不良ビットＴＢがセットされていない場合には、このＲＷＬ故障はこのマシン・サイクルで新たに検出されたことを示し、ステップＳ１４において、一致しているＦＡＲの一時冗長不良ビットＴＢが、ＦＡＲＡ制御論理２８からのＤＩＳＡＢＬＥ信号によってセットされる。続いて、ステップＳ８において、次の利用可能ＦＡＲ２６の一時イネーブル・ビットＴＥがセットされ、ロードイネーブル信号ＬＥがアクティブにされたときに、対応するＲＷＬがアクティブにされることによって修復を行うことができるように、対応するＦＡＲ２６のアドレス・ビットにアドレスが読み込まれる。
【００２６】
本発明の操作の全体は、以下のように示すことができる。故障が観測された場合には、故障信号（図２）が、メモリ・アレイ１４からＦＡＲＡ制御論理２８に送信される。故障アドレスは、ＦＡＲＡ１６内のすべてのＦＡＲ２６の内容と比較され、論理２８は、以下のケースに従って、次の利用可能な空のレジスタにＬＯＡＤ信号を送出する。
ケース１：故障アドレスがどのＦＡＲ２６の内容とも一致しない場合には、その故障アドレスは次の利用可能ＦＡＲに読み込まれ、該次の利用可能ＦＡＲの対応する一時イネーブル・ビットＴＥがセットされる。
ケース２：故障アドレスが少なくとも１つのＦＡＲアドレスと一致し、各々の一致しているＦＡＲ２６についての一時イネーブル・ビットＴＥ及びイネーブル・ビットＥＮの両方ともセットされていない場合には、その故障アドレスは次の利用可能ＦＡＲに読み込まれ、該次の利用可能ＦＡＲの対応する一時イネーブル・ビットＴＥがセットされる。
ケース３：故障アドレスが１つのＦＡＲと一致し、このＦＡＲ２６についてのイネーブル・ビットがセットされており、各々の一致しているＦＡＲ２６についての一時冗長不良ビットＴＢ及び冗長不良ビットＢＲの両方ともセットされていない場合には、その故障アドレスは次の利用可能ＦＡＲに読み込まれ、該次の利用可能ＦＡＲの対応する一時イネーブル・ビットＴＥがセットされ、一致しているこのＦＡＲの一時冗長不良ビットＴＢがセットされる。
他のすべてのケースにおいては、ＦＡＲの内容は更新されない。
【００２７】
検査中のある時点で、ＬＥアクティベータ２３は、一時イネーブル・ビットＴＥの値をイネーブル・ビットＥＮに読み込ませるロードイネーブル信号ＬＥをアクティブにし、一時イネーブル・ビットＴＥをリセットする。イネーブル・ビットＥＮが「１」にセットされ、冗長不良ビットＢＲが「０」にセットされていないときは、ＡＮＤゲート３２は、メモリ・アレイ１４のＲＷＬを（冗長部分イネーブル（ＲＥ）信号によって）使用可能にして、このアドレス、すなわち冗長アドレス（ＲＡ）を置換する。同様に、ＬＥアクティベータ２３がロードイネーブル信号ＬＥをアクティブにすると、該ロードイネーブル信号は、一時冗長不良ビットＴＢの値を冗長不良ビットＢＲに読み込ませ、一時冗長不良ビットＴＢをリセットする。この場合、イネーブル・ビットＥＮが「１」にセットされ、冗長不良ビットＢＲが「１」にセットされているときは、ＡＮＤゲート３０は、メモリ・アレイ１４のＲＷＬを（冗長部分イネーブル（ＲＥ）信号によって）使用不可にする、すなわち、ＢＲはＥＮをオーバーライドする。
【００２８】
上述の発明は、多くの利点をもたらす。第一に、本発明は、多パターン検査中に使用可能化のタイミングを制御することによってオンザフライで冗長部分実装を可能にし、このようにして冗長部分の早期の使用可能化に基づく偽の故障を防止する。結果として、単一の多パターン自己検査中に、メモリ要素の故障を修復することができる。第二に、本方法及び装置によって、製造時だけではなく、ＩＣの起動時に、ＢＩＳＴによってユーザがメモリを修復することが可能になる。この機能によって、製造が完了した後しばらくして発生する信頼性故障の修復が可能になり、したがって、製造者へのＩＣ返品を避けることができる。第三に、汎用メモリ要素（ＧＷＬ）と、故障したメモリ要素と置換されることが可能にされた冗長メモリ要素のみとの両方を検査することが、検査をより効率的なものにする。最後に、一時イネーブル・ビットＴＥ及び一時冗長不良ビットＢＲを含み、使用することによって、故障アドレスを収集し、冗長部分を実装してそれらのアドレスを置換するために、同一のラッチの使用が可能になる。結果として、ヒューズに関連して多数の選択肢が可能になる、すなわち、１）ＢＩＳＴの間にヒューズを取り除き、単に修理を完了するか、２）ヒューズを保持し、ＢＩＳＴのための開始点として用いるか、３）ＢＩＳＴによって完了した修理の結果をヒューズ内に配線し、このステップに続いてさらに別の自己検査を行うことができる。
【００２９】
上記の説明において、説明された方法ステップは、ＩＣ１０に内蔵されるハードウェア、並びに、レジスタの組及び制御ハードウェアによって実施されることが理解されるであろう。しかしながら、ここに説明された様々な装置、モジュール、機構、及びシステムは、ハードウェア若しくはソフトウェア又はハードウェアとソフトウェアとの組み合わせで実現することができ、示されたもの以外に区分化できることが分かる。それらは、ここに説明された方法を実施するのに適したいずれかの種類のコンピュータ・システム又は他の装置に実装することができる。ハードウェア及びソフトウェアの典型的な組み合わせは、読み込まれて実行されたときに、コンピュータ・システムがここに説明された方法を実施するように該コンピュータ・システムを制御するコンピュータ・プログラムを持つ汎用コンピュータ・システムとすることができるであろう。あるいは、本発明の機能タスクの１つ又はそれ以上を実施するための特殊ハードウェアを含む特定用途コンピュータを利用することができるであろう。本発明は、ここに説明された方法及び機能の実装を可能にする機構のすべてを備え、コンピュータ・システムに読み込まれたときにこれらの方法及び機能を実施することが可能なコンピュータ・プログラム製品に組み込むこともできる。本文脈においては、コンピュータ・プログラム、ソフトウェア・プログラム、プログラム、プログラム製品、又はソフトウェアは、情報処理機能を有するシステムに、直接、又は、（ａ）別の言語、コード、若しくは記法に変換し、及び／又は（ｂ）異なる素材形態で再現した後で、特定の機能を実施させることを目的とする命令のセットの、いずれかの言語、コード、又は記法におけるいずれかの表現を意味する。
【００３０】
本発明は、いくつかの好ましい実施形態に関連して説明されたが、当業者であれば、本発明が、添付の特許請求の精神及び範囲内で様々に変形させて実施できることを認識するであろう。
【産業上の利用可能性】
【００３１】
本発明は、あらゆるメモリ、特にＳＲＡＭにおいて、冗長メモリ要素を検査し、実装するのに有用である。
【図面の簡単な説明】
【００３２】
【図１】本発明の実施形態のＢＩＳＴを有する集積回路のブロック図を示す。
【図２】図１の故障アドレス修復レジスタ（ＦＡＲＡ）のブロック図を示す。
【図３】図２の故障アドレス・レジスタ（ＦＡＲ）のブロック図を示す。
【図４】本発明の操作のブロック図を示す。
【図１】
2006510156.tif 000003
【図２】
2006510156.tif 000004
【図３】
2006510156.tif 000005
【図４】
2006510156.tif 000006
【国際調査報告】
2006510156.tif 000007