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

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

▶ グーグル インコーポレイテッドの特許一覧

特許7592889共有物理メモリを用いた論理メモリの修復
<>
  • 特許-共有物理メモリを用いた論理メモリの修復 図1
  • 特許-共有物理メモリを用いた論理メモリの修復 図2
  • 特許-共有物理メモリを用いた論理メモリの修復 図3
  • 特許-共有物理メモリを用いた論理メモリの修復 図4
  • 特許-共有物理メモリを用いた論理メモリの修復 図5
  • 特許-共有物理メモリを用いた論理メモリの修復 図6
  • 特許-共有物理メモリを用いた論理メモリの修復 図7
  • 特許-共有物理メモリを用いた論理メモリの修復 図8
  • 特許-共有物理メモリを用いた論理メモリの修復 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-22
(45)【発行日】2024-12-02
(54)【発明の名称】共有物理メモリを用いた論理メモリの修復
(51)【国際特許分類】
   G11C 29/00 20060101AFI20241125BHJP
   G06F 11/16 20060101ALI20241125BHJP
   G06F 11/22 20060101ALI20241125BHJP
   G11C 29/18 20060101ALI20241125BHJP
   G11C 29/44 20060101ALI20241125BHJP
   G06F 12/00 20060101ALI20241125BHJP
【FI】
G11C29/00 412
G06F11/16 666
G06F11/22 607Z
G11C29/18 120
G11C29/44 100
G06F12/00 571A
【請求項の数】 15
(21)【出願番号】P 2023558200
(86)(22)【出願日】2021-11-17
(65)【公表番号】
(43)【公表日】2024-05-31
(86)【国際出願番号】 US2021059736
(87)【国際公開番号】W WO2023091130
(87)【国際公開日】2023-05-25
【審査請求日】2023-12-20
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】プラディープ,ウィルソン
(72)【発明者】
【氏名】カルカレ,ニキル
【審査官】小林 紀和
(56)【参考文献】
【文献】特開2021-093235(JP,A)
【文献】特開2004-039214(JP,A)
【文献】特開2010-080057(JP,A)
【文献】特開平09-311824(JP,A)
【文献】米国特許出願公開第2021/0257043(US,A1)
【文献】米国特許出願公開第2021/0295944(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G11C 29/00
G06F 11/16
G06F 11/22
G11C 29/18
G11C 29/44
G06F 12/00
(57)【特許請求の範囲】
【請求項1】
装置であって、
複数の論理メモリに対して少なくとも1つの検査を実行するように構成された回路を含むメモリ内蔵自己検査コントローラと、
メモリクラスタとを備え、
前記メモリクラスタは、
前記メモリ内蔵自己検査コントローラに接続され、前記複数の論理メモリへのアクセスを提供するように構成された共有バスインターフェイスと、
前記共有バスインターフェイスに接続された複数の物理メモリとを含み、前記複数の物理メモリは、前記複数の論理メモリのうちの2つ以上の論理メモリをその上にオーバーレイするように構成された少なくとも1つの物理メモリを含み、
前記少なくとも1つの物理メモリは、
前記メモリ内蔵自己検査コントローラによって決定された第1の故障メモリアドレスを記憶するように構成された第1のアドレスレジスタと、
前記メモリ内蔵自己検査コントローラによって決定された第2の故障メモリアドレスを記憶するように構成された第2のアドレスレジスタと、
前記第1のアドレスレジスタと前記第2のアドレスレジスタとに接続された調停ロジックとを含み、前記調停ロジックは、前記第1の故障メモリアドレスが前記第2の故障メモリアドレスと競合することに応答して、少なくとも1つの予備メモリ部分へのアクセスを調停するように構成された回路を含む、装置。
【請求項2】
前記複数の論理メモリのうちの前記2つ以上の論理メモリは、第1の論理メモリと第2の論理メモリとを含み、
前記2つ以上の論理メモリのうちの前記第1の論理メモリと前記第2の論理メモリとは、前記少なくとも1つの物理メモリを共有するように構成され、
前記メモリ内蔵自己検査コントローラの前記回路は、前記2つ以上の論理メモリのうちの前記第1の論理メモリを検査することによって、前記少なくとも1つの物理メモリに対応する前記第1の故障メモリアドレスを決定するように構成され、
前記メモリ内蔵自己検査コントローラの前記回路は、前記2つ以上の論理メモリのうちの前記第2の論理メモリを検査することによって、前記少なくとも1つの物理メモリに対応する前記第2の故障メモリアドレスを決定するように構成されている、請求項1に記載の装置。
【請求項3】
前記メモリ内蔵自己検査コントローラの前記回路は、論理メモリアドレスを用いて前記複数の論理メモリにアクセスするように構成され、
前記共有バスインターフェイスは、前記論理メモリアドレスを前記複数の物理メモリの物理メモリアドレスにマッピングするように構成されている、請求項1または請求項2に記載の装置。
【請求項4】
前記第1の故障メモリアドレスおよび前記第2の故障メモリアドレスは、前記物理メモリアドレスのうちの同じ物理メモリアドレスを含み、かつ、前記少なくとも1つの予備メモリ部分のうちの同じ予備メモリ部分に対応しており、
前記調停ロジックの前記回路は、前記2つ以上の論理メモリの異なる論理メモリに関連付けられ、前記同じ物理メモリアドレスを対象とするメモリ要求を前記同じ予備メモリ部分にルーティングするように構成されている、請求項3に記載の装置。
【請求項5】
前記少なくとも1つの予備メモリ部分は、少なくとも1つの予備メモリ行を含み、
前記第1の故障メモリアドレスおよび前記第2の故障メモリアドレスは、前記少なくとも1つの物理メモリのうちの故障した少なくとも1つのメモリ行の少なくとも1つのメモ
リ行アドレスを含む、請求項1から4のいずれか一項に記載の装置。
【請求項6】
前記少なくとも1つの予備メモリ部分は、少なくとも1つの予備メモリ列を含み、
前記第1の故障メモリアドレスおよび前記第2の故障メモリアドレスは、前記少なくとも1つの物理メモリのうちの故障した少なくとも1つのメモリ列を示す少なくとも1つのメモリ列インジケータに対応する、請求項1から4のいずれか一項に記載の装置。
【請求項7】
前記少なくとも1つの物理メモリは、
第1の故障メモリ部分が第1の予備メモリ部分によって交換されたか否かを示す第1の指示を記憶するように構成された第1のイネーブルレジスタを含み、前記第1の故障メモリ部分は、前記第1の故障メモリアドレスに対応しており、
第2の故障メモリ部分が第2の予備メモリ部分によって交換されたか否かを示す第2の指示を記憶するように構成された第2のイネーブルレジスタを含み、前記第2の故障メモリ部分は、前記第2の故障メモリアドレスに対応しており、
前記調停ロジックの前記回路は、前記第1の指示と前記第2の指示とに応答して、前記第1の予備メモリ部分または前記第2の予備メモリ部分へのアクセスを調停するように構成されている、請求項1から6のいずれか一項に記載の装置。
【請求項8】
前記調停ロジックの前記回路は、前記第1の故障メモリアドレスが前記第2の故障メモリアドレスと一致することに応答して、第1のメモリ部分冗長イネーブル信号および第2のメモリ部分冗長イネーブル信号を同時に活性化することを防止するように構成されている、請求項1から7のいずれか一項に記載の装置。
【請求項9】
前記少なくとも1つの物理メモリは、
モリアクセス要求の対象であるメモリアドレスと、前記第1の故障メモリアドレスと、前記第2の故障メモリアドレスとに基づいて、前記メモリアクセス要求を予備メモリ部分にルーティングするように構成された回路を含む修復ロジックと、
少なくとも1つのメモリアレイと、
前記少なくとも1つのメモリアレイに接続されたアドレスデコーダとを含み、
前記修復ロジックは、前記調停ロジックと前記アドレスデコーダとの間に接続されている、請求項1から8のいずれか一項に記載の装置。
【請求項10】
前記調停ロジックは、
前記2つ以上の論理メモリのうちの第1の論理メモリにマッピングされている第1の修復制御ポートと、
前記2つ以上の論理メモリのうちの第2の論理メモリにマッピングされている第2の修復制御ポートとを含む、請求項1から9のいずれか一項に記載の装置。
【請求項11】
方法であって、
メモリ内蔵自己検査コントローラが、複数の論理メモリに対して少なくとも1つの検査を実行することと、
前記メモリ内蔵自己検査コントローラが、前記実行することに基づいて、少なくとも1つの物理メモリのうちの2つ以上の故障メモリ部分を特定することと、
前記メモリ内蔵自己検査コントローラが、前記特定することに基づいて、第1の故障メモリアドレスを第1のアドレスレジスタにロードし、第2の故障メモリアドレスを第2のアドレスレジスタをロードすることと、
前記第1の故障メモリアドレスが前記第2の故障メモリアドレスと競合することに応答して、前記少なくとも1つの物理メモリが、前記2つ以上の故障メモリ部分に対応する少なくとも1つの予備メモリ部分へのアクセスを調停することとを含む、方法。
【請求項12】
前記調停することは、前記第1の故障メモリアドレスが前記第2の故障メモリアドレスと一致することに応答して、修復ロジックに第1のメモリ部分冗長イネーブル信号をアサートさせることと、前記修復ロジックに第2のメモリ部分冗長イネーブル信号をデアサートさせることとを含む、請求項11に記載の方法。
【請求項13】
前記調停することは、前記第1の故障メモリアドレスが前記第2の故障メモリアドレスと一致しないことに応答して、前記修復ロジックが、前記第1の故障メモリアドレスおよび前記第2の故障メモリアドレスに基づいて、前記第1のメモリ部分冗長イネーブル信号および前記第2のメモリ部分冗長イネーブル信号を制御することを可能にすることを含む、請求項12に記載の方法。
【請求項14】
前記方法は、
前記メモリ内蔵自己検査コントローラが、前記特定することに基づいて、第1の故障メモリ部分が第1の予備メモリ部分によって交換されたか否かを示す第1の指示を第1のイネーブルレジスタにロードすることと、
前記メモリ内蔵自己検査コントローラが、前記特定することに基づいて、第2の故障メモリ部分が第2の予備メモリ部分によって交換されたか否かを示す第2の指示を第2のイネーブルレジスタにロードすることとをさらに含み、
前記調停することは、前記第1の指示と前記第2の指示とに応答して、前記少なくとも1つの予備メモリ部分へのアクセスを調停することを含む、請求項11から13のいずれか一項に記載の方法。
【請求項15】
1つ以上のプロセッサと、
少なくとも1つのメモリクラスタと、
前記少なくとも1つのメモリクラスタに接続された少なくとも1つのメモリ内蔵自己検査コントローラと、
前記1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに、請求項11から14のいずれか一項に記載された前記方法を実行させる命令を記憶する少なくとも1つのコンピュータ可読記憶媒体とを備える、装置。
【発明の詳細な説明】
【背景技術】
【0001】
背景
携帯電話およびクラウドサーバなどのコンピューティング装置は、物理メモリおよび論理メモリを利用して情報を記憶する。このようなコンピューティング装置のプロセッサは、物理メモリおよび論理メモリに記憶されている情報に基づいて、機能を実行し、命令を実行する。物理メモリまたは論理メモリが破損するまたは故障する場合、物理メモリまたは論理メモリに依存するプロセッサを有するコンピューティング装置の性能が損なわれる可能性がある。
【0002】
物理メモリまたは論理メモリの故障がユーザに影響を与える可能性を低減するために、コンピューティング装置は、内蔵自己検査(built-in self-test:BIST)要素を利用することができる。BIST要素は、一般的に、装置に内蔵され、回路の故障を検出することができる。メモリ回路の環境において、メモリ内蔵自己検査(memory built-in self-test:MBIST)要素は、コンピューティング装置のメモリ内の故障を検出することができる。そのために、MBIST要素は、既知値をデータとして記憶場所に記憶し、記憶されたデータを記憶場所から取り出すことができる。取り出されたデータが既知値と一致しない場合、MBIST要素は、メモリが故障していると推測することができる。
【発明の概要】
【0003】
概要
本明細書は、共有物理メモリを用いて論理メモリ修復を実行するための技術および装置を説明する。メモリクラスタは、複数の物理メモリ上にオーバーレイされた複数の論理メモリを含むことができる。例えば、メモリクラスタは、1つの物理メモリが少なくとも2つの論理メモリによって共有されるように、1つの物理メモリ上に少なくとも2つの論理メモリをオーバーレイすることができる。また、メモリクラスタは、メモリクラスタの外部の要素が、下層物理メモリの知識なしに、論理メモリにアクセスすることを可能にする共有バスインターフェイスを含む。メモリ内蔵自己検査(MBIST)コントローラは、例えば、標準化MBISTアルゴリズムを用いて複数の論理メモリを検査できるように、メモリクラスタの外部に配置されてもよい。MBISTコントローラは、内蔵修復分析(built-in repair analysis:BIRA)機能を含むことができる。BIRA機能を実現するロジックは、論理メモリごとに内蔵自己修復(built-in self-repair:BISR)パラメータを生成することができる。MBISTコントローラが下層物理メモリを考慮せず、論理メモリごとにBISRパラメータを生成するため、個々の物理メモリの修復ロジックは、BISRパラメータを適切に処理することができない場合がある。その結果、メモリエラーまたは非決定的なシグナリング状態をもたらし、メモリクラスタ全体が故障となり、集積回路チップの全体を廃棄する必要がある。
【0004】
このような故障メモリ状態の発生を回避するために、メモリクラスタの複数の物理メモリの各物理メモリは、調停ロジックを含むことができる。各物理メモリの調停ロジックは、メモリクラスタの外部に位置するMBISTコントローラに対して透過的な方法で、物理メモリインスタンスのメモリ部分の冗長性をサポートするメモリラッパーの少なくとも一部を形成することができる。この透過性により、MBISTコントローラは、1つ以上の下層物理メモリのアーキテクチャを考慮することなく、複数の論理メモリを検査および修復することができる。MBISTコントローラがメモリクラスタの外部から論理メモリを検査することを可能にすることによって、MBISTコントローラは、実績のあるMBISTアルゴリズムを採用することができ、それに依拠することができる。
【0005】
調停ロジックは、BISRパラメータを保持する1つ以上のレジスタと、メモリデコーダにデータを入力する少なくとも1つの修復ポートを含む修復ロジックとの間に接続されてもよい。例示的な動作において、調停ロジックは、外部のMBISTコントローラによって設定された論理メモリレベルのBISRパラメータを、物理メモリの修復ロジックによって利用され得る物理メモリレベルのシグナリングに変換する。いくつかの例において、調停ロジックは、1つ以上の修復制御ポートを含み、1つ以上の修復制御ポートは、対象アドレスおよびBISRパラメータを、MBISTコントローラが意図した単一の物理メモリの故障メモリ部分を交換するように、修復ロジックの少なくとも1つの修復ポートが適切に解釈する信号に変換することができる。例えば、調停ロジックは、2つ以上の論理メモリ間の共有物理メモリから同じ故障メモリアドレスが2回に検出された場合に、修復ロジックが2つの交換用メモリ部分を同時に活性化しないことを保証することができる。
【0006】
例示的な態様において、論理メモリ修復を実行するための装置が記載される。この装置は、複数の論理メモリに対して少なくとも1つの検査を実行するように構成された回路を含むメモリ内蔵自己検査コントローラを備える。また、この装置は、共有バスインターフェイスと複数の物理メモリとを含むメモリクラスタを備える。共有バスインターフェイスは、メモリ内蔵自己検査コントローラに接続され、複数の論理メモリへのアクセスを提供するように構成されている。複数の物理メモリは、共有バスインターフェイスに接続されている。複数の物理メモリは、複数の論理メモリのうちの2つ以上の論理メモリをその上にオーバーレイするように構成された少なくとも1つの物理メモリを含む。少なくとも1つの物理メモリは、メモリ内蔵自己検査コントローラによって決定された第1の故障メモリアドレスを記憶するように構成された第1のアドレスレジスタと、メモリ内蔵自己検査コントローラによって決定された第2の故障メモリアドレスを記憶するように構成された第2のアドレスレジスタとを含む。また、少なくとも1つの物理メモリは、記第1のアドレスレジスタと第2のアドレスレジスタとに接続された調停ロジックを含む。調停ロジックは、第1の故障メモリアドレスが第2の故障メモリアドレスと競合することに応答して、少なくとも1つの予備メモリ部分へのアクセスを調停するように構成された回路を含む。
【0007】
例示的な態様において、論理メモリ修復を実行するための方法が記載される。この方法は、メモリ内蔵自己検査コントローラが、複数の論理メモリに対して少なくとも1つの検査を実行することを含む。また、この方法は、メモリ内蔵自己検査コントローラが、実行することに基づいて、少なくとも1つの物理メモリのうちの2つ以上の故障メモリ部分を特定することを含む。この方法は、メモリ内蔵自己検査コントローラが、特定することに基づいて、第1の故障メモリアドレスを第1のアドレスレジスタにロードし、第2の故障メモリアドレスを第2のアドレスレジスタにロードすることをさらに含む。この方法は、第1の故障メモリアドレスが第2の故障メモリアドレスと競合することに応答して、少なくとも1つの物理メモリが、2つ以上の故障メモリ部分に対応する少なくとも1つの予備メモリ部分へのアクセスを調停することをさらに含む。
【0008】
例示的な態様において、論理メモリ修復を実行するための装置が記載される。この装置は、複数の論理メモリに対して少なくとも1つの検査を実行するように構成された回路を含むメモリ内蔵自己検査コントローラを備える。また、この装置は、メモリクラスタを備える。このメモリクラスタは、メモリ内蔵自己検査コントローラに接続され、複数の論理メモリへのアクセスを提供するように構成された共有バスインターフェイスを含む。また、このメモリクラスタは、共有バスインターフェイスに接続され、複数の論理メモリのうちの2つ以上の論理メモリをその上にオーバーレイするように構成された少なくとも1つの物理メモリを含む。少なくとも1つの物理メモリは、複数の論理メモリに対して実行された少なくとも1つの検査に基づいて、メモリ内蔵自己検査コントローラによって確立された1つ以上の内蔵自己修復パラメータを記憶するように構成された1つ以上の内蔵自己修復レジスタを含む。また、少なくとも1つの物理メモリは、修復ロジックと、修復ロジックに接続されたアドレスデコーダとを含む。少なくとも1つの物理メモリは、1つ以上の内蔵自己修復レジスタと修復ロジックとの間に接続された調停ロジックをさらに含む。調停ロジックは、内蔵自己修復パラメータを物理メモリレベルの内蔵自己修復パラメータに変換するように構成された回路を含む。
【0009】
他の例示的な態様において、論理メモリ修復を実行するための技術、プロセス、およびコンピュータ可読媒体が開示される。この概要は、論理メモリ修復を実行するための技術、方法、および装置の簡単な概念を紹介するために提供され、その詳細な内容は、以下詳細な説明においてさらに説明され、図面に示される。
【0010】
以下、論理メモリ修復の1つ以上の態様の詳細を説明する。詳細な説明の異なる例示および図面において、同じ参照番号を用いて、同様の要素を示す。
【図面の簡単な説明】
【0011】
図1】共有物理メモリを用いた論理メモリ修復を実行できる例示的な動作環境を示す図である。
図2】MBISTコントローラと、共有バスインターフェイスを含むメモリクラスタとを備え、論理メモリ修復に関連し得る例示的なアーキテクチャを示す図である。
図3】複数の論理メモリおよび少なくとも1つの物理メモリを含み、共有物理メモリを用いて論理メモリ修復を実行できる例示的な構成を示す図である。
図4】論理メモリ修復を実行するために使用され得る調停ロジックを有するメモリラッパーを実装するための例示的なアーキテクチャを示す図である。
図5】調停ロジックおよびメモリ要素を含み、少なくとも1つの予備メモリ部分を用いて論理メモリ修復を実行するための例示的なアーキテクチャを示す図である。
図6】予備メモリ部分が予備メモリ行で実装され、論理メモリ修復の例示的な第1の手法を実行するための例示的な回路を示す図である。
図7】予備メモリ部分が予備メモリ行で実装され、論理メモリ修復の例示的な第2の手法を実行するための例示的な回路を示す図である。
図8】予備メモリ部分が予備メモリ列で実装され、論理メモリ修復を実行するための例示的な回路を示す図である。
図9】共有物理メモリを用いて論理メモリ修復を実行するための例示的な方法を示す図である。
【発明を実施するための形態】
【0012】
詳細な説明
論理メモリ修復を実行するための技術および装置の特徴および概念は、任意の数の異なる環境に実装され得るが、以下の例に照らして態様を説明する。
【0013】
概観
本明細書は、共有物理メモリを用いた論理メモリ修復を実行するための技術および装置を説明する。コンピューティング装置に使用されている例示的な種類のメモリ編成は、メモリクラスタと呼ばれる。メモリクラスタは、共有バスを介して相互接続されている複数の物理メモリを含む。また、メモリクラスタは、複数の物理メモリ上にオーバーレイされた複数の論理メモリを含むことができる。例えば、複数の物理メモリのうちの1つの物理メモリは、複数の論理メモリのうちの2つの論理メモリに対応してもよく、2つの論理メモリを含んでもよく、または2つの論理メモリによって共有されてもよい。メモリクラスタはまた、メモリクラスタの外部要素が論理メモリにアクセスすることを可能にする共有バスインターフェイスを含む。したがって、少なくともいくつかの例において、メモリクラスタの外部要素は、物理メモリに直接且つ容易にアクセスすることができない。代わりに、外部要素は、共有バスインターフェイスを介して論理メモリにアクセスすることによって、メモリクラスタの記憶リソースを使用する。
【0014】
メモリ内蔵自己検査(BIST)コントローラは、メモリクラスタの外部に配置されてもよい。このような配置によって、メモリBIST(MBIST)コントローラは、他の外部要素が論理メモリを使用する方法と同様の方法で、複数の論理メモリを検査することができる。通常のMBIST技術は、一般的に、このような技術を採用する設計またはアーキテクチャに依存しないメモリ検査を提供する。MBISTをメモリクラスタの物理メモリに直接に追加することは、共有バスアーキテクチャのタイミングおよび性能に悪影響を与える。したがって、MBIST検査の目的のために、MBISTコントローラおよび検査アクセスポート(TAP)は、通常、メモリクラスタの外部に配置される。したがって、論理メモリにアクセスするために使用される回路は、メモリクラスタの外部のMBISTインターフェイスに実装される。この手法は、MBIST技術に関連する自己検査、分析/デバッグおよび修復の利点を維持しながら、共有バスの性能を維持する。
【0015】
共有バスインターフェイスを介して論理メモリ上で動作するMBIST技術は、検査されている物理メモリと直接にインターフェイスしないアーキテクチャを有する。外部のMBISTコントローラは、特定の論理メモリによって完全にまたは部分的にカバーされている物理メモリの数に関係なく、各論理メモリを個別の検査対象として扱うことができる。また、MBISTコントローラは、共有バスアプリケーションと共に使用される内蔵自己修復(BISR)および/または内蔵修復分析(BIRA)技術を含むことができる。しかしながら、BIRAから得られたBISRパラメータを記憶するためのBISRレジスタは、各物理メモリの修復ロジックの1つ以上の対応するメモリ修復ポートを駆動するために特定の物理メモリに関連付けられ得るため、メモリクラスタ内に配置される。BISRレジスタを共有バスまたは他の性能上重要な(performance-critical)パス上に配置する必要がないため、これは許容可能である。いくつかの例において、MBISTコントローラは、別個のシリアルポートを用いて、自己修復レジスタをロードすることができる。
【0016】
検査動作の一部として、MBISTコントローラは、専用のメモリ検査ルーチンを適用する。このメモリ検査ルーチンは、メモリアレイに「ストレスを加える」ように、特定のパターンおよび順序でデータを記憶および取り出すことを含む。これによって、検査ルーチンは、特定可能なメモリ部分の一部であるメモリ位置に対する潜在的な故障応答を引き出す。MBISTコントローラは、故障メモリ行または列などの故障メモリ部分の検出に応答して、交換用メモリ部分を確立するBIRAロジックを含むことができる。メモリクラスタの検査中、MBISTコントローラは、論理メモリを順次に検査することができる。したがって、MBISTコントローラは、潜在的に共有物理メモリを含む少なくとも1つの下層物理メモリを考慮せず、他の論理メモリのBISRパラメータとは別個に、各論理メモリのBISRパラメータを確立する。例えば、2つ以上の論理メモリが同じ物理メモリ(例えば、共有物理メモリ)上にオーバーレイしている場合、直列化分析が下層の物理的な相互関係を考慮しないため、共有物理メモリの修復ロジックは、競合するまたは競合を引き起こすBISRパラメータに応答して、交換メモリ部分を適切に特定するまたは使用することができない場合がある。要するに、BISRパラメータが互いに独立して決定されるため、このBISR誤動作は、定期的なメモリ非検査動作中に発生する可能性がある。
【0017】
このような競合に対処するために、例示的な実装形態において、メモリクラスタの複数の物理メモリの各物理メモリは、調停ロジックを含むことができる。調停ロジックは、物理メモリの修復ロジックと、BIRA処理からのBISRパラメータを記憶するBISRレジスタとの間に接続されている。調停ロジックは、論理メモリレベルで決定されたBISRパラメータを、修復ロジックが物理メモリを正しく動作させるためのシグナリング(例えば、1つ以上のBISR値または電圧)に変換することができる。これにより、修復ロジックは、対象メモリ部分がBIRA処理によって交換されたことに応答して、メモリアクセス用の予備メモリ部分を正しく選択することができる。例えば、調停ロジックは、1つ以上の修復制御ポートを含むことができる。1つ以上の修復制御ポートは、対象アドレスおよびBISRパラメータを、MBISTコントローラが意図した故障メモリ部分を交換するように、修復ロジックの1つ以上の修復ポートが適切に解釈することができる信号に変換することができる。
【0018】
いくつかの実装形態において、各物理メモリの調停ロジックは、物理メモリのメモリクラスタの外部に位置するMBISTコントローラに対して透過的な方法で、メモリ部分の冗長性をサポートするメモリラッパーの少なくとも一部を形成することができる。この透過性によって、1つのMBISTコントローラは、1つ以上の下層物理メモリを考慮することなく、メモリクラスタの複数の論理メモリを検査および修復することができる。これによって、MBISTコントローラは、既知の信頼性の高いMBISTアルゴリズムを採用することができ、それに依拠することができる。
【0019】
また、特定の実装形態は、決定された量の故障メモリ部分に応じて、全ての予備メモリ部分を使用できるようにすることによって、修復範囲を増大させることができる。したがって、自動的に修復不可能とみなされるビットが存在しない。本明細書に記載された戦略は、本明細書に記載された潜在的な競合を考慮することによって、より低い故障品数(DPPM)を提供することができる。また、専用物理メモリが修復ロジックの複数のインスタンスおよび関連するBISRレジスタを含む場合があるが、このアーキテクチャは、面積改善を提供することができるため、本明細書に記載されたように、いくつかの例において、単一の修復ロジックのインスタンスに対して、単一セットの修復ポートを用いて共有物理メモリを構築することができる。さらに、開始点が擬似静的ヒューズレジスタからのものであるため、調停ロジックは、タイミング重要なパスにゲートを追加する必要はない。他の例示的な実装形態および利点は、本明細書に記載される。
【0020】
例示的な装置
図1は、共有物理メモリを用いた論理メモリ修復を実行できる例示的な動作環境100を示す。図1は、一般的に100において、集積回路104(IC104)を有する例示的な装置102を示す。この例において、装置102は、スマートフォンとして示されている。しかしながら、装置102は、任意の好適なコンピューティング装置または電子装置として実装されてもよい。
【0021】
装置102の例は、モバイル電子装置、モバイル通信装置、モデム、セルラー電話またはモバイル電話、移動端末、ゲーム装置、ナビゲーション装置、メディアまたは娯楽装置(例えば、メディアストリーマまたはゲームコントローラ)、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、スマート家電、車両の電子システム、ウェアラブルコンピューティング装置(例えば、ゴーグル、腕時計、または衣服)、IoT(Internet of Things)装置、センサ、在庫管理装置、機械または機器の電子部分、サーバコンピュータまたはその一部(例えば、サーバブレードまたはラック)などを含む。図示された装置102の例は、タブレット装置102-1、スマートテレビ102-2、デスクトップコンピュータ102-3、サーバコンピュータ102-4、スマートウォッチ102-5、スマートフォン(またはドキュメントリーダ)102-6、およびインテリジェントグラス1027を含む。
【0022】
例示的な実装形態において、装置102は、少なくとも1つの集積回路104を含む。集積回路104は、プリント回路基板(PCB)(図示せず)上に実装されてもよい。PCBの例は、可撓性PCB、剛性PCB、単層または多層PCB、表面実装または挿入実装PCB、それらの組み合わせなどを含む。各集積回路104は、汎用プロセッサ、システムオンチップ(SoC)、セキュリティ指向IC、メモリチップ、通信IC(例えば、モデムまたは高周波IC)、グラフィックプロセッサ、人工知能(AI)プロセッサ、それらの組み合わせなどとして実現されてもよい。
【0023】
図示のように、集積回路104は、メモリ内蔵自己検査コントローラ108(MBISTコントローラ108)および複数の他の構成要素(図示せず)に接続された少なくとも1つのメモリクラスタ106を含む。メモリクラスタ106は、1つ以上の論理メモリに関連する少なくとも1つの物理メモリ110を含む。この論理メモリは、少なくとも論理メモリ112-1および論理メモリ112-2を含むことができる。メモリクラスタ106およびMBISTコントローラ108は、単一の集積回路104の一部として示されているが、別々の集積回路および/または別々のプリント回路基板上に配置されてもよい。
【0024】
物理メモリ110は、MBISTコントローラ108と連携して物理メモリ110の修復に利用される調停ロジック114を特徴として備える。メモリクラスタ106において、第1の論理メモリ112-1および第2の論理メモリ112-2は、物理メモリ110上にオーバーレイされている。これによって、2つの論理メモリは、物理メモリ110を共有することができる。例示的な動作において、MBISTコントローラ108は、複数の故障メモリアドレスに対応する複数の故障メモリ位置を検出することができる。いくつかの例において、各論理メモリ112は、2つ以上の故障メモリアドレス間の競合を引き起こすことができる少なくとも1つの故障メモリアドレスを含むことができる。
【0025】
複数の故障メモリアドレスを有するこのような状況に対処するために、調停ロジック114は、第1の故障メモリアドレスが第2の故障メモリアドレスと競合することに応答して、少なくとも1つの予備メモリ部分へのアクセスを調停することができる。このことは、図4および図5を参照して更に説明される。図示のように、メモリクラスタ106およびMBISTコントローラ108は、単一のIC上に集積されてもよい。代替的には、論理および/またはメモリアレイのインスタンスなどの2つ以上の構成要素が、2つ以上のICの間に分散されてもよい。次に、図2および図3を参照して、少なくとも1つの物理メモリ110および複数の論理メモリ112を含むメモリクラスタ106の例を説明する。
【0026】
図2は、メモリクラスタ106とMBISTコントローラ108とを備え、論理メモリ修復に関連し得る例示的なアーキテクチャ200を示す。例示的アーキテクチャ200は、共有バスインターフェイス202を含み、共有バスインターフェイス202は、メモリクラスタ106の一部であるまたはそれに集積されている。図示のように、共有バスインターフェイス202は、マッピングロジック204を含むことができる。検査アクセスポート206(TAP206)は、MBISTコントローラ108に接続され、別のプロセッサまたは回路によるMBISTコントローラ108の制御を可能にすることができる。MBISTコントローラ108は、共有バスインターフェイス202を介して、メモリクラスタ106に接続されてもよい。メモリクラスタ106の構成要素は、単一の回路に集積されてもよく、または複数の集積回路に分散されてもよく、および/または1つ以上のプリント回路基板上に配置されてもよい。
【0027】
例示的な実装形態において、メモリクラスタ106の外部にある構成要素は、論理アドレス208を用いて、メモリクラスタ106のメモリにアクセスすることができる。しかしながら、メモリクラスタ106において、物理アドレス210を用いて、物理メモリをアドレス指定することができる。異なるアドレス(例えば、メモリクラスタ106の外部の論理アドレスおよびメモリクラスタ106の内部の物理アドレス)のアドレス指定に対応するために、共有バスインターフェイス202は、マッピングロジック204を含むことができる。マッピングロジック204は、論理アドレス208と物理アドレス210とをマッピングする。したがって、MBISTコントローラ108から物理メモリ110に伝搬する通信(例えば、メモリ要求)に対して、マッピングロジック204は、論理アドレス208を対応する物理アドレス210に変換する。検査手順の一部であるメモリ応答に対して、マッピングロジック204は、物理アドレス210を対応する論理アドレス208に変換することができる。
【0028】
図示のように、メモリクラスタ106は、複数の物理メモリ110-1~110-5と、共有バス212とを含むことができる。図2には明示されていないが、各物理メモリ110は、共有バス212に接続され、共有バス212は、共有バスインターフェイス202に接続されている。したがって、各物理メモリ110は、共有バス212を介して、共有バスインターフェイス202に接続されてもよい。複数の物理メモリ110-1~110-5のうちの各物理メモリ110は、調停ロジック114を含むことができる。また、メモリクラスタ106は、後述する複数の論理メモリ112-1~112-7を含むことができる。図面は、5つの物理メモリ110および7つの論理メモリ112を示しているが、特定のメモリクラスタ106は、5つよりも多いまたは少ない物理メモリを有してもよく、または7つよりも多いまたは少ない論理メモリを有してもよい。後述するように、物理メモリと論理メモリとの間の対応関係は、1対1でなくてもよい。
【0029】
いくつかの例において、単一の物理メモリは、複数の論理メモリを共有することができる。例えば、メモリクラスタ106は、第1の物理メモリ110-1(PM1)と、第1の物理メモリ110-1上にオーバーレイされた第1の論理メモリ112-1(LM1)および第2の論理メモリ112-2(LM2)とを特徴として備える。物理メモリ110-1は、少なくとも1つの予備メモリ部分へのアクセスを調停する調停ロジック114を特徴として備える。これらの場合と類似する例は、図3を参照して、以下で説明する。これらの場合のようなシナリオにおいて予備メモリ部分がメモリ行に対応する例は、図6および図7を参照して、以下で説明する。
【0030】
他の例において、複数の物理メモリは、単一の論理メモリに対応してもよい。例えば、メモリクラスタ106は、単一の論理メモリ、すなわち、第3の論理メモリ112-3(LM3)に関連付けられた第2の物理メモリ110-2(PM2)と第3の物理メモリ110-3(PM3)とを特徴として備える。この場合、第3の論理メモリ112-3は、2つの物理メモリの間に分散される。第2の物理メモリ110-2および第3の物理メモリ110-3の各々は、対応する物理メモリの少なくとも1つの予備メモリ部分へのアクセスを調停するための調停ロジック114を特徴として備える。
【0031】
さらに他の例において、複数の物理メモリは、複数の論理メモリを共有することができる。例えば、メモリクラスタ106は、第4の論理メモリ112-4(LM4)、第5の論理メモリ112-5(LM5)、第6の論理メモリ112-6(LM6)、および第7の論理メモリ112-7(LM7)に対応する第4の物理メモリ110-4(PM4)と第5の物理メモリ110-5(PM5)とを特徴として備える。第4の論理メモリ112-4、第5の論理メモリ112-5、第6の論理メモリ112-6および第7の論理メモリ112-7の各々は、第4の物理メモリ110-4および第5の物理メモリ110-5の間に分散される。第4の物理メモリ110-4および第5の物理メモリ110-5の各々は、対応する物理メモリの少なくとも1つの予備メモリ部分へのアクセスを調停する調停ロジック114を特徴として備える。これらの場合のようなシナリオにおいて予備メモリ部分がメモリ列に対応する例は、図8を参照して、以下で説明する。
【0032】
図3は、複数の論理メモリおよび少なくとも1つの物理メモリを含み、共有物理メモリを用いて論理メモリ修復を実行できる例示的な構成300を示す。図3に示すように、物理メモリ110は、2つ以上の論理メモリ、すなわち、論理メモリ112-1および論理メモリ112-2によって共有されている。物理メモリ110は、修復ポート302を含むことができる。修復ポート302は、1つ以上の内蔵自己修復(BISR)レジスタ306-1および306-2に関連する回路を含むことができる。各BISRレジスタ306は、1つ以上のフリップフロップを含むことができ、各フリップフロップは、1ビットのBISRパラメータを記憶する。
【0033】
例示的な実装形態において、第1のBISRレジスタ306-1および第2のBISRレジスタ306-2の各々は、故障メモリアドレス(例えば、故障行アドレス、または特定されたビット列などの故障列を示す指示)と、対応するBISRレジスタ306が有効化されたか否かを示す指示とを記憶することができる。より一般的には、各BISRレジスタ306は、少なくとも1つの故障メモリ部分アドレス(FPA)および少なくとも1つの冗長メモリ部分イネーブル(RPEN)指示を記憶することができる。故障メモリ部分アドレスは、メモリ部分を特定するために使用されるビットと少なくとも同じ数のビットを含むことができ、冗長メモリ部分イネーブル指示は、1ビットを含むことができる。第1のBISRレジスタ306-1および第2のBISRレジスタ306-2からの値は、修復ロジック(図示せず)に関連し得る修復ポート302に供給される。
【0034】
物理メモリ110は、第1のMBISTインターフェイス304-1および第2のMBISTインターフェイス304-2に接続され、データ信号にアクセスする(例えば、送信または受信する)、例えばデータ出力信号(DOUT)を取得することができる。この例において、物理メモリ110は、2つの論理メモリよりも広い。図示のように、各論理メモリのデータ出力信号は、「m」ビット幅(LM_DOUT[m:0])である。この「mビット」幅は、下層の物理メモリのビット幅の半分であり、メモリの一方の「半分」ではDOUT[n-1:n/2]から延在し、メモリの他方の「半分」ではDOUT[n/2-1:0]から延在する。各論理メモリが下層の物理メモリよりも広い場合、物理メモリは、2回に検査されない。しかしながら、各論理メモリが物理メモリよりも狭い場合、物理メモリは、(各論理メモリに対して1回ずつ)2回に検査されるが、次に説明するように、検査要素が、メモリ修復を正確に実施するという観点で、2回の検査手順を知的に考慮することはできない。
【0035】
例示的な動作において、(例えば、図1および図2の)MBISTコントローラ108は、第1の論理メモリ112-1および第2の論理メモリ112-2に関して、第1のMBISTインターフェイス304-1および第2のMBISTインターフェイス304-2をそれぞれ介して、物理メモリ110にアクセスする。MBISTコントローラ108は、第1の論理メモリ112-1のサイズおよびデータ幅に従って、第1のMBISTインターフェイス304-1を用いて物理メモリ110の一部を検査する。したがって、MBISTコントローラ108は、第1の論理メモリ112-1に関して、第1のMBISTインターフェイス304-1を介して取得された検査結果に基づいて、第1のBISRレジスタ306-1にデータを追加する。
【0036】
次いで、MBISTコントローラ108は、第2の論理メモリ112-2のサイズおよびデータ幅に従って、第2のMBISTインターフェイス304-2を用いて物理メモリ110の別の部分を検査する。したがって、MBISTコントローラ108は、第2の論理メモリ112-2に関して、第2のMBISTインターフェイス304-2を介して取得された検査結果に基づいて、第2のBISRレジスタ306-2にデータを追加する。さらに、MBISTコントローラ108は、2つの論理メモリに対するこれらの2つの検査が同じ下層の物理メモリに関連すること、または第1のBISRレジスタ306-1および第2のBISRレジスタ306-2が共通のメモリに関連することを知らせられない場合がある。
【0037】
これは、同じ故障メモリ部分アドレス(FPA)が、2つ以上の異なるBISRレジスタにそれぞれ1回ずつ、2回記憶される状況をもたらし得る。このような状況は、この同じ故障メモリ部分アドレスがメモリアクセス要求の対象となる標準的なメモリ非検査モードにおいて、物理メモリ110の後続のアクセスに応答して、競合を引き起こす可能性がある。例えば、2つのメモリ部分冗長イネーブル信号(例えば、2つの交換イネーブル信号)が同時に活性化され可能性があり、メモリアドレスデコーダに故障状態を生じさせる可能性がある。このようなシナリオに対処するために、いくつかの実装形態は、メモリクラスタ環境においてメモリ部分の冗長性を透過的にサポートすることができるメモリラッパーを実装する。次に、図4を参照して、例示的なメモリラッパーの実装例を説明する。
【0038】
図4は、論理メモリ修復を実行するために使用され得る調停ロジックを有するメモリラッパーを実装するための例示的なアーキテクチャ400を示す。例示的な実装形態において、物理メモリ110は、クラスタメモリ環境においてメモリ部分の冗長性をサポートするメモリラッパー416を含む。メモリラッパー416によって、MBISTコントローラ108は、1つ以上の下層物理メモリを調整することなく、論理メモリに対してメモリ検査を実行することができる。
【0039】
図示のように、物理メモリ110は、少なくとも1つの修復ロジック414と、少なくとも1つのアドレスデコーダ406と、少なくとも1つのメモリアレイ408と、データ入出力ロジック410(データI/Oロジック410)とを含む。アドレスデコーダ406は、修復ロジック414とメモリアレイ408との間に接続されてもよい。データI/Oロジック410は、メモリアレイ408と共有バス212との間に接続されてもよい。修復ロジック414は、少なくとも1つのBISRインジケータ信号418(例えば、1つ以上のメモリ部分冗長イネーブル信号)をアドレスデコーダ406に提供する。BISRインジケータ信号418は、メモリアクセス要求の対象であるアドレス412と、BISRレジスタ306-1および306-2の1つ以上のBISRパラメータとに基づいて、予備メモリ部分(図4には図示せず)がアクセスされるか否かを示す。
【0040】
いくつかの実装形態において、調停ロジック114は、BISRレジスタ306-1および306-2と修復ロジック414との間に接続されている。修復ロジック414は、調停ロジック114とアドレスデコーダ406との間に接続されてもよい。第1のBISRレジスタ306-1および第2のBISRレジスタ306-2は、共有バス212と調停ロジック114との間に接続されてもよい。調停ロジック114は、修復ロジック414の少なくとも1つの修復ポート(図示せず)のために、BISRレジスタ306-1および306-2に記憶されたBISRパラメータを解釈する。
【0041】
解釈の一部として、調停ロジック114は、物理メモリ110上にオーバーレイされている1つ以上の論理メモリを考慮するように、BISRパラメータを変換することができる。そのために、調停ロジック114は、2つ以上の修復制御ポート、例えば、少なくとも1つの既定修復制御ポート402および少なくとも1つの疑似修復制御ポート404を実装することができる。修復制御ポートは、2つ以上の論理メモリの検査を介して特定される故障メモリ部分、例えば、故障メモリ行または故障メモリ列を修復することができる。一般的に、修復ロジック414は、メモリアクセス要求の対象であるメモリアドレス412と、少なくとも1つのBISRレジスタ306内に記憶される第1の故障メモリアドレスおよび第2の故障メモリアドレスなどの少なくとも1つの故障メモリアドレスとに基づいて、メモリアクセス要求を予備メモリ部分にルーティングすることができる。
【0042】
例示的な動作において、データI/Oロジック410は、1つ以上のメモリ動作の一部として、情報をメモリアレイ408に記憶することができ、またはメモリアレイ408から情報をロードすることができる。I/Oロジック410は、共有バス212を介して、メモリアレイ408と共有バスインターフェイス202との間で情報を通信または伝搬することができる。MBISTコントローラ108は、共有バスインターフェイス202を介して動作して、少なくとも1つの論理メモリ112の複数のアドレス、例えば、アドレス412(例えば、メモリアドレス)に対して検査を実行する。メモリクラスタ内の物理アドレスであり得るアドレス412は、アドレスデコーダ406および修復ロジック414に提供されてもよい。いくつかの例において、調停ロジック114は、アドレス412を受信して調停を実行することもできる。
【0043】
メモリラッパー416は、複数の修復制御ポート、例えば、物理メモリ110上にオーバーレイされる論理メモリごとに1つの修復制御ポートを含む(例えば、有するまたは実現する)ことができる。各論理メモリ112は、調停ロジック114によって作成された各仮想修復制御ポートに対応することができる。図示のように、複数の修復制御ポートは、既定修復制御ポート402と、擬似修復制御ポート404とを含むことができる。
【0044】
いくつかの例において、既定修復制御ポート402は、MBISTコントローラ108が最初に検査する論理メモリ112に対応する。その後検査される各論理メモリ112は、疑似修復制御ポート404などの疑似修復制御ポートに対応することができる。したがって、第1の論理メモリ112-1は、既定修復制御ポート402に対応することができ、第2の論理メモリ112-2は、図示された擬似修復制御ポート404に対応することができ、第3の論理メモリ(図4に図示せず)は、別の擬似修復制御ポート404(図示せず)に対応することができる。修理制御ポートの例は、図6~8を参照して説明される。
【0045】
図5は、調停ロジックおよびメモリ構成要素を含み、少なくとも1つの予備メモリ部分を用いて論理メモリ修復を実行するための例示的なアーキテクチャ500を示す。図示のように、物理メモリ110は、調停ロジック114と、修復ロジック414と、アドレスデコーダ406と、メモリアレイ408とを含む。メモリアレイ408は、複数のメモリ部分、例えば、第1のメモリ部分508-1および第2のメモリ部分508-2を含む。各メモリ部分508は、例えば、少なくとも1つのメモリ行または少なくとも1つのメモリ列に対応することができる。メモリアレイ408の少なくとも1つのメモリ部分508の冗長性を可能にするために、物理メモリ110は、複数の予備メモリ部分、例えば、第1の予備メモリ部分506-1および第2の予備メモリ部分506-2を含むことができる。同様に、各予備メモリ部分506は、少なくとも1つの予備メモリ行または少なくとも1つの予備メモリ列に対応することができる。また、物理メモリ110は、BISRパラメータを記憶するための第1のBISRレジスタ306-1および第2のBISRレジスタ306-2を含む。
【0046】
例示的な実装形態において、各BISRレジスタ306は、少なくとも1つのアドレスレジスタ502と、少なくとも1つのイネーブルレジスタ504とを含むことができる。したがって、第1のBISRレジスタ306-1は、第1のアドレスレジスタ502-1および第1のイネーブルレジスタ504-1を含むことができ、第2のBISRレジスタ3062は、第2のアドレスレジスタ502-2および第2のイネーブルレジスタ504-2を含むことができる。第1のアドレスレジスタ502-1は、MBISTコントローラ108によって決定された第1の故障メモリアドレスを記憶することができる。第2のアドレスレジスタ502-2は、MBISTコントローラ108によって決定された第2の故障メモリアドレスを記憶することができる。第1のイネーブルレジスタ504-1は、MBISTコントローラ108によって決定されるように、対応する第1の(冗長)予備メモリ部分が使用可能であることを示す指示を記憶することができる。第2のイネーブルレジスタ504-2は、MBISTコントローラ108によって決定されるように、対応する第2の(冗長)予備メモリ部分が使用可能であることを示す指示を記憶することができる。
【0047】
調停ロジック114が故障メモリアドレスおよびイネーブル指示パラメータを分析することを可能にするために、調停ロジック114は、第1のアドレスレジスタ502-1、第2のアドレスレジスタ502-2、第1のイネーブルレジスタ504-1、および第2のイネーブルレジスタ504-2に接続されてもよい。いくつかの例において、調停ロジック114は、第1の故障メモリアドレスが第2の故障メモリアドレスと競合することに応答して、少なくとも1つの予備メモリ部分506へのアクセスを調停するための回路を含む。
【0048】
例示的な動作において、MBISTコントローラ108の回路は、第1の論理メモリ112-1および/または第2の論理メモリ112-2を検査することによって、少なくとも1つの物理メモリ110に対応する第1の故障メモリアドレスを決定する。また、MBISTコントローラ108の回路は、第1の論理メモリ112-1および/または第2の論理メモリ112-2を検査することによって、物理メモリ110に対応する第2の故障メモリアドレスを決定する。MBISTコントローラ108は、BISR手順の一部として、故障メモリアドレスをBISRレジスタ306-1および306-2に記憶することができる。
【0049】
第1のBISRレジスタ306-1は、第1のアドレスレジスタ502-1と、第1のBISRレジスタ306-1が有効化されているか否かを示す第1のイネーブルレジスタ504-1とを含む。例えば、第1のアドレスレジスタ502-1は、第1のメモリ部分508-1が故障していることをMBISTコントローラ108が検出したことに応答して、第1のメモリ部分508-1に対応する第1の故障メモリアドレスを記憶することができる。さらに、第1の故障メモリアドレスが対象である場合、すなわち、(図4の)アドレス412が第1の故障メモリアドレスに対応する場合、第1のイネーブルレジスタ504-1は、第1の予備メモリ部分506-1がアクセスされるという肯定的な指示を記憶する。第2のBISRレジスタ306-2は、第2のアドレスレジスタ502-2と、第2のBISRレジスタ306-2が有効化されているか否かを示す第2のイネーブルレジスタ504-2とを含む。
【0050】
MBISTコントローラ108は、複数の論理メモリ112-1および112-2を連続的に且つ少なくとも部分的に独立して検査するため、同じ故障メモリアドレスを第1のアドレスレジスタ502-1および第2のアドレスレジスタ502-2に記憶することができる。調停ロジック114が設けられていない場合、修復ロジック414は、例えば1回のメモリアクセス中に、2つの予備メモリ部分を同時に活性化する可能性がある。しかしながら、調停ロジック114は、このようなエラー状態を防止するように動作する。そのために、第1のBISRレジスタ306-1および第2のBISRレジスタ306-2は、アドレスおよびイネーブル情報を調停ロジック114に提供する。
【0051】
対応するメモリ部分508が故障していると特定された場合、調停ロジック114は、アドレスおよびイネーブルBISRパラメータを処理して、アクセス用の単一の予備メモリ部分506を解決する。調停ロジック114は、変換されたBISRパラメータ情報を修復ロジック414の1つ以上の修復ポート(図示せず)に提供する。その結果、修復ロジック414は、アドレスデコーダ406を用いて、特定のメモリアクセスのために単一の予備メモリ部分506を活性化することができる。
【0052】
したがって、物理メモリ110は、メモリアクセス要求の対象であるメモリアドレス412と、(例えば、第1のアドレスレジスタ502-1に記憶されている)第1の故障メモリアドレスと、(例えば、第2のアドレスレジスタ502-2に記憶されている)第2の故障メモリアドレスとに基づいて、メモリアクセス要求を予備メモリ部分(例えば、506-1または506-2)にルーティングするための修復ロジック414を含む。そのために、修復ロジック414は、メモリアレイ408および/または少なくとも1つの予備メモリ部分506に接続されるアドレスデコーダ406と通信する。修復ロジック414は、調停ロジック114とアドレスデコーダ406との間に接続されてもよい。調停ロジック114は、修復ロジック414とBISRレジスタ306-1および306-2との間に接続されてもよい。これによって、調停ロジック114は、BISRレジスタ306-1および306-2に記憶された1つ以上のBISRパラメータを、修復ロジック414の1つ以上の修復ポート用の少なくとも1つの調停信号510に変換することによって、複数の予備メモリ部分506-1および506-2が同時に活性化されないことを保証することができる。
【0053】
検査段階中、MBISTコントローラ108の回路は、論理メモリアドレスを用いて、複数の論理メモリ(例えば、112-1および112-2)にアクセスする。共有バスインターフェイス202のマッピングロジック204は、論理メモリアドレスを、物理メモリ110に関連付けられた物理メモリアドレスにマッピングすることができる。MBISTコントローラ108が、論理メモリ112-1および112-2が1つ以上の記憶場所に起因して故障していると判断した場合、第1の故障論理メモリ(例えば、112-1)および第2の故障論理メモリ(例えば、112-2)は、物理メモリ110の同じ物理アドレス空間を共有する。したがって、第1の故障メモリアドレスおよび第2の故障メモリアドレスは、BISRレジスタ306-1および306-2に記憶されたBISRパラメータによって示されるように、同じ故障メモリ部分(例えば、第1のメモリ部分508-1)または同じ予備メモリ部分(例えば、予備メモリ部分506-1である)に対応し得る。いくつかの例において、調停ロジック114の回路は、異なる論理メモリ(例えば、112-1および112-2)に関連付けられるが、同じ物理メモリアドレスを対象とするメモリ要求を、同じ予備メモリ部分506-1にルーティングすることができる。
【0054】
検査段階の後、第1のイネーブルレジスタ504-1は、第1の故障メモリ部分508-1が対応する第1の予備メモリ部分506-1によって交換されたか否かを示す第1の指示を記憶することができ、第1の故障メモリ部分508-1は、第1の故障メモリアドレスに対応する。第2のイネーブルレジスタ504-2は、第2の故障メモリ部分508-2が対応する第2の予備メモリ部分506-2によって交換されたか否かを示す第2の指示を記憶することができ、第2の故障メモリ部分508-2は、第2の故障メモリアドレスに対応する。調停ロジック114の回路は、第1の指示および第2の指示に応答して、第1の予備メモリ部分506-1および第2の予備メモリ部分506-2へのアクセスを調停することができる。例えば、調停ロジック114は、修復ロジック414によって生成された第1のメモリ部分冗長イネーブル信号および第2のメモリ部分冗長イネーブル信号を利用して、第1の故障メモリアドレスが第2の故障メモリアドレスと一致することに応答して、2つ以上の予備メモリ部分を同時に活性化することを防止することができる。
【0055】
図6は、予備メモリ部分が予備メモリ行で実装され、論理メモリ修復の例示的な第1の手法を実行するための例示的な回路600を示す。したがって、予備メモリ部分506-1および506-2の各々は、予備メモリ行602-1または602-2で実現することができる。このような場合、第1の故障メモリアドレスおよび第2の故障メモリアドレスは、物理メモリの故障したメモリ行の少なくとも1つの故障行アドレス(FRA)を含むことができる。
【0056】
明確にするために、図6の物理メモリは、左半分の物理メモリ608-1および右半分の物理メモリ608-2を含む分割メモリである。また、第1の論理メモリ(図6には図示せず)が左半分の物理メモリ608-1上にオーバーレイされ、第2の論理メモリ(図示せず)が右半分の物理メモリ608-2上にオーバーレイされる。この例示的な分割メモリにおいて、予備列604-1および604-2は、左半分の物理メモリ608-1と右半分の物理メモリ608-2との間に共有されていない。したがって、このようなアーキテクチャにおいて、調停ロジック114は、故障列の列冗長性BISRパラメータまたは指示に適用されない可能性がある。
【0057】
しかしながら、予備行602-1および602-2は、左半分の物理メモリ608-1と右半分の物理メモリ608-2との間に共有されている。したがって、調停ロジック114を適用することによって、故障メモリ行アドレスとの競合を防止することができる。物理メモリを半分に分割して、論理メモリを各半分に適用する環境を用いて、図6および図7を参照して特定の原理を説明する。しかしながら、説明される原理は、他の数または組み合わせの物理メモリおよび論理メモリに適用可能である。
【0058】
また、例示的な回路600は、予備列604-1および604-2と、アドレスデコーダ606と、I/O回路610とを含むことができる。図示された信号は、論理メモリにメモリアクセスするためのアドレス(A[m:0])と、第1の故障行アドレス(FRA1[m:0])と、第1の冗長行イネーブル信号(RREN1)と、第2の故障行アドレス(FRA2[m:0])と、第2の冗長行イネーブル信号(RREN2)とを含む。図示された他の信号は、第1のデータ部分(D[0:n/2-1])と、第1の故障列インジケータ(FCI1[m:0])と、第1の冗長列イネーブル信号(CRE1)または第1の列冗長イネーブル信号と、第2の冗長列イネーブル信号(CRE2)または第2の列冗長イネーブル信号と、第2の故障列インジケータ(FCI2[m:0])と、第2のデータ部分(D[n/2:n-1])とを含む。アドレスデコーダ606は、修復ロジック414から、アドレス(A)と、第1の行冗長イネーブル信号(RRE1)および第2の行冗長イネーブル信号(RRE2)とを受信することができる。
【0059】
図6の回路600が調停ロジック114を含んでいない場合、第2の冗長行イネーブル信号(RREN2)は、(図示のように)修復ロジック414の修復ポートを介して、「右の」ANDゲート616の第2の入力に直接に印加される。いくつかの故障シナリオにおいて、MBISTコントローラは、第1の故障行アドレス(FRA1[m:0])と第2の故障行アドレス(FRA2[m:0])とが一致するように、同じ故障行アドレスを2つのBISRレジスタにロードすることができる。対象アドレス(A)が故障行アドレスと一致すると、(調停ロジック114が設けられていない場合)修復ロジック414は、アドレスデコーダ606の入力で、第1および第2の行冗長イネーブル信号(RRE1およびRRE2)の両方を有効化する。これは、エラー状態をもたらすことになる。
【0060】
しかしながら、このようなシナリオに対抗するために、回路600は、調停ロジック114を含むことができる。図6の例示的な調停ロジック114は、比較器612と、ANDゲート614とを含み、このANDゲートは、「通常」(非反転)入力と、反転入力とを有する。例示的な動作において、比較器612は、その第1の入力および第2の入力で第1の故障行アドレスおよび第2の故障行アドレス(FRA1およびFRA2)を受信する。これら2つの故障行アドレスが一致することに応答して、比較器612は、ハイ信号を出力する。ANDゲート614の反転入力は、これをロー信号に反転する。少なくとも1つのロー信号の処理に応答して、ANDゲート614は、非反転入力の第2の冗長行イネーブル信号(RREN2)の値に関係なく、ロー信号を出力する。このロー信号は、修復ロジック414の修復ポートを介して、調停信号510としてANDゲート616の入力に供給される。したがって、ANDゲート616は、第2の行冗長イネーブル信号(RRE2)に対してロー値を出力することによって、アドレスデコーダ606へのこの入力を非活性化する。
【0061】
一方、修復ロジック414の1つ以上の修復ポートは、BISRレジスタ306-1および306-2(図6には図示せず)から、1つ以上のBISRパラメータを「直接に」(例えば、調停ロジック114によって変換または修正されることなく)を受信する。(図示のように)修復ロジック414の「左の」ANDゲート618は、アドレスデコーダ606で第1の行冗長イネーブル信号(RRE1)を活性化するためのハイ信号を生成する。したがって、第1の故障行アドレス(FRA1[m:0])と第2の故障行アドレス(FRA2[m:0])の両方が互いに一致し且つ対象アドレス(A)と一致するシナリオにおいて、調停ロジック114は、エラー状態を回避するために、修復ロジック414に1つの行冗長イネーブル信号(この場合、RRE1)を活性化させる。回避されたエラー状態は、1回のメモリアクセスサイクル中に、複数の行冗長イネーブル信号(RRE1およびRRE2)がアドレスデコーダ606の2つの入力で活性化される場合に生じる。
【0062】
図7は、予備メモリ部分が予備メモリ行で実装され、論理メモリ修復の例示的な第2の手法を実行するための例示的な回路700を示す。図示のように、調停ロジック114は、複数の修復制御ポート402および404を含むまたはインスタンス化する。また、調停ロジック114は、行デコーダロジック702として実現され得るデコーダロジック702を含む。例示的な実装形態において、デコーダロジック702は、より多様な潜在的な多欠陥シナリオを補正することによって、行交換サポートを強化することができる。
【0063】
いくつかの例において、図6に明示されている例示的な回路600において、一組の予備行が各論理メモリに割り当てられている。その結果、一部の多欠陥シナリオは、修復不可能になる可能性がある。しかしながら、修復制御ポートを使用する手法は、論理メモリレベルで独立したBIRAを可能にすることによって、より多様な欠陥シナリオを補正することができる。そのために、各論理メモリは、対応する修復制御ポートにマッピングされてもよい。例えば、調停ロジック114は、既定修復制御ポート402を2つ以上の論理メモリのうちの第1の論理メモリにマッピングすることができる。調停ロジック114は、疑似修復制御ポート404を2つ以上の論理メモリのうちの第2の論理メモリにマッピングすることができる。
【0064】
図7において、第1のBISRレジスタ306-1は、少なくとも1つの故障行アドレス(FRA)および少なくとも1つの冗長行イネーブル(RREN)信号を提供することができる。図示のように、第1のBISRレジスタ306-1は、既定修復制御ポート402に対して、第1および第2の故障行アドレス(FRA1およびFRA2)ならびに第1および第2の冗長行イネーブル(RREN1およびRREN2)信号を提供することができる。いくつかのシナリオにおいて、「既定」修復制御ポート402は、最初に検査される論理メモリに対応することができる。第2のBISRレジスタ306-2は、少なくとも1つの疑似故障行アドレス(P_FRA)および少なくとも1つの疑似冗長行イネーブル(P_RREN)信号を提供することができる。図示のように、第2のBISRレジスタ306-2は、疑似修復制御ポート404に対して、第1および第2の疑似故障行アドレス(P_FRA1およびP_FRA2)ならびに第1および第2の疑似冗長行イネーブル(P_RREN1およびP_RREN2)信号を提供することができる。図面は、1つの疑似修復制御ポートを示しているが、最初に検査された論理メモリに加えて、複数の論理メモリに対応する複数の疑似修復制御ポートが存在してもよい。
【0065】
デコーダロジック702は、第1のBISRレジスタ306-1および第2のBISRレジスタ306-2からの入力をBISRパラメータとしてデコードして、故障行アドレスおよび故障冗長行イネーブル信号の調停済み出力値を1つ以上の調停信号510として提供する。1つ以上の調停信号510は、物理メモリレベルで単一の修復制御ポートとして機能する。したがって、調停ロジック114は、複数の修復制御ポート402および404を単一の修復制御ポートに変換して、少なくとも1つの物理メモリの1つ以上の予備メモリ部分(例えば、予備行602または予備列604)にアクセスすることができる。調停信号510は、調停ロジック114のデコーダロジック702によって出力され、修復ロジック414の1つ以上の修復ポート(別個に示されていない)に提供される。これらの値は、第1の調停済み故障行アドレス(FRA1_arb)、第1の調停済み冗長行イネーブル(RREN1_arb)信号、第2の調停済み故障行アドレス(FRA2_arb)、および第2の調停済み冗長行イネーブル(RREN2_arb)信号を含むことができる。
【0066】
疑似修復制御ポートによって、第2の論理メモリのBIRAは、第1の論理メモリに対して実質的に独立することができる。デコーダロジック702は、メモリクラスタの外部にあるMBISTコントローラによって確立された論理メモリレベルのBISRパラメータから、修復ロジック414用の物理メモリレベルの行修復制御信号を生成することができる。例示的な動作において、デコーダロジック702は、第1の行冗長イネーブル信号(RRE1)が第2の行冗長イネーブル信号(RRE2)と等しくならないように物理メモリレベルでこれらの調停値を決定して、1回のアクセスサイクル中に交換行の両方を活性化することを回避することができる。
【0067】
論理ゲートを用いてデコーダロジック702を構築することによって、2つ以上の信号間の論理関係を実装することができる。論理関係は、例えば、少なくとも1つの物理メモリ上にオーバーレイされる論理メモリの数、および/または利用可能な冗長交換行の数に依存し得る。以下の表1は、複数の信号間の例示的な論理関係を示している。論理関係は、論理メモリレベルの信号(例えば、値)を物理メモリレベルの信号に変換する例を示している。
【0068】
【表1】
【0069】
表1のマトリックスに示された論理関係を用いて、1つ以上の論理メモリ間のいくつかのマルチ故障(例えば、マルチ欠陥)シナリオを修復することができる。例えば、2つの論理メモリの各論理メモリ内の1つの予備行を消費する各論理メモリ内の1つの故障を修復することができる。第2に、2つの論理メモリのうちの第1の論理メモリ内の1つまたは2つの故障は、それぞれ1行または2行で修復可能である場合、修復可能である。第3に、2つの論理メモリのうちの第2の論理メモリ内の1つまたは2つの故障は、それぞれ1行または2行で修復可能である場合、修復可能である。これらのシナリオにおいて、{RREN1=0,RREN2=1}は、無効条件とみなされる。(例えば、2つの論理メモリのうちの第1の論理メモリが1つの故障を有し、2つの論理メモリのうちの第2の論理メモリが2つの故障を有する、またはその逆である)3つの故障シナリオは、デコーダロジック702内の追加のオーバーヘッド回路でカバーすることができる。さらに、追加のBISRレジスタおよび/または修復制御ポートを、信号間の拡張論理関係を実現するデコーダロジック702に組み込むことができる。
【0070】
図6および図7は、故障行を交換することができる予備行という観点から上述した。例えば、デコーダロジック702は、行デコードロジックとして説明されている。しかしながら、この原理は、予備列(または他の種類の予備メモリ部分)が故障列(または他の種類の故障メモリ部分)を交換できる回路に適用可能である。次に、図8を参照して、メモリ列の故障を修復できる例示的な回路を説明する。
【0071】
図8は、予備メモリ部分が予備メモリ列で実装され、論理メモリ修復を実行するための例示的な回路800を示す。図示のように、複数の論理メモリ(112-1、112-2、112-3、112-4)は、複数の物理メモリ(110-1、110-2)の間で共有される。この回路において、予備メモリ部分506は、故障メモリ列を交換するための予備メモリ列を含むまたは予備メモリ列として実装される。引き続き図6および図7の例示的な分割メモリを参照して、予備列604-1および604-2は、左半分の物理メモリ608-1および右半分の物理メモリ608-2にそれぞれ対応する。これらの予備列は、半分の間で共有されない。しかしながら、4つの論理メモリが分割物理メモリ上にオーバーレイされている場合、各組の予備列604-1および604-2は、4つの論理メモリのうちの2つの間で共有される。
【0072】
メモリアクセス要求の対象であるメモリ列が故障メモリ列であるか否かが、少なくとも1つのBISRレジスタ306からの故障列インジケータ(FCI)および列行イネーブル(CRE)信号に基づいて判断されてもよい。したがって、第1の故障メモリアドレスおよび第2の故障メモリアドレスは、故障であるメモリ列を特定する(例えば、少なくとも1つの故障ビットを有するビット列を特定する)少なくとも1つのメモリ列インジケータに対応する。1つ以上の故障メモリ列インジケータは、BISRレジスタ306(例えば、BISRレジスタ306-1、306-2、306-3、および/または306-4)に記憶されてもよい。各BISRレジスタ306は、関連する故障メモリ列インジケータレジスタが交換用ビット列を特定する有効な交換インジケータを記憶しているか否かを示す指示を記憶することができる。
【0073】
例示的な実装形態において、調停ロジック114および修復ロジック414は各々、2つの部分、例えば、調停ロジック114-1および114-2に分割される。各組のBISRレジスタ306-1、306-2、306-3、および306-4は、イネーブル指示および故障列インジケータCRE10/FCI10、CRE11/FCI11、CRE20/FCI20、およびCRE21/FCI21をそれぞれ提供することができる第1の論理メモリ、第2の論理メモリ、第3の論理メモリ、および第4の論理メモリ(図8に図示せず)にそれぞれ対応する。図示のように、これらのイネーブル指示および故障列インジケータは、調停ロジック114-1または114-2に提供される。調停ロジック114-1および114-2のインスタンスは、CRE1/FCI1およびCRE2/FCI2によってそれぞれ示されているように、調停信号510-1および510-2を、第1半分の物理メモリ608-1および第2半分の物理メモリ608-2の各々の修復ロジック414の1つ以上の修復ポートにそれぞれ提供する。
【0074】
これらの態様において、論理メモリレベルでメモリ検査を実行することによって生じる競合を考慮しながら、分割メモリ環境内の調停ロジック114の少なくとも1つのインスタンスを用いて、予備メモリ列で故障メモリ列を交換することができる。図6~8を参照して本明細書に記載された例示的な実装形態は、分割メモリ環境に関する。しかしながら、本明細書に記載された原理、論理メモリ修復技術および装置は、一般的に、メモリ環境に適用可能である。
【0075】
例示的な方法
図9は、共有物理メモリを用いて論理メモリ修復を実行するための例示的な方法900を示す。これらの例において、方法は、少なくとも1つの物理メモリを修復することができる。少なくとも1つの物理メモリは、メモリクラスタの一部として共有バスインターフェイスの後方に配置され、少なくとも1つの物理メモリ上にオーバーレイされた少なくとも1つの論理メモリに基づいて検査される。
【0076】
902において、メモリ内蔵自己検査コントローラは、複数の論理メモリに対して少なくとも1つの検査を実行する。一例において、MBISTコントローラ108は、単一の物理メモリ110にわたって分散された第1の論理メモリ112-1および第2の論理メモリ112-2に対して検査を実行することができる。別の例において、MBISTコントローラ108は、複数の物理メモリ1101および1102にわたって分散された複数の論理メモリ112-1、112-2、112-3、および112-4に対して検査を実行することができる。
【0077】
904において、メモリ内蔵自己検査コントローラは、実行された検査に基づいて、少なくとも1つの物理メモリの2つ以上の故障メモリ部分を特定する。例えば、MBISTコントローラ108は、少なくとも1つの物理メモリ110の第1のメモリ部分508-1および第2のメモリ部分508-2が故障していると特定することができる。これらの故障メモリ部分は、少なくとも1つのメモリ行、少なくとも1つのメモリ列、少なくとも1つのメモリ行および少なくとも1つのメモリ列などに対応してもよい。実行された検査は、1つ以上の標準的なMBIST検査アルゴリズムに対応してもよい。
【0078】
906において、メモリ内蔵自己検査コントローラは、特定された2つ以上の故障メモリ部分に基づいて、第1の故障メモリアドレスを第1のアドレスレジスタにロードし、第2の故障メモリアドレスを第2のアドレスレジスタにロードする。例えば、MBISTコントローラ108は、第1の故障メモリアドレスを第1のアドレスレジスタ502-1にロードし、第2の故障メモリアドレスを第2のアドレスレジスタ502-2をロードすることができる。各故障メモリアドレスは、例えば、検査によって故障であると特定されたメモリ部分508に対応し得る。いくつかの例において、第1のアドレスレジスタ502-1に記憶される第1の故障メモリアドレスは、第2のアドレスレジスタ502-2に記憶される第2の故障メモリアドレスと一致する(例えば、同じである)可能性がある。調停ロジック114を使用しない場合、これらの一致する故障メモリアドレスは、2つの冗長イネーブル信号を同時に活性化する可能性があり、アドレスデコードエラーを引き起こす可能性がある。しかしながら、調停ロジック114は、このような競合するアドレスを解決することができる。
【0079】
908において、少なくとも1つの物理メモリは、第1の故障メモリアドレスが第2の故障メモリアドレスと競合することに応答して、2つ以上の故障メモリ部分に対応する少なくとも1つの予備メモリ部分へのアクセスを調停する。例えば、少なくとも1つの物理メモリ110の調停ロジック114は、対応する故障メモリ部分を修復するために使用される予備メモリ部分506へのアクセスを調停することができる。例えば、調停ロジック114は、修復ロジック414に第1のメモリ部分冗長イネーブル信号をアサートさせ、修復ロジック414に第2のメモリ部分冗長イネーブル信号をデアサートさせることができる。代替的には、調停ロジック114は、修復ロジック414に、第1のメモリ部分冗長イネーブル信号をデアサートさせ、修復ロジック414に、第2のメモリ部分冗長イネーブル信号をアサートさせることができる。
【0080】
通常、本明細書に記載された要素、モジュール、方法/処理、および動作は、いずれもソフトウェア、ファームウェア、ハードウェア(例えば、固定論理回路)、手動処理、またはそれらの任意の組合せを用いて実装されてもよい。例示的な方法または処理の一部の動作は、コンピュータ処理システムに対してローカルおよび/またはリモートであるコンピュータ可読記憶メモリに記憶された実行可能な命令の一般的な文脈で説明されてもよく、実装形態は、ソフトウェアアプリケーション、プログラム、関数などを含んでもよい。代替的にまたは追加的に、本明細書に記載されたいずれかの機能は、例えば、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準製品(ASSP)、システムオンチップシステム(SoC)、複合プログラマブルロジック装置(CPLD)などを含むがこれらに限定されない1つ以上のハードウェア論理構成要素によって、少なくとも部分的に実行されてもよい。
【0081】
以下、いくつかの例を説明する。
例1
装置であって、
複数の論理メモリに対して少なくとも1つの検査を実行するように構成された回路を含むメモリ内蔵自己検査コントローラと、
メモリクラスタとを備え、
メモリクラスタは、
メモリ内蔵自己検査コントローラに接続され、複数の論理メモリへのアクセスを提供するように構成された共有バスインターフェイスと、
共有バスインターフェイスに接続された複数の物理メモリとを含み、複数の物理メモリは、複数の論理メモリのうちの2つ以上の論理メモリをその上にオーバーレイするように構成された少なくとも1つの物理メモリを含み、
少なくとも1つの物理メモリは、
メモリ内蔵自己検査コントローラによって決定された第1の故障メモリアドレスを記憶するように構成された第1のアドレスレジスタと、
メモリ内蔵自己検査コントローラによって決定された第2の故障メモリアドレスを記憶するように構成された第2のアドレスレジスタと、
第1のアドレスレジスタと第2のアドレスレジスタとに接続された調停ロジックとを含み、調停ロジックは、第1の故障メモリアドレスが第2の故障メモリアドレスと競合することに応答して、少なくとも1つの予備メモリ部分へのアクセスを調停するように構成された回路を含む。
【0082】
例2
複数の論理メモリのうちの2つ以上の論理メモリは、第1の論理メモリと第2の論理メモリとを含み、
2つ以上の論理メモリのうちの第1の論理メモリと第2の論理メモリとは、少なくとも1つの物理メモリを共有するように構成され、
メモリ内蔵自己検査コントローラの回路は、2つ以上の論理メモリのうちの第1の論理メモリを検査することによって、少なくとも1つの物理メモリに対応する第1の故障メモリアドレスを決定するように構成され、
メモリ内蔵自己検査コントローラの回路は、2つ以上の論理メモリのうちの第2の論理メモリを検査することによって、少なくとも1つの物理メモリに対応する第2の故障メモリアドレスを決定するように構成されている、例1に記載の装置。
【0083】
例3
メモリ内蔵自己検査コントローラの回路は、論理メモリアドレスを用いて複数の論理メモリにアクセスするように構成され、
共有バスインターフェイスは、論理メモリアドレスを複数の物理メモリの物理メモリアドレスにマッピングするように構成されている、例1または例2に記載の装置。
【0084】
例4
第1の故障メモリアドレスおよび第2の故障メモリアドレスは、物理メモリアドレスのうちの同じ物理メモリアドレスを含み、かつ、少なくとも1つの予備メモリ部分のうちの同じ予備メモリ部分に対応しており、
調停ロジックの回路は、2つ以上の論理メモリの異なる論理メモリに関連付けられ、同じ物理メモリアドレスを対象とするメモリ要求を同じ予備メモリ部分にルーティングするように構成されている、先行する例のいずれか1つに記載の装置。
【0085】
例5
少なくとも1つの予備メモリ部分は、少なくとも1つの予備メモリ行を含み、
第1の故障メモリアドレスおよび第2の故障メモリアドレスは、少なくとも1つの物理メモリのうちの故障した少なくとも1つのメモリ行の少なくとも1つのメモリ行アドレスを含む、先行する例のいずれか1つに記載の装置。
【0086】
例6
少なくとも1つの予備メモリ部分は、少なくとも1つの予備メモリ列を含み、
第1の故障メモリアドレスおよび第2の故障メモリアドレスは、少なくとも1つの物理メモリのうちの故障した少なくとも1つのメモリ列の少なくとも1つのメモリ列インジケータに対応する、先行する例のいずれか1つに記載の装置。
【0087】
例7
少なくとも1つの物理メモリは、
第1の故障メモリ部分が第1の予備メモリ部分によって交換されたか否かを示す第1の指示を記憶するように構成された第1のイネーブルレジスタを含み、第1の故障メモリ部分は、第1の故障メモリアドレスに対応しており、
第2の故障メモリ部分が第2の予備メモリ部分によって交換されたか否かを示す第2の指示を記憶するように構成された第2のイネーブルレジスタを含み、第2の故障メモリ部分は、第2の故障メモリアドレスに対応しており、
調停ロジックの回路は、第1の指示および第2の指示に応答して、第1の予備メモリ部分または第2の予備メモリ部分へのアクセスを調停するように構成されている、先行する例のいずれか1つに記載の装置。
【0088】
例8
調停ロジックの回路は、第1の故障メモリアドレスが第2の故障メモリアドレスと一致することに応答して、第1のメモリ部分冗長イネーブル信号および第2のメモリ部分冗長イネーブル信号を同時に活性化することを防止するように構成されている、先行する例のいずれか1つに記載の装置。
【0089】
例9
少なくとも1つの物理メモリは、
メモリアクセス要求の対象であるメモリアドレスと、第1の故障メモリアドレスと、第2の故障メモリアドレスとに基づいて、メモリアクセス要求を予備メモリ部分にルーティングするように構成された回路を含む修復ロジックと、
少なくとも1つのメモリアレイと、
少なくとも1つのメモリアレイに接続されたアドレスデコーダとを含み、
修復ロジックは、調停ロジックとアドレスデコーダとの間に接続されている、先行する例のいずれか1つに記載の装置。
【0090】
例10
調停ロジックは、
2つ以上の論理メモリのうちの第1の論理メモリにマッピングされている第1の修復制御ポートと、
2つ以上の論理メモリのうちの第2の論理メモリにマッピングされている第2の修復制御ポートとを含む、先行する例のいずれか1つに記載の装置。
【0091】
例11
方法であって、
メモリ内蔵自己検査コントローラが、複数の論理メモリに対して少なくとも1つの検査を実行することと、
メモリ内蔵自己検査コントローラが、実行することに基づいて、少なくとも1つの物理メモリのうちの2つ以上の故障メモリ部分を特定することと、
メモリ内蔵自己検査コントローラが、特定することに基づいて、第1の故障メモリアドレスを第1のアドレスレジスタにロードし、第2の故障メモリアドレスを第2のアドレスレジスタをロードすることと、
第1の故障メモリアドレスが第2の故障メモリアドレスと競合することに応答して、少なくとも1つの物理メモリが、2つ以上の故障メモリ部分に対応する少なくとも1つの予備メモリ部分へのアクセスを調停することとを含む、方法。
【0092】
例12
調停することは、第1の故障メモリアドレスが第2の故障メモリアドレスと一致することに応答して、修復ロジックに第1のメモリ部分冗長イネーブル信号をアサートさせることと、修復ロジックに第2のメモリ部分冗長イネーブル信号をデアサートさせることとを含む、例11に記載の方法。
【0093】
例13
調停することは、第1の故障メモリアドレスが第2の故障メモリアドレスと一致しないことに応答して、修復ロジックが、第1の故障メモリアドレスおよび第2の故障メモリアドレスに基づいて、第1のメモリ部分冗長イネーブル信号および第2のメモリ部分冗長イネーブル信号を制御することを可能にすることを含む、例11または例12の方法。
【0094】
例14
方法は、
メモリ内蔵自己検査コントローラが、特定することに基づいて、第1の故障メモリ部分が第1の予備メモリ部分によって交換されたか否かを示す第1の指示を第1のイネーブルレジスタにロードすることと、
メモリ内蔵自己検査コントローラが、特定することに基づいて、第2の故障メモリ部分が第2の予備メモリ部分によって交換されたか否かを示す第2の指示を第2のイネーブルレジスタをロードすることとをさらに含み、
調停することは、第1の指示および第2の指示に応答して、少なくとも1つの予備メモリ部分へのアクセスを調停することを含む、例11から13のいずれか1つに記載の方法。
【0095】
例15
装置であって、
1つ以上のプロセッサと、
少なくとも1つのメモリクラスタと、
少なくとも1つのメモリクラスタに接続された少なくとも1つのメモリ内蔵自己検査コントローラと、
1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに請求項11から14のいずれか一項に記載された方法を実行させる命令を記憶する少なくとも1つのコンピュータ可読記憶媒体とを備える、装置。
【0096】
例16
装置であって、
複数の論理メモリに対して少なくとも1つの検査を実行するように構成された回路を含むメモリ内蔵自己検査コントローラと、
メモリクラスタとを備え、
メモリクラスタは、
メモリ内蔵自己検査コントローラに接続され、複数の論理メモリへのアクセスを提供するように構成された共有バスインターフェイスと、
共有バスインターフェイスに接続され、複数の論理メモリのうちの2つ以上の論理メモリをその上にオーバーレイするように構成された少なくとも1つの物理メモリとを含み、
少なくとも1つの物理メモリは、
複数の論理メモリに対して実行された少なくとも1つの検査に基づいて、メモリ内蔵自己検査コントローラによって確立された1つ以上の内蔵自己修復パラメータを記憶するように構成された1つ以上の内蔵自己修復レジスタと、
修復ロジックと、
修復ロジックに接続されたアドレスデコーダと、
1つ以上の内蔵自己修復レジスタと修復ロジックとの間に接続された調停ロジックとを含み、
調停ロジックは、内蔵自己修復パラメータを物理メモリレベルの内蔵自己修復パラメータに変換するように構成された回路を含む、装置。
【0097】
例17
メモリ内蔵自己検査コントローラは、少なくとも1つの物理メモリ上にオーバーレイされた複数の論理メモリのうちの少なくとも第1の論理メモリおよび第2の論理メモリを検査することによって、論理メモリレベルで1つ以上の内蔵自己修復パラメータを確立するように構成されている、例1~10または16のいずれか1つに記載の装置。
【0098】
例18
少なくとも1つの物理メモリは、調停ロジックを用いて、メモリ内蔵自己検査トコントローラの動作に対して透過的な方法で、第1の故障メモリアドレスが第2の故障メモリアドレスと競合するシナリオを調停するメモリラッパーを含む、例1~10、16、または17のいずれか1つに記載の装置。
【0099】
例19
調停ロジックは、複数の修復制御ポートの各修復制御ポートを複数の論理メモリの各論理メモリに提供し、複数の修復制御ポートを単一の修復制御ポートに変換して、少なくとも1つの物理メモリの1つ以上の予備メモリ部分にアクセスするように構成されている、例1~10または16~18のいずれか1つの装置。
【0100】
例20
装置は、モバイル電子装置を備え、このモバイル電子装置は、メモリ内蔵自己検査コントローラとメモリクラスタを含むシステムオンチップを含む、例1~10または16~19のいずれか1つに記載の装置。
【0101】
結論
共有物理メモリを用いた論理メモリ修復の態様は、特徴および/または方法に特有の言語で説明されているが、添付の特許請求の範囲の主題は、必ずしも、説明された特定の特徴または方法に限定されない。むしろ、特定の特徴および方法は、特許請求される論理メモリ修復の例示的な実装形態として開示され、他の等価な特徴および方法は、添付の特許請求の範囲に含まれることが意図されている。さらに、様々な態様が記載され、記載された各態様は、独立して、または記載された1つ以上の他の態様に関連して実施されてもよい。
図1
図2
図3
図4
図5
図6
図7
図8
図9