(57)【要約】  チャネルボンディングのための方法は、マスタトランシーバがチャネルボンディングシーケンスを受信するときに開始する。プロセスは、マスタトランシーバがチャネルボンディング要求を生成して、これとチャネルボンディング構成情報とをスレーブトランシーバに送信して継続する。プロセスは、各スレーブが、チャネルボンディングシーケンスと、チャネルボンディング要求と、チャネルボンディング構成情報とを受信して継続する。プロセスは、各スレーブがチャネルボンディング構成情報に従ってチャネルボンディング要求およびチャネルボンディングシーケンスを処理して、個々のスレーブチャネルボンディング開始情報を判断して継続する。プロセスは、マスタが、チャネルボンディング構成情報およびチャネルボンディング要求に従ってチャネルボンディングシーケンスを処理して、マスタチャネルボンディング開始情報を判断して継続する。
2007505579.tif 000002
【特許請求の範囲】
【請求項１】
複数のマルチギガビットトランシーバをチャネルボンディングする方法であって、
複数のマルチギガビットトランシーバのマスタがチャネルボンディングシーケンスを受信するステップと、
マスタトランシーバが、チャネルボンディングシーケンスに応答してチャネルボンディング要求を生成するステップと、
マスタトランシーバが、チャネルボンディング要求およびチャネルボンディング構成情報を、複数のマルチギガビットトランシーバのスレーブトランシーバに送信するステップと、
スレーブトランシーバの各々が、チャネルボンディングシーケンスを受信するステップと、
スレーブトランシーバの各々が、チャネルボンディング要求およびチャネルボンディング構成情報を受信するステップと、
スレーブトランシーバの各々が、チャネルボンディング構成情報に従ってチャネルボンディング要求およびチャネルボンディングシーケンスを処理して、個々のスレーブチャネルボンディング開始情報を判断するステップと、
マスタトランシーバが、チャネルボンディング構成情報およびチャネルボンディング要求に従ってチャネルボンディングシーケンスを処理して、マスタチャネルボンディング開始情報を判断するステップと、
マスタトランシーバおよびスレーブトランシーバが、個々のスレーブチャネルボンディング開始情報およびマスタチャネルボンディング開始情報に従って、対応のバッファからのそれぞれのデータの読出および書込のチャネルボンディングを開始するステップとを含む、方法。
【請求項２】
マスタトランシーバがチャネルボンディングシーケンスを受信するステップはさらに、
入ってくるデータ内のチャネルボンディングシーケンスを受信するステップと、
入ってくるデータ内のチャネルボンディングシーケンスを検出するステップとを含む、請求項１に記載の方法。
【請求項３】
複数のマルチギガビットトランシーバのうちの１つをマスタトランシーバとして指定するステップと、
複数のマルチギガビットトランシーバのうちの残りの少なくともいくつかをスレーブトランシーバとして指定するステップとをさらに含む、請求項１に記載の方法。
【請求項４】
スレーブトランシーバの各々がチャネルボンディングシーケンスを受信するステップはさらに、
入ってくるデータ内のチャネルボンディングシーケンスを受信するステップと、
入ってくるデータ内のチャネルボンディングシーケンスを検出するステップとを含む、請求項１に記載の方法。
【請求項５】
スレーブトランシーバの各々がチャネルボンディング要求およびチャネルボンディング構成情報を受信するステップはさらに、
マスタトランシーバからチャネルボンディング要求およびチャネルボンディング構成情報を受信するステップ、または、
少なくとも１つの介在するスレーブトランシーバからチャネルボンディング要求およびチャネルボンディング構成情報を受信するステップを含む、請求項１に記載の方法。
【請求項６】
マスタトランシーバが、
スレーブトランシーバの数と、
チャネルボンディング要求を送信するマスタトランシーバに対するスレーブトランシーバの各々の伝搬遅延と、
クロック訂正情報
とをさらに含むようチャネルボンディング構成情報を生成するステップをさらに含む、請求項１に記載の方法。
【請求項７】
クロック訂正情報を生成するステップは、
ポインタ分離情報を生成するステップと、
アドレスオフセットを生成するステップと、
調整イネーブル信号を生成するステップとを含む、請求項６に記載の方法。
【請求項８】
ポインタ分離を生成するステップは、
チャネルボンディングシーケンスが受信されたときにマスタトランシーバの読出ポインタを判断してマスタ読出ポインタを判断するステップと、
チャネルボンディングシーケンスが受信されるときのマスタトランシーバの書込ポインタを判断してマスタ書込ポインタを生成するステップと、
マスタ読出ポインタとマスタ書込ポインタとの差としてポインタ分離を判断するステップとを含む、請求項７に記載の方法。
【請求項９】
アドレスオフセットを生成するステップは、
マスタトランシーバのメモリのワード線に対するチャネルボンディングシーケンスのバイト位置を判断するステップと、
バイト位置に基づきアドレスオフセットを確立するステップとを含む、請求項７に記載の方法。
【請求項１０】
スレーブトランシーバの各々が、チャネルボンディング構成情報に従ってチャネルボンディング要求およびチャネルボンディングシーケンスを処理して個々のスレーブチャネルボンディング開始情報を判断するステップは、
スレーブトランシーバの対応の１つの伝搬遅延に基づき予め定められた時間だけチャネルボンディングシーケンスを遅延させて、遅延チャネルボンディングシーケンスを生成するステップと、
チャネルボンディング要求および遅延チャネルボンディングシーケンスの受信がタイムウインドウ内にあるかを判断するステップと、
チャネルボンディング要求および遅延チャネルボンディングシーケンスの受信がタイムウインドウ内にある場合に、
スレーブトランシーバの対応の１つの伝搬遅延と最大伝搬遅延との差に基づき、独自の保持時間を判断するステップと、
スレーブトランシーバの対応の１つによりチャネルボンディングシーケンスが受信された時間を格納してチャネルボンディングシーケンスアドレスを生成するステップと、
チャネルボンディングシーケンスアドレスとチャネルボンディング要求と独自の保持時間とのうちの少なくとも１つに基づきチャネル保持書込開始アドレスを判断するステップと、
ポインタ分離とアドレスオフセットとチャネルボンディング書込開始アドレスとに基づきスレーブトランシーバの対応の１つの読出ポインタおよび書込ポインタを調整するステップとを含む、請求項７に記載の方法。
【請求項１１】
チャネルボンディング構成情報およびチャネルボンディング要求に従ってチャネルボンディングシーケンスを処理してマスタチャネルボンディング開始情報を判断するステップは、
チャネルボンディングシーケンスが受信されたアドレスを格納してチャネルボンディン
グシーケンスアドレスを生成するステップと、
チャネルボンディングシーケンスアドレスおよびチャネルボンディング構成情報の最大伝搬遅延に基づきチャネルボンディング書込開始アドレスを判断するステップとを含む、請求項１に記載の方法。
【請求項１２】
マルチギガビットトランシーバのためのチャネルボンディングモジュールであって、チャネルボンディングモジュールは、
マルチギガビットトランシーバのバッファに動作可能に結合されるチャネルボンディングシーケンスコンパレータを含み、バッファは受信データを一時的に格納し、チャネルボンディングシーケンスコンパレータは受信データのデータブロックとチャネルボンディングシーケンスとを比較し、受信データのデータブロックの現在のデータブロックがチャネルボンディングシーケンスと実質的に一致する場合、チャネルボンディングシーケンスコンパレータはチャネルボンディングシーケンス検出信号を生成し、モジュールはさらに、
動作可能に結合されてバッファに対する読出ポインタおよび書込ポインタを生成するポインタ生成モジュールと、
動作可能に結合されるチャネルボンディング処理モジュールとを含み、チャネルボンディング処理モジュールは、
書込ポインタおよびチャネルボンディングシーケンス検出信号に基づきチャネルボンディングシーケンスアドレスを生成し、
チャネルボンディングシーケンスアドレスおよびチャネルボンディング構成情報に基づきチャネルボンディング開始アドレスを生成し、
チャネルボンディング構成情報に基づきチャネルボンディング開始表示を生成し、
チャネルボンディングの開始時に、書込ポインタがチャネルボンディング開始アドレスに対応するように、チャネルボンディング開始アドレスおよびチャネルボンディング開始表示をポインタ生成モジュールに与える、チャネルボンディングモジュール。
【請求項１３】
クロック訂正モジュールをさらに含み、クロック訂正モジュールは、
クロック訂正情報と、読出ポインタと、書込ポインタとに基づきポインタ調整情報を生成し、クロック訂正情報はポインタ分離情報と、アドレスオフセットと、調整イネーブル信号とを含み、クロック訂正モジュールはさらに、
ポインタ調整情報をポインタ生成モジュールに与え、ポインタ生成モジュールはチャネルボンディングの開始前に読出ポインタおよび書込ポインタを調整する、請求項２０に記載のチャネルボンディングモジュール。
【請求項１４】
動作可能に結合されて、マルチギガビットトランシーバがマスタトランシーバまたはスレーブトランシーバのいずれであるかを表示する、マスタ／スレーブモジュールをさらに含む、請求項２１に記載のチャネルボンディングモジュール。
【請求項１５】
チャネルボンディング処理モジュールはさらに、マルチギガビットトランシーバがマスタトランシーバである場合に、
チャネルボンディングシーケンス検出信号に応答してチャネルボンディング要求を生成し、
スレーブトランシーバにチャネルボンディング要求を与え、
スレーブトランシーバの数と、チャネルボンディング要求を送信するマスタトランシーバに対する伝搬遅延と、最大伝搬遅延とを表示するようチャネルボンディング構成情報を生成するよう機能し、
マルチギガビットトランシーバがスレーブトランシーバである場合には、
チャネルボンディングシーケンスアドレスおよび書込ポインタに従ってチャネルボンディング要求を処理してチャネルボンディング開始アドレスを生成し、
スレーブトランシーバに対する伝搬遅延の伝搬遅延と最大伝搬遅延とを処理してチャネ
ルボンディング開始表示を判断するよう機能する、請求項２２に記載のチャネルボンディングモジュール。
【請求項１６】
マルチギガビットトランシーバがスレーブトランシーバである場合に、チャネルボンディング処理モジュールはさらに、チャネルボンディングシーケンスアドレスおよび書込ポインタに従ってチャネルボンディング要求を処理するよう機能し、
スレーブトランシーバの対応の１つの伝搬遅延に基づき予め定められた期間に対するチャネルボンディングシーケンス検出信号を格納して、遅延チャネルボンディングシーケンス検出を生成し、
チャネルボンディング要求および遅延チャネルボンディングシーケンス検出の受信がタイムウインドウ内にあるかを判断し、
チャネルボンディング要求および遅延チャネルボンディングシーケンス検出の受信がタイムウインドウ内にある場合に、それに従ってチャネルボンディング開始アドレスを生成し、
チャネルボンディング要求および遅延チャネルボンディングシーケンス検出がタイムウインドウ内にない場合に、チャネルボンディング誤り表示を生成することにより、チャネルボンディング開始アドレスを生成する、請求項２３に記載のチャネルボンディングモジュール。
【請求項１７】
クロック誤りモジュールはさらに、マルチギガビットトランシーバがマスタトランシーバである場合に、
ポインタ分離情報とアドレスオフセットと調整イネーブル信号とを含むようクロック誤り情報を生成するよう機能し、ポインタ分離を生成するステップは、
チャネルボンディングシーケンスが受信されるときにマスタトランシーバの読出ポインタを判断してマスタ読出ポインタを判断するステップと、
チャネルボンディングシーケンスが受信されるときにマスタトランシーバの書込ポインタを判断してマスタ書込ポインタを生成するステップと、
マスタ読出ポインタとマスタ書込ポインタとの差としてポインタ分離を判断するステップとを含み、
アドレスオフセットを生成するステップは、
マスタトランシーバのバッファのワード線に対するチャネルボンディングシーケンスのバイト位置を判断するステップと、
バイト位置に基づきアドレスオフセットを確立するステップとを含む、請求項２２に記載のチャネルボンディングモジュール。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の背景
発明の技術分野
この発明は一般的に汎用集積回路に関し、より特定的には、複数のシリアルトランシーバを有する集積回路に関する。
【背景技術】
【０００２】
関連技術の説明
公知であるように、集積回路（ＩＣ）は、さまざまな技術（たとえばＣＭＯＳ、ガリウム砒素、シリコンゲルマニウム、バイポーラなど）を用いて製造されて、無数の電子回路をもたらし得る。たとえば、マイクロプロセッサ、読出専用記憶装置（ＲＯＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）およびデジタルシグナルプロセッサ（ＤＳＰ）は典型的にはＣＭＯＳ技術を用いて製造され、広範なプログラマブル電子回路および／またはデータストレージをもたらす。
【０００３】
そのようなＩＣにより処理されるデータの量が増大しかつそのようなデータを処理する時間が減少するにつれ、十分な量でタイミングよくデータをチップから出し入れすることは、ますます増大するＩＣ設計上の課題を提示している。この問題に対する１つの一般的な解決策は、ＩＣの入出力インターフェイスの幅を拡大することである。たとえば、データは３２ビットデータワード、６４ビットデータワードなどで並列に提供され得る。この技術はその目的を満足するが、大きなパラレル入出力に対処するためにＩＣが多数のピンを備えることを要求するので、ＩＣパッケージサイズを増大させ、ダイサイズを増大させ、コストを高め、ＩＣおよびプリント回路基板（ＰＣＢ）のレイアウトをますます困難にする。
【０００４】
別の解決策は、ＩＣ上に高速シリアルインターフェイスを含めることである。公知であるように、高速シリアルインターフェイスはシリアルストリームのデータを送受信し、送信経路のための１つのＩＣピンおよび受信経路のための１つのＩＣピンしか必要としない。さらに公知であるように、高速インターフェイスは受信したシリアルデータをパラレルデータに変換して、ＩＣの内部バスサイズに対応させる。さらに、高速シリアルインターフェイスまたはトランシーバは、送信パラレルデータを送信シリアルデータに変換する。そのような高速シリアルインターフェイスがＣＭＯＳ技術を用いて実現される場合、シリアルデータの速度はいくらか制限される。たとえば、３．１２５ギガビット毎秒（Ｇｂｐｓ）シリアルデータ速度が、０．１８ミクロンＣＭＯＳ技術のほぼ最大速度である。
【０００５】
技術的制限（たとえば、０．１８ミクロンＣＭＯＳに対する３．１２５Ｇｂｐｓ）を超えたデータ速度を達成するために、いくつかのシリアルチャネルが並列に動作され得るが、これをチャネルボンディング（channel bonding）と称する。たとえば、１２．５Ｇｂｐｓデータ速度を達成するために、４つの３．１２５Ｇｂｐｓトランシーバが併せてボンディングされる（すなわち、４＊３．１２５＝１２．５）。この例において、各トランシーバはデータの４分の１を処理するが、これは他のトランシーバがそれぞれの４分の１データ分を処理するのと同時に行なわれる。
【０００６】
チャネルボンディングにおける技術的課題は、並列処理の間にデータの順序が失われないように、各トランシーバが他のトランシーバのすべてとの同期を保つことを確実にすることである。たとえば、４つのトランシーバの例では、第１のトランシーバが入力または
出力シリアルデータの４ビットごとの第１のビットを処理し、第２のトランシーバが入力または出力シリアルデータの４ビットごとの第２のビットを処理し、第３のトランシーバが入力または出力シリアルデータの４ビットごとの第３のビットを処理し、第４のトランシーバが入力または出力シリアルデータの４ビットごとの第４のビットを処理する。もしこの順序が一時的にでも失われれば、受信または送信されたデータは破損する。
【０００７】
チャネルボンディングセットアップ待ち時間（すなわち、チャネルボンディングの開始を認識し、メモリアクセスタイミングを調整し、かつトランシーバに責務を割当てるための処理時間）のために、同時にボンディングされ得るトランシーバの数は制限される。典型的には、セットアップ待ち時間のために約４つの３．１２５Ｇｂｐｓトランシーバしか同時にボンディングされ得ない。ダイサイズが増大するにつれ、トランシーバのスペーシングもまた増大し、これによりセットアップ待ち時間が長くなる。さらに、より高速なデータ速度（たとえば４０Ｇｂｐｓ）に対する消費者の要望も高まっている。
【０００８】
したがって、顕著な数のチャネル（すなわち、高速シリアルトランシーバ）をボンディングして、セットアップ待ち時間による制限のない高速データ速度を実現する技術に対する必要性が存在する。
【発明の開示】
【課題を解決するための手段】
【０００９】
発明の概要
この発明の複数のマルチギガビットトランシーバのチャネルボンディングは、これらおよび他の必要性を実質的に満足する。一実施例においては、複数のマルチギガビットトランシーバをチャネルボンディングするための方法は、複数のマルチギガビットトランシーバのマスタトランシーバがチャネルボンディングシーケンス（すなわち、チャネルボンディングのための指示であって、所望のデータ速度、ボンディングされるチャネルの数、およびチャネル割当を含む）を受信するときに開始する。プロセスは、マスタトランシーバがチャネルボンディングシーケンスに応答してチャネルボンディング要求（たとえば、特定のスレーブチャネルボンディング責務）を生成することにより継続する。プロセスは、マスタトランシーバがチャネルボンディング要求およびチャネルボンディング構成情報（たとえば、スレーブの数、伝搬遅延、およびクロック訂正情報）を複数のマルチギガビットトランシーバのスレーブトランシーバに送信することにより継続する。
【００１０】
プロセスは、スレーブトランシーバの各々がチャネルボンディングシーケンスを受信して、同時にまたは異なった時間に、チャネルボンディング要求およびチャネルボンディング構成情報を受信することにより継続する。プロセスは、スレーブトランシーバの各々がチャネルボンディング要求およびチャネルボンディングシーケンスをチャネルボンディング構成情報に従って処理して、個々のスレーブチャネルボンディング開始情報を判断して継続する。プロセスは、マスタトランシーバが、チャネルボンディング構成情報およびチャネルボンディング要求に従ってチャネルボンディングシーケンスを処理し、マスタチャネルボンディング開始情報を判断して継続する。
【００１１】
プロセスは、マスタトランシーバおよびスレーブトランシーバが、個々のスレーブチャネルボンディング開始情報およびマスタチャネルボンディング開始情報に従って、それぞれのデータのチャネルボンディング書込およびそれぞれのデータの読出を対応のバッファに対し開始することにより継続する。そのような方法により、チャネルボンディングセットアップ処理の伝搬遅延を考慮し、よって、広いチャネルの設定に要因として含めることができる（たとえば多数のトランシーバが併せてボンディングされる）。
【００１２】
別の実施例においては、マルチギガビットトランシーバによるチャネルボンディングの
ための方法は、マルチギガビットトランシーバがマスタトランシーバであるかまたはスレーブトランシーバであるかを判断することにより開始する。マルチギガビットトランシーバがスレーブトランシーバである場合、プロセスは、所与の時間にチャネルボンディングシーケンスを検出して検出チャネルボンディングシーケンスを生成することにより継続する。スレーブプロセスは、検出チャネルボンディングシーケンスを予め定められた期間だけ遅延させて遅延チャネルボンディングシーケンスを生成することにより継続する。スレーブプロセスは、第２の所与の時間にチャネルボンディング要求を受信することにより継続する。スレーブプロセスは、チャネルボンディング要求の受信および遅延チャネルボンディングシーケンスがタイムウインドウ内にあるかを判断することにより継続する。チャネルボンディング要求の受信および遅延チャネルボンディングシーケンスがタイムウインドウ内にある場合、スレーブプロセスは、データをマスタトランシーバのデータ整列に対して整列させて、整列データを生成することにより継続する。スレーブプロセスは、整列データをマスタトランシーバのデータと同期させることにより継続する。そのような方法により、チャネルボンディングセットアップ処理の伝搬遅延を考慮し、よって、広いチャネルの設定に要因として含めることができる（たとえば多数のトランシーバが併せてボンディングされる）。
【００１３】
マルチギガビットトランシーバのためのチャネルボンディングモジュールの実施例は、チャネルボンディングシーケンスコンパレータと、ポインタ生成モジュールと、チャネルボンディング処理モジュールとを含む。チャネルボンディングシーケンスコンパレータは、受信したパラレルデータを一時的に格納するマルチギガビットトランシーバのバッファに動作可能に結合される。結合されて、チャネルボンディングシーケンスコンパレータは、受信したパラレルデータのデータブロック（たとえばバッファのデータワード線）と、チャネルボンディングシーケンスとを比較する。受信したパラレルデータのデータブロックの現在のデータブロックとチャネルボンディングシーケンスとが実質的に一致した場合、チャネルボンディングシーケンスコンパレータは、チャネルボンディングシーケンス検出信号を生成する。ポインタ生成モジュールは動作可能に結合されてバッファに対する書込および読出のための読出ポインタおよび書込ポインタを生成する。
【００１４】
チャネルボンディング処理モジュールは動作可能に結合されて、書込ポインタおよびチャネルボンディングシーケンス検出信号に基づいてチャネルボンディングシーケンスアドレスを生成し、チャネルボンディングシーケンスアドレスおよびチャネルボンディング構成情報に基づいてチャネルボンディング開始アドレスを生成し、チャネルボンディング構成情報に基づいてチャネルボンディング開始指示を生成し、かつチャネルボンディング開始アドレスおよびチャネルボンディング開始指示をポインタ生成モジュールに与え、それにより、チャネルボンディングの開始時に、書込ポインタがチャネルボンディング開始アドレスに対応するようにする。そのようなモジュールにより、チャネルボンディングセットアップ処理の伝搬遅延を考慮し、よって、広いチャネルの設定に要因として含めることができる（たとえば多数のトランシーバが併せてボンディングされる）。
【発明を実施するための最良の形態】
【００１５】
発明の詳細な説明
図１は、プログラマブルロジックファブリック１２と、複数のプログラマブルマルチギガビットトランシーバ（ＰＭＧＴ）１４−２８と、制御モジュール３０とを含むプログラマブルロジック装置１０の概略ブロック図である。プログラマブルロジック装置１０はプログラマブルロジックアレイ装置、プログラマブルアレイロジック装置、消去可能プログラマブルロジック装置、および／またはフィールドプログラマブルゲートアレイ（ＦＰＧＡ）であってもよい。プログラマブルロジック装置１０がフィールドプログラマブルゲートアレイ（ＦＰＧＡ）であるとき、プログラマブルロジックファブリック１２は、対称のアレイ構成、行基準（row-based）構成、シーオブゲート（sea-of-gates）構成、および
／または階層的なプログラマブルロジック装置構成として実現されてもよい。プログラマブルロジックファブリック１２は、マイクロプロセッサコアなどの少なくとも１つの専用の固定されたプロセッサをさらに含むことによって、プログラマブルロジック装置１０によって提供されるプログラムの柔軟性をさらに容易にしてもよい。
【００１６】
制御モジュール３０はプログラマブルロジックファブリック１２内に含まれても、または別個のモジュールであってもよい。いずれの実現例においても、制御モジュール３０は制御信号を生成してプログラマブルマルチギガビットトランシーバ１４−２８の送信部および受信部の各々をプログラミングする。一般的に、プログラマブルマルチギガビットトランシーバ１４−２８の各々は、受信データに対する直並列変換を行ない、送信データに対する並直列変換を行なう。パラレルデータは８ビット、１６ビット、３２ビット、６４ビットなどの幅であってもよい。典型的に、シリアルデータは２値レベル信号、多レベル信号などであってもよい１ビットストリームのデータとなる。さらに、より大きな送信速度をもたらすために、２つ以上のプログラマブルマルチギガビットトランシーバが併せてボンディングされてもよい。たとえば、マルチギガビットトランシーバ１４、１６および１８が３．１２５ギガビット毎秒でデータを送受信しているとき、実効のシリアル速度が３．１２５ギガビット毎秒の３倍になるようにトランシーバ１４−１８を併せてボンディングしてもよい。チャネルボンディングは、図３−図１１を参照してより詳細に説明される。
【００１７】
プログラマブルマルチギガビットトランシーバ１４−２８の各々が別個の規格に適合するように個別にプログラミングされてもよい。加えて、トランシーバの送信経路が１つの規格を支持し、同じトランシーバの受信経路が異なる規格を支持するように、マルチギガビットトランシーバ１４−２８の各々の送信経路および受信経路が別々にプログラミングされてもよい。さらに、送信経路および受信経路のシリアル速度は１ギガビット毎秒から数十ギガビット毎秒までプログラミングされてもよい。送信部および受信部または経路におけるパラレルデータのサイズもプログラム可能であり、８ビット、１６ビット、３２ビット、６４ビットなどにわたり得る。
【００１８】
図２は、プログラマブルマルチギガビットトランシーバ１４−２８の代表の１つの概略ブロック図である。この実施例においては、プログラマブルマルチギガビットトランシーバ１４−２８は、送信部７０、受信部７２、制御モジュール３５およびプログラマブルインターフェイス３６を含む。送信部７０は、プログラマブル送信ＰＭＡモジュール３８およびプログラマブル送信ＰＣＳモジュール４２を含む。受信部７２は、プログラマブル受信ＰＭＡモジュール４０およびプログラマブル受信ＰＣＳモジュール４４を含む。
【００１９】
動作時には、プログラマブルロジックファブリック１２は、幅が２バイト、４バイト、８バイトなどであってもよい送信データワード４６を、プログラマブルインターフェイス３６を介してプログラマブル送信ＰＣＳモジュール４２に与える。プログラマブル送信ＰＣＳモジュール４２は、送信データワード４６を、幅が８、１６、３２、６４ビットなどであってもよい送信パラレルデータ４８に変換する。プログラマブル送信ＰＭＡモジュール３８は、送信パラレルデータを送信シリアルデータ５０に変換する。
【００２０】
プログラマブル受信ＰＭＡモジュール４０は、動作可能に結合されて、受信シリアルデータ５２を、幅が８、１６、３２、６４ビットなどであってもよい受信パラレルデータ５４に変換する。図３を参照して詳細に説明されるプログラマブル受信ＰＣＳモジュール４４は、受信パラレルデータ５４を、幅が２バイト、４バイト、８バイトなどであってもよい受信データワード５６に変換する。プログラマブル受信ＰＣＳモジュール４４は、受信データワード５６をプログラマブルインターフェイス３６を介してプログラマブルロジックファブリック１２に与える。
【００２１】
この実施例において、制御モジュール３５は、送信部７０および受信部７２をそれぞれ送信設定７４および受信設定７６を介してプログラミングする。制御モジュール３５はまた、ロジックインターフェイス設定５８を介してプログラマブルインターフェイス３６をプログラミングする。したがって、制御モジュール３５は一方の規格に従って機能するよう受信部７２をプログラミングする一方、チャネルボンディングを行なうよう別の規格に従って送信部７０をプログラミングし得る。さらに、ロジックインターフェイス設定５８は、受信データワード５６がプログラマブルロジックファブリック１２に与えられた速度とは異なった速度で、送信データワード４６がプログラマブルロジックファブリック１２から受信されたことを指示し得る。当業者は理解するであろうが、プログラマブルインターフェイス３６は、プログラマブルロジックファブリック１２との間でのデータワード５６および４６の送受信を容易にするための、送信バッファおよび受信バッファ、および／またはエラスティックストアバッファ（elastic store buffer）を含み得る。
【００２２】
図３は、プログラマブル受信ＰＳＣモジュール４４の概略ブロック図であって、これはプログラマブルデータ整列モジュール８０、プログラマブルデスクランブルおよび復号モジュール８２、プログラマブルストレージモジュール８４およびプログラマブル復号および検証モジュール８６を含む。プログラマブルストレージモジュール８４は、チャネルボンディングモジュール９０、エラスティックストレージバッファ８８およびマルチプレクサ９２を含む。
【００２３】
動作時には、プログラマブルデータ整列モジュール１７０は、受信パラレルデータ５４を受信する。設定７６に基づいて、プログラマブルデータ整列モジュール８０は、受信パラレルデータ５４を処理せずにプログラマブルデスクランブルおよび復号モジュール８２に渡すか、受信パラレルデータを有効化した後でプログラマブルデスクランブルおよび復号モジュール８２に与えるか、および／または有効化されたデータを同期させた後でプログラマブルデスクランブルおよび復号モジュール８２に与える。
【００２４】
プログラマブルデスクランブルおよび復号モジュール８２は、マルチプレクサ１８４の出力を受信し、設定７６に基づいて、処理せずにデータをプログラマブルストレージモジュール８４に渡すか、データをデスクランブルした後でプログラマブルストレージモジュール８４に与えるか、および／またはデータを復号した後でプログラマブルストレージモジュール８４に与える。
【００２５】
プログラマブルストレージモジュール８４は、プログラマブルデスクランブルおよび復号モジュール８２からエラスティックストアバッファ８４を介して受信したデータをバッファし、チャネルボンディングを容易にするか、またはデータを直接マルチプレクサ９２に渡す。チャネルボンディングモジュール９０は、図４から図１１を参照してより詳細に説明するが、プログラマブルマルチギガビットトランシーバの１つのレシーバが別のマルチギガビットトランシーバ内の別のレシーバにリンクされるかまたはボンディングされることを可能にし、実効シリアルデータ速度を向上させる。
【００２６】
プログラマブル復号および検証モジュール８６は、マルチプレクサ９２の出力を受信し、設定７６に従ってそれを受信データワード５６として直接渡すか、データを巡回冗長検査によって処理するか、および／またはさらに復号して受信データワード５６を生成する。
【００２７】
図４は、３つのチャネルのチャネルボンディングを例示する。この例において、ＰＭＧＴ１４がマスタトランシーバとして指定され、ＰＭＧＴ１６および１８がスレーブトランシーバとして指定されている。典型的には、プログラマブルロジック装置１０のユーザ、
または複数のマルチギガビットトランシーバを含むＩＣのユーザがマスタ／スレーブ指定を行なう。これに代えて、トランシーバのうちの１つがデフォルトの機構を介してマスタとして選択されてもよい。別の代替例として、マスタトランシーバはチャネルボンディング開始の際に動的に確立されてもよい。
【００２８】
示されるように、ＭＧＴ１４は伝送線を介してＴＸデータ１を受信し、ＭＧＴ１６は別個の伝送線を介してＴＸデータ２を受信し、ＭＧＴ１８はさらに別個の伝送線を介してＴＸデータ３を受信する。この例においては、送信データ（ＴＸデータ１、２および３）は、４バイトデータワードを表わすシリアルデータストリームである。たとえば、ＴＸデータ１の第１のデータワードは４バイト（Ａ1、Ｂ1、Ｃ1、およびＤ1）を含み、ＴＸデータ２の第１のデータワードは４バイト（Ａ2、Ｂ2、Ｃ2、およびＤ2）を含み、ＴＸデータ３の第１のデータワードは４バイト（Ａ3、Ｂ3、Ｃ3、およびＤ3）を含む。当業者は理解するであろうが、データワードサイズはバッファ８８のワード線、その並列数、および／またはプログラマブルロジック装置のバス幅に対応する。
【００２９】
この例においては、伝送線における相違（たとえば、異なった伝送線効果）のために、ＭＧＴ１４−１８の各々は、それぞれのデータをわずかに異なった時間で受信し、格納しかつ処理する。さらに、ＭＧＴのクロック速度におけるわずかな相違のために、それらはわずかに異なった速度でエラスティックストレージバッファ８８からのそれぞれのデータを格納しかつ処理する。これは、ＴＸデータ１、２、および３（たとえばＡ１、Ａ2、およびＡ3）の第１のデータワードの各々の第１のバイトが、同期してそれぞれの伝送線に配置されていることで図示される。しかしながら、それぞれのエラスティックストレージバッファ８８の内容に示されるように、データのバイト整列はシフトされている。たとえば、３つのトランシーバの中で最初にＭＧＴ１６がＴＸデータ２の第１のデータワードの第１のバイト（たとえばＡ2）を受信し、格納し、処理するが、これを元来送信されたデータに対してシフトされた位置で行なう（たとえば、バイト位置１に対してバイト位置３において行なう）。
【００３０】
次にＭＧＴ１４がその対応のＴＸデータの第１のデータワードの第１のバイトを受信し格納し、処理するが、これをＭＧＴ１６がその対応の第１のデータワードの第１のバイトを受信した３バイト後に行なう。よって、異なった伝送線効果および処理速度のために、ＭＧＴ１４はＭＧＴ１６とは異なったデータワード線上のその第１のデータワードのその第１のバイトを処理する。ＭＧＴ１８が、その第１のデータワードの第１のバイトを処理する最後のＭＧＴである。
【００３１】
ＴＸデータが、この例ではＴＸデータ１、２および３の最初の２つのデータワード線に対応する、シリアルのボンディングされていないデータ１０２である限り、ＭＧＴが各々独立したデータを処理するので、処理時間および伝送線効果における相違はＭＧＴの性能に影響を与えない。しかしながら、ＭＧＴがチャネルボンディングされるべき場合、これらの相違は考慮されて訂正されなければならない。
【００３２】
示されるように、各ＴＸデータの第３のデータワード線は、４バイトワード（Ｘ、Ｘ、Ｘ、Ｘ）により表わされるチャネルボンディングシーケンスを含む。チャネルボンディングシーケンスは、チャネルボンディングセットアップ情報を含み、これはチャネルの数、物理的シーケンス（すなわちどのチャネルがＴＸデータのどのバイトをサポートするか）、バイト幅、チャネルボンディング開始のうちの１つ以上を含む。チャネルボンディングシーケンスは、マスタトランシーバをさらに識別し得る。示されるように、チャネルボンディングシーケンス１０４はＴＸデータ１、２および３内で同期して送信されるが、ＭＧＴの各々によりわずかに異なった時間で受信され、格納され、処理される。さらに示されるように、ＴＸデータ送信は、送信されたシリアルボンディングされたデータ１０６の前
に特定の期間一時停止する。一時停止の持続時間は、チャネルボンディング構成に依存する。一時停止の間に、ＴＸデータ１、２および３は停止されるか、もしくはヌル（null）、ドントケア（don't care）データまたはシリアルボンディングされたデータ１０６の開始データワード線の繰返し送信により、継続される。
【００３３】
ＭＧＴ１４をマスタとして、これがチャネルボンディングシーケンスを検出する場合、これはチャネルボンディング要求（ＣＢＲ）１００およびチャネルボンディング構成情報（ＣＢＣＩ）１０８を生成し、これらをスレーブ１および２（すなわちＭＧＴ１６およびＭＧＴ１８）に与える。チャネルボンディング構成に依存して、マスタはＣＢＲ１００およびＣＢＣＩ１０８を各スレーブに直接または介在するスレーブを介して間接的に与えることに留意されたい。チャネルボンディング要求１００はチャネルボンディングがセットアップされたことのスレーブに対する指示であり、チャネルボンディングセットアップに対するタイミング基準値を提供する。チャネルボンディング構成情報１０８は、チャネルボンディングにおけるスレーブの数、マスタに対するスレーブの伝搬遅延、およびクロック訂正情報を含む。クロック訂正情報は、ポインタ分離情報、アドレスオフセット、および調整イネーブル信号を含む。
【００３４】
チャネルボンディングを確立するために、マスタはチャネルボンディングシーケンスを処理して、チャネルボンディング開始を判断する。スレーブは、チャネルボンディング要求１００およびチャネルボンディング構成情報１０８とともにチャネルボンディングシーケンスを処理して、チャネルボンディング開始を識別し、そのデータの処理をマスタによるデータの処理と整列および同期させる。示されるように、ボンディングされ得る第１のデータワードは各ＴＸデータ１、２および３に対し４バイトワード（Ｗ、Ｘ、ＹおよびＺ）で開始する。伝送線効果および／または処理速度のために、マスタはそのデータワードを１バイトだけシフトさせて処理する。これは、スレーブが調整しなければならないバイト整列を、スレーブのすべてに対し確立する。さらに、マスタがその対応のバッファ８８に対して読出および書込を行なう処理速度は、スレーブが同期すべき読出および書込速度を提供する。さらに、マスタが、チャネルボンディング構成の最大伝搬遅延に基づいて、ボンディングされ得る第１のデータワードがデータワード（Ｗ、Ｘ、Ｙ、Ｚ）であることを判断する。この情報もまたスレーブに提供され得る。
【００３５】
チャネルボンディングが確立される一方で、マスタおよびスレーブはまだ独立して動作している。よって、チャネルボンディングが開始するまで、スレーブはその独立したバイトオフセットでその独立した速度でデータを格納し続ける。しかしながら、チャネルボンディングシーケンス、チャネルボンディング要求およびチャネルボンディング構成情報を処理する際に、スレーブの各々は、いつチャネルボンディングが開始するか、ボンディングされたデータの第１のデータワード線、およびデータワード線のバイト位置を知る。
【００３６】
示されるように、時間的に、マスタよりも進んでいるスレーブ１は、マスタに先じてボンディングされ得る第１のデータワードを受信して処理し、こうして受信したデータのままで格納する。しかしながら、チャネルボンディングが開始するときに、第１のデータワード、またはその一部はそのバッファ内に再び格納される。図示されるように、スレーブ１はバイトＷ、ＸおよびＹの格納を繰返して、マスタのこれらのバイトの格納に対し整列および同期させる。また示されるように、スレーブ２は、時間的に、マスタのデータワードの格納に追従する。こうして、チャネルボンディングの開始時に、スレーブ２はより新しい適切なデータワード（Ｗ、Ｘ、Ｙ、Ｚ）へとジャンプして、こうして先行のデータワードのバイトＵおよびＶの格納を省略し、マスタとの整列および同期を得る。
【００３７】
スレーブがマスタと整列および同期して、各ＭＧＴの対応のバッファ８８の結果として生じるデータはチャネルボンディングされる。セットアッププロセスにおけるＭＧＴの伝
搬遅延を含めることにより、チャネルボンディングセットアップの待ち時間が考慮され、チャネルボンディング確立に要因として含めることができる。よって、同時にボンディングされ得るトランシーバの数は、集積回路上のトランシーバの数によってのみ制限される。さらに、スレーブはさまざまな構成でマスタに結合され得る。
【００３８】
図５は、図４の例示的なチャネルボンディングのタイミング図である。この例示において、図４のマスタおよびスレーブのチャネルボンディングを確立するための機能は、時間的に、別々にグラフ化される。示されるように、マスタＭＧＴは所与の時間でチャネルボンディングシーケンス（ＣＢＳ）を検出し、これがマスタに、チャネルボンディング要求（ＣＢＲ）を生成させ、チャネルボンディング構成情報（ＣＢＣＩ）を生成させ、チャネルボンディングを開始する前に最大伝搬遅延に基づき待ち期間を判断させ、かつ待ち期間およびＣＢＳの検出に基づきそのチャネルボンディング開始アドレスを判断させる。
【００３９】
チャネルボンディングシーケンス（ＣＢＳ）の検出の一部として、マスタはＣＢＳが格納されるそのバッファのアドレスを判断してＣＢＳアドレスを生成する。マスタはＣＢＳを解釈して、チャネルボンディングにおけるスレーブの数を判断し、かつチャネルボンディング構成を判断する。図６および図７を参照して説明されるように、チャネルボンディングを達成するためにスレーブがマスタに結合され得るさまざまな態様が存在する。
【００４０】
マスタは、チャネルボンディング要求（ＣＢＲ）を準備するためのその処理時間、ＣＢＲをスレーブの各々に送信するための伝搬遅延、および各スレーブがＣＢＲとチャネルボンディングシーケンスとチャネルボンディング構成情報とを処理してチャネルボンディング開始に備えるための処理時間をわかっている。こうして、マスタに対する最大の伝搬遅延は、ＣＢＲを生成するためのその処理時間、およびスレーブがチャネルボンディングに備えるための最長遅延を含む。この例においては、スレーブ２が最長遅延を有する。プロセスばらつき、温度ばらつきを考慮し、および／またはいくらかの公差をもたらすために、スレーブ２の準備ができた後でマスタに対し待ち期間にいくらかの付加的な時間が追加されることに留意されたい。
【００４１】
マスタはまた、チャネルボンディング構成情報（ＣＢＣＩ）をも生成するが、これは次いでスレーブに与えられる。この例ではマスタがチャネルボンディング要求（ＣＢＲ）の生成が完了した後にＣＢＣＩを生成するのが示されるが、マスタはチャネルボンディンシーケンス（ＣＢＳ）を検出した後の任意の時にＣＢＣＩを生成し得る。
【００４２】
マスタは次いで、そのＣＢＲの処理時間、最大伝搬遅延、その処理速度、およびＣＢＳアドレスに基づき、そのチャネルボンディング開始アドレスを生成する。たとえば、もしＣＢＳアドレスがアドレス１００であれば、メモリは４バイトデータワード線を含み、データのワード線は１マイクロ秒で処理されることができ、そのＣＢＲの処理時間は１０マイクロ秒であり、最大伝搬遅延は２５マイクロ秒であり、合計でＣＢＳの検出からシステムがチャネルボンディングの準備ができるまで３５マイクロ秒が経過する。この３５マイクロ秒の間に、３５ワード線のデータが受信され、こうしてバッファに対する書込ポインタがＣＢＳアドレスから３５アドレス進む。こうして、チャネルボンディング開始アドレスは１３６（たとえば、１００＋３５＋１）となり、これが、時間的に、次のアドレスである。
【００４３】
スレーブ１に対するタイムラインは、それがチャネルボンディングシーケンス（ＣＢＳ）を検出したときに開始する。示されるように、スレーブ１はマスタがＣＢＳを検出する前にＣＢＳを検出するが、これは図４にも示された。チャネルボンディング要求（ＣＢＲ）の準備におけるマスタの処理遅延およびＣＢＲの受信における伝搬遅延を考慮するために、スレーブ１は特定の期間だけＣＢＳの検出を有効に遅延させ、遅延ＣＢＳを生成する
。ＣＢＳの検出の際に、スレーブ１はマスタからのＣＢＲまたは遅延ＣＢＳを探し始める。この例においては、スレーブ１がマスタよりも進んでいるために、時間的に、それがＣＢＲを受信する前に遅延ＣＢＳが生じる。したがって、遅延ＣＢＳで、スレーブ１はタイムウインドウを開始する。タイムウインドウの有効な目的は、処理されるチャネルボンディング要求が他のスレーブが処理しているものと同じであることを確実にすることである。したがって、タイムウインドウの持続時間は、いくつのスレーブがボンディングされ得るかについてＩＣに課される設計制約、およびＭＧＴ間のデータ不整列に依存する。
【００４４】
スレーブ１は次いで、チャネルボンディング要求（ＣＢＲ）の受信またはタイムウインドウの終了のいずれかを待機する。もしタイムウインドウがＣＢＲの受信前に終了すれば、チャネルボンディング誤りが生じ、チャネルボンディングが確立されない。もし、この例におけるように、ＣＢＲがタイムウインドウの間に受信されると、スレーブ１はそのチャネルボンディング開始アドレスの判断を開始する。スレーブ１はさらに時間的にいずれかの時点でチャネルボンディング構成情報（ＣＢＣＩ）を受信する。この例においては、ＣＢＣＩはＣＢＲの受信の後に受信されるが、これらはともに受信されるか、またはＣＢＲの受信の前にＣＢＣＩが受信されてもよい。この情報から、スレーブ１は、マスタと同期してチャネルボンディングを開始できるように、そのチャネルボンディング開始アドレスを調整し、その固有のホールドタイムを判断する。
【００４５】
スレーブ２は、チャネルボンディングに備えるために同一のステップを行なうが、情報の転送に伝搬遅延を有するスレーブ１からＣＢＲおよびＣＢＣＩを受信するので、時間的に遅延する。図４に示すように、スレーブ２はマスタから遅れており、こうして、図５に示すように、マスタがそのＣＢＳを検出した後でスレーブ２はＣＢＳを検出する。スレーブ２は、ＣＢＳ検出を遅延させて、遅延ＣＢＳを生成する。時間的に、スレーブ２は遅延ＣＢＳの前にＣＢＲを受信する。この例においては、スレーブ２はＣＢＲを受信するとタイムウインドウを開始し、タイムウインドウの終了前に遅延ＣＢＳが生じるかを判断する。この例においては、遅延が生じるので、スレーブ２はそのチャネルボンディング開始アドレスおよび固有のホールドタイムを生成し続け、マスタと同期してチャネルボンディングを開始することが可能である。
【００４６】
図６は、この発明に従った複数のチャネルボンディング構成のうちの１つの概略ブロック図である。この例においては、スレーブはマスタに結合されたデイジーチェーンである。マスタは、チェーン中の第１のスレーブに、チャネルボンディング要求（ＣＢＲ）１００およびチャネルボンディング構成情報（ＣＢＣＩ）１０８を与える。遅延１は、第１のスレーブがそのチャネルボンディングアドレスを完全に生成させるのに要する時間に対応する。
【００４７】
第１のスレーブは、ＣＢＲ１００およびＣＢＣＩ１０８を第２のスレーブに与え、これはＣＢＲおよびＣＢＣＩを第３のスレーブに与え、以下同様である。この例においては、マスタに結合される４つのスレーブが存在する。こうして、第４のスレーブがそのチャネルボンディング開始アドレスを完全に生成するのに要する時間が最大遅延であり、これがチャネルボンディング開始を判断するためにマスタおよび他のスレーブにより用いられる。
【００４８】
図７は、この発明に従った複数のチャネルボンディング構成のうちの別の１つの概略ブロック図である。この例においては、マスタは２つのスレーブに結合され、これらは各々別のスレーブに結合される。この例示においては、直列のスレーブがより少ないので、最大遅延は図６の例よりも小さい。チャネルボンディング構成情報１０８は各チャネルボンディング構成に対して固有に生成されることに留意されたい。
【００４９】
当業者は理解するであろうが、チャネルボンディングのためにマスタがスレーブに結合され得るさまざまな態様が存在する。さらに、トランシーバの処理および伝搬遅延を考慮することにより、過去の待ち時間問題に遭遇することなく任意の数のトランシーバが併せてボンディングされ得る。
【００５０】
図８は、エラスティックストレージバッファ８８に動作可能に結合されるチャネルボンディングモジュール９０の概略ブロック図である。この実施例においては、チャネルボンディングモジュール９０は、ポインタ生成モジュール１２０、チャネルボンディングシーケンスコンパレータ１２２、チャネルボンディング処理モジュール１２４、およびクロック訂正モジュール１２６を含む。一般的に、スレーブモードまたはマスタモードのいずれであっても、チャネルボンディングモジュール９０の機能とは、チャネルボンディングにおける他のすべてのチャネルボンディングモジュール９０と同じ時間および同じバイト位置で、その対応のバッファに対しデータの読出および書込を行なうことである。チャネルボンディングモジュール９０のモジュールの各々は、別個の処理装置であっても、多数の機能を備えた１つの処理装置に含まれていてもよい。処理モジュールは、処理装置によって行なわれる機能の対応の動作指示を格納するために、関連のメモリを有し得る。そのような処理装置は、これに限定されるものではないが、マイクロプロセッサ、マイクロコントローラ、デジタルシグナルプロセッサ、マイクロコンピュータ、中央処理装置、フィールドプログラマブルゲートアレイ、プログラマブルロジック装置、ステートマシン、ロジック回路、アナログ回路、デジタル回路、および／または動作指示に基づき信号（アナログおよび／またはデジタル）を操作する何らかの装置を含む。
【００５１】
図４の例に対応する図８の例においては、データのバイト位置は１バイトだけシフトされる。こうして、単一のデータブロック１３０または１３２がバッファ８８の２つのデータワード線１２８に格納される。たとえば、バイトＤ０がバッファ８８の特定のデータワード線１２８のバイト位置Ｂ１に格納され、バイトＤ１が同じデータワード線のバイト位置Ｂ２に格納され、バイトＤ２が同じデータワード線のバイト位置Ｂ３に格納される。データのバイトＤ４は、バッファ８８の次のデータワード線のバイト位置Ｂ０に格納される。しかしながら、データブロック１３０は、同じデータワード線に格納されるかのようにバッファに書込まれる。同様に、データブロック１３２は、１つのデータワード線に格納されるかのようにメモリから読出される。チャネルボンディングモジュール９０は、この態様でのデータの読出および書込に対処するメモリ操作を提供する。
【００５２】
チャネルボンディングシーケンスコンパレータ１２２は、データのバイトがバッファ８８に書込まれると、これをチャネルボンディングシーケンスと比較する。４バイトが、バッファ８８におけるそれらのバイト位置に拘らず、チャネルボンディングシーケンスに対応する場合、チャネルボンディングシーケンスコンパレータ１２２はチャネルボンディングシーケンス検出信号１３４を生成する。これは、チャネルボンディングモジュールがスレーブモードであってもマスタモードであっても同じ態様で行なわれる。
【００５３】
マスタモードにおいて、チャネルボンディング処理モジュール１２４は、ＣＢＳ検出信号１３４および書込ポインタ（write ptr）に基づき、チャネルボンディングシーケンス（ＣＢＳ）アドレス１３６を生成する。典型的には、ＣＢＳ検出信号１３４が活性化された時点で書込ポインタがポイントしているアドレスがＣＢＳアドレス１３６となる。チャネルボンディング処理モジュール１２４はまた、ＣＢＳに応答して、チャネルボンディング要求（ＣＢＲ）１００およびチャネルボンディング構成情報（ＣＢＣＩ）１０８をも生成する。
【００５４】
チャネルボンディング処理モジュール１２４は、スレーブトランシーバの数と、チャネルボンディング要求を送信するマスタトランシーバに対するスレーブトランシーバの各々
の伝搬遅延と、クロック訂正情報とを含めるようＣＢＣＩ１０８を生成する。チャネルボンディング処理モジュール１２４は、ポインタ分離情報（すなわち、その読出ポインタとその書込ポインタとの差）を生成し、アドレスオフセット（すなわち、チャネルボンディングシーケンスの第１のバイトである場合のそのバイト位置）を生成し、調整イネーブル信号を生成することにより、クロック訂正情報を生成する。チャネルボンディング処理モジュール１２４はまた、図４および図５を参照して説明したように、そのチャネルボンディング開始アドレス１３８およびそのチャネルボンディング開始指示１４０をも生成する。ポインタモジュール１２０は、開始アドレス１３８に従ってバッファ８８にアクセスするための読出ポインタおよび書込ポインタを生成する。
【００５５】
マスタモードにおいては、クロック訂正モジュール１２６はアイドルである。スレーブモードにおいては、クロック訂正モジュール１２６は、チャネルボンディング構成情報１０８（特に、ポインタ分離、アドレスオフセットであって、さらにマスタの処理速度を含んでもよい）と、書込ポインタと、読出ポインタとに基づき、ポインタ調整情報１４２を生成する。ポインタ調整情報１４２に基づき、調整イネーブル信号に従って、ポインタ生成モジュール１２０は、読出ポインタと書込ポインタとが異なったアドレスをポイントしていても、読出ポインタおよび書込ポインタがバイト整列されかつマスタの読出ポインタおよび書込ポインタと同期されるように、読出ポインタおよび書込ポインタを調整する。換言すれば、ポインタ調整情報１４２によって、ポインタ生成モジュール１２０はスレーブの読出ポインタおよび書込ポインタがマスタと同じアドレスオフセットおよびポインタ分離を有し、かつこれらのパラメータが維持されることを確実にすることができる。
【００５６】
スレーブモードにおいては、チャネルボンディング処理モジュール１２４は、ＣＢＳ検出信号１３４と、ＣＢＲ１００と、ＣＢＣＩ１０８と、書込ポインタとに基づき、チャネルボンディング開始アドレス１３６およびチャネルボンディング開始指示１４０を生成する。このモードにおいては、チャネルボンディング処理モジュール１２４は、ＣＢＲ１００およびＣＢＣＩ１０８をマスタまたは別のスレーブから受信する。
【００５７】
チャネルボンディングモジュール９０の別の実施例は、処理モジュールとメモリとを含む。処理モジュールは、単一の処理装置であっても複数の処理装置であってもよい。そのような処理装置は、マイクロプロセッサ、マイクロコントローラ、デジタルシグナルプロセッサ、マイクロコンピュータ、中央処理装置、フィールドプログラマブルゲートアレイ、プログラマブルロジック装置、ステートマシン、ロジック回路、アナログ回路、デジタル回路、および／または動作指示に基づき信号（アナログおよび／またはデジタル）を操作する何らかの装置であり得る。メモリは、単一のメモリ装置であっても、または複数のメモリ装置であってもよい。そのようなメモリ装置は、読出専用記憶装置、ランダムアクセスメモリ、揮発性メモリ、不揮発性メモリ、スタティックメモリ、ダイナミックメモリ、フラッシュメモリ、キャッシュメモリ、および／またはデジタル情報を格納する何らかの装置であり得る。処理モジュールが、ステートマシン、アナログ回路、デジタル回路、および／またはロジック回路を介してその１つ以上の機能を実現する場合、対応の動作指示を格納するメモリが、ステートマシン、アナログ回路、デジタル回路、および／またはロジック回路を含む回路内にまたはその外部に埋込まれてもよいことに留意されたい。図９から図１１に示されるステップおよび／または機能の少なくともいくつかに対応する動作指示を、メモリが格納し、処理モジュールが実行する。
【００５８】
図９は、ステップ１５０で開始する複数のマルチギガビットトランシーバをチャネルボンディングするための方法の論理図であり、ここで複数のマルチギガビットトランシーバのマスタトランシーバはチャネルボンディングシーケンスを受信する。一実施例においては、チャネルボンディングシーケンスは入ってくるデータ内で受信されて、次いで検出される。プロセスはステップ１５２に進み、ここでマスタトランシーバはチャネルボンディ
ングシーケンスに応答してチャネルボンディング要求を生成する。プロセスは次いでステップ１５４に進み、ここでマスタトランシーバはチャネルボンディング要求およびチャネルボンディング構成情報をスレーブトランシーバに送信する。
【００５９】
チャネルボンディング構成情報は、スレーブトランシーバの数と、チャネルボンディング要求を送信するマスタトランシーバに対するスレーブトランシーバの各々の伝搬遅延と、クロック訂正情報とを含む。クロック訂正情報は、ポインタ分離情報と、アドレスオフセットと、および調整イネーブル信号とを含む。ポインタ分離は、チャネルボンディングシーケンスが受信されるときのマスタトランシーバの読出ポインタを判断してマスタ読出ポインタを生成し、チャネルボンディングシーケンスが受信されるときのマスタトランシーバの書込ポインタを判断してマスタ書込ポインタを生成し、マスタ読出ポインタとマスタ書込ポインタとの差としてポインタ分離を判断することにより、生成され得る。アドレスオフセットは、マスタトランシーバのメモリのワード線に対するチャネルボンディングシーケンスのバイト位置を判断し、バイト位置に基づきアドレスオフセットを確立することにより生成され得る。
【００６０】
プロセスは次いでステップ１５６に進み、ここでスレーブトランシーバの各々は、入ってくるデータに含まれ得るチャネルボンディングシーケンスを受信する。プロセスは次いでステップ１５８に進み、ここでスレーブトランシーバの各々はチャネルボンディング要求およびチャネルボンディング構成情報を受信する。プロセスは次いでステップ１６０に進み、ここでスレーブトランシーバの各々は、チャネルボンディング構成情報に従ってチャネルボンディング要求およびチャネルボンディングシーケンスを処理し、個々のスレーブチャネルボンディング開始情報を判断する。ステップ１６０の処理は、図１０を参照してより詳細に説明する。
【００６１】
図９の処理はステップ１６２に進み、ここでマスタトランシーバはチャネルボンディング構成情報およびチャネルボンディング要求に従ってチャネルボンディングシーケンスを処理し、マスタチャネルボンディング開始情報を判断する。一実施例においては、これはチャネルボンディングシーケンスが受信されたアドレスを格納してチャネルボンディングシーケンスアドレスを生成し、チャネルボンディングシーケンスアドレスおよびチャネルボンディング構成情報の最大伝搬遅延に基づきチャネルボンディング書込開始アドレスを判断することにより行なわれ得る。
【００６２】
プロセスは次いでステップ１６４に進み、ここでマスタトランシーバおよびスレーブトランシーバによる、対応のバッファに対するそれぞれのデータのチャネルボンディング書込およびそれぞれのデータの読出が、個々のスレーブチャネルボンディング開始情報およびマスタチャネルボンディング開始情報に従って、開始する。
【００６３】
図１０は、図９の論理図のステップ１６０でのスレーブ処理の論理図である。処理はステップ１７０で開始するが、ここでチャネルボンディングシーケンスは、スレーブトランシーバのうちの対応の１つの伝搬遅延に基づき予め定められた期間だけ遅延されて、遅延チャネルボンディングシーケンスが生成される。プロセスは次いでステップ１７２に進み、ここでチャネルボンディング要求の受信および遅延チャネルボンディングシーケンスがタイムウインドウ内であるかの判断が行なわれる。そのような判断は、遅延チャネルボンディングシーケンスおよびチャネルボンディング要求の一方が受信されたときにタイムウインドウを開始し、タイムウインドウの終了前に遅延チャネルボンディングシーケンスおよびチャネルボンディング要求の他方が受信されたかを判断することにより行なわれ得る。プロセスは次いでステップ１７４に進み、ここでチャネルボンディング要求の受信および遅延チャネルボンディングシーケンスがタイムウインドウ内であった場合にプロセスはステップ１７８に分岐し、そうでない場合にステップ１７６に分岐する。ステップ１７６
において、チャネルボンディング誤りが生成される。ステップ１７８において、スレーブトランシーバの対応の１つの伝搬遅延と最大伝搬遅延との差に基づき、固有のホールドタイムが判断される。処理は次いでステップ１８０に進み、ここでチャネルボンディングシーケンスがスレーブトランシーバの対応の１つにより受信されたアドレスが格納されて、チャネルボンディングシーケンスアドレスが生成される。プロセスは次いでステップ１８２に進み、ここでチャネルボンディング書込開始アドレスが、以下の少なくとも１つに基づき判断される。すなわち、チャネルボンディングシーケンスアドレス、チャネルボンディング要求、および固有のホールドタイムである。プロセスは次いでステップ１８４に進み、ここでスレーブトランシーバの対応の１つの読出ポインタおよび書込ポインタが、ポインタ分離と、アドレスオフセットと、チャネルボンディング書込開始アドレスとに基づき調整される。
【００６４】
図１１は、ステップ１９０で開始する、マルチギガビットトランシーバによるチャネルボンディングのための方法の論理図であり、ここでマルチギガビットトランシーバがマスタトランシーバであるかまたはスレーブトランシーバであるかの判断が行なわれる。マルチギガビットトランシーバがスレーブトランシーバである場合、プロセスはステップ１９０に進み、ここで所与の時間にチャネルボンディングシーケンスが検出されて、検出チャネルボンディングシーケンスが生成される。プロセスは次いでステップ１９２に進み、ここで検出チャネルボンディングシーケンスが予め定められた期間だけ遅延されて、遅延チャネルボンディングシーケンスが生成される。プロセスは次いでステップ１９４に進み、ここでチャネルボンディング要求が第２の所与の時間に受信される。
【００６５】
プロセスは次いでステップ１９６および１９８に進み、ここでチャネルボンディング要求の受信および遅延チャネルボンディングシーケンスがタイムウインドウ内にあるか否かの判断が行なわれる。これは第１に、遅延チャネルボンディングシーケンスが、時間的に、チャネルボンディング要求の受信前に生じるかを判断することにより行なわれ得る。遅延チャネルボンディングシーケンスがチャネルボンディング要求の受信前に生じる場合、判断は、遅延チャネルボンディングシーケンスから第１のクロックサイクルカウントを開始してタイムウインドウを確立し、チャネルボンディング要求が第１のクロックサイクルカウントが終了する前に受信されるかを判断することにより、継続する。チャネルボンディング要求が第１のクロックサイクルカウントが終了する前に受信される場合、判断は、チャネルボンディング要求の受信および遅延チャネルボンディングシーケンスがタイムウインドウ内にあることを判断することにより、継続する。遅延チャネルボンディングシーケンスがチャネルボンディング要求の受信後に生じる場合、判断は、チャネルボンディング要求の受信から第２のクロックサイクルカウントを開始してタイムウインドウを確立し、遅延チャネルボンディングシーケンスが第２のクロックサイクルカウントの終了前に生じるかを判断することにより、継続する。遅延チャネルボンディングシーケンスが第２のクロックサイクルカウントの終了前に生じる場合、判断は、チャネルボンディング要求の受信および遅延チャネルボンディングシーケンスがタイムウインドウ内にあることを判断することにより、継続する。遅延チャネルボンディングシーケンスがチャネルボンディング要求の受信と実質的に同じ時間に生じる場合、判断は、チャネルボンディング要求の受信および遅延チャネルボンディングシーケンスがタイムウインドウ内にあることを判断することにより、継続する。
【００６６】
もしチャネルボンディング要求および遅延チャネルボンディングシーケンスがステップ１９８においてタイムウインドウ内にないと判断される場合、プロセスはステップ２００に進み、ここでチャネルボンディング誤りが生成される。もしチャネルボンディング要求の受信および遅延チャネルボンディングシーケンスがタイムウインドウ内にあれば、処理はステップ２０２に進み、ここでデータがマスタトランシーバのデータ整列に対して整列されて、整列データが生成される。プロセスはステップ２０４に進み、ここで整列データ
はマスタトランシーバのデータと同期される。
【００６７】
もしトランシーバがマスタであれば、プロセスはステップ２０６に進み、ここで、チャネルボンディングシーケンスを検出するマスタトランシーバと、チャネルボンディング要求を受信するスレーブトランシーバとの間の伝搬遅延に基づき、予め定められた期間が確立される。プロセスは次いでステップ２０８に進み、ここでチャネルボンディングシーケンスが受信されたアドレスが格納されて、チャネルボンディングシーケンスアドレスが生成される。プロセスは次いでステップ２１０に進み、ここで、チャネルボンディングシーケンスアドレスおよびチャネルボンディング構成情報の最大伝搬遅延に基づき、チャネルボンディング書込開始アドレスが判断される。
【００６８】
当業者は理解するであろうが、ここで用いられる「実質的に」という用語は、その対応の用語に対する業界で容認される公差を提示する。そのような業界で容認される公差は、たとえば、１％未満から２０％にわたり、かつ、これらに限定されるものではないが、成分の値、集積回路処理ばらつき、温度ばらつき、立上がりおよび立下がり時間、および／または熱雑音を含み得る。当業者はさらに理解するであろうが、ここで用いられる「動作可能に結合される」という用語は、直接的な結合および別の成分、素子、回路またはモジュールを介する間接的結合を含み、間接的結合においては、介在する成分、素子、回路またはモジュールは信号の情報を修正しないがその電流レベル、電圧レベル、および／または電力レベルを調整し得る。また当業者は認識するであろうが、推測される組合わせ（すなわち、１つの素子が推測により別の素子に結合される）は、「動作可能に結合される」と同じ態様で２つの素子間での直接および間接的結合を含む。
【００６９】
上記議論において、複数のマルチギガビットトランシーバをチャネルボンディングするためのさまざまな実施例が提示された。そのようなチャネルボンディングは、複数の高速インターフェイスを含むどのような集積回路にも適用可能であり、４バイトよりも大きなまたはそれ未満のデータワード線で用いることができる。当業者は理解するであろうが、クレームの範囲から逸脱することなく、この発明の教示から他の実施例が導出され得る。
【図面の簡単な説明】
【００７０】
【図１】この発明に従ったプログラマブルロジック装置の概略ブロック図である。
【図２】この発明に従ったプログラマブルマルチギガビットトランシーバの概略ブロック図である。
【図３】この発明に従ったプログラマブル受信物理符号化サブレイヤモジュールの概略ブロック図である。
【図４】この発明に従ったチャネルボンディングを例示する図である。
【図５】図４の例示的なチャネルボンディングのタイミング図である。
【図６】この発明に従った複数のチャネルボンディング構成のうちの１つの概略ブロック図である。
【図７】この発明に従った複数のチャネルボンディング構成のうちの別の１つの概略ブロック図である。
【図８】この発明に従ったチャネルボンディングモジュールの概略ブロック図である。
【図９】この発明に従った複数のマルチギガビットトランシーバをチャネルボンディングするための方法の論理図である。
【図１０】図９の論理図のスレーブ処理の論理図である。
【図１１】この発明に従ったマルチギガビットトランシーバによるチャネルボンディングのための方法の論理図である。
【図１】
2007505579.tif 000003
【図２】
2007505579.tif 000004
【図３】
2007505579.tif 000005
【図４】
2007505579.tif 000006
【図５】
2007505579.tif 000007
【図６】
2007505579.tif 000008
【図７】
2007505579.tif 000009
【図８】
2007505579.tif 000010
【図９】
2007505579.tif 000011
【図１０】
2007505579.tif 000012
【図１１】
2007505579.tif 000013
【手続補正書】
【提出日】平成18年5月12日(2006.5.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のマルチギガビットトランシーバをチャネルボンディングする方法であって、
複数のマルチギガビットトランシーバのマスタが、チャネルボンディングシーケンスを受信するステップと、
前記マスタトランシーバが、前記チャネルボンディングシーケンスに応答してチャネルボンディング要求を生成するステップと、
前記マスタトランシーバが、前記チャネルボンディング要求およびチャネルボンディング構成情報を、前記複数のマルチギガビットトランシーバのスレーブトランシーバに送信するステップと、
前記スレーブトランシーバの各々が、チャネルボンディングシーケンスを受信するステップと、
前記スレーブトランシーバの各々が、前記チャネルボンディング要求および前記チャネルボンディング構成情報を受信するステップと、
前記スレーブトランシーバの各々が、前記チャネルボンディング構成情報に従って前記チャネルボンディング要求および前記チャネルボンディングシーケンスを処理して、個々のスレーブチャネルボンディング開始情報を判断するステップと、
前記マスタトランシーバが、前記チャネルボンディング構成情報および前記チャネルボンディング要求に従って前記チャネルボンディングシーケンスを処理して、マスタチャネルボンディング開始情報を判断するステップと、
前記マスタトランシーバおよび前記スレーブトランシーバが、個々のスレーブチャネルボンディング開始情報およびマスタチャネルボンディング開始情報に従って、対応のバッファへのそれぞれのデータのチャネルボンディング書込および対応のバッファからのそれぞれのデータの読出を開始するステップとを含む、方法。
【請求項２】
前記スレーブトランシーバの各々がチャネルボンディング要求およびチャネルボンディング構成情報を受信するステップは、
前記マスタトランシーバから前記チャネルボンディング要求および前記チャネルボンディング構成情報を受信するステップ、または、
少なくとも１つの介在するスレーブトランシーバから前記チャネルボンディング要求お
よび前記チャネルボンディング構成情報を受信するステップをさらに含む、請求項１に記載の方法。
【請求項３】
スレーブトランシーバの数と、前記チャネルボンディング要求を送信する前記マスタトランシーバに対する前記スレーブトランシーバの各々の伝搬遅延と、クロック訂正情報とをさらに含めるように、前記マスタトランシーバが前記チャネルボンディング構成情報を生成するステップをさらに含む、請求項１に記載の方法。
【請求項４】
前記クロック訂正情報を生成するステップは、
ポインタ分離情報を生成するステップと、
アドレスオフセットを生成するステップと、
調整イネーブル信号を生成するステップとを含む、請求項３に記載の方法。
【請求項５】
前記スレーブトランシーバの各々が、前記チャネルボンディング構成情報に従って前記チャネルボンディング要求および前記チャネルボンディングシーケンスを処理して、個々のスレーブチャネルボンディング開始情報を判断するステップは、
前記スレーブトランシーバの対応の１つの伝搬遅延に基づき、予め定められた期間だけ前記チャネルボンディングシーケンスを遅延させて、遅延チャネルボンディングシーケンスを生成するステップと、
前記チャネルボンディング要求の受信および前記遅延チャネルボンディングシーケンスがタイムウインドウ内にあるかを判断するステップと、
前記チャネルボンディング要求の受信および前記遅延チャネルボンディングシーケンスが前記タイムウインドウ内にある場合に、
前記スレーブトランシーバの対応の１つの伝搬遅延と最大伝搬遅延との間の差に基づき、固有のホールドタイムを判断するステップと、
スレーブトランシーバの対応の１つにより前記チャネルボンディングシーケンスが受信されたアドレスを格納して、チャネルボンディングシーケンスアドレスを生成するステップと、
前記チャネルボンディングシーケンスアドレスと前記チャネルボンディング要求と前記固有のホールドタイムとのうちの少なくとも１つに基づき、チャネルボンディング書込開始アドレスを判断するステップと、
前記ポインタ分離と前記アドレスオフセットと前記チャネルボンディング書込開始アドレスとに基づき、前記スレーブトランシーバの対応の１つの読出ポインタおよび書込ポインタを調整するステップとを含む、請求項４に記載の方法。
【請求項６】
マルチギガビットトランシーバのためのチャネルボンディングモジュールであって、前記チャネルボンディングモジュールは、
マルチギガビットトランシーバのバッファに動作可能に結合されるチャネルボンディングシーケンスコンパレータを含み、前記バッファは受信データを一時的に格納し、前記チャネルボンディングシーケンスコンパレータは前記受信データのデータブロックとチャネルボンディングシーケンスとを比較し、前記受信データのデータブロックの現在のデータブロックと前記チャネルボンディングシーケンスとが実質的に一致する場合、前記チャネルボンディングシーケンスコンパレータはチャネルボンディングシーケンス検出信号を生成し、前記モジュールはさらに、
前記バッファに対する読出ポインタおよび書込ポインタを生成するよう動作可能に結合されるポインタ生成モジュールと、
チャネルボンディング処理モジュールとを含み、前記チャネルボンディング処理モジュールは、
前記書込ポインタおよび前記チャネルボンディングシーケンス検出信号に基づき、チャネルボンディングシーケンスアドレスを生成し、
前記チャネルボンディングシーケンスアドレスおよびチャネルボンディング構成情報に基づき、チャネルボンディング開始アドレスを生成し、
前記チャネルボンディング構成情報に基づき、チャネルボンディング開始表示を生成し、
チャネルボンディングの開始時に、前記書込ポインタが前記チャネルボンディング開始アドレスに対応するように、前記チャネルボンディング開始アドレスおよび前記チャネルボンディング開始表示を前記ポインタ生成モジュールに与えるよう、動作可能に結合される、チャネルボンディングモジュール。
【請求項７】
クロック訂正モジュールをさらに含み、前記クロック訂正モジュールは、
クロック訂正情報と、前記読出ポインタと、前記書込ポインタとに基づきポインタ調整情報を生成するよう動作可能に結合され、前記クロック訂正情報は、ポインタ分離情報と、アドレスオフセットと、調整イネーブル信号とを含み、前記クロック訂正モジュールはさらに、
前記ポインタ調整情報を前記ポインタ生成モジュールに与えるよう動作可能に結合され、前記ポインタ生成モジュールはチャネルボンディングの開始前に前記読出ポインタおよび前記書込ポインタを調整する、請求項６に記載のチャネルボンディングモジュール。
【請求項８】
前記チャネルボンディング処理モジュールは、
前記マルチギガビットトランシーバがマスタトランシーバである場合には、
前記チャネルボンディングシーケンス検出信号に応答してチャネルボンディング要求を生成し、
スレーブトランシーバに前記チャネルボンディング要求を与え、
スレーブトランシーバの数と、前記チャネルボンディング要求を送信する前記マスタトランシーバに対する前記スレーブトランシーバの各々の伝搬遅延と、最大伝搬遅延とを表示するように前記チャネルボンディング構成情報を生成するよう機能し、
前記マルチギガビットトランシーバがスレーブトランシーバである場合には、
前記チャネルボンディングシーケンスアドレスおよび前記書込ポインタに従って前記チャネルボンディング要求を処理してチャネルボンディング開始アドレスを生成し、
前記スレーブトランシーバに対する伝搬遅延の伝搬遅延と前記最大伝搬遅延とを処理して前記チャネルボンディング開始表示を判断するようさらに機能する、請求項７に記載のチャネルボンディングモジュール。
【請求項９】
前記マルチギガビットトランシーバがスレーブトランシーバである場合には、前記チャネルボンディング処理モジュールは、
前記スレーブトランシーバの対応の１つの伝搬遅延に基づき、予め定められた期間に対する前記チャネルボンディングシーケンス検出信号を格納して、遅延チャネルボンディングシーケンス検出を生成し、
前記チャネルボンディング要求の受信および前記遅延チャネルボンディングシーケンス検出がタイムウインドウ内にあるかを判断し、
前記チャネルボンディング要求の受信および前記遅延チャネルボンディングシーケンス検出が前記タイムウインドウ内にある場合に、それに従ってチャネルボンディング開始アドレスを生成し、
前記チャネルボンディング要求の受信および前記遅延チャネルボンディングシーケンス検出がタイムウインドウ内にない場合に、チャネルボンディング誤り表示を生成することにより、
前記チャネルボンディングシーケンスアドレスおよび前記書込ポインタに従って前記チャネルボンディング要求を処理して、前記チャネルボンディング開始アドレスを生成するようさらに機能する、請求項８に記載のチャネルボンディングモジュール。
【請求項１０】
前記クロック訂正モジュールは、
前記マルチギガビットトランシーバがマスタトランシーバである場合に、
ポインタ分離情報とアドレスオフセットと調整イネーブル信号とを含むようクロック訂正情報を生成するようさらに機能し、前記ポインタ分離を生成するステップは、
前記チャネルボンディングシーケンスが受信されるときの前記マスタトランシーバの読出ポインタを判断して、マスタ読出ポインタを生成するステップと、
前記チャネルボンディングシーケンスが受信されるときの前記マスタトランシーバの書込ポインタを判断して、マスタ書込ポインタを生成するステップと、
前記マスタ読出ポインタと前記マスタ書込ポインタとの間の差としてポインタ分離を判断するステップとを含み、
前記アドレスオフセットを生成するステップは、
前記マスタトランシーバの前記バッファのワード線に対する前記チャネルボンディングシーケンスのバイト位置を判断するステップと、
前記バイト位置に基づき前記アドレスオフセットを確立するステップとを含む、請求項７に記載のチャネルボンディングモジュール。
【国際調査報告】
2007505579.tif 000014
2007505579.tif 000015