(57)【特許請求の範囲】
【請求項１】
積層された複数のメモリアレイを備えており、各メモリアレイが、複数の積層されたメモリダイの１つに配置されているメモリボールトと、
前記積層されたメモリダイと共に積層された論理ダイに配置されており、前記メモリボールトと通信的に接続されたメモリボールトコントローラ（ＭＶＣ）と、
要求されたメモリアドレスを含むメモリ要求を受信し、かつ前記メモリ要求または修復アドレスを含む修正されたメモリ要求の少なくとも１つを選択されたボールトに送信する、前記ＭＶＣのメモリボールト修復論理（ＭＶＲＬ）コンポーネントと、
前記要求されたメモリアドレスを部分的にデコードする、前記ＭＶＲＬの部分的アドレスデコーダ部と、
前記部分的アドレスデコーダと通信的に接続されており、前記要求されたメモリアドレスを、前記修復アドレスに変換する少なくとも１つの修復アドレスルックアップテーブルと、
前記部分的アドレスデコーダに接続されており、複数の修復アドレスルックアップテーブルから、前記少なくとも１つの修復アドレスルックアップテーブルを選択する不良ブロック論理と、
前記部分的アドレスデコーダに接続されており、前記要求されたメモリアドレスの、前記修復アドレスへの変換に関連する待ち時間を概算する修復デコード評価モジュールと、
前記修復デコード評価モジュールに接続されており、前記概算された待ち時間が選択された時間よりも長い場合に、前記要求されたメモリアドレスを含む前記メモリ要求を、前記選択されたボールトに関連するメモリアドレスデコーダに伝達する可変待ち時間決定モジュール（ＶＬＤＭ）と、
を備えた装置。
【請求項２】
前記ＭＶＣが、メモリ順序付け工程、データバッファリング工程、損傷メモリアレイ修復工程、または損傷ウエハを介した相互接続（ＴＷＩ）修復工程の少なくとも１つを提供するように設定される、請求項１に記載の装置。
【請求項３】
前記複数の修復アドレスルックアップテーブルが、直接マップテーブル、フルアソシアティブタグランダムアクセスメモリ（ＲＡＭ）、またはセットアソシアティブタグＲＡＭの少なくとも１つを備えている、請求項１に記載の装置。
【請求項４】
前記不良ブロック論理が、前記部分的アドレスデコーダによって確定されたような、不良ブロックの数または不良ブロックにおけるワード数の少なくとも１つに基づいて前記少なくとも１つの修復アドレスルックアップテーブルを選択するように設定される、請求項１に記載の装置。
【請求項５】
前記要求されたメモリアドレスが、欠陥の無いメモリロケーションを照会するか否かを確定するように動作するフィードバックループをさらに備えた、請求項１に記載の装置。
【請求項６】
前記修復アドレスルックアップテーブルに接続されており、前記要求されたメモリアドレスに関連する入力として、前記修復アドレスルックアップテーブルに保存されたアドレスオフセットを用いて前記修復アドレスを算出する演算／論理ユニット（ＡＬＵ）をさらに備えた、請求項１に記載の装置。
【請求項７】
前記メモリアドレスデコーダに接続されており、前記要求されたメモリアドレスを、前記メモリアドレスデコーダまたは前記部分的アドレスデコーダの少なくとも１つに伝達するアドレスバスゲート論理と、をさらに備え、前記メモリアドレスデコーダは、前記要求されたメモリアドレスあるいは前記修復アドレスを、メモリダイ識別子、メモリバンク識別子、行アドレスあるいは列アドレスの少なくとも１つにデコードする、請求項１に記載の装置。
【請求項８】
前記要求されたメモリアドレスが、少なくとも１つの欠陥メモリセルを照会するように確定された場合に、部分的にデコードされた要求されたメモリアドレスを拒否し、前記修復アドレスのデコーディングを起動する、前記メモリアドレスデコーダのアドレスセレクタコンポーネントをさらに備えた、請求項７に記載の装置。
【請求項９】
修復アレイとして用いる、前記メモリボールトの予備メモリダイコンポーネントをさらに備えた、請求項１に記載の装置。
【請求項１０】
修復アレイとして用いる、前記ＭＶＲＬと共通の論理ダイにおいて加工された少なくとも１つ予備メモリアレイをさらに備えた、請求項１に記載の装置。
【請求項１１】
前記予備メモリアレイが、スタティックランダムアクセスメモリ（ＳＲＡＭ）またはダイナミックランダムアクセスメモリ（ＤＲＡＭ）の少なくとも１つを備えた、請求項１０に記載の装置。
【請求項１２】
要求されたメモリアドレスを含むメモリ要求を受信することと、
修復アドレス生成の複雑性を概算することと、
修復アドレス生成の前記複雑性に基づいて、複数の修復アドレスルックアップテーブルから修復アドレスルックアップテーブルを選択することと、
前記要求されたメモリアドレスを、前記修復アドレスに変換することと、
前記メモリ要求または前記修復アドレスを含む修正されたメモリ要求の少なくとも１つを、選択されたボールトに送信することと、
を含む、方法。
【請求項１３】
前記要求されたメモリアドレスを部分的にデコードすることと、
概算された待ち時間を導き出すために、前記要求されたメモリアドレスの、前記修復アドレスへの変換に関連する待ち時間を概算することと、
前記概算された待ち時間と、待ち時間の閾値とを比較することと、
前記概算された待ち時間が、前記待ち時間の閾値よりも長い場合に、前記要求されたメモリアドレスを含む前記メモリ要求を、前記選択されたボールトに送信することと、をさらに含む、請求項１２に記載の方法。
【請求項１４】
不良ブロックの数または不良ブロックにおけるワード数の少なくとも１つに基づいて修復アドレスルックアップテーブルを選択することをさらに含む、請求項１２に記載の方法。
【請求項１５】
前記複数の修復アドレスルックアップテーブルが、直接マップテーブル、フルアソシアティブタグランダムアクセスメモリ（ＲＡＭ）、またはセットアソシアティブタグＲＡＭの少なくとも１つを備えた、請求項１２に記載の方法。
【請求項１６】
前記要求されたメモリアドレスまたは前記修復アドレスの少なくとも１つを受信することと、
前記要求されたメモリアドレスまたは前記修復アドレスを、メモリダイ識別子、メモリバンク識別子、行アドレス、または列アドレスの少なくとも１つにデコードすることと、
をさらに含む、請求項１２に記載の方法。
【請求項１７】
前記要求されたメモリアドレスまたは前記修復アドレスの少なくとも１つを受信することと、
前記要求されたメモリアドレスまたは前記修復アドレスを、メモリダイ識別子、メモリバンク識別子、行アドレス、または列アドレスの少なくとも１つにデコードすることと、
をさらに含む、請求項１２に記載の方法。
【請求項１８】
前記要求されたメモリアドレスが、少なくとも１つの欠陥メモリセルを照会するように確定された場合に、部分的にデコードされた要求されたメモリアドレスを拒否することと、
前記修復アドレスのデコーディングを起動することと、をさらに含む、請求項１２に記載の方法。
【請求項１９】
前記修復アドレスを用いて、前記メモリボールトの予備メモリダイコンポーネントを照会することをさらに含む、請求項１２に記載の方法。
【請求項２０】
前記予備メモリアレイダイに関連するダイアドレスを、前記要求されたメモリアドレスに取り換えることによって、前記修復アドレスを生成することをさらに含む、請求項１９に記載の方法。
【請求項２１】
前記修復アドレスを用いて、メモリボールト修復論理モジュールと共通の論理ダイにおいて加工された少なくとも１つ予備メモリアレイを照会することをさらに含む、請求項１２に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
本特許出願は、２００８年１０月３０日に出願された、米国特許出願番号第１２／２６１９６３号における優先権の利益を主張するものであり、その全ての内容は、参照により本明細書中に組み込まれる。
【０００２】
［技術分野］
本明細書に記載された種々の実施形態は、スイッチインターフェース積層ダイメモリアーキテクチャを含む半導体メモリに関連する装置、システム、および方法に関する。
【背景技術】
【０００３】
マイクロプロセッサ技術は、半導体メモリ技術よりも急速に発展してきた。その結果、最新のホストプロセッサと、指示およびデータを受信するように、該プロセッサが結合する半導体メモリサブシステムとの性能のミスマッチが頻繁に生じる。例えば、一部の高性能サーバは、メモリ要求の応答を待つ４つのクロックのうちの３つを無作動にしてしまうことが予測される。
【０００４】
さらに、ソフトウェアアプリケーションおよびオペレーティングシステム技術の発展は、プロセッサコアおよびスレッドの数量が増加し続けるにつれて、より高密度のメモリサブシステムに対する要求を増してきている。しかしながら、最新の技術メモリサブシステムは、性能と密度との間における譲歩を頻繁に示している。帯域幅がより高くなると、ＪＥＤＥＣの電気的特性を超過すること無く、システムにおいて接続され得るメモリカードまたはモジュールの数量が制限され得る。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＪＥＤＥＣインターフェースへの拡張が提案されてきたが、ほとんどの場合に、将来予測されるメモリ帯域幅および密度が不足する可能性がある。この欠点には、メモリ電力の最適化、ホストプロセッサとメモリサブシステムとの間のインターフェースの特異性の不足が含まれる。後者の欠点により、プロセッサおよび／またはメモリ技術の変化に伴って、インターフェースを再設計する必要が生じ得る。
【図面の簡単な説明】
【０００６】
【図１】本発明の種々の例示的な実施形態に従った、メモリシステムのブロック図である。
【図２】種々の例示的な実施形態に従った、論理ダイに積層された積層ダイ３Ｄメモリアレイの切欠概念図である。
【図３】種々の例示的な実施形態に従った、例示的なパケットに関連するフィールドを示すパケット図である。
【図４】種々の例示的な実施形態に従った、例示的なパケットに関連するフィールドを示すパケット図である。
【図５】種々の例示的な実施形態に従った、メモリボールトコントローラおよび関連するモジュールのブロック図である。
【図５Ａ】種々の例示的な実施形態に従った、メモリボールトコントローラのメモリボールト修復論理コンポーネントのブロック図である。
【図６Ａ】種々の例示的な実施形態に従った方法を示すフローチャートである。
【図６Ｂ】種々の例示的な実施形態に従った方法を示すフローチャートである。
【図７Ａ】種々の例示的な実施形態に従った方法を示すフローチャートである。
【図７Ｂ】種々の例示的な実施形態に従った方法を示すフローチャートである。
【図８】種々の例示的な実施形態に従った方法を示すフローチャートである。
【図９】種々の例示的な実施形態に従った方法を示すフローチャートである。
【発明を実施するための形態】
【０００７】
図１は、本発明の種々の例示的な実施形態に従ったメモリシステム１００のブロック図である。１つ以上の実施形態は、（１つ以上のプロセッサ等の）１つ以上の送信元デバイスと、一組の積層アレイメモリ「ボールト」との間における命令、アドレス、および／またはデータの複数のアウトバウンドストリームを実質的に同時に転送するように動作する。これにより、メモリシステムの密度、帯域幅、並列性、および拡張性が増大し得る。
【０００８】
本明細書の実施形態におけるマルチダイメモリアレイは、既存の設計では、通常、各個別のメモリアレイダイに配置される制御論理に統合する。「メモリボールト」として本明細書で言及される、小区分の積層されたダイのグループは、共通の制御論理を共有する。メモリボールトアーキテクチャは、電源が入るメモリバンクにおいてより微細な粒度を提供しつつ、エネルギー効率を増大するようにメモリ制御論理を戦略的に分割する。本明細書の実施形態はさらに、システムインターフェースを規格化されたホストプロセッサに記憶可能にする。規格化されたインターフェースは、メモリ技術の発展に伴う再設計のサイクルタイムを削減できる。
【０００９】
図２は、種々の例示的な実施形態に従った、論理ダイ２０２に積層された積層ダイ３Ｄメモリアレイ２００の切欠概念図である。メモリシステム１００は、積層ダイ３Ｄメモリアレイ２００等の、積層されたタイル状のメモリアレイの１つ以上を内蔵する。マルチプルメモリアレイ（例えば、メモリアレイ２０３）は、複数の積層ダイ（例えば、積層ダイ２０４）各々の上に加工される。
【００１０】
積層ダイ各々は、マルチプル「タイル」（例えば、積層ダイ２０４に関連するタイル２０５Ａ、２０５Ｂ、および２０５Ｃ）に論理的に分割される。各タイル（例えば、タイル２０５Ｃ）は、１つ以上のメモリアレイ２０３を含んでもよい。一部の実施形態では、各メモリアレイ２０３は、メモリシステム１００内における１つ以上の独立したメモリバンクとして構成され得る。メモリアレイ２０３は、任意の特定のメモリ技術に限定されず、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ） 、フラッシュメモリ等を含んでもよい。
【００１１】
積層された一組のメモリアレイタイル２０８は、積層ダイ各々からの単一のタイル（例えば、図１では隠れたベースタイル２１２Ｂ、２１２Ｃ、および２１２Ｄ）を含んでもよい。電力、アドレス、および／またはデータ、並びに類似の共通信号は、「ウエハを介した相互接続」（ＴＷＩ）として本明細書で言及される導電性パス（例えば、導電性パス２２４）において、「Ｚ」方向２２０に積層された一組のタイル２０８を行き来できる。それ故、積層ダイ３Ｄメモリアレイ２００は、一組のメモリ「ボールト」（例えば、メモリボールト２３０）に分割される。各メモリボールトは、積層された一組のタイル、複数の積層ダイ各々からの１つのタイルを含む。ボールトの各タイルは、１つ以上のメモリアレイ（例えば、メモリアレイ２４０）を含む。
【００１２】
その結果生じた一組のメモリボールト１０２を図１に示す。ここで、下に記載される制御、スイッチ、および通信論理は、論理ダイ２０２において生成される。メモリシステム１００は、複数のメモリボールトコントローラ（ＭＶＣ）１０４（例えば、ＭＶＣ１０６）を含む。各ＭＶＣは、１対１の関係において対応するメモリボールト（例えば、メモリボールト１１０）と通信的に接続される。各ＭＶＣは、それ故、他のＭＶＣとそれらの個別のメモリボールトとの間の通信とは独立して、対応するメモリボールトと通信可能である。
【００１３】
一部の実施形態では、メモリボールト１１０の形成に用いられる個々のダイにおける欠陥メモリセルの隣接部がダイ間のアドレス経路に重ならないように、メモリボールト１１０は設定され得る。また、メモリボールト１１０は、予備メモリアレイダイを有するように設定されてもよい。予備ダイにおける動作可能なメモリセルの隣接部は、ボールト１１０の形成に用いられる他のメモリアレイダイの１つ以上の動作可能なメモリセルの隣接部と同様に、バンクアドレス、行アドレス、または列アドレスの少なくとも１つを含む開始メモリアドレスに配置されてもよい。このような設定により、メモリ要求アドレスの部分的なデコードのみを要求することによって、迅速かつ容易なメモリ要求の出力先変更が可能になる。メモリアレイダイ各々に関連する欠陥メモリセルの不良ブロックマップは、積層メモリアレイダイ２０４と共に積層された共有論理ダイ２０２に形成されてもよい。
【００１４】
メモリシステム１００は、複数の設定可能なシリアライズ通信回線インターフェース（ＳＣＬＩ）１１２をさらに含む。ＳＣＬＩ１１２は、ＳＣＬＩ１１３であるアウトバウンドグループ（例えば、アウトバウンドＳＣＬＩ１１４）と、ＳＣＬＩ１１５であるインバウンドグループとに分割される。複数のＳＣＬＩ１１２各々は、他のＳＣＬＩ１１２と同時動作可能である。さらに、ＳＣＬＩ１１２は、複数のＭＶＣ１０４と、１つ以上のホストプロセッサ（単数または複数）１１４とを通信的に接続する。メモリシステム１００は、高度に概念化された、マルチリンク、ハイスループットインターフェースを、ホストプロセッサ（単数または複数）１１４に提供する。
【００１５】
メモリシステム１００は、マトリクススイッチ１１６をさらに含んでもよい。マトリクススイッチ１１６は、複数のＳＣＬＩ１１２および複数のＭＶＣ１０４と通信的に接続される。マトリクススイッチ１１６は、各ＳＣＬＩと、選択されたＭＶＣとを相互接続できる。それ故、ホストプロセッサ（単数または複数）１１４は、実質的に同時の手法において、複数のＳＣＬＩ１１２を通じて複数のメモリボールト１０２にアクセスできる。このアーキテクチャは、マルチコア技術を含む、最新のプロセッサ技術に必要とされるプロセッサメモリ帯域幅を提供できる。
【００１６】
メモリシステム１００は、マトリクススイッチ１１６に接続されたメモリファブリック制御レジスタ１１７をさらに含んでもよい。メモリファブリック制御レジスタ１１７は、設定ソースからメモリファブリック設定パラメータを受信し、選択可能モードに従って動作するようにメモリシステム１００の１つ以上のコンポーネントを設定する。例えば、マトリクススイッチ１１６、並びに複数のメモリボールト１０２および複数のＭＶＣ１０４各々は、通常、別々のメモリ要求に応答して、互いに独立して動作するように設定され得る。このような設定により、ＳＣＬＩ１１２とメモリボールト１０２との間の並列性の結果としてメモリシステム帯域幅が改善される。
【００１７】
代替的に、単一の要求に応答して、複数のメモリボールト１０２の２つ以上のサブセットおよび対応するＭＶＣのサブセットが同期して動作するように、メモリシステム１００は、メモリファブリック制御レジスタ１１７により再設定され得る。後者の設定は、標準的なデータワードよりも広くアクセスするために用いられ得、これにより、下記により詳細に記載するように、待ち時間を減少できる。選択されたビットパターンをメモリファブリック制御レジスタ１１７内にロードすることによって、他の設定も可能である。
【００１８】
図３および図４は、それぞれ、種々の例示的な実施形態に従った、例示的なパケット３００および４００に関連するフィールドを示すパケット図である。図３および図４を考慮して図１に戻ると、メモリシステム１００は、マトリクススイッチ１１６に接続された複数のパケットデコーダ１１８（例えば、パケットデコーダ１２０）をさらに含んでもよい。ホストプロセッサ（単数または複数）１１４は、一部の実施形態では、例示的なパケット３００または４００に構造的に類似し得るアウトバウンドパケット１２２をアセンブルする。すなわち、アウトバウンドパケット１２２は、命令フィールド３１０、アドレスフィールド３２０、および／またはデータフィールド４１０を含んでもよい。ホストプロセッサ１１４は、次に、アウトバウンドＳＣＬＩ（例えば、アウトバウンドＳＣＬＩ１１４）の全域におけるアウトバウンドパケット１２２を、下により詳細に記載する方法により、パケットデコーダ１２０に送信する。
【００１９】
アウトバウンドＳＣＬＩ１１４は、複数のアウトバウンド差動対シリアルパス（ＤＰＳＰ）１２８を含んでもよい。ＤＰＳＰ１２８は、ホストプロセッサ（単数または複数）１１４と通信的に接続されており、アウトバウンドパケット１２２をまとめて伝送できる。すなわち、複数のアウトバウンドＤＰＳＰ１２８の各ＤＰＳＰは、アウトバウンドパケット１２２の第１のデータ転送速度アウトバウンドサブパケット部を、第１のデータ転送速度で伝送できる。
【００２０】
アウトバウンドＳＣＬＩ１１４は、複数のアウトバウンドＤＰＳＰ１２８に接続されたデシリアライザ１３０をさらに含んでもよい。デシリアライザ１３０は、アウトバウンドパケット１２２の各第１のデータ転送速度アウトバウンドサブパケット部を、複数の第２のデータ転送速度アウトバウンドサブパケットに変換する。複数の第２のデータ転送速度アウトバウンドサブパケットは、第１の複数のアウトバウンドシングルエンドデータパス（ＳＥＤＰ）１３４を介して第２のデータ転送速度で送信される。第２のデータ転送速度は、第１のデータ転送速度よりも遅い。
【００２１】
アウトバウンドＳＣＬＩ１１４は、デシリアライザ１３０と通信的に接続するデマルチプレクサ１３８をさらに含んでもよい。デマルチプレクサ１３８は、複数の第２のデータ転送速度アウトバウンドサブパケット各々を、複数の第３のデータ転送速度アウトバウンドサブパケットに変換する。複数の第３のデータ転送速度アウトバウンドサブパケットは、第２の複数のアウトバウンドＳＥＤＰ１４２を介してパケットデコーダ１２０に第３のデータ転送速度で送信される。第３のデータ転送速度は、第２のデータ転送速度よりも遅い。
【００２２】
パケットデコーダ１２０は、アウトバウンドパケット１２２を受信し、（例えば、例示的なパケット３００の）命令フィールド３１０、（例えば、例示的なパケット３００の）アドレスフィールド３２０、および／または（例えば、例示的なパケット４００の）データフィールドを抽出する。一部の実施形態では、パケットデコーダ１２０は、アドレスフィールド３２０をデコードし、対応する一組のメモリボールトセレクト信号を確定する。パケットデコーダ１２０は、一組のメモリボールトセレクト信号を、インターフェース１４６上でマトリクススイッチ１１６に提供する。ボールトセレクト信号により、アウトバウンドパケット１２２に対応するＭＶＣ１０６に入力データパス１４８が切り替えられる。
【００２３】
ここで、インバウンドデータパスについて考察すると、メモリシステム１００は、マトリクススイッチ１１６に接続された複数のパケットエンコーダ１５４（例えば、パケットエンコーダ１５８）を含んでもよい。パケットエンコーダ１５８は、マトリクススイッチ１１６を介して複数のＭＶＣ１０４の１つからのインバウンドメモリ命令、インバウンドメモリアドレス、および／またはインバウンドメモリデータを受信できる。パケットエンコーダ１５８は、インバウンドＳＣＬＩ１６４を通じてホストプロセッサ（単数または複数）１１４にそれらを送信するために、インバウンドメモリ命令、アドレス、および／またはデータをインバウンドパケット１６０にエンコードする。
【００２４】
一部の実施形態では、パケットエンコーダ１５８は、インバウンドパケット１６０を、複数の第３のデータ転送速度インバウンドサブパケットに分割できる。パケットエンコーダ１５８は、第１の複数のインバウンドシングルエンドデータパス（ＳＥＤＰ）１６６を通じて複数の第３のデータ転送速度インバウンドサブパケットを第３のデータ転送速度で送信できる。メモリシステム１００は、パケットエンコーダ１５８と通信的に接続するマルチプレクサ１６８をさらに含んでもよい。マルチプレクサ１６８は、第３のデータ転送速度インバウンドサブパケットの複数のサブセット各々を、第２のデータ転送速度インバウンドサブパケットに多重化できる。マルチプレクサ１６８は、第２の複数のインバウンドＳＥＤＰ１７０を通じて第２のデータ転送速度インバウンドサブパケットを第３のデータ転送速度よりも速い第２のデータ転送速度で送信する。
【００２５】
メモリシステム１００は、マルチプレクサ１６８と通信的に接続するシリアライザ１７２をさらに含んでもよい。シリアライザ１７２は、第２のデータ転送速度インバウンドサブパケットの複数のサブセット各々を、第１のデータ転送速度インバウンドサブパケットに統合する。第１のデータ転送速度インバウンドサブパケットは、第２のデータ転送速度よりも速い第１のデータ転送速度で、複数のインバウンド差動対シリアルパス（ＤＰＳＰ）１７４を通じてホストプロセッサ（単数または複数）１１４に送信される。それ故、命令、アドレス、およびデータ情報は、マトリクススイッチ１１６を介してＳＣＬＩ１１２を通じて、ホストプロセッサ（単数または複数）１１４とＭＶＣ１０４との間において両方向に転送される。
【００２６】
図５は、種々の例示的な実施形態に従ったＭＶＣ（例えば、ＭＶＣ１０６）および関連するモジュールのブロック図である。ＭＶＣ１０６は、プログラマブルボールト制御論理（ＰＶＣＬ）コンポーネント（例えば、ＰＶＣＬ５１０）を含んでもよい。ＰＶＣＬ５１０は、ＭＶＣ１０６と、対応するメモリボールト（例えば、メモリボールト１１０）とをインターフェースする。ＰＶＣＬ５１０は、対応するメモリボールト１１０に関連する、１つ以上のバンク制御信号および／またはタイミング信号を生成する。
【００２７】
ＰＶＣＬ５１０は、選択された設定または選択された技術のメモリボールト１１０にＭＶＣ１０６を適合させるように構成され得る。それ故、例えば、メモリシステム１００は、初期には現在利用可能なＤＤＲ２  ＤＲＡＭを用いて設定されてもよい。ＤＤＲ３バンク制御およびタイミング論理を含むようにＰＶＣＬ５１０を再設定することにより、メモリシステム１００は、ＤＤＲ３ベースのメモリボールト技術に適応するように、その後適合され得る。
【００２８】
ＭＶＣ１０６は、ＰＶＣＬ５１０と通信的に接続するメモリシーケンス制御装置５１４をさらに含んでもよい。メモリシーケンス制御装置５１４は、関連するメモリボールト１１０の実装に用いられる技術に基づいて、メモリ技術の従属する一組の工程を実行する。メモリシーケンス制御装置５１４は、例えば、対応するメモリボールト１１０に関連する命令デコード工程、 メモリアドレス多重化工程、メモリアドレス逆多重化工程、メモリリフレッシュ工程、メモリボールトトレーニング工程、および／またはメモリボールトプリフェッチ工程を実行できる。一部の実施形態では、メモリシーケンス制御装置５１４は、ＤＲＡＭシーケンス制御装置を備えてもよい。一部の実施形態では、メモリリフレッシュ工程は、リフレッシュコントローラ５１５によって起動できる。
【００２９】
メモリシーケンス制御装置５１４は、選択された設定または技術のメモリボールト１１０にメモリシステム１００を適合させるように設定され得る。例えば、メモリシーケンス制御装置５１４は、メモリシステム１００に関連する他のメモリシーケンス制御装置と同期して動作するように設定され得る。このような設定は、単一のキャッシュライン要求に応答して、マルチプルメモリボールトからホストプロセッサ（単数または複数）１１４に関連するキャッシュライン（不図示）に広いデータワードを配信するのに利用され得る。
【００３０】
ＭＶＣ１０６は、書き込みバッファ５１６を含んでもよい。書き込みバッファ５１６は、ホストプロセッサ（単数または複数）１１４からＭＶＣ１０６に入力するデータをバッファリングするようにＰＶＣＬ５１０に接続され得る。ＭＶＣ１０６は、読み出しバッファ５１７をさらに含んでもよい。読み出しバッファ５１７は、対応するメモリボールト１１０からＭＶＣ１０６に入力するデータをバッファリングするようにＰＶＣＬ５１０に接続され得る。
【００３１】
ＭＶＣ１０６は、乱雑リクエストキュー５１８をさらに含んでもよい。乱雑リクエストキュー５１８は、メモリボールト１１０に含まれる複数のメモリバンクへの読み出しおよび／または書き込み工程が順序付けられたシーケンスを構築する。順序付けられたシーケンスは、例えばバンク不一致の低減および読み書き所要時間の減少を目的として、任意の単一のメモリバンクにおける順次的な工程を回避するために選択される。
【００３２】
ＭＶＣ１０６は、メモリボールト修復論理（ＭＶＲＬ）コンポーネント５２４をさらに含んでもよい。ＭＶＲＬ５２４は、アレイ修復論理５２６を利用して、欠陥メモリアレイアドレスリマップ工程を実行するようにメモリボールト１１０に接続され得る。ＭＶＲＬ５２４は、ＴＷＩ修復論理５２８を利用して、メモリボールト１１０に関連するＴＷＩ修復工程をさらに実行できる。
【００３３】
図５Ａは、種々の例示的な実施形態に従ったＭＶＲＬ５２４のブロック図である。ＭＶＲＬ５２４は、欠陥メモリセルを照会するメモリ要求をリマップする。欠陥セルに対するメモリ要求は、メモリボールト１１０に関連するダイ（例えば、図２の積層ダイ２０４）、および／または図２の論理ダイ２０２に配置された余分なセルまたはセルのアレイ（例えば、図５の予備アレイ５２７）を照会するようにリマップされる。
【００３４】
一部の実施形態では、ＭＶＲＬ５２４は、可変待ち時間デコードスキームに従って動作可能である。ＭＶＲＬ５２４は、パス５４２において要求されたメモリアドレス５４０を含むメモリ要求を受信可能である。ＭＶＲＬ５２４は、メモリ要求を修復アドレス論理５４４に送信し、要求されたメモリアドレス５４０が欠陥メモリロケーションを照会するか否かを確定できる。要求されたメモリアドレス５４０が欠陥メモリロケーションを照会することが確定された場合には、予備メモリアレイを照会する修正されたメモリ要求が、要求されたメモリアドレスの代わりに用いられてもよい。
【００３５】
一部の実施形態では、ＭＶＲＬ５２４は、さらに、要求されたメモリアドレス５４０が欠陥メモリロケーションを照会するか否かの確定を待つこと無く、要求されたメモリアドレス５４０をメモリアドレスデコーダ５４６に送信できる。アドレスデコーダ５４６は、修復アドレスを評価しつつ、要求されたアドレス５４０のデコーディングを開始できる。要求されたアドレス５４０が正常なメモリセルを照会するか否かを、修復アドレス評価が確定する時まで、アドレスデコーダは、要求されたアドレス５４０のデコーディングを促進できる。この結果、要求されたメモリアドレス５４０が正常なメモリロケーションを照会する場合には、待ち時間が減少され得る。欠陥メモリロケーションを照会するメモリ要求の数が、正常なメモリロケーションを照会するメモリ要求の数よりも少なくなる可能性が高いため、平均的な待ち時間は減少され得る。
【００３６】
ＭＶＲＬ５２４は、パス５４２に接続されたアドレスバスゲート論理５５０を含んでもよい。アドレスバスゲート論理５５０は、要求されたメモリアドレス５４０を、アドレスバスゲート論理５５０に接続されたメモリアドレスデコーダ５４６および／または部分的アドレスデコーダ５５４に伝達する。部分的アドレスデコーダ５５４は、要求されたメモリアドレス５４０を部分的にデコードする。修復デコード評価モジュール５５６は、部分的アドレスデコーダ５５４に接続されてもよい。修復デコード評価モジュール５５６は、この場合における修復アドレスのルックアップの実行と共に、要求されたメモリアドレス５４０が欠陥メモリロケーションを照会するか否かの確定に関連する待ち時間を概算する。
【００３７】
ＭＶＲＬ５２４は、修復デコード評価モジュール５５６に接続された可変待ち時間決定モジュール（ＶＬＤＭ）５６０をさらに含んでもよい。概算された待ち時間が選択された時間よりも長い場合に、ＶＬＤＭ５６０は、要求されたメモリアドレス５４０を含むメモリ要求を、アドレスバスゲート論理５５０がメモリアドレスデコーダ５４６に伝達させる。それ故、部分的アドレスデコーダ５５４、修復デコード評価モジュール５５６、およびＶＬＤＭ５６０は、フィードバックループを形成する。フィードバックループは、要求されたメモリアドレス５４０が正常なメモリロケーションを照会したか否かを認識する前に、要求されたメモリアドレス５４０が、メモリアドレスデコーダ５４６において起動されたか否かを確定するように動作する（早期起動）。
【００３８】
早期起動は、特定の要求されたメモリアドレス５４０において、修復アドレスルックアップ処理に関連して待ち時間が長くなる可能性があることが迅速に確定され得る場合に、特に効率的な方策となり得る。正常なメモリロケーションを照会する要求されたメモリアドレス５４０が検出された場合には、修復アドレス評価およびルックアップ工程が実行される間に、メモリアドレスデコード処理が進展する。
【００３９】
ＭＶＲＬ５２４は、部分的アドレスデコーダ５５４に接続された不良ブロック論理５６４をさらに含んでもよい。一部の実施形態では、不良ブロック論理５６４は、いくつかの利用可能なスキームから適切な修復アドレスルックアップスキームを選択する。修復アドレスルックアップスキームは、特定のダイまたはバンクにおける不良ブロックの数に基づいて選択され得る。修復アドレスルックアップスキームは、さらに、不良ブロック論理５６４と連動して動作する部分的アドレスデコーダ５５４によって確定されたような、要求されたメモリアドレス５４０によってアドレス付けされた不良ブロックにおけるメモリワードの数に基づいて選択されてもよい。
【００４０】
ＭＶＲＬ５２４は、それ故、不良ブロック論理５６４と通信的に接続された１つ以上の修復アドレスルックアップテーブル（例えば、例示的な修復アドレスルックアップテーブル５６８Ａ、５６８Ｂ、および５６８Ｃ）を含んでもよい。選択された修復アドレスルックアップテーブル５６８Ａ、５６８Ｂ、または５６８Ｃは、要求されたメモリアドレス５４０を修復アドレスに変換する。修復アドレスルックアップテーブル５６８Ａ、５６８Ｂ、５６８Ｃは、直接マップテーブル、完全結合タグランダムアクセスメモリ（ＲＡＭ）、および／または組結合タグＲＡＭを含んでもよい。
【００４１】
一部の実施形態では、修復アドレスルックアップテーブル５６８Ａ、５６８Ｂ、または５６８Ｃは、修復アドレスとしてアドレスオフセットを保存できる。欠陥メモリロケーションの全体ブロックに関連するアドレスは、修復メモリアレイの起動を示すベースアドレスにおいて開始される修復アドレスのブロックにマップされ得る。一部の実施形態では、演算／論理ユニット（ＡＬＵ）５７２は、アドレスオフセットを利用して修復アドレスを算出できる。
【００４２】
修復アドレスルックアップテーブル５６８Ａ、５６８Ｂ、５６８Ｃは、修復アドレスをメモリアドレスデコーダ５４６に送信する。しかしながら、要求されたメモリアドレス５４０は、要求されたメモリアドレス５４０が欠陥メモリロケーションを照会したか否かを決定するよりも早い時に、既にメモリアドレスデコーダ５４６に伝達されてもよい。後者の場合では、要求されたメモリアドレス５４０のデコーディングの実施は許可されないことが好ましい。
【００４３】
不良ブロック論理５６４は、メモリアドレスデコーダ５４６のアドレスセレクタコンポーネント５７６に接続されてもよい。要求されたメモリアドレスが欠陥メモリセルを照会するように確定された場合に、アドレスセレクタコンポーネント５７６は、部分的にデコードされた要求されたメモリアドレスを拒否し、そして修復アドレスのデコーディングを起動する。さもなくば、アドレスセレクタ５７６は、要求されたメモリアドレス５４０のデコーディングを完了できる。メモリアドレスデコーダ５４６は、要求されたメモリアドレス５４０または修復アドレスを、規定通りに、メモリダイ識別子、メモリバンク識別子、行アドレス、および／または列アドレスにデコードし、そして対応するメモリロケーションにアクセスするために、これらのアドレスコンポーネントをメモリボールト１１０に送信する。修復アドレスは、予備メモリダイ５８０に配置された予備メモリアレイにおけるメモリセルを照会できる。予備メモリダイ５８０は、メモリボールト１１０の修復コンポーネントとして、他のメモリアレイダイに積層され得る。代替的に、修復アドレスは、ＭＶＲＬ５２４と共通の論理ダイにおいて加工された予備メモリアレイ（例えば、図５の予備メモリアレイ５２７）を照会できる。予備メモリアレイは、ＳＲＡＭ、ＤＲＡＭ、または任意の他の半導体メモリ技術として加工されてもよい。
【００４４】
上述したいかなるコンポーネントも、ハードウェア、ソフトウェア、ファームウェアまたはそれらの組み合わせにおける実施形態を含む多くの方法により実装され得る。この文脈における「ソフトウェア」は、法定のソフトウェア構造を指し、単なるソフトウェアリストを意味しないことに留意されたい。
【００４５】
それ故、メモリシステム１００、メモリアレイ２００、２０３、２４０および５２７、ダイ２０２および２０４、タイル２０５Ａ、２０５Ｂ、２０５Ｃ、２０８、２１２Ｂ、２１２Ｃ、および２１２Ｄ、「Ｚ」方向２２０、パス２２４、１４８、および５４２、メモリボールト２３０、１０２および１１０、ＭＶＣ１０４および１０６、ＳＣＬＩ１１２、１１３、１１４、１１５および１６４、プロセッサ（単数または複数）１１４、マトリクススイッチ１１６、レジスタ１１７、パケット３００、４００、１２２および１６０、パケットデコーダ１１８および１２０、フィールド３１０、３２０および４１０、ＤＰＳＰ１２８および１７４、デシリアライザ１３０、ＳＥＤＰ１３４、１４２、１６６および１７０、デマルチプレクサ１３８、インターフェース１４６、パケットエンコーダ１５４および１５８、マルチプレクサ１６８、シリアライザ１７２、ＰＶＣＬ５１０、メモリシーケンス制御装置５１４、リフレッシュコントローラ５１５、バッファ５１６および５１７、乱雑リクエストキュー５１８、ＭＶＲＬ５２４、アレイ修復論理５２６、ＴＷＩ修復論理５２８、メモリアドレス５４０、修復アドレス論理５４４、メモリアドレスデコーダ５４６、アドレスバスゲート論理５５０、部分的アドレスデコーダ５５４、修復デコード評価モジュール５５６、ＶＬＤＭ５６０、不良ブロック論理５６４、修復アドレスルックアップテーブル５６８Ａ、５６８Ｂ、および５６８Ｃ、ＡＬＵ５７２、アドレスセレクタ５７６、並びに予備メモリダイ５８０の全ては、本明細書において「モジュール」として特徴付けられる。
【００４６】
モジュールは、メモリシステム１００の設計者により所望の、および種々の実施形態の特定の実装に適したハードウェア回路、光学部品、単一またはマルチプロセッサ回路、記憶回路、ソフトウェアプログラムモジュールおよび（ソフトウェアリストでは無い）オブジェクト、ファームウェア、並びにそれらの組み合わせを含み得る。
【００４７】
種々の実施形態における装置およびシステムは、含まれるＭＶＲＬ５２４を用いた、高密度、マルチリンク、ハイスループット半導体メモリサブシステム以外の適用にも有益である。それ故、本発明の種々の実施形態はこのように限定されない。メモリシステム１００およびＭＶＲＬ５２４の例証は、種々の実施形態における構成についての概略的な理解を提供することが意図される。これらは、本明細書に記載された構成を利用可能である装置およびシステムの全ての構成要素および特徴の完全な記述を提供することを意図しない。
【００４８】
種々の実施形態における新規の装置およびシステムは、コンピュータに用いられる電子回路、通信および信号処理回路、シングルプロセッサまたはマルチプロセッサモジュール、シングルまたはマルチプル組み込みプロセッサ、マルチコアプロセッサ、データスイッチ、並びにマルチレイヤを含むアプリケーション特有のモジュール、マルチチップモジュールを備えるか、内蔵できる。このような装置およびシステムは、テレビ受信機、携帯電話、パーソナルコンピュータ（例えば、ラップトップコンピュータ、デスクトップコンピュータ、ハンドヘルドコンピュータ、タブレットコンピュータ等）、ワークステーション、ラジオ、ビデオプレーヤ、オーディオプレーヤ（例えば、ＭＰ３（映画専門家グループ、オーディオレイヤ３）プレーヤ）、伝達媒体、医療機器（例えば、心臓モニタ、血圧計等）、セットトップボックス、および他のものといった種々の電子装置内のサブコンポーネントとしてさらに含まれてもよい。一部の実施形態は、多くの方法を含み得る。
【００４９】
図６Ａおよび図６Ｂは、種々の例示的な実施形態に従った方法６００を示すフローチャートである。方法６００は、１つ以上の送信元デバイス（例えば、図１のプロセッサ（単数または複数）１１４）と、複数のメモリボールト（例えば、図１のメモリボールト１０２）との間において、命令、アドレス、および／またはデータの複数のアウトバウンドストリームを実質的に同時に転送することを含む。ストリームは、パケット化され得、そして複数のアウトバウンドＳＣＬＩ（例えば、図１のアウトバウンドＳＣＬＩ１１３）を通じて送信元デバイス（単数または複数）から、一組のパケットデコーダ（例えば、図１のパケットデコーダ１１８）に伝送される。命令、アドレス、およびデータのストリームは、次に、実行および／またはメモリボールトへの書き込みまたはそれからの読み出しのために対応するＭＶＣ（例えば、ＭＶＣ１０４）に切り替えられ得る。
【００５０】
方法６００は、送信元デバイスにおいて、アウトバウンドパケットを一組の第１のデータ転送速度サブパケット部に分割するブロック６０６にて開始され得る。一部の実施形態では、送信元デバイスは、１つ以上のプロセッサを含んでもよい。一部の実施形態では、送信元デバイスは、グラフィックスコントローラといった、ダイレクトメモリアクセス（ＤＭＡ）を実行可能な種類のデバイスを含んでもよい。パケットは、１つ以上のメモリサブシステムロケーションに書き込まれた１つ以上のアウトバウンドメモリサブシステム命令、アドレス、またはデータフィールドを伝送できる。
【００５１】
方法６００は、送信元デバイスから（例えば、選択されたプロセッサから）、デシリアライザ（例えば、図１のデシリアライザ１３０）に、第１のデータ転送速度サブパケット各々を送信するブロック６１０に継続し得る。第１のデータ転送速度サブパケットは、選択されたアウトバウンドＳＣＬＩ（例えば、図１のアウトバウンドＳＣＬＩ１１４）に対応する複数のＤＰＳＰ（例えば、図１のＤＰＳＰ１２８）を通じて、第１のデータ転送速度で送信され得る。方法６００は、デシリアライザにおいて、第１のデータ転送速度サブパケット各々を、複数の第２のデータ転送速度サブパケットに分割するブロック６１２をさらに含み得る。
【００５２】
方法６００は、デシリアライザからデマルチプレクサ（例えば、図１のデマルチプレクサ１３８）に、第２のデータ転送速度サブパケット各々を、第１のデータ転送速度よりも遅い第２のデータ転送速度において送信するブロック６１４をさらに含んでもよい。第２のデータ転送速度サブパケット各々は、ブロック６１６に記載するように、デマルチプレクサにおいて、一組の第３のデータ転送速度サブパケットに分割され得る。方法６００は、第３のデータ転送速度サブパケットを、第２のデータ転送速度よりも遅い第３のデータ転送速度においてパケットデコーダに送信するブロック６１８をさらに含んでもよい。
【００５３】
方法６００は、選択されたＳＣＬＩからの第３のデータ転送速度サブパケットをパケットデコーダにおいて受信するブロック６２２に継続し得る。方法６００は、一組の第３のデータ転送速度サブパケットを、アウトバウンドパケットにアセンブルするブロック６２６をさらに含んでもよい。方法６００は、パケットからのアウトバウンド命令、アウトバウンドアドレス、またはアウトバウンドデータの少なくとも１つを抽出するブロック６２８をさらに含んでもよい。
【００５４】
方法６００は、アウトバウンド命令、アドレス、またはデータをマトリクススイッチに提供するブロック６３２をさらに含んでもよい。方法６００は、マトリクススイッチにおいて各ストリームに関連するアウトバウンド命令、アドレス、および／またはデータを同時に切り替えるブロック６３６をさらに含んでもよい。各ストリームに関連するアウトバウンド命令、アドレス、および／またはデータは、対応するメモリボールト（例えば、図１のメモリボールト１１０）に関連する送信先ＭＶＣ（例えば、図１のＭＶＣ１０６）に切り替えられる。
【００５５】
方法６００は、ＭＶＣ書き込みバッファコンポーネント（例えば、図１の書き込みバッファ５１６）においてアウトバウンド命令、アドレス、および／またはデータをバッファリングするブロック６４０に継続し得る。方法６００は、アウトバウンド命令、アドレス、および／またはデータを、処理のためにメモリシーケンス制御装置（例えば、図１のメモリシーケンス制御装置５１４）に提供するブロック６４４を含んでもよい。
【００５６】
一部の実施形態では、方法６００は、メモリサブシステムが同期並行モードにおいて動作するように設定されたか否かを確定するブロック６４５を選択的に含んでもよい。この場合には、方法６００は、単一のメモリ要求に応答してメモリボールトの同期サブセットを動作するブロック６４６を含んでもよい。このような工程は、単一のメモリボールトワード長の倍数である幅の、広いデータワードを同期して転送することによって、アクセス待ち時間を減少するために利用され得る。この結果生じた広いデータワード幅は、ボールトの同期サブセットにおけるメモリボールトの数に対応する。
【００５７】
方法６００は、メモリシーケンス制御装置の乱雑リクエストキューコンポーネント（例えば、図５の乱雑リクエストキュー５１８）において、対応するメモリボールトに関連する複数のメモリバンクへの読み出しおよび／または書き込み工程を命令するブロック６４８を選択的に含んでもよい。この命令は、任意の単一のメモリバンクへのマルチプルシーケンシャル読み出しおよび／または書き込みを回避するように動作し得、これにより、バンク不一致を低減し、かつ読み書き所要時間を減少できる。
【００５８】
方法６００は、対応するメモリボールトにアウトバウンドデータを書き込むデータ書き込み工程、対応するメモリボールトからデータを読み出すデータ読み出し工程、および／またはメモリボールトハウスキーピング工程を実行するブロック６５０において完了し得る。データ書き込み工程、データ読み出し工程、および／またはハウスキーピング工程は、他のメモリボールトに接続された他のＭＶＣに関連する同時動作とは独立して実行され得る。
【００５９】
図７Ａおよび図７Ｂは、種々の例示的な実施形態に従った方法７００を示すフローチャートである。方法７００は、複数のメモリボールト（例えば、図１のメモリボールト１０２）と、１つ以上の送信先デバイス（例えば、図１のプロセッサ（単数または複数）１１４）との間において、パケット化された命令、アドレス、および／またはデータの複数のインバウンドストリームを、実質的に同時に転送することを含む。命令、アドレス、および／またはデータのストリームは、メモリボールトに関連する一組のＭＶＣ（例えば、図１のＭＶＣ１０４）によってメモリボールトから読み出され得、かつ／またはＭＶＣから生じ得る。ストリームは、マトリクススイッチ（例えば、図１のマトリクススイッチ１１６）により、一組のパケットエンコーダ（例えば、図１のパケットエンコーダ１５４）に切り替えられ得る。ストリームは、次に、パケット化され得、複数のインバウンドＳＣＬＩ（例えば、図１のインバウンドＳＣＬＩ１１５）を通じて送信先デバイス（単数または複数）に伝送され得る。
【００６０】
方法７００は、選択されたメモリボールト（例えば、図１のメモリボールト１１０）に対応するＭＶＣ（例えば、図１のＭＶＣ１０６）においてプロセッサから読み出し命令を受信するブロック７０６において開始され得る。一部の実施形態では、プロセッサおよび送信先デバイスが、同一のデバイスであってもよいが、同一である必要は無いことに留意されたい。方法７００は、ＭＶＣに関連するメモリシーケンス制御装置（例えば、図１のメモリシーケンス制御装置５１４）を利用して、メモリボールトに関連する選択されたメモリバンクからインバウンドデータワードにアクセスするブロック７１０に継続し得る。方法７００は、インバウンドデータワードをマトリクススイッチに提供するブロック７１４を含んでもよい。
【００６１】
方法７００は、マトリクススイッチを利用して、インバウンドデータワードを、選択されたＳＣＬＩ（例えば、インバウンドＳＣＬＩ１６４）に関連するパケットエンコーダ（例えば、図１のパケットエンコーダ１５８）に切り替えるブロック７１８をさらに含んでもよい。方法７００は、パケットエンコーダを用いて、インバウンドデータワードをインバウンドパケットにパケット化するブロック７２２をさらに含んでもよい。
【００６２】
方法７００は、インバウンドパケットを、複数の第３のデータ転送速度インバウンドサブパケットに分割するブロック７２６に継続し得る。方法７００は、複数の第３のデータ転送速度インバウンドサブパケットを、第３のデータ転送速度でマルチプレクサ（例えば、図１のマルチプレクサ１６８）に送信するブロック７３４を含んでもよい。方法７００は、マルチプレクサを用いて、第３のデータ転送速度インバウンドサブパケットの複数のサブセット各々を、第２のデータ転送速度インバウンドサブパケットに多重化するブロック７３８をさらに含んでもよい。方法７００は、第２のデータ転送速度インバウンドサブパケットを、第２のデータ転送速度でシリアライザ（例えば、図１のシリアライザ１７２）に送信するブロック７４２をさらに含んでもよい。
【００６３】
方法７００は、シリアライザを用いて、第２のデータ転送速度インバウンドサブパケットの複数のサブセット各々を、第１のデータ転送速度インバウンドサブパケットに統合するブロック７４６に継続し得る。方法７００は、第１のデータ転送速度インバウンドサブパケットを、送信先デバイス（単数または複数）に提供するブロック７５４を含んでもよい。方法７００は、第１のデータ転送速度インバウンドサブパケットを、インバウンドパケットにアセンブルするブロック７５８をさらに含んでもよい。方法７００は、ブロック７６２において、インバウンドパケットからインバウンドデータワードを抽出し、ブロック７６８において、該インバウンドデータワードを、送信先デバイス（単数または複数）に関連するオペレーティングシステムに提供して完了し得る。
【００６４】
図８は、種々の例示的な実施形態に従った方法８００を示すフローチャートである。方法８００は、欠陥メモリセルを照会するメモリ要求のリマップを含む。欠陥セルに対するメモリ要求は、選択されたメモリボールトに関連するダイ（例えば、図２の積層ダイ２０４）、および／またはメモリボールトダイに積層された論理ダイに配置された余分なセル、またはセルのアレイ（例えば、図２の論理ダイ２０２に配置された図５の予備アレイ５２７）を照会するようにリマップされる。
【００６５】
方法８００は、ＭＶＲＬモジュールにおいて、要求されたメモリアドレスを含むメモリ要求を受信するブロック８０６において開始し得る。方法８００は、要求されたメモリアドレスを部分的にデコーディングするブロック８０８に継続する。方法８００は、概算された待ち時間を導き出すために、要求されたメモリアドレスの修復アドレスへの変換に関連する待ち時間を概算するブロック８１０をさらに含んでもよい。方法８００は、概算された待ち時間と待ち時間の閾値とを比較するブロック８１２をさらに含んでもよい。方法８００は、概算された待ち時間が、選択された時間よりも長い場合に、要求されたメモリアドレスを含むメモリ要求を、選択されたボールトに送信するブロック８１４を含んでもよい。
【００６６】
方法８００は、要求されたメモリアドレスが、１つ以上の欠陥メモリセルを照会するか否かを決定するブロック８１８に継続し得る。この場合には、方法８００は、修復アドレス生成の複雑性を概算するブロック８２２をさらに含んでもよい。方法８００は、いくつかの修復アドレスルックアップテーブルの１つを選択するブロック８２４をさらに含んでもよい。利用可能な種類の修復アドレスルックアップテーブルには、直接マップテーブル、フルアソシアティブタグＲＡＭ、またはセットアソシアティブタグＲＡＭが特に含まれ得る。
【００６７】
一部の種類の修復アドレスルックアップテーブルは、修復アドレス生成の複雑性に基づいた他のものよりも効率的になり得る。修復アドレス生成の複雑性は、他の要素のうちで特に、与えられたメモリバンクにおける欠陥アドレスロケーションの数、並びに利用可能な代替メモリロケーションの配置および密度に基づいてもよい。例えば、完全な予備メモリアレイダイが、メモリボールトダイスタックにおいて利用可能である場合には、一部の実施形態では、単に、予備メモリアレイダイのダイアドレスを、要求されたメモリアドレスに取り換えることによって修復アドレスを生成できる。方法８００は、それ故、選択された修復アドレスルックアップテーブルを利用して、要求されたメモリアドレスを修復アドレスに変換するブロック８２８を含んでもよい。
【００６８】
方法８００は、メモリアドレスデコーダにおいて、要求されたメモリアドレス、修復アドレス、またはその両方を受信するブロック８３２に継続し得る。方法８００は、１つ以上の欠陥メモリセルを照会するように要求されたメモリアドレスが確定された場合に、メモリアドレスデコーダにおいて、処理中の要求されたメモリアドレスデコード工程を拒否するブロック８３６をさらに含んでもよい。後者の場合では、方法８００は、修復アドレスのデコーディングを起動するブロック８４０を含んでもよい。
【００６９】
方法８００は、要求されたメモリアドレスまたは修復アドレスを、メモリダイ識別子、メモリバンク識別子、行アドレス、または列アドレスにデコーディングするブロック８４４に継続する。方法８００は、ブロック８５０において修復アドレスを利用して、メモリボールトの予備メモリダイコンポーネントを照会するブロック８５０にて終了し得る。代替的に、方法８００は、修復アドレスを利用して、ＭＶＲＬと共通の論理ダイ（例えば、図２の論理ダイ２０２）において加工された１つ以上の予備メモリアレイを照会するブロック８５４にて終了し得る。
【００７０】
図９は、種々の例示的な実施形態に従った方法９００を示すフローチャートである。方法９００は、不良ブロックマッピングおよび修復工程を容易にするために、積層アレイメモリボールトの生成中に、メモリアレイダイを選択および分類するように動作する。
【００７１】
方法９００は、生成中に、一組のメモリアレイダイ各々における１つ以上のメモリアレイに関連する欠陥行および列を識別するブロック９０６にて開始され得る。方法９００は、分類された一組のメモリアレイダイを得るように、各ダイ内における欠陥メモリアレイのロケーションに従って、一組のメモリアレイダイを分類するブロック９１０に継続し得る。
【００７２】
方法９００は、分類された組から、メモリアレイダイの「メモリボールト」サブセットを選択するブロック９１４をさらに含んでもよい。ダイのメモリボールトサブセットは、積層されるように選択され、複数のメモリボールトを形成する（例えば、図２の積層ダイメモリアレイ２００）。メモリボールトサブセットは、メモリボールトセットからの、ダイにおける欠陥メモリセルの隣接部に関連するアドレスと、メモリボールトセットからの、任意の他のダイにおける欠陥メモリセルの隣接部に関連するアドレスとの重なりを回避するように選択され得る。
【００７３】
方法９００は、予備メモリアレイダイを選択するブロック９１８を追加的に含んでもよい。予備メモリアレイダイにおける動作可能なメモリセルの１つ以上の隣接部が、メモリアレイダイの１つ以上のメモリボールトサブセットにおける動作可能なメモリセルの第２の隣接部と同様に、開始メモリアドレスに配置されるように予備ダイは選択され得る。開始メモリアドレスは、バンクアドレス、行アドレス、および／または列アドレスを含んでもよい。
【００７４】
方法９００は、メモリアレイダイのメモリボールトセットと共に積層された共有論理ダイにおけるメモリダイのメモリボールトセット各々に関連する欠陥メモリセルの不良ブロックマップを保存するブロック９２２をさらに含んでもよい。
【００７５】
本明細書に記載された機能が、記載された以外の順序で実行されてもよいことに留意されたい。本明細書において特定された方法に関連する記載された種々の機能はさらに、繰り返し、連続、および／または並行して実行されてもよい。
【００７６】
ソフトウェアプログラムは、コンピュータベースのシステムにおけるコンピュータ可読媒体において開始され、ソフトウェアプログラムにおいて定義された機能を実行してもよい。本明細書に開示された方法を実施および実行するように設計されたソフトウェアプログラムを開発するために、種々のプログラミング言語が用いられ得る。プログラムは、ＪａｖａまたはＣ＋＋といった、オブジェクト指向言語を利用したオブジェクト指向のフォーマットにおいて構成されてもよい。代替的に、プログラムは、アセンブリまたはＣといった、手続き型言語を利用した手続き指向のフォーマットにおいて構成されてもよい。ソフトウェアコンポーネントは、中でもアプリケーションプログラムインターフェース、プロセス間通信手法、および遠隔手続呼び出しを含む、周知のメカニズムを利用して通信可能である。種々の実施形態の教示は、任意の特定のプログラミング言語または環境に限定されない。
【００７７】
本明細書に記載された装置、システム、および方法は、可変待ち時間アドレスデコードおよび選択的な修復アドレスルックアップ技術を利用して、積層ダイメモリボールトの欠陥メモリアレイ修復を実行し得る。この結果、メモリアクセスにおける平均的な待ち時間が減少され得る。
【００７８】
添付の図面は、限定ではなく説明を目的として、主題が実行され得る特定の実施形態を示す。示された実施形態は、本明細書に開示された教示を当業者が実行可能なように、十分に詳細が記載される。他の実施形態が用いられ得、そこから派生し得る。例えば、本開示の範囲から逸脱すること無く、構成および論理の置き換え、並びに変更がなされ得る。「発明を実施するための形態」は、それ故、限定的に解釈されるべきではない。種々の実施形態の幅は、添付の請求項、およびこのような請求項が資格を与える均等物における全体の範囲によって定義される。
【００７９】
発明の主題におけるこのような実施形態は、複数が実際に開示された場合に、この適用を任意の単一の発明または発明概念に自発的に制限することを意図せず、単に便宜のために用語「発明」に基づいて、個々または集合的に本明細書に言及され得る。それ故、特定の実施形態が本明細書に説明され、記載されたが、同一の目的を達成するように算出された任意の配置が、示された特定の実施形態の代用となり得る。本開示は、種々の実施形態における任意の全ての適応または変化を含むように意図される。上述の実施形態と、本明細書に明確に記載されない他の実施形態との組み合わせは、上述の説明の再検討により当業者に明らかとなろう。
【００８０】
技術的な開示の本質を読者が迅速に確認可能な要約を要求する３７Ｃ．Ｆ．Ｒ．§１．７２（ｂ）に従って、「開示内容の要約」が提供される。それは、請求項の範囲または意味を解釈または制限するのに用いられないという理解の上に提供される。上述の「発明を実施するための形態」では、種々の特徴は、本開示を簡素化する目的のため、単一の実施形態において共にグループ化される。開示におけるこの方法は、より多くの特徴を要求するようには解釈されず、むしろ各請求項に明確に列挙される。それどころか、本発明の主題は、単一の開示された実施形態の全ての特徴の中で見いだされ得る。それ故、下記の請求項は、これにより、「発明を実施するための形態」に組み込まれ、各請求項は、個々の実施形態としてそれ自体に基づく。
【図２】
0005598732.tif 000002
【図１】
0005598732.tif 000003
【図３】
0005598732.tif 000004
【図４】
0005598732.tif 000005
【図５】
0005598732.tif 000006
【図５Ａ】
0005598732.tif 000007
【図６Ａ】
0005598732.tif 000008
【図６Ｂ】
0005598732.tif 000009
【図７Ａ】
0005598732.tif 000010
【図７Ｂ】
0005598732.tif 000011
【図８】
0005598732.tif 000012
【図９】
0005598732.tif 000013