JP2007079715A - データ転送方法、プログラムおよび装置 - Google Patents
データ転送方法、プログラムおよび装置 Download PDFInfo
- Publication number
- JP2007079715A JP2007079715A JP2005264083A JP2005264083A JP2007079715A JP 2007079715 A JP2007079715 A JP 2007079715A JP 2005264083 A JP2005264083 A JP 2005264083A JP 2005264083 A JP2005264083 A JP 2005264083A JP 2007079715 A JP2007079715 A JP 2007079715A
- Authority
- JP
- Japan
- Prior art keywords
- transfer
- data
- transfer method
- data length
- dma
- 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.)
- Pending
Links
Abstract
【課題】 データ長の大小に拘わらず、効率的な転送が可能なデータ転送方法および装置を提供する。
【解決手段】 データ転送要求があると、転送データ長Lと基準データ長Ltdmaとを比較し、転送データ長Lが基準データ長Ltdmaよりも小さい場合は、メモリマップ方式で転送し、転送データ長Lが基準データ長Ltdmaと等しいか、基準データ長Ltdmaよりも大きい場合は、転送回数Nと基準転送回数Ntdmacとを比較し、転送回数Nが基準転送回数Ntdmacよりも小さい場合は、DMA転送方式で転送する。転送回数Nが基準転送回数Ntdmacと等しいか、基準転送回数Ntdmacよりも大きい場合は、連続DMA転送方式で転送する。
【選択図】 図7
【解決手段】 データ転送要求があると、転送データ長Lと基準データ長Ltdmaとを比較し、転送データ長Lが基準データ長Ltdmaよりも小さい場合は、メモリマップ方式で転送し、転送データ長Lが基準データ長Ltdmaと等しいか、基準データ長Ltdmaよりも大きい場合は、転送回数Nと基準転送回数Ntdmacとを比較し、転送回数Nが基準転送回数Ntdmacよりも小さい場合は、DMA転送方式で転送する。転送回数Nが基準転送回数Ntdmacと等しいか、基準転送回数Ntdmacよりも大きい場合は、連続DMA転送方式で転送する。
【選択図】 図7
Description
本発明は、情報処理装置と周辺装置との間でデータを転送するのに好適なデータ転送方法、プログラムおよび装置に関する。
ホストコンピュータなどの情報処理装置とハードディスクストレージなどの外部補助記憶装置との間のデータ転送には、従来よりメモリマップ方式(例えば、特許文献1参照。)や、DMA(Direct Memory Access)転送方式(例えば、特許文献2参照。)が用いられてきた。
DMA転送方式は、CPUのロードストア命令によるメモリマップ方式(ソフトウェア方式)と比較して、CPU時間を消費しない、CPU負荷状態やCPUの処理能力によらず、一定の速度でデータ転送が可能、などの多くのメリットがあることが知られている。
特開平11−66022号公報
特開2003−337764号公報
しかし、従来のデータ転送方法によると、一つのデータ転送方式によりデータを転送していたため、DMA転送方式によりデータを転送する場合、データ転送前にDMAコントローラに対して少なくとも転送方向、転送元アドレス、転送先アドレス、データ長を設定する必要があり、この設定時間が、DMA転送開始後の目的のデータ転送に要する時間に比較して十分小さくなければ、DMA転送の効率が悪化する。
従って、本発明の目的は、データ長の大小に拘わらず、効率的な転送が可能なデータ転送方法、プログラムおよび装置を提供することにある。
本発明の一態様は、上記目的を達成するため、少なくとも2つの第1および第2の転送方式から1つの転送方式を選択してデータを転送するデータ転送方法であって、前記第1の転送方式は、転送データ長が短いときは、前記第2の転送方式よりも転送時間が短くなるものであり、前記第2の転送方式は、転送データ長が長いときは、前記第1の転送方式よりも転送時間が短くなるものであり、前記転送データ長に基づいて転送時間が短くなる方の前記第1又は第2の転送方式を選択する選択ステップを含むことを特徴とするデータ転送方法を提供する。
従来のDMA転送方式のみを用いる方法では、データ長が長い場合のみ転送効率が良くなり、短い場合は転送効率が悪化していたが、上記データ転送方法によれば、データ長の長短に拘わらず、効率の良い転送が可能となる。「転送データ量」は、パケットサイズに対応する概念であり、パケットヘッダ等のオーバヘッドや、転送データ長(ペイロード)が含まれ、また、レジスタ等を経由して転送する場合や複数回に分けて転送する場合は、各転送データ量の総和の総転送データ量(総パケットサイズ)を意味する。従って、転送データ量は転送時間に比例するため、転送データ量を比較すれば、転送時間の短い方の転送方式を選択することができる。
前記選択ステップは、前記転送データ長と所定の基準データ長とを比較し、この比較結果に基づいて転送方式を選択する構成とすることができる。前記所定の基準データ長は、転送データ量が前記第1の転送方式よりも前記第2の転送方式の方が小さくなる転送データ長の最小の値とすることができる。
前記選択ステップは、前記転送データ長に基づいて前記第1および第2の転送方式に対応する第1および第2の演算式からそれぞれ求めた転送データ量を比較し、この比較結果に基づいて転送方式を選択する構成とすることができる。
前記第2の転送方式は、1回目の転送のときに設定情報を転送し、2回目以降の転送のときに前記設定情報を参照してデータを転送する第3の転送方式を含み、前記選択ステップは、前記第2の転送方式を選択するとき、指定された転送回数と所定の基準転送回数と比較し、この比較結果に基づいて前記第2または第3の転送方式を選択する構成とすることができる。前記所定の基準転送回数は、転送データ量が前記第2の転送方式よりも前記第3の転送方式の方が小さくなる転送回数の最小の値とすることができる。
前記選択ステップは、前記転送データ長および前記転送回数に基づいて前記第2および第3の転送方式に対応する第2および第3の演算式からそれぞれ求めた総転送データ量を比較し、この比較結果に基づいて転送方式を選択する構成とすることができる。
前記第1の転送方式は、例えば、メモリマップ方式であり、前記第2の転送方式は、例えば、DMA転送方式である。
前記第2の転送方式は、例えば、DMA転送方式であり、前記第3の転送方式は、例えば、連続DMA転送方式である。
本発明の一態様は、上記目的を達成するため、上記データ転送方法をコンピュータに実行させるためのデータ転送プログラムを提供する。
上記データ転送プログラムによれば、ユーザの希望に応じてステップの変更、追加、削除等を容易に行うことができる。
本発明の一態様は、上記目的を達成するため、少なくとも2つの第1および第2の転送方式から1つの転送方式を選択して情報処理装置と周辺装置との間でデータを転送するデータ転送装置であって、前記第1の転送方式は、転送データ長が短いときは、前記第2の転送方式よりも転送時間が短くなるものであり、前記第2の転送方式は、転送データ長が長いときは、前記第1の転送方式よりも転送時間が短くなるものであり、前記転送データ長に基づいて転送時間が短くなる方の前記第1又は第2の転送方式を選択する選択手段を備えたことを特徴とするデータ転送装置を提供する。
上記データ転送装置によれば、情報処理装置と周辺装置との間で、データ長の大小に拘わらず、効率の良い転送が可能となる。情報処理装置は、ホストコンピュータによって構成することができる。
上記周辺装置として、外部補助記憶装置やスキャナ、プリンタ等を用いることができ、さらに外部補助記憶装置として、半導体ディスク装置を用いることができる。ハードディスクのランダムアクセスは、ヘッドのシークタイム(msecオーダー)を伴うため、非常に低速であり、1回のアクセスをできるだけ大きなデータでシーケンシャル的に行うのが一般的である。一方、半導体ディスク装置は、半導体メモリを利用するため、アクセス時間がμsecオーダーと非常に短く、1回のアクセスが小さいデータでも効率よくランダムアクセスが可能である。
本発明によれば、データ長の大小に拘わらず、効率的な転送が可能となる。
[第1の実施の形態]
図1は、本発明の実施の形態に係るデータ転送システムを適用した情報処理システムをを示す。この情報処理システム1は、データの転送指示等を行う情報処理装置2と、データを記憶する半導体ディスク装置3と、装置2,3間を接続するインターフェース(I/F)4とを有する。
図1は、本発明の実施の形態に係るデータ転送システムを適用した情報処理システムをを示す。この情報処理システム1は、データの転送指示等を行う情報処理装置2と、データを記憶する半導体ディスク装置3と、装置2,3間を接続するインターフェース(I/F)4とを有する。
情報処理装置2は、例えば、ホストコンピュータによって実現可能であり、この装置2全体を制御するCPU20を有し、このCPU20に、バス21を介してハードディスク(HDD:Hard Disk Drive)22およびメインメモリ23を接続して概略構成されている。
I/F4は、DMAC(Direct Memory Access Controller)40と、レジスタ41と、DMAC40およびレジスタ41を制御するコントローラ42とを備え、例えば、シリアル転送インターフェースのPCI Expressで構成されている。
HDD22には、基本ソフトウェアのオペレーションシステム(OS)220や転送ソフトウェア221等の各種のソフトウェアやデータが格納されている。
転送ソフトウェア221は、転送オーバヘッドの違う3種類(メモリマップ方式、DMA転送方式、連続DMA転送方式)のデータ転送方式の中から、要求のあったデータ転送のデータ長、データ転送回数の条件、および予め設定した基準値(基準データ量Ltdma基準転送回数Ntdmac)を基に、転送時間の最も短い1つの転送方式を選択するものである。ここで、「連続DMA転送方式」とは、スキャタギャザとも称せられ、転送方向、転送元アドレス、転送先アドレス等の設定情報を1回目のDMA転送のときにI/F4側に送っておき、2回目以降のDMA転送の際は、その設定情報を参照してDMA転送を行う方式をいう。
選択処理は、専用ハードウェアで行うことも考えられるが、現状では外部記憶装置や入出力I/Fの処理能力に比べて、ホストコンピュータのCPU処理能力が格段に高いため、ホストコンピュータ上でソフトウェアで十分行うことができる。
CPU20は、転送ソフトウェア221に基づいてHDD22、メインメモリ23および半導体ディスク装置3間でデータの転送制御を行うものである。
図2(a)は、レジスタ41の構成を示し、図2(b)は、連続DMA転送方式におけるアクセスリストの内容を示す。アクセスリスト420は、CPU20によって作成され、メインメモリ23に格納されている。レジスタ41は、SADDRレジスタ(64ビット)411、HADDRレジスタ(64ビット)412、DIR/LENレジスタ(64ビット)413、CMDレジスタ(32ビット)414およびSTATUSレジスタ(32ビット)415からなるDMAC制御レジスタ等を備え、その他にメモリマップ方式のデータ転送方式のための直接マップ領域が確保されている。
SADDRレジスタ411は、半導体ディスク装置3を構成するストレージデバイス(SSD)のアドレスが保持されるストレージアドレスレジスタであり、DIRが1のとき転送先アドレスを示し、DIRが0のとき転送元アドレスを示す。
HADDRレジスタ412は、情報処理装置2を構成するホストコンピュータのメモリアドレスが保持されるホストアドレスレジスタであり、DIRが1のとき転送元アドレスを示し、DIRが0のとき転送先アドレスを示す。
DIR/LENレジスタ413は、MSBは転送方向を示し、DIRが1のときライト(ホスト→SSD)を示し、DIRが0のときリード(SSD→ホスト)を示す。但し、CMDレジスタのD/I、Lが共に0のときのみ有効となる。その他のビットは転送データのデータ長を示す。
CMDレジスタ414は、DMA転送の開始を示し、D/Iが0のとき、HADDRを転送元アドレス、SADDRを転送先アドレスとして、LENバイト転送し、D/Iが1のとき、メインメモリ23に格納しているアクセスリスト420を参照しながら転送する。また、Lが1のとき、HADDRレジスタ412で指定された領域のデータをアクセスリスト420とみなして、メインメモリ23に転送し、Lが0のとき、通常のデータ転送を行う。
STATUSレジスタ415は、Bが1のとき処理中を示し、Bが0のとき転送可能であることを示す。
図3は、3つのデータ転送方式を実現するアドレス空間の割り当てを示す。情報処理装置2と半導体ディスク装置(SSD)3の間でデータ転送を行い、I/F4はシリアル転送インターフェースのPCI Expressで構成され、アドレスは64ビットで指定可能の場合を想定している。メモリマップ方式は、直接マップ領域をアクセスすることで利用可能である。DMA転送方式および連続DMA転送方式は、レジスタ41をアクセスすることで利用可能である。
図4は、パケットを構成するヘッドとペイロードデータとの割合の一例を示す。PCI Expressによるデータ転送の転送データ量は、TLP(Transaction Layer Packet)のみを考慮した場合、図4に示すようになる。但し、ECRC(End-to-End Cyclic Redundancy Check)なしの場合を示す。実際には、データリンク層、物理層のデータが前後に付加されるが、説明を簡単にするため、省略する。このことにより、本実施の形態の効果が小さくなることはなく、むしろ1パケットのオーバヘッド割合が増えるため、本実施の形態の効果がより顕著になる。
リード時は、情報処理装置2のリクエスタ側トランザクションから読出しアドレスを含む16バイトのヘッダからなるパケットをコントローラ42に出力する。それに対し、コントローラ42のコンプリータ側トランザクションは、12バイトのヘッダと読出しアドレスに対応するペイロードデータ(同図では12バイト)からなるパケットを情報処理装置2に出力する。従って、リード時は合計(28バイト+データ長(同図では12バイト))のデータ量となる。
ライト時は、情報処理装置2のリクエスタ側トランザクションから16バイトのヘッダとペイロードデータ(同図では12バイト)からなるパケットをコントローラ42に出力する。書込みが終了すると、コントローラ42のコンプリータ側トランザクションは、12バイトのヘッダからなるパケットを情報処理装置2に出力する。従って、ライト時は合計(28バイト+データ長(同図では12バイト))のデータ量となる。
次に、メモリマップ方式、DMA転送方式、連続DMA転送方式の各データ転送方式の選択の基準値を算出する。
(1)メモリマップ方式
メモリマップ方式では、リード時は、プリフェッチ不可領域とした場合、1DWord(ダブルワード)のアクセス毎にトランザクションが直ちに発生すると仮定する。また、ライト時は、Root Complex などのライトバッファの状況により、連続転送が可能な場合もある。
(a)リードサイクル
転送データ量=(オーバヘッド+4バイト)×(連続転送データ長/4バイト)
=32×L/4(∝転送時間) ・・・式(1)
(b)ライトリクエスト
転送データ量=(オーバヘッド+4バイト)×(連続転送データ長/4バイト)
=32×L/4(∝転送時間) ・・・式(2)
メモリマップ方式では、リード時は、プリフェッチ不可領域とした場合、1DWord(ダブルワード)のアクセス毎にトランザクションが直ちに発生すると仮定する。また、ライト時は、Root Complex などのライトバッファの状況により、連続転送が可能な場合もある。
(a)リードサイクル
転送データ量=(オーバヘッド+4バイト)×(連続転送データ長/4バイト)
=32×L/4(∝転送時間) ・・・式(1)
(b)ライトリクエスト
転送データ量=(オーバヘッド+4バイト)×(連続転送データ長/4バイト)
=32×L/4(∝転送時間) ・・・式(2)
(2)DMA転送方式
(a)リードサイクル
i)DMACレジスタセットに対するライトリクエスト
転送データ量=(オーバヘッド+4バイト)×(連続転送データ長/4バイト)
=32×28/4=224
ii)DMA転送におけるライトリクエスト
転送データ量=(オーバヘッド+4バイト)×(連続転送データ長/4バイト)
=28+L
iii)総転送データ量は、i)+ii)=252+L(∝転送時間)・・・式(3)
(b)ライトサイクル
i)DMACレジスタセットに対するライトリクエスト
転送データ量=(オーバヘッド+4バイト)×(連続転送データ長/4バイト)
=32×28/4=224
ii)DMA転送におけるライトリクエスト
転送データ量=(オーバヘッド+4バイト)×(連続転送データ長/4バイト)
=28+L
iii)総転送データ量は、i)+ii)=252+L(∝転送時間)・・・式(4)
(a)リードサイクル
i)DMACレジスタセットに対するライトリクエスト
転送データ量=(オーバヘッド+4バイト)×(連続転送データ長/4バイト)
=32×28/4=224
ii)DMA転送におけるライトリクエスト
転送データ量=(オーバヘッド+4バイト)×(連続転送データ長/4バイト)
=28+L
iii)総転送データ量は、i)+ii)=252+L(∝転送時間)・・・式(3)
(b)ライトサイクル
i)DMACレジスタセットに対するライトリクエスト
転送データ量=(オーバヘッド+4バイト)×(連続転送データ長/4バイト)
=32×28/4=224
ii)DMA転送におけるライトリクエスト
転送データ量=(オーバヘッド+4バイト)×(連続転送データ長/4バイト)
=28+L
iii)総転送データ量は、i)+ii)=252+L(∝転送時間)・・・式(4)
メモリマップ方式とDMA転送方式の選択の基準データ長Ltdmaは、上記式(1)と上記式(3)、上記式(2)と上記式(4)より、36バイトとなる。1回のデータ転送に必要なデータ転送時間は、総転送データ量=パケットサイズ(オーバヘッド+ペイロード)に比例する。従って、転送データ長が基準データ長Ltdmaよりも小さいときは、メモリマップ方式を選択し、大きいときはDMA転送方式を選択すればよい。なお、式(1)〜(4)に転送データ量Lを代入し、メモリマップ方式とDMA転送方式のうち総転送データ量が小さくなる方を選択してもよい。
(3)連続DMA転送方式
(a)リードサイクル
i)DMACレジスタセットに対するライトリクエスト
転送データ量=252+L(上記(2)(a)iii)と同じ)
ii)DMAリスト転送
転送データ量=28+N×24(上記(2)(b)ii)と同じ)
iii)DMA連続転送
上記(2)(a)ii)を複数回繰り返す。
転送データ量=Σ(28+Li)
Li:i番目のエントリの転送データ長(バイト)(i=1〜N)
iv)総転送データ量は、
上記i)+ii)+iii)=252+N×24+(28+L)×N(Li=Lのとき)
=252+(52+L)×N ∝ 転送時間・・・式(5)
(b)ライトサイクル
i)DMACレジスタセットに対するライトリクエスト
転送データ量=252+L(上記(3)(a)i)と同じ)
ii)DMAリスト転送
転送データ量=28+N×24(上記(3)(a)ii)と同じ)
iii)DMA連続転送
上記(2)(b)ii)を複数回繰り返す。
転送データ量=Σ(28+Li)
Li:i番目のエントリの転送データ長(バイト)(i=1〜N)
iv)総転送データ量は、
上記i)+ii)+iii)=252+N×24+(28+L)×N(Li=Lのとき)
=252+(52+L)×N ∝ 転送時間・・・式(6)
(a)リードサイクル
i)DMACレジスタセットに対するライトリクエスト
転送データ量=252+L(上記(2)(a)iii)と同じ)
ii)DMAリスト転送
転送データ量=28+N×24(上記(2)(b)ii)と同じ)
iii)DMA連続転送
上記(2)(a)ii)を複数回繰り返す。
転送データ量=Σ(28+Li)
Li:i番目のエントリの転送データ長(バイト)(i=1〜N)
iv)総転送データ量は、
上記i)+ii)+iii)=252+N×24+(28+L)×N(Li=Lのとき)
=252+(52+L)×N ∝ 転送時間・・・式(5)
(b)ライトサイクル
i)DMACレジスタセットに対するライトリクエスト
転送データ量=252+L(上記(3)(a)i)と同じ)
ii)DMAリスト転送
転送データ量=28+N×24(上記(3)(a)ii)と同じ)
iii)DMA連続転送
上記(2)(b)ii)を複数回繰り返す。
転送データ量=Σ(28+Li)
Li:i番目のエントリの転送データ長(バイト)(i=1〜N)
iv)総転送データ量は、
上記i)+ii)+iii)=252+N×24+(28+L)×N(Li=Lのとき)
=252+(52+L)×N ∝ 転送時間・・・式(6)
上記式(3)と上記式(5)、上記式(4)と上記式(6)より、N=1のとき、総転送データ量が連続DMA転送方式の方が大きくなり、Nが2以上のとき、総転送データ量がDMA転送方式の方が大きくなるので、DMA転送方式と連続DMA転送方式の選択の基準転送回数Ntdmacは、2回となる。複数の転送要求があった場合に、総データ転送時間は、総データ転送量に比例する。従って、転送回数がNtdmac(=2回)より小さいときは、DMA転送方式を選択し、2回以上のときは、連続DMA転送方式を選択すればよい。なお、上記式(3)〜(6)に転送データ長Lと転送回数Nを代入してDMA転送方式と連続DMA転送方式のうち、総転送データ量の小さくなる方を選択してもよい。
(情報処理システムの動作)
次に、情報処理システム1の動作を図1〜図7を参照して説明する。
次に、情報処理システム1の動作を図1〜図7を参照して説明する。
図5は、メモリマップ方式とDMA転送方式の比較を示し、図6は、DMA転送方式と連続DMA転送方式の比較を示すし、図7は、データ転送のフローを示す。
データ転送要求があると(S1)、CPU20は、転送データ長Lと基準データ長Ltdma(36バイト)とを比較し(S2)、転送データ長Lが基準データ長Ltdmaよりも小さい場合は(S2:No)、メモリマップ方式でデータを転送する(S3)。すなわち、図5に示すように、ペイロードサイズが40バイト(4バイト単位)以上のとき、DMA転送方式よりメモリマップ方式の方がパケットサイズが大きくなるので、32バイトまではメモリマップ方式で転送し、36バイト以上はDMA転送方式で転送する。なお、転送データ量が36バイトの場合は、メモリマップ方式とDMA転送方式とでパケットサイズは同じであるので、どちらの転送方式で転送してもよい。
上記ステップS2において、転送データ長Lが基準データ長Ltdmaと等しいか、基準データ長Ltdmaよりも大きい場合は(S2:Yes)、CPU20は、転送回数Nと基準転送回数Ntdmac(2回)とを比較し(S4)、転送回数Nが基準転送回数Ntdmac(2回)よりも小さい場合は(S4:No)、図6に示すように、総パケットサイズが連続DMA転送方式よりもDMA転送方式の方が小さいので、DMA転送方式で転送する(S5)。
上記ステップS4において、転送回数Nが基準転送回数Ntdmacと等しいか、基準転送回数Ntdmacよりも大きい場合は(S4:Yes)、図6に示すように、総パケットサイズがDMA転送方式よりも連続DMA転送方式の方が小さいので、連続DMA転送方式で転送する(S6)。
上記実施の形態によれば、以下の効果を奏する。
(イ)基準データ量に基づいてメモリマップ方式とDMA転送方式のうち総転送データ量の少ない転送方式でデータを転送し、基準転送回数に基づいてDMA転送方式と連続DMA転送方式のうち総転送データ量の少ない転送方式でデータを転送しているので、データ長の大小に拘わらず、効率の良い転送が可能となる。
(ロ)外部補助記憶装置としてアクセス時間の短い半導体ディスク装置3を用いているので、効率的なデータ転送を行うことができる。
(イ)基準データ量に基づいてメモリマップ方式とDMA転送方式のうち総転送データ量の少ない転送方式でデータを転送し、基準転送回数に基づいてDMA転送方式と連続DMA転送方式のうち総転送データ量の少ない転送方式でデータを転送しているので、データ長の大小に拘わらず、効率の良い転送が可能となる。
(ロ)外部補助記憶装置としてアクセス時間の短い半導体ディスク装置3を用いているので、効率的なデータ転送を行うことができる。
[他の実施の形態]
なお、本発明は、上記実施の形態に限定されず、その発明の趣旨を逸脱しない範囲で種々と変形実施が可能である。例えば、上記実施の形態では、情報処理装置と半導体ディスク装置間のデータ転送について説明したが、周辺装置間でもよい。
なお、本発明は、上記実施の形態に限定されず、その発明の趣旨を逸脱しない範囲で種々と変形実施が可能である。例えば、上記実施の形態では、情報処理装置と半導体ディスク装置間のデータ転送について説明したが、周辺装置間でもよい。
1 情報処理システム
2 情報処理装置
3 半導体ディスク装置
4 I/F
20 CPU
21 バス
22 HDD
23 メインメモリ
41 レジスタ
42 コントローラ
220 OS
221 転送ソフトウェア
411 SADDRレジスタ
412 HADDRレジスタ
413 DIR/LENレジスタ
414 CMDレジスタ
415 STATUSレジスタ
420 アクセスリスト
2 情報処理装置
3 半導体ディスク装置
4 I/F
20 CPU
21 バス
22 HDD
23 メインメモリ
41 レジスタ
42 コントローラ
220 OS
221 転送ソフトウェア
411 SADDRレジスタ
412 HADDRレジスタ
413 DIR/LENレジスタ
414 CMDレジスタ
415 STATUSレジスタ
420 アクセスリスト
Claims (13)
- 少なくとも2つの第1および第2の転送方式から1つの転送方式を選択してデータを転送するデータ転送方法であって、
前記第1の転送方式は、転送データ長が短いときは、前記第2の転送方式よりも転送時間が短くなるものであり、前記第2の転送方式は、転送データ長が長いときは、前記第1の転送方式よりも転送時間が短くなるものであり、
前記転送データ長に基づいて転送時間が短くなる方の前記第1又は第2の転送方式を選択する選択ステップを含むことを特徴とするデータ転送方法。 - 前記選択ステップは、前記転送データ長と所定の基準データ長とを比較し、この比較結果に基づいて転送方式を選択することを特徴とする請求項1に記載のデータ転送方法。
- 前記所定の基準データ長は、転送データ量が前記第1の転送方式よりも前記第2の転送方式の方が小さくなる転送データ長の最小の値であることを特徴とする請求項2に記載のデータ転送方法。
- 前記選択ステップは、前記転送データ長に基づいて前記第1および第2の転送方式に対応する第1および第2の演算式からそれぞれ求めた転送データ量を比較し、この比較結果に基づいて転送方式を選択することを特徴とする請求項1に記載のデータ転送方法。
- 前記第2の転送方式は、1回目の転送のときに設定情報を転送し、2回目以降の転送のときに前記設定情報を参照してデータを転送する第3の転送方式を含み、
前記選択ステップは、前記第2の転送方式を選択するとき、指定された転送回数と所定の基準転送回数と比較し、この比較結果に基づいて前記第2又は第3の転送方式を選択することを特徴とする請求項1に記載のデータ転送方法。 - 前記所定の基準転送回数は、転送データ量が前記第2の転送方式よりも前記第3の転送方式の方が小さくなる転送回数の最小の値であることを特徴とする請求項5に記載のデータ転送方法。
- 前記選択ステップは、前記転送データ長および前記転送回数に基づいて前記第2および第3の転送方式に対応する第2および第3の演算式からそれぞれ求めた総転送データ量を比較し、この比較結果に基づいて転送方式を選択することを特徴とする請求項5に記載のデータ転送方法。
- 前記第1の転送方式は、メモリマップ方式であり、
前記第2の転送方式は、DMA転送方式であることを特徴とする請求項1に記載のデータ転送方法。 - 前記第2の転送方式は、DMA転送方式であり、
前記第3の転送方式は、連続DMA転送方式であることを特徴とする請求項5に記載のデータ転送方法。 - 請求項1乃至9のいずれか1項に記載のデータ転送方法をコンピュータに実行させるためのデータ転送プログラム。
- 少なくとも2つの第1および第2の転送方式から1つの転送方式を選択して情報処理装置と周辺装置との間でデータを転送するデータ転送装置であって、
前記第1の転送方式は、転送データ長が短いときは、前記第2の転送方式よりも転送時間が短くなるものであり、前記第2の転送方式は、転送データ長が長いときは、前記第1の転送方式よりも転送時間が短くなるものであり、
前記転送データ長に基づいて転送時間が短くなる方の前記第1又は第2の転送方式を選択する選択手段を備えたことを特徴とするデータ転送装置。 - 前記周辺装置は、外部補助記憶装置であることを特徴とする請求項11に記載のデータ転送装置。
- 前記外部補助記憶装置は、半導体ディスク装置であることを特徴とする請求項12に記載のデータ転送装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005264083A JP2007079715A (ja) | 2005-09-12 | 2005-09-12 | データ転送方法、プログラムおよび装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005264083A JP2007079715A (ja) | 2005-09-12 | 2005-09-12 | データ転送方法、プログラムおよび装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007079715A true JP2007079715A (ja) | 2007-03-29 |
Family
ID=37939985
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005264083A Pending JP2007079715A (ja) | 2005-09-12 | 2005-09-12 | データ転送方法、プログラムおよび装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007079715A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012190414A (ja) * | 2011-03-14 | 2012-10-04 | Ricoh Co Ltd | データ転送システム及びデータ転送方法 |
JP2014215273A (ja) * | 2013-04-30 | 2014-11-17 | ルネサスエレクトロニクス株式会社 | 半導体試験装置 |
JP2017198704A (ja) * | 2017-07-06 | 2017-11-02 | ルネサスエレクトロニクス株式会社 | 半導体試験装置および半導体試験方法 |
JP7495191B2 (ja) | 2019-09-11 | 2024-06-04 | インターナショナル・ビジネス・マシーンズ・コーポレーション | I/o性能を最適化するためのメモリ・コピーおよびメモリ・マッピング間の動的な切り替え |
-
2005
- 2005-09-12 JP JP2005264083A patent/JP2007079715A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012190414A (ja) * | 2011-03-14 | 2012-10-04 | Ricoh Co Ltd | データ転送システム及びデータ転送方法 |
JP2014215273A (ja) * | 2013-04-30 | 2014-11-17 | ルネサスエレクトロニクス株式会社 | 半導体試験装置 |
JP2017198704A (ja) * | 2017-07-06 | 2017-11-02 | ルネサスエレクトロニクス株式会社 | 半導体試験装置および半導体試験方法 |
JP7495191B2 (ja) | 2019-09-11 | 2024-06-04 | インターナショナル・ビジネス・マシーンズ・コーポレーション | I/o性能を最適化するためのメモリ・コピーおよびメモリ・マッピング間の動的な切り替え |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8555006B2 (en) | Memory arbitration system and method having an arbitration packet protocol | |
TWI249671B (en) | Method and system for controlling memory accesses to memory modules having a memory hub architecture | |
KR100337056B1 (ko) | 상이한 주파수로 동작하는 버스사이에 전송되는 데이터를버퍼링하는 디바이스 및 방법 | |
TW201120644A (en) | Memory hub architecture having programmable lane widths | |
JPWO2004057481A1 (ja) | Dma制御装置、dma制御方法、dma制御プログラム | |
TW200842593A (en) | Content-terminated DMA | |
US7165126B2 (en) | Direct memory access device | |
JP2019204463A (ja) | ストレージシステム及びその制御方法 | |
JP2007079715A (ja) | データ転送方法、プログラムおよび装置 | |
US7177913B2 (en) | Method, system, and program for adding operations identifying data packets to structures based on priority levels of the data packets | |
JP4855864B2 (ja) | ダイレクトメモリアクセスコントローラ | |
JP2007501473A (ja) | メインメモリとストレージ装置との間のデータ転送を行うための方法及び装置 | |
JP4046278B2 (ja) | Nvm記憶装置 | |
US9244824B2 (en) | Memory sub-system and computing system including the same | |
JP6046750B2 (ja) | ストレージ装置およびストレージ装置制御方法 | |
US20060277326A1 (en) | Data transfer system and method | |
JP2005182538A (ja) | データ転送装置 | |
JP2010026592A (ja) | メモリデバイスおよびメモリデバイス制御装置 | |
US20080209085A1 (en) | Semiconductor device and dma transfer method | |
CN111984579A (zh) | 针对差异数据粒度的数据传输方法和设备 | |
JP4431492B2 (ja) | 複数のコヒーレンシー・グラニュールをサポートするデータ転送ユニット | |
JP2009187337A (ja) | デバイス制御方法、プログラム、制御回路及び電子機器 | |
JP2005190496A (ja) | データ転送方法及び装置 | |
JP6037029B2 (ja) | データ転送装置、情報処理装置及びio制御方法 | |
JP5656589B2 (ja) | データ転送装置、データ転送方法及びデータ転送プログラム |