当前位置: 首页 > 专利查询>英特尔公司专利>正文

向控制器存储器空间写入消息制造技术

技术编号:10092367 阅读:144 留言:0更新日期:2014-05-28 16:03
实施例可以包括可以将消息从主机中的系统存储器写入到主机中的输入/输出(I/O)控制器中的存储器空间的电路。主机操作系统可以至少部分地驻留在系统存储器中。消息可以包括数据和与数据相关联的至少一个描述符。数据可以被包括在至少一个描述符中。电路还可以向I/O控制器发出信号,指出已经发生了写入。许多替代方案、变化,以及修改也是可以的。

【技术实现步骤摘要】
【国外来华专利技术】向控制器存储器空间写入消息
本专利技术涉及向输入/输出(I/O)控制器存储器空间写入消息。
技术介绍
在一个常规计算配置中,客户端和服务器包括能够使用远程直接存储器访问(RDMA)协议来相互进行通信的相应的I/O控制器。为了从服务器向客户端传输数据,数据和指向该数据的描述符两者都被写入到服务器的主系统存储器中。此后,响应于提供给服务器的I/O控制器的门铃,服务器的I/O控制器读取该描述符。然后,服务器的I/O控制器读取由描述符所指向的数据。然后,服务器的I/O控制器向客户端传输数据。可以理解,从服务器向客户端传输的数据中涉及的延迟随着由服务器的I/O控制器实施的主存储器读取操作的数量而增大。为了试图减少与服务器主存储器读取操作相关联的等待时间,有人建议将数据内联(例如,在或附近)描述符放置在服务器的主系统存储器中。然而,即使使用此技术,执行从服务器向客户端的数据传输时涉及的等待时间仍可能大于所希望的。
技术实现思路
本专利技术的一方面涉及一种能够与消息写入相关联地使用的设备,所述设备包括:用于执行以下操作的电路:将消息从主机中的系统存储器写入到所述主机中的输入/输出(I/O)控制器中的存储器空间,主机操作系统至少部分地驻留在所述系统存储器中,所述消息包括数据和与所述数据相关联的至少一个描述符,所述数据被包括在所述至少一个描述符中,所述存储器空间的大小至少部分基于被给予同时对存储器空间写访问的软件链接进程实体的数量;以及向所述输入/输出(I/O)控制器发出信号,指出已经发生了写入。本专利技术的另一方面涉及一种用于消息写入的方法,所述方法包括:由电路将消息从主机中的系统存储器写入到主机中的输入/输出(I/O)控制器中的存储器空间,主机操作系统至少部分地驻留在所述系统存储器中,所述消息包括数据和与所述数据相关联的至少一个描述符,所述数据被包括在所述至少一个描述符中,所述存储器空间的大小至少部分基于被给予同时对存储器空间写访问的软件链接进程实体的数量;以及由所述电路向所述输入/输出(I/O)控制器发出信号,指出已经发生了所述写入。本专利技术的又一方面涉及一种设备,包括用于执行前述方法的装置。附图说明随着下列“详细描述”的进行并参考附图,各实施例的特征和优点将变得显而易见,其中,相同编号描绘了相同的部分,其中:图1示出了一个实施例中的特征。图2示出了一个实施例中的特征。图3示出了一个实施例中的特征。图4示出了一个实施例中的特征。图5示出了一个实施例中的特征。图6示出了一个实施例中的特征。虽然下列“详细描述”将参考说明性实施例来进行,但是,许多替代方案、修改以及其变体将对所属领域的技术人员显而易见。相应地,所要求保护的主题应该从广义上来看待。具体实施方式图1示出了系统实施例100。系统100可以包括通过网络50可通信地耦合到服务器20的客户端10。在此实施例中,术语“主机计算机”、“主机”、“服务器”、“客户端”、“网络节点”以及“节点”可以可互换地使用,并可以无限制地表示,例如一个或多个终端站、移动因特网设备、智能电话、媒体设备、输入/输出I/O设备、平板电脑、电器、中间站、网络接口、客户端、服务器和/或其一些部分。虽然客户端10、服务器20以及网络50将以单数引用的,但是应该理解,每一这样的相应的组件都可以包括一个或多个(例如,多个)这样的相应的组件,而不会偏离此实施例。在此实施例中,“网络”可以是或包括至少部分地允许、促进和/或使两个或更多实体可通信地耦合在一起的任何机制、手段、特征和/或其一部分。也在此实施例中,如果第一实体能够向第二实体传输和/或从第二实体接收一个或多个命令和/或数据,则第一实体可以“可通信地耦合”到第二实体。在此实施例中,数据和信息可以可互换地使用,并可以是或包括一个或多个命令(例如,一个或多个程序指令),和/或一个或多个这样的命令可以是或包括数据和/或信息。也在此实施例中,“指令”可以包括数据和/或一个或多个命令。主机20可以包括电路118,该电路可以包括一个或多个主机处理器(HP)12、主机主系统存储器21和/或I/O控制器120。一个或多个主机处理器12可以是或包括一个或多个多核主机处理器,这些主机处理器可以包括多个主机处理器核(HPC)中央处理单元(CPU)12A...12N。虽然在图中未示出,但是,服务器20还可以包括一个或多个芯片集(包括,例如,存储器、网络和/或I/O控制器电路)。控制器120可以包括远程直接存储器访问(RDMA)网络接口控制器(NIC)210。当然,在不偏离此实施例的情况下,控制器120有利地可以(另选地或另外地)是或包括另一种类型(例如,存储器和/或NIC)的控制器(例如,RDMANIC之外的和/或作为其补充)。控制器120和/或RDMANIC(RNIC)210可以至少部分地包括存储器空间60。另选地或另外地,存储器空间60可以至少部分地与控制器120和/或RNIC210相关联(例如,至少部分地以这样的方式,以便紧密耦合到控制器120和/或RNIC210)。在此实施例中,存储器空间可以包括存储器中的一个或多个相邻的和/或非相邻的位置。在此示例性实施例中,存储器空间60可以是或包括,例如,一个或多个存储器映射的I/O(MMIO)空间,这些空间可以使用与用于访问存储器21的那些命令相同或类似的命令来访问,和/或可以包括其他和/或额外的类型的存储器(例如,不可缓存的和/或写入组合),因为可以包含在存储器21中(例如,写回)。在此实施例中,存储器空间60可以包括可以被映射到HP存储器空间的一个或多个控制器地址空间。这些一个或多个控制器地址空间可以与可以通过一个或多个MMIO操作实现和/或控制的资源集相关联。可以动态地管理和/或分配(例如,在运行时)可以指派给资源集的特定地址,并且资源集可以不分配、广告到至少某些软件实体或队列。也在此实施例中,存储器中的位置可以是或包括存储器的能够至少部分地被访问的一个或多个部分。在此实施例中,对存储器的访问可以包括一个或多个对存储器的读取和/或向存储器的写入。NIC210、控制器120、HP12和/或HPC12A...12N能够访问存储器21和/或通过一个或多个这样的芯片集相互进行通信。在此实施例中,客户端10可以至少部分地与主机20远离(例如,在地理位置上远离)。在此实施例中,“电路”可以包括,例如,单独地或以任何组合地,模拟电路、数字电路、硬连线电路、可编程电路、协处理器电路、状态机电路和/或可以包括可以由可编程电路执行的程序指令的存储器。也在此实施例中,处理器、HP、CPU、处理器核(PC)、HPC、核和控制器中的每一个都可以包括能够至少部分地执行一个或多个算术和/或逻辑操作和/或至少部分地执行一个或多个指令的相应的电路。虽然在图形中未示出,但是,服务器20可以包括图形用户界面系统,该系统可以包括,例如,相应的键盘、指示设备以及可以允许个人用户向服务器20和/或系统100输入命令以及监测服务器20和/或系统100的操作的显示系统。也在此实施例中,存储器可以包括下列类型的存储器中的一种或多种:半导体固件存储器、可编程存储器、非易失性存储器、只读存储器、电可编程存储器、随机存取存储器、闪存、磁盘存储器、光盘存储器和/或其他或未来开本文档来自技高网...
向控制器存储器空间写入消息

【技术保护点】
一种设备,包括:用于执行以下操作的电路:将消息从主机中的系统存储器写入到所述主机中的输入/输出(I/O)控制器中的存储器空间,主机操作系统到至少部分地驻留在所述系统存储器中,所述消息包括数据和与所述数据相关联的至少一个描述符,所述数据被包括在所述至少一个描述符中;以及向所述I/O控制器发出信号,指出已经发生了写入。

【技术特征摘要】
【国外来华专利技术】1.一种能够与消息写入相关联地使用的设备,所述设备包括:用于执行以下操作的电路:将消息从主机中的系统存储器写入到所述主机中的输入/输出(I/O)控制器中的存储器空间,主机操作系统至少部分地驻留在所述系统存储器中,所述消息包括数据和与所述数据相关联的至少一个描述符,所述数据被包括在所述至少一个描述符中,所述存储器空间的大小至少部分基于被给予同时对存储器空间写访问的软件链接进程实体的数量;以及向所述输入/输出(I/O)控制器发出信号,指出已经发生了写入。2.如权利要求1所述的设备,其特征在于:使用涉及与主机处理器核相关联的写入组合的缓冲器的单个写入操作,实施所述消息向所述存储器空间的写入;以及所述电路还在所述消息的所述写入之前,向队列中写入队列元素,所述队列元素至少部分地请求在由所述输入/输出(I/O)控制器丢弃所述消息的情况下,由所述输入/输出(I/O)控制器执行涉及所述数据的输入/输出(I/O)操作,所述输入/输出(I/O)操作对应于至少部分地通过向所述存储器空间写入所述消息来请求的另一个输入/输出(I/O)操作。3.如权利要求1所述的设备,其特征在于:所述主机包括执行指令的主机处理器核,所述指令至少部分地导致多个相应的消息至少部分地被同时写入到所述存储器空间,所述相应的消息中的每一消息都包括相应的数据以及与所述相应的数据相关联的相应的描述符,所述相应的数据被包括在所述相应的描述符中;以及所述输入/输出(I/O)控制器包括远程直接存储器访问(RDMA)网络接口控制器(NIC),所述相应的消息是请求由所述远程直接存储器访问(RDMA)网络接口控制器(NIC)执行相应的RDMA事务。4.如权利要求1所述的设备,其特征在于:所述电路还在所述消息向所述存储器空间的所述写入之前,向发送队列中写入队列元素,所述队列元素至少部分地请求在发生下列两项中的任一项的情况下:(1)由所述输入/输出(I/O)控制器丢弃所述消息以及(2)所述数据的重新传输,由所述输入/输出(I/O)控制器执行涉及所述数据的输入/输出(I/O)操作;以及所述发送队列包括多个元素,所述发送队列中的所述多个元素中的每一相应的元素都包括相应的指示,指出至少部分地对应于所述相应的元素的相应的消息是否由所述电路向所述存储器空间写入,所述相应的消息包括相应的数据以及与所述相应的数据相关联的相应的描述符,所述相应的描述符包括所述相应的数据。5.如权利要求4所述的设备,其特征在于:所述电路继续向所述存储器空间写入一个或多个随后的消息,除非发生通过所述输入/输出(I/O)控制器的丢弃;在发生所述丢弃之后,所述电路在所述发送队列变空之后恢复随后的消息写入;以及所述发出信号包括使与所述输入/输出(I/O)控制器相关联的至少一个门铃响铃。6.如权利要求1所述的设备,其特征在于:应用程序进程也至少部分地驻留在所述主机存储器中;所述存储器空间包括所述进程将向其中映射的多个页;属于不同的相应的安全域的两个相应的进程不共享所述页中的单个相应的一个页;以及所述页中的一个或多个包括多个部分,每一相应的部分将接纳要被写入到所述相应的部分的至少一个相应的消息,所述至少一个相应的消息对应于整个相应的队列元素,并包括相应的数据和与所述数据相关联的相应的描述符。7.如权利要求1所述的设备,其特征在于:所述输入/输出(I/O)控制器将至少部分地跟踪所述输入/输出(I/O)控制器的一个或多个资源的分派,以实施至少部分地由所述消息请求的一个或多个输入/输出(I/O)操作;如果没有足够的资源存在于所述输入/输出(I/O)控制器中,以允许所述一个或多个输入/输出(I/O)操作被实施,则所述输入/输出(I/O)控制器将丢弃所述消息;以及所述输入/输出(I/O)控制器将丢弃所述消息,除非,当所述输入/输出(I/O)控制器处理所述消息时,对应于所述消息的队列元素当前位于发送队列的头部,至少部分地在所述消息已经被写入到所述存储器空间之前,所述队列元素已经被写入到所述队列。8.如权利要求7所述的设备,其特征在于:所述一个或多个输入/输出(I/O)操作包括所述数据的传输;所述输入/输出(I/O)控制器将总的可用传输额度数量的子集分配到总通信量的子集,所述总通信量的所述子集至少部分地与所述数据的所述传输相关联;所述输入/输出(I/O)控制器将至少部分地与对所述一个或多个资源的初始跟踪同时确定在传输额度的总数的所述子集中是否存在足够数量的未分配的额度,以允许传输;以及如果所述输入/输出(I/O)控制器判断不存在所述足够数量的未分配的额度,则所述输入/输出(I/O)控制器将丢弃所述消息。9.一种用于消息写入的方法,所...

【专利技术属性】
技术研发人员:V·马克赫威克斯R·O·夏普K·G·基尔斯B·S·豪赛厄S·K·拉森
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1