(57)【要約】アイソクロノスデータ転送を効果的に実行するシステム及び方法は、入出力ノード（３２６）及びアイソクロノス対応ネットワークインタフェース（３１２）に接続された入出力バス（３１４）を有するネットワーク機器を用いる。ネットワークインタフェース（３１２）及び入出力ノード（３２６）は、データ転送動作を行うために、入出力バス（３１４）を制御するための要求をアービタ（３２４）に送る。本発明では、アービタ（３２４）と、ネットワークインタフェース（３１２）及び入出力ノード（３２６）の両方との間に、入出力バスを制御するための各要求をフィルタリングするアービタフィルタ（３３２）を設けている。ネットワークインタフェース（３１２）は、アイソクロノス要求（３３６）をアービタフィルタ（３３２）に供給し、アービタフィルタ（３３２）は、時間的な制約があるアイソクロノスデータ転送を効果的に行うように、衝突する要求（３３０）を調停する。
2004517374.tif 000002
【特許請求の範囲】
【請求項１】
データ転送動作を行うデータ転送システムにおいて、
データを転送するデバイスバス（３１４）と、
上記デバイスバス（３１４）に接続された第１のバスノード（３２６）と、
上記デバイスバス（３１４）に接続され、該デバイスバス（３１４）に対し、上記データ転送動作を優先的に行うための特別な要求（３３６）を生成する第２のバスノード（３１２）とを備えるデータ転送システム。
【請求項２】
上記データ転送動作は、アイソクロノスデータ転送動作を含むことを特徴とする請求項１記載のデータ転送システム。
【請求項３】
上記デバイスバス（３１４）、第１のバスノード（３２６）及び第２のバスノード（３１２）は、コンピュータ装置、セットトップボックス、デジタルテレビジョン受像機及び民生用電子機器のいずれかに接続されていることを特徴とする請求項１記載のデータ転送システム。
【請求項４】
上記デバイスバス（３１４）は、ペリフェラルコンポーネントインタコネクト（ＰＣＩ）規格に準拠して実現された入出力バス（３１４）であることを特徴とする請求項１記載のデータ転送システム。
【請求項５】
上記第１のバスノード（３２６）は、プリンタ装置、イーサネット（登録商標）インタフェース、グラフィクス装置及びモデムのうちのいずれかとして実現される入出力機器（３２６）であることを特徴とする請求項１記載のデータ転送システム。
【請求項６】
上記第２のバスノード（３１２）は、ＩＥＥＥ１３９４シリアルバス相互接続規格に準拠して実現されたネットワークバスに接続されたネットワークインタフェース（３１２）を備えることを特徴とする請求項１記載のデータ転送システム。
【請求項７】
上記特別な要求（３３６）は、上記第１のバスノード（３２６）からの上記デバイスバスにアクセスするための衝突する要求（３３０）に対して、上記デバイスバスを優先的に制御するためのアイソクロノス要求（３３６）を含むことを特徴とする請求項１記載のデータ転送システム。
【請求項８】
上記衝突する要求（３３０）は、上記アイソクロノス要求（３３６）に応じて、アービタフィルタ（３３２）により禁止され、アービタフィルタ（３３２）は、上記第２のバスノード（３１２）に対し、上記データ転送動作を行うための上記デバイスバス（３１４）の優先的な制御を許可することを特徴とする請求項７記載のデータ転送システム。
【請求項９】
上記第１のバスノード（３２６）は、上記アービタフィルタ（３３２）に対し、上記デバイスバスを制御することを要求する要求Ａイン（３３０）を出力し、該アービタフィルタ（３３２）は、該要求Ａイン（３３０）をフィルタリングして要求Ａアウト（３３４）を生成し、上記アービタ（３２４）に供給することを特徴とする請求項８記載のデータ転送システム。
【請求項１０】
上記第２のバスノード（３１２）は、上記アービタフィルタ（３３２）に対し、上記デバイスバス（３１４）の制御を要求するためのアイソクロノス要求（３３６）を出力し、上記アービタフィルタ（３３２）は、これに応じて、上記要求Ａイン（３３０）をフィルタリングし、上記アービタ（３２４）に供給されている要求Ａアウト（３３４）を禁止することを特徴とする請求項９記載のデータ転送システム。
【請求項１１】
上記第２のバスノード（３１２）は、上記アービタフィルタ（３３２）に対し、上記デバイスバス（３１４）の制御を要求するためのアイソクロノス要求（３３６）を出力し、上記アービタフィルタ（３３２）は、これに応じて、要求Ｂアウト（３４２）を上記アービタ（３２４）に供給することを特徴とする請求項８記載のデータ転送システム。
【請求項１２】
上記アイソクロノス要求（３３６）は、上記アービタフィルタ（３３２）内のマルチプレクサ（５１２）の選択線を制御し、上記第１のバスノード（３２６）からの要求Ａイン（３３０）を直ちに禁止することを特徴とする請求項８記載のデータ転送システム。
【請求項１３】
上記第２のバスノード（３１２）からの上記アイソクロノス要求（３３６）及び要求Ｂインは、上記アービタフィルタ（３３２）の排他的論理和ゲートに供給され、該アービタフィルタ（３３２）は、要求Ｂアウトを生成して上記アービタ（３２４）に供給することを特徴とする請求項８記載のデータ転送システム。
【請求項１４】
上記アイソクロノス要求（３３６）は、上記アービタフィルタ（３３２）内の状態ロジック（６１２）を制御し、上記第１のバスノード（３２６）からの要求Ａインを禁止することを特徴とする請求項８記載のデータ転送システム。
【請求項１５】
上記状態ロジック（６１２）は、上記アービタ（３２４）が上記第１のバスノード（３２６）に対して上記デバイスバス（３１４）の制御に関する許可（３２８）を与えるまでは、上記要求Ａイン（３３０）の既存の状態を維持することを特徴とする請求項１４記載のデータ転送システム。
【請求項１６】
上記状態ロジック（６１２）は、上記要求Ａイン（３３０）が出力されており、上記第２のバスノード（３１２）により上記アイソクロノス要求（３３６）が出力された後は、常に、該要求Ａイン（３３０）を禁止することを特徴とする請求項１４記載のデータ転送システム。
【請求項１７】
上記アービタ（３２４）は、上記アイソクロノス要求（３３６）に応じて、上記第１のバスノード（３２６）からの要求を直ちに阻止し、上記第２のバスノード（３１２）に対して、上記優先的な制御を許可するバスプロトコルに準拠することを特徴とする請求項１４記載のデータ転送システム。
【請求項１８】
上記アービタフィルタ（３３２）及び上記アイソクロノス要求（３３６）は、上記第１のバスノード（３２６）及び上記アービタ（３２４）に対してトランスペアレントであることを特徴とする請求項８記載のデータ転送システム。
【請求項１９】
上記デバイスバス（３１４）には、複数の入出力ノードが接続されていることを特徴とする請求項１記載のデータ転送システム。
【請求項２０】
上記アービタフィルタ（３３２）及び上記アイソクロノス要求（３３６）は、コンピュータ装置の基本システムアーキテクチャを変更することなく、標準的な電子部品を有するコンピュータ装置に追加されていることを特徴とする請求項８記載のデータ転送システム。
【請求項２１】
データ転送動作を行うデータ転送方法において、
データを転送するデバイスバス（３１４）を準備するステップと、
上記デバイスバス（３１４）に第１のバスノード（３２６）を接続するステップと、
第２のバスノード（３１２）により、上記デバイスバス（３１４）に対し、上記データ転送動作を優先的に行うための特別な要求（３３６）を生成するステップとを有するデータ転送方法。
【請求項２２】
上記データ転送動作は、アイソクロノスデータ転送動作を含むことを特徴とする請求項２１記載のデータ転送方法。
【請求項２３】
上記デバイスバス（３１４）、第１のバスノード（３２６）及び第２のバスノード（３１２）は、コンピュータ装置、セットトップボックス、デジタルテレビジョン受像機及び民生用電子機器のいずれかに接続されていることを特徴とする請求項２１記載のデータ転送方法。
【請求項２４】
上記デバイスバス（３１４）は、ペリフェラルコンポーネントインタコネクト（ＰＣＩ）規格に準拠して実現された入出力バス（３１４）であることを特徴とする請求項２１記載のデータ転送方法。
【請求項２５】
上記第１のバスノード（３２６）は、プリンタ装置、イーサネットインタフェース、グラフィクス装置及びモデムのうちのいずれかとして実現される入出力機器（３２６）であることを特徴とする請求項２１記載のデータ転送方法。
【請求項２６】
上記第２のバスノード（３１２）は、ＩＥＥＥ１３９４シリアルバス相互接続規格に準拠して実現されたネットワークバスに接続されたネットワークインタフェース（３１２）を備えることを特徴とする請求項２１記載のデータ転送方法。
【請求項２７】
上記特別な要求（３３６）は、上記第１のバスノード（３２６）からの上記デバイスバスにアクセスするための衝突する要求（３３０）に対して、上記デバイスバスを優先的に制御するためのアイソクロノス要求（３３６）を含むことを特徴とする請求項２１記載のデータ転送方法。
【請求項２８】
上記衝突する要求（３３０）は、上記アイソクロノス要求（３３６）に応じて、アービタフィルタ（３３２）により禁止され、アービタフィルタ（３３２）は、上記第２のバスノード（３１２）に対し、上記データ転送動作を行うための上記デバイスバス（３１４）の優先的な制御を許可することを特徴とする請求項２７記載のデータ転送方法。
【請求項２９】
上記第１のバスノード（３２６）は、上記アービタフィルタ（３３２）に対し、上記デバイスバスを制御することを要求する要求Ａイン（３３０）を出力し、該アービタフィルタ（３３２）は、該要求Ａイン（３３０）をフィルタリングして要求Ａアウト（３３４）を生成し、上記アービタ（３２４）に供給することを特徴とする請求項２８記載のデータ転送方法。
【請求項３０】
上記第２のバスノード（３１２）は、上記アービタフィルタ（３３２）に対し、上記デバイスバス（３１４）の制御を要求するためのアイソクロノス要求（３３６）を出力し、上記アービタフィルタ（３３２）は、これに応じて、上記要求Ａイン（３３０）をフィルタリングし、上記アービタ（３２４）に供給されている要求Ａアウト（３３４）を禁止することを特徴とする請求項２９記載のデータ転送方法。
【請求項３１】
上記第２のバスノード（３１２）は、上記アービタフィルタ（３３２）に対し、上記デバイスバス（３１４）の制御を要求するためのアイソクロノス要求（３３６）を出力し、上記アービタフィルタ（３３２）は、これに応じて、要求Ｂアウト（３４２）を上記アービタ（３２４）に供給することを特徴とする請求項２８記載のデータ転送方法。
【請求項３２】
上記アイソクロノス要求（３３６）は、上記アービタフィルタ（３３２）内のマルチプレクサ（５１２）の選択線を制御し、上記第１のバスノード（３２６）からの要求Ａイン（３３０）を直ちに禁止することを特徴とする請求項２８記載のデータ転送方法。
【請求項３３】
上記第２のバスノード（３１２）からの上記アイソクロノス要求（３３６）及び要求Ｂインは、上記アービタフィルタ（３３２）の排他的論理和ゲートに供給され、該アービタフィルタ（３３２）は、要求Ｂアウトを生成して上記アービタ（３２４）に供給することを特徴とする請求項２８記載のデータ転送方法。
【請求項３４】
上記アイソクロノス要求（３３６）は、上記アービタフィルタ（３３２）内の状態ロジック（６１２）を制御し、上記第１のバスノード（３２６）からの要求Ａインを禁止することを特徴とする請求項２８記載のデータ転送方法。
【請求項３５】
上記状態ロジック（６１２）は、上記アービタ（３２４）が上記第１のバスノード（３２６）に対して上記デバイスバス（３１４）の制御に関する許可（３２８）を与えるまでは、上記要求Ａイン（３３０）の既存の状態を維持することを特徴とする請求項３４記載のデータ転送方法。
【請求項３６】
上記状態ロジック（６１２）は、上記要求Ａイン（３３０）が出力されており、上記第２のバスノード（３１２）により上記アイソクロノス要求（３３６）が出力された後は、常に、該要求Ａイン（３３０）を禁止することを特徴とする請求項３４記載のデータ転送方法。
【請求項３７】
上記アービタ（３２４）は、上記アイソクロノス要求（３３６）に応じて、上記第１のバスノード（３２６）からの要求を直ちに阻止し、上記第２のバスノード（３１２）に対して、上記優先的な制御を許可するバスプロトコルに準拠することを特徴とする請求項３４記載のデータ転送方法。
【請求項３８】
上記アービタフィルタ（３３２）及び上記アイソクロノス要求（３３６）は、上記第１のバスノード（３２６）及び上記アービタ（３２４）に対してトランスペアレントであることを特徴とする請求項２８記載のデータ転送方法。
【請求項３９】
上記デバイスバス（３１４）には、複数の入出力ノードが接続されていることを特徴とする請求項２１記載のデータ転送方法。
【請求項４０】
上記アービタフィルタ（３３２）及び上記アイソクロノス要求（３３６）は、コンピュータ装置の基本システムアーキテクチャを変更することなく、標準的な電子部品を有するコンピュータ装置に追加されていることを特徴とする請求項２８記載のデータ転送方法。
【請求項４１】
データ転送動作を行うデータ転送システムにおいて、
データを転送するデバイスバス（３１４）を提供するデバイスバス提供手段と、
第１のバスノード（３２６）を上記デバイスバス（３１４）に接続する接続手段と、
上記デバイスバス（３１４）に対し、上記データ転送動作を優先的に行うための特別な要求（３３６）を生成する特別要求生成手段とを備えるデータ転送システム。
【発明の詳細な説明】
【０００１】
本発明の背景技術
１．発明の分野
本発明は、一般的には、データ転送動作を行う技術に関し、詳しくは、アイソクロノスデータ転送を効率的に行うシステム及び方法に関する。
２．背景技術
近年の電子機器の設計、製造においては、電子機器間のデータ転送を効率的に行うことが重要な課題となっている。電子ネットワーク内の電子機器は、好ましくは、電子ネットワーク内の他の電子機器と通信を行い、データを共有し、これにより、電子ネットワーク内の個々の機器の能力を高め、用途を広げることができる。電子ネットワークは、例えば、家庭内環境においてパーソナルコンピュータ、デジタルビデオディスク機器、デジタル放送用デジタルセットトップボックス、拡張型テレビジョンセット（ｅｎｈａｎｃｅｄ ｔｅｌｅｖｉｓｉｏｎ ｓｅｔｓ）及びオーディオ再生システム等の様々な民生用電子機器間でリソースを柔軟且つ効果的に共有できるように構成することができる。
【０００２】
電子機器のネットワークにおけるデータ転送動作を効率的に管理するために、電子ネットワークの設計者に課せられた課題は実質的に増加している。例えば、データ転送動作における機器の機能及び性能を向上させるためには、システムの処理能力を高め、ネットワークを介して新たなハードウェアリソースが必要となることもある。処理又はハードウェア要求の増大により、電子機器の製造コストが高くなり、処理効率が低下する等の問題も生じている。
【０００３】
ネットワークの大きさも電子ネットワーク内のデータ転送動作の管理に影響を与える要因の１つである。電子ネットワークにおける通信処理は、通常個々の機器又はノードの数が増加する程、複雑になる。ここで、電子ネットワーク上の特定の機器をローカルソフトウェアエレメントを有するローカル機器と定義し、電子ネットワーク内の他の機器をリモートソフトウェアエレメントを有するリモート機器と定義する。ローカル機器内のローカルソフトウェアモジュールは、電子ネットワークを介して、様々なリモート機器とデータを送受する必要がある。ここで、単一のネットワークに亘る複数の電子機器を効果的に管理することができれば、システムのユーザにとって有益である。
【０００４】
さらに、高度なメモリ転送動作（ａｄｖａｎｃｅｄ ｍｅｍｏｒｙ ｔｒａｎｓｆｅｒ ｏｐｅｒａｔｉｏｎｓ）を行うための機器の能力の拡大は、システムのユーザにとって有益であるが、これにより、電子ネットワーク内の様々な機器の制御及び管理に関する要求も増大する。例えば、デジタルテレビジョン放送に効果的にアクセスし、データを処理し、番組を表示する拡張型電子ネットワークでは、大量の複雑なデジタルデータを処理しなければならず、効率的なネットワーク通信技術を必要とする。
【０００５】
電子ネットワークにおけるデータ転送方式の１つとして、アイソクロノスデータ転送がある。アイソクロノスデータ転送は、サイクルと呼ばれる規則的な間隔で、時間に基づくストリームとして送信されてくるデータの保証された処理を含んでいる。アイソクロノスデータ転送は、通常、時間的な制約のあるアプリケーション（ｔｉｍｅ−ｓｅｎｓｉｔｉｖｅ ａｐｐｌｉｃａｔｉｏｎｓ）に使用される。例えば、ネットワークを介して伝送されるビデオ又はオーディオデータは、適切なタイミングで、中断することなく、表示装置に到着する必要がある。
【０００６】
システムリソースに対する要求が多くなり、及びデータ量が実質的に増加するため、関連する電子技術において、データを転送するための効率的な方法を新たに開発することが重大な課題となっている。このように、上述した様々な理由から、現在の電子機器の設計者、製造業者、ユーザにより、電子機器間でデータを転送する効率な方法の実現が望まれている。
発明の開示
本発明は、アイソクロノスデータ転送を効果的に行うシステム及び方法を提供する。一具体例において、本発明は、入出力（Ｉ／Ｏ）バス及びネットワークバスの両方に接続され、コンピュータ装置と電子ネットワーク間でアイソクロノスデータと非同期データを転送するのためのインタフェースとして機能するネットワークインタフェースを有するコンピュータ装置を備える。
【０００７】
さらに、入出力バスには、少なくとも１つの入出力ノードが接続されている。一具体例において、入出力バスは、いかなる任意の時点においても、所定の単一の入出力デバイス（例えば、ネットワークインタフェース又は入出力ノード）のみにアクセスされ、デバイスメモリと所定の入出力デバイス間で情報を転送する。したがって、データ転送動作のための入出力バスの制御を獲得するために、ネットワークインタフェース又は入出力ノードは、コンピュータ装置内の入出力バスブリッジ内に設けられたアービタに対し、入出力バスの制御を要求する。アービタは、調停アルゴリズム（ａｒｂｉｔｒａｔｉｏｎ ａｌｇｏｒｉｔｈｍ）に基づき、要求を発した適切な入出力デバイスに対して入出力バスの制御を許可する。
【０００８】
一具体例において、入出力ノードは、アービタフィルタに対し、要求Ａインを送る。これに応じて、アービタフィルタは、要求Ａインをフィルタリングし、対応する要求Ａアウトをアービタに供給する。入出力ノードは、例えば、要求Ａインを用いて、非アイソクロノスデータ転送のための入出力バスの制御を要求する。同様に、ネットワークインタフェースは、アービタフィルタに要求Ｂインを送る。これに応じて、アービタフィルタは、要求Ｂインをフィルタリングし、対応する要求Ｂアウトをアービタに供給する。ネットワークインタフェースは、例えば、要求Ｂインを用いて、非アイソクロノスデータ転送のための入出力バスの制御を要求する。
【０００９】
本発明においては、ネットワークインタフェース（又は他のアイソクロノス対応入出力デバイスであってもよい。）は、アービタフィルタに対し、アイソクロノスデータ転送要求（アイソクロノス要求）を送る。ネットワークインタフェースは、時間的な制約のあるアイソクロノスデータの転送を行う際、アイソクロノス要求及びアービタフィルタを用いて、要求Ａイン及び／又は要求Ｂインに対し、アイソクロノス要求を優先させる。
【００１０】
本発明においては、アービタフィルタ及びアイソクロノス要求は、アービタフィルタ及び入出力ノードにとってトランスペアレントである。さらに、アービタフィルタは、コンピュータ装置の回路に容易に追加でき、コンピュータ装置の基本的なシステム設計は、全く変更する必要がなく、あるいは、僅かに変更すればよい。一具体例においては、標準的なコンポーネント及びデバイスを用いて、コンピュータ装置を経済的且つ効果的に実現することができる。このように、本発明は、アイソクロノスデータ転送を効果的に実行するシステム及び方法を提供する。
好ましい実施の形態の詳細な説明
本発明は、データ転送動作の改良に関する。以下の説明は、特許出願の方式及びその要求に基づき、当業者が本発明を実施及び使用することができる程度に詳細に本発明を開示するものである。当業者は、以下の好ましい実施の形態の様々な変形を容易に想到することができ、ここに説明する原理は、他の実施の形態にも適用することができる。すなわち、本発明は、以下に説明する実施の形態に限定されるものではなく、以下に説明する原理及び特徴に対応する最も広い範囲を包含するものと解釈される。
【００１１】
本発明は、アイソクロノスデータ転送を効率的に行うシステム及び方法、並びに入出力（ｉｎｐｕｔ／ｏｕｔｐｕｔ：以下Ｉ／Ｏという。）ノード及びアイソクロノス対応ネットワークインタフェースに接続されたＩ／Ｏバスを有するネットワーク機器を提供する。ネットワークインタフェース及びＩ／Ｏノードは、Ｉ／Ｏバスを制御するための要求をアービタ（ａｒｂｉｔｅｒ）に送り、データ転送動作を行う。本発明では、アービタと、ネットワークインタフェース及びＩ／Ｏノードの両方との間に、Ｉ／Ｏバスを制御するための各要求をフィルタリングするアービタフィルタを設けている。ネットワークインタフェースは、アイソクロノス要求をアービタフィルタに供給し、アービタフィルタは、ネットワークインタフェースが時間的な制約がある（ｔｉｍｅ ｓｅｎｓｉｔｉｖｅ）アイソクロノスデータ転送を効率的に行うように、衝突する要求を調停する。
【００１２】
図１は、本発明を適用した電子ネットワーク１１０の構成を示すブロック図である。この具体例においては、ネットワーク１１０は、特にこのような構成に限定されるものではないが、機器Ａ１１２（ａ）、機器Ｂ１１２（ｂ）、機器Ｃ１１２（ｃ）、機器Ｄ１１２（ｄ）、機器Ｅ１１２（ｅ）及びコンピュータ１１６を備える。変形例においては、電子機器のネットワーク１１０は、図１に示すこれらの機器に加えて、又はこれらの機器に代えて、他の様々な機器又はコンピュータを備えていてもよい。また、変形例においては、ネットワーク１１０は、他の適切且つ適当な手法により接続及び構成されていてもよい。
【００１３】
図１に示す具体例においては、ネットワーク１１０における機器１１２及びコンピュータ１１６は、これらに限定されるものではないが、例えばパーソナルコンピュータ、プリンタ、デジタルビデオディスク装置、テレビジョンセット、オーディオシステム、ビデオテープレコーダ、デジタル放送用セットトップボックス等、いかなる種類の電子機器であってもよい。また、図１に示す具体例において、機器１１２及びコンピュータ１１６は、ネットワークバス１３２を用いて相互に通信を行う。ネットワークバス１３２は、パス１３２（ａ）、パス１３２（ｂ）、パス１３２（ｃ）、パス１３２（ｄ）、パス１３２（ｅ）を有する。例えば、機器Ｂ１１２（ｂ）は、パス１３２（ａ）を介して機器Ａ１１２（ａ）に接続されているとともに、パス１３２（ｂ）を介してルート機器Ｅ１１２（ｅ）に接続されている。同様に、機器Ｅ１１２（ｅ）は、パス１３２（ｃ）を介して機器Ｃ１１２（ｃ）に接続されているとともに、パス１３２（ｄ）を介して機器Ｄ１１２（ｄ）に接続されている。さらに、機器Ｄ１１２（ｄ）は、パス１３２（ｅ）を介して、コンピュータ１１６に接続されている。図１に示す具体例においては、ネットワークバス１３２は、好ましくは、ＩＥＥＥにおける高性能シリアルバス用のＰ１３９４規格（１９９５年版）に準拠するものであり、この規格は、参照することにより本願に組み込まれるものとする。なお、変形例においては、ネットワーク１１０は、他の様々なネットワーク相互接続方式を用いて通信及び機能してもよく、このような形態も同様に本発明の範囲内にある。
【００１４】
図１に示す具体例において、ネットワーク１１０内の任意の機器１１２及び／又はコンピュータ１１６は、他の機器１１２及び／又はコンピュータ１１６と通信を行うことができる。例えば、コンピュータ１１６が機器Ｂ１１２（ｂ）と通信を行う場合、コンピュータ１１６は、パス１３２（ｅ）を介して機器Ｄ１１２（ｄ）に転送データを伝送し、この機器Ｄ１１２（ｄ）がパス１３２（ｄ）を介して機器Ｅ１１２（ｅ）に転送データを伝送する。これに応じて、機器Ｅ１１２（ｅ）は、パス１３２（ｂ）を介して、機器Ｂ１１２（ｂ）に転送データを伝送する。
【００１５】
図２は、本発明に基づくアイソクロノスデータ転送の具体例を示すタイミングチャートである。図２に示すタイミングチャートには、システムクロック２１２と、アイソクロノスサイクルスタート信号２１４と、アイソクロノスデータ転送信号２１６とが示されている。図２に示す時刻２１８において、第１のアイソクロノスサイクルスタートパルスは、システムクロック２１２に同期して、状態を変化させる。時刻２２０において、アイソクロノスサイクルスタートパルスは、再び状態を変化させ、それに応じて、アイソクロノスデータ転送２１６（ａ）が所定の方式で行われる。
【００１６】
同様に、時刻２２２において、第２のアイソクロノスサイクルスタートパルスは、システムクロック２１２に同期して、状態を変化させる。時刻２２４において、第２のアイソクロノスサイクルスタートパルスは、再び状態を変化させて、アイソクロノスデータ転送２１６（ｂ）が所定の方式で行われる。したがって、図２に示すように、アイソクロノスデータ転送２１６（ａ）、２１６（ｂ）は、ネットワーク１１０において、所定の時刻に、所定の周波数を用いて実行される。さらに、ネットワーク１１０は、アイソクロノスデータの時間的な制約のために、アイソクロノスデータを他の全ての非同期データの転送に優先させて実行する。
【００１７】
図３は、図１に示すコンピュータ１１６の内部構成を示すブロック図である。図３に示す具体例においては、コンピュータ１１６は、コンピュータ１１６に入力又はコンピュータ１１６から出力される様々な種類の情報及びデータを転送するＩ／Ｏバス３１４を備える。図３に示す具体例においては、Ｉ／Ｏバス３１４は、ペリフェラルコンポーネントインターコネクト（ｐｅｒｉｐｈｅｒａｌ ｃｏｍｐｏｎｅｎｔ ｉｎｔｅｒｃｏｎｎｅｃｔ：以下、ＰＣＩという。）バス仕様に準拠している。ＰＣＩバスについては、１９９５年、ＰＣＩスペシャルインタレストグループ（Ｓｐｅｃｉａｌ Ｉｎｔｅｒｅｓｔ Ｇｒｏｕｐ）による「ＰＣＩローカルバス仕様（ＰＣＩ Ｌｏｃａｌ Ｂｕｓ Ｓｐｅｃｉｆｉｃａｔｉｏｎ）」改訂版２．１ｓに記載されており、この仕様は、参照することにより本願に組み込まれるものとする。なお、変形例においては、Ｉ／Ｏバス３１４は、いかなる適切な又は互換性を有する仕様又は規格に基づいて実現してもよい。
【００１８】
図３に示す具体例においては、ネットワークインタフェース３１２は、Ｉ／Ｏバス３１４及びネットワークバス１３２（図１）の両方に接続されており、コンピュータ１１６とネットワーク１１０間でアイソクロノスデータ及び非同期データを転送するためのインタフェースとして機能する。さらに、Ｉ／Ｏバス３１４には、Ｉ／Ｏノード３２６も接続されている。図３に示す具体例においては、Ｉ／Ｏノード３２６は、コンピュータ１１６に組み込まれているが、このＩ／Ｏノード３２６は、コンピュータ１１６の外部に設けてもよい。説明を明瞭にするために、図３に示す具体例では、コンピュータ１１６内に１つのＩ／Ｏノード３２６を設けているが、変形例として、コンピュータ１１６内に複数のＩ／Ｏノードを設けてもよい。
【００１９】
Ｉ／Ｏノード３２６は、例えばイーサネットインタフェース、プリンタ装置、モデム又はグラフィック装置等を含む、所望のいかなる種類のインタフェース、装置、回路、プロセス又はノードを含んでいてもよい。さらに、コンピュータ１１６は、例えばセットトップボックス又はデジタルテレビジョンインタフェース等、様々な種類の電子機器として実現してもよい。
【００２０】
さらに、コンピュータ１１６は、中央演算処理装置（ｃｅｎｔｒａｌ ｐｒｏｃｅｓｓｉｎｇ ｕｎｉｔ：以下、ＣＰＵという。）３２０と、メモリ３２２と、Ｉ／Ｏバスブリッジ３１６によりＩ／Ｏバス３１４から分離されたＣＰＵバス３１８とを備える。実際の動作では、コンピュータ１１６において、メモリ３２２とＩ／Ｏバス３１４との間で、ＣＰＵバス３１８及びＩ／Ｏバスブリッジ３１６を介して、様々な種類の情報及びデータが転送される。
【００２１】
図３に示す具体例では、Ｉ／Ｏバス３１４は、任意の特定の時刻においては、所定の単一のＩ／Ｏデバイス（ネットワークインタフェース３１２又はＩ／Ｏノード３２６）のみによりアクセスされ、メモリ３２２とこの所定のＩ／Ｏデバイス間で情報を転送する。したがって、Ｉ／Ｏバス３１４を介してデータを転送する制御（ｃｏｎｔｒｏｌ）を獲得するために、ネットワークインタフェース３１２又はＩ／Ｏノード３２６は、Ｉ／Ｏバスブリッジ３１６内に設けられたアービタ３２４に対し、Ｉ／Ｏバス３１４の制御を要求する。アービタ３２４は、調停アルゴリズム（ａｒｂｉｔｒａｔｉｏｎ ａｌｇｏｒｉｔｈｍ）に基づき、Ｉ／Ｏバス３１４の制御を要求したＩ／Ｏデバイスに対し、Ｉ／Ｏバス３１４の制御を許可する。
【００２２】
例えば、Ｉ／Ｏノード３２６は、アービタ３２４に要求Ａ３３１を送り、アービタ３２４は、これに応じて、許可Ａ３２８をＩ／Ｏノード３２６に与える。あるいは、ネットワークインタフェース３１２は、アービタ３２４に要求Ｂ３３９を送り、アービタ３２４は、これに応じて、許可Ｂ３４４をネットワークインタフェース３１２に与える。アービタ３２４は、適切な調停アルゴリズムを用いて、複数のＩ／ＯデバイスによるＩ／Ｏバス３１４の要求の衝突を調停する。実際の調停アルゴリズムとしては、例えば、先着順サービス法（ｆｉｒｓｔ ｃｏｍｅ−ｆｉｒｓｔ ｓｅｒｖｅ ａｐｐｒｏａｃｈ）、交互ラウンドロビン法（ａｌｔｅｒｎａｔｉｎｇ ｒｏｕｎｄ−ｒｏｂｉｎ ｔｅｃｈｎｉｑｕｅ）、又はデータ転送の重要性又はサイズに基づく要求優先順位法（ｒｅｑｕｅｓｔ ｐｒｉｏｒｉｔｉｚａｔｉｏｎ ｍｅｔｈｏｄ）等がある。
【００２３】
ネットワークインタフェース３１２（又はこの他のいかなるアイソクロノス対応Ｉ／Ｏノードであってもよい）を用い、Ｉ／Ｏバス３１４を介してアイソクロノスデータを転送するためには、Ｉ／Ｏバス３１４の適時（ｔｉｍｅｌｙ）の制御のための特別な要求及び考慮が必要である。アイソクロノスデータは、通常、時間的な制約を有するデータであり、所定のタイミング間隔で所定の時刻に送信される。このように、アイソクロノスデータが時間的制約を有しているため、アイソクロノスデータの再伝送は、不適切又は不可能であることがある。したがって、ネットワークインタフェース３１２がアイソクロノスデータ伝送のためにＩ／Ｏバス３１４の制御を要求する場合、Ｉ／Ｏバス３１４に適時にアクセスできることが重要である。
【００２４】
例えば、ビデオフレームデータが、そのフレームを表示すべき適切な時刻に表示装置に届かなかった場合、そのビデオフレームデータを遅れて再伝送しても意味がない。したがって、アイソクロノスデータのソースは、通常、データ伝送が失敗しても、再伝送を繰り返さない。ビデオフレームが欠落すると、そのビデオプログラムにおいては、好ましくないジッタ又は映像の中断等が生じることがある。
【００２５】
バストラフィックの衝突のために、ネットワークインタフェース３１２がＩ／Ｏバス３１４に適時にアクセスできなければ、アイソクロノスデータの欠落を防ぐために、容量の大きなバッファメモリリソース（図示せず）が必要となる。しかしながら、バッファメモリリソースを追加すると、コンピュータ１１６の製造コストが高くなるという問題があり、さらに、バッファ処理を制御するために、コンピュータ１１６の貴重な処理リソースが費やされるという問題もある。このような追加的なバッファメモリリソースを必要とすることなく、アイソクロノスデータの転送を確実且つ適時に実行することを保証する本発明に基づく効率的な方法については、図５〜図８を用いて後に説明する。
【００２６】
図４は、図１に示すコンピュータ１１６の内部構成のさらなる具体例を示すブロック図である。図４に示す具体例では、コンピュータ１１６は、図３に示すコンピュータ１１６と共通の様々なコンポーネントを備え、これらの共通のコンポーネントについては、共通の名称及び共通の符号を付している。図３及び図４において共通の名称及び符号が付されたコンポーネントは、図３を用いて説明したものと同様又は類似する機能を有する。
【００２７】
なお、変形例においては、図４に示すコンポーネントは、図３を用いて説明したコンピュータ１１６のコンポーネントとは異なる機能を有していてもよい。さらに、図３又は図４を用いて開示及び説明する構成及びアーキテクチャとは異なる様々な構成及びアーキテクチャによりコンピュータ１１６を実現することもできる。
【００２８】
図４に示す具体例は、図３に示す具体例に対して、アーキテクチャに関する複数の設計の変更点を有している。例えば、図４に示す具体例には、要求Ａ３３１及び要求Ｂ３３９は含まれていない。これらに代えて、Ｉ／Ｏノード３２６からアービタフィルタ３３２には、要求Ａイン３３０が供給され、アービタフィルタ３３２からアービタ３２４には、要求Ａアウト３３４が供給される。図４に示す具体例においては、Ｉ／Ｏノード３２６は、要求Ａイン３３０により、非アイソクロノスデータ転送用の制御をＩ／Ｏバス３１４に要求する。同様に、要求Ｂイン３４０は、ネットワークインタフェース３１２からアービタフィルタ３３２に供給され、要求Ｂアウト３４２は、アービタフィルタ３３２からアービタ３２４に供給される。図４に示す具体例においては、ネットワークインタフェース３１２は、要求Ｂイン３４０を用いて、非アイソクロノスデータ転送用の制御をＩ／Ｏバス３１４に要求する。
【００２９】
さらに、図４に示す具体例においては、ネットワークインタフェース３１２（又は他のいかなるアイソクロノスデータ転送対応Ｉ／Ｏデバイスであってもよい）からアービタフィルタ３３２にアイソクロノス転送要求（以下、Ｉｓｏ要求という。）３３６が供給される。ネットワークインタフェース３１２は、アイソクロノスデータ転送のためにＩ／Ｏバス３１４にアクセスする場合、Ｉｓｏ要求Ｂ３３６及びアービタフィルタ３３２を用いて、要求Ａイン３３０及び／又は要求Ｂイン３４０より高い優先順位を確立する。
【００３０】
本発明によれば、アービタフィルタ３３２及びＩｓｏ要求Ｂ３３６の動作は、アービタ３２４及びＩ／Ｏノード３２６にとってトランスペアレントである。さらに、アービタフィルタ３３２は、コンピュータ１１６の回路の基本設計に最小限の変更を加えるだけで容易に追加することができる。したがって、一具体例において、コンピュータ１１６は、標準的なコンポーネント及びデバイスを用いて、経済的且つ効率的に実現することができる。以下、アービタフィルタ３３２及びＩｓｏ要求Ｂ３３６の動作及び機能について、図５〜図８を用いてさらに詳しく説明する。
【００３１】
図５は、図４に示す本発明に基づいたアービタフィルタ３３２の具体的な構成を示すブロック図である。図５に示す具体例においては、要求Ａアウト３３４及び要求Ｂアウト３４２を、アクティブハイデジタル信号として示している。なお、変形例においては、要求Ａアウト３３４及び要求Ｂアウト３４２は、アービタフィルタ３３２のロジックの変更に応じて、いかなる種類のアクティブロー信号により機能させてもよい。さらに、図５に示す具体例は、例示的に示したものに過ぎず、アービタフィルタ３３２は、このような構成に代えて、いかなる適切な又は互換性のある構成により実現してもよい。
【００３２】
図５に示す具体例においては、ネットワークインタフェース３１２は、Ｉｓｏ要求Ｂ３３６を排他的論理和ゲート（以下、ＯＲゲートという。）５１６に供給することにより、Ｉ／Ｏバス３１４の制御を要求し、そして、マルチプレクサ５１２の選択線５１８が要求Ａイン３３０を阻止し、接地線５１４からのデジタルローを示す信号を選択し、この信号を要求Ａアウト３３４を介してアービタ３２４に供給する。このように、要求Ａイン３３０は、Ｉｓｏ要求Ｂ３３６により、禁止（ｄｉｓａｂｅｌｅ）される。Ｉｓｏ要求Ｂ３３６による要求Ａイン３３０の禁止と同時に、ネットワークインタフェース３１２が上述のＩｓｏ要求Ｂ３３６をＯＲゲート５１６に供給すると、常に、対応する要求Ｂアウト３４２により、アービタ３２４は、アイソクロノスデータ転送のために、Ｉ／Ｏバス３１４の制御がネットワークインタフェース３１２に許可されるように要求される。このとき、要求Ａイン３３０は禁止されているため、アービタ３２４は、Ｉ／Ｏバス３１４の制御をネットワークインタフェース３１２に許可することができる。
【００３３】
アービタ３２４は、許可Ｂ３４４（図４）をネットワークインタフェース３１２に供給する。ネットワークインタフェース３１２は、例えば、許可Ｂ３４４がＩｓｏ要求Ｂ３３６に対応するものであるか、要求Ｂイン３４０に対応するものであるかを判定する電子回路を備えている。変形例においては、Ｉ／Ｏバス３１４のプロトコルが許せば（例えば、ＰＣＩにおける「マスタ」及び「ターゲット」ターミネーションプロトコル）、Ｉ／Ｏバスブリッジ３１６により、優先順位が低いデータ転送（現在Ｉ／Ｏノード３２６により実行されている）を阻止するようにしてもよい。これにより、ネットワークインタフェース３１２は、Ｉ／Ｏバス３１４の制御を直ちに獲得し、優先順位が高いアイソクロノスデータ転送を行う。
【００３４】
図６は、図４に示すアービタフィルタ３３２の第２の具体例を示す図である。図６に示す具体例においては、要求Ａアウト３３４及び要求Ｂアウト３４２を、アクティブハイデジタル信号として示している。なお、変形例においては、要求Ａアウト３３４及び要求Ｂアウト３４２は、アービタフィルタ３３２のロジックの変更に応じて、いかなる種類のアクティブロー信号により機能させてもよい。さらに、図６に示す具体例は、例示的に示したものに過ぎず、アービタフィルタ３３２は、このような構成に代えて、いかなる適切な又は互換性のある構成により実現してもよい。
【００３５】
図６に示す具体例では、コンピュータ１１６のシステムプロトコルは、要求を行うＩ／Ｏデバイスに対し、アービタ３２４が許可を行わない限り、Ｉ／Ｏバス３１４の制御に対する要求を即座に中断することを許可しない。実際には、ネットワークインタフェース３１２がＩｓｏ要求Ｂ３３６をＯＲゲート６１４に供給することによりＩ／Ｏバス３１４の制御を要求し、そして、Ｉｓｏ線６１６を介してＩｓｏ要求Ｂ３３６が状態ロジック回路６１２に供給される。状態ロジック回路６１２には、Ｉ／Ｏノード３２６から要求Ａイン３３０も供給されている。
【００３６】
Ｉｓｏ要求Ｂ３３６が発生した時点で、既に要求Ａイン３３０が存在する場合、状態ロジック回路６１２は、アービタ３２４がＩ／Ｏノード３２６に対し、Ｉ／Ｏバス３１４の制御のための許可Ａ３２８（図４）を返すまで、先行する要求Ａアウト３３４を出力し続ける。そして、要求Ａイン３３０が無くなり、デジタルロー信号に切り換わると、以前に供給されたＩｓｏ要求Ｂ３３６に応じて、状態ロジック回路６１２は、現在のＩｓｏ要求Ｂ３３６が無くなるまで、要求Ａイン３３０をデジタルローの状態にホールドする。
【００３７】
状態ロジック回路６１２よる要求Ａイン３３０のフィルタリングと同時に、ネットワークインタフェース３１２が上述のＩｓｏ要求Ｂ３３６をＯＲゲート５１６に供給すると、常に、対応する要求Ｂアウト３４２により、アービタ３２４は、アイソクロノスデータ転送のために、Ｉ／Ｏバス３１４の制御がネットワークインタフェース３１２に許可されるように要求される。
【００３８】
図７は、図６に示す具体例に基づく、コンピュータ１１６におけるアイソクロノス要求シーケンスの具体例を説明するタイミングチャートを示す図である。図７に示すタイミングチャートには、Ｉ／Ｏバスクロック７１２と、要求Ａイン３３０と、Ｉｓｏ要求Ｂ３３６と、要求Ａアウト３３４とが示されている。図７に示すタイミングチャートは、状態ロジック回路６１２におけるシーケンスの具体例を示している。変形例においては、状態ロジック回路６１２は、図７に示す具体例に加えて、又はこれに代えて、他の様々な波形及び波形タイミングで動作することができる。
【００３９】
図７に示す具体例では、時刻７１４において、Ｉ／Ｏノード３２６がＩ／Ｏバス３１４の制御を要求する要求Ａイン３３０を出力する。この時点で、Ｉｓｏ要求Ｂ３３６は生じていないため、状態ロジック回路６１２は、この要求Ａイン３３０に応じて、要求Ａアウト３３４を出力する。時刻７１６において、ネットワークインタフェース３１２は、Ｉｓｏ要求Ｂ３３６を出力する。ここでは、図６に示すアービタフィルタ３３２のシステムプロトコルに基づき、状態ロジック回路６１２は、要求Ａイン３３０を有効な状態に維持する。
【００４０】
時刻７１８において、Ｉ／Ｏノード３２６は、アービタ３２４から許可Ａ３２８が供給されると、要求Ａイン３３０を停止し、これに応じて、状態ロジック回路６１２は、要求Ａアウト３３４を停止する。時刻７２０において、Ｉ／Ｏノード３２６は、要求Ａイン３３０を再び出力する。しかしながら、この時刻７２０においては、Ｉｓｏ要求Ｂ３３６が生じているため、状態ロジック回路６１２は、要求Ａアウト３３４を出力しない状態に維持する。
【００４１】
そして、時刻７２２において、ネットワークインタフェース３１２は、アービタ３２４からの許可Ｂ３４４が供給された後、Ｉｓｏ要求Ｂ３３６を終了し、状態ロジック回路６１２は、以前に発せられた要求Ａイン３３０の状態に応じて、要求Ａアウト３３４を出力する。このように、図６に示す具体例においては、アービタフィルタ３３２の状態ロジック回路６１２は、Ｉ／Ｏバス３１４の制御を要求するＩ／Ｏ機器に対し、アービタ３２４が許可を与えるまで、そのＩ／Ｏ機器によるＩ／Ｏバス３１４の制御の割込を許可しない。
【００４２】
図８は、本発明に基づき、アイソクロノスデータ転送を行う処理の手順を示すフローチャートである。図８に示す具体例では、ネットワークインタフェース３１２により実行されるアイソクロノスデータ転送について説明する。なお、本発明は、このような具体例に限定されるわけではなく、Ｉ／Ｏバス３１４に接続されたいかなるアイソクロノスデータ転送対応デバイスにより実行されるアイソクロノスデータ転送に適用することができる。
【００４３】
図８に示す具体例において、まず、ステップ８１２において、ネットワークインタフェース３１２は、コンピュータ１１６によりアイソクロノスデータ転送が要求されているか否かを判定する。アイソクロノスデータ転送が要求されている場合、ステップ８１４において、ネットワークインタフェース３１２は、Ｉ／Ｏバス３１４の制御を獲得するために、これに応じてＩｓｏ要求Ｂ３３６をアービタフィルタ３３２に送る。ステップ８１６において、アービタフィルタ３３２は、Ｉ／Ｏバス３１４の制御を獲得するための要求（例えば、要求Ａイン３３０）が現在に衝突しているか否かを分析することにより、Ｉ／Ｏバス３１４が現在使用中であるか否かを判定する。
【００４４】
現在、要求が衝突していない場合、図８に示す処理は、ステップ８２０に進む。一方、このとき、Ｉ／Ｏバス３１４の制御を獲得するための１以上の要求が衝突している場合、ステップ８１８において、アービタフィルタ３３２は、他の衝突する要求をフィルタリングして除去し、これによりＩ／Ｏバス３１４の制御の優先順位を決定する。本発明では、Ｉ／Ｏバス３１４の制御に関する衝突する要求の優先順位を決定するに当たり、例えば図４〜図７を用いて説明した手法を含むいかなる適切な手法を用いてもよい。
【００４５】
アービタフィルタ３３２は、ステップ８１８において、上述したＩｓｏ要求Ｂ３３６に応じて、要求Ｂアウト３４２をアービタ３２４に供給する。次に、ステップ８２０において、アービタ３２４は、Ｉ／Ｏバス３１４の制御を許可する許可（許可Ｂ３４４）をネットワークインタフェース３１２に返す。次に、ステップ８２２において、コンピュータ１１６は、要求されたアイソクロノスデータ転送を行う。最後に、ステップ８２２において、アービタフィルタ３３２は、アービタ３２４に対し、Ｉ／Ｏバス３１４の制御を求める全ての要求の出力を再開し、図８に示す処理が終了する。
【００４６】
以上、本発明の好ましい実施の形態に基づいて本発明を説明した。上述の開示により、当業者は、この他の実施の形態を容易に想到することができる。例えば、本発明は、上述の好ましい実施の形態に開示した構成及び手法とは異なる構成及び手法を用いても実現することができる。さらに、本発明は、上述の好ましい実施の形態に示すシステムとは異なるシステムに対しても効果的に適用することができる。したがって、好ましい実施の形態に対するこれらの及びこの他の変形は、本発明の範囲内にあり、本発明の範囲は、添付の請求の範囲によってのみ定義される。
【図面の簡単な説明】
【図１】
本発明に基づく電子ネットワークの具体的な構成を示すブロック図である。
【図２】
本発明に基づくアイソクロノスデータ転送の具体例を示すタイミングチャートである。
【図３】
図１に示すコンピュータの構成を示すブロック図である。
【図４】
図１に示す本発明に基づくコンピュータの構成を示すブロック図である。
【図５】
図４に示す本発明に基づくアービタフィルタの具体的な構成を示すブロック図である。
【図６】
図４に示す本発明に基づくアービタフィルタの他の具体的な構成を示すブロック図である。
【図７】
本発明に基づくアイソクロノス要求シーケンスの具体例を示すタイミングチャートである。
【図８】
本発明に基づくアイソクロノスデータ転送を説明するためのフローチャートである。
【図１】
2004517374.tif 000003
【図２】
2004517374.tif 000004
【図３】
2004517374.tif 000005
【図４】
2004517374.tif 000006
【図５】
2004517374.tif 000007
【図６】
2004517374.tif 000008
【図７】
2004517374.tif 000009
【図８】
2004517374.tif 000010
【国際公開パンフレット】
2004517374.tif 000011
2004517374.tif 000012
2004517374.tif 000013
2004517374.tif 000014
2004517374.tif 000015
2004517374.tif 000016
2004517374.tif 000017
2004517374.tif 000018
2004517374.tif 000019
2004517374.tif 000020
2004517374.tif 000021
2004517374.tif 000022
2004517374.tif 000023
2004517374.tif 000024
2004517374.tif 000025
2004517374.tif 000026
2004517374.tif 000027
2004517374.tif 000028
2004517374.tif 000029
2004517374.tif 000030
2004517374.tif 000031
2004517374.tif 000032
2004517374.tif 000033
2004517374.tif 000034
2004517374.tif 000035
2004517374.tif 000036
2004517374.tif 000037
2004517374.tif 000038
2004517374.tif 000039
2004517374.tif 000040
2004517374.tif 000041
2004517374.tif 000042
2004517374.tif 000043
【国際調査報告】
2004517374.tif 000044
2004517374.tif 000045
2004517374.tif 000046