JP2007241882A - Data communication device, and image forming system - Google Patents
Data communication device, and image forming system Download PDFInfo
- Publication number
- JP2007241882A JP2007241882A JP2006066363A JP2006066363A JP2007241882A JP 2007241882 A JP2007241882 A JP 2007241882A JP 2006066363 A JP2006066363 A JP 2006066363A JP 2006066363 A JP2006066363 A JP 2006066363A JP 2007241882 A JP2007241882 A JP 2007241882A
- Authority
- JP
- Japan
- Prior art keywords
- data
- virtual channel
- data communication
- virtual
- communication apparatus
- 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.)
- Pending
Links
Images
Landscapes
- Information Transfer Systems (AREA)
- Facsimiles In General (AREA)
Abstract
Description
本発明は、データ通信装置および画像形成システムに関する。 The present invention relates to a data communication apparatus and an image forming system.
一般に、画像データその他のデータを扱うデジタル複写機、複合機(MFP)等の情報処理装置では、デバイス間のインタフェースにPCIバスが使用されている。しかし、パラレル方式のPCIバスでは、レーシングやスキューなどの問題があり、高速・高画質の画像形成装置に使用するには、転送レートが低い段階にきており、最近では、PCIバスのようなパラレル方式のインタフェースに代えて、IEEE1394やUSB等の高速シリアルインタフェースの使用が検討されている。例えば、特許文献1によれば、内部インタフェースとして、IEEE1394やUSB等の高速シリアルインタフェースを使用することが提案されている。
In general, in an information processing apparatus such as a digital copying machine or a multifunction peripheral (MFP) 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 forming apparatuses. The use of a high-speed serial interface such as IEEE1394 or USB is being considered in place of the parallel interface. For example, according to
このような高速シリアルインタフェース上で画像データとコマンドデータを分離して転送する手法としては、IEEE1394規格やUSB規格で定められたIsochronous転送モードとasynchronous転送モードを利用する方法がある。 As a method of separately transferring image data and command data on such a high-speed serial interface, there is a method of using an isochronous transfer mode and an asynchronous transfer mode defined by the IEEE1394 standard or the USB standard.
しかしながら、Isochronous転送モードとasynchronous転送モードを利用してトラフィックを分離する手法では、複数の画像データがある場合などに、画像データ間での優先順位を設定することが困難である。 However, in the method of separating traffic using the isochronous transfer mode and the asynchronous transfer mode, it is difficult to set the priority order between the image data when there are a plurality of image data.
また、他の高速シリアルインタフェースとして、PCIバス方式の後継規格に当るPCI Express(登録商標)なるインタフェースも提案され、実用化の段階にきている(例えば、非特許文献1参照)。このPCI Expressシステムは、概略的には、例えば非特許文献1中の図1等に示されるようなルートコンプレックス−スイッチ(任意階層)−デバイス等のツリー構造(木構造)によるデータ通信網として構成されている。 As another high-speed serial interface, an interface called PCI Express (registered trademark), which is a successor to the PCI bus system, has been proposed and has been put to practical use (for example, see Non-Patent Document 1). This PCI Express system is schematically configured as a data communication network having a tree structure (tree structure) such as a root complex-switch (arbitrary hierarchy) -device as shown in FIG. Has been.
このようなPCI Express規格によれば、シリアルバスを仮想チャネル(Virtual Channel)単位で時分割に使い分けることで複数トラフィックのパケットデータを伝送する仮想チャネル機能と、仮想チャネル毎にパケットデータを発行する優先度を調停するアービトレーション機能とを有しており、シリアルバスを用いてデータ転送の優先度が異なる複数トラフィックのパケットデータを同時転送させたい場合に、転送レートの調整が可能となっている。 According to the PCI Express standard, a virtual channel function that transmits packet data of multiple traffic by using a serial bus in a time-sharing manner in units of virtual channels (Virtual Channel) and priority to issue packet data for each virtual channel It has an arbitration function that adjusts the speed, and when it is desired to simultaneously transfer packet data of a plurality of traffics having different data transfer priorities using a serial bus, the transfer rate can be adjusted.
より詳細には、PCI Express規格の仮想チャネルのアービトレーションのアルゴリズムでは、仮想チャネルVC毎に均等な頻度でパケットデータを発行させるラウンドロビン(Round Robin)方式、仮想チャネルVC毎に任意に指定可能なテーブルに従った重み付けされた頻度でパケットデータを発行させるウエイテッドラウンドロビン(Weighted Round robin)方式、仮想チャネルVC毎に固定の優先順でパケットデータを発行させるストリクト(Strict)方式があり、シリアルバス上に転送するパケットを、トランザクション単位で優先度の調整が可能である。 More specifically, in the arbitration algorithm of the virtual channel of the PCI Express standard, a round robin (Round Robin) method for issuing packet data at an equal frequency for each virtual channel VC, a table that can be arbitrarily designated for each virtual channel VC There are weighted round robin (Weighted Round robin) method that issues packet data at a weighted frequency according to the standard, and strict method that issues packet data in a fixed priority order for each virtual channel VC. It is possible to adjust the priority of the packet transferred to the transaction in units of transactions.
ところが、PCI Express規格で用意されている仮想チャネルを用いた場合でも、発生するトラフィックの性質(例えば、方向性や転送レートなど)を考慮せずに仮想チャネルの割当てを行うと、多数の仮想チャネルが必要となるという問題がある。 However, even when virtual channels prepared in the PCI Express standard are used, if virtual channels are allocated without considering the nature of generated traffic (for example, directionality and transfer rate), many virtual channels are used. There is a problem that is necessary.
本発明は、上記に鑑みてなされたものであって、必要最小限の仮想チャネルを用いて目的とする複数のパケットデータ間での優先順位を指定することができ、必要な情報を必要な時に送ることができるデータ通信装置および画像形成システムを提供することを目的とする。 The present invention has been made in view of the above, and it is possible to specify a priority order among a plurality of target packet data using a minimum necessary virtual channel, and to provide necessary information when necessary. It is an object of the present invention to provide a data communication apparatus and an image forming system that can send data.
上述した課題を解決し、目的を達成するために、請求項1にかかる発明のデータ通信装置は、シリアルバスを仮想チャネル単位で時分割に使い分けて複数トラフィックのパケットデータを伝送する仮想チャネル手段と、前記仮想チャネル毎に前記パケットデータを発行する優先度を調停するアービトレーション手段と、を有するデータ通信装置において、前記アービトレーション手段は、複数発行された前記各パケットデータのトラフィックの性質に基づいて前記仮想チャネルを割り当て、パケットデータが割り当てられた前記各仮想チャネルの優先順位を指定する。 In order to solve the above-described problems and achieve the object, a data communication apparatus according to a first aspect of the present invention includes virtual channel means for transmitting packet data of a plurality of traffic by using a serial bus in a time division manner in units of virtual channels. And an arbitration unit that arbitrates a priority for issuing the packet data for each virtual channel, wherein the arbitration unit is configured to perform the virtual communication based on traffic characteristics of each of the issued packet data. A channel is assigned and the priority of each virtual channel to which packet data is assigned is designated.
また、請求項2にかかる発明は、請求項1記載のデータ通信装置において、発生するトラフィックを画像データとシステム制御用のコマンドデータとに分類し、それぞれに対して前記仮想チャネルを割り当てる。 According to a second aspect of the present invention, in the data communication apparatus according to the first aspect, the generated traffic is classified into image data and command data for system control, and the virtual channel is assigned to each.
また、請求項3にかかる発明は、請求項2記載のデータ通信装置において、転送方向の異なる複数の前記画像データに対して同一の前記仮想チャネルを割り当てる。 According to a third aspect of the present invention, in the data communication apparatus according to the second aspect, the same virtual channel is allocated to a plurality of the image data having different transfer directions.
また、請求項4にかかる発明は、請求項2記載のデータ通信装置において、前記システム制御用のコマンドデータの転送に、デフォルトで使用可能な仮想チャネルを用いる。 According to a fourth aspect of the present invention, in the data communication apparatus according to the second aspect, a virtual channel that can be used by default is used for transferring the command data for system control.
また、請求項5にかかる発明は、請求項2記載のデータ通信装置において、前記システム制御用のコマンドデータの転送に、独立した仮想チャネルを用いる。 According to a fifth aspect of the present invention, in the data communication apparatus according to the second aspect, an independent virtual channel is used for transferring the command data for system control.
また、請求項6にかかる発明は、請求項2記載のデータ通信装置において、前記仮想チャネル間で、前記システム制御用のコマンドデータのデータ転送に用いる仮想チャネルに高い優先順位を与える。 According to a sixth aspect of the present invention, in the data communication apparatus according to the second aspect, a high priority is given to a virtual channel used for data transfer of the command data for system control between the virtual channels.
また、請求項7にかかる発明は、請求項2記載のデータ通信装置において、前記仮想チャネル間で、前記画像データのデータ転送に用いる仮想チャネルに高い優先順位を与える。 According to a seventh aspect of the present invention, in the data communication apparatus according to the second aspect, a high priority is given to a virtual channel used for data transfer of the image data between the virtual channels.
また、請求項8にかかる発明は、請求項1記載のデータ通信装置において、前記アービトレーション手段は、システム起動時に接続された機器および接続形態の情報を収集し、前記仮想チャネルの割り当てや前記仮想チャネル間の優先順位の設定を行う優先順位設手段を備える。 According to an eighth aspect of the present invention, in the data communication apparatus according to the first aspect, the arbitration means collects information on devices and connection forms connected when the system is started up, and assigns the virtual channel or the virtual channel. Priority order setting means for setting the priority order between them is provided.
また、請求項9にかかる発明は、請求項8記載のデータ通信装置において、前記アービトレーション手段は、異なる優先順位が予め設定されている複数のアービトレーションテーブルを有しており、前記優先順位設定手段からの指示によって前記アービトレーションテーブルを変更する。 The invention according to claim 9 is the data communication device according to claim 8, wherein the arbitration means includes a plurality of arbitration tables in which different priorities are set in advance. The arbitration table is changed according to the instruction.
また、請求項10にかかる発明の画像形成システムは、画像入力エンジンと、画像出力エンジンと、これらの前記画像入力エンジンおよび前記画像出力エンジンを制御駆動するコントローラと、これらのコントローラと前記画像入力エンジン並びに前記画像出力エンジンとの間を接続する請求項1ないし9の何れか一記載のデータ通信装置によるインタフェースと、を備える。
An image forming system according to a tenth aspect of the present invention includes an image input engine, an image output engine, a controller that controls and drives the image input engine and the image output engine, these controllers, and the image input engine. And an interface by the data communication apparatus according to any one of
請求項1にかかる発明によれば、複数発行された各パケットデータのトラフィックの性質に基づいて仮想チャネルを割り当て、パケットデータが割り当てられた各仮想チャネルの優先順位を指定することにより、必要最小限の仮想チャネルを用いて目的とする複数のパケットデータ間での優先順位を指定することができ、必要な情報を必要な時に送ることができるという効果を奏する。 According to the first aspect of the present invention, a virtual channel is allocated based on the traffic characteristics of a plurality of issued packet data, and the priority of each virtual channel to which the packet data is allocated is specified, so that the necessary minimum It is possible to specify a priority order among a plurality of target packet data using the virtual channel, and it is possible to send necessary information when necessary.
また、請求項2にかかる発明によれば、発生するトラフィックを画像データとシステム制御用のコマンドデータとに分類し、それぞれに対して仮想チャネルを割り当てることにより、高いデータ転送レートと等時性が要求されるトラフィック画像データと、データ量が少なく等時性の制約が弱いコマンドデータとの転送に、別の仮想チャネルを用いることができるという効果を奏する。
According to the invention of
また、請求項3にかかる発明によれば、転送方向の異なる複数の画像データに対して同一の仮想チャネルを割り当てることにより、例えばスキャナデータとプロッタデータとではトラフィックの方向依存性が異なり、逆方向のトラフィック間では仮想チャネル間のシリアルバスの競合が発生しないため、2本のトラフィックを1本の仮想チャネルにまとめて割り当てることで、双方が高い伝送性能を得ることができるとともに、必要となる仮想チャネルの数を減らすことができるという効果を奏する。
According to the invention of
また、請求項4にかかる発明によれば、システム制御用のコマンドデータの転送に、デフォルトで使用可能な仮想チャネルを用いることにより、新たにソフトウェアを追加する必要がなくなるという効果を奏する。
According to the invention of
また、請求項5にかかる発明によれば、システム制御用のコマンドデータの転送に、独立した仮想チャネルを用いることにより、画像データよりも必要とされる転送性能が低いコマンドチャネルがあれば、画像データ転送用とは別の仮想チャネルに割り当てることができるという効果を奏する。 According to the invention of claim 5, by using an independent virtual channel for transferring command data for system control, if there is a command channel having lower transfer performance required than image data, an image can be obtained. There is an effect that it can be assigned to a virtual channel different from that for data transfer.
また、請求項6にかかる発明によれば、仮想チャネル間で、システム制御用のコマンドデータのデータ転送に用いる仮想チャネルに高い優先順位を与えることにより、コマンドチャネルの重みを大きく設定すれば、仮想チャネルのコマンドデータが、画像データよりも優先されるという効果を奏する。 According to the invention of claim 6, if a high priority is given to a virtual channel used for data transfer of command data for system control between the virtual channels, and if the weight of the command channel is set large, the virtual channel There is an effect that the command data of the channel is prioritized over the image data.
また、請求項7にかかる発明によれば、仮想チャネル間で、画像データのデータ転送に用いる仮想チャネルに高い優先順位を与えることにより、データチャネルの重みを大きく設定すれば、データチャネルの画像データが、システム制御用のコマンドデータよりも優先されて、高い帯域を確保することができるという効果を奏する。 According to the seventh aspect of the present invention, if a high priority is given to the virtual channel used for data transfer of the image data between the virtual channels, and the weight of the data channel is set large, the image data of the data channel However, there is an effect that a high bandwidth can be secured with priority over the command data for system control.
また、請求項8にかかる発明によれば、システム起動時に接続された機器および接続形態の情報を収集し、仮想チャネルの割り当てや仮想チャネル間の優先順位の設定を行う優先順位設手段を備えることにより、動作中に仮想チャネル間の優先順位を変更することができるという効果を奏する。 The invention according to claim 8 further includes priority order setting means for collecting information on devices and connection forms connected when the system is started, and assigning virtual channels and setting priorities between virtual channels. As a result, the priority order between the virtual channels can be changed during operation.
また、請求項9にかかる発明によれば、異なる優先順位が予め設定されている複数のアービトレーションテーブルを有しており、優先順位設定手段からの指示によってアービトレーションテーブルを変更することにより、動作中に仮想チャネル間の優先順位を変更することができるという効果を奏する。 According to the ninth aspect of the present invention, there are a plurality of arbitration tables in which different priorities are set in advance, and by changing the arbitration table according to an instruction from the priority setting means, during operation, There is an effect that the priority order between the virtual channels can be changed.
また、請求項10にかかる発明によれば、複数発行された各パケットデータのトラフィックの性質に基づいて仮想チャネルを割り当て、パケットデータが割り当てられた各仮想チャネルの優先順位を指定することにより、必要最小限の仮想チャネルを用いて目的とする複数のパケットデータ間での優先順位を指定することができ、必要な情報を必要な時に送ることができるという効果を奏する。 According to the invention of claim 10, a virtual channel is allocated based on the traffic characteristics of each issued packet data, and the priority of each virtual channel to which the packet data is allocated is specified. It is possible to specify the priority order among a plurality of target packet data using the minimum virtual channel, and it is possible to send necessary information when necessary.
以下に添付図面を参照して、この発明にかかるデータ通信装置および画像形成システムの最良な実施の形態を詳細に説明する。 Exemplary embodiments of a data communication apparatus and an image forming system according to the present invention are explained in detail below with reference to the accompanying drawings.
[第1の実施の形態]
本発明の第1の実施の形態を図1ないし図18に基づいて説明する。以下では、PCI Expressの詳細について、[PCI Express規格の概要]〜[PCI Express のアーキテクチャの詳細]の欄で説明し、その後、本実施の形態のデータ通信装置および画像形成システムについて、[画像形成システム]の欄で説明する。
[First Embodiment]
A first embodiment of the present invention will be described with reference to FIGS. In the following, details of PCI Express will be described in the columns [Outline of PCI Express Standard] to [Details of Architecture of PCI Express], and then, regarding the data communication apparatus and the image forming system of the present embodiment, [Image Forming] This is described in the “System” column.
[PCI Express規格の概要]
まず、本実施の形態は高速シリアルバスの一つであるPCI Express(登録商標)を利用するものであり、本実施の形態の前提として当該PCI Express規格の概要について、非特許文献1の一部抜粋により説明する。ここに、高速シリアルバスとは、1本の伝送路を用いてシリアル(直列)伝送により高速(100Mbps程度以上)にデータをやり取りすることができるインタフェースを意味する。
[Outline of PCI Express standard]
First, this embodiment uses PCI Express (registered trademark), which is one of high-speed serial buses. As an assumption of this embodiment, an outline of the PCI Express standard is a part of
PCI Expressは、PCIの後継規格としてコンピュータ全般に通用する標準拡張バスとして規格化されたバスであり、概略的には、低電圧差動信号伝送、ポイントツーポイントで送受信独立の通信チャネル、パケット化されたスプリットトランザクション、リンク構成の違いによる高いスケーラビリティなどの特徴を持つ。 PCI Express is a standardized expansion bus that can be used for all computers as a successor to PCI. In general, low-voltage differential signal transmission, point-to-point independent communication channels, and packetization Split transactions and high scalability due to differences in link configuration.
図1に既存のPCIシステム、図2にPCI Expressシステムの各々の構成例を示す。既存のPCIシステムにあっては、CPU100やAGPグラフィックス101やメモリ102が接続されたホストブリッジ103に対して、PCI-X(PCIの上位互換規格)デバイス104a,104bがPCI-Xブリッジ105aを介して接続されたり、PCIデバイス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 an existing PCI system, PCI-X (PCI upward compatible standard)
これに対して、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
実際に想定される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,
即ち、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 component links in a one-to-one relationship (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
C.エンドポイント(End Point)
エンドポイント115は、タイプ00hのコンフィグレーション空間ヘッダを持つデバイス(具体的には、ブリッジ以外のデバイス)で、レガシーエンドポイントとPCI Expressエンドポイントとに分けられる。両者の大きな違いは、PCI ExpressエンドポイントはBAR(ベースアドレスレジスタ)でI/Oリソースを要求せず、このためI/Oリクエストを要求しない。また、PCI Expressエンドポイントは、ロックリクエストもサポートしていない。
C. End point
The endpoint 115 is a device having a configuration space header of type 00h (specifically, a device other than a bridge), and is divided into a legacy endpoint and a PCI Express endpoint. The major difference between the two is that the PCI Express endpoint does not request I / O 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 arrows indicate the PCI Express link 114 (or 126), and 142a to 142d indicate ports. Among these, the
E.PCI Express114e−PCIブリッジ119
PCI ExpressからPCI/PCI-Xへの接続を提供する。これにより、既存のPCI/PCI-XデバイスをPCI Expressシステム上で使用することができる。
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−1に示すように、プロトコルとシグナリングが密接に関連する構造であり階層という考え方はなかったが、PCI Expressでは、図7−2に示すように、一般的な通信プロトコルや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 there is no concept of hierarchy. In PCI Express, as shown in FIG. Like the standard communication protocol and InfiniBand, it has an independent hierarchical structure, and specifications are defined for each layer. In other words, a
PCI Expressのアーキテクチャの中心となるのは、トランザクション層153、データリンク層154、物理層155であり、各々図8を参照して説明する以下のような役割を持つ。
The core of the PCI Express architecture is a
A.トランザクション層153
トランザクション層153は、最上位に位置し、トランザクションレイヤパケット(TLP)の組み立て、分解機能を持つ。トランザクションレイヤパケット(TLP)は、リード/ライト、各種イベントといったトランザクションの伝達に用いられる。また、トランザクション層153は、トランザクションレイヤパケット(TLP)のためのクレジットを用いたフロー制御を行う。各層153〜155におけるトランザクションレイヤパケット(TLP)の概要を図9に示す(詳細は、後述する)。
The
B.データリンク層154
データリンク層154の主な役割は、エラー検出/訂正(再送)によりトランザクションレイヤパケット(TLP)のデータ完全性を保証することと、リンク管理である。データリンク層154間では、リンク管理やフロー制御のためのパケットのやり取りを行う。このパケットは、トランザクションレイヤパケット(TLP)と区別するために、データリンクレイヤパケット(DLLP)と呼ばれる。
B.
The main role of the
C.物理層155
物理層155は、ドライバ、入力バッファ、パラレル−シリアル/シリアル−パラレル変換器、PLL、インピーダンス整合回路といったインタフェース動作に必要な回路を含んでいる。また、論理的な機能としてインタフェースの初期化・保守の機能を持つ。物理層155は、データリンク層154/トランザクション層153を実際のリンクで使用される信号技術から独立させる役目も持っている。
The
なお、PCI Expressのハードウェア構成上、エンベデッド・クロックという技術を採用しており、クロック信号はなく、クロックのタイミングはデータ信号中に埋め込まれており、受信側でデータ信号のクロス・ポイントを基にクロックを抽出する方式とされている。 The PCI Express hardware configuration employs 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 cross-point of the data signal. The system extracts the clock.
[コンフィグレーション空間]
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 extended 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などがある。 Although various form factors (shapes) can be considered as PCI Express, examples of specific examples include an add-in card, a plug-in card (Express Card), and Mini PCI Express.
[PCI Express のアーキテクチャの詳細]
PCI Express のアーキテクチャの中心となっているトランザクション層153、データリンク層154、物理層155について、各々詳細に説明する。
[PCI Express architecture details]
The
A.トランザクション層153
トランザクション層153の主な役割は、前述したように、上位のソフトウェア層151と下位のデータリンク層154との間でトランザクションレイヤパケット(TLP)の組み立てと分解を行うことである。
The main role of the
a.アドレス空間とトランザクションタイプ
PCI Expressでは、従来のPCIでサポートされていたメモリ空間(メモリ空間とのデータ転送用)、I/O空間(I/O空間とのデータ転送用)、コンフィグレーション空間(デバイスのコンフィグレーションとセットアップ用)に加えて、メッセージ空間(PCI Expressデバイス間のインバンドでのイベント通知や一般的なメッセージ送信(交換)用…割り込み要求や確認は、メッセージを「仮想ワイヤ」として使用することにより伝達される)が追加され、4つのアドレス空間が定義されている。各々の空間に対してトランザクションタイプが定義されている(メモリ空間、I/O空間、コンフィグレーション空間は、リード/ライト、メッセージ空間は基本(ベンダ定義含む))。
a. Address space and transaction type
In PCI Express, memory space (for data transfer with memory space), I / O space (for data transfer with I / O space), and configuration space (device configuration and setup) supported by conventional PCI In addition to message space (in-band event notification between PCI Express devices and general message transmission (exchange) ... Interrupt requests and confirmations are communicated by using the message as a "virtual wire" And four address spaces are defined. Transaction types are defined for each space (memory space, I / O space, configuration space is read / write, and message space is basic (including vendor definition)).
b.トランザクションレイヤパケット(TLP)
PCI Expressは、パケット単位で通信を行う。図9に示したトランザクションレイヤパケット(TLP)のフォーマットにおいて、ヘッダのヘッダ長は3DW(DWはダブルワードの略;合計12バイト)又は4DW(16バイト)で、トランザクションレイヤパケット(TLP)のフォーマット(ヘッダ長とペイロードの有無)、トランザクションタイプ、トラフィッククラス(TC)、アトリビュートやペイロード長などの情報が含まれる。パケット内の最大ペイロード長は1024DW(4096バイト)である。
b. Transaction layer packet (TLP)
PCI Express performs communication in units of packets. In the transaction layer packet (TLP) format shown in FIG. 9, the header length of the header is 3DW (DW is an abbreviation of double word; total 12 bytes) or 4DW (16 bytes), and the transaction layer packet (TLP) format ( Information such as header length and presence / absence of payload), transaction type, traffic class (TC), attribute, and payload length are included. The maximum payload length in the packet is 1024 DW (4096 bytes).
ECRCは、エンドツーエンドのデータ完全性を保証するためのもので、トランザクションレイヤパケット(TLP)部分の32ビットCRCである。これは、スイッチ内部などでトランザクションレイヤパケット(TLP)にエラーが発生した場合、LCRC(リンクCRC)ではエラーを検出できないためである(エラーとなったTLPでLCRCが再計算されるため)。 ECRC is an end-to-end data integrity guarantee and is a 32-bit CRC of the transaction layer packet (TLP) portion. This is because when an error occurs in the transaction layer packet (TLP) inside the switch or the like, the LCRC (link CRC) cannot detect the error (because the LCRC is recalculated with the TLP in error).
リクエストは、完了パケットが不要なものと必要なものとがある。 Some requests do not require a completion packet, and some requests.
c.トラフィッククラス(TC)と仮想チャネル(VC)
上位のソフトウェアは、トラフィッククラス(TC)を使用することによりトラフィックの差別化(優先度をつける)を行うことができる。例えば、映像データをネットワークのデータよりも優先して転送する、といったことが可能となる。トラフィッククラス(TC)はTC0からTC7まで8つある。
c. Traffic class (TC) and virtual channel (VC)
Upper software can differentiate (prioritize) traffic by using a traffic class (TC). For example, video data can be transferred with priority over network data. There are eight traffic classes (TC) from TC0 to TC7.
仮想チャネル(VC:Vertual Channel)は、各々独立した仮想通信バス(同一のリンクを共用する複数の独立したデータ・フロー・バッファを使用するメカニズム)で、各々がリソース(バッファやキュー)を持ち、図11に示すように、独立したフロー制御を行う。これにより、1つの仮想チャネルのバッファが満杯の状態(full)になっても、他の仮想チャネルの転送を行うことができる。つまり、物理的には1つのリンクを仮想的な複数のチャネルに分けることで、有効に使用することができる。例えば、図11中に示すように、スイッチを経由してルートのリンクが複数のデバイスに分かれる場合、各デバイスのトラフィックの優先度を制御することができる。VC0は必須で、コストパフォーマンスのトレードオフに応じてその他の仮想チャネル(VC1〜VC7)が実装される。図11中の実線矢印は、デフォルト仮想チャネル(VC0)を示し、破線矢印はその他の仮想チャネル(VC1〜VC7)を示している。 A virtual channel (VC) is an independent virtual communication bus (a mechanism that uses a plurality of independent data flow buffers sharing the same link), each having resources (buffers and queues) As shown in FIG. 11, independent flow control is performed. Thereby, even if the buffer of one virtual channel becomes full (full), the transfer of another virtual channel can be performed. In other words, it can be effectively used 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 in order to avoid 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 (mechanism to check the buffer availability on the receiving side before starting data transfer and prevent overflow and underflow). That is, the receiving side notifies the transmitting side of the buffer capacity (credit value) at the time of link initialization, and the transmitting side compares the credit value with the length of the packet to be transmitted, and transmits the packet only when there is a certain remaining. There are six types of credits.
フロー制御の情報交換はデータリンク層のデータリンクレイヤパケット(DLLP)を使用して行われる。フロー制御はトランザクションレイヤパケット(TLP)のみに適用され、データリンクレイヤパケット(DLLP)には適用されない(DLLPは常時送受信可能)。 Flow control information exchange is performed using data link layer packets (DLLP) in the data link layer. The flow control is applied only to the transaction layer packet (TLP) and not to the data link layer packet (DLLP) (DLLP can always be transmitted / received).
B.データリンク層154
データリンク層154の主な役割は、前述したように、リンク上の2つのコンポーネント間での信頼性の高いトランザクションレイヤパケット(TLP)交換機能を提供することである。
B.
The main role of the
a.トランザクションレイヤパケット(TLP)の扱い
トランザクション層153から受け取ったトランザクションレイヤパケット(TLP)に対しては、先頭に2バイトのシーケンス番号、末尾に4バイトのリンクCRC(LCRC)を付加して、物理層155に渡す(図9参照)。トランザクションレイヤパケット(TLP)は、リトライバッファに保管され、相手から受信確認(ACK)が届くまで再送される。トランザクションレイヤパケット(TLP)の送信に失敗が続いた場合は、リンク異常であると判断して物理層155に対してリンクの再トレーニングを要求する。リンクのトレーニングが失敗した場合、データリンク層154の状態はインアクティブに遷移する。
a. Handling of transaction layer packet (TLP) For the transaction layer packet (TLP) received from the
物理層155から受け取ったトランザクションレイヤパケット(TLP)は、シーケンス番号とリンクCRC(LCRC)が検査され、正常であればトランザクション層153に渡され、エラーがあった場合は再送を要求する。
The transaction layer packet (TLP) received from the
b.データリンクレイヤパケット(DLLP)
トランザクションレイヤパケット(TLP)は、物理層から送信されるときに自動的に図12に示すようなデータリンクレイヤパケット(DLLP)に分割されて各レーンに送信される。データリンク層154が生成するパケットは、データリンクレイヤパケット(DLLP)と呼ばれ、データリンク層154間でやり取りされる。データリンクレイヤパケット(DLLP)には、
・Ack/Nak:TLPの受信確認、リトライ(再送)
・InitFC1/InitFC2/UpdateFC:フロー制御の初期化とアップデート
・電源管理のためのDLLP
なる種類がある。
b. Data link layer packet (DLLP)
The transaction layer packet (TLP) is automatically divided into data link layer packets (DLLP) as shown in FIG. 12 and transmitted to each lane when transmitted from the physical layer. A packet generated by the
-Ack / Nak: TLP reception confirmation, retry (retransmission)
-InitFC1 / InitFC2 / UpdateFC: Flow control initialization and update-DLLLP for power management
There are different types.
図12に示すように、データリンクレイヤパケット(DLLP)の長さは6バイトで、種類を示すDLLPタイプ(1バイト)、DLLPの種類で固有の情報(3バイト)、CRC(2バイト)から構成される。 As shown in FIG. 12, the length of the data link layer packet (DLLP) is 6 bytes. From the DLLP type (1 byte) indicating the type, the information specific to the type of DLLP (3 bytes), and CRC (2 bytes) Composed.
C.物理層−論理サブブロック156
図8中に示す物理層155の論理サブブロック156での主な役割は、データリンク層154から受け取ったパケットを電気サブブロック157で送信できる形式に変換することである。また、物理層155を制御/管理する機能も有する。
C. Physical layer-
The main role of the
a.データ符号化とパラレル−シリアル変換
PCI Expressは、連続した“0”や“1”が続かないように(長い期間、クロス・ポイントが存在しない状態が続かないようにするため)、データ符号化に8B/10B変換を用いる。変換されたデータは、図13中に示すように、シリアル変換され、LSBからレーン上に送信される。ここに、レーンが複数ある場合は(図13はx4リンクの場合を例示している)、符号化の前にデータがバイト単位で各レーンに割り振られる。この場合、一見パラレル・バスのようにみえるが、レーン毎に独立した転送を行うので、パラレル・バスで問題となるスキューが大幅に緩和される。
a. Data encoding and parallel-serial conversion
PCI Express uses 8B / 10B conversion for data encoding so that consecutive “0” s and “1” s do not continue (in order not to maintain a state where there is no cross point for a long period of time). The converted data is serial-converted and transmitted from the LSB onto the lane as shown in FIG. Here, when there are a plurality of lanes (FIG. 13 illustrates the case of x4 link), data is allocated to each lane in units of bytes before encoding. In this case, it looks like a parallel bus at first glance, but since the transfer is performed independently for each lane, the skew which is a problem with the parallel bus is greatly reduced.
b.電源管理とリンクステート
リンクの消費電力を低く抑えるために、図14に示すように、L0/L0s/L1/L2というリンクステートが定義されている。
b. Power Management and Link State In order to keep the power consumption of the link low, a link state of L0 / L0s / L1 / L2 is defined as shown in FIG.
L0が通常モードで、L0sからL2へと低消費電力となるが、L0への復帰にも時間がかかるようになる。図15に示すように、ソフトウェアによる電源管理に加えて、アクティブステート電源管理を積極的に行うことにより、消費電力を極力小さくすることが可能となる。 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. 15, by actively performing active state power management in addition to software power management, it is possible to reduce power consumption as much as possible.
D.物理層−電気サブブロック157
物理層155の電気サブブロック157での主な役割は、論理サブブロック156でシリアル化されたデータをレーン上に送信することと、レーン上のデータを受信して論理サブブロック156に渡すことである。
D. Physical layer—
The main role of the
a.ACカップリング
リンクの送信側では、ACカップリング用のコンデンサが実装される。これにより、送信側と受信側のDCコモンモード電圧が同一である必要がなくなる。このため、送信側と受信側で異なる設計、半導体プロセス、電源電圧を使用することが可能となる。
a. AC coupling On the transmission side of the link, a capacitor for AC coupling is mounted. This eliminates the need for the DC common mode voltage on the transmission side and the reception side to be the same. For this reason, it is possible to use different designs, semiconductor processes, and power supply voltages on the transmission side and the reception side.
b.デエンファシス
PCI Expressでは、前述したように、8B/10Bエンコーディングによってできるだけ連続した“0”や“1”が続かないように処理されるが、連続した“0”や“1”が続くこともある(最大5回)。この場合、送信側はデエンファシス転送を行わなければならないことが規定されている。同一極性のビットが連続する場合は、2つ目のビットからは差動電圧レベル(振幅)を3.5±0.5dB落とすことで、受信側で受け取る信号のノイズ・マージンを稼ぐ必要がある。これを、デエンファシスという。伝送路の周波数依存性減衰のため、変化するビットの場合は高周波成分が多く、減衰により受信側の波形が小さくなるが、変化しないビットの場合は高周波成分が少なく、相対的に受信側の波形が大きくなる。このため、受信側での波形を一定とするためにデエンファシスを行う。
b. De-emphasis
In PCI Express, as described above, processing is performed so that continuous “0” and “1” do not continue as much as possible by 8B / 10B encoding, but continuous “0” and “1” may continue (maximum). 5 times). In this case, it is specified that the transmission side must perform de-emphasis transfer. When bits of the same polarity are consecutive, it is necessary to increase the noise margin of the signal received on the receiving side by dropping the differential voltage level (amplitude) from the second bit by 3.5 ± 0.5 dB. . This is called de-emphasis. Due to the frequency-dependent attenuation of the transmission line, there are many high-frequency components in the case of changing bits, and the waveform on the receiving side becomes small due to attenuation. Becomes larger. For this reason, de-emphasis is performed in order to make the waveform on the receiving side constant.
[画像形成システム]
本実施の形態の画像形成システムは、プリンタのような画像出力装置やスキャナのような画像入力装置、さらには、これらを併せ持つデジタル複写機、MFP(Multi Function Peripheral)のような画像形成装置等の画像形成システムに適用されるものであって、前述したようなPCI Express規格に準拠する高速シリアルバスを利用するものである。
[Image forming system]
The image forming system according to the present embodiment includes an image output device such as a printer, an image input device such as a scanner, a digital copier having both of them, and an image forming device such as an MFP (Multi Function Peripheral). The present invention is applied to an image forming system and uses a high-speed serial bus conforming to the PCI Express standard as described above.
本実施の形態の画像形成システムの一例を図16を参照して説明する。図16は、本実施の形態の画像形成システムの各機器・デバイス等の接続の概要を示すブロック図である。当該画像形成システム1は、シリアルデータ転送にPCI Express規格のバスシステムを用いている。即ち、画像形成システム1の各部を集中的に制御するCPU11と、CPU11の作業エリアとなるメモリ12がPCI Express規格のルートコンプレックス(Root Complex)13に接続されている。また、ルートコンプレックス13とPCI Express規格のスイッチ(或いはスイッチ網)14とがPCI Express規格のシリアルバス15を介して接続されている。PCI Express規格のスイッチ(或いはスイッチ網)14には、PCI Express規格のエンドポイント(End Point)となる各種機器・デバイスが接続されている。即ち、画像データなどを記憶するハードディスク(HDD)ユニット21、画像メモリユニット22、及び、メモリユニット23、各種の画像処理を行なう画像処理ユニット24、外部のネットワークなどと通信を行なう高速ネットワーク25、画像入力エンジンとしてのスキャナ26、画像出力エンジンとしてのプロッタ27、画像入力エンジン、画像出力エンジンを併せ持つ他のMFP28などである。
An example of the image forming system of the present embodiment will be described with reference to FIG. FIG. 16 is a block diagram showing an outline of connection of each device / device in the image forming system according to the present embodiment. The
このような構成によれば、高速シリアルバスであるPCI Expressシステムを利用しているので、基本的にデータ転送の高速化を図れるが、それに加えて、PCI Express規格のエンドポイント(End Point)となる各種機器・デバイス21〜27間でのデータ転送の一層の高速化を図ることができる。即ち、各種機器・デバイス21〜27間のPCI Expressシステムはルートコンプレックス13を介することなくPCI Express規格のスイッチ(或いはスイッチ網)14を最上位とする木構造で接続されており、各種機器・デバイス21〜27間でのデータ転送がルートコンプレックス13を経ることなく行われるため、高速処理が可能となる。
According to such a configuration, since the PCI Express system, which is a high-speed serial bus, is used, the data transfer speed can be basically increased. In addition, the PCI Express standard end point (End Point) and Further speeding up of data transfer between the various devices /
[アービトレーションに関する規格]
このような画像形成システムでは、各々の機器・デバイスに必要とされるデータ転送レートが異なるため、精度の高いデータ転送レート調整が必要となる。このための規格として、前述したようなシリアルバスを仮想チャネルVC単位で時分割に使い分けて複数トラフィックのパケットデータを伝送する仮想チャネル手段を利用し、仮想チャネルVC毎にパケットデータを発行する優先度を調停する機能(アービトレーション手段)がある。
[Arbitration standard]
In such an image forming system, since the data transfer rate required for each device / device is different, it is necessary to adjust the data transfer rate with high accuracy. As a standard for this purpose, priority is given to issuing packet data for each virtual channel VC by using virtual channel means for transmitting packet data of a plurality of traffic by using the serial bus as described above in a time division manner for each virtual channel VC. There is a function to arbitrate (arbitration means).
図17は、PCI Express規格のアービトレーション機能に従い構成されたデータ通信装置であるスイッチ14の構成例を示す概略ブロック図である。図示例は、最大8チャネルの仮想チャネルVCのうち、4チャネル構成に規定された例を示している。シリアル送信回路31は、デバイスからチャネル毎のデータ1〜4を受け取り、パケットデータ1〜4を生成するパケット生成回路32と、生成されたパケットデータ1〜4を仮想チャネルVC毎に一時蓄える仮想チャネルバッファ(仮想チャネル手段)33a〜33dと、仮想チャネルバッファ33a〜33dに蓄えられたパケットデータ1〜4を仮想チャネルVC毎にVCアービトレーションテーブルによって予め規定されている優先度に従い調停してシリアル出力バッファ34を介して信号出力回路35に出力するアービトレーション回路(アービトレーション手段)36と、により構成されている。
FIG. 17 is a schematic block diagram showing a configuration example of the
図示例は、仮想チャネルVC毎に均等な頻度でパケットデータを発行させるアービトレーションのアルゴリズムによる場合を例示しており、上記アービトレーションに従い、シリアル送信回路31の信号出力回路35からシリアルバス上にはパケットデータ1〜4が図示の如く均等に出力される。
The illustrated example illustrates the case of using an arbitration algorithm that issues packet data at an equal frequency for each virtual channel VC. According to the arbitration, packet data is transferred from the
ところが、PCI Express規格で用意されている仮想チャネルVCを用いた場合でも、発生するトラフィックの性質(例えば、方向性や転送レートなど)を考慮せずに仮想チャネルの割当てを行うと、多数の仮想チャネルが必要となるという問題がある。 However, even when the virtual channel VC prepared in the PCI Express standard is used, if a virtual channel is allocated without considering the nature of the generated traffic (for example, directionality, transfer rate, etc.), a large number of virtual channels There is a problem that a channel is required.
そこで、本実施の形態においては、発生するトラフィックの性質(例えば、方向性や転送レートなど)に基づいて仮想チャネルを割り当てることで、必要最小限の仮想チャネルを用いて目的とする複数の画像データ間、あるいは画像データとシステム制御コマンドデータとの間などでの優先順位の設定を可能にするようにしたものである。 Therefore, in the present embodiment, a plurality of target image data using the minimum necessary virtual channel is assigned by allocating a virtual channel based on the nature of traffic generated (for example, directionality, transfer rate, etc.). It is possible to set the priority order between image data and system control command data.
ここで、図18は発生するトラフィックの性質に基づいて仮想チャネルを割り当てるようにした例を示す模式図である。図18に示す例は、発生するトラフィックをプロッタデータ、スキャナデータ、システム制御コマンドデータに分類し、それぞれに対して仮想チャネルを割り当てたものである。ここで、スキャナデータおよびプロッタデータは、高いデータ転送レートと等時性が要求されるトラフィックであり、システム制御コマンドデータは、データ量が少なく、等時性の制約が弱いものとする。 Here, FIG. 18 is a schematic diagram showing an example in which virtual channels are allocated based on the nature of generated traffic. In the example shown in FIG. 18, the generated traffic is classified into plotter data, scanner data, and system control command data, and a virtual channel is assigned to each. Here, it is assumed that the scanner data and the plotter data are traffic that requires a high data transfer rate and isochronism, and that the system control command data has a small amount of data and has a weak isochronous constraint.
図18は、コントローラを構成するCPU11→スイッチ(或いはスイッチ網)14→プロッタ27方向に転送されるプロッタデータのトラフィックをVC2に割り当て、スキャナ26→スイッチ(或いはスイッチ網)14→コントローラを構成するCPU11方向に転送されるスキャナデータのトラフィックにVC3を割り当て、コントローラを構成するCPU11→スイッチ(或いはスイッチ網)14→スキャナ26および コントローラを構成するCPU11→スイッチ(或いはスイッチ網)14→プロッタ27方向に流れるシステム制御コマンドデータのトラフィックをともにVC1に割り当てた例である。
In FIG. 18, the traffic of the plotter data transferred in the direction of the
なお、スキャナデータとプロッタデータとで仮想チャネルVCを分けたのは、スキャナデータとプロッタデータとでは、トラフィックの方向依存性が異なるからである。 The reason why the virtual channel VC is divided between the scanner data and the plotter data is that the direction dependency of traffic is different between the scanner data and the plotter data.
このような場合、VCアービトレーションテーブルをWRR(Weighted Round Robin)モードを用いて、
VC1:VC2:VC3=1:2:2
というように、データチャネルであるVC2およびVC3の重みを大きく設定すれば、図18に示すように、VC2のスキャナデータおよびVC3のプロッタデータが、システム制御コマンドデータよりも優先されて、高い帯域を確保することができる。
In such a case, the VC arbitration table is used in WRR (Weighted Round Robin) mode,
VC1: VC2: VC3 = 1: 2: 2
Thus, if the weights of the data channels VC2 and VC3 are set large, the scanner data of VC2 and the plotter data of VC3 are prioritized over the system control command data, as shown in FIG. Can be secured.
図18の中央のPhy Chに、VCアービトレーション後のパケットデータの流れを示す。VC1のコマンドデータパケット1個に対して、VC2,VC3のデータパケットはそれぞれ2個、シリアル伝送路を通過している。 The flow of packet data after VC arbitration is shown in Phy Ch at the center of FIG. For each command data packet of VC1, two data packets of VC2 and VC3 pass through the serial transmission path.
このように本実施の形態によれば、複数発行された各パケットデータのトラフィックの性質に基づいて仮想チャネルを割り当て、パケットデータが割り当てられた各仮想チャネルの優先順位を指定することにより、必要最小限の仮想チャネルを用いて目的とする複数のパケットデータ間での優先順位を指定することができ、必要な情報を必要な時に送ることができる。 As described above, according to the present embodiment, a virtual channel is allocated based on the traffic characteristics of each packet data that has been issued, and the priority order of each virtual channel to which the packet data is allocated is specified. By using a limited number of virtual channels, it is possible to specify priorities among a plurality of target packet data, and necessary information can be sent when necessary.
なお、本実施の形態においては、システム制御コマンドデータの転送に、独立した仮想チャネルVC1を用いるようにしたが、これに限るものではなく、システム制御コマンドデータの転送に、デフォルトで使用可能な仮想チャネルVC0を用いるようにしても良い。これにより、新たにソフトウェアを追加する必要がなくなる。 In this embodiment, the independent virtual channel VC1 is used for the transfer of the system control command data. However, the present invention is not limited to this, and the virtual channel that can be used by default for the transfer of the system control command data. The channel VC0 may be used. This eliminates the need to add new software.
また、本実施の形態においては、仮想チャネル間でデータ転送に用いる仮想チャネルVC2,VC3に高い優先順位を与えているが、これに限るものではなく、仮想チャネル間でシステム制御コマンドデータの転送に用いる仮想チャネルVC1に高い優先順位を与えるようにしても良い。 In this embodiment, high priority is given to the virtual channels VC2 and VC3 used for data transfer between the virtual channels. However, the priority is not limited to this, and the system control command data is transferred between the virtual channels. High priority may be given to the virtual channel VC1 to be used.
[第2の実施の形態]
次に、本発明の第2の実施の形態を図19に基づいて説明する。なお、前述した第1の実施の形態と同じ部分は同じ符号で示し説明も省略する。
[Second Embodiment]
Next, a second embodiment of the present invention will be described with reference to FIG. The same parts as those in the first embodiment described above are denoted by the same reference numerals, and description thereof is also omitted.
第1の実施の形態においては、発生するトラフィックをプロッタデータ、スキャナデータ、システム制御コマンドデータに分類し、それぞれに対して仮想チャネルを割り当てるようにした。これに対し、本実施の形態は、トラフィックの方向依存性が異なるスキャナデータとプロッタデータとを同じ仮想チャネルVCにまとめるようにしたものである。 In the first embodiment, the generated traffic is classified into plotter data, scanner data, and system control command data, and a virtual channel is assigned to each. On the other hand, in this embodiment, scanner data and plotter data having different traffic direction dependencies are combined into the same virtual channel VC.
図19は、コントローラを構成するCPU11→スイッチ(或いはスイッチ網)14→プロッタ27方向に転送されるプロッタデータのトラフィックと、プロッタデータとは逆のスキャナ26→スイッチ(或いはスイッチ網)14→コントローラを構成するCPU11方向に転送されるスキャナデータのトラフィックを、VC3を割り当てた例である。逆方向のトラフィック間では、仮想チャネルVC間のシリアル通信路の競合が発生しないため、2本のトラフィックを1本のVC3にまとめて割り当てることで、双方が高い伝送性能を得ることができる。
FIG. 19 shows the traffic of the plotter data transferred in the direction of the
このような場合も、スキャナデータ、プロッタデータよりも、必要とされる転送性能が低いコマンドチャネルがあれば、第1の実施の形態と同様に、データ転送用とは別のVC(図19では、VC1)に割り当てれば良い。 Even in such a case, if there is a command channel whose transfer performance is lower than that required for scanner data and plotter data, a VC different from that for data transfer (in FIG. 19), as in the first embodiment. , VC1).
この場合、VCアービトレーションテーブルをWRR(Weighted Round Robin)モードを用いて、
VC1:VC3=1:2
というように、データチャネルであるVC3の重みを大きく設定すれば、図19に示すように、VC3のプロッタデータが、同方向のシステム制御コマンドデータよりも優先されて、高い帯域を確保することができる。
In this case, the VC arbitration table is used in WRR (Weighted Round Robin) mode,
VC1: VC3 = 1: 2
As described above, if the weight of the data channel VC3 is set to be large, the VC3 plotter data is prioritized over the system control command data in the same direction to secure a high bandwidth as shown in FIG. it can.
図19の中央のPhy Chに、VCアービトレーション後のパケットデータの流れを示す。VC1のコマンドデータパケット1個に対して、VC3のデータパケットは2個、シリアル伝送路を通過している。 A flow of packet data after VC arbitration is shown in the center Phy Ch of FIG. For one command data packet of VC1, two VC3 data packets pass through the serial transmission path.
このように本実施の形態によれば、転送方向の異なる複数の画像データに対して同一の仮想チャネルを割り当てることにより、例えばスキャナデータとプロッタデータとではトラフィックの方向依存性が異なり、逆方向のトラフィック間では仮想チャネル間のシリアルバスの競合が発生しないため、2本のトラフィックを1本の仮想チャネルにまとめて割り当てることで、双方が高い伝送性能を得ることができるとともに、必要となる仮想チャネルの数を減らすことができる。 As described above, according to the present embodiment, by assigning the same virtual channel to a plurality of image data having different transfer directions, for example, the direction dependency of traffic differs between scanner data and plotter data, and the reverse direction is reversed. Since there is no serial bus contention between the virtual channels between the traffic, by assigning the two traffics together to one virtual channel, both can obtain high transmission performance and the required virtual channel The number of can be reduced.
[第3の実施の形態]
次に、本発明の第3の実施の形態を図20に基づいて説明する。なお、前述した第1の実施の形態または第2の実施の形態と同じ部分は同じ符号で示し説明も省略する。
[Third Embodiment]
Next, a third embodiment of the present invention will be described with reference to FIG. In addition, the same part as 1st Embodiment mentioned above or 2nd Embodiment is shown with the same code | symbol, and description is also abbreviate | omitted.
本実施の形態は、システムの起動時に接続された機器及び接続形態の情報を収集し、仮想チャネルの割当てや仮想チャネル間の優先順位の設定を自動的に行うようにしたものである。 In the present embodiment, information on devices and connection forms connected at system startup is collected, and virtual channel assignment and priority setting between virtual channels are automatically performed.
図20は、PCI Express規格のアービトレーション機能に従い構成されたスイッチ14の構成例を示す概略ブロック図である。本実施の形態のスイッチ14は、図17で説明した構成に加えて、優先順位設定部40が付加されている。
FIG. 20 is a schematic block diagram illustrating a configuration example of the
この優先順位設定部40は、システムの起動時に、接続された機器及び接続形態の情報を収集し、仮想チャネルの割り当てや仮想チャネル間の優先順位の設定を自動的に行うものである。より具体的には、優先順位設定部40は、システムの起動時に、接続された機器及び接続形態の情報を収集し、これらの情報に従ったVCアービトレーションテーブルをアービトレーション回路36に出力する。なお、優先順位設定部40による優先順位設定処理としては、CPUによるプログラム処理により実現するようにしても良い。
The
ここで、図21は優先順位設定部40における優先順位設定処理の流れを示すフローチャートである。図21に示すように、優先順位設定部40は、デバイス情報(接続ポート、デバイスタイプ、使用帯域、使用頻度)を設定し(ステップS1)、通信方向別に使用帯域、使用頻度を基に算出した評価値でデバイスを整列する(ステップS2)。
Here, FIG. 21 is a flowchart showing the flow of priority order setting processing in the priority
続くステップS3では、使用できる仮想チャネルVCの数とデバイス数を比較し、使用できる仮想チャネルVCの数がデバイス数と同数または多い場合には(ステップS3のYes)、1:1に仮想チャネルVCを割り当て(ステップS4)、使用できる仮想チャネルVCの数がデバイス数よりも少ない場合には(ステップS3のNo)、通信方向別に評価値の高い順に仮想チャネルVCを割り当て、低い評価値のデバイスは仮想チャネルVCを共有させる(ステップS5)。 In the subsequent step S3, the number of usable virtual channels VC is compared with the number of devices. If the number of usable virtual channels VC is equal to or larger than the number of devices (Yes in step S3), the virtual channel VC is 1: 1. (Step S4), if the number of usable virtual channels VC is smaller than the number of devices (No in step S3), virtual channels VC are assigned in descending order of evaluation values for each communication direction, and devices with low evaluation values are assigned. The virtual channel VC is shared (step S5).
その後、それぞれの通信方向で評価値の高いものから順にペアを組ませ、VC No.を割り当て(ステップS6)、割り当てたVC No.間でデバイスの帯域、使用頻度を基にVCアービトレーションテーブルを生成する(ステップS7)。VCアービトレーションテーブルは、帯域により、割り当てるスロット数、使用頻度によりスロットの配置(まとめて配置するか、分散して配置するか)を決定する。 After that, pairs are formed in descending order of evaluation values in each communication direction, VC No. is assigned (step S6), and a VC arbitration table is generated between the assigned VC No. based on device bandwidth and frequency of use. (Step S7). In the VC arbitration table, the number of slots to be allocated and the arrangement of slots (whether they are arranged collectively or distributed) are determined depending on the bandwidth.
このように本実施の形態によれば、システム起動時に、接続された機器および接続形態の情報を収集し、仮想チャネルの割り当てや仮想チャネル間の優先順位の設定を行う優先順位設定部40を備えることにより、動作中に仮想チャネル間の優先順位を変更することができる。
As described above, according to the present embodiment, the system includes the priority
なお、アービトレーション回路36は複数のアービトレーションテーブルを有するようにし、優先順位設定部40からの指示によってアービトレーションテーブルを変更することで、動作中に仮想チャネル間の優先順位を変更することができるようにしても良い。
Note that the
1 画像形成システム
11 コントローラ
14 データ通信装置
26 画像入力エンジン
27 画像出力エンジン
33a〜33d 仮想チャネル手段
36 アービトレーション手段
DESCRIPTION OF
Claims (10)
前記アービトレーション手段は、複数発行された前記各パケットデータのトラフィックの性質に基づいて前記仮想チャネルを割り当て、パケットデータが割り当てられた前記各仮想チャネルの優先順位を指定する、
ことを特徴とするデータ通信装置。 A data communication apparatus comprising: virtual channel means for transmitting packet data of a plurality of traffics by using a serial bus in a time division manner in units of virtual channels; and arbitration means for arbitrating the priority for issuing the packet data for each virtual channel In
The arbitration means assigns the virtual channel based on traffic characteristics of each of the issued packet data, and designates the priority order of the virtual channels to which packet data is assigned.
A data communication device.
ことを特徴とする請求項1記載のデータ通信装置。 Classifying the generated traffic into image data and command data for system control, and assigning the virtual channel to each;
The data communication apparatus according to claim 1.
ことを特徴とする請求項2記載のデータ通信装置。 Assigning the same virtual channel to a plurality of image data having different transfer directions;
The data communication apparatus according to claim 2.
ことを特徴とする請求項2記載のデータ通信装置。 A virtual channel that can be used by default is used to transfer the command data for system control.
The data communication apparatus according to claim 2.
ことを特徴とする請求項2記載のデータ通信装置。 An independent virtual channel is used to transfer the command data for system control.
The data communication apparatus according to claim 2.
ことを特徴とする請求項2記載のデータ通信装置。 A high priority is given to a virtual channel used for data transfer of the command data for system control between the virtual channels.
The data communication apparatus according to claim 2.
ことを特徴とする請求項2記載のデータ通信装置。 A high priority is given to a virtual channel used for data transfer of the image data between the virtual channels.
The data communication apparatus according to claim 2.
ことを特徴とする請求項1記載のデータ通信装置。 The arbitration means includes a priority setting means that collects information of devices and connection forms connected at the time of system startup, and assigns the virtual channels and sets priorities between the virtual channels.
The data communication apparatus according to claim 1.
ことを特徴とする請求項8記載のデータ通信装置。 The arbitration means has a plurality of arbitration tables in which different priorities are set in advance, and changes the arbitration table according to an instruction from the priority order setting means.
The data communication apparatus according to claim 8.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006066363A JP2007241882A (en) | 2006-03-10 | 2006-03-10 | Data communication device, and image forming system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006066363A JP2007241882A (en) | 2006-03-10 | 2006-03-10 | Data communication device, and image forming system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007241882A true JP2007241882A (en) | 2007-09-20 |
Family
ID=38587327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006066363A Pending JP2007241882A (en) | 2006-03-10 | 2006-03-10 | Data communication device, and image forming system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007241882A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009130850A (en) * | 2007-11-27 | 2009-06-11 | Oki Data Corp | Image processing apparatus, communication apparatus, and image processing system |
JP2013510452A (en) * | 2009-09-14 | 2013-03-21 | ザ・ディレクティービー・グループ・インコーポレイテッド | Method and system for distributing content |
US10430370B2 (en) | 2017-07-04 | 2019-10-01 | Ricoh Company, Ltd. | Data transfer device, data transfer method, and a non-transitory recording medium |
-
2006
- 2006-03-10 JP JP2006066363A patent/JP2007241882A/en active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009130850A (en) * | 2007-11-27 | 2009-06-11 | Oki Data Corp | Image processing apparatus, communication apparatus, and image processing system |
JP2013510452A (en) * | 2009-09-14 | 2013-03-21 | ザ・ディレクティービー・グループ・インコーポレイテッド | Method and system for distributing content |
US8671211B2 (en) | 2009-09-14 | 2014-03-11 | The Directv Group, Inc. | Method and system for distributing content |
US10430370B2 (en) | 2017-07-04 | 2019-10-01 | Ricoh Company, Ltd. | Data transfer device, data transfer method, and a non-transitory recording medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4878185B2 (en) | Data communication circuit and arbitration method | |
JP4928732B2 (en) | Data transfer system and electronic device | |
JP5108261B2 (en) | Information processing apparatus and data communication apparatus | |
JP4704050B2 (en) | Data transfer system and electronic device | |
JP4564855B2 (en) | Data transfer system and electronic device | |
JP2007087082A (en) | Information processor and option device sharing method | |
JP4308680B2 (en) | Image forming apparatus | |
JP4777723B2 (en) | Information processing system, program, and data transfer method | |
JP4928715B2 (en) | Serial data transfer device, image output device, image input device, and image forming device | |
JP4564740B2 (en) | Imaging equipment system | |
JP2006092286A (en) | Data transfer device and image forming system | |
JP4425766B2 (en) | Image forming system | |
JP2007241882A (en) | Data communication device, and image forming system | |
JP5218377B2 (en) | Image forming system | |
JP4476088B2 (en) | Data transfer apparatus and image forming system | |
JP4828899B2 (en) | Information processing apparatus and storage device sharing method | |
JP4603336B2 (en) | Data transfer system, image forming system, and data transfer method | |
JP2007226494A (en) | Data transfer system | |
JP2007282187A (en) | Information processor, information processing system, and data communication method | |
JP4690828B2 (en) | Information processing system, program, and packet communication method | |
JP4603335B2 (en) | Data transfer system, image forming system, and data transfer method | |
JP2007272871A (en) | Information processing apparatus and data communication method | |
JP4824422B2 (en) | Control device, image processing system, and data transfer path switching method | |
JP2005346629A (en) | Image processing apparatus | |
JP4271558B2 (en) | Data transfer system, image forming system, and data transfer program |