用于对等高速外围组件互联存储传输的系统和方法_4

文档序号:9349888阅读:来源:国知局
持MS1-X中断,该方法500可在阶段514继续。如果目标设备不支持MS1-X中断,该方法500可在阶段512继续。
[0082]在阶段512,一不兼容MS1-X的中断(例如,轮询、INTX或MSI中断)可被从目标设备发送至PCI Express开关并转发至主机。
[0083]在阶段516,主机可将中断转发至联合主机。
[0084]在阶段514,支持MS1-X中断的一目标可通过PCI Express开关转发一中断至联合主机。由于该中断的地址同样在联合主机的BAR空间内,存储器写入将被PCI Express开关直接路由至联合主机而不是主机。
[0085]在阶段518,该完成可被联合主机从I/O完成队列中获取。
[0086]在阶段520,联合主机可更新目标上的门铃。在阶段522,过程500可结束。
[0087]图6描述了根据本公开一个实施例的用于在主机和联合主机之间通信设备能力的示例参数表。如图6所述,一个或多个参数可在联合主机和主机之间通信以协商队列创建。队列创建参数可包括,例如,设置队列条目的大小或最大数据传输量的参数。参数还可提供与最大队列条目数、主机系统存储器页大小或其他配置信息相关的信息。
[0088]图7描述了根据本公开一个实施例的示例完成队列参数表。如图7所示,一个或多个委托的完成队列参数可被通信(例如,从主机至联合主机)以指示,例如,完成队列大小、存储器地址、中断地址以及其他队列元数据。
[0089]图8描述了根据本公开一个实施例的示例提交队列参数表。如图8所述,可提供一个或多个提交队列参数包括诸如提交队列的存储器地址、队列大小、优先级和其他队列元数据。
[0090]图9描述了根据本公开一个实施例的示例完成队列创建参数表。在主机和联合主机之间协商队列创建参数之后,标准NVMe命令可由主机(例如,目标的管理队列的拥有者)发送至目标以为联合主机创建一个或多个委托队列。示例命令参数呈现在图9中。
[0091]图10描述了根据本公开一个实施例的示例提交队列创建参数表。在主机和联合主机之间协商队列创建参数之后,标准NVMe命令可由主机(例如,目标的管理队列的拥有者)发送至目标以为联合主机创建一个或多个委托队列。示例命令参数呈现在图10中。
[0092]图11描述了根据本公开一个实施例的示例中断向量配置参数表。在图11中描述的是目标的标准MS1-X表中的示例条目,通过创建I/O完成队列命令中的委托IV号标识。该目标可使用这些中断参数以路由它的MS1-X中断响应,并且主机可配置示出的它们,这样该响应可被直接路由至联合主机。
[0093]其他实施例也处于本发明的范围和精神中。例如,上述功能可使用软件、硬件、固件、硬接线或这些方式的任意组合实现。根据指令操作的一个或多个计算机处理器可执行与根据上述本公开的对等PCIe存储传输相关的功能。如果是这种情况,处于本公开的范围内的是这些指令可被存储在一个或多个非暂态处理器可读存储媒介(例如,磁盘或其他存储介质)中。此外,执行功能的模块也可物理地位于多个位置,包括被分布从而各部分功能被实现在不同物理位置处。
[0094]本公开并不意欲通过本文描述的特定实施例限制其范围。确实,本公开的其他各种实施方式和修改,除了那些本文所描述的,对于本领域普通技术人员来说根据上文的描述以及附图将是显而易见的。因此,这些其他实施例和修改意欲落入本公开的范围内。此外,虽然本公开在本文中已被描述为处于用于特定目的的特定环境中的特定实施方式的上下文中,本领域普通技术人员将认识到它的有用性并不限制于此并且本公开可有益地实施在用于任意数量的目的的任意数量的环境中。因此,应当考虑本文描述的本公开的整个范围和精神理解下面给出的权利要求。
【主权项】
1.一种提供在高速外围组件互联(PCIe)设备之间的对等存储传输的方法,包括: 在第一 PCIe设备的存储器中提供用于在第一 PCIe设备和目标PCIe设备之间传递的数据的队列; 在第一 PCIe设备处接收从通信地耦合至第一 PCIe设备和目标PCIe设备的主设备传输的队列存储器分配信息;以及 使用第一 PCIe设备的计算机处理器生成存储命令。2.根据权利要求1的方法,其中该对等存储传输包括至或从高速非易失性存储器(NVMe)兼容的目标设备的存储传输。3.根据权利要求2的方法,其中该队列被分配至由PCIe枚举器在第一PCIe设备的初始化时刻分配的高速外围组件互联(PCIe)存储器区域。4.根据权利要求1的方法,其中该队列包括用于将存储命令传递至目标PCIe设备的I/O (输入/输出)提交队列。5.根据权利要求1的方法,其中该队列包括用于从目标PCIe设备接收存储命令完成的指示的I/O (输入/输出)完成队列。6.根据权利要求1的方法,进一步包括: 在第一 PCIe设备的存储器中提供用于在第一 PCIe设备和目标PCIe设备之间传递的数据的第二队列;以及 在第一 PCIe设备处接收用于第二队列的来自主机设备的队列存储器分配信息。7.根据权利要求5的方法,其中该第二队列包括下述队列的至少一个:用于将存储命令发送至目标PCIe设备的I/O (输入/输出)提交队列以及用于从目标PCIe设备接收存储命令完成的指示的I/O (输入/输出)完成队列。8.根据权利要求1的方法,进一步包括: 在第一 PCIe设备的存储器中提供数据缓存。9.根据权利要求1的方法,其中在主机设备的存储器中提供一队列以用于下述内容的至少一个:管理提交、管理完成、I/O提交、I/O完成。10.根据权利要求1的方法,进一步包括: 在主机设备的存储器中提供数据缓存。11.根据权利要求1的方法,其中基于下述一个或多个因素确定在第一PCIe设备上利用的多个队列以及在主机设备上利用的多个队列:第一 PCIe设备上可用的存储器数量、主机设备上可用的存储器数量、主机设备的利用水平、第一 PCIe设备的利用水平、在高速外围组件互联(PCIe)开关和主机设备之间可用的带宽量、以及在高速外围组件互联(PCIe)开关和第一 PCIe设备之间可用的带宽量。12.根据权利要求1的方法,进一步包括: 在第三高速外围组件互联(PCIe)设备的存储器中提供用于在第一 PCIe设备和目标PCIe设备之间通信的数据的第二队列;以及 在第一 PCIe设备处接收用于第二队列的来自主机设备的队列存储器分配信息。13.根据权利要求1的方法,进一步包括: 由第一 PCIe设备通过将产生的存储传输命令存储在I/O提交队列中开始存储传输命令; 发出对等存储器写入至目标PCIe设备的门铃寄存器; 在第一 PCIe设备处接收来自目标PCIe设备的存储器读取命令以获取该存储传输命令;以及 在第一 PCIe设备和目标PCIe设备之间传输数据。14.根据权利要求1的方法,进一步包括: 接收在I/O完成队列中由目标PCIe设备与入的完成指不; 接收来自目标PCIe设备的中断; 由第一 PCIe设备从该I/O完成队列中获取完成;以及 更新目标PCIe设备的门铃。15.根据权利要求14的方法,其中目标PCIe设备是MS1-X(消息信号中断扩展)兼容的并且该中断从目标PCIe设备发送至第一 PCIe设备的存储器中的一地址。16.根据权利要求14的方法,其中目标PCIe设备不是MS1-X(消息信号中断扩展)兼容的并且该中断从目标PCIe设备发送至主机并且其中该主机将该中断中继至第一 PCIe设备的存储器中的一地址。17.根据权利要求1的方法,其中该主机设备包括以下内容的至少一个:企业服务器、数据库服务器、工作站、以及计算机。18.根据权利要求1的方法,其中目标PCIe设备包括以下内容的至少一个:图形处理单元、音频/视频捕获卡以及高速非易失性存储器(NVMe)控制器。19.一种包括可在计算机上执行的一系列指令的计算机程序产品,该计算机程序产品执行用于提供在高速外围组件互联(PCIe)设备间进行对等存储传输的过程;该计算机程序执行以下步骤: 在第一 PCIe设备的存储器中提供用于在第一 PCIe设备和目标PCIe设备之间通信的数据的队列; 在第一 PCIe设备处接收从通信地耦合至第一 PCIe设备和目标PCIe设备的主设备传输的队列存储器分配信息;以及 使用第一 PCIe设备的计算机处理器生成存储命令。20.一种用于提供在高速外围组件互联(PCIe)设备间进行对等存储传输的系统,该系统包括: 主机设备; 第一高速外围组件互联(PCIe)设备; 目标高速外围组件互联(PCIe)设备;以及 通信地耦合第一 PCIe设备、目标PCIe设备和主机的高速外围组件互联(PCIe)开关;其中第一PCIe设备包括存储在存储器中的存储的高速非易失性存储器(NVMe)命令提交指令,该指令包括: 用于I/O提交的在第一 PCIe设备的存储器中的队列的地址;以及 用于生成NVMe命令的指令。
【专利摘要】公开了用于对等高速外围组件互联(PCIe)存储传输的技术。在一些实施例中,该技术可实现为提供在PCIe设备之间进行对等存储传输的方法,包括在第一PCIe设备的存储器中提供用于在第一PCIe设备和目标PCIe设备之间通信的数据的队列,在第一PCIe设备处接收从通信地耦合至第一PCIe设备和目标PCIe设备的主设备传输的队列存储器分配信息,以及使用第一PCIe设备的计算机处理器生成存储命令。
【IPC分类】G06F13/38
【公开号】CN105068953
【申请号】CN201510488960
【发明人】C·C·麦坎布里奇, C·W·巴尔, A·C·杰姆尔
【申请人】Hgst荷兰公司
【公开日】2015年11月18日
【申请日】2015年5月7日
【公告号】DE102015005744A1, US20150324118
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1