以下、本発明の実施の形態について添付図面を参照して説明する。まず、図1を参照して本発明に係るデータ転送方法を実行する本発明に係る情報処理装置の第1実施形態について説明する。なお、同図は同実施形態の説明に供する機能的ブロック説明図である。
通信手段1は、外部のパソコン等などのホストとの間でデータの送受を行なうためのUSBなど通信インターフェースであり、ホスト側から転送されたデータを一時的に格納する通信バッファ2を備えている。
受信バッファ3は、通信バッファ2に格納された受信データを格納するためのメモリである。データ格納領域4は、通信手段1によってホスト側から受信したデータのうちの格納を要するデータを格納するメモリである。これらの受信バッファ3とデータ格納領域4を物理的に同じメモリでも異なるメモリであっても良い。この実施形態では受信バッファ3とデータ格納領域4は同じ物理的メモリで構成している。
第1データ転送手段5は、通信バッファ2に格納されたデータを受信バッファ3に転送して格納する処理を行なうとともに、後述するように通信バッファ2に格納されたデータを受信バッファ3を介することなくデータ格納領域4に転送(直送)して格納する処理も行なう直送手段を兼ねている。第2データ転送手段6は、受信バッファ3に格納されているデータをデータ格納領域4に転送して格納する処理を行なう。これらの第1データ転送手段5及び第2データ転送手段6は、例えばDMA(ダイレクトメモリアクセス)によって構成される。
コマンド・データ解析手段7は、判別手段を兼ねており、受信バッファ3に格納されたデータの内のコマンド・データを解析するとともに、当該解析したコマンド・データに続く後続のデータが解析を要しないデータであり、データ格納領域4での格納領域が定まっているデータ(このデータを「後続解析不要データ」という。)であるか否かを判別する。
システムサービス手段8は、通信手段1、受信バッファ3、データ格納領域4、第1データ転送手段5、第2データ転送手段6、コマンド・データ解析手段7の各部の制御を司り、通信手段1によるホスト側とのデータ送受信、通信手段1の通信バッファから受信バッファ2によるデータの転送、受信バッファ2からデータ格納領域4に対するデータの転送、通信バッファ2からデータ格納領域4に対するデータの直送などに必要な制御を行なう。
このように構成した実施形態における通信バッファからデータ格納領域に対するデータ転送の第1例について図2ないし図4のフロー図をも参照して説明する。
まず、通信手段1は外部のホストから転送されたデータを通信バッファ2に格納する。そして、通信バッファ2にデータが格納されると、図2に示すように、システムサービス手段8は、第1データ転送手段5に対して通信バッファ2に格納されている解析が必要なデータを受信バッファ3に転送して格納するように指示する。これを受けて、第1データ転送手段5は通信バッファ2からデータを読み出して受信バッファ3に転送して格納する。
次いで、システムサービス手段8は、コマンド・データ解析手段7に対して受信バッファ3に格納されているデータの解析を指示する。これを受けて、コマンド・データ解析手段7は受信バッファ3に格納されたデータを読み出して解析する。このとき、コマンド・データ解析手段7は、解析の結果、当該データに続くデータ(後続データ)が解析を要しない解析不要データであり、当該後続データはデータ格納領域4における格納先が定まるデータ(後続解析不要データ)であるか否かの判別も行い、後続データが後続解析不要データであれば、システムサービス手段8にその旨(解析不要部分の格納要求)を出力する。
そこで、システムサービス手段8は、コマンド・データ解析手段7からの解析不要部分の格納要求を受けたときには、格納先のメモリであるデータ格納領域4のアドレスとサイズを確保し、受信バッファ3内の後続解析不要データのサイズを確認する。
そして、システムサービス手段8は、通信手段1の通信バッファ2から受信バッファ3に対するデータ転送が終了しているか、つまり、受信バッファ3内にすべてのデータを格納済みであるか否かを判別する。このとき、受信バッファ3内にすべてのデータを格納済みでなければ、受信バッファ3に通信バッファ2から転送中(格納中、入力中)のデータがあるか否かを判別し、受信バッファ3への格納中のデータがあれば、すべてのデータを格納済か否かの判別処理に戻る。
そして、この結果、受信バッファ3内にすべてのデータを格納済みであれば、図3に示すように、システムサービス手段8は、コマンド・データ解析手段7に対して受信バッファ3に格納されている後続データの解析の再開を指示する。これを受けて、コマンド・データ解析手段7は受信バッファ3に格納されているデータの解析を再開する。
その後、システムサービス手段8は、第2データ転送手段6に対して受信バッファ3に格納済みの後続解析不要データをデータ格納領域4に格納するように指示する。これを受けて、第2データ転送手段6は受信バッファ3に格納済みの後続解析不要データをデータ格納領域4に転送して格納する。
そして、システムサービス手段8は第2データ転送手段6による後続解析不要データの格納完了を待ち、格納が完了したときには図2のコマンド・データ解析手段7からの解析不要部分の格納要求受付処理に戻る。
これに対して、受信バッファ3内にすべてのデータを格納済みでなく、受信バッファ3へのデータ格納中でもなくなれば、図4に示すように、システムサービス手段8は、第2データ転送手段6に対して受信バッファ3に格納済みの後続解析不要データ(一部)をデータ格納領域4に格納するように指示をする。これを受けて、第2データ転送手段6は受信バッファ3に格納済みの後続解析不要データをデータ格納領域4に転送して格納する処理を開始する。
その後、システムサービス手段8は、第1データ転送手段5に対して受信バッファ3に未格納の後続解析不要データ(後続データの残りである。)をデータ格納領域4に格納する(直送する)ように指示する。このとき、第1データ転送手段5によるデータ格納領域4に対する後続解析不要データの格納開始位置を第2データ転送手段6による格納が必要な領域を確保するためのオフセット設定を行う。これを受けて、第1データ転送手段5は受信バッファ3に未格納の通信バッファ2に残っている後続解析不要データをデータ格納領域4に直送して格納する処理を開始する。
そして、システムサービス手段8は、第1データ転送手段5による通信バッファ2からデータ格納領域4への後続解析不要データの直送が完了するのを待ち、直送が完了したときには、第1データ転送手段5に対して通信バッファ2から受信バッファ3に対する後続解析不要データに続く解析が必要な後続データの転送を指示する。これを受けて、第1データ転送手段5は通信バッファ2から受信バッファ3に対して解析が必要な後続データを転送して格納する。
その後、システムサービス手段8は、コマンド・データ解析手段7に対して受信バッファ3に格納されている後続データの解析の再開を指示する。これを受けて、コマンド・データ解析手段7に対して受信バッファ3に格納されているデータの解析を再開する。
その後、システムサービス手段8は、第2データ転送手段6による後続解析不要データの格納完了を待ち、格納が完了したときには図2のコマンド・データ解析手段7からの解析不要部分の格納要求受付処理に戻る。
この処理について図5を参照して具体的に説明すると、ここでは、通信バッファ2から第1データ転送手段5によって受信バッファ3に解析必要なデータ、このデータに続く解析不要データD1が受信バッファ3に既に格納済みで、解析不要データD1に続く解析不要データD2が通信バッファ2から受信バッファ3に格納中で、解析不要データD2に続く解析不要データD3が通信バッファ3に残っている状態であるとする。
この場合、コマンド・データ解析手段7からシステムサービス手段8に対して解析不要部分の格納要求をし、これを受けてシステムサービス手段8は後続解析不要データを格納するためのアドレスとサイズを確保し、受信バッファ3内の解析不要データのサイズを確認する。
そして、受信バッファ3に格納済みの解析不要データD1は第2データ転送手段6によってデータ格納領域4の解析不要データD1格納領域への格納が行われ、通信バッファ2から受信バッファ3へ入力中の解析不要データD2は受信バッファ3への格納が完了した後、第2データ転送手段6によってデータ格納領域4の解析不要データD2格納領域への格納が行われる。
一方、通信バッファ2に残っている解析不要データD3は第1データ転送手段5によってデータ格納領域4の解析不要データD3格納領域に直送されて格納される。
このとき、第1データ転送手段5によってデータ格納領域4の解析不要データD3格納領域データの直送が完了すると、第1データ転送手段5から通信バッファ2の解析を要する後続データD4が受信バッファ3に転送されて格納され、第2データ転送手段6によるデータ格納領域4へのデータ転送終了を待たずに、コマンド・データ解析手段7による解析必要な後続データの解析を開始する。
このように、受信バッファに格納されたデータの内のコマンド・データを解析し、当該コマンド・データの後続のデータが解析不要であり、かつ、データ格納手段に格納する後続解析不要データであるときには、少なくとも、通信用バッファから受信バッファに転送されていない後続解析不要データについては受信バッファを介することなくデータ格納手段に転送して格納するので、無駄なデータ転送を最小限に抑えることができ、データ転送バスでのデータ転送効率が向上し、処理速度が向上する。
この場合、通信バッファから受信バッファへのデータ転送を行う第1データ転送手段が、後続解析不要データを通信バッファからデータ格納手段へ転送するための直送手段を兼ねることによって、構成が簡単になるとともに、転送速度の高速化を図れる。また、通信バッファから受信バッファへのデータ転送を行う第1データ転送手段、受信バッファからデータ格納手段へのデータ転送を行う第2データ転送手段としてDMAを用いることで、構成が簡単になるとともに、転送速度の高速化を図れる。
また、通信バッファから受信バッファへの転送をすでに終えたデータについては受信バッファからデータ格納手段に転送し、通信バッファから受信バッファに入力中のデータについてはそのまま受信バッファに格納した後、受信バッファからデータ格納手段に転送し、通信バッファから受信バッファにまだ転送されていないデータについては通信バッファからデータ格納手段へ直送する構成とすることだけでも、無駄なデータ転送を最小限に抑えることができ、データ転送バスでのデータ転送効率が向上し、処理速度が向上する。
さらに、第2データ転送手段による受信バッファからデータ格納手段への転送が終了する前に、通信バッファから解析を要する新たなコマンド・データを含む次のデータが受信バッファに転送されたときには、データ格納手段への転送終了を待たないで、コマンド・データ解析手段が次のデータの解析を開始することにより、解析の不必要なデータの単純な格納作業と、コマンドデータの解析作業を並行処理することができて、より処理効率、処理速度を向上することができる。
このようなデータ転送を行うことによって、例えばホストで印刷データをビットマップデータに展開し、このビットマップデータを画像形成装置に転送する場合、画像形成装置側ではビットマップデータであれば解析を要しないデータとなるので、高速でビットマップデータの格納を行うことができ、これによって、画像形成装置側の処理速度の向上を図れるとともにホスト側を早期に解放することも可能になる。
つまり、通信用バッファから受信バッファにデータが一旦蓄積され、コマンド・データ解析手段により受信バッファ内のコマンド・データが解析され、受信バッファ内にあるコマンド・データを解析した結果、後続データが解析不要であり、解析不要データの保管先がデータ格納領域内に確定する場合に、受信バッファ内にすでに入力されているデータに関しては、上記第2データ転送手段にて受信バッファからデータ格納領域に転送し、通信用バッファから受信バッファに入力中のデータに関しては、第1データ転送手段にて通信用バッファから受信バッファに格納されてから第2データ転送手段にて受信バッファからデータ格納領域に転送し、通信用バッファから受信バッファにまだ入力していないデータに関しては、第1データ転送手段にて通信用バッファからデータ格納領域に転送することで、無駄なデータ転送を最小限に抑えることにより、データ転送バスで転送効率を上げ、処理速度を向上し、コストを抑えることができる。
また、通信用バッファから受信バッファにデータが一旦蓄積され、コマンド・データ解析手段により受信バッファ内のコマンド・データが解析され、受信バッファ内にあるコマンド・データを解析した結果、後続データが解析不要であり、この解析不要データの保管先がデータ格納領域内に確定する場合に、受信バッファ内にすでに入力されているデータに関しては、第2データ転送手段にて受信バッファからデータ格納領域に転送し、通信用バッファから受信バッファに入力中のデータに関しては、第1データ転送手段にて通信用バッファから受信バッファに格納されてから第2データ転送手段にて受信バッファからデータ格納領域に転送し、通信用バッファから受信バッファにまだ入力していないデータに関しては、第1データ転送手段にて通信用バッファからデータ格納領域に転送し、第1データ転送手段にて後続するデータを受信バッファの継続領域に転送し、第2データ転送手段の転送終了前に上記後続データが受信バッファに入力された場合に第2データ転送手段の転送終了を待たずにコマンド・データ解析手段が受信バッファ内の後続データの解析を行うことにより、無駄なデータ転送を最小限に抑えることにより、データ転送バスで転送効率を上げ、処理速度を向上し、コストを抑えることができ、更に、コマンド・データ解析の不必要なデータの単純な格納作業と、コマンド・データの解析作業が並行処理することにより、処理効率、処理速度を向上することができる。
次に、通信バッファからデータ格納領域に対するデータ転送の第2例について図6及び図7のフロー図をも参照して説明する。
まず、通信手段1は外部のホストから転送されたデータを通信バッファ2に格納する。そして、通信バッファ2にデータが格納されると、前記第1例と同様に、図6に示すように、システムサービス手段8は、第1データ転送手段5に対して通信バッファ2に格納されている解析が必要なデータを受信バッファ3に転送して格納するように指示する。これを受けて、第1データ転送手段5は通信バッファ2からデータを読み出して受信バッファ3に転送して格納する。
次いで、システムサービス手段8は、コマンド・データ解析手段7に対して受信バッファ3に格納されているデータの解析を指示する。これを受けて、コマンド・データ解析手段7は受信バッファ3に格納されたデータを読み出して解析する。このとき、コマンド・データ解析手段7は、解析の結果、当該データに続くデータが後続解析不要データであるか否かの判別も行い、後続データが後続解析不要データであれば、システムサービス手段8にその旨(解析不要部分の格納要求)を出力する。
そこで、システムサービス手段8は、コマンド・データ解析手段7からの解析不要部分の格納要求を受けたときには、格納先のメモリであるデータ格納領域4のアドレスとサイズを確保し、受信バッファ3内の後続解析不要データのサイズを確認する。
そして、システムサービス手段8は、通信手段1の通信バッファ2から受信バッファ3に対するデータ転送が終了しているか、つまり、受信バッファ3内にすべてのデータを格納済みであるか否かを判別する。
このとき、受信バッファ3内にすべてのデータを格納済みであれば、前述した図3で説明した処理と同様に、システムサービス手段8は、コマンド・データ解析手段7に対して受信バッファ3に格納されている後続データの解析の再開を指示する。これを受けて、コマンド・データ解析手段7に対して受信バッファ3に格納されている後続データの解析を再開する。
その後、システムサービス手段8は、第2データ転送手段6に対して受信バッファ3に格納済みの後続解析不要データをデータ格納領域4に格納するように指示する。これを受けて、第2データ転送手段6は受信バッファ3に格納済みの後続解析不要データをデータ格納領域4に転送して格納する。
そして、システムサービス手段8は第2データ転送手段6による後続解析不要データの格納完了を待ち、格納が完了したときにはコマンド・データ解析手段7からの解析不要部分の格納要求受付処理に戻る。
これに対して、受信バッファ3内にすべてのデータを格納済みでなければ、図7に示すように、受信バッファ3に格納中の第1データ転送手段5に対して格納中断指示を与える。これにより、第1データ転送手段5は通信バッファ2から受信バッファ3へのデータの格納を中断する。
そして、システムサービス手段8は、第1データ転送手段5による受信バッファ3への格納が中断したときに、第2データ転送手段6に対して受信バッファ3に格納済みの後続解析不要データ(一部)をデータ格納領域4に格納するように指示する。これを受けて、第2データ転送手段6は受信バッファ3に格納済みの後続解析不要データをデータ格納領域4に転送して格納する処理を開始する。
その後、システムサービス手段8は、第1データ転送手段5に対して受信バッファ3に未格納の後続解析不要データ(残り)をデータ格納領域4に格納する(直送する)ように指示する。このとき、第1データ転送手段5によるデータ格納領域4に対する後続解析不要データの格納開始位置を第2データ転送手段6による格納が必要な領域を確保するためのオフセット設定を行う。これを受けて、第1データ転送手段5は受信バッファ3に未格納の通信バッファ2に残っている後続解析不要データをデータ格納領域4に転送して格納する処理を開始する。
そして、システムサービス手段8は、第1データ転送手段5による通信バッファ2からデータ格納領域4への後続解析不要データの直送が完了するのを待ち、直送が完了したときには、第1データ転送手段5に対して通信バッファ2から受信バッファ3に対する後続解析不要データに続く解析が必要な後続データの転送を指示する。これを受けて、第1データ転送手段5は通信バッファ2から受信バッファ3に対して解析が必要な後続データを転送して格納する。
その後、システムサービス手段8は、コマンド・データ解析手段7に対して受信バッファ3に格納されているデータの解析の再開を指示する。これを受けて、コマンド・データ解析手段7は受信バッファ3に格納されている後続データの解析を再開する。
その後、システムサービス手段8は、第2データ転送手段6による後続解析不要データの格納完了を待ち、格納が完了したときには前述した図5のコマンド・データ解析手段7からの解析不要部分の格納要求受付処理に戻る。
この処理について図8を参照して具体的に説明すると、ここでは、通信バッファ2から第1データ転送手段5によって受信バッファ3に解析必要なデータ、このデータに続く解析不要データD1が受信バッファ3に既に格納済みで、解析不要データD1に続く解析不要データD2が通信バッファ2から受信バッファ3に格納中で、解析不要データD2に続く解析不要データD3が通信バッファ3に残っている状態であるとする。
この場合、コマンド・データ解析手段7からシステムサービス手段8に対して解析不要部分の格納要求をし、これを受けてシステムサービス手段8は後続データを格納するためのアドレスとサイズを確保し、受信バッファ3内の解析不要データのサイズを確認する。
そして、受信バッファ3に格納済みの解析不要データD1は第2データ転送手段6によってデータ格納領域4の解析不要データD1格納領域への格納が行われ、通信バッファ2から受信バッファ3へ入力中の解析不要データD2については格納が中断される。この場合、解析不要データD2のうちの受信バッファ3に格納された分を解析不要データD21とし、中断された後の分を解析不要データD22とすると、受信バッファ3への格納された解析不要データD21は第2データ転送手段6によってデータ格納領域4の解析不要データD21格納領域への格納が行われ、中断されて通信バッファ2に残っている解析不要データD22は第1データ転送手段5によってデータ格納領域4の解析不要データD22格納領域に直送されて格納される。
また、通信バッファ2に残っている解析不要データD3は第1データ転送手段5によってデータ格納領域4の解析不要データD3格納領域に直送されて格納される。
このとき、第1データ転送手段5によってデータ格納領域4の解析不要データD3格納領域データの直送が完了すると、第1データ転送手段5から通信バッファ2の解析を要する後続データD4が受信バッファ3に転送されて格納され、第2データ転送手段6によるデータ格納領域4へのデータ転送終了を待たずに、コマンド・データ解析手段7による解析必要データの解析を開始する。
このように、この第2例のデータ転送処理では、通信バッファから受信バッファへ格納中の解析不要データについては受信バッファへの格納を中断して、データ格納領域への直送に切り替えるので、第1データ転送手段による通信用バッファから受信バッファへの転送中のサイズ設定が大きな場合でも、一旦中断して転送先を切り替えることにより、転送効率を上げ、処理速度を向上し、コストを抑えることができる。
つまり、通信用バッファから受信バッファにデータが一旦蓄積され、コマンド・データ解析手段により受信バッファ内のコマンド・データが解析され、受信バッファ内にあるコマンド・データを解析した結果、後続データが解析不要であり、この解析不要データの保管先がデータ格納領域内に確定する場合に、受信バッファ内にすでに入力されているデータに関しては、第2データ転送手段にて受信バッファからデータ格納領域に転送し、通信用バッファから受信バッファに入力中のデータに関しては、第1データ転送手段にて受信バッファへの入力を中断し、通信用バッファから受信バッファに格納された分については第2データ転送手段にて受信バッファからデータ格納領域に転送し、通信用バッファから受信バッファにまだ入力していない後続のデータに関しては、第1データ転送手段にて通信用バッファからデータ格納領域に転送することにより、無駄なデータ転送を最小限に抑えることにより、データ転送バスで転送効率を上げ、処理速度を向上し、コストを抑えることができ、更に第1データ転送手段の通信用バッファから受信バッファへの転送中のサイズ設定が大きな場合でも、一旦中断して転送先を切り替えることにより、データ転送バスで転送効率を上げ、処理速度を向上し、コストを抑えることができる。
また、通信用バッファから受信バッファにデータが一旦蓄積され、コマンド・データ解析手段により受信バッファ内のコマンド・データが解析され、受信バッファ内にあるコマンド・データを解析した結果、後続データが解析不要であり、この解析不要データの保管先がデータ格納領域内に確定する場合に、受信バッファ内にすでに入力されているデータに関しては、第2データ転送手段にて受信バッファからデータ格納領域に転送し、通信用バッファから受信バッファに入力中のデータに関しては、第1データ転送手段にて受信バッファへの入力を中断し、
通信用バッファから受信バッファに格納された分については第2データ転送手段にて受信バッファからデータ格納領域に転送し、通信用バッファから受信バッファにまだ入力していない後続のデータに関しては、第1データ転送手段にて通信用バッファからデータ格納領域に転送し、第2データ転送手段の転送終了前に後続データが受信バッファに入力された場合に第2データ転送手段の転送終了を待たずにコマンド・データ解析手段が受信バッファ内の後続データの解析を行うことにより、無駄なデータ転送を最小限に抑えることにより、データ転送バスで転送効率を上げ、処理速度を向上し、コストを抑えることができ、更に、コマンド・データ解析の不必要なデータの単純な格納作業と、コマンド・データの解析作業が並行処理することにより、処理効率、処理速度を向上することができ、しかも第1データ転送手段の通信用バッファから受信バッファへの転送中のサイズ設定が大きな場合でも、一旦中断して転送先を切り替えることにより、データ転送バスで転送効率を上げ、処理速度を向上し、コストを抑えることができる。
次に、通信バッファからデータ格納領域に対するデータ転送の第3例について図9ないし図11のフロー図をも参照して説明する。
まず、通信手段1は外部のホストから転送されたデータを通信バッファ2に格納する。そして、通信バッファ2にデータが格納されると、前記第1例及び第2例と同様に、図9に示すように、システムサービス手段8は、第1データ転送手段5に対して通信バッファ2に格納されている解析が必要なデータを受信バッファ3に転送して格納するように指示する。これを受けて、第1データ転送手段5は通信バッファ2からデータを読み出して受信バッファ3に転送して格納する。
次いで、システムサービス手段8は、コマンド・データ解析手段7に対して受信バッファ3に格納されているデータの解析を指示する。これを受けて、コマンド・データ解析手段7は受信バッファ3に格納されたデータを読み出して解析する。このとき、コマンド・データ解析手段7は、解析の結果、当該データに続くデータが後続解析不要データであるか否かの判別も行い、後続データが後続解析不要データであれば、システムサービス手段8にその旨(解析不要部分の格納要求)を出力する。
そこで、システムサービス手段8は、コマンド・データ解析手段7からの解析不要部分の格納要求を受けたときには、格納先のメモリであるデータ格納領域4のアドレスとサイズを確保し、受信バッファ3内の解析不要後続データのサイズを確認する。
そして、システムサービス手段8は、通信手段1の通信バッファ2から受信バッファ3に対するデータ転送が終了しているか、つまり、受信バッファ3内にすべてのデータを格納済みであるか否かを判別する。
このとき、受信バッファ3内にすべてのデータを格納済みであれば、前述した図3で説明した処理と同様に、システムサービス手段8は、コマンド・データ解析手段7に対して受信バッファ3に格納されているデータの解析の再開を指示する。これを受けて、コマンド・データ解析手段7は受信バッファ3に格納されているデータの解析を再開する。
その後、システムサービス手段8は、第2データ転送手段6に対して受信バッファ3に格納済みの後続解析不要データをデータ格納領域4に格納するように指示をする。これを受けて、第2データ転送手段6は受信バッファ3に格納済みの後続解析不要データをデータ格納領域4に転送して格納する。
そして、システムサービス手段8は第2データ転送手段6による後続解析不要データの格納完了を待ち、格納が完了したときにはコマンド・データ解析手段7からの解析不要部分の格納要求受付処理に戻る。
これに対して、受信バッファ3内にすべてのデータを格納済みでなければ、受信バッファ3へ未格納のデータ量が予め定めたデータ量未満であるか否かを判別する。
このとき、受信バッファ3内にすべてのデータを格納済みでないが、未格納のデータ量(受信バッファ3に格納されていない後続解析不要データのデータ量)が予め定めたデータ量未満であるときには、図10に示す処理に移行して、通信バッファ2からデータ格納領域4への未格納の後続解析不要データの直送を行なわないで、通信バッファ2から受信バッファ3への格納を行なった後データ格納領域4に転送する処理を行なう。
すなわち、図10に示すように、システムサービス手段8は、第2データ転送手段6に対して受信バッファ3に格納済みの後続解析不要データ(後続データの一部である。)をデータ格納領域4に格納するように指示する。これを受けて、第2データ転送手段6は受信バッファ3に格納済みの後続解析不要データをデータ格納領域4に転送して格納する処理を開始する。
その後、システムサービス手段8は、第1データ転送手段5に対して受信バッファ3に未格納の後続解析不要データ(後続データの残りである。)を受信バッファ3に格納するように指示する。これを受けて、第1データ転送手段5は通信バッファ2に残っている未格納の後続解析不要データを受信バッファ3に転送して格納する。
そして、システムサービス手段8は、第1データ転送手段5による通信バッファ2から受信バッファ3への後続解析不要データの格納が完了するのを待ち、格納が完了したときには、第1データ転送手段5に対して通信バッファ2から受信バッファ3に対する後続解析不要データに続く解析が必要な後続データの転送を指示する。これを受けて、第1データ転送手段5は通信バッファ2から受信バッファ3に対して解析が必要な後続データを転送して格納する。
その後、システムサービス手段8は、コマンド・データ解析手段7に対して受信バッファ3に格納されている後続データの解析の再開を指示する。これを受けて、コマンド・データ解析手段7は受信バッファ3に格納されている後続データの解析を再開する。
その後、システムサービス手段8は、第2データ転送手段6による後続解析不要データの格納完了を待ち、格納が完了したときには、再度、第2データ転送手段6に対し、受信バッファ3に格納済みの解析不要データ(残り)をデータ格納領域4に格納するように指示する。これを受けて、第2データ転送手段6は受信バッファ3に格納済みの解析不要データ(残り)をデータ格納領域4に転送して格納する。
そして、システムサービス手段8は、第2データ転送手段6による後続解析不要データの格納完了を待ち、格納が完了したときには、図9のコマンド・データ解析手段7からの解析不要部分の格納要求受付処理に戻る。
一方、図9の前記判別処理において、受信バッファ3内にすべてのデータを格納済みでなく、未格納のデータ量が予め定めたデータ量以上であるときには、図11に示す処理に移行して、通信バッファ2からデータ格納領域4への未格納の後続解析不要データの直送を行う処理に移行する。
すなわち、システムサービス手段8は、図11に示すように、受信バッファ3に格納中の第1データ転送手段5に対して格納中断指示を与える。これにより、第1データ転送手段5は通信バッファ2から受信バッファ3へのデータの格納を中断する。
そして、システムサービス手段8は、第1データ転送手段5による受信バッファ3への格納が中断したときに、第2データ転送手段6に対して受信バッファ3に格納済みの後続解析不要データ(後続データの一部である。)をデータ格納領域4に格納するように指示する。これを受けて、第2データ転送手段6は受信バッファ3に格納済みの後続解析不要データをデータ格納領域4に転送して格納する処理を開始する。
その後、システムサービス手段8は、第1データ転送手段5に対して受信バッファ3に未格納の後続解析不要データ(後続データの残りである。)をデータ格納領域4に格納する(直送する)ように指示をする。このとき、第1データ転送手段5によるデータ格納領域4に対する後続解析不要データの格納開始位置を第2データ転送手段6による格納が必要な領域を確保するためのオフセット設定を行う。これを受けて、第1データ転送手段5は受信バッファ3に未格納の通信バッファ2に残っている後続解析不要データをデータ格納領域4に転送して格納する処理を開始する。
そして、システムサービス手段8は、第1データ転送手段5による通信バッファ2からデータ格納領域4への後続解析不要データの直送が完了するのを待ち、直送が完了したときには、第1データ転送手段5に対して通信バッファ2から受信バッファ3に対する後続解析不要データに続く解析が必要な後続データの転送を指示する。これを受けて、第1データ転送手段5は通信バッファ2から受信バッファ3に対して解析が必要な後続データを転送して格納する。
その後、システムサービス手段8は、コマンド・データ解析手段7に対して受信バッファ3に格納されている後続データの解析の再開を指示する。これを受けて、コマンド・データ解析手段7に対して受信バッファ3に格納されている後続データの解析を再開する。
その後、システムサービス手段8は、第2データ転送手段6による後続解析不要データの格納完了を待ち、格納が完了したときには前述した図9のコマンド・データ解析手段7からの解析不要部分の格納要求受付処理に戻る。
このように、この第3例のデータ転送処理では、通信バッファに残っている未格納の後続解析不要データのデータ量が予め定めた量未満であるか否かを判別し、未格納データ量が予め定めた量未満であるときには、未格納の後続解析不要データは受信バッファを経由してデータ格納領域に転送し、未格納データ量が予め定めた量以上であるときには、通信バッファから受信バッファへ格納中の解析不要データについては受信バッファへの格納を中断して、データ格納領域への直送に切り替えるので、第1データ転送手段による通信用バッファから受信バッファへの転送中のサイズ設定が大きな場合でも、一旦中断して転送先を切り替えることにより、転送効率を上げ、処理速度を向上し、コストを抑えることができる。しかも、通信バッファに残っている未格納の後続解析不要データのデータ量が少ない場合に直送を行なわないので、第1データ転送手段による転送先の切替処理のオーバーヘッドを防止することができ、処理速度が向上する。
つまり、通信用バッファから受信バッファにデータが一旦蓄積され、コマンド・データ解析手段により受信バッファ内のコマンド・データが解析され、受信バッファ内にあるコマンド・データを解析した結果、後続データが解析不要であり、この解析不要データの保管先がデータ格納領域内に確定する場合に、受信バッファ内にすでに入力されているデータに関しては、第2データ転送手段にて受信バッファからデータ格納領域に転送し、後続のデータ量が少量の場合(予め定めた量未満のとき)には、第1データ転送手段にて通信用バッファから受信バッファに格納されてから第2データ転送手段にて受信バッファからデータ格納領域に転送し、後続のデータ量が少量でない場合には、通信用バッファから受信バッファに入力中のデータに関しては、第1データ転送手段にて通信用バッファから受信バッファに格納されてから第2データ転送手段にて受信バッファからデータ格納領域に転送し、通信用バッファから受信バッファにまだ入力していないデータに関しては、第1データ転送手段にて通信用バッファからデータ格納領域に転送することにより、無駄なデータ転送を最小限に抑えることにより、データ転送バスで転送効率を上げ、処理速度を向上し、コストを抑えることができ、受信バッファに入力中ないし未入力の解析不要データのデータサイズが小さく、第1データ転送手段による転送先の切り替え処理のオーバーヘッドが発生する場合に、転送先の切り替えを行わないことにより、処理速度を向上させることができる。
また、通信用バッファから受信バッファにデータが一旦蓄積され、コマンド・データ解析手段により受信バッファ内のコマンド・データが解析され、受信バッファ内にあるコマンド・データを解析した結果、後続データが解析不要であり、この解析不要データの保管先がデータ格納領域内に確定する場合に、受信バッファ内にすでに入力されているデータに関しては、第2データ転送手段にて受信バッファからデータ格納領域に転送し、後続のデータ量が少量の場合(予め定めた量未満のとき)には、第1データ転送手段にて通信用バッファから受信バッファに格納されてから第2データ転送手段にて受信バッファからデータ格納領域に転送し、後続のデータ量が少量でない場合には、通信用バッファから受信バッファに入力中のデータに関しては、第1データ転送手段にて通信用バッファから受信バッファに格納されてから第2データ転送手段にて受信バッファからデータ格納領域に転送し、通信用バッファから受信バッファにまだ入力していないデータに関しては、第1データ転送手段にて通信用バッファからデータ格納領域に転送し、第1データ転送手段にて後続するデータを受信バッファの継続領域に転送し、第2データ転送手段の転送終了前に後続データが受信バッファに入力された場合に第2データ転送手段の転送終了を待たずにコマンド・データ解析手段が受信バッファ内の後続データの解析を行うことにより、無駄なデータ転送を最小限に抑えることにより、データ転送バスで転送効率を上げ、処理速度を向上し、コストを抑えることができ、更に、コマンド・データ解析の不必要なデータの単純な格納作業と、コマンド・データの解析作業が並行処理することにより、処理効率、処理速度を向上することができ、しかも、受信バッファに入力中ないし未入力の解析不要データのデータサイズが小さく、第1データ転送手段による転送先の切り替え処理のオーバーヘッドが発生する場合に、転送先の切り替えを行わないことにより、処理速度を向上させることができる。
さらに、通信用バッファから受信バッファにデータが一旦蓄積され、コマンド・データ解析手段により受信バッファ内のコマンド・データが解析され、受信バッファ内にあるコマンド・データを解析した結果、後続データが解析不要であり、この解析不要データの保管先がデータ格納領域内に確定する場合に、受信バッファ内にすでに入力されているデータに関しては、第2データ転送手段にて受信バッファからデータ格納領域に転送し、後続のデータ量が少量の場合(予め定めた量未満のとき)には、第1データ転送手段にて通信用バッファから受信バッファに格納されてから第2データ転送手段にて受信バッファからデータ格納領域に転送し、後続のデータ量が少量でない場合には、通信用バッファから受信バッファに入力中のデータに関しては、第1データ転送手段にて受信バッファへの入力を中断し、通信用バッファから受信バッファに格納された分については、第2データ転送手段にて受信バッファからデータ格納領域に転送し、通信用バッファから受信バッファにまだ入力していない後続のデータに関しては、第1データ転送手段にて通信用バッファからデータ格納領域に転送することにより、無駄なデータ転送を最小限に抑えることにより、データ転送バスで転送効率を上げ、処理速度を向上し、コストを抑えることができ、第1データ転送手段の通信用バッファから受信バッファへの転送中のサイズ設定が大きな場合でも、一旦中断して転送先を切り替えることにより、データ転送バスで転送効率を上げ、処理速度を向上し、コストを抑えることができ、更に、受信バッファに入力中ないし未入力の解析不要データのデータサイズが小さく、第1データ転送手段による転送先の切り替え処理のオーバーヘッドが発生する場合に、転送先の切り替えを行わないことにより、処理速度を向上させることができる。
また、通信用バッファから受信バッファにデータが一旦蓄積され、コマンド・データ解析手段により受信バッファ内のコマンド・データが解析され、受信バッファ内にあるコマンド・データを解析した結果、後続データが解析不要であり、この解析不要データの保管先がデータ格納領域内に確定する場合に、受信バッファ内にすでに入力されているデータに関しては、第2データ転送手段にて受信バッファからデータ格納領域に転送し、後続のデータ量が少量の場合(予め定めた量未満のとき)には、第1データ転送手段にて通信用バッファから受信バッファに格納されてから第2データ転送手段にて受信バッファからデータ格納領域に転送し、後続のデータ量が少量でない場合には、通信用バッファから受信バッファに入力中のデータに関しては、第2データ転送手段にて受信バッファへの入力を中断し、通信用バッファから受信バッファに格納された分については、第2データ転送手段にて受信バッファからデータ格納領域に転送し、通信用バッファから受信バッファにまだ入力していない後続のデータに関しては、第1データ転送手段にて通信用バッファからデータ格納領域に転送し、第2データ転送手段の転送終了前に後続データが受信バッファに入力された場合に第2データ転送手段の転送終了を待たずにコマンド・データ解析手段が受信バッファ内の後続データの解析を行うことにより、無駄なデータ転送を最小限に抑えることにより、データ転送バスで転送効率を上げ、処理速度を向上し、コストを抑えることができ、
コマンド・データ解析の不必要なデータの単純な格納作業と、コマンド・データの解析作業が並行処理することにより、処理効率、処理速度を向上することができ、第1データ転送手段の通信用バッファから受信バッファへの転送中のサイズ設定が大きな場合でも、一旦中断して転送先を切り替えることにより、データ転送バスで転送効率を上げ、処理速度を向上し、コストを抑えることができ、更に、受信バッファに入力中ないし未入力の解析不要データのデータサイズが小さく、第1データ転送手段による転送先の切り替え処理のオーバーヘッドが発生する場合に、転送先の切り替えを行わないことにより、処理速度を向上させることができる。
次に、図12を参照して本発明に係るデータ転送方法を実行する本発明に係る情報処理装置の第2実施形態について説明する。なお、同図は同実施形態の説明に供する機能的ブロック説明図である。
通信手段1は、外部のパソコン等などのホストとの間でデータの送受を行なうためのUSBなど通信インターフェースであり、ホスト側から転送されたデータを一時的に格納する通信バッファ2を備えている。
受信バッファ3は、通信バッファ2に格納された受信データを格納するためのメモリである。データ格納領域4は、通信手段1によってホスト側から受信したデータのうちの格納を要するデータを格納するメモリである。これらの受信バッファ3とデータ格納領域4とを物理的に同じメモリでも異なるメモリであっても良い。この実施形態では受信バッファ3とデータ格納領域4は同じ物理的メモリで構成している。
第1データ転送手段5は、通信バッファ2に格納されたデータを受信バッファ3に転送して格納する処理を行なうとともに、後述するように通信バッファ2に格納されたデータを受信バッファ3を介することなく直接データ格納領域4に転送(直送)して格納する処理も行なう直送手段を兼ねている。第1データ転送手段5は、例えばDMA(ダイレクトメモリアクセス)によって構成される。
コマンド・データ解析手段7は、判別手段を兼ねており、受信バッファ3に格納されたデータの内のコマンド・データを解析するとともに、当該解析したコマンド・データに続く後続のデータが解析を要しないデータであり、データ格納領域4での格納領域が定まっているデータ(後続解析不要データ)であるか否かを判別する。
システムサービス手段18は、通信手段1、受信バッファ3、データ格納領域4、第1データ転送手段5、コマンド・データ解析手段7の各部の制御を司るとともに、受信バッファ3からデータ格納領域4に対するデータ転送も司り、通信手段1によるホスト側とのデータ送受信、通信手段1の通信バッファから受信バッファ2によるデータの転送、通信バッファ2からデータ格納領域4に対するデータの直送などに必要な制御を行なうとともに、受信バッファ3からデータ格納領域4に対するデータ転送及び格納を行なう。
このように構成した実施形態における通信バッファからデータ格納領域に対するデータ転送の第1例について図13ないし図15のフロー図をも参照して説明する。
まず、通信手段1は外部のホストから転送されたデータを通信バッファ2に格納する。そして、通信バッファ2にデータが格納されると、図12に示すように、システムサービス手段18は、第1データ転送手段5に対して通信バッファ2に格納されている解析が必要なデータを受信バッファ3に転送して格納するように指示する。これを受けて、第1データ転送手段5は通信バッファ2からデータを読み出して受信バッファ3に転送して格納する。
次いで、システムサービス手段18は、コマンド・データ解析手段7に対して受信バッファ3に格納されているデータの解析を指示する。これを受けて、コマンド・データ解析手段7は受信バッファ3に格納されたデータを読み出して解析する。このとき、コマンド・データ解析手段7は、解析の結果、当該データに続くデータ(後続データ)が解析を要しない解析不要データであり、当該後続データはデータ格納領域4における格納先が定まるデータ(後続解析不要データ)であるか否かの判別も行い、後続データが後続解析不要データであれば、システムサービス手段18にその旨(解析不要部分の格納要求)を出力する。
そこで、システムサービス手段18は、コマンド・データ解析手段7からの解析不要部分の格納要求を受けたときには、格納先のメモリであるデータ格納領域4のアドレスとサイズを確保し、受信バッファ3内の後続解析不要データのサイズを確認する。
そして、システムサービス手段18は、通信手段1の通信バッファ2から受信バッファ3に対するデータ転送が終了しているか、つまり、受信バッファ3内にすべてのデータを格納済みであるか否かを判別する。このとき、受信バッファ3内にすべてのデータを格納済みでなければ、受信バッファ3に通信バッファ2から転送中(格納中、入力中)のデータがあるか否かを判別し、受信バッファ3への格納中のデータがあれば、再度受信バッファ3内にすべてのデータを格納済か否かの判別処理に戻る。
そして、この結果、受信バッファ3内にすべてのデータを格納済みであれば、図14に示すように、システムサービス手段18は、コマンド・データ解析手段7に対して受信バッファ3に格納されているデータの解析の再開を指示する。これを受けて、コマンド・データ解析手段は受信バッファ3に格納されているデータの解析を再開する。
その後、システムサービス手段18は、受信バッファ3に格納済みの後続解析不要データをデータ格納領域4に転送して格納し、後続解析不要データのデータ格納領域4への格納が完了したときには図13のコマンド・データ解析手段7からの解析不要部分の格納要求受付処理に戻る。
これに対して、受信バッファ3内にすべてのデータを格納済みでなく、受信バッファ3へのデータ格納中でもなければ、図15に示すように、システムサービス手段18は、受信バッファ3に格納済みの後続解析不要データ(一部)のデータ格納領域4への格納を開始するとともに、第1データ転送手段5に対して受信バッファ3に未格納の後続解析不要データ(残り)をデータ格納領域4に格納する(直送する)ように指示する。このとき、第1データ転送手段5によるデータ格納領域4に対する後続解析不要データの格納開始位置を自らの格納が必要な領域を確保するためのオフセット設定を行う。これを受けて、第1データ転送手段5は受信バッファ3に未格納の通信バッファ2に残っている後続解析不要データをデータ格納領域4に転送して格納する処理を開始する。
そして、システムサービス手段18は、第1データ転送手段5による通信バッファ2からデータ格納領域4への後続解析不要データの直送が完了するのを待ち、直送が完了したときには、第1データ転送手段5に対して通信バッファ2から受信バッファ3に対する後続解析不要データに続く解析が必要な後続データの転送を指示する。これを受けて、第1データ転送手段5は通信バッファ2から受信バッファ3に対して解析が必要な後続データを転送して格納する。
その後、システムサービス手段18は、コマンド・データ解析手段7に対して受信バッファ3に格納されているデータの解析の再開を指示する。これを受けて、コマンド・データ解析手段7に対して受信バッファ3に格納されているデータの解析を再開する。
その後、システムサービス手段18は、自らによる後続解析不要データの格納が完了したときには図13のコマンド・データ解析手段7からの解析不要部分の格納要求受付処理に戻る。
この処理について図16を参照して具体的に説明すると、ここでは、通信バッファ2から第1データ転送手段5によって受信バッファ3に解析必要なデータ、このデータに続く解析不要データD1が受信バッファ3に既に格納済みで、解析不要データD1に続く解析不要データD2が通信バッファ2から受信バッファ3に格納中で、解析不要データD2に続く解析不要データD3が通信バッファ3に残っている状態であるとする。
この場合、コマンド・データ解析手段7からシステムサービス手段18に対して解析不要部分の格納要求をし、これを受けてシステムサービス手段18は後続データを格納するためのアドレスとサイズを確保し、受信バッファ3内の解析不要データのサイズを確認する。
そして、受信バッファ3に格納済みの解析不要データD1はシステムサービス手段18によってデータ格納領域4の解析不要データD1格納領域への格納が行われ、通信バッファ2から受信バッファ3へ入力中の解析不要データD2は受信バッファ3への格納が完了した後、システムサービス手段18によってデータ格納領域4の解析不要データD2格納領域への格納が行われる。
一方、通信バッファ2に残っている解析不要データD3は第1データ転送手段5によってデータ格納領域4の解析不要データD3格納領域に直送されて格納される。
このとき、第1データ転送手段5によってデータ格納領域4の解析不要データD3格納領域データの直送が完了すると、第1データ転送手段5から通信バッファ2の解析を要する後続データD4が受信バッファ3に転送されて格納され、システムサービス手段18によるデータ格納領域4へのデータ転送終了を待たずに、コマンド・データ解析手段7による解析必要データの解析を開始する。
このように、受信バッファに格納されたデータの内のコマンド・データを解析し、当該コマンド・データの後続のデータが解析不要であり、かつ、データ格納手段に格納する後続解析不要データであるときには、少なくとも、通信用バッファから受信バッファに転送されていない後続解析不要データについては受信バッファを介することなくデータ格納手段に転送して格納するので、データ転送効率が向上し、処理速度が向上する。
この場合、通信バッファから受信バッファへのデータ転送を行う第1データ転送手段が、後続解析不要データを通信バッファからデータ格納手段へ転送するための直送手段を兼ねることによって、構成が簡単になるとともに、転送速度の高速化を図れる。また、通信バッファから受信バッファへのデータ転送を行う第1データ転送手段としてDMAを用いることで、構成が簡単になるとともに、転送速度の高速化を図れる。
また、通信バッファから受信バッファへの転送をすでに終えたデータについては受信バッファからデータ格納手段に転送し、通信バッファから受信バッファに入力中のデータについてはそのまま受信バッファに格納した後、受信バッファからデータ格納手段に転送し、通信バッファから受信バッファにまだ転送されていないデータについては通信バッファからデータ格納手段へ直送する構成とすることだけでも、データ転送効率が向上し、処理速度が向上する。
さらに、システムサービス手段による受信バッファからデータ格納手段への転送が終了する前に、通信バッファから解析を要する新たなコマンド・データを含む次のデータが受信バッファに転送されたときには、データ格納手段への転送終了を待たないで、コマンド・データ解析手段が次のデータの解析を開始することにより、コマンド・データ解析の不必要なデータの単純な格納作業と、コマンド・データの解析作業を並行処理することができて、より処理効率、処理速度を向上することができる。
このようなデータ転送を行うことによって、例えばホストで印刷データをビットマップデータに展開し、このビットマップデータを画像形成装置に転送する場合、画像形成装置側ではビットマップデータであれば解析を要しないデータとなるので、高速でビットマップデータの格納を行うことができ、これによって、画像形成装置側の処理速度の向上を図れるとともにホスト側を早期に解放することも可能になる。
つまり、通信用バッファから受信バッファにデータが一旦蓄積され、コマンド・データ解析手段により受信バッファ内のコマンド・データが解析され、受信バッファ内にあるコマンド・データを解析した結果、後続データが解析不要であり、この解析不要データの保管先がデータ格納領域内に確定する場合に、受信バッファ内にすでに入力されているデータに関しては、システムサービス手段にて受信バッファからデータ格納領域に転送し、通信用バッファから受信バッファに入力中のデータに関しては、第1データ転送手段にて通信用バッファから受信バッファに格納されてからシステムサービス手段にて受信バッファからデータ格納領域に転送し、通信用バッファから受信バッファにまだ入力していないデータに関しては、第1データ転送手段にて通信用バッファからデータ格納領域に転送することにより、無駄なデータ転送を最小限に抑えることにより、データ転送バスで転送効率を上げ、処理速度を向上し、コストを抑えることができ、更に、システムサービス手段を構成するCPUによってソフト的に受信バッファからデータ格納領域へのデータ転送を行なう場合に、データ処理に対して余分なデータ転送にCPUのパワーを割くことを防ぎ、処理速度を向上することができる。
また、通信用バッファから受信バッファにデータが一旦蓄積され、コマンド・データ解析手段により受信バッファ内のコマンド・データが解析され、受信バッファ内にあるコマンド・データを解析した結果、後続データが解析不要であり、この解析不要データの保管先がデータ格納領域内に確定する場合に、受信バッファ内にすでに入力されているデータに関しては、システムサービス手段にて受信バッファからデータ格納領域に転送し、通信用バッファから受信バッファに入力中のデータに関しては、第1データ転送手段にて通信用バッファから受信バッファに格納されてからシステムサービス手段にて受信バッファからデータ格納領域に転送し、通信用バッファから受信バッファにまだ入力していないデータに関しては、第1データ転送手段にて通信用バッファからデータ格納領域に転送し、第1データ転送手段にて後続するデータを受信バッファの継続領域に転送し、システムサービス手段の転送終了前に上記後続データが受信バッファに入力された場合にシステムサービス手段の転送終了を待たずにコマンド・データ解析手段が受信バッファ内の後続データの解析を行うことにより、無駄なデータ転送を最小限に抑えることにより、データ転送バスで転送効率を上げ、処理速度を向上し、コストを抑えることができ、コマンド・データ解析の不必要なデータの単純な格納作業と、コマンド・データの解析作業が並行処理することにより、処理効率、処理速度を向上することができ、更に、システムサービス手段を構成するCPUによってソフト的に受信バッファからデータ格納領域へのデータ転送を行なう場合に、データ処理に対して余分なデータ転送にCPUのパワーを割くことを防ぎ、処理速度を向上することができる。
次に、通信バッファからデータ格納領域に対するデータ転送の第2例について図17及び図18のフロー図をも参照して説明する。
まず、通信手段1は外部のホストから転送されたデータを通信バッファ2に格納する。そして、通信バッファ2にデータが格納されると、前記第1例と同様に、図17に示すように、システムサービス手段18は、第1データ転送手段5に対して通信バッファ2に格納されている解析が必要なデータを受信バッファ3に転送して格納するように指示する。これを受けて、第1データ転送手段5は通信バッファ2からデータを読み出して受信バッファ3に転送して格納する。
次いで、システムサービス手段18は、コマンド・データ解析手段7に対して受信バッファ3に格納されているデータの解析を指示する。これを受けて、コマンド・データ解析手段7は受信バッファ3に格納されたデータを読み出して解析する。このとき、コマンド・データ解析手段7は、解析の結果、当該データに続くデータが後続解析不要データであるか否かの判別も行い、後続データが後続解析不要データであれば、システムサービス手段18にその旨(解析不要部分の格納要求)を出力する。
そこで、システムサービス手段18は、コマンド・データ解析手段7からの解析不要部分の格納要求を受けたときには、格納先のメモリであるデータ格納領域4のアドレスとサイズを確保し、受信バッファ3内の解析不要後続データのサイズを確認する。
そして、システムサービス手段18は、通信手段1の通信バッファ2から受信バッファ3に対するデータ転送が終了しているか、つまり、受信バッファ3内にすべてのデータを格納済みであるか否かを判別する。
このとき、受信バッファ3内にすべてのデータを格納済みであれば、前述した図14で説明した処理と同様に、システムサービス手段18は、コマンド・データ解析手段7に対して受信バッファ3に格納されているデータの解析の再開を指示する。これを受けて、コマンド・データ解析手段7に対して受信バッファ3に格納されているデータの解析を再開する。その後、システムサービス手段18は、受信バッファ3に格納済みの後続解析不要データをデータ格納領域4に格納する処理を行ない、格納が完了したときにはコマンド・データ解析手段7からの解析不要部分の格納要求受付処理に戻る。
これに対して、受信バッファ3内にすべてのデータを格納済みでなければ、図18に示すように、受信バッファ3に格納中の第1データ転送手段5に対して格納中断指示を与える。これにより、第1データ転送手段5は通信バッファ2から受信バッファ3へのデータの格納を中断する。
そして、システムサービス手段18は、第1データ転送手段5による受信バッファ3への格納が中断したときに、受信バッファ3に格納済みの後続解析不要データ(一部)をデータ格納領域4に格納する処理を開始する。
その後、システムサービス手段18は、第1データ転送手段5に対して受信バッファ3に未格納の後続解析不要データ(後続データの残りである。)をデータ格納領域4に格納する(直送する)ように指示する。このとき、第1データ転送手段5によるデータ格納領域4に対する後続解析不要データの格納開始位置を自らによる格納が必要な領域を確保するためのオフセット設定を行う。これを受けて、第1データ転送手段5は受信バッファ3に未格納の通信バッファ2に残っている後続解析不要データをデータ格納領域4に転送して格納する処理を開始する。
そして、システムサービス手段18は、第1データ転送手段5による通信バッファ2からデータ格納領域4への後続解析不要データの直送が完了するのを待ち、直送が完了したときには、第1データ転送手段5に対して通信バッファ2から受信バッファ3に対する後続解析不要データに続く解析が必要な後続データの転送を指示する。これを受けて、第1データ転送手段5は通信バッファ2から受信バッファ3に対して解析が必要な後続データを転送して格納する。
その後、システムサービス手段18は、コマンド・データ解析手段7に対して受信バッファ3に格納されているデータの解析の再開を指示する。これを受けて、コマンド・データ解析手段7に対して受信バッファ3に格納されているデータの解析を再開する。
その後、システムサービス手段18は、自らによる後続解析不要データの格納が完了したときには前述した図17のコマンド・データ解析手段7からの解析不要部分の格納要求受付処理に戻る。
この処理について図19を参照して具体的に説明すると、ここでは、通信バッファ2から第1データ転送手段5によって受信バッファ3に解析必要なデータ、このデータに続く解析不要データD1が受信バッファ3に既に格納済みで、解析不要データD1に続く解析不要データD2が通信バッファ2から受信バッファ3に格納中で、解析不要データD2に続く解析不要データD3が通信バッファ3に残っている状態であるとする。
この場合、コマンド・データ解析手段7からシステムサービス手段18に対して解析不要部分の格納要求をし、これを受けてシステムサービス手段18は後続データを格納するためのアドレスとサイズを確保し、受信バッファ3内の解析不要データのサイズを確認する。
そして、受信バッファ3に格納済みの解析不要データD1はシステムサービス手段18によってデータ格納領域4の解析不要データD1格納領域への格納が行われ、通信バッファ2から受信バッファ3へ入力中の解析不要データD2については格納が中断される。この場合、解析不要データD2のうちの受信バッファ3に格納された分を解析不要データD21とし、中断された後の分を解析不要データD22とすると、受信バッファ3への格納された解析不要データD21はシステムサービス手段18によってデータ格納領域4の解析不要データD21格納領域への格納が行われ、中断されて通信バッファ2に残っている解析不要データD22は第1データ転送手段5によってデータ格納領域4の解析不要データD22格納領域に直送されて格納される。
また、通信バッファ2に残っている解析不要データD3は第1データ転送手段5によってデータ格納領域4の解析不要データD3格納領域に直送されて格納される。
このとき、第1データ転送手段5によってデータ格納領域4の解析不要データD3格納領域データの直送が完了すると、第1データ転送手段5から通信バッファ2の解析を要する後続データD4が受信バッファ3に転送されて格納され、システムサービス手段18によるデータ格納領域4へのデータ転送終了を待たずに、コマンド・データ解析手段7による解析必要データの解析を開始する。
このように、この第2例のデータ転送処理では、通信バッファから受信バッファへ格納中の解析不要データについては受信バッファへの格納を中断して、データ格納領域への直送に切り替えるので、第1データ転送手段による通信用バッファから受信バッファへの転送中のサイズ設定が大きな場合でも、一旦中断して転送先を切り替えることにより、転送効率を上げ、処理速度を向上し、コストを抑えることができる。
つまり、通信用バッファから受信バッファにデータが一旦蓄積され、コマンド・データ解析手段により受信バッファ内のコマンド・データが解析され、受信バッファ内にあるコマンド・データを解析した結果、後続データが解析不要であり、この解析不要データの保管先がデータ格納領域内に確定する場合に、受信バッファ内にすでに入力されているデータに関しては、システムサービス手段にて受信バッファからデータ格納領域に転送し、通信用バッファから受信バッファに入力中のデータに関しては、第1データ転送手段にて受信バッファへの入力を中断し、通信用バッファから受信バッファに格納された分については、システムサービス手段にて受信バッファからデータ格納領域に転送し、通信用バッファから受信バッファにまだ入力していない後続のデータに関しては、第1データ転送手段にて通信用バッファからデータ格納領域に転送することにより、無駄なデータ転送を最小限に抑えることにより、データ転送バスで転送効率を上げ、処理速度を向上し、コストを抑えることができ、更に、システムサービス手段を構成するCPUによってソフト的に受信バッファからデータ格納領域へのデータ転送を行なう場合に、データ処理に対して余分なデータ転送にCPUのパワーを割くことを防ぎ、処理速度を向上することができ、しかも、第1データ転送手段の通信用バッファから受信バッファへの転送中のサイズ設定が大きな場合でも、一旦中断して転送先を切り替えることにより、データ転送バスで転送効率を上げ、処理速度を向上し、コストを抑えることができる。
また、通信用バッファから受信バッファにデータが一旦蓄積され、コマンド・データ解析手段により受信バッファ内のコマンド・データが解析され、受信バッファ内にあるコマンド・データを解析した結果、後続データが解析不要であり、この解析不要データの保管先がデータ格納領域内に確定する場合に、受信バッファ内にすでに入力されているデータに関しては、システムサービス手段にて受信バッファからデータ格納領域に転送し、通信用バッファから受信バッファに入力中のデータに関しては、第1データ転送手段にて受信バッファへの入力を中断し、通信用バッファから受信バッファに格納された分については、システムサービス手段にて受信バッファからデータ格納領域に転送し、通信用バッファから受信バッファにまだ入力していない後続のデータに関しては、第1データ転送手段にて通信用バッファからデータ格納領域に転送し、システムサービス手段の転送終了前に上記後続データが受信バッファに入力された場合にシステムサービス手段の転送終了を待たずにコマンド・データ解析手段が受信バッファ内の後続データの解析を行うことにより、無駄なデータ転送を最小限に抑えることにより、データ転送バスで転送効率を上げ、処理速度を向上し、コストを抑えることができ、
コマンド・データ解析の不必要なデータの単純な格納作業と、コマンド・データの解析作業が並行処理することにより、処理効率、処理速度を向上することができ、更に、システムサービス手段を構成するCPUによってソフト的に受信バッファからデータ格納領域へのデータ転送を行なう場合に、データ処理に対して余分なデータ転送にCPUのパワーを割くことを防ぎ、処理速度を向上することができ、しかも第1データ転送手段の通信用バッファから受信バッファへの転送中のサイズ設定が大きな場合でも、一旦中断して転送先を切り替えることにより、データ転送バスで転送効率を上げ、処理速度を向上し、コストを抑えることができる。
次に、通信バッファからデータ格納領域に対するデータ転送の第3例について図20ないし図22のフロー図をも参照して説明する。
まず、通信手段1は外部のホストから転送されたデータを通信バッファ2に格納する。そして、通信バッファ2にデータが格納されると、前記第1例及び第2例と同様に、図19に示すように、システムサービス手段18は、第1データ転送手段5に対して通信バッファ2に格納されている解析が必要なデータを受信バッファ3に転送して格納するように指示する。これを受けて、第1データ転送手段5は通信バッファ2からデータを読み出して受信バッファ3に転送して格納する。
次いで、システムサービス手段18は、コマンド・データ解析手段7に対して受信バッファ3に格納されているデータの解析を指示する。これを受けて、コマンド・データ解析手段7は受信バッファ3に格納されたデータを読み出して解析する。このとき、コマンド・データ解析手段7は、解析の結果、当該データに続くデータが後続解析不要データであるか否かの判別も行い、後続データが後続解析不要データであれば、システムサービス手段18にその旨(解析不要部分の格納要求)を出力する。
そこで、システムサービス手段18は、コマンド・データ解析手段7からの解析不要部分の格納要求を受けたときには、格納先のメモリであるデータ格納領域4のアドレスとサイズを確保し、受信バッファ3内の解析不要後続データのサイズを確認する。
そして、システムサービス手段18は、通信手段1の通信バッファ2から受信バッファ3に対するデータ転送が終了しているか、つまり、受信バッファ3内にすべてのデータを格納済みであるか否かを判別する。
このとき、受信バッファ3内にすべてのデータを格納済みであれば、前述した図14で説明した処理と同様に、システムサービス手段18は、コマンド・データ解析手段7に対して受信バッファ3に格納されているデータの解析の再開を指示する。これを受けて、コマンド・データ解析手段7に対して受信バッファ3に格納されているデータの解析を再開する。その後、システムサービス手段18は、受信バッファ3に格納済みの後続解析不要データをデータ格納領域4に格納する処理を開始し、格納が完了したときにはコマンド・データ解析手段7からの解析不要部分の格納要求受付処理に戻る。
これに対して、受信バッファ3内にすべてのデータを格納済みでなければ、受信バッファ3へ未格納のデータ量が予め定めたデータ量未満であるか否かを判別する。
このとき、受信バッファ3内にすべてのデータを格納済みでないが、未格納のデータ量が予め定めたデータ量未満であるときには、図21に示す処理に移行して、通信バッファ2からデータ格納領域4への未格納の後続解析不要データの直送を行なわないで、通信バッファ2から受信バッファ3への格納を行なった後データ格納領域4に転送する処理を行なう。
すなわち、図21に示すように、システムサービス手段18は、受信バッファ3に格納済みの後続解析不要データ(一部)をデータ格納領域4に格納する処理を開始するとともに、第1データ転送手段5に対して受信バッファ3に未格納の後続解析不要データ(残り)を受信バッファ3に格納するように指示する。これを受けて、第1データ転送手段5は通信バッファ2に残っている未格納の後続解析不要データを受信バッファ3に転送して格納する。
そして、システムサービス手段18は、第1データ転送手段5による通信バッファ2から受信バッファ3への後続解析不要データの格納が完了するのを待ち、格納が完了したときには、第1データ転送手段5に対して通信バッファ2から受信バッファ3に対する後続解析不要データに続く解析が必要な後続データの転送を指示する。これを受けて、第1データ転送手段5は通信バッファ2から受信バッファ3に対して解析が必要な後続データを転送して格納する。
その後、システムサービス手段18は、コマンド・データ解析手段7に対して受信バッファ3に格納されているデータの解析の再開を指示する。これを受けて、コマンド・データ解析手段7に対して受信バッファ3に格納されているデータの解析を再開する。
その後、システムサービス手段18は、自らによる後続解析不要データの格納が完了したときには、再度、受信バッファ3に格納済みの解析不要データ(残り)をデータ格納領域4に格納する。そして、システムサービス手段18は、後続解析不要データの格納完了を待ち、格納が完了したときには、図20のコマンド・データ解析手段7からの解析不要部分の格納要求受付処理に戻る。
一方、図20の前記判別処理において、受信バッファ3内にすべてのデータを格納済みでなく、未格納のデータ量が予め定めたデータ量以上であるときには、図22に示す処理に移行して、通信バッファ2からデータ格納領域4への未格納の後続解析不要データの直送を行う処理に移行する。
すなわち、システムサービス手段18は、図22に示すように、受信バッファ3に格納中の第1データ転送手段5に対して格納中断指示を与える。これにより、第1データ転送手段5は通信バッファ2から受信バッファ3へのデータの格納を中断する。
そして、システムサービス手段18は、第1データ転送手段5による受信バッファ3への格納が中断したときに、受信バッファ3に格納済みの後続解析不要データ(一部)をデータ格納領域4に格納する処理を開始する。
その後、システムサービス手段18は、第1データ転送手段5に対して受信バッファ3に未格納の後続解析不要データ(残り)をデータ格納領域4に格納する(直送する)ように指示する。このとき、第1データ転送手段5によるデータ格納領域4に対する後続解析不要データの格納開始位置を自らによる格納が必要な領域を確保するためのオフセット設定を行う。これを受けて、第1データ転送手段5は受信バッファ3に未格納の通信バッファ2に残っている後続解析不要データをデータ格納領域4に転送して格納する処理を開始する。
そして、システムサービス手段18は、第1データ転送手段5による通信バッファ2からデータ格納領域4への後続解析不要データの直送が完了するのを待ち、直送が完了したときには、第1データ転送手段5に対して通信バッファ2から受信バッファ3に対する後続解析不要データに続く解析が必要な後続データの転送を指示する。これを受けて、第1データ転送手段5は通信バッファ2から受信バッファ3に対して解析が必要な後続データを転送して格納する。
その後、システムサービス手段18は、コマンド・データ解析手段7に対して受信バッファ3に格納されているデータの解析の再開を指示する。これを受けて、コマンド・データ解析手段7に対して受信バッファ3に格納されているデータの解析を再開する。
その後、システムサービス手段18は、後続解析不要データの格納が完了したときには前述した図20のコマンド・データ解析手段7からの解析不要部分の格納要求受付処理に戻る。
このように、この第3例のデータ転送処理では、通信バッファに残っている未格納の後続解析不要データのデータ量が予め定めた量未満であるか否かを判別し、未格納データ量が予め定めた量未満であるときには、未格納の後続解析不要データは受信バッファを経由してデータ格納領域に転送し、未格納データ量が予め定めた量以上であるときには、通信バッファから受信バッファへ格納中の解析不要データについては受信バッファへの格納を中断して、データ格納領域への直送に切り替えるので、第1データ転送手段による通信用バッファから受信バッファへの転送中のサイズ設定が大きな場合でも、一旦中断して転送先を切り替えることにより、転送効率を上げ、処理速度を向上し、コストを抑えることができる。しかも、通信バッファに残っている未格納の後続解析不要データのデータ量が少ない場合に直送を行なわないので、第1データ転送手段による転送先の切替処理のオーバーヘッドを防止することができ、処理速度が向上する。
つまり、通信用バッファから受信バッファにデータが一旦蓄積され、コマンド・データ解析手段により受信バッファ内のコマンド・データが解析され、受信バッファ内にあるコマンド・データを解析した結果、後続データが解析不要であり、この解析不要データの保管先がデータ格納領域内に確定する場合に、受信バッファ内にすでに入力されているデータに関しては、システムサービス手段にて受信バッファからデータ格納領域に転送し、後続のデータ量が少量の場合(予め定めた量未満のとき)には、第1データ転送手段にて通信用バッファから受信バッファに格納されてからシステムサービス手段にて受信バッファからデータ格納領域に転送し、後続のデータ量が少量でない場合には、通信用バッファから受信バッファに入力中のデータに関しては、第1データ転送手段にて通信用バッファから受信バッファに格納されてからシステムサービス手段にて受信バッファからデータ格納領域に転送し、通信用バッファから受信バッファにまだ入力していないデータに関しては、第1データ転送手段にて通信用バッファからデータ格納領域に転送することにより、無駄なデータ転送を最小限に抑えることにより、データ転送バスで転送効率を上げ、処理速度を向上し、コストを抑えることができ、更に、システムサービス手段を構成するCPUによってソフト的に受信バッファからデータ格納領域へのデータ転送を行なう場合に、データ処理に対して余分なデータ転送にCPUのパワーを割くことを防ぎ、処理速度を向上することができ、しかも、受信バッファに入力中ないし未入力の解析不要データのデータサイズが小さく、第1データ転送手段による転送先の切り替え処理のオーバーヘッドが発生する場合に、転送先の切り替えを行わないことにより、処理速度を向上させることができる。
また、通信用バッファから受信バッファにデータが一旦蓄積され、コマンド・データ解析手段により受信バッファ内のコマンド・データが解析され、受信バッファ内にあるコマンド・データを解析した結果、後続データが解析不要であり、解析不要データの保管先がデータ格納領域内に確定する場合に、受信バッファ内にすでに入力されているデータに関しては、システムサービス手段にて受信バッファからデータ格納領域に転送し、後続のデータ量が少量の場合(予め定めた量未満のとき)には、第1データ転送手段にて通信用バッファから受信バッファに格納されてからシステムサービス手段にて受信バッファからデータ格納領域に転送し、後続のデータ量が少量でない場合には、通信用バッファから受信バッファに入力中のデータに関しては、第1データ転送手段にて通信用バッファから受信バッファに格納されてからシステムサービス手段にて受信バッファからデータ格納領域に転送し、通信用バッファから受信バッファにまだ入力していないデータに関しては、第1データ転送手段にて通信用バッファからデータ格納領域に転送し、第1データ転送手段にて後続するデータを受信バッファの継続領域に転送し、システムサービス手段の転送終了前に上記後続データが受信バッファに入力された場合に、システムサービス手段の転送終了を待たずにコマンド・データ解析手段が受信バッファ内の後続データの解析を行うことにより、無駄なデータ転送を最小限に抑えることにより、データ転送バスで転送効率を上げ、処理速度を向上し、コストを抑えることができ、コマンド・データ解析の不必要なデータの単純な格納作業と、コマンド・データの解析作業が並行処理することにより、処理効率、処理速度を向上することができ、更に、システムサービス手段を構成するCPUによってソフト的に受信バッファからデータ格納領域へのデータ転送を行なう場合に、データ処理に対して余分なデータ転送にCPUのパワーを割くことを防ぎ、処理速度を向上することができ、更にまた、受信バッファに入力中ないし未入力の解析不要データのデータサイズが小さく、第データ転送手段による転送先の切り替え処理のオーバーヘッドが発生する場合に、転送先の切り替えを行わないことにより、処理速度を向上させることができる。
さらに、通信用バッファから受信バッファにデータが一旦蓄積され、コマンド・データ解析手段により受信バッファ内のコマンド・データが解析され、受信バッファ内にあるコマンド・データを解析した結果、後続データが解析不要であり、この解析不要データの保管先がデータ格納領域内に確定する場合に、受信バッファ内にすでに入力されているデータに関しては、システムサービス手段にて受信バッファからデータ格納領域に転送し、後続のデータ量が少量の場合(予め定めた量未満のとき)には、第1データ転送手段にて通信用バッファから受信バッファに格納されてからシステムサービス手段にて受信バッファからデータ格納領域に転送し、後続のデータ量が少量でない場合には、通信用バッファから受信バッファに入力中のデータに関しては、第1データ転送手段にて受信バッファへの入力を中断し、通信用バッファから受信バッファに格納された分については、システムサービス手段にて受信バッファからデータ格納領域に転送し、通信用バッファから受信バッファにまだ入力していない後続のデータに関しては、第1データ転送手段にて通信用バッファからデータ格納領域に転送することにより、無駄なデータ転送を最小限に抑えることにより、データ転送バスで転送効率を上げ、処理速度を向上し、コストを抑えることができ、更に、システムサービス手段を構成するCPUによってソフト的に受信バッファからデータ格納領域へのデータ転送を行なう場合に、データ処理に対して余分なデータ転送にCPUのパワーを割くことを防ぎ、処理速度を向上することができ、しかも、第1データ転送手段の通信用バッファから受信バッファへの転送中のサイズ設定が大きな場合でも、一旦中断して転送先を切り替えることにより、データ転送バスで転送効率を上げ、処理速度を向上し、コストを抑えることができ、さらにまた、受信バッファに入力中ないし未入力の解析不要データのデータサイズが小さく、第1データ転送手段による転送先の切り替え処理のオーバーヘッドが発生する場合に、転送先の切り替えを行わないことにより、処理速度を向上させることができる。
また、通信用バッファから受信バッファにデータが一旦蓄積され、コマンド・データ解析手段により受信バッファ内のコマンド・データが解析され、受信バッファ内にあるコマンド・データを解析した結果、後続データが解析不要であり、この解析不要データの保管先がデータ格納領域内に確定する場合に、受信バッファ内にすでに入力されているデータに関しては、システムサービス手段にて受信バッファからデータ格納領域に転送し、後続のデータ量が少量の場合(予め定めた量未満のとき)には、第1データ転送手段にて通信用バッファから受信バッファに格納されてからシステムサービス手段にて受信バッファからデータ格納領域に転送し、後続のデータ量が少量でない場合には、通信用バッファから受信バッファに入力中のデータに関しては、第1データ転送手段にて受信バッファへの入力を中断し、通信用バッファから受信バッファに格納された分については、システムサービス手段にて受信バッファからデータ格納領域に転送し、通信用バッファから受信バッファにまだ入力していない後続のデータに関しては、第1データ転送手段にて通信用バッファからデータ格納領域に転送し、システムサービス手段の転送終了前に上記後続データが受信バッファに入力された場合に、システムサービス手段の転送終了を待たずにコマンド・データ解析手段が受信バッファ内の後続データの解析を行うことにより、無駄なデータ転送を最小限に抑えることにより、データ転送バスで転送効率を上げ、処理速度を向上し、コストを抑えることができ、コマンド・データ解析の不必要なデータの単純な格納作業と、コマンド・データの解析作業が並行処理することにより、処理効率、処理速度を向上することができ、更に、システムサービス手段を構成するCPUによってソフト的に受信バッファからデータ格納領域へのデータ転送を行なう場合に、データ処理に対して余分なデータ転送にCPUのパワーを割くことを防ぎ、処理速度を向上することができ、しかも、第1データ転送手段の通信用バッファから受信バッファへの転送中のサイズ設定が大きな場合でも、一旦中断して転送先を切り替えることにより、データ転送バスで転送効率を上げ、処理速度を向上し、コストを抑えることができ、さらにまた、受信バッファに入力中ないし未入力の解析不要データのデータサイズが小さく、第1データ転送手段による転送先の切り替え処理のオーバーヘッドが発生する場合に、転送先の切り替えを行わないことにより、処理速度を向上させることができる。
次に、上述したような情報処理装置を含み、データ転送方法を実行する画像形成装置の一例について図23ないし図25を参照して説明する。まず、この画像形成装置の機構部について図23及び図24を参照して説明する。なお、図23は同機構部の全体構成を説明する概略構成図、図24は同機構部の要部平面説明図である。
この画像形成装置は、装置本体101と、装置本体101に装着した用紙を装填するための給紙トレイ102と、装置本体101に装着され画像が記録(形成)された用紙をストックするための排紙トレイ103とを備えている。
装置本体101内には、図示しない左右の側板に横架したガイド部材であるガイドロッド131とステー132とでキャリッジ133を主走査方向に摺動自在に保持し、図示しない主走査モータによって図24で矢示方向に移動走査する。
このキャリッジ133には、イエロー(Y)、シアン(C)、マゼンタ(M)、ブラック(Bk)の各色のインク滴を吐出する4個のインクジェットヘッドからなる記録ヘッド134を複数のインク吐出口を主走査方向と交叉する方向に配列し、インク滴吐出方向を下方に向けて装着している。
記録ヘッド134を構成するインクジェットヘッドとしては、圧電素子などの圧電アクチュエータ、発熱抵抗体などの電気熱変換素子を用いて液体の膜沸騰による相変化を利用するサーマルアクチュエータ、温度変化による金属相変化を用いる形状記憶合金アクチュエータ、静電力を用いる静電アクチュエータなどをインクを吐出するためのエネルギー発生手段として備えたものなどを使用できる。
また、キャリッジ133には、記録ヘッド134に各色のインクを供給するための各色のサブタンク135を搭載している。このサブタンク135に、図示しないインク供給チューブを介して、図示しないインクカートリッジからインクが補充供給される。
一方、給紙トレイ103の用紙積載部(圧板)141上に積載した用紙142を給紙するための給紙部として、用紙積載部141から用紙142を1枚ずつ分離給送する半月コロ(給紙コロ)143及び給紙コロ143に対向し、摩擦係数の大きな材質からなる分離パッド144を備え、この分離パッド144は給紙コロ143側に付勢されている。
そして、この給紙部から給紙された用紙142を記録ヘッド134の下方側で搬送するための搬送部として、用紙142を静電吸着して搬送するための搬送ベルト151と、給紙部からガイド145を介して送られる用紙142を搬送ベルト151との間で挟んで搬送するためのカウンタローラ152と、略鉛直上方に送られる用紙142を略90°方向転換させて搬送ベルト151上に倣わせるための搬送ガイド153と、押さえ部材154で搬送ベルト151側に付勢された先端加圧コロ155とを備えている。また、搬送ベルト151表面を帯電させるための帯電手段である帯電ローラ156を備えている。
ここで、搬送ベルト151は、無端状ベルトであり、搬送ローラ157とテンションローラ158との間に掛け渡されて、ベルト搬送方向に周回するように構成している。この搬送ベルト151は、例えば、抵抗制御を行っていない純粋な厚さ40μm程度の樹脂材、例えばETFEピュア材で形成した用紙吸着面となる表層と、この表層と同材質でカーボンによる抵抗制御を行った裏層(中抵抗層、アース層)とを有している。
また、搬送ベルト151の裏側には、記録ヘッド134による印写領域に対応してガイド部材161を配置している。
さらに、記録ヘッド134で記録された用紙142を排紙するための排紙部として、搬送ベルト151から用紙142を分離するための分離爪171と、排紙ローラ172及び排紙コロ173とを備え、排紙ローラ172の下方に排紙トレイ103を備えている。
また、装置本体101の背面部には両面給紙ユニット181が着脱自在に装着されている。この両面給紙ユニット181は搬送ベルト151の逆方向回転で戻される用紙142を取り込んで反転させて再度カウンタローラ152と搬送ベルト151との間に給紙する。また、この両面給紙ユニット181の上面には手差し給紙部182を設けている。
このように構成したインクジェット記録装置においては、給紙部から用紙142が1枚ずつ分離給紙され、略鉛直上方に給紙された用紙142はガイド145で案内され、搬送ベルト151とカウンタローラ152との間に挟まれて搬送され、更に先端を搬送ガイド153で案内されて先端加圧コロ155で搬送ベルト151に押し付けられ、略90°搬送方向を転換される。
このとき、帯電ローラ156によって搬送ベルト157が帯電されており、用紙142は搬送ベルト151に静電吸着されて搬送される。そこで、キャリッジ133を移動させながら画像信号に応じて記録ヘッド134を駆動することにより、停止している用紙142にインク滴を吐出して1行分を記録し、用紙142を所定量搬送後、次の行の記録を行う。記録終了信号又は用紙142の後端が記録領域に到達した信号を受けることにより、記録動作を終了して、用紙142を排紙トレイ103に排紙する。
次に、この画像形成装置の制御部のうちのプリンタコントローラに係る部分について図25を参照して説明する。
この制御部には、通信インターフェース(I/F)201、通信制御装置202、ROM203、制御装置204、メモリ205及びこれらの各装置をつなぐデータ転送バス206、207などと、エンジン(前述した機構部)211を駆動するためのエンジンコントローラ210へ必要なデータ(画像データなど)を出力するための外部出力用のインターフェースなどと備えている。
通信I/F201は、USB、IEEE1394、セントロニクス、無線LANを含むLAN、ADSL、電話回線、光ケーブルなどの通信用インターフェースである。通信制御装置202は、通信制御を行なうものであり、通信用バッフ221及び第1データ転送手段である第1データ転送装置222を含み、通信I/F201に適応した通信制御を行って、通信データ(受信したデータ)を通信用バッファ221に格納し、第1データ転送装置222で通信用バッファ221に格納したデータの転送制御を行なう。
通信用バッファ221は、リングバッファ、トグルバッファ構造などの通信データを一旦格納するバッファであり、RAMによって構成している。また、第1データ転送装置222は、例えばDMAやDSPで構成し、通信用バッファ221に格納されているデータを制御装置204からの指示に基づいてメモリ205に転送する。
ROM203は、ファームウェアや制御パラメータなどのデータが格納されている。
制御装置204は、システムサービス手段18、コマンド解析手段を兼ねる中央処理装置(CPU)241、第2データ転送手段である第2データ転送装置242、第3データ転送装置243などで構成されている。中央処理装置(CPU)241は、ROM203に格納ないしメモリ(RAM)205のシステム用領域253に展開されたシステムデータを実行し、割り込み等の外部入力によって動作及び制御をする。第2データ転送装置242、例えばメモリ205の内部領域間でデータを転送するDMAである。第3データ転送装置243は、例えばメモリ205から外部出力(エンジンコントローラ210)へデータを転送するDMAである。
メモリ205は、RAMで構成され、受信バッファ領域251、データ格納領域252、システム用領域253を有する。
そして、この制御部は、通信バッファ221に格納されたデータを第1データ転送装置222によって受信バッファ251に転送して格納し、コマンド・データを解析した結果、後続のデータが後続解析不要データであれば、前述したデータ転送の各例に従って、第1データ転送装置222によって通信バッファ221から受信バッファ領域251を介することなくデータ格納領域252にデータを直送する制御を行なう。
このように液滴を吐出して画像を形成する画像形成手段を備えた画像形成装置に本発明に係る情報処理装置あるいは本発明に係るデータ転送方法を適用することによって、処理速度が向上し、高速の画像形成が可能になる。
次に、電子写真方法を用いた画像形成装置の一例について図26及び図27を参照して簡単に説明する。なお、図26は画像形成装置の概略構成図、図27は同画像形成装置を構成するプロセスカートリッジの概略構成図である。
この画像形成装置440は、マゼンダ(M)、シアン(C)、イエロー(Y)、ブラック(Bk)の4色でフルカラー画像を形成するレーザプリンタの一例であり、各色用の画像信号に応じたレーザビームを出射する4つの光書き込み装置442M、442C、442Y、442Bkと、作像用の4つのプロセスカートリッジ441M、441C、441Y、441Bkと、画像が転写される記録用紙を収納する給紙カセット443と、給紙カセット443から記録用紙を給紙する給紙ローラ444と、記録用紙を所定のタイミングで搬送するレジストローラ445と、記録用紙を各プロセスカートリッジの転写部に搬送する転写ベルト446と、記録用紙に転写された画像を定着する定着装置449と、定着後の記録用紙を排紙トレイ451に排紙する排紙ローラ450等を備えた構成となっている。
4つのプロセスカートリッジ441M、441C、441Y、441Bkの構成は同じであり、図27に示すように、各プロセスカートリッジ441は、ケース内に像担持体であるドラム状の感光体452と、帯電ローラ453と、現像器454と、クリーニングブレード459等を一体に備えている。
また、現像器454内には、トナー供給ローラ、帯電ローラ、静電搬送基板457、トナー戻しローラ458が設けられており、各色のトナーが収納されている。また、プロセスカートリッジ441の背面側には、光書き込み装置からのレーザビームが入射される窓口となるスリット460が設けられている。
各光書き込み装置442M、442C、442Y、442Bkは、半導体レーザ、コリメートレンズ、ポリゴンミラー等の光偏向器、走査結像用光学系等から構成され、装置外部のパーソナルコンピュータ等のホスト(画像処理装置)から入力される各色用の画像データに応じて変調されたレーザビームを出射し、各プロセスカートリッジ441M、441C、441Y、441Bkの感光体452上を走査し、静電荷像(静電潜像)を書き込む。
そして、画像形成が開始されると、各プロセスカートリッジ441M、441C、441Y、441Bkの感光体452が帯電ローラ453で均一に帯電され、各光書き込み装置442M、442C、442Y、442Bkから画像データに応じたレーザビームが照射されて各感光体上に各色の静電潜像が形成される。感光体452上に形成された静電潜像は、現像器454の静電搬送基板457で静電搬送された各色のトナーにより現像され顕像化される。感光体452と静電搬送基板457の対向部間にパスル状の現像バイアスが印加され、感光体452上の静電潜像が、静電搬送基板457で搬送されて来たトナーによりホッピング現象される。また、現像に供されなかったトナーは静電搬送基板457で搬送されてトナー戻しローラ458に戻される。
各441Bk、441Y、441C、441Mの各色の画像形成に同期して、供給カセット443内の記録用紙が供給ローラ444で給紙され、レジストローラ445により所定のタイミングで転写ベルト446に向けて搬送される。そして、記録用紙は転写ベルト446に担持されて4つのプロセスカートリッジ441Bk、441Y、441C、441Mの感光体に向けて順次搬送され、各感光体上のBk、Y、C、Mの各色のトナー像が順次重ね合わせて転写される。4色のトナー像が転写された記録用紙は、定着ベルト447と加圧ローラ448からなる定着装置449に搬送され、4色のトナー像からなるカラー画像が定着されて排紙トレイ451に排紙される。
このような電子写真方式で画像を形成する画像形成手段を備えた画像形成装置に本発明に係る情報処理装置あるいは本発明に係るデータ転送方法を適用することによって、処理速度が向上し、高速の画像形成が可能になる。
なお、解析が不要なデータとしては、例えば、イメージデータ、フォントデータ、音楽データ、音声データ、動画データなどであり、これらのデータは非圧縮データであっても、圧縮データであってもよく、コマンド・データ解析時点で後続の解析不要のデータのサイズが確定するものであれば何でも良い。
また、本発明に係る情報処理装置あるいは本発明に係るデータ転送方法は、上述したインクジェット方式の画像形成装置や電子写真方式の画像形成装置に限らず、プリンタ、FAX装置、コピー装置、プリンタ/ファクシミリ/コピー機の複合機(MFP)、パーソナルコンピュータ、携帯電話、通信カラオケ装置、DVD装置、HDDレコーダ、デジタル放送受信装置など、コマンド・データ解析を行い、かつ解析不要のデータを扱う機器に適用することができる。これらの機器ないし装置に本発明に係る情報処理装置あるいは本発明に係るデータ転送方法を適用することによって、処理速度の向上を図ることができる。