JP2003256359A - データ転送制御装置及び方法 - Google Patents
データ転送制御装置及び方法Info
- Publication number
- JP2003256359A JP2003256359A JP2002055801A JP2002055801A JP2003256359A JP 2003256359 A JP2003256359 A JP 2003256359A JP 2002055801 A JP2002055801 A JP 2002055801A JP 2002055801 A JP2002055801 A JP 2002055801A JP 2003256359 A JP2003256359 A JP 2003256359A
- Authority
- JP
- Japan
- Prior art keywords
- data transfer
- data
- transfer
- control
- storage media
- 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
Landscapes
- Bus Control (AREA)
Abstract
装置及び方法を提供する。 【解決手段】 RAM102からハードディスク10
8、109へのDMAC1(111)によるデータ転送
と、ハードディスク109からRAM102へのDMA
C2(110)によるデータ転送に競合が生じる場合
に、アービタ116が、所定の優先順情報に基づき、D
MAC1(111)とDMAC2(110)のデータ転
送を制御することにより、ハードディスクへのアクセス
時におけるヘッド位置の移動を少なくすることができ
る。
Description
接続されるデータ転送制御装置及び方法に関する。
ション、または、複写機などの画像処理装置では、大量
のデータをハードディスクなどの不揮発性記憶媒体に一
時的に記憶できるようになっている。そして、装置のC
PUが情報を必要とする場合などには、不揮発性記憶媒
体からデータを読み取り、SD−RAMやRDRAMな
ど高速アクセス可能な揮発性メモリに転送させることが
行われている。また、CPUの指示により、SD−RA
MやRDRAM上に記憶されているデータを不揮発性記
憶媒体へ転送するようにすることで、SD−RAMやR
DRAM上の領域のように、CPUが頻繁にアクセスす
るメモリ領域を、不揮発性記憶媒体に確保することが行
われている。
媒体とSD−RAMやRDRAMなどの揮発性記憶媒体
間でデータ転送を行う場合は、まず、CPUからの指示
により、ハードディスク内部に取り付けてあるDMAコ
ントローラに設定が行われ、その後、DMAコントロー
ラが、ハードディスクとSD−RAM、RDRAM間で
のDMA転送を行うようにしている。
記各装置では、画像などのデータや、CPUが動作する
ためのプログラム、システム動作中の演算結果などを、
頻繁にハードディスクへ書き込んだり、または、読み出
したりしている。このような、頻繁な書き込み、または
読み出しが発生する場合、従来は、ソフトウェアによ
り、ハードディスクへアクセスする順番とデータ量を決
定し、順次データ転送を行うようにしていた。
ータを書き込む、またはハードディスクに記憶されてい
る大量のデータを読み出す場合、データ転送の要求が複
数あると、あるデータ転送を行っている最中に別のデー
タ転送が割り込まれることがある。この割り込みが生じ
ると、ハードディスク内部の媒体からデータを読み取る
際に、ヘッド部の位置を変更するために時間がかかり、
この時間がデータ転送のオーバーヘッドとなってデータ
転送速度が低下するという問題があった。
とデータ量を、ソフトウェアにより決定させる方法にお
いては、データ転送要求が競合した場合に、ソフトウェ
アでの演算時間がデータ転送のオーバーヘッドとなっ
て、データ転送速度を低下させるという問題があった。
ものであり、メモリと複数の記憶媒体との間でのデータ
転送に競合が生じる場合に、所定の優先順情報に基づき
複数のデータ転送を制御することにより、記憶媒体への
アクセス時にヘッド位置の移動を少なくすることができ
るので、効率的なデータ転送が行えるデータ転送制御装
置及び方法を提供することを目的とする。
1のデータ転送が、第2のデータ転送により割り込まれ
た場合、第2のデータ転送を終了後に、第1のデータ転
送が継続して実行できるように、第1のデータ転送の状
態を保持たまま第2のデータ転送を行うように制御する
ことにより、休止されていたデータ転送の再開を早める
ことができるデータ転送制御装置及び方法を提供するこ
とを目的とする。
数のデータ転送に競合が生じる場合においても、CPU
からデータ転送制御に関する指示を受けることなく、ア
ービタを用いて、複数のデータ転送の制御を実行するこ
とにより、ソフトウェア処理に起因する速度低下を生じ
させることなく、効率的なデータ転送が行えるデータ転
送制御装置及び方法を提供することを目的とする。
に、本発明のデータ転送制御装置は、複数の記憶媒体に
接続されるデータ転送制御装置であって、メモリと前記
複数の記憶媒体との間での複数のデータ転送を行う複数
の転送手段と、前記複数の転送手段による複数のデータ
転送に競合が生じる場合に、所定の優先順情報に基づ
き、前記複数のデータ転送を制御する制御手段と、を有
することを特徴とする。
数の記憶媒体に接続されるデータ転送制御装置であっ
て、メモリと前記複数の記憶媒体との間でのデータ転送
を行う複数の転送手段と、前記複数の転送手段による複
数のデータ転送に競合が生じる場合に、前記複数のデー
タ転送を制御する制御手段とを有し、第1の転送手段に
よる第1のデータ転送が、第2のデータ転送手段による
第2のデータ転送により割り込まれた場合、前記制御手
段は、前記第2のデータ転送を終了後に前記第1のデー
タ転送が継続して実行できるように、前記第1のデータ
転送の状態を保持たまま前記第2のデータ転送を行うよ
うに制御することを特徴とする。
数の記憶媒体に接続されるデータ転送制御装置であっ
て、CPUからの指示に基づき、メモリと前記複数の記
憶媒体との間での複数のデータ転送を行う複数のDMA
コントローラと、前記複数のDMAコントローラによる
複数のデータ転送を制御するアービタとを有し、前記ア
ービタは、前記複数のDMAコントローラによる複数の
データ転送に競合が生じる場合においても、前記CPU
からデータ転送制御に関する指示を受けることなく、前
記複数のデータ転送の制御を実行することを特徴とす
る。
数の記憶媒体を用いたデータ転送を制御するデータ転送
制御方法であって、メモリと前記複数の記憶媒体との間
での複数のデータ転送を行う複数の転送工程と、前記複
数の転送工程における複数のデータ転送に競合が生じる
場合に、所定の優先順情報に基づき、前記複数のデータ
転送を制御する制御工程と、を有することを特徴とす
る。
数の記憶媒体を用いるデータ転送制御方法であって、メ
モリと前記複数の記憶媒体との間でのデータ転送を行う
複数の転送工程と、前記複数のデータ転送において複数
のデータ転送に競合が生じる場合に、前記複数のデータ
転送を制御する制御工程とを有し、第1の転送工程にお
ける第1のデータ転送が、第2のデータ転送工程におけ
る第2のデータ転送により割り込まれた場合、前記制御
工程は、前記第2のデータ転送を終了後に前記第1のデ
ータ転送が継続して実行できるように、前記第1のデー
タ転送の状態を保持たまま前記第2のデータ転送を行う
ように制御することを特徴とする。
憶媒体を用いるデータ転送制御方法であって、複数のD
MAコントローラを用いて、CPUからの指示に基づ
き、メモリと前記複数の記憶媒体との間での複数のデー
タ転送を行う複数のDMA転送工程と、アービタを用い
て、前記複数のDMA転送工程における複数のデータ転
送を制御する制御工程とを有し、前記制御工程は、前記
複数のDMAコントローラによる複数のデータ転送に競
合が生じる場合においても、前記CPUからデータ転送
制御に関する指示を受けることなく、アービタを用い
て、前記複数のデータ転送の制御を実行することを特徴
とする。
施の形態を説明する。
の実施形態におけるシステムの概要を示す概略図であ
る。
機等の画像処理装置のコントローラユニットであり、図
示しないスキャナユニット、プリンタユニットと接続
し、様々な画像処理機能を実行することができる。した
がって、本実施形態で扱うデータは、主に画像データで
ある。なお、本発明が適用可能な装置は、画像処理装置
に限るものではなく、汎用のPCやワークステーション
でもよいことは言うまでもない。
テムの制御を行うためのものである。102はメインメ
モリでSD−RAMやRDRAMのようにシステムによ
って様々な形態が用いられる。また、メインメモリ10
2はCPU101がデータを一時記憶させるための使用
されるものである。103はROMで、CPU101が
動作するためのプログラムなどが記憶されており、CP
U101は電源が投入された直後にROM103から情
報を読み出し、実行する。また、フラッシュROMなど
を使用することにより、CPU101からデータを書き
込むことも可能である。
1、メインメモリ102、ROM103が接続されてい
るバスである。105はバス104とは独立したIOバ
スであり、後述するハードディスクのI/F部分や、そ
の他のIOのコントローラなどが接続されるバスであ
る。106はバスブリッジであり、ローカルバス104
と、IOバス105を接続するためのものであり、バス
のプロトコル変換を行う。前記106のバスブリッジは
双方向へのアクセスが可能で、ローカルバス104から
IOバス105へのRead/Write、またはIO
バス105からローカルバスへ104のRead/Wr
iteが可能である。
めのハードディスクコントローラであり、内部の詳細は
後述する。108、109はハードディスクである。1
10、111はDMAコントローラであり、CPU10
1の指示により、RAM102とハードディスク10
8、または、109との間でDMA転送を行うために使
用される。112、114はCPU101からRead
またはWrite可能なレジスタであり、後述するハー
ドディスクへDMA転送でデータ転送する際に、メイン
メモリ102上のアクセスするアドレスを保持するため
のものである。113、115はCPU101からRe
adまたはWrite可能なレジスタであり、後述する
ハードディスクへDMA転送でデータ転送する際に、ハ
ードディスク108、または、109上のアクセスする
領域のLBAアドレスを保持するためのものである。
および111に対して動作の許可、不許可を指示するた
めのものであり、DMAC110、111は、アービタ
116の許可信号がアサートされない限り、動作は開始
できないものとする。また、アービタ116は、後述す
る複数あるハードディスクのどれを、DMAC110、
111に使用させるかを決定する。
0、111が転送するデータを、前記116のアービタ
の指示により、ハードディスク108、109のどれに
転送するかを振り分けるためのものである。118、1
19はATAI/Fコントローラであり、ハードディス
ク108および109がIDEのハードディスクであっ
た場合、ATA規格に沿ってIDEBus上をドライブ
し、ハードディスク108,109とデータの送受信を
行うためのものである。
U101の動作を表したフローチャートである。
2に記憶されているデータをDMAC1(111)を使
用してハードディスクへ転送している最中に、DMAC
1(111)よりも優先度が高く設定されているDMA
C2(110)が、ハードディスクからデータを読み出
すことを前提に説明を行う。
からメインメモリとハードディスク間でのデータの転送
要求があるまで、CPU101は処理を開始せず待機状
態にある(S201)。
ケーション層からメインメモリからハードディスクへの
データの転送要求が発生すると、要求がハードディスク
に対するライトであると判断した後(S202)、Ma
in Memory Address Latch11
2に、RAM102上に保存されておりハードディスク
へ転送すべきデータの先頭アドレスを書き込む(S20
3)。
ess Latch113にデータを記憶させるハード
ディスクの領域の先頭アドレスを指定する(S20
4)。本実施形態では、ファイルマネージャをLBAと
いうアドレス管理の方法を採用している。LBAアドレ
スは、ハードディスクのセクタ単位ごとに1つのアドレ
スを割り当てており、最大28bitのアドレッシング
ができるものとする。
1)に対して転送方向を指定し(S205)、DMAC
1(111)に対してRAM102からHDD108へ
データ転送することを指定する。次にCPU101はD
MAC1(111)に対して起動をかける(S20
6)。
11)は、まず、アービタ116へDMA転送の開始許
可要求信号を出力し、アービタ116からDMA転送の
開始許可信号を受信するまで待機する。
て、図3のフローチャートを用いて詳細に説明を行う。
10)、DMAC1(111)からDMAの転送開始許
可要求信号が出力されるまで待機している(S30
1)。
開始許可要求信号が出力されると、他のDMACがDM
A転送を行っているか否かを判定する(S302)。
には、新たにDMAの転送開始許可要求を行ったDMA
Cが、動作中のDMACよりも優先度が高いか否かを判
断し(S303)、優先度が低いと判断した場合は、転
送開始許可要求信号を出力したDMACにはデータ転送
開始許可信号を返さず、そのままステップS301へ戻
りDMA転送開始要求を受信するまで待機する。
の優先度を予め設定されており、本実施形態では、DM
AC1よりDMAC2の動作優先度が高いものとして、
説明を行う。
の転送開始許可要求信号を出力したDMACが、優先度
が高く設定されていた場合、またはステップS302に
おいて他のDMACが動作していなかった場合は、次に
DMACがハードディスクへのWriteをするために
動作するか、またはハードディスクからデータをリード
するために動作するのかの判定を行う(S304)。こ
れはDMACが、前記したように図2のフローチャート
のステップS205において、CPU101からDMA
転送の方向を指定されており、この指定された転送方向
をさらにアービタへ転送方向制御信号として出力してい
ることにより、アービタは各々のDMACのデータ転送
方向を検出することが可能である。
ィスクへのWriteを行うようCPU101より設定
されている場合であるので、アービタ116はステップ
S305へ処理を移行し、ここでDMACが新たにDM
A転送を開始するか、前に行っていたDMA転送が高い
優先度のDMACが動作したために中断されたものを継
続するかを判定する。
ソフトウェアからハードディスクへの書き込みを指示さ
れたものとすると、新規のハードディスクを使用するこ
ととなりアービタ116においてステップS310の処
理に移行する。
動作しているか否かを判定し(S310)、仮に他のD
MACが動作していなかった場合は、セレクタ117を
設定して、DMAC(111)を、ATAI/Fコント
ローラ1(118)と、ATAI/Fコントローラ2
(119)の両方に接続し、同時にデータ転送を行うよ
うに指定する(S311)。これはDMAC1(11
1)がRAM102より読み込んだデータを、ATAI
/Fコントローラ1(118)とATAI/Fコントロ
ーラ2(119)の両方に対して同様に転送、ハードデ
ィスク108とハードディスク109の両方に同じデー
タを書き込むことが可能となる。
期化および、ハードディスク内部に記憶されている固有
情報は、I/Oバス105がATAI/Fコントローラ
118、119に接続されており、ATAI/Fコント
ローラ内部のレジスタをリードまたはライトすることに
より、ハードディスク内部のレジスタにリードまたはラ
イト可能になっているため、容易に初期化、およびハー
ドディスクの固有情報を読み出すことが可能である。
タ117の設定を完了した後、アービタ116はDMA
C1(111)に対してDMAの転送許可信号をアサー
トし、DMA転送を開始させ(S314)、次のDMA
転送開始要求信号がアサートされるまで待機する。
C1(111)は、RAM102上の、Main Me
mory Address Latch112のレジス
タに指定されたアドレスからデータを読み込みはじめ、
セレクタ117へRAM102から読み込んだデータを
再転送する動作を繰り返す。また転送開始時にDMAC
1(111)はHDD Address Latch1
13のレジスタに指定されている領域をセレクタ117
に指定し、セレクタ117は転送開始時にATAI/F
118、119の両方へ同じ転送開始アドレスを指定す
る。これにより図4の(A)、(B)のようにハードデ
ィスク108および109の内部で同じ領域へ、同じデ
ータが書き込まれ始める。
スクへデータを転送している最中に、ソフトウェアのア
プリケーションの指示により、DMAC2(110)を
使用してハードディスクよりデータの読み出しが開始さ
れた場合の説明を行う。
101は、図2のフローチャートにおいて、新たにソフ
トウェアからのデータ転送要求がないかを判定し(S2
07)、もし新しい転送要求がない場合は、ステップS
209においてDMACからのデータ転送終了を示す割
り込みがアサートされたか否かを判定し、まだ転送が終
了していない場合はステップS207の処理に戻り、待
機している。
きた場合、ステップS202の処理にもどり、新たなD
MA転送要求が、ハードディスクに対するリードである
か、ライトであるかの判定を行う。
タを読み込むことを指定された場合、CPU101はR
AM上に記憶されているファイルシステムの情報から、
ソフトウェアから要求があったファイルの固有情報を読
み出す(S208)。情報は、ハードディスク上に記憶
されている所望のファイルのレングスと、ハードディス
ク上の記録されている領域の先頭のアドレスが記憶され
ている。さらに本実施形態のように複数のハードディス
クが使用されている場合、どのハードディスクにデータ
が記憶されているかを示す情報も含まれる。
のハードディスクにデータが格納されたかを示す情報を
RAM102に格納する方法については、後述する。仮
にソフトウェアからデータ転送要求があったファイルが
ハードディスク109上の、図5の(A)に示したAr
ea2の領域に記憶されているものとする。RAM10
2からファイルの固有情報を読み出したCPU101
は、次に、Main Memory Address
Latch114に、ハードディスクから読み出したデ
ータを記憶させるRAM102上の先頭アドレスを書き
込む(S203)。
ess Latch115に先にRAM102から読み
出したファイルの固有情報に含まれていたデータが記憶
されているハードディスクの領域の先頭アドレスを指定
する(S204)。
0)に対して転送方向を指定し(S205)、DMAC
2(110)に対してハードディスクからRAM102
へデータ転送することを指定する。ここでCPU101
は、先にRAM102から読み出した固有情報から、ハ
ードディスク108、109のどちらへデータが記憶さ
れているかの情報を取り出し、これをDMAC2(11
0)へ設定し、起動をかける(S206)。CPU10
1から起動をかけられたDMAC2(110)は、アー
ビタ116に対して、DMA転送開始許可要求信号を出
力し、DMA転送を開始しようとする。
116は、ステップS301においてDMACからのD
MA転送開始要求が出力されるまで待機しており、DM
AC2(110)よりDMA転送開始許可要求信号が入
力されると、他のDMACが動作しているか否かを判定
する(S302)。
先行して動作しているので、アービタ116は、ステッ
プS303において、DMAC2(110)がDMAC
1(111)よりも優先度が高いか否かを判定する。こ
こでは、DMAC2(110)がDMAC1(111)
よりも優先度が高いものとするので、アービタ116は
処理をステップS304へ移行する。
6は、DMAC2(110)の転送方向の判定を行い、
ハードディスクからのリードであることを検出すると、
ステップS306へ処理を移行する。
いて他のDMACが動作しているか否かを判定し、仮に
他のDMACが動作していた場合その動作していたDM
ACに対するDMA転送開始許可信号をディアサートし
て、動作していたDMACのDMA転送を中断させる
(S307)。本実施形態では、DMAC1(111)
が動作しているので、アービタ116はDMAC1(1
11)へのDMA転送開始許可信号をディアサートし
て、DMA転送を中断させる。
りDMAC1(110)に指定されたリードすべきデー
タが記憶されているハードディスクが接続されているA
TAI/FコントローラへDMAC2(110)を接続
するようにセレクタ117へ設定を行う。仮にソフトウ
ェアから要求のあったデータが、ハードディスク109
上の、図5(A)のArea2の領域に記憶されている
場合、アービタ116はセレクタ117を制御し、DM
AC2(110)をATAI/Fコントローラ119と
接続する(S308)。これにより、DMAC2(11
0)はHDD109へのアクセスが可能となる。
が終了した時点で、DMAC2(110)に対してDM
A転送開始許可信号を出力する(S314)。
号を受信したDMAC2(110)は、図1のHDD
Address Latch115に保持されているア
ドレスをATAI/Fコントローラ2(119)へセレ
クタ117を介して指定し、ハードディスク109の前
述したアドレス領域からデータを読み出し、一方ハード
ディスクから読み出したデータを図1のMain Me
mory Address Latch114に指定さ
れているRAM102上のアドレスへ書き出す。この動
作を指定されたレングス数分繰り返し、全てのデータを
転送し終わった時点で、DMAC2(110)はCPU
101に対して割り込み信号を出力し、DMA転送が終
了したことを通知する。
01はステップS209の状態でDMAC2(110)
からの終了割り込み信号を受信し、ステップS210に
おいてDMACの転送方向がReadであると判定した
場合、次に、ステップS213で全てのDMACが転送
を終了したかを判定する。DMAC1(111)は、D
MAC2(110)のデータ転送のためDMA転送を中
断していたので、まだ全てのDMACが転送を終了して
いないことになり、この場合CPU101は処理をステ
ップS207へ移行し、再びDMA転送が終了するか、
または新たにDMAの転送要求が入力されるまで待機す
る。
DMAC1(111)はアービタ116に対してDMA
転送開始許可要求信号を出力し続けており、DMAC2
(110)のDMA転送終了後、アービタ116は、ス
テップS301において新たにDMA転送開始許可要求
信号がアサートされたとして、ステップS302に処理
を移行する。
アービタ116は、ステップS304でDMA転送方向
を判定し、DMAC1(111)は中断されたハードデ
ィスクへのライト転送を継続するために動作しているの
で、ステップS305へ処理を移行する。
タ116によってDMA転送を中断された場合、データ
転送の継続を要求するためにDMA転送開始許可要求信
号に加えて、DMA転送継続要求信号を出力している。
このDMA転送継続要求信号がアービタ116に入力さ
れていた場合、アービタ116は処理をステップS30
9へ移行し、前に動作していたDMACが使用していた
ATAI/Fコントローラとは別のATAI/Fコント
ローラと、これから動作するDMACを接続する。
スク109からデータを読み込んでいたので、アービタ
116はハードディスク108とDMAC1(111)
を接続すべく、セレクタ117の制御を行って、DMA
C1(111)とATAI/Fコントローラ118間で
データ転送を行えるように設定する。
DMA転送を開始して、DMAC2(110)が途中で
割り込んだ場合、図5のように片方のATAI/Fコン
トローラは(A)に示すようにArea2をアクセスす
るためにハードディスク内部のヘッドをArea1から
Area2まで移動させる必要がある。ただし、図5の
ように残りのATAI/Fコントローラは(B)に示す
ようにArea1からヘッドを移動させる必要がなく、
そのままの位置で停止している。よって前述したよう
に、一度中断されたDMA転送を再開した場合、ハード
ディスク内部のヘッド位置の移動を減らすことが可能で
あり、Read、Writeのデータ転送の要求が頻繁
に競合した場合に、ハードディスク内部でのヘッドの移
動時間のオーバヘッドを軽減することが可能となる。
108へのデータ転送を継続し、CPU101により設
定されたレングス数分のデータ転送が完了した時点で、
CPU101に対して割り込み信号を出力し、データ転
送が終了したことを通知する。
いて、ステップS209の状態でDMAC1(111)
からの転送終了の割り込みを受信すると、ステップS2
10の処理へ移行し、DMA転送がWriteであった
かReadであったかを判定する。
ことを判定したCPU101は、DMAC1(111)
のレジスタを読み込み、最終的にどのハードディスクへ
転送したかを示す情報を読み出す。アービタ116はハ
ードディスク108を使用してDMAC1(111)の
DMA転送を行わせたことを把握しており、DMAC1
(111)へいずれのハードディスクへデータ転送した
かを通知しており、この通知をうけてDMAC1(11
1)は内部Registerにデータ転送終了後、書き
込み動作を行ったハードディスクを特定するために、情
報を保持しておくため、CPU101がその情報を読み
取ることができる。本実施形態では、2台のハードディ
スクを接続しているため、ハードディスクを特定する情
報は1bitでよいが、bit数を増やすことにより、
より多くのハードディスクを接続した場合にも対応でき
る。
書き込み動作を行ったハードディスクを特定する情報を
リードしたのち、その情報をRAM上に格納されている
ファイルシステムが管理しているファイルの情報に付加
して記憶させ、次にデータの読み出しが行われた際、ハ
ードディスクを特定できるようにしておく。
ディスクへの書き込み動作中に、優先度の高いハードデ
ィスクからの読み出し要求があった場合を想定したが、
ハードディスクへの書き込み動作中に、優先度の高い別
のハードディスクへの書き込み要求がきた場合につい
て、次に説明を行う。
1が設定を行い、DMA転送を開始させるまでの動作は
前述したとおりである。ここで、DMAC1(111)
は図1のハードディスク108、109の両方に対し
て、同データを書き込んでいるものとする。
から新たにハードディスクへのWrite要求が発生し
た場合、図2のフローチャートにおいて、ステップS2
07の状態にいたCPU101は、ステップS202の
処理に移行して、ソフトウェアからハードディスクへの
ライト要求であることを判定した場合、ステップS20
3、S204、S205の処理で、レジスタ114、1
15への設定、およびDMAC2(110)への転送方
向の設定を行い、ステップS206でDMAC2(11
0)へ起動をかける。
C2(110)は、アービタ116に対してデータ転送
開始許可要求信号を出力し、DMA転送の準備を行う。
図3においてアービタ116は新たにハードディスクへ
のWrite要求が発生し、さらに今動作しているDM
ACより優先度が高いと判定した場合は、ステップS3
05まで処理を進める。
て、新規にDMA転送が発生したと判定し、ステップS
310において他にDMACが動作しているとした場
合、ステップS312において動作している優先度の低
いDMACを停止させる。
ビタ116は、優先度の低いDMAC1(111)が使
用していたATAI/Fコントローラとは別のATAI
/Fコントローラ、または優先度の低いDMAC1(1
11)が両方のATAI/Fコントローラを使用してい
た場合は、どちらか一方のATAI/Fコントローラ
を、DMAC2(110)が使用可能なようにセレクタ
117の制御を行う。
4の処理においてDMAC2(110)に対して転送開
始許可信号を出力し、DMA転送をDMAC2に行わせ
る。アービタ116より、DMA転送開始許可信号を受
けたDMAC2は、図5の(A)に示すようにArea
2を使用してデータを転送し、データ転送が終了した時
点で割り込み信号をアサートし、CPU101へデータ
転送が終了したことを通知する。
後、アービタ116はDMAC1(111)から継続し
てデータ転送を行うことを要求されるので、前述した処
理と同様にDMAC2(110)が使用していたハード
ディスクは違う、もう一方のハードディスクへデータ転
送を行わせることにより、図5の(B)に示すようにD
MAC1(111)のDMA転送が再開されたとしても
ヘッド位置の移動がないことにより、DMA転送が早く
再開させることができる。
クと、DMACを使用し、さらにDMACが書き込み動
作を行うときのハードディスクを内部のアービタによっ
て管理、制御させることによって、DMACが競合して
データ転送を行っている最中において、ハードディスク
内部の記録媒体にアクセスするためのヘッドに移動を軽
減することが可能であり、データ転送を効率的に行うこ
とが可能である。
MACがハードディスクへの書き込み動作のためのデー
タ転送を行っている際に、他のDMACにより割り込ま
れた場合、他のDMACによるデータ転送を終了後に、
中断したデータ転送が継続して実行できるように、中断
したデータ転送の状態を保持たまま他のDMACによる
データ転送を行うようにした。すなわち、アービタが、
ハードディスクにおけるヘッドの位置をそのままに保て
るように、割り込んだDMACによるデータ転送を制御
した。これにより、競合状態終了後、ヘッド位置の移動
を減らすことが可能となり、休止されていたデータ転送
の再開を早めることができる。
転送に競合が生じる場合においても、アービタが、自立
的に複数のデータ転送の制御を実行することにより、D
MACがCPUから直接データ転送制御に関する指示を
受ける場合に比べ、データ転送のオーバーヘッドが生じ
なくなるので、効率的なデータ転送が行える。
の実施形態における、アービタの動作を示すフローチャ
ートである。本実施形態において第1の実施形態と異な
るのは、図1に示すアービタ116が、複数のDMAC
108、109からDMA転送開始許可要求信号を受信
した際に、DMA転送許可信号を各々のDMACへ返す
シーケンスを変更した点である。
2に記憶されているデータをDMAC1(111)を使
用してハードディスクへ転送している最中に、DMAC
1(111)よりも優先度が高く設定されているDMA
C2(110)がハードディスクからデータを読み出す
ことを前提に説明を行う。
1が設定を行い、DMA転送を開始させるまでの動作は
前述したとおりである。これにより、DMAC1(11
1)は、ATAI/Fコントローラ118、および11
9の両方を介して、ハードディスク108および109
の両方に対して同データを書き込んでいるものとする。
ケーション層から新たにハードディスクからのRead
要求が発生した場合、図2のフローチャートにおいて、
ステップS207の状態にいたCPU101は、ステッ
プS202の処理に移行する。そして、ソフトウェアか
ら、ハードディスクからのRead要求であると判定し
た場合、ステップS203、S204、S205の処理
で、レジスタ114、115への設定、およびDMAC
2(110)へハードディスクからのRead方向であ
ることを設定し、ステップS206でDMAC2(11
0)へ起動をかける。
C2(110)は、アービタ116に対してデータ転送
開始許可要求信号を出力し、DMA転送の準備を行う。
ードディスクからのRead要求が発生したことをDM
AC2(110)からのDMA転送開始許可要求信号を
検出し(S301)、さらに他のDMACが動作してい
ると判定した場合(S302)、アービタ116は処理
をステップS601へ移行し、現在動作しているDMA
Cの転送方向と、次に新たに転送開始許可要求信号を出
力したDMACの転送方向を比較する。
は、アービタ116に設定されたDMA転送の優先度と
は無関係に、処理をステップS602に移行する。ステ
ップS602の処理において、アービタ116はATA
I/Fコントローラ108、109の両方を使用してい
る場合は、片方のATAI/Fの使用停止するために1
17のセレクタを制御し、例えば、新たにDMAC2
(110)がリードするデータが、ハードディスク10
9上に書き込まれている場合は、動作しているDMAC
1(111)に対してATAI/Fコントローラ118
のみを使用させるように切り替え(S603)、次にD
MAC2(110)がATAI/Fコントローラ119
を使用できるようにセレクタ117を切り替える(S6
04)。
で、アービタ116はDMAC2(110)に対してD
MA転送開始許可信号を出力し、DMA転送を実行させ
る(S314)。
片方のみのATAI/Fコントローラのみ使用されてい
る場合、より優先度の低いDMACが動作を強制的に一
時中断されている場合が想定されるので、ステップS3
03に処理を移行して、第1の実施形態と同様に、DM
A転送の優先度を把握して動作を決定する。
ハードディスクに対するRead動作と、Write動
作が競合した場合であっても、複数存在するATAI/
Fコントローラとハードディスクを同時に別のDMAC
で使用することが可能となり、ソフトウェアからのWr
ite動作とRead動作が競合した場合であっても、
転送の効率を向上させることが可能となる。
タを記憶する不揮発性記憶媒体をハードディスクとした
が、これに限るものではなく、MO等他の記憶媒体に関
しても、本発明を適用可能であることはいうまでもな
い。
Eハードディスクとし、ハードディスクに接続するイン
ターフェイスをATAI/F Controllerと
したが、本発明はこれに限るものではなく、SCSIハ
ードディスクとSCSIインターフェイス等、他の組み
合わせを用いてもよい。
ピュータ、インタフェイス機器、リーダ、プリンタな
ど)から構成されるシステムに適用しても、一つの機器
からなる装置(例えば、複写機、ファクシミリ装置な
ど)に適用してもよい。
の機能を実現するソフトウェアのプログラムコードを記
録した記録媒体を、システムあるいは装置(例えばアー
ビタ116)に供給し、そのシステムあるいは装置のコ
ンピュータ(またはCPUやMPU)が記録媒体に格納
されたプログラムコードを読み出し実行することによっ
ても、達成されることは言うまでもない。この場合、記
録媒体から読み出されたプログラムコード自体が本発明
の新規な機能を実現することになり、そのプログラムコ
ードを記憶した記憶媒体は本発明を構成することにな
る。プログラムコードを供給するための記憶媒体として
は、例えば、フロッピー(登録商標)ディスク、ハード
ディスク、光ディスク、光磁気ディスク、CD−RO
M、CD−R、磁気テープ、不揮発性のメモリカード、
ROMなどを用いることができる。
ムコードを実行することにより、前述した実施形態の機
能が実現されるだけでなく、そのプログラムコードの指
示に基づき、コンピュータ上で稼動しているOSなどが
実際の処理の一部または全部を行い、その処理によって
前述した実施形態の機能が実現される場合も含まれるこ
とは言うまでもない。
ラムコードが、コンピュータに挿入された拡張機能ボー
ドやコンピュータに接続された機能拡張ユニットに備わ
るメモリに書き込まれた後、そのプログラムコードに指
示に基づき、その機能拡張ボードや機能拡張ユニットに
備わるCPUなどが実際の処理の一部または全部を行
い、その処理によって前述した実施形態の機能が実現さ
れる場合も含まれることは言うまでもない。
8に記載の発明によれば、メモリと複数の記憶媒体との
間でのデータ転送に競合が生じる場合に、所定の優先順
情報に基づき複数のデータ転送を制御することにより、
記憶媒体へのアクセス時にヘッド位置の移動を少なくす
ることができるので、効率的なデータ転送が行えるとい
う効果がある。
れば、複数のデータ転送の競合が生じ、第1のデータ転
送が、第2のデータ転送により割り込まれた場合、第2
のデータ転送を終了後に、第1のデータ転送が継続して
実行できるように、第1のデータ転送の状態を保持たま
ま第2のデータ転送を行うように制御することにより、
休止されていたデータ転送の再開を早めることができる
という効果がある。
れば、複数のDMAコントローラによる複数のデータ転
送に競合が生じる場合においても、CPUからデータ転
送制御に関する指示を受けることなく、アービタを用い
て、複数のデータ転送の制御を実行することにより、ソ
フトウェア処理に起因する速度低下を生じさせることな
く、効率的なデータ転送が行えるという効果がある。
概略図である。
ートである。
の動作を示したフローチャートである。
の図である。
の図である。
の動作を示したフローチャートである。
Claims (14)
- 【請求項1】 複数の記憶媒体に接続されるデータ転送
制御装置であって、 メモリと前記複数の記憶媒体との間での複数のデータ転
送を行う複数の転送手段と、 前記複数の転送手段による複数のデータ転送に競合が生
じる場合に、所定の優先順情報に基づき、前記複数のデ
ータ転送を制御する制御手段と、 を有することを特徴とするデータ転送制御装置。 - 【請求項2】 第1の転送手段による第1のデータ転送
を行っているときに、前記第1の転送手段よりも優先順
位が高い第2のデータ転送手段による第2のデータ転送
が起動した場合、前記制御手段は、前記第1のデータ転
送を一時中断し、前記第2のデータ転送を開始すること
を特徴とする請求項1に記載のデータ転送制御装置。 - 【請求項3】 第1の転送手段により、複数の記憶媒体
へのデータ書き込みまたは読み出しのための第1のデー
タ転送を行っているときに、前記第1の転送手段よりも
優先順位が高い第2のデータ転送手段による第2のデー
タ転送が起動した場合、前記制御手段は、前記複数の記
憶媒体のうち1つの記憶媒体を用いた前記第2のデータ
転送手段によるデータ転送を開始することを特徴とする
請求項2に記載のデータ転送制御装置。 - 【請求項4】 前記第2のデータ転送手段による第2の
データ転送が終了した場合、前記制御手段は、前記第1
のデータ転送を再開し、前記第2のデータ転送に用いた
記憶媒体とは別の記憶媒体を用いたデータ転送を継続し
て実行するように制御することを特徴とする請求項3に
記載のデータ転送制御装置。 - 【請求項5】 第1の転送手段による第1のデータ転送
を行っているときに、前記第1のデータ転送とはデータ
の転送方向が異なる第2のデータ転送手段による第2の
データ転送が起動した場合、前記制御手段は、前記第1
のデータ転送と前記第2のデータ転送とが、並列に実行
されるように制御することを特徴とする請求項1に記載
のデータ転送制御装置。 - 【請求項6】 複数の記憶媒体に接続されるデータ転送
制御装置であって、 メモリと前記複数の記憶媒体との間でのデータ転送を行
う複数の転送手段と、 前記複数の転送手段による複数のデータ転送に競合が生
じる場合に、前記複数のデータ転送を制御する制御手段
とを有し、 第1の転送手段による第1のデータ転送が、第2のデー
タ転送手段による第2のデータ転送により割り込まれた
場合、前記制御手段は、前記第2のデータ転送を終了後
に前記第1のデータ転送が継続して実行できるように、
前記第1のデータ転送の状態を保持たまま前記第2のデ
ータ転送を行うように制御することを特徴とするデータ
転送制御装置。 - 【請求項7】 複数の記憶媒体に接続されるデータ転送
制御装置であって、 CPUからの指示に基づき、メモリと前記複数の記憶媒
体との間での複数のデータ転送を行う複数のDMAコン
トローラと、 前記複数のDMAコントローラによる複数のデータ転送
を制御するアービタとを有し、 前記アービタは、前記複数のDMAコントローラによる
複数のデータ転送に競合が生じる場合においても、前記
CPUからデータ転送制御に関する指示を受けることな
く、前記複数のデータ転送の制御を実行することを特徴
とするデータ転送制御装置。 - 【請求項8】 複数の記憶媒体を用いたデータ転送を制
御するデータ転送制御方法であって、 メモリと前記複数の記憶媒体との間での複数のデータ転
送を行う複数の転送工程と、 前記複数の転送工程における複数のデータ転送に競合が
生じる場合に、所定の優先順情報に基づき、前記複数の
データ転送を制御する制御工程と、 を有することを特徴とするデータ転送制御方法。 - 【請求項9】 第1の転送工程における第1のデータ転
送を行っているときに、前記第1の転送工程よりも優先
順位が高い第2のデータ転送工程による第2のデータ転
送が起動した場合、前記制御工程は、前記第1のデータ
転送を一時中断し、前記第2のデータ転送を開始するこ
とを特徴とする請求項8に記載のデータ転送制御方法。 - 【請求項10】 第1の転送工程において、複数の記憶
媒体へのデータ書き込みまたは読み出しのための第1の
データ転送を行っているときに、前記第1の転送工程よ
りも優先順位が高い第2のデータ転送工程における第2
のデータ転送が起動した場合、前記制御工程は、前記複
数の記憶媒体のうち1つの記憶媒体を用いた前記第2の
データ転送を開始することを特徴とする請求項9に記載
のデータ転送制御方法。 - 【請求項11】 前記第2のデータ転送工程における第
2のデータ転送が終了した場合、前記制御工程は、前記
第1のデータ転送を再開し、前記第2のデータ転送に用
いた記憶媒体とは別の記憶媒体を用いたデータ転送を継
続して実行するように制御することを特徴とする請求項
10に記載のデータ転送制御方法。 - 【請求項12】 第1の転送工程における第1のデータ
転送を行っているときに、前記第1のデータ転送とはデ
ータの転送方向が異なる第2のデータ転送工程における
第2のデータ転送が起動した場合、前記制御工程は、前
記第1のデータ転送と前記第2のデータ転送とが、並列
に実行されるように制御することを特徴とする請求項8
に記載のデータ転送制御方法。 - 【請求項13】 複数の記憶媒体を用いるデータ転送制
御方法であって、 メモリと前記複数の記憶媒体との間でのデータ転送を行
う複数の転送工程と、 前記複数のデータ転送において複数のデータ転送に競合
が生じる場合に、前記複数のデータ転送を制御する制御
工程とを有し、 第1の転送工程における第1のデータ転送が、第2のデ
ータ転送工程における第2のデータ転送により割り込ま
れた場合、前記制御工程は、前記第2のデータ転送を終
了後に前記第1のデータ転送が継続して実行できるよう
に、前記第1のデータ転送の状態を保持たまま前記第2
のデータ転送を行うように制御することを特徴とするデ
ータ転送制御方法。 - 【請求項14】 複数の記憶媒体を用いるデータ転送制
御方法であって、 複数のDMAコントローラを用いて、CPUからの指示
に基づき、メモリと前記複数の記憶媒体との間での複数
のデータ転送を行う複数のDMA転送工程と、 アービタを用いて、前記複数のDMA転送工程における
複数のデータ転送を制御する制御工程とを有し、 前記制御工程は、前記複数のDMAコントローラによる
複数のデータ転送に競合が生じる場合においても、前記
CPUからデータ転送制御に関する指示を受けることな
く、アービタを用いて、前記複数のデータ転送の制御を
実行することを特徴とするデータ転送制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002055801A JP2003256359A (ja) | 2002-03-01 | 2002-03-01 | データ転送制御装置及び方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002055801A JP2003256359A (ja) | 2002-03-01 | 2002-03-01 | データ転送制御装置及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003256359A true JP2003256359A (ja) | 2003-09-12 |
JP2003256359A5 JP2003256359A5 (ja) | 2007-08-09 |
Family
ID=28666552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002055801A Pending JP2003256359A (ja) | 2002-03-01 | 2002-03-01 | データ転送制御装置及び方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2003256359A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2423824A1 (en) | 2010-08-23 | 2012-02-29 | Ricoh Company, Ltd. | Data transfer device, method of transferring data, and image forming apparatus |
-
2002
- 2002-03-01 JP JP2002055801A patent/JP2003256359A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2423824A1 (en) | 2010-08-23 | 2012-02-29 | Ricoh Company, Ltd. | Data transfer device, method of transferring data, and image forming apparatus |
US8838862B2 (en) | 2010-08-23 | 2014-09-16 | Ricoh Company, Limited | Data transfer device, method of transferring data, and image forming apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8762682B1 (en) | Data storage apparatus providing host full duplex operations using half duplex storage devices | |
US8386704B2 (en) | Techniques for improving hard disk drive efficiency | |
JP2008009874A (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP2000181773A (ja) | 記憶装置システム | |
JP2002117002A (ja) | 共用型ペリフェラルアーキテクチャ | |
JP2007115233A (ja) | ディスク制御装置、ディスク制御方法、ディスク制御プログラム | |
JP2005235219A (ja) | Atapiスイッチ | |
US7822952B2 (en) | Context switching device | |
JP2000090004A (ja) | メモリ管理テーブル作成方法及びメモリ装置 | |
JP2008009803A (ja) | 情報記憶装置、および、情報転送方法、情報転送システム、プログラム、並びに、記録媒体 | |
JPH0830550A (ja) | インターフェース装置、情報処理装置、情報処理システム及びデータ転送方法 | |
JP2005309739A (ja) | ディスクアレイ装置およびディスクアレイ装置のキャッシュ制御方法 | |
JP2003256359A (ja) | データ転送制御装置及び方法 | |
JP2011003060A (ja) | 情報処理装置、情報処理装置の制御方法及びプログラム | |
JPH076088A (ja) | 情報記憶装置 | |
JP3450071B2 (ja) | Pcカード | |
JP2007264751A (ja) | データ転送制御装置 | |
JP2006126938A (ja) | データ転送システム及びそのデータ転送方法 | |
WO2001020442A1 (fr) | Disque magnetique, acces a un dispositif de disque magnetique, et support d'enregistrement de programme de commande d'acces au disque pour dispositif de disque magnetique | |
JPH11338644A (ja) | ディスク制御装置及び記憶装置 | |
JP2000285227A (ja) | 情報処理装置とその制御方法 | |
JP2005242411A (ja) | インタフェース制御装置および方法、並びにプログラム | |
JPH11203059A (ja) | 画像入出力処理装置および画像入出力処理装置のメモリアクセス方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 | |
JPH05241736A (ja) | 磁気テープ記憶装置のファイル制御方法 | |
JPH0519181B2 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Effective date: 20050224 Free format text: JAPANESE INTERMEDIATE CODE: A523 |
|
A621 | Written request for application examination |
Effective date: 20050224 Free format text: JAPANESE INTERMEDIATE CODE: A621 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070622 |
|
A977 | Report on retrieval |
Effective date: 20070730 Free format text: JAPANESE INTERMEDIATE CODE: A971007 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070821 |
|
A02 | Decision of refusal |
Effective date: 20080115 Free format text: JAPANESE INTERMEDIATE CODE: A02 |