(57)【要約】【課題】  データ長の大小に拘わらず、効率的な転送が可能なデータ転送方法および装置を提供する。【解決手段】  データ転送要求があると、転送データ長Ｌと基準データ長Ｌtdmaとを比較し、転送データ長Ｌが基準データ長Ｌtdmaよりも小さい場合は、メモリマップ方式で転送し、転送データ長Ｌが基準データ長Ｌtdmaと等しいか、基準データ長Ｌtdmaよりも大きい場合は、転送回数Ｎと基準転送回数Ｎtdmacとを比較し、転送回数Ｎが基準転送回数Ｎtdmacよりも小さい場合は、ＤＭＡ転送方式で転送する。転送回数Ｎが基準転送回数Ｎtdmacと等しいか、基準転送回数Ｎtdmacよりも大きい場合は、連続ＤＭＡ転送方式で転送する。【選択図】    図７
2007079715.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも２つの第１および第２の転送方式から１つの転送方式を選択してデータを転送するデータ転送方法であって、
前記第１の転送方式は、転送データ長が短いときは、前記第２の転送方式よりも転送時間が短くなるものであり、前記第２の転送方式は、転送データ長が長いときは、前記第１の転送方式よりも転送時間が短くなるものであり、
前記転送データ長に基づいて転送時間が短くなる方の前記第１又は第２の転送方式を選択する選択ステップを含むことを特徴とするデータ転送方法。
【請求項２】
前記選択ステップは、前記転送データ長と所定の基準データ長とを比較し、この比較結果に基づいて転送方式を選択することを特徴とする請求項１に記載のデータ転送方法。
【請求項３】
前記所定の基準データ長は、転送データ量が前記第１の転送方式よりも前記第２の転送方式の方が小さくなる転送データ長の最小の値であることを特徴とする請求項２に記載のデータ転送方法。
【請求項４】
前記選択ステップは、前記転送データ長に基づいて前記第１および第２の転送方式に対応する第１および第２の演算式からそれぞれ求めた転送データ量を比較し、この比較結果に基づいて転送方式を選択することを特徴とする請求項１に記載のデータ転送方法。
【請求項５】
前記第２の転送方式は、１回目の転送のときに設定情報を転送し、２回目以降の転送のときに前記設定情報を参照してデータを転送する第３の転送方式を含み、
前記選択ステップは、前記第２の転送方式を選択するとき、指定された転送回数と所定の基準転送回数と比較し、この比較結果に基づいて前記第２又は第３の転送方式を選択することを特徴とする請求項１に記載のデータ転送方法。
【請求項６】
前記所定の基準転送回数は、転送データ量が前記第２の転送方式よりも前記第３の転送方式の方が小さくなる転送回数の最小の値であることを特徴とする請求項５に記載のデータ転送方法。
【請求項７】
前記選択ステップは、前記転送データ長および前記転送回数に基づいて前記第２および第３の転送方式に対応する第２および第３の演算式からそれぞれ求めた総転送データ量を比較し、この比較結果に基づいて転送方式を選択することを特徴とする請求項５に記載のデータ転送方法。
【請求項８】
前記第１の転送方式は、メモリマップ方式であり、
前記第２の転送方式は、ＤＭＡ転送方式であることを特徴とする請求項１に記載のデータ転送方法。
【請求項９】
前記第２の転送方式は、ＤＭＡ転送方式であり、
前記第３の転送方式は、連続ＤＭＡ転送方式であることを特徴とする請求項５に記載のデータ転送方法。
【請求項１０】
請求項１乃至９のいずれか１項に記載のデータ転送方法をコンピュータに実行させるためのデータ転送プログラム。
【請求項１１】
少なくとも２つの第１および第２の転送方式から１つの転送方式を選択して情報処理装置と周辺装置との間でデータを転送するデータ転送装置であって、
前記第１の転送方式は、転送データ長が短いときは、前記第２の転送方式よりも転送時間が短くなるものであり、前記第２の転送方式は、転送データ長が長いときは、前記第１の転送方式よりも転送時間が短くなるものであり、
前記転送データ長に基づいて転送時間が短くなる方の前記第１又は第２の転送方式を選択する選択手段を備えたことを特徴とするデータ転送装置。
【請求項１２】
前記周辺装置は、外部補助記憶装置であることを特徴とする請求項１１に記載のデータ転送装置。
【請求項１３】
前記外部補助記憶装置は、半導体ディスク装置であることを特徴とする請求項１２に記載のデータ転送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置と周辺装置との間でデータを転送するのに好適なデータ転送方法、プログラムおよび装置に関する。
【背景技術】
【０００２】
ホストコンピュータなどの情報処理装置とハードディスクストレージなどの外部補助記憶装置との間のデータ転送には、従来よりメモリマップ方式（例えば、特許文献１参照。）や、ＤＭＡ(Direct Memory Access)転送方式（例えば、特許文献２参照。）が用いられてきた。
【０００３】
ＤＭＡ転送方式は、ＣＰＵのロードストア命令によるメモリマップ方式（ソフトウェア方式）と比較して、ＣＰＵ時間を消費しない、ＣＰＵ負荷状態やＣＰＵの処理能力によらず、一定の速度でデータ転送が可能、などの多くのメリットがあることが知られている。
【特許文献１】特開平１１−６６０２２号公報
【特許文献２】特開２００３−３３７７６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、従来のデータ転送方法によると、一つのデータ転送方式によりデータを転送していたため、ＤＭＡ転送方式によりデータを転送する場合、データ転送前にＤＭＡコントローラに対して少なくとも転送方向、転送元アドレス、転送先アドレス、データ長を設定する必要があり、この設定時間が、ＤＭＡ転送開始後の目的のデータ転送に要する時間に比較して十分小さくなければ、ＤＭＡ転送の効率が悪化する。
【０００５】
従って、本発明の目的は、データ長の大小に拘わらず、効率的な転送が可能なデータ転送方法、プログラムおよび装置を提供することにある。
【課題を解決するための手段】
【０００６】
本発明の一態様は、上記目的を達成するため、少なくとも２つの第１および第２の転送方式から１つの転送方式を選択してデータを転送するデータ転送方法であって、前記第１の転送方式は、転送データ長が短いときは、前記第２の転送方式よりも転送時間が短くなるものであり、前記第２の転送方式は、転送データ長が長いときは、前記第１の転送方式よりも転送時間が短くなるものであり、前記転送データ長に基づいて転送時間が短くなる方の前記第１又は第２の転送方式を選択する選択ステップを含むことを特徴とするデータ転送方法を提供する。
【０００７】
従来のＤＭＡ転送方式のみを用いる方法では、データ長が長い場合のみ転送効率が良くなり、短い場合は転送効率が悪化していたが、上記データ転送方法によれば、データ長の長短に拘わらず、効率の良い転送が可能となる。「転送データ量」は、パケットサイズに対応する概念であり、パケットヘッダ等のオーバヘッドや、転送データ長（ペイロード）が含まれ、また、レジスタ等を経由して転送する場合や複数回に分けて転送する場合は、各転送データ量の総和の総転送データ量（総パケットサイズ）を意味する。従って、転送データ量は転送時間に比例するため、転送データ量を比較すれば、転送時間の短い方の転送方式を選択することができる。
【０００８】
前記選択ステップは、前記転送データ長と所定の基準データ長とを比較し、この比較結果に基づいて転送方式を選択する構成とすることができる。前記所定の基準データ長は、転送データ量が前記第１の転送方式よりも前記第２の転送方式の方が小さくなる転送データ長の最小の値とすることができる。
【０００９】
前記選択ステップは、前記転送データ長に基づいて前記第１および第２の転送方式に対応する第１および第２の演算式からそれぞれ求めた転送データ量を比較し、この比較結果に基づいて転送方式を選択する構成とすることができる。
【００１０】
前記第２の転送方式は、１回目の転送のときに設定情報を転送し、２回目以降の転送のときに前記設定情報を参照してデータを転送する第３の転送方式を含み、前記選択ステップは、前記第２の転送方式を選択するとき、指定された転送回数と所定の基準転送回数と比較し、この比較結果に基づいて前記第２または第３の転送方式を選択する構成とすることができる。前記所定の基準転送回数は、転送データ量が前記第２の転送方式よりも前記第３の転送方式の方が小さくなる転送回数の最小の値とすることができる。
【００１１】
前記選択ステップは、前記転送データ長および前記転送回数に基づいて前記第２および第３の転送方式に対応する第２および第３の演算式からそれぞれ求めた総転送データ量を比較し、この比較結果に基づいて転送方式を選択する構成とすることができる。
【００１２】
前記第１の転送方式は、例えば、メモリマップ方式であり、前記第２の転送方式は、例えば、ＤＭＡ転送方式である。
【００１３】
前記第２の転送方式は、例えば、ＤＭＡ転送方式であり、前記第３の転送方式は、例えば、連続ＤＭＡ転送方式である。
【００１４】
本発明の一態様は、上記目的を達成するため、上記データ転送方法をコンピュータに実行させるためのデータ転送プログラムを提供する。
【００１５】
上記データ転送プログラムによれば、ユーザの希望に応じてステップの変更、追加、削除等を容易に行うことができる。
【００１６】
本発明の一態様は、上記目的を達成するため、少なくとも２つの第１および第２の転送方式から１つの転送方式を選択して情報処理装置と周辺装置との間でデータを転送するデータ転送装置であって、前記第１の転送方式は、転送データ長が短いときは、前記第２の転送方式よりも転送時間が短くなるものであり、前記第２の転送方式は、転送データ長が長いときは、前記第１の転送方式よりも転送時間が短くなるものであり、前記転送データ長に基づいて転送時間が短くなる方の前記第１又は第２の転送方式を選択する選択手段を備えたことを特徴とするデータ転送装置を提供する。
【００１７】
上記データ転送装置によれば、情報処理装置と周辺装置との間で、データ長の大小に拘わらず、効率の良い転送が可能となる。情報処理装置は、ホストコンピュータによって構成することができる。
【００１８】
上記周辺装置として、外部補助記憶装置やスキャナ、プリンタ等を用いることができ、さらに外部補助記憶装置として、半導体ディスク装置を用いることができる。ハードディスクのランダムアクセスは、ヘッドのシークタイム（ｍｓｅｃオーダー）を伴うため、非常に低速であり、１回のアクセスをできるだけ大きなデータでシーケンシャル的に行うのが一般的である。一方、半導体ディスク装置は、半導体メモリを利用するため、アクセス時間がμｓｅｃオーダーと非常に短く、１回のアクセスが小さいデータでも効率よくランダムアクセスが可能である。
【発明の効果】
【００１９】
本発明によれば、データ長の大小に拘わらず、効率的な転送が可能となる。
【発明を実施するための最良の形態】
【００２０】
[第１の実施の形態]
図１は、本発明の実施の形態に係るデータ転送システムを適用した情報処理システムをを示す。この情報処理システム１は、データの転送指示等を行う情報処理装置２と、データを記憶する半導体ディスク装置３と、装置２，３間を接続するインターフェース（Ｉ／Ｆ）４とを有する。
【００２１】
情報処理装置２は、例えば、ホストコンピュータによって実現可能であり、この装置２全体を制御するＣＰＵ２０を有し、このＣＰＵ２０に、バス２１を介してハードディスク（ＨＤＤ：Hard Disk Drive）２２およびメインメモリ２３を接続して概略構成されている。
【００２２】
Ｉ／Ｆ４は、ＤＭＡＣ(Direct Memory Access Controller)４０と、レジスタ４１と、ＤＭＡＣ４０およびレジスタ４１を制御するコントローラ４２とを備え、例えば、シリアル転送インターフェースのＰＣＩ  Ｅｘｐｒｅｓｓで構成されている。
【００２３】
ＨＤＤ２２には、基本ソフトウェアのオペレーションシステム（ＯＳ）２２０や転送ソフトウェア２２１等の各種のソフトウェアやデータが格納されている。
【００２４】
転送ソフトウェア２２１は、転送オーバヘッドの違う３種類（メモリマップ方式、ＤＭＡ転送方式、連続ＤＭＡ転送方式）のデータ転送方式の中から、要求のあったデータ転送のデータ長、データ転送回数の条件、および予め設定した基準値（基準データ量Ｌtdma基準転送回数Ｎtdmac）を基に、転送時間の最も短い１つの転送方式を選択するものである。ここで、「連続ＤＭＡ転送方式」とは、スキャタギャザとも称せられ、転送方向、転送元アドレス、転送先アドレス等の設定情報を１回目のＤＭＡ転送のときにＩ／Ｆ４側に送っておき、２回目以降のＤＭＡ転送の際は、その設定情報を参照してＤＭＡ転送を行う方式をいう。
【００２５】
選択処理は、専用ハードウェアで行うことも考えられるが、現状では外部記憶装置や入出力Ｉ／Ｆの処理能力に比べて、ホストコンピュータのＣＰＵ処理能力が格段に高いため、ホストコンピュータ上でソフトウェアで十分行うことができる。
【００２６】
ＣＰＵ２０は、転送ソフトウェア２２１に基づいてＨＤＤ２２、メインメモリ２３および半導体ディスク装置３間でデータの転送制御を行うものである。
【００２７】
図２（ａ）は、レジスタ４１の構成を示し、図２（ｂ）は、連続ＤＭＡ転送方式におけるアクセスリストの内容を示す。アクセスリスト４２０は、ＣＰＵ２０によって作成され、メインメモリ２３に格納されている。レジスタ４１は、ＳＡＤＤＲレジスタ（６４ビット）４１１、ＨＡＤＤＲレジスタ（６４ビット）４１２、ＤＩＲ／ＬＥＮレジスタ（６４ビット）４１３、ＣＭＤレジスタ（３２ビット）４１４およびＳＴＡＴＵＳレジスタ（３２ビット）４１５からなるＤＭＡＣ制御レジスタ等を備え、その他にメモリマップ方式のデータ転送方式のための直接マップ領域が確保されている。
【００２８】
ＳＡＤＤＲレジスタ４１１は、半導体ディスク装置３を構成するストレージデバイス（ＳＳＤ）のアドレスが保持されるストレージアドレスレジスタであり、ＤＩＲが１のとき転送先アドレスを示し、ＤＩＲが０のとき転送元アドレスを示す。
【００２９】
ＨＡＤＤＲレジスタ４１２は、情報処理装置２を構成するホストコンピュータのメモリアドレスが保持されるホストアドレスレジスタであり、ＤＩＲが１のとき転送元アドレスを示し、ＤＩＲが０のとき転送先アドレスを示す。
【００３０】
ＤＩＲ／ＬＥＮレジスタ４１３は、ＭＳＢは転送方向を示し、ＤＩＲが１のときライト（ホスト→ＳＳＤ）を示し、ＤＩＲが０のときリード（ＳＳＤ→ホスト）を示す。但し、ＣＭＤレジスタのＤ／Ｉ、Ｌが共に０のときのみ有効となる。その他のビットは転送データのデータ長を示す。
【００３１】
ＣＭＤレジスタ４１４は、ＤＭＡ転送の開始を示し、Ｄ／Ｉが０のとき、ＨＡＤＤＲを転送元アドレス、ＳＡＤＤＲを転送先アドレスとして、ＬＥＮバイト転送し、Ｄ／Ｉが１のとき、メインメモリ２３に格納しているアクセスリスト４２０を参照しながら転送する。また、Ｌが１のとき、ＨＡＤＤＲレジスタ４１２で指定された領域のデータをアクセスリスト４２０とみなして、メインメモリ２３に転送し、Ｌが０のとき、通常のデータ転送を行う。
【００３２】
ＳＴＡＴＵＳレジスタ４１５は、Ｂが１のとき処理中を示し、Ｂが０のとき転送可能であることを示す。
【００３３】
図３は、３つのデータ転送方式を実現するアドレス空間の割り当てを示す。情報処理装置２と半導体ディスク装置（ＳＳＤ）３の間でデータ転送を行い、Ｉ／Ｆ４はシリアル転送インターフェースのＰＣＩ  Ｅｘｐｒｅｓｓで構成され、アドレスは６４ビットで指定可能の場合を想定している。メモリマップ方式は、直接マップ領域をアクセスすることで利用可能である。ＤＭＡ転送方式および連続ＤＭＡ転送方式は、レジスタ４１をアクセスすることで利用可能である。
【００３４】
図４は、パケットを構成するヘッドとペイロードデータとの割合の一例を示す。ＰＣＩ  Ｅｘｐｒｅｓｓによるデータ転送の転送データ量は、ＴＬＰ(Transaction Layer Packet)のみを考慮した場合、図４に示すようになる。但し、ＥＣＲＣ(End-to-End Cyclic Redundancy Check）なしの場合を示す。実際には、データリンク層、物理層のデータが前後に付加されるが、説明を簡単にするため、省略する。このことにより、本実施の形態の効果が小さくなることはなく、むしろ１パケットのオーバヘッド割合が増えるため、本実施の形態の効果がより顕著になる。
【００３５】
リード時は、情報処理装置２のリクエスタ側トランザクションから読出しアドレスを含む１６バイトのヘッダからなるパケットをコントローラ４２に出力する。それに対し、コントローラ４２のコンプリータ側トランザクションは、１２バイトのヘッダと読出しアドレスに対応するペイロードデータ（同図では１２バイト）からなるパケットを情報処理装置２に出力する。従って、リード時は合計（２８バイト＋データ長（同図では１２バイト））のデータ量となる。
【００３６】
ライト時は、情報処理装置２のリクエスタ側トランザクションから１６バイトのヘッダとペイロードデータ（同図では１２バイト）からなるパケットをコントローラ４２に出力する。書込みが終了すると、コントローラ４２のコンプリータ側トランザクションは、１２バイトのヘッダからなるパケットを情報処理装置２に出力する。従って、ライト時は合計（２８バイト＋データ長（同図では１２バイト））のデータ量となる。
【００３７】
次に、メモリマップ方式、ＤＭＡ転送方式、連続ＤＭＡ転送方式の各データ転送方式の選択の基準値を算出する。
【００３８】
（１）メモリマップ方式
メモリマップ方式では、リード時は、プリフェッチ不可領域とした場合、１ＤＷｏｒｄ（ダブルワード）のアクセス毎にトランザクションが直ちに発生すると仮定する。また、ライト時は、Ｒｏｏｔ  Ｃｏｍｐｌｅｘ  などのライトバッファの状況により、連続転送が可能な場合もある。
（ａ）リードサイクル
転送データ量＝（オーバヘッド＋４バイト）×（連続転送データ長／４バイト）
＝３２×Ｌ／４（∝転送時間）      ・・・式（１）
（ｂ）ライトリクエスト
転送データ量＝（オーバヘッド＋４バイト）×（連続転送データ長／４バイト）
＝３２×Ｌ／４（∝転送時間）      ・・・式（２）
【００３９】
（２）ＤＭＡ転送方式
（ａ）リードサイクル
ｉ）ＤＭＡＣレジスタセットに対するライトリクエスト
転送データ量＝（オーバヘッド＋４バイト）×（連続転送データ長／４バイト）
＝３２×２８／４＝２２４
ii）ＤＭＡ転送におけるライトリクエスト
転送データ量＝（オーバヘッド＋４バイト）×（連続転送データ長／４バイト）
＝２８＋Ｌ
iii）総転送データ量は、ｉ）＋ii）＝２５２＋Ｌ（∝転送時間）・・・式（３）
（ｂ）ライトサイクル
ｉ）ＤＭＡＣレジスタセットに対するライトリクエスト
転送データ量＝（オーバヘッド＋４バイト）×（連続転送データ長／４バイト）
＝３２×２８／４＝２２４
ii）ＤＭＡ転送におけるライトリクエスト
転送データ量＝（オーバヘッド＋４バイト）×（連続転送データ長／４バイト）
＝２８＋Ｌ
iii）総転送データ量は、ｉ）＋ii）＝２５２＋Ｌ（∝転送時間）・・・式（４）
【００４０】
メモリマップ方式とＤＭＡ転送方式の選択の基準データ長Ｌtdmaは、上記式（１）と上記式（３）、上記式（２）と上記式（４）より、３６バイトとなる。１回のデータ転送に必要なデータ転送時間は、総転送データ量＝パケットサイズ（オーバヘッド＋ペイロード）に比例する。従って、転送データ長が基準データ長Ｌtdmaよりも小さいときは、メモリマップ方式を選択し、大きいときはＤＭＡ転送方式を選択すればよい。なお、式（１）〜（４）に転送データ量Ｌを代入し、メモリマップ方式とＤＭＡ転送方式のうち総転送データ量が小さくなる方を選択してもよい。
【００４１】
（３）連続ＤＭＡ転送方式
（ａ）リードサイクル
ｉ）ＤＭＡＣレジスタセットに対するライトリクエスト
転送データ量＝２５２＋Ｌ（上記（２）（ａ）iii）と同じ）
ii）ＤＭＡリスト転送
転送データ量＝２８＋Ｎ×２４（上記（２）（ｂ）ii）と同じ）
iii）ＤＭＡ連続転送
上記（２）（ａ）ii）を複数回繰り返す。
転送データ量＝Σ（２８＋Ｌｉ）
Ｌｉ：ｉ番目のエントリの転送データ長（バイト）（ｉ＝１〜Ｎ）
iv）総転送データ量は、
上記ｉ）＋ii）＋iii）＝２５２＋Ｎ×２４＋（２８＋Ｌ）×Ｎ(Li=Lのとき)
＝２５２＋（５２＋Ｌ）×Ｎ  ∝  転送時間・・・式（５）
（ｂ）ライトサイクル
ｉ）ＤＭＡＣレジスタセットに対するライトリクエスト
転送データ量＝２５２＋Ｌ（上記（３）（ａ）ｉ）と同じ）
ii）ＤＭＡリスト転送
転送データ量＝２８＋Ｎ×２４（上記（３）（ａ）ii）と同じ）
iii）ＤＭＡ連続転送
上記（２）（ｂ）ii）を複数回繰り返す。
転送データ量＝Σ（２８＋Ｌｉ）
Ｌｉ：ｉ番目のエントリの転送データ長（バイト）（ｉ＝１〜Ｎ）
iv）総転送データ量は、
上記ｉ）＋ii）＋iii）＝２５２＋Ｎ×２４＋（２８＋Ｌ）×Ｎ(Li=Lのとき)
＝２５２＋（５２＋Ｌ）×Ｎ  ∝  転送時間・・・式（６）
【００４２】
上記式（３）と上記式（５）、上記式（４）と上記式（６）より、Ｎ＝１のとき、総転送データ量が連続ＤＭＡ転送方式の方が大きくなり、Ｎが２以上のとき、総転送データ量がＤＭＡ転送方式の方が大きくなるので、ＤＭＡ転送方式と連続ＤＭＡ転送方式の選択の基準転送回数Ｎtdmacは、２回となる。複数の転送要求があった場合に、総データ転送時間は、総データ転送量に比例する。従って、転送回数がＮtdmac（＝２回）より小さいときは、ＤＭＡ転送方式を選択し、２回以上のときは、連続ＤＭＡ転送方式を選択すればよい。なお、上記式（３）〜（６）に転送データ長Ｌと転送回数Ｎを代入してＤＭＡ転送方式と連続ＤＭＡ転送方式のうち、総転送データ量の小さくなる方を選択してもよい。
【００４３】
（情報処理システムの動作）
次に、情報処理システム１の動作を図１〜図７を参照して説明する。
【００４４】
図５は、メモリマップ方式とＤＭＡ転送方式の比較を示し、図６は、ＤＭＡ転送方式と連続ＤＭＡ転送方式の比較を示すし、図７は、データ転送のフローを示す。
【００４５】
データ転送要求があると（Ｓ１）、ＣＰＵ２０は、転送データ長Ｌと基準データ長Ｌtdma（３６バイト）とを比較し（Ｓ２）、転送データ長Ｌが基準データ長Ｌtdmaよりも小さい場合は（Ｓ２：Ｎｏ）、メモリマップ方式でデータを転送する（Ｓ３）。すなわち、図５に示すように、ペイロードサイズが４０バイト（４バイト単位）以上のとき、ＤＭＡ転送方式よりメモリマップ方式の方がパケットサイズが大きくなるので、３２バイトまではメモリマップ方式で転送し、３６バイト以上はＤＭＡ転送方式で転送する。なお、転送データ量が３６バイトの場合は、メモリマップ方式とＤＭＡ転送方式とでパケットサイズは同じであるので、どちらの転送方式で転送してもよい。
【００４６】
上記ステップＳ２において、転送データ長Ｌが基準データ長Ｌtdmaと等しいか、基準データ長Ｌtdmaよりも大きい場合は（Ｓ２：Ｙｅｓ）、ＣＰＵ２０は、転送回数Ｎと基準転送回数Ｎtdmac（２回）とを比較し（Ｓ４）、転送回数Ｎが基準転送回数Ｎtdmac（２回）よりも小さい場合は（Ｓ４：Ｎｏ）、図６に示すように、総パケットサイズが連続ＤＭＡ転送方式よりもＤＭＡ転送方式の方が小さいので、ＤＭＡ転送方式で転送する（Ｓ５）。
【００４７】
上記ステップＳ４において、転送回数Ｎが基準転送回数Ｎtdmacと等しいか、基準転送回数Ｎtdmacよりも大きい場合は（Ｓ４：Ｙｅｓ）、図６に示すように、総パケットサイズがＤＭＡ転送方式よりも連続ＤＭＡ転送方式の方が小さいので、連続ＤＭＡ転送方式で転送する（Ｓ６）。
【００４８】
上記実施の形態によれば、以下の効果を奏する。
（イ）基準データ量に基づいてメモリマップ方式とＤＭＡ転送方式のうち総転送データ量の少ない転送方式でデータを転送し、基準転送回数に基づいてＤＭＡ転送方式と連続ＤＭＡ転送方式のうち総転送データ量の少ない転送方式でデータを転送しているので、データ長の大小に拘わらず、効率の良い転送が可能となる。
（ロ）外部補助記憶装置としてアクセス時間の短い半導体ディスク装置３を用いているので、効率的なデータ転送を行うことができる。
【００４９】
[他の実施の形態］
なお、本発明は、上記実施の形態に限定されず、その発明の趣旨を逸脱しない範囲で種々と変形実施が可能である。例えば、上記実施の形態では、情報処理装置と半導体ディスク装置間のデータ転送について説明したが、周辺装置間でもよい。
【図面の簡単な説明】
【００５０】
【図１】本発明の実施の形態に係るデータ転送システムを適用した情報処理システムのブロック図である。
【図２】（ａ）はレジスタの構成を示す図、（ｂ）連続ＤＭＡ転送方式におけるアクセスリストの内容を示す図である。
【図３】３つのデータ転送方式を実現するアドレス空間の割り当てを示す図である。
【図４】パケットを構成するヘッドとペイロードデータとの割合の一例を示す図である。
【図５】メモリマップ方式とＤＭＡ転送方式の比較を示す図である。
【図６】メモリマップ方式と連続ＤＭＡ転送方式の比較を示す図である。
【図７】データ転送方法を選択する動作を示すフローチャートである。
【符号の説明】
【００５１】
１  情報処理システム
２  情報処理装置
３  半導体ディスク装置
４  Ｉ／Ｆ
２０  ＣＰＵ
２１  バス
２２  ＨＤＤ
２３  メインメモリ
４１  レジスタ
４２  コントローラ
２２０  ＯＳ
２２１  転送ソフトウェア
４１１  ＳＡＤＤＲレジスタ
４１２  ＨＡＤＤＲレジスタ
４１３  ＤＩＲ／ＬＥＮレジスタ
４１４  ＣＭＤレジスタ
４１５  ＳＴＡＴＵＳレジスタ
４２０  アクセスリスト
【図１】
2007079715.tif 000003
【図２】
2007079715.tif 000004
【図３】
2007079715.tif 000005
【図４】
2007079715.tif 000006
【図５】
2007079715.tif 000007
【図６】
2007079715.tif 000008
【図７】
2007079715.tif 000009