JP5637178B2 - DMA transfer apparatus, DMA transfer method, and DMA transfer program - Google Patents

DMA transfer apparatus, DMA transfer method, and DMA transfer program Download PDF

Info

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
Application number
JP2012122087A
Other languages
Japanese (ja)
Other versions
JP2013246778A (en
Inventor
文典 益川
文典 益川
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2012122087A priority Critical patent/JP5637178B2/en
Publication of JP2013246778A publication Critical patent/JP2013246778A/en
Application granted granted Critical
Publication of JP5637178B2 publication Critical patent/JP5637178B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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 FW control unit 90 that controls the entire IOP, and a data transfer unit that controls DMA data transfer between the peripheral device 75 and the main memory 65 (hereinafter referred to as “IOC”). 95, a PCIe switch 45 that is a device for expansion to the peripheral device 75, a host bus adapter 50 that connects the peripheral device 75 and the PCIe switch 45, and an IO adapter 55 that connects the LAN 80 and the PCIe switch 45. Consists of The FW control unit 90 and the IOC 95 are connected via the PCIe 25. The IOC 95 and the PCIe switch 45 are connected via the PCIe 40.

コンピュータシステムから見る場合、係る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 PCIe switch 45. (Network Interface Card, hereinafter abbreviated as NIC), etc. In addition, IOP85 is referred to as Input Output Adapter, hereinafter abbreviated as “IOA”), host channel adapter (Host_Channel_Adapter, hereinafter abbreviated as “HCA”), Host bus adapter 50 (Host_Bus_Adaptor, hereinafter referred to as “HBA”)). Further, a LAN 80 is connected to the outside of the IO adapter 55.

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 main memory controller 70 are connected via the PCIe 15. When performing DMA write (write) transfer, the peripheral device 75 first transmits transfer data to the IO adapter 55. Next, the IOC 95 receives the transfer data transmitted by the peripheral device 75 via the PCIe switch 45 and the PCIe 40. Thereafter, the IOC 95 further sends the received transfer data to the main memory controller 70 via the PCIe 15. Through the control as described above, the IOP 85 transfers the transfer data from the peripheral device 75 to the main memory 65 without mediating the CPU 60.

FW制御部90は、コンピュータシステムにおけるIO処理全般を制御するFWを搭載する制御機構であり、CPU60、あるいは、オペレーティングシステム(Operating System、以降、「OS」と表す)が行う入出力要求に対して、IOP85を構成するホストバスアダプター50、PCIeスイッチ45、IOC95等を制御する。その制御により、IOC95は、PCIe40を介して接続する周辺装置75と、メインメモリ65との間において、転送データを転送する。さらに、FW制御部90は、チャネルプログラム(以降、「CP」と表す)が指定する論理アドレスを物理アドレスに変換する機能と、CPから転送情報を生成してIOC95に転送する機能を有する。   The FW control unit 90 is a control mechanism equipped with an FW that controls the overall IO processing in the computer system. In response to an input / output request made by the CPU 60 or an operating system (hereinafter referred to as “OS”). The host bus adapter 50, the PCIe switch 45, the IOC 95, and the like constituting the IOP 85 are controlled. Under the control, the IOC 95 transfers the transfer data between the peripheral device 75 connected via the PCIe 40 and the main memory 65. Further, the FW control unit 90 has a function of converting a logical address designated by a channel program (hereinafter referred to as “CP”) into a physical address and a function of generating transfer information from the CP and transferring it to the IOC 95.

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 FW control unit 90 receives an instruction for starting an IO (hereinafter referred to as an “IO start instruction”) from the CPU 60, and uses a command necessary for executing the received IO start instruction and information specifying an address. The configured CP is acquired from the main memory 65. Next, the FW control unit 90 converts the logical address designated by the CP into a physical address, generates transfer information from the CP, and then transfers the generated transfer information to the IOC 95. Further, the FW control unit 90 receives a signal (hereinafter, referred to as “transfer information registration completion signal”) notifying that the process of registering transfer information has been completed from the IOC 95. Further, the FW control unit 90 receives a notification (hereinafter abbreviated as “DMA transfer completion notification”) from the IO adapter 55 (for example, NIC, HBA, HCA, etc.) notifying that the transfer in DMA has been completed. When receiving the transfer information registration completion signal and the DMA transfer completion notification, the FW control unit 90 reports to the CPU 60 that the DMA transfer (hereinafter also referred to as “DMA transfer”) has been completed.

IOC95は、FW制御部90から読み取った転送情報を格納する転送情報バッファ30と、周辺装置75から送られて来る転送データを一時的に格納するトランザクション(Transaction、以降、「Txn」と表す)バッファ35とを有する。IOC95は、転送情報バッファ30における転送情報に応じて、Txnバッファ35に存在する転送データを、メインメモリ65へ転送する。   The IOC 95 includes a transfer information buffer 30 that stores transfer information read from the FW control unit 90, and a transaction (transaction, hereinafter referred to as “Txn”) buffer that temporarily stores transfer data sent from the peripheral device 75. 35. The IOC 95 transfers the transfer data existing in the Txn buffer 35 to the main memory 65 according to the transfer information in the transfer information buffer 30.

特許文献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.

特開2000−353146号公報JP 2000-353146 A 特開2008−083911号公報Japanese Patent Laid-Open No. 2008-083911 特開2000−330923号公報JP 2000-330923 A

特許文献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 control unit 90 registers transfer information in the CP in the transfer information buffer 30 in a plurality of stages, and then activates the DMA.

ここで、図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 peripheral device 75 or the like to the main memory 65 (ie, “DMA write transfer”). FIG. The vertical axis in FIG. 11 represents the transition of time, and indicates that the time is advanced toward the bottom. 11 represents the CPU 60, the main memory 65, the FW control unit 90, the IOC 95, the host bus adapter 50, and the peripheral device 75. In FIG. 11, an arrow parallel to the horizontal axis represents an access request generated from each device and the like, and a line parallel to the vertical axis represents a processing time performed by each device (corresponding to the value on the horizontal axis). For example, when the FW control unit 90 performs the process of acquiring the CP from the main memory 65, the process proceeds from the FW control unit 90 to the main memory 65 between the FW control unit 90 and the main memory 65 in FIG. 11. And an arrow pointing from the main memory 65 to the FW control unit 90 are expressed by the presence of time (moving downward in the vertical axis).

例えば、最大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 transfer information buffer 30 is executed every time DMA is executed. Is necessary. Here, the time for registering the transfer information for one stage in the transfer information buffer 30, that is, “the FW control unit 90 acquires the CP, and then converts the logical address designated by the CP into a physical address, The processing time until the transfer information is registered in the transfer information buffer 30 ”is 4 (microseconds / stage, hereinafter, microseconds are expressed as“ μs ”). For example, in the DMA transfer device disclosed in Patent Documents 1, 2, or 3, DMA is activated as 4 (μs / stage) × 64 (stage) = 256 (μs) as the time to register in the transfer information buffer 30 Necessary for preprocessing.

FW制御部90は、メインメモリ65との間において、64段分の転送情報を転送情報バッファ30に登録した後(図11における「転送情報登録完了」の時刻)、すなわち、FW制御部90がCPを取得し始めてから256(μs)後に、周辺装置75に対してDMAを起動する処理を行う。その後、周辺装置75は、転送データを転送することが可能なことを通知するレディ信号を発信する。FW制御部90は、該レディ信号を受信し、その後にIOC95を使って転送データを転送する。   The FW control unit 90 registers the transfer information for 64 stages with the main memory 65 in the transfer information buffer 30 (time of “transfer information registration completed” in FIG. 11), that is, the FW control unit 90 After 256 (μs) from the start of acquiring the CP, the peripheral device 75 is activated by DMA. Thereafter, the peripheral device 75 transmits a ready signal notifying that the transfer data can be transferred. The FW control unit 90 receives the ready signal, and then transfers the transfer data using the IOC 95.

一方、転送情報を転送情報バッファ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 transfer information buffer 30 and the process for starting DMA are independent, when DMA is started, the transfer information may not be supplied in time. If the supply is not in time, the computer system as described above sometimes becomes busy (hereinafter simply referred to as “busy”) that temporarily stops the PCIe bus. Due to the generated busy state, in the DMA transfer device disclosed in Patent Literature 1, 2, or 3, the efficiency of executing processing related to DMA is lowered.

そこで、本発明の主たる目的は、処理効率の高い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 DMA transfer device 10 includes an IOC 17 that transfers transfer data from the peripheral device 75 to the main memory controller 70, and the control unit 20. First, the control unit 20 registers some transfer information in a buffer (not shown in FIG. 1). Next, the control unit 20 transmits a signal for starting DMA transfer to the peripheral device 75. Next, the control unit 20 registers the remaining transfer information in a buffer (not shown in FIG. 1).

周辺装置75は、DMA転送を起動する信号を受け取る。次に、周辺装置75は、転送データを転送する準備を行う。周辺装置75は、その準備が終了すると、転送データを転送することが可能であることを知らせるレディ信号を発信する。次に、制御部20は、IOC17に転送データを転送する処理を命じる。その後、IOC17は、周辺装置75からメインメモリコントローラ70に転送データを転送する。   The peripheral device 75 receives a signal for starting DMA transfer. Next, the peripheral device 75 prepares to transfer the transfer data. When the preparation is completed, the peripheral device 75 transmits a ready signal notifying that the transfer data can be transferred. Next, the control unit 20 commands the IOC 17 to transfer the transfer data. Thereafter, the IOC 17 transfers the transfer data from the peripheral device 75 to the main memory controller 70.

DMA転送装置10は、メインメモリコントローラ70を経て、CPU60とメインメモリ65と情報をやり取り(アクセス)する。また、DMA転送装置10は、周辺装置75とも情報をやり取りする。   The DMA transfer apparatus 10 exchanges (accesses) information with the CPU 60 and the main memory 65 via the main memory controller 70. The DMA transfer device 10 also exchanges information with the peripheral device 75.

次に、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 DMA transfer apparatus 10 will be described in detail with reference to FIG. 2 or FIG. FIG. 2 is a diagram illustrating an example of timing in processing in which the DMA transfer apparatus 10 according to the first embodiment of the present invention performs DMA write transfer. FIG. 3 is a flowchart showing the flow of processing in the DMA transfer apparatus according to the first embodiment of the present invention. Since FIG. 2 is the same type as FIG. 10 described above, a duplicate description is omitted. The vertical axis in FIG. 2 represents the transition of time, and indicates that the time is advanced as it goes down. 2 represents the CPU 60, the main memory 65, the control unit 20, the IOC 17, the HBA (not shown in FIG. 1), and the peripheral device 75.

例えば、コンピュータシステムには、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 control unit 20 acquires a CP from the main memory 65, and then performs a process of converting a logical address designated by the CP into a physical address. In the example shown in FIG. 2, the control unit 20 registers transfer information for one stage (step S10 in FIG. 3), and then transmits a signal for starting DMA transfer to the peripheral device 75 (in FIG. 3). Step S20). Thereafter, the control unit 20 performs processing for registering the remaining 63 levels of transfer information (step S30 in FIG. 3).

周辺装置75は、そのDMA転送を起動する信号を受け取る。次に、周辺装置75は、転送データを転送する準備を行う。周辺装置75は、その準備が終了すると、転送データを転送することが可能であることを知らせるレディ信号を発信する。次に、制御部20は、周辺装置75が発信したレディ信号を受信する(図3におけるステップS40)。その後、IOC17は、周辺装置75からメインメモリコントローラ70を経てメインメモリ65に転送データを転送する(図3におけるステップS50)。   The peripheral device 75 receives a signal for starting the DMA transfer. Next, the peripheral device 75 prepares to transfer the transfer data. When the preparation is completed, the peripheral device 75 transmits a ready signal notifying that the transfer data can be transferred. Next, the control unit 20 receives a ready signal transmitted from the peripheral device 75 (step S40 in FIG. 3). Thereafter, the IOC 17 transfers the transfer data from the peripheral device 75 to the main memory 65 via the main memory controller 70 (step S50 in FIG. 3).

周辺装置75が上述したような処理を行う間に、制御部20は、残りの63段分の転送情報を登録する処理を行う。制御部20が、転送情報を登録する処理とDMA転送を開始する処理とを同期させながら行うことによって、PCIeがビジー状態になる可能性を低下させつつ、転送情報を登録するターンアラウンドタイム(Turn Around Time、以降「TAT」と略記する)を短縮させることができる。   While the peripheral device 75 performs the processing as described above, the control unit 20 performs processing for registering transfer information for the remaining 63 stages. The control unit 20 synchronizes the process of registering transfer information and the process of starting DMA transfer, thereby reducing the possibility of PCIe becoming busy and turning the turnaround time (Turn) for registering transfer information. Around Time (hereinafter abbreviated as “TAT”) can be shortened.

上述した例において、制御部20は、1段分の転送情報を登録した後に、DMA転送を開始する処理を行うが、必ずしも1段である必要はない。例えば2段であっても、3段であっても、あるいは、1段目から2段目の途中であっても、63段(即ち、64段の転送情報から1を引いた値)以下の転送情報を登録し、その後にDMA転送を開始する処理を行う場合には、周辺装置75が行う処理と制御部20が転送情報を登録する処理とが並行できるため、本発明の第1の実施形態に係るDMA転送装置により、TATを短縮させることができる。   In the example described above, the control unit 20 performs the process of starting the DMA transfer after registering the transfer information for one stage, but it is not always necessary to have one stage. For example, even if there are 2 stages, 3 stages, or in the middle of the 1st stage to the 2nd stage, 63 stages (that is, a value obtained by subtracting 1 from 64 stages of transfer information) When the transfer information is registered and then the DMA transfer is started, the processing performed by the peripheral device 75 and the control unit 20 registering the transfer information can be performed in parallel. The TAT can be shortened by the DMA transfer apparatus according to the embodiment.

また、上述した例において、コンピュータシステムには、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 DMA transfer apparatus 11 further includes a transfer information buffer 30. The transfer information buffer 30 has a plurality of stages. The control unit 21 registers transfer information in the transfer information buffer 30. In the following description, the transfer information buffer 30 is described as having a plurality of stages. However, even if the stage corresponds to one transfer information buffer, the obtained effect does not change. That is, the DMA transfer device 11 may include a plurality of transfer information buffers 30.

第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 control unit 21 registers transfer information for one stage in the transfer information buffer 30 for one stage, and then executes a process for starting DMA transfer. Thereafter, the control unit 21 performs processing for registering the remaining 63 stages of transfer information in the transfer information buffer 30.

周辺装置75は、DMA転送が開始されてから、DMA転送装置11に転送データを送信するまでの処理を実施する。周辺装置75が処理を行う間に、制御部21は、残りの63段分の転送情報を転送情報バッファ30に登録する処理を行う。制御部21が、転送情報バッファ30に転送情報を登録する処理とDMA転送を開始する処理とを同期させながら行うことによって、PCIeがビジー状態になる可能性を低下させつつ、転送情報を登録するTATを短縮させることができる。   The peripheral device 75 performs processing from when the DMA transfer is started until the transfer data is transmitted to the DMA transfer device 11. While the peripheral device 75 performs processing, the control unit 21 performs processing for registering transfer information for the remaining 63 stages in the transfer information buffer 30. The control unit 21 registers the transfer information while reducing the possibility of PCIe becoming busy by performing the process of registering the transfer information in the transfer information buffer 30 and the process of starting the DMA transfer in synchronization. TAT can be shortened.

また、上述した例において、コンピュータシステムには、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 DMA transfer device 12 includes a control unit 22 that performs processing such as acquisition of a CP, an IOC 17 that performs DMA transfer processing, a PCIe switch 45, and an IO adapter 55 that connects a peripheral device 75 (or Host bus adapter 50).

制御部22は、所定の算出方法により、周辺装置75にDMA転送を起動する信号を送信する前に行う、転送情報の処理量を算出する。例えば、転送情報を転送情報バッファ30に登録する時間と、制御部22がDMAを起動する時点から、LAN80などの周辺装置75に応じて、周辺装置75から送られる転送データをTxnバッファ35に一時保存できる状態になるまでの時間とから、DMAを起動する処理を行う前に登録する転送情報バッファ30の段数を算出する。   The control unit 22 calculates a processing amount of transfer information to be performed before transmitting a signal for starting DMA transfer to the peripheral device 75 by a predetermined calculation method. For example, the transfer data sent from the peripheral device 75 is temporarily stored in the Txn buffer 35 according to the peripheral device 75 such as the LAN 80 from the time when the transfer information is registered in the transfer information buffer 30 and when the control unit 22 activates the DMA. The number of stages of the transfer information buffer 30 to be registered is calculated from the time until it can be saved, before performing the process of starting the DMA.

例えば、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 transfer information buffer 30 is 4 (μs / stage), the number of stages in the transfer information buffer 30 is 64 (stages) at maximum, and the DMA is started It is assumed that the time required for the transfer data sent from the peripheral device 75 to be temporarily stored in the Txn buffer 35, that is, the time required for processing performed by the peripheral device 75 is 250 (μs).

全ての転送情報を登録する処理に要する時間は、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 control unit 22 calculates the time required for the process of registering all transfer information as shown in Equation 1.

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 control unit 22 starts the DMA by subtracting the time required for temporarily storing the transfer data sent from the peripheral device 75 in the Txn buffer 35 from the time required for registering all transfer information. Calculate the pre-existing time. Here, it is assumed that the time until the transfer data sent from the peripheral device 75 can be temporarily stored in the Txn buffer 35 is 250 (μs). In the example described above, the control unit 22 calculates time as shown in Equation 2.

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 peripheral device 75. That is, when the control unit 22 performs the process of starting the DMA first, a busy state occurs, and as a result, the efficiency of the process related to the DMA is reduced in the computer system. Therefore, in order to reduce the busy state, the control unit 22 performs a process of registering transfer information according to the number of stages calculated according to the process described later before performing the process of starting the DMA. The control unit 22 can reduce the busy state by performing the processing as described above.

また、式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 peripheral device 75. It will be short. In such a case, even if the control unit 22 performs the process of starting the DMA first, the busy state does not occur. The control unit 22 performs processing for starting the DMA, and then performs processing for registering transfer information.

制御部22は、式2に示した例に従って算出する値が正の値になると判定する場合に、式2により算出する値を、1段分の転送情報を登録する処理に要する時間で割り算を行い、見積り値を算出する。上述した例においては、制御部22は、式3に従い、見積り値を算出する。   When the control unit 22 determines that the value calculated according to the example shown in Equation 2 is a positive value, the control unit 22 divides the value calculated by Equation 2 by the time required to register the transfer information for one stage. To calculate the estimated value. In the example described above, the control unit 22 calculates the estimated value according to Equation 3.

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 control unit 22 performs processing for registering transfer information for the number of stages calculated as described above, performs processing for starting DMA, and then performs processing for registering transfer information for the remaining number of stages. By performing the processing in this way, the control unit 22 can improve the efficiency of processing related to DMA.

上述した例において、転送情報バッファ30の段数が64段である場合、2段乃至63段(即ち、転送情報バッファ30の段数から1を引いた値)の値であれば、ビジー状態が生じることはなく、さらに、転送情報を登録する処理と周辺装置75が行う処理とを並行して行うことができる。従って、制御部22は、DMAに関連する処理の効率を向上させることができる。   In the above example, when the number of stages of the transfer information buffer 30 is 64, a busy state occurs if the value is 2 to 63 (that is, a value obtained by subtracting 1 from the number of stages of the transfer information buffer 30). Furthermore, the process of registering transfer information and the process performed by the peripheral device 75 can be performed in parallel. Therefore, the control unit 22 can improve the efficiency of processing related to DMA.

上述した例においては、転送情報バッファ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 transfer information buffer 30 is 64 (stages), the time required for processing performed by the peripheral device 75 is 250 (μs), and transfer information for one stage is registered in the transfer information buffer 30. It is assumed that the time required for processing is 4 (μs / stage). However, the processing of the DMA transfer apparatus according to the third embodiment of the present invention is not limited to the above numerical values. In other words, the processing of the DMA transfer apparatus according to the third embodiment of the present invention can improve the efficiency of processing related to DMA by processing in the same manner even if the numerical value is other than the numerical values described above.

本発明の第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 CPU 60 to the control unit 22, the control unit 22 acquires a CP from the main memory 65. The CP is a command for executing an IO, information for specifying an address (hereinafter abbreviated as “address specification information”), information on a data chain indicating whether data exchanged by a command to be executed subsequently is continuous, or the like. Is included.

取得する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 control unit 22 exchanges information about the address with the main memory 65 at least once (hereinafter, “access is referred to as“ access ”). To express "). The control unit 22 converts the logical address specified by the CP into a physical address in the main memory 65 according to the information obtained by accessing. Thereafter, the control unit 22 creates transfer information and transfers the created transfer information to the IOC 17.

次に、IOC17は、上述した転送情報を受信すると、転送情報バッファ30に格納した後に、1段目に関する転送情報登録完了信号を制御部22に送信する。   Next, when receiving the transfer information described above, the IOC 17 stores the transfer information in the transfer information buffer 30 and then transmits a transfer information registration completion signal relating to the first stage to the control unit 22.

仮に、制御部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 control unit 22 and the main memory 65 once is set to 1 (μs / stage), and the process of acquiring the CP converts the logical address specified by the CP from the physical address. It is assumed that the access is made four times and registered in the transfer information buffer 30 until the processing. In this case, the time required to register the transfer information for one stage is 4 (times) × 1 (μs / stage) = 4 (μs / stage). Further, when the computer system has a structure having the transfer information buffer 30 of 64 stages, the time required for the processing for storing all the transfer information in the transfer information buffer 30 is 64 ( Stage) × 4 (μs / stage) = 256 (μs).

一方、制御部22が、IOアダプター55(例えば、ホストバスアダプター50など)にDMA転送を開始する命令を発行すると、IOアダプター55は、周辺装置75に対してアクセスを開始する。   On the other hand, when the control unit 22 issues an instruction to start DMA transfer to the IO adapter 55 (for example, the host bus adapter 50), the IO adapter 55 starts access to the peripheral device 75.

転送データを転送する速度は、インターフェースの種類、周辺装置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 peripheral device 75, whether or not a cache exists, and the like. For example, the transfer speed of the peripheral device 75 is currently 1 (Mega bit per second, hereinafter referred to as “Mbps”) to 1 (Giga bit per second, hereinafter referred to as “Gbps”) and is connected to the IO adapter 55. The LAN transfer rate is 10 (Mbps) to 10 (Gbps). Temporarily, the time required from the process of starting the DMA to the process of accessing data and starting the data transfer to the Txn buffer 35, that is, the time required to access the peripheral device 75 connected from the IO adapter 55 is 250. In the case of (μs), DMA write transfer is started after 250 (μs).

例えば、本発明の第3の実施形態に係るDMA転送装置12において、IOC17が64段分の転送情報バッファ30を有しており、1段分の転送情報バッファ30における転送情報を登録する処理に要する時間が4(μs/段)であるとする(図6におけるメインメモリと制御部との間に存在する矢印)。さらに、DMAが起動する処理から、Txnバッファ35にデータ転送を開始する処理の前までに要する時間、即ち、周辺装置75へのアクセス時間が250(μs)であるとする(図6に示す周辺装置の時間経過に表した波線)。   For example, in the DMA transfer apparatus 12 according to the third embodiment of the present invention, the IOC 17 has the transfer information buffer 30 for 64 stages, and the transfer information in the transfer information buffer 30 for one stage is registered. It is assumed that the time required is 4 (μs / stage) (an arrow existing between the main memory and the control unit in FIG. 6). Furthermore, it is assumed that the time required from the start of DMA to the start of data transfer to the Txn buffer 35, that is, the access time to the peripheral device 75 is 250 (μs) (the peripheral shown in FIG. 6). Wavy lines representing the time course of the device).

さらに、上述したように、制御部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 control unit 22 calculates that the estimated value is two stages, the transfer information for two stages is registered in the transfer information buffer 30 (transfer information registration completion in FIG. 6 (second stage)). ). That is, the IOC 17 can issue a transfer information registration completion signal to the control unit 22 after 8 μs (= 4 (μs / stage) × 2 (stage)) (DMA activation in FIG. 6). According to the DMA transfer apparatus according to the embodiment, it is possible to improve TAT for 62 stages (that is, 62 stages × 4 μs / stage = 248 μs in terms of time). Furthermore, as described above, according to the DMA transfer apparatus according to the third embodiment of the present invention, it is possible to reduce the busy state and suppress the performance degradation.

上記に例示した所定の算出方法は以下のようになる。即ち、周辺装置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 peripheral device 75 and the time at which the transfer information is registered in the transfer information buffer 30 are made coincident, the time T (“estimated time”) that exists before the DMA is started. Is also expressed as in Equation 3.

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 control unit 22 transmits a signal for starting DMA transfer to the peripheral device 75 until the process in which the control unit 22 receives a ready signal from the peripheral device 75 is completed.
N is the number of stages constituting the transfer information buffer 30;
S is the time required for the control unit 22 to register the transfer information in the transfer information buffer 30 for one stage).

式4において「N×S」は、「制御部22が全ての段数(上記例においては64段)分の転送情報を転送情報バッファ30に登録する処理に要する時間」を表す。   In Expression 4, “N × S” represents “the time required for the control unit 22 to register the transfer information for all the stages (64 stages in the above example) in the transfer information buffer 30”.

時間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 transfer information buffer 30 in a plurality of stages. In that case, S is converted into one stage of processing time, and thereafter, the obtained value is newly set as S, and the time T is calculated according to Equation 4.

即ち、本発明の第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 DMA transfer device 13 has a registration time measuring unit 23 that measures the registration time required to register transfer information for one stage in the transfer information buffer 30 and the time required for processing performed by the peripheral device 75. Is further provided with a storage time measuring unit 24 for measuring each peripheral device.

制御部22は、CPU60からIO起動命令を受け取り、その後、IOC17に対して、IOを開始する信号(以降、「IO起動開始信号」と表す)を発行する。その後、IOC17は、IO起動開始信号を受け取り、その後に、登録時間計測部23を起動する。   The control unit 22 receives an IO activation command from the CPU 60 and then issues a signal for starting an IO (hereinafter referred to as an “IO activation start signal”) to the IOC 17. Thereafter, the IOC 17 receives the IO activation start signal, and thereafter activates the registration time measuring unit 23.

登録時間計測部23は、起動すると時間の計測を開始し、1段分の転送情報を登録する処理が完了した時点で計測を終了する。その後、登録時間計測部23は、計測した時間を制御部22に送付する。   When activated, the registration time measurement unit 23 starts measuring time, and ends the measurement when the process of registering transfer information for one stage is completed. Thereafter, the registration time measuring unit 23 sends the measured time to the control unit 22.

格納時間計測部24は、例えば、制御ポートを使う、あるいは、周辺装置に関するポーリングを行うなどの手段を使って、各周辺装置へのアクセス時間(上述した各周辺装置75などが行う処理に要する時間)を取得する。その後、格納時間計測部24は、各周辺装置へのアクセス時間を制御部22に送付する。格納時間計測部24がアクセス時間を取得する方法は、上述した例に限定されるものではない。   The storage time measuring unit 24 uses, for example, a control port or a means for polling the peripheral device to access each peripheral device (the time required for the processing performed by each peripheral device 75 described above). ) To get. Thereafter, the storage time measuring unit 24 sends the access time to each peripheral device to the control unit 22. The method by which the storage time measuring unit 24 acquires the access time is not limited to the above-described example.

図8を参照しながら、格納時間計測部24が、各周辺装置へのアクセス時間を計測するタイミングについて説明する。図8は、本発明の第4の実施形態に係るDMA転送装置において、各周辺装置へのアクセス時間を計測する処理を表すタイミングチャートである。図8の横軸は、時刻を表しており、左に行くほど時刻が進むことを表す。図8の左側に存在する、縦方向に並んだ文字列が、各周辺装置の名称を表す。   The timing at which the storage time measurement unit 24 measures the access time to each peripheral device will be described with reference to FIG. FIG. 8 is a timing chart showing a process of measuring the access time to each peripheral device in the DMA transfer apparatus according to the fourth embodiment of the present invention. The horizontal axis of FIG. 8 represents time, and represents that the time advances as it goes to the left. A character string arranged in the vertical direction on the left side of FIG. 8 represents the name of each peripheral device.

図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 IOC 17 starts the storage time measuring unit 24 (“counter” in FIG. 8). ”Timing line). The IOC 17 sends a signal for starting DMA transfer to each peripheral device via a host bus adapter or the like. The storage time measuring unit 24 receives a signal generated by each peripheral device, and measures an access time to each peripheral device based on the received signal. Thereafter, the storage time measuring unit 24 sends the measured time to the control unit 22. Next, the IOC 17 receives the reset signal (the “reset signal” timing line in FIG. 8) and initializes the state.

時間を計測するために転送するデータは、ダミーのデータであってもよいし、転送データのヘッダー部分のデータであっても良い。時間を計測するために転送するデータは、上記に示したデータに限定されるものではない。   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 time measurement unit 23 measures the time required for the process of registering transfer information for one stage. The storage time measuring unit 24 measures the access time to each peripheral device. Therefore, according to the DMA transfer apparatus according to the fourth embodiment of the present invention, the number of stages of transfer information to be processed before the start of DMA transfer can be calculated according to the peripheral apparatus.

即ち、本発明の第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 calculation processing apparatus 100 includes a CPU (Central Processing Unit) 110, a memory 120, a disk 130, an output device 140, and an input device 150.

即ち、CPU110は、ディスク130が記憶するソフトウェア・プログラム(コンピュータ・プログラム:以下、単に「プログラム」と称する)(図3)を、実行時にメモリ120にコピーし、演算処理を実行する。CPU110は、プログラム実行に必要なデータをメモリ120から読み込む。表示が必要な場合には、CPU110は、出力装置140に出力結果を表示する。外部からプログラムを入力する場合、CPU110は、入力装置150からプログラムを読み取る。CPU110は、メモリ120にあるDMA転送プログラム解釈し実行を行う。CPU110は、上述した各実施形態において説明した処理を順次行う。   That is, the CPU 110 copies a software program (computer program: hereinafter simply referred to as “program”) (FIG. 3) stored in the disk 130 to the memory 120 at the time of execution, and executes arithmetic processing. The CPU 110 reads data necessary for program execution from the memory 120. When display is necessary, the CPU 110 displays the output result on the output device 140. When inputting a program from the outside, the CPU 110 reads the program from the input device 150. The CPU 110 interprets and executes the DMA transfer program stored in the memory 120. The CPU 110 sequentially performs the processes described in the above embodiments.

本発明の第1の実施形態に係るDMA転送装置の構成を示すブロック図である。It is a block diagram which shows the structure of the DMA transfer apparatus which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係るDMA転送装置が、DMAライト転送を行う処理におけるタイミングの一例を表す図である。It is a figure showing an example of the timing in the process in which the DMA transfer apparatus which concerns on the 1st Embodiment of this invention performs DMA write transfer. 本発明の第1の実施形態に係るDMA転送装置における処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a process in the DMA transfer apparatus which concerns on the 1st Embodiment of this invention. 本発明の第2の実施形態に係るDMA転送装置の構成を示すブロック図である。It is a block diagram which shows the structure of the DMA transfer apparatus which concerns on the 2nd Embodiment of this invention. 本発明の第3の実施形態に係るDMA転送装置の構成を示すブロック図である。It is a block diagram which shows the structure of the DMA transfer apparatus which concerns on the 3rd Embodiment of this invention. 本発明の第3の実施形態に係るDMA転送装置が、DMAライト転送を行うときの処理のタイミングを表す図である。It is a figure showing the timing of a process when the DMA transfer apparatus which concerns on the 3rd Embodiment of this invention performs DMA write transfer. 本発明の第4の実施形態に係るDMA転送装置の構成を示すブロック図である。It is a block diagram which shows the structure of the DMA transfer apparatus which concerns on the 4th Embodiment of this invention. 本発明の第4の実施形態に係るDMA転送装置において、格納時間を計測する処理を表すタイミングチャートである。It is a timing chart showing the process which measures storage time in the DMA transfer apparatus which concerns on the 4th Embodiment of this invention. 実施形態に係るDMA転送装置を実現可能な計算処理装置のハードウェア構成を、概略的に示すブロック図である1 is a block diagram schematically showing a hardware configuration of a calculation processing device capable of realizing a DMA transfer device according to an embodiment. 関連文献等に記載されたDMA転送装置の構成を示すブロック図である。It is a block diagram which shows the structure of the DMA transfer apparatus described in related literature etc. 関連文献等に記載されたDMA転送装置が、DMAライト転送を行う処理におけるタイミングの一例を表す図である。It is a figure showing an example of the timing in the process in which the DMA transfer apparatus described in related literature etc. performs DMA write transfer.

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 DMA transfer device 11 DMA transfer device 12 DMA transfer device 13 DMA transfer device 15 PCIe
17 IOC
20 Control Unit 21 Control Unit 22 Control Unit 23 Registration Time Measurement Unit 24 Storage Time Measurement Unit 25 PCIe
30 Transfer information buffer 35 Txn buffer 40 PCIe
45 PCIe switch 50 Host bus adapter 55 IO adapter 60 CPU
65 Main memory 70 Main memory controller 75 Peripheral device 80 LAN
85 IOP
90 FW control unit 95 IOC
100 calculation processor 110 CPU
120 memory 130 disk 140 output device 150 input device

Claims (10)

周辺装置からメインメモリコントローラに転送するデータに関する全転送情報のうち、一部の転送情報を記憶する第1処理を行い、前記周辺装置にDMA転送を起動する信号を送信する第2処理を行い、残りの転送情報を記憶する第3処理を実行するとともに、前記周辺装置が前記データを転送することが可能なことを知らせるレディ信号を受信する第4処理を行制御部と
前記第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処理に要する第1の時間と、前記第2処理から前記第4処理が完了するまでに要する第2の時間とを基に所定の算出方法により算出した見積り時間に応じて、前記第1処理を実施する
請求項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.
前記全転送情報のうち、前記一部の転送情報に相当する1段分の転送情報を記憶するまでに要する時間を測定する登録時間計測部を更に備える
請求項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.
周辺装置ごとに前記第2の時間を測定する格納時間計測部を更に備え、
前記周辺装置に応じて、前記処理数を算出する
請求項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転送を起動する信号を送信し、残りの転送情報を前記バッファに記憶するとともに、前記周辺装置が前記データを転送することが可能なことを知らせるレディ信号を前記周辺装置から受信し、その後、前記周辺装置からメインメモリコントローラにデータを転送する
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.
周辺装置からメインメモリコントローラに転送するデータに関する全転送情報のうち、一部の転送情報を記憶する第1処理を行い、前記周辺装置にDMA転送を起動する信号を送信する第2処理を行い、残りの転送情報を記憶する第3処理を実行するとともに、前記周辺装置が前記データを転送することが可能なことを知らせるレディ信号を受信する第4処理を行制御機能と
前記第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.
前記制御機能は、前記第1処理に要する時間と、前記第2処理から前記第4処理が完了するまでに要する時間とから所定の算出方法により算出した見積り時間に応じて、前記第1処理を実現する
請求項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.
JP2012122087A 2012-05-29 2012-05-29 DMA transfer apparatus, DMA transfer method, and DMA transfer program Expired - Fee Related JP5637178B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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