(57)【要約】【課題】  複数の独立したデータ転送を並行して処理する場合に、データ転送経路の競合を避けることによりデータ転送効率の向上を図る。【解決手段】  デバイスＡ，Ｂ，Ｃ，Ｄに各々上流側のスイッチ１Ａ〜１Ｄに接続される複数のエンドポイントＡ１〜Ａ４，Ｂ１〜Ｂ４，Ｃ１〜Ｃ４，Ｄ１〜Ｄ４を持たせ、動作モードに応じてアービタ２Ａ〜２Ｄによって使用するエンドポイントを調停することで、例えば経路７，８が有効となるように木構造を動的に変更でき、よって、複数の独立したデータ転送を並行して処理する場合でも、独立したデータ転送経路７，８の確保によりデータ転送経路の競合を避けることができ、データ転送効率の向上を図ることができるようにした。【選択図】    図１５
2005166029.tif 000002
【特許請求の範囲】
【請求項１】
木構造によるデータ通信網としてポイントツーポイントで送受信独立の通信チャネルが確立される高速シリアルインタフェースシステムを用いるデータ転送システムであって、
前記木構造における下流側に位置する各々のデバイスが、
前記木構造における上流側の複数のスイッチに接続される複数のエンドポイントと、
当該システムの動作モードに応じて使用するエンドポイントを調停するアービタと、
を有することを特徴とするデータ転送システム。
【請求項２】
前記高速シリアルインタフェースシステムがPCI Expressシステムである、ことを特徴とする請求項１記載のデータ転送システム。
【請求項３】
前記各アービタは、当該システム内で複数の独立したデータ転送を並行して処理する動作モードの場合に、前記スイッチを通るデータ転送経路に競合が生じないように、使用するエンドポイントを調停する、ことを特徴とする請求項１又は２記載のデータ転送システム。
【請求項４】
請求項１ないし３の何れか一記載のデータ転送システムは、前記デバイスを画像形成に関与するデバイスとすることを特徴とする画像形成システム。
【請求項５】
前記デバイスとして、少なくとも、画像入力用デバイスと画像出力用デバイスと画像処理用デバイスとストレージ用デバイスとを含む、ことを特徴とする請求項４記載の画像形成装置。
【請求項６】
木構造によるデータ通信網としてポイントツーポイントで送受信独立の通信チャネルが確立される高速シリアルインタフェースシステムを用い、前記高速シリアルインタフェースの前記木構造における下流側に位置する各々のデバイスが前記木構造における上流側の複数のスイッチに接続される複数のエンドポイントを有するデータ転送システムを利用するデータ転送方法であって、
当該システムの動作モードに応じて使用するエンドポイントを調停するようにした、
ことを特徴とするデータ転送方法。
【請求項７】
前記高速シリアルインタフェースシステムがPCI Expressシステムである、ことを特徴とする請求項６記載のデータ転送方法。
【請求項８】
当該システム内で複数の独立したデータ転送を並行して処理する動作モードの場合に、各エンドポイントにおいて前記スイッチを通るデータ転送経路に競合が生じないように、使用するエンドポイントを調停するようにした、ことを特徴とする請求項７記載のデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ転送システム、特に、各種画像データを扱い各種の処理を行う複合機（ＭＦＰ）等の画像形成システム及びデータ転送方法に関する。
【背景技術】
【０００２】
一般に、画像データその他のデータを扱う機器・システムでは、デバイス間のインタフェースにＰＣＩバスが使用されている。しかし、パラレル方式のＰＣＩバスでは、レーシングやスキューなどの問題があり、高速・高画質の画像機器に使用するには、転送レートが低い段階にきており、最近では、ＰＣＩバスのようなパラレル方式のインタフェースに代えて、高速シリアルインタフェースの使用が検討されている。従来、一般的に広く用いられているシリアルインタフェースとしてIEEE1394やUSB等の規格があるが、ＰＣＩと比較した場合は転送レートが不足しており、さらにスケーラブルなバス幅確保が困難等の不具合がある。このため、他の高速シリアルインタフェースとして、ＰＣＩバス方式の後継規格に当るPCI Express（登録商標）なるインタフェースの使用が検討されている。
【０００３】
このPCI Expressシステムは、詳細は後述するが、概略的には、例えば、非特許文献１中の図１等に示されるようなツリー構造（木構造）によるデータ通信網として構成されている。
【０００４】
その一例を単純化して図２３に示す。即ち、PCI Expressシステム２００は、管理するルートノード（ルートコンプレックス）２０１を頂点として、スイッチＳＷ１，ＳＷ２，ＳＷ３，…を介して複数のエンドノード（エンドポイント）Ａ，Ｂ，Ｃ，Ｄ，…をツリー構造に接続してなる。ここに、各スイッチＳＷ１，ＳＷ２，ＳＷ３，…は、上流ポート（ルートノード側）を１つ持ち、下流ポート（エンドノード側）を複数持つ構成とされ、スイッチＳＷ１，ＳＷ２，ＳＷ３，…以外のデバイスＡ，Ｂ，Ｃ，Ｄ，…は、何れも１つのみのポートを有しており、各デバイス間の通信経路は、ツリー構造によって一意に決まる構成とされている。
【０００５】
また、ノード間、スイッチ間の接続線は、予めデータ転送に必要な速度に応じた接続線で接続しておくが、この際、各接続線は、各々性能の異なるもの（例えば、バス幅を示すレーン数がｘ８，ｘ４．ｘ２等）を使用可能とされている。また、スイッチＳＷ１，ＳＷ２，ＳＷ３，…は、各ポートにプライオリティを設定することにより、複数のデータ転送を並行して処理する場合（競合が起きている際）に、転送速度を調整することができる。
【０００６】
【非特許文献１】“PCI Express 規格の概要”Interface誌、July’2003 里見尚志
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところが、このようなPCI Expressシステムを単純に利用した場合、通信経路が固定されているため、複数の独立したデータ転送を並行して処理する場合、データ転送経路の競合が生じ、転送効率が低下してしまう不都合がある。
【０００８】
例えば、図２３に示した例で説明すると、ルートノード２０１からエンドノードＡへの経路２０２とエンドノードＣからエンドノードＢへの経路２０３とで、２種類のデータ転送を同時に処理しようとする場合、図２３中に拡大して示すように、スイッチＳＷ１中のスイッチＳＷ２に対する下流ポートの競合が生じてしまう。よって、経路２０２のパケットと経路２０３のパケットとを交互に出力すると、転送レートが半分に落ち、転送効率が低下する。また、スイッチＳＷ１のアービトレーションにより、一方の経路２０２又は２０３を優先させることは可能であるが、他方の経路２０３又は２０２の転送効率はさらに低下してしまう。
【０００９】
図２３に示すような競合が生じないようにするためには、例えば、図２４に示すように、予めスイッチＳＷ２，ＳＷ２に対するエンドノードＡ，Ｂ，Ｃ，Ｄの接続を変えておけばよいが、別の並行処理動作において、経路２０２の処理と、エンドノードＣからエンドノードＤへの経路２０４の処理とを同時に処理しなければならない場合は、図２３の場合と同様の競合が生じ、転送レートが低下してしまい、本質的な改善とはならない。
【００１０】
このようなデータ転送レートの低下は、データ転送経路の競合時だけでなく、必要以上に多段のスイッチを経るデータ転送経路の場合も同様である。
【００１１】
本発明の目的は、複数の独立したデータ転送を並行して処理する場合のデータ転送経路の競合や、必要以上に多段のスイッチを経るデータ転送経路を避けることによりデータ転送効率の向上を図ることである。
【課題を解決するための手段】
【００１２】
請求項１記載の発明は、木構造によるデータ通信網としてポイントツーポイントで送受信独立の通信チャネルが確立される高速シリアルインタフェースシステムを用いるデータ転送システムであって、前記木構造における下流側に位置する各々のデバイスが、前記木構造における上流側の複数のスイッチに接続される複数のエンドポイントと、当該システムの動作モードに応じて使用するエンドポイントを調停するアービタと、を有する。
【００１３】
請求項２記載の発明は、請求項１記載のデータ転送システムにおいて、前記高速シリアルインタフェースシステムがPCI Expressシステムである。
【００１４】
請求項３記載の発明は、請求項１又は２記載のデータ転送システムにおいて、前記各アービタは、当該システム内で複数の独立したデータ転送を並行して処理する動作モードの場合に、前記スイッチを通るデータ転送経路に競合が生じないように、使用するエンドポイントを調停する。
【００１５】
請求項４記載の発明の画像形成システムは、請求項１ないし３の何れか一記載のデータ転送システムは、前記デバイスを画像形成に関与するデバイスとする。
【００１６】
請求項５記載の発明は、請求項４記載の画像形成装置において、前記デバイスとして、少なくとも、画像入力用デバイスと画像出力用デバイスと画像処理用デバイスとストレージ用デバイスとを含む。
【００１７】
請求項６記載の発明は、木構造によるデータ通信網としてポイントツーポイントで送受信独立の通信チャネルが確立される高速シリアルインタフェースシステムを用い、前記高速シリアルインタフェースの前記木構造における下流側に位置する各々のデバイスが前記木構造における上流側の複数のスイッチに接続される複数のエンドポイントを有するデータ転送システムを利用するデータ転送方法であって、当該システムの動作モードに応じて使用するエンドポイントを調停するようにした。
【００１８】
請求項７記載の発明は、請求項６記載のデータ転送方法において、前記高速シリアルインタフェースシステムがPCI Expressシステムである。
【００１９】
請求項８記載の発明は、請求項７記載のデータ転送方法において、当該システム内で複数の独立したデータ転送を並行して処理する動作モードの場合に、各エンドポイントにおいて前記スイッチを通るデータ転送経路に競合が生じないように、使用するエンドポイントを調停するようにした。
【発明の効果】
【００２０】
本発明によれば、各々のデバイスに各々スイッチに接続される複数のエンドポイントを持たせ、動作モードに応じて使用するエンドポイントを調停することにより、木構造を動的に変更することができ、よって、複数の独立したデータ転送を並行して処理する場合でも独立したデータ転送経路の確保によりデータ転送経路の競合を避け、或いは、必要以上に多段のスイッチを経るデータ転送経路を避けることができ、データ転送効率の向上を図ることができる。
【発明を実施するための最良の形態】
【００２１】
本発明を実施するための最良の形態について図面を参照して説明する。
【００２２】
［PCI Express規格の概要］
まず、本実施の形態は高速シリアルバスの一つであるPCI Express（登録商標）を利用するものであり、本実施の形態の前提として当該PCI Express規格の概要について、非特許文献１の一部抜粋により説明する。ここに、高速シリアルバスとは、１本の伝送路を用いてシリアル（直列）伝送により高速（１００Ｍｂｐｓ程度以上）にデータをやり取りすることができるインタフェースを意味する。
【００２３】
PCI Expressは、PCIの後継規格としてコンピュータ全般に通用する標準拡張バスとして規格化されたバスであり、概略的には、低電圧差動信号伝送、ポイントツーポイントで送受信独立の通信チャネル、パケット化されたスプリットトランザクション、リンク構成の違いによる高いスケーラビリティなどの特徴を持つ。
【００２４】
図１に既存のPCIシステム、図２にPCI Expressシステムの各々の構成例を示す。既存のPCIシステムにあっては、ＣＰＵ１００やＡＧＰグラフィックス１０１やメモリ１０２が接続されたホストブリッジ１０３に対して、PCI-X（PCIの上位互換規格）デバイス１０４ａ，１０４ｂがPCI-Xブリッジ１０５ａを介して接続されたり、PCIデバイス１０４ｃ，１０４ｄが接続されたPCIブリッジ１０５ｂやPCIバススロット１０６が接続されたPCIブリッジ１０７がPCIブリッジ１０５ｃを介して接続されたりしたツリー構造（木構造）とされている。
【００２５】
これに対して、PCI Expressシステムにあっては、ＣＰＵ１１０やメモリ１１１が接続されたルートコンプレックス１１２に対して、PCI Expressグラフィックス１１３がPCI Express１１４ａにより接続され、また、エンドポイント１１５ａやレガシーエンドポイント１１６ａがPCI Express１１４ｂにより接続されたスイッチ１１７ａがPCI Express１１４ｃにより接続され、さらには、エンドポイント１１５ｂやレガシーエンドポイント１１６ｂがPCI Express１１４ｄにより接続されたスイッチ１１７ｂやPCIバススロット１１８が接続されたPCIブリッジ１１９がPCI Express１１４ｅにより接続されたスイッチ１１７ｃがPCI Express１１４ｆにより接続されたツリー構造（木構造）とされている。
【００２６】
実際に想定されるPCI Expressプラットホーム例を図３に示す。図示例は、デスクトップ／モバイルへの適用例を示し、ＣＰＵ１２１がＣＰＵホストバス１２２により接続され、メモリ１２３が接続されたメモリハブ１２４（ルートコンプレックスに相当する）に対して、例えば、グラフィックス１２５がｘ１６のPCI Express１２６ａにより接続され、また、変換機能を有するＩ／Ｏハブ１２７がPCI Express１２６ｂにより接続されている。このＩ／Ｏハブ１２７には、例えば、Serial ATA１２８によりストレージ１２９が接続され、LPC１３０によりローカルＩ／Ｏ１３１が接続され、USB 2.0１３２やPCIバススロット１３３が接続されている。さらには、Ｉ／Ｏハブ１２７には、PCI Express１２６ｃによりスイッチ１３４が接続され、このスイッチ１３４には、各々、PCI Express１２６ｄ，１２６ｅ，１２６ｆによりモバイルドック１３５、ギガビットイーサネット（イーサネットは登録商標）１３６、アドインカード１３７が接続されている。
【００２７】
即ち、PCI Expressシステムでは、従来のPCI，PCI-X，AGPといったバスがPCI Expressで置き換わり、既存のPCI／PCI-Xデバイスを接続するためにブリッジが使用される。チップセット間の接続もPCI Express接続となり、IEEE1394，Serial ATA，USB 2.0などの既存のバスはＩ／ＯハブによりPCI Expressに接続される。
【００２８】
［PCI Expressの構成要素］
Ａ．ポート（Port）／レーン（Lane）／リンク（Link）
図４に物理層の構造を示す。ポートは、物理的には同一半導体内にあり、リンクを形成するトランスミッタ／レシーバの集合で、論理的にはコンポーネント間を１対１で接続（ポイント・ツー・ポイント）するインタフェースを意味する。転送レートは、例えば片方向２．５Ｇｂｐｓとされている。レーンは、例えば０．８Ｖの差動信号ペアのセットで、送信側の信号ペア（２本）、受信側の信号ペア（２本）からなる。リンクは、２つのポートとその間を結ぶレーンの集まりであり、コンポーネント間のデュアルシンプレックス通信バスである。「ｘＮリンク」はＮ本のレーンから構成され、現在の規格では、Ｎ＝１，２，４，８，１６，３２が定義されている。図示例は、ｘ４リンク例である。例えば、図５に示すように、デバイスＡ，Ｂ間を結ぶこのレーン幅Ｎを可変することにより、スケーラブルなバンド幅を構成することが可能となる。
【００２９】
Ｂ．ルートコンプレックス（Root Complex）
ルートコンプレックス１１２は、Ｉ／Ｏ構造の最上位に位置し、ＣＰＵやメモリサブシステムをＩ／Ｏに接続する。ブロック図などでは、図３に示すように、「メモリハブ」と記述されることが多い。ルートコンプレックス１１２（又は、１２４）は、１つ以上のPCI Expressポート（ルートポート）（図２中では、ルートコンプレックス１１２中の四角で示す）を持ち、各々のポートは独立したＩ／Ｏ階層ドメインを形成する。Ｉ／Ｏ階層ドメインは、単純なエンドポイントである場合（例えば、図２中のエンドポイント１１５ａ側の例）や、多数のスイッチやエンドポイントから形成される場合（例えば、図２中のエンドポイント１１５ｂやスイッチ１１７ｂ，１１５ｃ側の例）がある。
【００３０】
Ｃ．エンドポイント（End Point）
エンドポイント１１５は、タイプ００ｈのコンフィグレーション空間ヘッダを持つデバイス（具体的には、ブリッジ以外のデバイス）で、レガシーエンドポイントとPCI Expressエンドポイントとに分けられる。両者の大きな違いは、PCI ExpressエンドポイントはＢＡＲ（ベースアドレスレジスタ）で基本的にＩ／Ｏポートリソースを要求せず、このためＩ／Ｏリクエストを要求しない。また、PCI Expressエンドポイントは、ロックリクエストもサポートしていない。
【００３１】
Ｄ．スイッチ（Switch）
スイッチ１１７（又は、１３４）は、２つ以上のポートを結合し、ポート間でのパケットルーティングを行う。コンフィグレーションソフトウェアからは、当該スイッチは、図６に示すように、仮想PCI-PCIブリッジ１４１の集合体として認識される。図中、両矢印はPCI Expressリンク１１４（又は、１２６）を示し、１４２ａ〜１４２ｄはポートを示す。このうち、ポート１４２ａはルートコンプレックスに近い方のアップストリームポートであり、ポート１４２ｂ〜１４２ｄはルートコンプレックスから遠い方のダウンストリームポートである。
【００３２】
Ｅ．PCI Express１１４ｅ−PCIブリッジ１１７
PCI ExpressからPCI／PCI-Xへの接続を提供する。これにより、既存のPCI／PCI-XデバイスをPCI Expressシステム上で使用することができる。
【００３３】
［階層アーキテクチャ］
従来のＰＣＩのアーキテクチャは、図７（ａ）に示すように、プロトコルとシグナリングが密接に関連する構造であり階層という考え方はなかったが、PCI Expressでは、図７（ｂ）に示すように、一般的な通信プロトコルやInfiniBandのように、独立した階層構造とされ、各層に分けて仕様が定義されている。即ち、最上位のソフトウェア１５１、最下位の機構（メカニカル）部１５２間に、トランザクション層１５３、データリンク層１５４、物理層１５５を持つ構造とされている。これにより、各層のモジュール性が確保され、スケーラビリティを持たせることやモジュールの再利用が可能となる。例えば、新たな信号コーディング方式や伝送媒体を採用する場合、物理層を変更するだけでデータリンク層やトランザクション層は変更せずに対応できる。
【００３４】
PCI Expressのアーキテクチャの中心となるのは、トランザクション層１５３、データリンク層１５４、物理層１５５であり、各々図８を参照して説明する以下のような役割を持つ。
【００３５】
Ａ．トランザクション層１５３
トランザクション層１５３は、最上位に位置し、トランザクションレイヤパケット（ＴＬＰ）の組み立て、分解機能を持つ。トランザクションレイヤパケット（ＴＬＰ）は、リード／ライト、各種イベントといったトランザクションの伝達に用いられる。また、トランザクション層１５３は、トランザクションレイヤパケット（ＴＬＰ）のためのクレジットを用いたフロー制御を行う。各層１５３〜１５５におけるトランザクションレイヤパケット（ＴＬＰ）の概要を図９に示す（詳細は、後述する）。
【００３６】
Ｂ．データリンク層１５４
データリンク層１５４の主な役割は、エラー検出／訂正（再送）によりトランザクションレイヤパケット（ＴＬＰ）のデータ完全性を保証することと、リンク管理である。データリンク層１５４間では、リンク管理やフロー制御のためのパケットのやり取りを行う。このパケットは、トランザクションレイヤパケット（ＴＬＰ）と区別するために、データリンクレイヤパケット（ＤＬＬＰ）と呼ばれる。
【００３７】
Ｃ．物理層１５５
物理層１５５は、ドライバ、入力バッファ、パラレル−シリアル／シリアル−パラレル変換器、ＰＬＬ、インピーダンス整合回路といったインタフェース動作に必要な回路を含んでいる。また、論理的な機能としてインタフェースの初期化・保守の機能を持つ。物理層１５５は、データリンク層１５４／トランザクション層１５３を実際のリンクで使用される信号技術から独立させる役目も持っている。
【００３８】
なお、PCI Expressのハードウェア構成上、エンベデッド・クロックという技術を採用しており、クロック信号はなく、クロックのタイミングはデータ信号中に埋め込まれており、受信側でデータ信号のクロスポイントを基にクロックを抽出する方式とされている。
【００３９】
［コンフィグレーション空間］
PCI Expressは、従来のPCIと同様にコンフィグレーション空間を持つが、その大きさは従来のPCIが２５６バイトであるのに対して、図１０に示すように、４０９６バイトへと拡張されている。これにより、多数のデバイス固有レジスタセットを必要とするデバイス（ホストブリッジなど）に対しても、将来的に十分な空間が確保されている。PCI Expressでは、コンフィグレーション空間へのアクセスは、フラットなメモリ空間へのアクセス（コンフィグレーションリード／ライト）で行われ、バス／デバイス／機能／レジスタ番号はメモリアドレスにマップされている。
【００４０】
当該空間の先頭２５６バイトは、PCIコンフィグレーション空間として、ＢＩＯＳや従来のＯＳからＩ／Ｏポートを使用した方法でもアクセスできる。従来のアクセスをPCI Expressでのアクセスに変換する機能は、ホストブリッジ上に実装される。００ｈから３ＦｈまではPCI2.3互換のコンフィグレーションヘッダとなっている。これにより、PCI Expressで拡張された機能以外であれば、従来のＯＳやソフトウェアをそのまま使用することができる。即ち、PCI Expressにおけるソフトウェア層は、既存のPCIと互換性を保ったロード・ストア・アーキテクチャ（プロセッサが直接Ｉ／Ｏレジスタをアクセスする方式）を継承している。しかし、PCI Expressで拡張された機能（例えば、同期転送やＲＡＳ（Reliability,Availability and Serviceability）などの機能）を使用するには、４ＫバイトのPCI Express拡張空間にアクセスできるようにする必要がある。
【００４１】
なお、PCI Expressとしては様々なフォームファクタ（形状）が考えられるが、具体化している例としては、アドインカード、プラグインカード（Express Card）、Mini PCI Expressなどがある。
【００４２】
［PCI Express のアーキテクチャの詳細］
PCI Express のアーキテクチャの中心となっているトランザクション層１５３、データリンク層１５４、物理層１５５について、各々詳細に説明する。
【００４３】
Ａ．トランザクション層１５３
トランザクション層１５３の主な役割は、前述したように、上位のソフトウェア層１５１と下位のデータリンク層１５４との間でトランザクションレイヤパケット（ＴＬＰ）の組み立てと分解を行うことである。
【００４４】
ａ．アドレス空間とトランザクションタイプ
PCI Expressでは、従来のPCIでサポートされていたメモリ空間（メモリ空間とのデータ転送用）、Ｉ／Ｏ空間（Ｉ／Ｏ空間とのデータ転送用）、コンフィグレーション空間（デバイスのコンフィグレーションとセットアップ用）に加えて、メッセージ空間（PCI Expressデバイス間のインバンドでのイベント通知や一般的なメッセージ送信（交換）用…割り込み要求や確認は、メッセージを「仮想ワイヤ」として使用することにより伝達される）が追加され、４つのアドレス空間が定義されている。各々の空間に対してトランザクションタイプが定義されている（メモリ空間、Ｉ／Ｏ空間、コンフィグレーション空間は、リード／ライト、メッセージ空間は基本（ベンダ定義含む））。
【００４５】
ｂ．トランザクションレイヤパケット（ＴＬＰ）
PCI Expressは、パケット単位で通信を行う。図９に示したトランザクションレイヤパケット（ＴＬＰ）のフォーマットにおいて、ヘッダのヘッダ長は３ＤＷ（ＤＷはダブルワードの略；合計１２バイト）又は４ＤＷ（１６バイト）で、トランザクションレイヤパケット（ＴＬＰ）のフォーマット（ヘッダ長とペイロードの有無）、トランザクションタイプ、トラフィッククラス（ＴＣ）、アトリビュートやペイロード長などの情報が含まれる。パケット内の最大ペイロード長は１０２４ＤＷ（４０９６バイト）である。
【００４６】
ＥＣＲＣは、エンドツーエンドのデータ完全性を保証するためのもので、トランザクションレイヤパケット（ＴＬＰ）部分の３２ビットＣＲＣである。これは、スイッチ内部などでトランザクションレイヤパケット（ＴＬＰ）にエラーが発生した場合、ＬＣＲＣ（リンクＣＲＣ）ではエラーを検出できないためである（エラーとなったＴＬＰでＬＣＲＣが再計算されるため）。
【００４７】
リクエストは、完了パケットが不要なものと必要なものとがある。
【００４８】
ｃ．トラフィッククラス（ＴＣ）と仮想チャネル（ＶＣ）
上位のソフトウェアは、トラフィッククラス（ＴＣ）を使用することによりトラフィックの差別化（優先度をつける）を行うことができる。例えば、映像データをネットワークのデータよりも優先して転送する、といったことが可能となる。トラフィッククラス（ＴＣ）はＴＣ０からＴＣ７まで８つある。
【００４９】
仮想チャネル（ＶＣ：Vertual Channel）は、各々独立した仮想通信バス（同一のリンクを共用する複数の独立したデータ・フロー・バッファを使用するメカニズム）で、各々がリソース（バッファやキュー）を持ち、図１１に示すように、独立したフロー制御を行う。これにより、１つの仮想チャネルのバッファが満杯の状態（full）になっても、他の仮想チャネルの転送を行うことができる。つまり、物理的には１つのリンクを仮想的な複数のチャネルに分けることで、有効に使用することができる。例えば、図１１中に示すように、スイッチを経由してルートのリンクが複数のデバイスに分かれる場合、各デバイスのトラフィックの優先度を制御することができる。ＶＣ０は必須で、コストパフォーマンスのトレードオフに応じてその他の仮想チャネル（ＶＣ１〜ＶＣ７）が実装される。図１１中の実線矢印は、デフォルト仮想チャネル（ＶＣ０）を示し、破線矢印はその他の仮想チャネル（ＶＣ１〜ＶＣ７）を示している。
【００５０】
トランザクション層内では、トラフィッククラス（ＴＣ）が仮想チャネル（ＶＣ）にマッピングされる。１つの仮想チャネル（ＶＣ）に対して１つ又は複数のトラフィッククラス（ＴＣ）をマッピングできる（仮想チャネル（ＶＣ）の数が少ない場合）。単純な例では、各トラフィッククラス（ＴＣ）から各仮想チャネル（ＶＣ）に１対１、全てのトラフィッククラス（ＴＣ）を仮想チャネルＶＣ０にマッピングする、といったことが考えられる。ＴＣ０−ＶＣ０のマッピングは、必須／固定で、それ以外のマッピングは上位のソフトウェアから制御される。ソフトウェアはトラフィッククラス（ＴＣ）を利用することで、トランザクションの優先度を制御することが可能となる。
【００５１】
ｄ．フロー制御
受信バッファのオーバフローを避け、伝送順序を確立するためにフロー制御（ＦＣ：Flow Control）が行われる。フロー制御は、リンク間のポイントツーポイントで行われ、エンドツーエンドではない。従って、フロー制御により最終的な相手（コンプリータ）にパケットが届いたことを確認することはできない。
【００５２】
PCI Expressのフロー制御は、クレジット・ベースで行われる（データ転送を始める前に、受け取り側のバッファの空き状況を確認し、オーバフロー、アンダフローが発生しないメカニズム）。即ち、受信側はリンク初期化時にバッファ容量（クレジット値）を送信側に通知し、送信側はクレジット値と送信するパケットの長さとを比較し、一定の残りがある場合のみパケットを送信する。このクレジットには6種類ある。
【００５３】
フロー制御の情報交換はデータリンク層のデータリンクレイヤパケット（ＤＬＬＰ）を使用して行われる。フロー制御はトランザクションレイヤパケット（ＴＬＰ）のみに適用され、データリンクレイヤパケット（ＤＬＬＰ）には適用されない（ＤＬＬＰは常時送受信可能）。
【００５４】
Ｂ．データリンク層１５４
データリンク層１５４の主な役割は、前述したように、リンク上の２つのコンポーネント間での信頼性の高いトランザクションレイヤパケット（ＴＬＰ）交換機能を提供することである。
【００５５】
ａ．トランザクションレイヤパケット（ＴＬＰ）の扱い
トランザクション層１５３から受け取ったトランザクションレイヤパケット（ＴＬＰ）に対しては、先頭に２バイトのシーケンス番号、末尾に４バイトのリンクＣＲＣ（ＬＣＲＣ）を付加して、物理層１５５に渡す（図９参照）。トランザクションレイヤパケット（ＴＬＰ）は、リトライバッファに保管され、相手から受信確認（ＡＣＫ）が届くまで再送される。トランザクションレイヤパケット（ＴＬＰ）の送信に失敗が続いた場合は、リンク異常であると判断して物理層１５５に対してリンクの再トレーニングを要求する。リンクのトレーニングが失敗した場合、データリンク層１５４の状態はインアクティブに遷移する。
【００５６】
物理層１５５から受け取ったトランザクションレイヤパケット（ＴＬＰ）は、シーケンス番号とリンクＣＲＣ（ＬＣＲＣ）が検査され、正常であればトランザクション層１５３に渡され、エラーがあった場合は再送を要求する。
【００５７】
ｂ．データリンクレイヤパケット（ＤＬＬＰ）
データリンク層１５４が生成するパケットは、データリンクレイヤパケット（ＤＬＬＰ）と呼ばれ、データリンク層１５４間でやり取りされる。データリンクレイヤパケット（ＤＬＬＰ）には、
・Ack／Nak：ＴＬＰの受信確認、リトライ（再送）
・InitFC1／InitFC2／UpdateFC：フロー制御の初期化とアップデート
・電源管理のためのＤＬＬＰ
なる種類がある。
【００５８】
図１２に示すように、データリンクレイヤパケット（ＤＬＬＰ）の長さは６バイトで、種類を示すＤＬＬＰタイプ（１バイト）、ＤＬＬＰの種類で固有の情報（３バイト）、ＣＲＣ（２バイト）から構成される。
【００５９】
Ｃ．物理層−論理サブブロック１５６
図８中に示す物理層１５５の論理サブブロック１５６での主な役割は、データリンク層１５４から受け取ったパケットを電気サブブロック１５７で送信できる形式に変換することである。また、物理層１５５を制御／管理する機能も有する。
【００６０】
ａ．データ符号化とパラレル−シリアル変換
PCI Expressは、連続した“０”や“１”が続かないように（長い期間、クロス・ポイントが存在しない状態が続かないようにするため）、データ符号化に８Ｂ／１０Ｂ変換を用いる。変換されたデータは、図１３中に示すように、シリアル変換され、ＬＳＢからレーン上に送信される。ここに、レーンが複数ある場合は（図１３はｘ４リンクの場合を例示している）、符号化の前にデータがバイト単位で各レーンに割り振られる。この場合、一見パラレル・バスのようにみえるが、レーン毎に独立した転送を行うので、パラレル・バスで問題となるスキューが大幅に緩和される。
【００６１】
ｂ．電源管理とリンクステート
リンクの消費電力を低く抑えるために、表１に示すように、Ｌ０／Ｌ０ｓ／Ｌ１／Ｌ２というリンクステートが定義されている。
【００６２】
【表１】
2005166029.tif 000003
【００６３】
Ｌ０が通常モードで、Ｌ０ｓからＬ２へと低消費電力となるが、Ｌ０への復帰にも時間がかかるようになる。図１４に示すように、ソフトウェアによる電源管理に加えて、アクティブステート電源管理を積極的に行うことにより、消費電力を極力小さくすることが可能となる。
【００６４】
Ｄ．物理層−電気サブブロック１５７
物理層１５５の電気サブブロック１５７での主な役割は、論理サブブロック１５６でシリアル化されたデータをレーン上に送信することと、レーン上のデータを受信して論理サブブロック１５６に渡すことである。
【００６５】
ａ．ＡＣカップリング
リンクの送信側では、ＡＣカップリング用のコンデンサが実装される。これにより、送信側と受信側のＤＣコモンモード電圧が同一である必要がなくなる。このため、送信側と受信側で異なる設計、半導体プロセス、電源電圧を使用することが可能となる。
【００６６】
ｂ．デエンファシス
PCI Expressでは、前述したように、８Ｂ／１０Ｂエンコーディングによってできるだけ連続した“０”や“１”が続かないように処理されるが、連続した“０”や“１”が続くこともある（最大５回）。この場合、送信側はデエンファシス転送を行わなければならないことが規定されている。同一極性のビットが連続する場合は、２つ目のビットからは差動電圧レベル（振幅）を３．５±０．５ｄＢ落とすことで、受信側で受け取る信号のノイズ・マージンを稼ぐ必要がある。これを、デエンファシスという。伝送路の周波数依存性減衰のため、変化するビットの場合は高周波成分が多く、減衰により受信側の波形が小さくなるが、変化しないビットの場合は高周波成分が少なく、相対的に受信側の波形が大きくなる。このため、受信側での波形を一定とするためにデエンファシスを行う。
【００６７】
［データ転送システム；画像形成システム］
本実施の形態のデータ転送システムは、前述したようなPCI Expressシステムを利用する上で、特に、その木構造について改良を加えて利用するようにしたものである。
【００６８】
図１５は、本実施の形態のデータ転送システムにおける木構造例を示す原理的な模式図である。前述のPCI Expressシステムの仕様によれば、その木構造の下流側（末端側）に位置する各種デバイスは各々１つのエンドポイントを持つ構成とされているが、本実施の形態では、各々のデバイスＡ，Ｂ，Ｃ，Ｄ，…について複数のエンドポイントＡ１，Ａ２，…，Ａ４，Ｂ１，…，Ｂ４，Ｃ１，…，Ｃ４，Ｄ１，…，Ｄ４，…を持たせて各々上流側のスイッチ１Ａ，１Ｂ，１Ｃ，１Ｄの下流側ポートに接続するとともに、各デバイスＡ，Ｂ，Ｃ，Ｄ，…に、当該画像形成システムの動作モードに応じて使用するエンドポイントを調停するアービタ２Ａ，２Ｂ，２Ｃ，２Ｄ，…を持たせるようにしたものである。
【００６９】
従って、本実施の形態の画像形成システムの木構造においては、全体を管理するルートコンプレックス３を頂点として、このルートコンプレックス３中に含まれる最上流のスイッチ４、中流に位置する複数のスイッチ１Ａ，１Ｂ，１Ｃ，１Ｄ，…を介して下流に複数のデバイスＡ，Ｂ，Ｃ，Ｄ，…が接続された木構造であるが、各々のデバイスＡ，Ｂ，Ｃ，Ｄ，…が各々複数のエンドポイントを有するため、例えば、デバイスＡにあっては各々のエンドポイントＡ１，Ａ２，Ａ３，Ａ４によりスイッチ１Ａ，１Ｂ，１Ｃ，１Ｄの下流側ポートに接続された４つのデータ転送経路を有する。同様に、デバイスＢにあっては各々のエンドポイントＢ１，Ｂ２，Ｂ３，Ｂ４によりスイッチ１Ａ，１Ｂ，１Ｃ，１Ｄの下流側ポートに接続された４つのデータ転送経路を有し、デバイスＣにあっては各々のエンドポイントＣ１，Ｃ２，Ｃ３，Ｃ４によりスイッチ１Ａ，１Ｂ，１Ｃ，１Ｄの下流側ポートに接続された４つのデータ転送経路を有し、デバイスＤにあっては各々のエンドポイントＤ１，Ｄ２，Ｄ３，Ｄ４によりスイッチ１Ａ，１Ｂ，１Ｃ，１Ｄの下流側ポートに接続された４つのデータ転送経路を有する。
【００７０】
また、本実施の形態では、スイッチ４とスイッチ１Ａ〜１Ｄとの間のデータ転送幅はｘ４リンク幅とされ、各スイッチ１Ａ〜１Ｄと各デバイスＡ〜Ｄの各エンドポイントとの間のデータ転送幅はｘ１リンク幅とされている。
【００７１】
このような構成において、当該データ転送システム内で複数の独立したデータ転送を並行して処理する動作モードの場合に、スイッチ１を通るデータ転送経路に競合が生じないように、各デバイスＡ〜Ｄのアービタ２Ａ〜２Ｄは使用するエンドポイントを調停する。
【００７２】
例えば、デバイスＡからの画像データをデバイスＢで処理してデバイスＣにデータ転送する処理と並行して、デバイスＡからの画像データをデバイスＤで出力するデータ転送処理を同時に行う場合には、アービタ２ＡはデバイスＡにおいてスイッチ１Ａに対するエンドポイントＡ１、スイッチ１Ｃに対するエンドポイントＡ３を使用し、アービタ２ＢはデバイスＢにおいてスイッチ１Ａ，１Ｂに対するエンドポイントＢ１，Ｂ２を使用し、アービタ２Ｃはスイッチ１Ｂに対するエンドポイントＣ２を使用し、アービタ２Ｄはスイッチ１Ｃに対するエンドポイントＤ３を使用するように各々のエンドポイントを調停する。
【００７３】
これにより、デバイスＡ（エンドポイントＡ１）−スイッチ１Ａ−デバイスＢ（エンドポイントＢ１，Ｂ２）−スイッチ１Ｂ−デバイスＣ（エンドポイントＣ２）のｘ１リンクの経路７と、デバイスＡ（エンドポイントＡ３）−スイッチ１Ｃ−デバイスＤ（エンドポイントＤ３）のｘ１リンクの経路８とが確保される。
【００７４】
このように動作モードに応じて各デバイスＡ〜Ｄについて使用するエンドポイントを調停することにより、木構造を動的に変更することができ、よって、複数の独立したデータ転送を並行して処理する場合でも、独立したデータ転送経路の確保によりデータ転送経路の競合を避けることができ、データ転送効率の向上を図ることができる。
【００７５】
本実施の形態のようなデータ転送システムの好適例としては、図１６に示すような画像形成システムを挙げることができる。当該画像形成システムは、例えば、デバイスＡは原稿画像を光電変換して読み取るスキャナエンジン等による画像入力用デバイス、デバイスＢは画像データに対して変倍、回転等の各種画像処理を施す画像処理用デバイス、デバイスＣは画像データを保存するメモリ、ＨＤＤ等のストレージ用デバイス、デバイスＤは画像データ等に基づき用紙に印刷出力するプリンタエンジン等による画像出力用デバイスとされ、少なくともこれらのデバイスを含む構成とされている。また、ルートコンプレックス３は画像形成システムにあっては、コントローラとして構成され、ホストＣＰＵ５やメモリ６に接続されている。
【００７６】
このような構成において、例えば、デバイスＡで読み込んだ画像データをデバイスＢで画像処理してデバイスＣに保存するデータ転送処理と並行して、デバイスＡで読み込んだ画像データをデバイスＤで印刷出力するデータ転送処理を同時に行う場合には、アービタ２ＡはデバイスＡにおいてスイッチ１Ａに対するエンドポイントＡ１、スイッチ１Ｃに対するエンドポイントＡ３を使用し、アービタ２ＢはデバイスＢにおいてスイッチ１Ａ，１Ｂに対するエンドポイントＢ１，Ｂ２を使用し、アービタ２Ｃはスイッチ１Ｂに対するエンドポイントＣ２を使用し、アービタ２Ｄはスイッチ１Ｃに対するエンドポイントＤ３を使用するように各々のエンドポイントを調停する。
【００７７】
これにより、デバイスＡ（エンドポイントＡ１）−スイッチ１Ａ−デバイスＢ（エンドポイントＢ１，Ｂ２）−スイッチ１Ｂ−デバイスＣ（エンドポイントＣ２）のｘ１リンクの経路７と、デバイスＡ（エンドポイントＡ３）−スイッチ１Ｃ−デバイスＤ（エンドポイントＤ３）のｘ１リンクの経路８とが確保される。よって、デバイスＡ，Ｂ，Ｃ間でｘ１リンクにより読み込み画像データの画像処理〜メモリ保存用のデータ転送を行えると同時に、デバイスＡ，Ｄ間ではデバイスＡ，Ｂ，Ｃ間のデータ転送に邪魔されることなく、ｘ１リンクをフルに活用したコピー用のデータ転送が可能となる。
【００７８】
このように動作モードに応じて各デバイスＡ〜Ｄについて使用するエンドポイントを調停することにより、木構造を動的に変更することができ、よって、複数の独立したデータ転送を並行して処理する場合でも、独立したデータ転送経路の確保によりデータ転送経路の競合を避けることができ、データ転送効率の向上を図ることができる。
【００７９】
［経路情報の管理］
ところで、上述したような各デバイスＡ〜Ｄのアービタ２Ａ〜２ＤによるエンドポイントＡ１〜Ａ４，…，Ｄ１〜Ｄ４の調停（他のデバイスへアクセスする際に使用するエンドポイントの決定）は、ホストＣＰＵ５により各々のデバイスＡ〜Ｄ中に書き込み設定された経路情報を参照することにより実行されるものであり、このような経路情報の設定は、主に、ホストＣＰＵ５にインストールされたデータ転送用プログラムに従い実行される。
【００８０】
そこで、このような経路情報の管理方法の一例について説明する。この例では、その前提として、各々のデバイスＡ〜Ｄが、自己の持つデバイス機能に関する情報はもちろん、エンドポイントに関する情報（例えば、エンドポイントの数…図示例では４つ、エンドポイント毎のレーン数…図示例ではｘ１、接続先…例えば、エンドポイントＡ１であればスイッチ１Ａの下流ポートなど）が、ホストＣＰＵ５からアクセス可能にメモリ領域に保持されているものとする（情報保持手段）。
【００８１】
このような前提の下では、ホストＣＰＵ５はデータ転送用プログラム、即ち、図１７に概略的に示すようなフローチャートに従い、処理制御を実行する。即ち、当該ホストＣＰＵ５は、当該システム内のデバイス接続状態、各々のデバイスから取得される各デバイス機能に関する情報、エンドポイントに関する情報に基づきツリー構造中で最適となるデバイス間の経路を決定する決定手段と、各デバイスに決定された当該経路情報を書き込み設定する設定手段とを有し、各デバイスのアービタ２は、設定手段により設定された経路情報を参照して他のデバイスに対するアクセスに際して使用するエンドポイントを調停するように構成されている。
【００８２】
まず、当該データ転送システム（画像形成システム）内のデバイスＡ〜Ｄの接続状態を確認するとともに（ステップＳ１）、接続されている各々のデバイスＡ〜Ｄにアクセスして各々のデバイスＡ〜Ｄの機能に関する情報やエンドポイントに関する情報を取得する（Ｓ２）。また、行おうとしている動作モードに関する情報も取得し、デバイス接続状態、デバイス機能情報、エンドポイントに関する情報に基づき当該木構造中で最適となるデバイスＡ〜Ｄ間の経路を決定する（Ｓ３）。ここに、「最適となるデバイス間の経路」とは、複数の経路間で競合を生じないようにスイッチを選択（複数の経路間で重なりを生じない）することを意味し、例えば、図１５中で示したような経路７，８のような経路である。このステップＳ３の処理が決定手段、決定機能として実行される。
【００８３】
このステップＳ３で決定された各デバイスＡ〜Ｄ毎の経路情報は、各々対応するデバイスＡ〜Ｄ中に書き込み設定される（Ｓ４）。このステップＳ４の処理が設定手段、設定機能として実行される。
【００８４】
この後は、各デバイスＡ〜Ｄのアービタ２Ａ〜２ＤによるエンドポイントＡ１〜Ａ４，…，Ｄ１〜Ｄ４の調停は、ホストＣＰＵ５により各々のデバイスＡ〜Ｄ中に書き込み設定された当該経路情報を参照することにより実行される。例えば、アービタ２ＡによりエンドポイントＡ１，Ａ３を使用するように調停される。
【００８５】
一方、このような経路情報の管理方法の他例について説明する。この例では、その前提として、各々のデバイスＡ〜Ｄに関して、各々が持つデバイス機能に関する情報はもちろん、エンドポイントに関する情報（例えば、エンドポイントの数…図示例では４つ、エンドポイント毎のレーン数…図示例ではｘ１、接続先…例えば、エンドポイントＡ１であればスイッチ１Ａの下流ポートなど）を、ホストＣＰＵ５で直接的に管理するようにしたものである（情報管理手段）。即ち、当該システムを管理するホストＣＰＵ５は、各デバイスの持つデバイス機能に関する情報、エンドポイントに関する情報を管理する情報管理手段と、当該システム内のデバイス接続状態、情報管理手段により管理される各デバイス機能に関する情報、エンドポイントに関する情報に基づきツリー構造中で最適となるデバイス間の経路を決定する決定手段と、各デバイスに決定された当該経路情報を書き込み設定する設定手段とを有し、各デバイスのアービタ２は、設定手段により設定された経路情報を参照して他のデバイスに対するアクセスに際して使用するエンドポイントを調停するように構成されている。
【００８６】
このような前提の下では、ホストＣＰＵ５はデータ転送用プログラムに従い、図１８に概略的に示すようなフローチャートに従い、処理制御を実行する。まず、当該データ転送システム（画像形成システム）内のデバイスＡ〜Ｄの接続状態を確認するとともに（ステップＳ１１）、管理している各々のデバイスＡ〜Ｄの機能に関する情報やエンドポイントに関する情報を取得し（Ｓ１２）、かつ、行おうとしている動作モードに関する情報も取得し、デバイス接続状態、デバイス機能情報、エンドポイントに関する情報に基づき当該木構造中で最適となるデバイスＡ〜Ｄ間の経路を決定する（Ｓ１３）。このステップＳ１３の処理が決定手段、決定機能として実行される。このステップＳ１３で決定された各デバイスＡ〜Ｄ毎の経路情報は、各々対応するデバイスＡ〜Ｄ中に書き込み設定される（Ｓ１４）。このステップＳ１４の処理が設定手段、設定機能として実行される。
【００８７】
この後は、各デバイスＡ〜Ｄのアービタ２Ａ〜２ＤによるエンドポイントＡ１〜Ａ４，…，Ｄ１〜Ｄ４の調停は、ホストＣＰＵ５により各々のデバイスＡ〜Ｄ中に書き込み設定された当該経路情報を参照することにより実行される。例えば、アービタ２ＡによりエンドポイントＡ１，Ａ３を使用するように調停される。
【００８８】
次に、このような経路情報の管理方法におけるタイミング制御の一例について図１９に示す概略フローチャートを参照して説明する。まず、当該システムが起動する際（Ｓ２１のＹ）、各々のデバイスＡ〜Ｄに対して経路情報が書き込み設定される（Ｓ２２）。ここに、「システムが起動する際」とは、起動時から多少時間が経った時点までを含む意味であり、起動する時点のみに限定されるものではない。また、この起動に際しての経路情報の書き込み設定としては、予め設定されている標準仕様なるデフォルト値が用いられる。このステップＳ２１のＹ，Ｓ２２の処理が設定手段、設定機能として実行される。
【００８９】
この後は、各デバイスＡ〜Ｄのアービタ２Ａ〜２ＤによるエンドポイントＡ１〜Ａ４，…，Ｄ１〜Ｄ４の調停は、ホストＣＰＵ５により各々のデバイスＡ〜Ｄ中に書き込み設定された当該経路情報（デフォルト値）を参照することにより実行される。
【００９０】
その後は、当該システムの起動中における動作モードの変更の有無が監視される（Ｓ２３）。そして、動作モードの変更があった場合（Ｓ２３のＹ）、その動作モードの変更に関する情報を当該ホストＣＰＵ５が直接受け取った場合には（Ｓ２４のＹ）、ホストＣＰＵ５は、変更される動作モードに関する情報、並びに、（各デバイスから取得した又はホストＣＰＵ５が管理している）デバイス接続状態、デバイス機能情報、エンドポイントに関する情報に基づき当該木構造中で最適となるデバイスＡ〜Ｄ間の経路を再決定する（Ｓ２５）。このステップＳ２５の処理が再決定手段、再決定機能として実行される。このステップＳ２５で決定された各デバイスＡ〜Ｄ毎の経路情報は、各々対応するデバイスＡ〜Ｄ中に書き込み設定される（Ｓ２６）。このステップＳ２６の処理が設定手段、設定機能として実行される。
【００９１】
この後は、各デバイスＡ〜Ｄのアービタ２Ａ〜２ＤによるエンドポイントＡ１〜Ａ４，…，Ｄ１〜Ｄ４の調停は、ホストＣＰＵ５により各々のデバイスＡ〜Ｄ中に書き込み設定された当該経路情報を参照することにより実行される。
【００９２】
一方、動作モードの変更に関する情報をデバイスＡ〜Ｄが受け取った場合には（Ｓ２４のＮ）、これらのデバイスＡ〜ＤはホストＣＰＵ５に対して経路情報の再決定を要求するメッセージトランザクション（Message Transaction）を発行する（Ｓ２７）。このステップＳ２７の処理がデバイスによるトランザクション発行手段の機能として実行される。ホストＣＰＵ５ではこのメッセージトランザクションの発行に伴い、当該メッセージトランザクションパケット中に格納されている動作モードの変更に関する情報の通知を受けることにより、動作モードの変更に関する情報を受ける（Ｓ２８）。この動作モードに関する情報を受けた後は、ステップＳ２５以降の処理を同様に行なう。
【００９３】
なお、ステップＳ２８の処理に代えて、メッセージトランザクションパケットの受け取りにより当該デバイス中に記録された動作モードの変更に関する情報を参照して、動作モードの変更に関する情報を受けるようにしてもよい。
【００９４】
次に、このような経路情報の管理方法におけるタイミング制御の他例について図２０に示す概略フローチャートを参照して説明する。まず、図１９で説明した場合と同じく、当該システムが起動する際（Ｓ２１のＹ）、各々のデバイスＡ〜Ｄに対して経路情報（デフォルト値）が書き込み設定される（Ｓ２２）。
【００９５】
この後は、各デバイスＡ〜Ｄのアービタ２Ａ〜２ＤによるエンドポイントＡ１〜Ａ４，…，Ｄ１〜Ｄ４の調停は、ホストＣＰＵ５により各々のデバイスＡ〜Ｄ中に書き込み設定された当該経路情報（デフォルト値）を参照することにより実行される。
【００９６】
その後は、当該システムの起動時からタイマを稼動させ（Ｓ３１）、一定時間が経過するかを監視し（Ｓ３２）、一定時間が経過する毎に定期的に（Ｓ３２のＹ）、その時点の動作モードに関する情報、並びに、（各デバイスから取得した又はホストＣＰＵ５が管理している）デバイス接続状態、デバイス機能情報、エンドポイントに関する情報に基づき当該木構造中で最適となるデバイスＡ〜Ｄ間の経路を再決定する（Ｓ３３）。このステップＳ３３の処理が再決定手段、再決定機能として実行される。このステップＳ３３で決定された各デバイスＡ〜Ｄ毎の経路情報は、各々対応するデバイスＡ〜Ｄ中に書き込み設定される（Ｓ３４）。このステップＳ３４の処理が設定手段、設定機能として実行される。
【００９７】
この後は、各デバイスＡ〜Ｄのアービタ２Ａ〜２ＤによるエンドポイントＡ１〜Ａ４，…，Ｄ１〜Ｄ４の調停は、ホストＣＰＵ５により各々のデバイスＡ〜Ｄ中に書き込み設定された当該経路情報を参照することにより実行される。
【００９８】
［効果についての考察］
まず、スイッチの出力ポート競合の影響について考察する。PCI Expressスイッチにおいて出力ポートに競合が生ずると、データ転送レートが低下する。図２１は、PCI Expressスイッチにおいて４つの入力ポートに対して出力ポートが１つで競合が生ずる条件下で、種類の異なる４つのトラフィックを同時に開始させ、転送速度に応じてデータ転送が順に終了していく場合の特性を示したグラフである。図において、横軸は転送時間、縦軸は各ポートのデータ転送量（積算値）であり、各グラフの傾きが転送レートを示している。なお、ペイロードサイズ（パケットデータ全体のサイズのうち、ヘッダ情報以外のデータ部分のサイズを意味する）は、４種類とも６４byte固定の条件での測定例とする。また、データ転送のアルゴリズムは、PCI Express規格におけるウエイテッドラウンドロビン（ＷＲＲ）であり、４種類に関して１：２：４：８の比率でデータ転送させるように設定した場合の特性例を示し、１つのトラフィッククラスのデータ転送が終了すると、残りのトラフィッククラスについて８：４：２、さらには、８：４の如く、比率を変遷させながらデータ転送させるアルゴリズムである。
【００９９】
図２１では、左側から順に、４つの転送が競合、３つの転送が競合、２つの転送が競合、競合なしと変遷しているのが判る。ここに、競合するトラフィックの数が減るに従って、各々のグラフの傾き、即ち、転送レートが急峻となり、データ転送レートが向上するのが判る。この点、前述したような本実施の形態によれば、複数のエンドポイントＡ１〜Ａ４，Ｂ１〜Ｂ４，Ｃ１〜Ｃ４，Ｄ１〜Ｄ４に関して、スイッチを通るデータ転送経路に競合が生じないように、動作モードに応じて使用するエンドポイントを調停するようにしているので、データ転送レートを向上させ得るのが判る。
【０１００】
次に、経由するスイッチの段数の影響について考察する。データを一定量ずつ区切って転送する場合（例えば、画像形成システム中のプロッタに対して、画像データを主走査方向の１ラインずつに区切って転送する場合など）、パケットデータが発信元から送信先へ到達する、初期遅延の影響が経由するスイッチ段数とともに大きくなる。
【０１０１】
図２２は、データ転送経路において、経由するスイッチの個数（段数）をパラメータとして、ペイロードサイズと転送レートとの関係を示したグラフであり、経由するスイッチの個数（段数）の転送レートに対する影響が判る。図では、上から順に、タイミング制約なし、スイッチが１段で遅延構造１，２，３、スイッチが２段で遅延構造１，２，３、スイッチが３段で遅延構造１，２，３、スイッチが４段で遅延構造１，２，３、スイッチが５段で遅延構造１，２，３の場合を各々示している。経由するスイッチの段数が１段増える毎に、パケット転送の遅延時間が加算され、その遅延はパケットデータのサイズが大きいほど、大きな遅延が発生してしまう。このため、データ転送経路上に複数段のスイッチが存在すると、１つのパケットで送るデータのサイズが大きくなるほど、データ転送レートが低下してしまうのが判る。この点、本実施の形態によれば、複数のエンドポイントＡ１〜Ａ４，Ｂ１〜Ｂ４，Ｃ１〜Ｃ４，Ｄ１〜Ｄ４に関して、スイッチ１Ａ〜１Ｄとの関係では、各々経由するスイッチ１の段数が最小＝１段となるように、使用するエンドポイントを調停しているので、データ転送レートの低下を抑制し得るのが判る。
【図面の簡単な説明】
【０１０２】
【図１】既存PCIシステムの構成例を示すブロック図である。
【図２】PCI Expressシステムの構成例を示すブロック図である。
【図３】デスクトップ／モバイルでのPCI Expressプラットホームの構成例を示すブロック図である。
【図４】ｘ４の場合の物理層の構造例を示す模式図である。
【図５】デバイス間のレーン接続例を示す模式図である。
【図６】スイッチの論理的構造例を示すブロック図である。
【図７】（ａ）は既存のPCIのアーキテクチャを示すブロック図、（ｂ）はPCI Expressのアーキテクチャを示すブロック図である。
【図８】PCI Expressの階層構造を示すブロック図である。
【図９】トランザクションレイヤパケットのフォーマット例を示す説明図である。
【図１０】PCI Expressのコンフィグレーション空間を示す説明図である。
【図１１】仮想チャネルの概念を説明するための模式図である。
【図１２】データリンクレイヤパケットのフォーマット例を示す説明図である。
【図１３】ｘ４リンクでのバイトストライピング例を示す模式図である。
【図１４】アクティブステート電源管理の制御例を示すタイムチャートである。
【図１５】本実施の形態のデータ転送システムにおける木構造例を示す原理的な模式図である。
【図１６】本実施の形態の画像形成システムにおける木構造例を示す原理的な模式図である。
【図１７】本実施の形態の経路情報の管理方法の一例を示す概略フローチャートである。
【図１８】本実施の形態の経路情報の管理方法の他例を示す概略フローチャートである。
【図１９】本実施の形態の経路情報の管理方法におけるタイミング制御の一例を示す概略フローチャートである。
【図２０】本実施の形態の経路情報の管理方法におけるタイミング制御の他例を示す概略フローチャートである。
【図２１】PCI Expressスイッチにおいて種類の異なる４つのトラフィックを同時に開始させ、転送速度に応じてデータ転送が順に終了していく場合の特性を示したグラフである。
【図２２】データ転送経路において、経由するスイッチの個数（段数）をパラメータとして、ペイロードサイズと転送レートとの関係を示したグラフである。
【図２３】PCI Expressの通常の利用形態による木構造例を示す原理的な模式図である。
【図２４】その変形例を示す原理的な模式図である。
【符号の説明】
【０１０３】
１Ａ〜１Ｄ      スイッチ
２Ａ〜２Ｄ      アービタ
Ａ〜Ｄ          デバイス
Ａ１〜Ａ４，〜，Ｄ１〜Ｄ４      エンドポイント
【図１】
2005166029.tif 000004
【図２】
2005166029.tif 000005
【図３】
2005166029.tif 000006
【図４】
2005166029.tif 000007
【図５】
2005166029.tif 000008
【図６】
2005166029.tif 000009
【図７】
2005166029.tif 000010
【図８】
2005166029.tif 000011
【図９】
2005166029.tif 000012
【図１０】
2005166029.tif 000013
【図１１】
2005166029.tif 000014
【図１２】
2005166029.tif 000015
【図１３】
2005166029.tif 000016
【図１４】
2005166029.tif 000017
【図１５】
2005166029.tif 000018
【図１６】
2005166029.tif 000019
【図１７】
2005166029.tif 000020
【図１８】
2005166029.tif 000021
【図１９】
2005166029.tif 000022
【図２０】
2005166029.tif 000023
【図２１】
2005166029.tif 000024
【図２２】
2005166029.tif 000025
【図２３】
2005166029.tif 000026
【図２４】
2005166029.tif 000027