(57)【要約】  メモリ要求群を受信するデコーダを含むメモリハブモジュールは、各メモリ要求に関連したメモリ要求識別子を決定する。パケットメモリは、メモリ要求識別子群を受信し、メモリ要求識別子群を格納する。パケット追跡器は、リモートメモリ応答群を受信し、各リモートメモリ応答をメモリ要求識別子に関連づけ、パケットメモリからメモリ要求識別子を削除する。マルチプレクサは、リモートメモリ応答群とローカルメモリ応答群を受信する。マルチプレクサは、コントロール信号に反応する出力を選択する。アービトレーションコントロールロジックは、マルチプレクサとパケットメモリに連結されており、出力に対するメモリ応答を選択するためのコントロール信号を成長させる。
2007526559.tif 000002
【特許請求の範囲】
【請求項１】
メモリ要求群を受信し、各メモリ要求に関連したメモリ要求識別子を決定するよう動作可能なデコーダと、
前記デコーダと連結したパケットメモリであって、メモリ要求識別子群を前記レコーダから受信し、受信された前記メモリ要求識別子群を格納するよう動作可能な前記パケットメモリと、
前記パケットメモリと連結したパケット追跡器であって、前記パケットメモリはリモートメモリ応答群を受信し、各受信されたリモートメモリ応答を前記パケットメモリに格納されたメモリ要求識別子と関連づけ、前記パケット追跡器は前記メモリ要求識別子を前記パケットメモリから効果的に削除するよう動作可能な前記パケット追跡器と、
受信された前記リモートメモリ応答群又はローカルメモリ応答群をコントロール信号に応答する出力に連結させるよう動作可能なマルチプレクサと、
前記マルチプレクサと前記パケットメモリとに連結し前記コントロール信号を生成するよう動作可能なアービトレーションコントロールロジックとを備えたことを特徴とするメモリハブ。
【請求項２】
前記アービトレーションコントロールロジックは、前記パケットメモリにおいて最も古いメモリ要求識別子に基づいて前記コントロール信号を生成することを特徴とする請求項１に記載のメモリハブ。
【請求項３】
前記パケットメモリは、先入れ先出し（ＦＩＦＯ）メモリであることを特徴とする請求項１に記載のメモリハブ。
【請求項４】
前記パケットメモリにおいて最も古いメモリ要求がローカルメモリ要求であるときに、前記マルチプレクサがローカルメモリ応答を出力するように、前記アービトレーションコントロールロジックは、前記コントロール信号を生成することを特徴とする請求項１に記載のメモリハブ。
【請求項５】
前記ローカルおよびリモートメモリ応答群は前記メモリ応答に対応するメモリ要求を識別するデータとヘッダーとを含むことを特徴とする請求項１に記載のメモリハブ。
【請求項６】
ローカルメモリ応答群とリモートメモリ応答群とを受信するよう動作可能なメモリハブであって、前記メモリハブは、受信した前記メモリ応答群を格納し、アービトレーションアルゴリズムを適用するよう動作可能で、格納された前記ローカルおよびリモートメモリ応答群が、格納された前記ローカルおよびリモートメモリ応答群に対応するメモリ要求の年齢に基づいて、アップリンク上で出力として提供される順番を選択することを特徴とするメモリハブ。
【請求項７】
前記メモリハブは、対応するメモリ要求群が受信される順番で、メモリ要求識別子群を格納するパケットメモリをさらに備えたことを特徴とする請求項６に記載のメモリハブ。
【請求項８】
前記メモリハブは、前記パケットメモリに連結されたマルチプレクサであって、ローカル又はリモートメモリ応答群をコントロール信号に応答する出力において提供するマルチプレクサをさらに備えたことを特徴とする請求項７に記載のメモリハブ。
【請求項９】
前記メモリハブは、前記パケットメモリと前記マルチプレクサとに連結されたアービトレーションロジックであって、前記コントロール信号を前記マルチプレクサに適用してどのメモリ応答群が前記出力上に提供されるかをコントロールするアービトレーションロジックをさらに備えたことを特徴とする請求項８に記載のメモリハブ。
【請求項１０】
前記ローカルおよびリモートメモリ応答群の各々は、前記メモリ応答に対応するメモリ要求を識別するデータとヘッダーとを備えたことを特徴とする請求項６に記載のメモリハブ。
【請求項１１】
複数のメモリデバイス群と、
前記メモリデバイス群と連結したメモリハブであって、
メモリ要求群を受信するように適合され、各メモリ要求に関連したメモリ要求識別子を決定するよう動作可能なデコーダと、
メモリ要求識別子群を受信し、前記メモリ要求識別子群を格納するよう適合されたパケットメモリと、
リモートメモリ応答群を受信し、各リモートメモリ応答とメモリ要求識別子とを関連させ、前記パケットメモリから前記メモリ要求識別子を削除するよう動作可能であるパケット追跡器と、
リモートメモリ応答群とローカルメモリ応答群とを受信するように適合され、コントロール信号に対して応答する出力を選択するよう動作可能であるマルチプレクサと、
前記マルチプレクサと前記パケットメモリとに連結し、どのメモリ応答が出力に応答するかについての選択をコントロールするコントロール信号を生成するよう動作可能なアービトレーションコントロールロジックとを含んだメモリハブとを備えたことを特徴とするメモリモジュール。
【請求項１２】
前記メモリデバイス群の各々は、ＳＤＲＡＭを含むことを特徴とする請求項１１に記載のメモリモジュール。
【請求項１３】
前記アービトレーションコントロールロジックは、前記パケットメモリにおいて最も古いメモリ要求識別子に基づいて前記コントロール信号を生成することを特徴とする請求項１１に記載のメモリモジュール。
【請求項１４】
前記パケットメモリは、先入れ先出し（ＦＩＦＯ）メモリであることを特徴とする請求項１１に記載のメモリモジュール。
【請求項１５】
前記パケットメモリにおいて最も古いメモリ要求がローカルメモリ要求であるときに、前記マルチプレクサがローカルメモリ応答を出力するように、前記アービトレーションコントロールロジックは、前記コントロール信号を生成することを特徴とする請求項１１に記載のメモリハブ。
【請求項１６】
前記ローカルおよびリモートメモリ応答群は、前記メモリ応答に対応するメモリ要求を識別するデータとヘッダーとを含むことを特徴とする請求項１１に記載のメモリハブ。
【請求項１７】
メモリハブコントローラと、
複数のメモリモジュール群において、各メモリモジュールは個別の高速リンク群を通して近接したメモリモジュール群に連結されていて、前記メモリモジュール群の少なくとも１つにおいて、個別の高速リンクを通して前記メモリハブコントローラに連結しており、
各メモリモジュールは、
複数のメモリデバイス群と、
前記メモリデバイス群に連結されたメモリハブであって、
メモリ要求群を受信するように適合され、各メモリ要求に関連したメモリ要求識別子を決定するように動作可能なデコーダと、
メモリ要求識別子群を受信し、前記メモリ要求識別子群を格納するように適合されたパケットメモリと、
リモートメモリ応答群を受信するように適合され、各リモートメモリ要求をメモリ要求識別子と関連させて、前記パケットメモリから前記メモリ要求識別子を削除するよう動作可能なパケット追跡器と、
リモートメモリ応答群とローカルメモリ応答群とを受信するよう適合され、コントロール信号に応答する出力を選択するよう動作可能なマルチプレクサと、
前記マルチプレクサと前記パケットメモリとに連結し、どのメモリが出力に応答するかの選択をコントロールするコントロール信号を生成するよう動作可能なアービトレーションコントロールロジックと
を含む前記メモリハブと
を含む複数のメモリモジュール群とを備えたことを特徴とするメモリシステム。
【請求項１８】
前記高速リンク群の各々は、光学的通信リンクを含むことを特徴とする請求項１７に記載のメモリシステム。
【請求項１９】
前記メモリデバイス群の少なくとも幾つかは、複数のＳＤＲＡＭを含むことを特徴とする請求項１７に記載のメモリシステム。
【請求項２０】
前記アービトレーションコントロールロジックは、前記パケットメモリに格納された前記メモリ要求識別子群の年齢に基づいて前記コントロール信号を生成することを特徴とする請求項１７に記載のメモリシステム。
【請求項２１】
前記パケットメモリにおいて最も古いメモリ要求がローカルメモリ要求であるときに、前記マルチプレクサがローカルメモリ応答を出力するように、前記アービトレーションコントロールロジックは、前記コントロール信号を生成することを特徴とする請求項２０に記載のメモリシステム。
【請求項２２】
前記パケットメモリは、先入れ先出し（ＦＩＦＯ）メモリであることを特徴とする請求項１７に記載のメモリシステム。
【請求項２３】
前記ローカルおよびリモートメモリ応答群の各々は、前記メモリ応答に対応するメモリ要求を識別するデータとヘッダーとを含むことを特徴とする請求項１７に記載のメモリシステム。
【請求項２４】
プロセッサーと、
前記プロセッサーに連結されたシステムコントローラにおいて、メモリハブコントローラを含むシステムコントローラと、
前記システムコントローラを通して前記プロセッサーに連結された入力デバイスと、
前記システムコントローラを通して前記プロセッサーに連結された出力デバイスと、
前記システムコントローラを通して前記プロセッサーに連結されたストレージデバイスと、
複数のメモリモジュール群において、各メモリモジュールが近接したメモリモジュール群に個別の高速リンク群を通して連結され、少なくとも一つの前記メモリモジュールが前記メモリハブコントローラに個別の高速リンクを通して連結された複数のメモリモジュール群とを備え、各メモリモジュールは、
複数のメモリデバイス群と、
前記メモリデバイス群に連結され、対応する前記高速リンク群に連結されたメモリハブとを含み、前記メモリハブは、
メモリ要求群を受信するように適合され、各メモリ要求に関連したメモリ要求識別子を決定するように動作可能なデコーダと、
メモリ要求識別子群を受信し、前記メモリ要求識別子群を格納するように適合されたパケットメモリと、
リモートメモリ応答群を受信するように適合され、各リモートメモリ要求をメモリ要求識別子と関連させて、前記パケットメモリから前記メモリ要求識別子を削除するよう動作可能なパケット追跡器と、
リモートメモリ応答群とローカルメモリ応答群とを受信するよう適合され、コントロール信号に応答する出力を選択するよう動作可能なマルチプレクサと、
前記マルチプレクサと前記パケットメモリとに連結し、どのメモリが出力に応答するかの選択をコントロールするコントロール信号を生成するよう動作可能なアービトレーションコントロールロジックとを含んだことを特徴とするコンピュータシステム。
【請求項２５】
前記高速リンク群は、光学的通信リンクを含むことを特徴とする請求項２４に記載のコンピュータシステム。
【請求項２６】
前記メモリデバイス群の少なくとも幾つかは、複数のＳＤＲＡＭを含むことを特徴とする請求項２４に記載のコンピュータシステム。
【請求項２７】
前記プロセッサーは、中央処理装置（ＣＰＵ）を含むことを特徴とする請求項２４に記載のコンピュータシステム。
【請求項２８】
ローカルおよびダウンストリームメモリ応答群の各々は、前記メモリ応答に対応するメモリ要求を識別するデータとヘッダーとを含むことを特徴とする請求項２４に記載のコンピュータシステム。
【請求項２９】
複数のメモリモジュール群を含むメモリシステムにおけるメモリ応答群を処理しフォワードする方法において、各メモリモジュールはメモリデバイス群に連結されたメモリハブを含み、前記方法は、
メモリ要求群であって、各メモリ要求がメモリ要求識別子を有するメモリ要求群を受信するステップと、
前記メモリ要求識別子群を格納するステップと、
前記メモリデバイス群からローカルメモリ応答群を格納するステップと、
リモートメモリモジュール群からリモートメモリ応答群を格納するステップと、
少なくとも一つのハブにおいて、格納されたメモリ要求識別子群の年齢に基づいたアービトレーションアルゴリズムをアップストリームメモリモジュールに前記格納されたローカルおよびリモートメモリ応答群がフォワードされる順番を決定するために適用するステップと、
決定された前記順番に従って、前記ローカルおよびリモートメモリ応答群をアップストリームへフォワードするステップとを備えることを特徴とする方法。
【請求項３０】
前記ローカルおよびリモートメモリ応答群の各々は、前記メモリ応答に対応するメモリ要求を識別するデータとヘッダーとを含むことを特徴とする請求項２９に記載の方法。
【請求項３１】
最も古い格納されたメモリ要求識別子に基づいて前記順番を示すコントロール信号を生成するステップをさらに備えることを特徴とする請求項２９に記載の方法。
【請求項３２】
前記メモリ要求識別子は、先入れ先出し（ＦＩＦＯ）の原則で格納されアクセスされることを特徴とする請求項２９に記載の方法。
【請求項３３】
最も古い格納されたメモリ要求がローカルメモリ要求であるとき、ローカルメモリ応答が、フォワードされるようにコントロール信号を生成するステップをさらに備えることを特徴とする請求項２９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２００４年２月５日に出願した、参照によって本明細書に組み込まれている米国特許出願第１０／７７３５２０号明細書「ＡＲＢＩＴＲＡＴＩＯＮ  ＳＹＳＴＥＭ  ＨＡＶＩＮＧ  Ａ  ＰＡＣＫＥＴ  ＭＥＭＯＲＹ  ＡＮＤ  ＭＥＴＨＯＤ  ＦＯＲ  ＭＥＭＯＲＹ  ＲＥＳＰＯＮＳＥＳ  ＩＮ  Ａ  ＨＵＢ−ＢＡＳＥＤ  ＭＥＭＯＲＹ  ＳＹＳＴＥＭ」の出願日付の利益を主張する。
【０００２】
本発明は、コンピュータシステム群に関し、より詳細には、メモリハブアーキテクチャを有するシステムメモリを含むコンピュータシステムに関する。
【背景技術】
【０００３】
コンピュータシステム群は、ダイナミックランダムアクセスメモリ（ｄｙｎａｍｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）（「ＤＲＡＭ」）デバイス群のようなメモリデバイス群を用いてプロセッサーによってアクセスされるデータを格納する。これらのメモリデバイス群は、通常コンピュータシステムにおいてシステムメモリとして用いられる。典型的なコンピュータシステムでは、プロセッサーは、プロセッサーバスやメモリコントローラを通じて、システムメモリと通信する。プロセッサーは、ｒｅａｄ（読み取り）コマンドのようなメモリコマンドを含むメモリリクエストと、複数のデータ又は命令が読み取られる開始位置を指定するアドレスとを出す。メモリコントローラは、そのコマンドとアドレスとを用いて、適切なコマンドシグナル群と共に、列および行アドレス群を生成し、これらはシステムメモリに適用される。コマンド群やアドレス群に応答して、データ群は、システムメモリとプロセッサーとの間で転送される。メモリコントローラは、多くの場合システムコントローラの部分であり、プロセッサーとＰＣＩバスのような拡張バスとを連結させるためのバスブリッジ回路をも含む。
【０００４】
メモリデバイス群の動作速度は、連続的に増加するが、動作速度におけるこのような増加はプロセッサー群の動作速度における増加と歩調を合わせていなかった。メモリデバイス群にプロセッサー群を連結させるメモリコントローラ群の速度は、もっと遅かった。メモリコントローラ群とメモリデバイス群の比較的遅い速度は、プロセッサーとメモリデバイス群との間のデータバンド幅を制限する。
【０００５】
プロセッサー群とメモリデバイス群との間のバンド幅は限られており、それに加えて、コンピュータシステム群の性能は、システムメモリデバイス群からデータを読み取るのに必要な時間を増加させる待ち時間（ｌａｔｅｎｃｙ）の問題群によっても制限される。より具体的には、メモリデバイスのｒｅａｄコマンドが、同期した（ｓｙｎｃｈｒｏｎｏｕｓ）ＤＲＡＭ（「ＳＤＲＡＭ」）のようなシステムメモリデバイスに連結されているときに、読み取りデータが、ＳＤＲＡＭデバイスから数クロック期間後にようやく出力されるのである。したがって、ＳＤＲＡＭデバイス群は、高いデータ率で同期してバーストデータを出力することができるが、初期にデータを提供する際の遅れにより、そのようなＳＤＲＡＭデバイス群を用いるコンピュータシステムの動作速度をかなり遅くなることがありえる。
【０００６】
メモリ待ち時間問題を緩和するための一つのアプローチは、メモリハブを通じてプロセッサーに連結するマルチメモリデバイス群を用いることである。メモリハブアーキテクチャにおいて、メモリハブコントローラは、高速データリンクを経由して幾つかのメモリモジュール群に連結されている。典型的には、メモリモジュール群は、ポイント・ツー・ポイント（ｐｏｉｎｔ−ｔｏ−ｐｏｉｎｔ）又はデイジー・チェーン（ｄａｉｓｙ  ｃｈａｉｎ）アーキテクチャで連結され、メモリモジュール群は、一つ一つ連続して接続される。したがって、デイジー・チェーン形式では、メモリハブコントローラは、第１の高速データリンクを経由して、第１のメモリモジュールに連結され、第１のメモリモジュールは第２のメモリモジュールに第２の高速データリンクを通して接続され、第２のメモリモジュールは第３のメモリモジュールに第３の高速データリンクを通して連結され、以下同様に連結される。
【０００７】
各メモリモジュールは、対応する高速データリンク群とモジュール上の複数のメモリデバイス群とに連結されているメモリハブを含み、メモリハブ群は、高速データリンク群を経由してコントローラとメモリデバイス群との間のメモリ要求群とメモリ応答群とを効率的にルーティングする。各メモリ要求群は、通常、要求によって呼び出されるメモリアクセスのタイプ（例えば、ｒｅａｄ（読み取り）又はｗｒｉｔｅ（書き込み）。）を指定するメモリコマンドを含み、メモリアドレスは、アクセスされるメモリ位置を指定し、ｗｒｉｔｅメモリ要求の場合には、データを書き込む。メモリ要求は、アクセスされているメモリモジュールを識別する情報も通常は含むが、これは、異なるアドレス群を異なるメモリモジュール群にマッピングすることによって達成される。メモリ応答は、典型的には、ｒｅａｄメモリ要求のためのみに与えられ、典型的には、データを読み取るとともに、メモリハブコントローラが、メモリ応答に対応するメモリ要求を識別することができるようにするヘッダーを識別する。しかしながら、複数の他の特徴を有するメモリ要求群とメモリ応答群を用いることができることが理解されるべきである。いずれにしても、以下の記述において、メモリハブコントローラによって発行されるメモリ要求群は、一つのメモリハブから他のメモリハブへと下流を伝搬し、メモリ応答群は、一つのメモリハブから他のメモリハブへと、メモリハブコントローラに到達するまで、上流を伝搬する。このアーキテクチャを採用するコンピュータシステム群は、比較的高いバンド幅を有することができる。なぜなら、プロセッサーが、一つのメモリデバイスにアクセスすることができる一方で、他のシステムのメモリデバイスは、読み取ったデータをプロセッサーに与える準備をしているからである。さらに、このアーキテクチャは、従来のマルチドロップバスアーキテクチャ群において起こっていたように、より多くのメモリモジュール群が追加されたときに、信号の質の劣化が起こるという懸念なしに、システムメモリを容易に拡張する手段をも与えるのである。
【０００８】
複数のメモリハブを用いるコンピュータシステム群は優位な性能を提供することができるが、それらは、様々な複数の理由により、最適な速度で動作することができないことが多い。例えば、メモリハブ群は比較的高いメモリバンド幅をコンピュータシステム群に提供するが、依然として上述したようなタイプの待ち時間問題に見舞われる。より具体的には、プロセッサーは一つのメモリデバイスと通信することができる一方で、他のメモリデバイスはデータを転送する準備をするが、他のメモリデバイスからのデータを使用可能になる前に一つのメモリデバイスからのデータを受信することが時々必要となるのである。このイベントにおいて、データが他のメモリデバイスから受信される前に、データが一つのメモリデバイスから受信されなければならず、待ち時間問題はそのようなコンピュータシステム群の動作速度を遅くし続けるのである。
【０００９】
メモリハブシステムにおいて、メモリ転送の速度を減らす可能性がある他の要因は、高速リンクを経由して一つのハブから他のハブへとアップストリームへ（すなわち、メモリハブコントローラへ戻るように）読み取りデータを転送することである。各ハブは、ローカルな応答群を最初に送信するかどうか、又はダウンストリームのメモリハブ群からの応答群を最初にフォワードするかどうかを決定しなければならず、これが為される方法は、特定の応答の実際の待ち時間のみならず、システムメモリの全体的な待ち時間にも影響を及ぼす。この決定は、アービトレーション（ａｒｂｉｔｒａｔｉｏｎ）と呼ばれ、各ハブは、ローカルな要求群とアップストリームのデータ転送とを調整（ａｒｂｉｔｒａｔｅ）する。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
システムメモリの待ち時間を減少させるために、メモリハブアーキテクチャを有するシステムメモリにおけるデータ転送を調整（ａｒｂｉｔｒａｔｅ）するためのシステムおよび方法に対する必要性が存在する。
【課題を解決するための手段】
【００１１】
本発明の一態様によるメモリハブモジュールは、メモリ要求群を受信するデコーダを含み、各メモリ要求に関連したメモリ要求識別子を決定する。パケットメモリは、複数のメモリ要求識別子を受信し、複数のメモリ要求識別子を格納する。パケット追跡器は、リモートメモリ応答群を受信し、各リモートメモリ応答をメモリ応答識別子と関連づけて、パケットメモリからメモリ要求識別子を取り除く。マルチプレクサ（ｍｕｌｔｉｐｌｅｘｏｒ）は、リモートメモリ応答群とローカルメモリ応答群を受信する。マルチプレクサは、コントロール信号に対して応答する出力を選択する。マルチプレクサとパケットメモリに連結しているアービトレーションコントロールロジックは、コントロール信号を成長させて、出力のためのメモリ応答を選択できるようにする。
【発明を実施するための最良の形態】
【００１２】
本発明の一例によるコンピュータシステム１００は、図１に示されている。コンピュータシステム１００は、複数のメモリモジュール１３０を含むメモリハブアーキテクチャを有するシステムメモリ１０２を含み、各メモリモジュールは対応するメモリハブ１４０を含む。各メモリハブ１４０は、ハブが含まれているメモリモジュール１３０からのメモリ応答群とダウンストリームメモリモジュール群からのメモリ応答群との間で調整（ａｒｂｉｔｒａｔｅ）を行い、このようにして、以下でより詳細に記述されるように、システムコントローラ１１０へ応答群が戻る速度をコントロールすることにより、メモリハブ群はシステムメモリのそれぞれのメモリモジュール群の待ち時間を効果的にコントロールする。以下の記述では、本発明について十分な理解が得られるように、特定の詳細について明らかにされる。当業者は、しかし、これらの特定の詳細なしに、本発明を実施できることを理解するであろう。他の複数の例において、本発明を不必要に不明瞭にすることを避けるために、良く知られた回路群、コントロール信号群、タイミングプロトコル群、および／又はソフトウェアオペレーション群は、詳細について示されていないか、又は全体的に省かれている。
【００１３】
コンピュータシステム１００は、特定のソフトウェアを実行して特定の複数の計算又はタスク群を実施するというような様々なコンピューティング機能を実施するために、プロセッサー１０４を含んでいる。プロセッサー１０４は、典型的には、アドレスバス、コントロールバス、およびデータバスを通常含むプロセッサーバス１０６を有する中央演算処理装置（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）（「ＣＰＵ」）である。プロセッサーバス１０６は、以前に言及したように、通常はスタティックランダムアクセスメモリ（ｓｔａｔｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）（「ＳＲＡＭ」）であるキャッシュメモリ１０８に典型的には連結されている。最後に、プロセッサーバス１０６は、時々「ノースブリッジ（Ｎｏｒｔｈ  Ｂｒｉｄｇｅ）」又は「メモリコントローラ」とも呼ばれるシステムコントローラ１１０に連結されている。
【００１４】
システムコントローラ１１０は、メモリモジュール群１３０や様々な他のコンポーネント群のためのプロセッサー１０４への通信パスとしての機能を果たす。より具体的には、システムコントローラ１１０は、順々にビデオ端末１１４に連結しているグラフィックコントローラ１１２に典型的に連結しているグラフィックポートを含む。システムコントローラ１１０は、キーボード又はマウスのような一つ又はそれ以上の入力デバイス群１１８にも連結し、オペレーターはコンピュータシステム１００とインターフェイスで接続することができる。典型的には、コンピュータシステム１００は、プロセッサー１０４にシステムコントローラ１１０を通じて連結しているプリンタのような一つ又はそれ以上の出力デバイス群１２０をも含んでいる。一つ又はそれ以上のデータストレージデバイス群１２４は、典型的には、プロセッサー１０４にシステムコントローラ１１０を通じて連結しており、プロセッサー１０４はデータを格納し、あるいは（不図示の）内部又は外部のストレージメディアからデータを取り出すことができる。典型的なストレージデバイス群１２４の複数の例は、ハードディスク群とフロッピーディスク群、テープカセット群、およびコンパクトディスク読み取り専用（ｒｅａｄ−ｏｎｌｙ）メモリ群（ＣＤ−ＲＯＭｓ）を含む。
【００１５】
システムコントローラ１１０は、メモリモジュール群１３０ａ，ｂ．．．ｎを含むシステムメモリ１０２に連結されているメモリハブコントローラ（ｍｅｍｏｒｙ  ｈｕｂ  ｃｏｎｔｒｏｌｌｅｒ）（「ＭＨＣ」）１３２をも含み、メモリモジュール群内のデータをコントロールしアクセスするためのコマンド群を適用するよう動作する。メモリモジュール群１３０は、メモリモジュール１３０ａとメモリハブコントローラ１３２との間および近接したメモリモジュール群１３０ａ−ｎの間で連結されている各高速リンク群１３４ａと１３４ｂとを通じてポイント・ツー・ポイントアーキテクチャで連結されている。高速リンク１３４ａはダウンリンクであり、メモリハブコントローラ１３２からメモリモジュール群１３０ａ−ｎへとメモリ要求群を運ぶ。高速リンク１３４ｂはアップリンクであり、メモリモジュール群１３０ａ−ｎからメモリハブコントローラ１３２へとメモリ応答群を運ぶ。高速リンク群１３４ａと１３４ｂは、当業者であれば理解できるように、光学、ＲＦ、又は電子的な通信パス群、又はその他の適切な通信パス群であってもよい。イベントにおいて、高速リンク群１３４ａと１３４ｂは、光学的通信パス群として実装され、各光学通信パスは、例えば、一つ又はそれ以上の光ファイバー群の形態であってもよい。そのようなシステムにおいて、メモリハブコントローラ１３２とメモリモジュール群１３０は、それぞれ光学的な入力／出力ポート又は対応する光学的通信パス群と連結した個別の入力および出力ポート群を含む。メモリモジュール群１３０は、ポイント・ツー・ポイントアーキテクチャでメモリハブコントローラ１３２に連結されているように図示されているが、リングトポロジーのような使用可能な他のトポロジーは当業者にとっては明らかである。
【００１６】
メモリモジュール群１３０は各々、対応する高速リンク群１３４ａと１３４ｂを経由して通信し、８つのメモリデバイス群１４８とのアクセスをコントロールするためにメモリハブ１４０を含み、図１の例では、同期したダイナミックランダムアクセスメモリ（ｓｙｎｃｈｒｏｎｏｕｓ  ｄｙｎａｍｉｃ  ｒａｎｄｏｍ  ａｃｅｓｓ  ｍｅｍｏｒｙ）（「ＳＤＲＡＭ」）デバイス群である。メモリハブ群１４０は各々、対応する高速リンク群１３４ａと１３４ｂと連結している入力および出力ポート群を含み、ポート群の性質と数は高速リンク群の複数の特徴に依存している。比較的少数又は比較的多数のメモリデバイス群１４８を用いることもできるし、ＳＤＲＡＭデバイス群以外のメモリデバイス群を用いることもできる。メモリハブ１４０は、バスシステム１５０を通じてシステムメモリデバイス群１４８の各々と連結されており、通常コントロールバス群、アドレスバス及びデータバスを含む。
【００１７】
上述したように、メモリハブ群１４０は各々、そのハブとメモリハブコントローラ１３２に戻されたダウンストリームメモリモジュール群とを含むメモリモジュール１３０とメモリ応答群との関連の仕方をコントロールするアービトレーションプロセスを実行する。以下の記述において、特定のメモリハブ１４０に関連したメモリ応答群と対応するメモリモジュール１３０を「ローカル応答群」と呼び、ダウンストリームメモリモジュール群からのメモリ応答群を「ダウンストリーム応答群」と呼ぶ。オペレーションにおいて、各メモリハブ１４０は、ローカルおよびダウンストリーム応答群がメモリハブコントローラ１３２に戻される仕方をコントロールするための望ましいアービトレーションプロセスを実行する。例えば、各ハブ１４０は、ダウンストリーム応答群に優先権を与え、それにより、そのようなダウンストリーム応答群を、アップストリームに送られる必要があるローカル応答群より前に、アップストリームへフォワードすることができる。逆に、メモリハブ１４０は、ローカル応答群に優先権を与え、それにより、そのようなローカル応答群を、アップストリームに送られる必要があるダウンストリーム応答群より前に、アップストリームへフォワードすることができる。メモリハブ群１４０によって実行されることができるアービトレーションプロセス群の例が以下で詳細に記述される。
【００１８】
各メモリハブ１４０は、異なるアービトレーションプロセスを実行することができるか、又は、全てのハブ群は同一のプロセスを実行することができ、この決定は、システムメモリ１０２の望ましい複数の特徴に依存している。各メモリハブ１４０によって実行されるアービトレーションプロセスは、ローカル及びダウンストリームメモリ応答群の間で衝突が起こるときにのみ、適用されることに注意すべきである。したがって、各メモリハブ１４０は、ローカル及びダウンストリームメモリ応答群の両方が同時にアップストリームへ戻される必要があるときにのみ、対応するアービトレーションプロセスを実行する必要がある。アービトレーションスキームについての他の例は、参照により本願に組み込まれる米国特許出願第１０／６９０８１０号明細書「ＡＲＢＩＴＲＡＴＩＯＮ  ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＦＯＲ  ＭＥＭＯＲＹ  ＲＥＳＰＯＮＳＥＳ  ＩＮ  Ａ  ＨＵＢ−ＢＡＳＥＤ  ＭＥＭＯＲＹ  ＳＹＳＴＥＭ」に記載されている。
【００１９】
図１のハブコントローラ群１４０に含まれているアービトレーションシステム２００の例は、図２に示されている。ダウンリンク受信器２０２は、メモリ要求群を受信する。メモリ要求群は、識別子と、要求が書き込み（ｗｒｉｔｅ）要求であるイベントにおけるデータとを含む要求部分を含む。識別子は、ここでは、パケットＩＤ又はメモリ要求識別子と呼ばれる。デコーダ２０４はダウンリンク受信器２０２に連結されており、各メモリ要求に関連したメモリ要求識別子を決定する。メモリ要求識別子は、パケットメモリ２０６に格納されている。図２に示されているパケットメモリ２０６は、先入れ先出し（ｆｉｒｓｔ−ｉｎ，ｆｉｒｓｔ−ｏｕｔ）（ＦＩＦＯ）メモリであるが、他のバッファスキーム群を他の実施形態において用いることもできる。このようにして、ハブコントローラに渡される各メモリ要求に関連したパケットＩＤ又はメモリ要求識別子は、パケットメモリ２０６に格納される。パケットメモリ２０６がＦＩＦＯメモリであるとき、メモリ要求識別子群は、時系列で格納される。以下の記述において、特定のメモリハブ１４０に関連したメモリ要求と対応するメモリモジュール１３０を「ローカルメモリ要求群」と呼び、ダウンストリームメモリモジュール１３０に向かうメモリ要求群を「リモートメモリ要求群」と呼ぶ。
【００２０】
ダウンリンク受信器２０２によって受信されるローカルメモリ要求群は、ダウンリンク管理モジュール２１０とコントローラ２１２とを通じて、メモリデバイス群１４８に連結されたメモリインターフェース２１４へ送られる。ローカルメモリ応答群は、メモリインターフェース２１４によって受信され、コントローラ２１２を通じて、アップリンク管理モジュール２２０へ送られる。
【００２１】
ダウンリンク受信器２０２によって受信されるリモートメモリ要求群はダウンリンク送信器２１６に送られ、ダウンリンク１３４ａ上を下流のハブへ送られる。アップリンク１３４ｂに連結されたアップリンク受信器２２２は、リモートメモリ応答群を受信する。リモートメモリ応答群は、識別子の一部とデータペイロード（ｐａｙｌｏａｄ）の一部とを含む。識別子の一部、又はメモリ応答識別子は、データペイロードが応答するメモリ要求を識別する。パケット追跡器２２４は、アップリンク受信器に連結されている。パケット追跡器２２４は、メモリ応答識別子を識別する。幾つかの実施形態において、リモートメモリ応答が、アップリンク送信器２２６を通して送られたときに、パケット追跡器２２４は、パケットメモリ２０６から関連するメモリ要求識別子を削除する。
【００２２】
マルチプレクサ２０８は、アップリンク送信器２２６、アップリンク管理モジュール２２０、アップリンク受信器２２２、およびアービトレーションコントロールロジック２３０に連結されている。マルチプレクサ２０８は、ローカルメモリ応答群からのデータ又はリモートメモリ応答群からのデータのどちらかをアップリンク送信器２２６に連結させる。送信器２２６に、ローカル又はリモートのうちどちらのタイプのメモリ応答を連結させるかについての選択は、アービトレーションコントロールロジック２３０によって生成されるコントロール信号によって決定される。アービトレーションコンとロールロジック２３０は、パケットメモリ２０６に連結されており、それに応じて、パケットメモリ２０６の最も古いメモリ要求を決定することができる。ローカル要求がパケットメモリ２０６において最も古いメモリ要求であるとき、アービトレーションコントロールロジック２３０は、マルチプレクサ２０８に対するコントロール信号を成長させる、この結果、ローカルメモリ応答がアップリンク送信器２２６に連結されアップリンク１３４ｂに出力される。リモート要求が、パケットメモリ２０６の最も古いメモリ要求であるとき、アービトレーションコントロールロジック２３０は、マルチプレクサ２０８に対するコントロール信号を発し、この結果、リモートメモリ応答がアップリンク送信器２２６に連結されアップリンク１３４ｂに出力される。幾つかの実施形態において、リモートメモリ応答は、デフォルトでアップリンク送信器２２６へ連結されている。他の複数の実施形態では、ローカルメモリ応答群は、デフォルトでアップリンク送信器２２６へ連結されている。
【００２３】
パケットメモリ２０６の例が、図３ａ−ｂに図示されている。図３ａに図示されている実施形態では、リモート要求群Ｒ０、Ｒ１、およびＲ２が受信され、要求識別子群はパケットメモリに格納されていた。ローカル要求群Ｌ１およびＬ２、その後、続いてＲ３が受信され、以下続いていた。この例において、リモートメモリ応答群は、受信され、対応する要求識別子がパケットメモリ２０６から削除されたときにフォワードされる。たとえ、要求L１に対するローカルメモリ応答が受信された場合に、リンクが使用されているとき、要求群Ｒ０、Ｒ１、およびＲ２に関連した応答群が送信されている図３ｂに示されている例に図示されているように、ローカル応答は、要求Ｌ１がパケットメモリ２０６で最も古くなるまで送信されない。
【００２４】
以前の記述において、本発明について十分に理解できるように特定の詳細について明らかにした。しかしながら、当業者は、これらの特定の詳細なしに発明を実施することができることを理解するであろう。さらに、当業者は、上述に例示した実施形態が本発明の範囲を制限せず、様々な等価な複数の実施形態又は開示された例示した実施形態の組み合わせが、本発明の範囲に含まれることも理解するであろう。ここで明らかにされた図示された複数の例示は、様々な実施形態の特定の詳細をさらに図示することだけを意図したものではなく、本発明の範囲を制限すると解釈されるべきでもない。また、上記の記述ではよく知られたコンポーネント群は示されていないか、又は、本発明を不必要に不明瞭にすることを避けるために詳細には記述されていない。最後に、添付された複数の請求項によってのみ発明は制限され、記述された発明の例示又は実施形態には限定されない。
【図面の簡単な説明】
【００２５】
【図１】本発明の一例による高いバンド幅のメモリハブアーキテクチャを有するシステムメモリを含むコンピュータシステムのブロック図である。
【図２】本発明の一例による図１のハブコントローラ群に含まれたアービトレーションシステムを図示する機能的ブロック図である。
【図３ａ】本発明の一例による図２に示されたパケットメモリの機能的図である。
【図３ｂ】本発明の一例による図２に示されたパケットメモリの機能的図である。
【図１】
2007526559.tif 000003
【図２】
2007526559.tif 000004
【図３ａ】
2007526559.tif 000005
【図３ｂ】
2007526559.tif 000006
【手続補正書】
【提出日】平成19年1月16日(2007.1.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
メモリハブへ直接接続されたメモリデバイス群に向かうローカルメモリ要求群と他のメモリハブ群に連結されたメモリデバイス群に向かうリモートメモリ要求群とを含むメモリ要求群を受信するよう動作可能なデコーダであって、前記デコーダは、各メモリ要求に関連したメモリ要求識別子を決定するよう動作可能なデコーダと、
前記デコーダと連結したパケットメモリであって、メモリ要求識別子群を前記レコーダから受信し、受信された前記メモリ要求識別子群を格納するよう動作可能な前記パケットメモリと、
前記リモートメモリ要求群に応答して受信された前記リモートメモリ応答群又は前記ローカルメモリ要求群に応答して受信されたローカルメモリ応答群をコントロール信号に応答する出力に連結させるよう動作可能なマルチプレクサと、
前記マルチプレクサと前記パケットメモリとに連結し、前記パケットメモリに格納された前記メモリ要求識別子群から前記受信されたリモートメモリ応答群と前記ローカルメモリ応答群とに対応する前記メモリ要求群の新しさを決定し、前記決定に基づいてコントロール信号を生成するよう動作可能なアービトレーションコントロールロジックとを備えたことを特徴とするメモリハブ。
【請求項２】
前記アービトレーションコントロールロジックは、前記パケットメモリにおいて最も古いメモリ要求識別子に基づいて前記コントロール信号を生成することを特徴とする請求項１に記載のメモリハブ。
【請求項３】
前記パケットメモリは、先入れ先出し（ＦＩＦＯ）メモリであることを特徴とする請求項１に記載のメモリハブ。
【請求項４】
前記パケットメモリに格納された最も古いメモリ要求識別子がローカルメモリ要求のためであるときに、前記マルチプレクサがローカルメモリ応答を出力するように、前記アービトレーションコントロールロジックは、前記コントロール信号を生成することを特徴とする請求項１に記載のメモリハブ。
【請求項５】
前記ローカルおよびリモートメモリ応答群は前記メモリ応答に対応するメモリ要求を識別するデータとヘッダーとを含むことを特徴とする請求項１に記載のメモリハブ。
【請求項６】
ローカルメモリ応答群とリモートメモリ応答群とを受信するよう動作可能なメモリハブであって、前記メモリハブは、アービトレーションアルゴリズムを適用するよう動作可能で、前記ローカルおよびリモートメモリ応答群が、前記ローカルおよびリモートメモリ応答群に対応するメモリ要求の年齢に基づいて、アップリンク上で出力として提供される順番を選択することを特徴とするメモリハブ。
【請求項７】
前記メモリハブは、対応するメモリ要求群が受信される順番で、メモリ要求識別子群を格納するパケットメモリをさらに備えたことを特徴とする請求項６に記載のメモリハブ。
【請求項８】
前記メモリハブは、前記パケットメモリに連結されたマルチプレクサであって、ローカル又はリモートメモリ応答群をコントロール信号に応答する出力において提供するマルチプレクサをさらに備えたことを特徴とする請求項７に記載のメモリハブ。
【請求項９】
前記メモリハブは、前記パケットメモリと前記マルチプレクサとに連結されたアービトレーションロジックであって、前記コントロール信号を前記マルチプレクサに適用してどのメモリ応答群が前記出力上に提供されるかをコントロールするアービトレーションロジックをさらに備えたことを特徴とする請求項８に記載のメモリハブ。
【請求項１０】
前記ローカルおよびリモートメモリ応答群の各々は、前記メモリ応答に対応するメモリ要求を識別するデータとヘッダーとを備えたことを特徴とする請求項６に記載のメモリハブ。
【請求項１１】
複数のメモリデバイス群と、
前記メモリデバイス群と連結したメモリハブであって、
前記メモリハブへ直接接続されたメモリデバイス群に向かうローカルメモリ要求群と他のメモリハブ群に連結されたメモリデバイス群に向かうリモートメモリ要求群とを含むメモリ要求群を受信するように適合され、各メモリ要求に関連したメモリ要求識別子を決定するよう動作可能なデコーダと、
メモリ要求識別子群を受信し、前記メモリ要求識別子群を格納するよう適合されたパケットメモリと、
前記リモートメモリ要求群に応答するリモートメモリ応答群と前記ローカルメモリ要求群に応答するローカルメモリ応答群とを受信するように適合され、コントロール信号に応答して前記リモートメモリ応答群又は前記ローカルメモリ応答群を選択するよう動作可能なマルチプレクサと、
前記マルチプレクサと前記パケットメモリとに連結し、前記パケットメモリに格納された前記メモリ要求識別子群から前記受信されたリモートメモリ応答群と前記ローカルメモリ応答群とに対応する前記メモリ要求群の新しさを決定し、前記決定に基づいて、どのメモリ応答が出力に応答するかについての選択をコントロールするコントロール信号を生成するよう動作可能なアービトレーションコントロールロジックとを含んだメモリハブとを備えたことを特徴とするメモリモジュール。
【請求項１２】
前記メモリデバイス群の各々は、ＳＤＲＡＭを含むことを特徴とする請求項１１に記載のメモリモジュール。
【請求項１３】
前記アービトレーションコントロールロジックは、前記パケットメモリにおいて最も古いメモリ要求識別子に基づいて前記コントロール信号を生成することを特徴とする請求項１１に記載のメモリモジュール。
【請求項１４】
前記パケットメモリは、先入れ先出し（ＦＩＦＯ）メモリであることを特徴とする請求項１１に記載のメモリモジュール。
【請求項１５】
前記パケットメモリに格納された最も古いメモリ要求識別子がローカルメモリ要求のためであるときに、前記マルチプレクサがローカルメモリ応答を出力するように、前記アービトレーションコントロールロジックは、前記コントロール信号を生成することを特徴とする請求項１１に記載のメモリハブ。
【請求項１６】
前記ローカルおよびリモートメモリ応答群は、前記メモリ応答に対応するメモリ要求を識別するデータとヘッダーとを含むことを特徴とする請求項１１に記載のメモリハブ。
【請求項１７】
メモリハブコントローラと、
複数のメモリモジュール群において、各メモリモジュールは個別の高速リンク群を通して近接したメモリモジュール群に連結されていて、前記メモリモジュール群の少なくとも１つにおいて、個別の高速リンクを通して前記メモリハブコントローラに連結しており、
各メモリモジュールは、
複数のメモリデバイス群と、
前記メモリデバイス群に連結されたメモリハブであって、
前記メモリハブへ直接接続されたメモリデバイス群に向かうローカルメモリ要求群と他のメモリハブ群に連結されたメモリデバイス群に向かうリモートメモリ要求群とを含むメモリ要求群を受信するように適合され、各メモリ要求に関連したメモリ要求識別子を決定するように動作可能なデコーダと、
メモリ要求識別子群を受信し、前記メモリ要求識別子群を格納するように適合されたパケットメモリと、
前記リモートメモリ要求群に応答するリモートメモリ応答群と前記ローカルメモリ要求群に応答するローカルメモリ応答群とを受信するよう適合され、コントロール信号に応答して前記リモートメモリ応答群又は前記ローカルメモリ応答群を選択するよう動作可能なマルチプレクサと、
前記マルチプレクサと前記パケットメモリとに連結し、前記パケットメモリに格納された前記メモリ要求識別子群から前記受信されたリモートメモリ応答群と前記ローカルメモリ応答群とに対応する前記メモリ要求群の新しさを決定し、前記決定に基づいて、どのメモリが出力に応答するかの選択をコントロールするコントロール信号を生成するよう動作可能なアービトレーションコントロールロジックと
を含む前記メモリハブと
を含む複数のメモリモジュール群とを備えたことを特徴とするメモリシステム。
【請求項１８】
前記高速リンク群の各々は、光学的通信リンクを含むことを特徴とする請求項１７に記載のメモリシステム。
【請求項１９】
前記メモリデバイス群の少なくとも幾つかは、複数のＳＤＲＡＭを含むことを特徴とする請求項１７に記載のメモリシステム。
【請求項２０】
前記アービトレーションコントロールロジックは、前記パケットメモリに格納された前記メモリ要求識別子群の年齢に基づいて前記コントロール信号を生成することを特徴とする請求項１７に記載のメモリシステム。
【請求項２１】
前記パケットメモリに格納された最も古いメモリ要求識別子がローカルメモリ要求のためであるときに、前記マルチプレクサがローカルメモリ応答を出力するように、前記アービトレーションコントロールロジックは、前記コントロール信号を生成することを特徴とする請求項２０に記載のメモリシステム。
【請求項２２】
前記パケットメモリは、先入れ先出し（ＦＩＦＯ）メモリであることを特徴とする請求項１７に記載のメモリシステム。
【請求項２３】
前記ローカルおよびリモートメモリ応答群の各々は、前記メモリ応答に対応するメモリ要求を識別するデータとヘッダーとを含むことを特徴とする請求項１７に記載のメモリシステム。
【請求項２４】
プロセッサーと、
前記プロセッサーに連結されたシステムコントローラにおいて、メモリハブコントローラを含むシステムコントローラと、
前記システムコントローラを通して前記プロセッサーに連結された入力デバイスと、
前記システムコントローラを通して前記プロセッサーに連結された出力デバイスと、
前記システムコントローラを通して前記プロセッサーに連結されたストレージデバイスと、
複数のメモリモジュール群において、各メモリモジュールが近接したメモリモジュール群に個別の高速リンク群を通して連結され、少なくとも一つの前記メモリモジュールが前記メモリハブコントローラに個別の高速リンクを通して連結された複数のメモリモジュール群とを備え、各メモリモジュールは、
複数のメモリデバイス群と、
前記メモリデバイス群に連結され、対応する前記高速リンク群に連結されたメモリハブとを含み、前記メモリハブは、
前記メモリハブへ直接接続されたメモリデバイス群に向かうローカルメモリ要求群と他のメモリハブ群に連結されたメモリデバイス群に向かうリモートメモリ要求群とを含むメモリ要求群を受信するように適合され、各メモリ要求に関連したメモリ要求識別子を決定するように動作可能なデコーダと、
メモリ要求識別子群を受信し、前記メモリ要求識別子群を格納するように適合されたパケットメモリと、
前記リモートメモリ要求群に応答するリモートメモリ応答群と前記ローカルメモリ要求群に応答するローカルメモリ応答群とを受信するよう適合され、コントロール信号に応答して前記リモートメモリ応答群又は前記ローカルメモリ応答群を選択するよう動作可能なマルチプレクサと、
前記マルチプレクサと前記パケットメモリとに連結し、前記パケットメモリに格納された前記メモリ要求識別子群から前記受信されたリモートメモリ応答群と前記ローカルメモリ応答群とに対応する前記メモリ要求群の新しさを決定し、前記決定に基づいて、どのメモリが出力に応答するかの選択をコントロールするコントロール信号を生成するよう動作可能なアービトレーションコントロールロジックとを含んだことを特徴とするコンピュータシステム。
【請求項２５】
前記高速リンク群は、光学的通信リンクを含むことを特徴とする請求項２４に記載のコンピュータシステム。
【請求項２６】
前記メモリデバイス群の少なくとも幾つかは、複数のＳＤＲＡＭを含むことを特徴とする請求項２４に記載のコンピュータシステム。
【請求項２７】
前記プロセッサーは、中央処理装置（ＣＰＵ）を含むことを特徴とする請求項２４に記載のコンピュータシステム。
【請求項２８】
ローカルおよびダウンストリームメモリ応答群の各々は、前記メモリ応答に対応するメモリ要求を識別するデータとヘッダーとを含むことを特徴とする請求項２４に記載のコンピュータシステム。
【請求項２９】
複数のメモリモジュール群を含むメモリシステムにおいて、各メモリモジュールは、メモリデバイス群と連結されたメモリハブを含み、各メモリモジュールの前記メモリハブにおけるメモリ応答群を処理しフォワードする方法は、
メモリ要求群であって、各メモリ要求がメモリ要求識別子を有し、前記メモリ要求群は、前記メモリハブへ接続されたメモリデバイス群に向かうローカルメモリ要求群と他のメモリモジュール群のメモリハブ群に連結されたメモリデバイス群に向かうリモートメモリ要求群とを含むメモリ要求群を受信するステップと、
前記メモリ要求識別子群を格納するステップと、
前記メモリデバイス群から受信されたローカルメモリ応答群を前記ローカルメモリ要求群に応答して格納するステップと、
前記他のメモリモジュール群から受信されたリモートメモリ応答群を前記リモートメモリ要求群に応答して格納するステップと、
少なくとも一つのハブにおいて、格納されたメモリ要求識別子群の年齢に基づいたアービトレーションアルゴリズムをアップストリームメモリモジュールに前記格納されたローカルおよびリモートメモリ応答群がフォワードされる順番を決定するために適用するステップと、
決定された前記順番に従って、前記ローカルおよびリモートメモリ応答群をフォワードするステップとを備えることを特徴とする方法。
【請求項３０】
前記ローカルおよびリモートメモリ応答群の各々は、前記メモリ応答に対応するメモリ要求を識別するデータとヘッダーとを含むことを特徴とする請求項２９に記載の方法。
【請求項３１】
最も古い格納されたメモリ要求識別子に基づいて前記順番を示すコントロール信号を生成するステップをさらに備えることを特徴とする請求項２９に記載の方法。
【請求項３２】
前記メモリ要求識別子は、先入れ先出し（ＦＩＦＯ）の原則で格納されアクセスされることを特徴とする請求項２９に記載の方法。
【請求項３３】
最も古い格納されたメモリ要求がローカルメモリ要求であるとき、ローカルメモリ応答が、フォワードされるようにコントロール信号を生成するステップをさらに備えることを特徴とする請求項２９に記載の方法。
【請求項３４】
前記パケットメモリに連結したパケット追跡器であって、前記パケットメモリは、前記リモートメモリ応答群を受信し、受信された各リモートメモリ応答を前記パケットメモリに格納されたメモリ要求識別子と関連させるように動作可能で、前記パケット追跡器は、前記メモリ要求識別子を効果的に前記パケットメモリから削除させるように動作可能なパケット追跡器をさらに備えたことを特徴とする請求項１に記載のメモリハブ。
【請求項３５】
前記リモートメモリ応答群を受信するように適合され、各リモートメモリ応答をメモリ要求識別子と関連させるよう動作可能で、前記パケットメモリから前記メモリ要求識別子を削除するように動作可能なパケット追跡器をさらに備えたことを特徴とする請求項１１に記載のメモリモジュール。
【請求項３６】
前記リモートメモリ応答群を受信するように適合され、各リモートメモリ応答をメモリ要求識別子と関連させるよう動作可能で、前記パケットメモリから前記メモリ要求識別子を削除するように動作可能なパケット追跡器をさらに備えたことを特徴とする請求項１７に記載のメモリシステム。
【請求項３７】
前記リモートメモリ応答群を受信するように適合され、各リモートメモリ応答をメモリ要求識別子と関連させるよう動作可能で、前記パケットメモリから前記メモリ要求識別子を削除するように動作可能なパケット追跡器をさらに備えたことを特徴とする請求項２４に記載のコンピュータシステム。
【国際調査報告】
2007526559.tif 000007
2007526559.tif 000008