(57)【要約】【課題】本発明は、リードとライトのバランスを調整してデータ転送効率を向上させる。【解決手段】データ処理装置１のデータ転送部４０は、バッファ１７を備えたＩ／Ｆ制御部１６、バッファ２６を備えたＩ／Ｆ制御部２５及び高速バス７を有し、共有メモリ６でのライト処理が完了する前に後続のライト要求を発行するポステッドライト方式のデータ通信部８トライと要求転送中断部１５を介してデータ処理部１１〜１３と共有メモリ６が接続されている。ライト要求転送中断部１５は、データ通信部８を介したリード要求と該リード要求に対応するリードデータとの時間をリードレイテンシとして計測して、計測されたリードレイテンシが所定値を超えると、バッファ１７、２６のライトデータが共有メモリ６へ転送される中断時間だけデータ処理部１１〜１３から発行されたライト要求のデータ通信部８への転送を中断する。【選択図】          図１
2017058709.tif 000002
【特許請求の範囲】
【請求項１】
リード要求を先投げしてリードデータを記憶手段からリードし、ライト要求を行ってライトデータを該記憶手段へライトするデータ処理手段と、
前記データ処理手段と前記記憶手段の間に接続され、該記憶手段でのライト処理が完了する前に後続のライト要求を発行するポステッドライト方式のデータ通信手段と、
前記データ通信手段に設けられ、所定のデータ保持量を有して、前記ライト要求に対応するライトデータを保持する緩衝手段と、
前記データ通信手段を介した前記リード要求と該リード要求に対応する前記リードデータとの時間をリードレイテンシとして計測するリードレイテンシ計測手段と、
計測された前記リードレイテンシが所定値を超えると、前記緩衝手段の前記ライトデータが所定量前記記憶手段へ転送される所定の中断時間だけ前記データ処理手段から発行された前記ライト要求の前記データ通信手段への転送を中断するライト要求転送中断手段と、
を備えていることを特徴とするデータ転送装置。
【請求項２】
前記データ転送装置は、
前記データ通信手段を介した前記データ処理手段から前記記憶手段へのライトデータ転送性能を計測するライトデータ転送性能計測手段と、
計測された前記ライトデータ転送性能と前記緩衝手段の前記データ保持量に基づいて、該緩衝手段の保持する前記ライトデータが空になるまでの時間を前記中断時間として算出する中断時間算出手段と、
算出された前記中断時間を前記ライト要求転送中断手段へ設定する中断時間設定手段と、
をさらに備えていることを特徴とする請求項１記載のデータ転送装置。
【請求項３】
前記データ転送装置は、
所定のタイミングに、所定データ量のライトデータをダミーライトデータとして、前記データ通信手段を介して該ダミーライトデータを前記記憶手段へライトするダミーライト要求を発行するダミーライト処理手段を、
さらに備え、
前記ライトデータ転送性能計測手段は、
前記ダミーライト要求による前記ダミーライトデータのライトデータ転送性能を計測し、
前記中断時間算出手段は、
前記ライトデータ転送性能計測手段の計測する前記ダミーライトデータのライトデータ転送性能に基づいて前記中断時間を算出することを特徴とする請求項２記載のデータ転送装置。
【請求項４】
前記データ転送装置は、
所定データ量のリードデータをダミーリードデータとして前記データ通信手段を介して前記記憶手段からリードするダミーリード要求を発行するダミーリード処理手段を、
さらに備え、
前記リードレイテンシ計測手段は、
前記ダミーリード要求による前記ダミーリードデータにおけるリードレイテンシを、ダミーリードレイテンシとして計測し、
前記ライト要求転送中断手段は、
前記リードレイテンシ計測手段が計測する前記リードレイテンシに、前記ダミーリードレイテンシを合計した合計リードレイテンシが前記所定値を超えると、前記ライト要求の転送を中断することを特徴とする請求項１から請求項３のいずれかに記載のデータ転送装置。
【請求項５】
前記データ転送装置は、
所定期間においてのみ、前記ライト要求転送中断手段による前記ライト要求の転送中断処理を実行させる中断制御手段を、
さらに備えていることを特徴とする請求項１から請求項４のいずれかに記載のデータ転送装置。
【請求項６】
記憶手段とデータ処理手段との間で、データ転送部を介して画像データを転送して、データ処理手段でデータ処理した画像データを該記憶手段に該データ転送部を介して転送するデータ処理装置であって、
前記データ転送部として、請求項１から請求項５のいずれかに記載のデータ転送装置を搭載していることを特徴とするデータ処理装置。
【請求項７】
データ処理手段からリード要求を先投げしてリードデータを記憶手段からリードし、該データ処理手段からライト要求を行ってライトデータを該記憶手段へライトするデータ処理ステップと、
前記データ処理手段と前記記憶手段の間に接続されているデータ通信手段が、該記憶手段でのライト処理が完了する前に後続のライト要求を発行するポステッドライト方式で行うデータ通信処理ステップと、
前記データ通信手段に設けられ、所定のデータ保持量を有する緩衝手段に、前記ライト要求に対応するライトデータを保持する緩衝処理ステップと、
前記データ通信手段を介した前記リード要求と該リード要求に対応する前記リードデータとの時間をリードレイテンシとして計測するリードレイテンシ計測処理ステップと、
計測された前記リードレイテンシが所定値を超えると、前記緩衝手段の前記ライトデータが所定量前記記憶手段へ転送される所定の中断時間だけ前記データ処理手段から発行された前記ライト要求の前記データ通信手段への転送を中断するライト要求転送中断処理ステップと、
を有していることを特徴とするデータ転送方法。
【請求項８】
制御プロセッサに、
データ処理手段からリード要求を先投げしてリードデータを記憶手段からリードし、該データ処理手段からライト要求を行ってライトデータを該記憶手段へライトするデータ処理と、
前記データ処理手段と前記記憶手段の間に接続されているデータ通信手段が、該記憶手段でのライト処理が完了する前に後続のライト要求を発行するポステッドライト方式で行うデータ通信処理と、
前記データ通信手段に設けられ、所定のデータ保持量を有する緩衝手段に、前記ライト要求に対応するライトデータを保持する緩衝処理と、
前記データ通信手段を介した前記リード要求と該リード要求に対応する前記リードデータとの時間をリードレイテンシとして計測するリードレイテンシ計測処理と、
計測された前記リードレイテンシが所定値を超えると、前記緩衝手段の前記ライトデータが所定量前記記憶手段へ転送される所定の中断時間だけ前記データ処理手段から発行された前記ライト要求の前記データ通信手段への転送を中断するライト要求転送中断処理と、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ転送装置、データ処理装置、データ転送方法及びプログラムに関し、詳細には、高速シリアルインターフェイスを用いたデータ転送装置、データ処理装置、データ転送方法及びプログラムに関する。
【背景技術】
【０００２】
スキャナ、プリンタ、複写装置、複合装置等のデータ転送を一定速度で行う必要のあるデータ処理装置においては、近年、高速シリアルインターフェイスとして、ＰＣＩ（Peripheral Component Interconnect） Express（以下、ＰＣＩｅという。）が利用されるようになってきている。このＰＣＩｅは、要求と応答が分離され、応答を待たずに次の要求を発行することができる高速のスプリットトランザクションのバスである。
【０００３】
このような高速シリアルインターフェイスのバスは、データの転送効率を向上させるためには、パケット転送に要するレイテンシの発生を抑制することが重要となる。
【０００４】
そして、従来、マスターデバイスと当該マスターデバイスにデータを転送可能なターゲットデバイスとから構成されるデータ転送システムであって、前記マスターデバイスは、前記ターゲットデバイスに、当該マスターデバイスが受信可能なデータ量を示す情報を送信後、データ転送リクエストを送信する送信手段とを具備し、前記ターゲットデバイスは、前記マスターデバイスの送信手段から送信された前記データ転送リクエストに基づいて、データ転送レートを計測する計測手段と、前記計測手段によって計測された前記データ転送レートの値が所定値以上である場合、前記データ転送リクエストの量を制限する制限リクエストを前記マスターデバイスに送信する送信手段と、を具備するデータ転送システムが提案されている（特許文献１参照）。
【０００５】
すなわち、この従来技術は、データ転送レートを所定値未満に抑制するようにデータ転送リクエストの量を制限することで、データ転送速度の向上を図っている。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記従来技術にあっては、データ転送速度を向上させる上で、改良の必要があった。
【０００７】
すなわち、データ転送速度は、データ転送レートのみに起因するのではなく、データバス上の速度緩衝用のバッファにライトデータが溜まってリードレスポンスが遅延することに起因してリード転送速度が低下することによっても、低下する。
【０００８】
ところが、上記従来技術にあっては、速度緩衝用のバッファに溜まるライトデータに起因する転送速度の低下については考慮されておらず、改良の必要があった。
【０００９】
そこで、本発明は、リードとライトのバランスを調整して、データ転送効率を向上させることを目的としている。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、請求項１記載のデータ転送装置は、リード要求を先投げしてリードデータを記憶手段からリードし、ライト要求を行ってライトデータを該記憶手段へライトするデータ処理手段と、前記データ処理手段と前記記憶手段の間に接続され、該記憶手段でのライト処理が完了する前に後続のライト要求を発行するポステッドライト方式のデータ通信手段と、前記データ通信手段に設けられ、所定のデータ保持量を有して、前記ライト要求に対応するライトデータを保持する緩衝手段と、前記データ通信手段を介した前記リード要求と該リード要求に対応する前記リードデータとの時間をリードレイテンシとして計測するリードレイテンシ計測手段と、計測された前記リードレイテンシが所定値を超えると、前記緩衝手段の前記ライトデータが所定量前記記憶手段へ転送される所定の中断時間だけ前記データ処理手段から発行された前記ライト要求の前記データ通信手段への転送を中断するライト要求転送中断手段と、を備えていることを特徴としている。
【発明の効果】
【００１１】
本発明によれば、リードとライトのバランスを調整して、データ転送効率を向上させることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１実施例を適用したデータ処理装置の要部ブロック図。
【図２】ライト要求転送中断部のブロック図。
【図３】データ転送部の機能ブロック図。
【図４】リードレイテンシとリード帯域の関係を示す図。
【図５】リードレスポンス時間とリードモディファイライト動作を行うデータ処理部におけるデータ処理性能との関係を示す図。
【図６】バッファが満杯のときのライトデータの転送説明図。
【図７】リードレイテンシ計測処理を示すフローチャート。
【図８】データ転送処理を示すフローチャート。
【図９】第２実施例のデータ処理装置の要部ブロック図。
【図１０】第２実施例のデータ転送部の機能ブロック図。
【図１１】第３実施例のデータ処理装置の要部ブロック図。
【図１２】第３実施例のデータ転送部の機能ブロック図。
【発明を実施するための形態】
【００１３】
以下、本発明の好適な実施例を添付図面に基づいて詳細に説明する。なお、以下に述べる実施例は、本発明の好適な実施例であるので、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明によって不当に限定されるものではなく、また、本実施の形態で説明される構成の全てが本発明の必須の構成要件ではない。
【実施例１】
【００１４】
図１〜図８は、本発明のデータ転送装置、データ処理装置、データ転送方法及びプログラムの第１実施例を示す図であり、図１は、本発明のデータ転送装置、データ処理装置、データ転送方法及びプログラムの第１実施例を適用したデータ処理装置１の要部ブロック図である。
【００１５】
図１において、データ処理装置１は、複合装置、複写装置、コンピュータ等のデータ処理装置であり、ＣＰＵ（Central Processing Unit）２、ＲＯＭ（Read Only Memory）３、複数（本実施例では、２つ）のデバイス４、５及び共有メモリ６等を備えている。データ処理装置１は、データ処理装置１が画像処理装置であるときには、上記ＣＰＵ２、ＲＯＭ３、デバイス４、５、共有メモリ６以外に、図示しないが、原稿の画像を読み取るスキャナ部、画像データに基づいて用紙に画像印刷出力するプリンタ部等を備えていてもよい。データ処理装置１は、上記ＣＰＵ２にＲＯＭ３が接続されており、ＣＰＵ２は、デバイス５に接続されている。データ処理装置１は、デバイス４に共有メモリ６が接続されている。デバイス４とデバイス５は、ＰＣＩｅ等の要求と応答が分離され、応答を待たずに次の要求を発行することのできる高速シリアルインターフェイスバス（、以下、単に高速バスという。）７で接続されている。すなわち、デバイス４とデバイス５は、ライト要求が、レスポンスを必要としないポステッドライト（Posted Write）方式の高速バス７で接続されている。
【００１６】
ＲＯＭ３は、データ処理装置１としての基本プログラム、本発明のデータ転送方法を実行するプログラム及びシステムデータ、本発明のデータ転送方法を実行するのに必要なデータ等が格納されている。
【００１７】
ＣＰＵ２は、ＲＯＭ３内のプログラムに基づいて、データ処理装置１の各部を制御して、データ処理装置１としての基本処理を実行するとともに、本発明のデータ転送方法を実行する。
【００１８】
デバイス４、５は、例えば、ＬＳＩ（Large Scale Integrated circuit：大規模集積回路）が用いられている。デバイス４は、３つのデータ処理部１１〜１３、アービタ１４、ライト要求転送中断部１５、Ｉ／Ｆ制御部１６及びバッファ１７等を備えている。デバイス５は、データ処理部２１、２２、アービタ２３、メモリコントローラ２４、Ｉ／Ｆ制御部２５及びバッファ２６等を備えている。
【００１９】
そして、デバイス４とデバイス５は、Ｉ／Ｆ制御部１６、高速バス７及びＩ／Ｆ制御部２５からなるデータ通信部８により、ポステッドライト方式で接続されている。
【００２０】
まず、デバイス４について説明する。データ処理部１１〜１３は、上記デバイス４を構成するＬＳＩによるハードウェアとして回路構成またはＣＰＵ２によってソフトウェアとして構築されている。データ処理部１１〜１３は、それぞれ異なるデータ処理、例えば、画像データの回転、縮小、シェーディング補正、ガンマ補正等の各種画像処理を施す。データ処理部１１〜１３は、一般的に、共有メモリ６に格納されている画像データを、アービタ１４、ライト要求転送中断部１５、データ通信部８（Ｉ／Ｆ制御部１６、高速バス７、Ｉ／Ｆ制御部２５）、アービタ２３及びメモリコントローラ２４をデータ転送経路ＤＰとして経由して読み出す。データ処理部１１〜１３は、読み出した画像データに対して各データ処理部１１〜１３に割り当てられている処理内容に応じて画像処理を行い、画像処理後の画像データを、上記データ転送経路ＤＰを経由させて共有メモリ６へ書き込む。
【００２１】
アービタ１４は、データ処理部１１〜１３及びＩ／Ｆ制御部１６に接続されているライト要求転送中断部１５等に接続されており、これらデータ処理部１１〜１３、Ｉ／Ｆ制御部１６によるバス（デバイス４内のバス）の使用権を調停する。
【００２２】
ライト要求転送中断部１５は、上記ＬＳＩに搭載されている複数のフリップフロップとゲート回路によって構成されたハードウェアロジックである。ライト要求転送中断部１５は、後述するように、リードレイテンシを常時計測して、リードレイテンシが予め設定されたある一定の値を超えるとライト要求（ライトコマンド）の転送を中断する。この場合、ライト要求転送中断部１５は、Ｉ／Ｆ制御部１６のバッファ１７からライトデータがなくなる時間として予めパラメータによって設定されている中断期間だけ、ライト要求の転送を中断する。なお、ライト要求転送中断部１５については、後で詳細に説明する。
【００２３】
Ｉ／Ｆ制御部１６は、高速バス７でデバイス５のＩ／Ｆ制御部２５と接続され、Ｉ／Ｆ制御部１６及びＩ／Ｆ制御部２５は、それぞれ速度緩衝用のバッファとして、バッファ１７及びバッファ２６を内蔵している。
【００２４】
Ｉ／Ｆ制御部１６及びＩ／Ｆ制御部２５は、ライト要求がポステッドライト方式のＩ／Ｆであり、例えば、デバイス４のデータ処理部１１から共有メモリ６にライトアクセスする場合、ライトデータを、バッファ１７、２６を経由させて共有メモリ６へ転送する。バッファ１７、２６は、複数のフリップフロップによって構成された所定容量の多段バッファである。
【００２５】
次に、デバイス５について説明する。データ処理部２１、２２は、上記デバイス５を構成するＬＳＩによるハードウェアとして回路構成またはＣＰＵ２によってソフトウェアとして構築され、それぞれ異なるデータ処理を施す。データ処理部２１、２２は、一般的に、共有メモリ６に格納されている画像データ等のデータを、アービタ２３及びメモリコントローラ２４を経由して読み出す。データ処理部２１、２２は、読み出したデータに対して各データ処理部２１、２２に割り当てられている処理内容に応じて画像処理等のデータ処理を行い、処理後のデータを、アービタ２３及びメモリコントローラ２４を経由して共有メモリ６へ書き込む。
【００２６】
アービタ２３は、データ処理部２１、２２、Ｉ／Ｆ制御部２５及びＣＰＵ２等に接続されており、これらデータ処理部２１、２２、Ｉ／Ｆ制御部２５及びＣＰＵ２によるバス（デバイス５内のバス）の使用権を調停する。
【００２７】
Ｉ／Ｆ制御部２５は、上述のように、ライト要求がポステッドライト方式のＩ／Ｆであり、Ｉ／Ｆ制御部１６に高速バス７で接続されている。
【００２８】
メモリコントローラ２４は、アービタ２３を介して入力されるリード要求やライト要求に応じて、共有メモリ６からのデータの読み出し、及び、共有メモリ６へのデータの書き込みを行う。
【００２９】
そして、アービタ２３は、データ処理部２１やデータ処理部２２から共有メモリ６へのアクセス集中等の理由により、Ｉ／Ｆ制御部２５からメモリコントローラ２４へのライトアクセスを待たせることがある。Ｉ／Ｆ制御部２５は、このＩ／Ｆ制御部２５からのライトアクセスを待たせるのに、上記バッファ２６を使用し、ライトデータの転送効率化の向上を図る。
【００３０】
共有メモリ６は、ＲＡＭ（Random Access Memory）等で構成され、ＲＯＭ３に格納されているプログラムが一時展開され、また、データ処理装置１の取り扱う画像データ等のデータを一時記憶する。
【００３１】
上記ライト要求転送中断部１５は、図２に示すように構成されており、ライト要求転送部３１、ライトデータ転送部３２、ライト要求中断指示部３３、リードレイテンシ計測部３４、リード要求転送部３５及びリードデータ転送部３６を備えている。
【００３２】
ライト要求転送中断部１５は、上述のように、デバイス４のデータ処理部１１〜１３から出力されるライト要求、リード要求及びリードデータ（リードレスポンス）を中継する。
【００３３】
ライト要求転送部３１は、アービタ１４を介して入力されるデータ処理部１１〜１３からのライト要求（ライトコマンド）を受け取って、複数の多段フリップフロップを介して順次Ｉ／Ｆ制御部１６へライト要求を転送する。ライト要求転送部３１は、後述するライト要求中断指示部３３からライト要求転送中断指示があると、予め設定された中断期間だけ、複数の多段フリップフロップにライト要求を保留して、中断期間が経過すると、ライト要求のＩ／Ｆ制御部１６への転送を開始する。
【００３４】
ライトデータ転送部３２は、データ処理部１１〜１３からのライトデータを受け取ってＩ／Ｆ制御部１６へ転送する。ライトデータ転送部３２は、ライト要求転送部３１と同様に、多段フリップフロップによって、ライト要求中断指示部３３からのライトデータ転送中断指示に応じて、中断期間だけ中断して、ライトデータをＩ／Ｆ制御部１６へ転送してもよい。
【００３５】
リード要求転送部３５は、アービタ１４を介して入力されるデータ処理部１１〜１３からのリード要求（リードコマンド）を受け取って、Ｉ／Ｆ制御部１６へ転送する。リード要求転送部３５は、アービタ１４からＩ／Ｆ制御部１６へのデータ転送プロトコルを常時監視することで、リード要求を観測し、リード要求を転送する毎に、その時間をリード要求転送情報としてリードレイテンシ計測部３４へ出力する。
【００３６】
リードデータ転送部３６は、Ｉ／Ｆ制御部１６から送られてくるリードデータを受け取ってアービタ１４へ転送し、このアービタ１４へ転送されるリードデータを、データ転送プロトコルを常時監視することで観測する。リードデータ転送部３６は、リードデータを転送される毎に、その時間をリードレスポンス転送情報としてリードレイテンシ計測部３４に出力する。
【００３７】
リードレイテンシ計測部３４は、リード要求転送部３５から受信するリード要求転送情報（時間）と、リードデータ転送部３６から受信するリードレスポンス転送情報（時間）とからリードレイテンシを計測する。
【００３８】
いま、Ｉ／Ｆ制御部１６、Ｉ／Ｆ制御部２５及び高速バス７が、ライト要求が、レスポンスを必要としないポステッドライト方式である。したがって、リード要求は、先投げ（Split Transaction）により、最初に発行したリード要求に対応したリードデータが返ってくる前に、次のリード要求が発行されることもあるが、リードレイテンシは、それぞれ対応するリード要求とリードデータの間隔となる。したがって、リードレイテンシ計測部３４は、リード要求転送部３５からのリード要求転送情報とリードデータ転送部３６からのリードレスポンス転送情報からリードレイテンシを測定する。リードレイテンシ計測部３４は、計測したリードレイテンシ情報を、リードデータ転送部３６からリードレスポンス転送情報を受け取ったタイミングで、ライト要求中断指示部３３に通知する。
【００３９】
ライト要求中断指示部３３は、リードレイテンシ期間情報と中断時間情報がＣＰＵ２から設定可能され、このリードレイテンシ期間情報と中断時間情報を保持する。ライト要求中断指示部３３は、リードレイテンシ計測部３４からリードレイテンシ情報が通知されると、該通知されたリードレイテンシ情報を、保持しているリードレイテンシ期間情報と比較する。ライト要求中断指示部３３は、リードレイテンシ情報が保持リードレイテンシ期間情報を超えていると、保持している中断時間情報の期間だけライト要求を停止させるように、ライト要求転送中断指示をライト要求転送部３１へ出力する。
【００４０】
上記リードレイテンシ期間情報は、ライト要求を一時停止を行うか否かを判断する時間であり、ＣＰＵ２により設定される。また、中断時間情報は、ライト要求を停止させておく停止時間であり、パラメータとして、ＣＰＵ２により設定される。
【００４１】
ライト要求中断指示部３３は、上記ライト要求転送中断指示を、上記中断時間情報の期間だけライト要求転送部３１へ出力し続け、該中断時間情報の期間が経過すると、該ライト要求転送中断指示のライト要求転送部３１への出力を中止する。
【００４２】
そして、上記ＣＰＵ２、ＲＯＭ３、データ処理部１１〜１３、アービタ１４、ライト要求転送中断部１５、バッファ１７を備えたＩ／Ｆ制御部１６、高速バス７、バファ２６を備えたＩ／Ｆ制御部２５、アービタ２３、メモリコントローラ２４及び共有メモリ６は、全体として、リードとライトのバランスを調整して、データ転送効率を向上させるデータ転送部（データ転送装置）４０を構成している。
【００４３】
データ処理装置１は、ＲＯＭ、ＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory ）、ＥＰＲＯＭ、フラッシュメモリ、フレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory ）、ＣＤ−ＲＷ（Compact Disc Rewritable ）、ＤＶＤ（Digital Versatile Disk）、ＵＳＢ（Universal Serial Bus）メモリ、ＳＤ（Secure Digital）カード、ＭＯ（Magneto-Optical Disc）等のコンピュータが読み取り可能な記録媒体に記録されている本発明のデータ転送方法を実行するプログラムを読み込んでＲＯＭ３等に導入することで、後述するリードとライトのバランスを調整して、データ転送効率を向上させるデータ転送方法を実行するデータ転送装置４０を備えたデータ処理装置として構築されている。このプログラムは、アセンブラ、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）等のレガシープログラミング言語やオブジェクト指向プログラミング言語等で記述されたコンピュータ実行可能なプログラムであり、上記記録媒体に格納して頒布することができる。
【００４４】
そして、データ転送部４０は、ＲＯＭ３に上記プログラムが導入されることで、図３に示すような機能ブロックが構築される。すなわち、データ転送部４０は、上記プログラムが導入されることで、図３に示すように、データ処理部４１、記憶部４２、データ通信部４３、緩衝部４４、リードレイテンシ計測部４５、ライト要求転送中断部４６及び中断制御部４７が構築される。
【００４５】
記憶部４２は、共有メモリ６で構築され、少なくともデータ処理部４１の利用する画像データ等のデータがライトされ、また、リードされる。したがって、記憶部４２は、記憶手段として機能している。
【００４６】
データ処理部４１は、データ処理部１１〜１３で構築されている。データ処理部４１は、リード要求を先投げしてリードデータを記憶部４２からリードし、ライト要求を行ってライトデータを該記憶部４２へライトする。したがって、データ処理部４１は、データ処理手段として機能している。
【００４７】
データ通信部４３は、Ｉ／Ｆ制御部１６、高速バス７及びＩ／Ｆ制御部２５で構築されている。データ通信部４３は、データ処理部４１と記憶部４２の間に接続され、該記憶部４２でのライト処理が完了する前に後続のライト要求を発行するポステッドライト方式で通信する。したがって、データ通信部４３は、データ通信手段として機能している。
【００４８】
緩衝部４４は、バッファ１７及びバッファ２６で構築されている。緩衝部４４は、データ通信部４３に設けられ、所定のデータ保持量を有して、ライト要求に対応するライトデータを保持する。したがって、緩衝部４４は、緩衝手段として機能している。
【００４９】
リードレイテンシ計測部４５は、ライト要求転送中断部１５のリード要求転送部３５、リードデータ転送部３６及びリードレイテンシ計測部３４で構築されている。リードレイテンシ計測部４５は、データ通信部４３を介したリード要求と該リード要求に対応するリードデータとの時間をリードレイテンシとして計測する。したがって、リードレイテンシ計測部４５は、リードレイテンシ計測手段として機能している。
【００５０】
ライト要求転送中断部４６は、ライト要求転送中断部１５のライト要求中断指示部３３、ライト要求転送部３１で構築されている。ライト要求転送中断部４６は、計測されたリードレイテンシが所定値を超えると、緩衝部４４のライトデータが記憶部４２へ所定量転送される所定の中断時間だけデータ処理部４１から発行されたライト要求のデータ通信部４３への転送を中断する。したがって、ライト要求転送中断部４６は、ライト要求転送中断手段として機能している。
【００５１】
中断制御部４７は、ＣＰＵ２により構築され、所定期間においてのみ、ライト要求転送中断部１５によるライト要求の転送中断処理を実行させる。したがって、中断制御部４７は、中断制御手段として機能している。
【００５２】
次に、本実施例の作用を説明する。本実施例のデータ処理装置１は、そのデータ転送部４０が、リードとライトのバランスを調整して、データ転送効率を向上させる。
【００５３】
すなわち、データ処理装置１は、デバイス４のデータ処理部１１〜１３及びデバイス５のデータ処理部２１、２２が、共有メモリ６にアクセスして、共有メモリ６へのデータのライト、共有メモリ６からのデータのリードを行う。
【００５４】
特に、デバイス４とデバイス５は、ポステッドライト方式の高速バス７、Ｉ／Ｆ制御部１６、Ｉ／Ｆ制御部２５を有するデータ通信部８で接続されている。
【００５５】
そして、デバイス４のデータ処理部１１〜１３は、アービタ１４、ライト要求転送中断部１５、データ通信部８（Ｉ／Ｆ制御部１６、高速バス７、Ｉ／Ｆ制御部２５）、アービタ２３及びメモリコントローラ２４からなるデータ転送経路ＤＰを介して共有メモリ６にアクセスする。
【００５６】
すなわち、データ転送部４０は、データ処理部１１〜１３が、共有メモリ６からデータをリードするときには、リード要求をデータ通信部８を有するデータ転送経路ＤＰへ発行する。データ転送部４０は、リード要求に応答して、メモリコントローラ２４が共有メモリ６から読み出したリードデータを、データ通信部８を有するデータ転送経路ＤＰを通してデータ処理部１１〜１３へ送る。
【００５７】
データ処理部１１〜１３は、リードデータに対して必要な画像処理等のデータ処理を施すと、ライト要求を発行して、ライトデータをデータ転送経路ＤＰのデータ通信部８へ送り出す。
【００５８】
データ通信部８は、Ｉ／Ｆ制御部１６が、ライト要求転送中断部１５を介してアービタ１４からライト要求を受け取ると、レスポンスを待つことなく、ポステッドライト方式で該ライト要求を発行し、ライトデータを受け取る。
【００５９】
また、Ｉ／Ｆ制御部２５は、高速バス７を介してライト要求を受け取ると、レスポンスを待つことなく、ライト要求をアービタ２３へ発行する。
【００６０】
ところが、アービタ２３は、例えば、データ処理部２１、２２からのライト要求、リード要求によって混雑する等理由でＩ／Ｆ制御部２５からアービタ２３へのライト帯域が制約を受けると、その処理速度が、データ処理部１１〜１３からのライトデータ転送速度を下まわる。この場合、Ｉ／Ｆ制御部１６、２５は、データ処理部１１〜１３からのライトデータを、バッファ１７、２６に順次蓄積する。
【００６１】
データ通信部８を用いたデータ転送において、リード要求とライト要求の発行順序を保つためには、後から発行されたリード要求は、必ずバッファ１７、２６に先行して蓄積されていたライトデータがバッファ１７、２６から読み出されてから処理される。
【００６２】
したがって、ライトデータのバッファ１７、２６への蓄積は、リードレスポンスの増大を招き、結果として、リード帯域の低下やリードモディファイライト動作を行うデータ処理部１１〜１３の処理性能低下を引き起こす。
【００６３】
すなわち、リードレイテンシとリード帯域は、図４に示すような関係にある。図４（ａ）、（ｂ）は、リード要求（リードコマンド）を４つ先投げ（Split）している場合であり、図４（ｃ）は、リード要求を５つ先投げしている場合を示している。なお、図４において、ＲＣ１、・・・・は、リード要求（リードコマンド）を示しており、ＲＤ１、・・・は、リードデータを示している。図４（ａ）は、リード要求ＲＣ１に対応するリードデータＲＤ１が、リードデータ転送に隙間が開かない間隔で返っている。すなわち、リードレスポンスが、リードデータ転送に隙間が開かない間隔で返っており、図４（ａ）に示す場合よりもリードレスポンス時間が短いと、リードデータ転送に隙間が開かず、リード帯域は理想的な量が維持される。
【００６４】
図４（ｂ）は、リード要求ＲＣ１に対応するリードデータＲＤ１が、リードデータ転送に隙間が開いてしまう間隔で返っている。すなわち、リードレイテンシが増加（リードレスポンソ時間が増大）して、リードデータ転送に隙間が開いている。このように、リードレイテンシの増加が原因でリードデータ転送に隙間が開き始めると、その後、リードレイテンシが増えるのに従って、リード帯域も低下する。
【００６５】
図４（ｃ）は、図４（ｂ）のようにリードレイテンシが増加してリードデータ転送に隙間が開いたため、リード要求を５つ先投げした場合が示されている。図４（ｃ）から分かるように、リード要求の先投げの数を増やしても、リードレスポンスがそれ以上に増加すると、リードデータ転送に隙間が開いて、リード帯域が低下する。
【００６６】
そして、図５に示すように、リードレスポンス時間は、リードモディファイライト動作を行うデータ処理部１１〜１３におけるデータ処理性能と大きく関係する。なお、図５において、ＲＣ１、・・・は、リード要求、ＲＤ１、・・・は、リードデータ、ＷＣ１、・・・は、ライト要求、ＷＤ１、・・・は、ライトデータを示している。すなわち、リードモディファイライト（ＲＭＷ）処理は、データ処理部１１〜１３が共有メモリ６上のデータの一部を読み出してデータ処理（画像処理）し、再び共有メモリ６へ書き戻すまで、次のデータ処理を待機させる処理である。したがって、図５において、リードモディファイライト（ＲＭＷ）処理時間は、データ処理部１１〜１３のデータ処理時間と、処理対象のデータを共有メモリ６から読み出して書き戻すまでの時間を加算した時間である。
【００６７】
図５（ａ）の場合に比較して、図５（ｂ）の場合、リードレスポンス時間が短い分だけ、データ処理部１１〜１３の待ち時間が少なくなり、処理性能が向上する。例えば、図５（ｂ）の場合、図５（ａ）に比較して、画像処理性能が1.5倍に向上している。
【００６８】
このように、データ転送部４０は、データ通信部８を利用したデータの転送効率を向上させるためには、リードレスポンスが低下したときに、データ処理装置１にとって最適の待ち時間分だけライトデータの転送を中断することによって、迅速にリードレイテンシを回復することが重要である。
【００６９】
このライトデータの転送の中断については、例えば、いま、図６に示すように、データ通信部８上に、バッファ１７、２６となるバッファＢｕがあり、サイズが、４０９６Byte、バッファＢｕの読出速度が、１０００MB/sであったとする。この状態で、ライトデータを保管するバッファＢｕが空になるまでの時間は、次式（１）から算出される。
【００７０】
４０９６[Byte]／１０００[MB/s]＝４．０９６［us］・・・（１）
そして、データ通信部８においては、リード要求とライト要求の発行順序を保つために、以下の手順でデータ転送が行われる。すなわち、データ通信部８では、バッファＢｕ（バッファ１７、２６）が満杯になった後に発行されたリード要求は必ずバッファＢｕに先行して蓄積されていた４０９６ByteのライトデータがバッファＢｕから読み出されてから処理される。仮に、通常時のリードレイテンシが、０．５usであったとすると、ライトデータのバッファＢｕが満杯の状態で発行されたリードレイテンシは、０．５5[us]＋４．０９６[us]＝４．５９６[us]に増大することになる。
【００７１】
そして、ライトデータをバッファ１７、２６に溜めないためには、バッファ読出速度よりバッファ書込速度を遅くすることが考えられる。ところが、バッファ読出速度がバッファ１７、２６の先のアービタ２３の混雑等により動的に変化する場合には、バッファ読出速度に追従してバッファ書込速度を遅くする仕組みが必要となる。
【００７２】
一方、バッファ読出速度をマスタ側で直接観測できない場合には、リードレイテンシを観測することでバッファ１７、２６のライトデータの溜まり具合を予測することができ、間接的にバッファ読出速度が低下していることを把握することができる。
【００７３】
そして、バッファ１７、２６にライトデータが溜まった状態から最も効果的にバッファ１７、２３を空にするには、一定期間ライトデータを転送しないことである。
【００７４】
そこで、本実施例のデータ処理装置１のデータ転送部４０は、バッファ１７、２３にライトデータが溜まった状態を検知すると、適切な時間の間だけライトデータを転送しないことで、迅速にリードレイテンシを回復して、転送効率を向上させる。そして、データ転送部４０は、ライトデータが溜まった状態を検知するのに、リードレイテンシを観測することで行う。
【００７５】
まず、リードレイテンシ計測処理について、図７に基づいて説明する。リードレイテンシ計測処理は、リードレイテンシ計測部４５を構築するリードレイテンシ計測部３４、リード要求転送部３５及びリードデータ転送部３６により実行される。リードレイテンシ計測部４５は、デバイス４、５のリセットが解除されると、クロック（同期信号）毎に、図７に示すリードレイテンシ計測処理を繰り返し実行し、データ処理装置１のリセットやデバイス４、５に対する電源オフが行われると、処理を終了する。
【００７６】
すなわち、リードレイテンシ計測部４５は、リード要求転送部３５が、新しいリード要求の転送を行ったかチェックする（ステップＳ１０１）。リードレイテンシ計測部４５は、ステップＳ１０１で、転送を行っていないと（ステップＳ１０１で、ＮＯのとき）、リードデータ転送部３６が新たなリードデータの転送を行ったかチェックする（ステップＳ１０２）。
【００７７】
リードレイテンシ計測部４５は、ステップＳ１０２で、リードデータ転送部３６が新たなリードデータを転送していないと（ステップＳ１０２で、ＮＯのとき）、同期信号のクロックが入力されるのを待つ（ステップＳ１０３）。
【００７８】
リードレイテンシ計測部４５は、ステップＳ１０３で、クロックが入力されると、ステップＳ１０１に戻って、再度、リード要求転送部３５が新たなリード要求を転送したかのチェックから上記同様に処理する（ステップＳ１０１〜Ｓ１０３）。
【００７９】
ステップＳ１０１で、リード要求転送部３５が新たなリード要求を転送すると（ステップＳ１０１で、ＹＥＳのとき）、リード要求転送部３５は、リード要求を転送した時間を含むリード要求転送情報をリードレイテンシ計測部３４へ通知する（ステップＳ１０４）。
【００８０】
リードレイテンシ計測部３４は、リード要求転送部３５から通知されたリード要求転送情報に含まれているリード要求転送時間を記録し（ステップＳ１０５）、ステップＳ１０２へ移行する。
【００８１】
ステップＳ１０２で、リードデータ転送部３６が新たなリードデータを転送すると（ステップＳ１０２で、ＹＥＳのとき）、リードデータ転送部３６は、リードデータを転送した時間を含むリードレスポンス転送情報をリードレイテンシ計測部３４へ通知する（ステップＳ１０６）。
【００８２】
リードレイテンシ計測部３４は、受信したリードレスポンス転送情報に含まれているリードデータ転送時間を取得する。リードレイテンシ計測部３４は、リードデータ転送時間と先のリード要求転送時間との差分からリードレスポンス時間を算出する（ステップＳ１０７）。このとき、リードレイテンシ計測部３４は、リード要求に対応するリードデータとの間のリードレスポンス時間を、リードレイテンシとして算出する。
【００８３】
リードレイテンシ計測部３４は、算出したリードレイテンシをライト要求中断指示部３３（ライト要求転送中断部４６）へ通知する。
【００８４】
リードレイテンシ計測部４５は、リードレイテンシの通知を行うと、再度、クロック（同期信号）の入力を待って（ステップＳ１０３）、ステップＳ１０１に戻って、上記同様の処理を繰り返し実行する（ステップＳ１０１〜Ｓ１０８）。
【００８５】
すなわち、リードレイテンシ計測部４５は、リード要求を転送する毎に、該リード要求に対応するリードデータとの時間差であるリードレイテンシを計測して、ライト要求転送中断部４６に通知する。
【００８６】
そして、データ転送部４０は、図８に示すように、データ転送処理を実行する。データ転送部４０は、デバイス４、５のリセットが解除されると、クロック（同期信号）毎に、図７に示すデータ転送処理を繰り返し実行し、データ処理装置１のリセットやデバイス４、５に対する電源オフが行われると、処理を終了する。
【００８７】
データ転送部４０は、そのライト要求転送中断部４６が、上述のようにしてリードレイテンシ計測部４５から新たなリードレイテンシ情報の入力があったかチェックする（ステップＳ２０１）。
【００８８】
ステップＳ２０１で、新たなリードレイテンシ情報の入力がないと（ステップＳ２０１で、ＮＯのとき）、ライト要求転送中断部４６は、同期信号のクロックが入力されるのを待って（ステップＳ２０２）、ステップＳ２０１に戻って、上記同様に処理する。すなわち、データ転送部４０は、同期信号毎に、データ転送処理を実行する。
【００８９】
ステップＳ２０１で、新たなリードレイテンシ情報が入力されると（ステップＳ２０１で、ＹＥＳのとき）、ライト要求転送中断部４６は、該新たなリードレイテンシ情報が予め設定されている閾値（所定値）より大きいかチェックする（ステップＳ２０３）。
【００９０】
ステップＳ２０３で、新たなリードレイテンシ情報が閾値未満であると（ステップＳ２０３で、ＮＯのとき）、ライト要求転送中断部４６は、ステップＳ２０２でクロック入力を待って、ステップＳ２０１に戻って、同様の処理を行う（ステップＳ２０２、Ｓ２０１〜Ｓ２０３）。
【００９１】
ステップＳ２０３で、新たなリードレイテンシ情報が閾値より大きいと（ステップＳ２０３で、ライト要求転送中断部４６は、データ通信部４３へのデータ処理部４１（データ処理部１１〜１３）からのライト要求転送を中止する。すなわち、ライト要求転送中断部４６を構築するライト要求中断指示部３３は、データ通信部４３を構築するライト要求転送部３１に対して、ライト要求転送中断指示をアサートし、内蔵する中断指示時間計測タイマを起動させる。
【００９２】
ライト要求転送中断部４６は、中断指示時間計測タイマが、予め設定されたライト要求中断時間（中断時間）を経過したかチェックする（ステップＳ２０５）。
【００９３】
ステップＳ２０５で、中断指示計測タイマが中断時間を経過していないと（ステップＳ２０５で、ＮＯのとき）、ライト要求転送中断部４６は、同期信号のクロックが入力されるのを待つ（ステップＳ２０６）。ライト要求転送中断部４６は、クロックが入力されると、ステップＳ２０５に戻って、再度、中断指示時間計測タイマが中断時間を経過したかチェックする処理を、中断時間が経過するまで繰り返し処理する（ステップＳ２０５、Ｓ２０６）。
【００９４】
ステップＳ２０５で、中断指示時間計測タイマが中断時間を経過すると（ステップＳ２０５で、ＹＥＳのとき）、ライト要求転送中断部４６は、ステップＳ２０１に戻って、上記処理を繰り返し行う（ステップＳ２０２〜Ｓ２０６）。データ転送部４０は、この中断指示時間計測タイマが中断時間を経過する時間に、Ｉ／Ｆ制御部１６のバッファ１７及びＩ／Ｆ制御部２５のバッファ２６に滞留していたライトデータを、図６に示したように転送する。この中断時間は、ＣＰＵ２によって、バッファ１７、２６に満杯に滞留しているライトデータを、全て転送するのに適切な時間として設定される。そして、この中断時間は、図６の説明のように、短時間である。
【００９５】
したがって、短い中断時間だけ、ライト要求の転送を中断することで、、リード要求がライトデータの転送待ちをしなくなり、リードレイテンシを回復させることができる。その結果、リードとライトのバランスを調整して、データ転送効率を向上させることができる。
【００９６】
そして、データ転送部４０は、上述のように、データ処理装置１のリセットやデバイス４、５に対する電源オフが行われると、上記データ転送処理を終了する。
【００９７】
このように、本実施例のデータ処理装置１は、そのデータ転送部４０が、リード要求を先投げしてリードデータを記憶部（記憶手段）４２からリードし、ライト要求を行ってライトデータを該記憶部４２へライトするデータ処理部（データ処理手段）４１と、前記データ処理部４１と前記記憶部４２の間に接続され、該記憶部４２でのライト処理が完了する前に後続のライト要求を発行するポステッドライト方式のデータ通信部（データ通信手段）４３と、前記データ通信部４３に設けられ、所定のデータ保持量を有して、前記ライト要求に対応するライトデータを保持する緩衝部（緩衝手段）４４と、前記データ通信部４３を介した前記リード要求と該リード要求に対応する前記リードデータとの時間をリードレイテンシとして計測するリードレイテンシ計測部（リードレイテンシ計測手段）４５と、計測された前記リードレイテンシが所定値を超えると、前記緩衝部４４の前記ライトデータが所定量前記記憶部４２へ転送される所定の中断時間だけ前記データ処理部４１から発行された前記ライト要求の前記データ通信部４３への転送を中断するライト要求転送中断部（ライト要求転送中断手段）４６と、を備えている。
【００９８】
したがって、リードレイテンシに基づいて適切な中断時間だけライト要求の転送を中断することができ、リードとライトのバランスを調整して、データ転送効率を向上させることができる。
【００９９】
また、本実施例のデータ処理装置１は、そのデータ転送部４０が、データ処理部４１からリード要求を先投げしてリードデータを記憶部４２からリードし、該データ処理部４１からライト要求を行ってライトデータを該記憶部４２へライトするデータ処理ステップと、前記データ処理部４１と前記記憶部４２の間に接続されているデータ通信部４３が、該記憶部４２でのライト処理が完了する前に後続のライト要求を発行するポステッドライト方式で行うデータ通信処理ステップと、前記データ通信部４３に設けられ、所定のデータ保持量を有する緩衝部４４に、前記ライト要求に対応するライトデータを保持する緩衝処理ステップと、前記データ通信部４３を介した前記リード要求と該リード要求に対応する前記リードデータとの時間をリードレイテンシとして計測するリードレイテンシ計測処理ステップと、計測された前記リードレイテンシが所定値を超えると、前記緩衝部４４の前記ライトデータが所定量前記記憶部４２へ転送される所定の中断時間だけ前記データ処理部４１から発行された前記ライト要求の前記データ通信部４３への転送を中断するライト要求転送中断処理ステップと、を有するデータ転送方法を実行する。
【０１００】
したがって、リードレイテンシに基づいて適切な中断時間だけライト要求の転送を中断することができ、リードとライトのバランスを調整して、データ転送効率を向上させることができる。
【０１０１】
さらに、本実施例のデータ処理装置１は、そのデータ転送部４０が、ＣＰＵ２等の制御プロセッサに、データ処理部４１からリード要求を先投げしてリードデータを記憶部４２からリードし、該データ処理部４１からライト要求を行ってライトデータを該記憶部４２へライトするデータ処理と、前記データ処理部４１と前記記憶部４２の間に接続されているデータ通信部４３が、該記憶部４２でのライト処理が完了する前に後続のライト要求を発行するポステッドライト方式で行うデータ通信処理と、前記データ通信部４３に設けられ、所定のデータ保持量を有する緩衝部４４に、前記ライト要求に対応するライトデータを保持する緩衝処理と、前記データ通信部４３を介した前記リード要求と該リード要求に対応する前記リードデータとの時間をリードレイテンシとして計測するリードレイテンシ計測処理と、計測された前記リードレイテンシが所定値を超えると、前記緩衝部４４の前記ライトデータが所定量前記記憶部４２へ転送される所定の中断時間だけ前記データ処理部４１から発行された前記ライト要求の前記データ通信部４３への転送を中断するライト要求転送中断処理と、を実行させるプログラムを搭載している。
【０１０２】
したがって、リードレイテンシに基づいて適切な中断時間だけライト要求の転送を中断することができ、リードとライトのバランスを調整して、データ転送効率を向上させることができる。
【０１０３】
また、本実施例のデータ処理装置１は、そのデータ転送部４０が、所定期間においてのみ、前記ライト要求転送中断部４６による前記ライト要求の転送中断処理を実行させる中断制御部（中断制御手段）４７を、さらに備えている。
【０１０４】
したがって、ユーザの必要とするときにのみ、ライト要求の中断処理を行うことができ、利用性を向上させつつ、リードとライトのバランスを調整して、データ転送効率を向上させることができる。
【実施例２】
【０１０５】
図９及び図１０は、本発明のデータ転送装置、データ処理装置、データ転送方法及びプログラムの第２実施例を示す図であり、図９は、発明のデータ転送装置、データ処理装置、データ転送方法及びプログラムの第２実施例を適用したデータ処理装置６０の要部ブロック図である。
【０１０６】
なお、本実施例は、上記第１実施例と同様のデータ処理装置１に適用したものであり、本実施例の説明においては、第１実施例のデータ処理装置１と同様の構成部分には、同一の符号を付与して、その説明を省略または簡略化する。
【０１０７】
本実施例は、ダミーライト要求によるダミーライトデータのライトデータ転送性能を計測し、計測したダミーライトデータのライトデータ転送性能に基づいて、上記中断時間を算出して、ライト要求転送中断部１５に設定する。
【０１０８】
すなわち、本実施例のデータ処理装置６０は、図９に示すように、デバイス４に、ダミーライト処理部６１、ライトデータ転送性能計測部６２を備え、共有メモリ６に、ダミーライト領域６ａが確保される。
【０１０９】
データ処理装置６０は、上記ダミーライト処理部６１、ライトデータ転送性能計測部６２、ダミーライト領域６ａ以外は、第１実施例のデータ処理装置１と同様の構成である。なお、図９では、データ処理部１３の代わりに、ダミーライト処理部６１が設けられているように描かれているが、データ処理部１３自体が、ダミーライト処理部６１の機能を備えていてもよいし、データ処理部１１〜１３の他に、ダミーライト処理部６１が設けられていてもよい。
【０１１０】
ダミーライト処理部６１は、例えば、データ処理装置６０の起動時等のデータ処理部１１、１２、２１、２２が動作していないときを測定タイミングとして、該測定タイミングに、ＣＰＵ２の制御下で、ダミーライト要求を連続して発行する。
【０１１１】
ライトデータ転送性能計測部６２は、アービタ１４とＩ／Ｆ制御部１６の間に接続され、データ通信部８を介したデータ処理部１１、１２から共有メモリ６へのライトデータ転送性能を計測する。ライトデータ転送性能計測部６２は、上記ライトデータ転送性能、特に、ダミーライトデータの転送性能を計測する。
【０１１２】
ＣＰＵ２は、上記測定タイミングに、共有メモリ６に、ダミーライト領域６ａを確保し、ダミーライト処理部６１を駆動させて、ダミーライト要求を発行させる。また、ＣＰＵ２は、ライトデータ転送性能計測部６２に、ダミーライト要求に基づくダミーライトデータの転送性能を計測させる。
【０１１３】
ＣＰＵ２は、ライトデータ転送性能計測部６２の計測したライトデータ転送性能とバッファ１７、２６のデータ保持量に基づいて、該バッファ１７、２６の保持するライトデータが空になるまでの時間を、上記中断時間として算出する。
【０１１４】
さらに、ＣＰＵ２は、算出した中断時間を、ライト要求転送中断部１５へ設定する。
【０１１５】
そして、データ処理装置６０において、上記ＣＰＵ２、ＲＯＭ３、データ処理部１１、１２、アービタ１４、ライト要求転送中断部１５、バッファ１７を備えたＩ／Ｆ制御部１６、ダミーライト処理部６１、ライトデータ転送性能計測部６２、高速バス７、バファ２６を備えたＩ／Ｆ制御部２５、アービタ２３、メモリコントローラ２４及び共有メモリ６は、全体として、リードとライトのバランスを調整して、データ転送効率を向上させるデータ転送部（データ転送装置）７０を構成している。なお、データ転送部７０は、共有メモリ６に確保されるダミーライト領域６ａを含んでいてもよい。
【０１１６】
データ処理装置６０、特に、データ転送部７０は、上記コンピュータが読み取り可能な記録媒体に記録されている本実施例のデータ転送方法を実行するプログラムを読み込んでＲＯＭ３等に導入することで、ダミーライトデータを利用したリードとライトのバランスを調整して、データ転送効率を向上させるデータ転送方法を実行するデータ転送装置７０を備えたデータ処理装置として構築されている。このプログラムは、アセンブラ、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）等のレガシープログラミング言語やオブジェクト指向プログラミング言語等で記述されたコンピュータ実行可能なプログラムであり、上記記録媒体に格納して頒布することができる。
【０１１７】
そして、データ転送部７０は、ＲＯＭ３に上記プログラムが導入されることで、図１０に示すような機能ブロックが構築される。すなわち、データ転送部７０は、上記プログラムが導入されることで、図１０に示すように、図３に示した機能ブロックに追加して、ダミーライト処理部７１、ライトデータ転送性能計測部７２、中断時間算出部７３及び中断時間設定部７４が構築される。
【０１１８】
ダミーライト処理部７１は、ダミーライト処理部６１により構築され、所定のタイミングに、所定データ量のライトデータをダミーライトデータとして、データ通信部４３を介して該ダミーライトデータを記憶部４２へライトするダミーライト要求を発行する。したがって、ダミーライト処理部７１は、ダミーライト処理手段として機能している。
【０１１９】
ライトデータ転送性能計測部７２は、デバイス４のＬＳＩによって、ライト要求転送中断部１５の一部として、または、ライト要求転送中断部１５とは別に構築されている。ライトデータ転送性能計測部７２は、データ通信部４３を介したデータ処理部４１、ダミーライト処理部７１から記憶部４２へのライトデータ転送性能を計測する。したがって、ライトデータ転送性能計測部７２は、ライトデータ転送性能計測手段として機能している。
【０１２０】
中断時間算出部７３は、ＣＰＵ２により構築されている。中断時間算出部７３は、計測されたライトデータ転送性能に基づいて、転送性能を最適化する中断時間を算出する。例えば、中断時間算出部７３は、緩衝部４４のデータ保持量を把握していて、ライトデータ転送性能と緩衝部４４のデータ保持量に基づいて、緩衝部４４の保持するライトデータが空になるまでの時間を、転送性能を最適化する中断時間として算出する。したがって、中断時間算出部７３は、中断時間算出手段として機能している。
【０１２１】
中断時間設定部７４は、ＣＰＵ２により構築されており、算出された中断時間をライト要求転送中断部４６へ設定する。したがって、中断時間設定手段７４は、中断時間設定手段として機能している。
【０１２２】
そして、本実施例のデータ処理装置６０は、例えば、データ処理装置６０の起動時等のデータ処理部１１、１２、２１、２２が動作していないときを測定タイミングとして、該測定タイミングに、ダミーライトデータの転送を行って、中断時間の設定を行う。
【０１２３】
すなわち、ＣＰＵ２は、上記測定タイミングに、まず、共有メモリ６の所定領域に、ダミーライト領域６ａを確保する。ＣＰＵ２は、次に、ダミーライト処理部７１を動作させて、ダミーライト要求を発行させて、所定データ量のダミーライトデータをデータ通信部４３を介して記憶部４２のダミーライト領域６ａへライトさせる。
【０１２４】
ライトデータ転送性能計測部７２は、このダミーライトデータのデータ通信部４３によるデータ転送におけるライトデータ転送性能を計測して、計測したライトデータ転送性能を中断時間算出部７３へ通知する。
【０１２５】
中断時間算出部７３は、ライトデータ転送性能計測部７２の計測したライトデータ転送性能に基づいて、適切な中断時間を算出し、算出した中断時間を、中断時間設定部７４へ通知する。中断時間算出部７３は、上述のように、例えば、ライトデータ転送性能と緩衝部４４のデータ保持量に基づいて、緩衝部４４の保持するライトデータが空になるまでの時間を、転送性能を最適化する中断時間として算出する。
【０１２６】
中断時間設定部７４は、中断時間算出部７３から通知される中断時間を、ライト要求転送中断部４６へ設定する。
【０１２７】
したがって、ライト要求中断時間として、データ通信部４３にとって適切な時間を設定することができ、より一層データ転送効率を向上させることができる。
【０１２８】
このように、本実施例のデータ処理装置６０は、そのデータ転送部７０が、前記データ通信部４３を介した前記データ処理部４１から前記記憶部４２へのライトデータ転送性能を計測するライトデータ転送性能計測部（ライトデータ転送性能計測手段）７２と、計測された前記ライトデータ転送性能と前記緩衝部４４の前記データ保持量に基づいて、該緩衝部４４の保持する前記ライトデータが空になるまでの時間を前記中断時間として算出する中断時間算出部（中断時間算出手段）７３と、算出された前記中断時間を前記ライト要求転送中断部４６へ設定する中断時間設定部（中断時間設定手段）７４と、をさらに備えている。
【０１２９】
したがって、ライトデータ転送性能に基づいて、ライト要求の中断時間を設定することができ、リードとライトのバランスをより一層適切に調整して、データ転送効率をより一層向上させることができる。
【０１３０】
また、本実施例のデータ処理装置６０は、そのデータ転送部７０が、所定のタイミングに、所定データ量のライトデータをダミーライトデータとして、前記データ通信部４３を介して該ダミーライトデータを前記記憶部４２へライトするダミーライト要求を発行するダミーライト処理部（ダミーライト処理手段）７１を、さらに備え、前記ライトデータ転送性能計測部７２が、前記ダミーライト要求による前記ダミーライトデータのライトデータ転送性能を計測し、前記中断時間算出部７３が、前記ライトデータ転送性能計測部７２の計測する前記ダミーライトデータのライトデータ転送性能に基づいて前記中断時間を算出する。
【０１３１】
したがって、ダミーライトデータ転送性能に基づいて、データ転送部７０の適用されるデータ処理装置６０等のシステムの状態に応じて、中断時間を適切に設定することができる。その結果、リードとライトのバランスをより一層適切に調整して、データ転送効率をより一層向上させることができる。
【実施例３】
【０１３２】
図１１及び図１２は、本発明のデータ転送装置、データ処理装置、データ転送方法及びプログラムの第３実施例を示す図であり、図１１は、発明のデータ転送装置、データ処理装置、データ転送方法及びプログラムの第３実施例を適用したデータ処理装置８０の要部ブロック図である。
【０１３３】
なお、本実施例は、上記第１実施例と同様のデータ処理装置１に適用したものであり、本実施例の説明においては、第１実施例のデータ処理装置１と同様の構成部分には、同一の符号を付与して、その説明を省略または簡略化する。
【０１３４】
本実施例のデータ処理装置８０は、ダミーリード要求によるダミーリードデータのリードレイテンシをダミーリードレイテンシとして計測する。そして、本実施例のデータ処理装置８０は、計測したダミーリードレイテンシに、実際のデータ転送におけるリードレイテンシを合計した合計リードレイテンシが所定値を超えると、ライト要求の転送を中断する。
【０１３５】
すなわち、本実施例のデータ処理装置８０は、図１１に示すように、デバイス４に、ダミーリード処理部８１を備え、共有メモリ６からダミーデータをリードする。
【０１３６】
データ処理装置８０は、上記ダミーリード処理部８１以外は、第１実施例のデータ処理装置１と同様の構成である。なお、図１１では、データ処理部１３の代わりに、ダミーリード処理部８１が設けられているように描かれているが、データ処理部１３自体が、ダミーライト処理部６１の機能を備えていてもよいし、データ処理部１１〜１３の他に、ダミーリード処理部８１が設けられていてもよい。
【０１３７】
ダミーリード処理部８１は、所定の測定タイミングに、ＣＰＵ２の制御下で、共有メモリ６のダミーデータをリードするダミーリード要求を１回だけ発行する。ＣＰＵ２は、測定タイミングとして、例えば、データ処理装置８０の起動時等のデータ処理部１１、１２、２１、２２が動作していないときを測定タイミングとする。
【０１３８】
ＣＰＵ２は、このダミーリード時におけるリードレイテンシを、ライト要求転送中断部１５のリードレイテンシ計測部３４に計測させ、ダミーリードレイテンシとして取得させて、ライト要求中断指示部３３に渡す。
【０１３９】
ライト要求中断指示部３３は、このダミーリードレイテンシを内部メモリ等に保存し、通常のデータ転送中において、リードレイテンシ計測部３４が計測するリードレイテンシに、ダミーリードレイテンシを合計した合計リードレイテンシを算出する。ライト要求中断指示部３３は、算出した合計リードレイテンシが所定値を超えると、ライト要求の転送を中断する指示をライト要求転送部３１へ出力して、ライト要求の転送を中断させる。
【０１４０】
そして、データ処理装置８０において、上記ＣＰＵ２、ＲＯＭ３、データ処理部１１、１２、アービタ１４、ライト要求転送中断部１５、バッファ１７を備えたＩ／Ｆ制御部１６、ダミーリード処理部８１、高速バス７、バファ２６を備えたＩ／Ｆ制御部２５、アービタ２３、メモリコントローラ２４及び共有メモリ６は、全体として、リードとライトのバランスを調整して、データ転送効率を向上させるデータ転送部（データ転送装置）９０を構成している。
【０１４１】
データ処理装置８０、特に、データ転送部９０は、上記コンピュータが読み取り可能な記録媒体に記録されている本実施例のデータ転送方法を実行するプログラムを読み込んでＲＯＭ３等に導入することで、ダミーリードを利用してリードとライトのバランスを調整し、データ転送効率を向上させるデータ転送方法を実行するデータ転送装置９０備えたデータ処理装置として構築されている。このプログラムは、アセンブラ、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）等のレガシープログラミング言語やオブジェクト指向プログラミング言語等で記述されたコンピュータ実行可能なプログラムであり、上記記録媒体に格納して頒布することができる。
【０１４２】
そして、データ転送部９０は、ＲＯＭ３に上記プログラムが導入されることで、図１２示すような機能ブロックが構築される。すなわち、データ転送部９０は、上記プログラムが導入されることで、図１２に示すように、図３に示した機能ブロックに追加して、ダミーリード処理部９１が構築される。
【０１４３】
ダミーリード処理部９１は、上記ダミーリード処理部８１により構築され、所定データ量のリードデータをダミーリードデータとしてデータ通信部４３を介して記憶部４２からリードするダミーリード要求を発行する。したがって、ダミーリード処理部９１は、ダミーリード処理手段として機能している。
【０１４４】
データ転送部９０は、このダミーリード処理部９１が動作する際に、リードレイテンシ計測部４５が、該ダミーリード要求におけるリードレイテンシを計測し、ダミーリードレイテンシとしてライト要求転送中断部４６に渡す。
【０１４５】
そして、ライト要求転送中断部４６は、通常のデータ転送中において、リードレイテンシ計測４５が計測するリードレイテンシに、ダミーリードレイテンシを合計した合計リードレイテンシを算出する。ライト要求転送中断部４６は、算出した合計リードレイテンシが所定値（閾値）を超えると、ライト要求の転送を中断する。
【０１４６】
したがって、データ転送部９０が適用されるデータ処理装置８０のシステム状況に応じて、ライト要求転送中断部１５がライト要求を中断する判断基準となるリードレイテンシ期間を適切に調節することがきる。その結果、リードとライトのバランスを、システム構成に応じてより一層適切に調整して、データ転送効率を向上させることができる。
【０１４７】
このように、本実施例のデータ処理装置８０は、そのデータ転送部９０が、所定データ量のリードデータをダミーリードデータとして前記データ通信部４３を介して前記記憶部４２からリードするダミーリード要求を発行するダミーリード処理部（ダミーリード処理手段）９１を、さらに備え、前記リードレイテンシ計測部４５が、前記ダミーリード要求による前記ダミーリードデータにおけるリードレイテンシを、ダミーリードレイテンシとして計測し、前記ライト要求転送中断部４６が、前記リードレイテンシ計測部４５が計測する前記リードレイテンシに、前記ダミーリードレイテンシを合計した合計リードレイテンシが前記所定値を超えると、前記ライト要求の転送を中断する。
【０１４８】
したがって、ダミーリードレイテンシに基づいて補正した合計リードレイテンシを用いてライト要求の転送の中断を判定することができ、リードとライトのバランスをより一層適切に調整して、データ転送効率をより一層向上させることができる。
【０１４９】
以上、本発明者によってなされた発明を好適な実施例に基づき具体的に説明したが、本発明は上記実施例で説明したものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【符号の説明】
【０１５０】
１  データ処理装置
２  ＣＰＵ
３  ＲＯＭ
４、５  デバイス
６  共有メモリ
７  高速バス
８  データ通信部
１１〜１３ データ処理部
１４ アービタ
１５ ライト要求転送中断部
１６ Ｉ／Ｆ制御部
１７ バッファ
２１、２２ データ処理部
２３ アービタ
２４ メモリコントローラ
２５ Ｉ／Ｆ制御部
２６ バッファ
３１ ライト要求転送部
３２ ライトデータ転送部
３３ ライト要求中断指示部
３４ リードレイテンシ計測部
３５ リード要求転送部
３６ リードデータ転送部
４０ データ転送部
４１ データ処理部
４２ 記憶部
４３ データ通信部
４４ 緩衝部
４５ リードレイテンシ計測部
４６ ライト要求転送中断部
４７ 中断制御部
ＤＰ  データ転送経路
６０  データ処理装置
６１  ダミーライト処理部
６２  ライトデータ転送性能計測部
６ａ  ダミーライト領域
７０  データ転送部
７１  ダミーライト処理部
７２  ライトデータ転送性能計測部
７３  中断時間算出部
７４  中断時間設定部
８０  データ処理装置
８１  ダミーリード処理部
９０  データ転送部
９１  ダミーリード処理部
【先行技術文献】
【特許文献】
【０１５１】
【特許文献１】特開２０１０−２１８３５１号公報
【図１】
2017058709.tif 000003
【図２】
2017058709.tif 000004
【図３】
2017058709.tif 000005
【図４】
2017058709.tif 000006
【図５】
2017058709.tif 000007
【図６】
2017058709.tif 000008
【図７】
2017058709.tif 000009
【図８】
2017058709.tif 000010
【図９】
2017058709.tif 000011
【図１０】
2017058709.tif 000012
【図１１】
2017058709.tif 000013
【図１２】
2017058709.tif 000014