JP5637178B2 - DMA transfer apparatus, DMA transfer method, and DMA transfer program - Google Patents
DMA transfer apparatus, DMA transfer method, and DMA transfer program Download PDFInfo
- Publication number
- JP5637178B2 JP5637178B2 JP2012122087A JP2012122087A JP5637178B2 JP 5637178 B2 JP5637178 B2 JP 5637178B2 JP 2012122087 A JP2012122087 A JP 2012122087A JP 2012122087 A JP2012122087 A JP 2012122087A JP 5637178 B2 JP5637178 B2 JP 5637178B2
- Authority
- JP
- Japan
- Prior art keywords
- transfer
- transfer information
- dma
- peripheral device
- data
- 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.)
- Expired - Fee Related
Links
Images
Description
本発明は、DMA転送を実施する装置等に関する。 The present invention relates to an apparatus for performing DMA transfer.
ピーシーアイエクスプレス(PCI Express、以降、「PCIe」と表す)は、I/Oシリアルインターフェース(拡張バスの一種)である。ローカルエリアネットワーク(Local Area Network、以降、「LAN」と表す)、ディクス(DISK)、コンパクトディスク(Compact Disk等とも表す)、DVD(Digital Versatile Diskなどと称されることもある)、カートリッジ磁気テープ(Catridge Magnetic Tape、以降、「CGMT」と表す)等を含む1つ以上の周辺装置(以降、これらの周辺装置をまとめて、「周辺装置」と略記する)は、PCIeを介して、コンピュータシステムと結合する。また、中央演算処理装置(Central Processing Unit、以降、「CPU」と表す)は、PCIeを介して、アドレス、カウント、フラグなどに関して転送すべき情報(以降、これらのデータをまとめて、「転送情報」と略記する)をファームウェア(Firmware、以降、「FW」と表す)制御部とやり取りする。 PC Express (PCI Express, hereinafter referred to as “PCIe”) is an I / O serial interface (a type of expansion bus). Local area network (Local Area Network, hereinafter referred to as “LAN”), disk (DISK), compact disk (also referred to as Compact Disk, etc.), DVD (also referred to as Digital Versatile Disk, etc.), cartridge magnetic tape One or more peripheral devices (hereinafter, these peripheral devices are collectively referred to as “peripheral devices”) including, for example, (Catridge Magnetic Tape, hereinafter referred to as “CGMT”) are computer systems via PCIe. Combine with. A central processing unit (Central Processing Unit, hereinafter referred to as “CPU”) also transmits information regarding addresses, counts, flags, etc. via PCIe (hereinafter referred to as “transfer information”). "Is abbreviated as" ") and communicates with a firmware (Firmware, hereinafter referred to as" FW ") control unit.
入出力処理装置(Input Output Processor、以降、「IOP」と表す)は、CPUと、主記憶装置(メインメモリ、Main Memoryなどとも表す)を制御するメインメモリコントローラ(Main Memory Controller、以降、「MMC」と表す)とから独立して、コンピュータシステムに対して行われる入出力に関する処理を行う。 An input / output processing device (Input Output Processor, hereinafter referred to as “IOP”) is a main memory controller (Main Memory Controller), which controls a CPU and a main storage device (also referred to as main memory, Main Memory, etc.). Independently from the above, a process related to input / output performed on the computer system is performed.
IOPは、周辺装置とMMCとの間に存在する。IOPは、コンピュータシステムにおけるメインメモリと、1つ以上の周辺装置との間で、ダイレクトメモリアクセス(Direct Memory Access、以降、「DMA」と表す)を利用しながら、入出力すべきデータを転送する機能を有する。 The IOP exists between the peripheral device and the MMC. The IOP transfers data to be input / output between a main memory in a computer system and one or more peripheral devices while using direct memory access (hereinafter referred to as “DMA”). It has a function.
図10を参照しながら、DMA転送装置について説明を行う。図10は、特許文献1乃至3に記載されたDMA転送装置の構成を示すブロック図である。 The DMA transfer apparatus will be described with reference to FIG. FIG. 10 is a block diagram showing the configuration of the DMA transfer apparatus described in Patent Documents 1 to 3.
図10を参照すると、IOP85は、IOP全体を制御するFW制御部90と、周辺装置75とメインメモリ65と間で、DMAデータ転送を制御するデータ転送部(Input Output Controller、以降、「IOC」と表す)95と、周辺装置75へ拡張するためのデバイスであるPCIeスイッチ45と、周辺装置75とPCIeスイッチ45とを繋ぐホストバスアダプター50と、LAN80とPCIeスイッチ45とを繋ぐIOアダプター55とから構成される。FW制御部90とIOC95は、PCIe25を介して接続する。IOC95とPCIeスイッチ45は、PCIe40を介して接続する。
Referring to FIG. 10, the IOP 85 includes an
コンピュータシステムから見る場合、係るDMA転送装置において、PCIeスイッチ45の外側には、一つ以上の入出力(Input Output、以降、「IO」と表す)アダプター55(例えば、SCSIカードやLANネットワークインターフェースカード(Network Interface Card、以降NICと略記する)などが存在する。加えて、IOP85は、Input Output Adaptor、以降「IOA」と略記する)、ホストチャネルアダプター(Host_Channel_Adopter、以降、「HCA」と表す)、ホストバスアダプター50(Host_Bus_Adaptor、以降、「HBA」と表す))等を有する。更に、IOアダプター55の外側には、LAN80が接続される。
When viewed from a computer system, in the DMA transfer apparatus, one or more input / output (hereinafter referred to as “IO”) adapters 55 (for example, a SCSI card or a LAN network interface card) are provided outside the
IOP85とメインメモリコントローラ70とは、PCIe15を介して接続する。DMAライト(write)転送を行う場合、まず、周辺装置75は、IOアダプター55に転送データを送信する。次に、IOC95は、PCIeスイッチ45とPCIe40を介して、周辺装置75が送信した転送データを受け取る。その後、IOC95は、さらに、PCIe15を介して、受信した転送データをメインメモリコントローラ70に送る。上述したような制御により、IOP85は、周辺装置75からメインメモリ65へ、CPU60を仲介することなく、転送データを転送する。
The IOP 85 and the
FW制御部90は、コンピュータシステムにおけるIO処理全般を制御するFWを搭載する制御機構であり、CPU60、あるいは、オペレーティングシステム(Operating System、以降、「OS」と表す)が行う入出力要求に対して、IOP85を構成するホストバスアダプター50、PCIeスイッチ45、IOC95等を制御する。その制御により、IOC95は、PCIe40を介して接続する周辺装置75と、メインメモリ65との間において、転送データを転送する。さらに、FW制御部90は、チャネルプログラム(以降、「CP」と表す)が指定する論理アドレスを物理アドレスに変換する機能と、CPから転送情報を生成してIOC95に転送する機能を有する。
The
FW制御部90は、CPU60から、IOを起動する命令(以降、「IO起動命令」と記す)を受け取り、受け取ったIO起動命令を実行するために必要なコマンドと、アドレスを指定する情報とから構成されるCPをメインメモリ65から取得する。次に、FW制御部90は、CPが指定する論理アドレスを物理アドレスに変換し、次にCPから転送情報を生成し、その後、生成した転送情報をIOC95に転送する。さらに、FW制御部90は、IOC95から転送情報を登録する処理が完了したことを知らせる信号(以降、「転送情報登録完了信号」と表す。)を受信する。さらに、FW制御部90は、IOアダプター55(例えば、NIC、HBA、HCA等)から、DMAにおける転送が完了したことを知らせる通知(以降、「DMA転送完了通知」と略記する)を受信する。FW制御部90は、転送情報登録完了信号とDMA転送完了通知を受信したときに、CPU60に対して、DMAにおける転送(以降、「DMA転送」とも表す)が完了したことを報告する。
The
IOC95は、FW制御部90から読み取った転送情報を格納する転送情報バッファ30と、周辺装置75から送られて来る転送データを一時的に格納するトランザクション(Transaction、以降、「Txn」と表す)バッファ35とを有する。IOC95は、転送情報バッファ30における転送情報に応じて、Txnバッファ35に存在する転送データを、メインメモリ65へ転送する。
The IOC 95 includes a
特許文献1が開示するDMA転送装置によれば、論理アドレスがメインメモリに存在するページを跨いでアクセスする結果生ずる効率低下を軽減することができる。特許文献1が開示するDMA転送装置は、効率低下を軽減するために、アドレスを物理アドレスとして保持するアドレスレジスタ等を備える。 According to the DMA transfer device disclosed in Patent Document 1, it is possible to reduce a decrease in efficiency that occurs as a result of accessing a logical address across pages existing in the main memory. The DMA transfer device disclosed in Patent Document 1 includes an address register or the like that holds an address as a physical address in order to reduce a decrease in efficiency.
特許文献2が開示するDMA転送装置(IOPとも表す)は、発行するコマンドにより生じる内部メモリにおけるオーバーフローやアンダーフローの発生を軽減する。発生を軽減する結果、特許文献2が開示するDMA転送装置は、転送データを転送する時間を短縮することができる。上述したような効果を実現するために、特許文献2が開示するDMA転送装置は、転送データ量を計測するデータカウンタを備えており、データカウンタの値が所定の範囲内であるときにのみ、コマンドを発行する。 The DMA transfer device (also referred to as IOP) disclosed in Patent Document 2 reduces the occurrence of overflow and underflow in the internal memory caused by a command to be issued. As a result of reducing the occurrence, the DMA transfer device disclosed in Patent Document 2 can reduce the time for transferring the transfer data. In order to realize the effects as described above, the DMA transfer device disclosed in Patent Document 2 includes a data counter that measures the amount of transfer data, and only when the value of the data counter is within a predetermined range. Issue a command.
特許文献3が開示するDMA転送装置は、同時期に全てのチャネルのバッファを全て占拠するような転送が行われることが少ないという特性を利用する。特許文献3が開示するDMA転送装置は、データバッファをパーティションに分割し、分割したパーティションに使用状態を示すフラグを備え、フラグの値に応じてデータバッファを動的に割り当てる。特許文献3が開示するDMA転送装置は、利用される可能性の少ないデータバッファを削減すことで無駄を削減する。 The DMA transfer device disclosed in Patent Document 3 uses the characteristic that transfers that occupy all the buffers of all channels are rarely performed at the same time. The DMA transfer device disclosed in Patent Document 3 divides a data buffer into partitions, includes a flag indicating a use state in the divided partition, and dynamically allocates the data buffer according to the value of the flag. The DMA transfer device disclosed in Patent Document 3 reduces waste by reducing data buffers that are less likely to be used.
特許文献1乃至3に開示されたコンピュータシステムにおいて、IOPは、CPに書かれている指示に従い動作をする。FW制御部90は、CPにおける転送情報を複数段の転送情報バッファ30に登録し、その後にDMAを起動する。
In the computer systems disclosed in Patent Documents 1 to 3, the IOP operates in accordance with instructions written in the CP. The FW
ここで、図11を参照しながら、IOPにおける処理に要する時間の一例を示す。図11は、特許文献などに開示されたDMA転送装置が、周辺装置75などからの転送データをメインメモリ65に転送(即ち、「DMAライト(write)転送」と表す)する処理におけるタイミングの一例を表す図である。図11における縦軸は、時刻の推移を表しており、下に行くほど時刻が進んでいることを示す。図11における横軸は、CPU60,メインメモリ65、FW制御部90、IOC95、ホストバスアダプター50、周辺装置75を表す。図11における横軸に平行な矢印は、各装置などから発生するアクセス要求を表しており、縦軸に平行な線は、各装置(横軸の値に対応する)が行う処理時間を示す。例えば、FW制御部90が、CPをメインメモリ65から取得する処理を行うとき処理は、図11において、FW制御部90とメインメモリ65との間において、FW制御部90からメインメモリ65に向いている矢印と、メインメモリ65からFW制御部90に向いている矢印とが、時刻を経過して(縦軸の下方向に進んで)存在することにより、表現される。
Here, an example of the time required for processing in the IOP will be shown with reference to FIG. FIG. 11 shows an example of timing in a process in which a DMA transfer device disclosed in a patent document or the like transfers transfer data from the
例えば、最大64段の転送情報バッファ(レジスタ)30を有するコンピュータシステムにおいては、DMAを起動する前処理として、64段分の転送情報を転送情報バッファ30に登録する時間が、DMAを実行するごとに必要である。ここで、1段分の転送情報を転送情報バッファ30に登録する時間、即ち、「FW制御部90がCPを取得し、その後、CPが指定する論理アドレスを物理アドレスに変換し、1段分の転送情報を転送情報バッファ30に登録するまでの処理時間」が4(マイクロ秒/段、以降、マイクロ秒を「μs」と表す)であるとする。例えば、特許文献1、2または3が開示するDMA転送装置においては、4(μs/段)×64(段分)=256(μs)が、転送情報バッファ30へ登録する時間として、DMAを起動する前処理に必要である。
For example, in a computer system having a transfer information buffer (register) 30 with a maximum of 64 stages, as a pre-process for starting DMA, the time for registering transfer information for 64 stages in the
FW制御部90は、メインメモリ65との間において、64段分の転送情報を転送情報バッファ30に登録した後(図11における「転送情報登録完了」の時刻)、すなわち、FW制御部90がCPを取得し始めてから256(μs)後に、周辺装置75に対してDMAを起動する処理を行う。その後、周辺装置75は、転送データを転送することが可能なことを通知するレディ信号を発信する。FW制御部90は、該レディ信号を受信し、その後にIOC95を使って転送データを転送する。
The FW
一方、転送情報を転送情報バッファ30に登録する処理と、DMAを起動する処理とが独立しているコンピュータシステムにおいては、DMAを起動する場合、転送情報を供給することが間に合わなくなることがある。供給が間に合わない場合、上述したようなコンピュータシステムは、時に、一時的にPCIeバスを停止するビジー状態(以降、単に「ビジー状態」と表す)になる。発生するビジー状態が原因となり、特許文献1、2または3が開示するDMA転送装置においては、DMAに関連する処理を実行する効率が低下する。
On the other hand, in a computer system in which the process for registering transfer information in the
そこで、本発明の主たる目的は、処理効率の高いDMA転送装置等を提供することである。 Accordingly, a main object of the present invention is to provide a DMA transfer device or the like with high processing efficiency.
前述の目的を達成するために、本発明に係るDMA転送装置は、以下の構成を備えることを特徴とする。 In order to achieve the above object, a DMA transfer apparatus according to the present invention has the following configuration.
即ち、本発明に係るDMA転送装置は、
周辺装置からメインメモリコントローラにデータを転送するデータ転送部と、
前記データに関する全転送情報のうち、一部の転送情報を記憶する第1処理を行い、前記周辺装置にDMA転送を起動する信号を送信する第2処理を行い、残りの転送情報を記憶する第3処理を実行するとともに、前記周辺装置が前記データを転送することが可能なことを知らせるレディ信号を受信する第4処理を行い、その後、前記データ転送部を起動する制御部とを
備えることを特徴とする。
That is, the DMA transfer apparatus according to the present invention is
A data transfer unit for transferring data from the peripheral device to the main memory controller;
A first process for storing a part of the transfer information regarding the data is performed, a second process for transmitting a signal for starting DMA transfer to the peripheral device is performed, and the remaining transfer information is stored. And a control unit that performs a fourth process of receiving a ready signal notifying that the peripheral device can transfer the data, and then starts the data transfer unit. Features.
また、本発明の他の見地として、本発明に係るDMA転送方法は、
周辺装置から転送すべきデータに関する全転送情報のうち、一部の転送情報を記憶し、前記周辺装置にDMA転送を起動する信号を送信し、残りの転送情報を記憶するとともに、前記周辺装置が前記データを転送することが可能なことを知らせるレディ信号を受信し、その後、前記周辺装置からメインメモリコントローラにデータを転送
することを特徴とする。
As another aspect of the present invention, a DMA transfer method according to the present invention includes:
Among all transfer information related to data to be transferred from the peripheral device, a part of the transfer information is stored, a signal for starting DMA transfer is transmitted to the peripheral device, and the remaining transfer information is stored. A ready signal notifying that the data can be transferred is received, and then the data is transferred from the peripheral device to the main memory controller.
本発明に係るDMA転送装置等によれば、DMAに関連する処理の効率を向上させることができる。 The DMA transfer apparatus and the like according to the present invention can improve the efficiency of processing related to DMA.
次に、発明を実施するための最良の形態について図面を参照して詳細に説明する。 Next, the best mode for carrying out the invention will be described in detail with reference to the drawings.
<第1の実施形態>
本発明の第1の実施形態に係るDMA転送装置が有する構成について、図1を参照しながら詳細に説明を行う。図1は、本発明の第1の実施形態に係るDMA転送装置の構成を示すブロック図である。DMA転送装置10は、周辺装置75からメインメモリコントローラ70に転送データを転送するIOC17と、制御部20とを備える。まず、制御部20は、一部の転送情報をバッファ(図1には不図示)に登録する。次に、制御部20は、周辺装置75にDMA転送を起動する信号を送信する。次に、制御部20は、残りの転送情報をバッファ(図1には不図示)に登録する。
<First Embodiment>
The configuration of the DMA transfer apparatus according to the first embodiment of the present invention will be described in detail with reference to FIG. FIG. 1 is a block diagram showing the configuration of the DMA transfer apparatus according to the first embodiment of the present invention. The
周辺装置75は、DMA転送を起動する信号を受け取る。次に、周辺装置75は、転送データを転送する準備を行う。周辺装置75は、その準備が終了すると、転送データを転送することが可能であることを知らせるレディ信号を発信する。次に、制御部20は、IOC17に転送データを転送する処理を命じる。その後、IOC17は、周辺装置75からメインメモリコントローラ70に転送データを転送する。
The
DMA転送装置10は、メインメモリコントローラ70を経て、CPU60とメインメモリ65と情報をやり取り(アクセス)する。また、DMA転送装置10は、周辺装置75とも情報をやり取りする。
The
次に、DMA転送装置10が行う処理の流れについて、図2あるいは図3を参照しながら詳細に説明を行う。図2は、本発明の第1の実施形態に係るDMA転送装置10が、DMAライト転送を行う処理におけるタイミングの一例を表す図である。図3は、本発明の第1の実施形態に係るDMA転送装置における処理の流れを示すフローチャートである。図2は、上述した図10と同種の図であるため、重複する説明は省略する。図2における縦軸は、時刻の推移を表しており、下に行くほど時刻が進んでいることを示す。図2における横軸は、CPU60,メインメモリ65、制御部20、IOC17、HBA(図1には不図示)、周辺装置75を表す。
Next, the flow of processing performed by the
例えば、コンピュータシステムには、64段の転送情報が存在しているとする。図2を参照すると、制御部20は、メインメモリ65からCPを取得し、その後、CPが指定する論理アドレスを物理アドレスに変換する処理を行う。図2に示す例においては、制御部20は、1段分の転送情報を登録し(図3におけるステップS10)、その後、周辺装置75に対しDMA転送を起動する信号を送信する(図3におけるステップS20)。その後、制御部20は、残りの63段の転送情報を登録する処理を行う(図3におけるステップS30)。
For example, it is assumed that 64-stage transfer information exists in a computer system. Referring to FIG. 2, the
周辺装置75は、そのDMA転送を起動する信号を受け取る。次に、周辺装置75は、転送データを転送する準備を行う。周辺装置75は、その準備が終了すると、転送データを転送することが可能であることを知らせるレディ信号を発信する。次に、制御部20は、周辺装置75が発信したレディ信号を受信する(図3におけるステップS40)。その後、IOC17は、周辺装置75からメインメモリコントローラ70を経てメインメモリ65に転送データを転送する(図3におけるステップS50)。
The
周辺装置75が上述したような処理を行う間に、制御部20は、残りの63段分の転送情報を登録する処理を行う。制御部20が、転送情報を登録する処理とDMA転送を開始する処理とを同期させながら行うことによって、PCIeがビジー状態になる可能性を低下させつつ、転送情報を登録するターンアラウンドタイム(Turn Around Time、以降「TAT」と略記する)を短縮させることができる。
While the
上述した例において、制御部20は、1段分の転送情報を登録した後に、DMA転送を開始する処理を行うが、必ずしも1段である必要はない。例えば2段であっても、3段であっても、あるいは、1段目から2段目の途中であっても、63段(即ち、64段の転送情報から1を引いた値)以下の転送情報を登録し、その後にDMA転送を開始する処理を行う場合には、周辺装置75が行う処理と制御部20が転送情報を登録する処理とが並行できるため、本発明の第1の実施形態に係るDMA転送装置により、TATを短縮させることができる。
In the example described above, the
また、上述した例において、コンピュータシステムには、64段の転送情報が存在すると仮定したが、必ずしも64段である必要はない。 In the above example, it is assumed that the transfer information of 64 stages exists in the computer system, but it is not always necessary to have 64 stages.
即ち、本発明における第1の実施形態に係るDMA転送装置によれば、DMAに関連する処理の効率を向上させることができる。 That is, according to the DMA transfer apparatus according to the first embodiment of the present invention, the efficiency of processing related to DMA can be improved.
<第2の実施形態>
次に、上述した第1の実施形態を基本とする第2の実施形態について説明する。
<Second Embodiment>
Next, a second embodiment based on the above-described first embodiment will be described.
以下の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第1の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明は省略する。 In the following description, the characteristic parts according to the present embodiment will be mainly described, and the same reference numerals will be given to the same configurations as those in the first embodiment described above, and the redundant description will be omitted. To do.
図4を参照しながら、本発明における第2の実施形態に係るDMA転送装置について説明を行う。図4は、本発明の第2の実施形態に係るDMA転送装置の構成を示すブロック図である。 The DMA transfer apparatus according to the second embodiment of the present invention will be described with reference to FIG. FIG. 4 is a block diagram showing the configuration of the DMA transfer apparatus according to the second embodiment of the present invention.
図4を参照すると、DMA転送装置11は、更に、転送情報バッファ30を備える。転送情報バッファ30は、複数の段を有する構成である。制御部21は、転送情報を転送情報バッファ30に登録する。以下の説明においては、転送情報バッファ30は、複数の段を有するとして説明を行うが、その段が1つの転送情報バッファに対応するとしても何ら得られる効果は変わらない。即ち、DMA転送装置11は、複数の転送情報バッファ30を備えるとしてもよい。
Referring to FIG. 4, the
第1の実施形態に係るDMA転送装置において説明した例と同様に、例えば、コンピュータシステムには、64段の転送情報が存在するとする。制御部21は、1段分の転送情報を1段の転送情報バッファ30に登録し、その後、DMA転送を起動する処理を実施する。その後、制御部21は、残りの63段の転送情報を転送情報バッファ30に登録する処理を行う。
Similar to the example described in the DMA transfer apparatus according to the first embodiment, for example, it is assumed that 64-stage transfer information exists in a computer system. The
周辺装置75は、DMA転送が開始されてから、DMA転送装置11に転送データを送信するまでの処理を実施する。周辺装置75が処理を行う間に、制御部21は、残りの63段分の転送情報を転送情報バッファ30に登録する処理を行う。制御部21が、転送情報バッファ30に転送情報を登録する処理とDMA転送を開始する処理とを同期させながら行うことによって、PCIeがビジー状態になる可能性を低下させつつ、転送情報を登録するTATを短縮させることができる。
The
また、上述した例において、コンピュータシステムには、64段の転送情報が存在すると仮定したが、必ずしも64段である必要はない。 In the above example, it is assumed that the transfer information of 64 stages exists in the computer system, but it is not always necessary to have 64 stages.
即ち、本発明における第2の実施形態に係るDMA転送装置によれば、DMAに関連する処理の効率を向上させることができる。 That is, according to the DMA transfer apparatus according to the second embodiment of the present invention, the efficiency of processing related to DMA can be improved.
<第3の実施形態>
次に、上述した第2の実施形態を基本とする第3の実施形態について説明する。
<Third Embodiment>
Next, a third embodiment based on the above-described second embodiment will be described.
以下の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第2の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明は省略する。同様に、上述した特許文献1、2あるいは3と同様な構成についても、同一の参照番号を付すことにより、重複する説明は省略する。 In the following description, the characteristic part according to the present embodiment will be mainly described, and the same components as those in the second embodiment described above will be denoted by the same reference numerals, and redundant description will be omitted. To do. Similarly, the same reference numerals are assigned to configurations similar to those in the above-described Patent Documents 1, 2, or 3, and duplicate descriptions are omitted.
図5を参照しながら、本発明における第3の実施形態に係るDMA転送装置について説明を行う。図5は、本発明の第3の実施形態に係るDMA転送装置の構成を示すブロック図である。 A DMA transfer apparatus according to the third embodiment of the present invention will be described with reference to FIG. FIG. 5 is a block diagram showing a configuration of a DMA transfer apparatus according to the third embodiment of the present invention.
図5を参照すると、DMA転送装置12は、CPの取得などの処理を行う制御部22と、DMA転送処理を行うIOC17と、PCIeスイッチ45と、周辺装置75を接続するIOアダプター55(または、ホストバスアダプター50)から構成される。
Referring to FIG. 5, the
制御部22は、所定の算出方法により、周辺装置75にDMA転送を起動する信号を送信する前に行う、転送情報の処理量を算出する。例えば、転送情報を転送情報バッファ30に登録する時間と、制御部22がDMAを起動する時点から、LAN80などの周辺装置75に応じて、周辺装置75から送られる転送データをTxnバッファ35に一時保存できる状態になるまでの時間とから、DMAを起動する処理を行う前に登録する転送情報バッファ30の段数を算出する。
The
例えば、1段分の転送情報を転送情報バッファ30に登録する処理に要する時間が4(μs/段)であり、転送情報バッファ30の段数が最大64(段)であり、DMAを起動してから周辺装置75から送られる転送データをTxnバッファ35に一時保存できる状態になるまでの時間、即ち、周辺装置75が行う処理に要する時間が250(μs)であると仮定する。
For example, the time required to register the transfer information for one stage in the
全ての転送情報を登録する処理に要する時間は、1段分の処理に要する時間と、段数を掛け合わせた値となる。即ち、制御部22は、式1のように、全ての転送情報を登録する処理に要する時間を算出する。
The time required for the process of registering all transfer information is a value obtained by multiplying the time required for one stage of processing by the number of stages. That is, the
64(段)×4(μs)=256(μs)・・・(式1)
上記の処理と、周辺装置75が行う処理(所要時間は、250(μs))とは、ほぼ同時に実行することができる。そこで、制御部22は、全ての転送情報を登録する処理に要する時間から、周辺装置75から送られる転送データをTxnバッファ35に一時保存可能な状態になるまでの時間を差し引き、DMAを起動する以前に存在する時間を算出する。ここで、周辺装置75から送られる転送データをTxnバッファ35に一時保存可能な状態になるまでの時間が250(μs)であるとする。上述した例において、制御部22は、式2のように時間を算出する。
64 (stage) × 4 (μs) = 256 (μs) (Equation 1)
The above processing and the processing performed by the peripheral device 75 (required time is 250 (μs)) can be executed almost simultaneously. Therefore, the
256(μs)―250(μs)=6(μs)・・・(式2)
上述した処理に従って算出した値が正の値になる場合、周辺装置75が行う処理に要する時間に比べて、全ての転送情報を登録する処理に要する時間の方が長いことになる。すなわち、制御部22がDMAを起動する処理を先に行う場合、ビジー状態が生じ、その結果、コンピュータシステムにおいては、DMAに関連する処理の効率が低下することになる。そこで、ビジー状態を軽減するため、制御部22は、DMAを起動する処理を行う以前に、後述する処理に従って算出する段数に応じて転送情報を登録する処理を行う。制御部22が、上述したように処理を行うことで、ビジー状態を軽減することができる。
256 (μs) −250 (μs) = 6 (μs) (Expression 2)
When the value calculated according to the above-described process becomes a positive value, the time required for the process for registering all transfer information is longer than the time required for the process performed by the
また、式2に示した例に従って算出する値が0以下の値になる場合には、周辺装置75が行う処理に要する時間に比べて、全ての転送情報を登録する処理に要する時間の方が短いことになる。このような場合には、制御部22がDMAを起動する処理を先に行う場合であっても、ビジー状態が生じることはない。制御部22は、DMAを起動する処理を行い、その後に、転送情報を登録する処理を行う。
When the value calculated according to the example shown in Expression 2 is 0 or less, the time required for the process of registering all transfer information is longer than the time required for the process performed by the
制御部22は、式2に示した例に従って算出する値が正の値になると判定する場合に、式2により算出する値を、1段分の転送情報を登録する処理に要する時間で割り算を行い、見積り値を算出する。上述した例においては、制御部22は、式3に従い、見積り値を算出する。
When the
6(μs)÷4(μs/段)=1.5(段)・・・(式3)
上述のように算出する見積り値において、小数点以下を切り下げる場合、すなわち、1(段)とする場合、ビジー状態が生じることになる。しかしながら、転送情報を登録する処理とDMAを起動する処理とを独立して行う場合に比べて、DMAに関連する処理の効率を向上させる可能性が高い。
6 (μs) ÷ 4 (μs / stage) = 1.5 (stage) (Equation 3)
When the estimated value calculated as described above is rounded down, that is, 1 (stage), a busy state occurs. However, there is a high possibility that the efficiency of processing related to DMA is improved as compared with the case where processing for registering transfer information and processing for starting DMA are performed independently.
あるいは、上述のように算出する見積り値において、小数点以下を切り上げる場合、すなわち、2(段)とする場合、ビジー状態は生じない。制御部22は、上述のように算出する段数分の転送情報を登録する処理を行い、その後に、DMAを起動する処理を行い、その後に、残りの段数の転送情報を登録する処理を行う。制御部22が、このように処理を行うことで、DMAに関連する処理の効率を向上させることができる。
Alternatively, when the estimated value calculated as described above is rounded up after the decimal point, that is, when it is set to 2 (stages), the busy state does not occur. The
上述した例において、転送情報バッファ30の段数が64段である場合、2段乃至63段(即ち、転送情報バッファ30の段数から1を引いた値)の値であれば、ビジー状態が生じることはなく、さらに、転送情報を登録する処理と周辺装置75が行う処理とを並行して行うことができる。従って、制御部22は、DMAに関連する処理の効率を向上させることができる。
In the above example, when the number of stages of the
上述した例においては、転送情報バッファ30の段数が64(段)であり、周辺装置75が行う処理に要する時間が250(μs)であり、1段分の転送情報を転送情報バッファ30に登録する処理に要する時間が4(μs/段)であると仮定している。しかしながら、本発明の第3の実施形態に係るDMA転送装置の処理は、上記の数値に限定されるものではない。即ち、本発明の第3の実施形態に係るDMA転送装置の処理は、上述した数値以外の数値であっても同様に処理によって、DMAに関連する処理の効率を向上させることができる。
In the example described above, the number of stages of the
本発明の第3の実施形態に係るDMA転送装置が行う処理の流れを、図6を参照しながら説明する。図6は、本発明の第3の実施形態に係るDMA転送装置が、DMAライト転送を行うときの処理のタイミングを表す図である。図6は、上述した例における処理時間であるときのタイミングを表しており、図11と同様の図である。 The flow of processing performed by the DMA transfer apparatus according to the third embodiment of the present invention will be described with reference to FIG. FIG. 6 is a diagram illustrating processing timing when the DMA transfer apparatus according to the third embodiment of the present invention performs DMA write transfer. FIG. 6 shows the timing when it is the processing time in the above-described example, and is the same diagram as FIG.
図6を参照すると、CPU60から制御部22に、IO起動命令が発行されると、制御部22は、メインメモリ65からCPを取得する。CPは、IOを実行するコマンドと、アドレスを指定する情報(以降、「アドレス指定情報」と略記する)と、以降実施するコマンドがやり取りするデータが連続するか否かを示すデータチェインに関する情報等を含んでいる。
Referring to FIG. 6, when an IO activation command is issued from the
取得するCPにおけるアドレス指定情報が、論理アドレスで記述されている場合に、制御部22は、1度以上、メインメモリ65とアドレスに関する情報をやり取りする(以降、情報をやり取りすることを、「アクセスする」とも表現する)。制御部22は、アクセスして得られる情報に従い、CPが指定する論理アドレスをメインメモリ65における物理アドレスに変換する。その後、制御部22は、転送情報を作成し、作成した転送情報をIOC17に転送する。
When the address designation information in the CP to be acquired is described by a logical address, the
次に、IOC17は、上述した転送情報を受信すると、転送情報バッファ30に格納した後に、1段目に関する転送情報登録完了信号を制御部22に送信する。
Next, when receiving the transfer information described above, the
仮に、制御部22とメインメモリ65との間を1回アクセスする処理に要する時間を1(μs/回段)とし、CPを取得する処理から、CPが指定する論理アドレスから物理アドレスへ変換する処理までの間に、4回アクセスして転送情報バッファ30に登録するとする。その場合、1段分の転送情報を登録する処理に要する時間は、4(回)×1(μs/回段)=4(μs/段)である。また、コンピュータシステムが、64段の転送情報バッファ30を有する構成である場合、転送情報を、全て、転送情報バッファ30に格納する処理に要する時間は、先に算出した値を使って、64(段)×4(μs/段)=256(μs)となる。
Temporarily, the time required for the process of accessing the
一方、制御部22が、IOアダプター55(例えば、ホストバスアダプター50など)にDMA転送を開始する命令を発行すると、IOアダプター55は、周辺装置75に対してアクセスを開始する。
On the other hand, when the
転送データを転送する速度は、インターフェースの種類、周辺装置75の種類、キャッシュが存在するか否かなどに応じて異なる。例えば、周辺装置75の転送速度は、現時点では、1(Mega bit per second、以降「Mbps」と表す)〜1(Giga bit per second、以降「Gbps」と表す)であり、IOアダプター55に接続するLANの転送速度は、10(Mbps)〜10(Gbps)である。仮に、DMAを起動する処理から、データをアクセスし、Txnバッファ35にデータ転送を開始する処理までに要する時間、即ち、IOアダプター55から接続する周辺装置75へアクセスする処理に要する時間が、250(μs)である場合、250(μs)後に、DMAライト転送が開始される。
The speed at which transfer data is transferred differs depending on the type of interface, the type of
例えば、本発明の第3の実施形態に係るDMA転送装置12において、IOC17が64段分の転送情報バッファ30を有しており、1段分の転送情報バッファ30における転送情報を登録する処理に要する時間が4(μs/段)であるとする(図6におけるメインメモリと制御部との間に存在する矢印)。さらに、DMAが起動する処理から、Txnバッファ35にデータ転送を開始する処理の前までに要する時間、即ち、周辺装置75へのアクセス時間が250(μs)であるとする(図6に示す周辺装置の時間経過に表した波線)。
For example, in the
さらに、上述したように、制御部22が、見積り値を2段であると算出すると、2段分の転送情報を転送情報バッファ30に登録する(図6における転送情報登録完了(2段目))。即ち、IOC17は、8μs(=4(μs/段)×2(段))後に、転送情報登録完了信号を制御部22に発行できるため(図6におけるDMA起動)、本発明に係る第3の実施形態に係るDMA転送装置によれば、62段分のTAT(すなわち、時間に換算すれば、62段×4μs/段=248μs)を改善することができる。さらに上述したように、本発明の第3の実施形態に係るDMA転送装置によれば、ビジー状態を軽減して性能低下を抑えることができる。
Further, as described above, when the
上記に例示した所定の算出方法は以下のようになる。即ち、周辺装置75からレディ信号を受け取る時刻と、転送情報を転送情報バッファ30に登録することが完了する時刻とを一致させるとすると、DMAを起動する以前に存在する時間T(「見積り時間」とも表現する)は、式3のように算出される。
The predetermined calculation method exemplified above is as follows. That is, if the time at which the ready signal is received from the
T=N×S―D・・・(式4)、
(ただし、
Dは、制御部22が周辺装置75にDMA転送を起動する信号を送信する処理から、制御部22が周辺装置75からレディ信号を受信する処理が完了するまでの時間、
Nは、転送情報バッファ30を構成する段数、
Sは、制御部22が1段分の転送情報バッファ30における転送情報を登録する処理に要する時間である)。
T = N × SD (Expression 4)
(However,
D is a time from the process in which the
N is the number of stages constituting the
S is the time required for the
式4において「N×S」は、「制御部22が全ての段数(上記例においては64段)分の転送情報を転送情報バッファ30に登録する処理に要する時間」を表す。
In Expression 4, “N × S” represents “the time required for the
時間Tが正である場合に、式5に従い段数Dに換算する。 When the time T is positive, it is converted into the number of stages D according to Equation 5.
D=T÷S・・・(式5)。 D = T ÷ S (Formula 5).
(ただし、Dの値の小数点以下を切り上げる数値以上であり、第1の段の段数以下の整数値の1つを選ぶ)
また、時間Tが負である場合に、式5に従い段数Dに換算する。
(However, select an integer value that is greater than or equal to the value rounded up after the decimal point of D and less than or equal to the number of stages in the first stage.)
Further, when the time T is negative, it is converted into the stage number D according to Equation 5.
D=0。 D = 0.
所定の算出方法は、上述した方法に限られるものではなく、例えば、Sが複数段の転送情報バッファ30における転送情報を登録する処理に要する時間であっても良い。その場合には、Sを1段の処理時間に換算を行い、その後に、得られる値を新たにSとして、時間Tを式4に従い算出する。
The predetermined calculation method is not limited to the above-described method. For example, S may be a time required for the process of registering transfer information in the
即ち、本発明の第3の実施形態に係るDMA転送装置によれば、DMAに関連する処理の効率を向上させることができる。 That is, according to the DMA transfer apparatus according to the third embodiment of the present invention, it is possible to improve the efficiency of processing related to DMA.
<第4の実施形態>
次に、上述した第3の実施形態を基本とする第4の実施形態について説明する。
<Fourth Embodiment>
Next, a fourth embodiment based on the above-described third embodiment will be described.
以下の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第3の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明は省略する。 In the following description, characteristic parts according to the present embodiment will be mainly described, and the same components as those in the above-described third embodiment will be denoted by the same reference numerals, and redundant description will be omitted. To do.
図7を参照しながら、本発明の第4の実施形態に係るDMA転送装置の構成について説明する。図7は、本発明の第4の実施形態に係るDMA転送装置の構成を示すブロック図である。 The configuration of the DMA transfer apparatus according to the fourth embodiment of the present invention will be described with reference to FIG. FIG. 7 is a block diagram showing a configuration of a DMA transfer apparatus according to the fourth embodiment of the present invention.
図7を参照すると、DMA転送装置13は、1段分の転送情報を転送情報バッファ30に登録するまでに要する登録時間を計測する登録時間計測部23と、周辺装置75が行う処理に要する時間を、周辺装置ごとに計測する格納時間計測部24とを更に備える。
Referring to FIG. 7, the
制御部22は、CPU60からIO起動命令を受け取り、その後、IOC17に対して、IOを開始する信号(以降、「IO起動開始信号」と表す)を発行する。その後、IOC17は、IO起動開始信号を受け取り、その後に、登録時間計測部23を起動する。
The
登録時間計測部23は、起動すると時間の計測を開始し、1段分の転送情報を登録する処理が完了した時点で計測を終了する。その後、登録時間計測部23は、計測した時間を制御部22に送付する。
When activated, the registration
格納時間計測部24は、例えば、制御ポートを使う、あるいは、周辺装置に関するポーリングを行うなどの手段を使って、各周辺装置へのアクセス時間(上述した各周辺装置75などが行う処理に要する時間)を取得する。その後、格納時間計測部24は、各周辺装置へのアクセス時間を制御部22に送付する。格納時間計測部24がアクセス時間を取得する方法は、上述した例に限定されるものではない。
The storage
図8を参照しながら、格納時間計測部24が、各周辺装置へのアクセス時間を計測するタイミングについて説明する。図8は、本発明の第4の実施形態に係るDMA転送装置において、各周辺装置へのアクセス時間を計測する処理を表すタイミングチャートである。図8の横軸は、時刻を表しており、左に行くほど時刻が進むことを表す。図8の左側に存在する、縦方向に並んだ文字列が、各周辺装置の名称を表す。
The timing at which the storage
図8を参照すると、IOC17は、FWが発するDMA転送を起動する信号を受信すると(図8における「DMA転送開始信号」のタイミング線)、格納時間計測部24を起動する(図8における「カウンタ」のタイミング線)。IOC17は、各周辺装置に、ホストバスアダプター等を介して、DMA転送を起動する信号を送る。格納時間計測部24は、各周辺装置が発する信号を受信し、受信した信号を元に、各周辺装置へのアクセス時間を計測する。その後、格納時間計測部24は、計測した時間を制御部22に送付する。次に、IOC17は、リセット信号(図8における「リセット信号」のタイミング線)を受信し、状態を初期化する。
Referring to FIG. 8, upon receiving a signal for starting DMA transfer issued by FW (timing line of “DMA transfer start signal” in FIG. 8), the
時間を計測するために転送するデータは、ダミーのデータであってもよいし、転送データのヘッダー部分のデータであっても良い。時間を計測するために転送するデータは、上記に示したデータに限定されるものではない。 The data to be transferred for measuring the time may be dummy data or data in the header portion of the transfer data. The data transferred to measure time is not limited to the data shown above.
また、各周辺装置へのアクセス時間を計測する方法は、上述した方法に限定されるものではない。例えば、予め、各周辺装置へのアクセス時間を計測し、その時間を記憶しておき、その記憶した時間を参照することにより、アクセス時間を取得しても良い。 Further, the method for measuring the access time to each peripheral device is not limited to the method described above. For example, the access time may be acquired by measuring the access time to each peripheral device in advance, storing the time, and referring to the stored time.
登録時間計測部23は、1段分の転送情報を登録する処理に要する時間を計測する。また、格納時間計測部24は、各周辺装置へのアクセス時間を計測する。そのため、本発明の第4の実施形態に係るDMA転送装置によれば、周辺装置に応じて、DMA転送開始以前に処理を行う転送情報の段数を算出することができるようになる。
The registration
即ち、本発明の第4の実施形態に係るDMA転送装置によれば、DMAに関連する処理の効率を向上させることができる。 That is, according to the DMA transfer apparatus according to the fourth embodiment of the present invention, the efficiency of processing related to DMA can be improved.
(ハードウェア構成例)
図9は、実施形態に係るDMA転送装置を実現可能な計算処理装置のハードウェア構成を、概略的に示すブロック図である。
(Hardware configuration example)
FIG. 9 is a block diagram schematically illustrating a hardware configuration of a calculation processing device capable of realizing the DMA transfer device according to the embodiment.
次に、上述した各実施形態におけるDMA転送装置を、1つの計算処理装置(情報処理装置、コンピュータ)を用いて実現するハードウェア資源の構成例について説明する。但し、係るDMA転送装置は、物理的または機能的に少なくとも2種類の計算処理装置を用いて実現してもよい。また、係るDMA転送装置は、専用の装置として実現してもよい。 Next, a configuration example of hardware resources that realizes the DMA transfer device according to each of the above-described embodiments using one calculation processing device (information processing device, computer) will be described. However, the DMA transfer apparatus may be realized using at least two types of calculation processing apparatuses physically or functionally. The DMA transfer device may be realized as a dedicated device.
図9は、第1の実施形態乃至第4の実施形態に係るDMA転送装置を実現可能な計算処理装置のハードウェア構成を概略的に示す図である。計算処理装置100は、CPU(Central Processing Unit)110、メモリ120、ディスク130、出力装置140、および入力装置150を有する。
FIG. 9 is a diagram schematically illustrating a hardware configuration of a calculation processing device capable of realizing the DMA transfer device according to the first to fourth embodiments. The
即ち、CPU110は、ディスク130が記憶するソフトウェア・プログラム(コンピュータ・プログラム:以下、単に「プログラム」と称する)(図3)を、実行時にメモリ120にコピーし、演算処理を実行する。CPU110は、プログラム実行に必要なデータをメモリ120から読み込む。表示が必要な場合には、CPU110は、出力装置140に出力結果を表示する。外部からプログラムを入力する場合、CPU110は、入力装置150からプログラムを読み取る。CPU110は、メモリ120にあるDMA転送プログラム解釈し実行を行う。CPU110は、上述した各実施形態において説明した処理を順次行う。
That is, the
10 DMA転送装置
11 DMA転送装置
12 DMA転送装置
13 DMA転送装置
15 PCIe
17 IOC
20 制御部
21 制御部
22 制御部
23 登録時間計測部
24 格納時間計測部
25 PCIe
30 転送情報バッファ
35 Txnバッファ
40 PCIe
45 PCIeスイッチ
50 ホストバスアダプター
55 IOアダプター
60 CPU
65 メインメモリ
70 メインメモリコントローラ
75 周辺装置
80 LAN
85 IOP
90 FW制御部
95 IOC
100 計算処理装置
110 CPU
120 メモリ
130 ディスク
140 出力装置
150 入力装置
10
17 IOC
20
30
45
65
85 IOP
90
100
120
Claims (10)
前記第4処理の後に前記周辺装置から前記メインメモリコントローラに前記データを転送するデータ転送部と
を備えるDMA転送装置。 A first process for storing a part of transfer information among all transfer information relating to data to be transferred from the peripheral device to the main memory controller, and a second process for transmitting a signal for starting DMA transfer to the peripheral device, and executes a third process of storing the remaining transfer information, and the fourth processing line intends to control unit in which the peripheral device receives a ready signal indicating that it is possible to transfer the data,
A DMA transfer device comprising: a data transfer unit that transfers the data from the peripheral device to the main memory controller after the fourth process .
前記制御部は、前記一部の転送情報を一部の前記バッファが記憶するように制御すると共に、前記残りの転送情報を残りの前記バッファが記憶するように制御する
請求項1に記載のDMA転送装置。 The data transfer unit includes a plurality of buffers for storing the total transfer information,
2. The DMA according to claim 1, wherein the control unit controls the part of transfer information to be stored in a part of the buffer and controls the remaining transfer information to be stored in the remaining buffer. Transfer device.
請求項1または請求項2に記載のDMA転送装置。 The control unit sets the estimated time calculated by a predetermined calculation method based on the first time required for the first process and the second time required for the completion of the fourth process from the second process. The DMA transfer apparatus according to claim 1 or 2, wherein the first processing is executed in response.
前記見積り時間=N―D
(ただし、
Dは、前記第2の時間、
Nは、「前記全転送情報を前記複数のバッファに記憶する処理に要する時間」を表す)、
なる式に従い算出し、
算出した前記見積り時間が正である場合に、
前記見積り時間÷S
(ただし、
Sは、「前記複数のバッファのうち1つバッファに転送情報を記憶する処理に要する時間」を表す)
なる式に従い算出した値の小数点以下を切り上げた数値以上であり、前記複数以下の整数値の1つを処理数とし、
前記算出した前記見積り時間が0以下である場合に、0を処理数とし、
前記処理数に応じて前記第1処理を行う
請求項3に記載のDMA転送装置。 The control unit sets the estimated time to the estimated time = ND
(However,
D is the second time,
N represents “time required for processing to store all the transfer information in the plurality of buffers”),
According to the formula
If the estimated time calculated is positive,
Estimated time / S
(However,
S represents “time required for processing to store transfer information in one of the plurality of buffers”)
The value calculated according to the formula is greater than or equal to the numerical value rounded up to the nearest decimal point, and one of the plurality of integer values equal to or smaller than the number is set as the processing number.
When the calculated estimated time is 0 or less, 0 is the number of processes,
The DMA transfer apparatus according to claim 3, wherein the first process is performed according to the number of processes.
請求項3または請求項4に記載のDMA転送装置。 5. The DMA according to claim 3, further comprising a registration time measuring unit that measures a time required to store one stage of transfer information corresponding to the part of the transfer information. Transfer device.
前記周辺装置に応じて、前記処理数を算出する
請求項3乃至請求項5のいずれか1項に記載のDMA転送装置。 A storage time measuring unit for measuring the second time for each peripheral device;
The DMA transfer device according to claim 3, wherein the number of processes is calculated according to the peripheral device.
DMA転送方法。 Among all transfer information related to data to be transferred from the peripheral device, a part of the transfer information is stored in a buffer, a signal for starting DMA transfer is transmitted to the peripheral device, and the remaining transfer information is stored in the buffer. , a ready signal the peripheral device informs that it is possible to transfer the data received from the peripheral device, then, DMA transfer method for transferring data to the main memory controller from the peripheral device.
前記第4処理の後に前記周辺装置から前記メインメモリコントローラに前記データを転送するデータ転送機能と
をコンピュータに実現させるDMA転送プログラム。 A first process for storing a part of transfer information among all transfer information relating to data to be transferred from the peripheral device to the main memory controller, and a second process for transmitting a signal for starting DMA transfer to the peripheral device, and it executes a third process of storing the remaining transfer information, and control functions intends rows fourth process of receiving a ready signal indicating that it is possible to transfer the peripheral device is the data,
A DMA transfer program for causing a computer to realize a data transfer function of transferring the data from the peripheral device to the main memory controller after the fourth process .
前記制御機能は、前記一部の転送情報を一部の前記バッファに記憶する処理を行い、前記残りの転送情報を、残りの前記バッファに記憶する処理を実現する
請求項8に記載のDMA転送プログラム。 The data transfer function uses a plurality of buffers for storing the total transfer information,
The DMA transfer according to claim 8, wherein the control function performs a process of storing the partial transfer information in a part of the buffer, and realizes a process of storing the remaining transfer information in the remaining buffer. program.
請求項8または請求項9に記載のDMA転送プログラム。 The control function performs the first process according to an estimated time calculated by a predetermined calculation method from the time required for the first process and the time required from the second process to the completion of the fourth process. The DMA transfer program according to claim 8 or 9, which is realized.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012122087A JP5637178B2 (en) | 2012-05-29 | 2012-05-29 | DMA transfer apparatus, DMA transfer method, and DMA transfer program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012122087A JP5637178B2 (en) | 2012-05-29 | 2012-05-29 | DMA transfer apparatus, DMA transfer method, and DMA transfer program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013246778A JP2013246778A (en) | 2013-12-09 |
JP5637178B2 true JP5637178B2 (en) | 2014-12-10 |
Family
ID=49846456
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012122087A Expired - Fee Related JP5637178B2 (en) | 2012-05-29 | 2012-05-29 | DMA transfer apparatus, DMA transfer method, and DMA transfer program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5637178B2 (en) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0962610A (en) * | 1995-08-22 | 1997-03-07 | Mitsubishi Electric Corp | Dma controller |
JPH10116245A (en) * | 1996-10-14 | 1998-05-06 | Fujitsu Ltd | Dma controller |
JP2009059276A (en) * | 2007-09-03 | 2009-03-19 | Fuji Xerox Co Ltd | Data processing apparatus and program |
-
2012
- 2012-05-29 JP JP2012122087A patent/JP5637178B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2013246778A (en) | 2013-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5159900B2 (en) | Computer program, apparatus, and method for reducing access conflict of reserved device | |
CN100592271C (en) | Apparatus and method for high performance volatile disk drive memory access using an integrated DMA engine | |
JP5546635B2 (en) | Data transfer apparatus and control method thereof | |
EP2763047A2 (en) | Method and system for reducing write latency in a data storage system by using a command-push model | |
US20090287858A1 (en) | Dma control system, printing apparatus, transfer instruction method and computer readable medium | |
US9400614B2 (en) | Method and system for programmable sequencer for processing I/O for various PCIe disk drives | |
CN103226525B (en) | memory device, computing device and data transmission method | |
US9189166B2 (en) | Multi-host SATA controller | |
WO2012138111A2 (en) | Dynamic random access memory for a semiconductor storage device-based system | |
JP2006113689A (en) | Bus bridge device and data transfer method | |
CN102945214B (en) | Based on the method for IO distribution optimization time delay interrupt processing task | |
TWI474254B (en) | Method and apparatus for executing commands in a memory system and data storage system | |
JP2006323541A (en) | Data transfer circuit and data transfer method | |
JP5637178B2 (en) | DMA transfer apparatus, DMA transfer method, and DMA transfer program | |
CN102929819B (en) | For the treatment of the method for the interrupt request of the memory device in computer system | |
US9128924B2 (en) | Method and apparatus for wireless broadband systems direct data transfer | |
JP2014167818A (en) | Data transfer device and data transfer method | |
US10942672B2 (en) | Data transfer method and apparatus for differential data granularities | |
JPH08314854A (en) | Data transfer system and device relating to the same | |
JP5908416B2 (en) | Interface control device, data storage device, and interface control method | |
JP2014026531A (en) | Information processing device and data transfer method for information processing device | |
JP2012212360A (en) | Input/output control device, computer, and control method | |
JP5101195B2 (en) | Interface controller | |
JP2006178553A (en) | Data transfer device | |
JP2007011884A (en) | Data transfer unit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130919 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140415 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140416 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140603 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140924 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141007 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5637178 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |