(57)【要約】  電子装置には、各々がいくつかのタイム・スロット（ＳＬ）に分割されているフレーム（ＦＲ）に基づいて、少なくとも一次データおよび二次データ（ＩＳＯＣ，ＢＥ）を通信するための複数の機能ユニット（１〜１０）と、少なくとも１つの第１のクロック・ドメインのうちの複数の機能ユニット（１〜１０）のうちの１つから少なくとも一次データおよび二次データ（ＩＳＯＣ，ＢＥ）を受信するための関連する受信機ポート・ユニット（ＲＸ１，ＲＸ２，…，ＲＸｋ）、および少なくとも１つの第２のクロック・ドメインのうちの複数の機能ユニット（１〜１０）のうちの別の１つに少なくとも一次データおよび二次データ（ＩＳＯＣ，ＢＥ）を送信するための関連する送信機ポート・ユニット（ＴＸ１，ＴＸ２，…，ＴＸｋ）を有する少なくとも１つのポート（Ｐ１，Ｐ２，…，Ｐｋ）を有する、機能ユニット（１〜１０）を結合するための少なくとも１つのネットワーク・ノード（Ｓ１〜Ｓ４）が設けられる。少なくとも１つの第２のクロック・ドメインは、少なくとも１つの第１のクロック・ドメインと異なる。時間表示レジスタ（ｔ［ｐｏｒｔ］）は、少なくとも１つのポート（Ｐ１，Ｐ２，…，Ｐｋ）のうちの１つに関連する受信機ポート・ユニット（ＲＸ１，ＲＸ２，…，ＲＸｋ）を経由して受信されているフレーム、および少なくとも１つのポート（Ｐ１，Ｐ２，…，Ｐｋ）のうちの１つに関連する送信機ポート・ユニット（ＴＸ1，ＴＸ２，…，ＴＸｋ）を経由して送信されているフレームの相対的な時間位置に関する情報を記憶するために提供され、時間表示レジスタ（ｔ［ｐｏｒｔ］）は少なくとも１つのポート（Ｐ１，Ｐ２，…，Ｐｋ）のうちの１つに関連する受信機ポート・ユニット（ＲＸ１，ＲＸ２，…，ＲＸｋ）を経由して受信されている少なくとも一次データおよび／または二次データ（ＩＳＯＣ，ＢＥ）に従って更新される。タイマ管理手段（ＴＭＭ）は少なくとも１つの第１のクロック・ドメインのうちの少なくとも１つのポート（Ｐ１，Ｐ２，…，Ｐｋ）のうちの１つに関連する受信機ポート（ＲＸ１，ＲＸ２，…，ＲＸk）を経由して受信された一次データおよび二次データ（ＩＳＯＣ，ＢＥ）を少なくとも監視するため、および時間表示レジスタの値が予定の閾値を超える場合、少なくとも１つの第２のクロック・ドメインのうちの少なくとも１つのポート（Ｐ１，Ｐ２，…，Ｐｋ）のうちの１つに関連する送信機ポート・ユニット（ＴＸ１，ＴＸ２，…，ＴＸｋ）を経由して、少なくとも一次データ（ＩＳＯＣ）の伝送を休止するために提供される。
2008544624.tif 000002
【特許請求の範囲】
【請求項１】
各々がいくつかのタイム・スロットに分割されているフレームに基づいて、少なくとも一次データおよび二次データを通信するための複数の機能ユニットと、
少なくとも１つの第１のクロック・ドメインのうちの１つ内の前記複数の機能ユニットのうちの１つから前記少なくとも一次データおよび二次データを受信するための関連する受信機ポート・ユニット、および少なくとも１つの第２のクロック・ドメインのうちの１つ内の前記複数の機能ユニットのうちの別の１つに前記少なくとも一次データおよび二次データを送信するための関連する送信機ポート・ユニットを有する少なくとも１つのポートを有する、前記機能ユニットを結合するための少なくとも１つのネットワーク・ノードと、
前記少なくとも１つの第１のクロック・ドメインと異なっている前記少なくとも１つの第２のクロック・ドメインと、
前記少なくとも１つのポートのうちの１つに関連する前記受信機ポート・ユニットを経由して受信されているフレーム、および前記少なくとも１つのポートのうちの前記１つに関連する前記送信機ポート・ユニットを経由して送信されているフレームの相対的な時間位置に関する情報を記憶するための時間表示レジスタであって、前記少なくとも１つのポートのうちの前記１つに関連する前記受信機ポート・ユニットを経由して受信されている前記少なくとも一次データおよび／または二次データに従って更新される時間表示レジスタと、
前記少なくとも１つの第１のクロック・ドメインのうちの１つ内の前記少なくとも１つのポートのうちの１つに関連する前記受信機ポートを経由して受信された前記少なくとも一次データおよび二次データを監視するため、および前記時間表示レジスタの値が所定の閾値を超える場合、前記少なくとも１つの第２のクロック・ドメインのうちの１つ内の前記少なくとも１つのポートのうちの前記１つに関連する前記送信機ポートを経由して前記少なくとも一次データの伝送を休止するためのタイマ管理手段と、
を有する電子装置。
【請求項２】
前記時間表示レジスタが、前記受信機ポート・ユニットによって受信されたエスケープ・タイプのパケットに従ってさらに更新される、請求項１に記載の電子装置。
【請求項３】
前記時間管理手段が、前記一次データの伝送が休止されている場合でさえ、前記二次データの伝送を可能にするように適応された、請求項１に記載の電子装置。
【請求項４】
前記時間表示レジスタの前記更新と、前記伝送の前記休止とが、単語境界でまたはスロット境界で実行され得る、請求項１に記載の電子装置。
【請求項５】
前記フレームが、各々、事前定義された固定存続期間を有する、請求項１に記載の電子装置。
【請求項６】
前記スロットが各々、事前定義された固定サイズを有する請求項１に記載の電子装置。
【請求項７】
前記スロットの前記サイズが、最大一次データ・パケットを収容するように適応された請求項６に記載の電子装置。
【請求項８】
一次データ・パケットが、そのために予約されたスロットの始まりで開始し、
二次データ・パケットが、予約されていないスロットの始まりで、または前記一次データによって少なくとも部分的に使用されるスロットの最中に開始する、請求項６または７に記載の電子装置。
【請求項９】
前記少なくとも１つのネットワーク・ノードの各々が時間管理手段を有する、請求項１に記載の電子装置。
【請求項１０】
前記時間管理手段が、前記ポートの前記受信機ポート・ユニットを経由して受信された前記一次データおよび二次データを監視するために、前記ネットワーク・ノード内の前記ポートの各々に対して１つの時間管理ユニットを有する、請求項９に記載の電子装置。
【請求項１１】
前記少なくとも１つのネットワーク・ノードの各々が、前記少なくとも１つのポートの各々に対して、前記受信機ポート・ユニットを経由して受信されているフレーム、および前記送信機ポート・ユニットを経由して送信されているフレームの前記相対的な時間位置に関する情報を記憶するため、および前記少なくとも１つのポートの前記受信機ポート・ユニットを経由して受信されている前記少なくとも一次データおよび／または二次データに従って、各ポートに対して前記時間表示情報を更新するための時間表示レジスタを有する、請求項９または１０に記載の電子装置。
【請求項１２】
各々がいくつかのタイム・スロットに分割されているフレームに基づいて、少なくとも一次データおよび二次データを通信するための複数の機能ユニットと、少なくとも１つのポートを有する機能ユニットを結合するための少なくともネットワーク・ノードとを有する電子装置内のフレーム同期化のための方法であって、
前記少なくとも１つのポートに関連する受信機ポート・ユニットによって、少なくとも１つの第１のクロック・ドメインのうちの１つ内の前記複数の機能ユニットのうちの１つから前記少なくとも一次データおよび二次データを受信するステップと、
前記少なくとも１つのポートに関連する送信機ポート・ユニットによって、少なくとも１つの第２のクロック・ドメインのうちの１つ内の前記複数の機能ユニットのうちの別の１つに前記少なくとも一次データおよび二次データを送信するステップであって、
前記少なくとも１つの第２のクロック・ドメインは、前記少なくとも１つの第１のクロック・ドメインと異なるステップと、
前記少なくとも１つのポートのうちの１つに関連する前記受信機ポート・ユニットを経由して受信されているフレーム、および前記少なくとも１つのポートのうちの前記１つに関連する前記送信機ポート・ユニットを経由して送信されているフレームの相対的な時間位置に関する情報を時間表示レジスタ内に記憶するステップと、
前記少なくとも１つのポートのうちの前記１つに関連する前記受信機ポート・ユニットを経由して受信されている前記少なくとも一次データおよび／または二次データに従って前記時間表示レジスタを更新するステップと、
タイマ管理手段によって、前記少なくとも１つの第１のクロック・ドメインのうちの１つ内の前記少なくとも１つのポートのうちの１つに関連する前記受信機ポートを経由して受信された前記少なくとも一次データおよび二次データを監視するステップと、
前記時間表示レジスタの値が所定の閾値を超える場合、前記少なくとも１つの第２のクロック・ドメインのうちの１つ内の前記少なくとも１つのポートのうちの前記１つに関連する前記送信機ポート・ユニットを経由して、前記少なくとも一次データの伝送を休止するステップと、を含む方法。
【請求項１３】
各々がいくつかのタイム・スロットに分割されているフレームに基づいて、少なくとも一次データおよび二次データを通信するための複数の機能ユニットと、
少なくとも１つの第１のクロック・ドメインのうちの１つ内の前記複数の機能ユニットのうちの１つから少なくとも一次データおよび二次データを受信するための関連する受信機ポート・ユニット、および少なくとも１つの第２のクロック・ドメインのうちの１つ内の前記複数の機能ユニットのうちの別の１つに前記少なくとも一次データおよび二次データを送信するための関連する送信機ポート・ユニットを有する少なくとも１つのポートを有する、機能ユニットを結合するための少なくとも１つのネットワーク・ノードと、
前記少なくとも１つの第１のクロック・ドメインと異なる前記少なくとも１つの第２のクロック・ドメインと、
前記少なくとも１つのポートのうちの１つに関連する前記受信機ポート・ユニットを経由して受信されているフレーム、および前記少なくとも１つのポートのうちの前記１つに関連する前記送信機ポート・ユニットを経由して送信されているフレームの相対的な時間位置に関する情報を記憶するための時間表示レジスタであって、前記少なくとも１つのポートのうちの前記１つに関連する前記受信機ポート・ユニットを経由して受信されている前記少なくとも一次データおよび／または二次データに従って更新される時間表示レジスタと、
前記少なくとも１つの第１のクロック・ドメインのうちの１つ内の前記少なくとも１つのポートのうちの１つに関連する前記受信機ポートを経由して受信された前記少なくとも一次データおよび二次データを監視するため、および前記時間表示レジスタの値が所定の閾値を超えている場合、前記少なくとも１つの第２のクロック・ドメインのうちの１つ内の前記少なくとも１つのポートのうちの前記１つに関連する前記送信機ポートを経由して前記少なくとも一次データの伝送を休止するためのタイマ管理手段と、
を含む移動体装置。
【請求項１４】
各々がいくつかのタイム・スロットに分割されているフレームに基づいて、少なくとも一次データおよび二次データを通信するための複数の機能ユニットと、
少なくとも１つの第１のクロック・ドメインのうちの１つ内の前記複数の機能ユニットのうちの１つから前記少なくとも一次データおよび二次データを受信するための関連する受信機ポート・ユニット、および少なくとも１つの第２のクロック・ドメインのうちの１つ内の前記複数の機能ユニットのうちの別の１つに前記少なくとも一次データおよび二次データを送信するための関連する送信機ポート・ユニットを有する少なくとも１つのポートを有する、機能ユニットを結合するための少なくとも１つのネットワーク・ノードと、
前記少なくとも１つの第１のクロック・ドメインと異なる前記少なくとも１つの第２のクロック・ドメインと、
前記少なくとも１つのポートのうちの１つに関連する前記受信機ポート・ユニットを経由して受信されているフレーム、および前記少なくとも１つのポートのうちの前記１つに関連する前記送信機ポート・ユニットを経由して送信されているフレームの相対的な時間位置に関する情報を記憶するための時間表示レジスタであって、前記少なくとも１つのポートのうちの前記１つに関連する前記受信機ポート・ユニットを経由して受信されている前記少なくとも一次データおよび／または二次データに従って更新される時間表示レジスタと、
前記少なくとも１つの第１のクロック・ドメインのうちの１つ内の前記少なくとも１つのポートのうちの１つに関連する前記受信機ポートを経由して受信された前記少なくとも一次データおよび二次データを監視するため、および前記時間表示レジスタの値が所定の閾値を超えている場合、前記少なくとも１つの第２のクロック・ドメインのうちの１つ内の前記少なくとも１つのポートのうちの前記１つに関連する前記送信機ポート・ユニットを経由して前記少なくとも一次データの伝送を休止するためのタイマ管理手段と、
を含むデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子装置と、フレーム同期の方法と、データ処理システムと、移動体装置とに関する。
【背景技術】
【０００２】
移動体電話またはＰＤＡなど、現在の移動体システムは、新しい特徴の実施および既存の機能の改善に対して絶えず高まる必要性により、複雑性が連続的に増加することを示している。この増加は、システムの構成要素の数および複雑性の増加によって可能になる。同時に、これらの構成要素は通信するデータ転送速度も増加する。システムの複雑性の増加とあいまって、より高いデータ転送速度は、モジュラ手法の必要性を生み出している。このような手法によれば、処理システムは、複数の比較的独立した、複雑なモジュールを有する。
【０００３】
従来の移動体システムでは、モジュールは、通常、高価な並列の専用リンクを経由して互いに通信する。しかし、モジュールの数が増えると、この通信方法はもはや以降の理由で実用的ではなくなる。第１に、リンクの数が増えることは、費用がかかりすぎる。第２に、専用リンクを使用することは、新しいシステム構成を迅速に生み出す柔軟性を制限する。
【０００４】
シリアルリンクを使用する通信ネットワークは、これらの不利点を克服するために効果的な方法を形成する。ネットワークは、最近、非常に複雑な移動体システムにおける相互接続問題に対する解決策として、かなりの注目を得ている（例えば、ユニプロ作業グループ［UniPro Working Group］は、現在、ＭＩＰＩ標準化機関において移動体装置のためのネットワーク・プロトコルを定義している。詳細な情報に関しては、www.mipi.orgを参照されたい）。その理由は２つある。第１に、ネットワーク・リンクは直列式であり、リンクのためのピン／ワイヤの数をかなり減らし、したがって、相互接続費用をかなり削減する。第２に、ネットワークは、モジュールが相互接続される方法に柔軟性を提供し、新しい構成の迅速かつ容易な作成を可能にする。しかし、厳しいタイミング制約を要求するリアルタイムのアプリケーションの場合、このようなネットワークは、スループットの保証、ならびに待ち時間の限界を提供しなければならない。
【０００５】
相互接続中心の手法は迅速に新しいシステムを開発するための強力な方法を提供する。このような手法では、システムは複数のノードとして開発される。データ処理ユニットとしても示されるノードは、機能ユニット（例えば、記憶ユニット）、専用プロセッサ、汎用プロセッサ、ならびにルータおよびスイッチなどのデータ経路ユニット［data routing units］を有する。機能ユニットは、データ経路ユニットによって形成されるネットワーク内に配置される。このようなネットワークは、チップ上のネットワーク、様々な積分回路を結合するネットワーク、または様々なコンピュータを結合するネットワークであってよい点に留意されたい。ノードの通信プロトコルは標準化される傾向にあり、ネットワークのようなアーキテクチャは、新しいノードにより簡単に拡張されることが可能であり、構成を容易にすることは事実である。
【０００６】
費用と電力の理由でノード間のリンクは直列式であり、異なる低振幅［low-swing］信号を使用して、高周波（１ＧＨｚ以上）で実行する。これらの速度では、単一クロックで複数のチップ・システムを実行することは不可能である。したがって、各チップは局所クロックを有する。クロックは互いに同じ公称周波数を有することが可能であるという事実にもかかわらず、知られた許容値内の偏差が実際には発生することになる。これらの偏差は、水晶発振子の不完全性と局所温度の差とによって引き起こされる。他のシステムでは、様々なノードは意図的に異なるクロック速度を有する場合がある。データ転送は、依然として、データ生成ノード［data producing node］（送信機）によって動かされるクロックに対して同期式である。クロックは、第２の連続的に一対のワイヤ上で送られる（ソース同期式データ伝送［source synchronous data transmission］か、または、例えば、ＰＣＩエクスプレス［PCI Express］の場合のように、８ｂ１０ｂ符号化を使用して、データワイヤ内に埋め込まれる。データは、データと共に送られる送信機のクロックを使用して、宛先ノード（受信機）内でサンプリングされる。
【０００７】
既知のクロック・ドメイン・クロッシング技術［clock-domain crossing techniques］のうちの１つを使用し、次いで、データは受信機のクロック・ドメインに転送される。保証された性能を提供するシステムを実施する場合、システム内の資源の用途を正確に制御しなければならない。これを実現する１つの費用効果の高い方法は、その中でスロットが保証されたスループット通信のために予約される、スロットのフレームを定義することである。保証されたスループットが要求されるこのデータは、一次データとも呼ばれる。様々な機能を制御するために使用されるデータは、制御データと呼ばれることになる。このようなシステムは、すべての装置内のフレームとスイッチとが同期化されることを要求する。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
複数のネットワーク・ノードを有する、マルチ・クロック・ネットワーク環境内でフレームの伝送を同期化することが、本発明の目的である。
【課題を解決するための手段】
【０００９】
この目的は、請求項１に記載の電子装置によって、請求項１２に記載のフレーム同期化の方法によって、請求項１３に記載の移動体装置によって、また請求項１４に記載のデータ処理システムによって解決される。
【００１０】
したがって、電子装置には、各々がいくつかのタイム・スロットに分割されているフレームに基づいて、少なくとも一次データおよび二次データを通信するための複数の機能ユニットと、少なくとも１つの第１のクロック・ドメインのうちの１つ内の複数の機能ユニットのうちの１つから少なくとも一次データおよび二次データを受信するための関連する受信機ポート・ユニット、および少なくとも１つの第２のクロック・ドメインのうちの１つ内の複数の機能ユニットのうちの別の１つに少なくとも一次データおよび二次データを送信するための関連する送信機ポート・ユニットを有する少なくとも１つのポートを有する、機能ユニットを結合するための少なくとも１つのネットワーク・ノードが設けられている。少なくとも１つの第２のクロック・ドメインは、少なくとも１つの第１のクロック・ドメインと異なる。時間表示レジスタ［time indication register］は、少なくとも１つのポートのうちの１つに関連する受信機ポート・ユニットを経由して受信されているフレーム、および少なくとも１つのポートのうちの１つに関連する送信機ポート・ユニットを経由して送信されているフレームの相対的な時間位置に関する情報を記憶するために提供され、時間表示レジスタは、少なくとも１つのポートのうちの１つに関連する受信機ポート・ユニットを経由して受信されている少なくとも一次データおよび／または二次データに従って更新される。タイマ管理手段は、少なくとも１つの第１のクロック・ドメインのうちの１つ内の少なくとも１つのポートのうちの１つに関連する受信機ポートを経由して受信される少なくとも一次データおよび二次データを監視するため、および時間表示レジスタの値が所定の閾値を超える場合、少なくとも１つの第２のクロック・ドメインのうちの１つ内の少なくとも１つのポートのうちの１つに関連する送信機ポート・ユニットを経由して、少なくとも一次データの伝送を休止するために提供される。
【００１１】
したがって、受信フレームと送信フレームとの間の相対的な時間位置が所定の値を超える場合のみ、フレーム同期化が実施される可能性があるように一次データの伝送は休止される。
【００１２】
本発明の一態様によれば、時間表示レジスタは、受信機ポート・ユニットによって受信されるエスケープ・タイプのパケット［escape type packets］に従って、やはりそれらのパケットを考慮に入れるために更新される。
【００１３】
本発明の別の態様によれば、一次データの伝送が休止されている場合でさえ、時間管理手段は二次データの伝送を可能にする。したがって、フレームを同期化するために一次データが休止される場合、二次データは送信され得る。
【００１４】
本発明の別の態様によれば、時間表示レジスタの更新と、伝送の休止とは、フレーム同期化が細粒度に基づいて実行され得るように、単語境界またはスロット境界で実行されてよい。
【００１５】
本発明のさらに別の実施形態によれば、前記フレームは、各々、事前定義された固定存続期間を有し、前記スロットは事前定義された固定サイズを有する。
【００１６】
本発明の別の態様によれば、スロットのサイズは、最大の一次データ・パケットを収容するように適応される。
【００１７】
本発明の別の態様によれば、一次データ・パケットは、そのために予約されたスロットの始まりで開始し、二次パケットは、予約されていないスロットの始まりで、または一次データによって少なくとも部分的に使用されるスロットの最中に開始する。したがって、二次データ、すなわち、リンクの利用可能な帯域幅が一次データによって完全に使用されていない場合、ＢＥデータは送信されてよい。
【００１８】
本発明の別の態様によれば、時間管理手段は、ポートの受信機ポート・ユニットを経由して受信される一次データおよび二次データを監視するために、ネットワーク・ノード内のポートの各々に対して１つの時間管理ユニットを有する。したがって、フレーム同期化は各ポートに対して独立して実行され得る。
【００１９】
本発明のさらに別の態様によれば、少なくとも１つのネットワーク・ノードの各々は、各ポートのための相対的な時間位置に関する情報を記憶するため、およびそれぞれの時間表示情報が各ポートのために個別に利用可能なように、各ポートに対して時間表示情報を更新するための時間表示レジスタを有する。
【００２０】
本発明はまた、各々がいくつかのタイム・スロットに分割されているフレームに基づいて、少なくとも一次データおよび二次データと通信するための複数の機能ユニットと、少なくとも１つのポートを有する機能ユニットを結合するための少なくとも１つのネットワーク・ノードとを有する電子装置内のフレーム同期化法にも関する。少なくとも一次データおよび二次データは、少なくとも１つのポートに関連する受信機ポート・ユニットによって、少なくとも１つの第１のクロック・ドメインのうちの１つ内の複数の機能ユニットのうちの１つから受信される。少なくとも一次データおよび二次データは、少なくとも１つのポートに関連する送信機ポート・ユニットによって、少なくとも１つの第２のクロック・ドメインのうちの１つ内の複数の機能ユニットのうちの別の１つに送信される。少なくとも１つの第２のクロック・ドメインは、少なくとも１つの第１のクロック・ドメインと異なる。少なくとも１つのポートのうちの１つに関連する受信機ポート・ユニットを経由して受信されているフレーム、および少なくとも１つのポートのうちの１つに関連する送信機ポート・ユニットを経由して送信されているフレームの相対的な時間位置に関する情報は、時間表示レジスタ内に記憶される。時間表示レジスタは、少なくとも１つのポートのうちの１つに関連する受信機ポート・ユニットを経由して受信されている、少なくとも一次データおよび／または二次データに従って更新される。少なくとも１つの第１のクロック・ドメインのうちの１つ内の少なくとも１つのポートのうちの１つに関連する受信機ポートを経由して受信されている少なくとも一次データおよび二次データは、タイマ管理手段によって監視される。時間表示レジスタの値が事前定義された閾値を超える場合、少なくとも１つの第２のクロック・ドメインのうちの１つ内の少なくとも１つのポートのうちの１つに関連する送信機ポート・ユニットを経由する少なくとも一次データの伝送は休止される。
【００２１】
本発明はまた、前述の電子装置に対応する移動体装置およびデータ処理システムに関する。
【００２２】
多重リンクの全域でフレームの同期化を提供することは、低いバッファ・スイッチでバッファ・オーバフローが発生しないことを保証することが可能であり、例えば、リアルタイムのデータトラフィックのために帯域幅保証を提供することができる。さらに、低電力のオプションを提示することが可能である。すなわち、積極的な電力管理が実施可能である。このようなフレーム同期化を可能にするために、それぞれの情報は、ノード間で交換されてよく、またはすべてのノードに分散される必要がある。本発明は、以下に、図面を参照してより詳細に説明される。
【発明を実施するための最良の形態】
【００２３】
図１は、本発明が応用され得るデータ処理システム、すなわち電子装置のアーキテクチャの概略ブロック図を示す。データ処理システム、すなわち電子装置は、モデム１、通信アクセラレータ［accelerator］２、第１および第２の汎用処理エンジン３および６、メディア・アクセラレータ４、カメラ８、ディスプレイ９、大容量記憶装置５および１０、ならびに補助装置７など、様々な機能ユニットを有する、高性能の移動体電話として実施されてよい。機能ユニットは、スイッチＳ１、Ｓ２、Ｓ３およびＳ４によってネットワークに結合される。様々な機能ユニットとスイッチとは、各々、独自のクロックで動作してよい。クロックはほぼ同じ速度を有することができるが、クロックの正確な同期化は提供され得ない。別の場合では、それぞれのクロックは互いに異なってよい。スイッチは、少なくとも１つのネットワーク・ノードを有してよい。保証されたスループットにより、等時性［isochronous］データなどのデータを送信する場合、伝送はネットワーク内で全世界的に同期化されることが極めて重要である。本発明は、この条件が満たされることを保証する通信方式を提供する。
【００２４】
図２は、２つのノード間のデータ転送方式の略図を示す。ネットワーク内で実行される時分割多重は、同等のサイズのタイム・スロット内でデータを転送することによる低コストの解決策である。タイム・スロットは、機能ユニットからデータ・ストリームに対して予約されてよい。いくつかのスロットを有するフレームは、各々、ネットワーク内の各リンク全体にわたって送信されてよい。スロットは、異なる機能ユニット間の接続に割り当てられてもよい。スロット予約は、リアルタイムのデータ・ストリームのタイミング要件が満たされることを確実にするために実行されることが好ましい。
【００２５】
この場合、データ伝送のために利用可能な時間は、長方形として示されるタイム・スロットＳＬ内で再分割される。各タイム・スロットは、データのパケットの転送のために利用可能である。タイム・スロットの部分は、本明細書では、一次データとして示される、等時性データＩＳＯＣなど、保証されたスループットを要求するデータのために予約される。この実施例では、これらのタイム・スロットは、領域ＩＳＬによって表示される。他のタイム・スロットは、事前に予約されないが、二次データとしても示される他のデータによる使用のために実行時に付与されてもよい。そういうものとして知られた属性機構体（例えば、ラウンド・ロビン、優先順位によるスケジューリング）は、２つ以上のデータ・ソースが同じリンクに沿ってデータを転送することを望む場合、データ・パケットを選択するために使用されてよい。残りのデータは、バルク・データＢＤとして、または個別のデータ片として転送されてよい。図２で分かるように、スロット予約は、固定数のスロットの後で反復する。この固定数のスロットは、本明細書で、フレームＦＲとして示される。この場合、フレームＦＲは、１２８個のスロットを有するが、任意の数が応用されてよい。この場合、第１のフレームＦＲ１はｔ＝０で開始し、第２のフレームＦＲ２はｔ＝１２８で開始し、第３のフレームはｔ＝２５６で開始し、時間単位はスロットの存続期間である。
【００２６】
図３は、より詳細なデータ・パケットの実施例の略図である。示されたデータ・パケットは、それぞれ、４バイトと、１２８バイトと、２バイトを有する、ヘッダＨと、ペイロードＰＬと、トレーラＴＲとを有する。
【００２７】
フレーム同期化を実施するために、スロット・サイズ（例えば、１３２バイト）およびフレーム存続期間（例えば、１２５μｓ）は、本発明によるデータ処理システム、すなわち電子装置内に固定される。スロット・サイズは、保証された最大スループット、すなわち（そのヘッダおよび、場合によっては、トレールを含む）ＩＳＯＣパケットが提供されるように選択される。
【００２８】
ヘッダＨは、以降の構造を有する：タイプＴ（１バイト）、長さＬ（１バイト）、宛先アドレスＤ（１バイト）および発信元アドレスＳ（１バイト）。ペイロードＰＬは、現在送信されている実際のパケットまたはパケットの部分に従って、１バイトから１２８バイトを有してよい。トレーラＴＲは、ＣＲＣ−１６情報（２バイト）を有してよい。あるいは、パケットのサイズは、７（４＋１＋２）バイトと１３４（４＋１２８＋２）バイトとの間で異なってよい。
【００２９】
等時性パケット、すなわち保証されたスループットのパケットＩＳＯＣは、例えば、リアルタイムのトラフィックのために、保証されたスループットを要求するストリームの事前スケジュールされたパッケージに関連する。この種類のデータは、一次データと呼ばれてよい。Ｂｅｓｔ＿ｅｆｆｏｒｔパケットＢＥ、すなわち二次データの伝送は、実行時にスケジュールされる。
【００３０】
図４は、本発明による、ＩＳＯＣパケット伝送の略図を示す。ＩＳＯＣパケットは、常にスロットの始めに位置合わせされることが好ましいが、ＩＳＯＣパケットは、必ずしもスロット全体を占有しなくてよい。しかし、スロットは、最大ＩＳＯＣパケット・サイズに対応する固定存続期間またはサイズを有するため、ＩＳＯＣパケットは、１スロットを超えて拡張しないことになる。この場合、パケットＩＳＯＣ１は、単に第１のスロットの一部を使用するが、パケットＩＳＯＣ２は、第２のスロット全体を占有する。ＩＳＯＣパケットは予約されたスロット内でだけ転送されるため、次の第３のスロットはいかなるＩＳＯＣパケットも包括しない。パケットＩＳＯＣ３は第４のスロット全体を占有するが、パケットＩＳＯＣ４は第５のスロットの一部だけを占有する。
【００３１】
図５は、本発明による、ＢＥパケット伝送の略図を示す。特に、ｂｅｓｔ＿ｅｆｆｏｒｔパケットＢＥ１〜ＢＥ３は、図４に示されるタイム・スロットの間も転送される必要がある。ｂｅｓｔ＿ｅｆｆｏｒｔパケットＢＥ１〜ＢＥ３は、スロットの開始または始めに位置合わせされることに限定されず、また、スロットの終了に位置合わせされることにも限定されない。すなわち、ｂｅｓｔ＿ｅｆｆｏｒｔパケットＢＥは、ＩＳＯＣパケットによって使用されていないリンクの利用可能な帯域幅を満たしてよい。これらの未使用スロットは、第１のスロット内の部分的な未使用スロット（例えば、パケットＩＳＯＣ１）または、第３のスロットなど、完全な未使用スロットを含んでよい。この場合、パケットＩＳＯＣ１によって部分的にだけ占有されている第１のスロットは、ＢＥパケットＢＥ１の少なくとも一部によって満たされてよい。ＢＥパケットＢＥ１は、第１のスロット内の残りの領域よりも長いため、パケットＢＥ１の残りの部分は、任意の後続のスロット内で収容されなければならない。第２のスロットはＩＳＯＣパケットのために予約され、ＩＳＯＣパケットは任意のＢＥパケットを横取りするため、パケットＢＥ１の残りの部分は、第３のスロットだけを占有することが可能である。パケットＢＥ１の残りの部分は第３のスロットより短く、またＩＳＯＣパケットは常にスロットの始めに位置合わせされる必要があるため、第２のＢＥパケットＢＥ２は第３のスロットを占有してよい。すなわち、複数のＢＥパケットは単一のスロットを占有してよい。
【００３２】
ＩＳＯＣパケットおよびＢＥパケットに加えて、別のパケットＥＳＣ、すなわちエスケープ・タイプのパケットが送信されてもよい。エスケープ・タイプは、ヘッダの残りの部分の異なる形態を可能にする。このようなパケットは、様々な制御機能、例えば、それを介してデータが通信されるリンクをアクティブにするため、リンクを非アクティブにするため、または誤差を表示するために役立つ可能性がある。
【００３３】
フレームは固定存続期間Ｔframe（例えば、Ｔframe＝１２５μｓ）を有すると定義されるため、またスロットは固定長ｌslot（ｌslot＝１０７２ビット）を有するため、フレーム内のスロット数は、リンクのビット・レートｂによって決まり、以降の定式によって与えられる。
【数１】
2008544624.tif 000003
【００３４】
リンクのビット・レートｂはａ）所与の正確さを有する、知られたクロック周波数と、ｂ）ライン符号化（例えば、符号化なし、または８ｂ１０ｂ符号化）と、ｃ）リンクに使用されるレーン数とに応じる。
【００３５】
スロットは通常、残りの部分がそのまま残るように、フレームを完全には満たさない。この残りの部分は、例えば、温度またはＰＬＬの不正確さによって引き起こされるビット・レートの偏差を補うために、かつ／または非ＩＳＯＣデータを転送するために使用されてよい。
【００３６】
図６は、異なるリンク速度でのフレームおよびそのスロットの略図を示す。この場合、結果として、１１６スロット、８７スロットおよび４６スロットのフレームと、それぞれ６４８ｎｓ（６４８ビットすなわち８１バイト）、６４８ｎｓ（４８６ビットすなわち６０．７５バイト）、および１７２０ｎｓ（６８８ビットすなわち８６バイト）とをもたらす、１Ｇｂ／ｓ、７５０Ｍｂ／ｓ、および４００Ｍｂ／ｓのビット・レートを有するリンクに関して、３つの例が示される。
【００３７】
図７は、第１の実施形態によるネットワーク・ノードの構成図を示す。ネットワーク・ノードはｋ個の受信ポートＲＸ１、ＲＸ２、…、ＲＸｋ、およびｋ個の送信ポートＴＸ１、ＴＸ２、…、ＴＸｋを有する。ノードは、その受信機ポートＲＸ１、ＲＸ２、…、ＲＸｋを経由して、任意のビット・レート（ｂ１＋Ｅ１，ｂ２＋Ｅ１、…、ｂｋ＋Ｅｋ）でデータを受信でき、また同じビット・レートで送信することもできる。さらに、ノードは、ネットワーク・ノードのフレーム同期化を管理するためのタイム・マネージャＴＭＭを有する。タイム・マネージャは、ネットワーク・ノード内のすべてのポートを管理するために提供されてよい。タイム・マネージャＴＭＭは、各ポートのフレーム同期化をそれぞれ管理するために、タイム・マネージャの一部が各ポートと関連するように分割されてもよい。時間表示レジスタｔ［ｐｏｒｔ］は、ネットワーク・ノード内で提供されてもよい。時間表示レジスタｔ［ｐｏｒｔ］は、受信および送信されているフレームの時間位置に関する時間表示情報を記憶するために使用される。時間表示レジスタは、ポートの各々に対してこの情報を記憶することが好ましい。受信ポートＲＸ１および送信ポートＴＸ１は第１のポートＰ１に関連し、受信ポートＲＸ２および送信ポートＴＸ２は第２のポートＰ２に関連し、受信ポートＲＸｋおよび送信ポートＴＸｋはポートＰｋに関連する。すなわち、受信ポートＲＸ１によって受信されたデータは、送信ポートＴＸ１によって送信される。
【００３８】
上のネットワーク・ノードの以降の動作では、その出力リンクが同じビット・レートで動作する場合に関して、特にフレーム同期化が説明される。図８および図１２では、パケットの横取りをサポートしない、図７によるネットワーク・ノードの動作が、また図１４では、パケットの横取りをサポートする、図７によるネットワーク・ノードの動作が例示される。
【００３９】
図８は、パケットの横取りを伴わない、図７によるネットワーク・ノード内の受信機の動作の流れ図を示す。ノードは、その入力リンク上のタイミングを追跡し続ける必要があり、これはタイム・マネージャＴＭＭによって実行される。パケットの横取りが利用可能でない場合、要求される制御シーケンスは、パケット境界でのみ発生することが可能である。このようなパケット境界で、受信機（またはその受信ポート）は、ＥＳＣ＿ＴＩＭＥなどの複数のインジケータを経由して、タイミングの時間表示または入力リンクの時間位置、通常のＢＥまたはＩＳＯＣパケット、ＢＥパケットを受信でき、一方、クロックは発信元ＢＥ＿ＰＡＵＳＥ、または任意の他の制御シーケンス（ＥＳＣ＿ＰＡＵＳＥを含む、ＥＳＣ）内で休止される。
【００４０】
ステップＳ８１で、受信機ポートのスロット単語カウンタｓｌｏｔ＿ｗｏｒｄ＿ｃｏｕｎｔ［ｐｏｒｔ］は、スロット・サイズｓｌｏｔ＿ｓｉｚｅに設定される。ステップＳ８２で、入力ポートに接続されたノードからのフレームの相対的位置の時間表示ＥＳＣ＿ＴＩＭＥは、レジスタ内ｔ［ｐｏｒｔ］に記憶される。ステップＳ８３で、スロット単語カウンタｓｌｏｔ＿ｗｏｒｄ＿ｃｏｕｎｔ［ｐｏｒｔ］がゼロであるかどうかが検査され、そうである場合、スロット単語カウンタｓｌｏｔ＿ｗｏｒｄ＿ｃｏｕｎｔ［ｐｏｒｔ］は、スロット・サイズｓｌｏｔ＿ｓｉｚｅに設定される。ステップＳ８４で、受信パケットの種類が検査される。受信パケットがエスケープ・タイプのものである場合、流れはステップＳ８５に続き、ここで、パケットは無視されて、流れはステップＳ８３に戻る。受信パケットがＩＳＯＣタイプのものである場合、流れはステップＳ８６に続き、その後、流れはステップＳ８３に戻る。ステップＳ８６内の動作は、図９に従って、より詳細に説明される。受信パケットがＢＥタイプのものである場合、流れはステップＳ８７に続き、その後、流れはステップＳ８３に戻る。ステップＳ８７内の動作は、図１０に従って、より詳細に説明される。受信パケットがＢＥ＿ｐａｕｓｅｄタイプのものである場合、流れはステップＳ８８に続き、その後、流れはステップＳ８３に戻る。ステップＳ８８内の動作は、図１１に従って、より詳細に説明される。
【００４１】
時間表示ＥＳＣ＿ＴＩＭＥは近接ノードのフレーム内の相対的な時間位置への更新として使用される。時間表示が受信される場合、受信機はレジスタｔ［ｐｏｒｔ］内の近接ノードのフレーム内の時間位置に関するその知識を更新しなければならない（すなわちステップＳ８２において）。ノードのタイム・マネージャＴＭＭは、レジスタｔ［ｐｏｒｔ］にアクセスしてよい。すべての他の制御シーケンス（他のＥＳＣ）は無関係であり、時間同期化によって無視される（すなわち、ステップＳ８５）。
【００４２】
データＩＳＯＣパケットおよびＢＥパケットは、近接ノードのフレーム内の時間を追跡するために使用されてよい（すなわち、それぞれ、ステップＳ８６およびＳ８７）。受信された各単語により、受信機のレジスタｔ［ｐｏｒｔ］内に記憶された近接ノードの相対的なフレーム時間知識は、単語の送信に関連する時間増分に伴って増加する（すなわち、ステップＳ８２）。ＢＥ＿ＰＡＵＳＥタイプのパケット、すなわちＢＥパケットが、フレーム知識を更新せずに受信される場合、ステップＳ８８が実行される。このパケット種類は、その近接ノードのフレーム速度と比較して、そのフレーム速度が高すぎることを検出する場合、そのフレーム速度を落とすためにノードによって使用されてよい。ＩＳＯＣパケットはフレーム時間が進む場合だけ送られるため、そのような場合、ＩＳＯＣパケットは送信され得ない。しかし、ＢＥパケットは残っている帯域幅の任意の部分を使用する傾向があるため、ＢＥパケットは依然として送信され得る。
【００４３】
図９は、ＩＳＯＣパケットの受信中の、図８による受信機の動作の流れ図を示す。ステップＳ９１で、パケットのパケット長がパケットのヘッダから抽出され、ＩＳＯＣ単語カウンタｉｓｏｃ＿ｗｏｒｄ＿ｃｏｕｎｔｅｒがこの値に設定される。ステップＳ９２で、抽出されたパケット長に基づいて、全パケットが受信される（ｇｅｔ＿ｗｏｒｄ（），ｉｓｏｃ＿ｗｏｒｄ＿ｃｏｕｎｔ［ｐｏｒｔ］・・・）。パケットの各単語に対して、次のスロット境界を表示するために、スロット単語カウンタｓｌｏｔ＿ｗｏｒｄ＿ｃｏｕｎｔｅｒが更新される。近接ノード内のフレームの相対的な時間位置は、レジスタｔ［ｐｏｒｔ］内で更新される。この場合も、ノードのタイム・マネージャＴＭＭは、要求される同期化を実行するためにレジスタにアクセスしてよい。ＩＳＯＣパケットの受信は、ステップＳ９４で示されるように、パケットのすべての単語が受信される場合（ｉｓｏｃ＿ｗｏｒｄ＿ｃｏｕｎｔ［ｐｏｒｔ］＝０）、終了することになる。
【００４４】
図１０は、ＢＥパケットの受信中の、図８による受信機の動作の流れ図を示す。ステップＳ１０１で、ＢＥ単語カウンタｂｅ＿ｗｏｒｄ＿ｃｏｕｎｔｅｒ［ｐｏｒｔ］を検査することによって、パケットは新しいパケットであるか、またはパケットの継続であるかが決定される。このカウンタは、依然として受信されることが要求される単語数を含む。カウンタがゼロである場合、新しいパケットが開始し、流れはステップＳ１０２に続き、ここで、パケットのパケット長がパケットのヘッダから抽出され、ＢＥ単語カウンタｂｅ＿ｗｏｒｄ＿ｃｏｕｎｔｅｒはこの値に設定される。カウンタがゼロ以外の値である場合、横取りされたパケットが提示され、再開されなければならない（ステップＳ１０３）。ステップＳ１０３で、抽出されたパケット長に基づいて、全パケットが受信される（ｇｅｔ＿ｗｏｒｄ（），ｂｅ＿ｗｏｒｄ＿ｃｏｕｎｔ［ｐｏｒｔ］…）。パケットの各単語に対して、次のスロット境界を表示するために、スロット単語カウンタｓｌｏｔ＿ｗｏｒｄ＿ｃｏｕｎｔｅｒが更新される。近接ノード内のフレームの相対的な時間位置は、レジスタｔ［ｐｏｒｔ］内で更新される（ステップＳ１０４）。この場合も、ノードのタイム・マネージャＴＭＭは、要求される同期化を実行するためにレジスタにアクセスしてよい。ＢＥパケットの受信は、ステップＳ１０５の場合のように、スロット境界（ｓｌｏｔ＿ｗｏｒｄ＿ｃｏｕｎｔ［ｐｏｒｔ］＝０）で、またはステップＳ１０６の場合のように、ＢＥパケット境界に達している場合（ｂｅ＿ｗｏｒｄ＿ｃｏｕｎｔ［ｐｏｒｔ］＝０）、割り込まれ得る。
【００４５】
図１１は、パケットの横取りを伴い、また時間更新を伴わない、ＢＥパケットの受信中の、図８による受信機の動作の流れ図を示す。時間更新を伴わないＢＥパケットの受信は、例えば、近接ノードがその近接ノードのフレーム速度と同期させるためにそのフレーム速度を落とす場合、発生する。この場合、ＢＥパケットは、フラッグ・セットにより受信されてよく、近接ノードのフレーム内の相対的な時間位置ｔ［ｐｏｒｔ］に関する更新が存在しないことの表示が実行されるべきである。
【００４６】
ステップＳ１１１で、受信されることになる休止単語の数がＢＥ＿ＰＡＵＳＥメッセージから抽出され、休止された単語カウンタｐａｕｓｅ＿ｗｏｒｄ＿ｃｏｕｎｔｅｒ［ｐｏｒｔ］はこの値に設定される。ステップＳ１１で、ｐａｕｓｅ＿ｗｏｒｄ＿ｃｏｕｎｔ［ｐｏｒｔ］がゼロになるまでデータは受信される。この期間中、通常のＢＥパケットの受信と同じように、ＢＥパケットが受信される。ステップＳ１１２で、ＢＥ単語カウンタｂｅ＿ｗｏｒｄ＿ｃｏｕｎｔｅｒ［ｐｏｒｔ］を検査することによって、パケットは新しいパケットであるか、またはパケットの継続であるかが決定される。このカウンタは、依然として受信されることが要求される単語数を含む。カウンタがゼロである場合、新しいパケットが開始し、流れはステップＳ１１３に続き、ここで、パケットのパケット長がパケットのヘッダから抽出され、ＢＥ単語カウンタｂｅ＿ｗｏｒｄ＿ｃｏｕｎｔｅｒはこの値に設定される。カウンタがゼロ以外の値である場合、横取りされたパケットが提示され、再開されなければならない（ステップＳ１１４）。ステップＳ１１４で、抽出されたパケット長に基づいて、全パケットが受信される（ｇｅｔ＿ｗｏｒｄ（），ｂｅ＿ｗｏｒｄ＿ｃｏｕｎｔ［ｐｏｒｔ］）。休止されたＢＥパケットの受信は、ステップＳ１１５の場合のように、すべての休止単語が受信されている場合（ｐａｕｓｅｄ＿ｗｏｒｄ＿ｃｏｕｎｔ［ｐｏｒｔ］＝０）、またはステップＳ１１６の場合のように、ＢＥパケット境界に達している場合（ｂｅ＿ｗｏｒｄ＿ｃｏｕｎｔ［ｐｏｒｔ］＝０）、割り込まれる。ＢＥパケット境界に達している場合、流れはステップＳ１１３に戻る。ＢＥパケット境界に達していない場合、流れはＳ１１４に戻る。
【００４７】
図面を簡単に維持するために、上の図に示されないが、ＩＳＯＣパケットの休止中でさえ、ＢＥパケット境界で、例えば、他の方向のリンク上の誤差を公表するために、ＥＳＣ記号は受信されてよい。
【００４８】
図１２は、図７によるネットワーク・ノードのタイム・マネージャＴＭＭの動作の流れ図を示す。前述のように、近接ノードのフレームの相対的な時間位置の更新は、レジスタｔ［ｐｏｒｔ］内に記憶され、ノードのタイム・マネージャに対して利用可能である。ステップＳ１２１で、その独自の局所クロックに基づいて、他のノードのフレーム内にその独自の相対的位置を維持するレジスタｔ［ｐｏｒｔ］は、タイム・マネージャＴＭＭによってアクセスされる。ステップ１２２で、局所時間位置と、近接ノードの時間位置とが比較されて、レジスタｔmax_diff内に記憶される。
【００４９】
図１３は、フレーム同期化を伴うが、パケットの横取りを伴わない、図７によるネットワーク・ノードのタイム・マネージャＴＭＭの動作の流れ図を示す。ステップ１３０で、局所時間位置と、近接ノードの時間位置との差異はゼロに設定される。ステップＳ１３１で、単語カウンタｗｏｒｄ＿ｃｏｕｎｔはゼロに設定される。ステップＳ１３２で、単語クロックｗｏｒｄ＿ｃｌｏｃｋは待ち受けられる。ステップ１３３で、単語カウントｗｏｒｄ＿ｃｏｕｎｔは、（スロット境界を追跡する目的で）単語を受信するためにかかった時間ｗｏｒｄ＿ｄｕｒａｔｉｏｎによって更新され、フレーム内の相対時間ｔが（図１２のステップＳ１２２で使用されるように）更新される。
【００５０】
ステップＳ１３４で、スロット境界に達しているかどうか、すなわち、単語カウンタｗｏｒｄ＿ｃｏｕｎｔがスロット・サイズに達しているかどうかが決定される。そうである場合、流れはステップＳ１３２に戻る。そうでない場合、流れはステップＳ１３５を続ける。ステップＳ１３５で、ハードワイヤされて［hardwired］もよく、またはユーザによって構成されてもよい閾値（ｔdiff_threshold）を超えないようにｔmax_diffが監視される。さらに、ｔmax_diffは、ｆｒａｍｅ＿ｄｕｒａｔｉｏｎ／２より小さくあるべきである。ステップＳ１３４で決定されたスロット境界で、この差異が検査され、差異が閾値ｔdiff_thresholdより高い場合、フレームは、ｔmax_diffによって与えられる時間の存続期間に対して休止される。休止時間は、ステップＳ１３６で０に初期設定され、ステップＳ１３７で、単語クロックｗｏｒｄ＿ｃｌｏｃｋがステップＳ１３７内で受信されるたびにｗｏｒｄ＿ｄｕｒａｔｉｏｎにより更新されるｔpause内に維持される。ステップＳ１３８で示されるようにフレーム休止の間、ＩＳＯＣデータは送信されない。ステップＳ１３９で、ｔpause＜ｔmax_diffであるかどうかが決定される。そうである場合、流れはステップＳ１３０に戻る。そうでない場合、流れはステップ１３７に戻る。したがって、フレーム同期化は、より遅いフレームの速度に到るまでフレーム速度を落とすことによって実現される。
【００５１】
図１３の流れ図では、その場合、すべてのリンクは、そのＩＳＯＣ伝送を休止して同期化を開始することが可能であるため、スロット境界が使用される。
【００５２】
図１４は、同じ速度の出力を有し、パケットの横取りを伴う、図７によるネットワーク・ノードの受信機の動作の流れ図を示す。システムが（例えば、８ｂ１０ｂ符号化でＫ個の符号を使用することによって）パケットの横取りを提供する場合、受信機の動作は、パケットの横取りを伴わない、図８による受信機の動作と比べてさらに簡素化される。受信機は、ＥＳＣシーケンスが常に受信され得るように、いかなるスロット境界またはパケット境界にも拘束されない。したがって、パケット／スロット境界を追跡し続ける必要はない。単にＥＳＣシーケンスの発生だけが追跡されることになる。ステップＳ１４１で、レジスタｔ［ｐｏｒｔ］は、抽出されたＥＳＣ時間に設定され、単語カウンタｗｏｒｄ＿ｃｏｕｎｔはゼロに設定される。流れはステップＳ１４２に続き、ここで、次の記号が検査される。記号が（ＥＳＣ＿ＴＩＭＥ以外の）ＥＳＣ記号、またはＰＡＵＳＥ記号もしくはデータに関連する場合、流れはステップＳ１４３に続き、ここで、この記号は、フレーム同期化に関して無視され、流れはステップＳ１４２に戻る。そうでなければ、流れはステップＳ１４４に続く。ステップＳ１４４で、パケットの単語が受信される。パケットの各単語に対して、単語カウンタｗｏｒｄ＿ｃｏｕｎｔｅｒが増加される、すなわち更新される。ステップＳ１４５で、単語カウントｗｏｒｄ＿ｃｏｕｎｔ［ｐｏｒｔ］は、スロット内のｓｌｏｔ＿ｓｉｚｅ記号に対応するｓｌｏｔ＿ｓｉｚｅよりも小さいかどうかが決定される。そうである場合、流れはステップＳ１４２に戻る。しかし、そうでない場合、流れはステップＳ１４６に続く。ステップＳ１４６で、レジスタｔ［ｐｏｒｔ］の値は、（レジスタ内に記憶される（ステップＳ１４７））スロット存続期間ｓｌｏｔ＿ｄｕｒａｔｉｏｎ［ｐｏｒｔ］によって増加される。さらに、単語カウンタｗｏｒｄ＿ｃｏｕｎｔ［ｐｏｒｔ］はゼロに設定され、流れはステップＳ１４２に戻る。
【００５３】
ＥＳＣ＿ＴＩＭＥシーケンスがステップＳ１４１で受信される場合、近接ノードの相対的な時間位置は、自動的に新しい値に更新され、新しい値は、レジスタｔ［ｐｏｒｔ］内のタイム・マネージャＴＭＭに報告される（ステップＳ１４７）。通常のデータ（ＢＥパケットおよびＩＳＯＣパケット、またはＩＤＥＬ記号）がステップＳ１４２で受信される場合、レジスタｔ［ｐｏｒｔ］は、近接ノードのクロック・ドメイン内の単語存続期間に更新され（ステップＳ１４６）、速やかにタイム・マネージャＴＭＭに報告される（ステップＳ１４７）。
【００５４】
図１５は、フレーム同期化を伴い、パケットの横取りを伴う、図７によるネットワーク・ノードのタイム・マネージャＴＭＭの動作の流れ図を示す。ステップ１５０で、局所時間位置と、近接ノードの時間位置との差異はゼロに設定される。ステップＳ１５１で、単語クロックｗｏｒｄ＿ｃｌｏｃｋは待ち受けられる。ステップ１５２で、フレーム内の相対時間ｔは、ステップＳ１２２で、ｔmax_diffを計算するために使用される単語存続期間によって更新される。
【００５５】
ステップＳ１５３で、ハードワイヤされてもよく、またはユーザによって構成されてもよい閾値（ｔdiff_threshold）を超えないようにｔmax_diffが監視される。さらに、ｔmax_diffはｆｒａｍｅ＿ｄｕｒａｔｉｏｎ／２より小さくなければならない。この場合、流れはステップＳ１５１に戻る。そうでなければ、流れはステップＳ１５４に続く。ステップＳ１５４では、報告されたドリフト（ｔmax_diff）がゼロにされるように、ｔpauseをゼロに設定することによってフレームは休止される。ステップＳ１５５で、単語クロックｗｏｒｄ＿ｃｌｏｃｋは待ち受けられる。ステップ１５６で、ｔpauseは単語存続期間によって増加され、ＩＳＯＣデータは送信されない。ステップＳ１５７で、ｔpause＜ｔmax_diffであるかどうかが決定される。そうである場合、流れはステップＳ１５８に続く。そうでない場合、流れはステップ１５５に戻る。ステップＳ１５８で、ｔmax_diffはゼロに設定され、流れはステップＳ１５２に戻る。
【００５６】
したがって、パケットの横取りが利用可能である場合、スロット境界を追跡し続ける必要がないため（例えば、ステップＳ１３１、Ｓ１３４）、タイム・マネージャＴＭＭの構成も、図１３による構成に比べて簡素化される。フレーム・ドリフトｔmax_diffは、各クロックで検査され（ステップ１５３）、閾値ｔdiff_thresholdより高い場合、フレームは少なくとも１つの近接ノードのフレームに比べて進み過ぎであり、休止されなければならない（ステップＳ１５４）。前述のように、フレーム休止の間、ＢＥパケットと他のＥＳＣ記号とは送信されてよい。
【００５７】
図１６は、第２の実施形態によるネットワーク・ノードの構成図を示す。ネットワーク・ノードは、ｋ個の受信ポートＲＸ１、ＲＸ２、…、ＲＸｋ、ならびにｋ個の送信ポートＴＸ１、ＴＸ２、…、ＴＸｋを有する。ノードは、その受信ポートＲＸ１、ＲＸ２、…、ＲＸｋを経由して、任意のビット・レート（α１*（ｂ１＋Ｅ１），α２*（ｂ２＋Ｅ１）、…、αｋ*（ｂｋ＋Ｅｋ））でデータを受信してよく、またその送信機ポートＴＸ１、ＴＸ２、…、ＴＸｋを経由して、任意のビット・レート（β１*（ｂ１＋Ｅ１），β２*（ｂ２＋Ｅ１）、…、βｋ*（ｂｋ＋Ｅｋ））でデータを送信できる。タイム・マネージャＴＭＭは、ネットワーク・ノード内のすべてのポートを個々に管理するために提供されてよい。タイム・マネージャＴＭＭは、各ポートのフレーム同期を管理するために、タイム・マネージャの一部が各ポートに個々に関連するように分割されてもよい。時間表示レジスタｔ［ｐｏｒｔ］は、ネットワーク・ノード内で提供されてもよい。時間表示レジスタｔ［ｐｏｒｔ］は受信および送信されているフレームの時間位置に関する時間表示情報を記憶するために使用される。時間表示レジスタは、ポートの各々のためにこの情報を記憶することが好ましい。受信ポートＲＸ１および送信ポートＴＸ１は第１のポートＰ１に関連し、受信ポートＲＸ２および送信ポートＴＸ２は第２のポートＰ２に関連し、受信ポートＲＸｋおよび送信ポートＴＸｋはポートＰｋに関連する。すなわち、受信ポートＲＸ１によって受信されたデータは送信ポートＴＸ１によって送信される。
【００５８】
ここでは、ノードの出力リンクが異なるビット・レートで実行する場合のネットワーク・ノードに関する一般的な事例が示される。出力リンクのビット・レートは、同じ基準クロックから導き出されてよい。したがって、出力リンクは、基本的なビット・レート（ｂ＋Ｅ）の倍数であるビット・レートで実行されてよい。Ｅは、クロックの不正確さによって引き起こされる、公称ビット・レートｂからの偏差である。リンクは、各々の追加レーンがレーンのビット・レートを増加する、１つまたは複数のレーンを有することが可能であるため、出力リンクは異なるビット・レートを有してよい。
【００５９】
図１７は、フレーム同期を伴うが、パケットの横取りを伴わない、図１６による、ネットワーク・ノードのタイム・マネージャＴＭＭの動作の流れ図を示す。この流れ図は、実質的に、図１３の流れ図に対応する。ステップ１０で、局所時間位置と、近接ノードの時間位置との間の差異はゼロに設定される。ステップＳ１７１で、単語カウンタｗｏｒｄ＿ｃｏｕｎｔはゼロに設定される。ステップＳ１７２で、基本単語クロックｂａｓｅ＿ｗｏｒｄ＿ｃｌｏｃｋは待ち受けられる。ステップ１７３で、単語カウントｗｏｒｄ＿ｃｏｕｎｔは、パケットから受信された単語の基本単語存続期間ｂａｓｅ＿ｗｏｒｄ＿ｄｕｒａｔｉｏｎによって更新される。ステップＳ１７４でスロット境界に達しているかどうか、すなわち、単語カウンタｗｏｒｄ＿ｃｏｕｎｔは基本スロット存続期間に達しているかどうかが決定される。そうである場合、流れはステップＳ１７２に戻る。そうでない場合、流れはステップＳ１７５を続ける。ステップＳ１７５で、ハードワイヤされてもよく、またはユーザによって構成されてもよい閾値（ｔdiff_threshold）を超えないようにｔmax_diffが監視される。さらに、ｔmax_diffは、ｆｒａｍｅ＿ｄｕｒａｔｉｏｎ／２より小さくなければならない。ステップＳ１７４で決定されるスロット境界で、この差異は検査され、差異が閾値ｔdiff_thresholdより高い場合、報告されたドリフト（ｔmax_diff）がゼロにされるようにｔpauseをゼロに設定することによってフレームは休止される。ステップＳ１７７で、基本単語クロックｂａｓｅ＿ｗｏｒｄ＿ｃｌｏｃｋは待ち受けられる。ステップ１７８で、ｔpauseは、基本単語存続期間ｂａｓｅ＿ｗｏｒｄ＿ｄｕｒａｔｉｏｎによって増加され、ＩＳＯＣデータは送信されない。ステップＳ１７９で、ｔpause＜ｔmax_diffかどうかが決定される。そうである場合、流れはステップＳ１７０に戻る。そうでない場合、流れはステップ１７７に戻る。したがって、フレーム同期化は、より遅いフレームの速度に到るまでフレーム速度を落とすことによって実現される。
【００６０】
したがって、ノード内の受信機ならびにｔmax_diffの計算は、図８による単一リンク速度の場合と同じ状態のままである。変更される必要がある唯一の部分は、タイム・マネージャＴＭＭである。変更は、基本レートｂに対して、使用された単語クロック（ｂａｓｅ＿ｗｏｒｄ＿ｌｏｃｋ）と、単語存続期間（ｂａｓｅ＿ｗｏｒｄ＿ｄｕｒａｔｉｏｎ）とを導き出すことによって実行される。スロットがｂａｓｅ＿ｗｏｒｄ＿ｃｌｏｃｋを使用してカウントされる場合、すべての出力リンクもスロット境界に存在することになり、フレームはその近接ノードの位相と再び位置合わせされるように一時的に休止され得る。この方式の不利点はフレーム同期化の粒度が高速リンクにとって大きすぎ、結果として、バッファリングを増加する可能性があることである。この問題を解決するために、タイム・マネージャＴＭＭは、図１８に従って示されるように、複数のタイム・マネージャ内でリンクにつき１つに分割され得る。基本的な方式は同じであるが、この場合、各タイム・マネージャは、送信機のクロックｗｏｒｄ＿ｃｌｏｃｋ［ｐｏｒｔ］と、単語存続期間ｗｏｒｄ＿ｄｕｒａｔｉｏｎ［ｐｏｒｔ］とを使用し、その独自の状態ｗｏｒｄ＿ｃｏｕｎｔ［ｐｏｒｔ］と、ｔpause［ｐｏｒｔ］と、ｔmax_diff［ｐｏｒｔ］とを有する。
【００６１】
図１８は、図１６による、ネットワーク・ノードのタイム・マネージャＴＭＭの動作の流れ図を示す。この流れ図は本質的に、図１３の流れ図に対応する。ステップ１８０で、局所時間位置と、近接ノードの時間位置との間の差異はゼロに設定される。ステップＳ１７１で、各ポートに対する単語カウンタｗｏｒｄ＿ｃｏｕｎｔはゼロに設定される。ステップＳ１８２で各ポートに対する単語クロックｗｏｒｄ＿ｃｌｏｃｋは待ち受けられる。ステップ１８３で、各ポートに対する単語カウントｗｏｒｄ＿ｃｏｕｎｔは、パケットから受信された単語の単語存続期間ｗｏｒｄ＿ｄｕｒａｔｉｏｎによって更新される。ステップＳ１８４で、スロット境界に達しているかどうか、すなわち、各ポートに対する単語カウンタｗｏｒｄ＿ｃｏｕｎｔがスロット・サイズに達したかどうかが決定される。そうである場合、流れはステップＳ１８２に戻る。そうでない場合、流れはステップＳ１８５を続ける。ステップＳ１８５で、ハードワイヤされてもよく、またはユーザによって構成されてもよい閾値（ｔdiff_threshold）を超えないようにｔmax_diffが監視される。さらにｔmax_diffは、ｆｒａｍｅ＿ｄｕｒａｔｉｏｎ／２より小さくなければならない。ステップＳ１８４で決定された各ポートに対するスロット境界でこの差異が検査され、差異が閾値ｔdiff_thresholdより高い場合、報告されたドリフト（ｔmax_diff）がゼロにされるように、ｔpauseをゼロに設定することによってポートに対しフレームは休止される。ステップＳ１８７で、単語クロックｗｏｒｄ＿ｃｌｏｃｋは待ち受けられる。ステップ１８８で、ｔpauseは単語存続期間ｗｏｒｄ＿ｄｕｒａｔｉｏｎによって増加されＩＳＯＣデータは送信されない。ステップＳ１８９で、ｔpause＜ｔmax_diffであるかどうかが決定される。そうである場合、流れはステップＳ１８０に戻る。そうでない場合、流れはステップ１８７に戻る。したがって、フレーム同期化は、より遅いフレームの速度に到るまでフレーム速度を落とすことによって実現される。
【００６２】
パケットの横取りが存在する場合、図１９に従って説明されるように、例えば、フレーム内の局所的な相対位置を維持するために、そこから基本単語存続期間ｂａｓｅ＿ｗｏｒｄ＿ｄｕｒａｔｉｏｎが導き出される基本クロックｂａｓｅ＿ｗｏｒｄ＿ｃｌｏｃｋを使用して、図１５による流れ図が依然として使用され得る。
【００６３】
図１９は、図７による、ネットワーク・ノードの送信機のタイム・マネージャＴＭＭの動作の流れ図を示す。ステップ１９０で、局所時間位置と、近接ノードの時間位置との間の差異はゼロに設定される。ステップＳ１９１で、基本単語クロックｂａｓｅ＿ｗｏｒｄ＿ｃｌｏｃｋは待ち受けられる。ステップ１９２で、フレーム内の相対時間ｔは、単語ｗｏｒｄ＿ｄｕｒａｔｉｏｎを送信するための時間により更新される。図１２に従って、ステップＳ１２２で示されるように、時間ｔは、現在のノードと近接ノードとの間のドリフトを計算するために使用される。
【００６４】
ステップＳ１９３で、ハードワイヤされてもよく、またはユーザによって構成されてもよい閾値（ｔdiff_threshold）を超えないようにｔmax_diffが監視される。さらに、ｔmax_diffは、ｆｒａｍｅ＿ｄｕｒａｔｉｏｎ／２より小さくなければならない。この場合、流れはステップＳ１９０に戻る。そうでない場合、流れはステップＳ１９４に続く。ステップＳ１５４で、報告されたドリフト（ｔmax_diff）がゼロにされるようにｔpauseをゼロに設定することによってフレームは休止される。ステップＳ１９５で、基本単語クロックｂａｓｅ＿ｗｏｒｄ＿ｃｌｏｃｋは待ち受けられる。ステップ１９６で、ｔpauseは単語存続期間によって増加されて、ＩＳＯＣデータは送信されない。ステップＳ１９７で、ｔpause＜ｔmax_diffであるかどうかが決定される。そうであれば、流れはステップＳ１９０に戻る。そうでなければ、流れはステップ１９５に戻る。
【００６５】
第３の実施形態によれば、上述のフレーム同期化は、リンクのビット・レート間に関係が存在しない状況にも応用され得る。この場合、単にタイム・マネージャＴＭＭだけが導入される必要がある。タイム・マネージャＴＭＭは、図１８に従って、送信機（出力ポート）の全域で分散されなければならない。これは、横取りが利用可能でない場合、ならびに横取りが利用可能である場合に実行されなければならない。出力リンクのいくつかが同じビット・レート、また普通の基本ビット・レートから導き出されるビット・レートを使用する場合、タイム・マネージャＴＭＭはこれらのリンクの全域で共有されてよい。
【００６６】
上の実施形態のすべてにおいて、タイム・マネージャＴＭＭと、時間表示レジスタｔ［ｐｏｒｔ］とは、すべてのポートに対するユニットとして実施されてよい。あるいは、これらはポートの各々に対して実施されてもよく、またはタイム・マネージャおよび／または時間表示レジスタが各ポートに対して提供されるように分割されてもよい。したがって、フレーム同期化は、ポートの各々に対して独立して実現され得る。
【００６７】
一実施形態によれば、各々がいくつかのタイム・スロット（ＳＬ）に分割されているフレーム（ＦＲ）に基づいて、少なくとも一次データおよび二次データ（ＩＳＯＣ、ＢＥ）を通信するための機能ユニット（１〜１０）と、少なくとも１つの第１のクロック・ドメインのうちの１つ内の複数の機能ユニット（１〜１０）のうちの１つから少なくとも一次データおよび二次データ（ＩＳＯＣ、ＢＥ）を受信するための少なくとも１つの受信機ポート（ＲＸ１，ＲＸ２、…、ＲＸｋ）を有する受信機（ＲＸ）および少なくとも１つの第２のクロック・ドメインのうちの１つ内の複数の機能ユニット（１〜１０）のうちの別の１つに少なくとも一次データおよび二次データ（ＩＳＯＣ，ＢＥ）を送信するための少なくとも１つの送信機ポート（ＴＸ１，ＴＸ２、…、ＴＸｋ）を有する送信機（ＴＸ）を有する機能ユニット（１〜１０）を結合するための少なくとも１つのネットワーク・ノード（Ｓ１〜Ｓ４）を有する電子装置が提供される。少なくとも１つの第２のクロック・ドメインは、少なくとも１つの第１のクロック・ドメインと異なる。電子装置は、少なくとも１つの受信機ポート（ＲＸ１，ＲＸ２、…、ＲＸｋ）を経由して受信されるフレームと、少なくとも１つの送信機ポート（ＴＸ１，ＴＸ２、…、ＴＸｋ）を経由して送信されているフレームの相対的な時間位置に関する情報を記憶するための、少なくとも１つの受信機ポート（ＲＸ１，ＲＸ２、…、ＲＸｋ）を経由して受信されている一次データおよび／または二次データ（ＩＳＯＣ，ＢＥ）に従って更新される時間表示レジスタ（ｔ［ｐｏｒｔ］）と、少なくとも１つの第１のクロック・ドメインのうちの１つ内の受信機（ＲＸ）の少なくとも１つの受信機ポートで受信された少なくとも一次データおよび二次データ（ＩＳＯＣ，ＢＥ）を監視するため、および時間表示レジスタの値が所定の閾値を超える場合、少なくとも１つの第２のクロック・ドメインのうちの１つ内の少なくとも１つの送信機ポート（ＴＸ１，ＴＸ２、…、ＴＸｋを経由して少なくとも一次データ（ＩＳＯＣ）の伝送を休止するためのタイマ管理手段（ＴＭＭ）をさらに含む。
【００６８】
前述の実施形態は、本発明を限定するのではなく、本発明を例示し、また当業者は、添付の特許請求の範囲から逸脱せずに、多くの代替形態を構成することが可能になる点に留意されたい。特許請求の範囲では、括弧内に配置されるいずれの参照符号も、特許請求の範囲を限定するものと解釈されるべきではない。用語「有する」は、特許請求の範囲内に列挙された要素またはステップ以外の要素またはステップの存在を排除しない。要素に先立つ用語「１つの（“ａ”または“ａｎ”）」は、複数のこのような要素の存在を排除しない。装置クレームにおいて、いくつかの手段の列挙は、これらの手段のいくつかが、１つの同じハードウェア品目によって実施されることが可能である。いくつかの処置が相互に異なる独立クレームで列挙されているという単なる事実は、これらの処置の組合せが有利に利用され得ないことを示さない。
【００６９】
さらに、特許請求の範囲のいずれの参照符号も、特許請求の範囲の範囲を限定するものと解釈されるべきではない。
【図面の簡単な説明】
【００７０】
【図１】本発明によるデータ処理システムのアーキテクチャの概略ブロック図である。
【図２】２つのノード間のデータ転送方式の略図である。
【図３】より詳細なデータ・パケットの実施例の略図である。
【図４】本発明によるＩＳＯＣパケット伝送の略図である。
【図５】本発明によるＢＥパケット伝送の略図である。
【図６】異なるリンク速度でのフレームおよびそのスロットの略図である。
【図７】第１の実施形態によるネットワーク・ノードの構成図である。
【図８】パケットの横取りを伴わない、図７によるネットワーク・ノード内の受信機の動作の流れ図である。
【図９】パケットの横取りを伴わない、ＩＳＯＣパケットの受信中の、図７によるネットワーク・ノード内の受信機の動作の流れ図である。
【図１０】パケットの横取りと時間更新とを伴わない、ＢＥパケットの受信中の、図７によるネットワーク・ノード内の受信機の動作の流れ図である。
【図１１】パケットの横取りを伴わず、また時間更新を伴わない、ＢＥパケットの受信中の、図７によるネットワーク・ノード内の受信機の動作の流れ図である。
【図１２】図７によるネットワーク・ノードのタイム・マネージャ［time manager］の動作の流れ図である。
【図１３】フレーム同期化を伴うが、パケットの横取りを伴わない、図７によるネットワーク・ノードのタイム・マネージャの動作の流れ図である。
【図１４】同じ速度の出力を有し、パケットの横取りを伴う、図７によるネットワーク・ノードの受信機の動作の流れ図である。
【図１５】フレーム同期化を伴い、パケットの横取りを伴う、図７によるネットワーク・ノードのタイム・マネージャの動作の流れ図である。
【図１６】第２の実施形態によるネットワーク・ノードの構成図である。
【図１７】図１６によるネットワーク・ノードのタイム・マネージャの動作の流れ図である。
【図１８】図１６によるネットワーク・ノードの送信機のタイム・マネージャの動作の流れ図である。
【図１９】図１６によるネットワーク・ノードの送信機のタイム・マネージャの動作の流れ図である。
【図１】
2008544624.tif 000004
【図２】
2008544624.tif 000005
【図３】
2008544624.tif 000006
【図４】
2008544624.tif 000007
【図５】
2008544624.tif 000008
【図６】
2008544624.tif 000009
【図７】
2008544624.tif 000010
【図８】
2008544624.tif 000011
【図９】
2008544624.tif 000012
【図１０】
2008544624.tif 000013
【図１１】
2008544624.tif 000014
【図１２】
2008544624.tif 000015
【図１３】
2008544624.tif 000016
【図１４】
2008544624.tif 000017
【図１５】
2008544624.tif 000018
【図１６】
2008544624.tif 000019
【図１７】
2008544624.tif 000020
【図１８】
2008544624.tif 000021
【図１９】
2008544624.tif 000022
【国際調査報告】
2008544624.tif 000023
2008544624.tif 000024
2008544624.tif 000025
2008544624.tif 000026