モバイル電話又はPDAのような現在のモバイルシステムは、新たな機能の実装及び既存の機能の改善に対する増大し続けるニーズのため、継続的な複雑さの増大を呈している。このことは、システムの構成要素の数及び複雑さを増大させることにより可能とされる。同時に、これら構成要素が通信するデータレートも増大している。高いデータレートは、増大するシステムの複雑さと併せて、モジュール方式に対するニーズを生み出した。斯かる方式によれば、処理システムは複数の比較的独立した、複雑なモジュールを有する。
従来のモバイル装置においては、モジュールは通常高価な並列専用リンクを介して通信する。しかしながら、モジュールの数が増大するにつれて、以下の理由により、この手法の通信はもはや実用的ではなくなった。第1に、増大した数のリンクは高価過ぎる。第2に、専用リンクを利用することは、新たなシステム構成を迅速に構成する柔軟性を制限する。
シリアルリンクを利用した通信ネットワークは、これら欠点を克服する効果的な方法を形成する。ネットワークは近年、非常に複雑なモバイルシステムにおける相互接続の問題に対する解決策として大きな注目を集めている(例えばUniPro Working Groupは現在、MIPI標準化団体においてモバイル装置のためのネットワークプロトコルを定義している。www.mipi.orgを参照されたい)。理由は2つある。第1に、ネットワークリンクはシリアルであり、リンク用のピン/配線の数をかなり減少させ、従って相互接続のコストをかなり減少させる。第2に、ネットワークはモジュールが相互接続される態様の柔軟性を提供し、新たな構成の迅速且つ容易な形成を可能とする。
ネットワークの相互接続の導入は、直接接続に比べて、劇的に通信を変化させる。このことは、通信モジュールが直接に接続されず、1以上のネットワークノードによりリモート的に分離される、ネットワークのマルチホップ特性による。通常のモバイル電話においてはアプリケーションプロセッサにより制御される通信制御はネットワークのタスクとなり、ネットワークノードにわたって分散される。更に、特殊化された専用モジュールにおいて又はネットワーク自体において、データの順序付け及びフロー制御のような新たな問題が対処される必要がある。
ネットワークは典型的に、複数のルータ及びネットワークインタフェースから成る。ルータはネットワークノードとして働き、データを宛先への正しい経路へと静的に(即ちルータが予め決定され変化しない)又は動的に(即ちルータが例えばホットスポットを回避するように負荷に応じて変化する)ルーティングすることにより、送信元ネットワークインタフェースから宛先ネットワークインタフェースへとデータを伝送するために利用される。ルータはまた、時間保証を実装しても良い(例えばレートベース、デッドラインベース、又はTDMA方式におけるパイプライン回路を利用して)。より詳細には、Rijpkemaらによる「Trade-offs in the design of a router with both guaranteed and best-effort services for networks on chip」(IEE Proc.-Comput. Digit. Tech.、Vol. 150、No. 5、2003年9月)を参照されたい。本文献はここで参照により本明細書に組み込まれたものとする。
ネットワークインタフェースは、いずれかの種類のデータ処理ユニットを表すモジュール、ディスプレイ、カメラ、メモリ等に接続される。とりわけ、ネットワークインタフェースは、モジュールとネットワークとの間の通信インタフェースを構成する。ネットワークインタフェースは、データのシーケンシャル化(モジュールにより供給されたデータをシリアルリンクに適合させる)及びパケット化(ネットワークにより内部的に必要とされるパケットヘッダ及びトレイラ(trailer)を追加する)を処理するように構成される。ネットワークインタフェースはまたパケットスケジューリングを実装しても良く、該パケットスケジューリングは時間保証及び許可制御を含んでも良い。
時間に関連する保証(即ちスループット、待ち時間及びジッタ)を提供する費用効果の高い方法は、TDMA(Time Division Multiple Access)方式でパイプライン回路を利用することであり、このことはレートベース又はデッドラインベースの方式のような他の方式に比べてバッファ空間を必要としないため有利である。TDMAを利用すると、利用可能時間及びそれ故帯域幅が、データストリームのために予約され得る、等しいサイズの時間スロットに分割される。各リンクに対して、スロットテーブルが提供されても良い。スロットの予約は、リアルタイム制約を伴うデータストリームが、該ストリームのタイミング要求に適合し得ることを保証する。換言すれば、スロットテーブルにおいて予約を持つデータストリームは、最小の帯域幅及び待ち時間の上限即ちサービス保証型(GS)データを保証される。スロット予約のないデータは、ベストエフォート型(BE)データと呼ばれる。ベストエフォートBE型データは、予約されていない又は予約されているが利用されないスロット中で伝送される。即ち、スロットが予約されていないか又は予約されているが利用されていない場合、該スロットはベストエフォートBE型データを伝送するために利用される。従って、スロットは保証型データか又はベストエフォート型データかのいずれかを伝送するために利用される。
各スロットにおいて、データアイテムは、1つのネットワークコンポーネントから次のコンポーネントへと、即ちルータ間又はルータとネットワークインタフェースとの間を移動させられる。それ故、スロットが出力ポートにおいて予約されている場合、マスタモジュールとスレーブモジュールとの間の経路に沿った後続する出力ポートにおいて、次のスロットが予約されている必要がある等する。
1つの時間スロットの間に伝送され得るデータは、パケットと呼ばれ得る。データパケットは典型的に、ペイロード即ちネットワークにより送信されるべき実データから成る。任意に、ペイロードの長さ、ペイロードのシーケンス番号、ベストエフォート(BE)型か保証(GS)型接続か、等に関する情報を有し得る、ヘッダが備えられても良い。更に任意に、CRCチェックにおいてトレイラが備えられても良い。しかしながら、ヘッダ及びトレイラは単に任意のものである。
データのルーティングは、ネットワークを通してパケットをルーティングするために利用されるべき出力ポートのシーケンス又はアドレスを含むヘッダを利用することにより、実行されることができる。データパケットがスループット保証型の接続に関連する場合、ルーティング情報はネットワークインタフェース及び/又はルータに配置されたスロットテーブルに保存されても良い。
モジュールのパケット長は必ずしもネットワークの通信のパケット長と対応しないため、モジュールからのデータメッセージは、1つのスロットに埋め込まれ得、又は複数のスロットに跨り得る。しかしながら、パケットは常に、時間スロットの先頭で始まる。このことは、パケットヘッダをチェックするための非常に単純な状態機械が備えられ得るため、特に有利である。パケットヘッダをチェックするための状態機械は、データを正しい出力ポートへと移動させるためにスイッチを設定するために利用され得る。スイッチが設定されれば、当該スロットに含まれる全てのデータが、同一の出力ポートへと伝送される。
短い待ち時間のための最適化のために、時間スロットは可能な限り短くされる。しかしながら、特にシリアルリンクを利用するオフチップ型のネットワーク(電子装置における複数のチップ間の通信)においては、ヘッダ/トレイラのオーバヘッドを低減するために、及び電力消費を低減するために、時間スロットは大きなサイズ(例えば128バイト)を持ち得る。電力損失を最適化するために、大量のデータが一度に伝送され、いずれのリンクもが、長い時間の間スタンバイ又はスリープモードに留まることを可能とする。一方で、長いスロットは長い待ち時間及び大きなバッファに帰着する。
本発明の目的は、改善された通信リソースの割り当てを伴う、電子装置及び通信リソース割り当ての方法を提供することにある。
本目的は、請求項1に記載の電子装置、請求項8に記載のモバイル装置、及び請求項9に記載の通信リソース割り当ての方法により達成される。
複数のモジュールを接続するための相互接続手段と、前記複数のモジュールのうち少なくとも1つを前記相互接続手段に結合し、前記モジュールからのデータを第1のパケットへとパケット化するための、少なくとも1つのネットワークインタフェースと、を有する電子装置が提供される。前記相互接続を介した通信は時間スロットに基づき、1つの時間スロットの間に第2のパケットが伝送される。前記相互接続手段を介したデータのトラフィックは、少なくとも1つのサービス保証型トラフィッククラス及び/又は少なくとも1つのベストエフォートサービス型トラフィッククラスを有する。前記少なくとも1つのサービス保証型トラフィッククラスに関連する第1のパケットは、前記サービス保証型トラフィッククラスのために予約された時間スロット内で前記第2のパケットにおいて伝送される。前記少なくとも1つのベストエフォートサービス型トラフィッククラスに関連する第1のパケットは、予約されていない前記第2のパケット内で及び/又は前記第2のパケットの利用されていない部分内で伝送される。
それ故、ベストエフォート型サービスに関連するデータが可能な限り迅速に伝送されるため、即ちサービス保証型のトラフィックのために予約されたパケット内の未使用領域においても、ベストエフォート型パケットの待ち時間を改善するため、相互接続がより効率的に利用される。更に、1より多いGSトラフィッククラス及び/又は1より多いBEトラフィッククラスが提供され得る。
本発明の一態様によれば、前記少なくとも1つのベストエフォートサービス型トラフィッククラスに関連する第1のパケットの少なくとも1つは、少なくとも1つの前記第2のパケット内で伝送される。これにより、ベストエフォート型パケットは、第2のパケット即ちマイクロパケット内のいずれの場所において開始又は終了しても良い。
本発明の一態様によれば、前記少なくとも1つのサービス保証型トラフィッククラスに関連する第1のパケットは、前記第2のパケットの先頭又は末尾と整合される。このことは、サービス保証型パケットを検出するための単純な状態機械に導く。
本発明の一態様によれば、前記第1のパケットの全てが1つの前記第2のパケット内で伝送されない場合、前記少なくとも1つのベストエフォートサービス型トラフィッククラスに関連する前記第1のパケットに追加のヘッダが付加される。これにより、幾つかの第2のパケットに亘るベストエフォート型パケットのデータの全てが宛先に到着することが保証される。
本発明の更なる態様によれば、前記相互接続手段は、前記相互接続手段を通して前記第2のパケットをルーティングするための少なくとも1つのルータを有する。前記少なくとも1つのルータ及び前記少なくとも1つのネットワークインタフェースは結合され、第2のパケットを伝送するためのリンクを提供する。
前記第2のパケットはリンクレベルのデータ単位を形成する。第2のパケットは、リンクレベルのデータユニットを形成する。
本発明の更に他の態様によれば、前記装置は、前記第2のパケットをパースするための少なくとも1つのヘッダパースユニットを更に有する。前記ヘッダパースユニットは、ベストエフォート型パケットの先頭を検出することが可能であるように、前記第2のパケットの全てのワードに対してアクティブである。
本発明はまた、複数のモジュールを接続するための相互接続手段と、前記複数のモジュールのうち少なくとも1つを前記相互接続手段に結合し、前記モジュールからのデータを第1のパケットへとパケット化するための、少なくとも1つのネットワークインタフェースと、を有するモバイル装置に関する。前記相互接続を介した通信は時間スロットに基づき、1つの時間スロットの間に第2のパケットが伝送される。前記相互接続手段を介したデータのトラフィックは、少なくとも1つのサービス保証型トラフィッククラス及び/又は少なくとも1つのベストエフォートサービス型トラフィッククラスを有する。前記少なくとも1つのサービス保証型トラフィッククラスに関連する第1のパケットは、前記サービス保証型トラフィッククラスのために予約された時間スロット内で前記第2のパケットにおいて伝送される。前記少なくとも1つのベストエフォートサービス型トラフィッククラスに関連する第1のパケットは、予約されていない前記第2のパケット内で及び/又は前記第2のパケットの利用されていない部分内で伝送される。
本発明は更に、複数のモジュールを接続するための相互接続手段と、前記複数のモジュールのうち少なくとも1つを前記相互接続手段に結合し、前記モジュールからのデータを第1のパケットへとパケット化するための、少なくとも1つのネットワークインタフェースと、を持つ電子装置内での通信リソース割り当ての方法であって、前記相互接続手段を介したデータのトラフィックは、少なくとも1つのサービス保証型トラフィッククラス及び/又は少なくとも1つのベストエフォートサービス型トラフィッククラスを有する方法に関する。前記相互接続を介した通信は、時間スロットに基づき、ここで1つの時間スロットの間に第2のパケットが伝送される。前記少なくとも1つのサービス保証型トラフィッククラスに関連する第1のパケットは、前記サービス保証型トラフィッククラスのために予約された時間スロット内で前記第2のパケットにおいて伝送される。前記少なくとも1つのベストエフォートサービス型トラフィッククラスに関連する第1のパケットは、予約されていない前記第2のパケット内で及び/又は前記第2のパケットの利用されていない部分内で伝送される。
本発明は、キャッシュ更新、割り込み又は制御トラフィッククラスのような、幾つかのベストエフォート型トラフィックについて長い待ち時間が重要である一方で、長い時間スロットが許容可能となり得るという着想に関する。ベストエフォート型トラフィッククラスは典型的に小さなパケットサイズを有し、1つの時間スロット内で伝送され得るため、時間スロットが効率的に利用されない。これを改善するため、ベストエフォート型パケットが、利用可能な空間がGTスロット内であるかBEスロット内であるかにかかわらず、可能な限り迅速に、即ちリンクが利用可能となるとすぐに送信される。それ故、複数のベストエフォート型パケットが単一の時間スロットに埋め込まれることができ、これにより、チップ間通信に関しては、長い時間スロットに関連するネットワークについて、ネットワーク効率が改善され得る。更に、データが高速に宛先へと送信されるため、ベストエフォート型パケットの待ち時間が改善され得る。ベストエフォート型データを持つパケットは、パケットに対して位置合わせされない。ベストエフォート型はそれ故、パケット内のいずれの場所においても開始及び終了し得る。
本発明の他の態様は、従属請求項において定義される。
本発明は以下、図面を参照しながら詳細に説明される。
第1の実施例は、多モジュール電子システム、即ち、何らかの種類の相互接続を介して互いと通信する、同一のダイ、複数のダイ(例えばパッケージ中のシステム)又は複数のチップ上の複数のモジュールに関連する。該相互接続は、ネットワークとして実施化されても良い。ネットワークは配線、バス、時分割多重、スイッチ及び/又はネットワーク内のルータを含み得る。該ネットワークのトランスポート層においては、モジュール間の通信は、接続(connections)を介して実行される。接続は、第1のモジュールと少なくとも1つの第2のモジュールとの間の、それぞれが接続特性のセットを持つチャネルのセットとみなされる。第1のモジュールと単一の第2のモジュールとの間の接続については、該接続は2つのチャネル、即ち第1のモジュールから第2のモジュールへのチャネル即ち要求チャネルと、第2のモジュールから第1のモジュールへの第2のチャネル即ち応答チャネルとを有し得る。それ故、ネットワークを通した接続又は接続の経路、即ちネットワーク経路は、少なくとも1つのチャネルを有する。換言すれば、1つのチャネルのみが利用される場合には、チャネルは接続の接続経路に対応する。上述したように2つのチャネルが利用される場合には、一方のチャネルが例えばマスタ(送信元の装置)からスレーブ(宛先の装置)への接続経路を提供し、一方で第2のチャネルがスレーブからマスタへの接続経路を提供する。従って、典型的な接続については、接続経路は2つのチャネルを有する。接続特性は、順序付け(順にデータを伝送する)、フロー制御(接続のためにリモートのバッファが予約され、データ生成器が、生成されたデータのために空間が利用可能であることが保証された場合にのみ、該データを送信することを許可される)、スループット(スループットの下限が保証される)、待ち時間(待ち時間の上限が保証される)、損失の多さ(データの欠落)、伝送終了、トランザクション完了、データの正確さ、優先度又はデータ配信を含んでも良い。
図1は、本発明によるネットワークの全体的な構造のブロック図を示す。本システムは、計算素子、メモリ、内部的に相互接続モジュールを含み得るサブシステム、又は外部装置若しくは更なるモジュール若しくは装置へのインタフェースのような、幾つかの(処理)モジュール又は装置IP1乃至IP5を有する。これら装置又はモジュールは、知的財産ブロックIPとして実装されても良い。モジュール又は装置IP1乃至IP5はそれぞれ、ネットワークインタフェースNIを介して、ネットワークNに接続される。ネットワークNは複数のルータR1乃至R5を有し、ルータR1乃至R5はそれぞれのネットワークリンクを介して隣接するルータに接続される。
ネットワークインタフェースNI1乃至NI5は、モジュール又は装置IP1乃至IP5とネットワークNとの間のインタフェースとして利用される。ネットワークインタフェースNI1乃至NI5は、それぞれのモジュール又は装置IP1乃至IP5とネットワークNとの通信に対処するために備えられ、それによりモジュール又は装置IP1乃至IP5は、ネットワークN又は他のモジュール若しくは装置との通信に対処する必要なく、専用の動作を実行することができる。通信(例えばモバイル電話における)は、データストリームについての送信元及び宛先(例えばディスプレイドライバからディスプレイ又はカメラからメモリ)に基づいても良いし、及び/又はサーバ−クライアント間の関係(例えばインターネットにおけるような)に基づいても良い。
図2は、図1によるネットワークオンチップにおける接続及び基本的なスロット割り当てのブロック図を示す。とりわけ、モジュール又は装置IP4とIP2との間の接続が示されている。該接続は、モジュール又は装置IP4に関連するネットワークインタフェースNI4、2つのルータR4及びR2、並びにモジュール又は装置IP2に関連するネットワークインタフェースNI2により実現される。ネットワークインタフェースNI4は、時間スロット割り当てユニットSAを有する。代替として、ネットワークインタフェースNI2並びにルータR2及びR4が、時間スロット割り当てユニットSAを有しても良い。ネットワークインタフェースNI4とルータR4との間に第1のリンクL1が存在し、2つのルータR4とR2との間に第2のリンクL2が存在し、ルータR2とネットワークインタフェースNI2との間に第3のリンクL3が存在する。それぞれのネットワークコンポーネントの出力ポートについての3つのスロットテーブルST1乃至ST3もまた示されている。これらスロットテーブルは好ましくは、ネットワークインタフェース及びルータのようなネットワーク要素の出力側、即ちデータ生成側に実装される。各要求されたスロットに対して、接続経路に沿ったリンクの各スロットテーブルにおいて、1つのスロットが予約される。これらスロットの全てはフリー(free)である、即ち他のチャネルにより予約されていない必要がある。データはスロット毎に或るネットワークコンポーネントから別のコンポーネントへと進むため、スロットs=1から始まって、接続に沿った次のスロットはスロットs=2において、次いでスロットs=3において予約される必要がある。
時間スロット割り当てユニットSAにより実行されるスロット割り当て決定のための入力は、相互接続、スロットテーブルサイズ、及び接続のセットを伴う、ネットワークコンポーネントのようなネットワークトポロジである。全ての接続について、該接続の経路と帯域幅、待ち時間、ジッタ及び/又はスロット要件が与えられる。これら接続のそれぞれは個別の経路を与えられ、異なる帯域幅、待ち時間、ジッタ及び/又はスロット要件を持つ異なるリンクを有し得る。時間に関連した保証を提供するため、スロットは該リンクのために予約される必要がある。異なるスロットは、TDMAを用いて、異なる接続のために予約されることができる。接続のためのデータは次いで、連続するスロットにおいて、該接続に沿った連続するリンクを通して伝送される。
図3は、第1の実施例によるパケットベースの通信の基本的な図を示す。パケットpckは、送信元装置から宛先装置へデータを搬送又は伝送するために利用される。パケットpckは典型的に、パケットヘッダhdとペイロードplとを有する。送信元装置又は送信元モジュールにより生成されたデータは、必ずしもパケットpckのサイズに合致する必要はないことは、留意されるべきである。パケットは単に、送信元装置から生成されたデータを伝送する一形態に過ぎない。該装置又はモジュールにより生成されたデータは、図1の例におけるように、ネットワークアダプタ又はネットワークインタフェースにおいてバッファリングされる。ネットワークインタフェースにおいて、ヘッダ及びことによるとテイル(tail)が、パケットを形成するために追加される。ヘッダは、宛先アドレス、シーケンス番号等を含んでも良い。換言すれば、該装置又はモジュールにより生成されたデータは、ヘッダhd及び任意にテイルtrを追加することにより、パケットpckへと形成される。該装置又はモジュールにより生成されたデータは、パケットpckのペイロードplを構成する。その後、該装置又はモジュールにより生成されたデータは、相互接続を通って、宛先装置又は宛先モジュールへと伝送される。しかしながら、パケットpckの長さは必ずしも帯域幅予約(スロット)(図1のネットワークN)のために利用されるデータの長さと合致しないため、更なる第2のパケット形態が利用される。これらパケットは、マイクロパケットμpckと呼ばれる。これらパケットは、1つの時間スロットの間に伝送され得るデータの量に対応する。第2のパケット即ちマイクロパケットの構造は、相互接続の通信リソースに応じて最適化され得る。更に、前記装置からのデータとパケットpckとの間の整合が必要とされないことは、留意されるべきである。
モジュール又は装置IPのパケットpckは、必ずしもマイクロパケットμpckの正確な倍数に合致しないため、マイクロパケットのペイロードの一部が利用されないまま残り得る。
マイクロパケットは、伝送のリンクレベルの単位を表し、帯域幅予約のためのデータ単位を構成する。マイクロパケットは一定サイズのものである。マイクロパケットは典型的に128バイト、1024ビット、ペイロード及びヘッダ/トレイラとして幾つかのバイトを有する。物理的な伝送媒体は1つのシリアルリンクのみから構成され得るため、データの伝送のための制御はパケットに含められる。マイクロパケットが大きくなると、ヘッダ/トレイラのオーバヘッドは低減される。大きな粒度の伝送の単位(即ちマイクロパケット)が利用される場合、電力損失が低減される。このことは、伝送されるべきデータが大きなまとまりにグループ化され、それによりリンクがスリープモードから頻繁に起動される必要がなくなるため、実現され得る。従って、リンクの起動のために、あまり電力が必要とされない。より長いデータのバーストを伝送することにより、リンクをあまり頻繁に起動しないことが好ましい。
図4は、第1の実施例によるマイクロパケットμpckの詳細な図を示す。ここでは、ベストエフォートBE型のデータを伴うマイクロパケットが示される。本実施例においては、ベストエフォート型パケットはマイクロパケットよりも小さく、従って幾つかのパケットが1つのマイクロパケットに含まれ得る。マイクロパケットはマイクロパケットヘッダμhdを有し得、一方パケットはパケットヘッダhd及びパケットペイロードplを有し得る。マイクロパケットは更に、マイクロパケットテイルμtrを有し得る。図4の図において、ベストエフォート型のパケットが必ずしもマイクロパケットの先頭と整合しないことが示されている。ベストエフォート型パケットは、マイクロパケット中のいずれの場所において開始及び終了しても良い。ベストエフォート型パケットは、単一のマイクロパケットに収まり得るし、又は幾つかのマイクロパケットに亘り得る。
図5は、ベストエフォートBE型データ又は保証GS型データを有する、3つの時間スロットの基本的な図を示す。第1のスロットはベストエフォート型スロットBESを示し、第2のスロットはGSスロットGSSを示し、第3のスロットはベストエフォート型スロットBESを示す。ヘッダμhd1、μhd2及びμhd3は、数あるなかでも、スロットの間にGSデータが転送されるかBEデータが転送されるかを示す。BEスロットBESである第1のスロットにおいて、ベストエフォート型データの3つのパケットpck1乃至pck3が、該スロットBESの間に伝送される。第2のスロットGSSにおいて、GSパケットGSpckが伝送される。該GSパケットGSpckはマイクロパケットμpckのペイロードよりも小さいため、マイクロパケットμpckのペイロードの幾分かは利用されない(uu)。第3のマイクロパケットμpckにおいて、第3のパケットpck3の残りと、第4及び第5のパケットpck4及びpck5とが伝送される。該状況において、GSデータの取り扱いは変更されない。しかしながら、ベストエフォート型パケットの取り扱いは、BEパケットの整合されない伝送を可能とするために変更される。換言すれば、第3のパケットは、マイクロパケットの1つにおいて利用可能な空間があるとすぐに伝送される。ここでは、第1のベストエフォート型スロットにおいて空間が利用可能である。しかしながら第3のパケットはベストエフォート型スロットにおいて利用可能な空間よりも大きいため、第3のパケットpck3の一部が第3のスロットにおいて伝送される。
図6は、3つの時間スロットの図を示す。図5の図においては、ベストエフォート型データは、サービス保証型のトラフィックGSにより占有されないスロットへとのみ導入されたが、ここでは、GS時間スロットにおいて以前利用されていなかった空間uuが、ベストエフォート型データ即ちパケットpck3及びpck4により占有される。第1のベストエフォート型スロットの構造は、図5に対して変更されない。以前利用されていなかった空間uuはここでは、第3のパケットpck3の第2の部分と、第4のパケットpck4の第1の部分とにより占有されている。第3の時間スロットはここでは、第4のパケットpck4の同一部分と、第5及び第6のパケットpck5及びpck6とのために利用される。図5の図におけるものよりも、図6の図におけるものにおいてほうが、多くのデータが伝送され得ることが明らかである。なぜなら、GSスロットにおいて以前に利用されていなかった空間が、ベストエフォート型データのために利用されるからである。ベストエフォート型パケットは、マイクロパケットの開始に対する又はGSデータに対する整合に関連する制約を持たない。
図7は、第1の実施例による入力ポートinpの基本的なブロック図を示す。斯かる入力ポートinpは、ルータ又はネットワークインタフェースの入力側において配置され得る。新たなパケットが入力ポートinpに到着すると、どのキューにおいて到着したデータが保存されるかを決定するため、マイクロパケットのタイプについての決定が為される必要がある。それ故、入力ポートinpは、ヘッダパースユニットHPUに関連する。該ヘッダパースユニットHPUは、GS型データパケットの境界及びベストエフォート型パケットの境界を監視するための状態機械を保持する。どの出力ポートに入力ポートが切り換えられるべきかについての決定は、パケットヘッダに保存されたアドレス又は経路のようなルーティング情報に基づいて為される。ベストエフォート型パケットは、GS型データが妨害されない又は影響を受けない場合に限り、出力ポートに切り換えることを許可される。換言すれば、ベストエフォート型パケットは、入力ポートと出力ポートとの双方がGS型データにより利用されていない場合にのみ、出力ポートに切り替えられ得る。
ヘッダパースユニットHPUは、GS型データのための別個のバッファGSB、及びBE型データのための別個のバッファBEBに接続される。GS型データは、スロットテーブルにおけるスロット予約に従って伝送され得る。ベストエフォート型データは、GS型トラフィックがリンク又はスイッチを利用しない場合に伝送される。ヘッダパースユニットHPUはマイクロパケットヘッダμhdを監視し、GS型データとBE型データとを分離し、これらデータを対応するバッファ又はキューGSB及びBEBに転送する。ヘッダパースユニットHPUは、マイクロパケットμpckのタイプを監視する。マイクロパケットμpckがGS型である場合には、後続するペイロードはGS型データストリームに関連する。ペイロードにおけるGS型ワードの数は、マイクロパケットヘッダμhdの一部であるGS長フィールドにより表される。GS長がマイクロパケットペイロードの長さよりも短い場合には、マイクロパケットのペイロードにおいて、ベストエフォート型パケットにより利用され得る未使用の空間がある。
図8は、ヘッダパースユニットの状態機械の図を示す。1つのマイクロパケットμpckの間に1よりも多いベストエフォート型パケットが伝送され得るため、ヘッダパースユニットHPUの状態機械は、新たなベストエフォート型パケットを検出するため、マイクロパケットμpckの先頭においてのみならず、マイクロパケットμpck内でもアクティブである必要がある。例えば、図6により説明された状況においては、3つのベストエフォート型パケットpck1乃至pck3は、第1のベストエフォート型スロットBESの間に開始する。
ステップS1において、スロットに残されたワードの数slot_word_leftが、ペイロードの長さPAYLOAD_LENGTH(例えば128バイトのマイクロパケット長)に設定され、パケットに残された残りパケットワードの数pck_word_leftはゼロに設定される。ステップS2において、マイクロパケットμpckのタイプが決定される。マイクロパケットμpckがGS型トラフィックに関連する場合、本フローはステップS3に進み、幾つかのGSワードがGSデータ用のバッファGSBに伝送される。ステップS4において、バッファGSBに伝送されたGSワードの数が、残りスロットワードslot_word_leftから減算され、フローはステップS5へ進む。
マイクロパケットμpckのタイプがベストエフォートBE型トラフィックに関連する場合、本フローはステップS5に進む。ここで、スロットに残されたワードの数slot_word_leftが決定される。slot_word_leftの数がゼロに等しければ、本フローはステップS2に進む。しかしながら、slot_word_leftがゼロより大きければ、本フローはステップS6に進む。ここで、パケットに残されたワードの数pck_word_leftが決定される。パケットに残されたワードの数pck_word_leftの数がゼロより大きければ、本フローはステップS7に進む。ここで、ワードはベストエフォート型バッファBEBへ伝送される。次いで本フローはステップS8に進み、パケットに残されたワードの数pck_leftが減少させられる。本フローはステップS12に進む。しかしながら、ステップS6において、パケットに残されたワードの数pck_word_leftの数がゼロであると決定された場合、本フローはステップS9へと進み、ここでパケットのタイプが決定される。パケットが利用されていない場合には、本フローはS12へと進む。しかしながら、パケットがベストエフォート型パケットに関連する場合には、本フローはステップS10に進み、ここでワードがBEバッファBEBに伝送され、本フローはステップS11に進む。ここで、pck_word_leftが、パケットの長さpck_lengthに設定される。ステップS12において、slot_word_leftが減少させられる。
換言すれば、スロットに残されたワードの数slot_word_leftがゼロよりも大きければ、マイクロパケットμpck中にベストエフォート型パケットのための空間が依然として残されている。このことは、(a)マイクロパケットのタイプがBEである場合、及び(b)マイクロパケットがGS型であるが、該マイクロパケットμpckが部分的にGSデータにより満たされ、それによりマイクロパケットμpckにおいて依然として空きがある場合に生じ得る。斯かる場合においては、状態機械は、パケット境界が存在する即ちパケットに残されたワードpck_word_leftがゼロに等しいか否か、又は継続中のパケットがある即ちpck_word_left>0であるか否かを監視する。データワードがベストエフォート型バッファBEBに伝送される場合、パケット及びマイクロパケットの状態は、カウンタpck_word_left及びslot_word_leftにおいて更新される。
パケットが終了した場合、即ちpck_word_left=0である場合、新たなパケットが開始しても良い。ここで、パケットタイプはベストエフォート型であるべきであり、さもなければ、パケットタイプが使用されていない場合にはデータが伝送されない。新たなパケットが開始すると、データがBEバッファBEBに伝送され、パケットの状態を保持するためパケット長が保存される。パケットタイプがBE又は使用されていない場合には、マイクロパケットの1以上のワードが伝送されたか否かを決定することができるように、スロット状態が更新される。
パケット状態を保持するためパケット長を利用する代わりに、パケット状態を保持するための他のいずれかの代替方式が利用されても良い。一例は、PCI Expressプロトコルのようなシリアルラインにおいて利用される、8b10b符号化である。斯かる場合には、パケットの先頭及び/又はパケット状態の末尾が、パケット境界を通知するために符号化され得る。ネットワークが別個の制御線を有する場合には、パケットの先頭及び/又はパケットの末尾が、これら制御線において通知されても良い。
図8に示された状態機械においては、GSデータはマイクロパケットの先頭と整合されることも、留意されるべきである。代替は、GSデータをマイクロパケットの末尾に整合し、BEパケットの待ち時間を減少させることである。ブロックにおけるGSデータをマイクロパケットにおける任意の位置に配置することも可能であるが、この場合にはより多くの情報が必要とされる。例えば、マイクロパケットヘッダにおいて、GSデータブロックの長さに加えてオフセットが規定される必要がある。GSデータを任意にマイクロパケットに分散させることも可能であるが、このことはより複雑な状態機械を必要とし、GSデータが出現する場所を規定するためにプロトコルにおけるより大きなオーバヘッドを必要とする。
図9は、第1の実施例によるルータのブロック図を示す。ここで、それぞれヘッダパースユニットHPU並びにスイッチに接続された関連するバッファGSB及びBEBを伴う、幾つかの入力ポートinpが示されている。ルータは更に、調停器ARBを有しても良い。ベストエフォート型バッファBEB及びGS型バッファGSBは、ルータのスイッチSWへの入力として利用される。斯かる構成は、入力キュー(input-queued)ルータを表す。スイッチSWに対するバッファの直接の結合の代わりに、バッファが多重化器を介してスイッチに結合されても良い。
本発明の原理はGS型トラフィック及びBE型トラフィックに関連して説明されたが、これら2つのトラフィッククラスより多くが存在しても良いことは留意されるべきである。例えば、1つよりも多いBEトラフィッククラスが存在しても良い。斯かる状況は単に、ヘッダパースユニットHPUに関連するバッファの数を拡張することにより実装され得る。
以上においてはデータのキューがバッファに関連して説明されたが、他のキュー方式も可能である。一例は、入力/出力ポートの対毎にキューをインスタンス化することによる仮想的な出力キューであり得る。入力ポートの全てのキューは、単一のメモリにグループ化され得る。出力キューは、出力ポートにおいてBEデータからGSデータを分離するときに、スイッチを介して出力ポートへとデータがルーティングされることを可能とすることにより、実装され得る。
図10は、図9の構造内の調停器についての状態機械の図を表す。ステップS50において、スロット境界が存在するか否かが決定される。スロット境界が存在する場合、スロット予約が変化し得る。この理由により、ステップS51において、ポートがGSトラフィックを供給する進行中のBEトラフィックを、調停器が中断する。調停器はまた、ポートが未使用となったBEトラフィックを再開する。ベストエフォート型のトラフィックが停止された場合、ベストエフォート型パケット状態が保存され、それによりベストエフォート型トラフィックが後に再開され得る。パケットが再開されると、パケットの再開を示すための追加の(冗長な)ヘッダが付加され、プロトコルをより頑強且つ柔軟にする。ステップ52において、現在のスロットが予約された既存のGSトラフィックを供給するようにスイッチが設定される。ステップS53において、BEパケットの伝送は、必要とされる入力ポート及び出力ポートの両方が利用可能となるとすぐに再開される。このことは、これらのスロットを必要とするGSデータが当該スロット間で終了した場合、又は当該のポートがもはや利用されない新たなスロットが開始した場合に生じる。BEパケットの境界において、異なる入力ポートからのパケットが、同一の出力ポートを必要とし得る。それ故、この種類の競合を解決するために、調停方式が必要とされる。必要とされる調停方式は、先行技術から知られるいずれの方式であっても良い。その例はラウンドロビン方式、加重ラウンドロビン方式、優先度ベース方式、レートベース方式又はデッドラインベース方式であっても良い。
マイクロパケットμpckの伝送(最初に)においてアクティブになる代わりに、調停器ARBは、新たなBEパケットpckを検出するため、各ワードの伝送においてアクティブである必要がある。このことは調停のための高い電力消費に帰着するが、該追加の電力消費は僅かである。なぜなら、斯かる調停器のために必要とされる状態機械は非常に単純であり、それ故ほんの僅かな追加の電力しか必要としないからである。改善されたリンクの利用に起因する実際の電力節約は、変更された調停器によりもたらされる電力消費よりも大きい。従って、全体のシステム電力は、上述した調停方式により低減される。
図10による調停器の状態機械は、GSデータがマイクロパケットの先頭に整合される場合について示されている。上述したように、マイクロパケットの末尾にGSデータを整合すること、又はマイクロパケットにおける任意の位置におけるGSデータを可能とすることを含む、代替が存在する。
本発明の原理はシリアルリンクを利用するネットワーク環境に関して説明されたが、本発明の基本原理はまた、オンチップ型相互接続、チップ間相互接続、オンボード型相互接続、又はコンピュータネットワークの相互接続のような、いずれのスロットベースのネットワーク相互接続に対して適用され得る。本発明の基本原理は、スロットが例えば、該スロットがより効率的に利用されることを保証しつつ、電力消費を減少させるために拡張されるべきであるネットワークに対して有利である。
図11は、第2の実施例による電子装置のブロック図を示す。電子装置(モバイル電話のような)は、モデムMD、計算加速器CA、ホストユニットHU、メディア加速器MA、カメラCAM、ディスプレイDISP、大容量記憶装置MS、及びことによると外部装置EDを有する。計算加速器CA、ホストHU及びメディア加速器はそれぞれ、同一のチップにおいて、スイッチ(それぞれSW0、SW1及びSW2)と一体化される。該スイッチは、図7又は図9に説明されたように実施化されても良い。図11による電子装置内の通信の構造は、第1の実施例による通信と略対応する。とりわけ、データは、パケットpckに基づいて、電子装置の種々のユニットの間を伝送される。データは時間スロットの間に伝送され、1つの時間スロットの間に伝送されるデータの量は、第1の実施例により説明されたようなマイクロパケットμpckに対応する。パケットpck及びマイクロパケットμpckは、第1の実施例によるパケットpck及びマイクロパケットμpckに対応する。従って、幾つかのベストエフォート型パケットpck1乃至pck3は、単一のマクロパケットμpck内で伝送され得る。
上述した時間スロット割り当ては、単一のチップ上のネットワークと同様に、幾つかの別個の集積回路又は多チップネットワークを有するいずれのデータ処理装置にも適用され得る。
ここで説明された方法は、例えば入力、出力、入出力及び/又は仮想回路/チャネルバッファリング方式により実装された、レートベースの(レート制御された)又はデッドラインベースの方式のような、他の通信リソース予約方式に対しても適用され得る。
上述の実施例は本発明を限定するものではなく説明するものであって、当業者は添付する請求項の範囲から逸脱することなく多くの代替実施例を設計することが可能であろうことは留意されるべきである。請求項において、括弧に挟まれたいずれの参照記号も、請求の範囲を限定するものとして解釈されるべきではない。「有する(comprising)」なる語は、請求項に記載されたもの以外の要素又はステップの存在を除外するものではない。要素に先行する「1つの(a又はan)」なる語は、複数の斯かる要素の存在を除外するものではない。幾つかの手段を列記した装置請求項において、これら手段の幾つかは同一のハードウェアのアイテムによって実施化されても良い。特定の手段が相互に異なる従属請求項に列挙されているという単なる事実は、これら手段の組み合わせが有利に利用されることができないことを示すものではない。
更に、請求項におけるいずれの参照記号も、請求の範囲を限定するものとして解釈されるべきではない。