JP2004522250A - メモリを分析および修復するための方法および装置 - Google Patents
メモリを分析および修復するための方法および装置 Download PDFInfo
- Publication number
- JP2004522250A JP2004522250A JP2003504409A JP2003504409A JP2004522250A JP 2004522250 A JP2004522250 A JP 2004522250A JP 2003504409 A JP2003504409 A JP 2003504409A JP 2003504409 A JP2003504409 A JP 2003504409A JP 2004522250 A JP2004522250 A JP 2004522250A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- repaired
- row
- error
- column
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000015654 memory Effects 0.000 title claims abstract description 419
- 238000000034 method Methods 0.000 title claims abstract description 70
- 238000004458 analytical method Methods 0.000 claims description 118
- 230000008439 repair process Effects 0.000 claims description 90
- 238000003860 storage Methods 0.000 claims description 75
- 230000000295 complement effect Effects 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 5
- 230000002950 deficient Effects 0.000 claims 1
- 238000012360 testing method Methods 0.000 description 22
- 238000012545 processing Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 7
- 238000013459 approach Methods 0.000 description 6
- 230000004913 activation Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003698 laser cutting Methods 0.000 description 1
- 239000000155 melt Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/72—Masking faults in memories by using spares or by reconfiguring with optimized replacement algorithms
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/78—Masking faults in memories by using spares or by reconfiguring using programmable devices
- G11C29/80—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
- G11C29/808—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout using a flexible replacement scheme
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
メモリを分析および修復するための方法および装置が提示される。この方法は、少なくともメモリの一部分で検出された故障メモリセルをいくつかの種類のメモリの予備のうち1つのみを使用して修復しなければならないか、またはメモリ予備の種類のうちどれを使用しても修復できるかを判定するステップ(302、304、306)を含む。修復しなければならない新しいエラーが修復されなくなり、かつ故障メモリセルがスキップされなくなるまで、またはメモリが修復不能であると判定されるまで、いくつかの種類のメモリ予備のうち1つのみを使用して修復しなければならない故障メモリセルは繰返し修復され、いくつかの種類のメモリ予備のうちどれを使用しても修復できる故障メモリセルはスキップされる。
Description
【0001】
【背景】
説明されるのはメモリを分析および修復するための方法および装置である。特に、冗長メモリ回路を有するメモリの、故障メモリセルを分析および修復するための方法および装置が提示される。
【0002】
最も一般的な意味では、メモリはいくつかの行(M)およびいくつかの列(N)を有するメモリセルの2次元のアレイとして規定することができる。行と列との交差点の各々が記憶された情報の1出力ビットを作る。多くの場合、いかなる所定のときでもメモリから2ビット以上の情報が出力されるのが望ましい。これを達成するための2つの方法は、アレイ構造全体を複製して付加的な出力ビットを提供するか、またはアレイの1つの次元を(たとえばMまたはN次元で)さまざまなサブブロックに細分し、メモリアレイがアクセスされるたびに各々のサブブロックが1出力ビットを提供するようにすることである。
【0003】
細分されたものを3つの変数、R、CおよびI/Oを使用して表わしてもよく(典型的にはR×C×IOとして表記される)、RおよびCは、それぞれアレイの行の数および列の数を示し、アレイへの入力として働く。I/O変数は、アレイの行と列の「交差点」からの出力である、ビットの数を表わしてもよい。実際には、I/Oビットはアレイの単一の行と列との交差点で形成されない。そうではなく、I/Oビットは、同時にアクセスされるアレイの単一の行と複数の列との交差点の集合によって、または同時にアクセスされるアレイの複数の行と、単一の列との交差点の集合によって形成される。I/Oビットがどのように形成されるかは、行または列のどちらが細分されてアレイの複数のI/Oを作成するかに依存する。
【0004】
従来のメモリアレイは、主にメモリの製造歩留りを向上させるため、故障メモリセルを置換えるために使用される冗長メモリセルを含む。メモリは一般的に行および列の2次元のアレイとして規定してもよいため、冗長セルも予備の行および予備の列(または予備のI/O)の2次元のグループとして規定すると都合がよい。予備の行および列(またはI/O)の数、ならびにその構成は変化し得るが、典型的にはメモリアレイは予備の行および列のグループか、または予備の行およびI/Oのグループを有するように配置される。
【0005】
予備の行は、メモリの単一の行アドレスに関連するいくつかの列およびI/Oを同時に置換えることができる。同様に、もし予備の列が存在すると、メモリの単一の列アドレスに関連するいくつかの行を置換えることができる。もし予備のI/Oが存在すると、メモリの特定のI/Oビットに関連するいくつかの列を同時に置換えることができる。典型的には、I/Oは、メモリアレイの行または列と同じ方向に配向され、よって故障メモリセルの交換の目的のために同じ方向に配向された予備の種類と同じように扱うことができる。
【0006】
従来のメモリのテストは、メモリアレイのすべての故障したメモリアドレスを識別すること、およびそれらのメモリアドレスのどのビットが故障しているかを識別することを伴う。典型的なメモリテストは、さまざまなデータパターンをメモリに書込み、それからメモリの出力を読取り、予想される値またはパターンと比較することを伴う。予想されるメモリの読出値と実際のメモリの読出値との不一致は、典型的にはメモリテスタ自身に位置する、外部メモリマップに記憶される。
【0007】
テストパターンのすべてが実行され、故障したアドレス(およびビット)が識別および記憶された後、テスタは記憶されたエラーデータについて修復分析を行なって、メモリを十分に動作させるために故障したアドレスの行および/または列(またはI/O)のどのビット(またはセル)を利用可能な予備のメモリセルで置換える必要があるかを判定してもよい。故障したメモリの情報は典型的にはメモリテストのすべての終わりに分析される。これによって、修復ルーチンは故障したメモリの情報のすべてを考慮に入れ、メモリの動作を最大限にし、かつ冗長メモリセルを最も効率のよいやり方で使用する、最適の修復構成を判定することが可能になる。さらに、故障したメモリの情報のすべてを一度に考慮に入れることによって、ある修復不能なメモリの状況を早期に識別し、修復不能な状態に貴重なテストおよび修復の時間を浪費する前に、そのメモリを放棄することができる。
【0008】
たいていの従来的なテスタに関連する制限は、修復情報が動的に生成され使用されることを要求する。これは冗長メモリセルを非効率的に使用することによってメモリの歩留り全体を減少させ得る。またこれらの制限は、より高速でより高密度なメモリの開発においてメモリのテストを非常に高価かつ時間を浪費するプロセスにしている。
【0009】
たとえば、従来のメモリテスタは、典型的にはテストのためにそれらが使用されるメモリセルの動作周波数よりも比較的遅い処理クロック速度を有する。この比較的遅いクロック速度のため、テスト中のメモリが通常の動作速度で正しく動作するかを判定することが不可能となる。またこれらのより遅い従来のテスタを使用してエラー情報を通常の動作速度で集めることは不可能である。結果として、テスタは大量のエラーデータを記憶し、それから、この大量のデータを「オフライン」で実行される修復ルーチンで分析することができなければならない。従来のテスタでは、エラーメモリは予想される故障したビットの総数と同じぐらい大きくなければならない。さらに、メモリの密度が増え続るのに伴い、既に制限されているテスタのメモリも増やさなければならず、テスタの処理能力を増やし、より複雑な修復ルーチンソリューションを処理できるようにしなければならない。
【0010】
従来のテスタに関連する別の制限は、典型的にそのI/O能力が制限されていることである。メモリが高密度化するにつれ、そのメモリをテストするために必要とされるI/Oの数も増やさなければならない。I/Oが制限されているテスタは、メモリ全体を一度にテストすることができず、テストプログラムをより小さなテストに分割することが必要となるであろう。メモリテストの分割は、テスト時間全体の増加につながり、メモリの製造に関連するコストの大きな一因となる。
【0011】
メモリの設計者は、組み込み自己試験(またはBIST)技術を使用してこれらの懸念のいくつかを解決してきた。BISTでは、メモリをテストするためのパターン生成器がそのメモリ自身と同じ半導体チップ(またはウェハ)上に作られる。これによって、BIST回路は「高速で(at speed)」そのメモリをテストすることが可能となり、動作速度以下でメモリをテストする結果としてエラー検出に失敗する懸念を排除する。さらに、BIST回路は、I/Oが制限されている今日のテスタに関連する懸念を解決する。
【0012】
それでも、従来のBIST技術には限界がある。たとえば、今なお大量のエラーメモリをBIST回路に組み込んで故障したメモリの情報を記憶しなければならない。また付加的な記憶およびプロセッサ資源をメモリに組み込んで修復ルーチン処理を行なわなければならない。スペースおよびプロセッサの制限のため、限られた量のエラー記憶および修復コードしかBIST設計に統合することはできない。結果として、従来のBIST技術は、故障したメモリの場所を検出するために「スナップショットアプローチ」を使用し続けている。これは、修復ルーチンが故障したメモリの情報を「その場で(on the fly)」処理することを要求し、これは上述のとおり、メモリチップ上に含まれる冗長メモリセルの非効率な使用につながる。
【0013】
よって、修復ルーチンの複雑さを減少させてはるかに簡単な作業にし、メモリテスタに課されたエラー記憶の要件を軽減する、メモリを分析および修復するための改善された技術が必要である。
【0014】
【概要】
したがって、1つの目的は、メモリのいくつかのより小さな部分を同時に効率よく修復することができる、複雑さが減少したメモリの分析および修復技術を提供することである。別の目的は、故障したメモリの情報をすべて効率のよいやり方でオンチップで記憶することを可能にする、メモリの分析および修復技術を提供することである。さらに別の目的は、故障したメモリの情報のすべてについて高速の分析および修復情報の生成を可能にすることである。さらに別の目的は、多数のI/Oを有するメモリのテストを支援することである。また別の目的は、修復ルーチンの実行の初期で、ある修復不能なメモリの故障状況を検出することである。これらの目的は、メモリの故障メモリセルを分析および修復するための方法および装置によって解決される。
【0015】
一局面によると、メモリを分析および修復するための方法は、メモリの少なくとも一部分で検出された故障メモリセルを、いくつかの種類のメモリの予備のうち1つのみを使用して修復しなければならないか、またはいくつかの種類のメモリの予備のうちどれを使用しても修復できるかを判定するステップを含む。いくつかの種類のメモリの予備のうち1つのみを使用して修復しなければならない故障メモリセルは、修復しなければならない新しいエラーが修復されなくなり、かつ故障メモリセルがスキップされなくなるまで、またはメモリが修復不能と判定されるまで繰返し修復され、いくつかの種類のメモリの予備のうちどれを使用しても修復できる故障メモリセルはいずれもスキップされる。修復しなければならない故障メモリセルを修復するときにスキップされた故障メモリセルのうち少なくとも1つが修復される。故障メモリセルを修復しなければならないかを判定するステップ、および修復しなければならない故障メモリセルを繰返し修復するステップは、少なくとも1つのスキップされた故障メモリセルが修復されるたびに繰返される。
【0016】
ある関係する局面によると、複数の種類のメモリの予備のうち第1の種類はメモリの行および列の部分のうち一方を修復することができ、複数の種類のメモリの予備のうち第2の相補的な種類はメモリの行および列の部分のうち他方を修復することができる。
【0017】
別の関係する局面によると、修復しなければならない故障メモリセルは、その総数が利用可能な相補的な種類のメモリの予備の数を超える故障メモリセルを有する、メモリの行または列の部分のそれぞれに、故障メモリセルを含む。
【0018】
さらに別の関係する局面によると、メモリの少なくとも一部分は、そのメモリをいくつかの分析ブロックに論理的に分けることによって形成され、各分析ブロックは、複数の種類のメモリの予備の各々の種類の少なくとも1つを完全に含む。
【0019】
さらに別の関係する局面によると、メモリの少なくとも一部分は、分析ブロックの各々をいくつかのサブブロックに論理的に分けることによって形成され、各サブブロックは、それぞれの分析ブロックの、複数の種類のメモリの予備の各々が修復することのできるメモリセルの範囲に対応する領域にわたって延びる。
【0020】
さらに別の関係する局面によると、この方法は、各サブブロックについての故障メモリセルの情報をメモリに別々のアドレス指定可能なエントリとして記憶するステップをさらに含む。
【0021】
さらに別の関係する局面によると、各サブブロックについての故障メモリセル情報は、分析および修復されているメモリの一部分に記憶される。
【0022】
さらに別の関係する局面によると、メモリのアドレス指定可能なエントリの各々は、それぞれのサブブロックのエラー記憶テーブルに対応し、各エラー記憶テーブルは、メモリの行および列の部分のそれぞれで検出されたいくつかの故障メモリセルに関係する情報を記憶するための行エントリおよび列エントリを有する。
【0023】
さらに別の関係する局面によると、この方法は、メモリの行および列の部分のそれぞれで検出されたいくつかの故障メモリセルに関係する情報を、メモリに記憶された少なくとも1つのエラー記憶テーブルから読出すステップをさらに含む。メモリの少なくとも一部分で検出された故障メモリセルは、いくつかの故障メモリセルに関係する情報が読出される少なくとも1つのエラー記憶テーブルに対応する、サブブロックに位置する。
【0024】
さらに別の関係する局面によると、この方法は、メモリで検出されたすべての故障メモリセルが修復されるか、またはそのメモリが修復不能と判定されるまで、メモリの別々の部分上でこの方法のステップの各々を行なうステップをさらに含む。
【0025】
さらに別の関係する局面によると、この方法のステップの各々をメモリの別々の部分上で行なうことは、別々の部分の各々に対して同時に起こる。
【0026】
さらに別の関係する局面によると、複数の種類のメモリの予備のうち1つの種類のみを使用して修復しなければならない故障メモリセルを繰返し修復するステップは、少なくとも1つのエラー記憶テーブルの行エントリまたは列エントリが空であるか、または行エントリもしくは列エントリによって識別されたエラーが修復されたかを判定するステップを含む。もしその行エントリまたは列エントリが空でなく、識別されたエラーも修復されていない場合、識別されたエラーを修復しなければならないかが判定される。そうでなければ、少なくとも1つのエラー記憶テーブルの次の行エントリまたは列エントリが空であるか、または次の行もしくは列エントリによって識別されたエラーが修復されたかが判定される。もし識別されたエラーを修復しなければならないと、複数の種類のメモリの予備のうち1つのみの予備が利用可能であるかが判定される。そうでないと、識別されたエラーを修復するステップはスキップされ、少なくとも1つのエラー記憶テーブルの次の行エントリまたは列エントリが空であるか、または次の行エントリもしくは列エントリによって識別されたエラーが修復されたかが判定される。もし複数の種類のメモリの予備のうち1つのみの予備が利用可能であると、識別されたエラーは複数の種類のメモリの予備のその1つのみの予備で修復され、少なくとも1つのエラー記憶テーブルの次の行エントリまたは列エントリが空であるか、または次の行エントリまたは列エントリによって識別されたエラーが修復されたかが判定される。そうでなければそのメモリは修復不能と判定される。少なくとも1つのエラー記憶テーブルの次の行エントリまたは列エントリが空であるか、または行もしくは列エントリによって識別されたエラーが修復されたか を判定するステップは、少なくとも1つのエラー記憶テーブルのすべての行および列エントリが処理されるまで繰返される。
【0027】
さらに別の関係する局面によると、修復しなければならない故障メモリセルを修復するときにスキップされた故障メモリセルのうち少なくとも1つを修復するステップは、スキップされた故障メモリセルのうち少なくとも1つの最初に検出された故障メモリセルのみを修復するステップを含む。
【0028】
さらに別の関係する局面によると、最初に検出された故障メモリセルのみを修復するステップは、少なくとも1つのエラー記憶テーブルの行エントリまたは列エントリが空であるかを判定するステップを含む。もし行エントリまたは列エントリが空でなければ、その行エントリまたは列エントリによって識別されたエラーが修復されたかが判定される。そうでなければ、少なくとも1つのエラー記憶テーブルの次の行エントリまたは列エントリが空であるかが判定される。もし識別されたエラーが修復されていないと、複数の種類のメモリの予備のうち第1の種類が利用可能であるかが判定される。そうでなければ、少なくとも1つのエラー記憶テーブルの次の行エントリまたは列エントリが空であるかが判定される。もし複数の種類のメモリの予備のうち第1の種類が利用可能であれば、識別されたエラーはその第1の種類の予備で修復される。そうでなければ、複数の種類のメモリの予備のうち第2の相補的な種類が利用可能であるかが判定される。もし複数の種類のメモリの予備のうち第2の種類が利用可能であれば、識別されたエラーはその第2の種類の予備で修復される。そうでなければメモリは修復不能と判定される。少なくとも1つのエラー記憶テーブルの行エントリまたは列エントリが空であるかを判定するステップは、少なくとも1つのエラー記憶テーブルの少なくともすべての行エントリまたはすべての列エントリが処理されるまで繰返される。
【0029】
さらに別の関係する局面によると、もし少なくとも1つのエラー記憶テーブルの行エントリまたは列エントリのいずれかが空であると判定されると、空であるその種類の次のエントリは処理される必要がない。
【0030】
さらに別の関係する局面によると、メモリの行の部分はメモリの少なくとも1つの行を含み、メモリの列の部分はメモリの少なくとも1つの列を含む。
【0031】
さらに別の関係する局面によると、メモリの列の部分は少なくとも1つの入出力(I/O)装置を含み、この少なくとも1つのI/O装置は、メモリの少なくとも1つの列のための入力および出力経路を提供する。
【0032】
さらに別の関係する局面によると、修復しなければならない故障メモリセルを修復するときにスキップされた故障メモリセルのうち少なくとも1つを修復するステップは、複数の種類のうちどの種類のメモリの予備が、複数の種類のメモリの予備のうちどれを使用しても修復できる故障したメモリを最も多く修復することができるかを判定するステップを含む。それら最も多くの故障メモリセルは、判定された種類の利用可能な予備で置換えられる。
【0033】
さらに別の関係する局面によると、メモリの少なくとも一部分で検出された故障メモリセルを修復しなければならないかを判定する前に、この方法は、メモリの少なくとも一部分における複数の種類のメモリの予備のうちいずれかが機能しないかを判定するステップをさらに含む。機能しないメモリの予備に関係する情報は、メモリの少なくとも一部分における複数の種類のメモリの予備の配置に基づいて、まとめてグループ分けされる。
【0034】
さらに別の関係する局面によると、機能しないメモリの予備に関係する情報をまとめてグループ分けするステップは、メモリの少なくとも一部分のいくつかの部分についての機能しないメモリの予備に関係する情報を、もしそれらの部分が複数の種類のメモリの予備のそれぞれの種類のうち少なくとも1つによって修復することが可能であれば、まとめてOR演算するステップを含む。
【0035】
「含む」および「含んでいる」という用語は、この明細書および特許請求の範囲で使用されるときには、記述された特徴、ステップまたは構成要素の存在を特定するために用いられることが強調されるべきである。しかしこれらの用語の使用は、1つまたはそれ以上の他の特徴、ステップ、構成要素またはそのグループの存在または追加を排除しない。
【0036】
上記の目的、特徴および利点は、同じ参照番号が類似または同じ要素を示す添付の図面と共に以下の詳細な説明と照らし合わせることで、より明らかになるであろう。
【0037】
[詳細な説明]
添付の図面を参照して好ましい実施例を以下に説明する。以下の説明では、説明を不必要に詳しくしてわかりにくくするのを避けるため、周知の機能および/または構成は詳細に説明しない。
【0038】
例示的なメモリアーキテクチャ
分析および修復の技術を詳細に説明する前に、この技術を適用することができる例示的なメモリアーキテクチャをまず説明することが有用であろう。メモリアレイの予備を中心として見ると、予備の行および列(またはI/O)はメモリアレイ全体を通して定間隔に配置してもよい。予備の行および予備の列(またはI/O)の活性化は、典型的にはヒューズによって制御されるが、他の活性化の手段も公知である。ヒューズが「溶ける」とき、対応する予備の行または列(またはI/O)が活性化され、置換えられるべき適切なメモリアドレスがプログラムされる。ヒューズは、レーザ切断、およびある電気信号の活性化を含むがこれに限らない、さまざまな方法で「溶ける」ことができる。
【0039】
典型的にはヒューズはそれが活性化する予備のメモリセルに比べると比較的大きいため、多くの場合、所与のヒューズのいずれかを使用して、いくつかの行または列(またはI/O)を一度に活性化し置換えてもよい。そのような配置では、所与のヒューズによって活性化されプログラムされる予備の行または列のグループは、分析および修復の立場からは、単一の実体として見てもよい。予備の行および列のこのようなグループ分けを分析および修復ルーチンで利用して、故障メモリセルの識別および置換えでのある程度の圧縮および効率を達成してもよい。
【0040】
図1は冗長回路を備える例示的なメモリアレイを示す。この例示的なアレイはメモリセルの2つのバンク、バンク0およびバンク1を含む。メモリセルのバンクの各々は、32列(列0〜15と16〜31)および4096行(各々2Kセルの行の2セット)のアレイを含む。このメモリバンクは、各々が128のI/O(IO[0]〜IO[127]とIO[128]〜IO[255])を有する部分に分けられる。予備のI/Oおよび予備の行は、アレイ全体を通して定間隔に配置される。上述のように、予備の列および予備の行を有する冗長回路を含むメモリアレイも使用することができる。
【0041】
メモリアレイは、分析ブロック102と称されるいくつかの部分に論理的に分けられる。分析ブロック102のサイズおよび形状は、好ましくは、少なくとも1つの予備I/O(または列)および少なくとも1つの予備の行を完全に含むメモリアレイの最小の部分を規定するように選ばれる。分析および修復ルーチンは、好ましくは分析ブロック102ごとに動作するように規定される。示される例示的なメモリアーキテクチャでは、16の分析ブロックが示される。メモリアレイはいかなる数の分析ブロックにも論理的に分けられることが理解されるであろう。
【0042】
分析ブロックの予備のメモリセルが他の分析ブロックの予備のメモリセルから独立するように分析ブロック102を規定することは、修復および分析ルーチンのさらなる効率につながるが、そのような配置は厳密には要求されない。たとえば、確実に所与の分析ブロックの予備のI/Oおよび予備の行が分析ブロックの境界と交差しないようにすることによって、分析および修復ルーチンは、メモリアレイのさまざまな分析ブロックを独立的かつ並列に分析および修復することができる。
【0043】
図2は、図1に示されるハイライトされた分析ブロック102をより詳細に示す。この図からわかるように、例の分析ブロックの各々は、4つのI/Oの予備および4つの行の予備を含むように規定される。分析ブロック102は、サブブロック202と称される、より小さな部分に論理的にさらに分けてもよい。図2に示される分析ブロックは、8つのそのようなサブブロック202を有する。サブブロックのサイズは、好ましくはそのサブブロックが行およびI/O(または列)の次元に延びる距離が、行およびI/O(または列)の予備が置換えることのできるメモリセルの範囲に対応するように選ばれる。
【0044】
示される例によると、サブブロック202の各々は、I/Oセクション206の32のI/Oのいずれかを置換えることのできる1つのI/Oの予備、およびそのブロックの512行のいずれかを置換えることのできる2つの行の予備を含む。サブブロックは、各々が4つのサブブロックからなる2行に配置され、この行はセット204と称される。好ましくは、各サブブロックについての故障メモリセルの情報は、エラー記憶(ES)SRAM(図示せず)に別々の行エントリとして記憶される。ES SRAMの行エントリの各々は、エラー記憶テーブルと称してもよい。メモリアレイのサイズおよびアレイの冗長回路の構成に依存して、いくつかのES SRAMを使用して故障メモリセルの情報を記憶してもよい。故障メモリセルおよび修復の情報を記憶するための技術は、この出願と同じ譲受人を有し、2002年5月31日に出願された「メモリテストの情報を記憶するための方法および装置(Methods and Apparatus for Storing Memory Test Information)」と題される同時係属中の米国特許出願第10/ 号に説明される。
【0045】
分析ルーチン
例示的なメモリアーキテクチャの説明が終わったので、メモリアレイの故障メモリセルを分析するためのルーチンを提示する。分析ルーチンで(および修復ルーチンでも)使用される以下の言葉を定義する。
【0046】
Must:1つのやり方、すなわちエラーまたはエラーのグループを予備の行で置換えるか、または予備のI/O(または列)で置き換えるかのいずれかによってのみ修復することができる、故障メモリセル(またはエラー)もしくはエラーのグループ。
【0047】
Fixed:ルーチンのフローを制御するために使用されるフラグ。このフラグは、エラーが修復されるたびに「Y」にセットされるべきである。
【0048】
Skip:ルーチンのフローを制御するために使用される別のフラグ。このフラグは、エラーが検出されたがルーチンによって直ちに修復されないたびに「Y」にセットされるべきである。
【0049】
NG:メモリアレイが修復不能であることを示す、ルーチンで使用されるフラグ。
【0050】
Fix_Any:直ちに修繕すべきエラーの種類を判定するためにルーチンで使用されるフラグ。もしこのフラグが「Y」にセットされていると、発見されたエラーはどれでも可能であれば修繕されるであろう。「N」にセットされていると、「Must」エラーのみがルーチンによって修復されるであろう。
【0051】
このルーチンの分析の部分のフロー図が図3に示される。厳密には要求されないが、このルーチンは、現在分析されている分析ブロックの冗長回路を形成するさまざまな行の予備および列の予備の持つ機能性に関係する情報を判定(または更新)することによってステップ302で開始する。予備の持つ機能性の情報は、メモリ、たとえばES SRAMにサブブロック202ごとに記憶してもよい。もし予備の持つ機能性の情報がこのやり方で記憶されると、ステップ302は、さまざまなサブブロック202の中から集められた関係する予備の持つ機能性の情報をまとめてグループ分けするステップをさらに含むべきである。
【0052】
関係する予備の機能性の情報のグループ分けは、論理的「OR」関数を使用して達成してもよい。たとえば、図2に示される分析ブロックでは、所与のセット204のI/Oセクション206の各々における、予備の行に関係する機能性の情報は、その予備の行がセット204の示される4つのI/Oセクション206の各々と交差するため、まとめてOR演算されるべきである。同様に、I/Oセクション206の行の各々に対する予備のI/O(または列)に関係する機能性の情報は、予備のI/OがそのI/Oセクション206の行の各々と交差するため、まとめてOR演算されるべきである。
【0053】
現在の分析ブロックの予備の機能性の情報が更新された後、ルーチンはステップ304に進み、ここで現在の分析ブロックについて記憶された修復コード(RC)情報がメモリから読出される。好ましくはRC情報は、エラー記憶情報と別々に、たとえば別々のRCおよびES SRAMにそれぞれ記憶されるが、この記憶配置は厳密には必要ではない。ステップ306から330は、分析ルーチンの主要部分を示す。所与の分析ブロック102の故障メモリセル情報を、その分析ブロックを修復するための適切な修復コードを生成することができるように、これらのステップで分析する。分析ブロックの各々が処理された後、そのメモリアレイのすべての分析ブロックが処理されたかの判定がステップ332で行なわれる。もし処理がすんでいれば、プロセスは終了し、そうでなければ処理すべき次の分析ブロックに関係する情報がステップ334で更新され、プロセスはステップ302から繰返される。
【0054】
分析ルーチンの主要部分は2つのステップからなるアプローチを使用する。まずルーチンは、1つの特定のやり方、すなわち予備の行を割当てるか、または予備のI/Oを割当てるかのいずれか一方のみでエラーを修復することによって修繕しなければならない分析ブロックのそれらの行および/またはI/Oを修復しようとする。次にルーチンは、複数の方法、すなわち利用可能な予備のいずれかの種類を割当ててエラーを修復することによって修復可能である行および/またはI/Oを修復しようとする。
【0055】
フロー図にははっきりと示されていないが、ルーチンによって使用されるさまざまなフラグは、新しい分析ブロックの処理の開始に先立って、以下の値に初期設定される。
【0056】
Fix_Any:「N」にセットされる。
Fixed:「N」にセットされる。
【0057】
Skip:「N」にセットされる。
NG:「N」にセットされる。
【0058】
Last Set:「N」にセットされる(注意:このフラグの値は現在の分析ブロック102の予備/サブブロック/セットの構成に依存する)。
【0059】
分析ブロックの処理は、ステップ306で現在の分析ブロックのESデータを、たとえばES SRAMから読出すことで開始する。フラグFix_Anyは「N」に初期設定されるため、ルーチンはいわゆる「Must」エラーをまず処理することによってESデータの分析を開始する。「Must」エラーは、特定の1種類の予備、すなわちこの例では予備の行または予備のI/O(または列)のいずれかでのみ修復できるメモリセルの故障を表すことを思い出されたい。分析ルーチンのこの段階は、上述の2つのステップからなるアプローチの第1のステップを表す。
【0060】
図2に示される分析ブロックは、各々が4つからなるサブブロックの2つのセット204に配置される8つのサブブロック202を含むことを思い出されたい。各セットは、セット204の4つのサブブロックにまたがる512行のいずれかを置換えるために利用可能である2つの予備の行を含む。この特定の配置では、最初の4つのエラー記憶テーブルがステップ306でES SRAMから読出される。これらのエラー記憶テーブルは、分析ブロック102の第1のセット204を作る4つのサブブロック202に対応する。他の配置では、ES SRAMから読出されるべきデータの量を変化させることが必要であろう。
【0061】
次に、図4Aおよび4Bに示される修復ルーチン(以下に詳細を示す)を使用して、ステップ306で読出されたESデータがステップ308で処理される。ここでもフラグFix_Anyが「N」に初期設定されるため、修復ルーチンは、いわゆる「Must」エラーをまず修復しようとすることによって開始する。フラグSkip、FixedおよびNGは、一旦修復ルーチンでセットされると、分析のこの段階を通して維持され、図3に示されるルーチンの分析の部分に戻されるべきである。もしエラーが発見されて修復されない場合は、フラグSkipは「Y」にセットされるべきであり、もしエラーが修復された場合は、フラグFixedは「Y」にセットされるべきであり、もしエラーが発見され修復不能な場合は、フラグNGは「Y」にセットされるべきであることを思い出されたい。
【0062】
ステップ310で制御はルーチンの分析の部分に戻り、ここでNGフラグの現在の状態がテストされる。もしNGフラグが「Y」にセットされていると、ルーチンはステップ312に進み、ここでそのメモリアレイは修復不能と識別される。一旦この判定が行なわれると、そのメモリアレイはさらに分析される必要はなく、分析および修復ルーチンは終了する。
【0063】
もしフラグNGがステップ310で「N」にセットされると、ルーチンはステップ314に進み、ここでFix_Anyフラグの現在の状態がテストされる。上述のように、他の識別されたエラーの前に「Must」エラーを識別および修復するため、このフラグは2つのステップからなる分析の第1段階の間「N」にセットされる。
【0064】
したがって、分析の第1段階の間にルーチンはステップ316に進み、ここで、処理されている現在のセット204が分析ブロック102内の分析すべき最後のセット204であるかの判定が行なわれる。もし分析されている現在のセット204がその分析ブロックの処理すべき最後のセットでなければ、ルーチンはステップ318に進み、ES SRAMのアドレスが更新されて、ルーチンによって分析されるべき次のセット204に対応する、SRAMに記憶される次の4つのエラー記憶テーブルにアクセスが行なわれる。ステップ306から318は、その分析ブロック102のすべてのセット204が「Must」エラーについて処理されるまで繰返し実行される。
【0065】
処理されている現在のセット204が現在の分析ブロック102の最後のセット204であるとステップ316で判定されたとき、ルーチンはステップ320に進み、ここでFixedフラグの現在の状態がテストされる。もしFixedフラグが「Y」にセットされていれば、それは、「Must」エラーが修復ルーチンによってステップ308で修復されたことを示し、プロセスはステップ330に進み、ここでES SRAMのアドレスは更新されて、ES SRAMに記憶される最初の4つのエラー記憶テーブルに再びアクセスが行なわれる。これらのエラー記憶テーブルは、現在分析されている分析ブロック102の最初のセット204に対応する。図示されていないが、フラグSkipおよびFixedは、ステップ330で再び「N」に初期設定される。
【0066】
ステップ306から318は、現在の分析ブロック102のすべてのセット204が「Must」エラーについて処理されるまで、再び繰返し実行される。分析ブロックのいずれかのエラーを修繕することで、以前にスキップされたエラー(識別されたエラーが「Must」エラーでなかったためスキップされた)がその後「Must」エラーになることが理解されるであろう。よって、新しいエラーが修復ルーチンによって修繕されなくなるまで、分析ブロックを「Must」エラーについて処理することが繰返される。
【0067】
修復ルーチンによって新しい「Must」エラーが修繕されなくなったとき、修復ルーチンによって戻されるFixedフラグは、初期値の「N」にセットされたままであろう。このため、Fixedフラグがステップ320でテストされると、プロセスはステップ322に進み、ここでSkipフラグの現在の状態がテストされる。これは、「Must」エラーが他の種類のエラーの前に修復される、2つのステップからなるアプローチの第1段階の終了を意味する。
【0068】
もし分析の第1段階中にエラーがスキップされなかった場合、プロセスはステップ332に進み、ここで現在の分析ブロック102がメモリアレイの処理すべき最後の分析ブロックであるかの判定が行なわれる。もし現在の分析ブロックが処理されるべき最後の分析ブロックであれば、ルーチンは終了する。そうでなければ、ルーチンはステップ334に進み、ここでルーチン全体がメモリアレイの次の分析ブロックについて繰返される。図示されていないが、フラグSkip、Fix_AnyおよびFixedは、ステップ334で再び「N」に初期設定される。
【0069】
もし分析の第1段階中にエラーがスキップされていれば、修復ルーチンによって戻されるSkipフラグの値は「Y」にセットされているであろう。結果として、このフラグはステップ322でテストされると、ルーチンはステップ324に進み、ここでFix_Anyフラグは「Y」にセットされる。これは2つのステップからなるアプローチの第2段階の開始を意味し、ここで利用可能な予備のいずれかの種類によって修復できるエラーが修復ルーチンによって処理される。
【0070】
Fix_Anyフラグを「Y」にセットした後、ES SRAMのアドレスはステップ330で更新されて、ES SRAMに記憶される最初の4つのエラー記憶テーブルに再びアクセスが行なわれる。これらのエラー記憶テーブルは、現在分析されている分析ブロック102の第1のセット204に対応する。フラグSkipおよびFixedは、再び「N」に初期設定される。
【0071】
ステップ306から312は、分析の第1段階と同じやり方で分析の第2段階において実行される。Fix_Anyフラグがステップ314でテストされるとき、このフラグは分析の第2段階の間「Y」にセットされるため、ルーチンはステップ326に進む。
【0072】
ステップ326でフラグFixedがテストされて、何らかのエラーが修復ルーチンによってステップ308で修復されたかが判定される。もしエラーが修繕されていないと、ルーチンはステップ318に進み、ここでES SRAMのアドレスは更新されて、SRAMに記憶されている次の4つのエラー記憶テーブルにアクセスが行なわれる。これらの記憶テーブルは、ルーチンによって処理されるべき分析ブロック102の次のセット204に対応する。分析ブロック102のセット204は、分析ブロックのエラーが修復されたとステップ326で判定されるまで処理される。分析の第1段階中にエラーがスキップされたとステップ322で判定された後初めて分析ルーチンの第2段階に入るため、ルーチンのこの段階では少なくとも1つのエラーが分析ブロックに存在しなければならないことを思い出されたい。
【0073】
分析ブロックのエラーが修復されたとステップ326で判定されると、ルーチンはステップ328に進み、ここでFix_Anyフラグは「N」にリセットされる。これによってルーチンは再び分析の第1段階に入り、ここでルーチンは、ある特定の種類の利用可能な予備によってのみ修復可能である、「Must」エラーを探し修復しようとする。
【0074】
ここでも、分析および修復の第2段階中に分析ブロックのエラーのどれかを修繕することが、新たな「Must」エラーを生成し得ることが理解されるであろう。分析の第2段階でどれか1つエラーを選ぶことは簡単なことではない。したがって、説明した技術は、修繕すべき最善のエラーを判定しようとはせず、その代わりに、分析ブロックで最初に遭遇した修繕されていないエラーを修繕し、潜在的な新しい「Must」エラーが検出および修復される、分析の第1段階に戻る。このアプローチは、分析および修復ルーチンの全体の性能にわずかな影響しか与えない、簡単かつ効率的なものにつながる。
【0075】
またはこれに代えて、分析の第2段階の間に、残っている「Must」でない種類のエラーを最も多く修復可能なメモリの予備の種類を判定する試みを行なってもよい。この判定を行なうことは、製造歩留りの改善につながるが、ルーチンに複雑さを追加し、メモリの修復を実施するために必要とされる分析および修復時間ならびに記憶要件の増加につながる。
【0076】
分析および修復の第1および第2の段階の実行の上述のシーケンスは、1)「Must」エラーが修繕されず、かつ修繕されていないエラーがスキップされずに第1段階が終了するか、または、2)そのメモリ領域が修復不能(すなわちNGフラグが「Y」にセットされる)と判定されるまで続く。ルーチンが完了すると、分析されているメモリアレイの故障メモリセルを置換えるために必要である修復コードがRC SRAMに記憶される。
【0077】
修復ルーチン
図4Aおよび4Bは、メモリアレイの故障メモリセルを予備セルで置換えるために必要とされる修復コードを生成するための例示的な修復ルーチンのフロー図を示す。図4Aは、検出された「Must」エラーが修復される、分析および修復の第1段階で動作されるときに実行されるステップを示す。図4Bは、「Must」でない種類のエラーが修復される、分析および修復の第2段階で動作されるときに実行されるステップを示す。「Must」エラーか他の種類のエラーのどちらが処理されるかの決定は、図4Aに示されるルーチンのステップ402で行なわれる。
【0078】
修復ルーチンを詳しく説明する前に、このルーチンで使用される、ある用語を定義し、ルーチンの動作に関する一般的な考察をいくつか行なうことは有用であろう。
【0079】
まず、何が「Must」の種類のエラーを構成するかは、分析されているメモリアレイのサイズ、検出されたエラーの数、望ましいテスト歩留り、および利用可能な予備の行および予備の列(またはI/O)の数を含むがこれに限らない、いかなる数の変数にも依存し得る。好ましい実施例によると、「Must」エラーは、1)分析ブロックの所与の行で検出されたエラーであって、その所与の行のエラーの数が利用可能な予備の列(またはI/O)の数を超える場合、または、2)分析ブロックの所与の列(またはI/O)で検出されたエラーであって、その所与の列(またはI/O)で検出されたエラーの数が利用可能な予備の行の数を超える場合として規定される。
【0080】
次に、図4Aおよび4Bに示される例示的なフロー図は、行のエラーが列のエラーの前に処理され修復されることを示すが、このとおりである必要はない。たとえば、「Must」の種類のエラーが処理される、図4Aに示されるルーチンの部分では、エラー記憶テーブル内の行エントリおよび列エントリのすべてがエラーについてテストされ、行エントリまたは列エントリのどちらで任意のものを始めるかが判定される。「Must」でない種類のエラーが処理される、図4Bに示されるルーチンの部分で、行エントリまたは列エントリのどちらを最初に処理するかは、適用されるエラー記憶技術に依存する。たとえば同時係属中の米国特許出願第10/ 号に示されるエラー記憶技術は、「Must」でない種類のエラーが確実にエラー記憶テーブル内に行エントリおよび列エントリの両方を有するようにする。
【0081】
これらのエラー記憶技術の適用を反映する図4Bは、テーブルの行エントリのみが「Must」でない種類のエラーについてテストされているのを示すが、このとおりである必要はない。もし故障メモリセルの情報をES SRAMに記憶することが、「Must」でない種類のエラーが行エントリおよび列エントリの両方を持つことを保証しないのであれば、このルーチンは、エラー記憶テーブルの行エントリおよび列エントリの両方で少なくとも1つの「Must」でない種類のエラーを探すように修正することができる。さらに、もしES SRAMの故障メモリセル情報の記憶がそう保証するのであれば、ルーチンは、エラー記憶テーブルの列エントリの「Must」でない種類のエラーのみを探すように修正することができる。
【0082】
最後に、図4Aおよび/または4Bは、分析ブロック102のセット204を形成するサブブロック202の各々の、処理されている4つの行および3つの列を示す。修復ルーチンで処理される行および列の数は、ES SRAMに記憶される故障メモリセルの情報の量に依存することが理解されるであろう。上述のことから、ES SRAMの行の各々はエラー記憶テーブルに対応してもよいことを思い出されたい。同時係属中の米国特許出願第10/ 号に説明されるように、エラー記憶テーブルの各々は、故障メモリセル情報の合計のうち少なくとも一部分を記憶するための行および列エントリを含む。
【0083】
この同時係属中の出願は、2つの予備の行および1つの予備の列を有するサブブロック202について、修復を実施するために必要とされるテーブルの行エントリの数は、利用可能な予備行の各々につき2つのエントリ、プラス2つの利用可能な予備の行と1つの利用可能な予備の列の交差点の各々につき2つのエントリの、4つであり、一方修復を実施するために必要とされるテーブルの列エントリの数は、1つの利用可能な予備の列につき1つのエントリ、プラス1つの利用可能な予備の列と2つの利用可能な予備の行との交差点の各々につき2つのエントリの、3つであることをさらに説明する。よって、図4Aおよび4Bで処理される行および/または列の数は単に例示的であり、所与のサブブロック202の行および列の総数までのいずれの数にもなり得る。処理すべき行および列の数が少ないほど、修復ルーチンはより効果的かつ効率的になる。
【0084】
これらの定義および一般的な考察を念頭に置き、図4Aに示される修復ルーチンの部分をさらに詳しく説明していく。図でわかるように、所与のセット204を作るサブブロック202の各々は、ルーチンで順次処理される。エラーテーブルの行および列エントリの各々は同じやり方で処理されるため、行♯1の処理のみを詳しく説明する。
【0085】
第1のESテーブルの行(または列またはI/O)エントリの処理は、ステップ404で開始し、ここでそのテーブルエントリで識別されたエラーが既に修復されたか(すなわち予備の行または予備の列で修繕されたか)、または対応する行のエラーの数がゼロであり、よって修復する必要がないかが判定される。これらの状態のいずれかが当てはまれば、ルーチンは先に進んで、テーブルのすべての行エントリおよび列エントリが処理されるまで、エラー記憶テーブルの次の行(および列)エントリを処理する。もしこれらの状態のいずれも当てはまらない場合、ルーチンはステップ406に進み、ここでその故障が「Must」の種類であるか、または他の種類のエラーであると判定される。好ましい実施例によると、もし行で検出されたエラーの数が利用可能な予備の列の数を超えると、エラーは「Must」エラーと見なされるであろうことを思い出されたい。
【0086】
もしエラーが「Must」の種類のエラーでないと、そのエラーはスキップされ(ルーチンのこの部分は「Must」の種類のエラーのみを処理するため)、ルーチンはステップ408に進み、ここでSkipフラグは真(true)にセットされる。これは図3に示される分析ルーチンに対し、検出されたエラーはスキップされたため、そのルーチンでさらなる処理を進めることが可能であることを示す。すると、ルーチンは先に進んで、すべての行エントリおよび列エントリが処理されるまで、エラー記憶テーブルの次の行(および列)エントリを処理する。
【0087】
もしエラーが「Must」の種類のエラーであると判定されると、ルーチンはステップ410に進み、ここでエラーを修復するために予備の行が利用可能であるかについての判定が行なわれる。もし予備の行が利用可能であれば、その利用可能な予備の行がエラーを修復するために割当てられ、ルーチンはステップ412に進み、ここでFixedフラグは真にセットされる。これは分析ルーチンに対し、検出されたエラーが修繕され、よってそのルーチンでさらなる処理を進めることが可能であることを示す。すると、ルーチンは先に進んで、すべての行エントリおよび列エントリが処理されるまで、エラー記憶テーブルの次の行(および列)エントリを処理する。
【0088】
もし検出された「Must」の種類のエラーを修復するために利用可能な予備の行がない場合、ルーチンはステップ414に進み、ここでフラグNGは「Y」にセットされる。このフラグは分析ルーチンに対し、分析されているメモリアレイは修復不能であることを示し、アレイのすべての分析および修復が停止される。分析ブロック102の現在のセット204のサブブロック202の各々が処理されると、ルーチンはステップ308でルーチンの分析の部分に制御権を戻す。
【0089】
次に図4Bに示される修復ルーチンの部分をさらに詳しく説明する。ルーチンのこの部分は、図4Aに示されるルーチンの部分で「Must」エラーを処理する間にスキップされた少なくとも1つのエラーのうち1つのエラーを検出しそれを修復しようとすることを思い出されたい。行(またはおそらく列またはI/O)エントリの各々は同じやり方で処理されるため、行♯1の処理のみを詳しく説明する。ルーチンのこの部分はステップ416で開始し、ここでエラーが行1で検出されたかが判定される。もしエラーが検出されていると、ルーチンはステップ418に進み、ここで検出されたエラーが既に修復されたかが判定される。もし第1の行エントリでエラーが検出されないか、または第1の行エントリで検出されたエラーが既に修復されていると、ルーチンは先に進んで、エラー記憶テーブルの残りの行(または列またはI/O)エントリの処理をすべてのエントリが処理されるまで続ける。
【0090】
またはこれに代えて、エラー記憶テーブルのエラーのない第1の行(または列またはI/O)エントリの下方の行(または列またはI/O)エントリにもエラーがないことを、適用されたエラー記憶技術が保証できると、さらなる行(または列またはI/O)エントリの処理はスキップしてもよい。するとルーチンは直接ステップ420および422に進むことができ、ここで分析ブロック102の現在のセット204の次のサブブロック202が処理される。
【0091】
もし検出されたエラーがまだ修復されていないとステップ418で判定されると、ルーチンはステップ424に進み、ここで検出されたエラーを修復するための行の予備が利用可能であるか が判定される。もし行の予備が利用可能であると、エラーはステップ426でその利用可能な予備で修復され、Fixedフラグがステップ434でセットされる。もし利用可能な予備がないと、ルーチンはステップ428に進み、ここで検出されたエラーを修復するための列の予備が利用可能であるかが判定される。もし列の予備が利用可能であると、エラーはステップ430でその利用可能な予備で修復され、Fixedフラグはステップ436で再びセットされる。もし検出されたエラーを修復するために行および列の予備がどちらも利用可能でない場合、NGフラグはステップ432で「Y」にセットされ、制御はルーチンの分析の部分に戻る。
【0092】
ある用語が例示的な実施例を説明する中で便宜のために使用されてきたが、それらはここに説明される一般的な概念を限定するために使用されるべきではない。たとえば、メモリの「行」または「列」の部分、もしくはメモリの予備の種類について特定的に述べている部分は、メモリのこれらの部分か、またはメモリの予備の種類を含むと理解され得る。メモリの予備の場合、その特定の用語は、もしメモリの予備の1つの種類が所与のメモリセルの場所の修復のために使用されない場合、他方の相補的な種類のメモリの予備を使用してその場所を修復してもよいという点で、相補的な種類のメモリの予備を表す。
【0093】
さらに、「修復」または「修復する」という用語は、故障メモリセルを予備のセルで置換えることだけを含むのでなく、予備のセルで故障メモリセルを置換える際に後に使用するための、たとえばRC SRAMに記憶してもよい、故障修復情報の生成も含む。さらに、「セル」および「メモリセル」という用語は、メモリにおける1つまたはいくつかのメモリセル、もしくは場所を示すと理解され得る。最後に、「Y」および「真」ならびに「N」および「偽(false)」という用語は、説明されたルーチンで発生するさまざまなテスト状況の状態を説明するためにこの説明および特許請求の範囲を通して相互に置換えて使用することができる。
【0094】
さまざまな局面をいくつかの例示的な実施例に関連して説明してきた。これらの実施例の理解を容易にするため、コンピュータシステムまたはマイクロコントローラの要素によって行なうことのできる動作のシーケンスに関して多くの局面を説明した。たとえば、実施例の各々において、さまざまな動作は、専用回路(たとえば専用の機能を遂行するように相互に接続される別個の論理ゲート)によって、1つまたはそれ以上のプロセッサによって実行されるプログラム命令によって、または両方の組合せによって行なうことができる。
【0095】
さらに、例示的な実施例は、ここに説明した技術をプロセッサに実行させるコンピュータの命令の適切なセットを記憶した、いかなる形のコンピュータ読出可能記憶媒体の一部とも見なされ得る。よって、さまざまな局面は多くの異なる形で実施してもよく、そのような形はすべて、説明されたものの範囲内にあると考えられる。さまざまな局面の各々について、そのような形の実施例はいずれも、ここでは、説明した動作を実行するように「構成された論理」として、またはこれに代えて説明した動作を実行する「論理」と称することができる。
【0096】
さまざまな例示的な実施例が説明されてきたが、これらの実施例は単に例示的なものであり、多くの他の実施例が可能であることが当業者によって理解されるであろう。この発明の意図する範囲は、上述の説明ではなく特許請求の範囲によって規定され、特許請求の範囲内にある変形はすべてそこに含まれることが意図される。
【図面の簡単な説明】
【図1】冗長回路を備える例示的なメモリアレイを示す。
【図2】図1に示される例示的なメモリアレイの一部分を示し、かつそのメモリアレイの分析ブロックと称される部分を示す。
【図3】例示的な修復分析ルーチンのフロー図を示す。
【図4A】図3に示される修復分析ルーチンによって生成された情報を処理するための例示的な修復ルーチンのフロー図を示す。
【図4B】図3に示される修復分析ルーチンによって生成された情報を処理するための例示的な修復ルーチンのフロー図を示す。
【背景】
説明されるのはメモリを分析および修復するための方法および装置である。特に、冗長メモリ回路を有するメモリの、故障メモリセルを分析および修復するための方法および装置が提示される。
【0002】
最も一般的な意味では、メモリはいくつかの行(M)およびいくつかの列(N)を有するメモリセルの2次元のアレイとして規定することができる。行と列との交差点の各々が記憶された情報の1出力ビットを作る。多くの場合、いかなる所定のときでもメモリから2ビット以上の情報が出力されるのが望ましい。これを達成するための2つの方法は、アレイ構造全体を複製して付加的な出力ビットを提供するか、またはアレイの1つの次元を(たとえばMまたはN次元で)さまざまなサブブロックに細分し、メモリアレイがアクセスされるたびに各々のサブブロックが1出力ビットを提供するようにすることである。
【0003】
細分されたものを3つの変数、R、CおよびI/Oを使用して表わしてもよく(典型的にはR×C×IOとして表記される)、RおよびCは、それぞれアレイの行の数および列の数を示し、アレイへの入力として働く。I/O変数は、アレイの行と列の「交差点」からの出力である、ビットの数を表わしてもよい。実際には、I/Oビットはアレイの単一の行と列との交差点で形成されない。そうではなく、I/Oビットは、同時にアクセスされるアレイの単一の行と複数の列との交差点の集合によって、または同時にアクセスされるアレイの複数の行と、単一の列との交差点の集合によって形成される。I/Oビットがどのように形成されるかは、行または列のどちらが細分されてアレイの複数のI/Oを作成するかに依存する。
【0004】
従来のメモリアレイは、主にメモリの製造歩留りを向上させるため、故障メモリセルを置換えるために使用される冗長メモリセルを含む。メモリは一般的に行および列の2次元のアレイとして規定してもよいため、冗長セルも予備の行および予備の列(または予備のI/O)の2次元のグループとして規定すると都合がよい。予備の行および列(またはI/O)の数、ならびにその構成は変化し得るが、典型的にはメモリアレイは予備の行および列のグループか、または予備の行およびI/Oのグループを有するように配置される。
【0005】
予備の行は、メモリの単一の行アドレスに関連するいくつかの列およびI/Oを同時に置換えることができる。同様に、もし予備の列が存在すると、メモリの単一の列アドレスに関連するいくつかの行を置換えることができる。もし予備のI/Oが存在すると、メモリの特定のI/Oビットに関連するいくつかの列を同時に置換えることができる。典型的には、I/Oは、メモリアレイの行または列と同じ方向に配向され、よって故障メモリセルの交換の目的のために同じ方向に配向された予備の種類と同じように扱うことができる。
【0006】
従来のメモリのテストは、メモリアレイのすべての故障したメモリアドレスを識別すること、およびそれらのメモリアドレスのどのビットが故障しているかを識別することを伴う。典型的なメモリテストは、さまざまなデータパターンをメモリに書込み、それからメモリの出力を読取り、予想される値またはパターンと比較することを伴う。予想されるメモリの読出値と実際のメモリの読出値との不一致は、典型的にはメモリテスタ自身に位置する、外部メモリマップに記憶される。
【0007】
テストパターンのすべてが実行され、故障したアドレス(およびビット)が識別および記憶された後、テスタは記憶されたエラーデータについて修復分析を行なって、メモリを十分に動作させるために故障したアドレスの行および/または列(またはI/O)のどのビット(またはセル)を利用可能な予備のメモリセルで置換える必要があるかを判定してもよい。故障したメモリの情報は典型的にはメモリテストのすべての終わりに分析される。これによって、修復ルーチンは故障したメモリの情報のすべてを考慮に入れ、メモリの動作を最大限にし、かつ冗長メモリセルを最も効率のよいやり方で使用する、最適の修復構成を判定することが可能になる。さらに、故障したメモリの情報のすべてを一度に考慮に入れることによって、ある修復不能なメモリの状況を早期に識別し、修復不能な状態に貴重なテストおよび修復の時間を浪費する前に、そのメモリを放棄することができる。
【0008】
たいていの従来的なテスタに関連する制限は、修復情報が動的に生成され使用されることを要求する。これは冗長メモリセルを非効率的に使用することによってメモリの歩留り全体を減少させ得る。またこれらの制限は、より高速でより高密度なメモリの開発においてメモリのテストを非常に高価かつ時間を浪費するプロセスにしている。
【0009】
たとえば、従来のメモリテスタは、典型的にはテストのためにそれらが使用されるメモリセルの動作周波数よりも比較的遅い処理クロック速度を有する。この比較的遅いクロック速度のため、テスト中のメモリが通常の動作速度で正しく動作するかを判定することが不可能となる。またこれらのより遅い従来のテスタを使用してエラー情報を通常の動作速度で集めることは不可能である。結果として、テスタは大量のエラーデータを記憶し、それから、この大量のデータを「オフライン」で実行される修復ルーチンで分析することができなければならない。従来のテスタでは、エラーメモリは予想される故障したビットの総数と同じぐらい大きくなければならない。さらに、メモリの密度が増え続るのに伴い、既に制限されているテスタのメモリも増やさなければならず、テスタの処理能力を増やし、より複雑な修復ルーチンソリューションを処理できるようにしなければならない。
【0010】
従来のテスタに関連する別の制限は、典型的にそのI/O能力が制限されていることである。メモリが高密度化するにつれ、そのメモリをテストするために必要とされるI/Oの数も増やさなければならない。I/Oが制限されているテスタは、メモリ全体を一度にテストすることができず、テストプログラムをより小さなテストに分割することが必要となるであろう。メモリテストの分割は、テスト時間全体の増加につながり、メモリの製造に関連するコストの大きな一因となる。
【0011】
メモリの設計者は、組み込み自己試験(またはBIST)技術を使用してこれらの懸念のいくつかを解決してきた。BISTでは、メモリをテストするためのパターン生成器がそのメモリ自身と同じ半導体チップ(またはウェハ)上に作られる。これによって、BIST回路は「高速で(at speed)」そのメモリをテストすることが可能となり、動作速度以下でメモリをテストする結果としてエラー検出に失敗する懸念を排除する。さらに、BIST回路は、I/Oが制限されている今日のテスタに関連する懸念を解決する。
【0012】
それでも、従来のBIST技術には限界がある。たとえば、今なお大量のエラーメモリをBIST回路に組み込んで故障したメモリの情報を記憶しなければならない。また付加的な記憶およびプロセッサ資源をメモリに組み込んで修復ルーチン処理を行なわなければならない。スペースおよびプロセッサの制限のため、限られた量のエラー記憶および修復コードしかBIST設計に統合することはできない。結果として、従来のBIST技術は、故障したメモリの場所を検出するために「スナップショットアプローチ」を使用し続けている。これは、修復ルーチンが故障したメモリの情報を「その場で(on the fly)」処理することを要求し、これは上述のとおり、メモリチップ上に含まれる冗長メモリセルの非効率な使用につながる。
【0013】
よって、修復ルーチンの複雑さを減少させてはるかに簡単な作業にし、メモリテスタに課されたエラー記憶の要件を軽減する、メモリを分析および修復するための改善された技術が必要である。
【0014】
【概要】
したがって、1つの目的は、メモリのいくつかのより小さな部分を同時に効率よく修復することができる、複雑さが減少したメモリの分析および修復技術を提供することである。別の目的は、故障したメモリの情報をすべて効率のよいやり方でオンチップで記憶することを可能にする、メモリの分析および修復技術を提供することである。さらに別の目的は、故障したメモリの情報のすべてについて高速の分析および修復情報の生成を可能にすることである。さらに別の目的は、多数のI/Oを有するメモリのテストを支援することである。また別の目的は、修復ルーチンの実行の初期で、ある修復不能なメモリの故障状況を検出することである。これらの目的は、メモリの故障メモリセルを分析および修復するための方法および装置によって解決される。
【0015】
一局面によると、メモリを分析および修復するための方法は、メモリの少なくとも一部分で検出された故障メモリセルを、いくつかの種類のメモリの予備のうち1つのみを使用して修復しなければならないか、またはいくつかの種類のメモリの予備のうちどれを使用しても修復できるかを判定するステップを含む。いくつかの種類のメモリの予備のうち1つのみを使用して修復しなければならない故障メモリセルは、修復しなければならない新しいエラーが修復されなくなり、かつ故障メモリセルがスキップされなくなるまで、またはメモリが修復不能と判定されるまで繰返し修復され、いくつかの種類のメモリの予備のうちどれを使用しても修復できる故障メモリセルはいずれもスキップされる。修復しなければならない故障メモリセルを修復するときにスキップされた故障メモリセルのうち少なくとも1つが修復される。故障メモリセルを修復しなければならないかを判定するステップ、および修復しなければならない故障メモリセルを繰返し修復するステップは、少なくとも1つのスキップされた故障メモリセルが修復されるたびに繰返される。
【0016】
ある関係する局面によると、複数の種類のメモリの予備のうち第1の種類はメモリの行および列の部分のうち一方を修復することができ、複数の種類のメモリの予備のうち第2の相補的な種類はメモリの行および列の部分のうち他方を修復することができる。
【0017】
別の関係する局面によると、修復しなければならない故障メモリセルは、その総数が利用可能な相補的な種類のメモリの予備の数を超える故障メモリセルを有する、メモリの行または列の部分のそれぞれに、故障メモリセルを含む。
【0018】
さらに別の関係する局面によると、メモリの少なくとも一部分は、そのメモリをいくつかの分析ブロックに論理的に分けることによって形成され、各分析ブロックは、複数の種類のメモリの予備の各々の種類の少なくとも1つを完全に含む。
【0019】
さらに別の関係する局面によると、メモリの少なくとも一部分は、分析ブロックの各々をいくつかのサブブロックに論理的に分けることによって形成され、各サブブロックは、それぞれの分析ブロックの、複数の種類のメモリの予備の各々が修復することのできるメモリセルの範囲に対応する領域にわたって延びる。
【0020】
さらに別の関係する局面によると、この方法は、各サブブロックについての故障メモリセルの情報をメモリに別々のアドレス指定可能なエントリとして記憶するステップをさらに含む。
【0021】
さらに別の関係する局面によると、各サブブロックについての故障メモリセル情報は、分析および修復されているメモリの一部分に記憶される。
【0022】
さらに別の関係する局面によると、メモリのアドレス指定可能なエントリの各々は、それぞれのサブブロックのエラー記憶テーブルに対応し、各エラー記憶テーブルは、メモリの行および列の部分のそれぞれで検出されたいくつかの故障メモリセルに関係する情報を記憶するための行エントリおよび列エントリを有する。
【0023】
さらに別の関係する局面によると、この方法は、メモリの行および列の部分のそれぞれで検出されたいくつかの故障メモリセルに関係する情報を、メモリに記憶された少なくとも1つのエラー記憶テーブルから読出すステップをさらに含む。メモリの少なくとも一部分で検出された故障メモリセルは、いくつかの故障メモリセルに関係する情報が読出される少なくとも1つのエラー記憶テーブルに対応する、サブブロックに位置する。
【0024】
さらに別の関係する局面によると、この方法は、メモリで検出されたすべての故障メモリセルが修復されるか、またはそのメモリが修復不能と判定されるまで、メモリの別々の部分上でこの方法のステップの各々を行なうステップをさらに含む。
【0025】
さらに別の関係する局面によると、この方法のステップの各々をメモリの別々の部分上で行なうことは、別々の部分の各々に対して同時に起こる。
【0026】
さらに別の関係する局面によると、複数の種類のメモリの予備のうち1つの種類のみを使用して修復しなければならない故障メモリセルを繰返し修復するステップは、少なくとも1つのエラー記憶テーブルの行エントリまたは列エントリが空であるか、または行エントリもしくは列エントリによって識別されたエラーが修復されたかを判定するステップを含む。もしその行エントリまたは列エントリが空でなく、識別されたエラーも修復されていない場合、識別されたエラーを修復しなければならないかが判定される。そうでなければ、少なくとも1つのエラー記憶テーブルの次の行エントリまたは列エントリが空であるか、または次の行もしくは列エントリによって識別されたエラーが修復されたかが判定される。もし識別されたエラーを修復しなければならないと、複数の種類のメモリの予備のうち1つのみの予備が利用可能であるかが判定される。そうでないと、識別されたエラーを修復するステップはスキップされ、少なくとも1つのエラー記憶テーブルの次の行エントリまたは列エントリが空であるか、または次の行エントリもしくは列エントリによって識別されたエラーが修復されたかが判定される。もし複数の種類のメモリの予備のうち1つのみの予備が利用可能であると、識別されたエラーは複数の種類のメモリの予備のその1つのみの予備で修復され、少なくとも1つのエラー記憶テーブルの次の行エントリまたは列エントリが空であるか、または次の行エントリまたは列エントリによって識別されたエラーが修復されたかが判定される。そうでなければそのメモリは修復不能と判定される。少なくとも1つのエラー記憶テーブルの次の行エントリまたは列エントリが空であるか、または行もしくは列エントリによって識別されたエラーが修復されたか を判定するステップは、少なくとも1つのエラー記憶テーブルのすべての行および列エントリが処理されるまで繰返される。
【0027】
さらに別の関係する局面によると、修復しなければならない故障メモリセルを修復するときにスキップされた故障メモリセルのうち少なくとも1つを修復するステップは、スキップされた故障メモリセルのうち少なくとも1つの最初に検出された故障メモリセルのみを修復するステップを含む。
【0028】
さらに別の関係する局面によると、最初に検出された故障メモリセルのみを修復するステップは、少なくとも1つのエラー記憶テーブルの行エントリまたは列エントリが空であるかを判定するステップを含む。もし行エントリまたは列エントリが空でなければ、その行エントリまたは列エントリによって識別されたエラーが修復されたかが判定される。そうでなければ、少なくとも1つのエラー記憶テーブルの次の行エントリまたは列エントリが空であるかが判定される。もし識別されたエラーが修復されていないと、複数の種類のメモリの予備のうち第1の種類が利用可能であるかが判定される。そうでなければ、少なくとも1つのエラー記憶テーブルの次の行エントリまたは列エントリが空であるかが判定される。もし複数の種類のメモリの予備のうち第1の種類が利用可能であれば、識別されたエラーはその第1の種類の予備で修復される。そうでなければ、複数の種類のメモリの予備のうち第2の相補的な種類が利用可能であるかが判定される。もし複数の種類のメモリの予備のうち第2の種類が利用可能であれば、識別されたエラーはその第2の種類の予備で修復される。そうでなければメモリは修復不能と判定される。少なくとも1つのエラー記憶テーブルの行エントリまたは列エントリが空であるかを判定するステップは、少なくとも1つのエラー記憶テーブルの少なくともすべての行エントリまたはすべての列エントリが処理されるまで繰返される。
【0029】
さらに別の関係する局面によると、もし少なくとも1つのエラー記憶テーブルの行エントリまたは列エントリのいずれかが空であると判定されると、空であるその種類の次のエントリは処理される必要がない。
【0030】
さらに別の関係する局面によると、メモリの行の部分はメモリの少なくとも1つの行を含み、メモリの列の部分はメモリの少なくとも1つの列を含む。
【0031】
さらに別の関係する局面によると、メモリの列の部分は少なくとも1つの入出力(I/O)装置を含み、この少なくとも1つのI/O装置は、メモリの少なくとも1つの列のための入力および出力経路を提供する。
【0032】
さらに別の関係する局面によると、修復しなければならない故障メモリセルを修復するときにスキップされた故障メモリセルのうち少なくとも1つを修復するステップは、複数の種類のうちどの種類のメモリの予備が、複数の種類のメモリの予備のうちどれを使用しても修復できる故障したメモリを最も多く修復することができるかを判定するステップを含む。それら最も多くの故障メモリセルは、判定された種類の利用可能な予備で置換えられる。
【0033】
さらに別の関係する局面によると、メモリの少なくとも一部分で検出された故障メモリセルを修復しなければならないかを判定する前に、この方法は、メモリの少なくとも一部分における複数の種類のメモリの予備のうちいずれかが機能しないかを判定するステップをさらに含む。機能しないメモリの予備に関係する情報は、メモリの少なくとも一部分における複数の種類のメモリの予備の配置に基づいて、まとめてグループ分けされる。
【0034】
さらに別の関係する局面によると、機能しないメモリの予備に関係する情報をまとめてグループ分けするステップは、メモリの少なくとも一部分のいくつかの部分についての機能しないメモリの予備に関係する情報を、もしそれらの部分が複数の種類のメモリの予備のそれぞれの種類のうち少なくとも1つによって修復することが可能であれば、まとめてOR演算するステップを含む。
【0035】
「含む」および「含んでいる」という用語は、この明細書および特許請求の範囲で使用されるときには、記述された特徴、ステップまたは構成要素の存在を特定するために用いられることが強調されるべきである。しかしこれらの用語の使用は、1つまたはそれ以上の他の特徴、ステップ、構成要素またはそのグループの存在または追加を排除しない。
【0036】
上記の目的、特徴および利点は、同じ参照番号が類似または同じ要素を示す添付の図面と共に以下の詳細な説明と照らし合わせることで、より明らかになるであろう。
【0037】
[詳細な説明]
添付の図面を参照して好ましい実施例を以下に説明する。以下の説明では、説明を不必要に詳しくしてわかりにくくするのを避けるため、周知の機能および/または構成は詳細に説明しない。
【0038】
例示的なメモリアーキテクチャ
分析および修復の技術を詳細に説明する前に、この技術を適用することができる例示的なメモリアーキテクチャをまず説明することが有用であろう。メモリアレイの予備を中心として見ると、予備の行および列(またはI/O)はメモリアレイ全体を通して定間隔に配置してもよい。予備の行および予備の列(またはI/O)の活性化は、典型的にはヒューズによって制御されるが、他の活性化の手段も公知である。ヒューズが「溶ける」とき、対応する予備の行または列(またはI/O)が活性化され、置換えられるべき適切なメモリアドレスがプログラムされる。ヒューズは、レーザ切断、およびある電気信号の活性化を含むがこれに限らない、さまざまな方法で「溶ける」ことができる。
【0039】
典型的にはヒューズはそれが活性化する予備のメモリセルに比べると比較的大きいため、多くの場合、所与のヒューズのいずれかを使用して、いくつかの行または列(またはI/O)を一度に活性化し置換えてもよい。そのような配置では、所与のヒューズによって活性化されプログラムされる予備の行または列のグループは、分析および修復の立場からは、単一の実体として見てもよい。予備の行および列のこのようなグループ分けを分析および修復ルーチンで利用して、故障メモリセルの識別および置換えでのある程度の圧縮および効率を達成してもよい。
【0040】
図1は冗長回路を備える例示的なメモリアレイを示す。この例示的なアレイはメモリセルの2つのバンク、バンク0およびバンク1を含む。メモリセルのバンクの各々は、32列(列0〜15と16〜31)および4096行(各々2Kセルの行の2セット)のアレイを含む。このメモリバンクは、各々が128のI/O(IO[0]〜IO[127]とIO[128]〜IO[255])を有する部分に分けられる。予備のI/Oおよび予備の行は、アレイ全体を通して定間隔に配置される。上述のように、予備の列および予備の行を有する冗長回路を含むメモリアレイも使用することができる。
【0041】
メモリアレイは、分析ブロック102と称されるいくつかの部分に論理的に分けられる。分析ブロック102のサイズおよび形状は、好ましくは、少なくとも1つの予備I/O(または列)および少なくとも1つの予備の行を完全に含むメモリアレイの最小の部分を規定するように選ばれる。分析および修復ルーチンは、好ましくは分析ブロック102ごとに動作するように規定される。示される例示的なメモリアーキテクチャでは、16の分析ブロックが示される。メモリアレイはいかなる数の分析ブロックにも論理的に分けられることが理解されるであろう。
【0042】
分析ブロックの予備のメモリセルが他の分析ブロックの予備のメモリセルから独立するように分析ブロック102を規定することは、修復および分析ルーチンのさらなる効率につながるが、そのような配置は厳密には要求されない。たとえば、確実に所与の分析ブロックの予備のI/Oおよび予備の行が分析ブロックの境界と交差しないようにすることによって、分析および修復ルーチンは、メモリアレイのさまざまな分析ブロックを独立的かつ並列に分析および修復することができる。
【0043】
図2は、図1に示されるハイライトされた分析ブロック102をより詳細に示す。この図からわかるように、例の分析ブロックの各々は、4つのI/Oの予備および4つの行の予備を含むように規定される。分析ブロック102は、サブブロック202と称される、より小さな部分に論理的にさらに分けてもよい。図2に示される分析ブロックは、8つのそのようなサブブロック202を有する。サブブロックのサイズは、好ましくはそのサブブロックが行およびI/O(または列)の次元に延びる距離が、行およびI/O(または列)の予備が置換えることのできるメモリセルの範囲に対応するように選ばれる。
【0044】
示される例によると、サブブロック202の各々は、I/Oセクション206の32のI/Oのいずれかを置換えることのできる1つのI/Oの予備、およびそのブロックの512行のいずれかを置換えることのできる2つの行の予備を含む。サブブロックは、各々が4つのサブブロックからなる2行に配置され、この行はセット204と称される。好ましくは、各サブブロックについての故障メモリセルの情報は、エラー記憶(ES)SRAM(図示せず)に別々の行エントリとして記憶される。ES SRAMの行エントリの各々は、エラー記憶テーブルと称してもよい。メモリアレイのサイズおよびアレイの冗長回路の構成に依存して、いくつかのES SRAMを使用して故障メモリセルの情報を記憶してもよい。故障メモリセルおよび修復の情報を記憶するための技術は、この出願と同じ譲受人を有し、2002年5月31日に出願された「メモリテストの情報を記憶するための方法および装置(Methods and Apparatus for Storing Memory Test Information)」と題される同時係属中の米国特許出願第10/ 号に説明される。
【0045】
分析ルーチン
例示的なメモリアーキテクチャの説明が終わったので、メモリアレイの故障メモリセルを分析するためのルーチンを提示する。分析ルーチンで(および修復ルーチンでも)使用される以下の言葉を定義する。
【0046】
Must:1つのやり方、すなわちエラーまたはエラーのグループを予備の行で置換えるか、または予備のI/O(または列)で置き換えるかのいずれかによってのみ修復することができる、故障メモリセル(またはエラー)もしくはエラーのグループ。
【0047】
Fixed:ルーチンのフローを制御するために使用されるフラグ。このフラグは、エラーが修復されるたびに「Y」にセットされるべきである。
【0048】
Skip:ルーチンのフローを制御するために使用される別のフラグ。このフラグは、エラーが検出されたがルーチンによって直ちに修復されないたびに「Y」にセットされるべきである。
【0049】
NG:メモリアレイが修復不能であることを示す、ルーチンで使用されるフラグ。
【0050】
Fix_Any:直ちに修繕すべきエラーの種類を判定するためにルーチンで使用されるフラグ。もしこのフラグが「Y」にセットされていると、発見されたエラーはどれでも可能であれば修繕されるであろう。「N」にセットされていると、「Must」エラーのみがルーチンによって修復されるであろう。
【0051】
このルーチンの分析の部分のフロー図が図3に示される。厳密には要求されないが、このルーチンは、現在分析されている分析ブロックの冗長回路を形成するさまざまな行の予備および列の予備の持つ機能性に関係する情報を判定(または更新)することによってステップ302で開始する。予備の持つ機能性の情報は、メモリ、たとえばES SRAMにサブブロック202ごとに記憶してもよい。もし予備の持つ機能性の情報がこのやり方で記憶されると、ステップ302は、さまざまなサブブロック202の中から集められた関係する予備の持つ機能性の情報をまとめてグループ分けするステップをさらに含むべきである。
【0052】
関係する予備の機能性の情報のグループ分けは、論理的「OR」関数を使用して達成してもよい。たとえば、図2に示される分析ブロックでは、所与のセット204のI/Oセクション206の各々における、予備の行に関係する機能性の情報は、その予備の行がセット204の示される4つのI/Oセクション206の各々と交差するため、まとめてOR演算されるべきである。同様に、I/Oセクション206の行の各々に対する予備のI/O(または列)に関係する機能性の情報は、予備のI/OがそのI/Oセクション206の行の各々と交差するため、まとめてOR演算されるべきである。
【0053】
現在の分析ブロックの予備の機能性の情報が更新された後、ルーチンはステップ304に進み、ここで現在の分析ブロックについて記憶された修復コード(RC)情報がメモリから読出される。好ましくはRC情報は、エラー記憶情報と別々に、たとえば別々のRCおよびES SRAMにそれぞれ記憶されるが、この記憶配置は厳密には必要ではない。ステップ306から330は、分析ルーチンの主要部分を示す。所与の分析ブロック102の故障メモリセル情報を、その分析ブロックを修復するための適切な修復コードを生成することができるように、これらのステップで分析する。分析ブロックの各々が処理された後、そのメモリアレイのすべての分析ブロックが処理されたかの判定がステップ332で行なわれる。もし処理がすんでいれば、プロセスは終了し、そうでなければ処理すべき次の分析ブロックに関係する情報がステップ334で更新され、プロセスはステップ302から繰返される。
【0054】
分析ルーチンの主要部分は2つのステップからなるアプローチを使用する。まずルーチンは、1つの特定のやり方、すなわち予備の行を割当てるか、または予備のI/Oを割当てるかのいずれか一方のみでエラーを修復することによって修繕しなければならない分析ブロックのそれらの行および/またはI/Oを修復しようとする。次にルーチンは、複数の方法、すなわち利用可能な予備のいずれかの種類を割当ててエラーを修復することによって修復可能である行および/またはI/Oを修復しようとする。
【0055】
フロー図にははっきりと示されていないが、ルーチンによって使用されるさまざまなフラグは、新しい分析ブロックの処理の開始に先立って、以下の値に初期設定される。
【0056】
Fix_Any:「N」にセットされる。
Fixed:「N」にセットされる。
【0057】
Skip:「N」にセットされる。
NG:「N」にセットされる。
【0058】
Last Set:「N」にセットされる(注意:このフラグの値は現在の分析ブロック102の予備/サブブロック/セットの構成に依存する)。
【0059】
分析ブロックの処理は、ステップ306で現在の分析ブロックのESデータを、たとえばES SRAMから読出すことで開始する。フラグFix_Anyは「N」に初期設定されるため、ルーチンはいわゆる「Must」エラーをまず処理することによってESデータの分析を開始する。「Must」エラーは、特定の1種類の予備、すなわちこの例では予備の行または予備のI/O(または列)のいずれかでのみ修復できるメモリセルの故障を表すことを思い出されたい。分析ルーチンのこの段階は、上述の2つのステップからなるアプローチの第1のステップを表す。
【0060】
図2に示される分析ブロックは、各々が4つからなるサブブロックの2つのセット204に配置される8つのサブブロック202を含むことを思い出されたい。各セットは、セット204の4つのサブブロックにまたがる512行のいずれかを置換えるために利用可能である2つの予備の行を含む。この特定の配置では、最初の4つのエラー記憶テーブルがステップ306でES SRAMから読出される。これらのエラー記憶テーブルは、分析ブロック102の第1のセット204を作る4つのサブブロック202に対応する。他の配置では、ES SRAMから読出されるべきデータの量を変化させることが必要であろう。
【0061】
次に、図4Aおよび4Bに示される修復ルーチン(以下に詳細を示す)を使用して、ステップ306で読出されたESデータがステップ308で処理される。ここでもフラグFix_Anyが「N」に初期設定されるため、修復ルーチンは、いわゆる「Must」エラーをまず修復しようとすることによって開始する。フラグSkip、FixedおよびNGは、一旦修復ルーチンでセットされると、分析のこの段階を通して維持され、図3に示されるルーチンの分析の部分に戻されるべきである。もしエラーが発見されて修復されない場合は、フラグSkipは「Y」にセットされるべきであり、もしエラーが修復された場合は、フラグFixedは「Y」にセットされるべきであり、もしエラーが発見され修復不能な場合は、フラグNGは「Y」にセットされるべきであることを思い出されたい。
【0062】
ステップ310で制御はルーチンの分析の部分に戻り、ここでNGフラグの現在の状態がテストされる。もしNGフラグが「Y」にセットされていると、ルーチンはステップ312に進み、ここでそのメモリアレイは修復不能と識別される。一旦この判定が行なわれると、そのメモリアレイはさらに分析される必要はなく、分析および修復ルーチンは終了する。
【0063】
もしフラグNGがステップ310で「N」にセットされると、ルーチンはステップ314に進み、ここでFix_Anyフラグの現在の状態がテストされる。上述のように、他の識別されたエラーの前に「Must」エラーを識別および修復するため、このフラグは2つのステップからなる分析の第1段階の間「N」にセットされる。
【0064】
したがって、分析の第1段階の間にルーチンはステップ316に進み、ここで、処理されている現在のセット204が分析ブロック102内の分析すべき最後のセット204であるかの判定が行なわれる。もし分析されている現在のセット204がその分析ブロックの処理すべき最後のセットでなければ、ルーチンはステップ318に進み、ES SRAMのアドレスが更新されて、ルーチンによって分析されるべき次のセット204に対応する、SRAMに記憶される次の4つのエラー記憶テーブルにアクセスが行なわれる。ステップ306から318は、その分析ブロック102のすべてのセット204が「Must」エラーについて処理されるまで繰返し実行される。
【0065】
処理されている現在のセット204が現在の分析ブロック102の最後のセット204であるとステップ316で判定されたとき、ルーチンはステップ320に進み、ここでFixedフラグの現在の状態がテストされる。もしFixedフラグが「Y」にセットされていれば、それは、「Must」エラーが修復ルーチンによってステップ308で修復されたことを示し、プロセスはステップ330に進み、ここでES SRAMのアドレスは更新されて、ES SRAMに記憶される最初の4つのエラー記憶テーブルに再びアクセスが行なわれる。これらのエラー記憶テーブルは、現在分析されている分析ブロック102の最初のセット204に対応する。図示されていないが、フラグSkipおよびFixedは、ステップ330で再び「N」に初期設定される。
【0066】
ステップ306から318は、現在の分析ブロック102のすべてのセット204が「Must」エラーについて処理されるまで、再び繰返し実行される。分析ブロックのいずれかのエラーを修繕することで、以前にスキップされたエラー(識別されたエラーが「Must」エラーでなかったためスキップされた)がその後「Must」エラーになることが理解されるであろう。よって、新しいエラーが修復ルーチンによって修繕されなくなるまで、分析ブロックを「Must」エラーについて処理することが繰返される。
【0067】
修復ルーチンによって新しい「Must」エラーが修繕されなくなったとき、修復ルーチンによって戻されるFixedフラグは、初期値の「N」にセットされたままであろう。このため、Fixedフラグがステップ320でテストされると、プロセスはステップ322に進み、ここでSkipフラグの現在の状態がテストされる。これは、「Must」エラーが他の種類のエラーの前に修復される、2つのステップからなるアプローチの第1段階の終了を意味する。
【0068】
もし分析の第1段階中にエラーがスキップされなかった場合、プロセスはステップ332に進み、ここで現在の分析ブロック102がメモリアレイの処理すべき最後の分析ブロックであるかの判定が行なわれる。もし現在の分析ブロックが処理されるべき最後の分析ブロックであれば、ルーチンは終了する。そうでなければ、ルーチンはステップ334に進み、ここでルーチン全体がメモリアレイの次の分析ブロックについて繰返される。図示されていないが、フラグSkip、Fix_AnyおよびFixedは、ステップ334で再び「N」に初期設定される。
【0069】
もし分析の第1段階中にエラーがスキップされていれば、修復ルーチンによって戻されるSkipフラグの値は「Y」にセットされているであろう。結果として、このフラグはステップ322でテストされると、ルーチンはステップ324に進み、ここでFix_Anyフラグは「Y」にセットされる。これは2つのステップからなるアプローチの第2段階の開始を意味し、ここで利用可能な予備のいずれかの種類によって修復できるエラーが修復ルーチンによって処理される。
【0070】
Fix_Anyフラグを「Y」にセットした後、ES SRAMのアドレスはステップ330で更新されて、ES SRAMに記憶される最初の4つのエラー記憶テーブルに再びアクセスが行なわれる。これらのエラー記憶テーブルは、現在分析されている分析ブロック102の第1のセット204に対応する。フラグSkipおよびFixedは、再び「N」に初期設定される。
【0071】
ステップ306から312は、分析の第1段階と同じやり方で分析の第2段階において実行される。Fix_Anyフラグがステップ314でテストされるとき、このフラグは分析の第2段階の間「Y」にセットされるため、ルーチンはステップ326に進む。
【0072】
ステップ326でフラグFixedがテストされて、何らかのエラーが修復ルーチンによってステップ308で修復されたかが判定される。もしエラーが修繕されていないと、ルーチンはステップ318に進み、ここでES SRAMのアドレスは更新されて、SRAMに記憶されている次の4つのエラー記憶テーブルにアクセスが行なわれる。これらの記憶テーブルは、ルーチンによって処理されるべき分析ブロック102の次のセット204に対応する。分析ブロック102のセット204は、分析ブロックのエラーが修復されたとステップ326で判定されるまで処理される。分析の第1段階中にエラーがスキップされたとステップ322で判定された後初めて分析ルーチンの第2段階に入るため、ルーチンのこの段階では少なくとも1つのエラーが分析ブロックに存在しなければならないことを思い出されたい。
【0073】
分析ブロックのエラーが修復されたとステップ326で判定されると、ルーチンはステップ328に進み、ここでFix_Anyフラグは「N」にリセットされる。これによってルーチンは再び分析の第1段階に入り、ここでルーチンは、ある特定の種類の利用可能な予備によってのみ修復可能である、「Must」エラーを探し修復しようとする。
【0074】
ここでも、分析および修復の第2段階中に分析ブロックのエラーのどれかを修繕することが、新たな「Must」エラーを生成し得ることが理解されるであろう。分析の第2段階でどれか1つエラーを選ぶことは簡単なことではない。したがって、説明した技術は、修繕すべき最善のエラーを判定しようとはせず、その代わりに、分析ブロックで最初に遭遇した修繕されていないエラーを修繕し、潜在的な新しい「Must」エラーが検出および修復される、分析の第1段階に戻る。このアプローチは、分析および修復ルーチンの全体の性能にわずかな影響しか与えない、簡単かつ効率的なものにつながる。
【0075】
またはこれに代えて、分析の第2段階の間に、残っている「Must」でない種類のエラーを最も多く修復可能なメモリの予備の種類を判定する試みを行なってもよい。この判定を行なうことは、製造歩留りの改善につながるが、ルーチンに複雑さを追加し、メモリの修復を実施するために必要とされる分析および修復時間ならびに記憶要件の増加につながる。
【0076】
分析および修復の第1および第2の段階の実行の上述のシーケンスは、1)「Must」エラーが修繕されず、かつ修繕されていないエラーがスキップされずに第1段階が終了するか、または、2)そのメモリ領域が修復不能(すなわちNGフラグが「Y」にセットされる)と判定されるまで続く。ルーチンが完了すると、分析されているメモリアレイの故障メモリセルを置換えるために必要である修復コードがRC SRAMに記憶される。
【0077】
修復ルーチン
図4Aおよび4Bは、メモリアレイの故障メモリセルを予備セルで置換えるために必要とされる修復コードを生成するための例示的な修復ルーチンのフロー図を示す。図4Aは、検出された「Must」エラーが修復される、分析および修復の第1段階で動作されるときに実行されるステップを示す。図4Bは、「Must」でない種類のエラーが修復される、分析および修復の第2段階で動作されるときに実行されるステップを示す。「Must」エラーか他の種類のエラーのどちらが処理されるかの決定は、図4Aに示されるルーチンのステップ402で行なわれる。
【0078】
修復ルーチンを詳しく説明する前に、このルーチンで使用される、ある用語を定義し、ルーチンの動作に関する一般的な考察をいくつか行なうことは有用であろう。
【0079】
まず、何が「Must」の種類のエラーを構成するかは、分析されているメモリアレイのサイズ、検出されたエラーの数、望ましいテスト歩留り、および利用可能な予備の行および予備の列(またはI/O)の数を含むがこれに限らない、いかなる数の変数にも依存し得る。好ましい実施例によると、「Must」エラーは、1)分析ブロックの所与の行で検出されたエラーであって、その所与の行のエラーの数が利用可能な予備の列(またはI/O)の数を超える場合、または、2)分析ブロックの所与の列(またはI/O)で検出されたエラーであって、その所与の列(またはI/O)で検出されたエラーの数が利用可能な予備の行の数を超える場合として規定される。
【0080】
次に、図4Aおよび4Bに示される例示的なフロー図は、行のエラーが列のエラーの前に処理され修復されることを示すが、このとおりである必要はない。たとえば、「Must」の種類のエラーが処理される、図4Aに示されるルーチンの部分では、エラー記憶テーブル内の行エントリおよび列エントリのすべてがエラーについてテストされ、行エントリまたは列エントリのどちらで任意のものを始めるかが判定される。「Must」でない種類のエラーが処理される、図4Bに示されるルーチンの部分で、行エントリまたは列エントリのどちらを最初に処理するかは、適用されるエラー記憶技術に依存する。たとえば同時係属中の米国特許出願第10/ 号に示されるエラー記憶技術は、「Must」でない種類のエラーが確実にエラー記憶テーブル内に行エントリおよび列エントリの両方を有するようにする。
【0081】
これらのエラー記憶技術の適用を反映する図4Bは、テーブルの行エントリのみが「Must」でない種類のエラーについてテストされているのを示すが、このとおりである必要はない。もし故障メモリセルの情報をES SRAMに記憶することが、「Must」でない種類のエラーが行エントリおよび列エントリの両方を持つことを保証しないのであれば、このルーチンは、エラー記憶テーブルの行エントリおよび列エントリの両方で少なくとも1つの「Must」でない種類のエラーを探すように修正することができる。さらに、もしES SRAMの故障メモリセル情報の記憶がそう保証するのであれば、ルーチンは、エラー記憶テーブルの列エントリの「Must」でない種類のエラーのみを探すように修正することができる。
【0082】
最後に、図4Aおよび/または4Bは、分析ブロック102のセット204を形成するサブブロック202の各々の、処理されている4つの行および3つの列を示す。修復ルーチンで処理される行および列の数は、ES SRAMに記憶される故障メモリセルの情報の量に依存することが理解されるであろう。上述のことから、ES SRAMの行の各々はエラー記憶テーブルに対応してもよいことを思い出されたい。同時係属中の米国特許出願第10/ 号に説明されるように、エラー記憶テーブルの各々は、故障メモリセル情報の合計のうち少なくとも一部分を記憶するための行および列エントリを含む。
【0083】
この同時係属中の出願は、2つの予備の行および1つの予備の列を有するサブブロック202について、修復を実施するために必要とされるテーブルの行エントリの数は、利用可能な予備行の各々につき2つのエントリ、プラス2つの利用可能な予備の行と1つの利用可能な予備の列の交差点の各々につき2つのエントリの、4つであり、一方修復を実施するために必要とされるテーブルの列エントリの数は、1つの利用可能な予備の列につき1つのエントリ、プラス1つの利用可能な予備の列と2つの利用可能な予備の行との交差点の各々につき2つのエントリの、3つであることをさらに説明する。よって、図4Aおよび4Bで処理される行および/または列の数は単に例示的であり、所与のサブブロック202の行および列の総数までのいずれの数にもなり得る。処理すべき行および列の数が少ないほど、修復ルーチンはより効果的かつ効率的になる。
【0084】
これらの定義および一般的な考察を念頭に置き、図4Aに示される修復ルーチンの部分をさらに詳しく説明していく。図でわかるように、所与のセット204を作るサブブロック202の各々は、ルーチンで順次処理される。エラーテーブルの行および列エントリの各々は同じやり方で処理されるため、行♯1の処理のみを詳しく説明する。
【0085】
第1のESテーブルの行(または列またはI/O)エントリの処理は、ステップ404で開始し、ここでそのテーブルエントリで識別されたエラーが既に修復されたか(すなわち予備の行または予備の列で修繕されたか)、または対応する行のエラーの数がゼロであり、よって修復する必要がないかが判定される。これらの状態のいずれかが当てはまれば、ルーチンは先に進んで、テーブルのすべての行エントリおよび列エントリが処理されるまで、エラー記憶テーブルの次の行(および列)エントリを処理する。もしこれらの状態のいずれも当てはまらない場合、ルーチンはステップ406に進み、ここでその故障が「Must」の種類であるか、または他の種類のエラーであると判定される。好ましい実施例によると、もし行で検出されたエラーの数が利用可能な予備の列の数を超えると、エラーは「Must」エラーと見なされるであろうことを思い出されたい。
【0086】
もしエラーが「Must」の種類のエラーでないと、そのエラーはスキップされ(ルーチンのこの部分は「Must」の種類のエラーのみを処理するため)、ルーチンはステップ408に進み、ここでSkipフラグは真(true)にセットされる。これは図3に示される分析ルーチンに対し、検出されたエラーはスキップされたため、そのルーチンでさらなる処理を進めることが可能であることを示す。すると、ルーチンは先に進んで、すべての行エントリおよび列エントリが処理されるまで、エラー記憶テーブルの次の行(および列)エントリを処理する。
【0087】
もしエラーが「Must」の種類のエラーであると判定されると、ルーチンはステップ410に進み、ここでエラーを修復するために予備の行が利用可能であるかについての判定が行なわれる。もし予備の行が利用可能であれば、その利用可能な予備の行がエラーを修復するために割当てられ、ルーチンはステップ412に進み、ここでFixedフラグは真にセットされる。これは分析ルーチンに対し、検出されたエラーが修繕され、よってそのルーチンでさらなる処理を進めることが可能であることを示す。すると、ルーチンは先に進んで、すべての行エントリおよび列エントリが処理されるまで、エラー記憶テーブルの次の行(および列)エントリを処理する。
【0088】
もし検出された「Must」の種類のエラーを修復するために利用可能な予備の行がない場合、ルーチンはステップ414に進み、ここでフラグNGは「Y」にセットされる。このフラグは分析ルーチンに対し、分析されているメモリアレイは修復不能であることを示し、アレイのすべての分析および修復が停止される。分析ブロック102の現在のセット204のサブブロック202の各々が処理されると、ルーチンはステップ308でルーチンの分析の部分に制御権を戻す。
【0089】
次に図4Bに示される修復ルーチンの部分をさらに詳しく説明する。ルーチンのこの部分は、図4Aに示されるルーチンの部分で「Must」エラーを処理する間にスキップされた少なくとも1つのエラーのうち1つのエラーを検出しそれを修復しようとすることを思い出されたい。行(またはおそらく列またはI/O)エントリの各々は同じやり方で処理されるため、行♯1の処理のみを詳しく説明する。ルーチンのこの部分はステップ416で開始し、ここでエラーが行1で検出されたかが判定される。もしエラーが検出されていると、ルーチンはステップ418に進み、ここで検出されたエラーが既に修復されたかが判定される。もし第1の行エントリでエラーが検出されないか、または第1の行エントリで検出されたエラーが既に修復されていると、ルーチンは先に進んで、エラー記憶テーブルの残りの行(または列またはI/O)エントリの処理をすべてのエントリが処理されるまで続ける。
【0090】
またはこれに代えて、エラー記憶テーブルのエラーのない第1の行(または列またはI/O)エントリの下方の行(または列またはI/O)エントリにもエラーがないことを、適用されたエラー記憶技術が保証できると、さらなる行(または列またはI/O)エントリの処理はスキップしてもよい。するとルーチンは直接ステップ420および422に進むことができ、ここで分析ブロック102の現在のセット204の次のサブブロック202が処理される。
【0091】
もし検出されたエラーがまだ修復されていないとステップ418で判定されると、ルーチンはステップ424に進み、ここで検出されたエラーを修復するための行の予備が利用可能であるか が判定される。もし行の予備が利用可能であると、エラーはステップ426でその利用可能な予備で修復され、Fixedフラグがステップ434でセットされる。もし利用可能な予備がないと、ルーチンはステップ428に進み、ここで検出されたエラーを修復するための列の予備が利用可能であるかが判定される。もし列の予備が利用可能であると、エラーはステップ430でその利用可能な予備で修復され、Fixedフラグはステップ436で再びセットされる。もし検出されたエラーを修復するために行および列の予備がどちらも利用可能でない場合、NGフラグはステップ432で「Y」にセットされ、制御はルーチンの分析の部分に戻る。
【0092】
ある用語が例示的な実施例を説明する中で便宜のために使用されてきたが、それらはここに説明される一般的な概念を限定するために使用されるべきではない。たとえば、メモリの「行」または「列」の部分、もしくはメモリの予備の種類について特定的に述べている部分は、メモリのこれらの部分か、またはメモリの予備の種類を含むと理解され得る。メモリの予備の場合、その特定の用語は、もしメモリの予備の1つの種類が所与のメモリセルの場所の修復のために使用されない場合、他方の相補的な種類のメモリの予備を使用してその場所を修復してもよいという点で、相補的な種類のメモリの予備を表す。
【0093】
さらに、「修復」または「修復する」という用語は、故障メモリセルを予備のセルで置換えることだけを含むのでなく、予備のセルで故障メモリセルを置換える際に後に使用するための、たとえばRC SRAMに記憶してもよい、故障修復情報の生成も含む。さらに、「セル」および「メモリセル」という用語は、メモリにおける1つまたはいくつかのメモリセル、もしくは場所を示すと理解され得る。最後に、「Y」および「真」ならびに「N」および「偽(false)」という用語は、説明されたルーチンで発生するさまざまなテスト状況の状態を説明するためにこの説明および特許請求の範囲を通して相互に置換えて使用することができる。
【0094】
さまざまな局面をいくつかの例示的な実施例に関連して説明してきた。これらの実施例の理解を容易にするため、コンピュータシステムまたはマイクロコントローラの要素によって行なうことのできる動作のシーケンスに関して多くの局面を説明した。たとえば、実施例の各々において、さまざまな動作は、専用回路(たとえば専用の機能を遂行するように相互に接続される別個の論理ゲート)によって、1つまたはそれ以上のプロセッサによって実行されるプログラム命令によって、または両方の組合せによって行なうことができる。
【0095】
さらに、例示的な実施例は、ここに説明した技術をプロセッサに実行させるコンピュータの命令の適切なセットを記憶した、いかなる形のコンピュータ読出可能記憶媒体の一部とも見なされ得る。よって、さまざまな局面は多くの異なる形で実施してもよく、そのような形はすべて、説明されたものの範囲内にあると考えられる。さまざまな局面の各々について、そのような形の実施例はいずれも、ここでは、説明した動作を実行するように「構成された論理」として、またはこれに代えて説明した動作を実行する「論理」と称することができる。
【0096】
さまざまな例示的な実施例が説明されてきたが、これらの実施例は単に例示的なものであり、多くの他の実施例が可能であることが当業者によって理解されるであろう。この発明の意図する範囲は、上述の説明ではなく特許請求の範囲によって規定され、特許請求の範囲内にある変形はすべてそこに含まれることが意図される。
【図面の簡単な説明】
【図1】冗長回路を備える例示的なメモリアレイを示す。
【図2】図1に示される例示的なメモリアレイの一部分を示し、かつそのメモリアレイの分析ブロックと称される部分を示す。
【図3】例示的な修復分析ルーチンのフロー図を示す。
【図4A】図3に示される修復分析ルーチンによって生成された情報を処理するための例示的な修復ルーチンのフロー図を示す。
【図4B】図3に示される修復分析ルーチンによって生成された情報を処理するための例示的な修復ルーチンのフロー図を示す。
Claims (40)
- メモリを分析および修復するための方法であって、
メモリの少なくとも一部分で検出された故障メモリセルを複数の種類のメモリの予備のうち1つのみを使用して修復しなければならないか、またはそれら複数の種類のメモリの予備のうちどれを使用しても修復できるかを判定するステップと、
修復しなければならない新しいエラーが修復されなくなり、かつ故障メモリセルがスキップされなくなるまで、またはメモリが修復不能であると判定されるまで、複数の種類のメモリの予備のうち1つのみを使用して修復しなければならない故障メモリセルを繰返し修復し、複数の種類のメモリの予備のうちどれを使用しても修復できる故障メモリセルはいずれもスキップするステップと、
修復しなければならない故障メモリセルを修復するときにスキップされた故障メモリセルのうち少なくとも1つを修復するステップと、
少なくとも1つのスキップされた故障メモリセルが修復されるたびに、故障メモリセルを修復しなければならないかを判定する前記ステップ、および修復しなければならない故障メモリセルを繰返し修復するステップを繰返す前記ステップとを含む、方法。 - 複数の種類のメモリの予備のうち第1の種類はメモリの行および列の部分のうち一方を修復することができ、複数の種類のメモリの予備のうち第2の相補的な種類はメモリの行および列の部分のうち他方を修復することができる、請求項1に記載の方法。
- 修復しなければならない故障メモリセルは、その総数が利用可能な相補的な種類のメモリの予備の数を超える故障メモリセルを有するメモリの、行または列の部分のそれぞれに故障メモリセルを含む、請求項2に記載の方法。
- メモリの前記少なくとも一部分は、
前記メモリをいくつかの分析ブロックに論理的に分けることによって形成され、各分析ブロックは、複数の種類のメモリの予備の各々の種類のうち少なくとも1つを完全に含む、請求項1に記載の方法。 - メモリの前記少なくとも一部分は、
各分析ブロックをいくつかのサブブロックに論理的に分けることによって形成され、各サブブロックは、それぞれの分析ブロックにおける、複数の種類のメモリの予備の各々が修復することのできるメモリセルの範囲に対応する領域にわたって延びる、請求項4に記載の方法。 - 各サブブロックについての故障メモリセルの情報を、メモリに別々のアドレス指定可能なエントリとして記憶するステップをさらに含む、請求項5に記載の方法。
- 各サブブロックについての故障メモリセルの情報は、分析および修復されているメモリの一部分に記憶される、請求項6に記載の方法。
- メモリ内のアドレス指定可能なエントリの各々は、それぞれのサブブロックのエラー記憶テーブルに対応し、各エラー記憶テーブルは、メモリの行および列の部分のそれぞれで検出されたいくつかの故障メモリセルに関係する情報を記憶するための行エントリおよび列エントリを有する、請求項6に記載の方法。
- メモリの行および列の部分のそれぞれで検出された前記いくつかの故障メモリセルに関係する情報を、メモリに記憶された少なくとも1つのエラー記憶テーブルから読出すステップをさらに含み、
メモリの前記少なくとも一部分で検出された前記故障メモリセルは、前記いくつかの故障メモリセルに関係する情報が読出される前記少なくとも1つのエラー記憶テーブルに対応するサブブロックに位置する、請求項8に記載の方法。 - 前記メモリで検出されたすべての故障メモリセルが修復されるまで、または前記メモリが修復不能と判定されるまで、前記メモリの別々の部分上で前記方法の前記ステップの各々を行なうステップをさらに含む、請求項9に記載の方法。
- 前記方法の前記ステップの各々を前記メモリの別々の部分上で行なうことは、別々の部分の各々につき同時に起こる、請求項10に記載の方法。
- 複数の種類のメモリの予備のうち1つのみを使用して修復しなければならない故障メモリセルを繰返し修復する前記ステップは、
前記少なくとも1つのエラー記憶テーブルの行エントリまたは列エントリが空であるか、またはその行もしくは列エントリによって識別されたエラーが修復されたかを判定するステップと、
もしその行または列エントリが空でなく、識別されたエラーも修復されていない場合、識別されたエラーを修復しなければならないかを判定し、そうでなければ前記少なくとも1つのエラー記憶テーブルの次の行または列エントリが空であるか、または次の行エントリもしくは列エントリによって識別されたエラーが修復されたかを判定するステップと、
もし識別されたエラーを修復しなければならない場合、複数の種類のメモリの予備のうち1つのみの予備が利用可能であるかを判定し、そうでなければ識別されたエラーの修復をスキップし、さらに前記少なくとも1つのエラー記憶テーブルの次の行エントリまたは列エントリが空であるか、または次の行エントリもしくは列エントリによって識別されたエラーが修復されたか、を判定するステップと、
複数の種類のメモリの予備のうちその1つのみの予備が利用可能である場合、識別されたエラーを複数の種類のメモリの予備のうちその1つのみの予備で修復し、さらに前記少なくとも1つのエラー記憶テーブルの次の行エントリまたは列エントリが空であるか、または次の行エントリもしくは列エントリによって識別されたエラーが修復されたかを判定し、そうでなければそのメモリが修復不能であると判定するステップとを含み、
前記少なくとも1つのエラー記憶テーブルの行エントリまたは列エントリが空であるか、または行もしくは列エントリによって識別されたエラーが修復されたかを判定するステップは、前記少なくとも1つのエラー記憶テーブルのすべての行エントリおよび列エントリが処理されるまで繰返される、請求項8に記載の方法。 - 修復しなければならない故障メモリセルを修復するときにスキップされた故障メモリセルのうち少なくとも1つを修復する前記ステップは、
スキップされた故障メモリセルのうち前記少なくとも1つの最初に検出された故障メモリセルのみを修復するステップを含む、請求項8に記載の方法。 - 最初に検出された故障メモリセルのみを修復する前記ステップは、
前記少なくとも1つのエラー記憶テーブルの行エントリまたは列エントリが空であるかを判定するステップと、
もしその行または列エントリが空でなければ、その行エントリまたは列エントリによって識別されたエラーが修復されたかを判定し、そうでなければ前記少なくとも1つのエラー記憶テーブルの次の行エントリまたは列エントリが空であるかを判定するステップと、
もし識別されたエラーが修復されていなければ、複数の種類のメモリの予備のうち第1の種類が利用可能であるかを判定し、そうでなければ前記少なくとも1つのエラー記憶テーブルの次の行エントリまたは列エントリが空であるかを判定するステップと、
もし複数の種類のメモリの予備のうち第1の種類が利用可能であれば、識別されたエラーをその第1の種類の予備で修復し、そうでなければ複数の種類のメモリの予備のうち第2の相補的な種類が利用可能であるかを判定するステップと、
もし複数の種類のメモリの予備のうち第2の種類が利用可能であれば、識別されたエラーをその第2の種類の予備で修復し、そうでなければそのメモリを修復不能と判定するステップとを含み、
前記少なくとも1つのエラー記憶テーブルの行エントリまたは列エントリが空であるかを判定する前記ステップは、前記少なくとも1つのエラー記憶テーブルの少なくともすべての行エントリまたはすべての列エントリが処理されるまで繰返される、請求項13に記載の方法。 - 前記少なくとも1つのエラー記憶テーブルの行エントリまたは列エントリのいずれかが空であると判定されると、空であるその種類における次のエントリは処理する必要がない、請求項14に記載の方法。
- メモリの行の部分はメモリの少なくとも1つの行を含み、メモリの列の部分はメモリの少なくとも1つの列を含む、請求項2に記載の方法。
- メモリの列の部分は少なくとも1つの入出力(I/O)装置を含み、前記少なくとも1つのI/O装置は、メモリの少なくとも1つの列のための入力および出力経路を提供する、請求項2に記載の方法。
- 修復しなければならない故障メモリセルを修復するときにスキップされた故障メモリセルのうち少なくとも1つを修復する前記ステップは、
複数の種類のうちどの種類のメモリの予備が、複数の種類のメモリの予備のどれを使用しても修復できる故障メモリセルを最も多く修復できるかを判定するステップと、
判定された種類の利用可能な予備でそれら最も多くの故障メモリセルを置換えるステップとを含む、請求項1に記載の方法。 - メモリの少なくとも一部分で検出された故障メモリセルを修復しなければならないかを判定することに先立って、前記方法は、
メモリの前記少なくとも一部分における複数の種類のメモリの予備のいずれかが機能しないかを判定するステップと、
メモリの前記少なくとも一部分における複数の種類のメモリの予備の配置に基づいて、機能しないメモリの予備に関係する情報をまとめてグループ分けするステップとをさらに含む、請求項1に記載の方法。 - 機能しないメモリの予備に関係する情報をまとめてグループ分けする前記ステップは、
メモリの前記少なくとも一部分のいくつかの部分の機能しないメモリの予備に関係する情報を、もしそれらの部分が複数の種類のメモリの予備のそれぞれの種類のうち少なくとも1つによって修復可能である場合、まとめてOR演算するステップを含む、請求項19に記載の方法。 - メモリを分析および修復するための装置であって、
メモリの少なくとも一部分で検出された故障メモリセルを複数の種類のメモリの予備のうち1つのみを使用して修復しなければならないか、または複数の種類のメモリの予備のうちどれを使用しても修復できるかを判定する論理と、
修復しなければならない新しいエラーが修復されなくなり、かつ故障メモリセルがスキップされなくなるまで、またはそのメモリが修復不能と判定されるまで、複数の種類のメモリの予備の1つのみを使用して修復しなければならない故障メモリセルを繰返し修復し、複数の種類のメモリの予備のうちどれを使用しても修復できる故障メモリセルはいずれもスキップする論理と、
修復しなければならない故障メモリセルを修復するときにスキップされた故障メモリセルのうち少なくとも1つを修復する論理と、
少なくとも1つのスキップされた故障メモリセルが修復されるたびに、故障メモリセルを修復しなければならないかを判定し、修復しなければならない故障メモリセルを繰返し修復する論理とを含む、装置。 - 複数の種類のメモリの予備のうち第1の種類はメモリの行および列の部分のうち一方を修復することができ、複数の種類のメモリの予備のうち第2の相補的な種類はメモリの行および列の部分のうち他方を修復することができる、請求項21に記載の装置。
- 修復しなければならない故障メモリセルは、その総数が利用可能な相補的な種類のメモリの予備の数を超える故障メモリセルを有するメモリの、行または列の部分のそれぞれに故障メモリセルを含む、請求項22に記載の装置。
- 前記メモリをいくつかの分析ブロックに論理的に分ける論理をさらに含み、各分析ブロックは、複数の種類のメモリの予備の各々の種類の少なくとも1つを完全に含む、請求項21に記載の装置。
- 分析ブロックの各々をいくつかのサブブロックに論理的に分ける論理とをさらに含み、各サブブロックは、それぞれの分析ブロックにおける、複数の種類のメモリの予備の各々が修復可能であるメモリセルの範囲に対応する領域にわたって延びる、請求項24に記載の装置。
- 各サブブロックについての故障メモリセルの情報をメモリの別々のアドレス指定可能なエントリとして記憶する論理をさらに含む、請求項25に記載の装置。
- 各サブブロックについての故障メモリセルの情報は、分析および修復されているメモリの一部分に記憶される、請求項26に記載の装置。
- サブブロックのそれぞれに対応するメモリ内のアドレス指定可能なエントリの各々についてのエラー記憶テーブルをさらに含み、各エラー記憶テーブルは、メモリの行および列の部分のそれぞれで検出されたいくつかの故障メモリセルに関係する情報を記憶するための行および列エントリを有する、請求項26に記載の装置。
- メモリの行および列の部分のそれぞれで検出された前記いくつかの故障メモリセルに関係する情報を、メモリに記憶された少なくとも1つのエラー記憶テーブルから読出す論理をさらに含み、
メモリの前記少なくとも一部分で検出された前記故障メモリセルは、前記いくつかの故障メモリセルに関係する情報が読出される前記少なくとも1つのエラー記憶テーブルに対応するサブブロックに位置する、請求項28に記載の装置。 - メモリで検出されたすべての故障メモリセルが修復されるまで、またはそのメモリが修復不能であると判定されるまで、前記メモリの別々の部分で検出された故障メモリセルが修復されたかを判定する論理をさらに含む、請求項29に記載の装置。
- 前記論理は、故障メモリセルが前記メモリの別々の部分で同時に修復されたかを判定する、請求項30に記載の装置。
- 前記少なくとも1つのエラー記憶テーブルの行エントリまたは列エントリが空であるか、またはその行エントリもしくは列エントリによって識別されたエラーが修復されたかを判定する論理と、
その行または列エントリが空でなく、識別されたエラーも修復されていないとき、識別されたエラーを修復しなければならないかを判定する論理と、
行エントリまたは列エントリが空であるか、または識別されたエラーが修復されているとき、前記少なくとも1つのエラー記憶テーブルの次の行エントリまたは列エントリが空であるか、または次の行エントリもしくは列エントリによって識別されたエラーが修復されたかを判定する論理と、
識別されたエラーを修復しなければならないとき、複数の種類のメモリの予備のうちその1つのみの予備が利用可能であるかを判定する論理と、
識別されたエラーを修復する必要がないとき、識別されたエラーを修復することをスキップし、前記少なくとも1つのエラー記憶テーブルの次の行エントリまたは列エントリが空であるか、または次の行エントリもしくは列エントリによって識別されたエラーが修復されたかを判定する論理と、
複数の種類のメモリの予備のうちその1つのみの予備が利用可能であるとき、識別されたエラーを複数の種類のメモリの予備のうちその1つのみの予備で修復し、前記少なくとも1つのエラー記憶テーブルの次の行エントリまたは列エントリが空であるか、または次の行エントリもしくは列エントリによって識別されたエラーが修復されたかを判定する論理と、
複数の種類のメモリの予備のうちその1つのみの予備が利用可能でないとき、そのメモリは修復不能であると判定する論理とをさらに含む、請求項28に記載の装置。 - 修復しなければならない故障メモリセルを修復するときにスキップされた故障メモリセルのうち少なくとも1つを修復する前記論理は、
スキップされた故障メモリセルのうちの前記少なくとも1つ最初に検出された故障メモリセルのみを修復する論理を含む、請求項28に記載の装置。 - 最初に検出された故障メモリセルのみを修復する前記論理は、
前記少なくとも1つのエラー記憶テーブルの行エントリまたは列エントリが空であるかを判定する論理と、
その行エントリまたは列エントリが空でないとき、その行エントリまたは列エントリによって識別されたエラーが修復されたかを判定する論理と、
その行エントリまたは列エントリが空であるとき、前記少なくとも1つのエラー記憶テーブルの次の行エントリまたは列エントリが空であるかを判定する論理と、
識別されたエラーが修復されていないとき、複数の種類のメモリの予備のうち第1の種類が利用可能であるかを判定する論理と、
識別されたエラーが修復されているとき、前記少なくとも1つのエラー記憶テーブルの次の行エントリまたは列エントリが空であるかを判定する論理と、
第1の種類の予備が利用可能であるとき、識別されたエラーをその第1の種類の予備で修復する論理と、
第1の種類の予備が利用可能でないとき、複数の種類のメモリの予備のうち第2の相補的な種類が利用可能であるかを判定する論理と、
第2の種類の予備が利用可能であるとき、識別されたエラーをその第2の種類の予備で修復する論理と、
第2の種類の予備が利用可能でないとき、そのメモリが修復不能であると判定する論理とを含む、請求項33に記載の装置。 - もし前記少なくとも1つのエラー記憶テーブルの行エントリまたは列エントリのいずれかが空であると判定されると、空であるその種類の次のエントリは処理する必要がない、請求項34に記載の装置。
- メモリの行の部分はメモリの少なくとも1つの行を含み、メモリの列の部分はメモリの少なくとも1つの列を含む、請求項22に記載の装置。
- メモリの列の部分は少なくとも1つの入出力(I/O)装置を含み、前記少なくとも1つのI/O装置はメモリの少なくとも1つの列のための入力および出力経路を提供する、請求項22に記載の装置。
- 修復しなければならない故障メモリセルを修復するときにスキップされた故障メモリセルのうち少なくとも1つを修復する前記論理は、
複数の種類のうちどの種類のメモリの予備が、複数の種類のメモリ予備うちどれを使用しても修復できる故障メモリセルを最も多く修復できるかを判定する論理と、
判定された種類の利用可能な予備でそれら最も多くの故障メモリセルを置換える論理とを含む、請求項21に記載の装置。 - メモリの前記少なくとも一部分における複数の種類のメモリの予備のいずれかが機能しないかを判定する論理と、
メモリの前記少なくとも一部分における複数の種類のメモリの予備の配置に基づいて、機能しないメモリの予備に関係する情報をまとめてグループ分けする論理とをさらに含む、請求項21に記載の装置。 - 機能しないメモリの予備に関係する情報をまとめてグループ分けする前記論理は、
メモリの前記少なくとも一部分におけるいくつかの部分についての機能しないメモリセルに関係する情報を、もしそれらの部分が複数の種類のメモリの予備のそれぞれの種類のうち少なくとも1つによって修復可能であれば、まとめてOR演算する論理を含む、請求項39に記載の装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US29679301P | 2001-06-08 | 2001-06-08 | |
US10/164,513 US20020196687A1 (en) | 2001-06-08 | 2002-06-06 | Methods and apparatus for analyzing and repairing memory |
PCT/US2002/017744 WO2002101749A1 (en) | 2001-06-08 | 2002-06-07 | Methods and apparatus for analyzing and repairing memory |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004522250A true JP2004522250A (ja) | 2004-07-22 |
Family
ID=26860631
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003504409A Pending JP2004522250A (ja) | 2001-06-08 | 2002-06-07 | メモリを分析および修復するための方法および装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20020196687A1 (ja) |
JP (1) | JP2004522250A (ja) |
KR (1) | KR20030020957A (ja) |
CN (1) | CN100403443C (ja) |
AU (1) | AU2002314916A1 (ja) |
DE (1) | DE10292320T5 (ja) |
WO (1) | WO2002101749A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102280142A (zh) * | 2010-06-10 | 2011-12-14 | 英业达股份有限公司 | 存储器检测方法 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101290804B (zh) * | 2007-04-18 | 2010-10-27 | 智原科技股份有限公司 | 内建备份元件分析器以及备份元件分析方法 |
US7958390B2 (en) * | 2007-05-15 | 2011-06-07 | Sandisk Corporation | Memory device for repairing a neighborhood of rows in a memory array using a patch table |
US7966518B2 (en) * | 2007-05-15 | 2011-06-21 | Sandisk Corporation | Method for repairing a neighborhood of rows in a memory array using a patch table |
US20110041016A1 (en) * | 2009-08-12 | 2011-02-17 | Taiwan Semiconductor Manufacturing Company, Ltd. | Memory errors and redundancy |
CN103713184A (zh) * | 2012-09-29 | 2014-04-09 | 英业达科技有限公司 | 记忆体感测器的选择方法 |
US9760477B1 (en) * | 2016-04-12 | 2017-09-12 | Linkedin Corporation | Self-healing job executor pool |
CN106128509A (zh) * | 2016-06-17 | 2016-11-16 | 凌美芯(北京)科技有限责任公司 | 一种新型的碳纳米晶体管存储器的测试方法 |
CN110970083B (zh) * | 2018-09-30 | 2022-03-29 | 长鑫存储技术有限公司 | 集成电路修复方法及装置、存储介质、电子设备 |
CN113541988B (zh) * | 2020-04-17 | 2022-10-11 | 华为技术有限公司 | 一种网络故障的处理方法及装置 |
US20210141703A1 (en) * | 2020-12-24 | 2021-05-13 | Intel Corporation | Persistent data structure to track and manage ssd defects |
CN115116531A (zh) * | 2021-03-19 | 2022-09-27 | 长鑫存储技术有限公司 | 存储器件修复方法及系统 |
EP4084005B1 (en) * | 2021-03-19 | 2023-06-07 | Changxin Memory Technologies, Inc. | Memory device repair method and system |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4573146A (en) * | 1982-04-20 | 1986-02-25 | Mostek Corporation | Testing and evaluation of a semiconductor memory containing redundant memory elements |
US4584681A (en) * | 1983-09-02 | 1986-04-22 | International Business Machines Corporation | Memory correction scheme using spare arrays |
US4939694A (en) * | 1986-11-03 | 1990-07-03 | Hewlett-Packard Company | Defect tolerant self-testing self-repairing memory system |
US5343429A (en) * | 1991-12-06 | 1994-08-30 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor memory device having redundant circuit and method of testing to see whether or not redundant circuit is used therein |
FR2699301B1 (fr) * | 1992-12-16 | 1995-02-10 | Sgs Thomson Microelectronics | Procédé de traitement d'éléments défectueux dans une mémoire. |
US5479609A (en) * | 1993-08-17 | 1995-12-26 | Silicon Storage Technology, Inc. | Solid state peripheral storage device having redundent mapping memory algorithm |
US5513144A (en) * | 1995-02-13 | 1996-04-30 | Micron Technology, Inc. | On-chip memory redundancy circuitry for programmable non-volatile memories, and methods for programming same |
JPH09146836A (ja) * | 1995-11-21 | 1997-06-06 | Kofu Nippon Denki Kk | キャッシュ索引の障害訂正装置 |
JPH09306198A (ja) * | 1996-02-07 | 1997-11-28 | Lsi Logic Corp | 冗長列及び入/出力線を備えたasicメモリを修復するための方法 |
US5764878A (en) * | 1996-02-07 | 1998-06-09 | Lsi Logic Corporation | Built-in self repair system for embedded memories |
US5844914A (en) * | 1996-05-15 | 1998-12-01 | Samsung Electronics, Co. Ltd. | Test circuit and method for refresh and descrambling in an integrated memory circuit |
JP3483724B2 (ja) * | 1997-03-19 | 2004-01-06 | シャープ株式会社 | 不揮発性半導体記憶装置 |
US5835504A (en) * | 1997-04-17 | 1998-11-10 | International Business Machines Corporation | Soft fuses using bist for cache self test |
US5920515A (en) * | 1997-09-26 | 1999-07-06 | Advanced Micro Devices, Inc. | Register-based redundancy circuit and method for built-in self-repair in a semiconductor memory device |
US5956350A (en) * | 1997-10-27 | 1999-09-21 | Lsi Logic Corporation | Built in self repair for DRAMs using on-chip temperature sensing and heating |
CN1223443A (zh) * | 1998-01-16 | 1999-07-21 | 三菱电机株式会社 | 半导体集成电路装置 |
US5909404A (en) * | 1998-03-27 | 1999-06-01 | Lsi Logic Corporation | Refresh sampling built-in self test and repair circuit |
US6067262A (en) * | 1998-12-11 | 2000-05-23 | Lsi Logic Corporation | Redundancy analysis for embedded memories with built-in self test and built-in self repair |
JP2001052495A (ja) * | 1999-06-03 | 2001-02-23 | Toshiba Corp | 半導体メモリ |
KR100750416B1 (ko) * | 1999-09-15 | 2007-08-21 | 코닌클리즈케 필립스 일렉트로닉스 엔.브이. | 메모리 어레이 테스트 방법 및 메모리 기반 디바이스 |
US6795942B1 (en) * | 2000-07-06 | 2004-09-21 | Lsi Logic Corporation | Built-in redundancy analysis for memories with row and column repair |
US7178072B2 (en) * | 2001-06-08 | 2007-02-13 | Renesas Technology America, Inc. | Methods and apparatus for storing memory test information |
-
2002
- 2002-06-06 US US10/164,513 patent/US20020196687A1/en not_active Abandoned
- 2002-06-07 JP JP2003504409A patent/JP2004522250A/ja active Pending
- 2002-06-07 WO PCT/US2002/017744 patent/WO2002101749A1/en active Application Filing
- 2002-06-07 AU AU2002314916A patent/AU2002314916A1/en not_active Abandoned
- 2002-06-07 KR KR10-2003-7001467A patent/KR20030020957A/ko active IP Right Grant
- 2002-06-07 DE DE10292320T patent/DE10292320T5/de not_active Withdrawn
- 2002-06-07 CN CNB028044886A patent/CN100403443C/zh not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102280142A (zh) * | 2010-06-10 | 2011-12-14 | 英业达股份有限公司 | 存储器检测方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2002101749A1 (en) | 2002-12-19 |
US20020196687A1 (en) | 2002-12-26 |
CN100403443C (zh) | 2008-07-16 |
AU2002314916A1 (en) | 2002-12-23 |
CN1489766A (zh) | 2004-04-14 |
WO2002101749A8 (en) | 2003-03-27 |
DE10292320T5 (de) | 2004-08-05 |
WO2002101749A9 (en) | 2003-09-04 |
KR20030020957A (ko) | 2003-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7178072B2 (en) | Methods and apparatus for storing memory test information | |
Kim et al. | Built in self repair for embedded high density SRAM | |
US5577050A (en) | Method and apparatus for configurable build-in self-repairing of ASIC memories design | |
US7149924B1 (en) | Apparatus, method, and system having a pin to activate the self-test and repair instructions | |
US5805789A (en) | Programmable computer system element with built-in self test method and apparatus for repair during power-on | |
US5659551A (en) | Programmable computer system element with built-in self test method and apparatus for repair during power-on | |
JP3274332B2 (ja) | コントローラ・大容量メモリ混載型半導体集積回路装置およびそのテスト方法およびその使用方法、並びに半導体集積回路装置およびそのテスト方法 | |
EP1416499B1 (en) | Self-repairing built-in self test for linked list memories | |
JP4019194B2 (ja) | Ramの自己試験方法 | |
JPH09311824A (ja) | 組込式メモリのための内蔵型自己修復システム | |
JP2004522250A (ja) | メモリを分析および修復するための方法および装置 | |
Du et al. | At-speed built-in self-repair analyzer for embedded word-oriented memories | |
US9318222B2 (en) | Hierarchical, distributed built-in self-repair solution | |
US20050018497A1 (en) | Memory device and method of storing fail addresses of a memory cell | |
US6247153B1 (en) | Method and apparatus for testing semiconductor memory device having a plurality of memory banks | |
US8694838B2 (en) | Cache memory, processor, and production methods for cache memory and processor | |
KR20030085466A (ko) | 반도체 집적 회로 장치 | |
US7065694B2 (en) | Adaptive runtime repairable entry register file | |
US20030105999A1 (en) | Apparatus for random access memory array self-test | |
JPS62250599A (ja) | 半導体メモリ装置 | |
KR100555574B1 (ko) | 결함 어드레스 프로그래밍 회로 및 이를 구비하는 반도체메모리 장치. | |
KR100959055B1 (ko) | 프로그램 가능한 자체 테스트가 통합된 내장 메모리 장치및 시스템과 그의 자가 복구 방법 | |
US20230317198A1 (en) | Dynamic fault clustering method and apparatus | |
Huang et al. | Fail pattern identification for memory built-in self-repair | |
Wrights | Central processing unit built-in self-test for random access memory test and repair |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050520 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081021 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090303 |