JP2006092286A - Data transfer device and image forming system - Google Patents
Data transfer device and image forming system Download PDFInfo
- Publication number
- JP2006092286A JP2006092286A JP2004277305A JP2004277305A JP2006092286A JP 2006092286 A JP2006092286 A JP 2006092286A JP 2004277305 A JP2004277305 A JP 2004277305A JP 2004277305 A JP2004277305 A JP 2004277305A JP 2006092286 A JP2006092286 A JP 2006092286A
- Authority
- JP
- Japan
- Prior art keywords
- virtual channel
- data
- data transfer
- pci express
- packet data
- 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)
Abstract
Description
本発明は、シリアルバスを用いるデータ転送装置及び画像形成システムに関する。 The present invention relates to a data transfer apparatus and an image forming system using a serial bus.
シリアルバスを仮想チャネル単位で時分割に使い分けることで複数トラフィックのパケットデータを伝送する仮想チャネル機能と、仮想チャネル毎にパケットデータを発行する優先度を調停するアービトレーション機能とを有するデータ転送装置がある。このような仕組みのデータ転送装置によれば、データ転送の優先度が異なる複数トラフィックのパケットデータをシリアルバスを用いて同時転送させたい場合に、転送レートの調整が可能となる。 There is a data transfer apparatus having a virtual channel function 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 function for arbitrating the priority for issuing packet data for each virtual channel . According to the data transfer apparatus having such a mechanism, it is possible to adjust a transfer rate when packet data of a plurality of traffics having different data transfer priorities are to be transferred simultaneously using a serial bus.
一例として、PCIバス方式の後継規格に当るPCI Express(登録商標)なるシリアルインタフェース(例えば、非特許文献1参照)の仮想チャネル(Virtual Channel)のアービトレーションのアルゴリズムでは、ラウンドロビン(Round Robin)方式、ウエイテッドラウンドロビン(Weighted Round robin)方式、ストリクト(Strict)方式があり、シリアルバス上に転送するパケットを、トランザクション単位で優先度の調整が可能である。なお、これらの方式については、後述するが、ラウンドロビン方式は各仮想チャネルVC毎に均等な頻度でパケットデータを発行させる方式、ウエイテッドラウンドロビン方式は各仮想チャネルVC毎に任意に指定可能なテーブルに従った重み付けされた頻度でパケットデータを発行させる方式、ストリクト方式は各仮想チャネルVC毎に固定の優先順でパケットデータを発行させる方式である。 As an example, in the arbitration algorithm of a virtual channel (Virtual Channel) of a serial interface (for example, see Non-Patent Document 1), which is a PCI Express (registered trademark) equivalent to the successor standard of the PCI bus method, a round robin method, There are a weighted round robin method and a strict method, and it is possible to adjust the priority of packets transferred on the serial bus in units of transactions. Although these methods will be described later, the round robin method is a method in which packet data is issued at an equal frequency for each virtual channel VC, and the weighted round robin method can be arbitrarily designated for each virtual channel VC. The method of issuing packet data at a weighted frequency according to the table, the strict method is a method of issuing packet data in a fixed priority order for each virtual channel VC.
ところが、PCI Express規格の仮想チャネルVCのアービトレーション機能に従い、仮想チャネルVC毎のパケットデータの発行頻度の優先度を指定しただけでは優先度制御の自由度が低く、複数トラフィックのパケットデータに対して高精度にデータ転送レートを制御することは難しい。 However, according to the arbitration function of the virtual channel VC of the PCI Express standard, simply specifying the priority of the packet data issue frequency for each virtual channel VC has a low degree of freedom in priority control, and is high for packet data of multiple traffic. It is difficult to accurately control the data transfer rate.
本発明の目的は、仮想チャネル毎にパケットデータを発行する優先度を調停するアービトレーション手段を有するデータ転送装置において、自由度が高く高精度なデータ転送レート制御を可能にすることである。 An object of the present invention is to enable high-precision data transfer rate control with a high degree of freedom in a data transfer apparatus having arbitration means for adjusting the priority of issuing packet data for each virtual channel.
請求項1記載の発明は、シリアルバスを仮想チャネル単位で時分割に使い分けて複数トラフィックのパケットデータを伝送する仮想チャネル手段と、前記仮想チャネル毎にパケットデータを発行する優先度を調停するアービトレーション手段とを有するデータ転送装置において、発行するパケットデータのペイロードサイズを前記仮想チャネル毎に指定するペイロードサイズ指定手段と、前記仮想チャネル毎に指定されたペイロードサイズのパケットデータを生成して前記アービトレーション手段に出力するパケット生成手段と、を備える。 According to the first aspect of the present invention, 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 arbitration means for arbitrating priority for issuing packet data for each virtual channel A payload size specifying means for specifying the payload size of packet data to be issued for each virtual channel, and generating packet data having a payload size specified for each virtual channel to the arbitration means. Output packet generation means.
請求項2記載の発明は、請求項1記載のデータ転送装置において、前記アービトレーション手段のアルゴリズムは、各仮想チャネル毎に均等な頻度でパケットデータを発行させる方式である。 According to a second aspect of the present invention, in the data transfer apparatus according to the first aspect, the algorithm of the arbitration means is a method for issuing packet data at an equal frequency for each virtual channel.
請求項3記載の発明は、請求項1記載のデータ転送装置において、前記アービトレーション手段のアルゴリズムは、各仮想チャネル毎に重み付けされた頻度でパケットデータを発行させる方式である。 According to a third aspect of the present invention, in the data transfer apparatus according to the first aspect, the algorithm of the arbitration means is a system for issuing packet data at a weighted frequency for each virtual channel.
請求項4記載の発明は、請求項1ないし3の何れか一記載のデータ転送装置において、前記シリアルバスは、PCI Express規格のシリアルバスである。 According to a fourth aspect of the present invention, in the data transfer device according to any one of the first to third aspects, the serial bus is a PCI Express standard serial bus.
請求項5記載の発明は、請求項2記載のデータ転送装置において、前記シリアルバスは、PCI Express規格のシリアルバスであり、前記アービトレーション手段の仮想チャネル(Virtual Channel)毎のアルゴリズムは、前記PCI Express規格のラウンドロビン(Round Robin)である。 According to a fifth aspect of the present invention, in the data transfer device according to the second aspect, the serial bus is a PCI Express standard serial bus, and an algorithm for each virtual channel of the arbitration means is the PCI Express. It is a standard round robin.
請求項6記載の発明は、請求項3記載のデータ転送装置において、前記シリアルバスは、PCI Express規格のシリアルバスであり、前記アービトレーション手段の仮想チャネル(Virtual Channel)毎のアルゴリズムは、前記PCI Express規格のウエイテッドラウンドロビン(Weighted Round Robin)である。 According to a sixth aspect of the present invention, in the data transfer device according to the third aspect, the serial bus is a PCI Express standard serial bus, and an algorithm for each virtual channel of the arbitration means is the PCI Express. It is a standard weighted round robin (Weighted Round Robin).
請求項7記載の発明の画像形成システムは、少なくとも、画像入力エンジンと、画像出力エンジンと、これらの画像入力エンジン及び前記画像出力エンジンを制御駆動するコントローラと、これらのコントローラと前記画像入力エンジン並びに前記画像出力エンジンとの間を接続する請求項1ないし6の何れか一記載のシリアルデータ転送装置によるインタフェースと、を備える。
An image forming system according to a seventh aspect of the present invention includes at least 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, the image input engine, and An interface by a serial data transfer device according to any one of
本発明によれば、規格により規定されている仮想チャネル毎にパケットデータを発行する優先度を調停するアービトレーション手段の機能に加えて、発行するパケットデータのペイロードサイズを仮想チャネル毎に指定するペイロードサイズ指定手段と、仮想チャネル毎に指定されたペイロードサイズのパケットデータを生成してアービトレーション手段に出力するパケット生成手段と、を備えているので、パケットデータのペイロードサイズを、必要なデータ転送レートが得られるアービトレーション手段による優先度との組合せで指定することで、より自由度が高い状態で、高精度なデータ転送レートの制御が可能となる。 According to the present invention, in addition to the function of the arbitration means for arbitrating the priority for issuing packet data for each virtual channel specified by the standard, the payload size for specifying the payload size of the issued packet data for each virtual channel Since there is a specification means and a packet generation means for generating packet data of the payload size specified for each virtual channel and outputting it to the arbitration means, the required data transfer rate is obtained for the payload size of the packet data. By specifying in combination with the priority by the arbitration means, it is possible to control the data transfer rate with high accuracy with a higher degree of freedom.
本発明を実施するための最良の形態について図面を参照して説明する。 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 conforms to PCI Express (registered trademark), which is one of high-speed serial buses. As a premise of this embodiment, an outline of the PCI Express standard is a part of Non-Patent
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
これに対して、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とされている(将来的には、5Gbpsや10Gbpsが想定されている)。レーンは、例えば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, one-way 2.5 Gbps (in the future, 5 Gbps or 10 Gbps is assumed). 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
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ブリッジ119
PCI ExpressからPCI/PCI-Xへの接続を提供する。これにより、既存のPCI/PCI-XデバイスをPCI Expressシステム上で使用することができる。
E. PCI Express 114e-
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, the
PCI Expressのアーキテクチャの中心となるのは、トランザクション層153、データリンク層154、物理層155であり、各々図8を参照して説明する以下のような役割を持つ。
The core of the PCI Express architecture is a
A.トランザクション層153
トランザクション層153は、最上位に位置し、トランザクションレイヤパケット(TLP)の組み立て、分解機能を持つ。トランザクションレイヤパケット(TLP)は、リード/ライト、各種イベントといったトランザクションの伝達に用いられる。また、トランザクション層153は、トランザクションレイヤパケット(TLP)のためのクレジットを用いたフロー制御を行う。各層153〜155におけるトランザクションレイヤパケット(TLP)の概要を図9に示す(詳細は、後述する)。
The
B.データリンク層154
データリンク層154の主な役割は、エラー検出/訂正(再送)によりトランザクションレイヤパケット(TLP)のデータ完全性を保証することと、リンク管理である。データリンク層154間では、リンク管理やフロー制御のためのパケットのやり取りを行う。このパケットは、トランザクションレイヤパケット(TLP)と区別するために、データリンクレイヤパケット(DLLP)と呼ばれる。
B.
The main role of the
C.物理層155
物理層155は、ドライバ、入力バッファ、パラレル−シリアル/シリアル−パラレル変換器、PLL、インピーダンス整合回路といったインタフェース動作に必要な回路を含んでいる。また、論理的な機能としてインタフェースの初期化・保守の機能を持つ。物理層155は、データリンク層154/トランザクション層153を実際のリンクで使用される信号技術から独立させる役目も持っている。
The
なお、PCI Expressのハードウェア構成上、エンベデッド・クロックという技術を採用しており、クロック信号はなく、クロックのタイミングはデータ信号中に埋め込まれており、受信側でデータ信号のクロスポイントを基にクロックを抽出する方式とされている。 The PCI Express hardware configuration uses a technology called embedded clock, there is no clock signal, the clock timing is embedded in the data signal, and the receiving side is based on the crosspoint of the data signal. The clock is extracted.
[コンフィグレーション空間]
PCI Expressは、従来のPCIと同様にコンフィグレーション空間を持つが、その大きさは従来のPCIが256バイトであるのに対して、図10に示すように、4096バイトへと拡張されている。これにより、多数のデバイス固有レジスタセットを必要とするデバイス(ホストブリッジなど)に対しても、将来的に十分な空間が確保されている。PCI Expressでは、コンフィグレーション空間へのアクセスは、フラットなメモリ空間へのアクセス(コンフィグレーションリード/ライト)で行われ、バス/デバイス/機能/レジスタ番号はメモリアドレスにマップされている。
[Configuration space]
PCI Express has a configuration space like conventional PCI, but its size is expanded to 4096 bytes as shown in FIG. 10, whereas conventional PCI has 256 bytes. As a result, sufficient space is secured in the future even for devices (such as host bridges) that require a large number of device-specific register sets. In PCI Express, the configuration space is accessed by accessing a flat memory space (configuration read / write), and the bus / device / function / register number is mapped to a memory address.
当該空間の先頭256バイトは、PCIコンフィグレーション空間として、BIOSや従来のOSからI/Oポートを使用した方法でもアクセスできる。従来のアクセスをPCI Expressでのアクセスに変換する機能は、ホストブリッジ上に実装される。00hから3FhまではPCI2.3互換のコンフィグレーションヘッダとなっている。これにより、PCI Expressで拡張された機能以外であれば、従来のOSやソフトウェアをそのまま使用することができる。即ち、PCI Expressにおけるソフトウェア層は、既存のPCIと互換性を保ったロード・ストア・アーキテクチャ(プロセッサが直接I/Oレジスタをアクセスする方式)を継承している。しかし、PCI Expressで拡張された機能(例えば、同期転送やRAS(Reliability,Availability and Serviceability)などの機能)を使用するには、4KバイトのPCI Express拡張空間にアクセスできるようにする必要がある。 The first 256 bytes of the space can be accessed as a PCI configuration space by a method using an I / O port from a BIOS or a conventional OS. The function of converting conventional access to PCI Express access is implemented on the host bridge. From 00h to 3Fh, it is a PCI2.3 compatible configuration header. As a result, a conventional OS and software can be used as they are except for functions extended by PCI Express. That is, the software layer in PCI Express inherits a load / store architecture (a method in which a processor directly accesses an I / O register) that is compatible with the existing PCI. However, in order to use functions expanded by PCI Express (for example, functions such as synchronous transfer and RAS (Reliability, Availability and Serviceability)), it is necessary to make it possible to access a 4 Kbyte PCI Express expansion space.
なお、PCI Expressとしては様々なフォームファクタ(形状)が考えられるが、具体化している例としては、アドインカード、プラグインカード(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
A.トランザクション層153
トランザクション層153の主な役割は、前述したように、上位のソフトウェア層151と下位のデータリンク層154との間でトランザクションレイヤパケット(TLP)の組み立てと分解を行うことである。
The main role of the
a.アドレス空間とトランザクションタイプ
PCI Expressでは、従来のPCIでサポートされていたメモリ空間(メモリ空間とのデータ転送用)、I/O空間(I/O空間とのデータ転送用)、コンフィグレーション空間(デバイスのコンフィグレーションとセットアップ用)に加えて、メッセージ空間(PCI Expressデバイス間のインバンドでのイベント通知や一般的なメッセージ送信(交換)用…割り込み要求や確認は、メッセージを「仮想ワイヤ」として使用することにより伝達される)が追加され、4つのアドレス空間が定義されている。各々の空間に対してトランザクションタイプが定義されている(メモリ空間、I/O空間、コンフィグレーション空間は、リード/ライト、メッセージ空間は基本(ベンダ定義含む))。
a. Address space and transaction type
In PCI Express, memory space (for data transfer with memory space), I / O space (for data transfer with I / O space), and configuration space (device configuration and setup) supported by conventional PCI In addition to message space (in-band event notification between PCI Express devices and general message transmission (exchange) ... Interrupt requests and confirmations are communicated by using the message as a "virtual wire" And four address spaces are defined. Transaction types are defined for each space (memory space, I / O space, configuration space is read / write, and message space is basic (including vendor definition)).
b.トランザクションレイヤパケット(TLP)
PCI Expressは、パケット単位で通信を行う。図9に示したトランザクションレイヤパケット(TLP)のフォーマットにおいて、ヘッダのヘッダ長は3DW(DWはダブルワードの略;合計12バイト)又は4DW(16バイト)で、トランザクションレイヤパケット(TLP)のフォーマット(ヘッダ長とペイロードの有無)、トランザクションタイプ、トラフィッククラス(TC)、アトリビュートやペイロード長などの情報が含まれる。パケット内の最大ペイロード長は1024DW(4096バイト)である。
b. Transaction layer packet (TLP)
PCI Express performs communication in units of packets. In the transaction layer packet (TLP) format shown in FIG. 9, the header length of the header is 3DW (DW is an abbreviation of double word; total 12 bytes) or 4DW (16 bytes), and the transaction layer packet (TLP) format ( Information such as header length and presence / absence of payload), transaction type, traffic class (TC), attribute, and payload length are included. The maximum payload length in the packet is 1024 DW (4096 bytes).
ECRCは、エンドツーエンドのデータ完全性を保証するためのもので、トランザクションレイヤパケット(TLP)部分の32ビットCRCである。これは、スイッチ内部などでトランザクションレイヤパケット(TLP)にエラーが発生した場合、LCRC(リンクCRC)ではエラーを検出できないためである(エラーとなったTLPでLCRCが再計算されるため)。 ECRC is an end-to-end data integrity guarantee and is a 32-bit CRC of the transaction layer packet (TLP) portion. This is because when an error occurs in the transaction layer packet (TLP) inside the switch or the like, the LCRC (link CRC) cannot detect the error (because the LCRC is recalculated with the TLP in error).
リクエストは、完了パケットが不要なものと必要なものとがある。 Some requests do not require a completion packet, and some requests.
c.トラフィッククラス(TC)と仮想チャネル(VC)
上位のソフトウェアは、トラフィッククラス(TC)を使用することによりトラフィックの差別化(優先度をつける)を行うことができる。例えば、映像データをネットワークのデータよりも優先して転送する、といったことが可能となる。トラフィッククラス(TC)はTC0からTC7まで8つある。
c. Traffic class (TC) and virtual channel (VC)
Upper software can differentiate (prioritize) traffic by using a traffic class (TC). For example, video data can be transferred with priority over network data. There are eight traffic classes (TC) from TC0 to TC7.
仮想チャネル(VC:Vertual Channel)は、各々独立した仮想通信バス(同一のリンクを共用する複数の独立したデータ・フロー・バッファを使用するメカニズム)で、各々がリソース(バッファやキュー)を持ち、図11に示すように、独立したフロー制御を行う。これにより、1つの仮想チャネルのバッファが満杯の状態(full)になっても、他の仮想チャネルの転送を行うことができる。つまり、物理的には1つのリンクを仮想的な複数のチャネルに分けることで、有効に使用することができる。例えば、図11中に示すように、スイッチを経由してルートのリンクが複数のデバイスに分かれる場合、各デバイスのトラフィックの優先度を制御することができる(アービトレーション手段)。VC0は必須で、コストパフォーマンスのトレードオフに応じてその他の仮想チャネル(VC1〜VC7)が実装される。図11中の実線矢印は、デフォルト仮想チャネル(VC0)を示し、破線矢印はその他の仮想チャネル(VC1〜VC7)を示している。 A virtual channel (VC) is an independent virtual communication bus (a mechanism that uses a plurality of independent data flow buffers sharing the same link), each having resources (buffers and queues) As shown in FIG. 11, independent flow control is performed. Thereby, even if the buffer of one virtual channel becomes full (full), the transfer of another virtual channel can be performed. In other words, it can be used effectively by physically dividing one link into a plurality of virtual channels. For example, as shown in FIG. 11, when a route link is divided into a plurality of devices via a switch, the priority of traffic of each device can be controlled (arbitration means). VC0 is indispensable, and other virtual channels (VC1 to VC7) are mounted in accordance with the cost performance trade-off. The solid line arrow in FIG. 11 indicates the default virtual channel (VC0), and the broken line arrow indicates the other virtual channels (VC1 to VC7).
トランザクション層内では、トラフィッククラス(TC)が仮想チャネル(VC)にマッピングされる。1つの仮想チャネル(VC)に対して1つ又は複数のトラフィッククラス(TC)をマッピングできる(仮想チャネル(VC)の数が少ない場合)。単純な例では、各トラフィッククラス(TC)から各仮想チャネル(VC)に1対1、全てのトラフィッククラス(TC)を仮想チャネルVC0にマッピングする、といったことが考えられる。TC0−VC0のマッピングは、必須/固定で、それ以外のマッピングは上位のソフトウェアから制御される。ソフトウェアはトラフィッククラス(TC)を利用することで、トランザクションの優先度を制御することが可能となる。 Within the transaction layer, a traffic class (TC) is mapped to a virtual channel (VC). One or more traffic classes (TC) can be mapped to one virtual channel (VC) (when the number of virtual channels (VC) is small). In a simple example, it can be considered that each traffic class (TC) is mapped to each virtual channel (VC) on a one-to-one basis, and all traffic classes (TC) are mapped to the virtual channel VC0. The mapping of TC0-VC0 is essential / fixed, and the other mappings are controlled from the upper software. The software can control the priority of the transaction by using the traffic class (TC).
d.フロー制御
受信バッファのオーバフローを避け、伝送順序を確立するためにフロー制御(FC:Flow Control)が行われる。フロー制御は、リンク間のポイントツーポイントで行われ、エンドツーエンドではない。従って、フロー制御により最終的な相手(コンプリータ)にパケットが届いたことを確認することはできない。
d. Flow control Flow control (FC) is performed to avoid the overflow of the reception buffer and establish the transmission order. Flow control is done point-to-point between links, not end-to-end. Therefore, it cannot be confirmed that the packet has reached the final partner (completer) by flow control.
PCI Expressのフロー制御は、クレジット・ベースで行われる(データ転送を始める前に、受け取り側のバッファの空き状況を確認し、オーバフロー、アンダフローが発生しないメカニズム)。即ち、受信側はリンク初期化時にバッファ容量(クレジット値)を送信側に通知し、送信側はクレジット値と送信するパケットの長さとを比較し、一定の残りがある場合のみパケットを送信する。このクレジットには6種類ある。 PCI Express flow control is performed on a credit basis (a mechanism that confirms the buffer availability on the receiving side before starting data transfer and prevents overflow and underflow). That is, the receiving side notifies the transmitting side of the buffer capacity (credit value) at the time of link initialization, and the transmitting side compares the credit value with the length of the packet to be transmitted, and transmits the packet only when there is a certain remaining. There are six types of credits.
フロー制御の情報交換はデータリンク層のデータリンクレイヤパケット(DLLP)を使用して行われる。フロー制御はトランザクションレイヤパケット(TLP)のみに適用され、データリンクレイヤパケット(DLLP)には適用されない(DLLPは常時送受信可能)。 Flow control information exchange is performed using data link layer packets (DLLP) in the data link layer. The flow control is applied only to the transaction layer packet (TLP) and not to the data link layer packet (DLLP) (DLLP can always be transmitted / received).
B.データリンク層154
データリンク層154の主な役割は、前述したように、リンク上の2つのコンポーネント間での信頼性の高いトランザクションレイヤパケット(TLP)交換機能を提供することである。
B.
The main role of the
a.トランザクションレイヤパケット(TLP)の扱い
トランザクション層153から受け取ったトランザクションレイヤパケット(TLP)に対しては、先頭に2バイトのシーケンス番号、末尾に4バイトのリンクCRC(LCRC)を付加して、物理層155に渡す(図9参照)。トランザクションレイヤパケット(TLP)は、リトライバッファに保管され、相手から受信確認(ACK)が届くまで再送される。トランザクションレイヤパケット(TLP)の送信に失敗が続いた場合は、リンク異常であると判断して物理層155に対してリンクの再トレーニングを要求する。リンクのトレーニングが失敗した場合、データリンク層154の状態はインアクティブに遷移する。
a. Handling of transaction layer packet (TLP) For the transaction layer packet (TLP) received from the
物理層155から受け取ったトランザクションレイヤパケット(TLP)は、シーケンス番号とリンクCRC(LCRC)が検査され、正常であればトランザクション層153に渡され、エラーがあった場合は再送を要求する。
The transaction layer packet (TLP) received from the
b.データリンクレイヤパケット(DLLP)
データリンク層154が生成するパケットは、データリンクレイヤパケット(DLLP)と呼ばれ、データリンク層154間でやり取りされる。データリンクレイヤパケット(DLLP)には、
・Ack/Nak:TLPの受信確認、リトライ(再送)
・InitFC1/InitFC2/UpdateFC:フロー制御の初期化とアップデート
・電源管理のためのDLLP
なる種類がある。
b. Data link layer packet (DLLP)
A packet generated by the
-Ack / Nak: TLP reception confirmation, retry (retransmission)
-InitFC1 / InitFC2 / UpdateFC: Flow control initialization and update-DLLLP for power management
There are different types.
図12に示すように、データリンクレイヤパケット(DLLP)の長さは6バイトで、種類を示すDLLPタイプ(1バイト)、DLLPの種類で固有の情報(3バイト)、CRC(2バイト)から構成される。 As shown in FIG. 12, the length of the data link layer packet (DLLP) is 6 bytes. From the DLLP type (1 byte) indicating the type, the information specific to the type of DLLP (3 bytes), and CRC (2 bytes) Composed.
C.物理層−論理サブブロック156
図8中に示す物理層155の論理サブブロック156での主な役割は、データリンク層154から受け取ったパケットを電気サブブロック157で送信できる形式に変換することである。また、物理層155を制御/管理する機能も有する。
C. Physical layer-
The main role of the
a.データ符号化とパラレル−シリアル変換
PCI Expressは、連続した“0”や“1”が続かないように(長い期間、クロス・ポイントが存在しない状態が続かないようにするため)、データ符号化に8B/10B変換を用いる。変換されたデータは、図13中に示すように、シリアル変換され、LSBからレーン上に送信される。ここに、レーンが複数ある場合は(図13はx4リンクの場合を例示している)、符号化の前にデータがバイト単位で各レーンに割り振られる。この場合、一見パラレル・バスのようにみえるが、レーン毎に独立した転送を行うので、パラレル・バスで問題となるスキューが大幅に緩和される。
a. Data encoding and parallel-serial conversion
PCI Express uses 8B / 10B conversion for data encoding so that consecutive “0” s and “1” s do not continue (in order not to maintain a state where there is no cross point for a long period of time). The converted data is serial-converted and transmitted from the LSB onto the lane as shown in FIG. Here, when there are a plurality of lanes (FIG. 13 illustrates the case of x4 link), data is allocated to each lane in units of bytes before encoding. In this case, it looks like a parallel bus at first glance, but since the transfer is performed independently for each lane, the skew which is a problem with the parallel bus is greatly reduced.
b.電源管理とリンクステート
リンクの消費電力を低く抑えるために、表1に示すように、L0/L0s/L1/L2というリンクステートが定義されている。
b. Power management and link state As shown in Table 1, a link state of L0 / L0s / L1 / L2 is defined in order to keep the power consumption of the link low.
L0が通常モードで、L0sからL2へと低消費電力となるが、L0への復帰にも時間がかかるようになる。図14に示すように、ソフトウェアによる電源管理に加えて、アクティブステート電源管理を積極的に行うことにより、消費電力を極力小さくすることが可能となる。 L0 is a normal mode, and power consumption is reduced from L0s to L2, but it takes time to return to L0. As shown in FIG. 14, by actively performing active state power management in addition to software power management, it is possible to reduce power consumption as much as possible.
D.物理層−電気サブブロック157
物理層155の電気サブブロック157での主な役割は、論理サブブロック156でシリアル化されたデータをレーン上に送信することと、レーン上のデータを受信して論理サブブロック156に渡すことである。
D. Physical layer—
The main role of the
a.ACカップリング
リンクの送信側では、ACカップリング用のコンデンサが実装される。これにより、送信側と受信側のDCコモンモード電圧が同一である必要がなくなる。このため、送信側と受信側で異なる設計、半導体プロセス、電源電圧を使用することが可能となる。
a. AC coupling On the transmission side of the link, a capacitor for AC coupling is mounted. This eliminates the need for the DC common mode voltage on the transmission side and the reception side to be the same. For this reason, it is possible to use different designs, semiconductor processes, and power supply voltages on the transmission side and the reception side.
b.デエンファシス
PCI Expressでは、前述したように、8B/10Bエンコーディングによってできるだけ連続した“0”や“1”が続かないように処理されるが、連続した“0”や“1”が続くこともある(最大5回)。この場合、送信側はデエンファシス転送を行わなければならないことが規定されている。同一極性のビットが連続する場合は、2つ目のビットからは差動電圧レベル(振幅)を3.5±0.5dB落とすことで、受信側で受け取る信号のノイズ・マージンを稼ぐ必要がある。これを、デエンファシスという。伝送路の周波数依存性減衰のため、変化するビットの場合は高周波成分が多く、減衰により受信側の波形が小さくなるが、変化しないビットの場合は高周波成分が少なく、相対的に受信側の波形が大きくなる。このため、受信側での波形を一定とするためにデエンファシスを行う。
b. De-emphasis
In PCI Express, as described above, processing is performed so that continuous “0” and “1” do not continue as much as possible by 8B / 10B encoding, but continuous “0” and “1” may continue (maximum). 5 times). In this case, it is specified that the transmission side must perform de-emphasis transfer. When bits of the same polarity are consecutive, it is necessary to increase the noise margin of the signal received on the receiving side by dropping the differential voltage level (amplitude) from the second bit by 3.5 ± 0.5 dB. . This is called de-emphasis. Due to the frequency-dependent attenuation of the transmission line, there are many high-frequency components in the case of changing bits, and the waveform on the receiving side becomes small due to attenuation. Becomes larger. For this reason, de-emphasis is performed in order to make the waveform on the receiving side constant.
[画像形成システム]
本実施の形態のデータ転送装置は、プリンタのような画像出力装置やスキャナのような画像入力装置、さらには、これらを併せ持つデジタル複写機、MFPのような画像形成装置等の画像形成システムにおいて高速シリアルインタフェースとして利用されるものであり、前述したようなPCI Express規格に準拠するものである。
[Image forming system]
The data transfer apparatus according to the present embodiment is a high-speed image forming apparatus such as an image output apparatus such as a printer, an image input apparatus such as a scanner, and a digital copying machine having both of them and an image forming apparatus such as an MFP. It is used as a serial interface and conforms to the PCI Express standard as described above.
本実施の形態のデータ転送装置が適用される画像形成システムの一例を図15を参照して説明する。図15は、本実施の形態のデータ転送装置が適用される画像形成システムの各機器・デバイス等の接続の概要を示すブロック図である。当該画像形成システム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、画像入力エンジン、画像出力エンジンを併せ持つ他の複合機28などである。
An example of an image forming system to which the data transfer apparatus of this embodiment is applied will be described with reference to FIG. FIG. 15 is a block diagram showing an outline of connections of devices, devices, etc. of an image forming system to which the data transfer apparatus of this embodiment is applied. The
[アービトレーションに関する規格]
このような画像形成システムでは、各々の機器・デバイスに必要とされるデータ転送レートが異なるため、精度の高い転送レート調整が必要となる。このための規格として、前述したようなシリアルバスを仮想チャネルVC単位で時分割に使い分けて複数トラフィックのパケットデータを伝送する仮想チャネル手段を利用し、仮想チャネルVC毎にパケットデータを発行する優先度を調停する機能(アービトレーション手段)がある。
[Arbitration standard]
In such an image forming system, since the data transfer rate required for each device / device is different, a highly accurate transfer rate adjustment is required. 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).
図16は、PCI Express規格のアービトレーション機能に従い構成された従来のシリアル送信回路(データ転送装置)の構成例を示す概略ブロック図である。図示例は、最大8チャネルの仮想チャネルVCのうち、4チャネル構成に規定された例を示している。シリアル送信回路31は、デバイスから各チャネル毎のデータ1〜4を受け取り、パケットデータ1〜4を生成するパケット生成回路32と、生成されたパケットデータ1〜4を仮想チャネルVC毎に一時蓄える仮想チャネルバッファ(仮想チャネル手段)33a〜33dと、仮想チャネルバッファ33a〜33dに蓄えられたパケットデータ1〜4を仮想チャネルVC毎に予め規定されている優先度に従い調停してシリアル出力バッファ34を介して信号出力回路35に出力するアービトレーション回路(アービトレーション手段)36とにより構成されている。
FIG. 16 is a schematic block diagram showing a configuration example of a conventional serial transmission circuit (data transfer device) configured according to the arbitration function of the PCI Express standard. The illustrated example shows an example defined in a 4-channel configuration among a maximum of 8 virtual channels VC. The
図示例は、各仮想チャネルVC毎に均等な頻度でパケットデータを発行させるアービトレーションのアルゴリズムによる場合を例示しており、上記アービトレーションに従い、シリアル送信回路31の信号出力回路35からシリアルバス上にはパケットデータ1〜4が図示の如く均等に出力される。
The illustrated example illustrates the case of an arbitration algorithm for issuing packet data with equal frequency for each virtual channel VC. According to the arbitration, a packet is transmitted from the
ところが、前述したように、PCI Express規格の仮想チャネルVCのアービトレーションのように、仮想チャネルVC毎のパケットデータの発行頻度の優先度を指定しただけでは優先度制御の自由度が低く、複数トラフィックのパケットデータに対して高精度にデータ転送レートを制御することは難しい。 However, as described above, just by specifying the priority of the packet data issuance frequency for each virtual channel VC as in the arbitration of the virtual channel VC of the PCI Express standard, the degree of freedom of priority control is low, and multiple traffic It is difficult to control the data transfer rate with high accuracy for packet data.
[データ転送装置]
そこで、本実施の形態のシリアル送信回路(データ転送装置)では、仮想チャネルVC毎に送信するパケットデータのペイロードサイズに着目し、発行するパケットデータのペイロードサイズを仮想チャネルVC毎に任意に指定可能とし、仮想チャネルVC毎に指定されたペイロードサイズのパケットデータを生成してアービトレーション回路36に出力させるようにしたものである。
[Data transfer device]
Therefore, in the serial transmission circuit (data transfer apparatus) of the present embodiment, paying attention to the payload size of packet data transmitted for each virtual channel VC, the payload size of the packet data to be issued can be arbitrarily designated for each virtual channel VC. Packet data having a payload size designated for each virtual channel VC is generated and output to the
図17は、本実施の形態のシリアル送信回路(データ転送装置)37の構成例を示す概略ブロック図である。図16に示した部分と同一部分は同一符号を用いて示し、説明も省略する。本実施の形態のシリアル送信回路37では、各仮想チャネルVC毎に送信するパケットデータのペイロードサイズを任意の大きさで指定するロジック構成のペイロードサイズ決定回路(ペイロードサイズ指定手段)37が付加され、パケット生成回路32がペイロードサイズ決定回路38により指定されたペイロードサイズに従い各仮想チャネルVC毎のパケットデータを生成してアービトレーション回路36に出力するパケット生成手段として設けられている。ここに、「ペイロードサイズ」とは、パケットデータ全体のサイズのうち、ヘッダ情報以外のデータ部分のサイズを意味する。図示例では、各仮想チャネルVC毎のパケットデータ1〜4のペイロードサイズがペイロードサイズ決定回路38によりその四角の大きさの違いで示すようにパケットデータ1>2>3>4の如く異ならせて指定されているものとする。なお、ペイロードサイズ決定回路38としては、CPUによるプログラム処理により実現するようにしてもよい。
FIG. 17 is a schematic block diagram showing a configuration example of the serial transmission circuit (data transfer device) 37 of the present embodiment. The same parts as those shown in FIG. 16 are denoted by the same reference numerals, and description thereof is also omitted. In the
従って、図示例によれば、各仮想チャネルVC毎に均等な頻度でパケットデータを発行させる優先度付けのアービトレーションのアルゴリズムに加えて、パケットデータのペイロードサイズの指定による調整を含む場合のシリアルバス出力例を示しており、シリアル送信回路37の信号出力回路35からシリアルバス上にはパケットデータ1〜4がパケットデータ1>2>3>4の順にデータ転送量が優先されるようにデータ転送レートが制御されて出力される。
Therefore, according to the illustrated example, the serial bus output in the case of including adjustment by specifying the payload size of the packet data in addition to the arbitration algorithm with priority for issuing the packet data with equal frequency for each virtual channel VC An example is shown, and the data transfer rate is given so that the data transfer amount is given priority in the order of
つまり、各リンクで複数の仮想チャネルVCを用いて、仮想チャネルVC毎の優先度付けのアービトレーションのアルゴリズムと、各仮想チャネルVC毎のパケットデータのペイロードサイズとを、必要なデータ転送レートが得られる組合せで指定することで、各機器・デバイス間で精度の高い転送レートの制御が可能となる。 That is, by using a plurality of virtual channels VC in each link, a necessary data transfer rate can be obtained from an arbitration algorithm with priorities for each virtual channel VC and a payload size of packet data for each virtual channel VC. By specifying in combination, it is possible to control the transfer rate with high accuracy between each device / device.
図18は画像形成システムの単純構成例を示すブロック図、図19はペイロードサイズ変更に伴う転送レート調整の様子を示す説明図である。本実施の形態方式による効果を図18に示す簡単な例を挙げて説明する。図18では、スキャナ41とプロッタ42とを有するMFPエンジン43(図15の複合機28に相当)とコントローラ44とをスイッチ14を介して1本のリンク15(高速シリアルバス)で繋いだ例(スイッチ14の異なるポート0,1に対してMFPエンジン43とコントローラ44とが各々物理的に1つのポートA,Bにより接続されている)を示しており、MFPエンジン43とコントローラ44との間のパケットデータの転送レートを調停する必要がある。この場合、仮想チャネルVCのアービトレーションのアルゴリズムとして、均等な頻度でパケットデータを発行させるラウンドロビン(RR)しか規格でサポートされていないような場合であっても、上述したように、例えばスキャナ41からコントローラ44に送信されるライトデータなるパケットデータのペイロードサイズを適宜指定することにより、プロッタ42からコントローラ44に送信されるリードリクエストのパケットデータが発行される頻度を細かく調整することができる。
FIG. 18 is a block diagram showing a simple configuration example of the image forming system, and FIG. 19 is an explanatory diagram showing a state of transfer rate adjustment accompanying the payload size change. The effect of the present embodiment will be described with reference to a simple example shown in FIG. In FIG. 18, an MFP engine 43 (corresponding to the
例えば、図19(a)は、スキャナ41からのライトデータのペイロードサイズを大きくした場合には、プロッタ42からのリードリクエストが3つ発行される例を示し、図19(b)は、スキャナ41からのライトデータのペイロードサイズを小さくした場合には、プロッタ42からのリードリクエストが4つ発行される例を示している。従って、リードリクエストをなるべく早くコントローラ44に到着させる方が望ましい場合、仮想チャネルVCのアービトレーションのアルゴリズムがラウンドロビン(RR)に指定されていても、スキャナ41からのライトリクエストの1パケットデータ当りのペイロードサイズが図19(b)に示すように小さくなるようにそのサイズを指定することにより、ライトデータとリードリクエストの転送レートの所望通りの調整が可能となる。
For example, FIG. 19A shows an example in which three read requests from the plotter 42 are issued when the payload size of the write data from the
ところで、上述の説明では、仮想チャネルVCのアービトレーションのアルゴリズムとして、PCI Express規格のラウンドロビン(Round Robin)の例で説明したが、アービトレーションのアルゴリズムとしては、この他、各仮想チャネル毎に重み付けされた頻度でパケットデータを発行させる方式(PCI Express規格上であれば、ウエイテッドラウンドロビン(Weighted Round Robin))、各仮想チャネル毎に固定の優先順位でパケットデータを発行させる方式(PCI Express規格上であれば、ストリクト(Strict))がある。これらの仮想チャネルVCのアービトレーションのアルゴリズムについて説明する。 In the above description, the arbitration algorithm of the virtual channel VC has been described with the PCI Express standard round robin as an arbitration algorithm. However, the arbitration algorithm is weighted for each virtual channel. A method of issuing packet data at a frequency (weighted round robin if it is on the PCI Express standard), a method of issuing packet data with a fixed priority for each virtual channel (on the PCI Express standard) If there is, there is a strict. The arbitration algorithm of these virtual channels VC will be described.
図20はこれらのアービトレーションのアルゴリズムの各方式の基本特性例を示す特性図である。なお、アービトレーション特性の測定結果は動的な変動を観測する必要があるため、図20ではデータ積算図として示す。図において、横軸は時間、縦軸は転送されたデータ量(積算値)である。なお、ペイロードサイズは、4種類とも128byte(約8000)固定の条件での測定例とする。図20(a)はストリクト(strict)特性を示すもので、単純に、順番にデータを流していくアルゴリズムである。図20(b)はラウンドロビン(RR)特性を示し、4種類のデータを順番に均等に分けながら流していくアルゴリズムであり、図面上、4種類の特性は1本の特性に重なって表現されている。図20(c)はウエイテッドラウンドロビン(WRR)特性として、4種類に関して1:2:4:8の比率でデータ転送させるように設定した場合の特性例を示し、1つのトラフィッククラスのデータ転送が終了すると、残りのトラフィッククラスについて8:4:2、さらには、8:4の如く、比率を変遷させながらデータ転送させるアルゴリズムである。 FIG. 20 is a characteristic diagram showing an example of basic characteristics of each method of these arbitration algorithms. In addition, since it is necessary to observe the dynamic fluctuation | variation for the measurement result of arbitration characteristics, it shows as a data integration figure in FIG. In the figure, the horizontal axis represents time, and the vertical axis represents the amount of transferred data (integrated value). Note that all four types of payload sizes are measurement examples fixed at 128 bytes (about 8000). FIG. 20 (a) shows a strict characteristic, which is an algorithm that simply flows data in order. FIG. 20B shows a round robin (RR) characteristic, which is an algorithm in which four types of data are flowed while being equally divided in order. In the drawing, the four types of characteristics are represented by overlapping one characteristic. ing. FIG. 20 (c) shows an example of characteristics when weighted round robin (WRR) characteristics are set so that data transfer is performed at a ratio of 1: 2: 4: 8 for four types. Data transfer of one traffic class Is completed, the data is transferred while changing the ratio of the remaining traffic class, such as 8: 4: 2 and further 8: 4.
また、ストリクト(strict)のアルゴリズムで測定した場合のペイロードの基本特性を図21に示す。図21では、個々のトラフィックのペイロードサイズの指定を左側から順に、8,16,32,64Bytesの如く変えた例を示している。図21によれば、4つのトラフィックの傾きに注目すると、ペイロードサイズが小さいほど転送レートが遅く、ペイロードサイズが大きいほど転送レートが大きいことが分かる。このようなペイロード特性は、他のアービトレーションのアルゴリズムを用いた場合も同様である。つまり、仮想チャネルVCのアービトレーションのアルゴリズムの設定と、ペイロードイズの指定とを組合せることにより、より木目細やかにトラフィック調整が可能なことが判る。 FIG. 21 shows the basic characteristics of the payload when measured with a strict algorithm. FIG. 21 shows an example in which the designation of the payload size of each traffic is changed in order from the left side, such as 8, 16, 32, and 64 Bytes. According to FIG. 21, paying attention to the inclinations of the four traffics, it can be seen that the smaller the payload size, the slower the transfer rate, and the larger the payload size, the larger the transfer rate. Such payload characteristics are the same when other arbitration algorithms are used. That is, it can be seen that the traffic adjustment can be performed more finely by combining the setting of the arbitration algorithm of the virtual channel VC and the designation of the payload size.
図22は、ペイロードサイズと仮想チャネルVCのアービトレーションのアルゴリズムとの相互作用について説明するための特性図である。前述したように、ペイロードサイズと仮想チャネルVCのアービトレーションのアルゴリズムとの組合せ次第で転送レートが変化するため、相互に影響を与える。図22に示す典型例を参照してその影響について説明する。 FIG. 22 is a characteristic diagram for explaining the interaction between the payload size and the arbitration algorithm of the virtual channel VC. As described above, since the transfer rate changes depending on the combination of the payload size and the arbitration algorithm of the virtual channel VC, they affect each other. The influence will be described with reference to a typical example shown in FIG.
図22(a)は、アービトレーションのアルゴリズムがラウンドロビン(RR)で、ペイロードサイズが8Bytes固定の場合を示し、図22(b)は、アービトレーションのアルゴリズムがラウンドロビン(RR)で、ペイロードサイズが順に8,16,32,64Bytesの如く不均一に指定されている場合を示し、図22(c)は、アービトレーションのアルゴリズムが1:2:4:8なる重み付けのウエイテッドラウンドロビン(WRR)で、ペイロードサイズが順に8,16,32,64Bytesの如く不均一に指定されている場合を示している。 FIG. 22A shows a case where the arbitration algorithm is round robin (RR) and the payload size is fixed to 8 bytes. FIG. 22B shows the arbitration algorithm is round robin (RR) and the payload sizes are in order. FIG. 22 (c) shows a weighted round robin (WRR) weighted with an arbitration algorithm of 1: 2: 4: 8. This shows a case where the payload size is specified non-uniformly in order, such as 8, 16, 32, and 64 bytes.
まず、図22(a)と図22(b)とは、4つの仮想チャネルVCに割当てているトラフィックのペイロードサイズのみが異なる例を示しているが、その特性には大きな違いがある。特に、図22(b)に示す設定例は、アービトレーションのアルゴリズムがラウンドロビン(RR)であるが、各トラフィックのペイロードサイズを同じとした場合のアービトレーションのアルゴリズムであるウエイテッドラウンドロビン(WRR)の場合の特性と等価になる。 First, FIG. 22 (a) and FIG. 22 (b) show an example in which only the payload size of the traffic allocated to the four virtual channels VC is different, but there is a great difference in the characteristics. In particular, in the setting example shown in FIG. 22B, although the arbitration algorithm is round robin (RR), the weighted round robin (WRR) which is an arbitration algorithm when the payload size of each traffic is the same is used. It becomes equivalent to the characteristic of the case.
また、図22(b)と図22(c)とは、アービトレーションのアルゴリズムのみが異なる例を示しているが、各8kBのデータ転送区間においては、明らかに違う特性となっている。 Further, FIG. 22B and FIG. 22C show an example in which only the arbitration algorithm is different, but the characteristics are clearly different in each 8 kB data transfer section.
以上の場合とは逆に、パラメータの設定が全く別であるが、似た特性を示す場合もある。図22(a)と図22(c)との例であり、ペイロードサイズ及びアービトレーションのアルゴリズムが異なる例を示している。即ち、全て別個の設定であるが、4トラフィックの傾きがほぼ均等になっている(もっとも、図22(c)に示す例では、ヘッダのオーバヘッド分の差が生ずる)。 Contrary to the above case, the parameter settings are completely different, but may have similar characteristics. FIG. 22A and FIG. 22C show examples in which the payload size and the arbitration algorithm are different. In other words, all the settings are separate, but the slopes of the four traffics are almost equal (although in the example shown in FIG. 22 (c), a header overhead difference occurs).
以上のように、目的とする平均的な転送レートを得るための指定方法としては、複数の方法が存在する。この選択の自由度を有効に活用し、他の構造的な設計制約(例えば、バッファサイズ、タグ段数等)があっても、目的とするトラフィック制御が可能となる。また、仮想チャネルVCのアービトレーションのアルゴリズムの設定を変更するためには、コンフィグライトで仮想チャネルVCのアービトレーションテーブルの変更が必要となるが、ペイロードサイズの指定変更によれば、ユーザロジックの作り方次第で高速変更が可能になる。これにより、例えば動的な平均レートの変更は、高速対応可能なペイロードサイズ変更で対応し、静的な平均レートの変更は、仮想チャネルVCのアービトレーションのアルゴリズムの変更で対応する、等の使い分けが可能になる。 As described above, there are a plurality of designation methods for obtaining a target average transfer rate. By effectively utilizing this degree of freedom of selection, even if there are other structural design constraints (for example, buffer size, number of tag stages, etc.), target traffic control can be performed. In order to change the arbitration algorithm setting of the virtual channel VC, it is necessary to change the arbitration table of the virtual channel VC with config write. However, according to the change of payload size designation, it depends on how the user logic is created. Fast change is possible. As a result, for example, dynamic change in the average rate can be handled by changing the payload size that can be handled at high speed, and change in the static average rate can be done by changing the arbitration algorithm of the virtual channel VC. It becomes possible.
32 パケット生成手段
33a〜33d 仮想チャネル手段
36 アービトレーション手段
38 ペイロードサイズ指定手段
41 画像入力手段
42 画像出力手段
44 コントローラ
32 packet generation means 33a to 33d virtual channel means 36 arbitration means 38 payload size designation means 41 image input means 42 image output means 44 controller
Claims (7)
発行するパケットデータのペイロードサイズを前記仮想チャネル毎に指定するペイロードサイズ指定手段と、
前記仮想チャネル毎に指定されたペイロードサイズのパケットデータを生成して前記アービトレーション手段に出力するパケット生成手段と、
を備えることを特徴とするデータ転送装置。 In a data transfer apparatus having 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 packet data for each virtual channel,
Payload size specifying means for specifying the payload size of the packet data to be issued for each virtual channel;
Packet generating means for generating packet data of a payload size designated for each virtual channel and outputting the packet data to the arbitration means;
A data transfer device comprising:
And at least an image input engine, an image output engine, a controller for controlling and driving the image input engine and the image output engine, and the controller, the image input engine, and the image output engine. An image forming system comprising: an interface by the serial data transfer device according to any one of 1 to 6.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004277305A JP2006092286A (en) | 2004-09-24 | 2004-09-24 | Data transfer device and image forming system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004277305A JP2006092286A (en) | 2004-09-24 | 2004-09-24 | Data transfer device and image forming system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006092286A true JP2006092286A (en) | 2006-04-06 |
Family
ID=36233183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004277305A Pending JP2006092286A (en) | 2004-09-24 | 2004-09-24 | Data transfer device and image forming system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006092286A (en) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008021153A (en) * | 2006-07-13 | 2008-01-31 | Nec Computertechno Ltd | Computer system |
JP2008021024A (en) * | 2006-07-11 | 2008-01-31 | Ricoh Co Ltd | Information processor and data communication equipment |
JP2009010920A (en) * | 2007-04-10 | 2009-01-15 | Ricoh Co Ltd | Image processing controller and image processing device |
US7664904B2 (en) | 2006-03-10 | 2010-02-16 | Ricoh Company, Limited | High speed serial switch fabric performing mapping of traffic classes onto virtual channels |
US7779187B2 (en) | 2006-03-17 | 2010-08-17 | Ricoh Company, Ltd. | Data communication circuit and arbitration method |
EP2546758A1 (en) | 2011-07-15 | 2013-01-16 | Ricoh Company, Ltd. | Data transfer apparatus and image forming system |
JP2017085786A (en) * | 2015-10-28 | 2017-05-18 | ファナック株式会社 | Motor control device combining low-latency and high-throughput data communication |
JP2020113137A (en) * | 2019-01-15 | 2020-07-27 | 株式会社日立製作所 | Storage device |
CN116094867A (en) * | 2023-04-10 | 2023-05-09 | 湖南鲸瓴智联信息技术有限公司 | Time-sensitive network control protocol design method based on MLVDS bus |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000332767A (en) * | 1999-05-14 | 2000-11-30 | Sony Corp | Communication method, communication system and communication device |
JP2003330877A (en) * | 2002-05-17 | 2003-11-21 | Fuji Photo Film Co Ltd | Information processor |
JP2004112410A (en) * | 2002-09-19 | 2004-04-08 | Fuji Xerox Co Ltd | Image forming apparatus, and functional module used therefor |
-
2004
- 2004-09-24 JP JP2004277305A patent/JP2006092286A/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000332767A (en) * | 1999-05-14 | 2000-11-30 | Sony Corp | Communication method, communication system and communication device |
JP2003330877A (en) * | 2002-05-17 | 2003-11-21 | Fuji Photo Film Co Ltd | Information processor |
JP2004112410A (en) * | 2002-09-19 | 2004-04-08 | Fuji Xerox Co Ltd | Image forming apparatus, and functional module used therefor |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7664904B2 (en) | 2006-03-10 | 2010-02-16 | Ricoh Company, Limited | High speed serial switch fabric performing mapping of traffic classes onto virtual channels |
US7779187B2 (en) | 2006-03-17 | 2010-08-17 | Ricoh Company, Ltd. | Data communication circuit and arbitration method |
JP2008021024A (en) * | 2006-07-11 | 2008-01-31 | Ricoh Co Ltd | Information processor and data communication equipment |
JP2008021153A (en) * | 2006-07-13 | 2008-01-31 | Nec Computertechno Ltd | Computer system |
JP2009010920A (en) * | 2007-04-10 | 2009-01-15 | Ricoh Co Ltd | Image processing controller and image processing device |
EP2546758A1 (en) | 2011-07-15 | 2013-01-16 | Ricoh Company, Ltd. | Data transfer apparatus and image forming system |
US8745287B2 (en) | 2011-07-15 | 2014-06-03 | Ricoh Company, Ltd. | Data transfer apparatus and image forming system |
JP2017085786A (en) * | 2015-10-28 | 2017-05-18 | ファナック株式会社 | Motor control device combining low-latency and high-throughput data communication |
JP2020113137A (en) * | 2019-01-15 | 2020-07-27 | 株式会社日立製作所 | Storage device |
CN116094867A (en) * | 2023-04-10 | 2023-05-09 | 湖南鲸瓴智联信息技术有限公司 | Time-sensitive network control protocol design method based on MLVDS bus |
CN116094867B (en) * | 2023-04-10 | 2023-06-16 | 湖南鲸瓴智联信息技术有限公司 | Time-sensitive network control protocol design method based on MLVDS bus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4878185B2 (en) | Data communication circuit and arbitration method | |
JP5108261B2 (en) | Information processing apparatus and data communication apparatus | |
JP4928732B2 (en) | Data transfer system and electronic device | |
JP4704050B2 (en) | Data transfer system and electronic device | |
JP2006195871A (en) | Communication device, electronic equipment and image forming device | |
JP4564855B2 (en) | Data transfer system and electronic device | |
JP2008172727A (en) | Control apparatus and image processing system | |
JP4308680B2 (en) | Image forming apparatus | |
JP4777723B2 (en) | Information processing system, program, and data transfer method | |
JP4287325B2 (en) | Imaging system | |
JP4928715B2 (en) | Serial data transfer device, image output device, image input device, and image forming device | |
JP2006092286A (en) | Data transfer device and image forming system | |
JP4564740B2 (en) | Imaging equipment system | |
JP4425766B2 (en) | Image forming system | |
JP4476088B2 (en) | Data transfer apparatus and image forming system | |
JP5218377B2 (en) | Image forming system | |
JP4603336B2 (en) | Data transfer system, image forming system, and data transfer method | |
JP2007241882A (en) | Data communication device, and image forming system | |
JP4690828B2 (en) | Information processing system, program, and packet communication method | |
JP2007226494A (en) | Data transfer system | |
JP4824422B2 (en) | Control device, image processing system, and data transfer path switching method | |
JP2007282187A (en) | Information processor, information processing system, and data communication method | |
JP2005346629A (en) | Image processing apparatus | |
JP2007272871A (en) | Information processing apparatus and data communication method | |
JP2006113798A (en) | Data transfer system, reception buffer device, method for setting specification of data transfer system and image formation system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Effective date: 20070208 Free format text: JAPANESE INTERMEDIATE CODE: A7421 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070827 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091222 |
|
A521 | Written amendment |
Effective date: 20100222 Free format text: JAPANESE INTERMEDIATE CODE: A523 |
|
A131 | Notification of reasons for refusal |
Effective date: 20100406 Free format text: JAPANESE INTERMEDIATE CODE: A131 |
|
A521 | Written amendment |
Effective date: 20100607 Free format text: JAPANESE INTERMEDIATE CODE: A523 |
|
A02 | Decision of refusal |
Effective date: 20110405 Free format text: JAPANESE INTERMEDIATE CODE: A02 |