(57)【要約】 【課題】本発明は、データ転送周期を厳守する必要のあるデータのリクエストを適切に発行しつつ、その他のデータのリクエストも定期的に発行するに関する。【解決手段】複合装置１は、ＰＣＩｅ２６を経由させて、データ転送周期内でのデータ転送の完了に拘束される周期データと非拘束の非周期データを転送する際に、該周期データと該周期データの転送リクエスト及び該非周期データと該非周期データの転送リクエストをＡＳＩＣ２４側のＰＣＩｅエンドポイントモジュールに蓄積し、該データ転送周期内における該周期データのデータ転送の転送余裕度を求めて、該転送余裕度に基づいて、該周期データの転送リクエストと該非周期データの転送リクエストの発行を制御して、データ転送周期内に該周期データのデータ転送を完了するするとともに、非周期データの転送を行う。【選択図】          図１
2015095177.tif 000002
【特許請求の範囲】
【請求項１】
デバイス間でスプリットトランザクションの伝送路を経由させてデータ転送を行うとともに、該データ転送において、データ転送周期内でのデータ転送の完了に拘束される周期データと、データ転送周期内でのデータ転送完了に非拘束の非周期データと、を転送するデータ転送装置であって、
前記周期データと該周期データの転送リクエスト及び前記非周期データと該非周期データの転送リクエストを蓄積する蓄積手段と、
前記データ転送周期内における前記周期データのデータ転送の転送余裕度を求める余裕度取得手段と、
前記蓄積手段に蓄積されている前記周期データの前記転送余裕度に基づいて、該周期データの転送リクエストを前記データ転送周期内に該周期データのデータ転送を完了する状態で発行するとともに、該蓄積手段に蓄積されている前記非周期データの転送リクエストの発行を制御するリクエスト制御手段と、
前記転送リクエストに基づいて、前記周期データと前記非周期データの転送を行う転送手段と、
を備えていることを特徴とするデータ転送装置。
【請求項２】
前記伝送路は、
ＰＣＩーExpressであることを特徴とする請求項１記載のデータ転送装置。
【請求項３】
前記伝送路は、
前記周期データ及び前記非周期データを蓄積する記憶デバイスへの該データの書き込みと該データの読み出しを制御する制御デバイスと、該制御デバイスに対して、該周期データの該記憶デバイスへの書き込みと読み出しのリクエストと該リクエストに伴うデータ転送を行うとともに、該非周期データの該記憶デバイスからの読み出しのリクエストと該リクエストに伴うデータ転送を行い、読み出した該データに対してデータ処理を行って該記憶デバイスへの書き込みのリクエストと該リクエストに伴うデータ転送を行うデータ処理デバイスと、の間におけるデータ転送を行うことを特徴とする請求項１または請求項２記載のデータ転送装置。
【請求項４】
前記余裕度取得手段は、
前記周期データのうち前記データ転送周期内における未転送の該周期データを該データ転送周期内に転送するのに必要な残り転送必要時間と、該データ転送周期の終わりまでの残り時間と、に基づいて前記転送余裕度を求めることを特徴とする請求項１から請求項３のいずれかに記載のデータ転送装置。
【請求項５】
前記蓄積手段は、
前記ＰＣＩーExpressのエンドポイントに設けられているバッファであり、
前記余裕度取得手段は、
前記バッファに蓄積されている前記周期データと該周期データの転送リクエスト及び前記非周期データと該非周期データの転送リクエストに基づいて前記転送余裕度を求めることを特徴とする請求項２から請求項４のいずれかに記載のデータ転送装置。
【請求項６】
前記リクエスト制御手段は、
前記蓄積手段に蓄積されている前記周期データの前記転送余裕度に基づいて、該周期データの転送リクエストと前記非周期データの転送リクエストの発行順序を入れ替えることを特徴とする請求項１から請求項５のいずれかに記載のデータ転送装置。
【請求項７】
原稿の画像を読み取ってスキャナデータを出力するスキャナ手段とデータに基づいて被記録媒体に画像を記録出力するプリンタ手段のうち少なくともいずれかと、該スキャナ手段と該プリンタ手段のうち少なくともいずれかとデータの授受を行うとともに、データを記憶する記憶デバイスとの間のデータ転送を制御するデータ転送手段と、を備えた画像処理装置であって、
前記データ転送手段として、請求項１から請求項６のいずれかに記載のデータ転送装置を備えていることを特徴とする画像処理装置。
【請求項８】
デバイス間でスプリットトランザクションの伝送路を経由させてデータ転送を行うとともに、該データ転送において、データ転送周期内でのデータ転送の完了に拘束される周期データと、データ転送周期内でのデータ転送完了に非拘束の非周期データとを転送するデータ転送方法であって、
前記周期データと該周期データの転送リクエスト及び前記非周期データと該非周期データの転送リクエストを蓄積手段に蓄積する蓄積処理ステップと、
前記データ転送周期内における前記周期データのデータ転送の転送余裕度を求める余裕度取得処理ステップと、
前記蓄積手段に蓄積されている前記周期データの前記転送余裕度に基づいて、該周期データの転送リクエストを前記データ転送周期内に該周期データのデータ転送を完了する状態で発行するとともに、該蓄積手段に蓄積されている前記非周期データの転送リクエストの発行を制御するリクエスト制御処理ステップと、
前記転送リクエストに基づいて、前記周期データと前記非周期データの転送を行う転送処理ステップと、
を有していることを特徴とするデータ転送方法。
【請求項９】
デバイス間でスプリットトランザクションの伝送路を経由させてデータ転送を行うとともに、該データ転送において、データ転送周期内でのデータ転送の完了に拘束される周期データと、データ転送周期内でのデータ転送完了に非拘束の非周期データとを転送するデータ転送プログラムであって、
制御プロセッサに、
前記周期データと該周期データの転送リクエスト及び前記非周期データと該非周期データの転送リクエストを蓄積手段に蓄積する蓄積処理と、
前記データ転送周期内における前記周期データのデータ転送の転送余裕度を求める余裕度取得処理と、
前記蓄積手段に蓄積されている前記周期データの前記転送余裕度に基づいて、該周期データの転送リクエストを前記データ転送周期内に該周期データのデータ転送を完了する状態で発行するとともに、該蓄積手段に蓄積されている前記非周期データの転送リクエストの発行を制御するリクエスト制御処理と、
前記転送リクエストに基づいて、前記周期データと前記非周期データの転送を行う転送処理と、
を実行させることを特徴とするデータ転送プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ転送装置、画像処理装置、データ転送方法及びデータ転送プログラムに関し、詳細には、データ転送周期を厳守する必要のあるデータのリクエストを適切に発行しつつ、その他のデータのリクエストも適宜発行するデータ転送装置、画像処理装置、データ転送方法及びデータ転送プログラムに関する。
【背景技術】
【０００２】
複写装置、複合装置、スキャナ装置、ファクシミリ装置等の画像処理装置においては、データ（画像データ等）を高速かつ適切に転送することが重要であり、スキャナ部で読み取られた画像データ、外部記憶部（例えば、ハードディスク、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory ）、ＤＶＤ（Digital Video Disk）、ＳＤ（Secure Digital）カード等）から読み取られた画像データ等の入力画像データに対して各種画像処理を施して、一旦ＲＡＭ（Random Access Memory）やハードディスク等のメモリに保管し、該メモリに保管した画像データを再度必要な画像処理（スキャナγ補正、フィルタ処理、地肌除去、色補正、プリンタγ補正、中間調処理等）を施して、プリンタ部に送って記録出力に供したり、ネットワークを介してコンピュータ等に転送したり、ファクシミリ送信に供する等の各種出力処理を行う。
【０００３】
そして、近年、複合装置、プリンタ等の画像処理装置においては、ＡＳＩＣ（Application Specific Integrated Circuit）等の画像処理用チップとメモリとの間のデータ転送等において、高速データ通信を実現するために、要求と応答が分離され、応答を待たずに次の要求を発行できる高速な転送を行うスプリットトランザクションのバスであるＰＣＩ（Peripheral Component Interconnect） Express（以下、ＰＣＩｅという。）が用いられるようになってきている。
【０００４】
一方、コピー処理や転送処理等においては、入力される画像データの転送処理を所定の処理時間内に完了する必要があり、この処理時間をオーバーすると、データ処理を適切に行うことができなくなる。例えば、スキャナ部で原稿の画像の読み取りが始まると、予め設定されている速度で読取データ（スキャナデータ）がスキャナ部から入力されるため、この入力画像データをスキャナ部での読み取りに間に合うように、所定の短い時間間隔でデータを転送する必要がある。また、プリンタによる画像形成においては、プリンタ側での要求に合わせてデータを送信する必要がある。すなわち、所定の短い周期で一定量のデータを必ず転送し終わらないといけないという同期転送の制約がある。
【０００５】
すなわち、複合装置等の画像処理装置においては、ＡＳＩＣとメモリとの間で、ＰＣＩｅを用いたデータ転送が行われるが、このデータ転送においては、スキャナから送られてきたスキャナデータのメモリへのデータ転送とメモリからプリンタへのプリンタデータのデータ転送を最優先させる。そして、このＡＳＩＣとメモリとの間には、上記スキャンデータとプリンタデータの転送以外にもＡＳＩＣでメモリ内のデータに対して行う描画処理、符号化処理、復号化処理等のために、メモリリードやメモリライトのトランザクションが発生する。
【０００６】
ところが、これらのトランザクションよりも、スキャナデータのライトトランザクション及びプリンタデータのリードトランザクションが優先される。
【０００７】
そして、これら全てのトランザクションのリクエストは、ＰＣＩｅのエンドポイント（End Point）のバッファにキューイングされ、また、メモリライトのトランザクションとメモリリードのトランザクションとは、キューイングされるバッファが異なる。具体的には、メリライトトランザクションは、エンドポイントのPosted Data/Headerにキューイングされ、メモリリードトランザクションは、エンドポイントのNon Posted Data/Headerにキューイングされる。
【０００８】
そして、ＰＣＩｅにおいては、接続される対向デバイスのバッファ状況を監視しながら、データ転送を実施するため、全てのリクエストが上記バッファにキューイングされる。ところが、上記スキャナデータのライトトランザクション及びプリンタデータのリードトランザクションが優先されるため、これらのデータ転送が発生している間は、その他のトランザクションは、ほとんど転送されない。
【０００９】
したがって、従来、画像処理装置は、スキャナデータのライトトランザクション及びプリンタデータのリードトランザクション以外のトランザクションについては、スキャナデータのライトトランザクション及びプリンタデータのリードトランザクションの転送が完了する紙間等でまとめて転送されている。
【００１０】
ところが、プリンタデータの描画時に写真等のデータがあると、メモリ内の描画データをＡＳＩＣへ転送するトランザクションが発生する。そして、このようなメモリリードのトランザクションは、メモリのレイテンシに大きく影響され、バンドデータの描画速度が遅くなって、生産性が悪化するおそれがある。したがって、このようなトランザクションは、余った時間にまとめて転送するよりも、定期的にアクセスが発生することが、生産性を向上させる上で、望ましい。
【００１１】
そして、従来、画像データを画像処理する画像処理部と、前記画像処理部とシリアルバスを介して接続されるスイッチと、前記スイッチとシリアルバスを介して接続されるプリンタコントローラと、を具備することを特徴とする画像形成システム。また、この画像形成システムは、画像データを出力する画像出力部をさらに具備し、前記スイッチから前記画像出力部に画像データが転送される。さらに、この画像形成システムは、画像データを入力する画像入力部をさらに具備し、前記スイッチから前記画像出力部への画像データの転送は、前記画像入力部から前記スイッチへの画像データの転送よりも優先して行われる。そして、この画像形成システムは、前記画像入力部によって入力される画像データの前記スイッチへの転送のトランザクションはメモリライトトランザクションであり、前記画像出力部によって出力される画像データの前記スイッチからの転送のトランザクションはメモリリードトランザクションであるという技術が提案されている（特許文献１参照）。
【００１２】
この従来技術は、メモリライトトランザクションとメモリリードトランザクションを切り替えて処理する。
【発明の概要】
【発明が解決しようとする課題】
【００１３】
しかしながら、上記公報記載の従来技術は、スキャナデータのライトトランザクション及びプリンタデータのリードトランザクション等の優先すべきトランザクションに対するリクエストを適切に発行しつつ、メモリ内の描画データをＡＳＩＣへ転送するトランザクションのようにレイテンシ等の影響をうけやすいトランザクションに対するリクエストを適切に処理することができず、改良の必要があった。
【００１４】
そこで、本発明は、データ転送周期を厳守する必要のあるデータのリクエストを適切に発行しつつ、その他のデータのリクエストも適宜発行することを目的としている。
【課題を解決するための手段】
【００１５】
上記目的を達成するために、請求項１記載のデータ転送装置は、デバイス間でスプリットトランザクションの伝送路を経由させてデータ転送を行うとともに、該データ転送において、データ転送周期内でのデータ転送の完了に拘束される周期データと、データ転送周期内でのデータ転送完了に非拘束の非周期データと、を転送するデータ転送装置であって、前記周期データと該周期データの転送リクエスト及び前記非周期データと該非周期データの転送リクエストを蓄積する蓄積手段と、前記データ転送周期内における前記周期データのデータ転送の転送余裕度を求める余裕度取得手段と、前記蓄積手段に蓄積されている前記周期データの前記転送余裕度に基づいて、該周期データの転送リクエストを前記データ転送周期内に該周期データのデータ転送を完了する状態で発行するとともに、該蓄積手段に蓄積されている前記非周期データの転送リクエストの発行を制御するリクエスト制御手段と、前記転送リクエストに基づいて、前記周期データと前記非周期データの転送を行う転送手段と、を備えていることを特徴としている。
【発明の効果】
【００１６】
本発明によれば、データ転送周期を厳守する必要のあるデータのリクエストを適切に発行しつつ、その他のデータのリクエストも適宜発行することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施例を適用した複合装置の要部ブロック図。
【図２】コントロールボードが搭載しているＡＳＩＣの要部ブロック図。
【図３】コントロールボードのＡＳＩＣにおけるアービタとＰＣＩｅ間の要部ブロック図。
【図４】エンドポイントモジュールのバッファ構成図。
【図５】ライン同期信号及びコントロールボードのＡＳＩＣとＣＰＵにおけるＰＣＩｅデータ転送のタイミングチャート。
【図６】ライン利用率に基づくＩＰＡ優先のフラグ制御を示すフローチャート。
【図７】ＩＰＡ優先のフラグに基づくリクエスト制御処理を示すフローチャート。
【発明を実施するための形態】
【００１８】
以下、本発明の好適な実施例を添付図面に基づいて詳細に説明する。なお、以下に述べる実施例は、本発明の好適な実施例であるので、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明によって不当に限定されるものではなく、また、本実施の形態で説明される構成の全てが本発明の必須の構成要件ではない。
【実施例１】
【００１９】
図１〜図７は、本発明のデータ転送装置、画像処理装置、データ転送方法及びデータ転送プログラムの一実施例を示す図であり、図１は、本発明のデータ転送装置、画像処理装置、データ転送方法及びデータ転送プログラムの一実施例を適用した複合装置１の要部ブロック図である。
【００２０】
図１において、複合装置（画像処理装置）１は、コントロール（ＣＬＴ）ボード２、ＩＰＵ（Image Processing Unit）ボード３、スキャナ４、プリンタ５及び図示しない操作表示部等を備えている。複合装置１は、コントロールボード２とＩＰＵボード３が、スプリットトランザクションの伝送路であるＰＣＩｅ６によって接続されている。
【００２１】
コントロールボード２は、ＣＰＵ（Central Processing Unit）２１、ＲＯＭ（Read Only Memory）２２、メモリ２３、ＡＳＩＣ２４、第２メモリ２５等を備えており、ＣＰＵ２１とＡＳＩＣ２４とは、ＰＣＩｅ２６によって接続されている。
【００２２】
ＲＯＭ２２内には、複合装置１としての基本プログラム、本発明のデータ転送方法を実行するためのデータ転送プログラム及び必要なシステムデータが格納されている。
【００２３】
ＣＰＵ２１は、ＲＯＭ２２内のプログラムにもとづいて、複合装置１の各部を制御して、複合装置１としての基本処理を実行するとともに、本発明のデータ転送方法を実行する。
【００２４】
すなわち、複合装置１は、ＲＯＭ、ＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory ）、ＥＰＲＯＭ、フラッシュメモリ、フレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory ）、ＣＤ−ＲＷ（Compact Disc Rewritable ）、ＤＶＤ（Digital Versatile Disk）、ＳＤ（Secure Digital）カード、ＭＯ（Magneto-Optical Disc）等のコンピュータが読み取り可能な記録媒体に記録されている本発明のデータ転送方法を実行するデータ転送プログラムを読み込んでＲＯＭ２２等に導入することで、後述するデータ転送周期を厳守する必要のあるデータのリクエストを適切に発行しつつ、その他のデータのリクエストも適宜発行するデータ転送方法を実行するデータ転送装置を搭載する画像処理装置として構築されている。このデータ転送プログラムは、アセンブラ、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）等のレガシープログラミング言語やオブジェクト指向プログラミング言語等で記述されたコンピュータ実行可能なプログラムであり、上記記録媒体に格納して頒布することができる。
【００２５】
メモリ（記憶デバイス）２３は、ＣＰＵ２１のワークメモリとして利用されるとともに、後述するように、スキャナ４が読み取った原稿の画像データ、ＡＳＩＣ２４で、圧縮処理、描画処理、拡大／縮小等の各種画像処理等のデータ処理された処理済み画像データを格納する。
【００２６】
特に、メモリ２３は、詳細に外ししないが、スキャナ用メモリ領域、ＩＰＡ（Image Prosessing Accelerator ）用メモリ領域、プリンタ用メモリ領域を備えている。スキャナ用メモリ領域には、スキャナ４で読み取られたスキャナデータがＡＳＩＣ２４を介して転送されて、ライト（Write)される（書き込まれる）。プリンタ用メモリ領域は、ＡＳＩＣ２４からの復号化されたプリンタ用データが、ライトされ、また、リード（Read)されて（読み出されて）ＡＳＩＣ２４及びＩＰＵボード３を介してプリンタ５へ送られる。ＩＰＡ用メモリ領域は、描画コマンド、ＡＳＩＣ２４で生成された描画データ、Ｃ（シアン）、Ｍ（マゼンタ）、Ｙ（イエロー）、Ｋ（ブラック）の各色のバンドデータ及びＡＳＩＣ２４で符号化された符号化データがライトされ、また、リードされる。すなわち、ＡＳＩＣ２４は、データ処理を行うＩＰＡを搭載しており、ＩＰＡは、メモリ２３を利用したデータ処理、特に、描画処理を行う。
【００２７】
ＡＳＩＣ（データ処理デバイス）２４は、第２メモリ２５をローカルメモリとして利用して、スキャナ４の読み取った原稿の画像データに対して各種画像処理を施して、ＰＣＩｅ２６及びＣＰＵ２１を介してメモリ２３にライトし、また、リードして必要なデータ処理を施す。このＡＳＩＣ２４については、後で詳細に説明する。さらに、ＣＰＵ２１は、周期データ及び非周期データを蓄積するメモリ（記憶デバイス）２３への該データの書き込みと該データの読み出しを制御し、制御デバイスとして機能している。そして、ＡＳＩＣ２４、ＣＰＵ２１及びＰＣＩｅ２６は、全体として、データ転送装置７して機能している。
【００２８】
ＩＰＵボード３は、ＣＰＵ３１及びＡＳＩＣ３２等を搭載しており、ＡＳＩＣ３２がコントロールボード２のＡＳＩＣ２４と、ＰＣＩｅ６によって接続されている。ＡＳＩＣ３２は、さらに、スキャナ４及びプリンタ５に接続されている。
【００２９】
スキャナ（スキャナ手段）４は、例えば、ＣＣＤ（Charge Coupled Device ）、ＣＩＳ（Contact Image Sensor：密着イメージセンサ）またはＣＭＯＳ（Complementary Metal Oxide Semiconductor ）等を用いたスキャナ等が用いられている。スキャナ４は、原稿の表面を主走査及び副走査して該原稿の表面の画像を読み取る。スキャナ４は、原稿の画像を読み取ったアナログの画像データを図示しないＡ／Ｄ（アナログ／デジタル）変換器でデジタル変換して、デジタルの画像データをＩＰＵボード３のＡＳＩＣ３２に出力する。すなわち、スキャナ４は、プリンタ５で印刷出力する画像データや外部インターフェイスへ出力するための画像データを読み取って、ＡＳＩＣ３２に出力する。なお、図示しないが、外部インターフェイスには、コンピュータ等の外部装置の接続されているネットワークが接続されている。
【００３０】
プリンタ（プリンタ手段）５は、所定の画像形成方式、例えば、電子写真方式でカラー画像を用紙（印刷媒体）に印刷出力する。プリンタ５は、例えば、印刷部が電子写真方式の場合には、回転駆動される感光体を中心に、光書込部、現像部及び転写部、定着部、帯電部及びクリーニング部等が配設されている各色（例えば、ＣＭＹＫ色）の印刷ユニットが搬送路上に所定間隔空けて並んで配設されている。このような電子写真方式のプリンタ５は、その各色の印刷ユニットが、帯電部で一様に帯電された感光体上に、印刷部がＡＳＩＣ３２からの描画データに基づいて変調した書込光を照射して、静電潜像を形成する。各色の印刷ユニットは、この静電潜像の形成された感光体に現像部から該印刷ユニットに対応する色のトナー（現像剤）を供給して現像する。各色の印刷ユニットは、感光体上のトナー画像を転写部と感光体との間に給紙カセットから用紙搬送部によって搬送されてきた用紙（被記録媒体）に、各色のトナー画像を重ね合わせるように転写して、カラーのトナー画像の転写が完了した用紙を定着部に搬送して、定着部で定着させる。
【００３１】
ＡＳＩＣ３２は、スキャナ４で読み取られた原稿の画像データに適宜の補正を行った画像データ及び必要な画像関連情報を生成して、ＰＣＩｅ６を介してコントロールボード２のＡＳＩＣ２４に転送する。また、ＡＳＩＣ３２は、ＡＳＩＣ２４から送られてくる描画データをプリンタ５で印刷できるように画像処理したり、プリンタ５の印刷タイミングにあわせて描画データをプリンタ５に送る。
【００３２】
そして、図２において、上記コントロールボード２のＡＳＩＣ２４は、アービタ（Arbiter)４１、復号化部を備えた各色分のビデオアウトモジュール４２ｃ、４２ｍ、４２ｙ、４２ｋ、ＰＣＩｅ２６のエンドポイント（EndPoint）２６ｅ及びＰＣＩｅ６のルートコンプレックス（Root Complex)６ｒ等を備えている。また、ＡＳＩＣ２４は、図示しないが、スキャナ４の読み取った画像データをプリンタ５で印刷出力するための画像処理を行って描画データを生成する描画モジュール、描画データを符号化する符号化部等を搭載している。そして、上記ビデオアウトモジュール４２ｃ、４２ｍ、４２ｙ、４２ｋは、この符号化部が符号化した描画データを復号化する。
【００３３】
ＰＣＩｅルートコンプレックス６ｒは、ＡＳＩＣ３２からＰＣＩｅ６によって送られてくるスキャナデータをアービタ４１へ転送する。また、ＰＣＩｅルートコンプレックスモジュール６ｒは、ＡＳＩＣ３２からリード要求（リードアクセス）があると、プリンタデータをビデオアウトモジュール４２ｃ、４２m、４２ｙ、４２ｋから取得する。
【００３４】
ビデオアウトモジュール４２ｃ、４２ｍ、４２ｙ、４２ｋは、図示しないが、ＤＭＡＣ（Direct Memory Access Controller ：ＤＭＡコントローラ）、２つのラインバッファ等を備えている。ビデオアウトモジュール４２ｃ、４２ｍ、４２ｙ、４２ｋは、起動時には、１ライン分のデータをメモリ２３から上記２つあるうちの１つのラインバッファに取得する。ビデオアウトモジュール４２ｃ、４２ｍ、４２ｙ、４２ｋは、取得完了通知をＡＳＩＣ３２を介してＣＰＵ３１へ送ると、ＡＳＩＣ３２からプリンタデータ転送用のリクエストがくるのを待つ。ビデオアウトモジュール４２ｃ、４２ｍ、４２ｙ、４２ｋは、プリンタデータ転送用のリクエストがくると、データ転送を開始すると同時に、もう一方のラインバッファにメモリ２３からデータを取得し始めるという制御を行う。
【００３５】
アービタ４１は、ＰＣＩｅエンドポイントモジュール２６ｅとの間のデータ転送の調停、ビデオアウトモジュール４２ｃ、４２ｍ、４２ｙ、４２ｋとの間のデータ転送の調停及びＰＣＩｅルートコンプレックス６ｒとのデータ転送の調停を行う。
【００３６】
そして、本実施例のＡＳＩＣ２４は、図３に示すように、第１ライン利用率計測部５１と第２ライン利用率計測部５２を備えている。ＰＣＩｅエンドポイントモジュール２６ｅは、ＰＣＩｅ論理層回路６１を備えており、ＰＣＩｅ論理層回路６１は、コンフィグ（Config）レジスタ制御部６１ａとバッファ制御部６１ｂ等を備えている。
【００３７】
第１ライン利用率計測部５１は、スキャナ４のライン周期同期信号がアービタ４１から入力されるとともに、アービタ４１からＰＣＩｅエンドポイントモジュール２６ｅへのライトデータが入力される。また、アービタ４１は、このライトデータに伴うライトアドレスと制御信号をＰＣＩｅエンドポイントモジュール２６ｅへ出力する。
【００３８】
第２ライン利用率計測部５２は、アービタ４１からプリンタ５のＣ版、Ｍ版、Ｙ版、Ｋ版のライン周期同期信号が入力され、ＰＣＩｅエンドポイントモジュール２６ｅからアービタ４１へ出力されるリードデータが入力される。また、アービタ４１は、リードデータをリードするためのリードアドレスと制御信号をＰＣＩｅエンドポイントモジュール２６ｅへ出力する。
【００３９】
そして、第１ライン利用率計測部５１と第２ライン利用率計測部５２は、アービタ４１とＰＣＩｅエンドポイントモジュール２６ｅの図示しないＴＬＰ（Transaction Layer Packet）調停制御部の間で転送されるデータ量を計測する。具体的には、第１ライン利用率計測部５１は、入力されるライン周期同期信号に基づいて、ラインスタートからの時間を計測する。そして、第１ライン利用率計測部５１は、全データ転送量を保持しており、ラインスタートからの計測時間に基づいて、データ転送周期であるライン周期における残りのデータ転送量を算出する。そして、第１ライン利用率計測部５１は、残りのデータ転送量から必要ライン利用率（転送余裕度）の計算を行い、該必要ライン利用率に基づいてデータ転送に余裕があると判定すると、ＰＣＩｅエンドポイントモジュール２６ｅへ出力している第１フラグをアサートする。同様に、第２ライン利用率計測部５２は、入力される各ライン周期同期信号に基づいて、ラインスタートからの時間を計測する。そして、第２ライン利用率計測部５２は、全データ転送量を保持しており、ラインスタートからの計測時間に基づいて、データ転送周期であるライン周期における残りのデータ転送量を算出する。そして、第２ライン利用率計測部５２は、残りのデータ転送量から必要ライン利用率（転送余裕度）の計算を行い、該必要ライン利用率に余裕があると判定すると、ＰＣＩｅエンドポイントモジュール２６ｅへ出力している第２フラグをアサートする。
【００４０】
上記第１ライン利用率計測部５１及び第２ライン利用率計測部５２は、データ転送周期内における周期データのデータ転送の転送余裕度を求める余裕度取得手段として機能している。
【００４１】
そして、ＰＣＩＥ論理層回路６１のバッファ制御部６１ｂは、各種ＴＬＰ（Posted  ＴＬＰ、Non Posted  ＴＬＰ等）のバッファ制御を行う。
【００４２】
すなわち、ＰＣＩｅエンドポイントモジュール２６ｅは、図４に示すように、マスタ（Master）Ｉ／Ｆ７１とターゲット（Target）Ｉ／Ｆ７２を備え、それぞれ、送信用（TX）および受信用（RX）のバッファを備えている。マスタＩ／Ｆ７１は、その送信用バッファには、Posted Headerの基に、Posted Dataが、Non Posted Headerの基に、Non Posted Dataが、格納され、受信用バッファには、Completion Headerの基に、Completion Dataが格納される。また、ターゲットＩ／Ｆ７２は、その送信用バッファには、Completion Headerの基に、Completion Dataが格納され、その受信用バッファには、Posted Headerの基に、Posted Dataが、Non Posted Headerの基に、Non Posted Dataが、格納される。
【００４３】
そして、ＰＣＩｅ２６ｅによるデータ転送においては、全てのリクエストは、一旦、図４に示したバッファにキューイングされる。例えば、メモリライト（Memory Write）トランザクションは、Posted Data/Headerにキューイングされ、メモリリード（Memory Read）トランザクションは、Non Posted Data/Headerにキューイングされる。ＰＣＩｅ２６eによるデータ転送においては、接続される対向デバイスのバッファ状況を監視（Flow Control ）しながらデータ転送を行うため、全てのリクエストがバッファにキューイングされる。
【００４４】
そこで、バッファ制御部６１ｂは、第１ライン利用率計測部５１からの第１フラグを、送信用（TX）のPosted Header/Dataバッファの制御に利用し、第２フラグを送信用（TX）のNon Posted Headerバッファの制御に利用する。さらに、バッファ制御部６１ｂは、リクエストを出力する際のPostedリクエストとNon Postedリクエストの優先順位判定にも第１フラグと第２フラグを利用する。そして、バッファ制御部６１ｂは、第１フラグと第２フラグ及びＩＤを観測しながら、キューイングされたリクエストを入れ替える入替制御を行う。なお、このＩＤは、各マスタ毎にユニークなものであり、図３における制御信号の一つである。
【００４５】
そして、バッファ制御部６１ｂは、ＡＳＩＣ２４のＩＰＡからのリクエストがキューイングされているかどうかを常に監視している。したがって、バッファ制御部６１ｂは、ラインバッファ（蓄積手段）に蓄積されている周期データ（データ転送周期内でのデータ転送の完了に拘束されるデータ）の上記転送余裕度に基づいて、該周期データの転送リクエストをデータ転送周期内に該周期データのデータ転送を完了する状態で発行するとともに、該ラインバッファに蓄積されている非周期データ（データ転送周期内でのデータ転送完了に非拘束のデータ）の転送リクエストの発行を制御するリクエスト制御手段として機能している。上記スキャナデータ及びプリンタデータが、周期データであり、その他のメモリ２３とＡＳＩＣ２４の間で授受されるデータが、非周期データである。また、バッファ制御部６１ｂは、転送リクエストに基づいて、前記周期データ（スキャナデータ、プリンタデータ）と非周期データ（スキャナデータ、プリンタデータ以外のデータ）の転送を行う転送手段として機能している。
【００４６】
上記第１ライン利用率計測部５１及び第２ライン利用率計測部５２は、以下に第２ライン利用率計測部５２について説明するように、ライン利用率の計測（計算）する。
【００４７】
図５は、ライン周期同期信号lsync_n及びＡＳＩＣ２４とＣＰＵ２１との間のＰＣＩｅ２６のデータ転送時のデータのタイミングチャートである。図５において、up streamは、ＡＳＩＣ２４からＣＰＵ２１へのデータ転送方向を示しており、down streamは、ＣＰＵ２１からＡＳＩＣ２４へのデータ転送方向を示している。また、Ｔ１は、リードレイテンシ、Ｔ２は、１パケット分データ転送時間、Ｔ３は、lsync周期、Ｔ４は、ラインスタートからの経過時間を示している。
【００４８】
図５において、ラインデータ転送開始から、T4経過後を、「現時点」として、第２ライン利用率計測部５２は、残りのデータ転送に必要な時間である残りデータ転送必要時間Ｔ５を、次式（１）により算出する。
【００４９】
Ｔ５＝残り転送データ量＊（Ｔ１＋Ｔ２）・・・（１）
ここで、残りの転送データ量は、（全転送データ量）−（転送完了データ量）で与えられ、payload数である。
【００５０】
そして、第２ライン利用率計測部５２は、残りデータ転送必要時間Ｔ５と残り時間（Ｔ３−Ｔ４）から、次式（２）により、画像データ転送を正常に完了させるために必要なライン利用率である必要ライン利用率Ｒｒを算出する。
【００５１】
Ｒｒ＝（Ｔ３−Ｔ４）＊ライン利用率係数／Ｔ５・・・（２）
第２ライン利用率計測部５２は、必要ライン利用率Ｒｒの値が「１」以上であると、残りデータ転送必要時間Ｔ５が十分にあると判断して、第２フラグをアサーとし、ＩＰＡのトランザクションを優先することを許可する。
【００５２】
また、第２ライン利用率計測部５２は、必要ライン利用率Ｒｒの値が「１」未満であると、残りデータ転送必要時間Ｔ５が不十分であると判断して、第２フラグをネゲートし、画像データの転送を優先する。
【００５３】
なお、必要ライン利用率Ｒｒは、ライン周期同期信号lsync_nに対する必要データ転送時間の割合であり、最悪値で見てみると、１００％であるので、「１」となる。ＰＣＩｅにおいては、通常、マージンを考慮して、「８０」％で転送可能なように設計されているため、必要ライン利用率Ｒｒ＝０．８とする。
【００５４】
本実施例の複合装置１においては、必要ライン利用率Ｒｒを固定値として使用するが、レジスタ等を用いて適宜設定可能としてもよい。
【００５５】
なお、図５において、ライン周期同期信号lsyncは、１つのみ記載されているが、プリンタ５側ではＣＭＹＫの各版毎に存在し、各ライン周期同期信号lsyncは、感光体と感光体の間のピッチずれ分に応じてアサートされる。従って、第２ライン利用率計測部５２は、上記計算を各版毎に実施し、また、判定を各版毎に実施して、第２ライン利用率計測部５２内部でＯＲ処理して出力する。すなわち、第２ライン利用率計測部５２は、いずれかの版の必要ライン利用率Ｒｒが「１」以下であると、画像データ優先信号をアサートするように動作し、全ての必要ライン利用率Ｒｒが「１」以上であると、画像データ優先信号をネゲートする。
【００５６】
そして、上記第２ライン利用率計測部５２は、上記第１ライン利用率計測部５１と同様に、スキャナデータに対して、up streamにおける残りデータ転送必要時間Ｔ５及び必要ライン利用率Ｒｒを算出して、画像データ優先信号のアサートとネゲートを行う。
【００５７】
次に、本実施例の作用を説明する。本実施例の複合装置１は、データ転送周期を厳守する必要のあるデータのリクエストを適切に発行しつつ、その他のデータのリクエストも適宜発行する。
【００５８】
すなわち、複合装置１は、スキャナ４やプリンタ５等のデータ転送においてテイミングを確保する必要のあるデバイスを備えている。そして、複合装置１は、スキャナ４で読み取られた原稿の画像データ（スキャナデータ）をＩＰＵボード３のＡＳＩＣ３２を介してコントロールボード２のＡＳＩＣ２４へＰＣＩｅ６を介して転送する。
【００５９】
ＡＳＩＣ２４は、このスキャナ画像データを優先的に、ＰＣＩｅルートコンプレックスモジュール６r、スキャナデータ転送バス、アービタ４１及びＰＣＩｅエンドポイントモジュール２６ｅを介して、ＰＣＩｅ２６及びＣＰＵ２１を通して、メモリ２３に転送する。
【００６０】
複合装置１は、ＣＰＵ２１の制御下で、メモリ２３に格納されたデータをＡＳＩＣ２４へ読み出して必要な画像処理を施し、メモリ２３へ再度格納する。また、複合装置１は、該データをプリント出力する場合には、メモリ２３内のデータを、ＡＳＩＣ２４へ読み出して、プリンタ５の必要とする版のプリンタデータを生成して、再度、メモリ２３へ転送して格納する。その後、複合装置１は、出力タイミングに応じて、メモリ２３からプリンタデータを読み出して、ＰＣＩｅ２６、ＡＳＩＣ２４のＰＣＩｅエンドポイントモジュール２６ｅ、アービタ４１、ビデオアウトモジュール４２ｃ、４２ｍ、４２ｙ、４２ｋ及びＰＣＩｅルートコンプレックスモジュール６rを通して、ＩＰＵボード３のＡＳＩＣ３２へ転送する。ＡＳＩＣ３２は、プリンタ５の出力タイミング合わせて、プリンタデータをプリンタ５に出力して、画像を被記録媒体に記録出力させる。
【００６１】
そして、コントロールボード２のＰＣＩｅ２４におけるデータ転送においては、基本的に、同期信号に同期させてデータ転送を行う必要のあるデータの転送を優先させる。すなわち、ＡＳＩＣ２４は、ＡＳＩＣ３２から送られてきたスキャナデータのメモリ２３への転送、及び、メモリ２３からビデオアウトモジュール４２ｃ〜４２ｋを介してＡＳＩＣ３２へ転送するプリンタデータの転送を、優先させる。
【００６２】
そして、ＡＳＩＣ２４は、第１ライン利用率計測部５１及び第２ライン利用率計測部５２でライン利用率を算出して、ライン利用率に基づいて、ＰＣＩｅエンドポイントモジュール２６ｅのバッファ制御部６１ｂによるリクエスト制御を行う。
【００６３】
すなわち、第１ライン利用率計測部５１及び第２ライン利用率計測部５２は、図６に示すように、ライン利用率に基づいて、ライン転送を制御する第１フラグ、第２フラグのアサートとネゲートを制御する。なお、図６には、第１フラグと第２フラグを区別することなく、フラグとして示しているが、第１ライン利用率計測部５１によるフラグが第１フラグであり、第２ライン利用率計測部５２によるフラグが第２フラグである。この第１フラグは、スキャナデータのライトリクエストを制御するフラグであり、第２フラグは、プリンタデータのリードリクエストを制御するフラグである。
【００６４】
そして、第１ライン利用率計測部５１及び第２ライン利用率計測部５２は、図６に示すように、スキャナ４またはプリンタ５からライン周期同期信号lsyncがアサートされたかチェックする（ステップＳ１０１）。第１ライン利用率計測部５１及び第２ライン利用率計測部５２は、ライン周期同期信号lsyncがアサートされないとき（ステップＳ１０１で、ＮＯのとき）、ライン周期同期信号lsyncがアサートされるまで待つ。
【００６５】
第１ライン利用率計測部５１及び第２ライン利用率計測部５２は、ライン周期同期信号lsyncがアサートされると（ステップＳ１０１で、ＹＥＳのとき）、必要ライン利用率Ｒｒが「１」未満であるかチェックする（ステップＳ１０２）。すなわち、複合装置１は、電源が投入されると、必要ライン利用率Ｒｒを設定するために、最低ライン利用率を、上述のように、複合装置１の機種毎に計算で求まる数値として設定する。なお、この最低ライン利用率は、データの解像度、画像深度等によって適宜設定することもできる。
【００６６】
そして、第１ライン利用率計測部５１及び第２ライン利用率計測部５２は、ライン周期同期信号lsyncがアサートされると、必要ライン利用率Ｒｒを上記式（２）に基づいて算出し、該必要ライン利用率Ｒｒが「１」未満であるかチェックする。
【００６７】
ステップＳ１０２で、必要ライン利用率Ｒｒが、「１」以上であると（ステップＳ１０２で、ＮＯのとき）、第１ライン利用率計測部５１及び第２ライン利用率計測部５２は、フラグをアサートする（ステップＳ１０３）。このフラグは、上記第１フラグまたは第２フラグである。
【００６８】
次に、第１ライン利用率計測部５１及び第２ライン利用率計測部５２は、１ラインのデータ転送が完了したかチェックする（ステップＳ１０４）。ステップＳ１０４で、完了していないとき（ステップＳ１０４で、ＮＯのとき）、第１ライン利用率計測部５１及び第２ライン利用率計測部５２は、必要ライン利用率Ｒｒが「１」未満であるかのチェックから上記同様に処理する（ステップＳ１０２〜S１０４）。
【００６９】
ステップＳ１０２で、必要ライン利用率Ｒｒが「１」未満であると（ステップＳ１０２で、ＹＥＳのとき）、第１ライン利用率計測部５１及び第２ライン利用率計測部５２は、フラグをネゲートする（ステップＳ１０５）。第１ライン利用率計測部５１及び第２ライン利用率計測部５２は、一旦フラグをネゲートすると、必要ライン利用率Ｒｒが「１」以上になるまで、フラグのネゲートを継続する（ステップＳ１０２、Ｓ１０５）。すなわち、第１ライン利用率計測部５１及び第２ライン利用率計測部５２は、一旦フラグをネゲーとすると、必要ライン利用率Ｒｒが「１」以上になるまで、画像データ転送優先信号をアサートし続ける。第１ライン利用率計測部５１及び第２ライン利用率計測部５２は、ステップＳ１０２で、必要ライン利用率Ｒｒが「１」以上になると、ネゲートしたフラグをアサートする（ステップＳ１０２、S１０３）。すなわち、第１ライン利用率計測部５１及び第２ライン利用率計測部５２は、アサートしていた画像データ転送優先信号をネゲートする。
【００７０】
ステップＳ１０４で、該当ラインの転送が完了すると、第１ライン利用率計測部５１及び第２ライン利用率計測部５２は、該当ラインでのＰＣＩｅエンドポイントモジュール２６ｅのバッファ制御部６１ｂに設定するフラグの制御処理を終了する。
【００７１】
そして、第１ライン利用率計測部５１及び第２ライン利用率計測部５２は、上記フラグの制御においては、上述のように、ＣＭＹＫのいずれかの版の必要ライン利用率Ｒｒが「１」未満であると、フラグをネゲート、すなわち、画像データ優先信号をアサートする。
【００７２】
そして、バッファ制御部６１ｂは、ＰＣＩｅエンドポイントモジュール２６ｅのNon Posted Headerバッファにリクエストが入力されると、図９に示すように、第１フラグ,第２フラグ及びＩＰＡの状態に基づいてリクエストの制御を行う。
【００７３】
すなわち、バッファ制御部６１ｂは、ＰＣＩｅエンドポイントモジュール２６ｅのNon Posted Headerバッファにリクエストが入力されると、まず、第１フラグがアサート状態であるかチェックする（ステップＳ２０１）。
【００７４】
ステップＳ２０１で、第１フラグがアサート状態であると（ステップＳ２０１で、ＹＥＳのとき）、バッファ制御部６１ｂは、第２フラグがアサート状態であるかチェックする（ステップＳ２０２）。
【００７５】
ステップＳ２０２で、第２フラグがアサート状態であると（ステップＳ２０２で、ＹＥＳのとき）、バッファ制御部６１ｂは、ＩＰＡのリクエストがキューイングされているかチェックする（ステップＳ２０３）。
【００７６】
ステップＳ２０３で、ＩＰＡのリクエストがキューイングされているときには、バッファ制御部６１ｂは、該ＩＰＡのリードリクエストを最優先に出力し（ステップＳ２０４）、Non Posted Headerバッファにリクエストがあるかチェックする（ステップＳ２０５）。
【００７７】
ステップＳ２０５で、Non Posted Headerバッファにリクエストがないときには、バッファ制御部６１ｂは、ステップＳ２０１に戻って、次のリクエストに対して、上記同様に処理を行う（ステップＳ２０１〜S２０５）。
【００７８】
ステップＳ２０５で、Non Posted Headerバッファにリクエストがあると、バッファ制御部６１ｂは、処理を終了する。
【００７９】
ステップＳ２０３で、ＩＰＡのリクエストがキューイングされておらず、プリンタ５のリードリクエストのみの場合（ステップＳ２０３で、ＮＯのとき）、バッファ制御部６１ｂは、プリンタ５のリードリクエストを最優先に出力する（ステップＳ２０６）。その後、バッファ制御部６１ｂは、Non Posted Headerバッファにリクエストがあるかチェックし（ステップＳ２０５）、上記同様に処理する。
【００８０】
ステップＳ２０２で、第２フラグがネゲート状態であると（ステップＳ２０２で、ＮＯのとき）、バッファ制御部６１ｂは、第２フラグがネゲートされているので、プリンタ５のリードリクエストを最優先に出力する（ステップＳ２０６）。その後、バッファ制御部６１ｂは、Non Posted Headerバッファにリクエストがあるかチェックし（ステップＳ２０５）、上記同様に処理する。
【００８１】
ステップＳ２０１で、第１フラグがネゲート状態であると（ステップＳ２０１で、ＮＯのとき）、バッファ制御部６１ｂは、第２フラグがアサート状態であるかチェックする（ステップＳ２０７）。
【００８２】
ステップＳ２０７で、第２フラグがアサート状態であると（ステップＳ２０７で、ＹＥＳのとき）、バッファ制御部６１ｂは、第１フラグのみがネゲートされているので、スキャナ４のライトリクエストを最優先に出力する（ステップＳ２０８）。その後、バッファ制御部６１ｂは、Non Posted Headerバッファにリクエストがあるかチェックし（ステップＳ２０５）、上記同様に処理する。
【００８３】
ステップＳ２０７で、第２フラグがネゲート状態であると（ステップＳ２０７で、ＮＯのとき）、バッファ制御部６１ｂは、プリンタ５のリードリクエストを最優先に出力する（ステップＳ２０９）。すなわち、Readリクエストは、コマンドの転送のみであり、upstreamの転送を占有する時間が短いこと、及び、Readリクエストにはメモリレイテンシがあり、応答が返ってくるまでに時間を要することから、Readリクエストを優先させている。
【００８４】
その後、バッファ制御部６１ｂは、Non Posted Headerバッファにリクエストがあるかチェックし（ステップＳ２０５）、上記同様に処理する。
【００８５】
このように、本実施例の複合装置１は、デバイス間でスプリットトランザクションの伝送路を経由させてデータ転送を行うとともに、該データ転送において、データ転送周期内でのデータ転送の完了に拘束される周期データと、データ転送周期内でのデータ転送完了に非拘束の非周期データと、を転送するデータ転送装置７を搭載し、該データ転送装置７は、該周期データと該周期データの転送リクエスト及び該非周期データと該非周期データの転送リクエストを蓄積するＰＣＩｅエンドポイント（蓄積手段）２６ｅと、前記データ転送周期内における前記周期データのデータ転送の転送余裕度（必要ライン利用率Ｒｒ）を求める余裕度取得手段としての第１ライン利用率計測部５１及び第２ライン利用率計測部５２と、前記ＰＣＩｅエンドポイントモジュール２６ｅに蓄積されている前記周期データの前記転送余裕度に基づいて、該周期データの転送リクエストを前記データ転送周期内に該周期データのデータ転送を完了する状態で発行するとともに、該ＰＣＩｅエンドポイントモジュール２６ｅに蓄積されている前記非周期データの転送リクエストの発行を制御するバッファ制御部（リクエスト制御手段）６１ｂと、前記転送リクエストに基づいて、前記周期データと前記非周期データの転送を行うバッファ制御部（転送手段）６１ｂと、を備えている。
【００８６】
したがって、周期データの転送リクエストの発行を該周期データの転送周期内での転送を確保しつつ行うことができるとともに、非周期データの転送リクエストを該周期データの転送に影響を与えない状態で発行することができる。その結果、データ転送周期を厳守する必要のあるデータのリクエストを適切に発行しつつ、その他のデータのリクエストも適宜発行することができる。
【００８７】
また、本実施例の複合装置１は、そのデータ転送装置７が、デバイス間でスプリットトランザクションの伝送路を経由させてデータ転送を行うとともに、該データ転送において、データ転送周期内でのデータ転送の完了に拘束される周期データと、データ転送周期内でのデータ転送完了に非拘束の非周期データとを転送するデータ転送方法であって、前記周期データと該周期データの転送リクエスト及び前記非周期データと該非周期データの転送リクエストをＰＣＩｅエンドポイント（蓄積手段）２６ｅに蓄積する蓄積処理ステップと、前記データ転送周期内における前記周期データのデータ転送の転送余裕度（必要ライン利用率Ｒｒ）を求める余裕度取得処理ステップと、前記ＰＣＩｅエンドポイントモジュール２６ｅに蓄積されている前記周期データの前記転送余裕度に基づいて、該周期データの転送リクエストを前記データ転送周期内に該周期データのデータ転送を完了する状態で発行するとともに、該ＰＣＩｅエンドポイントモジュール２６ｅに蓄積されている前記非周期データの転送リクエストの発行を制御するリクエスト制御処理ステップと、前記転送リクエストに基づいて、前記周期データと前記非周期データの転送を行う転送処理ステップと、を有しているデータ転送方法を実行している。
【００８８】
したがって、周期データの転送リクエストの発行を該周期データの転送周期内での転送を確保しつつ行うことができるとともに、非周期データの転送リクエストを該周期データの転送に影響を与えない状態で発行することができる。その結果、データ転送周期を厳守する必要のあるデータのリクエストを適切に発行しつつ、その他のデータのリクエストも適宜発行することができる。
【００８９】
さらに、本実施例の複合装置１は、そのデータ転送装置７が、デバイス間でスプリットトランザクションの伝送路を経由させてデータ転送を行うとともに、該データ転送において、データ転送周期内でのデータ転送の完了に拘束される周期データと、データ転送周期内でのデータ転送完了に非拘束の非周期データとを転送するデータ転送プログラムであって、制御プロセッサに、前記周期データと該周期データの転送リクエスト及び前記非周期データと該非周期データの転送リクエストをＰＣＩｅエンドポイント（蓄積手段）２６ｅに蓄積する蓄積処理と、前記データ転送周期内における前記周期データのデータ転送の転送余裕度（必要ライン利用率Ｒｒ）を求める余裕度取得処理と、前記ＰＣＩｅエンドポイントモジュール２６ｅに蓄積されている前記周期データの前記転送余裕度に基づいて、該周期データの転送リクエストを前記データ転送周期内に該周期データのデータ転送を完了する状態で発行するとともに、該ＰＣＩｅエンドポイントモジュール２６ｅに蓄積されている前記非周期データの転送リクエストの発行を制御するリクエスト制御処理と、前記転送リクエストに基づいて、前記周期データと前記非周期データの転送を行う転送処理と、を実行させるデータ転送プログラムを搭載している。
【００９０】
したがって、周期データの転送リクエストの発行を該周期データの転送周期内での転送を確保しつつ行うことができるとともに、非周期データの転送リクエストを該周期データの転送に影響を与えない状態で発行することができる。その結果、データ転送周期を厳守する必要のあるデータのリクエストを適切に発行しつつ、その他のデータのリクエストも適宜発行することができる。
【００９１】
また、本実施例の複合装置１のデータ転送装置７は、前記伝送路が、ＰＣＩーExpress２６である。
【００９２】
したがって、伝送路として、ＰＣＩｅを用いたデータ転送において、周期データの転送リクエストの発行を該周期データの転送周期内での転送を確保しつつ行うことができるとともに、非周期データの転送リクエストを該周期データの転送に影響を与えない状態で発行することができる。その結果、ＰＣＩｅを用いたデータ転送において、データ転送周期を厳守する必要のあるデータのリクエストを適切に発行しつつ、その他のデータのリクエストも適宜発行することができる。
【００９３】
さらに、本実施例の複合装置１のデータ転送装置７は、前記伝送路が、前記周期データ及び前記非周期データを蓄積するメモリ（記憶デバイス）２３への該データの書き込みと該データの読み出しを制御するＣＰＵ（制御デバイス）２１と、該ＣＰＵ２１に対して、該周期データの該メモリ２３への書き込みと読み出しのリクエストと該リクエストに伴うデータ転送を行うとともに、該非周期データの該メモリ２３からの読み出しのリクエストと該リクエストに伴うデータ転送を行い、読み出した該データに対してデータ処理を行って該メモリ２３への書き込みのリクエストと該リクエストに伴うデータ転送を行うＡＳＩＣ（データ処理デバイス）２３と、の間におけるデータ転送を行う。
【００９４】
したがって、ＣＰＵ２１等の制御デバイスを介してメモリ２３にデータを格納する際のデータ転送において、データ転送周期を厳守する必要のあるデータのリクエストを適切に発行しつつ、その他のデータのリクエストも適宜発行することができる。
【００９５】
また、本実施例の複合装置１のデータ転送装置７は、前記余裕度取得手段（第１ライン利用率計測部５１と第２ライン利用率計測部５２）が、前記周期データのうち前記データ転送周期内における未転送の該周期データを該データ転送周期内に転送するのに必要な残り転送必要時間と、該データ転送周期の終わりまでの残り時間と、に基づいて前記転送余裕度（必要ライン利用率Ｒｒ）を求めている。
【００９６】
したがって、簡単かつ正確に、周期データの転送リクエストの発行を該周期データの転送周期内での転送を確保しつつ行うことができるとともに、非周期データの転送リクエストを該周期データの転送に影響を与えない状態で発行することができる。その結果、簡単かつ正確に、データ転送周期を厳守する必要のあるデータのリクエストを適切に発行しつつ、その他のデータのリクエストも適宜発行することができる。
【００９７】
さらに、本実施例の複合装置１のデータ転送装置７は、前記蓄積手段が、ＰＣＩｅ（ＰＣＩーExpress）のエンドポイント２６ｅに設けられているバッファであり、前記余裕度取得手段（第１ライン利用率計測部５１と第２ライン利用率計測部５２）が、前記バッファに蓄積されている前記周期データと該周期データの転送リクエスト及び前記非周期データと該非周期データの転送リクエストに基づいて前記転送余裕度（必要ライン利用率Ｒｒ）を求めている。
【００９８】
したがって、全てのリクエストがキューイングされるＰＣＩｅ２６のバッファ内のリクエストに基づいて、簡単かつ正確に、周期データの転送リクエストの発行を該周期データの転送周期内での転送を確保しつつ行うことができるとともに、非周期データの転送リクエストを該周期データの転送に影響を与えない状態で発行することができる。その結果、簡単かつ正確に、データ転送周期を厳守する必要のあるデータのリクエストを適切に発行しつつ、その他のデータのリクエストも適宜発行することができる。
【００９９】
また、本実施例の複合装置１のデータ転送装置７は、前記リクエスト制御手段（バッファ制御部６１ｂ）が、前記ＰＣＩｅエンドポイントモジュール２６ｅに蓄積されている前記周期データの前記転送余裕度（必要ライン利用率Ｒｒ）に基づいて、該周期データの転送リクエストと前記非周期データの転送リクエストの発行順序を入れ替えている。
【０１００】
したがって、リクエストの順序を入れ替えることで、簡単かつ正確に、周期データの転送リクエストの発行を該周期データの転送周期内での転送を確保しつつ行うことができるとともに、非周期データの転送リクエストを該周期データの転送に影響を与えない状態で発行することができる。その結果、簡単かつ正確に、データ転送周期を厳守する必要のあるデータのリクエストを適切に発行しつつ、その他のデータのリクエストも適宜発行することができる。
【０１０１】
以上、本発明者によってなされた発明を好適な実施例に基づき具体的に説明したが、本発明は上記実施例で説明したものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【符号の説明】
【０１０２】
１  複合装置
２  コントロールボード
３  ＩＰＵボード
４  スキャナ
５  プリンタ
６  ＰＣＩｅ
６ｒ  ルートコンプレックス（Root Complex)
７  データ転送装置
２１  ＣＰＵ
２２  ＲＯＭ
２３  メモリ
２４  ＡＳＩＣ
４２ｃ、４２ｍ、４２ｙ、４２ｋ  ビデオアウトモジュール
２５  第２メモリ
２６  ＰＣＩｅ
２６ｅ  エンドポイント（EndPoint）
３１  ＣＰＵ
３２  ＡＳＩＣ
５１  第１ライン利用率計測部
５２  第２ライン利用率計測部
６１  ＰＣＩＥ論理層回路
６１ｂ  バッファ制御部
７１  マスタ（Master）Ｉ／Ｆ
７２  ターゲット（Target）Ｉ／Ｆ
【先行技術文献】
【特許文献】
【０１０３】
【特許文献１】特開２０１３−０３７７００号公報
【図１】
2015095177.tif 000003
【図２】
2015095177.tif 000004
【図３】
2015095177.tif 000005
【図４】
2015095177.tif 000006
【図５】
2015095177.tif 000007
【図６】
2015095177.tif 000008
【図７】
2015095177.tif 000009