JP4271558B2 - Data transfer system, image forming system, and data transfer program - Google Patents
Data transfer system, image forming system, and data transfer program Download PDFInfo
- 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
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
また、ノード間、スイッチ間の接続線は、予めデータ転送に必要な速度に応じた接続線で接続しておくが、この際、各接続線は、各々性能の異なるもの(例えば、バス幅を示すレーン数が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システムを単純に利用した場合、通信経路が固定されているため、複数の独立したデータ転送を並行して処理する場合、ノード間のデータ通信であっても各々のノードの位置によっては木構造の根元(ルート)に近い部分を経由して通信を行う必要が生ずることもあり、このような場合、ノード間のデータ通信とその他のデータ通信との間でデータ転送経路の競合が生じ、転送効率が低下してしまう不都合がある。 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
図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
また、一般的に考えても、ノード(デバイス)間のデータ転送経路が静的に定まってしまうため、ボトルネックとなる部分が生じた場合のソフトウェア的な解決手段がない現状にある。 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
請求項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
請求項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
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
これに対して、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プラットホーム例を図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,
即ち、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
C.エンドポイント(End Point)
エンドポイント115は、タイプ00hのコンフィグレーション空間ヘッダを持つデバイス(具体的には、ブリッジ以外のデバイス)で、レガシーエンドポイントとPCI Expressエンドポイントとに分けられる。両者の大きな違いは、PCI ExpressエンドポイントはBAR(ベースアドレスレジスタ)でI/Oポートリソースを要求せず、このためI/Oリクエストを要求しない。また、PCI Expressエンドポイントは、ロックリクエストもサポートしていない。
C. End point
The
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
PCI Expressのアーキテクチャの中心となるのは、トランザクション層153、データリンク層154、物理層155であり、各々図8を参照して説明する以下のような役割を持つ。
The core of the PCI Express architecture is a
A.トランザクション層153
トランザクション層153は、最上位に位置し、トランザクションレイヤパケット(TLP)の組み立て、分解機能を持つ。トランザクションレイヤパケット(TLP)は、リード/ライト、各種イベントといったトランザクションの伝達に用いられる。また、トランザクション層153は、トランザクションレイヤパケット(TLP)のためのクレジットを用いたフロー制御を行う。各層153〜155におけるトランザクションレイヤパケット(TLP)の概要を図9に示す(詳細は、後述する)。
The
B.データリンク層154
データリンク層154の主な役割は、エラー検出/訂正(再送)によりトランザクションレイヤパケット(TLP)のデータ完全性を保証することと、リンク管理である。データリンク層154間では、リンク管理やフロー制御のためのパケットのやり取りを行う。このパケットは、トランザクションレイヤパケット(TLP)と区別するために、データリンクレイヤパケット(DLLP)と呼ばれる。
B.
The main role of the
C.物理層155
物理層155は、ドライバ、入力バッファ、パラレル−シリアル/シリアル−パラレル変換器、PLL、インピーダンス整合回路といったインタフェース動作に必要な回路を含んでいる。また、論理的な機能としてインタフェースの初期化・保守の機能を持つ。物理層155は、データリンク層154/トランザクション層153を実際のリンクで使用される信号技術から独立させる役目も持っている。
The
なお、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
A.トランザクション層153
トランザクション層153の主な役割は、前述したように、上位のソフトウェア層151と下位のデータリンク層154との間でトランザクションレイヤパケット(TLP)の組み立てと分解を行うことである。
The main role of the
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.
The main role of the
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
物理層155から受け取ったトランザクションレイヤパケット(TLP)は、シーケンス番号とリンクCRC(LCRC)が検査され、正常であればトランザクション層153に渡され、エラーがあった場合は再送を要求する。
The transaction layer packet (TLP) received from the
b.データリンクレイヤパケット(DLLP)
データリンク層154が生成するパケットは、データリンクレイヤパケット(DLLP)と呼ばれ、データリンク層154間でやり取りされる。データリンクレイヤパケット(DLLP)には、
・Ack/Nak:TLPの受信確認、リトライ(再送)
・InitFC1/InitFC2/UpdateFC:フロー制御の初期化とアップデート
・電源管理のためのDLLP
なる種類がある。
b. Data link layer packet (DLLP)
A packet generated by the
-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-
The main role of the
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.
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—
The main role of the
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
また、本実施の形態では、スイッチ4とスイッチ1A〜1Dとの間のデータ転送幅はx4リンク幅とされ、各スイッチ1A〜1Dと各デバイスA〜Dの各エンドポイントとの間のデータ転送幅はx1リンク幅とされている。
In the present embodiment, the data transfer width between the
なお、本実施の形態の画像形成システムは、例えば、デバイス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
このような構成において、当該データ転送システム内で複数の独立したデータ転送を並行して処理する動作モードの場合に、スイッチ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
例えば、デバイス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)
このように動作モードに応じて各デバイス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
そこで、このような経路情報の管理方法の一例について説明する。この例では、その前提として、各々のデバイス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
このステップ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
一方、このような経路情報の管理方法の他例について説明する。この例では、その前提として、各々のデバイス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
この後は、各デバイス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
次に、このような経路情報の管理方法におけるタイミング制御の一例について図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
この後は、各デバイス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
一方、動作モードの変更に関する情報をデバイス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
なお、ステップ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
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.
ことを特徴とする請求項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.
ことを特徴とする画像形成システム。 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
前記設定機能は、この再決定機能により再決定された当該経路情報を各デバイスに書き込み設定する、
ことを特徴とする請求項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.
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)
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 |
-
2003
- 2003-11-19 JP JP2003389571A patent/JP4271558B2/en not_active Expired - Fee Related
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 |