【手続補正書】
【提出日】平成20年10月30日(2008.10.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
少なくとも１つのメモリを備える集積回路であって、前記メモリをテストすべく、前記メモリの少なくとも１つのメモリ・テスト・アルゴリズムのためのテスト・データを適用するために、前記メモリは、セルと、前記集積回路の製造後に命令をプログラムすることによってプログラム可能なメモリ・ビルト・イン・セルフ・テスト（ＭＢＩＳＴ）回路とを備え、前記少なくとも１つのメモリ・テスト・アルゴリズムは、前記ＭＢＩＳＴ回路をプログラムすることによって決定され、前記ＭＢＩＳＴ回路は、
プログラミング命令を受け取るように構成された命令メモリと、
プログラミング命令を受け取り、デコードするように構成された命令デコーダと、
前記デコードされたプログラミング命令に応答して、前記少なくとも１つのテスト・アルゴリズムを実行するためにテスト・データを適用されるべき、前記メモリのセルのアドレス指定を決定するアドレス・ジェネレータであって、前記デコードされたプログラミング命令に応答して、少なくとも１つの入れ子ループを有する少なくとも１つのメモリ・テスト・アルゴリズムが実行されるように前記メモリのセルをアドレス指定するアドレス・ジェネレータと、
前記デコードされたプログラミング命令に従って、前記メモリの、前記アドレス指定されたセルにテスト・データを適用し、前記適用されたテスト・データに対する、前記アドレス指定されたセルからの期待応答の出力を提供するように構成されたデータ・ジェネレータであって、前記メモリは、前記適用されたテスト・データに応答して、前記アドレス指定されたセルからテスト結果出力を生成する、データ・ジェネレータと、
前記適用されたテスト・データに対する、前記メモリの１つ又は複数のセルからの期待応答と、前記適用されたテスト・データに対する、そのような１つ又は複数のセルについての対応するテスト結果とを比較するよう動作可能な出力アナライザと、を備える、集積回路。
【請求項２】
請求項１に記載の集積回路であって、前記アルゴリズムは、複数のステップを含み、ステップ内に少なくとも２つの入れ子ループがあり、前記ステップ内で前記入れ子ループに対して実行されるメモリ操作は、前記メモリの動作可能動作速度で実行される、集積回路。
【請求項３】
請求項１に記載の集積回路であって、前記プログラミング命令は、アルゴリズム命令ワードと構成命令ワードとを含み、前記構成命令ワードは、前記メモリのセルのベース・アドレスを変更する方法に関する命令を含む、集積回路。
【請求項４】
請求項１に記載の集積回路であって、前記プログラミング命令は、アルゴリズム命令ワードと構成命令ワードとを含み、前記アルゴリズムは、複数のステップからなり、現在のアルゴリズム・ステップ内の全ての操作に対してアドレス指定スキームが同じままであることによって、前記デコーダは、前記現在のアルゴリズム・ステップの操作が実行されている間に、次のアルゴリズム・ステップのための前記アドレス・スキームを構成命令ワードから決定するよう動作可能である、集積回路。
【請求項５】
請求項１に記載の集積回路であって、前記メモリは、アレイに配列されたセルを備え、各セルは、前記アレイ内のセルの行及び列に対応するアドレスを有し、前記アドレス・ジェネレータは、ベース・アドレス・ジェネレータ部分を含み、前記ベース・アドレス・ジェネレータ部分は、セルのベース行アドレス及びベース列アドレスを並行して決定するよう動作可能であり、且つ、最終ベース・アドレスを示すよう動作可能であり、前記アドレス・ジェネレータは、更に、ローカル・アドレス・ジェネレータ部分を含み、前記ローカル・アドレス・ジェネレータ部分は、セルのローカル行アドレス及びローカル列アドレスを並行して決定するよう動作可能であり、且つ、最終ローカル・アドレスを示すよう動作可能である、集積回路。
【請求項６】
請求項５に記載の集積回路であって、前記ローカル・アドレス・ジェネレータ部分は、第１の行及び第１の列のアドレス以外の、前記メモリ内の選択された行及び選択された列にあるセルから開始するよう、選択的に動作可能である、集積回路。
【請求項７】
請求項５に記載の集積回路であって、前記ローカル・アドレス・ジェネレータ部分は、前記メモリの基準セル位置から開始するよう、選択的に動作可能である、集積回路。
【請求項８】
請求項１に記載の集積回路であって、前記デコーダは、アルゴリズム命令デコーダ部分と、少なくとも１つのアドレス構成バッファと、アドレス構成デコーダとに結合された少なくとも１つの命令バッファ受け取り部分を備える、集積回路。
【請求項９】
請求項１に記載の集積回路であって、前記プログラミング命令は、アルゴリズム命令ワードと構成命令ワードとを含み、１つ又は複数の構成命令ワードが、前記構成ワードのサブセットであるアドレス構成命令部分を含み、前記命令デコーダは、アルゴリズム命令ワード及びアドレス構成命令部分をバッファリング及びデコードするよう動作可能なステップ・コントローラ部分を含み、前記デコーダは、更に、前記構成ワードの、アドレス構成命令部分以外の部分をデコードするよう動作可能な構成ワード・デコーダ部分を含む、集積回路。
【請求項１０】
請求項９に記載の集積回路であって、前記ステップ・コントローラは、ＯＰレベル・バッファ部分と、命令バッファ部分と、初期設定インデックス・バッファ部分と、最終初期設定バッファ部分と、ジャンプ・アドレス・インデックス・バッファ部分と、最終ループ・バッファ部分とを含む、集積回路。
【請求項１１】
請求項１に記載の集積回路であって、前記アドレス・ジェネレータは、デコードされたプログラミング命令に応答して、少なくとも複数の入れ子ループを有する少なくとも１つのテスト・アルゴリズムを実行するテスト・データが前記メモリに適用されるように、セルのアドレスを指定する、集積回路。
【請求項１２】
請求項１に記載の集積回路であって、前記アドレス・ジェネレータは、デコードされたプログラミング命令に応答して、ギャロップ、ウォーキング  ０／１、及びアドレス・デコーダＰＭＯＳ開放故障の各テスト・アルゴリズムからなるグループのテスト・アルゴリズムのうちの１つ又は複数を実行するテスト・データが前記メモリに適用されるように、セルのアドレスを指定する、集積回路。
【請求項１３】
請求項１２に記載の集積回路であって、前記アドレス・ジェネレータは、デコードされたプログラミング命令に応答して、Ｍａｒｃｈ１、Ｍａｒｃｈ２、Ｍａｒｃｈ３、列Ｍａｒｃｈ、一意、チェッカーボード、斜めスライド、バタフライ、ポート相互作用、ポート隔離、書き込みイネーブル故障検出、メモリ制御信号テスト、ＲＯＭ１、及びＲＯＭ２の各アルゴリズムからなるグループの追加テスト・アルゴリズムのうちの任意の１つ又は複数を実行するテスト・データが前記メモリに適用されるように、セルのアドレスを指定する、集積回路。
【請求項１４】
請求項１に記載の集積回路であって、前記アドレス・ジェネレータは、入れ子ループのアルゴリズム・ステップに関連付けられた操作の間にデータが適用されるべき、各セルの実アドレスを生成するよう動作可能な、イントラ反復アドレス・ジェネレータと、前記入れ子ループに関連付けられた操作の実行の後に到達されるべきループに対応する、次のループ・アドレス値を生成するよう動作可能な、インター反復アドレス・ジェネレータとを備える、集積回路。
【請求項１５】
請求項１４に記載の集積回路であって、前記メモリは、各セルが行アドレス及び列アドレスを有するセルのアレイを備え、前記イントラ反復アドレス・ジェネレータは、各セルの行アドレスと、各セルの列アドレスとを、並行して決定し、前記インター反復アドレス・ジェネレータは、前記次のループ・アドレス値の行アドレスと、前記次のループ・アドレス値の列アドレスとを、並行して決定する、集積回路。
【請求項１６】
アルゴリズム命令及び構成命令により記述される１つ又は複数のステップを含むテスト・アルゴリズムを使用して、集積回路に含まれる少なくとも１つのメモリをテストする方法であって、
前記集積回路のメモリ・テスト部分の命令メモリに配信される構成命令及びアルゴリズム命令を受け取るステップと、
前記受け取った構成命令を評価するステップと、
テスト・ステップの１つについてすべてのアルゴリズム命令が受け取られたことを判定するステップと、
前記テスト・ステップの前記１つについてすべてのアルゴリズム命令が受け取られたことの判定に続いて、前記テスト・ステップの前記１つについて前記アルゴリズム命令を評価するステップであって、前記アルゴリズム命令を評価するステップは、前記少なくとも１つのテスト・アルゴリズムに従って、前記メモリ内の少なくとも選択されたセルをテストするために、テスト・データを適用されるべき前記セルをアドレス指定するステップを含み、前記選択されたセルをアドレス指定する操作は、前記１つ又は複数のテスト・ステップ内の、少なくとも特定のメモリ・アクセス操作の間に、前記メモリの動作可能動作速度でセルがアドレス指定されるように達成される、アルゴリズム命令を評価するステップと、
前記アドレス指定されたセルにテスト・データを適用するステップと、
テスト・データが適用された、前記少なくとも選択されたセルから読み出された出力結果を解析して、前記テスト結果が、前記適用されたテスト・データに対する応答としての、前記選択されたセルからの期待テスト結果と一致するかどうかを判定するステップと、を含む方法。
【請求項１７】
請求項１６に記載の方法であって、前記アドレス指定する操作は、前記テスト・アルゴリズムのうちの１つの、少なくとも１つの外側ループの中に入れ子にされた、前記テスト・アルゴリズムのうちの１つの、少なくとも１つの内側ループのセルをアドレス指定するステップを含み、前記アドレス指定する操作は、入れ子ループ・アルゴリズムを含む少なくとも１つのテスト・アルゴリズムが実装されるように、前記内側ループのセルと前記外側ループのセルとの間の遷移をアドレス指定するステップを含む、方法。
【請求項１８】
請求項１７に記載の方法であって、前記アドレス指定する操作は、複数の入れ子ループのセルをアドレス指定するステップを含み、前記アドレス指定する操作は、複数の入れ子ループを含む少なくとも１つのテスト・アルゴリズムが実装されるように、異なるループのセル間の遷移をアドレス指定するステップを含む、方法。
【請求項１９】
請求項１８に記載の方法であって、前記アドレス指定する操作は、少なくともループ内のメモリ・アクセス操作の間に、前記メモリの前記動作可能動作速度でセルをアドレス指定するステップを含む、方法。
【請求項２０】
請求項１９に記載の方法であって、動作可能動作速度テストによって明らかになった、選択されたエラーに関して、診断データを記録する操作を含む、方法。
【請求項２１】
請求項１６に記載の方法であって、複数のテスト・アルゴリズムを実装するために、構成命令及びアルゴリズム命令を前記集積回路に配信する操作を含む、方法。
【請求項２２】
請求項１６に記載の方法であって、前記デコード操作は、アルゴリズム命令をデコードするステップと、構成命令をデコードするステップを、並行して行うことを含む、方法。
【請求項２３】
請求項２２に記載の方法であって、少なくとも１つの第２のバッファが第２のテスト・ステップのメモリ操作を記述する第２のセットのアルゴリズムを受け取っている間に、少なくとも１つの第１のバッファに格納された、第１のセットのアルゴリズム命令により記述される第１のテスト・ステップのメモリ操作を実行し、前記第１のバッファが第３のテスト・ステップのメモリ操作を記述する第３のセットのアルゴリズム命令を受け取っている間に、前記第２のバッファに格納された前記第２のテスト・ステップの操作を実行する操作を含み、前記第２のテスト・ステップは前記第１のテスト・ステップに続き、前記第３のテスト・ステップは前記第２のテスト・ステップに続く、方法。
【請求項２４】
請求項２３に記載の方法であって、前記少なくとも１つの第１のバッファは、テスト・ステップに従って全てのベース・アドレスに対して実行される操作のシーケンスを格納する、少なくとも１つの第１のベース・ループ・バッファを備え、前記少なくとも１つの第２のバッファは、テスト・アルゴリズム・ステップに従って全てのベース・アドレスに対して実行される操作のシーケンスを格納する、少なくとも１つの第２のベース・ループ・バッファを備え、前記少なくとも１つの第１のバッファは、更に、前記第１のベース・ループ・バッファの操作に関連付けられたベース・アドレスと異なるローカル・アドレスに対して実行される操作のシーケンスを格納する第１のローカル・ループ・バッファを備え、前記少なくとも１つの第２のバッファは、更に、前記第２のベース・ループ・バッファの操作に関連付けられたベース・アドレスと異なるローカル・アドレスに対して実行される操作のシーケンスを格納する第２のローカル・ループ・バッファを備える、方法。
【請求項２５】
請求項２４に記載の方法であって、前記ローカル・アドレスは、前記ベース・アドレスに関連付けられた操作に関する、前記ベース・アドレス以外の、前記メモリ・セルの全てのアドレスを含む、方法。
【請求項２６】
請求項２４に記載の方法であって、前記ローカル・アドレスは、前記ベース・アドレスに関連付けられた操作に関する、前記ベース・アドレス以外の、前記メモリ・セルのアドレスの、全てより少ないサブセットを含む、方法。
【請求項２７】
請求項２４に記載の方法であって、前記ベース・ループ・バッファ内の現在のベース・アドレスに関連付けられたローカル・アドレス・バッファに格納された操作のシーケンスが実行された後に、前記現在のベース・アドレスから、前記ベース・ループ・バッファ内の次のベース・アドレスに達する操作を含む、方法。
【請求項２８】
集積回路に含まれる少なくとも１つのメモリをテストする方法であって、
前記集積回路のメモリ・テスト部分の命令メモリに配信される構成命令及びアルゴリズム命令をデコードするステップと、
前記メモリに適用されるべきテスト・ステップを含む少なくとも１つのテスト・アルゴリズムを、前記デコードされた命令から決定するステップと、
前記少なくとも１つのテスト・アルゴリズムに従って、前記メモリ内の少なくとも選択されたセルをテストするために、テスト・データを適用されるべき前記セルをアドレス指定するステップであって、前記選択されたセルをアドレス指定する操作は、テスト・ステップ内の、少なくとも特定のメモリ・アクセス操作の間に、前記メモリの動作可能動作速度でセルがアドレス指定されるように達成される、アドレス指定するステップと、
前記アドレス指定されたセルにテスト・データを適用するステップと、
テスト・データが適用された、前記少なくとも選択されたセルから読み出された出力結果を解析して、前記テスト結果が、前記適用されたテスト・データに対する応答としての、前記選択されたセルからの期待テスト結果と一致するかどうかを判定するステップと、
少なくとも１つの第２のバッファが第２のテスト・ステップのメモリ操作を受け取っている間に、少なくとも１つの第１のバッファに格納された第１のテスト・ステップのメモリ操作を実行し、前記第１のバッファが第３のテスト・ステップのメモリ操作を受け取っている間に、前記第２のバッファに格納された前記第２のテスト・ステップの操作を実行するステップとを含み、
前記第２のテスト・ステップは前記第１のテスト・ステップに続き、前記第３のテスト・ステップは前記第２のテスト・ステップに続き、前記デコードする操作は、アルゴリズム命令を構成命令のデコードと並行してデコードするステップを含み、前記少なくとも１つの第１のバッファは、テスト・ステップに従って全てのベース・アドレスに対して実行される操作のシーケンスを格納する、少なくとも１つの第１のベース・ループ・バッファを備え、前記少なくとも１つの第２のバッファは、テスト・アルゴリズム・ステップに従って全てのベース・アドレスに対して実行される操作のシーケンスを格納する、少なくとも１つの第２のベース・ループ・バッファを備え、前記少なくとも１つの第１のバッファは、更に、前記第１のベース・ループ・バッファの操作に関連付けられたベース・アドレスと異なるローカル・アドレスに対して実行される操作のシーケンスを格納する第１のローカル・ループ・バッファを備え、前記少なくとも１つの第２のバッファは、更に、前記第２のベース・ループ・バッファの操作に関連付けられたベース・アドレスと異なるローカル・アドレスに対して実行される操作のシーケンスを格納する第２のローカル・ループ・バッファを備え、
前記メモリ内の少なくとも選択されたセルをアドレス指定する操作は、前記選択されたセルのそれぞれについて、行アドレス及び列アドレスを、並行して決定するステップを含む、方法。
【請求項２９】
請求項２４に記載の方法であって、前記アドレス指定する操作は、選択されたセルのグループの第１のセルから、前記選択されたセルのグループの最後のセルまでのアドレスを指定するステップを含む、方法。
【請求項３０】
請求項２４に記載の方法であって、前記アドレス指定する操作は、基準セルから始まる、前記メモリの全てのセルをアドレス指定するステップを含む、方法。
【請求項３１】
請求項３０に記載の方法であって、前記基準セルは、前記メモリのセルのアレイの第１の行アドレス及び第１の列アドレスにある、方法。