IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドの特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-12-19
(54)【発明の名称】修復可能ラッチアレイ
(51)【国際特許分類】
   G11C 29/44 20060101AFI20241212BHJP
   G11C 29/00 20060101ALI20241212BHJP
   G11C 5/02 20060101ALI20241212BHJP
   G11C 8/04 20060101ALI20241212BHJP
   G01R 31/3187 20060101ALI20241212BHJP
   G01R 31/307 20060101ALI20241212BHJP
【FI】
G11C29/44 100
G11C29/00 412
G11C5/02 100
G11C8/04
G01R31/3187
G01R31/307
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024537582
(86)(22)【出願日】2022-12-20
(85)【翻訳文提出日】2024-08-01
(86)【国際出願番号】 US2022053554
(87)【国際公開番号】W WO2023122116
(87)【国際公開日】2023-06-29
(31)【優先権主張番号】17/561,115
(32)【優先日】2021-12-23
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】591016172
【氏名又は名称】アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド
【氏名又は名称原語表記】ADVANCED MICRO DEVICES INCORPORATED
(74)【代理人】
【識別番号】100108833
【弁理士】
【氏名又は名称】早川 裕司
(74)【代理人】
【識別番号】100111615
【弁理士】
【氏名又は名称】佐野 良太
(74)【代理人】
【識別番号】100162156
【弁理士】
【氏名又は名称】村雨 圭介
(72)【発明者】
【氏名】ジョエル ソーントン アービー
(72)【発明者】
【氏名】グラディ エル. ジャイルズ
【テーマコード(参考)】
2G132
5L206
【Fターム(参考)】
2G132AA01
2G132AB01
2G132AC10
2G132AK29
2G132AL12
2G132AL31
5L206AA30
5L206CC32
5L206DD08
5L206DD22
5L206HH04
5L206HH09
(57)【要約】
集積回路は、行及び列に論理的に構成された複数のラッチと、複数のラッチに動作可能に結合された複数の修復ラッチと、複数のラッチに結合されたラッチアレイ組み込み自己診断及び修復ロジック(LABISTRL)と、を含むラッチアレイを含む。いくつかの実装では、LABISTRLは、アレイ内のラッチを1つ以上の列シリアル診断シフトレジスタとして構成し、適用された診断データに基づいて複数のラッチのうち1つ以上の欠陥ラッチを検出し、少なくとも1つの欠陥ラッチの検出に応じて、少なくとも1つの修復ラッチを選択する。
【選択図】図3
【特許請求の範囲】
【請求項1】
集積回路であって、
ラッチアレイを備え、
前記ラッチアレイは、
行及び列に論理的に構成された複数のラッチと、
前記複数のラッチに動作可能に結合された複数の修復ラッチと、
前記複数のラッチに動作可能に結合されたラッチアレイ組み込み自己診断及び修復ロジックと、を備え、
前記ラッチアレイ組み込み自己診断及び修復ロジックは、
列内にある複数のラッチを少なくとも1つのシリアル診断シフトレジスタとして構成することと、
適用された診断データに基づいて前記複数のラッチのうち少なくとも1つの欠陥ラッチを検出することと、
前記少なくとも1つの欠陥ラッチの検出に応じて、少なくとも1つの修復ラッチを選択することと、
を行うように動作する、
集積回路。
【請求項2】
前記ラッチアレイ自己診断ロジックは、オンチップ診断データを前記シリアル診断シフトレジスタにロードするために、診断モード中に前記ラッチアレイ内の各行を順次選択するように動作する診断スキャンポインタを備える、
請求項1の集積回路。
【請求項3】
前記ラッチ修復ロジックは、修復ラッチの行を選択し、前記欠陥ラッチを含むラッチの行を選択しないことによって、1つ以上の欠陥ラッチを修復するように動作する、
請求項1の集積回路。
【請求項4】
前記ラッチ修復ロジックは、修復ラッチの列を選択し、前記欠陥ラッチを含むラッチの列を選択しないことによって、1つ以上の欠陥ラッチを修復するように動作する、
請求項1の集積回路。
【請求項5】
前記選択された修復ラッチを使用して前記ラッチアレイを自動的に再診断するように動作する制御ロジックを備える、
請求項1の集積回路。
【請求項6】
修復ラッチが修復のために利用可能である場合に、1つ以上の欠陥ラッチアレイのインフィールドラッチアレイ診断及び修復を実行するように動作する制御ロジックを備える、
請求項1の集積回路。
【請求項7】
前記ラッチアレイ自己診断ロジックは、オンチップ診断データを、構成されたシリアル診断シフトレジスタに行単位でロードするように動作する、
請求項2の集積回路。
【請求項8】
集積回路であって、
処理回路と、
前記処理回路に動作可能に結合されたラッチアレイと、を備え、
前記ラッチアレイは、
行及び列に論理的に構成された複数のラッチと、
前記複数のラッチに動作可能に結合された複数の修復ラッチと、
前記複数のラッチに動作可能に結合されたラッチアレイ組み込み自己診断及び修復ロジックと、を備え、
前記ラッチアレイ組み込み自己診断及び修復ロジックは、
前記ラッチアレイの複数の列の各々をシリアル診断シフトレジスタとして構成することと、
適用された診断データに基づいて前記複数のラッチのうち1つ以上の欠陥ラッチを検出することと、
前記少なくとも1つの欠陥ラッチの検出に応じて、前記複数の修復ラッチのうち少なくとも1つの修復ラッチを選択することと、
を行うように動作する、
集積回路。
【請求項9】
前記ラッチアレイ組み込み自己診断ロジックは、オンチップ診断データを前記シリアル診断シフトレジスタにロードするために、診断モード中に前記ラッチアレイ内の各行を順次選択するように動作する診断スキャンポインタを備える、
請求項8の集積回路。
【請求項10】
前記ラッチアレイ組み込み自己診断及び修復ロジックは、
前記複数の修復ラッチに動作可能に結合されたてラッチアレイ修復ロジックであって、前記複数の修復ラッチのうち何れかの修復ラッチを選択し、欠陥があると判定された前記ラッチアレイ内のラッチを選択しないように動作するラッチアレイ修復ロジックと、
前記ラッチ修復ロジックに動作可能に結合されたコントローラであって、前記ラッチアレイ修復ロジックを制御するように動作し、ラッチアレイの前記ラッチ列の各々をシリアルシフトレジスタとして構成するように動作し、前記複数の修復ラッチの選択後に前記ラッチアレイのラッチの再診断を制御するように動作するコントローラと、を備える、
請求項8の集積回路。
【請求項11】
前記ラッチアレイ修復ロジックは、欠陥ラッチを含むラッチの行を選択せず、前記欠陥ラッチの前記行の代わりに修復ラッチの行を選択するように構成された1つ以上のラッチ修復制御レジスタを備える、
請求項10の集積回路。
【請求項12】
前記ラッチアレイ修復ロジックは、少なくとも1つの欠陥ラッチを含む欠陥行をバイパスするように構成された少なくとも1つのバイパスマルチプレクサを備える、
請求項11の集積回路。
【請求項13】
前記ラッチアレイ修復ロジックは、少なくとも1つの欠陥ラッチを含む欠陥列をバイパスするように構成された少なくとも1つのバイパスマルチプレクサを備える、
請求項11の集積回路。
【請求項14】
前記ラッチアレイ修復ロジックは、修復ラッチの列を選択し、検出された欠陥ラッチを含むラッチの列を選択しないことによって、1つ以上の検出された欠陥ラッチを修復するように動作する、
請求項8の集積回路。
【請求項15】
前記制御ロジックは、修復ラッチが修復のために利用可能である場合に、1つ以上の欠陥ラッチアレイのインフィールドラッチアレイ診断及び修復を実行するように動作する、
請求項8の集積回路。
【請求項16】
行及び列に論理的に構成された複数のラッチを有するラッチアレイを動作させる方法であって、
列内にある複数のラッチを少なくとも1つのシリアル診断シフトレジスタとして構成することと、
適用された診断データに基づいて前記複数のラッチのうち少なくとも1つの欠陥ラッチを検出することと、
少なくとも1つの欠陥ラッチの検出に応じて、少なくとも1つの修復ラッチを選択することと、
前記少なくとも1つの欠陥ラッチを選択しないことと、を含む、
方法。
【請求項17】
オンチップ診断データを前記少なくとも1つのシリアル診断シフトレジスタにロードするために、診断モード中に前記ラッチアレイ内の各行を順次選択する診断スキャンポインタを使用することを含む、
請求項16の方法。
【請求項18】
修復ラッチの行を選択し、前記欠陥ラッチを含むラッチの行を選択しないことによって、1つ以上の欠陥ラッチを修復することを含む、
請求項16の方法。
【請求項19】
修復ラッチの列を選択し、前記欠陥ラッチを含むラッチの列を選択しないことによって、1つ以上の検出された欠陥ラッチを修復することを含む、
請求項16の方法。
【請求項20】
修復ラッチが修復のために利用可能である場合に、1つ以上の欠陥ラッチアレイのインフィールドラッチアレイ診断及び修復を実行することを含む、
請求項16の方法。
【発明の詳細な説明】
【背景技術】
【0001】
ラッチアレイは、処理コア、ルックアップテーブル、又は、他の目的のためのデータ、命令、状態データを記憶するために処理コア及び他のユニットによって使用されるラッチの行及び列を有する、集積回路チップ内の小型の埋め込みメモリである。チップ上には何万ものラッチアレイが存在し得る。製造時に各ラッチアレイを診断するために、いくつかのチップ上で、アレイスキャン(array scan、RASCAN)回路が、診断モード中にラッチアレイ内のラッチをシリアルシフトレジスタになるように構成する。しかしながら、ラッチにおいて検出された欠陥は修復可能ではなく、欠陥が検出されるとチップは廃棄される。その結果、ラッチアレイのサイズが大きくなるにつれてチップの歩留まりが低下する。また、ラッチアレイは修復不可能ではないので、ラッチアレイのサイズに制限がある。
【0002】
また、ラッチアレイは、メモリ組み込み自己診断(memory built in self-test、MBIST)により診断可能、又は、自動診断プログラム生成(Automatic Test Program Generation、ATPG)により診断可能であるように構成されてきた。しかしながら、MBISTにより診断可能な解決策の場合、オンチップで生成される(アレイの幅における)診断データは、ロジックアレイの各列についてコントローラからアレイにルーティングされる必要がある。これにより、MBISTロジックによる通常動作中に数少ないルーティングトラックが利用され、静的電力使用量を増加させる。自動診断プログラム生成(Automatic Test Program Generation、ATPG)構成の場合、診断パターン及び診断制御は、外部の診断システムを使用してオフチップで行われる。ラッチアレイは診断されるが、修復可能ではない。
【0003】
実施形態は、同様の符号が同様の要素を表す以下の図を伴う場合に、以下の説明を考慮してより容易に理解されるであろう。
【図面の簡単な説明】
【0004】
図1】ラッチアレイの先行技術のアレイスキャン構成の一例を示す図である。
図1-1】ラッチアレイの先行技術のアレイスキャン構成の一例を示す図である。
図2】本開示に記載される一例による、組み込み自己診断及び修復ロジックを有するラッチアレイを示すブロック図である。
図3】本開示に記載される一例による、ラッチアレイを制御するための方法の一例を示すフローチャートである。
図4A】本開示に記載される一例による、行修復を行う組み込み自己診断及び修復ロジックを有するラッチアレイの一例を示す図である。
図4B】本開示に記載される一例による、行修復を行う組み込み自己診断及び修復ロジックを有するラッチアレイの一例を示す図である。
図5】本開示に記載される一例による、行修復を行う組み込み自己診断及び修復ロジックを有するラッチアレイの一例を示す図である。
図5-1】本開示に記載される一例による、行修復を行う組み込み自己診断及び修復ロジックを有するラッチアレイの一例を示す図である。
図5-2】本開示に記載される一例による、行修復を行う組み込み自己診断及び修復ロジックを有するラッチアレイの一例を示す図である。
図6図4及び図5を参照して本開示に記載される一例による、ラッチ修復を行うための方法を示すフローチャートである。
図6-1】図4及び図5を参照して本開示に記載される一例による、ラッチ修復を行うための方法を示すフローチャートである。
図7A】本開示に記載される一例による、行修復を行う組み込み自己診断及び修復ロジックを有するラッチアレイの一例を示す図である。
図7B】本開示に記載される一例による、行修復を行う組み込み自己診断及び修復ロジックを有するラッチアレイの一例を示す図である。
図8】本開示に記載される一例による、行修復を行う組み込み自己診断及び修復ロジックを有するラッチアレイの一例を示す図である。
図8-1】本開示に記載される一例による、行修復を行う組み込み自己診断及び修復ロジックを有するラッチアレイの一例を示す図である。
図8-2】本開示に記載される一例による、行修復を行う組み込み自己診断及び修復ロジックを有するラッチアレイの一例を示す図である。
図9図7及び図8を参照して本開示に記載される一例による、ラッチ修復を行うための方法を示すフローチャートである。
図10A】本開示に記載される一例による、列修復を行う組み込み自己診断及び修復ロジックを有するラッチアレイの一例を示す図である。
図10B】本開示に記載される一例による、列修復を行う組み込み自己診断及び修復ロジックを有するラッチアレイの一例を示す図である。
図11】本開示に記載される一例による、列修復を行う組み込み自己診断及び修復ロジックを有するラッチアレイの一例を示す図である。
図11-1】本開示に記載される一例による、列修復を行う組み込み自己診断及び修復ロジックを有するラッチアレイの一例を示す図である。
図11-2】本開示に記載される一例による、列修復を行う組み込み自己診断及び修復ロジックを有するラッチアレイの一例を示す図である。
【発明を実施するための形態】
【0005】
以下の説明において、異なる図面における同一の符号の使用は、同様のアイテム又は同一のアイテムを示す。別段の言及がなければ、「結合される(coupled)」という単語及びその関連する動詞形は、当該技術分野で周知の手段による直接接続及び間接電気接続の両方を含み、また、別段の言及がなければ、直接接続の任意の記述は、好適な形態の間接電気接続を使用する代替の実施形態も同様に意味する。
【0006】
アレイスキャン構成(array scan configuration)を有するラッチアレイは、修復可能ラッチ(repairable latches)を有する。ラッチアレイは予備行及び/又は予備列を含み、ラッチアレイを診断し、欠陥ラッチを予備ラッチで自動的に置き換える。いくつかの実施形態では、診断及び修復は、歩留まりを改善するために製造プロセスの一部として行われ、他の実施形態では、診断及び修復は、製品の使用後にフィールド内で行われる。
【0007】
いくつかの実施形態では、アレイスキャン構成を有するラッチアレイは、ラッチの欠陥を引き起こす障害のある回路を含むラッチアレイ内の欠陥ラッチを識別し、冗長ラッチを使用してその欠陥ラッチを修復し、冗長ラッチを使用してラッチアレイを再診断し、欠陥ラッチが回避される。ロジックは、通常の機能モード中に使用するために修復構成を記憶する。いくつかの実施形態では、新しいマスタステータスレジスタ(master status register、MSR)が、修復及び再診断動作のための制御レジスタとして使用される。
【0008】
いくつかの実施形態では、集積回路は、行及び列に論理的に構成された複数のラッチと、複数のラッチに動作可能に結合された複数の修復ラッチと、複数のラッチに結合されたラッチアレイ組み込み自己診断及び修復ロジック(latch array built in self-test and repair logic、LABISTRL)と、を含むラッチアレイを含む。いくつかの実施形態では、LABISTRLは、列内にあるラッチのうち少なくともいくつかをシリアルシフトレジスタ(serial shift register)として構成する。いくつかの実施形態では、ラッチアレイの複数の列の各々が、シリアル診断シフトレジスタ(serial test shift register)として構成される。LABISTRLは、適用された診断データに基づいて複数のラッチのうち1つ以上の欠陥ラッチを検出し、欠陥ラッチの検出に応じて、欠陥ラッチを置き換えるために少なくとも1つの修復ラッチを選択する。少なくとも1つの検出された欠陥ラッチの検出に応じて、いくつかの実施形態では、1つ以上の行全体が置き換えられ、特定の実施形態では、1つ以上の列が置き換えられる。
【0009】
いくつかの例では、ラッチアレイ自己診断ロジックは、オンチップ診断データをシリアル診断シフトレジスタにロードするために診断モード中にラッチアレイ内の各行を順次選択する診断スキャンポインタ(test scan pointer)を含む。
【0010】
特定の例では、ラッチ修復ロジックは、修復ラッチの行を選択し、欠陥ラッチを含むラッチの行を選択しないことによって、1つ以上の検出された欠陥ラッチを修復する。
【0011】
いくつかの例では、ラッチ修復ロジックは、修復ラッチの列を選択し、検出された欠陥ラッチを含むラッチの列を選択しないことによって、1つ以上の欠陥ラッチを修復する。
【0012】
特定の例では、集積回路は、選択された修復ラッチを使用してラッチアレイを自動的に再診断する制御ロジックを含む。いくつかの例では、制御ロジックは、修復ラッチが修復のために利用可能であることを条件として、1つ以上の欠陥ラッチアレイのインフィールドラッチアレイ診断及び修復(in-field latch array testing and repair)を実行する。
【0013】
特定の例では、ラッチアレイ自己診断ロジックは、診断スキャンポインタを使用して、オンチップ診断データを、列シフトレジスタとして構成されている、構成されたシリアル診断シフトレジスタ(configured serial test shift registers)に行単位でロードする。
【0014】
いくつかの実施形態では、集積回路は、処理回路と、処理回路に動作可能に結合されており、行及び列に論理的に構成された複数のラッチと、複数のラッチに動作可能に結合された複数の修復ラッチと、ラッチアレイの複数の列の各々をシリアル診断シフトレジスタとして構成し、適用された診断データに基づいて複数のラッチのうち1つ以上の欠陥ラッチを検出し、少なくとも1つの検出された欠陥ラッチの検出に応じて、1つ以上の欠陥ラッチを置き換えるために複数の修復ラッチのうち少なくとも1つを選択する、複数のラッチに結合されたラッチアレイ組み込み自己診断及び修復ロジックと、を含む、ラッチアレイと、を含む。
【0015】
特定の例では、ラッチアレイ組み込み自己診断ロジックは、オンチップ診断データをシリアル診断シフトレジスタにロードするために診断モード中にラッチアレイ内の各行を順次選択する診断スキャンポインタを含む。いくつかの実施形態では、処理回路は、通常動作中にラッチアレイに読み出し及び/又は書き込みを発行する。
【0016】
いくつかの例では、ラッチアレイ組み込み自己診断及び修復ロジックは、複数の修復ラッチに結合されており、且つ、複数の修復ラッチのうち何れかの修復ラッチを選択し、欠陥があると判定されたラッチアレイ内のラッチを選択しないラッチアレイ修復ロジックと、ラッチ修復ロジックに結合されており、ラッチアレイ修復ロジックを制御し、ラッチアレイのラッチ列の各々をシリアルシフトレジスタとして構成し、複数の修復ラッチの選択後にラッチアレイのラッチの再診断を制御する、コントローラと、を含む。
【0017】
特定の例では、ラッチアレイ修復ロジックは、1つ以上のラッチ修復制御レジスタを含み、ラッチアレイ修復ロジックは、欠陥ラッチを含むラッチの行を選択せず、修復ラッチの行にシフトする。
【0018】
いくつかの実施形態では、ラッチアレイ修復ロジックは、読み出し又は書き込みのための行の適切なアクセスを妨げる欠陥回路を含み得る、少なくとも1つの欠陥ラッチを含む欠陥行をバイパスするように構成された少なくとも1つのバイパスマルチプレクサを含む。特定の実施形態では、ラッチアレイ修復ロジックは、少なくとも1つの欠陥ラッチを含む欠陥列をバイパスするように構成された少なくとも1つのバイパスマルチプレクサを含む。
【0019】
特定の例では、制御ロジックは、診断データ生成器と、ラッチ失敗表示データを提供する診断データ比較ロジックと、を含む。
【0020】
いくつかの例では、ラッチアレイ修復ロジックは、修復ラッチの列を選択し、検出された欠陥ラッチを含むラッチの列を選択しないことによって、1つ以上の検出された欠陥ラッチを修復する。
【0021】
特定の例では、制御ロジックは、修復ラッチが修復のために利用可能である場合に、1つ以上の欠陥ラッチアレイのインフィールドラッチアレイ診断及び修復を実行する。
【0022】
いくつかの実施形態では、行及び列に論理的に構成された複数のラッチを有するラッチアレイを動作させる方法は、列にある複数のラッチを少なくとも1つのシリアル診断シフトレジスタとして構成することと、適用された診断データに基づいて複数のラッチのうち少なくとも1つの欠陥ラッチを検出することと、少なくとも1つの欠陥ラッチの検出に応じて、少なくとも1つの修復ラッチを選択することと、少なくとも1つの欠陥ラッチを選択しないことと、を含む。
【0023】
特定の例では、診断スキャンポインタが、オンチップ診断データをシリアル診断シフトレジスタにロードするために診断モード中にラッチアレイ内の各行を順次選択する。
【0024】
いくつかの例では、修復ラッチの行を選択し、検出された欠陥ラッチを含むラッチの行を選択しないことによって、1つ以上の検出された欠陥ラッチを修復する。
【0025】
特定の例では、修復ラッチの列を選択し、検出された欠陥ラッチを含むラッチの列を選択しないことによって、1つ以上の検出された欠陥ラッチを修復する。いくつかの例では、修復ラッチが修復のために利用可能である場合に、1つ以上の欠陥ラッチアレイのインフィールドラッチアレイ診断及び修復の実行が行われる。
【0026】
図1は、従来技術のアレイスキャン構成の一例を示している。ラッチアレイ100は、ラッチ102(例えば、フリップフロップではない)の論理行及び論理列を含む。この例では、1行当たり3ビットであるように、4行のラッチが3列ある。この例では、B位相ラッチ101は、列103内の複数のA位相ラッチによって受信される出力を有する。しかしながら、任意の好適なラッチアレイ構造が採用され得ることが認識されるであろう。ラッチアレイのオンチップ診断を実行する場合に、スキャンデータイン(scan data in、SDI)108をスキャンしてラッチアレイに取り込むことができるように、スキャンポインタ104がスキャンシフトイネーブル信号106と共に使用される。列は、診断スキャン動作中にシリアルシフトレジスタとして構成される。通常動作中、入力マルチプレクサ112が、書き込みデータ110をラッチアレイに渡すことができるように切り換えられると、書き込みデータ110をラッチアレイに書き込むことができるようになる。これは、書き込みデータラッチ113に関して図示されている。
【0027】
診断スキャン動作とも呼ばれる診断モード動作中、アレイスキャン構成は、診断シリアルシフトレジスタ経路を提供する。例示的な診断シリアルシフトレジスタは、受信ラッチ101を含み、列103内の各ラッチを含む。各ラッチは、書き込みデコーダがそのワード線(Word Line、WL)をアクティブ化するかどうかに従って順次クロックされる。同様に、読み出しデコーダ(例えば、ScanPtr[1:0]とRadr[1:0]との間で選択する2入力マルチプレクサのセット)は、列内の何れかのラッチを選択して、その列のSDOをドライブ(drive)する。
【0028】
アレイスキャン動作は列シフトレジスタを形成し、各列からシリアルシフトレジスタを形成するように見える。スキャンポインタ104(scan pointer、ScanPtr)は、何れのラッチをSDO(Scan Data Out、スキャンデータアウト)ポートに露出させるかを選択するが、それはあたかも、データ値がSDI(Scan Data In、スキャンデータイン)からSDOにシリアルにシフトされているかのようである。
【0029】
スキャンポインタ104は、書き込みアドレスと読み出しアドレスの*両方*の代わりにスワップされ、それにより、ラッチアレイの各行は、書き込まれながら、同様に読み出されている。スキャンポインタ2
【0030】
104は、単純なカウンタ回路であり、各列がシリアルシフトレジスタのように見えるようにして、アドレス空間を循環し、図に描かれているように、最初のビットが上部にあり、最後のビットが下部にある。
【0031】
スキャンデータイン108はラッチアレイに書き込まれ、114として示されるスキャンデータアウト(scan data out、SDO)はスキャンポインタ104の制御下で読み出しマルチプレクサ116から読み出される。また、スキャンポインタ104は、スキャンデータインを行内の全てのラッチに並列で提供できるように、各行を順次選択する。データ値は、各サイクル中に同時にSDIからロードインされ、SDOに「アンロード」される。通常動作中、読み出しデータは、バス118によって、図示されるように読み出される。
【0032】
オンチップ診断データ生成器及び比較器120は、スキャンデータイン108を生成し、スキャンデータアウト114を受信し、スキャンデータイン108をスキャンデータアウト114と比較し、行に対するスキャンデータインが行のスキャンデータアウトと一致するかどうかに応じて、合格又は失敗指標データ122を生成する。例えば、所定の行に対するスキャンデータアウトが診断入力データと一致しない場合、故障が示される。故障が示された場合、チップは廃棄される。しかしながら、チップを廃棄することは費用がかかり、生産歩留まりを低減させる。この問題は、ラッチアレイのサイズが大きくなるにつれてより頻繁に発生する。ラッチアレイは、チップ歩留まりに対する影響に起因して、サイズが制限されてきた。
【0033】
図2は、一実施形態による、修復可能ラッチアレイの一例を示すブロック図である。この例では、集積回路は、通常動作中にラッチアレイに読み出し要求及び/又は書き込み要求を発行する処理回路を含む。処理回路の例は、中央処理ユニット及び/又はグラフィックス処理ユニットの1つ以上の処理コア、デジタルコントローラ、あるいは、ラッチアレイ内に/のデータを記憶及び/又は検索する任意の好適なデジタル処理ユニットを含むが、これらに限定されない。この例では、集積回路は、自己診断動作のためにラッチアレイ全体をスキャンするための組み込み自己診断ロジックを含むが、修復ラッチと、修復ラッチを診断するためのスキャンロジックと、アレイ内のいくつかのラッチにおいて欠陥が検出された場合にラッチアレイを修復するロジックと、を更に含む、修復可能ラッチアレイを含む。この例では、ラッチアレイ組み込み自己診断修復ロジック200は、オンダイラッチアレイ診断及び修復コントローラ204、ラッチアレイ修復ロジック206、予備ラッチアレイ素子208(冗長ラッチとも呼ばれる)、オンチップ診断データ生成器210、及び、オンオンダイ診断データ比較器212を含む。いくつかの実施形態では、予備ラッチアレイ素子は、ある行全体が置き換えられる、及び/又は、ある列全体が置き換えられる、及び/又は、他の好適な数の欠陥ラッチが置き換えられるように、行、列、及び/又は、予備ラッチ(単数又は複数)の任意の好適な構成で構成される。
【0034】
全般的な動作説明として、製造診断動作又はインフィールド診断動作の一部として、オンチップ診断データ生成器210は、スキャンデータイン214とも呼ばれる診断データを生成してラッチアレイ内のラッチに送る。診断モード中、適用される診断データはスキャンアウトされ、診断データ比較器212によって受信されるスキャンデータアウト216として示される。診断データ比較器212は、スキャンデータイン214を、読み出されたスキャンデータアウト216と比較して、ラッチアレイ内のラッチが失敗したかどうかを判定する。行又は列内のラッチが失敗したという指標等の故障指標が生成される場合、故障指標データ217が生成される。欠陥が検出されたことに応じて、ラッチアレイ診断及び修復コントローラ204は、修復制御データ218をラッチアレイ修復ロジック206に発行する。ラッチアレイ修復ロジック206は、欠陥素子を置き換えるためにラッチ修復素子を選択し、欠陥があると判定されたラッチ素子の行又は列を選択しないように、制御データ220を予備ラッチアレイ素子208に発行する。修復制御データ218の例は、単一の予備行の場合、修復制御データは、Latch Repair Ctrl Register(図5で502としても示される)とラベル付けされた、RRprビットのうち何れかにおける単一の論理1値である。障害のある行がない場合、ラッチ修復制御レジスタ502内の全てのビットが論理0となり、単一の不良行の場合、それらのうち1つは論理1であり、他は論理0である。
【0035】
ラッチアレイ診断及び修復コントローラ204は、ラッチアレイスキャン診断制御データ222を発行して、例えば、スキャンシフトイネーブル(scan shift enable、SSE)データ及び必要に応じて他の開始データを発行することによって自己診断プロセスを開始する。例えば、データ224によって示されるように、ラッチアレイ診断及び修復コントローラ204は、診断開始前にラッチアレイ内のデータを全て0に初期化し、オンチップ診断データ生成器及び他のロジックを開始する。いくつかの実施形態では、ラッチアレイ診断及び修復コントローラ204は、欠陥ラッチを置き換える修復ラッチを含むように再構成された後、ラッチアレイの再診断を自動的に開始する。再診断が成功した場合、ラッチアレイは使用可能であると識別される。
【0036】
いくつかの実施形態では、1つの不良ラッチが検出された場合、行が不良行であると判定される。ロジックは、行を選択しないことによってその行を遮断し、例えば、上位行を新しい行として選択する。不良行は選択されない。実際には、行に対する書き込みクロックがオフにされる。列修復でも同様の手法が行われ、列内でラッチに欠陥があると判定された場合、いくつかの実施形態ではある列全体が遮断されることが認識されるであろう。いくつかの実施形態では、行修復の場合、ラッチ修復ロジックは、修復ラッチの行を選択し、欠陥ラッチを含むラッチの行をバイパスすること等により選択しないことによって、1つ以上の検出された欠陥ラッチを修復する。いくつかの実施形態では、ラッチ修復ロジックは、修復ラッチの列を選択し、検出された欠陥ラッチを含むラッチの列をバイパスすること等により選択しないことによって、1つ以上の検出された欠陥ラッチを修復する。いくつかの実施形態では、バイパスマルチプレクサが、欠陥行又は欠陥列をバイパスするために使用される。しかしながら、行又は列内の全てのラッチよりも少ないラッチが遮断されて得ることが認識されるであろう。例えば、ラッチのグループが部分的な列又は行を介してアドレス指定されるように構成されている場合、ラッチのサブセットが選択可能であり得る。
【0037】
例として、いくつかの実施形態では、ラッチアレイの行が障害のあるワード線ドライバ回路を有する場合、その行全体が診断に失敗する。ワード線ドライバ又は他の回路が不十分であるので、行には欠陥がある(すなわち、障害がある)可能性がある。別の例では、行(又は列)内のラッチの全てには障害がない可能性があるが、それらを書き込み回路/読み出し回路に接続するワイヤに欠陥がある可能性がある。その場合、開示された自己診断及び修復回路は、行/列を欠陥があると識別し、代わりに、予備行/予備列を選択する。本明細書で使用されるように、欠陥ラッチは、ラッチアレイの実際のラッチ以外のラッチを読み取る又は書き込むための適切なアクセスを妨げる障害がある回路を含み、開示された構造及び動作は、これらの追加の障害がある回路が存在する場合も検出する。
【0038】
いくつかの実施形態では、ラッチアレイ組み込み自己診断動作を設定するための追加の制御レジスタがあり、それにより、設定された場合に、コントローラが、自己診断及び修復動作を実行する。したがって、コントローラは、電源オン中に、又は、所定の時間間隔等の何らかの他の条件に応じて、自己診断及び修復動作を実行するようにフィールド内でアクティブ化することができ、あるいは、実行するように製造プロセス中に設定することができる。したがって、特定の実施形態における制御ロジックは、修復ラッチが修復のために利用可能である場合に、1つ以上の欠陥ラッチアレイのインフィールドラッチアレイ診断及び修復を実行する。いくつかの例では、初期化状態中に、ラッチの状態は未知であり、そのため、制御ロジックは、ラッチの全てにおいて0の書き込みを行い、次いで、診断シーケンスを開始する。いくつかの実施形態では、反対の値の書き込み及び過去の値の読み出しは、各ラッチについて実行される。いくつかの実施形態では、診断パターンは、ラッチアレイの各ラッチに同じ値を書き込み、比較器は、読み出しマルチプレクサからの出力を入力診断パターンと比較し、それらが一致しない場合に、ラッチアレイの行に発生した欠陥にフラグを立てる。冗長ラッチ又は修復ラッチは、一例では、全てのラッチアレイ行が診断された後に切り換えられる。
【0039】
製造診断の一部として使用される場合、ラッチアレイ自己診断及び修復動作は、製造上の欠陥を診断するが、ラッチアレイ自己診断及び修復動作がインフィールドで使用される場合、例えば、ダイ上の処理ユニット及び他の回路の通常の消耗によって引き起こされる欠陥を検出し修復する。
【0040】
図3は、一例による、行及び列に論理的に構成された複数のラッチを有する修復可能ラッチアレイを動作させる方法の一例を示している。この例では、動作は、ラッチアレイ組み込み自己診断及び修復ロジック200によって実行され、それらの動作の例は、以下の追加の図に更に示される。本明細書で開示される方法に示される動作は、任意の好適な順序で、及び、任意の好適な1つ以上の構成要素によって行われ得ることが認識されるであろう。
【0041】
一例におけるブロック300の動作は、例えば、組み込み自己診断スキャン動作をイネーブルにすることによって、ラッチアレイ組み込み自己診断及び修復ロジックにより実行される。ブロック302に示されるように、本方法は、適用された診断データに基づいて、ラッチアレイ内の複数のラッチのうち1つ以上の欠陥ラッチを検出することを含む。一例では、ラッチアレイ組み込み自己診断及び修復ロジック200は、診断データ比較器の出力を利用し、故障が発生すると、ラッチアレイ診断及び修復コントローラは修復プロセスを開始する。ブロック304に示すように、本方法は、少なくとも1つの検出された欠陥ラッチの検出に応じて、修復ラッチを選択することを含む。一例では、ラッチアレイ診断及び修復コントローラ204が修復制御データを発行し、ラッチアレイ修復ロジックが、欠陥のある修復ラッチのうち1つ以上を置き換えるために修復ラッチを選択する。一例では、ラッチのある行全体が置き換えられ、別の例では、ラッチのある列全体が修復ラッチの列によって置き換えられる。
【0042】
一例では、動作304において複数の修復ラッチを選択することは、例えば、ブロック306に示すように、欠陥ラッチを有する行又は列を選択しないことと、ブロック308に示すように、選択された修復ラッチには欠陥がなく、アレイ内の他のラッチが完全に動作可できることを確認するために、ラッチアレイを再診断することと、を含む。以下で説明するように、これは、任意の好適な方法で行うことができ、一例として、いくつかの実施形態では、ラッチアレイ内の全ての行又は列を診断することによって、あるいは、ラッチアレイ内の各行又は各列を診断し、ラッチアレイ全体を診断してから修復を実行するのとは対照的に、行単位又は列単位で修復を実行することによって行われる。
【0043】
図4A図4B及び図5も参照して、ラッチの行を置き換えるラッチアレイ組み込み自己診断及び修復ロジック動作の一例を説明し、ラッチのうち少なくとも1つに欠陥があることが検出されている。ブロック300に示すように、本方法は、ラッチアレイの複数の列の各々を、図1に示すものと同様のシリアル診断シフトレジスタとして構成することを含む。これは、例えば、ラッチアレイ診断及び修復コントローラが診断動作を開始することによって行うことができる。コントローラは、上述したように各列をシリアルシフトレジスタとして構成し、各シリアルシフトレジスタの出力は比較器に渡される。
【0044】
図4Aは、組み込み自己診断動作中に使用されるシグナリングの一例と、ラッチアレイ組み込み自己診断及び修復ロジックのためのシグナリングの一例を示すタイミング図である。図示されるように、ラッチアレイ診断及び修復コントローラ204は、好適なクロックソースからクロック信号402を受信し、制御レジスタ又は他のソース等からラッチアレイ診断開始信号404を受信して、スキャン診断及びラッチアレイ組み込み自己診断及び修復ロジックを開始する。ラッチアレイ診断及び修復コントローラ204は、SSE信号及びラッチアレイシリアルBISTクロックイネーブル信号406、ラッチ修復イン信号408、及び、ラッチ修復クロック410を生成する。いくつかの実施形態では、LatchRprClkは、修復構成ごとに1回パルス化する。実際には、クロックは、下位行のRRpr[n]フロップから上位行に論理1値を移動させる。LatchRprClkは、修復構成が診断されている間、パルス化しない。特定の実施形態では、LatchRprClkは、修復構成を試行した後、且つ、(もしあれば)次の修復構成を試行しようとする前に、1回だけパルス化する。LatchRepairIn信号はRRpr[0]フロップに論理1を挿入し、一方、LatchRprClkは図示したように論理1である。
【0045】
この例に示されるように、ラッチアレイ組み込み自己診断及び修復ロジック200は、この例では3つの列を形成する修復ラッチの行である予備ラッチアレイ素子208を含むように示されている。本明細書に示される動作は、例えば、図示され、本明細書で後述される列修復動作とは対照的に、行修復動作である。ラッチ素子500として示される他のラッチアレイ素子と同様に、追加の4行及び3列がラッチアレイを構成する。図4B及び図5に示されるスキャン診断ロジックは、図1に示されるものと同様であるが、スキャンポインタ403及び他のロジック等の修正形態を含む。いくつかの実施形態では、スキャンポインタ403は2ビットポインタであるが、ラッチアレイのサイズに応じて任意の好適なサイズとすることができ、例えば、ラッチアレイは10ビットスキャンポインタを有することができ、診断データインのために使用されるキャリーアウト信号を有する。キャリーアウトは、カウンタがその最大カウント値に達した場合に生成される。これは、ラッチアレイが完全に初期化されていることを示すために使用され、したがって、診断データ比較器212によって比較を行うことができる。この例では、キャリービットが設定されるまでアレイは未だ初期化されていないので、キャリービットがセットされるまで比較が行われる。
【0046】
クロック(LATestDinClkはLATestCLKとも呼ばれる)は、例えば2ビットスキャンポインタに対して4サイクルごとにパルス化される。スキャンポインタは、オンチップ診断データをシリアル診断シフトレジスタ(例えば、ラッチの行)にロードするために診断モード中にラッチアレイ内の各行を順次選択する。スキャンポインタは、診断フェーズ中に何れのビット/ラッチが順次アクセスされるかを指標/選択する。したがって、ラッチアレイ自己診断ロジックは、オンチップ診断データを、構成されたシリアル診断シフトレジスタに行単位でロードする。スキャンポインタ403は、診断データを各行に順次ロードするアドレスを生成するためにカウンタを採用する。この例では、アドレスポインタは全てのアドレス値を循環するが、欠陥行*が識別されると、それは使用されず、代わりに、その上位行が使用される。
【0047】
この例では、ラッチアレイシリアル組み込み自己診断及び修復ロジック200は、ラッチアレイの修復ラッチ及び非修復ラッチに動作可能に結合されているラッチアレイ修復ロジックを含む。この例では、ラッチアレイ修復ロジック206は、ラッチ修復制御レジスタ502、ラッチアレイ診断入力マルチプレクサ503、ラッチ修復失敗レジスタ504、ラッチ修復ロジック506、及び、修復バイパスマルチプレクサ508A~508Cを含む。マルチプレクサ503は、SDIから到来する診断データと、LATestDinとして示されるLA診断回路から到来する診断データとの間で選択を行う。
【0048】
ラッチ修復制御レジスタ502の各ラッチは、その関連する行が良好/不良であるかどうかを示す。行が不良である場合、すぐ上の行が欠陥行の代わりに使用され、同様に、予備行を含む他の全ての行がそれらの下の行の代わりにアクセスされる。ラッチ修復失敗レジスタ504は、論理0で開始し、全ての可能な修復構成を試行したが失敗した場合にのみ論理1に設定される。その機能は、ラッチアレイが修復不能であることを示すことである。これを説明するために、502及び504内のフリップフロップは、診断及び修復が始まる前に全て0に初期化されると想定する。値1は最も下のフロップにシフトされる、すなわちRRpr[0]=1である。次いで、診断が実行される。合格した場合、最下行に障害があったと推測され、予備行が良好であると推測される。失敗した場合、値1がその上のRRprフロップにシフトされるので、RRpr[1]=1である。次いで、診断を再実行する。合格した場合、非常に良好であり、失敗した場合、シフトが再び行われ、最上行まで診断が再実行される。その行が不良であると仮定すると(すなわち、4行アレイの場合にRRpr[3]=1を設定することによって)、全ての可能な修復構成が試行されており、合格診断という結果にはならない。したがって、その場合、504のビットが設定され、デバイスは修復不能と見なされる。
【0049】
ラッチ修復ロジック506は、ラッチの行を選択するように及び選択しないように、制御レジスタ及びバイパスマルチプレクサとインタフェースする。修復バイパスマルチプレクサ508A~508Cは、読み出しデータ経路における修復を担う。それらが存在しない場合、不良行から読み出すことが可能である。いくつかの実施形態では、バイパスマルチプレクサは、修復行内の修復ラッチ507からの出力と、非修復行内の非修復ラッチ509からの出力と、を受信するように結合される。特定の実施形態では、バイパスマルチプレクサの出力は、出力データを列レベル読み出しマルチプレクサに提供する。いくつかの実施形態では、各バイパスマルチプレクサは、ラッチアレイ内の複数のラッチの連続する行に結合される。いくつかの実施形態では、バイパスマルチプレクサの出力は列フォーマットで構成され、列のための共通読み出しマルチプレクサにデータを渡す。例えば、図5では、ラッチアレイ修復ロジックは、少なくとも1つの欠陥ラッチを含む欠陥行をバイパスするように構成された、少なくとも1つのバイパスマルチプレクサを含む。例えば、以下の図8に示す例では、ラッチアレイ修復ロジックは、少なくとも1つの欠陥ラッチを含む欠陥列をバイパスするように構成された、少なくとも1つのバイパスマルチプレクサを含む。
【0050】
動作において、図4B及び図5に示されるラッチアレイ組み込み自己診断及び修復ロジックは、ラッチアレイ全体が自己診断に合格するまで、全ての行構成を順次修復を試みる。1つのラッチアレイのみが図示されており、自己診断及びラッチ修復を実行するロジックは、所望に応じて、複数のラッチアレイ又は1つのチップ上の全てのラッチアレイに含まれ得ることが認識されるであろう。任意の好適なサイズのラッチアレイが採用され得ることが認識されるであろう。
【0051】
図6は、例えば、図4A図5に示されるラッチアレイシリアル組み込み自己診断及び修復ロジック200によって実行されるラッチアレイを動作させる方法を示す。しかしながら、任意の好適な構造が採用されてもよい。この例では、本方法は、修復ラッチを含むラッチアレイを開始することを含む。破線ブロック600によって示されるように、ラッチアレイ診断及び修復コントローラは、ラッチアレイを初期化し、診断データのスキャンイン及びスキャンアウトを実行し、示されるように、組み込み自己診断及び修復ロジックを有するラッチアレイは、ブロック602に示されるようにリセットされ、初期化動作の一部として、ブロック604に示されるように、修復ラッチを含むラッチアレイ素子に0が書き込まれる。次に、ブロック606に示すように、データが0になるように読み出され、次にラッチ用のデータが1になるように書き込まれる等のように、読み出し及び書き込みが図示したようにスキャンイン及びスキャンアウトされる。次に、「1」に設定された書き込みデータがブロック608で読み出され、論理「0」を有する書き込みデータが修復ラッチを含むラッチに書き込まれ、ブロック609に示すように、0であると予想されるデータが読み出され、「論理1」がラッチに書き込まれ、それにより、当技術分野で知られているように、ラッチが診断のために適切にトグルされる。診断データ比較器212がスキャンインデータをスキャンアウトデータと比較し、一致のみが存在する場合、ブロック610に示すように故障は発生していない。別の言い方をすれば、ブロック604において、背景パターン、この場合は全て0が書き込まれる。ブロック606で、その背景パターンが最初に読み取られ、次に、別のパターン、この場合には全て1が書き込まれる。ブロック608において、装置は、1を読み出し、0を書き込み、ブロック609において、その逆が行われる。上記のステップの全てを実行することによって、診断は、1及び0をアレイ内の全ての行に書き込むことができ、次いで正しくリードバックすることができることを実証した。隣接するラッチへの影響をチェックするために、チェッカーボードパターン等の他の診断パターンが使用され得ることが認識されるであろう。
【0052】
ブロック612に示すように、本方法は、予備行を診断するために第1のラッチアレイ修復試行を実行することを含む。一例では、元の行のうち何れかに欠陥があると偽マーキング(falsely marking)することによって、予備行(単数又は複数)を診断することができる。これは、その行のデータ値を実際に予想される値とは反対の値と比較することにより、それを不良行としてマークさせることによって達成される。その場合、予備行が診断される結果になる。このシーケンスは、所望に応じて複数の予備行を診断するために繰り返すことができる。予備行に欠陥がない場合、インフィールドレジスタが設定されて、予備行がインフィールド修復に使用可能であることを示す。代替的に、予備行のためのクロック(ワード線)は、独立してアクティブ化されてもよく、そのデータ値は、予備行のデータ値がアレイから読み出されるように読み出しマルチプレクサ選択線を強制することによって読み出され得る。
【0053】
ブロック614に示すように、ラッチアレイに故障がある場合、診断が終了し、これは、修復に使用するために利用可能な予備ラッチアレイがないことを意味する。これはブロック616に示されている。しかしながら、修復ラッチの故障がない場合、ブロック618に示すように、ラッチアレイの診断が完了し、例えば、制御レジスタ内にフラグ又はビットを設定することによって、インフィールド修復が可能であることが示される。例えば、インフィールドである場合、コントローラ又は処理回路は、レジスタ又はフラグをチェックし、インフィールド修復が利用可能であることを示すように設定されている場合、ラッチアレイ組み込み自己診断及び修復ロジックを開始する。別の言い方をすれば、診断が行われ、非修復ラッチ(例えば、従来のラッチアレイ内のラッチ)及び修復ラッチの両方に故障が発生しない場合、フィールド修復が可能であると示され、チップがフィールド内にある場合に、組み込み自己診断及び修復ロジックを有するラッチアレイを実行して、所定の間隔に基づいて、電源投入動作中に、又は、チップがフィールド内にある場合の他の条件に応じて、自動的にその場でラッチ故障を修復することができる。
【0054】
しかしながら、ブロック610に示すように故障が検出された場合、ブロック620に示すように、予備ラッチではなく標準ラッチアレイにラッチがある場合、本方法は、ラッチ修復を開始することを含む。ブロック622に示されるように、本方法は、ラッチ修復イン(LRprIn)を論理1に設定することと、ラッチ修復クロックをパルス化することと、ラッチ修復インを0に設定することと、を含み、これは、例えば、ラッチアレイ診断及び修復コントローラ204によって行われる。いくつかの実施形態では、ラッチアレイ診断及び修復コントローラ204は、1つ以上の状態マシンとして実装される。他の実施形態では、ラッチアレイ診断及び修復コントローラ204は、ファームウェアを実行するコントローラとして実装されるが、任意の好適なロジックが採用されてもよい。ブロック624に示すように、本方法は、ブロック600に示すラッチアレイシリアル組み込み自己診断を実行することを含み、ブロック626に示すように故障が検出されない場合、ブロック628に示すように第1のラッチアレイ修復試行が完了する。いくつかの実施形態では、ブロック600に示された動作は、修復ラッチなしで行われる(予備行は診断されない)。ブロック620の動作は、1つの行を予備行で置き換える。ブロック630の動作は(必要な場合)、次の行をその予備行で置き換える。
【0055】
ブロック630に示すように、ブロック620の動作が失敗した場合、第2のラッチアレイ修復試行が実行される。これは、ラッチアレイ内の別の行に対するものである。ブロック632に示されるように、本方法は、ラッチ修復クロックをパルス化することと、634として示されるラッチアレイシリアルBIST動作を実行することと、を含み、ブロック636に示されるように故障が発生していない場合、638によって示されるように第2のラッチアレイ試行のための診断が完了される。プロセスは、ラッチアレイ内の他の行に対して、ブロック640及び650に示されるように継続する。一般的な場合、N行のラッチアレイは、N回の試行を必要とし得る。いくつかの実施形態では、LABIST修復ロジックは、不良データが比較器に到着した時間に基づいて、何れの行が失敗したかを識別する。故障をもたらしたScanPtr値を記憶しておくために、スキャンポインタ値を追跡するためにカウンタが使用される。
【0056】
図示したように、ブロック670に示すように、修復試行の各々において故障が検出された場合、欠陥を有すると検出された異なる行の全てを訂正するのに充分な予備ラッチがないので、デバイスは失敗する。
【0057】
図7A図7B及び図8は、行修復を実行するラッチアレイ組み込み自己診断ロジックの別の例を示し、この例では、診断される場合に失敗した行を識別し、失敗している行を示すラッチ修復制御レジスタ802内のレジスタ修復ビット(RRprビット)800a~800dを設定し、ラッチ修復失敗レジスタ504(図5参照)を採用しない。ラッチ修復ロジック804は、修復ラッチの行を選択し、欠陥ラッチを含む検出された行をバイパスする(例えば、選択しない)ように、ラッチアレイ診断及び修復コントローラ700によって制御される。一例では、ApplyLatchRprと呼ばれる制御データ806は、第1の合格中に「0」に設定され、第2の合格中に論理「1」に設定される。
【0058】
図9は、組み込み自己診断中にラッチアレイを動作させる方法を示し、この例では、図7A図8を参照して説明する。図示したように、本方法は、ブロック900に示すように、ApplyLatchRpr等の制御信号を論理「0」に発行することを含む。これは、例えば、図7Bのラッチアレイ診断及び修復コントローラによって行われる。ブロック902に示されるように、ラッチアレイシリアル組み込み自己診断動作が上述したように実行される。ブロック904に示されるように、診断データ比較器702は、任意の行から任意の故障が検出されたかどうかを判定し、故障が検出されなかった場合、ブロック906に示されるように、本方法は、予備ラッチアレイ素子208を診断することを含む。この例では、ブロック908に示されるように予備ラッチの故障が検出されなかった場合、ブロック910に示されるように診断プロセスが完了し、何れの予備行も欠陥を有していないので、インフィールド修復に使用するために利用可能な予備行があることを示すインフィールド修復ビットがレジスタに設定される。しかし、ブロック912に示すように、予備行に故障が発生した場合、チップは使用可能であると見なされるが、修復動作を採用することはできない。
【0059】
動作904を再び参照すると、ブロック914に示されるように、ラッチアレイ内の非予備ラッチの故障が故障を示す場合、ラッチアレイ修復動作が開始される。破線ブロック916に示すように、様々な動作が実行される。この例では、ブロック918に示すように、ラッチアレイ修復動作は、ラッチアレイ診断及び修復コントローラ700によって、制御データ806として論理「1」に等しいApplyLatchRpr信号を発行することを含む。この代替の行修復方式では、ラッチ修復制御レジスタ(802)が再び全て0に初期化されるが、次いで診断中に、アレイが故障するとすぐに、LABistFail信号が論理1になり、その行が現在診断されている行である場合、そのRRpr[n]ビットが設定される。ApplyLatchRpr信号は、自己診断中は論理0であるが、次いで、アレイが、障害がある行を置き換える予備行を用いて再び診断される場合、ApplyLatchRpr=1となる。
【0060】
ブロック920に示すように、ブロック902に示すようなラッチアレイシリアル組み込み自己診断が実行される。ブロック922に示すように、診断データ比較器702が、ブロック924に示すように故障が発生したと判定した場合、修復ロジックが失敗したので、又は、修復リソースが不十分であったので、デバイスが失敗したと指標される。一例では、これは、レジスタにビットを設定することによって行われる。しかしながら、ブロック926に示されるように故障が発生しない場合、修復動作は成功している。この例におけるラッチアレイ修復動作は、欠陥のあるそれらの行に対してRRprビットを設定し、組み込み自己診断中に設定された何れのRRprビットも、ApplyLatchRprがアサートされた場合にイネーブルされる。
【0061】
図10A図10B及び図11は、行修復とは対照的に、列修復の例を示す。この実施形態は、診断される場合に失敗している列を識別し、データ1120として示されるそのLASBISTFailbitを設定する。ラッチアレイ診断及び修復コントローラ1010は、修復列を使用し、少なくとも1つの欠陥ラッチを含む列を選択しないように、予備ラッチアレイ素子208及びラッチアレイ修復ロジック206にApplyLatchRpr等のラッチ修復データ1011を発行する。例えば、データ1120(図11)は、修復ラッチ1100A~1100Dとして示される列の形態の修復ラッチを選択するための修復ロジックとして使用される。図10Bに示すように、ラッチアレイ診断及び修復コントローラ1010は、ラッチ修復データ1011、この例ではApplyLatchRprを生成する。診断データ比較器ロジック1020は、失敗した各列に対して列失敗指標を発行し、制御ロジック1000は、LABIST失敗ビット等の制御データを発行する。ラッチアレイ診断及び修復コントローラ1010は、テストの第1の合格中に論理「0」に等しくなり、診断の第2の合格中に論理「1」に等しくなるように適用ラッチ修復データ1011を発行する。上述したように、組み込み自己診断のための診断動作が図9に示されている。本明細書で説明するように、ラッチアレイ組み込み自己診断及び修復ロジックを使用して、ラッチアレイ内の1つ以上の行又は列を修復することができる。
【0062】
上記及び図2図9で説明したように、行及び列に論理的に構成された複数のラッチを有するラッチアレイを動作させる例示的な方法は、ラッチアレイの複数の列の各々をシリアル診断シフトレジスタとして構成することと、適用された診断データに基づいて複数のラッチのうち1つ以上の欠陥ラッチを検出することと、少なくとも1つの検出された欠陥ラッチの検出に応じて、複数の修復ラッチを選択し、欠陥ラッチを選択しないことと、を含む。いくつかの実施形態における本方法は、オンチップ診断データをシリアル診断シフトレジスタにロードするために診断モード中にラッチアレイ内の各行(又は列)を順次選択する診断スキャンポインタを使用することを含む。行修復のために、いくつかの実施形態における本方法は、修復ラッチの行を選択し、検出された欠陥ラッチを含むラッチの行を選択しないことによって、1つ以上の検出された欠陥ラッチを修復することを含む。列修復が採用される場合、本方法は、修復ラッチの列を選択し、検出された欠陥ラッチを含むラッチの列を選択しないことによって、1つ以上の検出された欠陥ラッチを修復することを含む。特定の実施形態では、本方法は、修復ラッチが修復のために利用可能である場合に、1つ以上の欠陥ラッチアレイのインフィールドラッチアレイ診断及び修復を実行することを含む。いくつかの実施形態では、制御ロジックは、何れの修復リソース(単数又は複数)が現在使用中であり、したがって何れのリソース(単数又は複数)が未だインフィールド修復に利用可能であるかを示すレジスタ(単数又は複数)を含む。
【0063】
開示された修復可能ラッチアレイの1つ以上の技術的利点は、上述したようなMBIST回路及び制御を必要とすることなく、より大きなラッチアレイを利用することができ、製造中の歩留まりを向上させることができ、製造後に適用される場合にラッチアレイのインフィールド修復能力が提供されることである。これは、サイレントデータ破損(silent data corruption、SDC)を回避することによって、データセンターで使用されるようなダイの信頼性を改善することができる。他の利点は、当業者であれば認識されるであろう。例えば、図示されるシリアルシフトレジスタ動作及び修復ロジックを用いると、例えば、MBISTロジックと比較して、必要とされる連続する素子がより少なくなり、ラッチアレイの故障に起因してダイを破棄する必要がなくなる。
【0064】
インフィールドラッチアレイ診断及び修復が実行される場合、例えば、データセンター内又は他の用途におけるシステムは、チップが除去される必要はなく、代わりに、例えば、正常摩耗によるビット故障を通して、ラッチに欠陥があると検出されると、ラッチアレイを再びイネーブルするために、例えば、処理回路又は他のロジックによって、診断及び修復動作がアクティブ化される。例えば、各電源オン中に、修復ラッチ動作を選択するために、インフィールド修復動作を行うことができる。他の用途における他の利点は、例えば、自動車及び他の用途において、構成要素の置換を回避し、代わりにラッチアレイの修理を可能にすることである。
【0065】
特徴及び要素が特定の組み合わせで上述されているが、各特徴又は要素は、他の特徴及び要素を用いずに単独で、又は、他の特徴及び要素を用いて若しくは用いずに様々な組み合わせで使用することができる。いくつかの実施形態において本明細書において説明される装置は、汎用コンピュータ又はプロセッサによって実行するために非一時的なコンピュータ可読記憶媒体に組み込まれるソフトウェア又はファームウェアを使用する。コンピュータ可読記憶媒体の例としては、読み取り専用メモリ(read only memory、ROM)、ランダムアクセスメモリ(random-access memory、RAM)、レジスタ、キャッシュメモリ、半導体メモリデバイス、内蔵ハードディスク及びリムーバブルディスク等の磁気媒体、磁気光学媒体、並びに、CD-ROMディスク及びデジタル多用途ディスク(digital versatile disk、DVD)等の光学媒体が挙げられる。
【0066】
様々な実施形態の上述した詳細な説明では、その一部を形成し、本発明が実施され得る特定の好ましい実施形態を例として示す添付図面を参照した。これらの実施形態は、当業者が本発明を実施することを可能にするために十分詳細に説明されており、他の実施形態が利用されてもよく、本発明の範囲から逸脱することなく論理的、機械的及び電気的変更が行われ得ることを理解されたい。当業者が本発明を実施するのを可能にするために必要でない詳細を避けるために、説明は、当業者に知られている特定の情報を省略する場合がある。更に、本開示の教示を組み込む多くの他の様々な実施形態が、当業者によって容易に構築され得る。したがって、本発明は、本明細書に記載される特定の形態に限定されることを意図するものではなく、逆に、本発明の範囲に合理的に含まれ得るそのような代替形態、修正形態及び均等物を包含することを意図するものである。したがって、上述した詳細な説明は、限定的な意味で解釈されるべきではなく、本発明の範囲は、添付の特許請求の範囲によってのみ定義される。本明細書において説明される実施形態及び実施例の上記の詳細な説明は、限定ではなく、例示及び説明のためにのみ提示されている。例えば、説明された動作は、任意の好適な順序又は方法で行われる。したがって、本発明は、上記で開示され、本明細書で特許請求される基本的な基礎原理の範囲に入るあらゆる修正、変形又は等価物を包含することが企図される。
【0067】
上記の詳細な説明及びそこで説明される例は、限定のためではなく、例示及び説明のためにのみ提示されている。
図1
図1-1】
図2
図3
図4A
図4B
図5
図5-1】
図5-2】
図6
図6-1】
図7A
図7B
図8
図8-1】
図8-2】
図9
図10A
図10B
図11
図11-1】
図11-2】
【手続補正書】
【提出日】2024-08-22
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
集積回路であって、
ラッチアレイを備え、
前記ラッチアレイは、
行及び列に論理的に構成された複数のラッチと、
前記複数のラッチに動作可能に結合された複数の修復ラッチと、
前記複数のラッチに動作可能に結合されたラッチアレイ組み込み自己診断及び修復ロジックと、を備え、
前記ラッチアレイ組み込み自己診断及び修復ロジックは、
列内にある複数のラッチを少なくとも1つのシリアル診断シフトレジスタとして構成することと、
適用された診断データに基づいて前記複数のラッチのうち少なくとも1つの欠陥ラッチを検出することと、
前記少なくとも1つの欠陥ラッチの検出に応じて、少なくとも1つの修復ラッチを選択することと、
を行うように動作する、
集積回路。
【請求項2】
前記ラッチアレイ組み込み自己診断ロジックは、オンチップ診断データを前記シリアル診断シフトレジスタにロードするために、診断モード中に前記ラッチアレイ内の各行を順次選択するように動作する診断スキャンポインタを備える、
請求項1の集積回路。
【請求項3】
前記ラッチ修復ロジックは、修復ラッチの行を選択し、前記欠陥ラッチを含むラッチの行を選択しないことによって、1つ以上の欠陥ラッチを修復するように動作する、
請求項1の集積回路。
【請求項4】
前記ラッチ修復ロジックは、修復ラッチの列を選択し、前記欠陥ラッチを含むラッチの列を選択しないことによって、1つ以上の欠陥ラッチを修復するように動作する、
請求項1の集積回路。
【請求項5】
前記選択された修復ラッチを使用して前記ラッチアレイを自動的に再診断するように動作する制御ロジックを備える、
請求項1の集積回路。
【請求項6】
修復ラッチが修復のために利用可能である場合に、1つ以上の欠陥ラッチアレイのインフィールドラッチアレイ診断及び修復を実行するように動作する制御ロジックを備える、
請求項1の集積回路。
【請求項7】
前記ラッチアレイ自己診断ロジックは、オンチップ診断データを、構成されたシリアル診断シフトレジスタに行単位でロードするように動作する、
請求項2の集積回路。
【請求項8】
前記複数のラッチに動作可能に結合された処理回路を備え、
前記ラッチアレイ組み込み自己診断及び修復ロジックは、
前記複数の修復ラッチに動作可能に結合されたてラッチアレイ修復ロジックであって、前記複数の修復ラッチのうち何れかの修復ラッチを選択し、欠陥があると判定された前記ラッチアレイ内のラッチを選択しないように動作するラッチアレイ修復ロジックと、
前記ラッチ修復ロジックに動作可能に結合されたコントローラであって、前記ラッチアレイ修復ロジックを制御するように動作し、ラッチアレイの前記ラッチ列の各々をシリアルシフトレジスタとして構成するように動作し、前記複数の修復ラッチの選択後に前記ラッチアレイのラッチの再診断を制御するように動作するコントローラと、を備える、
請求項の集積回路。
【請求項9】
前記ラッチアレイ修復ロジックは、欠陥ラッチを含むラッチの行を選択せず、前記欠陥ラッチの前記行の代わりに修復ラッチの行を選択するように構成された1つ以上のラッチ修復制御レジスタを備える、
請求項の集積回路。
【請求項10】
前記ラッチアレイ修復ロジックは、少なくとも1つの欠陥ラッチを含む欠陥行をバイパスするように構成された少なくとも1つのバイパスマルチプレクサを備える、
請求項の集積回路。
【請求項11】
前記ラッチアレイ修復ロジックは、少なくとも1つの欠陥ラッチを含む欠陥列をバイパスするように構成された少なくとも1つのバイパスマルチプレクサを備える、
請求項の集積回路。
【請求項12】
行及び列に論理的に構成された複数のラッチを有するラッチアレイを動作させる方法であって、
列内にある複数のラッチを少なくとも1つのシリアル診断シフトレジスタとして構成することと、
適用された診断データに基づいて前記複数のラッチのうち少なくとも1つの欠陥ラッチを検出することと、
少なくとも1つの欠陥ラッチの検出に応じて、少なくとも1つの修復ラッチを選択することと、
前記少なくとも1つの欠陥ラッチを選択しないことと、を含む、
方法。
【請求項13】
オンチップ診断データを前記少なくとも1つのシリアル診断シフトレジスタにロードするために、診断モード中に前記ラッチアレイ内の各行を順次選択する診断スキャンポインタを使用することを含む、
請求項12の方法。
【請求項14】
修復ラッチの行を選択し、前記欠陥ラッチを含むラッチの行を選択しないことによって、1つ以上の欠陥ラッチを修復することを含む、
請求項12の方法。
【請求項15】
修復ラッチの列を選択し、前記欠陥ラッチを含むラッチの列を選択しないことによって、1つ以上の検出された欠陥ラッチを修復することを含む、
請求項12の方法。
【国際調査報告】