JP5176764B2 - Data communication system, image processing system, and data communication method - Google Patents
Data communication system, image processing system, and data communication method Download PDFInfo
- Publication number
- JP5176764B2 JP5176764B2 JP2008201195A JP2008201195A JP5176764B2 JP 5176764 B2 JP5176764 B2 JP 5176764B2 JP 2008201195 A JP2008201195 A JP 2008201195A JP 2008201195 A JP2008201195 A JP 2008201195A JP 5176764 B2 JP5176764 B2 JP 5176764B2
- Authority
- JP
- Japan
- Prior art keywords
- communication
- bandwidth
- data communication
- data
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Facsimiles In General (AREA)
- Small-Scale Networks (AREA)
Description
本発明は、データ通信システム、画像処理システム、及びデータ通信方法に関し、さらに詳しく言えば、高速シリアルスイッチファブリックを介して複数のデバイスを接続したデータ通信システム、画像処理システム、及びデータ通信方法に関する。 The present invention relates to a data communication system, an image processing system, and a data communication method. More specifically, the present invention relates to a data communication system, an image processing system, and a data communication method in which a plurality of devices are connected via a high-speed serial switch fabric.
一般に、画像データやその他のデータを扱う画像システム、例えばデジタル複写機、複合機(MFP)等の情報処理装置では、デバイス間のインタフェースにPCIバスが使用されている。しかし、パラレル方式のPCIバスでは、レーシングやスキューなどの問題があり、高速・高画質の画像形成装置に使用するには、転送レートが低い段階にきており、最近では、PCIバスのようなパラレル方式のインタフェースに代えて、IEEE1394やUSB等の高速シリアルインタフェースの使用が検討されている。例えば、特許文献1によれば、内部インタフェースとして、IEEE1394やUSB等の高速シリアルインタフェースを使用することが提案されている。 In general, in an image system that handles image data and other data, for example, an information processing apparatus such as a digital copying machine or a multifunction peripheral (MFP), a PCI bus is used as an interface between devices. However, the parallel PCI bus has problems such as racing and skew, and the transfer rate has been low for use in high-speed and high-quality image forming apparatuses. The use of a high-speed serial interface such as IEEE1394 or USB is being considered in place of the parallel interface. For example, according to Patent Document 1, it is proposed to use a high-speed serial interface such as IEEE1394 or USB as an internal interface.
また、他の高速シリアルインタフェースとして、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.
これらの技術をもとに、高速シリアルスイッチファブリックを用いると共に、様々な性質の異なるトラフィックを持つデバイスを高速シリアルスイッチファブリックに対して自由に拡張することができるスイッチで接続された画像システム、例えばプリンタやMFPも提案されている(特許文献2、3)。
Based on these technologies, a switch-connected image system, such as a printer, which uses a high-speed serial switch fabric and can freely expand devices having different traffic of various properties to the high-speed serial switch fabric. And MFPs have also been proposed (
また、ツリー構造の上位から下位に至る経路を検出するための手段、当該経路における通信パラメータを検出するための手段を通信デバイスのハードウェア手段で実行出来るようにして、これらの検出処理を簡素化する方法が提案されている(特許文献4)。 In addition, the means for detecting the path from the top to the bottom of the tree structure and the means for detecting the communication parameter in the path can be executed by the hardware means of the communication device, thereby simplifying the detection process. A method has been proposed (Patent Document 4).
更に、PCI Expressアーキテクチャを構成し、シリアル通信を行うシステムにおいて、パケットデータを統計情報生成手段により通信状況をリアルタイムでモニタし、モニタした結果を重み情報更新手段にフィードバックすることで、シリアル通信路を実際に転送されたパケットデータのデータ転送量に応じた優先度付けを可能とする、つまり、リアルタイムで優先度を調停する方法が開示されている(特許文献5)。
しかし、複数のスイッチを経由してデバイスが接続されたプリンタやMFP内部において、あるスイッチの1つの出力ポートに瞬間的に過大なトラフィックが発生すると、異なる出力ポートのトラフィックの邪魔をして、最悪の場合別のスイッチのトラフィックに対してもデータ転送能力が低下するという事態に陥るため、異常画像が発生するという問題があった。また、従来技術のようにリアルタイムでデータ転送量を調整すると、データ通信開始時に、一時的に発生する過大なトラフィックを抑止することはできない。 However, if excessive traffic occurs instantaneously at one output port of a switch in a printer or MFP to which devices are connected via a plurality of switches, the traffic at different output ports is disturbed, which is the worst. In this case, there is a problem that an abnormal image is generated because the data transfer capability is lowered even for the traffic of another switch. Further, if the data transfer amount is adjusted in real time as in the prior art, excessive traffic that temporarily occurs at the start of data communication cannot be suppressed.
本発明は、上記問題に鑑みてなされたものであり、データ通信する通信経路を通信経路に含まれる各デバイスに事前に通知することにより、システムに瞬間的に発生する過大なトラフィックを回避することができるデータ通信システム、画像処理システム、データ通信方法を提供することを目的とする。 The present invention has been made in view of the above problems, and avoids excessive traffic that occurs instantaneously in the system by notifying each device included in the communication path in advance of the communication path for data communication. An object of the present invention is to provide a data communication system, an image processing system, and a data communication method.
本発明の一局面のデータ通信システムは、ポイントツーポイントで送受信される通信チャネルが確立される高速シリアルバスにより、スイッチ又はデバイスであるノードが接続されるツリー構造によるデータ通信網を用いてデータ通信を行なうデータ通信システムであって、前記ツリー構造の下位にあるデバイスである下位デバイスは、データ通信前に、データ通信が行なわれるノード間の通信経路に関する通信情報を、前記ツリー構造の最上位にあるデバイスである最上位デバイスに通知する通知手段を備え、前記最上位デバイスは、複数の通信経路と、各ノード間の伝送路の許容帯域、及び、各ノードが有するポートを使用する複数の通信経路それぞれで使用される帯域の総和である現状帯域とを保持する保持手段と、前記通知手段により通知された通信情報と前記保持手段が保持する現状帯域とに基づいて、前記通信情報で示される通信経路を含み前記ポートを使用する複数の通信経路それぞれで使用される帯域の総和が前記許容帯域を超えないように前記通信経路の帯域を制御する制御手段と、を備える。 A data communication system according to one aspect of the present invention is a data communication using a data communication network having a tree structure in which nodes, which are switches or devices, are connected by a high-speed serial bus in which a communication channel transmitted and received point-to-point is established. The lower-level device, which is a lower-level device of the tree structure, performs communication information on a communication path between nodes on which data communication is performed at the top of the tree structure before data communication. A notification unit configured to notify a highest device which is a certain device, and the highest device includes a plurality of communication paths, a permissible bandwidth of a transmission path between the nodes, and a plurality of communications using ports of each node. holding means for holding the current band path is the sum of the bandwidth used by each of the notifying means Based on the current status bandwidth notified communication information and the holding means for holding said plurality of said tolerance band sum of the bandwidth used by each communication path using said port comprises a communication path indicated by the communication information Control means for controlling the bandwidth of the communication path so as not to exceed.
また、本発明の他の局面のデータ通信システムは、ポイントツーポイントで送受信される通信チャネルが確立される高速シリアルバスにより、スイッチ又はデバイスであるノードが接続されるツリー構造によるデータ通信網を用いてデータ通信を行なうデータ通信システムであって、各ノードをデータ通信可能に接続する制御回線を備え、データ通信が行なわれる通信経路に含まれる前記デバイスは、該デバイスに接続され、前記通信経路に含まれる前記スイッチに対し、データ通信に関する通信情報を、前記制御回線を介して通知する通知手段と、各通信経路の帯域を制御する制御手段とを備え、前記スイッチは、該スイッチと接続されるノード間で通信される各通信経路の帯域に関する通信帯域情報を保持する帯域保持手段と、前記通知手段により通知された通信情報に基づいて更新された各通信経路における帯域の通信状態を示す通信状態情報を、前記制御回線を介して通知する状態通知手段と、を備え、前記制御手段は、前記状態通知手段により通知された通信状態情報に基づいて、各通信経路の帯域を制御する。 The data communication system according to another aspect of the present invention uses a data communication network having a tree structure in which nodes as switches or devices are connected by a high-speed serial bus in which a communication channel transmitted and received point-to-point is established. A data communication system for performing data communication, comprising a control line for connecting each node so that data communication is possible, wherein the device included in a communication path for performing data communication is connected to the device, and is connected to the communication path. A notification means for notifying communication information relating to data communication to the switch included via the control line; and a control means for controlling the bandwidth of each communication path, the switch being connected to the switch Band holding means for holding communication band information relating to the band of each communication path communicated between nodes, and the notification State notification means for notifying the communication state information indicating the communication state of the band in each communication path updated based on the communication information notified by the stage via the control line, the control means, The bandwidth of each communication path is controlled based on the communication status information notified by the status notification means.
また、本発明の他のデータ通信方法は、ポイントツーポイントで送受信される通信チャネルが確立される高速シリアルバスにより、スイッチ又はデバイスであるノードが接続されるツリー構造によるデータ通信網を用いてデータ通信を行なうデータ通信システムであって、前記ツリー構造の最上位にあるデバイスである最上位デバイスは、複数の通信経路と、各ノード間の伝送路の許容帯域、及び、各ノードが有するポートを使用する複数の通信経路それぞれで使用される帯域の総和である現状帯域とを保持する保持手段を備えるデータ通信システムにおけるデータ通信方法であって、データ通信前に、データ通信が行なわれるノード間の通信経路に関する通信情報を、前記最上位デバイスに通知する通知ステップと、前記通知ステップにより通知された通信情報と前記保持手段が保持する現状帯域とに基づいて、前記通信情報で示される通信経路を含み前記ポートを使用する複数の通信経路で使用される帯域の総和が前記許容帯域を超えないように前記通信経路の帯域を制御する制御ステップと、を有する。 Further, another data communication method of the present invention uses a data communication network having a tree structure in which nodes as switches or devices are connected by a high-speed serial bus in which a communication channel transmitted and received point-to-point is established. A data communication system that performs communication, and the highest-level device, which is the highest-level device in the tree structure, includes a plurality of communication paths, an allowable bandwidth of a transmission path between the nodes, and a port included in each node. A data communication method in a data communication system having a holding means for holding a current band that is a sum of bands used in each of a plurality of communication paths to be used, between nodes where data communication is performed before data communication A notification step of notifying communication information about a communication path to the highest-level device; and the notification step. Based on the current status bandwidth notified communication information and the holding means for holding a plurality of said tolerance band is the sum of the bandwidth used by a communication path using said port comprises a communication path indicated by the communication information And a control step of controlling the bandwidth of the communication path so as not to exceed.
また、本発明の他のデータ通信方法は、ポイントツーポイントで送受信される通信チャネルが確立される高速シリアルバスにより、スイッチ又はデバイスであるノードが接続されるツリー構造によるデータ通信網を用いてデータ通信を行なうデータ通信システムであって、各ノードをデータ通信可能に接続する制御回線を備えるデータ通信システムにおけるデータ通信方法であって、データ通信が行なわれる通信経路に含まれる前記デバイスが、該デバイスに接続され、前記通信経路に含まれる前記スイッチに対し、データ通信に関する通信情報を、前記制御回線を介して通知する通知ステップと、前記スイッチが、前記通知ステップにより通知された通信情報に基づいて更新された各通信経路における帯域の通信状態を示す通信状態情報を、前記制御回線を介して通知する状態通知ステップと、前記デバイスが、前記状態通知ステップにより通知された通信状態情報に基づいて、各通信経路の帯域を制御する制御ステップとを有する。 Further, another data communication method of the present invention uses a data communication network having a tree structure in which nodes as switches or devices are connected by a high-speed serial bus in which a communication channel transmitted and received point-to-point is established. A data communication system for performing communication, and a data communication method in a data communication system including a control line for connecting each node so that data communication is possible, wherein the device included in a communication path through which data communication is performed is the device A notification step of notifying communication information relating to data communication to the switch included in the communication path via the control line, and the switch based on the communication information notified by the notification step Communication status information indicating the communication status of the bandwidth in each updated communication path A status notification step of notifying via the control line, the device is based on the notified communication state information by the status notification step, and a control step of controlling the bandwidth of each communication path.
本発明によれば、データ通信する通信経路を通信経路に含まれる各デバイスに事前に通知することにより、システムに瞬間的に発生する過大なトラフィックを回避することができるデータ通信システム、画像形成装置、データ通信方法を提供することができる。 According to the present invention, a data communication system and an image forming apparatus capable of avoiding excessive traffic that occurs instantaneously in the system by notifying each device included in the communication path in advance of a communication path for data communication. A data communication method can be provided.
以下、本発明の実施例を図面に基づいて説明する。 Embodiments of the present invention will be described below with reference to the drawings.
以下に添付図面を参照して、この発明にかかるデータ通信システムおよびデータ通信方法の最良な実施例を詳細に説明する。 Exemplary embodiments of a data communication system 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 embodiment 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] Description will be given in the section of [Characteristics of Advanced Switch Interconnect technology], and the present invention will be described in the columns of [Configuration of data communication system] to [Bandwidth control processing] and in the columns of each embodiment.
[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 a premise of this embodiment, an outline of the PCI Express standard is based on a partial excerpt from Non-Patent Document 1. explain. Here, the high-speed serial bus means an interface capable of exchanging data at high speed (about 100 Mbps or more) by serial (serial) transmission using a single transmission line.
PCI Expressは、PCIの後継規格としてコンピュータ全般に通用する標準拡張バスとして規格化されたバスであり、概略的には、低電圧差動信号伝送、ポイントツーポイントで送受信独立の通信チャネル、パケット化されたスプリットトランザクション、リンク構成の違いによる高いスケーラビリティなどの特徴を持つ。 PCI Express is a standardized expansion bus that can be used for all computers as a successor to PCI. In general, low-voltage differential signal transmission, point-to-point independent communication channels, and packetization Split transactions and high scalability due to differences in link configuration.
図1に既存のPCIシステム、図2にPCI Expressシステムの各々の構成例を示す。既存のPCIシステムにあっては、CPU100やAGPグラフィックス101やメモリ102が接続されたホストブリッジ103に対して、PCI-X(PCIの上位互換規格)デバイス104a,104bがPCI-Xブリッジ105aを介して接続されたり、PCIデバイス104c,104dが接続されたPCIブリッジ105bやPCIバススロット106が接続されたPCIブリッジ107がPCIブリッジ105cを介して接続されたりしたツリー構造(木構造)とされている。
FIG. 1 shows a configuration example of an existing PCI system, and FIG. 2 shows a configuration example of a PCI Express system. In the existing PCI system, PCI-X (PCI upward compatible standard)
これに対して、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は、実際に想定されるPCI Expressプラットホーム例を示すブロック図である。図3に示す例は、デスクトップ/モバイルへの適用例を示し、CPU121がCPUホストバス122により接続され、メモリ123が接続されたメモリハブ124(ルートコンプレックスに相当する)に対して、例えば、グラフィックス125がx16のPCI Express126aにより接続され、また、変換機能を有するI/Oハブ127がPCI Express126bにより接続されている。
FIG. 3 is a block diagram illustrating an example of a PCI Express platform that is actually assumed. The example shown in FIG. 3 shows an example of application to desktop / mobile. For example, a graphics hub is connected to a memory hub 124 (corresponding to a root complex) to which a
この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が接続されている。
For example, a
即ち、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は、x4の場合の物理層の構造例を示す図である。ポートは、物理的には同一半導体内にあり、リンクを形成するトランスミッタ/レシーバの集合で、論理的にはコンポーネント・リンク間を1対1で接続(ポイント・ツー・ポイント)するインタフェースを意味する。転送レートは、例えば片方向2.5Gbpsとされている。レーンは、例えば0.8Vの差動信号ペアのセットで、送信側の信号ペア(2本)、受信側の信号ペア(2本)からなる。リンクは、2つのポートとその間を結ぶレーンの集まりであり、コンポーネント間のデュアルシンプレックス通信バスである。「xNリンク」はN本のレーンから構成され、現在の規格では、N=1,2,4,8,16,32が定義されている。図示例は、x4リンク例である。
[Components of PCI Express]
A. Port / Lane / Link
FIG. 4 is a diagram illustrating a structure example of the physical layer in the case of x4. 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.
図5は、デバイス間のレーン接続例を示す図である。例えば、図5に示すように、デバイスA,B間を結ぶこのレーン幅Nを可変することにより、スケーラブルなバンド幅を構成することが可能となる。 FIG. 5 is a diagram illustrating an example of lane connection between devices. For example, as shown in FIG. 5, by changing the lane width N connecting the devices A and B, a scalable bandwidth can be configured.
B.ルートコンプレックス(Root Complex)
ルートコンプレックス112は、I/O構造の最上位に位置し、CPUやメモリサブシステムをI/Oに接続する。ブロック図などでは、図3に示すように、「メモリハブ」と記述されることが多い。ルートコンプレックス112(又は、124)は、1つ以上のPCI Expressポート(ルートポート)(図2中では、ルートコンプレックス112中の四角で示す)を持ち、各々のポートは独立したI/O階層ドメインを形成する。I/O階層ドメインは、単純なエンドポイントである場合(例えば、図2中のエンドポイント115a側の例)や、多数のスイッチやエンドポイントから形成される場合(例えば、図2中のエンドポイント115bやスイッチ117b,115c側の例)がある。
B. Root Complex
The
C.エンドポイント(End Point)
エンドポイント115は、タイプ00hのコンフィグレーション空間ヘッダを持つデバイス(具体的には、ブリッジ以外のデバイス)で、レガシーエンドポイントとPCI Expressエンドポイントとに分けられる。両者の大きな違いは、PCI ExpressエンドポイントはBAR(ベースアドレスレジスタ)でI/Oリソースを要求せず、このためI/Oリクエストを要求しない。また、PCI Expressエンドポイントは、ロックリクエストもサポートしていない。
C. End point
The
D.スイッチ(Switch)
スイッチ117(又は、134)は、2つ以上のポートを結合し、ポート間でのパケットルーティングを行う。図6は、スイッチの論理的構造例を示すブロック図である。コンフィグレーションソフトウェアからは、当該スイッチは、図6に示すように、仮想PCI-PCIブリッジ141の集合体として認識される。図中、両矢印はPCI Expressリンク114(又は、126)を示し、142a〜142dはポートを示す。
D. Switch
The switch 117 (or 134) couples two or more ports and performs packet routing between the ports. FIG. 6 is a block diagram illustrating an example of the logical structure of the switch. 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.
このうち、ポート142aはルートコンプレックスに近い方のアップストリームポートであり、ポート142b〜142dはルートコンプレックスから遠い方のダウンストリームポートである。
Of these, the
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.
[階層アーキテクチャ]
図7−1は、既存のPCIのアーキテクチャを示すブロック図である。従来のPCIのアーキテクチャは、図7−1に示すように、プロトコルとシグナリングが密接に関連する構造であり階層という考え方はなかった。
[Hierarchical architecture]
FIG. 7A is a block diagram illustrating an existing PCI 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.
図7−2は、PCI Expressのアーキテクチャを示すブロック図である。PCI Expressでは、図7−2に示すように、一般的な通信プロトコルやInfiniBandのように、独立した階層構造とされ、各層に分けて仕様が定義されている。即ち、最上位のソフトウェア151、最下位の機構(メカニカル)部152間に、トランザクション層153、データリンク層154、物理層155を持つ構造とされている。
FIG. 7-2 is a block diagram illustrating the architecture of PCI Express. As shown in FIG. 7-2, PCI Express has an independent hierarchical structure like a general communication protocol and InfiniBand, and specifications are defined for each layer. In other words, a
これにより、各層のモジュール性が確保され、スケーラビリティを持たせることやモジュールの再利用が可能となる。例えば、新たな信号コーディング方式や伝送媒体を採用する場合、物理層を変更するだけでデータリンク層やトランザクション層は変更せずに対応できる。 Thereby, the modularity of each layer is ensured, and it becomes possible to provide scalability and reuse the module. For example, when adopting a new signal coding method or transmission medium, it is possible to cope with only changing the physical layer without changing the data link layer or the transaction layer.
図8は、PCI Expressの階層構造を示すブロック図である。PCI Expressのアーキテクチャの中心となるのは、トランザクション層153、データリンク層154、物理層155であり、各々図8を参照して説明する以下のような役割を持つ。
FIG. 8 is a block diagram showing a PCI Express hierarchical structure. 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.
[コンフィグレーション空間]
図10は、PCI Expressのコンフィグレーション空間を示す説明図である。PCI Expressは、従来のPCIと同様にコンフィグレーション空間を持つが、その大きさは従来のPCIが256バイトであるのに対して、図10に示すように、4096バイトへと拡張されている。
[Configuration space]
FIG. 10 is an explanatory diagram showing a 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.
これにより、多数のデバイス固有レジスタセットを必要とするデバイス(ホストブリッジなど)に対しても、将来的に十分な空間が確保されている。PCI Expressでは、コンフィグレーション空間へのアクセスは、フラットなメモリ空間へのアクセス(コンフィグレーションリード/ライト)で行われ、バス/デバイス/機能/レジスタ番号はメモリアドレスにマップされている。当該空間の先頭256バイトは、PCIコンフィグレーション空間として、BIOSや従来のOSからI/Oポートを使用した方法でもアクセスできる。 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. 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.
従来のアクセスをPCI Expressでのアクセスに変換する機能は、ホストブリッジ上に実装される。00hから3FhまではPCI2.3互換のコンフィグレーションヘッダとなっている。 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.
これにより、PCI Expressで拡張された機能以外であれば、従来のOSやソフトウェアをそのまま使用することができる。即ち、PCI Expressにおけるソフトウェア層は、既存のPCIと互換性を保ったロード・ストア・アーキテクチャ(プロセッサが直接I/Oレジスタをアクセスする方式)を継承している。しかし、PCI Expressで拡張された機能(例えば、同期転送やRAS(Reliability,Availability and Serviceability)などの機能)を使用するには、4KバイトのPCI Express拡張空間にアクセスできるようにする必要がある。 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 messages as "virtual wires". ) 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は、トランザクションレイヤパケットのフォーマット例を示す図である。図9に示したトランザクションレイヤパケット(TLP)のフォーマットにおいて、ヘッダのヘッダ長は3DW(DWはダブルワードの略;合計12バイト)又は4DW(16バイト)で、トランザクションレイヤパケット(TLP)のフォーマット(ヘッダ長とペイロードの有無)、トランザクションタイプ、トラフィッククラス(TC)、アトリビュートやペイロード長などの情報が含まれる。パケット内の最大ペイロード長は1024DW(4096バイト)である。
b. Transaction layer packet (TLP)
PCI Express performs communication in units of packets. FIG. 9 is a diagram illustrating a format example of a transaction layer packet. 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.
図11は、仮想チャネルの概念を説明するための模式図である。仮想チャネル(VC:Virtual Channel)は、各々独立した仮想通信バス(同一のリンクを共用する複数の独立したデータ・フロー・バッファを使用するメカニズム)で、各々がリソース(バッファやキュー)を持ち、図11に示すように、独立したフロー制御を行う。 FIG. 11 is a schematic diagram for explaining the concept of the virtual channel. 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.
これにより、1つの仮想チャネルのバッファが満杯の状態(full)になっても、他の仮想チャネルの転送を行うことができる。つまり、物理的には1つのリンクを仮想的な複数のチャネルに分けることで、有効に使用することができる。例えば、図11中に示すように、スイッチを経由してルートのリンクが複数のデバイスに分かれる場合、各デバイスのトラフィックの優先度を制御することができる。VC0は必須で、コストパフォーマンスのトレードオフに応じてその他の仮想チャネル(VC1〜VC7)が実装される。図11中の実線矢印は、デフォルト仮想チャネル(VC0)を示し、破線矢印はその他の仮想チャネル(VC1〜VC7)を示している。 Thereby, even if the buffer of one virtual channel becomes full (full), the transfer of another virtual channel can be performed. In other words, it can be used effectively by physically dividing one link into a plurality of virtual channels. For example, as shown in FIG. 11, when a route link is divided into a plurality of devices via a switch, the priority of traffic of each device can be controlled. VC0 is indispensable, and other virtual channels (VC1 to VC7) are mounted in accordance with the cost performance trade-off. The solid line arrow in FIG. 11 indicates the default virtual channel (VC0), and the broken line arrow indicates the other virtual channels (VC1 to VC7).
トランザクション層内では、トラフィッククラス(TC)が仮想チャネル(VC)にマッピングされる。1つの仮想チャネル(VC)に対して1つ又は複数のトラフィッククラス(TC)をマッピングできる(仮想チャネル(VC)の数が少ない場合)。単純な例では、各トラフィッククラス(TC)から各仮想チャネル(VC)に1対1、全てのトラフィッククラス(TC)を仮想チャネルVC0にマッピングする、といったことが考えられる。TC0−VC0のマッピングは、必須/固定で、それ以外のマッピングは上位のソフトウェアから制御される。ソフトウェアはトラフィッククラス(TC)を利用することで、トランザクションの優先度を制御することが可能となる。 Within the transaction layer, a traffic class (TC) is mapped to a virtual channel (VC). One or more traffic classes (TC) can be mapped to one virtual channel (VC) (when the number of virtual channels (VC) is small). In a simple example, it can be considered that each traffic class (TC) is mapped to each virtual channel (VC) on a one-to-one basis, and all traffic classes (TC) are mapped to the virtual channel VC0. The mapping of TC0-VC0 is essential / fixed, and the other mappings are controlled from the upper software. The software can control the priority of the transaction by using the traffic class (TC).
d.フロー制御
受信バッファのオーバーフローを避け、伝送順序を確立するためにフロー制御(FC:Flow Control)が行われる。フロー制御は、リンク間のポイントツーポイントで行われ、エンドツーエンドではない。従って、フロー制御により最終的な相手(コンプリータ)にパケットが届いたことを確認することはできない。
d. Flow control Flow control (FC) is performed 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)
図12は、データリンクレイヤパケットのフォーマット例を示す図である。トランザクションレイヤパケット(TLP)は、物理層から送信されるときに自動的に図12に示すようなデータリンクレイヤパケット(DLLP)に分割されて各レーンに送信される。データリンク層154が生成するパケットは、データリンクレイヤパケット(DLLP)と呼ばれ、データリンク層154間でやり取りされる。データリンクレイヤパケット(DLLP)には、
・Ack/Nak:TLPの受信確認、リトライ(再送)
・InitFC1/InitFC2/UpdateFC:フロー制御の初期化とアップデート
・電源管理のためのDLLP
なる種類がある。
b. Data link layer packet (DLLP)
FIG. 12 is a diagram illustrating a format example of a data link layer packet. 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は、x4リンクでのバイトストライピング例を示す図である。変換されたデータは、図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). FIG. 13 is a diagram illustrating an example of byte striping in an x4 link. 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は、リンクステートの定義を示す図である。リンクの消費電力を低く抑えるために、図14に示すように、L0/L0s/L1/L2というリンクステートが定義されている。L0が通常モードで、L0sからL2へと低消費電力となるが、L0への復帰にも時間がかかるようになる。
b. Power Management and Link State FIG. 14 is a diagram showing the definition of the 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 is a normal mode, and power consumption is reduced from L0s to L2, but it takes time to return to L0.
図15は、アクティブステート電源管理の制御例を示すタイムチャートである。図15に示すように、ソフトウェアによる電源管理に加えて、アクティブステート電源管理を積極的に行うことにより、消費電力を極力小さくすることが可能となる。 FIG. 15 is a time chart illustrating an example of control of active state power management. 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 that can be widely applied to new application systems is 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技術の概要について説明する。まず、PCI ExpressとASI(Advanced Switching Interconnect)の関係について説明する。図16は、PCI ExpressとASI(Advanced Switching Interconnect)のプロトコルスタックの関係を示す図である。
[Overview of Advanced Switch Interconnect technology]
Next, an overview of the Advanced Switch Interconnect technology will be described. First, the relationship between PCI Express and ASI (Advanced Switching Interconnect) will be described. FIG. 16 is a diagram illustrating a relationship between PCI Express and ASI (Advanced Switching Interconnect) protocol stacks.
ASI(Advanced Switching Interconnect)はPCI Expressの高速シリアル伝送の物理層とリンク層の技術をそのまま採用しつつ、より広範囲なアプリケーションに対応できるようにしたものであり、その接続対象はChip-to-Chip, Board-to-Board を想定している。 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はコンピューティングで培われてきたPCIのトランザクションをそのまま継承しているが、ASI(Advanced Switching Interconnect)ではPCI Expressのトランザクション層を入れ替えて機能を拡張しており、より高度なデータフローとプロトコルに対応出来るようにしている。また、接続構造もPCI Expressのツリー構造から、より自由度の高いファブリック構造が出来るように拡張されており、マルチCPU環境にも対応している。ASI(Advanced Switching Interconnect)では、同様のファブリック構造が可能な他の規格(Ethernet(登録商標),InfiniBand等)よりもルーティング手法が格段に改善され、高速化が図られている。 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 is a diagram illustrating an initialization sequence in the fabric management function.
図18は、ASIにおけるプロトコルのカプセル化を示す図である。ASI(Advanced Switching Interconnect)では、図18に示すように、各種プロトコルをカプセル化する手法を採用することで、より高度なプロトコル(TCP/IP,Fibre Channel等)サービスの高速化を実現しようとしている。 FIG. 18 is a diagram illustrating protocol encapsulation in ASI. 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. .
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として定義されている。 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)パケット伝送への対応
・マルチキャスト、ブロードキャストパケットへの対応
・カプセル化によるマルチプロトコル伝送
・高速な独自のパスルーティング方式の採用
・輻輳管理機能のサポート
・ ファブリック構造への対応
図19は、ASIによる複数デバイス間のストレージやIOリソースの共有を示す図である。前述した特徴により、図19に示すような複数デバイス間のストレージやIOリソースの共有が可能となる。また、これまでPCI,PCI-X,PCI Express,HyperTransport,RapidIO,StarFabricなどの規格は、同じロード/ストアプロトコルを使っていても物理層が異なるために複雑な接続手段が必要であった。
[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 ・ Multiprotocol transmission by encapsulation ・ High-speed original path routing method ・ Support for congestion management function ・ Support for fabric structure FIG. 19 is a diagram showing storage and IO resource sharing between a plurality of devices by ASI. With the above-described features, storage and IO resources can be shared between a plurality of devices as shown in FIG. In addition, standards such as PCI, PCI-X, PCI Express, HyperTransport, RapidIO, and StarFabric have so far required complex connection means because the physical layer is different even if the same load / store protocol is used.
図20は、ASIによる通信例を示す図である。ASI(Advanced Switching Interconnect)技術を利用することで図20に示すような相互通信もシンプルに実現できるようになり、デバイス間の通信速度が高速化される。また、各種上位プロトコルをトンネルさせることにより、TCP/IP等の通信を通常のEthernet(登録商標)の処理よりも高速に実現する局所システムを構築することも可能となる。更に、ファブリック構造への対応などでシステムに冗長性を持たせてロバスト性を向上させたり、動的なルーティングパスの切り替えができたりするようになる。 FIG. 20 is a diagram illustrating an example of communication by ASI. 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 or 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 used effectively by physically dividing one link into a plurality of virtual channels.
トランザクション層内では、トラフィッククラス(TC)が仮想チャネル(VC)にマッピングされる。1つの仮想チャネル(VC)に対して1つ又は複数のトラフィッククラス(TC)をマッピングできる(仮想チャネル(VC)の数が少ない場合)。単純な例では、各トラフィッククラス(TC)から各仮想チャネル(VC)に1対1、全てのトラフィッククラス(TC)を仮想チャネルVC0にマッピングする、といったことが考えられる。 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.
TC0−VC0のマッピングは、必須/固定で、それ以外のマッピングは上位のソフトウェアから制御される。ソフトウェアはトラフィッククラス(TC)を利用することで、トランザクションの優先度を制御することが可能となる。また、ASIファブリック内では、過大なトラフィックが発生することによるCongestion状態が発生することがある。Congestion状態に陥ると、パケットの応答時間が長くなり、一定のサービスレベルが維持できなくなるという問題がある。そこで、ASI(Advanced Switching Interconnect)規格では、Congestion Management機能としてStatus-Based Flow Control(SBFC)を備えることにより、この問題の解決を図っている。 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). 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を用いて具体的に説明する。図21−1に示すように、3つのスイッチにトラフィック1〜3が存在している場合において、最初にトラフィック1とトラフィック2が、所望のデータ転送を行っていたとする。ここで、トラフィック3としてポートAの能力以上の過大なトラフィックが発生したとする。この影響は、同じ出力ポートAへのトラフィック2の減少となって現れる。また、トラフィック2のみならず、トラフィック2と同じリンクを経由するトラフィック1のトラフィックも減少してしまう。
Here, Congestion Management will be specifically described with reference to FIG. As shown in FIG. 21A, when traffics 1 to 3 exist in three switches, it is assumed that traffic 1 and
そこで、図21−2に示すように、SBFCを用いてポートAが混んでいる事を隣のスイッチに伝えることにより、トラフィック2の出力を抑えることができるようになるので、トラフィック1がトラフィック2の影響を受けなくなる。ところで、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
図22は、BVCを説明するための模式図である。BVC(Bypass Capable Unicast)は、図22に示すように、先に入力されたQueueをバイパスさせ、後から入力されたQueueがアービタ(調停回路)から抜けていくことを許しているものである。
Therefore, as shown in FIG. 21-2, the output of the
BVC (Bypass Capable Unicast): VC Ids 0-7
OVC (Ordered-Only Unicast): VC Ids 8-15
MVC (Multicast): VC Ids 16-19
FIG. 22 is a schematic diagram for explaining BVC. 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).
図23は、OVCを説明するための模式図である。OVC(Ordered-Only Unicast)は、図23に示すように、先に入力されたQueueがそのまま出力されるものである。 FIG. 23 is a schematic diagram for explaining OVC. In OVC (Ordered-Only Unicast), as shown in FIG. 23, the previously input Queue is output as it is.
図24は、MVCを説明するための模式図である。MVC(Multicast)は、図24に示すように、入力されたQueueがマルチキャスト出力されるものである。以下、本発明におけるデータ通信システムの構成について説明する。 FIG. 24 is a schematic diagram for explaining the MVC. In MVC (Multicast), as shown in FIG. 24, an input Queue is output in a multicast manner. The configuration of the data communication system according to the present invention will be described below.
[実施例1におけるデータ通信システムの構成]
図25−1は本発明の実施例1におけるデータ通信システムの構成例を示す図である。図25−1に示すように、データ通信システムは、CPU、メモリと接続されたPCI Expressのルートコンプレックス(最上位デバイス)200、スイッチ201〜203、デバイス204〜208を含んで、ルートコンプレックス200を最上位デバイスとしてツリー構造にデータ網が構築されている。
[Configuration of Data Communication System in Embodiment 1]
FIG. 25A is a diagram of a configuration example of the data communication system according to the first embodiment of the present invention. As shown in FIG. 25A, the data communication system includes a
ルートコンプレックス200は、ルートポート1、2を2つ有し、各々をルートとしたツリー構造は、ルートポート1サイド、ルートポート2サイドと呼ばれる。PCI Express規格では、これらルートポート1、2はアップストリームポートと呼ばれ、基本的にはデータ通信の上流側に位置する。
The
スイッチ201〜203は、データ通信をポイントツーポイントで行うための接続切り替え機能を有する。
The
図25−2は、ルートコンプレックス200の内部構成例を示す図である。図25−2に示すように、本発明では、帯域制御手段300、各ルートポートにおいて、ハードウェアによる下位のツリー構造に関する詳細な情報、即ち、ノード、通信ルート(通信経路)の構成、通信ルート毎の帯域の総和である現状帯域、及び、ノード間の伝送路の許容帯域を保持する保持手段301及び302を具備する。
FIG. 25-2 is a diagram illustrating an internal configuration example of the
帯域制御手段300は、各保持手段が保持する許容帯域を超えないよう各通信ルートの帯域を制御する。なお、帯域制御手段300は、各ルートポートに備えられるように構成してもよい。
The
図25−1に戻り、ルートポート1サイドに接続されているスイッチ201にはデータ通信通知手段11が具備され、ルートポート2サイドに接続されているスイッチ202には、同様に、データ通信通知手段21が具備されている。
Returning to FIG. 25A, the
データ通信通知手段11を具備しているスイッチ201には、通信通知手段12を具備しているスイッチ203、及び、同様にデータ通信通知手段13を具備するデバイス204が接続されている。
The
また、データ通信通知手段12を具備しているスイッチ203には、データ通信通知手段14を具備するデバイス203、及び、同様にデータ通信通知手段15を具備するデバイス208が接続されている。
Further, the
同様に、データ通信通知手段21を具備しているスイッチ202には、データ通信通知手段22を具備するデバイス205、及び、同様にデータ通信通知手段23を具備するデバイス206が接続されている。なお、各データ通信手段は、ハードウェアにより構成される。
Similarly, the
以上、本発明の構成には規則性があり、非常に実装し易い構成となっている。具体的には、ハードウェアによるデータ通信通知手段を、ルートコンプレックス200ではダウンストリームポートに、スイッチ及びデバイスではアップストリームポートに具備させれば良い。
As described above, the configuration of the present invention has regularity and is very easy to implement. Specifically, hardware data communication notification means may be provided in the downstream port in the
図26は、実施例1におけるルートポート1サイド及びルートポート2サイドの通信ルートの一例を示す図である。図27は、実施例1におけるルートポート2サイドの通信ルート及びスイッチ経由でのデバイス同士の通信ルートを示す図である。これら2つの図は、本来は1つの図で表してもよいが、見易くするため2つの図に分けている。さて、各々の通信ルートにはAから順に以下の通り割り当てるものとする。
[ルートポート1サイド]
A:ルートポート1―スイッチ201―スイッチ203―デバイス207
B:ルートポート1―スイッチ201―スイッチ203―デバイス208
C:ルートポート1―スイッチ201―デバイス204
D:デバイス207―スイッチ203―スイッチ201―デバイス204
E:デバイス208―スイッチ203―スイッチ201―デバイス204
[ルートポート2サイド]
F:ルートポート2―スイッチ202―デバイス205
G:ルートポート2―スイッチ202―デバイス206
H:デバイス205―スイッチ202―デバイス206
図28は、保持手段が保持するデータの一例を示した図である。図28に示すように、上記A〜Gの通信ルートが、ルートポート1サイド及びルートポート2サイドに設けたレジスタに設定されている。
FIG. 26 is a diagram illustrating an example of a communication route on the root port 1 side and the
[Root port 1 side]
A: Root port 1-switch 201-switch 203-
B: Root port 1-switch 201-switch 203-
C: Root port 1-Switch 201-
D: Device 207-Switch 203-Switch 201-
E: Device 208-Switch 203-Switch 201-
[
F: Root port 2-Switch 202-
G: Root port 2-Switch 202-
H: Device 205-Switch 202-
FIG. 28 is a diagram illustrating an example of data held by the holding unit. As shown in FIG. 28, the communication routes A to G are set in registers provided on the root port 1 side and the
図28では、横軸の11から18、21から28はデータ通信通知手段に対応し、ルートポート1サイドでは11から15が使用され、ルートポート2サイドでは21から23が使用されていることを示す。割り当てが無い部分は将来拡張することができる。
In FIG. 28, 11 to 18 and 21 to 28 on the horizontal axis correspond to the data communication notification means, and 11 to 15 are used on the root port 1 side, and 21 to 23 are used on the
また、図28に示す例では、データ通信手段を用いて通信ルートを示したが、スイッチやデバイス201〜208を用いてもよい。なお、設定状態を「○」で示したが、これは定性的なものであり、フラグを立てたり、数字で表したりして設定されているか否かを識別してもよい。
In the example shown in FIG. 28, the communication route is shown using the data communication means, but a switch or
例えば、図28を参照すれば、図26、図27の通信ルートがレジスタにマッピングされていることが分かる。更に、データ通信通知手段は自分自身の帯域(許容帯域)を事前に把握しているので、その情報も併せてルートポート1サイドのデータ通信通知手段に通知され、通信ルートに含まれる伝送路の許容帯域が、ハードウェアによってレジスタに自動的に書き込まれる。 For example, referring to FIG. 28, it can be seen that the communication routes of FIGS. 26 and 27 are mapped to registers. Further, since the data communication notifying means knows its own band (allowable band) in advance, the information is also notified to the data communication notifying means on the side of the root port 1 and the transmission path included in the communication route is also notified. The allowable bandwidth is automatically written to the register by hardware.
なお、ハードウェアによって自動設定されたレジスタ値は、レジスタ値確定後、即ちコンフィギュレーション後、上位層(ドライバ及びアプリケーション)からも操作することができる。 Note that register values automatically set by hardware can be operated from higher layers (drivers and applications) after register values are determined, that is, after configuration.
図28の例で言えば、例えばルート(伝送路)11の許容帯域は400であるがシステム全体のバランスを考えた場合、例えば消費電流の関係で最初は帯域を絞っておきたい場合等は、300に変更することも可能である。もちろん、ソフトウェアからの強制書き込みも可能であるが、レジスタのハードウエアリセットを掛けることで、極めて短時間に、例えば数システムクロック回数で初期値に戻すことも可能である。 In the example of FIG. 28, for example, the allowable bandwidth of the route (transmission path) 11 is 400, but when considering the balance of the entire system, for example, when it is desired to narrow the bandwidth at first due to current consumption, etc. It is also possible to change to 300. Of course, forcible writing from software is possible, but it is also possible to restore the initial value in a very short time, for example, several system clocks, by applying a hardware reset of the register.
図29は、実施例1における、ある時刻での通信ルートの一例を示す図である。通信ルートDを通じてデバイス204とデバイス207が、通信ルートBを通じてルートコンプレックス200(ルートポート1サイド)とデバイス208が通信している。同時に、通信ルートGを通じてルートコンプレックス200(ルートポート2サイド)とデバイス206が通信し、通信ルートHを通してデバイス205とデバイス206が通信している。
FIG. 29 is a diagram illustrating an example of a communication route at a certain time in the first embodiment. The
図30は、実施例1における、ある時刻での通信ルートの通信状況のレジスタ値の一例を示す図である。図30に示すように、通信状況がレジスタに格納されている。この時点では、図28と異なり、具体的な通信帯域が数値で書き込まれている。この図に示す通り、ルートポート1サイド、ルートポート2サイドの全ルートの現状帯域は許容帯域以下である。ここで、現状帯域とは、各ルート11、12、…毎の通信ルートA、B、…の総和のことである。
FIG. 30 is a diagram illustrating an example of a register value of a communication status of a communication route at a certain time in the first embodiment. As shown in FIG. 30, the communication status is stored in a register. At this time, unlike FIG. 28, a specific communication band is written in numerical values. As shown in this figure, the current bandwidth of all routes on the root port 1 side and the
図31は、新規通信ルートでデータ通信を開始しようとする状態を示す図である。図31に示すように、通信ルートC、通信ルートFで新規にデータ通信を開始しようとする。まず、新規にルートを使用しようとするデバイス(ツリー構造の下位に位置するデバイス)もしくはルートポートが、レジスタに書き込むためのパケットをルートポートに送信する。ルートポートはこれを解読し、解読した値をレジスタに書き込む。解読した値がレジスタに書き込まれた後の状態を図32に示す。 FIG. 31 is a diagram illustrating a state in which data communication is to be started using a new communication route. As shown in FIG. 31, data communication is newly started on communication route C and communication route F. First, a device (a device located at a lower level of the tree structure) or a root port that intends to newly use the root transmits a packet to be written to the register to the root port. The root port decrypts this and writes the decrypted value to the register. FIG. 32 shows a state after the decrypted value is written to the register.
図32は、新規ルートの要求帯域がレジスタに上書きされた一例を示す図である。図32に示すように、新規ルートCでは、使用する帯域(要求帯域)として200が要求されたため、まずは、対応レジスタに要求帯域200が上書きされる(通信ルートCの11、13参照)。また、新規通信ルートFでは、使用する帯域として100が要求されたため、まずは、対応レジスタに要求帯域100が上書きされる(通信ルートFの21、22参照)。
FIG. 32 is a diagram illustrating an example in which the requested bandwidth of the new route is overwritten in the register. As shown in FIG. 32, in the new route C, since 200 is requested as the bandwidth (requested bandwidth) to be used, first, the requested
ここで、図32に示すように、データ通信通知手段13に接続される伝送路の許容帯域200を現状帯域300が超えることになる。このとき、ルートコンプレックス200内部の帯域制御手段300は、新規通信ルートCに対して許容帯域を超えないように帯域を制御する。
Here, as shown in FIG. 32, the
[実施例1における帯域制御の処理について]
図33は、実施例1における、通信状況を適切に制御するためのフローチャートである。ステップ101において、デバイス(ツリー構造の下位に位置するデバイス)は、データ通信要求がきたか否かを判定する。ステップ101の判定結果がNO(要求がきてない)であればステップ101に戻り同様の判定を行なう。
[Band Control Processing in Embodiment 1]
FIG. 33 is a flowchart for appropriately controlling the communication status in the first embodiment. In
ステップ101の判定結果がYES(要求がきた)であればステップ102に進み、デバイスのデータ通信通知手段は、通信ルート、要求帯域をパケットにしてルートコンプレックス(最上位デバイス)200に通知(送信)する。
If the determination result in
ステップ102に続いてステップ103に進み、ルートコンプレックス200のルートポートは、パケットを解読して、解読して得られた要求帯域を、同じく解読して得られた通信ルートの対応レジスタに書き込む。なお、レジスタは保持手段に相当する。
Proceeding to step 103 following
ステップ103に続いてステップ104に進み、ルートコンプレックス200は、レジスタに要求帯域が書き込まれた後の現状帯域が許容帯域を超えているか否かを判定する。
Proceeding to step 104 following
ステップ104の判定結果がYES(超えていると判定)であればステップ105に進み、要求帯域及び現状帯域に基づいて許容帯域を超えないよう各通信ルートの帯域が再計算される。次に、再計算された帯域は、レジスタに上書きされる。
If the determination result in
ステップ105に続いて、又はステップ104の判定結果がNO(超えていないと判定)であればステップ106に進み、ルートコンプレックスのルートポートは通信ルートの各デバイスに対して、レジスタに設定された帯域を通知する。
Subsequent to step 105 or if the determination result in
ステップ106に続いてステップ107に進み、通信ルートに設定されているデバイスは、通知された帯域に従ってデータ通信を開始する。なお、既にデータ通信していたデバイスは、通信ルートの帯域が変更された場合、ルートポートから通知された帯域に従ってデータ通信を継続する。
Proceeding to step 107 following
図33で示した処理について具体的に説明すると、ステップ103の処理が完了すると、図32に示す状態になる。このとき、ステップ104の処理により、ルートポート1サイドではデータ通信通知手段13に接続される伝送路(以下、ルート13という)の現状帯域が、ルートポート2サイドではデータ通信通知手段22に接続される伝送路(以下、ルート22という)の現状帯域が許容帯域を超えることが分かる。
The processing shown in FIG. 33 will be specifically described. When the processing in
ここで、伝送路は許容帯域を超えるデータを流すことはできないので、各通信ルートは同じ伝送路内のデータ帯域を分け合う。例えばルート13では、200の要求帯域に対して100が許容される帯域となるので、100がレジスタに書き込まれる。この際、通信ルートCを通る他のルート(伝送路)のレジスタにも同じ値が書き込まれ、各ルート(伝送路)が許容帯域を超えていないかチェックされる。超えていれば同様の処理が再びなされる。ルート22では100の要求帯域に対して50が許容される帯域となるので、50がレジスタに書き込まれる。
Here, since the transmission path cannot flow data exceeding the allowable bandwidth, each communication route shares the data bandwidth in the same transmission path. For example, in the
図34は、実施例1における、帯域制御後のレジスタ値の一例を示した図である。図34に示すように、通信ルートCの「11」、「13」のレジスタには「100」が書き込まれ、通信ルートFの「21」、「22」のレジスタには「50」が書き込まれる。 FIG. 34 is a diagram illustrating an example of register values after bandwidth control in the first embodiment. As shown in FIG. 34, “100” is written to the “11” and “13” registers of the communication route C, and “50” is written to the “21” and “22” registers of the communication route F. .
これより、許容帯域を超えない帯域制御が可能となる。なお、前述した例では新規の通信ルートに対してのみ帯域を制御したが、既にデータ通信している通信ルートの帯域を制御するようにしてもよい。結果的に現状帯域が許容帯域を超えないようにすればよい。 Thus, bandwidth control that does not exceed the allowable bandwidth is possible. In the above-described example, the bandwidth is controlled only for the new communication route. However, the bandwidth of the communication route that is already performing data communication may be controlled. As a result, the current bandwidth should not exceed the allowable bandwidth.
図33に示すステップ105の処理が完了すると、図34に示すレジスタ値が書き込まれた状態となる。次に、ステップ106の処理で図34に示した値が、関連する各ルートにパケットとして通知される。
When the processing of step 105 shown in FIG. 33 is completed, the register values shown in FIG. 34 are written. Next, the value shown in FIG. 34 in the process of
図35は、実施例1における、新規通信ルートでデータ通信が開始された状態を示す図である。図33のステップ106において通知された帯域に従って、新規通信ルートC、Fは、データ通信が開始される。また、既存の通信ルートB、D、G、Hもデータ通信が完了するまでは継続してデータ通信が行なわれる。このとき、既存の通信ルートに帯域変更が生じた場合は、変更された帯域に従ってデータ通信が継続される。
FIG. 35 is a diagram illustrating a state in which data communication is started through a new communication route in the first embodiment. According to the bandwidth notified in
以上、実施例1に係るデータ通信システムによれば、データ転送開始前に使用可能な帯域を予め設定した後、データ通信を開始しているので、データ転送開始時に発生する可能性がある一時的な過大トラフィックを回避することができる。 As described above, according to the data communication system according to the first embodiment, the data communication is started after presetting the usable bandwidth before starting the data transfer. Excessive traffic can be avoided.
また、データ転送が終了した後、時間的に余裕があり、緊急な帯域変更或いは帯域の開放が必要ない、或いは、要求されなければ、ホストがソフトウェア制御によりレジスタ値を書き換えるようにすれば良い。この方式では、書き換えるレジスタ数によって設定するのに要する時間が決まる。 Further, after the data transfer is completed, there is a time allowance, and there is no need to urgently change the bandwidth or release the bandwidth, or if not required, the host may rewrite the register value by software control. In this method, the time required for setting is determined by the number of registers to be rewritten.
これに対し、時間的に余裕が無く、緊急な帯域変更或いは帯域の開放が必要とされる、或いは、要求される場合は、前述のようにレジスタのハードウエアリセットをかけることによって、初期値に戻すことが可能である。最も短いリセット時間は、データ転送終了を検出した時点で、ハードウェアが行うことで実施される。この方式では、数クロックという非常に短い時間で初期化が可能である。 On the other hand, if there is not enough time, and an urgent bandwidth change or bandwidth release is required or required, the initial value can be set by performing a hardware reset of the register as described above. It is possible to return. The shortest reset time is implemented by the hardware when the end of data transfer is detected. In this method, initialization is possible in a very short time of several clocks.
次に短いリセット時間は、ソフトウェア的にリセットをかける方式である。この方式では、数μsから数百μs程度でリセットを掛けることができる。なお、ここで述べているリセットは、レジスタ全てを対象とすることも、また、データ通信が終了したルートにのみ掛けることもできる。係る場合のハードウエアでの実装については特に難しい技術を用いる必要はない。 The next shortest reset time is a method of applying a reset in software. In this method, the reset can be applied in several μs to several hundred μs. Note that the reset described here can be applied to all the registers, or can be applied only to the route where data communication has been completed. In such a case, it is not necessary to use a particularly difficult technique for mounting in hardware.
ここで、実施例1において、新規にデータ通信を開始するため、前述した手順に基づいてルートポートに要求帯域を含むパケットを送信したとき、エラーが発生した場合について述べる。エラーが発生した場合は、ルートポートからエラーが発生した旨のエラーパケットが送信されるか、或いは、パケットがロストしてしまったなどの原因で、パケットが送信先に返って来ないことになる。 Here, a case will be described where an error occurs when a packet including a requested bandwidth is transmitted to the root port based on the above-described procedure in order to newly start data communication in the first embodiment. When an error occurs, an error packet indicating that an error has occurred is sent from the root port, or the packet is not returned to the destination due to a lost packet. .
エラーパケットを受け取った場合は、帯域要求のパケットを再送し、その後の正しい手順を踏むことができる。パケットが返って来なかった場合は、一定時間待った後再送処理を行えば、こちらもその後の正しい手順を踏むことができる。即ち、従来技術のようなリアルタイムで優先度を調停するような機構と異なり、実動作中にエラーが発生してしまった場合であっても、どこかのトラフィックにデータの損失が発生してしまうという問題を回避することができる。 When an error packet is received, the bandwidth request packet can be retransmitted and the subsequent correct procedure can be taken. If the packet does not return, if you wait for a certain period of time and then perform retransmission, you can follow the correct procedure. That is, unlike a mechanism that adjusts priority in real time as in the prior art, even if an error occurs during actual operation, data loss occurs in some traffic. Can be avoided.
実施例2に係るデータ通信システムについて説明する。実施例2では、各通信ルートA〜Hに、優先度を設けることに特長がある。 A data communication system according to the second embodiment will be described. The second embodiment is characterized in that priority is provided to each of the communication routes A to H.
実施例2に係るデータ通信システムの構成は実施例1と同様であるため省略し、保持手段が保持するデータの違いについて以下説明する。 Since the configuration of the data communication system according to the second embodiment is the same as that of the first embodiment, a description thereof will be omitted. Differences in data held by the holding unit will be described below.
図36は、実施例2におけるルートポート1サイドのレジスタ値の一例を示す図である。図37は、実施例2におけるルートポート2サイドのレジスタ値の一例を示す図である。図36及び図37ともに、優先度の情報が新たに追加されている。
FIG. 36 is a diagram illustrating an example of register values on the root port 1 side according to the second embodiment. FIG. 37 is a diagram illustrating an example of register values on the
図36及び図37に示す例では、優先度を設け、優先度毎にルートを事前に割り当てている。また、図36及び図37に示す例では、優先度100とは、ここに割り当てられた通信ルートが他のどの通信ルートよりも優先されること(使用率100%と読み替え可能)、即ち、可能ならば全帯域を使ってしまうことも可能であることを意味し、以下、優先度が80…20まで設定可能である。レジスタは、実施例1の場合と比べて優先度が付加されていることを除き同様である。また、優先度の値については、適宜設定変更可能とする。
In the example shown in FIGS. 36 and 37, priority is provided, and a route is assigned in advance for each priority. In the example shown in FIG. 36 and FIG. 37, the
次に、図38は、実施例2における、ある時刻でのルートポート1サイドの通信状況のレジスタ値の一例を示す図である。図39は、ある時刻でのルートポート2サイドの通信状況のレジスタ値の一例を示す図である。この状況で、通信ルートC、通信ルートFで新規に通信を開始しようとする。まず、新規通信に含まれるデバイスもしくはルートポートが、レジスタに書き込むためのパケットをルートポートに送信する。ルートポートはこれを解読し、解読して得られた要求帯域をレジスタに書き込む。レジスタに書き込まれた後の状態を図40及び図41に示す。
Next, FIG. 38 is a diagram illustrating an example of register values of the communication status on the side of the root port 1 at a certain time in the second embodiment. FIG. 39 is a diagram illustrating an example of a register value of the communication status on the side of the
図40は、実施例2におけるルートポート1サイドの通信状況のレジスタ値が上書きされた状態を示す図である。図41は、実施例2におけるルートポート2サイドの通信状況のレジスタ値が上書きされた状態を示す図である。図40及び図41に示す例では、パケットを解読して得られた要求帯域をそのまま上書きした状態となっている。
FIG. 40 is a diagram illustrating a state where the register value of the communication status on the side of the root port 1 in the second embodiment is overwritten. FIG. 41 is a diagram illustrating a state where the register value of the communication status on the side of the
図42は、実施例2における通信状況を帯域に従って適切に処理するためのフローチャートである。図42に示す処理で図33と同様の処理を行うものは、図33と同じ符号を付しその説明を省略する。 FIG. 42 is a flowchart for appropriately processing the communication status according to the second embodiment according to the band. The processing shown in FIG. 42 that performs the same processing as in FIG. 33 is assigned the same reference numeral as in FIG.
つまり、図42に示す処理で図33に示す処理と異なるところは、現状帯域の再計算処理に係るステップ201であるため、以下、ステップ201について説明する。なお、ステップ201の処理をする前までに図40及び図41に示したレジスタの状態になっている。
That is, since the process shown in FIG. 42 is different from the process shown in FIG. 33 in
ステップ201において、最上位デバイスの帯域制御手段300は、ルート13とルート22との帯域について許容帯域を超えないように制御する。なお、ステップ104の処理により、ルート13とルート22の帯域を制御する必要があることがわかっている。
In
次に、ステップ201の具体的な処理について図40及び図41を用いて説明する。図40を参照すれば、ルート13において、通信ルートCが80の優先度で帯域200を要求しているが、通信ルートDが既に20の優先度で帯域100を使用している。
Next, the specific processing of
ルート13を優先度に応じて効率良く使うために、
「通信ルートCのルート13での最大許容帯域」
=「通信ルートCの優先度」/(「通信ルートCの優先度」+「通信ルートDの優先度」)
×「ルート13の許容帯域」 ・・・式(1)
=160
「通信ルートDのルート13での最大許容帯域」
=「通信ルートDの優先度」/(「通信ルートCの優先度」+「通信ルートDの優先度」)
×「ルート13の許容帯域」 ・・・式(2)
=40
となる。各通信ルートの優先度を用いて求めた重みに基づいて計算された値が、各通信ルートに割当てられる帯域となる。但し、上記で計算された値が、各々の要求帯域を上回った場合は、要求帯域を上限とする。また、上記で計算された値は、同じ通信ルートにおける他の伝送路での帯域にも反映される。
To use
“Maximum allowable bandwidth in communication
= "Priority of communication route C" / ("Priority of communication route C" + "Priority of communication route D")
X “Allowable bandwidth of
= 160
“Maximum allowable bandwidth in
= "Priority of communication route D" / ("Priority of communication route C" + "Priority of communication route D")
X “Allowable bandwidth of
= 40
It becomes. A value calculated based on the weight obtained by using the priority of each communication route is a bandwidth allocated to each communication route. However, when the value calculated above exceeds the required bandwidth, the required bandwidth is set as the upper limit. In addition, the value calculated above is also reflected in the band on other transmission paths in the same communication route.
図43は、実施例2における現状帯域が優先度に基づいて計算されたときのルートポート1サイドのレジスト値の一例を示す図である。また、上記の計算をルートポート2サイドにも適用したものを図44に示す。
FIG. 43 is a diagram illustrating an example of a registration value on the side of the root port 1 when the current bandwidth in the second embodiment is calculated based on the priority. FIG. 44 shows the above calculation applied to the
図44は、実施例2における現状帯域が優先度に基づいて計算されたときのルートポート2サイドのレジスト値の一例を示す図である。図43及び図44に示すように、優先度に基づいて計算された帯域の総和である現状帯域は、許容帯域を超えないことがわかる。
FIG. 44 is a diagram illustrating an example of a registration value on the side of the
図45は、通信ルートC及び通信ルートFでは新規に、通信ルートD及び通信ルートHでは通信帯域が再設定され、通信している状態を示す図である。図42のステップ107の処理が終了すると図45に示す状態になる。
FIG. 45 is a diagram illustrating a state where communication is newly performed in the communication route C and the communication route F, and the communication band is reset in the communication route D and the communication route H, and communication is performed. When the process of
以上、実施例2におけるデータ通信システムは、データ通信開始前に許容帯域を超えることが分かった場合、各通信ルートに与えられている優先度を用いて求めた重みに基づいて、各通信ルートの帯域を計算することで、通信ルートの重要度に応じて帯域を制御することができる。 As described above, when it is found that the data communication system in the second embodiment exceeds the allowable bandwidth before the start of data communication, based on the weight obtained using the priority given to each communication route, By calculating the bandwidth, the bandwidth can be controlled according to the importance of the communication route.
実施例3における画像処理システムについて説明する。実施例3における画像処理システムでは、上記実施例で説明したデータ通信システムを画像形成装置のデータ通信システムに適用する。まずは画像形成装置のハードウェア構成について説明する。 An image processing system according to the third embodiment will be described. In the image processing system according to the third embodiment, the data communication system described in the above embodiment is applied to the data communication system of the image forming apparatus. First, the hardware configuration of the image forming apparatus will be described.
[画像形成装置のハードウェア構成]
実施例3における画像形成装置のハードウェア構成について説明する。図46は、実施例3における画像形成装置の概略ハードウェア構成を示す図である。
[Hardware configuration of image forming apparatus]
A hardware configuration of the image forming apparatus according to the third exemplary embodiment will be described. FIG. 46 is a diagram illustrating a schematic hardware configuration of the image forming apparatus according to the third embodiment.
図46に示すように、画像形成装置400は、制御部401、主記憶部402、補助記憶部403、ネットワークI/F404、文書保管部405、入力部406、表示部407、プロッタ部408、スキャナ部409を含む。
As shown in FIG. 46, the
制御部401は、コンピュータの中で、各装置の制御やデータの演算、加工を行うCPUである。制御部401は、主記憶部402に記憶されたプログラムを実行する演算装置で、入力装置や記憶装置からデータを受け取り、演算、加工した上で、出力装置や記憶装置に出力する。
The
主記憶部402は、ROM(Read Only Memory)やRAM(Randam Access Memory)などであり、制御部401が実行する基本ソフトウェアであるOSやアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。
The
補助記憶部403は、HD(Hard Disk)などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。また、補助記憶部403には、画像形成装置が管理する各種情報(例えば、ユーザ情報など)が格納され、データベース(DB:DataBase)、ファイルシステム(FS:File System)などの機能により管理される。
The
ネットワークI/F404は、有線及び/又は無線回線などのデータ伝送路により構築されたLAN(Local Area Network)、WAN(Wide Area Network)などのネットワークを介して接続された通信機能を有する周辺機器と当該画像形成装置などのインタフェースである。文書保管部405は、文書等の保管機能を有するドキュメントボックス等である。
The network I /
入力部406や表示部407は、キースイッチ(ハードキー)とタッチパネル機能(GUIのソフトウェアキーを含む:Graphical User Interface)を備えたLCD(Liquid Crystal Display)とから構成され、画像形成装置が有する機能を利用する際のUI(User Interface)として機能する表示及び/又は入力装置である。
The
プロッタ部408は、C(シアン)、M(マゼンダ)、Y(イエロー)、K(ブラック)からなる画像データを受け取ると、インクジェット方式を用いて、受け取った画像データを記録媒体(印刷用紙)に出力(印刷)するプロッタ装置である。
When the
スキャナ部409は、CCD(Charge Coupled Devices)光電変換素子からなるラインセンサとA/Dコンバータとこれらを駆動する駆動回路を備え、原稿読み取り面(コンタクトガラス上)にセットされた原稿をスキャンすることでRGB各8ビットのデジタル画像データを生成(原稿から情報を読み取り電子化)する読取装置である。
A
このように、画像形成装置は、主記憶部402や補助記憶部403などの記憶装置に格納されたプログラムを制御部401で実行し、制御信号(制御命令)を各装置へ送出すること(各装置を制御すること)で、画像形成装置が有するコピー、ファックス、スキャナ、プリンタなどのアプリケーションを実現し、画像形成装置で管理する情報、又は画像形成装置が接続されたシステム内で管理する情報を処理することができる。
As described above, the image forming apparatus executes a program stored in a storage device such as the
また、印刷に関する上位概念として、プリンタ及びコピアがある。プリンタはスキャナを用いず、ネットワーク等から取得したデータに対してプロッタを用いて出力する機能を指す。一方、コピアはスキャナからのデータに対してプロッタを用いて出力する機能を指す。これら個別の機能は、組み合わせによっては同時に動作させることができる。例えば、下記2つの動作はこれらの全機能が同時に動作している場合に相当する。
(動作1) プリンタ + スキャナ + ファクシミリ + 文書保管
(動作2) コピア(フ゜ロッタ&スキャナ) + ファクシミリ + 文書保管
これら2つの動作について考えると、破綻無く実行させるには、相応の工夫が必要となる。以下、図36、図37等のレジスタにおける優先度、許容帯域を、MFPに適用する場合について述べる。まず、各処理に重要度を付ける。重要度順に各処理を並べると、
(動作1) プリンタ > スキャナ > ファクシミリ > 文書保管
(動作2) コピア(フ゜ロッタ&スキャナ) > ファクシミリ > 文書保管
となる。
Further, as a general concept regarding printing, there are a printer and a copier. A printer refers to a function of outputting data acquired from a network or the like using a plotter without using a scanner. On the other hand, copier refers to a function of outputting data from a scanner using a plotter. These individual functions can be operated simultaneously in some combinations. For example, the following two operations correspond to the case where all these functions are operating simultaneously.
(Operation 1) Printer + Scanner + Facsimile + Document storage (Operation 2) Copier (floor & scanner) + Facsimile + Document storage Considering these two operations, it is necessary to devise appropriate measures to execute them without failure. Hereinafter, a case where the priority and allowable bandwidth in the registers of FIGS. 36 and 37 are applied to the MFP will be described. First, attach importance to each process. Arranging each process in order of importance,
(Operation 1) Printer>Scanner>Facsimile> Document storage (Operation 2) Copier (floor &scanner)>Facsimile> Document storage.
動作1の場合はプリンタ、動作2の場合はコピアについても重要度が高くなる。動作2の場合は更に、プロッタがスキャナより重要度が高いとする。即ち、「プロッタ」機能が最重要となる。何故ならば、プロッタのためのデータ通信が滞れば、それは即、印刷失敗につながるからである。
In the case of operation 1, the importance of the printer is increased, and in the case of
なお、ファクシミリについてはプロッタ、スキャナとは排他で使用することになり、データは画像形成装置内部の記憶部に蓄積可能であるので、各処理の重要度は上記の通りとする。ここで述べた重要度は、本発明の優先度及び許容帯域に対応させることが出来る。 Note that the facsimile is used exclusively with the plotter and the scanner, and the data can be stored in the storage unit inside the image forming apparatus. Therefore, the importance of each process is as described above. The importance described here can correspond to the priority and allowable bandwidth of the present invention.
即ち、プロッタとの通信ルートは最も重要度が高いので、予め大きな許容帯域を割り当て、逆に文書保管には小さな許容帯域を割り当てておく。更に、レジスタにおける優先度も、基本的に重要度に対応付けることができる。また、状況に応じて、許容帯域を大きくし、優先度を低くする設定にすることも可能である。 That is, since the communication route with the plotter has the highest importance, a large allowable bandwidth is allocated in advance, and conversely, a small allowable bandwidth is allocated for document storage. Furthermore, the priority in the register can be basically associated with the importance. Also, according to the situation, it is possible to increase the allowable bandwidth and set the priority to be low.
さて、高速な画像形成装置においては、特にプロッタは機器の要であり、最も高速にデータ通信させる必要のある機器である。場合によっては、他の機能のためのデータ通信をほぼ完全に止めてでも優先させることがある。そこで、実施例3における画像処理システムは、これを実施するために最適なシステムを提供する。 Now, in a high-speed image forming apparatus, the plotter is a key component of the device, and is a device that is required to perform data communication at the highest speed. In some cases, data communication for other functions may be prioritized even if it is almost completely stopped. Therefore, the image processing system according to the third embodiment provides an optimum system for implementing this.
また、開始順に対応した各機能の制御も大事となる。例えば、動作1において、重要度の低い順で各機能が実行されていったと仮定すると、先ず文書保管機能の動作が開始され、次にファクシミリの動作が開始される。もし画像形成装置内部でのデータ通信で調停が必要であれば、ファクシミリ動作が優先されるようにデータ通信が行われる。 Control of each function corresponding to the starting order is also important. For example, if it is assumed in the operation 1 that the functions are executed in order of decreasing importance, the operation of the document storage function is started first, and then the operation of the facsimile is started. If arbitration is required in the data communication inside the image forming apparatus, the data communication is performed so that the facsimile operation is prioritized.
次に、スキャナ動作が開始されれば、スキャナ動作が優先されるように、データ通信が行われる。同様に、プロッタの動作が開始されれば、プロッタが最重要の重要度で動作するようにデータ通信が行われる。このように、実施例2の通信ルートの優先度を実施例3の各処理の重要度に対応付けて構成することが可能となる。 Next, when the scanner operation is started, data communication is performed so that the scanner operation has priority. Similarly, when the operation of the plotter is started, data communication is performed so that the plotter operates at the most important importance. As described above, the priority of the communication route according to the second embodiment can be configured in association with the importance of each process according to the third embodiment.
また、これらの重要度の設定変更のための時間はできる限り短い方が良い。そこで、実施例3では、ソフトウェアでの設定変更よりも時間がかからないハードウエアでの設定変更が実現可能なため、ハードウェアでの設定変更を採用する。また、場合によっては、ソフトウエアでの設定変更も可能なため、ソフトウェアでの設定変更も実装しておくことにより、データ通信のための設定変更に対して最適で柔軟なシステムを提供することができる。 In addition, it is preferable that the time for changing the setting of the importance is as short as possible. Therefore, in the third embodiment, since it is possible to realize setting change in hardware that takes less time than setting change in software, the setting change in hardware is adopted. In some cases, software settings can also be changed. By implementing software settings, it is possible to provide an optimal and flexible system for data communication settings. it can.
以上、実施例3における画像処理システムでは、本発明におけるデータ通信システムを画像形成装置内部のデータ通信システムに適用することで、画像処理に係るデータ通信処理で瞬間的に過大なトラフィックが発生しても、これを回避することができる。つまり、本発明に係るデータ通信システムを画像形成装置内部のデータ通信システムに適用した場合、非常に有用であることがわかる。 As described above, in the image processing system according to the third embodiment, by applying the data communication system according to the present invention to the data communication system in the image forming apparatus, excessive traffic is instantaneously generated in the data communication process related to the image processing. Even this can be avoided. That is, when the data communication system according to the present invention is applied to the data communication system inside the image forming apparatus, it can be seen that it is very useful.
実施例4におけるデータ通信システムについて説明する。実施例4では、各ノード間に制御回線を新規に設けて、この制御回線を通じてデータ通信に関する情報をやりとりすることで、瞬間的に発生する過大なトラフィックを回避することができる。 A data communication system according to the fourth embodiment will be described. In the fourth embodiment, excessive traffic that occurs instantaneously can be avoided by newly providing a control line between the nodes and exchanging information related to data communication through the control line.
図47は、実施例4におけるデータ通信システムの構成を示す図である。図47に示すように、データ通信システムは、ルートコンプレックス500、スイッチ501〜503、デバイス504〜508、高速シリアルバス31〜35、41〜43、制御回線511〜515、521〜523を含んで構成される。
FIG. 47 is a diagram illustrating the configuration of the data communication system according to the fourth embodiment. As shown in FIG. 47, the data communication system includes a
実施例4におけるデータ通信システムでは、各ノード間を高速シリアルバスで接続する以外にも、制御回線で各ノード間を接続している。 In the data communication system according to the fourth embodiment, the nodes are connected by a control line in addition to connecting the nodes by a high-speed serial bus.
図47に示すように、データ通信システムは、CPU、メモリに接続されたPCI Expressのルートコンプレックス(最上位デバイス)500がある。ルートコンプレックス500にはルートポートが2つあり、各々ルートポート1サイド、ルートポート2サイドと呼ばれる。また、ルートコンプレックス500を最上位デバイスとしてツリー構造にデータ網が構築されている。
As shown in FIG. 47, the data communication system has a PCI Express root complex (top device) 500 connected to a CPU and a memory. The
ルートコンプレックス500は、ルートポート1、2を2つ有し、各々ルートポート1サイド、ルートポート2サイドと呼ばれる。PCI Express規格では、これらはアップストリームポートと呼ばれ、基本的には、データ通信の上流側に位置する。
The
スイッチ501〜503は、データ通信をポイントツーポイントで行うための接続切り替え機能を有する。
The
図48は、スイッチ及びデバイスの内部構成を示す図である。図48に示すように、実施例4におけるデータ通信システムでは、各スイッチにおいて、各ノードでの通信帯域に関する通信帯域情報を保持する帯域保持手段601、通信帯域を演算する演算手段602、帯域を更新する更新手段603、その時の通信帯域の通信状態を通知する状態通知手段604を有する。
FIG. 48 is a diagram illustrating an internal configuration of a switch and a device. As shown in FIG. 48, in the data communication system according to the fourth embodiment, in each switch, a
また、図48に示すように、各ルートポート及び、もしくはデバイスにおいて、データ通信に関する情報を通知する通知手段605と通信帯域を制御する帯域制御手段606とを有している。 As shown in FIG. 48, each root port and / or device has a notification means 605 for notifying information related to data communication and a band control means 606 for controlling the communication band.
図48(a)は、スイッチの内部構成を示す図である。帯域保持手段601は、スイッチに接続される伝送路(高速シリアルバス)の帯域を保持する。例えば、伝送路毎に、通信ルートAには帯域「100」、その他の通信ルートは帯域「0」という情報を保持する。 FIG. 48A shows the internal structure of the switch. Band holding means 601 holds the band of the transmission path (high-speed serial bus) connected to the switch. For example, for each transmission path, the information “band” “100” is stored in the communication route A and the band “0” is stored in the other communication routes.
演算手段602は、デバイスから通信情報を、制御回線を介して取得した場合、伝送路の帯域を各通信ルートにどのように設定するか演算を行う。例えば、伝送路31には、通信ルートAのみが使用されていたため100%の帯域を設定していたが、取得した通信情報により、この伝送路に通信ルートBも使用されることがわかると、通信ルートAに50%の帯域、通信ルートBに50%の帯域を設定するよう帯域の演算を行う。
When the
なお、演算手段602は、各通信ルートに優先度が設定されている場合、例えば、通信ルートAはその他の通信ルートよりも2倍の帯域を与えるなどが設定されている場合、その優先度情報に基づいて設定する帯域を演算する。
Note that when the priority is set for each communication route, for example, when the communication route A is set to give twice as much bandwidth as the other communication routes, the
更新手段603は、演算手段602により演算され設定された帯域を帯域保持手段601に書き込む(更新する)。これより、伝送路の最新の通信状態が帯域保持手段601に保持されることになる。
The updating
状態通知手段604は、デバイスから制御回線を介して通信情報を取得した場合、このデバイスに対して、更新手段603により更新された伝送路の通信状態情報を通知する。伝送路の通信状態情報とは、通信ルート毎にどれだけの帯域が設定されているかを示す情報である。通信状態情報は、帯域保持手段601に保持される情報から得ることができる。
When the communication information is acquired from the device via the control line, the
図48(b)は、デバイスの内部構成を示す図である。通知手段605は、これからデータ通信が行なわれる通信ルートに含まれるスイッチに対して、通信が行なわれることを示す通信情報を、制御回線を介して通知する。
FIG. 48B shows the internal structure of the device. The notifying
帯域制御手段606は、スイッチから通信状態情報を取得すると、通信状態情報が示す帯域に従って、各通信ルートの帯域を制御する。
When acquiring the communication status information from the switch, the
ここで、演算手段602について、PCI Express規格においては、ポイントツーポイントでの帯域は一意に決まっているため、特定の伝送路に2経路以上からのデータが送受信された場合、合計の帯域が一定となるということを意味する。 Here, since the point-to-point bandwidth is uniquely determined for the computing means 602 in the PCI Express standard, the total bandwidth is constant when data from two or more paths is transmitted / received to a specific transmission path. It means that it becomes.
一方、実施例4におけるデータ通信システムでは、複数のデータ通信ルートが存在する場合、各々の帯域を個別に制御することができることを念頭に置いている。例えば、或る伝送路にAとB2本の通信ルートが存在し、通信ルートAには通信ルートBの2倍の帯域が割り当てられるものとする。通信ルートAからのデータのみが送受信されている場合は、通信ルートBは未使用となるため、伝送路の全帯域が通信ルートAに割り当てられる。通信ルートBからのデータも送受信され始めたとすると、通信ルートAには全帯域のおおよそ3分の2が、通信ルートBにはおおよそ3分の1の帯域が割り当てられることになる。 On the other hand, the data communication system according to the fourth embodiment keeps in mind that each band can be individually controlled when there are a plurality of data communication routes. For example, it is assumed that there are two communication routes A and B in a certain transmission line, and a bandwidth twice as large as the communication route B is allocated to the communication route A. When only data from the communication route A is transmitted / received, the communication route B is not used, so the entire bandwidth of the transmission path is assigned to the communication route A. If data from the communication route B is also started to be transmitted / received, approximately two-thirds of the total bandwidth is allocated to the communication route A, and approximately one-third of the bandwidth is allocated to the communication route B.
更に、実施例4では、PCI Express規格における伝送路31〜35、41〜43とは別に、各伝送路に1対1に対応させた制御回線511〜515、及び、521〜523を有する。
Furthermore, the fourth embodiment includes
次に、実施例4における制御回線のビット割り当てについて説明する。制御回線511は、スイッチ501から先の下流側に伝送路32及び33の2本を有しているので、各々に1ビットずつ、合計2ビット割り当てられる。制御回線512については、上流側に伝送路31が1本、同レベルに伝送路33が1本、下流側に伝送路34、35の2本の伝送路があるので合計4ビット割り当てられる。
Next, the bit assignment of the control line in the fourth embodiment will be described. Since the
制御回線513は、上流側に伝送路31が1本、同レベルに伝送路32が1本あるので、合計2ビット割り当てられる。制御回線514は、上流側に伝送路32が1本、同レベルに伝送路35が1本あるので、合計2ビット割り当てられる。制御回線515は制御回線514と同様であるので、2ビット割り当てられる。
Since the
制御回線521は、スイッチ502から先の下流側に伝送路42及び43の2本を有しているので、各々に1ビットずつ、合計2ビット割り当てられる。制御回線522は上流側に伝送路41が1本、同レベルに伝送路43が1本あるので、合計2ビット割り当てられる。制御回線523は制御回線522と同様であるので、2ビット割り当てられる。
Since the
図49は、実施例4におけるルートポート1サイドの通信ルートを示す図である。図50は、実施例4におけるルートポート2サイドの通信ルート及びスイッチ経由でのデバイス同士の通信ルートを示す図である。図49及び図50の図は、本来は1つの図で表してもよいが見易くするため2つの図に分けている。さて、各々の通信ルートにはAから順に以下の通り割り当てる。
[ルートポート1サイド]
A:ルートポート1―スイッチ501―スイッチ503―デバイス507
B:ルートポート1―スイッチ501―スイッチ503―デバイス508
C:ルートポート1―スイッチ501―デバイス504
D:デバイス507―スイッチ503―スイッチ501―デバイス504
E:デバイス508―スイッチ503―スイッチ501―デバイス504
[ルートポート2サイド]
F:ルートポート2―スイッチ502―デバイス505
G:ルートポート2―スイッチ502―デバイス506
H:デバイス505―スイッチ502―デバイス506
以上のように、通信ルートによっては、かなり複雑にデータが送受信されることが分かる。
FIG. 49 is a diagram illustrating a communication route on the side of the root port 1 in the fourth embodiment. FIG. 50 is a diagram illustrating a communication route on the side of the
[Root port 1 side]
A: Root port 1-switch 501-switch 503-
B: Root port 1-switch 501-switch 503-
C: Root port 1-Switch 501-
D: Device 507-Switch 503-Switch 501-
E: Device 508-Switch 503-Switch 501-
[
F: Root port 2-Switch 502-
G: Root port 2-Switch 502-
H: Device 505-Switch 502-
As described above, depending on the communication route, it can be seen that data is transmitted and received in a considerably complicated manner.
図51は、実施例4における、ある時刻での通信状況の一例を示す図である。通信ルートDを通じてデバイス503とデバイス504が通信し、通信ルートBを通じてルートポート1サイドとデバイス505が通信している。
FIG. 51 is a diagram illustrating an example of a communication state at a certain time in the fourth embodiment. The
同時に、通信ルートGを通じてルートポート2サイドとデバイス506が通信し、通信ルートHを通してデバイス505とデバイス506が通信している。このときの各制御回線の状態は以下の通りである。
511:32=オン/33=オフ
512:31=オン/33=オン/34=オン/35=オン
513:31=オフ/32=オン
514:32=オン/35=オフ
515:32=オン/34=オフ
521:42=オフ/43=オン
522:41=オフ/43=オン
523:41=オン/42=オン
「オン」はデータ通信が行なわれている状態を表し、「オフ」はデータ通信が行なわれていない状態を表す。上記表記を分かりやすくするため、「オン」を「○」、「オフ」を「×」として上記を書き直すと、下記の通りとなる。
511:32=○/33=×
512:31=○/33=○/34=○/35=○
513:31=×/32=○
514:32=○/35=×
515:32=○/34=×
521:42=×/43=○
522:41=×/43=○
523:41=○/42=○
上記から明白なように、制御回線512では全通信ルートが使用されているので、31、33、34及び35各々の通信ルートに帯域を予め割り付けておけば、システムに瞬間的に過大なトラフィックが発生する可能性があっても、予め決められた帯域に従ってデータ通信を行なうので、データ送受信に破綻をきたさない通信システムを得ることができる。
At the same time, the
511: 32 = on / 33 = off 512: 31 = on / 33 = on / 34 = on / 35 = on 513: 31 = off / 32 = on 514: 32 = on / 35 = off 515: 32 = on / 34 = off 521: 42 = off / 43 = on 522: 41 = off / 43 = on 523: 41 = on / 42 = on “On” represents a state in which data communication is performed, and “off” represents data Indicates that no communication is taking place. To make the above notation easy to understand, rewriting the above with “ON” as “◯” and “OFF” as “X”, the following is obtained.
511: 32 = ○ / 33 = ×
512: 31 = O / 33 = O / 34 = O / 35 = O
513: 31 = × / 32 = ○
514: 32 = ○ / 35 = ×
515: 32 = ○ / 34 = ×
521: 42 = × / 43 = ○
522: 41 = × / 43 = ○
523: 41 = ○ / 42 = ○
As is clear from the above, since all the communication routes are used in the
つまり、これから新規にデータ通信が行なわれる場合、新規通信ルート上にあるルートポート又はデバイスが図48に示す通知手段603を用いてスイッチに通信情報を通知することで、新規通信ルートを含めた通信ルートに対して、データ送受信に破綻をきたさないような帯域を事前に設定することができる。 That is, when a new data communication is performed from now on, a communication including a new communication route is performed by a route port or device on the new communication route notifying the switch of communication information using the notification means 603 shown in FIG. A bandwidth that does not cause a failure in data transmission / reception can be set in advance for the route.
また、新規通信ルートを用いてデータ通信を開始する場合について説明する。図52は、実施例4における、新規ルートを用いてデータ通信を開始するときの状態を示す図である。 A case where data communication is started using a new communication route will be described. FIG. 52 is a diagram illustrating a state when data communication is started using a new route according to the fourth embodiment.
まず、新規通信ルートCでデータ通信しようとするデバイスもしくはルートポートが、制御回線511の伝送路33及び制御回線513の伝送路31をアサートする。また、新規通信ルートFでデータ通信しようとするデバイスもしくはルートポートが、制御回線521の伝送路42及び制御回線522の伝送路41をアサートする。
First, a device or a root port that intends to perform data communication through the new communication route C asserts the
前述した通り、今まで1本の通信ルートしか無かったものが2本以上になった場合、予め割り当ててあった帯域に従ってデータ送受信が行われるので、システムに瞬間的に過大なトラフィックが発生する可能性があっても、これを回避できる構成にしているので、データ送受信に破綻をきたさない通信システムを得ることができる。 As described above, when there are more than two communication links that have only had a single communication route so far, data transmission / reception is performed according to a pre-assigned bandwidth, which may cause excessive traffic instantaneously in the system. Even if there is a characteristic, since it is configured to avoid this, it is possible to obtain a communication system that does not cause a failure in data transmission / reception.
以上、実施例4に係るデータ通信システムによれば、各スイッチが、各通信ルートにおける通信状態を把握することにより、データ通信前に各通信ルートが使用可能な帯域を予め設定するため、データ転送開始時に発生する可能性のある一時的な過大トラフィックを回避することができる。 As described above, according to the data communication system according to the fourth embodiment, each switch knows the communication state in each communication route, so that the bandwidth that can be used by each communication route is set in advance before data communication. Temporary excessive traffic that may occur at the start can be avoided.
なお、スイッチ同士を接続する伝送路の帯域制御については、どちらか一方が帯域を演算、設定して、他方が設定された帯域に従って帯域制御することを予め決めておけばよい。例えば、2つのスイッチが上流、下流の関係にある場合は上流のスイッチが帯域を演算、設定し、下流のスイッチが帯域制御を行うようにし、2つのスイッチが同レベルにある場合は、データの発呼側のスイッチが帯域を演算、設定し、着呼側のスイッチが帯域制御を行うようにすればよい。 As for bandwidth control of the transmission line connecting the switches, it may be determined in advance that either one calculates and sets the bandwidth and the other performs bandwidth control according to the set bandwidth. For example, if two switches are in an upstream / downstream relationship, the upstream switch calculates and sets the bandwidth, the downstream switch performs bandwidth control, and if the two switches are at the same level, The calling side switch may calculate and set the bandwidth, and the called side switch may perform bandwidth control.
実施例5に係るデータ通信システムについて説明する。実施例5では、通知手段605は、制御回線を介して、使用する帯域を数値で指定することができる。
A data communication system according to the fifth embodiment will be described. In the fifth embodiment, the
実施例1では、通知手段605は、通信情報としてどの通信ルートが使用されるか否かの情報を通知するだけであったが、実施例5では、通知手段605は、通信情報に使用する帯域の数値を含めて通知できるようにする。そのため、制御回線に、例えば通信ルート毎に各8ビットの制御信号線を割り当て、帯域を数値で指定できるようにする。
In the first embodiment, the
演算手段603は、取得した帯域の数値に基づいて新規通信ルートの帯域を設定する。取得した帯域の数値をそのまま用いると許容帯域を超えてしまう場合、新規通信ルートの帯域を優先し、現在使用されている他の通信ルートの帯域を減らすことで、許容帯域を超えないようにしてもよい。 The computing means 603 sets the bandwidth of the new communication route based on the acquired bandwidth value. If the obtained bandwidth value is used as it is, it will exceed the allowable bandwidth, giving priority to the bandwidth of the new communication route and reducing the bandwidth of other currently used communication routes so that the allowable bandwidth is not exceeded. Also good.
以上、実施例5に係るデータ通信システムによれば、これから使用する通信ルートの帯域を数値で指定することにより、新規通信ルートが所望する帯域でデータ通信を行なうことができる。この際、新規通信ルートの帯域を、現在使用されている通信ルートよりも優先的に設定するよう帯域を制御するようにすればよい。 As described above, according to the data communication system according to the fifth embodiment, data communication can be performed in a band desired by the new communication route by designating numerically the bandwidth of the communication route to be used. At this time, the bandwidth may be controlled so that the bandwidth of the new communication route is set with priority over the currently used communication route.
実施例6に係るデータ通信システムについて説明する。実施例6では、伝送路における帯域が一度設定された後でも、所定の条件を満たすとき、帯域を変更することができる。 A data communication system according to the sixth embodiment will be described. In the sixth embodiment, even after the bandwidth in the transmission path is set once, the bandwidth can be changed when a predetermined condition is satisfied.
実施例6では、演算手段602により演算された帯域に基づいて各通信ルートの帯域が更新された場合、次に通知手段605から通信情報が通知される前に、帯域を変更できるようになる。
In the sixth embodiment, when the bandwidth of each communication route is updated based on the bandwidth calculated by the
例えば、もともと通信ルートA、B、Dが使用している伝送路があるとする。各通信ルートはそれぞれ、30%、30%、40%の帯域を用いて通信を行なっている。このとき、ルートDのデータ通信が終了したとする。演算手段602は、通信ルートDのデータ通信が終了したことを検知もしくは、他のデバイスから通知されると、通信ルートA、Bにそれぞれ50%ずつの帯域を演算して設定する。また、通信ルートに優先度が設定されている場合は、優先度に基づいて帯域を演算するようにしてもよい。 For example, it is assumed that there is a transmission path originally used by the communication routes A, B, and D. Each communication route performs communication using bandwidths of 30%, 30%, and 40%, respectively. At this time, it is assumed that the data communication of the route D is completed. When detecting that the data communication of the communication route D has been completed or notified from another device, the calculating means 602 calculates and sets 50% bandwidths for the communication routes A and B, respectively. In addition, when priority is set for the communication route, the bandwidth may be calculated based on the priority.
以上、実施例6に係るデータ通信システムによれば、一度設定(制御)した帯域であっても、その後状況が変化もしくは所定の条件を満たしたときに、再度、帯域を変更することで、帯域を効率よく使用してデータ通信を行うことができる。 As described above, according to the data communication system according to the sixth embodiment, even when the bandwidth is once set (controlled), the bandwidth is changed again when the situation changes or the predetermined condition is satisfied. Can be used efficiently to perform data communication.
実施例7に係るデータ通信システムについて説明する。実施例7では、データ通信と並行して各通信ルートの帯域を制御する。 A data communication system according to the seventh embodiment will be described. In the seventh embodiment, the bandwidth of each communication route is controlled in parallel with data communication.
実施例7における通知手段605は、データ通信を開始すると同時又は開始後に、制御回線を介して、通信情報をスイッチに通知する。スイッチは、通信情報を取得すると、データ通信と並行して、演算手段602により各通信ルートの帯域の演算を行う。
The
演算手段602により演算、設定された帯域は、更新手段603により帯域保持手段601に上書きされる(更新される)。次に、状態通知手段604により、更新された各通信ルートの帯域を通信状態情報としてデバイスに通知する。通信状態情報を通知されたデバイスは、帯域制御手段606により、通信状態情報が示す帯域に制御して、各通信ルートのデータ通信を継続する。
The bandwidth calculated and set by the computing means 602 is overwritten (updated) on the bandwidth holding means 601 by the updating means 603. Next, the
以上、実施例7に係るデータ通信システムによれば、データ通信と並行して各通信ルートの帯域を制御することで、データ通信タイミングを遅らせることなく、かつ、データ通信能力の低下を防止することができる。 As described above, according to the data communication system according to the seventh embodiment, by controlling the bandwidth of each communication route in parallel with the data communication, it is possible to prevent a decrease in data communication capability without delaying the data communication timing. Can do.
実施例8に係る画像処理システムについて説明する。実施例8では、実施例4乃至7で説明した各データ通信システムを、実施例3で説明した画像形成装置のデータ通信システムに適用する。 An image processing system according to the eighth embodiment will be described. In the eighth embodiment, each data communication system described in the fourth to seventh embodiments is applied to the data communication system of the image forming apparatus described in the third embodiment.
実施例3で説明した通り、画像処理システムにおいては、圧縮・伸長・回転等の画像処理のように、それほどリアルタイム性が必要とされない処理や、プロットアウト処理のように、リアルタイム性が極めて重要となる処理など、プライオリティの異なる各種処理が混在している。よって、この画像処理システムに上記実施例4乃至7で説明した各データ通信システムを適用すれば、異常画像が発生しない画像システムを得ることができる。 As described in the third embodiment, in an image processing system, real-time performance is extremely important, such as processing that does not require real-time performance such as image processing such as compression, expansion, and rotation, and plot-out processing. Various processes with different priorities are mixed. Therefore, if the data communication systems described in the fourth to seventh embodiments are applied to this image processing system, an image system in which no abnormal image occurs can be obtained.
1、2 ルートポート
11、12、13、14、15 データ通信通知手段
21、22、23 データ通信通知手段
200、500 ルートコンプレックス
201、202、203 スイッチ
204、205、206、207、208 デバイス
300 帯域制御手段
301、302 保持手段
400 画像形成装置
501、502、503 スイッチ
504、505、506、507、508 デバイス
511、512、513、514、515、521、522、523 制御回路
601 帯域保持手段
602 演算手段
603 更新手段
604 状態通知手段
605 通知手段
606 帯域制御手段
1, 2,
Claims (10)
前記ツリー構造の下位にあるデバイスである下位デバイスは、
データ通信前に、データ通信が行なわれるノード間の通信経路に関する通信情報を、前記ツリー構造の最上位にあるデバイスである最上位デバイスに通知する通知手段を備え、
前記最上位デバイスは、
複数の通信経路と、各ノード間の伝送路の許容帯域、及び、各ノードが有するポートを使用する複数の通信経路それぞれで使用される帯域の総和である現状帯域とを保持する保持手段と、
前記通知手段により通知された通信情報と前記保持手段が保持する現状帯域とに基づいて、前記通信情報で示される通信経路を含み前記ポートを使用する複数の通信経路それぞれで使用される帯域の総和が前記許容帯域を超えないように前記通信経路の帯域を制御する制御手段と、を備えるデータ通信システム。 A data communication system that performs data communication using a data communication network having a tree structure in which nodes that are switches or devices are connected by a high-speed serial bus that establishes a communication channel that is transmitted point-to-point,
Subordinate devices that are subordinate devices of the tree structure are:
Prior to data communication, comprising a notification means for notifying communication information relating to a communication path between nodes where data communication is performed to a highest-level device which is a device at the highest level of the tree structure;
The top-level device is
Holding means for holding a plurality of communication paths, a permissible band of a transmission path between each node, and a current band that is a sum of bands used in each of a plurality of communication paths using a port of each node;
Based on the communication information notified by the notification means and the current bandwidth held by the holding means , the sum of the bands used in each of the plurality of communication paths including the communication path indicated by the communication information and using the port A data communication system comprising: control means for controlling a bandwidth of the communication path so that does not exceed the allowable bandwidth.
前記制御手段は、
前記要求帯域を前記現状帯域に加算した帯域が前記許容帯域を超えるか否かを判定し、前記許容帯域を超える場合、前記通信経路の帯域の制御を行う請求項1記載のデータ通信システム。 The communication information includes a requested bandwidth indicating a bandwidth requested in a communication path through which data communication is performed,
The control means includes
The data communication system according to claim 1, wherein it is determined whether or not a bandwidth obtained by adding the requested bandwidth to the current bandwidth exceeds the allowable bandwidth, and when the bandwidth exceeds the allowable bandwidth, the bandwidth of the communication path is controlled.
各通信経路に設定された優先度をさらに保持し、
前記制御手段は、
前記判定の結果が前記許容帯域を超える場合、前記優先度及び前記許容帯域に基づいて、各通信経路の帯域を制御する請求項2記載のデータ通信システム。 The holding means is
Further hold the priority set for each communication path,
The control means includes
The data communication system according to claim 2, wherein when the result of the determination exceeds the allowable bandwidth, the bandwidth of each communication path is controlled based on the priority and the allowable bandwidth.
前記許容帯域に対して、各通信経路の前記優先度により求められた重みに基づいて各通信経路における最大限使用可能な帯域を算出し、算出した帯域に基づいて各通信経路の帯域を制御する請求項3記載のデータ通信システム。 The control means includes
For the allowable bandwidth, the maximum usable bandwidth in each communication path is calculated based on the weight obtained by the priority of each communication path, and the bandwidth of each communication path is controlled based on the calculated bandwidth. The data communication system according to claim 3.
各ノードをデータ通信可能に接続する制御回線を備え、
データ通信が行なわれる通信経路に含まれる前記デバイスは、
該デバイスに接続され、前記通信経路に含まれる前記スイッチに対し、データ通信に関する通信情報を、前記制御回線を介して通知する通知手段と、
各通信経路の帯域を制御する制御手段とを備え、
前記スイッチは、
該スイッチと接続されるノード間で通信される複数の通信経路の帯域に関する通信帯域情報を保持する帯域保持手段と、
前記通知手段により通知された通信情報に基づいて更新された複数の通信経路における帯域の通信状態を示す通信状態情報を、前記制御回線を介して通知する状態通知手段と、を備え、
前記制御手段は、
前記状態通知手段により通知された通信状態情報に基づいて、複数の通信経路の帯域を制御するデータ通信システム。 A data communication system that performs data communication using a data communication network having a tree structure in which nodes that are switches or devices are connected by a high-speed serial bus that establishes a communication channel that is transmitted point-to-point,
It has a control line that connects each node so that data communication is possible,
The device included in a communication path through which data communication is performed is:
Notifying means connected to the device and notifying the switch included in the communication path of communication information related to data communication via the control line;
Control means for controlling the bandwidth of each communication path,
The switch is
Bandwidth holding means for holding communication bandwidth information relating to bandwidths of a plurality of communication paths communicated between nodes connected to the switch;
State notification means for notifying, via the control line, communication state information indicating communication states of bands in a plurality of communication paths updated based on the communication information notified by the notification means;
The control means includes
A data communication system for controlling bandwidths of a plurality of communication paths based on communication state information notified by the state notification means.
前記スイッチが前記数値情報を取得した場合、
前記帯域保持手段は、
前記数値情報に基づいて更新された通信帯域情報を保持する請求項5記載のデータ通信システム。 The communication information includes numerical information indicating a band when data communication is performed on the communication path,
When the switch acquires the numerical information,
The band holding means includes
The data communication system according to claim 5, wherein the communication band information updated based on the numerical information is held.
前記通信情報を取得した場合、取得した前記通信情報に基づいて各通信経路の帯域を演算する演算手段と、
前記演算手段により演算された帯域に基づいて前記帯域の通信状態を更新する更新手段とを備える請求項5又は6記載のデータ通信システム。 The switch is
When the communication information is acquired, calculation means for calculating the bandwidth of each communication path based on the acquired communication information,
The data communication system according to claim 5, further comprising an update unit that updates a communication state of the band based on the band calculated by the calculation unit.
データ通信前に、データ通信が行なわれるノード間の通信経路に関する通信情報を、前記最上位デバイスに通知する通知ステップと、
前記通知ステップにより通知された通信情報と前記保持手段が保持する現状帯域とに基づいて、前記通信情報で示される通信経路を含み前記ポートを使用する複数の通信経路で使用される帯域の総和が前記許容帯域を超えないように前記通信経路の帯域を制御する制御ステップと、
を有するデータ通信方法。 A data communication system for performing data communication using a data communication network having a tree structure in which nodes, which are switches or devices, are connected by a high-speed serial bus in which a communication channel transmitted and received point-to-point is established. The highest-level device, which is the highest-level device in the structure, includes a plurality of communication paths, a permissible bandwidth of a transmission path between each node, and a band used in each of a plurality of communication paths using a port of each node. A data communication method in a data communication system including a holding unit that holds a current bandwidth that is a sum of
Prior to data communication, a notification step of notifying the highest-level device of communication information regarding a communication path between nodes in which data communication is performed;
Based on the communication information notified by the notification step and the current band held by the holding unit, a sum of bands used in a plurality of communication paths including the communication path indicated by the communication information and using the port is calculated. A control step of controlling the bandwidth of the communication path so as not to exceed the allowable bandwidth;
A data communication method comprising:
データ通信が行なわれる通信経路に含まれる前記デバイスが、該デバイスに接続され、前記通信経路に含まれる前記スイッチに対し、データ通信に関する通信情報を、前記制御回線を介して通知する通知ステップと、
前記スイッチが、前記通知ステップにより通知された通信情報に基づいて更新された複数の通信経路における帯域の通信状態を示す通信状態情報を、前記制御回線を介して通知する状態通知ステップと、
前記デバイスが、前記状態通知ステップにより通知された通信状態情報に基づいて、複数の通信経路の帯域を制御する制御ステップと
を有するデータ通信方法。 A data communication system that performs data communication using a data communication network having a tree structure in which nodes that are switches or devices are connected by a high-speed serial bus that establishes a communication channel that is transmitted and received point-to-point. A data communication method in a data communication system comprising a control line for connecting data communication possible,
A notification step in which the device included in a communication path in which data communication is performed is connected to the device and notifies the switch included in the communication path of communication information related to data communication via the control line;
A state notification step of notifying, via the control line, communication state information indicating communication states of bands in a plurality of communication paths updated based on the communication information notified by the notification step;
A data communication method comprising: a control step in which the device controls bandwidths of a plurality of communication paths based on the communication state information notified in the state notification step.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008201195A JP5176764B2 (en) | 2008-08-04 | 2008-08-04 | Data communication system, image processing system, and data communication method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008201195A JP5176764B2 (en) | 2008-08-04 | 2008-08-04 | Data communication system, image processing system, and data communication method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2010041335A JP2010041335A (en) | 2010-02-18 |
| JP5176764B2 true JP5176764B2 (en) | 2013-04-03 |
Family
ID=42013414
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2008201195A Expired - Fee Related JP5176764B2 (en) | 2008-08-04 | 2008-08-04 | Data communication system, image processing system, and data communication method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5176764B2 (en) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140112131A1 (en) * | 2011-06-17 | 2014-04-24 | Hitachi, Ltd. | Switch, computer system using same, and packet forwarding control method |
| US9111039B2 (en) * | 2012-08-29 | 2015-08-18 | Apple Ii 'c. | Limiting bandwidth for write transactions across networks of components in computer systems |
| US9003090B1 (en) | 2014-03-25 | 2015-04-07 | DSSD, Inc. | PCI express fabric routing for a fully-connected mesh topology |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001036581A (en) * | 1999-07-23 | 2001-02-09 | Nippon Telegr & Teleph Corp <Ntt> | Communication band setting system and method |
| JP2003051845A (en) * | 2001-08-07 | 2003-02-21 | Nippon Telegr & Teleph Corp <Ntt> | Network route control system and method, program and recording medium |
| JP4271558B2 (en) * | 2003-11-19 | 2009-06-03 | 株式会社リコー | Data transfer system, image forming system, and data transfer program |
| JP4650278B2 (en) * | 2006-01-19 | 2011-03-16 | 株式会社日立製作所 | Complex information platform device and management method of complex information platform device |
-
2008
- 2008-08-04 JP JP2008201195A patent/JP5176764B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2010041335A (en) | 2010-02-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4878185B2 (en) | Data communication circuit and arbitration method | |
| EP1681817B1 (en) | Communication apparatus, electronic apparatus, imaging apparatus | |
| JP5108261B2 (en) | Information processing apparatus and data communication apparatus | |
| JP4928732B2 (en) | Data transfer system and electronic device | |
| JP2008172727A (en) | Control device and image processing system | |
| JP4308680B2 (en) | Image forming apparatus | |
| JP5151176B2 (en) | Data communication apparatus, image processing system, and data communication method | |
| JP4287325B2 (en) | Imaging system | |
| JP2007087082A (en) | Information processing apparatus and option device sharing method | |
| JP4564855B2 (en) | Data transfer system and electronic device | |
| JP5176764B2 (en) | Data communication system, image processing system, and data communication method | |
| JP4928715B2 (en) | Serial data transfer device, image output device, image input device, and image forming device | |
| JP4777723B2 (en) | Information processing system, program, and data transfer method | |
| JP4603335B2 (en) | Data transfer system, image forming system, and data transfer method | |
| JP4476088B2 (en) | Data transfer apparatus and image forming system | |
| JP4603336B2 (en) | Data transfer system, image forming system, and data transfer method | |
| JP2007282187A (en) | Information processing apparatus, information processing system, and data communication method | |
| JP2007272871A (en) | Information processing apparatus and data communication method | |
| JP2005332316A (en) | Data distribution device, data transfer device, and image processing device | |
| JP4828899B2 (en) | Information processing apparatus and storage device sharing method | |
| JP4271558B2 (en) | Data transfer system, image forming system, and data transfer program | |
| JP2009163633A (en) | Information processing apparatus and data communication method | |
| JP2006113798A (en) | Data transfer system, reception buffer device, data transfer system specification setting method, and image forming system | |
| JP5064582B2 (en) | Data distribution device | |
| JP4690828B2 (en) | Information processing system, program, and packet communication method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110613 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120831 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120918 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121116 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20121211 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121224 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160118 Year of fee payment: 3 |
|
| LAPS | Cancellation because of no payment of annual fees |