JP5531427B2 - Switch, information processing apparatus, arbitration method, and image forming system - Google Patents

Switch, information processing apparatus, arbitration method, and image forming system Download PDF

Info

Publication number
JP5531427B2
JP5531427B2 JP2009063579A JP2009063579A JP5531427B2 JP 5531427 B2 JP5531427 B2 JP 5531427B2 JP 2009063579 A JP2009063579 A JP 2009063579A JP 2009063579 A JP2009063579 A JP 2009063579A JP 5531427 B2 JP5531427 B2 JP 5531427B2
Authority
JP
Japan
Prior art keywords
data
port
arbitration
data transfer
arbitration table
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
Application number
JP2009063579A
Other languages
Japanese (ja)
Other versions
JP2010218170A (en
Inventor
光治 竹尾
典之 寺尾
純一 池田
幸治 押切
哲也 佐藤
洋介 川村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2009063579A priority Critical patent/JP5531427B2/en
Publication of JP2010218170A publication Critical patent/JP2010218170A/en
Application granted granted Critical
Publication of JP5531427B2 publication Critical patent/JP5531427B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)

Description

本発明は、スイッチ、情報処理装置、アービトレーション方法及び画像形成システムの分野に関する。

The present invention relates to the fields of switches , information processing apparatuses, arbitration methods, and image forming systems.

近年、伝送速度が数Gbpsを超え、Ethernet(登録商標)よりも格段に高速なデータ転送が可能な高速シリアル伝送路が実用化されてきており、従来のコンピュータネットワークに近い通信方式をとったローカルI/O(In/Out)の標準規格が普及しつつある。このため、コンピュータネットワークと同様の、シリアル伝送路とスイッチを用いたパケットデータ通信によって、LSI(Large Scale Integration)チップ内、チップ間、ボード間のデータ通信網が、組込み用途の電子機器にも利用されるようになった。   In recent years, high-speed serial transmission lines have been put into practical use that have transmission speeds exceeding several Gbps and can transfer data much faster than Ethernet (registered trademark). I / O (In / Out) standards are spreading. For this reason, data communication networks within LSI (Large Scale Integration) chips, between chips, and between boards are also used for embedded electronic devices by packet data communication using serial transmission lines and switches, similar to computer networks. It came to be.

具体的に、PC(Personal Computer)システムをはじめとしてMFP(Multi Function Printer)などの組込みシステムでも、機器内の大量データ転送のためにPCI Express(登録商標:以下PCIeという場合がある)が用いられるようになってきている。高速シリアル通信規格であるPCIeのメリットとしては、帯域を広げるためにはレーン数を増やすだけでよく、従来のパラレル通信規格によるPCIよりも帯域の増減が柔軟である。また、実装LSIの端子数を減らせる、実装ボード上の配線数を減らせるなどのメリットがある。PC向けに量産されているので、実装部品の価格が比較的安価であることもそのメリットの一つである。   Specifically, PCI Express (registered trademark: hereinafter sometimes referred to as PCIe) is used for embedded data such as a PC (Personal Computer) system and an MFP (Multi Function Printer) to transfer a large amount of data in the device. It has become like this. As a merit of PCIe, which is a high-speed serial communication standard, it is only necessary to increase the number of lanes in order to expand the bandwidth, and the increase / decrease in bandwidth is more flexible than PCI based on the conventional parallel communication standard. In addition, there are advantages such as reducing the number of terminals of the mounting LSI and reducing the number of wirings on the mounting board. Since it is mass-produced for PCs, one of the merits is that the price of mounted components is relatively low.

一つのPCIeシステムにPCIeデバイスを複数接続するためには、複数のPCIeポートをシステムに実装する必要があるが、通常PCIeポートはLSIとして実装されるため、LSI開発完了後にPCI Expressポートを増やすためには、LSIの再開発か、PCI Express Switch(以下PCIe SW又は単にスイッチという場合がある)を使用する。PCIe SWを採用すると、LSIを再開発する必要はなくなり再開発にかかるコスト(開発費や開発時間)を抑えることができる点でメリットがある。前述のMFPおいても、コントローラとスキャナ間、コントローラとプロッタ間の接続にPCIe SWを利用すれば、コントローラLSI変更をせずに、1台のコントローラで複数のデバイスを接続することができる。また例えば複数のプロッタ出力等のさらなる拡張も容易である。   In order to connect multiple PCIe devices to one PCIe system, it is necessary to mount multiple PCIe ports in the system. Usually, since PCIe ports are mounted as LSIs, to increase the number of PCI Express ports after LSI development is completed. In this case, LSI redevelopment or PCI Express Switch (hereinafter sometimes referred to as PCIe SW or simply switch) is used. The adoption of PCIe SW is advantageous in that it eliminates the need for redevelopment of LSIs and can reduce costs (development costs and development time) required for redevelopment. Even in the above-described MFP, if PCIe SW is used for connection between the controller and the scanner and between the controller and the plotter, a plurality of devices can be connected by one controller without changing the controller LSI. Further, for example, it is easy to further expand a plurality of plotter outputs.

ところで、複数のデバイス(データ通信装置)が共通の通信経路を経由して接続され互いにデータ通信を行うデータ通信システムにおいては、異なる種類のトラフィックが同一の通信経路を使用してデータ転送を行うと競合が発生し、トラフィックごとに要求される通信品質(データ転送レートや連続性)が得られなくなるという問題がある。そのため、通信経路(バスなど)に複数のデバイスが存在する場合、何らかの方法でそれぞれのデバイスにその使用権をうまく割り当てていかなければならない。単純に、一番早く到達した通信の順に使用権を割り当てることができるが(早いもの勝ち方式)、デバイスやアプリケーションによっては、品質等の問題から、ある通信は何よりも優先させたい場合がある。   By the way, in a data communication system in which a plurality of devices (data communication devices) are connected via a common communication path and perform data communication with each other, when different types of traffic perform data transfer using the same communication path. There is a problem that contention occurs and communication quality (data transfer rate and continuity) required for each traffic cannot be obtained. Therefore, when there are a plurality of devices on a communication path (such as a bus), the usage right must be assigned to each device in some way. Although the right to use can be assigned in the order of communication that arrives earliest (early win method), depending on the device and application, there is a case where it is desired to give priority to some communication over quality.

現在のPCIe規格においては、このような問題に対して、RR(Round Robin)方式、WRR(Weighted Round Robin)方式、TBWRR(Time Base Weighted Round Robin)方式などのPCIe SWのアービトレーション機能(調停機能)が提供されている。これら機能を用いれば、PCIeの帯域に対して、比較的余裕のある場合の転送(例えば帯域利用率30%〜70%程度)であれば、各ポートに対してアービトレーション機能(ポートアービトレーション機能)が有効に機能し、ポートに適切なサービスが与えられる。図1は、通信経路の競合を摸式的に示す図の一例である。デバイス0に対する通信が競合したとき、PCIe SWにおいて、デバイス2からのデータ通信に使用権が割り当てられる例が示されている。さらにPCIe SWのアービトレーション機能に関して、少し詳細に触れていく。   In the current PCIe standard, PCIe SW arbitration function (arbitration function) such as RR (Round Robin), WRR (Weighted Round Robin), and TBWRR (Time Base Weighted Round Robin) Is provided. If these functions are used, an arbitration function (port arbitration function) is provided for each port as long as the transfer is relatively large (for example, a bandwidth utilization rate of about 30% to 70%) with respect to the PCIe bandwidth. Works effectively and gives proper service to the port. FIG. 1 is an example of a diagram schematically showing communication path contention. An example is shown in which when the communication with the device 0 competes, the right of use is assigned to the data communication from the device 2 in the PCIe SW. Furthermore, I will touch on the details of the arbitration function of PCIe SW.

(1)RR(Round Robin)/WRR(Weighted Round Robin)
RR方式のアービトレーションにおいては、各ポートに対して通信の優先度が順番に回ってきて、通信の競合が起こった場合には最も優先度の高いポートが通信を行うことができる。通信を実施したポートは優先度が最も低くなり、他のポートが通信していなければ通信できるが、他のポートが通信している間は、自分のポートの優先度が高くなるまで通信を行うことはできない。RR方式を用いると、各ポートは順番に優先度が割り当てられて、通常の通信状態(例えば帯域利用率30%〜70%程度)であれば、各ポートに対して凡そ平等な通信機会の割り当てを行うことができる。
(1) RR (Round Robin) / WRR (Weighted Round Robin)
In the arbitration of the RR method, the communication priority reaches each port in order, and when a communication conflict occurs, the port with the highest priority can perform communication. The port that communicated has the lowest priority. If the other port is not communicating, communication is possible. However, while the other port is communicating, communication is performed until the priority of the own port is increased. It is not possible. When the RR method is used, priority is assigned to each port in order, and if the normal communication state (for example, bandwidth utilization rate of about 30% to 70%), almost equal communication opportunities are assigned to each port. It can be performed.

WRR(Weighted Round Robin) 方式のアービトレーションにおいては、基本的にその動作はRR方式と同じであるが、ポート毎に重み付けができる点で特徴がある。例えば、ポート1:ポート2に2:1の重みを設定し、ポート1の優先度が高くなった場合には、ポート1が2つの通信を優先的に行うことができ、2つの通信が終わった段階で、ポート1の優先度が下がり、ポート2の優先度が上がる仕組みである。これによって優先的に通信させたいデバイスに対し、多くの通信機会の割り当てを行うことができる。   The arbitration of the WRR (Weighted Round Robin) method is basically the same as the RR method, but is characterized in that it can be weighted for each port. For example, when a weight of 2: 1 is set for port 1: port 2 and the priority of port 1 becomes high, port 1 can preferentially perform two communications, and the two communications are completed. At this stage, the priority of port 1 decreases and the priority of port 2 increases. As a result, a large number of communication opportunities can be assigned to devices that are to be preferentially communicated.

(2)TBWRR(Time Base Weighted Round Robin)方式
TBWRR方式のアービトレーションにおいては、通信時間に対して各ポートの通信割り当て時間が予め決められており、複数ポートからのデータが存在しても必ず割り当ての帯域が確保される。つまり、1つの通信割り当て時間(タイムスロット:PCI Express規格値100ns)には、タイムスロットごとに通信が可能なポートが決められている。例えば、ポート1(P1)とポート2(P2)が1対2の割合で通信する場合には、アービトレーションテーブルを次のように設定する。
P1/P2/P2/P1/P2/P2/P1/P2/P2
上記テーブルでは、タイムスロットごとに通信可能なポートが切り替わり、該当ポート以外の通信を許さない。このため、各ポートはリクエストを発行すれば、順番が回ってきたタイムスロットで必ず通信を行うことができる。
(2) TBWRR (Time Base Weighted Round Robin) method
In the TBWRR system arbitration, the communication allocation time of each port is determined in advance with respect to the communication time, and even if there is data from a plurality of ports, the allocated bandwidth is ensured. That is, in one communication allocation time (time slot: PCI Express standard value 100 ns), a port capable of communication for each time slot is determined. For example, when port 1 (P1) and port 2 (P2) communicate at a ratio of 1: 2, the arbitration table is set as follows.
P1 / P2 / P2 / P1 / P2 / P2 / P1 / P2 / P2
In the above table, the communicable port is switched for each time slot, and communication other than that port is not allowed. For this reason, if each port issues a request, communication can be performed without fail in the time slot in which the order has come.

しかしながら、PCIe SWにおいて、上記RR、WRR、及びTBWRR方式のようなアービトレーション機能を利用しても、問題が発生する場合ある。例えば、前述のRR又はWRR方式のアービトレーションは、競合が起こった場合に調停を行うので、各デバイス間でリクエスト発行能力に差がある場合には、リクエスト発行能力の高いデバイスが次々と通信を行ってしまい、意図した帯域の配分ができなくなるという問題がある。以下、具体的に説明を行う。   However, even if an arbitration function such as the RR, WRR, and TBWRR methods is used in PCIe SW, a problem may occur. For example, RR or WRR arbitration described above performs arbitration when contention occurs, so if there is a difference in request issue capability between devices, devices with high request issue capability communicate one after another. Therefore, there is a problem that the intended bandwidth cannot be allocated. A specific description will be given below.

図2は、RR/WRR方式のアービトレーションを説明する図の一例である。図に示されるように、ポート1からポート0に対して通信(リードアクセス:Memory Read Request)を行い、ポート2からポート0に対して通信が発生していない場合、ポート0において何ら通信の競合(及び調停)は発生せず、そのレスポンス含めて帯域一杯に通信を行うことができる。   FIG. 2 is an example of a diagram for explaining RR / WRR arbitration. As shown in the figure, when communication is performed from port 1 to port 0 (read access: Memory Read Request) and no communication has occurred from port 2 to port 0, there is no communication contention at port 0. (And arbitration) do not occur, and communication can be performed with the full bandwidth including the response.

図3は、RR/WRR方式のアービトレーションを説明する図の一例である。前提条件として、ポート1とポート2の帯域設定は2:1である。図に示されるように、ポート1からポート0に対して通信(リードアクセス)を行い、ポート2からポート0に対して通信(リードアクセス)を行う。なお、ポート1、ポート2に接続されるデバイスのリクエスト発行能力は1:1(4:4)と等しい。リードリクエスト1及びリードリクエスト2が同時に発行されると、ポート0においてアービトレーション機能が動作して、リードリクエスト1:リードリクエスト2=2:1の比率で出力バッファに蓄えられてから、順にポート0(Up stream)から送出される。またこれらリードリクエストに対するレスポンスが、リクエスト発行順に応答される。なお、リードアクセス(要求)は、例えば、ポート0に接続されるメモリに対して何らかのデータ読み込み要求を行うものであるので、そのレスポンス(データ)は比較的大きなデータ容量になっている。そして、各ポートはリードリクエストに対するレスポンスデータが戻ってきたところで次のリードリクエストを発行する。このような場合、リードリクエスト及びレスポンスともに設定通りの2:1でアービトレーション(調停)が行われ、先の帯域設定どおりの動作を実現している。   FIG. 3 is an example of a diagram illustrating arbitration of the RR / WRR method. As a precondition, the bandwidth setting of port 1 and port 2 is 2: 1. As shown in the figure, communication (read access) is performed from port 1 to port 0, and communication (read access) is performed from port 2 to port 0. Note that the request issue capability of the devices connected to port 1 and port 2 is equal to 1: 1 (4: 4). When read request 1 and read request 2 are issued at the same time, the arbitration function operates at port 0 and is stored in the output buffer at a ratio of read request 1: read request 2 = 2: 1. Up stream). Responses to these read requests are returned in the order in which the requests are issued. Note that the read access (request) is a request for reading data to the memory connected to the port 0, for example, so that the response (data) has a relatively large data capacity. Each port issues the next read request when response data for the read request is returned. In such a case, arbitration (arbitration) is performed at 2: 1 as set for both the read request and the response, and the operation according to the previous band setting is realized.

図4は、RR/WRR方式のアービトレーションの問題点を説明する図の一例である。前提条件として、ポート1とポート2の帯域設定は2:1である。図に示されるように、ポート1からポート0に対して通信(リードアクセス)を行い、ポート2からポート0に対して通信(リードアクセス)を行う。なお、ポート1、ポート2に接続されるデバイスのリクエスト発行能力は1:2(4:8)と異なり、ポート2に接続されるデバイスのリクエスト発行能力が高い。各ポートはリードリクエストに対するレスポンスデータが戻ってきたところで次のリードリクエストを発行する。ここでPCIeターゲットデバイスの標準的な実装では、NPH(Non-Posted-Header)バッファを使い切った状態ではレスポンスデータが帰ってくるまで次のリクエストを発行できないので、この間に他のPCIeターゲットデバイスはリクエストを発行可能である。リードリクエスト1及びリードリクエスト2が同時に発行されると、ポート0においてアービトレーション機能が動作して、リードリクエスト1:リードリクエスト2=1:2の比率で出力バッファに蓄えられてから、順にポート0(Up stream)から送出される。またこれらリードリクエストに対するレスポンスが、リクエスト発行順に応答される。なお、RR/WRR方式のアービトレーション機能が動作するのは同時に通信が到達(競合)した場合であり、競合しない場合は、到達した通信から転送される。図に示されるように、デバイス間にリクエスト発行能力に差異がある場合、ポート2に接続されるデバイスからの通信が次々とリードリクエスト2を発行してしまう。またリードリクエスト自体はデータ量が少ないがそのレスポンスのデータ量は大きく、レスポンス2によってポート0におけるDown streamが詰まってしまうため、優先すべきポート1からのレスポンス1が戻ってくるまでには遅延が生じてしまう。勿論、この遅延はリードリクエストの場合に限られず、メモリへの書き込み要求であるライトアクセス(Memory Write Request)の場合も同様に遅延が生じうる。なお、PCIe SWのポートアービトレーションはポート内部から外部方向への通信(リクエスト)競合を調停するものであり、ポート外部から内部方向への通信(リクエスト又はレスポンス)の調停を行うものではない。   FIG. 4 is an example of a diagram for explaining the problems of the RR / WRR arbitration. As a precondition, the bandwidth setting of port 1 and port 2 is 2: 1. As shown in the figure, communication (read access) is performed from port 1 to port 0, and communication (read access) is performed from port 2 to port 0. Note that the request issue capability of devices connected to port 1 and port 2 is different from 1: 2 (4: 8), and the request issue capability of devices connected to port 2 is high. Each port issues the next read request when response data for the read request is returned. Here, in the standard implementation of the PCIe target device, when the NPH (Non-Posted-Header) buffer is used up, the next request cannot be issued until the response data returns. Can be issued. When read request 1 and read request 2 are issued simultaneously, the arbitration function operates at port 0 and is stored in the output buffer at a ratio of read request 1: read request 2 = 1: 2, and then port 0 ( Up stream). Responses to these read requests are returned in the order in which the requests are issued. Note that the RR / WRR arbitration function operates when communication reaches (conflicts) at the same time. When there is no conflict, the arbitration function is transferred from the reached communication. As shown in the figure, when there is a difference in request issue capability between devices, communication from the device connected to the port 2 issues the read request 2 one after another. The read request itself has a small amount of data, but the response data amount is large, and the response 2 clogs the downstream in port 0. Therefore, there is a delay before response 1 from port 1 to be prioritized returns. It will occur. Of course, this delay is not limited to the case of a read request, and a delay can occur in the case of a write access (Memory Write Request) that is a write request to a memory. Note that PCIe SW port arbitration mediates communication (request) contention from the inside of the port to the outside, and does not mediate communication (request or response) from the outside of the port to the inside.

また、前述のTBWRR方式のアービトレーションでは、タイムスロットごとに通信が可能なポートが決められているので、各ポートはリクエストを発行すれば、順番が回ってきたタイムスロットで必ず通信を行うことができる。よって、アービトレーションテーブルにおいて、優先したい通信(ポート)に対して、その割当て時間を大きくなるよう設定すればよい。但し、その反面、自ポートのタイムスロットにそのポートが通信しなかった場合はその順番においては何ら通信が発生しないことになり、他のポートがそのとき通信を待っている場合、そのタイムスロットが無駄になるという問題がある。具体的に、ポート1の順番のときにポート1は通信するデータがなく、ポート2には通信するデータがある場合、ポート2はポート1のタイムスロットにおいては通信を行うことはできない。ポート2は、ポート2のタイムスロットがくるまで通信を待たされることになるので、この間は帯域の無駄が発生する。その間は無通信(アイドル)状態になってしまうからである。前述の例では、ポート1とポート2が2:1のタイムスロット比率でアービトレーションテーブルが設定されているので、ポート1の通信が全くない場合であっても、ポート2の最大通信帯域は、全体の3分の1しか確保することができない。   Also, in the TBWRR arbitration described above, ports that can communicate for each time slot are determined, so if each port issues a request, it can always communicate in the time slot in which the turn has come. . Therefore, in the arbitration table, it is only necessary to set the allocation time for the communication (port) to be given priority. However, if the port does not communicate in the time slot of its own port, no communication will occur in that order. If another port is waiting for communication at that time, the time slot will be There is a problem of being wasted. Specifically, when there is no data to be communicated in port 1 in the order of port 1, and there is data to communicate in port 2, port 2 cannot communicate in the time slot of port 1. Since the port 2 is kept waiting for communication until the time slot of the port 2 arrives, a waste of bandwidth occurs during this time. This is because there is no communication (idle) during that time. In the above example, since the arbitration table is set at a time slot ratio of 2: 1 for port 1 and port 2, even if there is no communication at port 1, the maximum communication bandwidth of port 2 is Only one third of this can be secured.

以上このように、上記RR/WRR方式のアービトレーション機能を利用すると、TBWRR方式と異なり、比較的通信が空いている場合は、いつでもポートは通信を行うことができるが、競合が発生した場合、優先されるべきデバイスであってもレスポンスの遅延が発生してしまう場合がある。つまり、デバイスのリクエスト発行能力やトラフィックデータの種類によっては、ポートアービトレーションの設定と実際のトラフィックのプライオリティとがうまく整合しないケースがあるのである。また、TBWRR方式のアービトレーション機能を利用すると、優先されるデバイスには多くのタイムスロットが割り当てられているので、順番が回ってきたタイムスロットで遅延なく通信を行うことができるが、通信が空いている場合でもタイムスロットが割り当てられるまで他のポートは通信を行えず、上述したようなタイムスロットの無駄が生じてしまう。つまり、いずれのアービトレーション方式においても一長一短があり万能ではない。   As described above, when the arbitration function of the RR / WRR method is used, unlike the TBWRR method, the port can communicate whenever the communication is relatively free. There is a case where a delay in response occurs even in a device to be performed. In other words, depending on the device's ability to issue requests and the type of traffic data, the port arbitration settings may not match well with the actual traffic priority. In addition, when the TBWRR arbitration function is used, many time slots are assigned to the priority devices, so communication can be performed without delay in the time slots that have been turned in order, but communication is not available. Even when the time slot is present, the other ports cannot communicate until the time slot is assigned, and the time slot is wasted as described above. That is, any arbitration method has advantages and disadvantages and is not universal.

ところで、上記RR、WRR方式のアービトレーション機能を利用した場合の遅延は、システムによって大きな問題になる場合がある。つまり、以下に説明するような状況においては、アービトレーション機能が意図したとおりに効果を発揮せず、データの等時性が特に問題になるシステムにおいては、データ転送が期待する時間内に完了しないとそのシステムが破綻してしまう場合がある。   By the way, the delay when using the RR and WRR arbitration functions may be a serious problem depending on the system. In other words, in the situation described below, the arbitration function does not work as intended, and in systems where data isochronism is particularly problematic, data transfer must be completed within the expected time. The system may fail.

例えば、MFP(マルチ・ファンクション・プリンタ)やLP(レーザー・プリンタ)などのシステムにおいては、1ライン描画時間(例えば100usec)内に、メインメモリからプロッタのラインバッファへ、その描画対象のラインデータの転送を完了する必要がある。仮にデータ転送遅れが発生すると、印刷が異常画像となるためシステムとして深刻な問題となってしまう。一例として、1ライン描画時間の試算は次の通りである。
<条件>
毎分60枚のA4印刷機
A4紙長手方向は約7300ライン(600dpi時)
印刷時紙搬送の紙間隔はA4紙の20%程度と仮定
<計算>
1ライン辺りの描画時間 = 60[sec]÷(7300[line]x120[%]x60[枚]) = 114[usec]
印刷データCMYK各2ビットなら、
2[bit] x 5200[dot]/1[line] x4[色]= 41600[bit]/1[line]
1ライン内の平均転送レート = 41.6k[bit]/1[line]/114[usec] = 364.90M[bit]/[sec]
つまり、1ライン内平均で364.90Mbps以上の転送速度が必要となり、印刷動作中に1ラインでもこのレートを下回ると、異常画像が発生する。最終的に画像が紙媒体に印刷されるため、コンピュータネットワーク通信における動画や音声のストリーミングのようにデータの欠落や圧縮による品質劣化は一切許されないという非常に厳しい制約がある。これは、データ転送の同期制約がメカ駆動条件によって決まるためであり、特に電子写真プロセスを用いたプロッタでは、重量の大きい感光体ドラムや紙搬送メカを高速で駆動するため、データ転送途中で駆動速度を変更することができない。このためメカの駆動速度に同期したタイミングでデータ転送量を制御する必要があるのである。
For example, in a system such as an MFP (multi-function printer) or LP (laser printer), the line data to be drawn is transferred from the main memory to the line buffer of the plotter within one line drawing time (for example, 100 usec). The transfer needs to be completed. If a data transfer delay occurs, printing becomes an abnormal image, which becomes a serious problem for the system. As an example, the trial calculation of one line drawing time is as follows.
<Conditions>
60 A4 presses per minute
The A4 paper longitudinal direction is about 7300 lines (at 600 dpi)
Assuming paper spacing for printing paper transport is about 20% of A4 paper <Calculation>
Drawing time per line = 60 [sec] ÷ (7300 [line] x 120 [%] x 60 [sheets]) = 114 [usec]
If the print data CMYK is 2 bits each,
2 [bit] x 5200 [dot] / 1 [line] x4 [color] = 41600 [bit] / 1 [line]
Average transfer rate within one line = 41.6k [bit] / 1 [line] / 114 [usec] = 364.90M [bit] / [sec]
In other words, an average transfer rate of 364.90 Mbps or more is required for one line, and an abnormal image is generated if one line falls below this rate during a printing operation. Since an image is finally printed on a paper medium, there is a very severe restriction that data deterioration and quality deterioration due to compression are not allowed at all as in the case of streaming video and audio in computer network communication. 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. For this reason, it is necessary to control the data transfer amount at a timing synchronized with the driving speed of the mechanism.

従来、PCI Express SWを用いた画像処理装置では、通信の競合が起こった際にポート毎の帯域割り当てをうまく行うことができず、例えば、実装レーン数がx4で十分である所、x8またはx16など、過剰な帯域のポートを実装したPCI Express SWを実装する必要があった。また若しくは、帯域の競合を避けるためPCI Express SWをプリンタ系、スキャナ系、演算処理系などで分ける必要があった。しかし、これら解決策では実装部品コストが上がり、実装面積も増大するという問題があった。   Conventionally, in an image processing apparatus using PCI Express SW, when a communication conflict occurs, bandwidth allocation for each port cannot be performed well. For example, x4 or x16 is sufficient where the number of mounted lanes is sufficient. It was necessary to mount PCI Express SW with ports with excessive bandwidth. Alternatively, it was necessary to divide the PCI Express SW into a printer system, a scanner system, an arithmetic processing system, etc. in order to avoid bandwidth conflict. However, these solutions have a problem in that the mounting component cost increases and the mounting area also increases.

特許文献1に記載される発明は、このような課題を解決するためにユーザがアプリケーションに合わせてアービトレーションテーブルを選択するシステムを提供する。このシステムは、アービトレーション方法をユーザによる選択、もしくはソフトウェア(BIOS)により選択する方法である。しかしながら、ユーザによるマニュアル操作やソフトウェア操作では、短い時間内でアービトレーション方式を切り替えることはできない。   The invention described in Patent Document 1 provides a system in which a user selects an arbitration table in accordance with an application in order to solve such a problem. In this system, an arbitration method is selected by a user or software (BIOS). However, the arbitration method cannot be switched within a short time by a user's manual operation or software operation.

例えば、画像形成装置(MFP)の内部バスでは、コピー動作時にはスキャナ部からデータを読み込みながらプリンタ部からデータを出力することになるが、コピー動作中のプリンタ部の1ラインデータ転送に100usec以下の時間が要求される。しかし、プリンタ部へのラインデータ転送とスキャナ部からのデータの転送とが同時に発生すると、複数デバイスから短時間で大量データ転送が起こり、PCIe SW内部で競合が発生する。ラインデータを規定時間内に転送完了するためには、100us以下程度の時間内でPCIeの帯域を有効に使うために、1us以下程度の短い時間でアービトレーションの切り替えが必要になるからである。   For example, in the internal bus of the image forming apparatus (MFP), data is output from the printer unit while reading data from the scanner unit during a copying operation, but 100usec or less is used for one-line data transfer of the printer unit during the copying operation. Time is required. However, if line data transfer to the printer unit and data transfer from the scanner unit occur at the same time, a large amount of data transfer occurs from a plurality of devices in a short time, and contention occurs in the PCIe SW. This is because, in order to complete the transfer of line data within a specified time, it is necessary to switch the arbitration in a short time of about 1 us or less in order to effectively use the PCIe bandwidth within a time of about 100 us or less.

そこで本発明では上記のような問題に鑑み、適切なタイミングで適切なアービトレーションに切り替えることで、効率の良いデータ転送を実現するデータ転送装置、情報処理装置、アービトレーション方法及び画像形成システムを提供することを目的とする。   In view of the above problems, the present invention provides a data transfer device, an information processing device, an arbitration method, and an image forming system that realize efficient data transfer by switching to appropriate arbitration at appropriate timing. With the goal.

そこで上記課題を解決するため、本発明に係るデータ転送装置は、アービトレーションテーブルの切替えを行うためのトリガーを検知する検知手段と、前記検知手段によって検知されたトリガーに基づいて、前記アービトレーションテーブルの切替えを行う切替え手段と、アービトレーションテーブルが切替えられた場合、切替え後のアービトレーションテーブルに従って調停し複数のデータを転送するアービタとを具備することを特徴とする。   Therefore, in order to solve the above-described problem, the data transfer apparatus according to the present invention includes a detection unit that detects a trigger for switching the arbitration table, and the switching of the arbitration table based on the trigger detected by the detection unit. And a arbiter that arbitrates in accordance with the arbitration table after switching and transfers a plurality of data when the arbitration table is switched.

なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、などに適用したものも本発明の態様として有効である。   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 effective as an aspect of this invention.

本発明によれば、適切なタイミングで適切なアービトレーションに切り替えることで、効率の良いデータ転送を実現するデータ転送装置、情報処理装置、アービトレーション方法及び画像形成システムを提供することができる。   According to the present invention, it is possible to provide a data transfer apparatus, an information processing apparatus, an arbitration method, and an image forming system that realize efficient data transfer by switching to appropriate arbitration at appropriate timing.

通信経路の競合の一例を摸式的に示す図である。It is a figure which shows an example of competition of a communication path typically. RR/WRR方式のアービトレーションの一例を説明する図である。It is a figure explaining an example of arbitration of a RR / WRR system. RR/WRR方式のアービトレーションの一例を説明する図である。It is a figure explaining an example of arbitration of a RR / WRR system. RR/WRR方式のアービトレーションの問題点の一例を説明する図である。It is a figure explaining an example of the problem of arbitration of a RR / WRR system. PCI Expressシステムの一般構成例を示す図である。It is a figure which shows the general structural example of a PCI Express system. 本実施形態におけるPCI Expressシステムの構成例を示す図である。It is a figure which shows the structural example of the PCI Express system in this embodiment. スイッチ110の構成例を示す図である。2 is a diagram illustrating a configuration example of a switch 110. FIG. 本実施形態に係るスイッチ110の主要な機能構成を示す機能ブロック図の一例を示す図である。It is a figure which shows an example of the functional block diagram which shows the main function structures of the switch 110 which concerns on this embodiment. 優先させるデータがあるときのポート0におけるデータ転送の様子の一例を示す図である。It is a figure which shows an example of the mode of the data transfer in the port 0 when there exists data to give priority. TBWRR方式のポートアービトレーションの一例を説明する図である。It is a figure explaining an example of port arbitration of a TBWRR system. スイッチ110の動作の一例を説明するフローチャートである。4 is a flowchart illustrating an example of the operation of a switch 110. メモリリクエストを検知してテーブル切替えの一例を説明する図である。It is a figure explaining an example of table switching by detecting a memory request. ヘッダー内のベンダ定義領域の一例を説明する図である。It is a figure explaining an example of the vendor definition area | region in a header. メッセージパケットを検知してテーブル切替えの一例を説明する図である。It is a figure explaining an example of table switching by detecting a message packet. コンフィグレーションリクエストの検知に基づくテーブル切替えの一例を説明する図である。It is a figure explaining an example of the table switching based on the detection of a configuration request.

本発明を実施するための形態を各実施形態において図面を用いて説明する。以下、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.

[実施形態]
(システムの構成)
図5は、PCI Expressシステムの一般構成を示す図の一例である。CPU110やメモリ111が接続されたルートコンプレックス112に対して、PCIeグラフィックス113がPCIe114aにより接続され、また、エンドポイント115aやレガシーエンドポイント116aがPCIe114bにより接続されたスイッチ(PCI Express Switch)117aがPCIe114cにより接続され、さらには、エンドポイント115bやレガシーエンドポイント116bがPCIe114dにより接続されたスイッチ117bやPCIバススロット118が接続されたPCIブリッジ119がPCIe114eにより接続されたスイッチ117cがPCIe114fにより接続されたツリー構造(木構造)とされている。
[Embodiment]
(System configuration)
FIG. 5 is an example of a diagram illustrating a general configuration of the PCI Express system. A PCIe graphic 113 is connected to the root complex 112 to which the CPU 110 and the memory 111 are connected by a PCIe 114a, and a switch (PCI Express Switch) 117a in which an endpoint 115a and a legacy endpoint 116a are connected by a PCIe 114b is a PCIe 114c. In addition, the switch 117b in which the endpoint 115b and the legacy endpoint 116b are connected by the PCIe 114d, and the PCI bridge 119 to which the PCI bus slot 118 is connected are connected to the switch 117c in which the PCIe 114e is connected to the tree. Structure (tree structure).

図6は、本実施形態におけるPCI Expressシステムの構成を示す図の一例である。図示例は、組込みシステムへ適用する一例として、画像形成装置(MFP)へのPCI Express適用例を示す。本実施形態に係る画像形成装置1は、図中、メインメモリ101、コントローラ102、ネットワークインターフェース103、プロッタエンジン104、プロッタ105、及びスイッチ(図5のスイッチ117に相当)110を含み構成される。   FIG. 6 is an example of a diagram illustrating a configuration of the PCI Express system according to the present embodiment. The illustrated example shows an application example of PCI Express to an image forming apparatus (MFP) as an example applied to an embedded system. The image forming apparatus 1 according to the present embodiment includes a main memory 101, a controller 102, a network interface 103, a plotter engine 104, a plotter 105, and a switch (corresponding to the switch 117 in FIG. 5) 110 in the drawing.

メインメモリ101は、ASIC(Application Specific Integrated Circuit)に搭載され、印刷データ(ビットマップイメージ)を記憶する画像メモリである。コントローラ102は、画像形成装置全体を制御するコントローラであり、ROM(Read Only Memory)、RAM(Random Access Memory)、及びCPUを有する。ROMは、画像形成装置1が起動されるときに実行されるプログラムや各種データを格納している。また、RAMは、ROMやHDD(非図示)から読み出された各種プログラムやデータを一時保持する。更に、CPUは、RAMが一時保持しているプログラムを実行する。コントローラは、例えば、ネットワークインターフェース103を介して印刷データを受信した場合に、PDL(Page Description Language)を解釈可能なプログラム(PDLパーサ)をCPUにより実行し、印刷データを解釈してビットマップイメージを生成する。   The main memory 101 is an image memory that is mounted on an application specific integrated circuit (ASIC) and stores print data (bitmap image). The controller 102 is a controller that controls the entire image forming apparatus, and includes a ROM (Read Only Memory), a RAM (Random Access Memory), and a CPU. The ROM stores programs executed when the image forming apparatus 1 is started up and various data. The RAM temporarily holds various programs and data read from the ROM and HDD (not shown). Further, the CPU executes a program temporarily stored in the RAM. For example, when the print data is received via the network interface 103, the controller executes a program (PDL parser) capable of interpreting PDL (Page Description Language) by the CPU, interprets the print data, and generates a bitmap image. Generate.

ネットワークインターフェース103は、画像形成装置1をネットワークなどのデータ伝送路に接続するインタフェースである。プロッタエンジン104及びプロッタ105は、例えば、電子写真プロセス方式によってメインメモリ101のビットマップイメージを紙媒体(印刷用紙)に印刷する。   The network interface 103 is an interface that connects the image forming apparatus 1 to a data transmission path such as a network. The plotter engine 104 and the plotter 105 print the bitmap image of the main memory 101 on a paper medium (printing paper) by an electrophotographic process method, for example.

スイッチ110は、上述したようにPCI Expressデバイスを相互に接続するPCI Express Switch(データ転送装置)である。図に示されるスイッチ110はポート0〜3を備え、データ転送の高速化を図るべくコントローラ102、ネットワークインターフェース103及びプロッタエンジン104を高速シリアルバスであるPCI Expressにより相互に接続している。なお、上流(非図示のルートコンプレックスに近い方)側のポートはアップストリームポートと、下流側(非図示のルートコンプレックスから遠い方)のポートはダウンストリームポートと称される。   The switch 110 is a PCI Express Switch (data transfer device) that interconnects PCI Express devices as described above. The switch 110 shown in the figure includes ports 0 to 3, and the controller 102, the network interface 103, and the plotter engine 104 are connected to each other by PCI Express, which is a high-speed serial bus, in order to increase the speed of data transfer. A port on the upstream side (the side closer to the root complex (not shown)) is called an upstream port, and a port on the downstream side (a side far from the root complex (not shown)) is called a downstream port.

また他にも、非図示であるが、画像形成装置1は、ハードウェアキーやタッチパネル等で構成される入力装置やディスプレイ等で構成される表示装置を含む操作パネル、読み取り面に配置された原稿を光学的に読み取り画像データを生成するスキャナ(スキャナエンジン)、ファクシミリなどを備えており、コピー、プリンタ、ファクシミリ、スキャナなどの複数の機能を実現している。   In addition, although not shown, the image forming apparatus 1 includes an input panel composed of hardware keys, a touch panel, etc., an operation panel including a display device composed of a display and the like, and a document placed on the reading surface. Are provided with a scanner (scanner engine), a facsimile, and the like that optically read image data and realize a plurality of functions such as a copy, a printer, a facsimile, and a scanner.

図7は、スイッチ110の構成図の一例を示す。図7(a)はスイッチ110の全体構成を示す図であり、図7(b)はスイッチ110の各ポートの詳細を示す図である。スイッチ110は、複数のポートを備え、PCI Expressによりデバイスを接続し、デバイスから転送されてきたパケット(データ)を転送する転送手段(受信手段及び送信手段を含む)を有している。   FIG. 7 shows an example of a configuration diagram of the switch 110. FIG. 7A is a diagram illustrating the overall configuration of the switch 110, and FIG. 7B is a diagram illustrating details of each port of the switch 110. The switch 110 includes a plurality of ports, has a transfer unit (including a reception unit and a transmission unit) that connects devices by PCI Express and transfers packets (data) transferred from the device.

スイッチ110は、図に示されるように構成として、PCIeコア111、ルーティング回路112、アービタ回路113、テーブル切替え回路114、及びテーブルメモリ115を含む。PCIeコア111は、PCI Expressのアーキテクチャの中心となるTransaction Layer(トランザクション層)、Datalink Layer(データリンク層)、Physical Layer(物理層)の3層構造を有し、PCI Expressによるデータ通信を担うPCIe通信部である。ルーティング回路112は、ポートで受信したパケット(データ)を他の適切な送信ポートに転送する。アービタ回路113は、ルーティング回路112からのパケットを受け、データの競合時、テーブルメモリ115内のポートアービトレーションテーブルを参照してどのポートからのパケットを送信するかを調停(決定)する。なお詳細は後述するが、本発明に係るアービタ回路113は複数のポートアービトレーション方式に対応する。テーブル切替え回路114は、PCIeコア111のTransaction Layerからパケットの情報を取得して、ポートアービトレーション方式及びポートアービトレーションテーブルを変更する。テーブルメモリ115は、ポート毎に、複数のポートアービトレーションテーブルを有しており、テーブル切替え回路114により、現在有効なポートアービトレーションテーブルが決定される。図中、ポートアービトレーションテーブル115aが現在有効なテーブルとなっており、アービタ回路113は、このポートアービトレーションテーブル115aを参照してパケットの調停を行う。   The switch 110 includes a PCIe core 111, a routing circuit 112, an arbiter circuit 113, a table switching circuit 114, and a table memory 115 as shown in the figure. The PCIe core 111 has a three-layer structure of Transaction Layer, Datalink Layer, and Physical Layer, which is the core of the PCI Express architecture, and is responsible for data communication by PCI Express. It is a communication part. The routing circuit 112 transfers the packet (data) received at the port to another appropriate transmission port. The arbiter circuit 113 receives the packet from the routing circuit 112, and arbitrates (determines) from which port the packet is transmitted by referring to the port arbitration table in the table memory 115 when there is data conflict. Although details will be described later, the arbiter circuit 113 according to the present invention corresponds to a plurality of port arbitration methods. The table switching circuit 114 acquires packet information from the Transaction Layer of the PCIe core 111, and changes the port arbitration method and the port arbitration table. The table memory 115 has a plurality of port arbitration tables for each port, and the currently valid port arbitration table is determined by the table switching circuit 114. In the figure, the port arbitration table 115a is a currently valid table, and the arbiter circuit 113 refers to the port arbitration table 115a to perform packet arbitration.

(機能)
図8は、本実施形態に係るスイッチ110の主要な機能構成を示す機能ブロック図である。スイッチ110は、転送部801、アービトレーション部802、トリガー検知部803、テーブル切替え部804、及びテーブルメモリ115を含む構成である。詳細に関しては後述するので、ここでは簡単に説明する。
(function)
FIG. 8 is a functional block diagram showing the main functional configuration of the switch 110 according to the present embodiment. The switch 110 includes a transfer unit 801, an arbitration unit 802, a trigger detection unit 803, a table switching unit 804, and a table memory 115. Details will be described later, and will be briefly described here.

転送部801は、PCIeデバイスから転送されてきたパケット(データ)を転送する機能を有している。転送部801は、例えば、前述の複数のポートや、PCIeコア111及びルーティング回路112に相当する。   The transfer unit 801 has a function of transferring a packet (data) transferred from the PCIe device. The transfer unit 801 corresponds to, for example, the above-described plurality of ports, the PCIe core 111, and the routing circuit 112.

アービトレーション部802は、テーブルメモリ115内の有効なポートアービトレーションテーブルを参照してパケットの調停を行う。またRR方式、WRR方式、TBWRR方式など複数のアービトレーション方式に対応しており、有効なポートアービトレーションテーブルに応じてそのポートアービトレーション方式も切替える。調停されたパケットは転送部801により転送される。アービトレーション部802は、例えば、前述のアービタ回路113に相当する。   The arbitration unit 802 refers to a valid port arbitration table in the table memory 115 and performs packet arbitration. It also supports multiple arbitration methods such as the RR method, WRR method, and TBWRR method, and switches the port arbitration method according to the valid port arbitration table. The arbitrated packet is transferred by the transfer unit 801. The arbitration unit 802 corresponds to, for example, the arbiter circuit 113 described above.

トリガー検知部803は、有効なポートアービトレーションテーブルの切替えを行うトリガーを検知する機能を有している。トリガーを検知すると、テーブル切替え部804にトリガーを伝達する。トリガー検知部803は、例えば、前述のテーブル切替え回路114に相当する。   The trigger detection unit 803 has a function of detecting a trigger for switching an effective port arbitration table. When the trigger is detected, the trigger is transmitted to the table switching unit 804. The trigger detection unit 803 corresponds to, for example, the table switching circuit 114 described above.

テーブル切替え部804は、トリガー検知部803からのトリガーを受けて、テーブルメモリ内の有効なポートアービトレーションテーブルの切替えを行う。例えば、ポートアービトレーションテーブル115aからポートアービトレーションテーブル115bへのテーブル切替えを行う。テーブル切替え部804は、例えば、前述のテーブル切替え回路114に相当する。   Upon receiving a trigger from the trigger detection unit 803, the table switching unit 804 switches a valid port arbitration table in the table memory. For example, the table is switched from the port arbitration table 115a to the port arbitration table 115b. The table switching unit 804 corresponds to, for example, the table switching circuit 114 described above.

テーブルメモリ115は、ポート毎に、複数のポートアービトレーションテーブルを有している。例えば、RR方式、WRR方式、TBWRR方式など複数のアービトレーション方式に対応するポートアービトレーションテーブル115を有する。また同一のアービトレーション方式であっても、異なる設定(定義)内容のポートアービトレーションテーブル115を有しうる。   The table memory 115 has a plurality of port arbitration tables for each port. For example, it has a port arbitration table 115 corresponding to a plurality of arbitration methods such as the RR method, the WRR method, and the TBWRR method. Further, even if the same arbitration method is used, the port arbitration table 115 having different setting (definition) contents can be provided.

(動作)
次いで、本実施形態に係るスイッチ110の動作について説明を行う。先の図6のように、コントローラ102のPCIeポートにスイッチ110を介して、ネットワークインターフェース103及びプロッタエンジン104が接続されるPCI Expressシステムを用いて説明する。ここで、プロッタエンジン104へのプロッタデータ(印刷データ)は、高いデータ転送レートと等時性が要求されるトラフィックであり、ネットワークインターフェース103からの印刷データは、等時性の制約が比較的弱いものとする。
(Operation)
Next, the operation of the switch 110 according to the present embodiment will be described. A description will be given using a PCI Express system in which the network interface 103 and the plotter engine 104 are connected to the PCIe port of the controller 102 via the switch 110 as shown in FIG. Here, plotter data (print data) to the plotter engine 104 is traffic that requires a high data transfer rate and isochronism, and the print data from the network interface 103 is relatively weak in isochronous constraints. Shall.

本PCI Expressシステムでは、画像形成装置1がネットワークに接続された他のPCから印刷要求を受けたとき、PCからの印刷データは一旦メインメモリ(画像メモリ)101に蓄積される。この時点ではプロッタへのデータ転送はないため、ネットワークインターフェース103からメインメモリへ101の転送がスイッチ110のデータ転送帯域を使い切っても問題なく、アービトレーション方式としてはRR又はWRR方式が適している。スイッチ110は通常状態では規格で定められた標準的なWRR方式(又はRR方式)で動作しており、ネットワークインターフェース103からの転送データを自由に転送することができる。   In this PCI Express system, when the image forming apparatus 1 receives a print request from another PC connected to the network, print data from the PC is temporarily stored in the main memory (image memory) 101. Since there is no data transfer to the plotter at this point, there is no problem even if the transfer from the network interface 103 to the main memory 101 uses up the data transfer band of the switch 110, and the RR or WRR method is suitable as the arbitration method. In the normal state, the switch 110 operates in a standard WRR method (or RR method) defined by the standard, and can transfer transfer data from the network interface 103 freely.

このとき、ポートアービトレーションテーブル115aには、WRRアルゴリズムの重み情報が格納(定義)されている。WRR方式では、複数の入力ポート(ポート1〜x)から入力されたデータを、入力ポート数よりも少ない数の出力ポート(ポート0)に出力する際に、各入力ポートからのデータ転送に競合が発生した場合、ポート毎に設定された重み情報に基づいて、データ転送量の調停が行われる。   At this time, the weight information of the WRR algorithm is stored (defined) in the port arbitration table 115a. In the WRR method, when data input from a plurality of input ports (ports 1 to x) is output to a smaller number of output ports (port 0) than the number of input ports, it competes for data transfer from each input port. When this occurs, arbitration of the data transfer amount is performed based on the weight information set for each port.

例えば、下記に示すように、
ポート1:1(Weight)
ポート2:1(Weight)
ポートx:1(Weight)
というポートアービトレーションテーブル115aがポート0において設定された場合、ポート0の複数のチャネル(ポート1〜x)がともに連続のリクエストを発行していると、ポート1、ポート2、ポートx、ポート1、ポート2、ポートx・・・といった順に、均等にリクエストが、アービトレーション部802より調停される。
For example, as shown below:
Port 1: 1 (Weight)
Port 2: 1 (Weight)
Port x: 1 (Weight)
When the port arbitration table 115a is set in port 0, if a plurality of channels (ports 1 to x) of port 0 are issuing continuous requests, port 1, port 2, port x, port 1, Requests are arbitrated by the arbitration unit 802 in the order of port 2, port x,.

また例えば、下記に示すように、
ポート1:1(Weight)
ポート2:2(Weight)
ポートx:1(Weight)
というポートアービトレーションテーブル115aがポート0において設定された場合、ポート0の複数のチャネル(ポート1及びポート2)がともに連続のリクエストを発行していると、ポート1、ポート2、ポート2、ポートx、ポート1、ポート2、ポート2、ポートx・・・といった順に、1:2:1の比率でリクエストが重み付けされて、アービトレーション部802より調停される。
For example, as shown below:
Port 1: 1 (Weight)
Port 2: 2 (Weight)
Port x: 1 (Weight)
When the port arbitration table 115a is set for port 0, if a plurality of channels (port 1 and port 2) of port 0 issue continuous requests, port 1, port 2, port 2, port x , Port 1, port 2, port 2, port x... Are weighted at a ratio of 1: 2: 1 and arbitrated by the arbitration unit 802.

このように、PCからの印刷データは一旦メインメモリ101に蓄積された時点では、データ転送高いデータ転送レートと等時性が要求されるプロッタ(ポート2に接続)へのデータ転送はないため、ポート1やその他ポートxでのアービトレーションは、WRR方式(又はRR方式)で動作するようになっている。   In this way, when the print data from the PC is once stored in the main memory 101, there is no data transfer to a plotter (connected to port 2) that requires high data transfer rate and isochronism. Arbitration at port 1 and other ports x is operated by the WRR method (or RR method).

次に、PCから1ページ分の印刷データが送られ、レンダリング処理の後、プロッタへデータを転送する段階において、ネットワークインターフェース103からの転送よりもプロッタへのデータ転送を優先して処理する必要がある。プロッタへデータ転送は、データ転送高いデータ転送レートと等時性が要求されるからである。この場合、アービトレーション方式としてはTBWRR方式が適している。前述したように、ネットワークインターフェース103からのライトアクセス(Memory Write Request)に起因して、プロッタへデータ転送に遅延が引き起こされる可能性があるからである。   Next, print data for one page is sent from the PC, and after the rendering process, it is necessary to prioritize the data transfer to the plotter over the transfer from the network interface 103 at the stage of transferring the data to the plotter. is there. This is because data transfer to the plotter requires high data transfer rate and isochronism. In this case, the TBWRR method is suitable as an arbitration method. This is because, as described above, a delay may be caused in data transfer to the plotter due to a write access (Memory Write Request) from the network interface 103.

図9は、優先させるデータがあるときのポート0におけるデータ転送の様子を示す図の一例である。望ましくは、図9(b)に示されるように、メインメモリ101からプロッタエンジン104への印刷(プロッタ)データが、間断なく読み出されるように、プロッタエンジン104からのメモリリードリクエスト及び読み出し印刷データを含むメモリリードリクエストレスポンスが、優先して処理されるとよい。従って、トリガー検知部803は、優先されるべきプロッタへデータ転送をトリガーとして検知し、テーブル切替え部804は、トリガーを受けてテーブルメモリ115内の有効なポートアービトレーションテーブルの切替えを行う。例えば、ポートアービトレーションテーブル115aからポートアービトレーションテーブル115bへのテーブル切替えを行う。この場合のポートアービトレーションテーブル115bは、TBWRRアルゴリズムのタイムスロット情報が格納(定義)されている。   FIG. 9 is an example of a diagram showing a state of data transfer at port 0 when there is data to be prioritized. Preferably, as shown in FIG. 9B, the memory read request and the read print data from the plotter engine 104 are sent so that the print (plotter) data from the main memory 101 to the plotter engine 104 can be read without interruption. The included memory read request response may be processed with priority. Therefore, the trigger detection unit 803 detects data transfer to the plotter to be prioritized as a trigger, and the table switching unit 804 switches the valid port arbitration table in the table memory 115 in response to the trigger. For example, the table is switched from the port arbitration table 115a to the port arbitration table 115b. The port arbitration table 115b in this case stores (defines) the time slot information of the TBWRR algorithm.

図10は、TBWRR方式のポートアービトレーションを説明する図の一例である。図10(a)はポート0のポートアービトレーションテーブルの設定例を示し、図10(b)はポート0におけるデータ転送の様子を示す。TBWRR方式の場合、テーブルの1エントリあたり例えば100ns(ナノ秒)の時間が割り当てられる。図に示されるように、ポートアービトレーションテーブルではポート2対して多くのタイムスロットが割り当てられており、ポート2(プロッタエンジン104)からのデータが、ポート1(ネットワークインターフェース103)からのデータより優先されて転送されていることがわかる。   FIG. 10 is an example of a diagram illustrating TBWRR port arbitration. 10A shows a setting example of the port arbitration table for port 0, and FIG. 10B shows a state of data transfer at port 0. FIG. In the case of the TBWRR method, a time of, for example, 100 ns (nanosecond) is allocated per entry of the table. As shown in the figure, many time slots are assigned to port 2 in the port arbitration table, and data from port 2 (plotter engine 104) is prioritized over data from port 1 (network interface 103). You can see that it has been transferred.

図11は、スイッチ110の動作を説明するフローチャートである。上述したスイッチ110の動作を確認的に説明する。まずPCIeシステムの起動時若しくはプロッタを使用するアプリケーションプログラムの起動時に初期化されて動作を開始する(S1101)。プロッタがスイッチ110のポート2に接続されていること、スイッチ110のポート1にはプロッタ以外のデバイスが接続されていることを認識し、スイッチ110のポート0に対して、上述のテーブル切替え機能を有効にする。また初期時に有効なポートアービトレーションテーブル115が設定される。   FIG. 11 is a flowchart for explaining the operation of the switch 110. The operation of the above-described switch 110 will be described for confirmation. First, it is initialized when the PCIe system is started or when an application program that uses a plotter is started, and starts its operation (S1101). Recognizing that the plotter is connected to port 2 of the switch 110 and that a device other than the plotter is connected to port 1 of the switch 110, the above table switching function is applied to port 0 of the switch 110. To enable. In addition, a valid port arbitration table 115 is set at the initial stage.

トリガー検知部803がトリガー(詳細は後述)を検知すると(S1102)、トリガーを解析し(S1103)、テーブル変更に適うトリガーか否かを判定する(S1104)。なお、トリガーに関して詳細は後述する。   When the trigger detection unit 803 detects a trigger (details will be described later) (S1102), the trigger is analyzed (S1103), and it is determined whether the trigger is suitable for table change (S1104). Details of the trigger will be described later.

トリガーがテーブル変更すべきものである場合、テーブル切替え部804は、有効なポートアービトレーションテーブル115の切替えを行う。これ以後アービトレーション部802は、変更されたポートアービトレーションテーブル(及びアービトレーション方式)に従ってデータの調停を行う。再度トリガーを検知した場合(再びS1102)、再度のテーブル変更もありうる。例えば、元のWRR方式のポートアービトレーションに戻す場合である。なお、システムシャットダウン等により当該フローチャートを終了(END)できる。   When the trigger is to change the table, the table switching unit 804 switches the valid port arbitration table 115. Thereafter, the arbitration unit 802 performs data arbitration according to the changed port arbitration table (and arbitration method). If a trigger is detected again (again, S1102), there may be another table change. For example, when returning to the original WRR port arbitration. The flowchart can be ended (END) by system shutdown or the like.

<実施例1>
上述したように、本発明に係るスイッチ110においては、トリガー検知部803が優先されるべきプロッタへデータ転送をトリガーとして検知すると、テーブル切替え部804によりポートアービトレーションテーブル115の切替えがなされ、アービトレーション部802が変更されたアービトレーション方式に従ってデータの調停を行う。次に、トリガー検知部803によるトリガー検知の実施例について説明を行う。
<Example 1>
As described above, in the switch 110 according to the present invention, when the trigger detection unit 803 detects data transfer to the plotter to be prioritized as a trigger, the table switching unit 804 switches the port arbitration table 115 and the arbitration unit 802. Data arbitration is performed according to the arbitration method changed. Next, an example of trigger detection by the trigger detection unit 803 will be described.

具体的に、本実施例のトリガー検知部803は、スイッチ110の特定のポートからの「メモリリクエスト」が通過したときに、これをトリガーとして検知する。メモリリクエストは、メモリリードリクエスト及びメモリライトリクエストを含む。つまり、特定のポートとは優先すべきデータ転送を行うデバイス(プロッタエンジン104)が接続されたポートであり、特定のポートであるポート2からメモリリクエストパケットが通過したときに、トリガー検知部803は、これをトリガーとして検知する。   Specifically, the trigger detection unit 803 according to the present embodiment detects a “memory request” from a specific port of the switch 110 as a trigger. The memory request includes a memory read request and a memory write request. That is, the specific port is a port to which a device (plotter engine 104) that performs data transfer that should be prioritized is connected, and when a memory request packet passes from port 2, which is the specific port, the trigger detection unit 803 This is detected as a trigger.

PCIeシステムの起動時若しくはプロッタを使用するアプリケーションプログラムの起動時に、スイッチ110のPCIeの固有情報等を持ったレジスタ群に基づいて、プロッタがスイッチ110のポート2に接続されていること、スイッチ110のポート1にはプロッタ以外のデバイスが接続されていることを認識する。また、スイッチ110のポート0に対して、上述のテーブル切替え機能を有効にして、初期化時に有効(参照)とされるポートアービトレーションテーブルを設定する(初期化動作)。なお、このテーブル切替え機能を使用するか否か、初期化時に有効とされるポートアービトレーションテーブル、どのポートのパケットに対して動作するかなど諸設定を行うためのスイッチ110のレジスタ群へは、各ポートのコンフィギュレーションレジスタやスイッチに割り当てられたIO空間を経由して、コントローラ102のCPUからアクセスし、コンフィグレーションリクエストにより読み書きを行うことができる。   When starting the PCIe system or when starting an application program that uses the plotter, the plotter is connected to the port 2 of the switch 110 based on the register group having the specific information of the PCIe of the switch 110, and the switch 110 It recognizes that a device other than the plotter is connected to port 1. In addition, the above-described table switching function is enabled for port 0 of the switch 110, and a port arbitration table that is enabled (referenced) at the time of initialization is set (initialization operation). It should be noted that the register group of the switch 110 for performing various settings such as whether to use this table switching function, the port arbitration table that is enabled at the time of initialization, and which port's packet operates is included in each register group. It can be accessed from the CPU of the controller 102 via the port configuration register and the IO space assigned to the switch, and can be read and written by a configuration request.

PCIeシステムが動作を開始してから、プロッタデータの準備できてプロッタがデータ転送を始めると、トリガー検知部803はプロッタからのメモリリードリクエスト通過を検出して、テーブル切替え部804がポートアービトレーションテーブル115の変更によりアービトレーション方式をWRR方式(又はRR方式)からTBWRR方式に変更する。プロッタデータの転送がより優先的に行われる一方で、余った帯域でネットワークインターフェース103からのデータ転送も行われる。   When the plotter data is prepared and the plotter starts data transfer after the PCIe system starts operating, the trigger detection unit 803 detects the passage of the memory read request from the plotter, and the table switching unit 804 detects the port arbitration table 115. The arbitration method is changed from the WRR method (or RR method) to the TBWRR method. While the plotter data is transferred more preferentially, the data transfer from the network interface 103 is also performed with the surplus bandwidth.

なお、プロッタデータの転送が完了したときは、テーブル切替え部804はポートアービトレーションテーブル115の変更によりアービトレーション方式をTBWRR方式から元のWRR方式(又はRR方式)に変更する。方法としては、トリガー検知部803が一定時間プロッタからのリードリクエスト通過を検出しなくなったときに、アービトレーション方式を元に戻すためのトリガーをテーブル切替え部804に再伝達する。   When the plotter data transfer is completed, the table switching unit 804 changes the arbitration method from the TBWRR method to the original WRR method (or RR method) by changing the port arbitration table 115. As a method, when the trigger detection unit 803 does not detect the passage of the read request from the plotter for a certain period of time, a trigger for returning the arbitration method is retransmitted to the table switching unit 804.

図12は、メモリリクエストを検知してテーブル切替えを説明する図の一例である。図に示されるように、ポート2からのメモリリードリクエストが検知されると、ポートアービトレーションテーブル115の変更を行い、これによりアービトレーション方式がWRR方式からTBWRR方式に変更されている。その結果、図10(a)に示されるポートアービトレーションテーブルに従って調停がなされ、プロッタデータの転送がより優先的に行われる。   FIG. 12 is an example of a diagram for explaining table switching by detecting a memory request. As shown in the figure, when a memory read request from the port 2 is detected, the port arbitration table 115 is changed, whereby the arbitration method is changed from the WRR method to the TBWRR method. As a result, arbitration is performed according to the port arbitration table shown in FIG. 10A, and the plotter data is transferred more preferentially.

<実施例2>
本実施例のトリガー検知部803は、スイッチ110の特定のポートからの「メッセージリクエスト」を受信したときに、これをトリガーとして検知する。PCI Express規格では、ベンダ独自のメッセージリクエストパケット(ベンダメッセージ)を定義することができるようになっている。従って、ポートアービトレーションテーブル115の変更を行うためのベンダメッセージ(Message Codeとペイロードデータ)を定義しておく。図13は、ヘッダー内のベンダ定義領域を説明する図の一例である。図に示されるように、Message Codeとペイロードデータを自由に定義することができる。そしてプロッタエンジン104において、データ転送を行うときにはまず上述のメッセージリクエストをスイッチ110に送信する機能を設けておく。また、データ転送を終えたときにも上述のメッセージリクエストをスイッチ110に送信する機能を設けておく。
<Example 2>
When the trigger detection unit 803 of this embodiment receives a “message request” from a specific port of the switch 110, the trigger detection unit 803 detects this as a trigger. In the PCI Express standard, a vendor-specific message request packet (vendor message) can be defined. Therefore, a vendor message (Message Code and payload data) for changing the port arbitration table 115 is defined. FIG. 13 is an example of a diagram for explaining a vendor definition area in a header. As shown in the figure, Message Code and payload data can be freely defined. The plotter engine 104 is provided with a function for transmitting the above-described message request to the switch 110 when performing data transfer. In addition, a function for transmitting the above-described message request to the switch 110 even when data transfer is completed is provided.

PCIeシステムが動作を開始してから、プロッタデータの準備できてプロッタがデータ転送を始めるとき、プロッタエンジン104は上述のメッセージリクエスト(パケット)をスイッチ110に送信する。トリガー検知部803はプロッタエンジン104からのメッセージリクエストを検出して、テーブル切替え部804がポートアービトレーションテーブル115の変更によりアービトレーション方式をWRR方式(又はRR方式)からTBWRR方式に変更する。プロッタデータの転送がより優先的に行われる一方で、余った帯域でネットワークインターフェース103からのデータ転送も行われる。なお例えば、検知されたメッセージリクエストパケット内のペイロードデータが「1」であれば、1番のポートアービトレーションテーブル(TBWRR方式)に切替え、「0」であれば、初期化時のポートアービトレーションテーブル(WRR方式)に切替えるようにすることができる。   When the plotter data is ready and the plotter starts data transfer after the PCIe system starts operation, the plotter engine 104 transmits the above-described message request (packet) to the switch 110. The trigger detection unit 803 detects a message request from the plotter engine 104, and the table switching unit 804 changes the arbitration method from the WRR method (or RR method) to the TBWRR method by changing the port arbitration table 115. While the plotter data is transferred more preferentially, the data transfer from the network interface 103 is also performed with the surplus bandwidth. For example, if the payload data in the detected message request packet is “1”, it is switched to the first port arbitration table (TBWRR method), and if it is “0”, the port arbitration table (WRR at initialization) is switched. System).

また、プロッタデータの転送が完了したときは、プロッタエンジン104は上述の、例えばメッセージリクエストパケット内のペイロードデータが「0」であるメッセージリクエストをスイッチ110に送信する。トリガー検知部803はプロッタエンジン104からのメッセージリクエストを検出して、テーブル切替え部804はポートアービトレーションテーブル115の変更により、初期化時のポートアービトレーションテーブルに切替えるようにすることができる。具体的には、アービトレーション方式をTBWRR方式から元のWRR方式(又はRR方式)に変更する。   When the transfer of the plotter data is completed, the plotter engine 104 transmits the above-described message request whose payload data in the message request packet is “0” to the switch 110, for example. The trigger detection unit 803 can detect a message request from the plotter engine 104, and the table switching unit 804 can switch to the port arbitration table at the time of initialization by changing the port arbitration table 115. Specifically, the arbitration method is changed from the TBWRR method to the original WRR method (or RR method).

図14は、メッセージパケットを検知してテーブル切替えを説明する図の一例である。図に示されるように、ポート2からのメッセージリクエストが検知されると、ポートアービトレーションテーブル115の変更を行い、これによりアービトレーション方式がWRR方式からTBWRR方式に変更されている。その結果、図10(a)に示されるポートアービトレーションテーブルに従って調停がなされ、プロッタデータの転送がより優先的に行わる。   FIG. 14 is an example for explaining table switching by detecting a message packet. As shown in the figure, when a message request from port 2 is detected, the port arbitration table 115 is changed, whereby the arbitration method is changed from the WRR method to the TBWRR method. As a result, arbitration is performed according to the port arbitration table shown in FIG. 10A, and the plotter data is transferred more preferentially.

<実施例3>
本実施例のトリガー検知部803は、コントローラ102のCPUからの「コンフィグレーションリクエスト」を受信したときに、これをトリガーとして検知する。より詳細には、プロッタデータが準備できた後、コントローラ102のCPUは、プロッタのデータ転送を始める前(指示する前)に、コンフィグレーションリクエストを発行して、スイッチ110のポート0のポートアービトレーション変更用のレジスタを書き換える。また同様に、プロッタデータの転送が完了したときにも、コンフィグレーションリクエストを発行して、スイッチ110のポート0のポートアービトレーション変更用のレジスタを書き換える。
<Example 3>
When receiving a “configuration request” from the CPU of the controller 102, the trigger detection unit 803 of the present embodiment detects this as a trigger. More specifically, after the plotter data is prepared, the CPU of the controller 102 issues a configuration request before starting (instructing) the data transfer of the plotter, and changes the port arbitration of port 0 of the switch 110. Rewrite the register. Similarly, when the transfer of plotter data is completed, a configuration request is issued to rewrite the port arbitration change register of port 0 of the switch 110.

上述したように、PCIeシステムの起動時等において、スイッチ110のPCIeの固有情報等を持ったレジスタ群に基づいて、初期化時に有効(参照)とされるポートアービトレーションテーブルを設定する(初期化動作)。従って、コントローラ102のCPUは、プロッタのデータ転送を始める前(指示する前)に、コンフィグレーションリクエストを発行して、レジスタを書き換えることで、有効(参照)とされるポートアービトレーションテーブルを変更(設定)する。トリガー検知部803はコンフィグレーションリクエストをトリガーとして検知すると、テーブル切替え部804がポートアービトレーションテーブル115の変更を行い、これによりアービトレーション方式をWRR方式(又はRR方式)からTBWRR方式に変更する。なおこの場合、テーブル切替え部804は、レジスタの書換えによってテーブルを切替えるものとする。   As described above, the port arbitration table that is enabled (referenced) at the time of initialization is set based on the register group having the PCIe specific information of the switch 110 when the PCIe system is started up (initialization operation) ). Therefore, the CPU of the controller 102 changes (sets) the port arbitration table that is enabled (referenced) by issuing a configuration request and rewriting the register before starting (instructing) the data transfer of the plotter. ) When the trigger detection unit 803 detects a configuration request as a trigger, the table switching unit 804 changes the port arbitration table 115, thereby changing the arbitration method from the WRR method (or RR method) to the TBWRR method. In this case, the table switching unit 804 switches the table by rewriting the register.

勿論、実際にはレジスタが書き換えられているので、書換え後のポートアービトレーションテーブルが、あたかも初期化時に有効とされるポートアービトレーションテーブルの如く、アービトレーション部802は、書換え後ポートアービトレーションテーブル(及びアービトレーション方式)に従ってデータの調停を行う。   Of course, since the register is actually rewritten, the arbitration unit 802 has the port arbitration table after rewriting (and the arbitration method) as if the port arbitration table after rewriting is a port arbitration table that is valid at the time of initialization. To perform data arbitration.

図15は、コンフィグレーションリクエストを検知してテーブル切替えを説明する図の一例である。図に示されるように、コントローラ102のCPUからのコンフィグレーションリクエストが検知されると、ポートアービトレーションテーブル115の変更を行い、これによりアービトレーション方式がWRR方式からTBWRR方式に変更されている。その結果、図10(a)に示されるポートアービトレーションテーブルに従って調停がなされ、プロッタデータの転送がより優先的に行わる。   FIG. 15 is an example of a diagram for explaining table switching by detecting a configuration request. As shown in the figure, when a configuration request from the CPU of the controller 102 is detected, the port arbitration table 115 is changed, whereby the arbitration method is changed from the WRR method to the TBWRR method. As a result, arbitration is performed according to the port arbitration table shown in FIG. 10A, and the plotter data is transferred more preferentially.

[総括]
以上本発明に係るPCI Express Switchは、1のアップストリームポートにおいて複数のダウンストリームポートからのデータにより競合が起こりうる場合、優先すべきデータ転送を行うデバイス(例えばプロッタ)が接続された特定のポートから優先すべきデータ転送がなされるとき、アップストリームポートにおけるポートアービトレーション方式を変更し、優先すべきデータ転送を優先的に調停しその転送を行う。より詳細には、アップストリームポートにおけるポートアービトレーション方式(及び参照されるポートアービトレーションテーブル)をTBWRR方式に変更することで、確実に優先すべきデータに帯域を割り当てて優先すべきデータを優先的に転送する。その一方、優先すべきデータ転送がなされないときは、その他のポートが帯域を有効に利用できるように、アップストリームポートにおけるポートアービトレーション方式をRR/WRR方式に変更する。また、ポートアービトレーション方式の変更は、所定のトリガーによって行うので短時間でのその変更(切替え)が可能である。従って、高いデータ転送レートと等時性が要求されるトラフィックの転送に効果的である。
[Summary]
As described above, the PCI Express Switch according to the present invention has a specific port to which a device (for example, a plotter) for performing priority data transfer is connected when data from a plurality of downstream ports can occur in one upstream port. When the data transfer to be prioritized is performed, the port arbitration method in the upstream port is changed, and the data transfer to be prioritized is preferentially arbitrated and transferred. More specifically, by changing the port arbitration method (and the referenced port arbitration table) at the upstream port to the TBWRR method, the bandwidth should be allocated to the data that should be prioritized and the data that should be prioritized will be preferentially transferred. To do. On the other hand, when the data transfer that should be prioritized is not performed, the port arbitration method at the upstream port is changed to the RR / WRR method so that other ports can use the bandwidth effectively. Further, since the port arbitration method is changed by a predetermined trigger, it can be changed (switched) in a short time. Therefore, it is effective for transferring traffic requiring high data transfer rate and isochronism.

即ち本発明によれば、適切なタイミングで適切なアービトレーションに切り替えることで、効率の良いデータ転送を実現するデータ転送装置、情報処理装置、アービトレーション方法及び画像形成システムを提供することが可能となる。   That is, according to the present invention, it is possible to provide a data transfer apparatus, an information processing apparatus, an arbitration method, and an image forming system that realize efficient data transfer by switching to appropriate arbitration at appropriate timing.

なお、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。   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.

例えば、本発明を画像形成システムに適用することができる。上述の実施形態においては、組込みシステムへ本発明に係るPCI Expressシステムを適用する一例として、画像形成装置(MFP)を一例として取り上げたが、これを画像形成システムに適用できる。具体的には、PCI Express Switchは、PCI Expressより容易に複数のPCI Expressデバイスを接続(拡張)することができる。従って、従来イーサネット(登録商標)等を利用して接続していた所これに代えて、複数の画像形成装置をPCI Express Switchを介して相互に接続する。これにより高速シリアルバスの利点を享受しつつ、PCI Express Switchは上述したような動作を行うので、画像形成装置間において優先すべきデータをより優先して転送することができる。メインメモリ(画像メモリ)と、スキャナ又はプロッタ間のデータ転送など、特に高いデータ転送レートと等時性が要求されるトラフィックの転送に効果的である。なお、画像形成装置は、スキャナ、プリンタ等を含み、自由な組合せや構成でシステムを構築できる。   For example, the present invention can be applied to an image forming system. In the above-described embodiment, as an example of applying the PCI Express system according to the present invention to an embedded system, an image forming apparatus (MFP) is taken as an example, but this can be applied to an image forming system. Specifically, the PCI Express Switch can connect (expand) a plurality of PCI Express devices more easily than PCI Express. Therefore, instead of the conventional connection using Ethernet (registered trademark) or the like, a plurality of image forming apparatuses are connected to each other via the PCI Express Switch. As a result, while enjoying the advantages of the high-speed serial bus, the PCI Express Switch performs the operation as described above, so that priority data can be transferred between the image forming apparatuses. This is particularly effective for transferring traffic requiring high data transfer rate and isochronism, such as data transfer between a main memory (image memory) and a scanner or plotter. The image forming apparatus includes a scanner, a printer, and the like, and a system can be constructed with any combination or configuration.

1 画像形成装置
101 メインメモリ
102 コントローラ
103 ネットワークインターフェース
104 プロッタエンジン
105 プロッタ
110 スイッチ
111 PCIeコア
112 ルーティング回路
113 アービタ回路
114 テーブル切替え回路114
115 テーブルメモリ115
801 転送部
802 アービトレーション部
803 トリガー検知部
804 テーブル切替え部
DESCRIPTION OF SYMBOLS 1 Image forming apparatus 101 Main memory 102 Controller 103 Network interface 104 Plotter engine 105 Plotter 110 Switch 111 PCIe core 112 Routing circuit 113 Arbiter circuit 114 Table switching circuit 114
115 Table memory 115
801 Transfer unit 802 Arbitration unit 803 Trigger detection unit 804 Table switching unit

特開2006−155183号公報JP 2006-155183 A

Claims (13)

所定デバイスが接続可能なポートを介して前記ポートのうちのアップストリームポートと第1のダウンストリームポートとの間の第1のデータ転送を実行中に、前記アップストリームポートから前記第1のダウンストリームポートとは異なる第2のダウンストリームポートへの第2のデータ転送を示すトリガーを検知する検知手段と、
前記トリガーが検知された場合、アービトレーションテーブルを、前記第1のデータ転送時に使用する第1のアービトレーションテーブルから、前記第1のデータ転送および前記第2のデータ転送時に使用する第2のアービトレーションテーブルに切替える切替え手段と、
アービトレーションテーブルが切替えられた場合、切替え後の前記第2のアービトレーションテーブルに従って調停し、前記第1のデータおよび当該第1のデータよりも優先して転送される前記第2のデータからなる複数のデータを転送するアービタと、
を具備することを特徴とするスイッチ
The first downstream from the upstream port while performing a first data transfer between an upstream port of the ports and a first downstream port through a port to which a predetermined device can be connected Detecting means for detecting a trigger indicating a second data transfer to a second downstream port different from the port ;
When the trigger is detected, the arbitration table is changed from the first arbitration table used at the time of the first data transfer to the second arbitration table used at the time of the first data transfer and the second data transfer. Switching means for switching;
When the arbitration table is switched, a plurality of data consisting of the first data and the second data transferred with priority over the first data are arbitrated according to the second arbitration table after switching. Arbiter to transfer the
A switch comprising:
前記第1のアービトレーションテーブルは、RR(Round Robin)方式又はWRR(Weighted Round Robin)方式、前記第2のアービトレーションテーブルは、TBWRR(Time Base Weighted Round Robin)方式による設定情報が格納され、
前記切替え手段は、前記第1のデータ転送よりも優先すべき前記第2のデータ転送を示す前記トリガーが検知された場合、前記RR方式又は前記WRR方式の前記第1のアービトレーションテーブルから前記TBWRR方式の前記第2のアービトレーションテーブルへの切替えを実行し、
前記アービタは、切替え後の前記TBWRR方式の前記第2のアービトレーションテーブルに従って調停し優先すべき前記第2のデータ転送を優先して転送することを特徴とする請求項1に記載のスイッチ
The first arbitration table stores setting information according to an RR (Round Robin) method or a WRR (Weighted Round Robin) method, and the second arbitration table stores a TBWRR (Time Base Weighted Round Robin) method.
The switching means detects the TBWRR method from the first arbitration table of the RR method or the WRR method when the trigger indicating the second data transfer to be prioritized over the first data transfer is detected. Switch to the second arbitration table of
2. The switch according to claim 1, wherein the arbiter preferentially transfers the second data transfer to be arbitrated and prioritized according to the second arbitration table of the TBWRR method after switching .
前記検知手段は、前記第2のデータ転送の完了を示すトリガーを検知し、
前記切替え手段は、前記完了を示すトリガーが検知された場合、前記第2のアービトレーションテーブルから前記第1のアービトレーションテーブルへの切替えを実行し、
前記アービタは、切替え後の前記第1のアービトレーションテーブルに従って調停し前記複数のデータを転送することを特徴とする請求項2に記載のスイッチ
The detecting means detects a trigger indicating completion of the second data transfer;
The switching means executes switching from the second arbitration table to the first arbitration table when a trigger indicating completion is detected;
The arbiter switch as claimed in claim 2, wherein the transfer of said plurality of data arbitration according to the first arbitration table after switching.
前記第2のデータ転送は、優先すべきデータを発生させる所定デバイスから送信されるメモリリクエストパケットの転送であること、
を特徴とする請求項2又は3に記載のスイッチ
The second data transfer is a transfer of a memory request packet transmitted from a predetermined device that generates data to be prioritized;
The switch according to claim 2 or 3, wherein
複数のデータ通信装置と、
前記複数のデータ通信装置に接続されたスイッチとを具備し、
前記スイッチは、
所定デバイスが接続可能なポートを介して前記複数のデータ通信装置から前記ポートのうちのアップストリームポートと第1のダウンストリームポートとの間の第1のデータ転送を実行中に、前記複数のデータ通信装置から前記アップストリームポートから前記第1のダウンストリームポートとは異なる第2のダウンストリームポートへの第2のデータ転送を示すトリガーを検知する検知手段と、
前記トリガーが検知された場合、アービトレーションテーブルを、前記第1のデータ転送時に使用する第1のアービトレーションテーブルから、前記第1のデータ転送および前記第2のデータ転送時に使用する第2のアービトレーションテーブルに切替える切替え手段と、
アービトレーションテーブルが切替えられた場合、切替え後の前記第2のアービトレーションテーブルに従って調停し、前記第1のデータおよび当該第1のデータよりも優先して転送される前記第2のデータからなる複数のデータを転送するアービタと、
を特徴とする情報処理装置。
A plurality of data communication devices;
A switch connected to the plurality of data communication devices,
The switch
The plurality of data during execution of a first data transfer between an upstream port and a first downstream port of the ports from the plurality of data communication devices via a port to which a predetermined device can be connected Detection means for detecting a trigger indicating a second data transfer from a communication device to the second downstream port different from the first downstream port from the upstream port ;
When the trigger is detected, the arbitration table is changed from the first arbitration table used at the time of the first data transfer to the second arbitration table used at the time of the first data transfer and the second data transfer. Switching means for switching;
When the arbitration table is switched, a plurality of data consisting of the first data and the second data transferred with priority over the first data are arbitrated according to the second arbitration table after switching. Arbiter to transfer the
An information processing apparatus characterized by the above.
前記第1のアービトレーションテーブルは、RR(Round Robin)方式又はWRR(Weighted Round Robin)方式、前記第2のアービトレーションテーブルは、TBWRR(Time Base Weighted Round Robin)方式による設定情報が格納され、
前記切替え手段は、前記第1のデータ転送よりも優先すべき前記第2のデータ転送を示す前記トリガーが検知された場合、前記RR方式又は前記WRR方式のアービトレーションテーブルから前記TBWRR方式のアービトレーションテーブルへの切替えを実行し、
前記アービタは、切替え後の前記TBWRR方式の前記第2のアービトレーションテーブルに従って調停し前記優先すべき前記第2のデータ転送を優先して転送することを特徴とする請求項5に記載の情報処理装置。
The first arbitration table stores setting information according to an RR (Round Robin) method or a WRR (Weighted Round Robin) method, and the second arbitration table stores a TBWRR (Time Base Weighted Round Robin) method.
When the trigger indicating the second data transfer to be prioritized over the first data transfer is detected, the switching means switches from the arbitration table of the RR method or the WRR method to the arbitration table of the TBWRR method. Switch
6. The information processing apparatus according to claim 5, wherein the arbiter arbitrates in accordance with the second arbitration table of the TBWRR method after switching and transfers the second data transfer to be prioritized and transferred. .
前記検知手段は、前記第2のデータ転送の完了を示すトリガーを検知し、
前記切替え手段は、前記完了を示すトリガーが検知された場合、前記第2アービトレーションテーブルから前記第1のアービトレーションテーブルへの切替えを実行し、
前記アービタは、切替え後の前記第1のアービトレーションテーブルに従って調停し前記複数のデータを転送することを特徴とする請求項6に記載の情報処理装置。
The detecting means detects a trigger indicating completion of the second data transfer;
The switching means performs switching from the second arbitration table to the first arbitration table when a trigger indicating the completion is detected;
The information processing apparatus according to claim 6, wherein the arbiter arbitrates according to the first arbitration table after switching and transfers the plurality of data.
前記第2のデータ転送は、前記優先すべきデータを発生させる所定デバイスから送信されるメモリリクエストパケットの転送であること、
を特徴とする請求項6又は7に記載の情報処理装置。
The second data transfer is a transfer of a memory request packet transmitted from a predetermined device that generates the data to be prioritized;
The information processing apparatus according to claim 6, wherein:
所定デバイスが接続可能なポートを介して前記ポートのうちのアップストリームポートと第1のダウンストリームポートとの間の第1のデータ転送を実行中に、前記アップストリームポートから前記第1のダウンストリームポートとは異なる第2のダウンストリームポートへの第2のデータ転送を示す検知手順と、
前記トリガーが検知された場合、アービトレーションテーブルを、前記第1のデータ転送時に使用する第1のアービトレーションテーブルから、前記第1のデータ転送および前記第2のデータ転送時に使用する第2のアービトレーションテーブルに切替える切替え手順と、
アービトレーションテーブルが切替えられた場合、切替え後の前記第2のアービトレーションテーブルに従って調停し、前記第1のデータおよび当該第1のデータよりも優先して転送される前記第2のデータからなる複数のデータを転送する転送手順と、
を有すること特徴とするアービトレーション方法。
The first downstream from the upstream port while performing a first data transfer between an upstream port of the ports and a first downstream port through a port to which a predetermined device can be connected A detection procedure indicating a second data transfer to a second downstream port different from the port ;
When the trigger is detected, the arbitration table is changed from the first arbitration table used at the time of the first data transfer to the second arbitration table used at the time of the first data transfer and the second data transfer. A switching procedure for switching,
When the arbitration table is switched, a plurality of data consisting of the first data and the second data transferred with priority over the first data are arbitrated according to the second arbitration table after switching. Transfer procedure to transfer
An arbitration method characterized by comprising:
前記第1のアービトレーションテーブルは、RR(Round Robin)方式又はWRR(Weighted Round Robin)方式、前記第2のアービトレーションテーブルは、TBWRR(Time Base Weighted Round Robin)方式による設定情報が格納され、
前記切替え手順は、前記第1のデータ転送よりも優先すべき前記第2のデータ転送を示す前記トリガーが検知された場合、前記RR方式又は前記WRR方式の前記第1のアービトレーションテーブルから前記TBWRR方式の前記第2のアービトレーションテーブルへの切替えを行い、
前記転送手順は、切替え後の前記TBWRR方式の前記第2のアービトレーションテーブルに従って調停し前記優先すべき前記第2のデータ転送を優先して転送すること、
を特徴とする請求項9に記載のアービトレーション方法。
The first arbitration table stores setting information according to an RR (Round Robin) method or a WRR (Weighted Round Robin) method, and the second arbitration table stores a TBWRR (Time Base Weighted Round Robin) method.
In the switching procedure, when the trigger indicating the second data transfer to be prioritized over the first data transfer is detected, the TBWRR method is used from the first arbitration table of the RR method or the WRR method. To the second arbitration table,
In the transfer procedure, arbitration is performed according to the second arbitration table of the TBWRR method after switching, and the second data transfer to be prioritized is transferred with priority.
The arbitration method according to claim 9.
複数の画像形成装置と、
前記複数の画像形成装置に接続されたスイッチとを具備し、
前記スイッチは、
所定デバイスが接続可能なポートを介して前記複数の画像形成装置から前記ポートのうちのアップストリームポートと第1のダウンストリームポートとの間の第1のデータ転送を実行中に、前記複数のデータ通信装置から前記アップストリームポートから前記第1のダウンストリームポートとは異なる第2のダウンストリームポートへの第2のデータ転送を示すトリガーを検知する検知手段と、
前記トリガーが検知された場合、アービトレーションテーブルを、前記第1のデータ転送時に使用する第1のアービトレーションテーブルから、前記第1のデータ転送および前記第2のデータ転送時に使用する第2のアービトレーションテーブルに切替える手段と、
アービトレーションテーブルが切替えられた場合、切替え後の前記第2のアービトレーションテーブルに従って調停し、前記第1のデータおよび当該第1のデータよりも優先して転送される前記第2のデータからなる複数のデータを転送するアービタと、
を特徴とする画像形成システム。
A plurality of image forming apparatuses;
A switch connected to the plurality of image forming apparatuses,
The switch
The plurality of data during execution of a first data transfer between the upstream port and the first downstream port among the plurality of image forming apparatuses via a port to which a predetermined device can be connected. Detection means for detecting a trigger indicating a second data transfer from a communication device to the second downstream port different from the first downstream port from the upstream port ;
When the trigger is detected, the arbitration table is changed from the first arbitration table used at the time of the first data transfer to the second arbitration table used at the time of the first data transfer and the second data transfer. Means for switching;
When the arbitration table is switched, a plurality of data consisting of the first data and the second data transferred with priority over the first data are arbitrated according to the second arbitration table after switching. Arbiter to transfer the
An image forming system.
前記第1のアービトレーションテーブルは、RR(Round Robin)方式又はWRR(Weighted Round Robin)方式、前記第2のアービトレーションテーブルは、TBWRR(Time Base Weighted Round Robin)方式による設定情報が格納され、
前記切替え手段は、前記第1のデータ転送よりも優先すべき前記第2のデータ転送を示す前記トリガーが検知された場合、前記RR方式又は前記WRR方式のアービトレーションテーブルから前記TBWRR方式のアービトレーションテーブルへの切替えを実行し、
前記アービタは、切替え後の前記TBWRR方式の前記第2のアービトレーションテーブルに従って調停し前記優先すべき前記第2のデータ転送を優先して転送することを特徴とする請求項11に記載の画像形成システム。
The first arbitration table stores setting information according to an RR (Round Robin) method or a WRR (Weighted Round Robin) method, and the second arbitration table stores a TBWRR (Time Base Weighted Round Robin) method.
When the trigger indicating the second data transfer to be prioritized over the first data transfer is detected, the switching means switches from the arbitration table of the RR method or the WRR method to the arbitration table of the TBWRR method. Switch
12. The image forming system according to claim 11, wherein the arbiter arbitrates according to the second arbitration table of the TBWRR system after switching, and transfers the second data transfer to be prioritized and transferred. .
前記第2のデータ転送は、前記画像形成装置の備えるスキャナ又はプロッタへのデータの転送であること、
を特徴とする請求項12に記載の画像形成システム。
The second data transfer is data transfer to a scanner or plotter provided in the image forming apparatus;
The image forming system according to claim 12.
JP2009063579A 2009-03-16 2009-03-16 Switch, information processing apparatus, arbitration method, and image forming system Expired - Fee Related JP5531427B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009063579A JP5531427B2 (en) 2009-03-16 2009-03-16 Switch, information processing apparatus, arbitration method, and image forming system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009063579A JP5531427B2 (en) 2009-03-16 2009-03-16 Switch, information processing apparatus, arbitration method, and image forming system

Publications (2)

Publication Number Publication Date
JP2010218170A JP2010218170A (en) 2010-09-30
JP5531427B2 true JP5531427B2 (en) 2014-06-25

Family

ID=42976961

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009063579A Expired - Fee Related JP5531427B2 (en) 2009-03-16 2009-03-16 Switch, information processing apparatus, arbitration method, and image forming system

Country Status (1)

Country Link
JP (1) JP5531427B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120089759A1 (en) * 2010-10-08 2012-04-12 Qualcomm Incorporated Arbitrating Stream Transactions Based on Information Related to the Stream Transaction(s)
JP6142783B2 (en) * 2013-11-25 2017-06-07 富士通株式会社 Memory controller, information processing apparatus, and memory controller control method
CN110825312B (en) * 2018-08-10 2023-06-23 昆仑芯(北京)科技有限公司 Data processing device, artificial intelligent chip and electronic equipment

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002312309A (en) * 2001-04-09 2002-10-25 Nec Eng Ltd Arbitration circuit and arbitration method
DE10142460A1 (en) * 2001-08-31 2003-03-20 Philips Corp Intellectual Pty Distribution of weights between port control and switching units of a packet switching device
JP4425766B2 (en) * 2003-11-10 2010-03-03 株式会社リコー Image forming system
JP2006155183A (en) * 2004-11-29 2006-06-15 Toshiba Corp Information processor
US7249210B2 (en) * 2005-03-01 2007-07-24 Qualcomm Incorporated Bus access arbitration scheme
JP2007026021A (en) * 2005-07-15 2007-02-01 Nec Electronics Corp Bus control system and bus control method
JP4878185B2 (en) * 2006-03-17 2012-02-15 株式会社リコー Data communication circuit and arbitration method
JP4753184B2 (en) * 2007-05-31 2011-08-24 Necシステムテクノロジー株式会社 Arbitration device and arbitration method

Also Published As

Publication number Publication date
JP2010218170A (en) 2010-09-30

Similar Documents

Publication Publication Date Title
US6967960B1 (en) Method and apparatus for emulating a local data port
JP5966265B2 (en) Data transfer apparatus and image forming system
US10430370B2 (en) Data transfer device, data transfer method, and a non-transitory recording medium
US20080222330A1 (en) Semiconductor integrated circuit and image processing apparatus having the same
JP5145929B2 (en) Semiconductor integrated circuit and image processing apparatus
JP5531427B2 (en) Switch, information processing apparatus, arbitration method, and image forming system
JP2009151752A (en) Bus switch, electronic equipment and data transfer method
JP5760723B2 (en) Image processing apparatus, image processing method, image processing program, and recording medium
JP2008310798A (en) Image processing controller and image forming apparatus
JP4777723B2 (en) Information processing system, program, and data transfer method
JP5718305B2 (en) Image forming apparatus
JP5316131B2 (en) Data transfer system and data transfer method
JP6083243B2 (en) Image forming apparatus
JP5701034B2 (en) Data processing apparatus, data processing apparatus control method, and program
JP7009866B2 (en) Electronic devices, communication processing methods and programs
JP6833491B2 (en) Information processing device
JP2005332316A (en) Data distribution device, data transfer device and image processing device
JP2010033602A (en) Image formation system
JP2006198794A (en) Power consumption control method of printer and printer
JP6089597B2 (en) Image forming apparatus and control method thereof
JP4095216B2 (en) Printer and data communication method in printer
JP5365280B2 (en) Switch device, image forming apparatus, and switch control method
JP4685547B2 (en) Data transfer apparatus and image forming apparatus
JP2007062076A (en) Information processing system, program, and data transferring method
JP2007067634A (en) Information processing system, program, and packet communication system

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: 20130221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130305

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130507

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130806

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131007

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: 20140325

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140407

LAPS Cancellation because of no payment of annual fees