JP4271558B2 - Data transfer system, image forming system, and data transfer program - Google Patents

Data transfer system, image forming system, and data transfer program Download PDF

Info

Publication number
JP4271558B2
JP4271558B2 JP2003389571A JP2003389571A JP4271558B2 JP 4271558 B2 JP4271558 B2 JP 4271558B2 JP 2003389571 A JP2003389571 A JP 2003389571A JP 2003389571 A JP2003389571 A JP 2003389571A JP 4271558 B2 JP4271558 B2 JP 4271558B2
Authority
JP
Japan
Prior art keywords
information
data transfer
path
tree structure
devices
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
JP2003389571A
Other languages
Japanese (ja)
Other versions
JP2005151448A (en
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 JP2003389571A priority Critical patent/JP4271558B2/en
Publication of JP2005151448A publication Critical patent/JP2005151448A/en
Application granted granted Critical
Publication of JP4271558B2 publication Critical patent/JP4271558B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、データ転送システム、特に、各種画像データを扱い各種の処理を行う複合機(MFP)等の画像形成システム及びデータ転送用プログラムに関する。   The present invention relates to a data transfer system, and more particularly to an image forming system such as a multifunction peripheral (MFP) that handles various image data and performs various processes, and a data transfer program.

一般に、画像データその他のデータを扱う機器・システムでは、デバイス間のインタフェースにPCIバスが使用されている。しかし、パラレル方式のPCIバスでは、レーシングやスキューなどの問題があり、高速・高画質の画像機器に使用するには、転送レートが低い段階にきており、最近では、PCIバスのようなパラレル方式のインタフェースに代えて、高速シリアルインタフェースの使用が検討されている。従来、一般的に広く用いられているシリアルインタフェースとしてIEEE1394やUSB等の規格があるが、PCIと比較した場合は転送レートが不足しており、さらにスケーラブルなバス幅確保が困難等の不具合がある。このため、他の高速シリアルインタフェースとして、PCIバス方式の後継規格に当るPCI Express(登録商標)なるインタフェースの使用が検討されている。   Generally, in a device / system that handles image data and other data, a PCI bus is used as an interface between devices. However, the parallel PCI bus has problems such as racing and skew, and the transfer rate has been low for use in high-speed and high-quality image equipment. The use of a high-speed serial interface is being considered in place of the system interface. Conventionally, there are standards such as IEEE1394 and USB as a widely used serial interface, but there are problems such as insufficient transfer rate and difficulty in securing a scalable bus width compared to PCI. . For this reason, the use of an interface called PCI Express (registered trademark) corresponding to a successor standard of the PCI bus system is being studied as another high-speed serial interface.

このPCI Expressシステムは、詳細は後述するが、概略的には、例えば、非特許文献1中の図1等に示されるようなツリー構造(木構造)によるデータ通信網として構成されている。   Although details will be described later, this PCI Express system is schematically configured as a data communication network having a tree structure (tree structure) as shown in FIG.

その一例を単純化して図20に示す。即ち、PCI Expressシステム200は、管理するルートノード(ルートコンプレックス)201を頂点として、スイッチSW1,SW2,SW3,…を介して複数のエンドノード(エンドポイント)A,B,C,D,…をツリー構造に接続してなる。ここに、各スイッチSW1,SW2,SW3,…は、上流ポート(ルートノード側)を1つ持ち、下流ポート(エンドノード側)を複数持つ構成とされ、スイッチAW1,SW2,SW3,…以外のデバイスA,B,C,D,…は、何れも1つのみのポートを有しており、各デバイス間の通信経路は、ツリー構造によって一意に決まる構成とされている。   An example thereof is simplified and shown in FIG. That is, the PCI Express system 200 sets a plurality of end nodes (end points) A, B, C, D,... Via the switches SW1, SW2, SW3,. Connected to a tree structure. Here, each of the switches SW1, SW2, SW3,... Has one upstream port (route node side) and a plurality of downstream ports (end node side), and other than the switches AW1, SW2, SW3,. Each of the devices A, B, C, D,... Has only one port, and the communication path between each device is uniquely determined by a tree structure.

また、ノード間、スイッチ間の接続線は、予めデータ転送に必要な速度に応じた接続線で接続しておくが、この際、各接続線は、各々性能の異なるもの(例えば、バス幅を示すレーン数がx8,x4.x2等)を使用可能とされている。また、スイッチSW1,SW2,SW3,…は、各ポートにプライオリティを設定することにより、複数のデータ転送を並行して処理する場合(競合が起きている際)に、転送速度を調整することができる。   The connection lines between nodes and switches are connected in advance according to the speed required for data transfer. At this time, each connection line has a different performance (for example, a bus width). The number of lanes shown is x8, x4.x2, etc.). Further, the switches SW1, SW2, SW3,... Can adjust the transfer speed when a plurality of data transfers are processed in parallel (when contention occurs) by setting priority to each port. it can.

“PCI Express 規格の概要”Interface誌、July’2003 里見尚志“Outline of PCI Express Standard” Interface, July’2003 Naoshi Satomi

ところが、このようなPCI Expressシステムを単純に利用した場合、通信経路が固定されているため、複数の独立したデータ転送を並行して処理する場合、ノード間のデータ通信であっても各々のノードの位置によっては木構造の根元(ルート)に近い部分を経由して通信を行う必要が生ずることもあり、このような場合、ノード間のデータ通信とその他のデータ通信との間でデータ転送経路の競合が生じ、転送効率が低下してしまう不都合がある。   However, when such a PCI Express system is simply used, the communication path is fixed. Therefore, when processing multiple independent data transfers in parallel, even if data communication between nodes, each node Depending on the location of the node, it may be necessary to perform communication via a portion close to the root of the tree structure. In such a case, a data transfer path between data communication between nodes and other data communication There is a disadvantage that the transfer efficiency is lowered and the transfer efficiency is lowered.

例えば、図20に示した例で説明すると、ルートノード201からエンドノードAへの経路202とエンドノードCからエンドノードBへの経路203とで、2種類のデータ転送を同時に処理しようとする場合、図20中に拡大して示すように、スイッチSW1中のスイッチSW2に対する下流ポートの競合が生じてしまう。よって、経路202のパケットと経路203のパケットとを交互に出力すると、転送レートが半分に落ち、転送効率が低下する。また、スイッチSW1のアービトレーションにより、一方の経路202又は203を優先させることは可能であるが、他方の経路203又は202の転送効率はさらに低下してしまう。   For example, in the example shown in FIG. 20, when two types of data transfer are to be processed simultaneously on the route 202 from the root node 201 to the end node A and the route 203 from the end node C to the end node B. As shown in an enlarged view in FIG. 20, the downstream port competes with the switch SW2 in the switch SW1. Therefore, when the packet of the route 202 and the packet of the route 203 are alternately output, the transfer rate is reduced to half and the transfer efficiency is lowered. In addition, it is possible to give priority to one path 202 or 203 by arbitration of the switch SW1, but the transfer efficiency of the other path 203 or 202 is further reduced.

図20に示すような競合が生じないようにするためには、例えば、図21に示すように、予めスイッチSW2,SW2に対するエンドノードA,B,C,Dの接続を変えておけばよいが、別の並行処理動作において、経路202の処理と、エンドノードCからエンドノードDへの経路204の処理とを同時に処理しなければならない場合は、図20の場合と同様の競合が生じ、転送レートが低下してしまい、本質的な改善とはならない。   In order to prevent the competition shown in FIG. 20 from occurring, for example, as shown in FIG. 21, the connections of the end nodes A, B, C, and D to the switches SW2 and SW2 may be changed in advance. In another parallel processing operation, when the processing of the path 202 and the processing of the path 204 from the end node C to the end node D must be performed at the same time, the same contention as in FIG. The rate will drop and it will not be an essential improvement.

また、一般的に考えても、ノード(デバイス)間のデータ転送経路が静的に定まってしまうため、ボトルネックとなる部分が生じた場合のソフトウェア的な解決手段がない現状にある。   In general, since the data transfer path between nodes (devices) is statically determined, there is no software solution when a bottleneck occurs.

本発明の目的は、複数の独立したデータ転送を並行して処理する場合に、データ転送経路の競合を避けることによりデータ転送効率の向上を図ることである。   An object of the present invention is to improve data transfer efficiency by avoiding data transfer path contention when a plurality of independent data transfers are processed in parallel.

請求項1記載の発明は、木構造によるデータ通信網としてポイントツーポイントで送受信独立の通信チャネルが確立される高速シリアルインタフェースシステムによる前記木構造を用い、当該木構造における下流側に位置する各々のデバイスが、前記木構造における上流側の複数のスイッチに接続される複数のエンドポイントと、他のデバイスに対するアクセスに際して使用するエンドポイントを調停するアービタとを有するデータ転送システムであって、前記各デバイスは、当該システムを管理するプロセッサからアクセス可能な自己の持つデバイス機能に関する情報、エンドポイントに関する情報を保持する情報保持手段を有し、前記プロセッサは、当該システム内のデバイス接続状態、各々のデバイスから取得される前記デバイス機能に関する情報、前記エンドポイントに関する情報に基づき前記木構造中で最適となるデバイス間の経路を決定する決定手段と、前記決定手段によって決定された前記経路についての経路情報を前記各デバイスに書き込み設定する設定手段とを有し、前記各デバイスの前記アービタは、前記設定手段により設定された経路情報を参照して他のデバイスに対するアクセスに際して使用するエンドポイントを調停する。 The invention according to claim 1 uses the tree structure based on a high-speed serial interface system in which a communication channel independent of transmission and reception is established as a point-to-point data communication network using a tree structure. A data transfer system comprising: a plurality of endpoints connected to a plurality of upstream switches in the tree structure; and an arbiter that arbitrates endpoints used when accessing other devices, wherein each of the devices Has information holding means for holding information relating to the device functions possessed by itself and information relating to the endpoints that can be accessed from the processor that manages the system, and the processor is connected to each device from the device connection status in the system. the device functions acquired Information, on the basis of information on the endpoint, and determining means for determining a path between devices to be optimal in the tree structure, writing setting the path information about the path determined by said determining means to the each device related The arbiter of each device refers to the path information set by the setting unit, and arbitrates an endpoint to be used when accessing another device.

請求項2記載の発明は、木構造によるデータ通信網としてポイントツーポイントで送受信独立の通信チャネルが確立される高速シリアルインタフェースシステムによる前記木構造を用い、当該木構造における下流側に位置する各々のデバイスが、前記木構造における上流側の複数のスイッチに接続される複数のエンドポイントと、他のデバイスに対するアクセスに際して使用するエンドポイントを調停するアービタとを有するデータ転送システムであって、当該システムを管理するプロセッサは、前記各デバイスの持つデバイス機能に関する情報、エンドポイントに関する情報を管理する情報管理手段と、当該システム内のデバイス接続状態、前記情報管理手段により管理される各デバイス機能に関する情報、エンドポイントに関する情報に基づき前記木構造中で最適となるデバイス間の経路を決定する決定手段と、前記決定手段によって決定された前記経路についての経路情報を前記各デバイスに書き込み設定する設定手段とを有し、前記各デバイスの前記アービタは、前記設定手段により設定された経路情報を参照して他のデバイスに対するアクセスに際して使用するエンドポイントを調停する。 The invention according to claim 2 uses the tree structure by a high-speed serial interface system in which a communication channel independent of transmission and reception is established point-to-point as a data communication network by a tree structure, and each of the tree structures located downstream in the tree structure A data transfer system in which a device has a plurality of endpoints connected to a plurality of upstream switches in the tree structure, and an arbiter that arbitrates an endpoint to be used when accessing another device. The processor to be managed includes information related to the device function of each device, information management means for managing information related to the endpoint, device connection status in the system, information related to each device function managed by the information management means, end To information about points A determining means for determining a route between devices to be optimal Hazuki said tree structure, and setting means for writing setting the route information to each device for the route determined by said determining means, each The arbiter of the device refers to the path information set by the setting unit, and arbitrates an endpoint to be used when accessing another device.

請求項3記載の発明は、請求項1又は2記載のデータ転送システムにおいて、前記高速シリアルインタフェースシステムがPCI Expressシステムである。   According to a third aspect of the present invention, in the data transfer system according to the first or second aspect, the high-speed serial interface system is a PCI Express system.

請求項4記載の発明は、請求項1ないし3の何れか一記載のデータ転送システムにおいて、前記エンドポイントに関する情報として、エンドポイントの数、エンドポイント毎のレーン数、エンドポイント毎の接続先に関する情報を含む。   According to a fourth aspect of the present invention, in the data transfer system according to any one of the first to third aspects, the information related to the end point includes the number of end points, the number of lanes per end point, and the connection destination per end point. Contains information.

請求項5記載の発明は、請求項1ないし4の何れか一記載のデータ転送システムにおいて、前記設定手段は、各デバイスのアービタへの経路情報の書き込み設定を当該システムの起動に際して行う。   According to a fifth aspect of the present invention, in the data transfer system according to any one of the first to fourth aspects, the setting means performs a write setting of path information to the arbiter of each device when the system is activated.

請求項6記載の発明は、請求項5記載のデータ転送システムにおいて、前記設定手段は、当該システムの起動に際しては各デバイスのアービタへの経路情報の書き込み設定としてデフォルト値の設定を行う。   According to a sixth aspect of the present invention, in the data transfer system according to the fifth aspect, the setting means sets a default value as a setting for writing path information to the arbiter of each device when the system is activated.

請求項7記載の発明は、請求項5又は6記載のデータ転送システムにおいて、前記プロセッサは、当該システムの起動中に動作モードの変更に関する情報を受けた場合には、当該動作モードに対して最適となるようにデバイス間の経路を再決定する再決定手段を有し、前記設定手段は、この再決定手段により再決定された当該経路情報を各デバイスに書き込み設定する。 According to a seventh aspect of the present invention, in the data transfer system according to the fifth or sixth aspect, when the processor receives information on the change of the operation mode during the startup of the system, the processor is optimal for the operation mode. And a re-determination unit that re-determines a path between devices, and the setting unit writes and sets the path information re-determined by the re-determination unit to each device.

請求項8記載の発明は、請求項5又は6記載のデータ転送システムにおいて、前記プロセッサは、当該システムの起動中に定期的に最適となるようにデバイス間の経路を再決定する再決定手段を有し、前記設定手段は、この再決定手段により再決定された当該経路情報を各デバイスに書き込み設定する。 According to an eighth aspect of the present invention, in the data transfer system according to the fifth or sixth aspect, the processor further includes a re-determination unit that re-determines a path between devices so as to be periodically optimized during startup of the system. And the setting means writes and sets the path information redetermined by the redetermining means to each device.

請求項9記載の発明は、請求項7記載のデータ転送システムにおいて、前記各デバイスは、当該システムの起動中に動作モードの変更に関する情報を受けた場合に前記プロセッサに対して経路情報の再決定を要求するメッセージトランザクションを発行するトランザクション発行手段を有し、前記プロセッサは、メッセージトランザクションパケット中に格納された動作モードの変更に関する情報の通知により、動作モードの変更に関する情報を受ける。 According to a ninth aspect of the present invention, in the data transfer system according to the seventh aspect, when each of the devices receives information related to the change of the operation mode during startup of the system, the path information is redetermined for the processor . Transaction issuing means for issuing a message transaction for requesting, and the processor receives information on the change of the operation mode by notifying the information on the change of the operation mode stored in the message transaction packet.

請求項10記載の発明は、請求項7記載のデータ転送システムにおいて、前記各デバイスは、当該システムの起動中に動作モードの変更に関する情報を受けた場合に前記プロセッサに対して経路情報の再決定を要求するメッセージトランザクションを発行するトランザクション発行手段を有し、前記プロセッサは、メッセージトランザクションパケットの受け取りにより当該デバイス中に記録された動作モードの変更に関する情報を参照して、動作モードの変更に関する情報を受ける。 According to a tenth aspect of the present invention, in the data transfer system according to the seventh aspect, when each of the devices receives information on the change of the operation mode during the activation of the system, the path information is redetermined for the processor . Transaction issuing means for issuing a message transaction for requesting, and the processor refers to the information on the change of the operation mode recorded in the device by receiving the message transaction packet, and obtains the information on the change of the operation mode. receive.

請求項11記載の発明は、請求項1ないし10の何れか一記載のデータ転送システムにおいて、前記プロセッサは、当該システムの起動中におけるデバイスの追加又は削除を監視する監視手段を有し、前記決定手段又は前記再決定手段は、デバイスの追加又は削除処理に並行して、経路の決定又は再決定処理を行う。 The invention according to claim 11 is the data transfer system according to any one of claims 1 to 10, wherein the processor includes monitoring means for monitoring addition or deletion of a device during startup of the system. The means or the redetermining means performs a path determination or redetermination process in parallel with the device addition or deletion process.

請求項12記載の発明の画像形成システムは、請求項1ないし11の何れか一記載のデータ転送システムは、前記デバイスを画像形成に関与するデバイスとする。   According to a twelfth aspect of the present invention, in the data transfer system according to any one of the first to eleventh aspects, the device is a device involved in image formation.

請求項13記載の発明は、請求項12記載の画像形成システムにおいて、前記デバイスとして、少なくとも、画像入力用デバイスと画像出力用デバイスと画像処理用デバイスとストレージ用デバイスとを含む。 According to a thirteenth aspect of the present invention, in the image forming system according to the twelfth aspect, the device includes at least an image input device, an image output device, an image processing device, and a storage device.

請求項14記載の発明のデータ転送用プログラムは、木構造によるデータ通信網としてポイントツーポイントで送受信独立の通信チャネルが確立される高速シリアルインタフェースシステムによる前記木構造を用い、当該木構造における下流側に位置する各々のデバイスが、前記木構造における上流側の複数のスイッチに接続される複数のエンドポイントと、設定された経路情報を参照して他のデバイスに対するアクセスに際して使用するエンドポイントを調停するアービタとを有し、前記各デバイスが、自己の持つデバイス機能に関する情報、エンドポイントに関する情報を保持する情報保持手段を有するデータ転送システムを管理するコンピュータにインストールされ、当該コンピュータに、当該システム内のデバイス接続状態、各々のデバイスから取得される前記デバイス機能に関する情報、前記エンドポイントに関する情報に基づき前記木構造中で最適となるデバイス間の経路を決定する決定機能と、前記決定機能によって決定された前記経路についての経路情報を前記各デバイスに書き込み設定する設定機能と、を実行させる。 According to a fourteenth aspect of the present invention, there is provided a data transfer program using the tree structure of a high-speed serial interface system in which a communication channel independent of transmission and reception is established point-to-point as a tree-structured data communication network. Each device located in the network arbitrates between a plurality of endpoints connected to a plurality of upstream switches in the tree structure and endpoints used for accessing other devices with reference to the set path information Each of the devices is installed in a computer that manages a data transfer system having information holding means for holding information on device functions held by the device and information on endpoints. Device connection status, each Information about the device capabilities obtained from devices, a determining function of determining the path between devices to be optimal in the tree structure on the basis of information on the endpoint, the route information for the route determined by said determining function And a setting function for writing to each of the devices .

請求項15記載の発明のデータ転送用プログラムは、木構造によるデータ通信網としてポイントツーポイントで送受信独立の通信チャネルが確立される高速シリアルインタフェースシステムによる前記木構造を用い、当該木構造における下流側に位置する各々のデバイスが、前記木構造における上流側の複数のスイッチに接続される複数のエンドポイントと、設定された経路情報を参照して他のデバイスに対するアクセスに際して使用するエンドポイントを調停するアービタとを有するデータ転送システムを管理するコンピュータにインストールされ、当該コンピュータに、前記各デバイスの持つデバイス機能に関する情報、エンドポイントに関する情報を管理する情報管理機能と、当該システム内のデバイス接続状態、前記情報管理機能により管理される前記デバイス機能に関する情報、前記エンドポイントに関する情報に基づき前記木構造中で最適となるデバイス間の経路を決定する決定機能と、前記決定機能によって決定された前記経路についての経路情報を前記各デバイスに書き込み設定する設定機能と、を実行させる。
According to a fifteenth aspect of the present invention, there is provided a data transfer program using the tree structure of a high-speed serial interface system in which a communication channel independent of transmission and reception is established point-to-point as a tree-structured data communication network, and downstream of the tree structure Each device located in the network arbitrates between a plurality of endpoints connected to a plurality of upstream switches in the tree structure and endpoints used for accessing other devices with reference to the set path information Installed in a computer that manages a data transfer system having an arbiter, and in the computer, information on device functions of each device, information management function for managing information on endpoints, device connection status in the system, the information management function Ri said information on device capabilities that are managed, the decision function for determining a path between devices to be optimal in the tree structure on the basis of information on the endpoint, the path information about the path determined by the determining function A setting function for performing writing setting on each of the devices .

請求項16記載の発明は、請求項14又は15記載のデータ転送用プログラムにおいて、前記高速シリアルインタフェースシステムがPCI Expressシステムである。   According to a sixteenth aspect of the present invention, in the data transfer program according to the fourteenth or fifteenth aspect, the high-speed serial interface system is a PCI Express system.

請求項17記載の発明は、請求項14ないし16の何れか一記載のデータ転送用プログラムにおいて、前記エンドポイントに関する情報として、エンドポイントの数、エンドポイント毎のレーン数、エンドポイント毎の接続先に関する情報を含む。   According to a seventeenth aspect of the present invention, in the data transfer program according to any one of the fourteenth to sixteenth aspects, the information about the endpoint includes the number of endpoints, the number of lanes for each endpoint, and the connection destination for each endpoint. Contains information about.

請求項18記載の発明は、請求項14ないし17の何れか一記載のデータ転送用プログラムにおいて、前記設定機能は、各デバイスのアービタへの経路情報の書き込み設定を当該システムの起動に際して行う。   According to an eighteenth aspect of the present invention, in the data transfer program according to any one of the fourteenth to seventeenth aspects, the setting function performs setting of writing path information to the arbiter of each device when the system is activated.

請求項19記載の発明は、請求項18記載のデータ転送用プログラムにおいて、前記設定機能は、当該システムの起動に際しては各デバイスのアービタへの経路情報の書き込み設定としてデフォルト値の設定を行う。   According to a nineteenth aspect of the present invention, in the data transfer program according to the eighteenth aspect, the setting function sets a default value as a writing setting of path information to the arbiter of each device when the system is activated.

請求項20記載の発明は、請求項18又は19記載のデータ転送用プログラムにおいて、当該システムの起動中に動作モードの変更に関する情報を受けた場合には、当該動作モードに対して最適となるようにデバイス間の経路を再決定する再決定機能を前記コンピュータに実行させ、前記設定機能は、この再決定機能により再決定された当該経路情報を各デバイスに書き込み設定する。   According to the twentieth aspect of the invention, in the data transfer program according to the twentieth or nineteenth aspect, when the information about the change of the operation mode is received during the activation of the system, the program is optimized for the operation mode. The computer executes a redetermination function for redetermining a path between devices, and the setting function writes and sets the path information redetermined by the redetermination function in each device.

請求項21記載の発明は、請求項18又は19記載のデータ転送用プログラムにおいて、当該システムの起動中に定期的に最適となるようにデバイス間の経路を再決定する再決定機能を前記コンピュータに実行させ、前記設定機能は、この再決定機能により再決定された当該経路情報を各デバイスに書き込み設定する。   According to a twenty-first aspect of the present invention, in the data transfer program according to the eighteenth or nineteenth aspect, the computer has a redetermination function for re-determining a path between devices so as to be periodically optimized during startup of the system. The setting function writes and sets the path information redetermined by the redetermination function to each device.

請求項22記載の発明は、請求項20記載のデータ転送用プログラムにおいて、当該システム中の前記各デバイスは、当該システムの起動中に動作モードの変更に関する情報を受けた場合に前記コンピュータに対して経路情報の再決定を要求するメッセージトランザクションを発行するトランザクション発行手段を有し、前記コンピュータに、メッセージトランザクションパケット中に格納された動作モードの変更に関する情報の通知により、動作モードの変更に関する情報を受けさせる。   According to a twenty-second aspect of the present invention, in the data transfer program according to the twenty-second aspect, each of the devices in the system receives information from the computer when the operation mode is changed during startup of the system. Transaction issuing means for issuing a message transaction for requesting re-determination of routing information, and receiving the information on the change of the operation mode by notifying the computer of the information on the change of the operation mode stored in the message transaction packet; Let

請求項23記載の発明は、請求項20記載のデータ転送用プログラムにおいて、当該システム中の前記各デバイスは、当該システムの起動中に動作モードの変更に関する情報を受けた場合に前記コンピュータに対して経路情報の再決定を要求するメッセージトランザクションを発行するトランザクション発行手段を有し、前記コンピュータに、メッセージトランザクションパケットの受け取りにより当該デバイス中に記録された動作モードの変更に関する情報を参照して、動作モードの変更に関する情報を受けさせる。   According to a twenty-third aspect of the present invention, in the data transfer program according to the twenty-second aspect, each of the devices in the system receives the information regarding the change of the operation mode during the activation of the system. Transaction issuing means for issuing a message transaction for requesting re-determination of path information, and referring to the information on the change of the operation mode recorded in the device by receiving the message transaction packet in the computer; Receive information about changes.

請求項24記載の発明は、請求項14ないし23の何れか一記載のデータ転送用プログラムにおいて、当該システムの起動中におけるデバイスの追加又は削除を監視する監視機能を前記コンピュータに実行させ、前記決定機能又は前記再決定機能は、デバイスの追加又は削除処理に並行して、経路の決定又は再決定処理を行う。   According to a twenty-fourth aspect of the present invention, in the data transfer program according to any one of the fourteenth to twenty-third aspects, the computer is caused to execute a monitoring function for monitoring addition or deletion of a device during startup of the system, and the determination is performed. The function or the redetermination function performs a path determination or redetermination process in parallel with the device addition or deletion process.

本発明によれば、各々のデバイスに各々スイッチに接続される複数のエンドポイントを持たせ、動作モードに応じて使用するエンドポイントを調停することにより、木構造を動的に変更することができ、よって、複数の独立したデータ転送を並行して処理する場合でも、独立したデータ転送経路の確保によりデータ転送経路の競合を避けることができ、データ転送効率の向上を図ることができる。特に、木構造の根元部分を経由せずにデバイス間のデータ通信を行わせるように経路設定できるため、根元部分の通信帯域によらず効率よくデータ通信を行うことができる。さらには、動作状態によってデバイス間で必要とする通信帯域が変化するようなシステムであっても、経路設定を変更することで常に最適な通信帯域を確保することもできる。   According to the present invention, the tree structure can be dynamically changed by having each device have a plurality of endpoints connected to the switches and arbitrating the endpoints to be used according to the operation mode. Therefore, even when a plurality of independent data transfers are processed in parallel, the competition of the data transfer paths can be avoided by securing the independent data transfer paths, and the data transfer efficiency can be improved. In particular, since a route can be set so that data communication between devices can be performed without going through the root portion of the tree structure, data communication can be performed efficiently regardless of the communication bandwidth of the root portion. Furthermore, even in a system in which the required communication band varies between devices depending on the operating state, the optimum communication band can always be ensured by changing the route setting.

本発明を実施するための最良の形態について図面を参照して説明する。   The best mode for carrying out the present invention will be described with reference to the drawings.

[PCI Express規格の概要]
まず、本実施の形態は高速シリアルバスの一つであるPCI Express(登録商標)を利用するものであり、本実施の形態の前提として当該PCI Express規格の概要について、非特許文献1の一部抜粋により説明する。ここに、高速シリアルバスとは、1本の伝送路を用いてシリアル(直列)伝送により高速(100Mbps程度以上)にデータをやり取りすることができるインタフェースを意味する。
[Outline of PCI Express standard]
First, this embodiment uses PCI Express (registered trademark), which is one of high-speed serial buses. As an assumption of this embodiment, an outline of the PCI Express standard is a part of Non-Patent Document 1. Explained with excerpts. Here, the high-speed serial bus means an interface capable of exchanging data at high speed (about 100 Mbps or more) by serial (serial) transmission using a single transmission line.

PCI Expressは、PCIの後継規格としてコンピュータ全般に通用する標準拡張バスとして規格化されたバスであり、概略的には、低電圧差動信号伝送、ポイントツーポイントで送受信独立の通信チャネル、パケット化されたスプリットトランザクション、リンク構成の違いによる高いスケーラビリティなどの特徴を持つ。   PCI Express is a standardized expansion bus that can be used for all computers as a successor to PCI. In general, low-voltage differential signal transmission, point-to-point independent communication channels, and packetization Split transactions and high scalability due to differences in link configuration.

図1に既存のPCIシステム、図2にPCI Expressシステムの各々の構成例を示す。既存のPCIシステムにあっては、CPU100やAGPグラフィックス101やメモリ102が接続されたホストブリッジ103に対して、PCI-X(PCIの上位互換規格)デバイス104a,104bがPCI-Xブリッジ105aを介して接続されたり、PCI-Xデバイス104c,104dが接続されたPCI-Xブリッジ105bやPCIバススロット106が接続されたPCIブリッジ107がPCI-Xブリッジ105cを介して接続されたりしたツリー構造(木構造)とされている。   FIG. 1 shows a configuration example of an existing PCI system, and FIG. 2 shows a configuration example of a PCI Express system. In the existing PCI system, PCI-X (PCI upward compatible standard) devices 104a and 104b connect the PCI-X bridge 105a to the host bridge 103 to which the CPU 100, the AGP graphics 101, and the memory 102 are connected. A tree structure in which a PCI-X bridge 105b to which PCI-X devices 104c and 104d are connected and a PCI bridge 107 to which a PCI bus slot 106 is connected are connected via a PCI-X bridge 105c ( Tree structure).

これに対して、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により接続されたツリー構造(木構造)とされている。   On the other hand, in the PCI Express system, the PCI Express graphics 113 is connected by the PCI Express 114a to the root complex 112 to which the CPU 110 and the memory 111 are connected, and the endpoint 115a and the legacy endpoint 116a. The switch 117a connected by the PCI Express 114b is connected by the PCI Express 114c, and the PCI bridge 119 to which the switch 117b to which the end point 115b and the legacy end point 116b are connected by the PCI Express 114d and the PCI bus slot 118 are connected is a PCI. The switch 117c connected by the Express 114e has a tree structure (tree structure) connected by the PCI Express 114f.

実際に想定される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が接続されている。   An example of an actually assumed PCI Express platform is shown in FIG. The illustrated example shows an application example to a desktop / mobile. For example, graphics 125 is connected to a memory hub 124 (corresponding to a root complex) to which a CPU 121 is connected by a CPU host bus 122 and a memory 123 is connected. An x16 PCI Express 126a and an I / O hub 127 having a conversion function are connected by a PCI Express 126b. For example, a memory 129 is connected to the I / O hub 127 by a Serial ATA 128, a local I / O 131 is connected by an LPC 130, and a USB 2.0 132 and a PCI bus slot 133 are connected. Furthermore, a switch 134 is connected to the I / O hub 127 by a PCI Express 126c, and the mobile dock 135, Gigabit Ethernet 136 (Ethernet is a registered trademark), and an add-in are connected to the switch 134 by PCI Express 126d, 126e, and 126f, respectively. A card 137 is connected.

即ち、PCI Expressシステムでは、従来のPCI,PCI-X,AGPといったバスがPCI Expressで置き換わり、既存のPCI/PCI-Xデバイスを接続するためにブリッジが使用される。チップセット間の接続もPCI Express接続となり、IEEE1394,Serial ATA,USB 2.0などの既存のバスはI/OハブによりPCI Expressに接続される。   That is, in the PCI Express system, the conventional PCI, PCI-X, AGP bus is replaced with PCI Express, and a bridge is used to connect an existing PCI / PCI-X device. Connection between chipsets is also PCI Express connection, and existing buses such as IEEE1394, Serial ATA, and USB 2.0 are connected to PCI Express by an I / O hub.

[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を可変することにより、スケーラブルなバンド幅を構成することが可能となる。
[Components of PCI Express]
A. Port / Lane / Link
FIG. 4 shows the structure of the physical layer. A port is a set of transmitters / receivers that are physically in the same semiconductor and form a link, and logically means an interface that connects components one-to-one (point-to-point). The transfer rate is, for example, 2.5 Gbps in one direction. The lane is, for example, a set of 0.8 V differential signal pairs, and includes a transmission-side signal pair (two) and a reception-side signal pair (two). A link is a collection of lanes connecting two ports and the two ports, and is a dual simplex communication bus between components. The “xN link” is composed of N lanes, and N = 1, 2, 4, 8, 16, 32 are defined in the current standard. The illustrated example is an x4 link example. For example, as shown in FIG. 5, by changing the lane width N connecting the devices A and B, a scalable bandwidth can be configured.

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側の例)がある。
B. Root Complex
The root complex 112 is located at the highest level of the I / O structure, and connects the CPU and the memory subsystem to the I / O. In a block diagram or the like, as shown in FIG. 3, it is often described as “memory hub”. The root complex 112 (or 124) has one or more PCI Express ports (root ports) (indicated by squares in the root complex 112 in FIG. 2), and each port is an independent I / O hierarchical domain. Form. The I / O hierarchical domain is a simple endpoint (for example, the example of the endpoint 115a side in FIG. 2), or is formed from a large number of switches and endpoints (for example, the endpoint in FIG. 2). 115b and switches 117b and 115c side).

C.エンドポイント(End Point)
エンドポイント115は、タイプ00hのコンフィグレーション空間ヘッダを持つデバイス(具体的には、ブリッジ以外のデバイス)で、レガシーエンドポイントとPCI Expressエンドポイントとに分けられる。両者の大きな違いは、PCI ExpressエンドポイントはBAR(ベースアドレスレジスタ)でI/Oポートリソースを要求せず、このためI/Oリクエストを要求しない。また、PCI Expressエンドポイントは、ロックリクエストもサポートしていない。
C. End point
The endpoint 115 is a device having a configuration space header of type 00h (specifically, a device other than a bridge), and is divided into a legacy endpoint and a PCI Express endpoint. The major difference between the two is that the PCI Express endpoint does not request an I / O port resource in the BAR (base address register), and therefore does not request an I / O request. PCI Express endpoints also do not support lock requests.

D.スイッチ(Switch)
スイッチ117(又は、134)は、2つ以上のポートを結合し、ポート間でのパケットルーティングを行う。コンフィグレーションソフトウェアからは、当該スイッチは、図6に示すように、仮想PCI-PCIブリッジ141の集合体として認識される。図中、両矢印はPCI Expressリンク114(又は、126)を示し、142a〜142dはポートを示す。このうち、ポート142aはルートコンプレックスに近い方のアップストリームポートであり、ポート142b〜142dはルートコンプレックスから遠い方のダウンストリームポートである。
D. Switch
The switch 117 (or 134) couples two or more ports and performs packet routing between the ports. From the configuration software, the switch is recognized as a collection of virtual PCI-PCI bridges 141 as shown in FIG. In the figure, double-headed arrows indicate PCI Express links 114 (or 126), and 142a to 142d indicate ports. Of these, the port 142a is an upstream port closer to the root complex, and the ports 142b to 142d are downstream ports farther from the root complex.

E.PCI Express114e−PCIブリッジ117
PCI ExpressからPCI/PCI-Xへの接続を提供する。これにより、既存のPCI/PCI-XデバイスをPCI Expressシステム上で使用することができる。
E. PCI Express 114e-PCI bridge 117
Provides connection from PCI Express to PCI / PCI-X. Thereby, an existing PCI / PCI-X device can be used on the PCI Express system.

[階層アーキテクチャ]
従来のPCIのアーキテクチャは、図7(a)に示すように、プロトコルとシグナリングが密接に関連する構造であり階層という考え方はなかったが、PCI Expressでは、図7(b)に示すように、一般的な通信プロトコルやInfiniBandのように、独立した階層構造とされ、各層に分けて仕様が定義されている。即ち、最上位のソフトウェア151、最下位の機構(メカニカル)部152間に、トランザクション層153、データリンク層154、物理層155を持つ構造とされている。これにより、各層のモジュール性が確保され、スケーラビリティを持たせることやモジュールの再利用が可能となる。例えば、新たな信号コーディング方式や伝送媒体を採用する場合、物理層を変更するだけでデータリンク層やトランザクション層は変更せずに対応できる。
[Hierarchical architecture]
As shown in FIG. 7A, the conventional PCI architecture has a structure in which protocols and signaling are closely related and has no concept of hierarchy. In PCI Express, as shown in FIG. 7B, Like general communication protocols and InfiniBand, it has an independent hierarchical structure, and specifications are defined for each layer. In other words, a transaction layer 153, a data link layer 154, and a physical layer 155 are provided between the uppermost software 151 and the lowermost mechanism (mechanical) unit 152. Thereby, the modularity of each layer is ensured, and it becomes possible to provide scalability and reuse the module. For example, when adopting a new signal coding method or transmission medium, it is possible to cope with only changing the physical layer without changing the data link layer or the transaction layer.

PCI Expressのアーキテクチャの中心となるのは、トランザクション層153、データリンク層154、物理層155であり、各々図8を参照して説明する以下のような役割を持つ。   The core of the PCI Express architecture is a transaction layer 153, a data link layer 154, and a physical layer 155, each having the following roles described with reference to FIG.

A.トランザクション層153
トランザクション層153は、最上位に位置し、トランザクションレイヤパケット(TLP)の組み立て、分解機能を持つ。トランザクションレイヤパケット(TLP)は、リード/ライト、各種イベントといったトランザクションの伝達に用いられる。また、トランザクション層153は、トランザクションレイヤパケット(TLP)のためのクレジットを用いたフロー制御を行う。各層153〜155におけるトランザクションレイヤパケット(TLP)の概要を図9に示す(詳細は、後述する)。
A. Transaction layer 153
The transaction layer 153 is located at the highest level and has a function of assembling and disassembling a transaction layer packet (TLP). The transaction layer packet (TLP) is used for transmission of transactions such as read / write and various events. The transaction layer 153 performs flow control using credits for transaction layer packets (TLP). An outline of a transaction layer packet (TLP) in each of the layers 153 to 155 is shown in FIG. 9 (details will be described later).

B.データリンク層154
データリンク層154の主な役割は、エラー検出/訂正(再送)によりトランザクションレイヤパケット(TLP)のデータ完全性を保証することと、リンク管理である。データリンク層154間では、リンク管理やフロー制御のためのパケットのやり取りを行う。このパケットは、トランザクションレイヤパケット(TLP)と区別するために、データリンクレイヤパケット(DLLP)と呼ばれる。
B. Data link layer 154
The main role of the data link layer 154 is to guarantee data integrity of the transaction layer packet (TLP) by error detection / correction (retransmission) and link management. Packets for link management and flow control are exchanged between the data link layers 154. This packet is called a data link layer packet (DLLP) to distinguish it from a transaction layer packet (TLP).

C.物理層155
物理層155は、ドライバ、入力バッファ、パラレル−シリアル/シリアル−パラレル変換器、PLL、インピーダンス整合回路といったインタフェース動作に必要な回路を含んでいる。また、論理的な機能としてインタフェースの初期化・保守の機能を持つ。物理層155は、データリンク層154/トランザクション層153を実際のリンクで使用される信号技術から独立させる役目も持っている。
C. Physical layer 155
The physical layer 155 includes circuits necessary for interface operations such as a driver, an input buffer, a parallel-serial / serial-parallel converter, a PLL, and an impedance matching circuit. It also has interface initialization / maintenance functions as logical functions. The physical layer 155 also serves to make the data link layer 154 / transaction layer 153 independent of the signaling technology used in the actual link.

なお、PCI Expressのハードウェア構成上、エンベデッド・クロックという技術を採用しており、クロック信号はなく、クロックのタイミングはデータ信号中に埋め込まれており、受信側でデータ信号のクロスポイントを基にクロックを抽出する方式とされている。   The PCI Express hardware configuration uses a technology called embedded clock, there is no clock signal, the clock timing is embedded in the data signal, and the receiving side is based on the crosspoint of the data signal. The clock is extracted.

[コンフィグレーション空間]
PCI Expressは、従来のPCIと同様にコンフィグレーション空間を持つが、その大きさは従来のPCIが256バイトであるのに対して、図10に示すように、4096バイトへと拡張されている。これにより、多数のデバイス固有レジスタセットを必要とするデバイス(ホストブリッジなど)に対しても、将来的に十分な空間が確保されている。PCI Expressでは、コンフィグレーション空間へのアクセスは、フラットなメモリ空間へのアクセス(コンフィグレーションリード/ライト)で行われ、バス/デバイス/機能/レジスタ番号はメモリアドレスにマップされている。
[Configuration space]
PCI Express has a configuration space like conventional PCI, but its size is expanded to 4096 bytes as shown in FIG. 10, whereas conventional PCI has 256 bytes. As a result, sufficient space is secured in the future even for devices (such as host bridges) that require a large number of device-specific register sets. In PCI Express, the configuration space is accessed by accessing a flat memory space (configuration read / write), and the bus / device / function / register number is mapped to a memory address.

当該空間の先頭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拡張空間にアクセスできるようにする必要がある。   The first 256 bytes of the space can be accessed as a PCI configuration space by a method using an I / O port from a BIOS or a conventional OS. The function of converting conventional access to PCI Express access is implemented on the host bridge. From 00h to 3Fh, it is a PCI2.3 compatible configuration header. As a result, a conventional OS and software can be used as they are except for functions extended by PCI Express. That is, the software layer in PCI Express inherits a load / store architecture (a method in which a processor directly accesses an I / O register) that is compatible with the existing PCI. However, in order to use functions expanded by PCI Express (for example, functions such as synchronous transfer and RAS (Reliability, Availability and Serviceability)), it is necessary to make it possible to access a 4 Kbyte PCI Express expansion space.

なお、PCI Expressとしては様々なフォームファクタ(形状)が考えられるが、具体化している例としては、アドインカード、プラグインカード(NEWCARD)、Mini PCI Expressなどがある。   Various form factors (shapes) are conceivable as PCI Express. Examples of specific examples include add-in cards, plug-in cards (NEWCARD), and Mini PCI Express.

[PCI Express のアーキテクチャの詳細]
PCI Express のアーキテクチャの中心となっているトランザクション層153、データリンク層154、物理層155について、各々詳細に説明する。
[PCI Express architecture details]
The transaction layer 153, data link layer 154, and physical layer 155, which are the core of the PCI Express architecture, will be described in detail.

A.トランザクション層153
トランザクション層153の主な役割は、前述したように、上位のソフトウェア層151と下位のデータリンク層154との間でトランザクションレイヤパケット(TLP)の組み立てと分解を行うことである。
A. Transaction layer 153
The main role of the transaction layer 153 is to assemble and disassemble transaction layer packets (TLP) between the upper software layer 151 and the lower data link layer 154 as described above.

a.アドレス空間とトランザクションタイプ
PCI Expressでは、従来のPCIでサポートされていたメモリ空間(メモリ空間とのデータ転送用)、I/O空間(I/O空間とのデータ転送用)、コンフィグレーション空間(デバイスのコンフィグレーションとセットアップ用)に加えて、メッセージ空間(PCI Expressデバイス間のインバンドでのイベント通知や一般的なメッセージ送信(交換)用…割り込み要求や確認は、メッセージを「仮想ワイヤ」として使用することにより伝達される)が追加され、4つのアドレス空間が定義されている。各々の空間に対してトランザクションタイプが定義されている(メモリ空間、I/O空間、コンフィグレーション空間は、リード/ライト、メッセージ空間は基本(ベンダ定義含む))。
a. Address space and transaction type
In PCI Express, memory space (for data transfer with memory space), I / O space (for data transfer with I / O space), and configuration space (device configuration and setup) supported by conventional PCI In addition to message space (in-band event notification between PCI Express devices and general message transmission (exchange) ... Interrupt requests and confirmations are communicated by using the message as a "virtual wire" And four address spaces are defined. Transaction types are defined for each space (memory space, I / O space, configuration space is read / write, and message space is basic (including vendor definition)).

b.トランザクションレイヤパケット(TLP)
PCI Expressは、パケット単位で通信を行う。図9に示したトランザクションレイヤパケット(TLP)のフォーマットにおいて、ヘッダのヘッダ長は3DW(DWはダブルワードの略;合計12バイト)又は4DW(16バイト)で、トランザクションレイヤパケット(TLP)のフォーマット(ヘッダ長とペイロードの有無)、トランザクションタイプ、トラフィッククラス(TC)、アトリビュートやペイロード長などの情報が含まれる。パケット内の最大ペイロード長は1024DW(4096バイト)である。
b. Transaction layer packet (TLP)
PCI Express performs communication in units of packets. In the transaction layer packet (TLP) format shown in FIG. 9, the header length of the header is 3DW (DW is an abbreviation of double word; total 12 bytes) or 4DW (16 bytes), and the transaction layer packet (TLP) format ( Information such as header length and presence / absence of payload), transaction type, traffic class (TC), attribute, and payload length are included. The maximum payload length in the packet is 1024 DW (4096 bytes).

ECRCは、エンドツーエンドのデータ完全性を保証するためのもので、トランザクションレイヤパケット(TLP)部分の32ビットCRCである。これは、スイッチ内部などでトランザクションレイヤパケット(TLP)にエラーが発生した場合、LCRC(リンクCRC)ではエラーを検出できないためである(エラーとなったTLPでLCRCが再計算されるため)。   ECRC is an end-to-end data integrity guarantee and is a 32-bit CRC of the transaction layer packet (TLP) portion. This is because when an error occurs in the transaction layer packet (TLP) inside the switch or the like, the LCRC (link CRC) cannot detect the error (because the LCRC is recalculated with the TLP in error).

リクエストは、完了パケットが不要なものと必要なものとがある。   Some requests do not require a completion packet, and some requests.

c.トラフィッククラス(TC)と仮想チャネル(VC)
上位のソフトウェアは、トラフィッククラス(TC)を使用することによりトラフィックの差別化(優先度をつける)を行うことができる。例えば、映像データをネットワークのデータよりも優先して転送する、といったことが可能となる。トラフィッククラス(TC)はTC0からTC7まで8つある。
c. Traffic class (TC) and virtual channel (VC)
Upper software can differentiate (prioritize) traffic by using a traffic class (TC). For example, video data can be transferred with priority over network data. There are eight traffic classes (TC) from TC0 to TC7.

仮想チャネル(VC:Vertual Channel)は、各々独立した仮想通信バス(同一のリンクを共用する複数の独立したデータ・フロー・バッファを使用するメカニズム)で、各々がリソース(バッファやキュー)を持ち、図11に示すように、独立したフロー制御を行う。これにより、1つの仮想チャネルのバッファが満杯の状態(full)になっても、他の仮想チャネルの転送を行うことができる。つまり、物理的には1つのリンクを仮想的な複数のチャネルに分けることで、有効に使用することができる。例えば、図11中に示すように、スイッチを経由してルートのリンクが複数のデバイスに分かれる場合、各デバイスのトラフィックの優先度を制御することができる。VC0は必須で、コストパフォーマンスのトレードオフに応じてその他の仮想チャネル(VC1〜VC7)が実装される。図11中の実線矢印は、デフォルト仮想チャネル(VC0)を示し、破線矢印はその他の仮想チャネル(VC1〜VC7)を示している。   A virtual channel (VC) is an independent virtual communication bus (a mechanism that uses a plurality of independent data flow buffers sharing the same link), each having resources (buffers and queues) As shown in FIG. 11, independent flow control is performed. Thereby, even if the buffer of one virtual channel becomes full (full), the transfer of another virtual channel can be performed. In other words, it can be used effectively by physically dividing one link into a plurality of virtual channels. For example, as shown in FIG. 11, when a route link is divided into a plurality of devices via a switch, the priority of traffic of each device can be controlled. VC0 is indispensable, and other virtual channels (VC1 to VC7) are mounted in accordance with the cost performance trade-off. The solid line arrow in FIG. 11 indicates the default virtual channel (VC0), and the broken line arrow indicates the other virtual channels (VC1 to VC7).

トランザクション層内では、トラフィッククラス(TC)が仮想チャネル(VC)にマッピングされる。1つの仮想チャネル(VC)に対して1つ又は複数のトラフィッククラス(TC)をマッピングできる(仮想チャネル(VC)の数が少ない場合)。単純な例では、各トラフィッククラス(TC)から各仮想チャネル(VC)に1対1、全てのトラフィッククラス(TC)を仮想チャネルVC0にマッピングする、といったことが考えられる。TC0−VC0のマッピングは、必須/固定で、それ以外のマッピングは上位のソフトウェアから制御される。ソフトウェアはトラフィッククラス(TC)を利用することで、トランザクションの優先度を制御することが可能となる。   Within the transaction layer, a traffic class (TC) is mapped to a virtual channel (VC). One or more traffic classes (TC) can be mapped to one virtual channel (VC) (when the number of virtual channels (VC) is small). In a simple example, it can be considered that each traffic class (TC) is mapped to each virtual channel (VC) on a one-to-one basis, and all traffic classes (TC) are mapped to the virtual channel VC0. The mapping of TC0-VC0 is essential / fixed, and the other mappings are controlled from the upper software. The software can control the priority of the transaction by using the traffic class (TC).

d.フロー制御
受信バッファのオーバフローを避け、伝送順序を確立するためにフロー制御(FC:Flow Control)が行われる。フロー制御は、リンク間のポイントツーポイントで行われ、エンドツーエンドではない。従って、フロー制御により最終的な相手(コンプリータ)にパケットが届いたことを確認することはできない。
d. Flow control Flow control (FC) is performed to avoid the overflow of the reception buffer and establish the transmission order. Flow control is done point-to-point between links, not end-to-end. Therefore, it cannot be confirmed that the packet has reached the final partner (completer) by flow control.

PCI Expressのフロー制御は、クレジット・ベースで行われる(データ転送を始める前に、受け取り側のバッファの空き状況を確認し、オーバフロー、アンダフローが発生しないメカニズム)。即ち、受信側はリンク初期化時にバッファ容量(クレジット値)を送信側に通知し、送信側はクレジット値と送信するパケットの長さとを比較し、一定の残りがある場合のみパケットを送信する。このクレジットには6種類ある。   PCI Express flow control is performed on a credit basis (a mechanism that confirms the buffer availability on the receiving side before starting data transfer and prevents overflow and underflow). That is, the receiving side notifies the transmitting side of the buffer capacity (credit value) at the time of link initialization, and the transmitting side compares the credit value with the length of the packet to be transmitted, and transmits the packet only when there is a certain remaining. There are six types of credits.

フロー制御の情報交換はデータリンク層のデータリンクレイヤパケット(DLLP)を使用して行われる。フロー制御はトランザクションレイヤパケット(TLP)のみに適用され、データリンクレイヤパケット(DLLP)には適用されない(DLLPは常時送受信可能)。   Flow control information exchange is performed using data link layer packets (DLLP) in the data link layer. The flow control is applied only to the transaction layer packet (TLP) and not to the data link layer packet (DLLP) (DLLP can always be transmitted / received).

B.データリンク層154
データリンク層154の主な役割は、前述したように、リンク上の2つのコンポーネント間での信頼性の高いトランザクションレイヤパケット(TLP)交換機能を提供することである。
B. Data link layer 154
The main role of the data link layer 154 is to provide a reliable transaction layer packet (TLP) exchange function between two components on the link, as described above.

a.トランザクションレイヤパケット(TLP)の扱い
トランザクション層153から受け取ったトランザクションレイヤパケット(TLP)に対しては、先頭に2バイトのシーケンス番号、末尾に4バイトのリンクCRC(LCRC)を付加して、物理層155に渡す(図9参照)。トランザクションレイヤパケット(TLP)は、リトライバッファに保管され、相手から受信確認(ACK)が届くまで再送される。トランザクションレイヤパケット(TLP)の送信に失敗が続いた場合は、リンク異常であると判断して物理層155に対してリンクの再トレーニングを要求する。リンクのトレーニングが失敗した場合、データリンク層154の状態はインアクティブに遷移する。
a. Handling of transaction layer packet (TLP) For the transaction layer packet (TLP) received from the transaction layer 153, a 2-byte sequence number at the beginning and a 4-byte link CRC (LCRC) at the end are added to the physical layer. To 155 (see FIG. 9). The transaction layer packet (TLP) is stored in the retry buffer and retransmitted until a reception confirmation (ACK) is received from the partner. When the transmission of the transaction layer packet (TLP) continues to fail, it is determined that the link is abnormal, and the physical layer 155 is requested to retrain the link. If link training fails, the state of the data link layer 154 transitions to inactive.

物理層155から受け取ったトランザクションレイヤパケット(TLP)は、シーケンス番号とリンクCRC(LCRC)が検査され、正常であればトランザクション層153に渡され、エラーがあった場合は再送を要求する。   The transaction layer packet (TLP) received from the physical layer 155 is inspected for the sequence number and the link CRC (LCRC). If normal, the transaction layer packet (TLP) is passed to the transaction layer 153. If there is an error, a retransmission is requested.

b.データリンクレイヤパケット(DLLP)
データリンク層154が生成するパケットは、データリンクレイヤパケット(DLLP)と呼ばれ、データリンク層154間でやり取りされる。データリンクレイヤパケット(DLLP)には、
・Ack/Nak:TLPの受信確認、リトライ(再送)
・InitFC1/InitFC2/UpdateFC:フロー制御の初期化とアップデート
・電源管理のためのDLLP
なる種類がある。
b. Data link layer packet (DLLP)
A packet generated by the data link layer 154 is called a data link layer packet (DLLP), and is exchanged between the data link layers 154. Data link layer packet (DLLP)
-Ack / Nak: TLP reception confirmation, retry (retransmission)
-InitFC1 / InitFC2 / UpdateFC: Flow control initialization and update-DLLLP for power management
There are different types.

図12に示すように、データリンクレイヤパケット(DLLP)の長さは6バイトで、種類を示すDLLPタイプ(1バイト)、DLLPの種類で固有の情報(3バイト)、CRC(2バイト)から構成される。   As shown in FIG. 12, the length of the data link layer packet (DLLP) is 6 bytes. From the DLLP type (1 byte) indicating the type, the information specific to the type of DLLP (3 bytes), and CRC (2 bytes) Composed.

C.物理層−論理サブブロック156
図8中に示す物理層155の論理サブブロック156での主な役割は、データリンク層154から受け取ったパケットを電気サブブロック157で送信できる形式に変換することである。また、物理層155を制御/管理する機能も有する。
C. Physical layer-logical sub-block 156
The main role of the physical layer 155 in the logical sub-block 156 shown in FIG. 8 is to convert the packet received from the data link layer 154 into a format that can be transmitted by the electrical sub-block 157. It also has a function of controlling / managing the physical layer 155.

a.データ符号化とパラレル−シリアル変換
PCI Expressは、連続した“0”や“1”が続かないように(長い期間、クロス・ポイントが存在しない状態が続かないようにするため)、データ符号化に8B/10B変換を用いる。変換されたデータは、図13中に示すように、シリアル変換され、LSBからレーン上に送信される。ここに、レーンが複数ある場合は(図13はx4リンクの場合を例示している)、符号化の前にデータがバイト単位で各レーンに割り振られる。この場合、一見パラレル・バスのようにみえるが、レーン毎に独立した転送を行うので、パラレル・バスで問題となるスキューが大幅に緩和される。
a. Data encoding and parallel-serial conversion
PCI Express uses 8B / 10B conversion for data encoding so that consecutive “0” s and “1” s do not continue (in order not to maintain a state where there is no cross point for a long period of time). The converted data is serial-converted and transmitted from the LSB onto the lane as shown in FIG. Here, when there are a plurality of lanes (FIG. 13 illustrates the case of x4 link), data is allocated to each lane in units of bytes before encoding. In this case, it looks like a parallel bus at first glance, but since the transfer is performed independently for each lane, the skew which is a problem with the parallel bus is greatly reduced.

b.電源管理とリンクステート
リンクの消費電力を低く抑えるために、表1に示すように、L0/L0s/L1/L2というリンクステートが定義されている。
b. Power management and link state As shown in Table 1, a link state of L0 / L0s / L1 / L2 is defined in order to keep the power consumption of the link low.

Figure 0004271558
Figure 0004271558

L0が通常モードで、L0sからL2へと低消費電力となるが、L0への復帰にも時間がかかるようになる。図14に示すように、ソフトウェアによる電源管理に加えて、アクティブステート電源管理を積極的に行うことにより、消費電力を極力小さくすることが可能となる。   L0 is a normal mode, and power consumption is reduced from L0s to L2, but it takes time to return to L0. As shown in FIG. 14, by actively performing active state power management in addition to software power management, it is possible to reduce power consumption as much as possible.

D.物理層−電気サブブロック157
物理層155の電気サブブロック157での主な役割は、論理サブブロック156でシリアル化されたデータをレーン上に送信することと、レーン上のデータを受信して論理サブブロック156に渡すことである。
D. Physical layer—Electric sub-block 157
The main role of the physical layer 155 in the electrical sub-block 157 is to transmit the data serialized in the logical sub-block 156 onto the lane, and to receive the data on the lane and pass it to the logical sub-block 156. is there.

a.ACカップリング
リンクの送信側では、ACカップリング用のコンデンサが実装される。これにより、送信側と受信側のDCコモンモード電圧が同一である必要がなくなる。このため、送信側と受信側で異なる設計、半導体プロセス、電源電圧を使用することが可能となる。
a. AC coupling On the transmission side of the link, a capacitor for AC coupling is mounted. This eliminates the need for the DC common mode voltage on the transmission side and the reception side to be the same. For this reason, it is possible to use different designs, semiconductor processes, and power supply voltages on the transmission side and the reception side.

b.デエンファシス
PCI Expressでは、前述したように、8B/10Bエンコーディングによってできるだけ連続した“0”や“1”が続かないように処理されるが、連続した“0”や“1”が続くこともある(最大5回)。この場合、送信側はデエンファシス転送を行わなければならないことが規定されている。同一極性のビットが連続する場合は、2つ目のビットからは差動電圧レベル(振幅)を3.5±0.5dB落とすことで、受信側で受け取る信号のノイズ・マージンを稼ぐ必要がある。これを、デエンファシスという。伝送路の周波数依存性減衰のため、変化するビットの場合は高周波成分が多く、減衰により受信側の波形が小さくなるが、変化しないビットの場合は高周波成分が少なく、相対的に受信側の波形が大きくなる。このため、受信側での波形を一定とするためにデエンファシスを行う。
b. De-emphasis
In PCI Express, as described above, processing is performed so that continuous “0” and “1” do not continue as much as possible by 8B / 10B encoding, but continuous “0” and “1” may continue (maximum). 5 times). In this case, it is specified that the transmission side must perform de-emphasis transfer. When bits of the same polarity are consecutive, it is necessary to increase the noise margin of the signal received on the receiving side by dropping the differential voltage level (amplitude) from the second bit by 3.5 ± 0.5 dB. . This is called de-emphasis. Due to the frequency-dependent attenuation of the transmission line, there are many high-frequency components in the case of changing bits, and the waveform on the receiving side becomes small due to attenuation. Becomes larger. For this reason, de-emphasis is performed in order to make the waveform on the receiving side constant.

[データ転送システム;画像形成システム]
本実施の形態のデータ転送システムとしての画像形成システムは、前述したようなPCI Expressシステムを利用する上で、特に、その木構造について改良を加えて利用するようにしたものである。
[Data transfer system; Image forming system]
The image forming system as the data transfer system according to the present embodiment uses the PCI Express system as described above, and particularly uses the tree structure with improvements.

図14は、本実施の形態の画像形成システムにおける木構造例を示す原理的な模式図である。前述のPCI Expressシステムの仕様によれば、その木構造の下流側(末端側)に位置する各種デバイスは各々1つのエンドポイントを持つ構成とされているが、本実施の形態では、各々のデバイスA,B,C,D,…について複数のエンドポイントA1,A2,…,A4,B1,…,B4,C1,…,C4,D1,…,D4,…を持たせて各々上流側のスイッチ1A,1B,1C,1Dの下流側ポートに接続するとともに、各デバイスA,B,C,D,…に、当該画像形成システムの動作モードに応じて使用するエンドポイントを調停するアービタ2A,2B,2C,2D,…を持たせるようにしたものである。   FIG. 14 is a principle schematic diagram showing an example of a tree structure in the image forming system of the present embodiment. According to the specifications of the PCI Express system described above, each device located on the downstream side (terminal side) of the tree structure is configured to have one endpoint, but in this embodiment, each device A, B, C, D,..., A4, B1,..., B4, C1,..., C4, D1,. Arbiters 2A and 2B that connect to the downstream ports of 1A, 1B, 1C, and 1D and mediate the endpoints to be used according to the operation mode of the image forming system to each device A, B, C, D,. , 2C, 2D,...

従って、本実施の形態の画像形成システムの木構造においては、全体を管理するルートコンプレックス3を頂点として、このルートコンプレックス3中に含まれる最上流のスイッチ4、中流に位置する複数のスイッチ1A,1B,1C,1D,…を介して下流に複数のデバイスA,B,C,D,…が接続された木構造であるが、各々のデバイスA,B,C,D,…が各々複数のエンドポイントを有するため、例えば、デバイスAにあっては各々のエンドポイントA1,A2,A3,A4によりスイッチ1A,1B,1C,1Dの下流側ポートに接続された4つのデータ転送経路を有する。同様に、デバイスBにあっては各々のエンドポイントB1,B2,B3,B4によりスイッチ1A,1B,1C,1Dの下流側ポートに接続された4つのデータ転送経路を有し、デバイスCにあっては各々のエンドポイントC1,C2,C3,C4によりスイッチ1A,1B,1C,1Dの下流側ポートに接続された4つのデータ転送経路を有し、デバイスDにあっては各々のエンドポイントD1,D2,D3,D4によりスイッチ1A,1B,1C,1Dの下流側ポートに接続された4つのデータ転送経路を有する。   Therefore, in the tree structure of the image forming system according to the present embodiment, the root complex 3 that manages the whole is used as the apex, the most upstream switch 4 included in the root complex 3, and the plurality of switches 1A, A plurality of devices A, B, C, D,... Are connected downstream through 1B, 1C, 1D,..., But each device A, B, C, D,. For example, the device A has four data transfer paths connected to the downstream ports of the switches 1A, 1B, 1C, and 1D by the end points A1, A2, A3, and A4. Similarly, the device B has four data transfer paths connected to the downstream ports of the switches 1A, 1B, 1C, and 1D by the end points B1, B2, B3, and B4. Each having four data transfer paths connected to the downstream ports of the switches 1A, 1B, 1C, and 1D by the respective endpoints C1, C2, C3, and C4. In the device D, each endpoint D1 , D2, D3, D4 have four data transfer paths connected to the downstream ports of the switches 1A, 1B, 1C, 1D.

また、本実施の形態では、スイッチ4とスイッチ1A〜1Dとの間のデータ転送幅はx4リンク幅とされ、各スイッチ1A〜1Dと各デバイスA〜Dの各エンドポイントとの間のデータ転送幅はx1リンク幅とされている。   In the present embodiment, the data transfer width between the switch 4 and the switches 1A to 1D is the x4 link width, and the data transfer between each switch 1A to 1D and each end point of each device A to D is performed. The width is x1 link width.

なお、本実施の形態の画像形成システムは、例えば、デバイスAは原稿画像を光電変換して読み取るスキャナエンジン等による画像入力用デバイス、デバイスBは画像データに対して変倍、回転等の各種画像処理を施す画像処理用デバイス、デバイスCは画像データを保存するメモリ、HDD等のストレージ用デバイス、デバイスDは画像データ等に基づき用紙に印刷出力するプリンタエンジン等による画像出力用デバイスとされ、少なくともこれらのデバイスを含む構成とされている。また、ルートコンプレックス3は画像形成システムにあっては、コントローラとして構成され、コンピュータとして機能するマイクロコンピュータ構成のホストCPU5やメモリ6に接続されている。   In the image forming system of the present embodiment, for example, the device A is an image input device using a scanner engine or the like that reads an original image by photoelectric conversion, and the device B is various images such as scaling and rotation of image data. An image processing device for processing, device C is a memory for storing image data, a storage device such as an HDD, and device D is an image output device by a printer engine or the like for printing on paper based on image data or the like. It is set as the structure containing these devices. In the image forming system, the root complex 3 is configured as a controller and is connected to a host CPU 5 and a memory 6 having a microcomputer configuration that functions as a computer.

このような構成において、当該データ転送システム内で複数の独立したデータ転送を並行して処理する動作モードの場合に、スイッチ1を通るデータ転送経路に競合が生じないように、各デバイスA〜Dのアービタ2A〜2Dは使用するエンドポイントを調停する。   In such a configuration, in the operation mode in which a plurality of independent data transfers are processed in parallel in the data transfer system, the devices A to D are configured so that no conflict occurs in the data transfer path passing through the switch 1. The arbiters 2A to 2D adjust the end points to be used.

例えば、デバイスAで読み込んだ画像データをデバイスBで画像処理してデバイスCに保存するデータ転送処理と並行して、デバイスAで読み込んだ画像データをデバイスDで印刷出力するデータ転送処理を同時に行う場合には、アービタ2AはデバイスAにおいてスイッチ1Aに対するエンドポイントA1、スイッチ1Cに対するエンドポイントA3を使用し、アービタ2BはデバイスBにおいてスイッチ1A,1Bに対するエンドポイントB1,B2を使用し、アービタ2Cはスイッチ1Bに対するエンドポイントC2を使用し、アービタ2Dはスイッチ1Cに対するエンドポイントD3を使用するように各々のエンドポイントを調停する。   For example, in parallel with the data transfer process in which the image data read by the device A is processed by the device B and stored in the device C, the data transfer process for printing out the image data read by the device A by the device D is simultaneously performed. In this case, the arbiter 2A uses the endpoint A1 for the switch 1A in the device A, the endpoint A3 for the switch 1C, the arbiter 2B uses the endpoints B1 and B2 for the switches 1A and 1B in the device B, and the arbiter 2C Using endpoint C2 for switch 1B, arbiter 2D arbitrates each endpoint to use endpoint D3 for switch 1C.

これにより、デバイスA(エンドポイントA1)−スイッチ1A−デバイスB(エンドポイントB1,B2)−スイッチ1B−デバイスC(エンドポイントC2)のx1リンクの経路7と、デバイスA(エンドポイントA3)−スイッチ1C−デバイスD(エンドポイントD3)のx1リンクの経路8とが確保される。よって、デバイスA,B,C間でx1リンクにより読み込み画像データの画像処理〜メモリ保存用のデータ転送を行えると同時に、デバイスA,D間ではデバイスA,B,C間のデータ転送に邪魔されることなく、x1リンクをフルに活用したコピー用のデータ転送が可能となる。   Thus, device A (endpoint A1) -switch 1A-device B (endpoints B1, B2) -switch 1B-device C (endpoint C2) x1 link path 7 and device A (endpoint A3)- The path 1 of the x1 link of the switch 1C-device D (endpoint D3) is secured. Therefore, the image processing of the read image data to the data transfer for memory storage can be performed between the devices A, B, and C by the x1 link, and at the same time, the data transfer between the devices A, B, and C is disturbed between the devices A and D. Therefore, it is possible to transfer data for copying that makes full use of the x1 link.

このように動作モードに応じて各デバイスA〜Dについて使用するエンドポイントを調停することにより、木構造を動的に変更することができ、よって、複数の独立したデータ転送を並行して処理する場合でも、独立したデータ転送経路の確保によりデータ転送経路の競合を避けることができ、データ転送効率の向上を図ることができる。   In this way, by adjusting the endpoints used for each of the devices A to D according to the operation mode, the tree structure can be dynamically changed, and thus a plurality of independent data transfers are processed in parallel. Even in this case, by securing independent data transfer paths, contention of data transfer paths can be avoided and data transfer efficiency can be improved.

[経路情報の管理]
ところで、上述したような各デバイスA〜Dのアービタ2A〜2DによるエンドポイントA1〜A4,…,D1〜D4の調停(他のデバイスへアクセスする際に使用するエンドポイントの決定)は、ホストCPU5により各々のデバイスA〜D中に書き込み設定された経路情報を参照することにより実行されるものであり、このような経路情報の設定は、主に、ホストCPU5にインストールされたデータ転送用プログラムに従い実行される。
[Manage routing information]
By the way, the arbitration of the end points A1 to A4,..., D1 to D4 by the arbiters 2A to 2D of each of the devices A to D (determination of the end points used when accessing other devices) is performed by the host CPU 5 Is executed by referring to the path information written and set in each of the devices A to D. Setting of such path information is mainly performed according to the data transfer program installed in the host CPU 5. Executed.

そこで、このような経路情報の管理方法の一例について説明する。この例では、その前提として、各々のデバイスA〜Dが、自己の持つデバイス機能に関する情報はもちろん、エンドポイントに関する情報(例えば、エンドポイントの数…図示例では4つ、エンドポイント毎のレーン数…図示例ではx1、接続先…例えば、エンドポイントA1であればスイッチ1Aの下流ポートなど)が、ホストCPU5からアクセス可能にメモリ領域に保持されているものとする(情報保持手段)。   Therefore, an example of such a route information management method will be described. In this example, the premise is that each of the devices A to D has not only information on the device function that it has, but also information on the endpoint (for example, the number of endpoints ... 4 in the illustrated example, the number of lanes for each endpoint) (X1 in the illustrated example, connection destination, for example, the downstream port of the switch 1A in the case of the end point A1) is held in the memory area so as to be accessible from the host CPU 5 (information holding means).

このような前提の下では、ホストCPU5はデータ転送用プログラム、即ち、図16に概略的に示すようなフローチャートに従い、処理制御を実行する。まず、当該データ転送システム(画像形成システム)内のデバイスA〜Dの接続状態を確認するとともに(ステップS1)、接続されている各々のデバイスA〜Dにアクセスして各々のデバイスA〜Dの機能に関する情報やエンドポイントに関する情報を取得する(S2)。また、行おうとしている動作モードに関する情報も取得し、デバイス接続状態、デバイス機能情報、エンドポイントに関する情報に基づき当該木構造中で最適となるデバイスA〜D間の経路を決定する(S3)。ここに、「最適となるデバイス間の経路」とは、複数の経路間で競合を生じないようにスイッチを選択(複数の経路間で重なりを生じない)することを意味し、例えば、図14中で示したような経路7,8のような経路である。このステップS3の処理が決定手段、決定機能として実行される。   Under such a premise, the host CPU 5 executes processing control according to a data transfer program, that is, a flowchart schematically shown in FIG. First, the connection states of the devices A to D in the data transfer system (image forming system) are confirmed (step S1), and the connected devices A to D are accessed to check the connection states of the devices A to D. Information on functions and information on endpoints are acquired (S2). Also, information on the operation mode to be performed is acquired, and the route between the devices A to D that is optimal in the tree structure is determined based on the device connection state, device function information, and information on the endpoint (S3). Here, “optimum path between devices” means that a switch is selected (no overlap occurs between a plurality of paths) so as not to cause a competition between a plurality of paths. For example, FIG. Routes 7 and 8 as shown in FIG. The process of step S3 is executed as a determination unit and a determination function.

このステップS3で決定された各デバイスA〜D毎の経路情報は、各々対応するデバイスA〜D中に書き込み設定される(S4)。このステップS4の処理が設定手段、設定機能として実行される。   The path information for each device A to D determined in step S3 is written and set in the corresponding device A to D (S4). The processing in step S4 is executed as setting means and a setting function.

この後は、各デバイスA〜Dのアービタ2A〜2DによるエンドポイントA1〜A4,…,D1〜D4の調停は、ホストCPU5により各々のデバイスA〜D中に書き込み設定された当該経路情報を参照することにより実行される。例えば、アービタ2AによりエンドポイントA1,A2を使用するように調停される。   After this, the arbitration of the end points A1 to A4,..., D1 to D4 by the arbiters 2A to 2D of the devices A to D refers to the path information written and set in the devices A to D by the host CPU 5. It is executed by doing. For example, the arbiter 2A arbitrates to use the end points A1 and A2.

一方、このような経路情報の管理方法の他例について説明する。この例では、その前提として、各々のデバイスA〜Dに関して、各々が持つデバイス機能に関する情報はもちろん、エンドポイントに関する情報(例えば、エンドポイントの数…図示例では4つ、エンドポイント毎のレーン数…図示例ではx1、接続先…例えば、エンドポイントA1であればスイッチ1Aの下流ポートなど)を、ホストCPU5で直接的に管理するようにしたものである(情報管理手段)。   On the other hand, another example of such a route information management method will be described. In this example, as a premise, for each of the devices A to D, not only the information on the device function of each but also the information on the endpoint (for example, the number of endpoints ... 4 in the illustrated example, the number of lanes for each endpoint) In the illustrated example, x1, connection destination, for example, the downstream port of the switch 1A in the case of the endpoint A1, etc.) are directly managed by the host CPU 5 (information management means).

このような前提の下では、ホストCPU5はデータ転送用プログラムに従い、図17に概略的に示すようなフローチャートに従い、処理制御を実行する。まず、当該データ転送システム(画像形成システム)内のデバイスA〜Dの接続状態を確認するとともに(ステップS11)、管理している各々のデバイスA〜Dの機能に関する情報やエンドポイントに関する情報を取得し(S12)、かつ、行おうとしている動作モードに関する情報も取得し、デバイス接続状態、デバイス機能情報、エンドポイントに関する情報に基づき当該木構造中で最適となるデバイスA〜D間の経路を決定する(S13)。このステップS13の処理が決定手段、決定機能として実行される。このステップS13で決定された各デバイスA〜D毎の経路情報は、各々対応するデバイスA〜D中に書き込み設定される(S14)。このステップS14の処理が設定手段、設定機能として実行される。   Under such a premise, the host CPU 5 executes processing control according to the data transfer program and according to the flowchart schematically shown in FIG. First, the connection status of the devices A to D in the data transfer system (image forming system) is confirmed (step S11), and information about the functions of the managed devices A to D and information about the endpoints are acquired. (S12) and also obtains information about the operation mode to be performed, and determines the route between the devices A to D that is optimal in the tree structure based on the device connection status, device function information, and information on the endpoint. (S13). The process of step S13 is executed as a determination unit and a determination function. The path information for each of the devices A to D determined in step S13 is written and set in the corresponding devices A to D (S14). The processing in step S14 is executed as setting means and a setting function.

この後は、各デバイスA〜Dのアービタ2A〜2DによるエンドポイントA1〜A4,…,D1〜D4の調停は、ホストCPU5により各々のデバイスA〜D中に書き込み設定された当該経路情報を参照することにより実行される。例えば、アービタ2AによりエンドポイントA1,A2を使用するように調停される。   After this, the arbitration of the end points A1 to A4,..., D1 to D4 by the arbiters 2A to 2D of the devices A to D refers to the path information written and set in the devices A to D by the host CPU 5. It is executed by doing. For example, the arbiter 2A arbitrates to use the end points A1 and A2.

次に、このような経路情報の管理方法におけるタイミング制御の一例について図18に示す概略フローチャートを参照して説明する。まず、当該システムが起動する際(S21のY)、各々のデバイスA〜Dに対して経路情報が書き込み設定される(S22)。ここに、「システムが起動する際」とは、起動時から多少時間が経った時点までを含む意味であり、起動する時点のみに限定されるものではない。また、この起動に際しての経路情報の書き込み設定としては、予め設定されている標準仕様なるデフォルト値が用いられる。このステップS21のY,S22の処理が設定手段、設定機能として実行される。   Next, an example of timing control in such a route information management method will be described with reference to a schematic flowchart shown in FIG. First, when the system is activated (Y in S21), path information is written and set to each of the devices A to D (S22). Here, “when the system starts up” means to include a point in time until a little time has passed since the start-up, and is not limited to the point of start-up. In addition, a default value that is a preset standard specification is used as the path information writing setting at the time of activation. The processes of Y and S22 in step S21 are executed as setting means and setting functions.

この後は、各デバイスA〜Dのアービタ2A〜2DによるエンドポイントA1〜A4,…,D1〜D4の調停は、ホストCPU5により各々のデバイスA〜D中に書き込み設定された当該経路情報(デフォルト値)を参照することにより実行される。   After this, the arbitration of the end points A1 to A4,..., D1 to D4 by the arbiters 2A to 2D of the devices A to D is performed according to the path information (default) Value).

その後は、当該システムの起動中における動作モードの変更の有無が監視される(S23)。そして、動作モードの変更があった場合(S23のY)、その動作モードの変更に関する情報を当該ホストCPU5が直接受け取った場合には(S24のY)、ホストCPU5は、変更される動作モードに関する情報、並びに、(各デバイスから取得した又はホストCPU5が管理している)デバイス接続状態、デバイス機能情報、エンドポイントに関する情報に基づき当該木構造中で最適となるデバイスA〜D間の経路を再決定する(S25)。このステップS25の処理が再決定手段、再決定機能として実行される。このステップS25で決定された各デバイスA〜D毎の経路情報は、各々対応するデバイスA〜D中に書き込み設定される(S26)。このステップS26の処理が設定手段、設定機能として実行される。   Thereafter, it is monitored whether or not the operation mode is changed during the activation of the system (S23). When the operation mode is changed (Y in S23) and the host CPU 5 directly receives information related to the change in the operation mode (Y in S24), the host CPU 5 relates to the changed operation mode. Based on the information, and the device connection state (acquired from each device or managed by the host CPU 5), device function information, and information on the endpoint, the route between the devices A to D that is optimal in the tree structure is re-established. Determine (S25). The process of step S25 is executed as redetermination means and redetermination function. The path information for each of the devices A to D determined in step S25 is written and set in the corresponding devices A to D (S26). The processing in step S26 is executed as setting means and a setting function.

この後は、各デバイスA〜Dのアービタ2A〜2DによるエンドポイントA1〜A4,…,D1〜D4の調停は、ホストCPU5により各々のデバイスA〜D中に書き込み設定された当該経路情報を参照することにより実行される。   After this, the arbitration of the end points A1 to A4,..., D1 to D4 by the arbiters 2A to 2D of the devices A to D refers to the path information written and set in the devices A to D by the host CPU 5. It is executed by doing.

一方、動作モードの変更に関する情報をデバイスA〜Dが受け取った場合には(S24のN)、これらのデバイスA〜DはホストCPU5に対して経路情報の再決定を要求するメッセージトランザクション(Message Transaction)を発行する(S27)。このステップS27の処理がデバイスによるトランザクション発行手段の機能として実行される。ホストCPU5ではこのメッセージトランザクションの発行に伴い、当該メッセージトランザクションパケット中に格納されている動作モードの変更に関する情報の通知を受けることにより、動作モードの変更に関する情報を受ける(S28)。この動作モードに関する情報を受けた後は、ステップS25以降の処理を同様に行なう。   On the other hand, when the devices A to D receive information regarding the change of the operation mode (N in S24), these devices A to D request the host CPU 5 to re-determine the route information (Message Transaction). ) Is issued (S27). The processing in step S27 is executed as a function of the transaction issuing means by the device. With the issuance of this message transaction, the host CPU 5 receives the information regarding the change of the operation mode by receiving the notification of the information regarding the change of the operation mode stored in the message transaction packet (S28). After receiving the information regarding this operation mode, the processing from step S25 is similarly performed.

なお、ステップS28の処理に代えて、メッセージトランザクションパケットの受け取りにより当該デバイス中に記録された動作モードの変更に関する情報を参照して、動作モードの変更に関する情報を受けるようにしてもよい。   Instead of the processing in step S28, the information regarding the change of the operation mode may be received by referring to the information regarding the change of the operation mode recorded in the device by receiving the message transaction packet.

次に、このような経路情報の管理方法におけるタイミング制御の他例について図19に示す概略フローチャートを参照して説明する。まず、図18で説明した場合と同じく、当該システムが起動する際(S21のY)、各々のデバイスA〜Dに対して経路情報(デフォルト値)が書き込み設定される(S22)。   Next, another example of timing control in such a route information management method will be described with reference to a schematic flowchart shown in FIG. First, as in the case described with reference to FIG. 18, when the system is activated (Y in S21), path information (default value) is written and set to each device A to D (S22).

この後は、各デバイスA〜Dのアービタ2A〜2DによるエンドポイントA1〜A4,…,D1〜D4の調停は、ホストCPU5により各々のデバイスA〜D中に書き込み設定された当該経路情報(デフォルト値)を参照することにより実行される。   After this, the arbitration of the end points A1 to A4,..., D1 to D4 by the arbiters 2A to 2D of the devices A to D is performed according to the path information (default) Value).

その後は、当該システムの起動時からタイマを稼動させ(S31)、一定時間が経過するかを監視し(S32)、一定時間が経過する毎に定期的に(S32のY)、その時点の動作モードに関する情報、並びに、(各デバイスから取得した又はホストCPU5が管理している)デバイス接続状態、デバイス機能情報、エンドポイントに関する情報に基づき当該木構造中で最適となるデバイスA〜D間の経路を再決定する(S33)。このステップS33の処理が再決定手段、再決定機能として実行される。このステップS33で決定された各デバイスA〜D毎の経路情報は、各々対応するデバイスA〜D中に書き込み設定される(S34)。このステップS34の処理が設定手段、設定機能として実行される。   Thereafter, the timer is started from the time of starting the system (S31), and it is monitored whether a certain time has passed (S32), and every time the certain time has passed (Y of S32), the operation at that time The route between the devices A to D that is optimal in the tree structure based on the information on the mode, the device connection state (obtained from each device or managed by the host CPU 5), device function information, and information on the endpoint Is re-determined (S33). The processing in step S33 is executed as redetermination means and redetermination function. The path information for each device A to D determined in step S33 is written and set in the corresponding device A to D (S34). The processing in step S34 is executed as setting means and a setting function.

この後は、各デバイスA〜Dのアービタ2A〜2DによるエンドポイントA1〜A4,…,D1〜D4の調停は、ホストCPU5により各々のデバイスA〜D中に書き込み設定された当該経路情報を参照することにより実行される。   After this, the arbitration of the end points A1 to A4,..., D1 to D4 by the arbiters 2A to 2D of the devices A to D refers to the path information written and set in the devices A to D by the host CPU 5. It is executed by doing.

既存PCIシステムの構成例を示すブロック図である。It is a block diagram which shows the structural example of the existing PCI system. PCI Expressシステムの構成例を示すブロック図である。FIG. 2 is a block diagram illustrating a configuration example of a PCI Express system. デスクトップ/モバイルでのPCI Expressプラットホームの構成例を示すブロック図である。It is a block diagram which shows the structural example of the PCI Express platform in desktop / mobile. x4の場合の物理層の構造例を示す模式図である。It is a schematic diagram which shows the structural example of the physical layer in the case of x4. デバイス間のレーン接続例を示す模式図である。It is a schematic diagram which shows the example of lane connection between devices. スイッチの論理的構造例を示すブロック図である。It is a block diagram which shows the logical structural example of a switch. (a)は既存のPCIのアーキテクチャを示すブロック図、(b)はPCI Expressのアーキテクチャを示すブロック図である。(A) is a block diagram showing an existing PCI architecture, and (b) is a block diagram showing a PCI Express architecture. PCI Expressの階層構造を示すブロック図である。It is a block diagram which shows the hierarchical structure of PCI Express. トランザクションレイヤパケットのフォーマット例を示す説明図である。It is explanatory drawing which shows the format example of a transaction layer packet. PCI Expressのコンフィグレーション空間を示す説明図である。It is explanatory drawing which shows the configuration space of PCI Express. 仮想チャネルの概念を説明するための模式図である。It is a schematic diagram for demonstrating the concept of a virtual channel. データリンクレイヤパケットのフォーマット例を示す説明図である。It is explanatory drawing which shows the format example of a data link layer packet. x4リンクでのバイトストライピング例を示す模式図である。It is a schematic diagram which shows the byte striping example in x4 link. アクティブステート電源管理の制御例を示すタイムチャートである。It is a time chart which shows the example of control of active state power management. 本実施の形態のデータ転送システムにおける木構造例を示す原理的な模式図である。It is a principle schematic diagram which shows the example of a tree structure in the data transfer system of this Embodiment. 本実施の形態の経路情報の管理方法の一例を示す概略フローチャートである。It is a schematic flowchart which shows an example of the management method of the route information of this Embodiment. 本実施の形態の経路情報の管理方法の他例を示す概略フローチャートである。It is a schematic flowchart which shows the other example of the management method of the route information of this Embodiment. 本実施の形態の経路情報の管理方法におけるタイミング制御の一例を示す概略フローチャートである。It is a schematic flowchart which shows an example of the timing control in the management method of the route information of this Embodiment. 本実施の形態の経路情報の管理方法におけるタイミング制御の他例を示す概略フローチャートである。It is a schematic flowchart which shows the other example of the timing control in the management method of the route information of this Embodiment. PCI Expressの通常の利用形態による木構造例を示す原理的な模式図である。It is a principle schematic diagram which shows the example of a tree structure by the normal usage form of PCI Express. その変形例を示す原理的な模式図である。It is a principle schematic diagram which shows the modification.

符号の説明Explanation of symbols

1A〜1D スイッチ
2A〜2D アービタ
A〜D デバイス
A1〜A4,〜,D1〜D4 エンドポイント
1A to 1D switch 2A to 2D arbiter A to D device A1 to A4 to D1 to D4 endpoint

Claims (24)

木構造によるデータ通信網としてポイントツーポイントで送受信独立の通信チャネルが確立される高速シリアルインタフェースシステムによる前記木構造を用い、当該木構造における下流側に位置する各々のデバイスが、前記木構造における上流側の複数のスイッチに接続される複数のエンドポイントと、他のデバイスに対するアクセスに際して使用するエンドポイントを調停するアービタとを有するデータ転送システムであって、
前記各デバイスは、当該システムを管理するプロセッサからアクセス可能な自己の持つデバイス機能に関する情報、エンドポイントに関する情報を保持する情報保持手段を有し、
前記プロセッサは、当該システム内のデバイス接続状態、各々のデバイスから取得される前記デバイス機能に関する情報、前記エンドポイントに関する情報に基づき前記木構造中で最適となるデバイス間の経路を決定する決定手段と、前記決定手段によって決定された前記経路についての経路情報を前記各デバイスに書き込み設定する設定手段とを有し、
前記各デバイスの前記アービタは、前記設定手段により設定された経路情報を参照して他のデバイスに対するアクセスに際して使用するエンドポイントを調停する、
ことを特徴とするデータ転送システム。
Using the tree structure with a high-speed serial interface system in which a point-to-point transmission / reception independent communication channel is established as a data communication network with a tree structure, each device located downstream in the tree structure is connected to the upstream in the tree structure. A data transfer system having a plurality of endpoints connected to a plurality of switches on the side, and an arbiter that arbitrates endpoints used when accessing other devices,
Each of the devices has information holding means for holding information on a device function of the device that can be accessed from a processor that manages the system, information on an endpoint,
Wherein the processor information about the device functions acquired device connection state in the system, from each device, based on information about the endpoint, determining means for determining a path between devices to be optimal in the tree structure And setting means for writing and setting path information about the path determined by the determining means to each device ,
The arbiter of each device arbitrates an endpoint to be used when accessing another device with reference to the path information set by the setting unit.
A data transfer system characterized by that.
木構造によるデータ通信網としてポイントツーポイントで送受信独立の通信チャネルが確立される高速シリアルインタフェースシステムによる前記木構造を用い、当該木構造における下流側に位置する各々のデバイスが、前記木構造における上流側の複数のスイッチに接続される複数のエンドポイントと、他のデバイスに対するアクセスに際して使用するエンドポイントを調停するアービタとを有するデータ転送システムであって、
当該システムを管理するプロセッサは、前記各デバイスの持つデバイス機能に関する情報、エンドポイントに関する情報を管理する情報管理手段と、当該システム内のデバイス接続状態、前記情報管理手段により管理される各デバイス機能に関する情報、エンドポイントに関する情報に基づき前記木構造中で最適となるデバイス間の経路を決定する決定手段と、前記決定手段によって決定された前記経路についての経路情報を前記各デバイスに書き込み設定する設定手段とを有し、
前記各デバイスの前記アービタは、前記設定手段により設定された経路情報を参照して他のデバイスに対するアクセスに際して使用するエンドポイントを調停する、
ことを特徴とするデータ転送システム。
Using the tree structure with a high-speed serial interface system in which a point-to-point transmission / reception independent communication channel is established as a data communication network with a tree structure, each device located downstream in the tree structure is connected to the upstream in the tree structure. A data transfer system having a plurality of endpoints connected to a plurality of switches on the side, and an arbiter that arbitrates endpoints used when accessing other devices,
The processor for managing the system relates to information on device functions of each device, information management means for managing information on endpoints, device connection status in the system, and device functions managed by the information management means. Determining means for determining an optimal path between devices in the tree structure based on information and information on the endpoint, and setting means for writing and setting path information on the path determined by the determining means to each device And
The arbiter of each device arbitrates an endpoint to be used when accessing another device with reference to the path information set by the setting unit.
A data transfer system characterized by that.
前記高速シリアルインタフェースシステムがPCI Expressシステムである、ことを特徴とする請求項1又は2記載のデータ転送システム。   3. The data transfer system according to claim 1, wherein the high-speed serial interface system is a PCI Express system. 前記エンドポイントに関する情報として、エンドポイントの数、エンドポイント毎のレーン数、エンドポイント毎の接続先に関する情報を含む、
ことを特徴とする請求項1ないし3の何れか一記載のデータ転送システム。
As the information on the endpoint, including the number of endpoints, the number of lanes for each endpoint, and information on the connection destination for each endpoint,
4. The data transfer system according to claim 1, wherein the data transfer system is a data transfer system.
前記設定手段は、各デバイスのアービタへの経路情報の書き込み設定を当該システムの起動に際して行う、
ことを特徴とする請求項1ないし4の何れか一記載のデータ転送システム。
The setting means performs setting of writing path information to the arbiter of each device when starting the system.
The data transfer system according to claim 1, wherein the data transfer system is a data transfer system.
前記設定手段は、当該システムの起動に際しては各デバイスのアービタへの経路情報の書き込み設定としてデフォルト値の設定を行う、
ことを特徴とする請求項5記載のデータ転送システム。
The setting means sets a default value as a setting for writing path information to the arbiter of each device when starting the system.
6. The data transfer system according to claim 5, wherein:
前記プロセッサは、当該システムの起動中に動作モードの変更に関する情報を受けた場合には、当該動作モードに対して最適となるようにデバイス間の経路を再決定する再決定手段を有し、
前記設定手段は、この再決定手段により再決定された当該経路情報を各デバイスに書き込み設定する、
ことを特徴とする請求項5又は6記載のデータ転送システム。
The processor has redetermining means for redetermining a path between devices so as to be optimal for the operation mode when receiving information on the change of the operation mode during startup of the system,
The setting unit writes and sets the path information re-determined by the re-determination unit to each device.
The data transfer system according to claim 5 or 6, wherein
前記プロセッサは、当該システムの起動中に定期的に最適となるようにデバイス間の経路を再決定する再決定手段を有し、
前記設定手段は、この再決定手段により再決定された当該経路情報を各デバイスに書き込み設定する、
ことを特徴とする請求項5又は6記載のデータ転送システム。
The processor has redetermining means for redetermining a path between devices so as to be periodically optimized during startup of the system;
The setting unit writes and sets the path information re-determined by the re-determination unit to each device.
The data transfer system according to claim 5 or 6, wherein
前記各デバイスは、当該システムの起動中に動作モードの変更に関する情報を受けた場合に前記プロセッサに対して経路情報の再決定を要求するメッセージトランザクションを発行するトランザクション発行手段を有し、
前記プロセッサは、メッセージトランザクションパケット中に格納された動作モードの変更に関する情報の通知により、動作モードの変更に関する情報を受ける、
ことを特徴とする請求項7記載のデータ転送システム。
Each of the devices has transaction issuing means for issuing a message transaction for requesting re-determination of path information to the processor when receiving information on an operation mode change during startup of the system,
The processor receives information regarding the change of the operation mode by notifying the information regarding the change of the operation mode stored in the message transaction packet.
8. The data transfer system according to claim 7, wherein:
前記各デバイスは、当該システムの起動中に動作モードの変更に関する情報を受けた場合に前記プロセッサに対して経路情報の再決定を要求するメッセージトランザクションを発行するトランザクション発行手段を有し、
前記プロセッサは、メッセージトランザクションパケットの受け取りにより当該デバイス中に記録された動作モードの変更に関する情報を参照して、動作モードの変更に関する情報を受ける、
ことを特徴とする請求項7記載のデータ転送システム。
Each of the devices has transaction issuing means for issuing a message transaction for requesting re-determination of path information to the processor when receiving information on an operation mode change during startup of the system,
The processor refers to the information regarding the change of the operation mode recorded in the device by receiving the message transaction packet, and receives the information regarding the change of the operation mode;
8. The data transfer system according to claim 7, wherein:
前記プロセッサは、当該システムの起動中におけるデバイスの追加又は削除を監視する監視手段を有し、
前記決定手段又は前記再決定手段は、デバイスの追加又は削除処理に並行して、経路の決定又は再決定処理を行う、
ことを特徴とする請求項1ないし10の何れか一記載のデータ転送システム。
The processor includes monitoring means for monitoring addition or deletion of a device during startup of the system,
The determination unit or the re-determination unit performs a path determination or re-determination process in parallel with the device addition or deletion process.
11. The data transfer system according to claim 1, wherein the data transfer system is a data transfer system.
請求項1ないし11の何れか一記載のデータ転送システムは、前記デバイスを画像形成に関与するデバイスとする、
ことを特徴とする画像形成システム。
The data transfer system according to any one of claims 1 to 11, wherein the device is a device involved in image formation.
An image forming system.
前記デバイスとして、少なくとも、画像入力用デバイスと画像出力用デバイスと画像処理用デバイスとストレージ用デバイスとを含む、
ことを特徴とする請求項12記載の画像形成システム
The device includes at least an image input device, an image output device, an image processing device, and a storage device.
The image forming system according to claim 12.
木構造によるデータ通信網としてポイントツーポイントで送受信独立の通信チャネルが確立される高速シリアルインタフェースシステムによる前記木構造を用い、当該木構造における下流側に位置する各々のデバイスが、前記木構造における上流側の複数のスイッチに接続される複数のエンドポイントと、設定された経路情報を参照して他のデバイスに対するアクセスに際して使用するエンドポイントを調停するアービタとを有し、前記各デバイスが、自己の持つデバイス機能に関する情報、エンドポイントに関する情報を保持する情報保持手段を有するデータ転送システムを管理するコンピュータにインストールされ、当該コンピュータに、
当該システム内のデバイス接続状態、各々のデバイスから取得される前記デバイス機能に関する情報、前記エンドポイントに関する情報に基づき前記木構造中で最適となるデバイス間の経路を決定する決定機能と、
前記決定機能によって決定された前記経路についての経路情報を前記各デバイスに書き込み設定する設定機能と、
を実行させるデータ転送用プログラム。
Using the tree structure with a high-speed serial interface system in which a point-to-point transmission / reception independent communication channel is established as a data communication network with a tree structure, each device located downstream in the tree structure is connected to the upstream in the tree structure. A plurality of endpoints connected to a plurality of switches on the side, and an arbiter that arbitrates an endpoint to be used when accessing another device with reference to the set route information. Installed on a computer that manages a data transfer system having information holding means for holding information on device functions, information on endpoints,
Device connection state in the system, and information on the device capabilities obtained from each device, determining function for determining a path between devices to be optimal in the tree structure on the basis of information on the endpoint,
A setting function for writing and setting path information about the path determined by the determination function in each device ;
Data transfer program that executes
木構造によるデータ通信網としてポイントツーポイントで送受信独立の通信チャネルが確立される高速シリアルインタフェースシステムによる前記木構造を用い、当該木構造における下流側に位置する各々のデバイスが、前記木構造における上流側の複数のスイッチに接続される複数のエンドポイントと、設定された経路情報を参照して他のデバイスに対するアクセスに際して使用するエンドポイントを調停するアービタとを有するデータ転送システムを管理するコンピュータにインストールされ、当該コンピュータに、
前記各デバイスの持つデバイス機能に関する情報、エンドポイントに関する情報を管理する情報管理機能と、
当該システム内のデバイス接続状態、前記情報管理機能により管理される前記デバイス機能に関する情報、前記エンドポイントに関する情報に基づき前記木構造中で最適となるデバイス間の経路を決定する決定機能と、
前記決定機能によって決定された前記経路についての経路情報を前記各デバイスに書き込み設定する設定機能と、
を実行させるデータ転送用プログラム。
Using the tree structure with a high-speed serial interface system in which a point-to-point transmission / reception independent communication channel is established as a data communication network with a tree structure, each device located downstream in the tree structure is connected to the upstream in the tree structure. Installed in a computer that manages a data transfer system having a plurality of endpoints connected to a plurality of switches on the side and an arbiter that arbitrates the endpoints used when accessing other devices with reference to the set route information And the computer
Information on device functions of each device, information management function for managing information on endpoints;
Device connection state in the system, the information about the device capabilities that are managed by the information management function, a determination function for determining a path between devices to be optimal in the tree structure on the basis of information on the endpoint,
A setting function for writing and setting path information about the path determined by the determination function in each device ;
Data transfer program that executes
前記高速シリアルインタフェースシステムがPCI Expressシステムである、ことを特徴とする請求項14又は15記載のデータ転送用プログラム。 16. The data transfer program according to claim 14, wherein the high-speed serial interface system is a PCI Express system. 前記エンドポイントに関する情報として、エンドポイントの数、エンドポイント毎のレーン数、エンドポイント毎の接続先に関する情報を含む、ことを特徴とする請求項14ないし16の何れか一記載のデータ転送用プログラム。   The data transfer program according to any one of claims 14 to 16, wherein the information on the end point includes information on the number of end points, the number of lanes for each end point, and the connection destination for each end point. . 前記設定機能は、各デバイスのアービタへの経路情報の書き込み設定を当該システムの起動に際して行う、ことを特徴とする請求項14ないし17の何れか一記載のデータ転送用プログラム。   18. The data transfer program according to claim 14, wherein the setting function performs setting of writing path information to the arbiter of each device when starting the system. 前記設定機能は、当該システムの起動に際しては各デバイスのアービタへの経路情報の書き込み設定としてデフォルト値の設定を行う、ことを特徴とする請求項18記載のデータ転送用プログラム。   19. The data transfer program according to claim 18, wherein the setting function sets a default value as a setting for writing path information to the arbiter of each device when the system is activated. 当該システムの起動中に動作モードの変更に関する情報を受けた場合には、当該動作モードに対して最適となるようにデバイス間の経路を再決定する再決定機能を前記コンピュータに実行させ、
前記設定機能は、この再決定機能により再決定された当該経路情報を各デバイスに書き込み設定する、
ことを特徴とする請求項18又は19記載のデータ転送用プログラム。
When receiving information related to the change of the operation mode during startup of the system, the computer is caused to execute a redetermination function for re-determining the path between devices so as to be optimal for the operation mode,
The setting function writes and sets the path information redetermined by the redetermination function to each device.
20. The data transfer program according to claim 18, wherein the data transfer program is a data transfer program.
当該システムの起動中に定期的に最適となるようにデバイス間の経路を再決定する再決定機能を前記コンピュータに実行させ、
前記設定機能は、この再決定機能により再決定された当該経路情報を各デバイスに書き込み設定する、
ことを特徴とする請求項18又は19記載のデータ転送用プログラム。
Causing the computer to execute a redetermination function for redetermining the path between devices so that it is periodically optimized during startup of the system;
The setting function writes and sets the path information redetermined by the redetermination function to each device.
20. The data transfer program according to claim 18, wherein the data transfer program is a data transfer program.
当該システム中の前記各デバイスは、当該システムの起動中に動作モードの変更に関する情報を受けた場合に前記コンピュータに対して経路情報の再決定を要求するメッセージトランザクションを発行するトランザクション発行手段を有し、
前記コンピュータに、メッセージトランザクションパケット中に格納された動作モードの変更に関する情報の通知により、動作モードの変更に関する情報を受けさせる、
ことを特徴とする請求項20記載のデータ転送用プログラム。
Each device in the system has transaction issuing means for issuing a message transaction for requesting re-determination of path information to the computer when receiving information on an operation mode change during startup of the system. ,
Causing the computer to receive information relating to the change of the operation mode by notification of information relating to the change of the operation mode stored in the message transaction packet;
21. The data transfer program according to claim 20, wherein:
当該システム中の前記各デバイスは、当該システムの起動中に動作モードの変更に関する情報を受けた場合に前記コンピュータに対して経路情報の再決定を要求するメッセージトランザクションを発行するトランザクション発行手段を有し、
前記コンピュータに、メッセージトランザクションパケットの受け取りにより当該デバイス中に記録された動作モードの変更に関する情報を参照して、動作モードの変更に関する情報を受けさせる、
ことを特徴とする請求項20記載のデータ転送用プログラム。
Each device in the system has transaction issuing means for issuing a message transaction for requesting re-determination of path information to the computer when receiving information on an operation mode change during startup of the system. ,
Causing the computer to receive information relating to the change of the operation mode with reference to information relating to the change of the operation mode recorded in the device by receiving the message transaction packet;
21. The data transfer program according to claim 20, wherein:
当該システムの起動中におけるデバイスの追加又は削除を監視する監視機能を前記コンピュータに実行させ、
前記決定機能又は前記再決定機能は、デバイスの追加又は削除処理に並行して、経路の決定又は再決定処理を行う、
ことを特徴とする請求項14ないし23の何れか一記載のデータ転送用プログラム。
Causing the computer to execute a monitoring function for monitoring addition or deletion of a device during startup of the system;
The determination function or the redetermination function performs path determination or redetermination processing in parallel with device addition or deletion processing.
24. The data transfer program according to claim 14, wherein the program is a data transfer program.
JP2003389571A 2003-11-19 2003-11-19 Data transfer system, image forming system, and data transfer program Expired - Fee Related JP4271558B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003389571A JP4271558B2 (en) 2003-11-19 2003-11-19 Data transfer system, image forming system, and data transfer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003389571A JP4271558B2 (en) 2003-11-19 2003-11-19 Data transfer system, image forming system, and data transfer program

Publications (2)

Publication Number Publication Date
JP2005151448A JP2005151448A (en) 2005-06-09
JP4271558B2 true JP4271558B2 (en) 2009-06-03

Family

ID=34696275

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003389571A Expired - Fee Related JP4271558B2 (en) 2003-11-19 2003-11-19 Data transfer system, image forming system, and data transfer program

Country Status (1)

Country Link
JP (1) JP4271558B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4782591B2 (en) * 2006-03-10 2011-09-28 富士通セミコンダクター株式会社 Reconfigurable circuit
US7930582B2 (en) 2006-11-22 2011-04-19 Ricoh Company, Ltd. Image processing apparatus and method of transmitting reference clock
JP5176764B2 (en) * 2008-08-04 2013-04-03 株式会社リコー Data communication system, image processing system, and data communication method

Also Published As

Publication number Publication date
JP2005151448A (en) 2005-06-09

Similar Documents

Publication Publication Date Title
JP4928732B2 (en) Data transfer system and electronic device
JP5108261B2 (en) Information processing apparatus and data communication apparatus
JP4878185B2 (en) Data communication circuit and arbitration method
JP4704050B2 (en) Data transfer system and electronic device
JP2006195871A (en) Communication device, electronic equipment and image forming device
JP4564855B2 (en) Data transfer system and electronic device
JP2008172727A (en) Control apparatus and image processing system
JP4308680B2 (en) Image forming apparatus
JP4777723B2 (en) Information processing system, program, and data transfer method
JP4287325B2 (en) Imaging system
JP4928715B2 (en) Serial data transfer device, image output device, image input device, and image forming device
JP4564740B2 (en) Imaging equipment system
JP4425766B2 (en) Image forming system
JP2006092286A (en) Data transfer device and image forming system
JP5218377B2 (en) Image forming system
JP4603336B2 (en) Data transfer system, image forming system, and data transfer method
JP4271558B2 (en) Data transfer system, image forming system, and data transfer program
JP4824422B2 (en) Control device, image processing system, and data transfer path switching method
JP4476088B2 (en) Data transfer apparatus and image forming system
JP4603335B2 (en) Data transfer system, image forming system, and data transfer method
JP2007226494A (en) Data transfer system
JP2005346629A (en) Image processing apparatus
JP4607706B2 (en) Image processing system, program, and job execution method
JP2005332372A (en) Image processing apparatus and image forming apparatus
JP4690828B2 (en) Information processing system, program, and packet communication method

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20051021

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: 20060823

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060811

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081209

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090209

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: 20090224

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: 20090225

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

Free format text: PAYMENT UNTIL: 20120306

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120306

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130306

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140306

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees