JP2007264751A - Data transfer controller - Google Patents

Data transfer controller Download PDF

Info

Publication number
JP2007264751A
JP2007264751A JP2006085588A JP2006085588A JP2007264751A JP 2007264751 A JP2007264751 A JP 2007264751A JP 2006085588 A JP2006085588 A JP 2006085588A JP 2006085588 A JP2006085588 A JP 2006085588A JP 2007264751 A JP2007264751 A JP 2007264751A
Authority
JP
Japan
Prior art keywords
data transfer
transfer
data
hard disk
dma controller
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.)
Withdrawn
Application number
JP2006085588A
Other languages
Japanese (ja)
Inventor
Jun Matsuda
潤 松田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2006085588A priority Critical patent/JP2007264751A/en
Publication of JP2007264751A publication Critical patent/JP2007264751A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To secure real time property even when competition occurs between different CPUs while employing the performance of a hard disk in the case of performing access from a plurality of CPUs, which do not share a RAM, to the same hard disk (1), and to secure the performance of the hard disk even when competition occurs between different CPUs when a DMA transfer is performed to each hard disk in the case of mounting a plurality of hard disks (2). <P>SOLUTION: This data transfer controller connected to a plurality of storage media is provided with: a plurality of transfer means for performing a plurality of data transfer between a memory and a plurality of storage media; a setup means for making a plurality of CPUs 101 and 111 individually set the transfer means; and a control means for controlling the plurality of data transfer based on predetermined priority order information when competition is generated in the plurality of data transfers by the plurality of transfer means. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、データ転送制御装置およびその制御方法に関する。   The present invention relates to a data transfer control device and a control method therefor.

多くのパーソナルコンピュータやワークステーション、または複写機などの画像処理装置では、データをハードディスクなどの不揮発性記憶媒体を装置内部に格納し、データを一時的に記憶することができる。装置のCPUがデータを必要とする場合には、不揮発性記憶媒体からデータを読み取り、SDRAMやRDRAMなど高速アクセス可能な揮発性メモリに転送し、CPUは揮発性メモリ上でデータの読み書きを行う。   In many image processing apparatuses such as personal computers, workstations, and copying machines, data can be temporarily stored by storing a nonvolatile storage medium such as a hard disk in the apparatus. When the CPU of the device needs data, it reads the data from the nonvolatile storage medium and transfers it to a volatile memory such as SDRAM or RDRAM that can be accessed at high speed, and the CPU reads and writes data on the volatile memory.

通常、ハードディスクなどの不揮発性記憶媒体とSDRAMやRDRAMなどの揮発性記憶媒体間でデータ転送を行う場合は、まず、CPUからの指示により、ハードディスク内部に取り付けてあるDMAコントローラに設定が行われ、その後、DMAコントローラが、ハードディスクとSDRAM、RDRAM間でのDMA転送を行うようにしている。   Normally, when performing data transfer between a non-volatile storage medium such as a hard disk and a volatile storage medium such as SDRAM or RDRAM, first, a setting is made in the DMA controller installed in the hard disk by an instruction from the CPU. After that, the DMA controller performs DMA transfer between the hard disk, SDRAM, and RDRAM.

PCや複写機などの上記各装置では、画像などのデータや、CPUが動作するためのプログラム、システム動作中の演算結果などサイズの異なる様々なデータを、頻繁に不揮発性記憶媒体へ書き込んだり、または、読み出したりしている。不揮発性媒体は一般的にランダムなアクセスを行った場合、ヘッド部の位置を変更するためシーク時間が発生しハードディスクの性能を引き出すことができない。またデータを書き込む、または読み込むデータ転送の要求が複数あると、あるデータ転送を行っている最中に別のデータ転送が割り込まれることがある。この割り込みが生じると、不揮発性記憶媒体からデータを読み取る際に、ヘッド部の位置を変更するために時間がかかり、この時間がデータ転送のオーバーヘッドとなってデータ転送速度が低下する。   In each of the above devices such as PCs and copiers, various data of different sizes such as data such as images, programs for operating the CPU, and calculation results during system operation are frequently written to a nonvolatile storage medium, Or it is reading. In general, when a random access is made to a nonvolatile medium, a seek time is generated because the position of the head portion is changed, and the performance of the hard disk cannot be extracted. In addition, when there are a plurality of data transfer requests for writing or reading data, another data transfer may be interrupted during a certain data transfer. When this interruption occurs, it takes time to change the position of the head unit when reading data from the nonvolatile storage medium, and this time becomes an overhead of data transfer and the data transfer speed is reduced.

このようなデータの頻繁な書き込み、または読み出しが発生する場合、メモリと不揮発性記憶媒体との間でのデータ転送に競合が生じた時に、所定の優先順位情報に基づき複数のデータ転送を制御することにより、記憶媒体へのアクセス時にヘッド位置の移動を少なくする方法が考えられる(例えば特許文献1)。
特開2003−256359号公報
When frequent writing or reading of such data occurs, when a conflict occurs in data transfer between the memory and the nonvolatile storage medium, a plurality of data transfers are controlled based on predetermined priority information. Thus, a method of reducing the movement of the head position when accessing the storage medium can be considered (for example, Patent Document 1).
JP 2003-256359 A

しかしながら、上述した優先順位に基づき複数のデータ転送を制御するような仕組みを適用した場合には、優先順位の最も高いデータ転送が行われると、他のデータ転送が完全に止まってしまうという問題点があった。リアルタイム制御を行うシステムにおいて、タイミングによってはハードディスクからのデータ転送時間が大幅に伸びてしまうことは致命的である。また、処理を高速化させるためにすでにあるシステムに、別のCPUを有するシステムを接続した場合に、同一のハードディスクを制御するために、他方のデータ転送を考慮に入れないと自システムのリアルタイム制御が行えなくなる可能性があった。   However, when a mechanism for controlling a plurality of data transfers based on the above-described priority is applied, if data transfer with the highest priority is performed, other data transfer is completely stopped. was there. In a system that performs real-time control, it is fatal that the data transfer time from the hard disk significantly increases depending on the timing. In addition, when a system having another CPU is connected to an existing system for speeding up the processing, real-time control of the own system is required unless the other data transfer is taken into consideration in order to control the same hard disk. There was a possibility that could not be performed.

上記従来例の問題点を解決するため本発明の請求項1記載のデータ転送制御装置は、
複数記憶媒体に接続されるデータ転送制御装置であって、
メモリと前記複数の記憶媒体との間での複数のデータ転送を行う複数の転送手段と、
複数のCPUが前記転送手段を個別に設定する設定手段と、
複数の前記転送手段による複数のデータ転送に競合が生じる場合に、所定の優先順位情報に基づき、前記複数のデータ転送を制御する制御手段と、
を有することを特徴とする。
In order to solve the problems of the conventional example, the data transfer control device according to claim 1 of the present invention provides:
A data transfer control device connected to a plurality of storage media,
A plurality of transfer means for transferring a plurality of data between a memory and the plurality of storage media;
A setting unit in which a plurality of CPUs individually set the transfer unit;
Control means for controlling the plurality of data transfers based on predetermined priority information when there is a conflict in a plurality of data transfers by the plurality of transfer means;
It is characterized by having.

また上記従来例の問題点を解決するため本発明の請求項2記載のデータ転送制御装置は、前記制御手段は、第1の転送手段による第1のデータ転送を行っているときに、前記第1の転送手段よりも優先順位の高い第2のデータ転送手段による第2のデータ転送が起動した場合、前記第1のデータ転送を一時中断し、前記第2のデータ転送を開始し、優先順位がもっとも高い第3の転送手段による第3のデータ転送を行っているときに、同じ優先順位の第4のデータ転送手段による第4のデータ転送が起動した場合には、前記第3のデータ転送と前記第4のデータ転送を交互にデータ転送を行うことを特徴とする。   In order to solve the problems of the conventional example, the data transfer control device according to claim 2 of the present invention is such that the control means performs the first data transfer by the first transfer means. When the second data transfer by the second data transfer means having a higher priority than the first transfer means is activated, the first data transfer is temporarily interrupted, the second data transfer is started, and the priority order is increased. If the fourth data transfer by the fourth data transfer means having the same priority is activated while performing the third data transfer by the third transfer means having the highest value, the third data transfer And the fourth data transfer are alternately performed.

本発明によれば、RAMを共有しない複数のCPUから同一のハードディスクへアクセスを行った場合に、ハードディスクのパフォーマンスを生かしながらも、異なるCPU間で競合が起こった場合でもリアルタイム性を保証することが可能になる。   According to the present invention, when accessing the same hard disk from a plurality of CPUs that do not share RAM, it is possible to ensure real-time performance even when competition occurs between different CPUs while taking advantage of the performance of the hard disk. It becomes possible.

また本発明によれば、複数のハードディスクを搭載した場合に、それぞれのハードディスクに対してDMA転送が行われている場合に、異なるCPU間で競合が起こってもハードディスクのパフォーマンスを活かすことができる。   Further, according to the present invention, when a plurality of hard disks are mounted and DMA transfer is performed for each of the hard disks, the performance of the hard disk can be utilized even if competition occurs between different CPUs.

以下、図面を参照して本発明の実施の形態を説明する。   Embodiments of the present invention will be described below with reference to the drawings.

図1は本発明の第1の実施例におけるシステムの概要を示すブロック図である。   FIG. 1 is a block diagram showing an outline of a system in a first embodiment of the present invention.

図1に示すシステムは、複写機等の画像処理装置のコントローラユニットであり、図示しないスキャナユニット、プリンタユニットと接続し、様々な画像処理機能を実行することができる。したがって、本実施例で扱うデータは、主に画像データである。なお、本発明が適用可能な装置は、画像処理装置に限るものではなく、汎用のパーソナルコンピュータやワークステーションでもよいことは言うまでもない。   The system shown in FIG. 1 is a controller unit of an image processing apparatus such as a copying machine, and can be connected to a scanner unit and a printer unit (not shown) to execute various image processing functions. Therefore, data handled in the present embodiment is mainly image data. Needless to say, an apparatus to which the present invention is applicable is not limited to an image processing apparatus, and may be a general-purpose personal computer or a workstation.

図1において101および111はCPUであり、異なるOSあるいは同一のOSが別々に動作しており、本装置の制御を行う。103、113はメインメモリでSDRAMやRDRAMのようにシステムによって様々な形態が用いられ、CPU101およびCPU111で扱うデータを一時的に記憶させておくためのものである。102および112はROMで、CPU101およびCPU111が動作するためのプログラムやデータが格納されており、CPU101、CPU111は電源が投入された直後にそれぞれのバスに接続されているROM102およびROM112からプログラムを読み出し、実行する。またフラッシュROMなどを使用することにより、CPU101またはCPU111からデータを書き換えることも可能である。   In FIG. 1, reference numerals 101 and 111 denote CPUs, and different OSes or the same OS are operating separately to control this apparatus. Reference numerals 103 and 113 denote main memories that are used in various forms depending on the system, such as SDRAM and RDRAM, for temporarily storing data handled by the CPU 101 and CPU 111. Reference numerals 102 and 112 denote ROMs that store programs and data for operating the CPU 101 and the CPU 111. The CPUs 101 and 111 read the programs from the ROMs 102 and 112 connected to the respective buses immediately after the power is turned on. ,Execute. Further, it is possible to rewrite data from the CPU 101 or the CPU 111 by using a flash ROM or the like.

105および115はローカルバスであり、それぞれCPU、RAM、ROMおよび後述するバスブリッジが接続されている。117はローカルバス105および115と独立したIOバスであり、後述するHDDコントローラが接続されるバスである。104および114のブリッジはローカルバス105、115とIOバス117を接続するためのものであり、バスのプロトコル変換を行う。バスブリッジ206は双方向へのアクセスが可能であり、ローカルバス105および115からIOバス117への読み書き、またはIOバス117からローカルバス105あるいは115への読み書きが可能である。   Reference numerals 105 and 115 denote local buses, to which a CPU, a RAM, a ROM, and a bus bridge described later are connected. Reference numeral 117 denotes an IO bus independent of the local buses 105 and 115, and is a bus to which an HDD controller described later is connected. The bridges 104 and 114 are for connecting the local buses 105 and 115 and the IO bus 117, and convert the protocol of the bus. The bus bridge 206 can be accessed in both directions, and can read / write from the local buses 105 and 115 to the IO bus 117, or read / write from the IO bus 117 to the local bus 105 or 115.

140および150は不揮発性記憶媒体であるハードディスクである。UltraATAやSerialATAあるいは独自のATA規格に沿ったI/Fを有する様々な形態のものなどが用いられる。   Reference numerals 140 and 150 denote hard disks which are nonvolatile storage media. Various types such as UltraATA, SerialATA, or I / F in line with original ATA standards are used.

120はハードディスク140および150を制御するためのハードディスクコントローラである。121および125はDMAコントローラであり、それぞれのDMAコントローラがDMA転送を行うための情報をCPU101およびCPU111それぞれが書き込むためのレジスタをDMAコントローラ121用に122、123、DMAコントローラ125用に125、126を有している。DMAコントローラ121、125は、ハードディスクのブロック単位の倍数分ずつ転送を行うためのバッファを内部に有し、ブロック単位の倍数分の転送が終了するたびに、後述するアービターによってどのDMAコントローラを起動するかが決定される。   A hard disk controller 120 controls the hard disks 140 and 150. Reference numerals 121 and 125 denote DMA controllers, and registers for the CPU 101 and the CPU 111 to write information for each DMA controller to perform DMA transfer are 122 and 123 for the DMA controller 121, and 125 and 126 for the DMA controller 125, respectively. Have. The DMA controllers 121 and 125 have a buffer for transferring data in multiples of a block unit of the hard disk, and each DMA controller is activated by an arbiter described later every time transfer of multiples of block units is completed. Is decided.

124および128は、それぞれのDMAコントローラの有するレジスタで設定された値の調停を行うアービターである。レジスタの一方のみが設定されていた場合にはその値が設定される。また、ふたつのレジスタに値が設定された場合でかつ、DMAコントローラが起動されていない状態の場合には、CPU101で設定した値が優先されるものとする。もしすでに片方の値でDMAコントローラが起動されており、次のDMAコントローラを起動するアービトレーションを行う場合には、動作していなかったレジスタの値がDMAコントローラに設定されるものとする。   Reference numerals 124 and 128 denote arbiters that perform arbitration of values set in the registers of the respective DMA controllers. If only one of the registers is set, that value is set. When values are set in the two registers and the DMA controller is not activated, the values set by the CPU 101 are given priority. If the DMA controller is already activated with one value and arbitration is performed to activate the next DMA controller, the value of the register that was not operating is assumed to be set in the DMA controller.

129は、124および128のアービターで調停された値を元に、DMAコントローラ121および125に対して動作の許可、不許可を指示するためのものであり、DMA121、125は、アービターの許可信号がアサートされない限り、動作は開始できないものとする。   129 is for instructing the DMA controllers 121 and 125 to permit or deny the operation based on the values arbitrated by the arbiters 124 and 128. The DMAs 121 and 125 indicate that the arbiter permission signal is Unless asserted, the operation cannot be started.

130はセレクタであり、DMAコントローラ121、125が転送するデータを、アービター129の指示により、ハードディスク140,141のどれに転送するかを振り分けるためのものである。   Reference numeral 130 denotes a selector for sorting to which of the hard disks 140 and 141 the data transferred by the DMA controllers 121 and 125 is transferred according to an instruction from the arbiter 129.

131、132はATAI/Fコントローラであり、ハードディスク140,141がIDEのハードディスクであった場合に、ATA規格に沿ってIDEバス上をドライブし、ハードディスク140,141とデータの送受信を行うためのものである。   131 and 132 are ATA I / F controllers, and when the hard disks 140 and 141 are IDE hard disks, they drive on the IDE bus according to the ATA standard, and send and receive data to and from the hard disks 140 and 141. It is.

本実施例では、CPU101がレジスタ122、126、CPU111がレジスタ123、127を用いるものとし、DMAコントローラ121よりもDMA125の優先度が高いものとするが、どのCPUがどのレジスタに設定するかはCPU間で通信を行い動的に決定したり、DMAコントローラの優先度も接続された機器等によって変更することも考えられるが、そのような動的な変更を行った場合にも本特許に含まれることはいうまでもない。   In this embodiment, the CPU 101 uses the registers 122 and 126, and the CPU 111 uses the registers 123 and 127. The DMA 125 has higher priority than the DMA controller 121, but which CPU is set to which register is determined by the CPU. It is conceivable that the communication is performed dynamically and the priority of the DMA controller is changed depending on the connected device or the like, but such a dynamic change is also included in this patent. Needless to say.

図2は、本実施例において、CPUがハードディスクへのアクセスを行う動作を表したフローチャート図である。ここでは、CPU101がハードディスク140への読み書きを行う場合について説明を行う。   FIG. 2 is a flowchart showing an operation in which the CPU accesses the hard disk in this embodiment. Here, a case where the CPU 101 performs reading / writing on the hard disk 140 will be described.

まず、S1001においてタスクからデータ転送要求があるまで待機する。ここで、データ転送要求には、少なくともデータをReadするかWriteするか、データのやりとりを行うハードディスクの先頭アドレス、RAM103の先頭アドレスおよび転送データサイズ、どのDMAコントローラを使うかが含まれる。次に、S1002においてデータ転送要求のあったDMAコントローラが自CPUの要求によって動作中かどうかを調べる。もし、すでに動作している場合には、S1003において動作が終了するまで要求のあったタスクをサスペンドさせる。   First, in step S1001, the task waits until a data transfer request is issued from the task. Here, the data transfer request includes at least data read or write, the head address of the hard disk that exchanges data, the head address and transfer data size of the RAM 103, and which DMA controller is used. Next, it is checked in step S1002 if the DMA controller that requested the data transfer is operating according to the request of the CPU. If it is already operating, the requested task is suspended until the operation ends in S1003.

S1002で動作中のDMAコントローラではないコントローラに要求があった場合には、S1004において、DMAコントローラのレジスタ122にハードディスクの先頭アドレスを設定する。次にS1005、S1006においても同様にレジスタ122にデータサイズと転送するRAM103の先頭アドレス、データ転送方向をDMAコントローラに設定し、S1007においてDMAコントローラを起動する。   If there is a request from a controller that is not the DMA controller operating in S1002, the head address of the hard disk is set in the register 122 of the DMA controller in S1004. Similarly, in S1005 and S1006, the data size and the head address of the RAM 103 to be transferred and the data transfer direction are set in the DMA controller in the register 122, and the DMA controller is activated in S1007.

S1008において、DMAコントローラの終了割り込みを受信するまで待機し、終了割り込みを受信したら、S1009において、レジスタ122の初期化などのDMAコントローラの終了処理を行い、タスクに終了したことを通知して終了する。   In step S1008, the process waits until a DMA controller end interrupt is received. When the end interrupt is received, in step S1009, the DMA controller end process such as initialization of the register 122 is performed, and the task is notified and the process ends. .

本実施例では、タスクからDMAコントローラの指示を行ったが、この指示はタスクの優先順位から自動的に決めてもよいし、セクタごとに決めてもよい。   In this embodiment, the DMA controller is instructed from the task, but this instruction may be determined automatically from the priority of the task or may be determined for each sector.

図3は本実施例におけるハードディスクコントローラ120の動作を表したフローチャート図である。   FIG. 3 is a flowchart showing the operation of the hard disk controller 120 in this embodiment.

まず、S1101においてCPU101あるいは111がDMAコントローラを起動するまで待つ。DMAコントローラが起動されたら、S1102において転送要求のある中で優先度の高いDMAコントローラを選択する。本実施例において、レジスタ121とレジスタ126に値が設定された場合には、より優先度の高いDMAコントローラ125が選択される。   First, in S1101, the CPU 101 or 111 waits until the DMA controller is activated. When the DMA controller is activated, a DMA controller having a higher priority among the transfer requests is selected in S1102. In this embodiment, when values are set in the register 121 and the register 126, the DMA controller 125 having a higher priority is selected.

S1103において、選択されたDMAコントローラにおいて複数の値がセットされたかどうかを確認する。   In S1103, it is confirmed whether or not a plurality of values are set in the selected DMA controller.

もし、単一のレジスタにのみ値が設定された場合には、S1104において動作中のDMAコントローラがあるか否かを判定し、ない場合には、S1107において選択したDMAコントローラへ転送許可信号をアービター129が出力し、DMA転送が開始される。   If a value is set only in a single register, it is determined in S1104 whether there is an active DMA controller. If not, a transfer permission signal is sent to the selected DMA controller in S1107. 129 is output and DMA transfer is started.

もし、S1104において動作中のDMAコントローラがなかった場合には、動作中のDMAコントローラと選択したDMAコントローラが等しいかどうか、すなわち優先度の高いDMAコントローラが動作しているかどうかをアービター129が判断する。もし、優先度の高いDMAコントローラが動作している場合には、S1106において動作中のDMAコントローラを停止した後に、S1107に移る。   If there is no operating DMA controller in S1104, the arbiter 129 determines whether the operating DMA controller is equal to the selected DMA controller, that is, whether a high priority DMA controller is operating. . If a DMA controller with a high priority is operating, after stopping the operating DMA controller in S1106, the process proceeds to S1107.

次にS1108においてDMAコントローラがDMAにおける1ブロック転送が終了する。もし転送終了後に動作中のDMAコントローラのデータ転送が終了した場合には、S1110において要求されたCPUに割り込みをあげ、CPUはS1009に動作を行う。もしデータ転送が終了していない場合には、S1102に戻り再度どのDMAコントローラを起動するかを決定する。   Next, in S1108, the DMA controller completes one block transfer in DMA. If the data transfer of the active DMA controller is completed after the transfer is completed, an interrupt is issued to the requested CPU in S1110, and the CPU performs an operation in S1009. If the data transfer is not completed, the process returns to S1102 to determine which DMA controller is to be activated again.

S1103において選択したDMAコントローラの設定が複数のCPUによってなされていた場合には、S1111において、優先度が最大かどうかを確認する。優先度が最大の場合にはS1104に移行し、通常の場合と同じ処理によって起動するDMAコントローラが決定される。   If the setting of the DMA controller selected in S1103 has been made by a plurality of CPUs, it is confirmed in S1111 whether the priority is maximum. If the priority is the maximum, the process proceeds to S1104, and the DMA controller to be activated is determined by the same processing as in the normal case.

もし、優先度が最大の場合には、S1112において動作中のDMAコントローラがあるかを確認し、なければ、S1107に移る。ここでは上述したようにCPU101の設定した値が優先される。もし、動作中のDMAが存在した場合には、S1113において動作中のDMAコントローラが停止され、S1114において動作していなかったレジスタ設定値が設定され、S1107に移る。   If the priority is the highest, it is confirmed in S1112 whether there is an operating DMA controller, and if not, the process proceeds to S1107. Here, the value set by the CPU 101 is prioritized as described above. If there is an operating DMA, the operating DMA controller is stopped in S1113, the register set value that was not operating in S1114 is set, and the process proceeds to S1107.

本実施例では、優先度が最大の場合にCPU101のレジスタ設定を優先させたが、CPU111のレジスタ設定を優先させてもよいし、動的に切り替えた場合も本特許に含まれることは言うまでもない。   In the present embodiment, the priority is given to the register setting of the CPU 101 when the priority is the maximum, but the register setting of the CPU 111 may be given priority, and it goes without saying that this patent also includes a case of dynamic switching. .

本発明の第2の実施形態を図4に基づいて説明する。なお、前述した第一の実施例と同一部分については説明を省略し、同一の番号を付与する。   A second embodiment of the present invention will be described with reference to FIG. In addition, description is abbreviate | omitted about the same part as 1st Example mentioned above, and the same number is provided.

図3のフローチャートと同様に図4は、ハードディスクコントローラ120がDMAデータ転送要求を受けてデータ転送を行う場合の動作を表したフローチャート図である。   Similar to the flowchart of FIG. 3, FIG. 4 is a flowchart showing the operation when the hard disk controller 120 performs a data transfer upon receiving a DMA data transfer request.

本実施例で実施例1と異なるのは、まずS1201において同一ハードディスクへの転送要求における優先度の高いDMAコントローラを選択する。   This embodiment differs from the first embodiment in that first, in S1201, a DMA controller having a high priority in a transfer request to the same hard disk is selected.

また、S1111において優先度が最大かどうかを確認した後にS1202およびS1203において同一のハードディスクへの動作中のDMAコントローラがあるかどうかを確認することによって、異なるハードディスクへのDMA転送を停止させないようにする。   Also, after confirming whether the priority is the maximum in S1111, in S1202 and S1203, confirm whether there is an active DMA controller to the same hard disk, so that DMA transfer to different hard disks is not stopped .

S1204においては、選択したDMAコントローラを起動させる前に、選択したDMAコントローラの設定値からどのハードディスクへの読み書きを行うかをセレクタ130が決定する。   In S1204, before starting the selected DMA controller, the selector 130 determines which hard disk to read / write from the setting value of the selected DMA controller.

上述した実施例1との差異によって、複数のハードディスクを搭載した場合に異なるハードディスクへのDMAコントローラのアクセスを行うことが可能となる。   Due to the difference from the first embodiment described above, when a plurality of hard disks are mounted, the DMA controller can access different hard disks.

本実施例ではハードディスクがふたつの場合を想定して記述されているが、ハードディスクを3つ以上搭載した場合でも同様のシーケンスで同等の効果を得ることができる。   In this embodiment, the description is made on the assumption that there are two hard disks. However, even when three or more hard disks are mounted, the same effect can be obtained with the same sequence.

本実施例におけるデータ転送制御装置を含むシステム構成を示すブロック図である。It is a block diagram which shows the system configuration | structure containing the data transfer control apparatus in a present Example. 本実施例におけるCPUからハードディスクへのアクセス手順を示すフローチャート図である。It is a flowchart figure which shows the access procedure from CPU to a hard disk in a present Example. 本実施例におけるデータ転送制御装置の動作を示すフローチャート図である。It is a flowchart figure which shows operation | movement of the data transfer control apparatus in a present Example. 本実施例におけるハードディスクが複数つけられた場合のデータ転送制御装置の動作を示すローチャート図である。It is a flowchart showing the operation of the data transfer control device when a plurality of hard disks are attached in the present embodiment.

Claims (2)

複数記憶媒体に接続されるデータ転送制御装置であって、
メモリと前記複数の記憶媒体との間での複数のデータ転送を行う複数の転送手段と、
複数のCPUが前記転送手段を個別に設定する設定手段と、
複数の前記転送手段による複数のデータ転送に競合が生じる場合に、優先順位情報に基づき、前記複数のデータ転送を制御する制御手段と、
を有することを特徴とするデータ転送制御装置。
A data transfer control device connected to a plurality of storage media,
A plurality of transfer means for transferring a plurality of data between a memory and the plurality of storage media;
A setting unit in which a plurality of CPUs individually set the transfer unit;
Control means for controlling the plurality of data transfers based on priority information when contention occurs in a plurality of data transfers by the plurality of transfer means;
A data transfer control device comprising:
前記制御手段は、第1の転送手段による第1のデータ転送を行っているときに、前記第1の転送手段よりも優先順位の高い第2のデータ転送手段による第2のデータ転送が起動した場合、前記第1のデータ転送を一時中断し、前記第2のデータ転送を開始し、優先順位がもっとも高い第3の転送手段による第3のデータ転送を行っているときに、第3の転送手段と同じ優先順位の第4のデータ転送手段による第4のデータ転送が起動した場合には、前記第3のデータ転送と前記第4のデータ転送を交互にデータ転送を行うことを特徴とする請求項1に記載のデータ転送制御装置。   When the control unit performs the first data transfer by the first transfer unit, the second data transfer by the second data transfer unit having a higher priority than the first transfer unit is activated. The first data transfer is temporarily interrupted, the second data transfer is started, and the third data transfer is performed by the third transfer means having the highest priority. When the fourth data transfer by the fourth data transfer means having the same priority as the means is activated, the third data transfer and the fourth data transfer are alternately transferred. The data transfer control device according to claim 1.
JP2006085588A 2006-03-27 2006-03-27 Data transfer controller Withdrawn JP2007264751A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006085588A JP2007264751A (en) 2006-03-27 2006-03-27 Data transfer controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006085588A JP2007264751A (en) 2006-03-27 2006-03-27 Data transfer controller

Publications (1)

Publication Number Publication Date
JP2007264751A true JP2007264751A (en) 2007-10-11

Family

ID=38637720

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006085588A Withdrawn JP2007264751A (en) 2006-03-27 2006-03-27 Data transfer controller

Country Status (1)

Country Link
JP (1) JP2007264751A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2608011A1 (en) 2011-12-19 2013-06-26 Fujitsu Limited Storage device, and storage device control method
JP2014038651A (en) * 2013-10-10 2014-02-27 Fujitsu Ltd Multiprocessor system, control method, and control program
JP2015103121A (en) * 2013-11-27 2015-06-04 京セラドキュメントソリューションズ株式会社 Electronic equipment

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2608011A1 (en) 2011-12-19 2013-06-26 Fujitsu Limited Storage device, and storage device control method
US8806070B2 (en) 2011-12-19 2014-08-12 Fujitsu Limited Storage device, and storage device control method
JP2014038651A (en) * 2013-10-10 2014-02-27 Fujitsu Ltd Multiprocessor system, control method, and control program
JP2015103121A (en) * 2013-11-27 2015-06-04 京セラドキュメントソリューションズ株式会社 Electronic equipment

Similar Documents

Publication Publication Date Title
JP4408263B2 (en) Data transfer system and data transfer method
US7725621B2 (en) Semiconductor device and data transfer method
KR100630071B1 (en) High speed data transmission method using direct memory access method in multi-processors condition and apparatus therefor
JP2004355307A (en) Communication method and information processor
JP2008009803A (en) Information storage device, information transfer method, information transfer system, program and recording medium
JP2007264751A (en) Data transfer controller
JP6180398B2 (en) Memory access device
JP2007102436A (en) Storage controller and storage control method
JP5340058B2 (en) Image processing apparatus, control method thereof, and program
JP2004206424A (en) Data processing device and data transfer method for data processing device
JP6233287B2 (en) Memory access device, image processing device
JP2005165592A (en) Data transfer device
JP2005141344A (en) Disk array device and method for controlling it
JPH0628261A (en) Method and device for data transfer
JP2016103112A (en) Data transfer control device, information processing device, and image forming apparatus
JP7003752B2 (en) Data transfer device, data transfer method, program
JP6992616B2 (en) Data transfer device, data transfer method, program
JP2701739B2 (en) Processor switching method
JP2016154001A (en) Image processor, data transfer control method for image processing, and data transfer control program for image processing
JP2000099391A (en) Printer, printer controlling method and storage medium
JPH0351943A (en) Sharing system for high/low speed bus lines
JP4750620B2 (en) Data read method and system for tiered storage apparatus
JP2003308289A (en) Data processor
JP2005062946A (en) Memory controller
JP2008077389A (en) Data processor

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20090602