JP2009238234A - 相互接続システム - Google Patents

相互接続システム Download PDF

Info

Publication number
JP2009238234A
JP2009238234A JP2009124465A JP2009124465A JP2009238234A JP 2009238234 A JP2009238234 A JP 2009238234A JP 2009124465 A JP2009124465 A JP 2009124465A JP 2009124465 A JP2009124465 A JP 2009124465A JP 2009238234 A JP2009238234 A JP 2009238234A
Authority
JP
Japan
Prior art keywords
module
data
node
modules
shows
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009124465A
Other languages
English (en)
Inventor
Jon C R Bennett
ジョン シー アール ベネット
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Violin Memory Inc
Original Assignee
Violin Memory Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Violin Memory Inc filed Critical Violin Memory Inc
Publication of JP2009238234A publication Critical patent/JP2009238234A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4247Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Logic Circuits (AREA)
  • Memory System (AREA)
  • Communication Control (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Small-Scale Networks (AREA)

Abstract

【課題】コンピュータ又は遠隔通信システムの構成要素と共に使用する相互接続システムを提供する。
【解決手段】データメモリシステム、コンピュータシステム、又はデータ経路がシステムの電力消費及びデータスキュー特性を制御するように配置されて作動される通信システムとすることができる、ネットワークにおいて要素を配置するための相互接続システム、装置、及び方法。構成可能なスイッチング要素を使用して、ノードでの相互接続を形成することができ、制御信号及び他の情報を使用して、構成可能なスイッチング要素の他の態様の電力ステータスが管理される。ネットワークのノード間で送信されているデータの時間遅延スキューは、ネットワークの1つ又はそれよりも多くのノードでデータの論理的及び物理的ライン割当てを交換することによって変更することができる。また、トレース経路指定の複雑さを低減する相互接続マザーボードを配置する方法も開示する。
【選択図】図76

Description

本出願は、2005年4月21日申請の米国特許仮出願出願番号第60/674,189号及び2005年7月11日申請の米国特許仮出願出願番号第60/698,629号の恩典を請求し、各出願は、本明細書においてその全内容が引用により組み込まれている。
一般的に、コンピュータ及び通信製品の進化は、構成要素の密度が増し、かつこのような構成要素のコストが経時的に減少するという「ムーアの法則」のような原理によって支配されている。これはまた、多くの場合に転送及び演算速度の増加も伴っている。これらの傾向は、多くの場合にワット損密度を増し、熱を消散するか、又は高温環境で作動するかのいずれかのための新しい解決法を要求している。高速回路では、信号伝播遅延と設計及び製造許容誤差の両方が、実際に得られる実現可能な速度に制限を課す場合がある。
現代のメモリシステムアーキテクチャは、コスト、性能、及び例えばシステムの総メモリ容量を更新する機能の間のトレードオフを示す場合がある。メモリ容量は、通常は、コネクタ/ソケットインタフェースを有するメモリモジュール又はカードによって更新される。これらのメモリモジュールは、多くの場合に、システムリソースを効率的に利用するためにバックプレーン上に配置されたバス又は相互接続配線に接続される。更新可能性に加えて、これらの現代のメモリシステムの多くはまた、グラフィックのような帯域幅集中アプリケーションに対して高処理機能を要求する。
設計で考察することができるシステムリソースは、例えば、集積回路ダイ領域、パッケージピン、信号ライントレース、コネクタ、バックプレーンボード領域、及び電力及び応答速度を含む。
メモリモジュールの1つの一般的なタイプは、「デュアルインラインメモリモジュール(DIMM)」である。DIMMは、1つの長い縁部に沿って両側に配置された電気接点ポイントを有する矩形の薄型の回路基板である。接点ポイントは、DIMMがDIMMメモリソケットに挿入された時にメインボードのメモリバスへの電気接続を形成する。
メモリシステムは、モジュールの使用を通じて更新経路を提供する。ソケット及びコネクタインタフェースを利用することができ、それによって各モジュールを取り除いてより速いか又は高容量を含むメモリモジュールによって交換することができ、又は単に故障したメモリモジュールと交換することができる。メモリシステムは、込み合っていないソケット又はモジュールの全容量未満(すなわち、空きソケット/コネクタ)を用いて構成し、メモリ拡張モジュールによって後で増加する容量に備えることができる。
コンピュータ及び通信システムで使用されるメモリは、以下に限定されるものではないが、全てのタイプのランダムアクセスメモリ(RAM)(例えば、S−RAM、D−RAM)と、プログラマブル読取専用メモリ(PROM)と、電子的可変読取専用メモリ(EPROM)と、フラッシュメモリと、「磁気抵抗ランダムアクセスメモリ(MRAM)」、「強誘電体RAM(FRAM又はFeRAM)」、並びにNRAM(ナノチューブベース/不揮発性RAM)及び相変化メモリ(PRAM)を含む全てのタイプの磁気メモリと、磁気ディスク記憶媒体とを含む。将来的に使用に適すると考えられる他のメモリは、量子デバイスなどを含む。
柔軟で費用対効果が大きい更新機能を提供すると同時にマイクロプロセッサ作動周波数に遅れない高帯域を提供するメモリシステム及びコンピュータシステムアーキテクチャ又は相互接続トポロジーに対する必要性が存在する。代替的に、同じか又は同様の作動特性に対してより低い電力消費、より短いメモリ待ち時間、及び同様の属性も必要である。
現在、メモリシステムのサイズ及び性能は、電力消費により、電力消費及びデバイス密度に関連した冷却容量により、例えばデータスキューによる応答時間により、メモリ要素を相互接続するのに必要な回路基板の複雑さにより、及びこれらの考慮事項の経済的コストによって制限されるであろう。メモリ及び通信システムアーキテクチャ及び装置における改良は、これらの問題の一部又は全てを軽減するために必要である。
米国特許仮出願出願番号第60/674,189号 米国特許仮出願出願番号第60/698,629号
コンピュータ又は遠隔通信システムの構成要素と共に使用する相互接続システムを開示し、相互接続システムは、複数のノードを有し、各ノードは、入力リンク又は出力リンクの少なくとも一方を備えたポートを有する。各リンクは、レーン(ライン)を有する。第1ノードの第1レーンは、制御データを送信し、第2ノードは、第2ノードの第1レーン上で受信した制御信号が第2ノードの第2レーンの未来時ステータス変化を制御するように構成可能である。第1ポートの出力レーンのステータスは、制御信号によって判断される未来時に変更することができる。未来時は、固定された時間、相互接続システムのノードの位置に依存した時間、又は制御信号に包含された時間値のうちの少なくとも1つである値を有することができる。
別の態様では、複数のノードを含み、各ノードが入力リンク又は出力リンクの少なくとも一方を備えたポートを有し、更に、各リンクが第1レーン及び第2レーンを含むような相互接続システムを開示する。相互接続システムは、更に、各々が複数のメモリモジュールの1つにインタフェースで接続している複数のコネクタを有するマザーボードを含む。メモリモジュールは、複数のノードの少なくとも1つと通信することができる。各信号レーンは、信号受信器又は信号送信器の少なくとも一方を有する。第1ノードの第1レーンが第1信号を送信する時に、第2ノードは、第2ノードの第1レーン上で受信した第1信号が第2ノードの第2レーンの未来時電力ステータスを制御するように構成されている。
各ノードは、制御データがノードによって受信したデータの宛先を管理するように構成可能とすることができる。データの宛先は、ローカルからノード、又はポートのうちの一方から選択することができる。
別の態様では、相互接続システムは、複数のノードを有し、各ノードは、入力リンク又は出力リンクの少なくとも一方を有するポートを有し、各リンクは、複数のレーンを更に含み、ノードは、制御信号を複数のレーンの選択されたレーン上で受信することができるように構成可能とすることができる。制御データ及び信号データは、同じか又は異なるレーン上で受信することができる。信号データは、アナログデータ又はデジタルデータとすることができる。デジタルデータは、ワードとして編成することができる。ワードは、本明細書ではワードのビット数を制限することなく、又はワードがシリアルで又はパラレルで送信されるか否かに関わらず、具体的に指示される場合を除いて一般的な意味で使用される。従って、ワードは、例えば、「ニブル」、「バイト」、全ワード、ダブルワード、パリティのある及びパリティのないワードのうちのいずれか1つとすることができ、かつビットの標準的でない数を有することができる。
別の態様では、相互接続システムは、複数のノードを有し、各ノードは、入力リンク又は出力リンクの少なくとも一方を有するポートを有し、各リンクは、更に、第1レーンによって受信した信号に基づいて第2レーンの未来時ステータスを制御するための第1レーン及び第2レーン手段を含む。ステータス変更は、電源オン、電源オフ、又は待機のうちの1つから選択される状態の間で行うことができる。電源オン状態は、制御又はデータ信号の送信又は受信の少なくとも一方を可能にすることができ、待機状態は、電源オン状態よりも低い電力消費を有し、電源オフ状態は、待機状態と比較して低い電力消費条件を有する。
更に別の態様では、相互接続システムは、複数の信号レーンを有し、各レーンは、データワードのビットを含むデータ信号の送信又は受信の少なくとも一方が可能とすることができる。データワードは、第1ビット及び第2ビットを有することができ、第1ビット及び第2ビットの各々は、ワードが信号レーンの遠位端で受信された時に第1ビットと第2ビットの間の時間遅延差を変えられるように、2つの信号ライン間で論理的に交換することができる。ビットの交換は、信号ラインの近位端又は遠位端のいずれかで行うことができる。その後、ビットは、ワードが受信側ノードでワードのビットへのデータの正しい論理的割当てを有するように再配置することができる。代替的に、ビットは、ビットが受信側ノードでその配置にあるように送信側ノードで配置することができる。
更に別の態様では、相互接続システムは、複数のノードを有し、ノードは、レーンを有するリンクによって接続したネットワークを形成する。第1ノードは、データの送信元とすることができ、第2ノードは、データの宛先とすることができ、第1ノード又は第2ノードの少なくとも一方は、第2ノードでのデータの到着時間の差が変わるようにレーンへのデータの論理的割当てを交換するように構成することができる。
データは、少なくとも2ビットを有するワードとすることができ、第1ビットは、第1レーンに割り当てられ、第2ビットは、第2レーンに割り当てられる。モジュールコントローラは、ビットが第2ノードで望ましい順序で受信されるように、入力でのレーンに対するワードのビットの論理的割当てを第1ノードに行うことができる。代替的に、論理再割当ては、第1ノードと第2ノード間に配置された第3ノードで実行することができる。
更に別の態様では、相互接続システムは、複数のノードを有し、ノードは、レーンを有するリンクによって接続したネットワークを形成する。第1ノードは、信号の送信元とすることができ、第2ノードは、信号の宛先とすることができ、第1ノードと第2ノード間の2つ又はそれよりも多くのレーン上での信号間の時間遅延差を低減するための手段が設けられる。
入力ポート及び出力ポートを有するノードを開示し、入力ポート及び出力ポートの各々は、複数のラインを有することができる。スイッチは、複数の入力ラインの各々が出力ラインの1つに接続され、それによって第1ポートの出力ポートからの出力ラインの遠位端と通信する入力ラインを有する入力ポートを有する第2ノードで測定された時に複数の出力ライン上の信号間の時間スキューを変えられるように構成可能とすることができる。
読取−書込メモリデバイス及び構成可能なスイッチング要素(CSE)を有するメモリモジュールを開示する。CSEは、受信信号又は送信信号の少なくとも一方のための第1ポートを有することができ、第1ポートは、複数の信号レーンを有することができる。CSEは、例えば、未来時に複数の信号レーンの状態を変化させる段階、受信した信号を読取−書込メモリデバイスに経路指定する段階、又は受信した信号を第2ポートに経路指定する段階を含むことができる機能を実行するように受信した制御信号を解釈するように構成可能とすることができる。複数の信号ラインの各々の状態は、例えば、電源アップ、又は電源ダウン、又は待機のうちの1つとすることができる。
別の態様では、未来時は、固定された時間、制御信号によって判断された時間値、又は設定可能な値のうちの少なくとも1つである値を有し、複数のレーンの各々に対して別々に判断可能とすることができる。
別の態様では、メモリモジュールのCSEは、受信信号ラインによって受信した論理データ割当て、及び送信信号ラインによって送信されるデータの論理的割当てが変更可能であるように構成可能とすることができる。
メモリモジュールCSEは、メモリモジュールの第1、第2、又は第3ポートのいずれかのいずれか1つの信号ライン上で受信した信号を第1、第2、又は第3ポートの信号レーン上のいずれかで送信することができるように構成可能とすることができる。送信及び受信信号ラインは、単方向、双方向、又は可逆レーンとすることができる。
更に別の態様では、データ信号、制御信号、又は同期信号のうちの少なくとも1つは、固定時間間隔中にCSE又はメモリモジュールに接続しているリンクのライン又はレーン上の各々で送信される。固定時間間隔は、データエッジトラッキング、クロック、クロック位相、又はフレーム同期のうちの少なくとも1つが維持されるように判断することができる。
データを記憶するための手段、1つ又はそれよりも多くの入力又は出力インタフェースの未来時ステータスを制御するための手段、及び出力インタフェース又はデータを記憶するための手段の少なくとも一方にデータを経路指定するための手段を有するメモリモジュールを開示する。
別の態様では、メモリモジュールは、第2メモリモジュールの入力インタフェースで測定される時に第1メモリモジュールの出力インタフェース上の論理信号間の時間遅延差が変わるように、信号のための論理及び物理的インタフェース割当てを交換するための手段を有する。別の態様では、論理信号間の遅延差時間を変えることができるように信号のための論理及び物理的インタフェース割当てを交換するための手段は、以下に限定されるものではないが、モジュールが取り付けられたボードであるモジュール上の電気トレースの固定配置と、物理的か又は近位かに関わらずマルチチップモジュールのみの又は他の固定及び/又は動的手段に結合したチップ間のチップパッケージ基板、接続とを含むことができる。
別の態様では、論理信号間の時間遅延差を変えることができるように信号のための論理及び物理的インタフェース割当てを交換するための手段は、構成可能なスイッチング要素(CSE)の内側で、並びにデジタルスイッチ、アナログ/RFスイッチ、マイクロマシン技術(MEMS)デバイスのような機械スイッチ、構成可能な近接通信デバイス又は他の類似のデバイスをそれだけで又は他の動的又は固定手段と結合させて含むことができる2つ又はそれよりも多くのCSE間に配置された他のスイッチング要素によって実行される動的スイッチング機能を含むことができる。
少なくとも2つの信号ラインを有する構成可能なスイッチング要素(CSE)を開示し、第1信号ラインは、制御信号を受信するように構成することができ、第2信号ラインは、制御可能な状態を有することができる。第2ラインの状態は、例えば、電源オン、電源オフ、又は待機のうちの1つとすることができる。第1信号ラインによって受信した制御信号は、第2信号ラインの状態を制御する。信号ラインの少なくとも1つで受信したアドレスデータと別の信号ライン上で受信したデータとは、別の信号ライン又はメモリインタフェースの少なくとも一方に経路指定することができる。メモリインタフェースは、データを記憶するための手段に接続可能である。
別の態様では、構成可能なスイッチング要素(CSE)は、受信又は送信信号の少なくとも一方のための第1インタフェースを有し、インタフェースは、複数の信号ラインを有し、CSEは、受信した制御信号に基づいて第1インタフェース又は第2インタフェースの複数の信号ラインのうちの1つの状態を変化させる段階、又はメモリインタフェース、受信又は送信信号のための第2インタフェース、又は第1インタフェースの送信態様とすることができる別のインタフェースに受信信号を経路指定する段階のうちの少なくとも一方を実行するために受信制御信号を解釈するように構成可能である。複数の信号ラインの各々の状態は、例えば、電源アップ、電源ダウン、又は待機のうちの1つである。
別の態様では、CSEは、受信信号ライン間の論理的データ交換と、送信信号ラインへのデータの論理的割当てとが実行されるように構成可能である。第1、第2、又は第3インタフェースのいずれかのいずれかの信号ライン上で受信した信号が、第1、第2、又は第3インタフェースの複数の信号ラインのいずれかで送信されるように構成可能な第3インタフェースが存在することができる。
1つ又はそれよりも多くの入力又は出力インタフェースの未来時ステータスを制御するための手段と、出力インタフェース又はデータを記憶するための手段にデータを経路指定するための手段とを有する構成可能なスイッチング要素(CSE)を開示する。
別の態様では、CSEは、第2CSEのインタフェースで測定される時に第1出力インタフェース及び第2出力インタフェース上の信号間の時間遅延差が変わるように、信号のための論理及び物理的インタフェース割当てを交換するための手段を有する。
上端及び下端との接続インタフェースを有し、第1、第2、及び第3リンク接続を形成する複数の信号ラインを有することができるネットワークにノードを収容するための相互接続ネットワークを開示し、ネットワークは、接続インタフェースを結合する第1、第2、又は第3リンクの1つ又はそれよりも多くによって形成され、接続インタフェースの以下の構成の少なくとも2つが、トレースによって結合される。
(a)リンクの全てが第1の側の接続インタフェースから離れていくように第1から第3リンクが配置される、
(b)上端に最も近いラインを有するリンクが接続インタフェースの第1の側から離れていき、2つの残りのリンクが接続インタフェースの第2の側から離れていき、かつ接続インタフェースの第2の側から離れていくリンクが隣接して配置されるように、第1から第3リンクが配置される、
(c)下端に最も近いラインを有するリンクが接続インタフェースの第2の側から離れていき、2つの残りのリンクが接続インタフェースの第1の側から離れていき、かつ接続の第1の側から離れていくリンクが隣接して配置されるように、第1から第3リンクが配置される、
(d)上端に最も近いラインを有するリンク及び下端に最も近いラインを有するリンクが接続インタフェースの第1の側から離れていき、かつ最初の2つのリンク間の中間に配置されたラインを有するリンクが接続インタフェースの第2の側から離れていくように、第1から第3リンクが配置される、かつ
(e)、(f)、(g)、及び(h)、ここで(e)、(f)、(g)、及び(h)は、(a)、(b)、(c)、及び(d)であり、上端及び下端は、コネクタに直交する軸の周りに180度ずつ(a)、(b)、(c)、及び(d)のパターンを回転させることによって相互に交換される。
別の態様では、リンクは、平坦なプリント配線アセンブリの層に配置することができ、又は基板上の層の金属要素として配置することができる。メモリ手段及びCSEなどの能動及び受動回路のような他の構成要素は、同じ基板、配線アセンブリ上に製造することができる。
別の態様では、少なくとも3つのコネクタインタフェースが互いに並行に配置される。
ネットワーク相互接続を配置する方法を開示し、本方法は、接続インタフェースの上部が互いに相対するように位置決めされ、接続インタフェースの下部が互いに相対するように配置されるように複数の接続インタフェースを配置する段階と、以下の接続インタフェース構成のうちの少なくとも2つが使用される、複数の接続インタフェース間に接続のネットワークを形成する段階とを含む。
(a)リンクの全てが第1の側の接続インタフェースから離れていくように第1から第3リンクが配置される、
(b)上端に最も近いラインを有するリンクが接続インタフェースの第1の側から離れていき、2つの残りのリンクが接続インタフェースの第2の側から離れていき、かつ接続インタフェースの第2の側から離れていくリンクが隣接して配置されるように、第1から第3リンクが配置される、
(c)下端に最も近いラインを有するリンクが接続インタフェースの第2の側から離れていき、2つの残りのリンクが接続インタフェースの第1の側から離れていき、かつ接続の第1の側から離れていくリンクが隣接して配置されるように、第1から第3リンクが配置される、
(d)上端に最も近いラインを有するリンク及び下端に最も近いラインを有するリンクが接続インタフェースの第1の側から離れていき、かつ最初の2つのリンク間の中間に配置されたラインを有するリンクが接続インタフェースの第2の側から離れていくように、第1から第3リンクが配置される、かつ
(e)、(f)、(g)、及び(h)、ここで(e)、(f)、(g)、及び(h)は、(a)、(b)、(c)、及び(d)であり、上端及び下端は、コネクタに直交する軸の周りに180度ずつ(a)、(b)、(c)、及び(d)のパターンを回転させることによって相互に交換される。
コンピュータと通信する第1インタフェースと、ノードへのリンクを有する第2インタフェースと、第1ノードと第2ノード間に配置されたリンクのレーン上の信号間の時間遅延差を判断するための手段とを有するネットワークコントローラを開示する。
別の態様では、ネットワークコントローラは、第2ノードで受信した論理信号間の時間遅延差を変えるために、第1ノードと第2ノード間で通信するように配置されたレーンに論理信号を割り当てる手段を有することができる。
更に別の態様では、ネットワークコントローラは、信号を送信及び受信することができる第1データインタフェースであるコンピュータインタフェースと、第1データインタフェースによって送信するためのアドレス値を発生するように構成されたプロセッサとを有することができ、プロセッサは、少なくとも2つの信号ライン上の論理データの遅延差を受信側デバイスで受信する時に変えられるように、データ値を信号ラインに論理的に割り当てるように更に構成されている。
本発明は、以下のいくつかの例示的実施形態の詳細説明及び添付図面から更に完全に理解されるであろうが、これらは、説明及び理解のためのみであり、図示の特定的な実施形態に本発明を制限するように解釈すべきではない。
例示的な実施形態は、図面と共により良く理解することができるであろうが、これらの実施形態は、制限的な性質を有するものではない。同じか又は異なる図面での同様に番号を付けられた要素は、同等の機能を果たす。要素は、番号を付けるか又は頭文字で示すか、又はその両方のいずれかとすることができ、表示間の選択は、単に明確にするために行われ、それによって数字で示す要素、及び頭文字又は英数字インジケータで示す同じ要素は、そのような方式で区別すべきではない。
説明する方法及び図面に示す装置は、機械実行可能命令、例えば、ソフトウエア又はハードウエアで又は両方の結合から成るか又は具体化されることが認められるであろう。命令は、説明するオペレーションを実行するように、汎用コンピュータ、DSP、又はアレイプロセッサのような専用プロセッサなどに命令によってプログラムさせるのに使用することができる。代替的に、オペレーションは、説明するオペレーションを実行するためのハードワイヤド論理又はファームウエア命令を包含する専用ハードウエア構成要素により、又はアナログ回路を含むことができるプログラムされたコンピュータ構成要素及びカスタムハードウエア構成要素のいずれかの組合せによって実行することができる。
本方法は、少なくとも部分的には、本方法を実行するようにコンピュータ(又は他の電子デバイス)をプログラムするのに使用することができる命令を記憶した機械可読媒体を含むことができるコンピュータプログラム製品として提供することができる。この明細書の目的では、「機械可読媒体」という語は、コンピュータ機械又は専用ハードウエアによって実行される命令のシーケンス又はデータを記憶又は符号化することができ、更に本発明の方法又は機能のいずれか1つを機械又は専用ハードウエアに実行させるいずれかの媒体を含むものと解釈すべきである。「機械可読媒体」という語は、従って、以下に限定されるものではないが、固体メモリ、光及び磁気ディスク、磁気メモリ、光メモリ、及び搬送波信号を含むものと解釈すべきである。コンピュータによって実行される方法の説明は、人によって実行される同じ方法を排除すべきではない。
例えば、制限的ではないが、機械可読媒体は、読取専用メモリ(ROM);全てのタイプのランダムアクセスメモリ(RAM)(例えば、S−RAM、D−RAM);プログラマブル読取専用メモリ(PROM);電子的可変読取専用メモリ(EPROM);磁気ランダムアクセスメモリ;磁気ディスク記憶媒体;フラッシュメモリ;伝播信号の電気、光、音響又は他の形式(例えば、搬送波、赤外線信号、又はデジタル信号)を含むことができる。
更に、作用を行うか又は結果を引き起こすものとして、1つの形式又は別の形式(例えば、プログラム、手順、処理、アプリケーション、モジュール、アルゴリズム、又は論理)でのソフトウエアについて言及することは、当業技術では一般的である。このような表現は、コンピュータ又は同等のデバイスによるソフトウエアの実行が、コンピュータのプロセッサ又は同等のデバイスに作用を実行させるか又は結果を生じさせることを表す単に便利な言い方であることは、当業者によって公知の通りである。
特定的な実施例を説明する時に、実施例は、特定の特徴、構造、又は特性を含むことができるが、全ての実施例が必ずしも特定の特徴、構造、又は特性を含まなくてもよい。これは、2つ又はそれよりも多くの実施例の特徴、構造、又は特性が、これらの結合が明確に除外される場合を除いて結合すべきではない又は結合できないという忠告又は含意として解釈すべきではない。特定の特徴、構造、又は特性が実施例と関連させて説明される時に、当業者は、明確に説明されているか否かに関わらず、他の実施例と関連したこのような特徴、構造、又は特性を実行することができる。
メモリモジュールコネクタインタフェースのような本明細書に説明するコネクタ又はコネクタインタフェースは、物理的に分離可能なインタフェースに制限されず、雄コネクタ又はインタフェースは、雌コネクタ又はインタフェースに噛み合う。コネクタインタフェースはまた、メモリモジュールからのリード、半田ボール、又は接続が回路基板に半田付けされるインタフェースのような物理的インタフェース又は接続のどのようなタイプも含む。例えば、スタック化ダイ方法では、いくつかの集積回路ダイ(例えば、メモリデバイス及びバッファデバイス)が互いの上部に積み重ねられ、基板がコネクタインタフェースのボール格子アレイタイプによってベース及びメモリコントローラ又はプロセッサへのインタフェースを形成する。別の例として、メモリデバイス及びバッファデバイスは、可撓性のテープ相互接続と、ボール格子アレイタイプコネクタインタフェース又は物理的に分離可能なソケットタイプコネクタインタフェースの1つによるメモリコントローラへのインタフェースを通じて相互接続することができる。接続タイプは、集積回路チップ間のインタフェース、基板上、基板間、又はプリント回路基板上の相互接続導体などを含むことができる。
メモリモジュールは、メモリを含むことができ、また、メモリのためのコントローラ、構成可能なスイッチング要素(CSE)、及び信号の処理、送信、又は受信のための他の回路を有することができる。しかし、メモリモジュールは、メモリを含むだけで、他の要素の1つ又はそれよりも多くは、別々に取り付けることができる。実際の物理的態様及びコンピュータ態様が、多種多様な同等の方法で配置することができることを当業者が理解する時に、具体的に示されていない限り、特定のモジュールへの機能の割当ては、説明における便宜性を目的とする。
「バス」又は「リンク」は、1つの信号ライン又は複数の信号ライン又は「レーン」を意味し、各々は、「送受信する」(すなわち、送信する、受信する、又はこれら両方のいずれか)のための1つ又はそれよりも多くの接続ポイントを有する。各接続ポイントは、送受信器(すなわち、送信器−受信器)又は単一の送信器又は受信器回路の1つに接続又は連結することができる。接続又は連結は、電気で、光で、磁気で、量子交絡で、又はその均等物によって供給される。同じか又は類似の手段による他の電気接続は、電力、接地、補助信号、及び制御などのような付加的なシステム要件の満足を提供するために使用される。このような付加的な接続は、時には説明を明確にするように説明されるが、このような付加的な接続は、当業者には公知であり、どの実施例でのこれらの接続の説明がなくても、これらを含むことを除くものと解釈すべきではない。
リンクは、信号ライン又はレーンで信号を運ぶ。信号は、一般的に、クロック及び制御信号、アドレス信号、指令信号、及びデータ信号を含むいくつかのカテゴリのいずれかになる。データ信号は、メモリデバイス又はインタフェースに記憶することができるか又はこれらから検索することができるデータを運ぶ。アドレス信号は、データがそこから読み取られるか又はそこに書き込まれるメモリデバイス又はシステム内のロケーション又はロケーションの範囲を示し、1つ又は複数のメモリデバイス又はインタフェースのどれがアクセスされるかを選択することができる。指令信号は、オペレーションのどのタイプ、例えば、読取り、書込み、リフレッシュが実行されるかに関して、及び場合によっては、いくつかのアクセスモード(バースト又はブロードキャストモードなど)のどれをデータ転送に使用すべきかに関してメモリデバイス又はインタフェースに指示する。クロック及び制御信号は、コントローラとメモリデバイス間の他の信号移動を同期する。リンクは、各信号に対して別々の信号ライン(例えば、1つのクロックサイクルで32ビット幅アドレスを転送するための32アドレスラインと、1つのクロックサイクルで32ビット幅データワードを転送するための32データライン)を使用することができるが、異なる信号に対して1つ又はそれよりも多くの信号ラインを再使用する様々な方式も存在し、メモリトランザクションの様々なクロックサイクル中に指令信号、制御信号、アドレス信号、及びデータ信号のために1つ又はそれよりも多くの信号ラインを再使用する様々な方式も存在する。
レーン又はラインがインタフェース又はポートに接続されるものとして説明する時に、ライン又はレーンがアクティブである、電源オン又は電源オフである、待機モードにあるなどと説明することが便利であることを認めるべきである。これは、ノードのポートとのインタフェース上の接続のステータスを示すものと解釈されることを意味する。レーン又はライン自体は、単に、回路基板上の金属トレースなどとすることができ、ノード間の接続を提供する働きをする。
「幅優先」慣例は、ツリーのノードに付番する、すなわち、ツリーのルートから始めて次のレベルに移動する前に所定のレベルの要素全てにわたって機能するように使用されることが多い。この付番は、便利さだけのためである。実施目的のために、2つ又はそれよりも多くの付番方式を同時に含む多くの異なる付番方式を使用することができる。信号方式目的のために、慣例「ポート0、ポート1など」は、絶対ポートではなく相対ポートを示すことができる。慣例により、「サウスバウンド」、「下流側」、又は「2次」は、モジュールコントローラ又はルートから離れていく方向を示し、他方「ノースバウンド」、「上流側」、又は「1次」は、モジュールコントローラ又はルートに向っていく方向を示している。1つのルート又はモジュールコントローラ、及びその各々が同時に作動可能とすることができる。
図1は、説明する実施例で使用することができる記号及び専門用語のいくつかを明確にするために提供されている。これは、便利性、明瞭性、及び簡潔さのために行われ、当業者は、多種多様な同等の専門用語を使用することができることを認識するであろう。しかし、本明細書に示す説明の目的のために、ここに示す語を具体的に指示がない限り使用することができるであろう。これは、同等の受け入れられた専門用語又は同等の概念を説明する将来使用される可能な専門用語から除くか又は区別することを意味していない。
モジュールコントローラMC10(独立型モジュールコントローラ又はメモリコントローラとすることができ、又は中央演算処理装置(CPU)、デジタル信号プロセッサ(DSP)、マイクロプロセッサ、グラフィックコ−プロセッサ、ブリッジチップ、又は相互接続システムに接続されるのを必要とするが図には示されていないいずれかのこのようなデバイスのような何らかの他のデバイス内のインタフェース又は回路とすることができる)は、その機能を1つの構成要素に常駐させるか又は1つよりも多いデバイス全体に分散することができ、モジュールM#のグループ20(又はインタフェース、別のプロセッサ、メモリなどのような他のコンピュータシステム構成要素)に2地点間リンクによって接続される。本説明では、「モジュール」又は「メモリモジュール」という語は、インタフェース及びプロセッサを含む他のコンピュータシステム構成要素を表すのに使用することができる。
更に、制御及び信号ラインのための1つ又はそれよりも多くのマルチドロップバスも存在することができ、1つ又はそれよりも多くのグローバルクロックも存在することができ、更に、信号ライン及びデータラインの両方を一方向又は双方向とすることができる。モジュールコントローラMC10とモジュール(M0,M1,M2,M3)間、及び1つのモジュールから次のモジュールへのリンクは、データと制御/信号ラインの両方を包含することができる。リンクは、多くの異なる方法で構成することができ、いくつかの可能な構成を図1に示している。
ライン又はレーンのグループを示し、ここで、
L0は、別々のデータライン30及び制御ライン40を表し、ラインの各セットは、等しい幅の別々のノースバウンド及びサウスバウンド一方向ラインを有する、
L1は、等しくない幅の別々のノースバウンド及びサウスバウンド一方向データライン30a、b、M1からM0へのノースバウンド制御ライン40a及びMCからM1へのサウスバウンド制御ライン40b及びM1からMCへのノースバウンドデータライン30cを表す、
L2は、M1とM2間のノースバウンド及びサウスバウンド一方向データライン30d及び制御ライン40c並びにM1とM2間の別々の双方向制御ライン40d、また、M1からM3へのサウスバウンド一方向制御ライン40eを表す、かつ
L3は、M3からM2への結合ノースバウンド一方向データライン30e及び制御ライン40f、MC及びM3間の双方向サウスバウンド制御ライン40g及びM2からM3への一方向サウスバウンド及びノースバウンドデータライン30f、gを表している。
MCからM1(40b)、M1からM3(40e)の制御ラインのような制御ラインスキッピング隣接モジュールは、各ホップを通って送信される場合よりも少ない待ち時間で、M1からMC(30c)のようなデータラインと同様に制御信号を送信するのに使用することができる。「データ」又は「制御」というラベルを備えたラインは、単に「大抵は」データ又は制御ラインであるだけで、これらは、他のタイプの信号を運ぶのに使用することもできる。すなわち、制御信号をデータラインで運ぶことができ、データ信号を制御ラインで運ぶことができる。従って、データ及び制御ラインは、コンテキストに応じて論理的又は物理的とすることができる。
クロック信号は、シングルエンドクロックライン又は2つ又はそれよりも多くのモジュール間に接続した差異クロックを使用して、クロック生成回路から直接様々な構成要素及びモジュールに分配することができる。高速クロックはまた、データ又は制御信号と結合させることができる。
図2は、1つよりも多い2次又は下流側ポートを有することができる構成可能なスイッチング要素15(CSE)の実施例を示している。CSEは、メモリ又は他のデバイスと通信するために使用することができ、メモリ又は他のデバイスは、CSEと同じ物理モジュール上に位置付けることができ、又はマザーボード上のCSEとは別のモジュールに、又は別のロケーションで位置付けることができる。リンクに関連した2つの矢印は、別々の一方向リンク又は双方向リンクとすることができる双方向データ経路を示すか、又はリング状の様式で一方向リンクを走らせることによって行われる論理的に双方向の接続とすることができる。リンクは、シリアル又はパラレル構成を有することができ、又はシリアル及びパラレル構成の組合せ及びシングルエンド又は差異のいずれかとすることができる。
CSEは、非制限的に、あらゆる入力ポートをあらゆる出力ポートに接続することができる機能を有することができる。便宜上、論理的な説明において、ポートは、この説明ではノースバウンド又はサウスバウンドと考えられるが、このような説明は、互いに通信するCSEのポートの機能を制限するためのものではない。例えば、ノースバウンドポートは、CSE内のサウスバウンドポートと通信することができ、又はサウスバウンドポートは、多重ルートツリー接続におけるノースバウンドポートとして働くことができる。勿論、これらの機能の全てを特定の構成に構成可能とすることができるものではない。
図3は、1つよりも多い2次又は下流側ポートを有し、更に、1つよりも多い上流側又は1次ポートを有することができるCSE15の別の構成を示している。更に、CSEは、外部メモリに加えて又はこれの代わりに、1つ又はそれよりも多くの内部メモリを有することができ、外部接続は、I/Oデバイス、コ−プロセッサなどのようなメモリモジュール又はシステム以外のデバイスとの接続とすることができる。CSEは、図のようにCSEが信号を1つよりも多い経路に分割するのに使用することができるように複数の2次ポートを有することができる。ノースバウンド及びサウスバウンドポートの単一のセットが供給される時に、CSEは、中継器として機能することができる。「内部」及び「外部」という語は、メモリを示すのに使用される時の便宜上の説明目的であると理解し、制限的と理解すべきではない。メモリ回路は、マイクロプロセッサ又は専用ハードウエアに益々組み込まれるようなっており、内部及び外部のような語の使用は、特定的な実施例を理解する読者を助けるために使用される。当業者は、同じパッケージ又は同じ基板に統合されるように、回路及び機能を異なる物理構成要素に結合するか又はそれから分離することが、特定の用途及び関連する技術の状態によって支配されることを理解するであろう。
図4は、1つよりも多いモジュールコントローラを有するシステムに接続することができ、かつデータ又は制御フローの「上流」又は「下流」方向を持たない「構成可能スイッチング要素(CSE)」の別の実施例を示している。CSEは、マイクロプロセッサ、直接メモリアクセス(DMA)エンジン、他のCSEを制御するためのモジュールコントローラであるCSE自体のような様々な内部処理機能を有することができ(又は、様々な処理機能を有するデバイスの内側に組み込むことができるか又はこれと共に作動することができる)、更に、CSEは、入力/出力(I/O)デバイス、マイクロプロセッサ、グラフィックプロセッサ、コ−プロセッサ、他のCSEのようなメモリシステム以外のデバイスに外部で接続することができる。「1次」及び「2次」という語の使用は、従って、便宜上、説明のために使用されると見なされる。CSEがマイクロプロセッサを包含する(又はマイクロプロセッサ内に包含されるか又はこれに連結される)時に、CSEは、処理ユニット並びにスイッチとして作用することができる。
図5は、関連するメモリを有するCSEを包含する6つのメモリモジュールを示し、これらは、そのルートにメモリコントローラMCと共にツリー構成で配置されている。便宜上、CSEは示されておらず、メモリモジュールM#に包含されるCSEをCSE#として表すことができる。メモリモジュールは、メモリとCSEの両方を包含することができるが、一部のメモリモジュールは、CSEだけを包含することができる。本構成では、メモリモジュールM0は、メモリモジュールM1及びM2に接続されており、例えば、メモリモジュールM1はM3に、次に、M7に接続されている。このような構成では、最も遠いモジュールまでのホップの数は、8つのメモリモジュールが線形又は連結方式に配置された時の8ホップと比較して4である(M0−>M1−>M3−>M7)。ホップは、ネットワークでの2つの連続のノードを接続するリンク又はレーンであると考えられる。ホップは、ネットワークのノード間の信号の伝播の時間遅延又は時間遅延の差異について説明する場合の記述子として使用することができる。
図6は、モジュールの物理的に線形の構成でPC基板上に配置することができるようなバイナリツリー構成で接続した8つのメモリモジュールを示している。M0とM1とM2とM6間のようなリンクの一部は、モジュールM4及びM5を介在させることによって必ずしもそれらの間を接続することなく通過する。この態様は、モジュールを迂回するリンクを影にすることで示している。図6の構成は、メモリ又は他のモジュールのような多数のツリー要素を回路基板上に配置することができ、又は線形物理構成のような整った様式でマザーボードにプラグインモジュールとして配置することができることを示している。このような構成は、マザーボードのレイアウト又はモジュールの冷却を容易にすることができる。線形及び非線形構成の結合は、ボードが取り付けられたラック又は装置の寸法のような他の理由のために寸法が制限されるボード又はマザーボードに効率良くモジュールを配置するのに使用することができる。
マザーボードは、故障したメモリモジュールを交換することによってメモリシステムの修復を容易にするために使用することができる。マザーボードが望ましいか否かは、故障率及び平均修復時間(MTTR)分析などの因子内でも回復できないデータ損失の可能性に依存するであろう。
実施例の多くは、ツリーとしての要素の構成を説明しているが、これは、接続のトポロジーを制限することを意味してはいない。1つよりも多いエントリポイント又は「ルート」が存在する実施例が示されており、指令及びデータは、循環方式などで「ツリー」でない経路に沿って流れることができる。ツリーの実施例は、多くの場合に状況をより明確に説明することを可能にし、逆経路スケジューリングのような態様の説明を簡単にすることができる。しかし、これは、例えば、競合解決、待ち行列、及び記憶及び転送技術の使用を除外することを意味していない。すなわち、構成を他のネットワーク構成にも一般化することができる。更に、1つよりも多い独立メモリコントローラを利用することができ、又はコントローラを協調方式で作動することができる。
メモリモジュールの特定の数が図面に示されており、モジュールの特定の数について説明しているが、これは、このような方式で接続することができるメモリモジュール又は他のデバイスの数を制限することを意味しているのではなく、単に実施例の説明を容易にするために表示される図面で便利であるためであることを理解すべきである。
図7は、非線形構成でPC基板上に配置することができるバイナリツリー構成で接続した6つのメモリモジュールを示している。このような構成は、特定の設計の物理的な要件に基づいて便利であろう。
図8は、非線形構成でPC基板上に配置することができる3進ツリー構成で接続した7つのメモリモジュールを示している。これは、3進アーキテクチャを有するためのシステムを構成するための2つよりも多い2次ポートを備えたCSEの使用、並びにツリーの可能なノードの全てがデバイスに入れられていない場合を例証している。
簡潔にするために、図示の実施例は、一般的にバイナリツリー構造に制限されるが、図8の構成は、3次、4次、及びより高次オーダーのツリーを構成可能とすることができることを例証している。「ツリー」という語は、任意のオーダーのツリーを包含することを意味している。モジュールの一部又は全ての線形又は連結構成は、ツリーという語が限定なしに使用される時には除外されず、バイナリツリーという語の使用は、バイナリ又はより高次オーダーのツリーを意味する。上述のように、実施例としてのツリーの使用は、装置又は方法の使用を実施例に制限することを意味していないが、このような装置及び方法は、一般的にネットワークに応用することができる。
図9は、非線形構成でPC基板上に配置することができる実際のバイナリツリー構成であるものに接続した8つのメモリモジュールを示し、メモリコントローラMCは、ツリーの第2レベルのモジュール(M1及びM2)に接続されている。この構成は、MCとメモリモジュール間の通信の待ち時間を低減するために、並びにM0を通過することから一部の信号を逸らせることによってM0の電力消費を低減するために使用することができる。このような構成はまた、指令を出すことにより、及び応答を受信し、並びにMCからツリーの第2レベル(M1及びM2)への接続リンク又はレーンを通じて並びに第1レベル(M0)への接続を通じてデータを送信又は受信することにより、改善した収量を促進する働きをすることができる。
図10は、M4に接続したグラフィックプロセッサ(GPU)及びM5に接続したネットワークI/Oデバイスのような他のデバイス又はモジュールとの非線形物理構成でPC基板上に配置することができるバイナリツリー構成で接続した8つのメモリモジュールを示している。他のデバイス又はモジュールの各々は、それぞれ関連する内部又は外部メモリGM及びNMを有することができ、これらは、直接アクセスすることができ、MCも各々のこのようなモジュール上のCSEを通じてアクセス可能である。GPUからメモリモジュールGMへの直接アクセスを提供することは、衝突なしに複数のアクセスオペレーションの実行を可能にすることによって全体的な収量を更に改善する。
比較の目的のために、全バッファDIMM(FB−DIMM)として公知のINTELによって開発されたものに類似であると思われるメモリシステムの態様を表すことを意図したベースライン構成を図11a−11fに示している。本明細書の説明は、INTELによって公に使用可能にされた文書の解釈に基づくが、詳細説明及び明細書が一般的に利用可能にされていると思われない時、INTELによって製造された図11に示されているデバイスが実際にINTELによって構成されたメモリシステムで本明細書で説明するように作動するという表示はされない。逆に、ベースラインアーキテクチャとの比較が便利である時、図11に示されている構成が意味される。各メモリモジュールm(200)には、INTEL高性能メモリバッファ(AMB)としてINTELによって開示されたインタフェース特性を有するデバイスが含まれる。
本明細書で利用される読取指令及び応答に対する信号方式慣例は、機能的な説明を簡単にするためにINTELによって使用されると思われるものとは異なっている。例えば、INTELのAMBでは、「読取」指令は、本明細書での説明のために1つのメッセージに圧縮された一部のメッセージを取り入れる。更に、AMBは、1つよりも多いAMBのための指令を包含する単一の「フレーム」を送信する機能を有するように思われ、例えば、一部の指令に対して、「フレーム」が、メモリコントローラmc(300)と高性能メモリバッファAMBを有するメモリモジュールmkとの間の通過の様々な段階で特定のモジュールによって受信されることを意味すると断言できない。
図113aでは、読取指令が、アドレスAiとしてメモリコントローラ(300)によって出され、読取指令Rが、「パケット」として下流側経路を通じて送信される。与えられた実施例では、データアドレスロケーションがメモリモジュールmiにある。図11bは、メモリモジュールmi(200i)に到着するパケットを示している。しかしFB−DIMMシステムでは、パケットは、1つのモジュールから別のモジュールに線形チェーンを下方向に迅速に繰り返される。従って、読取指令が、図11cに示すようにメモリモジュールmiにアドレス指定されたとしても、パケットは、メモリモジュールmk(200k)に更に転送される。従って、読取指令を包含するパケットの各々は、メモリモジュール200のチェーンの全長を横断する。メモリモジュールmi(200i)からの応答は、アドレスAiから読み取られたデータを表し、データビット、又はデータパケット、図11dに示されているこの実施例ではd0−d3を含み、上流側経路を横断する。図示のデータビットの数は、表示に便利なように制限されており、より多いか又は少なくすることができ、又は可変とすることができる。図11e及び11fは、メモリモジュールm0を通過し、メモリコントローラmcによって受信されるデータを示している。読み取られたデータのパケットは、脱スキュー、脱直列化、又は復号化されることなく、繰返しの処理によって全てのモジュールによって転送される。
実施例では、図12a−12fは、図11に示すベースラインと比較するために線形方式で編成された一連のメモリモジュールM#を示しているが、図12のメモリモジュールは、パケットが特定のCSE又はその関連のメモリに対して指定されていない時にも指令パケットに包含されるアドレスを「スヌープ」又は読み取るCSEを組み込んでいる。各CSEは、上流側経路が破線で示す「低減された」電力設定である状態にある。低減された電力は、以下に限定されるものではないが、I/Oドライバを脱電力化する段階、I/O論理(及び停止することができるあらゆる他の関連する論理)のクロックをゲート制御する段階、I/O論理のクロック速度を低減する段階、I/O論理の電圧を低減する段階、事前設定入力をI/O論理の漏れ電流を低減するように設計されたI/O論理にロードする段階、又は戻されたデータの処理を可能にするのに十分迅速に取り消すことのできるチップのどの部分によっても消費される電流も低減するためのあらゆる他の方法を含むことができる。図12d−12fに示されている実施例では、上流側リンクが戻りデータの前に電源アップし、次に、データが通過した後に低減された電力状態に戻る。
この例では、制御信号は、下流側経路が電源アップされているデータラインを通じてパケットとして移動する。態様においては、パケットが「フレーム化」又は「スロット化」タイミングシステムで送信される時に、下流側経路は、各「フレーム」又は「スロット」時間の最初に電源アップされ、送信されるパケットがある時に、送信側は電源アップされたままであり、パケットが送信され、それ以外は、送信側は、次のスロット時間の始めまで電源ダウンされ、受信側は、パケットが受信されるか否かの判断が為されるまで電源アップされ、パケットがない時に、受信側は、次のスロット時間の開始まで電源ダウンすることができる。
具体的には、図12aは、MC(10)がアドレスAkに対して読取指令Rを出す状況を例証している。図12bでは、読取指令Rデータパケットは、意図されていないメモリモジュールMi(20i)に到着し、メモリモジュールMkまで通過する(図12c)。データ読取指令Rの結果、データD0−D3のパケットは、上流側に送信され(図12d)、メモリモジュールMiを通過し(図12e)、更に、メモリコントローラMCによって受信される(図12f)。図12c−fのシーケンスでは、リンクを通じて読み取られたデータを送信する前の各連続する上流側リンクの電源アップ、並びに読み取られたデータD0−D3の通過後の各リンクの電源ダウンが示されている。本構成では、制御信号並びにデータが下流側経路のデータラインを移動する時に下流側リンクが全て電源アップされる。
データ読取指令RパケットがM0からMi及びMkへの下流側経路に沿って通過する時、メモリモジュールMの各々は、この実施例ではMkでのアドレスからデータを読み取るために、データ読取りパケットを観察するか「スヌープ」して指令の宛先モジュール及び特定の性質の両方を確認する。このような読取りデータトラフィックは、MkからMCに上流へと流れることを予想される。この結果、データが読み取られるモジュールとMC間の上流側経路におけるリンクの各々は、読み取られたデータを送信するために適切な未来時に電源オンにされ(破線から実線への移行として示される)、読み取られたデータがリンクを通じて送信した時に低電力状態に戻されるか又はオフにされる。更に、データ読取指令Rがチェーンの最後以外のメモリモジュールにアドレス指定された時に、アドレス指定されたメモリモジュール(例えば、Mi)とMC間の経路の上流側リンクだけを適切な未来時に電源オンにする必要があり、これは、結果として電力消費の低減をもたらす。
図13a−13fは、モジュール間の別々の指令ライン及びデータラインを有するCSEを利用するメモリモジュールMの構成を示している。信号ライン及び指令ラインは、図のように専用信号ラインではなく単にデータラインの部分集合とすることができる。図示の構成では、下流側リンク及びそれに関連した論理のある部分は、低減された電力状態にされる。指令制御信号が各モジュールを通過する時信号が復号化され、適切な時に、他の下流側リンクが、データパケットで続くデータ又は指令を送信するために電源アップされる。図示の態様では、読取指令RはメモリモジュールMiのアドレスAiに対して出され、読取指令R及びアドレスデータAiは、別々のライン上で送信される。アドレスデータAiは、望ましいアドレス又はアドレス範囲がメモリモジュールMiにあることを示している。アドレスデータパケットAiが読取指令Rよりも早く送信される時、メモリモジュールM#の各々でのアドレスデータパケットAiは、図13a−bから分るように読取指令Rよりも早く、アドレスデータは、予想される指令の送信及び処理に対処することができるように受信側モジュールMi+1及び送信側モジュールMi間のリンクを電源アップするのに使用することができる。図12に関して説明する状況と同様に、下流側指令経路は、指令を受信した後に再度電源ダウンすることができ、上流側リンクは、指令の結果として読み取られたデータの送信のために適時に起動される。
従って、1つのライン又はレーンの電力ステータスは、CSEによって受信される制御又は指令信号、アドレス又はデータ信号に基づいて、未来時に変更可能と言うことができる。未来時ステータス変更の時間値は、受信した指令の特性、宛先のアドレス、ネットワークでの受信側CSEの対応する位置、又は類似の又は得られた情報によって判断することができ、又はCSEのライン又はレーンの一部又は全てに対して即座に行われるものとされる。
図13b及び図13cの比較で示す別の態様では、指令信号は、ノー・オペレーション(no op)指令が下流側ライン上で送信されるように指令のターゲットであるモジュール(この実施例ではMi)によって変更することができ、次の「フレーム」、「サイクル」、又は指令間の間隔として使用されるどのような時間にも指令が送られないことを更に別の下流側のモジュールに示している。例として、読取指令は、図13cでは存在しないが、アドレスデータAiは、アドレス指定されたモジュールの更に下のチェーンであるMkによって受信される。これが、Mi及びMk間の下流側指令リンクの起動をもたらすことはない。図13d−fに示されているデータリターンのシーケンスは、図12d−fのデータリターンのシーケンスに従うものであり、詳しくは説明しない。
アドレスデータパケットの各々は、メモリモジュール(実際には、メモリモジュール20のCSE15)を通過する時に復号化されるが、指令パケットは、単に一緒に通過するだけで、アドレスデータパケットの付加的な遅延は、信号が更に別の下流側に進む時のアドレスデータパケットと指令パケットの到着間の時間間隔の減少をもたらす。アドレスパケット及び指令パケットが同じデータライン上で連続して送信される態様では、時間間隔は、第1パケットが生じる付加的な処理遅延に対応するために第1パケットの末端と第2データパケットの先端の間のままである。これは、状況によっては望ましいが、例証される実施例に関して帯域幅の損失を表している。
更に別の態様では、アドレスデータは、メモリモジュールで同時に復号化されて下流側に送信され、それによって復号待ち時間を受けない。時によっては、これは、実際に必要とされる以上の1つのリンクで送信される指令をもたらす場合があるが、構成に応じて、余分のリンクで指令を受信することに関するCSEの態様は、起動されない場合がある。
別の態様では、図14a−fは、図12及び13に類似の構成を示している。しかし、前の実施例においては、アドレス指定されるモジュールが現モジュールの上流側か又は下流側かを判断する機能が各モジュールに対して供給されていた。この判断は、多数のモジュールアドレスに対する受信したアドレスの比較を必要とする可能性があり、使用される論理の複雑さに応じて終了する一部のクロックサイクルを必要とする場合がある。この処理時間は、MCによるアドレス及び指令の送信間の時間に必要とされる分離の増加を生じる場合がある。この付加的な分離は、アドレスデータを次の下流側モジュールMkに送信する前に宛先モジュールMiによって受信したアドレスAiを修正することによって軽減することができ、それによって新しいアドレスAXは、アドレス及び指令が適切なモジュールMによって既に解釈されていることを示すフラグになる。AXは、保証されたアドレス又はある類似の指示とすることができる。
この結果、各モジュールは、システム内のモジュールアドレス全ての代わりに、モジュールMi自体のアドレス又はアドレスの範囲、又は保証されたアドレスに対して受信したアドレスAiを比較するだけでよい。他の点では、図14の実施例は、図12及び13の実施例に類似しており、説明の詳細な繰返しを省く。
高速データリンクは、同期を維持するためにクロック回復機構を使用することができる。単位時間当たりのビット遷移の十分な数が受信されなかった時に、リンクのクロック時間同期が失われる可能性があり、同期の回復には、収量を低減する場合があるか、又は再送信を生じる可能なデータ損失を引き起こすと考えられるある一定の時間を必要とすることがある。同期を維持するために、FB−DIMMのようなシステムは、このような遷移を包含し、モジュールの全てに送られる同期(sync)フレームを定期的に送信することができる。
しかし、多数のメモリモジュールを有する構成では、このような同期フレームは、モジュールの各々に送信され、従って、システムのリンクの全てを横断するか、又は複数の同期フレームがツリーの様々なリーフに送信される。モジュールのツリーが十分に大きい時に、時間同期を維持するためのこの処理は、システムの帯域幅のかなりの部分を消費する可能性があり、クロックがリフレッシュされない限り、クロックの同期に対する必要性がシステム構成のサイズ及び複雑さを制限する傾向にあり、又はクロック同期は、他の手段によって維持される。
モジュールの各々にタイマを設けて、遷移の十分な数になるまで経過した時間間隔を追跡し続け、更に、ローカルベースでクロック再同期を開始するための他の方法がもたらされる。この実施例は、カウンタ又はウォッチドッグタイマである。
図15は、MCからモジュールM0への読取指令の送信を示している。読取指令Rは、指令レーンが電力をなくさないようにモジュールの全てに転送される。所定の時間間隔が経過し、レーンが送信側データのために使用されていない状況では、モジュールは、リンクの同期を維持し続けるための「no op」データパケットとすることができるデータの送信を開始する。図15dは、フレームでのM0−>Miリンクをパケットが使用しないことをモジュールM0が判断している実施例を示し、モジュールMiでの受信器同期を維持するためにリンクのレーン上の遷移信号を送信する機会を使用する。同様にMkは、Mk−>Miリンクがそのフレームで使用されないと判断しており、遷移信号をMiに送信する。
更に、リンクが半二重又は全二重である時に、そのリンク又はレーン又はラインは、送信が高トラフィック密度を持たないモジュール間の経路で行われるように向きを変えられる。このような方法は、他の方向からのデータが予想されないとモジュールが判断でき、半二重リンクの全部又は一部の向きの変更が行われるように、指令情報の受け取りに依存することになる。これは、図15e−fに示されており、モジュールMi及びMkは、図15eでMk−>Miリンクを逆にし、次に、図15fでMiは、Mkの受信器同期を維持するために遷移信号を送信する。矢印の向いたラインがリンクを表すことは繰り返すだけの価値があり、矢印の先は、リンクが、データ、指令、及びアドレスデータのための1つ又はそれよりも多くの信号ライン(レーン)であること、及びMi及びMk間のリンクが図15gの状況から図15fに逆にされた状況のように特定の図面に示すものからリンクの方向を逆にすることができるデータフローの現在の方向を示している。この説明では、送信方向で逆にされる機能は、実際の実施が用途に依存する時に、必ずしも必要でないが可能であると考えられる。
図16は、2地点間リンクを有するツリーアーキテクチャで配置されたモジュールコントローラMC及びモジュールM0、...、M6を示している。このようなツリーは、アドレスを包含するデータパケットが転送され各スイッチ(CSEなど)又はモジュール(メモリモジュール又はCSEを組み入れた他のモジュールなど)がアドレスを復号化し、対応するデータ又は指令を向けなくてはならない場所を判断する時に機能することができる。しかし、このような処理は、各段階、すなわち、データを受信する、データを宛先アドレスと比較する、及び取るべきアクションを判断するのに時間を必要とする。アドレスが指令又はデータの前にある時間に送信され、シリアルリンクが使用される時に、アドレスと次のデータの間の時間間隔は、アドレス評価に必要なデータ処理のために各ホップで低減する。このようなアクションは、処理なしに単にデータを経路指定するよりも時間を消費する。並行してデータ処理機能を実行することは、データを要求されないリンクに転送することを含む付加的な複雑さを必要とする場合がある。並行処理が行われるか否かは、望ましい全体的なネットワーク帯域幅に依存する。
付加的な問題は、各データパケットでのデータビットの時間分散である。多くのリンクで、データのビットは、パラレル信号ライン又はレーンで送信することができる。これは、例としてデータがシリアル方式で各ラインで送信される1つよりも多いビットでパラレルラインを通じて送信される時に、状況を単純化するためであることを理解すべきである。他の要因内でもライン長及びインピーダンスに関連したライン上でのデータの遅延差のために、データビットは、即時の処理のための十分な同時性で到着しない可能性があり、復号又は他のデータ処理と共に進行するためにビットの全てがモジュールによって受信されるまで1つ又はそれよりも多くのクロックサイクルの間待つ必要がある場合がある。この遅延は、更に、アドレス又は他の情報に従って行動される前に各ノードで必要な時間を増す。このような状況、及びデータ送信に必要とされる時にのみリンクのレーン又はラインをオンにすることが望ましい時に、アドレス情報は、指令又はデータよりもかなり前の時間に送信しなくてはならない。これは、システム転送容量又は帯域幅を低減する結果をもたらす。
図16は、図12との類似性を有するが、モジュールはツリーで配置され、関連した経路だけが示されている。MCが、モジュールM5におけるアドレスに読取指令Rを出す(図16a)。M1で、アドレス及びデータはM2に転送され、M1及びそれに関連したモジュールへの経路は使用されない(しかし、「no op」指令は、以下に説明するように送信することができる)(図16b)。M2で、別の判断がローカルCSEによって行われ、アドレスA5及び読取指令RがM5に転送される(図16c)。アドレスパケットA5と読取指令R間の間隔の比較は、図16a−cに示すように、定性方式で2つのパケット間の時間間隔の累加する低減を示しており、図16cではアドレス及び指令データパケットがM5で受信される時に、これらの間の時間間隔は最小になる。これは、MCでの2つのパケットの発信間の間隔が、間隔のほぼ全てが介在モジュール上の復号遅延によって侵されるように設定された状況に対応する。読取指令RへのモジュールM5の応答(図16d)は、上述したものに従い、従ってここで詳しく説明しない。
図17a−dは、図16に示すものに類似の構成を示しているが、別の信号レーンが指令のために使用され、更に、上述のアドレス又はデータレーンも使用される。指令及びアドレス又はデータのために別々のレーンが存在することができる時に、アドレス及びデータリンクの帯域幅を更に効率良く利用することも可能である。アドレスの伝播遅延は、この実施例での説明を簡単にするためにモジュールの各々の間で同じにされ、それによって読取指令の送信は、宛先モジュール(この実施例ではM5)でアドレスとデータの到着時間の間の望ましい間隔をもたらすように調節することができる。これは、一連の読取指令Rが連続して出される時に便利になる。
前の実施例と同様に、アドレスリンク及び指令リンクは、使用の前に適切な未来時に電源アップされ、情報パケットがリンクを横切った後に電源ダウンされる。リンクの各々を密に配置された情報のパケットを収容するために使用後のある時間電源アップされたままにすることから何らかの効率性が生じることは当業者によって認められるであろう。このような時間は、複数のクロックサイクルの点から特徴付けることができる。
図18は、アドレスインジケータを使用して経路指定を行うのに使用することができる指令の1つの実施例を示している。この図のトポロジーは、図18のトポロジーと同じであるが、分かり易いように指令ラインだけを示しており、必要な時にリンクがオン及びオフにされる可能性が表示されていない。この例では、アドレス指令は、宛先アドレスではなくセルフ経路指定パケットとして構成され、宛先モジュールで実行されるローカル指令が後に続く3つの2ビットワードを包含する。アドレスワードは、細い六角形で囲んで示してあり、ローカル指令は、太い六角形で囲んで示してある。更に、ワードの各々は、説明し易いように最下位ビット(LSB)及び最上位ビット(MSB)を有するものとして特徴付けることができる。S0に送信した4つの2ビットワードは、これらが2つのパラレルラインで送信したように示されている。代替的に、情報は、ビットシリアルオーダーで信号ラインを通じて経路上を送信することができる。
各ワードにおけるビットの解釈を図18に添付のテーブルに示している。一般的に、ノードの各々がスイッチのみであること、又は他のエレクトロニクスがスイッチロケーションでアドレス指定されることを示唆するために、モジュールの各々がS0−Snとして示されている点に注意すべきである。スイッチは、CSE又は指令を解釈して指令に応答することができる他のデバイスとすることができる。
スイッチモジュールSnの各々は、この実施例では1つの入力ポートと2つの出力ポートを有し、この2つの出力ポートは、「0」と「1」として指定されている。アドレス指令は、宛先選択テーブルに従って解釈され、2ビットワードの値が、使用される出力ポートを判断する。たった2つの出力ポートが示されているが、これは、スイッチ要素の出力ポートの数、又は各アドレス指令ワードでのビットの数を制限することを意味するものではない。更に、入力及び出力ポートと上流及び下流方向の各々は、説明で便利なように使用され、どのような論理又は物理入力ポートと出力ポート間の接続も排除されることはない。
アドレスパケットの最終ワードは、ローカル指令を包含する。すなわち、オペレーションは、宛先スイッチで実行される。指令の実施例は、ローカル指令テーブルで与えられる。例えば、1の値(バイナリ01)はCSEを選択し、2の値(バイナリ10)はローカルメモリを選択し、3の値(バイナリ11)はノー・オペレーション指令(NOP又は「no op」)である。図18aは、S5に向けられた指令のためのS0への入力でのアドレス指令パケットを示している。先頭ビット対(バイナリ10;MSB、LSB)は、S0の出力ポート1の選択を結果として生じる。図18bは、S0の出力でのデータを示し、先頭ワード1(バイナリ10)が、既にS0で実行されたようにアドレス指令から落とされている点に注意すべきである。従って、各スイッチSは、受信したパケットの先頭ワードに基づいてアクションの進路を判断可能である。しかし、各スイッチSによって解釈されるワードのパケットでの位置は、先頭ワード以外のものにすることができる。処理を簡単にすることに加えて、このフォーマットでのアドレス指令を解釈する時間は、モジュールSnの各々で同じであり、それによってこのオペレーションを実行するための増分の遅延は、アドレス指令が向けられるツリーの宛先の深さに無関係である。
スイッチS2を通過し、先頭2ビットワードが1(バイナリ01)である時にポート0に転送された後、先頭ワードは再度取り除かれる。図18cは、S5によって受信されるアドレス指令を示している。先頭ワードは現在3(バイナリ11)であり、ローカルであり、以下に続くデータがローカルモジュールに向けられていることを示している。次に続くワードは、ローカルで実行される指令、この場合は3(バイナリ11)で、NOPとして解釈される。アドレス指定されたモジュールからのどのような応答も上流側に送信し戻される。
図19に示されている別の実施例では、スイッチSの作用を、NOPがアドレス指令によって選択されなかった出力ポートの1つ又はそれよりも多くから送信されるようにすることができる。これは、同期を維持するために有効な方式でツリー全体でのクロックパルスの伝播を容易にすることができる。S0への入力でのアドレス指令は、再度ローカルメモリ指令2(バイナリ01)と共にS5に向けられる。図19bに示すように、図19aに示されているオリジナル指令と比較した時に、アドレス指令は、先頭ワードが取り除かれた状態でS0のポート1に現れる。従って、ポート0は選択されず、従って、ローカルアドレスで構成され次にNOPが続くポート0(すなわち、S1に接続したS0のポート)に接続した次のスイッチにパケットを出すことができる。図18cは、NOPの受け取りに応じたS1のアクションを示している。S1のポートのどれもがデータ出力のために選択されなかったので、S1のアクションは、S3及びS4に伝播しNOPが後に続きローカルアドレスから構成されるポート0及びポート1の両方でパケットを出すことになる。S2のアクションは、異なるものにすることができ、図19cに示すような入力アドレス指令は、ポート0(バイナリ01)へのアドレス指令の経路指定段階、先頭ワードを取り除く段階、及び指令パケットの残りをS5に送信する段階をもたらすことができる。しかし、S2のポート1は、この状況ではアドレス指定されず、ローカルアドレス及びS6へのNOPを包含するパケットを出力することができる。ツリーの端にあるモジュールの各々(「leaves」又は「leafs」)(この実施例ではS3、S4、S5、S6)は、その出力ポートの各々でローカル指令及びNOPを出すことができるが、更に別の経路が接続されない時に、処理は終了する。モジュールはまた、ツリーリーフとして作用するように構成することができ、その下流側出力ポートは、非アクティブ又は省くかのいずれかにすることができる。
モジュールのツリーは、図3に示されているタイプのCSE15を使用して図20のようにリンクをチャンネル化し、細分の程度に応じて2つ又はそれよりも多くの指令の同時発生又は同時実行を可能にするように構成可能とすることができる。この例では、2つの別々のデータパケットが示されている。読取指令Rの実行から生じる第1パケットが、モジュールM4からM1及びM0を通じてMCに戻っていくように示されている。同時に、読取指令Rの実行から生じる第2パケットが、モジュールM6からM2及びM0を通ってMCに戻っていくように示されている。戻りパケットは、ラインの一部のレーンを使用することができ、レーンの数は、モジュール間のリンクでのレーンの全数より少ないものにすることができる。リンクでの「チャンネル」間のレーンの分割が同一である必要はない。
ツリーの更に別のチャンネル化を図21に示している。ここで、読取指令RがモジュールM3及びM6の各々から処理されると同時に、直接メモリアクセス(DMA)転送が、M1、M0、及びM2を通じてモジュールM4とM5の間で行われる。モジュールM4からM5へのデータの送信は、M3及びM6からの進行中の転送と同じ速度で、かつこの割り込みなしに行われる。このような構成では、DMA転送は、アクセスされないどのようなモジュールへも又はこれらからも、又はある時間に1つよりも多いデータ経路を処理することができるどのようなモジュールからも行うことができる。従って、直接メモリアクセスは、本来同時に発生する他のアクセスの性能に影響を及ぼすことなく背景で行われる。モジュール内の仲裁により、又はモジュールがマルチポートメモリを包含する場合のようにモジュールがある時間に1つよりも多いオペレーション/アクセスをサポートすることができる時に、又はCSEが競合するオペレーションの一部又は全てをバッファに入れることができる時に、モジュールコントローラからDMAのようなツリーの内部でオペレーションを同時に行うモジュールに送られたオペレーションを実行することができる。DMAオペレーションはまた、データ転送を実行するためにCSE内の論理的又は物理的ポートのいずれかを接続する可能性の実施例として上流側ポートへの下流側ポートの接続を示している。
図22は、例えば、ツリーアーキテクチャで同時発生的に又は同時に起こるデータ転送の様式化された表示である。この例では、モジュールM8からの読取オペレーション(モジュールM8とMC間のグレーの破線で示されている)は、M4、M1、及びM0を通過し、MCからモジュールM9への書込みオペレーション(MCとモジュールM9間のグレーの実線で示されている)は、モジュールM0、M2、及びM5を通過する。読取指令Rに対応するデータは、モジュールM5からM4に送信され(点線で示されている)、モジュールM2、M0、及びM1を通過する。従って、特定の送信元及び宛先アドレスに応じて、MCから同時にではなくアクセスを行うことができ、メモリ転送はモジュールのツリー内で行われる。
図23は、リンクの多くが低電力状態(破線で示す)にある場合の構成を示している。データ、この場合読取指令Rが下流方向に続いていくことをアドレス指令の受け取りが指示する時に、読取指令Rが移動するその下流側経路は、指令を送信することができるように電源アップされる。これは、MC対M0リンクの実線への変化によって図23bに示されている。図23cは、MC対M0リンクの電源ダウンと、M0対M2及びM2対M5リンクの電源アップを示している。図23dは、読取指令Rに応じて戻されるデータを送信するためのM5対M2及びM2対M0リンクの適切な時間での次の電源アップを示している。
図24は、上流側経路をより低い電力状態にすることができる以外は、図23と類似の構成を示している。一般的に、経路の通常のオペレーションへの戻りは、経路回路が非常に低い電力消費状態にある場合はより長い。このような状態の場合の上流側データ経路が、一点鎖線で示されている。(例えば、電源オン状態、待機状態、及び電源オフ状態、又はその他の間を区別することができる。これらの区別を行う時に、全体的な電力消費の差及び完全稼働状態への遷移までの時間の差が含まれるが、時間量又は電力の量が特定の設計に固有のものになる。)上述のように、MCと宛先モジュール間の経路上のモジュールの各々、この場合M5は、特定の指令タイプが各モジュール(この場合M0及びM2)を通過したこと、及び指令がアドレス指定されたツリーの深さを(「スヌーピング」により)気付くことになる。従って、データがリンクを通じて送信される時にオペレーション(電源アップ)ステータスになるように各上流側リンクの再電力を未来時にスケジュールすることができる。図24a−cはまた、アドレス経路上にないツリーのブランチへのNOP指令Nの送信を示している。
指令を送信することができる時間に関して指令が制約されるシステム、例えば、スロット化された送信時間を有するためのシステムで、又は指令間に最小のインターバルがあるか又は一部の指令を送信することができる時の制約がある時に、更に別の電力節約を達成することができる。図24a−dは、例えば、スロット化指令タイミングを有するためのシステムで、アドレス指令を運ぶリンクが半破線で示すようにスロットの最初に間に合うようにどのように電源アップされるかを示している。送信する指令がない時に、次のスロット時間の始めまでリンクを電源ダウンすることができる。送信する指令がある時に、指令を送信することができるようにリンクは電源アップされたままである。図24b−dはまた、固定指令開始時間のないシステムで、未使用のリンクに別の指令を受信すべきである時間まで関連の指令リンクを電源ダウンさせ、その後、再度電源アップすることができるように、指令によって利用されていないリンクにどのようにNOP指令Nが送信されるかを示している。
ある一定の物理レーン送信技術では、レーンの電源アップ又は電源ダウンは、レーンの送信器端並びに受信器端の両方によるアクションを要求する場合がある。
アドレス指令の更に別の例として、指令のブロードキャスト又はマルチキャスト分散を容易にするために指令の拡張を行うことができる。図25は、0の値(バイナリ00)を有するブロードキャスト指令を含むローカル指令の拡大されたテーブル、及び拡張指令のテーブルを示している。拡張指令に関連したワードは、破線で作られた六角形に示されている。アドレスパケットでの最後のワードとして示されているが、拡張指令の位置は異なる場合がある。拡張指令は、1の値(バイナリ01)を有する読取り、2の値(バイナリ10)を有する書込み、3の値(バイナリ11)を有するブロードキャスト−開始、及び0の値(バイナリ00)を有するブロードキャスト−転送を含む。拡張指令ワードは、送信したシーケンスでのローカル指令ワードに従うものとすることができる。この例では、アドレス指令は、S1に接続されているポート0をアドレスの第1ワードが選択するようにS1に向けられている。NOPは、S1から、選択されていないポートであるポート1に送信され、図25b、cに示すように、最終的にS5及びS6に伝播する。S1に送られたパケットに関して(図25b)、第1ワードは、S1が指令の宛先であること、及びローカル指令がブロードキャスト指令に応じて0の値(バイナリ00)を有することを示している。スイッチS1は、ブロードキャスト指令に応じて新しいメッセージを生成することができる。ブロードキャスト指令は、スイッチS1のポート0及びポート1の各々から出すことができ、ツリーの次のスイッチであるS3及びS4にアドレス指定され、これらはそれぞれポート0及びポート1に接続されている。ブロードキャスト指令は、拡張指令として0の値(バイナリ00)を有するブロードキャスト−転送の拡張指令を有する。従って、S3及びS4は、ツリーを下方向に伝播する類似の指令を生成することができる。
図26a、bは、S1の入力からツリーのリーフへの制御の流れの詳細を示している。このような構成は、小さな個々のステータス/制御メッセージを多くのモジュールに同時に送信及び/又は多くのモジュールから受信するために使用することができる。
図27aは、自己経路指定メッセージの一部の他の構成を示している。超高速を必要とする態様では、第2の又はより多数のレーンを通じて送信したメッセージの他の部分を待つ時に経験される重大な遅延なしに単一のレーン上で送信されるメッセージだけが解釈されるように、レーンからレーンへのスキューが行われる。ここで、有用である様々な特性を明らかにする一部のビットシリアルフォーマットについて説明する。
第1スイッチは、最小時間遅延でメッセージを経路指定することが望ましい場合がある。例として、ツリーのルートにある第1モジュールに向けられたメッセージの特別な場合が存在する。ここで、メッセージの最初の2ビット(右から左に読み取る)は、バイナリ01であり、指令CMD(読取R、書込W、又は他の指令とすることができる)が続く。メッセージが最下位レベルN(例えば、リーフ)に向けられる例では、最初の2ビットは値バイナリ11を有する。これは、Nビットの経路情報とすることができる経路指定[PATH]によって従われ、ここでビットパターンは、宛先への経路の各連続するブランチ又はノードの出力で使用されるポートに応じて、例えば0又は1である。この経路指定は、特定のモジュールにアドレス指定される指令CMDによって従われる。下部レベルから第1に向けられたメッセージは、先頭ビット011及び長さN−1の経路インジケータを有する。次に最も高いレベルは、先頭ビットパターン001及び長さN−2の経路インジケータを有する。N−3レベルでは、先頭ビットは、メッセージの深さに関する更に別の情報が続くことを示す010である。次に、パターンバイナリ11は、経路インジケータの最初に印を付ける。従って、先頭ビットパターンの長さは、ツリーのリーチレベルに対して約1ビットずつ長くなるが、経路インジケータ[PATH]は、全レベルに対して1ビットずつ長さが短くなり、従って、プリアンブル及び経路インジケータのビットの総数は、公称1ビット内で一定にすることができる。従って、メッセージ長は、アドレス指定されるモジュールの深さに関連した長さで殆ど変動がない。図27bは、図26に示すモジュールの構成のS9、S4、S1、及びS0に送られるメッセージのプリアンブルを示している。
また、指令を実行すべきである及び/又はデータを戻さなくてはならない時間に関する情報を包含する付加的な指令CMD−TIME及びCMD−EXも図27aに示されている。この時間は、指令の受け取りからの絶対時間又は相対時間とすることができ、又は指令自体の性質に基づいて解釈を有することができる。
図28aは、各ノードで先頭ビットを除くのに適するメッセージフォーマットを示している。モジュール0へのアドレスのフォーマットは、先頭0で次に指令が続くか又はNOPを示すビットとすることができる。レベル1にアドレス指定されたメッセージは、先頭1であり、その後にポート0又はポート1を指示するポートセレクタビットPが続く。パターン0Nは、モジュールの指令が続く(1)か又はNOP(0)が望ましい(0)か否かを指示する。更に、経路の下のモジュールのアドレスに対して、追加された深さ及び経路上の経路指定を指示するビットの対が各レベルに対して付加される。各レベルでは、メッセージの最初の2ビットは、メッセージがローカルスイッチにアドレス指定されているか又は転送されるかを判断するために解釈することができる。メッセージがツリーの更に別の下流側に対するものである時に、メッセージの最初の2ビットは取り除かれ、メッセージは、適切なポートを通じて転送される。図面の右側にある矩形のボックス内の数は、ツリーの深さ又はランクを表している。
図28bは、ツリーの下の方の様々な段階でS9に送信されるメッセージの進行を示し、ここで先頭ビット対は、これらがメッセージの経路指定の機能を果たした後に取り除かれる。
バス(リンク)速度が増す時に、同期バスアーキテクチャでデータをクロック又は指令に同期させることに関連した問題が増えてくる場合がある。問題の1つは、リンク、レーン、又はラインの別々の端ポイントが異なるクロックを有する場合があるということである。また、パラレルデータ送信技術が使用される時に、リンクでの個々のラインの効率的な物理的長さが一般的に異なることがあり、異なる送信レーン又はラインで送られたビットの到着に時間差がある場合がある。これは、データ「スキュー」と呼ぶことができる。データスキューの問題に対処する1つの方法は、パケットのヘッダを解釈できて、パケットが次のホップで送信されるように、各ホップで脱スキューを実行することである。しかし、これは、各ノード間のライン間の最も長い遅延差と少なくとも同じ時間を脱スキュー処理が必要とする時に再送信にかなりの待ち時間を付加する場合がある。他の方法は、ツリーの各ノードで脱スキューを行わないことによってこの付加的な遅延を防ごうとするが、アドレス指定されたモジュール又はノードの受信器で脱スキューを行い、経路に沿ってスキューを増大させてしまう。しかし、データパケットの一部が極めて早く到着してしまう場合でも、送信元(例えば、メモリコントローラ)から宛先ノードへの蓄積された遅延差に対処すべきである時に、累積遅延がかなりの総遅延を付加してしまう。
INTELによって開発されたFB−DIMM技術では、1つのホップ当たり6つのUIまでのスキューを修正することができるデバイスが必要であると考えられている。信号の遷移間の平均的な時間間隔である「UI」又は「単位間隔」という語は、クロック時間が完全に安定していないか又はジッターがない時に、クロック時間の代わりに高クロック速度で使用することができる。1つのホップ当たりのスキューの6UIが予想され、メモリシステムが8ホップを有する時に、総スキューは48UIである。
4Gbpsのデータ速度を有する公称2GHzのクロック速度で作動するリンクの時に、48UIの遅延スキューがスキューの12ナノ秒(ns)に等しくなるように1UI=250psである。すなわち、1つのレーン上の最初の到着ビットと他のレーンの1つでの最後の到着ビットの間に12nsが必要であると考えられる。最初の到着ビットは、後の到着ビットが到着する時間までメモリ、ラッチ、又はシフトレジスタに記憶しておく必要があり、次に、ビットは、データを脱スキューし読み取るデバイスに表示される。
態様においては、本明細書に説明する相互接続システムは、リンクに沿ったデバイスからデバイスへの遅延が遅延等化、遅延スケジューリング、バッファ方式などに対する必要性を軽減するような方式で固定されていない時に、このようなアスキュー環境で作動する方法及び装置を提供することができる。図29aは、モジュールコントローラMCのようなデバイスからスイッチS、メモリモジュールM、インタフェース、別のプロセッサ、又はその他とすることができる別のデバイスにデータを送信する簡単な実施例を示している。この例では、ワイドワード、例えば、16ビットは、並直列変換器SER(300)によって4つの4ビットワードに変換される。すなわち、16ビットワード310は、4つの別々のレーンにわたって拡散され、4つの連続する高速クロック時間に送信される。データは、リンクの他の端で受信され、逆並直列変換器DES320によって逆並直列化され、元の入力ワードとして再フォーマット設定される。
図29bは、同じオペレーションを示すが、ビットは同じ速度でリンクに沿って全く移動せず、互いに段階の外で1つよりも多いクロックサイクルで到着する。この差異信号遅延の原因は、例えば、モジュール間のライン長が異なることによる場合がある。図のように、ビット1、3、5、及び7は残りのビットよりも早く到着し、時間遅延スキューが考えられない時に、ビットは、前の送信したワードの部分であると解釈することができる。残りのビットは、次のワードにあると解釈され、データが破損される。
態様においては、図30は、スキューを克服する方法及び装置を示している。クロックデータ回復(CDR)を備えたスイッチング要素がスキューされたデータを受信する。代替的に、CDRを使用しなくてもよい。脱スキューは、全レーン上の遅延が等化されるような時間だけ各レーンを遅らせる段階から構成される。脱スキューされたデータは、次に、逆並直列変換器(DES)に加えられ、本来送信したワードが回復され、CSE又は他のローカル機能によって使用される。個々の機能が別々に示されているが、説明する機能の一部又は全ては、同じ電子デバイスで実行することができ、又は1つのモジュールに統合することができる。同じ回路で行われる脱スキューもCDRも必要ではない。更に、図31に示すように、データ入力がDES(320)又はTX(350)、又はこれらの両方に送信することができるようにデマルチプレクサ330をCDRの出力と脱スキュー340の間、及びDESと送信器TX(350)の間に挿入することができる。このような構成は、データが回路の全てによって処理されるのではなく適切な時にDES又はTXに送信されるようにメッセージが送信される場所に関する判断を行うことを可能にする。
スキューの原因内でも、INTEL高性能メモリバッファ(AMB)などが、コネクタに挿入することができる拡張ボード上に配置されるモジュール内にある状況が図32に示されている。このような構成は、FB−DIMM、レジスター化DIMMなどに使用される。一部のレーンを有する下流側モジュールから来る上流側経路のメッセージが示されており、ここで、レーン0は左、レーン4は中央等々である。上流側経路は、コネクタの前面に接続し、AMBを通過した後、コネクタの後面の類似のレーンの構成に接続する。AMBがボードのプラグの前面及び後面に示されており、別々のAMB要素は、この機能を実行するのに必要ない点に注意すべきである。更に、レーンがAMBの端に対してのみ示されているが、AMBがボールグリッドアレイ(BGA)パッケージ又はその端だけでない接続を可能にする他のパッケージにある時に、レーンはAMBの下で接続することができる。レーンは、AMBからボードの後面上のコネクタに現れる。ボードの後面のレーンは、レーン0が左にレーン4が中央等々になるように配置される。図示のライン又はレーンは、AMBとボードインタフェースコネクタ(図示せず)間を接続するためのボード上のトレースを表すと考えられる。レーンは、1つよりも多いモジュールがトレースを横切る必要なく接合モジュールインタフェースコネクタを接続するトレースでマザーボードによって接続されるように図のように配置される。この態様では、マザーボード上の連続するコネクタのピンの間に信号が伝播する時間は、各レーンに対して大体同じである。しかし、これはモジュールボードにおける状況ではない。レーン4は、コネクタからAMBに移動する短い距離を有するが、例えば、レーン0は、より長い距離を有する。
例証の目的のために、標準サイズのDIMMモジュールを基準として使用する。このようなモジュールは、幅が約140mmであり、従って、スイッチが位置決めされる中心からレーン0までの距離は約70mmである。20mmの長さをAMBとコネクタ上の対応するピンの間のレーン4の長さとすると、この例では、最も短いトレースと最も長いトレース間の最大差異長さは、約50mmであり、これは、約250−350psの伝播時間における概算差に対応する。これは、既存のDIMMによって推定される状況を表している。データ速度が公称4GB/sである時に、これは、この効果だけからスキューの1つ又は2つのクロック周期を結果としてもたらすことができる。
いくつかの標準化されたDIMM又はメモリモジュールが存在するが、本明細書で使用されるDIMM又はメモリモジュールという語は、他のモジュール回路及びその他への接続のためのコネクタインタフェースを有する回路基板に取り付けられたものとして使用されるメモリタイプのどのようなものも意味することを理解すべきである。ピン又はトレースの数、回路基板の寸法、及びDIMM又はメモレア上のメモリの容量及びタイプ又は複数のタイプは、現在使用されているようなピンカウント相互接続カウント、寸法、タイプ、及び容量に制限されない。
図33a、bは、信号経路指定のための様々な方法が伝播時間差問題を軽減するためにどのように使用されるかを示している。図33aは、トレースがCSEからコネクタに直接広がる状況を示している。図33bは、より長いトレースを有する信号ラインがボードの上部で経路指定され、次に、信号ラインの別のセットが中央から経路指定される状況を示している。このような時に、一部のトレースの伝播距離は、図33aの伝播距離よりも長いが、0、1、2、及び3の間、又は4、5、6、及び7の間のような信号のグループ間のトレース長の差を低減することができる。トレースのグループ間の長さに差がある場合でも、遅延管理及び信号脱スキューの処理は、N個の信号に対するNの異なる遅延から図33bの実施例の2つ異なる遅延まで遅延変動を低減することによって簡単にすることができる。
図34は、モジュールコントローラMCからの送信の例を示しており、図の左側に、レーン0−4に対して5つのモジュールを通ることが示されている。MCから送信されるデータは、レーンに対応するA、B、C、D、及びEとして示されている。下流側モジュールの各々で、テーブルは、入力の論理名「I」、そのレーン上のデータが遭遇する遅延「D」、MCからデータ送信経路に沿った現在位置までの総遅延「T」、及び出力データの論理名「O」を示している。テーブルの行は、レーンの順序に対応し、従って、上位行はレーン0を示し、下位行はレーン4を示している。この例では、遅延は各レーンに関連付けられ、遅延は、各レーンに対して異なるものにすることができる。遅延は、過度の遅延のない概念的なレーンに対する遅延差として、又は前のモジュールの送信器又はMCから受信側モジュールの受信器までの遅延の遅延差として解釈することができる。
この例では、モジュール間の遅延は、例証の目的のために1−6(任意単位)に及ぶと仮定され、各モジュールからの入力及び出力レーンが、入力に到着した所定のレーン数の出力で割り当てられた同じデータを有する時に、各モジュールに関連した出力データパターンは、レーン0−4それぞれに関連した入力データパターン:A、B、C、D、及びEと同じである。下流方向でモジュールからモジュールへのテーブルの進行を辿ることにより、各レーンに対する総遅延は、テーブルに関連付けられるMCとモジュール間のレーンに対する遅延の和である。例えば、MCと5番目のモジュール(M4)間で経験された総遅延は、レーン0に対しては30単位であるが、レーン4に対しては、僅かに5単位である。他のレーンは、この実施例では時間遅延の中間量を経験する。遅延単位がクロックサイクルに関連付けられた時に、レーン0のデータは、レーン4に対してその後ろの25クロックサイクルで到着する。遅延は、整数値で与えられ、これは、モジュールの各々の間の所定のレーンで同じであり、例証の目的だけのためである。遅延は、整数値である必要はないし、所定のレーンに対してモジュール間の各ホップで同じでなくてもよい。この例では、送られる指令、又はパケット、又はフレームの総長が例えば10クロックサイクルであった時に、約2.5指令がモジュールM4によっていつでも受信される状態になる。従って、第1指令のビットの全てが完全なグループとして受信するのにこの長さの時間を消費する時に、最後のモジュールは、第1指令を処理する前にいずれかの時間に2つよりも多い完全な指令をバッファに入れるべきである。この例では、第2指令及び第3指令の一部が、第1指令のビットの全てが受信される前にモジュールM4で受信され始めなくてはならない。
図35は、システムでのスキューの累積を軽減することができ、更に、各ノード又はホップで同時に処理する必要がある指令の数を低減することができるように、レーン間の遅延差を低減するためのデバイス及び方法を示している。このデバイスでは、各モジュールへの入力データは、プラグインモジュール又は回路基板又は基板上のレイアウトに関して入力データラインとは異なるデータラインに出力することができる。レーンの実際の物理構成は、図35の実施例の目的に対して図34と同じである。しかし、AMB又はCSEを使用することは、リンク及び信号ラインの様々な数及びタイプを結果として生じることを理解すべきである。実施例は、データスキューの点から前に説明されているような既存のAMBの性能と本出願の方法及び装置との違いを例証する意味がある。時によっては、入力及び出力データラインは、データのあるものだけが異なるレーンに存在することができるように前記と同じ論理的割当てを有する。
例えば、第1モジュール(M0)では、レーン0で入って来たデータAは、レーン4で出力され、レーン1で入って来たデータBは、レーン3で出力され、レーン3で入って来たデータDは、レーン1で出力され、レーン4で入って来たデータEは、レーン0で出力され、レーン2で入って来たデータCは、レーン2で出力される。モジュールM1の出力では、遅延差状況が、図34のモジュールM1について示されたものと同じである。しかし、モジュールM2に対するテーブルを考える時に、状況は変わってくる。例として、モジュールM1とM2間の通過のためにレーン4に今あるデータAは、1単位であるレーン4に関連した遅延を蓄積しているだけで、レーン0に今あるデータEは、レーン0に関連した遅延を蓄積している。第2モジュールM2では、データEの遅延は、7単位であり、データAの遅延も7単位であると思われる。他のデータB、C、Dの遅延は同一ではないが、近い値であり、論理及び物理データラインの再割当ては、遅延の拡大を低減している。
各モジュール上のレーン0−4へのデータA−Eの再割当て又は交換に続いて、様々な論理データ割当てA−E間の遅延の差が、前の実施例のように単調に蓄積しているのが見られる。データは、各モジュールで交換され続けることができる。最後のモジュール(この実施例ではM4)で、様々な論理データ要素に関連した遅延の範囲が、3の総遅延拡大に対して15単位から18単位に及ぶことを関連のテーブルが示している。これは、遅延拡大が25であった図34の実施例と比較することができる。論理データ割当てと物理レーンの間の対応関係を交換することは、従って、送信器での所定のクロック周期のデータの全てがモジュールで受信される前にバッファに入れる必要があるデータの量を約8分の1に低減することができる。この例では、ビットは、送信した時と同じ論理的順序にモジュール4で並べ替えられる。
実施例で使用されたビット割当て戦略は、最長遅延を経験したデータを選択し、これを出力として最短遅延を有するレーンに割り当てることであった。同様に、最短遅延を有するデータは、最長蓄積遅延を有するレーンに割り当てられる。
説明では、遅延は、表示を簡単にするために整数値で与えられるが、遅延がクロック速度の何らかの係数倍数を表す任意単位で示す時に整数でない値も可能である。代替的に、遅延及び遅延差は、整数及び分数のクロック持続時間で表すことができる。
図36は、モジュール対間の遅延が実質的に等しくない例を示している。2つのレーンだけが示されているが、この構成は、レーンのどのような数にも一般化することができる。図示の2つのレーンは、指令が送信されるレーンを表している。図36aは、図35に示されているものに類似の状況を示しており、遅延の差が経路に沿った各ホップで最小になるようにレーンが交換されている。交換は、第1及び第3モジュールで行われ、第2及び第4モジュールでは交換は行われない。レーンは、必要な時に第5モジュールで並べ替えられる。しかし、第4及び第5モジュール間のレーン0の遅延は、10単位であるのに対して、レーン0の遅延は、1単位である。遅延差が経路に沿って最小になった時、最後のホップでの遅延の大きな差が第5モジュール上の総遅延差で明らかになり、ここで、レーン0の総遅延は18であり、レーン1の総遅延は9単位であり、これらの間の差は9単位である。図36bは、最後から第2のモジュールまで遅延差が経路に沿って蓄積することが可能であり、次に、レーンが交換されて、交換が最後のモジュールで逆にされる他の状況を示している。最後のモジュールでは、遅延差はゼロであるが、第4と第5モジュール間の遅延差が大きい時に、交換が行われた後の遅延差が低減されるように、交換が行われる時のモジュールの前に大きな遅延差が作られることを観察すべきである。
遅延は、レーン交換スイッチの設定に対する基準として前に判断されたように示されている。このような判断は、システム設計又は試作の時、製造の時、システムへのモジュールの組立ての時、システムの始動、各システム始動の時に、又はシステムのオペレーション中に行われる測定によって行われる。この判断を行うための時間又は複数の時間の選択は、望ましい性能及びシステムの複雑さに関連付けられ、製造の多様性及び温度の影響並びに能動又は受動構成要素の故障又は劣化を考慮に入れることができる。
レーンを相互交換する、交換する、又は「スワッピング」する機能は、スイッチによって実行することができるが、「スイッチ」という語の使用は、特定の機能の実施を個別のデバイスに制限するためではなく、レーンの相互交換、交換、再割当て、又はスワッピングを達成するどのような機構を使用することもできる。便宜上、本発明のシステム又は方法のこの態様に用いられる「スイッチ」という語は、機能を実行するのに使用可能な技術の範囲を包含することを意味する。このような技術は、メモリ記憶ロケーション、状態機械、又は記憶されたプログラムコンピュータのオペレーション、及び専用電子論理回路などを単独で又は組み合わせて使用することができる。このようなスイッチングは、特定の製品の設計要件に応じて静的又は動的に実行することができる。
図37は、レーン3及び4が信号チャンネルとして使用され、最も低い全体的な遅延を有するレーンとして選択されるのに対して、レーン0−2は、データ信号に割り当てられる例を示している。信号チャンネルは、データと同時に又はデータよりも早く指令を到着させるように、伝播遅延がデータチャンネルの伝播遅延よりも短くなるように交替によって脱スキューされる。データチャンネルは、上述の1つの方法によって脱スキューされる。この実施例は、信号レーンをレーン3及び4に制限し、信号レーンは、指令が宛先モジュールにデータと同時に到着するようにレーンのいずれかに交換される。更に、データ及び指令信号が適時な方式で受信されるように全体的な送信時間差が長い限り、データの幾らかは、特定のホップで信号に対して使用されるものよりも短い遅延を有するレーンを通じて経路指定される。これを行うことで、データ信号に対する全体的な遅延時間を最小にする段階を結果として生じる。
図38aは、どのモジュールでもデータ遅延差を最小にするためにレーン間でデータ要素を交換するパターンを示している。遅延のテーブルは示していないが、図示のスワッピングのパターンになると思われる。M4で、データは交換された順序C、D、E、A、Bで到着するのに対して、予想される順序は、A、B、C、D、Eであり、この順序は、データが予想される順序でシステムの残りに表示されるようにモジュールM4の内側で適切にデータを交換することによって復元される。図38bは、MCの出力からM4の入力及びM4内で見られるようなスワッピングの全体的な効果を要約している。すなわち、中間ホップ、及び各ホップで起こるスワッピングは、MCからM4へのレーンの単一のスワッピング、及びM4の内側のレーンのスワッピングによって論理的に置換される。これは、得られるエンドツーエンド変換を表している。各モジュール上のスイッチの構成が図38aに示されているが、MCでのデータの順序付けは、同じ結果がM4への入力で達成されるようなっている。図38cに示されている別の態様では、スイッチ構成は、変化しないままであるが、レーンへのデータの割当ての順序は、予想されるシーケンスでM4で受信され、並べ替えがM4で必要ないように、送信の前にMCで事前に順序を変えられる。このような方法は、各モジュール上の処理における遅延を最小にすることができ、処理がMCで実行される時に、事前順序変えが行われると同時に指令及びデータが出力待ち行列に並び、オペレーションを実行する時間が他のシステム処理に組み込まれる。このような事前順序変えは、入りデータに、次のモジュールへの送信のための順序変えをするか、又はローカルCSEによって使用するための順序変えなしに読み取るかのいずれかを可能にすることによってCSE内のデータ経路を単純化することができる。CSEがツリーのような分岐構成で配置されている時に、システム内のCSEの大部分をリーフとすることができ、リーフからの他のCSE下流側を持たない。この事前順序変えは、静的又は動的方式で行うことができる。
図示の状況は、モジュール転送のためのMCを対象とするが、モジュール間のDMA転送のような他の経路、及びツリーの様々なチャンネル又はブランチのために有効に使用することができる。説明は、MCから例えばモジュールへの経路を扱っているが、これらのオペレーションは、逆方向で等しく行うことができる。
図39−42は、論理データをレーンに再割当てすることができるスイッチ及びスイッチング方法の様々な実施例を示している。図39aには、入力のレーン番号1−4を出力のレーン1−4に接続するための4つのスイッチ要素を有する「Batcher」ネットワーク構成が示されている。図39bには、このようなネットワークでの2×2スイッチの構成が示されており、スイッチ構成は、2つの位置が可能であり、位置の一方では、入力レーン及び出力レーンが同じレーン番号に接続されるようにレーンが通過され、他方の位置では、スイッチが入力と出力間でレーンを交換する。図39cは、図39bに示す機能に加えてコピー機能を含むスイッチを示しており、ここで、レーン1の入力は、出力レーンに複写することができ、又はレーン2の入力を出力レーンに複写することができる。図39c及びdは、回路要素が2対1マルチプレクサである場合の電子図式形式でのスイッチを示している。図39dでは、図39bの構成が達成され、図39eでは、図39cの構成が達成されている。2つの回路間の違いは、コピー機能のない2×2スイッチの時に、マルチプレクサ選択ラインがNOT入力420を有するマルチプレクサの1つと同様に起動されるということである。コピー機能のある2×2スイッチでは、個々のスイッチは別々に制御される。
図40aは、順序付けが3、2、1、4(出力が出力レーン番号で最初に示され、括弧内の数字がその出力レーンを通じて送信される入力レーンを示す)であるように、1、2、3、4と指定された入力レーンを交換するのに使用される「Batcher」ネットワークを示している。しかし、1、3、4、2の出力割当てを行おうとする試みが望ましい時に、図40bは、経路がブロッキングされることを示している。
図40cは、非ブロッキングクロスバースイッチマトリックスを示している。スイッチのこのタイプは、どの必要なスワップも実行するのに使用することができる。スイッチの別のタイプは、図40dに示されている「Clos」ネットワークであり、これは厳密な非ブロッキングとして公知のタイプであり、入力と出力レーン間の順序付けを変更することができ、これらのレーンを変更するだけで、その割当てが実際に変更される。
「Batcher」ネットワークスイッチの機能は、図41aに示すような別の段階を付加することによって拡張することができ、これは、「Benes」ネットワークと呼ばれることがある。ここでは、図40bで要求されたスワッピングが可能である。しかし、スイッチングの付加的な段階は、付加的な遅延を生じる場合がある。それにも関わらず、これは、再構成可能な非ブロッキングスイッチである。図41bは、8レーン構成へのこのようなスイッチの拡張を示している。スイッチの幅は制限されない。
一部の構成では、レーン入れ替えの1つ又はそれよりも多くのパターンが頻繁に発生することが分る。図42は、完全スワップがシステムの一部のレーンに対する共通の要件である状況を示しており、例えば、入力レーン1と出力レーン8に出力するマルチプレクサとの間を接続する回路要素がデバイスと共に示されている。他の入力及び出力は、同様に接続されている。また、他の構成を構成可能とすることができるように入力及と出力マルチプレクサへの入力を接続する2つの「Benes」ネットワークが示されている。望ましい並べ替えが、次に、固定ネットワーク及び可変構成スイッチと結合した出力マルチプレクサによって選択される。単に1つの固定ネットワークが示されているが、1つよりも多い固定ネットワークも、3対1マルチプレクサのようなより大きな入力容量を有するマルチプレクサと共に使用することができる。説明する回路の多くを使用することができる時に、使用されない回路は、電源ダウン又は電源オフにすることができ、又はもしあるならばそのクロックをゲート制御させるか、又は電力消費を最小にするために必要だと思われるあらゆる他の段階も有することができる。
システムは、経路上又は回路内のタイミングにおける可変遅延を有することができる。タイミング変動は、熱膨張又はパラメータ変動、又は他の決定論的又は非決定論的影響から生じる場合がある。システムにおける可変遅延がある場合は必ず、ツリーのルート(MCなど)からモジュールへの信号伝播時間が決められた値に固定されない。位相変異を修正する必要がなく、データがスキューされないようにクロック速度が十分遅い時にデータをグローバルクロックからラッチすることができるようなクロッキングである場合でも、小規模の位相変異が起こるが、それにも関わらずデバイスからデバイス、又はいずれか1つのデバイスからヘッドエンド(ルート)までの異なる伝播距離が存在する。データのスキュー又はグローバルクロックのジッタがあるか、又はグローバルクロックに対して位相差があり、リンクがセルフタイマ式であるクロッキングが完全に同期しない時に、これらの考察事項が依然として適用される。
図43は、例えば、ツリーの2つの別々のブランチ(リンク)からモジュールに到着する2つのデータ経路の融合を示している。この時点で、各ツリーの遅延差特性は、遅延差がこのノードのブランチ間に、及び各ブランチ内に、レーン間に存在するようなっている。説明する機能は、CSEで又は関連の回路で実行することができ、機能のあらゆる表示は、その物理割当てを示すことを目的としておらず、各要素で実行される機能を示すことを目的としている。
説明を明確にするためにのみ、データ経路の4つのライン上のデータは、数字として示されており、データ経路IIの4つのライン上のデータは、文字として示されている。データ経路Iに関して、データは、チャンネル間の時間に完全に合わせられるものとして示されている。データは、クロックデータ回復ユニット(CDR)に入る。別々のCDRを、各レーンに対して又はレーンのグループに対して使用することができる。経路IIのデータは、レーン間の時間スキューを有するものとして示されている。各CDRの出力は、マルチプレクサ500に入力され、マルチプレクサ500は、入力データの2つのグループの1つを選択し、データを送信器TX(510)又は他の回路に出力するように構成されている。マルチプレクサとTXの間を接続している4つのラインは、経路I及び経路IIデータの両方を示しているが、マルチプレクサの効果は、経路の単に1つを選択することである。2つのレーンは、タイミング差が容易に分るためだけにマルチプレクサの後に示されているが、経路の単に1つが選択され、特定のマルチプレクサ選択のためにマルチプレクサと送信器TX間のロケーションに実際に現れる。現れたデータの比較は、別々のクロックが各データラインに対して使用される場合でも、クロックに関して経路I及び経路IIのデータ間のずれがあることを示している。説明を明確にするために、単一のクロックが2つのデータ経路の各々に対して想定されるが、別々のクロックは、経路の各々のレーンの各々に対して使用することができる。
経路I又は経路IIのいずれかのデータが選択されて送信した時に、CSEのストリングにおける次のCSE又はいずれかのデータ受信器への影響を考える必要がある。説明の目的のために、ストリングにおける次のCSEは、上流側CSEと呼ばれる。図43に示されているのと同じCSEになるように構成される上流側CSEでは、受信したデータは、番号又はアルファベットデータのいずれかがマルチプレクサによって配置され、送信器TXによって送信される単一のデータ経路を表すことになる。これは、上流側CSEへの経路I入力とすることができ、ツリーの別のブランチは、経路II入力とすることができる。以下の説明は、経路I又は経路II入力のいずれかに適用されるが、図43に示されているCSEからそのデータが来る経路I入力に関して説明する。
CDRは、回復されたクロックを経路I(数字)データのクロックに整列させることができる。マルチプレクサが経路II(アルファベット)に切り換えた時に、このデータに関連するクロック速度は異なるものになり、それによって上流側CSEでのクロック速度によるデータのサンプリングにエラーを生じる場合がある。
図44は、少なくとも部分的にこの状況を軽減することができる回路を示している。CDRは、データ経路I及びデータ経路IIからのデータがクロック端に整列するようにデータの時間遅延を調節する位相アラインメント回路を有する。これは、経路I及びII上の入力データと送信器TXの出力での多重伝送されたデータの入力データとの比較によって分る。2つの経路の単に1つがいずれかの時間に送信器TXの出力に実際に現れるが、データの2つのセットは、共通クロックとの2つのデータセットの関係を説明するために示されていることを思い起こすべきである。このアラインメントは、融合経路間の遅延差の幾らかを克服することができると同時に、2つの経路のデータがこの実施例では全クロック周期だけオフセットされることをライン2のデータが示している。実際に、このオフセットは、1つよりも多いクロック周期とすることができ、スキューはそのままである。
図45は、経路I及び経路IIの各々での脱スキュー処理の追加を伴う図44の状況を示している。脱スキューは、経路IIのレーン2のデータに1つのクロックサイクル遅延に等しいものを付加することによって達成され、この結果、レーン2の経路I及び経路IIのデータは、上流側CSEによって受信されるデータの見掛けのスキューにおける変化なしに選択することができる。
図46aは、アーキテクチャのより高いレベルでの図45の概念を示している。メモリコントローラMC及びモジュールM0−M7は、ツリーに接続されている。各データ経路の時間遅延は、モジュールMiを接続しているラインの長さによって表され、各モジュール内の時間遅延は、各モジュールの長さによって表される。図46aから、経路MC−M7が最も長い経路であることが分る。K個の可能なレーンから各回路要素間のレーンの単に1つが示されているが、説明は、他のライン又はレーンにも等しく適用することができる。図46bでは、水平軸が、各回路要素での遅延を含む回路要素の各々を接続するレーンの時間遅延を表すように再度引き直されている。各データビットに対して、使用される回路要素間のレーンは、異なる物理レーンとすることができるが、論理データビットは、データ又は指令が解釈される回路要素において正確である。すなわち、結局は、MCのレーン0に至る示されたラインのセットは、物理レーンが例えば図39−42に示されている交換のようなレーンの結果としてツリーの他の部分間の異なるレーン番号である時にもレーン0に到着するデータを運ぶレーンである。
図47aは、ネットワークのサブツリーの2つ、すなわち、M0、M2、M6及びM0、M1、M3、M7を識別する。図のように、経路M7−MCは、最も長い経路である。各回路要素で、2つの入力経路と1つの出力経路が示されている。入力経路の1つは、非重要経路が他の経路よりも送信元と宛先間の短い全体遅延を有するという意味で非重要経路である。例えば、モジュールM1では、M4からの経路は、M7−M3−M1を通過する経路に対して非重要である。この状況では、付加的な遅延を付加的な全体遅延を生じることなくM7−M3−M1−M0に対してM4−M1−M0経路に生じさせることができる。付加的な遅延が生じた時に、これは、モジュールがデータ経路に接続している時にモジュールから延びるタブ550を示すことによって象徴的に示される。
図47で用いられた記号を使用して、図48は、論理ビット0経路のためのモジュールコントローラMCにツリーで接続した8つのモジュールMiのネットワークを示している。ビット0に対するモジュールMiからMCへのビットの通過の時間遅延は、「dM_i_N」として表され、ここで、iはモジュール番号、Nは論理ビット数である。遅延は、モジュールMiの出力からMCの入力まで測定される。すなわち、送信元モジュールMiと受信側回路MCの遅延は、単純に示されない。モジュール上の付加的な遅延はモジュール上のタブによって示され、モジュールの至る所で発生することを言及しておかなくてはならない。ネットワークでのタイミングを考える時に、時間「tM_i_N」は、MCから送信した論理ビット0の指令又はデータがモジュールiで受信される時間を表している。図48は、データがメモリコントローラMCによって送信した時にt=0が時間であるとすると、受け取りの時間「tM_5_0」=t+「dM_5_0」になるようなモジュール5及びビット0の状況を示している。
どのビットNに対しても類似の分析を行うことができ、図49a、bは、遅延が別のビット、ビットNに対して適切であることを除いて、図46bと同じモジュールの構成を示している。図50a、bに示すように、ビットNに対して最大経路時間を有するサブツリーの異なるグループ化が存在することができ、従って、各モジュールの結合経路では、非重要経路を有するサブツリーの異なるセットが存在することができる。ここで、最大時間遅延を有するサブツリーは、M5、M2、M0及びM7、M3、M1、M0、MCである。第1サブツリーは、前に説明したビット0状況と比較すると異なるが、第2サブツリーは変更されていない。従って、ビットNに対して、遅延は、M2とM6を相互接続するポートで付加されるのに対して、ビット0の時には、付加的な遅延が、M2とM5を接続するポートで付加される(図47に示されている通り)。
図51は、上述の表記で表される結果遅延を示している。熱又は他のゆっくりと時間的に変化する影響は、モジュールのマルチプレクサによって選択され、共通クロックによってサンプリングされるデータの位相及びビット同期を維持するために遅延の調節を必要とする場合がある。図52のモジュールM0、M1、及びM2上に示されている遅延の台形拡張560は、このような変化する付加的な遅延を示し、ここで、拡張の全長565は、最大全付加遅延を示し、破線の横断線570は、最小付加遅延を示している。別の態様では、モジュールの内部構成、及び処理遅延などを含むことができる一部の要因のために、モジュール内の遅延は、各レーンに対して同じではない場合がある。様々なレーンがモジュール間の論理ビット送信のために選択された時に、モジュール遅延は、従って、選択されたレーンに依存することになる。これは、図53に示されている広いタブ575のあるボックスによって表されている。これは、象徴的な表現であり、遅延がモジュールの入力又は出力で必ず発生することを意味する。
選択された時間遅延制御の方法に応じて、脱スキューが必要になる前にモジュール上のスキュー修正のために遅延を発生させることができる。図54a、bは、遅延を発生させる2つの手段の実施例を示している。前に示したように、図54aでは、遅延が、M6への接続でM2に加えられるように示されており、ここで、M5からM2の経路は非重要である。代替的に、遅延をM5に加えることができ、図54bに示すように、M2とM0両方で遅延がなくなる。それによって、M5とNC間の遅延を低下させることなくM6及びM2とMC間の全体的な遅延が低減されたことが分る。
図55aは、図46及び49で説明したツリーの遅延を示し、ここで、遅延の各々は、0及びNと指定されたビットに対して示されている。図55bは、同じツリーを示しているが、モジュールM7は削除されている。図55bで表されるように、「最も長い遅延モジュール」がないことを示すために、長い遅延が構成から取り除かれている。ビット0に対する最も長い遅延は、モジュールM6への経路で発生していることが分るのに対して、ビットNに対する最も長い遅延は、M4への経路で発生していることが分る。
図46−55は、例えば、モジュールMとモジュールコントローラMC間の戻り経路での時間遅延の例を示している。MCとモジュールM間の指令及びデータの送信と肯定応答又はデータの戻りとは、時間遅延を包含するが、この状況は、戻り経路が1つよりも多い経路からのデータの多重伝送を必要とする態様での戻り経路とは異なり、MCからの指令又はデータの送信は、データが分岐によってツリーの下流に広がる方式で実行することができる。位相修正が同期に対して必要とされるが、時間遅延の付加によるスキュー修正は必要ではない。MCからモジュールMへの経路での時間遅延とモジュールMの戻り経路での時間遅延とは、同じビットに対しても同じではない。図56では、表示を簡単にするために、モジュールで発生する遅延が存在し、位相同期遅延のどのようなスキューも含むモジュール間の遅延の全てが、モジュールを集めるラインの長さの一部として示されている。図56aは、指令がMCから送信されているツリーを示し、モジュール間送信での総遅延が点線として示されている。経路管理における説明に従ってブロードキャスト指令でない場合の指令は、モジュール間の接続の各々を実際には通過せず、宛先アドレスに応じてリンクの部分集合だけを通過することができる。しかし特定の経路を通過する限り、通過する場合の遅延が示されている。
図56bは、図48に前に示すようなツリーを示している。モジュール間のラインは、図48に示すラインと図56aに示すラインの和である。点線580は、MCからモジュールの各々に遷移するビット0が遭遇する時間遅延を表し、実線及びタブは、ビット0に対するモジュールからMCへの戻り信号の遅延を表している。表示の目的のために、MCからの信号を準備して送信する時間、アドレス指定されたモジュールで信号を復号化し、それに応じて作動し、更に応答信号を送信する時間、及びMCで信号を復号化し、それに応じて作動する時間は、省かれている。
図56bは、従って、モジュールMiのいずれか1つ又はそれよりも多くに送られる時のビット0に対するMCからの指令と、MCによって受信される指令へのMiの応答との総通過時間を示している。
図57は、図56bの状況をより詳しく示しており、ツリー全体の指令及び応答の全体的な通過時間を表すための表記法を取り入れている。「sdM_i_N」は、MCからMiへの指令(又はデータ)の送信とモジュールMiからMCの入力までのレーンNの第1ビットの戻りとの間の遅延を表している。「stM_i_N(t)」は、ビットNが送信した時間から応答が送信側回路で受信した時間までの時間である。これは、指令がビット0としてMCからモジュールM5に送信されており、応答がMCで受信されている状況に対して「stM_5_0(t)」=t+「sdM_5_0」である場合のモジュール5について示されている。
前の例は、出発及び戻り経路のツリーのトポロジーが同じ構成を有する場合の状況を示している。しかし、このような構成は必要ない。図58a及びbは、同じモジュールがMCから及びMCへの送信のための異なる経路指定を有する場合の状況を示している。これは、戻り経路構成である図58aと、出発経路が示されている図58bとを比較することによって理解することができる。全体的な往復伝播時間が図58cに示されており、破線及び実線の該当する長さが、前の例のように方向を表すのに使用されている。図示の構成では、一部の経路が1つよりも多い場所に示されており、これらの遅延表示の配置は、ラインを囲む楕円によって示され、ラインは、遅延のソースを示している。図59は、戻り経路だけを示す図49に等しいが、図59は、出発経路の特定のツリーを含む。
図60a、bは、複数の信号経路を示しており、ここで、信号経路は、データ経路から除くことができる。図60aでは、モジュールM4に、M0からM2、M5、及びM4への経路によって到達することができる。この経路は、これを前に説明した経路M0−M1−M4と区別するために矢印で終端して示されている。同様に、モジュールM7には、M3からの2つの異なる経路によって到達することができる。M3からM7への2つの異なる経路が存在する状況は、例えば、リンクのチャンネル化があり、各チャンネルは、関連する信号構成要素を有する態様を表すことができる。このように信号経路を表すことは、異なるチャンネルが例えば異なる遅延を有する異なるレーンを使用することができる時に、異なる信号遅延を有する状況を考慮に入れることができる。M4への付加的な経路は、通信目的のために存在する付加的な接続を表すことができる。このような使用は、モジュールが格子メッシュで接続されている時に、例として理解することができる。1つよりも多いモジュールコントローラが、異なる経路長があるモジュールと通信している態様では、1つよりも多いルートが制御信号を送るのに使用することができる時に、信号競合を防ぐために他の経路を使用することができる。
図60bは、モジュールコントローラMCとモジュールMiの各々の間の経路に全てが関連しているタイミングを図形で示しており、ここで、信号経路は、点線として示され、戻りデータは、実線として示されている。モジュールM4からの遅延の付加的な遅延成分は2回示され、楕円記号は、その特定のインスタンスを示している。経路の1つは、信号がM0からM1−M4に延びる経路上にある場合であり、他の経路は、M1からM2−M5−M4に延びる。
指令に応じてモジュールから戻るデータ又は指令の詳細なスケジューリングの以下の説明では、本発明者は、簡潔には、指令が、MCから全てのモジュールに時間遅延なく送信され、アドレス指定されたモジュールが、時間遅延なく指令に応じて作動して指令に応答することを想定している。これは、使用している表記法を表示することを助ける。更に、スロット化時間モデルを最初に説明し、この制限は、取り除くことができるように後に示している。図61−71のタイミング例は、データがMCにどのように到着するか示している。
右側がモジュールコントローラMCに到着する時間を表し、左に延びる時間が後の時間にMCに到着する指令又はデータを表すように、タイムスロットがタイムライン上に示されている。表記tCiは、パケットCiの最初のビットがMCに到着する時間を表している。この説明は、例えば、レーン0に関し、スケジューリングの同じタイプを各個々のレーンに対して実行することができることを理解すべきである。更に、遅延を示すタイムラインdMiは、直線で示されているが、遅延はツリーで発生し、可変遅延ジッタバッファを組み込むことができる。従って、モジュールがリンクのレーンにビットを挿入する実際の時間は、送信の遅延時間である。ジッタ/熱バッファによる時間の変動の影響は、図面を過度に複雑にすることになるので示されていない。この単純化の結果、ビットのタイミングが構成のより低いレベルで考察される時に、タイムライン上の正確な位置から外れるように、互いに対してシフトされてビットが現れるが、ジッタ/熱バッファの修正の結果、MCで受信される時にタイミングが修正されることになる。
タイムスロットの全体的な長さは、大きな六角形のブロッキング900によって示され、ビットの時間周期は、小さな六角形ボックス910によって示されている。この例では、タイムスロット化システムが使用され、モジュールは、データの送信を準備する時間から適切なスロット時間に達するまで待つという制約が課せられる。例えば、読取指令がt1でM7に送られた場合、スロット「tC_(i+4)」がモジュールM7で既に始まっている時にスロット「tC_(i+5)」の前に応答を始めることはできない。図61bは、全スロット時間が経過した後の状況を示している。この時、スロットの全ては、1スロット時間だけ時間的に移動しており、スロット「iC_(i+1)」は、MCに到着し始めている。モジュールM7は、5ビットがスロット「iC_(i+5)」に挿入されるようにデータを挿入し始めている。図61cは、「iC−(i+2)」がMCに到着し始めた状況を示しており、それによってM7からのビットの全てが、ここでタイムスロット920に挿入されているのが分る。更に別の時間が経過した後、このタイムスロットは、MCで受信される。これは、データがスロットに満たされるように、ビットが各クロックパルスで連続して挿入される時に起こる。
態様においては、モジュールからメモリコントローラMCのようなツリールートに戻されたデータ又は指令が所定の順序で到着するように、図62a−cに示すように固定タイムスロットが各モジュールに割り当てられる。ここで、複数の指令がMCによって送信されている。単純にするために、指令及びデータは、固定遅延システムで送られると考えられる。この例では、指令は、最も遠いモジュールの遅延を有するように作用されると考えられる。このような時に、より短い遅延を有するモジュールが存在する場合でも、所定のスロットに適合するように戻りが遅延される。
図62aは、スロットtC(i+6)がM7に5クロックサイクル早く到着する場合の状況を示し、5ビットのデータが、既にスロットに挿入されている。更に、読取指令は、M0及びM2に送られており、これらの指令に対する応答スロットが、tC(i+6)及び「tC_(i+7)」のそれぞれに割り当てられる。図62bは、8クロックサイクル後の状況を示しており、M7が、割り当てられたスロットを満たし、更に、読取指令が、M3及びM6に送られ、応答スロット「tC_(i+9)」及び「tC_(i+10)」がそれぞれ割り当てられている。8つの付加的なクロックサイクル後に、スロットは、全スロット周期だけ移動している。しかし、スロットの位置を遅延時間dMiと比較することで示すように、次のスロットのどれもが応答を運ぶために割り当てられたデバイスに達していないこと、及び他のモジュールはビットを挿入していないことに注意すべきである。
図63aでは、8つの付加的なクロックが発生しており、モジュールM0、M2、及びM6からの応答に割り当てられたスロットが時間的に順方向に進むが、それぞれのモジュールは、レーン上のストリームにビットを挿入することができる時間に達していない。8つの更に多くのクロックが図63bで発生しており、ここで、モジュールM0、M2、及びM6のためのスロットは、モジュール遅延dMiと比較した時に示すように適切なモジュールに達しており、この時、モジュールM0は、1ビットを挿入し、モジュールM2は、5ビットを挿入し、モジュールM3は、レーン上に3ビットを配置している。MCに到着しているスロットの表示は、図示のシーケンスの始めから経過したクロック周期の総数を示している点に注意すべきである。
「tMC_0」=t1+45で、モジュールM6は、7ビットを挿入しており、前のスロットは既に満たされている。4つの更に多いスロット時間に、スロット「tC_(i+10)」の終わりで、ビットの全てがMCに到着する。
例示されたシーケンスを実行するための総時間は、このレーンに対してM7であった最も遠いモジュールまでの時間遅延であった。別のレーンに対して、別のモジュールが最も大きな遅延を有する場合がある。このような状況の下で、遅延は、最も大きな遅延まで増加させることができる。別の態様では、図64は、可変遅延スケジューリングの例を示している。スロットシステムを使用することができるが、モジュールに送られた指令は、まだ割り当てられておらず、モジュールに関連した遅延に到達していない最初の戻り時間スロットを割り当てることができる。比較のために、図64及び65は、図62及び63と同じ時間シーケンスを示している。しかし、ここでは、M0及びM2に指令を出す時に、応答スロットが、スロット「tC_(i+7)」及びtC(i+8)ではなく、スロット「tC_(i+4)」及び「tC_(i+5)」にそれぞれ関連付けられる。図64bに示すように、8クロックサイクルが経過した後、指令は、モジュールM3及びM6に出され、「tC_(i+9)」及び「tC_(i+10)」として応答スロットを割り当てる代わりに、応答スロットは、「tC_(i+7)」及びtC(i+8)にそれぞれ割り当てられる。図64aから図65cは、割り当てられた戻りスロットの時間経過と適切なクロックインターバルでのデータの挿入を示している。モジュールM6に送られた指令への応答の最後のビットは、「tMC_0」=t+55でMCに到着するのに対して、固定遅延スケジューリングを使用する図62及び63に示す前の例では、M6からの応答の最後のビットは、「tMC_0」=t+71までMCに到着しない。従って、どのモジュールからの応答における遅延も、可変遅延スケジューリングを使用することによって低減することができる。
図66及び67は、スロット化された送信時間へのデータの制限が取り除かれた状況を示している。図66aでは、読取指令Rは、t=1でM7に送られており(指令の送信及び処理のための時間遅延が、この説明では無視されていることを思い起こされたい)、4クロックサイクル後の状況が示されており、4ビットのデータがレーン上に既に載せられている。指令が、M0及びM2に送られる時に、これらのモジュールは、同様にデータを挿入することができる。図66bは、4クロックサイクル後の状況を示しており、M7応答に対するビットの全てが挿入されており、M0及びM2応答の各々に対して4ビットが挿入されている。この時、指令は、M3及びM6に送られる。図66cは、モジュールM2及びM0が応答ビットの挿入を完了しているが、モジュールM3及びM6はビットの挿入を開始していない場合の4クロックサイクル後の状況を示している。M3及びM6の応答スロットは、M0及びM2の応答スロットがM7の応答スロットに重なるので即時に割り当てられることはなく、これらは、次の可能なクロックサイクルに配置される。図67a−cは、シーケンスの更に別の時間経過を示している。この状況は、スロット間の一部のスペースをそのままにすることができる。しかし、可変幅データ又は指令のためのスペースを使用することができ、又は異なるモジュールからの応答を交互に差し挟むことができる。
図68及び69は、信号遅延が示されているスロット化されていない応答の状況を示している。応答に対する時間の割当ては、指令がモジュールに達する時間が考慮に入れられる時には信号遅延に依存し、レーン上のビットの配置が遅延される。これは、指令がモジュールで受信された時間までにモジュールを既に通過していることになるレーン上にビットを載せる時間をモジュールに割り当てることができない状況を表すことができる。従って、システムがスロット化された時間を有する必要はない。
モジュールコントローラMCは、モジュールコントローラMCよりも遅いクロック速度で実行するためのシステム又はバスに接続することができる。MCは、高速データを受信し、データのシリアル化を解除し、データをラッチし、データを別のインタフェース上で送出し、又はモジュールコントローラMC内でデータを使用する何らかの時間が存在することができる。より低速のクロックに対してラッチさせるのに不十分な時間でMCに到着するデータは、より低速のクロックの速度クロックサイクルで使用可能になる。
ビットが次のより低速のクロックサイクルで使用されるのに間に合うように到着しない送信は、次のより低速のクロックサイクルで使用することができる最後の可能な時間にビットが到着し、更に、システム性能への改良並びに論理の複雑さの低減が生じる送信に比べて全く利点を持たない場合がある。
図70aは、図68aのシステムと同じ信号遅延を有するシステムを示し、このシステムでは、M3がM6(sdM6)よりも低い信号遅延(sdM3)を有し、時間t1に送られた指令への応答が「tL_(t1)」+48で両方のモジュールに対して同時に戻ることが分る。この結果、M3の信号遅延が、図70bに示すように調節された信号遅延(asdM3)に置換される時に、M3の応答待ち時間は同じままである。この時に、モジュールコントローラMCの指令戻りスケジューラーは、高速クロック時間に基づいてスケジューリング判断を行うことなく、より遅いスロット時間で作動することができる。指令スケジューラーはまた、図70bで示すsdM6、asdM5、asdM4、及びasdM3の場合のように、信号遅延が同じスロット時間内におさまるモジュールに対してスケジューリングタスクを行うことができる。
このような遅延調節がモジュールコントローラMCの実施又は作動に有益である時に、モジュール信号遅延のこのような調節は、単に「仮想」調節として行うことができる。すなわち、信号は、asdMiではなくsdMiでモジュールMiに到着するが、あたかも信号がasdMiで到着しているかのようにモジュールコントローラが作動する。
別の信号遅延を低減するような方法で1つのモジュールの信号遅延を増加させるために、図35−38に示されているレーンのタイプの交換を実行することによって遅延を増加させることができる。全体的な信号遅延は、順方向及び逆方向遅延の両方の結合である。例えば、図70aでは、少量だけsdM2を増加させることにより、sdM3<=dM6になるようにsdM3を低減することができ、M3の指令待ち時間は、M2の指令待ち時間を増加させることなく改善することができる。
1つの経路における全体的な遅延の改善は、1つよりも多い他のモジュールの遅延を調節することから得られる。遅延における改善は、別のモジュールの指令遅延を増加させる段階を包含する。例えば、図70aでは、sdM1=sdM2になるようにsdM1を増加させることで、sdM7==sdM6になるようにsdM7を低減することができる。この例では、M1の指令待ち時間は、1スロット時間だけ増加することになり、M7の指令待ち時間は、1スロット時間だけ減少することになるが、sdM1は、sdM7.1よりも小さい。
指令遅延が低減されたモジュールが、遅延が増加されたモジュールよりも実際に少なくなる遅延の調節も、有用である場合がある。
図70cは、図70aでの構成の実施例を示しており、モジュールコントローラMCが指令を送信することができるタイミングは、あるとすればスロット時間に比べて固定されておらず、及び/又は低速クロックである。図70cは、図70aの実施例後のt1+4、又は4高速クロックでの状況を示しており、ここで、スロットは、モジュールコントローラMCにより近く4ビット移動しており、モジュールの指令遅延に影響を与えることなく使用することができる調節された信号遅延値の異なるセットを結果として生じる。
図71aは、前の実施例のモジュールM0及びM2のデータ遅延及び信号遅延、モジュールの各々が3つの異なる指令CMD#1、CMD#2、及びCMD#3を実行するのに必要な時間、並びに前の指令がCMD#2であった時に、CMD#3_(2)として示されるCMD#3を実行するのに必要な時間を示している。この表記は、1つよりも多い前の指令、又はモジュール又はシステムの様々な状態を考慮に入れることができる。この例では、各指令の遅延は、両方のモジュールに対して同じであるが、所定の指令の遅延が各モジュールに対して同じである必要はない。
図71bは、結果生じた指令信号遅延を示し、ここで、表記「sd[3]M2」は、モジュールM2に対する指令CMD#3の信号遅延であり、sd[3_(2)]M2は、モジュールM2に対する指令CMD#3_(2)の信号遅延である。
1つのモジュールに対して1つよりも多い可能な調節信号遅延が存在することができる。例えば、モジュールコントローラは、1つのモジュールから1つよりも多い宛先に戻されたデータを送信することができ、又は1つよりも多い可能なクロック境界がクロスされるように戻されたデータによって1つよりも多いオペレーションのタイプを実行することができる。クロック「境界」は、より高速のクロックによってデバイス、機能、処理などに至るシリアル化処理でのスロットの開始時間になる。クロックが固定位相又は周波数関係を有するという要件はない。
前の例では、名目上、高速リンクでの「ビット時間」を表すために「高速クロック」が使用されていたが、例えば、データが両方のクロック端で送信され、マルチ値信号が使用され、又はクロック差、多位相クロック、及び/又は1つよりも多いクロックが使用される時に、高速クロックは、ビット時間とは異なるものにすることができる。明確にするためにのみ、クロック時間とビット時間が同じであるように実施例が与えられていることを理解すべきである。
また、分かり易いように、データに対して、「次に低速のクロック」によって到着したと言われているが、これは、直ちにクロック時間に続くとは限らない、このデータを使用することができる次の機会を表すことを理解すべきである。
物理及び論理レイアウトの実施例が与えられている。他のレイアウトも可能であり、当業者には明らかであろう。例えば、図72は、モジュールM0からM7が線形方式で互いに平行に配置されるように、マザーボード又は基板上に前記で図5に示すツリーに類似のツリーを配置することができることを示している。このような構成は、冷却空気の流れを促進することができ、又はマザーボード又はメインボードの電気的レイアウトを最適化することができる。図72では、モジュール間の接続を示すために、モジュール間のラインが矢印で終端してモジュールの境界で始まるようにラインが表示されている。これらの接続の一部は、どのような機能的な接続もなしにモジュールを仲介することによって通過し、このような構成は、線を点にするか又は影にすることによって示すことができるが、モジュールから発して矢印によって終端されることなく別のモジュールを通過するラインは、物理的かつ有効にモジュールを迂回していると考えられる。機能的相互作用なしにモジュールの傍を通過するラインの物理的な態様は、詳細な設計次第であるが、態様においては、点線又は迂回する線が、プリント回路基板の後側、又はプリント回路基板又は基板の層内を通過するラインを表すことができる。
図73aは、図72と同じ構成を示しているが、「前部」側及び「後部」側を有し、前部側の方向を太い矢印で示す各モジュールが示されている。各モジュールは、前部側に1つのポートと後部側に2つのポートを有し、ポートは、2つの一方向のラインのグループとして示されている。別の態様では、各ポートは、双方向ラインから構成される。この構成でのM0及びM1のような2つのモジュール間のインタフェースは、図73bに示すように互いに相対する前部側をもたらす。全体的な図72の構成を形成するためのモジュールの向きは、図73aに示されている。
図74a−dは、他のモジュールの構成の例を示している。図74aには、モジュールM0及びM1が平面図で示されており、モジュール間のラインは一方向である。代替的に、ラインの各々を双方向にすることができ、又はラインのグループから構成することができ、記号R及びTは、受信又は送信接続としてではなく、基準指定子と考えることができる。この時に、R接続は、各モジュールの左側に示され、T接続は、各モジュールの右側に示されている。モジュールM1のT接続を例えばM0のR接続に接続する時に、接続は、モジュールの各々の下を通るのに対して、M0のT接続のM1のR接続への接続は、モジュールの下を通らない。
図74bは、側面図で図74aの構成を示し、ラインの一部は、ボード970aの1つの層上に配線され、一部は、ボードの別の層970b上に配線されている。モジュールの各々は、様々な回路構成要素が配置された回路基板とすることができ、構成要素は、メモリチップ、CSE、他のインタフェース、及びコンピュータ素子などを含むことができる。図74cは、平面図での別の構成を示しており、対応する側面図が図74dに示されている。図74c、dでは、モジュールは、スイッチを表すSiとして示されている。スイッチSは、回路基板上に配置されたCSE又は他のデバイスとすることができる。しかし、他に具体的に制限されない限り、S、M、T、Rのような指定子の使用は、機能をスイッチ、モジュール、送信機能、又は受信機能に制限するのではなく、一般的な基準指定子を意味する。レーンは、一方向又は双方向とすることができ、説明する特性の結合を有するラインのグループから構成される。
図75は、モジュール間の相互接続がマザーボード又は基板上にない態様を示している。M0とM1間の接続がマザーボード上にあるものとして示されており、M2と別のモジュール(示されていないが、モジュールM2の右に配置されている)間の接続が、図75aの平面図に示されている。しかし、M0とM2間の接続は、モジュールM0、M2の上部間で接続したボード980によって行われているものとして示されており、これは、コネクタ付きにすることができる。代替的に、この接続は、ケーブル及びコネクタ又は他の手段によって行うことができる。この構成は、図75bに側面図で示されている。
態様においては、図76は、図72の構成の一部を示しており、モジュールへの接続は、1つのポートに対してモジュールのいずれかの側でT及びR接続を交互にするように示されている。図のように、受信接続Rが右側にあり、送信接続Tが左側にあり、次に、送信接続Tが左側にあり、受信接続Rが右側にある時に、単一の交替がある。3つのポートがモジュールの各々に示されているのが分る。接続のこのような交替のどの数も表示することができ、各交替に関連したラインの数は、ゼロから上向きに及ぶ。各グループでのラインの数は等しくなくてもよい。接続のこのような配置は、向かい合う部分を配向するためにモジュールを逆にして回転させることなく、例えば、図73に示すようにモジュールを接続させていることが分るように、モジュールの前部及び後部側を示す必要を排除することができる。従って、対称的なプラグインカードを一部の用途に導入することができる。
別の態様では、図77は、T及びR接続が交互にされない場合のカードの同じ構成を示している。ここで、R接続は、ボードの左側にあり、T接続は、ボードの右側にある。これは、接続の交替が、カード及び接続のある一定の構成には必要ないことを例示している。
図78は、図77のボード接続構成が使用される態様を示している。送信ラインの上部2つのセットで続行される代わりにM1からM3への接続は、上部から第2のグループを含む。モジュールM0とM3間のレーンは、M0の上部からM0の中央のスイッチ(図示せず)に経路指定されており、図77に示すように、M1の上部に更にM3に横断する。従って、最も長い信号経路は、M0の長さの半分であり、スイッチに達し、次に、M1に横断し、モジュールM1の上部まで至る。しかし、図78に示すようにレーンを配置することにより、M3からM0の出力、MC(図示せず)までの距離は低減される。この態様では、モジュール上の経路の長さだけが考えられている。モジュール間の距離は、経路指定の考察事項の一部である。状況によっては、モジュール上を移動する距離は、モジュール間の距離よりも長い。モジュール上の経路を交互にすることは、レーンを論理的に横断するデータのルートを交換することに類似の方法でツリーの更に下のモジュールへの全体的な遅延を低減することが分るであろう。
図79は、異なる幅のリンクを間に有するモジュールの構成を示している。モジュールM0は、モジュールコントローラ(図示せず)へのトラフィックの2つの全ポートを備えた2つの全レーンを有する。しかし、M0は、モジュールM1、M2、M3、及びM4の各々に比べて半分のレーンを有する。各モジュールがM0に接続するレーンを満たすことができるので、2つのモジュールは、全速度で同時に通信することができる。M1への接続を有するM5、M6、M7、及びM8への接続の例では、モジュールの全てが全速度で同時にアドレス指定される。このような構成は、「ファット」ツリーと呼ばれる。このようなツリーでは、複数のモジュールに輻輳なしにアクセス可能なように、データ経路の幅は、ルートを進む時に増加する。
図80は、格子の形式でモジュールのグループ化を示している。図80aでは、4つのモジュールが基本の四角に接続されており、4つのモジュールは、モジュールの対が互いに並行になるように、更に、モジュールの対が互いに一直線になるように装着されている。この構成が、コネクタによってボードに装着され、更に、ボードから垂直に上がっていくモジュールに応用される時に、互いに並行なカードのアラインメントにより、冷却空気の循環を促進することができる。物理的な構成は、従って、論理的相互接続構成に関係なく普通に行われる。図示の態様では、モジュールは、交互の送信及び受信接続を有する。M0とM2を接続するラインのU型の構成は、Uの外側を回る最も長い経路を取るレーンが、モジュールの中心により近い層であり、かつ中心に位置決めされたスイッチ又はCSEにより近づける層である時に、スキュー低減をもたらすことができる。
図80bは、図80aの回路の論理表現を示し、ここで、各ボックスは、モジュールなどを表し、単一のラインは、リンク、ライン、及びレーンのようなモジュール間の相互接続の全てを表している。この構築ブロックから、図80cは、4つのモジュールの要素構成がモジュールの格子にどのように拡大していくかを示している。格子は、どの方向にも完全に規則的である必要はなく、その内側に間隙を有することができる。
図81aに示されている6つのグループのような多種多様な幾何学的構成を形成することができる。(モジュールは、図に示されているものと異なる物理サイズである必要がなく、様々なサイズのブロックの使用は例証における便宜のためである点に注意されたい。)図4の構成と同様の6モジュールの論理構成が、図81bに六角形の形で示されている。図82は、六角形構造で作られた格子を示している。接続性の点から、M0から延びる経路が直線的に進み、M2の下部に延びる経路に接続し、ボードの上部の送信ラインがM2上のボードの上部のラインを受け入れるために延びる図80とは対照的に、図81aでは、M0がM3に接続されているように見え、Tラインが接続されているように見える。しかし、M0は、実際にはM5と通信しており、M3は、M2と通信しており、図82cに示すような互いからオフセットされている6モジュールグループのために適切な端子が関連付けられている。
図83に示されている更に別の態様では、モジュールの配置は、格子構成であり、モジュールに接続するように構成されているプロセッサユニット(CPU)、メモリコントローラ又はモジュールコントローラ、又はその他のデバイスに接続されている。この時に、メモリは、4つの中央プロセッサユニット(CPU1、...、4)で共用される。
図84は、2つのCPUデバイスが2ツリーと呼ばれるものに接続されている更に別の構成を示し、これは、ツールートツリーと呼ばれる。態様においては、CPU(C0)は、モジュールM0、M2、M4、及びM6に接続されているツリーのルートとして作動することができ、CPU(C1)は、モジュールM1、M3、M5、及びM7のルートである。関連のルートCPUによるツリーの各々へのアクセスは、他のツリーのオペレーションに関係なく行うことができる。しかし、他のツリーへのアクセスが望ましい時に、潜在的な競合を仲裁するためのプロトコルをツリーシステム内又はCPU間のいずれかに提供することができる。このような二重ポートメモリにより、2つ又はそれよりも多くのCPUが同じモジュールにメッセージを記憶することによって通信することができるようになり、共通モジュールへのアクセス経路を存在させることができる。特に、例えば、ラインの半分を1つのCPUの制御下におき、ラインのもう半分をCPUが互いにメッセージを送信することができるか又は通信することができるように他のCPUの制御下に置くことができるようにモジュールM0からモジュールM1への接続をチャンネル化することができる。
図85a、bは、CPUに接続したモジュールの2つの異なる構成を示し、この図では、論理ツリーがモジュールの各々をCPUに接続している。このような状況では、論理経路上にないリンクは電源アップされないが、リンクの電力リングを不可能にするものは何もない。様々な論理ツリーを制御及び戻り経路のために使用することができる。このようなツリー構成では、データ及び制御フローが個々のモジュールの使用に基づいて負荷を分散するように割り当てられるか、又はI/Oデバイスへのアクセスを可能にするように接続を論理的に再配置することができる。
図86aは、六角形モジュールのアレイを示し、各六角形は、制御経路が太い接続ラインとして示される別々のCPU(CPU1、...、4)を有する。図86bは、別々のCPUを有する正方形モジュールの格子構成を示し、分かり易いように、各CPUからの論理制御経路が別々の記号で示されている(様々な実線、破線、及び点線)。これらの図では、メモリ要素の関連するグループにアクセスするだけで別のコンピュータとアクセスを共有しないCPUが示されている。しかし、図87bは、共有メモリ領域に拡大するような制御及び戻りバスの拡張を示している。共有メモリへのメモリアクセスの仲裁は、ツリーにより、又は別々の通信経路上のCPU間の通信により、又は一部の他の手段によって行われる。CPU(C1)及び(C2)の時に、レーンの一部は、前に示す幅の半分として示されており、上述のように、このような構成は、2つのプロセッサによって同時にアクセス可能である。プロセッサは、共有メモリに交互にアクセスするように構成可能とすることができる。
図88は、4つのCPUと、メモリモジュール、並びに入力/出力(I/O)デバイス(I/O#0から1/O#4)として構成された4つのモジュールとすることができるモジュールの格子との構成を示している。この例では、CPUの各々が仲裁の必要なくI/Oモジュールのいずれにも同時にアクセス可能なことが分る。
図89は、I/Oモジュールが、PCIバス、PCIエクスプレスのような2地点間バス、多重ドロップメモリバスに接続するメモリハブMH#0、及び2地点間メモリバスに接続するメモリハブMH#1とすることができる多重ドロップバスに接続するためのバスブリッジ(BB)のような他のコンピュータシステム要素によって置換される構成を示している。ラインの幅は、全ての経路が等しい幅である必要がなく、経路が対称である必要もないことを図式的に示すように等しくない幅で示されている。
図90は、どのトレースのセットが使用されるかに応じて、線形及び/又はツリートポロジーの両方をサポートすることができるモジュール及びリンクの構成を示している。
図91は、中心トレースを使用する線形トポロジーで使用される図90の構成を示している。
図92は、外側トレース並びに中心トレースの一部を使用するツリートポロジーで使用される図90の構成を示している。
図93aは、モジュールの両側に位置決めされた一部のRAMチップを有するモジュールM上に配置されたCSEを示し、モジュールコントローラからRAMチップへの接続を提供する。RAMは、メモリタイプの例として使用され、使用することができるメモリ技術のタイプを制限するものと解釈すべきではない。
図93bは、「ビットスライス」方式で図93aの機能を提供する3つのCSEを示している。
図94aは、実線で示されたRAMへのデータラインと破線で示されたアドレス/指令ラインを有する図93aと同じ一部のRAMチップを備えたモジュール上のCSEを示している。ボード上のモジュールのサイズ及びロケーションは、多くの用途で重要ではない。
図94bは、RAMからのデータラインが一部のより小さなCSE全体にビットスライスされているモジュール上の一部のCSEを示している。モジュール上の一番右のCSEは、RAMへのアドレス/指令ラインを制御し、ビットスライスCSEもアドレス/指令ラインを制御することができ、更に、一番右のCSEは、同様に一部のRAMチップからのデータを運ぶことができる。
図95は、ツリーの下部にあるリーフモジュールのモジュール(M6及びM7)上の信号リンクの相対的物理位置が同じである構成を示し、それによってリンクの1つのセットを接続するためにトレースのみを有するリンク及び/又はコネクタの1つのセットのためのピンだけを有することができるCSEを備えたリーフモジュールを構築するなどの様々な最適化を行うことができ、同様に他の利益も、低減された容量を有するモジュールを有することから得られる。
図96の左側は、図95に示すモジュールのグループの左半分を繰返しており、パラレルモジュールの線形アラインメントに対する他のモジュールからのモジュールM6のオフセットを示している。図96の右側は、モジュールM6のオフセットのサイズを小さくするようにトレースの構成を変えた同じモジュールを示している。
図97は、双方向リンクを使用するモジュールの構成を示している。
モジュールという語は、「モジュール」がプラグ可能なコネクタを通じてモジュールコントローラ及び/又は他のモジュールに接続されるのではなく別の「モジュール」として同じボード上に存在することができるとしても、CSE及びそれに関連した機能及び/又は構成要素を包含するように使用される。CSE間の接続は、ボードトレースとして示されているが、これは、電線、ケーブル、光相互接続、基板トレースパターンなどを通じた相互接続を除外するものと理解してはならない。
図98は、上述のモジュールに、RAM又は他のメモリ技術とすることができるキャッシュメモリを加えたものを示している。キャッシュは、CSE又は全モジュールの一部とすることができ、モジュールコントローラ又はいずれかの他のモジュールへの又はこれらからの途中にあるモジュールを通過するデータをキャッシュ又はバッファに入れる働きをする。キャッシュの使用は、データフローのタイミングにおける柔軟性を促進することができ、適切なデータが記憶された時に、例えば、モジュール故障に対処するためにデータフローの再構成を容易にすることができる。
図99は、複数のできれば異なる相互接続システム間のCSEブリッジを示している。図99aは、モジュールの上部端に接続される相互接続へのCSE接続を示している。図99bは、モジュールの下部端に接続する2つの相互接続へのCSE接続を示している。
別の態様では、通信、コンピュータ、及びメモリのシステムの信頼性が問題になる。データ又は機能が1つ又はそれよりも多くの構成要素の障害のために失われる限り、個々のデバイス及び構成要素とシステムのアーキテクチャの両方の信頼性が関連すると考えられる。コンピュータプロセッサ、メモリコントローラ、ノード、メモリモジュール、又はその他のような単一障害点は望ましくないと考えられる。構成は、チェックサム、エラー補正コード、及びRAIDのような冗長技術を使用したデータ誤りの訂正及び破損したデータの修復を提供する。「RAID」という語は、文字通り「リダンダント アレイ オブ インイクスペンシブ ディスク」の頭文字であるが、ここでは、一部のデータ記憶デバイスにわたるデータ及び検査ビットのストライピングを包含する冗長性に対するどの方式としての当業技術での意味も有し、RAIDは、本明細書ではこの意味で使用される。特に、本明細書に説明する通信、コンピュータ、又はメモリアーキテクチャは、全システムがかなり傷つけられる前に1つよりも多い障害を受けるようにデータ訂正技術及び冗長リンクの両方の使用を提供するように構成可能とすることができる。このような障害は、例えば、データ損失の前に検出でき、構成要素又はデバイスを識別して交換することができる。態様においては、通電したままデバイス、構成要素、又はモジュールを交換することができるようにデバイスを構成することができ、装置は、修復中に機能したままである。このような修復は、「ホットスワッピング」として当業技術で公知である。
図100は、モジュールのバイナリツリーを示し、モジュールが線形方式で配置されている。モジュール間の通信レーン又はリンク又はバスは、各端で矢印によって終端されたラインによって図式で示されている。バスがモジュールの下を通るが接続していない時に、バスはグレーで示すことができるが、バス又はリンク上の矢印がモジュールに接触している場合を除いて、どのバスによってもどのモジュールへも接続はない。この例では、各ポートは、2つのチャンネルに分割されており、モジュールの第1の側に1つのバス、モジュールの第2の側に2つのバスがあるチャンネルが示されている。
モジュールのツリー構成を説明する時に、ツリーの両方の「レベル」及び数字による個々のモジュールについて説明することが便利である。図100のより低い部分には、5レベルを有するバイナリツリーのモジュール間を接続する論理リンクが示されている。ツリーのルートは、モジュール0(M0)として示されるレベル0の単一のモジュールである。ルートモジュールは、1つのポートを通じてメモリコントローラMC(図示せず)に、及び他の2つのポートを通じてレベル1の2つの他のモジュールM1及びM2に接続することができる。バイナリツリーでの使用を目的としたモジュールは、3つ又はそれよりも多いポートを有することができ、上述のように、ポートを1つ又はそれよりも多くのチャンネルに分割することができる。この例では、2つのチャンネルに分割されたポートが示されている。ハードウエア及びソフトウエアが、ポート割当てに関係なくモジュール上のどの2つのチャンネル間の通信もサポートするように構成されている時に、マザーボード信号ライン接続は、モジュールコネクタの各々の異なるロケーションで行われる点に注意すべきである。この例では、2つのチャンネルが、互いに直接接続するモジュール間で通信するために使用される。
図100の上部の線形構成でのモジュールの各々の下に、最初の一連の数字M#が、モジュールの数字名称を示しており、次の一連の数字Lが、ツリーでのモジュールのレベルを示している。この構成では、レベル0のルートモジュール0は、モジュールのグループの中心に配置され、バスが、図面の上部に接するところで、例えば、メモリコントローラMC又はCPU又は類似のデバイスに出ている。モジュール0のいずれかの側に、レベル3のモジュール10及び12がある。レベル1のモジュールは、ルートモジュールとモジュールの線形物理構成の2つの端の間でほぼ等距離で配置されている。図示の状況では、等しいランクのモジュールが互いに反対側に配置されていない場合、ホットスポットが最小になる時にメモリアレイの冷却が改善する。
本実施例のツリー構成では、MCにモジュールが直接接続されている時にのみ、データの全てが最終的にモジュール0を通って流れる。これは、レーンがあらゆる他のモジュールよりも頻繁に通電され、モジュール0が最高ワット損を有することを意味する。ワット損を説明するのに、便宜上、モジュールの全てが存在し、その読取及び書込がモジュールの各々に均一に割り当てられると仮定する。レベル1のモジュールは、従って、ルートモジュールによって扱われたデータの半分を送信及び受信することができる。これは、レーンが平均してルートモジュールと同じ頻度で半分だけ通電されることを意味し、結果としてモジュールの各々でのより低いワット損、簡単には、ルートモジュールのワット損の半分をもたらす。同様に、レベル2モジュールは、各々、ルートモジュールの電力の4分の1を損失し、レベル3モジュールは、各々、電力の8分の1を損失することになる。従って、最も電力を損失するルートモジュールを除いて、他のモジュールは、各々、かなり少ない電力を損失し、図100の構成では、ルートモジュールは、ルートモジュールの電力の8分の1だけを各々損失するレベル3のモジュールによっていずれかの側に向かい合わせにされる。ルートモジュールを冷却するための特別な構成を行うことができ、ホットスポットが少ないか又はホットスポットが全く現れなくても他のモジュールを冷却するのはあまり困難でないことになる。後で、多重ルートツリーを使用して収量負荷を分散するための手段を説明するが、当業者には、各ルートの電力分散が2倍低減されることになることが明らかであるべきである。
図101は、3つのポートがあり、かつポートの各々が2つのチャンネルに分割されているバイナリツリーで進められる一部の他の接続戦略があることを示している。図101aでは、チャンネル対が、モジュールの線形構成の長さに沿って引かれた中心線に対して対称的に配置されるように構成されている。代替的に、図101bに示すように、別のモジュールに向かう少なくとも1つのチャンネルが交互になるように2つのモジュールを接続する2つのチャンネルが離れて配置されるように、チャンネル及びポートの同じ数を構成可能とすることができる。
ツリーは、多重ルートとすることができ、従って、レベル0と考えられる1つよりも多いモジュールを有する。この状況では、個々のモジュールは、各ツリーで異なるモジュール数を有する。図102には、モジュール番号M#が図の上部に列挙されている第1ルートと、モジュール番号M#*が図の下部に列挙されている第2ルートとが示されている。例として、モジュールがルートとして又はツリーのノードとして作用するか否かに応じて、モジュールは、番号0又は11とすることができる。
モジュール間のレーン又はバスの接続は、ピン密度により、トレース、ライン、又はレーン密度により、及びクロストーク及びその他によって制限されることが多い。送信機能と受信機能間及びライン間のより大きな区別は、これらの問題を軽減するのに有用である。図103aは、レーンを使用する接続の実施例を示す、前に使用された平面図での中心モジュールに対して対称的に配置された複数のモジュールを示している。プリント回路基板PCB上のバスの可能な配線が、図103bの立面図に示されており、ボードは、3つの層と4つの表面を有する。バスは、ライン交差、マルチバイア、及びブラインドバイアなどが最小にされるか又は防止されるように都合よく配線することができる。
コネクタ付きマザーボード設計では、バスの各々の垂直部分が実際にコネクタピンになるように、コネクタのピンは、PCBを貫通し、各層上のトレースと接続するように働く。コネクタのピンは、通常は、全てが同じ物理的長さであり、層の一部に接続が要求されない場合でも、回路基板の複数の層を貫通して延びる。このようなピンは、クロック及び信号データ速度に関連した高周波でのスプリアス信号の放射ポイントとして働くことができる。
多層PCBが有用である場合があるが、単一層でのバス相互接続の全て又はほぼ全ての配線を不可能にするものは何もない。更に、本明細書に説明する構成は、多くの様々な構成に区分することができる。例えば、CSE及びメモリを含む構成要素及び相互接続の一部又は全ては、基板上の半導体回路に組み込むことができ、ダイは、相互接続基板、又は複数の基板などに取り付けることができる。すなわち、製品の組み立て及びパッケージングは、本明細書で提供される特定的な実施例とはかなり異なる場合がある。
図104に示すような多重ルート構成は、一部の付加的な接続トレースの供給及び各モジュール上の配線を再構成するソフトウエア及びハードウエア機能の供給により、ルートモジュール故障の時に幾らかの冗長性を達成するのに使用することができる。バスを表す実線によって接続される基本ツリー構成が、図104aに示されており、論理接続が図104bに示されている。ツリーでのメモリモジュールを表す各ブロックは、図104aの対応するメモリモジュールの下に配置されている。この状況では、モジュールM0がルートであり、メモリコントローラに接続されている。
図104aの太い破線で示す付加的な相互接続が供給され、故障モダリティの時に使用することができる。ルートモジュールM0をMCに接続するポートが故障している状況では、図104cに示すようにツリーを再構成可能とすることができる。この状況では、前に使用されたレーンの一部は使用されず(M0とM2間のレーンなど)、前にスリープモードであったレーンの一部が供用される(濃い破線で示すM4とM5の間のレーンなど)。付随して、ツリーの個々のモジュールのレベルを変更することができる。例えば、モジュールM0は、レベル0であったが、今はレベル3であり、レベル1であったモジュールM4は、今はレベル0である。何らかの冗長性を提供するが、図104の構成は、いずれか1つのノード又はリンクの故障の時に冗長性を提供しない。
図105は、故障した要素以外からのデータの損失なしにツリーの至る所で単一の故障に対処することができるツリー及び接続を示している。モジュールの全て及び作動可能なリンクの全てへの接続性が維持される。図105bは、ツリーのモジュールの論理構成を示し、実線のリンクラインは、作動可能な全レーン及びノードを備えたツリーのベースライン状態を表している。破線として示される接続は、スリープ中であるが、ルートモジュール0の故障の時に起動することができるリンクである。この状況では、ツリーのレベル3での10として前に示すモジュールは、作動中のルートとして再指定される。これは、モジュールの表示から垂直に下向きに延びる破線によって図105bに示されている。
図105aは、図105bの論理ツリーに関連したマザーボードレーン及びモジュールの平面図である。ツリーが全く故障なく完全に稼働中である時に、実線として示されたリンクはアクティブである。破線によって示されたリンクは、故障の時に作動し続けるようにツリーを再構成可能とすることができるように供給される。図示の特定の故障は、最も深刻な故障であるルートモジュールに対するものであり、これは、ルートモジュールが最大電力を損失するモジュールである時に統計的に起こる場合がある故障である。全ての他の要因が等しいとすると、半導体回路の特定のタイプの故障率は、温度と共に増す。ツリーが再構成される時に、前に作動中であったリンクの全てを使用し続けられるわけではない。
ツリーの再構成は、データ及び制御経路、更に、ツリーのモジュールの一部のレベルの変更を結果として生じる。図106を参照することによってこの変化を視覚化することが有用である。図106aは、故障がない場合のベースライン構成であり、作動していない補助のリンクが示されている(薄い破線)。故障がモジュール0に起きた時に、モジュール0が下部になり、かつモジュール15が上部になるようにツリーが裏返されている図106bを考える。図106cでは、作動している補助リンクが濃い破線によって示されており、作動していないリンクが薄い線によって示されている。
図107は、16モジュールの4グループが装着されているより大きな容量のマザーボードの概略図である。これは、マザーボードの容量を更に増すと同時に冗長機能を維持する方法を表している。「セット」として指定することができるモジュールのグループの各々は、図105及び106のモジュールアレイの属性を有することができる。4つのセットの接続は、CSEデバイス又は類似のものとすることができる回路要素Cによって行われ、それによってデバイスC又はCSE1及びCSE2のいずれか、又はセットのいずれかのモジュールのいずれかの単一の故障がデータ損失をもたらすことはない。この属性はまた、モジュールのホットスワッピングを可能にし、それによってサービスからユニットを外すことなく故障したモジュールを交換することができる。
上述のように、レベルが多くの状況で平均データ収量に関連付けられる時に、モジュールのワット損は、モジュールが置かれているツリーのレベルに依存する。各モジュールロケーションでのワット損を推定することができるので、冷却リソースをより有効に使用することができ、ホットスポットが低減される。例示的に、図108は、前の実施例に類似の15モジュールのグループの平面図を示し、ここでは、モジュール上のCSEの位置が示されている。空気の流れの方向は、広い矢印によって示され、金属フェンス1100が、冷却空気をモジュールに向けるようにマザーボードに取り付けられている。フェンスは、マザーボードのコネクタに挿入されるようにマザーボードから大体モジュールの高さまで延びる。最高電力消費を有するレベル0のモジュール0の時に、フェンス1100は、より大きな開口領域が入力空気の流れに与えられ、空気のより多くの量が、共にレベル3にあるモジュール11及び10に比べてモジュール0に流れるように配置される。同様の割当てが行われるが、残りの空気の適切な配置がフェンス1100を流れ、ツリーのレベル3にある隣接するモジュール8、9、12、13よりもレベル1のモジュール1及び2により多くの空気の流れを与える。
1つよりも多いモジュールのグループが冷却され、更に、冷却空気がマザーボードの領域からなくなる前にモジュールの第2セットを通るように経路指定される時に、空気の温度分布を均一にするために類似の方法を使用することができる。図109は、第1ツリーのより高いレベルのモジュールが、より低いレベルのモジュールの後部に配置されるように配置された16モジュールの2つのグループを示し、それによって2つのレベルの和が、同じモジュール構成がモジュールの両方のグループに対して使用される状況から減らされている。モジュールツリーレベル数の和が低い程、グループとして用いられる2つのモジュールのワット損は高くなる。例示的に、空気投入口に最も近いモジュールのグループのレベル0のモジュール0が、モジュールの他のグループのレベル3のモジュール11の前面にある時に、電力消費の和は、モジュールの各グループの構成が同じである例えば2つのレベル0モジュールが空気の流れの向きと一直線になっている時に得られる和の僅かに約60%になる。
別の態様では、マザーボード上のモジュールの物理的位置がツリーのモジュールのレベルに関連付けられる時、ツリーのより低いランク(例えば、ルート又は複数のルート)が隣接するモジュールから更に離れて配置され、モジュールがツリーのより高いランク(例えば、リーフ)にある場合よりもより多くの電力を損失すると予想されるように、モジュール間の間隔を変えることができる。1つよりも多いモジュールが、作動中又は冗長状況のいずれかにあるルートである時に、各構成でのワット損は、ボードレイアウトを計画する時に考慮に入れることができる。
図110は、CSE及び/又はCSE及び/又はモジュール上に装着されたヒートシンクの様々な配置及び向きが、どのように空気の流れ及び/又はモジュール間隔の改善をもたらすかを示している。
図111は、ノードが12レーンから構成可能とすることができるリンクを有する二重ルートツリー構成を示している。ルートノードは、MC(図示せず)への4つのレーン、その子供の各々への3レーン、及び他のルートへの2レーンを有する。ルートの子供は、ルート及びその子供の各々への3レーン、並びに他のルートの対応する子であるノードへの3レーンを有する。
大きなメモリアレイの物理レイアウトは、多数のPCB層、ボード層上のトレースを構成する導体のバイア及び曲げ部、又は基板上の同等の考察事項を必要とすることを含む多数の問題をもたらす。コネクタピンの長さからの電磁放射、及び接地及び電力平面一体性へのその影響は、当業者には公知である。図112aは、4つのコネクタ及びボードインタフェースコネクタ又は既存のメモリに接続するPCBの単一層のマスクを示している。信号連結と伝播時間変動、及び直線トレースからのシフトに関連するトレースの密度、及びトレース間の距離の変動は、高周波信号に対するインピーダンス変動を結果として生じ、信号波形のゆがみを結果として生じる場合があることは公知である。図112bは、図112aの層のレイアウトの詳細の例である。円は、コネクタのピンを表し、暗い円は、図示のボード層上のトレースへの接続に関連しており、明るい円は、層を通過して別の層上のトレースに接続するピンである。ピンから遠く離れて、トレースが、隣接するトレース間の変化する距離によって配置され、トレースの一部は互いに近く、連結を増す。ピンのすぐ近くで、トレースのグループが、ピンの間に経路指定され、トレース間の距離とトレースとピンの間の距離とを低減する。この領域では、トレースの多くに複数の曲げ部があり、インピーダンス不連続性をもたらす。図112cは、2つのコネクタAとDの間の接続によって取られる経路であり、トレースは、介在するコネクタBとCのピン間を通過しなくてはならない。図示のトレースの対は、差動信号が使用されるレイアウトを表している。第2層が示されており、信号は、隣接する層のトレースに近い1つの層上の信号トレースの部分を運ぶ経路に沿って移動することができる。これは、ボードレイアウトに問題をもたらす場合がある。
図113は、ボードレイアウト制約を軽減する方法を示している。この例では、コネクタが多くのメモリボード又は類似の用途でコネクタの並列構成に対して約30度の角度に向けられるように、各コネクタ1200がボード上で回転されている。コネクタが図のように傾斜方式で配置されている時に、トレース1300は、コネクタピン1400を回避するために、殆ど又は全く曲がりなく隣接していないコネクタ間に経路指定することができる。傾斜の角度は、列の間隔及び数に依存する。1つよりも多い最小曲がり経路がこの構成に存在し、図114は、240ピンコネクタのグループに対して最小曲がりを有する2つの経路が可能である構成を示している。隣接するボード間の間隔又はピンの間隔における僅かな変化は、望ましい曲がりを更に最小にすることができる。
図115は、傾斜方式で配置された84DIMMボードを収容するためのマザーボード上のコネクタの構成を示している。コネクタの多数が配置される時に、最小ボード領域だけを占有されない状態にすることができ、このような占有されていない領域は、ボードインタフェース、メモリコントローラ、補助サービス、及びフィルタリングなどのために便利に使用することができる。コネクタのこのような傾斜は、本明細書に説明するコネクタ及びモジュール構成のいずれかと共に使用することができる。表示を簡単にするために、他の実施例のコネクタは、パラレル方式で配向されている。
本明細書に説明する装置及び方法を使用して大きなメモリボードを配置することができ、図116は、4+1構成でのRAID5エラー補正機能、2スペアDIMMモジュールを備えた64DIMMメモリモジュールとして構成された82DIMMモジュールの構成を表している。メモリボードは、リーフで接続した2つのツリーをサポートする。どの2つのモジュールがなくても、他のモジュールの全ては、残りのデータ及び制御経路の適切な再構成によってアクセス可能である。従って、データが回復不能なほど損失する前に、及び故障したモジュールの新しいモジュールとのホットスワッピングにより、メモリボードの保守を行うことができる。ただ1つのDIMMが故障した場合にホットスワッピングが行われる時に、この構成は、保守技術者が交換のために間違ったモジュールを取り除いた場合のデータ損失を防ぐ。この例では、論理構成が図116に示されており、対応するボードレイアウトが図117に示されている。
図117では、実線がベースラインツリー構成を表し、破線は、ベースライン構成に使用する必要のないリンクであるが、モジュール故障が起こり、ツリーの再構成がルートと残りのモジュールの間の接続性を維持するのに必要とされる時に使用することができる。破線は、実線の収量の半分で作動することができるリンクを表している。実線の接続で示されたツリーのレベル0では、各ツリーがルートを有し、これはメモリコントローラ(図示せず)に接続しているものとして示されている。別の態様では、構成を4つのサブツリーとして考えることができ、サブツリーの対は、各ツリーを形成するために結合されている。上位ツリーでのサブツリーの各々は、他のツリーの鏡面対称バージョンであり、対称のラインは、サブツリーを結合するためにルートノードとして作動するノードを通過する。下位ツリーは、関連のルートノードに対して同様の鏡面対称を有する。冗長性を提供する各ツリーでの補助接続に加えて、2つのツリーのリーフは、補助接続で相互接続されており、冗長ツリーのルートとしてのモジュールの指示、冗長MCとすることができるMCへの接続を有するモジュールの指示を含む。
図118は、2つのルートを有する別の82モジュールツリーを示している。このツリーは、大きな相互接続システムに適するマザーボードレイアウト技術の例を示すのに利用することができる。このような技術は、相互接続基板上及び半導体回路又はダイの内部などに使用することができる。「マザーボード」という語は、単に便宜上使用される。
2つのツリーの各々は、深さ5を有し、第1構成は、メモリコントローラMCに接続するためにルートR1及びR2を使用する。冗長構成は、データ損失なく作動し続けるために故障したルートの代わりにR1’及びR2’の一方を使用して形成することができる。実線で示されたリンクは、第1構成を表し、破線で示されたリンクは、2つ又はそれよりも少ないモジュールの故障の時に他の構成を使用することができるように設けられる。マザーボードレイアウトは、2つの類似の相互接続ツリーとして考えることができる。上位ツリーは、実線によってR1に接続したモジュールと考えることができ、下位ツリーは、実線によってR2に接続したモジュールと考えることができる。
図119は、上位ツリーコネクタの物理レイアウトとツリー論理図の対応する部分の概略図を示している。モジュールR1は、ツリーのレベル0にあり、この実施例ではコネクタの行の中央に位置決めされ、メモリコントローラMCへの1つのリンクを有する。MCは示されておらず、マザーボードに接して又は離れてのいずれかで都合の良い場所のどこにでも位置付けることができる。このバイナリツリーのモジュール間のリンクは、シェーディングによって符号化され、シェーディングの3つのレベルがある。便宜上、これらは、青(最も暗い)、緑(中間)、及び赤(最も明るい)の色に関連付けられる。影を付けられた広い線の各々は、ラインの端に接続されている2つのモジュール間のリンクを表している。モジュールで終端していないラインは、介在するモジュールに接続することなくその下を通る。リンクは、上述のリンクの特性を有し、太い線は、双方向レーン、一方向レーンのグループ、チャンネル化されたレーン、及びモジュールとコネクタ間の接続を形成するための同様のものを表すことができる。
リンクの殆どは、直線によって表され、リンクのごく僅かしか互いに交わる必要がないか、又は全く交わる必要がない。これは、ボードレイアウトを簡単にし、低減された信号連結を可能にし、ボードを構成するのに必要なPCB層の数を低減することができる。ルートモジュールをツリーの第1レベルに接続するa及びbと指定されたようなリンクは、緑で示されている。ボードの横断面の態様を説明した後で、当業者は、リンクa及びbがより短い長さとより少ないトレース曲がりを有するPCDの赤いレベル上に経路指定することができることを認めるであろう。従って、図示のボードレイアウトは、更に別の最適化が可能であり、コネクタ付きの多数のメモリ、又は回路基板に取り付けられたか、又は集積回路、基板上、又はパッケージに組み込まれた多数のメモリの構成及び相互接続を簡単にする機能を単に示しているだけである。
I−Iの間に位置決めされたモジュールを包含するマザーボードの断面が図120に示されている。モジュールに接続するリンクであるトレースの3つのグループを表す3つの関連した断面A−Cが存在する。太い線は、リンク内のラインの概略を示し、回路カード上に均一に又は不均一に分散することができるコネクタのピンに接続することができることを理解すべきである。更に、異なる色のリンクは、互いの上に直接乗せることができ、説明を容易にするために図面では別々にされる。図120aは、説明する断面を識別するためにマザーボードの平面図を示している。便宜上、個々の回路カードに0−7の数字が割当てられており、対応する数字は、図120の全てに対して使用される。図120bには、図120aの断面Aが示されており、図120cに断面Bが示され、図120dに断面Cが示されている。断面Aには、青、緑、及び赤のリンクが示されている。この実施例でのPCB技術を使用して2つの接地平面層及び1つのVCC(電力)層を有し、トレースが配置されているプリント回路基板が示されており、それによって各リンクのトレース(ライン)の部分が、接地又はVCC層の反対側に配置される。これは、送信側トレースと受信側トレースの間の改善された分離をもたらすことができる。水平の影になったラインは、従って、リンクが互いに交差しない場合の示されたコネクタ間のリンクの可能な配置を表し、これは、一般的に直線の向きに配置される。図のように、リンクの各々は、接続されるモジュールに対するコネクタに関連したピンのグループを表す1つのピンで終端し、垂直の影になったラインは、コネクタピンに関連している。
図120c及びdでは、断面B及びCに対する経路指定が類似の特性を有するものとして示されている。
この実施例は、ピンを備えたコネクタを使用しているが、表面装着技術(SMT)コネクタを使用することもできる。SMTコネクタの時に、水平トレースがピンの代わりにメッキスルーバイアを使用してコネクタまで上がる。しかし、バイアの各々は、望ましいトレースに達するためにボードの全厚みを拡張する必要はなく、バイアは、接続されるトレースよりもコネクタから更に離れたボード層のメッキを取り除くために後方に穴を開けることができる。これは、垂直導電性要素の長さを最小にし、「ブラインド」バイアを防ぐと同時にトレース間の放射及び連結を低減することができる。更に、相互接続に包含される層の数が少ない程、その割当てに許容範囲を使用することができ、これは、接地及びVccプレーンにもたらされるレリーフを最小にするために使用することができ、従って、改善したシールディングを提供する。この実施例は、3つの色で配置されるリンクに対するトレースを示しているが、2つだけの色でボードを配置することも同様に可能であり、しかし、トレースに幾らかの曲がりが生じる場合がある。
多くの代替的なマザーボードレイアウトも可能であり、2つの付加的なレイアウトを実施例として示している。図121には、コネクタの3つの行にツリーを配置するものとする別の82DIMM論理構成が示されている。このツリーは、付加的な冗長特性を有するものと思われる。
図122は、図119と同じ表記を使用した図121の論理ツリーに対応するレイアウトを示している。隣接するコネクタ間の間隔を調節することができる。例えば、ルートモジュール又は冗長ルートモジュールとして指定されたモジュール間の間隔は、ルートとして作動する場合のモジュールの付加的な電力分配に対処するために増すことができる。また、中心の列のモジュールは、例えば、モジュールコントローラ、CPUなどのためのスペースを提供するためにより密にグループ分けすることができる。態様においては、ルートモジュールは、記憶メモリのない又は最小メモリを備えたCSEと置換することができ、ルートとして作動する場合のモジュールの電力消費を低減する。
82DIMMマザーボードがDIMMで完全に埋め尽くされ、RAID5を備えた62メモリモジュールとして構成され、使用される各DIMMが例えば2ギガバイトのメモリを有する時に、マザーボードの容量は、164ギガバイトになる。このようなマザーボードは、約15.4×21.4インチの大きさを有することができる。勿論、他のDIMMメモリ容量及び他のメモリタイプも類似の方式で使用することができる。与えられた実施例は、単に例証の目的だけのためにある。当業技術で公知の様々な冗長方法は、DIMMモジュールの各々で使用することができ、本明細書で説明するように相互接続されて作動する場合の冗長オペレーションを達成するのに複数のDIMMモジュールを使用することができる。
図123には、コネクタの3つの列にツリーを配置され、図109と共に説明されているように前後冷却構成を使用するものとする別の82DIMM論理構成が示されている。図124は、対応するマザーボードレイアウトを示している。
マザーボードリンクレイアウトは、図125に示すようにモジュールに各々が関連するユニットセルの小さな数から形成されることが分る。AからHと示されたセルは、バイナリツリーレイアウトで使用することができるモジュールタイプを表している。セルは、コネクタを表す垂直線と3つの水平スタブによって概略的に表されており、各スタブは、リンク又は上述のタイプのいずれかを表している。リンクのラインは、共にグループ分けされ、チャンネルに分割されるか、又は個々に経路指定され、セルタイプは、コネクタに対してリンクが取る向きを単に示すものである。更に、セル指示は、トレースがそれを通じてメモリモジュールに接続するコネクタの側を制限しない。16コネクタレイアウトの実施例が示されているが、セルタイプの全てがレイアウトに使用されるわけではない。特定のコネクタに関連したセルタイプが示されている。3つよりも少ないリンクがコネクタをツリーに接続するために使用される時に、セルタイプは、1つのリンクが取り除かれた状態のセルタイプの一部として示されておらず、図示の構成を可能にする。
ツリーとして配置されたメモリでは、クロックは、ローカル、領域又はシステムクロック、RAMBUSクロックなど、及びクロッキング技術の結合とすることができる。例えば、DIMMモジュールの各々は、メモリを管理してローカル処理機能を実行するためのローカルクロックを有することができる。中間同期クロックは、中央クロックを複数のメモリモジュールに分散することによってもたらされ、個々のメモリモジュールCSEでのクロックの位相は知られていないが、位相がゆっくり変化すると仮定される。このような状況では、リンクが起動された時に位相だけを再同期する必要があり、始動時間を短くすることができる。位相をリンクのラインの各々で回復する必要がある場合があるが、ラインのグループは、類似の位相変動を示すことができ、グループとして調節することができる。別の態様では、クロックをアドレスラインで分散することができ、その1つは、時間の全てで全リンク間でアクティブである。代替的に、データ、指令、又はアドレスデータ間のインターバルが所定の期間に隣接するモジュールに又は隣接するモジュールから送信されなかった場合のNOP指令のような信号を送信するためにリンクの1つを使用することができる。
別の態様では、一方で、1つ又はそれよりも多くのルートモジュールに、他方で、別の通信バス又はコンピュータ要素に直接又は間接的に接続するのにメモリコントローラMCを使用することができる。MCとルートモジュール間のインタフェースは、ルートモジュールを使用するリンクのタイプによってツリーの他のモジュールと通信することができる。他の1つ又はそれよりも多くのCSEは、MCとツリーのモジュール間に提供することができ、CSEが最高収量を有するツリーのポイントでより低い電力消費を有するモジュールを取得することができるように、CSEの1つが、ルートモジュール又はノードの機能を行う時に、MCは、例えば、脱スキュー、アドレス指定、フレーム管理、上流及び下流方向でのデータ及び指令のバッファ、スキュー判断、モジュール整合性、及び他の電源オン試験を含む初期化、及びモジュール故障の場合のツリーの再構成の機能を実行することができる。MCはまた、オン中の電力消費を管理することができ、それによって接続したメモリによって必要になるピーク電力が、関連の電源の容量に一致する。
本発明を上述の実施例によって説明したが、本発明が実施例に制限されず、逆にその様々な変更又は修正が本発明の精神から逸脱することなく可能であることは、当業者には理解されるはずである。
本出願で使用される専門語及び記号を紹介する目的のためのネットワークの相互接続した要素を示す図である。 「構成可能スイッチング要素(CSE)」へのインタフェースを示す図である。 1つよりも多い2次ポートを有することができるCSEの構成を示す図である。 1つよりも多いモジュールコントローラを有するネットワークに接続したCSEの構成を示す図である。 ツリー構成に配置されたCSEを包含する8つのメモリモジュールを示す図である。 バイナリツリー構成で接続した8つのメモリモジュールを示す図である。 バイナリツリー構成で接続した8つのメモリモジュールの別の実施例を示す図である。 3進ツリー構成で接続した9つのメモリモジュールを示す図である。 (M0の子モジュールが、M0及びMCの両方に接続されている)バイナリツリー構成で接続した8つのメモリモジュールの更に別の実施例を示す図である。 バイナリツリー構成で接続した8つのメモリモジュールと、グラフィックプロセッサのような付加的なデバイスとを示す図である。 INTELによって開発されたものと類似であると思われ、FB−DIMMとして公知のメモリシステムの態様を示す図である。 INTELによって開発されたものと類似であると思われ、FB−DIMMとして公知のメモリシステムの態様を示す図である。 INTELによって開発されたものと類似であると思われ、FB−DIMMとして公知のメモリシステムの態様を示す図である。 INTELによって開発されたものと類似であると思われ、FB−DIMMとして公知のメモリシステムの態様を示す図である。 INTELによって開発されたものと類似であると思われ、FB−DIMMとして公知のメモリシステムの態様を示す図である。 INTELによって開発されたものと類似であると思われ、FB−DIMMとして公知のメモリシステムの態様を示す図である。 CSEを組み込むメモリモジュールの構成を示す図である。 CSEを組み込むメモリモジュールの構成を示す図である。 CSEを組み込むメモリモジュールの構成を示す図である。 CSEを組み込むメモリモジュールの構成を示す図である。 CSEを組み込むメモリモジュールの構成を示す図である。 CSEを組み込むメモリモジュールの構成を示す図である。 モジュール間に別々の指令ラインとデータラインを有するメモリモジュールの構成を示す図である。 モジュール間に別々の指令ラインとデータラインを有するメモリモジュールの構成を示す図である。 モジュール間に別々の指令ラインとデータラインを有するメモリモジュールの構成を示す図である。 モジュール間に別々の指令ラインとデータラインを有するメモリモジュールの構成を示す図である。 モジュール間に別々の指令ラインとデータラインを有するメモリモジュールの構成を示す図である。 モジュール間に別々の指令ラインとデータラインを有するメモリモジュールの構成を示す図である。 モジュール間に別々の指令ラインとデータラインを有するメモリモジュールの別の構成を示す図である。 モジュール間に別々の指令ラインとデータラインを有するメモリモジュールの別の構成を示す図である。 モジュール間に別々の指令ラインとデータラインを有するメモリモジュールの別の構成を示す図である。 モジュール間に別々の指令ラインとデータラインを有するメモリモジュールの別の構成を示す図である。 モジュール間に別々の指令ラインとデータラインを有するメモリモジュールの別の構成を示す図である。 モジュール間に別々の指令ラインとデータラインを有するメモリモジュールの別の構成を示す図である。 メモリコントローラ(MC)からモジュールMiへの読取指令の送信を示す図である。 メモリコントローラ(MC)からモジュールMiへの読取指令の送信を示す図である。 メモリコントローラ(MC)からモジュールMiへの読取指令の送信を示す図である。 メモリコントローラ(MC)からモジュールMiへの読取指令の送信を示す図である。 メモリコントローラ(MC)からモジュールMiへの読取指令の送信を示す図である。 メモリコントローラ(MC)からモジュールMiへの読取指令の送信を示す図である。 2地点間リンクによってツリーに配置されたモジュールコントローラとモジュールを示す図である。 指令のために使用される別々の信号方式リンクを備えた図16の構成に類似の構成を示す図である。 指令のために使用される別々の信号方式リンクを備えた図16の構成に類似の構成を示す図である。 指令のために使用される別々の信号方式リンクを備えた図16の構成に類似の構成を示す図である。 指令のために使用される別々の信号方式リンクを備えた図16の構成に類似の構成を示す図である。 アドレスインジケータを使用して経路指定を行うのに使用される指令の実施例を示す図である。 ノー・オペレーション(NOP)が1つ又はそれよりも多くの出力ポートから送信されるスイッチSの作用を示す図である。 リンクがチャンネル化されているモジュールのツリーを示す図である。 リンクがチャンネル化されているモジュールのツリーの更に別の実施例を示す図である。 データ転送を様式化して表した図である。 リンクの多くが低電力状態である構成を示す図である。 リンクの多くが低電力状態である構成を示す図である。 リンクの多くが低電力状態である構成を示す図である。 リンクの多くが低電力状態である構成を示す図である。 リンクがより低い電力状態に置かれる図23に類似の構成を示す図である。 リンクがより低い電力状態に置かれる図23に類似の構成を示す図である。 リンクがより低い電力状態に置かれる図23に類似の構成を示す図である。 リンクがより低い電力状態に置かれる図23に類似の構成を示す図である。 ローカル指令の拡張されたテーブルを有する構成を示す図である。 S1の入力からツリーのリーフへの制御のフォローを示す図である。 S1の入力からツリーのリーフへの制御のフォローを示す図である。 自己経路指定メッセージの他の構成を示す図である。 自己経路指定メッセージの他の構成を示す図である。 先頭ビットを除去するのに適するメッセージフォーマットを示す図である。 先頭ビットを除去するのに適するメッセージフォーマットを示す図である。 モジュールコントローラのようなデバイスから別のデバイスにデータを送信する段階の単純化された実施例を示す図である。 モジュールコントローラのようなデバイスから別のデバイスにデータを送信する段階の単純化された実施例を示す図である。 スキューを克服する方法及び装置を示す図である。 脱スキュー後に挿入されるデマルチプレクサを示す図である。 INTELアドバンスドメモリバッファ(AMB)におけるデータスキューの1つのソースを示す図である。 データスキューを軽減するための信号経路指定を示す図である。 データスキューを軽減するための信号経路指定を示す図である。 5つのモジュールを通る送信から生じたデータスキューを示す図である。 レーン間の時間遅延差を低減するためのデバイス及び方法を示す図である。 モジュール対間の時間遅延が実質的に等しくない実施例を示す図である。 モジュール対間の時間遅延が実質的に等しくない実施例を示す図である。 レーン3及び4が信号チャンネルとして使用される場合の実施例を示す図である。 レーン間でデータ要素を交換するパターンを示す図である。 レーン間でデータ要素を交換するパターンを示す図である。 レーン間でデータ要素を交換するパターンを示す図である。 「Batcher」ネットワークの実施例を示す図である。 「Batcher」ネットワーク(a−c)及び「Clos」ネットワーク(d)の別の実施例を示す図である。 「Benes」ネットワーク及び8レーン構成の実施例を示す図である。 「Benes」ネットワーク及び8レーン構成の実施例を示す図である。 完全スワップが一部のレーンに対して行われるレーン交換の実施例を示す図である。 モジュール上の2つのデータ経路の融合を示す図である。 位相アラインメントを備えたクロックデータ回復(CDR)回路を示す図である。 2つのデータ経路の各々での脱スキューを有する図44の実施例を示す図である。 より精密なネットワークでの図45の構成を示す図である。 より精密なネットワークでの図45の構成を示す図である。 非重要データ経路を有するネットワークの態様を示す図である。 ツリーで接続した8つのモジュールのネットワークで論理ビット0を運ぶレーンを示す図である。 図48のツリーで接続した8つのモジュールのネットワークで論理ビットNを運ぶレーンを示す図である。 図49に示す構成で重要及び非重要経路を識別する図である。 図49での遅延を示す図である。 可変遅延の追加を示す図である。 リンクでの遅延の追加を示す図である。 ネットワークに遅延を追加する同等の方法を示す図である。 ネットワークに遅延を追加する同等の方法を示す図である。 図46及び49に示すツリーにおける遅延を示すタイムラインを示す図である。 ネットワークに発生する遅延の別の態様を示す図である。 ツリーにわたって指令を送信し応答を受信するための全体的な時間を示す図である。 仮に同じモジュールがメモリコントローラから及びメモリコントローラに送信するための異なる経路指定を有することができる場合の状況を示す図である。 仮に同じモジュールがメモリコントローラから及びメモリコントローラに送信するための異なる経路指定を有することができる場合の状況を示す図である。 仮に同じモジュールがメモリコントローラから及びメモリコントローラに送信するための異なる経路指定を有することができる場合の状況を示す図である。 出発及び戻り経路を含む図48のツリーを示す図である。 信号経路をデータ経路からはずすことができる複数の信号経路を備えた構成を示す図である。 信号経路をデータ経路からはずすことができる複数の信号経路を備えた構成を示す図である。 データがモジュールからモジュールコントローラに送信されるタイムラインを示す図である。 データがモジュールからモジュールコントローラに送信されるタイムラインを示す図である。 データがモジュールからモジュールコントローラに送信されるタイムラインを示す図である。 データが固定タイムスロットを使用してモジュールからモジュールコントローラに送信されるタイムラインを示す図である。 データが固定タイムスロットを使用してモジュールからモジュールコントローラに送信されるタイムラインを示す図である。 データが固定タイムスロットを使用してモジュールからモジュールコントローラに送信されるタイムラインを示す図である。 複数の指令が実行されるタイムラインの更に別の実施例を示す図である。 図62に対応する可変遅延スケジューリングの実施例を示す図である。 図63に対応する可変遅延スケジューリングの実施例を示す図である。 スロット化された送信時間へのデータの制限が取り除かれた場合のスケジューリングの実施例を示す図である。 スロット化された送信時間へのデータの制限が取り除かれた場合のスケジューリングの実施例を示す図である。 スロット化された送信時間へのデータの制限が取り除かれた場合のスケジューリングの実施例を示す図である。 スロット化された送信時間へのデータの制限が取り除かれた場合のスケジューリングの別の実施例を示す図である。 スロット化された送信時間へのデータの制限が取り除かれた場合のスケジューリングの別の実施例を示す図である。 スロット化された送信時間へのデータの制限が取り除かれた場合のスケジューリングの別の実施例を示す図である。 信号遅延が示されるスロット化されていない実施例のタイミングを示す図である。 信号遅延が示される別のスロット化されていない実施例のタイミングを示す図である。 異なる指令時間を有する図68の実施例を示す図である。 異なる指令時間を有する図68の実施例を示す図である。 異なる指令時間を有する図68の実施例を示す図である。 複数の指令を備えた更に別のタイミングを示す図である。 線形方式で配置された図5に類似のツリーを示す図である。 モジュールが「前部」及び「後部」側を有するように指定される場合の図72の構成を示す図である。 モジュールの他の構成を示す図である。 モジュールの他の構成を示す図である。 モジュールの他の構成を示す図である。 モジュールの他の構成を示す図である。 モジュール間の接続がマザーボード以外の他のボード上にある場合がある態様を示す図である。 モジュール間の接続がマザーボード以外の他のボード上にある場合がある態様を示す図である。 他のモジュール接続を備えた図72の構成の一部を示す図である。 更に他のモジュール接続を備えた図72の構成の一部を示す図である。 図77の構成のためのモジュール接続の更に別の実施例を示す図である。 リンク間の様々な幅を有するモジュールの構成を示す図である。 格子の形式でのモジュールのグループ化を示す図である。 六角形の形式でのモジュールのグループ化を示す図である。 六角形の形式でのモジュールのグループ化を示す図である。 六角形構造から成る格子を示す図である。 プロセッサに接続した格子構成でのモジュールを示す図である。 プロセッサがツールートツリーで接続される場合の構成を示す図である。 複数のプロセッサに接続したモジュールの付加的な実施例を示す図である。 複数のプロセッサに接続したモジュールの付加的な実施例を示す図である。 プロセッサに接続したモジュールの更に他の実施例を示す図である。 プロセッサに接続したモジュールの更に他の実施例を示す図である。 共用メモリ領域への制御及びデータバスの拡張を示す図である。 4つのプロセッサと入力/出力デバイスとして構成されたモジュールの格子の構成を示す図である。 I/Oモジュールが他のコンピュータシステム要素によって置換される場合の図88の構成を示す図である。 線形及び/又はツリートポロジーの両方をサポートすることができるモジュール及びリンクの構成を示す図である。 線形トポロジーで使用される図90の構成を示す図である。 ツリートポロジーで使用される図90の構成を示す図である。 RAMを備えたモジュールに配置されたCSEを示す図である。 RAMを備えたモジュールに配置されたCSEを示す図である。 別々のデータラインと制御ラインを有するRAMチップを備えたCSEを示す図である。 ツリーの残りに対するリーフモジュールの物理的な構成を示す図である。 リーフモジュールの他の物理的な構成を示す図である。 双方向リンクを有するモジュールの構成を示す図である。 キャッシュメモリを備えたモジュールを示す図である。 CSEブリッジ相互接続システムを示す図である。 線形物理構成に配置されたモジュールのバイナリツリーを示す図である。 図100のツリーの他の接続構成を示す図である。 多重ルートのツリー構成を示す図である。 平面図(a)及び立面図(b)におけるモジュール間の接続を示す図である。 冗長性を備えた多重ルート構成を示す図である。 冗長性を備えた多重ルートツリーの別の実施例を示す図である。 モジュール故障の場合の図105のツリーの再構成を示す図である。 16モジュールの4グループを有する構成を示す図である。 間にフェンスを有するモジュールのグループの通気構成を示す図である。 温度変化を制御することができるように配置されたモジュールのグループのための通気構成を示す図である。 熱放散要素の付加的な構成を示す図である。 ノードがレーンから構成されたリンクを有する二重ルートツリー構成を示す図である。 既存の設計のコネクタ付きマザーボードにおけるトレースのレイアウトを示す図である。 コネクタが30度回転した場合のマザーボード上のトレースのレイアウトを示す図である。 1つよりも多いラインのセットが図113のコネクタ構成に対して最小限曲げて配置されることを示す図である。 図113のコネクタの向きを有するより大きなスケールのマザーボードのレイアウトを示す図である。 RAIDエラー補正及び2つのスペアモジュールを備えた64メモリモジュールとして構成された82モジュールの論理構成を示す図である。 図116の構成に対する物理ボードレイアウトを示す図である。 2つのルートを有する82モジュールツリーを示す図である。 図118のツリーの一部に対応する物理的なボードレイアウトを示す図である。 図119のレーンと多層回路基板の層の関係を示す図である。 図119のレーンと多層回路基板の層の関係を示す図である。 図119のレーンと多層回路基板の層の関係を示す図である。 図119のレーンと多層回路基板の層の関係を示す図である。 82モジュール構成の別のツリー論理図を示す図である。 図121の論理ツリーに対応する物理レイアウトを示す図である。 82モジュール構成の更に別の論理レイアウトを示す図である。 図123の論理ツリーに対応する物理レイアウトを示す図である。 物理ボード構成を配置するのに使用することができる個々のモジュールコネクタ経路指定の物理属性を示す図である。
M0 モジュール
R 受信接続
T 送信接続

Claims (20)

  1. 各レーンが、データワードのビットを含むデータ信号の送信又は受信の少なくとも一方が可能である複数の信号レーン、
    を含み、
    前記データワードは、第1ビット及び第2ビットを有し、該第1ビット及び該第2ビットの各々は、該第1ビットと該第2ビット間の時間遅延差が、該ワードが前記信号レーンの遠位端で受信された時に変更されるように、2つの信号ライン間で論理的に交換される、
    ことを特徴とする相互接続システム。
  2. 前記論理的交換は、前記信号ラインの近位端で行われることを特徴とする請求項1に記載の相互接続システム。
  3. 前記論理的交換の割当ては、前記信号ラインの前記遠位端で行われることを特徴とする請求項1に記載の相互接続システム。
  4. 前記遠位端でのビットの前記論理的割当ては、該ビットが前記近位端におけるものと同じ論理的順序になるように変更されることを特徴とする請求項1に記載の相互接続システム。
  5. レーンを有するリンクによって接続されたネットワークを形成する複数のノードと、
    複数のメモリモジュールにインタフェースで接続するための複数のコネクタを有するマザーボードと、
    を含み、
    第1ノードが、データの送信元であり、第2ノードが、データの宛先であり、該第1ノード又は該第2ノードの少なくとも一方は、レーンへのデータの論理的割当てを該第2ノードでの該レーン上のデータの到着時間の差が変更されるように交換するように構成されている、
    ことを特徴とする相互接続システム。
  6. 前記複数のノードのノードが、前記複数のメモリモジュールのメモリモジュールに装着されていることを特徴とする請求項6に記載の相互接続システム。
  7. 前記データは、少なくとも2ビットを有するワードを含み、第1ビットが、第1レーンに割り当てられ、第2ビットが、第2レーンに割り当てられていることを特徴とする請求項1に記載の相互接続システム。
  8. 前記到着時間の差は、前記データが読み取られる前記第2ノードのロケーションで変更されることを特徴とする請求項1に記載の相互接続システム。
  9. 前記到着時間の差は、前記データが脱スキューされる前記第2ノードのロケーションで変更されることを特徴とする請求項1に記載の相互接続システム。
  10. モジュールコントローラを更に含み、
    前記第1ノードへの前記入力でのワードのビットのレーンへの前記論理的割当ては、該ビットが前記第2ノードで所定の論理的順序で受信されるようなものである、
    ことを特徴とする請求項6に記載の相互接続システム。
  11. 前記モジュールコントローラ、前記第1ノード、又は前記第2ノードのうちの少なくとも1つは、該第2ノードでの前記受信データが、該モジュールコントローラ又は該第1ノードの一方への入力におけるものと同じ論理的順序を有するように構成されていることを特徴とする請求項1に記載の相互接続システム。
  12. 前記論理的割当ては、前記リンクの送信側で行われることを特徴とする請求項1に記載の相互接続システム。
  13. 前記論理的割当ては、前記リンクの受信側で行われることを特徴とする請求項1に記載の相互接続システム。
  14. 前記論理的割当ては、前記第1ノードと前記第2ノードの間に配置された第3ノードで行われることを特徴とする請求項に記載の相互接続システム。
  15. 各々が複数のラインを有する入力ポート及び出力ポートと、
    複数の入力ラインの各々が複数の出力ラインの1つに接続可能であり、それによって該複数の出力ライン上の信号間の時間スキューが、第1であるノードの前記出力ポートからの該出力ラインの遠位端と通信する入力ラインを有する入力ポートを有する第2ノードで測定された時に変更されるように構成されたスイッチと、
    を含むことを特徴とするノード。
  16. レーンを有するリンクによって接続されたネットワークを形成する複数のノードと、
    信号の送信元である第1ノード及び信号の宛先である第2ノードと、
    前記第1ノードと前記第2ノード間の2つ又はそれよりも多くのレーン上の信号間の時間遅延差を低減するための手段と、
    を含むことを特徴とする相互接続システム。
  17. コンピュータと通信する第1インタフェースと、
    ノードと通信するためのリンクを有する第2インタフェースと、
    第1ノードと第2ノード間に配置されたリンクのレーン上の信号間の時間遅延差を判断するための手段、及び第1及び第2ノード間で通信するレーンに論理信号を割当て、該第2ノードで受信された該論理信号間の該時間遅延差を変更するための手段と、
    を含むことを特徴とするネットワークコントローラ。
  18. 各々が複数のラインを有する入力ポート及び出力ポートと、
    複数の入力ラインの各々が複数の出力ラインの1つに選択的に接続され、それによって該複数の出力ライン上の信号間のスキューが、前記出力ポートから該ラインの遠位端と通信する入力ポートを有する第2ノードで測定された時に変更されるように構成されたスイッチと、
    を含むことを特徴とするノード。
  19. 第1及び第2出力ポートを更に含み、該第1出力ポートは、メモリに接続するように構成されていることを特徴とする請求項19に記載のノード。
  20. 複数の信号ラインと、
    複数のメモリモジュールにインタフェースで接続するための複数のコネクタを有するマザーボードと、
    を含み、
    少なくとも2つの信号ラインに関連した第1ビット及び第2ビットを有するワードには、該2つの信号ラインの各々が、その時間遅延差が該信号ラインの遠位端で受信されたビットに対して変更されるように論理的に割り当てられる、
    ことを特徴とする相互接続システム。
JP2009124465A 2005-04-21 2009-05-22 相互接続システム Pending JP2009238234A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US67418905P 2005-04-21 2005-04-21
US69862605P 2005-07-11 2005-07-11

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2008507797A Division JP2008537265A (ja) 2005-04-21 2006-04-17 相互接続システム

Related Child Applications (2)

Application Number Title Priority Date Filing Date
JP2012129297A Division JP5258997B2 (ja) 2005-04-21 2012-06-06 相互接続システム
JP2013077997A Division JP5654630B2 (ja) 2005-04-21 2013-04-03 相互接続システム

Publications (1)

Publication Number Publication Date
JP2009238234A true JP2009238234A (ja) 2009-10-15

Family

ID=37215237

Family Applications (5)

Application Number Title Priority Date Filing Date
JP2008507797A Pending JP2008537265A (ja) 2005-04-21 2006-04-17 相互接続システム
JP2009124465A Pending JP2009238234A (ja) 2005-04-21 2009-05-22 相互接続システム
JP2012129297A Expired - Fee Related JP5258997B2 (ja) 2005-04-21 2012-06-06 相互接続システム
JP2013077997A Expired - Fee Related JP5654630B2 (ja) 2005-04-21 2013-04-03 相互接続システム
JP2013077996A Pending JP2013191217A (ja) 2005-04-21 2013-04-03 相互接続システム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2008507797A Pending JP2008537265A (ja) 2005-04-21 2006-04-17 相互接続システム

Family Applications After (3)

Application Number Title Priority Date Filing Date
JP2012129297A Expired - Fee Related JP5258997B2 (ja) 2005-04-21 2012-06-06 相互接続システム
JP2013077997A Expired - Fee Related JP5654630B2 (ja) 2005-04-21 2013-04-03 相互接続システム
JP2013077996A Pending JP2013191217A (ja) 2005-04-21 2013-04-03 相互接続システム

Country Status (7)

Country Link
US (2) US8726064B2 (ja)
EP (8) EP2378391A1 (ja)
JP (5) JP2008537265A (ja)
KR (4) KR101331569B1 (ja)
CN (4) CN103116565A (ja)
CA (1) CA2597692A1 (ja)
WO (1) WO2006115896A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103988212A (zh) * 2011-12-15 2014-08-13 美光科技公司 用于在状态机中路由的方法及系统
US9619155B2 (en) 2014-02-07 2017-04-11 Coho Data Inc. Methods, systems and devices relating to data storage interfaces for managing data address spaces in data storage devices

Families Citing this family (100)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7475174B2 (en) * 2004-03-17 2009-01-06 Super Talent Electronics, Inc. Flash / phase-change memory in multi-ring topology using serial-link packet interface
US8452929B2 (en) * 2005-04-21 2013-05-28 Violin Memory Inc. Method and system for storage of data in non-volatile media
US8112655B2 (en) * 2005-04-21 2012-02-07 Violin Memory, Inc. Mesosynchronous data bus apparatus and method of data transmission
US9286198B2 (en) 2005-04-21 2016-03-15 Violin Memory Method and system for storage of data in non-volatile media
US8200887B2 (en) 2007-03-29 2012-06-12 Violin Memory, Inc. Memory management system and method
US9384818B2 (en) * 2005-04-21 2016-07-05 Violin Memory Memory power management
US20070239906A1 (en) * 2006-03-13 2007-10-11 Vakil Kersi H Input/output agent having multiple secondary ports
US8321653B2 (en) * 2006-08-08 2012-11-27 Siemens Aktiengesellschaft Devices, systems, and methods for assigning a PLC module address
US8028186B2 (en) 2006-10-23 2011-09-27 Violin Memory, Inc. Skew management in an interconnection system
US11244727B2 (en) * 2006-11-29 2022-02-08 Rambus Inc. Dynamic memory rank configuration
US7958433B1 (en) * 2006-11-30 2011-06-07 Marvell International Ltd. Methods and systems for storing data in memory using zoning
JP5385156B2 (ja) * 2007-02-16 2014-01-08 モサイド・テクノロジーズ・インコーポレーテッド 半導体デバイスおよび複数の相互接続デバイスを有するシステムの電力消費を低減するための方法
US20080235422A1 (en) * 2007-03-23 2008-09-25 Dhinesh Sasidaran Downstream cycle-aware dynamic interconnect isolation
US9632870B2 (en) 2007-03-29 2017-04-25 Violin Memory, Inc. Memory system with multiple striping of raid groups and method for performing the same
US11010076B2 (en) 2007-03-29 2021-05-18 Violin Systems Llc Memory system with multiple striping of raid groups and method for performing the same
US20090020608A1 (en) * 2007-04-05 2009-01-22 Bennett Jon C R Universal memory socket and card and system for using the same
US8037258B2 (en) * 2007-06-27 2011-10-11 International Business Machines Corporation Structure for dual-mode memory chip for high capacity memory subsystem
US8037270B2 (en) * 2007-06-27 2011-10-11 International Business Machines Corporation Structure for memory chip for high capacity memory subsystem supporting replication of command data
US7818512B2 (en) * 2007-06-27 2010-10-19 International Business Machines Corporation High capacity memory subsystem architecture employing hierarchical tree configuration of memory modules
US7996641B2 (en) * 2007-06-27 2011-08-09 International Business Machines Corporation Structure for hub for supporting high capacity memory subsystem
US20090006774A1 (en) * 2007-06-27 2009-01-01 Gerald Keith Bartley High Capacity Memory Subsystem Architecture Employing Multiple-Speed Bus
US8019949B2 (en) * 2007-06-27 2011-09-13 International Business Machines Corporation High capacity memory subsystem architecture storing interleaved data for reduced bus speed
US7809913B2 (en) * 2007-06-27 2010-10-05 International Business Machines Corporation Memory chip for high capacity memory subsystem supporting multiple speed bus
US8037272B2 (en) * 2007-06-27 2011-10-11 International Business Machines Corporation Structure for memory chip for high capacity memory subsystem supporting multiple speed bus
US7921264B2 (en) * 2007-06-27 2011-04-05 International Business Machines Corporation Dual-mode memory chip for high capacity memory subsystem
US7822936B2 (en) * 2007-06-27 2010-10-26 International Business Machines Corporation Memory chip for high capacity memory subsystem supporting replication of command data
US7921271B2 (en) * 2007-06-27 2011-04-05 International Business Machines Corporation Hub for supporting high capacity memory subsystem
US7764568B2 (en) * 2007-07-03 2010-07-27 Seth Lloyd Bucket brigade address decoding architecture for classical and quantum random access memories
US20090019195A1 (en) * 2007-07-13 2009-01-15 Srdjan Djordjevic Integrated circuit, memory module and system
EP2201463A4 (en) * 2007-10-05 2010-10-13 Violin Memory Inc MESOSYNCHRONES DATA BUSBOX AND DATA TRANSMISSION METHOD
EP2204852A4 (en) * 2007-10-25 2012-02-22 Fuji Electric Co Ltd SPIN VALVE ELEMENT AND METHOD FOR MANUFACTURING THE SAME
US8099561B2 (en) * 2007-11-09 2012-01-17 Plurality, Ltd. Shared memory system for a tightly-coupled multiprocessor
US20100315134A1 (en) * 2008-02-28 2010-12-16 Nxp B.V. Systems and methods for multi-lane communication busses
US8171181B2 (en) 2008-05-05 2012-05-01 Micron Technology, Inc. Memory module with configurable input/output ports
US8090967B2 (en) * 2008-05-23 2012-01-03 Intel Corporation Power state transition initiation control of memory interconnect based on early warning signal, memory response time, and wakeup delay
US8190699B2 (en) * 2008-07-28 2012-05-29 Crossfield Technology LLC System and method of multi-path data communications
US8656082B2 (en) 2008-08-05 2014-02-18 Micron Technology, Inc. Flexible and expandable memory architectures
JP5280135B2 (ja) * 2008-09-01 2013-09-04 株式会社日立製作所 データ転送装置
US8265070B2 (en) 2008-12-15 2012-09-11 Oracle America, Inc. System and method for implementing a multistage network using a two-dimensional array of tiles
US8503211B2 (en) * 2009-05-22 2013-08-06 Mosaid Technologies Incorporated Configurable module and memory subsystem
US8880772B2 (en) * 2009-05-29 2014-11-04 Dell Products L.P. System and method for serial interface topologies
WO2010144587A2 (en) * 2009-06-12 2010-12-16 Violin Memory, Inc. Memory system having persistent garbage collection
EP2487810B1 (en) * 2009-10-09 2016-01-13 Mitsubishi Electric Corporation Differential encoding optical transceiver device
US9465756B2 (en) * 2009-12-23 2016-10-11 Violin Memory Inc. Configurable interconnection system
US8504961B2 (en) * 2010-06-01 2013-08-06 Arm Limited Integrated circuit with timing adjustment mechanism
US8543944B2 (en) * 2010-06-14 2013-09-24 Microsoft Corporation Fast edge routing for interactive diagramming
US8472808B2 (en) 2010-10-06 2013-06-25 Hewlett-Packard Development Company, L.P. Optical data path systems
TWI433617B (zh) * 2010-11-08 2014-04-01 Delta Electronics Inc 電路板
JP5238791B2 (ja) 2010-11-10 2013-07-17 株式会社東芝 転送機能を有するメモリノードを相互に接続したストレージ装置及びデータ処理方法
US8668381B2 (en) * 2010-12-23 2014-03-11 General Electric Company High temperature electronic monitoring system
US8661881B2 (en) * 2010-12-23 2014-03-04 General Electric Company Hub unit for a high temperature electronic monitoring system
US9390049B2 (en) * 2011-06-03 2016-07-12 Micron Technology, Inc. Logical unit address assignment
US9335939B2 (en) 2011-07-12 2016-05-10 Violin Memory Inc. RAIDed memory system
US9417823B2 (en) 2011-07-12 2016-08-16 Violin Memory Inc. Memory system management
US20130019053A1 (en) * 2011-07-14 2013-01-17 Vinay Ashok Somanache Flash controller hardware architecture for flash devices
JP5653856B2 (ja) * 2011-07-21 2015-01-14 ルネサスエレクトロニクス株式会社 半導体装置
US8493745B2 (en) 2011-10-07 2013-07-23 Kingston Technology Corp. Low-profile motherboard with side-mounted memory modules using a dual-opening edge connector
WO2013086456A1 (en) * 2011-12-08 2013-06-13 Arteris SAS Differential formatting between normal and retry data transmission
WO2013095471A1 (en) * 2011-12-21 2013-06-27 Intel Corporation Method and apparatus for a partial-address select-signal generator with address shift
WO2013158817A1 (en) 2012-04-20 2013-10-24 Violin Memory, Inc. Lun management with distributed raid controllers
US9104639B2 (en) 2012-05-01 2015-08-11 SEAKR Engineering, Inc. Distributed mesh-based memory and computing architecture
US9558351B2 (en) 2012-05-22 2017-01-31 Xockets, Inc. Processing structured and unstructured data using offload processors
WO2013177313A2 (en) 2012-05-22 2013-11-28 Xockets IP, LLC Processing structured and unstructured data using offload processors
JP5910383B2 (ja) * 2012-07-19 2016-04-27 株式会社ソシオネクスト スキュー低減回路
US8994425B2 (en) * 2012-08-03 2015-03-31 Altera Corporation Techniques for aligning and reducing skew in serial data signals
EP3109769B1 (en) * 2012-12-13 2019-10-16 Coherent Logix, Incorporated Multiprocessor system with improved secondary interconnection network
JP5985403B2 (ja) 2013-01-10 2016-09-06 株式会社東芝 ストレージ装置
JP6005533B2 (ja) 2013-01-17 2016-10-12 株式会社東芝 記憶装置および記憶方法
WO2014113055A1 (en) 2013-01-17 2014-07-24 Xockets IP, LLC Offload processor modules for connection to system memory
US9378161B1 (en) 2013-01-17 2016-06-28 Xockets, Inc. Full bandwidth packet handling with server systems including offload processors
JP5404947B2 (ja) * 2013-03-26 2014-02-05 株式会社東芝 ストレージ装置
WO2014169015A1 (en) * 2013-04-09 2014-10-16 Carlson Frederic Roy Jr Multiprocessor system with independent direct access to bulk solid state memory resources
US9702305B2 (en) * 2013-04-17 2017-07-11 Micron Technology, Inc. Multiple engine sequencer
US10741226B2 (en) 2013-05-28 2020-08-11 Fg Src Llc Multi-processor computer architecture incorporating distributed multi-ported common memory modules
US9324389B2 (en) 2013-05-29 2016-04-26 Sandisk Technologies Inc. High performance system topology for NAND memory systems
CN105122227B (zh) * 2013-05-29 2018-10-23 桑迪士克科技有限责任公司 用于nand存储器系统的高性能系统拓补
US9728526B2 (en) 2013-05-29 2017-08-08 Sandisk Technologies Llc Packaging of high performance system topology for NAND memory systems
JP5931816B2 (ja) 2013-08-22 2016-06-08 株式会社東芝 ストレージ装置
JP5902137B2 (ja) 2013-09-24 2016-04-13 株式会社東芝 ストレージシステム
US9703702B2 (en) * 2013-12-23 2017-07-11 Sandisk Technologies Llc Addressing auto address assignment and auto-routing in NAND memory network
CN103927135A (zh) * 2014-04-15 2014-07-16 华为技术有限公司 一种数据存储方法及装置
JP2015015049A (ja) * 2014-09-19 2015-01-22 株式会社東芝 ストレージ装置
US9583438B2 (en) 2014-12-26 2017-02-28 Taiwan Semiconductor Manufacturing Company Ltd. Interconnect structure with misaligned metal lines coupled using different interconnect layer
CN104503921B (zh) * 2014-12-31 2017-06-30 中国科学院重庆绿色智能技术研究院 一种嵌入式高性能rtk算法内存空间定量优化分配方法
JP6313237B2 (ja) 2015-02-04 2018-04-18 東芝メモリ株式会社 ストレージシステム
EP3296781B1 (en) * 2015-06-12 2019-03-13 Huawei Technologies Co. Ltd. On-chip optical interconnection structure and network
US11170294B2 (en) 2016-01-07 2021-11-09 Intel Corporation Hardware accelerated machine learning
US9548858B1 (en) * 2016-01-18 2017-01-17 Inphi Corporation Skew management for PAM communication systems
US20170285992A1 (en) * 2016-04-01 2017-10-05 Intel Corporation Memory subsystem with narrow bandwidth repeater channel
US20170289850A1 (en) * 2016-04-01 2017-10-05 Intel Corporation Write delivery for memory subsystem with narrow bandwidth repeater channel
US10339072B2 (en) * 2016-04-01 2019-07-02 Intel Corporation Read delivery for memory subsystem with narrow bandwidth repeater channel
US11120329B2 (en) 2016-05-07 2021-09-14 Intel Corporation Multicast network and memory transfer optimizations for neural network hardware acceleration
US10817802B2 (en) 2016-05-07 2020-10-27 Intel Corporation Apparatus for hardware accelerated machine learning
JP6978670B2 (ja) * 2017-12-07 2021-12-08 富士通株式会社 演算処理装置および演算処理装置の制御方法
US11709623B2 (en) 2018-08-03 2023-07-25 Sk Hynix Nand Product Solutions Corp. NAND-based storage device with partitioned nonvolatile write buffer
CN114064527A (zh) * 2020-07-30 2022-02-18 苏州库瀚信息科技有限公司 无单一失败点的存储装置
US11467995B2 (en) * 2020-12-01 2022-10-11 Micron Technology, Inc. Pin mapping for memory devices
FR3137835A1 (fr) 2022-07-15 2024-01-19 L'oreal Composition pour la coloration des fibres kératineuses
DE102022003661B3 (de) 2022-10-05 2023-12-07 Mercedes-Benz Group AG Rechenvorrichtung, Verfahren zur Lastverteilung für eine solche Rechenvorrichtung und Computersystem
CN116386711B (zh) * 2023-06-07 2023-09-05 合肥康芯威存储技术有限公司 一种存储器件数据传输的测试装置及测试方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004109526A2 (en) * 2003-06-05 2004-12-16 Intel Corporation Memory channel with bit lane fail-over

Family Cites Families (219)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3728679A (en) * 1971-10-21 1973-04-17 Weston Instruments Inc Skew device
FR2269158B1 (ja) 1974-04-26 1976-10-15 Ibm France
US4128882A (en) 1976-08-19 1978-12-05 Massachusetts Institute Of Technology Packet memory system with hierarchical structure
US4240143A (en) 1978-12-22 1980-12-16 Burroughs Corporation Hierarchical multi-processor network for memory sharing
US4263651A (en) 1979-05-21 1981-04-21 International Business Machines Corporation Method for determining the characteristics of a logic block graph diagram to provide an indication of path delays between the blocks
US4323849A (en) 1980-01-11 1982-04-06 Hybricon, Inc. Coulometer
NL183214C (nl) 1980-01-31 1988-08-16 Philips Nv Inrichting voor het synchroniseren van de fase van een lokaal opgewekt kloksignaal met de fase van een ingangssignaal.
US4322849C1 (en) * 1980-04-14 2002-03-05 Frank A Calabrese Data relay system
US4383314A (en) 1981-01-12 1983-05-10 Burroughs Corporation Circular access linkage loop configuration for system communication
US4445171A (en) 1981-04-01 1984-04-24 Teradata Corporation Data processing systems and methods
DE3275801D1 (en) 1982-09-28 1987-04-23 Ibm Data transmission system
US4703451A (en) 1983-05-02 1987-10-27 Calabrese Frank A Data relay system
JPS60219853A (ja) * 1984-04-17 1985-11-02 Brother Ind Ltd デ−タ送受信装置
US4805195A (en) 1984-06-08 1989-02-14 Amdahl Corporation Selectable timing delay circuit
US4698799A (en) * 1985-08-02 1987-10-06 Gte Laboratories Incorporated Link switch for a burst-switching communications system
US4701756A (en) 1985-09-10 1987-10-20 Burr William E Fault-tolerant hierarchical network
EP0245765B1 (en) 1986-05-14 1993-09-22 Mitsubishi Denki Kabushiki Kaisha Data transfer control system
US4860201A (en) 1986-09-02 1989-08-22 The Trustees Of Columbia University In The City Of New York Binary tree parallel processor
FR2605768B1 (fr) * 1986-10-23 1989-05-05 Bull Sa Dispositif de commande de bus constitue par plusieurs segments isolables
US4756011A (en) 1986-12-24 1988-07-05 Bell Communications Research, Inc. Digital phase aligner
US4910669A (en) * 1987-04-03 1990-03-20 At&T Bell Laboratories Binary tree multiprocessor
US6112287A (en) * 1993-03-01 2000-08-29 Busless Computers Sarl Shared memory multiprocessor system using a set of serial links as processors-memory switch
US4881165A (en) 1988-04-01 1989-11-14 Digital Equipment Corporation Method and apparatus for high speed data transmission between two systems operating under the same clock with unknown and non constant skew in the clock between the two systems
US5053942A (en) 1988-11-01 1991-10-01 The Regents Of The University Of California Bit-sliced cross-connect chip having a tree topology of arbitration cells for connecting memory modules to processors in a multiprocessor system
US5041964A (en) 1989-06-12 1991-08-20 Grid Systems Corporation Low-power, standby mode computer
US5258660A (en) 1990-01-16 1993-11-02 Cray Research, Inc. Skew-compensated clock distribution system
US5283877A (en) 1990-07-17 1994-02-01 Sun Microsystems, Inc. Single in-line DRAM memory module including a memory controller and cross bar switches
JP2666533B2 (ja) 1990-08-06 1997-10-22 日本電気株式会社 スイツチモジユール
WO1992006436A2 (en) 1990-10-03 1992-04-16 Thinking Machines Corporation Parallel computer system
US5144166A (en) 1990-11-02 1992-09-01 Concurrent Logic, Inc. Programmable logic cell and array
US5367643A (en) * 1991-02-06 1994-11-22 International Business Machines Corporation Generic high bandwidth adapter having data packet memory configured in three level hierarchy for temporary storage of variable length data packets
US5920704A (en) 1991-03-29 1999-07-06 International Business Machines Corporation Dynamic routing switch apparatus with clocked signal regeneration
US5832286A (en) 1991-12-04 1998-11-03 Sharp Kabushiki Kaisha Power control apparatus for digital electronic device
US5285441A (en) 1992-03-17 1994-02-08 At&T Bell Laboratories Errorless line protection switching in asynchronous transer mode (ATM) communications systems
US5313501A (en) 1992-06-15 1994-05-17 Digital Equipment Corporation Method and apparatus for deskewing digital data
AU4798793A (en) 1992-08-10 1994-03-03 Monolithic System Technology, Inc. Fault-tolerant, high-speed bus system and bus interface for wafer-scale integration
US5283977A (en) * 1992-10-21 1994-02-08 Castlegate, Inc. Reversible door frame threshold
JPH07154381A (ja) 1993-11-30 1995-06-16 Hitachi Ltd データ転送装置
US5507029A (en) 1995-01-11 1996-04-09 International Business Machines Corporation Method for minimizing the time skew of electrical signals in very large scale integrated circuits
US6358915B1 (en) * 1995-03-07 2002-03-19 George Washington University Methods for inhibiting metastasis
US6728851B1 (en) 1995-07-31 2004-04-27 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US5652530A (en) 1995-09-29 1997-07-29 Intel Corporation Method and apparatus for reducing clock-data skew by clock shifting
US5960034A (en) 1995-12-01 1999-09-28 Advanced Micro Devices, Inc. Expandable repeater with built-in tree structure arbitration logic
JP3546582B2 (ja) * 1996-03-08 2004-07-28 株式会社ルネサステクノロジ 半導体装置
JPH09265357A (ja) 1996-03-27 1997-10-07 Ekushingu:Kk ディスクアレイ装置
JP2924773B2 (ja) 1996-03-28 1999-07-26 日本電気株式会社 位相同期システム
US5872959A (en) * 1996-09-10 1999-02-16 Lsi Logic Corporation Method and apparatus for parallel high speed data transfer
US6058443A (en) 1997-02-18 2000-05-02 Advanced Micro Devices, Inc. System for partitioning PC chipset functions into logic and port integrated circuits
JPH10254587A (ja) * 1997-03-14 1998-09-25 Toshiba Corp コンピュータシステム
US6202110B1 (en) * 1997-03-31 2001-03-13 International Business Machines Corporation Memory cards with symmetrical pinout for back-to-back mounting in computer system
US6015144A (en) 1997-04-18 2000-01-18 Fuji Xerox Co., Ltd. Sheet feeder and image forming apparatus
US5974503A (en) 1997-04-25 1999-10-26 Emc Corporation Storage and access of continuous media files indexed as lists of raid stripe sets associated with file names
US5923830A (en) 1997-05-07 1999-07-13 General Dynamics Information Systems, Inc. Non-interrupting power control for fault tolerant computer systems
KR100211123B1 (ko) 1997-05-23 1999-07-15 윤종용 고속 패킷 스위칭을 위한 다단 상호 연결 망
US6031847A (en) 1997-07-01 2000-02-29 Silicon Graphics, Inc Method and system for deskewing parallel bus channels
US5974487A (en) 1997-07-14 1999-10-26 Advanced Micro Devices, Inc. Data transfer network on a chip utilizing a mesh of rings topology
US6370200B1 (en) * 1997-08-04 2002-04-09 Matsushita Electric Industrial Co., Ltd. Delay adjusting device and method for plural transmission lines
US6442644B1 (en) 1997-08-11 2002-08-27 Advanced Memory International, Inc. Memory system having synchronous-link DRAM (SLDRAM) devices and controller
JP3164541B2 (ja) * 1997-09-08 2001-05-08 大宏電機株式会社 プリント基板用雌コネクタ
AU9399998A (en) 1997-09-19 1999-04-05 Fujitsu Limited Constant phase crossbar switch
US6157229A (en) 1997-09-29 2000-12-05 Matsushita Electric Industrial Co., Ltd. Skew compensation device
AU9798698A (en) 1997-10-10 1999-05-03 Rambus Incorporated Method and apparatus for fail-safe resynchronization with minimum latency
US6378018B1 (en) 1997-10-10 2002-04-23 Intel Corporation Memory device and system including a low power interface
CN1219014A (zh) * 1997-12-02 1999-06-09 世界先进积体电路股份有限公司 漏电截止装置
DE69836437T2 (de) 1997-12-05 2007-09-27 Intel Corporation, Santa Clara Speichersystem mit speichermodul mit einem speichermodul-steuerbaustein
US6005776A (en) * 1998-01-05 1999-12-21 Intel Corporation Vertical connector based packaging solution for integrated circuits
US7024518B2 (en) 1998-02-13 2006-04-04 Intel Corporation Dual-port buffer-to-memory interface
US6968419B1 (en) 1998-02-13 2005-11-22 Intel Corporation Memory module having a memory module controller controlling memory transactions for a plurality of memory devices
TW419924B (en) 1998-02-16 2001-01-21 Nippon Telegraph & Telephone Channel-to-channel skew compensation
US6353895B1 (en) * 1998-02-19 2002-03-05 Adaptec, Inc. RAID architecture with two-drive fault tolerance
US6105144A (en) 1998-03-02 2000-08-15 International Business Machines Corporation System and method for alleviating skew in a bus
AU6310098A (en) * 1998-03-12 1999-09-27 Hitachi Limited Data transmitter
US6233650B1 (en) 1998-04-01 2001-05-15 Intel Corporation Using FET switches for large memory arrays
US6295568B1 (en) 1998-04-06 2001-09-25 International Business Machines Corporation Method and system for supporting multiple local buses operating at different frequencies
JP3715429B2 (ja) 1998-04-16 2005-11-09 富士通株式会社 パラレル光送信/光受信モジュール
US6636932B1 (en) 1998-05-27 2003-10-21 Micron Technology, Inc. Crossbar switch and control for data networks switching
US6356610B1 (en) * 1998-06-23 2002-03-12 Vlsi Technology, Inc. System to avoid unstable data transfer between digital systems
US6185654B1 (en) * 1998-07-17 2001-02-06 Compaq Computer Corporation Phantom resource memory address mapping system
JP4085478B2 (ja) 1998-07-28 2008-05-14 ソニー株式会社 記憶媒体及び電子機器システム
US6445719B1 (en) 1998-08-28 2002-09-03 Adtran Inc. Method, system and apparatus for reducing synchronization and resynchronization times for systems with pulse stuffing
US6422644B1 (en) 1998-09-02 2002-07-23 Lear Donnelly Overhead Systems, L.L.C. Crash box component holder
US6611518B1 (en) 1998-09-18 2003-08-26 Samsung Electronics Co., Ltd. Methods and apparatus for flexible device interface port assignment in a data communications switching system
US6138185A (en) 1998-10-29 2000-10-24 Mcdata Corporation High performance crossbar switch
US6301244B1 (en) 1998-12-11 2001-10-09 Nortel Networks Limited QoS-oriented one-to-all route selection method for communication networks
US6297684B1 (en) 1998-12-14 2001-10-02 Seiko Epson Corporation Circuit and method for switching between digital signals that have different signal rates
US20030001880A1 (en) * 2001-04-18 2003-01-02 Parkervision, Inc. Method, system, and computer program product for producing and distributing enhanced media
US6473827B2 (en) 1998-12-22 2002-10-29 Ncr Corporation Distributed multi-fabric interconnect
US6205571B1 (en) 1998-12-29 2001-03-20 International Business Machines Corporation X-Y grid tree tuning method
KR100313896B1 (ko) * 1999-01-29 2001-11-15 구자홍 버스 시스템에서의 루프 형성 제거장치 및 방법
US6636993B1 (en) 1999-02-12 2003-10-21 Fujitsu Limited System and method for automatic deskew across a high speed, parallel interconnection
US6321345B1 (en) 1999-03-01 2001-11-20 Seachange Systems, Inc. Slow response in redundant arrays of inexpensive disks
US6437660B1 (en) * 1999-10-27 2002-08-20 Hybricon Corporation Method of increasing bus performance to reduce signal propagation delay and achieve incident wave switching
US6425052B1 (en) 1999-10-28 2002-07-23 Sun Microsystems, Inc. Load balancing configuration for storage arrays employing mirroring and striping
US6647027B1 (en) 1999-11-10 2003-11-11 Lsi Logic Corporation Method and apparatus for multi-channel data delay equalization
JP2001159970A (ja) * 1999-12-03 2001-06-12 Sony Corp 装置間結合装置
US7031420B1 (en) 1999-12-30 2006-04-18 Silicon Graphics, Inc. System and method for adaptively deskewing parallel data signals relative to a clock
US6417713B1 (en) 1999-12-30 2002-07-09 Silicon Graphics, Inc. Programmable differential delay circuit with fine delay adjustment
US7266634B2 (en) 2000-01-05 2007-09-04 Rambus Inc. Configurable width buffered module having flyby elements
US7356639B2 (en) 2000-01-05 2008-04-08 Rambus Inc. Configurable width buffered module having a bypass circuit
US6502161B1 (en) 2000-01-05 2002-12-31 Rambus Inc. Memory system including a point-to-point linked memory subsystem
US20050010737A1 (en) 2000-01-05 2005-01-13 Fred Ware Configurable width buffered module having splitter elements
CN2407393Y (zh) * 2000-01-07 2000-11-22 神基科技股份有限公司 个人电脑中系统存储装置的供电电路
US6425114B1 (en) 2000-01-31 2002-07-23 Lsi Logic Corporation Systematic skew reduction through buffer resizing
FR2804790B1 (fr) 2000-02-09 2002-04-12 Saint Louis Inst Procede de polarisation d'un materiau ferroelectrique sous forme de cylindre
KR20000049745A (ko) 2000-04-27 2000-08-05 우상엽 반도체 메모리 테스트 장치
US7012811B1 (en) 2000-05-10 2006-03-14 Micron Technology, Inc. Method of tuning a multi-path circuit
US6545875B1 (en) * 2000-05-10 2003-04-08 Rambus, Inc. Multiple channel modules and bus systems using same
US6591285B1 (en) 2000-06-16 2003-07-08 Shuo-Yen Robert Li Running-sum adder networks determined by recursive construction of multi-stage networks
US6961347B1 (en) 2000-06-20 2005-11-01 Hewlett-Packard Development Company, L.P. High-speed interconnection link having automated lane reordering
US6681338B1 (en) * 2000-06-21 2004-01-20 Rambus, Inc. Method and system for reducing signal skew by switching between multiple signal routing layers
JP2002007201A (ja) * 2000-06-21 2002-01-11 Nec Corp メモリシステム、メモリインターフェース及びメモリチップ
US6446174B1 (en) 2000-07-11 2002-09-03 Intel Corporation Computer system with dram bus
US6684314B1 (en) 2000-07-14 2004-01-27 Agilent Technologies, Inc. Memory controller with programmable address configuration
US6238220B1 (en) * 2000-07-20 2001-05-29 Ching Feng Blinds Ind. Co., Ltd. Communication main layout rack structure
JP3758953B2 (ja) * 2000-07-21 2006-03-22 富士通株式会社 スキュー補正装置
US6462956B1 (en) * 2000-08-09 2002-10-08 Advanced Micro Devices, Inc. Arrangement for reducing non-uniformity in current flow through various power pins within a printed wiring board connector for a removable module
KR100389916B1 (ko) * 2000-08-28 2003-07-04 삼성전자주식회사 메모리 모듈 및 메모리 컨트롤러
US6738830B2 (en) * 2000-08-31 2004-05-18 Michael Ross Massie Universal controller expansion module system, method and apparatus
US6928571B1 (en) 2000-09-15 2005-08-09 Intel Corporation Digital system of adjusting delays on circuit boards
US6625687B1 (en) 2000-09-18 2003-09-23 Intel Corporation Memory module employing a junction circuit for point-to-point connection isolation, voltage translation, data synchronization, and multiplexing/demultiplexing
US6369605B1 (en) 2000-09-18 2002-04-09 Intel Corporation Self-terminated driver to prevent signal reflections of transmissions between electronic devices
US6553450B1 (en) * 2000-09-18 2003-04-22 Intel Corporation Buffer to multiply memory interface
US6317352B1 (en) * 2000-09-18 2001-11-13 Intel Corporation Apparatus for implementing a buffered daisy chain connection between a memory controller and memory modules
US6618791B1 (en) 2000-09-29 2003-09-09 Intel Corporation System and method for controlling power states of a memory device via detection of a chip select signal
US6658509B1 (en) 2000-10-03 2003-12-02 Intel Corporation Multi-tier point-to-point ring memory interface
JP2002117000A (ja) 2000-10-05 2002-04-19 Hitachi Ltd メモリシステムおよび接続部材
JP2002135234A (ja) * 2000-10-20 2002-05-10 Mitsubishi Electric Corp スキュー調整回路
KR20020032136A (ko) * 2000-10-25 2002-05-03 박성훈 메모리를 이용한 대용량 보조기억장치
EP1204027A2 (en) 2000-11-02 2002-05-08 Matsushita Electric Industrial Co., Ltd. On-line reconstruction processing method and on-line reconstruction processing apparatus
US6813688B2 (en) 2000-12-04 2004-11-02 Sun Microsystems, Inc. System and method for efficient data mirroring in a pair of storage devices
JP2002184948A (ja) * 2000-12-12 2002-06-28 Hitachi Ltd 半導体集積回路装置の製造方法
US6934785B2 (en) 2000-12-22 2005-08-23 Micron Technology, Inc. High speed interface with looped bus
US6493250B2 (en) 2000-12-28 2002-12-10 Intel Corporation Multi-tier point-to-point buffered memory interface
US6763424B2 (en) 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
US7013361B2 (en) 2001-01-24 2006-03-14 Grass Valley Group Inc. Routing switcher with variable input/output architecture
US7123660B2 (en) 2001-02-27 2006-10-17 Jazio, Inc. Method and system for deskewing parallel bus channels to increase data transfer rates
US6882082B2 (en) 2001-03-13 2005-04-19 Micron Technology, Inc. Memory repeater
US6697974B2 (en) 2001-03-14 2004-02-24 International Business Machines Corporation Method and apparatus for adaptively compensating skews during data transmission on a bus
US6735397B2 (en) * 2001-03-14 2004-05-11 Blaze Network Products, Inc. Skew discovery and compensation for WDM fiber communications systems using 8b10b encoding
WO2002084162A1 (fr) 2001-04-11 2002-10-24 Sumitomo Metal Industries, Ltd. Joint filete pour tuyau en acier
US20020178314A1 (en) 2001-05-25 2002-11-28 Cho Daniel Y. Expansion module and backplane
US6874097B1 (en) * 2001-06-01 2005-03-29 Maxtor Corporation Timing skew compensation technique for parallel data channels
JP4542286B2 (ja) 2001-06-06 2010-09-08 富士通株式会社 並列信号自動位相調整回路
US6504848B1 (en) * 2001-06-13 2003-01-07 Interdigital Communications Corporation Binary-tree method and system for multiplexing scheduling
US7609695B2 (en) 2001-06-15 2009-10-27 Industrial Technology Research Institute Optimizing switching element for minimal latency
JP2003041305A (ja) * 2001-07-27 2003-02-13 Fuji Photo Film Co Ltd 超微粒子、並びに、その製造方法及び製造装置
US20030085021A1 (en) * 2001-08-17 2003-05-08 Dykes Ronald M. Energy optimizer
JP2003076498A (ja) 2001-09-05 2003-03-14 Hitachi Ltd ディスク記憶装置
TW591838B (en) 2001-09-24 2004-06-11 Micro Star Int Co Ltd Power-off instantaneous voltage protector
US7085950B2 (en) 2001-09-28 2006-08-01 Koninklijke Philips Electronics N.V. Parallel data communication realignment of data sent in multiple groups
US7065101B2 (en) * 2001-11-15 2006-06-20 International Business Machines Corporation Modification of bus protocol packet for serial data synchronization
US7130317B2 (en) * 2001-11-19 2006-10-31 Annadurai Andy P Method and circuit for de-skewing data in a communication system
US6845461B1 (en) * 2001-11-20 2005-01-18 Silicon Image, Inc. High-speed bus with embedded clock signals
US6785771B2 (en) * 2001-12-04 2004-08-31 International Business Machines Corporation Method, system, and program for destaging data in cache
JP3967121B2 (ja) 2001-12-11 2007-08-29 株式会社ルネサステクノロジ ファイルシステム、ファイルシステム制御方法およびファイルシステムを制御するためのプログラム
WO2003055094A1 (en) 2001-12-20 2003-07-03 Bhavik Amin Skew delay compensator
US6690191B2 (en) 2001-12-21 2004-02-10 Sun Microsystems, Inc. Bi-directional output buffer
US7640484B2 (en) * 2001-12-28 2009-12-29 Netapp, Inc. Triple parity technique for enabling efficient recovery from triple failures in a storage array
US6799235B2 (en) 2002-01-02 2004-09-28 Intel Corporation Daisy chain latency reduction
US7000065B2 (en) 2002-01-02 2006-02-14 Intel Corporation Method and apparatus for reducing power consumption in a memory bus interface by selectively disabling and enabling sense amplifiers
US20030135676A1 (en) * 2002-01-17 2003-07-17 Koninklijke Philips Electronics N.V. Low-power bus interface
US6871257B2 (en) 2002-02-22 2005-03-22 Sandisk Corporation Pipelined parallel programming operation in a non-volatile memory system
US7043585B2 (en) * 2002-03-13 2006-05-09 Sun Microsystems, Inc. Flexible system architecture with common interface for multiple system functions
US7110400B2 (en) 2002-04-10 2006-09-19 Integrated Device Technology, Inc. Random access memory architecture and serial interface with continuous packet handling capability
US6996738B2 (en) 2002-04-15 2006-02-07 Broadcom Corporation Robust and scalable de-skew method for data path skew control
US6894691B2 (en) 2002-05-01 2005-05-17 Dell Products L.P. Dynamic switching of parallel termination for power management with DDR memory
US20030208511A1 (en) 2002-05-02 2003-11-06 Earl Leroy D. Database replication system
US20050089037A1 (en) * 2002-05-14 2005-04-28 Fujitsu Limited Communication speed control circuit, communication speed control board and information processing device
US7734867B1 (en) * 2002-05-17 2010-06-08 Hewlett-Packard Development Company, L.P. Data storage using disk drives in accordance with a schedule of operations
US6983354B2 (en) * 2002-05-24 2006-01-03 Micron Technology, Inc. Memory device sequencer and method supporting multiple memory device clock speeds
US7180949B2 (en) 2002-06-04 2007-02-20 Lucent Technologies Inc. High-speed chip-to-chip communication interface
KR100463202B1 (ko) 2002-07-02 2004-12-23 삼성전자주식회사 반도체 메모리 장치의 패드 및 주변 회로 레이아웃
US6834023B2 (en) * 2002-08-01 2004-12-21 Micron Technology, Inc. Method and apparatus for saving current in a memory device
US6930949B2 (en) * 2002-08-26 2005-08-16 Micron Technology, Inc. Power savings in active standby mode
US7551640B1 (en) * 2002-09-20 2009-06-23 Cisco Technology, Inc. Method and apparatus for errorless frame timing adjustment
US6987707B2 (en) * 2002-11-12 2006-01-17 General Dynamics Advanced Information Systems, Inc. Method and system for in-air ultrasonic acoustical detection and characterization
JP3838968B2 (ja) 2002-11-29 2006-10-25 Necインフロンティア株式会社 複数の通信インターフェースを搭載した通信機器、及び無線lanアクセスポイント
JP4062078B2 (ja) * 2002-12-10 2008-03-19 株式会社日立製作所 スキュー調整装置
US7093076B2 (en) 2002-12-12 2006-08-15 Samsung Electronics, Co., Ltd. Memory system having two-way ring topology and memory device and memory module for ring-topology memory system
US6996686B2 (en) 2002-12-23 2006-02-07 Sun Microsystems, Inc. Memory subsystem including memory modules having multiple banks
US20040153902A1 (en) 2003-01-21 2004-08-05 Nexflash Technologies, Inc. Serial flash integrated circuit having error detection and correction
JP4528491B2 (ja) 2003-03-07 2010-08-18 株式会社東芝 情報処理装置
US7275173B2 (en) * 2003-03-26 2007-09-25 Infineon Technologies Ag Method for measuring and compensating for skews of data transmission lines by compensating for skew by delay elements switched in response to the calculated reative skew
US20050071542A1 (en) 2003-05-13 2005-03-31 Advanced Micro Devices, Inc. Prefetch mechanism for use in a system including a host connected to a plurality of memory modules via a serial memory interconnect
US20040243769A1 (en) 2003-05-30 2004-12-02 Frame David W. Tree based memory structure
US7194581B2 (en) 2003-06-03 2007-03-20 Intel Corporation Memory channel with hot add/remove
US20050010726A1 (en) * 2003-07-10 2005-01-13 Rai Barinder Singh Low overhead read buffer
US7206888B2 (en) * 2003-07-24 2007-04-17 Lucent Technologies Inc. Backplane configuration with shortest-path-relative-shift routing
US6952813B1 (en) 2003-07-30 2005-10-04 Xilinx, Inc. Method and apparatus for selecting programmable interconnects to reduce clock skew
JP3984206B2 (ja) * 2003-09-02 2007-10-03 株式会社東芝 マイクロプロセッサー及び映像音声システム
US7149950B2 (en) 2003-09-12 2006-12-12 Hewlett-Packard Development Company, L.P. Assisted memory device for reading and writing single and multiple units of data
US7085943B2 (en) 2003-09-26 2006-08-01 Freescale Semiconductor, Inc. Method and circuitry for controlling supply voltage in a data processing system
US7668271B2 (en) * 2003-09-30 2010-02-23 Rambus Inc. Clock-data recovery (“CDR”) circuit, apparatus and method for variable frequency data
US7345891B2 (en) * 2003-10-07 2008-03-18 Hewlett-Packard Development Company, L.P. Circuit board assembly
US7320080B2 (en) 2003-10-15 2008-01-15 Intel Corporation Power management over switching fabrics
JP3808863B2 (ja) 2003-11-21 2006-08-16 株式会社東芝 複数のデータ伝送路を持つシリアルデータ通信方式
US7158422B2 (en) 2004-02-27 2007-01-02 Micron Technology, Inc. System and method for communicating information to a memory device using a reconfigured device pin
US20050246362A1 (en) 2004-05-03 2005-11-03 Borland Devin P System and method for dynamci log compression in a file system
US7516029B2 (en) * 2004-06-09 2009-04-07 Rambus, Inc. Communication channel calibration using feedback
US7205803B2 (en) * 2004-06-29 2007-04-17 Lsi Logic Corporation High speed fully scaleable, programmable and linear digital delay circuit
US7164615B2 (en) 2004-07-21 2007-01-16 Samsung Electronics Co., Ltd. Semiconductor memory device performing auto refresh in the self refresh mode
US7366852B2 (en) 2004-07-29 2008-04-29 Infortrend Technology, Inc. Method for improving data reading performance and storage system for performing the same
US7827424B2 (en) * 2004-07-29 2010-11-02 Ati Technologies Ulc Dynamic clock control circuit and method
US7539800B2 (en) 2004-07-30 2009-05-26 International Business Machines Corporation System, method and storage medium for providing segment level sparing
US7400862B2 (en) 2004-10-25 2008-07-15 Skyworks Solutions, Inc. Transmit-receive switch architecture providing pre-transmit isolation
US7668272B1 (en) * 2004-10-26 2010-02-23 National Semiconductor Corporation Method and apparatus for data transfer between mesochronous clock domains
TW200627241A (en) * 2005-01-20 2006-08-01 Avermedia Tech Inc Computer interface card
US7457978B2 (en) 2005-05-09 2008-11-25 Micron Technology, Inc. Adjustable byte lane offset for memory module to reduce skew
KR100663361B1 (ko) 2005-05-17 2007-01-02 삼성전자주식회사 지연 회로 및 이를 구비한 반도체 장치
US7836204B2 (en) 2005-06-01 2010-11-16 International Business Machines Corporation Apparatus, system, and method for accessing a preferred path through a storage controller
US9047344B2 (en) 2005-10-17 2015-06-02 International Business Machines Corporation Guaranteeing data and metadata referential integrity in content management archival solutions
US7653776B2 (en) * 2005-12-14 2010-01-26 Apple Inc. Method and apparatus for selectively switching IC ports to card slots through the use of three switches per switch group
US20070162516A1 (en) 2005-12-30 2007-07-12 Microsoft Corporation Computing asynchronous transaction log replication progress based on file change notifications
US7490189B2 (en) 2006-06-14 2009-02-10 Sun Microsystems, Inc. Multi-chip switch based on proximity communication
US7525356B2 (en) * 2006-09-14 2009-04-28 Lsi Corporation Low-power, programmable multi-stage delay cell
US8660020B2 (en) 2007-01-19 2014-02-25 Infinera Corporation Communication network with skew compensation
US7751713B2 (en) 2007-01-19 2010-07-06 Infinera Corporation Communication network with skew path monitoring and adjustment
US7688638B2 (en) * 2007-12-07 2010-03-30 Sandisk Corporation Faster programming of multi-level non-volatile storage through reduced verify operations
US8175113B2 (en) 2008-06-30 2012-05-08 Infinera Corporation Communication network with node bypassed co-routed multi-channel traffic

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004109526A2 (en) * 2003-06-05 2004-12-16 Intel Corporation Memory channel with bit lane fail-over

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6012004438; 直野 典彦 外1名: '100Gバイト/秒を狙うインタフェース「Yellowstone」を開発(上)' 日経エレクトロニクス 第823号, 20020603, p. 143 - 152, 日経BP社 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103988212A (zh) * 2011-12-15 2014-08-13 美光科技公司 用于在状态机中路由的方法及系统
KR20140105005A (ko) * 2011-12-15 2014-08-29 마이크론 테크놀로지, 인크. 상태 기계에서 라우팅하기 위한 방법들 및 시스템들
JP2015506037A (ja) * 2011-12-15 2015-02-26 マイクロン テクノロジー, インク. ステートマシンにおけるルーティング用の方法およびシステム
US9535861B2 (en) 2011-12-15 2017-01-03 Micron Technology, Inc. Methods and systems for routing in a state machine
KR101858311B1 (ko) 2011-12-15 2018-06-28 마이크론 테크놀로지, 인크. 상태 기계에서 라우팅하기 위한 방법들 및 시스템들
US9619155B2 (en) 2014-02-07 2017-04-11 Coho Data Inc. Methods, systems and devices relating to data storage interfaces for managing data address spaces in data storage devices
US10268390B2 (en) 2014-02-07 2019-04-23 Open Invention Network Llc Methods, systems and devices relating to data storage interfaces for managing data address spaces in data storage devices
US10891055B2 (en) 2014-02-07 2021-01-12 Open Invention Network Llc Methods, systems and devices relating to data storage interfaces for managing data address spaces in data storage devices

Also Published As

Publication number Publication date
KR20120136412A (ko) 2012-12-18
KR101375763B1 (ko) 2014-03-19
EP2383661A1 (en) 2011-11-02
CN101180596A (zh) 2008-05-14
US20090216924A1 (en) 2009-08-27
JP5654630B2 (ja) 2015-01-14
EP2378432A1 (en) 2011-10-19
KR20130072270A (ko) 2013-07-01
CA2597692A1 (en) 2006-11-02
KR101271245B1 (ko) 2013-06-07
CN101727429B (zh) 2012-11-14
CN101180596B (zh) 2010-05-19
KR101427867B1 (ko) 2014-08-11
EP2383660A1 (en) 2011-11-02
US10417159B2 (en) 2019-09-17
KR101331569B1 (ko) 2013-11-21
WO2006115896A3 (en) 2007-05-31
JP5258997B2 (ja) 2013-08-07
EP2383656B1 (en) 2013-06-19
KR20080000636A (ko) 2008-01-02
JP2013191217A (ja) 2013-09-26
JP2013168164A (ja) 2013-08-29
JP2008537265A (ja) 2008-09-11
EP2383660B1 (en) 2013-06-26
US20070124532A1 (en) 2007-05-31
EP2383656A1 (en) 2011-11-02
EP1872192B1 (en) 2012-09-12
CN101727429A (zh) 2010-06-09
EP2378391A1 (en) 2011-10-19
CN101872333A (zh) 2010-10-27
CN103116565A (zh) 2013-05-22
EP2383657A1 (en) 2011-11-02
US8726064B2 (en) 2014-05-13
JP2012185851A (ja) 2012-09-27
WO2006115896A2 (en) 2006-11-02
EP1872192A2 (en) 2008-01-02
KR20130112953A (ko) 2013-10-14
EP2378433A1 (en) 2011-10-19

Similar Documents

Publication Publication Date Title
JP5654630B2 (ja) 相互接続システム
US9582449B2 (en) Interconnection system
KR101245096B1 (ko) 상호연결 시스템에서의 스큐 관리

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120206

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120507

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120510

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120606

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121203

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130403