(57)【要約】【課題】本発明は、メモリ内の同じデータを複数のスレーブ装置に同時に転送するデータ転送装置、データ転送システム、データ転送方法、データ転送プログラム及び記録媒体に関する。【解決手段】プリンタ装置１は、ＤＦＥ２が、メモリ１２上の転送対象データを複数の送信先であるプリンタエンジン３ａ、３ｂに転送する際に、メモリ１２から読み出された転送対象データのフレームデータを分配回路２３によって該データの転送先の数に分配し、分配された該フレームデータを第１送信ポート４ａ、第２送信ポート４ｂからそれぞれ複数のプリンタエンジン３ａ、３ｂに同時に送信する。【選択図】          図１
2011142525.tif 000002
【特許請求の範囲】
【請求項１】
メモリ上の転送対象データを複数の転送先装置に転送するデータ転送装置において、
前記メモリから前記転送対象データを読み出す読み出し手段と、
前記読み出し手段の読み出した前記転送対象データを前記転送先装置の数に分配する分配手段と、
前記分配手段で分配された前記転送対象データをそれぞれ前記転送先装置に送信する送信手段と、
前記読み出し手段に前記メモリから前記転送対象データを所定のブロックデータ単位で読み出させて該ブロックデータを前記分配手段に前記転送先装置分のブロックデータに分配させ、前記送信手段に該転送先装置にそれぞれ送信させる制御手段と、
を備えていることを特徴とするデータ転送装置。
【請求項２】
前記データ転送装置は、
前記転送対象データの転送に関する情報を転送情報として生成する転送情報生成手段と、
前記各送信先と各種情報の授受を行う送受信手段と、
を備え、前記制御手段は、前記転送情報生成手段の生成した前記転送情報を前記転送対象データの送信に先立って前記送受信手段に前記各転送先装置へ送信させることを特徴とする請求項１記載のデータ転送装置。
【請求項３】
前記制御手段は、前記転送先装置から前記転送対象データの前記ブロックデータを指定した再送信要求があると、該転送対象データのうち該再送信要求で指定されている該ブロックデータを前記メモリから読み出して前記送受信手段に該転送先装置へ送信させることを特徴とする請求項２記載のデータ転送装置。
【請求項４】
前記送信手段は、前記転送先装置毎にそれぞれ同じ前記ブロックデータを２重に送信する２重送信構造を有していることを特徴とする請求項１から請求項３のいずれかに記載のデータ転送装置。
【請求項５】
データ転送装置がメモリ上の転送対象データを複数の転送先装置に転送するデータ転送システムにおいて、
前記データ転送装置は、
前記メモリから前記転送対象データを読み出す読み出し手段と、
前記読み出し手段の読み出した前記転送対象データを前記転送先装置の数に分配する分配手段と、
前記分配手段で分配された前記転送対象データをそれぞれ前記転送先装置に送信する送信手段と、
各種情報を前記各転送先装置と授受する送受信手段と、
前記読み出し手段に前記メモリから前記転送対象データを所定のブロックデータ単位で読み出させて該ブロックデータを前記分配手段に前記転送先装置分のブロックデータに分配させ、前記送信手段に該転送先装置にそれぞれ送信させる制御手段と、
を備え、
前記転送先装置は、
前記データ転送装置の前記送受信手段との間で各種情報を授受する送受信手段と、
前記送信手段から送信されてくる前記ブロックデータを受信する受信手段と、
前記受信手段の受信した前記ブロックデータのエラーチェックを行ってエラーの発生しているブロックデータを特定するエラー情報をエラー情報保管手段に保管するエラーチェック手段と、
前記転送対象データを全て受信すると、前記エラー情報保管手段に保管されている前記エラー情報を前記送受信手段から前記データ転送装置の前記送受信手段へ送信する制御手段と、
を備え、
前記データ転送装置の前記制御手段は、
前記送受信手段が前記転送先装置から前記エラー情報を受信すると、前記メモリから該エラー情報の指定するブロックデータを読み出して該送受信手段から該転送先装置へ送信させることを特徴とするデータ転送システム。
【請求項６】
前記データ転送装置は、
前記転送対象データの転送に関する情報を転送情報として生成する転送情報生成手段を備え、
前記制御手段が、前記転送情報生成手段の生成した前記転送情報を前記転送対象データの送信に先立って前記送受信手段に前記各転送先装置へ送信させることを特徴とする請求項５記載のデータ転送システム。
【請求項７】
メモリ上の転送対象データを複数の転送先装置に転送するデータ転送方法において、
前記メモリから前記転送対象データを読み出す読み出し処理ステップと、
前記読み出し処理ステップで読み出された前記転送対象データを前記転送先装置の数に分配する分配処理ステップと、
前記分配処理ステップで分配された前記転送対象データをそれぞれ前記転送先装置に送信する送信処理ステップと、
前記読み出し処理ステップに前記メモリから前記転送対象データを所定のブロックデータ単位で読み出させて該ブロックデータを前記分配処理ステップで前記転送先装置分のブロックデータに分配させ、前記送信処理ステップに該転送先装置にそれぞれ送信させる制御処理ステップと、
を有していることを特徴とするデータ転送方法。
【請求項８】
データ転送装置からメモリ上の転送対象データを複数の転送先装置に転送するデータ転送方法であって、
前記データ転送装置が、
前記メモリから前記転送対象データを読み出す読み出し処理ステップと、
前記読み出し処理ステップで読み出された前記転送対象データを前記転送先装置の数に分配する分配処理ステップと、
前記分配処理ステップで分配された前記転送対象データをそれぞれ前記転送先装置に送信する送信処理ステップと、
各種情報を前記各転送先装置と授受する送受信処理ステップと、
前記読み出し処理ステップに前記メモリから前記転送対象データを所定のブロックデータ単位で読み出させて該ブロックデータを前記分配処理ステップで前記転送先装置分のブロックデータに分配させ、前記送信処理ステップで該転送先装置にそれぞれ送信させる制御処理ステップと、
を有し、
前記転送先装置が、
前記データ転送装置の前記送受信処理ステップとの間で各種情報を授受する送受信処理ステップと、
前記送信処理ステップによって送信されてくる前記ブロックデータを受信する受信処理ステップと、
前記受信処理ステップで受信した前記ブロックデータのエラーチェックを行ってエラーの発生しているブロックデータを特定するエラー情報をエラー情報保管手段に保管するエラーチェック処理ステップと、
前記転送対象データを全て受信すると、前記エラー情報保管手段に保管されている前記エラー情報を前記送受信処理ステップから前記データ転送装置の前記送受信処理ステップへ送信する制御処理ステップと、
を有し、
前記データ転送装置の前記制御処理ステップが、
前記送受信処理ステップで前記転送先装置から前記エラー情報を受信されると、前記メモリから該エラー情報の指定するブロックデータを読み出して該送受信処理ステップによって該転送先装置へ送信させることを特徴とするデータ転送方法。
【請求項９】
メモリ上の転送対象データを複数の転送先装置に転送するデータ転送プログラムにおいて、
コンピュータに、
前記メモリから前記転送対象データを読み出す読み出し処理と、
前記読み出し処理で読み出された前記転送対象データを前記転送先装置の数に分配する分配処理と、
前記分配処理で分配された前記転送対象データをそれぞれ複数の前記転送先装置に送信する送信処理と、
前記読み出し処理に前記メモリから前記転送対象データを所定のブロックデータ単位で読み出させて該ブロックデータを前記分配処理に前記転送先装置分のブロックデータに分配させ、前記送信処理に該転送先装置にそれぞれ送信させる制御処理と、
を実行させることを特徴とするデータ転送プログラム。
【請求項１０】
データ転送装置がメモリ上の転送対象データを複数の転送先装置に転送するデータ転送プログラムにおいて、
前記データ転送装置の搭載するデータ転送プログラムは、
コンピュータに、
前記メモリから前記転送対象データを読み出す読み出し処理と、
前記読み出し処理で読み出された前記転送対象データを前記転送先装置の数に分配する分配処理と、
前記分配処理で分配された前記転送対象データをそれぞれ前記転送先装置に送信する送信処理と、
各種情報を前記各転送先装置と授受する送受信処理と、
前記読み出し処理に前記メモリから前記転送対象データを所定のブロックデータ単位で読み出させて該ブロックデータを前記分配処理に前記転送先装置分のブロックデータに分配させ、前記送信処理に該転送先装置にそれぞれ送信させる制御処理と、
を実行させ、
前記転送先装置の搭載するデータ転送プログラムは、
前記データ転送装置の前記送受信処理との間で各種情報を授受する送受信処理と、
前記送信処理から送信されてくる前記ブロックデータを受信する受信処理と、
前記受信処理で受信された前記ブロックデータのエラーチェックを行ってエラーの発生しているブロックデータを特定するエラー情報をエラー情報保管手段に保管するエラーチェック処理と、
前記転送対象データを全て受信すると、前記エラー情報保管手段に保管されている前記エラー情報を前記送受信処理によって前記データ転送装置の前記送受信処理へ送信させる制御処理と、
を実行させ、
前記マスターノードの前記制御処理は、
前記送受信処理が前記転送先装置から前記エラー情報を受信すると、前記メモリから該エラー情報の指定するブロックデータを読み出して該送受信処理に該転送先装置へ送信させることを特徴とするデータ転送プログラム。
【請求項１１】
請求項９または請求項１０記載のデータ転送プログラムを記録したことを特徴とするコンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ転送装置、データ転送システム、データ転送方法、データ転送プログラム及び記録媒体に関し、詳細には、メモリ内の同じデータを複数の送信先装置に同時に転送するデータ転送装置、データ転送システム、データ転送方法、データ転送プログラム及び記録媒体に関する。
【背景技術】
【０００２】
広幅のシート状部材に高精細に画像を形成するプリンタ装置等のようにメモリ上の大容量のデータを複数のエンジン部であるノードに転送する装置においては、上位装置から送られてきた印刷データをフロントエンドサーバ等でメモリ上にＲＩＰ（Raster Image Processor）展開し、メモリ上に展開した該画像データをプリンタエンジンや画像検査装置等に転送する。
【０００３】
このようなデータ転送においては、送信側と受信側との間の信号やデータの転送方法としては、従来からバス接続方式、クロスバースイッチ接続方式、ＬＡＮ（Local Area Network）や光ファイバー等を用いたネットワーク接続方式が用いられている。
【０００４】
そして、従来、図８に示すように、１つのマスタ装置１００が、メモリ１０１から読み出したデータ「ＡＡ」、「ＢＢ」をスレーブ装置１１０とスレーブ装置１１１にデータを転送する場合、マスタ装置１００内のＣＰＵ、チップセット、入出力ポートで構成されるデータ制御回路１０２を経由して各スレーブ装置１１０、１１１に転送する。この場合、メモリ１０１内に格納されているデータ「ＡＡ」、「ＢＢ」を、スレーブ装置１１０用にデータ「１１０ＡＡ」、「１１０ＢＢ」を読み出すとともに、スレーブ装置１１１用にデータ「１１１ＡＡ」、データ「１１１ＢＢ」を読み出して、データ制御回路１０２に転送し、データ転送回路１０２からデータ「１１０ＡＡ」とデータ「１１０ＢＢ」をスレーブ装値１１０へ、データ「１１１ＡＡ」とデータ「１１１ＢＢ」をスレーブ装置１１１に順次送信する。
【０００５】
すなわち、マスタ装置１００は、スレーブ装置１１０とスレーブ装置１１１に順番に画像データを転送するために、メモリ１０１からスレーブ装置１１０用とスレーブ装置１１１用にそれぞれデータ「ＡＡ」、「ＢＢ」を読み出して、データ制御回路１０２で、スレーブ装置１１０とスレーブ装置１１１に順次転送している。その結果、図９に示すように、データ取得のためのメモリ１０１へのアクセス時間（読み出し時間）を、Ｔとすると、データ「ＡＡ」とデータ「ＢＢ」を各スレーブ装置１１０、１１１用にメモリ１０１にアクセスして取得するのにメモリ１０１にアクセスすると、メモリ１０１へのアクセス時間が４Ｔ時間必要となる。
【０００６】
このようなメモリへのアクセスをデータ毎にスレーブ装置の数だけ行って複数のスレーブ装置に対するデータ転送を行うと、スレーブ装置の数が少なく、かつ、データの転送サイズが小さい場合には、データ転送の全体の処理速度に与える影響はさほど大きくはならないが、例えば、高速のプリンタ装置や広幅のプリンタ装置等のように短時間内に大量のデータを複数のスレーブ装置に転送する場合には、データ転送速度を向上させる上で、改良の必要があった。
【０００７】
そして、従来、マスタノードから複数のスレーブノードに高速のシリアル伝送路を介してデータ転送する場合に、両ノード間でデータの送受信の開始時の同期合せタイミングを円滑にするために、タイミング調整時に、データ伝送時に比較して低速のタイミング調整シーケンスを用いる技術が開示されている（特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記公報記載の従来技術にあっては、データ伝送時に比較して低速のタイミング調整シーケンスを用いてタイミング調整を行っているため、同期合わせを適切に行うことはできるが、同じデータを複数のスレーブノードに送信する場合であっても、送信するスレーブノードの数だけメモリからデータを読み出して、順次送信する必要があり、転送効率が悪いという問題があった。さらに、従来のデータ転送においては、データ転送にエラーが発生すると、同じデータを速やかに転送し直すリトライ処理を行っているため、転送エラー発生時における転送効率の向上が要望されている。
【０００９】
そこで、本発明は、メモリ上の同じ転送対象データを複数の送信先に転送する場合のデータ転送処理を効率的にかつ高速に行うデータ転送装置、データ転送システム、データ転送方法、データ転送プログラム及び記録媒体を提供することを目的としている。
【課題を解決するための手段】
【００１０】
本発明は、上記目的を達成するために、メモリ上の転送対象データを複数の送信先に転送する際に、メモリから読み出された転送対象データのブロックデータを該データの転送先の数に分配し、分配した該ブロックデータをそれぞれ複数の前記送信先に送信することを特徴としている。
【００１１】
また、本発明は、前記転送対象データの転送に関する情報を転送情報として生成し、生成した該送情報を前記転送対象データの送信に先立って前記各送信先に送信することを特徴としてもよい。
【００１２】
さらに、本発明は、前記送信先から前記転送対象データのブロックデータを指定した再送信要求があると、該転送対象データのうち該再送信要求で指定されているブロックデータを前記メモリから読み出して該転送先に送信することを特徴としてもよい。
【００１３】
また、本発明は、前記送信先毎にそれぞれ同じブロックデータを２重に送信する２重送信構成となっていることを特徴としてもよい。
【発明の効果】
【００１４】
本発明によれば、メモリ上の同じ転送対象データを複数の送信先に転送する場合のデータ転送処理を効率的にかつ高速に行うことができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１実施例を適用したプリンタ装置の要部ブロック構成図。
【図２】分配回路の回路構成図。
【図３】データ転送処理を示すシーケンス図。
【図４】ＤＦＥからプリンタエンジンへのデータ転送の説明図。
【図５】第１実施例におけるデータ転送の説明図。
【図６】図５のデータ転送におけるデータ読み取り時間の説明図。
【図７】第２実施例のプリンタ装置の要部ブロック構成図。
【図８】従来のデータ転送方式におけるデータ転送の説明図。
【図９】図８の従来のデータ転送方式におけるデータ読み取り時間の説明図。
【発明を実施するための形態】
【００１６】
以下、本発明の好適な実施例を添付図面に基づいて詳細に説明する。なお、以下に述べる実施例は、本発明の好適な実施例であるので、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明によって不当に限定されるものではなく、また、本実施の形態で説明される構成の全てが本発明の必須の構成要件ではない。
【実施例１】
【００１７】
図１〜図６は、本発明のデータ転送装置、データ転送システム、データ転送方法、データ転送プログラム及び記録媒体の第１実施例を示す図であり、図１は、本発明のデータ転送装置、データ転送システム、データ転送方法、データ転送プログラム及び記録媒体の第１実施例を適用したプリンタ装置１の要部ブロック構成図である。
【００１８】
図１において、プリンタ装置（データ転送システム）１は、データ転送装置としてのＤＦＥ（Digital Front End Saber）２、複数の転送先装置としてのプリンタエンジン３ａ、３ｂ等を備えているとともに、図示しないが、操作表示部、給紙部、排紙部、通信インターフェイス等を備えており、通信インターフェイスには、専用回線やＬＡＮ等を介してプリンタ装置１に印刷データと印刷情報を送信して印刷要求を行うコンピュータ等のホスト装置が接続される。
【００１９】
ＤＦＥ２は、ＣＰＵ（Central Processing Unit ）１１、メモリ１２、データ制御回路１３及び転送先装置であるプリンタエンジン３ａ、３ｂの数だけの第１送信ポート４ａ、第２送信ポート４ｂと第１送受信ポート５ａ、第２送受信ポート５ｂ等を備えており、データ制御回路１３は、ＤＭＡＣ（Direct Memory Access Controller）２１、バス２２及び分配回路２３等を備えている。
【００２０】
また、プリンタエンジン３ａ、３ｂは、それぞれ受信ポート３１ａ、３１ｂ、送受信ポート３２ａ、３２ｂ、ＣＰＵ３３ａ、３３ｂ、データ制御回路３４ａ、３４ｂ及びメモリ３５ａ、３５ｂ等を備えているとともに、所定の画像形成方式（例えば、電子写真方式やインクジェット方式等）で用紙（シート状部材）に画像形成するエンジン本体や該エンジン本体に用紙を供給する用紙供給部等を備えており、データ制御回路３４ａ、３４ｂは、それぞれチェック回路３６ａ、３６ｂを備えている。
【００２１】
ＤＦＥ２は、ホスト装置から印刷データや印刷情報を受け取って、該印刷データに対してＣＰＵ１１の制御下でＲＩＰ（Raster Image Processor）処理を行って、処理後のデータ（描画データ）をメモリ１２上に格納する。
【００２２】
メモリ１２は、例えば、ＲＡＭ（Random Access Memory）等が用いられ、上記ＲＩＰ処理されて展開された描画データ（転送対象データ）と該描画データに関連する転送情報及び該描画データのＤＭＡ（Direct Memory Access）転送に用いられるディスクリプタがＣＰＵ１１によって書き込まれる。
【００２３】
データ制御回路１３は、バス２２に、上記メモリ１２が接続されているとともに、分配手段である分配回路２３及び送信手段である第１送受信ポート５ａと第２送受信ポート５ｂが接続されており、分配回路２３には、第１送信ポート４ａと第２送信ポート４ｂが接続されている。
【００２４】
第１送信ポート４ａ及び第２送信ポート４ｂは、送信専用のポートであり、それぞれプリンタエンジン３ａの受信ポート３１ａ及びプリンタエンジン３ｂの受信ポート３１ｂに接続されている。第１送信ポート４ａ及び第２送信ポート４ｂは、メモリ１２からＤＭＡＣ（読み出し手段）２１によって読み出されて、チェックデジット情報等が付加されて、分配回路２３を介して送られてきた描画データを、それぞれ対応するプリンタエンジン３ａ、３ｂの受信ポート３１ａ、３１ｂに送信する。
【００２５】
第１送受信ポート５ａ及び第２送受信ポート５ｂは、双方向のポートであり、それぞれバス２２を介してメモリ１２から受け取った印刷情報の対応するプリンタエンジン３ａ、３ｂの送受信ポート３２ａ、３２ｂへの送信や送受信ポート３２ａ、３２ｂから送られてくる情報、例えば、エラー情報等の受信を行う。第１送受信ポート５ａ及び第２送受信ポート５ｂは、プリンタエンジン３ａやプリンタエンジン３ｂから送られてきた情報をバス２２を介してＣＰＵ１１に渡し、送受信手段として機能している。
【００２６】
分配回路２３は、例えば、図２に示すように回路構成されており、バス２２と第１送信ポート４ａとの接続／切り離しを行う第１スイッチ２３ａとバス２２と第２送信ポート４ｂとの接続／切り離しを行う第２スイッチ２３ｂを備えている。第１スイッチ２３ａ及び第２スイッチ２３ｂは、例えば、半導体のＭＯＳ（Metal Oxide Semiconductor）スイッチやゲートスイッチ、ドライバＩＣ（Integrated Circuit）、レジスタ等が用いられ、ＣＰＵ１１の制御下で、オン／オフして、メモリ１２から読み出されたデータの第１送信ポート４ａ及び第２送信ポート４ｂへの出力を許可／禁止する。すなわち、ＣＰＵ１１は、各プリンタエンジン３ａ、３ｂに同じデータを送信するときには、第１スイッチ２３ａと第２スイッチ２３ｂをオンにし、プリンタエンジン３ａとプリンタエンジン３ｂのいずれか一方にのみデータを送信するときには、データを送信する方のプリンタエンジン３ａ、３ｂ側のスイッチ２３ａ、２３ｂをオンに、データを送信しない方のプリンタエンジン３ａ、３ｂ側のスイッチ２３ａ、２３ｂをオフにする。
【００２７】
ＣＰＵ（制御手段）１１は、メモリ１２に格納されている描画データのプリンタエンジン３ａ、３ｂへの転送においては、まず、転送対象の描画データに関する転送情報、例えば、ジョブ情報、用紙サイズ情報及びデータ量情報等の印刷情報を、第１送受信ポート５ａ及び第２送受信ポート５ｂを使用して、対応するプリンタエンジン３ａ、３ｂに送信し、その後、メモリ１２にディスクリプタを用意して、ＤＭＡＣ２１によって、該メモリ１２から描画データと該描画データのエラーチェックに用いるチェックデジットを、送信ポート４ａ、４ｂを使用してプリンタエンジン３ａ、３ｂに送信させる。
【００２８】
プリンタエンジン３ａ及びプリンタエンジン３ｂは、描画データの受信に先立ってＤＦＥ２の送受信ポート５ａ、５ｂから送信されてきた転送情報を、送受信手段である送受信ポート３２ａ、３２ｂが受信すると、ＣＰＵ（制御手段）３３ａ、３３ｂが、該転送情報をＣＰＵ３３ａ、３３ｂ内のレジスタ（図示略）に保持し、その後に、受信ポート（受信手段）３１ａ、３１ｂがＤＦＥ２から送信されてくる描画データを受信するのを待つ。
【００２９】
プリンタエンジン３ａ、３ｂは、受信ポート３１ａ、３１ｂが描画データを受信すると、データ制御回路３４ａ、３４ｂのチェック回路（エラーチェック手段）３６ａ、３６ｂを経由してメモリ３５ａ、３５ｂに格納し、チェック回路３６ａ、３６ｂが描画データにエラーを検出すると、従来のように、データ転送を中止してデータ転送のやり直しを行うことなく、受信した描画データのうち、エラーが何バイト目で発生したか、すなわち、何フレーム目でエラーが発生したかを示すエラー情報（エラーフレーム情報）をＣＰＵ３３ａ、３３ｂが取得して内部レジスタ（エラー情報保管手段）等に記憶して、全ての描画データの受信が完了した後、内部レジスタ等に記憶したエラー情報（エラーフレーム情報）を送受信ポート３２ａ、３２ｂを経由して、ＤＦＥ２に送信する。このエラーチェックとしては、例えば、上記チェックデジット情報を用いた通常のエラーチェックを用いることができる。
【００３０】
ＤＦＥ２は、第１送受信ポート５ａ、第２送受信ポート５ｂがプリンタエンジン３ａ、３ｂからエラー情報を受信すると、ＣＰＵ１１が、エラーの発生したフレームの描画データ（フレームデータ）をメモリ１２から読み出して、送受信ポート５ａ、５ｂからプリンタエンジン３ａ、３ｂに再送信し、プリンタエンジン３ａ、３ｂのＣＰＵ３３ａ、３３ｂは、描画データが再送信されてくると、再送されてきた描画データをメモリ３５ａ、３５の対応するデータ領域に上書きして修正する。
【００３１】
上記エラーの発生した描画データの再送信は、エラーの発生したプリンタエンジン３ａ、３ｂに対してのみ行うため、分配回路２３を介さずに、送受信ポート５ａ、５ｂと送受信ポート３２ａ、３２ｂの伝送路を介して行う。
【００３２】
そして、プリンタ装置１は、ＲＯＭ、ＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory ）、ＥＰＲＯＭ、フラッシュメモリ、フレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory ）、ＣＤ−ＲＷ（Compact Disc Rewritable ）、ＤＶＤ（Digital Versatile Disk）、ＳＤ（Secure Digital）カード、ＭＯ（Magneto-Optical Disc）等のコンピュータが読み取り可能な記録媒体に記録されている本発明のデータ転送方法を実行するデータ転送プログラムを読み込んでＤＦＥ２のＣＰＵ１１が読み取るＲＯＭ等に導入することで、また、プリンタエンジン３ａ、３ｂのＣＰＵ３３ａ、３３ｂが読み取るＲＯＭ等に導入することで、後述する描画データを効率的にかつ高速に転送するデータ転送方法を実行するデータ転送システムとして構築されている。このデータ転送プログラムは、アセンブラ、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）等のレガシープログラミング言語やオブジェクト指向ブログラミング言語等で記述されたコンピュータ実行可能なプログラムであり、上記記録媒体に格納して頒布することができる。
【００３３】
次に、本実施例の作用を説明する。本実施例のプリンタ装置１は、データ転送装置であるＤＦＥ２から転送先装置であるプリンタエンジン３ａ、３ｂへのデータ転送を効率的にかつ高速に行う。以下、図３及び図４に基づいて、ＤＦＥ２のメモリ１２からプリンタエンジン３ａ、３ｂに同じ描画データを転送してプリンタエンジン３ａ、３ｂで印刷処理する場合について説明する。なお、図３及び図４には、説明を明確にするために、ＤＦＥ２からプリンタエンジン３ａに転送する際の処理工程のみについて示されているが、ＤＦＥ２からプリンタエンジン３ｂに対しても同様である。
【００３４】
すなわち、プリンタ装置１は、図３に示すように、ホスト装置から受け取った印刷データを印刷する場合、ＤＦＥ２のＣＰＵ１１によって該印刷データを描画データに展開（ＲＩＰ処理）してメモリ１２に保管し、ＣＰＵ１１は、図４に示すように、さらに、該印刷データである描画データの転送情報、例えば、ジョブ情報、用紙サイズ情報、データ量情報等の印刷情報（転送情報）を第１送受信ポート５ａ及び第２送受信ポート５ｂからプリンタエンジン３ａ、３ｂの送受信ポート３２ａ、３２ｂに送信する。
【００３５】
プリンタエンジン３ａ、３ｂは、図３に示すように、送受信ポート３２ａ、３２ｂが印刷情報を受信すると、ＣＰＵ３３ａ、３３ｂに送り、ＣＰＵ３３ａ、３３ｂが、受け取った印刷情報を内部のレジスタに保存して、描画データの受信ポートとして受信ポート３１ａ、３１ｂを設定して、受信ポート３１ａ、３１ｂが描画データを受信するのを待つ。また、プリンタエンジン３ａ、３ｂのＣＰＵ３３ａ、３３ｂは、図３及び図４に示すように、印刷情報を受信した旨の受信連絡を送受信ポート３２ａ、３２ｂからＤＦＥ２の第１送受信ポート５ａ、第２送受信ポート５ｂに送信する。
【００３６】
ＤＦＥ２の第１送受信ポート５ａ及び第２送受信ポート５ｂは、印刷情報の受信連絡を受信すると、図３及び図４に示すように、該受信連絡をＣＰＵ１１に送って、ＣＰＵ１１が、描画データの全ての送信先から受信連絡を受信すると、ＤＭＡＣ２１にＤＭＡ転送の設定（転送対象データのメモリ１２上での先頭アドレス、データ量等をメモリ１２上のディスクリプタへの設定）を行い、ＤＭＡ転送の設定が完了すると、ＤＭＡＣ２１にＤＭＡ転送を開始させる。ＤＭＡＣ２１は、ＤＭＡ転送の開始が指示されると、図３及び図４に示すように、メモリ１２のディスクリプタを読み込んで、ディスクリプタのアドレスに格納されている描画データをメモリ１２からパケット単位（ブロック単位、フレーム単位）で読み取る。ＤＭＡＣ２１は、読み取った同じ描画データにチェックデジットを付加して、バス２２を通して分配回路２３で、同じ描画データを第１送信ポート４ａと第２送信ポート４ｂに分割して渡し、第１送信ポート４ａと第２送信ポート４ｂからプリンタエンジン３ａの受信ポート３１ａ及びプリンタエンジン３ｂの受信ポート３１ｂに同時に送信する。
【００３７】
プリンタエンジン３ａ、３ｂは、受信ポート３１ａ、３１ｂが描画データを受信すると、図３及び図４に示すように、データ制御回路３４ａ、３４ｂのチェック回路３６ａ、３６ｂで、チェックデジットを利用して、描画データのエラーチェックを行い、チェック後の描画データをメモリ３５ａ、３５ｂに格納するとともに、描画データのチェック結果をＣＰＵ３３ａ、３３ｂの内部レジスタに格納する。
【００３８】
すなわち、このテータ転送の途中で、描画データ（印刷データ）に転送エラーが発生したことをチェック回路３６ａ、３６ｂが検出すると、従来技術にあっては、エラーを検出した時点でデータ転送を中止して、最初からデータ転送をやり直していたが、本実施例のプリンタ装置１においては、エラーの発生箇所（エラーが何バイト目で発生したかのエラー情報）をＣＰＵ３３ａ、３３ｂが内部レジスタ等に記憶し、全てのデータ転送が終了した後に後述するようにエラー対応処理を行う。
【００３９】
すなわち、プリンタエンジン３ａ、３ｂのＣＰＵ３３ａ、３３ｂは、先に受信してレジスタに保管されている印刷情報を参照して、全ての描画データを受信してメモリ３５ａ、３５ｂに格納したと判断すると、内部レジスタを参照して、図３に示すように、描画データの受信にエラーが発生していたかチェックし、エラーが発生していないときには、図４に示すように、正常にデータ転送が終了した旨の正常終了通知を、送受信ポート３２ａ、３２ｂからＤＦＥ２の第１送受信ポート５ａ及び第２送受信ポート５ｂに送信する。第１送受信ポート５ａ及び第２送受信ポート５ｂは、正常終了通知を受信すると、ＣＰＵ１１に該正常終了通知を渡して、処理を終了する。上記プリンタエンジン３ａ、３ｂのＣＰＵ３３ａ、３３ｂは、上記内部レジスタのチェック結果情報を参照してエラー情報が書き込まれていると、図３及び図４に示すように、該エラー情報（エラーの発生したバイト情報等）を送受信ポート３２ａ、３２ｂからＤＦＥ２の第１送受信ポート５ａ及び第２送受信ポート５ｂに送信する。第１送受信ポート５ａ及び第２送受信ポート５ｂは、エラー情報を受信すると、ＣＰＵ１１に該エラー情報を渡し、ＣＰＵ１１は、該エラー情報を参照して、メモリ１２の描画データのうちエラーの発生したデータ部分を読み出す。ＣＰＵ１１は、メモリ１２から読み出したエラー発生部分の描画データを再送情報として、第１送受信ポート５ａ、５ｂからプリンタエンジン３ａ、３ｂの送受信ポート３２ａ、３２ｂに送信する。
【００４０】
プリンタエンジン３ａ、３ｂの送受信ポート３２ａ、３２ｂは、再送情報を受信すると、受信した再送情報をＣＰＵ３３ａ、３３ｂに渡し、ＣＰＵ３３ａ、３３ｂは、受け取った再送情報である描画データによってメモリ３５ａ、３５ｂに格納されている描画データの対応データ部分を上書きして修正保管する。
【００４１】
すなわち、プリンタ装置１は、図５に示すように、マスタノードであるＤＦＥ２が、例えば、メモリ１２に格納されている「ＡＡ」、「ＢＢ」という同じ描画データを、２つの転送先装置であるプリンタエンジン３ａ、３ｂに転送する場合、転送対象の描画データ「ＡＡ」、「ＢＢ」を１回だけメモリ１２から読み出して、データ制御回路１３に送り、データ制御回路１３の分配回路２３によって同じ描画データ「ＡＡ」、「ＢＢ」を、第１送信ポート４ａと第２送信ポート４ｂに分割して渡して、第１送信ポート４ａと第２送信ポート４ｂからそれぞれプリンタエンジン３ａとプリンタエンジン３ｂに同じ描画データ「ＡＡ」、「ＢＢ」を転送する。
【００４２】
したがって、図６に示すように、描画データ「ＡＡ」及び描画データ「ＢＢ」をそれぞれメモリ１２から読み出すのに読み出し時間Ｔだけ要する場合、２Ｔの読み出し時間で、２つの転送先に転送する転送対象の描画データ「ＡＡ」及び描画データ「ＢＢ」を読み出すことができ、図９に示した従来の半分の時間でデータの読み取りを行うことができる。この読み取り時間の短縮効果は、メモリ１２から読み取った描画データの転送先の数が多いほど大きい。
【００４３】
このように、本実施例のプリンタ装置１は、データ転送装置であるＤＦＥ２が、メモリ１２上の転送対象データを複数の送信先であるプリンタエンジン３ａ、３ｂに転送する際に、メモリ１２から読み出された転送対象データのフレームデータを分配回路２３によって該データの転送先の数に分配し、分配された該フレームデータを第１送信ポート４ａ、第２送信ポート４ｂからそれぞれ複数のプリンタエンジン３ａ、３ｂに送信している。
【００４４】
したがって、同じデータを転送するデータ転送先の数に関わらず、該データのメモリからの読み取り回数を１回に抑えて転送効率を向上させることができ、データ読み取り時間、ひいては、データ転送に要する総処理時間を短縮することができる。
【００４５】
また、本実施例のプリンタ装置１は、ＤＦＥ２が、転送対象データの転送に関する情報を転送情報である印刷情報を生成して、該印刷情報を送信ポート４ａ、４ｂとは異なる送受信ポート５ａ、５ｂから前記転送対象データの送信に先立って各プリンタエンジン３ａ、３ｂに送信している。
【００４６】
したがって、転送対象データの転送に関する情報を前もって転送先に通知して、適切な転送データの管理を行えるようにすることができ、データ転送を適切なものとすることができる。
【００４７】
さらに、本実施例のプリンタ装置１は、ＤＦＥ２が、送信先であるプリンタエンジン３ａ、３ｂから転送対象データのフレームデータを指定した再送信要求があると、該転送対象データのうち該再送信要求に応じて該指定されているフレームデータをメモリ１２から読み出して送受信ポート５ａ、５ｂから該プリンタエンジン３ａ、３ｂに送信する再送信処理を行っている。
【００４８】
したがって、従来のように、転送エラーが発生すると、該エラーの発生時点でデータの転送のやり直しを行うことなく、全てのデータ転送が完了した後に、エラーの発生したフレームデータのみを再送することができ、データ転送の処理効率を向上させることができるとともに、確実にデータを転送することができる。
【実施例２】
【００４９】
図７は、本発明の本発明のデータ転送装置、データ転送システム、データ転送方法、データ転送プログラム及び記録媒体の第２実施例を適用したプリンタ装置１００の要部ブロック構成図である。
【００５０】
なお、本実施例は、上記第１実施例のプリンタ装置１と同様のプリンタ装置に適用したものであり、本実施例の説明において、上記第１実施例と同様の構成部分には、同一の符号を付してその説明を省略または簡略化する。
【００５１】
図７において、プリンタ装置１００は、データ転送装置としてのＤＦＥ１０１、複数の転送先装置としての２つのプリンタエンジン１０２ａ、１０２ｂ等を備えているとともに、図示しないが、操作表示部、給紙部、排紙部、通信インターフェイス等を備えており、通信インターフェイスには、専用回線やＬＡＮ等を介してプリンタ装置１００に印刷データと印刷情報を送信して印刷要求を行うコンピュータ等のホスト装置が接続される。
【００５２】
ＤＦＥ１０１は、ＣＰＵ１１、メモリ１２、データ制御回路１１０及び転送先装置であるプリンタエンジン１０２ａ、１０２ｂの数だけの送信手段である第１送信ポート４ａａ、４ａｂ、第２送信ポート４ｂａ、４ｂｂと送受信手段である第１送受信ポート５ａ、第２送受信ポート５ｂ等を備えており、データ制御回路１１０は、ＤＭＡＣ２１、バス２２及び分配回路１１１等を備えている。
【００５３】
また、プリンタエンジン１０２ａ、１０２ｂは、それぞれ受信手段である受信ポート３１ａ、３１ｂ、送受信手段である送受信ポート３２ａ、３２ｂ、ＣＰＵ３３ａ、３３ｂ、データ制御回路１２０ａ、１２０ｂ及びメモリ３５ａ、３５ｂ等を備えているとともに、所定の画像形成方式（例えば、電子写真方式やインクジェット方式等）で用紙（シート状部材）に画像形成するエンジン本体や該エンジン本体に用紙を供給する用紙供給部等を備えており、データ制御回路１２０ａ、１２０ｂは、それぞれバッファ１２１ａａ、１２１ａｂ、１２１ｂａ、１２１ｂｂ、チェック回路１２２ａａ、１２２ａｂ、１２２ｂａ、１２２ｂｂ、セレクタ１２３ａ、１２３ｂ、内部バス１２４ａ、１２４ｂ、転送データフレームカウンタ１２５ａ、１２５ｂ及び転送情報レジスタ１２６ａ、１２６ｂ等を備えている。
【００５４】
ＤＦＥ１０１は、第１実施例のＤＦＥ２と同様に、ホスト装置から印刷データや印刷情報を受け取って、該印刷データに対してＣＰＵ１１の制御下でＲＩＰ処理を行って、処理後のデータ（描画データ）をメモリ１２上に格納する。
【００５５】
データ制御回路１１０は、バス２２に、上記メモリ１２が接続されているとともに、分配回路１１１とデータ制御回路１１０外の第１送受信ポート５ａ及び第２送受信ポート５ｂが接続されており、分配回路１１１には、第１送信ポート４ａａ、４ａｂと第２送信ポート４ｂａ、４ｂｂが接続されている。
【００５６】
第１送信ポート４ａａ、４ａｂ及び第２送信ポート４ｂａ、４ｂｂは、送信専用のポートであり、それぞれプリンタエンジン３ａの受信ポート３１ａａ、３１ａｂ及びプリンタエンジン３ｂの受信ポート３１ｂａ、３１ｂｂに接続されている。第１送信ポート４ａａ、４ａｂ及び第２送信ポート４ｂａ、４ｂｂは、メモリ１２からＤＭＡＣ２１によって読み出されて、チェックデジット情報等が付加されて、分配回路１１１を介して送られてきた描画データを、それぞれ対応するプリンタエンジン３ａの受信ポート３１ａａ、３１ａｂ及びプリンタエンジン３ｂの受信ポート３１ｂａ、３１ｂｂに送信する。
【００５７】
第１送受信ポート５ａ及び第２送受信ポート５ｂは、双方向のポートであり、それぞれバス２２を介してメモリ１２から受け取った印刷情報の対応するプリンタエンジン１０２ａ、１０２ｂの送受信ポート３２ａ、３２ｂへの送信や送受信ポート３２ａ、３２ｂから送られてくる情報、例えば、エラー情報等の受信を行う。第１送受信ポート５ａ及び第２送受信ポート５ｂは、プリンタエンジン３ａやプリンタエンジン３ｂから送られてきた情報をバス２２を介してＣＰＵ１１に渡す。
【００５８】
分配回路（分配手段）１１１は、図示しないが、第１実施例の分配回路２３と同様の構成であって、バス２２と第１送信ポート４ａａ、４ａｂとの接続／切り離しを行う第１スイッチとバス２２と第２送信ポート４ｂａ、４ｂｂとの接続／切り離しを行う第２スイッチを備えており、第１スイッチ及び第２スイッチは、第１実施例の場合と同様に、例えば、半導体のＭＯＳスイッチやゲートスイッチ、ドライバＩＣ、レジスタ等が用いられる。分配回路１１１は、ＣＰＵ１１の制御下で、第１スイッチと第２スイッチをオン／オフして、メモリ１２から読み出された描画データの第１送信ポート４ａａ、４ａｂ及び第２送信ポート４ｂａ、４ｂｂへの出力を許可／禁止する。すなわち、ＣＰＵ１１は、各プリンタエンジン１０２ａ、１０２ｂに同じデータを送信するときには、第１スイッチと第２スイッチをオンにし、プリンタエンジン１０２ａとプリンタエンジン１０２ｂのいずれか一方にのみ描画データを送信するときには、描画データを送信する方のプリンタエンジン１０２ａ、１０２ｂ側の第１スイッチまたは第２スイッチをオンに、描画データを送信しない方のプリンタエンジン１０２ａ、１０２ｂ側の第１スイッチまたは第２スイッチをオフにする。
【００５９】
プリンタ装置１００は、上述のように、ＤＦＥ１０１から各プリンタエンジン１０２ａ、１０２ｂへの描画データの送信路が、第１送信ポート４ａａ、４ａｂと受信ポート３１ａａ、３１ａｂ及び第２送信ポート４ｂａ、４ｂｂと受信ポート３１ｂａ、３１ｂｂによって二重化されている。
【００６０】
ＣＰＵ１１は、メモリ１２に格納されている描画データのプリンタエンジン１０２ａ、１０２ｂへの転送においては、まず、転送対象の描画データに関する転送情報である印刷情報を、第１送受信ポート５ａ及び第２送受信ポート５ｂを使用して、対応するプリンタエンジン１０２ａ、１０２ｂに送信し、その後、メモリ１２にディスクリプタを用意して、ＤＭＡＣ２１によって、該メモリ１２から描画データと該描画データのエラーチェックに用いるチェックデジットを、第１送信ポート４ａａ、４ａｂ及び第２送信ポート４ｂａ、４ｂｂを使用してプリンタエンジン１０２ａ、１０２ｂに送信させる。
【００６１】
プリンタエンジン１０２ａ及びプリンタエンジン１０２ｂは、描画データの受信に先立ってＤＦＥ１０１の送受信ポート５ａ、５ｂから送信されてきた印刷情報を、送受信ポート３２ａ、３２ｂが受信すると、ＣＰＵ３３ａ、３３ｂが、該転送情報をＣＰＵ３３ａ、３３ｂ内のレジスタ（図示略）に保持し、その後に、受信ポート３１ａａ、３１ａｂ及び受信ポート３１ｂａ、３１ｂｂがＤＦＥ１０１から送信されてくる描画データを受信するのを待つ。
【００６２】
プリンタエンジン１０２ａ、１０２ｂは、受信ポート３１ａａ、３１ａｂ及び受信ポート３１ｂａ、３１ｂｂが描画データを受信すると、データ制御回路１２０ａのバッファ１２１ａａとバッファ１２１ａｂ及びデータ制御回路１２０ｂのバッファ１２１ｂａとバッファ１２１ｂｂに送って一時保管し、このバッファ１２１ａａ、１２１ａｂ及びバッファ１２１ｂａ、１２１ｂｂの描画データにエラーがあるか否かを対応するチェック回路１２２ａａ、１２２ａｂ及びチェック回路１２２ｂａ、１２２ｂｂでチェックする。
【００６３】
データ制御回路１２０ａは、バッファ１２１ａａとバッファ１２１ａｂのいずれの描画データにおいてもエラーがないときには、セレクタ１２３ａが、予め設定されているバッファ、例えば、バッファ１２１ａａの描画データ（データフレーム）を選択してバス１２４ａを介してメモリ３５ａに送って、ＣＰＵ３３ａがメモリ３５ａの所定領域に格納し、バッファ１２１ａａとバッファ１２１ａｂのいずれかの描画データにエラーがあると、セレクタ１２３ａが、エラーの発生していない方の描画データを選択してバス１２４ａを介してメモリ３５ａに送って、ＣＰＵ３３ａがメモリ３５ａの所定領域に格納する。データ制御回路１２０ａは、バッファ１２１ａａとバッファ１２１ａｂのいずれの描画データにおいてもエラーが発生しているときには、バッファ１２１ａａ、１２１ａｂ内の描画データを破棄して、該描画データのメモリ３５ａへの格納を中止するとともに、異常フレームナンバ情報として転送データフレームカウンタ１２５ａの値を転送情報レジスタ１２６ａに記憶する。
【００６４】
データ制御回路１２０ｂは、データ制御回路１２０ａと同様に、バッファ１２１ｂａとバッファ１２１ｂｂのうち正常な描画データをセレクタ１２３ｂで選択してメモリ３５ｂに格納し、バッファ１２１ｂａとバッファ１２１ｂｂのいずれの描画データにおいてもエラーが発生しているときには、バッファ１２１ｂａ、１２１ｂｂ内の描画データを破棄して、該描画データのメモリ３５ｂへの格納を中止するとともに、異常フレームナンバ情報として転送データフレームカウンタ１２５ｂの値を転送情報レジスタ１２６ｂに記憶する。
【００６５】
そして、プリンタエンジン１０２ａ、１０２ｂは、ＤＦＥ１０１から全ての描画データが転送されてくると、ＣＰＵ３３ａ、３３ｂが、転送情報レジスタ１２６ａ、１２６ｂに異常フレームナンバ情報が記憶されているかチェックし、異常フレームナンバ情報が記憶されていると、送受信ポート３２ａ、３２ｂを経由してＤＦＥ１０１の第１送受信ポート５ａ、第２送受信ポート５ｂに転送して、該フレームの描画データ（フレームデータ）のみ再送を促す処理を行う。
【００６６】
ＤＦＥ１０１は、第１送受信ポート５ａ、第２送受信ポート５ｂがプリンタエンジン１０２ａ、１０２ｂからエラー情報として異常フレームナンバ情報を受信すると、ＣＰＵ１１が、エラーの発生した描画データ（異常フレームナンバのフレームの描画データ）をメモリ１２から読み出して、送受信ポート５ａ、５ｂからプリンタエンジン１０２ａ、１０２ｂに再送信し、プリンタエンジン１０２ａ、１０２ｂのＣＰＵ３３ａ、３３ｂは、描画データが再送信されてくると、再送されてきた描画データをメモリ３５ａ、３５の対応するデータ領域に上書きして修正する。
【００６７】
次に、本実施例の作用を説明する。本実施例のプリンタ装置１は、描画データを二重化された伝送路を経由させて転送することで、転送処理速度を向上させている。
【００６８】
すなわち、プリンタ装置１００は、ホスト装置から受け取った印刷データを、ＤＦＥ１０１のＣＰＵ１１によって描画データに展開（ＲＩＰ処理）してメモリ１２に保管し、ＣＰＵ１１が、さらに、該描画データの転送情報（印刷情報）を第１送受信ポート５ａ及び第２送受信ポート５ｂからプリンタエンジン１０２ａ、１０２ｂの送受信ポート３２ａ、３２ｂに送信する。
【００６９】
プリンタエンジン１０２ａ、１０２ｂは、送受信ポート３２ａ、３２ｂが印刷情報を受信すると、ＣＰＵ３３ａ、３３ｂに送り、ＣＰＵ３３ａ、３３ｂが、受け取った印刷情報を内部のレジスタに保存して、描画データの受信ポートとして受信ポート３１ａａ、３１ａｂ及び受信ポート３１ｂａ、３１ｂｂを設定して、受信ポート３１ａａ、３１ａｂ及び受信ポート３１ｂａ、３１ｂｂが描画データを受信するのを待つ。また、プリンタエンジン１０２ａ、１０２ｂのＣＰＵ３３ａ、３３ｂは、印刷情報を受信した旨の受信連絡を送受信ポート３２ａ、３２ｂからＤＦＥ１０１の第１送受信ポート５ａ、第２送受信ポート５ｂに送信する。
【００７０】
ＤＦＥ１０１の第１送受信ポート５ａ及び第２送受信ポート５ｂは、印刷情報の受信連絡を受信すると、該受信連絡をＣＰＵ１１に送り、ＣＰＵ１１は、描画データの全ての送信先から受信連絡を受信すると、ＤＭＡＣ２１にＤＭＡ転送の設定を行い、ＤＭＡ転送の設定が完了すると、ＤＭＡＣ２１にＤＭＡ転送を開始させる。ＤＭＡＣ２１は、ＤＭＡ転送の開始が指示されると、メモリ１２のディスクリプタを読み込んで、ディスクリプタのアドレスに格納されている描画データをメモリ１２からパケット単位で読み取る。ＤＭＡＣ２１は、読み取った同じ描画データにチェックデジットを付加して、バス２２を通して分配回路１１１で、同じ描画データを第１送信ポート４ａａ、４ａｂと第２送信ポート４ｂａ、４ｂｂに分割して渡し、第１送信ポート４ａａ、４ａｂと第２送信ポート４ｂａ、４ｂｂからプリンタエンジン１０２ａの受信ポート３１ａａ、３１ａｂ及びプリンタエンジン１０２ｂの受信ポート３１ｂａ、３１ｂｂに同時に送信する。
【００７１】
プリンタエンジン１０２ａ、１０２ｂは、受信ポート３１ａａ、３１ａｂ及び受信ポート３１ｂａ、３１ｂｂが描画データを受信すると、データ制御回路１２０ａ、１２０ｂのバッファ１２１ａａ、１２１ａｂ及びデータ制御回路１２０ｂのバッファ１２１ｂａ、１２１ｂｂに送って一時保管し、このバッファ１２１ａａ、１２１ａｂ及びバッファ１２１ｂａ、１２１ｂｂの描画データにエラーがあるか否かを、対応するチェック回路１２２ａａ、１２２ａｂ及びチェック回路１２２ｂａ、１２２ｂｂでチェックする。データ制御回路１２０ａ及びデータ制御回路１２０ｂは、それぞれのバッファ１２１ａａ、１２１ａｂ及びバッファ１２１ｂａ、１２１ｂｂのいずれの描画データにおいてもエラーがないときには、セレクタ１２３ａ、１２３ｂが、予め設定されているバッファ、例えば、バッファ１２１ａａ、１２１ｂａの描画データ（データフレーム）を選択してバス１２４ａ、１２４ｂを介してメモリ３５ａ、３５ｂに送って、ＣＰＵ３３ａ、３３ｂがメモリ３５ａ、３５ｂの所定領域に格納し、バッファ１２１ａａとバッファ１２１ａｂまたはバッファ１２１ｂａとバッファ１２１ｂｂのいずれかの描画データにエラーがあると、セレクタ１２３ａ、１２３ｂが、エラーの発生していない方の描画データを選択してバス１２４ａ、１２４ｂを介してメモリ３５ａ、３５ｂに送って、ＣＰＵ３３ａ、３３ｂがメモリ３５ａ、３５ｂの所定領域に格納する。また、データ制御回路１２０ａ、１２０ｂは、バッファ１２１ａａとバッファ１２１ａｂやバッファ１２１ｂａとバッファ１２１ｂｂのいずれの描画データにおいてもエラーが発生しているときには、バッファ１２１ａａ、１２１ａｂ、バッファ１２１ｂａ、１２１ｂｂ内の描画データを破棄して、該描画データのメモリ３５ａ、３５ｂへの格納を中止するとともに、異常フレームナンバ情報として転送データフレームカウンタ１２５ａ、１２５ｂの値を転送情報レジスタ１２６ａ、１２６ｂに記憶する。
【００７２】
すなわち、この二重化された伝送路を利用したテータ転送の途中において、描画データ（印刷データ）に転送エラーが発生したことをチェック回路１２２ａａ、１２２ａｂやチェック回路１２２ｂａ、１２２ｂｂが検出すると、エラーの発生箇所（エラーが何バイト目で発生したかの異常フレームナンバ情報）を転送情報レジスタ１２６ａ、１２６ｂに記憶し、全てのデータ転送が終了した後に後述するようにエラー対応処理を行う。
【００７３】
すなわち、プリンタエンジン１０２ａ、１０２ｂのＣＰＵ３３ａ、３３ｂは、先に受信してレジスタに保管されている印刷情報を参照して、全ての描画データを受信してメモリ３５ａ、３５ｂに格納したと判断すると、転送情報レジスタ１２６ａ、１２６ｂに異常フレームナンバ情報が記憶されているかチェックし、異常フレームナンバ情報が記憶されていると、送受信ポート３２ａ、３２ｂを経由してＤＦＥ１０１の第１送受信ポート５ａ、第２送受信ポート５ｂに転送して、該フレームの描画データのみ再送を促す処理を行う。
【００７４】
ＤＦＥ１０１は、第１送受信ポート５ａ、第２送受信ポート５ｂがプリンタエンジン１０２ａ、１０２ｂからエラー情報として異常フレームナンバ情報を受信すると、ＣＰＵ１１が、エラーの発生した描画データ（異常フレームナンバのフレームの描画データ）をメモリ１２から読み出して、送受信ポート５ａ、５ｂからプリンタエンジン１０２ａ、１０２ｂに再送信し、プリンタエンジン１０２ａ、１０２ｂのＣＰＵ３３ａ、３３ｂは、再送信されてきた描画データを送受信ポート３２ａ、３２ｂが受信すると、再送されてきた描画データをメモリ３５ａ、３５の対応するデータ領域に上書きして修正する。
【００７５】
このように、本実施例のプリンタ装置１００は、送信先であるプリンタエンジン１０２ａ、１０２ｂ毎に送信ポート４ａａ、４ａｂ及び送信ポート４ｂａ、４ｂｂを備え、各プリンタエンジン１０２ａ、１０２ｂに対して同じデータを２重化して送信している。
【００７６】
したがって、２重化した通信経路によって正常に転送できたデータのみを受信データとして採用して、データ転送の正確性を向上させることができるとともに、再転送の発生する機会を抑制して、処理速度をより一層向上させることができる。
【００７７】
また、本実施例においても、転送エラーが発生した場合に、全てのデータの転送が完了した後に、エラーの発生したブロックデータ（フレームデータ）のみを再送しているため、より一層転送効率を向上させることができ、より一層転送処理速度を向上させることができる。
【００７８】
以上、本発明者によってなされた発明を好適な実施例に基づき具体的に説明したが、本発明は上記実施例で説明したものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【００７９】
本発明は、制御部等のデータ転送装置からエンジン等の複数の転送先装置に転送するプリンタ装置、プリンタ装置等のデータ転送装置、データ転送システム、データ転送方法、データ転送プログラム及び記録媒体に利用することができる。
【符号の説明】
【００８０】
１  プリンタ装置
２  ＤＦＥ
３ａ、３ｂ  プリンタエンジン
１１  ＣＰＵ
１２  メモリ
１３  データ制御回路
４ａ  第１送信ポート
４ｂ  第２送信ポート
５ａ  第１送受信ポート
５ｂ  第２送受信ポート
２１  ＤＭＡＣ
２２  バス
２３  分配回路
２３ａ  第１スイッチ
２３ｂ  第２スイッチ
３１ａ、３１ｂ  受信ポート
３２ａ、３２ｂ  送受信ポート
３３ａ、３３ｂ  ＣＰＵ
３４ａ、３４ｂ  データ制御回路
３５ａ、３５ｂ  メモリ
３６ａ、３６ｂ  チェック回路
１００  プリンタ装置
１０１  ＤＦＥ
１０２ａ、１０２ｂ  プリンタエンジン
１１０  データ制御回路
４ａａ、４ａｂ  第１送信ポート
４ｂａ、４ｂｂ  第２送信ポート
１１１  分配回路
１２０ａ、１２０ｂ  データ制御回路
１２１ａａ、１２１ａｂ、１２１ｂａ、１２１ｂｂ  バッファ
１２２ａａ、１２２ａｂ、１２２ｂａ、１２２ｂｂ  チェック回路
１２３ａ、１２３ｂ  セレクタ
１２４ａ、１２４ｂ  内部バス
１２５ａ、１２５ｂ  転送データフレームカウンタ
１２６ａ、１２６ｂ  転送情報レジスタ
【先行技術文献】
【特許文献】
【００８１】
【特許文献１】特開２００３−３１８９３２号公報
【図１】
2011142525.tif 000003
【図２】
2011142525.tif 000004
【図３】
2011142525.tif 000005
【図４】
2011142525.tif 000006
【図５】
2011142525.tif 000007
【図６】
2011142525.tif 000008
【図７】
2011142525.tif 000009
【図８】
2011142525.tif 000010
【図９】
2011142525.tif 000011