基于NVMe协议的主机与固态驱动器(SSD)之间的受管理交换制造技术

技术编号:23399856 阅读:20 留言:0更新日期:2020-02-22 12:08
本公开的实施例涉及用于提供主机存储装置服务的基于NVMe协议的一个或者多个主机与固态驱动器(SSD)之间的受管理交换。高速非易失性存储器(NVMe)交换机位于主机和存储装置之间。经由高速外围计算机接口(PCIe)从主机接收第一存储装置访问命令,以访问存储装置。第一存储装置访问命令符合NVMe,并且存储装置包括两个或者更多个固态驱动器(SSD)。基于第一存储装置访问命令,相应的第二存储装置访问命令被发送至两个或者更多个SSD。基于相应的第二存储装置访问命令,从两个或者更多个SSD中的每个SSD接收相应的完成。基于从两个或者更多个SSD中的每个SSD接收到的完成,经由PCIe接口向主机发送完成。

Managed exchange between host and solid state drive (SSD) based on nvme protocol

【技术实现步骤摘要】
基于NVMe协议的主机与固态驱动器(SSD)之间的受管理交换相关申请的交叉引用本公开要求于2018年8月8日所提交的、名称为“用于基于NVMe协议的受管理交换的方法和装置”的62/716,275号美国临时专利申请的优先权,还要求于2019年8月5日所提交的、名称为“用于提供主机存储装置服务的基于NVMe协议的一个或者多个主机与固态驱动器(SSD)之间的受管理交换”的16/532,081号美国专利申请的优先权,该等申请通过引用而被整体并入本文。
本公开涉及向主机提供存储装置服务,即基于高速非易失性存储器(NVMe)协议管理一个或多个主机与固态设备(SSD)之间的交换,以提供主机存储装置服务。主机存储装置服务包括虚拟化服务、性能和容错服务、双主机服务以及其他服务。
技术介绍
PCIe(高速外围组件互连),其官方缩写为PCIe或者高速PCI,是一种高速串行计算机扩展总线标准。PCIe作为主机和外围组件(诸如附接的固态驱动器(SSD))之间的母板级互连而操作。主机用作向用户或者网络上的其他节点提供信息资源、服务和/或应用的服务器。主机也使用由高速非易失性存储器(也被称为NVMe或者高速NVM)定义的用于SSD访问的命令集来管理SSD,以获取运行所需的存储装置服务。由主机对SSD的管理进一步增加了硬件、软件和驻留在主机上的固件的复杂度。
技术实现思路
本公开涉及NVMe交换机,NVMe交换机被布置以在减少主机直接地管理固态设备(SSD)形式的存储装置的需求的同时向主机提供各种存储装置服务。NVMe交换机协调主机与存储装置系统中的SSD之间的存储装置访问命令和完成的交换,以提供这些服务。根据描述的系统和技术的方面,一种方法包括:经由高速外围计算机接口(PCIe)从主机接收第一存储装置访问命令,以访问存储装置,其中第一存储装置访问命令符合高速非易失性存储器(NVMe),并且存储装置包括两个或者更多个固态驱动器(SSD);基于第一存储装置访问命令,向两个或者更多个SSD发送相应的第二存储装置访问命令;基于相应的第二存储装置访问命令,从两个或者更多个SSD中的每个SSD接收相应的完成;以及基于从两个或者更多个SSD中的每个SSD接收的完成,经由PCIe接口向主机发送完成。根据描述的系统和技术的另一方面,一种存储指令的非瞬态计算机可读介质,当指令由一个或多个处理器执行时,使得一个或多个处理器至少:经由高速外围计算机接口(PCIe)接口从主机接收第一存储装置访问命令,以访问存储装置,其中第一存储装置访问命令符合高速非易失性存储器(NVMe),并且存储装置包括两个或者更多个固态驱动器(SSD);基于第一存储装置访问命令,向两个或者更多个SSD发送相应的第二存储装置访问命令;基于相应的第二存储装置访问命令,从两个或者更多个SSD中的每个SSD接收相应的完成;以及基于从两个或者更多个SSD中的每个接收的完成,经由所述PCIe向主机发送完成。根据描述的系统和技术的又一方面,一种高速非易失性存储器(NVMe)交换机包括:命令队列;完成队列;在NVMe交换机中存储的指令,当指令由NVMe交换机的一个或多个处理器执行时,使得NVMe交换机至少:经由高速外围计算机接口(PCIe)接口从主机接收第一存储装置访问命令,以访问存储装置,其中第一存储装置访问命令符合高速非易失性存储器(NVMe),并且存储装置包括两个或者更多个固态驱动器(SSD);基于第一存储装置访问命令,经由命令队列,向两个或者更多个SSD发送相应的存储装置访问命令;基于相应的第二存储装置访问指令,经由完成队列,从两个或者更多个SSD中的每个SSD接收相应的完成;以及基于从两个或者更多个SSD中的每个SSD接收的完成,经由PCIe接口向主机发送完成。在这方面,NVMe交换机允许减小在主机上获取各种存储装置服务的开销。附图说明图1图示存储装置系统的示例配置,该存储装置系统允许在减少主机直接地管理固态驱动器(SSD)形式的存储装置的需求的同时向主机提供各种存储装置服务。图2是使得高速非易失性存储器(NVMe)交换机能够将存储装置抽象化为VD的功能的示例流程图。图3是使得NVMe交换机能够将存储装置抽象化以向主机提供一定级别的存储装置性能和/或存储装置容错的功能的示例流程图。图4是当存储装置系统具有两个或者更多个主机时用于处理存储装置访问命令的功能的示例流程图。图5是与在NVMe交换机执行NVMe预留访问相关联的功能的示例流程图。图6是NVMe交换机的示例框图。这些附图仅用于图示示例实施例的目的,应当理解,这些实施例不限于附图中示出的装置和手段。具体实施方式本公开提供涉及通过基于高速非易失性存储器(NVMe)标准管理一个或多个主机与固态设备(SSD)之间的交换以向主机提供存储装置服务的示例和细节。主机存储装置服务包括虚拟化服务、一定级别的存储装置性能和/或存储装置容错、双主机服务以及其他服务。本文描述的原则可以被应用于控制其他类型的存储装置的性能,诸如硬盘驱动器(HDD)或者混合SSD/HDD驱动器。图1图示了存储装置系统100的示例配置,存储装置系统100在减少主机直接地管理固态设备(SSD)形式的存储装置的需求的同时向主机提供各种存储装置服务。存储装置系统可以包括一个或多个主机102、包括一个或多个固态驱动器(SSD)104的存储装置、以及高速非易失性存储器(NVMe)交换机106。一个或多个主机102可以用作向用户或者网络上的其他节点提供信息资源、服务和/或应用的服务器。在一些示例中,主机可以包括虚拟机(VM)。VM可以使用高速外围组件互连(PCIe)单根输入/输出虚拟化(SR-IOV)在主机上实现。SSD104是基于集成电路(IC)的存储装置机构,其可以永久地存储数据以使得主机102能够提供所需的功能。与硬盘驱动器(HDD)相比,SSD104能够提供更高的带宽和更低的延迟。NVMe交换机106可以被放置在主机102和SSD104之间。NVMe交换机106处理NVMe命令以控制一个或多个主机102与SSD104之间基于PCIe的点对点交换机连接,以使得每个SSD104具有其自身与一个或多个主机102的专用连接。NVMe交换机106包括PCIe集群110、管理处理器112、命令处理器114、数据处理器116和PCIe集群108。在一些示例中,PCIe集群110可以是促进NVMe交换机106与两个或者更多个主机102-104之间通信的PCIe端点集群,而PCIe集群108可以是促进NVMe交换机106与一个或者多个SSD104之间通信的PCIe根联合体(rootcomplex)集群。命令处理器114处理来自主机102的命令。命令可以是从SSD104获取数据并且向主机提供、或者将来自主机的数据存储在SSD104中的NVMe命令。命令处理器114可以向命令添加标记。该标记可以指示该命令是从特定的主机接收的。然后,命令被发送至SSD104。SSD104可以基本文档来自技高网...

【技术保护点】
1.一种方法,包括:/n经由高速外围计算机接口(PCIe)接口,从主机接收第一存储装置访问命令,以访问存储装置,其中所述第一存储装置访问命令符合高速非易失性存储器(NVMe),并且所述存储装置包括两个或者更多个固态驱动器(SSD);/n基于所述第一存储装置访问命令,向所述两个或者更多个SSD发送相应的第二存储装置访问命令;/n基于所述相应的第二存储装置访问命令,从所述两个或者更多个SSD中的每个SSD接收相应的完成;以及/n基于从所述两个或者更多个SSD中的每个SSD接收的所述完成,经由所述PCIe接口向所述主机发送完成。/n

【技术特征摘要】
20180808 US 62/716,275;20190805 US 16/532,0811.一种方法,包括:
经由高速外围计算机接口(PCIe)接口,从主机接收第一存储装置访问命令,以访问存储装置,其中所述第一存储装置访问命令符合高速非易失性存储器(NVMe),并且所述存储装置包括两个或者更多个固态驱动器(SSD);
基于所述第一存储装置访问命令,向所述两个或者更多个SSD发送相应的第二存储装置访问命令;
基于所述相应的第二存储装置访问命令,从所述两个或者更多个SSD中的每个SSD接收相应的完成;以及
基于从所述两个或者更多个SSD中的每个SSD接收的所述完成,经由所述PCIe接口向所述主机发送完成。


2.根据权利要求1所述的方法,其中向所述两个或者更多个SSD发送所述相应的第二存储装置访问命令包括:发送所述相应的第二存储装置访问命令,以并行地写入相同的数据或者从所述两个或者更多个SSD读取不同的数据。


3.根据权利要求1所述的方法,进一步包括:确定来自所述两个或者更多个SSD中的每个SSD的所述相应的完成指示:与每个SSD相关联的所述相应的第二存储装置访问命令是在经由所述PCIe接口向所述主机发送所述完成之前被完成的。


4.根据权利要求1所述的方法,其中向所述两个或者更多个SSD发送所述相应的第二存储装置访问命令包括:发送所述相应的第二存储装置访问命令,以并行地从所述两个或者更多个SSD读取不同的数据或者写入相同的数据。


5.根据权利要求1所述的方法,其中所述主机是两个或者更多个主机,所述方法进一步包括:标识与所述第一存储装置访问命令相关联的所述主机;其中向所述两个或者更多个SSD发送所述相应的第二存储装置访问命令包括:向所述两个或者更多个SSD发送具有所述指示的所述相应的第二存储装置访问命令。


6.根据权利要求1所述的方法,其中向所述两个或者更多个SSD发送所述相应的第二存储装置访问命令包括:经由与所述两个或者更多个SSD中的每个SSD相关联的相应的提交队列,向所述两个或者更多个SSD发送所述相应的第二存储装置访问命令。


7.根据权利要求1所述的方法,其中从所述两个或者更多个SSD中的每个SSD接收所述相应的完成包括:经由与所述两个或者更多个SSD中的每个SSD相关联的相应的完成队列,从所述两个或者更多个SSD的中每个SSD接收所述相应的完成。


8.根据权利要求1所述的方法,进一步包括:确定所述主机是否具有对命名空间的访问,并且如果所述主机具有所述访问,则向所述主机发送所述访问的完成。


9.一种存储指令的非瞬态计算机可读介质,所述指令当由一个或多个处理器执行时,使得所述一个或多个处理器至少:
经由高速外围计算机接口(PCIe)接口从主机接收第一存储装置访问命令,以访问存储装置,其中所述第一存储装置访问命令符合高速非易失性存储器(NVMe),并且所述存储装置包括两个或者更多个固态驱动器(SSD);
基于所述第一存储装置访问命令,向所述两个或者更多个SSD发送相应的第二存储装置访问命令;
基于所述相应的第二存储装置访问命令,从所述两个或者更多个SSD中的每个SSD接收相应的完成;以及
基于从所述两个或者更多个SSD中的每个SSD接收的所述完成,经由所述PCIe向所述主机发送完成。


10.根据权利要求9所述的非瞬态计算机可读介质,其中向所述两个或者更多个SSD发送所述相应的第二存储装置访问命令的所述指令包括:发送所述相应的第二存...

【专利技术属性】
技术研发人员:S·富里S·苏里郭丽萍刘智龙李英东
申请(专利权)人:马维尔国际贸易有限公司
类型:发明
国别省市:巴巴多斯;BB

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

1