用于IOV适配器管理的系统和方法技术方案

技术编号:2914258 阅读:305 留言:0更新日期:2012-04-11 18:40
一种系统和方法,其提供了用于I/O虚拟化管理分区(IMP)的机制,以便在将多个虚拟功能(VF)分配给客户分区直接用于普通的I/O操作的同时,通过I/O适配器(IOA)的物理功能(PF)而控制支持I/O虚拟化(IOV)的IOA的共享的功能。系统管理器向运行在IMP和客户分区中的代码提供了设备无关的便利。IMP可包括设备专用代码,而无须系统管理器牺牲其大小、鲁棒性和可升级性。系统管理器提供了虚拟中介功能,用于共享和控制IOA的控制功能。

【技术实现步骤摘要】

本专利技术大体上涉及改进的数据处理系统和方法。更具体地,本专利技术旨在用于通过在系统管理器(hypervisor)中的虚拟中介以及通过在输入/输出虚拟化(IOV)管理分区中的管理程序而管理输入/输出虚拟化(IOV)适配器的系统和方法,所述输入/输出虚拟化(IOV)适配器诸如外围组件互连(PCI)IOV适配器。
技术介绍
大多数现代计算设备使用利用了最初由Intel在20世纪90年代所创造的外围组件互连标准的一些版本或实现的输入/输出(I/O)适配器和总线。外围组件互连(PCI)标准规定用于将外围设备附加到计算机主板上的计算机总线。PCI Express或PCIe是使用已有的PCI编程概念的PCI计算机总线的实现,但是使计算机总线基于完全不同而且更快速的串行物理层通信协议。该物理层不是由可在多个设备之间共享的双向总线构成,而是由恰好连接两个设备的单一单向链路构成。图1是示出了结合有根据PCI Express(PCIe)规范的PCI Express(PCIe)架构(fabric)拓扑的系统的示例性示图。如图1所示,系统100包括耦合到根联合体(root complex)130的主处理器(CPU)110和存储器120,根联合体130接着耦合到一个或多个PCIe端点140(在PCIe规范中,使用术语“端点”来指代支持PCIe的I/O适配器)、PCI Express-PCI桥150以及一个或多个互连交换机160。根联合体130表示将CPU/存储器连接到I/O适配器的I/O层级的根。根联合体130包括主桥(host bridge)、零个或更多根联合体集成端点、零个或多个根联合体事件收集器以及一个或多个根端口。每个-->根端口支持单独的I/O层级。I/O层级可包括根联合体130、零个或更多互连交换机160和/或桥150(其包括交换器或PCIe架构)以及诸如端点140、170和182-188的一个或多个端点。关于PCI和PCIe的更多信息,参见在www.pcisig.com的外围组件互连特别兴趣组(PCI-SIG)的网站上可获得的PCI和PCIe规范。除了PCI和PCIe规范,PCI-SIG也已经定义了用于如何设计可由若干逻辑分区(LPAR)共享的I/O适配器(IOA)的输入/输出虚拟化(IOV)标准。LPAR是将计算机的处理器、存储器和存储设备划分为多个资源组,这样可将每个资源组由其自身的操作系统实例和应用独立地操作。可创建的逻辑分区的数量依赖于系统的处理器模型和可用的资源。典型地,将分区用于诸如数据库操作、客户/服务器操作的不同目的、以便隔离测试环境和生产环境等。每个分区能够与其他分区通信,如同其他分区位于单独的机器上。在支持多个LPAR的现代系统中,可在LPAR之间共享一些资源。如上文所提到的,在PCI和PCIe规范中,一种可共享的此类资源是使用I/O虚拟化机制的I/O适配器。虽然PCI-SIG提供了用于定义如何设计可由若干LPAR共享的IOA的标准,但是此规范没有定义如何将IOA连接到主系统。而且,该标准没有规定如何管理利用了I/O虚拟化的IOA的共享的功能。这是由于PCI-SIG规范所关注的是建立用于在根联合体之下的PCIe架构的操作的标准。换句话说,PCI-SIG没有提供对用于根联合体以及其上的标准的任何定义,这是因为,将根联合体以及其上考虑作系统室(system houses)的领域。即,例如Intel平台、IBM 平台和Sparc平台的每个可具有在PCI-SIG标准中未列出的不同的系统实现需求。
技术实现思路
说明性的实施例提供了用于使用在IOV管理分区中的功能管理,通过在系统管理器中的虚拟中介而管理输入/输出虚拟化(IOV)-->适配器的系统和方法。说明性的实施例的机制试图解决这样的情况,其中由多于一个的逻辑分区(LPAR)共享输入/输出(I/O)架构,以及其中每个LPAR能够潜在地与其他多个LPAR共享I/O适配器(IOA)。所示出的实施例定义了一种机制,用于在I/O虚拟化管理分区(IMP)中,当将多个虚拟功能(VF)直接分配给用于常规I/O操作的客户分区时,通过物理功能(PF)而使一个LPAR来控制支持I/O虚拟化的IOA的共享功能。特别地,利用说明性的实施例的机制,向每个LPAR分配其自身的单独的地址空间来访问分配给它的虚拟功能(VF),以及直接接收来自被分配给它的VF的中断,使得每个LPAR的感知在于,为了常规的I/O操作的目的,其具有其自身的独立的IOA。可在多个LPAR间共享诸如PCI Express(PCIe)I/O虚拟(IOV)适配器的IOA的每个VF。通过将PF分配给I/O虚拟化管理分区(IMP),经由IOV适配器的物理功能(PF),说明性的实施例的机制提供了管理IOV适配器的共享资源的便利。此外,为了访问公共VF功能(例如,对于网络适配器而言,用于VF的网络地址)的目的,IMP表现为到PF的接口,此处将其称为适配器南侧管理。系统管理器向运行于IMP中的代码提供了独立于IOV的便利。IMP可包括设备专用的代码,而无需系统管理器牺牲其大小、鲁棒性和可升级性。系统管理器提供了虚拟中介功能,用于共享和控制IOV适配器的控制功能。更特别地,运行于系统管理器中的代码为了充分地管理VF错误处理、VF复位和配置操作的目的而向多个VF充当虚拟中介(VI)。在一个说明性的实施例中,提供了一种用于管理输入/输出(I/O)虚拟化的方法。该方法可包括在数据处理系统中创建一个或多个客户分区,每个客户分区具有数据处理系统的资源的相关部分,并对与数据处理系统相关联的一个或多个I/O端点来执行I/O虚拟化管理操作。I/O虚拟化管理操作可操作以配置一个或多个I/O端点的至少一个物理功能或虚拟功能。该方法可进一步包括使用与I/O虚拟化管-->理分区(IMP)相分离的虚拟中介来控制I/O虚拟化管理操作对一个或多个I/O端点的资源的访问。虚拟中介可防止客户分区访问未被分配给该客户分区的一个或多个I/O端点的资源。该方法进一步包括在数据处理系统中创建I/O虚拟化管理分区(IMP)。IMP可对与数据处理系统相关联的一个或多个I/O端点来执行I/O虚拟化管理操作,借以管理一个或多个I/O端点的至少一个物理功能。不允许一个或多个客户分区来执行在至少一个物理功能之上的I/O虚拟化管理操作。可由虚拟中介执行创建一个或多个客户分区以及创建IMP。此虚拟中介可以是与数据处理系统相关联的系统管理器。可向系统管理器提供对用于在一个或多个I/O端点中的多个物理功能和多个虚拟功能的配置空间的访问。可向IMP提供仅对用于在一个或多个I/O端点中的被分配给IMP的多个物理功能的配置空间,以及属于被分配给IMP的多个物理功能的多个虚拟功能的配置空间的访问。系统管理器可允许由客户分区来访问在一个或多个I/O端点中被分配给客户分区的多个虚拟功能的配置空间,以及可阻止由客户分区访问在一个或多个I/O端点中的被分配给客户分区的多个虚拟功能的配置空间。该方法进一步包括从硬件管理控制台(HMC)接收输入,所述硬件管理控制台(HMC)指引I/O虚拟化管理操作的执行。本文档来自技高网
...

【技术保护点】
一种用于在数据处理系统中管理输入/输出(I/O)虚拟化的方法,包括: 在所述数据处理系统中创建一个或多个客户分区,每个客户分区具有所述数据处理系统的资源的相关联的部分; 对与所述数据处理系统相关联的一个或多个I/O端点执行I/O 虚拟化管理操作,其中所述I/O虚拟化管理操作运行以配置所述一个或多个I/O端点的至少一个物理功能或虚拟功能;以及 使用与所述I/O虚拟化管理分区(IMP)相分离的虚拟中介来控制所述I/O虚拟化管理操作对所述一个或多个I/O端点的资源的 访问,其中所述虚拟中介防止客户分区访问未被分配给所述客户分区的所述一个或多个I/O端点的资源。

【技术特征摘要】
US 2007-11-15 11/940,3571.一种用于在数据处理系统中管理输入/输出(I/O)虚拟化的方法,包括:在所述数据处理系统中创建一个或多个客户分区,每个客户分区具有所述数据处理系统的资源的相关联的部分;对与所述数据处理系统相关联的一个或多个I/O端点执行I/O虚拟化管理操作,其中所述I/O虚拟化管理操作运行以配置所述一个或多个I/O端点的至少一个物理功能或虚拟功能;以及使用与所述I/O虚拟化管理分区(IMP)相分离的虚拟中介来控制所述I/O虚拟化管理操作对所述一个或多个I/O端点的资源的访问,其中所述虚拟中介防止客户分区访问未被分配给所述客户分区的所述一个或多个I/O端点的资源。2.根据权利要求1所述的方法,进一步包括:在所述数据处理系统中创建I/O虚拟化管理分区(IMP),其中所述IMP对与所述数据处理系统相关联的一个或多个I/O端点执行I/O虚拟化管理操作,借以管理所述一个或多个I/O端点的至少一个物理功能,以及其中,不允许所述一个或多个客户分区来对所述至少一个物理功能执行I/O虚拟化管理操作。3.根据权利要求1所述的方法,其中由所述虚拟中介执行创建一个或多个客户分区以及创建所述IMP,以及其中,所述虚拟中介是与所述数据处理系统相关联的系统管理器。4.根据权利要求3所述的方法,其中向系统管理器提供对用于在所述一个或多个I/O端点中的物理功能和虚拟功能的配置空间的访问,以及其中,向IMP仅提供对在所述一个或多个I/O端点中用于被分配给所述IMP的物理功能的配置空间和在所述一个或多个I/O端点中用于属于被分配给所述IMP的物理功能的虚拟功能的配置空间的访问。5.根据权利要求4所述的方法,其中所述系统管理器允许由客户分区来访问在所述一个或多个I/O端点中被分配给所述客户分区的虚拟功能的配置空间,以及阻止由所述客户分区访问在所述一个或多个I/O端点中的没有被分配给所述客户分区的虚拟功能的配置空间。6.根据权利要求2所述的方法,进一步包括:从硬件管理控制台(HMC)接收输入,所述硬件管理控制台(HMC)指引所述I/O虚拟化管理操作的执行。7.根据权利要求6所述的方法,其中来自所述HMC的输入是发起用于将新的I/O端点添加到所述数据处理系统的热插式操作的命令,以及其中执行所述I/O虚拟化管理操作包括:基于对所述新的I/O端点的添加,向所述一个或多个客户分区分派资源;基于对所述新的I/O端点的所述添加,配置所述IMP;以及向在所述一个或多个客户分区中的至少一个客户分区动态地添加所述新的I/O端点的至少一个虚拟功能。8.根据权利要求6所述的方法,其中来自所述HMC的所述输入是发起用于从所述数据处理系统中移除已有的I/O端点的热插式操作的命令,以及其中执行所述I/O虚拟化管理操作包括:在具有与将被移除的所述I/O端点的虚拟功能相关联的资源的所述一个或多个客户分区中标识至少一个客户分区;从由所述至少一个客户分区的使用中移除所述虚拟功能和与所述虚拟功能相关联的资源;从由所述IMP的使用中,移除物理功能以及与所述物理功能相关联的资源;以及使将被移除的I/O端点断电。9.根据权利要求6所述的方法,其中来自所述HMC的所述输入是动态地重新配置所述数据处理系统的命令,以及其中执行所述I/O虚拟化管理操作包括:接收对要向所述一个或多个客户分区中的所选择的客户分区添加的I/O端点的虚拟功能的选择;设置用于在所述所选择的客户分区中的所选择的虚拟功能的资源;以及加载用于在所述所选择的客户分区中的所述所选择的虚拟功能的设备驱动。10.根据权利要求6所述的方法,其中来自所述HMC的所述输入是动态地重新配置所述数据处理系统的命令,以及其中执行所述I/O虚拟化管理操作包括:接收对将要从所述一个或多个客户分区中的所选择的客户分区移除的I/O端点的虚拟功能的选择;从由所述所选择的客户分区的进一步使用中,移除所述所选择的虚拟功能;以及移除用于在所述所选择客户分区中的所选择的虚拟功能的资源。11.根据权利要求6所述的方法,其中来自所述HMC的所述输入是改变与I/O端点的所选择的虚拟功能相关联的网络地址的命令,以及其中执行所述I/O虚拟化管理操作包括:标识与所述所选择的虚拟功能相关联的物理功能;向所述IMP发送管理请求,其中所述管理请求包括用于改变所述所选择的虚拟功能的所述网络地址的地址信息;以及基于在所述管理请求中的所述地址信息,经由与所述物理功能相关联的设备驱动,改变所述所选择的虚拟功能的所述网络地址。12.根据权利要求1所述的方法,其中执行所述I/O虚拟化管理操作包括:在所述虚拟中介中,接收来自在所述一个或多个客户分区的客户分区中的设备驱动的查询虚拟功能错误状态固件调用;从所述虚拟中介中,向所述设备驱动提供标识了I/O端点的虚拟功能的错误状态的错误信息;由所述设备驱动登记从所述虚拟中介接收的所述错误信息;向所述数据处理系统的固件发送来自所述设备驱动的复位虚拟功能的请求,来使具有所述错误状态的所述虚拟功能复位;以及在复位后,配置所述虚拟功能。13.根据权利要求1所述的方法,其中执行所述I...

【专利技术属性】
技术研发人员:AC布朗DM弗赖穆斯JA帕夫米RJ雷西奥SM瑟伯
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

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

1