JP2007282187A - Information processor, information processing system, and data communication method - Google Patents
Information processor, information processing system, and data communication method Download PDFInfo
- Publication number
- JP2007282187A JP2007282187A JP2007012023A JP2007012023A JP2007282187A JP 2007282187 A JP2007282187 A JP 2007282187A JP 2007012023 A JP2007012023 A JP 2007012023A JP 2007012023 A JP2007012023 A JP 2007012023A JP 2007282187 A JP2007282187 A JP 2007282187A
- Authority
- JP
- Japan
- Prior art keywords
- traffic
- information processing
- priority
- traffic class
- processing 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
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
本発明は、トラフィックの差別化を行うことができるトラフィッククラスを仮想チャネルに対してマッピング可能な高速シリアルスイッチファブリックを介して複数のデバイスを接続した情報処理装置、情報処理システムおよびデータ通信方法に関する。 The present invention relates to an information processing apparatus, an information processing system, and a data communication method in which a plurality of devices are connected via a high-speed serial switch fabric capable of mapping a traffic class capable of differentiating traffic to a virtual channel.
一般に、画像データやその他のデータを扱うデジタル複写機、複合機(MFP)等の情報処理装置では、デバイス間のインタフェースにPCIバスが使用されている。 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.
しかし、パラレル方式のPCIバスでは、レーシングやスキューなどの問題があり、高速・高画質の画像形成装置に使用するには、転送レートが低い段階にきており、最近では、PCIバスのようなパラレル方式のインタフェースに代えて、IEEE1394やUSB等の高速シリアルインタフェースの使用が検討されている。例えば、特許文献1によれば、内部インタフェースとして、IEEE1394やUSB等の高速シリアルインタフェースを使用することが提案されている。
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
また、他の高速シリアルインタフェースとして、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 アーキテクチャに基づく高速シリアルスイッチファブリックであるAdvanced Switching Interconnect規格も策定されている。このAdvanced Switching Interconnectは、PCI Expressの高速シリアル伝送の物理層とリンク層の技術をそのまま採用しつつ、より広範囲なアプリケーションに対応できるようにしたものであり、その接続対象はChip-to-Chip, Board-to-Boardを想定している。このAdvanced Switching Interconnectによれば、トラフィッククラスを仮想チャネルに対してマッピングすることにより、トラフィックの差別化(優先度をつける)を行うことができる。 In recent years, the Advanced Switching Interconnect standard, which is a high-speed serial switch fabric based on the PCI Express architecture, has been formulated. This Advanced Switching Interconnect is designed to support a wider range of applications while directly adopting the physical layer and link layer technologies of PCI Express high-speed serial transmission, and its connection target is Chip-to-Chip, Assume Board-to-Board. According to this Advanced Switching Interconnect, traffic can be differentiated (prioritized) by mapping a traffic class to a virtual channel.
ところが、デバイス間のインタフェースとしてPCI Expressなるインタフェースを用いた場合であっても、解決せねばならない問題がある。概略的には、トラフィック制御が不十分である点、マルチホストが不可である点、拡張性の制限がある点などである。 However, even when a PCI Express interface is used as an interface between devices, there is a problem that must be solved. In general, traffic control is insufficient, multi-host is not possible, scalability is limited, and the like.
本発明は、上記に鑑みてなされたものであって、高速シリアルスイッチファブリックを用いると共に、様々な性質の異なるトラフィックを持つデバイスを高速シリアルスイッチファブリックに対して自由に拡張することができる情報処理装置およびデータ通信方法を提供することを目的とする。 The present invention has been made in view of the above, and is an information processing apparatus that uses a high-speed serial switch fabric and can freely expand devices having various different traffic characteristics to the high-speed serial switch fabric. It is another object of the present invention to provide a data communication method.
本発明は、上記に鑑みてなされたものであって、高速シリアルスイッチファブリックにおいてメモリリードコマンドとメモリライトコマンドとが競合するような場合に、高速なデータ転送に対処することができる情報処理システムを提供することを目的とする。 The present invention has been made in view of the above, and provides an information processing system that can cope with high-speed data transfer when a memory read command and a memory write command compete in a high-speed serial switch fabric. The purpose is to provide.
上述した課題を解決し、目的を達成するために、請求項1にかかる発明は、トラフィックの差別化を行うことができるトラフィッククラスを仮想チャネルに対してマッピング可能な高速シリアルスイッチファブリックを介して複数のデバイスを接続した情報処理装置において、競合が発生する前記デバイスにおける前記トラフィック毎に前記トラフィッククラスを設定するトラフィッククラス設定手段と、このトラフィッククラス設定手段により設定された前記各トラフィッククラスを、異なる前記仮想チャネルにそれぞれ割り当ててデータ通信の優先度を与えるチャネル設定手段と、を備える。
In order to solve the above-described problems and achieve the object, the invention according to
また、請求項2にかかる発明は、請求項1記載の情報処理装置において、前記高速シリアルスイッチファブリックは、Advanced Switching Interconnect規格のスイッチファブリックである。 According to a second aspect of the present invention, in the information processing apparatus according to the first aspect, the high-speed serial switch fabric is a switch fabric of an Advanced Switching Interconnect standard.
また、請求項3にかかる発明は、請求項1または2記載の情報処理装置において、前記仮想チャネルの設定により、ライン同期信号単位で等時性制約があるトラフィックの前記トラフィッククラスの優先度を、ページ単位で等時性制約があるトラフィックの前記トラフィッククラスの優先度より高くする。 According to a third aspect of the present invention, in the information processing apparatus according to the first or second aspect, the priority of the traffic class of traffic having isochronous restrictions in line synchronization signal units is set by the setting of the virtual channel. The priority is higher than the priority of the traffic class of the traffic having isochronous restrictions on a page basis.
また、請求項4にかかる発明は、請求項1または2記載の情報処理装置において、前記仮想チャネルの設定により、メモリリードトランザクションの前記トラフィッククラスの優先度を、メモリライトトランザクションの前記トラフィッククラスの優先度より高くする。 According to a fourth aspect of the present invention, in the information processing apparatus according to the first or second aspect, the priority of the traffic class of the memory read transaction is set to the priority of the traffic class of the memory write transaction by setting the virtual channel. Higher than the degree.
また、請求項5にかかる発明は、画像データを読み取る画像入力デバイスと、この画像入力デバイスで読み取られた画像データを蓄積する記憶デバイスと、この記憶デバイスに蓄積されている前記画像データを出力する画像出力デバイスとを備えた情報処理装置を高速シリアルスイッチファブリックを介して複数連結した情報処理システムにおいて、一の前記情報処理装置の前記画像入力デバイスで読み取られた画像データをマルチキャスト出力によって前記各情報処理装置の前記記憶デバイスにデータ転送し、前記各記憶デバイスに蓄積された前記画像データを前記各情報処理装置の前記画像出力デバイスから出力する場合、前記高速シリアルスイッチファブリックの仮想チャネルにおけるデータ通信の優先度を、メモリリードコマンド>メモリライトコマンドとする。 The invention according to claim 5 outputs an image input device that reads image data, a storage device that stores image data read by the image input device, and the image data stored in the storage device. In an information processing system in which a plurality of information processing apparatuses each having an image output device are connected via a high-speed serial switch fabric, each piece of information is obtained by multicast output of image data read by the image input device of the one information processing apparatus When data is transferred to the storage device of the processing device and the image data stored in each storage device is output from the image output device of each information processing device, data communication in the virtual channel of the high-speed serial switch fabric Priority, memory read command> And Mori write command.
また、請求項6にかかる発明は、画像データを読み取る画像入力デバイスと、この画像入力デバイスで読み取られた画像データを蓄積する記憶デバイスと、この記憶デバイスに蓄積されている前記画像データを出力する画像出力デバイスとを備えた情報処理装置を高速シリアルスイッチファブリックを介して複数連結した情報処理システムにおいて、一の前記情報処理装置の前記画像入力デバイスで読み取られた画像データを前記記憶デバイスにデータ転送し、前記画像データが蓄積された前記記憶デバイスに対して前記各情報処理装置の前記画像出力デバイスがおのおのメモリリードコマンドを発行して前記記憶デバイスに蓄積された画像データを出力する場合、前記高速シリアルスイッチファブリックの仮想チャネルにおけるデータ通信の優先度を、メモリリードコマンド>メモリライトコマンドとする。 The invention according to claim 6 outputs an image input device that reads image data, a storage device that stores image data read by the image input device, and the image data stored in the storage device. In an information processing system in which a plurality of information processing apparatuses including an image output device are connected via a high-speed serial switch fabric, image data read by the image input device of one information processing apparatus is transferred to the storage device When the image output device of each information processing apparatus issues a memory read command to output the image data stored in the storage device to the storage device in which the image data is stored, Data communication in virtual channel of serial switch fabric The priority, and the memory read command> memory write command.
また、請求項7にかかる発明は、画像データを読み取る画像入力デバイスと、この画像入力デバイスで読み取られた画像データを蓄積する記憶デバイスと、この記憶デバイスに蓄積されている前記画像データを出力する画像出力デバイスとを備えた情報処理装置を高速シリアルスイッチファブリックを介して複数連結した情報処理システムにおいて、一の前記情報処理装置の前記画像入力デバイスで読み取られた画像データを前記記憶デバイスにデータ転送し、前記記憶デバイスに蓄積された前記画像データをマルチキャスト出力によってメモリライト転送を発生させて前記各情報処理装置の前記画像出力デバイスから出力する場合、前記高速シリアルスイッチファブリックの仮想チャネルにおけるデータ通信の優先度を、メモリリードコマンド>メモリライトコマンドとする。 The invention according to claim 7 outputs an image input device that reads image data, a storage device that stores image data read by the image input device, and the image data stored in the storage device. In an information processing system in which a plurality of information processing apparatuses including an image output device are connected via a high-speed serial switch fabric, image data read by the image input device of one information processing apparatus is transferred to the storage device When the image data stored in the storage device is output from the image output device of each information processing apparatus by generating a memory write transfer by multicast output, the data communication in the virtual channel of the high-speed serial switch fabric is performed. Prioritize the memory read frame De> and memory write command.
また、請求項8にかかる発明は、トラフィックの差別化を行うことができるトラフィッククラスを仮想チャネルに対してマッピング可能な高速シリアルスイッチファブリックを介して複数のデバイスを接続した情報処理装置におけるデータ通信方法であって、競合が発生する前記デバイスにおける前記トラフィック毎に前記トラフィッククラスを設定するトラフィッククラス設定工程と、このトラフィッククラス設定工程により設定された前記各トラフィッククラスを、異なる前記仮想チャネルにそれぞれ割り当ててデータ通信の優先度を与えるチャネル設定工程と、を含む。
The invention according to
また、請求項9にかかる発明は、請求項8記載のデータ通信方法において、前記高速シリアルスイッチファブリックは、Advanced Switching Interconnect規格のスイッチファブリックである。
The invention according to
また、請求項10にかかる発明は、請求項8または9記載のデータ通信方法において、前記仮想チャネルの設定により、ライン同期信号単位で等時性制約があるトラフィックの前記トラフィッククラスの優先度を、ページ単位で等時性制約があるトラフィックの前記トラフィッククラスの優先度より高くする。
Further, the invention according to
また、請求項11にかかる発明は、請求項8または9記載のデータ通信方法において、前記仮想チャネルの設定により、メモリリードトランザクションの前記トラフィッククラスの優先度を、メモリライトトランザクションの前記トラフィッククラスの優先度より高くする。
The invention according to
請求項1にかかる発明によれば、競合が発生するデバイスにおけるトラフィック毎にトラフィッククラスを設定し、設定された各トラフィッククラスを異なる仮想チャネルにそれぞれ割り当ててデータ通信の優先度を与えることにより、様々な性質の異なるトラフィックを持つデバイスを高速シリアルスイッチファブリックに対して自由に拡張することができるという効果を奏する。 According to the first aspect of the present invention, a traffic class is set for each traffic in a device in which contention occurs, and each of the set traffic classes is assigned to a different virtual channel to give priority to data communication. It is possible to freely expand devices having different traffic characteristics to the high-speed serial switch fabric.
また、請求項2にかかる発明によれば、高速シリアルスイッチファブリックは、Advanced Switching Interconnect規格のスイッチファブリックであることにより、デバイス間の通信速度の高速化を図ることができるという効果を奏する。また、各種上位プロトコルをトンネルさせることにより、TCP/IP等の通信を通常のEthernet(登録商標)の処理よりも高速に実現する局所システムを構築することができる。更に、ファブリック構造への対応などでシステムに冗長性を持たせてロバスト性を向上させたり、動的なルーティングパスの切り替えができるようになるという効果を奏する。 According to the second aspect of the invention, the high-speed serial switch fabric is an advanced switching interconnect standard switch fabric, so that the communication speed between devices can be increased. Also, by tunneling various higher level protocols, it is possible to construct a local system that realizes communication such as TCP / IP at a higher speed than normal Ethernet (registered trademark) processing. In addition, the system can be made redundant by adapting the fabric structure, etc. to improve the robustness, and dynamic routing paths can be switched.
また、請求項3にかかる発明によれば、仮想チャネルの設定により、ライン同期信号単位で等時性制約があるトラフィックのトラフィッククラスの優先度を、ページ単位で等時性制約があるトラフィックのトラフィッククラスの優先度より高くすることにより、スキャナやプロッタのようなデバイスからのライン同期信号単位で等時性制約があるトラフィックの優先度をページ単位で等時性制約があるトラフィックよりも高くすることができるので、混在時におけるスキャナやプロッタなどの等時性を確保することができるという効果を奏する。
According to the invention of
また、請求項4にかかる発明によれば、仮想チャネルの設定により、メモリリードトランザクションのトラフィッククラスの優先度を、メモリライトトランザクションのトラフィッククラスの優先度より高くすることにより、スキャナで読み取られたデータを画像メモリにデータ転送し、画像メモリに蓄積された画像データをプロッタから出力するような場合に、画像データのメモリリードコマンドが全て発行されてから画像データのメモリライトコマンドが発行されることになるので、高速なデータ転送に対処することができるという効果を奏する。
According to the invention of
また、請求項5にかかる発明によれば、各情報処理装置の高速シリアルスイッチファブリックにおいてメモリリードコマンドとメモリライトコマンドとが競合するような場合に、高速シリアルスイッチファブリックの仮想チャネルにおけるデータ通信の優先度を、メモリリードコマンド>メモリライトコマンドとすることにより、高速なデータ転送に対処することができるという効果を奏する。
According to the invention of
また、請求項6にかかる発明によれば、各情報処理装置の高速シリアルスイッチファブリックにおいてメモリリードコマンドとメモリライトコマンドとが競合するような場合に、高速シリアルスイッチファブリックの仮想チャネルにおけるデータ通信の優先度を、メモリリードコマンド>メモリライトコマンドとすることにより、高速なデータ転送に対処することができるという効果を奏する。
According to the invention of
また、請求項7にかかる発明によれば、各情報処理装置の高速シリアルスイッチファブリックにおいてメモリリードコマンドとメモリライトコマンドとが競合するような場合に、高速シリアルスイッチファブリックの仮想チャネルにおけるデータ通信の優先度を、メモリリードコマンド>メモリライトコマンドとすることにより、高速なデータ転送に対処することができるという効果を奏する。 According to the seventh aspect of the present invention, priority is given to data communication in the virtual channel of the high-speed serial switch fabric when the memory read command and the memory write command conflict in the high-speed serial switch fabric of each information processing apparatus. When the memory read command is greater than the memory write command, it is possible to cope with high-speed data transfer.
また、請求項8にかかる発明によれば、競合が発生するデバイスにおけるトラフィック毎にトラフィッククラスを設定し、設定された各トラフィッククラスを異なる仮想チャネルにそれぞれ割り当ててデータ通信の優先度を与えることにより、様々な性質の異なるトラフィックを持つデバイスを高速シリアルスイッチファブリックに対して自由に拡張することができるという効果を奏する。
According to the invention of
また、請求項9にかかる発明によれば、高速シリアルスイッチファブリックは、Advanced Switching Interconnect規格のスイッチファブリックであることにより、デバイス間の通信速度の高速化を図ることができるという効果を奏する。また、各種上位プロトコルをトンネルさせることにより、TCP/IP等の通信を通常のEthernet(登録商標)の処理よりも高速に実現する局所システムを構築することができる。更に、ファブリック構造への対応などでシステムに冗長性を持たせてロバスト性を向上させたり、動的なルーティングパスの切り替えができるようになるという効果を奏する。
According to the invention of
また、請求項10にかかる発明によれば、仮想チャネルの設定により、ライン同期信号単位で等時性制約があるトラフィックのトラフィッククラスの優先度を、ページ単位で等時性制約があるトラフィックのトラフィッククラスの優先度より高くすることにより、スキャナやプロッタのようなデバイスからのライン同期信号単位で等時性制約があるトラフィックの優先度をページ単位で等時性制約があるトラフィックよりも高くすることができるので、混在時におけるスキャナやプロッタなどの等時性を確保することができるという効果を奏する。
Further, according to the invention of
また、請求項11にかかる発明によれば、仮想チャネルの設定により、メモリリードトランザクションのトラフィッククラスの優先度を、メモリライトトランザクションのトラフィッククラスの優先度より高くすることにより、スキャナで読み取られたデータを画像メモリにデータ転送し、画像メモリに蓄積された画像データをプロッタから出力するような場合に、画像データのメモリリードコマンドが全て発行されてから画像データのメモリライトコマンドが発行されることになるので、高速なデータ転送に対処することができるという効果を奏する。
According to the invention of
以下に添付図面を参照して、この発明にかかる情報処理装置およびデータ通信方法の最良な実施の形態を詳細に説明する。 Exemplary embodiments of an information processing apparatus and a data communication method according to the present invention are explained in detail below with reference to the accompanying drawings.
本発明を実施するための最良の形態について図面を参照して説明する。以下では、PCI Expressの詳細について、[PCI Express規格の概要]〜[PCI Express のアーキテクチャの詳細]の欄で説明し、PCI Expressの技術を活用したAdvanced Switch Interconnectについて、[Advanced Switch Interconnectとは]〜[Advanced Switch Interconnect技術の特徴]の欄で説明し、本実施の形態の情報処理装置について、[情報処理装置の構成]〜[動作例]の欄で説明する。 The best mode for carrying out the present invention will be described with reference to the drawings. In the following, details of PCI Express are explained in the [Outline of PCI Express Standard] to [Detailed Architecture of PCI Express] columns, and Advanced Switch Interconnect using PCI Express technology [What is Advanced Switch Interconnect] The description will be given in the section of [Features of Advanced Switch Interconnect technology], and the information processing apparatus of the present embodiment will be described in the sections of [Configuration of information processing apparatus] to [Operation example].
[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プラットホーム例を図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
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:Virtual 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.
[Advanced Switch Interconnectとは]
次に、本実施の形態は上述したPCI Expressの技術を活用したAdvanced Switch Interconnectを利用するものであり、本実施の形態の前提として当該Advanced Switch Interconnectの概要について説明する。
[What is Advanced Switch Interconnect]
Next, the present embodiment uses the Advanced Switch Interconnect utilizing the above-described PCI Express technology, and an outline of the Advanced Switch Interconnect will be described as a premise of the present embodiment.
近年においては、ブロードバンドと半導体技術の進歩を背景としたコンピューティングと通信の融合が急速に進み、新たなアプリケーションシステムに幅広く対応できる規格の出現が望まれるようになってきている。そこで登場してきたのがPCI Expressの技術を活用したASI(Advanced Switching Interconnect)規格であり、コンピューティングから通信まで幅広いアプリケーションに適用することを想定している。ASI仕様の策定と普及は非営利団体であるASI-SIG(Advanced Switching Interconnect Special Interest Groupe)によって運営されている。 In recent years, the fusion of computing and communication has rapidly progressed against the background of advances in broadband and semiconductor technologies, and the emergence of standards capable of widely supporting new application systems has been desired. Therefore, the ASI (Advanced Switching Interconnect) standard using the PCI Express technology has appeared, and it is assumed to be applied to a wide range of applications from computing to communication. The formulation and dissemination of ASI specifications is managed by a non-profit organization, Advanced Switching Interconnect Special Interest Group (ASI-SIG).
[Advanced Switch Interconnect技術の概要]
次に、Advanced Switch Interconnect技術の概要について説明する。
[Overview of Advanced Switch Interconnect technology]
Next, an overview of the Advanced Switch Interconnect technology will be described.
まず、PCI ExpressとASI(Advanced Switching Interconnect)の関係について説明する。図16に、PCI ExpressとASI(Advanced Switching Interconnect)のプロトコルスタックの関係を示す。ASI(Advanced Switching Interconnect)はPCI Expressの高速シリアル伝送の物理層とリンク層の技術をそのまま採用しつつ、より広範囲なアプリケーションに対応できるようにしたものであり、その接続対象はChip-to-Chip, Board-to-Boardを想定している。PCI Expressはコンピューティングで培われてきたPCIのトランザクションをそのまま継承しているが、ASI(Advanced Switching Interconnect)ではPCI Expressのトランザクション層を入れ替えて機能を拡張しており、より高度なデータフローとプロトコルに対応出来るようにしている。また、接続構造もPCI Expressのツリー構造から、より自由度の高いファブリック構造が出来るように拡張されており、マルチCPU環境にも対応している。ASI(Advanced Switching Interconnect)では、同様のファブリック構造が可能な他の規格(Ethernet(登録商標),InfiniBand等)よりもルーティング手法が格段に改善され、高速化が図られている。 First, the relationship between PCI Express and ASI (Advanced Switching Interconnect) will be described. FIG. 16 shows the relationship between the PCI Express and ASI (Advanced Switching Interconnect) protocol stacks. ASI (Advanced Switching Interconnect) is a technology that uses the physical layer and link layer technology of PCI Express high-speed serial transmission as it is, and is compatible with a wider range of applications. The connection target is Chip-to-Chip. , Board-to-Board is assumed. PCI Express inherits PCI transactions cultivated in computing as it is, but ASI (Advanced Switching Interconnect) has expanded the functions by replacing the transaction layer of PCI Express, and more advanced data flow and protocol It can be adapted to. In addition, the connection structure has been expanded from the PCI Express tree structure so that a fabric structure with a higher degree of freedom can be created, and it also supports a multi-CPU environment. In ASI (Advanced Switching Interconnect), the routing method is remarkably improved and higher speed than other standards (Ethernet (registered trademark), InfiniBand, etc.) capable of the same fabric structure is achieved.
図16に示すファブリック管理機能(AS Fabric Mngmnt)は、ソフトウェアで構成されるASI(Advanced Switching Interconnect)プロトコルの一部であり、接続セットアップや取り外し、イベント管理、パフォーマンスおよび稼動状況のモニタ、リダンダント・ルート、パスの無効化、リソース割り振り、負荷の平準化のような種々のサービスをサポートする。図17は、ファブリック管理機能における初期化シーケンスを示すものである。 The fabric management function (AS Fabric Mngmnt) shown in Fig. 16 is part of the ASI (Advanced Switching Interconnect) protocol that is configured by software. Connection setup and removal, event management, performance and operational status monitoring, and redundant routes Supports various services such as path invalidation, resource allocation and load leveling. FIG. 17 shows an initialization sequence in the fabric management function.
ASI(Advanced Switching Interconnect)では、図18に示すように、各種プロトコルをカプセル化する手法を採用することで、より高度なプロトコル(TCP/IP,Fibre Channel等)サービスの高速化を実現しようとしている。ASI(Advanced Switching Interconnect)の上位層にはPEI(Protocol Encapsulation Interface)と呼ばれる部分があり、外部から到達した各種パケットにASIヘッダを付加し、ASIパケットに変換する機能をもっている。ASIファブリックを通過したパケットは受信側のPEIでASIヘッダがはずされ、元のパケットとして抽出される。上流のプロトコルインタフェースはPI(パイ)と呼ばれ、各種標準に対応できる他、AS Native,Vendor Specificプロトコルも実装できる仕組みを採用している。PCI ExpressとASI(Advanced Switching Interconnect)をブリッジで接続しPCI Expressプロトコルをカプセル化し転送するプロファイルは、PI-8として定義されている。 In ASI (Advanced Switching Interconnect), as shown in FIG. 18, by adopting a method of encapsulating various protocols, an attempt is made to increase the speed of more advanced protocol (TCP / IP, Fiber Channel, etc.) services. . An upper layer of ASI (Advanced Switching Interconnect) has a part called PEI (Protocol Encapsulation Interface), and has a function of adding an ASI header to various packets arrived from the outside and converting them into ASI packets. A packet that has passed through the ASI fabric is extracted as an original packet with the ASI header removed by the PEI on the receiving side. The upstream protocol interface is called PI (pi), and it adopts a mechanism that can support various standards and also implement AS Native and Vendor Specific protocols. A profile in which PCI Express and ASI (Advanced Switching Interconnect) are connected by a bridge and the PCI Express protocol is encapsulated and transferred is defined as PI-8.
[Advanced Switch Interconnect技術の特徴]
ASI(Advanced Switching Interconnect)はPCI Expressの特徴である、高速性、バンド幅のスケーラビリティ、階層構造による物理層の拡張性、データの信頼性等に加えて、以下に示すようなASI(Advanced Switching Interconnect)独自の特徴がある。
・動画等のunreliable(lossy)パケット伝送への対応
・マルチキャスト、ブロードキャストパケットへの対応
・カプセル化によるマルチプロトコル伝送
・高速な独自のパスルーティング方式の採用
・輻輳管理機能のサポート
・ファブリック構造への対応
[Features of Advanced Switch Interconnect technology]
ASI (Advanced Switching Interconnect) is a feature of PCI Express, in addition to the high speed, bandwidth scalability, physical layer expandability by hierarchical structure, data reliability, etc. ) Has its own characteristics.
・ Support for unreliable (lossy) packet transmission such as video ・ Multicast and broadcast packet support ・ Multi-protocol transmission by encapsulation ・ High-speed original path routing method ・ Support for congestion management function ・ Support for fabric structure
このような特徴により、図19に示すような複数デバイス間のストレージやIOリソースの共有が可能となる。また、これまでPCI,PCI-X,PCI Express,HyperTransport,RapidIO,StarFabricなどの規格は、同じロード/ストアプロトコルを使っていても物理層が異なるために複雑な接続手段が必要であったが、ASI(Advanced Switching Interconnect)技術を利用することで図20に示すような相互通信もシンプルに実現できるようになり、デバイス間の通信速度が高速化される。また、各種上位プロトコルをトンネルさせることにより、TCP/IP等の通信を通常のEthernet(登録商標)の処理よりも高速に実現する局所システムを構築することも可能となる。更に、ファブリック構造への対応などでシステムに冗長性を持たせてロバスト性を向上させたり、動的なルーティングパスの切り替えができるようになる。 Such a feature makes it possible to share storage and IO resources between a plurality of devices as shown in FIG. Also, until now, PCI, PCI-X, PCI Express, HyperTransport, RapidIO, StarFabric and other standards require complicated connection methods because the physical layer is different even if the same load / store protocol is used. By using ASI (Advanced Switching Interconnect) technology, mutual communication as shown in FIG. 20 can be realized simply, and the communication speed between devices is increased. It is also possible to construct a local system that realizes communication such as TCP / IP at a higher speed than ordinary Ethernet (registered trademark) processing by tunneling various upper protocols. Furthermore, it is possible to improve the robustness by providing the system with redundancy by adapting to the fabric structure, etc., and to dynamically switch the routing path.
加えて、Advanced Switching Interconnectは、PCI Expressの物理層およびデータリンク層を最適化されたトランザクション層と重ね合わせたもので、様々な機能を提供する。トランザクション層の特徴的な機能としては、マルチレベルのQoS(Quality of Service)がある。QoSは、20の仮想チャネル(VC:Virtual Channel)と8つのトラフィッククラス(TC)をサポートしている。 In addition, Advanced Switching Interconnect superimposes the physical layer and data link layer of PCI Express with an optimized transaction layer and provides various functions. A characteristic function of the transaction layer is multi-level QoS (Quality of Service). QoS supports 20 virtual channels (VCs) and 8 traffic classes (TCs).
ASI(Advanced Switching Interconnect)を制御する上位のソフトウェアであるファブリック管理機能(AS Fabric Mngmnt)は、トラフィッククラス(TC)を使用することによりトラフィックの差別化(優先度をつける)を行うことができる。例えば、映像データをネットワークのデータよりも優先して転送する、といったことが可能となる。トラフィッククラス(TC)はTC0からTC7まで8つある。 A fabric management function (AS Fabric Mngmnt), which is higher-order software that controls Advanced Switching Interconnect (ASI), 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:Virtual Channel)は、各々独立した仮想通信バス(同一のリンクを共用する複数の独立したデータ・フロー・バッファを使用するメカニズム)で、各々がリソース(バッファやキュー)を持ち、独立したフロー制御を行う。これにより、1つの仮想チャネルのバッファが満杯の状態(full)になっても、他の仮想チャネルの転送を行うことができる。つまり、物理的には1つのリンクを仮想的な複数のチャネルに分けることで、有効に使用することができる。 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) Perform independent flow control. 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.
トランザクション層内では、トラフィッククラス(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).
また、ASIファブリック内では、過大なトラフィックが発生することによるCongestion状態が発生することがある。Congestion状態に陥ると、パケットの応答時間が長くなり、一定のサービスレベルが維持できなくなるという問題がある。そこで、ASI(Advanced Switching Interconnect)規格では、Congestion Management機能としてStatus-Based Flow Control(SBFC)を備えることにより、この問題の解決を図っている。 Also, in the ASI fabric, a Congestion state may occur due to excessive traffic. When falling into the Congestion state, there is a problem that the response time of the packet becomes long and a constant service level cannot be maintained. Therefore, in the ASI (Advanced Switching Interconnect) standard, this problem is solved by providing Status-Based Flow Control (SBFC) as a Congestion Management function.
ここで、Congestion Managementについて具体的に説明する。図21−1に示すように、3つのスイッチにトラフィック1−3が存在している場合において、最初にトラフィック1とトラフィック2が、所望のデータ転送を行っていたとする。ここで、トラフィック3としてポートAの能力以上の過大なトラフィックが発生したとする。この影響は、同じ出力ポートAへのトラフィック2の減少となって現れる。また、トラフィック2のみならず、トラフィック2と同じリンクを経由するトラフィック1のトラフィックも減少してしまう。
Here, Congestion Management will be specifically described. As shown in FIG. 21A, when traffic 1-3 exists in three switches, it is assumed that
そこで、図21−2に示すように、SBFCを用いてポートAが混んでいる事を隣のスイッチに伝えることにより、トラフィック2の出力を抑えることができるようになるので、トラフィック1がトラフィック2の影響を受けなくなる。
Therefore, as shown in FIG. 21-2, the output of the
ところで、ASI(Advanced Switching Interconnect)の仮想チャネル(VC)には、下記に示すような3つのタイプがある。
BVC(Bypass Capable Unicast) : VC Ids 0−7
OVC(Ordered-Only Unicast) : VC Ids 8−15
MVC(Multicast) : VC Ids 16−19
By the way, there are three types of ASI (Advanced Switching Interconnect) virtual channels (VC) as shown below.
BVC (Bypass Capable Unicast): VC Ids 0-7
OVC (Ordered-Only Unicast): VC Ids 8-15
MVC (Multicast): VC Ids 16-19
BVC(Bypass Capable Unicast)は、図22に示すように、先に入力されたQueueをバイパスさせ、後から入力されたQueueがアービタ(調停回路)から抜けていくことを許しているものである。 As shown in FIG. 22, BVC (Bypass Capable Unicast) allows a previously input queue to be bypassed and allows a queue input later to leave the arbiter (arbitration circuit).
OVC(Ordered-Only Unicast)は、図23に示すように、先に入力されたQueueがそのまま出力されるものである。 In OVC (Ordered-Only Unicast), as shown in FIG. 23, the previously input Queue is output as it is.
MVC(Multicast)は、図24に示すように、入力されたQueueがマルチキャスト出力されるものである。 In MVC (Multicast), as shown in FIG. 24, an input Queue is output in a multicast manner.
[情報処理装置の構成]
図25は、本実施の形態の情報処理装置1の構成例を示す概略ブロック図である。本実施の形態にかかる情報処理装置1は、例えばMFP(Multi Function Peripheral)等の機器に適用されるもので、高速シリアルスイッチファブリックであるASI(Advanced Switching Interconnect)2を介して各種のエンドポイントデバイスやスイッチ出力ポート(以下、デバイスという)をそれぞれ接続している。ここでは、ASI2に接続される各種のデバイスとして、システムコントローラ3、画像入力デバイスであるスキャナ4、画像出力デバイスであるプロッタ5、記憶デバイスである第1の画像メモリ6、記憶デバイスである第2の画像メモリ7、画像処理ユニット8、外部I/O9、オペレーションパネル10を接続している。
[Configuration of information processing device]
FIG. 25 is a schematic block diagram illustrating a configuration example of the
システムコントローラ3は、インストールされているプログラム(ソフトウェア)に従い当該装置全体の制御を受け持つCPU(Central Processing Unit)等を含み、経路制御や経路判断等の処理を行うデバイス部分(プリンタコントローラ)を意味する。
The
スキャナ4とは、原稿画像等に基づく画像データを当該システム内に取り込むためのデバイスやユニット部分を示し、例えば、原稿画像を光電的に読み取って画像データを取得するスキャナエンジン等により構成されている。
The
プロッタ5とは、画像データを紙などに印刷出力するデバイスやユニット部分を示し、例えば、電子写真方式のプロッタ(プリンタ)エンジン等により構成されている。なお、プロッタ5の印刷方式は、電子写真方式のほか、インクジェット方式、昇華型熱転写方式、銀塩写真方式、直接感熱記録方式、溶融型熱転写方式など、様々な方式を用いることができる。
The
画像メモリ6,7は、HDD(Hard Disk Drive)やRAM(Random Access Memory)などであり、スキャナ4で読み取った画像データなどを格納する。
The
画像処理ユニット8は、スキャナ4で読み取った画像データなどに対して各種の画像処理を施すものである。
The
外部I/O9は、接続された他の機器との間で画像データや制御データ等のやり取りを行うものである。
The external I /
オペレーションパネル10は、タッチパネルや表示パネルを備えており、装置に対する各種命令の入力を受け付ける。
The
画像処理ユニット13は、スキャナ4で読み取った画像データなどに対し、ユーザ指示に応じて、あるいは情報処理装置1の持つ特性に応じて各種画像処理を実行する。画像処理ユニット13は、処理後の画像データをプロッタ5に出力する。
The
ここで、本実施の形態の情報処理装置1が備える特徴的な機能について説明する。本実施の形態の情報処理装置1においては、各種のデバイスに対してトラフィックのプライオリティを与え、別々の仮想チャネル(VC:Virtual Channel)に割り当てるようにしている。この点について、以下に詳述する。
Here, a characteristic function provided in the
図26は、図25の情報処理装置1の構成を部分的に詳細に示すブロック図である。図26は、特に、スキャナ4と画像処理ユニット13とプロッタ5とを、ASI2を経由して接続した様子を示している。各デバイスの構成は、トランザクション層(TL),データリンク層(DL),物理層(PL)からなる通信コア20と、通信コア部分以外のデバイス固有の機能(スキャナ4:データ入力部4a、画像処理ユニット13:画像処理部13a、プロッタ5:データ出力部5a)と、データ転送モジュール30と、トラフィッククラス設定手段40とから構成される。
FIG. 26 is a block diagram partially showing in detail the configuration of the
トラフィッククラス設定手段40は、各データ転送モジュール30で発生するトラフィックを、トラフィッククラスに割り付ける機能を持つ。
The traffic class setting means 40 has a function of assigning traffic generated in each
また、通信コア20トランザクション層(TL)内には、トラフィッククラス(TC)をバーチャルチャネル(VC)に割り付けるためのチャネル設定手段50を有している。
The
なお、トラフィッククラス設定手段40とチャネル設定手段50は、図26に示すように、自由に割付を制御できるような構成でも良いし、対応付けを絞り込んでデータ転送モジュール30からのトラフィックがバーチャルチャネル(VC)に対して一意的に決まるような構成となっても良い。
As shown in FIG. 26, the traffic
図27は、デバイスの構成を詳細に示すブロック図である。図27を参照しつつ、デバイスを構成する各部の動作について詳細に説明する。なお、図27にはトラフィックが例示的に記載されている。 FIG. 27 is a block diagram showing in detail the configuration of the device. With reference to FIG. 27, the operation of each part constituting the device will be described in detail. In FIG. 27, traffic is exemplarily described.
トラフィッククラス設定手段40は、設定テーブル40a、セレクタ40b、アービタ40cにより構成される。なお、図27に示す構成では、各データ転送モジュール30のトラフィックが全てのトラフィッククラス(TC)に設定できるような構成であるが、必要最小限の対応づけが出来る構成であっても問題ない。その際、セレクタ40bやアービタ40cも最小限の数だけ用意すればよい。
The traffic class setting means 40 includes a setting table 40a, a
図28は、設定テーブル40aの一例を示す模式図である。図28に示すように、設定テーブル40aは、トラフィッククラス設定手段40がトラフィック毎(トラフィックのコマンドの種類毎)に設定するトラフィッククラス(TC)を格納したものである。図28に示す例では、データ転送モジュール(1)とデータ転送モジュール(2)はメモリライトコマンドを、データ転送モジュール(3)はメモリリードコマンドを発行する場合を示す。本実施の形態は、トラフィックのコマンドの種類毎に対応付けるトラフィッククラス(TC)を決めるというものである。したがって、メモリライトコマンドを発行するデータ転送モジュール(1)とデータ転送モジュール(2)をTC0に割り付けるために、設定テーブル40aはセレクタ(1)とセレクタ(2)に対しての制御コマンドである“0”を発行する。メモリリードコマンドを発行するデータ転送モジュール(3)をTC6に割り付けるために、設定テーブル40aはセレクタ(3)に対しての制御コマンドである“6”を発行する。
FIG. 28 is a schematic diagram illustrating an example of the setting table 40a. As shown in FIG. 28, the setting table 40a stores a traffic class (TC) set by the traffic
チャネル設定手段50は、設定テーブル50a、アービタ50bにより構成される。なお、図27に示す構成では、必要最小限の対応づけが出来る構成としているが、各トラフィッククラス(TC)のトラフィックが全てのバーチャルチャネル(VC)に設定できるように、各トラフィッククラス(TC)に対してセレクタを設けても構わない。この場合、トラフィッククラス設定手段40のように、チャネル設定手段50も、設定テーブルとセレクタとアービタとにより構成されることになる。
The channel setting means 50 includes a setting table 50a and an
次に、トラフィッククラス設定手段40により、データ転送モジュール30で発生したトラフィックをトラフィッククラス(TC)に対応付ける動作について説明する。
Next, an operation of associating traffic generated in the
データ転送モジュール(1)で発生するトラフィック(1)をTC0に割り付けるために、トラフィッククラス設定手段40の設定テーブル40aからセレクタ(1)とアービタ(00)に対して制御信号を送る。セレクタ(1)では、受け取った制御信号に基づいて出力ポートの選択を行い、トラフィック(1)をアービタ(00)に伝える。アービタ(00)は、図27に示す例においては競合するトラフィックが入力されていないが、設定テーブル40aからの制御信号に基づいて入力された信号のアービトレーションを行う。この結果、トラフィック(1)がTC0に割り付けられる。 In order to allocate the traffic (1) generated in the data transfer module (1) to TC0, a control signal is sent from the setting table 40a of the traffic class setting means 40 to the selector (1) and the arbiter (00). The selector (1) selects an output port based on the received control signal and transmits the traffic (1) to the arbiter (00). The arbiter (00) arbitrates the input signal based on the control signal from the setting table 40a, although no competing traffic is input in the example shown in FIG. As a result, traffic (1) is allocated to TC0.
同様に、データ転送モジュール(2)で発生するトラフィック(2)をTC1に割り付けるために、トラフィッククラス設定手段40の設定テーブル40aからセレクタ(2)とアービタ(01)に対して制御信号を送る。セレクタ(2)では、受け取った制御信号に基づいて出力ポートの選択を行い、トラフィック(2)をアービタ(01)に伝える。アービタ(01)は、図27に示す例においては競合するトラフィックが入力されていないが、設定テーブル40aからの制御信号に基づいて入力された信号のアービトレーションを行う。この結果、トラフィック(2)がTC1に割り付けられる。 Similarly, in order to allocate the traffic (2) generated in the data transfer module (2) to TC1, a control signal is sent from the setting table 40a of the traffic class setting means 40 to the selector (2) and the arbiter (01). The selector (2) selects an output port based on the received control signal and transmits the traffic (2) to the arbiter (01). The arbiter (01) arbitrates the input signal based on the control signal from the setting table 40a, although no competing traffic is input in the example shown in FIG. As a result, traffic (2) is allocated to TC1.
同様に、データ転送モジュール(3)で発生するトラフィック(3)をTC6に割り付けるために、トラフィッククラス設定手段40の設定テーブル40aからセレクタ(3)とアービタ(06)に対して制御信号を送る。セレクタ(3)では、受け取った制御信号に基づいて出力ポートの選択を行い、トラフィック(3)をアービタ(06)に伝える。アービタ(06)は、図27に示す例においては競合するトラフィックが入力されていないが、設定テーブル40aからの制御信号に基づいて入力された信号のアービトレーションを行う。この結果、トラフィック(3)がTC6に割り付けられる。
Similarly, in order to allocate the traffic (3) generated in the data transfer module (3) to the
次に、各トラフィッククラス(TC)に対応付けられたトラフィックが、チャネル設定手段50によりバーチャルチャネル(VC)に対応付けられる動作について説明する。 Next, the operation in which the traffic associated with each traffic class (TC) is associated with the virtual channel (VC) by the channel setting means 50 will be described.
TC0(トラフィック(1))とTC1(トラフィック(2))のトラフィックは、アービタ(10)に入力される。アービタ(10)では、設定テーブル50aからの制御信号に基づいて入力された信号のアービトレーションを行う。この結果、TC0(トラフィック(1))とTC1(トラフィック(2))のトラフィックがVC0に割り付けられる。 The traffic of TC0 (traffic (1)) and TC1 (traffic (2)) is input to the arbiter (10). The arbiter (10) performs arbitration of the input signal based on the control signal from the setting table 50a. As a result, the traffic of TC0 (traffic (1)) and TC1 (traffic (2)) is allocated to VC0.
同様に、TC6(トラフィック(3))とTC7(トラフィック無し)のトラフィックは、アービタ(13)に入力される。アービタ(13)では、図27に示す例においては競合するトラフィックが入力されていないが、設定テーブル50aからの制御信号に基づいて入力された信号のアービトレーションを行う。この結果、TC6(トラフィック(3))のトラフィックがVC3に割り付けられる。 Similarly, the traffic of TC6 (traffic (3)) and TC7 (no traffic) is input to the arbiter (13). In the example shown in FIG. 27, the arbiter (13) does not receive competing traffic, but arbitrates the input signal based on the control signal from the setting table 50a. As a result, the traffic of TC6 (traffic (3)) is allocated to VC3.
[動作例]
ここで、動作例について説明する。各デバイス間のデータ通信についてのトラフィック分類の一例としては、以下に示すようなものが挙げられる。
・LSYNC等時性制約
トラフィック1 スキャナ4→画像メモリ6(7)
トラフィック2 画像メモリ6(7)→プロッタ5
・ページ等時性制約
トラフィック3 画像メモリ6(7)→画像メモリ7(6)
トラフィック4 画像メモリ6(7)→画像処理ユニット8
トラフィック5 画像処理ユニット8→画像メモリ6(7)
[Operation example]
Here, an operation example will be described. An example of traffic classification for data communication between devices is as follows.
・ LSYNC
-Page
そして、このようにして分類されたトラフィック毎にトラフィッククラス(TC)を使用してデータ通信のプライオリティ(優先度)を与える。ここでは、トラフィッククラス設定手段40によってデータ通信のプライオリティ(優先度)を、
トラフィック2>トラフィック1>トラフィック3,4,5
とする。すなわち、各デバイス間のデータ通信においては、LSYNC等時性制約が高いトラフィックを優先的にデータ通信することになる。データ通信のプライオリティ(優先度)が決められた各トラフィッククラス(TC)は、チャネル設定手段50により仮想チャネル(VC)をマッピングされる。本実施の形態においては、1つの仮想チャネル(VC)に対して1つのトラフィッククラス(TC)がマッピングされるものとする。これにより、ASI(Advanced Switching Interconnect)を制御する上位のソフトウェアであるファブリック管理機能(AS Fabric Management)は、トラフィッククラス(TC)を利用することで、トランザクションの優先度を制御することが可能となる。
Then, the priority (priority) of data communication is given using the traffic class (TC) for each classified traffic. Here, the priority (priority) of data communication is set by the traffic class setting means 40,
And That is, in data communication between devices, traffic with high LSYNC isochronous restrictions is preferentially data communication. Each traffic class (TC) for which the priority (priority) of data communication is determined is mapped with a virtual channel (VC) by the channel setting means 50. In the present embodiment, it is assumed that one traffic class (TC) is mapped to one virtual channel (VC). As a result, the fabric management function (AS Fabric Management), which is the upper software for controlling the Advanced Switching Interconnect (ASI), can control the priority of transactions by using the traffic class (TC). .
ここで、図29に示すように、コピー動作をする場合、すなわち、情報処理装置1のスキャナ4で読み取られたデータを画像メモリ6にデータ転送し、画像メモリ6に蓄積された画像データをプロッタ5から出力する場合について検討する。この場合、画像データのメモリリードコマンドが全て発行されてから画像データのメモリライトコマンドが発行される方が好ましい。メモリリードコマンドを優先しない場合には、ライン同期転送のタイミング制約の関係上、メモリリードデータをライン有効期間内に受信できない場合があるからである。
Here, as shown in FIG. 29, when a copying operation is performed, that is, data read by the
そこで、このようにメモリリードコマンドとメモリライトコマンドとがASI(Advanced Switching Interconnect)2で競合するような場合、下記に示す仮想チャネルにおけるトラフィックのプライオリティ(優先度)に従うことにより、高速なデータ転送に対処することができるようになる。
トラフィック2(メモリリードコマンド)>トラフィック1(メモリライトコマンド)
Therefore, when the memory read command and the memory write command conflict with each other in the ASI (Advanced Switching Interconnect) 2, high-speed data transfer can be performed by following the priority (priority) of traffic in the virtual channel shown below. You will be able to deal with it.
Traffic 2 (memory read command)> Traffic 1 (memory write command)
このように本実施の形態によれば、競合が発生するデバイス3〜10におけるトラフィック毎にトラフィッククラスを設定し、設定された各トラフィッククラスを異なる仮想チャネルにそれぞれ割り当ててデータ通信の優先度を与えることにより、様々な性質の異なるトラフィックを持つデバイス3〜10を高速シリアルスイッチファブリックであるASI(Advanced Switching Interconnect)2に対して自由に拡張することができる。
As described above, according to the present embodiment, a traffic class is set for each traffic in the
[第2の実施の形態]
次に、本発明の第2の実施の形態を図30ないし図33に基づいて説明する。なお、前述した第1の実施の形態と同じ部分は同じ符号で示し説明も省略する。
[Second Embodiment]
Next, a second embodiment of the present invention will be described with reference to FIGS. The same parts as those in the first embodiment described above are denoted by the same reference numerals, and description thereof is also omitted.
図30は、本実施の形態にかかる情報処理システム60の構成例を示す概略ブロック図である。本実施の形態にかかる情報処理システム60は、単一の画像メモリ6を備えた情報処理装置61をASI(Advanced Switching Interconnect)2を介して連結したものである。
FIG. 30 is a schematic block diagram illustrating a configuration example of the
このような構成において、図31に示すように、両方の情報処理装置61においてコピー動作をする場合、すなわち、一方の情報処理装置61のスキャナ4で読み取られたデータをマルチキャスト出力によって各情報処理装置61の画像メモリ6にデータ転送し、各情報処理装置61の画像メモリ6に蓄積された画像データを各情報処理装置61のプロッタ5から出力する場合について検討する。このように各情報処理装置61の画像メモリ6にデータ転送することにより、各々が有している画像メモリ6を利用してレイテンシ(データのリクエストを行なってから、実際にデータが転送されるまでにかかる遅延時間)などの問題を解決することができる。
In such a configuration, as shown in FIG. 31, when copying is performed in both
この場合においても、各情報処理装置61のASI(Advanced Switching Interconnect)2においてメモリリードコマンドとメモリライトコマンドとが競合することになるので、下記に示す仮想チャネルにおけるトラフィックのプライオリティ(優先度)に従うことにより、高速なデータ転送に対処することができるようになる。
トラフィック2(メモリリードコマンド)>トラフィック1(メモリライトコマンド)
Even in this case, since the memory read command and the memory write command compete in the ASI (Advanced Switching Interconnect) 2 of each
Traffic 2 (memory read command)> Traffic 1 (memory write command)
次に、図32に示すように、両方の情報処理装置61においてコピー動作をする場合、すなわち、一方の情報処理装置61のスキャナ4で読み取られたデータを一方の情報処理装置61の画像メモリ6にデータ転送し、各情報処理装置61のプロッタ5がおのおの画像メモリ6に対してメモリリードコマンドを発行して画像メモリ6に蓄積された画像データを出力する場合について検討する。このように一方の情報処理装置61の画像メモリ6にのみデータ転送することにより、メモリの消費を減らすことができる。
Next, as shown in FIG. 32, when a copy operation is performed in both
この場合においても、情報処理装置61のASI(Advanced Switching Interconnect)2においてメモリリードコマンドとメモリライトコマンドとが競合することになるので、下記に示す仮想チャネルにおけるトラフィックのプライオリティ(優先度)に従うことにより、高速なデータ転送に対処することができるようになる。
トラフィック2(メモリリードコマンド)>トラフィック1(メモリライトコマンド)
Even in this case, since the memory read command and the memory write command compete with each other in the ASI (Advanced Switching Interconnect) 2 of the
Traffic 2 (memory read command)> Traffic 1 (memory write command)
次に、図33に示すように、両方の情報処理装置61においてコピー動作をする場合、すなわち、一方の情報処理装置61のスキャナ4で読み取られたデータを一方の情報処理装置61の画像メモリ6にデータ転送し、画像メモリ6に蓄積された画像データをマルチキャスト出力によってメモリライト転送を発生させて各情報処理装置61のプロッタ5から出力する場合について検討する。このようにマルチキャスト出力によってメモリライト転送を発生させることにより、各情報処理装置61のプロッタ5がおのおの画像メモリ6に対してメモリリードコマンドを発行する場合に較べてトラフィックを減らすことができる。
Next, as shown in FIG. 33, when a copying operation is performed in both
この場合においても、情報処理装置61のASI(Advanced Switching Interconnect)2においてメモリリードコマンドとメモリライトコマンドとが競合することになるので、下記に示す仮想チャネルにおけるトラフィックのプライオリティ(優先度)に従うことにより、高速なデータ転送に対処することができるようになる。
トラフィック2(メモリリードコマンド)>トラフィック1(メモリライトコマンド)
Even in this case, since the memory read command and the memory write command compete with each other in the ASI (Advanced Switching Interconnect) 2 of the
Traffic 2 (memory read command)> Traffic 1 (memory write command)
1,61 情報処理装置
2 高速シリアルスイッチファブリック
3〜10 デバイス
40 トラフィッククラス設定手段
50 チャネル設定手段
60 情報処理システム
DESCRIPTION OF
Claims (11)
競合が発生する前記デバイスにおける前記トラフィック毎に前記トラフィッククラスを設定するトラフィッククラス設定手段と、
このトラフィッククラス設定手段により設定された前記各トラフィッククラスを、異なる前記仮想チャネルにそれぞれ割り当ててデータ通信の優先度を与えるチャネル設定手段と、
を備えることを特徴とする情報処理装置。 In an information processing apparatus that connects multiple devices via a high-speed serial switch fabric that can map traffic classes that can differentiate traffic to virtual channels,
Traffic class setting means for setting the traffic class for each traffic in the device in which contention occurs;
Channel setting means for assigning each traffic class set by the traffic class setting means to a different virtual channel and giving priority to data communication;
An information processing apparatus comprising:
ことを特徴とする請求項1記載の情報処理装置。 The high-speed serial switch fabric is an Advanced Switching Interconnect standard switch fabric,
The information processing apparatus according to claim 1.
ことを特徴とする請求項1または2記載の情報処理装置。 By setting the virtual channel, the priority of the traffic class of traffic having isochronous restrictions in line synchronization signal units is made higher than the priority of the traffic class of traffic having isochronous restrictions in page units.
The information processing apparatus according to claim 1 or 2.
ことを特徴とする請求項1または2記載の情報処理装置。 By setting the virtual channel, the priority of the traffic class of the memory read transaction is made higher than the priority of the traffic class of the memory write transaction.
The information processing apparatus according to claim 1 or 2.
一の前記情報処理装置の前記画像入力デバイスで読み取られた画像データをマルチキャスト出力によって前記各情報処理装置の前記記憶デバイスにデータ転送し、前記各記憶デバイスに蓄積された前記画像データを前記各情報処理装置の前記画像出力デバイスから出力する場合、前記高速シリアルスイッチファブリックの仮想チャネルにおけるデータ通信の優先度を、
メモリリードコマンド>メモリライトコマンド
とする、
ことを特徴とする情報処理システム。 Information processing apparatus comprising: an image input device that reads image data; a storage device that stores image data read by the image input device; and an image output device that outputs the image data stored in the storage device In an information processing system that connects multiple devices via a high-speed serial switch fabric,
The image data read by the image input device of the one information processing apparatus is transferred to the storage device of each information processing apparatus by multicast output, and the image data stored in each storage device is transferred to the information When outputting from the image output device of the processing device, the priority of data communication in the virtual channel of the high-speed serial switch fabric,
Memory read command> Memory write command
An information processing system characterized by this.
一の前記情報処理装置の前記画像入力デバイスで読み取られた画像データを前記記憶デバイスにデータ転送し、前記画像データが蓄積された前記記憶デバイスに対して前記各情報処理装置の前記画像出力デバイスがおのおのメモリリードコマンドを発行して前記記憶デバイスに蓄積された画像データを出力する場合、前記高速シリアルスイッチファブリックの仮想チャネルにおけるデータ通信の優先度を、
メモリリードコマンド>メモリライトコマンド
とする、
ことを特徴とする情報処理システム。 Information processing apparatus comprising: an image input device that reads image data; a storage device that stores image data read by the image input device; and an image output device that outputs the image data stored in the storage device In an information processing system that connects multiple devices via a high-speed serial switch fabric,
The image data read by the image input device of the one information processing apparatus is transferred to the storage device, and the image output device of each information processing apparatus corresponds to the storage device in which the image data is stored. When issuing each memory read command and outputting the image data stored in the storage device, the priority of data communication in the virtual channel of the high-speed serial switch fabric,
Memory read command> Memory write command
An information processing system characterized by this.
一の前記情報処理装置の前記画像入力デバイスで読み取られた画像データを前記記憶デバイスにデータ転送し、前記記憶デバイスに蓄積された前記画像データをマルチキャスト出力によってメモリライト転送を発生させて前記各情報処理装置の前記画像出力デバイスから出力する場合、前記高速シリアルスイッチファブリックの仮想チャネルにおけるデータ通信の優先度を、
メモリリードコマンド>メモリライトコマンド
とする、
ことを特徴とする情報処理システム。 Information processing apparatus comprising: an image input device that reads image data; a storage device that stores image data read by the image input device; and an image output device that outputs the image data stored in the storage device In an information processing system that connects multiple devices via a high-speed serial switch fabric,
The image data read by the image input device of the one information processing apparatus is transferred to the storage device, and the image data stored in the storage device is subjected to memory write transfer by multicast output to generate each of the information When outputting from the image output device of the processing device, the priority of data communication in the virtual channel of the high-speed serial switch fabric,
Memory read command> Memory write command
An information processing system characterized by this.
競合が発生する前記デバイスにおける前記トラフィック毎に前記トラフィッククラスを設定するトラフィッククラス設定工程と、
このトラフィッククラス設定工程により設定された前記各トラフィッククラスを、異なる前記仮想チャネルにそれぞれ割り当ててデータ通信の優先度を与えるチャネル設定工程と、
を含むことを特徴とするデータ通信方法。 A data communication method in an information processing apparatus in which a plurality of devices are connected via a high-speed serial switch fabric capable of mapping a traffic class capable of differentiating traffic to a virtual channel,
A traffic class setting step for setting the traffic class for each traffic in the device in which contention occurs;
A channel setting step of assigning each traffic class set by the traffic class setting step to a different virtual channel to give a priority of data communication;
A data communication method comprising:
ことを特徴とする請求項8記載のデータ通信方法。 The high-speed serial switch fabric is an Advanced Switching Interconnect standard switch fabric,
9. The data communication method according to claim 8, wherein:
ことを特徴とする請求項8または9記載のデータ通信方法。 By setting the virtual channel, the priority of the traffic class of traffic having isochronous restrictions in line synchronization signal units is made higher than the priority of the traffic class of traffic having isochronous restrictions in page units.
10. The data communication method according to claim 8 or 9, wherein:
ことを特徴とする請求項8または9記載のデータ通信方法。 By setting the virtual channel, the priority of the traffic class of the memory read transaction is made higher than the priority of the traffic class of the memory write transaction.
10. The data communication method according to claim 8 or 9, wherein:
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007012023A JP2007282187A (en) | 2006-03-16 | 2007-01-22 | Information processor, information processing system, and data communication method |
US11/684,229 US7664904B2 (en) | 2006-03-10 | 2007-03-09 | High speed serial switch fabric performing mapping of traffic classes onto virtual channels |
DE602007014284T DE602007014284D1 (en) | 2006-03-10 | 2007-03-12 | Information processing apparatus, information processing system and data transmission method |
EP07251009A EP1832984B1 (en) | 2006-03-10 | 2007-03-12 | Information processing apparatus, information processing system and data communication method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006073413 | 2006-03-16 | ||
JP2007012023A JP2007282187A (en) | 2006-03-16 | 2007-01-22 | Information processor, information processing system, and data communication method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007282187A true JP2007282187A (en) | 2007-10-25 |
Family
ID=38683135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007012023A Pending JP2007282187A (en) | 2006-03-10 | 2007-01-22 | Information processor, information processing system, and data communication method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007282187A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009163633A (en) * | 2008-01-09 | 2009-07-23 | Ricoh Co Ltd | Information processor and data communication method |
JP2010218455A (en) * | 2009-03-18 | 2010-09-30 | Ricoh Co Ltd | Switch, information processor, and data transfer control method |
JP2012105344A (en) * | 2008-07-15 | 2012-05-31 | Intel Corp | Managing timing of protocol stack |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005354658A (en) * | 2003-11-10 | 2005-12-22 | Ricoh Co Ltd | Image formation system |
-
2007
- 2007-01-22 JP JP2007012023A patent/JP2007282187A/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005354658A (en) * | 2003-11-10 | 2005-12-22 | Ricoh Co Ltd | Image formation system |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009163633A (en) * | 2008-01-09 | 2009-07-23 | Ricoh Co Ltd | Information processor and data communication method |
JP2012105344A (en) * | 2008-07-15 | 2012-05-31 | Intel Corp | Managing timing of protocol stack |
JP2010218455A (en) * | 2009-03-18 | 2010-09-30 | Ricoh Co Ltd | Switch, information processor, and data transfer control method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4928732B2 (en) | Data transfer system and electronic device | |
JP4878185B2 (en) | Data communication circuit and arbitration method | |
JP4704050B2 (en) | Data transfer system and electronic device | |
JP2006195871A (en) | Communication device, electronic equipment and image forming device | |
JP2008021024A (en) | Information processor and data communication equipment | |
JP2007087082A (en) | Information processor and option device sharing method | |
JP4564855B2 (en) | Data transfer system and electronic device | |
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 | |
JP4425766B2 (en) | Image forming system | |
JP2006092286A (en) | Data transfer device and image forming system | |
JP4828899B2 (en) | Information processing apparatus and storage device sharing method | |
JP2007282187A (en) | Information processor, information processing system, and data communication method | |
JP5218377B2 (en) | Image forming system | |
JP5176764B2 (en) | Data communication system, image processing system, and data communication method | |
JP2007272871A (en) | Information processing apparatus and data communication method | |
JP4476088B2 (en) | Data transfer apparatus and image forming system | |
JP4603336B2 (en) | Data transfer system, image forming system, and data transfer method | |
JP2007226494A (en) | Data transfer system | |
JP4824422B2 (en) | Control device, image processing system, and data transfer path switching method | |
JP2007241882A (en) | Data communication device, and image forming system | |
JP4690828B2 (en) | Information processing system, program, and packet communication method | |
JP2005332316A (en) | Data distribution device, data transfer device and image processing device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20091105 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111007 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111101 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120403 |