CN102844747B - 将rdma语义映射到高速存储 - Google Patents

将rdma语义映射到高速存储 Download PDF

Info

Publication number
CN102844747B
CN102844747B CN201180016570.4A CN201180016570A CN102844747B CN 102844747 B CN102844747 B CN 102844747B CN 201180016570 A CN201180016570 A CN 201180016570A CN 102844747 B CN102844747 B CN 102844747B
Authority
CN
China
Prior art keywords
rdma
action
local
semanteme
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.)
Active
Application number
CN201180016570.4A
Other languages
English (en)
Other versions
CN102844747A (zh
Inventor
J·T·平克顿
T·M·塔尔佩伊
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN102844747A publication Critical patent/CN102844747A/zh
Application granted granted Critical
Publication of CN102844747B publication Critical patent/CN102844747B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • 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/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

在此所述的实施例所针对的是,扩展远程直接存储器访问(RDMA)语义以允许本地存储系统中的实现、以及提供用于初始化本地数据存储的管理界面。计算机系统将RDMA语义扩展为使用RDMA提供本地存储访问,其中扩展RDMA语义包括下列动作:将RDMA动词接口的RDMA动词映射到本地数据存储;以及修改RDMA排序语义以允许无序处理和/或无序完成。计算机系统还使用经扩展的RDMA语义来访问本地数据存储的各个部分。

Description

将RDMA语义映射到高速存储
背景
计算机已变得高度集成于工作、家庭、移动设备以及许多其他地方中。计算机可快速且有效地处理大量信息。被设计成在计算机系统上运行的软件应用允许用户执行包括商业应用、学校作业、娱乐等等在内的各种各样的功能。软件应用通常被设计成执行特定的任务,诸如用于草拟文档的文字处理器应用或者用于发送、接收和组织电子邮件的电子邮件程序。
在一些情况下,计算机系统使用不同类型的软件应用彼此通信。然而,这样的应用间通信通常需要处理器处理每个所发送的输出和每个所接收的输入。尤其是当几千或几百万输入和输出在不同软件应用之间被发送时,该增加的工作量可能向处理器施加过多的开销。
为了避免这样的处理器参与同时仍然允许应用之间(或者应用与远程数据存储之间)的通信,可以实现远程直接存储器访问(RDMA)。RDMA允许来自应用的读取和写入请求直接从应用流向网络存储设备或存储服务器。读取或写入请求可以被满足并且在两个计算机之间传输,而不需要两个系统任一的处理器的参与。
简要概述
在此所述的实施例所针对的是,扩展远程直接存储器访问(RDMA)语义以允许本地存储系统中的实现、以及提供用于初始化本地数据存储的管理界面。在一个实施例中,计算机系统将RDMA语义扩展为使用RDMA提供本地存储访问,其中扩展RDMA语义包括下列动作:将RDMA动词接口的RDMA动词映射到本地数据存储;以及修改RDMA排序语义以允许无序处理和/或无序完成。计算机系统还使用经扩展的RDMA语义来访问本地数据存储的各个部分。
在另一实施例中,计算机系统将管理界面实例化,所述管理界面被配置为初始化本地持久数据存储。计算机系统接收指示在初始化本地持久数据存储时要应用的各个设定的输入,其中所述设定至少之一标识出本地持久数据存储将被如何分区。计算机系统将本地持久数据存储分区成分区,所述分区每个都可以使用管理界面来访问。计算机系统还使用管理界面将经分区的本地持久数据存储初始化为本地RDMA端点。
提供本发明内容以便以简化形式介绍将在以下详细描述中进一步描述的一些概念。本概述并非旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
另外的特征和优点将在以下的描述中阐述,并且部分可从该描述中显而易见,或者可以从此处的教示实践中习得。本发明的特征和优点可以通过在所附权利要求中特别指出的手段和组合来实现并获取。本发明的特征将从以下描述和所附权利要求书中变得完全显而易见,或者可通过如下所述对本发明的实践而获知。
附图简述
为了进一步阐明本发明的各实施例的以上和其他优点和特征,将参考附图来呈现本发明的各实施例的更具体的描述。可以理解,这些附图只描绘本发明的典型实施例,因此将不被认为是对其范围的限制。本发明将通过使用附图用附加特征和细节来描述和解释,附图中:
图1示出了用于操作本发明的实施例的计算机体系结构,所述实施例包括将远程直接存储器访问(RDMA)语义扩展为允许本地存储系统中的实现。
图2示出了用于将远程直接存储器访问(RDMA)语义扩展为允许本地存储系统中的实现的示例性方法的流程图。
图3示出了用于提供用于初始化本地数据存储的管理界面的示例性方法的流程图。
图4示出了用户使用管理界面与数据存储交互的实施例。
具体实施例
在此所述的实施例所针对的是,将远程直接存储器访问(RDMA)语义扩展为允许本地存储系统中的实现、以及提供用于初始化本地数据存储的管理界面。在一个实施例中,计算机系统将RDMA语义扩展为使用RDMA提供本地存储访问,其中扩展RDMA语义包括下列动作:将RDMA动词接口的RDMA动词映射到本地数据存储;以及修改RDMA排序语义以允许无序处理和/或无序完成。计算机系统还使用经扩展的RDMA语义来访问本地数据存储的各个部分。
在另一实施例中,计算机系统将管理界面实例化,所述管理界面被配置为初始化本地持久数据存储。计算机系统接收指示在初始化本地持久数据存储时要应用的各个设定的输入,其中所述设定至少之一标识出本地持久数据存储将被如何分区。计算机系统将本地持久数据存储分区成分区,所述分区每个都可以使用管理界面来访问。计算机系统还使用管理界面将经分区的本地持久数据存储初始化为本地RDMA端点。
以下讨论现涉及可以执行的多种方法以及方法动作。应当注意,虽然这些方法动作可能是按一定次序讨论的,或者是在流程图中被描绘为是按照特定顺序进行的,然而并非必然需要特定的次序,除非特别声明,或者是在一个动作被执行之前因为该动作依赖于另一动作的完成而需要的情况。
本发明的各实施例可包括或利用专用或通用计算机,该专用或通用计算机包括诸如例如一个或多个处理器和系统存储器等计算机硬件,如以下更详细讨论的。本发明范围内的各实施例还包括用于承载或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。这样的计算机可读介质可以是可由通用或专用计算机系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是计算机存储介质。承载计算机可执行指令的计算机可读介质是传输介质。由此,作为示例而非限制,本发明的各实施例可包括至少两种显著不同的计算机可读介质:计算机存储介质和传输介质。
计算机存储介质包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备、或可用于存储计算机可执行指令或数据结构形式的所需程序代码装置且可由通用或专用计算机访问的任何其他介质。
“网络”被定义为允许在计算机系统和/或模块和/或其他电子设备之间传输电子数据的一个或多个数据链路。当信息通过网络或另一个通信连接(硬连线、无线、或者硬连线或无线的组合)传输或提供给计算机时,该计算机将该连接适当地视为传输介质。传输介质可包括可用于携带计算机可执行指令或数据结构形式的所需程序代码装置且可由通用或专用计算机访问的网络和/或数据链路。上述的组合也应被包括在计算机可读介质的范围内。
此外,在到达各种计算机系统组件之后,计算机可执行指令或数据结构形式的程序代码装置可从传输介质自动传输到计算机存储介质(或反之亦然)。例如,通过网络或数据链路接收到的计算机可执行指令或数据结构可被缓存在网络接口模块(例如,“NIC”)内的RAM中,然后最终被传输到计算机系统RAM和/或计算机系统处的较不易失性的计算机存储介质。因而,应当理解,计算机存储介质可被包括在还利用(或甚至主要利用)传输介质的计算机系统组件中。
计算机可执行指令包括,例如使通用计算机、专用计算机、或专用处理设备执行某一功能或某组功能的指令和数据。计算机可执行指令可以是例如二进制代码、诸如汇编语言之类的中间格式指令、或甚至源代码。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述特征或动作。相反,上述特征和动作是作为实现权利要求的示例形式而公开的。
本领域的技术人员将理解,本发明可以在具有许多类型的计算机系统配置的网络计算环境中实践,这些计算机系统配置包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持式设备、多处理器系统、基于微处理器的或可编程消费电子设备、网络PC、小型计算机、大型计算机、移动电话、PDA、寻呼机、路由器、交换机等等。本发明也可在其中通过网络链接(或者通过硬连线数据链路、无线数据链路,或者通过硬连线和无线数据链路的组合)的本地和远程计算机系统两者都执行任务的分布式系统环境中实施。在分布式系统环境中,程序模块可以位于本地和远程存储器存储设备二者中。
图1示出了可在其中采用本发明的原理的计算机体系结构100。计算机体系结构100包括管理界面110。管理界面110可以是允许用户与本地数据存储140交互或以其他方式使用本地数据存储140的任何类型的软件界面。本地数据存储140(或者在此简称“数据存储”)可以是任何类型的数据存储系统,包括:磁或光驱动器、驱动器的集合、数据库、存储域网络或其他存储系统。用户105可能期望与数据存储交互。这样的交互可以包括存储或修改所存储的数据。用户可以向管理界面110发送数据请求106,管理界面110然后使用其一个或多个内部模块来处理该请求。
例如,界面110可以使用远程直接存储器访问(RDMA)语义扩展模块来将RDMA语义116扩展为使得这些语义可以用于访问数据存储140上的数据。RDMA语义可以包括允许一个设备或程序使用RDMA与另一设备或程序交谈的命令、查询、动词或其他语义。在一些情况下,映射模块120可以用于将RDMA动词接口的各个RDMA动词映射到本地数据存储。语义修改模块125可以用于修改各个RDMA排序语义以允许无序处理和无序完成任一或二者。这样的映射和修改(RDMA扩展)可以允许用户或软件应用使用经扩展的RDMA语义来访问本地数据存储140。这些概念将在以下参考图2的方法200更详细地解释。
考虑到以上描述的系统和体系结构,参考图2和图3的流程图将更好地理解根据所公开的主题实现的方法。为了解释简明起见,这些方法被示出和描述为一系列框。然而,应该理解和了解,所要求保护的主题不受框的次序的限制,因为一些框可按不同的次序进行和/或与此处所描绘和描述的其他框同时进行。此外,并非全部所示的框都是实现下面所述的方法所必需的。
图2示出了用于将远程直接存储器访问(RDMA)语义扩展为允许本地存储系统中的实现的方法200的流程图。现在将频繁参考环境100的组件和数据来描述方法200。
方法200包括将一个或多个RDMA语义扩展为使用RDMA提供本地存储访问的动作(动作210)。例如,RDMA语义扩展模块115可以将RDMA语义116扩展为使用RDMA来提供对本地数据存储140的访问。RDMA语义可以通过如下方式来扩展:添加允许RDMA与本地存储结合使用的附加命令或其他属性。在一些情况下,经扩展的RDMA语义可以包括在每个操作都已完成时进行报告的至少一个语义。因此,例如当读取或写入操作已完成时,语义报告:该读取或写入已完成。可以单独地或结合前述语义使用许多其他这样的语义。
如上所述,本地数据存储140可以包括各种类型的数据存储解决方案。在一些情况下,本地数据存储140是基于存储器阵列的目标设备。在其他情况下,本地数据存储是某种类型的基于闪存的存储。本地数据存储可以被配置为在可配置的时间段内高速缓存数据的各个部分。在一些情况下,经扩展的RDMA语义被配置为提供对本地数据存储的远程访问。因此,用户105可以使用被模块115扩展的经扩展的RDMA语义116远程地访问本地数据存储140。
在一些情况下,如上所述,经扩展的RDMA语义可以包括RDMA网络应用编程接口(API)语义(或RDMA动词),其用于通过网络的RDMA数据访问。RDMA网络API可以被扩展和用于访问存储在本地数据存储中的数据、以及存储在远程数据存储中的数据。因此,同一经扩展的RDMA网络API可以用于从本地和远程数据存储中访问本地和远程数据二者。换言之,存储在远程数据存储中的远程数据可以使用用于访问存储在本地数据存储中的本地数据的相同的经扩展RDMA语义来访问。通过这种方式,可以使用单个经扩展的RDMAAPI来访问本地和远程数据存储二者。
方法200包括将RDMA动词接口的一个或多个RDMA动词映射到本地数据存储的动作(动作220)。例如,映射模块120可以将RDMA动词接口的一个或多个RDMA动词映射到本地数据存储140。RDMA动词可以以允许用户或软件应用(例如分别为105或107)使用RDMA动词访问数据存储上的数据的方式被映射到本地数据存储。该映射还可以包括:对本地数据存储进行命名使得本地数据存储被RDMA识别成端点。因此,当本地数据存储被识别成端点时,用户或各个其他软件应用可以访问该数据存储并将其用作典型的RDMA端点。
方法包括200:修改一个或多个RDMA排序语义以允许无序处理和无序完成中的至少之一(动作230)。例如,语义修改模块125可以修改RDMA语义116以允许无序处理和/或无序完成。无序处理允许管理界面110在请求被接收时(例如用户数据请求106和应用数据请求108)将所述请求发送给本地数据存储140,然后本地数据存储可以无序地响应所述请求。由于所述请求不必按顺序地响应,因此提供了响应数据请求时的更大灵活性。无序完成还提供了每个操作可无序地完成(以及信号完成)方面的更大灵活性。
在一些情况下,用户或软件程序可能想要(或需要)保证:读取、写入或其他操作已完成。在一些情况下,当使用RDMA时,未决的请求可能需要被转储清除以便执行操作(例如读取操作)。这样的操作可以称为壁垒(barrier)操作。因此,壁垒操作保证给定的数据传输已经通过转储清除未决数据传输并且保证操作被完成而发生。因此,壁垒操作可以用于快速地完成项目而不是取消该项目。
在一些实施例中,RDMA的现有阻隔(fencing)能力被维持,同时允许无序处理和无序完成。例如,发送队列可以被无序地处理,同时仍然维持对阻隔操作(壁垒操作的完成部分)的支持。阻隔操作验证:一个或多个在先事件已经发生,而壁垒操作保证:给定数据传输已经发生。因此,用户可以将依赖于在其完成以前的所有操作的某物插入到发送队列中,并且阻隔操作保证:其之前的操作已经完成。
附加地或可替代地,壁垒操作可以被处理以转储清除未决的数据传输并且保证至少一个数据操作的完成。此外,由RDMA提供的网络担保可以被选择性地放宽到用户指示的程度以供与本地数据存储一起使用。通过放宽这些担保,不一定需要这些担保的本地存储实现可以以更有效的方式实现。放宽这些担保还允许数据传输并行执行和并行完成。因此,可以实现到存储在数据存储140中的数据的更快速访问。
方法200包括使用经扩展的RDMA语义来访问本地数据存储的一个或多个部分的动作(动作240)。例如,管理界面110可以使用经扩展的RDMA语义来访问本地数据存储140。因此,一旦RDMA语义扩展已经实现,用户105和/或应用107就可以使用RDMA来访问本地数据存储140。在一些情况下,经扩展的RDMA语义可以在包括文件系统和/或数据库的存储管理层中实现。
在一些实施例中,软件应用107可以使用经扩展的RDMA语义来建立应用与本地数据存储140之间的链接。软件应用然后可以使用所建立的链接来访问存储在本地数据存储中的应用数据的至少一部分。在链接建立以后,可以在软件应用与本地数据存储之间传输数据,而不需要任何处理器参与。因此,所建立的链接允许来自和去往应用107和本地数据存储140的数据传输。该数据传输可以在没有来自中央处理器的任何参与的情况下在运行应用的计算机系统处进行。因此,数据可以直接从应用存储器传输给数据存储(并且反之亦然),而无需处理器参与。
图3示出了用于提供用于初始化本地数据存储的管理界面的方法300的流程图。现在将频繁参考图1的环境100和图4的环境400的组件和数据来描述方法300。
方法300包括将管理界面实例化的动作,所述管理界面被配置为初始化本地持久数据存储(动作310)。例如,计算机系统将管理界面410实例化,所述管理界面被配置为初始化本地持久数据存储440。管理界面可以是允许访问数据存储440的任何类型的软件应用。在一些情况下,管理界面可以是由数据存储提供者以外的某人提供的第三方管理界面。
方法300包括接收指示在初始化本地持久数据存储时要应用的一个或多个设定的输入的动作,其中所述设定至少之一标识出本地持久数据存储将被如何分区(动作320)。例如,管理界面410可以从用户405接收包括数据存储初始化设定130/430的用户输入406。这些设定将在初始化数据存储440时被应用。例如,分区设定431可以指示:数据存储440将被分区成多少个分区、每个分区将为多大、将为每个分区如何配置存储器偏移量442、以及其他设定。在一些实施例中,用户405可以控制数据存储初始化设定430中的任何或全部设定。管理界面410还可以允许用户为每个分区配置用户访问设定432。因此,用户可以限制对某些(安全的)分区的访问,同时许可对其他分区的完全访问。
方法300包括将本地持久数据存储分区成一个或多个分区的动作,所述分区每个都可以使用管理界面来访问(动作330)。例如,管理界面410可以将本地持久数据存储440分区成可使用界面410来访问的分区(或发起对其的分区)。访问能力设定432可以结合分区来应用,使得根据访问能力设定来限制对新近创建的分区的访问。
方法300包括使用管理界面将经分区的本地持久数据存储初始化为本地RDMA端点的动作(动作340)。例如,管理界面410可以将经分区的本地持久数据存储440初始化为本地RDMA端点。当数据存储已经被初始化为RDMA端点时,用户可以通过管理界面经由RDMA来访问数据存储中的数据。这样的RDMA端点访问允许应用将数据从应用存储器直接传输给数据存储上的一个或多个分区,而无需涉及处理器。此外,如上所述,由于至少在一些实施例中,传统的RDMA网络担保可以在RDMA与本地存储一起使用时被放宽,因此数据传输和其他操作可以并行地执行和完成。
因此,提供了将RDMA语义扩展为允许使用经扩展的RDMA语义进行本地存储系统中的数据访问和数据存储的方法、系统和计算机程序产品。此外,可以提供允许用户或软件应用初始化本地数据存储的管理界面。可以以用户设置初始化设定时所依据的定制方法来初始化数据存储。
本发明可具体化为其它具体形式而不背离其精神或本质特征。所描述的实施例在所有方面都应被认为仅是说明性而非限制性的。因此,本发明的范围由所附权利要求书而非前述描述指示。落入权利要求书的等效方案的含义和范围内的所有改变被权利要求书的范围所涵盖。

Claims (19)

1.一种在包括处理器和存储器的计算机系统处的用于将远程直接存储器访问RDMA语义扩展为允许本地存储系统中的实现的计算机实现的方法,该方法包括:
将一个或多个RDMA语义扩展为使用RDMA提供对本地存储的直接访问的动作,其中扩展RDMA语义包括下列动作:
将RDMA动词接口的一个或多个RDMA动词映射到本地数据存储的动作;以及
修改一个或多个RDMA排序语义以允许无序处理和无序完成中的至少之一的动过;以及
使用经扩展的RDMA语义来访问所述本地数据存储的一个或多个部分的动作,
其中经扩展的RDMA语义还被配置为提供对所述本地数据存储的远程访问。
2.如权利要求1所述的方法,其特征在于,映射包括:对本地数据存储进行命名使得所述本地数据存储被RDMA识别成端点。
3.如权利要求1所述的方法,其特征在于,RDMA的现有阻隔能力被维持,同时允许无序处理和无序完成。
4.如权利要求1所述的方法,其特征在于,经扩展的RDMA语义被实现在包括文件系统和数据库至少之一的存储管理层中。
5.如权利要求1所述的方法,其特征在于,经扩展的RDMA语义包括在每个操作都已完成时进行报告的至少一个语义。
6.如权利要求1所述的方法,其特征在于,还包括软件应用使用经扩展的RDMA语义来建立所述应用与所述本地数据存储之间的链接的动作。
7.如权利要求6所述的方法,其特征在于,所述软件应用使用所建立的链接来访问存储在所述本地数据存储中的应用数据的至少一部分。
8.如权利要求6所述的方法,其特征在于,在链接被建立以后,在所述软件应用与所述本地数据存储之间传输数据,而不需要任何处理器参与。
9.如权利要求1所述的方法,其特征在于,还包括处理一个或多个壁垒操作以转储清除未决的数据传输并且保证至少一个数据操作的完成的动作。
10.如权利要求1所述的方法,其特征在于,所述本地数据存储包括基于存储器阵列的目标设备。
11.如权利要求1所述的方法,其特征在于,所述本地数据存储包括基于闪存的存储。
12.如权利要求1所述的方法,其特征在于,数据的一个或多个部分被高速缓存在本地数据存储中。
13.如权利要求1所述的方法,其特征在于,由RDMA提供的一个或多个网络担保被选择性地放宽到用户指示的程度以供与所述本地数据存储一起使用。
14.一种用于提供用于初始化本地数据存储的管理界面的方法,该方法包括:
将管理界面实例化的动作,所述管理界面被配置为初始化本地持久数据存储;
接收指示在初始化所述本地持久数据存储时要应用的一个或多个设定的输入的动作,其中所述设定至少之一标识出本地持久数据存储将被如何分区;
将所述本地持久数据存储分区成一个或多个分区的动作,所述分区每个都能够使用所述管理界面来访问;以及
使用所述管理界面将经分区的本地持久数据存储初始化为本地RDMA端点,其中使用经扩展的RDMA语义来直接访问所述本地RDMA端点,并且所述扩展包括将RDMA动词接口的一个或多个RDMA动词映射到所述本地持久数据存储,其中经扩展的RDMA语义能被用来从远程计算系统访问所述本地持久数据存储。
15.如权利要求14所述的方法,其特征在于,所述管理界面包括第三方管理界面。
16.如权利要求14所述的方法,其特征在于,所述管理界面允许用户配置所述本地持久数据存储将被分区成的分区的数目。
17.如权利要求14所述的方法,其特征在于,所述管理界面允许用户为每个分区配置用户访问设定。
18.如权利要求14所述的方法,其特征在于,所述管理界面允许用户为每个分区配置存储器偏移量。
19.一种计算机系统,包括:
一个或多个处理器;
系统存储器;
本地数据存储;
其上存储有计算机可执行指令的一个或多个计算机可读存储介质,所述计算机可执行指令在由所述一个或多个处理器执行时致使所述计算系统执行一种将远程直接存储器访问RDMA语义扩展为允许本地存储系统中的实现的方法,该方法包括:
将一个或多个RDMA语义扩展为使用RDMA提供对本地存储的直接访问的动作,其中扩展所述RDMA语义包括下列动作:
将RDMA网络API语义接口的一个或多个RDMA网络API语义映射到所述本地数据存储的动作;以及
修改一个或多个RDMA排序语义以允许无序处理和无序完成中的至少之一的动作;
使用经扩展的RDMA网络API语义来从远程计算系统访问所述本地数据存储的一个或多个部分的动作;以及
使用同一经扩展的RDMA网络API语义来从本地计算系统访问所述本地数据存储的一个或多个部分的动作。
CN201180016570.4A 2010-04-02 2011-03-25 将rdma语义映射到高速存储 Active CN102844747B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US32059610P 2010-04-02 2010-04-02
US61/320,596 2010-04-02
US12/818,952 US8577986B2 (en) 2010-04-02 2010-06-18 Mapping RDMA semantics to high speed storage
US12/818,952 2010-06-18
PCT/US2011/030046 WO2011123361A2 (en) 2010-04-02 2011-03-25 Mapping rdma semantics to high speed storage

Publications (2)

Publication Number Publication Date
CN102844747A CN102844747A (zh) 2012-12-26
CN102844747B true CN102844747B (zh) 2016-06-29

Family

ID=44710917

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180016570.4A Active CN102844747B (zh) 2010-04-02 2011-03-25 将rdma语义映射到高速存储

Country Status (7)

Country Link
US (2) US8577986B2 (zh)
EP (1) EP2553587B1 (zh)
JP (1) JP5765748B2 (zh)
CN (1) CN102844747B (zh)
ES (1) ES2638288T3 (zh)
HK (1) HK1178278A1 (zh)
WO (1) WO2011123361A2 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9311230B2 (en) * 2013-04-23 2016-04-12 Globalfoundries Inc. Local direct storage class memory access
WO2014197974A1 (en) * 2013-06-13 2014-12-18 Tsx Inc Low latency device interconnect using remote memory access with segmented queues
US9495325B2 (en) 2013-12-30 2016-11-15 International Business Machines Corporation Remote direct memory access (RDMA) high performance producer-consumer message processing
US9934177B2 (en) * 2014-11-04 2018-04-03 Cavium, Inc. Methods and systems for accessing storage using a network interface card
US9792248B2 (en) * 2015-06-02 2017-10-17 Microsoft Technology Licensing, Llc Fast read/write between networked computers via RDMA-based RPC requests
US9952797B2 (en) 2015-07-31 2018-04-24 Netapp, Inc. Systems, methods and devices for addressing data blocks in mass storage filing systems
US10257273B2 (en) 2015-07-31 2019-04-09 Netapp, Inc. Systems, methods and devices for RDMA read/write operations
US10019409B2 (en) 2015-08-03 2018-07-10 International Business Machines Corporation Extending remote direct memory access operations for storage class memory access
MA43180B1 (fr) 2015-10-21 2022-05-31 Redcoat Solutions Inc Dispositif de détection de punaises de lit
US10768172B2 (en) 2015-10-21 2020-09-08 Redcoat Solutions, Inc. Anti-bed bug monoclonal antibodies and methods of making and uses thereof
US10303646B2 (en) * 2016-03-25 2019-05-28 Microsoft Technology Licensing, Llc Memory sharing for working data using RDMA
US9794366B1 (en) 2016-10-19 2017-10-17 Red Hat, Inc. Persistent-memory management
US11403253B2 (en) 2018-09-13 2022-08-02 Microsoft Technology Licensing, Llc Transport protocol and interface for efficient data transfer over RDMA fabric
CN113297110B (zh) * 2021-05-17 2024-06-18 阿里巴巴创新公司 数据采集系统、方法以及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101212490A (zh) * 2006-12-30 2008-07-02 财团法人工业技术研究院 储存装置控制器
US7493424B1 (en) * 2004-04-30 2009-02-17 Netapp, Inc. Network storage system with shared software stack for LDMA and RDMA

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6654881B2 (en) * 1998-06-12 2003-11-25 Microsoft Corporation Logical volume mount manager
US6691146B1 (en) * 1999-05-19 2004-02-10 International Business Machines Corporation Logical partition manager and method
US20030105931A1 (en) * 2001-11-30 2003-06-05 Weber Bret S. Architecture for transparent mirroring
US7944920B2 (en) 2002-06-11 2011-05-17 Pandya Ashish A Data processing system using internet protocols and RDMA
US7299266B2 (en) 2002-09-05 2007-11-20 International Business Machines Corporation Memory management offload for RDMA enabled network adapters
US7912979B2 (en) * 2003-12-11 2011-03-22 International Business Machines Corporation In-order delivery of plurality of RDMA messages
US20060075057A1 (en) * 2004-08-30 2006-04-06 International Business Machines Corporation Remote direct memory access system and method
US8364849B2 (en) * 2004-08-30 2013-01-29 International Business Machines Corporation Snapshot interface operations
US7478138B2 (en) * 2004-08-30 2009-01-13 International Business Machines Corporation Method for third party, broadcast, multicast and conditional RDMA operations
US20070038749A1 (en) 2005-07-29 2007-02-15 Broadcom Corporation Combined local and network storage interface
US8433770B2 (en) * 2005-07-29 2013-04-30 Broadcom Corporation Combined local and network storage interface
US8595313B2 (en) * 2005-11-29 2013-11-26 Netapp. Inc. Systems and method for simple scale-out storage clusters
US20070208820A1 (en) * 2006-02-17 2007-09-06 Neteffect, Inc. Apparatus and method for out-of-order placement and in-order completion reporting of remote direct memory access operations
JP4439491B2 (ja) * 2006-05-24 2010-03-24 株式会社ソニー・コンピュータエンタテインメント マルチグラフィックスプロセッサシステム、グラフィックスプロセッサおよびデータ転送方法
US20070288921A1 (en) * 2006-06-13 2007-12-13 King Steven R Emulating a network-like communication connection between virtual machines on a physical device
JP2008020977A (ja) * 2006-07-11 2008-01-31 Sony Computer Entertainment Inc ネットワークプロセッサシステムおよびネットワークプロトコル処理方法
US7783817B2 (en) * 2006-08-31 2010-08-24 Qualcomm Incorporated Method and apparatus for conditional broadcast of barrier operations
US8190919B2 (en) * 2006-11-07 2012-05-29 Spansion Llc Multiple stakeholder secure memory partitioning and access control
US8151082B2 (en) 2007-12-06 2012-04-03 Fusion-Io, Inc. Apparatus, system, and method for converting a storage request into an append data storage command
WO2008070173A1 (en) 2006-12-06 2008-06-12 Fusion Multisystems, Inc. (Dba Fusion-Io) Apparatus, system, and method for solid-state storage as cache for high-capacity, non-volatile storage
US20090113143A1 (en) 2007-10-26 2009-04-30 Dell Products L.P. Systems and methods for managing local and remote memory access
US8775718B2 (en) 2008-05-23 2014-07-08 Netapp, Inc. Use of RDMA to access non-volatile solid-state memory in a network storage system
US8190699B2 (en) 2008-07-28 2012-05-29 Crossfield Technology LLC System and method of multi-path data communications
US20100083247A1 (en) * 2008-09-26 2010-04-01 Netapp, Inc. System And Method Of Providing Multiple Virtual Machines With Shared Access To Non-Volatile Solid-State Memory Using RDMA
US8904064B2 (en) 2008-10-24 2014-12-02 International Business Machines Corporation Managing an out-of-order asynchronous heterogeneous remote direct memory access (RDMA) message queue
US20110137861A1 (en) * 2009-12-09 2011-06-09 International Business Machines Corporation Methods for Achieving Efficient Coherent Access to Data in a Cluster of Data Processing Computing Nodes

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7493424B1 (en) * 2004-04-30 2009-02-17 Netapp, Inc. Network storage system with shared software stack for LDMA and RDMA
CN101212490A (zh) * 2006-12-30 2008-07-02 财团法人工业技术研究院 储存装置控制器

Also Published As

Publication number Publication date
ES2638288T3 (es) 2017-10-19
US20110246598A1 (en) 2011-10-06
WO2011123361A3 (en) 2011-12-22
EP2553587B1 (en) 2017-05-31
EP2553587A4 (en) 2014-08-06
US8577986B2 (en) 2013-11-05
EP2553587A2 (en) 2013-02-06
HK1178278A1 (zh) 2013-09-06
US8984084B2 (en) 2015-03-17
JP2013524342A (ja) 2013-06-17
JP5765748B2 (ja) 2015-08-19
US20140032696A1 (en) 2014-01-30
CN102844747A (zh) 2012-12-26
WO2011123361A2 (en) 2011-10-06

Similar Documents

Publication Publication Date Title
CN102844747B (zh) 将rdma语义映射到高速存储
US9413608B2 (en) Systems and methods for dynamic mobile applications
CN103095544A (zh) 虚拟交换机的可扩展性
CN105359105A (zh) 通过网络文件访问协议的高效编程存储器访问
CN104094234A (zh) 用于嵌入过程通信的虚拟通道
Johansen et al. A tacoma retrospective
US20150358411A1 (en) Sandboxed application data redirection to datacenters
CN110073333A (zh) 恢复fpga芯片中的逻辑的方法、系统和fpga设备
US10223094B2 (en) Initializing a system on a chip
CN102253855A (zh) 一种传递共享内存的方法和装置
CN102446100B (zh) 用于数据类型的类型和长度抽象的系统和方法
CN102999545A (zh) 高效提供相同类型的多个元数据表示
JP2022530440A (ja) オンプレミスおよびオフプレミスのデバッグ
CN105814553A (zh) 用于共享数据的社交驱动器
US9152505B1 (en) Verified hardware-based erasure of data on distributed systems
KR102166185B1 (ko) 파이프라인 실행 가속을 위한 데이터 처리 장치 및 그 방법
CN112148336A (zh) 计算系统固件的安全更新
US11005734B2 (en) Service broker for cloud foundry platform
GB2520515A (en) Publish and subscribe broker with multiple orthogonal topic trees
CN105229622B (zh) 应用和硬件设备之间的通信系统和方法
CN109445966A (zh) 事件处理方法、装置、介质和计算设备
US11093171B2 (en) System and method for networkless peer communication for dual storage processor virtual storage appliances
KR102216173B1 (ko) 컨텐츠 이용 방법 및 이를 위한 장치
CN109002984B (zh) 数字资产的管理方法、装置、介质和计算设备
CN109783191A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1178278

Country of ref document: HK

ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150727

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150727

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1178278

Country of ref document: HK