(57)【要約】【課題】メモリ・ビルトイン・セルフテスト環境において不成功のメモリテストのテスト応答符号を時間的に圧縮することにより、時間に関連する複数のメモリテスト障害を検出した場合であっても、メモリ・ビルトイン・セルフテスト動作を継続できる方法および装置を開示する。【解決手段】適用されたメモリテストに対してテスト応答符号を有するテスト応答を生成するように構成された組み込みメモリアレイ204と、  一連のメモリテストを前記組み込みメモリアレイ204に適用するように構成されたメモリ・ビルトイン・セルフテスト制御装置206と、不成功のメモリテストのテスト応答符号を時間的に圧縮するように構成された線形フィードバック構造を具備する。集積回路装置207は、欠陥テスト応答のメモリ位置情報を収集するため、欠陥ワード計数器211、欠陥列指示器213、および欠陥行指示器214を具備している。【選択図】図２
2010539633.tif 000002
【特許請求の範囲】
【請求項１】
集積回路装置の組み込みメモリをテストする方法であって、当該集積回路装置のメモリ・ビルトイン・セルフテスト制御装置を動作させてテストステップを適用し、
不成功のメモリテストに対する複数のテスト応答符号を生成し、
線形フィードバック構造を用いて前記テスト応答符号を時間的に圧縮し、
不成功のメモリテストに関連するメモリ位置情報を収集し、
時間的に圧縮した前記テスト応答符号および収集した前記メモリ位置情報を診断ツールに提供して、メモリ故障診断プロセスに使用する、
ことを含む、組み込みメモリのテスト方法。
【請求項２】
時間的に圧縮した前記テスト応答符号および収集した前記メモリ位置情報を診断ツールに提供することが、
時間的に圧縮した前記テスト応答符号および収集した前記メモリ位置情報を自動テスト装置に提供し、
時間的に圧縮した前記テスト応答符号および収集した前記メモリ位置情報を前記自動テスト装置から前記診断ツールに転送して、メモリ故障診断プロセスに使用する、
ことを含む、請求項１に記載の方法。
【請求項３】
時間的に圧縮した前記テスト応答符号をシャドーレジスタに転送することをさらに含む、請求項１に記載の方法。
【請求項４】
不成功のメモリテストと関連する収集した前記メモリ位置情報をシャドーレジスタに転送することをさらに含む、請求項１に記載の方法。
【請求項５】
メモリ位置情報の収集が、不成功のワード数を収集することを含む、請求項１に記載の方法。
【請求項６】
メモリ位置情報の収集が、前記組み込みメモリの欠陥列を識別する情報を収集することを含む、請求項１に記載の方法。
【請求項７】
メモリ位置情報の収集が、前記組み込みメモリの欠陥行を識別する情報を収集することを含む、請求項１に記載の方法。
【請求項８】
請求項１〜７のいずれか１項に記載の方法を実施するためにコンピュータシステムによって実行可能な一連のプログラム命令が格納されたコンピュータ可読の記憶媒体。
【請求項９】
適用されたメモリテストに対してテスト応答符号を有するテスト応答を生成するように構成された組み込みメモリアレイと、
一連のメモリテストを前記組み込みメモリアレイに適用するように構成されたメモリ・ビルトイン・セルフテスト制御装置と、
不成功のメモリテストのテスト応答符号を時間的に圧縮するように構成された線形フィードバック構造と、
不成功のメモリテストと関連するメモリ位置情報を収集するように構成された位置データ収集器と、
を備えた集積回路装置。
【請求項１０】
前記線形フィードバック構造がリング発生器であることを特徴とする、請求項９に記載の集積回路装置。
【請求項１１】
前記位置データ収集器が、欠陥ワード計数器、欠陥列指示器、または欠陥行指示器であることを特徴とする、請求項９に記載の集積回路装置。
【請求項１２】
欠陥行検出器をさらに備えた、請求項９に記載の集積回路装置。
【請求項１３】
前記組み込みメモリからテスト応答を受信してテスト応答符号を生成するように構成された比較器をさらに備えた、請求項９に記載の集積回路装置。
【請求項１４】
前記テスト応答符号がエラーベクトルであることを特徴とする、請求項９に記載の集積回路装置。
【請求項１５】
時間的に圧縮した前記テスト応答符号を受信するように構成されたシャドーレジスタをさらに備えた、請求項９に記載の集積回路装置。
【請求項１６】
前記位置データ収集器から位置データを受信するように構成されたシャドーレジスタをさらに備えた、請求項９に記載の集積回路装置。
【請求項１７】
メモリテストのテストステップを実行し、
符号データを時間的に圧縮する線形フィードバック構造を含む符号レジスタにおいて、前記テストステップに対するテスト応答に基づいて符号データを生成し、
時間的に圧縮した符号データを前記符号レジスタから当該符号レジスタと関連するシャドーレジスタにアップロードし、
前記メモリテストの次のテストステップを実行し、
時間的に圧縮した前記符号データを前記シャドーレジスタから自動テスト装置に転送する、
ことを含む、組み込みメモリのテスト方法。
【請求項１８】
位置データ収集器において、メモリテストの不成功のテストステップと関連するメモリ位置情報を収集し、
収集した前記メモリ位置情報を位置データ収集器から当該位置データ収集器と関連するシャドーレジスタにアップロードする、
ことをさらに含む、請求項１７に記載の方法。
【請求項１９】
収集した前記メモリ位置情報を位置データ収集器と関連する前記シャドーレジスタから自動テスト装置に転送することをさらに含む、請求項１８に記載の方法。
【請求項２０】
時間的に圧縮した前記符号データおよび収集した前記メモリ位置情報を前記自動テスト装置から診断ツールにアップロードすることをさらに含む、請求項１９に記載の方法。
【請求項２１】
前記メモリテストがマーチテストであることを特徴とする、請求項１７に記載の方法。
【請求項２２】
請求項１７〜２１のいずれか１項に記載の方法を実施するためにコンピュータシステムによって実行可能な一連のプログラム命令が格納されたコンピュータ可読の記憶媒体。
【請求項２３】
メモリテストのテストステップを実行し、
符号データを時間的に圧縮する線形フィードバック構造を含む符号レジスタにおいて、前記テストステップに対するテスト応答に基づいて符号データを生成し、
位置データ収集器において、メモリテストの不成功のテストステップと関連するメモリ位置情報を収集し、
前記メモリテストの次のテストステップを実行する前に、時間的に圧縮した符号データを前記符号レジスタから自動テスト装置にアップロードし、
前記メモリテストの次のテストステップを実行する前に、収集した前記メモリ位置情報を位置データ収集器から前記自動テスト装置にアップロードし、
前記メモリテストの次のテストステップを実行する、
ことを含む、組み込みメモリのテスト方法。
【請求項２４】
時間的に圧縮した前記符号データおよび収集した前記メモリ位置情報を前記自動テスト装置から診断ツールにアップロードすることをさらに含む、請求項２３に記載の方法。
【請求項２５】
前記メモリテストがマーチテストであることを特徴とする、請求項２３に記載の方法。
【請求項２６】
請求項２３〜２５のいずれか１項に記載の方法を実施するためにコンピュータシステムによって実行可能な一連のプログラム命令が格納されたコンピュータ可読の記憶媒体。
【請求項２７】
データ値を格納するための組み込みメモリアレイ手段と、
それぞれがテストステップを含む一連のメモリテストを前記組み込みメモリアレイ手段に適用するための制御手段と、
テストステップ中に線形フィードバックを用いて不成功のメモリテストのテスト応答符号を時間的に圧縮するための圧縮手段と、
テストステップ中に不成功のメモリテストと関連する障害位置情報を収集するための収集手段と、
を備えた集積回路装置。
【請求項２８】
前記圧縮手段が多入力シフトレジスタであることを特徴とする、請求項２７に記載の集積回路装置。
【請求項２９】
前記多入力シフトレジスタが多入力リング発生器であることを特徴とする、請求項２８に記載の集積回路装置。
【請求項３０】
前記収集手段が、欠陥ワード計数器として構成された線形フィードバックシフトレジスタを含むことを特徴とする、請求項２７に記載の集積回路装置。
【請求項３１】
テストステップの最後に前記圧縮手段から時間的に圧縮した前記テスト応答符号を受信するための手段と、
テストステップの最後に前記収集手段から収集した前記障害位置情報を受信するための手段と、
をさらに備えた、請求項２７に記載の集積回路装置。
【請求項３２】
集積回路装置において、メモリ・ビルトイン・セルフテスト中に組み込みメモリ障害を診断する方法であって、
障害位置データを受信し、
複数の不成功のメモリテストの時間的に圧縮されたテスト応答符号を受信し、
前記障害位置データを用いて所定の診断手順群から１つを選択し、
前記診断手順を実行して、時間的に圧縮されたテスト応答符号から欠陥メモリセルの座標を生成し、
前記欠陥メモリセルの座標を報告する、
ことを含む方法。
【請求項３３】
前記所定の診断手順群が、離散対数法、高速ＬＦＳＲシミュレーション法、一次方程式法、および符号シミュレーション法を含むことを特徴とする、請求項３２に記載の方法。
【請求項３４】
前記診断手順が、
周期ｍ、所定の初期状態、および特性多項式を有する線形フィードバックシフトレジスタの状態情報を事前に計算し、
前記状態情報を診断ツールのメモリ内のルックアップテーブルに格納し、
前記周期ｍの因数分解により係数群を決定し、
メモリ障害と関連する特定の状態に対応する前記線形フィードバックシフトレジスタの特定の状態情報を受信し、
各係数に関して、当該係数、前記特性多項式、および前記特定の状態情報に基づいて当該係数と関連する剰余を計算し、当該剰余の前記ルックアップテーブルにおけるインデックスを決定し、
係数と関連する剰余の前記ルックアップテーブルにおけるインデックスと当該係数に対応する所定の整数との積である各項の係数の合計を評価して、前記線形フィードバックシフトレジスタの特定の状態と前記初期状態との間の距離を生成する、
ことを含むことを特徴とする、請求項３２に記載の方法。
【請求項３５】
前記診断手順が、
ｎビット線形フィードバックシフトレジスタの状態情報を診断ツールのメモリ内のｎ×ｎルックアップテーブルに格納し、ここで、当該ルックアップテーブルの列が、ｎビット線形フィードバックシフトレジスタの１つのビットだけが１となる一重項状態である当該線形フィードバックシフトレジスタの初期状態に対応し、当該ルックアップテーブルの行が、特定回数としての２の累乗回のクロック周期を当該線形フィードバックシフトレジスタの状態に適用することに対応し、当該ルックアップテーブルの特定の行および列への入力が、当該特定行に対応する多数のクロック周期を当該特定列に対応する線形フィードバックシフトレジスタの初期状態に適用した後に得られた線形フィードバックシフトレジスタの状態に対応する状態情報を含み、
前記線形フィードバックシフトレジスタに適用される多数のクロック周期を記述した整数ｘを受信し、
各要素としての２の累乗の合計にてｘを表現し、
前記線形フィードバックシフトレジスタの先行状態に対応する状態情報を受信し、
前記先行状態を公称初期状態として選択し、
ｘの各要素に関して、前記公称初期状態を一重項状態群に分解し、ｘの要素で与えられる多数のクロック周期により各一重項状態を改良して改良型一重項状態群を生成し、ビット単位のＸＯＲ演算により前記改良型一重項状態群を１つの状態に結合し、得られた状態をｘの次の要素の公称初期状態として選択し、
前記分解、改良、および結合の工程がｘのすべての要素に対して完了した場合、前記線形フィードバックシフトレジスタの最終状態を前記１つの状態に決定する、
ことを含むことを特徴とする、請求項３２に記載の方法。
【請求項３６】
前記障害位置情報が、欠陥パターンのクラスを規定し、
前記診断手順が、前記障害位置情報により規定された欠陥パターンのクラスに基づいて選択される、
ことを特徴とする、請求項３２に記載の方法。
【請求項３７】
前記障害位置情報が、欠陥ワードの数、欠陥列の指示、または欠陥行の指示を含むことを特徴とする、請求項３２に記載の方法。
【請求項３８】
診断手順の選択が、障害位置情報の候補値に基づいて入力がインデックス化されたルックアップテーブルを介して行われることを特徴とする、請求項３２に記載の方法。
【請求項３９】
診断手順が、ルックアップテーブルを用いて実行を効率化することを特徴とする、請求項３２に記載の方法。
【請求項４０】
時間的に圧縮されたテスト応答符号の受信が、テスト対象の集積回路装置から時間的に圧縮されたテスト応答符号を受信することを含む、請求項３２に記載の方法。
【請求項４１】
時間的に圧縮されたテスト応答符号の受信が、自動テスト装置から時間的に圧縮されたテスト応答符号を受信することを含む、請求項３２に記載の方法。
【請求項４２】
前記欠陥メモリセルの座標の報告が、白黒のビットマップを生成して前記集積回路装置における組み込みメモリ障害を表現することを含む、請求項３２に記載の方法。
【請求項４３】
前記欠陥メモリセルの座標の報告が、カラーのビットマップを生成して前記集積回路装置における２種類以上の組み込みメモリ障害を表現することを含む、請求項３２に記載の方法。
【請求項４４】
請求項３２〜４３のいずれか１項に記載の方法を実施するためにコンピュータシステムによって実行可能な一連のプログラム命令が格納されたコンピュータ可読の記憶媒体。
【請求項４５】
集積回路装置において、メモリ・ビルトイン・セルフテスト中に発生した組み込みメモリ障害を診断する診断ツールであって、
障害位置データを受信するように構成された位置受信モジュールと、
複数の不成功のメモリテストの時間的に圧縮されたテスト応答符号を受信するように構成された符号受信モジュールと、
前記障害位置データを用いて所定の診断手順群から１つを選択するように構成された診断選択モジュールと、
前記診断手順を実行して、時間的に圧縮されたテスト応答符号から欠陥メモリセルの座標を生成するように構成された診断モジュールと、
前記欠陥メモリセルの座標を報告するように構成された報告モジュールと、
を備えた診断ツール。
【請求項４６】
前記所定の診断手順群が、離散対数法、高速ＬＦＳＲシミュレーション法、一次方程式法、および符号シミュレーション法を含むことを特徴とする、請求項４５に記載の診断ツール。
【請求項４７】
前記障害位置情報が、欠陥パターンのクラスを規定し、
前記診断選択モジュールが、前記障害位置情報により規定された欠陥パターンのクラスに基づいて診断手順を選択する、
ことを特徴とする、請求項４５に記載の診断ツール。
【請求項４８】
前記障害位置情報が、欠陥ワードの数、欠陥列の指示、または欠陥行の指示を含むことを特徴とする、請求項４５に記載の診断ツール。
【請求項４９】
前記診断選択モジュールが、障害位置情報の候補値に基づいて入力がインデックス化されたルックアップテーブルを用いて診断手順を選択することを特徴とする、請求項４５に記載の診断ツール。
【請求項５０】
前記診断モジュールが、ルックアップテーブルを用いて診断手順の実行を効率化することを特徴とする、請求項４５に記載の診断ツール。
【請求項５１】
前記報告モジュールが、白黒のビットマップを生成して前記集積回路装置における組み込みメモリ障害を表現するように構成されていることを特徴とする、請求項４５に記載の診断ツール。
【請求項５２】
前記報告モジュールが、カラーのビットマップを生成して前記集積回路装置における２種類以上の組み込みメモリ障害を表現するように構成されていることを特徴とする、請求項４５に記載の診断ツール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ・ビルトイン・セルフテスト環境におけるメモリの故障診断に関する。特に、本発明の態様は、集積回路装置の組み込みメモリを連続的に高速テストするためのテストデータの収集および解析に適用することができる。
【背景技術】
【０００２】
集積回路装置の多くは、その要素として組み込みメモリを有する。たとえば、System-on-a-Chip（ＳｏＣ）装置は通常、多数の組み込みメモリシステムを含む。また、組み込みメモリシステムは、それぞれ０または１の２進数（ビット）を表現可能な高電圧値または低電圧値によって通常特定される状態を保持可能な構成要素であるメモリセル群を含む。メモリセルは、組み込みメモリ中でアレイ状に配置されており、行と列とで特定されることが多い。そして、データ線により特定セルに対する電圧値の印加または読み取りを行って、ビット値を格納または読み出すことができる。また、メモリセルは通常、ワード単位、すなわち、単一のユニットとして同時にアドレス指定可能な一定数のセルとして配置される。
【０００３】
図１は、組み込みメモリで使用可能なメモリ・アーキテクチャ１００の一例である。メモリの各ワードは、アドレスを１つずつ有する。行デコーダ１０１ａは、アドレス指定されたワードのアドレスデータ１０２ａを受け取り、当該アドレスデータのデコードに際して、アドレス指定された行にデータ線またはインターコネクトを割り当てる。同様に、列デコーダ１０１ｂは、アドレス指定されたワードのアドレスデータ１０２ｂを受け取り、当該アドレスデータに基づいて、アドレス指定されたワードに対応する列にデータ線またはインターコネクトを割り当てる。たとえば、クロック信号が入力されると、上記メモリアドレスへのアクセスにより、メモリアレイ１０４に対するデータワード１０３の格納または読み出しが行われる。
【０００４】
各行はいずれもＷ個のワードから成り、各ワードの長さはＢビットであって、行数はＲ個である。１つのワードに属する連続ビットは、順々に配置するか、または図１に示すように、交互配置によりセグメント１０５を構成することができる。すなわち、連続的なワードに属するビットは、メモリアレイの各行において交互配置することができる。このような交互配置形式により、各ワードの対応ビットが各セグメント１０５に統合される。例示したメモリ・アーキテクチャでは、メモリ中のある行のあるワードをアドレス指定すると、各セグメントのビットが１つだけアドレス指定されることになる。すなわち、任意の所定行の第１ワードをアドレス指定すると、第１セグメントの第１ビットｂ０、第２セグメントの第１ビットｂ１、…、第Ｂセグメントの第１ビットｂＢ−１がアドレス指定されることになる。
【０００５】
近年、チップ面積に占めるメモリアレイの割合が急速に増大している。国際半導体技術ロードマップでは、この動向に基づいて、チップのシリコン領域に占めるメモリの割合が１０年以内に９０％を超えると予測している。メモリアレイは、極度な集積の大規模化により、新たな歩留まり低下メカニズムを既に招来し始めており、その速度、大きさ、および複雑さは、テスト方法の大幅な変更を余儀なくするほどである。実際、以前はほとんど見られなかった時間に関連する故障(Time-related)または複雑な読み出し故障等の多くの障害は、半導体チップの最高密度の領域から起こっている。したがって、現行および次世代の組み込みメモリシステムをテストする能力は、前世代の組み込みメモリシステムにおけるよりもさらに重要となっている。
【０００６】
しかし、組み込みメモリシステムのテストおよび診断は、独立型メモリユニットよりも難しい。これは、組み込みメモリの構造がより複雑であるということのみならず、これら回路へのアクセスおよび制御に利用可能な入出力の数が少なく、テストチャンネルの帯域幅が狭くなっていることにも起因する。そこで、高品質なテストの実施においては、メモリ・ビルトイン・セルフテスト（ＭＢＩＳＴ:Memory Built-In Self-Test）が望ましい解決手段となっている。ＭＢＩＳＴが通常望ましい選択肢であることの理由として、以下の３点が挙げられる。すなわち、（１）組み込みメモリは、規則的な構造を有しており精緻なテストパターンの適用が不要なため、テスト刺激（stimuli）および期待テスト応答は、ハードウェアのオーバーヘッドが少ない比較的簡単なテスト回路によって生成、圧縮、および格納することができる。（２）入出力チャンネル数が少なくても、通常は、起動、スキャンイン、スキャンアウト等の必要なＢＩＳＴ動作の制御には十分である。（３）すべてのテストロジックをオンチップ配置可能なため、高速テストが可能となって、時間に関連する故障を検出することができる。メモリＢＩＳＴテストの一実施態様としては、John T. ChenおよびJanusz Rajskiによる２００２年７月１６日発行の下記特許文献１に記載がある。この先行特許の全開示内容は、本明細書中に参考として援用する。
【０００７】
特定のＭＢＩＳＴ制御装置は、配線接続の有限状態機械（ＦＳＭ：Finite State Machine）として設計されているが、通常はいくらかの柔軟性が望まれる。このため、ＭＢＩＳＴの実施態様の多くは、プログラム可能な（マイクロコード化された）装置である。このような回路は、最新式の組み込みメモリ構造の課題を満たすようにプログラミングが可能であり、都合が良い。
【０００８】
ビルトイン自己診断（ＢＩＳＤ：Built-In Self-Diagnosis）として周知の組み込みメモリの故障診断は通常、正しくないテスト応答（一般的に「欠陥パターン」と称することもある）を判定することを主な目的とし、欠陥のあるメモリセル、メモリアレイの列、またはメモリアレイの行を指定可能な従来のＭＢＩＳＴのフローに何らかの修正を加えたものである。メモリアレイの欠陥部位を識別するプロセスは、オンチップで実施するか、あるいは、チップから圧縮テスト応答（「符号(signatures)」と称することもある）をダウンロードした後、たとえば自動テスト装置（ＡＴＥ：Automatic Test Equipment）または別の診断ツールによりオフラインで実施することができる。正しくないテスト応答に対応する符号は、圧縮の有無に関わらず、本明細書中で「欠陥符号(failing signatures)」と称することもある。故障診断は主に、ビルトイン自己修復（ＢＩＳＲ：Built-In Self-Repair）プロセスにおいて、欠陥のある行または列を予備の行または列と交換することによって欠陥のあるメモリアレイを「修復(repair)」するために実施する。また、故障診断は、たとえば既存の製造プロセスの修正を容易化して、将来的に歩留まりを改善するために実施する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】米国特許第６，４２１，７９４号「セルフテスト回路を用いてメモリを診断する方法および装置」
【発明の概要】
【発明が解決しようとする課題】
【００１０】
メモリ回路の時間に関連する故障をテストするには、「高速(at-speed)」すなわちメモリ回路の定格動作速度でテストを行うのが望ましい。しかし、集積回路装置の入出力チャンネルの帯域幅は比較的狭いため、組み込みメモリの欠陥部位の欠陥符号またはアドレス位置を高速にダウンロードすることが困難または不可能な場合がある。このことは、先に得られた診断データのダウンロード中に別の故障が検出された場合に大きな問題となる。したがって、メモリ回路をテストするように修正されたＢＩＳＴ方法の多くは、「中断と再開(pause and resume)」または「停止と再開(stop and start)」のいずれかの動作モードを採用している。
【００１１】
「中断と再開」モードにおいて、たとえば、正しくないテスト応答(incorrect test response)を格納するレジスタが１つしかない場合は、障害の検出に際してＢＩＳＴ制御装置がｈｏｌｄモードに移行する。そして、正しくないテスト応答がレジスタからＡＴＥにスキャンアウトされると、ＢＩＳＴ制御装置はその動作を再開する。ＢＩＳＴ方法によっては、複数のレジスタを設けて複数の正しくないテスト応答を格納することもある。  この場合、ＢＩＳＴ制御装置は、レジスタが飽和するまで、障害検出中もテストを継続することができる。ＢＩＳＴ制御装置は、すべての障害格納レジスタの内容が完全にスキャンアウトされるまでｈｏｌｄモードに移行し、その後、テスト動作を再開する。
【００１２】
「停止と再開」モードにおいては、故障が検出されると、ＢＩＳＴ制御装置が初期テスト状態に移行して、対応する診断データがスキャンアウトされる。そのようにしなければ、ＢＩＳＴ制御装置は、故障が直前に検出されたアドレスと次の目標位置（ＢＩＳＴ制御装置が動作を再開可能な位置）との間の時間に関連する故障を見逃す可能性がある。ＢＩＳＴ制御装置は、連続的に動作を繰り返す場合、直前に検出された故障のアドレスを過ぎるまでメモリ出力を監視しない。
【００１３】
注目すべきは、特定の単一故障によって大量の診断データが生成される可能性があることである。たとえば、１つの信号線または「インターコネクト」に障害が発生しただけで、当該メモリアレイの全行または全列が正しく動作しなくなり、誤ったデータを大量に生成することにもなり得る。このため、従来のメモリＢＩＳＴにおいては、大量の診断データに関して２つの懸念事項が存在する。まず第１に、データのスキャンアウトにはかなりの時間を要する可能性がある。第２に、ＡＴＥメモリは、特にすべてのメモリ障害が記録されている場合、急速に飽和する可能性がある。したがって、ＡＴＥメモリを解放できるように、データの切り捨てまたはメモリＢＩＳＴ制御装置の停止のいずれかが必要となる。データの切り捨ては、診断の観点からは通常受け入れられない。実際、すべての診断データは通常、特定のメモリが修復可能であるか否かを決定する際の障害解析に必要である。また、ＡＴＥメモリを長時間にわたって解放することも、時間的な制約により受け入れられないことが多い。
【課題を解決するための手段】
【００１４】
本発明の種々の態様は、メモリ・ビルトイン・セルフテスト環境において不成功のメモリテストのテスト応答符号を時間的に圧縮することにより、時間に関連する複数のメモリテスト障害を検出した場合であっても、メモリ・ビルトイン・セルフテスト動作を継続できる方法および装置に関する。
本発明の一部の実施態様において、圧縮されたテスト応答符号は、メモリ位置情報とともにＡＴＥに提供される。圧縮されたテスト応答符号およびメモリ位置情報は、ＡＴＥから診断ツールが受信するようにしてもよい。そして、診断ツールは、メモリ位置情報を用いて、圧縮されたテスト応答符号に対する適当な診断手順を選択することにより、非常に時間効率の良いオフラインルーチンを提供して圧縮されたテスト応答符号から障害データを安全に回復するようにしてもよい。
【００１５】
本発明の種々の実施態様によれば、組み込みメモリおよびメモリＢＩＳＴ制御装置を備えた集積回路は、メモリテストのテストステップ中に組み込みメモリアレイからのテスト応答符号を時間的に圧縮可能な符号レジスタとして使用する線形フィードバック構造も具備する。線形フィードバック構造は、たとえば線形フィードバックシフトレジスタであってもよい。
【００１６】
種々の実施態様において、集積回路は、欠陥ワード計数器、欠陥列指示器、および／または欠陥行指示器を具備していてもよい。欠陥ワード計数器、欠陥列指示器、および欠陥行指示器は、線形フィードバック構造が欠陥テスト応答を圧縮するたびにメモリ位置情報を収集する。これらの実施態様により、診断データ、すなわちテスト応答データおよび位置データがオンチップで圧縮されるため、診断データをＡＴＥに転送する時間が短縮される。
【００１７】
本発明のその他の種々の実施態様によれば、診断ツールは、ＡＴＥから診断データを受信し、ルックアップテーブルを用いて適当な診断方法を選択する。欠陥ワード計数器、欠陥列指示器、および欠陥行指示器によって格納された値は、ルックアップテーブルのインデックスとしての役割を果たすものであってもよい。さらに、診断ツールは、ルックアップテーブルを追加することによって、圧縮されたテスト応答からの診断データの抽出を高速化するようにしてもよい。このように、テスト時間と、ＡＴＥに提供されるテストデータおよびＡＴＥから診断ツールによって受信されるテストデータの量とは、大幅に低減することができる。
【００１８】
本発明の上記ならびにその他の特徴および態様は、以下の詳細な説明を考慮することによって明らかとなる。
【図面の簡単な説明】
【００１９】
【図１】組み込みメモリで使用可能なメモリ・アーキテクチャの一例を示す図である。
【図２】組み込みメモリと、ＭＢＩＳＴ制御装置と、テスト応答符号の圧縮およびメモリ位置情報の収集を行う構成要素とを具備する集積回路装置のブロック図である。
【図３】図２の集積回路装置の一実施形態に係る動作方法を示すフローチャートである。
【図４】図２の集積回路の符号レジスタとして実装された多入力リング発生器（ＭＩＲＧ：Multiple Input Ring Generator）を示す図である。
【図５】０…００１状態で初期化されたリング発生器ベースの欠陥ワード計数器を示す図であって、黒塗り箇所は、レジスタの論理１の位置を示している。
【図６】図１の集積回路の一実施態様に係る欠陥列指示器を示す図である。
【図７】一実施態様に係る欠陥行検出器を備えた図２の集積回路装置を示す図である。
【図８Ａ】一実施態様に係る欠陥行指示器を示す図である。
【図８Ｂ】一実施態様に係る改良型欠陥行指示器を示す図である。
【図９】改良型欠陥行指示器を備えたメモリテスト・診断環境を示す図である。
【図１０】メモリアレイ中の対角セル故障の例を示す図である。
【図１１】メモリアレイ中の欠陥列の一例を示す図である。
【図１２】メモリアレイ中の欠陥行および欠陥列の一例を示す図である。
【図１３】欠陥メモリセルに起因するエラーの符号レジスタへの導入を示す図である。
【図１４】離散対数法の事前計算段階を示す図である。
【図１５】離散対数法におけるルックアップテーブルの探索を示す図である。
【図１６】多入力リング発生器における符号レジスタの軌道を示す図である。
【図１７】単一列障害Ｃｘおよび基準列Ｃ０を示す図である。
【図１８】特性多項式ｘ４＋ｘ３＋１を実装した内部ＸＯＲ  ＬＦＳＲのための高速ＬＦＳＲシミュレーションのデータ構造の一例を示す図である。
【図１９】高速ＬＦＳＲシミュレーションの一例を示す図である。
【図２０】メモリアレイ中の２列障害の一例を示す図である。
【図２１】図２０の障害に対応する一次方程式群を示す図である。
【図２２Ａ】１列１行障害を示す図である。
【図２２Ｂ】１列１行障害を示す図である。
【図２３】隣接セル障害の符号の取得に用いられるＭＩＲＧシミュレーションを示す図である。
【図２４】リング発生器（ＲＧ：Ring Generator）と、同じｍ系列を生成する内部ＸＯＲ  ＬＦＳＲとを示す図である。
【図２５】ＬＦＳＲの状態とリング発生器の状態との間のマッピングを示す図である。
【図２６】一実施形態に係るメモリ診断フローを示す図である。
【図２７】一実施形態に係るメモリテスト障害を診断する方法のフローチャートである。
【図２８】一実施形態に係る診断ツールを示す図である。
【発明を実施するための形態】
【００２０】
〈概略〉
本発明の種々の実施態様は、メモリＢＩＳＴ環境における組み込みメモリ回路の故障診断に関する。まず、メモリＢＩＳＴ環境におけるテスト・診断フローの概要を提示する。次に、一実施形態に係る動作方法とともに、組み込みメモリおよびメモリＢＩＳＴ制御装置に高速テスト対応の構成要素を付加した一実施形態に係る集積回路装置について論じる。また、テスト応答符号の受信および圧縮が可能な符号レジスタの種々の実施態様を提示する。さらに、メモリ位置情報の収集に対応し、メモリテスト障害データのオンチップ圧縮を可能にする論理要素とともに、欠陥ワード計数器、欠陥行指示器、および欠陥列指示器等の構成要素について詳細に論じる。
【００２１】
集積回路装置について論じた後、当該集積回路装置の一実施形態に係る動作方法について、より詳細に論じる。これにより、時間に関連する複数のメモリテスト障害が存在する場合であっても、前述の構成要素が種々の実施態様で協働して高速のメモリ・ビルトイン・セルフテスト動作を継続させる方法を示す。また、診断データを自動テスト装置に転送する時間を短縮するため、これら構成要素が種々の実施態様で協働して診断データ、すなわちテスト応答データおよび位置データの量を圧縮する方法を示す。
【００２２】
その後、一実施形態に係るテスト応答符号の診断方法の詳細を提示する。特に、いくつかの診断例とともに、診断用欠陥テストパターンのルックアップテーブルを提示する。これには、線形フィードバック構造を用いて欠陥セルのメモリアドレスを把握するための付加的なルックアップテーブルおよび計算の詳細を含む。最後に、一実施形態に係るテスト応答符号の診断方法を実施可能な診断ツールについて論じる。
【００２３】
以下に開示する電子回路テスト方法およびその関連装置の実施形態は、代表的な一例に過ぎず、限定解釈してはならない。それとは逆に、本開示は、様々な開示方法、装置、およびそれらの同等物を単独ならびに種々の結合および副結合で適用する場合のすべての新規かつ非自明な特徴および態様に関する。本開示技術は、特定の態様、特徴、またはそれらの組み合わせに一切限定されない。また、本開示方法および装置は、１または複数の具体的な利点の提示や問題の解決を要件とするものではない。
【００２４】
本願において使用する通り、単数形「ａ」「ａｎ」「ｔｈｅ」は、文脈上の明確な規定がない場合、複数形を含む。また、「含む（includes）」という用語は、その他の要素が存在し得ないという意味を含まずに「is made up of」を意味する。さらに、「結合（coupled）」という用語は、文脈上の規定がない場合、電気的または電磁的に接続または結合された状態を意味し、当該回路の目的とする動作に影響を及ぼさない１または複数の中間要素を介した直接接続および間接接続の両者を含む。
【００２５】
一部の開示方法および装置の動作は、説明の便宜上、特定の順序で記述しているが、以下に具体的な表現で特定の順序付けが要求されていない場合は、再構成を包含するものと理解すべきである。たとえば、連続的に記述された動作は、場合によっては再構成または同時実行としてもよい。さらに、簡素化のため、添付の図面には、開示方法および装置と他の方法および装置との同時使用を可能とする様々な方法が示されていない場合がある。また、「決定（determine）」や「選択（select）」等の用語を用いて開示方法を説明している場合がある。これらの用語は、実際に行う動作を高度に抽象化したものである。これらの用語に対応する実際の動作は、特定の実施態様に応じて異なるが、当業者であれば容易に識別可能である。
【００２６】
本発明の種々の実施形態は、たとえば組み込みメモリを有する多種多様な集積回路に実装することができる（たとえば、特定用途向け集積回路（ＡＳＩＣ： Application-Specific Integrated Circuit）（混合信号ＡＳＩＣを含む）、System-on-a-Chip（ＳｏＣ）、またはフィールド・プログラマブル・ゲートアレイ（ＦＰＧＡ：Field Programmable Gate Array）等のプログラム可能論理装置（ＰＬＤ：Programmable Logic Device）等）。
【００２７】
さらに、いずれの開示装置であっても、１または複数のコンピュータ可読媒体に回路設計情報として格納することができる。たとえば、設計情報を含む１または複数のデータ構造（たとえば、ネットリスト、ＨＤＬファイル、またはＧＤＳＩＩファイル等）を作成（または更新）および格納することによって、任意の開示装置を記述した設計情報を包含することができる。このようなデータ構造は、ローカルコンピュータまたは（たとえば、サーバコンピュータによって）ネットワーク上で作成（または更新）および格納することができる。また、上記のコンピュータ可読媒体は、開示技術の範囲内と考えられる。
【００２８】
また、本発明の１または複数の態様は、プログラム可能なコンピュータ装置上でソフトウェア命令を実行して具現化することにより、本発明に係る１または複数の機能を実行するようにしてもよい。これの代わりに、または、これに加えて、本発明の１または複数の態様は、コンピュータ可読媒体に格納されたコンピュータ実行可能なソフトウェア命令により具現化することによって、本発明に係る１または複数の機能を実行するようにしてもよい。
【００２９】
さらに、いずれの開示方法であっても、コンピュータシミュレーションまたはその他のＥＤＡ環境に使用することができる。この場合、テストパターン、テスト応答、および診断結果は、１または複数のコンピュータ可読媒体に格納された回路表現により判定または解析される。ただし、説明の便宜上、本開示では、回路または回路要素の表現をその物理的な対応物（たとえば、メモリアレイ、計数器、レジスタ、論理ゲート等）によって参照することがある。なお、本開示における物理的要素に対するいずれの参照も、シミュレーションまたはその他の上記ＥＤＡ環境で使用されるような回路要素の表現を含むものと理解すべきである。
診断フロー
代表的なメモリテスト・診断フローにおいては通常、「マーチ」テストと称することもある包括テストを用いて、メモリアレイの不具合を確認する。マーチテストは、各メモリアドレスに順次適用される一連のテストステップである。各テストステップは通常、少なくとも１つの書き込み動作および／または読み出し動作から成る。たとえば表１の最上行に示すマーチテストの記述において、各テストステップは、当該テストステップで行われる動作を指定する括弧内の式で表されている。また、各テストステップは、セミコロンにより後続のステップから分離されている。さらに、テストステップの表現において、矢印は、当該テストステップでメモリにアクセスする順序を指定している。テストステップでは、上向き矢印（↑）で表されるアドレスの昇順または下向き矢印（↓）で表されるアドレスの降順にメモリへのアクセスを行ってもよい。
【００３０】
表１のマーチテストは、↑（ｗ０）で表される初期化ステップから成り、「０」で表される「データバックグラウンド」ワードが昇順で各メモリワードアドレスに書き込まれる。データバックグラウンドワードは、すべて０または１から成るビットパターンであってもよい。あるいは、特定の８ビットワードに対して、たとえば００１１００１１等の両者の組み合わせであってもよい。また逆に、「１」は、データバックグラウンドパターンの反転を表し、たとえば、データバックグラウンドワードがすべて０から成る場合にすべて１から成るワードである。あるいは、上記その他の例において、データバックグラウンドワードが００１１００１１である場合に１１００１１００から成るワードである。以下の説明では明確化のため、特別の規定がない限り、データバックグラウンドワードは、Ｂ個の０から成るビットパターンである。そして、データバックグラウンドワードの反転ワードは、Ｂ個の１から成るビットパターンである。したがって、以下では０および１の周囲の引用符を省略する。
【００３１】
表１．マーチテストＩＦＡ９Ｎの故障辞書
【００３２】
【表１】
2010539633.tif 000003
【００３３】
初期化ステップの後にはテストステップ↑（ｒ０，ｗ１）が続き、アドレスの昇順に対象メモリへのアクセスが行われる。このテストステップでは、各メモリアドレスにおいて、２つの動作が順次行われる。第１の動作（ｒ０）では、メモリワードが読み出される。ｒの後ろの０は、正しいテスト応答がデータバックグラウンドワード（すなわち、０００…０）であって、それ以外はいずれも正しくない応答であることを意味する。第２の動作（ｗ１）では、反転ワード（すなわち、１１１…１）がメモリワードに書き込まれる。これら両動作は、テストステップが次のメモリアドレスに進む前に特定のアドレスで実施される。
【００３４】
次のテストステップ↑（ｒ１，ｗ０）においては、再度、アドレスの昇順に対象メモリへのアクセスが行われる。このテストステップでは、各メモリアドレスにおいて、２つの動作が順次行われる。第１の動作（ｒ１）では、メモリワードが読み出される。ｒの後ろの１は、正しいテスト応答がデータバックグラウンドワードの反転ワード（すなわち、１１１…１）であって、それ以外はいずれも正しくない応答であることを意味する。第２の動作（ｗ０）では、データバックグラウンドワード（すなわち、０００…０）がメモリワードに書き込まれる。これら両動作は、テストステップが次のメモリアドレスに進む前に特定のアドレスで実施される。
【００３５】
第４のテストステップ↓（ｒ０，ｗ１）は、メモリアクセスの順序に関してのみ第２のテストステップ↑（ｒ０，ｗ１）と異なり、アドレスの降順に対象メモリへのアクセスが行われる。同様に、第５のテストステップ↓（ｒ１，ｗ０）についても、アクセス順序に関してのみ第３のテストステップ↑（ｒ１，ｗ０）と異なり、アドレスの降順に対象メモリへのアクセスが行われる。
【００３６】
マーチテストを用いることにより、メモリアレイ中の様々な障害を検出することができる。表１は、マーチテストにより観測されるエラーをその考え得る原因と相関させた故障辞書である。
一般的に、「故障辞書」は、行方向に故障を表示し、列方向にテストステップの動作を表示したテーブルである。このテーブルでは、検出された特定の故障およびその故障が検出された特定のテストステップ動作に対応するセルが１となる。一方、故障が検出されていないテストステップ動作のセルは、０となる。たとえば、書き込み動作では故障が検出されていないため、表１の書き込み動作の列は、すべて０となっている。
【００３７】
故障辞書は、たとえばメモリ回路の解析、シミュレーション、または実験等に基づいて作成することができる。表１の第１列に記載された故障は、たとえば「０スタック」故障ＳＡＦ０および「１スタック」故障ＳＡＦ１を含む。ＴＦ０およびＴＦ１は遷移故障、ＣＦで始まる故障はカップリング故障である。ＳＯＦ０、ＳＯＦ１、およびＳＯＦ２で表される故障は、スタックオープン故障である。また、ＡＦ０およびＡＦ１は、アドレスデコーダ故障である。したがって、テストステップにおいて、たとえば１１１…１がワードアドレスに書き込まれた後、０を含む任意のビットパターンが当該ワードアドレスから読み出された場合は、ＳＡＦ０と診断される。
【００３８】
メモリ障害診断の適用例としては、メモリアレイに対応する２次元画像（ビットマップ）の形成が挙げられる。この形成プロセスでは、メモリテスト応答を用いてビットマップの各ピクセル値を選択するため、各ピクセルが１つのメモリセルの状態（すなわち、良好または欠陥）を表すことになる。白黒のビットマップでは、白色のピクセルが良好セルを示し、黒色のピクセルがメモリアレイの欠陥部位を示す。これらのビットマップは、たとえばスタック故障等の故障種別の特定クラスを自然に抽象化したものであって、セルの良否という読み出し動作によって得られる基本的な情報のみを提供する。
【００３９】
一方、カラーのビットマップは、様々なピクセル色により様々な故障クラスを表すことができる。たとえば、スタック故障をある色で表し、遷移故障を別の色で表すようにしてもよい。カラーのビットマップは、たとえばＢＩＳＴモードにおいて、異なるテストステップおよび／またはデータバックグラウンドで一連のマーチテストを適用した後に得られる。これに加えて、または、これの代わりに、カラーのビットマップは、同じメモリアレイを表す白黒ビットマップ群のオフライン後処理中に得られる。特定の実施形態においては、故障辞書（たとえば、表１参照）を用いることによって、メモリアレイのカラーのエラービットマップの作成を支援することができる。そのような辞書は、特定のマーチテストルーチンに基づく論証プロセスの結果をまとめたものである。開示技術とともに使用可能な辞書および辞書生成方法の例は、L.-T. Wang, C.-W. Wu, X. Wen, “VLSI Test Principles and Architectures. Design for  Testability,” Morgan Kaufmann Publishers, New York, 2006に記載されている。なお、メモリＢＩＳＴ環境においては、たとえばGalpat、 Walking、Butterfly、Sliding Diagonal、NPSF等のマーチテスト以外のメモリテストも適用可能であるものと理解すべきである。これまでに、数百種類ものアルゴリズムが提案されている。テストのアルゴリズムについては、A. J. van de Goor, “Testing Semiconductor Memories: Theory and Practice,” John Wiley & Sons Inc., New York, 1998およびR. Dean Adams, “High Performance Memory Testing: Design Principles, Fault Modeling, and Self-test,” Springer, New York, 2002に記載されている。なお、本明細書に記載の方法および装置をマーチテスト以外のメモリテストに使用することは、本開示の範囲内であるものと理解すべきである。
〈時間的な圧縮を行う集積回路装置〉
種々の実施形態において、故障診断は、欠陥メモリセルを示す非常に正確な白黒のエラービットマップを生成することができる。たとえば、図２は、組み込みメモリアレイ２０４と、ＭＢＩＳＴ制御装置２０６と、テスト応答符号の圧縮およびメモリ位置情報の収集を行う構成要素２１０、２１１、２１３、および２１４とを具備する集積回路装置２０７のブロック図である。
【００４０】
構成要素２１０は符号レジスタであり、その詳細は後述する。構成要素２１１、２１３、および２１４は、それぞれ欠陥ワード計数器（ＦＷＣ：Failing Words Counter)、欠陥列指示器（ＦＣＩ：Failing Column Indicator）、および欠陥行指示器（ＦＲＩ：Failing Row Indicator）であり、その詳細も後述する。ＦＷＣ２１１、ＦＣＩ２１３、およびＦＲＩ２１４は、本明細書中で「位置データ収集器」と称することもある。符号レジスタ２１０に位置データ収集器２１１、２１３、および２１４を加えて、本明細書中で「テストデータ収集器」または「レジスタ」と称することもある。新たなハードウェアの機能性およびこのアーキテクチャの特定の拡張機能については、以下に詳細な説明を示す。
【００４１】
以下では、単一の組み込みメモリアレイ２０４および単一のＭＢＩＳＴ制御装置２０６のみを備えた集積回路装置２０７の具体例を説明するが、当然のことながら、集積回路装置２０７は、複数の組み込みメモリおよび複数のメモリＢＩＳＴ制御装置を備えることによって、各メモリＢＩＳＴ制御装置で複数の組み込みメモリをテスト可能である。また、組み込みメモリアレイ２０４は、図１に示すようなメモリ・アーキテクチャを有していてもよい。メモリアレイ中のメモリセルは、高速列アドレス指定モードまたは高速行アドレス指定モードのいずれかでアドレス指定してもよい。高速列アドレス指定モードの場合、ある列の連続ワードは、次の列に移行する前にアドレス指定される。高速行アドレス指定モードの場合、ある行の連続ワードは、次の行に移行する前にアドレス指定される。説明の便宜上、メモリアレイ２０４は高速列アドレス指定モードでアドレス指定され、ビットはメモリワード中に交互配置されるものと仮定する。なお、本明細書で説明する手順の実施形態は、他のメモリ構成に容易に拡張可能である。
【００４２】
図３は、集積回路装置２０７の一実施形態に係る動作方法を示すフローチャート３００である。方法３００の各ステップについては、集積回路装置２０７（図２参照）の詳細な記述とともに説明する。この例において、メモリＢＩＳＴ制御装置２０６は、特定のマーチテストおよび特定のデータバックグラウンドワードを適用するように構成されている。メモリＢＩＳＴ制御装置２０６は、メモリアレイに適用するテストパターンワード２０３を生成するとともに、オンチップテスト・ハードウェアの動作を同期させるクロック信号２１２ａを生成する。方法３００は、自動テスト装置からの信号に応答して開始してもよい。さらに、方法３００の個々のステップは、メモリＢＩＳＴ制御装置２０６からの信号またはＡＴＥ装置からのクロック信号２１２ｂに応答して実行してもよい。
【００４３】
上記方法は、初期化ステップ３２３において、たとえば表１の最上行に示すマーチテストの第１テストステップを開始する。メモリＢＩＳＴ制御装置２０６（図２参照）は、テストステップの実行を開始する（ステップ３２４）。制御装置２０６は、テストステップの開始時に、その起点となるメモリアレイ２０４の適当なワードアドレス２０２を選択する（ステップ３２５）。たとえば、そのテストステップにおいて、メモリアレイ２０４のワードをアドレスの昇順に指定する必要がある場合、適当な開始ワードアドレスは、メモリアレイの最小のワードアドレスである。また逆に、そのテストステップにおいて、メモリアレイ２０４のワードをアドレスの降順に指定する場合、適当な開始ワードアドレスは、メモリアレイの最大のワードアドレスである。
【００４４】
ＢＩＳＴ制御装置２０６（図２参照）は、ワードアドレスのメモリセルにテストワード２０３を適用する（ステップ３２６）。上述の通り、テストワードは、たとえばすべて０から成るワード等の「データバックグラウンド」またはその他所定のワードであってもよい。あるいは、たとえばデータバックグラウンドがすべて０から成るワードである場合にすべて１から成るワード等、データバックグラウンドの反転であってもよい。さらに、テストワードのメモリアドレスへの適用に際して、複数の動作を実行してもよく、場合によっては、２つ以上のテストワードを適用するか、または、同じテストワードを複数の動作で適用するようにしてもよい。たとえば、表１の第２テストステップにおいて、正しいテスト応答が０である読み出し動作をまず行った後、同じワードアドレスにおいて、１の書き込み動作を実施する。他の種類のテストステップにおいては、同じメモリアドレスに対して複数の読み出しおよび／または複数の書き込みを行ってもよい。
【００４５】
読み出し動作に際して、テスト応答ワードを取得してもよい（ステップ３２７）。同時に、メモリＢＩＳＴ制御装置２０６（図２参照）は、取得したテスト応答ワードとともに比較器２０９に適用される（ステップ３２８）期待されるテスト応答ワード２０８を生成または提供するようにしてもよい。すなわち、たとえば比較器２０９によって、１または複数のテスト応答ワード（たとえば、テスト応答ワードごと）と期待応答ワードとを比較する。種々の実施形態において、比較器２０９は、たとえばＸＯＲまたはＸＮＯＲネットワーク等の組み合わせ論理ネットワークである。比較器２０９は、テスト応答ワードが期待応答ワードと異なるビット位置を識別する。たとえば、期待応答ワードが１１１１１１１１であり、観測されたテスト応答ワードが１１０１１１１１である場合、比較器出力は００１０００００となる。このように、比較器２０９は、アクセス中のワードアドレスのテスト符号を生成する。なお、比較器２０９は、各読み出し動作の後、次のワードアドレスにアクセスする前にテスト符号を生成する（ステップ３２９）。このように比較器２０９によって生成されたテスト応答符号は、本開示において「エラーベクトル（error vector）」と称してもよい。
【００４６】
テスト符号を生成する比較器２０９（図２参照）の動作ステップ３２９の後、符号は、時間的に圧縮されて符号レジスタ２１０に格納される（ステップ３３０）。種々の実施形態において、前記時間的な圧縮（ステップ３３０）では、たとえば多入力リング発生器（ＭＩＲＧ：multiple input ring generator）に順序論理を採用することにより、リング発生器の状態としてエンコードされた符号を順々に格納する（方法３００の説明の継続性を維持するため、ＭＩＲＧの詳細は後述する）。種々の実施形態において、比較器２０９の出力ビットは、たとえばＦＷＣ２１１およびＦＣＩ２１３から成る位置データ収集器に適用される（ステップ３３１）。この方法のステップ３３１は、時間的な圧縮（ステップ３３０）と同時に行ってもよい。また、後述する通り、適当な条件が満たされれば、Ｂ入力ＡＮＤゲート２２１が欠陥行検出器として機能するとともに、論理１をＦＲＩ２１４に割り当ててもよい。
【００４７】
このように、比較器２０９（図２参照）の出力で示される結果の差異によって、高速テスト中に連続動作するように構成された４つのテストデータ収集器２１０、２１１、２１３、および２１４が駆動される。種々の実施形態においては、比較器２０９が提供する結果の差異とは別のエラーパターンによって、４つのテストデータ収集器２１０、２１１、２１３、および２１４が駆動されてもよいものと理解すべきである。たとえば、テストパターンワード自体は既知であるため（たとえば、マーチテストの仕様の一部として）、種々の実施形態においては、符号レジスタでテスト応答ワードを直接取得し、次の診断解析に使用するようにしてもよい。後者の種々の実施形態においては、オンチップ比較器が省略可能である。
【００４８】
ステップ３３１の後、ＢＩＳＴ制御装置２０６（図２参照）は、このテストステップでメモリアレイのすべてのワードアドレスにアクセスしたか否かを判定することができる（ステップ３３２）。このテストステップでテストすべきワードアドレスが残っている場合は、テストする次のワードアドレスを選択して（ステップ３３３）、ステップ３２６に戻ることができる。このテストステップですべてのワードアドレスにアクセスした場合は、圧縮された符号データを符号レジスタ２１０から転送することができる（ステップ３３４）。
【００４９】
種々の実施形態において、ＦＷＣ２１１、ＦＣＩ２１３、およびＦＲＩ２１４に収集されたデータは、圧縮された符号データの転送と同時に転送される。種々の実施形態において、これらのデータは、ＡＴＥ装置に転送されてもよい。このように、テストデータ収集器２１０、２１１、２１３、および２１４は、たとえばテストステップが終わるたびに、その内容が周期的にダウンロードされる。また、テストデータ収集器２１０、２１１、２１３、および２１４は、テストステップ中にテスト応答データを連続的かつ高速に収集することができる。
【００５０】
種々の実施形態において、テストデータの転送（ステップ３３４）は、「シャドーレジスタ（shadow registers）」の使用により容易化してもよい。図２の実施形態では、テストデータ収集器２１０、２１１、２１３、および２１４がそれぞれ関連するシャドーレジスタ２１５、２１６、２１７、および２１８を有する。その他の種々の実施形態では、シャドーレジスタは無くてもよいものと理解すべきである。１つのテストステップが完了すると、前述の通りテストデータ収集器の内容がＡＴＥにダウンロードされるか、または、シャドーレジスタが存在する場合は、対応するシャドーレジスタ２１５、２１６、２１７、および２１８にロードされる。すなわち、ステップ３３４においては、テストデータがＡＴＥにダウンロードされてもよいし、あるいは、対応するシャドーレジスタにロードされてもよい。
【００５１】
シャドーレジスタを使用する種々の実施形態において、テストデータ収集器２１０、２１１、２１３、および２１４（図２参照）が、たとえば次のテストステップのテスト応答および位置データの高速収集を継続する一方、シャドーレジスタ２１５、２１６、２１７、および２１８は、外部ＡＴＥが対応可能なサンプリングレートで解放される。シャドーレジスタ２１５、２１６、２１７、および２１８の解放は、ＡＴＥからの独立したクロック信号２１２ｂによって制御してもよい。
【００５２】
なお、この例の方法では、テストデータのダンプやダウンロードのためにテストステップを別途中断する必要がない。方法３００の別のステップにおいて、制御装置２０６は、マーチテストの最終テストステップが終了したか否かを判定することができ、終了していない場合は、次のテストステップに進んで（ステップ３３５）、ステップ３２４に戻る。終了の場合は、マーチテストが完了する（ステップ３３６）。
【００５３】
引き続いて、図２の様々な構成要素をより詳細に説明すると、符号レジスタ２１０は、すべてのテスト応答の収集および時間的に圧縮された実エラー符号の生成のために使用する。種々の実施形態において、符号レジスタ２１０は、初期状態から連続的に動作する。種々の実施形態において、初期状態とは、符号レジスタのすべてのビットがゼロを保持している状態であるものと理解すべきである。その他の種々の実施形態においては、符号レジスタの少なくとも１つのビットが非ゼロである初期状態を使用してもよい。なお、本開示のこれ以降、符号レジスタは非ゼロ状態に初期化されているものと仮定する。
【００５４】
したがって、初期状態においては、符号レジスタの内容が特定の非ゼロ状態にあって、エラーが圧縮されていないことを示している。ゼロ以外の任意の「シード」を符号レジスタにロードすることによって、初期状態を構築可能であるものと理解すべきである。符号レジスタは、組み合わせ論理だけではなく順序論理も採用しているため、比較器２０９から出力されて符号レジスタに提供されるテスト応答符号は、符号レジスタ２１０の状態に順次格納される。すなわち、時間的に圧縮される。また、符号レジスタ２１０の内容は、たとえばテストステップごと等、周期的に解放されるため、テストステップで検出されたエラーの識別および診断が可能となる。符号レジスタ２１０の内容は、メモリアレイの障害が検出されたか否かを示すものである。
【００５５】
一部の実施形態において、符号レジスタ２１０（図２参照）は、テスト応答比較器２０９の出力により駆動される多入力リング発生器（ＭＩＲＧ）として実装してもよい。リング発生器は、内部ファンアウトおよび論理レベルが低い線形有限状態機械であって、線形フィードバックシフトレジスタ等の「標準（canonical）」の線形有限状態機械に特定の変形を加えることによって得られることが多い。標準の線形フィードバックシフトレジスタは、特定の性能およびアーキテクチャ要求を満足するものである。ＭＩＲＧは、標準の線形フィードバックシフトレジスタに対して、速度等の利点が得られる。
【００５６】
図４は、本発明の種々の実施態様における符号レジスタとして採用可能なＭＩＲＧ４１０の一例を示す図である。ラッチ４３７は、出力が別のラッチの入力および／または論理ネットワーク（たとえば、論理ネットワーク４３８のいずれか）の入力として提供されるように相互接続されている。論理ネットワーク４３８のいずれかは、たとえばＸＯＲまたはＸＮＯＲネットワークであってもよく、同一の論理ネットワークである必要はない。
【００５７】
ＭＩＲＧの一部のラッチ４３８は、別のラッチから直接入力するのではなく論理ネットワーク（たとえば、ＸＯＲまたはＸＮＯＲ）から入力することによって、関連する「標準」の線形フィードバックシフトレジスタと同一の性能を実装できるように接続されている。また、一部のＸＯＲまたはＸＮＯＲネットワーク４３８は、「導入器（injector）」ネットワーク４３９として構成されている。導入器は、外部からＭＩＲＧへの入力またはＭＩＲＧからの出力のために動作する。図４において、導入器ネットワーク４３９は、比較器２０９（図２参照）からの入力のために動作する。開示の実施形態で使用可能なリング発生器の例は、G. Mrugalski, J. Rajski, J. Tyszer, “Ring generators-New devices for embedded deterministic test,” IEEE Trans. on CAD, Vol. 23, No. 9, September 2004, pp. 1306-1453にも記載されている。この先行資料の全開示内容は、本明細書中に参考として援用する。
【００５８】
引き続いて、集積回路装置２０７（図２参照）について説明すると、一部の実施態様においては、正しくないテスト応答ワードの計数に欠陥ワード計数器（ＦＷＣ）２１１を使用してもよい。また、少なくとも１つのエラーが比較器出力から伝搬する場合にのみＦＷＣ２１１が起動するようにクロック線２１２ａをゲーティングするため、比較器２０９とＦＷＣ２１１との間に順次設けられたＢ入力ＯＲゲート２１９およびＡＮＤゲート２２０の２つのゲートを使用することができる。すべてのテストステップが完了すると、欠陥メモリワードの数に関する非常に正確な情報がＦＷＣ２１１により提供される。
【００５９】
一般的に、ＦＷＣ２１１（図２参照）としては任意の計数装置を使用することができる。ただし、時間的な制約から、効率的なイベント計数器としては、レジスタの単一シフトのみによってインクリメント機能が実現される線形フィードバックシフトレジスタ（ＬＦＳＲ：Linear Feedback Shift Register）を採用することができる。特に、従来のイベント計数器や標準のＬＦＳＲと比べて、リング発生器は高速動作が可能である。図５は、０…００１状態で初期化されたリング発生器ベースの欠陥ワード計数器５１１を示す図であって、黒塗り箇所は、レジスタの論理１の位置を示している。標準形式のＬＦＳＲと比較して、ＸＯＲの論理レベル数が大幅に少なく、内部ファンアウトが最小化され、リング発生器の回路配置および経路が簡素化されているため、より高速での動作が可能となっている。したがって、開示技術の特定の実施形態では、正しくないテスト応答ワードの計数用として小型のリング発生器５１１を採用する。なお、この回路は、その計数機能を有効にするため、特定の方法で動作させることもある。リング発生器の動作の詳細については、図１４および図２４に関連して後述する。
【００６０】
図２の実施形態に示すように、集積回路装置２０７は、欠陥列指示器（ＦＣＩ：failing column indicator）２１３も具備する。欠陥列指示器２１３は、エラーが比較器２０９の全出力に影響を及ぼす場合を除き、単一のテストステップを通して欠陥出力ビットの位置を格納する。エラーの影響がある場合は、比較器２０９の出力とＦＣＩ２１３のクロック入力との間に設けられた２つのＡＮＤゲート２２１、２２２によって対処可能である。
【００６１】
一部の実施形態において、ＦＣＩ２１３（図２参照）の内容は、テストステップの終了ごとにダウンロードされる。単一セル／列様の欠陥パターンを追跡する場合は、欠陥セルと見なすべき縦方向のメモリセグメントをＦＣＩ２１３によって示すことができる。さらに、ＦＣＩ２１３は、正確な故障位置を識別するのに要する時間を短縮することができる。
【００６２】
図６は、一実施態様に係る欠陥列指示器（ＦＣＩ）６１３を示す図である。ＦＣＩ６１３は、テスト応答ワードの各ビットに対応するＢ入力ＯＲゲート６４０を具備する。各ＯＲゲート６４０の一方の入力では、比較器２０９（図２参照）からのテスト応答符号ビットを受信する。そして、ＯＲゲート６４０の出力は、Ｄフリップフロップ６４１に入力される。Ｄフリップフロップの出力は、第２の入力としてＯＲゲート６４０に戻される。このように、ＦＣＩ６１３は、蓄積動作を行う。すなわち、特定の列に障害があることが確認されると、ＦＣＩ６１３は、テストステップが終了するまで、当該列のエラーを表す値を保持する。
【００６３】
図２に戻って、ＦＣＩ２１３のクロッキングは通常、特定の欠陥パターンの検出に依存している。同じ行に属するすべてのセルに関与するエラーの場合は、図２に示すように、１つのＢ入力ＡＮＤゲート２２１のみを用いれば、行障害の検出およびＦＣＩ２１３の全ビット割り当ての防止に十分である。ただし、部分的行障害をなすエラーの検出および記録はより複雑で、図７に示すように、欠陥行検出器が必要となる。なお、図７の回路にはメモリＢＩＳＴ制御装置が示されていないが、図７の実施形態についても、図２の制御装置２０６と同様に構成されたＢＩＳＴ制御装置を具備するものと理解すべきである。
【００６４】
図７の回路は、少なくとも３つの縦方向に隣接するセグメントに拡がった部分的行障害をすべて検出可能であるが、ＦＣＩ７１３による記録は行われない。欠陥行検出器７２１は、拡大図７４２に示すように、３つのＯＲゲート７４３を具備する。３つの連続するビットに障害が発生するたびに、３つのＯＲゲート７４３がすべて論理１を出力する。この場合は、ＡＮＤゲート７４４も論理１を出力し、欠陥行が検出されたことを示す（ここで、欠陥行とは、行中の３つ以上のビットに障害があることを意味する）。同時に、ＯＲゲート７４３の１つによって、任意のビット障害がＯＲゲート７４５、さらにはその出力に送られる。このように、図７の欠陥行検出器７２１は、図２のゲート２１９および２２１を置き換えたものであって、「欠陥行」を低い厳密性で規定する。その結果、このような欠陥行が複数列障害として誤って処理されることはない。
【００６５】
前述の通り、開示技術の種々の実施形態は、ＦＣＩ２１３を補完可能な欠陥行検出器（ＦＲＩ：failing row indicator）２１４を具備する。その他の種々の実施形態では、上記ＦＣＩ７１３を補完するＦＲＩ７１４を具備していてもよい。ＦＲＩ７１４を具備する種々の実施形態では、各行で発生しているエラーに関する情報をＦＲＩが格納する。
図８Ａは、一態様に係る欠陥行指示器８１４を示す図であり、フリップフロップ８４７が、図７の欠陥行検出器７２１あるいは図２のＡＮＤゲート２２１から論理１を受信して、ＦＲＩシフトレジスタ８４９に送られるまで保持する。このように、欠陥行指示器８１４は、欠陥行として検出された行と検出されなかった行とを追跡する。シフトレジスタ８４９は、各ビットがメモリアレイ２０４（図２参照）の各行に対応する少なくともＲビットのシフトレジスタである。通常はＢ＞Ｒであるため、図示のようにＢビットシフトレジスタを使用してもよい。
【００６６】
シフトレジスタ８４９に格納されたビットは、テストステップのテストが別の行に進むと、レジスタに沿ってシフトされる。行のワードテストが完了した際のシフトレジスタ８４９のクロッキングは、行アドレスレジスタ８５０のオーバーフロー（ovf, ８４８）の検出により実現される。たとえば、各行が４つのワードから成るものと仮定する。第１のワードは、たとえば００００００００のアドレスを有するものとし、第２のワードは０００００００１のアドレスを有するものとする。また、第３および第４のワードはそれぞれ、００００００１０、００００００１１のアドレスを有するものとする。その後、アドレスレジスタをインクリメントして次のメモリワードアドレスにシフトすると、０００００１００のアドレスが与えられる。すなわち、アドレスレジスタの最下位２ビットをインクリメントすることによって、メモリアドレスが次の行にシフトするため、（最下位２ビットの）オーバーフローが発生したことになる。このようなオーバーフローは、アドレスレジスタ８５０が１１で終わるアドレスから次のアドレスにシフトするたびに発生する。このように、オーバーフロー信号８４８は、フリップフロップ８４７のリセットおよびシフトレジスタ８４９のトリガーとなって、テスト中のメモリ行と障害有無の行とを追跡することができる。すなわち、シフトレジスタ８４９の連続ビットは、特定数の行を備えたメモリアレイ２０４（図２参照）の横方向のセグメントと一意に対応する。その結果、ＦＣＩ２１３およびＦＲＩ２１４の両者に保持された直交情報を用いて、実際の障害が発生しているメモリアレイ２０４の当該部分を分離することができる。
【００６７】
図８Ｂは、一実施形態に係る改良型欠陥行指示器（Ｅ−ＦＲＩ：Enhanced Failing Row Indicator）８４６を示す図である。改良型欠陥行指示器８４６を使用することによって、行に関連するエラーの認識を改善することができる。行アドレスレジスタ８５０の２ビットレジスタＬによる遅れに起因して、右側のフリップフロップは、少なくとも３つのエラーが３つの連続するタイムフレームで比較器２０９（図２参照）の任意の出力に現れるたびに論理１を受信する。これにより、３つの縦方向に隣接するセグメントに拡がっていない部分的行障害の検出および改良型欠陥行指示器による報告も可能になる。
【００６８】
より詳しく説明すると、改良型欠陥行指示器８４６は、行アドレスレジスタ８５０のオーバーフローが起こるたびにクロッキングされるＢビットシフトレジスタ８４９を具備する。Ｄフリップフロップ８５１ａ、８５１ｂ、および８５１ｃは、３つの連続するワード障害を同じ行に登録するように構成されている。この登録が行われると、Ｄフリップフロップ８５１ｃにより論理１の出力がシフトレジスタ８４９に供給されて、行アドレスレジスタ８５０のオーバーフロー８４８によるシフトレジスタ８４９のクロッキングに際して行障害が記録される。
【００６９】
図９は、ビルトイン自己診断（ＢＩＳＤ：built-in self-diagnosis）環境において、図８のＥ−ＦＲＩ８４６に類似する改良型欠陥行指示器９４６を適用した場合を示す図である。図９の回路にはメモリＢＩＳＴ制御装置が示されていないが、図９の実施形態についても、図２の制御装置２０６と同様に構成されたＢＩＳＴ制御装置を具備するものと理解すべきである。なお、欠陥行検出器７２１（図７参照）および９２１は同様の回路７４２および９４２を有するが、欠陥行検出器９２１と改良型欠陥行指示器９４６との間の接続は、欠陥行検出器７２１と欠陥行指示器７１４との間の接続と異なる。相違点は、改良型欠陥行指示器９４６には欠陥行検出器９２１のＯＲゲート９４５からの入力がある一方、欠陥行指示器７１４にはＡＮＤゲート７４４からの入力があることである。図７の実施態様においては、同じワードにおける３つの隣接ビットの故障時に欠陥行検出器７２１が検出を行うように構成されていることを思い起こしてもよい。ただし、図８の実施態様においては、欠陥行検出器９２１と改良型欠陥行指示器９４６とが一緒になって、行中に連続する３つの欠陥ワードを検出する。繰り返しになるが、行中の３つの欠陥ワードを検出することは、ＡＮＤゲート２２１を用いた図２の欠陥行登録条件よりも厳密性の低い条件である。
【００７０】
集積回路装置２０７（図２参照）について、図２、図７、および図９に示す３つの特定の実施形態を説明した。各実施形態では、不成功のメモリテストに関する圧縮されたテスト符号およびメモリ位置データを収集することができる。欠陥パターンおよび故障診断に関する以下の説明では、図９に示す実施形態を参照する。
上述の通り、テストステップの最後には、圧縮されたテスト応答符号データおよびメモリ位置データをＡＴＥで利用可能となる。その後、圧縮されたテスト応答符号データおよびメモリ位置データは、ＡＴＥにより診断ツール（２８００、図２８参照）に提供することができる。診断ツールは、圧縮された符号データに診断手順を適用して、欠陥メモリセルの位置を決定する。この診断手順は、表２に関連して後述するように、欠陥パターンの解析に基づくものである。また、この診断手順は、線形フィードバック構造の特性を利用することによって、後述するように欠陥メモリセルの位置決定を効率的に行うことができる。また、後述する通り、欠陥パターンおよび対応する欠陥メモリセルの位置を効率的に探索可能とするため、ルックアップテーブルを使用してもよい。
【００７１】
まず、欠陥パターンの解析について説明すると、欠陥パターンは、メモリアレイ中の欠陥パターン配置およびこの種の欠陥パターンの存在下で収集されるＦＷＣ、ＦＣＩ、およびＦＲＩの値の両者により区別可能なクラスに分類することができる。表２および以下の説明において、ＦＷＣ、ＦＣＩ、およびＦＲＩは、ＦＷＣ２１１、ＦＣＩ２１３、およびＦＲＩ２１４により収集された値を参照することができる。
【００７２】
ＦＷＣ２１１（図２参照）、ＦＣＩ２１３、およびＦＲＩ２１４においてデータを収集するのは、圧縮されたテスト応答符号に基づいてメモリテスト障害の診断を効率化できるようにするためである。欠陥パターンの各クラスに関して、ＦＣＩ、ＦＲＩ、およびＦＷＣの考え得る組み合わせを以下にまとめる。欠陥パターンのクラスを対応するＦＣＩ、ＦＲＩ、およびＦＷＣの内容とともに表２に提示する。また、ＦＣＩ／ＦＲＩ／ＦＷＣの一部の組み合わせを生成可能な故障の例を以下に説明する。
【００７３】
表２．欠陥パターンのクラスと対応するＦＣＩ、ＦＷＣ、およびＦＲＩの内容
【００７４】
【表２−１】
2010539633.tif 000004
【００７５】
【表２−２】
2010539633.tif 000005
【００７６】
欠陥パターンのクラスが表２に記載された故障の第１の例においては、２つの対角セルに障害が発生している。これは、表２の欠陥パターンのクラスＮｏ．３に相当する。この場合、図１０に示すように、２つの状況が考えられる。図１０において、メモリアレイ中の斜線は、欠陥メモリセルを示す。第１の状況Ａにおいては、両欠陥セルが同じ縦方向のセグメント１００５ａに属している。したがって、ＦＣＩ８２８（図８参照）は、比較器８２２の１つの出力におけるエラーのみを示す（表２の３行目の第１箇所参照）。第２の状況Ｂにおいては、欠陥セルが２つの縦方向に隣接するセグメント１００５ａおよび１００５ｂに属している。この場合は、ＦＣＩ８２８の２つの隣接フリップフロップにより、比較器８２２の出力におけるエラーを示す（表２の３行目の第２箇所参照）。いずれの状況においても、２つのエラーは、比較器８２２の出力において異なるタイムスロットで現れるため、ＦＷＣ８２６の値は２である。３つの連続するタイムフレームでは比較器の任意の出力に「エラー」が現れないため、ＦＲＩ９４６はエラーを一切報告しない。
【００７７】
第２の例においては、単一列のすべてのセルに障害が発生している。これは、表２の欠陥パターンのクラスＮｏ．７に相当する。また、この状況の例を図１１に示す。この種の欠陥パターンの場合は、すべての障害が比較器８２２（図８参照）の同じ出力に伝搬するため、ＦＣＩ８２８の１つのフリップフロップのみがエラーを示す。厳密にはＲ個の欠陥メモリセルがあるため、ＦＷＣ８２６の値はＲである。また、前述の例と同様に、ＦＲＩ９４６には影響が及ばない。
【００７８】
欠陥パターンのクラスが表２に記載された故障の第３の例においては、図１２に示すように、１つの行および列のすべてのセルに障害が発生している。これは、表２の欠陥パターンのクラスＮｏ．１２に相当する。このような欠陥パターンの場合は、不完全なワード障害のみがＦＣＩに格納されるため、ＦＣＩ８２８（図８参照）は１つのエラービットのみを示す。一般的に、ＦＲＩ９４６の１つのビットには、Ｗ個の完全なエラーワードが影響を及ぼす。正しくないテスト応答ワードの数はＷ＋Ｒと表してもよいが、ＦＷＣによる計数の対象はＷ＋Ｒ−１個のみである。これは、１つの欠陥セルが欠陥行にも属しているためである。
〈診断方法〉
ここで、種々の実施形態に係る故障診断の実施方法について説明すると、異なる環境では複数の診断方法を適用して、欠陥メモリセルの位置を決定することができる。本開示においては、単独または組み合わせて使用することによりＭＢＩＳＴ環境において正確な故障診断を実施することができる４つの一般的な診断方法について説明する。当然のことながら、一部の実施形態においては、これらの診断方法をオンチップで実施してもよい。他の実施形態においては、これらの診断方法をテスト対象の集積回路装置外部の独立した診断ツールに適用してもよい。なお、本開示においては、これらの診断方法を「診断計画」とも称する。
【００７９】
通常、開示の診断方法の実施形態では、前述の通り、テストデータを高速に収集する。メモリ障害の種類に応じて（たとえば、ＦＣＩ８２８、ＦＲＩ９４６、およびＦＷＣ８２６（図８参照）の内容によって示される）、以下に説明する診断計画の１つを選択することにより、正確で時間効率の良い診断プロセスを実現することができる。なお、本開示のこれ以降は、以下の表記法を使用する。すなわち、フリップフロップを図示する場合は、１および０の論理値に対応して黒四角および白四角で表現する。また、前述の説明と同様に、メモリアレイ中の斜線は、欠陥メモリセルを示す。
【００８０】
第１の診断方法は、本明細書中では離散対数法（ＤＥＬＴＡ：discrete logarithm approach ）と称し、メモリアレイで通常発生する大半の障害の診断に使用することができる。一例として、図１３に示した障害について考える。図１３は、欠陥メモリセルに起因するエラーの符号レジスタ１３１０への導入を示す図である。ここで、欠陥基準セルｃ０により生成された符号は既知であって、符号レジスタ１３１０に最初に格納されるものと仮定する。欠陥セルｃｘの位置を基準セルから１つだけ遠ざける（すなわち、距離ｘを大きくする）ことは、符号レジスタ１３１０を１クロック周期だけシフトすることに相当する。ここで、この診断手順の主な目的は、基準セルと欠陥セルとの間の距離ｘを決定することである。あるいは、符号レジスタによるエラーの記録以降で、符号レジスタ１３１０に適用されたクロック周期の数を把握する必要がある。距離ｘは、クロック周期の数、テストアルゴリズム、およびアドレス方式に基づいて決定することができる。
【００８１】
説明中の診断方法であるＤＥＬＴＡは、離散対数に基づく方法を利用したものである。離散対数に基づく方法の詳細については、D. W. Clark, L.-J. Weng, “Maximal and near-maximal shift register sequences: efficient event counters and easy discrete logarithms,” IEEE Trans. on Computers, vol. 43, No. 5, May 1994, pp. 560-568に記載されている。この先行資料の全開示内容は、本明細書中に参考として援用する。離散対数に基づく方法は、以下のような問題を解くことができる。すなわち、内部ＸＯＲ  ＬＦＳＲ（Galois ＬＦＳＲ）およびその特定の状態を前提とし、ＬＦＳＲが最初は０…００１にセットされているものと仮定して、上記状態に達するのに必要なクロック周期の数を決定する。この方法では、中国人剰余定理を採用するとともに、生成後はルックアップテーブル（ＬＵＴ：Look-Up Table）に格納可能なＬＦＳＲ状態を適当な数だけ事前に計算する必要がある。事前に計算すべきＬＦＳＲ状態の数は、ｍ１＋ｍ２＋…＋ｍｋで与えられる。ここで、積ｍ１・ｍ２・…・ｍｋは、ＬＦＳＲの周期ｍを与える。この周期は、係数ｍｉの値が小さくなるように、注意深く選定する必要がある（各周期は異なる因数分解を有する）。事前の計算は、以下に紹介する高速ＬＦＳＲシミュレーションを用いることによって、効率的に行うことができる。たとえば、５５ビット比較器のすべての要求値を生成するのに、２．４ＧＨｚのＣＰＵでは約５秒を要する。
【００８２】
ＤＥＬＴＡは非常に時間効率が良く、通常は一定の時間で動作する。事前計算の段階は通常、診断ツールにおいて１回だけ実行される。事前計算の特定の実施形態は、以下の方式動作によってまとめることができる（これらは、単独または種々の結合および副結合で実施可能である）。
（１）ＬＦＳＲ周期ｍの素因数分解ｍ１・ｍ２・…・ｍｋを求める（離散対数法の事前計算段階を示した図１４のステップ１参照）。ここで、ｋはｍの素因数の数である。たとえば図１４において、ｍ＝２１、ｋ＝２とすると、ｍ１＝３、ｍ２＝７となる。
（２）１または複数の周期ｍｉ（たとえば、各ｍｉ）に対し、０…００１に初期化されたＬＦＳＲをシミュレーションすることによって、サイズｍｉのＬＵＴを生成する（なお、各ＬＵＴ入力に対してｍ／ｍｉの計算ステップが必要である（図１４の矢印参照））。図１４に示すＬＦＳＲ１４５２の連続的な状態を評価するのは容易である。たとえば、右端のフリップフロップの１ビットは、クロッキングにより遷移時の右端のフリップフロップの隣りに移動するため（その他のフリップフロップはすべて、図示のようにゼロを保持）、ＬＦＳＲは状態００００１から状態０００１０に遷移する。また、左端のフリップフロップの１ビットは、クロッキングにより遷移時の右端のフリップフロップおよび（ＸＯＲネットワーク，”＋”を介して）その隣りのフリップフロップの両者に移動するため、ＬＦＳＲは状態１００００から状態０００１１に遷移する。ただし、大型のＬＦＳＲの場合は、ＬＦＳＲのシミュレーションおよびＬＵＴの全入力の生成に許容範囲以上の時間を要することがある。このような場合には、代替として後述の高速ＬＦＳＲシミュレーションを使用することができる。ＬＵＴは、本方法の実施中に、たとえば次段落の第２項で論じる位置ｒｉ等、現在のＬＦＳＲ状態と初期状態との間の距離を計算する際に必要となる値の算出に用いることもできる。
（３）各ｍｉに対して、（ｍ／ｍｉ）・ｖｉ≡１ｍｏｄ（ｍｉ）を満たすように、対応する整数ｖｉを求める。ｍ＝２１、ｍ１＝３、ｍ２＝７の場合、ｖ１＝１、ｖ２＝５であることが確認できる。ｖｉは、次段落で示す通り、ＬＦＳＲ距離の計算にも必要である。
【００８３】
一実施形態においては、ＤＥＬＴＡを起動するたびに、所定の故障に対応するＬＦＳＲの所定の内容ｙに対して以下の方式動作が行われる。
（ａ）各係数ｍｉに対して、多項式として処理されたｙを（ｍ／ｍｉ）乗し、その結果をＬＦＳＲの特性多項式ｐ（ｘ）で除算することによって、剰余ｙｍ／ｍｉｍｏｄ（ｐ（ｘ））を得る。ＬＦＳＲの状態を０１０１０（ｙ＝ｘ３＋ｘ）、ｐ（ｘ）＝ｘ５＋ｘ＋１と仮定すると、対応する剰余は以下の通りである。
【００８４】
【数１】
2010539633.tif 000006
【００８５】
【数２】
2010539633.tif 000007
【００８６】
（ｂ）ステップ１で得られた各剰余に対して、ＬＵＴにより対応する位置ｒｉを求める（図１５参照）。この例では、ｍ１に対する第１の剰余１０１１０は、ＬＵＴのｇ１２である。また、ｍ２に対する第２の剰余１０１００は、ＬＵＴのｇ２４である。したがって、図１５に示すように、ｒ１＝２、ｒ２＝４となる。なお、図１５は、離散対数法におけるルックアップテーブルの探索を示す図である。
（ｃ）合計値Σｉ＝１ｋｒｉ・（ｍ／ｍｉ）・ｖｉｍｏｄ  ｍにより現在のＬＦＳＲ状態と初期状態０…００１との間の距離Ｌを求める。
【００８７】
【数３】
2010539633.tif 000008
【００８８】
実際、ＬＦＳＲ１４５２の初期状態を１１だけ遷移することによって０１０１０（すなわち、ＬＦＳＲリスト１４５３のｇ１１状態（図１４参照））を求められることが確認できる。
ＤＥＬＴＡを上記欠陥ワード計数器に適用するのは容易である。同様に、上記同じ節で紹介した符号レジスタにこの方法を適用したい場合は、各符号に対してＤＥＬＴＡを２回ずつ起動するのが望ましい。このプロセスを以下２つの例で説明する。
【００８９】
（例１）図１６に示すように、単一の欠陥セルｃｘが符号Ｓ（ｃｘ）１６５４を生成しているものと仮定する。図１６は、多入力リング発生器における符号レジスタの軌道を示す図である。種々の実施形態において、初期状態（０…０００１）と最終行（Ｒ−１）における右端の欠陥セルｃ０に対応する状態との間の基準距離Ｌｒｅｆ１６５５は、その符号Ｓ（ｃ０）１６５６によって決まる。この状態は、入力ｂ１（図１３参照）において、空のＭＩＲＧに対する単一導入の結果として得られる。次に、初期状態（０…０００１）とＭＩＲＧの実状態との間の距離Ｌｘ１６５７を決定する。欠陥セルｃｘの位置は、ｘ＝Ｌｘ−Ｌｒｅｆ１６５８である。
【００９０】
（例２）単一の列障害が符号Ｓ（ｃｘ）を生成する場合について考える。図１７は、単一列障害Ｃｘおよび基準列Ｃを示す図である。ここで、メモリアレイの所定の縦方向セグメントにおける右端の列Ｃ０は、基準の役割を担っている。ＭＩＲＧが線形回路であるため、基準列を表す符号Ｓ（Ｃ０）は、この列に属する欠陥セルによって生成されるか、またはＬＵＴに格納されたモジュロ２符号を加算することによって得られる。次に、上記例１で示した通り、ＬｒｅｆおよびＬｘの値を決定し、その後、欠陥列の実際の位置を決定することができる。
【００９１】
第２の診断方法は、本明細書中では「高速ＬＦＳＲシミュレーション」と称する。この方法において、０と１との任意の組み合わせで初期化されたＬＦＳＲの所定数のクロック周期後における状態は、時間効率良く決定することができる。この方法に関するその他の詳細については、J. Rajski, J. Tyszer, “Primitive polynomials over GF(2) of degree up to 660 with uniformly distributed coefficients, “Journal of Electronic Testing: Theory and Application (JETTA), vol. 19, Kluwer Academic Publishers, 2003, pp. 645-657に記載されている。この先行資料の全開示内容は、本明細書中に参考として援用する。前述の通り、高速ＬＦＳＲシミュレーション法は、ＤＥＬＴＡおよび本明細書に提示するその他の診断方法で必要となるＬＦＳＲの状態を取得する際に有用となり得る。
【００９２】
これらの方法の種々の実施形態では、図１８に示すように、ｎ×ｎのＬＵＴを用いて、特定数のクロック周期を適用した後のｎビットＬＦＳＲの状態を格納する。図１８は、多項式ｘ４＋ｘ３＋１を実装した内部ＸＯＲ  ＬＦＳＲのための高速ＬＦＳＲシミュレーションのデータ構造の一例を示す図である。図１８には、４ビットＬＦＳＲ１８５２の連続的な状態１８５３を示す。４×４のＬＵＴ１８５９において、単一のクロック周期適用後のＬＦＳＲの内容を決定するため、テーブルの第１行においてのみ実際のシミュレーションが必要である。テーブルの各列は、ＬＦＳＲの初期状態の１つに対応し、指定位置に「１」を１つずつ含んでいる。このような状態は、本明細書中では「一重項状態」と称する。テーブルの後続行は、重ね合わせの原理によってのみ得られる。図１８は、１、２、４、および８ステップ後のＬＦＳＲ状態を示している。たとえば、第２行・最終列の値は、先行（上側）符号が第１列および最終列に対応する２つの１から成るため、第１行からの第１列および最終列の入力の合計である。
【００９３】
図１８に示すテーブルを用いると、わずかｎステップで、任意数ｘの周期後のＬＦＳＲ状態を容易に決定することができる。各ステップには、ｎ回までのＬＵＴ照会を含むことができるため、このプロセスの計算複雑度はＯ（ｎ２）となる。まず、ｘを２の累乗和にて表現する。このような各要素に対して、ＬＦＳＲの現在の内容を単一の１に分解する。次に、重ね合わせの原理により、各単一の１に対して、ＬＵＴから所定数のクロック周期後のＬＦＳＲ状態を読み出すとともに、ビット単位でＸＯＲを演算して、ＬＦＳＲの最終状態を与える。この方法を以下の例により説明する。
【００９４】
（例）図１９の符号１９６０で示すように、内部ＸＯＲ  ＬＦＳＲに原始多項式ｘ４＋ｘ３＋１を実装するとともに１０１０に初期化する。図１９は、高速ＬＦＳＲシミュレーションの一例を示す図である。ここでは、ｘ＝１１クロック周期後のＬＦＳＲの状態を探索するものと仮定する。１１＝２０＋２１＋２３であるため、図１９に示すように３ステップでこの方法を実施することができる。たとえば、第３のステップでは、図１９の符号１９６１で示すＬＦＳＲ状態０１１０が符号１９６２および符号１９６３でそれぞれ示す２つの要素０１００および００１０に分解される。図１８のテーブルは、上記組み合わせに対応し、８周期後に得られるＬＦＳＲ状態として１０１０および０１０１の組み合わせを与える（符号１９６４および符号１９６５で示す）。これら２つの状態を合計すると、符号１９６６で示す所望のＬＦＳＲ状態１１１１が得られる。提示した高速ＬＦＳＲシミュレーション法は一般的に、リング発生器等の任意の線形有限状態機械に適用することができる。
【００９５】
上述の離散対数法は、基準符号の格納または生成が適した障害の診断が可能である。ただし、すべての基準符号を生成することが現実的ではない場合がある。たとえば、１つの障害が２つの列にまたがる場合（図２０）、基準符号群は２・Ｗ個の項を含むため、診断に必要なＣＰＵ時間は許容範囲以上となる。
より複雑な障害に対処するため、一次方程式群を使用することができる。たとえば、単一の行障害で生成された符号を考える。ＭＩＲＧが線形回路であることから、対応する符号は、この特定行の個々のメモリセルと関連する欠陥符号をビット単位で加算することによって容易に得ることができる。さらに、複数列／行の欠陥符号は、単一列／行障害に対応するモジュロ２符号を加算することによって計算可能である。このため、ＧＦ（２）上の一次方程式群を解くことによって、欠陥行または欠陥列を求めることができる。これらの方程式において、ブール変数は列または行のいずれかを表し、各方程式は単一の符号ビットに対応する。また、これらの方程式は、たとえばガウス・ジョーダン消去法を用いることによって簡素化することができる。欠陥列／行の数は既知であるため（たとえば、ＦＷＣの値による）、期待多重度の解を探索することができる。そのような解が求められない場合は、異なるピボット変数列に対してガウス消去法を繰り返してもよい。実験の結果、十分な診断解像度が得られるほどＭＩＲＧのサイズが大きければ、ほぼ１００％の確率で、期待多重度の第１解が正しいことが示された。
【００９６】
（例）図２０に示すように、２つの縦方向セグメントに配された２つの列にまたがる障害を再度考える。表２から（欠陥パターンのクラスＮｏ．８参照）、欠陥列指示器が欠陥列を有するメモリアレイの縦方向セグメントを示していることが分かる。したがって、２つのセグメントの列にのみ対応する変数が方程式に組み込まれる。また、１つの縦方向セグメントに属する連続した列の符号は、列ごとに簡単な１ステップＭＩＲＧシミュレーションを行うことによって、当該セグメントの右端の欠陥列に対応するルックアップテーブルに格納された符号から得ることができる。
【００９７】
図２１は、図２０の障害に対応する一次方程式群を行列方程式として示す図である。ここで、図２０のＣ０、Ｃ１、…、Ｃ７は、メモリアレイの各列に割り当てられたブール変数である。これら８つの変数は、図２１において、列ベクトル２１６７として配置されている。Ｓ（Ｃｉ）は、Ｃｉと関連する列の符号であって、当該列の障害に対応する。すなわち、各Ｓ（Ｃｉ）はＢビット符号である。図２１に示すように、８つのＢビット符号は、Ｂ×８行列２１６８として配置されている。Ｓ（実障害）は、観測された実際の欠陥符号であって、Ｂビット列ベクトル２１６９として示されている。そして、ＦＣＩおよびＦＷＣ（＝２Ｒ）が提供する情報を用いて、｛Ｃ０、…、Ｃ３｝のうちの１変数および｛Ｃ４、…、Ｃ７｝のうちの１変数が１にセットされた図２１の行列方程式の解を探索する。実際の解が求められる機会を増やすため、異なるピボット順序に対してガウス消去法を繰り返してもよい。
【００９８】
最後に、以下の現象のため、ＤＥＬＴＡ法も一次方程式法も採用できない場合がある。仮に、１つの障害が単一の欠陥列および単一の欠陥行から成るものとする。このすべての欠陥セルを図２２ａに示す。一次方程式法は重ね合わせの原理を用いるため、これを適用すると、単一行および単一列の符号が重なってしまう。ただし、これら２つの符号のモジュロ２加算によれば、図２２ｂに示す障害に対応する別の符号が実際に生成される。図示のように、これら２つの図には大きな違いがある。「交差（intersection）」セルは、実際のテストでは１回だけ検査されるが、重ね合わせの原理を用いる方法ではモジュロ２によって２回加算されるため、その寄与が相殺される。この相違により、解は通常求めることができないため、別の診断方法を使用することが望ましい。以下の段落では、そのような診断方法の一例を説明する。
【００９９】
欠陥行と欠陥列とが交差する場合は、符号シミュレーションを実施することができる。符号レジスタの「ソフトコピー（soft copies）」、すなわち診断ツール２８００（図２８参照）のメモリで作成されたコピーは、ある方法によって、欠陥行、列、および「交差」セルの符号を部分的に格納する。このようなソフトコピーは、本明細書中で「ソフト符号レジスタ（soft signature registers）」と称することもある。その後、部分的な符号は、相互にＸＯＲを演算して、それらの合計を実際の欠陥符号と比較する。これを以下の例により説明する。
【０１００】
（例）図２２ａに示すように、単一列／行障害を再度考える。実故障の符号は、３つのモジュロ２符号を加算することによって得られる。
Ｓ（実障害）＝Ｓ（行ｘ）＋Ｓ（列ｙ）＋Ｓ（セル（ｘ，ｙ））  （１）
欠陥行、列、およびセルに対応する基準符号は、ＬＵＴに格納されている。また、行、列、および交差セルのそれぞれと関連する符号を表すのに、３つのソフト符号レジスタＳｒ、Ｓｃ、およびＳｉを使用することができる。
【０１０１】
種々の実施形態によれば、符号シミュレーションのプロセスは、以下を含んでいてもよい。
（ａ）ＬＵＴに格納された行、列、およびセルの符号を読み出して、それぞれＳｒ、Ｓｃ、およびＳｉに割り当てる。
（ｂ）上式（１）が満たされる場合は解が得られる。
（ｃ）上式（１）が満たされない場合は、ＳｃおよびＳｉを１ステップだけシフトする（隣接セル障害の符号の取得に用いられるＭＩＲＧシミュレーションを示した図２３を参照）
（ｄ）Ｓｉのシミュレーションステップ数がＷに達した場合は、ＳｒをＷステップだけシフトし（次の欠陥行の符号を取得）、ＬＵＴからの列符号を再度割り当ててステップ２に戻る。
図２２ａに示す障害の場合のシミュレーションでは、Ｗ・Ｒ回までの比較と、最悪の場合には、およそ３（Ｗ・Ｒ）回までのリング発生器（ＲＧ）のシミュレーションステップとを実施する。
〈リング発生器のガロアＬＦＳＲ軌道へのマッピング〉
上述の通り、開示技術の一部の実施形態では、リング発生器を用いて計数器および符号レジスタを実現する。しかし、提示したＤＥＬＴＡ法では通常、多項式を分割可能なＬＦＳＲを使用する。さらに、そのような能力がある装置は、ガロア（内部ＸＯＲ）ＬＦＳＲのみである。ガロアＬＦＳＲの代わりにリング発生器を使用するため、リング発生器の軌道を内部ＸＯＲ ＬＦＳＲの軌道にマッピングすることができる。この手法は、各ＬＦＳＲの遷移関数を保持したリング発生器を使用する場合に可能である（たとえば、J.-F Li, C.-W. Wu, “Memory fault diagnosis by syndrome compression,” Proc. DATE, 2001, pp. 97-101参照）。したがって、ＬＦＳＲおよびリング発生器のいずれであっても、同じ最長系列またはｍ系列を生成することができる。そのような同等な装置の一例を図２４に示す。図２４において、ＬＦＳＲ２４５２とリング発生器２４１１とは、同じｍ系列を生成する点、および特性多項式ｐ（ｘ）＝ｘ２０＋ｘ１８＋ｘ１６＋ｘ１２＋ｘ７＋ｘ３＋１を有する点が同等である。
【０１０２】
図２５は、ＬＦＳＲの状態と同等なリング発生器の状態との間のマッピングを示す図である。状態マッピング関数を求めるため、開示技術の一実施形態においては、Ｍをリング発生器のビットサイズとして、対応するリング発生器（ＲＧ）２５１１およびＬＦＳＲ２５５２で発生する少なくともＭ個の連続値を決定して同等と見なす。また、両装置の記号シミュレーションをＭ回のクロック周期にわたって実施するとともに、図２５に示すように、ＬＦＳＲ２５５２およびＲＧ２５１１の出力値を特性多項式ｐ（ｘ）＝ｘ４＋ｘ３＋１に対して一致させる。一致させる出力値は、フレーム２５７０ａおよび２５７０ｂ内の値である。そして、Ｍ回の連続するクロック周期におけるＬＦＳＲおよびＲＧそれぞれのフリップフロップの値に対応する変数において、一次方程式群を作成する。
【０１０３】
【数４】
2010539633.tif 000009
【０１０４】
上式は、記号によるガウス消去法によって、以下のように簡素化することができる。
【０１０５】
【数５】
2010539633.tif 000010
【０１０６】
（例）リング発生器の状態がｗｘｙｚ＝１１１０になったものと仮定すると、上式（３）によって、ガロアＬＦＳＲの対応する状態（この場合は、ａｂｃｄ＝１００１）が得られる。この結果は、表３に示すように、ＬＦＳＲ２５５２およびＲＧ２５１１の網羅的シミュレーションという別の方法によって確認することができる。表から分かるように、ＲＧの状態ｗｘｙｚ＝１１１０は、ＬＦＳＲの状態ａｂｃｄ＝１００１に対応し、その逆もまた同様である。
【０１０７】
表３．ＬＦＳＲおよびＲＧのシミュレーション
【０１０８】
【表３】
2010539633.tif 000011
【０１０９】
〈欠陥パターンのルックアップテーブル〉
欠陥パターンのルックアップテーブルを設定するには、表２に示すクラスへの分類を用いることができる。この場合、ルックアップテーブルでは、ＦＷＣ、ＦＣＩ、およびＦＲＩの値を用いて、これら位置情報値に対応する欠陥パターンを決定する。このように、最も一般的な欠陥パターンの診断手順を迅速化するため、特定の代表的故障の符号をＬＵＴに格納することができる。欠陥パターンを一度決定した後は、基準として用いることができる。開示のＭＢＩＳＴ診断計画の実施形態で利用可能な事前計算符号の例を表４にまとめる。
【０１１０】
表４．欠陥パターンのルックアップテーブル
【０１１１】
【表４−１】
2010539633.tif 000012
【０１１２】
【表４−２】
2010539633.tif 000013
【０１１３】
〈欠陥パターンおよび対応する診断方法〉
上述の通り、メモリテスト障害による位置情報および圧縮された符号データの処理には、多様な診断計画を用いることができる。本節およびその下位項では、欠陥パターンの例と、ＦＷＣ、ＦＣＩ、およびＦＲＩ各レジスタの内容に基づくパターンへの対処方法とを提示する。以下に提示する例は、考え得る１つのフローを示す符号を含むが、その方式動作は、場合によっては異なる順序で行ったり同時に行ったりしてもよい。図２６は、これらの例で使用する、一実施形態に係る全体的なメモリ診断フローを示す図である。図２６については、表５に記載の各項Ａ〜Ｒを説明した後に詳述する。表５には、各特定ケースで起こる動作をまとめる。なお、本節では、変数ＰによりＭビットＭＩＲＧの周期を示すが、Ｐは通常２Ｍ−１に等しい。
【０１１４】
表５．欠陥パターン
【０１１５】
【表５−１】
2010539633.tif 000014
【０１１６】
【表５−２】
2010539633.tif 000015
【０１１７】
以下の各ケースについて、表５の欠陥パターンに対する診断方法を説明する。
ケースＡ：１セル
【０１１８】
【表６】
2010539633.tif 000016
【０１１９】
１．ＭＩＲＧの状態０…０１と現在の状態との間の距離Ｌｘを決定する。
２．ＬＵＴから単一セル障害の基準符号を取得する。
３．基準距離Ｌｒｅｆを決定する。
４．Ｌｘ−ＬｒｅｆをＬとし、Ｌ＜０の場合は、Ｌ＋ＰをＬとする。
５．Ｌ＜Ｗ・Ｒを有効にする。
６．欠陥セルの座標（ｘ，ｙ）をｘ＝Ｗ−１−（Ｌｍｏｄ  Ｗ）、ｙ＝Ｒ−１−Ｌ／Ｗとして返す（ｘは欠陥セグメント内の列数）。
【０１２０】
ケースＢ：２セル
【０１２１】
【表７】
2010539633.tif 000017
【０１２２】
１．ＭＩＲＧの状態０…０１と現在の状態との間の距離Ｌｘを決定する。
２．ＬＵＴから対応するメモリセグメントの単一セル障害の基準符号を取得して、ＸＯＲ演算により実際の基準符号を求める。
３．基準距離Ｌｒｅｆを決定する。
４．Ｌｘ−ＬｒｅｆをＬとし、Ｌ＜０の場合は、Ｌ＋ＰをＬとする。
５．Ｌ＜Ｗ・Ｒを有効にする。
６．欠陥セルの座標（ｘ，ｙ）をｘ＝Ｗ−１−（Ｌｍｏｄ  Ｗ）、ｙ＝Ｒ−１−Ｌ／Ｗとして返す（ｘは欠陥セグメント内の列数）。
【０１２３】
ケースＣ：隣接／対角／縦方向２セル
【０１２４】
【表８】
2010539633.tif 000018
【０１２５】
１．ＭＩＲＧの状態０…０１と実際の状態との間の距離Ｌｘを決定する。
２．ＬＵＴから２セル障害の基準符号を取得する。
ａ）隣接２セル（表４のパターン２参照）
ｂ）縦方向２セル（表４のパターン４参照）
ｃ）対角２セル（表４のパターン５参照）
ｄ）対角２セル（表４のパターン７参照）
３．対応する基準距離Ｌｒｅｆ＿ａ、Ｌｒｅｆ＿ｂ、Ｌｒｅｆ＿ｃ、およびＬｒｅｆ＿ｄを決定する。
４．Ｌｘ−Ｌｒｅｆ＿ａをＬａ、Ｌｘ−Ｌｒｅｆ＿ｂをＬｂ、Ｌｘ−Ｌｒｅｆ＿ｃをＬｃ、Ｌｘ−Ｌｒｅｆ＿ｄをＬｄとし、特定のＬａ／ｂ／ｃ／ｄ＜０の場合は、Ｌａ／ｂ／ｃ／ｄ＋ＰをＬａ／ｂ／ｃ／ｄとする。
５．ｍｉｎ｛Ｌａ，Ｌｂ，Ｌｃ，Ｌｄ｝をＬとする。
６．Ｌ＜Ｗ・Ｒを有効にする。有効でない場合は、ケースＥ（同一セグメント内の自由２セル）の通り進める。
７．ＬＵＴから対応する欠陥セルの座標を読み出し、行／列オフセットｓｒ＝Ｌ／Ｗおよびｓｃ＝（Ｌｍｏｄ  Ｗ）だけさらに減じた値を返す。
【０１２６】
ケースＤ：隣接／対角２セル（隣接２セグメント）
【０１２７】
【表９】
2010539633.tif 000019
【０１２８】
１．ＭＩＲＧの状態０…０１と実際の状態との間の距離Ｌｘを決定する。
２．ＬＵＴから２セル障害の基準符号を取得する。
ａ）隣接２セル（表４のパターン３参照）
ｂ）対角２セル（表４のパターン６参照）
ｃ）対角２セル（表４のパターン８参照）
３．対応する基準距離Ｌｒｅｆ＿ａ、Ｌｒｅｆ＿ｂ、およびＬｒｅｆ＿ｃを決定する。
４．Ｌｘ−Ｌｒｅｆ＿ａをＬａ、Ｌｘ−Ｌｒｅｆ＿ｂをＬｂ、Ｌｘ−Ｌｒｅｆ＿ｃをＬｃとし、特定のＬａ／ｂ／ｃ＜０の場合は、Ｌａ／ｂ／ｃ＋ＰをＬａ／ｂ／ｃとする。
５．ｍｉｎ｛Ｌａ，Ｌｂ，Ｌｃ｝をＬとする。
６．（Ｌｍｏｄ  Ｗ）＝０およびＬ＜（Ｒ−１）・Ｗを有効にする。
７．ＬＵＴから対応する欠陥セルの座標を読み出し、行オフセットｓｒ＝Ｌ／Ｗだけさらに減じた値を返す。
【０１２９】
ケースＥ：任意の２セル
【０１３０】
【表１０】
2010539633.tif 000020
【０１３１】
１．（ＬＵＴから）障害のある第１セグメントの単一セルの基準符号を取得する。
２．ＭＩＲＧの状態０…０１とステップ１の基準符号との間の基準距離Ｌｒｅｆを決定する。
３．（ＬＵＴから）第２欠陥セグメントの単一セルの基準符号を取得する。
４．実際の符号レジスタのソフトコピーＳ、すなわち診断ツールのメモリにおける符号レジスタのコピーを作成し、ステップ３で得られた符号でコピーＳを初期化する。
５．以下をＷ・Ｒ回繰り返す。
実際の欠陥符号と現在のＳの内容とのＸＯＲを演算する（欠陥セルの第２セグメントから実際の符号への寄与を中立化する）。
ＭＩＲＧの状態０…０１と上記ＸＯＲステップの符号との間の距離Ｌｘを決定する。
Ｌｘ−ＬｒｅｆをＬとし、Ｌ＜０の場合は、Ｌ＋ＰをＬとする。
Ｌ＜Ｗ・Ｒの場合は、２つの欠陥セルが求められる。ここで、Ｌは、ケースＡと同様に、欠陥セルの第１セグメントからの位置である。また、Ｓは、第２セグメントからの欠陥セルの符号を格納している。アルゴリズムを停止して、結果を返す。
Ｌ＜Ｗ・Ｒ以外の場合は、１クロック周期のＳをシミュレーションして、上記ＸＯＲステップに進む（ＭＩＲＧを１周期だけシミュレーションすると、図２３で示したように、隣接欠陥セルの符号が決定される）。
【０１３２】
ケースＦ：２×２セル
【０１３３】
【表１１】
2010539633.tif 000021
【０１３４】
１．ＭＩＲＧの状態０…０１と実際の状態との間の距離Ｌｘを決定する。
２．ＬＵＴから２×２セル障害の基準符号を取得する。
３．基準距離Ｌｒｅｆを決定する。
４．Ｌｘ−ＬｒｅｆをＬとし、Ｌ＜０の場合は、Ｌ＋ＰをＬとする。
５．Ｌ＜Ｗ・（Ｒ−１）−１を有効にする。
６．ＬＵＴから欠陥セルの座標を読み出し、行／列オフセットｓｒ＝Ｌ／Ｗおよびｓｃ＝（Ｌｍｏｄ  Ｗ）だけさらに減じた値を返す。
【０１３５】
ケースＧ：隣接２セグメントにまたがる２×２セル
【０１３６】
【表１２】
2010539633.tif 000022
【０１３７】
１．ＭＩＲＧの状態０…０１と実際の状態との間の距離Ｌｘを決定する。
２．ＬＵＴから２×２セル障害の基準符号を取得する（表４のパターン１０）。
３．基準距離Ｌｒｅｆを決定する。
４．Ｌｘ−ＬｒｅｆをＬとし、Ｌ＜０の場合は、Ｌ＋ＰをＬとする。
５．Ｌ＜Ｗ・（Ｒ−１）および（Ｌｍｏｄ  Ｗ）＝０を有効にする。
６．ＬＵＴから欠陥セルの座標を読み出し、行オフセットｓｒ＝Ｌ／Ｗだけさらに減じた値を返す。
【０１３８】
ケースＨ：１行
【０１３９】
【表１３】
2010539633.tif 000023
【０１４０】
１．ＭＩＲＧの状態０…０１と実際の状態との間の距離Ｌｘを決定する。
２．ＬＵＴから単一行障害の基準符号を取得する（表４のパターン１２）。
３．基準距離Ｌｒｅｆを決定する。
４．Ｌｘ−ＬｒｅｆをＬとし、Ｌ＜０の場合は、Ｌ＋ＰをＬとする。
５．Ｌ＜Ｗ・Ｒおよび（Ｌｍｏｄ  Ｗ）＝０を有効にする。
６．欠陥行の数をＲ−１−Ｌ／Ｗとして返す。
【０１４１】
ケースＩ：行の一部
【０１４２】
【表１４】
2010539633.tif 000024
【０１４３】
この場合、行中の欠陥セルの正確な数は未知のため、ＤＥＬＴＡを２回以上（最悪の場合Ｗ２回）使用する必要がある。各回、互いに接する欠陥セグメントの隣接欠陥セルの組み合わせを変えて、以下のルーチンにより検査する。
１．ＭＩＲＧの状態０…０１と実際の状態との間の距離Ｌｘを決定する。
２．ＬＵＴから得られる単一障害の符号を用いて欠陥セルの基準符号を生成する。
３．基準距離Ｌｒｅｆを決定する。
４．Ｌｘ−ＬｒｅｆをＬとし、Ｌ＜０の場合は、Ｌ＋ＰをＬとする。
５．Ｌ＜Ｗ・Ｒおよび（Ｌｍｏｄ  Ｗ）＝０を有効にする。
６．欠陥行の数をＲ−１−Ｌ／Ｗとして返す。実際の欠陥セル数は、ステップ２で作成された符号によって与えられる。
【０１４４】
ケースＪ：２行
【０１４５】
【表１５】
2010539633.tif 000025
【０１４６】
１．実際の符号レジスタのコピーＳを作成する。
２．ＬＵＴから得られる単一行の基準符号でＳを初期化する（表４のパターン１２）。
３．Ｍ＋１個の一次方程式群を作成する。各式は、符号レジスタの１つのフリップフロップの値を記述したものである（右辺）。各変数（左辺）は、欠陥セグメントの単一のメモリアレイ行に対応する。行符号は、Ｗ回のクロック周期をＳに適用することによって生成される（図２３参照）。追加の方程式としては、左辺が厳密にＷ個の１で、右辺が０である。解の多重度は先験的に偶数と知られているため、この方程式を用いて多重度が奇数の解を回避する。
４．ガウス消去法を実行する標準的な方法では、数値解法に関連するパラメータの標準値、たとえば最大反復回数を指定してもよい。本開示では、そのようなパラメータをｍａｘＳｏｌｖｅｒＲｕｎｓとする。このステップでは、以下をｍａｘＳｏｌｖｅｒＲｕｎｓ回繰り返す。
（ａ）一次方程式群のコピーを作成し、変数をランダムに入れ替える。
（ｂ）ガウス・ジョーダン消去法を用いて方程式を簡素化する。
（ｃ）解の多重度が２である場合は、欠陥メモリ行を示す非ゼロ変数を返してアルゴリズムを停止する。多重度が２以外の場合は、ステップ（ａ）に戻る。
【０１４７】
ケースＫ：２行
【０１４８】
【表１６】
2010539633.tif 000026
【０１４９】
２つのメモリセグメントにおける２つの欠陥行の探索は、以下を除いてケースＪと同様に進める。
１．２つのセグメントの行によって新たな方程式が構成されるため、変数の数は２Ｗである。
２．２つの方程式を追加すると、実際の解を求めるのに役立つ。これらにより、２つの行が常に２つのセグメントに属する解が生成される。これら予備的な方程式は、たとえば以下のように形成することができる。
【０１５０】
【数６】
2010539633.tif 000027
【０１５１】
ここで、ａ、ｂ、ｃ、およびｄは、第１セグメントの行に対応した変数であり、ｗ、ｘ、ｙ、およびｚは、第２セグメントの行に対応する。
ケースＬ：１行０１０１０１
【０１５２】
【表１７】
2010539633.tif 000028
【０１５３】
１．ＭＩＲＧの状態０…０１と実際の状態との間の距離Ｌｘを決定する。
２．ＬＵＴから単一行障害０１０１０１の基準符号を取得する（表４のパターン１３）。
３．基準距離Ｌｒｅｆを決定する。
４．Ｌｘ−ＬｒｅｆをＬとし、Ｌ＜０の場合は、Ｌ＋ＰをＬとする。
５．Ｌ＜Ｗ・Ｒおよび（Ｌｍｏｄ  Ｗ）∈｛０，１｝を有効にする。
６．欠陥行の数をＲ−１−Ｌ／Ｗとして返す。（Ｌｍｏｄ  Ｗ）＝０の場合は、欠陥行が正しいセル（０１０１０１…）から始まり、それ以外の場合は、行中の最初のセルが欠陥（１０１０１０…）である。
【０１５４】
ケースＭ：１列
【０１５５】
【表１８】
2010539633.tif 000029
【０１５６】
１．ＭＩＲＧの状態０…０１と実際の状態との間の距離Ｌｘを決定する。
２．ＬＵＴから単一列障害の基準符号を取得する（表４のパターン１１）。
３．基準距離Ｌｒｅｆを決定する。
４．Ｌｘ−ＬｒｅｆをＬとし、Ｌ＜０の場合は、Ｌ＋ＰをＬとする。
５．Ｌ＜Ｗを有効にする。
６．欠陥列の数をＷ−１−Ｌとして返す。
【０１５７】
ケースＮ：２列
【０１５８】
【表１９】
2010539633.tif 000030
【０１５９】
１．ＭＩＲＧの状態０…０１と実際の状態との間の距離Ｌｘを決定する。
２．ＬＵＴから欠陥セグメントに対応する単一列障害の符号を取得し（表４のパターン１１）、これらのＸＯＲを演算して基準符号を求める。
３．基準距離Ｌｒｅｆを決定する。
４．Ｌｘ−ＬｒｅｆをＬとし、Ｌ＜０の場合は、Ｌ＋ＰをＬとする。
５．Ｌ＜Ｗを有効にする。
６．欠陥列の数をＷ−１−Ｌとして返す（列数は欠陥セグメント数以内である）。
【０１６０】
ケースＯ：２列
【０１６１】
【表２０】
2010539633.tif 000031
【０１６２】
１．実際の符号レジスタのソフトコピーＳを作成する。
２．ＬＵＴから得られる欠陥セグメントに対応した単一列障害の基準符号でＳを初期化する（表４のパターン１１）。
３．Ｍ＋１個の一次方程式群を作成する。各式は、符号レジスタの１つのフリップフロップの値を記述したものである（右辺）。各変数（左辺）は、欠陥セグメントの単一のメモリアレイ列に対応する。列符号は、単一のクロック周期をＳに適用することによって生成される（図２３参照）。追加の方程式としては、左辺が厳密にＷ個の１で、右辺が０である。解の多重度は先験的に偶数と知られているため、この方程式を用いて多重度が奇数の解の生成を回避する。
４．以下をｍａｘＳｏｌｖｅｒＲｕｎｓ回繰り返す。
（ａ）一次方程式群の作業用コピーを作成し、変数をランダムに入れ替える。
（ｂ）ガウス・ジョーダン消去法を用いて方程式を簡素化する。
（ｃ）解の多重度が２である場合は、欠陥メモリ列を示す非ゼロ変数を返してアルゴリズムを停止する。多重度が２以外の場合は、ステップ（ａ）に戻る。
【０１６３】
ケースＰ：２列
【０１６４】
【表２１】
2010539633.tif 000032
【０１６５】
２つのメモリセグメントにおける２つの欠陥列の探索は、以下を除いてケースＮと同様に進める。
３．２つのセグメントの列によって新たな方程式が構成されるため、変数の数は２Ｗである。
４．２つの方程式を追加すると、実際の解を求めるのに役立つ。これらにより、２つの列が常に２つのセグメントに属する解が生成される。これら予備的な方程式は、たとえば以下のように形成することができる。
【０１６６】
【数７】
2010539633.tif 000033
【０１６７】
ここで、ａ、ｂ、ｃ、およびｄは、第１セグメントの列に対応した変数であり、ｗ、ｘ、ｙ、およびｚは、第２セグメントの列に対応する。
ケースＱ：列の一部
【０１６８】
【表２２】
2010539633.tif 000034
【０１６９】
１．ＭＩＲＧの状態０…０１と実際の状態との間の距離Ｌｘを決定する。
２．ＬＵＴからの単一セル障害の符号とそのＷ周期ごとの規則的なオフセットとのＸＯＲを演算して基準符号を生成する（図２３参照）。この動作は、ＦＷＣの内容が示す回数だけ繰り返すことになる。
３．基準距離Ｌｒｅｆを決定する。
４．Ｌｘ−ＬｒｅｆをＬとし、Ｌ＜０の場合は、Ｌ＋ＰをＬとする。
５．Ｌ＜＝Ｗ・（Ｒ−ＦＷＣ）を有効にする。
６．欠陥セルの座標を、行／列オフセットｓｒ＝Ｌ／Ｗおよびｓｃ＝（Ｌｍｏｄ  Ｗ）だけさらに減じた基準セルの座標として返す。
【０１７０】
ケースＲ：１（一部）／２列＋１（一部）／２行
【０１７１】
【表２３】
2010539633.tif 000035
【０１７２】
行または列に属する欠陥セルが交差していると仮定する場合は、図２２ａおよび図２２ｂに関連して上述した通り、シミュレーション法を用いることができる。そのような欠陥パターンを検査するたびに、行と列との考え得るすべての構成を交差セルの符号とのＸＯＲ演算によって確認するのが望ましい。その後、得られた合計値を実際の欠陥符号と比較する。
〈組み込みメモリ診断方法および診断ツール〉
ここで、故障診断の実施について説明すると、図２６は、表５に記載の例に関連して使用する、一実施形態に係る全体的なメモリ診断フロー２６００を示す図である。上述の通り、ステップ２６７１では、ＡＴＥがＭＢＩＳＴ制御装置に対してテストの実施を指示した後、集積回路装置に対して符号レジスタ２１０ならびに位置情報レジスタ２１１、２１３、および２１４の内容のダウンロードを合図する。ＡＴＥは、符号レジスタ２１０ならびに位置情報レジスタ２１１、２１３、および２１４の内容を診断ツールに提供する。診断ツールは、ＦＷＣの値を読み出す（ステップ２６７２）。表３および表６に記載の通り、ＦＷＣは、欠陥パターンの特定のクラスに対応する特定の値を有し得る。一連のステップ２６７３ａ、２６７３ｂ、２６７３ｃ、および２６７３ｄ、ならびに図２６に示していないその他のステップにおいて、ＦＷＣの値は、各候補値との一致が見つかるまで比較してもよい。図２６は、ステップ２６７３ａにてＦＷＣ＝１の一致が見つかった場合を示している。診断ツールは、ＦＣＩおよびＦＲＩの値を読み出し（ステップ２６７４）、ルックアップテーブルの値（表５参照）との一致が見つかるまで比較する（ステップ２６７５ａ、２６７５ｂ）。ルックアップテーブルとの比較結果に応じて、診断手順が起動される（ステップ２６７６ａ、２６７６ｂ、等）。診断手順の実施後、欠陥メモリセルの座標が返される（ステップ２６７７）。
【０１７３】
図２７は、一実施形態に係るメモリテスト障害を診断する方法２７００のフローチャートである。方法２７００の各ステップは、たとえば診断ツール（図２８参照）で実行してもよい。ＡＴＥが時間的に圧縮されたテスト応答符号および障害位置情報をテスト対象の集積回路装置から受信した後、診断ツールは、時間的に圧縮されたテスト応答符号をＡＴＥから受信する（ステップ２７７１）。上述の通り、種々の実施形態においては、ＡＴＥが圧縮された符号を集積回路装置の符号レジスタから受信する。その他の種々の実施形態においては、前述の通り、ＡＴＥが圧縮された符号を集積回路装置のシャドーレジスタから受信する。
【０１７４】
また、診断ツールは、集積回路装置の障害位置情報をＡＴＥから受信する（ステップ２７７２）。当然のことながら、種々の実施形態においては、ステップ２７７１とステップ２７７２とを同時に実行してもよい。その他の種々の実施形態においては、各ステップを特定の順序で実行してもよい。また、上述の通り、種々の実施形態において、ＡＴＥは、障害位置情報を集積回路装置の欠陥ワード計数器、欠陥列指示器、および欠陥行指示器から受信する。その他の種々の実施形態においては、前述の通り、ＡＴＥが障害位置情報を集積回路装置のシャドーレジスタから受信する。さらに、圧縮された符号および障害位置データは通常、ＡＴＥからの信号に応答してシャドーレジスタからＡＴＥに転送される。
【０１７５】
表５に関連して上述した通り、欠陥パターンを解析することによって、欠陥ワード計数器（ＦＷＣ）、欠陥列指示器（ＦＣＩ）、および欠陥行指示器（ＦＲＩ）に格納された値に応じて適用する診断手順を決定する際に使用するルックアップテーブルを作成することができる。たとえば、ＦＷＣ、ＦＣＩ、およびＦＲＩの値を用いて、ルックアップテーブルへのインデックスを生成することができる。インデックスの使用または別の方法のいずれを問わず、診断ツールは、障害位置データに基づいて上述の診断手順群から１つを選択する（ステップ２７７３）。
【０１７６】
次に、選択した診断手順を診断ツールで実行して、時間的に圧縮されたテスト応答符号から欠陥メモリセルの座標を生成する（ステップ２７７６）。一部のテスト応答符号は、２つ以上の欠陥メモリセルを示している場合がある。このような場合は、診断ツールで実行される診断手順（ステップ２７７６）によって、２つ以上の欠陥メモリセルの座標が生成される。
【０１７７】
診断ツールは、欠陥メモリセルの座標を決定後、それら座標を報告する（ステップ２７７７）。表１の故障辞書の例に関連して上述した通り、欠陥メモリセルの座標を用いて、メモリ障害情報を表示するための白黒またはカラーのビットマップを生成してもよい。欠陥メモリセルの座標の報告には、そのようなビットマップの表示または印刷を含み得るものと理解される。
【０１７８】
図２８は、一実施形態に係る診断ツール２８００を示す図である。診断ツール２８００には、たとえば図２７の方法を実装してもよい。図示のように、診断ツール２８００は、命令を実行可能な制御装置２８７８を具備する。命令は、たとえばメモリ２８７９に格納してもよい。また、メモリ２８７９は、たとえばテスト対象の集積回路装置の診断データを含むＡＴＥ装置からダウンロードされたデータ等を格納するように構成されていてもよい。
【０１７９】
種々の実施形態においては、ユーザインターフェース２８８０によって、たとえば表示装置２８８１にデータまたは結果を表示するか、あるいは、たとえばプリンタまたはプロッタ（不図示）によって結果やデータを出力してもよい。また、ユーザインターフェース２８８０は、たとえばキーボード、タッチスクリーン、マウス、またはその他のポインティングデバイス等の１または複数の入力装置２８８２を介してユーザ入力を受け取る。なお、結果またはデータを表示する任意の装置およびユーザ入力を受け取る任意の装置は、本開示の範囲内であるものと理解される。
【０１８０】
また、診断ツール２８００は、たとえばソフトウェアの命令またはハードウェアとして実装されるモジュール群２８８３を具備する。当然のことながら、一部のモジュールをソフトウェアで実装し、他のモジュールをハードウェアとして実装してもよい。
モジュール２８８３としては、上述の通り方法２７００のステップ２７７１（図２７参照）に従って、たとえば集積回路装置の符号レジスタまたは対応するシャドーレジスタから時間的に圧縮されたテスト応答符号を受信するように構成された符号受信モジュール２８７１を具備する。また、モジュール２８８３は、上述の通り方法２７００のステップ２７７２（図２７参照）に従って、たとえば集積回路装置のＦＷＣ、ＦＣＩ、およびＦＲＩの各構成要素または対応するシャドーレジスタから障害位置情報を受信するように構成された位置受信モジュール２８７２を具備する。
【０１８１】
さらに、診断ツールは、障害位置データに基づいて上述の通り診断手順群から１つを選択するように構成された診断選択モジュール２８７３を具備する。診断手順の選択は、たとえば上述のステップ２７７３に従って、診断選択モジュール２８７３により行ってもよい。モジュール２８８３としては、上述した方法２７００のステップ２７７６に従って、選択した診断手順を実行し、時間的に圧縮されたテスト応答符号から欠陥メモリセルの座標を生成するように構成された診断モジュール２８７６をさらに具備する。また、モジュール２８８３に含まれる報告モジュール２８７７は、たとえば上述のステップ２７７７に従って、決定された欠陥メモリセルの座標を報告するように構成されている。
〈結語〉
開示技術の原理を以上の通り説明してきたが、当業者にとっては、これら原理を逸脱することなく開示した実施形態の構成および細部を変更可能であることは明らかである。考え得る多くの実施形態を考慮すれば、説明した実施形態はほんの一例を示したに過ぎず、開示技術の範囲を制限するものと見なすべきではないことが分かる。それとは逆に、開示技術は、様々な開示装置、方法、システム、およびそれらの同等物を単独ならびに種々の結合および副結合で適用する場合のすべての新規かつ非自明な特徴および態様を含む。本発明を実施するのに現下好ましい形態を含む具体例に関して本発明を説明したが、当業者にとっては当然のことながら、添付した請求の範囲に示すように、上述したシステムおよび方法には、本発明の精神および範囲に含まれる多数の変形例および置換例が存在する。
【０１８２】
本願は、米国特許法第１１９条に基づき、Nilanjan Mukherje、Artur Pogiel、Janusz Rajski、及びJerzy Tyszerを発明者とする２００７年９月１８日付け米国仮特許出願第６０／９７３，４３２号「メモリＢＩＳＴ環境における故障診断」に対する優先権を主張する。この先行出願の全開示内容は、本明細書中に参考として援用する。
【図１】
2010539633.tif 000036
【図２】
2010539633.tif 000037
【図３】
2010539633.tif 000038
【図４】
2010539633.tif 000039
【図５】
2010539633.tif 000040
【図６】
2010539633.tif 000041
【図７】
2010539633.tif 000042
【図８Ａ】
2010539633.tif 000043
【図８Ｂ】
2010539633.tif 000044
【図９】
2010539633.tif 000045
【図１０】
2010539633.tif 000046
【図１１】
2010539633.tif 000047
【図１２】
2010539633.tif 000048
【図１３】
2010539633.tif 000049
【図１４】
2010539633.tif 000050
【図１５】
2010539633.tif 000051
【図１６】
2010539633.tif 000052
【図１７】
2010539633.tif 000053
【図１８】
2010539633.tif 000054
【図１９】
2010539633.tif 000055
【図２０】
2010539633.tif 000056
【図２１】
2010539633.tif 000057
【図２２Ａ】
2010539633.tif 000058
【図２２Ｂ】
2010539633.tif 000059
【図２３】
2010539633.tif 000060
【図２４】
2010539633.tif 000061
【図２５】
2010539633.tif 000062
【図２６】
2010539633.tif 000063
【図２７】
2010539633.tif 000064
【図２８】
2010539633.tif 000065
【手続補正書】
【提出日】平成22年8月18日(2010.8.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
メモリアレイをテストする回路であって、
メモリアレイからのテスト応答データを、所期のテスト応答データと比較することにより、テスト応答符号を生成するための比較器と、
前記テスト応答符号を集めて圧縮されたテスト応答符号を作る符号レジスタと、
前記テスト応答符号を集めてエラー位置情報を生成する収集する１又は複数の位置データ収集器と、を備えた回路。
【請求項２】
前記比較器は、論理ＸＯＲネットワークである、請求項１に記載の回路。
【請求項３】
前記符号レジスタが線形な有限状態機械である、請求項１に記載の回路。
【請求項４】
前記線形な有限状態機械が、多入力を備えたリング発生器であることを特徴とする、請求項３に記載の回路。
【請求項５】
前記１又は複数の位置データ収集器が、欠陥ワード計数器である、請求項１に記載の回路。
【請求項６】
前記欠陥ワード計数器はリング発生器を含む、請求項５に記載の集積回路装置。
【請求項７】
前記１又は複数の位置データ収集器の１つが、欠陥列指示器である、請求項１に記載の回路。
【請求項８】
前記欠陥列指示器は、もし列の欠陥が少なくとも３つの隣接する縦セグメントにわたる部分的な列欠陥であるとき、列欠陥を記録しないように構成される、請求項７に記載の回路。
【請求項９】
前記１又は複数の位置データ収集器の１つが欠陥行指示器である、請求項１に記載の回路。
【請求項１０】
前記欠陥行指示器は、もし前記比較器が３つの連続する時間フレームにわたり欠陥を出
力した場合、行欠陥を記録するように構成される、請求項９に記載の回路。
【請求項１１】
符号レジスタから圧縮されたテスト応答符号を受信し、外部の自動テスト装置（ＡＴＥ)に、前記圧縮されたテスト応答符号を、該自動テスト装置が受け入れるサンプリングレートで移す、請求項１に記載の回路。
【請求項１２】
メモリアレイからのテスト応答データを、所期のテスト応答データと比較することにより、テスト応答符号を生成し、
前記テスト応答符号を、１つ以上の位置データ収集器に集めてエラー位置情報を生成し、
前記テスト応答符号を、符号発生器に集めて圧縮されたテスト応答符号を生成する、メモリアレイのテスト方法。
【請求項１３】
前記圧縮されたテスト応答符号とエラー位置の情報とに基づいて、欠陥位置を決定する工程をさらに含む、請求項１２に記載の方法。
【請求項１４】
テスト実行の後、前記圧縮されたテスト応答符号を、シャドーレジスタにロードし、
前記圧縮されたテスト応答符号を、外部の自動テスト装置（ＡＴＥ)に、該自動テスト装置が受け入れるサンプリングレートで移す、請求項１２に記載の方法。
【請求項１５】
前記符号レジスタは、線形な有限状態機械である、請求項１２に記載の方法。
【請求項１６】
前記線形な有限状態機械が、多入力を備えたリング発生器である、請求項１５に記載の方法。
【請求項１７】
メモリアレイの障害を診断する方法であって、
符号レジスタで作られた圧縮されたテスト応答符号と、１又は複数の位置データ収集器で生成されたエラー位置情報とを受信し、
前記符号レジスタの初期状態と、前記圧縮されたテスト応答符号に関係する符号レジスタの第１の状態との第１の距離を決定し、
前記エラー位置情報に基づき基準符号を選択し、
前記符号レジスタの初期状態と、前記基準符号に関係する符号レジスタの第２の状態との第２の距離を決定し、
前記第１の距離と前記第２の距離とに基づいて、障害位置を決定する、方法。
【請求項１８】
メモリアレイの障害を診断する方法であって、
符号レジスタで作られた圧縮されたテスト応答符号と、１又は複数の位置データ収集器で生成されたエラー位置情報とを受信し、
前記エラー位置情報と圧縮されたテスト応答符号とに基づいて一次方程式群をコンパイルし、
前記一次方程式群を解くことによって障害位置を特定する、方法。
【請求項１９】
メモリアレイの障害を診断する方法であって、
符号レジスタで作られた圧縮されたテスト応答符号(St)と、１又は複数の位置データ収集器で生成されたエラー位置情報とを受信し、
前記エラー位置情報に基づいて、障害行と障害列とが交差するかどうかを決定し、
障害行と障害列とが交差する場合に次の(a)−(c)の処理を行う、方法。
(a)ルックアップテーブルから行、列及びセルの符号(Sr,Sc,Si)を読み出す、
(b)方程式St=Sr+Sc+Siを立てる、
(c)前記方程式を用いてシミュレートを行い、障害位置を特定する。
【国際調査報告】
2010539633.tif 000066
2010539633.tif 000067
2010539633.tif 000068
2010539633.tif 000069