CN101004728A - 直接存储器访问的访问系统和方法 - Google Patents

直接存储器访问的访问系统和方法 Download PDF

Info

Publication number
CN101004728A
CN101004728A CNA2007100018556A CN200710001855A CN101004728A CN 101004728 A CN101004728 A CN 101004728A CN A2007100018556 A CNA2007100018556 A CN A2007100018556A CN 200710001855 A CN200710001855 A CN 200710001855A CN 101004728 A CN101004728 A CN 101004728A
Authority
CN
China
Prior art keywords
dma
address
clauses
transmission
subclauses
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.)
Granted
Application number
CNA2007100018556A
Other languages
English (en)
Other versions
CN101004728B (zh
Inventor
M·S·施兰斯克
E·厄尔特利
J·-F·科拉尔
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.)
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN101004728A publication Critical patent/CN101004728A/zh
Application granted granted Critical
Publication of CN101004728B publication Critical patent/CN101004728B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

描述了用于执行直接存储器访问(DMA)传输的方法和系统。无效队列(36)(或其它存储设备队列)包含与进行中的DMA传输关联的条目。如果无效队列检测到与条目关联的存储器页面无效,则将其标记为无效。如果在DMA传输期间条目被标记为无效,则异常中断DAM传输。这尤其使得DMA传输能够解锁定虚拟存储器。

Description

直接存储器访问的访问系统和方法
技术领域
本发明一般地涉及数据通信系统和方法,并且更特别地涉及执行直接存储器访问(DMA)传输的数据系统和方法。
背景技术
网络接口控制器(NIC)是支持计算机之间数据传输的硬件设备。用于所传输数据的普通源和目的是通用计算机系统中分页的虚拟存储器。通用处理器包括有地址转换硬件以便于虚拟页面访问。分页的虚拟存储器提供被转换或映射到物理地址的虚拟地址,并且虚拟页面可换出到磁盘或从主存储器中移除,并之后从磁盘换入到新的物理页面地址。操作系统可单向执行所谓解锁定虚拟页面的页面交换。因此,在这种网络系统上操作的应用软件通常利用地址转换硬件来访问主存储器,地址转换硬件确保了访问正确的物理页面,例如操作系统还没有对软件需要访问的页面启动页面交换。在所需数据被换出的时间间隔期间软件访问暂停,并且通过在这个位置处换入数据时访问新的物理位置来恢复软件访问。
一些连网方案通过使软件从解锁定(unpinned)虚拟页面复制数据到锁定(pinned)的接口存储器来解决了在虚拟页面交换期间与软件挂起关联的停机时间。锁定的存储器由不能被操作系统交换到磁盘的页面构成。在该系统中,NIC只访问锁定的接口存储器。这简化了由NIC执行的DMA传输,因为在网络操作期间数据决不会交换,这转而保证了在整个NIC的DMA数据传输中数据是可访问的并且数据的物理地址保持恒定。但是,这种方案要求数据复制形式(例如从解锁定的虚拟存储器到可由NIC访问的锁定系统缓冲器)的额外开销,该额外的开销利用了重要的系统资源。
由解锁定虚拟存储器所提出问题的另一个方案消除上述数据复制但需要软件调用操作系统函数来在将数据直接发送到用户页面或从用户页面直接发送之前锁定该用户页面。此外页面稍后被解锁定,以便允许在网络活动完成后进行页面交换。尽管这对锁定的页面消除了复制,但是软件现在必须调用昂贵的页面锁定和页面解锁定函数。
由此,所期望的是,提供能够使NIC直接访问解锁定分页的虚拟存储器而不应用例如数据复制或页面锁定/页面解锁定函数的机制和方法。
发明内容
根据本发明的一个实施例,直接存储器访问(DMA)监控方法包括步骤:将条目放置在包括与DMA传输关联的存储器地址的存储设备中,监控DMA传输期间的互连并选择性地使条目无效,并且确定该条目是否被无效。
根据本发明的另一个实施例,直接存储器访问(DMA)传输设备包括与DMA传输设备关联的存储设备,用于保存包括存储地址的条目,直接存储器访问(DMA)传输对于该存储地址是未决的,和DMA访问引擎,用于执行DMA传输,其中存储设备队列监控DMA传输期间的互连并选择性地使条目无效;而且其中如果条目被无效,则存储设备发送异常中断DMA传输信号到DMA访问引擎。
根据本发明的又一个实施例,用于执行直接存储器访问(DMA)传输的系统包括用于将条目放置在包括与DMA传输关联的存储器地址的存储设备中的装置,用于监控DMA传输期间的互连并选择性地使条目无效的装置,用于确定在DMA传输期间该条目是否被无效的装置,和用于如果在DMA传输期间条目被无效,则异常中断DMA传输的装置。
附图说明
合并在此并构成说明书一部分的附图说明了本发明的实施例,并结合说明书一起来解释本发明。在附图中:
图1说明了实现本发明的示例实施例的示例系统;
图2描述了根据本发明的示例实施例的NIC包括DMA传输机构的部分;和
图3是描述用于根据本发明的示例实施例执行DMA传输的方法的流程图。
具体实施方式
本发明的示例实施例的下面描述参考附图。不同附图中相同的参考数字标识相同或类似的元素。下面的详细描述不限制本发明。相反,本发明的范围由所附权利要求来限定。
如上下文,考虑图1的示例实施例。这里,对称多处理器(SMP)系统10包括多个中央处理器单元(CPU)12,它们经由相干结构16共享存储器单元14。尽管SMP10被示出具有四个CPU(核),但是本领域技术人员将理解,SMP10可具有更多或更少的CPU。SMP10在NIC18的控制下经由以太网连接和结构(开关)22发送消息到SMP20。NIC18通常具有与其关联的处理器(未示出),要么作为NIC的主要部分要么以协助处理器(helper processor)的形式,使得NIC具有足够的智能来解释各种命令。结构22将消息路由到其目标接收方,尽管消息偶尔会被丢弃,这使得如图1所示的系统应当支持所丢弃消息的重传。注意到,上述系统只是示例性的并且本发明尤其等同地可应用于涉及单个处理器系统的系统。
图2说明了示例NIC(由引用数字30引用)的发送部分,其根据本发明的示例实施例来方便对存储在解锁定存储器页面中的数据的访问。通过支持诸如存储器读和写的事务的相干互连32来访问NIC30。存储器映射操作可用于访问控制和状态寄存器,从而控制和监控NIC30。在该示例设备中,两个输入队列34和36被提供用来控制NIC。命令队列34提供初级命令接口,其识别要发送的数据。无效队列36用于方便对存储器解锁定的虚拟页面的访问。注意到,如这里所使用的,短语“无效队列”通常是指用于一个或多个要监控的地址的存储设备并且例如可包括一组寄存器。
为了更好地理解示例NIC30如何能够操作用来访问存储器中的解锁定虚拟页面,则考虑下列的例子。假设软件(例如运行在一个或多个CPU12上)希望发送长度为L的消息,该消息来自从虚拟地址V开始的进程Q。为了简化这个例子,假定该消息没有跨过页面边界,并且对于每个消息,所有引用的数据位于同一页面内。由于NIC30使用物理地址来执行与网络传输关联的数据传输,所以该过程中的第一步骤是获得与虚拟地址V关联的物理地址。为了获得物理地址,软件调用操作系统函数来执行转换,例如函数P=translate(Q,V)将进程Q的虚拟地址V转换为作为参数P返回的物理地址。根据本发明的一个示例实施例,转换函数P在软件中执行。通用处理器(未在图2中示出)附着到相干互连32。运行在通用处理器上的操作系统维护精确规定当前虚拟页面转换的页面表。操作系统确保维护页面表精确性。内核级程序或设备驱动程序可访问页面表,以便确定与给定虚拟地址对应的物理地址。使用该函数,软件可在任何时候为任何进程确定任何虚拟地址。但是,当引用虚拟存储器中的解锁定页面时,该函数返回的地址可能在任何时候变化,因为页面被收回到磁盘并且随后从磁盘被再分页到新的物理页面位置。
在转换之后,从物理地址P取回数据的命令被放置在DMA引擎38的命令队列34中,并且对应的无效地址被添加到无效队列36。根据本发明的一个示例实施例,每次有新的命令要添加到命令队列34时,在其被添加到命令队列34之前就将其对应的无效地址添加到无效队列36。这预防了与DMA传输关联的地址在命令刚好被插入到命令队列34之后而在无效队列36有充足的时间来监控该地址之前就被无效的可能性。
在图2中可以看见根据本发明的示例实施例的队列管理的定时方面。其中,软件已经为页面p1将条目插入在无效队列36中,并接着为页面p1将发送命令插入在命令队列34中。类似地,软件可为后续的页面p2和p3插入无效条目和发送队列条目。尽管软件已经为p4插入无效队列条目,但如图2所示在那一时刻其还没有为p4插入命令队列条目。软件将插入与页面p4关联的命令队列条目以完成该事务。
为了确保DMA传输正确,无效队列36对于指明页面已经被无效的信号,来监视相干互连32。假定无论操作系统何时移除来自服务的页面,其将首先向所有访问该页面的处理器通知该页面不再可访问。在这个示例系统中,NIC30作为负责直接访问解锁定数据的处理器。当页面被无效时,操作系统发送指明地址P处的页面不再有效的信号。无效队列36能够通过监视相干互连32来应答该信号。如果无效信号匹配无效队列36中的有效条目,则无效队列36将该条目标记为无效。当页面访问在DMA传输的整个周期中是有效的时,DMA传输被认为是完成的。
在图3的流程图中说明根据本发明的示例实施例的使与通过NIC的发送(或接收)关联的DMA传输有效/无效的方法。首先,执行地址转换以便在步骤48转换源或目标DMA地址的虚拟地址。接着在步骤50,有效条目E被放置在具有物理地址P的无效队列36中。可检查物理地址P以确保其对于始发进程Q和虚拟页面V是有效转换P=translate(Q,V)。接下来在步骤52,将发送或接收操作命令放置在命令队列34中。在步骤54,无效队列36接着开始对任何潜在无效地址P来监视相干互连32,直到与地址P关联的DMA传输完成(与步骤54、56和57关联的循环)。如果在互连32上检测到信号,则在步骤56选择性地使条目无效,导致在步骤58处同意无效(异常中断信号)并重新开始DMA传输。同意无效步骤在DMA访问已经终止后发生。此时,可生成向操作系统给出许可以便为新的应用而重新映射该页面的信号。该同意无效信号向操作系统提供这样的保证,即没有未完成的来自先前页面使用的DMA访问会在为新的应用而重新映射页面之后访问或破坏数据。在发送方DMA传输的示例情况下,当DMA传输异常中断时,尾指针42没有被更新并且数据没有在逻辑上附加到发送缓冲器40的尾部。当将一些数据复制到传输缓冲器40但尾指针42没有被更新时导致部分的传输,即如同DMA传输根本没有发生。在另一情况下,在使用诸如TCP的可靠协议时,未发送的消息丢失并自动导致消息重传。下面讨论通过NIC30的接收方DM传输,例如其中NIC18从另一SMP20接收数据以便传输到一个或多个CPU12。
否则,如果在DMA传输完成后无效队列36为地址P保存有效条目E,则在步骤60,到/来自解锁定存储器页面的DMA传输成功了,结束了图3中的流程,并且可继续处理与DMA传输关联的数据。在发送方DMA的示例情况下,作为框60所引用的后续处理的部分,通过更新该数据结构的尾指针42可将从DMA传输所获得的数据附加到发送缓冲器40。NIC30的网络发射器44将接着例如通过结构22发送该数据到另一SMP20。下面的伪代码说明了一种示例技术方法,用于通过进程0从虚拟地址V开始来发送来自解锁定页面的DMA、长度为L的消息。
Success=false;
While(!success){
  P_old=nil:
  p_new=translate(Q,V);
  e=find_empty_invaIidate_entry();/*寻找名为e的空条目*/
  While(p_old!=p_new){/*在页面的条目保持有效时退出*/
  add_valid_entry(e,p_new);/*将物理页面的有效条目插入到e*/
  p_oId=p_new;p_new=translate(Q,v);
  }
DMA_to_transmit_queue(p2,L);/*将数据附加到传输队列的尾部*/
success=invalidate_queue_check(e);/*测试还没有无效信号出现*/
}
update_transmit_queue_tail_pointer();/*把数据提交给发送队列
*/
invalidate_queue_remove(e);/*移除条目*/
在一些实现中,执行转换函数的执行时间成本是可观的。根据本发明的一些示例实施例,可通过使用转换缓冲函数来降低该执行时间成本。转换缓冲函数利用先前的转换来预测当前的虚拟转换。利用诸如散列表的技术可有效地实现这种缓冲器。利用函数P=catch_value(Q,V)来向缓冲器询问进程Q的虚拟地址V的页面预测。P为转换返回预测的值。如果不存在当前的预测,则P返回的值为空。该空值不等于任何其它合法的物理页面。当知道了P是进程Q的虚拟地址V的正确转换时,那么利用函数P=catch_insert(Q,V.P)将已知的转换插入到缓冲器中。这允许将缓冲器后续使用为预测器,用来返回页面P以作为对进程Q对虚拟页面V的访问的预测物理页面。但是,这仅仅是预测,因为虚拟页面系统可能已经将虚拟页面移动到新的位置。下面的示例伪代码说明将转换缓冲函数合并到允许NIC访问解锁定页面的技术的方式,以便减少对转换函数调用的次数。
Success=false;
While(!success){
  P_old=nil:
  p_new=catch_value(Q,V);/*获得预测的值*/
  if(p_new2==nil)p_new=translate(Q,V);/*如果先前预测不存在,则创建一个*/
   e=find_empty_invaIidate_entry();
  While(p_old!=p_new){/*在页面的条目保持有效时退出*/
  add_valid_entry(e,p_new);/*将物理页面的有效条目插入到e*/
  p_oId=p_new;p_new=translate(Q,V);
  cache_insert(Q,V,p_new);/*合并最近的转换到预测器中*/
  }
DMA_to_transmit_queue(p2,L);/*将数据附加到传输队列的尾部*/
success=invalidate_queue_check(e);/*测试还没有无效信号出现*/
}
update_transmit_queue_tail_pointer();/*把数据提交给发送队列
*/
invalidate_queue_remove(e);/*移除条目*/
还可能期望的是,允许NIC30内的接收单元(未示出)直接将所接收的数据存放到用户的虚拟地址空间内的解锁定页面中。根据本发明的示例实施例的接收方DMA可按照与上述发送方相同的方式来执行。但是,接收方DMA负责写入用户地址空间。在启动DMA后,正确性要求数据只被写入到正确的物理页面。在启动DMA后,如果操作系统使对目的物理页面的访问无效,那么所有向该页面的写入都立刻停止。这在无效之后允许物理页面用来表示另一虚拟页面,而没有改写该新的虚拟页面的危险。并且在这一点注意到,这里使用的短语“DMA传输”和“传输缓冲器”对于发送方DMA和接收方DMA是通用的。
尽管前面的示例实施例已经描述了与NIC关联的DMA传输,但将会理解,根据本发明的DMA访问可与诸如图形、图像处理或信号处理的其他数据传输操作一起使用。在这种操作中,将大量数据从产生数据的进程移动到消耗该数据的进程是重要的。例如,数据可能从多处理器的系统存储器移动到专用图形或图像处理器的专用处理缓冲器。如果数据有时驻留在由操作系统管理的虚拟存储器中,并且DMA设备用于移动该数据,那么本发明的示例实施例可用于支持该数据用于各种目的的有效移动。
由一个或多个处理器来执行根据本发明的示例实施例处理数据的系统和方法,该一个或多个处理器执行包含在存储设备中的指令序列。这种指令可从诸如次级数据存储设备的其它计算机可读介质被读入到存储设备中。执行包含在存储设备中的指令序列使处理器例如按以上所述操作。在可替换的实施例中,硬布线电路可用来替换软件指令或与之结合,以实现本发明。
本发明的示例实施例的前述描述提供了说明和描述,但不旨在是穷尽的或限制本发明到所公开的精确形式。按照上面的教导,修改和变化是可能的或者可从本发明的实践中得到。下面的权利要求及其等效物限定了本发明的范围。

Claims (15)

1.一种直接存储器访问(DMA)监控方法,包括步骤:
将条目放置(50)在包括与DMA传输关联的存储器地址的存储设备队列(36)中;
监控(54)DMA传输期间的互连(32)并选择性地使所述条目无效,并且
确定(56)该条目是否被无效。
2.权利要求1的方法,其中在网络接口控制器(NIC)(30)的控制下执行所述DMA传输,所述NIC经由开关结构(22)在关联的多处理器系统(10)和多个其它多处理器系统(20)之间提供发送/接收接口。
3.权利要求1的方法,其中所述地址是物理地址,并且还包括步骤:
确定所述物理地址是否是虚拟地址的有效转换。
4.权利要求3的方法,其中所述虚拟地址与虚拟存储器的解锁定页面关联。
5.权利要求2的方法,其中执行所述DMA传输,以便从所述地址读取要由所述NIC发送的数据,或者将已经由所述NIC接收的数据写入到所述地址。
6.权利要求1的方法,还包括步骤:
如果所述条目被无效了,则异常中断所述DMA传输。
7.权利要求1的方法,其中所述监控步骤还包括步骤:
如果在所述互连(32)上检测到指明操作系统已经交换了与所述地址关联的存储器页面的消息,则使所述条目无效。
8.一种直接存储器访问(DMA)传输设备,包括:
与DMA传输设备关联的存储设备队列(36),用于保存包括存储地址的条目,直接存储器访问(DMA)传输对于该存储地址是未决的;和
DMA访问引擎(38),用于执行DMA传输;
其中所述存储设备队列监控所述DMA传输期间的互连(32)并选择性地使所述条目无效;
而且其中如果所述条目被无效,则所述存储设备队列发送异常中断DMA传输信号到所述DMA访问引擎。
9.权利要求8的DMA传输设备,其中DMA传输设备与网络接口控制器(NIC)(30)关联,并且其中所述NIC经由开关结构(22)在关联的多处理器系统(10)和多个其它多处理器系统(20)之间提供发送/接收接口。
10.权利要求8的DMA传输设备,其中所述地址是物理地址,并且还包括:
用于确定所述物理地址是否是虚拟地址的有效转换的机构。
11.权利要求1 2的DMA传输设备,其中所述虚拟地址与虚拟存储器的解锁定页面关联。
12.权利要求8的DMA传输设备,其中执行所述DMA传输,以便从所述地址读取要由所述NIC发送的数据,或者将已经由所述NIC接收的数据写入到所述地址。
13.权利要求8的DMA传输设备,其中如果所述DMA传输异常中断,则通知操作系统。
14.权利要求8的DMA传输设备,其中在所述DMA传输已经异常中断之后,重新开始所述DMA传输。
15.权利要求8的DMA传输设备,其中如果在所述互连上检测到指明操作系统已经交换了与所述地址关联的存储器页面的消息,则所述存储设备队列使所述条目无效。
CN2007100018556A 2006-01-06 2007-01-05 直接存储器访问的访问系统和方法 Expired - Fee Related CN101004728B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/326918 2006-01-06
US11/326,918 US7912998B2 (en) 2006-01-06 2006-01-06 DMA access systems and methods

Publications (2)

Publication Number Publication Date
CN101004728A true CN101004728A (zh) 2007-07-25
CN101004728B CN101004728B (zh) 2010-12-01

Family

ID=38286910

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007100018556A Expired - Fee Related CN101004728B (zh) 2006-01-06 2007-01-05 直接存储器访问的访问系统和方法

Country Status (2)

Country Link
US (1) US7912998B2 (zh)
CN (1) CN101004728B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102301671A (zh) * 2008-12-30 2011-12-28 英特尔公司 消息通信技术
US8645596B2 (en) 2008-12-30 2014-02-04 Intel Corporation Interrupt techniques
CN114780451A (zh) * 2022-06-24 2022-07-22 沐曦科技(北京)有限公司 一种基于dma的数据复制的方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110004732A1 (en) * 2007-06-06 2011-01-06 3Leaf Networks, Inc. DMA in Distributed Shared Memory System
US20120236010A1 (en) * 2011-03-15 2012-09-20 Boris Ginzburg Page Fault Handling Mechanism
US9311164B2 (en) 2013-02-14 2016-04-12 Red Hat Israel, Ltd. System and method for ballooning with assigned devices
US9459900B2 (en) 2014-01-13 2016-10-04 Red Hat Israel, Ltd. Hypervisor-based balloon page initialization
US10846223B2 (en) * 2017-10-19 2020-11-24 Lenovo Enterprise Solutions (Singapore) Pte. Ltd Cache coherency between a device and a processor

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5119485A (en) * 1989-05-15 1992-06-02 Motorola, Inc. Method for data bus snooping in a data processing system by selective concurrent read and invalidate cache operation
US5588131A (en) * 1994-03-09 1996-12-24 Sun Microsystems, Inc. System and method for a snooping and snarfing cache in a multiprocessor computer system
US5748945A (en) * 1996-05-31 1998-05-05 International Business Machiens Corporation Method for slave DMA emulation on a computer system bus
US6055619A (en) * 1997-02-07 2000-04-25 Cirrus Logic, Inc. Circuits, system, and methods for processing multiple data streams
JPH11272555A (ja) * 1998-03-20 1999-10-08 Fujitsu Ltd キャッシュメモリ制御システム
JP2000259550A (ja) * 1999-03-12 2000-09-22 Minolta Co Ltd Dma制御装置
JP2002041445A (ja) * 2000-05-19 2002-02-08 Matsushita Electric Ind Co Ltd 高性能dmaコントローラ
US6662289B1 (en) * 2001-05-15 2003-12-09 Hewlett-Packard Development Company, Lp. Method and apparatus for direct conveyance of physical addresses from user level code to peripheral devices in virtual memory systems
US7206879B2 (en) * 2001-11-20 2007-04-17 Broadcom Corporation Systems using mix of packet, coherent, and noncoherent traffic to optimize transmission between systems
US6922741B2 (en) * 2002-02-01 2005-07-26 Intel Corporation Method and system for monitoring DMA status
US20040003145A1 (en) * 2002-06-27 2004-01-01 Eyal Schneiderman Method and apparatus to transfer information
US7269825B1 (en) * 2002-12-27 2007-09-11 Unisys Corporation Method and system for relative address translation
US6976132B2 (en) * 2003-03-28 2005-12-13 International Business Machines Corporation Reducing latency of a snoop tenure
KR100630071B1 (ko) * 2003-11-05 2006-09-27 삼성전자주식회사 다중 프로세서 환경에서의 dma를 이용한 고속 데이터전송 방법 및 그 장치
US7206906B1 (en) * 2004-03-10 2007-04-17 Sun Microsystems, Inc. Physical address mapping framework
US7334107B2 (en) * 2004-09-30 2008-02-19 Intel Corporation Caching support for direct memory access address translation

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102301671A (zh) * 2008-12-30 2011-12-28 英特尔公司 消息通信技术
US8645596B2 (en) 2008-12-30 2014-02-04 Intel Corporation Interrupt techniques
US8751676B2 (en) 2008-12-30 2014-06-10 Intel Corporation Message communication techniques
CN102301671B (zh) * 2008-12-30 2015-04-15 英特尔公司 消息通信技术
CN114780451A (zh) * 2022-06-24 2022-07-22 沐曦科技(北京)有限公司 一种基于dma的数据复制的方法
CN114780451B (zh) * 2022-06-24 2022-08-23 沐曦科技(北京)有限公司 一种基于dma的数据复制的方法

Also Published As

Publication number Publication date
US20070174505A1 (en) 2007-07-26
US7912998B2 (en) 2011-03-22
CN101004728B (zh) 2010-12-01

Similar Documents

Publication Publication Date Title
CN101004728B (zh) 直接存储器访问的访问系统和方法
CN100487674C (zh) 利用镜像锁定高速缓存传播数据的方法和处理器节点
US7702743B1 (en) Supporting a weak ordering memory model for a virtual physical address space that spans multiple nodes
AU2013217351B2 (en) Processor performance improvement for instruction sequences that include barrier instructions
US8856588B2 (en) Information processing apparatus, control method, and computer-readable recording medium
EP0772136B1 (en) Method of commitment in a distributed database transaction
US9065706B2 (en) Information processing apparatus, computer-readable recording medium, and control method
KR100267029B1 (ko) 메모리갱신이력보존장치를구비한컴퓨터시스템
KR101529036B1 (ko) 데이터 없이 추론적 소유권에 대한 지원
CN111712796B (zh) 用于实时迁移具有分配的外围设备的虚拟机的系统
GB2515501A (en) Replication for on-line hot-standby database
CN101313285A (zh) 高速缓存包含性的按组放宽
JP2019500705A (ja) 選択的リソースマイグレーションを用いるネットワーク接続型メモリ
EP3242219B1 (en) Information processing device, information processing method and program
US9632934B2 (en) Maintaining coherence when removing nodes from a directory-based shared memory system
US9009412B2 (en) Information processing apparatus and control method of information processing apparatus
JPH10320274A (ja) キャッシュフラッシュ装置及び同装置を備えた計算機システム、記録媒体
KR100462860B1 (ko) 개방형 교환시스템에서 새 버전 소프트웨어 패키지 설치방법
JP2008097530A (ja) シミュレーション装置及びシミュレーション方法
JPH1185615A (ja) 情報処理システム及び情報処理装置及びその制御方法
JPH08185381A (ja) 情報処理方法及び装置
JPH0895860A (ja) バッファメモリ装置
JPH10289218A (ja) マルチプロセッサシステムおよび該マルチプロセッサシステムにおける中央処理装置の主記憶アクセス制御回路

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
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20170120

Address after: American Texas

Patentee after: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP

Address before: American Texas

Patentee before: Hewlett Packard Development Co.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20101201

Termination date: 20190105