(57)【特許請求の範囲】
【請求項１】
行線路（ＷＬ）と列線路（ＢＬ）との交点に設けられた集積メモリの欠陥のあるメモリセル（ＭＣ）の、冗長行線路（ＲＷＬ）及び冗長列線路（ＲＢＬ）のリバーシブルプログラミングによる修理用方法において、
以下の各ステップ：
−メモリセル（ＭＣ）は行毎に欠陥が検査され、
−丁度検査したメモリセル（ＭＣ）に欠陥が検出された場合、リバーシブルプログラミングされた冗長列線路ＲＢＬの数（Ｘ）が所定限界値（Ｙ）を超過しない限りで、当該列線路（ＢＬ）が冗長列線路（ＲＢＬ）によって代替され、
−前記限界値（Ｙ）の超過の際、当該行線路（ＷＬ）内で検出された欠陥に基づいて行われる冗長列線路（ＲＢＬ）の全てのプログラミングが放棄され、
−前記行線路（ＷＬ）は、冗長行線路（ＲＷＬ）の１つによって代替される
各ステップを有していることを特徴とする修理用方法。
【請求項２】
限界値（Ｙ）は、検査中変えられる請求項１記載の方法。
【請求項３】
行線路（ＷＬ）と列線路（ＢＬ）との交点に設けられた集積メモリの欠陥のあるメモリセル（ＭＣ）の、冗長行線路（ＲＷＬ）及び冗長列線路（ＲＢＬ）のリバーシブルプログラミングによる修理用方法において、
以下の各ステップ：
−メモリセル（ＭＣ）は、スタートアドレスから開始して検査され、
−全ての冗長線路（ＲＷＬ，ＲＢＬ）がプログラミングされた後、別の欠陥の検出時に、各冗長線路の内の１つのプログラミングは放棄され、
−前記メモリセル（ＭＣ）は、続いて前記スタートアドレスから開始して新たに検査され、
−その際、アドレスが別の欠陥の前にある欠陥が検出されると即座に、相応の冗長線路（ＲＷＬ，ＲＢＬ）のプログラミングの放棄が取り消され、
−続いて、３つの先行の方法ステップが、前記各冗長線路（ＲＷＬ，ＲＢＬ）の他の線路のプログラミングの放棄に関して繰り返され、
−それに続く、前記メモリセル（ＭＣ）の検査の間、前記冗長線路の内の１つのプログラミングを放棄した後、アドレスが別の欠陥の前にある欠陥が検出されないと即座に、前記別の欠陥は、前記プログラミングの放棄によって空き状態になった冗長線路を用いて修理される
各ステップを有していることを特徴とする修理用方法。
【請求項４】
別の欠陥の検出後、全ての冗長線路（ＲＢＬ，ＲＷＬ）のプログラミングの順次実行される放棄により、これまで検出された全ての欠陥の修理を行うことができないようにされる請求項３記載の方法。
【発明の詳細な説明】
【０００１】
本発明は、集積メモリの欠陥のあるメモリセルの修理用方法に関する。
【０００２】
米国特許第５４１０６８７号明細書には、その種の方法が記載されている。そこでは、行と列との交点にあるメモリの個別メモリセルがテストされる。各列及び各行に、メモリはエラーカウンタを有しており、このエラーカウンタで、この列乃至行で検出されたエラーが加算される。全てのメモリセルが検査された後、エラーカウンタ内に記憶された情報に基づいて、欠陥のあるメモリセルが、冗長列及び行線路を用いて修理される。既述の方法は、当該方法の実施に必要なエラーカウンタが比較的大きな所要スペースを必要とするという欠点を有している。
【０００３】
米国特許第５２０６５８３号明細書には、冗長エレメントの持続的なプログラミング用の切り離し可能な結合部（フューズ）を有する集積回路が記載されている。この集積回路は、更にヒューズに並列接続されたリバーシブルプログラミング可能なエレメントを、冗長エレメントのリバーシブルプログラミングのテストのために使用されるラッチの形式で有している。
【０００４】
従って、本発明が基づく課題は、必要なハードウエアコンポーネントができる限り僅かな所要面しか必要としない、集積メモリの欠陥のあるメモリセルの修理方法を提供することである。
【０００５】
本発明によると、この課題は、請求項１記載の方法により解決される。本発明の有利な実施例は、従属請求項から得られる。
【０００６】
本発明の方法は、以下のステップを有している：
−メモリセルは行毎に欠陥が検査され、
−丁度検査したメモリセルに欠陥が検出された場合、プログラミングされた冗長列線路の数が所定限界値を超過しない限りで、当該列線路が冗長列線路によって代替され、
−限界値の超過の際、当該行線路内で検出された欠陥に基づいて行われる冗長列線路の全てのプログラミングが放棄され、
−行線路は、冗長行線路の１つによって代替される
ステップを有している。
【０００７】
列線路は、例えば、ビット線であり、行線路は、集積メモリのワード線である。他の実施例では、列線路はワード線であり、行線路はメモリのビット線である。
【０００８】
この方法の有する利点は、（冒頭に記載した米国特許第５４１０６８７号明細書の場合とは異なり）、検査すべき列線路及び行線路にエラーカウンタは必要としないという点にあり、つまり、欠陥の検出の直ぐ後その都度欠陥を修理するからである。それにも拘わらず、実行すべき修理を所定のように最適化するために、予めプログラミングされた冗長線路の数に依存して、少なくとも１つの冗長線路をプログラミングし、その結果、続いて、この冗長線路を用いて、事後に検出された欠陥を修理することができる。
【０００９】
冗長線路のリバーシブルプログラミングは、例えば、リバーシブルプログラミング可能な要素、例えば、米国特許第５２０６５８３号明細書に記載されたラッチを用いて行うことができる。本発明の修理方法の特徴は、極めて僅かなハードウエアコストにあり、その結果、特に、修理すべき集積メモリの自己テスト及び自己修理の実行のために適している。つまり、修理方法の実行のために必要な全ての構成要素は、集積メモリの構成部分であり、乃至、同じ集積回路上に設けられている。他方、本発明の方法は、ソフトウェアにより実行してもよく、又は、集積メモリを外部テスターによって実行してもよいことは当然である。
【００１０】
この発明では、公知の欠陥の修理は、テスト方向に対して垂直方向に行われる。即ち、行毎に検査され、先ず、列毎に代替される。既に使用された冗長列線路の数が限界値を超過して初めて、先ず部分的に先行プログラミングが放棄される。何れにせよ、当該行線路内で検出された欠陥に基づいてプログラミングされる冗長列線路のプログラミングだけが取り消される。当該行線路は、続いて冗長行線路によって代替され、予め検査された行線路に基づいて行われた冗長列線路のプログラミングは放棄されないので、既述のように、冗長線路が十分に存在する場合、検出された全ての欠陥は、メモリセルの一回の検査を実行する間に修理される。
【００１１】
修理方法の、この発明によると、プログラミングすべき冗長列線路の数の限界値は、検査の間に変わる。こうすることによって、未だプログラミングされていない冗長列線路の既存の数に適合させることができる。
【００１２】
修理方法の他の発明によると、メモリセルは、スタートアドレスから開始して検査される。全ての冗長線路がプログラミングされた後、別の欠陥の検出時に、冗長線路のプログラミングは放棄される。メモリセルは、続いてスタートアドレスから開始して新たに検査される。その際、アドレスが別の欠陥の前にある欠陥が検出されると即座に、相応の冗長線路のプログラミングの放棄が取り消される。即ち、相応の冗長線路は、そのプログラミングの放棄前と同じ通常線路の代替のためにプログラミングされる。続いて、３つの先行の方法ステップが、各冗長線路の他の線路のプログラミングの放棄に関して繰り返される。それに続く、メモリセルの検査の間、冗長線路の内の１つのプログラミングを放棄した後、アドレスが別の欠陥の前にある欠陥が検出されないと即座に、この別の欠陥は、そのプログラミングの放棄によって空き状態になった冗長線路を用いて修理される。
【００１３】
本発明の、この発明により、単に、既に検出され、更に既に他の冗長線路によって問題を解決された欠陥を修理する冗長線路のプログラミングを放棄することができる。
【００１４】
従って、当該の冗長線路のプログラミングを放棄した後、この欠陥は修理される。
【００１５】
以下、本発明について図示の実施例を用いて詳細に説明する。
【００１６】
その際、
図１は、修理方法の第１の実施例の流れ図、
図２は、図１の流れ図の補完図、
図３は、修理方法の第２の実施例の流れ図、
図４〜１０は、図３に示した修理方法の実施のための実施例を示す図、
図１１及び１２は、図１に示した修理方法の実施のための実施例を示す図
である。
【００１７】
図１によると、集積メモリのメモリセルが検査される。後続の各メモリセルの検査のために、アドレスが相応に上昇される。新規行線路の検査の開始の度毎に、カウンタＸは０にセットされる。欠陥が検出されると、カウンタＸは、１だけ上昇され、カウンタＸの状態が限界値Ｙと比較される。限界値Ｙは、実際の行線路での修理にとって最大許容可能にプログラミングされた列線路の数に該当する。メモリセルの検査は、即ち、行毎に、欠陥の検出時に修理が列毎に実行される間行われる。欠陥の検出時にカウンタＸが限界値Ｙを超過していない限り、この欠陥は、冗長列線路によって取り除かれる。しかし、カウンタＸが限界値Ｙを超過すると、実際の行線路内で検出された欠陥の修理のためにプログラミングされた冗長列線路のプログラミングが放棄される。続いて、実際の行線路が冗長行線路によって修理される。
【００１８】
特に有利には、代替された冗長行線路のエラーが、代替後検査される。このために、最も低い列アドレスの冗長行線路のメモリセルが検査され続ける。冗長行線路のエラーが発見されると、前述のように、先ず、冗長行線路を介して修理される。その数が許容限界値を超過すると、そのプログラミングが放棄され、冗長行線路が他の冗長行線路によって代替される。プログラミングされた冗長行線路のメモリセルの検査は、冗長線路が、そのプログラミングの前に検査されて、続いて、エラーのない冗長線路だけが修理のために利用される場合には、当然省略することができる。
【００１９】
本発明修理方法の第１の実施例について、以下、図１１及び１２を用いて説明する。図１１には、左側部分に、集積メモリのメモリセル領域が図示されており、右側部分には、冗長線路を概観した図が示されている。そのために、図１１及び１２並びに４〜１０には、ほぼ同じ表示形式で、これについて一回だけ入れられている。集積メモリのメモリセルＭＣは、ビット線ＢＬとワード線ＷＬとの交点に設けられている。ビット線ＢＬは、０〜３、ワード線ＷＬは、０〜４でナンバリングされている。欠陥のあるメモリセルＭＣは、クロスによってマーキングされている。既に冗長線路によって修理されたメモリセルＭＣは、四角形によってマーキングされている。冗長線路によって既に修理されたメモリセルＭＣは、四角形によってマーキングされている。円によっては、実際に、つまり、メモリセルＭＣの丁度最初に検出された欠陥がマーキングされている。図１１の右側部分には、分かり易くするために、メモリの、利用される全ての冗長線路が含まれている。図１１及び１２を用いて説明する実施例では、メモリは２つの冗長ワード線ＲＷＬ０，ＲＷＬ１及び冗長ビット線ＲＢＬ０，ＲＢＬ１，ＲＢＬ２を有している。この表からは、この冗長線路のどれが既に正常線路ＢＬ，ＷＬの１つの代替のためにプログラミングされているか分かる。その際、０は、所属の冗長線路が未だプログラミングされていないことを意味し、１は、既にプログラミングされていることを意味する。
【００２０】
図１１の左側部分からも分かることは、欠陥のあるメモリセルＭＣの修理の仕方である。メモリセル領域の右側には、即ち、各々の正常のビット線ＢＬの代替のためにプログラミングされる冗長ビット線ＲＢＬｉが記入されており、メモリセル領域の下側には、正常ワード線の代替のためにプログラミングされる冗長ワード線ＲＷＬｉが記入されている。この場合、図１１に図示された状態の前に既に、メモリセルＭＣが、メモリセルアドレス０，０（即ち、ワード線ＷＬ０及びビット線ＢＬ０）から始めて、即ち、ワード線ＷＬの方向にシーケンシャルに検査される。メモリセル０，０には、欠陥がない。続いて、メモリセル０，１が検査され（ワード線ＷＬ０、ビット線ＢＬ１）、その際、欠陥が検出される。この欠陥は、ビット線１が冗長ビット線ＲＢＬ０によって代替されるようにして修理される。続いて、メモリセルは更にテストされ、その際、直ぐ次のワード線ＷＬ１の開始の際に、エラーカウンタＸが０にリセットされる。ワード線ＷＬ１上の欠陥のあるメモリセル１，０は、冗長ビット線ＲＢＬ１によって修理され、エラーカウンタＸは、値１に上昇される。ビット線ＢＬ１は、既に冗長ビット線ＲＢＬ０によって代替されているので、直ぐ次に検出されるエラーは、アドレス１，２のエラーである。このエラーは、冗長ビット線ＲＢＬ２によって修理される。エラーカウンタＸは、２に上昇される。直ぐ次のものとして、メモリセル１，３の欠陥が検出される。この状態は、図１１に示されている。この欠陥は、冗長ビット線によって修理される。つまり、エラーカウンタＸは、３に上昇され、従って、同様に値２の限界値Ｙを超過するからである。この結果、実際のワード線ＷＬ１で検出された、アドレス１，０及び１，２の欠陥に基づいて検出された冗長ビット線ＲＢＬ１及びＲＢＬ２のプログラミングが放棄される。それに対して、正常なビット線ＢＬ１によって代替される冗長ビット線ＲＢＬ０のプログラミングは放棄されない。つまり、実際のワード線ＷＬ１で検出された欠陥に基づいてプログラミングされないからである。そのプログラミングは、ワード線ＷＬ０で検出されたアドレス０，１の欠陥に基づいて行われる。続いて、正常なワード線ＷＬ１が冗長ワード線ＲＷＬ０によって代替される。
【００２１】
図１２には、集積メモリの、この状態が示されている。限界値Ｙは、値２に設定される。つまり、新たに、冗長ビット線ＲＢＬｉの２つがプログラミングのために使用されるからである。これは、冗長ビット線ＲＢＬ１及びＲＢＬ２であり、そのプログラミングは、上述のように、放棄される。メモリセルは、持続して検査され、その結果、直ぐ次の欠陥として、アドレス３，０の欠陥が検出される。これは、冗長ビット線ＲＢＬｉによって修理される。修理方法は、アナログ式に持続され、その際、冗長ビット線の幾つかのプログラミングは、カウンタＸの状態が限界値Ｙを超過すると常に放棄される。
【００２２】
利用されるが、未だプログラミングされていない冗長ビット線ＲＢＬｉの数が変わると、直ぐ次のワード線ＷＬｉの検査開始のために、限界値Ｙが新たに設定される。図２には、図１の流れ図を補完する部分が示されており、この部分は、Ａ及びＢで示した個所で取り出されており、それにより、限界値Ｙは、例えば、既にプログラミングされた冗長列線路の数が所定値Ｚを超過した場合に適合される。この場合、相対的に僅かな数の冗長列線路だけがプログラミングのために利用され、その結果、限界値Ｙを値Ｙ′に低減する必要がある。
【００２３】
図３には、本発明の修理方法の第２の実施例の流れ図が示されている。メモリセルは、アドレスＡＤＲ＝０から始まってシーケンシャルに検査される。エラーが検出されない限り、アドレスは連続して増分される。最後のアドレスに達しても、修理不可能な欠陥が残っていない場合、集積回路は修理されたものとされ、修理方法は終了される。欠陥のあるメモリセルが検出されると即座に、冗長線路をプログラミングのために未だ利用できる限り、この欠陥の修理は、当該行線路又は当該列線路を相応の冗長線路によって代替することによって行われる。しかし、既に全ての冗長線路がプログラミングされている場合、冗長線路のプログラミングは放棄され、その結果、元の正常な列乃至行線路が再度アドレッシングされる。続いて、全てのメモリセルが、スタートアドレスＡＤＲ＝０から開始して、新規にシーケンシャルに検査される。その際、最後に検出された欠陥よりもアドレスが前の欠陥が検出されない場合、プログラミングが放棄される冗長線路によって修理された欠陥が、他の冗長線路によって（つまり、複数回）修理される。従って、最後に検出された欠陥の修理のために空けられた冗長線路を使用することができる。しかし、最後に検出された欠陥のアドレスよりも低いアドレスの欠陥が検出された場合、当該冗長線路のプログラミングの放棄が取り消される。つまり、そのプログラミングの放棄の前にプログラミングされていたのと全く同様にして新たにプログラミングされる。つまり、この冗長線路は、実際の欠陥の修理のためには利用できない。その代わりに、冗長線路の他の線路のプログラミングが放棄され、セルが新規に検査される。この方法は、冗長線路の１つのプログラミングが放棄されるか、又は、実際の欠陥を修理できないまま、全ての冗長線路のプログラミングが順次放棄される迄、繰り返される。この後者の場合、チップは、欠陥があるとされ、修理方法が終了される。
【００２４】
以下、図４〜１０を用いて、図３に示した修理方法の具体的な実施例について説明する。この実施例では、集積メモリは、冗長ワード線ＲＷＬ０，ＲＷＬ１及び２つの冗長ビット線ＲＢＬ０，ＲＢＬ１を利用する。欠陥のあるメモリセルＭＣは、メモリセル領域内の交点によって特徴付けられている。この交点は、実際の検出された欠陥を示す。検出された欠陥の修理は、この実施例では、図の右側部分に示された表の列順序で行われる。アドレス０，１（ワード線ＷＬ０，ビット線ＢＬ１）の第１の欠陥の修理のためには、従って、冗長ワード線ＲＷＬ０が使用される。ポインタＰは、その都度直ぐ次のものとして使用すべき冗長線路を指示する。
【００２５】
図５には、ワード線ＷＬ０がアドレスにより冗長ワード線ＲＢＬ０によって代替される集積メモリが示されている。ポインタＰは、直ぐ次のものとしてプログラミングすべき冗長線路ＲＷＬ１を指示する。メモリセルの検査は、シーケンシャルに続行され、直ぐ次のものとして、メモリセル１，０の欠陥が検出される。図６によると、この欠陥は、冗長ワード線ＲＷＬ１のプログラミングによって修理される。その際、自動的に、ワード線ＷＬ１上の他の欠陥も修理される（これは検査する必要はない）。この際、前提とされているのは、プログラミングされる冗長線路は、それぞれエラーがないということである。これは、そのプログラミングの前に実行されるテストによって検出することができる。その際、エラーなしとして検出された冗長線路は、修理のために利用される。
【００２６】
直ぐ次のワード線ＷＬ２には欠陥がないので、直ぐ次に検出される欠陥は、アドレス３，０の欠陥である。ポインタＰは、その間、第３の冗長線路ＲＢひ０を指示し、その結果、実際の欠陥は、冗長ビット線ＲＢＬ０によって代替される。これは、図７に示されている。図８によると、アドレス３，１の直ぐ次の欠陥は、冗長ビット線ＲＢＬ１によって代替される。
【００２７】
直ぐ次に検出されたアドレス３，３の欠陥は、最早直ぐには修理することができないので（つまり、既に全ての冗長線路がプログラミングされ、ポインタＰは、第１の冗長線路ＲＷＬ０を指示する。この実施例では、ポインタＰが指示する（これは、第１のものとしてプログラミングされる冗長線路ＲＢＬ０である）冗長線路のプログラミングが放棄される。冗長ワード線ＲＷＬ０によって今まで修理された１つの欠陥は、アドレス０，１の欠陥であり、この欠陥は、更に冗長ビット線ＲＢＬ１のプログラミングによっても取り除かれるので、全てのメモリセルの次ぎのテストの場合に、アドレスが実際の、アドレス３，３の欠陥の前にある欠陥は検出されない。従って、そのプログラミングの放棄によって、空き状態になった冗長ワード線ＲＷＬ０をメモリセル３，３の欠陥の修理のために使用することができる。この状態は、図９に示されている。ポインタＰは、直ぐ次の冗長線路に進められる。メモリテストは、未だ検査されていないメモリセルＭＣを用いて続行されて、アドレス４，２の欠陥が検出される。続いて、ポインタＰが指示している冗長ワード線ＲＷＬ１のプログラミングが取り消される。メモリセルは、アドレス０，０から始めて新たに検査され、その際、アドレス１，２の欠陥が第１の欠陥として検出される。このアドレスは、実際の欠陥のアドレス４，２よりも小さい。従って、冗長ワード線ＲＷＬ１のプログラミングの放棄が取り消される。
【００２８】
ポインタは、直ぐ次の冗長線路ＲＷＬ０に進められる（図１０）。実際の、アドレス４，２の欠陥は依然として修理されていないので、この冗長線路ＲＢＬ０のプログラミングは放棄される。メモリセルは、スタートアドレス０，０から始めて新たにテストされる。その際、アドレス４，２の実際の欠陥の前にある欠陥は検出されない。これは、アドレス１，０及び３，０の欠陥が予め冗長ワード線ＲＢＬ１及びＲＷＬ０によって修理される点にある。つまり、空き状態になった冗長ビット線ＲＢＬ０は、実際の欠陥の修理のためにプログラミングすることができる。この状態は、図１０に示されている。ポインタＰは、直ぐ次のプログラミングされる冗長線路ＲＢＬ１に進められる。最後のものとして、欠陥のないアドレス４，３のメモリセルが検査される。従って、完全に修理された集積メモリでの修理方法が閉じられる。
【図面の簡単な説明】
【図１】  修理方法の第１の実施例の流れ図
【図２】  図１の流れ図の補完図
【図３】  修理方法の第２の実施例の流れ図
【図４】  図３に示した修理方法の実施のための実施例を示す図
【図５】  図３に示した修理方法の実施のための実施例を示す図
【図６】  図３に示した修理方法の実施のための実施例を示す図
【図７】  図３に示した修理方法の実施のための実施例を示す図
【図８】  図３に示した修理方法の実施のための実施例を示す図
【図９】  図３に示した修理方法の実施のための実施例を示す図
【図１０】  図３に示した修理方法の実施のための実施例を示す図
【図１１】  図１に示した修理方法の実施のための実施例を示す図
【図１２】  図１に示した修理方法の実施のための実施例を示す図
【図１】
0003734709.tif 000002
【図２】
0003734709.tif 000003
【図３】
0003734709.tif 000004
【図４】
0003734709.tif 000005
【図５】
0003734709.tif 000006
【図６】
0003734709.tif 000007
【図７】
0003734709.tif 000008
【図８】
0003734709.tif 000009
【図９】
0003734709.tif 000010
【図１０】
0003734709.tif 000011
【図１１】
0003734709.tif 000012
【図１２】
0003734709.tif 000013