(57)【要約】高速パラレルデータ通信手法が、複数の多重ビットグループでデータを並列に送信すると共に、並列に送信されたデータを受信した後、グループ間のスキュー起因のアライメント不良を再アラインすることによってデータスキューの問題を克服する。ある特定の実施例において、各々のグループに対して、装置は、ディジタルデータを同期させるためのクロック信号と共にパラレルでデータを伝送する。伝送されたデータは、グループに対するクロックを介して同期して集められる。受信モジュールにおいて、各々のグループに対して集められるデータは、各々のグループの専用クロック信号を使用してアラインされる。クロックドメイングループ間のスキューは、まず各々のクロックドメイングループ内で、それからグループ間でスキュー及びデータを処理することによって許容されると共に克服される。
2005505200.tif 000002
【特許請求の範囲】
【請求項１】
複数の多重ビットグループで並列に送信されるスキューイングデータに影響されるパラレルデータ通信装置の方法であって、
前記複数の多重ビットグループで前記並列に送信されるデータを受信するステップと、
前記並列送信データを受信した後に、前記グループ間のスキュー起因のアライメント不良を再アラインするステップと
を有する方法。
【請求項２】
前記グループ間のスキュー起因のアライメント不良を再アラインするステップが、前記受信データを有効化した後、及び前記受信データの更なる解析の前にもたらされる請求項１に記載の方法。
【請求項３】
各々のグループにおける前記データの前記スキューイングを制御するステップを更に含む請求項１に記載の方法。
【請求項４】
各々のグループにおける前記データの前記スキューイングを制御するステップが、各々の他のグループから独立にもたらされる請求項３に記載の方法。
【請求項５】
各々のグループに対して、各々のグループ内で前記並列送信データを同期させるために使用されるクロック信号を送信するステップを更に含む請求項１に記載の方法。
【請求項６】
データ有効インジケータを送信するステップと、各々のグループにおける前記データの受信を制御するために前記データ有効インジケータを使用するステップとを更に含む請求項１に記載の方法。
【請求項７】
前記データ有効インジケータを送信するステップが、送信されたデータの各々のグループに対してなされる請求項６に記載の方法。
【請求項８】
前記データが前記複数の多重ビットグループで並列に送信される前に前記データを符号化データ値に符号化するステップを更に含み、前記データ有効インジケータは固有符号化データ値である請求項７に記載の方法。
【請求項９】
各々のグループに対して少なくとも一つのスペシャルビットを送信するステップを更に含み、前記データ有効インジケータは前記少なくとも一つのスペシャルビットを使用して送信される請求項７に記載の方法。
【請求項１０】
同期クロック信号及びデータ有効インジケータを送信するステップと、前記同期クロック信号で前記データをサンプリングすることによって前記送信データを受信するステップと、前記グループにおける前記データの受信を制御するために前記データ有効インジケータを使用するステップとを各々のグループに対して更に含む請求項１に記載の方法。
【請求項１１】
前記データ有効インジケータは、有効データが受信されたことを示すことを決定するステップと、それに応答して、前記グループ間のスキュー起因のアライメント不良を再アラインする前に前記受信データを記憶するステップとを各々のグループに対して更に含む請求項１０に記載の方法。
【請求項１２】
各々のグループに対して前記受信データを記憶するステップは、前記グループ専用のシングルグループＦＩＦＯバッファに前記受信データを記憶するステップを含み、前記グループ間のスキュー起因のアライメント不良を再アラインするステップは、前記各々のシングルグループＦＩＦＯから出力されるデータを記憶するためのグループグローバルＦＩＦＯをもたらすステップを含む請求項１０に記載の方法。
【請求項１３】
各々のグループに対して、前記グループにおいて並列に伝送されるデータの間のいかなるスキュー起因のアライメント不良も許容するために、データが、差動クロック信号によって同期される複数のデータ搬送ラインによってもたらされ、前記スキュー起因のアライメント不良は一つの半クロック周期を超えない請求項１に記載の方法。
【請求項１４】
前記データが並列に送信される前に各々のグループに対して８ビット値から６ビット符号化データ値に前記データを符号化するステップを更に含む請求項１に記載の方法。
【請求項１５】
複数の多重ビットグループで並列に送信されるスキューイングデータに影響されるパラレルデータ通信装置であって、
前記複数の多重ビットグループで前記並列に送信されるデータを受信するための手段と、
前記並列送信データを受信した後に、前記グループ間のスキュー起因のアライメント不良を再アラインするための手段と
を有する装置。
【請求項１６】
複数の多重ビットグループで前記並列に送信されるスキューイングデータに影響されるパラレルデータ通信装置であって、
前記複数の多重ビットグループで前記並列に送信されるデータを受信するために構成されるとともに配置される受信回路と、
前記並列送信データを受信した後に、前記グループ間のスキュー起因のアライメント不良を再アラインするために構成されるとともに配置される再アライメント回路と
を有する装置。
【請求項１７】
前記複数の多重ビットグループで前記データを並列に送信するために構成されるとともに配置される送信モジュールを更に含む請求項１６に記載のパラレルデータ通信装置。
【請求項１８】
前記グループ間のスキュー起因のアライメント不良を再アラインするステップが、前記受信データを有効化した後、及び前記受信データの更なる解析の前にもたらされる請求項１７に記載のパラレルデータ通信装置。
【請求項１９】
各々のグループにおける前記データの前記スキューイングを制御するステップを更に含む請求項１７に記載のパラレルデータ通信装置。
【請求項２０】
各々のグループにおける前記データの前記スキューイングを制御するステップが、各々の他のグループから独立にもたらされる請求項１９に記載のパラレルデータ通信装置。
【請求項２１】
各々のグループに対して、各々のグループ内で前記並列送信データを同期させるために使用されるクロック信号を送信するステップを更に含む請求項１７に記載のパラレルデータ通信装置。
【請求項２２】
データ有効インジケータを送信するステップと、各々のグループにおける前記データの受信を制御するために前記データ有効インジケータを使用するステップとを更に含む請求項１７に記載のパラレルデータ通信装置。
【請求項２３】
前記データ有効インジケータを送信するステップが、送信されたデータの各々のグループに対してなされる請求項２２に記載のパラレルデータ通信装置。
【請求項２４】
前記データが前記複数の多重ビットグループで並列に送信される前に前記データを符号化データ値に符号化するステップを更に含み、前記データ有効インジケータは固有符号化データ値である請求項２３に記載のパラレルデータ通信装置。
【請求項２５】
各々のグループに対して少なくとも一つのスペシャルビットを送信するステップを更に含み、前記データ有効インジケータは前記少なくとも一つのスペシャルビットを使用して送信される請求項２３に記載のパラレルデータ通信装置。
【請求項２６】
同期クロック信号及びデータ有効インジケータを送信するステップと、前記同期クロック信号で前記データをサンプリングすることによって前記送信データを受信するステップと、前記グループにおける前記データの受信を制御するために前記データ有効インジケータを使用するステップとを各々のグループに対して更に含む請求項１７に記載のパラレルデータ通信装置。
【請求項２７】
前記データ有効インジケータは、有効データが受信されたことを示すことを決定するステップと、それに応答して、前記グループ間のスキュー起因のアライメント不良を再アラインする前に前記受信データを記憶するステップとを各々のグループに対して更に含む請求項２６に記載のパラレルデータ通信装置。
【請求項２８】
各々のグループに対して前記受信データを記憶するステップは、前記グループ専用のシングルグループＦＩＦＯバッファに前記受信データを記憶するステップを含み、前記グループ間のスキュー起因のアライメント不良を再アラインするステップは、前記各々のシングルグループＦＩＦＯから出力されるデータを記憶するためのグループグローバルＦＩＦＯをもたらすステップを含む請求項２６に記載のパラレルデータ通信装置。
【請求項２９】
各々のグループに対して、前記グループにおいて並列に伝送されるデータの間のいかなるスキュー起因のアライメント不良も許容するために、データが、差動クロック信号によって同期される複数のデータ搬送ラインによってもたらされ、前記スキュー起因のアライメント不良は一つの半クロック周期を超えない請求項１７に記載のパラレルデータ通信装置。
【請求項３０】
前記データが並列に送信される前に各々のグループに対して８ビット値から６ビット符号化データ値に前記データを符号化するステップを更に含む請求項１７に記載のパラレルデータ通信装置。
【請求項３１】
複数の多重ビットグループで並列に送信されるスキューイングデータに影響されるパラレルデータ通信装置の方法であって、
前記複数の多重ビットグループの各々において、データ有効インジケータ及び同期クロック信号と共に前記データを並列に送信するステップと、
前記同期クロック信号で前記データをサンプリングすることによって前記並列送信データを受信するステップと、
前記グループにおける前記データの受信を制御するために前記データ有効インジケータを使用するステップと、
前記グループにおける前記データの受信を制御するために前記データ有効インジケータを使用した後に、前記グループ間のスキュー起因のアライメント不良を再アラインするステップと
を有する方法。
【請求項３２】
複数の多重ビットグループで並列に送信されるスキューイングデータに影響されるパラレルデータ通信装置であって、
前記複数の多重ビットグループの各々に対して、データ有効インジケータ及び同期クロック信号と共に前記データを並列に送信するための手段と、
前記同期クロック信号で前記データをサンプリングすることによって前記並列送信データを受信するための手段と、
前記グループにおける前記データの受信を制御するために前記データ有効インジケータを使用するための手段と、
前記グループにおける前記データの受信を制御するために前記データ有効インジケータを使用した後に、前記グループ間のスキュー起因のアライメント不良を再アラインするための手段と
を有する装置。
【請求項３３】
複数の多重ビットグループで並列に送信されるスキューイングデータに影響されるパラレルデータ通信装置であって、
前記複数の多重ビットグループの各々に対する送信回路を有し、前記各々の送信回路はデータ有効インジケータ及び同期クロック信号と共に前記データを並列に送信する第一のモジュールと、
各々のグループに対して、前記同期クロック信号で前記データをサンプリングすることによって前記並列送信データを受信し、前記グループにおける前記データの受信を制御するために前記データ有効インジケータを使用し、前記グループにおける前記データの受信を制御するために前記データ有効インジケータを使用した後に、前記グループ間のスキュー起因のアライメント不良を再アラインするための第二のモジュールと
を有する装置。
【請求項３４】
複数の多重ビットグループで並列に送信されるスキューイングデータに影響されるパラレルデータ通信装置の方法であって、
前記複数の多重ビットグループの各々において、データ有効インジケータ及び同期クロック信号と共に前記データを並列に送信するステップと、
前記複数の多重ビットグループの各々において、
前記同期クロック信号で前記データをサンプリングすることによって前記並列送信データを受信するステップと、
前記グループにおける前記データの受信を制御するために前記データ有効インジケータを使用するステップと、
前記グループにおける前記データの受信を制御するために前記データ有効インジケータを使用した後に、シングルグループＦＩＦＯバッファに前記受信データを記憶するステップと、
前記各々のシングルグループバッファから出力されるデータを記憶するためのグループグローバルＦＩＦＯバッファを使用し、それから前記グループグローバルＦＩＦＯバッファにおける前記データを解析するステップを含む、前記グループ間のスキュー起因のアライメント不良を再アラインするステップと
を有する方法。
【請求項３５】
複数の多重ビットグループで並列に送信されるスキューイングデータに影響されるパラレルデータ通信装置であって、
前記複数の多重ビットグループの各々において、データ有効インジケータ及び同期クロック信号と共に前記データを並列に送信するための手段と、
前記複数の多重ビットグループの各々において、
前記同期クロック信号で前記データをサンプリングすることによって前記並列送信データを受信し、
前記グループにおける前記データの受信を制御するために前記データ有効インジケータを使用し、
前記グループにおける前記データの受信を制御するために前記データ有効インジケータを使用した後に、シングルグループＦＩＦＯバッファにおける前記受信データを記憶し、
前記各々のシングルグループバッファから出力されるデータを記憶するためのグループグローバルＦＩＦＯバッファを使用し、それから前記グループグローバルＦＩＦＯバッファにおける前記データを解析するステップを含む、前記グループ間のスキュー起因のアライメント不良を再アラインするための手段と
を有する装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、“平衡データビット符号化に基づくパラレル通信（Ｐａｒａｌｌｅｌ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｂａｓｅｄ  Ｏｎ  Ｂａｌａｎｃｅｄ  Ｄａｔａ−Ｂｉｔ  Ｅｎｃｏｄｉｎｇ）”と題される米国特許出願第０９／８７１，１９７号公報（ＶＬＳＩ．２９５ＰＡ）、“低電力を消費するパラレルデータ通信（Ｐａｒａｌｌｅｌ  Ｄａｔａ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｃｏｎｓｕｍｉｎｇ  Ｌｏｗ  Ｐｏｗｅｒ）”と題される米国特許出願第０９／８７１，１６０号公報（ＶＬＳＩ．２９９ＰＡ）、スキュー不耐性データグループを有するパラレルデータ通信（Ｐａｒａｌｌｅｌ  Ｄａｔａ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｈａｖｉｎｇ  Ｓｋｅｗ  Ｉｎｔｏｌｅｒａｎｔ  Ｄａｔａ  Ｇｒｏｕｐｓ）”と題される米国特許出願第０９／８７１，１５９号公報（ＶＬＳＩ．３００ＰＡ）、及び多重同期コードを有するパラレルデータ通信（Ｐａｒａｌｌｅｌ  Ｄａｔａ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｈａｖｉｎｇ  Ｍｕｌｔｉｐｌｅ  Ｓｙｎｃ  Ｃｏｄｅｓ）”と題される米国特許出願第０９／８７１，１１７号公報（ＶＬＳＩ．３１２ＰＡ）に開示されている要旨に関すると共に当該要旨を完全に具現化する。
【０００２】
本発明は、概してデータ通信に向いている。更に特には、本発明は、パラレルデータバスライン上に送信されるデータ信号におけるスキュー誤差を低減させるための装置及び方法に関する。
【背景技術】
【０００３】
電子産業界は、ハイパワー高機能回路を追求し続けている。これに関する重大な業績が、大規模集積回路の開発を通じて実現された。これらの複雑な回路は、１セットのデータに作用し、それからそのデータを更なる処理にもたらす機能的に規定されたモジュール（ｆｕｎｃｔｉｏｎａｌｌｙ−ｄｅｆｉｎｅｄ  ｍｏｄｕｌｅ）としてしばしば設計される。機能的に規定されたモジュールからの当該通信は、システム若しくはサブシステムの様々な部分に結合されるか、又はシステム若しくはサブシステムの様々な部分内で結合される、離れて位置された回路の間、同一チップ内の集積回路の間、及び個々のディスクリート回路の間に少量又は多量のデータでもたらされ得る。構成にかかわらず、前記通信は通常、実現スペース及び可能な動作電力に関する実際の制限に敏感である間、使用する回路設計部は、データの原形（ｄａｔａ  ｉｎｔｅｇｒｉｔｙ）が維持されることを保証するように設計される、密に制御されるインタフェイス（ｃｌｏｓｅｌｙ−ｃｏｎｔｒｏｌｌｅｄ  ｉｎｔｅｒｆａｃｅ）を必要とする。
【０００４】
ハイパワー、高機能半導体デバイスに対する増大する需要は、データが回路ブロックの間にもたらされる速度を増加させるための更に増大する需要をもたらしている。当該高速通信用途の多くは、多重データビット（ｍｕｌｔｉｐｌｅ  ｄａｔａ  ｂｉｔ）がパラレル通信パスの間で同期して送信されるパラレルデータ送信を使用して実現され得る。当該“パラレルバス（ｐａｒａｌｌｅｌ  ｂｕｓｓｉｎｇ）”は、高いデータレートでデータ転送を実現するためによく受け入れられる手法である。（ときどきデータと共に伝送されるクロックによってもたらされる）所与のデータ転送レートに対して、ビット／秒で測定される帯域幅は、パラレルデータ相互接続部を有するデータ信号数倍のデータ転送レートと同等になる。
【０００５】
通常のシステムは、例えばケーブル、バックプレーン（ｂａｃｋｐｌａｎｅ）回路、チップ内部のバス構成体、他の相互接続部、又は当該通信媒体の何れかの組み合わせの形態で、（ときどきデータチャネルと称される）パラレルデータ通信ラインとインタフェイスすると共にパラレルデータ通信ライン上で通信する多くのモジュールを含み得る。送信モジュールは、送信モジュール上のクロックで同期してバスを介してデータを送信する。この態様において、パラレル信号ライン上の遷移（ｔｒａｎｓｉｔｉｏｎ）は送信モジュールに、互いに対する同期関係及び／又は送信モジュール上のクロックに対する同期関係をもたらす。パラレルデータ相互接続部の他端において、受信モジュールはパラレルデータバス上のデータを受信する。当該バスにおいて、通信装置はクロック信号をもたらし、受信クロックは通常、送信モジュール上のクロックに同期していると共に当該クロックから抽出される。データがパラレル信号ラインを介してもたらされるレートは、ときどき（パラレル）“バスレート”と称される。
【０００６】
当該システムにおいて、受信信号（及び適用可能な場合、受信クロック）が、適切なデータ再生をもたらすために、送信クロックと特定の位相関係を有することを保証することは有利である。送信先におけるデータ信号と受信クロックとの間及び送信データ信号自体の間に、予期された量の期間“スキュー”がしばしば存在する。例えば、パラレル相互接続部の信号ラインの容量性及び誘導性負荷によってもたらされる送信遅延と、Ｉ／Ｏ（入力／出力）ドライバソースにおける変動と、符号間干渉（ｉｎｔｅｒｓｙｍｂｏｌ  ｉｎｔｅｒｆｅｒｅｎｃｅ）と、送信ラインのインピダンス及び長さにおける変動とを含む、スキューの多くのソースが存在する。どの現象がスキューをもたらすかにかかわらず、多くの用途に対して、適切なデータ再生を伴う通信を実現するためにこの問題が考慮されるべきである。
【０００７】
高速用途をもたらすパラレル相互接続部の場合、これに関して、スキューは“パターン依存性”を有しており、この問題の深刻さは軽減され得ると共に多くの例において大いに克服され得ることが分かっている。“平衡データビット符号化に基づくパラレル通信”（ＶＬＳＩ．２９５ＰＡ）と題される上記参照された特許文献に記載されているように、このパターン依存性は、パラレルバスにおけるデータビットの間で共有される不完全な電流源によりもたらされる。共有された電流源はドライバにおいてスキューをもたらす。このことは受信器におけるマージンを直接減少させ、今度はこのことがデータ送信誤差をもたらし得る。
【０００８】
これらの高速パラレル通信用途の多くは、多ビットのデータのパラレル送信を必要とし、それ故に対応する数のパラレルバスデータラインの使用を必要とする。通常、データビット（又はパラレルバスデータライン）の数が多いほど、全てのビットの間の、受信できないレベルのスキューを防止することがより困難となる。増大する送信レートの場合、この困難さは有用なパラレルバスデータラインの数に対するボトルネックとなる。
【０００９】
従って、データの原形を維持すると共に実現スペース及び消費電力を減少させる必要性に敏感であるハイパワー高機能回路を可能にする、より実用的且つ高速なデータのパラレルバス化をもたらし得る、パラレルバスを介したデータ通信を改善する必要がある。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明の様々な態様が、上記言及された問題を扱うと共に克服する態様、及び上記言及された特許文献に開示されている実施例と共に使用され得る態様で、パラレル通信ライン回路を介したデータ伝送に向けられる。
【課題を解決するための手段】
【００１１】
一つの実施例と一致して、本発明は、複数の多重ビットグループ（ｍｕｌｔｉｐｌｅ−ｂｉｔ  ｇｒｏｕｐ）でデータを並列に送信し、並列送信データを受信した後、グループ間における、スキュー起因のアライメント不良を再アライメントすることによってデータスキュー問題を克服する高速パラレルデータ通信手法に向けられる。
【００１２】
他の特定の実施例において、各々に対して、高速パラレルデータ通信装置はデータを、ディジタルデータを同期させるためのクロック信号と共にパラレルに伝送する。伝送されたディジタルデータは前記グループのためのクロック信号を介して同期して集められる。各々のグループに対して集められるデータは、各々のグループ専用クロック信号（ｅａｃｈ  ｇｒｏｕｐ  ｄｅｄｉｃａｔｅｄ  ｃｌｏｃｋ  ｓｉｇｎａｌ）を使用してアラインされる。まず各々のクロックドメイングループ内で、それからグループ間でスキュー及びデータを処理することによって、クロックドメイングループの間のスキューが許容されると共に克服される。
【００１３】
パラレルデータ回路を介する高速データ伝送を含む用途において、本発明の様々な実施例は、バスラインを個々のクロックドメインにグルーピングすると共に、各々のクロックドメイン内に少ない程度のデータスキューのみを可能にすることによって、比較的多くのパラレルバスラインの間のデータスキューを許容することに向けられる。各々のグループから集められるデータを集めるためにＦＩＦＯバッファを使用して、集められたＦＩＦＯデータは、それからグローバルグループＦＩＦＯバッファ（ｇｌｏｂａｌ−ｇｒｏｕｐ  ＦＩＦＯ  ｂｕｆｆｅｒ）に記憶され、それからバスを介して最初に送信されるデータを再生成（ｒｅｃｒｅａｔｅ）するためにグループからグループにアラインされる。前記手法は、異なるグループにおいて並列に伝送されるデータの間における、より重大な、スキュー起因のアライメント不良を克服する。
【００１４】
本発明の他の実施例は、符号化及び復号化を含む様々な他の関連する態様と、当該通信のシステム処理態様とに各々向けられる。
【００１５】
本発明の上記要旨は、本発明のすべての実施例又は各々図示された実施例を記載することを意図するものではない。以下の図及び詳細な説明はこれらの実施例を更に特定して例示している。
【００１６】
本発明は、添付図面に関連して、本発明の様々な実施例の以下の詳細な記載を考慮することにより、更に完全に理解され得る。
【発明を実施するための最良の形態】
【００１７】
本発明が様々な変形例及び代わりの形態に補正され得る一方で、それらの特定例は図面における例によって示され、詳細に記載されるであろう。しかしながら、本発明が記載の特定の実施例に限定されるべきではないことが理解されるべきである。逆に本発明は、従属請求項によって規定される本発明の範囲内の全ての変形例、等価な例、及び代わりの例をカバーするべきである。
【００１８】
本発明は概して、パラレルデータ通信パスによって相互結合される二つのモジュール（機能ブロック）間にデータを伝送するための装置及び方法に適用され得るべきである。本発明は、データスキュー誤差（ｄａｔａ−ｓｋｅｗ  ｅｒｒｏｒ）に影響され易い高速データ伝送用途に対して特に有利である。このような用途の例としては、とりわけＳＳＴＬ（ｓｔｕｂ  ｓｅｒｉｅｓ  ｔｒａｎｓｃｅｉｖｅｒ／ｔｅｒｍｉｎａｔｅｄ  ｌｏｇｉｃ）、ＲＳＬ（Ｒａｍｂｕｓ  Ｓｉｇｎａｌｉｎｇ  Ｌｏｇｉｃ）インタフェイス、パラレルデータ通信パスが単一チップ上の二つのモジュールを相互結合させるような密に接続された用途（ｃｌｏｓｅｌｙ−ｃｏｎｎｅｃｔｅｄ  ａｐｐｌｉｃａｔｉｏｎ）、及び、通常同一プリント回路基板上に互いに隣接して位置されるチップ間のオフボード高速通信(ｏｆｆ−ｂｏａｒｄ  ｈｉｇｈ−ｓｐｅｅｄ  ｃｏｍｍｕｎｉｃａｉｏｎ）がある。チップの間のオフボード高速通信の特定の例は、本願において参照によって取り入れられている１９９８年１２月１８日に出願された米国特許出願第０９／２１５，９４２号公報（現在米国特許第６，３４７，３９５号公報）に記載されている。本発明は当該用途に必ずしも限定されるわけではなく、本発明の様々な態様は当該環境における例の議論を通じて最もよく理解される。
【００１９】
本発明の一つの実施例によれば、パラレルデータ通信装置が、送信（又は第一）モジュール及び受信（又は第二）モジュールと称される一対の回路モジュール間のパラレルデータバス（ｐａｒａｌｌｅｌ  ｄａｔａ  ｂｕｓ）にディジタルデータを伝送する。ディジタルデータは、バスによってもたらされるスキューデータに影響され易いパラレルバスラインを有するパラレルバスを介して第一のモジュールから第二のモジュールに送信される。通信装置は、第一及び第二のモジュールが複数のグループでパラレルバスラインを介して並列にデータを通信するように設計される。前記グループの各々は、第一のモジュールから第二のモジュールにもたらされるディジタルデータを同期化させるためのクロック信号をもたらすための一つのクロックパス及び複数のデータ搬送ライン（ｄａｔａ−ｃａｒｒｙｉｎｇ  ｌｉｎｅ）を含んでいる。データ処理回路は、データグループにおけるバスを介する送信に対してもたらされるようにデータのセットを構成する。クロック信号を使用して、データは、第二のモジュールによる受信のためのパラレルバスに送信される。
【００２０】
第二のモジュールは、レジスタ又はデータバッファであってもよい受信回路と、データ処理回路と、各々のグループのためのＦＩＦＯバッファとを含んでいる。最初、各々のＦＩＦＯバッファは、何れか及び全てのデータが消去されている。グループのためのクロック信号を使用して、各々のグループ内で、受信ディジタルデータ（ｒｅｃｅｉｖｅｄ  ｄｉｇｉｔａｌ  ｄａｔａ）は受信回路において同期して受信され、それから処理されると共にＦＩＦＯバッファに伝送される。データグルーピング（ｄａｔａ  ｇｒｏｕｐｉｎｇ）は、受信データが一旦ＦＩＦＯバッファにもたらされると、何らかのスキュー起因のアライメント不良（ｓｋｅｗ−ｃａｕｓｅｄ  ｍｉｓａｌｉｇｎｍｅｎｔ）が半分のクロック周期を超えないように規定される。当該態様で、データ及びクロック信号は、単一のクロック周期内で解決されてきた。
【００２１】
しかしながら、様々なグループ間のスキュー起因のアライメント不良は、この時点で必ずしも解決されていない。ＦＩＦＯバッファから、各々のグループのために集められるデータは、例えばアライメントのための複数のグループ（ｍｕｌｔｉｐｌｅ  ｇｒｏｕｐ）（ある用途において、全てのグループ）からデータを受けるのに十分に大きな他のＦＩＦＯバッファを使用すると共に、受信段におけるこの時点におけるいかなるスキューも克服して更に処理される。そこでこの時点の前における、スキュー起因のアライメント不良は必ずしも解決されず、半分のクロック周期を超えるグループ間アライメント不良（ｉｎｔｅｒ−ｇｒｏｕｐ  ｍｉｓａｌｉｇｎｍｅｎｔ）を解決するためにより大きなＦＩＦＯバッファが使用され得る。バックエンドアライメント（ｂａｃｋ−ｅｎｄ  ａｌｉｇｎｍｅｎｔ）の作用に依存して、多くの実現例において、複数のクロック周期のグループ間アライメント不良を解決するためにより大きなＦＩＦＯバッファが使用され得る。ある一つの実施例において、より小さなＦＩＦＯバッファの各々が有効な記憶データ（ｖａｌｉｄａｔｅｄ  ｓｔｏｒｅｄ  ｄａｔａ）を有するとすぐに、記憶データはより大きなＦＩＦＯバッファに出力される。
【００２２】
当該バックエンドアライメントは、例えば無効多重ビットデータ値（ｉｎｖａｌｉｄ  ｍｕｌｔｉｐｌｅ−ｂｉｔ  ｄａｔａ  ｖａｌｕｅ）から有効多重ビットデータ値（ｖａｌｉｄ  ｍｕｌｔｉｐｌｅ−ｂｉｔ  ｄａｔａ  ｖａｌｕｅ）を識別するステップを含む様々な誤差解読（エラーデコーディング（ｅｒｒｏｒ−ｄｅｃｏｄｉｎｇ）技術の使用を含み得る。他の手法（アプローチ）が、“多重同期コードを有するパラレルデータ通信（Ｐａｒａｌｌｅｌ  Ｄａｔａ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｈａｖｉｎｇ  Ｍｕｌｔｉｐｌｅ  Ｓｙｎｃ  Ｃｏｄｅｓ（ＶＬＳＩ．３１２ＰＡ）”と題される上記参照特許文献に記載されている。
【００２３】
第二のモジュールのための代わりの実施例において、同様の手法として、データが各々のグループに対する最初に言及されたＦＩＦＯバッファに送信される前に、各々のグループに対する受信回路の部分として更なるＦＩＦＯバッファ（イニシャル（一次）ＦＩＦＯ（ｉｎｉｔｉａｌ  ＦＩＦＯ）バッファ）が使用されている。この態様においてデータ処理回路は、いかなるスキューを持つデータ（ｓｋｅｗｅｄ  ｄａｔａ）の再アライメント（ｒｅａｌｉｇｎｍｅｎｔ）も補助するためにイニシャルＦＩＦＯを使用するオプションを有するので、いかなるスキュー起因のアライメント不良も半分のクロック周期を超え得る。データ及びクロック信号は、各々のデータグループに対して単一のクロック周期を超えて解決される。データが各々のグループに対する次のＦＩＦＯ（“最初に言及されたＦＩＦＯバッファ”）に伝送されると、処理は上記議論のように継続される。
【００２４】
本発明の他の例において、（例えば受信データが有効か否かを示す）データ有効インジケータ（ｄａｔａ−ｖａｌｉｄ  ｉｎｄｉｃａｔｏｒ）が送信され、各々のグループにおけるデータの受信を制御するために使用される。ある一つの実現例において、データ有効インジケータは、送信データの各々のグループに対して送信される。他の実現例において、データ有効インジケータは、固有符号化データ値（ｕｎｉｑｕｅ  ｃｏｄｅｄ−ｄａｔａ  ｖａｌｕｅ）である。更に他の実現例において、少なくとも一つのスペシャルビット（ｓｐｅｃｉａｌ  ｂｉｔ）が各々のグループに対して送信され、データ有効インジケータが少なくとも一つのスペシャルビットを使用して送信される。
【００２５】
図１は、本発明の他の実施例によるパラレルデータ通信ライン装置１００を示している。装置１００は、送信モジュール１１２における、例えばＣＰＵ１０２及びレジスタ１０６のような処理回路から受信モジュール１１４にデータが同期して伝送されるレートを規定するために使用される差動クロックを含んでいる。当業者は、差動クロックが全ての用途に対して必要とされないことと、図１は一方向にのみ伝送されるデータを示しているが、相互通信（ｒｅｃｉｐｒｏｃａｌ  ｃｏｍｍｕｎｉｃａｔｉｏｎ）が、送信及び受信回路の相互のセットを含む各々の通信ノードの部分となるモジュール１１２及び１１４の各々も備え得ることとを評価するであろう。
【００２６】
装置１００は、データ値が、回路１１１によって符号化され、それから送信モジュール１１２と受信モジュール１１４との間の同期タイミング及び通信レートをもたらすために使用されるクロックライン１２２と共にパラレルデータライン１１６及び１１８を使用して送信モジュール１１２から受信モジュール１１４に伝送されるデータ値符号化・復号化手法（ｄａｔａ−ｖａｌｕｅ  ｅｎｃｏｄｉｎｇ−ｄｅｃｏｄｉｎｇ  ａｐｐｒｏａｃｈ）を使用する。受信モジュール１１４において、プロセッサ又は他の復号化回路（デコード回路（ｄｅｃｏｄｅ  ｃｉｒｃｕｉｔ））１３０は、データ値を再び符号化されていないデータ値に復号化するために、相互符号化アルゴリズム（ｒｅｃｉｐｒｏｃａｌ  ｃｏｄｉｎｇ  ａｌｇｏｒｉｔｈｍ）のルックアップテーブル又は等価回路を使用する。
【００２７】
装置１１２は、二つのクロックドメイン（領域）（ｃｌｏｃｋ  ｄｏｍａｉｎ）を含む用途例に向いている。各々のドメインは、バスライン１１６及び１１８上に一対の８ビットコード（“８ｂ”）グループとして符号化される一対の６ビットコード（“６ｂ”）グループに対応する１２ビットデータクロック（１２−ｂｉｔ  ｄａｔａ  ｃｌｏｃｋ（１２ｂ  ＤＣ））グループのための通信を同期化するためのクロック信号によって規定される。第一及び第二のクロックドメインは、同じ基本参照符号を使用して、アポストロフィによって後続される第二のクロックドメイン回路で各々ラベル表示されている。例えば第一のクロックドメインの差動クロックは１２２と示されており、第二のクロックドメインの差動クロックは１２２’と示されている。１２ｂ  ＤＣグループは、１２信号のコマンド（ｃｏｍｍａｎｄ）又はデータの通信を効率的に符号化する。場合によっては、より小さなグループを使用することは有利となり得る。従って、図示されているように、１２ｂ  ＤＣグループは、送信モジュール１１２と受信モジュール１１４との間の全１８ピンに対して、二つの６ｂ８ｂ符号化部（６ｂ８ｂ  ｅｎｃｏｄｅ）及び一対の差動クロック対を含んでいる。各々のクロックドメインに対して、１２ｂ  ＤＣグループの半分は、全１０ピンに対して一つの６ｂ８ｂ符号化器及び差動クロック対を含んでいる。符号化されない差動対も、信号を伝えるために使用され得る。当該差動対は、１２ｂ  ＤＣグループの半分で使用されるクロック信号を共有し得るか、又は当該差動対は自身のクロック対を有し得る。
【００２８】
８ｂコードグループ（８ｂ  ｃｏｄｅ  ｇｒｏｕｐ）の各々におけるデータは、受信モジュール１１４において同期して受信される。当該モジュールにおいて、データ処理回路、又はこの例において８ｂ６ｂ復号化器回路（８ｂ６ｂ  ｄｅｃｏｄｅｒ  ｃｉｒｃｕｉｔ）１３０は、同期して受信されたセットの８ビット幅データ（８−ｂｉｔ  ｗｉｄｅ  ｄａｔａ）を、対応するセットの６ビット幅データ値（６−ｂｉｔ  ｗｉｄｅ  ｄａｔａ  ｖａｌｕｅ）に変換し、それから６ビット幅データ値を、差動クロック信号１２２によって規定されるクロックドメイン専用のＦＩＦＯバッファ１３４に記憶する。このように各々のクロックドメインに対して、一対の８ｂ６ｂ復号化器回路に直接後続する一つのＦＩＦＯバッファがもたらされている。
【００２９】
データ及びクロック信号が単一のクロック周期内で解決されるようにデータグルーピングが適切に規定される場合、各々のクロックドメインに対するＦＩＦＯバッファにおけるデータは、いかなるスキュー起因のアライメント不良も有さないであろう。ＦＩＦＯ１３４及びＦＩＦＯ１３４’が空（ｅｍｐｔｙ）でないとき、両方からの最初のデータは、より大きなＦＩＦＯ１３８に伝送される。当該ＦＩＦＯは、両方のクロックドメインからデータを受けるのに十分に大きい。ポストプロセッサ（ｐｏｓｔ−ｐｒｏｃｅｓｓｏｒ）は、このデータを読み出し、様々なグループの間のいかなるスキュー起因のアライメント不良も除去する。
【００３０】
ＸｂＹｂ（例えば６ｂ８ｂ）符号化部が、多くの種類のビット符号化部のうちの一つでないことは評価されるであろう。また、多くの異なるＸｂＹｂ符号化手法が使用され得る。当該手法の例は、“平衡データビット符号化に基づくパラレル通信（Ｐａｒａｌｌｅｌ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｂａｓｅｄ  Ｏｎ  Ｂａｌａｎｃｅｄ  Ｄａｔａ−Ｂｉｔ  Ｅｎｃｏｄｉｎｇ）”と題される上記参照された特許文献（ＶＬＳＩ．２９５ＰＡ）における６ｂ８ｂ型のビット符号化部を使用してもたらされる。上記参照された特許文献は、本願において議論されるバスラインに関して有用な終端手法（ｔｅｒｍｉｎａｔｉｏｎ  ａｐｐｒｏａｃｈ）も示していると共に記載している。
【００３１】
図２は、図１の、六つの同じ種類の符号化／復号化クロックドメイン回路が、各々の方向における通信のための二つの通信パスの各々において使用される、本発明の他の実現例を示している。第二のターミナル（端局）２１２における受信に対して第一のターミナル２１０において開始される通信をもたらすために、六つの同じクロックドメイン回路のうちの一つが、接続された回路２１６ａ及び２１６ｂによって図示されている。第一のターミナル２１０における受信に対して第二のターミナル２１２において開始される通信のために、当該種類の六つの更なる符号化／復号化クロックドメイン回路が使用されている。当該回路のうちの一つが、接続された回路２３６ａ及び２３６ｂによって図示されている。簡略化のために以下の議論は、第二のターミナル２１２における受信に対して第一のターミナル２１０において開始される通信のフロー（流れ）に限定される。
【００３２】
第一のターミナル２１０において開始される通信は、ターゲットデータ（対象データ（ｔａｒｇｅｔ  ｄａｔａ））を、何れかの所望の状態又は制御データと共にフロントエンド（前置）ＦＩＦＯ（ｆｒｏｎｔ−ｅｎｄ  ＦＩＦＯ）２４２にもたらすＣＰＵ２４０又は他のソースで開始される。ＦＩＦＯ２４２から、（２４５として図示されているような）六つのセットの符号化／復号化クロックドメイン回路にもたらされるために、データはフロー制御バッファ２４４において通信のためにフォーマットされる。従って、符号化／復号化クロックドメイン回路は、７２ビット幅（六つのドメイン回路の各々に対して１２ビット）となるデータを受信する。６ｂ８ｂ符号化の後、上記のようにデータは、第二のターミナル２１２に送信され、第二のターミナル２１２において復号化される。復号化されると、データはワイドＦＩＦＯ（ｗｉｄｅ  ＦＩＦＯ）２４６にもたらされ、スキュー起因のアライメント不良は修正され、それから第二のターミナルＣＰＵ２６０によって処理するためにＦＩＦＯ２５０に詰められる。
【００３３】
フロー制御通信パス（ｆｌｏｗ−ｃｏｎｔｒｏｌ  ｃｏｍｍｕｎｉｃａｔｉｏｎ  ｐａｔｈ）２７０及び２７２も図２に図示されている。これらのパス２７０及び２７２は、開始ターミナル（ｉｎｉｔｉａｔｉｎｇ  ｔｅｒｍｉｎａｌ）２１０又は２１２に状態情報（ｓｔａｔｕｓ  ｉｎｆｏｒｍａｔｉｏｎ）を再びもたらすために使用される。用途に依存して様々な種類の通信状態情報がもたらされ得る。当該用途の例としては、例えば、ＦＩＦＯが低閾値レベル（ｌｏｗｅｒ  ｔｈｒｅｓｈｏｌｄ  ｌｅｖｅｌ）よりも低く満たされているか否か、ＦＩＦＯが高閾値レベル（ｕｐｐｅｒ  ｔｈｒｅｓｈｏｌｄ  ｌｅｖｅｌ）よりも高く満たされているか否か、ＦＩＦＯが空であるか否か、ＦＩＦＯが満杯（ｆｕｌｌ）であるか否か、及び、例えばＦＩＦＯのオーバフロー又はＦＩＦＯからもたらされる無効データに起因して誤差は発生しているか否かということが含まれる。当該フロー制御は、従来技術であり、多くの通信方式において使用されている。
【００３４】
当業者は、フロー制御通信パス２７０及び２７２が、シングルエンド非クロック信号（ｓｉｎｇｌｅ−ｅｎｄｅｄ，  ｎｏｎ−ｃｌｏｃｋｅｄ  ｓｉｇｎａｌｉｎｇ）のような低速コネクション（ｓｌｏｗｅｒ−ｓｐｅｅｄ  ｃｏｎｎｅｃｔｉｏｎ）を含む、いかなる様々な異なる種類のコネクションも使用して実現され得ることを更に認識するであろう。
【００３５】
図２の装置の場合、パラレルバスを介して送信されるコードと差動クロックとの間のタイミングの関係は、ソースの同期タイミングに依存しており、タイミングプロセスを簡略化するためにレジスタ間転送（ｒｅｇｉｓｔｅｒ−ｔｏ−ｒｅｇｉｓｔｅｒ  ｔｒａｎｓｆｅｒ）が使用されている。フロー制御の場合、データ再生、パケット同期、及び最長フライト期間（ｍａｘｉｍｕｍ  ｆｌｉｇｈｔ  ｔｉｍｅ）のためにスキューを特定することも有利となる。
【００３６】
（例えば送信ターミナルと受信ターミナルとの間の）通信チャネルにおいて、コードストローブ（ｃｏｄｅ  ｓｔｒｏｂｅ）はコードウィンドウ（ｃｏｄｅ  ｗｉｎｄｏｗ）に集中される。これにより、データはクロックの両エッジを使用することによってクロックされ得る。単一のＴＣ差動クロック対は、クロック周期毎に立上り及び立下りをもたらす。しかしながら、これらの信号は、信号が差動受信器を通過するまでデータをクロックするために使用されない。
【００３７】
図２の装置の場合、チップの受信ピン（ｒｅｃｅｉｖｉｎｇ  ｐｉｎ）におけるタイミングは、二つのストローブの交点において参照され得る。コードは、両方のコードストローブを使用することによって（それによって各々のコードウィンドウに立上りエッジをもたらすことによって）サンプリングされない。むしろ本例において、コードストローブは差動受信器によって受信され、必要とされるクロックは単一の差動レファレンス（ｄｉｆｆｅｒｅｎｔｉａｌ  ｒｅｆｅｒｅｎｃｅ）から生成される。
【００３８】
従って、パラレルバス用途におけるスキューの問題を扱うために本発明の実現例として様々な実施例が記載されてきた。各々の当該実現例において、まず各々のクロックドメイングループ内で、それからグループ間でスキュー及びデータを処理することによって、クロックドメイングループの間のスキューが許容されると共に克服される。
【００３９】
本発明は、上記の特定の例に限定されるべきではない。本発明が適用可能な多くの構成体、同等のプロセス、及び様々な変形例は、本発明の範囲内に入っている。例えば、マルチチップ又はシングルチップ装置が、チップセット装置の間の通信のために同様に構成された一方向又は双方向インタフェイスを使用して実現され得る。このようなバリエーションは、従属請求項に完全に示されているように、本発明に係る部分とみなされ得る。
【図面の簡単な説明】
【００４０】
【図１−１】ディジタルデータが、複数のパラレルデータ搬送ラインを含む通信チャネルを介して第一のモジュールから第二のモジュールへパラレルに伝送される、本発明によるパラレルデータ通信装置の例の図である。
【図１−２】ディジタルデータが、複数のパラレルデータ搬送ラインを含む通信チャネルを介して第一のモジュールから第二のモジュールへパラレルに伝送される、本発明によるパラレルデータ通信装置の例の図である。
【図１−３】ディジタルデータが、複数のパラレルデータ搬送ラインを含む通信チャネルを介して第一のモジュールから第二のモジュールへパラレルに伝送される、本発明によるパラレルデータ通信装置の例の図である。
【図１−４】ディジタルデータが、複数のパラレルデータ搬送ラインを含む通信チャネルを介して第一のモジュールから第二のモジュールへパラレルに伝送される、本発明によるパラレルデータ通信装置の例の図である。
【図２−１】ここでも本発明による、他の例のパラレルデータ通信ライン装置の図である。
【図２−２】ここでも本発明による、他の例のパラレルデータ通信ライン装置の図である。
【図１−１】
2005505200.tif 000003
【図１−２】
2005505200.tif 000004
【図１−３】
2005505200.tif 000005
【図１−４】
2005505200.tif 000006
【図２−１】
2005505200.tif 000007
【図２−２】
2005505200.tif 000008
【国際公開パンフレット】
2005505200.tif 000009
2005505200.tif 000010
2005505200.tif 000011
2005505200.tif 000012
2005505200.tif 000013
2005505200.tif 000014
2005505200.tif 000015
2005505200.tif 000016
2005505200.tif 000017
2005505200.tif 000018
2005505200.tif 000019
2005505200.tif 000020
2005505200.tif 000021
2005505200.tif 000022
2005505200.tif 000023
2005505200.tif 000024
2005505200.tif 000025
2005505200.tif 000026
2005505200.tif 000027
2005505200.tif 000028
2005505200.tif 000029
2005505200.tif 000030
【国際調査報告】
2005505200.tif 000031
2005505200.tif 000032
2005505200.tif 000033