CN104021047B - 虚拟功能分配***、方法及其管理主机 - Google Patents

虚拟功能分配***、方法及其管理主机 Download PDF

Info

Publication number
CN104021047B
CN104021047B CN201410282533.3A CN201410282533A CN104021047B CN 104021047 B CN104021047 B CN 104021047B CN 201410282533 A CN201410282533 A CN 201410282533A CN 104021047 B CN104021047 B CN 104021047B
Authority
CN
China
Prior art keywords
virtual
main frame
virtual functions
comparisons
bridge
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.)
Active
Application number
CN201410282533.3A
Other languages
English (en)
Other versions
CN104021047A (zh
Inventor
何宽瑞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Via Technologies Inc
Original Assignee
Via Technologies Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Via Technologies Inc filed Critical Via Technologies Inc
Publication of CN104021047A publication Critical patent/CN104021047A/zh
Application granted granted Critical
Publication of CN104021047B publication Critical patent/CN104021047B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

一种虚拟功能分配***、方法及其管理主机,此***的管理主机通过桥接器连接至计算主机,且管理主机具备至少一个虚拟功能。管理主机的管理处理器依据虚拟功能建立请求更新对照表,以将虚拟功能分配给计算主机。其中,管理处理器依据对照表决定是否建立虚拟功能。管理处理器依据分配结果经由交换器传送热插拔事件至对应的计算主机,且将虚拟功能连接至对应的计算主机,以使得管理处理器能够动态地调整虚拟功能的配置。本发明可迅速地且动态地调整对于虚拟功能的连接配置,达到硬件资源的最大分配效益。

Description

虚拟功能分配***、方法及其管理主机
技术领域
本发明是有关于一种计算机***的虚拟化技术,且特别是有关于一种可动态分配虚拟功能的虚拟功能分配***、方法及其管理主机。
背景技术
计算机***(如,桌上型计算机或笔记型计算机)皆需要通过总线(bus)来与***设备(Peripheral Component)传输数据。随着串行通信(Serial communication)技术的快速发展,且由于***组件互连快递(Peripheral Component Interconnection Express;PCIE)的高传输速率,***组件互连快递已逐渐取代***组件互连(peripheral componentinterconnection;PCI),而成为新一代的***设备传输接口。
近年来,随着因特网(internet)的快速发展,使用者对于信息服务的需求越来越高,服务器的负担亦越来越大。因此,为了降低成本及有效利用资源,服务器虚拟化的技术亦逐渐成为发展的趋势。而在***组件互连快递的规格中,单根输入输出虚拟化(SingleRoot I/O Virtualization;SR-IOV)即是服务器虚拟化的有效解决方案之一。单根输入输出虚拟化技术可以让实体主机(例如:计算主机(computer host))分配多个虚拟功能(virtual function;VF)给不同虚拟机器(virtual machine),然而,单根输入输出虚拟化技术有仅能支持单一实体主机的限制。换言之,单一实体主机中的多个虚拟机器可以同时使用上述虚拟功能,但是上述虚拟功能不能同时分配给多个实体主机中的虚拟机器使用。相对而言,多根输入输出虚拟化(Multi-Root I/O Virtualization;MR-IOV)技术可以将硬件资源以虚拟化技术来支持多个实体主机。但是,符合SR-IOV技术的设备无法完全相容于符合MR-IOV技术的服务器架构,导致符合SR-IOV技术的设备的实用度降低。因此,有必要提供一种有效分配虚拟功能的技术。
发明内容
本发明提供一种虚拟功能分配***、方法及其管理主机,其可有效分配虚拟功能(virtual function;VF)给多台主机。
本发明提出一种虚拟功能分配***,此***包括计算主机及管理主机。管理主机通过桥接器连接至计算主机,管理主机具备虚拟功能,且管理主机依据虚拟功能请求更新对照表,以将虚拟功能分配给计算主机。其中,管理主机依据对照表决定是否建立虚拟功能,管理主机依据分配结果传送热插拔(hot-plug)事件至对应的计算主机,且将虚拟功能连接至对应的计算主机,以使得管理主机能够动态地调整虚拟功能的配置。
另一观点而言,本发明提出一种虚拟功能分配方法,此方法包括下列步骤:依据虚拟功能建立请求更新对照表,以将虚拟功能分配给计算主机;依据对照表决定是否建立虚拟功能;依据分配结果传送热插拔事件至对应的计算主机;以及将虚拟功能连接至对应的计算主机,以动态地调整虚拟功能的配置。
另一观点而言,本发明提出一种管理主机,此管理主机包括交换器(switch)、输入输出虚拟化装置及管理处理器。此交换器包括桥接器,其中桥接器分别耦接至对应的计算主机。而输入输出虚拟化装置耦接交换器,且具备虚拟功能。管理处理器耦接交换器,且依据虚拟功能建立请求更新对照表,以将虚拟功能分配给计算主机。其中,管理处理器依据对照表决定是否建立虚拟功能,管理处理器依据分配结果通过交换器传送热插拔事件至对应的计算主机,且将虚拟功能经由交换器连接至对应的计算主机,以使得管理处理器能够动态地调整虚拟功能的配置。
基于上述,本发明实施例所述的虚拟功能分配***通过管理处理器、输入输出虚拟化装置以及对照表来分配虚拟功能给计算主机。上述虚拟桥接器在模拟时已具备热插拔功能。此虚拟桥接器可额外连接其他的虚拟功能,并利用热插拔功能中所设定的热插拔事件向被分配到此虚拟功能的计算主机告知其虚拟功能的连接情况。借此,虚拟功能分配***可迅速地且动态地调整对于这些虚拟功能的连接配置,达到硬件资源的最大分配效益。
附图说明
图1是依据本发明一实施例说明一种虚拟功能分配***的方块图。
图2是依据本发明一实施例说明管理主机的范例。
图3A及图3B是依据本发明一实施例说明一种虚拟功能分配方法的范例。
图4A至图4C是依据本发明一实施例说明一种虚拟功能分配方法的范例。
图5A及图5B是依据本发明另一实施例说明一种虚拟功能分配方法的范例。
图6为依据本发明一实施例的虚拟功能分配方法的流程图。
附图中符号的简单说明如下:
100:虚拟功能分配***
110、115、291:计算主机
110a、115a:根端口
130:管理主机
131、270:输入输出虚拟化装置
131a、131b:虚拟功能
135、210:管理处理器
137、250:交换器
138、139、290:桥接器
138b、139b:状态暂存器
138a~138c:虚拟桥接器
220:根复合器
S310~S370:步骤。
具体实施方式
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。
为了有效分配虚拟功能(virtual function;VF)给多台计算主机,并且可以动态地扩充虚拟功能,本发明实施例提出一种虚拟功能分配***、方法及其管理主机。通过配置于管理主机中的一桥接器,通知计算主机发生热插拔事件。接着,计算主机基于此热插拔事件发出组态(configuration)指令(例如:读取(read)指令),并再次通过桥接器,使管理主机中的管理处理器依据对照表(Mapping Table)将输入输出虚拟化装置的虚拟功能分配给计算主机。除此之外,在本发明中还可利用软件模拟方式建立支持热插拔功能的虚拟桥接器(pseudo bridge),而使此虚拟桥接器可依照使用者需求再连结其他的虚拟功能,进而可弹性地扩充虚拟功能。因此,通过本发明便能动态地且有效地分配虚拟功能,且进而将单根输入输出虚拟化装置(Single Root I/O Virtualization;SR-IOV)中的虚拟功能分配给多台计算主机,以达成硬件资源的最大分配效益。
图1是依据本发明一实施例说明一种虚拟功能分配***的方块图。请参照图1,虚拟功能分配***100包括计算主机110、115以及管理主机130。
计算主机110及115可以是桌上型(desktop)计算机、笔记型计算机(laptop)等具备中央处理单元(Central Processing Unit;CPU)或是其他可程序化的一般用途或特殊用途的微处理器(Microprocessor)、数字信号处理器(Digital Signal Processor;DSP)、可程序化控制器、专用集成电路(Application Specific Integrated Circuit;ASIC)的电子装置。值得注意的是,在本实施例中,计算主机110及115还包括如同南桥(south bridge)晶片(chipset)、北桥(north bridge)晶片等可处理计算主机110及115中各元件/设备的传输信号的晶片。
在本实施例中,计算主机110、115及管理主机130支持***组件互连快递(Peripheral Component Interconnection Express;PCIe)规格,计算主机110、115及管理主机130之间可通过缆线(cable)搭配PCIe连接器(connector)、或是将计算主机110、115的PCIe连接器***管理主机130中的PCIe插槽(slot)来进行电性连接、通讯、检测及存取。然而,本发明实施例对于计算主机110、115及管理主机130之间的耦接方式并不受限于此,而视应用本实施例者所采用的传输接口而定。
在本实施例中,管理主机130包括输入输出虚拟化装置131、管理处理器135及交换器137。输入输出虚拟化装置131可以是支持单根输入输出虚拟化技术的网络转接卡(network adapter)等设备。一般而言,支持单根输入输出虚拟化技术的输入输出虚拟化装置131可包括一或多个PCIe实体功能(physical function;PF),且各个实体功能可对应至少一个虚拟功能(virtual function;VF),其中虚拟功能可提供虚拟机器(virtualmachine)使用,而一实体功能例如对应64个虚拟功能。虽然单根输入输出虚拟化技术能使多台虚拟机器使用输入输出虚拟化装置131的虚拟功能,但是其仅能支持单一计算主机(例如:计算主机110或115其中之一)。因此,为了解决单根输入输出虚拟化技术的限制,管理主机130可利用一非透明桥接器(Non-Transparent Bridge;NTB),并依据预设的一对照表将输入输出虚拟化装置131的虚拟功能分配给计算主机110及115,使得输入输出虚拟化装置131可以同时被计算主机110及115使用。然而,上述的非透明桥接器及对照表虽然解决了单一计算主机的使用限制,但非透明桥接器却无法提供弹性地扩充虚拟功能。换言之,若使用者的需求改变,例如,使用者通过热插拔功能而将网络转接卡***至非透明桥接器,而想要在计算主机中额外使用此网络转接卡所提供的虚拟功能时,则会因为预设的对照表没有相关信息,而无法使用此虚拟功能。因此,本发明利用触发热插拔事件以及以软件模拟来建立支持热插拔功能的虚拟桥接器,以使得管理主机130能够动态地分配虚拟功能。
请继续参照图1,管理处理器135可以是中央处理单元,或是其他可程序化的一般用途或特殊用途的微处理器、数字信号处理器、可程序化控制器、专用集成电路或其他类似元件或上述元件的组合。在本实施例中,管理处理器135用以处理本实施例的管理主机130的所有作业。此外,管理处理器135可得知管理主机130中可用的虚拟功能及其数量,且管理处理器135亦可得知可用的计算主机及其数量。在本实施例中,以两个计算主机110、115为范例,然不以此为限。管理处理器135可依据计算主机110、115及虚拟功能的能力(例如,运算速度、存储器大小等)或上层软件传送的建立虚拟机器要求建立对照表,进而依据对照表将虚拟功能分配给计算主机110、115。其中,对照表包括计算主机110、115所对应的各虚拟功能的PCI组态空间地址(PCI Configuration Space Address),例如:总线/装置/功能(Bus/Device/Function)的地址。
交换器137可以是PCIe交换器(switch)、或是其他支持PCIe规格的交换器。交换器137包括桥接器138及139。由计算主机110、115的观点而言,桥接器138及139可视为是***组件互连至***组件互连(PCI-to-PCI;P2P)桥接器;由管理处理器135观点而言,桥接器138及13可视为是非透明桥接器(NTB)。桥接器138、139的两端因分别连接计算主机110、115及管理主机131,因此具有各自的PCI域(domain),进而需通过上述的对照表进行此二个PCI域的地址转换(address translation)。另外,桥接器138及139例如是分别耦接至对应的计算主机110及115的根端口(Root Port)110a及115a,且上述的桥接器138及139可为实体桥接器(Physical Bridge),其具有总线/装置/功能(Bus/Device/Function)的地址。除此之外,为了能够回应使用者对于虚拟功能的改变需求,在一实施例中,桥接器138、139还可分别配置热插拔事件的状态暂存器(Status Register of Hot-Plug Event)138b、139b。当管理处理器135得知使用者需求发生改变时,可将相关信息写入至状态暂存器138b、139b,并且计算主机110、115依序针对对应的状态暂存器138b、139b进行轮询(Polling),使对应的计算主机110、115知道发生热插拔事件。在另一实施例中,桥接器138、139还可配置输入脚位来接收管理处理器135所发出的、有关于使用者需求改变的信息。并且,桥接器138、139可配置输出脚位(例如:GPIO脚位),以通知对应的计算主机110、115发生热插拔事件。在又一实施例中,管理处理器135可发出特定格式的信息(例如是,PCIe交换层封包(transactionlayer packet;TLP))给桥接器138、139,并接着由桥接器138、139发出中断(Interrupt)信息以通知对应的计算主机110、115发生热插拔事件。
图2是依据本发明一实施例说明图1的管理主机130的范例。在本实施例中,管理主机130中的管理处理器210经由根复合器(root complex device)220来控制PCIe交换器250。PCIe交换器250连接单根输入输出虚拟化装置270及多个桥接器290,而桥接器290可连接对应的计算主机291。由计算主机291的观点而言,桥接器290可视为***组件互连至***组件互连(P2P)桥接器,而由管理处理器135观点来说可将桥接器290视为是非透明桥接器(NTB)。在本实施例中,管理处理器210可视为是图1的管理处理器135的一种实施方式。在本实施例中,PCIe交换器250可视为图1的交换器137的一种实施方式。单根输入输出虚拟化装置270可视为图1的输入输出虚拟化装置131的一种实施方式。桥接器290可视为图1的桥接器138、139的一种实施方式。计算主机291可视为图1的桥接器110、115的一种实施方式。此外,根复合器220可视为图1的管理处理器135的一部分或是交换器137的一部分。
以下将以三个实施例说明本发明如何弹性地扩充虚拟功能,其中这些实施例中,仅以连接一个计算主机做为例子,然这些实施例仅为本发明的实施方式的说明,应用本实施例者可将这些实施例进行适度地结合与应用,因此下述实施例并非用以限定本发明。
管理主机130的管理处理器135依据虚拟功能建立请求更新对照表,以将部分或全部的虚拟功能连接至对应的桥接器(例如,图1的桥接器138、139及图2的桥接器290),以下将举实施例说明虚拟功能及虚拟桥接器的连接配置。图3A及图3B是依据本发明一实施例说明一种虚拟功能分配方法的范例。请同时参照图1与图3A,桥接器138连接一计算主机110,此桥接器138可支持热插拔功能。在此,桥接器138可支持热插拔功能是指桥接器138可接收及发出特定的信息、或是具有特定的输出及输入接脚、或是具有热插拔事件的状态处理器,以通知计算主机110是否发生热插拔事件。
表(1)
此外,请参照表(1),表(1)为对应于图3A的状态的对照表,表(1)的对照表中的栏位是有关于计算主机编号CH、计算主机端的虚拟功能地址CN-B/D/F以及管理主机端的虚拟功能地址M-B/D/F为“N/A”,状态信息EN的预设值为0。计算主机端及管理主机端的虚拟功能地址B/D/F是指总线/装置/功能(Bus/Device/Function)的PCIe虚拟功能地址,状态信息EN为0表示禁能(disable),状态信息EN为1则表示致能(enable)。换言之,以图3A以及表(1)而言,桥接器138目前未与装置的虚拟功能连接,计算主机110也无法使用虚拟功能。因此,若计算主机110此时发出包含计算主机端的虚拟功能地址B/D/F地址(例如:X1/Y1/Z1)的组态(configuration)指令(例如:读取(read)指令),因对照表中无相关信息,则管理主机130中的软件会认为指令无效(Miss),并且通过桥接器138及管理处理器135会回复“不支持”的信息给计算主机。值得注意的是,在已知的技术中,若***启动时,桥接器未与虚拟功能连接,且此桥接器不支持热插拔功能,则使用者无法使桥接器再次连接虚拟功能。然而,本发明通过可支持热插拔功能的桥接器138,来解决上述的问题,下述实施例将详细描述桥接器138的相应操作。
请参照图1与图3B,当使用者需求改变,例如:使用者欲使用尚未建立连结装置的一个或多个虚拟功能,则管理处理器135会得知虚拟功能建立请求(即,使用者的需求),并依据虚拟功能建立请求更动对照表的内容。举例来说,若使用者欲于计算主机110使用某一装置的一虚拟功能,例如:请参照表(2),表(2)为对应于图3B的状态的对照表,表(2)的对照表中的计算主机110编号为1,而此虚拟功能的B/D/F地址为X1/Y1/Z1,则管理处理器135会对应更新对照表中的管理主机端的M-B/D/F地址,例如为:X2/Y2/Z2,并使状态信息EN更动为1。此时,除了上述对照表更新之外,因为本发明的桥接器138支持热插拔功能,故通过桥接器138中的状态暂存器、或是接收特定信息、或是通过特定输入脚位的信号可以得知使用者的需求改变。接着在对照表更新后,通过计算主机110的轮询、或是发出中断信息、或是通过特定脚位的输出脚位,使计算主机110得知发生热插拔事件,以将被分配的虚拟功能131a连接至对应的计算主机110,其中虚拟功能131a是由输出虚拟化装置131所提供。然后,计算主机110会扫瞄桥接器所对应的PCIe总线,并发出包含计算主机端的虚拟功能地址B/D/F地址(例如:X1/Y1/Z1)的组态(configuration)指令给管理主机130,接着管理处理器135比对接收的组态指令与对照表的内容,若组态指令与对照表的内容符合,且对照表中的状态信息为致能,则管理处理器135通过交换器137将虚拟功能131a的信息回复给计算主机110,而完成虚拟功能131a的连接。
表(2)
详细而言,当桥接器138收到组态指令(例如:包含X1/Y1/Z1的B/D/F地址)时,会将此指令传递给管理处理器135,此时管理处理器135的软件(例如,作业***、应用程序及控制程序等)会将此指令与对照表中的信息进行比对,确认是否符合(Hit)。若符合且EN=1,则计算主机端的B/D/F地址将转换成管理主机端的B/D/F地址,例如:X1/Y1/Z1的CH-B/D/F地址转换为X2/Y2/Z2的M-B/D/F地址,此时是由管理主机端的软件代理去产生包含X2/Y2/Z2的B/D/F地址的组态指令,而至对应的地址而得到虚拟功能的相关数据(Data)。接着,管理处理器135再将与虚拟功能131a的相关数据写入桥接器138,并通知计算主机110此组态指令完成。因此,通过上述的方式,可以动态地连接虚拟功能131a。
值得一提的是,当使用者需求改变,在一实施例中,管理处理器135会基于管理主机130的管理软件的通知,将相关信息写入位于桥接器138中的暂存器。在另一实施例中,管理处理器135传送例如PCIe交换层封包(transaction layer packet;TLP)至桥接器138。再一实施例中,管理处理器135触发(assert)连接至桥接器138的脚位(pin)。然而,管理处理器135通知桥接器的方法不仅限于此,本领域技术人员可依实际情形利用不同方式告知桥接器138。当桥接器138接收到通知后,管理处理器135通过交换器137将对应于不同虚拟功能的热插拔事件传送至计算主机110。在一实施例中,热插拔事件为中断(interrupt)信息(例如,信息信号式中断(Message Signaled Interrupt;MSI)、INTx)。在另一实施例中,热插拔事件为经由计算主机110轮询(polling)状态暂存器的位(status register bit)。例如,计算主机110传送轮询指令至交换器137,交换器137读取此轮询指令而判断对应的桥接器138,以读取状态暂存器138b中的特定位。再一实施例中,热插拔事件为管理处理器135通过触发对应的计算主机110的脚位。例如,管理处理器135触发连接至计算主机110的桥接器138的通用输入输出(General Purpose Input/Output;GPIO)脚位来通知计算主机110的GPIO脚位。然而,热插拔事件不仅限于上述范例,本领域技术人员可依实际情形调整热插拔事件以通知计算主机110。
管理处理器135依据该更新表串连虚拟桥接器,以建立成M层的虚拟桥接器,M为正整数,其中各虚拟桥接器连接部分或全部的虚拟功能,以下将举另一实施例说明虚拟功能及虚拟桥接器的连接配置。图4A至图4C是依据本发明一实施例说明一种虚拟功能分配方法的范例。请同时参照图1与图4A,其中图4A的桥接器138、计算主机110与图3A相似,且图4A的对照表与表(1)相似,于此不再赘述。
请接着参考图4B,在图4B中,使用者的需求改变,管理处理器135依据虚拟功能建立请求(即,使用者的需求),除了增加一个或多个装置的虚拟功能131a连接外,更同时增加支持热插拔功能的虚拟桥接器138a的连接。此时,除了更新对照表中包括虚拟桥接器138a的信息以及输出虚拟化装置131所提供的虚拟功能131a的信息,即,装置虚拟功能的计算主机端及管理主机端的地址信息外,例如:请参照表(3),表(3)为对应于图4B的状态的对照表,表(3)的对照表中的CH-B/D/F地址为X1/Y1/Z1;M-B/D/F地址为X2/Y2/Z2,还增加了虚拟桥接器138a的相关信息。以表(3)对照表为例,对于计算主机110而言,其发出组态指令时,仍包含B/D/F地址,但因B/D/F地址(例如:Xp/Yp/Zp地址)的桥接器并无实体存在,故管理处理器135利用软件模拟的方式将与虚拟桥接器138a相关的数据(Data)写入桥接器138中,并通知计算主机110此组态指令完成,以使管理主机130将虚拟桥接器138a以及该虚拟功能131a分配给计算主机110。
表(3)
值得注意的是,在本实施例中,管理处理器135利用软件模拟具备热插拔功能的虚拟桥接器138a以执行计算主机110赋予的指令。具体而言,虚拟桥接器138a是经由管理处理器135利用软件模拟的程序、驱动程序模块(driver module)或管理主机130中存储器所建立,虚拟桥接器138a可以执行由计算主机110所赋予且与实体桥接器相同的指令,因此计算主机110的***可将虚拟桥接器视为实体桥接器。由上可知,通过支持热插拔功能的虚拟桥接器138a的配置,管理主机130可以再一次的回应使用者的改变需求,例如:如图4C所绘示再增加一或多个虚拟功能131b,其中虚拟功能131b是由输出虚拟化装置131所提供。甚至于为了保有扩充的能力,再配置另一个虚拟桥接器138b。在此实施例中,仅以2个虚拟桥接器138a、138b配置成2层的虚拟功能为例,在其他实施例中,本领域技术人员可依实际情形调整虚拟桥接器及虚拟功能的数量、配置层数及虚拟功能对应于计算主机的配置。例如,虚拟桥接器138b后端再连接一个虚拟功能,则可配置成3层的虚拟功能,其余配接方式依此类推,在此不再赘述。换言之,在本实施例,每增加一个虚拟桥接器,就可在下一层扩充虚拟功能。因此,在输入输出虚拟化装置可支持的虚拟功能的数量下,可以即时、动态地扩充虚拟功能。
值得一提的是,在本实施例中,管理主机130的管理处理器135依据虚拟功能拔除请求(例如,使用者需求变更,而热插拔一网络转接卡,而想要在计算主机中减少使用此虚拟功能)更新对照表,且依据对照表拔除第O层的虚拟桥接器,其中O为正整数且1≤O≤M。管理主机依顺序逐一自第M层的虚拟桥接器拔除至第O层的虚拟桥接器,且分别传送相关于各层的虚拟桥接器拔除的该热插拔事件至对应的该至少一计算主机。换言之,若要停止其中一层的虚拟功能则需由最下层的虚拟功能往该层的虚拟功能逐步停止。
此外,在另一实施例中,图1的管理处理器135可以在桥接器138、139的总线上预先建立N个虚拟桥接器,其中,N为正整数,而管理处理器135将桥接器138、139连接至N个虚拟桥接器,且各N个虚拟桥接器连接部分或全部的虚拟功能及/或该N个虚拟桥接器之外的另一个虚拟桥接器。以下将举另一实施例说明虚拟功能及虚拟桥接器的连接配置。
图5A及图5B是依据本发明另一实施例说明一种虚拟功能分配方法的范例。请同时参照图1与图5A,其中图5A的桥接器138及计算主机110与图3A相似,图5A的桥接器138及计算主机110的相关说明将不再赘述。于图3A不同处在于,图5A的桥接器138依据使用者需求已预先配置支持热插拔功能的虚拟桥接器138a、138b,其中桥接器138所对应的虚拟桥接器138a、138b的数目为预设值,其最大预设值视输入输出虚拟化装置可支持的虚拟功能的数量而定。此外,由于虚拟桥接器的数量为预设值,桥接器138不需提供后续扩充连接虚拟功能的功能,故桥接器138可不支持热插拔的功能。
表(4)
此外,请参照表(4),表(4)为对应于图5A的状态的对照表,表(4)的对照表中分别对应于虚拟桥接器138a、138b的CH-B/D/F地址信息为Xp/Yp/Zp、Xq/Yq/Zq。对于计算主机110而言,其发出组态指令时,仍包含B/D/F(例如:Xp/Yp/Zp、Xq/Yq/Zq)地址,但因虚拟桥接器138a、138b并无实体存在,故管理处理器135利用软件模拟的方式将虚拟桥接器138a、138b相关的数据写入桥接器138中,并经由交换器137通知计算主机110此组态指令完成。虚拟桥接器138a、138b支持热插拔功能且是经由管理处理器135利用软件所模拟,而没有更新前的对照表的内容已包括虚拟桥接器138a、138b的信息。在本实施例中,连接虚拟桥接器138a、138b及通过热插拔事件通知计算主机110的详细说明请参照图3A~图4C的相关叙述,于此不再赘述。
请接着参考图5B,在图5B中,使用者的需求改变,管理处理器135依据虚拟功能建立请求(即,使用者的变更需求)除了增加连接于预先配置的虚拟桥接器138a的一个或多个装置的虚拟功能131a外,还可同时增加连接于预先配置的虚拟桥接器138b的一个或多个装置的虚拟功能131b及支持热插拔功能的虚拟桥接器138c。此时,除了更新对照表中有关虚拟功能的计算主机端及管理主机端的地址外,例如:请参照表(5),表(5)为对应于图5B的状态的对照表,相较于表(4),表(5)的对照表中还增加了对应于装置的虚拟功能131a的相关信息(CH-B/D/F地址为X1/Y1/Z1,M-B/D/F地址为X2/Y2/Z2)、装置的虚拟功能131b的相关信息(CH-B/D/F地址为X3/Y3/Z3,M-B/D/F地址为X4/Y4/Z4)。
表(5)
此外,以表(5)为例,对于计算主机110而言,其发出组态指令时,仍包含B/D/F地址,但因B/D/F地址(例如:Xs/Ys/Zs地址)的虚拟桥接器138c并无实体存在,故管理处理器135利用软件模拟的方式将与虚拟桥接器138c相关的数据写入桥接器138中,并通知计算主机110此组态指令完成。在本实施例中,连接虚拟桥接器138c、虚拟功能131a、131b及通过热插拔事件通知计算主机110的详细说明请参照图3A~图4C的相关叙述,于此不再赘述。
在其他实施例中,虚拟功能131a、131b亦可不同时分别连接至虚拟桥接器138a、138b,视当前可用虚拟功能的数量而调整。换言之,虽然以软件模拟方式将具备热插拔功能的多个虚拟桥接器连接至桥接器138,但并非每一个虚拟桥接器对应的虚拟功能皆会被虚拟机器使用。在某些情况,这些未连接虚拟功能的虚拟桥接器仅作为预备,待虚拟机器需使用对应的虚拟功能再通过对照表进行连接,以达到即时热插拔的效益。
此外,相较于图4A与4B,在本实施例中,管理主机130的管理处理器135依据虚拟功能拔除请求(例如:热插拔一网络转接卡,而想要在计算主机中减少使用此虚拟功能)更新对照表,且依据对照表直接传送相关于部分或全部的虚拟功能拔除的该热插拔事件至对应的至少一计算主机。换言之,若要停止其中一虚拟功能(例如,虚拟功能131a、131b),则可直接移除相关连接。
由上可知,通过支持热插拔功能的虚拟桥接器138a、138b的配置,管理主机可以再一次的回应使用者的改变需求,例如:如图5B所绘示再增加一或多个虚拟功能131a、131b。甚至于为了保有扩充的能力,再配置另一个虚拟桥接器138c。在此实施例中,仅以预先配置2个虚拟桥接器138a、138b为例,在其他实施例中,本领域技术人员可依实际情形调整预先配置虚拟桥接器的数量、虚拟桥接器及虚拟功能的数量、配置层数及虚拟功能对应于计算主机的配置。例如,桥接器138后端再连接一个虚拟桥接器,则可预先配置成3个的虚拟桥接器,其余配接方式依此类推,在此不再赘述。此外,在本实施例中,还可依据图4B的相关说明,串连虚拟桥接器,就可在下一层扩充虚拟功能。换言之,虚拟桥接器138a、138b的连接类似上述图4B的实施例,故可以达到虚拟功能即时扩充的效益。若以图5A实施例所预先模拟的虚拟桥接器数量不够时,可以通过图5B的方式再进行扩充。值得注意的是,若要达到上述可以即时扩充的功能,则上述虚拟桥接器必须具备可支持热插拔的功能。因此,在输入输出虚拟化装置可支持的虚拟功能的数量下,可以即时、动态地扩充虚拟功能。
值得注意的是,除了上述利用热插拔事件以连接虚拟功能及虚拟桥接器之外,在一实施例中,管理主机130开机后,依据对照表将虚拟功能以及虚拟桥接器分配给计算主机110、115,且以上述软件模拟方式建立具备热插拔功能的虚拟桥接器。计算主机110、115开机后,开始执行列举程序(enumeration process),计算主机110、115询问管理主机130中PCIe装置(例如,虚拟功能以及虚拟桥接器)的连接配置,计算主机110、115即可分别得知管理主机130中虚拟功能以及虚拟桥接器连接至计算主机110、115的连接配置。
另一方面,图6为依据本发明一实施例的虚拟功能分配方法的流程图。请参照图6,本实施例适用于图1所示虚拟功能分配***100中的管理主机130及计算主机110、115,管理主机130的控制方法包括下列步骤。管理主机130的管理处理器135依据虚拟功能建立请求(例如:使用者热插拔一网络转接卡,而想要在计算主机中额外使用此虚拟功能)更新对照表,以将虚拟功能分配给计算主机110、115(步骤S310)。管理处理器135依据对照表决定是否建立虚拟功能(步骤S330)。管理处理器135依据分配结果通过交换器137传送热插拔事件至对应的计算主机110、115(步骤S350)。管理处理器135将虚拟功能通过桥接器连接至对应的计算主机110、115,以动态地调整虚拟功能的配置(步骤S370)。其中,本虚拟功能分配方法的各个流程可依照实施情形而随之调整,且并不仅限于此。并且,上述步骤的细节可参照图1至图5B的实施例的说明,在此不再赘述。
综上所述,本发明的虚拟功能分配***、方法及其管理主机通过管理处理器、输入输出虚拟化装置以及对照表来分配虚拟桥接器及虚拟功能给计算主机。管理处理器模拟上述虚拟桥接器并同时赋予热插拔功能。此虚拟桥接器可额外连接其他的虚拟功能,并利用热插拔功能中所设定的热插拔事件向被分配到此虚拟桥接器的计算主机告知其虚拟功能的连接情况。借此,虚拟功能分配***可迅速地且动态地调整对于这些虚拟功能的连接配置,进而达到硬件资源的最大分配效益。
以上所述仅为本发明较佳实施例,然其并非用以限定本发明的范围,任何熟悉本项技术的人员,在不脱离本发明的精神和范围内,可在此基础上做进一步的改进和变化,因此本发明的保护范围当以本申请的权利要求书所界定的范围为准。

Claims (36)

1.一种虚拟功能分配***,其特征在于,包括:
至少一计算主机;
一管理主机,通过一桥接器连接至该至少一计算主机,该管理主机具备至少一虚拟功能,且该管理主机依据一虚拟功能建立请求更新一对照表,以将该至少一虚拟功能分配给该至少一计算主机,其中,
该管理主机依据该对照表决定是否建立该至少一虚拟功能,
该管理主机依据分配结果传送一热插拔事件至对应的该至少一计算主机,且将被分配的该至少一虚拟功能连接至对应的该至少一计算主机,以动态地调整连接于该至少一虚拟功能的配置,
当该管理主机将被分配的该至少一虚拟功能连接至对应的该至少一计算主机时,该至少一计算主机发出包含计算主机端的虚拟功能地址的一组态指令给该管理主机,且该管理主机比对该组态指令与该对照表的内容,若该组态指令与该对照表的内容符合,且该对照表中的状态信息为致能,则该管理主机将该至少一虚拟功能的信息回复给该至少一计算主机,而完成该至少一虚拟功能的连接。
2.根据权利要求1所述的虚拟功能分配***,其特征在于,该热插拔事件包括该管理主机传送中断信息至对应的该至少一计算主机、该管理主机经由对应的该至少一计算主机轮询状态暂存器的位及该管理主机触发对应的该至少一计算主机的脚位其中之一或其组合。
3.根据权利要求1所述的虚拟功能分配***,其特征在于,当该管理主机依据该对照表决定是否建立该至少一虚拟功能时,该对照表的内容包括计算主机编号、计算主机端的虚拟功能地址、管理主机端的虚拟功能地址、状态信息,且该状态信息为致能。
4.根据权利要求1所述的虚拟功能分配***,其特征在于,该桥接器支持热插拔功能,而该至少一虚拟功能由支持单根输入输出虚拟化技术的装置所提供。
5.根据权利要求1所述的虚拟功能分配***,其特征在于,当该管理主机依据该虚拟功能建立请求更新该对照表时,所更新的该对照表内容包括至少一虚拟桥接器的信息以及支持单根输入输出虚拟化技术的装置的该至少一虚拟功能的信息,以使该管理主机将该至少一虚拟桥接器以及该至少一虚拟功能分配给该至少一计算主机。
6.根据权利要求5所述的虚拟功能分配***,其特征在于,该至少一虚拟桥接器由该管理主机利用软件所模拟,且该至少一虚拟桥接器支持热插拔功能。
7.根据权利要求5所述的虚拟功能分配***,其特征在于,该管理主机依据该虚拟功能建立请求更新该对照表,并串连多个虚拟桥接器,以建立成M层的虚拟桥接器,M为正整数,其中各所述虚拟桥接器连接部分或全部的该至少一虚拟功能。
8.根据权利要求7所述的虚拟功能分配***,其特征在于,该管理主机依据一虚拟功能拔除请求更新该对照表,且依据该对照表拔除第O层的虚拟桥接器,其中O为正整数且1≤O≤M,该管理主机依顺序逐一自第M层的虚拟桥接器拔除至第O层的虚拟桥接器,且分别传送相关于各层的虚拟桥接器拔除的该热插拔事件至对应的该至少一计算主机。
9.根据权利要求1所述的虚拟功能分配***,其特征在于,该管理主机还预先建立N个虚拟桥接器,N为正整数,该管理主机将该桥接器连接至该N个虚拟桥接器,且各该N个虚拟桥接器连接部分或全部的该至少一虚拟功能及/或该N个虚拟桥接器之外的另一虚拟桥接器。
10.根据权利要求9所述的虚拟功能分配***,其特征在于,所述虚拟桥接器由该管理主机利用软件所模拟,且没有更新前的该对照表的内容已包括所述虚拟桥接器的信息。
11.根据权利要求9所述的虚拟功能分配***,其特征在于,所述虚拟桥接器支持热插拔功能。
12.根据权利要求9所述的虚拟功能分配***,其特征在于,该管理主机依据一虚拟功能拔除请求更新该对照表,且依据该对照表直接传送相关于部分或全部的该至少一虚拟功能拔除的该热插拔事件至对应的该至少一计算主机。
13.一种虚拟功能分配方法,其特征在于,包括:
依据一虚拟功能建立请求更新一对照表,以将至少一虚拟功能分配给至少一计算主机;
依据该对照表决定是否建立该至少一虚拟功能;
依据分配结果传送一热插拔事件至对应的该至少一计算主机;以及
将被分配的该至少一虚拟功能通过一桥接器连接至对应的该至少一计算主机,以动态地调整连接于该至少一虚拟功能的配置,
其中,将被分配的该至少一虚拟功能通过该桥接器连接至对应的该至少一计算主机,以动态地调整连接于该至少一虚拟功能的配置的步骤包括:
该至少一计算主机发出包含计算主机端的虚拟功能地址的一组态指令给一管理主机;以及
比对该组态指令与该对照表的内容,若该组态指令与该对照表的内容符合,且该对照表中的状态信息为致能,则将该至少一虚拟功能的信息回复给该至少一计算主机,而完成该至少一虚拟功能的连接。
14.根据权利要求13所述的虚拟功能分配方法,其特征在于,该热插拔事件包括传送中断信息至对应的该至少一计算主机、经由对应的该至少一计算主机轮询状态暂存器的位及触发对应的该至少一计算主机的脚位其中之一或其组合。
15.根据权利要求13所述的虚拟功能分配方法,其特征在于,在依据该对照表决定是否建立该至少一虚拟功能的步骤中,
该对照表的内容包括计算主机编号、计算主机端的虚拟功能地址、管理主机端的虚拟功能地址、状态信息,且该状态信息为致能。
16.根据权利要求13所述的虚拟功能分配方法,其特征在于,该桥接器支持热插拔功能,而该至少一虚拟功能由支持单根输入输出虚拟化技术的装置所提供。
17.根据权利要求13所述的虚拟功能分配方法,其特征在于,在依据该虚拟功能建立请求更新该对照表,以将该至少一虚拟功能分配给该至少一计算主机的步骤中,
所更新的该对照表内容包括至少一虚拟桥接器的信息以及支持单根输入输出虚拟化技术的装置的该至少一虚拟功能的信息,以将该至少一虚拟桥接器以及该至少一虚拟功能分配给该至少一计算主机。
18.根据权利要求17所述的虚拟功能分配方法,其特征在于,将该至少一虚拟桥接器以及该至少一虚拟功能分配给该至少一计算主机的步骤包括:
由一管理主机利用软件模拟该至少一虚拟桥接器,其中该至少一虚拟桥接器支持热插拔功能。
19.根据权利要求17所述的虚拟功能分配方法,其特征在于,将该至少一虚拟桥接器以及该至少一虚拟功能分配给该至少一计算主机的步骤包括:
依据该虚拟功能建立请求更新该对照表,且依据该对照表串连多个虚拟桥接器,以建立成M层的虚拟桥接器,M为正整数,其中各所述虚拟桥接器连接部分或全部的该至少一虚拟功能。
20.根据权利要求19所述的虚拟功能分配方法,其特征在于,依据该虚拟功能建立请求更新该对照表,且依据该对照表串连所述虚拟桥接器,以建立成该M层的虚拟桥接器的步骤之后,还包括:
依据一虚拟功能拔除请求更新该对照表,且依据该对照表拔除第O层的虚拟桥接器,其中O为正整数且1≤O≤M,以及
依顺序逐一自第M层的虚拟桥接器拔除至第O层的虚拟桥接器,且分别传送相关于各层的虚拟桥接器拔除的该热插拔事件至对应的该至少一计算主机。
21.根据权利要求13所述的虚拟功能分配方法,其特征在于,依据该虚拟功能建立请求更新该对照表,以将该至少一虚拟功能分配给该至少一计算主机的步骤,包括:
预先建立N个虚拟桥接器,N为正整数;以及
该桥接器连接该N个虚拟桥接器,且将各该N个虚拟桥接器连接至部分或全部的该至少一虚拟功能及/或该N个虚拟桥接器之外的另一虚拟桥接器。
22.根据权利要求21所述的虚拟功能分配方法,其特征在于,该桥接器连接该N个虚拟桥接器,且将各该N个虚拟桥接器连接至部分或全部的该至少一虚拟功能及/或该N个虚拟桥接器之外的另一虚拟桥接器的步骤包括:
利用软件模拟所述虚拟桥接器,且没有更新前的对照表内容已包括所述虚拟桥接器的信息。
23.根据权利要求21所述的虚拟功能分配方法,其特征在于,所述虚拟桥接器支持热插拔功能。
24.根据权利要求21所述的虚拟功能分配方法,其特征在于,该桥接器连接该N个虚拟桥接器,且将各该N个虚拟桥接器连接至部分或全部的该至少一虚拟功能及/或该N个虚拟桥接器之外的另一虚拟桥接器的步骤之后,还包括:
依据一虚拟功能拔除请求更新该对照表,且依据该对照表直接传送相关于部分或全部的该至少一虚拟功能拔除的该热插拔事件至对应的该至少一计算主机。
25.一种管理主机,其特征在于,包括:
一交换器,包括多个桥接器,其中所述桥接器分别耦接至对应的至少一计算主机;
一输入输出虚拟化装置,耦接该交换器,且具备至少一虚拟功能;以及
一管理处理器,耦接该交换器,且依据一虚拟功能建立请求更新一对照表,以将该至少一虚拟功能分配给该至少一计算主机,其中,
该管理处理器依据该对照表决定是否建立该至少一虚拟功能,
该管理处理器依据分配结果通过该交换器传送一热插拔事件至对应的该至少一计算主机,且将被分配的该至少一虚拟功能经由该交换器连接至对应的该至少一计算主机,以动态地调整该至少一虚拟功能的配置,
当该管理处理器将被分配的该至少一虚拟功能连接至对应的该至少一计算主机时,该至少一计算主机发出包含计算主机端的虚拟功能地址的一组态指令给该管理处理器,且该管理处理器比对该组态指令与该对照表的内容,若该组态指令与该对照表的内容符合,且该对照表中的状态信息为致能,则该管理处理器将该至少一虚拟功能的信息回复给该至少一计算主机,而完成该至少一虚拟功能的连接。
26.根据权利要求25所述的管理主机,其特征在于,该热插拔事件包括该管理处理器通过该交换器传送中断信息至对应的该至少一计算主机、该管理处理器经由对应的该至少一计算主机轮询状态暂存器的位及该管理处理器通过该交换器触发对应的该至少一计算主机的脚位其中之一或其组合。
27.根据权利要求25所述的管理主机,其特征在于,当该管理处理器依据该对照表决定是否建立该至少一虚拟功能时,该对照表的内容包括计算主机编号、计算主机端的虚拟功能地址、管理主机端的虚拟功能地址、状态信息,且该状态信息为致能。
28.根据权利要求25所述的管理主机,其特征在于,所述桥接器支持热插拔功能,而该至少一虚拟功能由支持单根输入输出虚拟化技术的装置所提供。
29.根据权利要求25所述的管理主机,其特征在于,当该管理处理器依据该虚拟功能建立请求更新该对照表时,所更新的该对照表内容包括至少一虚拟桥接器的信息以及支持单根输入输出虚拟化技术的装置的该至少一虚拟功能的信息,以使该管理处理器将该至少一虚拟桥接器以及该至少一虚拟功能分配给该至少一计算主机。
30.根据权利要求29所述的管理主机,其特征在于,该至少一虚拟桥接器由该管理处理器利用软件所模拟,且该至少一虚拟桥接器支持热插拔功能。
31.根据权利要求29所述的管理主机,其特征在于,该管理处理器依据该对照表串连多个虚拟桥接器,以建立成M层的虚拟桥接器,M为正整数,其中各所述虚拟桥接器连接部分或全部的该至少一虚拟功能。
32.根据权利要求31所述的管理主机,其特征在于,管理处理器依据一虚拟功能拔除请求更新该对照表,且依据该对照表拔除第O层的虚拟桥接器,其中O为正整数且1≤O≤M,该管理处理器依顺序逐一自第M层的虚拟桥接器拔除至第O层的虚拟桥接器,且分别传送相关于各层的虚拟桥接器拔除的该热插拔事件至对应的该至少一计算主机。
33.根据权利要求25所述的管理主机,其特征在于,该管理处理器还预先建立N个虚拟桥接器,N为正整数,该管理处理器将该桥接器连接至该N个虚拟桥接器,且各该N个虚拟桥接器选择性连接部分或全部的该至少一虚拟功能或该N个虚拟桥接器之外的另一虚拟桥接器。
34.根据权利要求33所述的管理主机,其特征在于,所述虚拟桥接器由该管理处理器利用软件所模拟,且没有更新前的该对照表的内容已包括所述虚拟桥接器的信息。
35.根据权利要求33所述的管理主机,其特征在于,所述虚拟桥接器支持热插拔功能。
36.根据权利要求33所述的管理主机,其特征在于,该管理处理器依据一虚拟功能拔除请求更新该对照表,且依据该对照表直接传送相关于部分或全部的该至少一虚拟功能拔除的该热插拔事件至对应的该至少一计算主机。
CN201410282533.3A 2014-03-05 2014-06-23 虚拟功能分配***、方法及其管理主机 Active CN104021047B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW103107450 2014-03-05
TW103107450A TWI556174B (zh) 2014-03-05 2014-03-05 虛擬功能分配系統、方法及其管理主機

Publications (2)

Publication Number Publication Date
CN104021047A CN104021047A (zh) 2014-09-03
CN104021047B true CN104021047B (zh) 2017-10-13

Family

ID=51437815

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410282533.3A Active CN104021047B (zh) 2014-03-05 2014-06-23 虚拟功能分配***、方法及其管理主机

Country Status (3)

Country Link
US (1) US9684530B2 (zh)
CN (1) CN104021047B (zh)
TW (1) TWI556174B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9569242B2 (en) * 2014-07-16 2017-02-14 International Business Machines Corporation Implementing dynamic adjustment of I/O bandwidth for virtual machines using a single root I/O virtualization (SRIOV) adapter
US9747240B2 (en) 2014-10-24 2017-08-29 Cisco Technology, Inc. Dynamic connection of PCIe devices and functions to an array of hosts
CN104461958B (zh) * 2014-10-31 2018-08-21 华为技术有限公司 支持sr-iov的存储资源访问方法、存储控制器及存储设备
CN105790991A (zh) * 2014-12-24 2016-07-20 中兴通讯股份有限公司 虚拟化服务器的链路聚合方法、***及其智能网络适配器
US9984017B2 (en) * 2014-12-27 2018-05-29 Intel Corporation Intelligent network fabric to connect multiple computer nodes with one or more SR-IOV devices
US10185679B2 (en) * 2016-02-24 2019-01-22 Red Hat Israel, Ltd. Multi-queue device assignment to virtual machine groups
CN107704307A (zh) * 2016-08-09 2018-02-16 中兴通讯股份有限公司 一种虚拟外置存储设备的管理方法、装置及终端
TWI616759B (zh) * 2016-08-10 2018-03-01 創義達科技股份有限公司 設備分配控制器以及設備分配方法
TWI598740B (zh) * 2016-08-10 2017-09-11 創義達科技股份有限公司 設備分配控制器以及設備分配方法
TWI615720B (zh) * 2016-12-26 2018-02-21 創義達科技股份有限公司 資源分配系統、設備分配控制器以及設備識別方法
US10908939B2 (en) * 2017-01-31 2021-02-02 Intel Corporation Efficient fine grained processing of graphics workloads in a virtualized environment
US10884758B2 (en) * 2017-05-05 2021-01-05 Intel Corporation Method, apparatus, and system for propagating PCIe hot reset across a non-transparent bridge on a PCIe add-in card
WO2019117863A1 (en) * 2017-12-12 2019-06-20 Hewlett-Packard Development Company, L.P. Configuration profile updates
CN114090085B (zh) * 2021-11-18 2023-06-30 腾讯科技(深圳)有限公司 对象控制方法及相关装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101206587A (zh) * 2006-12-19 2008-06-25 国际商业机器公司 用于单根无状态虚拟功能迁移的***和方法
CN102722414A (zh) * 2012-05-22 2012-10-10 中国科学院计算技术研究所 用于多根i/o 虚拟化共享***的i/o 资源管理方法
CN103778018A (zh) * 2014-01-16 2014-05-07 江苏华丽网络工程有限公司 一种用于pcie虚拟化管理的方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7356636B2 (en) * 2005-04-22 2008-04-08 Sun Microsystems, Inc. Virtualized PCI switch
US8144582B2 (en) * 2008-12-30 2012-03-27 International Business Machines Corporation Differentiating blade destination and traffic types in a multi-root PCIe environment
WO2011008215A1 (en) * 2009-07-17 2011-01-20 Hewlett-Packard Development Company, L.P. Virtual hot inserting functions in a shared i/o environment
WO2012053031A1 (en) * 2010-10-19 2012-04-26 Hitachi, Ltd. Storage apparatus and virtual port migration method for storage apparatus
US9135044B2 (en) * 2010-10-26 2015-09-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Virtual function boot in multi-root I/O virtualization environments to enable multiple servers to share virtual functions of a storage adapter through a MR-IOV switch
US8521941B2 (en) * 2010-12-28 2013-08-27 Plx Technology, Inc. Multi-root sharing of single-root input/output virtualization
US8321617B1 (en) * 2011-05-18 2012-11-27 Hitachi, Ltd. Method and apparatus of server I/O migration management
CN102722458B (zh) * 2012-05-29 2015-01-07 中国科学院计算技术研究所 一种用于多根共享***的i/o重映射方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101206587A (zh) * 2006-12-19 2008-06-25 国际商业机器公司 用于单根无状态虚拟功能迁移的***和方法
CN102722414A (zh) * 2012-05-22 2012-10-10 中国科学院计算技术研究所 用于多根i/o 虚拟化共享***的i/o 资源管理方法
CN103778018A (zh) * 2014-01-16 2014-05-07 江苏华丽网络工程有限公司 一种用于pcie虚拟化管理的方法

Also Published As

Publication number Publication date
TWI556174B (zh) 2016-11-01
US20150254093A1 (en) 2015-09-10
US9684530B2 (en) 2017-06-20
CN104021047A (zh) 2014-09-03
TW201535267A (zh) 2015-09-16

Similar Documents

Publication Publication Date Title
CN104021047B (zh) 虚拟功能分配***、方法及其管理主机
US8407367B2 (en) Unified connector architecture
US6600739B1 (en) Method and apparatus for switching among a plurality of universal serial bus host devices
US8812758B2 (en) Mechanism to flexibly support multiple device numbers on point-to-point interconnect upstream ports
CN102722414B (zh) 用于多根i/o 虚拟化共享***的i/o 资源管理方法
JP4810349B2 (ja) I/o装置及び方法
US7895386B2 (en) USB interface provided with host/device function and its control method
TWI393009B (zh) 資料共享及傳輸之系統及方法
CN104615572B (zh) 热插拔处理***及方法
WO2016099627A1 (en) DATA TRANSMISSION USING PCIe PROTOCOL VIA USB PORT
JP2010061663A (ja) 単一sasエクスパンダの機能性を提供するために複数のsasエクスパンダを組み合わせる方法、及び、単一sasエクスパンダ
WO2009120798A2 (en) Pci-express function proxy
JP2011166720A (ja) 複数バージョンのusbと互換性があるマザーボード及び関連方法
US20060095625A1 (en) Integrated circuit capable of assigning a unique identity to ATA/ATAPI devices
TWM501592U (zh) 使用虛擬通用串列匯流排(usb)切換多部主機之usb多電腦切換器
JP2004295333A (ja) バス通信システムおよびその通信制御方法
CN107436850A (zh) 计算机***和计算机***中端点设备访问的方法
US10417156B2 (en) Hardware resource sharing within peripheral component interconnect express (PCIE) environment capable of assigning hardware resource dynamically
TWI417728B (zh) 串列週邊介面設備通訊電路
CN108132900A (zh) 转接设备、远程通信***以及数据传输方法
TWM494348U (zh) 提供主機即時切換及分享通用串列匯流排(usb)電子設備之電子裝置
CN112835837B (zh) 建立数据连接的方法、相关装置及计算机程序产品
WO2023112646A1 (ja) 情報処理装置、及び情報処理装置の制御方法
JP2017531871A (ja) Usbストリームを通したサイドチャネルアクセス
US10042792B1 (en) Method for transferring and receiving frames across PCI express bus for SSD device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant