JP4603335B2 - データ転送システム、画像形成システム及びデータ転送方法 - Google Patents

データ転送システム、画像形成システム及びデータ転送方法 Download PDF

Info

Publication number
JP4603335B2
JP4603335B2 JP2004324555A JP2004324555A JP4603335B2 JP 4603335 B2 JP4603335 B2 JP 4603335B2 JP 2004324555 A JP2004324555 A JP 2004324555A JP 2004324555 A JP2004324555 A JP 2004324555A JP 4603335 B2 JP4603335 B2 JP 4603335B2
Authority
JP
Japan
Prior art keywords
port
data transfer
endpoint
switch
transfer system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004324555A
Other languages
English (en)
Other versions
JP2005166028A (ja
Inventor
純一 池田
幸治 押切
充弘 大泉
豊 米田
覚 沼倉
典之 寺尾
泰之 進藤
徹 佐々木
光冶 竹尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2004324555A priority Critical patent/JP4603335B2/ja
Priority to US11/125,207 priority patent/US20060114918A1/en
Publication of JP2005166028A publication Critical patent/JP2005166028A/ja
Application granted granted Critical
Publication of JP4603335B2 publication Critical patent/JP4603335B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Description

本発明は、データ転送システム、特に、各種画像データを扱い各種の処理を行う複合機(MFP)等の画像形成システム及びデータ転送方法に関する。
一般に、画像データその他のデータを扱う機器・システムでは、デバイス間のインタフェースにPCIバスが使用されている。しかし、パラレル方式のPCIバスでは、レーシングやスキューなどの問題があり、高速・高画質の画像機器に使用するには、転送レートが低い段階にきており、最近では、PCIバスのようなパラレル方式のインタフェースに代えて、高速シリアルインタフェースの使用が検討されている。従来、一般的に広く用いられているシリアルインタフェースとしてIEEE1394やUSB等の規格があるが、PCIと比較した場合は転送レートが不足しており、さらにスケーラブルなバス幅確保が困難等の不具合がある。このため、他の高速シリアルインタフェースとして、PCIバス方式の後継規格に当るPCI Express(登録商標)なるインタフェースの使用が検討されている。
このPCI Expressシステムは、詳細は後述するが、概略的には、例えば、非特許文献1中の図1等に示されるようなツリー構造(木構造)によるデータ通信網として構成されている。
その一例を単純化して図28に示す。即ち、PCI Expressシステム200は、管理するルートノード(ルートコンプレックス)201を頂点として、スイッチSW1,SW2,SW3,…を介して複数のエンドノード(エンドポイント)A,B,C,D,…をツリー構造に接続してなる。ここに、各スイッチSW1,SW2,SW3,…は、上流ポート(ルートノード側)を1つ持ち、下流ポート(エンドノード側)を複数持つ構成とされ、スイッチSW1,SW2,SW3,…以外のデバイスA,B,C,D,…は、何れも1つのみのポートを有しており、各デバイス間の通信経路は、ツリー構造によって一意に決まる構成とされている。
また、ノード間、スイッチ間の接続線は、予めデータ転送に必要な速度に応じた接続線で接続しておくが、この際、各接続線は、各々性能の異なるもの(例えば、バス幅を示すレーン数がx8,x4.x2等)を使用可能とされている。また、スイッチSW1,SW2,SW3,…は、各ポートにプライオリティを設定することにより、複数のデータ転送を並行して処理する場合(競合が起きている際)に、転送速度を調整することができる。
"PCI Express 規格の概要"Interface誌、July’2003 里見尚志
ところが、このようなPCI Expressシステムを単純に利用した場合、通信経路が固定されているため、複数の独立したデータ転送を並行して処理する場合、データ転送経路の競合が生じ、転送効率が低下してしまう不都合がある。
例えば、図28に示した例で説明すると、ルートノード201からエンドノードAへの経路202とエンドノードCからエンドノードBへの経路203とで、2種類のデータ転送を同時に処理しようとする場合、図28中に拡大して示すように、スイッチSW1中のスイッチSW2に対する下流ポートの競合が生じてしまう。よって、経路202のパケットと経路203のパケットとを交互に出力すると、転送レートが半分に落ち、転送効率が低下する。また、スイッチSW1のアービトレーションにより、一方の経路202又は203を優先させることは可能であるが、他方の経路203又は202の転送効率はさらに低下してしまう。
図28に示すような競合が生じないようにするためには、例えば、図29に示すように、予めスイッチSW2,SW2に対するエンドノードA,B,C,Dの接続を変えておけばよいが、別の並行処理動作において、経路202の処理と、エンドノードCからエンドノードDへの経路204の処理とを同時に処理しなければならない場合は、図28の場合と同様の競合が生じ、転送レートが低下してしまい、本質的な改善とはならない。
このようなデータ転送レートの低下は、データ転送経路の競合時だけでなく、必要以上に多段のスイッチを経るデータ転送経路の場合も同様である。
本発明の目的は、複数の独立したデータ転送を並行して処理する場合のデータ転送経路の競合や、必要以上に多段のスイッチを経るデータ転送経路を避けることによりデータ転送効率の向上を図ることである。
請求項1記載の発明は、木構造によるデータ通信網として送受信独立の通信チャネルが確立されるデータ転送システムであって、前記木構造における第1のエンドポイント上流側に位置する第1のスイッチと通信可能な第1のポートおよび上流側に位置する第2のスイッチと通信可能な第2のポートを有するとともに、当該木構造における第2のエンドポイントは上流側に位置する前記第1のスイッチと通信可能な第3のポートおよび上流側に位置する前記第2のスイッチと通信可能な第4のポートを有し、前記第1のエンドポイントは、動作モードに応じて前記第1のポートまたは前記第2のポートのうちのいずれか1つのポートを選択する第1のポート選択手段を有し、前記第2のエンドポイントは、動作モードに応じて前記第3のポートまたは前記第4のポートのうちのいずれか1つのポートを選択する第2のポート選択手段を有する。
請求項2記載の発明は、請求項1記載のデータ転送システムにおいて、当該データ転送システムがPCI Expressシステムである。
請求項3記載の発明は、請求項1又は2記載のデータ転送システムにおいて、前記第1のポート選択手段および前記第2のポート選択手段は、リンクのリセット時に選択するポートのポート選択情報を書き換え自在に記憶するメモリを有し、前記第1のエンドポイントおよび前記第2のエンドポイントは、ポート選択情報を含むメッセージパケットの受信により前記メモリ上のポート選択情報を書き換え更新する更新手段を有し、当該データ転送システムを管理するコンピュータは、当該データ転送システムの起動時に前記第1のエンドポイントおよび前記第2のエンドポイントを初期設定で前記メモリ上に指定されたポート選択情報に従いポートが選択された状態でリンクアップして初期状態の木構造を取得するとともに前記第1のエンドポイントおよび前記第2のエンドポイントに対するコンフィグレーションにより前記第1のエンドポイントおよび前記第2のエンドポイントのデバイス機能と必要なデータ転送性能とを特定する初期化手段と、特定されたデバイス機能と必要なデータ転送性能とを参照し当該データ転送システムの動作モードに応じて最適となる前記第1のエンドポイントおよび前記第2のエンドポイントのポートを決定する決定手段と、決定されたポート選択情報を含むメッセージパケットを対象となる前記第1のエンドポイントおよび前記第2のエンドポイントの前記更新手段に通知して前記メモリ上のポート選択情報を書換え更新させる通知手段と、当該通知後に当該データ転送システムをリセットし書換え更新された前記メモリ上で指定されるポート選択情報に従い前記第1のエンドポイントおよび前記第2のエンドポイントのポートが選択された状態で再リンクアップさせる再リンクアップ手段と、を有し、当該データ転送システムの再リンクアップ後に動作モードに従いデータ転送を開始させるようにした。
請求項4記載の発明は、請求項記載のデータ転送システムにおいて、前記決定手段は、当該データ転送システム内で複数の独立したデータ転送を並行して処理する動作モードの場合に、前記第1のスイッチまたは前記第2のスイッチを通るデータ転送経路に競合が生じないように、前記第1のポート選択手段が選択して使用する1つのポートおよび前記第2のポート選択手段が選択して使用する1つのポートを決定する。
請求項5記載の発明は、請求項又は記載のデータ転送システムにおいて、前記決定手段は、経由するスイッチの段数が最小となるように、前記第1のポート選択手段が選択して使用する1つのポートおよび前記第2のポート選択手段が選択して使用する1つのポートを決定する。
請求項6記載の発明の画像形成システムは、請求項1ないし5の何れか一記載のデータ転送システムは、前記第1のエンドポイントおよび前記第2のエンドポイントを画像形成に関与するデバイスとする。
請求項7記載の発明は、木構造によるデータ通信網として送受信独立の通信チャネルが確立され、記木構造における第1のエンドポイントが上流側に位置する第1のスイッチと通信可能な第1のポートおよび上流側に位置する第2のスイッチと通信可能な第2のポートを有するとともに、当該木構造における第2のエンドポイントが上流側に位置する前記第1のスイッチと通信可能な第3のポートおよび上流側に位置する前記第2のスイッチと通信可能な第4のポートを有するデータ転送システムを利用するデータ転送方法であって、前記第1のエンドポイントが、動作モードに応じて前記第1のポートまたは前記第2のポートのうちのいずれか1つのポートを選択し、前記第2のエンドポイントが、動作モードに応じて前記第3のポートまたは前記第4のポートのうちのいずれか1つのポートを選択する
請求項8記載の発明は、請求項7記載のデータ転送方法において、前記データ転送システムがPCI Expressシステムである。
請求項9記載の発明は、請求項7又は8記載のデータ転送方法において、前記データ転送システム内で複数の独立したデータ転送を並行して処理する動作モードの場合に、前記第1のエンドポイントおよび前記第2のエンドポイントにおいて前記第1のスイッチまたは前記第2のスイッチを通るデータ転送経路に競合が生じないように、前記第1のエンドポイントが選択して使用する1つのポートおよび前記第2のエンドポイントが選択して使用する1つのポートを決定するようにした。
請求項10記載の発明は、請求項7,8又は9記載のデータ転送方法において、経由するスイッチの段数が最小となるように、前記第1のエンドポイントが選択して使用する1つのポートおよび前記第2のエンドポイントが選択して使用する1つのポートを決定するようにした。
本発明によれば、第1のエンドポイントに上流側の第1のスイッチと通信可能な第1のポートおよび上流側の第2のスイッチと通信可能な第2のポートを持たせるとともに、第2のエンドポイントに上流側の第1のスイッチと通信可能な第3のポートおよび上流側の第2のスイッチと通信可能な第4のポートを持たせ、動作モードに応じて第1のエンドポイントが使用する1つのポートおよび第2のエンドポイントが使用する1つのポートを選択することにより、木構造を動的に変更することができ、よって、複数の独立したデータ転送を並行して処理する場合でも独立したデータ転送経路の確保によりデータ転送経路の競合を避け、或るいは、必要以上に多段のスイッチを経るデータ転送経路を避けることができ、データ転送効率の向上を図ることができる。
本発明を実施するための最良の形態について図面を参照して説明する。
[PCI Express規格の概要]
まず、本実施の形態は高速シリアルバスの一つであるPCI Express(登録商標)を利用するものであり、本実施の形態の前提として当該PCI Express規格の概要について、非特許文献1の一部抜粋により説明する。ここに、高速シリアルバスとは、1本の伝送路を用いてシリアル(直列)伝送により高速(100Mbps程度以上)にデータをやり取りすることができるインタフェースを意味する。
PCI Expressは、PCIの後継規格としてコンピュータ全般に通用する標準拡張バスとして規格化されたバスであり、概略的には、低電圧差動信号伝送、ポイントツーポイントで送受信独立の通信チャネル、パケット化されたスプリットトランザクション、リンク構成の違いによる高いスケーラビリティなどの特徴を持つ。
図1に既存のPCIシステム、図2にPCI Expressシステムの各々の構成例を示す。既存のPCIシステムにあっては、CPU100やAGPグラフィックス101やメモリ102が接続されたホストブリッジ103に対して、PCI-X(PCIの上位互換規格)デバイス104a,104bがPCI-Xブリッジ105aを介して接続されたり、PCIデバイス104c,104dが接続されたPCIブリッジ105bやPCIバススロット106が接続されたPCIブリッジ107がPCIブリッジ105cを介して接続されたりしたツリー構造(木構造)とされている。
これに対して、PCI Expressシステムにあっては、CPU110やメモリ111が接続されたルートコンプレックス112に対して、PCI Expressグラフィックス113がPCI Express114aにより接続され、また、エンドポイント115aやレガシーエンドポイント116aがPCI Express114bにより接続されたスイッチ117aがPCI Express114cにより接続され、さらには、エンドポイント115bやレガシーエンドポイント116bがPCI Express114dにより接続されたスイッチ117bやPCIバススロット118が接続されたPCIブリッジ119がPCI Express114eにより接続されたスイッチ117cがPCI Express114fにより接続されたツリー構造(木構造)とされている。
実際に想定されるPCI Expressプラットホーム例を図3に示す。図示例は、デスクトップ/モバイルへの適用例を示し、CPU121がCPUホストバス122により接続され、メモリ123が接続されたメモリハブ124(ルートコンプレックスに相当する)に対して、例えば、グラフィックス125がx16のPCI Express126aにより接続され、また、変換機能を有するI/Oハブ127がPCI Express126bにより接続されている。このI/Oハブ127には、例えば、Serial ATA128によりストレージ129が接続され、LPC130によりローカルI/O131が接続され、USB 2.0132やPCIバススロット133が接続されている。さらには、I/Oハブ127には、PCI Express126cによりスイッチ134が接続され、このスイッチ134には、各々、PCI Express126d,126e,126fによりモバイルドック135、ギガビットイーサネット(イーサネットは登録商標)136、アドインカード137が接続されている。
即ち、PCI Expressシステムでは、従来のPCI,PCI-X,AGPといったバスがPCI Expressで置き換わり、既存のPCI/PCI-Xデバイスを接続するためにブリッジが使用される。チップセット間の接続もPCI Express接続となり、IEEE1394,Serial ATA,USB 2.0などの既存のバスはI/OハブによりPCI Expressに接続される。
[PCI Expressの構成要素]
A.ポート(Port)/レーン(Lane)/リンク(Link)
図4に物理層の構造を示す。ポートは、物理的には同一半導体内にあり、リンクを形成するトランスミッタ/レシーバの集合で、論理的にはコンポーネント間を1対1で接続(ポイント・ツー・ポイント)するインタフェースを意味する。転送レートは、例えば片方向2.5Gbpsとされている。レーンは、例えば0.8Vの差動信号ペアのセットで、送信側の信号ペア(2本)、受信側の信号ペア(2本)からなる。リンクは、2つのポートとその間を結ぶレーンの集まりであり、コンポーネント間のデュアルシンプレックス通信バスである。「xNリンク」はN本のレーンから構成され、現在の規格では、N=1,2,4,8,16,32が定義されている。図示例は、x4リンク例である。例えば、図5に示すように、デバイスA,B間を結ぶこのレーン幅Nを可変することにより、スケーラブルなバンド幅を構成することが可能となる。
B.ルートコンプレックス(Root Complex)
ルートコンプレックス112は、I/O構造の最上位に位置し、CPUやメモリサブシステムをI/Oに接続する。ブロック図などでは、図3に示すように、「メモリハブ」と記述されることが多い。ルートコンプレックス112(又は、124)は、1つ以上のPCI Expressポート(ルートポート)(図2中では、ルートコンプレックス112中の四角で示す)を持ち、各々のポートは独立したI/O階層ドメインを形成する。I/O階層ドメインは、単純なエンドポイントである場合(例えば、図2中のエンドポイント115a側の例)や、多数のスイッチやエンドポイントから形成される場合(例えば、図2中のエンドポイント115bやスイッチ117b,115c側の例)がある。
C.エンドポイント(End Point)
エンドポイント115は、タイプ00hのコンフィグレーション空間ヘッダを持つデバイス(具体的には、ブリッジ以外のデバイス)で、レガシーエンドポイントとPCI Expressエンドポイントとに分けられる。両者の大きな違いは、PCI ExpressエンドポイントはBAR(ベースアドレスレジスタ)で基本的にI/Oポートリソースを要求せず、このためI/Oリクエストを要求しない。また、PCI Expressエンドポイントは、ロックリクエストもサポートしていない。
D.スイッチ(Switch)
スイッチ117(又は、134)は、2つ以上のポートを結合し、ポート間でのパケットルーティングを行う。コンフィグレーションソフトウェアからは、当該スイッチは、図6に示すように、仮想PCI-PCIブリッジ141の集合体として認識される。図中、両矢印はPCI Expressリンク114(又は、126)を示し、142a〜142dはポートを示す。このうち、ポート142aはルートコンプレックスに近い方のアップストリームポートであり、ポート142b〜142dはルートコンプレックスから遠い方のダウンストリームポートである。
E.PCI Express114e−PCIブリッジ117
PCI ExpressからPCI/PCI-Xへの接続を提供する。これにより、既存のPCI/PCI-XデバイスをPCI Expressシステム上で使用することができる。
[階層アーキテクチャ]
従来のPCIのアーキテクチャは、図7(a)に示すように、プロトコルとシグナリングが密接に関連する構造であり階層という考え方はなかったが、PCI Expressでは、図7(b)に示すように、一般的な通信プロトコルやInfiniBandのように、独立した階層構造とされ、各層に分けて仕様が定義されている。即ち、最上位のソフトウェア151、最下位の機構(メカニカル)部152間に、トランザクション層153、データリンク層154、物理層155を持つ構造とされている。これにより、各層のモジュール性が確保され、スケーラビリティを持たせることやモジュールの再利用が可能となる。例えば、新たな信号コーディング方式や伝送媒体を採用する場合、物理層を変更するだけでデータリンク層やトランザクション層は変更せずに対応できる。
PCI Expressのアーキテクチャの中心となるのは、トランザクション層153、データリンク層154、物理層155であり、各々図8を参照して説明する以下のような役割を持つ。
A.トランザクション層153
トランザクション層153は、最上位に位置し、トランザクションレイヤパケット(TLP)の組み立て、分解機能を持つ。トランザクションレイヤパケット(TLP)は、リード/ライト、各種イベントといったトランザクションの伝達に用いられる。また、トランザクション層153は、トランザクションレイヤパケット(TLP)のためのクレジットを用いたフロー制御を行う。各層153〜155におけるトランザクションレイヤパケット(TLP)の概要を図9に示す(詳細は、後述する)。
B.データリンク層154
データリンク層154の主な役割は、エラー検出/訂正(再送)によりトランザクションレイヤパケット(TLP)のデータ完全性を保証することと、リンク管理である。データリンク層154間では、リンク管理やフロー制御のためのパケットのやり取りを行う。このパケットは、トランザクションレイヤパケット(TLP)と区別するために、データリンクレイヤパケット(DLLP)と呼ばれる。
C.物理層155
物理層155は、ドライバ、入力バッファ、パラレル−シリアル/シリアル−パラレル変換器、PLL、インピーダンス整合回路といったインタフェース動作に必要な回路を含んでいる。また、論理的な機能としてインタフェースの初期化・保守の機能を持つ。物理層155は、データリンク層154/トランザクション層153を実際のリンクで使用される信号技術から独立させる役目も持っている。
なお、PCI Expressのハードウェア構成上、エンベデッド・クロックという技術を採用しており、クロック信号はなく、クロックのタイミングはデータ信号中に埋め込まれており、受信側でデータ信号のクロスポイントを基にクロックを抽出する方式とされている。
[コンフィグレーション空間]
PCI Expressは、従来のPCIと同様にコンフィグレーション空間を持つが、その大きさは従来のPCIが256バイトであるのに対して、図10に示すように、4096バイトへと拡張されている。これにより、多数のデバイス固有レジスタセットを必要とするデバイス(ホストブリッジなど)に対しても、将来的に十分な空間が確保されている。PCI Expressでは、コンフィグレーション空間へのアクセスは、フラットなメモリ空間へのアクセス(コンフィグレーションリード/ライト)で行われ、バス/デバイス/機能/レジスタ番号はメモリアドレスにマップされている。
当該空間の先頭256バイトは、PCIコンフィグレーション空間として、BIOSや従来のOSからI/Oポートを使用した方法でもアクセスできる。従来のアクセスをPCI Expressでのアクセスに変換する機能は、ホストブリッジ上に実装される。00hから3FhまではPCI2.3互換のコンフィグレーションヘッダとなっている。これにより、PCI Expressで拡張された機能以外であれば、従来のOSやソフトウェアをそのまま使用することができる。即ち、PCI Expressにおけるソフトウェア層は、既存のPCIと互換性を保ったロード・ストア・アーキテクチャ(プロセッサが直接I/Oレジスタをアクセスする方式)を継承している。しかし、PCI Expressで拡張された機能(例えば、同期転送やRAS(Reliability,Availability and Serviceability)などの機能)を使用するには、4KバイトのPCI Express拡張空間にアクセスできるようにする必要がある。
なお、PCI Expressとしては様々なフォームファクタ(形状)が考えられるが、具体化している例としては、アドインカード、プラグインカード(Express Card)、Mini PCI Expressなどがある。
[PCI Express のアーキテクチャの詳細]
PCI Express のアーキテクチャの中心となっているトランザクション層153、データリンク層154、物理層155について、各々詳細に説明する。
A.トランザクション層153
トランザクション層153の主な役割は、前述したように、上位のソフトウェア層151と下位のデータリンク層154との間でトランザクションレイヤパケット(TLP)の組み立てと分解を行うことである。
a.アドレス空間とトランザクションタイプ
PCI Expressでは、従来のPCIでサポートされていたメモリ空間(メモリ空間とのデータ転送用)、I/O空間(I/O空間とのデータ転送用)、コンフィグレーション空間(デバイスのコンフィグレーションとセットアップ用)に加えて、メッセージ空間(PCI Expressデバイス間のインバンドでのイベント通知や一般的なメッセージ送信(交換)用…割り込み要求や確認は、メッセージを「仮想ワイヤ」として使用することにより伝達される)が追加され、4つのアドレス空間が定義されている。各々の空間に対してトランザクションタイプが定義されている(メモリ空間、I/O空間、コンフィグレーション空間は、リード/ライト、メッセージ空間は基本(ベンダ定義含む))。
b.トランザクションレイヤパケット(TLP)
PCI Expressは、パケット単位で通信を行う。図9に示したトランザクションレイヤパケット(TLP)のフォーマットにおいて、ヘッダのヘッダ長は3DW(DWはダブルワードの略;合計12バイト)又は4DW(16バイト)で、トランザクションレイヤパケット(TLP)のフォーマット(ヘッダ長とペイロードの有無)、トランザクションタイプ、トラフィッククラス(TC)、アトリビュートやペイロード長などの情報が含まれる。パケット内の最大ペイロード長は1024DW(4096バイト)である。
ECRCは、エンドツーエンドのデータ完全性を保証するためのもので、トランザクションレイヤパケット(TLP)部分の32ビットCRCである。これは、スイッチ内部などでトランザクションレイヤパケット(TLP)にエラーが発生した場合、LCRC(リンクCRC)ではエラーを検出できないためである(エラーとなったTLPでLCRCが再計算されるため)。
リクエストは、完了パケットが不要なものと必要なものとがある。
c.トラフィッククラス(TC)と仮想チャネル(VC)
上位のソフトウェアは、トラフィッククラス(TC)を使用することによりトラフィックの差別化(優先度をつける)を行うことができる。例えば、映像データをネットワークのデータよりも優先して転送する、といったことが可能となる。トラフィッククラス(TC)はTC0からTC7まで8つある。
仮想チャネル(VC:Vertual Channel)は、各々独立した仮想通信バス(同一のリンクを共用する複数の独立したデータ・フロー・バッファを使用するメカニズム)で、各々がリソース(バッファやキュー)を持ち、図11に示すように、独立したフロー制御を行う。これにより、1つの仮想チャネルのバッファが満杯の状態(full)になっても、他の仮想チャネルの転送を行うことができる。つまり、物理的には1つのリンクを仮想的な複数のチャネルに分けることで、有効に使用することができる。例えば、図11中に示すように、スイッチを経由してルートのリンクが複数のデバイスに分かれる場合、各デバイスのトラフィックの優先度を制御することができる。VC0は必須で、コストパフォーマンスのトレードオフに応じてその他の仮想チャネル(VC1〜VC7)が実装される。図11中の実線矢印は、デフォルト仮想チャネル(VC0)を示し、破線矢印はその他の仮想チャネル(VC1〜VC7)を示している。
トランザクション層内では、トラフィッククラス(TC)が仮想チャネル(VC)にマッピングされる。1つの仮想チャネル(VC)に対して1つ又は複数のトラフィッククラス(TC)をマッピングできる(仮想チャネル(VC)の数が少ない場合)。単純な例では、各トラフィッククラス(TC)から各仮想チャネル(VC)に1対1、全てのトラフィッククラス(TC)を仮想チャネルVC0にマッピングする、といったことが考えられる。TC0−VC0のマッピングは、必須/固定で、それ以外のマッピングは上位のソフトウェアから制御される。ソフトウェアはトラフィッククラス(TC)を利用することで、トランザクションの優先度を制御することが可能となる。
d.フロー制御
受信バッファのオーバフローを避け、伝送順序を確立するためにフロー制御(FC:Flow Control)が行われる。フロー制御は、リンク間のポイントツーポイントで行われ、エンドツーエンドではない。従って、フロー制御により最終的な相手(コンプリータ)にパケットが届いたことを確認することはできない。
PCI Expressのフロー制御は、クレジット・ベースで行われる(データ転送を始める前に、受け取り側のバッファの空き状況を確認し、オーバフロー、アンダフローが発生しないメカニズム)。即ち、受信側はリンク初期化時にバッファ容量(クレジット値)を送信側に通知し、送信側はクレジット値と送信するパケットの長さとを比較し、一定の残りがある場合のみパケットを送信する。このクレジットには6種類ある。
フロー制御の情報交換はデータリンク層のデータリンクレイヤパケット(DLLP)を使用して行われる。フロー制御はトランザクションレイヤパケット(TLP)のみに適用され、データリンクレイヤパケット(DLLP)には適用されない(DLLPは常時送受信可能)。
B.データリンク層154
データリンク層154の主な役割は、前述したように、リンク上の2つのコンポーネント間での信頼性の高いトランザクションレイヤパケット(TLP)交換機能を提供することである。
a.トランザクションレイヤパケット(TLP)の扱い
トランザクション層153から受け取ったトランザクションレイヤパケット(TLP)に対しては、先頭に2バイトのシーケンス番号、末尾に4バイトのリンクCRC(LCRC)を付加して、物理層155に渡す(図9参照)。トランザクションレイヤパケット(TLP)は、リトライバッファに保管され、相手から受信確認(ACK)が届くまで再送される。トランザクションレイヤパケット(TLP)の送信に失敗が続いた場合は、リンク異常であると判断して物理層155に対してリンクの再トレーニングを要求する。リンクのトレーニングが失敗した場合、データリンク層154の状態はインアクティブに遷移する。
物理層155から受け取ったトランザクションレイヤパケット(TLP)は、シーケンス番号とリンクCRC(LCRC)が検査され、正常であればトランザクション層153に渡され、エラーがあった場合は再送を要求する。
b.データリンクレイヤパケット(DLLP)
データリンク層154が生成するパケットは、データリンクレイヤパケット(DLLP)と呼ばれ、データリンク層154間でやり取りされる。データリンクレイヤパケット(DLLP)には、
・Ack/Nak:TLPの受信確認、リトライ(再送)
・InitFC1/InitFC2/UpdateFC:フロー制御の初期化とアップデート
・電源管理のためのDLLP
なる種類がある。
図12に示すように、データリンクレイヤパケット(DLLP)の長さは6バイトで、種類を示すDLLPタイプ(1バイト)、DLLPの種類で固有の情報(3バイト)、CRC(2バイト)から構成される。
C.物理層−論理サブブロック156
図8中に示す物理層155の論理サブブロック156での主な役割は、データリンク層154から受け取ったパケットを電気サブブロック157で送信できる形式に変換することである。また、物理層155を制御/管理する機能も有する。
a.データ符号化とパラレル−シリアル変換
PCI Expressは、連続した“0”や“1”が続かないように(長い期間、クロス・ポイントが存在しない状態が続かないようにするため)、データ符号化に8B/10B変換を用いる。変換されたデータは、図13中に示すように、シリアル変換され、LSBからレーン上に送信される。ここに、レーンが複数ある場合は(図13はx4リンクの場合を例示している)、符号化の前にデータがバイト単位で各レーンに割り振られる。この場合、一見パラレル・バスのようにみえるが、レーン毎に独立した転送を行うので、パラレル・バスで問題となるスキューが大幅に緩和される。
b.電源管理とリンクステート
リンクの消費電力を低く抑えるために、表1に示すように、L0/L0s/L1/L2というリンクステートが定義されている。
Figure 0004603335
L0が通常モードで、L0sからL2へと低消費電力となるが、L0への復帰にも時間がかかるようになる。図14に示すように、ソフトウェアによる電源管理に加えて、アクティブステート電源管理を積極的に行うことにより、消費電力を極力小さくすることが可能となる。
D.物理層−電気サブブロック157
物理層155の電気サブブロック157での主な役割は、論理サブブロック156でシリアル化されたデータをレーン上に送信することと、レーン上のデータを受信して論理サブブロック156に渡すことである。
a.ACカップリング
リンクの送信側では、ACカップリング用のコンデンサが実装される。これにより、送信側と受信側のDCコモンモード電圧が同一である必要がなくなる。このため、送信側と受信側で異なる設計、半導体プロセス、電源電圧を使用することが可能となる。
b.デエンファシス
PCI Expressでは、前述したように、8B/10Bエンコーディングによってできるだけ連続した“0”や“1”が続かないように処理されるが、連続した“0”や“1”が続くこともある(最大5回)。この場合、送信側はデエンファシス転送を行わなければならないことが規定されている。同一極性のビットが連続する場合は、2つ目のビットからは差動電圧レベル(振幅)を3.5±0.5dB落とすことで、受信側で受け取る信号のノイズ・マージンを稼ぐ必要がある。これを、デエンファシスという。伝送路の周波数依存性減衰のため、変化するビットの場合は高周波成分が多く、減衰により受信側の波形が小さくなるが、変化しないビットの場合は高周波成分が少なく、相対的に受信側の波形が大きくなる。このため、受信側での波形を一定とするためにデエンファシスを行う。
[データ転送システム;画像形成システム]
本実施の形態のデータ転送システムは、前述したようなPCI Expressシステムを利用する上で、特に、その木構造について拡張改良を加えて利用するようにしたものである。
図15は、本実施の形態のデータ転送システムにおける木構造例を示す原理的な模式図である。前述のPCI Expressシステムの仕様によれば、エンドポイントの上流ポートは1つのみとされているが、本実施の形態では、各エンドポイントA,B,C,…について複数の上流ポイントを持たせるとともに、各エンドポイントA,B,C,…に、当該データ転送システムの動作モードに応じて使用する1つの上流ポートを選択するポートセレクタ(ポート選択手段)1A,1B,1C,…を持たせるようにしたものである。
従って、本実施の形態のデータ転送システムの木構造においては、全体を管理するルートコンプレックス2を頂点として、複数のスイッチ3A,3B,3Cを介して複数のエンドポイントA,B,C,…が接続された木構造であるが、各々のエンドポイントA,B,Cが各々複数の上流ポートを有するため、例えば、エンドポイントAにあってはスイッチ3A,3B,3Cに接続されたデータ転送経路を有し、エンドポイントBにあってはスイッチ3A,3B,3Cに接続されたデータ転送経路を有し、エンドポイントCにあってはスイッチ3A,3B,3Cに接続されたデータ転送経路を有する。スイッチ側からみれば、スイッチ3AはエンドポイントA,B,Cに接続されたデータ転送経路を有し、スイッチ3BはエンドポイントA,B,Cに接続されたデータ転送経路を有し、スイッチ3CはエンドポイントA,B,Cに接続されたデータ転送経路を有する。
また、本実施の形態では、スイッチ3A,3B,3C毎にデータ転送幅を異ならせる仕様とするために、例えば、スイッチ3Aは上流側(ルートコンプレックス側)、下流側(エンドポイント側)ともリンクがx8なる大量データ転送用とされ、スイッチ3Bは上流側、下流側ともリンクがx4とされ、スイッチ3Cは上流側、下流側ともリンクがx1とされ、データの種類に応じて適切なデータ幅のデータ転送を選択できるように設定されている。もっとも、コスト面で余裕があれば、全てのバス幅を例えばx8に設定してもよい。
このような構成において、当該データ転送システム内で複数の独立したデータ転送を並行して処理する動作モードの場合に、スイッチ3を通るデータ転送経路に競合が生じないように、ポートセレクタ1は使用する1つの上流ポートを選択する。例えば、エンドポイントAとエンドポイントBとの間で大量のデータ転送を要すると同時に、ルートコンプレックス2とエンドポイント3Cとの間でデータ転送を要する場合には、ポートセレクタ1A,1BはエンドポイントA,Bの上流ポートとして実線で示すようにスイッチ3Aに対するx8リンクの経路が有効となるように1つの上流ポートを選択し、かつ、ポートセレクタ1CはエンドポイントCの上流ポートとして実線で示すようにスイッチ3Bに対するx4リンクの経路が有効となるように1つの上流ポートを選択する。これにより、エンドポイントA,B間のx8の経路4が確保されるとともに、ルートコンプレックス2−スイッチ3B−エンドポイントCのx4の経路5が確保される。よって、エンドポイントA,B間でx8リンクにより大量のデータ転送を行えると同時に、ルートコンプレックス2とエンドポイントCとの間ではエンドポイントA,B間のデータ転送に邪魔されることなく、x4リンクをフルに活用したデータ転送が可能となる。
このように動作モードに応じて使用する1つの上流ポートを選択することにより、木構造を動的に変更することができ、よって、複数の独立したデータ転送を並行して処理する場合でも、独立したデータ転送経路の確保によりデータ転送経路の競合を避けることができ、データ転送効率の向上を図ることができる。
本実施の形態のようなデータ転送システムの好適例としては、図16に示すような画像形成システムを挙げることができる。当該画像形成システムは、画像形成用のデバイスであって前述のエンドポイントA,B,Cに各々相当するスキャナエンジン部11(入力部)と、プリンタエンジン部12(出力部)と、ファクシミリ部13(通信部)とを備える複合機(MFP)構成とされている。また、14はルートコンプレックスに相当するコントローラであり、スイッチ3A,3B,3Cに対するスイッチ15を備える他、当該システムにおけるコンピュータとしてのCPU16やメモリ17が接続されている。
このような構成において、例えば、高速コピー動作用のデータ転送処理とファクシミリ受信用のデータ転送処理とを同時に並行して行う場合であれば、図16(a)に示すように、スキャナエンジン部11及びプリンタエンジン部12の上流ポートはスイッチ3Aのx8用が有効となるように選択し、かつ、ファクシミリ部13の上流ポートはスイッチ3Bのx4用が有効となるように選択し、図2(a)中に実線で示すような経路4,5を使用することにより、スキャナエンジン部11とプリンタエンジン部12との間でx8リンクの経路4で高速コピーを行いながら、ファクシミリ部13とコントローラ14を介するメモリ17との間でx4リンクの経路5を利用してファクシミリ受信データをメモリ17に保存させることができる。
一方、例えば、ファクシミリ受信データのプリント動作と高速スキャニングデータのメモリへの格納(予約コピー)動作とを同時に並行して行う場合であれば、図2(b)に示すように、スキャナエンジン部11の上流ポートはスイッチ3Aのx8リンク用が有効となるように選択し、かつ、プリントエンジン部12及びファクシミリ部13の上流ポートはスイッチ3Bのx4リンク用が有効となるように選択し、図16(b)中に実線で示すような経路6,7を使用することにより、ファクシミリ受信データをプリントエンジン部12によりプリントしている間に、スキャナエンジン部11による高速スキャニングデータをメモリ17に転送して予約コピー用に格納させることができる。
[具体的構成例]
ところで、上述したような動作を実現するためのエンドポイントのより具体的な構成例並びに当該システムを管理するコンピュータとしてのCPU16による動作制御例等について説明する。
図17は、各エンドポイント21の構成例を示す概略ブロック図である。各エンドポイント21は、上流に存在する複数のスイッチ(SW1〜3)の各々と個別に1対1で接続される複数の上流ポートとして、ポート1〜3で示すような複数のポート22A〜22Cを備えている。これらのポート22A〜22Cの下流側には、前述のポートセレクタ1に相当し、物理層24との通信路を切り替えることで当該エンドポイント21の持つ何れかのポート22A〜22Cに接続するポート選択手段としてのポートセレクタ23が設けられている。このポートセレクタ23の下流側には、前述の物理層24やエンドポイント論理層回路25の他、これらの物理層24・エンドポイント論理層回路25間を接続するデファクト標準のインタフェース規格に従うPIPEインタフェース26を有するPCI Expressコア27が設けられている。このようなPCI Expressコア27の下流側には、各々のエンドポイント21毎の機能を特定するユーザ回路28が接続されている。このユーザ回路28は、PCI Express規格のパケットを受信することで各々の有するアプリケーション(スキャナ、プロッタ、ネットワークカード等)の機能を制御する。
ここに、ポートセレクタ23は、リンクのリセットがかかった際に選択する上流ポートのポート番号(ポート選択情報)を書き換え自在に記憶するメモリ29を有する。このメモリ29には、初期状態でポートセレクタ23により選択される任意のポート番号が記憶されている。ポートセレクタ23では、外部の制御回路30から入力されるポート番号(ポート選択情報)を当該メモリ29に記憶し、次にリンクのリセットがかかった場合にはその時点で当該メモリ29に記憶されているポート番号のポート22A〜22Cを選択する。一方、エンドポイント21において、ユーザ回路28は、メッセージパケットを受信し、当該メッセージパケットがポート番号(ポート選択情報)を含む場合に通知する制御回路30を有し、この制御回路30は通知を受けたメッセージパケットのポート番号をメモリ29に対して出力して書き換え更新させる更新手段として機能する。
このようなエンドポイント21の構成下に、プログラムによりシステム全体の動作を制御するCPU16及び各エンドポイント21により実行される、当該システムのツリー構造の動的変更の処理手順について図18ないし図23を参照して説明する。図18ないし図21は、各々異なる段階でのツリー構造例を示す原理的な模式図、図22はCPU16により実行される動作制御例の概略フローチャート、図23は各エンドポイント21A〜21Dにおける動作例を示す概略フローチャートである。ここでは、3つのスイッチ3A〜3C、4つのエンドポイント21A〜21D、各々2つずつのポート22A,22Bを有するシステム構成例とする。この手順としては、初期化手順と経路最適化手順とに大別される。
まず、システムが起動した際に、各エンドポイント21A〜21Dは初期設定でメモリ29に格納されているポート番号で指定されたポートがポートセレクタ23A〜23Dにより選択された状態でリンクアップする。即ち、各エンドポイント21A〜21Dにおいては、図23に示すように、リンクのリセットを検出すると(ステップS11)、メモリ29に格納されているポート番号を参照することで(S12)、ポートセレクタ23は上流ポートを選択して(S13)、リンクアップする(S14)。CPU16は、このようなリンクアップの際に、コントローラ(ルートコンプレックス)14の下流にあるスイッチ3A〜3Cと各エンドポイント21A〜21Dを検索することで(ステップS1,S2)、初期状態のツリー構造(木構造)を取得し、メモリ17内のテーブルなどに保持する(S3)。この際、各スイッチ3A〜3Cや各エンドポイント21A〜21Dには規格で決まっているユニークなベンダID、デバイスIDが与えられており、PCI Express規格で定められた前述のコンフィグレーションレジスタ(図示せず)に保持されている。そこで、CPU16は、各々のスイッチ3A〜3Cやエンドポイント21A〜21Dのコンフィグレーションリードアクセスをかけることで、ベンダID、デバイスIDを取得し、そのデバイス機能と必要なデータ転送性能を特定する(なお、ベンダID、デバイスIDと機能、性能に関する情報は、予めプログラム或いはコントローラ(ルートコンプレックス)14に接続されたメモリ17に含まれているものとする)。このようなステップS1〜S3の処理がCPU17により、初期化手段の機能として実行される。
図18は、システム起動時にリンクアップした状態のツリー構造例を示す原理的な模式図である。即ち、初期設定では、エンドポイント21A,21Bではポート22A、エンドポイント21C,21Dではポート22Bが選択されるようにメモリ29にポート番号が記憶されているものとする。このようにリンクアップされたときのツリー構造と各エンドポイント21A〜21DのID(機能、性能情報)はメモリ17に保持される。
このような初期化手順の終了後、CPU16は、システム動作モードを選択し、当該システム動作に合わせて、例えば、スイッチ3A〜3Cの出力ポートに競合が生じないようなデータ通信経路をプログラムによる演算処理によって特定し、各エンドポイント21A〜21Dにおけるポートセレクタ23が選択する最適なポート番号をポート選択情報として決定する処理を行なう。即ち、初期化手順により特定されたデバイス機能と必要なデータ転送性能とを参照しながら当該システムの動作モードを実行する上で、データ転送経路の競合の回避が可能であるか、さらには、後述するようにスイッチ経由数の削減が可能であるか否かを判定し(S5)、可能でなければ既にデータ転送経路が最適化されているのでデータ転送処理をそのまま実行させるが(S6)、可能であれば(S5のY)、当該動作モードに応じて最適となる各エンドポイント21A〜21Dの上流ポートを決定し、ポート変更が必要なエンドポイントの制御回路30に対してそのポート番号(ポート選択情報)を含むメッセージバケットを送信する(S7)。これらのステップS4、S5のY、S7の処理が、決定手段、通知手段の機能として実行される。
図19は、初期設定状態のままではスイッチにおいてポート競合が生ずる動作モード例を示す原理的な模式図である。例えば、メモリ17からエンドポイント21Aに対してデータ通信を行ないながら、エンドポイント21Cからエンドポイント21Bへデータ転送しようとする動作モード例を示し、この場合、初期設定状態のままでは、スイッチ3Aのスイッチ3Bへの出力ポートで競合が生じてしまう(図28で説明した場合に相当する)。このような場合、例えばエンドポイント21Cのポートをポート22Bに代えて、スイッチ3Bと接続された方のポート22Aに切り替えることで、データ転送経路の競合が避けられるようになる。そこで、CPU16はこのような動作モード時には、エンドポイント21Cの最適な上流ポートとしてポート22Aを決定する。そして、CPU16は、実際にデータ転送を実行する前に変更対象となる当該エンドポイント21Cに対してポート番号=ポート22Aなるポート選択情報を含むメッセージパケットを送信する。
このとき、各エンドポイント21A〜21Dにおいては、メッセージパケットを受信した場合(S15)、ポート番号(ポート選択情報)を含むメッセージパケットであるか否かを判定し(S16)、ポート番号(ポート選択情報)が含まれない場合には(S16のN)、通常のパケット受信処理を行なうが(S17)、ポート番号(ポート選択情報)が含まれる場合には(S16のY)、制御回路30に当該ポート番号(ポート選択情報)を通知し(S18)、当該制御回路30では、例えば、対象となる当該エンドポイント21Cにおけるポートセレクタ23にスイッチ3Bに繋がるポート番号=ポート22Aの情報を通知し(S19)、メモリ29を当該ポート番号=ポート22Aで書き換え更新させる(S20)。
CPU16は、変更を要するポート番号の通知後(S7)、当該システム上のPCI Expressリンクをリセットし、書換え更新されたメモリ29上で指定されるポート番号(ポート選択情報)に従い各エンドポイント21A〜21Dの上流ポート22A又は22Bが選択された状態で再リンクアップさせる(S8)。このステップS8の処理が再リンクアップ手段の機能として実行される。即ち、各エンドポイント21A〜21Dにおいては、図23に示すように、リンクのリセットを検出すると(S11)、メモリ29に格納されているポート番号を参照することで(S12)、ポートセレクタ23は上流ポートを選択して(S13)、リンクアップする(S14)。本例の場合であれば、エンドポイント21Cで選択されるポートが、メッセージパケットで指定されたスイッチ3Bに繋がるポート22Aに切り替わった状態で、リンクアップする。図20は、実際のデータ転送前に再リンクアップした状態のツリー構造例を示す原理的な模式図である。
CPU16は、このようなリンクアップの際に、システム起動時と同じく、コントローラ(ルートコンプレックス)14の下流にあるスイッチ3A〜3Cと各エンドポイント21A〜21Dを検索することで(ステップS1,S2)、初期状態のツリー構造(木構造)を取得し、メモリ17内のテーブルなどに保持する(S3)。そして、CPU16は、再度各々のデバイスのコンフィグレーションリードアクセスをかけることで、ベンダID、デバイスIDと機能、性能に関する情報も更新する。この後、実際のデータ転送を開始する(S6)。
図21は、再リンクアップされたツリー構造下での動作モード例を示す原理的な模式図である。図21に示す構成例によれば、当該動作モードにおいて、スイッチ3Aの出力ポートに競合が生じないため、メモリ17−スイッチ3A,3B−エンドポイント21Aなるデータ転送と、エンドポイント21C−スイッチ3B−エンドポイント21Bなるデータ転送とを高速で行なうことができる。
なお、上述の説明では、エンドポイント21Cに関してポート22B側からポート22A側に切り替えるようなポート決定例としたが、エンドポイント21Bに関してポート22A側からポート22B側に切り替えるようなポート決定とし、エンドポイント21C−スイッチ3C−エンドポイント21Bなる経路でデータ転送させるようにしても同等である。
ところで、図18ないし図21による説明では、CPU16がスイッチの出力ポートの競合が生じないように選択すべきエンドポイントの上流ポートを決定するようにした例で説明したが、図22中のステップS5中にも示すように、スイッチ経由数(経由するスイッチの段数)が最小となるように選択すべきエンドポイントの上流ポートを決定するようにしてもよい。
この点について、図24及び図25を参照して説明する。図24は、図18と同じく、システム起動時にリンクアップした状態のツリー構造例を示す原理的な模式図である。このようなシステム起動時の接続状態で、その動作モードとして、例えばエンドポイント21Aからエンドポイント21Dへデータ通信を行なう場合を考えると、スイッチ3B→スイッチ3A→スイッチ3Cを経由することとなり、3段のスイッチを経由するパケット転送が必要となり、大きな遅延を生じてしまう。このような場合、CPU16が図25に示すようにエンドポイント21Aの選択すべき上流側ポートとして、ポート22Aに代えてポート22Bとなるように決定することで、エンドポイント21A→スイッチ3C→エンドポイント21Dなる経路でのデータ転送、即ち、スイッチ3Cのみの1段のスイッチを経る経路となり、図24に示すデータ転送経路の場合に比べて、パケット転送に要する遅延時間を1/3に減らすことができる。
この場合も、エンドポイント21D側で選択すべきポートがポート22A側となるように決定してもよい。
[効果についての考察]
まず、スイッチの出力ポート競合の影響について考察する。PCI Expressスイッチにおいて出力ポートに競合が生ずると、データ転送レートが低下する。図26は、PCI Expressスイッチにおいて4つの入力ポートに対して出力ポートが1つで競合が生ずる条件下で、種類の異なる4つのトラフィックを同時に開始させ、転送速度に応じてデータ転送が順に終了していく場合の特性を示したグラフである。図において、横軸は転送時間、縦軸は各ポートのデータ転送量(積算値)であり、各グラフの傾きが転送レートを示している。なお、なお、ペイロードサイズ(パケットデータ全体のサイズのうち、ヘッダ情報以外のデータ部分のサイズを意味する)は、4種類とも64byte固定の条件での測定例とする。また、データ転送のアルゴリズムは、PCI Express規格におけるウエイテッドラウンドロビン(WRR)であり、4種類に関して1:2:4:8の比率でデータ転送させるように設定した場合の特性例を示し、1つのトラフィッククラスのデータ転送が終了すると、残りのトラフィッククラスについて8:4:2、さらには、8:4の如く、比率を変遷させながらデータ転送させるアルゴリズムである。
図26では、左側から順に、4つの転送が競合、3つの転送が競合、2つの転送が競合、競合なしと変遷しているのが判る。ここに、競合するトラフィックの数が減るに従って、各々のグラフの傾き、即ち、転送レートが急峻となり、データ転送レートが向上するのが判る。この点、前述したような本実施の形態によれば、エンドポイント21A〜21Dの上流側ポートに関して、スイッチの出力ポートに競合が生じないように、選択すべきポートを決定しているので、データ転送レートを向上させ得るのが判る。
次に、経由するスイッチの段数の影響について考察する。データを一定量ずつ区切って転送する場合(例えば、画像形成システム中のプロッタに対して、画像データを主走査方向の1ラインずつに区切って転送する場合など)、パケットデータが発信元から送信先へ到達する、初期遅延の影響が経由するスイッチ段数とともに大きくなる。
図27は、データ転送経路において、経由するスイッチの個数(段数)をパラメータとして、ペイロードサイズと転送レートとの関係を示したグラフであり、経由するスイッチの個数(段数)の転送レートに対する影響が判る。図では、上から順に、タイミング制約なし、スイッチが1段で遅延構造1,2,3、スイッチが2段で遅延構造1,2,3、スイッチが3段で遅延構造1,2,3、スイッチが4段で遅延構造1,2,3、スイッチが5段で遅延構造1,2,3の場合を各々示している。経由するスイッチの段数が1段増える毎に、パケット転送の遅延時間が加算され、その遅延はパケットデータのサイズが大きいほど、大きな遅延が発生してしまう。このため、データ転送経路上に複数段のスイッチが存在すると、1つのパケットで送るデータのサイズが大きくなるほど、データ転送レートが低下してしまうのが判る。この点、前述したような本実施の形態によれば、エンドポイント21A〜21Dの上流側ポートに関して、経由するスイッチ3の段数が最小となるように、選択すべきポートを決定しているので、データ転送レートの低下を抑制し得るのが判る。
既存PCIシステムの構成例を示すブロック図である。 PCI Expressシステムの構成例を示すブロック図である。 デスクトップ/モバイルでのPCI Expressプラットホームの構成例を示すブロック図である。 x4の場合の物理層の構造例を示す模式図である。 デバイス間のレーン接続例を示す模式図である。 スイッチの論理的構造例を示すブロック図である。 (a)は既存のPCIのアーキテクチャを示すブロック図、(b)はPCI Expressのアーキテクチャを示すブロック図である。 PCI Expressの階層構造を示すブロック図である。 トランザクションレイヤパケットのフォーマット例を示す説明図である。 PCI Expressのコンフィグレーション空間を示す説明図である。 仮想チャネルの概念を説明するための模式図である。 データリンクレイヤパケットのフォーマット例を示す説明図である。 x4リンクでのバイトストライピング例を示す模式図である。 アクティブステート電源管理の制御例を示すタイムチャートである。 本実施の形態のデータ転送システムにおける木構造例を示す原理的な模式図である。 画像形成システムの場合の具体例を示す原理的な模式図である。 各エンドポイントの構成例を示す概略ブロック図である。 システム起動時にリンクアップした状態のツリー構造例を示す原理的な模式図である。 初期設定状態のままではスイッチにおいてポート競合が生ずる動作モード例を示す原理的な模式図である。 実際のデータ転送前に再リンクアップした状態のツリー構造例を示す原理的な模式図である。 再リンクアップされたツリー構造下での動作モード例を示す原理的な模式図である。 CPUにより実行される動作制御例の概略フローチャートである。 各エンドポイントにおける動作例を示す概略フローチャートである。 システム起動時にリンクアップした状態のツリー構造例を示す原理的な模式図である。 再リンクアップされたツリー構造下での動作モード例を示す原理的な模式図である。 PCI Expressスイッチにおいて種類の異なる4つのトラフィックを同時に開始させ、転送速度に応じてデータ転送が順に終了していく場合の特性を示したグラフである。 データ転送経路において、経由するスイッチの個数(段数)をパラメータとして、ペイロードサイズと転送レートとの関係を示したグラフである。 PCI Expressの通常の利用形態による木構造例を示す原理的な模式図である。 その変形例を示す原理的な模式図である。
符号の説明
1 ポート選択手段
2A〜2C スイッチ
11〜13 デバイス
21 エンドポイント
22 上流ポート
23 ポート選択手段
29 メモリ
30 更新手段
A〜C エンドポイント

Claims (10)

  1. 木構造によるデータ通信網として送受信独立の通信チャネルが確立されるデータ転送システムであって、
    記木構造における第1のエンドポイント上流側に位置する第1のスイッチと通信可能な第1のポートおよび上流側に位置する第2のスイッチと通信可能な第2のポートを有するとともに、当該木構造における第2のエンドポイントは上流側に位置する前記第1のスイッチと通信可能な第3のポートおよび上流側に位置する前記第2のスイッチと通信可能な第4のポートを有し、
    前記第1のエンドポイントは、動作モードに応じて前記第1のポートまたは前記第2のポートのうちのいずれか1つのポートを選択する第1のポート選択手段を有し、前記第2のエンドポイントは、動作モードに応じて前記第3のポートまたは前記第4のポートのうちのいずれか1つのポートを選択する第2のポート選択手段を有する、
    ことを特徴とするデータ転送システム。
  2. 当該データ転送システムがPCI Expressシステムである、ことを特徴とする請求項1記載のデータ転送システム。
  3. 前記第1のポート選択手段および前記第2のポート選択手段は、リンクのリセット時に選択するポートのポート選択情報を書き換え自在に記憶するメモリを有し、
    前記第1のエンドポイントおよび前記第2のエンドポイントは、ポート選択情報を含むメッセージパケットの受信により前記メモリ上のポート選択情報を書き換え更新する更新手段を有し、
    当該データ転送システムを管理するコンピュータは、当該データ転送システムの起動時に前記第1のエンドポイントおよび前記第2のエンドポイントを初期設定で前記メモリ上に指定されたポート選択情報に従いポートが選択された状態でリンクアップして初期状態の木構造を取得するとともに前記第1のエンドポイントおよび前記第2のエンドポイントに対するコンフィグレーションにより前記第1のエンドポイントおよび前記第2のエンドポイントのデバイス機能と必要なデータ転送性能とを特定する初期化手段と、特定されたデバイス機能と必要なデータ転送性能とを参照し当該データ転送システムの動作モードに応じて最適となる前記第1のエンドポイントおよび前記第2のエンドポイントのポートを決定する決定手段と、決定されたポート選択情報を含むメッセージパケットを対象となる前記第1のエンドポイントおよび前記第2のエンドポイントの前記更新手段に通知して前記メモリ上のポート選択情報を書換え更新させる通知手段と、当該通知後に当該データ転送システムをリセットし書換え更新された前記メモリ上で指定されるポート選択情報に従い前記第1のエンドポイントおよび前記第2のエンドポイントのポートが選択された状態で再リンクアップさせる再リンクアップ手段と、を有し、
    当該データ転送システムの再リンクアップ後に動作モードに従いデータ転送を開始させるようにした、ことを特徴とする請求項1又は2記載のデータ転送システム。
  4. 前記決定手段は、当該データ転送システム内で複数の独立したデータ転送を並行して処理する動作モードの場合に、前記第1のスイッチまたは前記第2のスイッチを通るデータ転送経路に競合が生じないように、前記第1のポート選択手段が選択して使用する1つのポートおよび前記第2のポート選択手段が選択して使用する1つのポートを決定する、ことを特徴とする請求項記載のデータ転送システム。
  5. 前記決定手段は、経由するスイッチの段数が最小となるように、前記第1のポート選択手段が選択して使用する1つのポートおよび前記第2のポート選択手段が選択して使用する1つのポートを決定する、ことを特徴とする請求項又は記載のデータ転送システム。
  6. 請求項1ないし5の何れか一記載のデータ転送システムは、前記第1のエンドポイントおよび前記第2のエンドポイントを画像形成に関与するデバイスとすることを特徴とする画像形成システム。
  7. 木構造によるデータ通信網として送受信独立の通信チャネルが確立され、記木構造における第1のエンドポイントが上流側に位置する第1のスイッチと通信可能な第1のポートおよび上流側に位置する第2のスイッチと通信可能な第2のポートを有するとともに、当該木構造における第2のエンドポイントが上流側に位置する前記第1のスイッチと通信可能な第3のポートおよび上流側に位置する前記第2のスイッチと通信可能な第4のポートを有するデータ転送システムを利用するデータ転送方法であって、
    前記第1のエンドポイントが、動作モードに応じて前記第1のポートまたは前記第2のポートのうちのいずれか1つのポートを選択し、前記第2のエンドポイントが、動作モードに応じて前記第3のポートまたは前記第4のポートのうちのいずれか1つのポートを選択する
    ことを特徴とするデータ転送方法。
  8. 前記データ転送システムがPCI Expressシステムである、ことを特徴とする請求項7記載のデータ転送方法。
  9. 前記データ転送システム内で複数の独立したデータ転送を並行して処理する動作モードの場合に、前記第1のエンドポイントおよび前記第2のエンドポイントにおいて前記第1のスイッチまたは前記第2のスイッチを通るデータ転送経路に競合が生じないように、前記第1のエンドポイントが選択して使用する1つのポートおよび前記第2のエンドポイントが選択して使用する1つのポートを決定するようにした、ことを特徴とする請求項7又は8記載のデータ転送方法。
  10. 経由するスイッチの段数が最小となるように、前記第1のエンドポイントが選択して使用する1つのポートおよび前記第2のエンドポイントが選択して使用する1つのポートを決定するようにした、ことを特徴とする請求項7,8又は9記載のデータ転送方法。
JP2004324555A 2003-11-11 2004-11-09 データ転送システム、画像形成システム及びデータ転送方法 Expired - Fee Related JP4603335B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004324555A JP4603335B2 (ja) 2003-11-11 2004-11-09 データ転送システム、画像形成システム及びデータ転送方法
US11/125,207 US20060114918A1 (en) 2004-11-09 2005-05-10 Data transfer system, data transfer method, and image apparatus system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003381191 2003-11-11
JP2004324555A JP4603335B2 (ja) 2003-11-11 2004-11-09 データ転送システム、画像形成システム及びデータ転送方法

Publications (2)

Publication Number Publication Date
JP2005166028A JP2005166028A (ja) 2005-06-23
JP4603335B2 true JP4603335B2 (ja) 2010-12-22

Family

ID=34741631

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004324555A Expired - Fee Related JP4603335B2 (ja) 2003-11-11 2004-11-09 データ転送システム、画像形成システム及びデータ転送方法

Country Status (1)

Country Link
JP (1) JP4603335B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4824422B2 (ja) * 2005-08-30 2011-11-30 株式会社リコー 制御装置、画像処理システムおよびデータ転送経路切替方法
JP4782591B2 (ja) 2006-03-10 2011-09-28 富士通セミコンダクター株式会社 リコンフィグラブル回路
JP4878185B2 (ja) * 2006-03-17 2012-02-15 株式会社リコー データ通信回路および調停方法
US7529860B2 (en) * 2006-12-19 2009-05-05 International Business Machines Corporation System and method for configuring an endpoint based on specified valid combinations of functions
JP5111236B2 (ja) * 2008-05-22 2013-01-09 株式会社日立製作所 データ転送システム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000194649A (ja) * 1998-12-28 2000-07-14 Toshiba Corp 電子機器接続方法および電子機器接続装置
JP2000209287A (ja) * 1999-01-20 2000-07-28 Fujitsu Ltd ネットワ―クシステム
JP2001016382A (ja) * 1999-04-27 2001-01-19 Ricoh Co Ltd デジタル複写機およびデジタル複写機システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000194649A (ja) * 1998-12-28 2000-07-14 Toshiba Corp 電子機器接続方法および電子機器接続装置
JP2000209287A (ja) * 1999-01-20 2000-07-28 Fujitsu Ltd ネットワ―クシステム
JP2001016382A (ja) * 1999-04-27 2001-01-19 Ricoh Co Ltd デジタル複写機およびデジタル複写機システム

Also Published As

Publication number Publication date
JP2005166028A (ja) 2005-06-23

Similar Documents

Publication Publication Date Title
JP5108261B2 (ja) 情報処理装置およびデータ通信装置
JP4928732B2 (ja) データ転送システム及び電子機器
JP4878185B2 (ja) データ通信回路および調停方法
US7813362B2 (en) Communication apparatus, electronic apparatus, imaging apparatus
US20060114918A1 (en) Data transfer system, data transfer method, and image apparatus system
JP4564855B2 (ja) データ転送システム及び電子機器
JP2007087082A (ja) 情報処理装置およびオプションデバイス共有方法
JP2008172727A (ja) 制御装置および画像処理システム
JP4308680B2 (ja) 画像形成装置
JP4777723B2 (ja) 情報処理システム、プログラムおよびデータ転送方法
JP4287325B2 (ja) 画像システム
JP4928715B2 (ja) シリアルデータ転送装置、画像出力装置、画像入力装置及び画像形成装置
JP4564740B2 (ja) 画像機器システム
JP4603335B2 (ja) データ転送システム、画像形成システム及びデータ転送方法
JP2006092286A (ja) データ転送装置及び画像形成システム
JP4603336B2 (ja) データ転送システム、画像形成システム及びデータ転送方法
JP5176764B2 (ja) データ通信システム、画像処理システム、及びデータ通信方法
JP5218377B2 (ja) 画像形成システム
JP4476088B2 (ja) データ転送装置及び画像形成システム
JP2005354658A (ja) 画像形成システム
JP2007226494A (ja) データ転送システム
JP4271558B2 (ja) データ転送システム、画像形成システム及びデータ転送用プログラム
JP2007282187A (ja) 情報処理装置、情報処理システムおよびデータ通信方法
JP4824422B2 (ja) 制御装置、画像処理システムおよびデータ転送経路切替方法
JP2007241882A (ja) データ通信装置および画像形成システム

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20051021

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071031

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20080111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100518

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100716

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100928

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101001

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131008

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees