(57)【要約】  メモリ・システムにおける指定されたポイント間の全体の時間遅延が一定に維持されるように、メモリ・モジュール間のデータの伝送時間が管理される、メモリ・システムについて説明される。多数のレーンのバスの各レーンを別個に管理することができ、中間モジュールにおいてスキュー除去する必要なしに、宛先モジュールにおいてデータフレームを評価することができる。バス・シリアル・データ速度の１つ又それ以上の約数でモジュールを通してデータ経路を作動させ、受信されたデータのサンプリング・ポイントを選択し、温度変化又は時間経過に起因する時間遅延の変動を調整することによって、データを経路指定するためのスイッチを有するモジュールを通したデータの伝播における時間遅延が低減される。【選択図】      図４
2011502293.tif 000002
【特許請求の範囲】
【請求項１】
第１のノードと、
前記第１のノードと通信状態にある第２のノードと、
前記第１のノード及び前記第２のノードに与えられる第１のクロックと、
前記第１のクロックに対して第１の整数関係を有し、かつ、前記第１のノードの出力と前記第２のノードの出力との間のビットの伝送時間が実質的に一定に維持されるように、前記第１のクロックに対する時間遅延を有する第２のクロックと、
を含むことを特徴とする相互接続システム。
【請求項２】
前記第１のノードは、バス上で前記第２のノードと通信することを特徴とする、請求項１に記載のシステム。
【請求項３】
ビットから構成される文字列が、前記第１のクロックに対して第２の整数関係を有するクロック速度で、前記第１のノードと前記第２のノードの間にシリアル方式で伝送されることを特徴とする、請求項２に記載のシステム。
【請求項４】
前記第１及び第２の整数関係は、同じ整数関係であることを特徴とする、請求項３に記載のシステム。
【請求項５】
受信された文字列は、前記第２のクロックのものより低いクロック速度で、シリアル・データ形式から複数のシリアル・データパケットに変換されることを特徴とする、請求項３に記載のシステム。
【請求項６】
同じビットの後続文字列が同じビットの前記シリアル・データパケットに変換されるように、前記第２のクロックの時間遅延を調整することを特徴とする、請求項５に記載のシステム。
【請求項７】
前記複数のシリアル・データパケットの各々は、メモリ又は別のノードの一方に経路指定されることを特徴とする、請求項５に記載のシステム。
【請求項８】
前記経路指定は、受信された文字列によって決定されることを特徴とする、請求項７に記載のシステム。
【請求項９】
前記文字列が別のノードに経路指定されるとき、前記第２のクロックを用いて、前記データが再シリアル化されることを特徴とする、請求項７に記載のシステム。
【請求項１０】
前記再シリアル化されたデータは、２つのノードを接続する複数のラインの１つにおいて伝送されることを特徴とする、請求項９に記載のシステム。
【請求項１１】
前記再シリアル化されたデータは、前記複数のラインの選択されたものにバインドされることを特徴とする、請求項１０に記載のシステム。
【請求項１２】
前記第１のノードの前記出力と前記第２のノードの前記出力との間で測定された、前記レーンの全体の時間遅延が実質的に一定であるように、レーンの時間遅延を調整することを特徴とする、請求項１に記載のシステム。
【請求項１３】
前記複数のラインの１つにおける受信された文字列は、前記複数のラインの別のものにおける受信された文字列とは関係なく、シリアル・データ形式から複数のシリアル・データパケットに変換されることを特徴とする、請求項１２に記載のシステム。
【請求項１４】
前記シリアル・データパケットの数は、前記文字列におけるビット数に等しいことを特徴とする、請求項１３に記載のシステム。
【請求項１５】
相互接続システムのノードであって、
データ受信回路と、
データ送信回路と、
前記データ受信回路及び前記データ送信回路を接続するスイッチと、
複数のビットを有する受信された文字列の文字列の第１のビットに対して固定した関係でサンプリング時間を維持するように動作可能な回路と、
前記第１のビットを再サンプリングして、別のモジュールにおける前記再サンプリングされたビットと対応する再サンプリングされたビットとの間で測定された全体の時間遅延が実質的に一定に維持されるように構成された入力データ・バッファと、
を含むことを特徴とするノード。
【請求項１６】
前記回路は、データ・クロック回復回路であることを特徴とする、請求項１５に記載のノード。
【請求項１７】
前記入力データ・バッファは、前記データ・クロック速度の整数分の一であるクロック周波数で動作することを特徴とする、請求項１５に記載のノード。
【請求項１８】
前記スイッチは、前記受信され文字列を、別のノード又はメモリの少なくとも一方に経路指定することを特徴とする、請求項１５に記載のノード。
【請求項１９】
前記スイッチ出力は、前記データ・クロック速度で伝送されることを特徴とする、請求項１５に記載のノード。
【請求項２０】
前記入力データ・バッファは、前記受信された文字列を複数のデータパケットに非シリアル化するように動作可能であり、出力データ・バッファは、前記スイッチ出力データを文字列に再シリアル化するように動作可能であることを特徴とする、請求項１５に記載のノード。
【請求項２１】
前記文字列は、第１のポートの複数のラインの第１のライン上に受信され、かつ、第２のポートの複数のラインの選択可能なライン上の別のノードに伝送されることを特徴とする、請求項１５に記載のノード。
【請求項２２】
互いに通信状態にある複数のノードを含む相互接続システムを管理する方法であって、前記方法は、
複数のビットを含むデータの文字列を第１のノードから第２のノードに伝送し、
前記第２のノードにおいて前記文字列を受信し、
前記受信されたデータからクロックを回復し、前記文字列に対してサンプリング時間をアライメントし、
前記クロック周波数の約数で前記サンプリングされたデータを再サンプリングし、前記第１のノードからの前記伝送された文字列と前記第２のノードによって伝送された同じレーン上の文字列との間の全体的な時間遅延が実質的に一定であるように、前記再サンプリング・クロックの前記位相又は時間遅延を調整する、
ステップを含むことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、メモリ・システムにおける分散クロックの管理に関する。
【背景技術】
【０００２】
コンピュータ・システムにおいては、中央演算装置（ＣＰＵ）は、メモリ・システムに格納されたプログラム情報及びデータにアクセスする。コンピュータ・システムの設計者が設計段階の際に選択するサイズ、速度及び容量におけるメモリ・システムの階層があり、これは、例えば、キャッシュ・メモリ、メインメモリ、及び二次メモリを含むことができる。キャッシュ・メモリは、少ない待ち時間、高帯域幅、ビット当たりの高コストという特色を示し、ＣＰＵには不可欠なものである。キャッシュ・メモリは、半導体デバイスとすることができ、また、例えば、ＳＲＡＭ（スタティック・ランダム・アクセス・メモリ）とすることができる。同じく半導体技術であり、典型的にはＤＲＡＭ（ダイナミック・ランダム・アクセス・メモリ）の形式であるメインメモリは、あまり頻繁にアクセスされないデータ及びプログラムのために用いられる。現在、パーソナルコンピュータは、約４ＧＢまでのＤＲＡＭを有することができ、一方、ハイエンド・サーバは、約１６ＧＢ又はそれ以上のＤＲＡＭを有することができる。複数のメモリ・コントローラ及びコンピュータコアを使用するといった戦略により、これらメモリに対してより大量のアクセスを提供することができるが、コンピュータ・バスシステムの多くは、伝播時間、バスの負荷、電力消費等が原因で、実際的な上限を有する。より大量のデータを大容量記憶装置上に格納することができ、例えば、単一のディスクがテラバイト（ＴＢ）のメモリを含むことができる磁気ディスク、ＦＬＡＳＨメモリディスク（ソリッド・ステート・ドライブ（ＳＳＤ）と呼ばれることもある）、及びディスクのクラスタを使用することができる。磁気ディスク上に格納されたデータに対するアクセス時間は、メインメモリに格納されたデータに対するものよりも相当長い。
【０００３】
大量のＤＲＡＭ又はＦＬＡＳＨなどの他のメモリを、２００６年４月１７日に出願された米国特許出願第１１／４０５，０８３号に記載されるようなメモリ・アプライアンス内に提供することができる。大容量のメモリアレイが従来のメインメモリのものに近い待ち時間を有するという点で、こうしたメモリアレイは、メインメモリに類似したものであると考えることができ、他の場合には回転式ディスク媒体等の大容量記憶装置に格納される大量のデータに対する迅速なアクセスを提供することができる。
【０００４】
データは、例えば、パラレル式、シリアル式、ポイント・ツー・ポイント、又はデイジーチェーン、又はマルチスタブを含む種々のアーキテクチャのものとすることができる、バスとして知られる経路上で、メモリと他の装置と中央演算装置との間を移動させられる  
【０００５】
データの送受信のためのクロック周波数がシステムにおける全てのポイントにおいて同である場合、データ・バスを同期方式で動作させることができ、データが感知される（例えば受信される）各ポイントにおいてデータビット間に周知の位相関係が存在する。しかしながら、２つの隣接するノード間のパラレル・バスにおけるデータの伝送を考えると、異なるラインにおけるデータビットの位相関係は、時間遅延のスキュー（ずれ）に応じて変化する。低速のデータ伝送及び短いバス長においては、これを許容することができるが、高速データ伝送においては、データビットは、システム・クロックに対する様々な位相関係で受信され、１クロックより多い間隔で遅延が生じることがあるため、結果としてエラーがもたらされるか、又は、典型的には各メモリノードにおけるスキュー除去（ｄｅ−ｓｋｅｗ）及び位相アラインメント（ｐｈａｓｅ  ａｌｉｇｎｍｅｎｔ）が必要になる。
【０００６】
この問題は、ラインの各々においてクロック及びデータを伝送し、ノードにおいてチャネル毎にクロックを回復することによって緩和することができる。このクロックは、ラインごとにシステム・クロックに関する時間遅延が異なる。また、クロックがデータと共に伝送された場合、ライン毎のクロックの同期を維持するために、データの伝送、又は少なくともアイドル状態のデータ・パターンが必要となることがある。
【０００７】
代替的に、ライン毎にデータをバッファに蓄積し、データ・スキューを補償するのに必要な時間遅延調整を判断し、データに作用する前に各ノードで受信されたデータを再構築することによって、各ノードにおいてデータを回復することができる（ワードデータは、読み取り、書き込み等のような帯域内コマンド、並びに、メモリとの間で読み書きされる命令を含むことができる情報を含むように理解されている場合）。スキュー補償調整を行うために、バッファに入れる必要があるデータの量は、バスに沿って蓄積することができるスキューのクロック周期数までとすることができる。バスの一端から他端へのデータを伝送する際の全体的な遅延は、データ経路に沿った個々のノード間のスキュー値の各々の最大スキューの合計である。このタイプのバスの一例は、ＪＥＤＥＣ規格の対象であるＦＢ−ＤＩＭＭ（完全バッファ付きＤＩＭＭ）である。
【０００８】
バスは、データが送信側（メモリ・コントローラ等）から伝送され、例えばリニアバスに沿った第３のメモリ・モジュールなどのターゲット・メモリ・モジュールで受信される、マルチ・ドロップ・バスとして動作することもできる。モジュールは、当技術分野において周知のような、デュアル・インライン・メモリ・モジュール（ＤＩＭＭ）とすることができ、最大総スキューは、最長の伝送遅延を有する特定のバス・ラインのものと等しくすることができる。伝送遅延は、個々のデータラインのトレース長さの差から生じるものであり、トレース長さの差は、マザーボード上のトレース、及び、メモリ・モジュールを含む回路カード上のトレースを含むことができる。総スキューが、バスの長さ又は信号速度を制限する場合がある。
【０００９】
米国特許出願第１１／４０５，０８３号に記載されるように、通信ノード間の各バス・ラインにおいて生じたスキュー（ずれ、ｓｋｅｗ）の量に応じて、特定のバス・ラインへのデータ・レーンの論理割り当てを適切に交換することによって、例えばシリアルのポイント・ツー・ポイント方式、又は分岐方式で動作しているバス・ライン間のスキューの影響を緩和することができ、その結果、バスの意図される受信側のノードにおいて、スキューが最小になり、知られ、又は制御される。このように、データに作用する受信ノードにおけるスキュー補償に必要な修正の量を低減させ、装置の複雑さ及び電力消費を低減させることができる。
【発明の概要】
【００１０】
第１のノードと、第１のノードと通信状態にある第２のノードとを含む相互接続システムが開示される。第１のクロックが第１のノード及び第２のノードに与えられ、第２のクロックは、第１のクロックを参照して生成され、第１のクロックに対して第１の整数関係（integral relationship）を有し、第１のノードからの出力と第２のノードからの出力との間のビットの送信時間が実質的に一定に維持されるように、第１のクロックに対する時間遅延オフセットが調整されている。
【００１１】
データ・バスによって接続可能な少なくとも２つのモジュールを含む、データ伝送システムが開示される。モジュールは、シリアル・データを送信するための送信機と、シリアル・データを受信するための受信機とを有する。モジュールには、共通のクロックから信号が与えられ、かつ、共通クロックから得られる各モジュール上の内部クロックを生成するクロック生成装置を有する。クロック・データ回復（ｒｅｃｏｖｅｒｙ）回路は、シリアル・データ信号のビットとの同期を維持する受信されたデータ・クロックを生成し、アラインメント・バッファが、シリアル・データのビットと内部クロックとの間の同期を確立し、維持するように動作可能である。スイッチは、受信されたシリアル・データを外部ポート又は内部ポートの１つに経路指定するように動作可能である。モジュールは、複数の外部ポート及び内部ポートを有することができる。
【００１２】
別の態様において、メモリ・システムは、リンクにより接続された複数のモジュールを含み、少なくとも１つのモジュールはデータ・メモリを有する。システム・クロックは、少なくとも２つのモジュールに分散され、モジュール間で伝送されるデータのデータ・クロック速度は、システム・クロックと一体的に関連している。モジュール上のバッファは、受信されたデータ文字列のビット位置と以前に確立されたビット位置との間の同期を維持するように動作可能である。
【００１３】
さらに別の態様において、データ・インターフェースは、クロック・データ回復回路、クロック位相アラインメント・バッファ、及びデータ伝送回路を含む。クロック・データ回復回路は、データ伝送回路で用いられるクロックと同じ周波数を有するクロックを回復し、位相アラインメント回路は、データの到着時刻の変化を補償する。
【００１４】
さらに別の態様において、メモリ・モジュールは、データ受信機、クロック・データ回復回路、経路指定スイッチ、メモリ・インターフェース、及びデータ送信機を有する。クロック・データ回復回路は、データ伝送回路で用いられるクロックと同じ周波数を有するクロックを回復し、位相アラインメント・バッファ回路は、データの到着時刻を補償する。
【００１５】
さらに別の態様において、相互接続システムのノードは、データ受信回路と、データ伝送回路と、データ受信回路及びデータ伝送回路を接続するスイッチとを含む。回路は、複数のビットを有する受信された文字列の文字列の第１のビットに対して固定した関係でサンプリング時間を維持するように動作可能であり、入力データ・バッファは、再サンプリングされたビットと別のモジュールにより伝送された対応するビットとの間で測定される全体的な時間遅延が実質的に一定に維持されるように、第１のビットを再サンプリングするように構成される。
【００１６】
モジュール間でデータを伝送する方法が開示され、この方法は、少なくとも２つのモジュールを提供することを含み、モジュールは、受信機と、送信機と、クロック・データ回復回路と、位相アラインメント・バッファと、経路指定スイッチとを含む。モジュールは、ラインによって接続可能である。データの１つのフレームの１つの文字列が第１のラインに割り当てられる。文字列の第１のビットがサンプリングされ、伝送された文字列と文字列の受信との間の時間遅延が変化したとき、文字列の第１のビットのサンプリングのアラインメントを維持するように、受信側の第１のラインが初期化される。
【００１７】
さらに別の態様において、互いに通信状態にある複数のノードを含む相互接続システムを管理する方法が開示される。この方法は、複数のビットからなるデータの文字列を第１のノードから第２のノードに伝送すること、第２のノードにおいて文字列を受信すること、受信されたデータからクロックを回復し、文字列の第１のビットに対してサンプリング時間をアライメントすること、及びクロック周波数の約数でサンプリングされたデータを再サンプリングし、伝送されたデータと再サンプリングされたデータとの間の全体的な時間遅延が実質的に一定であるように、再サンプリング・クロックの位相又は時間遅延を調整することを含む。
【図面の簡単な説明】
【００１８】
【図１】メモリ・モジュールを有するコンピュータ・システムのブロック図である。
【図２（ａ）】例の論理的側面についての命名規則を示す。
【図２（ｂ）】例の物理的側面についての命名規則を示す。
【図３】メモリ・モジュールの単純化されたブロック図である。
【図４】図３のメモリ・モジュールのより詳細なブロック図である。
【図５】デシリアライザ回路の入力及び出力におけるデータビットの論理的な配置の例を示す。
【図６】メモリ・モジュールのスイッチにおける機能性素子の配置を示す。
【図７（ａ）】メソシンクロナス動作と関連したタイミング・レジームを示す。
【図７（ｂ）】メソシンクロナス動作と関連したタイミング・レジームを示す。
【発明を実施するための形態】
【００１９】
例示的実施形態は、図面を参照してより良く理解することができるが、これら例は、限定的性質であることが意図されていない。同じ又は異なる図面における同様の番号が付けられた要素は同等の機能を実行する。要素は番号が付けられるか又は略語により示されるかのいずれか、若しくはその両方であり、表示間の選択は単に明確にするために行なわれるにすぎないので、番号で示される要素、及び略語又はアルファベットの表示で示される同じ要素は、区別すべきではない。
【００２０】
当業者であれば、説明される方法及び図示される装置は、例えばソフトウェア、ハードウェア、又は両方の組み合わせにおいて等、マシン実行可能な命令において構成又は具体化できることが理解されるであろう。命令を用いて、命令によりプログラムされるデジタル・プロセッサ等に、説明された動作を実行させることが可能である。代替的に、動作は、説明された動作を実行するための配線論理又はファームウェア命令を含む特定のハードウェア・コンポーネントにより、又はアナログ回路を含むことができるプログラムされたコンピュータ・コンポーネント及びカスタム・ハードウェア・コンポーネントの任意の組み合わせにより、実行することができる。例として、マイクロプロセッサ、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、又は特定用途向け集積回路（ＡＳＩＣ）を使用することができる。かかる回路は、任意の必要な命令又はデータを格納するように、一体の又は関連したメモリを有することが命令できる。
【００２１】
この方法は、該方法を実行するためにコンピュータ（又は他の電子装置）をプログラムするのに用い得る命令が格納されたマシン可読媒体を含むことができるコンピュータ・プログラム製品として、少なくとも部分的に提供することができる。本明細書のために、「マシン可読媒体」という用語は、コンピュータ・マシン又は専用ハードウェアにより実行するための一連の命令又はデータを格納又はエンコードできるいずれかの媒体を含むものと解釈すべきである。従って、「マシン可読媒体」という用語は、これらに限定されるものではないが、ソリッド・ステート・メモリ、光ディスク及び磁気ディスク、磁気メモリ、光学メモリ、及び搬送波信号などを含むものと解釈すべきである。搬送波信号という用語は、こうした信号が伝えられるか又は放射されるかに関わらず、命令又データが与えられた電気信号を生成又は受信するのに必要な電子工学及び命令を含むように理解される。
【００２２】
例えば、限定としてではなく、マシン可読媒体は、読み取り専用メモリ（ＲＯＭ）、全てのタイプのランダムアクセスメモリ（ＲＡＭ）（例えば、ＳＲＡＭ，ＤＲＡＭ）、プログラマブル読み取り専用メモリ（ＰＲＯＭ）、電気式書き換え可能読み取り専用メモリ（ＥＰＲＯＭ）、磁気ランダムアクセスメモリ、磁気ディスク記憶媒体、フラッシュメモリ、及び電気信号、光信号、音響信号、又は他の形式の信号を用いる伝送を含むことができる。
【００２３】
さらに、当技術分野においては、マシン可読媒体は、ある形式又は他の形式（例えば、プログラム、手順、プロセス、アプリケーション、モジュール、アルゴリズム、又は論理）において、アクションを起こす又は結果をもたらすソフトウェアのことを言うのが一般的である。かかる表現は、当業者には周知のように、コンピュータ又は同等の装置によるソフトウェアの実行によって、コンピュータ又は同等の装置にアクションを行なわせる又は結果を生成させることの便宜的な言い方に過ぎない。
【００２４】
特定の例を説明する場合、その例は、特定の特徴、構造又は特性を含むことができるが、あらゆる例が、必ずしも特定の特徴、構造、又は特性を含むとは限らない。このことは、２つ又はそれ以上の例の特徴、構造、又は特性の部分を、こうした組み合わせが明示的に除外されていない限り、組み合わせるべきではなく又は組み合わせることができないことを示唆又は暗示すると解釈すべきではない。特定の特徴、構造、又は特性を一つの例と関連して説明する場合、当業者であれば、明示的に説明されているか否かに関わらず、他の例との関連でかかる特徴、構造、又は特性を実行することができる。
【００２５】
明確にするために、本明細書に開示される実施の決まりきった特徴が説明されるわけではない。もちろん、こうした実際の実施のいずれにおける開発でも、実施ごとに異なる、システム関連及びビジネス関連の制約とのコンプライアンスといった、開発者の特定の目標を実現するために、多くの実施特有の決定をしなければならないことが理解されるであろう。さらに、こうした開発努力は複雑で、時間のかかるものであるが、それにもかかわらず、本開示の利点を得る当業者にとっては、エンジニアリングのルーチン業務であることが理解されるであろう。
【００２６】
メモリ・モジュール・コネクタ・インターフェース等の、本明細書に記載されるコネクタ又はコネクタ・インターフェースは、雄型コネクタ又はインターフェースが雌型コネクタ又はインターフェースに係合するといった、物理的に分離可能なインターフェースに限定されるものではない。コネクタ・インターフェースはまた、リード線、はんだボール、又はメモリ回路からの接続が別のメモリ回路又は回路基板に接続されるインターフェースのような、いずれかの形式の物理的インターフェース又は接続も含む。例えば、スタック・ダイ手法において、多数の集積回路ダイ（例えば、メモリ装置、バッファ装置等）を、基板と共に互いの上に積層し、ベース、及びボール・グリッド・アレイ又は他のタイプのコネクタ・インターフェースを通してメモリ・モジュール、メモリ・コントローラ、又はプロセッサへのインターフェースを形成することができる。別の例として、メモリ装置及びバッファ装置は、可撓性のテープ相互接続及びインターフェースを介して、ボール・グリッド・アレイ型のコネクタ・インターフェース又は物理的に分離可能なソケット型のコネクタ・インターフェースを通して、メモリ・コントローラに相互接続することができる。接続型には、集積回路チップ間のインターフェース、基板上の、基板間、又はプリント回路基板上の相互接続コンダクタ等を含むことができる。
【００２７】
コンピュータ・システムにおけるメモリ・モジュールに関して例が説明されるが、本明細書に記載するいずれも、本開示の範囲をかかる局所化されたシステムに限定することを意図するものではない。ここに記載された装置及び方法は、モジュールが物理的に分離され、かつ、無線技術等を用いるデータ伝送技術を全体的に又は部分的に使用することができる、データ通信システムに対して用いることができる。同様に、それらの間に相互接続部を含む複数のメモリ・モジュールを共通の基板上に製造又は組み立てることができる。物理的な実施形態の選択は、製品が設計される時点における工学的及び経済的考慮事項によって決まる。
【００２８】
図１及び図２は、記載される例に使用することができる記号及び用語の一部を識別するために提供される。これは、便宜のため、明確にするため、一貫性及び簡潔性を保つために行われるものであり、当業者であれば、種々の同等の用語を使用できることを理解するであろう。しかしながら、ここに提供される説明のために、具体的に述べられる場合を除いて、ここで述べられる用語が使用される。このことは、容認される同等の用語、又は将来同等の概念を記載するのに使用され得る用語を排除又は区別することを意味するものではない。
【００２９】
図１は、中央演算処理装置（ＣＰＵ）、メモリ・コントローラ（ＭＣ）、及びメモリ・モジュール（ＭＭ）及びシステム・クロック（ＳＹＳＣ）を含むシステムの例を示す。外部インターフェース、大容量記憶装置、電源等のようなコンピュータの他の態様も提供できるが、図示されていない。図１に示されないキャッシュ・メモリ、ディスク・ストレージ・メモリ、テープ・メモリ及び他の形態のストレージに加えて、システムは、プログラム命令及びプログラムにより使用又は操作されるデータへの高速アクセスのために取り付けられた、ＲＡＭ及びＦＬＡＳＨ等の揮発性及び不揮発性メモリを有することができる。このメモリは、メモリ・コントローラＭＣによりＣＰＵに接続することができ、複数のメモリ・モジュールＭＭを含むことができる。
【００３０】
メモリ・モジュールは、まとめてバス・ライン又はチャネルと呼ばれることが多い複数の電気的接続、プリント配線接続、又はラインによって互いに、及び、メモリ・コントローラに接続することができる。本例において、幾つかのメモリ・モジュールＭＭは、ＭＭ１からＭＭ２へといったように、直列接続されるものとして示され、幾つかのＭＭは、ＭＭ２からＭＭＭＭ３及びＭＭ４へといったように、分岐構成で接続されるものとして示される。
【００３１】
メソシンクロナス（ｍｅｓｏｓｙｎｃｈｒｏｎｏｕｓ）システムにおいて、システム・クロック（ＳＹＳＣ）は、ドメインにおいてモジュール（例えば、ＭＭ）に分散されるので、モジュールのグループの複数のモジュールは、共通の周波数のクロック・ソースにアクセスすることができる。ＳＹＳＣクロック周波数の倍数又は約数であり得るＳＹＳＣから、種々のクロック周波数を得ることができる。このように、特定の倍数又は約数のＳＹＳＣクロック周波数のシステム全体にわたるクロックは、同じ周波数を有するが、その時間又は位相オフセットが互いに異なる場合がある。このオフセットは、クロック周期の何分の一かで、或いは位相オフセットとして説明することができ、０、９０、１８０、２７０度の位相は、０．０、０．２５、０．５、０．７５のクロック周期に対応する。オフセットは、温度又は回路の経年変化（ａｇｅｉｎｇ）により、時間と共に非常にゆっくりと変わることがある。ゆっくりと、とは、補償又はアライメントの変更を必要とし得る十分なオフセットの変更が生じる前に、様々な文字を伝送できることを意味するように理解されるであろう。
【００３２】
データの全体的なクロック速度は、複数のモジュールにわたって同じであるか、又は同じクロックに関連しているため、異なるモジュール上のクロック間の差異を補償するために、充填文字（ｐａｄｄｉｎｇ  ｃｈａｒａｃｔｅｒ）を必要とすることはない。同様に、フレーム毎に文字列の同期を使用するのを回避することができる。別の態様においては、複数のモジュールにおいてクロック速度が同じであることから、データ伝送におけるギャップ又はプリアンブルを回避することができる。
【００３３】
動作タイミングのために種々のクロックを用いて、データを操作し、計算を行なうことができ、例えば、クロック信号の立ち上がりエッジで又はクロック信号の立ち上がりエッジ及び立ち下がりエッジの両方で動作を行なうことができることが知られている。後者のタイプの動作は、通常ダブル・データ・レート（ＤＤＲ）クロッキングと呼ばれる。提示を簡単にするために、本説明は、立ち上がりエッジ・クロック動作に関するものであるが、当業者であれば理解するように、ダブル・データ・レート・クロッキング等が行なわれるシステムへの適用も理解されるであろう。他のクロッキング・スキームも知られており、それらを用いることもできる。
【００３４】
図２は、例えば２つのメモリ・モジュールＭＭとすることができる２つの装置間の接続又はバスの説明に用いられる規則を定める働きをする。データは、上流方向又は下流方向に流れると言うことができ、上流とは、通常、メモリ・コントローラＭＣ又はＣＰＵのような管理インターフェースを有するチャネルの端部の方向として定められ、下流とは、その逆方向である。バスは、上流方向が下流方向になるように再構成することができる。北向き及び南向きのような他の用語を用いることもできる。
【００３５】
バス、リンク、又はチャネルは、高速のデータ、アドレス及びコマンド伝送のために２つの装置を接続する。多くのチャネル構成があるが、典型的には、チャネルは、ラインのグループであり、単極性、両極性、又は差動信号技術を使用することができる。ラインは、単一指向性又は両方向性とすることができる。本例においては、差動ラインが使用され、差動ラインは、当技術分野においては周知のように、差動信号電子回路内のメモリ・モジュールで終端する、マザーボード上の１対のトレースを含むことができる。（電気差動ラインは、図面では単線で示される）。現在のところ、このタイプの接続が、最新の製品設計における高速インターフェースのために用いられるが、光学技術又は無線技術等を含む、あらゆるタイプの接続を用いることができる。
【００３６】
１つの態様において、チャネルは、ラインの単指向性グループを有することができる。本例では、１０本の単指向性ラインが提供され、このうち９本は、常時使用することができ、１０番目のラインは予備とすることができる。他の数のライン及び予備を用いることもできる。予備のラインは必須ではない。データは、クロック周期における固定長とすることができる文字列の形で、チャネル上で伝送することができる、文字列のデータビットをクロック周期と関連付けることができる。本例では、２０のクロック周期と関連付けられた、２０のビット文字列の長さが使用される。複数のライン上の文字列を論理クラスタにグループ分けし、フレームと呼ぶことができる。つまり、図２ａに示すように、アクティブなラインのそれぞれにおける文字列を、他の文字列と同時に伝送される別のライン上の文字列と関連付けることができる。しかしながら、別個のライン上の文字列は、遅れずに互いにビット同期させる必要はなく、１又はそれ以上のビット周期により、遅れずに互いからオフセットすることができ、クロック・オフセットは、分数のビット周期を含むことができる。
【００３７】
第１のモジュールと第２のモジュールとの間のデータの伝送は、伝送モジュールにおいて制御することができ、受信モジュールは、メソシンクロナス・クロック・データ速度でデータを受け入れることができる。
【００３８】
逆方向に類似のチャネルが存在する場合がある。この説明では、信号の伝播方向は、下流方向のものとして説明されるが、上流方向の信号伝播が類似した特性を有することが理解されるであろう。
【００３９】
ＭＣ又はＭＭのような上流装置からＭＭのような下流装置への文字列の通路は、ホップと呼ぶことができる。この説明では、明確にするために、データの伝送は、一般性を喪失することなく、２つのメモリ・モジュールＭＭ間のものである。ラインという用語は、通常、ホップにおける２つのモジュール間の接続の物理的性質を説明するときに使用され、これらのラインは、例えば、プリント回路基板、コネクタ等の補助コンポーネント、及び送信側及び受信側インターフェース電子機器と関連付けることができる。レーン（ｌａｎｅ）という用語は、通常、フレームにおける文字列のデータの論理割り当てを表すために用いられる。ＭＣ、ＭＭ等の動作により、レーンの各々をラインに割り当てる（又は、「バインドする（ｂｉｎｄ））ことができ、このバインディングは、ホップ毎に変わることも、時間と共に変わることもある。この説明では、システムが構成されると、バインディングは静的なものであると考えられるが、モジュールごとに異なることがある。つまり、各ホップにおけるレーンとラインの関連付けは、システムを構成する前に確立され、動作中又は再構成が行なわれるまで、割り当てられた状態のままである。レーンは、異なるホップの異なるラインにバインドし、宛先モジュールのフレームにおける文字列の到着時間の間のスキューを管理し、ことによると削減又は最小化することができる。
【００４０】
モジュールが起動され、訓練されたとき、及び、レーンがラインにバインドされ、フレーム・アラインメント・プロセスが完了した場合、２つのモジュール間のチャネル又はリンクが存在すると考えることができる。このプロセスを構成と呼ぶことができる。
【００４１】
ホップにより他のモジュールと接続する、モジュールから下流方向に出るラインのグループは、出力サブポートと呼ばれ、かかるラインが別のモジュールに入る際は、入力サブポートを通る。サブポートとして構成されたラインの別の類似のグループは、上流方向に存在することができ、２つのモジュール間のホップと関連付けられた出力及び入力サブポートの組み合わせをポートと呼ぶことができる。
【００４２】
データフレームにおける文字列は、ステアリング・データを含むことができ、これは、一般に、現在のフレームであっても、又は別のライン上の別のフレームであっても、或いは現在のライン上の後続フレームであってもよいフレーム内のデータを、宛先モジュールに経路指定するのに必要とされるアドレス指定情報を意味する。これは米国特許出願第１１／４０５，０８３号に記載されるようなステアリング・データとすることができる。アドレス指定を提供する又はデータを経路指定する他の手段は、当業者には周知であり、使用することが可能である。同じレーン又は複数のレーンは、ステアリング・レーンを含まない場合があるが、コマンド、アドレス、又はデータについての文字列を含むことができる。
【００４３】
図２ｂは、メモリ・モジュールＭＭとすることができる２つのモジュール間の物理的インターフェースの１つの例である。マザーボード上の対のトレースは、マザーボード上のコネクタ間を接続することができる。単一の又は複数のコネクタを使用できるので、ＭＭがマザーボード内に接続し、プリント回路配線に接続することができる。例えば、電源、電源管理、クロック及びテスト等の他の接続が存在する場合もあるが、図示されていない。
【００４４】
図３は、下流方向の経路のみを示す、メモリ・モジュールの単純化されたブロック図である。入力ポートＰ0は、この例では１０個であるｎ個のデータラインを有する。バイナリツリーに組み込むためのモジュールの場合、各々が同じく１０個のデータラインを有する２つの出力ポートＰ1及びＰ2があり得る。ポートＰ0における入力データは、ステアリング・データ内に与えられた情報に応じて、又は他の経路指定方法によって、ＭＭのメモリの１つ又はポートＰ1若しくはＰ2へ経路指定される。
【００４５】
メモリをＭＭと関連付けることができ、メモリは、ＭＭと一体であってもよく、又はＭＭと通信状態にあってもよく、また、これまでに述べたいずれのタイプのデータ・メモリとすることもできる。メモリは、他のコンピュータ又は通信装置、或いは他の外部装置へのインターフェースで置き換える又は補完することができるので、メモリアドレスにより、例えば、ＭＭからディスプレイ、ネットワーク・インターフェース等へのデータの入出力をもたらすことができる。
【００４６】
経路指定及び他の関連した機能を実行する装置は、構成可能なスイッチング素子（ＣＳＥ）と呼ぶことができる。図４は、ＣＳＥの部分を示す。本例においては、ＭＭ回路は、幾つかの異なるクロック速度で動作することができる。複数のクロック速度により、システムの電子的実現を容易にすることができるが、十分に高速の電子コンポーネントを取得できる場合、ＣＳＥの動作の全てを共通のクロック速度で実行することができ、そのクロック速度は、バスデータ速度の速度とすることができる。システム・クロックＳＹＳＣは共通クロック（ＳＹＳＣ）から、システム・クロックＳＹＳＣを使用するモジュールのそれぞれに分散することができる。システム・クロック（ＳＹＳＣ）速度は、ホップのライン上のシリアル・ビットデータのビットクロック速度とは異なるようにすることができ、当技術分野において周知のクロック速度乗算器又は分算器をモジュール或いは他の場所で使用し、ローカルクロックを得ることができる。シリアル・ビット速度クロックは、システム・クロックＳＹＳＣの倍数ｍ、又は約数とすることができ、ＭＭの部分は、例えばスイッチ・クロック速度（ＳＷＣ）などの別のクロック速度で動作することができる。本例において、データ・クロック速度ＤＣはＳＹＳＣの１６倍であり、スイッチ・クロック速度（ＳＷＣ）は、ＳＹＳＣの４倍である。モジュールにおいて、他のクロック周波数を使用することができる。使用されるクロックの一部は、ＳＹＳＣと一体的に関連付けられていないこともある。
【００４７】
モジュールＭＭを接続するラインの１つは、他のライン上で使用されるプロセスを表すように説明される。ポートＰ0における入力ラインは、インピーダンスの合致を与えることができるアナログ回路に受けられるか、又はこれに接続され、このアナログ回路は、明示的又は内因性帯域フィルタリングを含むことができ、かつライン上の差動信号を、さらなるデータ処理又は操作に適した電気信号に変換することができる。述べられたように、本説明は、モジュールが、クロックのアラインメント又はクロック位相オフセットの判断を含めて、システムの残りの部分に関して既に構成されていると推定され、従って、構成プロセス、エラー検出、エラー回復等については、それ以上詳細に説明しない。
【００４８】
図４に示すように、受信回路（ＲＸ）からの出力信号は、クロック・データ回復（ＣＤＲ）回路により処理される。デシリアライザ（ｄｅｓｅｒｉａｌｉｚｅｒ、ＤＥＳ）を用いて、データをシリアル形式から複数のデータストリームに変換することができるので、スイッチ回路（ＳＣ）においてデータを用いることができるようなより低いクロック速度ＳＷＣでデータをパラレル処理することができる。ＣＤＲ回路は、ＤＬＬ（遅延ロック・ループ）又はＰＬＬ（位相ロック・ループ）又は同様のものとして当技術分野において周知の多くの回路タイプのうちの１つとすることができ、これにより受信されるデータにおけるビット位置に対して固定した関係をもつ回復されたデータ・クロック（ＲＤＣ）を確立することができる。データ信号が有効である場合、回復されたデータ・クロックＲＤＣを使用して、ビットを受信した時点におけるライン上の信号をサンプリングすることができる。つまり、受信されたデータ信号のサンプリング時間は、ビット間の境界上でデータサンプルが取得されず、かつ、ホップ上の伝送において起こり得る歪みの影響が最小となるように、アライメントされる。初期化の時点でＲＤＣを文字列境界とアライメントすることもできる。
【００４９】
共通のシステム・クロックから異なるモジュールまでクロック信号ＳＹＳＣによりとられる異なる伝搬経路、モジュールにおける差動時間遅延に起因する位相オフセット（又は、少なくとも分数のビット時間）によって、及び、隣接するモジュール間の異なるラインの異なる信号伝搬遅延による異なる信号伝搬遅延によって、回復されたデータ速度クロック（ＲＤＣ）は、局所的に生成されたデータ・クロック（ＤＣ）からオフセットすることができる。
【００５０】
モジュール間の伝播遅延時間の差異を、スキューと呼ぶことができ、スキューは、固定成分及び可変成分の両方を有することができる。モジュール上の各経路が経験する付加的な伝播時間の差動遅延も関連しており、スキューを説明する場合、他に具体的にと特徴付けられない限り、全体の差動時間遅延を意味する。例えば、モジュール間の伝播時間は、マザーボード上のトレースに沿った信号の伝播時間を含む場合があり、これは光速の約半分より大きい速度とすることができ、伝播は、前のモジュールの送信機ＴＸ及び現在のモジュールの受信機ＲＸのフィルタ、並びに、デジタル・バッファ等において遅延する。実際のアナログ電子回路は、有限の帯域幅を有し、帯域幅付近で動作するこうした回路は、信号処理において付加的な伝搬遅延をもたらすことがある。
【００５１】
伝播遅延は、位相遅延又は時間遅延のいずれかであると考えることができる。アナログ回路は、クロック周期のオーダーの時間遅延を有することができ、遅延は、コンポーネント値の関数とすることができ、これは温度依存性とすることができる。幾らかの経年変化が生じることもあるが、これは一般に長い時間スケールにおけるものである。従って、入ってくる文字列の第１のビットと対応するモジュール・クロック・エッジとの間の位相又は時間関係を、先験的に知ることはできない。固定された回路構成におけるスキュー又は伝播の変動についての時間スケールを説明する場合、長時間とは、クロック速度における文字列の持続時間の小さい倍数よりも、変動の時間スケールが大きいことを意味するように理解される。
【００５２】
構成プロセス中に、クロック及びデータをアライメントすることができ、文字列の訓練を用いて、ラインごとに、文字列又はフレーム境界、信号有効ウィンドウ、及びＲＤＶとの間の関係を確立することができる。一旦確立されると、その関係は、ＤＬＬ又はＰＬＬにより維持され、ＲＤＣを使用してデシリアライザ（ＤＥＣ）をクロック制御することもできる。ＤＬＬ又はＰＬＬは、ＣＤＲ回路を用いて更新することができるので、例えば環境要因（通常は温度）によりホップの伝搬時間遅延が変化するとしても、サンプリング・ポイントは、有効データウィンドウを有するように維持される。つまり、あるラインについてのあるモジュールにおける回復されたデータ・クロック（ＲＤＣ）の特定のクロック・ビットと、文字列の０番目のビットとの間の関係は、ホップ上の時間遅延が変動しても変化しないままである。この変動は、フレーム又は文字列速度と比べて遅いため、ＤＬＬ又はＰＬＬは継続的に更新されないことがある。システム設計に応じて、データがホップのライン上で連続的に伝送されない場合、周期的な同期伝送を起動して、ＲＤＣを調整し、その関連を維持することができる。
【００５３】
ライン上の文字列のビットを表す変換を表すシリアル・データ・ストリームを、より低いデータ速度で局所的に処理することができる複数のパラレル・データ・ストリームに変換する例が、図５に示される。デシリアライザ（ＤＥＳ）によって、文字列（本例では２０ビット）が、回復されたデータ・クロック速度（ＲＤＣ）で処理され、ラインデータ速度の半分及び四分の一のクロック速度でモジュール内に経路指定される。個々のデータビット位置とスイッチ論理におけるプレーン（ｐｌａｎｅ）との論理的関連が示され、ここで各プレーンは、スイッチ・クロック速度（ＳＷＣ）で動作される。処理の低クロック速度部分に対するデータの他の論理割り当ても等しく可能である。この例では、文字列のデータは、完全にはデシリアライズされない。つまり、４つの内部データ経路（プレーンＡ−Ｄ）が使用され、データは、完全にはパラレル・データ文字列に変換されない。同様に、論理が十分高速である場合には、シリアライズ又はデシリアライズすることなく、文字列を完全なシリアル・データ文字列として処理することができる。
【００５４】
論理的表現ではなくビットの時間が示された場合、ハーフレート・ドメインにおけるデータの連続するビット間の時間又は間隔は、入ってくるデータのものの２倍となり、クオーターレート・ドメインにおけるデータビットの時間は、入ってくるデータのものの４倍となることが理解されるであろう。本例では、データは、入ってくる文字列の偶数ビット又は奇数ビットとして示されるが、この表記は、単に説明の便宜のためのものであり、データビットがモジュール内で経路指定される方法を制限することを意図するものではない。
【００５５】
位相アラインメント・バッファ（ＰＡＢ）を用いて、デシリアライザ（ＤＥＳ）の出力を内部スイッチ・クロック（ＳＷＣ）とアライメントする。スイッチ速度クロックは、ＳＷＣ1及びＳＷＣ11のようなスイッチＳＷから分散されるものとして示され、スイッチの入力及び出力においてＰＡＢのために用いられるＳＷＣが、どちらもＳＷＣのものと同じ周波数であるクロック速度を有するが、各々が、スイッチ（ＳＷ）自体に用いられるＳＷＣとは異なるが実質的に固定された位相又は時間オフセットを有し得ることを意味する。
【００５６】
１つの態様において、ＰＡＢのビット長は、文字列より短くてもよく、米国特許出願第１１／４０５，０８３号に記載された経路指定スキームが用いられる場合、経路指定情報は、受信モジュールにより完全な文字列が受信される前に取得することができる。ＰＡＢ長は１８ビット未満とすることができ、５ビットの長さとすることができる。
【００５７】
本例では、文字列は、５つのデータビットの４つのパケットにデシリアライズされ、クロック速度ＳＷＣは、ＤＣの四分の一である。ＰＡＢは、入力された文字列の０番目のビットがＳＷＣの先端とアライメントされるように作用することができる。文字列（第１、第２、及び第３）のデシリアライズされたデータの後続ビットは、それぞれ、ＳＷＣ（９０°、１８０°、２７０°）の相対的な位相とアライメントすることができる。文字列の後続ビットは、遅れずに従い、同様に処理することができる。
【００５８】
パケットは、処理して、パケットをメモリに又は出力ポートＰ1、Ｐ2の一方に経路指定するために、スイッチ（ＳＷ）によりパケットを経路指定することができる。この経路指定は、受信されたステアリング・データ文字列に基づいて、動的なものにすることができる。さらに、スイッチ（ＳＷ）は、例えば、Ｐ0のライン１上の入力文字列をＰ1上の出力ライン３へ転送することによって、レーン交換を行なうことができる。論理的レーンと物理的ラインの関連は、本質的に静的なものとすることができ、プロセスは「バインディング」と呼ぶことができる。このように、入力文字列を経路に沿ってメモリ位置又は別のモジュールに経路指定することができ、ラインへのレーンの割り当てを用いて、例えば、宛先モジュールにおけるフレームの文字列間の差動スキューを管理することができる。予備ラインという用語は、現在のところレーンにバインドされていない、２つのポートを接続する任意のラインを指すために用いられる。
【００５９】
スイッチ（ＳＷ）とオンモジュール・メモリとの間のインターフェースは、モジュール間のインターフェースに類似する場合があり、ローカル・メモリとの間にあることが意図されるパケットにおける文字列を提供することができる。この受信は、フレーム内の文字列をスキュー除去すること及びフレームをメモリに転送することを含むことができる。こうした局所的なデータ回復は、米国特許出願第１１／４０５，０８３号に説明されている。
【００６０】
データが出力ポート（例えば、Ｐ1又はＰ2）に経路指定される、スイッチ（ＳＷ）における処理の後、文字列のパケットは、入力として、出力位相アラインメント・バッファＰＡＢに出力される。出力ＰＡＢは、構成プロセス中に確立された出力シリアライザＳＥＲにおいて、文字列の０番目のビットとデータ・クロックＤＣのクロック・エッジとのアライメントを維持する役割を果たす。スイッチ（ＳＷ）における処理は一般に同期プロセスであるため、スイッチ・クロック（ＳＷＣ）とデータ・クロック（ＤＣ）の間のスキューは、一旦確立すると、相対的に静的なままである傾向がある。つまり、スイッチを通るビットの伝播遅延時間は実質的に一定である。しかしながら、スイッチ（ＳＷ）に入力されるデータの位相又は相対時間は、データ・クロック（ＤＣ）に関して、ライン毎に異なり得る。出力ＰＡＢを用いて、ライン上の文字列のビットを、そのラインのデータ・クロック（ＤＣ）の適切なクロック周期とアライメントすることができる。このアライメントはライン毎に行なわれ、フレームの文字列は、別個に処理されるので、各ホップにおいて再同期させる必要はない。
【００６１】
次に、シリアライザが、文字列のパケットのビットを、ライン上で既に伝送された文字列と同じタイミングを有する文字列に併合する。つまり、ｎ番目の後続文字列のビット０と、前の文字列の０番目のビットから２０ｎクロック周期だけ遅延されたデータ・クロックＤＣのクロック・エッジとの関連が維持され、ここでｎは正の整数である。従って、文字列のタイミングは、伝送される実際の文字列がない場合でも維持される。シリアライザ（ＳＥＲ）の出力は、次のホップでの伝送のために、ＴＸ回路における差動アナログ・データ信号に変換することができる。
【００６２】
フレーム内の他のライン上の他の文字列も同様に扱われる。しかしながら、ラインの各々は、別個のＣＤＲ回路を有し、ライン毎のＲＤＣは、互いに対して及びＳＷＣに対して、異なる位相を有することができる。各ライン上の位相の変動はまた、ライン長、増幅器、又はフィルタ特性等といった、回路の詳細に対応する時間又は温度への異なる依存性を有することもできる。
【００６３】
図６は、スイッチ（ＳＷ）の単純化された機能ブロック図を示す。スイッチは、レーン交換グリッド（ＬＥＧ）及びポート交換グリッド（ＰＥＧ）の２つのスイッチで形成することができる。示されるように、１つのＬＥＧしかないが、特定の設計に応じて、スイッチ出力において１つ又はそれ以上のＬＥＧ素子を設けることもでき、或いは、入力又は出力におけるＬＥＧを省略することができる。ここで、入力ライン（０−９）は、レーン（例えば、Ａ−Ｊ）と関連付けられ、例えば、レーンＡは入力においてライン０と関連付けられる。例えば、出力ポートＰ1への経路指定を行なうことができ、そこで、例えば、出力においてレーンＡをライン３と関連付けることができる。バインディング、スイッチング、又は入力ラインから出力ライン及びポートへの文字列の経路指定は、それぞれＬＥＧ及びＰＥＧによって行なうことができる。残りのラインＢ−Ｊの出力ライン１−９へのバインディングは、システムが構成されたときに決定することができ、その結果、入力フレームにおける各レーンが出力における特定の物理的ラインに経路指定される。レーンＡは、別のラインにもバインドさせることができる。バインディングは、モジュール上のポート毎に異なることがあり、モジュール間で異なることもある。
【００６４】
このプロセスの結果は、ホップ上のデータの伝送が時間の経過と共に変化する場合でも、モジュールのいずれかにおいてデータ・クロックがデータ・クロックＤＣである場合に、メモリ・コントローラＭＣによって伝送された文字列のビット（例えば、０番目のビット）のデータ・クロックＤＣの同じクロック・エッジに対する関連を維持することとすることができる。
【００６５】
この概念を図７Ａ−図７Ｂに示す。図７Ａにおいて、伝播遅延時間Ｄ1は、モジュールＭＭ1の出力とモジュールＭＭ2の出力との間の伝播遅延時間を表す。データのレーン毎にこの時間を一定に維持することにより、ライン上で伝送された文字列の最初のビットとＤＣのクロック・エッジとの間の確立された対応関係が、構成プロセスの完了時に存在したものと同じに維持される。遅延Ｄ1は、遅延Ｄ2及びＤ3の和であると考えることができ、ここでＤ2は、スイッチとは関連付けられていない遅延とすることができ、Ｄ3はスイッチ（ＳＷ）と関連付けられた遅延である。遅延Ｄ2及びＤ3の各々は、時間と共に環境要因により変化することがあるが、遅延における変化の影響は、位相アラインメント・バッファ（ＰＡＢ）によって補償され、これにより全体的な伝送時間の遅延は実質的に一定となる。これは、図７Ｂにより詳細に示される。実質的に一定であるとは、同期後に、文字列の第１のビットの全体的な伝送時間が、再同期化することなく、ビット時間より長く変化しないように回路が調整されることを意味することが理解される。
【００６６】
これまでの説明において、ＳＹＳＣクロック・ソースにおけるクロック・エッジに関する、モジュールにおけるシステム・クロック（ＳＹＳＣ）の時間遅延は、モジュール上にないこともあるが、暗黙のうちに一定であると推定されてきた。この時間遅延はまた、環境要因又は経年変化に伴って変動することもあるが、各モジュール上の位相アラインメント・バッファ（ＰＡＢ）がＤＣとＳＷＣとＲＤＣとの間の相対的時間遅延を補償するので、ＳＹＳＣのクロック遅延の変動も補償することができる。
【００６７】
説明される配置の結果は、ＭＭの入力ＰＡＢにおいて、１つの完全な文字列又はそれ以上をバッファに入れる必要がなく、ホップの遅延における変化に対する調整を行なうことができるということである。ＰＡＢの深さは、例えば、ホップのラインの全てにわたるスキューの全体の変動ではなく、ホップにおけるラインについての動作温度範囲にわたるスキューのおよその変動とすることができる。構成時点において、クロック速度ドメイン間の転送のために、バッファにおける適切な時点でデータを配置することができるので、転送期間中、データビット位置をバッファ内に維持することができる。
【００６８】
位相アラインメント・バッファにより、結果として、環境要因によるスキューにおける変化を考慮して、メモリ・モジュールを通した全体的な時間遅延を最適化することができる。データが複数のホップを有する経路にわたって伝播される場合、中間モジュールにおいてフレームのデータを回復し、データ経路に沿って遅延を付加することによりスキュー除去を行なう手法と比べると、ＭＣと宛先モジュールとの間の全体的な時間遅延を低減させることができる。ソース又は宛先モジュールにおいて、遅延をラインの１つ又はそれ以上に付加して残りのスキューに対処することができ、或いは、構成中に遅延を付加して全体的なスキューを最適化することができる。
【００６９】
同期と呼ぶことができる、データ・クロックＤＣといずれかのラインのデータとの関連が、該関連が確立された後に維持され、かつ、モジュールの対において局所的に維持されるので、システムの帯域幅又は待ち時間の性能上の理由により必要な場合を除いて、各ライン上のデータ伝送が連続的である必要はない。ラインが必要とされない場合、送信機コンポーネント及び受信機コンポーネントから、並びに、おそらくＣＤＲの部分及び他の回路から、電源を除去することができる。データは、典型的には、入力ポートから、ローカル・メモリ又は２つの出力ポートのうち１つに経路指定され、出力ポートの少なくとも１つは、必要とされない場合に遮断することができる。
【００７０】
残りのラインに警告するなど、以前にアクティブでなかったリンクにおけるデータフレーム、又は、リフレッシュのために送られるデータに信号を送るために、サブポートのラインのグループにおけるラインの１つをアクティブな状態に維持することができる。しかしながら、信号存在表示器（ｓｉｇｎａｌ  ｐｒｅｓｅｎｃｅ  ｉｎｄｉｃａｔｏｒ）を用いることもでき、それにより、ライン上におけるデータの存在により受信機及び関連した回路が作動される。従って、定常状態の動作において、ラインはアクティブであっても又はアクティブでなくてもよく、データラインがアクティブであるとき、データ（データはステアリング・データとすることができる）、コマンド（アドレス指定を含む）、格納され又は読み込まれるデータ、或いはクロック保守用伝送が送信される。
【００７１】
本発明の例示的な実施形態のごく一部が上記に詳細に説明されたが、当業者であれば、本発明の新規な教示及び利点から著しく逸脱することなく、例示的な実施形態において多くの修正が可能であることを容易に理解するであろう。従って、全てのこうした修正は、本発明の範囲内に含められることが意図される。
【図１】
2011502293.tif 000003
【図２Ａ】
2011502293.tif 000004
【図２Ｂ】
2011502293.tif 000005
【図３】
2011502293.tif 000006
【図４】
2011502293.tif 000007
【図５】
2011502293.tif 000008
【図６】
2011502293.tif 000009
【図７Ａ】
2011502293.tif 000010
【図７Ｂ】
2011502293.tif 000011
【国際調査報告】
2011502293.tif 000012
2011502293.tif 000013