JP4603335B2 - Data transfer system, image forming system, and data transfer method - Google Patents

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

Info

Publication number
JP4603335B2
JP4603335B2 JP2004324555A JP2004324555A JP4603335B2 JP 4603335 B2 JP4603335 B2 JP 4603335B2 JP 2004324555 A JP2004324555 A JP 2004324555A JP 2004324555 A JP2004324555 A JP 2004324555A JP 4603335 B2 JP4603335 B2 JP 4603335B2
Authority
JP
Japan
Prior art keywords
port
data transfer
endpoint
switch
transfer system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004324555A
Other languages
Japanese (ja)
Other versions
JP2005166028A (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 JP2004324555A priority Critical patent/JP4603335B2/en
Priority to US11/125,207 priority patent/US20060114918A1/en
Publication of JP2005166028A publication Critical patent/JP2005166028A/en
Application granted granted Critical
Publication of JP4603335B2 publication Critical patent/JP4603335B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)
  • Information Transfer Systems (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 method.

一般に、画像データその他のデータを扱う機器・システムでは、デバイス間のインタフェースに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.

その一例を単純化して図28に示す。即ち、PCI Expressシステム200は、管理するルートノード(ルートコンプレックス)201を頂点として、スイッチSW1,SW2,SW3,…を介して複数のエンドノード(エンドポイント)A,B,C,D,…をツリー構造に接続してなる。ここに、各スイッチSW1,SW2,SW3,…は、上流ポート(ルートノード側)を1つ持ち、下流ポート(エンドノード側)を複数持つ構成とされ、スイッチSW1,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 SW1, 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, so when multiple independent data transfers are processed in parallel, contention of the data transfer path occurs and transfer efficiency decreases. There is an inconvenience.

例えば、図28に示した例で説明すると、ルートノード201からエンドノードAへの経路202とエンドノードCからエンドノードBへの経路203とで、2種類のデータ転送を同時に処理しようとする場合、図28中に拡大して示すように、スイッチSW1中のスイッチSW2に対する下流ポートの競合が生じてしまう。よって、経路202のパケットと経路203のパケットとを交互に出力すると、転送レートが半分に落ち、転送効率が低下する。また、スイッチSW1のアービトレーションにより、一方の経路202又は203を優先させることは可能であるが、他方の経路203又は202の転送効率はさらに低下してしまう。   For example, in the example shown in FIG. 28, 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. 28, 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.

図28に示すような競合が生じないようにするためには、例えば、図29に示すように、予めスイッチSW2,SW2に対するエンドノードA,B,C,Dの接続を変えておけばよいが、別の並行処理動作において、経路202の処理と、エンドノードCからエンドノードDへの経路204の処理とを同時に処理しなければならない場合は、図28の場合と同様の競合が生じ、転送レートが低下してしまい、本質的な改善とはならない。   In order to prevent the competition shown in FIG. 28 from occurring, for example, as shown in FIG. 29, 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 route 202 and the processing of the route 204 from the end node C to the end node D have to be processed at the same time, a conflict similar to the case of FIG. The rate will drop and it will not be an essential improvement.

このようなデータ転送レートの低下は、データ転送経路の競合時だけでなく、必要以上に多段のスイッチを経るデータ転送経路の場合も同様である。   Such a decrease in the data transfer rate is the same not only when the data transfer path competes but also in the case of a data transfer path that passes through more switches than necessary.

本発明の目的は、複数の独立したデータ転送を並行して処理する場合のデータ転送経路の競合や、必要以上に多段のスイッチを経るデータ転送経路を避けることによりデータ転送効率の向上を図ることである。   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 or a data transfer path that passes through more than necessary switches. It is.

請求項1記載の発明は、木構造によるデータ通信網として送受信独立の通信チャネルが確立されるデータ転送システムであって、前記木構造における第1のエンドポイント上流側に位置する第1のスイッチと通信可能な第1のポートおよび上流側に位置する第2のスイッチと通信可能な第2のポートを有するとともに、当該木構造における第2のエンドポイントは上流側に位置する前記第1のスイッチと通信可能な第3のポートおよび上流側に位置する前記第2のスイッチと通信可能な第4のポートを有し、前記第1のエンドポイントは、動作モードに応じて前記第1のポートまたは前記第2のポートのうちのいずれか1つのポートを選択する第1のポート選択手段を有し、前記第2のエンドポイントは、動作モードに応じて前記第3のポートまたは前記第4のポートのうちのいずれか1つのポートを選択する第2のポート選択手段を有する。 Invention of claim 1, wherein a communication channel transmission received independently by a data communications network according to a tree structure is established Lud over data transfer system, the first endpoint before Symbol tree structure located on the upstream side A first port that can communicate with the first switch and a second port that can communicate with the second switch located upstream, and the second endpoint in the tree structure is located upstream having said first switch and said second switch capable of communicating with a fourth port located on the third port capable of communicating and upstream, the first endpoint in accordance with the operating mode having a first port selection means for selecting either one of the ports of the first port or the second port, the second endpoint, in response to said operation mode first 3 points DOO or a second port selection means for selecting either one port of said fourth port.

請求項2記載の発明は、請求項1記載のデータ転送システムにおいて、当該データ転送システムがPCI Expressシステムである。 The invention according to claim 2 is the data transfer system according to claim 1, wherein the data transfer system is a PCI Express system.

請求項3記載の発明は、請求項1又は2記載のデータ転送システムにおいて、前記第1のポート選択手段および前記第2のポート選択手段は、リンクのリセット時に選択するポートのポート選択情報を書き換え自在に記憶するメモリを有し、前記第1のエンドポイントおよび前記第2のエンドポイントは、ポート選択情報を含むメッセージパケットの受信により前記メモリ上のポート選択情報を書き換え更新する更新手段を有し、当該データ転送システムを管理するコンピュータは、当該データ転送システムの起動時に前記第1のエンドポイントおよび前記第2のエンドポイントを初期設定で前記メモリ上に指定されたポート選択情報に従いポートが選択された状態でリンクアップして初期状態の木構造を取得するとともに前記第1のエンドポイントおよび前記第2のエンドポイントに対するコンフィグレーションにより前記第1のエンドポイントおよび前記第2のエンドポイントのデバイス機能と必要なデータ転送性能とを特定する初期化手段と、特定されたデバイス機能と必要なデータ転送性能とを参照し当該データ転送システムの動作モードに応じて最適となる前記第1のエンドポイントおよび前記第2のエンドポイントのポートを決定する決定手段と、決定されたポート選択情報を含むメッセージパケットを対象となる前記第1のエンドポイントおよび前記第2のエンドポイントの前記更新手段に通知して前記メモリ上のポート選択情報を書換え更新させる通知手段と、当該通知後に当該データ転送システムをリセットし書換え更新された前記メモリ上で指定されるポート選択情報に従い前記第1のエンドポイントおよび前記第2のエンドポイントのポートが選択された状態で再リンクアップさせる再リンクアップ手段と、を有し、当該データ転送システムの再リンクアップ後に動作モードに従いデータ転送を開始させるようにした。 According to a third aspect of the invention, in claim 1 or 2, wherein the data transfer system, said first port selecting means and said second port selecting means, port selection Lupolen over preparative select at reset link Update means having a memory for storing information in a rewritable manner, wherein the first endpoint and the second endpoint rewrite and update the port selection information on the memory upon reception of a message packet including port selection information The computer that manages the data transfer system has the first endpoint and the second endpoint in accordance with the port selection information specified on the memory by default when the data transfer system is activated. said first end with Ipoh over preparative obtains a tree structure of the initial state to link up in a state of being selected And initializing means for identifying and Into and the second said by the configuration for the endpoint of the first endpoint and the second endpoint device features and the required data transfer performance, required a specific devices function a data transfer performance and reference determining means for determining a port of the first endpoint and the second endpoint of the optimum in accordance with the operation mode of the data transfer system of a port selection determined A notification means for notifying the update means of the first endpoint and the second endpoint of the message packet including the information and rewriting and updating the port selection information on the memory; and the data after the notification ports specified by resetting the transfer system rewrite updated on the memory Includes a relink up means to relink up in a state in which port was chosen in the first endpoint and the second endpoint of the according-option information, the operation after re linkup of the data transfer system Data transfer is started according to the mode.

請求項4記載の発明は、請求項記載のデータ転送システムにおいて、前記決定手段は、当該データ転送システム内で複数の独立したデータ転送を並行して処理する動作モードの場合に、前記第1のスイッチまたは前記第2のスイッチを通るデータ転送経路に競合が生じないように、前記第1のポート選択手段が選択して使用する1つのポートおよび前記第2のポート選択手段が選択して使用する1つのポートを決定する。 The invention of claim 4, wherein, in the data transfer system according to claim 3, wherein the determination unit, when the operating mode for processing in parallel a plurality of independent data transfers in the data transfer system, the first switch or to compete in the data transfer path through the second switch does not occur, one port and said second port selecting means, wherein the first port selecting means select and use the selection One port to be used is determined.

請求項5記載の発明は、請求項又は記載のデータ転送システムにおいて、前記決定手段は、経由するスイッチの段数が最小となるように、前記第1のポート選択手段が選択して使用する1つのポートおよび前記第2のポート選択手段が選択して使用する1つのポートを決定する。 According to a fifth aspect of the invention, according to claim 3 or 4, wherein the data transfer system, said determining means, as stages through to absence switch is minimum, the first port selecting means selects one port and the second port selecting means to be used to determine one of the ports to select and use.

請求項6記載の発明の画像形成システムは、請求項1ないし5の何れか一記載のデータ転送システムは、前記第1のエンドポイントおよび前記第2のエンドポイントを画像形成に関与するデバイスとする。 An image forming system according to a sixth aspect of the present invention is the data transfer system according to any one of the first to fifth aspects, wherein the first endpoint and the second endpoint are devices involved in image formation. .

請求項7記載の発明は、木構造によるデータ通信網として送受信独立の通信チャネルが確立され、記木構造における第1のエンドポイントが上流側に位置する第1のスイッチと通信可能な第1のポートおよび上流側に位置する第2のスイッチと通信可能な第2のポートを有するとともに、当該木構造における第2のエンドポイントが上流側に位置する前記第1のスイッチと通信可能な第3のポートおよび上流側に位置する前記第2のスイッチと通信可能な第4のポートを有するデータ転送システムを利用するデータ転送方法であって、前記第1のエンドポイントが、動作モードに応じて前記第1のポートまたは前記第2のポートのうちのいずれか1つのポートを選択し、前記第2のエンドポイントが、動作モードに応じて前記第3のポートまたは前記第4のポートのうちのいずれか1つのポートを選択するThe invention of claim 7, wherein is established a communication channel for sending and receiving independently as a data communications network according to a tree structure, capable of communicating with the first switch first endpoint before Symbol tree structure is located on the upstream side And a second port capable of communicating with a second switch located upstream and a second endpoint in the tree structure capable of communicating with the first switch located upstream. a such third port and the data transfer method utilizing a data transfer system having a second switch and the fourth port capable of communicating located upstream, the first endpoint is operating mode It said first port or select one of the ports of said second port, the second endpoint, the third port in response to the operation mode in accordance with the Other selects any one port of said fourth port.

請求項8記載の発明は、請求項7記載のデータ転送方法において、前記データ転送システムがPCI Expressシステムである。 The invention according to claim 8 is the data transfer method according to claim 7, wherein the data transfer system is a PCI Express system.

請求項9記載の発明は、請求項7又は8記載のデータ転送方法において、前記データ転送システム内で複数の独立したデータ転送を並行して処理する動作モードの場合に、前記第1のエンドポイントおよび前記第2のエンドポイントにおいて前記第1のスイッチまたは前記第2のスイッチを通るデータ転送経路に競合が生じないように、前記第1のエンドポイントが選択して使用する1つのポートおよび前記第2のエンドポイントが選択して使用する1つのポートを決定するようにした。 The invention according to claim 9 is the data transfer method according to claim 7 or 8, wherein the first endpoint is in an operation mode in which a plurality of independent data transfers are processed in parallel in the data transfer system. and the like wherein the second endpoint of the first switch or conflicting data transfer path through the second switch does not occur, one port of the first endpoint is selected and used And the second endpoint selects and uses one port .

請求項10記載の発明は、請求項7,8又は9記載のデータ転送方法において、経由するスイッチの段数が最小となるように、前記第1のエンドポイントが選択して使用する1つのポートおよび前記第2のエンドポイントが選択して使用する1つのポートを決定するようにした。 The invention of claim 10, wherein, in the data transfer method according to claim 7, 8 or 9, wherein, as the number of stages through to absence switch is minimized, one of the first endpoint is selected and used port and the second endpoint of was made to determine a single port to be selected and used.

本発明によれば、第1のエンドポイントに上流側の第1のスイッチと通信可能な第1のポートおよび上流側の第2のスイッチと通信可能な第2のポートを持たせるとともに、第2のエンドポイントに上流側の第1のスイッチと通信可能な第3のポートおよび上流側の第2のスイッチと通信可能な第4のポートを持たせ、動作モードに応じて第1のエンドポイントが使用する1つのポートおよび第2のエンドポイントが使用する1つのポートを選択することにより、木構造を動的に変更することができ、よって、複数の独立したデータ転送を並行して処理する場合でも独立したデータ転送経路の確保によりデータ転送経路の競合を避け、或るいは、必要以上に多段のスイッチを経るデータ転送経路を避けることができ、データ転送効率の向上を図ることができる。 According to the present invention, causes no upper stream side first first capable of communicating with the switch ports and the upstream second switch and a second port capable of communicating in the first endpoint, the The second endpoint has a third port that can communicate with the upstream first switch and a fourth port that can communicate with the upstream second switch, and the first endpoint according to the operation mode. There by one port and the second endpoint to be used to select one of the ports to be used, it is possible to dynamically change the tree structure, therefore, in parallel a plurality of independent data transfers Even if processing is performed, it is possible to avoid data transfer path contention by securing an independent data transfer path, or to avoid data transfer paths that pass through more stages than necessary, thereby improving data transfer efficiency. Rukoto can.

本発明を実施するための最良の形態について図面を参照して説明する。   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デバイス104c,104dが接続されたPCIブリッジ105bやPCIバススロット106が接続されたPCIブリッジ107がPCIブリッジ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. Or a PCI bridge 105b to which the PCI devices 104c and 104d are connected and a PCI bridge 107 to which the PCI bus slot 106 is connected are connected via the PCI bridge 105c (tree structure). Yes.

これに対して、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 desktop / mobile. For example, graphics 125 is x16 with respect 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. PCI Express 126a and an I / O hub 127 having a conversion function are connected by PCI Express 126b. For example, a storage 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. The switch 134 is connected to the mobile dock 135, Gigabit Ethernet (Ethernet is a registered trademark) 136, and an add-in 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 basically does not request I / O port resources 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 the conventional access to the access by PCI Express 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としては様々なフォームファクタ(形状)が考えられるが、具体化している例としては、アドインカード、プラグインカード(Express Card)、Mini PCI Expressなどがある。   Various form factors (shapes) are conceivable as PCI Express. Examples of specific examples include add-in cards, plug-in cards (Express Cards), 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 0004603335
Figure 0004603335

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 data transfer system according to the present embodiment uses the above-described PCI Express system, particularly with the tree structure added with expansion and improvement.

図15は、本実施の形態のデータ転送システムにおける木構造例を示す原理的な模式図である。前述のPCI Expressシステムの仕様によれば、エンドポイントの上流ポートは1つのみとされているが、本実施の形態では、各エンドポイントA,B,C,…について複数の上流ポイントを持たせるとともに、各エンドポイントA,B,C,…に、当該データ転送システムの動作モードに応じて使用する1つの上流ポートを選択するポートセレクタ(ポート選択手段)1A,1B,1C,…を持たせるようにしたものである。   FIG. 15 is a principle schematic diagram showing an example of a tree structure in the data transfer system of the present embodiment. According to the specification of the PCI Express system described above, there is only one upstream port of the endpoint, but in this embodiment, each endpoint A, B, C,... Has a plurality of upstream points. In addition, each end point A, B, C,... Has a port selector (port selection means) 1A, 1B, 1C,... For selecting one upstream port to be used according to the operation mode of the data transfer system. It is what I did.

従って、本実施の形態のデータ転送システムの木構造においては、全体を管理するルートコンプレックス2を頂点として、複数のスイッチ3A,3B,3Cを介して複数のエンドポイントA,B,C,…が接続された木構造であるが、各々のエンドポイントA,B,Cが各々複数の上流ポートを有するため、例えば、エンドポイントAにあってはスイッチ3A,3B,3Cに接続されたデータ転送経路を有し、エンドポイントBにあってはスイッチ3A,3B,3Cに接続されたデータ転送経路を有し、エンドポイントCにあってはスイッチ3A,3B,3Cに接続されたデータ転送経路を有する。スイッチ側からみれば、スイッチ3AはエンドポイントA,B,Cに接続されたデータ転送経路を有し、スイッチ3BはエンドポイントA,B,Cに接続されたデータ転送経路を有し、スイッチ3CはエンドポイントA,B,Cに接続されたデータ転送経路を有する。   Therefore, in the tree structure of the data transfer system according to the present embodiment, a plurality of endpoints A, B, C,... Are routed via a plurality of switches 3A, 3B, 3C with the root complex 2 managing the whole as a vertex. Although each of the end points A, B, and C has a plurality of upstream ports, the data transfer path is connected to the switches 3A, 3B, and 3C in the end point A, for example. The endpoint B has a data transfer path connected to the switches 3A, 3B, 3C, and the endpoint C has a data transfer path connected to the switches 3A, 3B, 3C. . From the switch side, the switch 3A has a data transfer path connected to the end points A, B, and C, and the switch 3B has a data transfer path connected to the end points A, B, and C, and the switch 3C Has data transfer paths connected to endpoints A, B, and C.

また、本実施の形態では、スイッチ3A,3B,3C毎にデータ転送幅を異ならせる仕様とするために、例えば、スイッチ3Aは上流側(ルートコンプレックス側)、下流側(エンドポイント側)ともリンクがx8なる大量データ転送用とされ、スイッチ3Bは上流側、下流側ともリンクがx4とされ、スイッチ3Cは上流側、下流側ともリンクがx1とされ、データの種類に応じて適切なデータ幅のデータ転送を選択できるように設定されている。もっとも、コスト面で余裕があれば、全てのバス幅を例えばx8に設定してもよい。   Further, in the present embodiment, for example, the switch 3A is linked to both the upstream side (route complex side) and the downstream side (endpoint side) in order to make the data transfer width different for each of the switches 3A, 3B, 3C. X8 is used for large volume data transfer, the switch 3B has a link x4 on the upstream side and the downstream side, and the switch 3C has a link x1 on the upstream side and the downstream side, and an appropriate data width according to the type of data It is set so that data transfer can be selected. However, if there is a margin in cost, all bus widths may be set to x8, for example.

このような構成において、当該データ転送システム内で複数の独立したデータ転送を並行して処理する動作モードの場合に、スイッチ3を通るデータ転送経路に競合が生じないように、ポートセレクタ1は使用する1つの上流ポートを選択する。例えば、エンドポイントAとエンドポイントBとの間で大量のデータ転送を要すると同時に、ルートコンプレックス2とエンドポイント3Cとの間でデータ転送を要する場合には、ポートセレクタ1A,1BはエンドポイントA,Bの上流ポートとして実線で示すようにスイッチ3Aに対するx8リンクの経路が有効となるように1つの上流ポートを選択し、かつ、ポートセレクタ1CはエンドポイントCの上流ポートとして実線で示すようにスイッチ3Bに対するx4リンクの経路が有効となるように1つの上流ポートを選択する。これにより、エンドポイントA,B間のx8の経路4が確保されるとともに、ルートコンプレックス2−スイッチ3B−エンドポイントCのx4の経路5が確保される。よって、エンドポイントA,B間でx8リンクにより大量のデータ転送を行えると同時に、ルートコンプレックス2とエンドポイントCとの間ではエンドポイントA,B間のデータ転送に邪魔されることなく、x4リンクをフルに活用したデータ転送が可能となる。   In such a configuration, the port selector 1 is used so that no conflict occurs in the data transfer path passing through the switch 3 in the operation mode in which a plurality of independent data transfers are processed in parallel in the data transfer system. Select one upstream port. For example, when a large amount of data transfer is required between the endpoint A and the endpoint B and at the same time data transfer is required between the route complex 2 and the endpoint 3C, the port selectors 1A, 1B , B as an upstream port, as shown by a solid line, one upstream port is selected so that the path of the x8 link to the switch 3A is valid, and the port selector 1C is shown as a solid line as an upstream port of the endpoint C One upstream port is selected so that the route of the x4 link to the switch 3B is valid. As a result, the x4 path 4 between the end points A and B is secured, and the x4 path 5 of the route complex 2-switch 3B-endpoint C is secured. Therefore, a large amount of data can be transferred between the end points A and B by the x8 link, and at the same time, between the route complex 2 and the end point C, the data transfer between the end points A and B is not disturbed, and the x4 link. Can be used to transfer data fully.

このように動作モードに応じて使用する1つの上流ポートを選択することにより、木構造を動的に変更することができ、よって、複数の独立したデータ転送を並行して処理する場合でも、独立したデータ転送経路の確保によりデータ転送経路の競合を避けることができ、データ転送効率の向上を図ることができる。   By selecting one upstream port to be used in accordance with the operation mode in this way, the tree structure can be dynamically changed. Therefore, even when a plurality of independent data transfers are processed in parallel, independent tree transfer is possible. By securing the data transfer path, data transfer path contention can be avoided and data transfer efficiency can be improved.

本実施の形態のようなデータ転送システムの好適例としては、図16に示すような画像形成システムを挙げることができる。当該画像形成システムは、画像形成用のデバイスであって前述のエンドポイントA,B,Cに各々相当するスキャナエンジン部11(入力部)と、プリンタエンジン部12(出力部)と、ファクシミリ部13(通信部)とを備える複合機(MFP)構成とされている。また、14はルートコンプレックスに相当するコントローラであり、スイッチ3A,3B,3Cに対するスイッチ15を備える他、当該システムにおけるコンピュータとしてのCPU16やメモリ17が接続されている。   A preferred example of the data transfer system as in this embodiment is an image forming system as shown in FIG. The image forming system is an image forming device, and corresponds to the above-described endpoints A, B, and C. The scanner engine unit 11 (input unit), the printer engine unit 12 (output unit), and the facsimile unit 13 (MFP) configuration including a (communication unit). Reference numeral 14 denotes a controller corresponding to the root complex, which includes a switch 15 for the switches 3A, 3B, and 3C, and is connected to a CPU 16 and a memory 17 as a computer in the system.

このような構成において、例えば、高速コピー動作用のデータ転送処理とファクシミリ受信用のデータ転送処理とを同時に並行して行う場合であれば、図16(a)に示すように、スキャナエンジン部11及びプリンタエンジン部12の上流ポートはスイッチ3Aのx8用が有効となるように選択し、かつ、ファクシミリ部13の上流ポートはスイッチ3Bのx4用が有効となるように選択し、図2(a)中に実線で示すような経路4,5を使用することにより、スキャナエンジン部11とプリンタエンジン部12との間でx8リンクの経路4で高速コピーを行いながら、ファクシミリ部13とコントローラ14を介するメモリ17との間でx4リンクの経路5を利用してファクシミリ受信データをメモリ17に保存させることができる。   In such a configuration, for example, in the case where data transfer processing for high-speed copy operation and data transfer processing for facsimile reception are performed simultaneously in parallel, as shown in FIG. And the upstream port of the printer engine unit 12 is selected so that the x8 port of the switch 3A is valid, and the upstream port of the facsimile unit 13 is selected so that the x4 port of the switch 3B is valid. ), By using the paths 4 and 5 as indicated by the solid line, the facsimile unit 13 and the controller 14 are connected between the scanner engine unit 11 and the printer engine unit 12 while performing high-speed copying on the x4 link path 4. Facsimile reception data can be stored in the memory 17 by using the route 5 of the x4 link with the memory 17 via the interface.

一方、例えば、ファクシミリ受信データのプリント動作と高速スキャニングデータのメモリへの格納(予約コピー)動作とを同時に並行して行う場合であれば、図2(b)に示すように、スキャナエンジン部11の上流ポートはスイッチ3Aのx8リンク用が有効となるように選択し、かつ、プリントエンジン部12及びファクシミリ部13の上流ポートはスイッチ3Bのx4リンク用が有効となるように選択し、図16(b)中に実線で示すような経路6,7を使用することにより、ファクシミリ受信データをプリントエンジン部12によりプリントしている間に、スキャナエンジン部11による高速スキャニングデータをメモリ17に転送して予約コピー用に格納させることができる。   On the other hand, for example, in the case where the printing operation of the facsimile reception data and the storage (reserved copy) operation of the high-speed scanning data in the memory are performed simultaneously in parallel, as shown in FIG. 16 is selected so that the x3 link of the switch 3A is valid, and the upstream ports of the print engine unit 12 and the facsimile unit 13 are selected so that the x4 link of the switch 3B is valid. (B) By using the paths 6 and 7 as indicated by the solid line in the figure, the high speed scanning data by the scanner engine unit 11 is transferred to the memory 17 while the facsimile reception data is being printed by the print engine unit 12. Can be stored for reserved copy.

[具体的構成例]
ところで、上述したような動作を実現するためのエンドポイントのより具体的な構成例並びに当該システムを管理するコンピュータとしてのCPU16による動作制御例等について説明する。
[Specific configuration example]
By the way, a more specific configuration example of the endpoint for realizing the operation as described above, an operation control example by the CPU 16 as a computer managing the system, and the like will be described.

図17は、各エンドポイント21の構成例を示す概略ブロック図である。各エンドポイント21は、上流に存在する複数のスイッチ(SW1〜3)の各々と個別に1対1で接続される複数の上流ポートとして、ポート1〜3で示すような複数のポート22A〜22Cを備えている。これらのポート22A〜22Cの下流側には、前述のポートセレクタ1に相当し、物理層24との通信路を切り替えることで当該エンドポイント21の持つ何れかのポート22A〜22Cに接続するポート選択手段としてのポートセレクタ23が設けられている。このポートセレクタ23の下流側には、前述の物理層24やエンドポイント論理層回路25の他、これらの物理層24・エンドポイント論理層回路25間を接続するデファクト標準のインタフェース規格に従うPIPEインタフェース26を有するPCI Expressコア27が設けられている。このようなPCI Expressコア27の下流側には、各々のエンドポイント21毎の機能を特定するユーザ回路28が接続されている。このユーザ回路28は、PCI Express規格のパケットを受信することで各々の有するアプリケーション(スキャナ、プロッタ、ネットワークカード等)の機能を制御する。   FIG. 17 is a schematic block diagram illustrating a configuration example of each endpoint 21. Each end point 21 has a plurality of ports 22A to 22C as indicated by ports 1 to 3 as a plurality of upstream ports individually connected one-to-one with a plurality of switches (SW1 to SW3) existing upstream. It has. On the downstream side of these ports 22A to 22C, corresponding to the above-described port selector 1, a port selection to be connected to any of the ports 22A to 22C of the end point 21 by switching the communication path with the physical layer 24 A port selector 23 is provided as a means. On the downstream side of the port selector 23, in addition to the physical layer 24 and the endpoint logical layer circuit 25 described above, a PIPE interface 26 conforming to a de facto interface standard for connecting the physical layer 24 and the endpoint logical layer circuit 25 is provided. A PCI Express core 27 is provided. A user circuit 28 for specifying a function for each end point 21 is connected to the downstream side of the PCI Express core 27. The user circuit 28 receives the PCI Express standard packet to control the function of each application (scanner, plotter, network card, etc.).

ここに、ポートセレクタ23は、リンクのリセットがかかった際に選択する上流ポートのポート番号(ポート選択情報)を書き換え自在に記憶するメモリ29を有する。このメモリ29には、初期状態でポートセレクタ23により選択される任意のポート番号が記憶されている。ポートセレクタ23では、外部の制御回路30から入力されるポート番号(ポート選択情報)を当該メモリ29に記憶し、次にリンクのリセットがかかった場合にはその時点で当該メモリ29に記憶されているポート番号のポート22A〜22Cを選択する。一方、エンドポイント21において、ユーザ回路28は、メッセージパケットを受信し、当該メッセージパケットがポート番号(ポート選択情報)を含む場合に通知する制御回路30を有し、この制御回路30は通知を受けたメッセージパケットのポート番号をメモリ29に対して出力して書き換え更新させる更新手段として機能する。   Here, the port selector 23 has a memory 29 that rewritably stores the port number (port selection information) of the upstream port that is selected when the link is reset. The memory 29 stores an arbitrary port number selected by the port selector 23 in the initial state. In the port selector 23, the port number (port selection information) input from the external control circuit 30 is stored in the memory 29. When the link is next reset, it is stored in the memory 29 at that time. The ports 22A to 22C having the same port number are selected. On the other hand, at the end point 21, the user circuit 28 has a control circuit 30 that receives a message packet and notifies when the message packet includes a port number (port selection information). The control circuit 30 receives the notification. It functions as an update means for outputting the port number of the message packet to the memory 29 to rewrite and update it.

このようなエンドポイント21の構成下に、プログラムによりシステム全体の動作を制御するCPU16及び各エンドポイント21により実行される、当該システムのツリー構造の動的変更の処理手順について図18ないし図23を参照して説明する。図18ないし図21は、各々異なる段階でのツリー構造例を示す原理的な模式図、図22はCPU16により実行される動作制御例の概略フローチャート、図23は各エンドポイント21A〜21Dにおける動作例を示す概略フローチャートである。ここでは、3つのスイッチ3A〜3C、4つのエンドポイント21A〜21D、各々2つずつのポート22A,22Bを有するシステム構成例とする。この手順としては、初期化手順と経路最適化手順とに大別される。   FIG. 18 to FIG. 23 show the processing procedure of the dynamic change of the tree structure of the system, which is executed by the CPU 16 that controls the operation of the entire system by a program and each endpoint 21 under the configuration of the endpoint 21. The description will be given with reference. 18 to 21 are principle schematic diagrams showing examples of tree structures at different stages, FIG. 22 is a schematic flowchart of an example of operation control executed by the CPU 16, and FIG. 23 is an example of operation at each of the endpoints 21A to 21D. It is a schematic flowchart which shows. Here, the system configuration example includes three switches 3A to 3C, four end points 21A to 21D, and two ports 22A and 22B each. This procedure is roughly divided into an initialization procedure and a route optimization procedure.

まず、システムが起動した際に、各エンドポイント21A〜21Dは初期設定でメモリ29に格納されているポート番号で指定されたポートがポートセレクタ23A〜23Dにより選択された状態でリンクアップする。即ち、各エンドポイント21A〜21Dにおいては、図23に示すように、リンクのリセットを検出すると(ステップS11)、メモリ29に格納されているポート番号を参照することで(S12)、ポートセレクタ23は上流ポートを選択して(S13)、リンクアップする(S14)。CPU16は、このようなリンクアップの際に、コントローラ(ルートコンプレックス)14の下流にあるスイッチ3A〜3Cと各エンドポイント21A〜21Dを検索することで(ステップS1,S2)、初期状態のツリー構造(木構造)を取得し、メモリ17内のテーブルなどに保持する(S3)。この際、各スイッチ3A〜3Cや各エンドポイント21A〜21Dには規格で決まっているユニークなベンダID、デバイスIDが与えられており、PCI Express規格で定められた前述のコンフィグレーションレジスタ(図示せず)に保持されている。そこで、CPU16は、各々のスイッチ3A〜3Cやエンドポイント21A〜21Dのコンフィグレーションリードアクセスをかけることで、ベンダID、デバイスIDを取得し、そのデバイス機能と必要なデータ転送性能を特定する(なお、ベンダID、デバイスIDと機能、性能に関する情報は、予めプログラム或いはコントローラ(ルートコンプレックス)14に接続されたメモリ17に含まれているものとする)。このようなステップS1〜S3の処理がCPU17により、初期化手段の機能として実行される。   First, when the system is activated, the endpoints 21A to 21D are linked up in a state where the ports designated by the port numbers stored in the memory 29 by default are selected by the port selectors 23A to 23D. That is, in each of the end points 21A to 21D, as shown in FIG. 23, when link reset is detected (step S11), by referring to the port number stored in the memory 29 (S12), the port selector 23 Selects an upstream port (S13) and links up (S14). The CPU 16 searches the switches 3A to 3C and the respective endpoints 21A to 21D downstream of the controller (root complex) 14 at the time of such a link up (steps S1 and S2), and thereby the initial tree structure. (Tree structure) is acquired and held in a table or the like in the memory 17 (S3). At this time, each of the switches 3A to 3C and each of the end points 21A to 21D is given a unique vendor ID and device ID determined by the standard, and the above-described configuration register (not shown) defined by the PCI Express standard. Z). Therefore, the CPU 16 obtains the vendor ID and device ID by performing configuration read access to each of the switches 3A to 3C and the end points 21A to 21D, and specifies the device function and the necessary data transfer performance (note that Information regarding the vendor ID, device ID, function, and performance is included in the memory 17 connected to the program or the controller (root complex) 14 in advance). Such processing in steps S1 to S3 is executed by the CPU 17 as a function of initialization means.

図18は、システム起動時にリンクアップした状態のツリー構造例を示す原理的な模式図である。即ち、初期設定では、エンドポイント21A,21Bではポート22A、エンドポイント21C,21Dではポート22Bが選択されるようにメモリ29にポート番号が記憶されているものとする。このようにリンクアップされたときのツリー構造と各エンドポイント21A〜21DのID(機能、性能情報)はメモリ17に保持される。   FIG. 18 is a principle schematic diagram showing an example of a tree structure in which the link is up when the system is activated. That is, in the initial setting, it is assumed that the port number is stored in the memory 29 so that the port 22A is selected for the endpoints 21A and 21B and the port 22B is selected for the endpoints 21C and 21D. The tree structure and the IDs (functions and performance information) of the end points 21A to 21D when linked up are held in the memory 17.

このような初期化手順の終了後、CPU16は、システム動作モードを選択し、当該システム動作に合わせて、例えば、スイッチ3A〜3Cの出力ポートに競合が生じないようなデータ通信経路をプログラムによる演算処理によって特定し、各エンドポイント21A〜21Dにおけるポートセレクタ23が選択する最適なポート番号をポート選択情報として決定する処理を行なう。即ち、初期化手順により特定されたデバイス機能と必要なデータ転送性能とを参照しながら当該システムの動作モードを実行する上で、データ転送経路の競合の回避が可能であるか、さらには、後述するようにスイッチ経由数の削減が可能であるか否かを判定し(S5)、可能でなければ既にデータ転送経路が最適化されているのでデータ転送処理をそのまま実行させるが(S6)、可能であれば(S5のY)、当該動作モードに応じて最適となる各エンドポイント21A〜21Dの上流ポートを決定し、ポート変更が必要なエンドポイントの制御回路30に対してそのポート番号(ポート選択情報)を含むメッセージバケットを送信する(S7)。これらのステップS4、S5のY、S7の処理が、決定手段、通知手段の機能として実行される。   After completion of such an initialization procedure, the CPU 16 selects a system operation mode, and according to the system operation, for example, calculates a data communication path that does not cause competition in the output ports of the switches 3A to 3C by a program. A process is performed in which the optimum port number specified by the process and selected by the port selector 23 in each of the endpoints 21A to 21D is determined as the port selection information. That is, it is possible to avoid contention on the data transfer path when executing the operation mode of the system while referring to the device function specified by the initialization procedure and the required data transfer performance. Thus, it is determined whether or not the number of switches can be reduced (S5). If not, the data transfer path is already optimized and the data transfer process is executed as it is (S6). If this is the case (Y in S5), the optimum upstream port of each of the endpoints 21A to 21D is determined according to the operation mode, and the port number (port) of the endpoint control circuit 30 that needs to be changed is determined. A message bucket including selection information is transmitted (S7). The processes of Y and S7 in these steps S4 and S5 are executed as functions of a determination unit and a notification unit.

図19は、初期設定状態のままではスイッチにおいてポート競合が生ずる動作モード例を示す原理的な模式図である。例えば、メモリ17からエンドポイント21Aに対してデータ通信を行ないながら、エンドポイント21Cからエンドポイント21Bへデータ転送しようとする動作モード例を示し、この場合、初期設定状態のままでは、スイッチ3Aのスイッチ3Bへの出力ポートで競合が生じてしまう(図28で説明した場合に相当する)。このような場合、例えばエンドポイント21Cのポートをポート22Bに代えて、スイッチ3Bと接続された方のポート22Aに切り替えることで、データ転送経路の競合が避けられるようになる。そこで、CPU16はこのような動作モード時には、エンドポイント21Cの最適な上流ポートとしてポート22Aを決定する。そして、CPU16は、実際にデータ転送を実行する前に変更対象となる当該エンドポイント21Cに対してポート番号=ポート22Aなるポート選択情報を含むメッセージパケットを送信する。   FIG. 19 is a principle schematic diagram showing an example of an operation mode in which port contention occurs in the switch in the initial setting state. For example, an operation mode example in which data is transferred from the end point 21C to the end point 21B while performing data communication from the memory 17 to the end point 21A is shown. In this case, the switch of the switch 3A is kept in the initial setting state. Contention occurs at the output port to 3B (corresponding to the case described in FIG. 28). In such a case, for example, by switching the port of the end point 21C to the port 22A connected to the switch 3B instead of the port 22B, contention of the data transfer path can be avoided. Therefore, the CPU 16 determines the port 22A as the optimum upstream port of the end point 21C in such an operation mode. Then, the CPU 16 transmits a message packet including port selection information of port number = port 22A to the endpoint 21C to be changed before actually executing data transfer.

このとき、各エンドポイント21A〜21Dにおいては、メッセージパケットを受信した場合(S15)、ポート番号(ポート選択情報)を含むメッセージパケットであるか否かを判定し(S16)、ポート番号(ポート選択情報)が含まれない場合には(S16のN)、通常のパケット受信処理を行なうが(S17)、ポート番号(ポート選択情報)が含まれる場合には(S16のY)、制御回路30に当該ポート番号(ポート選択情報)を通知し(S18)、当該制御回路30では、例えば、対象となる当該エンドポイント21Cにおけるポートセレクタ23にスイッチ3Bに繋がるポート番号=ポート22Aの情報を通知し(S19)、メモリ29を当該ポート番号=ポート22Aで書き換え更新させる(S20)。   At this time, when each of the endpoints 21A to 21D receives a message packet (S15), it determines whether or not the message packet includes a port number (port selection information) (S16), and determines a port number (port selection). Information) is not included (N in S16), normal packet reception processing is performed (S17). If a port number (port selection information) is included (Y in S16), the control circuit 30 The port number (port selection information) is notified (S18), and the control circuit 30 notifies the port selector 23 of the target endpoint 21C of the information of port number = port 22A connected to the switch 3B (for example, S19), the memory 29 is rewritten and updated with the port number = port 22A (S20).

CPU16は、変更を要するポート番号の通知後(S7)、当該システム上のPCI Expressリンクをリセットし、書換え更新されたメモリ29上で指定されるポート番号(ポート選択情報)に従い各エンドポイント21A〜21Dの上流ポート22A又は22Bが選択された状態で再リンクアップさせる(S8)。このステップS8の処理が再リンクアップ手段の機能として実行される。即ち、各エンドポイント21A〜21Dにおいては、図23に示すように、リンクのリセットを検出すると(S11)、メモリ29に格納されているポート番号を参照することで(S12)、ポートセレクタ23は上流ポートを選択して(S13)、リンクアップする(S14)。本例の場合であれば、エンドポイント21Cで選択されるポートが、メッセージパケットで指定されたスイッチ3Bに繋がるポート22Aに切り替わった状態で、リンクアップする。図20は、実際のデータ転送前に再リンクアップした状態のツリー構造例を示す原理的な模式図である。   After the notification of the port number that needs to be changed (S7), the CPU 16 resets the PCI Express link on the system, and according to the port number (port selection information) designated on the rewritten and updated memory 29, each of the endpoints 21A to 21A. Relink up is performed with the upstream port 22A or 22B of 21D selected (S8). The process of step S8 is executed as a function of the relink-up means. That is, in each of the end points 21A to 21D, as shown in FIG. 23, when a link reset is detected (S11), by referring to the port number stored in the memory 29 (S12), the port selector 23 The upstream port is selected (S13), and the link is up (S14). In the case of this example, the link is made up in a state in which the port selected by the end point 21C is switched to the port 22A connected to the switch 3B specified by the message packet. FIG. 20 is a principle schematic diagram showing an example of a tree structure in a state where re-linking is performed before actual data transfer.

CPU16は、このようなリンクアップの際に、システム起動時と同じく、コントローラ(ルートコンプレックス)14の下流にあるスイッチ3A〜3Cと各エンドポイント21A〜21Dを検索することで(ステップS1,S2)、初期状態のツリー構造(木構造)を取得し、メモリ17内のテーブルなどに保持する(S3)。そして、CPU16は、再度各々のデバイスのコンフィグレーションリードアクセスをかけることで、ベンダID、デバイスIDと機能、性能に関する情報も更新する。この後、実際のデータ転送を開始する(S6)。   The CPU 16 searches for the switches 3A to 3C and the end points 21A to 21D downstream of the controller (root complex) 14 at the time of such link-up as in the system startup (steps S1 and S2). The tree structure (tree structure) in the initial state is acquired and held in a table in the memory 17 (S3). Then, the CPU 16 updates the information related to the vendor ID, device ID, function, and performance by making configuration read access to each device again. Thereafter, actual data transfer is started (S6).

図21は、再リンクアップされたツリー構造下での動作モード例を示す原理的な模式図である。図21に示す構成例によれば、当該動作モードにおいて、スイッチ3Aの出力ポートに競合が生じないため、メモリ17−スイッチ3A,3B−エンドポイント21Aなるデータ転送と、エンドポイント21C−スイッチ3B−エンドポイント21Bなるデータ転送とを高速で行なうことができる。   FIG. 21 is a schematic diagram showing the principle of an operation mode example under a relinked tree structure. According to the configuration example shown in FIG. 21, since there is no contention in the output port of the switch 3A in this operation mode, the data transfer of the memory 17-switch 3A, 3B-end point 21A and the end point 21C-switch 3B- The data transfer as the end point 21B can be performed at high speed.

なお、上述の説明では、エンドポイント21Cに関してポート22B側からポート22A側に切り替えるようなポート決定例としたが、エンドポイント21Bに関してポート22A側からポート22B側に切り替えるようなポート決定とし、エンドポイント21C−スイッチ3C−エンドポイント21Bなる経路でデータ転送させるようにしても同等である。   In the above description, the port determination example is such that the end point 21C is switched from the port 22B side to the port 22A side, but the end point 21B is the port determination that is switched from the port 22A side to the port 22B side. Even if data is transferred through a route of 21C-switch 3C-end point 21B, it is equivalent.

ところで、図18ないし図21による説明では、CPU16がスイッチの出力ポートの競合が生じないように選択すべきエンドポイントの上流ポートを決定するようにした例で説明したが、図22中のステップS5中にも示すように、スイッチ経由数(経由するスイッチの段数)が最小となるように選択すべきエンドポイントの上流ポートを決定するようにしてもよい。   In the description with reference to FIGS. 18 to 21, the CPU 16 determines the upstream port of the endpoint to be selected so as not to cause the competition of the output ports of the switch, but step S <b> 5 in FIG. 22 is described. As shown in the figure, the upstream port of the endpoint to be selected may be determined so that the number of switches passing through (the number of switches through which the switch passes) is minimized.

この点について、図24及び図25を参照して説明する。図24は、図18と同じく、システム起動時にリンクアップした状態のツリー構造例を示す原理的な模式図である。このようなシステム起動時の接続状態で、その動作モードとして、例えばエンドポイント21Aからエンドポイント21Dへデータ通信を行なう場合を考えると、スイッチ3B→スイッチ3A→スイッチ3Cを経由することとなり、3段のスイッチを経由するパケット転送が必要となり、大きな遅延を生じてしまう。このような場合、CPU16が図25に示すようにエンドポイント21Aの選択すべき上流側ポートとして、ポート22Aに代えてポート22Bとなるように決定することで、エンドポイント21A→スイッチ3C→エンドポイント21Dなる経路でのデータ転送、即ち、スイッチ3Cのみの1段のスイッチを経る経路となり、図24に示すデータ転送経路の場合に比べて、パケット転送に要する遅延時間を1/3に減らすことができる。   This point will be described with reference to FIGS. 24 and 25. FIG. FIG. 24 is a schematic diagram showing the principle of a tree structure example in a state where the link is made up when the system is started, as in FIG. In the connection state at the time of starting the system, as an operation mode, for example, when data communication is performed from the end point 21A to the end point 21D, the switch 3B → the switch 3A → the switch 3C is passed, and the three stages. Packet transfer via this switch is required, resulting in a large delay. In such a case, as shown in FIG. 25, the CPU 16 determines that the upstream port to be selected by the end point 21A is the port 22B instead of the port 22A, whereby the end point 21A → the switch 3C → the end point. The data transfer through the route 21D, that is, the route through the single-stage switch of only the switch 3C, reduces the delay time required for packet transfer to 1/3 compared to the data transfer route shown in FIG. it can.

この場合も、エンドポイント21D側で選択すべきポートがポート22A側となるように決定してもよい。   Also in this case, the port to be selected on the end point 21D side may be determined to be on the port 22A side.

[効果についての考察]
まず、スイッチの出力ポート競合の影響について考察する。PCI Expressスイッチにおいて出力ポートに競合が生ずると、データ転送レートが低下する。図26は、PCI Expressスイッチにおいて4つの入力ポートに対して出力ポートが1つで競合が生ずる条件下で、種類の異なる4つのトラフィックを同時に開始させ、転送速度に応じてデータ転送が順に終了していく場合の特性を示したグラフである。図において、横軸は転送時間、縦軸は各ポートのデータ転送量(積算値)であり、各グラフの傾きが転送レートを示している。なお、なお、ペイロードサイズ(パケットデータ全体のサイズのうち、ヘッダ情報以外のデータ部分のサイズを意味する)は、4種類とも64byte固定の条件での測定例とする。また、データ転送のアルゴリズムは、PCI Express規格におけるウエイテッドラウンドロビン(WRR)であり、4種類に関して1:2:4:8の比率でデータ転送させるように設定した場合の特性例を示し、1つのトラフィッククラスのデータ転送が終了すると、残りのトラフィッククラスについて8:4:2、さらには、8:4の如く、比率を変遷させながらデータ転送させるアルゴリズムである。
[Discussion about effects]
First, consider the effect of switch output port contention. When a conflict occurs in the output port in the PCI Express switch, the data transfer rate is lowered. In FIG. 26, under the condition that there is one output port for four input ports in the PCI Express switch, four different types of traffic are started at the same time, and data transfer is completed in order according to the transfer rate. It is the graph which showed the characteristic in the case of going. In the figure, the horizontal axis represents the transfer time, the vertical axis represents the data transfer amount (integrated value) of each port, and the slope of each graph represents the transfer rate. It should be noted that the payload size (meaning the size of the data portion other than the header information out of the total packet data size) is a measurement example under the condition that all four types are fixed to 64 bytes. The data transfer algorithm is a weighted round robin (WRR) in the PCI Express standard, and shows an example of characteristics when data transfer is set at a ratio of 1: 2: 4: 8 for four types. When the data transfer of one traffic class is completed, the algorithm is to transfer data while changing the ratio, such as 8: 4: 2 and further 8: 4 for the remaining traffic classes.

図26では、左側から順に、4つの転送が競合、3つの転送が競合、2つの転送が競合、競合なしと変遷しているのが判る。ここに、競合するトラフィックの数が減るに従って、各々のグラフの傾き、即ち、転送レートが急峻となり、データ転送レートが向上するのが判る。この点、前述したような本実施の形態によれば、エンドポイント21A〜21Dの上流側ポートに関して、スイッチの出力ポートに競合が生じないように、選択すべきポートを決定しているので、データ転送レートを向上させ得るのが判る。   In FIG. 26, it can be seen that, from the left side, four transfers are in conflict, three transfers are in conflict, two transfers are in conflict, and there is no conflict. Here, it can be seen that as the number of competing traffics decreases, the slope of each graph, that is, the transfer rate becomes steep, and the data transfer rate improves. In this regard, according to the present embodiment as described above, since the ports to be selected are determined so that the upstream ports of the endpoints 21A to 21D do not compete with the output ports of the switches, the data It can be seen that the transfer rate can be improved.

次に、経由するスイッチの段数の影響について考察する。データを一定量ずつ区切って転送する場合(例えば、画像形成システム中のプロッタに対して、画像データを主走査方向の1ラインずつに区切って転送する場合など)、パケットデータが発信元から送信先へ到達する、初期遅延の影響が経由するスイッチ段数とともに大きくなる。   Next, consider the effect of the number of switch stages. When data is divided and transferred by a certain amount (for example, when image data is transferred to a plotter in the image forming system by dividing it into one line in the main scanning direction), the packet data is transmitted from the transmission source to the transmission destination. The influence of the initial delay that reaches the point becomes larger with the number of switch stages through which it passes.

図27は、データ転送経路において、経由するスイッチの個数(段数)をパラメータとして、ペイロードサイズと転送レートとの関係を示したグラフであり、経由するスイッチの個数(段数)の転送レートに対する影響が判る。図では、上から順に、タイミング制約なし、スイッチが1段で遅延構造1,2,3、スイッチが2段で遅延構造1,2,3、スイッチが3段で遅延構造1,2,3、スイッチが4段で遅延構造1,2,3、スイッチが5段で遅延構造1,2,3の場合を各々示している。経由するスイッチの段数が1段増える毎に、パケット転送の遅延時間が加算され、その遅延はパケットデータのサイズが大きいほど、大きな遅延が発生してしまう。このため、データ転送経路上に複数段のスイッチが存在すると、1つのパケットで送るデータのサイズが大きくなるほど、データ転送レートが低下してしまうのが判る。この点、前述したような本実施の形態によれば、エンドポイント21A〜21Dの上流側ポートに関して、経由するスイッチ3の段数が最小となるように、選択すべきポートを決定しているので、データ転送レートの低下を抑制し得るのが判る。   FIG. 27 is a graph showing the relationship between the payload size and the transfer rate using the number of switches (number of stages) passed in the data transfer path as a parameter, and the effect of the number of switches (number of stages) passed on the transfer rate. I understand. In the figure, in order from the top, there is no timing constraint, the switch has one stage, the delay structures 1, 2, 3, the switch has two stages, the delay structures 1, 2, 3, the switch has three stages, and the delay structures 1, 2, 3, The case where there are four stages of delay structures 1, 2, 3 and five switches of delay structures 1, 2, 3 is shown. Each time the number of switches passing through increases by one, the packet transfer delay time is added. The larger the packet data size, the greater the delay. For this reason, it can be seen that when there are a plurality of stages of switches on the data transfer path, the data transfer rate decreases as the size of data transmitted in one packet increases. In this regard, according to the present embodiment as described above, the ports to be selected are determined so as to minimize the number of stages of the switch 3 through which the upstream ports of the end points 21A to 21D pass. It can be seen that a decrease in data transfer rate can be suppressed.

既存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 principle schematic diagram showing a specific example in the case of an image forming system. 各エンドポイントの構成例を示す概略ブロック図である。It is a schematic block diagram which shows the structural example of each endpoint. システム起動時にリンクアップした状態のツリー構造例を示す原理的な模式図である。It is a principle schematic diagram which shows the example of a tree structure of the state linked up at the time of system starting. 初期設定状態のままではスイッチにおいてポート競合が生ずる動作モード例を示す原理的な模式図である。It is a principle schematic diagram showing an example of an operation mode in which port contention occurs in the switch in the initial setting state. 実際のデータ転送前に再リンクアップした状態のツリー構造例を示す原理的な模式図である。It is a principle schematic diagram which shows the example of a tree structure of the state re-linked up before actual data transfer. 再リンクアップされたツリー構造下での動作モード例を示す原理的な模式図である。It is a principle schematic diagram which shows the example of an operation mode under the tree structure re-linked up. CPUにより実行される動作制御例の概略フローチャートである。It is a schematic flowchart of the example of operation control performed by CPU. 各エンドポイントにおける動作例を示す概略フローチャートである。It is a schematic flowchart which shows the operation example in each endpoint. システム起動時にリンクアップした状態のツリー構造例を示す原理的な模式図である。It is a principle schematic diagram which shows the example of a tree structure of the state linked up at the time of system starting. 再リンクアップされたツリー構造下での動作モード例を示す原理的な模式図である。It is a principle schematic diagram which shows the example of an operation mode under the tree structure re-linked up. PCI Expressスイッチにおいて種類の異なる4つのトラフィックを同時に開始させ、転送速度に応じてデータ転送が順に終了していく場合の特性を示したグラフである。4 is a graph showing characteristics when four different types of traffic are simultaneously started in a PCI Express switch, and data transfer is sequentially terminated according to the transfer rate. データ転送経路において、経由するスイッチの個数(段数)をパラメータとして、ペイロードサイズと転送レートとの関係を示したグラフである。6 is a graph showing the relationship between the payload size and the transfer rate, with the number of switches (number of stages) passing through the data transfer path as a parameter. 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

1 ポート選択手段
2A〜2C スイッチ
11〜13 デバイス
21 エンドポイント
22 上流ポート
23 ポート選択手段
29 メモリ
30 更新手段
A〜C エンドポイント
DESCRIPTION OF SYMBOLS 1 Port selection means 2A-2C Switch 11-13 Device 21 End point 22 Upstream port 23 Port selection means 29 Memory 30 Update means A-C Endpoint

Claims (10)

木構造によるデータ通信網として送受信独立の通信チャネルが確立されるデータ転送システムであって、
記木構造における第1のエンドポイント上流側に位置する第1のスイッチと通信可能な第1のポートおよび上流側に位置する第2のスイッチと通信可能な第2のポートを有するとともに、当該木構造における第2のエンドポイントは上流側に位置する前記第1のスイッチと通信可能な第3のポートおよび上流側に位置する前記第2のスイッチと通信可能な第4のポートを有し、
前記第1のエンドポイントは、動作モードに応じて前記第1のポートまたは前記第2のポートのうちのいずれか1つのポートを選択する第1のポート選択手段を有し、前記第2のエンドポイントは、動作モードに応じて前記第3のポートまたは前記第4のポートのうちのいずれか1つのポートを選択する第2のポート選択手段を有する、
ことを特徴とするデータ転送システム。
A communication channel transmission received independently by a data communications network according to a tree structure is established Lud over data transfer system,
With the first endpoint before Symbol tree having a first switch and a second port capable of communicating with a second switch located on the first port and the upstream communicable positioned upstream, The second end point in the tree structure has a third port that can communicate with the first switch located on the upstream side and a fourth port that can communicate with the second switch located on the upstream side. ,
The first endpoint has a first port selection means for selecting either one of the ports of the first port or the second port in response to the operating mode, the The second endpoint has second port selection means for selecting any one of the third port and the fourth port according to an operation mode .
A data transfer system characterized by that.
当該データ転送システムがPCI Expressシステムである、ことを特徴とする請求項1記載のデータ転送システム。 The data transfer system according to claim 1, wherein the data transfer system is a PCI Express system. 前記第1のポート選択手段および前記第2のポート選択手段は、リンクのリセット時に選択するポートのポート選択情報を書き換え自在に記憶するメモリを有し、
前記第1のエンドポイントおよび前記第2のエンドポイントは、ポート選択情報を含むメッセージパケットの受信により前記メモリ上のポート選択情報を書き換え更新する更新手段を有し、
当該データ転送システムを管理するコンピュータは、当該データ転送システムの起動時に前記第1のエンドポイントおよび前記第2のエンドポイントを初期設定で前記メモリ上に指定されたポート選択情報に従いポートが選択された状態でリンクアップして初期状態の木構造を取得するとともに前記第1のエンドポイントおよび前記第2のエンドポイントに対するコンフィグレーションにより前記第1のエンドポイントおよび前記第2のエンドポイントのデバイス機能と必要なデータ転送性能とを特定する初期化手段と、特定されたデバイス機能と必要なデータ転送性能とを参照し当該データ転送システムの動作モードに応じて最適となる前記第1のエンドポイントおよび前記第2のエンドポイントのポートを決定する決定手段と、決定されたポート選択情報を含むメッセージパケットを対象となる前記第1のエンドポイントおよび前記第2のエンドポイントの前記更新手段に通知して前記メモリ上のポート選択情報を書換え更新させる通知手段と、当該通知後に当該データ転送システムをリセットし書換え更新された前記メモリ上で指定されるポート選択情報に従い前記第1のエンドポイントおよび前記第2のエンドポイントのポートが選択された状態で再リンクアップさせる再リンクアップ手段と、を有し、
当該データ転送システムの再リンクアップ後に動作モードに従いデータ転送を開始させるようにした、ことを特徴とする請求項1又は2記載のデータ転送システム。
It said first port selecting means and the second port selection unit has a memory for rewritably storing port selection information Lupolen over preparative select at reset link,
The first endpoint and the second endpoint have update means for rewriting and updating the port selection information on the memory by receiving a message packet including port selection information,
Computer, the data transfer system when starting the first endpoint and the second slave endpoints to port selection information specified on the memory by default Ipoh over you want to manage the data transfer system Link up to obtain an initial state tree structure, and configure the first endpoint and the second endpoint according to the configuration for the first endpoint and the second endpoint . The first end which is optimized according to the operation mode of the data transfer system with reference to the specified device function and the required data transfer performance with reference to the specified device function and the required data transfer performance. a point and determining means for determining a port of the second endpoint is determined A notification unit which notifies the updating unit of the first endpoint and the second endpoint of the target message packet is rewritten updated port selection information on said memory including a port selection information, after the notification re relink up in a state in which port of the data transfer system reset rewriting the accordance port selection information specified in the updated on the memory first endpoint and the second endpoint is selected Link-up means,
And so as to start data transfer in accordance with the operation mode after re linkup of the data transfer system, data transfer system according to claim 1 or 2, wherein the.
前記決定手段は、当該データ転送システム内で複数の独立したデータ転送を並行して処理する動作モードの場合に、前記第1のスイッチまたは前記第2のスイッチを通るデータ転送経路に競合が生じないように、前記第1のポート選択手段が選択して使用する1つのポートおよび前記第2のポート選択手段が選択して使用する1つのポートを決定する、ことを特徴とする請求項記載のデータ転送システム。 In the operation mode in which a plurality of independent data transfers are processed in parallel in the data transfer system, the determination unit does not cause a conflict in the data transfer path passing through the first switch or the second switch. claim way, to determine a single port in which one port and said second port selecting means, wherein the first port selecting means selects and uses is selected and used, it is characterized by 3. The data transfer system according to 3 . 前記決定手段は、経由するスイッチの段数が最小となるように、前記第1のポート選択手段が選択して使用する1つのポートおよび前記第2のポート選択手段が選択して使用する1つのポートを決定する、ことを特徴とする請求項又は記載のデータ転送システム。 It said determination means, as the number of stages through to absence switch is minimized, one port and said second port selecting means, wherein the first port selecting means selects and uses the selected data transfer system according to claim 3 or 4, wherein determining one of the ports to be used, it is characterized. 請求項1ないし5の何れか一記載のデータ転送システムは、前記第1のエンドポイントおよび前記第2のエンドポイントを画像形成に関与するデバイスとすることを特徴とする画像形成システム。 6. The data transfer system according to claim 1, wherein the first endpoint and the second endpoint are devices involved in image formation. 木構造によるデータ通信網として送受信独立の通信チャネルが確立され、記木構造における第1のエンドポイントが上流側に位置する第1のスイッチと通信可能な第1のポートおよび上流側に位置する第2のスイッチと通信可能な第2のポートを有するとともに、当該木構造における第2のエンドポイントが上流側に位置する前記第1のスイッチと通信可能な第3のポートおよび上流側に位置する前記第2のスイッチと通信可能な第4のポートを有するデータ転送システムを利用するデータ転送方法であって、
前記第1のエンドポイントが、動作モードに応じて前記第1のポートまたは前記第2のポートのうちのいずれか1つのポートを選択し、前記第2のエンドポイントが、動作モードに応じて前記第3のポートまたは前記第4のポートのうちのいずれか1つのポートを選択する
ことを特徴とするデータ転送方法。
Communication channel transmission received independently by a data communications network according to a tree structure is established, prior Symbol first switch and the first port and the upstream communicable to the first endpoint is located upstream in the tree structure A second port communicable with the second switch located at the second side, and a third port and upstream side capable of communicating with the first switch located at the upstream side of the second end point in the tree structure A data transfer method using a data transfer system having a fourth port capable of communicating with the second switch located in
The first endpoint, in response to the operating mode select one of the ports of the first port or the second port, the second endpoint, the operating mode Selecting one of the third port and the fourth port according to
A data transfer method characterized by the above.
前記データ転送システムがPCI Expressシステムである、ことを特徴とする請求項7記載のデータ転送方法。 The data transfer method according to claim 7, wherein the data transfer system is a PCI Express system. 前記データ転送システム内で複数の独立したデータ転送を並行して処理する動作モードの場合に、前記第1のエンドポイントおよび前記第2のエンドポイントにおいて前記第1のスイッチまたは前記第2のスイッチを通るデータ転送経路に競合が生じないように、前記第1のエンドポイントが選択して使用する1つのポートおよび前記第2のエンドポイントが選択して使用する1つのポートを決定するようにした、ことを特徴とする請求項7又は8記載のデータ転送方法。 In the case of the operation mode for processing in parallel a plurality of independent data transfers in the data transfer system, the first switch or the second switch in the first endpoint and the second endpoint of the through so that the data transfer path to the conflict does not occur, so as to determine a single port in which one port and the second endpoint of the first endpoint is selected and used to select and use 9. The data transfer method according to claim 7, wherein the data transfer method is performed. 経由するスイッチの段数が最小となるように、前記第1のエンドポイントが選択して使用する1つのポートおよび前記第2のエンドポイントが選択して使用する1つのポートを決定するようにした、ことを特徴とする請求項7,8又は9記載のデータ転送方法。 As the number of stages through to absence switch is minimized, determining one of the ports one port and the second endpoint of the first endpoint is selected and used to select and use 10. The data transfer method according to claim 7, 8 or 9, wherein the data transfer method is performed.
JP2004324555A 2003-11-11 2004-11-09 Data transfer system, image forming system, and data transfer method Expired - Fee Related JP4603335B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004324555A JP4603335B2 (en) 2003-11-11 2004-11-09 Data transfer system, image forming system, and data transfer method
US11/125,207 US20060114918A1 (en) 2004-11-09 2005-05-10 Data transfer system, data transfer method, and image apparatus system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003381191 2003-11-11
JP2004324555A JP4603335B2 (en) 2003-11-11 2004-11-09 Data transfer system, image forming system, and data transfer method

Publications (2)

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

Family

ID=34741631

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004324555A Expired - Fee Related JP4603335B2 (en) 2003-11-11 2004-11-09 Data transfer system, image forming system, and data transfer method

Country Status (1)

Country Link
JP (1) JP4603335B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4824422B2 (en) * 2005-08-30 2011-11-30 株式会社リコー Control device, image processing system, and data transfer path switching method
JP4782591B2 (en) * 2006-03-10 2011-09-28 富士通セミコンダクター株式会社 Reconfigurable circuit
JP4878185B2 (en) * 2006-03-17 2012-02-15 株式会社リコー Data communication circuit and arbitration method
US7529860B2 (en) * 2006-12-19 2009-05-05 International Business Machines Corporation System and method for configuring an endpoint based on specified valid combinations of functions
JP5111236B2 (en) * 2008-05-22 2013-01-09 株式会社日立製作所 Data transfer system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000194649A (en) * 1998-12-28 2000-07-14 Toshiba Corp Method and apparatus for electronic device connection
JP2000209287A (en) * 1999-01-20 2000-07-28 Fujitsu Ltd Network system
JP2001016382A (en) * 1999-04-27 2001-01-19 Ricoh Co Ltd Digital copying machine and digital copying machine system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000194649A (en) * 1998-12-28 2000-07-14 Toshiba Corp Method and apparatus for electronic device connection
JP2000209287A (en) * 1999-01-20 2000-07-28 Fujitsu Ltd Network system
JP2001016382A (en) * 1999-04-27 2001-01-19 Ricoh Co Ltd Digital copying machine and digital copying machine system

Also Published As

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

Similar Documents

Publication Publication Date Title
JP5108261B2 (en) Information processing apparatus and data communication apparatus
JP4928732B2 (en) Data transfer system and electronic device
JP4878185B2 (en) Data communication circuit and arbitration method
US7813362B2 (en) Communication apparatus, electronic apparatus, imaging apparatus
US20060114918A1 (en) Data transfer system, data transfer method, and image apparatus system
JP4564855B2 (en) Data transfer system and electronic device
JP2007087082A (en) Information processor and option device sharing method
JP2008172727A (en) Control apparatus and image processing system
JP4308680B2 (en) Image forming apparatus
JP4287325B2 (en) Imaging system
JP4928715B2 (en) Serial data transfer device, image output device, image input device, and image forming device
JP4777723B2 (en) Information processing system, program, and data transfer method
JP4564740B2 (en) Imaging equipment system
JP4603335B2 (en) Data transfer system, image forming system, and data transfer method
JP2006092286A (en) Data transfer device and image forming system
JP4603336B2 (en) Data transfer system, image forming system, and data transfer method
JP5176764B2 (en) Data communication system, image processing system, and data communication method
JP5218377B2 (en) Image forming system
JP4476088B2 (en) Data transfer apparatus and image forming system
JP2005354658A (en) Image formation system
JP2007226494A (en) Data transfer system
JP4271558B2 (en) Data transfer system, image forming system, and data transfer program
JP2007282187A (en) Information processor, information processing system, and data communication method
JP4824422B2 (en) Control device, image processing system, and data transfer path switching method
JP2007241882A (en) Data communication device, and image forming system

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20051021

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071031

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20080111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100518

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100716

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100928

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101001

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

Free format text: PAYMENT UNTIL: 20131008

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees