(57)【要約】【課題】様々な性質の異なるトラフィックを持つデバイスを高速シリアルスイッチファブリックに対して自由に拡張することができる情報処理装置およびデータ通信方法を提供する。【解決手段】トラフィックの差別化を行うことができるトラフィッククラスを仮想チャネルに対してマッピング可能な高速シリアルスイッチファブリック２を介して複数のデバイス３〜１２を接続した情報処理装置１において、各デバイス３〜１２間のデータ通信に際して、各デバイス３〜１２間のトラフィックの性質に基づいてグループに分類したグループテーブルに従ってグループ毎にトラフィッククラスを設定し、設定された各トラフィッククラスを異なる仮想チャネルにそれぞれ割り当ててデータ通信の優先度を与える。これにより、様々な性質の異なるトラフィックを持つデバイス３〜１２を高速シリアルスイッチファブリック２に対して自由に拡張することができる。【選択図】        図２５
2007272871.tif 000002
【特許請求の範囲】
【請求項１】
トラフィックの差別化を行うことができるトラフィッククラスを仮想チャネルに対してマッピング可能な高速シリアルスイッチファブリックを介して複数のデバイスを接続した情報処理装置において、
前記各デバイス間のデータ通信を、前記各デバイス間のトラフィックの性質に基づいてグループに分類したグループテーブルと、
このグループテーブルに従って前記グループ毎に前記トラフィッククラスを設定するトラフィッククラス設定手段と、
このトラフィッククラス設定手段により設定された前記各トラフィッククラスを、異なる前記仮想チャネルにそれぞれ割り当ててデータ通信の優先度を与えるチャネル設定手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記高速シリアルスイッチファブリックは、Advanced Switching Interconnect規格のスイッチファブリックである、
ことを特徴とする請求項１記載の情報処理装置。
【請求項３】
一定の時間内にデータを送信する必要がある等時性制約があるトラフィックをグループとして分類する、
ことを特徴とする請求項１または２記載の情報処理装置。
【請求項４】
ライン同期信号単位で等時性制約があるトラフィックをグループとして分類する、
ことを特徴とする請求項３記載の情報処理装置。
【請求項５】
ページ単位で等時性制約があるトラフィックをグループとして分類する、
ことを特徴とする請求項３記載の情報処理装置。
【請求項６】
前記等時性制約がないトラフィックについて、データ圧縮方式であるロスレス／ロッシーに従ってグループ分類する、
ことを特徴とする請求項３ないし５のいずれか一記載の情報処理装置。
【請求項７】
データ圧縮方式であるロスレス／ロッシーに従ってグループ分類する場合、ＡＳＩ（Advanced Switching Interconnect）パケットのPerishable bitを参照する、
ことを特徴とする請求項６記載の情報処理装置。
【請求項８】
トラフィックの差別化を行うことができるトラフィッククラスを仮想チャネルに対してマッピング可能な高速シリアルスイッチファブリックを介して複数のデバイスを接続した情報処理装置におけるデータ通信方法であって、
前記各デバイス間のデータ通信を、前記各デバイス間のトラフィックの性質に基づいてグループに分類したグループテーブルに従って前記グループ毎に前記トラフィッククラスを設定するトラフィッククラス設定工程と、
このトラフィッククラス設定工程により設定された前記各トラフィッククラスを、異なる前記仮想チャネルにそれぞれ割り当ててデータ通信の優先度を与えるチャネル設定工程と、
を含むことを特徴とするデータ通信方法。
【請求項９】
前記高速シリアルスイッチファブリックは、Advanced Switching Interconnect規格のスイッチファブリックである、
ことを特徴とする請求項８記載のデータ通信方法。
【請求項１０】
一定の時間内にデータを送信する必要がある等時性制約があるトラフィックをグループとして分類する、
ことを特徴とする請求項８または９記載のデータ通信方法。
【請求項１１】
ライン同期信号単位で等時性制約があるトラフィックをグループとして分類する、
ことを特徴とする請求項１０記載のデータ通信方法。
【請求項１２】
ページ単位で等時性制約があるトラフィックをグループとして分類する、
ことを特徴とする請求項１０記載のデータ通信方法。
【請求項１３】
前記等時性制約がないトラフィックについて、データ圧縮方式であるロスレス／ロッシーに従ってグループ分類する、
ことを特徴とする請求項１０ないし１２のいずれか一記載のデータ通信方法。
【請求項１４】
データ圧縮方式であるロスレス／ロッシーに従ってグループ分類する場合、ＡＳＩ（Advanced Switching Interconnect）パケットのPerishable bitを参照する、
ことを特徴とする請求項１３記載のデータ通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、トラフィックの差別化を行うことができるトラフィッククラスを仮想チャネルに対してマッピング可能な高速シリアルスイッチファブリックを介して複数のデバイスを接続した情報処理装置およびデータ通信方法に関する。
【背景技術】
【０００２】
一般に、画像データやその他のデータを扱うデジタル複写機、複合機（ＭＦＰ）等の情報処理装置では、デバイス間のインタフェースにＰＣＩバスが使用されている。
【０００３】
しかし、パラレル方式のＰＣＩバスでは、レーシングやスキューなどの問題があり、高速・高画質の画像形成装置に使用するには、転送レートが低い段階にきており、最近では、ＰＣＩバスのようなパラレル方式のインタフェースに代えて、IEEE1394やUSB等の高速シリアルインタフェースの使用が検討されている。例えば、特許文献１によれば、内部インタフェースとして、IEEE1394やUSB等の高速シリアルインタフェースを使用することが提案されている。
【０００４】
また、他の高速シリアルインタフェースとして、ＰＣＩバス方式の後継規格に当るPCI Express（登録商標）なるインタフェースも提案され、実用化の段階にきている（例えば、非特許文献１参照）。このPCI Expressシステムは、概略的には、例えば非特許文献１中の図１等に示されるようなルートコンプレックス−スイッチ（任意階層）−デバイス等のツリー構造（木構造）によるデータ通信網として構成されている。
【０００５】
さらに、近年においては、PCI Express アーキテクチャに基づく高速シリアルスイッチファブリックであるAdvanced Switching Interconnect規格も策定されている。このAdvanced Switching Interconnectは、PCI Expressの高速シリアル伝送の物理層とリンク層の技術をそのまま採用しつつ、より広範囲なアプリケーションに対応できるようにしたものであり、その接続対象はChip-to-Chip, Board-to-Boardを想定している。このAdvanced Switching Interconnectによれば、トラフィッククラスを仮想チャネルに対してマッピングすることにより、トラフィックの差別化（優先度をつける）を行うことができる。
【０００６】
【特許文献１】特開２００１−０１６３８２号公報
【非特許文献１】“PCI Express 規格の概要”Interface誌、July’2003 里見尚志
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところが、デバイス間のインタフェースとしてPCI Expressなるインタフェースを用いた場合であっても、解決せねばならない問題がある。概略的には、トラフィック制御が不十分である点、マルチホストが不可である点、拡張性の制限がある点などである。
【０００８】
本発明は、上記に鑑みてなされたものであって、高速シリアルスイッチファブリックを用いると共に、様々な性質の異なるトラフィックを持つデバイスを高速シリアルスイッチファブリックに対して自由に拡張することができる情報処理装置およびデータ通信方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、請求項１にかかる発明は、トラフィックの差別化を行うことができるトラフィッククラスを仮想チャネルに対してマッピング可能な高速シリアルスイッチファブリックを介して複数のデバイスを接続した情報処理装置において、前記各デバイス間のデータ通信を、前記各デバイス間のトラフィックの性質に基づいてグループに分類したグループテーブルと、このグループテーブルに従って前記グループ毎に前記トラフィッククラスを設定するトラフィッククラス設定手段と、このトラフィッククラス設定手段により設定された前記各トラフィッククラスを、異なる前記仮想チャネルにそれぞれ割り当ててデータ通信の優先度を与えるチャネル設定手段と、を備える。
【００１０】
また、請求項２にかかる発明は、請求項１記載の情報処理装置において、前記高速シリアルスイッチファブリックは、Advanced Switching Interconnect規格のスイッチファブリックである。
【００１１】
また、請求項３にかかる発明は、請求項１または２記載の情報処理装置において、一定の時間内にデータを送信する必要がある等時性制約があるトラフィックをグループとして分類する。
【００１２】
また、請求項４にかかる発明は、請求項３記載の情報処理装置において、ライン同期信号単位で等時性制約があるトラフィックをグループとして分類する。
【００１３】
また、請求項５にかかる発明は、請求項３記載の情報処理装置において、ページ単位で等時性制約があるトラフィックをグループとして分類する。
【００１４】
また、請求項６にかかる発明は、請求項３ないし５のいずれか一記載の情報処理装置において、前記等時性制約がないトラフィックについて、データ圧縮方式であるロスレス／ロッシーに従ってグループ分類する。
【００１５】
また、請求項７にかかる発明は、請求項６記載の情報処理装置において、データ圧縮方式であるロスレス／ロッシーに従ってグループ分類する場合、ＡＳＩ（Advanced Switchi
ng Interconnect）パケットのPerishable bitを参照する。
【００１６】
また、請求項８にかかる発明は、トラフィックの差別化を行うことができるトラフィッククラスを仮想チャネルに対してマッピング可能な高速シリアルスイッチファブリックを介して複数のデバイスを接続した情報処理装置におけるデータ通信方法であって、前記各デバイス間のデータ通信を、前記各デバイス間のトラフィックの性質に基づいてグループに分類したグループテーブルに従って前記グループ毎に前記トラフィッククラスを設定するトラフィッククラス設定工程と、このトラフィッククラス設定工程により設定された前記各トラフィッククラスを、異なる前記仮想チャネルにそれぞれ割り当ててデータ通信の優先度を与えるチャネル設定工程と、を含む。
【００１７】
また、請求項９にかかる発明は、請求項８記載のデータ通信方法において、前記高速シリアルスイッチファブリックは、Advanced Switching Interconnect規格のスイッチファブリックである。
【００１８】
また、請求項１０にかかる発明は、請求項８または９記載のデータ通信方法において、一定の時間内にデータを送信する必要がある等時性制約があるトラフィックをグループとして分類する。
【００１９】
また、請求項１１にかかる発明は、請求項１０記載のデータ通信方法において、ライン同期信号単位で等時性制約があるトラフィックをグループとして分類する。
【００２０】
また、請求項１２にかかる発明は、請求項１０記載のデータ通信方法において、ページ単位で等時性制約があるトラフィックをグループとして分類する。
【００２１】
また、請求項１３にかかる発明は、請求項１０ないし１２のいずれか一記載のデータ通信方法において、前記等時性制約がないトラフィックについて、データ圧縮方式であるロスレス／ロッシーに従ってグループ分類する。
【００２２】
また、請求項１４にかかる発明は、請求項１３記載のデータ通信方法において、データ圧縮方式であるロスレス／ロッシーに従ってグループ分類する場合、ＡＳＩ（Advanced Switching Interconnect）パケットのPerishable bitを参照する。
【発明の効果】
【００２３】
請求項１にかかる発明によれば、各デバイス間のデータ通信に際して、各デバイス間のトラフィックの性質に基づいてグループに分類したグループテーブルに従ってグループ毎にトラフィッククラスを設定し、設定された各トラフィッククラスを異なる仮想チャネルにそれぞれ割り当ててデータ通信の優先度を与えることにより、様々な性質の異なるトラフィックを持つデバイスを高速シリアルスイッチファブリックに対して自由に拡張することができるという効果を奏する。
【００２４】
また、請求項２にかかる発明によれば、高速シリアルスイッチファブリックは、Advanced Switching Interconnect規格のスイッチファブリックであることにより、デバイス間の通信速度の高速化を図ることができる。また、各種上位プロトコルをトンネルさせることにより、TCP/IP等の通信を通常のEthernetの処理よりも高速に実現する局所システムを構築することができる。更に、ファブリック構造への対応などでシステムに冗長性を持たせてロバスト性を向上させたり、動的なルーティングパスの切り替えができるようになる。
【００２５】
また、請求項３にかかる発明によれば、一定の時間内にデータを送信する必要がある等時性制約があるトラフィックをグループとして分類することにより、スキャナやプロッタのようなデバイスからの等時性制約があるトラフィックの優先度を等時性制約がないトラフィックよりも高くすることができるので、混在時におけるスキャナやプロッタなどの等時性を確保することができるという効果を奏する。
【００２６】
また、請求項４にかかる発明によれば、ライン同期信号単位で等時性制約があるトラフィックをグループとして分類することにより、スキャナやプロッタのようなデバイスからのライン同期信号単位で等時性制約があるトラフィックの優先度をページ単位で等時性制約があるトラフィックよりも高くすることができるので、混在時におけるスキャナやプロッタなどの等時性を確保することができるという効果を奏する。
【００２７】
また、請求項５にかかる発明によれば、ページ単位で等時性制約があるトラフィックをグループとして分類することにより、ページ単位で等時性制約があるトラフィックの優先度を等時性制約がないトラフィックよりも高くすることができるので、混在時における等時性を確保することができるという効果を奏する。
【００２８】
また、請求項６にかかる発明によれば、等時性制約がないトラフィックについて、データ圧縮方式であるロスレス／ロッシーに従ってグループ分類することにより、等時性制約がなくともロスレスのグループを優先的にデータ通信することができるという効果を奏する。
【００２９】
また、請求項７にかかる発明によれば、データ圧縮方式であるロスレス／ロッシーに従ってグループ分類する場合、ＡＳＩ（Advanced Switching Interconnect）パケットのPerishable bitを参照することにより、ロスレス／ロッシーの識別が容易になるという効果を奏する。
【００３０】
また、請求項８にかかる発明によれば、各デバイス間のデータ通信に際して、各デバイス間のトラフィックの性質に基づいてグループに分類したグループテーブルに従ってグループ毎にトラフィッククラスを設定し、設定された各トラフィッククラスを異なる仮想チャネルにそれぞれ割り当ててデータ通信の優先度を与えることにより、様々な性質の異なるトラフィックを持つデバイスを高速シリアルスイッチファブリックに対して自由に拡張することができるという効果を奏する。
【００３１】
また、請求項９にかかる発明によれば、高速シリアルスイッチファブリックは、Advanced Switching Interconnect規格のスイッチファブリックであることにより、デバイス間の通信速度の高速化を図ることができる。また、各種上位プロトコルをトンネルさせることにより、TCP/IP等の通信を通常のEthernetの処理よりも高速に実現する局所システムを構築することができる。更に、ファブリック構造への対応などでシステムに冗長性を持たせてロバスト性を向上させたり、動的なルーティングパスの切り替えができるようになる。
【００３２】
また、請求項１０にかかる発明によれば、一定の時間内にデータを送信する必要がある等時性制約があるトラフィックをグループとして分類することにより、スキャナやプロッタのようなデバイスからの等時性制約があるトラフィックの優先度を等時性制約がないトラフィックよりも高くすることができるので、混在時におけるスキャナやプロッタなどの等時性を確保することができるという効果を奏する。
【００３３】
また、請求項１１にかかる発明によれば、ライン同期信号単位で等時性制約があるトラフィックをグループとして分類することにより、スキャナやプロッタのようなデバイスからのライン同期信号単位で等時性制約があるトラフィックの優先度をページ単位で等時性制約があるトラフィックよりも高くすることができるので、混在時におけるスキャナやプロッタなどの等時性を確保することができるという効果を奏する。
【００３４】
また、請求項１２にかかる発明によれば、ページ単位で等時性制約があるトラフィックをグループとして分類することにより、ページ単位で等時性制約があるトラフィックの優先度を等時性制約がないトラフィックよりも高くすることができるので、混在時における等時性を確保することができるという効果を奏する。
【００３５】
また、請求項１３にかかる発明によれば、等時性制約がないトラフィックについて、データ圧縮方式であるロスレス／ロッシーに従ってグループ分類することにより、等時性制約がなくともロスレスのグループを優先的にデータ通信することができるという効果を奏する。
【００３６】
また、請求項１４にかかる発明によれば、データ圧縮方式であるロスレス／ロッシーに従ってグループ分類する場合、ＡＳＩ（Advanced Switching Interconnect）パケットのPerishable bitを参照することにより、ロスレス／ロッシーの識別が容易になるという効果を奏する。
【発明を実施するための最良の形態】
【００３７】
以下に添付図面を参照して、この発明にかかる情報処理装置およびデータ通信方法の最良な実施の形態を詳細に説明する。
【００３８】
本発明を実施するための最良の形態について図面を参照して説明する。以下では、PCI Expressの詳細について、［PCI Express規格の概要］〜［PCI Express のアーキテクチャの詳細］の欄で説明し、PCI Expressの技術を活用したAdvanced Switchについて、[Advanced Switchとは]〜[Advanced Switch技術の特徴]の欄で説明し、本実施の形態の情報処理装置について、［情報処理装置の構成］〜［動作例］の欄で説明する。
【００３９】
［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では、前述したように、８Ｂ／１０Ｂエンコーディングによってできるだけ連続した“０”や“１”が続かないように処理されるが、連続した“０”や“１”が続くこともある（最大５回）。この場合、送信側はデエンファシス転送を行わなければならないことが規定されている。同一極性のビットが連続する場合は、２つ目のビットからは差動電圧レベル（振幅）を３．５±０．５ｄＢ落とすことで、受信側で受け取る信号のノイズ・マージンを稼ぐ必要がある。これを、デエンファシスという。伝送路の周波数依存性減衰のため、変化するビットの場合は高周波成分が多く、減衰により受信側の波形が小さくなるが、変化しないビットの場合は高周波成分が少なく、相対的に受信側の波形が大きくなる。このため、受信側での波形を一定とするためにデエンファシスを行う。
【００８３】
[Advanced Switch Interconnectとは]
次に、本実施の形態は上述したPCI Expressの技術を活用したAdvanced Switch Interconnectを利用するものであり、本実施の形態の前提として当該Advanced Switch Interconnectの概要について説明する。
【００８４】
近年においては、ブロードバンドと半導体技術の進歩を背景としたコンピューティングと通信の融合が急速に進み、新たなアプリケーションシステムに幅広く対応できる規格の出現が望まれるようになってきている。そこで登場してきたのがPCI Expressの技術を活用したＡＳＩ（Advanced Switching Interconnect）規格であり、コンピューティングから通信まで幅広いアプリケーションに適用することを想定している。ＡＳ仕様の策定と普及は非営利団体であるASI-SIG（Advanced Switching Interconnect Special Interest Groupe）によって運営されている。
【００８５】
[Advanced Switch Interconnect技術の概要]
次に、Advanced Switch Interconnect技術の概要について説明する。
【００８６】
まず、PCI ExpressとＡＳＩ（Advanced Switching Interconnect）の関係について説明する。図１６に、PCI ExpressとＡＳＩ（Advanced Switching Interconnect）のプロトコルスタックの関係を示す。ＡＳＩ（Advanced Switching Interconnect）はPCI Expressの高速シリアル伝送の物理層とリンク層の技術をそのまま採用しつつ、より広範囲なアプリケーションに対応できるようにしたものであり、その接続対象はChip-to-Chip, Board-to-Boardを想定している。PCI Expressはコンピューティングで培われてきたＰＣＩのトランザクションをそのまま継承しているが、ＡＳＩ（Advanced Switching Interconnect）ではPCI Expressのトランザクション層を入れ替えて機能を拡張しており、より高度なデータフローとプロトコルに対応出来るようにしている。また、接続構造もPCI Expressのツリー構造から、より自由度の高いファブリック構造が出来るように拡張されており、マルチＣＰＵ環境にも対応している。ＡＳＩ（Advanced Switching Interconnect）では、同様のファブリック構造が可能な他の規格（Ethernet（登録商標），InfiniBand等）よりもルーティング手法が格段に改善され、高速化が図られている。
【００８７】
図１６に示すファブリック管理機能（AS Fabric Mngmnt）は、ソフトウェアで構成されるＡＳＩ（Advanced Switching Interconnect）プロトコルの一部であり、接続セットアップや取り外し、イベント管理、パフォーマンスおよび稼動状況のモニタ、リダンダント・ルート、パスの無効化、リソース割り振り、負荷の平準化のような種々のサービスをサポートする。図１７は、ファブリック管理機能における初期化シーケンスを示すものである。
【００８８】
ＡＳＩ（Advanced Switching Interconnect）では、図１８に示すように、各種プロトコルをカプセル化する手法を採用することで、より高度なプロトコル（TCP/IP，Fibre Channel等）サービスの高速化を実現しようとしている。ＡＳＩ（Advanced Switching Interconnect）の上位層にはPEI（Protocol Encapsulation Interface）と呼ばれる部分があり、外部から到達した各種パケットにＡＳヘッダを付加し、ＡＳパケットに変換する機能をもっている。ＡＳファブリックを通過したパケットは受信側のPEIでＡＳヘッダがはずされ、元のパケットとして抽出される。上流のプロトコルインタフェースはPI（パイ）と呼ばれ、各種標準に対応できる他、AS Native，Vendor Specificプロトコルも実装できる仕組みを採用している。PCI ExpressとＡＳ（Advanced Switching）をブリッジで接続しPCI Expressプロトコルをカプセル化し転送するプロファイルは、PI-8として定義されている。
【００８９】
[Advanced Switch Interconnect技術の特徴]
ＡＳＩ（Advanced Switching Interconnect）はPCI Expressの特徴である、高速性、バンド幅のスケーラビリティ、階層構造による物理層の拡張性、データの信頼性等に加えて、以下に示すようなＡＳＩ（Advanced Switching Interconnect）独自の特徴がある。
・動画等のunreliable（lossy）パケット伝送への対応
・マルチキャスト、ブロードキャストパケットへの対応
・カプセル化によるマルチプロトコル伝送
・高速な独自のパスルーティング方式の採用
・輻輳管理機能のサポート
・ファブリック構造への対応
【００９０】
このような特徴により、図１９に示すような複数デバイス間のストレージやＩＯリソースの共有が可能となる。また、これまでPCI，PCI-X，PCI Express，HyperTransport，RapidIO,StarFabricなどの規格は、同じロード／ストアプロトコルを使っていても物理層が異なるために複雑な接続手段が必要であったが、ＡＳ（Advanced Switching）技術を利用することで図２０に示すような相互通信もシンプルに実現できるようになり、デバイス間の通信速度が高速化される。また、各種上位プロトコルをトンネルさせることにより、TCP/IP等の通信を通常のEthernetの処理よりも高速に実現する局所システムを構築することも可能となる。更に、ファブリック構造への対応などでシステムに冗長性を持たせてロバスト性を向上させたり、動的なルーティングパスの切り替えができるようになる。
【００９１】
加えて、Advanced Switching Interconnectは、PCI Expressの物理層およびデータリンク層を最適化されたトランザクション層と重ね合わせたもので、様々な機能を提供する。トランザクション層の特徴的な機能としては、マルチレベルのＱｏＳ（Quality of Service）がある。ＱｏＳは、２０の仮想チャネル（ＶＣ：Vertual Channel）と８つのトラフィッククラス（ＴＣ）をサポートしている。
【００９２】
ＡＳＩ（Advanced Switching Interconnect）を制御する上位のソフトウェアであるファブリック管理機能（AS Fabric Mngmnt）は、トラフィッククラス（ＴＣ）を使用することによりトラフィックの差別化（優先度をつける）を行うことができる。例えば、映像データをネットワークのデータよりも優先して転送する、といったことが可能となる。トラフィッククラス（ＴＣ）はＴＣ０からＴＣ７まで８つある。
【００９３】
仮想チャネル（ＶＣ：Vertual Channel）は、各々独立した仮想通信バス（同一のリンクを共用する複数の独立したデータ・フロー・バッファを使用するメカニズム）で、各々がリソース（バッファやキュー）を持ち、独立したフロー制御を行う。これにより、１つの仮想チャネルのバッファが満杯の状態（full）になっても、他の仮想チャネルの転送を行うことができる。つまり、物理的には１つのリンクを仮想的な複数のチャネルに分けることで、有効に使用することができる。
【００９４】
トランザクション層内では、トラフィッククラス（ＴＣ）が仮想チャネル（ＶＣ）にマッピングされる。１つの仮想チャネル（ＶＣ）に対して１つ又は複数のトラフィッククラス（ＴＣ）をマッピングできる（仮想チャネル（ＶＣ）の数が少ない場合）。単純な例では、各トラフィッククラス（ＴＣ）から各仮想チャネル（ＶＣ）に１対１、全てのトラフィッククラス（ＴＣ）を仮想チャネルＶＣ０にマッピングする、といったことが考えられる。ＴＣ０−ＶＣ０のマッピングは、必須／固定で、それ以外のマッピングは上位のソフトウェアから制御される。ソフトウェアはトラフィッククラス（ＴＣ）を利用することで、トランザクションの優先度を制御することが可能となる。
【００９５】
また、ＡＳＩファブリック内では、過大なトラフィックが発生することによるCongestion状態が発生することがある。Congestion状態に陥ると、パケットの応答時間が長くなり、一定のサービスレベルが維持できなくなるという問題がある。そこで、ＡＳＩ（Advanced Switching Interconnect）規格では、Congestion Management機能としてStatus-Based Flow Control（ＳＢＦＣ）を備えることにより、この問題の解決を図っている。
【００９６】
ここで、Congestion Managementについて具体的に説明する。図２１−１に示すように、３つのスイッチにトラフィック１−３が存在している場合において、最初にトラフィック１とトラフィック２が、所望のデータ転送を行っていたとする。ここで、トラフィック３としてポートＡの能力以上の過大なトラフィックが発生したとする。この影響は、同じ出力ポートＡへのトラフィック２の減少となって現れる。また、トラフィック２のみならず、トラフィック２と同じリンクを経由するトラフィック１のトラフィックも減少してしまう。
【００９７】
そこで、図２１−２に示すように、ＳＢＦＣを用いてポートＡが混んでいる事を隣のスイッチに伝えることにより、トラフィック２の出力を抑えることができるようになるので、トラフィック１がトラフィック２の影響を受けなくなる。
【００９８】
ところで、ＡＳＩ（Advanced Switching Interconnect）の仮想チャネル（ＶＣ）には、下記に示すような３つのタイプがある。
ＢＶＣ（Bypass Capable Unicast） ： ＶＣ Ｉｄｓ ０−７
ＯＶＣ（Ordered-Only Unicast）   ： ＶＣ Ｉｄｓ ８−１５
ＭＶＣ（Multicast）              ： ＶＣ Ｉｄｓ １６−１９
【００９９】
ＢＶＣ（Bypass Capable Unicast）は、図２２に示すように、先に入力されたQueueをバイパスさせ、後から入力されたQueueがアービタ（調停回路）から抜けていくことを許しているものである。
【０１００】
ＯＶＣ（Ordered-Only Unicast）は、図２３に示すように、先に入力されたQueueがそのまま出力されるものである。
【０１０１】
ＭＶＣ（Multicast）は、図２４に示すように、入力されたQueueがマルチキャスト出力されるものである。
【０１０２】
［情報処理装置の構成］
図２５は、本実施の形態の情報処理装置１の構成例を示す概略ブロック図である。本実施の形態の情報処理装置１は、例えばＭＦＰ（Multi Function Peripheral）等の機器に適用されるもので、高速シリアルスイッチファブリックであるＡＳＩ（Advanced Switching Interconnect）２を介して各種のエンドポイントデバイスやスイッチ出力ポート（以下、デバイスという）をそれぞれ接続している。ここでは、ＡＳＩ２に接続される各種のデバイスとして、システムコントローラ３、スキャナ４、プロッタ５、画像メモリ６、生体情報入力装置７、人体検知センサ８、個体検出センサ９、オペレーションパネル１０、外部Ｉ／Ｏ１１、ネットワークインタフェースコントローラ（ＮＩＣ）１２、画像処理ユニット１３を接続している。
【０１０３】
システムコントローラ３は、インストールされているプログラム（ソフトウェア）に従い当該装置全体の制御を受け持つＣＰＵ（Central Processing Unit）等を含み、経路制御や経路判断等の処理を行うデバイス部分（プリンタコントローラ）を意味する。
【０１０４】
スキャナ４とは、原稿画像等に基づく画像データを当該システム内に取り込むためのデバイスやユニット部分を示し、例えば、原稿画像を光電的に読み取って画像データを取得するスキャナエンジン等により構成されている。
【０１０５】
プロッタ５とは、画像データを紙などに印刷出力するデバイスやユニット部分を示し、例えば、電子写真方式のプロッタ（プリンタ）エンジン等により構成されている。なお、プロッタ５の印刷方式は、電子写真方式のほか、インクジェット方式、昇華型熱転写方式、銀塩写真方式、直接感熱記録方式、溶融型熱転写方式など、様々な方式を用いることができる。
【０１０６】
画像メモリ６は、ＨＤＤ（Hard Disk Drive）やＲＡＭ（Random Access Memory）などであり、スキャナ４で読み取った画像データなどを格納する。
【０１０７】
また、生体情報入力装置７は、個人認証に用いられる指紋、虹彩画像、顔、静脈などの生体情報（バイオメトリクス）の入力をユーザに行わせるものである。人体検知センサ８は、人の動きによって生じる温度の変化を検出するものであり、この人体検知センサ８によって人が近くにいないと判断した場合には、装置は待機状態にされて省電力化が図られる。個体検出センサ９は、ユーザが所有するＩＤカードなどに取り付けた電子タグ（ＲＦＩＤ）との通信により、個体情報（属性）を識別するものである。
【０１０８】
オペレーションパネル１０は、タッチパネルや表示パネルを備えており、装置に対する各種命令の入力を受け付ける。
【０１０９】
外部Ｉ／Ｏ１１は、接続された他の機器との間で画像データや制御データ等のやり取りを行うものである。
【０１１０】
ネットワークインタフェースコントローラ（ＮＩＣ）１２は、ＬＡＮ（Local Area Network）やインターネットなどのネットワークと接続され、通信プロトコルに従ってネットワークに接続された他の機器との間で画像データや制御データ等のやり取りを行うものである。
【０１１１】
画像処理ユニット１３は、スキャナ４で読み取った画像データなどに対し、ユーザ指示に応じて、あるいは情報処理装置１の持つ特性に応じて各種画像処理を実行する。画像処理ユニット１３は、処理後の画像データをプロッタ５に出力する。
【０１１２】
ここで、本実施の形態の情報処理システム１が備える特徴的な機能について説明する。本実施の形態の情報処理システム１においては、上述したデバイス間のデータ通信を所定の条件でグループに分類し、グループ毎にトラフィックのプライオリティを与え、別々の仮想チャネル（ＶＣ：Vertual Channel）に割り当てるようにしている。この点について、以下に詳述する。
【０１１３】
図２６は、図２５の情報処理装置１の構成を部分的に詳細に示すブロック図である。図２６は、特に、スキャナ４と画像処理ユニット１３とプロッタ５とを、ＡＳＩ２を経由して接続した様子を示している。各デバイスの構成は、トランザクション層（ＴＬ），データリンク層（ＤＬ），物理層（ＰＬ）からなる通信コア２０と、通信コア部分以外のデバイス固有の機能（スキャナ４：データ入力部４ａ、画像処理ユニット１３：画像処理部１３ａ、プロッタ５：データ出力部５ａ）と、データ転送モジュール３０と、トラフィッククラス設定手段４０とから構成される。
【０１１４】
トラフィッククラス設定手段４０は、各データ転送モジュール３０で発生するトラフィックを、トラフィッククラスに割り付ける機能を持つ。
【０１１５】
また、通信コア２０トランザクション層（ＴＬ）内には、トラフィッククラス（ＴＣ）をバーチャルチャネル（ＶＣ）に割り付けるためのチャネル設定手段５０を有している。
【０１１６】
なお、トラフィッククラス設定手段４０とチャネル設定手段５０は、図２６に示すように、自由に割付を制御できるような構成でも良いし、対応付けを絞り込んでデータ転送モジュール３０からのトラフィックがバーチャルチャネル（ＶＣ）に対して一意的に決まるような構成となっても良い。
【０１１７】
図２７は、デバイスの構成を詳細に示すブロック図である。図２７を参照しつつ、デバイスを構成する各部の動作について詳細に説明する。なお、図２７にはトラフィックが例示的に記載されている。
【０１１８】
トラフィッククラス設定手段４０は、設定テーブル４０ａ、セレクタ４０ｂ、アービタ４０ｃにより構成される。なお、図２７に示す構成では、各データ転送モジュール３０のトラフィックが全てのトラフィッククラス（ＴＣ）に設定できるような構成であるが、必要最小限の対応づけが出来る構成であっても問題ない。その際、セレクタ４０ｂやアービタ４０ｃも最小限の数だけ用意すればよい。
【０１１９】
図２８は、設定テーブル４０ａの一例を示す模式図である。図２８に示すように、設定テーブル４０ａは、トラフィッククラス設定手段４０がグループ毎に設定するトラフィッククラス（ＴＣ）を格納したものである。図２８に示す例では、データ転送モジュール（１）とデータ転送モジュール（２）はページ等時性制約があるトラフィックグループであり、データ転送モジュール（３）はライン等時性制約があるトラフィックグループである場合を示す。本実施の形態は、トラフィックグループ種類毎に対応付けるトラフィッククラス（ＴＣ）を決めるというものである。したがって、ページ等時性制約があるトラフィックグループであるデータ転送モジュール（１）とデータ転送モジュール（２）をＴＣ０に割り付けるために、設定テーブル４０ａはセレクタ（１）とセレクタ（２）に対しての制御コマンドである“０”を発行する。ライン等時性制約があるトラフィックグループであるデータ転送モジュール（３）をＴＣ６に割り付けるために、設定テーブル４０ａはセレクタ（３）に対しての制御コマンドである“６”を発行する。
【０１２０】
チャネル設定手段５０は、設定テーブル５０ａ、アービタ５０ｂにより構成される。なお、図２７に示す構成では、必要最小限の対応づけが出来る構成としているが、各トラフィッククラス（ＴＣ）のトラフィックが全てのバーチャルチャネル（ＶＣ）に設定できるように、各トラフィッククラス（ＴＣ）に対してセレクタを設けても構わない。この場合、トラフィッククラス設定手段４０のように、チャネル設定手段５０も、設定テーブルとセレクタとアービタとにより構成されることになる。
【０１２１】
次に、トラフィッククラス設定手段４０により、データ転送モジュール３０で発生したトラフィックをトラフィッククラス（ＴＣ）に対応付ける動作について説明する。
【０１２２】
データ転送モジュール（１）で発生するトラフィック（１）をＴＣ０に割り付けるために、トラフィッククラス設定手段４０の設定テーブル４０ａからセレクタ（１）とアービタ（００）に対して制御信号を送る。セレクタ（１）では、受け取った制御信号に基づいて出力ポートの選択を行い、トラフィック（１）をアービタ（００）に伝える。アービタ（００）は、図２７に示す例においては競合するトラフィックが入力されていないが、設定テーブル４０ａからの制御信号に基づいて入力された信号のアービトレーションを行う。この結果、トラフィック（１）がＴＣ０に割り付けられる。
【０１２３】
同様に、データ転送モジュール（２）で発生するトラフィック（２）をＴＣ１に割り付けるために、トラフィッククラス設定手段４０の設定テーブル４０ａからセレクタ（２）とアービタ（０１）に対して制御信号を送る。セレクタ（２）では、受け取った制御信号に基づいて出力ポートの選択を行い、トラフィック（２）をアービタ（０１）に伝える。アービタ（０１）は、図２７に示す例においては競合するトラフィックが入力されていないが、設定テーブル４０ａからの制御信号に基づいて入力された信号のアービトレーションを行う。この結果、トラフィック（２）がＴＣ１に割り付けられる。
【０１２４】
同様に、データ転送モジュール（３）で発生するトラフィック（３）をＴＣ６に割り付けるために、トラフィッククラス設定手段４０の設定テーブル４０ａからセレクタ（３）とアービタ（０６）に対して制御信号を送る。セレクタ（３）では、受け取った制御信号に基づいて出力ポートの選択を行い、トラフィック（３）をアービタ（０６）に伝える。アービタ（０６）は、図２７に示す例においては競合するトラフィックが入力されていないが、設定テーブル４０ａからの制御信号に基づいて入力された信号のアービトレーションを行う。この結果、トラフィック（３）がＴＣ６に割り付けられる。
【０１２５】
次に、各トラフィッククラス（ＴＣ）に対応付けられたトラフィックが、チャネル設定手段５０によりバーチャルチャネル（ＶＣ）に対応付けられる動作について説明する。
【０１２６】
ＴＣ０（トラフィック（１））とＴＣ１（トラフィック（２））のトラフィックは、アービタ（１０）に入力される。アービタ（１０）では、設定テーブル５０ａからの制御信号に基づいて入力された信号のアービトレーションを行う。この結果、ＴＣ０（トラフィック（１））とＴＣ１（トラフィック（２））のトラフィックがＶＣ０に割り付けられる。
【０１２７】
同様に、ＴＣ６（トラフィック（３））とＴＣ７（トラフィック無し）のトラフィックは、アービタ（１３）に入力される。アービタ（１３）では、図２７に示す例においては競合するトラフィックが入力されていないが、設定テーブル５０ａからの制御信号に基づいて入力された信号のアービトレーションを行う。この結果、ＴＣ６（トラフィック（３））のトラフィックがＶＣ３に割り付けられる。
【０１２８】
［動作例］
ここで、動作例について説明する。まず、各デバイス間のデータ通信についてのグループ分類（グループテーブル）について説明する。本実施の形態においては、データのトラフィッククラス（ＴＣ）を、例えば「等時性」および「ロスレス／ロッシー」に基づいて分類している。より詳細には、下記に示すような分類（グループテーブル）としている。なお、ＡＳパケットのPerishable bit（図２９参照）をアクティブにする（Packet Droppingを許可する）ことにより、ロッシー機能をＯＮにすることができるので、「ロスレス／ロッシー」に従ってグループ分類する場合、ＡＳパケットのPerishable bitを参照するようにすれば良い。すなわち、ＡＳパケットのPerishable bitを参照することにより、ロスレス／ロッシーを容易に識別することができる。
１．グループＡ：ＬＳＹＮＣ等時性制約
（１）スキャナ４→オペレーションパネル１０の表示画像
（２）オペレーションパネル１０の表示画像→プロッタ５
２．グループＢ：ページ等時性制約
（３）画像メモリ６→オペレーションパネル１０の表示画像
（４）オペレーションパネル１０の表示画像→画像メモリ６
（５）画像メモリ６→オペレーションパネル１０の表示画像
３．グループＣ：等時性制約なし（ロスレス）
（６）オペレーションパネル１０→システムコントローラ３
（７）オペレーションパネル１０→システムコントローラ３
（８）人体検知センサ８→システムコントローラ３（人体検知：いる／いない）
（９）個体検出センサ９→システムコントローラ３（個体検知：ＲＦＩＤ（符号））
（１０）生体情報入力装置７→システムコントローラ３（個体検知：生体データ（指紋、虹彩画像など））
（１１）システムコントローラ３→オペレーションパネル１０、制御情報表示（色合わせ）
４．グループＤ：等時性制約なし（ロッシー）
（１２）外部Ｉ／Ｏ１１→ＵＩ（動画出力（ＭＰＥＧ／ＡＶＩ））
（１３）ＵＩ（カメラユニット）→ＮＩＣ１２（動画入力）
（１４）ＮＩＣ１２→ＵＩ（音声出力）
（１５）ＵＩ→画像メモリ６（音声入力）
（１６）ＮＩＣ１２→オペレーションパネル１０の表示画像（ｗｅｂ静止画出力）
（１７）ＮＩＣ１２→オペレーションパネル１０の表示画像（ｗｅｂ動画出力）
【０１２９】
このようにして各デバイス間のデータ通信を所定の条件（ここでは、「等時性」および「ロスレス／ロッシー」）でグループに分類する。
【０１３０】
そして、このようにして分類されたグループ毎にトラフィッククラス（ＴＣ）を使用してデータ通信のプライオリティ（優先度）を与える。ここでは、トラフィッククラス設定手段４０によってデータ通信のプライオリティ（優先度）を、
グループＡ＞グループＢ＞グループＣ＞グループＤ
とする。すなわち、各デバイス間のデータ通信においては、等時性制約が高いグループを優先的にデータ通信するとともに、等時性制約がなくともロスレスのグループを優先的にデータ通信することになる。
【０１３１】
すなわち、一定の時間内にデータを送信する必要がある等時性制約があるトラフィックをグループとして分類することにより、スキャナ４やプロッタ５のようなデバイスからの等時性制約があるトラフィックの優先度を等時性制約がないトラフィックよりも高くすることができるので、混在時におけるスキャナ４やプロッタ５などの等時性を確保することができる。また、ライン同期信号単位で等時性制約があるトラフィックをグループとして分類することにより、スキャナ４やプロッタ５のようなデバイスからのライン同期信号単位で等時性制約があるトラフィックの優先度をページ単位で等時性制約があるトラフィックよりも高くすることができるので、混在時におけるスキャナ４やプロッタ５などの等時性を確保することができる。さらに、ページ単位で等時性制約があるトラフィックをグループとして分類することにより、ページ単位で等時性制約があるトラフィックの優先度を等時性制約がないトラフィックよりも高くすることができるので、混在時における等時性を確保することができる。
【０１３２】
また、等時性制約がないトラフィックについて、データ圧縮方式であるロスレス／ロッシーに従ってグループ分類することにより、等時性制約がなくともロスレスのグループを優先的にデータ通信することができる。
【０１３３】
データ通信のプライオリティ（優先度）が決められた各トラフィッククラス（ＴＣ）は、チャネル設定手段５０により仮想チャネル（ＶＣ）をマッピングされる。本実施の形態においては、１つの仮想チャネル（ＶＣ）に対して１つのトラフィッククラス（ＴＣ）がマッピングされるものとする。
【０１３４】
これにより、ＡＳＩ（Advanced Switching Interconnect）を制御する上位のソフトウェアであるファブリック管理機能（AS Fabric Mngmnt）は、トラフィッククラス（ＴＣ）を利用することで、トランザクションの優先度を制御することが可能となる。
【０１３５】
このように本実施の形態によれば、各デバイス間のデータ通信に際して、各デバイス間のトラフィックの性質に基づいてグループに分類したグループテーブルに従ってグループ毎にトラフィッククラスを設定し、設定された各トラフィッククラスを異なる仮想チャネルにそれぞれ割り当ててデータ通信の優先度を与えることにより、様々な性質の異なるトラフィックを持つデバイスを高速シリアルスイッチファブリックに対して自由に拡張することができる。
【０１３６】
なお、本実施の形態においては、各デバイス間のデータ通信を「等時性」および「ロスレス／ロッシー」でグループに分類したが、これはあくまでも一例であって、性質の異なるトラフィッククラス（ＴＣ）に分類することができるものであれば良い。
【図面の簡単な説明】
【０１３７】
【図１】既存PCIシステムの構成例を示すブロック図である。
【図２】PCI Expressシステムの構成例を示すブロック図である。
【図３】デスクトップ／モバイルでのPCI Expressプラットホームの構成例を示すブロック図である。
【図４】ｘ４の場合の物理層の構造例を示す模式図である。
【図５】デバイス間のレーン接続例を示す模式図である。
【図６】スイッチの論理的構造例を示すブロック図である。
【図７−１】既存のPCIのアーキテクチャを示すブロック図である。
【図７−２】PCI Expressのアーキテクチャを示すブロック図である。
【図８】PCI Expressの階層構造を示すブロック図である。
【図９】トランザクションレイヤパケットのフォーマット例を示す説明図である。
【図１０】PCI Expressのコンフィグレーション空間を示す説明図である。
【図１１】仮想チャネルの概念を説明するための模式図である。
【図１２】データリンクレイヤパケットのフォーマット例を示す説明図である。
【図１３】ｘ４リンクでのバイトストライピング例を示す模式図である。
【図１４】Ｌ０／Ｌ０ｓ／Ｌ１／Ｌ２というリンクステートの定義について説明する説明図である。
【図１５】アクティブステート電源管理の制御例を示すタイムチャートである。
【図１６】PCI ExpressアーキテクチャとAdvanced Switching Interconnectの関係を示す説明図である。
【図１７】ファブリック管理機能における初期化シーケンスを示す説明図である。
【図１８】Advanced Switching Interconnectにおけるプロトコルのカプセル化を示す説明図である。
【図１９】Advanced Switching Interconnectによる複数デバイス間のストレージやＩＯリソースの共有を示す説明図である。
【図２０】Advanced Switching Interconnectによる通信例を示す説明図である。
【図２１−１】Congestion Managementについて示す説明図である。
【図２１−２】Congestion Managementについて示す説明図である。
【図２２】ＢＶＣ（Bypass Capable Unicast）を説明するための模式図である。
【図２３】ＯＶＣ（Ordered-Only Unicast）を説明するための模式図である。
【図２４】ＭＶＣ（Multicast）を説明するための模式図である。
【図２５】本発明の実施の一形態の情報処理装置の構成例を示す概略ブロック図である。
【図２６】図２５の情報処理装置の構成を部分的に詳細に示すブロック図である。
【図２７】デバイスの構成を詳細に示すブロック図である。
【図２８】設定テーブルの一例を示す模式図である。
【図２９】ＡＳＩパケットのPerishable bitを説明するための模式図である。
【符号の説明】
【０１３８】
１      情報処理装置
２      高速シリアルスイッチファブリック
３〜１２      デバイス
４０    トラフィッククラス設定手段
５０    チャネル設定手段
【図１】
2007272871.tif 000003
【図２】
2007272871.tif 000004
【図３】
2007272871.tif 000005
【図４】
2007272871.tif 000006
【図５】
2007272871.tif 000007
【図６】
2007272871.tif 000008
【図７−１】
2007272871.tif 000009
【図７−２】
2007272871.tif 000010
【図８】
2007272871.tif 000011
【図９】
2007272871.tif 000012
【図１０】
2007272871.tif 000013
【図１１】
2007272871.tif 000014
【図１２】
2007272871.tif 000015
【図１３】
2007272871.tif 000016
【図１４】
2007272871.tif 000017
【図１５】
2007272871.tif 000018
【図１６】
2007272871.tif 000019
【図１７】
2007272871.tif 000020
【図１８】
2007272871.tif 000021
【図１９】
2007272871.tif 000022
【図２０】
2007272871.tif 000023
【図２１−１】
2007272871.tif 000024
【図２１−２】
2007272871.tif 000025
【図２２】
2007272871.tif 000026
【図２３】
2007272871.tif 000027
【図２４】
2007272871.tif 000028
【図２５】
2007272871.tif 000029
【図２６】
2007272871.tif 000030
【図２７】
2007272871.tif 000031
【図２８】
2007272871.tif 000032
【図２９】
2007272871.tif 000033