(57)【特許請求の範囲】
【請求項１】
メモリ・セルのローおよびコラムと冗長ローおよびコラムとを有する半導体メモリを製造するタイプの半導体メモリ製造システムであって、前記冗長ローおよびコラムは、故障したメモリ・セルを代替するために前記半導体メモリにおけるローおよびコラムの代わりとなり得る、半導体メモリ製造システムにおいて、
ａ）テスト対象メモリにおける前記セルのそれぞれが故障しているかどうかを判断するように構成されており、前記テスト対象メモリにおける前記セルに対する故障指示を記憶するキャッチ・メモリを有するテスト・サブシステムと、
ｂ）前記テスト対象メモリのどのローおよびコラムを冗長ローまたはコラムによって代替すべきかを判断するように構成されており、解析メモリを含む解析サブシステムと、
ｃ）前記キャッチ・メモリを前記解析メモリに接続するデータ転送回路であって、
ｉ）前記キャッチ・メモリに記憶された情報に基づき前記半導体メモリにおけるローまたはコラムをいつ代替すべきかを判断し、そのローまたはコラムにおける故障セルの指示の転送を禁止する電子回路と、
ｉｉ）前記電子回路に接続されており、前記電子回路によって禁止されていない故障セルの指示を解析メモリに送るデータ符号化回路と、
を備えているデータ転送回路と、
から構成されている、半導体メモリ製造システム。
【請求項２】
前記データ符号化回路によって生じる前記故障セルの指示は、前記故障セルの少なくとも一部に対するアドレスを含む、請求項１記載の半導体メモリ製造システム。
【請求項３】
前記データ符号化回路によって生じる前記故障セルの指示は、複数のデジタル・ワードを含み、それぞれのワードは、故障セルのアドレスを記憶する複数ビットのアドレス・フィールドと、それぞれが前記複数ビットのアドレス・フィールドよりも少ないビットを有し前記複数ビットのアドレス・フィールドの中の前記アドレスにおける前記メモリ・セルにその位置に基づき別のメモリ・セルを表す複数のフィールドと、を有する、請求項２記載の半導体メモリ製造システム。
【請求項４】
前記複数のフィールドのそれぞれは単一ビットを有する、請求項３記載の半導体メモリ製造システム。
【請求項５】
前記複数のフィールドは４つの単一ビット・フィールドから構成される、請求項４記載の半導体製造システム。
【請求項６】
前記判断する電子回路は、
ａ）データ値のストリームを受け取る回路入力であって、前記ストリームにおけるそれぞれのデータ値は、前記半導体メモリのセルの故障または非故障状態を表す、回路入力と、
ｂ）スレショルド値を記憶するレジスタと、
ｃ）前記入力ストリームにおける故障セルの表現をカウントし、前記カウントされた数が前記スレショルド値を超える時には制御出力をアサートする手段と、
ｄ）前記回路入力に接続された入力と出力とを有し、前記制御出力がアサートされているときには、故障状態を示すデータ値の代わりに前記非故障状態を表すデータ値を用いる禁止回路と、
から構成されている、請求項１記載の半導体メモリ製造システム。
【請求項７】
前記判断する電子回路は、
ａ）データ値のストリームを受け取る回路入力であって、前記ストリームにおけるそれぞれのデータ値は、前記半導体メモリのセルの故障または非故障状態を表す、回路入力と、
ａ）転送回路メモリと、
ｂ）前記転送回路メモリに結合されているアドレス発生回路と、
ｃ）前記半導体メモリのローまたはコラムにおける故障セルの数がいつスレショルドを超えるかを判断する手段と、
ｄ）前記回路入力に接続された入力と出力とを有し、少なくとも２つの制御入力を更に有しており、制御出力がアサートされているときには、故障状態を示すデータ値の代わりに前記非故障状態を表すデータ値を用いる禁止回路と、
ｅ）前記電子回路を制御するコントローラであって、
ｉ）第１の通過では、前記スレショルドを超えるローまたはコラムを判断する前記手段からの指示を、前記転送回路メモリに記憶し、
ｉｉ）第２の通過では、前記転送回路メモリに記憶されている値を、前記禁止回路の制御入力の一方に、前記判断する手段の前記出力を前記禁止回路の第２の制御入力に与える、コントローラと、
から構成されている、請求項１記載の半導体メモリ製造システム。
【請求項８】
メモリ・セルのローおよびコラムと冗長ローおよびコラムとを有する半導体メモリを製造するタイプの半導体メモリ製造システムであって、前記冗長ローおよびコラムは、故障したメモリ・セルを代替するために前記半導体メモリにおけるローおよびコラムの代わりとなり得る、半導体メモリ製造システムにおいて、
ａ）テスト対象メモリにおける前記セルのそれぞれが故障しているかどうかを判断するように構成されており、前記テスト対象メモリにおける前記セルに対する故障指示を記憶するキャッチ・メモリを有するテスト・サブシステムと、
ｂ）前記テスト対象メモリのどのローおよびコラムを冗長ローまたはコラムによって代替すべきかを判断するように構成されており、解析メモリを含む解析サブシステムと、
ｃ）前記キャッチ・メモリを前記解析メモリに接続するデータ転送回路であって、テスト対象メモリにおける故障を指示するデータ値のストリームを符号化する手段を有し、前記符号化手段は、複数のフィールドを有する出力値を与え、前記複数のフィールドの少なくとも第１は前記テスト対象メモリにおける故障セルのアドレスを指示し、前記複数のフィールドの少なくとも第２は、前記複数のフィールドの前記第１におけるアドレスに対して所定の関係を有するアドレスにおけるセルに故障があるかどうかを示す、データ転送回路と、
から構成されている、半導体メモリ製造システム。
【請求項９】
前記複数のフィールドの前記第２は単一ビット・フィールドである、請求項８記載の半導体メモリ製造システム。
【請求項１０】
前記所定の関係は、前記複数のフィールドの前記第２は前記複数のフィールドの前記第１でのアドレスに続くアドレスにおけるセルに向けられる、請求項８記載の半導体メモリ製造システム。
【請求項１１】
前記出力値における前記複数のフィールドは、第３、第４および第５のフィールドを有し、それぞれが、前記複数のフィールドの前記第１でのアドレスに対して所定の関係を有するアドレスにおけるセルに故障が存在するか否かを示す、請求項８記載の半導体メモリ製造システム。
【請求項１２】
前記キャッチ・メモリは第１のデータ速度を有し、前記解析メモリは第２のデータ速度を有し、前記第２のデータ速度は前記第１のデータ速度よりも低速である、請求項８記載の半導体メモリ製造システム。
【請求項１３】
前記キャッチ・メモリはＳＲＡＭであり、前記解析メモリはＤＲＡＭである、請求項１２記載の半導体メモリ製造システム。
【請求項１４】
前記第２のデータ速度は前記第１のデータ速度の半分である、請求項１２記載の半導体メモリ製造システム。
【請求項１５】
前記第２のデータ速度は前記第１のデータ速度の４分の１未満である、請求項１２記載の半導体メモリ製造システム。
【請求項１６】
前記データ転送回路は、前記半導体メモリにおけるローまたはコラムがいつ代替されなければならないかを前記キャッチ・メモリに記憶された情報に基づいて判断しそのローまたはコラムにおける故障セルの指示の転送を禁止する電子回路を更に備えている、請求項８記載の半導体メモリ製造システム。
【請求項１７】
メモリ・セルのローおよびコラムと冗長ローおよびコラムとを有する半導体メモリを製造するタイプの半導体メモリ製造システムであって、前記冗長ローおよびコラムは、故障したメモリ・セルを代替するために前記半導体メモリにおけるローおよびコラムの代わりとなり得る、半導体メモリ製造システムにおいて、
ａ）テスト対象メモリにおける前記セルのそれぞれが故障しているかどうかを判断するように構成されており、テスト対象メモリにおけるセルが故障しているかどうかをそれぞれが指示するデータ値のストリームを発生するテスト・サブシステムと、
ｂ）前記テスト対象メモリ内の故障の位置を示す値を有する入力データ・ストリームを受け取り、前記テスト対象メモリのどのローおよびコラムを冗長ローまたはコラムによって代替すべきかを判断する解析サブシステムと、
ｃ）データ値の前記ストリームを前記テスト対象メモリから受け取る入力と、
データ・ストリームを前記解析サブシステムの前記入力に与える出力とを有するデータ転送回路であって、その入力における情報に基づき前記テスト対象メモリのローまたはコラムがいつ代替されなければならないかを判断しそのローまたはコラムにおける故障セルの指示の転送を禁止する電子回路を含む、データ転送回路と、
から構成されている、半導体メモリ製造システム。
【請求項１８】
前記判断する電子回路は、
ａ）データ入力であって、前記入力におけるデータは、異なる時点で複数の値の中の１つの値をとり、前記複数の値の第１は、前記テスト対象メモリのセルに故障が存在することを示し、前記複数の値の第２は、前記テスト対象メモリのセルには故障が存在しないことを示す、データ入力と、
ｂ）データ出力と、
ｃ）制御入力を有しており、前記データ入力と前記データ出力との間に接続された禁止回路であって、前記制御入力における信号に応答して、
ｉ）前記データ入力からの前記データ値を前記データ出力に通過させ、
ｉｉ）前記データ出力において、前記テスト対象メモリ内のセルには故障が存在しないことを示す値を与える、禁止回路と、
ｄ）前記制御入力に接続された制御出力を有している制御手段であって、
ｉ）前記テスト対象メモリのセルに故障が存在することを示すデータ値の発生をカウントするように構成され、リセット入力を有する第１のカウンタと、
ｉｉ）前記データ入力におけるデータ値をカウントする第２のカウンタと、
ｉｉｉ）前記第２のカウンタが所定の値を超えるときには、リセット信号を前記第１のカウンタに与える手段と、
ｉｖ）前記第１のカウンタが所定の値を超えるときには、制御信号を発生する手段と、
を備えている、請求項１７記載の半導体メモリ製造システム。
【請求項１９】
前記制御手段は、
ａ）データ入力とデータ出力とを有するメモリと、
ｂ）前記制御信号を前記メモリに選択的に記憶する手段と、
を更に備えている、請求項１８記載の半導体メモリ製造システム。
【請求項２０】
前記制御手段は、前記第１のカウンタが所定の値を超えるときには、前記制御信号発生手段の出力と組み合わされた前記メモリの前記データ出力から前記禁止手段への前記制御入力を引き出す手段を更に備えている、請求項１９記載モリ製造システム。
【発明の詳細な説明】
本発明は、広くは、半導体素子のテスト（試験）に関し、更に詳しくは、その製造過程における半導体メモリ・チップのテストおよび修復（repair）に関する。
現代のコンピュータでは、半導体メモリ・チップが用いられる。コンピュータのプロセッサがより強力になるにつれて、コンピュータにおいて必要とされるメモリの量が増加する。その結果として、１つのメモリ・チップに記憶できる情報のビット数が増大している。
より多くのメモリが用いられてきているため、市場では、メモリの製造業者は、メモリ価格の引き下げを強いられてきた。歴史的に見ると、記憶装置の１ビット当たりの価格は、著しく低下してきている。サイズの増加と価格の低下とが組み合わされることにより、半導体メモリの製造業者は、非常に困難な課題に直面してきた。すなわち、メモリ製造のコストを低下させなければならないのである。
より大きなメモリの製造コストを低下させる際の困難の１つとして、メモリのサイズが大きくなるにつれて、半導体メモリが欠陥を有する可能性が増大することがある。従って、メモリのサイズが大きくなるにつれて、歩留りが低下することが予測される。しかし、歩留りは、半導体回路の生産コストに影響する非常に重要な要素である。
歩留りを引き上げるために、メモリ製造業者は、それぞれの半導体メモリの一部として、冗長セルを含めている。欠陥を有するセルは、冗長セルによって代替され、完全に機能するメモリを与える。修復が迅速に行われることを仮定すれば、欠陥のあるダイを修復することにより、生産コストを低下させることができる。
修復は、典型的には、ウエハ・レベルのテストの一部としてなされる。ウエハ上のそれぞれのダイは、米国カリフォルニア州アグオラ・ヒルズ（Aguora Hills）のテラダイン社（Teradyne Inc.）によって販売されるＪ９９５などの高速メモリ・テスタを用いてテストされる。テスタは、故障しているメモリ・セルを識別し、どのセルに故障があるかに関する記録を作成する。故障情報は、テストが行われる際に、キャプチャ（capture）ＲＡＭに記憶される。
テストの後で、キャプチャＲＡＭの内容は、１又は複数の冗長性アナライザに転送される。あるシステムでは、それぞれの故障している位置のアドレスだけが冗長性アナライザに転送される。故障のアドレスだけを転送することにより、アナライザに記憶される情報の全体量を減少させることができる。
ロー（row:行）およびコラム（column:列）をグループ化することによって、損失性（lossy）のデータ圧縮も行われる。例えば、隣接するセルのクラスタは、時には、同じグループに含められる。これらのセルの中の１又は複数に故障がある場合には、データ値は、そのグループに故障があると指示することになる。そのグループ内の複数のセルに故障がある場合でも、１つの情報だけが冗長性アナライザに送信される。しかし、圧縮は損失性（不可逆性）であるため、冗長性アナライザに提供された情報に基づいて、どの個別のメモリ位置に故障があるかを判断することは不可能である。従って、グループ内のずべてのセルを代替しなければならない。
それぞれのアナライザは、別個のメモリとプロセッサとを含んでいる。プロセッサは、欠陥のあるメモリを修復するにはどのメモリ・セルを冗長セルによって代替すべきかを計算する。「自動メモリ・テスタのための冗長性アナライザ（Redundancy Analyzer For Automatic Memory Tester）」と称するM. Augartenによる米国特許出願第08/011,003号には、そのようなメモリ・テスタが開示されている。この米国出願を、本出願において援用する。どのローまたはコラムを代替すべきかを判断するのに、冗長性アナライザによって様々な技術が用いられる。
キャッチ（catch）ＲＡＭは、一般には、ＳＲＡＭから構成されるが、その理由は、ＳＲＡＭが非常に高速に動作するからである。同様に、アナライザの中のメモリもＳＲＡＭで構成されるのが通常であり、それによって、高速が達成される。しかし、ＳＲＡＭは高価であるので、テスト対象である非常に大きなメモリに関する情報をアナライザが保持することができなければならない場合には、深刻な問題となり得る。
どのローまたはコラムを代替すべきかに関する情報は、典型的には電子データ・ファイルとして、修復ステーションまで送られる。修復ステーションは、典型的にはレーザを用いて、ダイ上の要求されている接続を行い、ダイを恒久的に変更する。
メモリにおけるセルは、ローとコラムとに配列されている。冗長セルもまた、ローとコラムとに配列されている。修復は、欠陥のあるセルを含むロー全体またはコラム全体を交換することによってなされる。
冗長ローおよびコラムは、限られた数だけしか存在しないので、修復できる欠陥のあるセルの数には制限がある。欠陥セルが修復可能であるよりも多くある場合には、ダイ全体が廃棄されるのが典型的である。
非常に多くの場合、欠陥のあるセルは、クラスタとして生じる。従って、１つのローまたは１つのコラムを交換することによって、複数の欠陥セルの修復が可能であることも多い。冗長ローまたはコラムを適切に用いれば、多くの欠陥を有するメモリでも、少数の冗長ローおよびコラムを用いて、修復することができる。冗長ローおよびコラムを最良の態様で用いるために、多くのメモリ・テスタが、すべての欠陥セルを修復する方法が見つかるまで、冗長ローおよびコラムを用いる様々な方法を試みるようにプログラムされる。この方法は、「網羅的ツリー型」（Exhaustive Tree Type）法と称される。すべての欠陥セルの交換を可能にする解決策がどのようなものであれ存在する場合には、この方法によれば、最終的には、その解決策を見出すことができる。しかし、この方法は、比較的低速である。大きなメモリに対しては、この技術では低速すぎる可能性が大きく、特に、半導体メモリの大量生産において用いる場合にその可能性が大きい。
特定の欠陥を修復するのに冗長ローおよびコラムをいかに配分すべきかを判断する別の方法は、「最大修復アルゴリズム」（Most Repair Algorithm）と称される。この方法によれば、テスタは、最も多くの欠陥メモリ・セルを有しているローまたはコラムを識別する。１つの冗長要素を用いてそのローまたはコラムが修復される。次に多くの欠陥セルを有するローまたはコラムが、次に修復される。このプロセスは、すべての冗長要素が用いられるまで反復される。この方法は、うまく機能することが多く、網羅的ツリー型の方法よりも、はるかに高速である。しかし、修復は可能であってもこの方法では冗長要素を配分することでは修復できないあるパターンの欠陥セルが存在する。
メモリの修復を行うことができる速度を上昇させる方法の１つに、「必須修復アルゴリズム」（Must Repair Algorithm）法と称されるものがある。必須修復アルゴリズムでは、存在する冗長コラムよりも多くの故障セルを含むすべてのローは、たとえ少数であっても、冗長ローを用いて修復しなければならないという事実を利用している。同様に、存在する冗長ローよりも多くの故障セルを含むすべてのコラムを、たとえ少数であっても、冗長ローを用いて修復しなければならない。従って、必須修復アルゴリズムは、前処理（preprocessing）ステップとして、冗長要素をこれらの冗長要素を用いて修復されなければならない故障セルに正確に配分するのに、広く用いられている。
既存の速度向上方法は存在しているものの、製造過程の間にメモリを修復するのに要する時間を更に短縮することが強く望まれている。半導体処理設備は非常に費用のかかるものであるから、経済的に操業するために、それぞれの設備が可能な限り多くのメモリ・チップを製造することが重要である。
発明の概要
以上で述べた背景を念頭におくと、本発明の目的は、半導体メモリ・チップのテストからのデータを解析する高速な方法を提供することである。
また、アナライザにおいて安価で低速なメモリを用いることを可能にすることも本発明の目的である。
以上のおよびそれ以外の目的は、アナライザのメモリに記憶されている情報の量を減少させることによって達成される。ある実施例では、この減少は、必須修復アルゴリズムによる交換をトリガする数を超えるローまたはコラムに故障を有する記憶装置を抑制することによって、達成される。別の実施例では、この減少は、故障したセルとその周囲のセルとに関する情報を圧縮した形式で記憶することによって達成される。
【図面の簡単な説明】
本発明は、以下で述べる詳細な説明と次の添付の図面とを参照することによって、よりよく理解できるはずである。
図１は、従来技術によるメモリ製造作業の修復部分のブロック図である。
図２は、キャッチＲＡＭと本発明によるアナライザ・メモリとの間の転送経路のブロック図である。
図３は、図２に示されたハードウェア・アクセラレータ部分のブロック図である。
図４は、図２のメモリにおいて用いられている圧縮されたデータ・フォーマットを図解するスケッチである。
好適実施例の説明
図１は、半導体製造作業のメモリ修復部分を示している。テスト・ヘッド１１２は、テスト対象である半導体メモリ（semiconductor memory under test）を含むウエハ１１０Ａと接触する多数のプローブ（参照番号なし）を有している。テスト・ヘッド１１２は、どのメモリ・セルが故障しているかを判断する信号を発生し、測定する。
テスト・ヘッド１１２は、この情報を、テストが行われる際に記憶するキャプチャＲＡＭ（図示せず）を含む。キャプチャＲＡＭは、一般に、ＳＲＡＭなどの高速のメモリであり、それによって、テストを、非常に迅速に行うことができる。
テストの後で、キャプチャＲＡＭに記憶された故障情報が、テスト・システム・コントローラ１１４内の１又は複数の解析回路（図示せず）に転送される。解析回路は、テスト対象メモリの中のどのローとコラムとが冗長要素によって代替されるべきかを判断する。好適実施例では、テスト対象メモリのそれぞれの領域に対して解析回路が存在する。メモリのそれぞれの領域は、それ自身の冗長ローおよびコラムを有しており、それぞれの領域に対して要求される修復が別々に計算されることを可能にしている。しかし、解析回路の数は、本発明にとって重要でない。
好適実施例では、解析回路は、「バックグラウンド・モード」（back ground mode）で並列的に動作する。解析回路は、別のメモリがテストされている間に１つのテスト対象メモリに関して収集されたデータに対して作用する。すべての解析回路は、同時に動作し、それぞれが、テスト対象メモリの１つの領域を解析する。このようにして、メモリ製造システムの全体的なスループットを最大化することができる。
解析回路によって得られた情報は、次に、レーザ修復ステーション１１６に送られる。同時に、テスト対象メモリを含むウエハは、レーザ修復ステーション１１６の位置１１０Ｂに移動される。レーザ修復ステーション１１６は、レーザ・ビームを用いてテスト対象メモリを改変し、故障しているローおよびコラムを切断して、冗長要素を用いてそれらのローおよびコラムを代替する。ほとんどの場合に、冗長ローおよびコラムは、正しく用いられれば、テスト対象メモリを完全に修復する。
図２を参照すると、解析回路（analysis circuit）の中のキャッチＲＡＭ２１０と解析ＲＡＭ２２０との間のデータ経路の更なる詳細が示されている。キャッチＲＡＭ２１０からのデータは、損失性データ圧縮器（lossy data compressor）２１４に送られる。図２には、複数の経路２１２Ａ、２１２Ｂ、２１２Ｃが示されている。好適実施例では、複数の解析回路が存在し、それぞれの解析回路には１つの経路が備わっている。
損失性データ圧縮器２１４は、従来技術での場合のように、隣接のメモリ・セルのグループを、１つの値に合成する。損失性データ圧縮器２１４は、どのメモリでもグループ単位で代替することができる冗長ローまたはコラムを伴って構成されているメモリをテストするときに用いられる。例えば、４つのグループになっている冗長ローまたはコラムを含むメモリの製造過程では、損失性データ圧縮器を動作させて、４つすべての隣接するセルを、１つの値に合成する。しかし、好適実施例では、損失性データ圧縮器は、損失性データ圧縮を実行するか、または、故障データを圧縮せずに送るかのどちらかのように制御することができる。従来技術の場合のように、ユーザは、テスト・システムのためのテスト・プログラムを準備し、このプログラムが、複数の機能を実行するようにプログラムすることができるハードウェア要素の動作を特定する。
損失性データ圧縮器２１４からのデータは、ハードウェア・アクセラレータ（accelerator）２１６に送られる。ハードウェア・アクセラレータ２１６もまた、複数の動作モードを有する。これを、データを処理せずに単に通過させるようにもプログラムできる。「１通過」（one pass）モードまたは「２通過」（two pass）モードで、動作させることができる。１通過モードでは、ハードウェア・アクセラレータ２１６は、ローまたはコラムのどちらか一方に作用する。ハードウェア・アクセラレータ２１６は、それぞれのローまたはコラムが冗長要素によって代替されなければならない程多くの故障を含むかどうかを判断する。
ハードウェア・アクセラレータ２１６は、あるローまたはコラムが代替されなければならない程多くの故障を含んでいると判断すると、そのローまたはコラムにおける更なる故障セルに関するデータを圧縮し、それによって、送られるデータの全体量を減少させる。しかし、送られる情報は、テスト対象メモリを修復するのには充分である。データ圧縮はなされてはいるが、有用な情報は何も失われていない。
ハードウェア・アクセラレータ２１６により、故障データのためのデータ解析時間を減少させるという追加的な効果が得られる。従来技術におけるシステムでは、どのローまたはコラムを代替しなければならないのかを判断するためには、解析ＤＲＡＭ２２０への複数回のアクセスが必要であり、かなりの処理時間を要した。本発明では、メモリがロードされている間に、同じ処理が実行され、余分の処理時間は、実質的に何も必要としない。
２通過モードでは、ハードウェア・アクセラレータ２１６は、同様に機能する。しかし、ハードウェア・アクセラレータ２１６は、ローまたはコラムのどちらか一方が代替されなければならないことを示すのではなく、ローおよびコラムの両方が代替されなければならないことを示す。２通過モードは、ハードウェア・アクセラレータ２１６において、１通過モードの場合よりも長く時間がかかる。しかし、冗長アナライザによって、処理時間が更に短縮される。
ユーザは、１通過モードまたは２通過モードを、テスト時間の全体的な短縮に基づいて選択する可能性が高い。理想的な動作状態では、テスト対象メモリをテストし故障データをキャッチＲＡＭ２１０にロードするための時間の長さは、冗長アナライザが解析ＤＲＡＭ２２０の中のデータを解析するのに要する時間と同じであるはずである。このようにして、１つのテスト対象メモリに関するデータを、解析ＤＲＡＭ２２０の中の先にテストされたメモリから導かれたデータが冗長アナライザによって解析されている間に、キャッチＲＡＭ２１０にロードすることができる。
エンコーダ２１８は、更に、損失のないデータ圧縮を行う。その目的は、どの故障セルに関する情報も失うことなく、ハードウェア・アクセラレータ２１６から解析ＤＲＡＭ２２０に転送されるデータのビット数を減少させることである。この符号化方式は、故障セルはクラスタとして生じるのが通常であるという原理に基づいて機能する。例えば、半導体回路に加えられる不純物は、近接する複数のセルの故障の原因となる。従って、故障セルに遭遇するときは常に、エンコーダ２１８は、同じデジタル・ワードを用いて、故障セルを識別し、近接するセルの状態を与える。このようにして、近接セルのどれが故障している場合でも、エンコーダ２１８は、そのセルを識別するために別のデジタル・ワードを送る必要がない。
解析ＤＲＡＭ２２０にロードする前にデータを符号化することの重要な効果は、それによって、ローディング・プロセスを高速化できるということである。解析ＤＲＡＭ２２０は、キャッチＲＡＭ２１０よりも、動作速度がはるかに低速である。しかし、キャッチＲＡＭ２１０からの複数のデータを解析ＤＲＡＭ２２０に記憶される１ワードに符号化することによって、キャッチＲＡＭ２１０が動作することができる最高の速度で転送を行うことが可能になる。例えば、キャッチＲＡＭ２１０における５つの近接するセルが解析ＤＲＡＭ２２０における１ワードとして表される場合には、解析ＤＲＡＭは、キャッチＲＡＭ２１０の５分の１の速度でクロックされる。冗長解析動作の全体的な速度を、より低いコストで向上させることができる。その理由は、冗長解析回路で低速で安価なメモリを用いているにもかかわらず、キャッチＲＡＭ２１０が動作できる最高の速度でデータ転送を行うことができるからである。
次に図３を参照すると、ハードウェア・アクセラレータ２１６の更なる詳細が示されている。故障データは、FAULT_DATA_INライン上をハードウェア・アクセラレータ２１６に与えられる。このラインは、損失性データ圧縮器２１４（図２）に接続されている。FAULT_DATA_IN上のデータは、一度に１つのローまたは１つのコラムから生じる。
図２に示されているように、キャッチＲＡＭ２１０は、Ｘアドレス・カウンタ２２４とＹアドレス・カウンタ２２２とを有する。２つのアドレス・カウンタを用いることにより、キャッチＲＡＭ２１０内の情報が、一度に１つのローまたはコラムから読み出されることが可能になる。１つのローからの読み出しを行うためには、Ｘアドレス・カウンタ２２４が、そのローの最後に到達するまで、インクリメントされる。次のローに移動するには、Ｙアドレス・カウンタ２２２がインクリメントされる。１つのコラムからの読み出しを行うためには、Ｙアドレス・カウンタ２２２が、そのコラムの最後に到達するまで、インクリメントされる。それぞれのコラムの最後では、Ｙアドレス・カウンタ２２２がインクリメントされる。このようにして、制御回路（図示せず）が、ローまたはコラムがキャッチＲＡＭ２１０から読み出されるかどうかを命令し、制御信号（図示せず）をハードウェア・アクセラレータ２１６に与えて、ローまたはコラムの開始または終了を指示する。
図３には、FAULT_DATA_IN信号がカウンタ３１２に与えられることが示されている。カウンタ３１２は、FAULT_DATA_INが故障セルを示す値をとる度にインクリメントする。データがキャッチＲＡＭ２１０からロー単位で読み出される場合には、カウンタ３１２は、それぞれのローの開始点でリセットされる。データがコラム単位で読み出される場合には、カウンタ３１２は、それぞれのコラムの開始点でリセットされる。
レジスタ３１０には、ローまたはコラムがいつ修復されなければならないかを指示するスレショルド値がロードされる。例えば、データがロー単位で読み出されており、テスト対象メモリに４つの冗長コラムがある場合には、スレショルドは、５に設定される。換言すると、１つのローに５以上の故障セルがある場合には、そのローは、冗長コラムを用いて修復することはできない。従って、メモリを修復しなければならないのであれば、そのローを、冗長ローによって代替しなければならない。
動作においては、スレショルド値は、ユーザによってプログラムされなければならない。その理由は、正しい値は、テスト対象メモリの構成（コンフィギュレーション）に依存するからである。２通過モードの動作では、スレショルド・レジスタ３１０内の値は、テスト対象メモリにおける異なる数の冗長ローおよびコラムによって、通過の間に変化する可能性がある。
スレショルド・レジスタ３１０と故障セル・カウンタ３１２との内容は、コンパレータ３１４において比較される。故障セル・カウンタ３１２の値がスレショルド・レジスタ３１０の値以上であるときには、コンパレータ３１４の出力は、アサート（assert）される。コンパレータ３１４の出力は、動作モードによって、異なる効果を有する。
１通過モードでは、コンパレータ３１４の出力は、禁止回路３２６に送られる。コンパレータ３１４の出力がアサートされていない場合には、禁止回路３２６は、FAULT_DATA_INを、FAULT_DATA_OUTに通過させる。FAULT_DATA_OUTは、エンコーダ２１８に与えられる（図２）。その場合には、FAULT_DATA_OUTは、FAULT_DATA_INが故障を示すすべての位置で故障を指示する。
他方で、１通過モードでは、コンパレータ３１４の出力がアサートされているときには、禁止回路３２６は、FAULT_DATA_OUTを、故障セルがないことを示すように設定する。換言すれば、任意の故障セルに関するデータは、禁止される。
２通過モードでの動作の第１の通過の間は、コンパレータ３１４の出力は、ＲＡＭ３２４にデータ入力として与えられる。ＲＡＭ３２４は、１ビット幅のメモリであり、少なくとも、テスト対象メモリに存在するローまたはコラムと同じ数の記憶位置を含む。第１の通過の間に、コンパレータ３１４が１つのローまたはコラムが代替されなければならないことを示す場合には、１つの指示がメモリ３２４に記憶される。
アドレス・カウンタ３２２は、アドレスをメモリ３２４に与えるのに用いられる。これは、２通過モードでの動作では、それぞれの通過の開始時にリセットされる。アドレスを発生するためには、長さレジスタ３１８に、ローまたはコラムのどちらか一方におけるセルの数がロードされる。データがロー単位で読み出されているときには、レジスタ３１８の値はローの長さである。データがコラム単位で読み出されるときには、この値はコラムの長さである。
それぞれの通過の開始時では、カウンタ３１６は、ゼロに設定される。それぞれのデータ値がキャッチＲＡＭ２１０（図２）から読み出されると、カウンタ３１６がインクリメントされる。カウンタ３１６がインクリメントされ長さレジスタ３１８の値と等しくなると、コンパレータ３２０の出力はアサートされる。この信号は、データがロー単位で読み出されるときには、ローの最後に到達したことを示し、データがコラム単位で読み出されるときには、コラムの最後に到達したことを示す。
コンパレータ３２０の出力は、カウンタ３１２および３１６をリセットする。これにより、ローまたはコラムにおけるセルの数のカウントが開始され、同様に、そのローまたはコラムにおける故障セルのカウントも開始される。
更に、コンパレータ３２０の出力がアサートされると、アドレス・カウンタ３２２がインクリメントされる。第１の通過の間には、マルチプレクサ３２８は、アドレス・カウンタ３２２の値をメモリ３２４に与えるように設定される。アドレス・カウンタ３２２は、次のローまたはコラムに対応するメモリ位置にアクセスする。コンパレータ３１４の出力によって示されているように、先のローまたはコラムのほうが、レジスタ３１０のスレショルド値よりも多くの故障セルを有していた場合には、そのような指示がメモリ３２４の適切な位置に残され、その通過の間はその後で変更されない。第１の通過の最後で、メモリ３２４は、データがロー単位で読み出されるときにはそれぞれのローが、または、データがコラム単位で読み出されるときにはそれぞれのコラムが、代替されなければならないかどうかを示す値を含む。
このようにして、２通過モードでの動作の第１の通過の間には、コンパレータ３１４の出力は、禁止回路３２６を制御するのではなく、メモリ３２４に記憶される。２通過モードでの動作の第１の間は、禁止回路３２６は、どのデータであっても通過してFAULT_DATA_OUTに送られることを禁止する。２通過モードでの動作の第１の通過の間は、解析ＤＲＡＭ２２２には、どのデータも記憶されない。
２通過モードでも動作の第２の通過の間は、データが読み出される方法が切り換えられる。データが第１の通過の間はロー単位で読み出されていた場合には、第２の通過の間には、コラム単位で読み出される。また、その逆のこともいえる。
コンパレータ３１４は、また、データがどのように読み出されるのかによって、コラムまたはローが代替されなければならないのかどうかを示すのに用いられる。コンパレータ３１４の出力は、禁止回路３２６に与えられる。１通過モードの場合のように、コラムまたはローがコンパレータ３１４に示されているように代替されなければならない場合には、禁止回路３２６は、故障セルを示すすべてのそれ以降のデータ値を禁止する。
更に、メモリ３２４の値は、また、故障メモリ・セルを示す出力を禁止するように作用する。第２の通過の間は、マルチプレクサ３２８は、カウンタ３１６をメモリ３２４のアドレス入力に接続するように設定される。カウンタ３１６は、FAULT_DATA_INのすべてのセル値に対してインクリメントされる。第２の通過では、メモリ・アドレスは、読み出しアドレスであり、メモリ３２４の中の１つの値が読み出されて、禁止回路３２６に与えられる。メモリ３２４から読み出された値がアサートされる場合には、それによって、故障セルを示すデータ値が禁止回路３２６を通過することが禁止される。メモリ３２４から読み出された値は、第１の通過の間に代替が必要であると判断されたローまたはコラムにある故障セルを取り除く。
例えば、FAULT_DATA_INが第１の通過の間にロー単位でキャッチＲＡＭ２１０から読み出される場合には、第１の通過は、テスト対象メモリが修復されるのであればテスト対象メモリのどのローが代替されなければならないのかを判断する。第１の通過の最後に、メモリ３２４は、代替されなければならないそれぞれのローに対して、論理ハイ（HI）信号を記憶する。図解されている実施例では、第１の通過の間は、解析ＤＲＡＭ２２０に送られるデータはない。
第２の通過では、FAULT_DATA_INは、コラム単位でキャッチＲＡＭ２１０から読み出される。故障データは、第２の通過の間は、禁止回路３２６を通過する。しかし、いったんコンパレータ３１４の出力が冗長ローよりも多くの故障セルが１つのコラムにあると判断すると、そのコラムにおける故障セルのそれ以降の指示は、禁止回路３２６を通過しない。更に、代替されなければならないローにおける任意の故障セルは、やはり、メモリ３２４から読み出されたデータに基づいて、禁止回路３２６によって、阻止される。
禁止回路３２６は、このようにして、それ以降の冗長解析に必要な情報だけを通過させる。冗長解析を変更しないであろう故障セルの指示は通過されず、それによって、冗長解析時間だけでなく、転送時間が、短縮される。禁止回路３２６は、上述の機能を実行する標準的な論理設計技術を用いて、作られる。
故障しているものとして指示されるセルの数を減少させることは有益であるが、その理由は、エンコーダ２１８（図２）は、故障セルがあるときにだけデジタル・ワードを解析ＤＲＡＭに与えるからである。テスト対象メモリにおけるメモリ・セルの中の非常に小さなパーセンテージだけが故障しているのが通常であり、それにより、テスト対象メモリ内にあるよりも少ないビット数で故障セルを記述することが可能になる。従来技術では、データ減少は、それぞれの故障セルのアドレスだけを記憶することによって達成されていた。
本発明によれば、エンコーダ２１８において、更なる強化がなされる。図４には、エンコーダ２１８のそれぞれのデジタル・ワードには、５つのフィールドが含まれる様子が示されている。フィールド５１２は、故障メモリ・セルのアドレスを含む。フィールド５１２は、テスト対象メモリにおける任意のビットのアドレスを表す複数ビットを含む。フィールド５１４Ａ、５１４Ｂ、５１４Ｃ、５１４Ｄは、それぞれ、１ビットを含む。フィールド５１４Ａ、５１４Ｂ、５１４Ｃ、５１４Ｄは、それぞれが、テスト対象メモリにおける１つの追加的セルの状態を示す。特に、これらのフィールドは、フィールド５１２に記憶されたアドレスが表す故障ビットに続くテスト対象メモリの４ビットの状態を示す。フィールド５１４Ａ、５１４Ｂ、５１４Ｃまたは５１４Ｄのいずれかが論理ハイであると、テスト対象メモリの対応する位置に故障セルがあることを表す。
このように情報を符号化することには、複数の効果がある。第１に、テスト対象メモリにおける故障セルは、グループとして生じることが多い。従って、多くの場合に、故障セルが発見されるときには、次の４つのセルの中の少なくとも１つが故障している可能性が大きい。それぞれのワードにおいて、追加的な４ビットを用いると、解析ＤＲＡＭに１又は複数ワードを記憶する必要がなくなる場合が多く、従って、解析ＤＲＡＭにおけるスペースが節約される。
更なる効果であるが、解析ＤＲＡＭにワードがロードされる速度は、キャッチＲＡＭ２１０からビットが読み出される速度の５分の１以下である。これによって、解析ＤＲＡＭ２２０が、キャッチＲＡＭ２１０よりもはるかに低速にクロックされることが可能になる。このように動作速度が低速であることにより、より低速でより安価なＤＲＡＭを用いることが可能になる。
テスト対象メモリにおける故障セルに関するデータは、いったん解析ＤＲＡＭ２２０にロードされると、既知の冗長解析技術に従って処理することができる。テスト対象メモリの中のいくつかのセルは別々のワードではなく単一ビット５１４Ａ、・・・、５１４Ｄとして表されるという事実を考慮するために、僅かな修正は必要であるが、これは、この技術分野における技術知識の範囲内のことである。本発明によると、ハードウェア・アクセラレータ２１６が解析ＤＲＡＭ２２０における故障セルの数を減らしているので、解析時間が短縮される。
この解析の結果は、好適実施例では、テスト対象メモリの中のどのローおよびコラムが冗長要素によって代替されるべきかを示す電子データ・ファイルである。この電子データ・ファイルは、レーザ修復ステーションに送られ、そこで、このテスト対象メモリは修復される。
以上で１つの実施例を説明したが、多数のこれ以外の実施例または変形例が可能である。例えば、図２には、３つの別々の解析ＤＲＡＭ２２０が存在する様子が示され、異なる解析回路に対応している。解析回路の実際の数は、これとは別でもかまわない。好適実施例では、テスト対象メモリのそれぞれの領域に対して、少なくとも１つの解析ＤＲＡＭが存在する。しかし、費用と性能との間にはトレード・オフの関係が存在し、このトレード・オフを行うことによって、解析回路の全体数が示される。
これまでの説明では、メモリは、０で始まるアドレス空間を有するものとして説明されてきた。多くの場合に、計算システムでは、様々なメモリが１つのアドレス空間を共有し、それによって、共通なバス上でアクセスできるようになっている。その場合には、いくつかのメモリに対するアドレスは、ゼロからずれ（オフセットし）ている。しかし、メモリのアドレス空間のオフセットは、この技術分野では周知であり、望むのであれば、容易に用いることができる。
１つの解析回路が複数の領域のために情報の処理を行わなければならない場合にも、アドレス・オフセット回路が必要となり得る。この解析回路は、一度に、１つの領域におけるセルをシーケンシャルに処理することになる。そのような状況では、アドレスをメモリ３２４に対してインデクス付け（indexing）することが、その時点で処理されている領域の外部にあるセルに対応するアドレスをスキップするのに、必要となる。
ハードウェア要素すべてに対する制御機構を、明示的に示してはいない。好適実施例では、適切な制御信号を発生するのに、マイクロコントローラが用いられる。しかし、当業者であれば、上述のメモリに対して必要な制御信号を発生させる多くの別の方法を考案することができよう。
これ以外の可能な変形例の１つとして、メモリ３２４は３２Ｋｘ１ビットのメモリであると説明したが、適切なアドレス復号化を備えた４Ｋｘ８ビットのメモリを用いて実現することも可能である。
また、図２には、同時に用いられる複数の技術が示されていることを理解すべきである。損失性データ圧縮器２１４は、すべて取り除くことも可能である。ハードウェア・アクセラレータ２１６は、単独で用いることもできるし、エンコーダ２１８と共に用いることもできる。同様に、エンコーダ２１８は、単独で用いることもできるし、ハードウェア・アクセラレータ２１６と共に用いることもできる。
更に、ハードウェア・アクセラレータ２１６は、キャッチＲＡＭと解析ＲＡＭとの間で用いられることには制限されない。例えば、テスト・サブ・システムとキャッチＲＡＭとの間で用いることもできる。
更に、解析ＤＲＡＭ２２０はキャッチＲＡＭ２１０よりも低速のＲＡＭであると説明した。より低速であり従ってより安価なＲＡＭを使用できることには利点もあるが、それが要求されているわけではない。ある場合には、解析ＤＲＡＭ２２０の代わりに、高速のＲＡＭを用いることが望まれることもある。
可能性のある変形例の１つであるが、図４には、フィールド５１２のアドレスによって記述される故障セルの近くのメモリ・セルに関する情報を記憶する４つの単一ビット・フィールド５１４Ａ、・・・、５１４Ｄが示されている。しかし、本発明の効果を奏するのには、そのようなフィールドが４つあることやこれらのフィールドが単一ビット・フィールドであることは必要ではない。例えば、単一ビット・フィールドを２つだけ用いたり、８つの単一ビット・フィールドを用いることもできる。最適な数は、製造されているメモリのタイプとそのメモリに用いられるプロセスとに左右される。結果的に故障セルが大きなクラスタとして生じるプロセスは、セルがより多数の場合に効果的である。また、結果的に故障セルが広範囲に分配されて生じるプロセスは、セルがより少数の場合に効果的である。４つの単一ビット・セルというのは、広範囲の状況で効果的であるように選択されている。
また、フィールド５１４Ａ、・・・、５１４Ｄは単一ビット・フィールドであることは必要ではない。マルチビット・フィールドであってもかまわない。例えば、それぞれのフィールドは、フィールド５１２における故障セルからのアドレス・オフセットを表すこともあり得る。そのような表現は、故障セルが相互に近接して生じるが通常は４よりも多くのメモリ位置だけ離れているようなメモリを作るメモリ製造プロセスの場合に好適である。
更に、ハードウェア・アクセラレータ２１６は１通過モードか２通過モードで動作すると説明した。これらのモードは、次の４つの別個のことを制御することによって発生する。すなわち、１）禁止回路３２６はその制御入力を、コンパレータ３１４の出力から導くのか、メモリ３２４から導くのか、２）コンパレータ３１４の出力は、メモリ３２４に記憶されているかどうか、３）解析ＤＲＡＭ２２０にどのようなデータであっても記憶されているかどうか、４）禁止回路３２６はメモリ３２４の値に応答するかどうか、である。これらの作用をそれぞれの通過において適切に制御することによって、２つのモードが生じることを理解すべきである。しかし、これらの動作のそれぞれを別々に制御するために制御機構が設けられる場合には、２よりも多くの動作モードが生じる。従って、本発明が、２つの動作モードにだけ制限されることは意図されていない。
従って、本発明は、次の請求の範囲の精神と範囲とによってのみ限定されるべきである。
【図１】
0003879087.tif 000002
【図２】
0003879087.tif 000003
【図３】
0003879087.tif 000004
【図４】
0003879087.tif 000005