(57)【要約】パケットデータ通信制御のための通信装置を提供する。本発明の例示の実施態様によれば、ＰＣＩエクスプレスタイプ装置などの通信装置(100)は、パケットデータを順序付けるために別個の妻帯機能(112,116,117,118)を実行する。これらの裁定機能の１つ(112)は、（例えばＰＣＩエクスプレスシステムと共に実装されるときにＰＣＩエクスプレス標準に適合するための）プロトコル標準に応じて、パケットデータを順序付ける。その他の裁定機能(116,117,118)は、プロトコル標準への準拠を維持しながらパフォーマンス標準に応じてパケットデータを順序付ける。
2008521326.tif 000002
【特許請求の範囲】
【請求項１】
ルールベースのシステムにおけるパケットベース通信を管理する方法であって、
前記ルールベースのシステムのためのプロトコル準拠ルールの機能に応じて、パケットデータを通過させる、プロトコルベースの順序構成(220)を生成するステップと、
前記生成されたプロトコルベースの順序構成とパフォーマンスベースのルールの機能に応じて、パケットデータを通過させる、パフォーマンスベースの通信順序(240)を生成するステップと、
前記パフォーマンスベースの通信順序の機能に応じて、パケットデータ(250)をやり取りするステップと、
を含む方法。
【請求項２】
請求項１に記載の方法において、
前記ルールベースのシステムのためのプロトコル準拠ルールの機能に応じて、パケットデータを通過させる、プロトコルベースの順序構成(220)を生成するステップが、第１のアービターを使用して前記プロトコルベースの順序構成を生成するステップを含み、
前記生成されたプロトコルベースの順序構成とパフォーマンスベースのルールとの機能に応じて、パケットデータを通過させる、パフォーマンスベースの通信順序(240)を生成するステップが、第２のアービターを使用して前記パフォーマンスベースの通信順序を生成するステップを含む、
ことを特徴とする方法。
【請求項３】
請求項１に記載の方法において、
前記やり取りされるパケットデータを受信するステップと、
前記ルールベースのシステムのためプロトコル準拠ルールの機能に応じて、前記やり取りされるパケットデータを受信機能部に渡すための、受信プロトコルベースの順序構成を生成するステップと、
前記生成された受信プロトコルベースの順序構成とパフォーマンスベースのルールとの機能に応じて、前記やり取りされるパケットデータを受信機能部に渡すための、受信パフォーマンスベースの通信順序を生成するステップと、
前記生成された受信パフォーマンスベースの通信順序の機能に応じて、前記やり取りされるパケットデータを通信機能に渡すステップと、
をさらに含むことを特徴とする方法。
【請求項４】
請求項３に記載の方法において、
前記ルールベースのシステムのためのプロトコル準拠ルールの機能に応じて、前記やり取りされるパケットデータを受信機能部に渡すための、受信プロトコルベースの順序構成を生成するステップが、第１の受信アービターを使用して前記プロトコルベースの順序構成を生成するステップを含み、
前記生成された受信プロトコルベースの順序構成とパフォーマンスベースのルールとに応じて、前記やり取りされるパケットデータを受信機能部に渡すための、受信パフォーマンスベースの通信順序を生成するステップが、第２の受信アービターを使用して前記パフォーマンスベースの通信順序を生成するステップを含む、
ことを特徴とする方法。
【請求項５】
請求項４に記載の方法において、
前記プロトコルベースの順序構成を生成するステップ、および、前記パフォーマンスベースの通信順序を生成するステップが、前記プロトコルベースおよびパフォーマンスベースのルールを実行するように構成された送信器を使用するステップを含み、
前記パフォーマンスベースの通信順序の機能に応じて、パケットデータをやり取りするステップが、前記受信プロトコルベースおよび受信パフォーマンスベースのルールを実行するように構成された受信器にパケットデータを伝達するステップを含み、
前記受信プロトコルベースの順序構成を生成するステップ、および、前記受信パフォーマンスベースの通信順序を生成するステップが、前記受信器を使用するステップを含む、
ことを特徴とする方法。
【請求項６】
請求項５に記載の方法において、
前記送信器を使用するステップ、および、前記受信器を使用するステップが、
前記送信器および前記受信器の機能と共に構成された統合通信装置を使用する、
ことを特徴とする方法。
【請求項７】
請求項１に記載の方法において、
前記プロトコルベースの順序構成を生成するステップが、
パケットデータをやり取りし得る入力チャネルを識別するステップを含み、
前記パフォーマンスベースの通信順序を生成するステップが、
前記パケットデータをやり取りするために、前記識別された入力チャネルの少なくとも１つを選択するステップを含む、
ことを特徴とする方法。
【請求項８】
通信プロトコルに関するプロトコルベースの通信手法を利用するための通信装置であって、
パケットデータを伝送するように構成および配置された通信リンク(130)と、
前記通信プロトコルの機能に応じて前記パケットデータの通信優先度を割り当てるように構成および配置されたプロトコルアービター機能部(112)と、
前記通信優先度およびパフォーマンスルールの機能に応じて、前記通信リンクで通信するために前記パケットデータを順序付けるように構成および配置されたパフォーマンスアービター機能部(116,117,118)と、
前記パケットデータの順序に応じて、前記通信リンク上の前記パケットデータの通過を制御するように構成および配置されたコントローラ(114)と、
を有する通信装置。
【請求項９】
請求項８に記載の通信装置において、
前記プロトコルアービター機能部と前記パフォーマンスアービター機能部とが、別個に設けられている、
ことを特徴とする通信装置。
【請求項１０】
請求項８に記載の通信装置において、
前記パケットデータを運搬するパケットデータチャネルと、
前記プロトコルアービター機能部が、
前記通信プロトコルに応じて有効な前記通信チャネルの少なくとも１つを選択することによって、前記パケットデータの通信優先度を割り当てるように構成および配置され、
前記パフォーマンスアービター機能部が、
前記パフォーマンスルールの機能に応じて、パケットデータを伝送するための前記有効なチャネルから、少なくとも１つの通信チャネルを選択することによって、前記通信優先度とパフォーマンスルールとの機能に応じて、前記通信リンクで通信するために前記パケットデータを順序付ける、
ことを特徴とする通信装置。
【請求項１１】
請求項８に記載の通信装置において、
前記パフォーマンスアービター機能部が、
タイムスタンプ、パケットデータの発信元、パケットデータの宛先、および、パケットが通信に利用可能であるような特定のチャネルのためのキュー内のパケットの数、のうちの少なくとも１つに基づくパフォーマンスルールの機能に応じて、前記通信リンクで通信するための前記パケットデータを順序付けるように構成および配置されている、
ことを特徴とする通信装置。
【請求項１２】
請求項８に記載の通信装置において、
前記パフォーマンスアービター機能部が、複数のパフォーマンスアービター機能部を含み、
各パフォーマンスアービター機能部が、異なるパフォーマンスベースのルールの機能に応じて、パフォーマンスベースの通信順序を生成するように構成された、
ことを特徴とする通信装置。
【請求項１３】
請求項８に記載の通信装置において、
前記通信リンクが、ＰＣＩエクスプレスリンクである、ことを特徴とする通信装置。
【請求項１４】
請求項１３に記載の通信装置において、
前記通信リンクが、ＰＣＩエクスプレススイッチである、ことを特徴とする通信装置。
【請求項１５】
請求項８に記載の通信装置において、
前記通信リンクが、内部ＣＰＵベースのリンクである、ことを特徴とする通信装置。
【請求項１６】
請求項８に記載の通信装置において、
前記通信リンクが、ネットワークリンクである、ことを特徴とする通信装置。
【請求項１７】
請求項８に記載の通信装置において、
前記パケットデータの順序付けに応じて、前記通信リンクを通過したパケットデータを受信するように構成および配置され、前記通信リンクに結合された、受信器と、
前記受信プロトコルの機能に応じて、前記受信したパケットデータに受信通信優先度を割り当てるように構成および配置された、受信プロトコルアービター機能部と、
前記受信通信優先度とパフォーマンスベースのルールとの機能に応じて、前記受信されたパケットデータを順序付けるように、構成および配置された、受信パフォーマンスアービター機能部と、
前記受信したパケットデータの順序付けに応じて、前記受信したパケットデータの受信機能部へ伝送することを制御するように構成および配置された、受信コントローラと、
をさらに有することを特徴とする通信装置。
【請求項１８】
請求項１７に記載の通信装置において、
前記受信器が、前記通信リンクから入力されるパケットデータを格納するように構成および配置されているバッファを含み、
各バッファは、パケットデータの特定のタイプを格納し、
前記受信コントローラが、前記バッファから前記受信機能部への前記受信されたパケットデータの伝送を制御する、
ことを特徴とする通信装置。
【請求項１９】
請求項１８に記載の通信装置において、
前記受信プロトコルアービターが、
パケットデータを伝送するため有効なバッファを割り当てることによって、前記通信プロトコルの機能に応じて、前記受信されたパケットデータに受信通信優先度を割り当てるように構成および配置され、
前記受信パフォーマンスアービター機能部が、
前記パフォーマンスベースのルールの機能に応じて、パケットデータを伝送するため有効なバッファの１つを選択することによって、前記受信通信優先度とパフォーマンスベースとの機能に応じて、前記受信されたパケットデータを順序付けるように構成および配置されている、
ことを特徴とする通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に情報の通過／伝送制御に関し、特に複数のパケットストリームの統合に関連する情報の通過／伝送制御に関する。
【背景技術】
【０００２】
種々の異なるタイプの電子通信が、多様な目的および多種多様なタイプの装置やシステムのために実施されている。電子通信システムのタイプの１つは、２つ以上の異なるコンポーネント間のパケットベースの通信に関する幾つかの通信が関連する。例えば、コンピュータは、典型的には、バスを介して周辺装置と通信する中央処理ユニット(CPU)を具える。命令および他の情報は、通信バス或いはその他のリンクにてＣＰＵと周辺装置との間で伝送され、多くの場合はパケット化データストリームが用いられる。
【０００３】
典型的な高パフォーマンスのパケットベースのストリームでは、パケットの順序付けルールは、正確なデータ伝送を保証し、その他の所望のパフォーマンス特性に適合させるために提供される。これらのルールは、一般的に、特定のプロトコルに関連付けられるものであり、これの実施は、システムの信頼し得る、一貫性があるオペレーションのために重要である。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
パケットベースのシステムの操作における１つの課題は、複数のパケットストリームの処理に関するものである。パケットベースの通信を使用するシステムは、典型的には、複数のパケットストリームが通過するようなデータパス（経路）を使用する。パケットデータは同時に伝送、即ち、やり取りされる場合、ストリームは、データパスの特定のポイントで統合される場合が多く、これに応じてデータパスを通過していく。２つ以上のパケットストリームが統合されるデータバスのポイントは、パフォーマンスのボトルネックとなり得る。例えば、パケットストリームの統合は、典型的には、ストリームが伝送（やり取り）されるチャネルの使用に関連する。多くの場合、チャネルを装備すると、データコリジョンが発生し得る。また、処理中のデータ量が多くなるとき、および、通信を調整する前に特定のプロトコルが必要となるときは、このようなチャネルの利用を調整することは、１つの課題となり得る。
【０００５】
上述した課題は、パケット通信に関する多様な通信手法に関連する。パケットベースの通信手法のタイプの１つは、ＰＣＩ（Peripheral Component Interconnect:周辺機器相互接続）システムの使用に関連する。ＰＣＩは、高速の操作のために僅かなスペースで離間された拡張スロットによる付属の機器とマイクロプロセッサとの間の相互接続システムである。ＰＣＩを使用すると、コンピュータは、古い標準である、インダストリアルスタンダードアーキテクチャ（ISA）拡張カードをサポートしながら、新たなＰＣＩカードもサポートすることができる。ＰＣＩは、マイクロプロセッサの設計とは独立となるように設計され、さらには、マイクロプロセッサのクロック速度と同期を取るように設計されている。ＰＣＩは、アクティブな即ち使用可能なパス（マルチドロップパス上で）を使用してアドレスおよびデータ信号とを伝送し、１クロックサイクルでアドレスと次のデータとを送信する。ＰＣＩバスは、相互に高速なアクセスを必要とするアダプタ、および／または、システムメモリと共に設けることができるが、これは、ネイティブバスの最大スピードでアクセスするスピードのホストプロセッサによってアクセスされ得るものである。ＰＣＩバスを介した読み出し(read)、書き込み(write)の転送は、最初のサイクルでアドレスの始点が送信され、一連のある数のサイクルで一連のデータが伝送され得るようなバースト伝送として実行される。このバーストの長さは、送信元と宛先装置との間でネゴシエーションされる。ＰＣＩタイプのアーキテクチャは、広く実装され、今では、ほとんどのデスクトップ型のコンピュータに搭載されている。
【０００６】
ＰＣＩエクスプレスアーキテクチャは、ある程度の変更を施したＰＣＩアーキテクチャに類似する。ＰＣＩエクスプレスアーキテクチャは、ＰＣＩアーキテクチャのマルチドロップバスを、入力−出力（Ｉ／Ｏ）バスを展開させるスイッチに置き換えたスイッチを使用する。スイッチの展開能力は、高いパフォーマンスのＩ／Ｏを拡張するための一連の接続を容易にする。このスイッチは、ホストブリッジも収容するコンポーネント内に装備することができるような論理素子である。ＰＣＩスイッチは、論理的には、例えば、１つのブリッジが、追加のPCI-PCIブリッジのグループのアップストリーム側へ、そのダウンストリーム側を介したプライベートなローカルバスに接続しているアップストリームブリッジであるような、PCI-PCIブリッジの集合であると考えることができる。
【０００７】
システムのＰＣＩエクスプレスタイプでやり取り、即ち、伝送されるパケットストリームは、上述したように統合される場合が多く、これは、システムにおけるパフォーマンス上考慮すべき事項となり得る。統合が実行される場合の速度や正確性は、ＰＣＩエクスプレスタイプシステムの操作に影響を及ぼす。さらには、パケットストリームの処理は、ＰＣＩエクスプレス（即ち、どのようなシステムプロトコルや標準を実施しようとも）に関するプロトコルに準拠させなければならない。ＰＣＩエクスプレスシステムの場合には、これらのプロトコルは、典型的には、当該プロトコル（または標準）に準拠するため、パケットストリームを統合する場合に使用すべきである、特定の順序付けルールを規定する。これらのプロトコルタイプに準拠することは、他方では、所望のパフォーマンス（例えば、比較的低いレイテンシー、比較的高い帯域幅）を達成することが問題となり得る。
【課題を解決するための手段】
【０００８】
これらのおよびその他の制限が、ＰＣＩエクスプレス通信手法を含む多様な通信技法でのパケットベースの通信の実施における問題を生じさせることとなる。
【０００９】
本発明の様々な態様は、ＰＣＩシステムやその他のシステムのようなパケットタイプの通信を含む、多様なコンピュータ回路およびシステムに関連する。本発明を、多くの実施態様および用途で例示するが、そのうちの一部を以下にまとめる。
【００１０】
本発明の例示の実施態様によれば、パケットベースのデータは、ルールベースおよびパフォーマンスベースの順序付け手法を使用して処理される。
【００１１】
本発明のその他の例示の実施態様では、パケットのプロトコルルールベースの順序付けは、ルールベースの処理手法を用いるシステムにおける、パケットのパフォーマンスベースの順序付けとは別個に提供される。例えば、システムがＰＣＩエクスプレスシステムである場合には、プロトコルおよびその他のルールは、パケットの順序付け（および処理）のために提供される。ＰＣＩエクスプレス（或いはその他の）システムによって用いられるプロトコルおよびその他のルールに適応させながら、パケットのパフォーマンスベースの順序付けは、ルールベースの順序付けとは別個に実行される。
【００１２】
通信装置（構成）は、プロトコルベースおよびパフォーマンスベースの順序付けのための別個のシグナリング手法のための裁定／仲裁スキームを実行するように構成されているパケットプロセッサを具える。パケットプロセッサは、例えば、パケットストリームが統合され、或いは通信される場合に提供される。ある場合には、パケットプロセッサは、異なるチャネルのパケットストリームの通信／伝送を管理し、仲裁スキームを使用して何らかの関連するパケットデータの統合を行う。
【００１３】
ある実施態様では、パケットプロセッサは、ＰＣＩエクスプレスタイプのシステムなどの特定のプロトコルベースのシステムと共に使用するように構成される。パケットプロセッサは、プロトコルベースのシステムに関連するプロトコルに応じてパケットデータを処理するための裁定スキームを実行するようにプログラムされているが、その一方で、パフォーマンスベースの処理手法を別個に実行する。例えば、複数のデータストリームが伝送される場合、優先度やその他の特性ベースの通信手法が、パケットがプロトコルに応じて処理されるように順序付けを管理（例えば選択など）するために実行される。さらに、プロトコル要件に適合させると共に、パケットプロセッサは、プロトコル要件に適合させながら、特定のパフォーマンス基準にパケットが適合するように順序付けをさらに管理する。
【００１４】
上述した発明の概要は、本発明の図示した各実施態様や各実装を説明するこをを意図するものではない。付属の諸図面やそれらの詳細な説明はこれらの実施態様を詳細に例示するものである。
【００１５】
本発明は、付属の諸図面および本発明の様々な実施態様の詳細な説明を考慮に入れると完全に理解することができるであろう。
【００１６】
本発明は様々な修正を施したり、代替形式に変形したりすることが可能であるが、これらの詳細を図面における例示の形式で図示して詳細に説明する。しかしながら、本発明を説明した特定の実施態様に限定しないことを意図するものであることと理解すべきである。反対に、付属の請求の範囲に規定された発明の範囲内にある全ての修正、均等なもの、代替するものをカバーすることを意図するものである。
【発明を実施するための最良の形態】
【００１７】
本発明は、電気通信を伴う様々な回路や手法に適用可能なものであり、特に、パケットベースの情報に関連する通信を伴うものに適用可能である。本発明をこのような用途に限定する必要はないが、このような環境における実施例を議論することによって本発明の様々な態様の評価を得ることが最良である。
【００１８】
本発明の例示の実施態様によれば、通信手法は、プロトコルベースシステムのパケットデータ処理に関連する、パケットデータ（例えば、発信元のセット、或いは宛先バッファからの複数のパケットタイプを含む）は、指定されたプロトコルの順序ルールの実施に関連し、さらに、プロトコルに準拠して機能するようなパフォーマンスルールの実施にも関連するようなパケット裁定手法に応じて順序付けられる。これに関して、パフォーマンス指向処理手法は、特定の通信手法に使用されるプロトコルに対して、（例えば独立して）提供することができる。
【００１９】
一実施態様では、パケットデータのストリームは、プロトコルに応じて共通の通信リンク上で配置され伝送される。ストリームにおけるパケットデータが、プロトコルの機能に応じて共通の通信リンク上での伝送のために、その他のパケットにデータに対して順序付けられる。その後、順序付けられたパケットデータは、パケットデータを順序付けたプロトコルに準拠しながら、１つまたは複数のパフォーマンスベースルールの機能に応じて、さらに順序付けられる。
【００２０】
一部の用途では、パケット通信リンク（例えば、上述したような）で伝送される、順序付けられた配置のパケットデータは、そのリンクの終了を受信するときに順序付けられる。パケット受信裁定手法は、特定のプロトコルの順序付けルールに適用するものでああり、パフォーマンスルールの適用も関連する。例えば、上述したようにパケットデータが、一旦、順序付けられ、通信リンクを経て伝送された場合、通信リンクの受信地点におけるパケット裁定機能は、受信機能にパケットを配送するための処理を行う。
【００２１】
ある実施態様では、異なるパケットタイプが、受信地点の別個のチャネルバッファに格納される。プロトコル裁定機能は、プロトコル順序付けルールに応じたデータ転送のために利用可能な各バッファ（或いは複数のバッファ）のための「有効な」信号を生成する。その後、パフォーマンス裁定機能が、パフォーマンスルールに応じて、これらの「有効な」チャネルから１つのチャネルを選択し、この選択したチャネルに沿って受信機能へ伝送する。特定の用途では、単一の通信インターフェイス／リンク装置（構成）は、リンクを介して伝送するためにパケットデータを順序付けるための上述した裁定手法と、パケット受信裁定機能（即ち、受信機能と送信機能とを実行する組み合わせ）とを実装する。
【００２２】
他の実施態様では、パケットデータのストリームは、複数の通信チャネルを用いて伝送される。プロトコルルールとパフォーマンスルールとを用いて、パケットデータに関連する、宛先、発信元、タイムスタンプなどの様々な特性に応じて、パケットデータを伝送するチャネルを選択する。特定の用途に効率的にパケットデータを伝送するために（プロトコルルールに応じて）有効であると示されているチャネルから、チャネルを選択することによってパフォーマンスを上げながら、プロトコルに適合させる。さらに、チャネル上のデータ伝送の管理は、チャネル間のデータ衝突（コリジョン）を削減、即ち除去するような方式もさらに実行される。
【００２３】
本発明のその他の例示の実施態様では、プロトコルベースのパケット処理裁定手法は、別個のプロトコル機能部とパフォーマンス機能部とに実装される。プロトコル機能部は、特定の通信リンク上のパケットストリームの通信のための制御（即ち、信号）を生成し、その他の通信機能とストリームの統合（マージ）を円滑化する制御を行う。パフォーマンス機能部は、さらに、パケットストリームの通信のための制御（信号）を生成し、プロトコル機能制御と共にプロトコルベースのルールへの順序を維持しながら、あるパフォーマンスベースの機能を円滑化するような制御を行う。これについては、パフォーマンス機能部によって生成された制御（信号）は、プロトコル（例えば、１つのブロックは、異なるパフォーマンス要件を持つ、複数のインターフェイスブロックと共に再使用されるプロトコルルールを実施することができる。）の違反のリスクなしでパフォーマンスルール（手法）の適合を円滑化／容易にする。また、これらの制御は、通信リンクの特定地点でのパケットデータの統合を制御するなどのために、通信制御を実施する。さらには、これらの制御は、プロトコルへの準拠とパフォーマンスに関する目標とを達成するために選択的（例えば別個に）実施することができるものである。
【００２４】
ある実施態様では、プロトコル機能部は、異なるパフォーマンス機能部の実施に適合させることができ、複数の異なるパフォーマンスベースの処理手法を円滑化する。例えば、異なるデータタイプ、または、異なるデータ通信構成および用途では、異なるタイプのパフォーマンス関連通信手法により利益を受けることが多い。異なるタイプのパケット化データ（例えば、ポストした要求(Posted Request)、ポストしていな要求(Non-Posted Request)、完了）は、発信元と宛先との間で通信（やり取り）することができる。これに関して、プロトコル機能部からパフォーマンス機能部を分離することによって、共通の通信機能と共通のパケット処理アービター（仲裁器）と共に、異なるパフォーマンスベースのルール（機能）を実装することが可能となる。さらには、異なるパフォーマンス機能部を、特定の１つまたは複数のパケットストリームの処理のたの特定のプロトコル機能部に装備させることができる。
【００２５】
本発明の別の例示の実施態様では、通信システムは、通信リンク上、および／または、コンポーネント間におけるパケットストリームの通信を制御するために構成されたリンクコントローラ（例えば、アービター）およびコンポーネントに結合された通信リンクを具える。リンクコントローラを提供し、例えば、別個のプロトコル機能部とパフォーマンス機能部とを用いた制御を生成する、パフォーマンスおよびプロトコルのアービターに関連するソフトウェア手法を使用する。プロトコル機能部は、システムの通信プロトコルに応じてパケットストリームを処理するための制御信号を生成する。１つ（または複数の）パフォーマンス機能部は、パケットストリームの処理に関する、特定のパフォーマンス関連条件を達成するための制御信号を生成する。
【００２６】
一実施態様では、通信リンクは、特定の通信プロトコル要件を待つような、特定の規制された標準に応じた操作のために構成された標準リンクである。プロトコル機能は、プロトコルに応じてパケットストリームの通信を制御する。さらに、リンクコントローラは、規制された標準への準拠を維持しながら、プロトコル機能部を持つ、１つまたは複数のパフォーマンス機能部を実装する。この手法は、プロトコル機能部をこれらのパフォーマンス機能部に統合することを要しない特定の通信手法に対するパフォーマンス機能部の調整を円滑化する。
【００２７】
その他の実装の態様では、通信リンクは、（上述したような）ＰＣＩエクスプレス標準に応じて構成され、バスやスイッチなどのＰＣＩエクスプレスリンクと共に提供される。ＰＣＩエクスプレスバスおよび通信システムの様々な態様が、ＰＣＩエクスプレス標準（或いは関連／派生標準）に準拠して提供される。プロトコル機能は、ＰＣＩエクスプレスプロトコルに準拠するために構成され、別個のアービターによる１つまたは複数の派ｆ−マンス機能と共に提供される。プロトコルアービターは、ＰＣＩエクスプレス標準に準拠するＰＣＩエクスプレスプロトコル機能を用いて、パケットデータストリームにおけるパケットデータの統合および相対的な順序付けを制御する。さらに、パフォーマンスアービターが、プロトコルベースの順序付けが基づくような、ＰＣＩエクスプレスプロトコルに準拠させながら、選択されたパフォーマンスプロトコルに応じてパケットデータの順序付けを制御する。
【００２８】
「ＰＣＩエクスプレス」に準拠して、および／または、「ＰＣＩエクスプレス」のアプリケーションに関連して実装されるような上述した諸機能（および本明細書における他のもの）に関するさらに詳細な情報は、「ＰＣＩエクスプレスベース仕様改訂版1.0a」（オレゴン州、ポートランドのＰＣＩ−ＳＩＧ(PCI特別関与グループ)から入手可能である。）を参照すればば得ることができる。ＰＣＩエクスプレスベース仕様に準拠する手法は、「ＰＣＩエクスプレス準拠」と見なすことができる。
【００２９】
図の説明を始めるが、図１Ａは、本発明の別の例示の実施態様による、ＰＣＩエクスプレスパケット通信インターフェイス１００を示すものである。ＰＣＩエクスプレスパケット通信インターフェイス１００は、パケットソース（供給源／発信元）１１０と、ＰＣＩエクスプレスリンク１３０上での通信のためのパケットデータの提示を制御するパケットシンク(Sink)機能１１４とを含む。パケットソース１１０とパケットシンク１１４とは、ＰＣＩエクスプレスおよびパフォーマンスプロトコルとにそれぞれ応じて、パケットデータを順序付けるためにパフォーマンスアービター１１２，１１６と別個のプロトコルをそれぞれ実装する。
【００３０】
パケットデータストリームは、１つまたは複数の入力チャネル１２０，１２２，１２４，１２６で受信される。パケットソース１１０は、ＰＣＩエクスプレスベースアーキテクチャ使用によって規定された順序付けルールを実施するプロトコルアービター１１２を実装し、P/NP/CPLパケットチャネル（１つまたは複数の入力チャネル１２０，１２２，１２４，１２６）が、ＰＣＩエクスプレスプロトコル順序付け要件に適合する有効なパケットを持つことを示す、「有効」な（１つまたは複数の）信号を提示（例えば、割り振る）する。順序付けルールが１つのチャネルにおけるパケットが別のチャネルへ伝送されるのを許可する場合は、同時に「有効」な標識によって複数のチャネルが利用可能なものである旨が示される。パケットシンク１１４は、パフォーマンスアービター１１６を実装し、そこからパケットを受け入れるために、どのチャネルが有効であるのかを選択する。
【００３１】
パケットソース１１０とパケットシンク１１４とは、用途次第で、１つまたは複数の様々な手法を用いてアービターを実装する。幾つかの用途では、アービター１１７，１１８などのような追加のパフォーマンスアービターが、これに代わるものとしてパフォーマンスアービター１１６、或いは、パフォーマンスアービター１１６と共に、選択的に実装され、ここで、実装された各アービターは、選択されたパフォーマンス関連通信特性のために構成される。
【００３２】
別の実装の態様では、パケットシンク１１４は、各パケットと共に供給されるタイムスタンプ情報を使用して、最も古いパケットを持つチャネル（ＰＣＩエクスプレスプロトコルに適合する有効なチャネルから）を選択する、パフォーマンスアービター１１６を実装する。即ち、（プロトコルアービター１１２によって実行されるＰＣＩエクスプレス標準に応じて）パケットソース１１０によって有効であると識別された入力チャネル１２０，１２２，１２４，１２６のうち、パケットシンク１１４が、有効なパケットを保持していることを示す各チャネル上で、利用可能なパケットデータのタイムスタンプを検査する。この手法では、タイムスタンプから見て最も古いパケットを先出しすることを保証しながら、ＰＣＩエクスプレスプロトコルを遵守する。これに関して、この手法は、ＦＣＦＳ（First-come first service:先着順サービス）と共に使用するのに適用可能である。
【００３３】
別の実装の態様では、仲裁スキームが、特定のパケット通信の特性に基づく（有効な）チャネルの１つに対して優先度を与えるパフォーマンスアービター１１６を使用するパケットシンク１１４によって実装される。例えば、優先度は、パケットの宛先（例えば、ＰＣＩエクスプレスリンク１３０を介して結合された装置）、パケットソース（供給源／発信元）（入力チャネル上の装置）、或いは、チャネルバッファ上（例えば、その他のチャネルバッファのキューに対するチャネルのキュー上）のパケットの数、のうちの１つまたは複数のものに対して与えることができる。これらのパフォーマンスベースの優先度スキームは、プロトコルアービター１１２を使用するパケットソース１１０によって実施されるプロトコル順序付けルールを変更したり、違反したりするリスクなしで実装することができる。
【００３４】
図１Ｂは、本発明の別の例示の実施態様による、パケットベースシステムの受信端におけるパケット処理に関する通信のための装置（構成）１０５である。図１Ｂは、図１Ａと同様に実装することができる。図１Ｂは、プロトコルアービター１５２とパフォーマンスアービター１５６−１５８と持ち、これらはそれぞれ、パケットデータのプロトコルによる順序付けとパフォーマンスにより順序付けを実施する。
【００３５】
ＰＣＩエクスプレスリンクを介して受信した入力パケットデータ１７０は、パケットタイプ（例えば、特定のパケットタイプを格納する各バッファ）に応じて、バッファ１７２−１７８に配置される。４つのバッファ１７２−１７８を図示してあるが、多数のバッファおよび／またはバッファタイプを装置１０５に対して実装して、特定の用途の要件に適合させる。
【００３６】
コントローラ１５０は、「有効」なバッファであるとして１つまたは複数のバッファ１７２−１７８を割り振ることによってパケットを順序付けるプロトコルアービター１５２を実装する。その後、コントローラ１５０は、そこから受信機能部へパケットを渡す、即ちパケットを伝送するための「有効」なバッファであることを示された、１つまたは複数のバッファ１７２−１７８を選択する、１つまたは複数のパフォーマンスアービター１５６−１５８を実装する。図１Ｂには図示していないが、プロトコルアービター１５２とパフォーマンスアービター１５６−１５８とが、コントローラ１５０ではなく、ソースブロックとシンクブロックと（例えば、図１Ａの１１０と１１４）別々に通信するように実装することもできる。
【００３７】
或る実装の態様では、図１Ａ、図１Ｂにそれぞれ図示したような装置１００と１０５とが、図１Ａのリンク１３０と同じリンクである図１Ｂのリンク１７０を持つ、共通の通信リンク上に実装される。これに関して、装置１００は共通リンクの送信器であり、装置１０５は共通リンクの受信器である。受信器と送信器との各々は、異なるプロトコルルールおよび／またはパフォーマンスルールを使用して選択的に実装されたアービターを持つ図示したプロトコルアービターとパフォーマンスアービターとを実装する。
【００３８】
別の実装の態様では、図１Ａおよび図１Ｂの装置１００と装置１０５とは、双方向のＰＣＩエクスプレス送信器／受信器を持つ単一の通信構成（装置）として実現される。
【００３９】
図２は、本発明の別の例示の実施態様による、パケットベースシステムのパケット処理に対する手法のためのフローチャートである。ブロック２１０では、プロトコルベースの通信リンク上での伝送のために、（１つのチャネルまたは複数のチャネル上の）複数のパケットデータストリームからパケットデータを受信する。データは、例えば、その他のデータストリーム、および、例えば複数のチャネルに対して、各データストリームの全て、或いは、その一部を同時／一斉に受信される。ブロック２２０にて、通信リンク上でパケットデータをやり取り／伝送するための順序付けスキームが、パケットデータがやり取りされる特定のシステムのための（１つまたは複数の）通信プロトコルを使用して生成される。例えば、ＰＣＩエクスプレスシステムと共に使用する場合には、ＰＣＩエクスプレス通信プロトコル（例えば、パケット順序付け優先度に関連する）を使用して、ブロック２２０にてパケットデータを順序付けする。順序付けスキームは、各パケットを伝送するため特定の順付けを割り振り、このようにして、（通信プロトコルに応じて）転送する用意ができているパケットを持つチャネルの範囲、或いは、各通信チャネルは、ブロック２３０にて有効なチャネルであることが特定／識別される。
【００４０】
ブロック２４０では、パケットデータが銃順序付けられ、１つまたは複数の有効な通信チャネルが特定された後、パフォーマンスベースのルールが、ブロック２２０と２３０とで使用されるプロトコルへの準拠を維持しながら、そこからパケットデータを伝送するための通信チャネル、および／または、順序付けを再割り振りするために呼ばれる（実装される）。例えば、宛先、発信元（ソース）、および／または、タイムスタンプなどの特性などの特定のパケット特性を、パフォーマンスプロトコルと共に提供して、通信リンク（例えばスイッチ、バス、或いはエミュレーションされたリンク）上で伝送するためパケットを順序付けることができる。重要度の１つまたは複数のレベルを特定のパケット特性に割り振ることができ、１つまたは複数のレベルを用いて、通信のためパケットを順序付けるとき、その他のパケットに対して、個々のパケットの重要度に重み付けを与えることができる。
【００４１】
生成した順序付けスキームおよび特定・識別した通信チャネルを使用して、パフォーマンスベースの順序付けスキームとチャネル選択とは、パフォーマンスベースのプロトコルの機能（関数）として生成される。これらのパフォーマンスベースのプロトコルは、通信プロトコルの提供とは独立して提供することがでできるものであり、このようにして、共通の通信プロトコルを使用しながら、種々の異なるタイプのパフォーマンスベースのプロトコルを、ブロック２４０にて、異なるデータ、および／または、通信手法のために提供することができる。
【００４２】
一旦、パケットデータが順序付けられ、ブロック２４０にて特定の通信チャネルが選択されると、パケットデータは、パフォーマンスベースの順序付けスキームとチャネル選択とに応じて、ブロック２５０にて通信リンク（１つまたは複数であり、即ち、ＰＣＩエクスプレスリンク）上で伝送される。このようなパケットデータの伝送／受け渡しは、通信プロトコルベース順序付けスキームに応じて実行され、従って、このスキームへの準拠が円滑かつ容易に行われる。
【００４３】
図３は、本発明の別の例示の実施態様によるパケットベースのシステムにおけるパケット処理に関する通信のための装置３００を示すものである。パケット処理装置３１０は、プロトコル機能部３１２とパフォーマンス機能部３１４とをぞれぞれ具え、コントローラ３１６（例えば、別個のプロトコルアービターとパフォーマンスアービターとが具えられている。）は、これらの機能部を使用して、パケットデータを順序付け、通信リンク３３０上でパケットデータを伝送（やり取り）する。パケット処理装置３１０は、ホストＣＰＵ３２０、メモリ３５０、および、ディスプレイやディスクドライブなどの１つまたは複数のコンポーネントに結合されている。
【００４４】
リンク３３０は、スイッチ３３２に結合され、そして、このスイッチは、次に装置３４０，３４２，３４４，３４６を含む複数の装置に結合する。リンク３３０とスイッチ３３２とは、通信プロトコル（例えばＰＣＩエクスプレスプロトコル）と共に、および／または、プロトコルをエミュレーションしたものとして提供する。
【００４５】
発信元／ソース（例えばメモリ３５０）からのパケットデータが、通信リンク３３０を介して伝送され、コントローラ３１６は、予め規定されたプロトコルルールに応じてデータを順序付けるためのプロトコル裁定スキームを用いてプロトコル機能部を実装する。さらにコントローラ３１６は、プロトコル裁定スキームとは別個に、パフォーマンス裁定スキームを用いてパフォーマンス機能部３１４をさらに実装し、この機能部は、パフォーマンスベースのルールに応じてデータをさらに順序付ける。また、順序付けられたデータは、プロトコル機能部に応じて、さらに改善するためのパフォーマンス機能部３１４を介して装置３４０−３４６の１つまたは複数に伝送される。
【００４６】
装置（構成）３００は、用途次第で様々なやりかたで提供される。例えば、汎用のデスクトップ／可搬のＰＣＩエクスプレスコンピューティング手法と共に提供される場合は、装置３００は、例えば、メモリ、Ｉ／Ｏブリッジ、ＰＣＩエクスプレス通信リンク制御、および／またはエミュレーションなどを含む、Ｉ／Ｏ（入力／出力）相互接続機能を提供する。ＰＣＩエクスプレスのサーバ／ワークステーション、或いはネットワークステーションに実装する場合は、装置３００は、ＰＣＩエクスプレスベースリンク、対応するＰＣＩエクスプレス通信リンク制御、および／または、エミュレーションを伴う、ＣＰＵのメモリおよびその他のコンポーネントに対する通信リンクを持つチップセットの実装を含む。
【００４７】
諸図面に図示し、上述した様々な実施態様は、説明だけののために述べたものであり、本発明を制限するものと解釈すべきではない。図示や説明に基づき、当業者は、本明細書や図示および説明した例示の実施態様や応用例に厳密に対応せずに様々な変形や修正を施し得ることに容易に認識するであろう。例えば、ＰＣＩエクスプレスのみならず、他のプロトコルは、同様の手法を使用した実装に修正することができる。さらに、上述した例示の実施態様や実装の１つまたは複数は、様々なＰＣＩエクスプレス装置、および、プリント回路基板（ＰＣＢ）やチップなどを含むその他の手法に、実装させることができる。上述した例示の実施態様や実装例は、様々な回路、装置、システム、および、記憶装置、ディスプレイ、ネットワーク通信、モバイル通信と共に使用されるものを含む手法に統合させることもできる。さらに、ＰＣＩ、ＰＣＩエクスプレスタイプの応用例の文脈で説明した様々な実施態様は、ＰＣＩやＰＣＩエクスプレスに必ずしも適用されないようなものを含む様々な装置や通信手法を使用して実施することができる。これらの手法は、本発明の様々な例示の実施態様に関連して実施することができる。添付の請求項で述べた本発明の範囲や本質を逸脱することなくそのようは修正や変形がなされるものである。
【図面の簡単な説明】
【００４８】
【図１Ａ】本発明の例示の実施態様による、パケットベースシステムにおけるパケット処理に関する通信のための構成を示す図である。
【図１Ｂ】本発明の別の例示の実施態様による、パケットベースシステムにおけるパケット処理に関する通信のための構成を示す図である。
【図２】本発明の別の例示の実施態様による、パケットベースシステムにおけるパケット処理の手法のためのフローチャートである。
【図３】本発明の別の例示の実施態様による、パケット通信インターフェイス３００を示す図である。
【図１Ａ】
2008521326.tif 000003
【図１Ｂ】
2008521326.tif 000004
【図２】
2008521326.tif 000005
【図３】
2008521326.tif 000006
【国際調査報告】
2008521326.tif 000007
2008521326.tif 000008
2008521326.tif 000009