(57)【要約】【課題】  複数の同一リクエストが発生しても効率よくデータ転送することができるコントローラを提供する。【解決手段】  アプリケーション３と外部ターゲット装置１との間でのデータ転送を制御するコントローラ５であって、アプリケーション３又は外部ターゲット装置１から転送されたデータを一時的に格納するデータ格納部Ａ（５４）、データ格納部Ｂ（５５）と、複数のデータ格納部へのデータの書込みと読み出しとを並行して行なうＲＡＭ制御部５２とを有する構成としている。同一の要求が連続した場合に、１つのデータ格納部へのデータの書込みと、データを格納したデータ格納部からのデータの読み出しを並行して行なうことができるので、処理時間を短縮し転送効率を改善することができる。【選択図】        図２
2006092225.tif 000002
【特許請求の範囲】
【請求項１】
第１の装置と第２の装置との間でのデータ転送を制御するコントローラであって、
前記第１又は前記第２の装置から転送されたデータを一時的に格納する複数のデータ格納手段と、
前記複数のデータ格納手段へのデータの書込みと読み出しとを並行して行なう制御手段とを有することを特徴とするコントローラ。
【請求項２】
前記制御手段は、前記第１の装置からの要求に従って、選択した前記データ格納手段へのデータを書込み中に、他の前記データ格納手段に格納されたデータを読み出して前記第２の装置に出力することを特徴とする請求項１記載のコントローラ。
【請求項３】
前記第１の装置から連続して要求が出され、今回の要求が前回とは異なる要求であった場合に、前記複数のデータ格納手段がすべてのデータを送出するまで前記要求の受け付けを停止させる転送制御手段を有することを特徴とする請求項１又は２記載のコントローラ。
【請求項４】
前記転送制御手段は、前記第１の装置と前記第２の装置との間で行なわれるデータ転送のサイズと、読み出すデータを記録したアドレス情報とを記録する記録手段を備えることを特徴とする請求項１から３のいずれか一項記載のコントローラ。
【請求項５】
請求項１から４のいずれか一項に記載のコントローラを複数備え、前記第１の装置と前記第２の装置との間でデータの連続転送を行うことを特徴とするデータ転送制御装置。
【請求項６】
前記転送制御手段は、前記第１の装置から設定されたデータ転送レートとなるように、前記第２の装置から読み出して、前記第１の装置に出力するデータの転送タイミングを調整することを特徴とする請求項５記載のデータ転送制御装置。
【請求項７】
第１の装置と第２の装置との間でのデータ転送制御方法であって、
前記第１の装置から転送されたデータを一時的に第１のデータ格納手段に格納するステップと、
前記第１のデータ格納手段へのデータの格納が終了すると、前記第１の装置からの次の要求に従って第２のデータ格納手段にデータを格納しながら前記第１のデータ格納手段からデータを読み出して前記第２の装置へ転送するステップとを有することを特徴とするデータ転送制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、書込む又は読み出したデータを一旦メモリに格納し、準備ができた段階でこのメモリからデータを読み出してデータ転送を行なうデータ転送制御装置に関する。
【背景技術】
【０００２】
図１に特許文献１に開示のシステム構成を示す。図１に示すシステムは、例えば、外部ターゲット装置１としてのメモリに、アプリケーション３で生成したデータを転送して書き込んだり、外部ターゲット装置１からデータを読み出してアプリケーション３で使用するデータ転送システムである。データの書き込みや読み出しを行なう場合には、データをコントローラ２内のＲＡＭ２２に一度書き込む。ＲＡＭ２２への書き込みが終了すると、このＲＡＭ２２からデータを読み出してアプリケーション３に転送したり、外部ターゲット装置３にデータを書き込んだりしている。
【０００３】
【特許文献１】特開２０００−２１５１５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述したコントローラ２の転送制御方法では、１つのリクエストが完了した後でないと次のリクエストが処理されないため、ライトやリードなどの同一リクエストが複数発生した場合に、非常にデータの転送効率が悪い。
【０００５】
本発明は上記事情に鑑みてなされたものであり、複数の同一リクエストが発生しても効率よくデータ転送することができるコントローラ、データ転送制御装置及びデータ転送制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
かかる目的を達成するために本発明のコントローラは、第１の装置と第２の装置との間でのデータ転送を制御するコントローラであって、前記第１又は前記第２の装置から転送されたデータを一時的に格納する複数のデータ格納手段と、前記複数のデータ格納手段へのデータの書込みと読み出しとを並行して行なう制御手段とを有する構成としている。同一の要求が連続した場合に、データ格納手段へのデータの書込みと、データを格納したデータ格納手段からのデータの読み出しを並行して行なうことができるので、処理時間を短縮し転送効率を改善することができる。
【０００７】
上記コントローラにおいて、前記制御手段は、前記第１の装置からの要求に従って、選択した前記データ格納手段へのデータを書込み中に、他の前記データ格納手段に格納されたデータを読み出して前記第２の装置に出力するとよい。選択したデータ格納手段にデータを書込み中に、他のデータ格納手段に格納されたデータを読み出すことができるので、同一の要求が連続した場合に、処理時間を短縮し転送効率を改善することができる。
【０００８】
上記コントローラにおいて、前記第１の装置から連続して要求が出され、今回の要求が前回とは異なる要求であった場合に、前記複数のデータ格納手段がすべてのデータを送出するまで前記要求の受け付けを停止させる転送制御手段を有しているとよい。第１及び第２の装置と、コントローラとの間のデータの転送経路が１つだけであった場合、第２の装置へのデータの書込み要求と、第２の装置からのデータの読み出し要求とを同時には処理することができない。このため転送制御手段を設けて、データ格納手段がすべてのデータを送出するまで要求の受け付けを停止させることで不具合の発生を防止することができる。
【０００９】
上記コントローラにおいて、前記転送制御手段は、前記第１の装置と前記第２の装置との間で行なわれるデータ転送のサイズと、読み出すデータを記録したアドレス情報とを記録する記録手段を備えるとよい。指定したアドレスに格納されたデータを読み出すことができる。
【００１０】
本発明のデータ転送制御装置は、請求項１から４のいずれか一項に記載のコントローラを複数備え、前記第１の装置と前記第２の装置との間でデータの連続転送を行う。請求項１から４のいずれか一項に記載のコントローラを複数備えているので、第１の装置と第２の装置との間でデータの連続転送を実現することができる。
【００１１】
上記構成のデータ転送制御装置において、前記転送制御手段は、前記第１の装置から設定されたデータ転送レートとなるように、前記第２の装置から読み出して、前記第１の装置に出力するデータの転送タイミングを調整するとよい。第１の装置から設定されたデータ転送レートでデータの転送を行なうことができる。
【００１２】
本発明のデータ転送制御方法は、第１の装置と第２の装置との間でのデータ転送制御方法であって、前記第１の装置から転送されたデータを一時的に第１のデータ格納手段に格納するステップと、前記第１のデータ格納手段へのデータの格納が終了すると、前記第１の装置からの次の要求に従って第２のデータ格納手段にデータを格納しながら前記第１のデータ格納手段からデータを読み出して前記第２の装置へ転送するステップとを有している。同一の要求が連続した場合に、データ格納手段へのデータの書込みと、データを格納したデータ格納手段からのデータの読み出しを並行して行なうことができるので、処理時間を短縮し転送効率を改善することができる。
【発明の効果】
【００１３】
本発明は、複数の同一リクエストが発生しても効率よくデータ転送することができる。
【発明を実施するための最良の形態】
【００１４】
添付図面を参照しながら本発明の好適な実施例を説明する。
【実施例１】
【００１５】
図１を参照しながら本実施例の構成を説明する。図２に示すように本実施例は、外部ターゲット装置１と、アプリケーション３との間のデータ転送を制御するコントローラ５であって、コントローラ５内には、外部ターゲット装置１側のインターフェースとなるターゲット側インターフェース（以下、ＩＦと略記する）５１と、ＲＡＭからなるデータ格納部Ａ（５４）とデータ格納部Ｂ（５５）へのデータの書込みと読み出しを制御するＲＡＭ制御部５２と、アプリケーション側のインターフェースとなるアプリケーション側インターフェース（以下、ＩＦと略記する）５３とを備えている。また、アプリケーション側ＩＦ５３には、転送制御部５５が設けられている。転送制御部５５は、アプリケーション３からの送信リクエストにより、データ転送のサイズ及び外部ターゲット装置１の書き込みアドレス情報を格納する。またアプリケーションより連続リクエストが出され、前回と今回のリクエストとが異なる場合に、データ格納部Ａ（５４）、データ格納部Ｂ（５５）から全てのデータを送出するまでこのリクエストに対する応答を行なわないようにする。
【００１６】
本実施例のコントローラは、同一リクエストが複数発生しても効率よくデータ転送を行なえるように転送制御している。このための手順を以下に説明する。
【００１７】
まず、アプリケーション３から第１のデータ書込みリクエストが発生すると、コントローラ５は、この第１のデータ書込みリクエストからデータ転送サイズ、書き込む外部ターゲット装置１のアドレス情報を転送制御部５６に格納する。
【００１８】
次いで、アプリケーション３から第１のデータ書込みリクエストによって送信されるデータをデータ格納部Ａ（５４）又はデータ格納部Ｂ（５５）のいずれかに格納する。この選択は、ＲＡＭ制御部５２によって行なわれ、データが書き込まれていないデータ格納部が選択される。ＲＡＭ制御部５２は、アプリーション３から送信されるデータを選択したデータ格納部（ここでは、説明のためデータ格納部Ａ（５４）に格納するものとする）に格納する。
【００１９】
次に、外部ターゲット装置１に、ターゲット側ＩＦ５１を介して、データの送信リクエストを送り、データ格納部Ａ（５４）に格納しているデータを外部ターゲット装置１に送出する。
【００２０】
また、第１のデータ書込みリクエストによって、アプリケーション３からデータ格納部Ａ（５４）へのデータの書み込みが終了すると、アプリケーション側ＩＦ５３は、アプリケーション３から他の書込みリクエストを受け付けることが可能となる。アプリケーション３から第２の書込みリクエストが出されると、上述した第１の書込みリクエストと同様に、データ転送サイズ、書き込む外部ターゲット装置１のアドレス情報を転送制御部５６に格納し、データをデータ格納部Ｂ（５５）に格納する。この時、第１のデータ書込みリクエストによってデータ格納部Ａ５４に格納されたデータの、外部ターゲット装置１への書込み動作と並行して、第２のデータ書込みリクエストによるデータをデータ格納部Ｂ（５５）に書き込む。第１の書込みリクエストによるデータ格納部Ａ（５４）から外部ターゲット装置１へのデータ書き込みが終了すると、転送制御部５６に書き込まれたデータ転送サイズと、書き込む外部ターゲット装置１のアドレス情報とを外部ターゲット装置１に送信し、データ格納部Ｂ（５５）に格納されたデータの外部ターゲット装置１へのデータ転送が開始される。
【００２１】
また外部ターゲット装置１からのデータの読み出しの時も同様な手順で読み出しが行なわれる。  アプリケーション３から第１のデータ読出リクエストによって、データ転送サイズ、読み出す外部ターゲット装置１のアドレス情報を外部ターゲット装置１に転送する。外部ターゲット装置１は、指定されたアドレスのデータを指定された転送サイズでコントローラ５側に出力する。ＲＡＭ制御部５２は、外部ターゲット装置１から転送されたデータを一旦データ格納部Ａ（５４）又はデータ格納部Ｂ（５５）のいずれかに格納する。この選択は、ＲＡＭ制御部５２によって行なわれ、データが書き込まれていないデータ格納部が選択される。ＲＡＭ制御部５２は、外部ターゲット装置１から送信されるデータを選択したデータ格納部（ここでは、説明のためデータ格納部Ａ（５４）に格納するものとする）に格納する。
【００２２】
データのデータ格納部Ａ（５４）への格納が終了すると、アプリケーション側ＩＦ５３は、次のデータ読出リクエストを受け付ける。アプリケーション３から第２のデータ読出リクエストが出されると、上述した第１の読出リクエストと同様に、データ転送サイズ、読み出す外部ターゲット装置１のアドレス情報を外部ターゲット装置１に転送する。データ格納部Ａ（５４）に格納されているデータのアプリケーション３への転送が行なわれている途中で、第２の読出リクエストによって外部ターゲット装置１から読み出されたデータを空いているデータ格納部（Ｂ）５５に格納する。
【００２３】
なお、アプリケーション３側から異なるリクエスト（書き込みと読み出し）が発生した場合には、転送制御部５６はデータ格納部Ａ（５４）とデータ格納部Ｂ（５５）の両方のデータがなくなるまで処理を保留する。
【００２４】
このようにして本実施例のコントローラは、複数の同一リクエストが発生しても効率よくデータ転送することができる。
【実施例２】
【００２５】
図３を参照しながら本実施例の構成を説明する。本実施例は、上述した第１実施例のコントローラを２つ搭載したデータ転送装置６であって、第１コントローラ６２と、第２コントローラ６３の２つを設けたことにより、これらのコントローラからのデータ書込みリクエスト、データ読出リクエストを制御する制御部を外部ターゲット装置１側と、アプリケーション３側にそれぞれ設けている。外部ターゲット装置１側で、第１コントローラ６２と第２コントローラ６３からのリクエストを制御する制御部として、ターゲット側制御部６１を設け、アプケーション側で第１コントローラ６２と第２コントローラ６３への要求を制御する制御部として、アプリケーション側制御６４を設けている。
【００２６】
また、外部ターゲット装置１には、複数の装置、図３では装置Ａ〜Ｄの４つの装置が接続されており、外部ターゲット装置１にデータを書き込むことで、アプリケーション３にデータを転送し、アプリケーション３から外部ターゲット装置１に書き込まれたデータを取得する。
【００２７】
このように本実施例は、複数のコントローラ（本実施例では、第１コントローラ６２と第２コントローラ６３）を設けたことで、アプリケーション３は、外部ターゲット装置１に対してパイプライン要求（連続要求）を行なうことができる。
【００２８】
また、パイプライン要求（連続要求）によって、例えば図３に示す装置Ａからのデータの読み出しばかりが連続すると、他の装置（図３に示す装置Ｂ〜Ｄ）がアプリケーション３にデータを転送したり、アプリケーション３からデータを取得することができなくなる。
【００２９】
このため、アプリケーション３側に転送するデータの転送レートを制御することで、他の装置がデータの転送を行なえるようにする。この動作について図４を参照しながら説明する。図４（Ａ）には、外部ターゲット装置１から読み出され、データ転送制御装置６に格納されたデータを、アプリケーション３に転送する時の出力信号が示されている。図４（Ａ）に示すようにデータ転送制御装置６からのＭＲＤＹ信号（読み出し許可信号）がハイレベルの時に、データ（ＭＤＡＴＡ）がアプリケーション３に出力され、データの転送が終了するとＭＲＥＮＤ（読み出し終了信号）がアプリケーション３に出力される。データの転送が終了するとＭＲＤＹ信号（読み出し許可信号）はローレベルとなる。この時データ転送制御装置６は、ＭＲＥＮＤ（読み出し終了信号）がハイレベルとなっても、その後予め設定された時間ＹだけＭＲＤＹ信号（読み出し許可信号）のハイレベルへの遷移を遅らせる。
【００３０】
これにより、データ転送制御装置６からアプリケーション３に転送されるデータの出力タイミングを遅らせることができる。なお、遅延時間Ｙは、アプリケーション３から要求された転送要求レート［ＭＢ／Ｓ］を満たすように以下の式（１）によって決定する。
転送要求レート［ＭＢ／Ｓ］＝Ａ／（Ｘ＋Ｙ）・・・・・（１）
なお、Ａは、データ転送数を示し、Ｘは、データ転送に必要なクロック数を示し、Ｙは設定値である。
【００３１】
これによって、データ転送制御装置６に格納されたデータがアプリケーション３に出力されずにデータ転送制御装置６に残されたままとなっている。すなわち、図２に示すデータ格納部５４、５５の空きがない状態ができる。このため、データ転送制御装置６は、図４（Ｂ）に示すようにアプリケーション３から読み出し要求を受け付けても、データ格納部５４、５５の空きができるまでリクエスト信号（ＲＥＱ）を外部ターゲット装置１に出力しない。
【００３２】
これにより、設定値Ｙによってデータ転送制御装置６から外部ターゲット装置１に出力されるＲＥＱの出力タイミングを調整することができる。このため、例えば図３に示す装置Ａからの連続読み出しを行なっていても、他の装置Ｂ〜Ｄがアプリーションへのデータ転送要求を確保することができる。
【００３３】
またアプリケーション３は、自身の設定した転送レートで外部ターゲット装置１からデータを読み出すことができる。
【００３４】
上述した実施例は本発明の好適な実施例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【図面の簡単な説明】
【００３５】
【図１】従来のコントローラの構成を示す図である。
【図２】本発明のコントローラの構成を示す図である。
【図３】本発明のデータ転送制御装置の構成を示す図である。
【図４】データ転送制御装置の転送タイミングを示す図である。
【符号の説明】
【００３６】
１  外部ターゲット装置                ２、５  コントローラ
３  アプリケーション                  ６  データ転送制御装置
５１  ターゲット側ＩＦ                ５２  ＲＡＭ制御部
５３  アプリケーション側ＩＦ          ５４  データ格納部Ａ
５５  データ格納部Ｂ                  ５６  転送制御部
６１  ターゲット側制御部              ６２  第１コントローラ
６３  第２コントローラ                ６４  アプリケーション側制御部
【図１】
2006092225.tif 000003
【図２】
2006092225.tif 000004
【図３】
2006092225.tif 000005
【図４】
2006092225.tif 000006