(57)【要約】【課題】  コンピュータ又は遠隔通信システムの構成要素と共に使用する相互接続システムを提供する。【解決手段】  データメモリシステム、コンピュータシステム、又はデータ経路がシステムの電力消費及びデータスキュー特性を制御するように配置されて作動される通信システムとすることができる、ネットワークにおいて要素を配置するための相互接続システム、装置、及び方法。構成可能なスイッチング要素を使用して、ノードでの相互接続を形成することができ、制御信号及び他の情報を使用して、構成可能なスイッチング要素の他の態様の電力ステータスが管理される。ネットワークのノード間で送信されているデータの時間遅延スキューは、ネットワークの１つ又はそれよりも多くのノードでデータの論理的及び物理的ライン割当てを交換することによって変更することができる。また、トレース経路指定の複雑さを低減する相互接続マザーボードを配置する方法も開示する。【選択図】      図７６
2008537265.tif 000002
【特許請求の範囲】
【請求項１】
入力リンク又は出力リンクの少なくとも一方を有するポートを各ノードが有し、各リンクが第１レーン及び第２レーンを更に含む複数のノードと、
複数のコネクタ付きメモリモジュールと、
各コネクタが前記複数のメモリモジュールの１つにインタフェースで接続した複数のコネクタを有するマザーボードと、
を含み、
前記複数のメモリモジュールの１つは、前記複数のノードの少なくとも１つと通信し、
各レーンは、信号受信器又は信号送信器の少なくとも一方を更に含み、
第１ノードの第１レーンは、第１信号を送信し、第２ノードは、該第２ノードの第１レーン上で受信した該第１信号が、該第２ノードの第２レーンの未来時電力ステータス信号を制御するように構成されている、
ことを特徴とする相互接続システム。
【請求項２】
前記複数のノードのノードが、前記メモリモジュールに装着されていることを特徴とする請求項１に記載のシステム。
【請求項３】
前記第２ノードは、第１ポート及び第２ポートを有し、該第２ノードの前記第１レーン及び該第２ノードの前記第２レーンは、異なるポートに関連付けられていることを特徴とする請求項１に記載のシステム。
【請求項４】
前記未来時は、相互接続システムの前記ノードの位置に依存する時間、又は前記制御信号に包含された時間値のうちの一方である値を有することを特徴とする請求項１に記載のシステム。
【請求項５】
複数の第２レーンの各々に関連する前記未来時値は、別々に指定されることを特徴とする請求項１に記載のシステム。
【請求項６】
前記複数のノードの各々に関連する前記未来時値は、設定可能であることを特徴とする請求項１に記載のシステム。
【請求項７】
第１ポートによって受信した前記第１信号は、第２ポートのステータスを制御することを特徴とする請求項１に記載のシステム。
【請求項８】
前記第１ポートの出力レーンのステータスは、前記第１信号によって判断された未来時で変更されることを特徴とする請求項７に記載のシステム。
【請求項９】
各ノードは、前記データ第２信号が、該ノードによって受信されたデータの宛先を制御するように構成されていることを特徴とする請求項１に記載のシステム。
【請求項１０】
前記宛先は、ローカルからノード、又はポートのうちの一方から選択されることを特徴とする請求項９に記載のシステム。
【請求項１１】
第１ポートによって受信された前記第１信号は、該第１ポートの出力レーンのステータスを制御することを特徴とする請求項１に記載のシステム。
【請求項１２】
入力リンク又は出力リンクの少なくとも一方を有するポートを各ノードが有し、各リンクが複数のレーンを更に含む複数のノードと、
複数のコネクタ付きメモリモジュールと、
前記複数のメモリモジュールにインタフェースで接続するための複数のコネクタを有するマザーボードと、
を含み、
前記ノードは、第１信号が、前記複数のレーンの選択されたレーン上で受信されるように構成可能である、
ことを特徴とする相互接続システム。
【請求項１３】
前記複数のノードのノードが、前記複数のメモリモジュールのメモリモジュールに装着されていることを特徴とする請求項１２に記載の相互接続システム。
【請求項１４】
第２信号が、前記複数のレーンの別のレーン上で受信されることを特徴とする請求項１２に記載の相互接続システム。
【請求項１５】
前記第１信号及び前記第２信号は、前記複数のレーンの別々のレーン上で受信されることを特徴とする請求項１３に記載の相互接続システム。
【請求項１６】
前記ノード構成は、再構成可能であることを特徴とする請求項１２に記載の相互接続システム。
【請求項１７】
前記第１信号及び前記第２信号は、デジタルデータであることを特徴とする請求項１２に記載の相互接続システム。
【請求項１８】
入力リンク又は出力リンクの少なくとも一方を有するポートを各ノードが有し、各リンクが第１レーン及び第２レーンを更に含む複数のノードと、
複数のメモリモジュールにインタフェースで接続するための複数のコネクタを有し、前記第１レーンによって受信された信号に基づいて第２レーンの機能の未来時ステータスを制御するマザーボードと、
を含むことを特徴とする相互接続システム。
【請求項１９】
前記ステータス変更は、電源オン、電源オフ、又は待機のうちの１つから選択された状態の間で行われることを特徴とする請求項１８に記載の相互接続システム。
【請求項２０】
前記ステータス変更は、電源オン又は電源オフの一方から選択された状態の間で行われることを特徴とする請求項１９に記載の相互接続システム。
【請求項２１】
前記電源オン状態は、前記第１又は前記第２信号の送信又は受信の少なくとも一方を可能にし、前記待機状態は、該電源オン状態よりも低い電力消費を有し、前記電源オフ状態は、該待機状態に比べてより低い電力消費条件を有することを特徴とする請求項１９に記載の相互接続システム。
【請求項２２】
各レーンが、データワードのビットを含むデータ信号の送信又は受信の少なくとも一方が可能である複数の信号レーン、
を含み、
前記データワードは、第１ビット及び第２ビットを有し、該第１ビット及び該第２ビットの各々は、該第１ビットと該第２ビット間の時間遅延差が、該ワードが前記信号レーンの遠位端で受信された時に変更されるように、２つの信号ライン間で論理的に交換される、
ことを特徴とする相互接続システム。
【請求項２３】
前記論理的交換は、前記信号ラインの近位端で行われることを特徴とする請求項２２に記載の相互接続システム。
【請求項２４】
前記論理的交換の割当ては、前記信号ラインの前記遠位端で行われることを特徴とする請求項２２に記載の相互接続システム。
【請求項２５】
前記遠位端でのビットの前記論理的割当ては、該ビットが前記近位端におけるものと同じ論理的順序になるように変更されることを特徴とする請求項２２に記載の相互接続システム。
【請求項２６】
レーンを有するリンクによって接続されたネットワークを形成する複数のノードと、
複数のメモリモジュールにインタフェースで接続するための複数のコネクタを有するマザーボードと、
を含み、
第１ノードが、データの送信元であり、第２ノードが、データの宛先であり、該第１ノード又は該第２ノードの少なくとも一方は、レーンへのデータの論理的割当てを該第２ノードでの該レーン上のデータの到着時間の差が変更されるように交換するように構成されている、
ことを特徴とする相互接続システム。
【請求項２７】
前記複数のノードのノードが、前記複数のメモリモジュールのメモリモジュールに装着されていることを特徴とする請求項２６に記載の相互接続システム。
【請求項２８】
前記データは、少なくとも２ビットを有するワードを含み、第１ビットが、第１レーンに割り当てられ、第２ビットが、第２レーンに割り当てられていることを特徴とする請求項２２に記載の相互接続システム。
【請求項２９】
前記到着時間の差は、前記データが読み取られる前記第２ノードのロケーションで変更されることを特徴とする請求項２２に記載の相互接続システム。
【請求項３０】
前記到着時間の差は、前記データが脱スキューされる前記第２ノードのロケーションで変更されることを特徴とする請求項２２に記載の相互接続システム。
【請求項３１】
モジュールコントローラを更に含み、
前記第１ノードへの前記入力でのワードのビットのレーンへの前記論理的割当ては、該ビットが前記第２ノードで所定の論理的順序で受信されるようなものである、
ことを特徴とする請求項２６に記載の相互接続システム。
【請求項３２】
前記モジュールコントローラ、前記第１ノード、又は前記第２ノードのうちの少なくとも１つは、該第２ノードでの前記受信データが、該モジュールコントローラ又は該第１ノードの一方への入力におけるものと同じ論理的順序を有するように構成されていることを特徴とする請求項２２に記載の相互接続システム。
【請求項３３】
前記論理的割当ては、前記リンクの送信側で行われることを特徴とする請求項２２に記載の相互接続システム。
【請求項３４】
前記論理的割当ては、前記リンクの受信側で行われることを特徴とする請求項２２に記載の相互接続システム。
【請求項３５】
前記論理的割当ては、前記第１ノードと前記第２ノードの間に配置された第３ノードで行われることを特徴とする請求項２２に記載の相互接続システム。
【請求項３６】
各々が複数のラインを有する入力ポート及び出力ポートと、
複数の入力ラインの各々が複数の出力ラインの１つに接続可能であり、それによって該複数の出力ライン上の信号間の時間スキューが、第１であるノードの前記出力ポートからの該出力ラインの遠位端と通信する入力ラインを有する入力ポートを有する第２ノードで測定された時に変更されるように構成されたスイッチと、
を含むことを特徴とするノード。
【請求項３７】
レーンを有するリンクによって接続されたネットワークを形成する複数のノードと、
信号の送信元である第１ノード及び信号の宛先である第２ノードと、
前記第１ノードと前記第２ノード間の２つ又はそれよりも多くのレーン上の信号間の時間遅延差を低減するための手段と、
を含むことを特徴とする相互接続システム。
【請求項３８】
読取−書込メモリデバイスと、
構成可能なスイッチング要素（ＣＳＥ）と、
を含み、
前記構成可能なスイッチング要素（ＣＳＥ）は、
信号の受信又は送信の少なくとも一方のための、複数の信号レーンを有する第１ポート、
を更に含み、
前記ＣＳＥは、受信信号を解釈して、未来時での前記複数の信号レーンの信号レーンの状態の変更、及び前記読取−書込メモリデバイス又は第２ポートの一方への受信信号の経路指定のうちの少なくとも一方を実行するように構成可能である、
ことを特徴とするメモリモジュール。
【請求項３９】
前記未来時は、前記制御信号によって判断された時間値又は構成可能な値の一方である値を有することを特徴とする請求項３８に記載のメモリモジュール。
【請求項４０】
前記複数のレーンの各々に関連する前記未来時の値は、別々に指定されることを特徴とする請求項３９に記載のメモリモジュール。
【請求項４１】
前記複数のノードの各々に関連する前記未来時の値は、構成可能であることを特徴とする請求項３８に記載のメモリモジュール。
【請求項４２】
前記複数の信号ラインの各々の状態は、電源アップ又は電源ダウンの一方であることを特徴とする請求項３８に記載のメモリモジュール。
【請求項４３】
前記複数の信号ラインの各々の状態は、電源アップ、電源ダウン、又は待機のうちの１つであることを特徴とする請求項３８に記載のメモリモジュール。
【請求項４４】
前記ＣＳＥは、前記受信信号ラインによって受信された論理データ割当てと、前記送信信号ラインによって送信されるデータの論理的割当てとが変更可能であるように構成可能であることを特徴とする請求項３８に記載のメモリモジュール。
【請求項４５】
第３ポートを更に含み、
前記ＣＳＥは、前記第１、前記第２、又は前記第３ポートのいずれかの信号ライン上で受信した信号が、該第１、該第２、又は該第３ポートの前記信号レーンの少なくとも１つで送信されるように構成可能である、
ことを特徴とする請求項３８に記載のメモリモジュール。
【請求項４６】
前記複数の前記送信及び受信信号ラインの少なくとも１つは、受信又は送信信号ラインとしてそれぞれ再構成可能であることを特徴とする請求項３８に記載のメモリモジュール。
【請求項４７】
信号が、固定時間間隔の間に前記レーンの少なくとも１つで送信されることを特徴とする請求項３８に記載のメモリモジュール。
【請求項４８】
前記固定時間間隔は、データエッジトラッキング、クロック、クロック位相、又はフレーム同期のうちの少なくとも１つが維持されるように判断されることを特徴とする請求項４６に記載のメモリモジュール。
【請求項４９】
データを記憶するための手段と、
入力又は出力インタフェースの１つ又はそれよりも多くの未来時ステータスを制御するための手段と、
前記出力インタフェース又は前記データを記憶するための手段の少なくとも一方にデータを経路指定するための手段と、
を含むことを特徴とするメモリモジュール。
【請求項５０】
前記データを経路指定するための手段は、構成可能なスイッチング要素（ＣＳＥ）であることを特徴とする請求項４９に記載のメモリモジュール。
【請求項５１】
第１メモリモジュールの出力インタフェース上の論理信号間の時間遅延差が、第２メモリモジュールの入力インタフェースで測定された時に変更されるように、信号に対する論理及び物理的インタフェース割当てを交換するための手段、
を更に含むことを特徴とする請求項４９に記載のメモリモジュール。
【請求項５２】
少なくとも２つの信号レーンと、
第１信号を受信するように構成された第１信号レーンと、
制御可能な状態を有する第２信号レーンと、
第１の第２信号レーンと第２の第２信号レーン間でデータを交換するための手段と、
を含むことを特徴とする構成可能なスイッチング要素（ＣＳＥ）。
【請求項５３】
第２レーンの前記状態は、電源オン、電源オフ、又は待機のうちの１つであることを特徴とする請求項５２に記載のＣＳＥ。
【請求項５４】
第２レーンの前記状態は、電源オン又は電源オフの一方であることを特徴とする請求項５２に記載のＣＳＥ。
【請求項５５】
前記第１信号レーンによって受信された前記第１信号は、前記第２信号レーンの前記状態を制御することを特徴とする請求項５２に記載のＣＳＥ。
【請求項５６】
第２信号が、前記第１信号レーン上で受信され、前記第２信号レーン上で受信された第２信号は、別の信号レーン又はメモリインタフェースの少なくとも一方に経路指定されることを特徴とする請求項５２に記載のＣＳＥ。
【請求項５７】
前記メモリインタフェースは、データを記憶するための手段に接続可能であることを特徴とする請求項５６に記載のＣＳＥ。
【請求項５８】
複数の信号レーンを有する、信号の受信又は送信の少なくとも一方のための第１ポート、
を含み、
受信した第１信号を解釈して、
前記受信した第１信号に基づいて前記複数の信号レーンの少なくとも１つの状態を変更すること、又は受信した第２信号をインタフェースに経路指定すること、
のうちの少なくとも一方を実行するように構成可能である、
ことを特徴とする、構成可能なスイッチング要素（ＣＳＥ）。
【請求項５９】
前記インタフェースは、メモリインタフェースであることを特徴とする請求項５８に記載のＣＳＥ。
【請求項６０】
前記受信した第２信号を第２ポートに経路指定するように構成可能であることを特徴とする請求項５８に記載のＣＳＥ。
【請求項６１】
前記複数の信号ラインの各々の前記状態は、電源アップ、電源ダウン、又は待機のうちの１つであることを特徴とする請求項５８に記載のＣＳＥ。
【請求項６２】
前記複数の信号ラインの各々の前記状態は、電源アップ又は電源ダウンの一方であることを特徴とする請求項６１に記載のＣＳＥ。
【請求項６３】
受信信号ライン上のデータの論理的割当てと送信信号ラインへのデータの論理的割当てとの間の論理的データ交換が行われるように構成可能であることを特徴とする請求項５８に記載のＣＳＥ。
【請求項６４】
第３ポートを有し、前記第１、前記第２、又は前記第３ポートのいずれかのいずれかの信号ライン上で受信された信号が、該第１、該第２、又は該第３ポートの前記複数の信号ラインのいずれかで送信されるように構成可能であることを特徴とする請求項５８に記載のＣＳＥ。
【請求項６５】
前記複数の前記送信及び受信信号ラインの１つ又はそれよりも多くは、受信又は送信信号ラインとしてそれぞれ再構成可能であることを特徴とする請求項５３に記載のＣＳＥ。
【請求項６６】
入力又は出力インタフェースの１つ又はそれよりも多くの未来時ステータスを制御するための手段と、
データを前記出力インタフェース又はデータを記憶するための手段に経路指定するための手段と、
を含むことを特徴とする、構成可能なスイッチング要素（ＣＳＥ）。
【請求項６７】
第１出力インタフェース及び第２出力インタフェース上の信号間の時間遅延差が、第２ＣＳＥの第２インタフェースで測定された時に変更されるように、信号に対する論理及び物理的インタフェースデータ割当てを交換するための手段、
を更に含むことを特徴とする請求項６６に記載のＣＳＥ。
【請求項６８】
マザーボード上のネットワークにノードを収容するための相互接続ネットワークであって、
上端及び下端を有し、第１、第２、及び第３リンク接続を形成する複数の信号ラインを含む接続インタフェースと、
前記接続インタフェースを結合する前記第１、第２、又は第３リンクの１つ又はそれよりも多くによって形成されたネットワークと、
を含み、
（ａ）前記第１から第３リンクが、該リンクの全てが第１の側の前記接続インタフェースから離れていくように配置され、
（ｂ）前記第１から第３リンクが、前記上端に最も近いラインを有するリンクが前記接続インタフェースの前記第１の側から離れていき、２つの残りのリンクが該接続インタフェースの第２の側から離れていき、かつ該接続インタフェースの該第２の側から離れていく該リンクが隣接して配置されるように配置され、
（ｃ）前記第１から第３リンクが、前記下端に最も近いラインを有するリンクが前記接続インタフェースの前記第２の側から離れていき、２つの残りのリンクが該接続インタフェースの前記第１の側から離れていき、かつ該接続の該第１の側から離れていく該リンクが隣接して配置されるように配置され、
（ｄ）前記第１から第３リンクが、前記上端に最も近いラインを有するリンク及び前記下端に最も近いラインを有するリンクが前記接続インタフェースの前記第１の側から離れていき、かつ最初の２つのリンク間の中間に配置されたラインを有するリンクが該接続インタフェースの前記第２の側から離れていくように配置され、かつ
（ｅ）、（ｆ）、（ｇ）、及び（ｈ）、ここで、（ｅ）、（ｆ）、（ｇ）、及び（ｈ）は、（ａ）、（ｂ）、（ｃ）、及び（ｄ）であり、前記上端及び下端は、前記コネクタに直交する軸の周りに１８０度ずつ（ａ）、（ｂ）、（ｃ）、及び（ｄ）のパターンを回転させることによって相互に交換される、
前記接続インタフェースの以上の構成の少なくとも２つは、トレースによって結合されている、
ことを特徴とする相互接続ネットワーク。
【請求項６９】
前記構成（ａ）から（ｈ）の少なくとも３つを含むことを特徴とする請求項６８に記載の相互接続ネットワーク。
【請求項７０】
前記リンクは、平坦なプリント配線アセンブリで配置されていることを特徴とする請求項６８に記載の相互接続ネットワーク。
【請求項７１】
前記リンクは、基板の層で導電性金属要素として配置されていることを特徴とする請求項６８に記載の相互接続ネットワーク。
【請求項７２】
少なくともメモリ回路が、前記基板上に配置されていることを特徴とする請求項６８に記載の相互接続ネットワーク。
【請求項７３】
少なくとも３つのコネクタインタフェースが、互いに並行に配置されていることを特徴とする請求項６８に記載の相互接続ネットワーク。
【請求項７４】
ネットワーク相互接続を配置する方法であって、
複数の接続インタフェースを、該接続インタフェースの上部が互いに対向して位置決めされ、かつ該接続インタフェースの下部が互いに対向して位置決めされるように配置する段階と、
（ａ）第１から第３リンクが、該リンクの全てが第１の側の前記接続インタフェースから離れていくように配置され、
（ｂ）前記第１から第３リンクが、前記上端に最も近いラインを有するリンクが前記接続インタフェースの前記第１の側から離れていき、２つの残りのリンクが該接続インタフェースの第２の側から離れていき、かつ該接続インタフェースの該第２の側から離れていく該リンクが隣接して配置されるように配置され、
（ｃ）前記第１から第３リンクが、前記下端に最も近いラインを有するリンクが前記接続インタフェースの前記第２の側から離れていき、２つの残りのリンクが該接続インタフェースの前記第１の側から離れていき、かつ該接続の該第１の側から離れていく該リンクが隣接して配置されるように配置され、
（ｄ）前記第１から第３リンクが、前記上端に最も近いラインを有するリンク及び前記下端に最も近いラインを有するリンクが前記接続インタフェースの前記第１の側から離れていき、かつ最初の２つのリンク間の中間に配置されたラインを有するリンクが該接続インタフェースの前記第２の側から離れていくように配置され、かつ
（ｅ）、（ｆ）、（ｇ）、及び（ｈ）、ここで、（ｅ）、（ｆ）、（ｇ）、及び（ｈ）は、（ａ）、（ｂ）、（ｃ）、及び（ｄ）であり、前記上端及び下端は、前記コネクタに直交する軸の周りに１８０度ずつ（ａ）、（ｂ）、（ｃ）、及び（ｄ）のパターンを回転させることによって相互に交換される、
以上の接続インタフェース構成の少なくとも２つが使用される、前記複数の接続インタフェース間に接続のネットワークを形成する段階と、
を含むことを特徴とする方法。
【請求項７５】
コンピュータと通信する第１インタフェースと、
ノードと通信するためのリンクを有する第２インタフェースと、
第１ノードと第２ノード間に配置されたリンクのレーン上の信号間の時間遅延差を判断するための手段、及び第１及び第２ノード間で通信するレーンに論理信号を割当て、該第２ノードで受信された該論理信号間の該時間遅延差を変更するための手段と、
を含むことを特徴とするネットワークコントローラ。
【請求項７６】
コンピュータインタフェースと、
信号を送信及び受信することができる第１データインタフェースと、
前記第１データインタフェースによって送信するためのアドレス値を発生するように構成され、かつ少なくとも２つの信号ラインの遅延差が受信側デバイスで受信した時に変更されるように、データ値を信号ラインに論理的に割り当てるように更に構成されたプロセッサと、
を含むことを特徴とするネットワークコントローラ。
【請求項７７】
各々が複数のラインを有する入力ポート及び出力ポートと、
複数の入力ラインの各々が複数の出力ラインの１つに選択的に接続され、それによって該複数の出力ライン上の信号間のスキューが、前記出力ポートから該ラインの遠位端と通信する入力ポートを有する第２ノードで測定された時に変更されるように構成されたスイッチと、
を含むことを特徴とするノード。
【請求項７８】
第１及び第２出力ポートを更に含み、該第１出力ポートは、メモリに接続するように構成されていることを特徴とする請求項７７に記載のノード。
【請求項７９】
複数のラインとメモリを取り付けるための手段とを有するリンクを各ノードが有するノードのツリーと、
複数のメモリモジュールにインタフェースで接続するための複数のコネクタを有するマザーボードと、
を含み、
前記リンクは、第１ライン及び第２ラインを更に含み、該第１ラインは、制御データを送信することができ、前記ノードは、制御データが該第２ラインの電力ステータスを制御することができるように構成されている、
ことを特徴とする相互接続システム。
【請求項８０】
前記ノードは、前記制御データが、前記第２ライン上の前記ノードによって受信されたデータの宛先を判断するように構成されていることを特徴とする請求項７９に記載のシステム。
【請求項８１】
複数の信号ラインと、
複数のメモリモジュールにインタフェースで接続するための複数のコネクタを有するマザーボードと、
を含み、
少なくとも２つの信号ラインに関連した第１ビット及び第２ビットを有するワードには、該２つの信号ラインの各々が、その時間遅延差が該信号ラインの遠位端で受信されたビットに対して変更されるように論理的に割り当てられる、
ことを特徴とする相互接続システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２００５年４月２１日申請の米国特許仮出願出願番号第６０／６７４，１８９号及び２００５年７月１１日申請の米国特許仮出願出願番号第６０／６９８，６２９号の恩典を請求し、各出願は、本明細書においてその全内容が引用により組み込まれている。
【背景技術】
【０００２】
一般的に、コンピュータ及び通信製品の進化は、構成要素の密度が増し、かつこのような構成要素のコストが経時的に減少するという「ムーアの法則」のような原理によって支配されている。これはまた、多くの場合に転送及び演算速度の増加も伴っている。これらの傾向は、多くの場合にワット損密度を増し、熱を消散するか、又は高温環境で作動するかのいずれかのための新しい解決法を要求している。高速回路では、信号伝播遅延と設計及び製造許容誤差の両方が、実際に得られる実現可能な速度に制限を課す場合がある。
【０００３】
現代のメモリシステムアーキテクチャは、コスト、性能、及び例えばシステムの総メモリ容量を更新する機能の間のトレードオフを示す場合がある。メモリ容量は、通常は、コネクタ／ソケットインタフェースを有するメモリモジュール又はカードによって更新される。これらのメモリモジュールは、多くの場合に、システムリソースを効率的に利用するためにバックプレーン上に配置されたバス又は相互接続配線に接続される。更新可能性に加えて、これらの現代のメモリシステムの多くはまた、グラフィックのような帯域幅集中アプリケーションに対して高処理機能を要求する。
【０００４】
設計で考察することができるシステムリソースは、例えば、集積回路ダイ領域、パッケージピン、信号ライントレース、コネクタ、バックプレーンボード領域、及び電力及び応答速度を含む。
【０００５】
メモリモジュールの１つの一般的なタイプは、「デュアルインラインメモリモジュール（ＤＩＭＭ）」である。ＤＩＭＭは、１つの長い縁部に沿って両側に配置された電気接点ポイントを有する矩形の薄型の回路基板である。接点ポイントは、ＤＩＭＭがＤＩＭＭメモリソケットに挿入された時にメインボードのメモリバスへの電気接続を形成する。
【０００６】
メモリシステムは、モジュールの使用を通じて更新経路を提供する。ソケット及びコネクタインタフェースを利用することができ、それによって各モジュールを取り除いてより速いか又は高容量を含むメモリモジュールによって交換することができ、又は単に故障したメモリモジュールと交換することができる。メモリシステムは、込み合っていないソケット又はモジュールの全容量未満（すなわち、空きソケット／コネクタ）を用いて構成し、メモリ拡張モジュールによって後で増加する容量に備えることができる。
【０００７】
コンピュータ及び通信システムで使用されるメモリは、以下に限定されるものではないが、全てのタイプのランダムアクセスメモリ（ＲＡＭ）（例えば、Ｓ−ＲＡＭ、Ｄ−ＲＡＭ）と、プログラマブル読取専用メモリ（ＰＲＯＭ）と、電子的可変読取専用メモリ（ＥＰＲＯＭ）と、フラッシュメモリと、「磁気抵抗ランダムアクセスメモリ（ＭＲＡＭ）」、「強誘電体ＲＡＭ（ＦＲＡＭ又はＦｅＲＡＭ）」、並びにＮＲＡＭ（ナノチューブベース／不揮発性ＲＡＭ）及び相変化メモリ（ＰＲＡＭ）を含む全てのタイプの磁気メモリと、磁気ディスク記憶媒体とを含む。将来的に使用に適すると考えられる他のメモリは、量子デバイスなどを含む。
【０００８】
柔軟で費用対効果が大きい更新機能を提供すると同時にマイクロプロセッサ作動周波数に遅れない高帯域を提供するメモリシステム及びコンピュータシステムアーキテクチャ又は相互接続トポロジーに対する必要性が存在する。代替的に、同じか又は同様の作動特性に対してより低い電力消費、より短いメモリ待ち時間、及び同様の属性も必要である。
【０００９】
現在、メモリシステムのサイズ及び性能は、電力消費により、電力消費及びデバイス密度に関連した冷却容量により、例えばデータスキューによる応答時間により、メモリ要素を相互接続するのに必要な回路基板の複雑さにより、及びこれらの考慮事項の経済的コストによって制限されるであろう。メモリ及び通信システムアーキテクチャ及び装置における改良は、これらの問題の一部又は全てを軽減するために必要である。
【００１０】
【特許文献１】米国特許仮出願出願番号第６０／６７４，１８９号
【特許文献２】米国特許仮出願出願番号第６０／６９８，６２９号
【発明の開示】
【００１１】
コンピュータ又は遠隔通信システムの構成要素と共に使用する相互接続システムを開示し、相互接続システムは、複数のノードを有し、各ノードは、入力リンク又は出力リンクの少なくとも一方を備えたポートを有する。各リンクは、レーン（ライン）を有する。第１ノードの第１レーンは、制御データを送信し、第２ノードは、第２ノードの第１レーン上で受信した制御信号が第２ノードの第２レーンの未来時ステータス変化を制御するように構成可能である。第１ポートの出力レーンのステータスは、制御信号によって判断される未来時に変更することができる。未来時は、固定された時間、相互接続システムのノードの位置に依存した時間、又は制御信号に包含された時間値のうちの少なくとも１つである値を有することができる。
【００１２】
別の態様では、複数のノードを含み、各ノードが入力リンク又は出力リンクの少なくとも一方を備えたポートを有し、更に、各リンクが第１レーン及び第２レーンを含むような相互接続システムを開示する。相互接続システムは、更に、各々が複数のメモリモジュールの１つにインタフェースで接続している複数のコネクタを有するマザーボードを含む。メモリモジュールは、複数のノードの少なくとも１つと通信することができる。各信号レーンは、信号受信器又は信号送信器の少なくとも一方を有する。第１ノードの第１レーンが第１信号を送信する時に、第２ノードは、第２ノードの第１レーン上で受信した第１信号が第２ノードの第２レーンの未来時電力ステータスを制御するように構成されている。
【００１３】
各ノードは、制御データがノードによって受信したデータの宛先を管理するように構成可能とすることができる。データの宛先は、ローカルからノード、又はポートのうちの一方から選択することができる。
【００１４】
別の態様では、相互接続システムは、複数のノードを有し、各ノードは、入力リンク又は出力リンクの少なくとも一方を有するポートを有し、各リンクは、複数のレーンを更に含み、ノードは、制御信号を複数のレーンの選択されたレーン上で受信することができるように構成可能とすることができる。制御データ及び信号データは、同じか又は異なるレーン上で受信することができる。信号データは、アナログデータ又はデジタルデータとすることができる。デジタルデータは、ワードとして編成することができる。ワードは、本明細書ではワードのビット数を制限することなく、又はワードがシリアルで又はパラレルで送信されるか否かに関わらず、具体的に指示される場合を除いて一般的な意味で使用される。従って、ワードは、例えば、「ニブル」、「バイト」、全ワード、ダブルワード、パリティのある及びパリティのないワードのうちのいずれか１つとすることができ、かつビットの標準的でない数を有することができる。
【００１５】
別の態様では、相互接続システムは、複数のノードを有し、各ノードは、入力リンク又は出力リンクの少なくとも一方を有するポートを有し、各リンクは、更に、第１レーンによって受信した信号に基づいて第２レーンの未来時ステータスを制御するための第１レーン及び第２レーン手段を含む。ステータス変更は、電源オン、電源オフ、又は待機のうちの１つから選択される状態の間で行うことができる。電源オン状態は、制御又はデータ信号の送信又は受信の少なくとも一方を可能にすることができ、待機状態は、電源オン状態よりも低い電力消費を有し、電源オフ状態は、待機状態と比較して低い電力消費条件を有する。
【００１６】
更に別の態様では、相互接続システムは、複数の信号レーンを有し、各レーンは、データワードのビットを含むデータ信号の送信又は受信の少なくとも一方が可能とすることができる。データワードは、第１ビット及び第２ビットを有することができ、第１ビット及び第２ビットの各々は、ワードが信号レーンの遠位端で受信された時に第１ビットと第２ビットの間の時間遅延差を変えられるように、２つの信号ライン間で論理的に交換することができる。ビットの交換は、信号ラインの近位端又は遠位端のいずれかで行うことができる。その後、ビットは、ワードが受信側ノードでワードのビットへのデータの正しい論理的割当てを有するように再配置することができる。代替的に、ビットは、ビットが受信側ノードでその配置にあるように送信側ノードで配置することができる。
【００１７】
更に別の態様では、相互接続システムは、複数のノードを有し、ノードは、レーンを有するリンクによって接続したネットワークを形成する。第１ノードは、データの送信元とすることができ、第２ノードは、データの宛先とすることができ、第１ノード又は第２ノードの少なくとも一方は、第２ノードでのデータの到着時間の差が変わるようにレーンへのデータの論理的割当てを交換するように構成することができる。
【００１８】
データは、少なくとも２ビットを有するワードとすることができ、第１ビットは、第１レーンに割り当てられ、第２ビットは、第２レーンに割り当てられる。モジュールコントローラは、ビットが第２ノードで望ましい順序で受信されるように、入力でのレーンに対するワードのビットの論理的割当てを第１ノードに行うことができる。代替的に、論理再割当ては、第１ノードと第２ノード間に配置された第３ノードで実行することができる。
【００１９】
更に別の態様では、相互接続システムは、複数のノードを有し、ノードは、レーンを有するリンクによって接続したネットワークを形成する。第１ノードは、信号の送信元とすることができ、第２ノードは、信号の宛先とすることができ、第１ノードと第２ノード間の２つ又はそれよりも多くのレーン上での信号間の時間遅延差を低減するための手段が設けられる。
【００２０】
入力ポート及び出力ポートを有するノードを開示し、入力ポート及び出力ポートの各々は、複数のラインを有することができる。スイッチは、複数の入力ラインの各々が出力ラインの１つに接続され、それによって第１ポートの出力ポートからの出力ラインの遠位端と通信する入力ラインを有する入力ポートを有する第２ノードで測定された時に複数の出力ライン上の信号間の時間スキューを変えられるように構成可能とすることができる。
【００２１】
読取−書込メモリデバイス及び構成可能なスイッチング要素（ＣＳＥ）を有するメモリモジュールを開示する。ＣＳＥは、受信信号又は送信信号の少なくとも一方のための第１ポートを有することができ、第１ポートは、複数の信号レーンを有することができる。ＣＳＥは、例えば、未来時に複数の信号レーンの状態を変化させる段階、受信した信号を読取−書込メモリデバイスに経路指定する段階、又は受信した信号を第２ポートに経路指定する段階を含むことができる機能を実行するように受信した制御信号を解釈するように構成可能とすることができる。複数の信号ラインの各々の状態は、例えば、電源アップ、又は電源ダウン、又は待機のうちの１つとすることができる。
【００２２】
別の態様では、未来時は、固定された時間、制御信号によって判断された時間値、又は設定可能な値のうちの少なくとも１つである値を有し、複数のレーンの各々に対して別々に判断可能とすることができる。
【００２３】
別の態様では、メモリモジュールのＣＳＥは、受信信号ラインによって受信した論理データ割当て、及び送信信号ラインによって送信されるデータの論理的割当てが変更可能であるように構成可能とすることができる。
【００２４】
メモリモジュールＣＳＥは、メモリモジュールの第１、第２、又は第３ポートのいずれかのいずれか１つの信号ライン上で受信した信号を第１、第２、又は第３ポートの信号レーン上のいずれかで送信することができるように構成可能とすることができる。送信及び受信信号ラインは、単方向、双方向、又は可逆レーンとすることができる。
【００２５】
更に別の態様では、データ信号、制御信号、又は同期信号のうちの少なくとも１つは、固定時間間隔中にＣＳＥ又はメモリモジュールに接続しているリンクのライン又はレーン上の各々で送信される。固定時間間隔は、データエッジトラッキング、クロック、クロック位相、又はフレーム同期のうちの少なくとも１つが維持されるように判断することができる。
【００２６】
データを記憶するための手段、１つ又はそれよりも多くの入力又は出力インタフェースの未来時ステータスを制御するための手段、及び出力インタフェース又はデータを記憶するための手段の少なくとも一方にデータを経路指定するための手段を有するメモリモジュールを開示する。
【００２７】
別の態様では、メモリモジュールは、第２メモリモジュールの入力インタフェースで測定される時に第１メモリモジュールの出力インタフェース上の論理信号間の時間遅延差が変わるように、信号のための論理及び物理的インタフェース割当てを交換するための手段を有する。別の態様では、論理信号間の遅延差時間を変えることができるように信号のための論理及び物理的インタフェース割当てを交換するための手段は、以下に限定されるものではないが、モジュールが取り付けられたボードであるモジュール上の電気トレースの固定配置と、物理的か又は近位かに関わらずマルチチップモジュールのみの又は他の固定及び／又は動的手段に結合したチップ間のチップパッケージ基板、接続とを含むことができる。
【００２８】
別の態様では、論理信号間の時間遅延差を変えることができるように信号のための論理及び物理的インタフェース割当てを交換するための手段は、構成可能なスイッチング要素（ＣＳＥ）の内側で、並びにデジタルスイッチ、アナログ／ＲＦスイッチ、マイクロマシン技術（ＭＥＭＳ）デバイスのような機械スイッチ、構成可能な近接通信デバイス又は他の類似のデバイスをそれだけで又は他の動的又は固定手段と結合させて含むことができる２つ又はそれよりも多くのＣＳＥ間に配置された他のスイッチング要素によって実行される動的スイッチング機能を含むことができる。
【００２９】
少なくとも２つの信号ラインを有する構成可能なスイッチング要素（ＣＳＥ）を開示し、第１信号ラインは、制御信号を受信するように構成することができ、第２信号ラインは、制御可能な状態を有することができる。第２ラインの状態は、例えば、電源オン、電源オフ、又は待機のうちの１つとすることができる。第１信号ラインによって受信した制御信号は、第２信号ラインの状態を制御する。信号ラインの少なくとも１つで受信したアドレスデータと別の信号ライン上で受信したデータとは、別の信号ライン又はメモリインタフェースの少なくとも一方に経路指定することができる。メモリインタフェースは、データを記憶するための手段に接続可能である。
【００３０】
別の態様では、構成可能なスイッチング要素（ＣＳＥ）は、受信又は送信信号の少なくとも一方のための第１インタフェースを有し、インタフェースは、複数の信号ラインを有し、ＣＳＥは、受信した制御信号に基づいて第１インタフェース又は第２インタフェースの複数の信号ラインのうちの１つの状態を変化させる段階、又はメモリインタフェース、受信又は送信信号のための第２インタフェース、又は第１インタフェースの送信態様とすることができる別のインタフェースに受信信号を経路指定する段階のうちの少なくとも一方を実行するために受信制御信号を解釈するように構成可能である。複数の信号ラインの各々の状態は、例えば、電源アップ、電源ダウン、又は待機のうちの１つである。
【００３１】
別の態様では、ＣＳＥは、受信信号ライン間の論理的データ交換と、送信信号ラインへのデータの論理的割当てとが実行されるように構成可能である。第１、第２、又は第３インタフェースのいずれかのいずれかの信号ライン上で受信した信号が、第１、第２、又は第３インタフェースの複数の信号ラインのいずれかで送信されるように構成可能な第３インタフェースが存在することができる。
【００３２】
１つ又はそれよりも多くの入力又は出力インタフェースの未来時ステータスを制御するための手段と、出力インタフェース又はデータを記憶するための手段にデータを経路指定するための手段とを有する構成可能なスイッチング要素（ＣＳＥ）を開示する。
【００３３】
別の態様では、ＣＳＥは、第２ＣＳＥのインタフェースで測定される時に第１出力インタフェース及び第２出力インタフェース上の信号間の時間遅延差が変わるように、信号のための論理及び物理的インタフェース割当てを交換するための手段を有する。
【００３４】
上端及び下端との接続インタフェースを有し、第１、第２、及び第３リンク接続を形成する複数の信号ラインを有することができるネットワークにノードを収容するための相互接続ネットワークを開示し、ネットワークは、接続インタフェースを結合する第１、第２、又は第３リンクの１つ又はそれよりも多くによって形成され、接続インタフェースの以下の構成の少なくとも２つが、トレースによって結合される。
（ａ）リンクの全てが第１の側の接続インタフェースから離れていくように第１から第３リンクが配置される、
（ｂ）上端に最も近いラインを有するリンクが接続インタフェースの第１の側から離れていき、２つの残りのリンクが接続インタフェースの第２の側から離れていき、かつ接続インタフェースの第２の側から離れていくリンクが隣接して配置されるように、第１から第３リンクが配置される、
（ｃ）下端に最も近いラインを有するリンクが接続インタフェースの第２の側から離れていき、２つの残りのリンクが接続インタフェースの第１の側から離れていき、かつ接続の第１の側から離れていくリンクが隣接して配置されるように、第１から第３リンクが配置される、
（ｄ）上端に最も近いラインを有するリンク及び下端に最も近いラインを有するリンクが接続インタフェースの第１の側から離れていき、かつ最初の２つのリンク間の中間に配置されたラインを有するリンクが接続インタフェースの第２の側から離れていくように、第１から第３リンクが配置される、かつ
（ｅ）、（ｆ）、（ｇ）、及び（ｈ）、ここで（ｅ）、（ｆ）、（ｇ）、及び（ｈ）は、（ａ）、（ｂ）、（ｃ）、及び（ｄ）であり、上端及び下端は、コネクタに直交する軸の周りに１８０度ずつ（ａ）、（ｂ）、（ｃ）、及び（ｄ）のパターンを回転させることによって相互に交換される。
【００３５】
別の態様では、リンクは、平坦なプリント配線アセンブリの層に配置することができ、又は基板上の層の金属要素として配置することができる。メモリ手段及びＣＳＥなどの能動及び受動回路のような他の構成要素は、同じ基板、配線アセンブリ上に製造することができる。
【００３６】
別の態様では、少なくとも３つのコネクタインタフェースが互いに並行に配置される。
【００３７】
ネットワーク相互接続を配置する方法を開示し、本方法は、接続インタフェースの上部が互いに相対するように位置決めされ、接続インタフェースの下部が互いに相対するように配置されるように複数の接続インタフェースを配置する段階と、以下の接続インタフェース構成のうちの少なくとも２つが使用される、複数の接続インタフェース間に接続のネットワークを形成する段階とを含む。
（ａ）リンクの全てが第１の側の接続インタフェースから離れていくように第１から第３リンクが配置される、
（ｂ）上端に最も近いラインを有するリンクが接続インタフェースの第１の側から離れていき、２つの残りのリンクが接続インタフェースの第２の側から離れていき、かつ接続インタフェースの第２の側から離れていくリンクが隣接して配置されるように、第１から第３リンクが配置される、
（ｃ）下端に最も近いラインを有するリンクが接続インタフェースの第２の側から離れていき、２つの残りのリンクが接続インタフェースの第１の側から離れていき、かつ接続の第１の側から離れていくリンクが隣接して配置されるように、第１から第３リンクが配置される、
（ｄ）上端に最も近いラインを有するリンク及び下端に最も近いラインを有するリンクが接続インタフェースの第１の側から離れていき、かつ最初の２つのリンク間の中間に配置されたラインを有するリンクが接続インタフェースの第２の側から離れていくように、第１から第３リンクが配置される、かつ
（ｅ）、（ｆ）、（ｇ）、及び（ｈ）、ここで（ｅ）、（ｆ）、（ｇ）、及び（ｈ）は、（ａ）、（ｂ）、（ｃ）、及び（ｄ）であり、上端及び下端は、コネクタに直交する軸の周りに１８０度ずつ（ａ）、（ｂ）、（ｃ）、及び（ｄ）のパターンを回転させることによって相互に交換される。
【００３８】
コンピュータと通信する第１インタフェースと、ノードへのリンクを有する第２インタフェースと、第１ノードと第２ノード間に配置されたリンクのレーン上の信号間の時間遅延差を判断するための手段とを有するネットワークコントローラを開示する。
【００３９】
別の態様では、ネットワークコントローラは、第２ノードで受信した論理信号間の時間遅延差を変えるために、第１ノードと第２ノード間で通信するように配置されたレーンに論理信号を割り当てる手段を有することができる。
【００４０】
更に別の態様では、ネットワークコントローラは、信号を送信及び受信することができる第１データインタフェースであるコンピュータインタフェースと、第１データインタフェースによって送信するためのアドレス値を発生するように構成されたプロセッサとを有することができ、プロセッサは、少なくとも２つの信号ライン上の論理データの遅延差を受信側デバイスで受信する時に変えられるように、データ値を信号ラインに論理的に割り当てるように更に構成されている。
【００４１】
本発明は、以下のいくつかの例示的実施形態の詳細説明及び添付図面から更に完全に理解されるであろうが、これらは、説明及び理解のためのみであり、図示の特定的な実施形態に本発明を制限するように解釈すべきではない。
【発明を実施するための最良の形態】
【００４２】
例示的な実施形態は、図面と共により良く理解することができるであろうが、これらの実施形態は、制限的な性質を有するものではない。同じか又は異なる図面での同様に番号を付けられた要素は、同等の機能を果たす。要素は、番号を付けるか又は頭文字で示すか、又はその両方のいずれかとすることができ、表示間の選択は、単に明確にするために行われ、それによって数字で示す要素、及び頭文字又は英数字インジケータで示す同じ要素は、そのような方式で区別すべきではない。
【００４３】
説明する方法及び図面に示す装置は、機械実行可能命令、例えば、ソフトウエア又はハードウエアで又は両方の結合から成るか又は具体化されることが認められるであろう。命令は、説明するオペレーションを実行するように、汎用コンピュータ、ＤＳＰ、又はアレイプロセッサのような専用プロセッサなどに命令によってプログラムさせるのに使用することができる。代替的に、オペレーションは、説明するオペレーションを実行するためのハードワイヤド論理又はファームウエア命令を包含する専用ハードウエア構成要素により、又はアナログ回路を含むことができるプログラムされたコンピュータ構成要素及びカスタムハードウエア構成要素のいずれかの組合せによって実行することができる。
【００４４】
本方法は、少なくとも部分的には、本方法を実行するようにコンピュータ（又は他の電子デバイス）をプログラムするのに使用することができる命令を記憶した機械可読媒体を含むことができるコンピュータプログラム製品として提供することができる。この明細書の目的では、「機械可読媒体」という語は、コンピュータ機械又は専用ハードウエアによって実行される命令のシーケンス又はデータを記憶又は符号化することができ、更に本発明の方法又は機能のいずれか１つを機械又は専用ハードウエアに実行させるいずれかの媒体を含むものと解釈すべきである。「機械可読媒体」という語は、従って、以下に限定されるものではないが、固体メモリ、光及び磁気ディスク、磁気メモリ、光メモリ、及び搬送波信号を含むものと解釈すべきである。コンピュータによって実行される方法の説明は、人によって実行される同じ方法を排除すべきではない。
【００４５】
例えば、制限的ではないが、機械可読媒体は、読取専用メモリ（ＲＯＭ）；全てのタイプのランダムアクセスメモリ（ＲＡＭ）（例えば、Ｓ−ＲＡＭ、Ｄ−ＲＡＭ）；プログラマブル読取専用メモリ（ＰＲＯＭ）；電子的可変読取専用メモリ（ＥＰＲＯＭ）；磁気ランダムアクセスメモリ；磁気ディスク記憶媒体；フラッシュメモリ；伝播信号の電気、光、音響又は他の形式（例えば、搬送波、赤外線信号、又はデジタル信号）を含むことができる。
【００４６】
更に、作用を行うか又は結果を引き起こすものとして、１つの形式又は別の形式（例えば、プログラム、手順、処理、アプリケーション、モジュール、アルゴリズム、又は論理）でのソフトウエアについて言及することは、当業技術では一般的である。このような表現は、コンピュータ又は同等のデバイスによるソフトウエアの実行が、コンピュータのプロセッサ又は同等のデバイスに作用を実行させるか又は結果を生じさせることを表す単に便利な言い方であることは、当業者によって公知の通りである。
【００４７】
特定的な実施例を説明する時に、実施例は、特定の特徴、構造、又は特性を含むことができるが、全ての実施例が必ずしも特定の特徴、構造、又は特性を含まなくてもよい。これは、２つ又はそれよりも多くの実施例の特徴、構造、又は特性が、これらの結合が明確に除外される場合を除いて結合すべきではない又は結合できないという忠告又は含意として解釈すべきではない。特定の特徴、構造、又は特性が実施例と関連させて説明される時に、当業者は、明確に説明されているか否かに関わらず、他の実施例と関連したこのような特徴、構造、又は特性を実行することができる。
【００４８】
メモリモジュールコネクタインタフェースのような本明細書に説明するコネクタ又はコネクタインタフェースは、物理的に分離可能なインタフェースに制限されず、雄コネクタ又はインタフェースは、雌コネクタ又はインタフェースに噛み合う。コネクタインタフェースはまた、メモリモジュールからのリード、半田ボール、又は接続が回路基板に半田付けされるインタフェースのような物理的インタフェース又は接続のどのようなタイプも含む。例えば、スタック化ダイ方法では、いくつかの集積回路ダイ（例えば、メモリデバイス及びバッファデバイス）が互いの上部に積み重ねられ、基板がコネクタインタフェースのボール格子アレイタイプによってベース及びメモリコントローラ又はプロセッサへのインタフェースを形成する。別の例として、メモリデバイス及びバッファデバイスは、可撓性のテープ相互接続と、ボール格子アレイタイプコネクタインタフェース又は物理的に分離可能なソケットタイプコネクタインタフェースの１つによるメモリコントローラへのインタフェースを通じて相互接続することができる。接続タイプは、集積回路チップ間のインタフェース、基板上、基板間、又はプリント回路基板上の相互接続導体などを含むことができる。
【００４９】
メモリモジュールは、メモリを含むことができ、また、メモリのためのコントローラ、構成可能なスイッチング要素（ＣＳＥ）、及び信号の処理、送信、又は受信のための他の回路を有することができる。しかし、メモリモジュールは、メモリを含むだけで、他の要素の１つ又はそれよりも多くは、別々に取り付けることができる。実際の物理的態様及びコンピュータ態様が、多種多様な同等の方法で配置することができることを当業者が理解する時に、具体的に示されていない限り、特定のモジュールへの機能の割当ては、説明における便宜性を目的とする。
【００５０】
「バス」又は「リンク」は、１つの信号ライン又は複数の信号ライン又は「レーン」を意味し、各々は、「送受信する」（すなわち、送信する、受信する、又はこれら両方のいずれか）のための１つ又はそれよりも多くの接続ポイントを有する。各接続ポイントは、送受信器（すなわち、送信器−受信器）又は単一の送信器又は受信器回路の１つに接続又は連結することができる。接続又は連結は、電気で、光で、磁気で、量子交絡で、又はその均等物によって供給される。同じか又は類似の手段による他の電気接続は、電力、接地、補助信号、及び制御などのような付加的なシステム要件の満足を提供するために使用される。このような付加的な接続は、時には説明を明確にするように説明されるが、このような付加的な接続は、当業者には公知であり、どの実施例でのこれらの接続の説明がなくても、これらを含むことを除くものと解釈すべきではない。
【００５１】
リンクは、信号ライン又はレーンで信号を運ぶ。信号は、一般的に、クロック及び制御信号、アドレス信号、指令信号、及びデータ信号を含むいくつかのカテゴリのいずれかになる。データ信号は、メモリデバイス又はインタフェースに記憶することができるか又はこれらから検索することができるデータを運ぶ。アドレス信号は、データがそこから読み取られるか又はそこに書き込まれるメモリデバイス又はシステム内のロケーション又はロケーションの範囲を示し、１つ又は複数のメモリデバイス又はインタフェースのどれがアクセスされるかを選択することができる。指令信号は、オペレーションのどのタイプ、例えば、読取り、書込み、リフレッシュが実行されるかに関して、及び場合によっては、いくつかのアクセスモード（バースト又はブロードキャストモードなど）のどれをデータ転送に使用すべきかに関してメモリデバイス又はインタフェースに指示する。クロック及び制御信号は、コントローラとメモリデバイス間の他の信号移動を同期する。リンクは、各信号に対して別々の信号ライン（例えば、１つのクロックサイクルで３２ビット幅アドレスを転送するための３２アドレスラインと、１つのクロックサイクルで３２ビット幅データワードを転送するための３２データライン）を使用することができるが、異なる信号に対して１つ又はそれよりも多くの信号ラインを再使用する様々な方式も存在し、メモリトランザクションの様々なクロックサイクル中に指令信号、制御信号、アドレス信号、及びデータ信号のために１つ又はそれよりも多くの信号ラインを再使用する様々な方式も存在する。
【００５２】
レーン又はラインがインタフェース又はポートに接続されるものとして説明する時に、ライン又はレーンがアクティブである、電源オン又は電源オフである、待機モードにあるなどと説明することが便利であることを認めるべきである。これは、ノードのポートとのインタフェース上の接続のステータスを示すものと解釈されることを意味する。レーン又はライン自体は、単に、回路基板上の金属トレースなどとすることができ、ノード間の接続を提供する働きをする。
【００５３】
「幅優先」慣例は、ツリーのノードに付番する、すなわち、ツリーのルートから始めて次のレベルに移動する前に所定のレベルの要素全てにわたって機能するように使用されることが多い。この付番は、便利さだけのためである。実施目的のために、２つ又はそれよりも多くの付番方式を同時に含む多くの異なる付番方式を使用することができる。信号方式目的のために、慣例「ポート０、ポート１など」は、絶対ポートではなく相対ポートを示すことができる。慣例により、「サウスバウンド」、「下流側」、又は「２次」は、モジュールコントローラ又はルートから離れていく方向を示し、他方「ノースバウンド」、「上流側」、又は「１次」は、モジュールコントローラ又はルートに向っていく方向を示している。１つのルート又はモジュールコントローラ、及びその各々が同時に作動可能とすることができる。
【００５４】
図１は、説明する実施例で使用することができる記号及び専門用語のいくつかを明確にするために提供されている。これは、便利性、明瞭性、及び簡潔さのために行われ、当業者は、多種多様な同等の専門用語を使用することができることを認識するであろう。しかし、本明細書に示す説明の目的のために、ここに示す語を具体的に指示がない限り使用することができるであろう。これは、同等の受け入れられた専門用語又は同等の概念を説明する将来使用される可能な専門用語から除くか又は区別することを意味していない。
【００５５】
モジュールコントローラＭＣ１０（独立型モジュールコントローラ又はメモリコントローラとすることができ、又は中央演算処理装置（ＣＰＵ）、デジタル信号プロセッサ（ＤＳＰ）、マイクロプロセッサ、グラフィックコ−プロセッサ、ブリッジチップ、又は相互接続システムに接続されるのを必要とするが図には示されていないいずれかのこのようなデバイスのような何らかの他のデバイス内のインタフェース又は回路とすることができる）は、その機能を１つの構成要素に常駐させるか又は１つよりも多いデバイス全体に分散することができ、モジュールＭ＃のグループ２０（又はインタフェース、別のプロセッサ、メモリなどのような他のコンピュータシステム構成要素）に２地点間リンクによって接続される。本説明では、「モジュール」又は「メモリモジュール」という語は、インタフェース及びプロセッサを含む他のコンピュータシステム構成要素を表すのに使用することができる。
【００５６】
更に、制御及び信号ラインのための１つ又はそれよりも多くのマルチドロップバスも存在することができ、１つ又はそれよりも多くのグローバルクロックも存在することができ、更に、信号ライン及びデータラインの両方を一方向又は双方向とすることができる。モジュールコントローラＭＣ１０とモジュール（Ｍ０，Ｍ１，Ｍ２，Ｍ３）間、及び１つのモジュールから次のモジュールへのリンクは、データと制御／信号ラインの両方を包含することができる。リンクは、多くの異なる方法で構成することができ、いくつかの可能な構成を図１に示している。
【００５７】
ライン又はレーンのグループを示し、ここで、
Ｌ０は、別々のデータライン３０及び制御ライン４０を表し、ラインの各セットは、等しい幅の別々のノースバウンド及びサウスバウンド一方向ラインを有する、
Ｌ１は、等しくない幅の別々のノースバウンド及びサウスバウンド一方向データライン３０ａ、ｂ、Ｍ１からＭ０へのノースバウンド制御ライン４０ａ及びＭＣからＭ１へのサウスバウンド制御ライン４０ｂ及びＭ１からＭＣへのノースバウンドデータライン３０ｃを表す、
Ｌ２は、Ｍ１とＭ２間のノースバウンド及びサウスバウンド一方向データライン３０ｄ及び制御ライン４０ｃ並びにＭ１とＭ２間の別々の双方向制御ライン４０ｄ、また、Ｍ１からＭ３へのサウスバウンド一方向制御ライン４０ｅを表す、かつ
Ｌ３は、Ｍ３からＭ２への結合ノースバウンド一方向データライン３０ｅ及び制御ライン４０ｆ、ＭＣ及びＭ３間の双方向サウスバウンド制御ライン４０ｇ及びＭ２からＭ３への一方向サウスバウンド及びノースバウンドデータライン３０ｆ、ｇを表している。
ＭＣからＭ１（４０ｂ）、Ｍ１からＭ３（４０ｅ）の制御ラインのような制御ラインスキッピング隣接モジュールは、各ホップを通って送信される場合よりも少ない待ち時間で、Ｍ１からＭＣ（３０ｃ）のようなデータラインと同様に制御信号を送信するのに使用することができる。「データ」又は「制御」というラベルを備えたラインは、単に「大抵は」データ又は制御ラインであるだけで、これらは、他のタイプの信号を運ぶのに使用することもできる。すなわち、制御信号をデータラインで運ぶことができ、データ信号を制御ラインで運ぶことができる。従って、データ及び制御ラインは、コンテキストに応じて論理的又は物理的とすることができる。
クロック信号は、シングルエンドクロックライン又は２つ又はそれよりも多くのモジュール間に接続した差異クロックを使用して、クロック生成回路から直接様々な構成要素及びモジュールに分配することができる。高速クロックはまた、データ又は制御信号と結合させることができる。
【００５８】
図２は、１つよりも多い２次又は下流側ポートを有することができる構成可能なスイッチング要素１５（ＣＳＥ）の実施例を示している。ＣＳＥは、メモリ又は他のデバイスと通信するために使用することができ、メモリ又は他のデバイスは、ＣＳＥと同じ物理モジュール上に位置付けることができ、又はマザーボード上のＣＳＥとは別のモジュールに、又は別のロケーションで位置付けることができる。リンクに関連した２つの矢印は、別々の一方向リンク又は双方向リンクとすることができる双方向データ経路を示すか、又はリング状の様式で一方向リンクを走らせることによって行われる論理的に双方向の接続とすることができる。リンクは、シリアル又はパラレル構成を有することができ、又はシリアル及びパラレル構成の組合せ及びシングルエンド又は差異のいずれかとすることができる。
【００５９】
ＣＳＥは、非制限的に、あらゆる入力ポートをあらゆる出力ポートに接続することができる機能を有することができる。便宜上、論理的な説明において、ポートは、この説明ではノースバウンド又はサウスバウンドと考えられるが、このような説明は、互いに通信するＣＳＥのポートの機能を制限するためのものではない。例えば、ノースバウンドポートは、ＣＳＥ内のサウスバウンドポートと通信することができ、又はサウスバウンドポートは、多重ルートツリー接続におけるノースバウンドポートとして働くことができる。勿論、これらの機能の全てを特定の構成に構成可能とすることができるものではない。
【００６０】
図３は、１つよりも多い２次又は下流側ポートを有し、更に、１つよりも多い上流側又は１次ポートを有することができるＣＳＥ１５の別の構成を示している。更に、ＣＳＥは、外部メモリに加えて又はこれの代わりに、１つ又はそれよりも多くの内部メモリを有することができ、外部接続は、Ｉ／Ｏデバイス、コ−プロセッサなどのようなメモリモジュール又はシステム以外のデバイスとの接続とすることができる。ＣＳＥは、図のようにＣＳＥが信号を１つよりも多い経路に分割するのに使用することができるように複数の２次ポートを有することができる。ノースバウンド及びサウスバウンドポートの単一のセットが供給される時に、ＣＳＥは、中継器として機能することができる。「内部」及び「外部」という語は、メモリを示すのに使用される時の便宜上の説明目的であると理解し、制限的と理解すべきではない。メモリ回路は、マイクロプロセッサ又は専用ハードウエアに益々組み込まれるようなっており、内部及び外部のような語の使用は、特定的な実施例を理解する読者を助けるために使用される。当業者は、同じパッケージ又は同じ基板に統合されるように、回路及び機能を異なる物理構成要素に結合するか又はそれから分離することが、特定の用途及び関連する技術の状態によって支配されることを理解するであろう。
【００６１】
図４は、１つよりも多いモジュールコントローラを有するシステムに接続することができ、かつデータ又は制御フローの「上流」又は「下流」方向を持たない「構成可能スイッチング要素（ＣＳＥ）」の別の実施例を示している。ＣＳＥは、マイクロプロセッサ、直接メモリアクセス（ＤＭＡ）エンジン、他のＣＳＥを制御するためのモジュールコントローラであるＣＳＥ自体のような様々な内部処理機能を有することができ（又は、様々な処理機能を有するデバイスの内側に組み込むことができるか又はこれと共に作動することができる）、更に、ＣＳＥは、入力／出力（Ｉ／Ｏ）デバイス、マイクロプロセッサ、グラフィックプロセッサ、コ−プロセッサ、他のＣＳＥのようなメモリシステム以外のデバイスに外部で接続することができる。「１次」及び「２次」という語の使用は、従って、便宜上、説明のために使用されると見なされる。ＣＳＥがマイクロプロセッサを包含する（又はマイクロプロセッサ内に包含されるか又はこれに連結される）時に、ＣＳＥは、処理ユニット並びにスイッチとして作用することができる。
【００６２】
図５は、関連するメモリを有するＣＳＥを包含する６つのメモリモジュールを示し、これらは、そのルートにメモリコントローラＭＣと共にツリー構成で配置されている。便宜上、ＣＳＥは示されておらず、メモリモジュールＭ＃に包含されるＣＳＥをＣＳＥ＃として表すことができる。メモリモジュールは、メモリとＣＳＥの両方を包含することができるが、一部のメモリモジュールは、ＣＳＥだけを包含することができる。本構成では、メモリモジュールＭ０は、メモリモジュールＭ１及びＭ２に接続されており、例えば、メモリモジュールＭ１はＭ３に、次に、Ｍ７に接続されている。このような構成では、最も遠いモジュールまでのホップの数は、８つのメモリモジュールが線形又は連結方式に配置された時の８ホップと比較して４である（Ｍ０−＞Ｍ１−＞Ｍ３−＞Ｍ７）。ホップは、ネットワークでの２つの連続のノードを接続するリンク又はレーンであると考えられる。ホップは、ネットワークのノード間の信号の伝播の時間遅延又は時間遅延の差異について説明する場合の記述子として使用することができる。
【００６３】
図６は、モジュールの物理的に線形の構成でＰＣ基板上に配置することができるようなバイナリツリー構成で接続した８つのメモリモジュールを示している。Ｍ０とＭ１とＭ２とＭ６間のようなリンクの一部は、モジュールＭ４及びＭ５を介在させることによって必ずしもそれらの間を接続することなく通過する。この態様は、モジュールを迂回するリンクを影にすることで示している。図６の構成は、メモリ又は他のモジュールのような多数のツリー要素を回路基板上に配置することができ、又は線形物理構成のような整った様式でマザーボードにプラグインモジュールとして配置することができることを示している。このような構成は、マザーボードのレイアウト又はモジュールの冷却を容易にすることができる。線形及び非線形構成の結合は、ボードが取り付けられたラック又は装置の寸法のような他の理由のために寸法が制限されるボード又はマザーボードに効率良くモジュールを配置するのに使用することができる。
【００６４】
マザーボードは、故障したメモリモジュールを交換することによってメモリシステムの修復を容易にするために使用することができる。マザーボードが望ましいか否かは、故障率及び平均修復時間（ＭＴＴＲ）分析などの因子内でも回復できないデータ損失の可能性に依存するであろう。
【００６５】
実施例の多くは、ツリーとしての要素の構成を説明しているが、これは、接続のトポロジーを制限することを意味してはいない。１つよりも多いエントリポイント又は「ルート」が存在する実施例が示されており、指令及びデータは、循環方式などで「ツリー」でない経路に沿って流れることができる。ツリーの実施例は、多くの場合に状況をより明確に説明することを可能にし、逆経路スケジューリングのような態様の説明を簡単にすることができる。しかし、これは、例えば、競合解決、待ち行列、及び記憶及び転送技術の使用を除外することを意味していない。すなわち、構成を他のネットワーク構成にも一般化することができる。更に、１つよりも多い独立メモリコントローラを利用することができ、又はコントローラを協調方式で作動することができる。
【００６６】
メモリモジュールの特定の数が図面に示されており、モジュールの特定の数について説明しているが、これは、このような方式で接続することができるメモリモジュール又は他のデバイスの数を制限することを意味しているのではなく、単に実施例の説明を容易にするために表示される図面で便利であるためであることを理解すべきである。
【００６７】
図７は、非線形構成でＰＣ基板上に配置することができるバイナリツリー構成で接続した６つのメモリモジュールを示している。このような構成は、特定の設計の物理的な要件に基づいて便利であろう。
【００６８】
図８は、非線形構成でＰＣ基板上に配置することができる３進ツリー構成で接続した７つのメモリモジュールを示している。これは、３進アーキテクチャを有するためのシステムを構成するための２つよりも多い２次ポートを備えたＣＳＥの使用、並びにツリーの可能なノードの全てがデバイスに入れられていない場合を例証している。
【００６９】
簡潔にするために、図示の実施例は、一般的にバイナリツリー構造に制限されるが、図８の構成は、３次、４次、及びより高次オーダーのツリーを構成可能とすることができることを例証している。「ツリー」という語は、任意のオーダーのツリーを包含することを意味している。モジュールの一部又は全ての線形又は連結構成は、ツリーという語が限定なしに使用される時には除外されず、バイナリツリーという語の使用は、バイナリ又はより高次オーダーのツリーを意味する。上述のように、実施例としてのツリーの使用は、装置又は方法の使用を実施例に制限することを意味していないが、このような装置及び方法は、一般的にネットワークに応用することができる。
【００７０】
図９は、非線形構成でＰＣ基板上に配置することができる実際のバイナリツリー構成であるものに接続した８つのメモリモジュールを示し、メモリコントローラＭＣは、ツリーの第２レベルのモジュール（Ｍ１及びＭ２）に接続されている。この構成は、ＭＣとメモリモジュール間の通信の待ち時間を低減するために、並びにＭ０を通過することから一部の信号を逸らせることによってＭ０の電力消費を低減するために使用することができる。このような構成はまた、指令を出すことにより、及び応答を受信し、並びにＭＣからツリーの第２レベル（Ｍ１及びＭ２）への接続リンク又はレーンを通じて並びに第１レベル（Ｍ０）への接続を通じてデータを送信又は受信することにより、改善した収量を促進する働きをすることができる。
【００７１】
図１０は、Ｍ４に接続したグラフィックプロセッサ（ＧＰＵ）及びＭ５に接続したネットワークＩ／Ｏデバイスのような他のデバイス又はモジュールとの非線形物理構成でＰＣ基板上に配置することができるバイナリツリー構成で接続した８つのメモリモジュールを示している。他のデバイス又はモジュールの各々は、それぞれ関連する内部又は外部メモリＧＭ及びＮＭを有することができ、これらは、直接アクセスすることができ、ＭＣも各々のこのようなモジュール上のＣＳＥを通じてアクセス可能である。ＧＰＵからメモリモジュールＧＭへの直接アクセスを提供することは、衝突なしに複数のアクセスオペレーションの実行を可能にすることによって全体的な収量を更に改善する。
【００７２】
比較の目的のために、全バッファＤＩＭＭ（ＦＢ−ＤＩＭＭ）として公知のＩＮＴＥＬによって開発されたものに類似であると思われるメモリシステムの態様を表すことを意図したベースライン構成を図１１ａ−１１ｆに示している。本明細書の説明は、ＩＮＴＥＬによって公に使用可能にされた文書の解釈に基づくが、詳細説明及び明細書が一般的に利用可能にされていると思われない時、ＩＮＴＥＬによって製造された図１１に示されているデバイスが実際にＩＮＴＥＬによって構成されたメモリシステムで本明細書で説明するように作動するという表示はされない。逆に、ベースラインアーキテクチャとの比較が便利である時、図１１に示されている構成が意味される。各メモリモジュールｍ（２００）には、ＩＮＴＥＬ高性能メモリバッファ（ＡＭＢ）としてＩＮＴＥＬによって開示されたインタフェース特性を有するデバイスが含まれる。
【００７３】
本明細書で利用される読取指令及び応答に対する信号方式慣例は、機能的な説明を簡単にするためにＩＮＴＥＬによって使用されると思われるものとは異なっている。例えば、ＩＮＴＥＬのＡＭＢでは、「読取」指令は、本明細書での説明のために１つのメッセージに圧縮された一部のメッセージを取り入れる。更に、ＡＭＢは、１つよりも多いＡＭＢのための指令を包含する単一の「フレーム」を送信する機能を有するように思われ、例えば、一部の指令に対して、「フレーム」が、メモリコントローラｍｃ（３００）と高性能メモリバッファＡＭＢを有するメモリモジュールｍｋとの間の通過の様々な段階で特定のモジュールによって受信されることを意味すると断言できない。
【００７４】
図１１３ａでは、読取指令が、アドレスＡｉとしてメモリコントローラ（３００）によって出され、読取指令Ｒが、「パケット」として下流側経路を通じて送信される。与えられた実施例では、データアドレスロケーションがメモリモジュールｍｉにある。図１１ｂは、メモリモジュールｍｉ（２００ｉ）に到着するパケットを示している。しかしＦＢ−ＤＩＭＭシステムでは、パケットは、１つのモジュールから別のモジュールに線形チェーンを下方向に迅速に繰り返される。従って、読取指令が、図１１ｃに示すようにメモリモジュールｍｉにアドレス指定されたとしても、パケットは、メモリモジュールｍｋ（２００ｋ）に更に転送される。従って、読取指令を包含するパケットの各々は、メモリモジュール２００のチェーンの全長を横断する。メモリモジュールｍｉ（２００ｉ）からの応答は、アドレスＡｉから読み取られたデータを表し、データビット、又はデータパケット、図１１ｄに示されているこの実施例ではｄ０−ｄ３を含み、上流側経路を横断する。図示のデータビットの数は、表示に便利なように制限されており、より多いか又は少なくすることができ、又は可変とすることができる。図１１ｅ及び１１ｆは、メモリモジュールｍ０を通過し、メモリコントローラｍｃによって受信されるデータを示している。読み取られたデータのパケットは、脱スキュー、脱直列化、又は復号化されることなく、繰返しの処理によって全てのモジュールによって転送される。
【００７５】
実施例では、図１２ａ−１２ｆは、図１１に示すベースラインと比較するために線形方式で編成された一連のメモリモジュールＭ＃を示しているが、図１２のメモリモジュールは、パケットが特定のＣＳＥ又はその関連のメモリに対して指定されていない時にも指令パケットに包含されるアドレスを「スヌープ」又は読み取るＣＳＥを組み込んでいる。各ＣＳＥは、上流側経路が破線で示す「低減された」電力設定である状態にある。低減された電力は、以下に限定されるものではないが、Ｉ／Ｏドライバを脱電力化する段階、Ｉ／Ｏ論理（及び停止することができるあらゆる他の関連する論理）のクロックをゲート制御する段階、Ｉ／Ｏ論理のクロック速度を低減する段階、Ｉ／Ｏ論理の電圧を低減する段階、事前設定入力をＩ／Ｏ論理の漏れ電流を低減するように設計されたＩ／Ｏ論理にロードする段階、又は戻されたデータの処理を可能にするのに十分迅速に取り消すことのできるチップのどの部分によっても消費される電流も低減するためのあらゆる他の方法を含むことができる。図１２ｄ−１２ｆに示されている実施例では、上流側リンクが戻りデータの前に電源アップし、次に、データが通過した後に低減された電力状態に戻る。
【００７６】
この例では、制御信号は、下流側経路が電源アップされているデータラインを通じてパケットとして移動する。態様においては、パケットが「フレーム化」又は「スロット化」タイミングシステムで送信される時に、下流側経路は、各「フレーム」又は「スロット」時間の最初に電源アップされ、送信されるパケットがある時に、送信側は電源アップされたままであり、パケットが送信され、それ以外は、送信側は、次のスロット時間の始めまで電源ダウンされ、受信側は、パケットが受信されるか否かの判断が為されるまで電源アップされ、パケットがない時に、受信側は、次のスロット時間の開始まで電源ダウンすることができる。
【００７７】
具体的には、図１２ａは、ＭＣ（１０）がアドレスＡｋに対して読取指令Ｒを出す状況を例証している。図１２ｂでは、読取指令Ｒデータパケットは、意図されていないメモリモジュールＭｉ（２０ｉ）に到着し、メモリモジュールＭｋまで通過する（図１２ｃ）。データ読取指令Ｒの結果、データＤ０−Ｄ３のパケットは、上流側に送信され（図１２ｄ）、メモリモジュールＭｉを通過し（図１２ｅ）、更に、メモリコントローラＭＣによって受信される（図１２ｆ）。図１２ｃ−ｆのシーケンスでは、リンクを通じて読み取られたデータを送信する前の各連続する上流側リンクの電源アップ、並びに読み取られたデータＤ０−Ｄ３の通過後の各リンクの電源ダウンが示されている。本構成では、制御信号並びにデータが下流側経路のデータラインを移動する時に下流側リンクが全て電源アップされる。
【００７８】
データ読取指令ＲパケットがＭ０からＭｉ及びＭｋへの下流側経路に沿って通過する時、メモリモジュールＭの各々は、この実施例ではＭｋでのアドレスからデータを読み取るために、データ読取りパケットを観察するか「スヌープ」して指令の宛先モジュール及び特定の性質の両方を確認する。このような読取りデータトラフィックは、ＭｋからＭＣに上流へと流れることを予想される。この結果、データが読み取られるモジュールとＭＣ間の上流側経路におけるリンクの各々は、読み取られたデータを送信するために適切な未来時に電源オンにされ（破線から実線への移行として示される）、読み取られたデータがリンクを通じて送信した時に低電力状態に戻されるか又はオフにされる。更に、データ読取指令Ｒがチェーンの最後以外のメモリモジュールにアドレス指定された時に、アドレス指定されたメモリモジュール（例えば、Ｍｉ）とＭＣ間の経路の上流側リンクだけを適切な未来時に電源オンにする必要があり、これは、結果として電力消費の低減をもたらす。
【００７９】
図１３ａ−１３ｆは、モジュール間の別々の指令ライン及びデータラインを有するＣＳＥを利用するメモリモジュールＭの構成を示している。信号ライン及び指令ラインは、図のように専用信号ラインではなく単にデータラインの部分集合とすることができる。図示の構成では、下流側リンク及びそれに関連した論理のある部分は、低減された電力状態にされる。指令制御信号が各モジュールを通過する時信号が復号化され、適切な時に、他の下流側リンクが、データパケットで続くデータ又は指令を送信するために電源アップされる。図示の態様では、読取指令ＲはメモリモジュールＭｉのアドレスＡｉに対して出され、読取指令Ｒ及びアドレスデータＡｉは、別々のライン上で送信される。アドレスデータＡｉは、望ましいアドレス又はアドレス範囲がメモリモジュールＭｉにあることを示している。アドレスデータパケットＡｉが読取指令Ｒよりも早く送信される時、メモリモジュールＭ＃の各々でのアドレスデータパケットＡｉは、図１３ａ−ｂから分るように読取指令Ｒよりも早く、アドレスデータは、予想される指令の送信及び処理に対処することができるように受信側モジュールＭｉ＋１及び送信側モジュールＭｉ間のリンクを電源アップするのに使用することができる。図１２に関して説明する状況と同様に、下流側指令経路は、指令を受信した後に再度電源ダウンすることができ、上流側リンクは、指令の結果として読み取られたデータの送信のために適時に起動される。
【００８０】
従って、１つのライン又はレーンの電力ステータスは、ＣＳＥによって受信される制御又は指令信号、アドレス又はデータ信号に基づいて、未来時に変更可能と言うことができる。未来時ステータス変更の時間値は、受信した指令の特性、宛先のアドレス、ネットワークでの受信側ＣＳＥの対応する位置、又は類似の又は得られた情報によって判断することができ、又はＣＳＥのライン又はレーンの一部又は全てに対して即座に行われるものとされる。
【００８１】
図１３ｂ及び図１３ｃの比較で示す別の態様では、指令信号は、ノー・オペレーション（ｎｏ  ｏｐ）指令が下流側ライン上で送信されるように指令のターゲットであるモジュール（この実施例ではＭｉ）によって変更することができ、次の「フレーム」、「サイクル」、又は指令間の間隔として使用されるどのような時間にも指令が送られないことを更に別の下流側のモジュールに示している。例として、読取指令は、図１３ｃでは存在しないが、アドレスデータＡｉは、アドレス指定されたモジュールの更に下のチェーンであるＭｋによって受信される。これが、Ｍｉ及びＭｋ間の下流側指令リンクの起動をもたらすことはない。図１３ｄ−ｆに示されているデータリターンのシーケンスは、図１２ｄ−ｆのデータリターンのシーケンスに従うものであり、詳しくは説明しない。
【００８２】
アドレスデータパケットの各々は、メモリモジュール（実際には、メモリモジュール２０のＣＳＥ１５）を通過する時に復号化されるが、指令パケットは、単に一緒に通過するだけで、アドレスデータパケットの付加的な遅延は、信号が更に別の下流側に進む時のアドレスデータパケットと指令パケットの到着間の時間間隔の減少をもたらす。アドレスパケット及び指令パケットが同じデータライン上で連続して送信される態様では、時間間隔は、第１パケットが生じる付加的な処理遅延に対応するために第１パケットの末端と第２データパケットの先端の間のままである。これは、状況によっては望ましいが、例証される実施例に関して帯域幅の損失を表している。
【００８３】
更に別の態様では、アドレスデータは、メモリモジュールで同時に復号化されて下流側に送信され、それによって復号待ち時間を受けない。時によっては、これは、実際に必要とされる以上の１つのリンクで送信される指令をもたらす場合があるが、構成に応じて、余分のリンクで指令を受信することに関するＣＳＥの態様は、起動されない場合がある。
【００８４】
別の態様では、図１４ａ−ｆは、図１２及び１３に類似の構成を示している。しかし、前の実施例においては、アドレス指定されるモジュールが現モジュールの上流側か又は下流側かを判断する機能が各モジュールに対して供給されていた。この判断は、多数のモジュールアドレスに対する受信したアドレスの比較を必要とする可能性があり、使用される論理の複雑さに応じて終了する一部のクロックサイクルを必要とする場合がある。この処理時間は、ＭＣによるアドレス及び指令の送信間の時間に必要とされる分離の増加を生じる場合がある。この付加的な分離は、アドレスデータを次の下流側モジュールＭｋに送信する前に宛先モジュールＭｉによって受信したアドレスＡｉを修正することによって軽減することができ、それによって新しいアドレスＡＸは、アドレス及び指令が適切なモジュールＭによって既に解釈されていることを示すフラグになる。ＡＸは、保証されたアドレス又はある類似の指示とすることができる。
【００８５】
この結果、各モジュールは、システム内のモジュールアドレス全ての代わりに、モジュールＭｉ自体のアドレス又はアドレスの範囲、又は保証されたアドレスに対して受信したアドレスＡｉを比較するだけでよい。他の点では、図１４の実施例は、図１２及び１３の実施例に類似しており、説明の詳細な繰返しを省く。
【００８６】
高速データリンクは、同期を維持するためにクロック回復機構を使用することができる。単位時間当たりのビット遷移の十分な数が受信されなかった時に、リンクのクロック時間同期が失われる可能性があり、同期の回復には、収量を低減する場合があるか、又は再送信を生じる可能なデータ損失を引き起こすと考えられるある一定の時間を必要とすることがある。同期を維持するために、ＦＢ−ＤＩＭＭのようなシステムは、このような遷移を包含し、モジュールの全てに送られる同期（ｓｙｎｃ）フレームを定期的に送信することができる。
【００８７】
しかし、多数のメモリモジュールを有する構成では、このような同期フレームは、モジュールの各々に送信され、従って、システムのリンクの全てを横断するか、又は複数の同期フレームがツリーの様々なリーフに送信される。モジュールのツリーが十分に大きい時に、時間同期を維持するためのこの処理は、システムの帯域幅のかなりの部分を消費する可能性があり、クロックがリフレッシュされない限り、クロックの同期に対する必要性がシステム構成のサイズ及び複雑さを制限する傾向にあり、又はクロック同期は、他の手段によって維持される。
【００８８】
モジュールの各々にタイマを設けて、遷移の十分な数になるまで経過した時間間隔を追跡し続け、更に、ローカルベースでクロック再同期を開始するための他の方法がもたらされる。この実施例は、カウンタ又はウォッチドッグタイマである。
【００８９】
図１５は、ＭＣからモジュールＭ０への読取指令の送信を示している。読取指令Ｒは、指令レーンが電力をなくさないようにモジュールの全てに転送される。所定の時間間隔が経過し、レーンが送信側データのために使用されていない状況では、モジュールは、リンクの同期を維持し続けるための「ｎｏ  ｏｐ」データパケットとすることができるデータの送信を開始する。図１５ｄは、フレームでのＭ０−＞Ｍｉリンクをパケットが使用しないことをモジュールＭ０が判断している実施例を示し、モジュールＭｉでの受信器同期を維持するためにリンクのレーン上の遷移信号を送信する機会を使用する。同様にＭｋは、Ｍｋ−＞Ｍｉリンクがそのフレームで使用されないと判断しており、遷移信号をＭｉに送信する。
【００９０】
更に、リンクが半二重又は全二重である時に、そのリンク又はレーン又はラインは、送信が高トラフィック密度を持たないモジュール間の経路で行われるように向きを変えられる。このような方法は、他の方向からのデータが予想されないとモジュールが判断でき、半二重リンクの全部又は一部の向きの変更が行われるように、指令情報の受け取りに依存することになる。これは、図１５ｅ−ｆに示されており、モジュールＭｉ及びＭｋは、図１５ｅでＭｋ−＞Ｍｉリンクを逆にし、次に、図１５ｆでＭｉは、Ｍｋの受信器同期を維持するために遷移信号を送信する。矢印の向いたラインがリンクを表すことは繰り返すだけの価値があり、矢印の先は、リンクが、データ、指令、及びアドレスデータのための１つ又はそれよりも多くの信号ライン（レーン）であること、及びＭｉ及びＭｋ間のリンクが図１５ｇの状況から図１５ｆに逆にされた状況のように特定の図面に示すものからリンクの方向を逆にすることができるデータフローの現在の方向を示している。この説明では、送信方向で逆にされる機能は、実際の実施が用途に依存する時に、必ずしも必要でないが可能であると考えられる。
【００９１】
図１６は、２地点間リンクを有するツリーアーキテクチャで配置されたモジュールコントローラＭＣ及びモジュールＭ０、．．．、Ｍ６を示している。このようなツリーは、アドレスを包含するデータパケットが転送され各スイッチ（ＣＳＥなど）又はモジュール（メモリモジュール又はＣＳＥを組み入れた他のモジュールなど）がアドレスを復号化し、対応するデータ又は指令を向けなくてはならない場所を判断する時に機能することができる。しかし、このような処理は、各段階、すなわち、データを受信する、データを宛先アドレスと比較する、及び取るべきアクションを判断するのに時間を必要とする。アドレスが指令又はデータの前にある時間に送信され、シリアルリンクが使用される時に、アドレスと次のデータの間の時間間隔は、アドレス評価に必要なデータ処理のために各ホップで低減する。このようなアクションは、処理なしに単にデータを経路指定するよりも時間を消費する。並行してデータ処理機能を実行することは、データを要求されないリンクに転送することを含む付加的な複雑さを必要とする場合がある。並行処理が行われるか否かは、望ましい全体的なネットワーク帯域幅に依存する。
【００９２】
付加的な問題は、各データパケットでのデータビットの時間分散である。多くのリンクで、データのビットは、パラレル信号ライン又はレーンで送信することができる。これは、例としてデータがシリアル方式で各ラインで送信される１つよりも多いビットでパラレルラインを通じて送信される時に、状況を単純化するためであることを理解すべきである。他の要因内でもライン長及びインピーダンスに関連したライン上でのデータの遅延差のために、データビットは、即時の処理のための十分な同時性で到着しない可能性があり、復号又は他のデータ処理と共に進行するためにビットの全てがモジュールによって受信されるまで１つ又はそれよりも多くのクロックサイクルの間待つ必要がある場合がある。この遅延は、更に、アドレス又は他の情報に従って行動される前に各ノードで必要な時間を増す。このような状況、及びデータ送信に必要とされる時にのみリンクのレーン又はラインをオンにすることが望ましい時に、アドレス情報は、指令又はデータよりもかなり前の時間に送信しなくてはならない。これは、システム転送容量又は帯域幅を低減する結果をもたらす。
【００９３】
図１６は、図１２との類似性を有するが、モジュールはツリーで配置され、関連した経路だけが示されている。ＭＣが、モジュールＭ５におけるアドレスに読取指令Ｒを出す（図１６ａ）。Ｍ１で、アドレス及びデータはＭ２に転送され、Ｍ１及びそれに関連したモジュールへの経路は使用されない（しかし、「ｎｏ  ｏｐ」指令は、以下に説明するように送信することができる）（図１６ｂ）。Ｍ２で、別の判断がローカルＣＳＥによって行われ、アドレスＡ５及び読取指令ＲがＭ５に転送される（図１６ｃ）。アドレスパケットＡ５と読取指令Ｒ間の間隔の比較は、図１６ａ−ｃに示すように、定性方式で２つのパケット間の時間間隔の累加する低減を示しており、図１６ｃではアドレス及び指令データパケットがＭ５で受信される時に、これらの間の時間間隔は最小になる。これは、ＭＣでの２つのパケットの発信間の間隔が、間隔のほぼ全てが介在モジュール上の復号遅延によって侵されるように設定された状況に対応する。読取指令ＲへのモジュールＭ５の応答（図１６ｄ）は、上述したものに従い、従ってここで詳しく説明しない。
【００９４】
図１７ａ−ｄは、図１６に示すものに類似の構成を示しているが、別の信号レーンが指令のために使用され、更に、上述のアドレス又はデータレーンも使用される。指令及びアドレス又はデータのために別々のレーンが存在することができる時に、アドレス及びデータリンクの帯域幅を更に効率良く利用することも可能である。アドレスの伝播遅延は、この実施例での説明を簡単にするためにモジュールの各々の間で同じにされ、それによって読取指令の送信は、宛先モジュール（この実施例ではＭ５）でアドレスとデータの到着時間の間の望ましい間隔をもたらすように調節することができる。これは、一連の読取指令Ｒが連続して出される時に便利になる。
【００９５】
前の実施例と同様に、アドレスリンク及び指令リンクは、使用の前に適切な未来時に電源アップされ、情報パケットがリンクを横切った後に電源ダウンされる。リンクの各々を密に配置された情報のパケットを収容するために使用後のある時間電源アップされたままにすることから何らかの効率性が生じることは当業者によって認められるであろう。このような時間は、複数のクロックサイクルの点から特徴付けることができる。
【００９６】
図１８は、アドレスインジケータを使用して経路指定を行うのに使用することができる指令の１つの実施例を示している。この図のトポロジーは、図１８のトポロジーと同じであるが、分かり易いように指令ラインだけを示しており、必要な時にリンクがオン及びオフにされる可能性が表示されていない。この例では、アドレス指令は、宛先アドレスではなくセルフ経路指定パケットとして構成され、宛先モジュールで実行されるローカル指令が後に続く３つの２ビットワードを包含する。アドレスワードは、細い六角形で囲んで示してあり、ローカル指令は、太い六角形で囲んで示してある。更に、ワードの各々は、説明し易いように最下位ビット（ＬＳＢ）及び最上位ビット（ＭＳＢ）を有するものとして特徴付けることができる。Ｓ０に送信した４つの２ビットワードは、これらが２つのパラレルラインで送信したように示されている。代替的に、情報は、ビットシリアルオーダーで信号ラインを通じて経路上を送信することができる。
【００９７】
各ワードにおけるビットの解釈を図１８に添付のテーブルに示している。一般的に、ノードの各々がスイッチのみであること、又は他のエレクトロニクスがスイッチロケーションでアドレス指定されることを示唆するために、モジュールの各々がＳ０−Ｓｎとして示されている点に注意すべきである。スイッチは、ＣＳＥ又は指令を解釈して指令に応答することができる他のデバイスとすることができる。
【００９８】
スイッチモジュールＳｎの各々は、この実施例では１つの入力ポートと２つの出力ポートを有し、この２つの出力ポートは、「０」と「１」として指定されている。アドレス指令は、宛先選択テーブルに従って解釈され、２ビットワードの値が、使用される出力ポートを判断する。たった２つの出力ポートが示されているが、これは、スイッチ要素の出力ポートの数、又は各アドレス指令ワードでのビットの数を制限することを意味するものではない。更に、入力及び出力ポートと上流及び下流方向の各々は、説明で便利なように使用され、どのような論理又は物理入力ポートと出力ポート間の接続も排除されることはない。
【００９９】
アドレスパケットの最終ワードは、ローカル指令を包含する。すなわち、オペレーションは、宛先スイッチで実行される。指令の実施例は、ローカル指令テーブルで与えられる。例えば、１の値（バイナリ０１）はＣＳＥを選択し、２の値（バイナリ１０）はローカルメモリを選択し、３の値（バイナリ１１）はノー・オペレーション指令（ＮＯＰ又は「ｎｏ  ｏｐ」）である。図１８ａは、Ｓ５に向けられた指令のためのＳ０への入力でのアドレス指令パケットを示している。先頭ビット対（バイナリ１０；ＭＳＢ、ＬＳＢ）は、Ｓ０の出力ポート１の選択を結果として生じる。図１８ｂは、Ｓ０の出力でのデータを示し、先頭ワード１（バイナリ１０）が、既にＳ０で実行されたようにアドレス指令から落とされている点に注意すべきである。従って、各スイッチＳは、受信したパケットの先頭ワードに基づいてアクションの進路を判断可能である。しかし、各スイッチＳによって解釈されるワードのパケットでの位置は、先頭ワード以外のものにすることができる。処理を簡単にすることに加えて、このフォーマットでのアドレス指令を解釈する時間は、モジュールＳｎの各々で同じであり、それによってこのオペレーションを実行するための増分の遅延は、アドレス指令が向けられるツリーの宛先の深さに無関係である。
【０１００】
スイッチＳ２を通過し、先頭２ビットワードが１（バイナリ０１）である時にポート０に転送された後、先頭ワードは再度取り除かれる。図１８ｃは、Ｓ５によって受信されるアドレス指令を示している。先頭ワードは現在３（バイナリ１１）であり、ローカルであり、以下に続くデータがローカルモジュールに向けられていることを示している。次に続くワードは、ローカルで実行される指令、この場合は３（バイナリ１１）で、ＮＯＰとして解釈される。アドレス指定されたモジュールからのどのような応答も上流側に送信し戻される。
【０１０１】
図１９に示されている別の実施例では、スイッチＳの作用を、ＮＯＰがアドレス指令によって選択されなかった出力ポートの１つ又はそれよりも多くから送信されるようにすることができる。これは、同期を維持するために有効な方式でツリー全体でのクロックパルスの伝播を容易にすることができる。Ｓ０への入力でのアドレス指令は、再度ローカルメモリ指令２（バイナリ０１）と共にＳ５に向けられる。図１９ｂに示すように、図１９ａに示されているオリジナル指令と比較した時に、アドレス指令は、先頭ワードが取り除かれた状態でＳ０のポート１に現れる。従って、ポート０は選択されず、従って、ローカルアドレスで構成され次にＮＯＰが続くポート０（すなわち、Ｓ１に接続したＳ０のポート）に接続した次のスイッチにパケットを出すことができる。図１８ｃは、ＮＯＰの受け取りに応じたＳ１のアクションを示している。Ｓ１のポートのどれもがデータ出力のために選択されなかったので、Ｓ１のアクションは、Ｓ３及びＳ４に伝播しＮＯＰが後に続きローカルアドレスから構成されるポート０及びポート１の両方でパケットを出すことになる。Ｓ２のアクションは、異なるものにすることができ、図１９ｃに示すような入力アドレス指令は、ポート０（バイナリ０１）へのアドレス指令の経路指定段階、先頭ワードを取り除く段階、及び指令パケットの残りをＳ５に送信する段階をもたらすことができる。しかし、Ｓ２のポート１は、この状況ではアドレス指定されず、ローカルアドレス及びＳ６へのＮＯＰを包含するパケットを出力することができる。ツリーの端にあるモジュールの各々（「ｌｅａｖｅｓ」又は「ｌｅａｆｓ」）（この実施例ではＳ３、Ｓ４、Ｓ５、Ｓ６）は、その出力ポートの各々でローカル指令及びＮＯＰを出すことができるが、更に別の経路が接続されない時に、処理は終了する。モジュールはまた、ツリーリーフとして作用するように構成することができ、その下流側出力ポートは、非アクティブ又は省くかのいずれかにすることができる。
【０１０２】
モジュールのツリーは、図３に示されているタイプのＣＳＥ１５を使用して図２０のようにリンクをチャンネル化し、細分の程度に応じて２つ又はそれよりも多くの指令の同時発生又は同時実行を可能にするように構成可能とすることができる。この例では、２つの別々のデータパケットが示されている。読取指令Ｒの実行から生じる第１パケットが、モジュールＭ４からＭ１及びＭ０を通じてＭＣに戻っていくように示されている。同時に、読取指令Ｒの実行から生じる第２パケットが、モジュールＭ６からＭ２及びＭ０を通ってＭＣに戻っていくように示されている。戻りパケットは、ラインの一部のレーンを使用することができ、レーンの数は、モジュール間のリンクでのレーンの全数より少ないものにすることができる。リンクでの「チャンネル」間のレーンの分割が同一である必要はない。
【０１０３】
ツリーの更に別のチャンネル化を図２１に示している。ここで、読取指令ＲがモジュールＭ３及びＭ６の各々から処理されると同時に、直接メモリアクセス（ＤＭＡ）転送が、Ｍ１、Ｍ０、及びＭ２を通じてモジュールＭ４とＭ５の間で行われる。モジュールＭ４からＭ５へのデータの送信は、Ｍ３及びＭ６からの進行中の転送と同じ速度で、かつこの割り込みなしに行われる。このような構成では、ＤＭＡ転送は、アクセスされないどのようなモジュールへも又はこれらからも、又はある時間に１つよりも多いデータ経路を処理することができるどのようなモジュールからも行うことができる。従って、直接メモリアクセスは、本来同時に発生する他のアクセスの性能に影響を及ぼすことなく背景で行われる。モジュール内の仲裁により、又はモジュールがマルチポートメモリを包含する場合のようにモジュールがある時間に１つよりも多いオペレーション／アクセスをサポートすることができる時に、又はＣＳＥが競合するオペレーションの一部又は全てをバッファに入れることができる時に、モジュールコントローラからＤＭＡのようなツリーの内部でオペレーションを同時に行うモジュールに送られたオペレーションを実行することができる。ＤＭＡオペレーションはまた、データ転送を実行するためにＣＳＥ内の論理的又は物理的ポートのいずれかを接続する可能性の実施例として上流側ポートへの下流側ポートの接続を示している。
【０１０４】
図２２は、例えば、ツリーアーキテクチャで同時発生的に又は同時に起こるデータ転送の様式化された表示である。この例では、モジュールＭ８からの読取オペレーション（モジュールＭ８とＭＣ間のグレーの破線で示されている）は、Ｍ４、Ｍ１、及びＭ０を通過し、ＭＣからモジュールＭ９への書込みオペレーション（ＭＣとモジュールＭ９間のグレーの実線で示されている）は、モジュールＭ０、Ｍ２、及びＭ５を通過する。読取指令Ｒに対応するデータは、モジュールＭ５からＭ４に送信され（点線で示されている）、モジュールＭ２、Ｍ０、及びＭ１を通過する。従って、特定の送信元及び宛先アドレスに応じて、ＭＣから同時にではなくアクセスを行うことができ、メモリ転送はモジュールのツリー内で行われる。
【０１０５】
図２３は、リンクの多くが低電力状態（破線で示す）にある場合の構成を示している。データ、この場合読取指令Ｒが下流方向に続いていくことをアドレス指令の受け取りが指示する時に、読取指令Ｒが移動するその下流側経路は、指令を送信することができるように電源アップされる。これは、ＭＣ対Ｍ０リンクの実線への変化によって図２３ｂに示されている。図２３ｃは、ＭＣ対Ｍ０リンクの電源ダウンと、Ｍ０対Ｍ２及びＭ２対Ｍ５リンクの電源アップを示している。図２３ｄは、読取指令Ｒに応じて戻されるデータを送信するためのＭ５対Ｍ２及びＭ２対Ｍ０リンクの適切な時間での次の電源アップを示している。
【０１０６】
図２４は、上流側経路をより低い電力状態にすることができる以外は、図２３と類似の構成を示している。一般的に、経路の通常のオペレーションへの戻りは、経路回路が非常に低い電力消費状態にある場合はより長い。このような状態の場合の上流側データ経路が、一点鎖線で示されている。（例えば、電源オン状態、待機状態、及び電源オフ状態、又はその他の間を区別することができる。これらの区別を行う時に、全体的な電力消費の差及び完全稼働状態への遷移までの時間の差が含まれるが、時間量又は電力の量が特定の設計に固有のものになる。）上述のように、ＭＣと宛先モジュール間の経路上のモジュールの各々、この場合Ｍ５は、特定の指令タイプが各モジュール（この場合Ｍ０及びＭ２）を通過したこと、及び指令がアドレス指定されたツリーの深さを（「スヌーピング」により）気付くことになる。従って、データがリンクを通じて送信される時にオペレーション（電源アップ）ステータスになるように各上流側リンクの再電力を未来時にスケジュールすることができる。図２４ａ−ｃはまた、アドレス経路上にないツリーのブランチへのＮＯＰ指令Ｎの送信を示している。
【０１０７】
指令を送信することができる時間に関して指令が制約されるシステム、例えば、スロット化された送信時間を有するためのシステムで、又は指令間に最小のインターバルがあるか又は一部の指令を送信することができる時の制約がある時に、更に別の電力節約を達成することができる。図２４ａ−ｄは、例えば、スロット化指令タイミングを有するためのシステムで、アドレス指令を運ぶリンクが半破線で示すようにスロットの最初に間に合うようにどのように電源アップされるかを示している。送信する指令がない時に、次のスロット時間の始めまでリンクを電源ダウンすることができる。送信する指令がある時に、指令を送信することができるようにリンクは電源アップされたままである。図２４ｂ−ｄはまた、固定指令開始時間のないシステムで、未使用のリンクに別の指令を受信すべきである時間まで関連の指令リンクを電源ダウンさせ、その後、再度電源アップすることができるように、指令によって利用されていないリンクにどのようにＮＯＰ指令Ｎが送信されるかを示している。
【０１０８】
ある一定の物理レーン送信技術では、レーンの電源アップ又は電源ダウンは、レーンの送信器端並びに受信器端の両方によるアクションを要求する場合がある。
【０１０９】
アドレス指令の更に別の例として、指令のブロードキャスト又はマルチキャスト分散を容易にするために指令の拡張を行うことができる。図２５は、０の値（バイナリ００）を有するブロードキャスト指令を含むローカル指令の拡大されたテーブル、及び拡張指令のテーブルを示している。拡張指令に関連したワードは、破線で作られた六角形に示されている。アドレスパケットでの最後のワードとして示されているが、拡張指令の位置は異なる場合がある。拡張指令は、１の値（バイナリ０１）を有する読取り、２の値（バイナリ１０）を有する書込み、３の値（バイナリ１１）を有するブロードキャスト−開始、及び０の値（バイナリ００）を有するブロードキャスト−転送を含む。拡張指令ワードは、送信したシーケンスでのローカル指令ワードに従うものとすることができる。この例では、アドレス指令は、Ｓ１に接続されているポート０をアドレスの第１ワードが選択するようにＳ１に向けられている。ＮＯＰは、Ｓ１から、選択されていないポートであるポート１に送信され、図２５ｂ、ｃに示すように、最終的にＳ５及びＳ６に伝播する。Ｓ１に送られたパケットに関して（図２５ｂ）、第１ワードは、Ｓ１が指令の宛先であること、及びローカル指令がブロードキャスト指令に応じて０の値（バイナリ００）を有することを示している。スイッチＳ１は、ブロードキャスト指令に応じて新しいメッセージを生成することができる。ブロードキャスト指令は、スイッチＳ１のポート０及びポート１の各々から出すことができ、ツリーの次のスイッチであるＳ３及びＳ４にアドレス指定され、これらはそれぞれポート０及びポート１に接続されている。ブロードキャスト指令は、拡張指令として０の値（バイナリ００）を有するブロードキャスト−転送の拡張指令を有する。従って、Ｓ３及びＳ４は、ツリーを下方向に伝播する類似の指令を生成することができる。
【０１１０】
図２６ａ、ｂは、Ｓ１の入力からツリーのリーフへの制御の流れの詳細を示している。このような構成は、小さな個々のステータス／制御メッセージを多くのモジュールに同時に送信及び／又は多くのモジュールから受信するために使用することができる。
【０１１１】
図２７ａは、自己経路指定メッセージの一部の他の構成を示している。超高速を必要とする態様では、第２の又はより多数のレーンを通じて送信したメッセージの他の部分を待つ時に経験される重大な遅延なしに単一のレーン上で送信されるメッセージだけが解釈されるように、レーンからレーンへのスキューが行われる。ここで、有用である様々な特性を明らかにする一部のビットシリアルフォーマットについて説明する。
【０１１２】
第１スイッチは、最小時間遅延でメッセージを経路指定することが望ましい場合がある。例として、ツリーのルートにある第１モジュールに向けられたメッセージの特別な場合が存在する。ここで、メッセージの最初の２ビット（右から左に読み取る）は、バイナリ０１であり、指令ＣＭＤ（読取Ｒ、書込Ｗ、又は他の指令とすることができる）が続く。メッセージが最下位レベルＮ（例えば、リーフ）に向けられる例では、最初の２ビットは値バイナリ１１を有する。これは、Ｎビットの経路情報とすることができる経路指定［ＰＡＴＨ］によって従われ、ここでビットパターンは、宛先への経路の各連続するブランチ又はノードの出力で使用されるポートに応じて、例えば０又は１である。この経路指定は、特定のモジュールにアドレス指定される指令ＣＭＤによって従われる。下部レベルから第１に向けられたメッセージは、先頭ビット０１１及び長さＮ−１の経路インジケータを有する。次に最も高いレベルは、先頭ビットパターン００１及び長さＮ−２の経路インジケータを有する。Ｎ−３レベルでは、先頭ビットは、メッセージの深さに関する更に別の情報が続くことを示す０１０である。次に、パターンバイナリ１１は、経路インジケータの最初に印を付ける。従って、先頭ビットパターンの長さは、ツリーのリーチレベルに対して約１ビットずつ長くなるが、経路インジケータ［ＰＡＴＨ］は、全レベルに対して１ビットずつ長さが短くなり、従って、プリアンブル及び経路インジケータのビットの総数は、公称１ビット内で一定にすることができる。従って、メッセージ長は、アドレス指定されるモジュールの深さに関連した長さで殆ど変動がない。図２７ｂは、図２６に示すモジュールの構成のＳ９、Ｓ４、Ｓ１、及びＳ０に送られるメッセージのプリアンブルを示している。
【０１１３】
また、指令を実行すべきである及び／又はデータを戻さなくてはならない時間に関する情報を包含する付加的な指令ＣＭＤ−ＴＩＭＥ及びＣＭＤ−ＥＸも図２７ａに示されている。この時間は、指令の受け取りからの絶対時間又は相対時間とすることができ、又は指令自体の性質に基づいて解釈を有することができる。
【０１１４】
図２８ａは、各ノードで先頭ビットを除くのに適するメッセージフォーマットを示している。モジュール０へのアドレスのフォーマットは、先頭０で次に指令が続くか又はＮＯＰを示すビットとすることができる。レベル１にアドレス指定されたメッセージは、先頭１であり、その後にポート０又はポート１を指示するポートセレクタビットＰが続く。パターン０Ｎは、モジュールの指令が続く（１）か又はＮＯＰ（０）が望ましい（０）か否かを指示する。更に、経路の下のモジュールのアドレスに対して、追加された深さ及び経路上の経路指定を指示するビットの対が各レベルに対して付加される。各レベルでは、メッセージの最初の２ビットは、メッセージがローカルスイッチにアドレス指定されているか又は転送されるかを判断するために解釈することができる。メッセージがツリーの更に別の下流側に対するものである時に、メッセージの最初の２ビットは取り除かれ、メッセージは、適切なポートを通じて転送される。図面の右側にある矩形のボックス内の数は、ツリーの深さ又はランクを表している。
【０１１５】
図２８ｂは、ツリーの下の方の様々な段階でＳ９に送信されるメッセージの進行を示し、ここで先頭ビット対は、これらがメッセージの経路指定の機能を果たした後に取り除かれる。
【０１１６】
バス（リンク）速度が増す時に、同期バスアーキテクチャでデータをクロック又は指令に同期させることに関連した問題が増えてくる場合がある。問題の１つは、リンク、レーン、又はラインの別々の端ポイントが異なるクロックを有する場合があるということである。また、パラレルデータ送信技術が使用される時に、リンクでの個々のラインの効率的な物理的長さが一般的に異なることがあり、異なる送信レーン又はラインで送られたビットの到着に時間差がある場合がある。これは、データ「スキュー」と呼ぶことができる。データスキューの問題に対処する１つの方法は、パケットのヘッダを解釈できて、パケットが次のホップで送信されるように、各ホップで脱スキューを実行することである。しかし、これは、各ノード間のライン間の最も長い遅延差と少なくとも同じ時間を脱スキュー処理が必要とする時に再送信にかなりの待ち時間を付加する場合がある。他の方法は、ツリーの各ノードで脱スキューを行わないことによってこの付加的な遅延を防ごうとするが、アドレス指定されたモジュール又はノードの受信器で脱スキューを行い、経路に沿ってスキューを増大させてしまう。しかし、データパケットの一部が極めて早く到着してしまう場合でも、送信元（例えば、メモリコントローラ）から宛先ノードへの蓄積された遅延差に対処すべきである時に、累積遅延がかなりの総遅延を付加してしまう。
【０１１７】
ＩＮＴＥＬによって開発されたＦＢ−ＤＩＭＭ技術では、１つのホップ当たり６つのＵＩまでのスキューを修正することができるデバイスが必要であると考えられている。信号の遷移間の平均的な時間間隔である「ＵＩ」又は「単位間隔」という語は、クロック時間が完全に安定していないか又はジッターがない時に、クロック時間の代わりに高クロック速度で使用することができる。１つのホップ当たりのスキューの６ＵＩが予想され、メモリシステムが８ホップを有する時に、総スキューは４８ＵＩである。
【０１１８】
４Ｇｂｐｓのデータ速度を有する公称２ＧＨｚのクロック速度で作動するリンクの時に、４８ＵＩの遅延スキューがスキューの１２ナノ秒（ｎｓ）に等しくなるように１ＵＩ＝２５０ｐｓである。すなわち、１つのレーン上の最初の到着ビットと他のレーンの１つでの最後の到着ビットの間に１２ｎｓが必要であると考えられる。最初の到着ビットは、後の到着ビットが到着する時間までメモリ、ラッチ、又はシフトレジスタに記憶しておく必要があり、次に、ビットは、データを脱スキューし読み取るデバイスに表示される。
【０１１９】
態様においては、本明細書に説明する相互接続システムは、リンクに沿ったデバイスからデバイスへの遅延が遅延等化、遅延スケジューリング、バッファ方式などに対する必要性を軽減するような方式で固定されていない時に、このようなアスキュー環境で作動する方法及び装置を提供することができる。図２９ａは、モジュールコントローラＭＣのようなデバイスからスイッチＳ、メモリモジュールＭ、インタフェース、別のプロセッサ、又はその他とすることができる別のデバイスにデータを送信する簡単な実施例を示している。この例では、ワイドワード、例えば、１６ビットは、並直列変換器ＳＥＲ（３００）によって４つの４ビットワードに変換される。すなわち、１６ビットワード３１０は、４つの別々のレーンにわたって拡散され、４つの連続する高速クロック時間に送信される。データは、リンクの他の端で受信され、逆並直列変換器ＤＥＳ３２０によって逆並直列化され、元の入力ワードとして再フォーマット設定される。
【０１２０】
図２９ｂは、同じオペレーションを示すが、ビットは同じ速度でリンクに沿って全く移動せず、互いに段階の外で１つよりも多いクロックサイクルで到着する。この差異信号遅延の原因は、例えば、モジュール間のライン長が異なることによる場合がある。図のように、ビット１、３、５、及び７は残りのビットよりも早く到着し、時間遅延スキューが考えられない時に、ビットは、前の送信したワードの部分であると解釈することができる。残りのビットは、次のワードにあると解釈され、データが破損される。
【０１２１】
態様においては、図３０は、スキューを克服する方法及び装置を示している。クロックデータ回復（ＣＤＲ）を備えたスイッチング要素がスキューされたデータを受信する。代替的に、ＣＤＲを使用しなくてもよい。脱スキューは、全レーン上の遅延が等化されるような時間だけ各レーンを遅らせる段階から構成される。脱スキューされたデータは、次に、逆並直列変換器（ＤＥＳ）に加えられ、本来送信したワードが回復され、ＣＳＥ又は他のローカル機能によって使用される。個々の機能が別々に示されているが、説明する機能の一部又は全ては、同じ電子デバイスで実行することができ、又は１つのモジュールに統合することができる。同じ回路で行われる脱スキューもＣＤＲも必要ではない。更に、図３１に示すように、データ入力がＤＥＳ（３２０）又はＴＸ（３５０）、又はこれらの両方に送信することができるようにデマルチプレクサ３３０をＣＤＲの出力と脱スキュー３４０の間、及びＤＥＳと送信器ＴＸ（３５０）の間に挿入することができる。このような構成は、データが回路の全てによって処理されるのではなく適切な時にＤＥＳ又はＴＸに送信されるようにメッセージが送信される場所に関する判断を行うことを可能にする。
【０１２２】
スキューの原因内でも、ＩＮＴＥＬ高性能メモリバッファ（ＡＭＢ）などが、コネクタに挿入することができる拡張ボード上に配置されるモジュール内にある状況が図３２に示されている。このような構成は、ＦＢ−ＤＩＭＭ、レジスター化ＤＩＭＭなどに使用される。一部のレーンを有する下流側モジュールから来る上流側経路のメッセージが示されており、ここで、レーン０は左、レーン４は中央等々である。上流側経路は、コネクタの前面に接続し、ＡＭＢを通過した後、コネクタの後面の類似のレーンの構成に接続する。ＡＭＢがボードのプラグの前面及び後面に示されており、別々のＡＭＢ要素は、この機能を実行するのに必要ない点に注意すべきである。更に、レーンがＡＭＢの端に対してのみ示されているが、ＡＭＢがボールグリッドアレイ（ＢＧＡ）パッケージ又はその端だけでない接続を可能にする他のパッケージにある時に、レーンはＡＭＢの下で接続することができる。レーンは、ＡＭＢからボードの後面上のコネクタに現れる。ボードの後面のレーンは、レーン０が左にレーン４が中央等々になるように配置される。図示のライン又はレーンは、ＡＭＢとボードインタフェースコネクタ（図示せず）間を接続するためのボード上のトレースを表すと考えられる。レーンは、１つよりも多いモジュールがトレースを横切る必要なく接合モジュールインタフェースコネクタを接続するトレースでマザーボードによって接続されるように図のように配置される。この態様では、マザーボード上の連続するコネクタのピンの間に信号が伝播する時間は、各レーンに対して大体同じである。しかし、これはモジュールボードにおける状況ではない。レーン４は、コネクタからＡＭＢに移動する短い距離を有するが、例えば、レーン０は、より長い距離を有する。
【０１２３】
例証の目的のために、標準サイズのＤＩＭＭモジュールを基準として使用する。このようなモジュールは、幅が約１４０ｍｍであり、従って、スイッチが位置決めされる中心からレーン０までの距離は約７０ｍｍである。２０ｍｍの長さをＡＭＢとコネクタ上の対応するピンの間のレーン４の長さとすると、この例では、最も短いトレースと最も長いトレース間の最大差異長さは、約５０ｍｍであり、これは、約２５０−３５０ｐｓの伝播時間における概算差に対応する。これは、既存のＤＩＭＭによって推定される状況を表している。データ速度が公称４ＧＢ／ｓである時に、これは、この効果だけからスキューの１つ又は２つのクロック周期を結果としてもたらすことができる。
【０１２４】
いくつかの標準化されたＤＩＭＭ又はメモリモジュールが存在するが、本明細書で使用されるＤＩＭＭ又はメモリモジュールという語は、他のモジュール回路及びその他への接続のためのコネクタインタフェースを有する回路基板に取り付けられたものとして使用されるメモリタイプのどのようなものも意味することを理解すべきである。ピン又はトレースの数、回路基板の寸法、及びＤＩＭＭ又はメモレア上のメモリの容量及びタイプ又は複数のタイプは、現在使用されているようなピンカウント相互接続カウント、寸法、タイプ、及び容量に制限されない。
【０１２５】
図３３ａ、ｂは、信号経路指定のための様々な方法が伝播時間差問題を軽減するためにどのように使用されるかを示している。図３３ａは、トレースがＣＳＥからコネクタに直接広がる状況を示している。図３３ｂは、より長いトレースを有する信号ラインがボードの上部で経路指定され、次に、信号ラインの別のセットが中央から経路指定される状況を示している。このような時に、一部のトレースの伝播距離は、図３３ａの伝播距離よりも長いが、０、１、２、及び３の間、又は４、５、６、及び７の間のような信号のグループ間のトレース長の差を低減することができる。トレースのグループ間の長さに差がある場合でも、遅延管理及び信号脱スキューの処理は、Ｎ個の信号に対するＮの異なる遅延から図３３ｂの実施例の２つ異なる遅延まで遅延変動を低減することによって簡単にすることができる。
【０１２６】
図３４は、モジュールコントローラＭＣからの送信の例を示しており、図の左側に、レーン０−４に対して５つのモジュールを通ることが示されている。ＭＣから送信されるデータは、レーンに対応するＡ、Ｂ、Ｃ、Ｄ、及びＥとして示されている。下流側モジュールの各々で、テーブルは、入力の論理名「Ｉ」、そのレーン上のデータが遭遇する遅延「Ｄ」、ＭＣからデータ送信経路に沿った現在位置までの総遅延「Ｔ」、及び出力データの論理名「Ｏ」を示している。テーブルの行は、レーンの順序に対応し、従って、上位行はレーン０を示し、下位行はレーン４を示している。この例では、遅延は各レーンに関連付けられ、遅延は、各レーンに対して異なるものにすることができる。遅延は、過度の遅延のない概念的なレーンに対する遅延差として、又は前のモジュールの送信器又はＭＣから受信側モジュールの受信器までの遅延の遅延差として解釈することができる。
【０１２７】
この例では、モジュール間の遅延は、例証の目的のために１−６（任意単位）に及ぶと仮定され、各モジュールからの入力及び出力レーンが、入力に到着した所定のレーン数の出力で割り当てられた同じデータを有する時に、各モジュールに関連した出力データパターンは、レーン０−４それぞれに関連した入力データパターン：Ａ、Ｂ、Ｃ、Ｄ、及びＥと同じである。下流方向でモジュールからモジュールへのテーブルの進行を辿ることにより、各レーンに対する総遅延は、テーブルに関連付けられるＭＣとモジュール間のレーンに対する遅延の和である。例えば、ＭＣと５番目のモジュール（Ｍ４）間で経験された総遅延は、レーン０に対しては３０単位であるが、レーン４に対しては、僅かに５単位である。他のレーンは、この実施例では時間遅延の中間量を経験する。遅延単位がクロックサイクルに関連付けられた時に、レーン０のデータは、レーン４に対してその後ろの２５クロックサイクルで到着する。遅延は、整数値で与えられ、これは、モジュールの各々の間の所定のレーンで同じであり、例証の目的だけのためである。遅延は、整数値である必要はないし、所定のレーンに対してモジュール間の各ホップで同じでなくてもよい。この例では、送られる指令、又はパケット、又はフレームの総長が例えば１０クロックサイクルであった時に、約２．５指令がモジュールＭ４によっていつでも受信される状態になる。従って、第１指令のビットの全てが完全なグループとして受信するのにこの長さの時間を消費する時に、最後のモジュールは、第１指令を処理する前にいずれかの時間に２つよりも多い完全な指令をバッファに入れるべきである。この例では、第２指令及び第３指令の一部が、第１指令のビットの全てが受信される前にモジュールＭ４で受信され始めなくてはならない。
【０１２８】
図３５は、システムでのスキューの累積を軽減することができ、更に、各ノード又はホップで同時に処理する必要がある指令の数を低減することができるように、レーン間の遅延差を低減するためのデバイス及び方法を示している。このデバイスでは、各モジュールへの入力データは、プラグインモジュール又は回路基板又は基板上のレイアウトに関して入力データラインとは異なるデータラインに出力することができる。レーンの実際の物理構成は、図３５の実施例の目的に対して図３４と同じである。しかし、ＡＭＢ又はＣＳＥを使用することは、リンク及び信号ラインの様々な数及びタイプを結果として生じることを理解すべきである。実施例は、データスキューの点から前に説明されているような既存のＡＭＢの性能と本出願の方法及び装置との違いを例証する意味がある。時によっては、入力及び出力データラインは、データのあるものだけが異なるレーンに存在することができるように前記と同じ論理的割当てを有する。
【０１２９】
例えば、第１モジュール（Ｍ０）では、レーン０で入って来たデータＡは、レーン４で出力され、レーン１で入って来たデータＢは、レーン３で出力され、レーン３で入って来たデータＤは、レーン１で出力され、レーン４で入って来たデータＥは、レーン０で出力され、レーン２で入って来たデータＣは、レーン２で出力される。モジュールＭ１の出力では、遅延差状況が、図３４のモジュールＭ１について示されたものと同じである。しかし、モジュールＭ２に対するテーブルを考える時に、状況は変わってくる。例として、モジュールＭ１とＭ２間の通過のためにレーン４に今あるデータＡは、１単位であるレーン４に関連した遅延を蓄積しているだけで、レーン０に今あるデータＥは、レーン０に関連した遅延を蓄積している。第２モジュールＭ２では、データＥの遅延は、７単位であり、データＡの遅延も７単位であると思われる。他のデータＢ、Ｃ、Ｄの遅延は同一ではないが、近い値であり、論理及び物理データラインの再割当ては、遅延の拡大を低減している。
【０１３０】
各モジュール上のレーン０−４へのデータＡ−Ｅの再割当て又は交換に続いて、様々な論理データ割当てＡ−Ｅ間の遅延の差が、前の実施例のように単調に蓄積しているのが見られる。データは、各モジュールで交換され続けることができる。最後のモジュール（この実施例ではＭ４）で、様々な論理データ要素に関連した遅延の範囲が、３の総遅延拡大に対して１５単位から１８単位に及ぶことを関連のテーブルが示している。これは、遅延拡大が２５であった図３４の実施例と比較することができる。論理データ割当てと物理レーンの間の対応関係を交換することは、従って、送信器での所定のクロック周期のデータの全てがモジュールで受信される前にバッファに入れる必要があるデータの量を約８分の１に低減することができる。この例では、ビットは、送信した時と同じ論理的順序にモジュール４で並べ替えられる。
【０１３１】
実施例で使用されたビット割当て戦略は、最長遅延を経験したデータを選択し、これを出力として最短遅延を有するレーンに割り当てることであった。同様に、最短遅延を有するデータは、最長蓄積遅延を有するレーンに割り当てられる。
【０１３２】
説明では、遅延は、表示を簡単にするために整数値で与えられるが、遅延がクロック速度の何らかの係数倍数を表す任意単位で示す時に整数でない値も可能である。代替的に、遅延及び遅延差は、整数及び分数のクロック持続時間で表すことができる。
【０１３３】
図３６は、モジュール対間の遅延が実質的に等しくない例を示している。２つのレーンだけが示されているが、この構成は、レーンのどのような数にも一般化することができる。図示の２つのレーンは、指令が送信されるレーンを表している。図３６ａは、図３５に示されているものに類似の状況を示しており、遅延の差が経路に沿った各ホップで最小になるようにレーンが交換されている。交換は、第１及び第３モジュールで行われ、第２及び第４モジュールでは交換は行われない。レーンは、必要な時に第５モジュールで並べ替えられる。しかし、第４及び第５モジュール間のレーン０の遅延は、１０単位であるのに対して、レーン０の遅延は、１単位である。遅延差が経路に沿って最小になった時、最後のホップでの遅延の大きな差が第５モジュール上の総遅延差で明らかになり、ここで、レーン０の総遅延は１８であり、レーン１の総遅延は９単位であり、これらの間の差は９単位である。図３６ｂは、最後から第２のモジュールまで遅延差が経路に沿って蓄積することが可能であり、次に、レーンが交換されて、交換が最後のモジュールで逆にされる他の状況を示している。最後のモジュールでは、遅延差はゼロであるが、第４と第５モジュール間の遅延差が大きい時に、交換が行われた後の遅延差が低減されるように、交換が行われる時のモジュールの前に大きな遅延差が作られることを観察すべきである。
【０１３４】
遅延は、レーン交換スイッチの設定に対する基準として前に判断されたように示されている。このような判断は、システム設計又は試作の時、製造の時、システムへのモジュールの組立ての時、システムの始動、各システム始動の時に、又はシステムのオペレーション中に行われる測定によって行われる。この判断を行うための時間又は複数の時間の選択は、望ましい性能及びシステムの複雑さに関連付けられ、製造の多様性及び温度の影響並びに能動又は受動構成要素の故障又は劣化を考慮に入れることができる。
【０１３５】
レーンを相互交換する、交換する、又は「スワッピング」する機能は、スイッチによって実行することができるが、「スイッチ」という語の使用は、特定の機能の実施を個別のデバイスに制限するためではなく、レーンの相互交換、交換、再割当て、又はスワッピングを達成するどのような機構を使用することもできる。便宜上、本発明のシステム又は方法のこの態様に用いられる「スイッチ」という語は、機能を実行するのに使用可能な技術の範囲を包含することを意味する。このような技術は、メモリ記憶ロケーション、状態機械、又は記憶されたプログラムコンピュータのオペレーション、及び専用電子論理回路などを単独で又は組み合わせて使用することができる。このようなスイッチングは、特定の製品の設計要件に応じて静的又は動的に実行することができる。
【０１３６】
図３７は、レーン３及び４が信号チャンネルとして使用され、最も低い全体的な遅延を有するレーンとして選択されるのに対して、レーン０−２は、データ信号に割り当てられる例を示している。信号チャンネルは、データと同時に又はデータよりも早く指令を到着させるように、伝播遅延がデータチャンネルの伝播遅延よりも短くなるように交替によって脱スキューされる。データチャンネルは、上述の１つの方法によって脱スキューされる。この実施例は、信号レーンをレーン３及び４に制限し、信号レーンは、指令が宛先モジュールにデータと同時に到着するようにレーンのいずれかに交換される。更に、データ及び指令信号が適時な方式で受信されるように全体的な送信時間差が長い限り、データの幾らかは、特定のホップで信号に対して使用されるものよりも短い遅延を有するレーンを通じて経路指定される。これを行うことで、データ信号に対する全体的な遅延時間を最小にする段階を結果として生じる。
【０１３７】
図３８ａは、どのモジュールでもデータ遅延差を最小にするためにレーン間でデータ要素を交換するパターンを示している。遅延のテーブルは示していないが、図示のスワッピングのパターンになると思われる。Ｍ４で、データは交換された順序Ｃ、Ｄ、Ｅ、Ａ、Ｂで到着するのに対して、予想される順序は、Ａ、Ｂ、Ｃ、Ｄ、Ｅであり、この順序は、データが予想される順序でシステムの残りに表示されるようにモジュールＭ４の内側で適切にデータを交換することによって復元される。図３８ｂは、ＭＣの出力からＭ４の入力及びＭ４内で見られるようなスワッピングの全体的な効果を要約している。すなわち、中間ホップ、及び各ホップで起こるスワッピングは、ＭＣからＭ４へのレーンの単一のスワッピング、及びＭ４の内側のレーンのスワッピングによって論理的に置換される。これは、得られるエンドツーエンド変換を表している。各モジュール上のスイッチの構成が図３８ａに示されているが、ＭＣでのデータの順序付けは、同じ結果がＭ４への入力で達成されるようなっている。図３８ｃに示されている別の態様では、スイッチ構成は、変化しないままであるが、レーンへのデータの割当ての順序は、予想されるシーケンスでＭ４で受信され、並べ替えがＭ４で必要ないように、送信の前にＭＣで事前に順序を変えられる。このような方法は、各モジュール上の処理における遅延を最小にすることができ、処理がＭＣで実行される時に、事前順序変えが行われると同時に指令及びデータが出力待ち行列に並び、オペレーションを実行する時間が他のシステム処理に組み込まれる。このような事前順序変えは、入りデータに、次のモジュールへの送信のための順序変えをするか、又はローカルＣＳＥによって使用するための順序変えなしに読み取るかのいずれかを可能にすることによってＣＳＥ内のデータ経路を単純化することができる。ＣＳＥがツリーのような分岐構成で配置されている時に、システム内のＣＳＥの大部分をリーフとすることができ、リーフからの他のＣＳＥ下流側を持たない。この事前順序変えは、静的又は動的方式で行うことができる。
【０１３８】
図示の状況は、モジュール転送のためのＭＣを対象とするが、モジュール間のＤＭＡ転送のような他の経路、及びツリーの様々なチャンネル又はブランチのために有効に使用することができる。説明は、ＭＣから例えばモジュールへの経路を扱っているが、これらのオペレーションは、逆方向で等しく行うことができる。
【０１３９】
図３９−４２は、論理データをレーンに再割当てすることができるスイッチ及びスイッチング方法の様々な実施例を示している。図３９ａには、入力のレーン番号１−４を出力のレーン１−４に接続するための４つのスイッチ要素を有する「Ｂａｔｃｈｅｒ」ネットワーク構成が示されている。図３９ｂには、このようなネットワークでの２×２スイッチの構成が示されており、スイッチ構成は、２つの位置が可能であり、位置の一方では、入力レーン及び出力レーンが同じレーン番号に接続されるようにレーンが通過され、他方の位置では、スイッチが入力と出力間でレーンを交換する。図３９ｃは、図３９ｂに示す機能に加えてコピー機能を含むスイッチを示しており、ここで、レーン１の入力は、出力レーンに複写することができ、又はレーン２の入力を出力レーンに複写することができる。図３９ｃ及びｄは、回路要素が２対１マルチプレクサである場合の電子図式形式でのスイッチを示している。図３９ｄでは、図３９ｂの構成が達成され、図３９ｅでは、図３９ｃの構成が達成されている。２つの回路間の違いは、コピー機能のない２×２スイッチの時に、マルチプレクサ選択ラインがＮＯＴ入力４２０を有するマルチプレクサの１つと同様に起動されるということである。コピー機能のある２×２スイッチでは、個々のスイッチは別々に制御される。
【０１４０】
図４０ａは、順序付けが３、２、１、４（出力が出力レーン番号で最初に示され、括弧内の数字がその出力レーンを通じて送信される入力レーンを示す）であるように、１、２、３、４と指定された入力レーンを交換するのに使用される「Ｂａｔｃｈｅｒ」ネットワークを示している。しかし、１、３、４、２の出力割当てを行おうとする試みが望ましい時に、図４０ｂは、経路がブロッキングされることを示している。
【０１４１】
図４０ｃは、非ブロッキングクロスバースイッチマトリックスを示している。スイッチのこのタイプは、どの必要なスワップも実行するのに使用することができる。スイッチの別のタイプは、図４０ｄに示されている「Ｃｌｏｓ」ネットワークであり、これは厳密な非ブロッキングとして公知のタイプであり、入力と出力レーン間の順序付けを変更することができ、これらのレーンを変更するだけで、その割当てが実際に変更される。
【０１４２】
「Ｂａｔｃｈｅｒ」ネットワークスイッチの機能は、図４１ａに示すような別の段階を付加することによって拡張することができ、これは、「Ｂｅｎｅｓ」ネットワークと呼ばれることがある。ここでは、図４０ｂで要求されたスワッピングが可能である。しかし、スイッチングの付加的な段階は、付加的な遅延を生じる場合がある。それにも関わらず、これは、再構成可能な非ブロッキングスイッチである。図４１ｂは、８レーン構成へのこのようなスイッチの拡張を示している。スイッチの幅は制限されない。
【０１４３】
一部の構成では、レーン入れ替えの１つ又はそれよりも多くのパターンが頻繁に発生することが分る。図４２は、完全スワップがシステムの一部のレーンに対する共通の要件である状況を示しており、例えば、入力レーン１と出力レーン８に出力するマルチプレクサとの間を接続する回路要素がデバイスと共に示されている。他の入力及び出力は、同様に接続されている。また、他の構成を構成可能とすることができるように入力及と出力マルチプレクサへの入力を接続する２つの「Ｂｅｎｅｓ」ネットワークが示されている。望ましい並べ替えが、次に、固定ネットワーク及び可変構成スイッチと結合した出力マルチプレクサによって選択される。単に１つの固定ネットワークが示されているが、１つよりも多い固定ネットワークも、３対１マルチプレクサのようなより大きな入力容量を有するマルチプレクサと共に使用することができる。説明する回路の多くを使用することができる時に、使用されない回路は、電源ダウン又は電源オフにすることができ、又はもしあるならばそのクロックをゲート制御させるか、又は電力消費を最小にするために必要だと思われるあらゆる他の段階も有することができる。
【０１４４】
システムは、経路上又は回路内のタイミングにおける可変遅延を有することができる。タイミング変動は、熱膨張又はパラメータ変動、又は他の決定論的又は非決定論的影響から生じる場合がある。システムにおける可変遅延がある場合は必ず、ツリーのルート（ＭＣなど）からモジュールへの信号伝播時間が決められた値に固定されない。位相変異を修正する必要がなく、データがスキューされないようにクロック速度が十分遅い時にデータをグローバルクロックからラッチすることができるようなクロッキングである場合でも、小規模の位相変異が起こるが、それにも関わらずデバイスからデバイス、又はいずれか１つのデバイスからヘッドエンド（ルート）までの異なる伝播距離が存在する。データのスキュー又はグローバルクロックのジッタがあるか、又はグローバルクロックに対して位相差があり、リンクがセルフタイマ式であるクロッキングが完全に同期しない時に、これらの考察事項が依然として適用される。
【０１４５】
図４３は、例えば、ツリーの２つの別々のブランチ（リンク）からモジュールに到着する２つのデータ経路の融合を示している。この時点で、各ツリーの遅延差特性は、遅延差がこのノードのブランチ間に、及び各ブランチ内に、レーン間に存在するようなっている。説明する機能は、ＣＳＥで又は関連の回路で実行することができ、機能のあらゆる表示は、その物理割当てを示すことを目的としておらず、各要素で実行される機能を示すことを目的としている。
【０１４６】
説明を明確にするためにのみ、データ経路の４つのライン上のデータは、数字として示されており、データ経路ＩＩの４つのライン上のデータは、文字として示されている。データ経路Ｉに関して、データは、チャンネル間の時間に完全に合わせられるものとして示されている。データは、クロックデータ回復ユニット（ＣＤＲ）に入る。別々のＣＤＲを、各レーンに対して又はレーンのグループに対して使用することができる。経路ＩＩのデータは、レーン間の時間スキューを有するものとして示されている。各ＣＤＲの出力は、マルチプレクサ５００に入力され、マルチプレクサ５００は、入力データの２つのグループの１つを選択し、データを送信器ＴＸ（５１０）又は他の回路に出力するように構成されている。マルチプレクサとＴＸの間を接続している４つのラインは、経路Ｉ及び経路ＩＩデータの両方を示しているが、マルチプレクサの効果は、経路の単に１つを選択することである。２つのレーンは、タイミング差が容易に分るためだけにマルチプレクサの後に示されているが、経路の単に１つが選択され、特定のマルチプレクサ選択のためにマルチプレクサと送信器ＴＸ間のロケーションに実際に現れる。現れたデータの比較は、別々のクロックが各データラインに対して使用される場合でも、クロックに関して経路Ｉ及び経路ＩＩのデータ間のずれがあることを示している。説明を明確にするために、単一のクロックが２つのデータ経路の各々に対して想定されるが、別々のクロックは、経路の各々のレーンの各々に対して使用することができる。
【０１４７】
経路Ｉ又は経路ＩＩのいずれかのデータが選択されて送信した時に、ＣＳＥのストリングにおける次のＣＳＥ又はいずれかのデータ受信器への影響を考える必要がある。説明の目的のために、ストリングにおける次のＣＳＥは、上流側ＣＳＥと呼ばれる。図４３に示されているのと同じＣＳＥになるように構成される上流側ＣＳＥでは、受信したデータは、番号又はアルファベットデータのいずれかがマルチプレクサによって配置され、送信器ＴＸによって送信される単一のデータ経路を表すことになる。これは、上流側ＣＳＥへの経路Ｉ入力とすることができ、ツリーの別のブランチは、経路ＩＩ入力とすることができる。以下の説明は、経路Ｉ又は経路ＩＩ入力のいずれかに適用されるが、図４３に示されているＣＳＥからそのデータが来る経路Ｉ入力に関して説明する。
【０１４８】
ＣＤＲは、回復されたクロックを経路Ｉ（数字）データのクロックに整列させることができる。マルチプレクサが経路ＩＩ（アルファベット）に切り換えた時に、このデータに関連するクロック速度は異なるものになり、それによって上流側ＣＳＥでのクロック速度によるデータのサンプリングにエラーを生じる場合がある。
【０１４９】
図４４は、少なくとも部分的にこの状況を軽減することができる回路を示している。ＣＤＲは、データ経路Ｉ及びデータ経路ＩＩからのデータがクロック端に整列するようにデータの時間遅延を調節する位相アラインメント回路を有する。これは、経路Ｉ及びＩＩ上の入力データと送信器ＴＸの出力での多重伝送されたデータの入力データとの比較によって分る。２つの経路の単に１つがいずれかの時間に送信器ＴＸの出力に実際に現れるが、データの２つのセットは、共通クロックとの２つのデータセットの関係を説明するために示されていることを思い起こすべきである。このアラインメントは、融合経路間の遅延差の幾らかを克服することができると同時に、２つの経路のデータがこの実施例では全クロック周期だけオフセットされることをライン２のデータが示している。実際に、このオフセットは、１つよりも多いクロック周期とすることができ、スキューはそのままである。
【０１５０】
図４５は、経路Ｉ及び経路ＩＩの各々での脱スキュー処理の追加を伴う図４４の状況を示している。脱スキューは、経路ＩＩのレーン２のデータに１つのクロックサイクル遅延に等しいものを付加することによって達成され、この結果、レーン２の経路Ｉ及び経路ＩＩのデータは、上流側ＣＳＥによって受信されるデータの見掛けのスキューにおける変化なしに選択することができる。
【０１５１】
図４６ａは、アーキテクチャのより高いレベルでの図４５の概念を示している。メモリコントローラＭＣ及びモジュールＭ０−Ｍ７は、ツリーに接続されている。各データ経路の時間遅延は、モジュールＭｉを接続しているラインの長さによって表され、各モジュール内の時間遅延は、各モジュールの長さによって表される。図４６ａから、経路ＭＣ−Ｍ７が最も長い経路であることが分る。Ｋ個の可能なレーンから各回路要素間のレーンの単に１つが示されているが、説明は、他のライン又はレーンにも等しく適用することができる。図４６ｂでは、水平軸が、各回路要素での遅延を含む回路要素の各々を接続するレーンの時間遅延を表すように再度引き直されている。各データビットに対して、使用される回路要素間のレーンは、異なる物理レーンとすることができるが、論理データビットは、データ又は指令が解釈される回路要素において正確である。すなわち、結局は、ＭＣのレーン０に至る示されたラインのセットは、物理レーンが例えば図３９−４２に示されている交換のようなレーンの結果としてツリーの他の部分間の異なるレーン番号である時にもレーン０に到着するデータを運ぶレーンである。
【０１５２】
図４７ａは、ネットワークのサブツリーの２つ、すなわち、Ｍ０、Ｍ２、Ｍ６及びＭ０、Ｍ１、Ｍ３、Ｍ７を識別する。図のように、経路Ｍ７−ＭＣは、最も長い経路である。各回路要素で、２つの入力経路と１つの出力経路が示されている。入力経路の１つは、非重要経路が他の経路よりも送信元と宛先間の短い全体遅延を有するという意味で非重要経路である。例えば、モジュールＭ１では、Ｍ４からの経路は、Ｍ７−Ｍ３−Ｍ１を通過する経路に対して非重要である。この状況では、付加的な遅延を付加的な全体遅延を生じることなくＭ７−Ｍ３−Ｍ１−Ｍ０に対してＭ４−Ｍ１−Ｍ０経路に生じさせることができる。付加的な遅延が生じた時に、これは、モジュールがデータ経路に接続している時にモジュールから延びるタブ５５０を示すことによって象徴的に示される。
【０１５３】
図４７で用いられた記号を使用して、図４８は、論理ビット０経路のためのモジュールコントローラＭＣにツリーで接続した８つのモジュールＭｉのネットワークを示している。ビット０に対するモジュールＭｉからＭＣへのビットの通過の時間遅延は、「ｄＭ＿ｉ＿Ｎ」として表され、ここで、ｉはモジュール番号、Ｎは論理ビット数である。遅延は、モジュールＭｉの出力からＭＣの入力まで測定される。すなわち、送信元モジュールＭｉと受信側回路ＭＣの遅延は、単純に示されない。モジュール上の付加的な遅延はモジュール上のタブによって示され、モジュールの至る所で発生することを言及しておかなくてはならない。ネットワークでのタイミングを考える時に、時間「ｔＭ＿ｉ＿Ｎ」は、ＭＣから送信した論理ビット０の指令又はデータがモジュールｉで受信される時間を表している。図４８は、データがメモリコントローラＭＣによって送信した時にｔ＝０が時間であるとすると、受け取りの時間「ｔＭ＿５＿０」＝ｔ＋「ｄＭ＿５＿０」になるようなモジュール５及びビット０の状況を示している。
【０１５４】
どのビットＮに対しても類似の分析を行うことができ、図４９ａ、ｂは、遅延が別のビット、ビットＮに対して適切であることを除いて、図４６ｂと同じモジュールの構成を示している。図５０ａ、ｂに示すように、ビットＮに対して最大経路時間を有するサブツリーの異なるグループ化が存在することができ、従って、各モジュールの結合経路では、非重要経路を有するサブツリーの異なるセットが存在することができる。ここで、最大時間遅延を有するサブツリーは、Ｍ５、Ｍ２、Ｍ０及びＭ７、Ｍ３、Ｍ１、Ｍ０、ＭＣである。第１サブツリーは、前に説明したビット０状況と比較すると異なるが、第２サブツリーは変更されていない。従って、ビットＮに対して、遅延は、Ｍ２とＭ６を相互接続するポートで付加されるのに対して、ビット０の時には、付加的な遅延が、Ｍ２とＭ５を接続するポートで付加される（図４７に示されている通り）。
【０１５５】
図５１は、上述の表記で表される結果遅延を示している。熱又は他のゆっくりと時間的に変化する影響は、モジュールのマルチプレクサによって選択され、共通クロックによってサンプリングされるデータの位相及びビット同期を維持するために遅延の調節を必要とする場合がある。図５２のモジュールＭ０、Ｍ１、及びＭ２上に示されている遅延の台形拡張５６０は、このような変化する付加的な遅延を示し、ここで、拡張の全長５６５は、最大全付加遅延を示し、破線の横断線５７０は、最小付加遅延を示している。別の態様では、モジュールの内部構成、及び処理遅延などを含むことができる一部の要因のために、モジュール内の遅延は、各レーンに対して同じではない場合がある。様々なレーンがモジュール間の論理ビット送信のために選択された時に、モジュール遅延は、従って、選択されたレーンに依存することになる。これは、図５３に示されている広いタブ５７５のあるボックスによって表されている。これは、象徴的な表現であり、遅延がモジュールの入力又は出力で必ず発生することを意味する。
【０１５６】
選択された時間遅延制御の方法に応じて、脱スキューが必要になる前にモジュール上のスキュー修正のために遅延を発生させることができる。図５４ａ、ｂは、遅延を発生させる２つの手段の実施例を示している。前に示したように、図５４ａでは、遅延が、Ｍ６への接続でＭ２に加えられるように示されており、ここで、Ｍ５からＭ２の経路は非重要である。代替的に、遅延をＭ５に加えることができ、図５４ｂに示すように、Ｍ２とＭ０両方で遅延がなくなる。それによって、Ｍ５とＮＣ間の遅延を低下させることなくＭ６及びＭ２とＭＣ間の全体的な遅延が低減されたことが分る。
【０１５７】
図５５ａは、図４６及び４９で説明したツリーの遅延を示し、ここで、遅延の各々は、０及びＮと指定されたビットに対して示されている。図５５ｂは、同じツリーを示しているが、モジュールＭ７は削除されている。図５５ｂで表されるように、「最も長い遅延モジュール」がないことを示すために、長い遅延が構成から取り除かれている。ビット０に対する最も長い遅延は、モジュールＭ６への経路で発生していることが分るのに対して、ビットＮに対する最も長い遅延は、Ｍ４への経路で発生していることが分る。
【０１５８】
図４６−５５は、例えば、モジュールＭとモジュールコントローラＭＣ間の戻り経路での時間遅延の例を示している。ＭＣとモジュールＭ間の指令及びデータの送信と肯定応答又はデータの戻りとは、時間遅延を包含するが、この状況は、戻り経路が１つよりも多い経路からのデータの多重伝送を必要とする態様での戻り経路とは異なり、ＭＣからの指令又はデータの送信は、データが分岐によってツリーの下流に広がる方式で実行することができる。位相修正が同期に対して必要とされるが、時間遅延の付加によるスキュー修正は必要ではない。ＭＣからモジュールＭへの経路での時間遅延とモジュールＭの戻り経路での時間遅延とは、同じビットに対しても同じではない。図５６では、表示を簡単にするために、モジュールで発生する遅延が存在し、位相同期遅延のどのようなスキューも含むモジュール間の遅延の全てが、モジュールを集めるラインの長さの一部として示されている。図５６ａは、指令がＭＣから送信されているツリーを示し、モジュール間送信での総遅延が点線として示されている。経路管理における説明に従ってブロードキャスト指令でない場合の指令は、モジュール間の接続の各々を実際には通過せず、宛先アドレスに応じてリンクの部分集合だけを通過することができる。しかし特定の経路を通過する限り、通過する場合の遅延が示されている。
【０１５９】
図５６ｂは、図４８に前に示すようなツリーを示している。モジュール間のラインは、図４８に示すラインと図５６ａに示すラインの和である。点線５８０は、ＭＣからモジュールの各々に遷移するビット０が遭遇する時間遅延を表し、実線及びタブは、ビット０に対するモジュールからＭＣへの戻り信号の遅延を表している。表示の目的のために、ＭＣからの信号を準備して送信する時間、アドレス指定されたモジュールで信号を復号化し、それに応じて作動し、更に応答信号を送信する時間、及びＭＣで信号を復号化し、それに応じて作動する時間は、省かれている。
【０１６０】
図５６ｂは、従って、モジュールＭｉのいずれか１つ又はそれよりも多くに送られる時のビット０に対するＭＣからの指令と、ＭＣによって受信される指令へのＭｉの応答との総通過時間を示している。
【０１６１】
図５７は、図５６ｂの状況をより詳しく示しており、ツリー全体の指令及び応答の全体的な通過時間を表すための表記法を取り入れている。「ｓｄＭ＿ｉ＿Ｎ」は、ＭＣからＭｉへの指令（又はデータ）の送信とモジュールＭｉからＭＣの入力までのレーンＮの第１ビットの戻りとの間の遅延を表している。「ｓｔＭ＿ｉ＿Ｎ（ｔ）」は、ビットＮが送信した時間から応答が送信側回路で受信した時間までの時間である。これは、指令がビット０としてＭＣからモジュールＭ５に送信されており、応答がＭＣで受信されている状況に対して「ｓｔＭ＿５＿０（ｔ）」＝ｔ＋「ｓｄＭ＿５＿０」である場合のモジュール５について示されている。
【０１６２】
前の例は、出発及び戻り経路のツリーのトポロジーが同じ構成を有する場合の状況を示している。しかし、このような構成は必要ない。図５８ａ及びｂは、同じモジュールがＭＣから及びＭＣへの送信のための異なる経路指定を有する場合の状況を示している。これは、戻り経路構成である図５８ａと、出発経路が示されている図５８ｂとを比較することによって理解することができる。全体的な往復伝播時間が図５８ｃに示されており、破線及び実線の該当する長さが、前の例のように方向を表すのに使用されている。図示の構成では、一部の経路が１つよりも多い場所に示されており、これらの遅延表示の配置は、ラインを囲む楕円によって示され、ラインは、遅延のソースを示している。図５９は、戻り経路だけを示す図４９に等しいが、図５９は、出発経路の特定のツリーを含む。
【０１６３】
図６０ａ、ｂは、複数の信号経路を示しており、ここで、信号経路は、データ経路から除くことができる。図６０ａでは、モジュールＭ４に、Ｍ０からＭ２、Ｍ５、及びＭ４への経路によって到達することができる。この経路は、これを前に説明した経路Ｍ０−Ｍ１−Ｍ４と区別するために矢印で終端して示されている。同様に、モジュールＭ７には、Ｍ３からの２つの異なる経路によって到達することができる。Ｍ３からＭ７への２つの異なる経路が存在する状況は、例えば、リンクのチャンネル化があり、各チャンネルは、関連する信号構成要素を有する態様を表すことができる。このように信号経路を表すことは、異なるチャンネルが例えば異なる遅延を有する異なるレーンを使用することができる時に、異なる信号遅延を有する状況を考慮に入れることができる。Ｍ４への付加的な経路は、通信目的のために存在する付加的な接続を表すことができる。このような使用は、モジュールが格子メッシュで接続されている時に、例として理解することができる。１つよりも多いモジュールコントローラが、異なる経路長があるモジュールと通信している態様では、１つよりも多いルートが制御信号を送るのに使用することができる時に、信号競合を防ぐために他の経路を使用することができる。
【０１６４】
図６０ｂは、モジュールコントローラＭＣとモジュールＭｉの各々の間の経路に全てが関連しているタイミングを図形で示しており、ここで、信号経路は、点線として示され、戻りデータは、実線として示されている。モジュールＭ４からの遅延の付加的な遅延成分は２回示され、楕円記号は、その特定のインスタンスを示している。経路の１つは、信号がＭ０からＭ１−Ｍ４に延びる経路上にある場合であり、他の経路は、Ｍ１からＭ２−Ｍ５−Ｍ４に延びる。
【０１６５】
指令に応じてモジュールから戻るデータ又は指令の詳細なスケジューリングの以下の説明では、本発明者は、簡潔には、指令が、ＭＣから全てのモジュールに時間遅延なく送信され、アドレス指定されたモジュールが、時間遅延なく指令に応じて作動して指令に応答することを想定している。これは、使用している表記法を表示することを助ける。更に、スロット化時間モデルを最初に説明し、この制限は、取り除くことができるように後に示している。図６１−７１のタイミング例は、データがＭＣにどのように到着するか示している。
【０１６６】
右側がモジュールコントローラＭＣに到着する時間を表し、左に延びる時間が後の時間にＭＣに到着する指令又はデータを表すように、タイムスロットがタイムライン上に示されている。表記ｔＣｉは、パケットＣｉの最初のビットがＭＣに到着する時間を表している。この説明は、例えば、レーン０に関し、スケジューリングの同じタイプを各個々のレーンに対して実行することができることを理解すべきである。更に、遅延を示すタイムラインｄＭｉは、直線で示されているが、遅延はツリーで発生し、可変遅延ジッタバッファを組み込むことができる。従って、モジュールがリンクのレーンにビットを挿入する実際の時間は、送信の遅延時間である。ジッタ／熱バッファによる時間の変動の影響は、図面を過度に複雑にすることになるので示されていない。この単純化の結果、ビットのタイミングが構成のより低いレベルで考察される時に、タイムライン上の正確な位置から外れるように、互いに対してシフトされてビットが現れるが、ジッタ／熱バッファの修正の結果、ＭＣで受信される時にタイミングが修正されることになる。
【０１６７】
タイムスロットの全体的な長さは、大きな六角形のブロッキング９００によって示され、ビットの時間周期は、小さな六角形ボックス９１０によって示されている。この例では、タイムスロット化システムが使用され、モジュールは、データの送信を準備する時間から適切なスロット時間に達するまで待つという制約が課せられる。例えば、読取指令がｔ１でＭ７に送られた場合、スロット「ｔＣ＿（ｉ＋４）」がモジュールＭ７で既に始まっている時にスロット「ｔＣ＿（ｉ＋５）」の前に応答を始めることはできない。図６１ｂは、全スロット時間が経過した後の状況を示している。この時、スロットの全ては、１スロット時間だけ時間的に移動しており、スロット「ｉＣ＿（ｉ＋１）」は、ＭＣに到着し始めている。モジュールＭ７は、５ビットがスロット「ｉＣ＿（ｉ＋５）」に挿入されるようにデータを挿入し始めている。図６１ｃは、「ｉＣ−（ｉ＋２）」がＭＣに到着し始めた状況を示しており、それによってＭ７からのビットの全てが、ここでタイムスロット９２０に挿入されているのが分る。更に別の時間が経過した後、このタイムスロットは、ＭＣで受信される。これは、データがスロットに満たされるように、ビットが各クロックパルスで連続して挿入される時に起こる。
【０１６８】
態様においては、モジュールからメモリコントローラＭＣのようなツリールートに戻されたデータ又は指令が所定の順序で到着するように、図６２ａ−ｃに示すように固定タイムスロットが各モジュールに割り当てられる。ここで、複数の指令がＭＣによって送信されている。単純にするために、指令及びデータは、固定遅延システムで送られると考えられる。この例では、指令は、最も遠いモジュールの遅延を有するように作用されると考えられる。このような時に、より短い遅延を有するモジュールが存在する場合でも、所定のスロットに適合するように戻りが遅延される。
【０１６９】
図６２ａは、スロットｔＣ（ｉ＋６）がＭ７に５クロックサイクル早く到着する場合の状況を示し、５ビットのデータが、既にスロットに挿入されている。更に、読取指令は、Ｍ０及びＭ２に送られており、これらの指令に対する応答スロットが、ｔＣ（ｉ＋６）及び「ｔＣ＿（ｉ＋７）」のそれぞれに割り当てられる。図６３ｂは、８クロックサイクル後の状況を示しており、Ｍ７が、割り当てられたスロットを満たし、更に、読取指令が、Ｍ３及びＭ６に送られ、応答スロット「ｔＣ＿（ｉ＋９）」及び「ｔＣ＿（ｉ＋１０）」がそれぞれ割り当てられている。８つの付加的なクロックサイクル後に、スロットは、全スロット周期だけ移動している。しかし、スロットの位置を遅延時間ｄＭｉと比較することで示すように、次のスロットのどれもが応答を運ぶために割り当てられたデバイスに達していないこと、及び他のモジュールはビットを挿入していないことに注意すべきである。
【０１７０】
図６３ａでは、８つの付加的なクロックが発生しており、モジュールＭ０、Ｍ２、及びＭ６からの応答に割り当てられたスロットが時間的に順方向に進むが、それぞれのモジュールは、レーン上のストリームにビットを挿入することができる時間に達していない。８つの更に多くのクロックが図６３ｂで発生しており、ここで、モジュールＭ０、Ｍ２、及びＭ６のためのスロットは、モジュール遅延ｄＭｉと比較した時に示すように適切なモジュールに達しており、この時、モジュールＭ０は、１ビットを挿入し、モジュールＭ２は、５ビットを挿入し、モジュールＭ３は、レーン上に３ビットを配置している。ＭＣに到着しているスロットの表示は、図示のシーケンスの始めから経過したクロック周期の総数を示している点に注意すべきである。
【０１７１】
「ｔＭＣ＿０」＝ｔ１＋４５で、モジュールＭ６は、７ビットを挿入しており、前のスロットは既に満たされている。４つの更に多いスロット時間に、スロット「ｔＣ＿（ｉ＋１０）」の終わりで、ビットの全てがＭＣに到着する。
【０１７２】
例示されたシーケンスを実行するための総時間は、このレーンに対してＭ７であった最も遠いモジュールまでの時間遅延であった。別のレーンに対して、別のモジュールが最も大きな遅延を有する場合がある。このような状況の下で、遅延は、最も大きな遅延まで増加させることができる。別の態様では、図６４は、可変遅延スケジューリングの例を示している。スロットシステムを使用することができるが、モジュールに送られた指令は、まだ割り当てられておらず、モジュールに関連した遅延に到達していない最初の戻り時間スロットを割り当てることができる。比較のために、図６４及び６５は、図６２及び６３と同じ時間シーケンスを示している。しかし、ここでは、Ｍ０及びＭ２に指令を出す時に、応答スロットが、スロット「ｔＣ＿（ｉ＋７）」及びｔＣ（ｉ＋８）ではなく、スロット「ｔＣ＿（ｉ＋４）」及び「ｔＣ＿（ｉ＋５）」にそれぞれ関連付けられる。図６４ｂに示すように、８クロックサイクルが経過した後、指令は、モジュールＭ３及びＭ６に出され、「ｔＣ＿（ｉ＋９）」及び「ｔＣ＿（ｉ＋１０）」として応答スロットを割り当てる代わりに、応答スロットは、「ｔＣ＿（ｉ＋７）」及びｔＣ（ｉ＋８）にそれぞれ割り当てられる。図６４ａから図６５ｃは、割り当てられた戻りスロットの時間経過と適切なクロックインターバルでのデータの挿入を示している。モジュールＭ６に送られた指令への応答の最後のビットは、「ｔＭＣ＿０」＝ｔ＋５５でＭＣに到着するのに対して、固定遅延スケジューリングを使用する図６２及び６３に示す前の例では、Ｍ６からの応答の最後のビットは、「ｔＭＣ＿０」＝ｔ＋７１までＭＣに到着しない。従って、どのモジュールからの応答における遅延も、可変遅延スケジューリングを使用することによって低減することができる。
【０１７３】
図６６及び６７は、スロット化された送信時間へのデータの制限が取り除かれた状況を示している。図６６ａでは、読取指令Ｒは、ｔ＝１でＭ７に送られており（指令の送信及び処理のための時間遅延が、この説明では無視されていることを思い起こされたい）、４クロックサイクル後の状況が示されており、４ビットのデータがレーン上に既に載せられている。指令が、Ｍ０及びＭ２に送られる時に、これらのモジュールは、同様にデータを挿入することができる。図６６ｂは、４クロックサイクル後の状況を示しており、Ｍ７応答に対するビットの全てが挿入されており、Ｍ０及びＭ２応答の各々に対して４ビットが挿入されている。この時、指令は、Ｍ３及びＭ６に送られる。図６６ｃは、モジュールＭ２及びＭ０が応答ビットの挿入を完了しているが、モジュールＭ３及びＭ６はビットの挿入を開始していない場合の４クロックサイクル後の状況を示している。Ｍ３及びＭ６の応答スロットは、Ｍ０及びＭ２の応答スロットがＭ７の応答スロットに重なるので即時に割り当てられることはなく、これらは、次の可能なクロックサイクルに配置される。図６７ａ−ｃは、シーケンスの更に別の時間経過を示している。この状況は、スロット間の一部のスペースをそのままにすることができる。しかし、可変幅データ又は指令のためのスペースを使用することができ、又は異なるモジュールからの応答を交互に差し挟むことができる。
【０１７４】
図６８及び６９は、信号遅延が示されているスロット化されていない応答の状況を示している。応答に対する時間の割当ては、指令がモジュールに達する時間が考慮に入れられる時には信号遅延に依存し、レーン上のビットの配置が遅延される。これは、指令がモジュールで受信された時間までにモジュールを既に通過していることになるレーン上にビットを載せる時間をモジュールに割り当てることができない状況を表すことができる。従って、システムがスロット化された時間を有する必要はない。
【０１７５】
モジュールコントローラＭＣは、モジュールコントローラＭＣよりも遅いクロック速度で実行するためのシステム又はバスに接続することができる。ＭＣは、高速データを受信し、データのシリアル化を解除し、データをラッチし、データを別のインタフェース上で送出し、又はモジュールコントローラＭＣ内でデータを使用する何らかの時間が存在することができる。より低速のクロックに対してラッチさせるのに不十分な時間でＭＣに到着するデータは、より低速のクロックの速度クロックサイクルで使用可能になる。
【０１７６】
ビットが次のより低速のクロックサイクルで使用されるのに間に合うように到着しない送信は、次のより低速のクロックサイクルで使用することができる最後の可能な時間にビットが到着し、更に、システム性能への改良並びに論理の複雑さの低減が生じる送信に比べて全く利点を持たない場合がある。
【０１７７】
図７０ａは、図６８ａのシステムと同じ信号遅延を有するシステムを示し、このシステムでは、Ｍ３がＭ６（ｓｄＭ６）よりも低い信号遅延（ｓｄＭ３）を有し、時間ｔ１に送られた指令への応答が「ｔＬ＿（ｔ１）」＋４８で両方のモジュールに対して同時に戻ることが分る。この結果、Ｍ３の信号遅延が、図７０ｂに示すように調節された信号遅延（ａｓｄＭ３）に置換される時に、Ｍ３の応答待ち時間は同じままである。この時に、モジュールコントローラＭＣの指令戻りスケジューラーは、高速クロック時間に基づいてスケジューリング判断を行うことなく、より遅いスロット時間で作動することができる。指令スケジューラーはまた、図７０ｂで示すｓｄＭ６、ａｓｄＭ５、ａｓｄＭ４、及びａｓｄＭ３の場合のように、信号遅延が同じスロット時間内におさまるモジュールに対してスケジューリングタスクを行うことができる。
【０１７８】
このような遅延調節がモジュールコントローラＭＣの実施又は作動に有益である時に、モジュール信号遅延のこのような調節は、単に「仮想」調節として行うことができる。すなわち、信号は、ａｓｄＭｉではなくｓｄＭｉでモジュールＭｉに到着するが、あたかも信号がａｓｄＭｉで到着しているかのようにモジュールコントローラが作動する。
【０１７９】
別の信号遅延を低減するような方法で１つのモジュールの信号遅延を増加させるために、図３５−３８に示されているレーンのタイプの交換を実行することによって遅延を増加させることができる。全体的な信号遅延は、順方向及び逆方向遅延の両方の結合である。例えば、図７０ａでは、少量だけｓｄＭ２を増加させることにより、ｓｄＭ３＜＝ｄＭ６になるようにｓｄＭ３を低減することができ、Ｍ３の指令待ち時間は、Ｍ２の指令待ち時間を増加させることなく改善することができる。
【０１８０】
１つの経路における全体的な遅延の改善は、１つよりも多い他のモジュールの遅延を調節することから得られる。遅延における改善は、別のモジュールの指令遅延を増加させる段階を包含する。例えば、図７０ａでは、ｓｄＭ１＝ｓｄＭ２になるようにｓｄＭ１を増加させることで、ｓｄＭ７＝＝ｓｄＭ６になるようにｓｄＭ７を低減することができる。この例では、Ｍ１の指令待ち時間は、１スロット時間だけ増加することになり、Ｍ７の指令待ち時間は、１スロット時間だけ減少することになるが、ｓｄＭ１は、ｓｄＭ７．１よりも小さい。
【０１８１】
指令遅延が低減されたモジュールが、遅延が増加されたモジュールよりも実際に少なくなる遅延の調節も、有用である場合がある。
【０１８２】
図７０ｃは、図７０ａでの構成の実施例を示しており、モジュールコントローラＭＣが指令を送信することができるタイミングは、あるとすればスロット時間に比べて固定されておらず、及び／又は低速クロックである。図７０ｃは、図７０ａの実施例後のｔ１＋４、又は４高速クロックでの状況を示しており、ここで、スロットは、モジュールコントローラＭＣにより近く４ビット移動しており、モジュールの指令遅延に影響を与えることなく使用することができる調節された信号遅延値の異なるセットを結果として生じる。
【０１８３】
図７１ａは、前の実施例のモジュールＭ０及びＭ２のデータ遅延及び信号遅延、モジュールの各々が３つの異なる指令ＣＭＤ＃１、ＣＭＤ＃２、及びＣＭＤ＃３を実行するのに必要な時間、並びに前の指令がＣＭＤ＃２であった時に、ＣＭＤ＃３＿（２）として示されるＣＭＤ＃３を実行するのに必要な時間を示している。この表記は、１つよりも多い前の指令、又はモジュール又はシステムの様々な状態を考慮に入れることができる。この例では、各指令の遅延は、両方のモジュールに対して同じであるが、所定の指令の遅延が各モジュールに対して同じである必要はない。
【０１８４】
図７１ｂは、結果生じた指令信号遅延を示し、ここで、表記「ｓｄ［３］Ｍ２」は、モジュールＭ２に対する指令ＣＭＤ＃３の信号遅延であり、ｓｄ［３＿（２）］Ｍ２は、モジュールＭ２に対する指令ＣＭＤ＃３＿（２）の信号遅延である。
【０１８５】
１つのモジュールに対して１つよりも多い可能な調節信号遅延が存在することができる。例えば、モジュールコントローラは、１つのモジュールから１つよりも多い宛先に戻されたデータを送信することができ、又は１つよりも多い可能なクロック境界がクロスされるように戻されたデータによって１つよりも多いオペレーションのタイプを実行することができる。クロック「境界」は、より高速のクロックによってデバイス、機能、処理などに至るシリアル化処理でのスロットの開始時間になる。クロックが固定位相又は周波数関係を有するという要件はない。
【０１８６】
前の例では、名目上、高速リンクでの「ビット時間」を表すために「高速クロック」が使用されていたが、例えば、データが両方のクロック端で送信され、マルチ値信号が使用され、又はクロック差、多位相クロック、及び／又は１つよりも多いクロックが使用される時に、高速クロックは、ビット時間とは異なるものにすることができる。明確にするためにのみ、クロック時間とビット時間が同じであるように実施例が与えられていることを理解すべきである。
【０１８７】
また、分かり易いように、データに対して、「次に低速のクロック」によって到着したと言われているが、これは、直ちにクロック時間に続くとは限らない、このデータを使用することができる次の機会を表すことを理解すべきである。
【０１８８】
物理及び論理レイアウトの実施例が与えられている。他のレイアウトも可能であり、当業者には明らかであろう。例えば、図７２は、モジュールＭ０からＭ７が線形方式で互いに平行に配置されるように、マザーボード又は基板上に前記で図５に示すツリーに類似のツリーを配置することができることを示している。このような構成は、冷却空気の流れを促進することができ、又はマザーボード又はメインボードの電気的レイアウトを最適化することができる。図７２では、モジュール間の接続を示すために、モジュール間のラインが矢印で終端してモジュールの境界で始まるようにラインが表示されている。これらの接続の一部は、どのような機能的な接続もなしにモジュールを仲介することによって通過し、このような構成は、線を点にするか又は影にすることによって示すことができるが、モジュールから発して矢印によって終端されることなく別のモジュールを通過するラインは、物理的かつ有効にモジュールを迂回していると考えられる。機能的相互作用なしにモジュールの傍を通過するラインの物理的な態様は、詳細な設計次第であるが、態様においては、点線又は迂回する線が、プリント回路基板の後側、又はプリント回路基板又は基板の層内を通過するラインを表すことができる。
【０１８９】
図７３ａは、図７２と同じ構成を示しているが、「前部」側及び「後部」側を有し、前部側の方向を太い矢印で示す各モジュールが示されている。各モジュールは、前部側に１つのポートと後部側に２つのポートを有し、ポートは、２つの一方向のラインのグループとして示されている。別の態様では、各ポートは、双方向ラインから構成される。この構成でのＭ０及びＭ１のような２つのモジュール間のインタフェースは、図７３ｂに示すように互いに相対する前部側をもたらす。全体的な図７２の構成を形成するためのモジュールの向きは、図７３ａに示されている。
【０１９０】
図７４ａ−ｄは、他のモジュールの構成の例を示している。図７４ａには、モジュールＭ０及びＭ１が平面図で示されており、モジュール間のラインは一方向である。代替的に、ラインの各々を双方向にすることができ、又はラインのグループから構成することができ、記号Ｒ及びＴは、受信又は送信接続としてではなく、基準指定子と考えることができる。この時に、Ｒ接続は、各モジュールの左側に示され、Ｔ接続は、各モジュールの右側に示されている。モジュールＭ１のＴ接続を例えばＭ０のＲ接続に接続する時に、接続は、モジュールの各々の下を通るのに対して、Ｍ０のＴ接続のＭ１のＲ接続への接続は、モジュールの下を通らない。
【０１９１】
図７４ｂは、側面図で図７４ａの構成を示し、ラインの一部は、ボード９７０ａの１つの層上に配線され、一部は、ボードの別の層９７０ｂ上に配線されている。モジュールの各々は、様々な回路構成要素が配置された回路基板とすることができ、構成要素は、メモリチップ、ＣＳＥ、他のインタフェース、及びコンピュータ素子などを含むことができる。図７４ｃは、平面図での別の構成を示しており、対応する側面図が図７４ｄに示されている。図７４ｃ、ｄでは、モジュールは、スイッチを表すＳｉとして示されている。スイッチＳは、回路基板上に配置されたＣＳＥ又は他のデバイスとすることができる。しかし、他に具体的に制限されない限り、Ｓ、Ｍ、Ｔ、Ｒのような指定子の使用は、機能をスイッチ、モジュール、送信機能、又は受信機能に制限するのではなく、一般的な基準指定子を意味する。レーンは、一方向又は双方向とすることができ、説明する特性の結合を有するラインのグループから構成される。
【０１９２】
図７５は、モジュール間の相互接続がマザーボード又は基板上にない態様を示している。Ｍ０とＭ１間の接続がマザーボード上にあるものとして示されており、Ｍ２と別のモジュール（示されていないが、モジュールＭ２の右に配置されている）間の接続が、図７５ａの平面図に示されている。しかし、Ｍ０とＭ２間の接続は、モジュールＭ０、Ｍ２の上部間で接続したボード９８０によって行われているものとして示されており、これは、コネクタ付きにすることができる。代替的に、この接続は、ケーブル及びコネクタ又は他の手段によって行うことができる。この構成は、図７５ｂに側面図で示されている。
【０１９３】
態様においては、図７６は、図７２の構成の一部を示しており、モジュールへの接続は、１つのポートに対してモジュールのいずれかの側でＴ及びＲ接続を交互にするように示されている。図のように、受信接続Ｒが右側にあり、送信接続Ｔが左側にあり、次に、送信接続Ｔが左側にあり、受信接続Ｒが右側にある時に、単一の交替がある。３つのポートがモジュールの各々に示されているのが分る。接続のこのような交替のどの数も表示することができ、各交替に関連したラインの数は、ゼロから上向きに及ぶ。各グループでのラインの数は等しくなくてもよい。接続のこのような配置は、向かい合う部分を配向するためにモジュールを逆にして回転させることなく、例えば、図７３に示すようにモジュールを接続させていることが分るように、モジュールの前部及び後部側を示す必要を排除することができる。従って、対称的なプラグインカードを一部の用途に導入することができる。
【０１９４】
別の態様では、図７７は、Ｔ及びＲ接続が交互にされない場合のカードの同じ構成を示している。ここで、Ｒ接続は、ボードの左側にあり、Ｔ接続は、ボードの右側にある。これは、接続の交替が、カード及び接続のある一定の構成には必要ないことを例示している。
【０１９５】
図７８は、図７７のボード接続構成が使用される態様を示している。送信ラインの上部２つのセットで続行される代わりにＭ１からＭ３への接続は、上部から第２のグループを含む。モジュールＭ０とＭ３間のレーンは、Ｍ０の上部からＭ０の中央のスイッチ（図示せず）に経路指定されており、図７７に示すように、Ｍ１の上部に更にＭ３に横断する。従って、最も長い信号経路は、Ｍ０の長さの半分であり、スイッチに達し、次に、Ｍ１に横断し、モジュールＭ１の上部まで至る。しかし、図７８に示すようにレーンを配置することにより、Ｍ３からＭ０の出力、ＭＣ（図示せず）までの距離は低減される。この態様では、モジュール上の経路の長さだけが考えられている。モジュール間の距離は、経路指定の考察事項の一部である。状況によっては、モジュール上を移動する距離は、モジュール間の距離よりも長い。モジュール上の経路を交互にすることは、レーンを論理的に横断するデータのルートを交換することに類似の方法でツリーの更に下のモジュールへの全体的な遅延を低減することが分るであろう。
【０１９６】
図７９は、異なる幅のリンクを間に有するモジュールの構成を示している。モジュールＭ０は、モジュールコントローラ（図示せず）へのトラフィックの２つの全ポートを備えた２つの全レーンを有する。しかし、Ｍ０は、モジュールＭ１、Ｍ２、Ｍ３、及びＭ４の各々に比べて半分のレーンを有する。各モジュールがＭ０に接続するレーンを満たすことができるので、２つのモジュールは、全速度で同時に通信することができる。Ｍ１への接続を有するＭ５、Ｍ６、Ｍ７、及びＭ８への接続の例では、モジュールの全てが全速度で同時にアドレス指定される。このような構成は、「ファット」ツリーと呼ばれる。このようなツリーでは、複数のモジュールに輻輳なしにアクセス可能なように、データ経路の幅は、ルートを進む時に増加する。
【０１９７】
図８０は、格子の形式でモジュールのグループ化を示している。図８０ａでは、４つのモジュールが基本の四角に接続されており、４つのモジュールは、モジュールの対が互いに並行になるように、更に、モジュールの対が互いに一直線になるように装着されている。この構成が、コネクタによってボードに装着され、更に、ボードから垂直に上がっていくモジュールに応用される時に、互いに並行なカードのアラインメントにより、冷却空気の循環を促進することができる。物理的な構成は、従って、論理的相互接続構成に関係なく普通に行われる。図示の態様では、モジュールは、交互の送信及び受信接続を有する。Ｍ０とＭ２を接続するラインのＵ型の構成は、Ｕの外側を回る最も長い経路を取るレーンが、モジュールの中心により近い層であり、かつ中心に位置決めされたスイッチ又はＣＳＥにより近づける層である時に、スキュー低減をもたらすことができる。
【０１９８】
図８０ｂは、図８０ａの回路の論理表現を示し、ここで、各ボックスは、モジュールなどを表し、単一のラインは、リンク、ライン、及びレーンのようなモジュール間の相互接続の全てを表している。この構築ブロックから、図８０ｃは、４つのモジュールの要素構成がモジュールの格子にどのように拡大していくかを示している。格子は、どの方向にも完全に規則的である必要はなく、その内側に間隙を有することができる。
【０１９９】
図８１ａに示されている６つのグループのような多種多様な幾何学的構成を形成することができる。（モジュールは、図に示されているものと異なる物理サイズである必要がなく、様々なサイズのブロックの使用は例証における便宜のためである点に注意されたい。）図４の構成と同様の６モジュールの論理構成が、図８１ｂに六角形の形で示されている。図８２は、六角形構造で作られた格子を示している。接続性の点から、Ｍ０から延びる経路が直線的に進み、Ｍ２の下部に延びる経路に接続し、ボードの上部の送信ラインがＭ２上のボードの上部のラインを受け入れるために延びる図８０とは対照的に、図８１ａでは、Ｍ０がＭ３に接続されているように見え、Ｔラインが接続されているように見える。しかし、Ｍ０は、実際にはＭ５と通信しており、Ｍ３は、Ｍ２と通信しており、図８２ｃに示すような互いからオフセットされている６モジュールグループのために適切な端子が関連付けられている。
【０２００】
図８３に示されている更に別の態様では、モジュールの配置は、格子構成であり、モジュールに接続するように構成されているプロセッサユニット（ＣＰＵ）、メモリコントローラ又はモジュールコントローラ、又はその他のデバイスに接続されている。この時に、メモリは、４つの中央プロセッサユニット（ＣＰＵ１、．．．、４）で共用される。
【０２０１】
図８４は、２つのＣＰＵデバイスが２ツリーと呼ばれるものに接続されている更に別の構成を示し、これは、ツールートツリーと呼ばれる。態様においては、ＣＰＵ（Ｃ０）は、モジュールＭ０、Ｍ２、Ｍ４、及びＭ６に接続されているツリーのルートとして作動することができ、ＣＰＵ（Ｃ１）は、モジュールＭ１、Ｍ３、Ｍ５、及びＭ７のルートである。関連のルートＣＰＵによるツリーの各々へのアクセスは、他のツリーのオペレーションに関係なく行うことができる。しかし、他のツリーへのアクセスが望ましい時に、潜在的な競合を仲裁するためのプロトコルをツリーシステム内又はＣＰＵ間のいずれかに提供することができる。このような二重ポートメモリにより、２つ又はそれよりも多くのＣＰＵが同じモジュールにメッセージを記憶することによって通信することができるようになり、共通モジュールへのアクセス経路を存在させることができる。特に、例えば、ラインの半分を１つのＣＰＵの制御下におき、ラインのもう半分をＣＰＵが互いにメッセージを送信することができるか又は通信することができるように他のＣＰＵの制御下に置くことができるようにモジュールＭ０からモジュールＭ１への接続をチャンネル化することができる。
【０２０２】
図８５ａ、ｂは、ＣＰＵに接続したモジュールの２つの異なる構成を示し、この図では、論理ツリーがモジュールの各々をＣＰＵに接続している。このような状況では、論理経路上にないリンクは電源アップされないが、リンクの電力リングを不可能にするものは何もない。様々な論理ツリーを制御及び戻り経路のために使用することができる。このようなツリー構成では、データ及び制御フローが個々のモジュールの使用に基づいて負荷を分散するように割り当てられるか、又はＩ／Ｏデバイスへのアクセスを可能にするように接続を論理的に再配置することができる。
【０２０３】
図８６ａは、六角形モジュールのアレイを示し、各六角形は、制御経路が太い接続ラインとして示される別々のＣＰＵ（ＣＰＵ１、．．．、４）を有する。図８６ｂは、別々のＣＰＵを有する正方形モジュールの格子構成を示し、分かり易いように、各ＣＰＵからの論理制御経路が別々の記号で示されている（様々な実線、破線、及び点線）。これらの図では、メモリ要素の関連するグループにアクセスするだけで別のコンピュータとアクセスを共有しないＣＰＵが示されている。しかし、図８７ｂは、共有メモリ領域に拡大するような制御及び戻りバスの拡張を示している。共有メモリへのメモリアクセスの仲裁は、ツリーにより、又は別々の通信経路上のＣＰＵ間の通信により、又は一部の他の手段によって行われる。ＣＰＵ（Ｃ１）及び（Ｃ２）の時に、レーンの一部は、前に示す幅の半分として示されており、上述のように、このような構成は、２つのプロセッサによって同時にアクセス可能である。プロセッサは、共有メモリに交互にアクセスするように構成可能とすることができる。
【０２０４】
図８８は、４つのＣＰＵと、メモリモジュール、並びに入力／出力（Ｉ／Ｏ）デバイス（Ｉ／Ｏ＃０から１／Ｏ＃４）として構成された４つのモジュールとすることができるモジュールの格子との構成を示している。この例では、ＣＰＵの各々が仲裁の必要なくＩ／Ｏモジュールのいずれにも同時にアクセス可能なことが分る。
【０２０５】
図８９は、Ｉ／Ｏモジュールが、ＰＣＩバス、ＰＣＩエクスプレスのような２地点間バス、多重ドロップメモリバスに接続するメモリハブＭＨ＃０、及び２地点間メモリバスに接続するメモリハブＭＨ＃１とすることができる多重ドロップバスに接続するためのバスブリッジ（ＢＢ）のような他のコンピュータシステム要素によって置換される構成を示している。ラインの幅は、全ての経路が等しい幅である必要がなく、経路が対称である必要もないことを図式的に示すように等しくない幅で示されている。
【０２０６】
図９０は、どのトレースのセットが使用されるかに応じて、線形及び／又はツリートポロジーの両方をサポートすることができるモジュール及びリンクの構成を示している。
【０２０７】
図９１は、中心トレースを使用する線形トポロジーで使用される図９０の構成を示している。
【０２０８】
図９２は、外側トレース並びに中心トレースの一部を使用するツリートポロジーで使用される図９０の構成を示している。
【０２０９】
図９３ａは、モジュールの両側に位置決めされた一部のＲＡＭチップを有するモジュールＭ上に配置されたＣＳＥを示し、モジュールコントローラからＲＡＭチップへの接続を提供する。ＲＡＭは、メモリタイプの例として使用され、使用することができるメモリ技術のタイプを制限するものと解釈すべきではない。
【０２１０】
図９３ｂは、「ビットスライス」方式で図９３ａの機能を提供する３つのＣＳＥを示している。
【０２１１】
図９４ａは、実線で示されたＲＡＭへのデータラインと破線で示されたアドレス／指令ラインを有する図９３ａと同じ一部のＲＡＭチップを備えたモジュール上のＣＳＥを示している。ボード上のモジュールのサイズ及びロケーションは、多くの用途で重要ではない。
【０２１２】
図９４ｂは、ＲＡＭからのデータラインが一部のより小さなＣＳＥ全体にビットスライスされているモジュール上の一部のＣＳＥを示している。モジュール上の一番右のＣＳＥは、ＲＡＭへのアドレス／指令ラインを制御し、ビットスライスＣＳＥもアドレス／指令ラインを制御することができ、更に、一番右のＣＳＥは、同様に一部のＲＡＭチップからのデータを運ぶことができる。
【０２１３】
図９５は、ツリーの下部にあるリーフモジュールのモジュール（Ｍ６及びＭ７）上の信号リンクの相対的物理位置が同じである構成を示し、それによってリンクの１つのセットを接続するためにトレースのみを有するリンク及び／又はコネクタの１つのセットのためのピンだけを有することができるＣＳＥを備えたリーフモジュールを構築するなどの様々な最適化を行うことができ、同様に他の利益も、低減された容量を有するモジュールを有することから得られる。
【０２１４】
図９６の左側は、図９５に示すモジュールのグループの左半分を繰返しており、パラレルモジュールの線形アラインメントに対する他のモジュールからのモジュールＭ６のオフセットを示している。図９６の右側は、モジュールＭ６のオフセットのサイズを小さくするようにトレースの構成を変えた同じモジュールを示している。
【０２１５】
図９７は、双方向リンクを使用するモジュールの構成を示している。
【０２１６】
モジュールという語は、「モジュール」がプラグ可能なコネクタを通じてモジュールコントローラ及び／又は他のモジュールに接続されるのではなく別の「モジュール」として同じボード上に存在することができるとしても、ＣＳＥ及びそれに関連した機能及び／又は構成要素を包含するように使用される。ＣＳＥ間の接続は、ボードトレースとして示されているが、これは、電線、ケーブル、光相互接続、基板トレースパターンなどを通じた相互接続を除外するものと理解してはならない。
【０２１７】
図９８は、上述のモジュールに、ＲＡＭ又は他のメモリ技術とすることができるキャッシュメモリを加えたものを示している。キャッシュは、ＣＳＥ又は全モジュールの一部とすることができ、モジュールコントローラ又はいずれかの他のモジュールへの又はこれらからの途中にあるモジュールを通過するデータをキャッシュ又はバッファに入れる働きをする。キャッシュの使用は、データフローのタイミングにおける柔軟性を促進することができ、適切なデータが記憶された時に、例えば、モジュール故障に対処するためにデータフローの再構成を容易にすることができる。
【０２１８】
図９９は、複数のできれば異なる相互接続システム間のＣＳＥブリッジを示している。図９９ａは、モジュールの上部端に接続される相互接続へのＣＳＥ接続を示している。図９９ｂは、モジュールの下部端に接続する２つの相互接続へのＣＳＥ接続を示している。
【０２１９】
別の態様では、通信、コンピュータ、及びメモリのシステムの信頼性が問題になる。データ又は機能が１つ又はそれよりも多くの構成要素の障害のために失われる限り、個々のデバイス及び構成要素とシステムのアーキテクチャの両方の信頼性が関連すると考えられる。コンピュータプロセッサ、メモリコントローラ、ノード、メモリモジュール、又はその他のような単一障害点は望ましくないと考えられる。構成は、チェックサム、エラー補正コード、及びＲＡＩＤのような冗長技術を使用したデータ誤りの訂正及び破損したデータの修復を提供する。「ＲＡＩＤ」という語は、文字通り「リダンダント  アレイ  オブ  インイクスペンシブ  ディスク」の頭文字であるが、ここでは、一部のデータ記憶デバイスにわたるデータ及び検査ビットのストライピングを包含する冗長性に対するどの方式としての当業技術での意味も有し、ＲＡＩＤは、本明細書ではこの意味で使用される。特に、本明細書に説明する通信、コンピュータ、又はメモリアーキテクチャは、全システムがかなり傷つけられる前に１つよりも多い障害を受けるようにデータ訂正技術及び冗長リンクの両方の使用を提供するように構成可能とすることができる。このような障害は、例えば、データ損失の前に検出でき、構成要素又はデバイスを識別して交換することができる。態様においては、通電したままデバイス、構成要素、又はモジュールを交換することができるようにデバイスを構成することができ、装置は、修復中に機能したままである。このような修復は、「ホットスワッピング」として当業技術で公知である。
【０２２０】
図１００は、モジュールのバイナリツリーを示し、モジュールが線形方式で配置されている。モジュール間の通信レーン又はリンク又はバスは、各端で矢印によって終端されたラインによって図式で示されている。バスがモジュールの下を通るが接続していない時に、バスはグレーで示すことができるが、バス又はリンク上の矢印がモジュールに接触している場合を除いて、どのバスによってもどのモジュールへも接続はない。この例では、各ポートは、２つのチャンネルに分割されており、モジュールの第１の側に１つのバス、モジュールの第２の側に２つのバスがあるチャンネルが示されている。
【０２２１】
モジュールのツリー構成を説明する時に、ツリーの両方の「レベル」及び数字による個々のモジュールについて説明することが便利である。図１００のより低い部分には、５レベルを有するバイナリツリーのモジュール間を接続する論理リンクが示されている。ツリーのルートは、モジュール０（Ｍ０）として示されるレベル０の単一のモジュールである。ルートモジュールは、１つのポートを通じてメモリコントローラＭＣ（図示せず）に、及び他の２つのポートを通じてレベル１の２つの他のモジュールＭ１及びＭ２に接続することができる。バイナリツリーでの使用を目的としたモジュールは、３つ又はそれよりも多いポートを有することができ、上述のように、ポートを１つ又はそれよりも多くのチャンネルに分割することができる。この例では、２つのチャンネルに分割されたポートが示されている。ハードウエア及びソフトウエアが、ポート割当てに関係なくモジュール上のどの２つのチャンネル間の通信もサポートするように構成されている時に、マザーボード信号ライン接続は、モジュールコネクタの各々の異なるロケーションで行われる点に注意すべきである。この例では、２つのチャンネルが、互いに直接接続するモジュール間で通信するために使用される。
【０２２２】
図１００の上部の線形構成でのモジュールの各々の下に、最初の一連の数字Ｍ＃が、モジュールの数字名称を示しており、次の一連の数字Ｌが、ツリーでのモジュールのレベルを示している。この構成では、レベル０のルートモジュール０は、モジュールのグループの中心に配置され、バスが、図面の上部に接するところで、例えば、メモリコントローラＭＣ又はＣＰＵ又は類似のデバイスに出ている。モジュール０のいずれかの側に、レベル３のモジュール１０及び１２がある。レベル１のモジュールは、ルートモジュールとモジュールの線形物理構成の２つの端の間でほぼ等距離で配置されている。図示の状況では、等しいランクのモジュールが互いに反対側に配置されていない場合、ホットスポットが最小になる時にメモリアレイの冷却が改善する。
【０２２３】
本実施例のツリー構成では、ＭＣにモジュールが直接接続されている時にのみ、データの全てが最終的にモジュール０を通って流れる。これは、レーンがあらゆる他のモジュールよりも頻繁に通電され、モジュール０が最高ワット損を有することを意味する。ワット損を説明するのに、便宜上、モジュールの全てが存在し、その読取及び書込がモジュールの各々に均一に割り当てられると仮定する。レベル１のモジュールは、従って、ルートモジュールによって扱われたデータの半分を送信及び受信することができる。これは、レーンが平均してルートモジュールと同じ頻度で半分だけ通電されることを意味し、結果としてモジュールの各々でのより低いワット損、簡単には、ルートモジュールのワット損の半分をもたらす。同様に、レベル２モジュールは、各々、ルートモジュールの電力の４分の１を損失し、レベル３モジュールは、各々、電力の８分の１を損失することになる。従って、最も電力を損失するルートモジュールを除いて、他のモジュールは、各々、かなり少ない電力を損失し、図１００の構成では、ルートモジュールは、ルートモジュールの電力の８分の１だけを各々損失するレベル３のモジュールによっていずれかの側に向かい合わせにされる。ルートモジュールを冷却するための特別な構成を行うことができ、ホットスポットが少ないか又はホットスポットが全く現れなくても他のモジュールを冷却するのはあまり困難でないことになる。後で、多重ルートツリーを使用して収量負荷を分散するための手段を説明するが、当業者には、各ルートの電力分散が２倍低減されることになることが明らかであるべきである。
【０２２４】
図１０１は、３つのポートがあり、かつポートの各々が２つのチャンネルに分割されているバイナリツリーで進められる一部の他の接続戦略があることを示している。図１０１ａでは、チャンネル対が、モジュールの線形構成の長さに沿って引かれた中心線に対して対称的に配置されるように構成されている。代替的に、図１０１ｂに示すように、別のモジュールに向かう少なくとも１つのチャンネルが交互になるように２つのモジュールを接続する２つのチャンネルが離れて配置されるように、チャンネル及びポートの同じ数を構成可能とすることができる。
【０２２５】
ツリーは、多重ルートとすることができ、従って、レベル０と考えられる１つよりも多いモジュールを有する。この状況では、個々のモジュールは、各ツリーで異なるモジュール数を有する。図１０２には、モジュール番号Ｍ＃が図の上部に列挙されている第１ルートと、モジュール番号Ｍ＃*が図の下部に列挙されている第２ルートとが示されている。例として、モジュールがルートとして又はツリーのノードとして作用するか否かに応じて、モジュールは、番号０又は１１とすることができる。
【０２２６】
モジュール間のレーン又はバスの接続は、ピン密度により、トレース、ライン、又はレーン密度により、及びクロストーク及びその他によって制限されることが多い。送信機能と受信機能間及びライン間のより大きな区別は、これらの問題を軽減するのに有用である。図１０３ａは、レーンを使用する接続の実施例を示す、前に使用された平面図での中心モジュールに対して対称的に配置された複数のモジュールを示している。プリント回路基板ＰＣＢ上のバスの可能な配線が、図１０３ｂの立面図に示されており、ボードは、３つの層と４つの表面を有する。バスは、ライン交差、マルチバイア、及びブラインドバイアなどが最小にされるか又は防止されるように都合よく配線することができる。
【０２２７】
コネクタ付きマザーボード設計では、バスの各々の垂直部分が実際にコネクタピンになるように、コネクタのピンは、ＰＣＢを貫通し、各層上のトレースと接続するように働く。コネクタのピンは、通常は、全てが同じ物理的長さであり、層の一部に接続が要求されない場合でも、回路基板の複数の層を貫通して延びる。このようなピンは、クロック及び信号データ速度に関連した高周波でのスプリアス信号の放射ポイントとして働くことができる。
【０２２８】
多層ＰＣＢが有用である場合があるが、単一層でのバス相互接続の全て又はほぼ全ての配線を不可能にするものは何もない。更に、本明細書に説明する構成は、多くの様々な構成に区分することができる。例えば、ＣＳＥ及びメモリを含む構成要素及び相互接続の一部又は全ては、基板上の半導体回路に組み込むことができ、ダイは、相互接続基板、又は複数の基板などに取り付けることができる。すなわち、製品の組み立て及びパッケージングは、本明細書で提供される特定的な実施例とはかなり異なる場合がある。
【０２２９】
図１０４に示すような多重ルート構成は、一部の付加的な接続トレースの供給及び各モジュール上の配線を再構成するソフトウエア及びハードウエア機能の供給により、ルートモジュール故障の時に幾らかの冗長性を達成するのに使用することができる。バスを表す実線によって接続される基本ツリー構成が、図１０４ａに示されており、論理接続が図１０４ｂに示されている。ツリーでのメモリモジュールを表す各ブロックは、図１０４ａの対応するメモリモジュールの下に配置されている。この状況では、モジュールＭ０がルートであり、メモリコントローラに接続されている。
【０２３０】
図１０４ａの太い破線で示す付加的な相互接続が供給され、故障モダリティの時に使用することができる。ルートモジュールＭ０をＭＣに接続するポートが故障している状況では、図１０４ｃに示すようにツリーを再構成可能とすることができる。この状況では、前に使用されたレーンの一部は使用されず（Ｍ０とＭ２間のレーンなど）、前にスリープモードであったレーンの一部が供用される（濃い破線で示すＭ４とＭ５の間のレーンなど）。付随して、ツリーの個々のモジュールのレベルを変更することができる。例えば、モジュールＭ０は、レベル０であったが、今はレベル３であり、レベル１であったモジュールＭ４は、今はレベル０である。何らかの冗長性を提供するが、図１０４の構成は、いずれか１つのノード又はリンクの故障の時に冗長性を提供しない。
【０２３１】
図１０５は、故障した要素以外からのデータの損失なしにツリーの至る所で単一の故障に対処することができるツリー及び接続を示している。モジュールの全て及び作動可能なリンクの全てへの接続性が維持される。図１０５ｂは、ツリーのモジュールの論理構成を示し、実線のリンクラインは、作動可能な全レーン及びノードを備えたツリーのベースライン状態を表している。破線として示される接続は、スリープ中であるが、ルートモジュール０の故障の時に起動することができるリンクである。この状況では、ツリーのレベル３での１０として前に示すモジュールは、作動中のルートとして再指定される。これは、モジュールの表示から垂直に下向きに延びる破線によって図１０５ｂに示されている。
【０２３２】
図１０５ａは、図１０５ｂの論理ツリーに関連したマザーボードレーン及びモジュールの平面図である。ツリーが全く故障なく完全に稼働中である時に、実線として示されたリンクはアクティブである。破線によって示されたリンクは、故障の時に作動し続けるようにツリーを再構成可能とすることができるように供給される。図示の特定の故障は、最も深刻な故障であるルートモジュールに対するものであり、これは、ルートモジュールが最大電力を損失するモジュールである時に統計的に起こる場合がある故障である。全ての他の要因が等しいとすると、半導体回路の特定のタイプの故障率は、温度と共に増す。ツリーが再構成される時に、前に作動中であったリンクの全てを使用し続けられるわけではない。
【０２３３】
ツリーの再構成は、データ及び制御経路、更に、ツリーのモジュールの一部のレベルの変更を結果として生じる。図１０６を参照することによってこの変化を視覚化することが有用である。図１０６ａは、故障がない場合のベースライン構成であり、作動していない補助のリンクが示されている（薄い破線）。故障がモジュール０に起きた時に、モジュール０が下部になり、かつモジュール１５が上部になるようにツリーが裏返されている図１０６ｂを考える。図１０６ｃでは、作動している補助リンクが濃い破線によって示されており、作動していないリンクが薄い線によって示されている。
【０２３４】
図１０７は、１６モジュールの４グループが装着されているより大きな容量のマザーボードの概略図である。これは、マザーボードの容量を更に増すと同時に冗長機能を維持する方法を表している。「セット」として指定することができるモジュールのグループの各々は、図１０５及び１０６のモジュールアレイの属性を有することができる。４つのセットの接続は、ＣＳＥデバイス又は類似のものとすることができる回路要素Ｃによって行われ、それによってデバイスＣ又はＣＳＥ１及びＣＳＥ２のいずれか、又はセットのいずれかのモジュールのいずれかの単一の故障がデータ損失をもたらすことはない。この属性はまた、モジュールのホットスワッピングを可能にし、それによってサービスからユニットを外すことなく故障したモジュールを交換することができる。
【０２３５】
上述のように、レベルが多くの状況で平均データ収量に関連付けられる時に、モジュールのワット損は、モジュールが置かれているツリーのレベルに依存する。各モジュールロケーションでのワット損を推定することができるので、冷却リソースをより有効に使用することができ、ホットスポットが低減される。例示的に、図１０８は、前の実施例に類似の１５モジュールのグループの平面図を示し、ここでは、モジュール上のＣＳＥの位置が示されている。空気の流れの方向は、広い矢印によって示され、金属フェンス１１００が、冷却空気をモジュールに向けるようにマザーボードに取り付けられている。フェンスは、マザーボードのコネクタに挿入されるようにマザーボードから大体モジュールの高さまで延びる。最高電力消費を有するレベル０のモジュール０の時に、フェンス１１００は、より大きな開口領域が入力空気の流れに与えられ、空気のより多くの量が、共にレベル３にあるモジュール１１及び１０に比べてモジュール０に流れるように配置される。同様の割当てが行われるが、残りの空気の適切な配置がフェンス１１００を流れ、ツリーのレベル３にある隣接するモジュール８、９、１２、１３よりもレベル１のモジュール１及び２により多くの空気の流れを与える。
【０２３６】
１つよりも多いモジュールのグループが冷却され、更に、冷却空気がマザーボードの領域からなくなる前にモジュールの第２セットを通るように経路指定される時に、空気の温度分布を均一にするために類似の方法を使用することができる。図１０９は、第１ツリーのより高いレベルのモジュールが、より低いレベルのモジュールの後部に配置されるように配置された１６モジュールの２つのグループを示し、それによって２つのレベルの和が、同じモジュール構成がモジュールの両方のグループに対して使用される状況から減らされている。モジュールツリーレベル数の和が低い程、グループとして用いられる２つのモジュールのワット損は高くなる。例示的に、空気投入口に最も近いモジュールのグループのレベル０のモジュール０が、モジュールの他のグループのレベル３のモジュール１１の前面にある時に、電力消費の和は、モジュールの各グループの構成が同じである例えば２つのレベル０モジュールが空気の流れの向きと一直線になっている時に得られる和の僅かに約６０％になる。
【０２３７】
別の態様では、マザーボード上のモジュールの物理的位置がツリーのモジュールのレベルに関連付けられる時、ツリーのより低いランク（例えば、ルート又は複数のルート）が隣接するモジュールから更に離れて配置され、モジュールがツリーのより高いランク（例えば、リーフ）にある場合よりもより多くの電力を損失すると予想されるように、モジュール間の間隔を変えることができる。１つよりも多いモジュールが、作動中又は冗長状況のいずれかにあるルートである時に、各構成でのワット損は、ボードレイアウトを計画する時に考慮に入れることができる。
【０２３８】
図１１０は、ＣＳＥ及び／又はＣＳＥ及び／又はモジュール上に装着されたヒートシンクの様々な配置及び向きが、どのように空気の流れ及び／又はモジュール間隔の改善をもたらすかを示している。
【０２３９】
図１１１は、ノードが１２レーンから構成可能とすることができるリンクを有する二重ルートツリー構成を示している。ルートノードは、ＭＣ（図示せず）への４つのレーン、その子供の各々への３レーン、及び他のルートへの２レーンを有する。ルートの子供は、ルート及びその子供の各々への３レーン、並びに他のルートの対応する子であるノードへの３レーンを有する。
【０２４０】
大きなメモリアレイの物理レイアウトは、多数のＰＣＢ層、ボード層上のトレースを構成する導体のバイア及び曲げ部、又は基板上の同等の考察事項を必要とすることを含む多数の問題をもたらす。コネクタピンの長さからの電磁放射、及び接地及び電力平面一体性へのその影響は、当業者には公知である。図１１２ａは、４つのコネクタ及びボードインタフェースコネクタ又は既存のメモリに接続するＰＣＢの単一層のマスクを示している。信号連結と伝播時間変動、及び直線トレースからのシフトに関連するトレースの密度、及びトレース間の距離の変動は、高周波信号に対するインピーダンス変動を結果として生じ、信号波形のゆがみを結果として生じる場合があることは公知である。図１１２ｂは、図１１２ａの層のレイアウトの詳細の例である。円は、コネクタのピンを表し、暗い円は、図示のボード層上のトレースへの接続に関連しており、明るい円は、層を通過して別の層上のトレースに接続するピンである。ピンから遠く離れて、トレースが、隣接するトレース間の変化する距離によって配置され、トレースの一部は互いに近く、連結を増す。ピンのすぐ近くで、トレースのグループが、ピンの間に経路指定され、トレース間の距離とトレースとピンの間の距離とを低減する。この領域では、トレースの多くに複数の曲げ部があり、インピーダンス不連続性をもたらす。図１１２ｃは、２つのコネクタＡとＤの間の接続によって取られる経路であり、トレースは、介在するコネクタＢとＣのピン間を通過しなくてはならない。図示のトレースの対は、差動信号が使用されるレイアウトを表している。第２層が示されており、信号は、隣接する層のトレースに近い１つの層上の信号トレースの部分を運ぶ経路に沿って移動することができる。これは、ボードレイアウトに問題をもたらす場合がある。
【０２４１】
図１１３は、ボードレイアウト制約を軽減する方法を示している。この例では、コネクタが多くのメモリボード又は類似の用途でコネクタの並列構成に対して約３０度の角度に向けられるように、各コネクタ１２００がボード上で回転されている。コネクタが図のように傾斜方式で配置されている時に、トレース１３００は、コネクタピン１４００を回避するために、殆ど又は全く曲がりなく隣接していないコネクタ間に経路指定することができる。傾斜の角度は、列の間隔及び数に依存する。１つよりも多い最小曲がり経路がこの構成に存在し、図１１４は、２４０ピンコネクタのグループに対して最小曲がりを有する２つの経路が可能である構成を示している。隣接するボード間の間隔又はピンの間隔における僅かな変化は、望ましい曲がりを更に最小にすることができる。
【０２４２】
図１１５は、傾斜方式で配置された８４ＤＩＭＭボードを収容するためのマザーボード上のコネクタの構成を示している。コネクタの多数が配置される時に、最小ボード領域だけを占有されない状態にすることができ、このような占有されていない領域は、ボードインタフェース、メモリコントローラ、補助サービス、及びフィルタリングなどのために便利に使用することができる。コネクタのこのような傾斜は、本明細書に説明するコネクタ及びモジュール構成のいずれかと共に使用することができる。表示を簡単にするために、他の実施例のコネクタは、パラレル方式で配向されている。
【０２４３】
本明細書に説明する装置及び方法を使用して大きなメモリボードを配置することができ、図１１６は、４＋１構成でのＲＡＩＤ５エラー補正機能、２スペアＤＩＭＭモジュールを備えた６４ＤＩＭＭメモリモジュールとして構成された８２ＤＩＭＭモジュールの構成を表している。メモリボードは、リーフで接続した２つのツリーをサポートする。どの２つのモジュールがなくても、他のモジュールの全ては、残りのデータ及び制御経路の適切な再構成によってアクセス可能である。従って、データが回復不能なほど損失する前に、及び故障したモジュールの新しいモジュールとのホットスワッピングにより、メモリボードの保守を行うことができる。ただ１つのＤＩＭＭが故障した場合にホットスワッピングが行われる時に、この構成は、保守技術者が交換のために間違ったモジュールを取り除いた場合のデータ損失を防ぐ。この例では、論理構成が図１１６に示されており、対応するボードレイアウトが図１１７に示されている。
【０２４４】
図１１７では、実線がベースラインツリー構成を表し、破線は、ベースライン構成に使用する必要のないリンクであるが、モジュール故障が起こり、ツリーの再構成がルートと残りのモジュールの間の接続性を維持するのに必要とされる時に使用することができる。破線は、実線の収量の半分で作動することができるリンクを表している。実線の接続で示されたツリーのレベル０では、各ツリーがルートを有し、これはメモリコントローラ（図示せず）に接続しているものとして示されている。別の態様では、構成を４つのサブツリーとして考えることができ、サブツリーの対は、各ツリーを形成するために結合されている。上位ツリーでのサブツリーの各々は、他のツリーの鏡面対称バージョンであり、対称のラインは、サブツリーを結合するためにルートノードとして作動するノードを通過する。下位ツリーは、関連のルートノードに対して同様の鏡面対称を有する。冗長性を提供する各ツリーでの補助接続に加えて、２つのツリーのリーフは、補助接続で相互接続されており、冗長ツリーのルートとしてのモジュールの指示、冗長ＭＣとすることができるＭＣへの接続を有するモジュールの指示を含む。
【０２４５】
図１１８は、２つのルートを有する別の８２モジュールツリーを示している。このツリーは、大きな相互接続システムに適するマザーボードレイアウト技術の例を示すのに利用することができる。このような技術は、相互接続基板上及び半導体回路又はダイの内部などに使用することができる。「マザーボード」という語は、単に便宜上使用される。
【０２４６】
２つのツリーの各々は、深さ５を有し、第１構成は、メモリコントローラＭＣに接続するためにルートＲ１及びＲ２を使用する。冗長構成は、データ損失なく作動し続けるために故障したルートの代わりにＲ１’及びＲ２’の一方を使用して形成することができる。実線で示されたリンクは、第１構成を表し、破線で示されたリンクは、２つ又はそれよりも少ないモジュールの故障の時に他の構成を使用することができるように設けられる。マザーボードレイアウトは、２つの類似の相互接続ツリーとして考えることができる。上位ツリーは、実線によってＲ１に接続したモジュールと考えることができ、下位ツリーは、実線によってＲ２に接続したモジュールと考えることができる。
【０２４７】
図１１９は、上位ツリーコネクタの物理レイアウトとツリー論理図の対応する部分の概略図を示している。モジュールＲ１は、ツリーのレベル０にあり、この実施例ではコネクタの行の中央に位置決めされ、メモリコントローラＭＣへの１つのリンクを有する。ＭＣは示されておらず、マザーボードに接して又は離れてのいずれかで都合の良い場所のどこにでも位置付けることができる。このバイナリツリーのモジュール間のリンクは、シェーディングによって符号化され、シェーディングの３つのレベルがある。便宜上、これらは、青（最も暗い）、緑（中間）、及び赤（最も明るい）の色に関連付けられる。影を付けられた広い線の各々は、ラインの端に接続されている２つのモジュール間のリンクを表している。モジュールで終端していないラインは、介在するモジュールに接続することなくその下を通る。リンクは、上述のリンクの特性を有し、太い線は、双方向レーン、一方向レーンのグループ、チャンネル化されたレーン、及びモジュールとコネクタ間の接続を形成するための同様のものを表すことができる。
【０２４８】
リンクの殆どは、直線によって表され、リンクのごく僅かしか互いに交わる必要がないか、又は全く交わる必要がない。これは、ボードレイアウトを簡単にし、低減された信号連結を可能にし、ボードを構成するのに必要なＰＣＢ層の数を低減することができる。ルートモジュールをツリーの第１レベルに接続するａ及びｂと指定されたようなリンクは、緑で示されている。ボードの横断面の態様を説明した後で、当業者は、リンクａ及びｂがより短い長さとより少ないトレース曲がりを有するＰＣＤの赤いレベル上に経路指定することができることを認めるであろう。従って、図示のボードレイアウトは、更に別の最適化が可能であり、コネクタ付きの多数のメモリ、又は回路基板に取り付けられたか、又は集積回路、基板上、又はパッケージに組み込まれた多数のメモリの構成及び相互接続を簡単にする機能を単に示しているだけである。
【０２４９】
Ｉ−Ｉの間に位置決めされたモジュールを包含するマザーボードの断面が図１２０に示されている。モジュールに接続するリンクであるトレースの３つのグループを表す３つの関連した断面Ａ−Ｃが存在する。太い線は、リンク内のラインの概略を示し、回路カード上に均一に又は不均一に分散することができるコネクタのピンに接続することができることを理解すべきである。更に、異なる色のリンクは、互いの上に直接乗せることができ、説明を容易にするために図面では別々にされる。図１２０ａは、説明する断面を識別するためにマザーボードの平面図を示している。便宜上、個々の回路カードに０−７の数字が割当てられており、対応する数字は、図１２０の全てに対して使用される。図１２０ｂには、図１２０ａの断面Ａが示されており、図１２０ｃに断面Ｂが示され、図１２０ｄに断面Ｃが示されている。断面Ａには、青、緑、及び赤のリンクが示されている。この実施例でのＰＣＢ技術を使用して２つの接地平面層及び１つのＶＣＣ（電力）層を有し、トレースが配置されているプリント回路基板が示されており、それによって各リンクのトレース（ライン）の部分が、接地又はＶＣＣ層の反対側に配置される。これは、送信側トレースと受信側トレースの間の改善された分離をもたらすことができる。水平の影になったラインは、従って、リンクが互いに交差しない場合の示されたコネクタ間のリンクの可能な配置を表し、これは、一般的に直線の向きに配置される。図のように、リンクの各々は、接続されるモジュールに対するコネクタに関連したピンのグループを表す１つのピンで終端し、垂直の影になったラインは、コネクタピンに関連している。
【０２５０】
図１２０ｃ及びｄでは、断面Ｂ及びＣに対する経路指定が類似の特性を有するものとして示されている。
【０２５１】
この実施例は、ピンを備えたコネクタを使用しているが、表面装着技術（ＳＭＴ）コネクタを使用することもできる。ＳＭＴコネクタの時に、水平トレースがピンの代わりにメッキスルーバイアを使用してコネクタまで上がる。しかし、バイアの各々は、望ましいトレースに達するためにボードの全厚みを拡張する必要はなく、バイアは、接続されるトレースよりもコネクタから更に離れたボード層のメッキを取り除くために後方に穴を開けることができる。これは、垂直導電性要素の長さを最小にし、「ブラインド」バイアを防ぐと同時にトレース間の放射及び連結を低減することができる。更に、相互接続に包含される層の数が少ない程、その割当てに許容範囲を使用することができ、これは、接地及びＶｃｃプレーンにもたらされるレリーフを最小にするために使用することができ、従って、改善したシールディングを提供する。この実施例は、３つの色で配置されるリンクに対するトレースを示しているが、２つだけの色でボードを配置することも同様に可能であり、しかし、トレースに幾らかの曲がりが生じる場合がある。
【０２５２】
多くの代替的なマザーボードレイアウトも可能であり、２つの付加的なレイアウトを実施例として示している。図１２１には、コネクタの３つの行にツリーを配置するものとする別の８２ＤＩＭＭ論理構成が示されている。このツリーは、付加的な冗長特性を有するものと思われる。
【０２５３】
図１２２は、図１１９と同じ表記を使用した図１２１の論理ツリーに対応するレイアウトを示している。隣接するコネクタ間の間隔を調節することができる。例えば、ルートモジュール又は冗長ルートモジュールとして指定されたモジュール間の間隔は、ルートとして作動する場合のモジュールの付加的な電力分配に対処するために増すことができる。また、中心の列のモジュールは、例えば、モジュールコントローラ、ＣＰＵなどのためのスペースを提供するためにより密にグループ分けすることができる。態様においては、ルートモジュールは、記憶メモリのない又は最小メモリを備えたＣＳＥと置換することができ、ルートとして作動する場合のモジュールの電力消費を低減する。
【０２５４】
８２ＤＩＭＭマザーボードがＤＩＭＭで完全に埋め尽くされ、ＲＡＩＤ５を備えた６２メモリモジュールとして構成され、使用される各ＤＩＭＭが例えば２ギガバイトのメモリを有する時に、マザーボードの容量は、１６４ギガバイトになる。このようなマザーボードは、約１５．４×２１．４インチの大きさを有することができる。勿論、他のＤＩＭＭメモリ容量及び他のメモリタイプも類似の方式で使用することができる。与えられた実施例は、単に例証の目的だけのためにある。当業技術で公知の様々な冗長方法は、ＤＩＭＭモジュールの各々で使用することができ、本明細書で説明するように相互接続されて作動する場合の冗長オペレーションを達成するのに複数のＤＩＭＭモジュールを使用することができる。
【０２５５】
図１２３には、コネクタの３つの列にツリーを配置され、図１０９と共に説明されているように前後冷却構成を使用するものとする別の８２ＤＩＭＭ論理構成が示されている。図１２４は、対応するマザーボードレイアウトを示している。
【０２５６】
マザーボードリンクレイアウトは、図１２５に示すようにモジュールに各々が関連するユニットセルの小さな数から形成されることが分る。ＡからＨと示されたセルは、バイナリツリーレイアウトで使用することができるモジュールタイプを表している。セルは、コネクタを表す垂直線と３つの水平スタブによって概略的に表されており、各スタブは、リンク又は上述のタイプのいずれかを表している。リンクのラインは、共にグループ分けされ、チャンネルに分割されるか、又は個々に経路指定され、セルタイプは、コネクタに対してリンクが取る向きを単に示すものである。更に、セル指示は、トレースがそれを通じてメモリモジュールに接続するコネクタの側を制限しない。１６コネクタレイアウトの実施例が示されているが、セルタイプの全てがレイアウトに使用されるわけではない。特定のコネクタに関連したセルタイプが示されている。３つよりも少ないリンクがコネクタをツリーに接続するために使用される時に、セルタイプは、１つのリンクが取り除かれた状態のセルタイプの一部として示されておらず、図示の構成を可能にする。
【０２５７】
ツリーとして配置されたメモリでは、クロックは、ローカル、領域又はシステムクロック、ＲＡＭＢＵＳクロックなど、及びクロッキング技術の結合とすることができる。例えば、ＤＩＭＭモジュールの各々は、メモリを管理してローカル処理機能を実行するためのローカルクロックを有することができる。中間同期クロックは、中央クロックを複数のメモリモジュールに分散することによってもたらされ、個々のメモリモジュールＣＳＥでのクロックの位相は知られていないが、位相がゆっくり変化すると仮定される。このような状況では、リンクが起動された時に位相だけを再同期する必要があり、始動時間を短くすることができる。位相をリンクのラインの各々で回復する必要がある場合があるが、ラインのグループは、類似の位相変動を示すことができ、グループとして調節することができる。別の態様では、クロックをアドレスラインで分散することができ、その１つは、時間の全てで全リンク間でアクティブである。代替的に、データ、指令、又はアドレスデータ間のインターバルが所定の期間に隣接するモジュールに又は隣接するモジュールから送信されなかった場合のＮＯＰ指令のような信号を送信するためにリンクの１つを使用することができる。
【０２５８】
別の態様では、一方で、１つ又はそれよりも多くのルートモジュールに、他方で、別の通信バス又はコンピュータ要素に直接又は間接的に接続するのにメモリコントローラＭＣを使用することができる。ＭＣとルートモジュール間のインタフェースは、ルートモジュールを使用するリンクのタイプによってツリーの他のモジュールと通信することができる。他の１つ又はそれよりも多くのＣＳＥは、ＭＣとツリーのモジュール間に提供することができ、ＣＳＥが最高収量を有するツリーのポイントでより低い電力消費を有するモジュールを取得することができるように、ＣＳＥの１つが、ルートモジュール又はノードの機能を行う時に、ＭＣは、例えば、脱スキュー、アドレス指定、フレーム管理、上流及び下流方向でのデータ及び指令のバッファ、スキュー判断、モジュール整合性、及び他の電源オン試験を含む初期化、及びモジュール故障の場合のツリーの再構成の機能を実行することができる。ＭＣはまた、オン中の電力消費を管理することができ、それによって接続したメモリによって必要になるピーク電力が、関連の電源の容量に一致する。
【０２５９】
本発明を上述の実施例によって説明したが、本発明が実施例に制限されず、逆にその様々な変更又は修正が本発明の精神から逸脱することなく可能であることは、当業者には理解されるはずである。
【図面の簡単な説明】
【０２６０】
【図１】本出願で使用される専門語及び記号を紹介する目的のためのネットワークの相互接続した要素を示す図である。
【図２】「構成可能スイッチング要素（ＣＳＥ）」へのインタフェースを示す図である。
【図３】１つよりも多い２次ポートを有することができるＣＳＥの構成を示す図である。
【図４】１つよりも多いモジュールコントローラを有するネットワークに接続したＣＳＥの構成を示す図である。
【図５】ツリー構成に配置されたＣＳＥを包含する８つのメモリモジュールを示す図である。
【図６】バイナリツリー構成で接続した８つのメモリモジュールを示す図である。
【図７】バイナリツリー構成で接続した８つのメモリモジュールの別の実施例を示す図である。
【図８】３進ツリー構成で接続した９つのメモリモジュールを示す図である。
【図９】（Ｍ０の子モジュールが、Ｍ０及びＭＣの両方に接続されている）バイナリツリー構成で接続した８つのメモリモジュールの更に別の実施例を示す図である。
【図１０】バイナリツリー構成で接続した８つのメモリモジュールと、グラフィックプロセッサのような付加的なデバイスとを示す図である。
【図１１ａ】ＩＮＴＥＬによって開発されたものと類似であると思われ、ＦＢ−ＤＩＭＭとして公知のメモリシステムの態様を示す図である。
【図１１ｂ】ＩＮＴＥＬによって開発されたものと類似であると思われ、ＦＢ−ＤＩＭＭとして公知のメモリシステムの態様を示す図である。
【図１１ｃ】ＩＮＴＥＬによって開発されたものと類似であると思われ、ＦＢ−ＤＩＭＭとして公知のメモリシステムの態様を示す図である。
【図１１ｄ】ＩＮＴＥＬによって開発されたものと類似であると思われ、ＦＢ−ＤＩＭＭとして公知のメモリシステムの態様を示す図である。
【図１１ｅ】ＩＮＴＥＬによって開発されたものと類似であると思われ、ＦＢ−ＤＩＭＭとして公知のメモリシステムの態様を示す図である。
【図１１ｆ】ＩＮＴＥＬによって開発されたものと類似であると思われ、ＦＢ−ＤＩＭＭとして公知のメモリシステムの態様を示す図である。
【図１２ａ】ＣＳＥを組み込むメモリモジュールの構成を示す図である。
【図１２ｂ】ＣＳＥを組み込むメモリモジュールの構成を示す図である。
【図１２ｃ】ＣＳＥを組み込むメモリモジュールの構成を示す図である。
【図１２ｄ】ＣＳＥを組み込むメモリモジュールの構成を示す図である。
【図１２ｅ】ＣＳＥを組み込むメモリモジュールの構成を示す図である。
【図１２ｆ】ＣＳＥを組み込むメモリモジュールの構成を示す図である。
【図１３ａ】モジュール間に別々の指令ラインとデータラインを有するメモリモジュールの構成を示す図である。
【図１３ｂ】モジュール間に別々の指令ラインとデータラインを有するメモリモジュールの構成を示す図である。
【図１３ｃ】モジュール間に別々の指令ラインとデータラインを有するメモリモジュールの構成を示す図である。
【図１３ｄ】モジュール間に別々の指令ラインとデータラインを有するメモリモジュールの構成を示す図である。
【図１３ｅ】モジュール間に別々の指令ラインとデータラインを有するメモリモジュールの構成を示す図である。
【図１３ｆ】モジュール間に別々の指令ラインとデータラインを有するメモリモジュールの構成を示す図である。
【図１４ａ】モジュール間に別々の指令ラインとデータラインを有するメモリモジュールの別の構成を示す図である。
【図１４ｂ】モジュール間に別々の指令ラインとデータラインを有するメモリモジュールの別の構成を示す図である。
【図１４ｃ】モジュール間に別々の指令ラインとデータラインを有するメモリモジュールの別の構成を示す図である。
【図１４ｄ】モジュール間に別々の指令ラインとデータラインを有するメモリモジュールの別の構成を示す図である。
【図１４ｅ】モジュール間に別々の指令ラインとデータラインを有するメモリモジュールの別の構成を示す図である。
【図１４ｆ】モジュール間に別々の指令ラインとデータラインを有するメモリモジュールの別の構成を示す図である。
【図１５ａ】メモリコントローラ（ＭＣ）からモジュールＭｉへの読取指令の送信を示す図である。
【図１５ｂ】メモリコントローラ（ＭＣ）からモジュールＭｉへの読取指令の送信を示す図である。
【図１５ｃ】メモリコントローラ（ＭＣ）からモジュールＭｉへの読取指令の送信を示す図である。
【図１５ｄ】メモリコントローラ（ＭＣ）からモジュールＭｉへの読取指令の送信を示す図である。
【図１５ｅ】メモリコントローラ（ＭＣ）からモジュールＭｉへの読取指令の送信を示す図である。
【図１５ｆ】メモリコントローラ（ＭＣ）からモジュールＭｉへの読取指令の送信を示す図である。
【図１６】２地点間リンクによってツリーに配置されたモジュールコントローラとモジュールを示す図である。
【図１７ａ】指令のために使用される別々の信号方式リンクを備えた図１６の構成に類似の構成を示す図である。
【図１７ｂ】指令のために使用される別々の信号方式リンクを備えた図１６の構成に類似の構成を示す図である。
【図１７ｃ】指令のために使用される別々の信号方式リンクを備えた図１６の構成に類似の構成を示す図である。
【図１７ｄ】指令のために使用される別々の信号方式リンクを備えた図１６の構成に類似の構成を示す図である。
【図１８】アドレスインジケータを使用して経路指定を行うのに使用される指令の実施例を示す図である。
【図１９】ノー・オペレーション（ＮＯＰ）が１つ又はそれよりも多くの出力ポートから送信されるスイッチＳの作用を示す図である。
【図２０】リンクがチャンネル化されているモジュールのツリーを示す図である。
【図２１】リンクがチャンネル化されているモジュールのツリーの更に別の実施例を示す図である。
【図２２】データ転送を様式化して表した図である。
【図２３ａ】リンクの多くが低電力状態である構成を示す図である。
【図２３ｂ】リンクの多くが低電力状態である構成を示す図である。
【図２３ｃ】リンクの多くが低電力状態である構成を示す図である。
【図２３ｄ】リンクの多くが低電力状態である構成を示す図である。
【図２４ａ】リンクがより低い電力状態に置かれる図２３に類似の構成を示す図である。
【図２４ｂ】リンクがより低い電力状態に置かれる図２３に類似の構成を示す図である。
【図２４ｃ】リンクがより低い電力状態に置かれる図２３に類似の構成を示す図である。
【図２４ｄ】リンクがより低い電力状態に置かれる図２３に類似の構成を示す図である。
【図２５】ローカル指令の拡張されたテーブルを有する構成を示す図である。
【図２６ａ】Ｓ１の入力からツリーのリーフへの制御のフォローを示す図である。
【図２６ｂ】Ｓ１の入力からツリーのリーフへの制御のフォローを示す図である。
【図２７ａ】自己経路指定メッセージの他の構成を示す図である。
【図２７ｂ】自己経路指定メッセージの他の構成を示す図である。
【図２８ａ】先頭ビットを除去するのに適するメッセージフォーマットを示す図である。
【図２８ｂ】先頭ビットを除去するのに適するメッセージフォーマットを示す図である。
【図２９ａ】モジュールコントローラのようなデバイスから別のデバイスにデータを送信する段階の単純化された実施例を示す図である。
【図２９ｂ】モジュールコントローラのようなデバイスから別のデバイスにデータを送信する段階の単純化された実施例を示す図である。
【図３０】スキューを克服する方法及び装置を示す図である。
【図３１】脱スキュー後に挿入されるデマルチプレクサを示す図である。
【図３２】ＩＮＴＥＬアドバンスドメモリバッファ（ＡＭＢ）におけるデータスキューの１つのソースを示す図である。
【図３３ａ】データスキューを軽減するための信号経路指定を示す図である。
【図３３ｂ】データスキューを軽減するための信号経路指定を示す図である。
【図３４】５つのモジュールを通る送信から生じたデータスキューを示す図である。
【図３５】レーン間の時間遅延差を低減するためのデバイス及び方法を示す図である。
【図３６ａ】モジュール対間の時間遅延が実質的に等しくない実施例を示す図である。
【図３６ｂ】モジュール対間の時間遅延が実質的に等しくない実施例を示す図である。
【図３７】レーン３及び４が信号チャンネルとして使用される場合の実施例を示す図である。
【図３８ａ】レーン間でデータ要素を交換するパターンを示す図である。
【図３８ｂ】レーン間でデータ要素を交換するパターンを示す図である。
【図３８ｃ】レーン間でデータ要素を交換するパターンを示す図である。
【図３９】「Ｂａｔｃｈｅｒ」ネットワークの実施例を示す図である。
【図４０】「Ｂａｔｃｈｅｒ」ネットワーク（ａ−ｃ）及び「Ｃｌｏｓ」ネットワーク（ｄ）の別の実施例を示す図である。
【図４１ａ】「Ｂｅｎｅｓ」ネットワーク及び８レーン構成の実施例を示す図である。
【図４１ｂ】「Ｂｅｎｅｓ」ネットワーク及び８レーン構成の実施例を示す図である。
【図４２】完全スワップが一部のレーンに対して行われるレーン交換の実施例を示す図である。
【図４３】モジュール上の２つのデータ経路の融合を示す図である。
【図４４】位相アラインメントを備えたクロックデータ回復（ＣＤＲ）回路を示す図である。
【図４５】２つのデータ経路の各々での脱スキューを有する図４４の実施例を示す図である。
【図４６ａ】より精密なネットワークでの図４５の構成を示す図である。
【図４６ｂ】より精密なネットワークでの図４５の構成を示す図である。
【図４７】非重要データ経路を有するネットワークの態様を示す図である。
【図４８】ツリーで接続した８つのモジュールのネットワークで論理ビット０を運ぶレーンを示す図である。
【図４９】図４８のツリーで接続した８つのモジュールのネットワークで論理ビットＮを運ぶレーンを示す図である。
【図５０】図４９に示す構成で重要及び非重要経路を識別する図である。
【図５１】図４９での遅延を示す図である。
【図５２】可変遅延の追加を示す図である。
【図５３】リンクでの遅延の追加を示す図である。
【図５４ａ】ネットワークに遅延を追加する同等の方法を示す図である。
【図５４ｂ】ネットワークに遅延を追加する同等の方法を示す図である。
【図５５】図４６及び４９に示すツリーにおける遅延を示すタイムラインを示す図である。
【図５６】ネットワークに発生する遅延の別の態様を示す図である。
【図５７】ツリーにわたって指令を送信し応答を受信するための全体的な時間を示す図である。
【図５８ａ】仮に同じモジュールがメモリコントローラから及びメモリコントローラに送信するための異なる経路指定を有することができる場合の状況を示す図である。
【図５８ｂ】仮に同じモジュールがメモリコントローラから及びメモリコントローラに送信するための異なる経路指定を有することができる場合の状況を示す図である。
【図５８ｃ】仮に同じモジュールがメモリコントローラから及びメモリコントローラに送信するための異なる経路指定を有することができる場合の状況を示す図である。
【図５９】出発及び戻り経路を含む図４８のツリーを示す図である。
【図６０ａ】信号経路をデータ経路からはずすことができる複数の信号経路を備えた構成を示す図である。
【図６０ｂ】信号経路をデータ経路からはずすことができる複数の信号経路を備えた構成を示す図である。
【図６１ａ】データがモジュールからモジュールコントローラに送信されるタイムラインを示す図である。
【図６１ｂ】データがモジュールからモジュールコントローラに送信されるタイムラインを示す図である。
【図６１ｃ】データがモジュールからモジュールコントローラに送信されるタイムラインを示す図である。
【図６２ａ】データが固定タイムスロットを使用してモジュールからモジュールコントローラに送信されるタイムラインを示す図である。
【図６２ｂ】データが固定タイムスロットを使用してモジュールからモジュールコントローラに送信されるタイムラインを示す図である。
【図６２ｃ】データが固定タイムスロットを使用してモジュールからモジュールコントローラに送信されるタイムラインを示す図である。
【図６３】複数の指令が実行されるタイムラインの更に別の実施例を示す図である。
【図６４】図６２に対応する可変遅延スケジューリングの実施例を示す図である。
【図６５】図６３に対応する可変遅延スケジューリングの実施例を示す図である。
【図６６ａ】スロット化された送信時間へのデータの制限が取り除かれた場合のスケジューリングの実施例を示す図である。
【図６６ｂ】スロット化された送信時間へのデータの制限が取り除かれた場合のスケジューリングの実施例を示す図である。
【図６６ｃ】スロット化された送信時間へのデータの制限が取り除かれた場合のスケジューリングの実施例を示す図である。
【図６７ａ】スロット化された送信時間へのデータの制限が取り除かれた場合のスケジューリングの別の実施例を示す図である。
【図６７ｂ】スロット化された送信時間へのデータの制限が取り除かれた場合のスケジューリングの別の実施例を示す図である。
【図６７ｃ】スロット化された送信時間へのデータの制限が取り除かれた場合のスケジューリングの別の実施例を示す図である。
【図６８】信号遅延が示されるスロット化されていない実施例のタイミングを示す図である。
【図６９】信号遅延が示される別のスロット化されていない実施例のタイミングを示す図である。
【図７０ａ】異なる指令時間を有する図６８の実施例を示す図である。
【図７０ｂ】異なる指令時間を有する図６８の実施例を示す図である。
【図７０ｃ】異なる指令時間を有する図６８の実施例を示す図である。
【図７１】複数の指令を備えた更に別のタイミングを示す図である。
【図７２】線形方式で配置された図５に類似のツリーを示す図である。
【図７３】モジュールが「前部」及び「後部」側を有するように指定される場合の図７２の構成を示す図である。
【図７４ａ】モジュールの他の構成を示す図である。
【図７４ｂ】モジュールの他の構成を示す図である。
【図７４ｃ】モジュールの他の構成を示す図である。
【図７４ｄ】モジュールの他の構成を示す図である。
【図７５ａ】モジュール間の接続がマザーボード以外の他のボード上にある場合がある態様を示す図である。
【図７５ｂ】モジュール間の接続がマザーボード以外の他のボード上にある場合がある態様を示す図である。
【図７６】他のモジュール接続を備えた図７２の構成の一部を示す図である。
【図７７】更に他のモジュール接続を備えた図７２の構成の一部を示す図である。
【図７８】図７７の構成のためのモジュール接続の更に別の実施例を示す図である。
【図７９】リンク間の様々な幅を有するモジュールの構成を示す図である。
【図８０】格子の形式でのモジュールのグループ化を示す図である。
【図８１ａ】六角形の形式でのモジュールのグループ化を示す図である。
【図８１ｂ】六角形の形式でのモジュールのグループ化を示す図である。
【図８２】六角形構造から成る格子を示す図である。
【図８３】プロセッサに接続した格子構成でのモジュールを示す図である。
【図８４】プロセッサがツールートツリーで接続される場合の構成を示す図である。
【図８５ａ】複数のプロセッサに接続したモジュールの付加的な実施例を示す図である。
【図８５ｂ】複数のプロセッサに接続したモジュールの付加的な実施例を示す図である。
【図８６ａ】プロセッサに接続したモジュールの更に他の実施例を示す図である。
【図８６ｂ】プロセッサに接続したモジュールの更に他の実施例を示す図である。
【図８７】共用メモリ領域への制御及びデータバスの拡張を示す図である。
【図８８】４つのプロセッサと入力／出力デバイスとして構成されたモジュールの格子の構成を示す図である。
【図８９】Ｉ／Ｏモジュールが他のコンピュータシステム要素によって置換される場合の図８８の構成を示す図である。
【図９０】線形及び／又はツリートポロジーの両方をサポートすることができるモジュール及びリンクの構成を示す図である。
【図９１】線形トポロジーで使用される図９０の構成を示す図である。
【図９２】ツリートポロジーで使用される図９０の構成を示す図である。
【図９３ａ】ＲＡＭを備えたモジュールに配置されたＣＳＥを示す図である。
【図９３ｂ】ＲＡＭを備えたモジュールに配置されたＣＳＥを示す図である。
【図９４】別々のデータラインと制御ラインを有するＲＡＭチップを備えたＣＳＥを示す図である。
【図９５】ツリーの残りに対するリーフモジュールの物理的な構成を示す図である。
【図９６】リーフモジュールの他の物理的な構成を示す図である。
【図９７】双方向リンクを有するモジュールの構成を示す図である。
【図９８】キャッシュメモリを備えたモジュールを示す図である。
【図９９】ＣＳＥブリッジ相互接続システムを示す図である。
【図１００】線形物理構成に配置されたモジュールのバイナリツリーを示す図である。
【図１０１】図１００のツリーの他の接続構成を示す図である。
【図１０２】多重ルートのツリー構成を示す図である。
【図１０３】平面図（ａ）及び立面図（ｂ）におけるモジュール間の接続を示す図である。
【図１０４】冗長性を備えた多重ルート構成を示す図である。
【図１０５】冗長性を備えた多重ルートツリーの別の実施例を示す図である。
【図１０６】モジュール故障の場合の図１０５のツリーの再構成を示す図である。
【図１０７】１６モジュールの４グループを有する構成を示す図である。
【図１０８】間にフェンスを有するモジュールのグループの通気構成を示す図である。
【図１０９】温度変化を制御することができるように配置されたモジュールのグループのための通気構成を示す図である。
【図１１０】熱放散要素の付加的な構成を示す図である。
【図１１１】ノードがレーンから構成されたリンクを有する二重ルートツリー構成を示す図である。
【図１１２】既存の設計のコネクタ付きマザーボードにおけるトレースのレイアウトを示す図である。
【図１１３】コネクタが３０度回転した場合のマザーボード上のトレースのレイアウトを示す図である。
【図１１４】１つよりも多いラインのセットが図１１３のコネクタ構成に対して最小限曲げて配置されることを示す図である。
【図１１５】図１１３のコネクタの向きを有するより大きなスケールのマザーボードのレイアウトを示す図である。
【図１１６】ＲＡＩＤエラー補正及び２つのスペアモジュールを備えた６４メモリモジュールとして構成された８２モジュールの論理構成を示す図である。
【図１１７】図１１６の構成に対する物理ボードレイアウトを示す図である。
【図１１８】２つのルートを有する８２モジュールツリーを示す図である。
【図１１９】図１１８のツリーの一部に対応する物理的なボードレイアウトを示す図である。
【図１２０ａ】図１１９のレーンと多層回路基板の層の関係を示す図である。
【図１２０ｂ】図１１９のレーンと多層回路基板の層の関係を示す図である。
【図１２０ｃ】図１１９のレーンと多層回路基板の層の関係を示す図である。
【図１２０ｄ】図１１９のレーンと多層回路基板の層の関係を示す図である。
【図１２１】８２モジュール構成の別のツリー論理図を示す図である。
【図１２２】図１２１の論理ツリーに対応する物理レイアウトを示す図である。
【図１２３】８２モジュール構成の更に別の論理レイアウトを示す図である。
【図１２４】図１２３の論理ツリーに対応する物理レイアウトを示す図である。
【図１２５】物理ボード構成を配置するのに使用することができる個々のモジュールコネクタ経路指定の物理属性を示す図である。
【符号の説明】
【０２６１】
Ｍ０  モジュール
Ｒ  受信接続
Ｔ  送信接続
【図１】
2008537265.tif 000003
【図２】
2008537265.tif 000004
【図３】
2008537265.tif 000005
【図４】
2008537265.tif 000006
【図５】
2008537265.tif 000007
【図６】
2008537265.tif 000008
【図７】
2008537265.tif 000009
【図８】
2008537265.tif 000010
【図９】
2008537265.tif 000011
【図１０】
2008537265.tif 000012
【図１１Ａ】
2008537265.tif 000013
【図１１Ｂ】
2008537265.tif 000014
【図１１Ｃ】
2008537265.tif 000015
【図１１Ｄ】
2008537265.tif 000016
【図１１Ｅ】
2008537265.tif 000017
【図１１Ｆ】
2008537265.tif 000018
【図１２Ａ】
2008537265.tif 000019
【図１２Ｂ】
2008537265.tif 000020
【図１２Ｃ】
2008537265.tif 000021
【図１２Ｄ】
2008537265.tif 000022
【図１２Ｅ】
2008537265.tif 000023
【図１２Ｆ】
2008537265.tif 000024
【図１３Ａ】
2008537265.tif 000025
【図１３Ｂ】
2008537265.tif 000026
【図１３Ｃ】
2008537265.tif 000027
【図１３Ｄ】
2008537265.tif 000028
【図１３Ｅ】
2008537265.tif 000029
【図１３Ｆ】
2008537265.tif 000030
【図１４】
2008537265.tif 000031
【図１４Ａ】
2008537265.tif 000032
【図１４Ｂ】
2008537265.tif 000033
【図１４Ｄ】
2008537265.tif 000034
【図１４Ｅ】
2008537265.tif 000035
【図１４Ｆ】
2008537265.tif 000036
【図１５Ａ】
2008537265.tif 000037
【図１５Ｂ】
2008537265.tif 000038
【図１５Ｃ】
2008537265.tif 000039
【図１５Ｄ】
2008537265.tif 000040
【図１５Ｅ】
2008537265.tif 000041
【図１５Ｆ】
2008537265.tif 000042
【図１６Ａ】
2008537265.tif 000043
【図１６Ｂ】
2008537265.tif 000044
【図１６Ｃ】
2008537265.tif 000045
【図１６Ｄ】
2008537265.tif 000046
【図１７Ａ】
2008537265.tif 000047
2008537265.tif 000048
【図１７Ｃ】
2008537265.tif 000049
【図１７Ｄ】
2008537265.tif 000050
【図１８Ａ】
2008537265.tif 000051
【図１８Ｂ】
2008537265.tif 000052
【図１８Ｃ】
2008537265.tif 000053
【図１９Ａ】
2008537265.tif 000054
【図１９Ｂ】
2008537265.tif 000055
【図１９Ｃ】
2008537265.tif 000056
【図２０】
2008537265.tif 000057
【図２１】
2008537265.tif 000058
【図２２】
2008537265.tif 000059
【図２３Ａ】
2008537265.tif 000060
【図２３Ｂ】
2008537265.tif 000061
【図２３Ｃ】
2008537265.tif 000062
【図２３Ｄ】
2008537265.tif 000063
【図２４Ａ】
2008537265.tif 000064
【図２４Ｂ】
2008537265.tif 000065
【図２４Ｃ】
2008537265.tif 000066
【図２４Ｄ】
2008537265.tif 000067
【図２５Ａ】
2008537265.tif 000068
【図２５Ｂ】
2008537265.tif 000069
【図２５Ｃ】
2008537265.tif 000070
【図２６Ａ】
2008537265.tif 000071
【図２６Ｂ】
2008537265.tif 000072
【図２７Ａ】
2008537265.tif 000073
【図２７Ｂ】
2008537265.tif 000074
【図２８Ａ】
2008537265.tif 000075
【図２８Ｂ】
2008537265.tif 000076
【図２９Ａ】
2008537265.tif 000077
【図２９Ｂ】
2008537265.tif 000078
【図３０】
2008537265.tif 000079
【図３１】
2008537265.tif 000080
【図３２】
2008537265.tif 000081
【図３３Ａ】
2008537265.tif 000082
【図３３Ｂ】
2008537265.tif 000083
【図３４】
2008537265.tif 000084
【図３５】
2008537265.tif 000085
【図３６Ａ】
2008537265.tif 000086
【図３６Ｂ】
2008537265.tif 000087
【図３７】
2008537265.tif 000088
【図３８Ａ】
2008537265.tif 000089
【図３８Ｂ】
2008537265.tif 000090
【図３８Ｃ】
2008537265.tif 000091
【図３９Ａ】
2008537265.tif 000092
【図３９Ｂ】
2008537265.tif 000093
【図３９Ｃ】
2008537265.tif 000094
【図３９Ｄ】
2008537265.tif 000095
【図３９Ｅ】
2008537265.tif 000096
【図４０Ａ】
2008537265.tif 000097
【図４０Ｂ】
2008537265.tif 000098
【図４０Ｃ】
2008537265.tif 000099
【図４０Ｄ】
2008537265.tif 000100
【図４１Ａ】
2008537265.tif 000101
【図４１Ｂ】
2008537265.tif 000102
【図４２】
2008537265.tif 000103
【図４３】
2008537265.tif 000104
【図４４】
2008537265.tif 000105
【図４５】
2008537265.tif 000106
【図４６Ａ】
2008537265.tif 000107
【図４６Ｂ】
2008537265.tif 000108
【図４７Ａ】
2008537265.tif 000109
【図４７Ｂ】
2008537265.tif 000110
【図４８】
2008537265.tif 000111
【図４９Ａ】
2008537265.tif 000112
【図４９Ｂ】
2008537265.tif 000113
【図５０Ａ】
2008537265.tif 000114
【図５０Ｂ】
2008537265.tif 000115
【図５１】
2008537265.tif 000116
【図５２】
2008537265.tif 000117
【図５３】
2008537265.tif 000118
【図５４Ａ】
2008537265.tif 000119
【図５４Ｂ】
2008537265.tif 000120
【図５５Ａ】
2008537265.tif 000121
【図５５Ｂ】
2008537265.tif 000122
【図５６Ａ】
2008537265.tif 000123
【図５６Ｂ】
2008537265.tif 000124
【図５７】
2008537265.tif 000125
【図５８Ａ】
2008537265.tif 000126
【図５８Ｂ】
2008537265.tif 000127
【図５８Ｃ】
2008537265.tif 000128
【図５９】
2008537265.tif 000129
【図６０Ａ】
2008537265.tif 000130
【図６０Ｂ】
2008537265.tif 000131
【図６１Ａ】
2008537265.tif 000132
【図６１Ｂ】
2008537265.tif 000133
【図６１Ｃ】
2008537265.tif 000134
【図６２Ａ】
2008537265.tif 000135
【図６２Ｂ】
2008537265.tif 000136
【図６２Ｃ】
2008537265.tif 000137
【図６３Ｄ】
2008537265.tif 000138
【図６３Ｅ】
2008537265.tif 000139
【図６３Ｆ】
2008537265.tif 000140
【図６４Ａ】
2008537265.tif 000141
【図６４Ｂ】
2008537265.tif 000142
【図６４Ｃ】
2008537265.tif 000143
【図６５Ｄ】
2008537265.tif 000144
【図６５Ｅ】
2008537265.tif 000145
【図６５Ｆ】
2008537265.tif 000146
【図６６Ａ】
2008537265.tif 000147
【図６６Ｂ】
2008537265.tif 000148
【図６６Ｃ】
2008537265.tif 000149
【図６７Ｄ】
2008537265.tif 000150
【図６７Ｅ】
2008537265.tif 000151
【図６７Ｆ】
2008537265.tif 000152
【図６８Ａ】
2008537265.tif 000153
【図６８Ｂ】
2008537265.tif 000154
【図６８Ｃ】
2008537265.tif 000155
【図６９Ｄ】
2008537265.tif 000156
【図６９Ｅ】
2008537265.tif 000157
【図６９Ｆ】
2008537265.tif 000158
【図７０Ａ】
2008537265.tif 000159
【図７０Ｂ】
2008537265.tif 000160
【図７０Ｃ】
2008537265.tif 000161
【図７１Ａ】
2008537265.tif 000162
【図７１Ｂ】
2008537265.tif 000163
【図７２】
2008537265.tif 000164
【図７３Ａ】
2008537265.tif 000165
【図７３Ｂ】
2008537265.tif 000166
【図７４Ａ】
2008537265.tif 000167
【図７４Ｂ】
2008537265.tif 000168
【図７４Ｃ】
2008537265.tif 000169
【図７４Ｄ】
2008537265.tif 000170
【図７５Ａ】
2008537265.tif 000171
【図７５Ｂ】
2008537265.tif 000172
【図７６】
2008537265.tif 000173
【図７７】
2008537265.tif 000174
【図７８】
2008537265.tif 000175
【図７９】
2008537265.tif 000176
【図８０Ａ】
2008537265.tif 000177
【図８０Ｂ】
2008537265.tif 000178
【図８０Ｃ】
2008537265.tif 000179
【図８１Ａ】
2008537265.tif 000180
【図８１Ｂ】
2008537265.tif 000181
【図８２】
2008537265.tif 000182
【図８３Ａ】
2008537265.tif 000183
【図８３Ｂ】
2008537265.tif 000184
【図８４Ａ】
2008537265.tif 000185
【図８４Ｂ】
2008537265.tif 000186
【図８５Ａ】
2008537265.tif 000187
【図８５Ｂ】
2008537265.tif 000188
【図８６Ａ】
2008537265.tif 000189
【図８６Ｂ】
2008537265.tif 000190
【図８７Ａ】
2008537265.tif 000191
【図８７Ｂ】
2008537265.tif 000192
【図８８】
2008537265.tif 000193
【図８９】
2008537265.tif 000194
【図９０】
2008537265.tif 000195
【図９１】
2008537265.tif 000196
【図９２】
2008537265.tif 000197
【図９３Ａ】
2008537265.tif 000198
【図９３Ｂ】
2008537265.tif 000199
【図９４Ａ】
2008537265.tif 000200
【図９４Ｂ】
2008537265.tif 000201
【図９５】
2008537265.tif 000202
【図９６】
2008537265.tif 000203
【図９７】
2008537265.tif 000204
【図９８】
2008537265.tif 000205
【図９９Ａ】
2008537265.tif 000206
【図９９Ｂ】
2008537265.tif 000207
【図１００】
2008537265.tif 000208
【図１０１Ａ】
2008537265.tif 000209
【図１０１Ｂ】
2008537265.tif 000210
【図１０２】
2008537265.tif 000211
【図１０３Ａ】
2008537265.tif 000212
【図１０３Ｂ】
2008537265.tif 000213
【図１０４Ａ】
2008537265.tif 000214
【図１０４Ｂ】
2008537265.tif 000215
【図１０４Ｃ】
2008537265.tif 000216
【図１０５Ａ】
2008537265.tif 000217
【図１０５Ｂ】
2008537265.tif 000218
【図１０６Ａ】
2008537265.tif 000219
【図１０６Ｂ】
2008537265.tif 000220
【図１０６Ｃ】
2008537265.tif 000221
【図１０７】
2008537265.tif 000222
【図１０８】
2008537265.tif 000223
【図１０９】
2008537265.tif 000224
【図１１０】
2008537265.tif 000225
【図１１１Ａ】
2008537265.tif 000226
【図１１１Ｂ】
2008537265.tif 000227
【図１１１Ｃ】
2008537265.tif 000228
【図１１２Ａ】
2008537265.tif 000229
【図１１２Ｂ】
2008537265.tif 000230
【図１１２Ｃ】
2008537265.tif 000231
【図１１３】
2008537265.tif 000232
【図１１４】
2008537265.tif 000233
【図１１５】
2008537265.tif 000234
【図１１６】
2008537265.tif 000235
【図１１７】
2008537265.tif 000236
【図１１８】
2008537265.tif 000237
【図１１９】
2008537265.tif 000238
【図１２０Ａ】
2008537265.tif 000239
【図１２１】
2008537265.tif 000240
【図１２２】
2008537265.tif 000241
【図１２３】
2008537265.tif 000242
【図１２４】
2008537265.tif 000243
【図１２５】
2008537265.tif 000244
【国際調査報告】
2008537265.tif 000245
2008537265.tif 000246
2008537265.tif 000247
2008537265.tif 000248
2008537265.tif 000249
2008537265.tif 000250