JP4197916B2 - Data processing apparatus, data processing method, data processing program, and recording medium - Google Patents

Data processing apparatus, data processing method, data processing program, and recording medium Download PDF

Info

Publication number
JP4197916B2
JP4197916B2 JP2002274138A JP2002274138A JP4197916B2 JP 4197916 B2 JP4197916 B2 JP 4197916B2 JP 2002274138 A JP2002274138 A JP 2002274138A JP 2002274138 A JP2002274138 A JP 2002274138A JP 4197916 B2 JP4197916 B2 JP 4197916B2
Authority
JP
Japan
Prior art keywords
memory
transfer
data
completion time
data processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002274138A
Other languages
Japanese (ja)
Other versions
JP2004106428A (en
JP2004106428A5 (en
Inventor
教夫 道家
泰光 清水
百合子 小幡
清貴 茂木
康広 服部
隆生 岡村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2002274138A priority Critical patent/JP4197916B2/en
Priority to US10/663,783 priority patent/US7185151B2/en
Publication of JP2004106428A publication Critical patent/JP2004106428A/en
Publication of JP2004106428A5 publication Critical patent/JP2004106428A5/en
Application granted granted Critical
Publication of JP4197916B2 publication Critical patent/JP4197916B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)
  • Image Input (AREA)
  • Storing Facsimile Image Data (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、データ格納用に共有するメモリにアクセスして処理を行う複数のデータ処理手段を備えたデータ処理装置及びデータ処理方法に関する。
【0002】
【従来の技術】
近年、例えば複写機(画像形成装置)ではデジタル化が進んでいる。それに伴い、画像の加工や編集といったことを行う画像処理機能以外にも様々な機能が搭載されるようになってきている。
搭載されるようになった機能の一つとして、原稿複数枚分の画像データをメモリに記憶することにより、指定部数まとめてコピー出力して、仕分けの作業をなくす電子ソートという機能がある。複数枚の画像データを半導体メモリに蓄積できるようにすると、画像データのデータ量は大きいためにそのコストが膨大になる。このことから、そのコストを抑えるために下記のような構成とするのが一般的である。
1.半導体メモリ+蓄積用メモリの構成とし、蓄積メモリとして半導体メモリより単位メモリ容量当たりのコストが安価なハードディスク装置等の2次記憶装置を使用する(以下、「第1の構成」と呼ぶ)
2.蓄積メモリとして半導体メモリを使用し、圧縮処理を用いて画像データを圧縮し、1枚あたりのデータ量を減らすことで必要な記憶容量を減らす(以下、「第2の構成」と呼ぶ)
3.複数の画像入出力手段(イメージスキャナ、プリンタコントローラ、ファイルサーバー、或いはFAXコントローラ等)に同一のメモリを共有させる(以下、「第3の構成」と呼ぶ)
【0003】
メモリに対し、画像データの入出力を実行するためにはDMA(Direct Memory Access)データ転送方式を用いたメモリ制御コントローラ(以下DMAコントローラ)が使用されることが多い。DMAコントローラはディスクリプタと呼ばれるデータ転送方式を指示した情報を元にメモリの特定の領域に対してアクセスを行う。1画像が格納されるメモリ領域を複数のディスクリプタにより分割してデータ転送を行わせることも可能であり、例えばメモリをリングバッファの形態で利用することにより、画像データの容量よりも少ないメモリ容量で画像データの入出力を実行することもできる。参考技術文献としては特許文献1が挙げられる。
DMAコントローラを用いたメモリアクセス制御では、各ディスクリプタで指定されたデータ転送の進行状況(開始、終了)の把握や、データ転送の実行タイミング制御(メモリの領域へのアクセス中にその中断、開始、或いは各ディスクリプタの終了割込み通知等)も可能であるため、DMAコントローラに接続された半導体メモリや、大容量の2次記憶装置に対するアクセスのタイミング制御の自由度が高く、応用範囲が広いという利点がある。
【0004】
上述のように蓄積メモリとして半導体メモリの他にハードディスク装置等の2次記憶装置を使用する第1の構成では、通常、単一の記憶装置に対して複数のデータ転送(データ書込み、読み出し動作)を行うことはできない。このため、DMAコントローラのディスクリプタを用いて2次記憶装置へのデータ転送(アクセス)単位を分割し、これを時分割に実行することで、複数のデータ転送動作をあたかも並行して実行しているようにするのが一般的である。
当然のことながら、このような時分割処理を用いると、データ転送に要する全体の時間が短くなることはない。このため、画像形成装置のように画像データの入出力に要する時間をより短縮することが装置の生産性に影響を及ぼす場合には、時分割処理を行うことが逆に生産性の低下を招くこともある。よって、画像データを圧縮してデータ転送量を小さくする第2の構成を更に採用したり、或いはデータ転送速度の速い2次記憶装置を搭載して、2次記憶装置へのデータ転送に要する時間がより短くなるようにさせていた。メモリアクセス制御の簡素化を計る理由から、時分割転送は積極的に行わず、2次記憶装置は画像入出力手段による画像データ入出力動作と略同期してリソースとして占有してデータ転送を行う手法が用いられるのが普通である。
通常、画像入出力手段−半導体メモリ間のデータ転送速度に比較して、半導体メモリ−2次記憶装置間のデータ転送速度は小さい。画像データの圧縮を行って2次記憶装置にアクセスするデータ量を小さくしても、画像入出力手段−半導体メモリ間のデータ転送速度との差に変化が少なかったために、半導体メモリ−2次記憶装置間のデータ転送処理(データ圧縮等のデータ変換処理も含む)の転送タイミングの制御を独立、且つ最適に行ったとしても画像形成装置の生産性はあまり向上しなかった。
【0005】
ハードディスク装置のような2次記憶装置の転送速度は年々向上してきており、その転送速度の向上によって生産性も向上する。しかし、近年の高速な複写機には、原稿の表裏同時読み取りが可能であったり、画像入出力手段の処理能力(速度)がより向上していたり、或いは生産性を達成するためには原稿の搬送をノンインターバルで行うという機構的制約が存在するといった理由で求められる転送速度がより高い機種も存在する。このことから、最近では、画像入力手段が画像を読み取るための原稿の搬送をノンインターバルに行うか否かの切換制御などに、2次記憶装置に対する現在のアクセス状況、その特性(性能)等を考慮する必要性が高くなってきている。
【特許文献1】
特開2000−158724号公報
【0006】
【発明が解決しようとする課題】
上述したように、近年の技術の進歩に伴い、ハードディスク装置等の大容量の2次記憶装置へのアクセスを伴うデータ転送速度は、たとえデータ圧縮によりデータ量を低減させたとしても、画像入出力手段のデータ転送速度に対して十分な速度とは必ずしも言えない状況となっている。例えば画像出力手段が複数色の画像データからカラー画像を出力するものであれば、2次記憶装置に格納された画像データを決められた時間内に入力しなければカラー画像を適切に出力できないか、或いはその出力に要する時間が長くなって生産性が著しく低下することになる。このようなことから、画像形成装置では、そのことに対応できるようにすることが必要であると考えられる。
例えば、FAX送信では、電話回線を用いたデータ転送のプロトコルにデータ転送時間に関する規約が存在する。その規約により、一定時間内にデータ送信を行わなければ接続が切断されてしまい、データは送信できなくなる。そのFAX送信機能は、データ処理装置にとって一般的な機能となっている。このようなことから、処理のために2次記憶装置にアクセスすることがある複数のデータ処理手段の少なくとも一つにアクセス時間に対する制約が存在する他のデータ処理装置においても、2次記憶装置のアクセス速度が十分な速さでないということに対応できるようにすることが必要であると言える。
本発明は、共有する2次記憶装置を含むメモリにアクセスすることがある複数のデータ処理手段の少なくとも一つにデータ転送に要する時間の制約が存在する場合に、その制約を満たす形で常にメモリにアクセスするデータ処理装置を提供することを目的とする。
【0007】
【課題を解決するための手段】
本発明のデータ処理装置は、データ格納用に共有するメモリにアクセスして処理を行うことができるデータ処理手段を少なくとも備えていることを前提とし、データ処理手段が行う処理のためにメモリにアクセスする場合に、該アクセスに伴うデータ転送を完了すべき転送完了時間を必要に応じて指定する転送完了時間指定手段と、データ処理手段が行う処理のためにメモリにアクセスする場合に、その時点での該メモリへのアクセス状況を考慮して、該アクセスに伴うデータ転送の完了に要すると予想される予想転送完了時間を計算する予想転送完了時間計算手段と、転送完了時間指定手段が指定した転送完了時間、及び予想転送完了時間計算手段が計算した予想転送完了時間に基づいて、データ処理手段が行う処理のためのメモリへのアクセスを管理するアクセス管理手段と、を具備する。
なお、上記の構成では、メモリに格納されたデータの保存に用いられ、該メモリへのアクセスに伴うデータの転送速度と比較して転送速度が低速な他のメモリ、を備え、メモリと他のメモリ間でデータ転送が行われる場合、予想転送完了時間計算手段は該データ転送を考慮して予想転送完了時間を計算する、ことが望ましい。
また、アクセス管理手段は、データ処理手段が行う処理のためにメモリに新たにアクセスする場合、予想転送完了時間計算手段が計算した予想転送完了時間が転送完了時間指定手段の指定した転送完了時間よりも長ければ、メモリへの新たなアクセスを禁止、或いは延期させる、ことが望ましい。画像形成装置については、メモリに格納する画像データを入力する画像入力手段を第1のデータ処理手段とし、前記メモリに格納された画像データを出力する画像出力手段を第2のデータ処理手段とする画像形成装置である、ことが望ましい。
本発明のプログラムは、データ格納用に共有するメモリにアクセスして処理を行うことができるデータ処理手段を少なくとも備えたデータ処理装置に実行させることを前提とし、データ処理手段が行う処理のためにメモリにアクセスする場合に、該アクセスに伴うデータ転送を完了すべき転送完了時間を必要に応じて指定する転送完了時間指定ステップと、データ処理手段が行う処理のためにメモリにアクセスする場合に、その時点での該メモリへのアクセス状況を考慮して、該アクセスに伴うデータ転送の完了に要すると予想される予想転送完了時間を計算する予想転送完了時間計算ステップと、指定する機能により指定した転送完了時間、及び計算する機能により計算した予想転送完了時間に基づいて、データ処理手段が行う処理のためのメモリへのアクセスを管理するアクセス管理ステップと、を実現させる。
本発明では、少なくとも搭載されたデータ処理手段が行う処理のために共有のメモリにアクセスする場合に、そのアクセスに伴うデータ転送を完了すべき転送完了時間を必要に応じて指定し、その時点でのメモリへのアクセス状況を考慮して、そのアクセスに伴うデータ転送の完了に要すると予想される予想転送完了時間を計算し、指定した転送完了時間、及び計算した予想転送完了時間に基づいて、データ処理手段が行う処理のためのメモリへのアクセスを管理する。それにより、データ転送に要する時間の制約が存在していても、その制約を常に満たす形でメモリへのアクセス、そのアクセスに伴うデータ転送を行えることとなる。その結果、各データ処理手段は常に処理速度を実質的に低下させることなく、行うべき処理を最適に行えるようになり、データ処理装置は常に高い生産性を維持できることとなる。
【0008】
【発明の実施の形態】
以下、図面を参照しながら、本発明の実施の形態につき詳細に説明する。
図1は、本実施の形態によるデータ処理装置(デジタル複合機)の構成図である。
そのデジタル複合機は、複写機、或いはファクシミリ装置として機能できるものであり、図1に示すように、原稿の画像を読み取る読取部101と、転写紙上に画像を形成(印刷)する像形成部102と、電話回線を介してデータの送受信を行うFAX部103と、各種キーや表示部が配置された操作部104と、画像データを記憶する記憶部105と、画像データの送出先を切り換えるセレクタ部106と、複合機全体の制御を行うシステム制御部107と、を備えて構成されている。
上記読取部101は、原稿台111上に裁置された原稿112をその原稿台111に沿って露光ランプ113を図2の副走査方向に移動させることによってスキャン露光を行い、その反射光を複数の反射ミラーによりCCDイメージセンサー114に導き、そのセンサー114によって光電変換を行い、光の強弱に応じた電気信号とする。IPU(イメージプロセッシングユニット)115は、その電気信号に対し、シェーディング補正等の処理を行った後にA/D変換して、8ビットのデジタル画像データとし、さらに変倍処理、ディザ処理等の画像処理を行う。その画像処理後の画像データを直ちに出力する場合、画像同期信号と共に像形成部102に送る。
スキャナー制御部116は、上述のプロセスを実現させるために、各種センサーによる検知処理や、露光ランプ113移動用の駆動モータ等の制御を行い、IPU115に対する各種パラメータの設定を行う。それにより、読取部101全体の制御を行う。
【0009】
ここで、図3を参照して、読取部101のIPU105よる画像データの出力について説明する。
図3中のフレームゲート信号/FGATEは、副走査方向の画像エリアに対しての画像有効範囲を表す信号で、この信号/FGATEがローレベル(ローアクティブ)の間の画像データが有効とされる。この信号/FGATEは、ライン同期信号/LSYNCの立ち下がりエッジでアサート、あるいはネゲートされる。その信号/LSYNCは画素同期信号PCLKの立ち上がりエッジで所定クロック数だけアサートされ、この信号の立ち上がり後、所定クロック数後に主走査方向の画像データが有効とされる。送られてくる画像データは、画素同期信号PCLKの1周期に対して1つであり、図2の主走査方向上を157.5DPC(=400DPI)相当に分割したものである。画像データは、副走査方向上の位置を変えながら主走査方向上のデータを送出するラスタ形式で送出される。画像データの副走査有効範囲は、通常、転写紙サイズによって決まる。
像形成部102では、帯電チャージャ121によって一様に帯電された一定速度で回転する感光体122を、書込部123からの画像データによって変調されたレーザー光により露光する。感光体122にはその露光によって静電潜像ができ、それを現像装置124が現像することにより顕像化したトナー像が形成される。給紙トレイ125の転写紙は給紙コロ126によって繰り出してレジストローラ127まで搬送し、感光体122上のトナー像と重なるタイミングでローラ127による搬送を開始し、転写チャージャ128によって感光体122上のトナー像を転写紙に静電転写させる。転写紙のトナー像が転写された部分は分離チャージャー129によって感光体122より分離させる。転写紙上のトナー像は定着装置130により加熱定着させた後、排紙ローラ131により排紙トレイ132に排紙する。
静電転写後の感光体122上に残留したトナーは、クリーニング装置133が除去する。その除去を行った後は感光体122は除電チャージャ134により除電される。プロッタ制御部135は以上のプロセスを実現させるために、各種センサーによる検知処理、感光体122や給紙コロ126、レジストローラ127、及び定着装置130などを駆動するための各種駆動モータ等の制御を行う。
【0010】
システム制御部107は、オペレータによる操作部104への操作に応じて、読取部101、記憶部105、像形成部102、或いはFAX部103への各種パラメータの設定やプロセス実行指示等を通信にて行う。システム全体の状態を操作部104の表示部により表示させる。それにより、システム制御部107はオペレータの操作部104への操作に対応する形で制御を行う。
FAX部103は、システム制御部107からの指示により、インクリメントプログラム115、或いは記憶部105から送られてきた画像データをG3、G4FAXのデータ転送規定に基づき2値画像データの圧縮を行い、電話回線へ転送する。また、電話回線より受信したデータは、復元して像形成部102の書込部123等へ送出する。それにより、受信したデータは顕像化される。
セレクタ部106は、システム制御部107からの指示により、それを構成するセレクタの接続状態を変化させ、像形成部102が像形成を行う対象とする画像データの出力先を読取部101、記憶部105、及びFAX部103のうちの何れかに選択する。
記憶部105は、通常はIPU115から入力される原稿の画像データを記憶することで、リピートコピー、回転コピー等の複写アプリケーションに使用される。また、FAX部103からの2値画像データを一時的に記憶させるバッファメモリとしても使用される。これらデータの記憶はシステム制御部107の指示に従って行う。
【0011】
図4は、上記記憶部の構成図である。次に、図4を参照して、その記憶部105について詳細に説明する。
画像入出力DMAC401はCPU及びロジック回路で構成され、メモリ制御部403と通信を行ってコマンドを受信し、そのコマンドに応じた動作設定を行う。メモリ制御部403には現在の状態を示すステータス情報を送信する。
画像入力のコマンドをメモリ制御部403から受信した場合、セレクタ部106を介して入力する画像データを、画像同期信号/FGATEに従って8画素単位のメモリデータにパッキングして、メモリ制御部403にメモリアクセス信号と共に随時、出力する。画像出力のコマンドを受けた場合には、メモリ制御部403から受信した画像データを画像同期信号/FGATEに同期させて出力する。
画像メモリ402は画像データを記憶するところで、DRAM等の半導体記憶素子で構成される。メモリ容量は、例えば157.5DPC(=400DPI)、2値画像データではA3サイズ分の4Mバイトと、電子ソート蓄積用の4Mバイトの合計8MBとなっている。メモリ制御部403がアクセスする。
メモリ制御部403は、CPU及びロジック回路で構成され、システム制御部107と通信を行ってコマンドを受信し、そのコマンドに応じた動作設定を行い、記憶部105の現在の状態を知らせるためのステータス情報をその制御部107に送信する。
システム制御部107からのコマンドには、画像入力、画像出力、圧縮、伸長等を指示するものがあり、画像入力、画像出力のコマンドは画像入出力DMAC401に送信し、圧縮関連のコマンドは画像転送DMAC404、符号転送DMAC405、及び圧縮伸長器406に送信する。
【0012】
図5は、メモリ制御部403の内部構成を示す図である。ここで、その制御部403の内部構成、及び各部の動作について詳細に説明する。
入出力画像アドレスカウンタ501は、画像入出力DMAC401から受信する入出力メモリアクセス要求信号に応じてカウントアップするアドレスカウンタで、入力する画像データを格納する、或いは出力する画像データが格納された格納場所を示す22ビットのメモリアドレスデータを出力する。メモリアクセス開始時にアドレスは一旦、初期化される。
転送画像アドレスカウンタ502は、アービタ507が出力する転送メモリアクセス許可信号に応じてカウントアップするアドレスカウンタで、転送画像データが格納される格納場所を示す22ビットのメモリアドレスデータを出力する。メモリアクセス開始時に一旦アドレスは初期化される。
ライン設定部503は、画像データ入力時のバッファとして画像メモリ402を使用する場合に、差分比較部505が差分算出部504から出力された入力処理ライン番号と転送ライン番号の差分と比較する対象となる値(差分ライン数)をシステム制御部107から受信して保持する。任意の値を保持(設定)させることができる。
差分算出部504は、画像データ入力時には、圧縮伸長器406が出力する転送処理ライン数から画像入出力DMAC401が出力する入出力処理ライン数を減算し、減算結果を差分ライン数として差分比較部505に出力する。
差分比較部505は、画像データ入力時には、差分算出部504が出力する差分ライン数と、ライン設定部503が出力する設定値とを比較し、差分ライン数=設定値となったならばイナクティブ、それらが一致していなければアクティブの転送要求マスク信号を要求マスク508に出力する。それ以外、または画像データの入出力を行っていない状態であれば、その信号はアクティブにしない。
アドレスセレクタ506は、アービタ507によりアドレスカウンタ501、及び502が出力するアドレスデータのうちの一方を選択する。
【0013】
アービタ507は、圧縮伸張器406がハードディスク装置(HDD)408にアクセスするのを許可する旨を通知するためのメモリアクセス許可信号を出力する。その許可信号は、要求マスク部508を介して入力する転送要求マスク信号がアクティブで入出力メモリアクセス要求信号がイナクティブの条件でアクティブにする。アドレスセレクタ506には、選択・出力するアドレスデータを切り換えるための信号を必要に応じて出力する。
要求マスク部508は、差分比較器505から入力する転送要求マスク信号により、圧縮伸張器406がHDDコントローラ(HDDC)407を介してHDD408にアクセスするための転送メモリアクセス要求信号をマスク(ディスイネーブル状態とすること)し、それによるデータ転送処理を停止させる。
アクセス制御回路509は、アドレスセレクタ506を介して入力するアドレスデータをロウアドレス部、カラムアドレス部に分割し、11ビットのアドレスバスに出力する。また、アービタ507からのアクセス開始信号に従い、例えばDRAMである画像メモリ402に対する制御信号(RAS、CAS、WE)を出力する。
システム制御部107からの画像入力指示により、メモリ制御部403は初期化され画像データの待ち状態となり、読取部101の動作により記憶部105に画像データを格納可能となる。その記憶部105に入力された画像データは一旦、画像メモリ402に書き込まれる。書き込まれた画像データの処理ライン数は画像入出力DMAC401で計数され、入出力処理ライン数としてメモリ制御部403に送信される。圧縮伸長器406は、メモリ制御部403からの画像転送のコマンドを受けて転送メモリアクセス要求信号をそれに出力するが、その要求信号はメモリ制御部403の要求マスク部508によりマスクされ、それによるアクセスは行われない。画像入出力DMAC401からの画像データが1ライン分、終了すると、転送メモリアクセス要求信号のマスクが解除され、画像メモリ402から画像データの読み出しが行われ圧縮伸長部406への転送動作が開始される。その動作中も差分算出部で2つの処理ライン数の差を算出し、その差が0となればアドレスの追い越しがない様に転送メモリアクセス要求信号にマスクをかける。
【0014】
図4に示す記憶部105の説明に戻る。
画像転送DMAC404は、CPU及びロジック回路で構成され、メモリ制御部403と通信を行ってコマンドを受信し、そのコマンドに応じた動作設定を行い、現在の状態を知らせるためのステータス情報を送信する。圧縮のコマンドを受信した場合、メモリ制御部403にメモリアクセス要求信号を出力し、メモリアクセス許可信号がアクティブの場合に画像データを受け取って圧縮伸長器406に転送する。メモリアクセス要求信号に応じてカウントアップするアドレスカウンタを内蔵しており、そのカウント値を用いて生成する、画像データを読み出す、或いはそれが格納されている格納場所を示す22ビットのメモリアドレスデータを出力する。
符号転送DMAC405は、CPU及びロジック回路で構成され、メモリ制御部403と通信を行ってコマンドを受信し、そのコマンドに応じた動作設定を行い、現在の状態を知らせるためのステータス情報を送信する。伸長のコマンドを受信した場合、メモリ制御部403にメモリアクセス要求信号を出力し、その制御部403が出力するメモリアクセス許可信号がアクティブとなれば、画像データを受け取って圧縮伸長器406に転送する。メモリアクセス要求信号に応じてカウントアップするアドレスカウンタを内蔵しており、そのカウント値を用いて生成する、画像データを読み出す、或いはそれが格納されている格納場所を示す22ビットのメモリアドレスデータを出力する。そのDMAC405のディスクリプタによるアクセス動作については後述する。
圧縮伸長器406は、CPU及びロジック回路で構成され、メモリ制御部403と通信を行ってコマンドを受信し、そのコマンドに応じた動作設定を行い、現在の状態を知らせるためのステータス情報を送信する。2値の画像データをMH符号化方式で圧縮する。
HDCコントローラ(HDDC)407は、CPU及びロジック回路で構成され、メモリ制御部403と通信を行ってコマンドを受信し、そのコマンドに応じた動作設定を行い、現在の状態を知らせるためのステータス情報を送信する。HDD408のステータス情報のリードやアクセス(データ転送)を行なう。そのHD408は、2次記憶装置である。
上述した構成の記憶部105は、画像入力、及びデータ蓄積に際してはシステム制御部107からの指示により、画像データを画像メモリ402に確保された格納領域に画像入出力DMAC401により書き込むか、または、その格納領域に格納された画像データを読み出す。このとき画像入出力DMAC401は画像データのライン数をカウントし、そのライン数を入出力処理ライン数としてメモリ制御部403に出力する。
【0015】
図6は、符号転送DMAC405のディスクリプタによるアクセス動作(データ転送動作)を説明するための図である。ここでは、画像データを4つのバンドに分割してそのデータ転送を行う場合を例にとって説明する。なお、他のDMAC401、404等においてもその動作は同様である。
先ず、1画像データ中の総転送ライン数を加算する手順を説明する。
符号転送DMAC405はメモリ制御部403から転送コマンドを受信することで起動し、その制御部403から受信したディスクリプタは、そのストア用のディスクリプタ格納レジスタ601上に確保された領域である、CPUを有するデータ転送制御部602によって設定されたチェーン先アドレス(ここではaアドレス)から順に(ここではディスクリプタ1が先頭である)ストアする。
そのレジスタ601にロードされたディスクリプタは、次のディスクリプタの格納領域(その先頭アドレス)を示すチェーン先アドレス、転送するデータの先頭アドレスを示すデータ転送先アドレス、転送するデータのデータ量をライン数で示すデータ転送ライン数、及び設定されたライン数のデータ転送が終了した場合に、CPU割り込みを発生させるか否かを指定できるフォーマット情報からなる4ワード構成である。そのフォーマット情報の最下位ビットには、設定されたライン数のデータ転送終了の場合にCPU割り込みを発生させるか否かを指定するためのビットが配置されている。その値が0であればCPU割り込みを発生させ、1であればその発生をマスクさせる。
図6に示す例では、画像データを4つのバンドに分割し、各ディスクリプタのフォーマット情報の最下位1ビットの値は全て0となっている。各バンドの画像データ転送が終了するとCPU割り込みが発生し、その割り込み発生により、各ディスクリプタに設定されているライン数を加算することにより転送終了タイミング、及びライン数を検出しながらデータ転送を行えるようになっている。
【0016】
画像メモリ402から圧縮伸長器406を通してHDD408にデータを転送(1次記憶装置→2次記憶装置)する場合、メモリ制御部403のディスクリプタの設定は1バンド分のデータ転送用であるため、ディスクリプタのライン数の設定は画像ライン数として設定される。そのライン数を格納し、格納先アドレスは符号転送DMAC405を示すものとしたディスクリプタを画像転送DMAC404に出力する。符号転送DMAC405に出力するディスクリプタでは、データの格納先アドレスはHDDC407を示すものに設定する。それにより、画像メモリ402→メモリ制御部403→画像転送DMAC404→符号転送DMAC405→圧縮伸長器406→HDDC407→HDD408という経路で画像データの転送を行わせる。データ転送終了後には、HDDC407よりHDD408へ蓄積した際の使用容量が通知され、このHDD408へ画像データを格納したアドレス(例えば先頭アドレス)と使用容量を画像メモリ(1次記憶装置)402に確保しているHDD管理領域に記憶させておく。データ転送中は、メモリ制御部403は、画像データの圧縮伸長器406への転送が、符号転送DMAC405からの転送を追い越さないように転送メモリアクセス要求にマスクをかける。それにより、HDD408へのデータ転送がそのためのデータ転送を追い越さないように制御する。
逆にHDD408から圧縮伸長器406を通して画像メモリ402にデータを転送(2次記憶装置→1次記憶装置)する場合には、画像メモリ402に確保しているHDD管理領域に記憶させているHDD408へ蓄積した際の格納アドレスと使用容量を取得し、HDDC407には格納先アドレスを指定し、符号転送DMAC405には使用容量を、画像転送DMAC404には伸長後のライン数を設定して、HDD408→HDDC407→圧縮伸長器406→符号転送DMAC405→画像転送DMAC404→メモリ制御部403→画像メモリ402という経路で画像データの転送を行う。それ以外の経路でデータ転送を行う場合、メモリ制御部403は同様な方法で作成したディスクリプタを出力すべきDMACに出力することで、その経路でのデータ転送を実現させる。
上述したように、画像メモリ402、及びHDD408は、処理対象とするデータ格納用に共有させる。本実施の形態では、その共有によって生じるデータ転送速度の低下を理由として、各部101〜103が適切に処理を行えなくなる、或いはその処理時間が非常に長くなるといった不具合の発生を以下のようにして回避させている。
【0017】
データ転送速度は、システムの構成や採用した装置などによって変化する。本実施の形態では、そのデータ転送速度として、読取部101(FAX部103)→画像メモリ402間のデータ転送速度rx_speed1、画像メモリ402→HDD408間のデータ転送速度rx_speed2(以上、データ入力時)、HDD408→画像メモリ402間のデータ転送速度tx_speed1、画像メモリ402→像形成部102(FAX部103)間のデータ転送速度tx_speed2、などを固有の特性値として、例えばシステム制御部107を構成する不図示の不揮発性化されたメモリに予め保存している。
そのデータ転送が完了すると予想される予想転送完了時間は、データ量data1とデータを転送する経路、その経路により決まるデータ転送速度などを考慮して計算する。例えば読取部101が出力する画像データをHDD408に保存する場合には、その予想転送完了時間expect_timeは、
expect_time=data1/rx_speed1+data1/rx_speed2+wait_time
より計算し、例えばHDD408に保存された画像データを像形成部102に出力する場合には、その予想転送完了時間expect_timeは、
expect_time=data1/tx_speed1+data1/tx_speed2+wait_time
より計算する。ここでwait_timeは、実際にデータ転送を行っている以外で必要な待ち時間である。それは以下のように、そのときの動作状態によって変化する。
wait_time=WAIT_DRAM+WAIT_HDD+α
ここで、WAIT_DRAMは、画像メモリ402が他の要求によって先に占有されていた場合に、開放されてその要求に対して使用できるようになるまでの時間であり、現在データ転送中である転送要求の予想転送完了時間の残り時間や、それ以外の現在、待ちとなっている他の転送要求の有無、それが有ればその予想転送完了時間などを考慮して計算する。WAIT_HDDは、HDD408が他の転送要求によって先に占有されていた場合に、開放されてその要求に対して使用できるようになるまでの時間である。時間WAIT_DRAMと同様な方法で計算する。αはそれ以外のオーバーヘッドに要する時間であり、最悪値(最長の時間)を固定値として使用する。
上記待ち時間wait_timeは、例えばメモリ制御部403が時間WAIT_DRAM、WAIT_HDDを必要に応じて計算して求め、システム制御部107に通知する。予想転送完了時間expect_timeは、メモリ制御部403から通知された待ち時間wait_timeを用いてシステム制御部107が計算する。それを計算するうえで必要なデータ量data1は、データ転送を要求した要求元から取得する。
【0018】
システム制御部107は、データ転送要求時には,予めデータ転送を完了させるべき時間である転送完了時間complete_timeを必要に応じて指定する。その時間complete_timeは、データ量と、データの転送先、或いは転送元で求められている最低のデータ転送速度と、を基に計算される時間である。その時間complete_timeを予想転送完了時間expect_timeと比較することにより、実際のデータ転送が転送完了時間内に完了するか否か判断する。
データ転送を時分割処理で行うと、要求されたデータ転送を行うことによって他の転送要求における予想転送完了時間が変化することがある。このことから、その時間内に完了すると判断すると、更に、転送要求を受け付けた際の予想転送完了時間を再度、計算して、その転送要求を受け付けても転送完了時間内にデータ転送が完了しなくなる転送要求が存在しないことを確認できた場合に、新たな転送要求を受け付けるようにしている。このような判断・確認は、転送要求が新たにされる度に行うことにより、その転送完了時間内にデータ転送が全ての転送要求で完了すると判断できた場合に、その転送要求を受け付けている。受け付けた転送要求は図7に示すような待ち行列で管理する。転送要求を受け付けなかった場合、その要求を行った要求元にその旨を通知する。
そのように新たな転送要求を受け付ける場合、データを転送する、或いはそのデータが転送される各部101〜103では、常に処理速度を実質的に低下させることなく、行うべき処理を最適に行えるようになる。このため、常に高い生産性を維持できることとなる。
【0019】
その待ち行列には、図7に示すように、転送要求を区別するためのID、その要求を行った要求元、現在の状態,転送の対象とするデータ量、転送完了時間、などの情報を、転送要求を受け付ける度に登録している。それにより、順番に従って、シーケンシャルに転送要求を処理していくようになっている。その待ち行列では、転送完了時間はデータ転送を完了すべき時刻で表している。転送の開始、その転送の終了、と状態が変化する毎に,その要求に対する転送状態はIDとともに要求元に通知する。
待ち行列に登録された転送要求は任意に順番を入れ換える事ができる。また、要求を待ち行列から削除する事で,その転送要求の動作を禁止することもできる。待ち行列から削除した場合にはキャンセルしたことをIDとともに要求元に通知する。本実施の形態では、この待ち行列を入力側(記憶部105にデータを転送)、出力側といったように、複数、用意する事により同時に複数の入出力のデータ転送を実現できるようにさせている。
なお、本実施の形態では、転送完了時間内にデータ転送が全ての転送要求で完了すると判断できた場合にのみ、新たな転送要求を受け付けるようにしているが、そのように判断できることを条件に、データ転送を開始するタイミングを決定してそれを受け付けるようにしても良い。或いは、転送要求における重要度を考慮して、つまり、削除、或いはデータ転送の開始の繰り下げが可能な転送要求は待ち行列から削除するか、或いはそのデータ転送の開始を遅らせる形の対応を考慮して、その受け付けを行うようにしても良い。
本実施の形態では、各部101〜103がデータ処理手段に対応しているが、そのデータ処理手段の数や種類などは、本実施の形態に限定されるものではない。本発明は、様々な種類のデータ処理手段を複数、搭載したデータ処理装置に広く適用させることができる。
上述したような画像形成装置(データ処理装置)、或いはその変形例の動作を実現させるようなプログラムは、CD−ROM、DVD或いは光磁気ディスク等の記録媒体に記録させて配布しても良い。或いは、公衆網等で用いられる伝送媒体を介して、そのプログラムの一部、若しくは全部を配信するようにしても良い。そのようにした場合には、ユーザはプログラムを取得して既存のデータ処理装置にロードすることにより、その装置に本発明を適用させることができる。このことから、記録媒体は、プログラムを配信する装置がアクセスできるものであっても良い。
【0020】
【発明の効果】
以上説明したように本発明は、少なくとも搭載された第1、或いは第2のデータ処理手段が行う処理のために共有のメモリにアクセスする場合に、そのアクセスに伴うデータ転送を完了すべき転送完了時間を必要に応じて指定し、その時点でのメモリへのアクセス状況を考慮して、そのアクセスに伴うデータ転送の完了に要すると予想される予想転送完了時間を計算し、指定した転送完了時間、及び計算した予想転送完了時間に基づいて、第1、或いは第2のデータ処理手段が行う処理のためのメモリへのアクセスを管理する。それにより、データ転送に要する時間の制約が存在していても、その制約を常に満たす形でメモリへのアクセス、そのアクセスに伴うデータ転送を行えることとなる。このため、各データ処理手段は常に処理速度を実質的に低下させることなく、行うべき処理を最適に行えるようになり、データ処理装置は常に高い生産性を維持することができる。
【図面の簡単な説明】
【図1】本実施の形態によるデータ処理装置(デジタル複合機)の構成図である。
【図2】原稿台に裁置された原稿の画像の読取方を説明する図である。
【図3】読取部のIPUよる画像データの出力方法を説明するタイミングチャートである。
【図4】記憶部の構成を示す図である。
【図5】記憶部のメモリ制御部の構成を示す図である。
【図6】記憶部を構成する符号転送DMACのディスクリプタによるアクセス動作(データ転送動作)を説明するための図である。
【図7】システム制御部が管理する待ち行列を説明する図である。
【符号の説明】
101 読取部
102 像形成部
103 FAX部
105 記憶部
106 セレクタ部
107 システム制御部
401 画像入出力DMAC
402 画像メモリ
403 メモリ制御部
404 画像転送DMAC
405 符号転送DMAC
406 圧縮伸長器
407 HDDC
408 HDD
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a data processing apparatus comprising a plurality of data processing means for accessing and processing a memory shared for data storage, and Data processing method About.
[0002]
[Prior art]
In recent years, for example, copying machines (image forming apparatuses) have been digitized. Along with this, various functions have been installed in addition to image processing functions for processing and editing images.
As one of the functions that have been installed, there is a function called electronic sorting that stores image data for a plurality of originals in a memory so that a designated number of copies can be copied and output together to eliminate sorting work. If a plurality of pieces of image data can be stored in the semiconductor memory, the amount of image data is large and the cost is enormous. Therefore, in order to reduce the cost, the following configuration is generally used.
1. A secondary memory device such as a hard disk device having a configuration of a semiconductor memory + storage memory and a lower cost per unit memory capacity than the semiconductor memory is used as the storage memory (hereinafter referred to as “first configuration”).
2. Using a semiconductor memory as the storage memory, compressing image data using compression processing, and reducing the amount of data per sheet reduces the required storage capacity (hereinafter referred to as “second configuration”).
3. Multiple image input / output means (image scanner, printer controller, file server, FAX controller, etc.) share the same memory (hereinafter referred to as “third configuration”)
[0003]
In order to execute input / output of image data to / from a memory, a memory control controller (hereinafter referred to as a DMA controller) using a DMA (Direct Memory Access) data transfer method is often used. The DMA controller accesses a specific area of the memory based on information indicating a data transfer method called a descriptor. It is also possible to divide a memory area in which one image is stored by a plurality of descriptors and perform data transfer. For example, by using a memory in the form of a ring buffer, the memory capacity can be smaller than the capacity of image data. Image data input / output can also be executed. Patent document 1 is mentioned as reference technical literature.
In memory access control using a DMA controller, it is possible to grasp the progress (start, end) of data transfer specified by each descriptor, and control the execution timing of data transfer (interruption, start, (It is also possible to notify the end interrupt of each descriptor, etc.), so that there is a high degree of freedom in controlling the timing of access to a semiconductor memory connected to the DMA controller and a large-capacity secondary storage device, and the application range is wide. is there.
[0004]
As described above, in the first configuration in which the secondary storage device such as the hard disk device is used as the storage memory in addition to the semiconductor memory, usually, a plurality of data transfers (data writing and reading operations) to a single storage device. Can not do. For this reason, the data transfer (access) unit to the secondary storage device is divided using the descriptor of the DMA controller, and this is executed in time division, so that a plurality of data transfer operations are executed in parallel. It is common to do so.
Naturally, when such a time division process is used, the total time required for data transfer is not shortened. For this reason, when the time required for input / output of image data further affects the productivity of the apparatus as in an image forming apparatus, the time-sharing process conversely causes a decrease in productivity. Sometimes. Therefore, the time required for data transfer to the secondary storage device by further adopting the second configuration in which the image data is compressed to reduce the data transfer amount or the secondary storage device having a high data transfer speed is installed. Was made shorter. For the purpose of simplifying memory access control, time-division transfer is not actively performed, and the secondary storage device occupies resources as resources substantially in synchronization with image data input / output operations by the image input / output means. The technique is usually used.
Usually, the data transfer speed between the semiconductor memory and the secondary storage device is smaller than the data transfer speed between the image input / output means and the semiconductor memory. Even if the amount of data accessed to the secondary storage device is reduced by compressing the image data, there is little change in the data transfer speed between the image input / output means and the semiconductor memory. Even if the transfer timing control of the data transfer process (including data conversion process such as data compression) between the apparatuses is performed independently and optimally, the productivity of the image forming apparatus has not been improved so much.
[0005]
The transfer speed of a secondary storage device such as a hard disk device has been improved year by year, and the productivity is improved by improving the transfer speed. However, in recent high-speed copiers, it is possible to read both sides of the document simultaneously, the processing capability (speed) of the image input / output means is improved, or in order to achieve productivity, There are also models that require a higher transfer rate because there is a mechanical restriction that transport is performed in non-intervals. For this reason, recently, the current access status to the secondary storage device, its characteristics (performance), etc. are used for switching control for determining whether or not the image input means transports the document for reading an image at non-intervals. There is a growing need to consider.
[Patent Document 1]
JP 2000-158724 A
[0006]
[Problems to be solved by the invention]
As described above, with the recent advancement of technology, the data transfer speed accompanying access to a large-capacity secondary storage device such as a hard disk device can be used for image input / output even if the data amount is reduced by data compression. It is not always a sufficient speed for the data transfer speed of the means. For example, if the image output means outputs a color image from multiple color image data, can the color image be output properly unless the image data stored in the secondary storage device is input within a predetermined time? Or, the time required for the output becomes longer and the productivity is remarkably lowered. For this reason, it is considered that the image forming apparatus needs to be able to cope with this.
For example, in FAX transmission, there is a rule concerning data transfer time in a data transfer protocol using a telephone line. According to the convention, if data transmission is not performed within a certain time, the connection is disconnected and data cannot be transmitted. The FAX transmission function is a general function for the data processing apparatus. For this reason, in other data processing devices in which there is a restriction on access time in at least one of a plurality of data processing means that may access the secondary storage device for processing, the secondary storage device It can be said that it is necessary to be able to cope with the fact that the access speed is not fast enough.
In the present invention, when a time limit required for data transfer exists in at least one of a plurality of data processing means that may access a memory including a shared secondary storage device, the memory is always satisfied so as to satisfy the constraint. It is an object of the present invention to provide a data processing apparatus that accesses the network.
[0007]
[Means for Solving the Problems]
The data processing apparatus of the present invention is premised on having at least data processing means capable of accessing and processing a memory shared for data storage, and accesses the memory for processing performed by the data processing means. The transfer completion time specifying means for specifying the transfer completion time to complete the data transfer accompanying the access as necessary, and when accessing the memory for processing performed by the data processing means, at that time In consideration of the access status to the memory, an expected transfer completion time calculation means for calculating an expected transfer completion time expected to be required for completion of data transfer accompanying the access, and a transfer designated by the transfer completion time designation means Based on the completion time and the expected transfer completion time calculated by the expected transfer completion time calculation means, the memory processing is performed by the data processing means. Comprising the access management means for managing the processes, the.
Note that the above configuration includes another memory that is used to save data stored in the memory and has a lower transfer speed than the data transfer speed associated with accessing the memory. When data transfer is performed between the memories, it is desirable that the expected transfer completion time calculation means calculates the expected transfer completion time in consideration of the data transfer.
Further, when the access management means newly accesses the memory for processing performed by the data processing means, the expected transfer completion time calculated by the expected transfer completion time calculation means is determined from the transfer completion time designated by the transfer completion time designation means. If it is too long, it is desirable to prohibit or postpone new access to the memory. Image forming apparatus In the image forming apparatus, the image input means for inputting the image data stored in the memory is the first data processing means, and the image output means for outputting the image data stored in the memory is the second data processing means. It is desirable that
The program of the present invention is based on the premise that a data processing device having at least data processing means capable of accessing and processing a memory shared for data storage is executed, and for processing performed by the data processing means. When accessing the memory, specify the transfer completion time to complete the data transfer associated with the access as necessary. Transfer completion time specification step When the memory is accessed for processing performed by the data processing means, the expected transfer completion expected to be required for completion of the data transfer accompanying the access in consideration of the access status to the memory at that time Calculate time Expected transfer completion time calculation step And, based on the transfer completion time specified by the specified function and the expected transfer completion time calculated by the function to be calculated, access to the memory for processing performed by the data processing means is managed. Access control steps And realize.
In the present invention, when a shared memory is accessed for processing performed by at least the mounted data processing means, a transfer completion time for completing the data transfer accompanying the access is designated as necessary, and at that time The expected transfer completion time expected to be required to complete the data transfer associated with the access is calculated in consideration of the access status of the memory, and based on the specified transfer completion time and the calculated expected transfer completion time, It manages access to the memory for processing performed by the data processing means. As a result, even if there is a time limit required for data transfer, access to the memory and data transfer associated with the access can be performed while always satisfying the constraint. As a result, each data processing means can optimally perform the processing to be performed without substantially reducing the processing speed, and the data processing apparatus can always maintain high productivity.
[0008]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
FIG. 1 is a configuration diagram of a data processing apparatus (digital multifunction peripheral) according to this embodiment.
The digital multi-function peripheral can function as a copying machine or a facsimile machine. As shown in FIG. 1, a reading unit 101 that reads an image of a document and an image forming unit 102 that forms (prints) an image on a transfer sheet. A FAX unit 103 that transmits and receives data via a telephone line, an operation unit 104 in which various keys and a display unit are arranged, a storage unit 105 that stores image data, and a selector unit that switches a destination of image data 106 and a system control unit 107 that controls the entire multifunction peripheral.
The reading unit 101 performs scan exposure by moving the exposure lamp 113 in the sub-scanning direction in FIG. 2 along the document table 111 and moves the reflected light from the document 112 placed on the document table 111. This is reflected to the CCD image sensor 114 by the reflection mirror, and photoelectric conversion is performed by the sensor 114 to obtain an electric signal corresponding to the intensity of light. An IPU (image processing unit) 115 performs processing such as shading correction on the electrical signal and then A / D converts it into 8-bit digital image data, and further performs image processing such as scaling processing and dither processing. I do. When the image data after the image processing is output immediately, it is sent to the image forming unit 102 together with the image synchronization signal.
In order to realize the above-described process, the scanner control unit 116 performs detection processing by various sensors, controls a drive motor for moving the exposure lamp 113, and the like, and sets various parameters for the IPU 115. Thereby, the entire reading unit 101 is controlled.
[0009]
Here, the output of image data by the IPU 105 of the reading unit 101 will be described with reference to FIG.
A frame gate signal / FGATE in FIG. 3 represents a valid image range for the image area in the sub-scanning direction, and image data while this signal / FGATE is at a low level (low active) is validated. . This signal / FGATE is asserted or negated at the falling edge of the line synchronization signal / LSYNC. The signal / LSYNC is asserted for a predetermined number of clocks at the rising edge of the pixel synchronization signal PCLK, and image data in the main scanning direction is validated after a predetermined number of clocks after the rising of this signal. The transmitted image data is one for one cycle of the pixel synchronization signal PCLK, and is divided in the main scanning direction of FIG. 2 into 157.5 DPC (= 400 DPI). The image data is sent in a raster format for sending data in the main scanning direction while changing the position in the sub-scanning direction. The sub-scanning effective range of image data is usually determined by the transfer paper size.
In the image forming unit 102, the photosensitive member 122 that is uniformly charged by the charging charger 121 and rotates at a constant speed is exposed with a laser beam modulated by the image data from the writing unit 123. An electrostatic latent image is formed on the photosensitive member 122 by the exposure, and a developed toner image is formed by developing the electrostatic latent image with the developing device 124. The transfer paper in the paper feed tray 125 is fed out by the paper feed roller 126 and conveyed to the registration roller 127, and is started to be conveyed by the roller 127 at a timing overlapping with the toner image on the photoconductor 122. The toner image is electrostatically transferred onto the transfer paper. The portion of the transfer paper to which the toner image is transferred is separated from the photoreceptor 122 by the separation charger 129. The toner image on the transfer paper is heated and fixed by the fixing device 130, and then discharged to the discharge tray 132 by the discharge roller 131.
The toner remaining on the photoreceptor 122 after the electrostatic transfer is removed by the cleaning device 133. After the removal, the photoreceptor 122 is neutralized by the neutralization charger 134. In order to realize the above processes, the plotter control unit 135 performs detection processing by various sensors, and controls various driving motors for driving the photosensitive member 122, the paper feeding roller 126, the registration roller 127, the fixing device 130, and the like. Do.
[0010]
The system control unit 107 communicates various parameter settings, process execution instructions, and the like to the reading unit 101, the storage unit 105, the image forming unit 102, or the FAX unit 103 in accordance with an operation on the operation unit 104 by an operator. Do. The state of the entire system is displayed on the display unit of the operation unit 104. Thereby, the system control unit 107 performs control in a manner corresponding to the operation of the operator on the operation unit 104.
In response to an instruction from the system control unit 107, the FAX unit 103 compresses the binary image data of the image data sent from the increment program 115 or the storage unit 105 based on the G3 and G4 FAX data transfer rules, and the telephone line Forward to. The data received from the telephone line is restored and sent to the writing unit 123 of the image forming unit 102. Thereby, the received data is visualized.
In response to an instruction from the system control unit 107, the selector unit 106 changes the connection state of the selectors that configure the selector unit 106, and sets the output destination of image data to be subjected to image formation by the image forming unit 102 as the reading unit 101 and storage unit. 105 and the FAX unit 103 are selected.
The storage unit 105 normally stores image data of a document input from the IPU 115, and is used for a copy application such as repeat copy or rotation copy. Further, it is also used as a buffer memory for temporarily storing binary image data from the FAX unit 103. These data are stored in accordance with instructions from the system control unit 107.
[0011]
FIG. 4 is a configuration diagram of the storage unit. Next, the storage unit 105 will be described in detail with reference to FIG.
The image input / output DMAC 401 includes a CPU and a logic circuit, communicates with the memory control unit 403, receives a command, and sets an operation according to the command. Status information indicating the current state is transmitted to the memory control unit 403.
When an image input command is received from the memory control unit 403, the image data input through the selector unit 106 is packed into memory data in units of 8 pixels according to the image synchronization signal / FGATE, and the memory control unit 403 is accessed by the memory. Output with the signal at any time. When an image output command is received, the image data received from the memory control unit 403 is output in synchronization with the image synchronization signal / FGATE.
The image memory 402 stores image data and is composed of a semiconductor storage element such as a DRAM. The memory capacity is, for example, 157.5 DPC (= 400 DPI), 4 MB for A3 size in binary image data, and 8 MB in total for 4 M bytes for electronic sort storage. The memory control unit 403 accesses.
The memory control unit 403 includes a CPU and a logic circuit, communicates with the system control unit 107, receives a command, performs operation settings according to the command, and notifies the current state of the storage unit 105 Information is transmitted to the control unit 107.
Some commands from the system control unit 107 are for instructing image input, image output, compression, decompression, and the like. Image input and image output commands are transmitted to the image input / output DMAC 401, and compression-related commands are image transfer. The data is transmitted to the DMAC 404, the code transfer DMAC 405, and the compression / decompression unit 406.
[0012]
FIG. 5 is a diagram illustrating an internal configuration of the memory control unit 403. Here, the internal configuration of the control unit 403 and the operation of each unit will be described in detail.
The input / output image address counter 501 is an address counter that counts up in response to an input / output memory access request signal received from the image input / output DMAC 401. The input / output image address counter 501 stores image data to be input or output. 22-bit memory address data is output. The address is initialized once when the memory access is started.
The transfer image address counter 502 is an address counter that counts up in response to a transfer memory access permission signal output from the arbiter 507, and outputs 22-bit memory address data indicating a storage location where the transfer image data is stored. The address is initialized once at the start of memory access.
When the image memory 402 is used as a buffer at the time of image data input, the line setting unit 503 is a target that the difference comparison unit 505 compares with the difference between the input processing line number output from the difference calculation unit 504 and the transfer line number. Is received from the system control unit 107 and held. Arbitrary values can be held (set).
When image data is input, the difference calculation unit 504 subtracts the number of input / output processing lines output from the image input / output DMAC 401 from the number of transfer processing lines output from the compression / decompression unit 406 and sets the subtraction result as the number of difference lines as a difference comparison unit 505. Output to.
When image data is input, the difference comparison unit 505 compares the number of difference lines output from the difference calculation unit 504 with the set value output from the line setting unit 503. If the number of difference lines = the set value, the difference is inactive. If they do not match, an active transfer request mask signal is output to the request mask 508. Otherwise, the signal is not activated if no image data is being input / output.
The address selector 506 selects one of the address data output from the address counters 501 and 502 by the arbiter 507.
[0013]
The arbiter 507 outputs a memory access permission signal for notifying that the compression / decompression unit 406 is permitted to access the hard disk device (HDD) 408. The permission signal is activated under the condition that the transfer request mask signal input via the request mask unit 508 is active and the input / output memory access request signal is inactive. The address selector 506 outputs a signal for switching address data to be selected / output as necessary.
The request mask unit 508 masks the transfer memory access request signal for the compression / decompression unit 406 to access the HDD 408 via the HDD controller (HDDC) 407 based on the transfer request mask signal input from the difference comparator 505 (disenabled state). Then, the data transfer process is stopped.
The access control circuit 509 divides the address data input via the address selector 506 into a row address part and a column address part, and outputs them to an 11-bit address bus. Further, in accordance with an access start signal from the arbiter 507, control signals (RAS, CAS, WE) for the image memory 402 which is, for example, a DRAM are output.
In response to an image input instruction from the system control unit 107, the memory control unit 403 is initialized and waits for image data, and the image data can be stored in the storage unit 105 by the operation of the reading unit 101. The image data input to the storage unit 105 is once written in the image memory 402. The number of processing lines of the written image data is counted by the image input / output DMAC 401 and transmitted to the memory control unit 403 as the number of input / output processing lines. The compression / decompression unit 406 receives an image transfer command from the memory control unit 403 and outputs a transfer memory access request signal to the request. The request signal is masked by the request mask unit 508 of the memory control unit 403 and accessed accordingly. Is not done. When the image data from the image input / output DMAC 401 is completed for one line, the mask of the transfer memory access request signal is released, the image data is read from the image memory 402, and the transfer operation to the compression / decompression unit 406 is started. . During the operation, the difference calculation unit calculates the difference between the two processing lines, and if the difference becomes 0, the transfer memory access request signal is masked so that the address is not overtaken.
[0014]
Returning to the description of the storage unit 105 shown in FIG.
The image transfer DMAC 404 includes a CPU and a logic circuit, communicates with the memory control unit 403, receives a command, performs operation setting according to the command, and transmits status information for notifying the current state. When a compression command is received, a memory access request signal is output to the memory control unit 403, and when the memory access permission signal is active, image data is received and transferred to the compression / decompression unit 406. A built-in address counter that counts up in response to a memory access request signal is generated. The 22-bit memory address data indicating the storage location where the image data is read out or stored is generated using the count value. Output.
The code transfer DMAC 405 includes a CPU and a logic circuit, communicates with the memory control unit 403, receives a command, performs operation setting according to the command, and transmits status information for notifying the current state. When a decompression command is received, a memory access request signal is output to the memory control unit 403. When the memory access permission signal output by the control unit 403 becomes active, image data is received and transferred to the compression / decompression unit 406. . A built-in address counter that counts up in response to a memory access request signal is generated. The 22-bit memory address data indicating the storage location where the image data is read out or stored is generated using the count value. Output. The access operation by the descriptor of the DMAC 405 will be described later.
The compression / decompression unit 406 includes a CPU and a logic circuit, communicates with the memory control unit 403, receives a command, performs operation setting according to the command, and transmits status information for notifying the current state. . Binary image data is compressed by the MH encoding method.
The HDC controller (HDDC) 407 includes a CPU and a logic circuit, communicates with the memory control unit 403, receives a command, performs operation settings according to the command, and outputs status information for notifying the current state. Send. Read or access (data transfer) the status information of the HDD 408. The HD 408 is a secondary storage device.
The storage unit 105 configured as described above writes image data in the storage area secured in the image memory 402 by the image input / output DMAC 401 or inputs the image data and stores data according to instructions from the system control unit 107. Read the image data stored in the storage area. At this time, the image input / output DMAC 401 counts the number of lines of image data, and outputs the number of lines to the memory control unit 403 as the number of input / output processing lines.
[0015]
FIG. 6 is a diagram for explaining an access operation (data transfer operation) by the descriptor of the code transfer DMAC 405. Here, a case where image data is divided into four bands and the data transfer is performed will be described as an example. The operation is the same in the other DMACs 401 and 404.
First, a procedure for adding the total number of transfer lines in one image data will be described.
The code transfer DMAC 405 is activated by receiving a transfer command from the memory control unit 403, and the descriptor received from the control unit 403 is an area secured on the descriptor storage register 601 for the store, which is data having a CPU. Stores in order from the chain destination address (here, a address) set by the transfer control unit 602 (here, descriptor 1 is the head).
The descriptor loaded in the register 601 has a chain destination address indicating the storage area (the start address) of the next descriptor, a data transfer destination address indicating the start address of the data to be transferred, and the data amount of the data to be transferred in the number of lines. This is a 4-word configuration consisting of format information that can specify whether or not to generate a CPU interrupt when the number of data transfer lines shown and the data transfer of the set number of lines are completed. In the least significant bit of the format information, a bit for designating whether or not to generate a CPU interrupt when data transfer for the set number of lines is completed is arranged. If the value is 0, a CPU interrupt is generated, and if it is 1, the occurrence is masked.
In the example shown in FIG. 6, the image data is divided into four bands, and the value of the least significant 1 bit of the format information of each descriptor is all zero. When the transfer of image data for each band is completed, a CPU interrupt is generated. By the generation of the interrupt, the number of lines set in each descriptor is added so that data transfer can be performed while detecting the transfer end timing and the number of lines. It has become.
[0016]
When data is transferred from the image memory 402 to the HDD 408 through the compression / decompression unit 406 (primary storage device → secondary storage device), the descriptor setting of the memory control unit 403 is for data transfer for one band. The number of lines is set as the number of image lines. The number of lines is stored, and a descriptor whose storage destination address indicates the code transfer DMAC 405 is output to the image transfer DMAC 404. In the descriptor output to the code transfer DMAC 405, the data storage destination address is set to indicate the HDDC 407. As a result, image data is transferred through a path of image memory 402 → memory control unit 403 → image transfer DMAC 404 → code transfer DMAC 405 → compressor / decompressor 406 → HDDC 407 → HDD 408. After the data transfer is completed, the used capacity when the data is stored in the HDD 408 is notified from the HDDC 407, and the address (for example, the head address) where the image data is stored in the HDD 408 and the used capacity are secured in the image memory (primary storage device) 402. Stored in the HDD management area. During the data transfer, the memory control unit 403 masks the transfer memory access request so that the transfer of the image data to the compression / decompression unit 406 does not overtake the transfer from the code transfer DMAC 405. Thereby, control is performed so that the data transfer to the HDD 408 does not overtake the data transfer therefor.
Conversely, when data is transferred from the HDD 408 to the image memory 402 through the compression / decompression unit 406 (secondary storage device → primary storage device), the data is transferred to the HDD 408 stored in the HDD management area secured in the image memory 402. The storage address and the used capacity at the time of accumulation are acquired, the storage destination address is designated in the HDDC 407, the used capacity is set in the code transfer DMAC 405, and the number of lines after decompression is set in the image transfer DMAC 404, and the HDD 408 → HDDC 407. → Compression / decompression unit 406 → Code transfer DMAC 405 → Image transfer DMAC 404 → Memory control unit 403 → Image memory 402 is transferred through a path. In the case of performing data transfer through other paths, the memory control unit 403 outputs the descriptor created by the same method to the DMAC to be output, thereby realizing data transfer through the path.
As described above, the image memory 402 and the HDD 408 are shared for storing data to be processed. In the present embodiment, due to a decrease in the data transfer rate caused by the sharing, each unit 101 to 103 cannot properly process or the processing time becomes very long as follows. I am trying to avoid it.
[0017]
The data transfer rate varies depending on the system configuration and the devices used. In this embodiment, as the data transfer speed, the data transfer speed rx_speed1 between the reading unit 101 (FAX unit 103) → the image memory 402, the data transfer speed rx_speed2 between the image memory 402 → the HDD 408 (when data is input), The data transfer speed tx_speed1 between the HDD 408 and the image memory 402, the data transfer speed tx_speed2 between the image memory 402 and the image forming unit 102 (FAX unit 103), and the like are set as specific characteristic values, for example, not shown in the system control unit 107 Is stored in advance in a non-volatile memory.
The expected transfer completion time expected to complete the data transfer is calculated in consideration of the data amount data1 and the data transfer path, the data transfer speed determined by the path, and the like. For example, when the image data output by the reading unit 101 is stored in the HDD 408, the expected transfer completion time expect_time is:
expect_time = data1 / rx_speed1 + data1 / rx_speed2 + wait_time
For example, when outputting the image data stored in the HDD 408 to the image forming unit 102, the expected transfer completion time expect_time is:
expect_time = data1 / tx_speed1 + data1 / tx_speed2 + wait_time
Calculate more. Here, wait_time is a waiting time required other than actually performing data transfer. It varies depending on the operating state at that time as follows.
wait_time = WAIT_DRAM + WAIT_HDD + α
Here, WAIT_DRAM is a time until the image memory 402 is released and can be used for the request when the image memory 402 has been previously occupied by another request. The calculation is performed in consideration of the remaining time of the expected transfer completion time, the presence / absence of other transfer requests that are currently waiting, and the expected transfer completion time, if any. WAIT_HDD is a time until the HDD 408 is released and can be used for the request when it is previously occupied by another transfer request. Calculate in the same way as the time WAIT_DRAM. α is the time required for other overhead, and the worst value (longest time) is used as a fixed value.
For example, the memory control unit 403 calculates the waiting time wait_time by calculating the times WAIT_DRAM and WAIT_HDD as necessary, and notifies the system control unit 107 of it. The expected transfer completion time expect_time is calculated by the system control unit 107 using the wait time wait_time notified from the memory control unit 403. The data amount data1 necessary for calculating it is acquired from the request source that requested the data transfer.
[0018]
When requesting data transfer, the system control unit 107 designates a transfer completion time complete_time, which is a time to complete the data transfer, as necessary. The time complete_time is a time calculated based on the amount of data and the minimum data transfer speed obtained at the data transfer destination or transfer source. By comparing the time complete_time with the expected transfer completion time expect_time, it is determined whether or not the actual data transfer is completed within the transfer completion time.
When the data transfer is performed by time division processing, the expected transfer completion time in another transfer request may change due to the requested data transfer. Therefore, if it is determined that the transfer is completed within that time, the expected transfer completion time when the transfer request is received is calculated again, and the data transfer is completed within the transfer completion time even if the transfer request is received. When it is confirmed that there is no transfer request to be eliminated, a new transfer request is accepted. Such determination / confirmation is performed each time a transfer request is newly made, and if it can be determined that data transfer is completed with all transfer requests within the transfer completion time, the transfer request is accepted. . The received transfer request is managed in a queue as shown in FIG. If the transfer request is not accepted, the request source that made the request is notified of the fact.
When accepting a new transfer request in this way, the units 101 to 103 to which data is transferred or to which the data is transferred can optimally perform the processing to be performed without substantially reducing the processing speed. Become. For this reason, high productivity can always be maintained.
[0019]
As shown in FIG. 7, the queue includes information such as an ID for distinguishing the transfer request, the request source that made the request, the current state, the amount of data to be transferred, and the transfer completion time. Every time a transfer request is received, it is registered. As a result, the transfer requests are sequentially processed according to the order. In the queue, the transfer completion time is represented by the time at which the data transfer should be completed. Each time the status changes such as the start of transfer or the end of transfer, the request status is notified to the request source together with the ID.
The order of transfer requests registered in the queue can be changed arbitrarily. It is also possible to prohibit the operation of the transfer request by deleting the request from the queue. When deleted from the queue, the requester is notified of the cancellation together with the ID. In this embodiment, a plurality of queues such as the input side (data is transferred to the storage unit 105) and the output side are prepared so that a plurality of input / output data transfers can be realized simultaneously. .
In this embodiment, a new transfer request is accepted only when it can be determined that the data transfer is completed for all transfer requests within the transfer completion time. However, on the condition that such a determination can be made. Alternatively, the timing for starting the data transfer may be determined and accepted. Alternatively, considering the importance of the transfer request, that is, considering a response in which the transfer request that can be deleted or deferred to start the data transfer is deleted from the queue or the start of the data transfer is delayed. Then, the reception may be performed.
In the present embodiment, each of the units 101 to 103 corresponds to the data processing means, but the number and type of the data processing means are not limited to the present embodiment. The present invention can be widely applied to data processing devices equipped with a plurality of various types of data processing means.
An image forming apparatus (data processing apparatus) as described above, or a program that realizes the operation of the modified example may be recorded and distributed on a recording medium such as a CD-ROM, DVD, or magneto-optical disk. Alternatively, part or all of the program may be distributed via a transmission medium used in a public network or the like. In such a case, the user can apply the present invention to the apparatus by acquiring the program and loading it into an existing data processing apparatus. Therefore, the recording medium may be accessible by a device that distributes the program.
[0020]
【The invention's effect】
As described above, in the present invention, when a shared memory is accessed for processing performed by at least the first or second mounted data processing means, data transfer associated with the access should be completed. Specify the time as required, and calculate the expected transfer completion time that is expected to be required to complete the data transfer associated with the access, taking into account the access status to the memory at that time. And the access to the memory for processing performed by the first or second data processing means is managed based on the calculated expected transfer completion time. As a result, even if there is a time limit required for data transfer, access to the memory and data transfer associated with the access can be performed while always satisfying the constraint. For this reason, each data processing means can always perform the process to be performed optimally without substantially reducing the processing speed, and the data processing apparatus can always maintain high productivity.
[Brief description of the drawings]
FIG. 1 is a configuration diagram of a data processing apparatus (digital multifunction peripheral) according to an embodiment.
FIG. 2 is a diagram illustrating how to read an image of a document placed on a document table.
FIG. 3 is a timing chart illustrating a method for outputting image data by an IPU of a reading unit.
FIG. 4 is a diagram illustrating a configuration of a storage unit.
FIG. 5 is a diagram illustrating a configuration of a memory control unit of a storage unit.
FIG. 6 is a diagram for explaining an access operation (data transfer operation) by a descriptor of a code transfer DMAC that constitutes a storage unit;
FIG. 7 is a diagram illustrating a queue managed by a system control unit.
[Explanation of symbols]
101 Reading unit
102 Image forming unit
103 FAX section
105 Storage unit
106 Selector section
107 System control unit
401 Image input / output DMAC
402 Image memory
403 Memory control unit
404 Image transfer DMAC
405 Code transfer DMAC
406 Compression / decompression machine
407 HDDC
408 HDD

Claims (8)

データ格納用に共有するメモリにアクセスして処理を行うことができるデータ処理手段を少なくとも備えたデータ処理装置において、
前記データ処理手段が行う処理のために前記メモリにアクセスする場合に、該アクセスに伴うデータ転送を完了すべき転送完了時間を必要に応じて指定する転送完了時間指定手段と、
前記データ処理手段が行う処理のために前記メモリにアクセスする場合に、その時点での該メモリへのアクセス状況を考慮して、該アクセスに伴うデータ転送の完了に要すると予想される予想転送完了時間を計算する予想転送完了時間計算手段と、
前記転送完了時間指定手段が指定した転送完了時間、及び前記予想転送完了時間計算手段が計算した予想転送完了時間に基づいて、前記データ処理手段が行う処理のための前記メモリへのアクセスを管理するアクセス管理手段と、
を具備することを特徴とするデータ処理装置。
In a data processing apparatus comprising at least data processing means capable of performing processing by accessing a memory shared for data storage,
When accessing the memory for processing performed by the data processing means, transfer completion time designating means for designating, as necessary, a transfer completion time to complete data transfer accompanying the access;
When accessing the memory for processing performed by the data processing means, the expected transfer completion expected to be required for completion of data transfer accompanying the access in consideration of the access status to the memory at that time An expected transfer completion time calculation means for calculating the time;
Based on the transfer completion time designated by the transfer completion time designation means and the expected transfer completion time calculated by the expected transfer completion time calculation means, the access to the memory for processing performed by the data processing means is managed. Access control means;
A data processing apparatus comprising:
前記メモリに格納されたデータの保存に用いられ、該メモリへのアクセスに伴うデータの転送速度と比較して転送速度が低速な他のメモリ、を備え、
前記メモリと前記他のメモリ間でデータ転送が行われる場合、前記予想転送完了時間計算手段は該データ転送を考慮して前記予想転送完了時間を計算する、
ことを特徴とする請求項1記載のデータ処理装置。
Used to save data stored in the memory, comprising another memory having a lower transfer rate compared to the transfer rate of data accompanying access to the memory,
When data transfer is performed between the memory and the other memory, the expected transfer completion time calculating means calculates the expected transfer completion time in consideration of the data transfer.
The data processing apparatus according to claim 1.
前記アクセス管理手段は、前記データ処理手段が行う処理のために前記メモリに新たにアクセスする場合、前記予想転送完了時間計算手段が計算した予想転送完了時間が前記転送完了時間指定手段の指定した転送完了時間よりも長ければ、前記メモリへの新たなアクセスを禁止、或いは延期させる、
ことを特徴とする請求項1、または2記載のデータ処理装置。
When the access management means newly accesses the memory for processing performed by the data processing means, the expected transfer completion time calculated by the expected transfer completion time calculation means is designated by the transfer completion time designation means. If it is longer than the completion time, new access to the memory is prohibited or postponed.
The data processing apparatus according to claim 1 or 2, characterized by the above.
データ格納用に共有するメモリにアクセスして処理を行うことができるデータ処理手段を少なくとも備えたデータ処理方法において、
前記データ処理手段が行う処理のために前記メモリにアクセスする場合に、該アクセスに伴うデータ転送を完了すべき転送完了時間を必要に応じて指定する転送完了時間指定ステップと、
前記データ処理手段が行う処理のために前記メモリにアクセスする場合に、その時点での該メモリへのアクセス状況を考慮して、該アクセスに伴うデータ転送の完了に要すると予想される予想転送完了時間を計算する予想転送完了時間計算ステップと、
前記転送完了時間指定ステップにより指定した転送完了時間、及び前記予想転送完了時間計算ステップにより計算した予想転送完了時間に基づいて、前記データ処理手段が行う処理のための前記メモリへのアクセスを管理するアクセス管理ステップと、
を具備することを特徴とするデータ処理方法。
In a data processing method including at least data processing means capable of performing processing by accessing a memory shared for data storage,
A transfer completion time designation step for designating, as necessary, a transfer completion time at which data transfer associated with the access is to be completed when accessing the memory for processing performed by the data processing means;
When accessing the memory for processing performed by the data processing means, the expected transfer completion expected to be required for completion of data transfer accompanying the access in consideration of the access status to the memory at that time An expected transfer completion time calculation step to calculate the time;
Based on the transfer completion time designated in the transfer completion time designation step and the expected transfer completion time calculated in the expected transfer completion time calculation step, access to the memory for processing performed by the data processing means is managed. Access management steps;
A data processing method comprising:
前記メモリに格納されたデータの保存に用いられ、該メモリへのアクセスに伴うデータの転送速度と比較して転送速度が低速な他のメモリ、を備え、
前記メモリと前記他のメモリ間でデータ転送が行われる場合、前記予想転送完了時間計算ステップは該データ転送を考慮して前記予想転送完了時間を計算する、
ことを特徴とする請求項記載のデータ処理方法。
Used to save data stored in the memory, comprising another memory having a lower transfer rate compared to the transfer rate of data accompanying access to the memory,
When data transfer is performed between the memory and the other memory, the expected transfer completion time calculation step calculates the expected transfer completion time in consideration of the data transfer.
5. A data processing method according to claim 4, wherein:
前記アクセス管理ステップは、前記データ処理手段が行う処理のために前記メモリに新たにアクセスする場合、前記予想転送完了時間計算ステップにより計算した予想転送完了時間が前記転送完了時間指定ステップにより指定した転送完了時間よりも長ければ、前記メモリへの新たなアクセスを禁止、或いは延期させる、
ことを特徴とする請求項、または記載のデータ処理方法。
In the access management step, when a new access is made to the memory for processing performed by the data processing means, the expected transfer completion time calculated by the expected transfer completion time calculation step is designated by the transfer completion time designation step. If it is longer than the completion time, new access to the memory is prohibited or postponed.
6. The data processing method according to claim 4 or 5 , wherein:
請求項乃至の何れか一項記載のデータ処理方法をコンピュータが制御可能にプログラミングしたことを特徴とするデータ処理プログラム。A data processing program, wherein the data processing method according to any one of claims 4 to 6 is programmed so as to be controlled by a computer. 請求項記載のデータ処理プログラムをコンピュータが読み取り可能な形式で記録したことを特徴とする記録媒体。8. A recording medium in which the data processing program according to claim 7 is recorded in a computer-readable format.
JP2002274138A 2002-09-19 2002-09-19 Data processing apparatus, data processing method, data processing program, and recording medium Expired - Fee Related JP4197916B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002274138A JP4197916B2 (en) 2002-09-19 2002-09-19 Data processing apparatus, data processing method, data processing program, and recording medium
US10/663,783 US7185151B2 (en) 2002-09-19 2003-09-17 Data processing device characterized in its data transfer method, program for executing on a computer to perform functions of the device, and computer readable recording medium storing such a program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002274138A JP4197916B2 (en) 2002-09-19 2002-09-19 Data processing apparatus, data processing method, data processing program, and recording medium

Publications (3)

Publication Number Publication Date
JP2004106428A JP2004106428A (en) 2004-04-08
JP2004106428A5 JP2004106428A5 (en) 2005-05-19
JP4197916B2 true JP4197916B2 (en) 2008-12-17

Family

ID=32270700

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002274138A Expired - Fee Related JP4197916B2 (en) 2002-09-19 2002-09-19 Data processing apparatus, data processing method, data processing program, and recording medium

Country Status (1)

Country Link
JP (1) JP4197916B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5211903B2 (en) 2008-07-14 2013-06-12 株式会社リコー Image processing device

Also Published As

Publication number Publication date
JP2004106428A (en) 2004-04-08

Similar Documents

Publication Publication Date Title
US7185151B2 (en) Data processing device characterized in its data transfer method, program for executing on a computer to perform functions of the device, and computer readable recording medium storing such a program
JP4027133B2 (en) Image processing device
US7369256B2 (en) Interruption of job in information processing apparatus by means of acquisition and release of resources
JP4197916B2 (en) Data processing apparatus, data processing method, data processing program, and recording medium
JP3967074B2 (en) Image processing apparatus and image forming apparatus
JP3903464B2 (en) Image forming apparatus, image signal input processing method and output processing method
JP4212200B2 (en) Image processing system
JP4359047B2 (en) Image forming apparatus
JP4261383B2 (en) Image forming apparatus
JP3932275B2 (en) Image input / output device
JP2000069257A (en) Image processor
JP4061200B2 (en) Image forming system and image forming apparatus
JP2004104447A (en) Image forming apparatus
JP2005079646A (en) Image forming apparatus
JP2004040585A (en) Image processing apparatus and image forming apparatus
JP4076224B2 (en) Image forming apparatus
JPH11146159A (en) Image forming device
JP2004112363A (en) Image forming device
JP2004222090A (en) Image forming apparatus
JP5001223B2 (en) Image reading device
JP2004242043A (en) Image forming device
JP2002244994A (en) Image forming device
JP2004112362A (en) Image forming apparatus
JP2005236578A5 (en)
JP2004080135A (en) Image processing apparatus

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040716

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040716

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080715

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080812

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080909

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080930

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111010

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121010

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131010

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees