(57)【特許請求の範囲】
【請求項１】
第１のデバイス（２２）および第２のデバイス（２４）と、
前記第１のデバイスと第２のデバイスとを接続している並列通信チャネル（２５−２９）とを含む通信システム（２０）において、
前記第１のデバイスは、それぞれの並列通信チャネル上で並列に送信される情報記号ストリングの各情報記号ストリングに対して文字列ベースのフレーミング・コードを決定して付加するための文字列ベースのフレーミング・コーダ（３２）を含み、各文字列ベースのフレーミング・コードは、それぞれの情報記号ストリングの中の前記情報記号の少なくともいくつかに基づいていて、
前記第２のデバイスは、前記文字列ベースのフレーミング・コードに基づいて、受信された並列情報記号ストリングを整列させるためのデスキューワ（４５）を含む通信システム。
【請求項２】
請求項１に記載の通信システムにおいて、各情報記号がバイナリ・ビットを含み、文字列ベースのコーダがそれぞれの情報ビット列に対してＣＲＣコードを決定して付加するための巡回冗長検査（ＣＲＣ）コーダを含む通信システム。
【請求項３】
請求項２に記載の通信システムにおいて、前記デスキューワが前記ＣＲＣコードに基づいて前記情報ビット列をフレーム化するためのＣＲＣフレーマ（５０）を含む通信システム。
【請求項４】
請求項２に記載の通信システムにおいて、前記第２のデバイスが、前記ＣＲＣコードを使用した誤り検出および訂正の回路（４７）をさらに含む通信システム。
【請求項５】
請求項２に記載の通信システムにおいて、各ＣＲＣコードがＣＲＣ‐４からＣＲＣ‐３２までのコードのうちの１つである通信システム。
【請求項６】
請求項１に記載の通信システムにおいて、前記デスキューワが、
それぞれの文字列ベースのフレーミング・コードに基づいて、情報記号ストリングをフレーム化するためのフレーマ（５０）と、
フレーム化された情報記号ストリングを互いに関して相対的に、そして前記文字列ベースのフレーミング・コードに基づいて整列させるアライナー（５２）とを含む通信システム。
【請求項７】
請求項６に記載の通信システムにおいて、各情報記号が１つのバイナリ・ビットを含み、前記アライナーが、
フレーム化された情報ビット列をバッファするために前記フレーマに対して接続されている少なくとも１つの先入れ先出し（ＦＩＦＯ）デバイス（５３）と、
フレーム化された情報ビット列を、前記少なくとも１つのＦＩＦＯデバイスの書込および読取フェーズのうちの少なくとも１つの間に、そして前記文字列ベースのフレーミング・コードに基づいて整列させるＦＩＦＯコントローラ（５５）とを含む通信システム。
【請求項８】
請求項１に記載の通信システムにおいて、すべての前記情報記号ストリングが同じ個数の記号を有している通信システム。
【請求項９】
請求項１に記載の通信システムにおいて、前記第１のデバイスが、前記情報ビット列をスクランブルするためのスクランブラ（３４）を含み、前記デスキューワが受信された情報記号ストリングをデスクランブルをするためのデスクランブラ（４６）を含む通信システム。
【請求項１０】
請求項９に記載の通信システムにおいて、前記文字列ベースのフレーミング・コードを決定して付加するのに先立って前記情報記号ストリングをスクランブルするために、前記スクランブラが前記文字列ベースのフレーミング・コーダより上流に配置されている通信システム。
【請求項１１】
請求項１に記載の通信システムにおいて、前記第１のデバイスがクロック発生回路（４２）をさらに含み、前記複数の通信チャネルが１つのクロック・チャネルを含み、前記第２のデバイスが前記クロック・チャネルに対して接続されているクロック受信回路（５７）を含む通信システム。
【請求項１２】
請求項１に記載の通信システムにおいて、前記第２のデバイスが、受信された記号ストリングおよび文字列ベースのコードに基づいてクロック信号を復元するためのクロック復元回路（５８）を含む通信システム。
【請求項１３】
請求項１に記載の通信システムにおいて、前記第１のデバイスが、前記並列通信チャネル上での送信のためにＭ個の情報記号をＮ個の情報記号に変換するためのＭ要素−Ｎ要素変換器（３６）をさらに含む通信システム。
【請求項１４】
請求項１に記載の通信システムにおいて、前記並列通信チャネルが少なくとも１つの配線伝送媒体上で提供されるようになっている通信システム。
【請求項１５】
請求項１に記載の通信システムにおいて、前記並列通信チャネルが少なくとも１つの無線伝送媒体上で提供されるようになっている通信システム。
【請求項１６】
請求項１に記載の通信システムにおいて、前記並列通信チャネルが少なくとも１つの光学伝送媒体上で提供されるようになっている通信システム。
【請求項１７】
並列通信チャネル（２５−２９）上で受信された情報記号ストリングに対するデスキューワ（４５）であって、前記情報記号ストリングが、前記並列通信チャネル上での送信に先立って付加された文字列ベースのフレーミング・コードを有しており、各文字列ベースのフレーミング・コードは、それぞれの情報記号ストリングの中の少なくともいくつかの情報記号に基づいており、前記デスキューワは、
前記それぞれの文字列ベースのフレーミング・コードに基づいて前記情報ビット列をフレーム化するためのフレーマ（５０）と、
フレーム化された情報記号ストリングを互いに関して、そして前記文字列ベースのフレーミング・コードに基づいて整列させるアライナー（５２）とを含むデスキューワ。
【請求項１８】
請求項１７に記載のデスキューワにおいて、前記情報記号がバイナリ・ビットを含み、文字列ベースのコードが巡回冗長検査（ＣＲＣ）コードを含み、前記フレーマがＣＲＣフレーマを含むデスキューワ。
【請求項１９】
請求項１８に記載のデスキューワにおいて、各ＣＲＣコードがＣＲＣ‐４からＣＲＣ‐３２までのコードのうちの１つであるデスキューワ。
【請求項２０】
請求項１７に記載のデスキューワにおいて、前記情報記号がバイナリ・ビットを含み、前記アライナーが、
フレーム化された情報ビット列をバッファするために前記フレーマに対して接続されている少なくとも１つの先入れ先出し（ＦＩＦＯ）デバイス（５３）と、
フレーム化された情報ビット列を、前記少なくとも１つのＦＩＦＯデバイスの書込および読取フェーズのうちの少なくとも１つの間に、そして前記文字列ベースのフレーミング・コードに基づいて整列させるためのＦＩＦＯコントローラ（５５）とを含むデスキューワ。
【請求項２１】
請求項１７に記載のデスキューワにおいて、前記情報記号ストリングのすべてが同じ個数の記号を有しているデスキューワ。
【請求項２２】
並列通信チャネル（２５−２９）上で第１のデバイス（２２）から第２のデバイス（２４）へ通信する方法において、該方法は、
前記第１のデバイスにおいて情報記号ストリングの各情報記号ストリングに対して文字列ベースのフレーミング・コードを決定して付加し、それぞれの並列通信チャネル上で並列に送信し、各文字列ベースのフレーミング・コードは、それぞれの情報記号ストリングの中の少なくともいくつかの情報記号に基づいているステップと、
前記文字列ベースのフレーミング・コードに基づいて、受信された情報記号ストリングを整列させることによって前記第２のデバイスにおいて前記受信された情報記号ストリングをデスキューするステップとを含む方法。
【請求項２３】
請求項２２に記載の方法において、前記各情報記号がバイナリ・ビットを含み、前記文字列ベースのコードを決定して付加するステップが巡回冗長検査（ＣＲＣ）コードを決定して付加するステップを含む方法。
【請求項２４】
請求項２３に記載の方法において、前記デスキューのステップが、前記ＣＲＣコードに基づいて前記情報ビット列をフレーム化するステップをさらに含む方法。
【請求項２５】
請求項２２に記載の方法において、前記ＣＲＣコードを使用して前記第２のデバイスにおいて誤り検出および訂正を実行するステップをさらに含む方法。
【請求項２６】
請求項２５に記載の方法において、各ＣＲＣコードがＣＲＣ‐４からＣＲＣ‐３２までのコードのうちの１つである方法。
【請求項２７】
請求項２２に記載の方法において、前記デスキューのステップが、
前記それぞれの文字列ベースのフレーミング・コードに基づいて、前記情報記号ストリングのフレーミングを決定するステップと、
並列通信チャネルから受信された情報記号ストリングを互いに相対的に、そして前記文字列ベースのフレーミング・コードに基づいて整列させるステップとを含む方法。
【請求項２８】
請求項２７に記載の方法において、各情報記号がバイナリ・ビットを含み、前記整列のステップが、
フレーム化された情報ビット列をバッファするための少なくとも１つの先入れ先出し（ＦＩＦＯ）デバイス（５３）を提供するステップと、
前記少なくとも１つのＦＩＦＯデバイスの書込および読取フェーズのうちの少なくとも１つにおいて、そして前記文字列ベースのフレーミング・コードに基づいて前記情報ビット列を整列させるステップとを含む方法。
【請求項２９】
請求項２７に記載の方法において、前記情報記号ストリングのすべてが同じ個数の記号を有している方法。
【請求項３０】
請求項２２に記載の方法において、前記第１のデバイスにおいて前記情報記号ストリングをスクランブルするステップと、前記第２のデバイスにおいて受信された情報記号ストリングをデスクランブルするステップとをさらに含む方法。
【請求項３１】
請求項３０に記載の方法において、前記スクランブルのステップが、前記文字列ベースのフレーミング・コードを決定して付加するステップの前に実行されるようになっている方法。
【請求項３２】
請求項２２に記載の方法において、
前記第１のデバイスにおいてクロック信号を発生するステップと、
通信チャネル上で前記クロック信号を送信するステップと、
前記第２のデバイスにおいて前記クロック信号を受信するステップとをさらに含む方法。
【請求項３３】
請求項２２に記載の方法において、受信された記号ストリングおよび文字列ベースのコードに基づいて前記第２のデバイスにおいてクロック信号を復元するステップをさらに含む方法。
【請求項３４】
請求項２２に記載の方法において、前記並列通信チャネル上で送信するためにＭ個の情報記号をＮ個の情報記号に変換するＭ要素からＮ要素への変換を前記第１のデバイスにおいて実行するステップをさらに含む方法。
【請求項３５】
請求項２２に記載の方法において、前記並列通信チャネルは少なくとも１つの配線伝送媒体と、無線伝送媒体と、光学伝送媒体とのうちの少なくとも１つ上で提供されるようになっている方法。
【発明の詳細な説明】
【０００１】
【技術分野】
本発明は、通信システムおよび方法に関し、特に、並列通信チャネル上でのディジタル通信システムおよび関連方法に関する。
【０００２】
【発明の背景】
ディジタル通信は、音声、データおよびビデオ情報の伝送のために広く使用されている。そのような伝送を長い地理的距離にわたって、パーソナル・コンピュータ内の構成部品間で、あるいは集積回路上の隣接している回路部分間だけに拡張することができる。そのような通信用途の或るものは並列通信チャネル上での同時伝送のためにシリアル・データをパラレル・データへ変換すること、あるいはより一般的には、Ｍ要素の記号からＮ要素の記号への変換から恩恵を受けるか、あるいはそれを必要とする。受信端において、そのパラレル・データがシリアル・データに逆に変換されること、およびデータ誤差を回避するためにそのビットまたは記号が正しい順序にあるように変換されることが望ましい。
【０００３】
都合の悪いことに、より大きいデータ伝送ボリュームおよびさらに高速伝送に対する要求によって、受信側においてスキューが発生する可能性がある。言い換えれば、並列通信チャネルはそれが搬送する並列記号ストリングに対して異なる遅延を導入する可能性がある。スキューのために、受信機における並列記号ストリングは元のデータに単純には再アセンブルすることはできなくなっている。
【０００４】
並列通信チャネルについてのスキューの問題は、多くの方法で対処されてきた。例えば、ハース他に対する米国特許第４，６７７，６１８号は、光ファイバ上での波長分割多重通信チャネルによって導入されるばらつきを認識している。この特許はデータの所与のバイトの２つのビットの検出に基づいたチャネル間の相対遅延の決定を開示している。１つのバイトの中の残りのビットの到着の相対時刻は、その２つの検出されたビット間の相対遅延およびその伝送媒体の既知の周波数関連の分散特性を使用してあらかじめ決定されている。受信された各バイトの中の或る種のビットを、クロックの遅延線またはレジスタを使用して遅延させることができ、それによってスキューを考慮することができる。
【０００５】
同様に、ローブ他に対する米国特許第５，１５７，５３０号は、光ファイバの波長分割多重化における分散によって付与されるスキューを決定し、考慮に入れる。各チャネルにおいて調整可能な遅延デバイスを制御するために相対遅延が使用される。
【０００６】
ハッチンソン他に対する米国特許第５，４０８，４７３号は、並列通信チャネル上で伝送されるランレングス制限型のデータを同期化するための技法に関する。各チャネルにおいて受信されたブロック境界を検出するために必要なＨＡＬＴコードの性質を使用することによって、接続の初期化時にブロック境界の同期化が確立される。スキューの補正は２つのチャネルにおけるブロック境界の検出の時間を比較し、そして少なくとも１つのチャネルの中の可変遅延を適切に制御することによって行われる。それ以降での同期の消失があった場合、検出された伝送エラーの結果、接続の再初期化および同期の再確立が行われる。都合の悪いことに、境界を検出するための固定されたＨＡＬＴコードの伝送は間違った境界検出となる可能性がある。さらに、同期化は絶えず維持されているわけではないので、その技法はデータ・レートが高い場合には非実用的となる可能性がある。
【０００７】
Ｓｔ．ジョン他に対する米国特許第５，７９３，７７０号は、同期光ネットワーク（ＳＯＮＥＴ）のゲートウェイに対する高性能並列インターフェース（ＨＩＰＰＩ）に関し、電子論理回路がデータおよびオーバヘッド信号を光ファイバ・チャネル上での伝送のためにフォーマット化する。ストライプのスキュー調整はＳＯＮＥＴのフレーミングに基づいており、したがって、その回路は比較的複雑であり、例えば、２０，０００個もの論理ゲートを含んでいる。
【０００８】
並列通信チャネルによって生じるスキューによる障害は、集積回路デバイス間での通信チャネルにおける対処される１つの重要な問題でもある。例えば、伝送速度が高いほど、スキューに対する敏感度が増加する。というのは、１つの受信ビットを正しく識別するため、そしてそれを他の並列通信チャネル上で受信されたビットと正しく整列させるための時間ウィンドウがより短くなるからである。総合伝送レートをより高くするために、任意の所与の通信チャネルの速度を増加させずに、並列通信チャネルの数を増加させることができる。しかし、これは結果として追加の通信チャネルに対する大幅なコストの増加を生じる可能性がある。さらに、集積回路間での通信の場合、通信チャネルの数を増やすことによって、そのＩＣを接続するために必要なピンの数が増加する。ピン数および追加のパッケージングの複雑性によって、そのような方法のコストが大幅に増加する可能性がある。
【０００９】
物理層のデバイス（ＰＬＤ）またはＰＨＹデバイスと論理リンク・デバイス（ＬＬＤ）の間の通信チャネルの場合、代表的なインターフェースは非対称であり、そのデバイスはプッシュプル構成で動作する。その非対称性のために、比較的高価なメモリがＰＬＤ上で必要である。というのは、それは非同期転送モード（ＡＴＭ）デバイスなどのＬＬＤによってポールされるからである。また、制限された並列通信チャネル上での高ビット・レートの結果としての上記スキュー障害によって、ＰＬＤとＬＬＤとの間の通信インターフェースにおける更なる開発および改善が妨げられる。
【００１０】
【発明の概要】
したがって、前記の背景を考慮して、本発明の１つの目的は、並列通信チャネル上での比較的高いレートでの動作およびスキューを考慮した通信システムおよび関連方法を提供することである。
【００１１】
本発明によるこれら、および他の目的、特徴および利点は、並列通信チャネルによって接続されている第１および第２のデバイスを含み、その通信チャネル上でのスキューが直接的な技法によって対処される通信システムによって提供される。第１のデバイスはそれぞれの並列通信チャネル上で並列に伝送される情報記号ストリングの各情報記号ストリングに対して文字列ベースのフレーミング・コードを決定して付加するための文字列ベースのフレーミング・コーダを含む。文字列ベースの各フレーミング・コードはそれぞれの情報記号ストリングの中の少なくともいくつかの情報記号に基づいている。
【００１２】
さらに、第２のデバイスは受信された並列情報記号ストリングを、文字列ベースのフレーミング・コードに基づいて整列させるためのデスキューワ（ｄｅｓｋｅｗｒ）を含む。文字列ベースのフレーミング・コードおよび受信された情報記号ストリングをデスキューするためにそれらを使用することによって、その情報記号を高レートで伝送し、あるいは比較的長い距離上で伝送する。
【００１３】
その情報記号は、例えば、本発明のいくつかの実施形態においてはバイナリ・ビットとする。文字列ベースのコーダは、それぞれの情報ビット列に対してＣＲＣコードを決定して付加するための巡回冗長検査（ＣＲＣ）コーダを含む。したがって、デスキューワはそのＣＲＣコードに基づいて情報ビット列をフレーム化するためのＣＲＣフレーマを含む。もちろん、第２のデバイスもＣＲＣコードを使用して誤り検出および訂正の回路を含む。各ＣＲＣコードは、例えば、ＣＲＣ‐４からＣＲＣ‐３２までのコードのうちの１つである。
【００１４】
デスキューワはそれぞれの文字列ベースのフレーミング・コードに基づいて情報記号ストリングをフレーム化するためのフレーマと、フレーム化された情報記号ストリングを互いに関して、そして文字列ベースのフレーミング・コードに基づいて整列させるためのアライナーとを含む。そのアライナーは、さらに、フレーム化された情報ビット列をバッファするためにフレーマに対して接続されている少なくとも１つの先入れ先出し（ＦＩＦＯ）デバイスと、フレーム化された情報ビット列を少なくとも１つのＦＩＦＯデバイスの書込フェーズおよび読取フェーズのうちの少なくとも１つの間に、そして文字列ベースのフレーミング・コードに基づいて整列させるＦＩＦＯコントローラとを含む。いくつかの実施形態においては、情報記号ストリングのすべてが同じ個数の記号を有する。
【００１５】
通信チャネル上で第１のデバイスから第２のデバイスに対してクロック信号を送る。さらに、もう１つの実施形態においては、第１のデバイスは第２のデバイスにおいてクロックの復元を容易化するように情報記号ストリングをスクランブルするためのスクランブラを含む。したがって、そのデスキューワも受信された情報記号ストリングをデスクランブルするためのデスクランブラを含む。スクランブラは文字列ベースのフレーミング・コーダより上流に配置され、文字列ベースのフレーミング・コードを決定して付加する前に情報記号ストリングをスクランブルする。代わりに、スクランブラを文字列ベースのフレーミング・コーダより下流に置く。
【００１６】
第１のデバイスは並列通信チャネル上で伝送するためにＭ個の記号をＮ個の情報記号ストリングに変換、すなわち、マップするためのＭ要素−Ｎ要素記号変換器をさらに含む。そのデスキュー回路は第２のデバイスにおいて逆にＮ要素からＭ要素への変換を提供し、スキューを取り除く。並列通信チャネルは少なくとも１つの有線伝送媒体上で、少なくとも１つの無線伝送媒体上で、あるいは少なくとも１つの光伝送媒体上で提供する。
【００１７】
本発明のもう１つの態様は、上記システムおよび技法を使用して効率的なデスキューを提供しながら、第１のデバイスと第２のデバイスとの間で通信するための方法に関する。
【００１８】
【好適な実施形態の詳細な説明】
本発明は、本発明の好適な実施形態が示されている添付図面を参照して以下により完全に説明される。しかし、本発明は多くの異なる形式で実施することができ、したがって、ここで説明される実施形態に制限されるものではないことを理解されたい。むしろ、これらの実施形態はこの開示が完全でまとまっているように、そして当業者には本発明の範囲を完全に伝えるようにするために提供されている。同様な番号は全体を通じて同様な要素を指し、ダッシュおよび複数のダッシュの付いた表記は同様な要素を参照するために、代わりの実施形態において使用される。
【００１９】
最初に図１〜図５を参照して、本発明による通信システムの一実施形態２０が先ず最初に説明される。通信システム２０は、図に示すように、並列通信チャネルによって接続されている第１のデバイス２２と、第２のデバイス２４とを含む。示されている実施形態においては、通信チャネルは電気導体または配線２５〜２９によって提供されるが、当業者なら容易に理解されるように、他の伝送媒体を使用して並列通信チャネルを確立すること、あるいは定義することができる。また、示されている実施形態においては、４本の配線２５〜２８が情報ビットを搬送するために接続され、一方、第５の配線２９がクロック４２からのクロック信号を搬送する。クロック信号のための通信チャネルは、必ずしもすべての実施形態において必要であるわけではない。というのは、クロック信号は、通常、受信された情報ビットが十分な数の遷移を有している場合に復元することができるからである。このことも当業者なら理解することができるだろう。
【００２０】
本発明の背景の部分で説明されたように、並列通信チャネルはビット・レートが比較的高いか、あるいは距離が比較的長い場合に特にスキューの問題を示す可能性がある。例えば、電気並列導体上での８００Ｍｂｓのレートの場合、スキューによって分離距離が２インチ以下に制限される可能性がある。
【００２１】
説明の明確化のために、以下の説明はバイナリ情報要素または情報ビット列の伝送に関して行われる。言い換えれば、「情報ビット列」という用語が使用される。ただし、当業者ならバイナリの１および０以外の記号も本発明に従って使用することができることを理解することができるだろう。例えば、３レベルの情報記号を使用することもでき、ここで説明されているデスキューの概念からの恩恵を受けることができる。
【００２２】
第１のデバイス２２は、図に示すように、それぞれの並列通信チャネル上で並列に伝送される情報ビット列の各情報ビット列に対して文字列ベースのフレーミング・コードを決定して付加するための文字列ベースのフレーミング・コーダ３２を含んでいる。「付加」は前付加および後付加の両方をカバーすることを意味する。ただし、当業者なら後付加の方が好ましい可能性があることを理解することができるだろう。というのは、前付加はバッファ・メモリをより多く必要とする可能性があるからである。
【００２３】
スクランブラ３４は文字列ベースのフレーミング・コーダ３２より上流に接続されている。スクランブラ３４は、当業者なら理解されるように、クロックの復元を妨げる可能性のあるヌル値の長い文字列を避けるために望ましい可能性がある。他の実施形態においては、スクランブラ３４を文字列ベースのフレーミング・コーダ３２より下流に接続することができる。そのようなオプションのスクランブラは、当業者なら理解されるように、Ｘ＾４３スクランブラなどの自己同期化スクランブラであってよい。
【００２４】
Ｍ要素−Ｎ要素マッパまたは変換器３６がスクランブラ３４の上流に接続されているように示されている。Ｍ要素−Ｎ要素変換器３６は入って来るＭ個のビットを並列通信チャネル上のそれ以降での伝送のために、Ｎ個の並列情報ビット列に変換する。Ｍ要素−Ｎ要素変換器３６は、従来の方式の変換器であり、ここではこれ以上の説明を必要としない。
【００２５】
ふたたび文字列ベースのフレーミング・コーダ３２に戻って説明すると、これはそれぞれの情報ビット列の中の少なくともいくつかの情報ビットに基づいて各文字列ベースのフレーミング・コードを発生するための文字列ベースのコード発生器３７を含むように示されている。マルチプレクサ３８は、当業者なら理解されるように、それぞれの情報ビット列に対して文字列ベースのコードを付加する。電気信号−媒体変換器４１がマルチプレクサ３８の出力と通信チャネルとの間に配線２５〜２９によって接続されている。この示されている実施形態においては、電気信号−媒体変換器４１は、当業者なら理解されるように、適切な電気ドライバ回路によって提供することができる。他の実施形態においては、電気信号−媒体変換器４１を他の伝送媒体に対して接続することができる。
【００２６】
第２のデバイス２４は受信された並列情報ビット列を文字列ベースのフレーミング・コードに基づいて整列させるためのデスキューワ４５を含むことが好ましい。その文字列ベースのフレーミング・コードおよび、それらを受信された情報ビット列のデスキューに使用することによって、情報ビットを高レートで、および／または比較的長い距離にわたって伝送することができる。
【００２７】
１つの好適な実施形態においては、文字列ベースのコーダ３２はそれぞれの情報ビット列に対してＣＲＣコードを決定して付加するための巡回冗長検査（ＣＲＣ）コーダを含む。したがって、デスキューワは、そのＣＲＣコードに基づいて情報ビット列をフレーム化するためのＣＲＣフレーマを含むことができる。もちろん、第２のデバイス２４は、そのＣＲＣコードを使用した誤り検出および訂正の回路４７も含むことができる。各ＣＲＣコードは、例えば、ＣＲＣ‐４からＣＲＣ‐３２までのコードのうちの１つであってよい。例えば、１０２４ビットの情報ビット列の場合、ＣＲＣ‐８のコードが迅速で正確なフレーミングを確保するために十分である可能性がある。
【００２８】
文字列ベースのコードは、例えば、ＣＲＣコード・ビットなどの情報ビット列に特に基づいているビットの他に、他のビットも含むことができる。当業者なら理解されるように、期待される遅延またはスキューが単独のフレームより大きかった時に使用されるカウンティングまたは識別のビットとしていくつかのビットを割り当てることができる。もちろん、他の目的に対して他のビットを割り当てることもできる。
【００２９】
特に、ＣＲＣコードの利点は、当業者なら理解されるように、比較的少数の論理ゲートによって直接的なハードウェア実装が実現できることである。ＣＲＣコードは比較的小さいオーバヘッドを情報ビット列に対して追加しながら、間違ったフレーミングに対する抵抗性も強い。対照的に固定のフレーミングは同様な数のコード・ビットに対して間違ったフレーミングがかなり生じる可能性がある。間違ったフレーミングを減らすために、固定のフレーミング・ビットの数が増やされた場合、そのオーバヘッドはかなり大きくなる可能性がある。ＣＲＣコードのさらにもう１つの利点は、それらが従来から使用されているように誤り検出および訂正のためにも使用することができることである。したがって、第２のデバイス２４はオプションとして示されている誤り検出および訂正回路４７を含むことができる。これについてのそれ以上の説明はここでは不要である。
【００３０】
デスキューワ４５はそれぞれの文字列ベースのフレーミング・コードに基づいて情報ビット列をフレーム化するためのフレーマ５０を含むことができる。第２のデバイス２４の示されているデスキューワ４５は、フレーム化された情報ビット列を互いに相対的に整列させるための、そして文字列ベースのフレーミング・コードに基づいているアライナー５２も含む。さらに、アライナー５２は図示されている実施形態の中に示されているようなフレーム化された情報ビット列をバッファするためのフレーマ５０に対して接続されている少なくとも１つの先入れ先出し（ＦＩＦＯ）デバイス５３を含むことが有利である。また、アライナー５２はフレーム化された情報ビット列を、少なくとも１つのＦＩＦＯデバイスの書込および読取フェーズのうちの少なくとも１つの間に、そして文字列ベースのフレーミング・コードに基づいて整列させるためのＦＩＦＯコントローラ５５も含むように示されている。「ＦＩＦＯデバイス」という用語は、ここでは、当業者なら理解されるように、ＦＩＦＯ、シフト・レジスタ、および任意の他のタイプの順序付けられた記憶要素を含むように使用されている。
【００３１】
システムの実装を単純化するために、いくつかの実施形態においてはすべての情報ビット列のビット数を同じにすることができる。他の実施形態においては、ビット列は、当業者なら理解されるように長さが異なっていてもよい。
【００３２】
ここで第２のデバイス２４のフロント・エンドを参照すると、サンプラー５６がデスキューワ４５より上流に接続されている。サンプラー５６は、当業者なら理解されるように、クロック・パルスに基づいて受信されたビット列をサンプルする。理想的には、サンプラー５６はビットの中央の点によって、ビット列をサンプルする。サンプラー５６に対するクロック信号は、クロック受信機５７から、あるいは復元されたクロック５８から得ることができ、その両方の動作は、当業者なら理解することができるだろう。
【００３３】
媒体−電気信号変換器６１が配線２５〜２９によって提供されているようにサンプラー５６と通信チャネルとの間に接続されている。もちろん、他のタイプの変換器を異なる伝送媒体に対して使用することができる。
【００３４】
また、デスキューワ４５は、例えば、第２デバイス２４においてクロックの復元を容易化するために情報ビット列をデスクランブルするためのデスクランブラ４６も含むように示されている。デスクランブラ４６はフレーマ５０とＦＩＦＯデバイス５３との間に接続されるように示されている。他の実施形態においては、デスクランブラ４６は、当業者なら理解されるように、ＦＩＦＯデバイス５３より下流に接続することができる。もちろん他の実施形態においては、デスクランブラ４６およびスクランブラ３４がまったく不要の場合もある。
【００３５】
ここで特に図２〜図４を参照すると、本発明によるデスキュー方法が単純化された例を参照して説明される。図２の中のテーブル６２はいくつかの情報ビットＡ‐ＰといくつかのＣＲＣビットＣ１１‐Ｃ４２とのアラインメントを示している。これは、当業者なら理解されるように、第１のデバイス２２の出力において、あるいはそこから比較的短い距離において、通常、発生される適切なアラインメントである。
【００３６】
図３の表６３に示されているように、トップから２番目の情報ビット列が他の情報ビット列とアラインメントが外れている。したがって、デスキューを行わずに復元されると、情報ビット列はＡ，Ｚ，Ｃ，．．．Ｐとなる。言い換えれば、その情報ビット列は正しくないことになる。
【００３７】
ここで、図４の表６４に示されているように、本発明のデスキューはスキューのために整列されていない可能性があるフレームを整列し直す。したがって、正しい情報ビット列、Ａ，Ｂ，．．．Ｐが出力において発生される。文字列ベースのフレーミング・コードを使用した通信システム２０および関連デスキュー方法は、スキューを有利に、そして効率的に取り除くか、あるいは考慮することによって、高ビット・レートおよび／またはより長い伝送距離が可能である。高ビット・レートによって集積回路チップ間の通信のためのピン数を削減することができる。追加のピンおよびパッケージングの複雑性のためのコストが比較的大きくなる可能性があるので、本発明は、当業者なら理解されるように、依然として比較的高い総合通信レートを有する低コスト通信用ＩＣも可能にする。また、一方向の通信だけが示されているが、当業者なら理解されるように、逆方向の通信を実装するための回路を通信システムの他の実施形態１０が含むことができる。言い換えれば、本発明は全二重式通信システムに対しても容易に適用可能である。さらに、当業者なら理解されるように、１つまたはそれ以上の送信デバイスに対して複数の受信デバイスを接続することができる。
【００３８】
図５をさらに詳しく参照して、いくつかの追加のフレーミングまたは同期化の概念がここで説明される。特に、示されているフレーミングのステート・マシン７０は３つの状態、すなわち、同期前の状態７１と、ハント状態７３と同期状態７２とを有する。ハント状態と同期前の状態との間の遷移は文字列ベースのフレーミング・コードが正しいか、あるいは正しくないかに基づいて決定される。マシン７０はＸ個の連続した正しいコードが判定された場合に同期前の状態７１から同期状態７２へ変化する。マシン７０はＹ個の連続した正しくないコードが判定された場合に同期状態７２からハント状態７３へ遷移する。フレーミングのステート・マシン７０は、当業者なら理解されるように、他の既知のデータ同期化の用途において使用されているフレーミングのステート・マシンと非常によく似ている。
【００３９】
本発明の基本の文字列ベースのフレーミング・コーディングおよび関連のデスキュー方法の概念が、最初に２５〜５９の配線上で提供される並列通信チャネルを参照して説明された。言い換えれば、通信システム２０は配線の伝送媒体上で動作する。別の配線の用途は、例えば、ＰＣＩバスなどのデータバス上での動作を含む。代表的なＰＣＩバスは約６０〜７０ＭＨｚの比較的低い周波数に限定されている。したがって、情報のスループットを大きくするには広いバスが必要である。本発明はこの障害を克服し、追加のバス幅なしでより速いクロック・スピードでＰＣＩバスを動作させることができる。他の配線伝送媒体としては、当業者なら理解されるように、例えば、銅のツイスト・ペア、および同軸ケーブルなどがある。
【００４０】
ここで図６〜図８をさらに参照して、伝送媒体に関していくつかの代わりの実施形態がここで説明される。図６に示されている通信システム２０′の場合、その通信媒体は２つの光ファイバ７５によって提供されるように示されている。第１のデバイス２２′は文字列ベースのフレーミング・コーダ３２′を含み、第２のデバイス２４′はデスキューワ４５′を含む。また、通信システム２０′は図１に示されているような、そして上記のような他の構成部品も含むことができる。
【００４１】
第１の無線通信システムの実施形態２０″′が図７を特に参照して説明される。この実施形態においては、無線の送信機および受信機７６、７７がそれぞれ、そして自由空間が無線媒体上での通信チャネルを提供する。他の構成部品は二重のダッシュの表記で示されており、上記のものと類似している。
【００４２】
図８は第２の無線通信システムの２０″を示しており、赤外線送信機および赤外線検出器８１、８２がそれぞれ、当業者なら理解されるように、自由空間上で並列通信チャネルを提供する。また、当業者ならここで説明されている一般的な通信システム２０、２０′、２０″および２０″′の他のより特定の実装および用途を理解することができるだろう。
【００４３】
ここで、本発明の他の有利な特徴および実装が図９および図１０をさらに参照して説明される。特に、図９に示されているように、通信システム１２０は、複数の電気信号−伝送媒体変換器１４１を含む第１のデバイス１２２と、複数の伝送媒体−電気信号変換器１６１を含む第２のデバイス１２４とを含む。電気信号−伝送媒体変換器１４１は少なくとも１つの伝送媒体を経由して伝送媒体−電気信号変換器１６１のそれぞれに対して接続され、第１のデバイスと第２のデバイスとの間の並列通信チャネルを定義している。示されている実施形態においては、その伝送媒体は配線１２５によって提供されている。
【００４４】
他の実施形態においては、無線および光学伝送媒体を使用することができる。無線媒体はアンテナ１１３、１１４によって概略的に示され、赤外線または自由空間の光学媒体はソース１１５および検出器１１６によって示されている。
【００４５】
第１のデバイス１２２はそれぞれの並列通信チャネル上で並列に送信される情報ビット列の各情報ビット列に対して文字列ベースのフレーミング・コードを決定して付加するための文字列ベースのフレーミング・コーダ１３２を含み、各文字列ベースのフレーミング・コードは、図１を参照して上で説明されたように、文字列ベースのフレーミング・コーダ３２に関して上記のようにそれぞれの情報ビット列の中の少なくともいくつかの情報ビットに基づいている。文字列ベースのコーダ１３２は図１に関して上で説明されたように、文字列ベースのコード発生器およびマルチプレクサを含むことができる。
【００４６】
第２のデバイス１２４は受信された情報ビット列を文字列ベースのフレーミング・コードに基づいて整列させるためのデスキューワ１４５を含む。デスキューワ１４５は図１の通信システム２０の中に示されているデスキューワ４５について上で説明されたような構成部品および／またはそれと等価なものを含むことができる。したがって、低レート・コンバータ１４１、１６１を通信システム１２０の中で使用することができ、コストが大幅に削減され、しかも所望の比較的高い総合情報スループット・レートを提供する。そのデスキューの機能は並列通信チャネルを通じて発生する可能性のあるスキューを考慮する。
【００４７】
比較的長い距離に対しては、第１のデバイス１２２は配線媒体１２５などの普通の伝送媒体に沿って、複数の電気信号−伝送媒体変換器１４１からの信号をマルチプレックスするためのマルチプレクサ１１０をさらに含むことができる。これらの実施形態においては、第２のデバイス１２４は、当業者なら理解されるように、伝送媒体−電気信号変換器１６１に対して接続されているデマルチプレクサ１１２も含む。媒体のマルチプレックスおよびデマルチプレックスによって、当業者なら理解されるように、第１のデバイス１２２と第２のデバイス１２４との間の比較的長い距離に対して総合の通信システム１２０に対するコストを削減することができる。
【００４８】
他の実施形態の場合、マルチプレクサ１１０およびデマルチプレクサ１１２は不要の場合もある。当業者なら通信システム１２０をマルチプレクサ／デマルチプレクサ付きの、あるいはそれらが付かない形のいずれかで実装するためのコストのトレードオフを容易に決定することができるだろう。
【００４９】
並列通信チャネルの数に対するコンバータの速度におけるトレードオフの１つの特定の有利な使用は、同期光ネットワーク（ＳＯＮＥＴ）および／または同期式ディジタル階層（ＳＤＨ）標準によるものなどに対する光学実装に対する使用である。特に、波長分割多重（ＷＤＭ）および高密度波長分割多重（ＤＷＤＭ）は高度に開発されており、当業者なら理解されるように、異なる光学波長において比較的多数の通信チャネルを確立することができるだろう。示されている通信システム１２０′においては、より少ない数の高レート・コンバータの代わりに、低レートＯＣ‐Ｘコンバータ１４１′、１６１′を多数使用することができる。ファイバ１７５上での総合レートは比較的高いレート、すなわち、ＯＣ‐ＸのレートのＮ倍にすることができる。例えば、ＯＣ‐１９２コンバータのコストはＯＣ‐４８コンバータのコストの１００倍の可能性がある。したがって、通信システム１２０′は、高速光学コンバータを使用した同等程度の総合伝送レートのシステムより安価になる可能性がある。
【００５０】
ファイバ１７５上にマルチプレックスされた異なる波長は、そのファイバを通して異なる速度で進行する。過去においては、これらの異なる速度が測定され、そしてスキューを考慮するために固定のオフセットが追加された。都合の悪いことに、そのような方法は、例えば、ファイバのエージングおよび／または温度サイクルによって生じる可能性があるスキューにおける変動を考慮に入れることができない。当業者なら、光通信システム１２０′に対する文字列ベースのフレーミング・コーダ１３２′およびデスキューワ１４５′によって提供される効率および単純性に関しての利点を理解することができるだろう。
【００５１】
もう１つの通信システム２００が、特に図１１および図１２を参照して以下に説明される。示されている通信システム２００は、物理層デバイス（ＰＬＤ）２０１と、それに接続されている論理リンク・デバイス（ＬＬＤ）２０２とを含む。ＰＬＤ  ２０１はＰＬＤ送信インターフェース２０３を含み、それはさらに、ＰＬＤの並列情報出力２０５〜２０８と、少なくとも１つのＰＬＤ制御出力２１１とを含む。
【００５２】
ＬＬＤ  ２０２はＬＬＤ受信インターフェース２０４を含み、それはさらに、ＬＬＤ並列情報入力２１５〜２１８と、少なくとも１つのＬＬＤ制御入力２２１とを含む。また、通信システム２００は、ＰＬＤ情報の出力２０５〜２０８をそれぞれのＬＬＤ情報入力２１５〜２１８に対して接続する第１の並列通信チャネル２２５も含む。第２の通信チャネル２２６は、示されている単独のＰＬＤ制御出力２１１をＬＬＤ制御入力２２１に対して接続し、情報信号から帯域が外れているＬＬＤに対してＰＬＤから制御信号が送信されるようにする。したがって、制御速度が向上し、情報のスループットの効率が犠牲にされることはない。当業者なら理解されるように、第１および第２の通信チャネル２２５および２２６の個数は、実施形態によって異なる可能性がある。
【００５３】
ＬＬＤ受信インターフェース２０４は、ＬＬＤ状態出力２２２をさらに含むように示されており、ＰＬＤ送信インターフェース２０３はＰＬＤ状態入力２１２を含む。したがって、第３の通信チャネル２２７がＬＬＤ状態出力２２２をＰＬＤ状態入力２１２に対して接続する。
【００５４】
また、ＰＬＤ  ２０１は、ＰＬＤの並列情報入力２３１〜２３４と、ＰＬＤ制御入力２３５とを含むＰＬＤ受信インターフェース２３０も含む。ＬＬＤ  ２０２は、ＬＬＤ並列情報出力２４１〜２４４と、ＬＬＤ制御出力２４５とを含むＬＬＤ送信インターフェース２４０をさらに含む。示されている実施形態においては、第４の並列通信チャネル２５０がＬＬＤ情報出力２４１〜２４４をそれぞれのＰＬＤ情報入力２３１〜２３４に対して接続する。さらに、第５の通信チャネル２５１がＬＬＤ制御出力２４５をＰＬＤ制御入力２３５と接続する。
【００５５】
ＰＬＤ受信インターフェース２３０は、ＰＬＤ状態出力２３６をさらに含むことができ、ＬＬＤ送信インターフェース２４０はＬＬＤ状態入力２４６をさらに含むことができ、そして通信システム２００は、ＰＬＤ状態出力２３６をＬＬＤ状態入力２４６に対して接続する第６の通信チャネル２５２も含むことができる。このシステムによればＰＬＤ  ２０１とＬＬＤ  ２０２はプッシュ‐プッシュ構成で動作することができる。
【００５６】
プッシュ‐プッシュ構成は、従来のプッシュプル構成のいくつかの障害を克服する。ＰＬＤ  ２０１は、通常、比較的高価であるオンチップ・メモリ２６０を含む。ＬＬＤ  ２０２は、通常、より多くのメモリを必要とするが、メモリ２６１は、当業者なら理解されるように、通常、オフチップで提供されるので比較的安価である。プッシュ‐プッシュ構成は、ＬＬＤ  ２０２がＰＬＤ  ２０１を減速しないので、ＰＬＤ  ２０１に対する比較的高価なオンチップ・メモリ２６０に対する必要性を緩和する。
【００５７】
もう１つの有利な特徴は、インターフェース２０３、２０４、２３０および２４０を対称的にすることができることである。言い換えれば、ＰＬＤ送信インターフェース２０３とＬＬＤ送信インターフェース２４０とを実質的に同じものにすることができ、また、ＰＬＤ受信インターフェース２３０とＬＬＤ受信インターフェース２０４とを実質的に同じものとすることができ、それによって対称的なインターフェースを定義することができる。対称的なインターフェースは設計および製造を単純化し、当業者なら理解されるように、ＰＬＤ送信インターフェース２０３とＰＬＤ受信インターフェース２３０との間に示されている点線のループバック径路２６３によって示されているようなループバック機能などの他の利点を提供することができる。
【００５８】
また、その対称性によって、ＬＬＤ  ２０２が点線の水平線２６４によって示されているように、２つの別々の集積回路パッケージに機能的に分けることができる。ピン数が比較的多くなる可能性があり、コストの大きな部分となり得るので、対称性および２つの別々のＩＣを提供するための機能は本発明の大きな利点である。
【００５９】
ＬＬＤ  ２０２は、当業者なら理解されるように、例えば、非同期転送モード（ＡＴＭ）デバイスを含むことができる。さらに、ＰＬＤは、当業者ならやはり理解されるように、同期光ネットワーク（ＳＯＮＥＴ）デバイスまたは同期式ディジタル階層（ＳＤＨ）デバイスとすることができる。また、ＬＬＤ  ２０２は、当業者なら理解されるようにＳＤＬまたはＨＤＬＣのデバイスとすることができる。
【００６０】
通信システム２００のさらにもう１つの態様は、スキューを考慮しながら、高速並列通信チャネルを使用することによって、ＰＬＤ  ２０１およびＬＬＤ  ２０２のピン数を管理可能なように維持できることである。特に、図１１を特に参照して示されているように、ＰＬＤ送信インターフェース２０３は、それぞれの第１の並列通信チャネル上で並列に送信される情報ビット列の各情報ビット列に対して文字列ベースのフレーミング・コードを決定して付加するための文字列ベースのフレーミング・コーダ３２″″を含むことができ、各文字列ベースのフレーミング・コードはそれぞれの情報ビット列の中の少なくともいくつかの情報ビットに基づいている。また、ＬＬＤ受信インターフェース２０４は、受信された並列情報ビット列を文字列ベースのフレーミング・コードに基づいて整列させるためのデスキューワ４５″″も含むことができる。
【００６１】
その文字列ベースのフレーミング・コードは、例えば、ＣＲＣコードであってよい。示されている文字列ベースのコーダ３２″″は上記のように文字列ベースのコード発生器３７″″と、マルチプレクサ３８″″とを含む。スクランブラを追加することができるが、それは示されている実施形態の中には示されていない。Ｍ要素−Ｎ要素変換器３６″″は文字列ベースのフレーミング・コーダ３２″″より上流にある。
【００６２】
デスキューワ４５″″は、情報ビット列をそれぞれの文字列ベースのフレーミング・コードに基づいてフレーム化するためのフレーマ５０″″と、フレーム化された情報ビット列を互いに相対的に、そしてその文字列ベースのフレーミング・コードに基づいて整列させるアライナー５２″″とを含むように示されている。アライナー５２″″は、フレーム化された情報ビット列をバッファするためにフレーマに接続されている少なくとも１つの先入れ先出し（ＦＩＦＯ）デバイス５３″″と；フレーム化された情報ビット列を少なくとも１つのＦＩＦＯデバイスの書込および読取フェーズのうちの少なくとも１つの間に、そして文字列ベースのフレーミング・コードに基づいて整列させるためのＦＩＦＯコントローラ５５″″とを含む。効率的なフレーミング・アルゴリズムの特定の事例が、この説明の残りの部分において与えられる。
【００６３】
ＰＬＤからＬＬＤへの逆方向の情報および制御信号についてのコーティングおよびデスキューを提供することができる。いくつかの実施形態においては、並列通信チャネルを図示されている実施形態の中で示されているように、電気導体上で提供することができる。もちろん、他の伝送媒体も使用することができる。
【００６４】
＜Ｉ．インターフェースの例＞
本発明の一般的な構成部品、概念、特徴および利点を既に説明してきたが、ここでこの説明はＰＮＧインターフェースと称するインターフェースの特定の例を含む。もちろん、この例は、例示としてのものであり、本発明をさらに記述することを意味しており、本発明を制限するものではないことを理解されたい。
【００６５】
ＰＮＧは最小のピン数で、非常に高いデータ・レートで１つのデバイスから別のデバイスへデータを転送することができるインターフェースである。ＰＮＧは対称的で、プッシュ／プッシュであり、ＯＣ‐１９２以上にまで拡張可能なＯＣ‐４８のレートにおいて使用することができる。さらに、ＰＮＧはＡＴＭセルおよびパケットの両方を同時並行的に転送するように設計されている。
【００６６】
図１１に示されているように、ＰＮＧは３種類の信号、すなわち、データ、制御、および状態を含むことが分かる。制御信号はデータと同じ方向に送信され、そして状態は反対の方向に送信される。したがって、一方向当たりのインターフェースを構成するｄ＋ｃ＋ｓ個のビットがある。（ＵｔｏｐｉａまたはＵｔｏｐｉａに似たインターフェースとは違って、ＰＮＧは対称的であり、プッシュ／プルでなく、プッシュ／プッシュである。）表１は各種のビット・レートに対する代表的な、あるいは推奨されるｄ、ｃおよびｓに対する値を示す。
【表１】
0003707537.tif 000002
【００６７】
６２２ＭＢ／ｓ以上で、スキューを制御することは困難である可能性がある。ビット間のアラインメントを確実に行い、およびフレーミングを達成するために、各ビットはそれ自身のフレーミング構造を備えている。送信されるｎ個の情報ビットのすべてに対して、１つのＣＲＣが付加される。Ｎ個の情報ビットとＣＲＣとを情報フレームと呼ぶことができる。ｎの推奨されるサイズは１０２４ビットであり、推奨されるＣＲＣは多項式ｘ＾８＋ｘ＾２＋ｘ＋１のＣＲＣ‐８である。しかし、このサイズおよびＣＲＣは最も確率の高い取得時間を求めるために解析によって変えることができる。他の推奨されるサイズはＣＲＣ‐４付きの５１２ビット、あるいはＣＲＣ‐３２付きの２０４８ビットである。ＣＲＣ‐４は必要なハードウェアが最小であるが、間違ったフレーミングの確率が高いので、かなりの取得時間を必要とする可能性がある。ＣＲＣ‐３２はより多くのフレーミング回路を必要とする。
【００６８】
付加されるＣＲＣの他に、データも多項式ｘ＾７＋ｘ＾６＋１のシーケンス長１２７のフレーム同期スクランブラを使用してスクランブルすることができる。そのスクランブラはＣＲＣの挿入の後、最上位ビットにおいて７′ｂ１１１＿１１１１にリセットされなければならない。情報のスクランブリングはＣＤＲを可能にするために、０と１との一様な分布を確実に行うために実行されることに留意されたい。
【００６９】
当業者なら理解されるように、ＨＥＣの詳細描写に似たフレーミングのステート・マシンを採用することが提案される。フレーミングのステート・マシン７０は図５に示されており、既に説明されている。
【００７０】
フレームが見つかった後、複数のビットにわたって情報を整列させることは受信機の責任である。ＯＣ‐４８の場合、受信機は４個のｄビットおよび１個のｃビットについてフレーム化し、５個のすべてのビットによりフレームが獲得された後、データおよび制御を正しく抽出することができる。取得時間を加速するために、限られた時間（ビット間の許されているスキューによって変わるが、それに数個のビットをプラスまたはマイナスした時間）において５個のすべてのビットについてフレームが見つからなかった場合、ＣＲＣについての間違った肯定マッチを無視することができる。
【００７１】
６２２ＭＢ／ｓにおける４個のデータ・ビットと１個の制御ビット演算でのＯＣ‐４８の場合、データおよび制御は図１３に示されているように分けられ、８個のすべての制御ビットに対して３２ビットの関係を形成する。この分類はもちろん情報のフレーミングが発生した後に実行されることになる。
【００７２】
制御とデータの区分けが行われた後、その制御情報が関連データの状態を決定するために使用される。この情報はポートＩＤ（ＰＩＤ）、グループＩＤ（ＧＩＤ）、パケット（またはセル）の開始、およびパケット（またはセル）の終了（そのバイトはそのパケットの終りである）を含む。その情報が以下の表２に示されている。
【表２】
0003707537.tif 000003
【００７３】
制御フィールドの第１ビットは、その制御オクテット（およびその関連データ・フィールド）が前の制御オクテットの続き（すなわち、一部分）であるかどうかを示す。ＣＯＮＴが０であった場合、これは新しい送信の第１オクテットである。ポートＩＤ（ＰＩＤ）は７ビット幅であり、そのデータが関連付けられているポートを識別するために使用される。この結果、ポートは１２８個までとなる。それより多い数のポートが必要な場合、３ビットであるグループＩＤ（ＧＩＤ）フィールドがポートの範囲を１０２４（２＾１０）まで拡張するために使用される。ＳＴＡＴＵＳフィールドは残りの制御情報を伝えるために使用される。ＳＴＡＴＵＳフィールドのコード化が表３に示されている。
【表３】
0003707537.tif 000004
【００７４】
各チャネルに対して送信されなければならない制御情報の量を、１個の８ビット・オクテットの中に含めることはできないので、ポートのコンテキスト・スイッチが実行できる前に、少なくとも２個の８ビット・オクテットが送られなければならない。しかし、この後、次の４バイト境界においてコンテキスト・スイッチを実行することができる（パケットが８バイト以上である限り、そのインターフェースは複数の４バイト・パケットに対して１００％有効であることを意味している）。１バイト以上の任意のサイズのパケットを送信することができることに留意されたい（８バイトより少ない場合、そのリンクの効率が落ちる）。
【００７５】
以下の表４にはヌルのデータが送信された後、３２バイトのパケットが続く場合の例が示されている。
【表４】
0003707537.tif 000005
【００７６】
ＰＩＤおよびＧＩＤによって、ＰＮＧにおいてサポートすることができるチャネルの数は１０２４であることに留意されたい。これは必要な場合、状態のサイズを３ビットに減らし、ＧＩＤを４ビットに拡大することによって２０４８に拡張することができる。しかし、その時、データのフィールドは１〜４バイトのサイズのパケットについての情報を伝えるために利用されなければならないことになる。
【００７７】
ＳＴＡＴＵＳフィールドは、データおよび制御とは反対の方向に送信され、そしてチャネルごとのベースでフロー制御を提供するために使用される。この状態フィールドはスクランブルされ、制御およびデータの場合と同じ方法でＣＲＣが後に付けられる。状態情報が抽出されると、それは以下の表５に示されているフォーマットに従って解釈される。
【表５】
0003707537.tif 000006
【００７８】
制御フィールドの場合と同様に、ＰＩＤはポートＩＤを表し、ＧＩＤはグループＩＤを表し、そしてこれらのビットの組合せを使用して１０２４個までのポートについての状態を提供することができる。Ｒは予約済みであり、ＦＳＴＡＴＵＳはそのポートに関連付けられているＦＩＦＯの状態を伝えるために使用される。Ｒフィールドは必要に応じてＧＩＤまたはＦＳＴＡＴＵＳのいずれかを大きくするために使用することができる。
ＦＳＴＡＴＵＳのコード化が以下の表６に示されている。
【表６】
0003707537.tif 000007
【００７９】
１ビットの状態だけが必要な場合、ＦＳＴＡＴＵＳのＭＳＢビットを採用することができる。受信側（データおよび制御ビットを受信するが、状態を送信する側として定義される）が、そのＦＩＦＯの状態を決定し、そしてその情報を送信側（データおよび制御ビットを送信するが、状態を受信する側として定義される）に対して伝える。１ビットのｆｉｆｏ状態は、ＵｔｏｐｉａインターフェースにおけるＴｘＣｌａｖと同様なものと考えることができる。
【００８０】
送信側は受信側にあるすべてのＦＩＦＯの状態を維持することが要求される。この状態は受信機においてＦＩＦＯの状態が変化する時は常に絶えず更新され、そしてそのような伝える情報がない場合、受信機はアクティブなすべてのＦＩＦＯをすべてラウンド・ロビンし、送信側が確実に絶えず同期されるようにする。送信者として従来のＰＨＹデバイスの場合、それは状態を必要としない。したがって、状態情報は送信者としてＰＨＹによって無視することができる。
【００８１】
ＰＮＧインターフェースの論理ブロック図が図１に示されており、これ以上の説明は不要である。
【００８２】
＜II．デスキューのアルゴリズムの例＞
本発明の一般的な構成部品、概念、特徴および利点、およびインターフェースの例を説明してきたところで、この説明は次にデスキューのアルゴリズムの特定の例を含む。このデスキューのアルゴリズムは例示としてのものであり、本発明をさらに説明することを意味し、本発明を制限するものではないことを理解されたい。
【００８３】
ネットワークにおいてより大きいバンド幅が必要になる際、顧客はオン・デマンドのベースで２点間にバンド幅を追加するための機能を要求する。ＳＯＮＥＴ／ＳＤＨネットワークにおいては、このバンド幅は普通はそのバンド幅を必要としている点に対して次のより大きい連結レベルを送信することによって提供される。これらのネットワークには、その新しい連結信号が占める可能性のあるタイムスロットに大きな制限がある。本発明によると、使用されているＳＴＳ‐１／ＶＣ‐４信号における制限なしに、それぞれＳＯＮＥＴ／ＳＤＨ信号に対してＳＴＳ‐１／ＶＣ‐４レベルにおいてバンド幅を割当て／割当て解除することができる。受信端においては、外部の介在（ソフトウェア）および最小限のハードウェア（ゲート数）なしでこれらのばらばらのストリームを１つのストリームに整列させるためのメカニズムが存在しなければならない。この例は完全にハードウェア・ベースのデスキュー・アルゴリズムを実装することによってソフトウェアの介在およびゲート数の問題に対処する。
【００８４】
ＳＯＮＥＴ／ＳＤＨのＳＰＥデスキュー・アルゴリズムによって、ユーザが定義したグループ内で複数のＳＴＳ‐１／ＶＣ‐４信号の動的なアラインメントが可能である。したがって、出力信号に誤りを導入することなしに、ユーザが定義したグループに対して信号を動的に追加するか、あるいはドロップすることができる。
【００８５】
図１４を参照して理解されるように、デスキューのアルゴリズム２７９は異なるＳＴＳ‐１／ＶＣ‐４の信号のＳＰＥを整列させるための単純なアルゴリズムを可能にするＳＯＮＥＴ／ＳＤＨフレームの特徴を考慮に入れる。アルゴリズム２７９は４つの基本構成部品、すなわち、入力制御論理ブロック２８０、書込制御論理ブロック２８１、データ記憶要素ブロック２８５、および読取制御論理ブロック２８６を含む。
【００８６】
入力制御論理ブロック２８０は、１つの仮想グループを形成するためにどのＳＴＳ‐１／ＶＣ‐４信号が一緒にまとめられているかを知るために必要な準備された情報を含む。また、この情報がデスキューの目的のために他の制御ブロックによっても使用される。
【００８７】
書込制御論理ブロック２８２は、各仮想グループに対して書込アドレス生成論理回路および最小書込アドレスおよび最大書込アドレス計算論理回路を含んでいる。仮想グループは２から４８までのＳＴＳ‐１信号または、２から１６までのＶＣ‐４信号を含む。書込アドレスはＪ１Ｉマーカに対して同期化されている。これにおいてＪ１のＰＯＨバイトが常にデータ記憶メモリの中の同じ場所に書き込まれる。その書込アドレスは常にＪ１マーカ間で７８３（ＳＴＳ‐１）または７８３＊３（ＶＣ‐４）個のバイトを書き込む。これはその信号がネットワーク内のポインタ・プロセッサ要素を通過する際に入って来るポインタの値に対して発生した増加または減少動作とは無関係である。同時に、各ロウの間に、最大および最小の書込アドレスがすべての仮想グループに対して計算される。この情報が、増加または減少動作が必要であるかどうかを知ることにおいて読取制御論理回路２８６によって使用される。これはそのＶＣグループ内のすべての信号がＦＩＦＯの深さの境界内で確実に整列されるようにする。
【００８８】
データ記憶要素ブロック２８５は、入って来る各ＳＴＳ‐１またはＶＣ‐４信号に対してデータの１つのロウをバッファするために十分なＲＡＭを含む。
【００８９】
読取制御論理ブロック２８６は、入って来る信号間の位相関係がポインタの増加および減少のために変化する際に読取ポインタが確実に移動／保持するようにする。増加動作（ＳＰＥタイムにおいて読取アドレスが保持されている）または減少動作（ＴＯＨ時刻の間に進んだ読取アドレス）が必要であるかどうかを決定するためにロウごとに一度評価が行われる。読取ポインタは、減少動作が実行されていることを除いて、ＳＰＥタイムの間でのみカウントする。仮想グループの入力信号のすべてが同じＪ１バイトのロケーションを有している場合、その読取および書込ポインタは、その記憶の深さの半分だけオフセットされ、最小値および最大値は、そのデスキュー・プロセスの後、等しくなる。
【００９０】
要約すると、そのデスキューのアルゴリズムによって任意の数の信号が１つの仮想グループを作り上げること、そしてその入って来る信号がマーカ間で首尾一貫した数のバイトを有していて、そのマーカ間の相対オフセットがＦＩＦＯの深さより大きくない限り、これらの信号を整列したままに保つことができる。上記説明はＳＯＮＥＴ／ＳＤＨの信号に対して固有であるが、本発明は整列されなければならない任意のタイプの信号に対して使用することができる。
【００９１】
この方法の主な利点はＳＯＮＥＴ／ＳＤＨのフレーム構造およびポインタ移動の挙動の標準の特性を考慮に入れるデスキューのアルゴリズムの単純性である。１つの仮想グループを作っている入力信号はその書込アルゴリズムを通じて自動的に整列され、その入力信号が互いに関して位相を変える際に、その出力が誤りのないことを読取アルゴリズムが確実にする。本発明はＳＯＮＥＴ／ＳＤＨネットワークの中で仮想連結信号を整列させるため、あるいはパケット・ネットワークにおいて高速デスキューを実行するためのアラインメント用ＦＩＦＯ回路において使用することができる。
【図面の簡単な説明】
【図１】  本発明による通信システムの第１の実施形態の略ブロック図である。
【図２】  図１に示されているような第１のデバイスの出力からの概略的なビット位置図である。
【図３】  図１に示されていて、スキューを示す第２のデバイスの入力からの概略的なビット位置図である。
【図４】  図１に示されていて、デスキューを示す第２のデバイスのＦＩＦＯデバイスからの概略的なビット位置図である。
【図５】  図１に示されているような第２のデバイスにおいて使用することができるフレーミングのステート・マシンの概略図である。
【図６】  本発明による通信システムの光ファイバによる実施形態の略ブロック図である。
【図７】  本発明による通信システムの無線による実施形態の略ブロック図である。
【図８】  本発明による通信システムの赤外線自由空間による実施形態の略ブロック図である。
【図９】  本発明による通信システムのもう１つの実施形態の略ブロック図であり、低レート・コンバータの電子回路のバンクを示している。
【図１０】  図９に示されているような通信システムの光ファイバによる実施形態の略ブロック図である。
【図１１】  並列通信チャネルによって接続されているＰＬＤおよびＬＬＤを含む通信システムの略ブロック図である。
【図１２】  図１１に示されているようなＰＬＤの送信インターフェースおよびＬＬＤの受信インターフェースのより詳細な略ブロック図である。
【図１３】  ＰＮＧインターフェースの例に対するデータおよび制御ビットのビン化（ｂｉｎｎｉｎｇ）の略図である。
【図１４】  デスキューのアルゴリズムの一例の略ブロック図である。
【図１】
0003707537.tif 000008
【図２】
0003707537.tif 000009
【図３】
0003707537.tif 000010
【図４】
0003707537.tif 000011
【図５】
0003707537.tif 000012
【図６】
0003707537.tif 000013
【図７】
0003707537.tif 000014
【図８】
0003707537.tif 000015
【図９】
0003707537.tif 000016
【図１０】
0003707537.tif 000017
【図１１】
0003707537.tif 000018
【図１２】
0003707537.tif 000019
【図１３】
0003707537.tif 000020
【図１４】
0003707537.tif 000021