(57)【要約】【課題】適切なタイミングで適切なアービトレーションに切り替えることで、効率の良いデータ転送を実現すること。【解決手段】本発明に係るデータ転送装置は、アービトレーションテーブルの切替えを行うためのトリガーを検知する検知手段と、前記検知手段によって検知されたトリガーに基づいて、前記アービトレーションテーブルの切替えを行う切替え手段と、アービトレーションテーブルが切替えられた場合、切替え後のアービトレーションテーブルに従って調停し複数のデータを転送するアービタとを具備することを特徴とする。【選択図】図７
2010218170.tif 000002
【特許請求の範囲】
【請求項１】
アービトレーションテーブルの切替えを行うためのトリガーを検知する検知手段と、
前記検知手段によって検知されたトリガーに基づいて、前記アービトレーションテーブルの切替えを行う切替え手段と、
アービトレーションテーブルが切替えられた場合、切替え後のアービトレーションテーブルに従って調停し複数のデータを転送するアービタと、
を具備することを特徴とするデータ転送装置。
【請求項２】
前記アービトレーションテーブルは、ＲＲ（Round Robin）方式又はＷＲＲ（Weighted Round Robin）方式、及びＴＢＷＲＲ（Time Base Weighted Round Robin）方式による設定情報が格納されるアービトレーションテーブルであり、
前記切替え手段は、前記トリガーが優先すべきデータの転送に伴って発生するトリガーである場合、当該トリガーに基づき前記ＲＲ方式又は前記ＷＲＲ方式のアービトレーションテーブルから前記ＴＷＲＲ方式のアービトレーションテーブルへの切替えを実行する切替え手段であり、
前記アービタは、前記切替え手段による切替え後の前記ＴＷＲＲ方式のアービトレーションテーブルに従って調停し前記優先すべきデータを優先して転送するアービタであることを特徴とする請求項１に記載のデータ転送装置。
【請求項３】
前記切替え手段は、前記トリガーが優先すべきデータの転送の完了に伴って発生するトリガーである場合、当該トリガーに基づき前記ＴＢＷＲＲ方式のアービトレーションテーブルから前記ＲＲ方式又は前記ＷＲＲ方式のアービトレーションテーブルへの切替えを実行する切替え手段であり、
前記アービタは、前記切替え手段による切替え後の前記ＲＲ方式又は前記ＷＲＲ方式のアービトレーションテーブルに従って調停し前記複数のデータを転送するアービタであることを特徴とする請求項２に記載のデータ転送装置。
【請求項４】
前記トリガーは、前記優先すべきデータを発生させる所定デバイスから送信されるメモリリクエストパケットであること、
を特徴とする請求項２又は３に記載のデータ転送装置。
【請求項５】
前記トリガーは、前記優先すべきデータを発生させる所定デバイスから送信されるメッセージパケットであること、
を特徴とする請求項２又は３に記載のデータ転送装置。
【請求項６】
前記トリガーは、前記アービタが従う前記アービトレーションテーブルを設定するコンフィグレーションリクエストパケットであること、
を特徴とする請求項２又は３に記載のデータ転送装置。
【請求項７】
複数のデータ通信装置と、
前記複数のデータ通信装置に接続されたデータ転送装置とを具備し、
前記データ転送装置は、
前記複数のデータ通信装置から送信された複数のデータを転送する場合に発生するトリガーであり、アービトレーションテーブルの切替えを行うためのトリガーを検知する検知手段と、
前記検知手段によって検知されたトリガーに基づいて、前記アービトレーションテーブルの切替えを行う切替え手段と、
アービトレーションテーブルが切替えられた場合、切替え後のアービトレーションテーブルに従って調停し前記複数のデータを転送するアービタと、
を特徴とする情報処理装置。
【請求項８】
前記アービトレーションテーブルは、ＲＲ（Round Robin）方式又はＷＲＲ（Weighted Round Robin）方式、及びＴＢＷＲＲ（Time Base Weighted Round Robin）方式による設定情報が格納されるアービトレーションテーブルであり、
前記切替え手段は、前記トリガーが優先すべきデータの転送に伴って発生するトリガーである場合、当該トリガーに基づき前記ＲＲ方式又は前記ＷＲＲ方式のアービトレーションテーブルから前記ＴＢＷＲＲ方式のアービトレーションテーブルへの切替えを実行する切替え手段であり、
前記アービタは、前記切替え手段による切替え後の前記ＴＢＷＲＲ方式のアービトレーションテーブルに従って調停し前記優先すべきデータを優先して転送するアービタであることを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記切替え手段は、前記トリガーが優先すべきデータの転送の完了に伴って発生するトリガーである場合、当該トリガーに基づき前記ＴＢＷＲＲ方式のアービトレーションテーブルから前記ＲＲ方式又は前記ＷＲＲ方式のアービトレーションテーブルへの切替えを実行する切替え手段であり、
前記アービタは、前記切替え手段による切替え後の前記ＲＲ方式又は前記ＷＲＲ方式のアービトレーションテーブルに従って調停し前記複数のデータを転送するアービタであることを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記トリガーは、前記優先すべきデータを発生させる所定デバイスから送信されるメモリリクエストパケットであること、
を特徴とする請求項８又は９に記載の情報処理装置。
【請求項１１】
前記トリガーは、前記優先すべきデータを発生させる所定デバイスから送信されるメッセージパケットであること、
を特徴とする請求項８又は９に記載の情報処理装置。
【請求項１２】
前記トリガーは、前記アービタが従う前記アービトレーションテーブルを設定するコンフィグレーションリクエストパケットであること、
を特徴とする請求項８又は９に記載の情報処理装置。
【請求項１３】
アービトレーションテーブルの切替えを行うためのトリガーを検知する検知手順と、
前記検知手順によって検知されたトリガーに基づいて、前記アービトレーションテーブルの切替えを行う切替え手順と、
アービトレーションテーブルが切替えられたとき、切替え後のアービトレーションテーブルに従って調停し前記複数のデータを転送する転送手順と、
を有すること特徴とするアービトレーション方法。
【請求項１４】
前記アービトレーションテーブルは、ＲＲ（Round Robin）方式又はＷＲＲ（Weighted Round Robin）方式、及びＴＢＷＲＲ（Time Base Weighted Round Robin）方式による設定情報が格納されるアービトレーションテーブルであり、
前記切替え手順は、前記トリガーが優先すべきデータの転送に伴って発生したものであるとき、当該トリガーに基づき前記ＲＲ方式又は前記ＷＲＲ方式のアービトレーションテーブルから前記ＴＷＲＲ方式のアービトレーションテーブルへの切替えを行い、
前記転送手順は、前記切替え手順による切替え後の前記ＴＷＲＲ方式のアービトレーションテーブルに従って調停し前記優先すべきデータを優先して転送すること、
を特徴とする請求項１３に記載のアービトレーション方法。
【請求項１５】
複数の画像形成装置と、
前記複数の画像形成装置に接続されたデータ転送装置とを具備し、
前記データ転送装置は、
前記複数の画像形成装置から送信された複数のデータを転送する場合に発生するトリガーであり、アービトレーションテーブルの切替えを行うためのトリガーを検知する検知手段と、
前記検知手段によって検知されたトリガーに基づいて、前記アービトレーションテーブルの切替えを行う切替え手段と、
アービトレーションテーブルが切替えられた場合、切替え後のアービトレーションテーブルに従って調停し前記複数のデータを転送するアービタと、
を特徴とする画像形成システム。
【請求項１６】
前記アービトレーションテーブルは、ＲＲ（Round Robin）方式又はＷＲＲ（Weighted Round Robin）方式、及びＴＢＷＲＲ（Time Base Weighted Round Robin）方式による設定情報が格納されるアービトレーションテーブルであり、
前記切替え手段は、前記トリガーが優先すべきデータの転送に伴って発生するトリガーである場合、当該トリガーに基づき前記ＲＲ方式又は前記ＷＲＲ方式のアービトレーションテーブルから前記ＴＢＷＲＲ方式のアービトレーションテーブルへの切替えを実行する切替え手段であり、
前記アービタは、前記切替え手段による切替え後の前記ＴＢＷＲＲ方式のアービトレーションテーブルに従って調停し前記優先すべきデータを優先して転送するアービタであることを特徴とする請求項１５に記載の画像形成システム。
【請求項１７】
前記優先すべきデータは、前記画像形成装置の備えるスキャナ又はプロッタへのデータであること、
を特徴とする請求項１６に記載の画像形成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ転送装置、情報処理装置、アービトレーション方法及び画像形成システムの分野に関する。
【背景技術】
【０００２】
近年、伝送速度が数Gbpsを超え、Ethernet（登録商標）よりも格段に高速なデータ転送が可能な高速シリアル伝送路が実用化されてきており、従来のコンピュータネットワークに近い通信方式をとったローカルI/O（In/Out）の標準規格が普及しつつある。このため、コンピュータネットワークと同様の、シリアル伝送路とスイッチを用いたパケットデータ通信によって、LSI（Large Scale Integration）チップ内、チップ間、ボード間のデータ通信網が、組込み用途の電子機器にも利用されるようになった。
【０００３】
具体的に、PC（Personal Computer）システムをはじめとしてMFP(Multi Function Printer)などの組込みシステムでも、機器内の大量データ転送のためにPCI Express(登録商標：以下PCIeという場合がある)が用いられるようになってきている。高速シリアル通信規格であるPCIeのメリットとしては、帯域を広げるためにはレーン数を増やすだけでよく、従来のパラレル通信規格によるPCIよりも帯域の増減が柔軟である。また、実装LSIの端子数を減らせる、実装ボード上の配線数を減らせるなどのメリットがある。PC向けに量産されているので、実装部品の価格が比較的安価であることもそのメリットの一つである。
【０００４】
一つのPCIeシステムにPCIeデバイスを複数接続するためには、複数のPCIeポートをシステムに実装する必要があるが、通常PCIeポートはLSIとして実装されるため、LSI開発完了後にPCI Expressポートを増やすためには、LSIの再開発か、PCI Express Switch(以下PCIe SW又は単にスイッチという場合がある)を使用する。PCIe SWを採用すると、LSIを再開発する必要はなくなり再開発にかかるコスト（開発費や開発時間）を抑えることができる点でメリットがある。前述のMFPおいても、コントローラとスキャナ間、コントローラとプロッタ間の接続にPCIe SWを利用すれば、コントローラLSI変更をせずに、１台のコントローラで複数のデバイスを接続することができる。また例えば複数のプロッタ出力等のさらなる拡張も容易である。
【０００５】
ところで、複数のデバイス（データ通信装置）が共通の通信経路を経由して接続され互いにデータ通信を行うデータ通信システムにおいては、異なる種類のトラフィックが同一の通信経路を使用してデータ転送を行うと競合が発生し、トラフィックごとに要求される通信品質(データ転送レートや連続性)が得られなくなるという問題がある。そのため、通信経路（バスなど）に複数のデバイスが存在する場合、何らかの方法でそれぞれのデバイスにその使用権をうまく割り当てていかなければならない。単純に、一番早く到達した通信の順に使用権を割り当てることができるが（早いもの勝ち方式）、デバイスやアプリケーションによっては、品質等の問題から、ある通信は何よりも優先させたい場合がある。
【０００６】
現在のPCIe規格においては、このような問題に対して、RR（Round Robin）方式、WRR（Weighted Round Robin）方式、TBWRR（Time Base Weighted Round Robin）方式などのPCIe SWのアービトレーション機能（調停機能）が提供されている。これら機能を用いれば、PCIeの帯域に対して、比較的余裕のある場合の転送（例えば帯域利用率３０％〜７０％程度）であれば、各ポートに対してアービトレーション機能（ポートアービトレーション機能）が有効に機能し、ポートに適切なサービスが与えられる。図１は、通信経路の競合を摸式的に示す図の一例である。デバイス０に対する通信が競合したとき、PCIe SWにおいて、デバイス２からのデータ通信に使用権が割り当てられる例が示されている。さらにPCIe SWのアービトレーション機能に関して、少し詳細に触れていく。
【０００７】
（１）RR（Round Robin）／WRR（Weighted Round Robin）
RR方式のアービトレーションにおいては、各ポートに対して通信の優先度が順番に回ってきて、通信の競合が起こった場合には最も優先度の高いポートが通信を行うことができる。通信を実施したポートは優先度が最も低くなり、他のポートが通信していなければ通信できるが、他のポートが通信している間は、自分のポートの優先度が高くなるまで通信を行うことはできない。RR方式を用いると、各ポートは順番に優先度が割り当てられて、通常の通信状態（例えば帯域利用率３０％〜７０％程度）であれば、各ポートに対して凡そ平等な通信機会の割り当てを行うことができる。
【０００８】
WRR(Weighted Round Robin) 方式のアービトレーションにおいては、基本的にその動作はRR方式と同じであるが、ポート毎に重み付けができる点で特徴がある。例えば、ポート１：ポート２に２：１の重みを設定し、ポート１の優先度が高くなった場合には、ポート１が２つの通信を優先的に行うことができ、２つの通信が終わった段階で、ポート１の優先度が下がり、ポート２の優先度が上がる仕組みである。これによって優先的に通信させたいデバイスに対し、多くの通信機会の割り当てを行うことができる。
【０００９】
（２）TBWRR（Time Base Weighted Round Robin）方式
TBWRR方式のアービトレーションにおいては、通信時間に対して各ポートの通信割り当て時間が予め決められており、複数ポートからのデータが存在しても必ず割り当ての帯域が確保される。つまり、１つの通信割り当て時間（タイムスロット：PCI Express規格値100ns）には、タイムスロットごとに通信が可能なポートが決められている。例えば、ポート１(P1)とポート２(P2)が１対２の割合で通信する場合には、アービトレーションテーブルを次のように設定する。
P1/P2/P2/P1/P2/P2/P1/P2/P2
上記テーブルでは、タイムスロットごとに通信可能なポートが切り替わり、該当ポート以外の通信を許さない。このため、各ポートはリクエストを発行すれば、順番が回ってきたタイムスロットで必ず通信を行うことができる。
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、PCIe SWにおいて、上記RR、WRR、及びTBWRR方式のようなアービトレーション機能を利用しても、問題が発生する場合ある。例えば、前述のRR又はWRR方式のアービトレーションは、競合が起こった場合に調停を行うので、各デバイス間でリクエスト発行能力に差がある場合には、リクエスト発行能力の高いデバイスが次々と通信を行ってしまい、意図した帯域の配分ができなくなるという問題がある。以下、具体的に説明を行う。
【００１１】
図２は、RR/WRR方式のアービトレーションを説明する図の一例である。図に示されるように、ポート１からポート０に対して通信（リードアクセス：Memory Read Request）を行い、ポート２からポート０に対して通信が発生していない場合、ポート０において何ら通信の競合（及び調停）は発生せず、そのレスポンス含めて帯域一杯に通信を行うことができる。
【００１２】
図３は、RR/WRR方式のアービトレーションを説明する図の一例である。前提条件として、ポート１とポート２の帯域設定は２：１である。図に示されるように、ポート１からポート０に対して通信（リードアクセス）を行い、ポート２からポート０に対して通信（リードアクセス）を行う。なお、ポート１、ポート２に接続されるデバイスのリクエスト発行能力は１：１（４：４）と等しい。リードリクエスト１及びリードリクエスト２が同時に発行されると、ポート０においてアービトレーション機能が動作して、リードリクエスト１：リードリクエスト２＝２：１の比率で出力バッファに蓄えられてから、順にポート０（Up stream）から送出される。またこれらリードリクエストに対するレスポンスが、リクエスト発行順に応答される。なお、リードアクセス（要求）は、例えば、ポート０に接続されるメモリに対して何らかのデータ読み込み要求を行うものであるので、そのレスポンス（データ）は比較的大きなデータ容量になっている。そして、各ポートはリードリクエストに対するレスポンスデータが戻ってきたところで次のリードリクエストを発行する。このような場合、リードリクエスト及びレスポンスともに設定通りの２：１でアービトレーション（調停）が行われ、先の帯域設定どおりの動作を実現している。
【００１３】
図４は、RR/WRR方式のアービトレーションの問題点を説明する図の一例である。前提条件として、ポート１とポート２の帯域設定は２：１である。図に示されるように、ポート１からポート０に対して通信（リードアクセス）を行い、ポート２からポート０に対して通信（リードアクセス）を行う。なお、ポート１、ポート２に接続されるデバイスのリクエスト発行能力は１：２（４：８）と異なり、ポート２に接続されるデバイスのリクエスト発行能力が高い。各ポートはリードリクエストに対するレスポンスデータが戻ってきたところで次のリードリクエストを発行する。ここでPCIeターゲットデバイスの標準的な実装では、NPH(Non-Posted-Header)バッファを使い切った状態ではレスポンスデータが帰ってくるまで次のリクエストを発行できないので、この間に他のPCIeターゲットデバイスはリクエストを発行可能である。リードリクエスト１及びリードリクエスト２が同時に発行されると、ポート０においてアービトレーション機能が動作して、リードリクエスト１：リードリクエスト２＝１：２の比率で出力バッファに蓄えられてから、順にポート０（Up stream）から送出される。またこれらリードリクエストに対するレスポンスが、リクエスト発行順に応答される。なお、RR/WRR方式のアービトレーション機能が動作するのは同時に通信が到達（競合）した場合であり、競合しない場合は、到達した通信から転送される。図に示されるように、デバイス間にリクエスト発行能力に差異がある場合、ポート２に接続されるデバイスからの通信が次々とリードリクエスト２を発行してしまう。またリードリクエスト自体はデータ量が少ないがそのレスポンスのデータ量は大きく、レスポンス２によってポート０におけるDown streamが詰まってしまうため、優先すべきポート１からのレスポンス１が戻ってくるまでには遅延が生じてしまう。勿論、この遅延はリードリクエストの場合に限られず、メモリへの書き込み要求であるライトアクセス（Memory Write Request）の場合も同様に遅延が生じうる。なお、PCIe SWのポートアービトレーションはポート内部から外部方向への通信（リクエスト）競合を調停するものであり、ポート外部から内部方向への通信（リクエスト又はレスポンス）の調停を行うものではない。
【００１４】
また、前述のTBWRR方式のアービトレーションでは、タイムスロットごとに通信が可能なポートが決められているので、各ポートはリクエストを発行すれば、順番が回ってきたタイムスロットで必ず通信を行うことができる。よって、アービトレーションテーブルにおいて、優先したい通信（ポート）に対して、その割当て時間を大きくなるよう設定すればよい。但し、その反面、自ポートのタイムスロットにそのポートが通信しなかった場合はその順番においては何ら通信が発生しないことになり、他のポートがそのとき通信を待っている場合、そのタイムスロットが無駄になるという問題がある。具体的に、ポート１の順番のときにポート１は通信するデータがなく、ポート２には通信するデータがある場合、ポート２はポート１のタイムスロットにおいては通信を行うことはできない。ポート２は、ポート２のタイムスロットがくるまで通信を待たされることになるので、この間は帯域の無駄が発生する。その間は無通信（アイドル）状態になってしまうからである。前述の例では、ポート１とポート２が２：１のタイムスロット比率でアービトレーションテーブルが設定されているので、ポート１の通信が全くない場合であっても、ポート２の最大通信帯域は、全体の３分の１しか確保することができない。
【００１５】
以上このように、上記RR/WRR方式のアービトレーション機能を利用すると、TBWRR方式と異なり、比較的通信が空いている場合は、いつでもポートは通信を行うことができるが、競合が発生した場合、優先されるべきデバイスであってもレスポンスの遅延が発生してしまう場合がある。つまり、デバイスのリクエスト発行能力やトラフィックデータの種類によっては、ポートアービトレーションの設定と実際のトラフィックのプライオリティとがうまく整合しないケースがあるのである。また、TBWRR方式のアービトレーション機能を利用すると、優先されるデバイスには多くのタイムスロットが割り当てられているので、順番が回ってきたタイムスロットで遅延なく通信を行うことができるが、通信が空いている場合でもタイムスロットが割り当てられるまで他のポートは通信を行えず、上述したようなタイムスロットの無駄が生じてしまう。つまり、いずれのアービトレーション方式においても一長一短があり万能ではない。
【００１６】
ところで、上記RR、WRR方式のアービトレーション機能を利用した場合の遅延は、システムによって大きな問題になる場合がある。つまり、以下に説明するような状況においては、アービトレーション機能が意図したとおりに効果を発揮せず、データの等時性が特に問題になるシステムにおいては、データ転送が期待する時間内に完了しないとそのシステムが破綻してしまう場合がある。
【００１７】
例えば、MFP（マルチ・ファンクション・プリンタ）やLP（レーザー・プリンタ）などのシステムにおいては、１ライン描画時間（例えば100usec）内に、メインメモリからプロッタのラインバッファへ、その描画対象のラインデータの転送を完了する必要がある。仮にデータ転送遅れが発生すると、印刷が異常画像となるためシステムとして深刻な問題となってしまう。一例として、１ライン描画時間の試算は次の通りである。
＜条件＞
毎分60枚のA４印刷機
A4紙長手方向は約7300ライン（600dpi時）
印刷時紙搬送の紙間隔はA4紙の２０％程度と仮定
＜計算＞
1ライン辺りの描画時間 = 60[sec]÷(7300[line]x120[%]x60[枚]) = 114[usec]
印刷データCMYK各２ビットなら、
2[bit] x 5200[dot]/1[line] x4[色]= 41600[bit]/1[line]
1ライン内の平均転送レート = 41.6k[bit]/1[line]/114[usec] = 364.90M[bit]/[sec]
つまり、１ライン内平均で364.90Mbps以上の転送速度が必要となり、印刷動作中に1ラインでもこのレートを下回ると、異常画像が発生する。最終的に画像が紙媒体に印刷されるため、コンピュータネットワーク通信における動画や音声のストリーミングのようにデータの欠落や圧縮による品質劣化は一切許されないという非常に厳しい制約がある。これは、データ転送の同期制約がメカ駆動条件によって決まるためであり、特に電子写真プロセスを用いたプロッタでは、重量の大きい感光体ドラムや紙搬送メカを高速で駆動するため、データ転送途中で駆動速度を変更することができない。このためメカの駆動速度に同期したタイミングでデータ転送量を制御する必要があるのである。
【００１８】
従来、PCI Express SWを用いた画像処理装置では、通信の競合が起こった際にポート毎の帯域割り当てをうまく行うことができず、例えば、実装レーン数がx4で十分である所、x8またはx16など、過剰な帯域のポートを実装したPCI Express SWを実装する必要があった。また若しくは、帯域の競合を避けるためPCI Express SWをプリンタ系、スキャナ系、演算処理系などで分ける必要があった。しかし、これら解決策では実装部品コストが上がり、実装面積も増大するという問題があった。
【００１９】
特許文献１に記載される発明は、このような課題を解決するためにユーザがアプリケーションに合わせてアービトレーションテーブルを選択するシステムを提供する。このシステムは、アービトレーション方法をユーザによる選択、もしくはソフトウェア（BIOS）により選択する方法である。しかしながら、ユーザによるマニュアル操作やソフトウェア操作では、短い時間内でアービトレーション方式を切り替えることはできない。
【００２０】
例えば、画像形成装置（MFP）の内部バスでは、コピー動作時にはスキャナ部からデータを読み込みながらプリンタ部からデータを出力することになるが、コピー動作中のプリンタ部の１ラインデータ転送に100usec以下の時間が要求される。しかし、プリンタ部へのラインデータ転送とスキャナ部からのデータの転送とが同時に発生すると、複数デバイスから短時間で大量データ転送が起こり、PCIe SW内部で競合が発生する。ラインデータを規定時間内に転送完了するためには、100us以下程度の時間内でPCIeの帯域を有効に使うために、1us以下程度の短い時間でアービトレーションの切り替えが必要になるからである。
【００２１】
そこで本発明では上記のような問題に鑑み、適切なタイミングで適切なアービトレーションに切り替えることで、効率の良いデータ転送を実現するデータ転送装置、情報処理装置、アービトレーション方法及び画像形成システムを提供することを目的とする。
【課題を解決するための手段】
【００２２】
そこで上記課題を解決するため、本発明に係るデータ転送装置は、アービトレーションテーブルの切替えを行うためのトリガーを検知する検知手段と、前記検知手段によって検知されたトリガーに基づいて、前記アービトレーションテーブルの切替えを行う切替え手段と、アービトレーションテーブルが切替えられた場合、切替え後のアービトレーションテーブルに従って調停し複数のデータを転送するアービタとを具備することを特徴とする。
【００２３】
なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、などに適用したものも本発明の態様として有効である。
【発明の効果】
【００２４】
本発明によれば、適切なタイミングで適切なアービトレーションに切り替えることで、効率の良いデータ転送を実現するデータ転送装置、情報処理装置、アービトレーション方法及び画像形成システムを提供することができる。
【図面の簡単な説明】
【００２５】
【図１】通信経路の競合の一例を摸式的に示す図である。
【図２】RR/WRR方式のアービトレーションの一例を説明する図である。
【図３】RR/WRR方式のアービトレーションの一例を説明する図である。
【図４】RR/WRR方式のアービトレーションの問題点の一例を説明する図である。
【図５】PCI Expressシステムの一般構成例を示す図である。
【図６】本実施形態におけるPCI Expressシステムの構成例を示す図である。
【図７】スイッチ１１０の構成例を示す図である。
【図８】本実施形態に係るスイッチ１１０の主要な機能構成を示す機能ブロック図の一例を示す図である。
【図９】優先させるデータがあるときのポート０におけるデータ転送の様子の一例を示す図である。
【図１０】TBWRR方式のポートアービトレーションの一例を説明する図である。
【図１１】スイッチ１１０の動作の一例を説明するフローチャートである。
【図１２】メモリリクエストを検知してテーブル切替えの一例を説明する図である。
【図１３】ヘッダー内のベンダ定義領域の一例を説明する図である。
【図１４】メッセージパケットを検知してテーブル切替えの一例を説明する図である。
【図１５】コンフィグレーションリクエストの検知に基づくテーブル切替えの一例を説明する図である。
【発明を実施するための形態】
【００２６】
本発明を実施するための形態を各実施形態において図面を用いて説明する。以下、PCIe によるデータ転送システムを例として本発明の説明を行う。
【００２７】
[実施形態]
（システムの構成）
図５は、PCI Expressシステムの一般構成を示す図の一例である。ＣＰＵ１１０やメモリ１１１が接続されたルートコンプレックス１１２に対して、PCIeグラフィックス１１３がPCIe１１４ａにより接続され、また、エンドポイント１１５ａやレガシーエンドポイント１１６ａがPCIe１１４ｂにより接続されたスイッチ（PCI Express Switch）１１７ａがPCIe１１４ｃにより接続され、さらには、エンドポイント１１５ｂやレガシーエンドポイント１１６ｂがPCIe１１４ｄにより接続されたスイッチ１１７ｂやPCIバススロット１１８が接続されたPCIブリッジ１１９がPCIe１１４ｅにより接続されたスイッチ１１７ｃがPCIe１１４ｆにより接続されたツリー構造（木構造）とされている。
【００２８】
図６は、本実施形態におけるPCI Expressシステムの構成を示す図の一例である。図示例は、組込みシステムへ適用する一例として、画像形成装置（MFP）へのPCI Express適用例を示す。本実施形態に係る画像形成装置１は、図中、メインメモリ１０１、コントローラ１０２、ネットワークインターフェース１０３、プロッタエンジン１０４、プロッタ１０５、及びスイッチ（図５のスイッチ１１７に相当）１１０を含み構成される。
【００２９】
メインメモリ１０１は、ＡＳＩＣ（Application Specific Integrated Circuit）に搭載され、印刷データ（ビットマップイメージ）を記憶する画像メモリである。コントローラ１０２は、画像形成装置全体を制御するコントローラであり、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、及びＣＰＵを有する。ＲＯＭは、画像形成装置１が起動されるときに実行されるプログラムや各種データを格納している。また、ＲＡＭは、ＲＯＭやＨＤＤ（非図示）から読み出された各種プログラムやデータを一時保持する。更に、ＣＰＵは、ＲＡＭが一時保持しているプログラムを実行する。コントローラは、例えば、ネットワークインターフェース１０３を介して印刷データを受信した場合に、ＰＤＬ（Page Description Language）を解釈可能なプログラム（ＰＤＬパーサ）をＣＰＵにより実行し、印刷データを解釈してビットマップイメージを生成する。
【００３０】
ネットワークインターフェース１０３は、画像形成装置１をネットワークなどのデータ伝送路に接続するインタフェースである。プロッタエンジン１０４及びプロッタ１０５は、例えば、電子写真プロセス方式によってメインメモリ１０１のビットマップイメージを紙媒体（印刷用紙）に印刷する。
【００３１】
スイッチ１１０は、上述したようにPCI Expressデバイスを相互に接続するPCI Express Switch（データ転送装置）である。図に示されるスイッチ１１０はポート０〜３を備え、データ転送の高速化を図るべくコントローラ１０２、ネットワークインターフェース１０３及びプロッタエンジン１０４を高速シリアルバスであるPCI Expressにより相互に接続している。なお、上流（非図示のルートコンプレックスに近い方）側のポートはアップストリームポートと、下流側（非図示のルートコンプレックスから遠い方）のポートはダウンストリームポートと称される。
【００３２】
また他にも、非図示であるが、画像形成装置１は、ハードウェアキーやタッチパネル等で構成される入力装置やディスプレイ等で構成される表示装置を含む操作パネル、読み取り面に配置された原稿を光学的に読み取り画像データを生成するスキャナ（スキャナエンジン）、ファクシミリなどを備えており、コピー、プリンタ、ファクシミリ、スキャナなどの複数の機能を実現している。
【００３３】
図７は、スイッチ１１０の構成図の一例を示す。図７（ａ）はスイッチ１１０の全体構成を示す図であり、図７（ｂ）はスイッチ１１０の各ポートの詳細を示す図である。スイッチ１１０は、複数のポートを備え、PCI Expressによりデバイスを接続し、デバイスから転送されてきたパケット（データ）を転送する転送手段（受信手段及び送信手段を含む）を有している。
【００３４】
スイッチ１１０は、図に示されるように構成として、PCIeコア１１１、ルーティング回路１１２、アービタ回路１１３、テーブル切替え回路１１４、及びテーブルメモリ１１５を含む。PCIeコア１１１は、PCI Expressのアーキテクチャの中心となるTransaction Layer（トランザクション層）、Datalink Layer（データリンク層）、Physical Layer（物理層）の３層構造を有し、PCI Expressによるデータ通信を担うPCIe通信部である。ルーティング回路１１２は、ポートで受信したパケット（データ）を他の適切な送信ポートに転送する。アービタ回路１１３は、ルーティング回路１１２からのパケットを受け、データの競合時、テーブルメモリ１１５内のポートアービトレーションテーブルを参照してどのポートからのパケットを送信するかを調停（決定）する。なお詳細は後述するが、本発明に係るアービタ回路１１３は複数のポートアービトレーション方式に対応する。テーブル切替え回路１１４は、PCIeコア１１１のTransaction Layerからパケットの情報を取得して、ポートアービトレーション方式及びポートアービトレーションテーブルを変更する。テーブルメモリ１１５は、ポート毎に、複数のポートアービトレーションテーブルを有しており、テーブル切替え回路１１４により、現在有効なポートアービトレーションテーブルが決定される。図中、ポートアービトレーションテーブル１１５ａが現在有効なテーブルとなっており、アービタ回路１１３は、このポートアービトレーションテーブル１１５ａを参照してパケットの調停を行う。
【００３５】
（機能）
図８は、本実施形態に係るスイッチ１１０の主要な機能構成を示す機能ブロック図である。スイッチ１１０は、転送部８０１、アービトレーション部８０２、トリガー検知部８０３、テーブル切替え部８０４、及びテーブルメモリ１１５を含む構成である。詳細に関しては後述するので、ここでは簡単に説明する。
【００３６】
転送部８０１は、PCIeデバイスから転送されてきたパケット（データ）を転送する機能を有している。転送部８０１は、例えば、前述の複数のポートや、PCIeコア１１１及びルーティング回路１１２に相当する。
【００３７】
アービトレーション部８０２は、テーブルメモリ１１５内の有効なポートアービトレーションテーブルを参照してパケットの調停を行う。またRR方式、WRR方式、TBWRR方式など複数のアービトレーション方式に対応しており、有効なポートアービトレーションテーブルに応じてそのポートアービトレーション方式も切替える。調停されたパケットは転送部８０１により転送される。アービトレーション部８０２は、例えば、前述のアービタ回路１１３に相当する。
【００３８】
トリガー検知部８０３は、有効なポートアービトレーションテーブルの切替えを行うトリガーを検知する機能を有している。トリガーを検知すると、テーブル切替え部８０４にトリガーを伝達する。トリガー検知部８０３は、例えば、前述のテーブル切替え回路１１４に相当する。
【００３９】
テーブル切替え部８０４は、トリガー検知部８０３からのトリガーを受けて、テーブルメモリ内の有効なポートアービトレーションテーブルの切替えを行う。例えば、ポートアービトレーションテーブル１１５ａからポートアービトレーションテーブル１１５ｂへのテーブル切替えを行う。テーブル切替え部８０４は、例えば、前述のテーブル切替え回路１１４に相当する。
【００４０】
テーブルメモリ１１５は、ポート毎に、複数のポートアービトレーションテーブルを有している。例えば、RR方式、WRR方式、TBWRR方式など複数のアービトレーション方式に対応するポートアービトレーションテーブル１１５を有する。また同一のアービトレーション方式であっても、異なる設定（定義）内容のポートアービトレーションテーブル１１５を有しうる。
【００４１】
（動作）
次いで、本実施形態に係るスイッチ１１０の動作について説明を行う。先の図６のように、コントローラ１０２のPCIeポートにスイッチ１１０を介して、ネットワークインターフェース１０３及びプロッタエンジン１０４が接続されるPCI Expressシステムを用いて説明する。ここで、プロッタエンジン１０４へのプロッタデータ（印刷データ）は、高いデータ転送レートと等時性が要求されるトラフィックであり、ネットワークインターフェース１０３からの印刷データは、等時性の制約が比較的弱いものとする。
【００４２】
本PCI Expressシステムでは、画像形成装置１がネットワークに接続された他のPCから印刷要求を受けたとき、PCからの印刷データは一旦メインメモリ（画像メモリ）１０１に蓄積される。この時点ではプロッタへのデータ転送はないため、ネットワークインターフェース１０３からメインメモリへ１０１の転送がスイッチ１１０のデータ転送帯域を使い切っても問題なく、アービトレーション方式としてはRR又はWRR方式が適している。スイッチ１１０は通常状態では規格で定められた標準的なWRR方式（又はRR方式）で動作しており、ネットワークインターフェース１０３からの転送データを自由に転送することができる。
【００４３】
このとき、ポートアービトレーションテーブル１１５ａには、WRRアルゴリズムの重み情報が格納（定義）されている。WRR方式では、複数の入力ポート（ポート１〜ｘ）から入力されたデータを、入力ポート数よりも少ない数の出力ポート（ポート０）に出力する際に、各入力ポートからのデータ転送に競合が発生した場合、ポート毎に設定された重み情報に基づいて、データ転送量の調停が行われる。
【００４４】
例えば、下記に示すように、
ポート１：１（Weight）
ポート２：１（Weight）
ポートｘ：１（Weight）
というポートアービトレーションテーブル１１５ａがポート０において設定された場合、ポート０の複数のチャネル（ポート１〜ｘ）がともに連続のリクエストを発行していると、ポート１、ポート２、ポートｘ、ポート１、ポート２、ポートｘ・・・といった順に、均等にリクエストが、アービトレーション部８０２より調停される。
【００４５】
また例えば、下記に示すように、
ポート１：１（Weight）
ポート２：２（Weight）
ポートｘ：１（Weight）
というポートアービトレーションテーブル１１５ａがポート０において設定された場合、ポート０の複数のチャネル（ポート１及びポート２）がともに連続のリクエストを発行していると、ポート１、ポート２、ポート２、ポートｘ、ポート１、ポート２、ポート２、ポートｘ・・・といった順に、１：２：１の比率でリクエストが重み付けされて、アービトレーション部８０２より調停される。
【００４６】
このように、PCからの印刷データは一旦メインメモリ１０１に蓄積された時点では、データ転送高いデータ転送レートと等時性が要求されるプロッタ（ポート２に接続）へのデータ転送はないため、ポート１やその他ポートｘでのアービトレーションは、WRR方式（又はRR方式）で動作するようになっている。
【００４７】
次に、PCから１ページ分の印刷データが送られ、レンダリング処理の後、プロッタへデータを転送する段階において、ネットワークインターフェース１０３からの転送よりもプロッタへのデータ転送を優先して処理する必要がある。プロッタへデータ転送は、データ転送高いデータ転送レートと等時性が要求されるからである。この場合、アービトレーション方式としてはTBWRR方式が適している。前述したように、ネットワークインターフェース１０３からのライトアクセス（Memory Write Request）に起因して、プロッタへデータ転送に遅延が引き起こされる可能性があるからである。
【００４８】
図９は、優先させるデータがあるときのポート０におけるデータ転送の様子を示す図の一例である。望ましくは、図９（ｂ）に示されるように、メインメモリ１０１からプロッタエンジン１０４への印刷（プロッタ）データが、間断なく読み出されるように、プロッタエンジン１０４からのメモリリードリクエスト及び読み出し印刷データを含むメモリリードリクエストレスポンスが、優先して処理されるとよい。従って、トリガー検知部８０３は、優先されるべきプロッタへデータ転送をトリガーとして検知し、テーブル切替え部８０４は、トリガーを受けてテーブルメモリ１１５内の有効なポートアービトレーションテーブルの切替えを行う。例えば、ポートアービトレーションテーブル１１５ａからポートアービトレーションテーブル１１５ｂへのテーブル切替えを行う。この場合のポートアービトレーションテーブル１１５ｂは、TBWRRアルゴリズムのタイムスロット情報が格納（定義）されている。
【００４９】
図１０は、TBWRR方式のポートアービトレーションを説明する図の一例である。図１０（ａ）はポート０のポートアービトレーションテーブルの設定例を示し、図１０（ｂ）はポート０におけるデータ転送の様子を示す。TBWRR方式の場合、テーブルの１エントリあたり例えば100ns（ナノ秒）の時間が割り当てられる。図に示されるように、ポートアービトレーションテーブルではポート２対して多くのタイムスロットが割り当てられており、ポート２（プロッタエンジン１０４）からのデータが、ポート１（ネットワークインターフェース１０３）からのデータより優先されて転送されていることがわかる。
【００５０】
図１１は、スイッチ１１０の動作を説明するフローチャートである。上述したスイッチ１１０の動作を確認的に説明する。まずPCIeシステムの起動時若しくはプロッタを使用するアプリケーションプログラムの起動時に初期化されて動作を開始する（Ｓ１１０１）。プロッタがスイッチ１１０のポート２に接続されていること、スイッチ１１０のポート１にはプロッタ以外のデバイスが接続されていることを認識し、スイッチ１１０のポート０に対して、上述のテーブル切替え機能を有効にする。また初期時に有効なポートアービトレーションテーブル１１５が設定される。
【００５１】
トリガー検知部８０３がトリガー（詳細は後述）を検知すると（Ｓ１１０２）、トリガーを解析し（Ｓ１１０３）、テーブル変更に適うトリガーか否かを判定する（Ｓ１１０４）。なお、トリガーに関して詳細は後述する。
【００５２】
トリガーがテーブル変更すべきものである場合、テーブル切替え部８０４は、有効なポートアービトレーションテーブル１１５の切替えを行う。これ以後アービトレーション部８０２は、変更されたポートアービトレーションテーブル（及びアービトレーション方式）に従ってデータの調停を行う。再度トリガーを検知した場合（再びＳ１１０２）、再度のテーブル変更もありうる。例えば、元のWRR方式のポートアービトレーションに戻す場合である。なお、システムシャットダウン等により当該フローチャートを終了（ＥＮＤ）できる。
【００５３】
＜実施例１＞
上述したように、本発明に係るスイッチ１１０においては、トリガー検知部８０３が優先されるべきプロッタへデータ転送をトリガーとして検知すると、テーブル切替え部８０４によりポートアービトレーションテーブル１１５の切替えがなされ、アービトレーション部８０２が変更されたアービトレーション方式に従ってデータの調停を行う。次に、トリガー検知部８０３によるトリガー検知の実施例について説明を行う。
【００５４】
具体的に、本実施例のトリガー検知部８０３は、スイッチ１１０の特定のポートからの「メモリリクエスト」が通過したときに、これをトリガーとして検知する。メモリリクエストは、メモリリードリクエスト及びメモリライトリクエストを含む。つまり、特定のポートとは優先すべきデータ転送を行うデバイス（プロッタエンジン１０４）が接続されたポートであり、特定のポートであるポート２からメモリリクエストパケットが通過したときに、トリガー検知部８０３は、これをトリガーとして検知する。
【００５５】
PCIeシステムの起動時若しくはプロッタを使用するアプリケーションプログラムの起動時に、スイッチ１１０のPCIeの固有情報等を持ったレジスタ群に基づいて、プロッタがスイッチ１１０のポート２に接続されていること、スイッチ１１０のポート１にはプロッタ以外のデバイスが接続されていることを認識する。また、スイッチ１１０のポート０に対して、上述のテーブル切替え機能を有効にして、初期化時に有効（参照）とされるポートアービトレーションテーブルを設定する（初期化動作）。なお、このテーブル切替え機能を使用するか否か、初期化時に有効とされるポートアービトレーションテーブル、どのポートのパケットに対して動作するかなど諸設定を行うためのスイッチ１１０のレジスタ群へは、各ポートのコンフィギュレーションレジスタやスイッチに割り当てられたIO空間を経由して、コントローラ１０２のＣＰＵからアクセスし、コンフィグレーションリクエストにより読み書きを行うことができる。
【００５６】
PCIeシステムが動作を開始してから、プロッタデータの準備できてプロッタがデータ転送を始めると、トリガー検知部８０３はプロッタからのメモリリードリクエスト通過を検出して、テーブル切替え部８０４がポートアービトレーションテーブル１１５の変更によりアービトレーション方式をWRR方式（又はRR方式）からTBWRR方式に変更する。プロッタデータの転送がより優先的に行われる一方で、余った帯域でネットワークインターフェース１０３からのデータ転送も行われる。
【００５７】
なお、プロッタデータの転送が完了したときは、テーブル切替え部８０４はポートアービトレーションテーブル１１５の変更によりアービトレーション方式をTBWRR方式から元のWRR方式（又はRR方式）に変更する。方法としては、トリガー検知部８０３が一定時間プロッタからのリードリクエスト通過を検出しなくなったときに、アービトレーション方式を元に戻すためのトリガーをテーブル切替え部８０４に再伝達する。
【００５８】
図１２は、メモリリクエストを検知してテーブル切替えを説明する図の一例である。図に示されるように、ポート２からのメモリリードリクエストが検知されると、ポートアービトレーションテーブル１１５の変更を行い、これによりアービトレーション方式がWRR方式からTBWRR方式に変更されている。その結果、図１０（ａ）に示されるポートアービトレーションテーブルに従って調停がなされ、プロッタデータの転送がより優先的に行われる。
【００５９】
＜実施例２＞
本実施例のトリガー検知部８０３は、スイッチ１１０の特定のポートからの「メッセージリクエスト」を受信したときに、これをトリガーとして検知する。PCI Express規格では、ベンダ独自のメッセージリクエストパケット(ベンダメッセージ)を定義することができるようになっている。従って、ポートアービトレーションテーブル１１５の変更を行うためのベンダメッセージ(Message Codeとペイロードデータ)を定義しておく。図１３は、ヘッダー内のベンダ定義領域を説明する図の一例である。図に示されるように、Message Codeとペイロードデータを自由に定義することができる。そしてプロッタエンジン１０４において、データ転送を行うときにはまず上述のメッセージリクエストをスイッチ１１０に送信する機能を設けておく。また、データ転送を終えたときにも上述のメッセージリクエストをスイッチ１１０に送信する機能を設けておく。
【００６０】
PCIeシステムが動作を開始してから、プロッタデータの準備できてプロッタがデータ転送を始めるとき、プロッタエンジン１０４は上述のメッセージリクエスト（パケット）をスイッチ１１０に送信する。トリガー検知部８０３はプロッタエンジン１０４からのメッセージリクエストを検出して、テーブル切替え部８０４がポートアービトレーションテーブル１１５の変更によりアービトレーション方式をWRR方式（又はRR方式）からTBWRR方式に変更する。プロッタデータの転送がより優先的に行われる一方で、余った帯域でネットワークインターフェース１０３からのデータ転送も行われる。なお例えば、検知されたメッセージリクエストパケット内のペイロードデータが「１」であれば、１番のポートアービトレーションテーブル（TBWRR方式）に切替え、「０」であれば、初期化時のポートアービトレーションテーブル（WRR方式）に切替えるようにすることができる。
【００６１】
また、プロッタデータの転送が完了したときは、プロッタエンジン１０４は上述の、例えばメッセージリクエストパケット内のペイロードデータが「０」であるメッセージリクエストをスイッチ１１０に送信する。トリガー検知部８０３はプロッタエンジン１０４からのメッセージリクエストを検出して、テーブル切替え部８０４はポートアービトレーションテーブル１１５の変更により、初期化時のポートアービトレーションテーブルに切替えるようにすることができる。具体的には、アービトレーション方式をTBWRR方式から元のWRR方式（又はRR方式）に変更する。
【００６２】
図１４は、メッセージパケットを検知してテーブル切替えを説明する図の一例である。図に示されるように、ポート２からのメッセージリクエストが検知されると、ポートアービトレーションテーブル１１５の変更を行い、これによりアービトレーション方式がWRR方式からTBWRR方式に変更されている。その結果、図１０（ａ）に示されるポートアービトレーションテーブルに従って調停がなされ、プロッタデータの転送がより優先的に行わる。
【００６３】
＜実施例３＞
本実施例のトリガー検知部８０３は、コントローラ１０２のＣＰＵからの「コンフィグレーションリクエスト」を受信したときに、これをトリガーとして検知する。より詳細には、プロッタデータが準備できた後、コントローラ１０２のＣＰＵは、プロッタのデータ転送を始める前（指示する前）に、コンフィグレーションリクエストを発行して、スイッチ１１０のポート０のポートアービトレーション変更用のレジスタを書き換える。また同様に、プロッタデータの転送が完了したときにも、コンフィグレーションリクエストを発行して、スイッチ１１０のポート０のポートアービトレーション変更用のレジスタを書き換える。
【００６４】
上述したように、PCIeシステムの起動時等において、スイッチ１１０のPCIeの固有情報等を持ったレジスタ群に基づいて、初期化時に有効（参照）とされるポートアービトレーションテーブルを設定する（初期化動作）。従って、コントローラ１０２のＣＰＵは、プロッタのデータ転送を始める前（指示する前）に、コンフィグレーションリクエストを発行して、レジスタを書き換えることで、有効（参照）とされるポートアービトレーションテーブルを変更（設定）する。トリガー検知部８０３はコンフィグレーションリクエストをトリガーとして検知すると、テーブル切替え部８０４がポートアービトレーションテーブル１１５の変更を行い、これによりアービトレーション方式をWRR方式（又はRR方式）からTBWRR方式に変更する。なおこの場合、テーブル切替え部８０４は、レジスタの書換えによってテーブルを切替えるものとする。
【００６５】
勿論、実際にはレジスタが書き換えられているので、書換え後のポートアービトレーションテーブルが、あたかも初期化時に有効とされるポートアービトレーションテーブルの如く、アービトレーション部８０２は、書換え後ポートアービトレーションテーブル（及びアービトレーション方式）に従ってデータの調停を行う。
【００６６】
図１５は、コンフィグレーションリクエストを検知してテーブル切替えを説明する図の一例である。図に示されるように、コントローラ１０２のＣＰＵからのコンフィグレーションリクエストが検知されると、ポートアービトレーションテーブル１１５の変更を行い、これによりアービトレーション方式がWRR方式からTBWRR方式に変更されている。その結果、図１０（ａ）に示されるポートアービトレーションテーブルに従って調停がなされ、プロッタデータの転送がより優先的に行わる。
【００６７】
[総括]
以上本発明に係るPCI Express Switchは、１のアップストリームポートにおいて複数のダウンストリームポートからのデータにより競合が起こりうる場合、優先すべきデータ転送を行うデバイス（例えばプロッタ）が接続された特定のポートから優先すべきデータ転送がなされるとき、アップストリームポートにおけるポートアービトレーション方式を変更し、優先すべきデータ転送を優先的に調停しその転送を行う。より詳細には、アップストリームポートにおけるポートアービトレーション方式（及び参照されるポートアービトレーションテーブル）をTBWRR方式に変更することで、確実に優先すべきデータに帯域を割り当てて優先すべきデータを優先的に転送する。その一方、優先すべきデータ転送がなされないときは、その他のポートが帯域を有効に利用できるように、アップストリームポートにおけるポートアービトレーション方式をRR/WRR方式に変更する。また、ポートアービトレーション方式の変更は、所定のトリガーによって行うので短時間でのその変更（切替え）が可能である。従って、高いデータ転送レートと等時性が要求されるトラフィックの転送に効果的である。
【００６８】
即ち本発明によれば、適切なタイミングで適切なアービトレーションに切り替えることで、効率の良いデータ転送を実現するデータ転送装置、情報処理装置、アービトレーション方法及び画像形成システムを提供することが可能となる。
【００６９】
なお、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００７０】
例えば、本発明を画像形成システムに適用することができる。上述の実施形態においては、組込みシステムへ本発明に係るPCI Expressシステムを適用する一例として、画像形成装置（MFP）を一例として取り上げたが、これを画像形成システムに適用できる。具体的には、PCI Express Switchは、PCI Expressより容易に複数のPCI Expressデバイスを接続（拡張）することができる。従って、従来イーサネット（登録商標）等を利用して接続していた所これに代えて、複数の画像形成装置をPCI Express Switchを介して相互に接続する。これにより高速シリアルバスの利点を享受しつつ、PCI Express Switchは上述したような動作を行うので、画像形成装置間において優先すべきデータをより優先して転送することができる。メインメモリ（画像メモリ）と、スキャナ又はプロッタ間のデータ転送など、特に高いデータ転送レートと等時性が要求されるトラフィックの転送に効果的である。なお、画像形成装置は、スキャナ、プリンタ等を含み、自由な組合せや構成でシステムを構築できる。
【符号の説明】
【００７１】
１            画像形成装置
１０１        メインメモリ
１０２        コントローラ
１０３        ネットワークインターフェース
１０４        プロッタエンジン
１０５        プロッタ
１１０        スイッチ
１１１        PCIeコア
１１２        ルーティング回路
１１３        アービタ回路
１１４        テーブル切替え回路１１４
１１５        テーブルメモリ１１５
８０１        転送部
８０２        アービトレーション部
８０３        トリガー検知部
８０４        テーブル切替え部
【先行技術文献】
【特許文献】
【００７２】
【特許文献１】特開２００６−１５５１８３号公報
【図１】
2010218170.tif 000003
【図２】
2010218170.tif 000004
【図３】
2010218170.tif 000005
【図４】
2010218170.tif 000006
【図５】
2010218170.tif 000007
【図６】
2010218170.tif 000008
【図７】
2010218170.tif 000009
【図８】
2010218170.tif 000010
【図９】
2010218170.tif 000011
【図１０】
2010218170.tif 000012
【図１１】
2010218170.tif 000013
【図１２】
2010218170.tif 000014
【図１３】
2010218170.tif 000015
【図１４】
2010218170.tif 000016
【図１５】
2010218170.tif 000017