【技术实现步骤摘要】
用于在存储服务器之间复制数据的技术
此处所描述的示例一般涉及将数据从客户端设备复制到多个存储服务器。
技术介绍
对数据可靠性和可恢复性的典型解决方案可以是使用冗余独立磁盘阵列(redundantarrayofindependentdisk:RAID)。RAID的实现可以在从简单镜像到冗余奇偶校验块之间变动。与存储容量相关联的成本持续下降。网络访问时间或网络带宽能力改善,以使得可以在与本地可访问存储的时间相当的时间下使用网络可访问存储。由于较低的成本和较大的网络带宽能力,诸如因特网公用数据中心(IPDC)之类的许多数据中心使用多个网络节点或存储服务器来管理数据可靠性并且改善数据访问可缩放性。附图说明图1示出了第一示例系统。图2示出了示例完成队列元素。图3示出了第二示例系统。图4示出了第三示例系统。图5示出了第四示例系统。图6示出了第五示例系统。图7示出了第六示例系统。图8示出了第七示例系统。图9示出了第一设备的示例框图。图10示出第一逻辑流程的示例。图11示出第一存储介质的示例。图12示出了第一网络输入/输出设备的示例。图13示出了第二设备的示例框图。图14示出第二逻辑流程的示例。图15示出了第二存储介质的示例。图16示出了第二网络输入/输出设备的示例。具体实施方式如在本专利技术中设想的,数据中心可以使用多个网络节点或存储服务器来管理数据可靠性,改善数据访问可缩放性。复制数据的多个存储服务器可能部分地由于硬盘驱动器或固态驱动器(SSD)的存储容量扩展,以使得各种RAID方案用来保护数据变得困难或不切实际。例如,使用带有分布式奇偶校验块(parityblock ...
【技术保护点】
一种用于网络输入/输出(I/O)设备的装置,包括:电路;命令模块,所述命令模块由所述电路执行以发送把用于复制的数据存储到多个存储服务器的远程直接存储器访问(RDMA)命令消息,所述RDMA命令消息通过所述一个或多个存储服务器和所述网络I/O设备之间的至少一个网络连接,被发送到所述多个存储服务器之中的一个或多个存储服务器;以及完成模块,所述完成模块由所述电路执行以从所述一个或多个存储服务器接收一个或多个RDMA命令完成消息,所述完成消息指示所述数据在所述多个存储服务器之中的至少第一存储服务器和第二存储服务器之间的复制。
【技术特征摘要】
2013.07.08 US 13/937,0141.一种用于网络输入/输出(I/O)设备的装置,包括:电路;命令模块,所述命令模块由所述电路执行以发送把用于复制的数据存储到多个存储服务器的远程直接存储器访问(RDMA)命令消息,所述RDMA命令消息通过所述多个存储服务器之中的一个或多个存储服务器和所述网络I/O设备之间的至少一个网络连接,被发送到所述一个或多个存储服务器;以及完成模块,所述完成模块由所述电路执行以从所述一个或多个存储服务器接收一个或多个RDMA命令完成消息,所述完成消息指示所述数据在所述多个存储服务器之中的至少第一存储服务器和第二存储服务器之间的复制,其中所述命令模块通过第三存储服务器和所述网络I/O设备之间的第一网络连接,向所述第三存储服务器发送所述RDMA命令消息,所述命令模块导致所述数据被推到所述第三存储服务器处的一个或多个缓冲器,并在所述RDMA命令消息中指示所述数据的位置。2.如权利要求1所述的装置,其特征在于,包括:命令模块,所述命令模块通过相应的第一和第二网络连接向所述第一存储服务器和所述第二存储服务器两者发送所述RDMA命令消息;以及完成模块,所述完成模块从所述第一和第二存储服务器接收相应的第一和第二RDMA命令完成消息,所述完成消息指示所述数据在至少所述第一和第二存储服务器之间的复制。3.如权利要求2所述的装置,其特征在于,包括所述命令模块向所述第一存储服务器发送所述RDMA命令消息包括所述命令模块向在所述第一存储服务器上维护的控制第一存储设备的第一非易失性存储器快速(NVMe)控制器发送所述RDMA命令消息并导致所述数据被推到所述第一存储设备上的一个或多个缓冲器,所述第一NVMe控制器能够基于从所述一个或多个缓冲器中读取所述数据并将所述数据存储在所述第一存储设备中,导致所述RDMA命令完成消息被发送到所述网络I/O设备;以及所述命令模块向所述第二存储服务器发送所述RDMA命令消息包括所述命令模块向在所述第二存储服务器上维护的控制第二存储设备的第二NVMe控制器发送所述RDMA命令消息并导致所述数据被推到所述第二存储设备上的一个或多个缓冲器,所述第二NVMe控制器能够基于从所述一个或多个缓冲器中读取所述数据并将所述数据存储在所述第二存储设备中,导致所述第二RDMA命令完成消息被发送到所述网络I/O设备。4.如权利要求1所述的装置,其特征在于,包括:所述RDMA命令消息发往在所述第三存储服务器中维护的控制存储设备的非易失性存储器快速(NVMe)控制器,所述NVMe控制器能够响应于所述RDMA命令消息,从客户端设备获取所述数据,将所述数据存储到所述存储设备,并导致所述RDMA命令完成消息被发送到所述完成模块以指示所述数据的存储;请求模块,所述请求模块由所述电路执行以通过所述网络I/O设备和所述第一存储服务器之间的第二网络连接,向所述第一存储服务器发送使所述第一存储服务器复制被存储到所述存储设备的所述数据的第一请求消息;以及所述请求模块通过所述网络I/O设备和所述第二存储服务器之间的第三网络连接,向所述第二存储服务器发送使所述第二存储服务器复制被存储到所述存储设备的所述数据的第二请求消息。5.如权利要求4所述的装置,其特征在于,包括:所述完成模块基于所述NVMe控制器从所述一个或多个缓冲器读取所述数据并将所述数据存储到所述存储设备中的分配部分,从所述NVMe控制器接收所述RDMA命令完成消息。6.如权利要求4所述的装置,其特征在于,包括:所述命令模块导致所述数据被推到耦合到所述所述网络I/O设备的客户端设备中的一个或多个缓冲器,并在所述RDMA命令消息中指示所述数据的位置,所述第三存储服务器中的网络I/O设备能够从所述客户端设备中的所述一个或多个缓冲器拉取所述数据,以至少临时将所述数据存储到所述第三存储服务器中的一个或多个缓冲器;以及所述完成模块基于所述NVMe控制器从所述第三存储服务器上的所述一个或多个缓冲器读取所述数据并将所述数据存储到所述存储设备中的分配部分,从所述NVMe控制器接收所述RDMA命令完成消息。7.如权利要求1所述的装置,其特征在于,包括:所述RDMA命令消息发往在所述第三存储服务器中维护的控制存储设备的非易失性存储器快速(NVMe)控制器;以及所述完成模块基于所述NVMe控制器响应于所述RDMA命令消息,从所述网络I/O设备读取所述数据并将所述数据存储到所述存储设备中的分配部分,从所述NVMe控制器接收所述RDMA命令完成消息,所述NVMe控制器还通过所述第三存储服务器和所述第一存储服务器之间的第二网络连接,向所述第一存储服务器发送使所述第一存储服务器复制被存储到所述存储设备的所述数据的第一请求消息,以及,通过所述第三存储服务器和所述第二存储服务器之间的第三网络连接,向所述第二存储服务器发送使所述第二存储服务器复制被存储到所述存储设备的所述数据的第二请求消息。8.如权利要求1所述的装置,其特征在于,包括所述RDMA命令消息和所述RDMA命令完成消息遵从包括以下各项中的一个的协议:因特网广域RDMA协议(iWARP)、Infiniband或汇聚以太网上RDMA(RoCE)中的一种的协议。9.如权利要求1所述的装置,其特征在于,包括:包括非易失性存储器或易失性存储器中的至少一个的存储器,所述存储器能够至少临时存储与把用于复制的数据存储到所述多个存储服务器相关联的信息,所述信息包括一个或多个RDMA服务标记(STag),所述一个或多个RDMA服务标记之中的至少一个RDMA服务标记被包括在所述RDMA命令消息中。10.一种在网络输入/输出(I/O)设备处实现的方法,包括:发送把用于复制的数据存储到多个存储服务器的远程直接存储器访问(RDMA)命令消息,所述RDMA命令消息通过所述多个存储服务器之中的一个或多个存储服务器和所述网络I/O设备之间的至少一个网络连接,被发送到所述一个或多个存储服务器;以及从所述一个或多个存储服务器接收一个或多个RDMA命令完成消息,所述完成消息指示所述数据在所述多个存储服务器之中的至少第一存储服务器和第二存储服务器之间的复制,其中所述RDMA命令消息通过第三存储服务器和所述网络I/O设备之间的第一网络连接向所述第三存储服务器发送,从而导致所述数据被推到所述第三存储服务器处的一个或多个缓冲器,并在所述RDMA命令消息中指示所述数据的位置。11.如权利要求10所述的方法,其特征在于,包括通过相应的第一和第二网络连接向所述第一存储服务器和所述第二存储服务器两者发送所述RDMA命令消息,以及从所述第一和第二存储服务器接收相应的第一和第二RDMA命令完成消息,所述完成消息指示所述数据在至少所述第一和第二存储服务器之间的复制。12.如权利要求11所述的方法,其特征在于,包括:向所述第一存储服务器发送所述RDMA命令消息包括向在所述第一存储服务器处维护的控制第一存储设备的第一非易失性存储器快速(NVMe)控制器发送所述RDMA命令消息以及将所述数据发送到所述第一存储服务器中的一个或多个缓冲器,所述第一NVMe控制器能够基于从所述一个或多个缓冲器中读取所述数据并将所述数据存储在所述第一存储设备,导致所述RDMA命令完成消息被发送到所述网络I/O设备;以及向所述第二存储服务器发送所述RDMA命令消息包括向在所述第二存储服务器处维护的控制第二存储设备的第二NVMe控制器发送所述RDMA命令消息以及将所述数据发送到所述第二存储服务器中的一个或多个缓冲器,所述第二NVMe控制器能够基于从所述一个或多个缓冲器中读取所述数据并将所述数据存储在所述第二存储设备中,导致所述第二RDMA命令完成消息被发送到所述网络I/O设备。13.如权利要求10所述的方法...
【专利技术属性】
技术研发人员:E·塔米尔,F·L·贝瑞,P·C·凯顿,D·E·伍德,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。