(57)【要約】  【課題】  共有するメモリから時分割により複数のデータ処理手段に並行にデータを転送する装置において、データ処理手段のうちの少なくとも一つにデータ転送に要する時間の制約がある場合、その制約を満たすように、各データ処理手段に対する時分割をデータ転送中の状況に応じて柔軟に調整できるデータ転送装置を提供する。  【解決手段】データの断片であるバンドが転送を完了すべきと予想される予想許容時間と、そのバンドの転送に要すると予想される予想転送時間を算出し、この算出結果に基づいてデータ転送の時分割の割合をデータ転送中にダイナミックに調整するデータ転送装置とする。  【選択図】      図４
2006209500.tif 000002
【特許請求の範囲】
【請求項１】
複数のバンドに分割されているデータを格納するメモリと、前記メモリから複数のデータ処理装置へ時分割により並行して前記データを転送するための転送手段と、前記時分割の割合を調整するためのバス調停器とを備えたデータ転送装置において、
データ処理装置毎に、データの転送を完了すべき時間である転送完了時間を必要に応じて設定する転送完了時間設定手段と、
データ処理装置毎に、データの転送が前記転送完了時間内に完了するために、一のバンドまたは一連の複数のバンド群の転送に許容されると予想される時間である予想許容時間を算出する手段と、
前記予想許容時間の算出されたバンドまたはバンド群が転送に要すると予想される時間である予想転送時間を算出する手段とを備え、
前記バス調停器は、データ転送の実行中において、前記予想許容時間と予想転送時間とに応じて前記時分割の割合を調整することを特徴とするデータ転送装置。
【請求項２】
前記時分割の割合の調整は、予想許容時間および予想転送時間の算出された前記バンドまたはバンド群の転送が始まる前に行われることを特徴とする請求項１に記載のデータ転送装置。
【請求項３】
前記予想転送時間が予想許容時間を超えていた場合は、該予想に係るバンドの転送時間が予想許容時間を越えないように前記時分割の割合が調整されることを特徴とする請求項１または２に記載のデータ転送装置。
【請求項４】
前記予想転送時間が予想許容時間を超えていた場合は、該予想に係るバンドの転送時間が予想許容時間と一致するように前記時分割の割合が調整されることを特徴とする請求項１または２に記載のデータ転送装置。
【請求項５】
前記メモリはディスクリプタを格納することができ、前記予想許容時間および予想転送時間をディスクリプタとして前記メモリに書き込む手段を設け、前記時分割の割合を調整するときは、該ディスクリプタとして格納された予想許容時間および予想転送時間を前記メモリから読み出して行うことを特徴とする請求項１〜請求項４の何れかに記載のデータ転送装置。
【請求項６】
前記メモリからデータ処理装置へのデータ転送を制御するＤＭＡコントローラを設けて該転送をＤＭＡ転送により行い、前記ディスクリプタには該ＤＭＡ転送を行うために必要な情報が記載されていることを特徴とする請求項１〜請求項５の何れかに記載のデータ転送装置。
【請求項７】
前記データは画像データであり、前記データ処理装置は画像データを処理する装置であることを特徴とする請求項１〜請求項６の何れかに記載のデータ転送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ転送装置に関し、特に、データ格納用に共有するメモリにアクセスして処理を行う複数のデータ処理装置を備えたものに関する。
【背景技術】
【０００２】
データを格納するメモリとしてハードディスク装置等の二次記憶装置を使用し、複数のデータ処理装置にデータ転送を行う場合において、単一の記憶装置に対して複数のデータ転送（データの書き込み、読み出し動作）を全く同時に行うことはできない。よってこのような場合には、二次記憶装置からのデータ転送の単位を分割し、これを時分割に実行することで、複数のデータ転送動作を並行して実行しているようにするのが一般的である。
【０００３】
しかし多くのデータ処理装置に対して並行にデータ転送動作をさせる場合、各データ処理装置に対する時分割の割り当ては減少するのでデータの転送は必然的に遅延することとなる。そうした場合、メモリに格納されたデータを決められた時間内にデータ処理装置に転送しなければならないような場合には不都合を生じ得る。例えばＦＡＸ送信においては、データ転送時間に関する規約が存在するところ、その規約により一定時間内にデータ送信を行わなければ接続は切断され、データ送信ができなくなる。
【０００４】
このような問題に対する手段としては、特許文献１に記載されているように、データ転送を完了すべき転送完了時間と、その転送に要すると予想される予想転送完了時間とを比較することにより、転送完了時間内にデータ転送が完了すると予想される要求のみを受け付ける方法が開示されている。
【特許文献１】特開２００４−１０６４２８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
複数のデータ処理装置へデータを転送する場合は、一般にこれらのデータ転送をできるだけ並列に行うことで、同時的にデータを処理できることが望ましい。ところが前記公知技術のように転送完了時間内にデータ転送が完了すると予想される要求のみを受け付ける方法によると、当該転送完了時間内にデータ転送が完了しないと判断された要求の実行は一律に完全に後回しとなる。
【０００６】
そうすると、転送完了時間の設定されている装置へのデータ転送を他の装置へのデータ転送よりも時分割において優先的に取り扱うことで複数の装置へ並行してデータ転送ができる場合であっても、当該他の装置へのデータ転送要求は拒否されることとなる。その結果、当該他の装置へのデータ転送は著しく遅延し、並列的なデータ転送処理が全く困難となる。
【０００７】
またデータ転送中に転送状況を随時把握することなく転送開始時にデータ全体の転送時間を予想する方法では、何らかの原因によりデータ転送速度が変動したような場合、当該予想された時間とデータ全体が実際に転送される時間との誤差が生じ制御精度が維持できない。そうすると転送完了時間内にデータ転送が完了できなかったり、逆に複数のデータ処理装置へ並行してデータ転送ができた場合であっても、他の装置へのデータ転送要求が拒否されたりするおそれがある。
【０００８】
そこで本発明は、上記の問題に鑑みてなされたものであり、データ転送中にデータ転送の時分割の割合をダイナミックに調整することで装置の転送完了時間を考慮しつつ複数の装置へのデータ転送をできるだけ並列的に行うことができ、またデータ転送中にデータの転送状況を正確に把握することで、データ転送時間の制御精度を高めたデータ転送装置を提供することをその目的とするものである。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明によるデータ転送装置は、複数のバンドに分割されているデータを格納するメモリと、前記メモリから複数のデータ処理装置へ時分割により並行して前記データを転送するための転送手段と、前記時分割の割合を調整するためのバス調停器とを備えたデータ転送装置において、データ処理装置毎に、データの転送を完了すべき時間である転送完了時間を必要に応じて設定する転送完了時間設定手段と、データ処理装置毎に、データの転送が前記転送完了時間内に完了するために、一のバンドまたは一連の複数のバンド群の転送に許容されると予想される時間である予想許容時間を算出する手段と、前記予想許容時間の算出されたバンドまたはバンド群が転送に要すると予想される時間である予想転送時間を算出する手段とを備え、前記バス調停器は、データ転送の実行中において、前記予想許容時間と予想転送時間とに応じて前記時分割の割合を調整することを特徴とする。
【００１０】
そのためデータ転送の実行中、各データ処理装置のバンドまたはバンド群が転送されるべき時間と転送に要する予想される時間とが算出されるので、転送完了時間内にデータ転送が完了できるペースで実際にデータ転送が進められているか否かが明らかとなり、データ転送の実行中にダイナミックに時分割の割合を調整することができる。
【００１１】
また本発明によるデータ転送装置では、前記時分割の割合の調整は、予想許容時間および予想転送時間の算出された前記バンドまたはバンド群の転送が始まる前に行われることを特徴とする。そのため予想された許容時間および転送時間に基づいて予想に係るバンドの転送の時分割の割合が調整されるから、予想結果を直接的に反映させた精度の良い調整が可能となる。
【００１２】
また本発明によるデータ転送装置では、前記予想転送時間が予想許容時間を超えていた場合は、該予想に係るバンドの転送時間が予想許容時間を越えないように前記時分割の割合が調整されることを特徴とする。
【００１３】
そのため現時点では転送完了時間内にデータ全体の転送が完了しないペースで転送が進められていても、以降に転送されるべきバンドは転送完了時間内にデータ全体の転送が完了するペースで転送される。
【００１４】
また本発明によるデータ転送装置では、前記予想転送時間が予想許容時間を超えていた場合は、該予想に係るバンドの転送時間が予想許容時間と一致するように前記時分割の割合が調整されることを特徴とする。
【００１５】
そのため現時点では転送完了時間内にデータ全体の転送が完了しないペースで転送が進められていても、以降に転送されるべきバンドは、データの全体の転送が転送完了時間に間に合うペースで転送される。またバンドの転送が予想転送時間と一致するように時分割の割合が調整されるから時分割の偏りは最小限に抑えられ、複数のデータ処理装置へのデータ転送を可能な限り並行に進めることができる。
【００１６】
また本発明によるデータ転送装置は、前記メモリはディスクリプタを格納することができ、前記予想許容時間および予想転送時間をディスクリプタとして前記メモリに書き込む手段を設け、前記時分割の割合を調整するときは、該ディスクリプタとして格納された予想許容時間および予想転送時間を前記メモリから読み出して行うことを特徴とする。
【００１７】
そのため、データを格納するためのメモリを用いて予想許容時間および予想転送時間を記憶させることができるので、これらを記憶させるためのメモリ手段を別途設けなくとも、上述のような時分割の割合を調整することが可能となる。
【００１８】
また本発明によるデータ転送装置は、前記メモリからデータ処理装置へのデータ転送を制御するＤＭＡコントローラを設けて該転送をＤＭＡ転送により行い、前記ディスクリプタには該ＤＭＡ転送を行うために必要な情報が記載されていることを特徴とする。そのため、データ転送の実行は制御手段（ＤＭＡコントローラ）により制御されＣＰＵを介さなくても良いから、装置内のＣＰＵはデータ転送中にも別の処理を行えるので大幅なＣＰＵ処理時間の節約が可能となる。
【００１９】
また本発明によるデータ転送装置では、前記データは画像データであり、前記データ処理装置は画像データを処理する装置であることを特徴とする。
【発明の効果】
【００２０】
本発明は以上のような構成であるから、データ転送の実行中ダイナミックにデータ転送の時分割の割合が調整されるので、その調整はデータ転送の状況に応じて柔軟に対応できることとなる。例えば、転送完了時間の設定されている装置へのデータ転送を他の装置へのデータ転送よりも時分割において優先的に取り扱うことで、転送完了時間内にデータ転送を完了しつつ複数の装置へ並行してデータ転送ができる場合は、そのような制御が可能となる。
【００２１】
またデータ転送中にデータの転送状況を正確に把握して時分割の調整が行われるから、当該調整における精度を高めることができる。
【発明を実施するための最良の形態】
【００２２】
以下に、本発明の実施形態について図面を参照しながら詳述する。まず図１は、本実施の形態による画像データ転送装置のブロック図である。画像データ転送装置１は例えばパソコンやスキャナなどに設けられるものであり、各種演算処理及び制御処理を行うＣＰＵ２と、ハードディスク等の二次記憶装置などであるメモリ３と、メモリ３を制御するためのメモリコントローラ４と、メモリ３とプリンタやＦＡＸなどである画像データ処理装置１３、２３、３３との間で画像データを転送するためのデータバス５と、データバスの調停を行うためのバス調停器６と、画像データ処理装置毎にデータ全体の転送を完了すべき時間である転送完了時間を必要に応じて設定するための転送完了時間設定手段７とを備えている。
【００２３】
また画像データ処理装置１３、２３、３３は、Ｉ／Ｆ１１、２１、３１を介して本画像データ転送装置１に接続されており、画像データ処理装置毎に、メモリ２からこれらの画像データ処理装置へのデータのＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）転送を制御するためのＤＭＡコントローラ１０、２０、３０が設けられている。さらに各ＤＭＡコントローラには、バンド単位の画像データの転送時間をカウントするためのカウンタ１２、２２、３２が接続されている。なお本実施形態では３個の画像データ処理装置が画像データ転送装置１に接続されているが、２個又は４個以上が設けられていても良く、その場合は少なくとも画像データ処理装置の数だけ、カウンタ、ＤＭＡコントローラ、Ｉ／Ｆが同様に設けられることとなる。
【００２４】
なお、ＤＭＡ転送によれば、ＣＰＵ２は最初にＤＭＡコントローラ１０、２０、３０にコマンドとメモリの転送開始アドレスや転送するデータ数などの入出力制御情報を与えるだけでよく、以降のデータ転送はＤＭＡコントローラ１０、２０、３０により制御される。そのため、装置内のＣＰＵ２はデータ転送中にも別の処理を行えるので大幅なＣＰＵ処理時間の節約が可能となる。
【００２５】
メモリ３は、図２のように画像データなどを格納するデータ格納部と、ディスクリプタを格納するディスクリプタ領域とからなる。画像データは図２のように複数のバンドに分割されて格納されており、各バンドのサイズは均一とは限らない。また各バンドはメモリ内に連続して格納されているとは限らないが、後述するように各バンドのアドレスはディスクリプタテーブルに格納されて管理されており各バンドはチェーンされている。
【００２６】
メモリ３内のディスクリプタ領域には画像データのバンド単位毎にディスクリプタテーブルが作成されている。ディスクリプタテーブルのフォーマットは図３のように、転送元アドレス、転送先アドレス、転送量（データの大きさ）、後続のバンドに係るディスクリプタテーブルが存在する場合のディスクリプタアドレスなどから構成され、これらの情報は画像データがメモリに格納される際にディスクリプタとして書き込まれることとなる。そして画像データのＤＭＡ転送が行われる際にはＤＭＡコントローラ１０、２０、３０がこれらの情報に基づいて転送を制御する。
【００２７】
またディスクリプタテーブルにはコントロールビットを格納する領域が設けられている。本実施形態ではこの領域に実転送時間、予想転送時間及び予想許容時間を制御情報として格納することができ、これらは画像データ転送の時分割の調整において使用される。なお実転送時間、予想転送時間及び予想許容時間の具体的内容については後述する。
【００２８】
続いて本実施形態における画像データの転送処理を図４のフローチャートに示す。なおここでは、画像データ処理装置１３、２３、３３へのデータ転送指示を外部から受けた場合であって、画像データ処理装置１３については転送完了時間設定手段７により転送完了時間が設定されているものとする。
【００２９】
ＣＰＵ２は外部からの指示に従い、ＤＭＡコントローラ１０、２０、３０に対してメモリ３に格納されている画像データの転送の起動を指示する（ステップＳ１）。指示を受けてＤＭＡコントローラ１０、２０、３０は、メモリ３に格納されているディスクリプタの内容に従ってまず先頭の１バンド分のデータ転送を開始する（ステップＳ２）。そのときＤＭＡコントローラ１０、２０、３０は転送開始と同時に、対応するカウンタ１２、２２、３２に対して実転送時間を計測するよう指令を出し、これを受けてカウンタは計測をスタートさせる。ここで実転送時間とは、１バンド分のデータがメモリから対応する画像データ処理装置へ転送されるために実際に要した時間のことである。そして１バンド分のデータ転送が終了するとＤＭＡコントローラ１０、２０、３０は対応するカウンタを止め（ステップＳ３）、計測された実転送時間をメモリ３内にディスクリプタとして書き込む（ステップＳ４）。なお各画像データ処理装置へのデータ転送は時分割により並行して進められ、時分割の割り当てはバス調停器６により制御される。
【００３０】
その後、バス調停器６はＤＭＡコントローラ１０、２０、３０から１バンド分の転送終了信号を検知し、このバンドに対応するディスクリプタを読み込む（ステップＳ５）。そしてバス調停器６は、バンドの転送された画像データ処理装置１３、２３、３３における転送完了時間の設定の有無を判断する（ステップＳ６）。転送完了時間の設定されていない装置２３、３３については、後続のバンドがあれば同様に転送を繰り返し（ステップＳ９のＹ）、全てのバンドが転送されれば画像データの転送は完了となる。
【００３１】
一方、転送完了時間の設定されている装置１３については、後続のバンドの転送を実施する前に以下に述べる処理が行われる。まず、バス調停器６は、次に転送されるバンドに対応するディスクリプタに書かれている予想転送時間と予想許容時間を読み出し、予想転送時間が予想許容時間を上回っているか否かを判定する（ステップＳ７）。
【００３２】
予想転送時間とは、バンドの転送に要すると予想される時間のことであり、第ｎ−１番目のバンドの転送が完了されるごとに、第ｎ番目に転送されるバンドの予想転送時間がバス調停器６により算出されてディスクリプタとして書き込まれる。先頭から第ｎ番目のバンドにおける予想転送時間をＥｘｐｅｃｔ＿Ｔｉｍｅ１（ｎ）とすると、
Ｅｘｐｅｃｔ＿Ｔｉｍｅ１（ｎ）＝Ｔｉｍｅ（ｎ−１）×Ｓｉｚｅ（ｎ）／Ｓｉｚｅ（ｎ−１）・・・・・・・（１）
により算出される。
【００３３】
ここでＴｉｍｅ（ｎ）及びＳｉｚｅ（ｎ）は、それぞれ第ｎ番目のバンドの実転送時間及びサイズを表す。従ってＥｘｐｅｃｔ＿Ｔｉｍｅ１（ｎ）は、第ｎ番目のバンドの転送が第ｎ−１番目に転送が行われたバンドの転送と同じペースで行われる場合に、第ｎ番目のバンドの転送に要すると予想される時間を表すことになる。また既に転送を終えた各バンドの実転送時間、及び全てのバンドのサイズは対応するディスクリプタテーブルに既に書き込まれているからこれを読み出すことにより得られる。
【００３４】
また予想許容時間とは、転送完了時間内にデータ転送を完了させるために許容されると予想されるバンドあたりの転送時間のことであり、第ｎ−１番目のバンドの転送が完了されるごとに、第ｎ番目に転送されるバンドの予想許容時間がバス調停器６により算出されてディスクリプタとして書き込まれる。先頭から第ｎ番目のバンドにおける予想許容時間をＥｘｐｅｃｔ＿Ｔｉｍｅ２（ｎ）とすると、
Ｅｘｐｅｃｔ＿Ｔｉｍｅ２（ｎ）＝〔Ｌｉｍｉｔ＿Ｔｉｍｅ−α−｛Ｔｉｍｅ（１）＋Ｔｉｍｅ（２）＋・・・＋Ｔｉｍｅ（ｎ−１）｝〕×Ｓｉｚｅ（ｎ）／〔Ｔｏｔａｌ＿Ｓｉｚｅ−｛Ｓｉｚｅ（１）＋Ｓｉｚｅ（２）＋・・・＋Ｓｉｚｅ（ｎ−１）｝〕・・・・・・・（２）
により算出される。
【００３５】
ここで、Ｌｉｍｉｔ＿Ｔｉｍｅは転送完了時間を、Ｔｏｔａｌ＿Ｓｉｚｅはデータ全体の大きさ（全てのバンドの大きさの合計に等しい）を表す。またαは実際にデータ転送を行っている以外に必要な待ち時間や余裕を見込んだ時間などを加味するものであり、予め最悪の状況（最長の時間）を想定して設定されているものである。
【００３６】
また（２）式の内容について、
Ｌｉｍｉｔ＿Ｔｉｍｅ−α−｛Ｔｉｍｅ（１）＋Ｔｉｍｅ（２）＋・・・＋Ｔｉｍｅ（ｎ−１）｝
の部分は、転送完了時間から、既に行われたバンド転送に要した時間の合計等を差し引いた時間、すなわち第ｎ番目のバンドの転送直前から転送完了時間に達するまでの時間を表し、
Ｔｏｔａｌ＿Ｓｉｚｅ−｛Ｓｉｚｅ（１）＋Ｓｉｚｅ（２）＋・・・＋Ｓｉｚｅ（ｎ−１）｝
の部分は、データ全体のサイズから、既に転送されたバンドのサイズの合計を差し引いたもの、すなわち第ｎ番目以降に転送すべきバンドの大きさの合計を表す。従ってＥｘｐｅｃｔ＿Ｔｉｍｅ２（ｎ）は、第ｎ番目以降のバンドの転送が同じペースで行われると仮定した場合に、データ全体が転送完了時間内に転送されるために第ｎ番目のバンドの転送が完了しなければならないと予想される時間を表すことになる。
【００３７】
上述の（１）式および（２）式に従って、第ｎ番目のバンドを転送する直前には第ｎ番目のバンドについての予想転送時間および予想許容時間が算出される。そして予想転送時間が予想許容時間を上回っていた場合、このままのペースで以降のデータ転送を進めていくと、最終的には、データ全体の転送が転送完了時間内に完了しないと予想される。
【００３８】
そこで予想転送時間が予想許容時間を上回っていた場合は（ステップ７のＹ）、バス調停器６は画像データ処理装置１３に対する時分割の割り当てを増やす、すなわちバス調停の優先度を上げることにより、次に行われるバンド転送の実転送時間が予想許容時間を超えないように調整する（ステップＳ８）。
【００３９】
なお画像データ処理装置１３に係る実転送時間を１／Ｔに調整する場合は、基本的には該装置への時分割の割り当てをＴ倍にすれば良い。例えば画像データ処理装置１３、同２３、同３３へのデータ転送を１：１：１の割合で時間を割り当てて行っていたものにおいて、画像データ処理装置１３における以降の実転送時間を半減させたい場合は、時分割を２：０．５：０．５などの割合で行うよう調整すればよい。
【００４０】
このようにすることで、現時点では転送完了時間内にデータ全体の転送が完了しないペースで転送が進められていても、以降に転送されるべきバンドは転送完了時間内にデータ全体の転送が完了するペースで転送されることとなる。
【００４１】
また複数の画像データ処理装置に並行して画像データを転送しようとする場合、通常はデータ処理を並列的に行うため、複数の装置に対する転送はできるだけ均等に進められることが望まれる。この要求を満たすためには、バス調停器６が画像データ処理装置１３に対する時分割の割り当てを増やすにあたって、次に行われるバンド転送の実転送時間が予想転送時間と一致するように調整すれば良い。このようにすることで、各装置に対する時分割の偏りは最小限に抑えられ、複数のデータ処理装置へのデータ転送を可能な限り並行に進めることができる。
【００４２】
以上のようにバス調停処理が行われた後、若しくは予想転送時間が予想許容時間を越えていなかった場合は転送すべき後続のバンドの有無を判定し（ステップＳ９）、全てのバンドの転送を完了するまで上述の処理が繰り返される。
【００４３】
以上説明したように、本実施形態の画像データ転送装置では、データ転送の実行中ダイナミックにデータ転送の時分割の割合が調整されるので、その調整はデータ転送の状況に応じて柔軟に対応できる。その結果、転送完了時間の設定されている装置へのデータ転送を他の装置へのデータ転送よりも時分割において優先的に取り扱うことで、転送完了時間内にデータ転送を完了しつつ複数の装置へ並行してデータ転送を行うことも可能となる。さらに、データ転送中にデータの転送状況を正確に把握するから時分割の調整精度を高めることもできる。
【００４４】
その他本発明は上記の各実施形態に限定されず、本発明の趣旨を逸脱しない範囲で、種々の変更が可能である。例えば本実施形態における装置は画像データに関するものであるが、文書データや音楽データなどデータの種類に関わらず本発明の適用は可能である。また本実施形態では一のバンドが転送される度に時分割の割合の調整を行うこととしているが、一連の複数のバンドが転送される度に調整することとしても良い。この場合、一定数のバンドが転送される度に調整することとしたり、一の調整から次の調整を行うまで少なくとも一定時間を空けることとしたりすること等が可能である。
【図面の簡単な説明】
【００４５】
【図１】本実施形態による画像データ転送装置のブロック図である。
【図２】画像データ転送装置内に設けられるメモリの説明図である。
【図３】メモリに格納されるディスクリプタテーブルの説明図である。
【図４】データの転送方法を説明するフローチャートである。
【符号の説明】
【００４６】
１    画像データ転送装置
２    ＣＰＵ
３    メモリ
４    メモリコントローラ
５    データバス
６    バス調停器
７    転送完了時間設定手段
１０、２０、３０    ＤＭＡコントローラ
１１、２１、３１    Ｉ／Ｆ
１２、２２、３２    カウンタ
１３、２３、３３    画像データ処理装置
【図１】
2006209500.tif 000003
【図２】
2006209500.tif 000004
【図３】
2006209500.tif 000005
【図４】
2006209500.tif 000006