CN100538684C - Dma控制器、节点、数据传送控制方法 - Google Patents
Dma控制器、节点、数据传送控制方法 Download PDFInfo
- Publication number
- CN100538684C CN100538684C CNB2005800493845A CN200580049384A CN100538684C CN 100538684 C CN100538684 C CN 100538684C CN B2005800493845 A CNB2005800493845 A CN B2005800493845A CN 200580049384 A CN200580049384 A CN 200580049384A CN 100538684 C CN100538684 C CN 100538684C
- Authority
- CN
- China
- Prior art keywords
- message
- node
- firmware
- response
- finishing
- 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
- 238000012546 transfer Methods 0.000 title claims abstract description 11
- 238000000034 method Methods 0.000 title claims abstract description 9
- 230000004044 response Effects 0.000 claims abstract description 59
- 230000005540 biological transmission Effects 0.000 claims abstract description 57
- 238000003860 storage Methods 0.000 abstract description 13
- 238000012545 processing Methods 0.000 description 35
- 238000005516 engineering process Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 230000005055 memory storage Effects 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 239000012467 final product Substances 0.000 description 2
- 101100129500 Caenorhabditis elegans max-2 gene Proteins 0.000 description 1
- 241001269238 Data Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000000047 product Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
Abstract
本发明提供一种DMA控制器、节点、数据传送控制方法、及介质。DMA控制器(14)的传送控制部(14a)根据来自本节点(10)的CPU(11)(固件)的委托,经由串行总线(1)和交换机(2)等向任意其他节点(3)发送数据和消息。此时,固件在存储器(12)中存储应发送数据、消息及其描述符,在委托消息发送的情况下,在描述符中包含有表示“是否需要等待来自数据传送目的地的应答”的标志。在该标志为“ON”的情况下,传送控制部(14a)立即对固件虚拟地进行完成通知,而不等待来自发送目的地节点(3)的完成响应。
Description
技术领域
本发明涉及直接存储器存取(Direct Memory Access)控制技术,涉及进行任意节点间的信息传送的技术。
背景技术
在计算机系统中,在存储器和存储器之间、或者存储器和输入输出设备(I/O设备)之间高效地进行数据传送是为了提高计算机系统性能的重要事项,作为该用途的技术,公知有DMA(Direct Memory Access,直接存储器存取)。DMA是代替中央处理装置(CPU)来执行计算机系统内的数据传送控制的结构,其中,称为DMA控制电路的专用硬件根据来自CPU的命令来对数据传送进行控制。
作为与DMA控制器相关的技术,例如,在专利文献1中,记载有如下的DMA控制器:其具有主处理器(MP)、多个处理部件(PE)、DMA控制器等,可集中发行多个从MP到各DMA控制器、PE的命令,无需等待与之前发送的命令对应的响应即可发行下一命令。
另外,在专利文献2中,公开了如下的通信控制处理装置,其具有:CPU部,其根据存储在存储器部(MEM部)中的程序(固件)来进行通信控制处理;以及DMA部,其不借助程序(CPU)而通过直接存储器存取(DMA)来进行通信接口MEM部间的数据传送,其中,该通信控制处理装置设有监视部,该监视部对固件的处理进行监视,上述DMA部构成为向追踪数据存储部传送由监视部所指示的数据。更具体而言,对存储在固件存储部中的多个各处理模块分别附加标记,处理模块在执行时向监视部通知附加给本模块的标记。然后,监视部保存通知来的标记并进行监视,在检测到产生异常时,对DMA部进行控制,以使其向追踪数据存储部传送与标记对应的处理模块的详细数据。
另外,专利文献3中的技术涉及寄存器结合的多处理器系统中的处理器间数据传送控制方式,该技术解决如下的问题:在发送侧和接收侧的帧大小不同的情况下,向寄存器部传送发送侧的最终帧的数据,从发送侧向接收侧进行END通知而进行数据传送完成的处理,且在接收侧也通过END通知来进行数据传送完成的处理,此时,最后的数据残留在寄存器部,所以需要执行与通常的数据传送处理不同的程序。
为解决该问题,在专利文献3中,发送侧的直接存储器存取控制部将在向寄存器部传送了最终数据时的完成信号和来自接收侧的直接存储器存取控制部的ACK之间的逻辑积,设为赋予中断控制部的发送完成信号。中断控制部利用该发送完成信号,向处理器赋予中断信号。
另外,近年来,作为例如对上位装置连接输入输出装置用的I/O接口,PCI_Express架构受到了瞩目。
专利文献1:日本特开2002—163239号公报
专利文献2:日本特开平7—93233号公报
专利文献3:日本特开平5—334260号公报
在此,近年来,例如在RAID等中,正在考虑采用上述PCI_Express架构。
RAID是Redundant Arrays of Inexpensive Disks或Redundant Arrays ofIndependent Disks(磁盘冗余阵列)的简称,是以提高高速化和安全性为目的而将多个存储装置(硬盘等)集中起来作为1台硬盘来管理的存储装置冗余技术。
图8示出包含采用上述PCI_Express架构的RAID的信息处理系统的一个例子。
在图示的信息处理系统中,构成RAID的多个存储模块50经由PCI_Express的串行总线70和PCI_Express交换机80而相互连接。PCI_Express交换机80具有连接各串行总线的各端口(未图示),进行任意端口间的分组路由。
各存储模块50具有存储装置(硬盘等)53和与该存储装置53连接的节点51。节点51与其他存储模块50之间经由上述PCI_Express的串行总线70和PCI_Express交换机80进行数据收发。
另外,各存储模块50分别经由CA(channel adapter,通道适配器)52与任意主机60连接,在从主机60接收到任意的请求(例如数据更新请求)时,根据该请求,进行对自身的存储装置53的数据更新等,并且例如对镜像(mirroring)目的地的存储模块50进行数据传送,来进行同样的数据更新。
以下,将这样接收到来自主机的请求的节点称为本地节点,将例如镜像目的地那样的数据传送目的地的节点称为远程节点。
各节点具有未图示的CPU、本地存储器以及DMA控制器。CPU根据安装在其内部的固件,来执行各种处理,固件例如在存在来自上述主机的请求时,在本地存储器中临时存储接收到的数据,并且启动DMA控制器,从而向DMA控制器委托上述数据传送处理。
此处,在将上述数据存储到本地存储器中时,固件发行描述符。即,一般,在CPU对DMA控制器委托任意数据的传送时,CPU在CPU下属的本地存储器中存储所委托传送的数据,并且在该本地存储器中,展开包含有DMA控制器所利用的传送控制信息(传送源地址、传送目的地地址、传送数据大小等)的描述符。然后,CPU启动DMA控制器。DMA控制器在启动时,自律地首先读出上述描述符而对传送控制信息进行分析,读出上述数据大小的、存储在传送源地址(本地存储器中的上述数据的存储位置)中的上述数据,而发送到传送目的地节点。作为该数据,除了应传送数据(上述更新数据等,以下表述为DATA)以外还有各种消息。
图9是图8的结构中的节点间的数据传送时序图。
首先,如图9的数据传送时序所示,在任意DATA的传送处理中,在实际传送DATA的处理前后,在本地节点—远程节点之间进行各种消息的收发。本地节点的固件101每当利用DMA控制器102发送1个消息时,在本地节点存储器中存储该消息和描述符后,启动DMA控制器102,从而向DMA控制器102委托该消息的发送。由此,DMA控制器102通过读出/分析描述符(描述符的存储位置确定),来向远程节点传送上述消息。这在远程节点侧也相同。另外,不仅是消息发送的情况,在DATA发送的情况下也相同。
图示的消息“cmd”是向远程节点的资源(存储器)确保请求,消息“adr”是来自远程节点的确保存储器地址通知。在正常结束了这些数据传送前的消息收发时,进行DATA传送。另外,在DATA传送后,也进行规定的消息交换。即,图示的消息“done”是对远程节点的数据传送结束通知,消息“cmp”是来自远程节点的数据接收完成通知。
在图9中,远程节点的DMA控制器112在接收到上述消息“cmd”时,对本节点的固件111(CPU)通知消息“cmd”的接收(准确而言,在本地存储器中存储消息“cmd”,对固件111进行中断),并且对本地节点的DMA控制器102回送完成响应。本地节点的DMA控制器102在接收到完成响应时,对本节点的固件101进行完成通知(进行中断)。本地节点的固件101在从上述DMA启动到接收到完成通知的期间,成为中断等待状态,而无法进行其他处理。
另外,从上述远程节点的DMA控制器112接收到消息“cmd”的接收通知的远程节点的固件111在执行与该消息“cmd”对应的规定的固件处理(在上述例子中为资源(存储器)确保处理)时,委托DMA控制器112发送与该消息“cmd”对应的回送消息“adr”。即,在本地存储器中存储消息“adr”及其描述符,启动DMA控制器112。启动后的DMA控制器112向本地节点发送上述消息“adr”,在接收到与此对应的完成响应时,向本节点的固件111进行完成通知(进行中断)。远程节点的固件111在从上述DMA启动到接收到完成通知期间,成为中断等待状态,而无法进行其他处理。
关于图9所示消息“done”和消息“cmp”的发送,也与上述相同,固件在从DMA启动到接收到中断的期间,成为中断等待状态,而无法进行其他处理。
如上所述,在任一节点中,在委托DMA控制器发送消息开始(从DMA启动开始)到接收到完成通知的期间(例如MAX 2(ms)左右),固件成为中断等待状态,无法进行其他处理,但在以往,这没有特别成为问题。
即,以往,如图10(a)所示,从CPU性能上考虑,和接收到对于所发送的消息的完成响应为止的时间(上述中断等待状态的时间)相比,CPU(固件)变为可转向其他任务的状态为止的时间更长,所以上述中断等待状态的时间不成为装置性能上的瓶颈。
但是,近年来,由于CPU性能的提高,如图10(b)所示,大幅缩短了固件变为可转向其他任务的状态为止的时间。但是,如上所述,由于固件在接收到完成通知之前无法转向其他处理(其他任务),所以上述中断等待状态时间成为装置性能上的瓶颈。
该问题不限于使用PCI_Express架构的情况,在以往的串行接口中会产生,并且在并行接口中也会产生。
发明内容
本发明的课题在于,改善固件视为的等待时间(latency),尤其提供一种在数据传送前后所进行的消息交换时,可根据所发送的消息的种类来虚拟地向固件通知响应而不等待响应,从而减少响应等待时间并可执行其他处理的DMA控制器及其程序等。
本发明的DMA控制器用于利用总线来连接具有DMA控制器的多个节点的信息处理系统中,该各DMA控制器构成为具有数据传送控制单元,该数据传送控制单元在从本节点的固件接收到消息发送委托时,判定该消息是否为需要来自发送目的地节点的完成响应的消息,在判定为是无需该完成响应的消息的情况下,经由所述总线向发送目的地节点的DMA控制器发送该消息,并且对所述本节点的固件进行完成通知,而不等待来自该发送目的地节点的完成响应,所述固件在所述消息发送委托中,向所述数据传送控制单元送出所述消息和作为该消息的描述符的描述符,该描述符包含有表示该消息是否为需要来自所述发送目的地节点的完成响应的消息的标志信息,所述数据传送控制单元通过参照该标志信息,来判定是否需要来自所述发送目的地节点的完成响应。
由此,DMA控制器不等待来自发送目的地的完成响应,而向固件虚拟地通知表示已有完成响应的意思,从而固件可转向其他处理。
例如,由于无需来自所述发送目的地节点的完成响应的消息是如下的消息:即该消息规定了在发送该消息之后将从所述发送目的地节点发送来某些消息。因此,可根据接收到来自所述发送目的地节点的回送消息的情况,来间接地判断上述发送出的消息已到达发送目的地节点。如果,在从上述消息发送开始经过一定时间也没有接收到回送消息的情况下,此时进行错误处理即可。
由此,可根据本发明的DMA控制器,来提高固件的处理效率。
附图说明
图1是本例子的信息处理系统中的节点的结构图。
图2是用于对节点间的数据(消息)收发处理进行说明的图(其1)。
图3是用于对节点间的数据(消息)收发处理进行说明的图(其2)。
图4(a)是示出各种消息的数据传送时序的图,图4(b)是一览示出各种消息的功能和“是否需要来自数据传送目的地的应答”的图。
图5是本例子的描述符的示意图。
图6是本例子的DMA控制器的动作流程。
图7是本例子的数据传送时序的一个例子。
图8是以往的RAID等的结构示例。
图9是以往的数据传送时序的一个例子。
图10(a)、(b)是用于说明以往的问题点的图。
具体实施方式
以下,参照附图来对本发明的实施方式进行说明。
另外,在本实施方式的说明中,以在DMA控制器间的连接中使用PCI_Express架构的情况为例进行说明,但本发明也可适用于以往任意的使用串行接口或并行接口的结构。
图1是本示例的信息处理系统中的节点的结构图。
本示例的信息处理系统的整体结构与在图8中所说明的以往结构大致相同。在图1中,示出图8那样的信息处理系统中的各节点的结构示例。
图1所示的节点10具有CPU 11、存储器12、存储器集线器(memoryhub)13、以及DMA控制器14。
存储器12是CPU 11下属的本地存储器,CPU 11经由存储器集线器13进行向存储器12的数据读出/写入。DMA控制器14也经由存储器集线器13进行向存储器12的数据读出/写入。在以下的说明中,关于存储器集线器13虽没有特别言及,但针对存储器12的数据读出/写入一直经由存储器集线器13来进行。
在安装于CPU 11中的固件向DMA控制器14委托任意数据的数据传送的情况下,在存储器12中存储该传送数据,并且在存储器12中展开上述描述符。DMA控制器14的传送控制部14a参照该描述符,根据该描述符的信息,例如经由基于PCI等的串行总线1、交换机2等而向任意其他节点3传送上述数据。另外,如上所述,作为上述数据,除了实际数据(DATA)以外还有各种消息,在实际数据(DATA)传送处理的前后,执行规定的消息交换。另外,传送控制部14a是用于向DMA控制器的消息通道(MSCH)模块追加本发明的功能的单元。
其他节点3(数据传送目的地的节点等)也与节点10的结构相同。
以上说明的动作本身虽然与以往大致相同,但在本示例中,在所委托发送(存储到存储器12中)的数据为消息的情况下,在该描述符中包含有表示是否为“需要等待来自数据传送目的地的应答”的信息(标志等),DMA控制器14的传送控制部14a参照该标志,执行后述的传送控制处理,这一点与以往不同。即,根据所传送的消息的种类,DMA控制器14不等待来自数据传送目的地的应答而虚拟地对固件进行完成通知,这一点与以往不同。
由于实际数据(DATA)传送处理本身与本发明的特征无关,所以在以下的说明中,基本上说明对消息进行收发的情况。
图2示出多个节点使用PCI_Express那样的串行接口来相互连接的、RAID等信息处理系统整体的结构例子。该整体结构本身与在图8中说明的以往结构大致相同,此处,针对各节点,仅示出固件(CPU 11)和DMA控制器14。
关于图2所示结构的基本动作,由于已在图8中进行了说明,此处,在如下的简单说明中,任意节点的DMA控制器在从本节点的固件委托来任意的消息发送时,对消息传送目的地节点的DMA控制器,经由串行总线1、交换机2而发送该消息(MSG)。
另外,在以下的说明中,如图3所示,将这样的数据发送源的节点称为本地侧节点20,而将数据发送目的地的节点称为远程侧节点30。另外,如图3所示,对本地侧节点20中的DMA控制器、其传送控制部、以及固件分别附加标号22、22a、21。同样,对远程侧节点30中的DMA控制器、其传送控制部、以及固件分别附加标号32、32a、31。
远程侧节点30的DMA控制器32的传送控制部32a在接收到上述消息(MSG)时,进行向本节点的固件31的通知(中断),并且对本地侧节点20回送完成响应。本地侧节点20的DMA控制器22的传送控制部22a在接收到该完成响应时,向本节点的固件21进行完成通知(中断)。但是,在本例子中,本地侧节点20的DMA控制器22的传送控制部22a根据上述所发送的消息的种类,可不等待上述完成响应而直接进行向本节点的固件21的完成通知。由此,可减少固件21的中断等待时间,可转向其他处理。
另外,远程侧节点30的固件31生成/发送与上述消息对应的响应消息,但在该情况下,远程侧的DMA控制器32的传送控制部32a也与上述同样地,根据响应消息的种类,可不等待完成响应而直接进行向本节点的固件31的完成通知。
图4(a)示出在上述本地侧节点20与远程侧节点30之间进行收发的消息的具体例子。
在图4(a)中,示出与某实际数据(DATA)的数据发送相伴的各种消息的数据传送时序的具体例子。
在图示例子中,首先,本地侧节点20对远程侧节点30发送消息“cmd”,与此相对,远程侧节点30回送响应消息“adr”。本地侧节点20在正常接收到响应消息“adr”后,传送实际数据(DATA)。然后,本地侧节点20对远程侧节点30发送消息“done”,与此相对,远程侧节点30回送响应消息“cmp”。本地侧节点20在正常接收到响应消息“cmp”后,完成该数据发送处理。
在图4(b)中,一览示出图4(a)所示各种消息的功能和上述“是否需要来自数据传送目的地的应答”。
图4(a)所示消息的种类有cmd、adr、done和cmp这4种。关于这些各种消息类型的功能,以往已经进行了说明,如图4(b)所示。即,cmp是从本地节点对远程节点的资源(存储器)确保请求。adr是从远程侧回送来的、所确保的存储器地址的通知。done是从本地节点对远程节点的数据传送结束通知。cmp是从远程节点回送来的、数据接收完成通知。
此处,对于数据传送时序的最终消息即“cmp”以外的消息,是在发送目的地节点正常接收到该消息的情况下从发送目的地回送来消息的消息,所以通过接收该回送消息,可间接地确认该消息已到达发送目的地节点的情况。由此,在该例子中,如图4(b)所示,“cmp”以外的所有消息均无需应答,仅“cmp”需要应答。
这样,按照每个各消息种类,预先知晓是否需要应答,所以预先使固件具有图4(b)所示信息,从而可从固件对DMA控制器通知是否需要应答。即,在本例子中,当存储在存储器12中的数据为消息的情况下,如图5所示,在展开于上述存储器12中的描述符中,包含该消息的种类、表示是否需要应答的标志(表示结束中断定时的标志比特)。当然,在描述符中如以往那样还包含有数据(消息)存储位置及其大小的信息,但此处省略示出。
例如,当在存储器12的数据存储区域中存储有消息“cmd”时,固件在存储器12中展开与该消息“cmd”对应的描述符。在该描述符中,包含有消息“cmd”的存储位置(开头地址)和数据大小等信息,所以如后述图6的处理那样,DMA控制器14的传送控制部14a可通过读出并分析描述符,来读出并发送消息“cmd”。而且,在本例子中,还可以根据包含在描述符中的上述标志,来判定是否等待与该消息“cmp”对应的应答。
当在存储器12中展开描述符时,CPU 11(固件)根据存储在存储器12中的消息的类型,来对描述符的标志进行设置(set)或复位(reset)。此处,在无需应答的情况下,对标志进行设置(“ON”)。
然后,由CPU 11(固件)启动DMA控制器14的传送控制部14a,此时执行图6所示处理。
图6所示处理也可以通过硬件来实现,或者也可以通过软件来实现。在通过硬件来实现的情况下,在以往的硬件结构中,仅附加如下的电路结构即可:参照上述标志,在标志为“OFF”的情况下,进行如以往那样的动作,在标志为“ON”的情况下,在消息发送之后立刻产生针对固件的中断。
此处,对通过软件来实现图6所示处理的情况进行说明。在通过软件来实现的情况下,DMA控制器具有未图示的CPU和存储器,在该存储器中存储有用于实现图6所示处理的程序,CPU读出并执行该程序。实现图6的数据传送处理的功能部相当于传送控制部14a。
每当由固件启动DMA控制器时,执行图6所示数据传送处理。另外,此处,以本地侧节点20对远程侧节点30进行消息发送的情况为例进行了说明,但在远程侧节点30对本地侧节点20发送响应消息的情况下,也进行同样的处理。
在图6中,DMA控制器22的传送控制部22a首先从存储器读出描述符(步骤S11),对该描述符进行分析(步骤S12),从而从存储器读出消息(步骤S13),对远程侧节点30发送该消息(步骤S14)。另外,当上述描述符的分析时,对标志进行检查(步骤S15),在标志为“ON”的情况下,不等待来自远程侧节点30的完成响应,而立即对固件21进行完成通知(步骤S17)。另一方面,在标志为“OFF”的情况下,等待来自远程侧节点30的完成响应(步骤S16),在接收到完成响应时,对固件21进行完成通知(步骤S17)。
通过进行这样的传送控制,本地侧节点20与远程侧节点30之间的数据传送时序例如成为图7所示的形式。
在图7中,在本地侧节点20的固件21(CPU)启动DMA控制器22时,DMA控制器22参照描述符,向远程侧节点30发送消息“cmd”,并且由于与该消息“cmd”对应的上述标志为“ON”,所以不等待来自远程侧节点30的完成响应,而执行针对固件21的中断(完成通知)。由此,固件21可进行例如对其他节点的处理等。然后,DMA控制器22在接收到来自远程侧节点30的完成响应时,对其进行丢弃。
另一方面,接收到上述消息“cmd”的远程侧节点30的DMA控制器32进行上述完成响应,并且对本节点30的固件31进行中断(消息“cmd”接收的通知)。由此,远程侧节点30的固件31执行与消息“cmd”对应的规定处理,在执行用于发送响应消息“adr”的处理之后,启动DMA控制器32。DMA控制器32参照描述符,向本地侧节点20发送消息“adr”,并且由于与该消息“adr”对应的上述标志为“ON”,所以不等待来自本地侧节点20的完成响应,而执行针对固件31的中断(完成通知)。
由此,与上述固件21的情况相同,固件31可转向其他处理。
接收到上述消息“adr”的DMA控制器22执行针对固件21的中断(消息“adr”接收的通知),然后进行DATA传送。但是,在由于某种理由而使得从上述消息“cmd”发送委托开始经过规定时间也没有接收到消息“adr”的情况下,固件21进行超时检测。由此,作为数据传送时序,在规定为针对某消息的发送而从发送目的地回送响应消息的情况下,根据没有送来响应消息的情况,可间接地判定为该发送出的消息没有到达对方目的地。
因此,除了即使在对方目的地正常接收到所发送的消息的情况下也没有来自对方目的地的响应消息的情况,即,除了发送出的消息为数据传送时序的最后消息的情况(在上述例子中为cmp),不等待完成响应(一直投送消息)而虚拟地对固件进行中断,即使把基于上述超时检测等的错误处理推后,也不会特别成为问题。
在图7中,关于消息“done”,也与上述消息“cmd”等相同,由于上述标志为“ON”,所以DMA控制器22不等待来自远程侧节点30的完成响应,而执行针对固件21的中断。
另一方面,在图示数据传送时序中的最后消息即消息“cmp”的情况下,由于上述标志变为“OFF”,所以DMA控制器32在对本地侧节点20发送消息“cmp”后,等待完成响应,在接收到完成响应时,对固件31进行中断(完成通知)。
如以上说明这样,根据本示例的DMA控制器,特别当在数据传送前后所进行的消息交换时,根据发送出的消息种类,可不等待响应而虚拟地向固件通知响应,从而可减少响应等待时间而执行其他处理。因此,固件可减少响应到来之前的无用的等待时间而提高处理效率。
Claims (4)
1.一种直接存储器存取(DMA)控制器,该直接存储器存取控制器用于利用总线来连接具有直接存储器存取控制器的多个节点的信息处理系统中,其特征在于,
该各直接存储器存取控制器具有数据传送控制单元,该数据传送控制单元在从本节点的固件接收到消息发送委托时,判定该消息是否为需要来自发送目的地节点的完成响应的消息,在判定为是无需该完成响应的消息的情况下,经由所述总线向发送目的地节点的直接存储器存取控制器发送该消息,并且对所述本节点的固件进行完成通知,而不等待来自该发送目的地节点的完成响应,
所述固件在所述消息发送委托中,向所述数据传送控制单元送出所述消息和作为该消息的描述符的描述符,该描述符包含有表示该消息是否为需要来自所述发送目的地节点的完成响应的消息的标志信息,
所述数据传送控制单元通过参照该标志信息,来判定是否需要来自所述发送目的地节点的完成响应。
2.根据权利要求1所述的直接存储器存取控制器,其特征在于,所述总线是使用PCI_Express架构的串行总线。
3.一种节点,该节点用于利用总线来连接多个节点的信息处理系统中,其特征在于,
该各节点具有直接存储器存取控制器,该直接存储器存取控制器在从本节点的固件接收到消息发送委托时,判定该消息是否为需要来自发送目的地节点的完成响应的消息,在判定为是无需该完成响应的消息的情况下,经由所述总线而向发送目的地节点的直接存储器存取控制器发送该消息,并且对所述本节点的固件进行完成通知,而不等待来自该发送目的地节点的完成响应,
所述固件在所述消息发送委托中,向所述数据传送控制单元送出所述消息和作为该消息的描述符的描述符,该描述符包含有表示该消息是否为需要来自所述发送目的地节点的完成响应的消息的标志信息,
所述数据传送控制单元通过参照该标志信息,来判定是否需要来自所述发送目的地节点的完成响应。
4.一种数据传送控制方法,其用于利用总线来连接具有直接存储器存取控制器的多个节点的信息处理系统中的该各直接存储器存取控制器,其特征在于,在该数据传送控制方法中,
在从本节点的固件接收到消息发送委托时,判定该消息是否为需要来自发送目的地节点的完成响应的消息,在判定为是无需该完成响应的消息的情况下,经由所述总线向发送目的地节点的直接存储器存取控制器发送该消息,并且对所述本节点的固件进行完成通知,而不等待来自该发送目的地节点的完成响应,
所述固件在所述消息发送委托中,向所述数据传送控制单元送出所述消息和作为该消息的描述符的描述符,该描述符包含有表示该消息是否为需要来自所述发送目的地节点的完成响应的消息的标志信息,
所述数据传送控制单元通过参照该标志信息,来判定是否需要来自所述发送目的地节点的完成响应。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2005/006504 WO2006114822A1 (ja) | 2005-04-01 | 2005-04-01 | Dmaコントローラ、ノード、データ転送制御方法、及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101156144A CN101156144A (zh) | 2008-04-02 |
CN100538684C true CN100538684C (zh) | 2009-09-09 |
Family
ID=37214462
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005800493845A Expired - Fee Related CN100538684C (zh) | 2005-04-01 | 2005-04-01 | Dma控制器、节点、数据传送控制方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7849235B2 (zh) |
JP (1) | JP4658122B2 (zh) |
KR (1) | KR100958685B1 (zh) |
CN (1) | CN100538684C (zh) |
WO (1) | WO2006114822A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8687639B2 (en) | 2009-06-04 | 2014-04-01 | Nvidia Corporation | Method and system for ordering posted packets and non-posted packets transfer |
US8532098B2 (en) * | 2009-11-30 | 2013-09-10 | Nvidia Corporation | System and method for virtual channel communication |
FR2953307B1 (fr) * | 2009-12-01 | 2011-12-16 | Bull Sas | Controleur d'acces direct a une memoire pour le transfert direct de donnees entre memoires de plusieurs dispositifs peripheriques |
FR2953308B1 (fr) | 2009-12-01 | 2011-12-09 | Bull Sas | Systeme autorisant des transferts directs de donnees entre des memoires de plusieurs elements de ce systeme |
US9176909B2 (en) * | 2009-12-11 | 2015-11-03 | Nvidia Corporation | Aggregating unoccupied PCI-e links to provide greater bandwidth |
US9331869B2 (en) | 2010-03-04 | 2016-05-03 | Nvidia Corporation | Input/output request packet handling techniques by a device specific kernel mode driver |
US9330031B2 (en) | 2011-12-09 | 2016-05-03 | Nvidia Corporation | System and method for calibration of serial links using a serial-to-parallel loopback |
JP6070357B2 (ja) * | 2013-03-28 | 2017-02-01 | 富士通株式会社 | ストレージ装置 |
WO2018037510A1 (ja) | 2016-08-24 | 2018-03-01 | 株式会社日立製作所 | 計算機システム、通信デバイス、及び、記憶制御方法 |
KR101948163B1 (ko) * | 2017-01-10 | 2019-02-14 | 충북대학교 산학협력단 | Pci 익스프레스 기반의 연결통신망에서 배리어 구현 방법 |
FR3070514B1 (fr) * | 2017-08-30 | 2019-09-13 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Controleur d'acces direct en memoire, dispositif et procede de reception, stockage et traitement de donnees correspondants |
US10657087B2 (en) * | 2018-05-31 | 2020-05-19 | Toshiba Memory Corporation | Method of out of order processing of scatter gather lists |
JP7326863B2 (ja) * | 2019-05-17 | 2023-08-16 | オムロン株式会社 | 転送装置、情報処理装置、および、データ転送方法 |
JP7318423B2 (ja) * | 2019-08-30 | 2023-08-01 | 富士通株式会社 | 通信制御装置、通信制御方法及び通信制御プログラム |
CN112835823B (zh) * | 2021-01-25 | 2022-03-01 | 无锡众星微系统技术有限公司 | 存储控制器应答发送方法 |
CN113971151A (zh) * | 2021-10-28 | 2022-01-25 | 上海兆芯集成电路有限公司 | 串行传输控制器及其数据传输方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05334260A (ja) | 1992-06-03 | 1993-12-17 | Fujitsu Ltd | プロセッサ間データ転送制御方式 |
JP2715815B2 (ja) * | 1992-07-06 | 1998-02-18 | 日本電信電話株式会社 | デ−タ書き込み方法 |
JPH0793233A (ja) | 1993-09-20 | 1995-04-07 | Fujitsu Ltd | ファームウェア・トレースデータ取得方式 |
US6105080A (en) * | 1997-12-30 | 2000-08-15 | Lsi Logic Corporation | Host adapter DMA controller with automated host reply capability |
US6353619B1 (en) * | 1998-02-13 | 2002-03-05 | Paradyne Corporation | Circuit to integrate a host processor with special packet-handling logic for use with a DSL modem |
JP3884862B2 (ja) | 1998-04-30 | 2007-02-21 | キヤノン株式会社 | データ転送装置、データ転送装置の制御方法、記憶媒体 |
US6538758B1 (en) * | 1998-05-15 | 2003-03-25 | Canon Kabushiki Kaisha | Image output apparatus and method thereof, and image output system |
JPH11327814A (ja) | 1998-05-15 | 1999-11-30 | Canon Inc | 画像出力装置及びその方法、及び画像出力システム |
JP2002163239A (ja) | 2000-11-22 | 2002-06-07 | Toshiba Corp | マルチプロセッサシステムおよびその制御方法 |
JP2002163203A (ja) * | 2000-11-22 | 2002-06-07 | Net System Kk | 情報提供装置、情報処理装置及び記録媒体 |
JP2004005382A (ja) * | 2002-03-29 | 2004-01-08 | Fujitsu Ltd | データ転送装置および方法 |
US6985970B2 (en) * | 2003-04-25 | 2006-01-10 | International Business Machines Corporation | Data transfer with implicit notification |
US20050232298A1 (en) * | 2004-04-19 | 2005-10-20 | Beverly Harlan T | Early direct memory access in network communications |
-
2005
- 2005-04-01 CN CNB2005800493845A patent/CN100538684C/zh not_active Expired - Fee Related
- 2005-04-01 JP JP2007514345A patent/JP4658122B2/ja not_active Expired - Fee Related
- 2005-04-01 KR KR1020077023490A patent/KR100958685B1/ko active IP Right Grant
- 2005-04-01 WO PCT/JP2005/006504 patent/WO2006114822A1/ja not_active Application Discontinuation
-
2007
- 2007-09-28 US US11/905,373 patent/US7849235B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101156144A (zh) | 2008-04-02 |
US7849235B2 (en) | 2010-12-07 |
KR100958685B1 (ko) | 2010-05-20 |
WO2006114822A1 (ja) | 2006-11-02 |
JPWO2006114822A1 (ja) | 2008-12-11 |
US20080104341A1 (en) | 2008-05-01 |
KR20070116102A (ko) | 2007-12-06 |
JP4658122B2 (ja) | 2011-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100538684C (zh) | Dma控制器、节点、数据传送控制方法 | |
US8032793B2 (en) | Method of controlling information processing system, information processing system, direct memory access control device and program | |
US7970958B2 (en) | Peripheral interface alert message for downstream device | |
US8151026B2 (en) | Method and system for secure communication between processor partitions | |
KR980013147A (ko) | 패킷 상호 연결망에서의 메시지 송신 장치 및 메시지 송신 제어방법 | |
KR20040069329A (ko) | 수퍼차지 메시지 교환기 | |
US7873880B2 (en) | Data relay device, storage device, and response delay monitoring method | |
US7783817B2 (en) | Method and apparatus for conditional broadcast of barrier operations | |
CN115437978A (zh) | 高速外围组件互连接口装置及其操作方法 | |
CN1331070C (zh) | 数据通信的方法及设备 | |
US6154785A (en) | Inter-processor communication system | |
CN103685578A (zh) | 主从设备的数据传输方法 | |
CN102640129B (zh) | 用于多核系统的直接存储器存取装置及其操作方法 | |
US20060129714A1 (en) | Method and apparatus for transferring data | |
US7336657B2 (en) | Inter-nodal data transfer system and data transfer apparatus | |
US8978052B1 (en) | System and methods for inter-driver communication | |
US11782497B2 (en) | Peripheral component interconnect express (PCIE) interface device and method of operating the same | |
JP2853607B2 (ja) | ジョブ間通信システム | |
CN113609150B (zh) | 基于硬件的原子写方法、设备及系统 | |
JP2018112825A (ja) | 装置、通信制御装置、情報処理システム、通信制御方法及びプログラム | |
KR100211960B1 (ko) | 패리티 방식을 이용한 프레임 구별방법 | |
JPH10271127A (ja) | データ授受方式 | |
JP3594952B2 (ja) | 中央システムの操作を実行するための中央システムと衛星システムとの間のリンク | |
JP2008059282A (ja) | 分散処理システム、分散処理方法及びプログラム | |
CN102859514A (zh) | 处理器之间的管理数据传输 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090909 |
|
CF01 | Termination of patent right due to non-payment of annual fee |