JP5316131B2 - Data transfer system and data transfer method - Google Patents
Data transfer system and data transfer method Download PDFInfo
- Publication number
- JP5316131B2 JP5316131B2 JP2009065672A JP2009065672A JP5316131B2 JP 5316131 B2 JP5316131 B2 JP 5316131B2 JP 2009065672 A JP2009065672 A JP 2009065672A JP 2009065672 A JP2009065672 A JP 2009065672A JP 5316131 B2 JP5316131 B2 JP 5316131B2
- Authority
- JP
- Japan
- Prior art keywords
- data transfer
- request
- target device
- data
- master device
- 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)
- Computer And Data Communications (AREA)
Abstract
Description
本発明は、データ転送システム及びデータ転送方法の分野に関する。 The present invention relates to the field of data transfer systems and data transfer methods.
複数のデバイス(データ通信装置)が共通の通信経路を経由して接続され互いにデータ通信を行うデータ通信システムにおいては、異なる種類のトラフィックが同一の通信経路を使用してデータ転送を行うと競合が発生し、トラフィックごとに要求される通信品質(データ転送レートや連続性)が得られなくなるという問題がある。 In a data communication system in which a plurality of devices (data communication apparatuses) are connected via a common communication path and perform data communication with each other, contention occurs when different types of traffic perform data transfer using the same communication path. There is a problem that communication quality (data transfer rate and continuity) required for each traffic cannot be obtained.
このような問題を改善するために、Ethernet(登録商標)等のコンピュータネットワークによって複数のサーバが接続されたサーバシステムでは、コンピュータネットワークの通信負荷を測定する通信負荷測定手段を設け、通信負荷の大きさに応じて転送する情報の情報量を増減する方式が提案されている(例えば、特許文献1参照)。 In order to improve such a problem, a server system in which a plurality of servers are connected by a computer network such as Ethernet (registered trademark) is provided with a communication load measuring means for measuring the communication load of the computer network. A method has been proposed in which the amount of information transferred is increased or decreased accordingly (see, for example, Patent Document 1).
また、通信デバイス(ノード)にトラフィック観測部を備え、観測により得られた各ノードのトラフィック情報を、データ転送の経路選択に用いる方式が提案されている(例えば、特許文献2参照)。 In addition, a method has been proposed in which a communication device (node) includes a traffic observation unit and traffic information of each node obtained by observation is used for data transfer route selection (see, for example, Patent Document 2).
また、データを処理するサーバを複数設け、処理やデータ通信経路を分散させる方式なども提案されている(例えば、特許文献3参照)。 In addition, a method of providing a plurality of servers for processing data and distributing processing and data communication paths has been proposed (see, for example, Patent Document 3).
ところで近年、伝送速度が数Gbpsを超え、Ethernet(登録商標)よりも格段に高速なデータ転送が可能な高速シリアル伝送路が実用化されてきており、従来のコンピュータネットワークに近い通信方式をとったローカルI/O(In/Out)の標準規格が普及しつつある。このため、コンピュータネットワークと同様の、シリアル伝送路とスイッチを用いたパケットデータ通信によって、LSIチップ内、チップ間、ボード間のデータ通信網が、組み込み用途の電子機器にも利用されるようになった。 By the way, in recent years, high-speed serial transmission lines that have transmission speeds exceeding several Gbps and can transfer data at a much higher speed than Ethernet (registered trademark) have been put into practical use. Local I / O (In / Out) standards are spreading. For this reason, data communication networks within LSI chips, between chips, and between boards have come to be used for embedded electronic devices by packet data communication using serial transmission lines and switches, similar to computer networks. It was.
代表的には、高速シリアル通信の標準規格でPC向けのローカルIOとして普及しているPCI Express(以下PCIeと称す)が知られている。PCIeによるデータ転送方式では、データパケットの競合を軽減するため、PCIeリンク間(自デバイスと直接ポイントツーポイントで接続されたデバイスとの間/以下単にリンクと称す)では、クレジット(Credit)ベースのフロー制御が行われる。送信側はデータ転送を始める前に、受け取り側のバッファの空き状況を確認するようにして、オーバーフロー、アンダフローが発生しないメカニズムである。 Typically, PCI Express (hereinafter referred to as PCIe), which is a standard for high-speed serial communication and is widely used as a local IO for PCs, is known. In the data transfer method by PCIe, in order to reduce data packet contention, a credit-based credit (Credit) base is used between PCIe links (between own device and devices connected directly by point-to-point / hereinafter simply referred to as links). Flow control is performed. This is a mechanism in which an overflow or underflow does not occur by checking the empty state of the buffer on the receiving side before starting the data transfer on the transmitting side.
具体的に、リンク初期化時においてリクエストを受信するターゲットデバイス(受信側)は、Memory WriteやMemory Read等のリクエスト種類毎にリクエストを発行するマスターデバイス(送信側)に対し、どの程度の量のリクエストが受信可能かを示すクレジット情報(クレジット値含む)を通知する。通知は、データリンクレイヤパケット/ DLLP(Init FC)と呼ばれる制御パケットにより通知される。なお、PCIe規格に準拠したデバイスでは受信ポートに受信バッファが実装されおり、前述のクレジット値は一般に、ターゲットデバイス(又はスイッチ)のその受信バッファの空き容量に相当する。マスターデバイスは、通知されたクレジット情報に基づきターゲットデバイスのバッファ容量に一定の残りがある場合のみ、パケットを送信する。そしてマスターデバイスは、自身が送信したパケットのサイズを、通知されたクレジット値から減算する。マスターデバイスはターゲットデバイスのクレジット値を使いきった場合、リクエストを一時停止させる動作を行う。一方、ターゲットデバイスは、受信したパケットの転送処理が完了する毎にマスターデバイスに対して、新たに受信可能となったリクエストの量(追加クレジット値)を、DLLP (Update FC)により通知する。マスターデバイスは、再びターゲットデバイスで受信可能になったクレジット値分だけ新しくリクエストを発行できるようになる。このようなクレジットベースのフロー制御により、送信側は受信側のバッファ容量を超えてデータ送信を行なうことはないのでパケット転送の再送動作は発生せず、通信路のデータ伝送効率が向上させることができるようになっている。 Specifically, the target device (receiving side) that receives a request at the time of link initialization is the amount of requests to the master device (transmitting side) that issues a request for each request type, such as Memory Write or Memory Read. The credit information (including the credit value) indicating whether or not can be received is notified. The notification is notified by a control packet called data link layer packet / DLLP (Init FC). Note that in a device compliant with the PCIe standard, a reception buffer is mounted on the reception port, and the above-described credit value generally corresponds to the free capacity of the reception buffer of the target device (or switch). The master device transmits a packet only when there is a certain remaining buffer capacity of the target device based on the notified credit information. Then, the master device subtracts the size of the packet transmitted by itself from the notified credit value. When the master device has used up the credit value of the target device, the master device performs an operation to pause the request. On the other hand, every time the transfer process of the received packet is completed, the target device notifies the master device of the amount of request (additional credit value) that can be newly received by DLLP (Update FC). The master device can issue a new request for the credit value that can be received by the target device again. With such credit-based flow control, the transmitting side does not transmit data exceeding the buffer capacity of the receiving side, so no retransmission operation of packet transfer occurs, and the data transmission efficiency of the communication path can be improved. It can be done.
その一方、マスターデバイスでデータ送信速度を上昇させていくとやがて、ターゲットデバイスから追加クレジット値を受信する前に、マスターデバイス(送信側)では通知されたクレジット値が0になってしまう。この場合、マスターデバイスはターゲットデバイスに対してデータを送信することができない。ターゲットデバイス(受信側)からDLLP (Update FC)を受信して、バッファ容量確保したとの通知を受けてから、マスターデバイスはターゲットデバイスに対してデータを送信することができるようになるのである。なお、ターゲットデバイスにおけるパケット転送処理が滞ったこと等により、ターゲットデバイスの受信バッファ容量の空きがなくなった状態、即ちマスターデバイスに追加クレジット値が通知されず、マスターデバイスが通知されたクレジット値を全て使い切った状態を「クレジットの枯渇」と以下表現する。 On the other hand, when the data transmission speed is increased at the master device, the credit value notified at the master device (transmission side) becomes zero before the additional credit value is received from the target device. In this case, the master device cannot transmit data to the target device. After receiving the DLLP (Update FC) from the target device (reception side) and receiving a notification that the buffer capacity has been secured, the master device can transmit data to the target device. It should be noted that the target device has run out of packet buffer processing, etc., so that the target device has no available reception buffer capacity, that is, the master device is not notified of the additional credit value, and the master device has used up all of the notified credit value. The state is expressed as “credit depletion” below.
ところで、PCIeを用いたデータ転送システムにおいてもパケット競合の影響によりあるトラフィックのデータ転送が止まった影響が他のトラフィックの転送を止めてしまう場合がある。図1は、PCI Expresにより構成されたデータ通信システムを示す図の一例である。図中、PCIe規格を用いて、4つのマスターデバイス(M1―M4)が2つのターゲットデバイス(T1、T2)に対して、3つのスイッチ(SW1―SW3)を介して接続されたデータ通信システムが示されている。図中、マスターデバイスであるM1及びM3は、通信が短時間でも途切れることが許されないような優先度の高いトラフィックを発生させ、M2及びM4は、優先度の低いトラフィックを発生させる。また、M2、M4はT1へリクエストを発行し、M1、 M3はT2へリクエストを発行する。 By the way, even in a data transfer system using PCIe, there is a case where the influence of stopping the data transfer of a certain traffic due to the influence of packet competition may stop the transfer of other traffic. FIG. 1 is an example of a diagram showing a data communication system configured by PCI Expres. The figure shows a data communication system in which four master devices (M1-M4) are connected to two target devices (T1, T2) via three switches (SW1-SW3) using the PCIe standard. Has been. In the figure, master devices M1 and M3 generate high-priority traffic that cannot be interrupted even for a short time, and M2 and M4 generate low-priority traffic. M2 and M4 issue requests to T1, and M1 and M3 issue requests to T2.
PCIeのフロー制御は、リンク間(ポイントツーポイント)での制御であるため、T1においてデータ受信処理に遅延が起きた場合には、まずT1―SW2間のリンク1でクレジットの枯渇が発生し、T1に接続されたSW2において、T1と接続されたポートA宛てのパケット転送が停止する。SW2のT1宛てのパケット転送が停止すると、SW1―SW2間のリンク2においてもクレジットの枯渇が発生して、SW2宛てのパケットの転送が停止する。SW2に対してはデータ転送が行なわれているにもかかわらず、T1と接続されたポートA宛てのパケット転送が停止しているため、やがてSW2のバッファ容量も飽和し、SW1―SW2間のリンク2においてもクレジットの枯渇が発生するのである。このとき、M1からT2に対するトラフィックも、SW1―SW2間のリンク2を経由しているので、SW1とM1の間のリンク3でもクレジットの枯渇が発生し、M1のトラフィックも停止することになる。同様に、T1―SW2間のリンク1のクレジット枯渇は、SW3を経由したトラフィックをも停止させ、M3からT2宛てのトラフィックも停止する。このように、スイッチの出力ポートを共有していると、あるトラフィックのデータ転送が止まった影響が他のトラフィックの転送を止めてしまう場合がある。つまり、優先度の低いトラフィックの転送停止により、優先度の高いトラフィックの転送にまでその影響が及ぶことになる。 Since the flow control of PCIe is control between links (point-to-point), if a delay occurs in data reception processing at T1, credit depletion first occurs at link 1 between T1 and SW2, In SW2 connected to T1, packet transfer addressed to port A connected to T1 stops. When the transfer of the packet addressed to T1 of SW2 stops, the depletion of credit also occurs in the link 2 between SW1 and SW2, and the transfer of the packet addressed to SW2 stops. Although the data transfer to SW2 is being performed, the packet transfer addressed to port A connected to T1 is stopped, so the buffer capacity of SW2 eventually becomes saturated, and the link between SW1 and SW2 Even in the case of 2, the depletion of credit occurs. At this time, since the traffic from M1 to T2 also passes through the link 2 between SW1 and SW2, the depletion of credit occurs in the link 3 between SW1 and M1, and the traffic of M1 is also stopped. Similarly, the depletion of the credit of link 1 between T1 and SW2 also stops the traffic via SW3, and also stops the traffic from M3 to T2. As described above, when the output port of the switch is shared, the influence of stopping the data transfer of a certain traffic may stop the transfer of other traffic. In other words, the suspension of the transfer of the low priority traffic affects the transfer of the high priority traffic.
このため、PCIeより派生したASI(Advanced Switching Interconnect)規格では、PCIe規格よりも更に高度なフロー制御方式として、SBFC(Status Based Flow Control)が規定されている。SBFCによれば、スイッチデバイスは出力先のポートにおけるクレジット不足が生じると、スイッチデバイスの入力ポートに接続されたマスターデバイスに対して、クレジット不足の情報を通知する。通知によりマスターデバイスは1Hop先のポートのクレジット不足を検知できるので、そのポート宛てのリクエストを一時停止させる動作を行い他のトラフィック転送への影響を防止できる。 For this reason, the ASI (Advanced Switching Interconnect) standard derived from PCIe defines SBFC (Status Based Flow Control) as a more advanced flow control method than the PCIe standard. According to SBFC, when a credit shortage occurs in an output destination port, the switch device notifies the master device connected to the input port of the switch device of the credit shortage information. The notification allows the master device to detect a shortage of credit in the 1 Hop destination port, so that an operation for temporarily suspending a request addressed to the port can be performed to prevent influence on other traffic transfers.
上述したように、高速なデータ転送が可能な高速シリアル伝送路が実用化されてきており、シリアル伝送路とスイッチを用いたパケットデータ通信によって、LSIチップ内、チップ間、ボード間のデータ通信網が、組み込み用途の電子機器にも利用されるようになった。組み込み用途の電子機器に高速シリアル伝送路を用いる場合、従来のコンピュータネットワークのデータ転送品質と比較して、特に短期間のデータ通信レートや、パケット転送に要するレイテンシに対する制約条件が厳しく、またデータの欠落も許されない場合がある。 As described above, high-speed serial transmission lines capable of high-speed data transfer have been put into practical use, and data communication networks within LSI chips, between chips, and between boards by packet data communication using serial transmission lines and switches. However, it has also been used in electronic devices for embedded applications. When using a high-speed serial transmission line for embedded electronic equipment, compared to the data transfer quality of conventional computer networks, there are strict restrictions on the data communication rate in the short term and the latency required for packet transfer. Omissions may not be allowed.
そのような一例として、複写機の画像データ転送を想定した画像データ転送制約の例を説明する。図2は、画像データ構成を模式的に示す図の一例である。図に示めされるように、画像データは、主走査方向及び副走査方向の2次元配列によって構成される。プロッタ、或いはスキャナの画像データ転送は、主走査方向の画素データを決められた時間周期に転送する処理を、副走査方向に繰り返し処理する同期転送することによって実行される。これは、データ転送の同期制約がメカ駆動条件によって決まるためであり、特に電子写真プロセスを用いたプロッタでは、重量の大きい感光体ドラムや紙搬送メカを高速で駆動するため、データ転送途中で駆動速度を変更することができない。このためメカの駆動速度に同期したタイミングでデータ転送量を制御する必要がある。 As an example of this, an example of image data transfer restriction assuming image data transfer of a copying machine will be described. FIG. 2 is an example of a diagram schematically showing a configuration of image data. As shown in the figure, the image data is constituted by a two-dimensional array in the main scanning direction and the sub-scanning direction. The image data transfer of the plotter or scanner is executed by synchronous transfer in which the process of transferring the pixel data in the main scanning direction in a predetermined time period is repeated in the sub-scanning direction. This is because the data transfer synchronization constraint is determined by the mechanical drive conditions. In particular, in the plotter using the electrophotographic process, the heavy photoconductor drum and the paper transport mechanism are driven at high speed. The speed cannot be changed. Therefore, it is necessary to control the data transfer amount at a timing synchronized with the driving speed of the mechanism.
図3は、画像データ転送におけるトランザクションを模式的に示す図の一例である。図に示されるように、データ転送は、主走査方向の1ライン毎に複数の画素データを1つのパケットデータとして、1ラインずつ複数(n個)のパケット群から構成されるトランザクションとして、副走査方向に画像が走査される速度に同期させて転送される必要がある。1トランザクションあたりの許容時間を「1ライン周期」と呼ぶとすると、プロッタの1ライン周期は紙送り速度と印刷画像解像度によって決定され、スキャナの1ライン周期はスキャナユニットの移動速度と読み取り解像度によって決定される。ライン周期の計算式を示す。
プロッタ1ライン周期(s) = 1 / { [紙送り速度 (mm/s)] × [1mmあたりの画素数] }
スキャナ1ライン周期(s) = 1 / { [ヘッド移動速度 (mm/s)] × [1mmあたりの画素数] }
具体的に、プロッタライン周期の計算例を示す。計算を単純にするため、プロッタの印刷解像度を主走査/副走査ともに50dot/mmとし、CMYKカラー印刷を想定して各画素のビット数は2bitであるものとする。また、横向きA4の原稿サイズを想定して主走査方向297mm×副走査方向210mmであることとする。また、印刷速度は60枚分を想定する。このとき、1枚あたりの印刷時間は1秒となるので、副走査方向の紙送り速度は210mm/sである。プロッタ1ライン周期を計算すると、
1/ (210 × 50) = 0.000095 s = 95μs(マイクロ秒)
となる。主走査方向の一色あたりの画素数は、
297mm×50dot/mm = 14850 dot
となり、データ量は、14850dot×2bit / 8 = 3713Byteとなる。更に4色分のデータ量を計算すると、
3713Byte×4色=14850Byte
即ち画像データの転送は、14850 Byte を95μsで完了する必要がある。なお、このときのデータ転送レートは14850Byte / 0.000095s=約156MB/sとなる。
1ラインのデータを送る場合、128Byteのパケットに区切って転送する場合を想定すると、
14850Byte / 128Byte = 117 個
となり、117個の128Byteデータパケットを1ライン周期内95μsに転送しなければならないという、非常に厳しいデータ転送制約を満たさなくてはならない。また、複写機における画像データ通信は、ライン周期に同期する必要のない処理、例えば画像処理のデータ転送においても、最終的に画像が紙に印刷されたり画像ファイルに保存されるため、コンピュータネットワーク通信における動画や音声のストリーミングのようにデータの欠落や圧縮による品質劣化は一切許されないという非常に厳しい制約がある。
FIG. 3 is an example of a diagram schematically showing a transaction in image data transfer. As shown in the figure, data transfer is performed by sub-scanning as a transaction consisting of a plurality of (n) packet groups line by line with a plurality of pixel data as one packet data for each line in the main scanning direction. It must be transferred in synchronism with the speed at which the image is scanned in the direction. If the allowable time per transaction is called “one line period”, one line period of the plotter is determined by the paper feed speed and the print image resolution, and one line period of the scanner is determined by the moving speed of the scanner unit and the reading resolution. Is done. The calculation formula of a line period is shown.
Plotter 1 line cycle (s) = 1 / {[paper feed speed (mm / s)] x [number of pixels per mm]}
Scanner 1 line cycle (s) = 1 / {[Head moving speed (mm / s)] x [Number of pixels per 1 mm]}
Specifically, an example of calculating the plotter line period is shown. To simplify the calculation, it is assumed that the printing resolution of the plotter is 50 dots / mm for both main scanning and sub-scanning, and the number of bits for each pixel is 2 bits assuming CMYK color printing. Further, assuming that the document size is A4 in the horizontal direction, the main scanning direction is 297 mm × the sub-scanning direction is 210 mm. The printing speed is assumed to be 60 sheets. At this time, since the printing time per sheet is 1 second, the paper feed speed in the sub-scanning direction is 210 mm / s. When calculating the plotter 1 line period,
1 / (210 × 50) = 0.000095 s = 95μs (microseconds)
It becomes. The number of pixels per color in the main scanning direction is
297mm × 50dot / mm = 14850 dot
Thus, the data amount is 14850 dots × 2 bits / 8 = 3713 bytes. Furthermore, when calculating the data amount for four colors,
3713Byte x 4 colors = 14850Byte
In other words, the transfer of the image data needs to be completed in 14850 bytes in 95 μs. The data transfer rate at this time is 14850 Byte / 0.000095s = about 156 MB / s.
When sending one line of data, assuming that it is divided into 128-byte packets and transferred,
14850 Byte / 128 Byte = 117, and it is necessary to satisfy the extremely strict data transfer restriction that 117 128 Byte data packets must be transferred to 95 μs within one line period. In addition, image data communication in a copier is a process that does not need to be synchronized with the line cycle, for example, data transfer in image processing, because the image is finally printed on paper or stored in an image file. There is a very severe restriction that data loss and quality degradation due to compression are not allowed at all, as in video and audio streaming.
特許文献1記載の発明においては、コンピュータネットワーク上に負荷測定手段、負荷情報算出手段、通信負荷の決定手段を設けており、高負荷状態が検出されてから実際のトラフィック調整に反映されるまで早くともsecからmmsec単位の時間を要する。従って前述の複写機のライン周期に同期した転送のように、μsecからnsec単位の短いレイテンシが要求される組み込み機器用途の通信システムにおいては通信負荷を調整することができない。また、通信負荷の大きさに応じて転送する情報の情報量を増減することも、印刷画像のように情報量が固定されている場合には、適用することができない。 In the invention described in Patent Document 1, load measurement means, load information calculation means, and communication load determination means are provided on the computer network, and from when a high load state is detected until it is reflected in actual traffic adjustment. Both require time from sec to mmsec. Accordingly, the communication load cannot be adjusted in a communication system for an embedded device that requires a short latency in units of μsec to nsec, such as transfer in synchronization with the line cycle of the copying machine described above. Also, increasing or decreasing the amount of information transferred according to the size of the communication load cannot be applied when the amount of information is fixed as in a print image.
また特許文献2記載及び特許文献3の発明においては、トラフィック管理手段が一箇所で集中管理されており、ネットワーク各所のトラフィック情報がトラフィック調整に反映されるまでのレイテンシが、組み込み機器用途には長くなりすぎるという問題がある。さらに、特許文献2記載の発明では、トラフィック監視手段をネットワークの全ての接続ノードに設ける必要があり、ネットワークを構成する回路全体の規模が増大しコスト高となってしまう問題もある。 Further, in the inventions described in Patent Document 2 and Patent Document 3, the traffic management means is centrally managed at one place, and the latency until the traffic information of each place in the network is reflected in the traffic adjustment is long for embedded device applications. There is a problem of becoming too much. Furthermore, in the invention described in Patent Document 2, it is necessary to provide the traffic monitoring means in all connection nodes of the network, and there is a problem that the scale of the entire circuit constituting the network increases and the cost increases.
また従来のPCI eによるデータ転送システムでは、フロー制御方式によって短いレイテンシでリンク間のトラフィック調停が処理されるが、上述したように、データ通信網の一箇所のリンクでデータ処理の遅延などによるクレジット枯渇が発生すると、そのリンクを経由するトラフィックと経路を共有する他のトラフィックにまでデータ転送の停止が波及してしまい、優先度の高いトラフィックで十分なデータ転送レートが得られなくなるという問題がある。 In addition, in the conventional data transfer system based on PCIe, traffic arbitration between links is processed with a short latency by the flow control method. However, as described above, credit due to data processing delay at one link of the data communication network, etc. When depletion occurs, data transfer stops to other traffic sharing the route with the traffic via the link, and there is a problem that sufficient data transfer rate cannot be obtained with high priority traffic. .
またASI規格のスイッチデバイスを用いた場合は、1Hop先のデバイスまでクレジット不足の情報が通知されるのでこのような問題は軽減はされるが、スイッチを経由する段数が増えてくると、宛先ポートのクレジット不足の情報がマスターデバイスまで到達する時間は長くなってきてしまう。また、一般的なASI(PCIeも同様)のスイッチデバイスでは数KB―10KB程度の内部バッファが実装されているため、その内部バッファに格納される先行リクエストを待たせることによるレイテンシ悪化現象は、より顕著に現れることになる。前述の複写機の画像データ転送のように、1ラインのデータ転送に許容される時間が数十μs単位である場合、このレイテンシ悪化現象は著しく印刷やスキャンの性能を低下させる。このように、ASI規格のSBFCではクレジット枯渇の情報が各デバイスを順々に伝わるため、マスターデバイスからのリクエスト発行が停止されるまでにレイテンシが発生し、通信経路上のバッファの影響によって更に他のデバイスからのリクエストのレイテンシを悪化させるという問題がある。また、ASI規格に対応したスイッチデバイスや、各マスターデバイス、ターゲットデバイスの通信コアの回路実装規模は、PCIeに比較して非常に大きくコスト高となってしまう問題もある。 In addition, when an ASI standard switch device is used, the credit shortage information is notified to the device of 1 Hop destination, so this problem can be alleviated, but if the number of stages through the switch increases, the destination port It takes a long time for the credit shortage information to reach the master device. In addition, general ASI (same for PCIe) switch devices have an internal buffer of about a few kilobytes to 10 kilobytes. Therefore, the latency deterioration phenomenon caused by waiting for the previous request stored in the internal buffer is more It will appear prominently. When the time allowed for one line of data transfer is several tens of microseconds as in the case of the image data transfer of the above-described copying machine, this latency deterioration phenomenon remarkably lowers the printing and scanning performance. In this way, in the SBFC of the ASI standard, credit depletion information is transmitted to each device in order, so that latency occurs before the request issuance from the master device is stopped, and there are other effects due to the influence of the buffer on the communication path. There is a problem that the latency of the request from the device is deteriorated. In addition, there is a problem that the circuit implementation scale of the communication device of the switch device corresponding to the ASI standard, each master device, and the target device is much larger than the PCIe and the cost is high.
そこで本発明では上記のような問題に鑑み、パケット転送に要するレイテンシの発生を抑制し、効率の良いデータ転送を実現するデータ転送システム及びデータ転送方法を提供することを目的とする。 In view of the above-described problems, an object of the present invention is to provide a data transfer system and a data transfer method for suppressing the generation of latency required for packet transfer and realizing efficient data transfer.
そこで上記課題を解決するため、本発明に係るデータ転送システムは、ターゲットデバイスと当該ターゲットデバイスにデータを転送可能なマスターデバイスとから構成されるデータ転送システムであって、前記マスターデバイスは、前記ターゲットデバイスから当該ターゲットデバイスが受信可能なデータ量を示す情報を受信後、前記ターゲットデバイスにデータ転送リクエストを送信する送信手段と、前記ターゲットデバイスの送信手段から送信された制限リクエストを受信した場合、前記データ転送リクエストの量を制限する制御手段と、を具備し、前記ターゲットデバイスは、前記マスターデバイスの送信手段から送信された前記データ転送リクエストに基づいて、データ転送レートを計測する計測手段と、前記計測手段によって計測された前記データ転送レートの値が所定値以上である場合、前記データ転送リクエストの量を制限する制限リクエストを、当該データ転送システムに含まれる全ての前記マスターデバイスに送信する送信手段と、を具備し、前記全てのマスターデバイスは、前記制限リクエストに従うか否か示す情報を有し、前記送信手段から送信された前記制限リクエストを受信した場合、前記制御手段は、前記情報に従って、前記ターゲットデバイスに対するデータ転送リクエストの量を制限する制御手段であることを特徴とする。
In order to solve the above problems, a data transfer system according to the present invention is a data transfer system including a target device and a master device capable of transferring data to the target device, and the master device is connected to the target device. After receiving information indicating the amount of data that can be received by the target device, the data transfer is performed when a transmission unit that transmits a data transfer request to the target device and a restriction request transmitted from the transmission unit of the target device are received. Control means for limiting the amount of requests, and the target device measures a data transfer rate based on the data transfer request transmitted from the transmission means of the master device, and the measurement means Total Transmission means for transmitting a restriction request for restricting the amount of the data transfer request to all the master devices included in the data transfer system when the value of the data transfer rate is greater than or equal to a predetermined value. All the master devices have information indicating whether to comply with the restriction request, and when receiving the restriction request transmitted from the transmission means, the control means transfers data to the target device according to the information. It is a control means for limiting the amount of requests.
なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、などに適用したものも本発明の態様として有効である。 In addition, what applied the arbitrary combination of the component of this invention, expression, or a component to a method, an apparatus, a system, a computer program, a recording medium, etc. is also effective as an aspect of this invention.
本発明によれば、パケット転送に要するレイテンシの発生を抑制し、効率の良いデータ転送を実現するデータ転送システム及びデータ転送方法を提供することができる。 ADVANTAGE OF THE INVENTION According to this invention, generation | occurrence | production of the latency required for packet transfer can be suppressed, and the data transfer system and data transfer method which implement | achieve efficient data transfer can be provided.
本発明を実施するための形態を各実施形態において図面を用いて説明する。以下、PCIe によるデータ転送システムを例として本発明の説明を行う。 DESCRIPTION OF EMBODIMENTS Embodiments for carrying out the present invention will be described in each embodiment with reference to the drawings. Hereinafter, the present invention will be described using a data transfer system based on PCIe as an example.
[実施形態1]
(システムの構成)
図4は、PCI Expressシステムの一般構成を示す図の一例である。CPU110やメモリ111が接続されたルートコンプレックス112に対して、PCIeグラフィックス113がPCIe114aにより接続され、また、エンドポイント115aやレガシーエンドポイント116aがPCIe114bにより接続されたスイッチ117aがPCIe114cにより接続され、さらには、エンドポイント115bやレガシーエンドポイント116bがPCIe114dにより接続されたスイッチ117bやPCIバススロット118が接続されたPCIブリッジ119がPCIe114eにより接続されたスイッチ117cがPCIe114fにより接続されたツリー構造(木構造)とされている。
[Embodiment 1]
(System configuration)
FIG. 4 is an example of a diagram illustrating a general configuration of the PCI Express system. The
図5は、本実施形態におけるPCI Expressシステムの構成を示す図の一例である。PCIe規格を用いて、4つのマスターデバイス(M1―M4)が2つのターゲットデバイス(T1、T2)に対して、3つのスイッチ(SW1―SW3)を介して接続されたデータ通信システムが示されている。図4のPCI Expressシステムの一般構成と各デバイスを対応させるならば、例えば、SW2はルートコンプレックス112、SW1はスイッチ117c、SW3はスイッチ117a、T1(又はT2)はメモリ111、M1−M4はエンドポイント115b(又はレガシーエンドポイント116b)にそれぞれ対応する。
FIG. 5 is an example of a diagram illustrating a configuration of the PCI Express system according to the present embodiment. A data communication system is shown in which four master devices (M1-M4) are connected to two target devices (T1, T2) via three switches (SW1-SW3) using the PCIe standard. . If the general configuration of the PCI Express system in FIG. 4 is associated with each device, for example, SW2 is the
(フロー制御)
次に、PCIeで規定されるフロー制御(フローコントロール)について、確認的に説明する。一般的なフロー制御として、送信側はまずデータを送信し、受信側で問題が発生したら再度送信する方法がある。これに対してPCIeでは、送信側は、事前に受信側バッファの空き容量を確認し十分な空き容量が確保できている場合に、パケットを送信する。
(Flow control)
Next, flow control (flow control) defined by PCIe will be described in a confirming manner. As a general flow control, there is a method in which the transmitting side first transmits data and transmits again when a problem occurs on the receiving side. On the other hand, in PCIe, the transmission side confirms the free capacity of the reception side buffer in advance and transmits a packet when a sufficient free capacity is secured.
PCIeのフロー制御は、前述のデータリンクレイヤが生成するDLLP(Data Link Layer Packet)によって実現される。詳細は規格書等に譲るが概略的に、DLLPタイプとして、「InitFC」、「UpdateFC」に大別できる。またこれらフロー制御用のDLLPには「Hdr FC」、「DataFC」の値を格納するフォーマットを有しており、これらの値から、例えば送信側は受信側のバッファがどれくらい余っているかを知ることができるようになっている。 PCIe flow control is realized by DLLP (Data Link Layer Packet) generated by the data link layer. Details are left to the standards, etc., but roughly, they can be roughly divided into “InitFC” and “UpdateFC” as DLLP types. These flow control DLLPs have a format for storing the values of “Hdr FC” and “DataFC”. From these values, for example, the sending side knows how much buffer on the receiving side is left. Can be done.
PCIeのフロー制御は、クレジットベースで行われる。まず受信側は、リンク初期化時に自身が受信可能なバッファ容量(クレジット値)を送信側に通知しておく。送信側は、受信側のバッファ容量と送信するパケットの長さとを比較し、受信側のバッファ容量に一定の残りがある場合、パケットを送信する。そして送信側は、自身が送信したパケットのサイズを通知された受信側のバッファ容量から減算する。また、受信側からバッファ容量の空き情報が伝えられるとその分を加算する。以下、少し詳細に説明する。 PCIe flow control is performed on a credit basis. First, the receiving side notifies the transmitting side of the buffer capacity (credit value) that it can receive at the time of link initialization. The transmission side compares the buffer capacity on the reception side with the length of the packet to be transmitted, and if there is a certain remaining in the buffer capacity on the reception side, transmits the packet. Then, the transmission side subtracts the size of the packet transmitted by itself from the notified buffer capacity of the reception side. Further, when empty information on the buffer capacity is transmitted from the receiving side, the corresponding amount is added. Hereinafter, this will be described in some detail.
始めに、受信側はInit FC(DLLP)を発行して送信側にクレジット値(自身が受信可能なバッファ容量を示す値)を通知する。なお、受信側のクレジット値の情報(内部のクレジットカウンタ)は初期化されているものとする。送信側はInit FCを受信すると、内部のクレジットカウンタ(クレジット空き容量情報レジスタ)の初期値をInit FCで指定されたクレジット値に設定する。ここまでが初期化手順である。 First, the receiving side issues Init FC (DLLP) to notify the transmitting side of a credit value (a value indicating a buffer capacity that can be received by itself). Note that the credit value information (internal credit counter) on the receiving side has been initialized. When receiving the Init FC, the transmission side sets the initial value of the internal credit counter (credit free capacity information register) to the credit value specified by Init FC. This is the initialization procedure.
そして送信側はデータを送信する。このとき送信側はデータ送信毎に、クレジットカウンタの値を送信したデータ量だけ減少させる。 Then, the transmission side transmits data. At this time, each time data is transmitted, the transmitting side decreases the value of the credit counter by the amount of transmitted data.
受信側はデータを受信する毎に、Update FC(DLLP)を発行して送信側に所定のクレジット値(例えば受信したデータ分のバッファ容量値)を通知する。送信側はUpdate FCを受信する毎に、クレジットカウンタ値をUpdate FCで設定された値だけ増加させる。クレジットカウンタの値の回復を図るのである。 Every time data is received, the receiving side issues an Update FC (DLLP) to notify the transmitting side of a predetermined credit value (for example, a buffer capacity value for the received data). Each time the sending side receives the Update FC, the sending side increments the credit counter value by the value set in the Update FC. This is to recover the value of the credit counter.
このように送信側は、受信側から通知された受信可能なバッファ容量分のデータ送信を行なうことができる。なお、送信データ及びUpdate FCは基本的に1セットで扱われ、1のInit FCに対し1のUpdate FCが発行されるものとする。複数の送信データに対し1のUpdate FCを発行する場合はクレジットカウンタの値の回復が遅くなり、高速でデータ送信を行うためには即座にUpdate FCが発行される方が望ましいからである。 In this way, the transmission side can perform data transmission corresponding to the receivable buffer capacity notified from the reception side. Transmission data and Update FC are basically handled as one set, and one Update FC is issued for one Init FC. This is because when one Update FC is issued for a plurality of transmission data, recovery of the value of the credit counter is delayed, and in order to perform data transmission at a high speed, it is desirable to immediately issue the Update FC.
以上、PCI Expressで規定されるフロー制御であるが、本発明に係るデータ送信システム上の各デバイスも上記の規定に従ったフロー制御の動作を行なう。 As described above, the flow control defined by PCI Express is performed, but each device on the data transmission system according to the present invention also performs the flow control operation according to the above definition.
(ターゲットデバイス)
図6は、本実施形態に係るターゲットデバイス構成を示す図の一例である。ターゲットデバイス(T1、T2に相当)は、PCIe通信コア601、トラフィックモニタ602、フロー制御部603、レジスタ604、ユーザ回路605、及びメモリ606を含む構成である。
(Target device)
FIG. 6 is an example of a diagram illustrating a target device configuration according to the present embodiment. The target device (corresponding to T1 and T2) includes a
PCIe通信コア601は、転送されたデータを受信する受信手段に相当し、Transaction Layer(トランザクション層)、Datalink Layer(データリンク層)、Physical Layer(物理層)の3層構造を有し、Application I/F(InterFace)を介して、ユーザ回路605と通信を行う。つまり、ターゲットデバイスとして動作する場合、PCIeリンクの先のスイッチを経由して接続されたマスターデバイスから届いたMemory ReadやMemory Writeリクエストが、Application I/Fよりユーザ回路605に転送される。
The
トラフィックモニタ602は、ユーザ回路605に転送されるデータ転送リクエスト(Memory ReadやMemory Writeリクエスト)に基づいて、単位時間あたりのデータ転送レートを計測する機能を有している。なお単位時間値(情報)は、レジスタ605に予め設定(記憶)されており、トラフィックモニタ602は、これを取得し、データ転送レートを計測する。計測したデータ転送レートは、フロー制御部603に通知される。
The
フロー制御部603は、トラフィックモニタ602により計測されたデータ転送レートがレジスタ604に設定された所定の上限閾値以上か否かを判定する(判定手段)。またデータ転送レートが所定の閾値以上と判定したとき、データ転送リクエストの発行帯域制限を指示する制限リクエスト(フロー制御リクエスト)をマスターデバイスに発行する機能を有している。ここで、データ転送リクエストの発行帯域制限とは、単位時間あたりにおけるデータ転送リクエストの量の制限を意味する。さらに、計測されたデータ転送レートが所定の閾値以上と判定したあと、再び計測されたデータ転送レートが所定の下限閾値以下か否かを判定し、再び計測されたデータ転送レートが所定の下限閾値以下と判定したとき、データ転送リクエストの発行帯域制限の解除を指示する解除リクエスト(フロー制御リクエスト)をマスターデバイスに発行する。なお、本実施形態においては、PCIe通信システム上に接続されるマスターデバイス全てに、フロー制御リクエストである制限リクエスト/解除リクエスト(Broadcastパケットによる)を発行するものとする。また、データ転送リクエストの発行帯域とは、マスターデバイスが、単位時間当たりに要求するデータ転送リクエストの量を指すものとする。
The
ユーザ回路605は、当該ターゲットデバイスに係る機能を提供する回路である。ユーザ回路605は、Memory Writeリクエストを受け取ると、Memory Writeデータをメモリ606に格納し、またMemory Readリクエストを受け取ると、Memory Readデータをメモリ606から読み込み、Application I/Fに転送する。Memory ReadデータはPCIe通信コアにおいて、Compleitonデータパケットに格納されて、PCIeリンクの先のマスターデバイスへと転送される。
The
レジスタ604には、単位時間値、転送レート上限閾値、転送レート下限閾値の情報が予め設定(記憶)されている。上述したように、単位時間値は、トラフィックモニタ602によるデータ転送レート計測に、転送レート上限閾値及び転送レート下限閾値は、フロー制御部603による閾値判定に利用される。
In the
(マスターデバイス)
次にターゲットデバイスに対するマスターデバイスについて説明する。図7は、本実施形態に係るマスターデバイス構成を示す図の一例である。マスターデバイス(M1―M4に相当)は、PCIe通信コア701、フロー制御リクエスト受信部702、フロー制御部703、レジスタ704、ユーザ回路705、及びメモリ706を含む構成である。ターゲットデバイスと異なる点を説明し重複する点の説明は省略する。
(Master device)
Next, a master device for the target device will be described. FIG. 7 is an example of a diagram illustrating a master device configuration according to the present embodiment. The master device (corresponding to M1-M4) includes a
フロー制御リクエスト受信部702は、ターゲットデバイスから発行されたフロー制御リクエストである制限リクエスト/解除リクエストを受信する機能を有している。制限リクエスト/解除リクエストは、PCIe規格によるリクエストを採用しているため、PCIe通信コア701を経由してからフロー制御リクエスト受信部702でこれらを受信するようになっている。
The flow control
フロー制御部703は、フロー制御リクエスト受信部702で受信された制限リクエスト/解除リクエストを受けて、その内容を解析する。解析内容としては、発行元のターゲットデバイス、リクエストの種類(Message Broadcast/Memory Write)、当該リクエストが、データ転送リクエストの発行帯域制限をリクエストするものなのか/発行帯域制限の解除リクエストするものなのか、等である。リクエストの種類(特にMemory Write)については後述の変形例において再度触れる。そして、フロー制御部703は、レジスタ704に予め設定される優先度情報に基づいて、自身がターゲットデバイスに対するデータ転送リクエストの発行帯域を制限する/又は制限を解除する対象であるか否かを判定する。優先度情報はそのターゲットデバイスが発行するトラフィックの優先度が高いか低いかを示すものである。よって、例えば優先度が低い場合、制限リクエスト/解除リクエストを受諾する(との判定を行う)。優先度が高い場合、制限リクエスト/解除リクエストを受諾する必要はなく当該リクエストを無視する(との判定を行う)。なお、優先度情報は高い/低いとの情報のみならず、数値情報として保持され、その数値に応じて段階的に優先度を設定できる。そして、フロー制御部703は、制限リクエスト/解除リクエストを受諾するとの判定を行った場合、ユーザ回路705に対してデータ転送リクエストの発行帯域制限/制限の解除を指示する。
The
以上、本発明に係るデータ転送システム及び構成要素について説明を行った。続いて、これら動作について説明を行う。 The data transfer system and components according to the present invention have been described above. Subsequently, these operations will be described.
(動作)
図8は、マスターデバイス及びターゲットデバイスの動作を説明するPCI Expressシステムの構成を示す図の一例である。PCIe規格を用いて、4つのマスターデバイス(M1―M4)が2つのターゲットデバイス(T1、T2)に対して、3つのスイッチ(SW1―SW3)を介して接続された、データ通信システムが示されている。図中、マスターデバイスであるM1及びM3は、通信が短時間でも途切れることが許されないような優先度の高いトラフィックを発生させ、M2及びM4は、優先度の低いトラフィックを発生させる。また、M2、M4はT1へリクエストを発行し、M1、 M3はT2へリクエストを発行する。
(Operation)
FIG. 8 is an example of a diagram illustrating a configuration of a PCI Express system for explaining operations of the master device and the target device. Using the PCIe standard, a data communication system is shown in which four master devices (M1-M4) are connected to two target devices (T1, T2) via three switches (SW1-SW3) Yes. In the figure, master devices M1 and M3 generate high-priority traffic that cannot be interrupted even for a short time, and M2 and M4 generate low-priority traffic. M2 and M4 issue requests to T1, and M1 and M3 issue requests to T2.
動作の概要としては、ターゲットデバイスT1の転送レートがT1に設定された上限閾値を超えると、T1は直ちにPCIeのMessage Broadcastリクエストを発行する。これにより全てのマスターデバイスM1−M4に対して、帯域制限の指示がなされる(通知される)。M2、M4は、予め低い優先度に設定がなされているので、T1に対するデータ転送を一時停止させる(もしくはデータ転送レートを低下させる)。このため、PCIeのリンク1においてクレジットが枯渇することはなくなり、さらにリンク2、リンク3においても、クレジットが枯渇することはなくなる。よって優先度の高いM1、M3からのトラフィックが妨げられることはなく連続したテータ転送が可能となる。以下、詳細に説明する。 As an outline of the operation, when the transfer rate of the target device T1 exceeds the upper limit threshold set in T1, T1 immediately issues a PCIe Message Broadcast request. As a result, a band limitation instruction is given (notified) to all master devices M1-M4. Since M2 and M4 are set in advance to a low priority, data transfer to T1 is temporarily stopped (or the data transfer rate is lowered). For this reason, the credit is not exhausted in the link 1 of the PCIe, and the credit is not exhausted in the links 2 and 3 as well. Accordingly, continuous data transfer is possible without hindering traffic from M1 and M3 having high priority. Details will be described below.
図9は、ターゲットデバイスの動作を説明するフローチャートである。ターゲットデバイス(例えばT1)は、データ転送リクエストパケット(Memory ReadやMemory Writeリクエスト)を受信するたびに、当該リクエストパケットを、PCIeコア601を介してApplication I/Fよりユーザ回路605に転送する動作を繰り返している。これと並行して、トラフィックモニタ602は、単位時間が経過したか否か判定し(S901)、経過した場合はユーザ回路605に転送されたデータ転送リクエストに基づいて、単位時間あたりのデータ転送レートを計測する(S902)。なお単位時間値(情報)は、レジスタ605に予め設定(記憶)されているものを参照する。
FIG. 9 is a flowchart for explaining the operation of the target device. Each time the target device (for example, T1) receives a data transfer request packet (Memory Read or Memory Write request), the target device performs an operation of transferring the request packet from the Application I / F to the
フロー制御部603は、計測されたデータ転送レートがレジスタ604に設定された上限閾値以上か否かを判定する(S903)。データ転送レートが所定の閾値以上と判定したとき、データ転送リクエストの発行帯域制限を指示する制限リクエスト(フロー制御リクエスト)をマスターデバイス全てに発行する(S904)。また、計測されたデータ転送レートがレジスタ604に設定された上限閾値に達していない場合は、再び単位時間が経過するまで待機する(S901に戻る)。
The
再びトラフィックモニタ602は、単位時間が経過したか否か判定し(S905)、経過した場合はユーザ回路605に転送されるデータ転送リクエストに基づいて、単位時間あたりのデータ転送レートを計測する(S906)。
The
フロー制御部603は、計測されたデータ転送レートが所定の下限閾値以下か否かを判定する(S907)。計測されたデータ転送レートが所定の下限閾値以下と判定したとき、データ転送リクエストの発行帯域制限の解除を指示する解除リクエスト(フロー制御リクエスト)をマスターデバイス全てに発行する(S908)。また、計測されたデータ転送レートがレジスタ604に設定された下限閾値以下に低下していない場合は、再び単位時間が経過するまで待機する(S905に戻る)。
The
以上のように、ターゲットデバイスは、データ転送リクエストパケットを受信するたびに、ユーザ回路605に転送する動作と並行してデータ転送動作が終了するまで、S901〜S908までの動作をリクエストパケット転送処理とは非同期に繰り返し処理し続ける。続いて、このようなターゲットデバイス動作を受けたマスターデバイスの動作を説明する。
As described above, each time the target device receives a data transfer request packet, the target device performs the operations from S901 to S908 as the request packet transfer process until the data transfer operation is completed in parallel with the operation to transfer to the
図10は、マスターデバイスの動作を説明するフローチャートである。まずマスターデバイス(例えばM1−4)は、ターゲットデバイスから制限/解除リクエストパケットを受信する(S1001)。これは図9のS904又はS907に対応する。より具体的には、制限/解除リクエストパケットは、PCIeコア701を介してApplication I/Fよりフロー制御リクエスト受信部702に転送される。
FIG. 10 is a flowchart for explaining the operation of the master device. First, the master device (for example, M1-4) receives a restriction / cancellation request packet from the target device (S1001). This corresponds to S904 or S907 in FIG. More specifically, the restriction / cancellation request packet is transferred from the Application I / F to the flow control
フロー制御部703は、フロー制御リクエスト受信部702で受信された制限リクエスト/解除リクエストを受けて、その内容を解析する(S1002)。解析内容としては、上述したように、発行元のターゲットデバイス、リクエストの種類(Message Broadcast/Memory Write)、当該リクエストが、データ転送リクエストの発行帯域制限をリクエストするものなのか/発行帯域制限の解除リクエストするものなのか、等である。そしてリクエストの種類がMessage Broadcastであるかの判定を行い(S1003)、
続いて優先度の判定を行う(S1004)。優先度情報により優先度が低い場合は、当該要求に従う。優先度が高い場合は、処理を終了する。つまり、優先度が低い場合は、制限リクエスト/解除リクエストの指示に従う(S1005)。制限リクエストである場合、ユーザ回路705に対してデータ転送リクエストの発行帯域制限を指示する。一方、解除リクエストである場合、ユーザ回路705に対してデータ転送リクエストの発行帯域制限の解除を指示する。
The
Subsequently, priority determination is performed (S1004). If the priority is low due to the priority information, the request is followed. If the priority is high, the process ends. That is, when the priority is low, the instruction of the restriction request / release request is followed (S1005). If it is a restriction request, the
ここでS1003について詳しく説明する。ターゲットデバイスは、Message Broadcastリクエストにより帯域制限又は帯域制限解除の指示を行なう場合、全てのマスターデバイスにこのリクエストパケットが送信されたことになる。これを受信するマスターデバイス側では、各自身に設定された優先情報に従って、指示を受託するか無視するかの判定動作を行なう。これは各マスターデバイスの発行するトラフィックの優先度によって決定される。例えば、そのトラフィックの優先度が低いマスターデバイスは、帯域制限を受託するようにしたいので、優先度が低くなるように設定され、一方、そのトラフィックの優先度が高いマスターデバイスは、帯域制限を受託しないようにしたいので、優先度が高くなるように設定される。つまり、とりあえずターゲットデバイスは、全てのマスターデバイスにMessage Broadcastリクエストをいっておき、そのリクエスト採否の判定(受託又は無視)は、マスターデバイス側で判定させるようにしているのである。 Here, S1003 will be described in detail. When the target device gives an instruction for bandwidth limitation or bandwidth limitation release by a Message Broadcast request, this request packet is transmitted to all the master devices. On the master device side that receives this, an operation for determining whether or not to accept the instruction is performed according to the priority information set for each device. This is determined by the priority of traffic issued by each master device. For example, a master device with lower traffic priority is set to have lower priority because it wants to accept bandwidth limitation, while a master device with higher traffic priority does not accept bandwidth limitation. Therefore, the priority is set to be higher. In other words, for the time being, the target device puts a Message Broadcast request in all the master devices, and the master device side determines whether to accept or reject the request.
これに対しS1003で、Message Broadcastリクエストでない場合とは、即ち、Memory Writeリクエストである場合に該当する。PCIeに準拠するものであり宛先を直接指定可能なタイプのリクエストパケットである。従って、受信されたパケットタイプがMemory Writeリクエストである場合は、ターゲットデバイスが、当該マスターデバイスに直接宛先を指定してMemory Writeリクエストを送っていることになる。つまり、ターゲットデバイス側で優先度判定が行われて、優先度が低いマスターデバイスに対して直接送信したものであるから、再度マスターデバイス側で優先度の判定を省略できるようにするため、S1003の判定が行われる。よって、Message Broadcastリクエストでない場合(Memory Writeリクエストである場合)、優先度判定なしに帯域制限又は帯域制限解除の指示に従えばよい。なお、この点については変形例で再度後述する。 On the other hand, in S1003, the case where it is not a Message Broadcast request corresponds to the case where it is a Memory Write request. This is a type of request packet that complies with PCIe and can specify the destination directly. Therefore, if the received packet type is a Memory Write request, the target device sends a Memory Write request by designating the destination directly to the master device. That is, since the priority determination is performed on the target device side and is directly transmitted to the master device having a low priority, the determination in S1003 is performed so that the priority determination can be omitted again on the master device side. Done. Therefore, when it is not a Message Broadcast request (when it is a Memory Write request), it is sufficient to follow the instruction for bandwidth limitation or bandwidth limitation without priority determination. This point will be described later again in a modified example.
ここで、レジスタ604に設定される単位時間値、上限閾値、及び下限閾値について補足説明を行っておく。上述したように、単位時間はトラフィックモニタ602が単位時間あたりのリクエスト量(転送レート)を計測する際に利用される。この単位時間値は、経路上を流れるトラフィックのうち時間周期の制約があるものがある場合、そのデータ転送に要求される時間周期よりも短い時間を指定する。例えば、前述の複写機のデータ転送の例に従うと、95μsec周期で転送時間制約があるデバイスが存在したので、ターゲットデバイスのレジスタで転送レートを演算する際の時間周期は95μsecよりも十分に小さい値にする必要がある。さらに、レジスタに設定する単位時間値は、時間周期あたりに転送しなければならないパケット数が117 個であったので、精度の高い転送レートを演算するために、少なくとも数個から数十個以上のリクエストパケットが転送可能な時間よりも長い時間に設定することが望ましい。複写機のデータ転送のようにPCIe x1レーンを用いて、Memory Writeリクエストパケット1つで128Byteのデータ転送を行う場合は、×1レーンの1Symbol Time(1Byte転送にかかる時間)が4nsなので1パケットの転送に少なくとも128×4 = 512nsの時間を要する。10個のパケットが連続して転送されるのに要する時間は、5.12μsecとなる。
Here, a supplementary description will be given of the unit time value, the upper threshold value, and the lower threshold value set in the
次に上限閾値は、通常は、転送レート限界に達する前に帯域制限を指示するために、単位時間あたりに転送可能なデータ量の8割程度の値を設定しておくことが望ましいが、PCIe通信路のパケット伝送に要するレイテンシに応じて調整することが望ましい。ターゲットデバイスからBroadcast転送が通知されて、マスターデバイスに到達するまでに要するレイテンシは、PCIeリンク幅(レーン数)や、何段のPCIeスイッチを経由するか等に依存する。レイテンシが小さい場合、上限閾値を(例えば、単位時間あたりに転送可能なデータ量の9割)大きい値に設定することができるが、レイテンシが大きい場合は、上限閾値を小さめ(例えば、単位時間あたりに転送可能なデータ量の7割)に設定することで、効率のよいトラフィック調整が可能となる。 Next, it is desirable to set the upper threshold value to approximately 80% of the amount of data that can be transferred per unit time in order to instruct bandwidth limitation before reaching the transfer rate limit. It is desirable to adjust according to the latency required for packet transmission on the communication path. The latency required to reach the master device after notification of the broadcast transfer from the target device depends on the PCIe link width (number of lanes), the number of stages of PCIe switches, and the like. If the latency is small, the upper threshold can be set to a large value (for example, 90% of the amount of data that can be transferred per unit time), but if the latency is large, the upper threshold is reduced (for example, per unit time). Efficient traffic adjustment is possible.
また下限閾値は、トラフィックの混雑が解消された場合に帯域制限をいち早く解除するために、単位時間あたりに転送可能なデータ量の5割程度の値を設定しておくことが望ましいが、やはりPCIe通信路のパケット伝送に要するレイテンシに応じて調整することが望ましい。レイテンシが小さい場合は、下限閾値を(例えば、単位時間あたりに転送可能なデータ量の7割)大きい値に設定することができるが、レイテンシが大きい場合は、下限閾値を小さめ(例えば、単位時間あたりに転送可能なデータ量の3割)に設定することで、効率のよいトラフィック調整が可能となる。 The lower threshold is preferably set to a value of about 50% of the amount of data that can be transferred per unit time in order to quickly release the bandwidth limitation when traffic congestion is resolved. It is desirable to adjust according to the latency required for packet transmission on the communication path. If the latency is small, the lower threshold can be set to a large value (for example, 70% of the amount of data that can be transferred per unit time), but if the latency is large, the lower threshold is made smaller (for example, the unit time By setting it to 30% of the amount of data that can be transferred per unit, efficient traffic adjustment is possible.
例えば、上述したように10個の128Byteパケットが連続して転送されるのに要する時間、5.12μsecを単位時間値としてレジスタに設定したとすると、上限閾値としてレジスタには単位時間あたりに転送可能なデータ量の8割を想定すると、128Byte×10 × 0.8 = 1024Byteを設定する。下限閾値としてレジスタには単位時間あたりに転送可能なデータ量の5割を想定すると、128Byte×10 × 0.5 = 640Byteを設定することになる。 For example, as described above, if the time required to transfer 10 128-byte packets continuously, 5.12 μsec is set in the register as a unit time value, it can be transferred to the register per unit time as the upper limit threshold value. Assuming 80% of the data volume, set 128Byte × 10 × 0.8 = 1024Byte. Assuming 50% of the amount of data that can be transferred per unit time as the lower limit threshold, 128 bytes × 10 × 0.5 = 640 bytes is set.
以上、実施形態1によれば、PCIe規格に対応したスイッチデバイスや、通信コアの回路を用いて、マスターデバイスとターゲットデバイスを接続し、ターゲットデバイスが、PCIe規格におけるクレジットベースのフロー制御によって、データ転送が停止する前に、ターゲットデバイスがマスターデバイスに対して、データ転送リクエストの制限を指示するので、データ転送の競合が生じた場合にデータ転送レートの低下と、パケット転送に要するレイテンシの発生を最小限に抑制することができる。また、マスターデバイスに、直接データ転送リクエストの制限を指示するので、レイテンシをより小さくできる。また、Message Broadcastリクエストによるブロードキャスト転送を用いるため、マスターデバイスの数が増えたり減ったりした場合でも、ターゲットデバイスの構成やレジスタ設定を変更する手間も削減される。 As described above, according to the first embodiment, a master device and a target device are connected by using a switch device corresponding to the PCIe standard or a communication core circuit, and the target device performs data transfer by credit-based flow control in the PCIe standard. Since the target device instructs the master device to limit the data transfer request before the data transfer stops, the data transfer rate is reduced and the latency required for packet transfer is minimized when data transfer contention occurs. Can be suppressed. In addition, since the master device is directly instructed to limit the data transfer request, the latency can be further reduced. In addition, since broadcast transfer using a Message Broadcast request is used, even if the number of master devices increases or decreases, the time and effort for changing the configuration and register settings of the target device are reduced.
[変形例]
図11は、本変形例によるマスターデバイス及びターゲットデバイスの動作を説明するPCI Expressシステムの構成を示す図の一例である。本変形例によるターゲットデバイスT1の転送レートがT1に設定された上限閾値を超えると、T1は直ちにPCIeの「Memory Writeリクエスト」を発行する。ターゲットデバイスにおいて、優先度の判定を行い、優先度の低いとされるマスターデバイスをMemory Writeリクエスト(パケット)により直接宛先を指定して、制限/解除リクエストを送信するのである。これにより予めT1のレジスタに設定された優先度の低いとされるマスターデバイスM2、M4にのみ、帯域制限の指示がなされる。そして、当該制限/解除リクエストに従い、M2、M4はT1に対するデータ転送を一時停止させる(もしくはデータ転送レートを低下させる)。このため、PCIeのリンク1おいてクレジットが枯渇することはなくなり、さらにリンク2、リンク3においても、クレジットが枯渇することはなくなる。よって優先度の高いM1、M3からのトラフィックが妨げられることはなく連続したデータ転送が可能となる。つまり、優先度の低いとされるマスターデバイスM2、M4に、帯域制限の指示がなされるので、マスターデバイス側では優先度を判定せず当該指示に従えばよい。マスターデバイス側で優先度を判定する回路は不要になり、より簡易な構成で本発明を実現できるようになる。
[Modification]
FIG. 11 is an example of a diagram illustrating a configuration of a PCI Express system for explaining operations of the master device and the target device according to the present modification. When the transfer rate of the target device T1 according to this modification exceeds the upper limit threshold set in T1, T1 immediately issues a “Memory Write request” for PCIe. In the target device, the priority is determined, and the restriction / release request is transmitted by directly specifying the destination of the master device that is assumed to be low in priority by the Memory Write request (packet). Thereby, only the master devices M2 and M4, which are set in advance in the T1 register and have a low priority, are instructed to limit the bandwidth. Then, according to the restriction / cancellation request, M2 and M4 temporarily stop data transfer for T1 (or decrease the data transfer rate). For this reason, the credit is not exhausted in the link 1 of the PCIe, and the credit is not exhausted in the links 2 and 3 as well. Therefore, continuous data transfer is possible without hindering traffic from M1 and M3 with high priority. In other words, since the bandwidth limitation instruction is given to the master devices M2 and M4 that have low priority, the master device side may follow the instruction without determining the priority. A circuit for determining the priority on the master device side becomes unnecessary, and the present invention can be realized with a simpler configuration.
図12は、本実施形態に係るターゲットデバイス構成を示す図の一例である。ターゲットデバイス(T1、T2に相当)は、PCIe通信コア601、トラフィックモニタ602、フロー制御部603−2、レジスタ604−2、ユーザ回路605、及びメモリ606を含む構成である。本変形例によるフロー制御部603−2、レジスタ604−2の説明を行い、他は上述したとおりであるので説明を省略する。
FIG. 12 is an example of a diagram illustrating a target device configuration according to the present embodiment. The target device (corresponding to T1 and T2) includes a
レジスタ604−2には、マスターデバイス毎のマスター優先度情報がさらに設定(記憶)されている。例えば、M1、M3は優先度が高い、M2,M4は優先度が低いといった情報が記載されている。 Master priority information for each master device is further set (stored) in the register 604-2. For example, information that M1 and M3 have high priority and M2 and M4 have low priority is described.
フロー制御部603−2は、上述したように、単位時間毎に、計測されたデータ転送レートがレジスタ604に設定された上限閾値以上か否かを判定する(S903)。データ転送レートが所定の閾値以上と判定したとき、データ転送リクエストの発行帯域制限を指示する制限リクエスト(フロー制御リクエスト)をマスターデバイスに発行する(S904)のであるが、レジスタ604−2からマスター優先度情報を取得して、優先度に基づいて、制限リクエストを発行するマスターデバイスを決定する。例えば、マスター優先度情報を取得して、制限リクエストを発行するマスターデバイスを、優先度の低いM2、M4と決定する。そしてその決定に従って、該当するマスターデバイスを宛先として、Memory Writeリクエストパケットを発行する。
As described above, the flow control unit 603-2 determines whether the measured data transfer rate is equal to or higher than the upper limit threshold set in the
これを受信したマスターデバイス(M2、M4)は、図10の(S1003)で説明されたように、優先度判定を省略して、そのまま当該リクエストによる指示に従う動作を行なう。なお、本変形例によるマスターデバイスにおいては、レジスタ704(図7)は省略してもよい。マスターデバイス側で優先度の判定は不要だからである。 The master device (M2, M4) that has received this, as described in (S1003) of FIG. 10, omits the priority determination and performs the operation according to the instruction by the request as it is. In the master device according to this modification, the register 704 (FIG. 7) may be omitted. This is because priority determination is not necessary on the master device side.
以上、本変形例のターゲットデバイスによれば、優先度の低いとされるマスターデバイスM2、M4にのみ、帯域制限の指示がなされるので、マスターデバイス側では優先度を判定せず当該指示に従えばよい。つまり、マスターデバイス側で優先度を判定する回路は不要になり、より簡易な構成で本発明を実現できるようになる。また、特定の優先度の低いマスターデバイスのみにMemory Writeリクエストを発行(転送)するため、優先度の高いマスターデバイスに対する通信経路に不要なパケットが転送されず、データ伝送路の利用効率の向上が期待できる。 As described above, according to the target device of the present modification, the band limitation instruction is given only to the master devices M2 and M4 that are assumed to have low priority. Therefore, the master device side may follow the instruction without determining the priority. . That is, a circuit for determining priority on the master device side is not necessary, and the present invention can be realized with a simpler configuration. In addition, since a Memory Write request is issued (transferred) only to a master device with a specific low priority, unnecessary packets are not transferred to the communication route to the master device with a high priority, and the use efficiency of the data transmission channel can be expected to improve. .
[実施形態2]
実施形態2として、本発明に係るデータ通信システムを、スキャンユニット2機(表面ユニット、裏面ユニット)を備える複合機(MFP)に適用する。図13は、MFPに本発明に係るPCI Expressシステムを適用した構成を示す図の一例である。
[Embodiment 2]
As the second embodiment, the data communication system according to the present invention is applied to a multifunction peripheral (MFP) including two scan units (front unit and back unit). FIG. 13 is an example of a diagram showing a configuration in which the PCI Express system according to the present invention is applied to an MFP.
本実施形態においては、優先度の高いトラフィックを発生するマスターデバイスは、2つのスキャナユニット(スキャン1、 スキャン2)であるものとする。本データ転送システムでは、スキャナユニット2台によって、原稿の両面を同時に読み取ることを想定する。また、優先度の低いトラフィックを発生するマスターデバイスは、2つの画像処理ユニット(画像処理1、画像処理2)であるものとする。 In the present embodiment, it is assumed that master devices that generate high priority traffic are two scanner units (scan 1 and scan 2). In this data transfer system, it is assumed that both sides of a document are read simultaneously by two scanner units. In addition, it is assumed that the master device that generates low priority traffic is two image processing units (image processing 1 and image processing 2).
スキャン1、スキャン2は、スキャナヘッドのメカ駆動に同期してラインデータの転送を処理しなければならないので、上述したような、ライン周期に同期した転送制約を有する。一方、画像処理ユニット(画像処理1、画像処理2)は、ライン周期に同期した転送制約がないため、データ転送が一時的に止まったり再開したりする動作が許容される特徴を有する。また、各マスターデバイスに対するターゲットデバイスは、画像データを格納するメモリである。具体的にターゲットデバイスは、処理画像データを格納するためのメモリユニット1(メモリ1)と、スキャン画像データを格納するためのメモリユニット2(メモリ2)が独立して構成される。 Since scan 1 and scan 2 must process the transfer of line data in synchronization with the mechanical drive of the scanner head, they have transfer restrictions synchronized with the line period as described above. On the other hand, the image processing unit (image processing 1, image processing 2) has a feature that allows operations to temporarily stop or restart data transfer because there is no transfer restriction synchronized with the line cycle. The target device for each master device is a memory for storing image data. Specifically, the target device includes a memory unit 1 (memory 1) for storing processed image data and a memory unit 2 (memory 2) for storing scanned image data independently.
以上のように、スキャン1、スキャン2のマスターデバイスは、PCIeリンクとPCIeスイッチ(SW1−3)を経由して、メモリ2にデータ転送リクエストを発行し、画像処理1、画像処理2のマスターデバイスは、PCIeリンクとPCIeスイッチを経由して、メモリ1にデータ転送のリクエストを発行する構成とされる。 As described above, the master device for scan 1 and scan 2 issues a data transfer request to the memory 2 via the PCIe link and the PCIe switch (SW1-3), and the master device for image processing 1 and image processing 2 The data transfer request is issued to the memory 1 via the PCIe link and the PCIe switch.
上述したプロッタの例と同様に、スキャン1、スキャン2におけるデータ転送制約の計算例を示す。
スキャナ1ライン周期(s) = 1 / { [ヘッド移動速度 (mm/s)] × [1mmあたりの画素数] }
計算を単純にするために、スキャナの読み取り解像度を、主走査/副走査ともに50dot/mmとし、RGBカラー読み取りを想定して、各画素のビット数は8bitであるとする。また、A4縦の原稿サイズを想定して、主走査方向210mm×副走査方向297mmであるとする。また、読み取り速度は60枚分を想定する。このとき、1枚あたりの読み取り時間は1秒となるので、副走査方向の紙送り速度は297mm/sである。スキャナ1ライン周期を計算すると、
1/ (297 × 50) = 0.000067 s = 67μs
になる。主走査方向の一色あたりの画素数は、
210mm×50dot/mm = 10500 dot
となり、データ量は、10500dot×8bit / 8 = 10500Byteとなる。さらに、RGB3色分のデータ量を計算すると、
10500Byte×3色=31500Byte
である。即ちスキャン画像データの転送は、31500 Byte を67μsで完了する必要がある。このときのデータ転送レートは、31500Byte / 0.000067s=約470MB/sとなる。PCIeは1レーンあたり、250MB/s以下の転送性能限界があるため、プロトコル損失も考慮して、本実施形態では、図13に示されるように、マスターデバイス側のPCIeリンク幅はx4レーン(1GB/s以下の転送性能限界)を用い、ターゲットデバイス側のPCIeリンク幅はPCIe x4リンク経由のトラフィックが2本通過するため、x8を用いるものとする。
Similar to the example of the plotter described above, an example of calculation of data transfer restrictions in scan 1 and scan 2 will be described.
Scanner 1 line cycle (s) = 1 / {[Head moving speed (mm / s)] x [Number of pixels per 1 mm]}
To simplify the calculation, assume that the scanning resolution of the scanner is 50 dots / mm for both main scanning and sub-scanning, and that the number of bits for each pixel is 8 bits, assuming RGB color reading. Further, assuming that the document size is A4 vertical, the main scanning direction is 210 mm × the sub-scanning direction is 297 mm. The reading speed is assumed to be 60 sheets. At this time, since the reading time per sheet is 1 second, the paper feed speed in the sub-scanning direction is 297 mm / s. When calculating the scanner 1 line cycle,
1 / (297 × 50) = 0.000067 s = 67μs
become. The number of pixels per color in the main scanning direction is
210mm × 50dot / mm = 10500 dots
Thus, the data amount is 10500 dots × 8 bits / 8 = 10500 bytes. Furthermore, when calculating the amount of data for three RGB colors,
10500Byte × 3 colors = 31500Byte
It is. In other words, the transfer of scanned image data needs to be completed in 31500 bytes in 67 μs. The data transfer rate at this time is 31500 Byte / 0.000067s = about 470 MB / s. Since PCIe has a transfer performance limit of 250 MB / s or less per lane, considering the protocol loss, in this embodiment, the PCIe link width on the master device side is x4 lanes (1 GB / s) as shown in FIG. s or less transfer performance limit), and the PCIe link width on the target device side is x8 because two traffics through the PCIe x4 link pass through.
1ラインのデータを送る場合、128Byteのパケットに区切って転送する場合を想定すると、
31500Byte / 128Byte = 247 個
であり、247個の128Byteデータパケットを1ライン周期内67μsに転送しなければならないデータ転送制約を満たす必要がある。
When sending one line of data, assuming that it is divided into 128-byte packets and transferred,
31500 Byte / 128 Byte = 247, and it is necessary to satisfy the data transfer restriction that 247 128 Byte data packets must be transferred to 67 μs within one line period.
ターゲットデバイスとなるメモリ1、メモリ2は、実施形態1で示したターゲットデバイスを用いる。67μsec周期で転送時間制約があるマスターデバイス(スキャン1、スキャン2)が存在するので、ターゲットデバイスのレジスタで転送レートを演算する際の単位時間値は、67μsecよりも十分に小さい値にする必要がある。さらに、レジスタに設定する単位時間値は、時間周期あたりに転送しなければならないパケット数が247 個に対して、精度の高い転送レートを演算するために、数個から数十個以上のリクエストパケットが転送可能な時間よりも長い時間に設定する。パケット転送時間は、PCIe x4レーンを用いて、Memory Writeリクエストパケット1つで128Byteのデータ転送を行う場合は、×4レーンの1Symbol Time(1Byte転送にかかる時間)が1nsなので1パケットの転送に少なくとも128nsの時間を要する。転送レートの計測に20個のパケットが連続して転送されるのに要する時間を用いる場合、128ns×20 = 2560ns = 2.56μsecとなる。ターゲットデバイスのレジスタの単位時間値に2.56μsを設定する。 The target device shown in the first embodiment is used for the memory 1 and the memory 2 that are target devices. Since there are master devices (scan 1 and scan 2) that have a transfer time constraint with a period of 67 μsec, the unit time value when calculating the transfer rate with the register of the target device must be a value sufficiently smaller than 67 μsec. . Furthermore, the unit time value set in the register is several to several tens of request packets in order to calculate a highly accurate transfer rate for 247 packets that must be transferred per time period. Set the time longer than the transferable time. The packet transfer time is at least one packet transfer since 1 Symbol Time (time required for 1 Byte transfer) of 4 lanes is 1 ns when 128 bytes of data is transferred with one Memory Write request packet using PCIe x4 lanes. It takes 128ns. When the time required for continuously transferring 20 packets is used to measure the transfer rate, 128 ns × 20 = 2560 ns = 2.56 μsec. Set the register unit time value of the target device to 2.56μs.
転送レート上限閾値としてレジスタには、単位時間あたりに転送可能なデータ量の8割を想定し、128Byte×20 × 0.8 = 2048Byteを設定する。転送レート下限閾値としてレジスタには単位時間あたりに転送可能なデータ量の5割を想定し、128Byte×20 × 0.5 = 1280Byteを設定する。 As a transfer rate upper limit threshold, assume that 80% of the data amount that can be transferred per unit time is set in the register, and 128 bytes × 20 × 0.8 = 2048 bytes are set. As the transfer rate lower limit threshold, it is assumed that 50% of the data amount that can be transferred per unit time is set in the register, and 128 Byte × 20 × 0.5 = 1280 Byte is set.
なお、図12に示したターゲットデバイスとして、メモリ1、メモリ2に用いる場合は、メモリ1のレジスタのマスター優先度情報には、優先度の低いマスターデバイスとして、画像処理1、画像処理2のマスターデバイスを設定しておく。 When the target device shown in FIG. 12 is used for the memory 1 and the memory 2, the master priority information of the register of the memory 1 includes the master device of the image processing 1 and the image processing 2 as the master device having a low priority. Set it.
マスターデバイスとなるスキャン1、スキャン2、画像処理1、画処理2は、図7に示したマスターデバイスを用いる。つまり、マスターデバイスのレジスタには、トラフィック優先度情報を設定する。具体的には、スキャン1、スキャン2のレジスタには、優先度は高い、画像処理1、画像処理2のレジスタには、優先度は低い、を示す情報を設定する。 The master device shown in FIG. 7 is used for scan 1, scan 2, image processing 1, and image processing 2 serving as master devices. That is, traffic priority information is set in the register of the master device. Specifically, information indicating that the priority is high in the registers for scan 1 and scan 2 and that the priority is low is set in the registers for image processing 1 and image processing 2.
再び図13を参照して、ターゲットデバイスであるメモリ1の転送レート(単位時間2.56μsecあたりのリクエスト量)が、メモリ1のレジスタに設定された転送レート上限閾値(2048Byte)を超えると、直ちにPCIeのMessage Broadcastリクエスト(又はMemory Writeリクエスト)によって、マスターデバイスであるスキャン1、スキャン2、画像処理1、画像処理2(Memory Writeリクエストの場合は、画像処理1、画像処理2のみ)に、帯域制限を指示するリクエストパケットが通知される。このとき、通知パケットの転送に要する時間は、PCIe×8リンク―SW2-PCIe×4リンク―SW1(又はSW3)―PCIe×4リンクの経路をパケットが通過する時間であり、SW一つあたりのパケット通過レイテンシをx8ポートで100ns、x4ポートで200nsとしても、合計で300ns程度となり、スキャン1、スキャン2のデータ転送周期である67μsに対して、十分に早い時間でマスターデバイスに通知が届く。 Referring to FIG. 13 again, when the transfer rate of memory 1 as the target device (request amount per 2.56 μsec unit time) exceeds the transfer rate upper limit threshold (2048 bytes) set in the register of memory 1, PCIe is immediately used. The message broadcast request (or Memory Write request) of the master device limits the bandwidth to the master devices of scan 1, scan 2, image processing 1, and image processing 2 (in the case of a memory write request, only image processing 1 and image processing 2). An instructing request packet is notified. At this time, the time required for the transfer of the notification packet is the time required for the packet to pass through the path of PCIe × 8 link−SW2-PCIe × 4 link−SW1 (or SW3) −PCIe × 4 link. Even if the packet passing latency is 100 ns for the x8 port and 200 ns for the x4 port, the total is about 300 ns, and the master device is notified in a sufficiently early time with respect to 67 μs which is the data transfer cycle of scan 1 and scan 2.
そして画像処理1、画像処理2は、自ノードのトラフィックに係る優先度が低いので、メモリ1に対するデータ転送を一時停止する。このため、PCIeのリンク1おいてクレジットが枯渇することがなくなり、さらにリンク2、リンク3においても、クレジットが枯渇することがなくなる。よって、優先度の高いスキャン1、スキャン2からのトラフィックは妨げられることはなく連続したデータ転送が可能となる。 In the image processing 1 and the image processing 2, since the priority relating to the traffic of the own node is low, the data transfer to the memory 1 is temporarily stopped. For this reason, no credit is depleted in the PCIe link 1, and no credit is depleted in the links 2 and 3. Therefore, traffic from scans 1 and 2 with high priority is not hindered and continuous data transfer is possible.
さらに、画像処理1、画像処理2のデータ転送が停止し、メモリ1におけるデータ転送レートが、転送レート下限閾値(1280Byte)以下に低下すると、同様に、メモリ1はMessage Broadcastリクエスト(又はMemory Writeリクエスト)によって、マスターデバイスであるスキャン1、スキャン2、画像処理1、画像処理2(Memory Writeリクエストの場合は、画像処理1、画像処理2)に、帯域制限の解除を指示するリクエストパケットが通知される。通知パケットを受信した画像処理1、画像処理2は、再びデータ転送を開始する。 Further, when the data transfer in the image processing 1 and the image processing 2 is stopped and the data transfer rate in the memory 1 is lowered to the transfer rate lower limit threshold (1280 Byte) or less, the memory 1 similarly receives a Message Broadcast request (or Memory Write request). ) Notifies the master device of scan 1, scan 2, image processing 1, and image processing 2 (in the case of a Memory Write request, image processing 1 and image processing 2) of a request packet instructing release of the bandwidth limitation. . The image processing 1 and the image processing 2 that have received the notification packet start data transfer again.
以上の動作を繰り返すことで、優先度の低い画像処理1、画像処理2も、メモリ1が単位時間あたりに転送可能なデータ量(転送レート)の5割―8割利用されている状態を維持しながら画像処理を進めることができ、尚且つ、優先度の高いスキャン1、スキャン2は、247個の128Byteデータパケットを1ライン周期内67μsに転送する動作を継続、即ち非常に厳格なデータ転送制約条件下において動作を行なうことが可能である。 By repeating the above operations, low-priority image processing 1 and image processing 2 also maintain a state where 50% to 80% of the data amount (transfer rate) that the memory 1 can transfer per unit time is used. Image processing can be advanced while scanning 1 and scan 2 with high priority continue to transfer 247 128-byte data packets to 67 μs within one line period, that is, very strict data transfer It is possible to operate under restricted conditions.
[補足]
補足的に、先に登場したASI(Advanced Switching Interconnect)規格によるフロー制御について言及しておく。上述したように、PCIeより派生したASI規格は、PCIe規格よりも更に高度なフロー制御方式として、SBFC(Status Based Flow Control)が規定されている。SBFCによれば、スイッチデバイスは出力先のポートにおけるクレジット不足(枯渇)が生じると、スイッチデバイスの入力ポートに接続されたマスターデバイスに対して、クレジット不足の情報を通知する。通知によりマスターデバイスは1Hop先のポートのクレジット不足を検知できるので、そのポート宛てのリクエストを一時停止させる動作を行い他のトラフィック転送への影響を防止できる。以下詳しく説明する。
[Supplement]
In addition, the flow control by the ASI (Advanced Switching Interconnect) standard that appeared earlier will be mentioned. As described above, the ASI standard derived from PCIe defines SBFC (Status Based Flow Control) as a more advanced flow control method than the PCIe standard. According to SBFC, when a credit shortage (depletion) occurs in the output destination port, the switch device notifies the master device connected to the input port of the switch device of the credit shortage information. The notification allows the master device to detect a shortage of credit in the 1 Hop destination port, so that an operation for temporarily suspending a request addressed to the port can be performed to prevent influence on other traffic transfers. This will be described in detail below.
図14は、ASIにより構成されたデータ通信システムを示す図の一例である。ASIでは、クレジット枯渇が発生したリンク1の1Hop先のデバイスまで、出力ポートAにおけるクレジット枯渇の情報が伝わる。このため、SW1において、SW1−SW2間のリンク2において、クレジットが枯渇する前にM2―SW1間のリンク4においてクレジットが枯渇する。このとき、M1―SW1―SW2―M2の経路における全てのリンクでは、いずれもクレジットの枯渇は発生しない。同様に、M3―SW3−SW2−T2の経路における全てのリンクでもクレジットの枯渇は発生しない。このため、優先度の高いM1、M3のトラフィックが停止することがなくなる。このように、スイッチの出力ポートを共有していても、優先度の低いトラフィックの転送が止まっているときは、優先度の高いトラフィックの転送に波及する前に1Hop手前で優先度の低いトラフィックを止めることができる。 FIG. 14 is an example of a diagram showing a data communication system configured by ASI. In ASI, the information on the credit depletion at the output port A is transmitted to the 1 Hop ahead device of link 1 where the credit depletion has occurred. Therefore, in SW1, the credit is depleted in the link 4 between M2 and SW1 before the credit is exhausted in the link 2 between SW1 and SW2. At this time, all the links in the route of M1-SW1-SW2-M2 do not run out of credit. Similarly, credit exhaustion does not occur in all links in the route of M3-SW3-SW2-T2. For this reason, traffic of M1 and M3 with high priority will not stop. In this way, even if the output port of the switch is shared, if low-priority traffic forwarding stops, the low-priority traffic is sent one hop before the high-priority traffic forwarding. Can be stopped.
しかしながら、スイッチを経由する段数が増えてくると、宛先ポートのクレジット不足がマスターデバイスまで到達するまでの遅延時間が長くなる。再度図14を参照すると、M2やM4のマスターデバイスがデータ処理能力が低下しているT1宛てのリクエストを停止させる前に、SW1、SW2、SW3の経路上に多くのパケットを発行してしまうため、優先度の高くしたいマスターデバイスであるM1、M3のリクエストがT2に届くまでのレイテンシを悪化させる可能性がある。 However, as the number of stages passing through the switch increases, the delay time until the shortage of credit at the destination port reaches the master device becomes longer. Referring to FIG. 14 again, the master device of M2 or M4 issues many packets on the SW1, SW2, and SW3 paths before stopping the request for T1 whose data processing capability is reduced. There is a possibility that the latency until the requests of M1 and M3, which are master devices whose priority is desired to be high, reaches T2 may be deteriorated.
図15は、SW1の模式的な拡大図の一例である。勿論、SW2、SW3も同様な構成と考えてよい。SW1の内部には、各ポートからの入力パケットを調停するアービタと、複数のデータパケットが格納できる内部バッファとが実装されている。M2は、クレジットが枯渇するまでの間は、SW1に対してリクエストパケットを依然転送し続けているので、内部バッファに多くのM2からのパケットが格納される。図中、M1からのリクエストパケットをバッファする前に、M2からのリクエストパケットが既に6個格納されている。このため、M1からのリクエストは、6個の先行するM2からのパケットがすべて転送され終わらないと、SW2に対して転送されず、レイテンシが増加する。 FIG. 15 is an example of a schematic enlarged view of SW1. Of course, SW2 and SW3 may be considered to have the same configuration. In the SW1, an arbiter that arbitrates input packets from each port and an internal buffer that can store a plurality of data packets are mounted. M2 continues to transfer the request packet to SW1 until the credit is depleted, so many packets from M2 are stored in the internal buffer. In the figure, six request packets from M2 are already stored before buffering request packets from M1. For this reason, the request from M1 is not transferred to SW2 unless all the six preceding packets from M2 have been transferred, and latency is increased.
具体的に、PCIeリンクのレーン数をx1(250MB/s)、リクエストパケットサイズを128Byteとすると、1パケットの転送時間は約512nsとなる。このため、6個のパケット転送が完了するのに要する時間は、512ns×6=3072nsとなり、M1のパケット転送のレイテンシが3μsec程度、増加してしまうことになる。一般的なPCIeスイッチデバイスでは、数KB―10KB程度の内部バッファが実装されているため、内部バッファに格納される先行リクエストを待たさせることによるレイテンシ悪化現象は、より顕著に現れることになる。実施形態2等において説明したように、複写機の画像データ転送のように1ラインのデータ転送に許容される時間が数十μsである場合は、著しく印刷やスキャンの性能を低下させる原因となる。このように、ASI規格のSBFCではクレジット枯渇の情報が各デバイスを順々に伝わるため、マスターデバイスからのリクエスト発行が停止されるまでにレイテンシが発生し、通信経路上のバッファの影響によって更に他のデバイスからのリクエストのレイテンシを悪化させるという問題がある。 Specifically, assuming that the number of lanes of the PCIe link is x1 (250 MB / s) and the request packet size is 128 bytes, the transfer time of one packet is about 512 ns. For this reason, the time required for completing the transfer of six packets is 512 ns × 6 = 3072 ns, and the latency of M1 packet transfer increases by about 3 μsec. Since a general PCIe switch device has an internal buffer of about several kilobytes to 10 kilobytes, the latency deterioration phenomenon caused by waiting for a preceding request stored in the internal buffer becomes more prominent. As described in the second embodiment and the like, when the time allowed for one line of data transfer is several tens of μs as in the case of image data transfer of a copying machine, it causes a significant decrease in printing or scanning performance. . In this way, in the SBFC of the ASI standard, credit depletion information is transmitted to each device in order, so that latency occurs before the request issuance from the master device is stopped, and there are other effects due to the influence of the buffer on the communication path. There is a problem that the latency of the request from the device is deteriorated.
従って、上述の複合機(MFP)のようなデータ転送制約条件が非常に厳格である情報処理装置に対して、ASI規格によるデータ転送システムを適用することは難しいのである。本発明に係るデータ転送システムは、マスターデバイスに、直接データ転送リクエストの制限を指示する。つまり、クレジット不足を通知する範囲がHop数等で限定されないので、経路中のスイッチのバッファにデータが溜まりにくくレイテンシをより小さくできる。 Therefore, it is difficult to apply a data transfer system based on the ASI standard to an information processing apparatus having very strict data transfer constraint conditions such as the above-described multifunction peripheral (MFP). The data transfer system according to the present invention instructs the master device to restrict the data transfer request directly. That is, since the range for notifying the credit shortage is not limited by the number of Hops or the like, it is difficult for data to accumulate in the buffer of the switch in the path, and the latency can be further reduced.
[総括]
以上、本発明に係るデータ通信システムにおいては、PCIe規格に対応したスイッチデバイスや、通信コアの回路を用いており、各ターゲットデバイスと各マスターデバイスが直接トラフィック調停の制御を処理するので、各PCIeリンク間でデータ転送能力を超えたリクエストの集中が発生せず、クレジットベースのフロー制御によるデータ転送の停止が発生しない。このため、組み込み用途の電子機器のような単位時間あたりのデータ転送量の制約が非常に厳しい用途のデータ通信に用いても、データ転送の競合が生じた場合にデータ転送レートの低下や、経路途中のスイッチ内部バッファの影響によるパケット転送レイテンシの発生を最小限に抑制することができる。特に例えば、複写機(MFP)のスキャナやプロッタのような、主走査、副走査方向の2次元画像データを、主走査方向に1ラインずつ、スキャナヘッドやプロッタ感光体の機械駆動速度に合わせて転送する、ライン同期転送のトラフィックと画像処理などのライン同期制約のないトラフィックが、共通のデータ伝送路を共有する構成のデータ転送システムにおいて顕著な効果が期待できる。
[Summary]
As described above, in the data communication system according to the present invention, a switch device corresponding to the PCIe standard and a communication core circuit are used, and each target device and each master device directly process traffic arbitration. There is no concentration of requests that exceed the data transfer capability between them, and there is no data transfer stoppage due to credit-based flow control. For this reason, even if it is used for data communication in applications where the restrictions on the amount of data transfer per unit time are extremely strict, such as in electronic devices for embedded applications, if there is a data transfer conflict, the data transfer rate will be reduced. It is possible to minimize the occurrence of packet transfer latency due to the influence of the switch internal buffer on the way. In particular, for example, two-dimensional image data in the main-scanning and sub-scanning directions, such as a scanner or plotter of a copying machine (MFP), is matched to the mechanical driving speed of the scanner head or the plotter photosensitive member line by line in the main scanning direction. A significant effect can be expected in a data transfer system configured to share a common data transmission path for traffic to be transferred and traffic without line synchronization restrictions such as image processing.
従って本発明によれば、パケット転送に要するレイテンシの発生を抑制し、効率の良いデータ転送を実現するデータ転送システム及びデータ転送方法を提供することができる。 Therefore, according to the present invention, it is possible to provide a data transfer system and a data transfer method that suppress the occurrence of latency required for packet transfer and realize efficient data transfer.
なお、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。 Note that the present invention is not limited to such specific embodiments, and various modifications and changes can be made within the scope of the gist of the present invention described in the claims.
601 PCIe通信コア
602 トラフィックモニタ
603 フロー制御部
603−2 フロー制御部
604 レジスタ
604−2 レジスタ
605 ユーザ回路
701 PCIe通信コア
702 フロー制御リクエスト受信部
703 フロー制御部
704 レジスタ
705 ユーザ回路
601
Claims (7)
前記マスターデバイスは、
前記ターゲットデバイスから当該ターゲットデバイスが受信可能なデータ量を示す情報を受信後、前記ターゲットデバイスにデータ転送リクエストを送信する送信手段と、
前記ターゲットデバイスの送信手段から送信された制限リクエストを受信した場合、前記データ転送リクエストの量を制限する制御手段と、を具備し、
前記ターゲットデバイスは、
前記マスターデバイスの送信手段から送信された前記データ転送リクエストに基づいて、データ転送レートを計測する計測手段と、
前記計測手段によって計測された前記データ転送レートの値が所定値以上である場合、前記データ転送リクエストの量を制限する制限リクエストを、当該データ転送システムに含まれる全ての前記マスターデバイスに送信する送信手段と、を具備し、
前記全てのマスターデバイスは、前記制限リクエストに従うか否か示す情報を有し、前記送信手段から送信された前記制限リクエストを受信した場合、前記制御手段は、前記情報に従って、前記ターゲットデバイスに対するデータ転送リクエストの量を制限する制御手段であることを特徴とするデータ転送システム。 A data transfer system comprising a target device and a master device capable of transferring data to the target device,
The master device is
Transmission means for transmitting a data transfer request to the target device after receiving information indicating the amount of data that the target device can receive from the target device;
A control means for limiting the amount of the data transfer request when receiving a restriction request transmitted from the transmission means of the target device,
The target device is
Measuring means for measuring a data transfer rate based on the data transfer request transmitted from the transmitting means of the master device;
A transmission unit that transmits a restriction request for limiting the amount of the data transfer request to all the master devices included in the data transfer system when the value of the data transfer rate measured by the measurement unit is equal to or greater than a predetermined value. And comprising
All the master devices have information indicating whether or not to comply with the restriction request, and when receiving the restriction request transmitted from the transmission unit, the control unit performs a data transfer request to the target device according to the information. A data transfer system which is a control means for limiting the amount of data.
前記マスターデバイスの前記制御手段は、前記ターゲットデバイスの前記送信手段から送信された前記解除リクエストを受信した場合、前記データ転送リクエストの量の制限を解除する制御手段であることを特徴とする請求項1に記載のデータ転送システム。 Before Symbol transmitting means of the target device, after the data transfer rate measured by said measuring means is determined to be equal to or greater than the predetermined value, the data transfer rate measured by said measuring means becomes equal to or less than a predetermined value And a transmission means for transmitting a release request for releasing the restriction on the amount of the data transfer request to the master device,
Billing before Symbol control means of the master device, wherein said case of receiving the release request transmitted from the previous SL transmitting means of the target device, a control means for releasing the limitation of the amount of the data transfer request Item 4. The data transfer system according to Item 1 .
前記全てのマスターデバイスが前記解除リクエストを受信した場合、前記制御手段は、前記情報に従って、前記ターゲットデバイスに対するデータ転送リクエストの量の制限を解除する制御手段であることを特徴とする請求項1に記載のデータ転送システム。 Before Symbol transmitting means of the target device, after the data transfer rate measured by said measuring means is determined to be equal to or greater than the predetermined value, the data transfer rate measured by said measuring means becomes equal to or less than a predetermined value A release request for releasing the restriction on the amount of the data transfer request is transmitted to all master devices included in the data transfer system,
2. The control unit according to claim 1 , wherein, when all the master devices receive the release request, the control unit is a control unit that releases the restriction on the amount of data transfer requests to the target device according to the information. Data transfer system.
前記マスターデバイスは、
前記ターゲットデバイスから当該ターゲットデバイスが受信可能なデータ量を示す情報を受信後、前記ターゲットデバイスにデータ転送リクエストを送信する送信手段と、
前記ターゲットデバイスの送信手段から送信された制限リクエストを受信した場合、前記データ転送リクエストの量を制限し、前記ターゲットデバイスの送信手段から送信された解除リクエストを受信した場合、前記データ転送リクエストの量の制限を解除する制御手段と、を具備し、
前記ターゲットデバイスは、
前記マスターデバイスの送信手段から送信された前記データ転送リクエストに基づいて、データ転送レートを計測する計測手段と、
前記計測手段によって計測された前記データ転送レートの値が所定値以上であると判定された後に、前記計測手段によって計測された前記データ転送レートが所定値以下となった場合、前記データ転送リクエストの量を制限する制限リクエストを前記マスターデバイスに送信する送信手段と、を具備し、
前記ターゲットデバイスは、前記マスターデバイスに前記制限リクエスト又は前記解除リクエストを送信するか否か示す情報を有し、前記制限リクエスト又は前記解除リクエストの送信先となるマスターデバイスを、前記情報に従って決定することを特徴とするデータ転送システム。 A data transfer system comprising a target device and a master device capable of transferring data to the target device,
The master device is
Transmission means for transmitting a data transfer request to the target device after receiving information indicating the amount of data that the target device can receive from the target device;
The amount of the data transfer request is limited when the restriction request transmitted from the transmission unit of the target device is received, and the amount of the data transfer request is limited when the release request transmitted from the transmission unit of the target device is received. Control means for releasing the restriction of
The target device is
Measuring means for measuring a data transfer rate based on the data transfer request transmitted from the transmitting means of the master device;
When it is determined that the value of the data transfer rate measured by the measuring unit is greater than or equal to a predetermined value, the data transfer rate measured by the measuring unit is less than or equal to a predetermined value . Transmitting means for transmitting a limit request for limiting the amount to the master device ,
The target device has information indicating whether to transmit the restriction request or the release request to the master device, and determines a master device that is a transmission destination of the restriction request or the release request according to the information. Lud over data transfer system to the.
前記マスターデバイスは、
前記ターゲットデバイスから当該ターゲットデバイスが受信可能なデータ量を示す情報を受信後、前記ターゲットデバイスにデータ転送リクエストを送信する送信手順と、
前記ターゲットデバイスの送信手順により送信された制限リクエストを受信した場合、前記データ転送リクエストの量を制限する制御手順と、を実行し、
前記ターゲットデバイスは、
前記マスターデバイスの送信手順により送信された前記データ転送リクエストに基づいて、データ転送レートを計測する計測手順と、
前記計測手順によって計測された前記データ転送レートの値が所定値以上である場合、前記データ転送リクエストの量を制限する制限リクエストを、当該データ転送システムに含まれる全ての前記マスターデバイスに送信する送信手順と、を実行し、
前記全てのマスターデバイスは、前記制限リクエストに従うか否か示す情報を有し、前記送信手順により送信された前記制限リクエストを受信した場合、前記制御手順は、前記情報に従って、前記ターゲットデバイスに対するデータ転送リクエストの量を制限する制御手順であることを特徴とするデータ転送方法。 A data transfer method in a data transfer system comprising a target device and a master device capable of transferring data to the target device,
The master device is
A transmission procedure for transmitting a data transfer request to the target device after receiving information indicating the amount of data that can be received by the target device from the target device;
A control procedure for limiting the amount of the data transfer request when receiving a restriction request transmitted by the transmission procedure of the target device; and
The target device is
A measurement procedure for measuring a data transfer rate based on the data transfer request transmitted by the transmission procedure of the master device;
A transmission procedure for transmitting a restriction request for restricting the amount of the data transfer request to all the master devices included in the data transfer system when the value of the data transfer rate measured by the measurement procedure is a predetermined value or more. And run
When all the master devices have information indicating whether to comply with the restriction request, and when receiving the restriction request transmitted by the transmission procedure, the control procedure performs a data transfer request to the target device according to the information. A data transfer method characterized by being a control procedure for limiting the amount of data.
前記マスターデバイスは、
前記ターゲットデバイスから当該ターゲットデバイスが受信可能なデータ量を示す情報を受信後、前記ターゲットデバイスにデータ転送リクエストを送信する送信手順と、
前記ターゲットデバイスの送信手順により送信された制限リクエストを受信した場合、前記データ転送リクエストの量を制限し、前記ターゲットデバイスの送信手順により送信された解除リクエストを受信した場合、前記データ転送リクエストの量の制限を解除する制御手順と、を実行し、
前記ターゲットデバイスは、
前記マスターデバイスの送信手順により送信された前記データ転送リクエストに基づいて、データ転送レートを計測する計測手順と、
前記計測手順によって計測された前記データ転送レートの値が所定値以上であると判定された後に、前記計測手順により計測された前記データ転送レートが所定値以下となった場合、前記データ転送リクエストの量を制限する制限リクエストを前記マスターデバイスに送信する送信手順と、を実行し、
前記ターゲットデバイスは、前記マスターデバイスに前記制限リクエスト又は前記解除リクエストを送信するか否か示す情報を有し、前記制限リクエスト又は前記解除リクエストの送信先となるマスターデバイスを、前記情報に従って決定することを特徴とするデータ転送方法。 A data transfer method in a data transfer system comprising a target device and a master device capable of transferring data to the target device,
The master device is
A transmission procedure for transmitting a data transfer request to the target device after receiving information indicating the amount of data that can be received by the target device from the target device;
When receiving a restriction request transmitted by the target device transmission procedure, the amount of the data transfer request is limited, and when receiving a release request transmitted by the target device transmission procedure, the amount of the data transfer request And a control procedure for releasing the restriction of
The target device is
A measurement procedure for measuring a data transfer rate based on the data transfer request transmitted by the transmission procedure of the master device;
After the data transfer rate value measured by the measurement procedure is determined to be greater than or equal to a predetermined value and the data transfer rate measured by the measurement procedure is less than or equal to a predetermined value, the data transfer request A sending procedure for sending a limit request to limit the amount to the master device;
The target device has information indicating whether to transmit the restriction request or the release request to the master device, and determines a master device that is a transmission destination of the restriction request or the release request according to the information. Data transfer method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009065672A JP5316131B2 (en) | 2009-03-18 | 2009-03-18 | Data transfer system and data transfer method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009065672A JP5316131B2 (en) | 2009-03-18 | 2009-03-18 | Data transfer system and data transfer method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010218351A JP2010218351A (en) | 2010-09-30 |
JP5316131B2 true JP5316131B2 (en) | 2013-10-16 |
Family
ID=42977109
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009065672A Expired - Fee Related JP5316131B2 (en) | 2009-03-18 | 2009-03-18 | Data transfer system and data transfer method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5316131B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9760322B2 (en) | 2015-02-25 | 2017-09-12 | Fuji Xerox Co., Ltd. | Communication system and image forming apparatus |
JP2017143392A (en) | 2016-02-09 | 2017-08-17 | 富士通株式会社 | Communication control program, communication control method, and communication device |
US10872393B2 (en) * | 2017-05-15 | 2020-12-22 | Google Llc | Image processor with high throughput internal communication protocol |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3970138B2 (en) * | 2002-09-09 | 2007-09-05 | 富士通株式会社 | Congestion control device in Ethernet switch |
WO2004049650A1 (en) * | 2002-11-22 | 2004-06-10 | Fujitsu Limited | Router, router traffic amount control method, communication system, traffic control program, and computer-readable recording medium wherein traffic control program has been recorded |
JP2007194845A (en) * | 2006-01-18 | 2007-08-02 | Sony Corp | Content reproduction system and content reproduction method |
-
2009
- 2009-03-18 JP JP2009065672A patent/JP5316131B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2010218351A (en) | 2010-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5754273B2 (en) | MEMORY CONTROL DEVICE, INFORMATION PROCESSING DEVICE, AND MEMORY CONTROL METHOD | |
JP5966265B2 (en) | Data transfer apparatus and image forming system | |
JP5145929B2 (en) | Semiconductor integrated circuit and image processing apparatus | |
JP5316131B2 (en) | Data transfer system and data transfer method | |
TWI411264B (en) | Non-block network system and packet arbitration method thereof | |
JP5151176B2 (en) | Data communication apparatus, image processing system, and data communication method | |
JP6254331B2 (en) | Tunneling within a network-on-chip topology | |
KR101238917B1 (en) | Ethernet apparatus and method for controlling transmisson rate thereof | |
JP2011040895A (en) | Information processing apparatus, control method thereof and program | |
JP5531427B2 (en) | Switch, information processing apparatus, arbitration method, and image forming system | |
US20100067042A1 (en) | Image forming apparatus and data transferring method | |
JP2011116083A (en) | Printer and control method therefor, program | |
JP2009206696A (en) | Transmission system | |
JP5176764B2 (en) | Data communication system, image processing system, and data communication method | |
JP2008112413A (en) | Data transfer apparatus and image processing apparatus | |
JP2013175156A (en) | Data processing device, input control device, and control method | |
JP5105970B2 (en) | Image forming apparatus and control method | |
JP3871177B2 (en) | Data communication apparatus and data communication method | |
KR102012284B1 (en) | A method for transferring mass data and an apparatus for transferring mass data | |
JP2010288148A (en) | Data communication apparatus, data communication control method, data communication control program, and recording medium | |
JP4095216B2 (en) | Printer and data communication method in printer | |
JP2011019166A (en) | Data relay apparatus | |
JP2009269311A (en) | Image forming apparatus and image data transfer method | |
JP6213003B2 (en) | Communication control device, image processing device, communication control program | |
JP2011110771A (en) | Image processing apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120228 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120621 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130220 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130326 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130527 |
|
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: 20130611 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130624 |
|
LAPS | Cancellation because of no payment of annual fees |