CN103392175A - Pci快速多根i/o虚拟化环境中的低延迟优先排序 - Google Patents
Pci快速多根i/o虚拟化环境中的低延迟优先排序 Download PDFInfo
- Publication number
- CN103392175A CN103392175A CN2012800103153A CN201280010315A CN103392175A CN 103392175 A CN103392175 A CN 103392175A CN 2012800103153 A CN2012800103153 A CN 2012800103153A CN 201280010315 A CN201280010315 A CN 201280010315A CN 103392175 A CN103392175 A CN 103392175A
- Authority
- CN
- China
- Prior art keywords
- issue
- affairs
- complete
- priority
- array
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 27
- 238000012163 sequencing technique Methods 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims 1
- 230000007246 mechanism Effects 0.000 abstract description 15
- 230000015572 biosynthetic process Effects 0.000 description 26
- 238000005755 formation reaction Methods 0.000 description 26
- 230000006870 function Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 13
- 230000008447 perception Effects 0.000 description 7
- 230000004044 response Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000007689 inspection Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000003760 hair shine Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/4031—Coupling between buses using bus bridges with arbitration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Bus Control (AREA)
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
Abstract
一种用于在快速PCI(PCIe)多根I/O虚拟化(MR-IOV)环境中使用的低延迟优先排序检查的装置和方法。优先排序检查架构帮助允许端口与PCIe MR-IOV排序规则兼容。发布信息阵列反映发布事务队列,存储用于发布事务队列中存储的对应发布事务条目的优先顺序指示符和虚拟层级(VH)标签信息。选择器周期性地(如每个周期)查询发布信息阵列,以确定在它们各自队列的输出的非发布/完成事务在发布队列的某个地方是否具有相同VH的任何优先发布事务。
Description
技术领域
本发明涉及数据通信的领域,更具体地,涉及PCI快速(PCIe)多根I/O虚拟化(MR-IOV)环境中的低延迟优先排序的装置和方法。
背景技术
近来,对于PCIe基础规范宣布了增加内容。这已知为MR-IOV。在PCI-SIG中更详细地公开了MR-IOV,“Multi-Root Virtualization and SharingSpecification”(http://www.pcisig.com/specifications/iov/multi-root/)。
要求支持该增加内容要求的改变之一包括改变执行事务类型的排序的方式,具体地,支持虚拟层级(VH)内的排序。对该要求的简单技术方案导致严重的性能劣化,并且通常要求昂贵的硬件修改。
根据MR-IOV,通过系统发出事务,具有指示每个事务与特定VH的关联的VH标签。仅在相同VH的事务中(通过选择器)执行排序。来自其他VH的事务对该排序没有影响。
当前的PCIe架构允许选择器每次只访问一个队列元素。正确的排序要求访问多个队列元素。这对延迟和逻辑复杂性具有严重影响。结果,总线吞吐量劣化严重。由于增加的逻辑(其可能要求锁存以保持时序约束)和用于访问存储器阵列线的周期,导致延迟。选择器现在必须从所有的发布阵列收集数据,保持一些数据,并且将其与下一次要发送的非发布/完成事务比较。
在基本架构系统内处理这些需要将要求复杂逻辑。
当前的技术方案不允许以VH分辨率执行排序,因此不能满足MR-IOV规范。
US2010/0014526公开了一种用于管理程序和刀片服务器的硬件开关。该硬件开关允许在在相同服务器上运行的不同客户端OS之间,或者在多根IOV系统中的不同服务器之间,或者在单根IOV系统中的相同服务器中运行的不同客户端OS之间出现切换。
US2010/0115329公开了一种存储设备,其中MR-IOV应用于存储控制器的内部网络。可以在存储设备中执行数据路径切换(failover)。存储控制器的内部网络配置为允许从根端口RP0访问每个端点设备(ED0-ED2)的虚拟功能(VF)“VF0:0,1”。类似地,可以从根端口RP1访问每个端点设备的“VF1:0,1”。在正常状态下的从RP0到ED0的第一数据路径中,“VF0:0,1”和“MVF0,0”通过VF映射连接。当在第一数据路径上出现故障时,MR-PCIM执行VF迁移,从而在从RP1到ED0的第二数据路径中,“VF1:0,1”和“MVF0,0”通过VF映射连接。结果,实现了到第二数据路径的切换。
US2010/0146089公开了一种用于高速外围组件互连输入/输出虚拟化配置的计算机实现的方法,其创建一组虚拟功能路径授权表,从请求者接收包括虚拟功能的请求以提供请求的数据,并且识别源系统中的源地址和一组目标系统中的每个目标系统中的目标地址。创建包含源和目标地址的用于源系统的虚拟功能工作队列条目,并且响应于确定虚拟功能被授权,将请求的数据从源系统的源地址通过中间设备的防火墙写入每个目标系统的目标地址,其中中间设备是多根外围组件互连设备和单根外围组件互连设备之一,并且发出完成通知给请求者。
US7707346公开了多根PCI(外围组件互连)快速设备的链路层存储从专用于与事务层分组(TLP)关联的虚拟层级(VH)的专用重试缓冲器中的事务层发送的事务层分组(TLP)。多根设备的链路层还存储与TLP有关的、关于VH和顺序缓冲器中专用重试缓冲器中存储的TLP的地址的信息。在接收对于VH的重置请求时,链路层可以清除与VH关联的专用重试缓冲器。在清除之后,多根设备可以发送ACK(应答编码)DLLP(数据链路层分组),指示VH已经成功重置。通过利用多个重试缓冲器,只要重试缓冲器指针重置到初始值,就发送对于VH重置的ACK DLLP响应。
US2010/0165874公开了用于在多根PCI快速环境中差异化每主机系统刀片的业务类型的机制。该机制生成第一映射数据机构,其对于多根数据处理系统中的每个单根虚拟层级,将多个业务类型与多个优先级组相关联,并且将多个业务类型中的每个业务类型映射到多个虚拟信道中的对应虚拟信道。此外,生成第二映射数据机构,其将多个虚拟信道中的每个虚拟信道映射到多根数据处理系统的多个虚拟链路中的对应的每主机系统刀片虚拟链路。基于第一映射数据结构和第二映射数据机构,特定优先级组的业务从单根虚拟层级路由到多个虚拟链路中的特定虚拟链路。
US2010/0153592公开了一种用于创建冗余系统配置的计算机实现的方法。该计算机实现的方法创建一组虚拟功能路径授权表,并且从请求者接收请求以从虚拟功能提供请求的数据,其中该虚拟功能由单根或多根外围组件互连设备执行。此外,在一组地址范围中的选择的地址范围内创建接收缓冲器,以及用于包含选择的地址范围内的接收缓冲器的地址的虚拟功能的虚拟功能工作队列条目。响应于确定虚拟功能被授权,将请求的数据写入一个或多个系统中的选择的地址范围内的接收缓冲器中,并且响应于写入请求的数据,发出完成通知给请求者。
US2009/0276773公开了一种用于实现多根I/O虚拟化管理部分(MR-IMP)中的多根PCI管理器(MR-PCIM)的机制,以便通过开关和IOA的基本功能(BF)控制多根I/O虚拟化(IOV)使能开关构造和多根IOV使能I/O适配器(IOA)的共享功能。管理程序提供设备独立的装置在I/O虚拟化管理部分(IMP)、多根(MR)-IMP和客户端部分中运行的代码。MR-IMP可以包括设备特定代码而没有需要牺牲其大小、健壮性和可升级性的管理程序。管理程序提供虚拟中间件,在功能上用于开关和IOA的控制功能的共享和控制。
发明内容
在第一方面,提供了一种用于在PCIe多根I/O虚拟化(MR-IOV)环境中使用的优先排序的装置,包括:发布信息阵列,操作来存储与对应的发布事务队列中的发布事务关联的排序信息;以及优先排序检查电路,操作来查询所述发布信息阵列以确定是否存在比当前非发布/完成事务优先的、来自相同VH的发布队列中的事务。
在一个实施例中,所述排序信息包括所述发布事务队列中的发布事务的VH标签。
在一个实施例中,所述排序信息包括所述发布事务队列中的发布事务的优先顺序指示符。
在一个实施例中,所述发布信息阵列包括与每个条目关联的有效位,用于指示VH标签和优先顺序指示符是否有效。
在一个实施例中,所述优先排序检查电路包括逻辑,操作来执行非发布/完成事务的VH标签和优先顺序指示符信息分别与所述发布信息阵列中的VH标签和优先顺序指示符信息的比较。
在一个实施例中,如果所述发布条目的优先顺序指示符相对于所述当前非发布/完成事务满足预定条件,并且所述发布条目的VH标签等于所述当前非发布/完成事务的VH标签,则所述优先排序检查电路操作来根据所述发布信息阵列的内容,指示是否存在比当前非发布/完成事务优先的、来自相同VH的发布队列中的事务。
在一个实施例中,所述装置还包括如果所述优先排序检查电路指示与PCIe MR-IOV VH排序规则兼容则发送所述非发布/完成事务队列的顶部的部件。
在一个实施例中,所述发布信息阵列操作来从系统总线接收与发布事务关联的排序信息,同时将所述发布事务输入所述对应的发布事务队列。
在一个实施例中,所述装置包括:选择器,操作来在任意时间点确定发送发布、非发布或完成事务,其中所述选择器包括所述优先排序检查电路。
在一个实施例中,如果另外发布条目的有效位指示所述条目有效,则所述优先排序检查电路操作来指示存在比当前非发布/完成事务优先的、来自相同VH的发布队列中的事务。
在一个实施例中,所述装置还包括如果所述优先排序检查电路指示与PCIe MR-IOV VH排序规则兼容将所述当前非发布/完成事务队列优先的部件。
根据第二方面,提供了一种用于在PCIe多根I/O虚拟化(MR-IOV)环境中使用的优先排序规则兼容的方法,所述方法包括以下步骤:提供发布信息阵列,其操作来存储与有关的发布事务队列中的发布事务关联的排序信息;以及对于在各个非发布/完成事务队列的顶部的每个非发布/完成事务,查询所述发布信息阵列以确定是否存在比当前非发布/完成事务优先的、来自相同VH的发布队列中的事务。
在一个实施例中,所述排序信息包括所述发布事务队列中的发布事务的VH标签。
在一个实施例中,所述排序信息包括所述发布事务队列中的发布事务的优先顺序指示符。
在一个实施例中,所述发布信息阵列包括与每个条目关联的有效位,用于指示VH标签和优先顺序指示符信息是否有效。
在一个实施例中,所述查询步骤包括:执行非发布/完成事务的VH标签和优先顺序指示符信息分别与所述发布信息阵列中的VH标签和优先顺序指示符信息的比较。
在一个实施例中,所述查询步骤包括:如果发布条目的有效位指示所述条目有效,所述发布条目的优先顺序指示符相对于所述当前非发布/完成事务满足预定条件,并且所述发布条目的VH标签等于所述当前非发布/完成事务的VH标签,则指示存在比当前非发布/完成事务优先的、来自相同VH的发布队列中的事务。
在一个实施例中,所述方法还包括:如果所述优先排序检查电路指示与PCIe MR-IOV VH排序规则兼容,则发送所述当前非发布/完成事务队列。
在一个实施例中,所述发布信息阵列操作来从系统总线接收与发布事务关联的排序信息,同时将所述发布事务输入所述对应的发布事务队列。
所述方法可以在计算机软件中执行。
根据第三方面,本发明提供了一种用于在PCIe多根I/O虚拟化(MR-IOV)环境中使用的优先排序的装置,包括:发布信息阵列,操作来存储与有关的发布事务队列中的发布事务关联的排序信息;选择器,操作来在任意时间点确定发送发布、非发布或完成事务;以及所述选择器包括优先排序检查电路,操作来查询所述发布信息阵列以确定是否存在比当前非发布/完成事务优先的、来自相同VH的发布队列中的事务。
根据一个实施例,提供了一种用于在PCIe多根I/O虚拟化(MR-IOV)环境中使用的优先排序的装置,包括:发布信息阵列,操作来存储与对应的发布事务队列中的发布事务关联的排序信息;以及优先排序检查电路,操作来通过根据所述发布信息阵列的内容确定是否存在比当前非发布/完成事务优先的、来自相同VH的发布队列中的事务,增强PCIe MR-IOV虚拟层级(VH)排序规则。
附图说明
现在将参考附图仅通过示例方式描述本发明的一个或多个实施例,附图中:
图1是图示并入本发明一个实施例的优先排序检查机制的示例MR-IOVPCIe网络的方块图;
图2是图示并入本发明一个实施例的优先排序检测机制的MR-IOV虚拟层级中的示例发布、非发布和完成队列以及选择器的方块图;
图3是图示示例发布信息阵列的结构的方块图;
图4是图示本发明一个实施例的优先排序检查方法的流程图;
图5是图示本发明一个实施例的第一示例优选排序检查逻辑电路的方块图;以及
图6是图示本发明一个实施例的第二示例优选排序检查逻辑电路的方块图。
具体实施方式
贯穿全文使用的标记
以下标记贯穿本文使用:
术语 定义
ARI 可替代路由ID解释
ASIC 专用集成电路
ATS 地址翻译服务
CPU 中央处理单元
CRC 周期冗余检查
ECRC 端到端CRC
FLR 功能级别重置
FPGA 场可编程门阵列
FTP 文件传送协议
GbE G比特以太网
MRA 多根感知
MR-IOV 多根输入/输出虚拟化
PCIe 快速外围组件互连
PIA 发布信息阵列
SIG 特殊兴趣组
SR-IOV 单根输入/输出虚拟化
TLP 事务层分组
VH 虚拟层级
VM 虚拟机
快速PCI原始设计用于台式机,连接根联合体(具有存储器的主机CPU)和下游IO设备,但是已经在服务器、存储设备和其他通信系统中找到应用。单根联合体的基础PCIe切换结构具有树形拓扑,其通过总线编号方案寻址PCIe端点。
虚拟机(VM)技术已经出现,用于提供在单个物理服务器上运行多个虚拟服务器同时共享物理服务器的物理CPU和存储器资源的能力。虚拟机定义为像真实机器一样执行程序的机器(即,计算机)的软件实现。虚拟化指计算机资源的抽象,并且是隐藏计算资源的物理特性并允许多个客户端无缝地共享物理资源的技术。系统图像典型地是在虚拟机上运行的软件组件,其能够被关闭并在稍后以与之前离开时完全相同的状态恢复。在一个示例中,系统图像分配给特定虚拟机。
PCI-SIG已经开发了虚拟IO标准以允许给定机器上的多个操作系统本地共享PCIe设备。多个虚拟机可以分配给具有高速IO(如InfiniBand、FibreCannel(光纤通道)或10GbE(10G比特以太网))的多功能设备。注意,不要求设备是多功能的,此外,高速IO不是要求。例如,作为存储器阵列的端点连接到存储器,而不是IO,因为PCIe是单独协议,并且不跨协议运行,如G比特以太网(GbE)。
通过IO虚拟化(IOV)共享物理IO资源能够帮助适应服务器中多核处理器的持续增长的使用。IO虚拟化允许虚拟机共享昂贵的高带宽IO,如10Gb以太网或8Gb Fibre Channel,因此调整它们的部署。
IO虚拟化能力已经增加到快速PCI。规范定义了两级IO虚拟化:单根IO虚拟化(SR-IOV)和多根IO虚拟化(MR-IOV)。SR-IOV为端点设备提供标准机制,以便告知它们的能力以在相同硬件平台(一个主机CPU)上运行的多个虚拟机之间同时共享。MR-IOV允许IO资源在多个硬件平台(多个主机CPU)上运行的多个操作系统之间共享。
虚拟化技术当前在各种各样的计算系统(如高端服务器)中使用。然而,主要努力是要减少虚拟化的软件开销部分,特别是对于输入/输出(I/O)设备。虚拟化允许单个物理I/O设备用作多个虚拟化I/O设备,每个虚拟机有一个,并且相互完全独立。I/O虚拟化正从主要由软件实现转移到将更多虚拟化功能并入下一代企业计算系统的硬件中。将更多功能并入硬件中提高了整体系统性能,但是要求对快速PCI(PCIe)接口的大量改变以便支持I/O虚拟化。
在虚拟化系统中,物理组件划分为一组物理资源,其利用良好定义的接口和功能独立地操作。快速PCI是用于许多现代计算和电信平台的主要的面向性能接口协议,并且它已经被扩展为并入虚拟化。快速PCI设备基于精确地定义这些设备必须做以解决传统的面向软件的虚拟化方式的性能限制的规范的集合,提供对I/O虚拟化的支持。在核心是快速PCI规范时,当前为版本2.1。下一个主要修正,快速PCI3.0,将会把链接速度从5.0GT/s增加到8.0GT/s。诸如可替代路由ID解释(ARI)、功能水平重置(FLR)和地址翻译服务(ATS)的可选特征增加到基础规范以并入I/O虚拟化。
关于快速PCI规范定义了两种类型的I/O虚拟化:多根和单根。多根I/O虚拟化(MR-IOV)的规范定义了用于将概念扩展到其中多个主机想要共享共同的资源池的平台的特征。单根I/O虚拟化(SR-IOV)规范定义了在具有单个PCIe根联合体的系统中使能I/O虚拟化的特征。
在图1中示出了并入本发明一个实施例的优先排序检查机制的示例MR-IOV PCIe网络的方块图。该示例网络(通常标为10)包括多个根联合体12和分别经由PCIe链路11和13连接到多根感知(MRA)开关20的多个MRA PCIe设备26。根联合体12包括具有TX16和RX18电路的根端口14。MRA开关20包括多个端口21,其每个具有TX22和RX24电路。MRA PCIe设备26每个包括端口25,其具有TX28和RX29电路。
为了支持多根拓扑,PCIe开关和IOV设备需要是MR感知的(即,它们能够支持多根系统)。MR感知IO适配器和PCIe开关必须具有额外的寄存器组来支持各种根联合体路由(routing),并且MR感知PCIe开关必须包含两个或更多上游端口。与不改变快速PCI基础规范中指定的数据链路或事务层的SR-IOV规范相比,MR-IOV规范要求数据链路层的修改。配置软件中还有改变是配置开关机构和MR感知端点。MR-PCI管理器可以在根联合体上或者旁路MR感知开关实现。MR感知PCIe开关可以以各种拓扑互连:星形、树形和网形。
注意,每个根端口下的PCI组件被虚拟化并逻辑地叠加在MRA开关和设备上。虚拟化PCI组件称为虚拟层级(VH)。每个VH包括至少一个PCIe开关,其是使用MRA开关内的虚拟开关实现的虚拟化组件。每个VH例如可以包含MRA开关、SR-IOV设备、非IOV设备和桥的混合。MRA设备是支持MR-IOV能力并且取决于提供的MR-IOV资源同时在多个VH中可见的设备。MR-IOV基本上是多个VH在共享的一组物理MRA和非MRA组件上的叠加。注意,MRA根端口不转发用于其中它不是根的VH的TLP。然而,注意MRA根端口可以用作用于特定VH的端点,同时仍然被认为是用于其他设备的根端口。
为了支持MR-IOV,虚拟层级标签(VH标签)增加到定义各PCIe设备之间的虚拟数据流的每个事务。注意,PCIe包括三种事务类型:发布(不要求响应)、非发布(要求响应)和完成事务。每个事务包括:128/96位报头和具有可选的32位端到端CRC(ECRC)保护和前缀的数据(如果包括的话)(以支持基本规范添加内容)。注意,MR-IOV要求前缀,因为它包含VH标签等。PCIe规范定义排序规则,从而在各事务之间必须保持特定排序关系。例如,非发布事务必须在发布事务请求之前发送。由于规范更新(例如,ID排序,多根等)以及事务报头内的松弛排序指示,排序规则可以具有许多添加内容。
在一个实施例中,以下详细描述的本发明的优先排序检查机制在MRA设备(如MRA根联合体、MRA开关和MRA PCIe设备)中的PCIe端口的TX部分中实现。
图2中示出图示并入本发明一个实施例的优先排序检查机制的MR-IOV虚拟层级中的选择器以及示例发布、非发布和完成队列的方块图。通常标为30的电路包括系统总线32、发布队列接口(I/F)34和相关的发布事务队列40、非发布队列I/F36和相关的非发布事务队列42、完成队列I/F38和相关的完成事务队列44、并入本发明一个实施例的优先排序检查单元48的选择器46以及PCIe总线50。
在操作时,系统总线发出三种类型的事务(即,TLP):发布、非发布和完成。这三种事务类型必须跟随PCIe规范定义的排序规则。事务报头(每个高达128位)和其他相关事务元数据插入具有受限访问性的存储器阵列中存储的队列中。在示例实施例中,队列深度为16条目深,但是取决于特定实现可以更大或更小。
选择器用于从分别在发布、非发布和完成队列40、42、44头部的事务中选择要求发送到PCIe总线的事务。该选择必须根据PCIe排序规则、PCIe可用性和公平方案进行。注意,PCIe可用性基于分配给不同事务类型的信用。根据PCIe规范,可以在具有或不具有VH特定标签的情况下分配信用。
根据PCIe MR-IOV规范,事务由系统总线发出,具有指示每个事务与特定VH的关联的VH标签。选择器只在相同VH的事务中执行事务的发送的优先排序,其中属于其他VH的事务必须不影响排序。因此,一个VH的发布事务不能阻挡其他VH的非发布事务。
为了执行正确的排序,选择器要求同时访问多个队列元素。这可能对导致总线吞吐量的劣化的延迟和逻辑复杂性具有影响。延迟是由于用于访问存储器阵列线的额外的逻辑和周期。此外,选择器必须从发布队列的内容收集数据,用于与接着要发送的非发布/完成事务比较。因此,为了保持排序,选择器要求访问发布队列存储器单元的内容以便执行穷尽扫描。
在本发明的一个示例实施例中,称为发布信息阵列(PIA)的低成本、低容量存储器阵列和相关的优先排序检查逻辑电路增加到选择器。这避免成本高地访问发布事务队列存储器阵列内容和处理数据的相关成本。
发布信息阵列只存储与排序有关的基本数据。基本排序数据从发布事务数据中提取并存储在PIA中。排序要求与发布事务相关的特定信息。在一个实施例中,要求的信息从系统总线侧传送到选择器内的PIA,并且存储在其中。发布信息阵列中的信息反映优先排序处理所要求的发布事务队列的内容的实体,其典型地的是数据的小部分。
通过单个访问周期并利用相对低成本的逻辑电路,选择器查询发布信息阵列,并且检查从队列读取的最近非发布/完成事务是否与PCIe MR-IOV排序规则兼容,并且因此可以被发送到PCIe总线。这与选择器必须对发布队列的存储器阵列执行多次访问(经过许多周期)相反。注意,选择器可以周期性地或以其他方式(例如,每个周期、每多个周期或一些其他条件(如多个可用令牌)等)查询发布信息阵列。
图3示出图示示例发布信息阵列的结构的方块图。通常标为60的发布信息阵列包括多个条目62。每个条目包括锁存器、寄存器或其他适当的存储器结构,其并入包括VH标签64(例如,8位)、优先顺序指示符66(例如,8位)和有效位68的至少三个字段。构成PIA的寄存器以移位寄存器方式(即,作为队列)排列,其中输入发布队列的来自发布事务的VH标签和优先顺序指示符70写入在PIA的顶部的第一条目。在先条目的输出馈送到下游条目的输入。在进入的发布事务块72的每个周期,PIA中每个条目的内容计时到下一条目。在任何时间,PIA的整个内容输入到优先排序检查逻辑69,其用于确定发布队列中的某个地方是否存在在当前非发布/完成事务之前的、来自相同VH的事务。选择器然后确定是否发送非发布/完成事务。
当在PIA中接收新的发布事务指示时,阵列单元向下移位(即,条目#0变为条目#1等)。单元#0是顶部单元。当发布事务被发送到PCIe总线或丢弃时,用于PIA中该事务条目的对应有效指示位被清除。PIA中的最后条目不保存,因此在移位事件期间,它上面的条目重写最后条目,并且它的数据内容丢失。
注意,优先顺序指示符可以包括表示事务到达队列的时间顺序的任何实体。作为示例,事务可以包括时间戳、序列号等。注意,在一个实施例中,优先顺序指示符可以包括例如可以从计数器生成的序列号。
图4示出图示本发明一个实施例的优选排序检查方法的流程图。下面的方法可以以软件、硬件或软件和硬件二者的组合实现。意图在PCIe端口的TX部分中的选择器功能中实现。对于发布队列中的每个条目,对应的条目存储在发布信息阵列中(步骤80)。当条目存储在发布队列中时,VH标签和优先顺序指示符(以及有效位)存储在发布中。发布队列和发布信息阵列两者的深度优选相同。在这里提供的示例中,深度为16条目。注意,本发明不限于该示例,因为任何期望深度可以实现。
然后检查是否对于条目设置有效位(步骤82)。如果是,则检查PIA中的发布条目的优先顺序指示符相对于在队列的输出处的非发布/完成事务条目是否满足预定条件(步骤84)。意识到,预定条件可以包括任何适当的条件,例如,大于、小于、等于特定倍数等。如果满足条件,则检查发布条目的VH标签是否等于在队列的输出处的非发布/完成事务条目的VH标签(步骤86)。如果是,则将在具有相同VH标签的发布队列中存在不满足条件(例如,具有较早的优先顺序指示符)的发布事务的指示输出到选择器电路(步骤88)。如果在步骤82、84、86中的判断的任一的结果是负面的,则这指示在具有相同VH标签的发布队列中不存在满足预定条件(例如,具有较早的优先顺序指示符)的发布事务,并且将指示相应地发送给选择器,其然后确定要采取的随后动作(如果有的话)(步骤90)。注意,当比较VH标签值时,考虑卷绕(wrap-around)的可能性,因为计数器是有限大小的。存在本领域总所周知的许多技术用于有效地处理卷绕。
图5示出图示本发明一个实施例的第一示例优先排序检查逻辑电路的方块图。通常标为100的优先排序检查逻辑电路包括比较器110、114、与(AND)电路112、116、以及或(OR)电路118。在操作时,发布信息阵列102中的全部16个(在该示例中)条目的内容输入优先排序检查逻辑电路。十六个8位优先顺序指示符106与在队列头部的非发布/完成事务的优先顺序指示符120比较(小于)114。期望确定是否有任何PIA发布条目比在队列的输出处的事务来的早。十六个8位VH标签(PIA中的每个条目一个)与在队列头部的非发布/完成事务的VH标签122比较110。等于比较110的十六个1位结果与十六个1位有效位108进行与操作112。十六个1位结果随后与比较114的十六个1位结果进行与操作116。与操作的十六个1位结果进行或操作118,得到单个1位优先排序指示126,其被传递给选择器。传递给选择器的信息指示发布队列中的某个地方是否存在在当前非发布/完成事务之前的、来自相同VH的事务。选择器然后判断是否发送非发布/完成。典型地,选择器将不发送非发布/完成,但是可能存在这样的情况,其中忽略信息判断要发送特定非发布/完成事务。
如果PIA中的条目中的任何VH标签等于在队列的头部的非发布/完成事务的VH标签,并且PIA中的条目的任何优先顺序指示符相对于在队列的头部的非发布/完成事务满足一个或多个预定条件,并且设置了适当的有效位,则优先排序指示设为指示发布队列中的某个地方是否存在比当前的非发布/完成事务优先的、来自相同VH的事务的指示。
如果满足条件(即,非发布/完成优先顺序指示符比发布优先顺序指示符大,意味着发布事务在时间上先到达),则条件评估(即,小于比较)114的输出为高。如上所述,典型地,选择器判断不将非发布/完成事务优先,并且必须等待直到发送发布事务,但是在一些情况下,它不这样。
图6示出图示本发明的第二示例优先排序检查逻辑电路的方块图。在该示例实施例中,预定条件包括在发布和非发布/完成事务之间的“小于”比较。意识到,本发明不限于该特定条件,并且其他条件也是本发明预期的。在一个实施例中,通常标为130的优先排序检查逻辑电路包括用于发布信息阵列中的每个条目的电路“切片”或“平面”131(在该示例中为16个“平面”)。每个平面包括具有VH标签134、优先顺序指示符136和有效位138的发布事务排序数据132、比较器140、142和与(AND)逻辑144。
在每个平面(或切片),8位优先顺序指示符136与在队列头部的非发布/完成事务的优先顺序指示符148比较(例如,小于)142。期望确定是否任何PIA发布条目比在队列的输出处的事务来的早。8位VH标签与在队列的头部的非发布/完成事务的VH标签150比较140,以便检查它们是否相等。相等比较140的1位结果与1位有效位138和比较142的1位结果进行与操作144。来自每个条目平面的与操作的1位结果进行或操作146,得到单个1位优先排序指示152。
如果PIA中的条目中的任何VH标签等于在队列的头部的非发布/完成事务的VH标签,并且PIA中的条目的任何优先顺序指示符小于在队列的头部的非发布/完成事务的任何优先顺序指示符,并且设置了适当的有效位,则将优先排序指示发送给选择器,指示发布队列中的某个地方是否存在比当前的非发布/完成事务优先的、来自相同VH的事务。
如同图5的电路,如果非发布/完成优先顺序指示符比发布优先顺序指示符大,则小于比较142的输出为高,意味着发布事务先到达。
优先排序检查机制可以实现为ASIC、FPGA或定制处理器,其具有以下能力:(1)根据由PCI-SIG标准化的快速PCI物理格式耦合到包括多个通路的PCIe链路;
在第一可替代实施例中,可以使用包括与非发布(非发布信息阵列)和完成事务(完成信息阵列)有关的信息的额外信息阵列。这类似于上面描述的实施例,除了现在选择中有三个信息阵列。该实施例的优点在于,选择器具有检查信息阵列中更大数量的条目的能力。然而,缺点是增加的硬件要求。
在第二可替代实施例中,事务存储器阵列队列的数量乘以支持的VH的最大数量(例如,256),总共256×3存储器阵列队列。在该实施例中,选择器从每个队列读取输出条目,并且根据它的内部逻辑(即,循环(round robin)等)确定要发送的下一事务。该方案的缺点是选择器逻辑的复杂性增加,以及要求的资源的增加,并且还可能要求额外的时钟周期来处理。
在第三可替代实施例中,使用系统侧的多个计数器。为每个VH提供一个计数器(例如,支持256VH的最大值的系统中的256个计数器)。除了为每个VH提供分开的计数器,提供总共高达256个寄存器,以便存储特定VH的最近发布优先顺序指示符。其中每个计数器用于跟踪每个发布VH的最近事务的VHx的最近发布事务在选择器侧发出。
在第四可替代实施例中,使用与如上所述在第三可替代实施例中相同构造的优先排序检查逻辑电路,其中差别在于使用256个存储器阵列(即,队列)用于发布、非发布和完成事务(或高达VH的最大数量)。
在第五可替代实施例中,使用硬件、软件或其组合来执行队列内容的逻辑搜索,从而对于特定VH,在搜索比在队列头部的非发布/完成事务的优先顺序指示符高的优先顺序指示符时,发布队列的内容被采样。
这里使用的术语仅用于描述特定实施例的目的,并且意图不在于限制本发明。如这里使用的,单数形式“一(a)”、“一个(an)”和“该”意图在于也包括复数形式,除非上下文清楚地另外指示。还将理解的是,当在本说明书中使用时,术语“包括”和/或“包含”指定所述特征、整体、步骤、操作、元件、和/或组件的存在,但是不是排除一个或多个其它特征、整体、步骤、操作、元件、组件和/或其组合的存在或增加。
权利要求中的所有部件或步骤加功能元件的对应结构、材料、动作和等效体意图包括用于与具体要求保护的其它要求保护的元件一起执行功能的任何结构、材料或动作。本发明的描述已经呈现用于图示和描述的目的,但是意图不在于是穷尽的或限制于公开形式的发明。许多修改和变化对于本领域普通技术人员将是明显的,而不偏离本发明的范围和精神。相应地,将意识到,所有适当的变化、修改和等效可以实现,其将落入本发明的精神和范围内。实施例被选择和按顺序描述以最佳地说明本发明的原理和实际应用,并且允许本领域普通技术人员理解本发明,对于具有各种修改的各种实施例适于预期的特定使用。
Claims (21)
1.一种用于在PCIe多根I/O虚拟化(MR-IOV)环境中使用的优先排序的装置,包括:
发布信息阵列,操作来存储与对应的发布事务队列中的发布事务关联的排序信息;以及
优先排序检查电路,操作来查询所述发布信息阵列以确定是否存在比当前非发布/完成事务优先的、来自相同VH的发布队列中的事务。
2.根据权利要求1所述的装置,其中,所述排序信息包括所述发布事务队列中的发布事务的VH标签。
3.根据权利要求1或2所述的装置,其中,所述排序信息包括所述发布事务队列中的发布事务的优先顺序指示符。
4.根据权利要求1、2或3所述的装置,其中,所述发布信息阵列包括与每个条目关联的有效位,用于指示VH标签和优先顺序指示符信息是否有效。
5.根据在前的权利要求的任一所述的装置,其中,所述优先排序检查电路包括逻辑,操作来执行非发布/完成事务的VH标签和优先顺序指示符信息分别与所述发布信息阵列中的VH标签和优先顺序指示符信息的比较。
6.根据任一在前权利要求所述的装置,其中,如果所述发布条目的优先顺序指示符相对于所述当前非发布/完成事务满足预定条件,并且所述发布条目的VH标签等于所述当前非发布/完成事务的VH标签,则所述优先排序检查电路操作来根据所述发布信息阵列的内容,指示是否存在比当前非发布/完成事务优先的、来自相同VH的发布队列中的事务。
7.根据任一在前权利要求所述的装置,还包括如果所述优先排序检查电路指示与PCIe MR-IOV VH排序规则兼容则发送所述非发布/完成事务队列的顶部的部件。
8.根据权利要求1到6的任一所述的装置,其中所述发布信息阵列操作来从系统总线接收与发布事务关联的排序信息,同时将所述发布事务输入所述对应的发布事务队列。
9.根据权利要求1到6或权利要求8的任一所述的装置,包括:
选择器,操作来在任意时间点确定发送发布、非发布或完成事务,其中所述选择器包括所述优先排序检查电路。
10.根据权利要求9所述的装置,其中如果另外发布条目的有效位指示所述条目有效,则所述优先排序检查电路操作来指示存在比当前非发布/完成事务优先的、来自相同VH的发布队列中的事务。
11.根据权利要求9或10所述的装置,还包括如果所述优先排序检查电路指示与PCIe MR-IOV VH排序规则兼容,则将所述当前非发布/完成事务队列优先的部件。
12.一种用于在PCIe多根I/O虚拟化(MR-IOV)环境中使用的优先排序规则兼容的方法,所述方法包括以下步骤:
提供发布信息阵列,其操作来存储与有关的发布事务队列中的发布事务关联的排序信息;以及
对于在各个非发布/完成事务队列的顶部的每个非发布/完成事务,查询所述发布信息阵列以确定是否存在比当前非发布/完成事务优先的、来自相同VH的发布队列中的事务。
13.根据权利要求12所述的方法,其中,所述排序信息包括所述发布事务队列中的发布事务的VH标签。
14.根据权利要求12或13所述的方法,其中,所述排序信息包括所述发布事务队列中的发布事务的优先顺序指示符。
15.根据权利要求12、13或14所述的方法,其中,所述发布信息阵列包括与每个条目关联的有效位,用于指示VH标签和优先顺序指示符信息是否有效。
16.根据权利要求12到15的任一所述的方法,其中,所述查询步骤包括:执行非发布/完成事务的VH标签和优先顺序指示符信息分别与所述发布信息阵列中的VH标签和优先顺序指示符信息的比较。
17.根据权利要求12到16的任一所述的方法,其中,所述查询步骤包括:如果发布条目的有效位指示所述条目有效,所述发布条目的优先顺序指示符相对于所述当前非发布/完成事务满足预定条件,并且所述发布条目的VH标签等于所述当前非发布/完成事务的VH标签,则指示存在比当前非发布/完成事务优先的、来自相同VH的发布队列中的事务。
18.根据权利要求12到17的任一所述的方法,还包括:如果所述优先排序检查电路指示与PCIe MR-IOV VH排序规则兼容,则发送所述当前非发布/完成事务队列。
19.根据权利要求12到18的任一所述的方法,其中所述发布信息阵列操作来从系统总线接收与发布事务关联的排序信息,同时将所述发布事务输入所述对应的发布事务队列。
20.一种包括程序代码部件的计算机程序,当所述程序在计算机上运行时,适配为执行权利要求12到19的任何的方法。
21.一种用于在PCIe多根I/O虚拟化(MR-IOV)环境中使用的优先排序的装置,包括:
发布信息阵列,操作来存储与有关的发布事务队列中的发布事务关联的排序信息;
选择器,操作来在任意时间点确定发送发布、非发布或完成事务;以及
所述选择器包括优先排序检查电路,操作来查询所述发布信息阵列以确定是否存在比当前非发布/完成事务优先的、来自相同VH的发布队列中的事务。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/034,885 | 2011-02-25 | ||
US13/034,885 US8543754B2 (en) | 2011-02-25 | 2011-02-25 | Low latency precedence ordering in a PCI express multiple root I/O virtualization environment |
PCT/IB2012/050345 WO2012114211A1 (en) | 2011-02-25 | 2012-01-25 | Low latency precedence ordering in a pci express multiple root i/o virtualization environment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103392175A true CN103392175A (zh) | 2013-11-13 |
CN103392175B CN103392175B (zh) | 2016-08-10 |
Family
ID=46719794
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280010315.3A Expired - Fee Related CN103392175B (zh) | 2011-02-25 | 2012-01-25 | Pci快速多根i/o虚拟化环境中的低延迟优先排序 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8543754B2 (zh) |
JP (1) | JP5490336B2 (zh) |
CN (1) | CN103392175B (zh) |
GB (1) | GB2501448B (zh) |
WO (1) | WO2012114211A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107003955A (zh) * | 2014-12-17 | 2017-08-01 | 英特尔公司 | 用于在根复合体中集成设备的方法、装置和系统 |
CN107992287A (zh) * | 2017-12-13 | 2018-05-04 | 中国人民解放军国防科技大学 | 一种系统需求优先级排序结果的检查方法和装置 |
CN108701052A (zh) * | 2016-03-15 | 2018-10-23 | 英特尔公司 | 发送事务而不跟踪的方法、设备和系统 |
CN110389711A (zh) * | 2018-04-20 | 2019-10-29 | 伊姆西Ip控股有限责任公司 | 帮助端点设备实现sr-iov功能的方法、设备和计算机程序产品 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5903801B2 (ja) * | 2011-08-23 | 2016-04-13 | 富士通株式会社 | 通信装置およびid設定方法 |
WO2013095519A1 (en) * | 2011-12-22 | 2013-06-27 | Intel Corporation | Method and apparatus for clock frequency ratio independent error logging |
US8788737B2 (en) * | 2011-12-26 | 2014-07-22 | Qualcomm Technologies, Inc. | Transport of PCI-ordered traffic over independent networks |
CN104954400A (zh) * | 2014-03-27 | 2015-09-30 | 中国电信股份有限公司 | 云计算系统及其实现方法 |
US9842074B2 (en) * | 2015-01-30 | 2017-12-12 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Tag allocation for non-posted commands in a PCIe application layer |
KR102336443B1 (ko) | 2015-02-04 | 2021-12-08 | 삼성전자주식회사 | 가상화 기능을 지원하는 스토리지 장치 및 사용자 장치 |
CN106033399B (zh) * | 2015-03-20 | 2020-05-15 | 中兴通讯股份有限公司 | PCIe设备和PCIe总线的管理方法及装置 |
US10157160B2 (en) * | 2015-06-04 | 2018-12-18 | Intel Corporation | Handling a partition reset in a multi-root system |
US9990327B2 (en) | 2015-06-04 | 2018-06-05 | Intel Corporation | Providing multiple roots in a semiconductor device |
US10176126B1 (en) * | 2015-06-29 | 2019-01-08 | Cadence Design Systems, Inc. | Methods, systems, and computer program product for a PCI implementation handling multiple packets |
WO2018003629A1 (ja) * | 2016-06-28 | 2018-01-04 | 日本電気株式会社 | パケット処理装置、及び、パケット処理方法 |
US10908998B2 (en) * | 2017-08-08 | 2021-02-02 | Toshiba Memory Corporation | Managing function level reset in an IO virtualization-enabled storage device |
US11294715B2 (en) * | 2019-08-28 | 2022-04-05 | Marvell Asia Pte, Ltd. | System and method for queuing work within a virtualized scheduler based on in-unit accounting of in-unit entries |
US11409553B1 (en) | 2019-09-26 | 2022-08-09 | Marvell Asia Pte, Ltd. | System and method for isolating work within a virtualized scheduler using tag-spaces |
KR20230049858A (ko) * | 2021-10-07 | 2023-04-14 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 메모리 컨트롤러의 동작 방법 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101206623A (zh) * | 2006-12-19 | 2008-06-25 | 国际商业机器公司 | 迁移虚拟端点的系统和方法 |
US20090235008A1 (en) * | 2008-03-12 | 2009-09-17 | Venkatesh Deshpande | PCI express multi-root IOV endpoint retry buffer controller |
US20090248973A1 (en) * | 2008-03-26 | 2009-10-01 | Venkatesh Deshpande | System and method for providing address decode and virtual function (VF) migration support in a peripheral component interconnect express (PCIE) multi-root input/output virtualization (IOV) environment |
US20090276773A1 (en) * | 2008-05-05 | 2009-11-05 | International Business Machines Corporation | Multi-Root I/O Virtualization Using Separate Management Facilities of Multiple Logical Partitions |
CN101620514A (zh) * | 2009-08-11 | 2010-01-06 | 成都市华为赛门铁克科技有限公司 | 硬盘存储系统及数据存储方法 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6728790B2 (en) * | 2001-10-15 | 2004-04-27 | Advanced Micro Devices, Inc. | Tagging and arbitration mechanism in an input/output node of a computer system |
US20040019729A1 (en) * | 2002-07-29 | 2004-01-29 | Kelley Richard A. | Buffer management and transaction control for transition bridges |
US6760793B2 (en) * | 2002-07-29 | 2004-07-06 | Isys Technologies, Inc. | Transaction credit control for serial I/O systems |
DE10255937B4 (de) * | 2002-11-29 | 2005-03-17 | Advanced Micro Devices, Inc., Sunnyvale | Ordnungsregelgesteuerte Befehlsspeicherung |
US7266631B2 (en) * | 2004-07-29 | 2007-09-04 | International Business Machines Corporation | Isolation of input/output adapter traffic class/virtual channel and input/output ordering domains |
US7478178B2 (en) | 2005-04-22 | 2009-01-13 | Sun Microsystems, Inc. | Virtualization for device sharing |
US8223745B2 (en) * | 2005-04-22 | 2012-07-17 | Oracle America, Inc. | Adding packet routing information without ECRC recalculation |
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 |
US7487284B2 (en) * | 2006-07-28 | 2009-02-03 | Intel Corporation | Transaction flow and ordering for a packet processing engine, located within an input-output hub |
US7949794B2 (en) * | 2006-11-02 | 2011-05-24 | Intel Corporation | PCI express enhancements and extensions |
US7529860B2 (en) | 2006-12-19 | 2009-05-05 | International Business Machines Corporation | System and method for configuring an endpoint based on specified valid combinations of functions |
US7979592B1 (en) * | 2007-02-09 | 2011-07-12 | Emulex Design And Manufacturing Corporation | Virtualization bridge device |
US7983257B2 (en) | 2008-07-18 | 2011-07-19 | Emulex Design & Manufacturing Corporation | Hardware switch for hypervisors and blade servers |
JP5232602B2 (ja) * | 2008-10-30 | 2013-07-10 | 株式会社日立製作所 | ストレージ装置、及びストレージコントローラ内部ネットワークのデータ経路フェイルオーバー方法 |
US8225005B2 (en) | 2008-12-09 | 2012-07-17 | International Business Machines Corporation | Use of peripheral component interconnect input/output virtualization devices to create high-speed, low-latency interconnect |
US8346997B2 (en) * | 2008-12-11 | 2013-01-01 | International Business Machines Corporation | Use of peripheral component interconnect input/output virtualization devices to create redundant configurations |
US8144582B2 (en) * | 2008-12-30 | 2012-03-27 | International Business Machines Corporation | Differentiating blade destination and traffic types in a multi-root PCIe environment |
US8312187B2 (en) * | 2009-09-18 | 2012-11-13 | Oracle America, Inc. | Input/output device including a mechanism for transaction layer packet processing in multiple processor systems |
US8117350B2 (en) * | 2009-11-03 | 2012-02-14 | Oracle America, Inc. | Configuration space compaction |
US8521941B2 (en) * | 2010-12-28 | 2013-08-27 | Plx Technology, Inc. | Multi-root sharing of single-root input/output virtualization |
-
2011
- 2011-02-25 US US13/034,885 patent/US8543754B2/en not_active Expired - Fee Related
-
2012
- 2012-01-25 GB GB1314846.5A patent/GB2501448B/en active Active
- 2012-01-25 WO PCT/IB2012/050345 patent/WO2012114211A1/en active Application Filing
- 2012-01-25 CN CN201280010315.3A patent/CN103392175B/zh not_active Expired - Fee Related
- 2012-01-25 JP JP2013554955A patent/JP5490336B2/ja not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101206623A (zh) * | 2006-12-19 | 2008-06-25 | 国际商业机器公司 | 迁移虚拟端点的系统和方法 |
US20090235008A1 (en) * | 2008-03-12 | 2009-09-17 | Venkatesh Deshpande | PCI express multi-root IOV endpoint retry buffer controller |
US20090248973A1 (en) * | 2008-03-26 | 2009-10-01 | Venkatesh Deshpande | System and method for providing address decode and virtual function (VF) migration support in a peripheral component interconnect express (PCIE) multi-root input/output virtualization (IOV) environment |
US20090276773A1 (en) * | 2008-05-05 | 2009-11-05 | International Business Machines Corporation | Multi-Root I/O Virtualization Using Separate Management Facilities of Multiple Logical Partitions |
CN101620514A (zh) * | 2009-08-11 | 2010-01-06 | 成都市华为赛门铁克科技有限公司 | 硬盘存储系统及数据存储方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107003955A (zh) * | 2014-12-17 | 2017-08-01 | 英特尔公司 | 用于在根复合体中集成设备的方法、装置和系统 |
CN107003955B (zh) * | 2014-12-17 | 2021-01-15 | 英特尔公司 | 用于在根复合体中集成设备的方法、装置和系统 |
CN108701052A (zh) * | 2016-03-15 | 2018-10-23 | 英特尔公司 | 发送事务而不跟踪的方法、设备和系统 |
CN107992287A (zh) * | 2017-12-13 | 2018-05-04 | 中国人民解放军国防科技大学 | 一种系统需求优先级排序结果的检查方法和装置 |
CN107992287B (zh) * | 2017-12-13 | 2020-10-13 | 中国人民解放军国防科技大学 | 一种系统需求优先级排序结果的检查方法和装置 |
CN110389711A (zh) * | 2018-04-20 | 2019-10-29 | 伊姆西Ip控股有限责任公司 | 帮助端点设备实现sr-iov功能的方法、设备和计算机程序产品 |
CN110389711B (zh) * | 2018-04-20 | 2023-04-04 | 伊姆西Ip控股有限责任公司 | 帮助端点设备实现sr-iov功能的方法、设备和非瞬态计算机可读介质 |
Also Published As
Publication number | Publication date |
---|---|
GB201314846D0 (en) | 2013-10-02 |
GB2501448A (en) | 2013-10-23 |
JP5490336B2 (ja) | 2014-05-14 |
JP2014509427A (ja) | 2014-04-17 |
GB2501448B (en) | 2013-12-18 |
US20120221764A1 (en) | 2012-08-30 |
CN103392175B (zh) | 2016-08-10 |
US8543754B2 (en) | 2013-09-24 |
WO2012114211A1 (en) | 2012-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103392175A (zh) | Pci快速多根i/o虚拟化环境中的低延迟优先排序 | |
US8144582B2 (en) | Differentiating blade destination and traffic types in a multi-root PCIe environment | |
US7913024B2 (en) | Differentiating traffic types in a multi-root PCI express environment | |
CN104426814B (zh) | Numa节点外围交换机 | |
JP4931787B2 (ja) | データ処理システム内で第1のホスト・システムと第2のホスト・システムとの間で通信するための方法、プログラム、およびシステム(トランザクション・プロトコルおよび共用メモリを使用するホスト・システム間の通信のためのシステムおよび方法) | |
JP5763873B2 (ja) | データ処理システムの複数のルート複合体間の通信のために共用メモリを初期設定するための方法、コンピュータ・プログラム、およびデータ処理システム | |
JP5362980B2 (ja) | データ処理システム内で第1のホスト・システムと第2のホスト・システムとの間で通信するための方法、プログラム、およびシステム(ソケット接続および共用メモリを使用するホスト・システム間の通信のためのシステムおよび方法) | |
CN107995129B (zh) | 一种nfv报文转发方法和装置 | |
EP2406723B1 (en) | Scalable interface for connecting multiple computer systems which performs parallel mpi header matching | |
US7953074B2 (en) | Apparatus and method for port polarity initialization in a shared I/O device | |
EP1851626B1 (en) | Modification of virtual adapter resources in a logically partitioned data processing system | |
JP5601601B2 (ja) | 通信制御システム、スイッチノード、及び通信制御方法 | |
US7917658B2 (en) | Switching apparatus and method for link initialization in a shared I/O environment | |
US7698483B2 (en) | Switching apparatus and method for link initialization in a shared I/O environment | |
US8316377B2 (en) | Sharing legacy devices in a multi-host environment | |
US20060195848A1 (en) | System and method of virtual resource modification on a physical adapter that supports virtual resources | |
EP1591908A1 (en) | Separating transactions into different virtual channels | |
US20070098012A1 (en) | Method and apparatus for shared i/o in a load/store fabric | |
JP2008152786A (ja) | データ処理システム内で1つまたは複数のエンドポイントの第1の物理機能から第2の物理機能に仮想機能を移行するための方法、プログラム、およびシステム(単一ルート・ステートレス仮想機能の移行のためのシステムおよび方法) | |
JP2008152787A (ja) | データ処理システム内で実行中の通信ファブリックにコンポーネントをホット・プラグするための方法、プログラム、およびシステム(実行中のPCIeファブリックにおける新しいコンポーネントのホット・プラグ/除去のためのシステムおよび方法) | |
KR20160031494A (ko) | 캡슐화 가능한 pcie 가상화 | |
CN101889263B (zh) | 控制路径i/o虚拟化 | |
CN101311915A (zh) | 用于动态重分派虚拟通道资源的方法和系统 | |
US8589610B2 (en) | Method and system for receiving commands using a scoreboard on an infiniband host channel adaptor | |
KR102518287B1 (ko) | PCIe 인터페이스 장치 및 그 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160810 |