(57)【要約】  プロセッサベースシステムは、プロセッサバスを介してシステムコントローラに結合されたプロセッサを含む。システムコントローラを使用して、少なくとも１つの入力装置、少なくとも１つの出力装置および少なくとも１つのデータ記録装置をプロセッサに結合する。プロセッサバスも、メモリハブに結合された複数のメモリ素子を有する少なくとも１つのメモリモジュールのメモリハブに結合されたメモリハブコントローラに結合される。メモリハブは、ダウンストリームバスとアップストリームバスとを介してメモリハブコントローラに結合される。ダウンストリームバスはＭビットの幅を有し、アップストリームバスはＮビットの幅を有する。ＭおよびＮの値の合計は固定されるが、ＭおよびＮの個々の値はプロセッサベースシステムの動作中に調節可能であり、ダウンストリームバスおよびアップストリームバスの帯域幅を調節できる。
2007528077.tif 000002
【特許請求の範囲】
【請求項１】
メモリハブコントローラ、およびメモリハブと前記メモリハブに結合した複数のメモリ素子を有する少なくとも１つのメモリモジュールを有するメモリシステムにおいて、前記メモリハブコントローラと前記少なくとも１つのメモリモジュール内の前記メモリハブとの間でコマンド信号、アドレス信号およびデータ信号を結合する方法であって、前記方法は、
第１容量を有する通信経路を使用して、前記メモリハブコントローラから前記少なくとも１つのメモリモジュール内の前記メモリハブへ、コマンド信号、アドレス信号およびデータ信号を結合することと、
第２容量を有する通信経路を使用して、前記少なくとも１つのメモリモジュール内の前記メモリハブから前記メモリハブコントローラへデータ信号を結合することであって、前記第１容量および前記第２容量の合計は固定値であることと、
前記メモリシステムの動作中に前記第１容量および前記第２容量を変更することと
を含むことを特徴とする方法。
【請求項２】
前記第１容量および前記第２容量を変更することは、前記メモリハブコントローラから前記少なくとも１つのメモリモジュール内の前記メモリハブへ前記信号を結合する比率、および前記少なくとも１つのメモリモジュール内の前記メモリハブから前記メモリハブコントローラへ前記信号を結合する比率に基づいて第１容量および第２容量を変更することを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記第１容量および前記第２容量を変更することは、
前記メモリハブコントローラにおいて、前記メモリハブコントローラと前記少なくとも１つのメモリモジュール内の前記メモリハブとの間で前記信号を結合する比率を判定することと、
前記メモリハブコントローラと前記少なくとも１つのメモリモジュール内の前記メモリハブとの間で前記信号を結合する前記判定された比率に基づいて、第１容量および第２容量を変更することと
を含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記第１容量および前記第２容量を変更することは、
前記少なくとも１つのメモリモジュールの前記メモリハブにおいて、前記メモリハブコントローラと前記メモリハブとの間で前記信号を結合する比率を判定することと、
前記メモリハブコントローラと前記メモリハブとの間で前記信号を結合する前記判定された比率に基づいて、前記第１容量および前記第２容量を変更することと
を含むことを特徴とする請求項２に記載の方法。
【請求項５】
前記第１容量および前記第２容量を変更することは、
ソフトウェアを使用して、前記メモリハブコントローラと前記少なくとも１つのメモリモジュールの前記メモリハブとの間で前記信号を結合する比率を判定することと、
前記ソフトウェアによって判定された比率に基づいて前記第１容量および前記第２容量を変更することと
を含むことを特徴とする請求項２に記載の方法。
【請求項６】
ソフトウェアを使用して、前記メモリハブコントローラと前記少なくとも１つのメモリモジュールの前記メモリハブとの間で前記信号を結合する比率を判定することは、オペレーティングシステムソフトウェアを使用して、前記メモリハブコントローラと前記少なくとも１つのメモリモジュールの前記メモリハブとの間で前記信号を結合する比率を判定することを含むことを特徴とする請求項５に記載の方法。
【請求項７】
前記第１容量および前記第２容量を変更することは、
前記少なくとも１つのメモリモジュールの前記メモリハブ以外の場所で、前記メモリハブコントローラと前記少なくとも１つのメモリモジュールの前記メモリハブとの間で前記信号を結合する比率を判定することと、
前記判定された比率を示す情報を前記少なくとも１つのメモリモジュールの前記メモリハブへ送信することと、
前記送信された情報に基づいて前記第１容量および前記第２容量を変更することと
を含むことを特徴とする請求項２に記載の方法。
【請求項８】
前記第１容量および前記第２容量を変更することは、
前記メモリハブコントローラ以外の場所で、前記メモリハブコントローラと前記少なくとも１つのメモリモジュールの前記メモリハブとの間で前記信号を結合する比率を判定することと、
前記判定された比率を示す情報を前記メモリハブコントローラへ送信することと、
前記送信された情報に基づいて前記第１容量および第２容量を変更することと
を含むことを特徴とする請求項２に記載の方法。
【請求項９】
前記メモリシステムの動作中に前記第１容量および前記第２容量を変更することは、前記メモリハブコントローラ内および前記少なくとも１つのメモリモジュールの前記メモリハブ内のバッファを入力バッファまたは出力バッファのいずれかとして構成することを含むことを特徴とする請求項１に記載の方法。
【請求項１０】
前記第１容量および前記第２容量を変更することは、前記メモリハブコントローラから前記少なくとも１つのメモリモジュール内の前記メモリハブへ前記信号を結合するであろうと予想される比率、および前記少なくとも１つのメモリモジュール内の前記メモリハブから前記メモリハブコントローラへ前記信号を結合するであろうと予想される比率に基づいて、前記第１容量および前記第２容量を変更することを含むことを特徴とする請求項１に記載の方法。
【請求項１１】
前記第１容量および前記第２容量を変更することは、
前記メモリハブコントローラと前記少なくとも１つのメモリモジュール内の前記メモリハブとの間で前記信号を結合するであろうと予想される比率を、前記メモリシステムに関連付けられたシステムに含まれるハードウェアの種類に基づいて判定することと、
前記メモリハブコントローラと前記少なくとも１つのメモリモジュール内の前記メモリハブとの間で前記信号を結合するであろうと予想される前記判定された比率に基づいて、前記第１容量および前記第２容量を変更することと
を含むことを特徴とする請求項１０に記載の方法。
【請求項１２】
前記メモリシステムの動作中に前記第１容量および前記第２容量を変更することは、前記第１容量および前記第２容量に対する最小値および最大値の範囲内で前記第１容量および前記第２容量を変更することを含むことを特徴とする請求項１に記載の方法。
【請求項１３】
前記第１容量および前記第２容量を変更することは、前記第１容量および前記第２容量を手動で変更することを含むことを特徴とする請求項１に記載の方法。
【請求項１４】
前記第１容量および前記第２容量を変更することは、少なくとも１つの電気的接続を手動で調節することを含むことを特徴とする請求項１３に記載の方法。
【請求項１５】
前記メモリハブコントローラから前記少なくとも１つのメモリモジュール内の前記メモリハブへ、コマンド信号、アドレス信号およびデータ信号を結合することは、前記メモリハブコントローラから前記少なくとも１つのメモリモジュール内の前記メモリハブへ、コマンド信号、アドレス信号およびデータ信号を含むパケットを結合することを含むことを特徴とする請求項１に記載の方法。
【請求項１６】
前記メモリシステムの動作中に前記第１容量および前記第２容量を変更することは、前記メモリシステムの初期化中に前記第１容量および前記第２容量を変更することを含むことを特徴とする請求項１に記載の方法。
【請求項１７】
メモリハブコントローラ、メモリハブおよび前記メモリハブに結合した複数のメモリ素子を有する少なくとも１つのメモリモジュール、および前記メモリハブコントローラと前記少なくとも１つのメモリモジュール内の前記メモリハブとの間で結合されるＭ個の信号線を有するバスを有するメモリシステムにおいて、前記メモリハブコントローラと前記少なくとも１つのメモリモジュール内の前記メモリハブとの間で前記バスを介してコマンド信号、アドレス信号およびデータ信号を結合する方法であって、前記方法は、
前記バスの前記Ｍ個の信号線のうちのＮ個を使用して、前記メモリハブコントローラから前記少なくとも１つのメモリモジュール内の前記メモリハブへ、コマンド信号、アドレス信号およびデータ信号を結合することと、
前記バスの前記Ｍ個の信号線のうちのＰ個を使用して、前記少なくとも１つのメモリモジュール内の前記メモリハブから前記メモリハブコントローラへデータ信号を結合することであって、Ｎ＋Ｐ＝Ｍであることと、
前記メモリシステムの動作中にＮおよびＰの値を変更することと
を含むことを特徴とする方法。
【請求項１８】
前記第１の信号線の個数および前記第２の信号線の個数を変更することは、前記バスを介して信号を結合する比率に基づいてＮおよびＰの値を変更することを含むことを特徴とする請求項１７に記載の方法。
【請求項１９】
ＮおよびＰの値を変更することは、
前記メモリハブコントローラにおいて、前記バスを介して前記信号を結合する比率を判定することと、
前記バスを介して前記信号を結合する前記判定された比率に基づいて、ＮおよびＰの値を変更することと
を含むことを特徴とする請求項１８に記載の方法。
【請求項２０】
ＮおよびＰの値を変更することは、
前記少なくとも１つのメモリモジュールの前記メモリハブにおいて、前記バスを介して前記信号を結合する比率を判定することと、
前記バスを介して前記信号を結合する前記判定された比率に基づいて、ＮおよびＰの値を変更することと
を含むことを特徴とする請求項１８に記載の方法。
【請求項２１】
ＮおよびＰの値を変更することは、
ソフトウェアを使用して、前記バスを介して前記信号を結合する比率を判定することと、
前記ソフトウェアによって判定された比率に基づいて、ＮおよびＰの値を変更することと
を含むことを特徴とする請求項１８に記載の方法。
【請求項２２】
ソフトウェアを使用して、前記バスを介して前記信号を結合する比率を判定することは、オペレーティングシステムソフトウェアを使用して、前記バスを介して前記信号を結合する比率を判定することを含むことを特徴とする請求項２１に記載の方法。
【請求項２３】
前記バスを介して前記信号を結合する比率に基づいてＮおよびＰの値を変更することは、前記メモリハブコントローラから前記少なくとも１つのメモリモジュール内の前記メモリハブへ前記バスを介して前記信号を結合する比率に基づいて、ＮおよびＰの値を変更することを含むことを特徴とする請求項１８に記載の方法。
【請求項２４】
前記バスを介して前記信号を結合する比率に基づいて、ＮおよびＰの値を変更することは、前記少なくとも１つのメモリモジュール内の前記メモリハブから前記メモリハブコントローラへ前記バスを介して前記信号を結合する比率に基づいて、ＮおよびＰの値を変更することを含むことを特徴とする請求項１８に記載の方法。
【請求項２５】
ＮおよびＰの値を変更することは、
前記少なくとも１つのメモリモジュールの前記メモリハブ以外の場所で、前記バスを介して前記信号を結合する比率を判定することと、
前記判定された比率を示す情報を前記少なくとも１つのメモリモジュールの前記メモリハブへ送信することと、
前記送信された情報に基づいてＮおよびＰの値を変更することと
を含むことを特徴とする請求項１８に記載の方法。
【請求項２６】
ＮおよびＰの値を変更することは、
前記メモリハブコントローラ以外の場所で、前記バスを介して前記信号を結合する比率を判定することと、
前記判定された比率を示す情報を前記メモリハブコントローラへ送信することと、
前記送信された情報に基づいてＮおよびＰの値を変更することと
を含むことを特徴とする請求項１８に記載の方法。
【請求項２７】
前記メモリシステムの動作中にＮおよびＰの値を変更することは、前記メモリハブコントローラ内および前記少なくとも１つのメモリモジュールの前記メモリハブ内のバッファを、入力バッファまたは出力バッファのいずれかとして構成することを含むことを特徴とする請求項１７に記載の方法。
【請求項２８】
ＮおよびＰの値を変更することは、前記バスを介して前記信号を結合するであろうと予想される比率に基づいてＮおよびＰの値を変更することを含むことを特徴とする請求項１８に記載の方法。
【請求項２９】
ＮおよびＰの値を変更することは、
前記バスを介して前記信号を結合するであろうと予想される比率を判定することと、
前記バスを介して前記信号を結合するであろうと予想される前記判定された比率に基づいてＮおよびＰの値を変更することと
を含むことを特徴とする請求項２８に記載の方法。
【請求項３０】
前記メモリシステムの動作中にＮおよびＰの値を変更することは、ＮおよびＰの値の最小値および最大値の範囲内でＮおよびＰの値を変更することを含むことを特徴とする請求項１７に記載の方法。
【請求項３１】
ＮおよびＰの値を変更することは、ＮおよびＰの値を手動で変更することを含むことを特徴とする請求項１７に記載の方法。
【請求項３２】
ＮおよびＰの値を手動で変更することは、少なくとも１つの電気的接続を手動で調節することを含むことを特徴とする請求項３１に記載の方法。
【請求項３３】
前記バスの前記Ｍ個の信号線のうちのＮ個を使用して、前記メモリハブコントローラから前記少なくとも１つのメモリモジュール内の前記メモリハブへ、コマンド信号、アドレス信号およびデータ信号を結合することは、前記バスの前記Ｍ個の信号線のうちのＮ個を使用して、前記メモリハブコントローラから前記少なくとも１つのメモリモジュール内の前記メモリハブへ、コマンド信号、アドレス信号およびデータ信号を含むパケットを結合することを含むことを特徴とする請求項１７に記載の方法。
【請求項３４】
前記バスの前記Ｍ個の信号線のうちのＮ個を使用して、前記メモリハブコントローラから前記少なくとも１つのメモリモジュール内の前記メモリハブへ、コマンド信号、アドレス信号およびデータ信号を結合することは、Ｎ個の信号線を有する単方向ダウンストリームバスを使用して、前記メモリハブコントローラから前記少なくとも１つのメモリモジュール内の前記メモリハブへ、コマンド信号、アドレス信号およびデータ信号を結合することを含み、かつ前記バスの前記Ｍ個の信号線のうちのＰ個を使用して、前記少なくとも１つのメモリモジュール内の前記メモリハブから前記メモリハブコントローラへデータ信号を結合することは、Ｐ個の信号線を有する単方向アップストリームバスを使用して、前記少なくとも１つのメモリモジュール内の前記メモリハブから前記メモリハブコントローラへデータ信号を結合することを含むことを特徴とする請求項１７に記載の方法。
【請求項３５】
前記メモリシステムの動作中にＮおよびＰの値を変更することは、前記メモリシステムの初期化中にＮおよびＰの値を変更することを含むことを特徴とする請求項１７に記載の方法。
【請求項３６】
メモリシステムであって、
Ｍ個のバッファを有するメモリハブコントローラであって、前記Ｍ個のバッファのうちのＮ個は出力バッファとして構成され、かつ前記Ｍ個のバッファのうちのＰ個は入力バッファとして構成され、ＮおよびＰの値は前記メモリシステムの動作中に変更可能であるメモリハブコントローラと、
少なくとも１つのメモリモジュールであって、
複数のバッファを有するメモリハブであって、複数のバッファのうちＮ個のバッファ
は入力バッファとして構成され、Ｐ個のバッファは出力バッファとして構成されるメモリハブと、
前記メモリハブに結合された複数のメモリ素子と
を含む少なくとも１つのメモリモジュールと、
前記メモリハブコントローラの各バッファと前記メモリハブの各バッファとの間で結合されたＭ個の信号線を有するバスであって、Ｍの値はＮおよびＰの合計に等しいバスと
を含むことを特徴とするメモリシステム。
【請求項３７】
前記メモリハブコントローラ内および前記メモリハブ内のバッファに対するＭおよびＮの値は、前記バスを介して前記信号を結合する比率に基づいて変更されることを特徴とする請求項３６に記載のメモリシステム。
【請求項３８】
前記メモリハブコントローラは、前記バスを介して前記信号を結合する比率を判定するよう動作可能であり、かつ前記メモリハブコントローラ内および前記メモリハブ内のバッファに対するＭおよびＮの値は、前記バスを介して前記信号を結合する前記判定された比率に基づいて変更されることを特徴とする請求項３７に記載のメモリシステム。
【請求項３９】
前記メモリハブは、前記バスを介して前記信号を結合する比率を判定するよう動作可能であり、かつ前記メモリハブコントローラ内および前記メモリハブ内のバッファに対するＭおよびＮの値は、前記バスを介して信号を結合する前記判定された比率に基づいて変更されることを特徴とする請求項３７に記載のメモリシステム。
【請求項４０】
前記メモリハブコントローラ内および前記メモリハブ内のバッファに対するＭおよびＮの値は、前記メモリハブコントローラから前記メモリハブへ前記バスを介して前記信号を結合する比率に基づいて変更されることを特徴とする請求項３７に記載のメモリシステム。
【請求項４１】
前記メモリハブコントローラ内および前記メモリハブ内のバッファに対するＭおよびＮの値は、前記メモリハブから前記メモリハブコントローラへ前記バスを介して前記信号を結合する比率に基づいて変更されることを特徴とする請求項３７に記載のメモリシステム。
【請求項４２】
前記メモリハブコントローラ内および前記メモリハブ内のバッファに対するＭおよびＮの値は、前記バスを介して前記信号を結合するであろうと予想される比率に基づいて変更されることを特徴とする請求項３６に記載のメモリシステム。
【請求項４３】
前記メモリハブコントローラは、前記バスを介して前記信号を結合するであろうと予想される比率を判定するよう動作可能であり、かつ前記メモリハブコントローラ内および前記メモリハブ内のバッファに対するＭおよびＮ値は、前記バスを介して前記信号を結合するであろうと予想される前記判定された比率に基づいて変更されることを特徴とする請求項４２に記載のメモリシステム。
【請求項４４】
前記メモリハブは、前記バスを介して前記信号を結合するであろうと予想される比率を判定するよう動作可能であり、かつ前記メモリハブコントローラ内および前記メモリハブ内のバッファに対するＭおよびＮの値は、前記バスを介して前記信号を結合するであろうと予想される前記判定された比率に基づいて変更されることを特徴とする請求項４２に記載のメモリシステム。
【請求項４５】
ＮおよびＰの値は、ＮおよびＰの値の最小値および最大値の範囲内で変更されることを特徴とする請求項３６に記載のメモリシステム。
【請求項４６】
前記メモリハブコントローラは、前記メモリシステムの初期化中にＮおよびＰの値を変更するよう動作可能であることを特徴とする請求項３６に記載のメモリシステム。
【請求項４７】
プロセッサベースシステムであって、
プロセッサバスを有するプロセッサと、
前記プロセッサバスに結合されたシステムコントローラであって、周辺装置ポートを有するシステムコントローラと、
前記プロセッサバスに結合されたメモリハブコントローラであって、出力ポートおよび入力ポートを有するメモリハブコントローラと、
前記システムコントローラの前記周辺装置ポートに結合された少なくとも１つの入力装置と、
前記システムコントローラの前記周辺装置ポートに結合された少なくとも１つの出力装置と、
前記システムコントローラの前記周辺装置ポートに結合された少なくとも１つのデータ記憶装置と、
メモリハブおよび前記メモリハブに結合された複数のメモリ素子を有する少なくとも１つのメモリモジュールと、
前記メモリハブコントローラの出力ポートと前記少なくとも１つのメモリモジュールの前記メモリハブとの間に結合されたダウンストリームバスであって、前記ダウンストリームバスはＭビットの幅を有し、Ｍの値は前記ダウンストリームバスの帯域幅を調節できるよう可変である前記ダウンストリームバスと、
前記メモリハブコントローラの入力ポートと前記少なくとも１つのメモリモジュールの前記メモリハブとの間に結合されたアップストリームバスであって、前記アップストリームバスはＮビットの幅を有し、ＮはＭより小さい固定値に等しく、Ｎの値はアップストリームバスの帯域幅を調節できるよう可変である前記アップストリームバスと
を含むことを特徴とするプロセッサベースシステム。
【請求項４８】
ＭおよびＮの値は、前記ダウンストリームバスおよび前記アップストリームバスの少なくとも１つを介して前記信号を結合する比率に基づいて変更されることを特徴とする請求項４７に記載のプロセッサベースシステム。
【請求項４９】
前記メモリハブコントローラは、前記ダウンストリームバスおよび前記アップストリームバスとの少なくとも１つを介して前記信号を結合する比率を判定するよう動作可能であり、かつＭおよびＮの値は、前記ダウンストリームバスおよび前記アップストリームバスの少なくとも１つを介して前記信号を結合する前記判定された比率に基づいて変更されることを特徴とする請求項４８に記載のプロセッサベースシステム。
【請求項５０】
前記メモリハブは、前記ダウンストリームバスおよび前記アップストリームバスの少なくとも１つを介して前記信号を結合する比率を判定するよう動作可能であり、かつＭおよびＮの値は、前記ダウンストリームバスおよび前記アップストリームバスの少なくとも１つを介して前記信号を結合する前記判定された比率に基づいて変更されることを特徴とする請求項４８に記載のプロセッサベースシステム。
【請求項５１】
ＭおよびＮの値は、前記メモリハブコントローラから前記メモリハブへ前記ダウンストリームバスを介して前記信号を結合する比率に基づいて変更されることを特徴とする請求項４８に記載のプロセッサベースシステム。
【請求項５２】
ＭおよびＮの値は、前記メモリハブから前記メモリハブコントローラへ前記アップストリームバスを介して前記信号を結合する比率に基づいて変更されることを特徴とする請求項４８に記載のプロセッサベースシステム。
【請求項５３】
ＭおよびＮの値は、前記ダウンストリームバスおよび前記アップストリームバスの少なくとも１つを介して前記信号を結合するであろうと予想される比率に基づいて変更されることを特徴とする請求項４７に記載のプロセッサベースシステム。
【請求項５４】
前記メモリハブコントローラは、前記ダウンストリームバスおよび前記アップストリームバスの少なくとも１つを介して前記信号を結合するであろうと予想される比率を判定するよう動作可能であり、かつＭおよびＮの値は、前記ダウンストリームバスおよび前記アップストリームバスの少なくとも１つを介して前記信号を結合するであろうと予想される前記判定された比率に基づいて変更されることを特徴とする請求項５３に記載のプロセッサベースシステム。
【請求項５５】
前記メモリハブは、前記ダウンストリームバスおよび前記アップストリームバスの少なくとも１つを介して前記信号を結合するであろうと予想される比率を判定するよう動作可能であり、かつＭおよびＮの値は、前記ダウンストリームバスおよび前記アップストリームバスの少なくとも１つを介して前記信号を結合するであろうと予想される前記判定された比率に基づいて変更されることを特徴とする請求項５３に記載のプロセッサベースシステム。
【請求項５６】
ＮおよびＰの値は、ＮおよびＰの最小値および最大値の範囲内で変更されることを特徴とする請求項４７に記載のプロセッサベースシステム。
【請求項５７】
ＮおよびＰの値は、前記プロセッサベースシステムの初期化中に変更されることを特徴とする請求項４７に記載のプロセッサベースシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムメモリを有するプロセッサベースシステムに関する。より詳細には、本発明は、メモリハブを含むメモリモジュールを有するプロセッサベースシステムであって、複数のメモリハブがダウンストリームバスおよびアップストリームバスを介するメモリハブコントローラを介してプロセッサに結合されたプロセッサベースシステムに関する。
【背景技術】
【０００２】
コンピュータシステムなどのプロセッサベースシステムは、プロセッサによってアクセスされる命令とデータとを格納するシステムメモリとして、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）素子などのメモリ素子を使用する。典型的なコンピュータシステムでは、プロセッサは、プロセッサバスおよびメモリコントローラを介してシステムメモリと通信する。プロセッサは、読み取りコマンドなどのメモリコマンドと、データや命令が読み取られたり書き込まれたりする場所を指定するアドレスを含むメモリ要求を発行する。メモリコントローラは、コマンドおよびアドレスを使用して適宜のコマンド信号またはシステムメモリに適用される行アドレスおよび列アドレスを生成する。コマンドおよびアドレスに応じて、データがシステムメモリとプロセッサとの間で転送される。メモリコントローラは、システムコントローラの一部である場合が多く、この場合、システムコントローラは、ＰＣＩバスなどの拡張バスにプロセッサバスを結合するためのバスブリッジ回路もまた含む。
【０００３】
メモリ素子の動作速度は増加し続けるが、この動作速度の増加は、プロセッサの動作速度の増加に追いつかない。メモリコマンド、アドレスおよびデータが、プロセッサとメモリ素子との間で結合できる速度の増加は更に緩やかである。メモリコントローラおよびメモリ素子の比較的遅い速度が、プロセッサとメモリ素子との間のデータ帯域幅を限定する。
【０００４】
メモリ素子に対するデータ帯域幅を増加させる１つのアプローチは、図１に示すようにメモリハブを介してプロセッサに結合された複数のメモリ素子を使用することである。メモリハブアーキテクチャを使用するコンピュータシステム１００は、特定のソフトウェアを実行して特定の計算やタスクを行うなどの様々なコンピューティング機能を行うプロセッサ１０４を含む。プロセッサ１０４は、通常はアドレスバス、制御バスおよびデータバスを含むプロセッサバス１０６を含む。プロセッサバス１０６は、典型的に、キャッシュメモリ１０８に結合される。キャッシュメモリは一般的にスタティックランダムアクセスメモリ（「ＳＲＡＭ」）である。最後に、このプロセッサバス１０６はシステムコントローラ１１０に結合され、これは、バスブリッジとして参照されることもある。
【０００５】
システムコントローラ１１０は、プロセッサ１０４に結合されたメモリハブコントローラ１２８を含む。メモリハブコントローラ１２８は、また、バスシステム１３４を介していくつかのメモリモジュール１３０ａ−ｎに結合される。メモリモジュール１３０ａ−ｎはそれぞれが、バス１５０として集合的に示されるコマンドバス、アドレスバスおよびデータバスを介して複数のメモリ素子１４８に結合されたメモリハブ１４０を含む。メモリハブ１４０は、コントローラ１２８とメモリ素子１４８との間でメモリ要求と応答とを効率良くルーティングする。このようなアーキテクチャを用いたコンピュータシステムは、別のメモリモジュール１３０ａ−ｎが先のメモリアクセスに応答しているときに、プロセッサ１０４が１つのメモリモジュール１３０ａ−ｎにアクセスできるので、広い帯域幅を有することができる。例えば、プロセッサ１０４は、システム内の別のメモリモジュール１３０ａ−ｎがプロセッサ１０４へ読み取りデータを提供するための準備をしているときに、システム内の１つのメモリモジュール１３０ａ−ｎへ書き込みデータを出力できる。メモリバスアーキテクチャを使用したコンピュータシステムの動作効率は、メモリシステムのデータ帯域幅の大幅な増加をさらに実用的にすることができる。メモリハブアーキテクチャは、コンピュータシステムのメモリ容量もまた大いに増加させることができる。
【０００６】
システムコントローラ１１０は、他の様々なコンポーネントに対して、プロセッサ１０４への通信経路としての働きをする。さらに具体的には、システムコントローラ１１０は、グラフィックスコントローラ１１２に典型的に結合されたグラフィックスポートを含む。グラフィックスコントローラ１１２は、次に、ビデオ端末１１４に結合される。システムコントローラ１１０はまた、キーボードやマウスなどの１つまたは複数の入力装置１１８に結合され、操作者はコンピュータシステム１００とインタフェースで接続することができる。典型的に、コンピュータシステム１００は、システムコントローラ１１０を介してプロセッサ１０４に結合されたプリンタなどの１つまたは複数の出力装置１２０もまた含む。１つまたは複数のデータ記憶装置１２４がシステムコントローラ１１０を介してプロセッサ１０４に典型的に結合されることで、プロセッサ１０４は内部記憶媒体あるいは外部記憶媒体（図示せず）からデータの格納または検索が可能となる。典型的な記憶装置１２４の実施例は、ハードディスクおよびフロッピディスク、テープカセットおよびコンパクトディスク・リードオンリメモリ（ＣＤ−ＲＯＭ）を含む。
【０００７】
メモリハブアーキテクチャは、バスシステム１３４のポイントツーポイントの性質によって電気シグナリングがより高速になり、かつＤＲＡＭの隔離性によっていくつかのモジュール内で平行活動あるいは重複活動が可能になるので、データのメモリにおける記憶または検索の比率を著しく増加することができる。実際に、メモリハブをそれぞれに有するいくつかのメモリモジュールを使用するメモリシステムは、非常に高い比率でデータを集合的に送受信するため、バスシステム１３４がメモリシステムのデータ帯域幅を限定する「ボトルネック」となる可能性がある。
【０００８】
メモリハブアーキテクチャを使用するメモリシステムのデータ帯域幅を最大にするために使用されてきた１つの技法は、高速の「ダウンストリーム」バス１５４およびダウンストリームバス１５４から分離された「アップストリーム」バス１５６を使用してバスシステム１３４を実装することである。ダウンストリームバス１５４およびアップストリームバスは、幅すなわち導体の数が同じである。高速ダウンストリームバス１５４は、メモリコマンド、アドレスおよび書き込みデータを含むパケットをメモリハブコントローラ１２８からメモリモジュール１３０へ、さらにメモリモジュール１３０からメモリハブコントローラ１２８のより遠くに位置するメモリモジュール１３０へ結合する。高速アップストリームバス１５６は、読み取りデータと識別子を含むパケットをメモリモジュール１３０からメモリハブコントローラ１２８へ、さらにメモリモジュール１３０からメモリハブコントローラ１２８により近接したメモリモジュール１３０へ結合する。この２つの異なる単方向バスを使用することによって、折返しのための待ち時間を除去し、メモリハブコントローラはデータを同時に送受信できるという利点がある。
【０００９】
メモリハブアーキテクチャを使用したメモリシステムのデータ帯域幅は、異なる種類のメモリシグナリングプロトコルを使用することによってもまた最大化できる。従来のアドレスバス、データバスおよび制御バスを使用するよりむしろ、メモリ要求や「トランザクション」毎のアドレスビット、データビットおよび制御ビットを単一のパケットに一緒に送る。このパケットは、読み取りデータまたは書き込みデータが後続するコマンドヘッダを含む。このコマンドヘッダは、書き込みコマンドまたは読み取りコマンドなどのメモリコマンドに対応するビットと、要求が方向づけられるメモリモジュールを指定する識別ビットと、要求に応えてアクセスされた指定のメモリモジュール内のメモリ素子１４８のアドレスを指定するアドレスビットを含む。コマンドヘッダは、コマンドヘッダに後続する読み取りデータあるいは書き込みデータの量もまた指定できる。パケット化されたメモリシステムを使用することによって、メモリハブコントローラ１２８は、コマンド信号、アドレス信号と、書き込み要求の場合には、書き込みデータ信号を発行する代わりに、単にパケットを１つ送信するだけでメモリ要求を発行することができる。この結果、メモリハブコントローラ１２８はより速い比率でメモリ要求を発行できる。更に、パケット化されたメモリシステムによって、メモリハブコントローラ１２８はメモリ要求の詳細の処理を把握し続ける必要がなくなる。その代わりに、メモリハブコントローラ１２８はパケットを送信するだけでよい。メモリ要求が方向づけられるメモリモジュール１３０内のメモリハブ１４０は、その後、メモリハブコントローラ１２８と更なるインタラクションはせずにメモリ要求を処理する。読み取り要求の場合には、メモリハブ１４０は、直接または介在するメモリモジュール１３０を介してのいずれかで、メモリハブコントローラ１２８へ戻ってパケットを送信するが、このパケットは、読み取りデータを識別するコマンドヘッダ内の識別ビットと同様に読み取りデータを含む。メモリハブコントローラ１２８は、識別ビットを使用して読み取りデータを指定のメモリ要求に関連付ける。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
図１に示すメモリハブアーキテクチャは、プロセッサ１０４とメモリ素子１４８との間のデータ帯域幅の顕著な増加を提供するが、それにもかかわらず提供する性能は最適とは言えない。特に、ダウンストリームバス１５４またはアップストリームバス１５６の容量で、メモリモジュール１３０へ、またはメモリモジュール１３０から結合されるパケットの比率が限定され、これによって、データ帯域幅が限定される。特定のバス１５４か１５６が過負荷になるかどうかは、通常、メモリアクセスの性質によって決まる。メモリの書き込みによって、ダウンストリームバス１５４を介したトラフィックは、アップストリームバス１５６を介したトラフィックに比べて、結果としてさらに著しく多量となる。メモリの読み取りでは、コマンドおよびアドレスを含むパケットがダウンストリームバス１５４を介して結合するよう要求するが、アップストリームバス１５６を介してルーティングされる場合よりも、一般的に、さらに著しくトラフィックが多い結果となる。したがって、主に書き込みで占められるメモリアクセスはダウンストリームバス１５４を過負荷にする傾向があり、さらに主に読み取りを含むメモリアクセスはアップストリームバス１５６を過負荷にする傾向がある。いずれの場合でも、プロセッサ１０４とメモリ素子１４８との間のデータ帯域幅は減少する結果となる。
【００１１】
したがって、メモリハブコントローラと１つまたは複数のメモリハブとの間で結合されたダウンストリームバスまたはアップストリームバスのいずれかを過負荷にすることを、より回避できるメモリハブアーキテクチャが必要とされる。
【課題を解決するための手段】
【００１２】
プロセッサベースシステムで使用されるメモリシステムは、メモリハブおよびメモリハブに結合された複数のメモリ素子を有する少なくとも１つのメモリモジュールに結合されたメモリハブコントローラを含む。コマンド信号、アドレス信号およびデータ信号は、第１容量を有する通信経路を使用して、メモリハブコントローラからメモリハブへ結合される。また、データ信号は、第２容量を有する通信経路を使用して、メモリハブからメモリハブコントローラへ結合される。第１容量と第２容量の合計は固定値であるが、第１容量と第２容量の個々の値は、メモリシステムの初期化中などメモリシステムの動作中に、通信経路を介して実際の信号フローまたは予想された信号フローの度合いに基づいて変更される。メモリハブコントローラからメモリハブへの実際の信号フローまたは予想された信号フローが増加する場合、第１容量を増加させて第２容量を減少させる。メモリハブからメモリハブコントローラへの実際の信号フローまたは予想された信号フローが増加する場合、第２容量を増加させて第１容量を減少させる。
【発明を実施するための最良の形態】
【００１３】
本発明の一実施態様にしたがったプロセッサベースシステム２００を図２に示す。システム２００は、図１のシステム１００に使用されるのとほぼ同じコンポーネントを使用し、さらに同じやり方で動作する。従って、簡略にするために、これらには同一の参照番号が提供され、それらの動作の説明は繰り返されない。プロセッサベースシステム２００は、ダウンストリームバス１５４およびアップストリームバス１５６の幅が固定ではなく、必ずしも等しくない点で図１に示されるシステム１００とは異なる。代わりに、ダウンストリームバス１５４はＭビットの幅を有し、アップストリームバス１５６はＮビットの幅を有し、ＭとＮの値の合計は固定値に等しい。ＭとＮの値は動的であり、好適には、実際のメモリアクセスまたは期待されるメモリアクセスの性質によって決まる。仮に不均衡なほど複数の書き込みが生じるか、または生じることが期待される場合、Ｍの値を増加させてダウンストリームバス１５４の容量を増加し、Ｎの値もアップストリームバス１５６の容量の減少にしたがって減少する。仮に不均衡なほど複数の読み取りが生じるか、または生じることが期待される場合、Ｍの値を減少させてダウンストリームバス１５４の容量を減減少させ、Ｎの値はアップストリームバス１５６の容量の減少にしたがって減少させる。
【００１４】
アップストリームバス１５６の容量Ｎに関連するダウンストリームバス１５４の容量Ｍは、様々な技法で判定することができる。システム２００は、ジャンパまたは同様のハードウェアを手動で操作してＭおよびＮの値を選択することによって、半永久的なやり方で手動で構成することができる。このような場合、ＭおよびＮの値は、システム２００の予想される使用に基づいたシステム設計の間に判定されることがある。しかし、静的であるよりはむしろ、ＭおよびＮの値は好適には動的であり、すなわち、ＭおよびＮの値はシステム２００の動作中に変化する。ＭおよびＮの値は、バス１５４と１５６を介する実際のトラフィックフロー、またはバス１５４と１５６を介する予想されたトラフィックフローのいずれかに基づいて動的に変化することがある。あるいは、ＭおよびＮの値は、メモリシステムが初期化されている場合のような、メモリシステムの動作中の別の時点に変化することもある。
【００１５】
仮に、実際のトラフィックフローをＭおよびＮの値を調節するための基準として使用する場合、バス１５４と１５６を介するトラフィックは、メモリハブコントローラ１２８およびメモリハブ１４０によって判定される。そして、バス１５４と１５６内の信号線に結合された内部バッファを入力バッファまたは出力バッファのいずれかとして構成することによって、ＭおよびＮの値を調節することができる。あるいは、バス１５４と１５６を介するトラフィックは、メモリハブコントローラ１２８だけによって判定され、構成データをメモリハブ１４０へ結合できる。このような場合、ＭおよびＮの値に対するデフォルト値を使用して、メモリハブ１４０へ構成データを結合する。そしてメモリハブ１４０は、構成データを使用してバス１５４と１５６内の信号線に結合された内部バッファを、入力バッファまたは出力バッファのいずれかとして構成する。ハードウェアを使用してバス１５４と１５６を介するトラフィックフローを分析することの代替案としては、オペレーションシステムまたはランタイムエージェントなどのソフトウェアで実際のトラフィックフローを判定することができる。バス１５４と１５６を介する実際のトラフィックフローを判定する別の手段を使用することも可能である。
【００１６】
仮に、バス１５４と１５６を介する予想されたトラフィックフローを、ＭおよびＮの値を調節する基準として使用すると、予想されたトラフィックフローはユーザによって判定され、その後、適切な手段でメモリハブコントローラ１２８およびメモリハブ１４０に結合される。例えば、予想された使用情報が、ＪＴＡＧインタフェース（図示せず）またはおよびＩ２Ｃインタフェース（図示せず）などの適切なインタフェースを介して結合される。いずれの場合においても、その後、メモリハブコントローラ１２８とメモリハブ１４０は、バス１５４内と１５６内の信号線に結合された内部バッファをそれに応じて構成することができる。
【００１７】
バス１５４と１５６を介する予想されたトラフィックフローは、上記で説明されたようにユーザによって直接に判定されるか、または、他の情報から推論されるかのいずれかである。バス１５４と１５６を介する予想されたトラフィックフローは、システム２００に含まれるハードウェアの種類またはプロセッサ１０４によって実行されるソフトウェアのいずれかに基づいて判定される。例えば、プロセッサ１０４は、適切なＭおよびＮの値を判定し、プロセッサ１０４によって実行されるアプリケーションプログラムの種類に基づいて、メモリハブコントローラ１２８およびメモリハブ１４０にそれらの値を結合する。インストールプログラムが実行される場合、通常、書き込みアクセス数は多い。このような場合、プロセッサ１０４は、Ｍの値を増加させ、さらにＮの値を減少させる。一方、グラフィックス集約型アプリケーションプログラムは、不均衡なほど複数の読み取りアクセスを要求するので、Ｍの値は減少され、Ｎの値は増加される。通信プログラムは、普通、ほぼ同数の読み取りおよび書き込みを有するので、Ｍの値はＮの値と等しく設定される。あるいは、バス１５４と１５６を介する予想されたトラフィックフローを判定するための他のハードウェアまたはソフトウェアの手段を代替として使用してもよい。
【００１８】
バス１５４内と１５６内のすべての信号線を、ダウンストリームバス１５４の一部、またはアップストリームバス１５６の一部のいずれであるよう双方向として構成することは可能であるが、ＭおよびＮの値の最小の数に対応するバス１５４内と１５６内の信号線の中には、単方向であり、かつダウンストリームバス１５４またはアップストリームバス１５６のいずれかに専用化されるものもある。入力バッファの入力が各信号線に結合され、この各信号線は出力バッファの出力に結合されるという要求は、場合によっては、その信号線を過負荷にする傾向がある。しかし、この潜在的な問題については、等化法によって、または例えば入力バッファが使用されていない時にバス１５４と１５６の信号線から入力バッファを切り離すことによって軽減できる。入力バッファおよび出力バッファをバス１５４と１５６に結合するやり方は、特定のハードウェアおよびソフトウェアを使用してＭおよびＮの値を判定するのと同様に、当業者には容易に理解されるものである。
【００１９】
本書では本発明の特定の実施態様についてのみ説明したが、本発明の精神と範囲とから逸脱することなく様々な修正を加えられることは当業者には理解されるであろう。例えば、メモリモジュールはメモリハブコントローラから物理的に分離されているように示されるが、物理的に分離される必要は無いことは理解されるであろう。すなわち、メモリハブコントローラおよびメモリモジュールはマザーボードなどの共通の基板上に取り付けられてもよい。従って、本発明は添付の請求項による以外には何等限定されない。
【図面の簡単な説明】
【００２０】
【図１】従来のメモリハブアーキテクチャを使用するシステムメモリを有するプロセッサベースシステムのブロックダイアグラムである。
【図２】本発明の一実施態様にしたがってメモリハブアーキテクチャを使用したシステムメモリを有するプロセッサベースシステムのブロックダイアグラムである。
【図１】
2007528077.tif 000003
【図２】
2007528077.tif 000004
【手続補正書】
【提出日】平成19年3月14日(2007.3.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
メモリハブコントローラ、およびメモリハブと前記メモリハブに結合した複数のメモリ素子を有する少なくとも１つのメモリモジュールを有するメモリシステムにおいて、前記メモリハブコントローラと前記少なくとも１つのメモリモジュール内の前記メモリハブとの間でコマンド信号、アドレス信号およびデータ信号を結合する方法であって、前記方法は、
第１容量を有する通信経路を使用して、前記メモリハブコントローラから前記少なくとも１つのメモリモジュール内の前記メモリハブへ、コマンド信号、アドレス信号およびデータ信号を結合することと、
第２容量を有する通信経路を使用して、前記少なくとも１つのメモリモジュール内の前記メモリハブから前記メモリハブコントローラへデータ信号を結合することであって、前記第１容量および前記第２容量の合計は固定値であることと、
前記メモリシステムの動作中に前記第１容量および前記第２容量を変更することと
を含むことを特徴とする方法。
【請求項２】
前記メモリシステムの動作中に前記第１容量および前記第２容量を変更することは、
前記メモリハブコントローラから前記少なくとも１つのメモリモジュール内の前記メモリハブへ前記信号を結合する比率、および前記少なくとも１つのメモリモジュール内の前記メモリハブから前記モジュールメモリハブコントローラへ前記信号を結合する比率に基づいて、前記第１容量および前記第２容量を変更すること
を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記第１容量および前記第２容量を変更することは、
前記メモリハブコントローラにおいて、前記メモリハブコントローラと前記少なくとも１つのメモリモジュール内の前記メモリハブとの間で前記信号を結合する比率を判定することと、
前記メモリハブコントローラと前記少なくとも１つのメモリモジュール内の前記メモリハブとの間で前記信号を結合する前記判定された比率に基づいて、前記第１容量および前記第２容量を変更することと
を含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記第１容量および前記第２容量を変更することは、
前記少なくとも１つのメモリモジュールの前記メモリハブにおいて、前記メモリハブコントローラと前記メモリハブとの間で前記信号を結合する比率を判定することと、
前記メモリハブコントローラと前記メモリハブとの間で前記信号を結合する前記判定された比率に基づいて、前記第１容量および前記第２容量を変更することと
を含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記第１容量および前記第２容量を変更することは、
コンピュータ可読媒体のソフトウェアを使用して、前記メモリハブコントローラと前記少なくとも１つのメモリモジュールの前記メモリハブとの間で前記信号を結合する比率を判定することと、
コンピュータ可読媒体の前記ソフトウェアによって判定された比率に基づいて、前記第１容量および前記第２容量を変更することと
を含むことを特徴とする請求項１に記載の方法。
【請求項６】
コンピュータ可読媒体のソフトウェアを使用して、前記メモリハブコントローラと前記少なくとも１つのメモリモジュールの前記メモリハブとの間で前記信号を結合する比率を判定することは、コンピュータ可読媒体上のオペレーティングシステムソフトウェアを使用して、前記メモリハブコントローラと前記少なくとも１つのメモリモジュールの前記メモリハブとの間で前記信号を結合する比率を判定することを含むことを特徴とする請求項５に記載の方法。
【請求項７】
前記第１容量および前記第２容量を変更することは、
前記少なくとも１つのメモリモジュールの前記メモリハブ以外の場所で、前記メモリハブコントローラと前記少なくとも１つのメモリモジュールの前記メモリハブとの間で前記信号を結合する比率を判定することと、
前記判定された比率を示す情報を前記少なくとも１つのメモリモジュールの前記メモリハブへ送信することと、
前記送信された情報に基づいて、前記第１容量および前記第２容量を変更することと
を含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記第１容量および前記第２容量を変更することは、
前記メモリハブコントローラ以外の場所で、前記メモリハブコントローラと前記少なくとも１つのメモリモジュールの前記メモリハブとの間で前記信号を結合する比率を判定することと、
前記判定された比率を示す情報を前記メモリハブコントローラへ送信することと、
前記送信された情報に基づいて、前記第１容量および前記第２容量を変更することと
を含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記メモリシステムの動作中に前記第１容量および前記第２容量を変更することは、前記メモリハブコントローラ内および前記少なくとも１つのメモリモジュールの前記メモリハブ内のバッファを入力バッファまたは出力バッファのいずれかとして構成することを含むことを特徴とする請求項１に記載の方法。
【請求項１０】
前記第１容量および前記第２容量を変更することは、前記メモリハブコントローラから前記少なくとも１つのメモリモジュール内の前記メモリハブへ前記信号を結合するであろうと予想される比率、および前記少なくとも１つのメモリモジュール内の前記メモリハブから前記メモリハブコントローラへ前記信号を結合するであろうと予想される比率に基づいて、前記第１容量および前記第２容量を変更することを含むことを特徴とする請求項１に記載の方法。
【請求項１１】
前記第１容量および前記第２容量を変更することは、
前記メモリハブコントローラと前記少なくとも１つのメモリモジュール内の前記メモリハブとの間で前記信号を結合するであろうと予想される比率を、前記メモリシステムに関連付けられたシステムに含まれるハードウェアの種類に基づいて判定することと、
前記メモリハブコントローラと前記少なくとも１つのメモリモジュール内の前記メモリハブとの間で前記信号を結合するであろうと予想される前記判定された比率に基づいて、前記第１容量および前記第２容量を変更することと
を含むことを特徴とする請求項１０に記載の方法。
【請求項１２】
前記メモリシステムの動作中に前記第１容量および前記第２容量を変更することは、前記第１容量および前記第２容量に対する最小値および最大値の範囲内で前記第１容量および前記第２容量を個別に変更することを含むことを特徴とする請求項１に記載の方法。
【請求項１３】
前記第１容量および前記第２容量を変更することは、前記第１容量および前記第２容量を手動で変更することを含むことを特徴とする請求項１に記載の方法。
【請求項１４】
前記第１容量および前記第２容量を変更することは、少なくとも１つの電気的接続を手動で調節することを含むことを特徴とする請求項１３に記載の方法。
【請求項１５】
前記メモリハブコントローラから前記少なくとも１つのメモリモジュール内の前記メモリハブへ、コマンド信号、アドレス信号およびデータ信号を結合することは、前記メモリハブコントローラから前記少なくとも１つのメモリモジュール内の前記メモリハブへ、コマンド信号、アドレス信号およびデータ信号を含むパケットを結合することを含むことを特徴とする請求項１に記載の方法。
【請求項１６】
前記メモリシステムの動作中に前記第１容量および前記第２容量を変更することは、前記メモリシステムの初期化中に前記第１容量および前記第２容量を変更することを含むことを特徴とする請求項１に記載の方法。
【請求項１７】
メモリシステムであって、
Ｍ個のバッファを有するメモリハブコントローラであって、前記Ｍ個のバッファのうちのＮ個は出力バッファとして構成され、かつ前記Ｍ個のバッファのうちのＰ個は入力バッファとして構成され、ＮおよびＰの値は前記メモリシステムの動作中に変更可能であるメモリハブコントローラと、
少なくとも１つのメモリモジュールであって、
複数のバッファを有するメモリハブであって、複数のバッファのうちＮ個のバッファは入力バッファとして構成され、Ｐ個のバッファは出力バッファとして構成されるメモリハブと、
前記メモリハブに結合された複数のメモリ素子と
を含む少なくとも１つのメモリモジュールと、
前記メモリハブコントローラの各バッファと前記メモリハブの各バッファとの間で結合されたＭ個の信号線を有するバスであって、Ｍの値はＮおよびＰの合計に等しく、さらにＮおよびＰの値は、ＮおよびＰの最小値および最大値の範囲内で個別に変更されるバスと
を含むことを特徴とするメモリシステム。
【請求項１８】
前記メモリハブコントローラ内および前記メモリハブ内の各バッファに対する前記Ｍ個およびＮ個のバッファの値は、前記バスを介して前記信号を結合する比率に基づいて、変更されることを特徴とする請求項１７に記載のメモリシステム。
【請求項１９】
前記メモリハブコントローラは、前記バスを介して前記信号を結合する比率を判定するよう動作可能であり、かつ前記メモリハブコントローラ内および前記メモリハブ内の各バッファに対する前記Ｍ個およびＮ個のバッファの値は、前記バスを介して前記信号を結合する前記判定された比率に基づいて変更されることを特徴とする請求項１８に記載のメモリシステム。
【請求項２０】
前記メモリハブは、前記バスを介して前記信号を結合する比率を判定するよう動作可能であり、かつ前記メモリハブコントローラ内および前記メモリハブ内の各バッファに対する前記Ｍ個およびＮ個のバッファの値は、前記バスを介して前記信号を結合する前記判定された比率に基づいて変更されることを特徴とする請求項１８に記載のメモリシステム。
【請求項２１】
前記メモリハブコントローラ内および前記メモリハブ内の各バッファに対する前記Ｍ個およびＮ個のバッファの値は、前記メモリハブコントローラから前記メモリハブへ前記バスを介して前記信号を結合する比率に基づいて変更されることを特徴とする請求項１８に記載のメモリシステム。
【請求項２２】
前記メモリハブコントローラ内および前記メモリハブ内の各バッファに対する前記Ｍ個およびＮ個のバッファの値は、前記メモリハブから前記メモリハブコントローラへ前記バスを介して前記信号を結合する比率に基づいて変更されることを特徴とする請求項１８に記載のメモリシステム。
【請求項２３】
前記メモリハブコントローラ内および前記メモリハブ内の各バッファに対する前記Ｍ個およびＮ個のバッファの値は、前記バスを介して前記信号を結合するであろうと予想される比率に基づいて変更されることを特徴とする請求項１７に記載のメモリシステム。
【請求項２４】
前記メモリハブコントローラは、前記バスを介して前記信号を結合するであろうと予想される比率を判定するよう動作可能であり、かつ前記メモリハブコントローラ内および前記メモリハブ内の各バッファに対する前記Ｍ個およびＮ個のバッファの値は、前記バスを介して前記信号を結合するであろうと予想される前記判定された比率に基づいて変更されることを特徴とする請求項２３に記載のメモリシステム。
【請求項２５】
前記メモリハブは、前記バスを介して前記信号を結合するであろうと予想される比率を判定するよう動作可能であり、かつ前記メモリハブコントローラ内および前記メモリハブ内の各バッファに対する前記Ｍ個およびＮ個のバッファの値は、前記バスを介して前記信号を結合するであろうと予想される前記判定された比率に基づいて変更されることを特徴とする請求項２３に記載のメモリシステム。
【請求項２６】
前記メモリハブコントローラは、前記メモリシステムの初期化中にＮおよびＰの値を変更するよう動作可能であることを特徴とする請求項１７に記載のメモリシステム。
【請求項２７】
プロセッサベースシステムであって、
プロセッサバスを有するプロセッサと、
前記プロセッサバスに結合されたシステムコントローラであって、周辺装置ポートを有するシステムコントローラと、
前記プロセッサバスに結合されたメモリハブコントローラであって、出力ポートおよび入力ポートを有するメモリハブコントローラと、
前記システムコントローラの前記周辺装置ポートに結合された少なくとも１つの入力装置と、
前記システムコントローラの前記周辺装置ポートに結合された少なくとも１つの出力装置と、
前記システムコントローラの前記周辺装置ポートに結合された少なくとも１つのデータ記憶装置と、
メモリハブおよび前記メモリハブに結合された複数のメモリ素子を有する少なくとも１つのメモリモジュールと、
前記メモリハブコントローラの出力ポートと前記少なくとも１つのメモリモジュールの前記メモリハブとの間に結合されたダウンストリームバスであって、前記ダウンストリームバスはＭビットの幅を有し、Ｍの値は前記ダウンストリームバスの帯域幅を調整できるよう可変であり、さらにＭの値は、それを介して前記信号を結合する比率に基づいてさらに変更可能である前記ダウンストリームバスと、
前記メモリハブコントローラの入力ポートと前記少なくとも１つのメモリモジュールの前記メモリハブとの間に結合されたアップストリームバスであって、前記アップストリームバスはＮビットの幅を有し、ＮはＭより小さい固定値に等しく、Ｎの値はアップストリームバスの帯域幅を調節できるよう可変であり、さらにＮの値は、それを介して前記信号を結合する比率に基づいてさらに変更可能である前記アップストリームバスと
を含むことを特徴とするプロセッサベースシステム。
【請求項２８】
前記メモリハブコントローラは、前記ダウンストリームバスおよび前記アップストリームバスとの少なくとも１つを介して前記信号を結合する比率を判定するよう動作可能であり、かつＭおよびＮの値は、前記ダウンストリームバスおよび前記アップストリームバスの少なくとも１つを介して前記信号を結合する前記判定された比率に基づいて変更されることを特徴とする請求項２７に記載のプロセッサベースシステム。
【請求項２９】
前記メモリハブは、前記ダウンストリームバスおよび前記アップストリームバスの少なくとも１つを介して前記信号を結合する比率を判定するよう動作可能であり、かつＭおよびＮの値は、前記ダウンストリームバスおよび前記アップストリームバスの少なくとも１つを介して前記信号を結合する前記判定された比率に基づいて変更されることを特徴とする請求項２７に記載のプロセッサベースシステム。
【請求項３０】
ＭおよびＮの値は、前記メモリハブコントローラから前記メモリハブへ前記ダウンストリームバスを介して前記信号を結合する比率に基づいて変更されることを特徴とする請求項２７に記載のプロセッサベースシステム。
【請求項３１】
ＭおよびＮの値は、前記メモリハブから前記メモリハブコントローラへ前記アップストリームバスを介して前記信号を結合する比率に基づいて変更されることを特徴とする請求項２７に記載のプロセッサベースシステム。
【請求項３２】
ＭおよびＮの値は、前記ダウンストリームバスおよび前記アップストリームバスの少なくとも１つを介して前記信号を結合するであろうと予想される比率に基づいて変更されることを特徴とする請求項２７に記載のプロセッサベースシステム。
【請求項３３】
前記メモリハブコントローラは、前記ダウンストリームバスおよび前記アップストリームバスの少なくとも１つを介して前記信号を結合するであろうと予想される比率を判定するよう動作可能であり、かつＭおよびＮの値は、前記ダウンストリームバスおよび前記アップストリームバスの少なくとも１つを介して前記信号を結合するであろうと予想される前記判定された比率に基づいて変更されることを特徴とする請求項３２に記載のプロセッサベースシステム。
【請求項３４】
前記メモリハブは、前記ダウンストリームバスおよび前記アップストリームバスの少なくとも１つを介して前記信号を結合するであろうと予想される比率を判定するよう動作可能であり、かつＭおよびＮの値は、前記ダウンストリームバスおよび前記アップストリームバスの少なくとも１つを介して前記信号を結合するであろうと予想される前記判定された比率に基づいて変更されることを特徴とする請求項３２に記載のプロセッサベースシステム。
【請求項３５】
ＭおよびＮの値は、ＭおよびＮの最小値および最大値の範囲内で個別に変更されることを特徴とする請求項２７に記載のプロセッサベースシステム。
【請求項３６】
ＭおよびＮの値は、前記プロセッサベースシステムの初期化中に変更されることを特徴とする請求項２７に記載のプロセッサベースシステム。
【国際調査報告】
2007528077.tif 000005
2007528077.tif 000006