(57)【特許請求の範囲】
【請求項１】
データ取扱デバイスを含むデータ処理システムであって、
前記データ取扱デバイスは、
第一のパケット化メモリリンクにおける第一のメモリデバイスに対する伝送用の第一のパケットを発生させるように構成されるデータリクエスタエンドポイントと、
データ取扱エンドポイントと、
を含み、
前記データ取扱エンドポイントは、
少なくとも一つのさらなるデータ取扱デバイスからの、第二のパケット化メモリリンクにおける前記データ取扱エンドポイントによって受信された第二のパケットを解釈し、かつ、
前記第二のパケットに応じて、前記第二のパケット化メモリリンクを介し、前記少なくとも一つのさらなるデータ取扱デバイスとの間で双方向にデータを伝送する、
ように構成され、
前記第一のパケット化メモリリンクおよび前記第二のパケット化メモリリンクは、互いに分離されているが、同一の種類のリンクプロトコルと、同一の種類の物理インターフェイスとを含み、
前記データ取扱デバイスは、前記データリクエスタエンドポイント及び前記データ取扱エンドポイントのうちの一つ以上に動作可能なように結合された一つ以上のプロセッサを更に含む、データ処理システム。
【請求項２】
前記データ取扱デバイスは、前記データリクエスタエンドポイント及び前記データ取扱エンドポイントのうちの一つ以上に動作可能なように結合された一つ以上のデータ取扱素子をさらに含み、前記一つ以上のデータ取扱素子の各々は、前記一つ以上のプロセッサと、一つ以上の通信素子とを含む、請求項１のデータ処理システム。
【請求項３】
前記データ取扱デバイスは、前記データ取扱エンドポイントと前記一つ以上のデータ取扱素子との間に動作可能なように結合されたデータバッファをさらに含み、前記データバッファは、前記データ取扱エンドポイントのためのアドレススペースを規定するように構成される、請求項２のデータ処理システム。
【請求項４】
一つ以上のハイブリッドメモリキューブデバイスを更に含み、
前記第一のパケット化メモリリンクおよび前記第二のパケット化メモリリンクは、双方とも、前記一つ以上のハイブリッドメモリキューブデバイスのうちの少なくとも一つに接続されたハイブリッドメモリキューブリンクである、請求項１のデータ処理システム。
【請求項５】
前記データ取扱エンドポイントは、第三のパケットを発生させるようにさらに構成される、請求項１のデータ処理システム。
【請求項６】
前記データリクエスタエンドポイントは、
前記第一のパケット化メモリリンクにおける前記データリクエスタエンドポイントによって受信された第三のパケットを解釈し、かつ、
前記第三のパケットに応じて、前記第一のパケット化メモリリンクを介して双方向にデータを伝送する、
ようにさらに構成される、請求項１のデータ処理システム。
【請求項７】
前記データ取扱デバイスおよび前記少なくとも一つのさらなるデータ取扱デバイスのうちの対応する一つの第一のメモリドメインと関連する第一のハイブリッドメモリキューブデバイスを更に含み、前記データ取扱デバイスと前記少なくとも一つのさらなるデータ取扱デバイスとは前記第一のハイブリッドメモリキューブデバイスを介して接続され、前記第一のハイブリッドメモリキューブデバイスは、前記データ取扱デバイスと、前記少なくとも一つのさらなるデータ取扱デバイスとの間で前記第二のパケットを連鎖し、渡すように構成される、請求項１から請求項３のうちのいずれかによるデータ処理システム。
【請求項８】
同一の種類のリンクプロトコルと同一の種類の物理インターフェイスを有し、互いに分離されて設けられた第一及び第二のパケット化メモリリンクに其々対応して設けられたデータリクエスタエンドポイント及びデータ取扱エンドポイントを備えるデータ取扱デバイスにおけるデータ伝送方法であって、前記データ取扱デバイスは、前記データリクエスタエンドポイント及び前記データ取扱エンドポイントのうちの一つ以上に動作可能なように結合された一つ以上のプロセッサを更に含み、前記データ伝送方法は、
前記第一のパケット化メモリリンクと接続する第一のハイブリッドメモリキューブデバイスへの第一のパケットを前記データリクエスタエンドポイントにおいて発生及び送信することと、
前記第二のパケット化メモリリンクと接続する第二のハイブリッドメモリキューブデバイスを介して他のデータ取扱デバイスからの第二のパケットを受信し、前記データ取扱エンドポイントにおいて解釈することと、
を含むデータ伝送方法。
【請求項９】
前記データ取扱デバイス内において、前記第二のパケットで受信されたデータをバッファすることをさらに含む、請求項８のデータ伝送方法。
【請求項１０】
前記第二のパケットに対応する要求に応じるときに、送信される読み出しデータをバッファすることをさらに含む、請求項８のデータ伝送方法。
【請求項１１】
前記データ取扱デバイスが前記データ取扱エンドポイントにおいて第三のパケットを発生し、且つ前記第二のハイブリッドメモリキューブデバイスを介して前記他のデータ取扱デバイスに送信することをさらに含む、請求項８のデータ伝送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
［優先権主張］
本出願は、２０１４年５月９日に出願された米国特許出願整理番号１４／２７３，８６７の“ＩＮＴＥＲＣＯＮＮＥＣＴ  ＳＹＳＴＥＭＳ  ＡＮＤ  ＭＥＴＨＯＤＳ  ＵＳＩＮＧ  ＨＹＢＲＩＤ  ＭＥＭＯＲＹ  ＣＵＢＥ  ＬＩＮＫＳ”の出願日の利益を享受する権利を主張する。
【０００２】
本開示は、概して、半導体メモリデバイス、処理デバイス、メモリシステムおよび処理システムなどのデバイスの相互接続および関連する方法に関する。より詳細には、本開示は、ハイブリッドメモリキューブリンクを用いるこのようなデバイスおよびシステムの相互接続に関する。
【背景技術】
【０００３】
メモリデバイスは、典型的には、コンピュータまたは他の電子デバイスにおける半導体集積回路および／または外部リムーバブルデバイスとして、多くのデータ処理システム内で提供される。とりわけ、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、同期式ＤＲＡＭ（ＳＤＲＡＭ）、フラッシュメモリおよび抵抗可変メモリを含む多くの様々な種類のメモリが存在する。
【０００４】
従来のメモリシステムは、デュアル・インライン・メモリモジュール（ＤＩＭＭ）と呼ばれる、プリント回路基板（ＰＣＢ）上にマウントされたＤＲＡＭなどの一つ以上のメモリデバイスで典型的に構成される。メモリシステムは、メモリ制御サブシステムまたは中央処理装置（ＣＰＵ）またはマイクロプロセッサと通信する。幾つかの構成においては、メモリコントローラは、プロセッサと同一の物理チップに物理的に組み込まれる。他の構成においては、メモリコントローラは、メモリコントローラハブを含む多くの論理コンポーネントのうちの唯一つにすぎないことがある。メモリコントローラハブは、しばしば様々な種類の半導体メモリを用いて、または様々な目的で、完全に分離された、個別のメモリアドレススペースを典型的にサポートする。例えば、メモリコントローラは、グラフィックアプリケーション用のビデオＤＲＡＭ、ディスクドライブ加速用のフラッシュメモリ、プロセッサのメイン外部メモリとしてのＤＲＡＭ製品の利用をサポートすることが出来る。
【０００５】
メモリプロトコル、従来のメモリサブシステムアーキテクチャ、スタンダード、プロセッサ特有メモリアクセスモデル、エンドユーザの設定可能性要件、電力制約またはそれらの制限の組み合わせに課される制限は、性能を低下させるように相互作用する傾向があり、その結果、最適ではないメモリサブシステムを生じる。最近、プロセッサとメモリサブシステムとの間のメモリ性能を向上させるために、メモリ制御ハブ（ＭＣＨ）が提案されている。しかしながら、ＭＣＨは、単一のプロセッサに対するメモリサブシステムとして主に規定される。多くの汎用システムアーキテクチャは、複数のプロセッサを含み、各々は、おそらくは、それ自体のメモリドメインを有する。しばしば、これらの複数のプロセッサは、それら自体の間で通信する必要がある。その結果、システム相互接続を向上させるために、プライベートなプロセッサ通信バスが提案されている。
【０００６】
しかしながら、現世代の汎用システム相互接続の仕様は、そのメインメモリが、ＨＭＣの仕様で提案されるような高帯域幅デバイスに基づくシステムにおいて、適切なバランスを維持するのに十分な機能性、柔軟性および性能を提供しない。数百ギガバイト／秒のローカルメモリ帯域幅に対するアクセスを維持するシステムアーキテクチャを見つける場合がしばしばあるが、システム相互接続に対して、この帯域幅のうちのほんの一部（１／１０のオーダ）しか提供しない。その結果、非常にアンバランスなシステムを生じる。
【０００７】
この現象は、複数の処理ソケット／デバイスの中で分散された実行の複数のスレッド（例えば、タスク）を有するアプリケーションで特に明らかである。コアプロセッサが機能的データキャッシングをサポートする場合、プロセッサソケットの間に存在しなければならないキャッシュコヒーレンシー機構は、システム相互接続における帯域幅よりも大きいオーダの大きさであり得るローカルメモリ帯域幅をサポートしなければならない。その結果、非常にアンバランスなシステムを生じる。
【０００８】
よりバランスのとれたシステム帯域幅を提供し、このような相互接続システムを設計するために必要とされる複雑性を減少もできるような、相互接続システムおよび方法に対するニーズが存在する。
【図面の簡単な説明】
【０００９】
【図１】抽象化メモリプロトコルを用いて、メモリバス上で動作するためのデバイスの一例として、ハイブリッドメモリキューブを含むデータ処理システムの図である。
【図２】ハイブリッドメモリキューブ内のＤＲＡＭの可能な分画を図示する。
【図３】ハイブリッドメモリキューブ内のＤＲＡＭの論理分画を図示する。
【図４】リンクインターフェイスおよびハイブリッドメモリキューブ内のＤＲＡＭの制御用の論理ベースを図示する。
【図５】本開示の幾つかの実施形態によるデータ取扱デバイス内に存在し得る幾つかの素子を図示する。
【図６】様々なデータ取扱デバイスとメモリデバイスとの間のｉｎ−ｓｉｔｕルーティングを用いるシステムの図を図示し、メモリデバイス間のスパースルーティングを示す。
【図７】様々なデータ取扱デバイスとメモリデバイスとの間のｉｎ−ｓｉｔｕルーティングを用いるシステムの図を図示し、メモリデバイス間のデンスルーティングを示す。
【図８】様々なデータ取扱デバイスとメモリデバイスとの間の専用ルーティングを用いるシステムの図を図示する。
【図９】図８の専用ルーティングで、システム内で用いられ得る様々な例示的なトポロジーを図示する。
【発明を実施するための形態】
【００１０】
以下の詳細な説明において、本明細書の一部を形成する添付の図面が参照され、図面内では、例示として、本開示が実施され得る特定の例示的実施形態が示される。これらの実施形態は、本開示を当業者が実施することが可能なほど十分詳細に記述される。しかしながら、他の実施形態も使用することが出来、構造、材料およびプロセスの変更は、本開示の範囲から逸脱することなく行われることが出来る。本明細書に提示された図示は、任意の特定の方法、システム、デバイスまたは構造の実際の外観を意味するものではなく、本開示の実施形態を記述するために使用される単なる理想化された表現に過ぎない。本明細書に提示された図面は、必ずしも同一の縮尺で描かれるとは限らない。様々な図面における類似の構造またはコンポーネントは、読者の簡便のために、同一または類似の番号を維持することがある。しかしながら、番号の類似性は、構造またはコンポーネントが、サイズ、組成、構成または任意の他の特性において必ずしも同一であることを意味するものではない。
【００１１】
素子、回路、モジュールおよび機能は、不必要に詳細にして、本開示を不明瞭にしないように、ブロック図の形式で図示されることがある。さらに、図示され、記述される特定の実装は、単に例示的なものにすぎず、本明細書でそうではないと特定されない限りは、本開示を実現するための唯一の方法として解釈されるべきではない。さらに、様々なブロック間の論理のブロック画定および分画は、特定の実装の例示に過ぎない。本開示は、多くの他の分画方法によって実現できることを当業者は容易に理解するだろう。このような詳細が本開示の完全な理解を得るために必要ではなく、業界における当業者の能力の範囲内である場合に、大部分において、タイミングの考察などに関する詳細などは、省略されることがある。
【００１２】
本明細書で開示された実施形態に関連して記述される様々な例示的論理ブロック、モジュール、回路およびアルゴリズムアクトが、電子ハードウェア、コンピュータソフトウェア、または双方の組み合わせとして実装されてもよいことを当業者は理解するだろう。このハードウェアとソフトウェアとの互換性を明瞭に図示するために、様々な例示的コンポーネント、ブロック、モジュール、回路およびアクトは、これらの機能性の観点から一般的に記述される。このような機能がハードウェアとして実装されるか、またはソフトウェアとして実装されるかは、システム全体に課された特定のアプリケーションおよび設計の制約に依存する。当業者は、特定の各アプリケーションのための様々な方法で、記述された機能を実装することが出来るが、このような実装の決定は、本明細書に記述された実施形態の範囲からの逸脱を引き起こすと解釈されるべきではない。
【００１３】
ハードウェアで実装されるとき、本明細書に開示された実施形態は、汎用プロセッサ、専用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または他のプログラマブル論理デバイス、ディスクリートゲートもしくはトランジスタ論理素子、ディスクリートハードウェアコンポーネント、または本明細書に記述された機能を実施するように設計されたその任意の組み合わせで、実装または実施されてもよい。汎用プロセッサは、マイクロプロセッサであってもよいが、代替的には、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであってもよい。本明細書に記述された実施形態のためにプロセスを実行するためのソフトウェアを実行するとき、汎用プロセッサは、このようなプロセスを実行するために構成された専用プロセッサと考えられるべきである。プロセッサは、また、コンピューティングデバイスの組み合わせ、例えば、ＤＳＰとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、ＤＳＰコアと組み合わせられた一つ以上のマイクロプロセッサ、または任意の他のこのような構成として実装されてもよい。
【００１４】
さらに、実施形態は、フローチャート、フロー図、構造図またはブロック図として図示されたプロセスに関して記述されることがあることに留意されたい。フローチャートは、順次的なプロセスとして動作挙動を記述することがあるが、これらの挙動のうちの多くは、別のシーケンスで、パラレルに、または実質的に同時に実施することが出来る。さらに、挙動の順序は再配列されてもよい。プロセスは、方法、機能、手順、サブルーチン、サブプログラムなどに対応してもよい。さらに、本明細書に開示された方法は、ハードウェア、ソフトウェア、またはその双方で実装されてもよい。ソフトウェアで実装される場合、機能は、コンピュータ可読媒体上の一つ以上の命令またはコードとして格納され、または伝送されることが出来る。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含むコンピュータ記憶媒体と通信媒体との双方を含む。
【００１５】
情報および信号は、様々な異なる技術および技法のうちの任意のものを用いて表されてもよいことを当業者は理解するだろう。例えば、本記述を通じて参照されることがあるデータ、命令、コマンド、情報、信号、ビット、シンボルおよびチップは、電圧、電流、電磁波、磁界もしくは磁性粒子、光学場もしくは光子、またはその任意の組み合わせによって表されてもよい。幾つかの図面は、提示と記述を明瞭にするために、単一の信号として複数の信号を図示することがある。信号は、信号を伝送するためのバスを表すことがあり、バスは、様々なビット幅を有することが出来ることを当業者は理解するだろう。
【００１６】
“第一（ｆｉｒｓｔ）”“第二（ｓｅｃｏｎｄ）”などの指定を用いる本明細書の要素に対するあらゆる参照は、その限定が明示的にされていない限りは、これらの要素の量または順序を限定するわけではないことを理解するべきである。むしろ、これらの指定は、二つ以上の要素または要素の例の間で区別する簡便な方法として、本明細書で用いられることがある。したがって、第一および第二の要素に対する参照は、そこで二つの要素だけが使用され得ることや、第一の要素が何らかの形で第二の要素に対して先行しなければならないことを意味するものではない。さらに、そうでないと言及されない限りは、要素の組は、一つ以上の要素を含んでもよい。
【００１７】
本明細書に記述される要素は、同一要素の複数の例を含んでもよい。これらの要素は、数字表示（例えば、１１０）によって包括的に示されてもよいし、アルファベット表示が後に続く数字表示（例えば、１１０Ａ）、または、“ダッシュ”によって先行される数字表示（例えば、１１０−１）によって具体的に示されてもよい。以下の記述を容易にするために、大部分で、要素の番号表示は、その要素が紹介されるか、ほぼ全て議論される図面の番号で開始する。したがって、例えば、図１における要素の表示は、ほぼ、数字のフォーマット１ＸＸであるだろうし、図４における要素は、ほぼ、数字のフォーマット４ＸＸであるだろう。
【００１８】
本明細書で用いられるように、所定のパラメータ、特性または条件に対する“実質的に（ｓｕｂｓｔａｎｔｉａｌｌｙ）”という語は、許容可能な製造公差内など、小程度の相違で所定のパラメータ、特性または条件が満たされることを当業者が理解するだろう程度を、意味し、含む。例示として、実質的に満たされる特定のパラメータ、特性または条件によって、そのパラメータ、特性または条件は、少なくとも９０％満たされるか、少なくとも９５％満たされるか、または少なくとも９９％も満たされることもある。
【００１９】
本明細書で用いられるように、“の上（ｏｖｅｒ）”“の下（ｕｎｄｅｒ）”“の上（ｏｎ）”“の下（ｕｎｄｅｒｌｙｉｎｇ）”“より上（ｕｐｐｅｒ）”“より下（ｌｏｗｅｒ）”等の任意の関係性的な語は、本開示と添付の図面を理解するうえでの明瞭性および簡便性のために用いられるものであり、文脈がそうでないと明確に示さない限りは、任意の特定の優先度、方向もしくは順序を含意し、または依存するものではない。
【００２０】
ある要素が、他の要素“の上（ｏｎ）”“に接続される（ｃｏｎｎｅｃｔｅｄ  ｔｏ）”“に結合される（ｃｏｕｐｌｅｄ  ｔｏ）”“と結合される（ｃｏｕｐｌｅｄ  ｗｉｔｈ）”と言及されるときには、その要素は、他の要素の直接上にあるか、接続されるか、もしくは結合されることが出来、または、中間要素が存在してもよいことが理解されるだろう。対照的に、ある要素が、他の要素“の直接上（ｄｉｒｅｃｔｌｙ  ｏｎ）”“に直接接続される（ｄｉｒｅｃｔｌｙ  ｃｏｎｎｅｃｔｅｄ  ｔｏ）”“に直接結合される（ｄｉｒｅｃｔｌｙ  ｃｏｕｐｌｅｄ  ｔｏ）”と言及されるときには、中間要素または中間層は存在しない。本明細書で用いられるように、“および／または（ａｎｄ／ｏｒ）”という語は、関連付けられて記載された多数の項目のあらゆる組み合わせと全ての組み合わせを含む。
【００２１】
本開示は、よりバランスのとれたシステム帯域幅を提供し、このような相互接続システムの設計および使用の複雑性を減少することを可能とすることによって、メモリサブシステムを改良するための方法および装置を記述する。
【００２２】
図１は、データ取扱デバイス５００と通信するための抽象化メモリプロトコル１３０を用いるメモリバス上で動作するためのデバイスの一例として、ハイブリッドメモリキューブデバイス２００を含むデータ処理システム１００の図である。記述を容易にするために、この開示は、ＨＭＣプロトコルバスに焦点をあてる。しかしながら、本開示の利益を有する当業者が理解するように、本開示の実施形態は、データを保持するデバイスと、データバス上のプロトコルとの間の抽象化を含む他の高速データバスで実施することが出来る。
【００２３】
“データ取扱デバイス”５００という語は、ＤＲＡＭメモリなどのデータを格納するためのデバイスではなく、主にデータのコンシューマおよびジェネレータとして構成されるメモリバス上のデバイスを区別するために本明細書で用いられる。限定しない例として、データ取扱デバイス５００は、例えば、汎用プロセッサ、専用プロセッサ、グラフィックプロセッサおよびデジタル信号プロセッサなどのプロセッサ（本明細書では処理デバイスとも呼ばれる）と考えることが出来る。別の限定しない例として、データ取扱デバイス５００は、通信デバイスと考えることが出来る。例えば、通信型データ取扱デバイス５００は、メモリバスと、例えば、入力／出力（Ｉ／Ｏ）バスまたはネットワークバスなどの幾つかの他の種類の通信バスとの間でデータを伝送するように構成されてもよい。無論、データ取扱デバイス５００は、また、プロセッサ素子と通信素子との双方を含んでもよい。このように、本明細書の記述は、また、データ取扱デバイス５００をシステムオンチップ（ＳｏＣ）５００と記述してもよい。そうでないと具体的に言及されない限りは、本明細書で呼ばれるＳｏＣ５００は、データ取扱デバイス５００と等価であると考えられるべきである。最後に、データ取扱デバイス５００は、データを処理および移動することに焦点をあてられていると考えられてもよいが、レジスタ、バッファ、キャッシュ、およびＳｏＣ５００の他の種類のローカルメモリの形態で、相当量のメモリを含むこともできる。ＳｏＣ５００のさらなる詳細は、図５に関連して以下に議論される。
【００２４】
ハイブリッドメモリキューブデバイス２００（ＨＭＣ２００）は、論理ベース４００を含み、論理ベース４００は、ＳｏＣ５００とＨＭＣ２００との間のメモリリンク１２０を作成するために、抽象化メモリプロトコル１３０を定義する。パラレルバス４１０の集合は、論理ベース４００とＨＭＣ２００上のＤＲＡＭ２５０のグループとの間をインターフェイスで接続する。ＨＭＣ２００のさらなる詳細は、図２から図４に関連して以下に議論される。
【００２５】
メモリリンク１２０は、ＳｏＣ５００に向かうアップストリームリンクと、ＳｏＣ５００から離れるダウンストリームリンクとに区分化される。抽象化メモリプロトコル１３０の一部として、メモリリンク１２０は、以下に完全に説明されるようにパケット化される。結果として、メモリリンク１２０は、本明細書で、パケット化メモリリンク１２０とも、ハイブリッドメモリキューブリンク１２０ともよばれる。さらに、メモリリンク１２０上で伝送されるパケットは、パケット要求およびパケット化要求と呼ばれることがある。
【００２６】
図２は、ＨＭＣ２００内のＤＲＡＭ２５０の可能な分画を図示する。ＨＭＣ２００は、論理ベース４００に結合されたＤＲＡＭダイ２５０の３次元積層と考えることが出来る。論理ベース４００は、個別のダイとして構成されてもよく、ＤＲＡＭダイ２５０とインターフェイス接続するように構成されてもよい。積層されると、様々なダイの間の相互接続は、シリコンビアを通じて達成されてもよい。これらのデバイスは３次元積層として物理的に構成されてもよいが、そのように構成される必要はなく、相互接続の観点から依然３次元と考えることもできる。
【００２７】
図３は、ＨＭＣ２００内のＤＲＡＭ２５０の論理分画を図示する。図２および図３を参照すると、複数のダイ層の相互接続は、メモリストレージ層と一つ以上の論理層との組み合わせをメモリデバイスが有することを可能とする。この方法では、デバイスは、ＨＭＣ２００として構成された単一のダイパッケージ内の、物理メモリストレージと論理メモリトランザクションを提供する。最終結果は、デバイス毎に３２０ＧＢ/秒の使用可能な帯域幅容量を有する、非常に小型で、電力効率の良いパッケージである。
【００２８】
ＨＭＣ２００は、設計に対する階層的でパラレルなアプローチを介して、このような帯域幅を可能とする。例えば、デバイスの階層は、論理層に対して垂直方向に生じることが出来、ハードウェアの平行度は、所定のダイ層にわたって生じることがある。論理ベース４００は、内部ルーティングおよびトランザクション論理とともに、ＨＭＣ２００に対する外部リンクアクセスの双方を提供する複数のコンポーネントを含む。
【００２９】
ＨＭＣ２００は、“ボールト（ｖａｕｌｔ）２２０”としばしば呼ばれる垂直方向のスライス２２０に断片化することが出来る。各ボールト２２０は、そのボールト２２０と関連するＤＲＡＭ２５０の断片を制御するために、論理ベース４００に組み込まれたボールト論理４５０を含んでもよい。ボールト論理４５０は、そのボールト２２０内のメモリ区分に対する、メモリ参照動作を管理する。各ボールトコントローラ４５０は、それ自体のタイミング要求とリフレッシュ動作を決定することが出来、それによって、各ボールト２２０に対して異なるタイミングを可能とし、また、ホストメモリコントローラ内のこれらの機能に対するニーズを排除する。さらに、そのボールトのメモリに対する参照をバッファするために、各ボールトコントローラ４５０には待ち行列（キュー）が含まれてもよい。ボールトコントローラ４５０は、到着順序ではなく、ニーズに基づいて、この待ち行列内の参照を実行することが出来る。したがって、外部メモリリンク１２０（図１）に対するボールト動作からの応答は、幾つかの場合には、順序が違うことがある。
【００３０】
メモリリンク１２０は、４つまたは８つの論理リンクを提供するように構成されてもよい。各リンクは、１６または８つのシリアルおよび双方向Ｉ／Ｏリンクのグループとして構成されてもよい。４つのリンクを有するように構成されたデバイスは、１０、１２．５および１５Ｇｂｐｓで動作する性能を有する。８つのリンクを有するように構成されたデバイスは、１０Ｇｂｐｓで動作する性能を有する。
【００３１】
物理メモリストレージの階層的特性を考えると、ＨＭＣの仕様は、従来のバンクＤＲＡＭデバイスとは異なる物理アドレシングとインターリーブモデルを定義する。ＨＭＣデバイス２００に対する物理アドレスは、ボールト、バンクおよびアドレスビットを含む３４ビットのフィールドにエンコードされる。単一のアドレシング構造に依存するのではなく、仕様は、対象のメモリアクセス特性に対して最適化されたアドレスマッピングスキームを開発者およびユーザが規定することを可能にする。それは、また、所望の最大ブロック要求サイズに物理的ボールトおよびバンク構造を合わせる、一連のデフォルトアドレスマップモードを提供する。デフォルトのマップスキームは、ボールトアドレスに下位のアドレスビットをマッピングし、その直後に、バンクアドレスビットをマッピングすることによって、低いインターリーブモデルを実装する。この方法は、バンクコンフリクトを回避するために、一連のアドレスを、ボールトにわたってまずインターリーブさせ、その後、ボールト内のバンクにわたってインターリーブさせる。
【００３２】
ホストデバイス（例えば、ＳｏＣ５００）とＨＭＣデバイス２００との間の全ての帯域内通信は、パケット化フォーマットを介して実施される。このフォーマットは、３つの主要なパケット分類である、要求パケット、応答パケットおよびフロー制御パケットを含む。パケットは、単一の１６バイトのフローユニット（ＦＬＩＴとも呼ばれる）の倍数として構成されてもよい。パケットサイズは、９ＦＬＩＴ（即ち、１４４バイト）と同じ大きさであってもよい。最小のパケットは、パケットヘッダおよびパケットテイルを含む、ただ一つの１６バイトのＦＬＩＴを含んでもよい。
【００３３】
すべてのメモリペイロードサイズに対するメモリ読み出し要求パケットは、パケットヘッダ、パケットテイルおよび其々の物理メモリアドレスを要求するだけである。このように、読み出し要求は、単一のＦＬＩＴを用いて構成されてもよい。メモリ読み出し要求は、対応するメモリ読み出しパケット内で要求されたアドレスからのデータを含む個別のパケットである。しかしながら、書き込み要求およびアトミック要求パケットは、其々、書き込みおよび読み出し／修正／書き込み動作のために、関連する入力データを含まなければならない。このように、これらの要求の種類は、２−９ＦＬＩＴのパケット幅を有することがある。ＨＭＣの仕様は、パケット間の弱い順序付けのモデルを規定する。このように、対象実装内に存在する複数のパケット再順序付け点が存在してもよい。補助デバイスが宛先の到着パケットは、ローカルボールトアクセス用に待機するパケットを追い越すことが出来る。ローカルボールトは、また、其々のボールトバンクとやり取りする帯域幅を最も効率的に利用するために、待ち行列型パケットを再順序付けすることが出来る。しかしながら、所定のＨＭＣ実装内に存在する再順序付け点は、特定のリンクからボールト内の特定のバンクに、パケットのストリームの順序を維持するように規定されてもよい。この順序付けは、メモリ読み出し要求がその後に続くメモリ書き込み要求が、正確かつ決定的な挙動を果たすことを保証する。
【００３４】
ＨＭＣ２００内のリンク構造は、複数のＨＭＣ２００の連鎖（ｃｈａｉｎｉｎｇ：チェイニング）を可能とし、リンク構造およびパケット化トランザクションプロトコルを維持しながら、単一のＨＭＣ２００デバイスよりも大きい容量を必要とするメモリサブシステムの構造を可能とする。連鎖に関するさらなる詳細は、図６−図９を参照して以下に議論される。
【００３５】
図４は、論理ベース４００を図示し、論理ベース４００は、リンクインターフェイス１２０を作成して、ＨＭＣ２００内のＤＲＡＭ２５０（図１から図３）を制御するために使用され得る。アップストリームリンクとダウンストリームリンクとを含むメモリリンク１２０は、各メモリリンク１２０に対するリンクインターフェイスコントローラ４２０によって制御されてもよい。リンクインターフェイスコントローラ４２０を通過するパケットは、クロスバースイッチ４３０を通過してもよい。パケットの宛先がＨＭＣ２００におけるボールトである場合、クロスバースイッチ４３０は、メモリ制御論理４４０にパケットを渡すことが出来る。パケットの宛先が別のＨＭＣ２００である場合、クロスバースイッチ４３０は、適切なＨＭＣ２００に送信されるように、適切なリンクインターフェイスコントローラ４２０にパケットを渡すことが出来る。様々なボールトに対するメモリ制御論理４４０およびボールト論理４５０は、適切なボールトおよび選択されたボールトに対する適切なタイミングを選択するために組み合わせられてもよい。
【００３６】
図５は、本開示の幾つかの実施形態によるデータ取扱デバイス５００に存在し得る幾つかの素子を図示する。本開示の実施形態により、システムおよび方法は、ＨＭＣ２００デバイスと、複数のＳｏＣ５００間のよりグローバルなシステム相互接続のための基礎として、ＨＭＣ２００に対して規定されたメモリ相互接続プロトコルとを使用することが出来る。したがって、ＨＭＣ２００デバイスおよびリンクの仕様を用いる基本的なシステム相互接続性能は、その数、密度およびホストシステム（例えば、ＳｏＣ５００）から出ていくリンクの不均質性を統合する。
【００３７】
本開示を用いて構成されるデバイスおよびシステムは、従来のマルチプロセッサシステムアーキテクチャに対する改良であるシステム特性を規定することが出来る。これらの特性のうちのいくつかは、高い帯域幅のメモリおよびシステム相互接続リンク、ローカルに接続されたメモリと他のシステムレベルのメモリとの間のバランスのとれた帯域幅およびレイテンシー特性、ローカルメモリ要求とシステムレベルの要求との間のプロトコル変換を減少させるおよび／または排除することによるレイテンシーの最小化、ローカルメモリ要求とシステムレベルの要求との双方のための効率的なＨＭＣ２００パケットプロトコルを用いることによるレイテンシーの最小化を含む。特性は、また、同一のプロトコルを用いてＨＭＣ２００システム相互接続にわたるローカルメモリとシステムレベルのメモリとの間のアトミシティを維持することと、システムレベルのメモリモデル（例えば、弱い順序対強い順序）の広いスペクトルのためのサポート、キャッシュコヒーレンシーのためのサポートをも含むことが出来る。
【００３８】
システム構成は、図６および図７で図示されたようなｉｎ−ｓｉｔｕルーティングおよび図８および図９で図示されるような専用ルーティングを含むと一般的に考えられてもよい。二つの可能な実装は、二つの異なるスケーラビリティモデルを表す。ｉｎ  ｓｉｔｕルーティングモデルは、マルチソケットワークステーション、データセンターサーバおよび他の基本的なインフラストラクチャデバイスのための効率的なシステムレベルのスケーラビリティを提供する。専用ルーティングモデルは、少数のソケットを超える効率的なスケーラビリティを提供する。このスケーラビリティは、大規模エンタープライズサーバまたはメインフレームプラットフォームを構築するのに類似する。双方の方法は、ＳｏＣ中心のシステムアーキテクチャを構築し、本質的に不均一メモリアクセス（ＮＵＭＡ）であるアーキテクチャをサポートする能力を提供する。
【００３９】
双方のモデルにおいて、ＳｏＣ５００は、ＨＭＣインフラストラクチャに対するＨＭＣ“ソース”リンクを提示する。ソースリンクは、また、本明細書で第二のパケット化メモリリンクとも呼ばれることがある。この第二のリンクによって、ＳｏＣ５００は、システムリンクトラフィックを送受信する能力を継承する。この追加リンクによって、ＳｏＣからＳｏＣへのダイレクトメッセージの送受信をサポートすることが可能になる。このような機能の一例は、キャッシュコヒーレンシートラフィックである。例えば、システム供給者は、ＨＭＣアトミック要求パケットにキャッシュコヒーレンシー要求（例えば、コヒーレンシールックアップまたは無効化）をエンコードすることが出来る。システム供給者は、また、読み出し、書き込み、ポステッド読み出しおよびポステッド書き込み要求のために、ＨＭＣベースの仕様内のＳｏＣ５００からＳｏＣ５００へのメッセージングパケットをエンコードすることが出来る。ＨＭＣパケットの仕様にプロトコルをエンコードするための、システム供給者の能力によって、其々の知的特性を保持し、高い帯域幅、低いレイテンシーのシステム相互接続サポートを提供することを可能とする。
【００４０】
図５に戻ると、ＨＭＣインターフェイス用に構成された従来のＳｏＣ５００は、一つ以上のプロセッサ５４、および、第一のハイブリッドメモリキューブインターフェイス１２２を通じてパケット化メモリリンク１２０（例えば、ＨＭＣリンク１２０）に結合されたデータリクエスタエンドポイント５１０と同様に、単純にすることが出来る。データリクエスタエンドポイント５１０は、また、本明細書でホストリクエスタエンドポイント５１０とも呼ばれることがある。従来、ホストは、例えば、メモリ読み出し、メモリ書き込みおよび構成定義パケットなどの機能を実施するためのＨＭＣ２００インターフェイス上にパケット要求を行う必要があるだけである。
【００４１】
しかしながら、本開示の実施形態は、第二のハイブリッドメモリキューブインターフェイス６２２を通じて、第二のパケット化メモリリンク６２０に結合されたデータ取扱エンドポイント５２０を含む。物理的、および論理的に、第二のパケット化メモリリンク６２０は、ＨＭＣ２００デバイス上のメモリリンクに類似している。換言すると、データ取扱エンドポイント５２０は、メモリエンドポイントのようにふるまう。したがって、データ取扱エンドポイント５２０は、メモリ読み出し、メモリ書き込みまたは他の構成型パケットのように見えるパケット要求を解釈し、メモリ書き込みにおいてデータを消費し、メモリ読み出し用のデータの応答パケットを作成する。データ取扱エンドポイント５２０によって、システムを作成することが出来、第二のパケット化メモリリンク６２０は、他のＳｏＣ５００に対するシステム相互接続および他のＳｏＣ５００と関連するメモリドメインとして用いることが出来る。したがって、第二のパケット化メモリリンク６２０はハイブリッドメモリキューブリンク１２０と、物理的および論理的に同一であるが、アーキテクチャの観点から、それは、柔軟性があり、かつ効率的なシステム相互接続を作成するパケット化システム要求を伝送するためのリンクとして扱うことが出来る。
【００４２】
さらに、データリクエスタエンドポイント５１０およびデータ取扱エンドポイント５２０は類似しているので、二つのエンドポイントのための論理設計の多くは、従来のマルチプロセッサシステムにおけるような個別のプロトコルを有する二つの個別のバスを作成するのではなく、再利用することが出来る。
【００４３】
前述されたように、ＳｏＣ５００は、処理デバイスと考えることが出来、プロセッサ５４０は、汎用プロセッサ、ＤＳＰ、専用プロセッサ、グラフィックプロセッサまたはその組み合わせとして実装することが出来る。しかしながら、ＳｏＣ５００は、また、通信デバイスとして主に実装することもできる。このような実装においては、一つ以上の通信素子５５０は、データ取扱エンドポイント５２０から別のバス５６０にパケットを伝送するために含まれてもよい。この他のバス５６０は、例えば、Ｉ／Ｏハブ、別の通信デバイス、記憶デバイス、ネットワークまたはその組み合わせに対するバスとすることが出来る。無論、ＳｏＣ５００は、プロセッサ５４０と通信素子５５０との双方を含むことが出来る。したがって、プロセッサ５４０および通信素子５５０は、データ取扱素子（５４０、５５０）と一般的に呼ばれることがある。
【００４４】
データ取扱エンドポイント５２０は、メモリエンドポイントと同様に振舞い、データ取扱エンドポイント５２０によって扱われるパケットは、それに関連するアドレスを有し、データは、大きなバーストで伝送されてもよい。幾つかの実施形態においては、データは、データ取扱エンドポイント５２０と適切なデータ取扱素子（５４０、５５０）との間で直接伝送することが出来るように、プロセッサ５４０および／または通信素子５５０は、それ自体のアドレスを有する、それに関連するメモリを有することが出来る。
【００４５】
他の実施形態は、データ取扱デバイス５００にリンクを要求するためのアドレススペースを規定するためのデータバッファ５３０を含むことが出来る。データバッファ５３０によって、個別の専用アドレススペースを規定することが出来、データバッファ５３０は、適切なデータ取扱素子（５４０、５５０）上にそれを渡す前にデータを収集することが出来る。データバッファ５３０は、互いに非同期式にトラフィックをＳｏＣ５００が送信することを可能とするダイレクトメモリアクセス（ＤＭＡ）バッファ、または（ファストインファストアウト）ＦＩＦＯバッファとして構成されてもよい。データバッファ５３０の其々のサイズは、関連するＨＭＣリンク６２０の数および周波数によって決定されてもよい。
【００４６】
さらに、データリクエスタエンドポイント５１０がデータ取扱エンドポイント５２０に類似の方法で、そのエンドポイントに対する要求を取り扱うことが出来るように、ＳｏＣ５００を構成することが出来る。同様に、データ取扱エンドポイント５２０は、データリクエスタエンドポイント５１０に類似の方法で、データ取扱素子（５４０、５５０）からの要求を発生させるように構成することが出来る。
【００４７】
したがって、データ取扱デバイスにおいては、データリクエスタエンドポイントは、第一のパケット化メモリリンクにおいて第一のパケット要求を発生させるために構成される。データ取扱エンドポイントは、第二のパケット化メモリリンクにおける、データ取扱エンドポイントに対する第二のパケット要求を解釈し、第二のパケット要求に応じて、第二のパケット化メモリリンクにわたって双方向にデータを伝送するために構成される。さらに、第一のパケット化メモリリンクおよび第二のパケット化メモリリンクは、分離されるが、同一種のリンクプロトコルおよび同一種の物理インターフェイスを含む。
【００４８】
データ取扱デバイスの他の実施形態においては、第一のハイブリッドメモリキューブリンクは、データ取扱デバイスのホストリクエスタエンドポイントに動作可能なように結合され、ホストリクエスタエンドポイントは、一つ以上のハイブリッドメモリキューブデバイスを含むローカルメモリドメインに、パケット化メモリ要求を発生させるためのものである。第二のハイブリッドメモリキューブリンクは、データ取扱デバイスにおけるデータ取扱エンドポイントに動作可能なように結合され、データ取扱エンドポイントは、一つ以上のハイブリッドメモリキューブデバイスのうちの少なくとも一つに動作可能なように結合された、さらなるデータ取扱デバイスからのパケット化システム要求を解釈するためのものである。
【００４９】
別の実施形態においては、データ取扱デバイスでデータを伝送する方法は、データ取扱デバイスに関連する第一のメモリドメイン内のハイブリッドメモリキューブデバイスに、第一のハイブリッドメモリキューブリンクにおけるパケット化メモリ要求を発生させるために、データ取扱デバイスを使用することを含む。この方法は、また、第二のハイブリッドメモリキューブリンクにおけるパケット化システム要求を受信するために、データ取扱デバイスを使用することを含み、パケット化システム要求は、第二のデータ取扱デバイス（図５には図示せず）から発生させる。この方法は、また、パケット化システム要求に応じることも含む。
【００５０】
図６は、様々なデータ取扱デバイス５００とメモリデバイス２００との間でｉｎ−ｓｉｔｕルーティングを使用するシステム６００の図を図示し、メモリデバイス１３０間のスパースルーティングを示す。前述されたように、複数のＨＭＣデバイス２００は、ＳｏＣ５００に対して使用可能なメモリの総容量を増加させるために、ともに連鎖されてもよい。従来の単一のプロセッサ／ＨＭＣシステムにおいては、各ＨＭＣ２００は、要求パケットヘッダ内の３ビットチップＩＤフィールド内の値を通じて同定される。３ビットチップＩＤフィールドは、また、ＣＵＢフィールドまたはデバイスＩＤとも呼ばれることがある。したがって、プロセッサに対して、８つまでのＨＭＣデバイス２００のネットワークをサポートすることが出来る。
【００５１】
ＨＭＣ２００の相互接続用の様々なトポロジーがサポートされ、異なるＨＭＣ２００に対するルーティングは、複雑と成り得、複数の経路を含み得る。したがって、ＨＭＣ２００のためではないパケットは、如何にして、ＨＭＣ２００における他のリンクにルーティングされるべきかを決定するために、ホストプロセッサは、ルーティングトポロジーを通常制御し、各ＨＭＣ２００にルーティング構成情報をロードする。このルーティング情報は、適切な宛先に、要求パケットをルーティングするために、ＣＵＢフィールドを各ＨＭＣ２００が使用することを可能とする。その結果、ＨＭＣ２００が自体を宛先とされていないパケットを処理するとき、ＨＭＣ２００は、連鎖し、別のＨＭＣ２００に送信されるべきＨＭＣ２０における別のリンクへと、パケットを通過させる。
【００５２】
ｉｎ  ｓｉｔｕルーティング構成は、少数のシステムデバイスのためのシステム相互接続ルーティング性能を提供する。より詳細には、システムデバイスの総数は、システムアーキテクチャ内に存在するＨＭＣデバイス２００の総数によってゲートにより制御される。この制限は、全部で８つのＨＭＣエンドポイントをマッピングする、３ビットのアドレスフィールドスペースにＣＵＢフィールドが限定される、基本的なＨＭＣの仕様の概念に従う。ｉｎ  ｓｉｔｕルーティングの場合、ＣＵＢフィールドは、一つ以上のＳｏＣエンドポイントを示すために用いられる。したがって、各ＳｏＣ５００および全てのＨＭＣデバイス２００は、ＳｏＣ５００とＨＭＣ２００との間、ＨＭＣ２００とＨＭＣ２００との間またはＳｏＣ５００とＳｏＣ５００との間の要求トラフィックをルーティングする目的のために、一意的なＣＵＢ識別子を受信する。
【００５３】
図６においては、ＨＭＣデバイス（２００−０から２００−５）の各々は、対応するデバイスＩＤ０−５で規定される。さらに、ソケット０内の第一のＳｏＣ５００−０は、デバイスＩＤ６で規定され、ソケット１内の第二のＳｏＣ５００−１は、デバイスＩＤ７で規定される。
【００５４】
ｉｎ−ｓｉｔｕルーティング構成は、３つの異なる種類のリンクを有すると考えることが出来る。第一のリンクの種類は、ＳｏＣソースリンク６２０−０および６２０−１として同定されてもよい。これらのＳｏＣソースリンク（６２０−０、６２０−１）は、また、図５を参照して上述されたように、第二のパケット化メモリリンク６２０および第二のハイブリッドメモリキューブリンク６２０と呼ばれることもある。
【００５５】
これらのＳｏＣソースリンク（６２０−０、６２０−１）は、ＳｏＣ（５００−０、５００−１）におけるそのデータ取扱エンドポイント５２０で要求トラフィックを受信するように作用する。ＳｏＣソースリンク（６２０−０、６２０−１）は、メインメモリスペース内で中間ダブルバッファリングすることなく、ＳｏＣ（５００−０、５００−１）が直接通信することを可能とする。この方法では、ＳｏＣ（５００−０、５００−１）は、データ取扱エンドポイント５２０を通じたＨＭＣソースと、データリクエスタエンドポイント５１０を介したＨＭＣリクエスタとの双方と見えるだろう。
【００５６】
第二および第三のリンクの種類は、従来のＨＭＣ構成にマッピングする。第二のリンクの種類（即ち、ドメイン間メモリリンク６５０−０）は、第一のメモリドメイン６３０および第二のメモリドメイン６４０などの隣接するメモリドメインに対するＨＭＣリンクにわたるトラフィックをルーティングする性能を提供する。換言すると、ドメイン間メモリリンク６５０−０は、メモリドメイン間のブリッジとして役立つ。対象システムコストモデルによっては、システム設計者は、これらのシステムリンクを用いて、其々のＮＵＭＡドメイン間の間隙をブリッジするリンクの数を選択することが出来る。図６は、唯一つのドメイン間メモリリンク６５０−０が存在するため、スパースルーティングを図示している。
【００５７】
図７は、様々なデータ取扱デバイス５００とメモリデバイス２００との間のｉｎ−ｓｉｔｕルーティングを使用するシステム７００の図を図示し、メモリデバイス間のデンスルーティングを示す。図７においては、３つのシステムがデンスルーティングされる。なぜなら、３つのドメイン間メモリリンク６５０−０、６５０−１、６５０−２が存在するからである。デンス接続されたシステムアーキテクチャは、リンクホットスポットを減少させるために、複数のルーティング経路を作成するために、メモリドメイントポロジーに対してメモリを構成する能力を提供する。ドメイン間メモリリンク６５０−０、６５０−１および６５０−２以外は、図７は図６に類似し、その要素は、再度記述される必要がない。
【００５８】
第三のリンクの種類は、其々ローカルメモリドメインの各々に対するメモリトラフィックをルーティングするローカル要求リンク１２０である。これらのリンクは、１２０−０から１２０−５として示される。これらのリンクは、メモリドメイン内の従来のＨＭＣ２００メモリトラフィックを提供する。
【００５９】
図６および図７は、其々完全に実装（ポピュレート）されたシステム６００、７００を図示する。換言すると、現在のバージョンのＨＭＣの仕様のための各デバイスＩＤが用いられる。デバイスＩＤを拡張する他のシステムが、使用されてもよい。例えば、デバイスＩＤに対する単一ビットの追加は、デバイスの数を８から１６に拡張することが出来、ＳｏＣ５００とＨＭＣ２００とのあらゆる組み合わせを含むことが出来る。
【００６０】
さらに、システムは、スパースに実装されると規定されてもよい。例えば、図示されないが、システムは、ソケット０のＳｏＣ５００−０、ソケット１のＳｏＣ５００−１、単一のＨＭＣ２００（例えば、ＨＭＣ２００−０）を含むことが出来る。このようなシステムにおいては、ＳｏＣ５００−１上のＳｏＣソースリンク６２０−１は、ＨＭＣ２００−０におけるリンクに直接接続されてもよく、ＳｏＣ５００−１におけるローカルメモリリンク１２０−１は、ＨＭＣ２００−０における別のリンクに直接接続されてもよい。その結果、パケットは、ＳｏＣ５００−０とＳｏＣ５００−１との間で依然渡されることが出来、二つのＳｏＣ５００−０および５００−１は、ＨＭＣ２００−０内のメモリに対するアクセスを共有することが出来る。
【００６１】
したがって、データ処理システムは、二つ以上のデータ取扱デバイスとハイブリッドメモリキューブデバイスとを含む。各データ取扱デバイスは、第一のパケット化メモリリンクにおける第一のパケット要求を発生させるために構成されたホストリクエスタエンドポイントを含む。各データ取扱デバイスは、また、第二のパケット化メモリリンクにおけるデータ取扱エンドポイントに、第二のパケット要求を受信して応じるために構成されたデータ取扱エンドポイントを含む。ハイブリッドメモリキューブデバイスは、二つ以上のデータ取扱デバイスのうちの一つに対応する第一のメモリドメインに関連する。ハイブリッドメモリキューブデバイスは、二つ以上のデータ取扱デバイスのうちの二つの間の第二のパケット要求を連鎖して渡すように構成される。
【００６２】
別の実施形態においては、システム内でデータを伝送する方法は、第一のデータ取扱デバイスにおけるホストリクエスタエンドポイントからのメモリ要求を発生させることを含む。方法は、また、第一のデータ取扱デバイスに関連する第一のメモリドメイン内の第一のハイブリッドメモリキューブに、第一のデータ取扱デバイスに結合された第一のパケット化メモリリンクにおけるメモリ要求を送信することを含む。この方法は、また、第一のハイブリッドメモリキューブにおけるシステム要求を受信することを含み、そのシステム要求は、第二のデータ取扱デバイスからのものである。方法は、また、第一のデータ取扱デバイスに結合された第二のパケット化メモリリンクを介して、第一のデータ取扱デバイスにおけるデータ取扱エンドポイントに、第一のハイブリッドメモリキューブからのシステム要求を渡すことを含む。第二のハイブリッドメモリキューブを有する幾つかの実施形態においては、方法は、第一のハイブリッドメモリキューブにおけるシステム要求を受信し、第二のハイブリッドメモリキューブにおけるシステム要求を受信し、第二のハイブリッドメモリキューブから第一のハイブリッドメモリキューブにシステム要求を渡す前に、第二のデータ取扱デバイスにおけるホストリクエスタエンドポイントからのシステム要求を発生させることをさらに含む。
【００６３】
図８は、様々なデータ取扱デバイス５００とメモリデバイス２００との間の専用ルーティングを用いるシステム８００の図を図示する。専用ルーティング構成は、より大きく、よりスケーラブルなシステムアーキテクチャを構築することを可能とする。ｉｎ  ｓｉｔｕルーティング構成と同様、専用ルーティングは、データリクエスタエンドポイント５１０を通じてＨＭＣリクエスタとして双方役立つことが出来、データ取扱エンドポイント５２０を通じた対象エンドポイントとして見ることが出来るＳｏＣ５００を含む。しかしながら、専用ルーティング構成においては、ＨＭＣ要求トラフィックは、任意の所定のＳｏＣ５００の観点から、二つのドメインに分割される。各ＳｏＣ５００は、ローカルドメインとシステムドメインの双方を含む。各ドメインは、（前述のＣＵＢフィールド制限に基づいて）８つまでのエンドポイントをサポートする性能を有する。この方法では、各ＳｏＣ５００は、そのローカルドメイン内でローカルに接続された８つまでのＨＭＣデバイスをサポートする性能を有する。ローカルドメイン内のエンドポイントは、一般的にＨＭＣメモリデバイス２００である。図８は、１２０−０から１２０−３のようなローカルドメインリンクを図示する。したがって、図８においては、各ＳｏＣ（５００−０から５００−３）に関連する唯一つのＨＭＣ（２００−０から２００−３）が存在する。しかしながら、専用ルーティングシステムは、各ＳｏＣ（５００−０から５００−３）のローカルドメイン内の８つまでのＨＭＣデバイス２００で構成することが出来る。
【００６４】
システムドメインは、システムレベルのトラフィックルーティング用の機能を提供する。各ＳｏＣ（５００−０から５００−３）は、システムドメインにわたるシステム要求トラフィックをルーティングするための性能を提供する。システムドメイン内のエンドポイントは、ＳｏＣ５００、ハブとして用いられるＨＭＣデバイス２００、メモリストレージとして用いられるＨＭＣデバイス２００とすることが出来る。システムのスケーラビリティは、ＳｏＣエンドポイントに対するＨＭＣルータデバイスの比率によって決定される。
【００６５】
一例として、図８は、二つのＨＭＣハブ（８１０−０および８１０−１）を有する専用ルーティングシステムを図示する。ＨＭＣハブ（８１０−０および８１０−１）は、各ＳｏＣ（５００−０から５００−３）の第二のパケット化メモリリンク（６２０−０から６２０−３）に結合されたリンクを含む。さらに、図８は、ともに、かつ隣接するハブデバイスに対して、ＨＭＣハブ（８１０−０および８１０−１）を結合するためのハブ間リンク（８２０−０から８２０−２）を図示する。
【００６６】
図８は、システムドメイン内に完全には実装（ポピュレート）されていないシステムを図示する。ＨＭＣハブ（８１０−０および８１０−１）は、其々デバイスＩＤ０およびＩＤ１を利用し、ＳｏＣ（５００−０から５００−３）は、其々デバイスＩＤ２−ＩＤ５を使用する。したがって、一例として、別のＳｏＣ５００は、ハブ間リンク８２０−０に結合されてデバイスＩＤ６を与えられてもよく、別のＳｏＣ５００は、ハブ間リンク８２０−１に結合され、デバイスＩＤ７を与えられてもよい。別の例として、別のＨＭＣハブ８１０は、ハブ間リンク８２０−１に結合され、デバイスＩＤ６を与えられてもよく、また別のＳｏＣ５００が、他のＨＭＣハブ８１０に結合され、デバイスＩＤ７を与えられてもよい。
【００６７】
専用ルーティングアーキテクチャ内のシステム相互接続は、他の方法で拡張されてもよい。例えば、ｉｎ−ｓｉｔｕルーティングと同様、さらなるビットをデバイスＩＤフィールドに追加することが出来る。例えば、デバイスＩＤに単一のビットを追加することは、８から１６にデバイス数を拡張することが出来、ＳｏＣ５００とＨＭＣハブ８１０との任意の組み合わせを含むことが出来る。別の例として、別の完全に新規のドメインを開くために第一のパケット化リンク１２０および第二のパケット化リンク６２０に類似のさらなるパケット化リンクバスを、追加することが出来る。
【００６８】
また、各ＳｏＣ５００のためのローカルメモリドメインは、ＨＭＣ２００メモリデバイスを含むだけよりもより複雑に成り得る。ローカルドメインは、図５−図７を参照して上述されたように、ｉｎ  ｓｉｔｕルーティングで構成されることが出来る。
【００６９】
したがって、専用ルーティング構成においては、データ処理システムは、二つ以上のデータ取扱デバイスを含む。各データ取扱デバイスは、第一のパケット化メモリリンクにおけるローカルメモリパケット要求を発生させるように構成されたホストリクエスタエンドポイントと、第二のパケット化メモリリンクにおけるデータ取扱エンドポイントで第二のパケット要求を受信して応じるように構成されたデータ取扱エンドポイントと、を含む。データ処理システムは、また、一つ以上のハイブリッドメモリキューブハブを含む。ハイブリッドメモリキューブハブのうちの各々は、二つ以上のデータ取扱デバイスのうちの一つのデータ取扱エンドポイントに動作可能なように結合された第一のパケット化メモリリンクと、二つ以上のデータ取扱デバイスのうちの他方のデータ取扱エンドポイントに動作可能なように結合された第二のパケット化メモリリンクとを含む。
【００７０】
専用ルーティング構成の別の実施形態においては、システム内でデータを伝送する方法は、第一のデータ取扱デバイスにおけるホストリクエスタエンドポイントからメモリ要求を発生させることと、第一のデータ取扱デバイスに関連する第一のメモリドメイン内の第一のハイブリッドメモリキューブに、第一のデータ取扱デバイスに結合された第一のパケット化メモリリンクにおけるメモリ要求を送信することと、を含む。方法は、また、第一のデータ取扱デバイスにおけるデータ取扱エンドポイントからシステム要求を発生させることと、ハイブリッドメモリキューブハブに対して、第一のデータ取扱デバイスに結合された第二のパケット化メモリリンクにおけるシステム要求を送信することと、を含む。方法は、また、第二のデータ取扱デバイスに、ハイブリッドメモリキューブハブ８１０−０からのシステム要求のうちの幾つかを渡すことを含む。
【００７１】
図９は、図８の専用ルーティングで、システム内で使用され得る様々な例示的トポロジーを図示する。専用ルーティング方法は、また、異なるトポロジーの利点を有する、非常に複雑なシステムアーキテクチャを構築する性能を提供することもできる。限定しない例として、システムドメインのトポロジーは、リング９１０、修正リング９２０、メッシュ９３０およびクロスバー（図示せず）を用いて構築することが出来る。最終的なトポロジーの決定は、対象のシステムコストに対して重みづけされた、必要とされる帯域幅とレイテンシー特性とに基づいて行うことが出来る。
【００７２】
本開示の実施形態は、限定することなく以下に説明されるように、更に特徴づけることが出来る。
【００７３】
実施形態１。データ取扱デバイスであって、
第一のパケット化メモリリンクにおける第一のパケット要求を発生させるために構成されたデータリクエスタエンドポイントと、
第二のパケット化メモリリンクにおけるデータ取扱エンドポイントに対する第二のパケット要求を解釈することと、
第二のパケット要求に応じて、第二のパケット化メモリリンクにわたって双方向にデータを伝送することと、
のために構成されたデータ取扱エンドポイントと、
を含み、
第一のパケット化メモリリンクおよび第二のパケット化メモリリンクは分離されるが、同一種類のリンクプロトコルおよび同一種類の物理インターフェイスを含む、データ取扱デバイス。
【００７４】
実施形態２。データリクエスタエンドポイントおよびデータ取扱エンドポイントのうちの一つ以上に動作可能なように結合された一つ以上のデータ取扱素子をさらに含み、一つ以上のデータ取扱素子のうちの各々は、一つ以上のプロセッサと一つ以上の通信素子とを含む、実施形態１のデータ取扱デバイス。
【００７５】
実施形態３。データリクエスタエンドポイントと一つ以上のデータ取扱素子との間に動作可能なように結合されたデータバッファをさらに含み、データバッファは、データ取扱エンドポイントのためのアドレススペースを規定するためのものである、実施形態２のデータ取扱デバイス。
【００７６】
実施形態４。第一のパケット化メモリリンクおよび第二のパケット化メモリリンクは、双方ハイブリッドメモリキューブリンクである、実施形態１から実施形態３のうちのいずれかによるデータ取扱デバイス。
【００７７】
実施形態５。データ取扱エンドポイントは、第二のパケット化メモリリンクにおける第三のパケット要求を発生させるためにさらに構成される、実施形態１から実施形態３のうちのいずれかによるデータ取扱デバイス。
【００７８】
実施形態６。データリクエスタエンドポイントは、
第一のパケット化メモリリンクにおけるデータリクエスタエンドポイントに対する、第三のパケット要求を解釈することと、
第三のパケット要求に応じて、第一のパケット化メモリリンクにわたって双方向にデータを伝送することと、
のためにさらに構成される、実施形態１から実施形態３のうちのいずれかによるデータ取扱デバイス。
【００７９】
実施形態７。
データ取扱デバイスにおけるホストリクエスタエンドポイントに動作可能なように結合された第一のハイブリッドメモリキューブインターフェイスであって、ホストリクエスタエンドポイントは、一つ以上のハイブリッドメモリキューブデバイスを含むローカルメモリドメインに対するパケット化メモリ要求を発生させるためのものである、第一のハイブリッドメモリキューブインターフェイスと、
データ取扱デバイスにおけるデータ取扱エンドポイントに動作可能なように結合された第二のハイブリッドメモリキューブインターフェイスであって、データ取扱エンドポイントは、一つ以上のハイブリッドメモリキューブデバイスのうちの少なくとも一つに動作可能なように結合されたさらなるデータ取扱デバイスからのパケット化システム要求を解釈するためのものである、第二のハイブリッドメモリキューブインターフェイスと、
を含むデータ取扱デバイス。
【００８０】
実施形態８。データ取扱エンドポイントは、さらに、さらなるデータ取扱デバイスからのパケット化システム要求に応じて、データを伝送するためのものである、実施形態７のデータ取扱デバイス。
【００８１】
実施形態９。ホストリクエスタエンドポイントおよびデータ取扱エンドポイントのうちの少なくとも一つは、さらなるデータ取扱デバイスに対するさらなるパケット化システム要求を発生させるためのものである、実施形態７のデータ取扱デバイス。
【００８２】
実施形態１０。ホストリクエスタエンドポイントとデータ取扱エンドポイントのうちの少なくとも一つは、さらなるデータ取扱デバイスと関連付けられたリモートメモリドメイン内の一つ以上のさらなるハイブリッドメモリキューブデバイスに対して、さらなるパケット化メモリ要求をさらに発生させるためのものである、実施形態７のデータ取扱デバイス。
【００８３】
実施形態１１。ホストリクエスタは、
第一のハイブリッドメモリキューブインターフェイスにおけるホストリクエスタエンドポイントに対する第三のパケット要求を解釈することと、
第三のパケット要求に応じて、第一のハイブリッドメモリキューブインターフェイスにわたって双方向にデータを伝送することと、
のためにさらに構成される、
実施形態７のデータ取扱デバイス。
【００８４】
実施形態１２。ホストリクエスタエンドポイントおよびデータ取扱エンドポイントのうちの一つ以上に動作可能なように結合されたデータバッファをさらに含み、データバッファは、データ取扱デバイスに対するリンク要求のためのアドレススペースを規定するためのものである、実施形態７のデータ取扱デバイス。
【００８５】
実施形態１３。
二つ以上のデータ取扱デバイスを含み、各データ取扱デバイスは、
第一のパケット化メモリリンクにおける第一のパケット要求を発生させるために構成されたホストリクエスタエンドポイントと、
第二のパケット化メモリリンクにおけるデータ取扱エンドポイントに対する第二のパケット要求を受信して応じるために構成されたデータ取扱エンドポイントと、
を含む、データ取扱デバイスと、
二つ以上のデータ取扱デバイスのうちの一つに対応する第一のメモリドメインに関連する第一のハイブリッドメモリキューブデバイスであって、ハイブリッドメモリキューブデバイスは、二つ以上のデータ取扱デバイスのうちの二つの間で、第二のパケット要求を連鎖して渡すように構成される、第一のハイブリッドメモリキューブデバイスと、
を含む、データ処理システム。
【００８６】
実施形態１４。二つ以上のデータ取扱デバイスの内の一つに対応する第二のメモリドメインに関連する第二のハイブリッドメモリキューブデバイスをさらに含み、第二のハイブリッドメモリキューブデバイスは、第二のメモリドメインに関連するデータ取扱デバイスと第一のハイブリッドメモリキューブデバイスとの間で、第二のパケット要求を連鎖し、渡すように構成される、請求項１３のデータ処理システム。
【００８７】
実施形態１５。二つ以上のデータ取扱デバイスのうちの一つのホストリクエスタエンドポイントから発生した第一のパケット要求は連鎖され、二つ以上のデータ取扱デバイスのうちの他方のデータ取扱エンドポイントに渡される、実施形態１４のデータ処理システム。
【００８８】
実施形態１６。第一のメモリドメインおよび第二のメモリドメインのうちの各々は、少なくとも一つのさらなるハイブリッドメモリキューブデバイスを含む、実施形態１４および実施形態１５のうちのいずれかによるデータ処理システム。
【００８９】
実施形態１７。第一のメモリドメイン内のさらなるハイブリッドメモリキューブと、第二のメモリドメイン内のさらなるハイブリッドメモリキューブとの間に、少なくとも一つのドメイン間リンクをさらに含む、実施形態１６のデータ処理システム。
【００９０】
実施形態１８。二つ以上のデータ取扱デバイスのうちの各々は、ホストリクエスタエンドポイントおよびデータ取扱エンドポイントのうちの一つ以上に動作可能なように結合されたデータバッファをさらに含み、データバッファは、データ取扱デバイスに対するリンク要求のためのアドレススペースを規定するためのものである、実施形態１４から実施形態１７のうちのいずれかによるデータ処理システム。
【００９１】
実施形態１９。
二つ以上のデータ取扱デバイスであって、各データ取扱デバイスは、
第一のパケット化メモリリンクにおけるローカルメモリパケット要求を発生させるために構成されたホストリクエスタエンドポイントと、
第二のパケット化メモリリンクにおけるデータ取扱エンドポイントに対する第二のパケット要求を受信し、応じるために構成されたデータ取扱エンドポイントと、を含む、
データ取扱デバイスと、
二つ以上のデータ取扱デバイスのうちの一つのデータ取扱エンドポイントに動作可能なように結合された第一のパケット化メモリリンクと、
二つ以上のデータ取扱デバイスのうちの他方のデータ取扱エンドポイントに動作可能なように結合された第二のパケット化メモリリンクと、
を含む一つ以上のハイブリッドメモリキューブハブと、
を含む、データ処理システム。
【００９２】
実施形態２０。二つ以上のデータ取扱デバイスのうちの各々のためのデータ取扱エンドポイントは、二つ以上のデータ取扱デバイスのうちの他方に対する第二のパケット化メモリリンクにおける第二のパケット要求を発生させるためにさらに構成される、請求項１９のデータ処理システム。
【００９３】
実施形態２１。二つ以上のハイブリッドメモリキューブデバイスをさらに含み、各ハイブリッドメモリキューブデバイスは、二つ以上のデータ取扱デバイスのうちの対応する一つのホストリクエスタエンドポイントに動作可能なように結合される、実施形態１９のデータ処理システム。
【００９４】
実施形態２２。一つ以上のハイブリッドメモリキューブハブのうちの少なくとも一つは、一つ以上のハイブリッドメモリキューブハブの他方に動作可能なように結合された少なくとも一つのさらなるパケット化メモリリンクを含む、実施形態１９のデータ処理システム。
【００９５】
実施形態２３。二つ以上のデータ取扱デバイスの各々は、ホストリクエスタエンドポイントとデータ取扱エンドポイントのうちの一つ以上に動作可能なように結合されたデータバッファをさらに含み、データバッファは、データ取扱デバイスに対するリンク要求のためのアドレススペースを規定するためのものである、実施形態１９のデータ処理システム。
【００９６】
実施形態２４。一つ以上のハイブリッドメモリキューブハブは、リングトポロジーで配置された少なくとも二つのハイブリッドメモリキューブハブを含む、実施形態１９のデータ処理システム。
【００９７】
実施形態２５。一つ以上のハイブリッドメモリキューブハブは、ハイブリッドリングトポロジーで配置された少なくとも二つのハイブリッドメモリキューブハブを含む、実施形態１９のデータ処理システム。
【００９８】
実施形態２６。一つ以上のハイブリッドメモリキューブハブは、メッシュトポロジーで配置された少なくとも二つのハイブリッドメモリキューブハブを含む、実施形態１９から実施形態２５のうちのいずれかによるデータ処理システム。
【００９９】
実施形態２７。データ取扱デバイスでデータを伝送する方法であって、
第一のデータ取扱デバイス上で、
第一のデータ取扱デバイスに関連する第一のメモリドメイン内のハイブリッドメモリキューブデバイスに対して、第一のハイブリッドメモリキューブリンクにおけるパケット化メモリ要求を発生させることと、
第二のハイブリッドメモリキューブリンクにおけるパケット化システム要求を受信することであって、パケット化システム要求は、第二のデータ取扱デバイスから発生させる、ことと、
パケット化システム要求に応じることと、
を含む、方法。
【０１００】
実施形態２８。第一のデータ取扱デバイスに対するパケット化システム要求のためのアドレススペースを規定するために、第一のデータ取扱デバイスにおけるパケット化システム要求で受信されたデータをバッファすることをさらに含む、実施形態２７の方法。
【０１０１】
実施形態２９。第一のデータ取扱デバイスにおけるアドレススペースを規定するために、パケット化システム要求に応じるとき、送信されるべき読み出しデータをバッファすることをさらに含む、実施形態２７および実施形態２８のうちのいずれかによる方法。
【０１０２】
実施形態３０。第二のデータ取扱デバイスに対して、第一のデータ取扱デバイスの第一のハイブリッドメモリキューブリンクにおけるパケット化システム要求を発生させることをさらに含む、実施形態２７から実施形態２９のうちのいずれかによる方法。
【０１０３】
実施形態３１。第二のデータ取扱デバイスに対して、第一のデータ取扱デバイスの第二のハイブリッドメモリキューブリンクにおけるパケット化システム要求を発生させることをさらに含む、実施形態２７から実施形態２９のうちのいずれかによる方法。
【０１０４】
実施形態３２。第二のデータ取扱デバイスに関連する第二のメモリドメイン内のハイブリッドメモリキューブデバイスに対して、第一のデータ取扱デバイスの第一のハイブリッドメモリキューブリンクにおけるパケット化メモリ要求を発生させることをさらに含む、実施形態２７から実施形態２９のうちのいずれかによる方法。
【０１０５】
実施形態３３。第二のデータ取扱デバイスに関連する第二のメモリドメイン内のハイブリッドメモリキューブデバイスに対して、第一のデータ取扱デバイスの第一のハイブリッドメモリキューブリンクにおけるパケット化メモリ要求を発生させることをさらに含む、実施形態２７から実施形態２９のうちのいずれかによる方法。
【０１０６】
実施形態３４。システム内でデータを伝送する方法であって、
第一のデータ取扱デバイスにおけるホストリクエスタエンドポイントからメモリ要求を発生させることと、
第一のデータ取扱デバイスに関連する第一のメモリドメイン内の第一のハイブリッドメモリキューブに対して、第一のデータ取扱デバイスに結合された第一のパケット化メモリリンクにおけるメモリ要求を送信することと、
第一のハイブリッドメモリキューブでシステム要求を受信することであって、システム要求は、第二のデータ取扱デバイス由来である、ことと、
第一のデータ取扱デバイスに結合された第二のパケット化メモリリンクを介して、第一のデータ取扱デバイスにおけるデータ取扱エンドポイントに、第一のハイブリッドメモリキューブからのシステム要求を渡すことと、
を含む、方法。
【０１０７】
実施形態３５。
第二のデータ取扱デバイスにおけるホストリクエスタエンドポイントからシステム要求を発生させることと、
第一のハイブリッドメモリキューブでシステム要求を受信する前に、
第二のハイブリッドメモリキューブでシステム要求を受信することと、
第二のハイブリッドメモリキューブから第一のハイブリッドメモリキューブに、システム要求を渡すことと、
をさらに含む、実施形態３４の方法。
【０１０８】
実施形態３６。第二のデータ取扱デバイスに、第一のメモリドメイン内の第一のハイブリッドメモリキューブからのメモリ要求のうちのいくつかを渡すことをさらに含む、実施形態３４および実施形態３５のうちのいずれかによる方法。
【０１０９】
実施形態３７。第一のメモリドメイン内の第一のハイブリッドメモリキューブから、第一のメモリドメイン内の別のハイブリッドメモリキューブに、メモリ要求のうちのいくつかを渡すことをさらに含む、実施形態３４から実施形態３６のうちのいずれかによる方法。
【０１１０】
実施形態３８。第一のメモリドメイン内の第一のハイブリッドメモリキューブから、第二のデータ取扱デバイスに関連する第二のメモリドメイン内の第二のハイブリッドメモリキューブへ、メモリ要求のうちの幾つかを渡すことをさらに含む、実施形態３４から実施形態３７のうちのいずれかによる方法。
【０１１１】
実施形態３９。第二のハイブリッドメモリキューブから第二のデータ取扱デバイスにメモリ要求のうちのいくつかを渡すことをさらに含む、実施形態３８の方法。
【０１１２】
実施形態４０。第二のハイブリッドメモリキューブから、第二のメモリドメイン内の第三のハイブリッドメモリキューブにメモリ要求のうちの幾つかを渡すことをさらに含む、実施形態３８の方法。
【０１１３】
実施形態４１。システム内でデータを伝送する方法であって、
第一のデータ取扱デバイスにおけるホストリクエスタエンドポイントからメモリ要求を発生させることと、
第一のデータ取扱デバイスに関連する第一のメモリドメイン内の第一のハイブリッドメモリキューブに対して、第一のデータ取扱デバイスに結合された第一のパケット化メモリリンクにおけるメモリ要求を送信することと、
第一のデータ取扱デバイスにおけるデータ取扱エンドポイントからシステム要求を発生させることと、
第一のデータ取扱デバイスに結合された第二のパケット化メモリリンクにおけるシステム要求を、ハイブリッドメモリキューブハブに送信することと、
ハイブリッドメモリキューブハブから第二のデータ取扱デバイスにシステム要求のうちの幾つかを渡すことと、
を含む、方法。
【０１１４】
実施形態４２。
第二のデータ取扱デバイスからハイブリッドメモリキューブハブに第二のシステム要求を渡すことと、
第一のデータ取扱デバイスにおけるデータ取扱エンドポイントで、第二のシステム要求を受信することと、
をさらに含む、実施形態４１の方法。
【０１１５】
実施形態４３。ハイブリッドメモリキューブハブから、一つ以上のさらなるメモリキューブハブに、システム要求のうちの幾つかを渡すことをさらに含む、実施形態４１および実施形態４２のうちのいずれかによる方法。
【０１１６】
実施形態４４。一つ以上のさらなるメモリキューブハブから、一つ以上のさらなるデータ取扱デバイスにシステム要求のうちの幾つかを渡すことをさらに含む、実施形態４３の方法。
【０１１７】
実施形態４５。ハイブリッドメモリキューブハブと、一つ以上のさらなるメモリキューブハブとの間でシステム要求のうちの幾つかを渡すことは、リングトポロジー、修正リングトポロジーおよびメッシュトポロジーで構成される群から選択される相互接続トポロジー内でシステム要求を渡すことを含む、実施形態４３の方法。
【０１１８】
実施形態４６。第一のメモリドメイン内の第一のハイブリッドメモリキューブから、第一のメモリドメイン内の別のハイブリッドメモリキューブへメモリ要求のうちの幾つかを渡すことをさらに含む、実施形態４３の方法。
【０１１９】
上述され、添付の図面に図示された本開示の実施形態は、本発明の範囲を限定するものではない。なぜなら、これらの実施形態は本開示の実施形態の単なる例に過ぎないからである。本発明は、添付の請求項とその法的均等物によって定義される。あらゆる均等な実施形態は、本開示の範囲内にある。実際に、本明細書に図示され記述された実施形態に加えて、記述された要素の代替的な有用な組み合わせなどの本開示の様々な改変は、この記述から当業者に明らかとなるだろう。このような改変および実施形態は、また、添付の請求項とその法的均等物の範囲内にある。
【図１】
0006522663.tif 000002
【図２】
0006522663.tif 000003
【図３】
0006522663.tif 000004
【図４】
0006522663.tif 000005
【図５】
0006522663.tif 000006
【図６】
0006522663.tif 000007
【図７】
0006522663.tif 000008
【図８】
0006522663.tif 000009
【図９】
0006522663.tif 000010