(57)【特許請求の範囲】
【請求項１】
ポイントツーポイント接続または複数のポイントツーポイント接続を木構造で構成した通信網を介して送受信独立の通信チャネルが確立される高速シリアルバスにより、パケット単位で通信を行う情報処理システムにおいて、
リクエストパケットの送信開始時刻から当該リクエストパケットに対応するコンプリッションパケットの先頭が到着する時刻までの時間差Ｔ１と、リクエストパケットの送信開始時刻から目的とする全データの最後のコンプリッションパケットの受信完了時刻までの時間差Ｔ２とに基づいてコンプリッションパケットのペイロードサイズに対する比（Ｔ１／Ｔ２）を求めた曲線１を検出する手段と、
コンプリッションパケットのヘッダサイズＡと、コンプリッションパケットのペイロードサイズＢに基づいてコンプリッションパケットのペイロードサイズに対する比（Ａ／（Ａ＋Ｂ））を求めた曲線２を検出する手段と、
前記曲線１と前記曲線２とに基づいて、転送レートの理論値に対するロスが少ないパケット転送のペイロードサイズを決定する手段と、
を備えることを特徴とする情報処理システム。
【請求項２】
決定される前記ペイロードサイズは、前記曲線１と前記曲線２との交点以下である、
ことを特徴とする請求項１記載の情報処理システム。
【請求項３】
決定される前記ペイロードサイズは、前記曲線１と前記曲線２の交点のペイロードサイズを中心として１／４から４倍のペイロードサイズである、
ことを特徴とする請求項１記載の情報処理システム。
【請求項４】
経路の遅延量に応じて前記ペイロードサイズを変更可能にする、
ことを特徴とする請求項１ないし３のいずれか一記載の情報処理システム。
【請求項５】
経路のスイッチ段数に応じて前記ペイロードサイズを変更可能にする、
ことを特徴とする請求項１ないし３のいずれか一記載の情報処理システム。
【請求項６】
前記ペイロードサイズの変更は、前記高速シリアルバスの再コンフィグレーションの際に実施する、
ことを特徴とする請求項４または５記載の情報処理システム。
【請求項７】
リクエストパケットの送信開始時刻から当該リクエストパケットに対応するコンプリッションパケットの先頭が到着する時刻までの時間差Ｔ１及びリクエストパケットの送信開始時刻から目的とする全データの最後のコンプリッションパケットの受信完了時刻までの時間差Ｔ２を、計測する時間差計測手段を更に備え、
前記時間差計測手段により計測した時間差Ｔ１及び時間差Ｔ２に基づいて曲線１を検出する、
ことを特徴とする請求項１ないし６のいずれか一記載の情報処理システム。
【請求項８】
前記時間差計測手段は、計測用パケットを発生する計測用パケット発生部と、この計測用パケット発生部で発生した計測用パケットの出力時刻とエンドポイントからの戻りパケットの受信時刻を元に遅延量を検出する遅延量検出部と、この遅延量検出部により検出された遅延量を記憶する遅延量記憶部と、を備えている、
ことを特徴とする請求項７記載の情報処理システム。
【請求項９】
前記計測用パケットとしては、ペイロードサイズを振った複数のパケットを用いる、
ことを特徴とする請求項８記載の情報処理システム。
【請求項１０】
前記高速シリアルバスは、PCI Express 規格の高速シリアルバスである、
ことを特徴とする請求項１ないし９のいずれか一記載の情報処理システム。
【請求項１１】
ポイントツーポイント接続または複数のポイントツーポイント接続を木構造で構成した通信網を介して送受信独立の通信チャネルが確立される高速シリアルバスによるパケット単位での通信処理をコンピュータに実行させるプログラムであって、
リクエストパケットの送信開始時刻から当該リクエストパケットに対応するコンプリッションパケットの先頭が到着する時刻までの時間差Ｔ１と、リクエストパケットの送信開始時刻から目的とする全データの最後のコンプリッションパケットの受信完了時刻までの時間差Ｔ２とに基づいてコンプリッションパケットのペイロードサイズに対する比（Ｔ１／Ｔ２）を求めた曲線１を検出する機能と、
コンプリッションパケットのヘッダサイズＡと、コンプリッションパケットのペイロードサイズＢに基づいてコンプリッションパケットのペイロードサイズに対する比（Ａ／（Ａ＋Ｂ））を求めた曲線２を検出する機能と、
前記曲線１と前記曲線２とに基づいて、転送レートの理論値に対するロスが少ないパケット転送のペイロードサイズを決定する機能と、
を前記コンピュータに実行させることを特徴とするプログラム。
【請求項１２】
決定される前記ペイロードサイズは、前記曲線１と前記曲線２との交点以下である、
ことを特徴とする請求項１１記載のプログラム。
【請求項１３】
決定される前記ペイロードサイズは、前記曲線１と前記曲線２の交点のペイロードサイズを中心として１／４から４倍のペイロードサイズである、
ことを特徴とする請求項１１記載のプログラム。
【請求項１４】
ポイントツーポイント接続または複数のポイントツーポイント接続を木構造で構成した通信網を介して送受信独立の通信チャネルが確立される高速シリアルバスにより、パケット単位で通信を行う情報処理システムにおけるパケット通信方法おいて、
リクエストパケットの送信開始時刻から当該リクエストパケットに対応するコンプリッションパケットの先頭が到着する時刻までの時間差Ｔ１と、リクエストパケットの送信開始時刻から目的とする全データの最後のコンプリッションパケットの受信完了時刻までの時間差Ｔ２とに基づいてコンプリッションパケットのペイロードサイズに対する比（Ｔ１／Ｔ２）を求めた曲線１を検出し、
コンプリッションパケットのヘッダサイズＡと、コンプリッションパケットのペイロードサイズＢに基づいてコンプリッションパケットのペイロードサイズに対する比（Ａ／（Ａ＋Ｂ））を求めた曲線２を検出し、
前記曲線１と前記曲線２とに基づいて、転送レートの理論値に対するロスが少ないパケット転送のペイロードサイズを決定する、
ことを特徴とするパケット通信方法。
【請求項１５】
決定される前記ペイロードサイズは、前記曲線１と前記曲線２との交点以下である、
ことを特徴とする請求項１４記載のパケット通信方法。
【請求項１６】
決定される前記ペイロードサイズは、前記曲線１と前記曲線２の交点のペイロードサイズを中心として１／４から４倍のペイロードサイズである、
ことを特徴とする請求項１４記載のパケット通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば各種画像を扱い各種の処理を行う複合機（ＭＦＰ）等の情報処理システム、プログラムおよびパケット通信方法に関する。
【背景技術】
【０００２】
一般に、画像データその他のデータを扱うデジタル複写機、複合機（ＭＦＰ）等の画像形成システムでは、デバイス間のインタフェースにＰＣＩバスが使用されている。しかし、パラレル方式のＰＣＩバスでは、レーシングやスキューなどの問題があり、高速・高画質の画像形成装置に使用するには、転送レートが低い段階にきており、最近では、ＰＣＩバスのようなパラレル方式のインタフェースに代えて、IEEE1394やUSB等の高速シリアルインタフェースの使用が検討されている。例えば、特許文献１によれば、内部インタフェースとして、IEEE1394やUSB等の高速シリアルインタフェースを使用することが提案されている。
【０００３】
また、他の高速シリアルインタフェースとして、ＰＣＩバス方式の後継規格に当るPCI Express（登録商標）なるインタフェースも提案され、実用化の段階にきている（例えば、非特許文献１参照）。このPCI Expressシステムは、概略的には、例えば非特許文献１中の図１等に示されるようなルートコンプレックス−スイッチ（任意階層）−デバイス等のツリー構造（木構造）によるデータ通信網として構成されている。
【０００４】
【特許文献１】特開２００１−０１６３８２号公報
【非特許文献１】“PCI Express 規格の概要”Interface誌、July’2003 里見尚志
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところが、特許文献１の場合、複数の画像データの転送を同時に行う際の問題については言及されていない。
【０００６】
また、シリアルであり自由度の高いシステムを構築できるようになるため、複数のトラフィックが発生するようになるが、経路遅延のばらつき等の影響については言及されていない。
【０００７】
本発明は、上記に鑑みてなされたものであって、スケーラビリティが高い等の特徴を有するPCI Express規格の高速シリアルバスを有効に活用することにより、経路遅延の影響とプロトコルのオーバーヘッドの影響とをバランス良く考慮した高速データ転送を実現することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、請求項１にかかる発明は、ポイントツーポイント接続または複数のポイントツーポイント接続を木構造で構成した通信網を介して送受信独立の通信チャネルが確立される高速シリアルバスにより、パケット単位で通信を行う情報処理システムにおいて、リクエストパケットの送信開始時刻から当該リクエストパケットに対応するコンプリッションパケットの先頭が到着する時刻までの時間差Ｔ１と、リクエストパケットの送信開始時刻から目的とする全データの最後のコンプリッションパケットの受信完了時刻までの時間差Ｔ２とに基づいてコンプリッションパケットのペイロードサイズに対する比（Ｔ１／Ｔ２）を求めた曲線１を検出する手段と、コンプリッションパケットのヘッダサイズＡと、コンプリッションパケットのペイロードサイズＢに基づいてコンプリッションパケットのペイロードサイズに対する比（Ａ／（Ａ＋Ｂ））を求めた曲線２を検出する手段と、前記曲線１と前記曲線２とに基づいて、転送レートの理論値に対するロスが少ないパケット転送のペイロードサイズを決定する手段と、を備える。
【０００９】
また、請求項２にかかる発明は、請求項１記載の情報処理システムにおいて、決定される前記ペイロードサイズは、前記曲線１と前記曲線２との交点以下である。
【００１０】
また、請求項３にかかる発明は、請求項１記載の情報処理システムにおいて、決定される前記ペイロードサイズは、前記曲線１と前記曲線２の交点のペイロードサイズを中心として１／４から４倍のペイロードサイズである。
【００１１】
また、請求項４にかかる発明は、請求項１ないし３のいずれか一記載の情報処理システムにおいて、経路の遅延量に応じて前記ペイロードサイズを変更可能にする。
【００１２】
また、請求項５にかかる発明は、請求項１ないし３のいずれか一記載の情報処理システムにおいて、経路のスイッチ段数に応じて前記ペイロードサイズを変更可能にする。
【００１３】
また、請求項６にかかる発明は、請求項４または５記載の情報処理システムにおいて、前記ペイロードサイズの変更は、前記高速シリアルバスの再コンフィグレーションの際に実施する。
【００１４】
また、請求項７にかかる発明は、請求項１ないし６のいずれか一記載の情報処理システムにおいて、リクエストパケットの送信開始時刻から当該リクエストパケットに対応するコンプリッションパケットの先頭が到着する時刻までの時間差Ｔ１及びリクエストパケットの送信開始時刻から目的とする全データの最後のコンプリッションパケットの受信完了時刻までの時間差Ｔ２を、計測する時間差計測手段を更に備え、前記時間差計測手段により計測した時間差Ｔ１及び時間差Ｔ２に基づいて曲線１を検出する。
【００１５】
また、請求項８にかかる発明は、請求項７記載の情報処理システムにおいて、前記時間差計測手段は、計測用パケットを発生する計測用パケット発生部と、この計測用パケット発生部で発生した計測用パケットの出力時刻とエンドポイントからの戻りパケットの受信時刻を元に遅延量を検出する遅延量検出部と、この遅延量検出部により検出された遅延量を記憶する遅延量記憶部と、を備えている。
【００１６】
また、請求項９にかかる発明は、請求項８記載の情報処理システムにおいて、前記計測用パケットとしては、ペイロードサイズを振った複数のパケットを用いる。
【００１７】
また、請求項１０にかかる発明は、請求項１ないし９のいずれか一記載の情報処理システムにおいて、前記高速シリアルバスは、PCI Express 規格の高速シリアルバスである。
【００１８】
また、請求項１１にかかる発明は、ポイントツーポイント接続または複数のポイントツーポイント接続を木構造で構成した通信網を介して送受信独立の通信チャネルが確立される高速シリアルバスによるパケット単位での通信処理をコンピュータに実行させるプログラムであって、リクエストパケットの送信開始時刻から当該リクエストパケットに対応するコンプリッションパケットの先頭が到着する時刻までの時間差Ｔ１と、リクエストパケットの送信開始時刻から目的とする全データの最後のコンプリッションパケットの受信完了時刻までの時間差Ｔ２とに基づいてコンプリッションパケットのペイロードサイズに対する比（Ｔ１／Ｔ２）を求めた曲線１を検出する機能と、コンプリッションパケットのヘッダサイズＡと、コンプリッションパケットのペイロードサイズＢに基づいてコンプリッションパケットのペイロードサイズに対する比（Ａ／（Ａ＋Ｂ））を求めた曲線２を検出する機能と、前記曲線１と前記曲線２とに基づいて、転送レートの理論値に対するロスが少ないパケット転送のペイロードサイズを決定する機能と、を前記コンピュータに実行させる。
【００１９】
また、請求項１２にかかる発明は、請求項１１記載のプログラムにおいて、決定される前記ペイロードサイズは、前記曲線１と前記曲線２との交点以下である。
【００２０】
また、請求項１３にかかる発明は、請求項１１記載のプログラムにおいて、決定される前記ペイロードサイズは、前記曲線１と前記曲線２の交点のペイロードサイズを中心として１／４から４倍のペイロードサイズである。
【００２１】
また、請求項１４にかかる発明は、ポイントツーポイント接続または複数のポイントツーポイント接続を木構造で構成した通信網を介して送受信独立の通信チャネルが確立される高速シリアルバスにより、パケット単位で通信を行う情報処理システムにおけるパケット通信方法おいて、リクエストパケットの送信開始時刻から当該リクエストパケットに対応するコンプリッションパケットの先頭が到着する時刻までの時間差Ｔ１と、リクエストパケットの送信開始時刻から目的とする全データの最後のコンプリッションパケットの受信完了時刻までの時間差Ｔ２とに基づいてコンプリッションパケットのペイロードサイズに対する比（Ｔ１／Ｔ２）を求めた曲線１を検出し、コンプリッションパケットのヘッダサイズＡと、コンプリッションパケットのペイロードサイズＢに基づいてコンプリッションパケットのペイロードサイズに対する比（Ａ／（Ａ＋Ｂ））を求めた曲線２を検出し、前記曲線１と前記曲線２とに基づいて、転送レートの理論値に対するロスが少ないパケット転送のペイロードサイズを決定する。
【００２２】
また、請求項１５にかかる発明は、請求項１４記載のパケット通信方法において、決定される前記ペイロードサイズは、前記曲線１と前記曲線２との交点以下である。
【００２３】
また、請求項１６にかかる発明は、請求項１４記載のパケット通信方法において、決定される前記ペイロードサイズは、前記曲線１と前記曲線２の交点のペイロードサイズを中心として１／４から４倍のペイロードサイズである。
【発明の効果】
【００２４】
請求項１にかかる発明によれば、コンプリッションパケットのペイロードサイズに対するＴ１／Ｔ２の比を求めた曲線１と、コンプリッションパケットのペイロードサイズに対するＡ／（Ａ＋Ｂ）の比を求めた曲線２とに基づいて、転送レートの理論値に対するロスが少ないパケット転送のペイロードサイズを決定することにより、経路遅延の影響とプロトコルのオーバーヘッドの影響とをバランス良く考慮した高速データ転送を実現することができるという効果を奏する。
【００２５】
また、請求項２にかかる発明によれば、決定されるペイロードサイズは、曲線１と曲線２との交点以下であることにより、経路遅延のばらつきの影響を受けないシステムを構築でき、拡張性が格段に良くなるという効果を奏する。
【００２６】
また、請求項３にかかる発明によれば、決定されるペイロードサイズは、曲線１と曲線２の交点のペイロードサイズを中心として１／４から４倍のペイロードサイズであることにより、１/４から４倍の外では２割以上の低下となり使用するペイロードサイズとしてはあまり実用的な範囲ではないため、経路遅延のばらつきの影響とプロトコルのオーバーヘッドの影響とをバランスよく考慮した高速データ転送を実現することができるという効果を奏する。
【００２７】
また、請求項４にかかる発明によれば、経路の遅延量に応じてペイロードサイズを変更可能にすることにより、遅延量の動的な変動があった場合でも常に最速の高速データ転送を実現できるという効果を奏する。
【００２８】
また、請求項５にかかる発明によれば、経路のスイッチ段数に応じてペイロードサイズを変更可能にすることにより、スイッチ段数の動的な変動があった場合でも常に最速の高速データ転送を実現できるという効果を奏する。
【００２９】
また、請求項６にかかる発明によれば、経路の遅延量や経路のスイッチ段数に応じてペイロードサイズを変更可能にすることができるという効果を奏する。
【００３０】
また、請求項７にかかる発明によれば、計測された時間差Ｔ１及び時間差Ｔ２に従って、曲線１を検出することにより、経路の遅延量や経路のスイッチ段数の動的な変動があった場合でも常に実測値を元に曲線１を検出することができるという効果を奏する。
【００３１】
また、請求項８にかかる発明によれば、時間差Ｔ１及び時間差Ｔ２を、確実に計測することができるという効果を奏する。
【００３２】
また、請求項９にかかる発明によれば、計測用パケットとしてペイロードサイズを振った複数のパケットを用いることにより、２曲線の交点を自動的に予測することができるという効果を奏する。
【００３３】
また、請求項１０にかかる発明によれば、スケーラビリティが高い等の特徴を有するPCI Express規格の高速シリアルバスを有効に活用することにより、経路遅延のばらつきの影響があっても、高速な画像データ出力や同時転送を行うことができるという効果を奏する。
【００３４】
また、請求項１１にかかる発明によれば、コンプリッションパケットのペイロードサイズに対するＴ１／Ｔ２の比を求めた曲線１と、コンプリッションパケットのペイロードサイズに対するＡ／（Ａ＋Ｂ）の比を求めた曲線２とに基づいて、転送レートの理論値に対するロスが少ないパケット転送のペイロードサイズを決定することにより、経路遅延の影響とプロトコルのオーバーヘッドの影響とをバランス良く考慮した高速データ転送を実現することができるという効果を奏する。
【００３５】
また、請求項１２にかかる発明によれば、決定されるペイロードサイズは、曲線１と曲線２との交点以下であることにより、経路遅延のばらつきの影響を受けないシステムを構築でき、拡張性が格段に良くなるという効果を奏する。
【００３６】
また、請求項１３にかかる発明によれば、決定されるペイロードサイズは、曲線１と曲線２の交点のペイロードサイズを中心として１／４から４倍のペイロードサイズであることにより、１/４から４倍の外では２割以上の低下となり使用するペイロードサイズとしてはあまり実用的な範囲ではないため、経路遅延のばらつきの影響とプロトコルのオーバーヘッドの影響とをバランスよく考慮した高速データ転送を実現することができるという効果を奏する。
【００３７】
また、請求項１４にかかる発明によれば、コンプリッションパケットのペイロードサイズに対するＴ１／Ｔ２の比を求めた曲線１と、コンプリッションパケットのペイロードサイズに対するＡ／（Ａ＋Ｂ）の比を求めた曲線２とに基づいて、転送レートの理論値に対するロスが少ないパケット転送のペイロードサイズを決定することにより、経路遅延の影響とプロトコルのオーバーヘッドの影響とをバランス良く考慮した高速データ転送を実現することができるという効果を奏する。
【００３８】
また、請求項１５にかかる発明によれば、決定されるペイロードサイズは、曲線１と曲線２との交点以下であることにより、経路遅延のばらつきの影響を受けないシステムを構築でき、拡張性が格段に良くなるという効果を奏する。
【００３９】
また、請求項１６にかかる発明によれば、決定されるペイロードサイズは、曲線１と曲線２の交点のペイロードサイズを中心として１／４から４倍のペイロードサイズであることにより、１/４から４倍の外では２割以上の低下となり使用するペイロードサイズとしてはあまり実用的な範囲ではないため、経路遅延のばらつきの影響とプロトコルのオーバーヘッドの影響とをバランスよく考慮した高速データ転送を実現することができるという効果を奏する。
【発明を実施するための最良の形態】
【００４０】
以下に添付図面を参照して、この発明にかかる情報処理システム、プログラムおよびパケット通信方法の最良な実施の形態を詳細に説明する。
【００４１】
本発明を実施するための最良の形態について図面を参照して説明する。以下では、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のフロー制御は、クレジット・ベースで行われる（データ転送を始める前に、受け取り側のバッファの空き状況を確認し、オーバーフロー、アンダフローが発生しないメカニズム）。即ち、受信側はリンク初期化時にバッファ容量（クレジット値）を送信側に通知し、送信側はクレジット値と送信するパケットの長さとを比較し、一定の残りがある場合のみパケットを送信する。このクレジットには６種類ある。
【００７３】
フロー制御の情報交換はデータリンク層のデータリンクレイヤパケット（ＤＬＬＰ）を使用して行われる。フロー制御はトランザクションレイヤパケット（ＴＬＰ）のみに適用され、データリンクレイヤパケット（ＤＬＬＰ）には適用されない（ＤＬＬＰは常時送受信可能）。
【００７４】
Ｂ．データリンク層１５４
データリンク層１５４の主な役割は、前述したように、リンク上の２つのコンポーネント間での信頼性の高いトランザクションレイヤパケット（ＴＬＰ）交換機能を提供することである。
【００７５】
ａ．トランザクションレイヤパケット（ＴＬＰ）の扱い
トランザクション層１５３から受け取ったトランザクションレイヤパケット（ＴＬＰ）に対しては、先頭に２バイトのシーケンス番号、末尾に４バイトのリンクＣＲＣ（ＬＣＲＣ）を付加して、物理層１５５に渡す（図９参照）。トランザクションレイヤパケット（ＴＬＰ）は、リトライバッファに保管され、相手から受信確認（ＡＣＫ）が届くまで再送される。トランザクションレイヤパケット（ＴＬＰ）の送信に失敗が続いた場合は、リンク異常であると判断して物理層１５５に対してリンクの再トレーニングを要求する。リンクのトレーニングが失敗した場合、データリンク層１５４の状態はインアクティブに遷移する。
【００７６】
物理層１５５から受け取ったトランザクションレイヤパケット（ＴＬＰ）は、シーケンス番号とリンクＣＲＣ（ＬＣＲＣ）が検査され、正常であればトランザクション層１５３に渡され、エラーがあった場合は再送を要求する。
【００７７】
ｂ．データリンクレイヤパケット（ＤＬＬＰ）
トランザクションレイヤパケット（ＴＬＰ）は、物理層から送信されるときに自動的に図１２に示すようなデータリンクレイヤパケット（ＤＬＬＰ）に分割されて各レーンに送信される。データリンク層１５４が生成するパケットは、データリンクレイヤパケット（ＤＬＬＰ）と呼ばれ、データリンク層１５４間でやり取りされる。データリンクレイヤパケット（ＤＬＬＰ）には、
・Ack／Nak：ＴＬＰの受信確認、リトライ（再送）
・InitFC1／InitFC2／UpdateFC：フロー制御の初期化とアップデート
・電源管理のためのＤＬＬＰ
なる種類がある。
【００７８】
図１２に示すように、データリンクレイヤパケット（ＤＬＬＰ）の長さは６バイトで、種類を示すＤＬＬＰタイプ（１バイト）、ＤＬＬＰの種類で固有の情報（３バイト）、ＣＲＣ（２バイト）から構成される。
【００７９】
Ｃ．物理層−論理サブブロック１５６
図８中に示す物理層１５５の論理サブブロック１５６での主な役割は、データリンク層１５４から受け取ったパケットを電気サブブロック１５７で送信できる形式に変換することである。また、物理層１５５を制御／管理する機能も有する。
【００８０】
ａ．データ符号化とパラレル−シリアル変換
PCI Expressは、連続した“０”や“１”が続かないように（長い期間、クロス・ポイントが存在しない状態が続かないようにするため）、データ符号化に８Ｂ／１０Ｂ変換を用いる。変換されたデータは、図１３中に示すように、シリアル変換され、ＬＳＢからレーン上に送信される。ここに、レーンが複数ある場合は（図１３はｘ４リンクの場合を例示している）、符号化の前にデータがバイト単位で各レーンに割り振られる。この場合、一見パラレル・バスのようにみえるが、レーン毎に独立した転送を行うので、パラレル・バスで問題となるスキューが大幅に緩和される。
【００８１】
ｂ．電源管理とリンクステート
リンクの消費電力を低く抑えるために、図１４に示すように、Ｌ０／Ｌ０ｓ／Ｌ１／Ｌ２というリンクステートが定義されている。
【００８２】
Ｌ０が通常モードで、Ｌ０ｓからＬ２へと低消費電力となるが、Ｌ０への復帰にも時間がかかるようになる。図１５に示すように、ソフトウェアによる電源管理に加えて、アクティブステート電源管理を積極的に行うことにより、消費電力を極力小さくすることが可能となる。
【００８３】
Ｄ．物理層−電気サブブロック１５７
物理層１５５の電気サブブロック１５７での主な役割は、論理サブブロック１５６でシリアル化されたデータをレーン上に送信することと、レーン上のデータを受信して論理サブブロック１５６に渡すことである。
【００８４】
ａ．ＡＣカップリング
リンクの送信側では、ＡＣカップリング用のコンデンサが実装される。これにより、送信側と受信側のＤＣコモンモード電圧が同一である必要がなくなる。このため、送信側と受信側で異なる設計、半導体プロセス、電源電圧を使用することが可能となる。
【００８５】
ｂ．デエンファシス
PCI Expressでは、前述したように、８Ｂ／１０Ｂエンコーディングによってできるだけ連続した“０”や“１”が続かないように処理されるが、連続した“０”や“１”が続くこともある（最大５回）。この場合、送信側はデエンファシス転送を行わなければならないことが規定されている。同一極性のビットが連続する場合は、２つ目のビットからは差動電圧レベル（振幅）を３．５±０．５ｄＢ落とすことで、受信側で受け取る信号のノイズ・マージンを稼ぐ必要がある。これを、デエンファシスという。伝送路の周波数依存性減衰のため、変化するビットの場合は高周波成分が多く、減衰により受信側の波形が小さくなるが、変化しないビットの場合は高周波成分が少なく、相対的に受信側の波形が大きくなる。このため、受信側での波形を一定とするためにデエンファシスを行う。
【００８６】
［情報処理システム］
本実施の形態のデジタル複写機やＭＦＰ等の情報処理システムは、その内部インタフェースに前述したようなPCI Express規格の高速シリアルバスを利用するようにしたものである。
【００８７】
図１６は、本実施の形態の情報処理システムの構成例を示す概略ブロック図である。本実施の形態の情報処理システム１は、例えばＭＦＰ等の機器に適用されるもので、その構成要素として、制御部２と画像入力部である入力部３と画像出力部である出力部４と画像処理部である処理部５と記憶部６とを備える。ここに、制御部２は、インストールされているプログラム（ソフトウェア）に従い当該システム全体の制御を受け持つＣＰＵ等を含み、経路制御や経路判断等の処理を行うデバイス部分（プリンタコントローラ）を意味する。入力部３とは、原稿画像等に基づく画像データを当該システム内に取り込むためのデバイスやユニット部分を示し、例えば、原稿画像を光電的に読み取って画像データを取得するスキャナエンジン等により構成されている。出力部４とは、画像データを紙などに印刷出力するデバイスやユニット部分を示し、例えば、電子写真方式のプロッタ（プリンタ）エンジン等により構成されている。処理部５とは、画像データに対して拡大・縮小、回転等の何らかの画像処理を施すデバイスやユニット部分を示し、例えば、変倍器、回転器、圧縮／伸長器等を含む構成とされている。記憶部６とは、画像データを保存するメモリやＨＤＤ等を含むデバイスやユニット部分であるが、本実施の形態の場合、例えばプリンタコントローラにより当該記憶部６が構成されている。
【００８８】
このような情報処理システム（ＭＦＰ）の構成要素に関して、本実施の形態では、例えば処理部５が入力部３と出力部４とを一体に有する構成とされ、かつ、記憶部６（プリンタコントローラ）が制御部２を有する構成とされ、かつ、処理部５と記憶部６とのデバイス間が上述したようなPCI Express規格による高速シリアルバス７により接続されている（従って、処理部５、記憶部６はポートを有する）。
【００８９】
このような構成において、制御部２による制御の下、入力部３から取り込まれた画像データは必要に応じて処理部５による画像処理を経て後、高速シリアルバス７を介して記憶部６に転送され、記憶部６内のメモリに一旦保存される。その後、記憶部６のメモリに保存された画像データは高速シリアルバス７を介して処理部５に取り込まれ必要に応じて画像処理を経た後、出力部４に転送され、印刷出力等がなされる。
【００９０】
本実施の形態の場合、ＭＦＰ等の情報処理システム１の内部でPCI Express規格による高速シリアルバス７により処理部５と記憶部６とを接続しているので、処理部５側と記憶部６側とで各々のデバイスの電気系を別個の基板上に実装して構成することができ、高速性を損なうことなく、設計上の自由度を大幅に拡張することができ、基板面積低減によるコストダウンも図ることができる。
【００９１】
なお、図１６に示した本実施の形態は、一例を示すに過ぎず、例えば、以下に示すような各種態様により構成することができる。
【００９２】
図１７に示す構成例は、制御部２を処理部５内に持たせたものである。
【００９３】
図１８に示す構成例は、入力部３、処理部５、出力部４、記憶部６を制御部２に各々高速シリアルバス７ａ〜７ｄにより個別に接続することにより、制御部２を独立させ、入力部３、処理部５、出力部４、記憶部６を等価的に取り扱えるようにしたものである。従って、この場合の制御部２としては、例えばPCI Expressシステムの木構造において根元に位置するルートコンプレックスを用いることで容易に実現できる。
【００９４】
これにより、例えば入力部３により取り込まれた画像データを高速シリアルバス７ａを経て制御部２内に転送し、高速シリアルバス７ｂを経て処理部５に転送して必要な画像処理を施し、さらに高速シリアルパス７ｂ，７ｄを経て記憶部６に転送させ、一旦メモリに保存させることができる。これと並行して、記憶部６のメモリに保存された画像データを高速シリアルバス７ｄ，７ｂを経て処理部５に転送して必要な画像処理を施し、さらに高速シリアルパス７ｂ，７ｃを経て出力部４に転送させ、印刷出力等に供することができる。
【００９５】
図１９に示す構成例は、制御部２を有する記憶部６に対して、入力部３、処理部５、出力部４を各々高速シリアルバス７ａ〜７ｃにより個別に接続し、記憶部６が入力部３、処理部５、出力部４を等価的に取り扱えるようにしたものである。この場合の制御部２も、図１８の場合と同様に、例えばPCI Expressシステムの木構造において根元に位置するルートコンプレックスを用いることができる。
【００９６】
これにより、例えば入力部３により取り込まれた画像データを高速シリアルバス７ａを経て記憶部６内に転送し、高速シリアルバス７ｂを経て処理部５に転送して必要な画像処理を施し、さらに高速シリアルパス７ｂを経て記憶部６に転送させ、一旦メモリに保存させることができる。これと並行して、記憶部６のメモリに保存された画像データを高速シリアルバス７ｃを経て出力部４に転送させ、印刷出力等に供することができる。
【００９７】
図２０に示す構成例は、図１９との対比では、入力部３と記憶部６とを入れ替えたものである。図２１に示す構成例は、図１９との対比では、処理部５と記憶部６とを入れ替えたものである。図２２に示す構成例は、図１９との対比では、出力部４と記憶部６とを入れ替えたものである。
【００９８】
図２３に示す構成例は、図１８に示した構成において、制御部２よりも下流側にPCI Expressシステムの木構造におけるスイッチ８を高速シリアルバス７ｅを介して介在させ、入力部３、処理部５、出力部４、記憶部６をスイッチ８の下流側ポートに各々高速シリアルバス７ａ〜７ｄにより接続したものである。
【００９９】
図２４ないし図２７は、各々図１９ないし図２２に示した構成において、同様に、PCI Expressシステムの木構造におけるスイッチ８を介在させた構成としたものである。
【０１００】
ところで、PCI Expressシステムの木構造におけるスイッチをPCI Express規格の高速シリアルバス経路上に介在させて拡張性と高速性とを両立させる場合の情報処理システムの最適構成例について図２８を参照して説明する。図２８に示す情報処理システムの構成例は、前述したＭＦＰのような単体構成の情報処理システム例ではなく、複数の機器を接続することにより構築される情報処理システム例である。その基本として、まず、出力部に相当するプロッタ（又は、プリンタ）１１と記憶部に相当する画像メモリ１２，１３とが、PCI Express規格の高速シリアルバス１４ａ，１４ｂ，１４ｃ及び１段のみのPCI Express規格のスイッチ１５を介して近傍で接続されている。ここに、画像メモリ１２，１３は、例えばプロッタ１１で印字出力するための最終ドットデータを格納する専用メモリが用いられている。もっとも、必ずしも最終ドットデータである必要はなく、途中経路上にリアルタイムの圧縮伸長器等がある場合には、圧縮データを格納するメモリであってもよい。このようにプロッタ１１と画像メモリ１２，１３とを１段のスイッチ１５で近傍接続する基本構成に加えて、ＣＰＵ１６やシステムメモリ１７が接続されて制御部に相当するルートコンプレックス１８を接続する場合にはスイッチ１５の上流側にPCI Express規格の高速シリアルバス１４ｄで接続すればよい。さらに、タイミング制約のないもの、或いは、遅くてもよいもの、例えば入力部としてのスキャナ１９や処理部としての画処理演算ユニット２０などを接続する場合には、スイッチ１５の下流側に拡張用のPCI Express規格のスイッチ２１を介在させて、PCI Express規格の高速シリアルバス１４ｅ，１４ｆ，１４ｇで接続すればよい。即ち、スイッチ１５を介在させることにより、当該スイッチ１５の有する拡張性に基づきシステムを任意に構成することができるとともに、ライン同期信号に同期させて画像データを転送させる必要がある等、高速処理上のタイミング制御の厳しいプロッタ１１と画像メモリ１２，１３とを近傍で接続しているので、データ転送の遅延を抑え、画像メモリ１２又は１３からプロッタ１１への高速データ転送に対処し得る。
【０１０１】
なお、図２８に示すシステム構成例では、インタフェースが共通なため、入力部としてのスキャナと出力部としてのプロッタとを併有するＭＦＰ２２も、プロッタ１１と同様に、スイッチ１５に対してPCI Express規格の高速シリアルバス１４ｈを介して接続されている例を示している。この場合も、ＭＦＰ２２中のプロッタと画像メモリ１２，１３とは１段のスイッチ１５を介して近傍で接続された構成となっており、画像メモリ１２又は１３から当該プロッタへのライン同期信号に同期した画像データの転送を遅延なく行わせることができる。
【０１０２】
これらの構成例におけるデータ転送について、さらに説明する。例えば、入力部３から記憶部６に直接的にデータ転送可能で、かつ、記憶部６から出力部４に直接的にデータ転送可能な図１６、図１７、図１９、図２３ないし図２７の構成例に適用可能なデータ転送例としては、高速シリアルバス７により、ライン同期信号に同期して画像データを入力部３から記憶部６に転送させるとともに、ライン同期信号に同期して画像データを記憶部６から出力部４に転送させることを基本とする。
【０１０３】
図２９はコマンド発行順を示す模式的なタイミングチャートである。図２９はライン同期信号XLDSYNCに同期して画像データのリードリクエストコマンドMemReadReq.とライトリクエストコマンドMemWriteReq.とにプライオリティを設定せずに高速シリアルバス７を利用して送信するとともにリードリクエストコマンドMemReadReq.に従いリードデータMemReadComp.を受信する場合の動作例である。
【０１０４】
ところが、図２９に示すようなコマンド発行を行った場合において、経路遅延の影響のばらつき（接続構成の変更によるばらつき、競合データ転送によるタイミングばらつき、など）の影響により画像データ転送が正常に行えない場合がある。すなわち、経路遅延の影響のばらつきの影響により、図３０に示すように、リードデータMemReadComp.をライン有効期間XLGATE内に受信できないケースが生じてしまう場合がある。
【０１０５】
図３１は、コマンド発行時におけるリクエストパケットと対応したコンプリッションパケットとの関係を示す説明図である。図３１においては、送信されたリードリクエストパケットに対応したコンプリッションパケットが戻ってくる様子を示している。コンプリッションパケットは、ヘッダ部とペイロード部とから構成されている。図３１に示すように、リードリクエストパケット（リードリクエストコマンドMemReadReq.）とコンプリッションパケット（リードデータMemReadComp.）との経路遅延の影響がばらつくことにより、リードデータMemReadComp.をライン有効期間XLGATE内に受信できないケースが生じてしまうことになる。
【０１０６】
ここで、図３２は、スイッチを経由した場合と経由しない場合とにおける遅延の影響を例示的に示す特性図である。図３２に示すように、経路中における遅延要素の１つであるスイッチを経由した場合に、スイッチ内部の実装方式（例えば、メモリ実装方式）の違い（構造１−３）により遅延が異なり、そのばらつきにより特性が変化していることがわかる。ここで、メモリ実装方式の違いとは、デュアルポートメモリか、シングルポートメモリであるか、などである。
【０１０７】
また、図３３は、スイッチを経由した場合における段数の変化による遅延の影響を例示的に示す特性図である。図３３に示すように、経路中における遅延要素の１つであるスイッチの段数を変えることにより、さらに特性のばらつきが大きくなることがわかる。
【０１０８】
すなわち、従来においては、システム拡張することで最適なペイロードサイズ（ペイロード長）が変動する為、拡張性がなかった。また、経路遅延の影響により、ペイロードサイズを大きくしてもシステムとしての転送レートが確保できない。そこで、本実施の形態においては、以下に示す方法によりペイロードサイズを決定するようにした。
【０１０９】
まず、図３１に示すように、リードリクエストパケットの送信開始時刻から対応するコンプリッションパケットの先頭が到着する時刻までの時間差（経路遅延）をＴ１、リードリクエストパケットの送信開始時刻から目的とする全データの最後のコンプリッションの受信完了時刻までの時間差（転送時間）をＴ２とする。また、コンプリッションパケットのヘッダサイズをＡ[Byte]、コンプリッションパケットのペイロードサイズをＢ[Byte]とする。
【０１１０】
次に、コンプリッションパケットのペイロードサイズに対するＴ１／Ｔ２の比を求めた曲線を、経路遅延オーバーヘッドを示す曲線１とする。一方、コンプリッションパケットのペイロードサイズに対するＡ／（Ａ＋Ｂ）の比を求めた曲線を、ヘッダオーバーヘッドを示す曲線２とする。ここで、図３４は要因別のロス特性を示す特性図である。図３４に示すように、曲線１と曲線２との交点が１２８Byteと２５６Byte間にある。そして、図３４に示すように、曲線１と曲線２との交点以下のペイロードサイズでは、転送レートの理論値に対するロスが少ないことが分かる。したがって、本実施の形態においては、このような曲線１と曲線２との交点以下のペイロードサイズで転送を行うようにする。このように、コンプリッションパケットのペイロードサイズに対するＴ１／Ｔ２の比を求めた曲線を曲線１と、コンプリッションパケットのペイロードサイズに対するＡ／（Ａ＋Ｂ）の比を求めた曲線２との交点以下のペイロードサイズで転送を行うようにすることにより、経路遅延の影響とプロトコルのオーバーヘッドの影響とをバランス良く考慮した高速データ転送を実現することができる。
【０１１１】
ここで、図３２に示すように、遅延量が大きいほどピークのペイロードサイズが小さくなり、遅延量が小さいほどピークのペイロードサイズが大きくなっていることが分かる。このようなピークのペイロードサイズが、図３４における２曲線の交点に相当する。つまり、遅延量が大きいほど交点のペイロードサイズが小さくなり、遅延量が小さいほど交点のペイロードサイズが大きくなる。すなわち、経路の遅延量に応じてペイロードサイズを変更することが望ましい。このように経路の遅延量に応じてペイロードサイズを変更可能にすることにより、遅延量の動的な変動があった場合でも常に最速の高速データ転送を実現できる。
【０１１２】
また、図３３に示すように、スイッチ段数が多いほどピークのペイロードサイズが小さくなり、スイッチ段数が小さいほどピークのペイロードサイズが大きくなっていることが分かる。すなわち、経路のスイッチ段数に応じてペイロードサイズを変更することが望ましい。このように経路のスイッチ段数に応じてペイロードサイズを変更可能にすることにより、スイッチ段数の動的な変動があった場合でも常に最速の高速データ転送を実現できる。
【０１１３】
経路の遅延量や経路のスイッチ段数に応じたペイロードサイズの変更は、コンフィグレーション空間のレジスタをソフトウェアで設定することで実施可能である（図１０参照）。このように経路の遅延量や経路のスイッチ段数が変化するのは通常は接続を変えた場合である。すなわち、経路の遅延量や経路のスイッチ段数に応じたペイロードサイズの変更は、PCI Expressの再コンフィグレーションの際に実施するようにすれば良い。
【０１１４】
なお、曲線１と曲線２の交点のペイロードサイズを中心として、１／４から４倍のペイロードサイズを用いて転送を行うようにしても良い。図３４に示すように、１/４から４倍の外では２割以上の低下となり、使用するペイロードサイズとしてはあまり実用的な範囲ではないからである。この場合には、経路遅延の影響とヘッダのオーバーヘッドをバランスよく考慮しており、高速データ転送を実現できる。
【０１１５】
ところで、リードリクエストパケットの相隣開始時刻から対応するコンプリッションパケットの先頭が到着する時刻までの時間差Ｔ１及びリードリクエストパケットの送信開始時刻から目的とする全データの最後のコンプリッションパケットの受信完了時刻までの時間差Ｔ２は、図３５に示すようなＣＰＵ３０が接続された制御部に相当するルートコンプレックス（時間差計測手段）３１によって計測することができる。図３５に示すように、ＣＰＵ３０が接続された制御部に相当するルートコンプレックス（時間差計測手段）３１には、計測用パケット発生部である計測用パケット発生回路３１ａと遅延量検出部である遅延量検出回路３１ｂと遅延量記憶部である遅延量記憶回路３１ｃとが備えられている。遅延量検出回路３１ｂでは、計測用パケット発生回路３１ａで発生した計測用パケットの出力時刻とエンドポイント３２からの戻りパケットの受信時刻を元に時間差Ｔ１及び時間差Ｔ２を検出する。検出された時間差Ｔ１及び時間差Ｔ２は、遅延量記憶回路３１ｃに記憶される。なお、計測用パケットとしては、ペイロードサイズを振った複数のパケットを用いてもかまわない。これにより、実測値を元に２曲線の交点を自動的に予測できるようになる。
【図面の簡単な説明】
【０１１６】
【図１】既存PCIシステムの構成例を示すブロック図である。
【図２】PCI Expressシステムの構成例を示すブロック図である。
【図３】デスクトップ／モバイルでのPCI Expressプラットホームの構成例を示すブロック図である。
【図４】ｘ４の場合の物理層の構造例を示す模式図である。
【図５】デバイス間のレーン接続例を示す模式図である。
【図６】スイッチの論理的構造例を示すブロック図である。
【図７−１】既存のPCIのアーキテクチャを示すブロック図である。
【図７−２】PCI Expressのアーキテクチャを示すブロック図である。
【図８】PCI Expressの階層構造を示すブロック図である。
【図９】トランザクションレイヤパケットのフォーマット例を示す説明図である。
【図１０】PCI Expressのコンフィグレーション空間を示す説明図である。
【図１１】仮想チャネルの概念を説明するための模式図である。
【図１２】データリンクレイヤパケットのフォーマット例を示す説明図である。
【図１３】ｘ４リンクでのバイトストライピング例を示す模式図である。
【図１４】Ｌ０／Ｌ０ｓ／Ｌ１／Ｌ２というリンクステートの定義について説明する説明図である。
【図１５】アクティブステート電源管理の制御例を示すタイムチャートである。
【図１６】本発明の実施の一形態の情報処理システムの構成例を示す概略ブロック図である。
【図１７】その変形構成例を略図的に示すブロック図である。
【図１８】その変形構成例を略図的に示すブロック図である。
【図１９】その変形構成例を略図的に示すブロック図である。
【図２０】その変形構成例を略図的に示すブロック図である。
【図２１】その変形構成例を略図的に示すブロック図である。
【図２２】その変形構成例を略図的に示すブロック図である。
【図２３】その変形構成例を略図的に示すブロック図である。
【図２４】その変形構成例を略図的に示すブロック図である。
【図２５】その変形構成例を略図的に示すブロック図である。
【図２６】その変形構成例を略図的に示すブロック図である。
【図２７】その変形構成例を略図的に示すブロック図である。
【図２８】情報処理システムの最適構成例を示す概略ブロック図である。
【図２９】コマンド発行順を示す模式的なタイミングチャートである。
【図３０】コマンド発行順を示す模式的なタイミングチャートである。
【図３１】コマンド発行時におけるリクエストパケットと対応したコンプリッションパケットとの関係を示す説明図である。
【図３２】スイッチを経由した場合と経由しない場合とにおける遅延の影響を例示的に示す特性図である。
【図３３】スイッチを経由した場合における段数の変化による遅延の影響を例示的に示す特性図である。
【図３４】要因別のロス特性を示す特性図である。
【図３５】遅延量検出部を含んだPCI Expressシステムを例示的に示す構成図である。
【符号の説明】
【０１１７】
１      情報処理システム
７      高速シリアルバス
３１      時間差計測手段
３１ａ    計測用パケット発生部
３１ｂ    遅延量検出部
３１ｃ    遅延量記憶部
【図１】
0004690828.tif 000002
【図２】
0004690828.tif 000003
【図３】
0004690828.tif 000004
【図４】
0004690828.tif 000005
【図５】
0004690828.tif 000006
【図６】
0004690828.tif 000007
【図７−１】
0004690828.tif 000008
【図７−２】
0004690828.tif 000009
【図８】
0004690828.tif 000010
【図９】
0004690828.tif 000011
【図１０】
0004690828.tif 000012
【図１１】
0004690828.tif 000013
【図１２】
0004690828.tif 000014
【図１３】
0004690828.tif 000015
【図１４】
0004690828.tif 000016
【図１５】
0004690828.tif 000017
【図１６】
0004690828.tif 000018
【図１７】
0004690828.tif 000019
【図１８】
0004690828.tif 000020
【図１９】
0004690828.tif 000021
【図２０】
0004690828.tif 000022
【図２１】
0004690828.tif 000023
【図２２】
0004690828.tif 000024
【図２３】
0004690828.tif 000025
【図２４】
0004690828.tif 000026
【図２５】
0004690828.tif 000027
【図２６】
0004690828.tif 000028
【図２７】
0004690828.tif 000029
【図２８】
0004690828.tif 000030
【図２９】
0004690828.tif 000031
【図３０】
0004690828.tif 000032
【図３１】
0004690828.tif 000033
【図３２】
0004690828.tif 000034
【図３３】
0004690828.tif 000035
【図３４】
0004690828.tif 000036
【図３５】
0004690828.tif 000037