TW201535267A - 虛擬功能分配系統、方法及其管理主機 - Google Patents
虛擬功能分配系統、方法及其管理主機 Download PDFInfo
- Publication number
- TW201535267A TW201535267A TW103107450A TW103107450A TW201535267A TW 201535267 A TW201535267 A TW 201535267A TW 103107450 A TW103107450 A TW 103107450A TW 103107450 A TW103107450 A TW 103107450A TW 201535267 A TW201535267 A TW 201535267A
- Authority
- TW
- Taiwan
- Prior art keywords
- virtual
- host
- virtual function
- bridge
- function
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/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 component interconnection;PCI),而成為新一代的周邊設備傳輸介面。
近年來,隨著網際網路(internet)的快速發展,使用者對於資訊服務的需求越來越高,伺服器的負擔亦越來越大。因此,為了降低成本及有效利用資源,伺服器虛擬化的技術亦逐漸成為發展的趨勢。而在周邊裝置連接快遞的規格中,單根輸入輸出虛
擬化(Single Root 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)、輸入輸出虛擬化裝置及管理處理器。此交換器包括橋接器,其中橋接器分別耦接至對應的計算主機。而輸入輸出虛擬化裝置耦接交換器,且具備虛擬功能。管理處理器耦接交換器,且依據虛擬功能建立請求更新對照表,以將虛擬功能分配給計算主機。其中,管理處理器依據對照表決定是否建立虛擬功能,管理處理器依據分配結果透過交換器傳送熱插拔事件至對應的計算主機,且將虛擬功能經由交換器連接至對應的計算主機,以使得管理處理器能夠動態地調整虛擬功能的配置。
基於上述,本發明實施例所述的虛擬功能分配系統藉由管理處理器、輸入輸出虛擬化裝置以及對照表來分配虛擬功能給計算主機。上述虛擬橋接器在模擬時已具備熱插拔功能。此虛擬橋接器可額外連接其他的虛擬功能,並利用熱插拔功能中所設定的熱插拔事件向被分配到此虛擬功能的計算主機告知其虛擬功能的連接情況。藉此,虛擬功能分配系統可迅速地且動態地調整對於這些虛擬功能的連接配置,達到硬體資源的最大分配效益。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
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‧‧‧步驟
圖1是依據本發明一實施例說明一種虛擬功能分配系統的方塊圖。
圖2是依據本發明一實施例說明管理主機的範例。
圖3A及圖3B是依據本發明一實施例說明一種虛擬功能分配方法的範例。
圖4A至圖4C是依據本發明一實施例說明一種虛擬功能分配方法的範例。
圖5A及圖5B是依據本發明另一實施例說明一種虛擬功能分配方法的範例。
圖6為依據本發明一實施例的虛擬功能分配方法的流程圖。
為了有效分配虛擬功能(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),其中虛擬功能可提供虛擬機器(virtual machine)使用,而一實體功能例如對應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-PlugEvent)138b、139b。當管理處理器135得知使用者需求發生改變時,可將相關資訊寫入至狀態暫存器138b、139b,並且計算主機110、115依序針對對應的狀態暫存器138b、139b進行輪詢(Polling),使對應的計算主機110、115知道發生熱插拔事件。在另一實施例中,橋接器138、139更可配置輸入腳位來接收管理處理器135所發出的、有關於使用者需求改變的訊息。並且,橋接器138、139可配置輸出腳位(例如:GPIO腳位),以通知對應的計算主機110、115發生熱插拔事件。在又一實施例中,管理
處理器135可發出特定格式的訊息(例如是,PCIe交換層封包(transaction layer 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)為對應於圖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的連接。
詳細而言,當橋接器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。
值得注意的是,在本實施例中,管理處理器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為正整數且1OM。管理主機依順序逐一自第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)為對應於圖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的實施例的說明,在此不再贅述。
綜上所述,本發明的虛擬功能分配系統、方法及其管理主機藉由管理處理器、輸入輸出虛擬化裝置以及對照表來分配虛擬橋接器及虛擬功能給計算主機。管理處理器模擬上述虛擬橋接器並同時賦予熱插拔功能。此虛擬橋接器可額外連接其他的虛擬功能,並利用熱插拔功能中所設定的熱插拔事件向被分配到此虛擬橋接器的計算主機告知其虛擬功能的連接情況。藉此,虛擬功能分配系統可迅速地且動態地調整對於這些虛擬功能的連接配置,進而達到硬體資源的最大分配效益。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
S310~S370‧‧‧步驟
Claims (39)
- 一種虛擬功能分配系統,包括:至少一計算主機;一管理主機,透過一橋接器連接至該至少一計算主機,該管理主機具備至少一虛擬功能,且該管理主機依據一虛擬功能建立請求更新一對照表,以將該至少一虛擬功能分配給該至少一計算主機,其中,該管理主機依據該對照表決定是否建立該至少一虛擬功能,該管理主機依據分配結果傳送一熱插拔事件至對應的該至少一計算主機,且將被分配的該至少一虛擬功能連接至對應的該至少一計算主機,以動態地調整連接於該至少一虛擬功能的配置。
- 如申請專利範圍第1項所述的虛擬功能分配系統,其中該熱插拔事件包括該管理主機傳送中斷訊息至對應的該至少一計算主機、該管理主機經由對應的該至少一計算主機輪詢狀態暫存器的位元及該管理主機觸發對應的該至少一計算主機的腳位其中之一或其組合。
- 如申請專利範圍第1項所述的虛擬功能分配系統,其中當該管理主機依據該對照表決定是否建立該至少一虛擬功能時,該對照表的內容包括計算主機編號、計算主機端的虛擬功能位址、管理主機端的虛擬功能位址、狀態訊息,且該狀態訊息為致能。
- 如申請專利範圍第1項所述的虛擬功能分配系統,其中當該管理主機將被分配的該至少一虛擬功能連接至對應的該至少一 計算主機時,該至少一計算主機發出包含計算主機端的虛擬功能位址的一組態指令給該管理主機,且該管理主機比對該組態指令與該對照表的內容,若該組態指令與該對照表的內容符合,且該對照表中的狀態訊息為致能,則該管理主機將該至少一虛擬功能的資訊回覆予該至少一計算主機,而完成該至少一虛擬功能的連接。
- 如申請專利範圍第1項所述的虛擬功能分配系統,其中該橋接器支援熱插拔功能,而該至少一虛擬功能由支援單根輸入輸出虛擬化技術的裝置所提供。
- 如申請專利範圍第1項所述的虛擬功能分配系統,其中當該管理主機依據該虛擬功能建立請求更新該對照表時,所更新的該對照表內容包括至少一虛擬橋接器的資訊以及支援單根輸入輸出虛擬化技術的裝置的該至少一虛擬功能的資訊,以使該管理主機將該至少一虛擬橋接器以及該至少一虛擬功能分配給該至少一計算主機。
- 如申請專利範圍第6項所述的虛擬功能分配系統,其中該至少一虛擬橋接器係由該管理主機利用軟體所模擬,且該至少一虛擬橋接器支援熱插拔功能。
- 如申請專利範圍第6項所述的虛擬功能分配系統,其中該管理主機依據該虛擬功能建立請求更新該對照表,串連多個虛擬橋接器,以建立成M層的虛擬橋接器,M為正整數,其中各該些虛擬橋接器連接部份或全部的該至少一虛擬功能。
- 如申請專利範圍第8項所述的虛擬功能分配系統,其中該管理主機依據一虛擬功能拔除請求更新該對照表,且依據該對照表拔除第O層的虛擬橋接器,其中O為正整數且1OM,該管理主機依順序逐一自第M層的虛擬橋接器拔除至第O層的虛擬橋接器,且分別傳送相關於各層的虛擬橋接器拔除的該熱插拔事件至對應的該至少一計算主機。
- 如申請專利範圍第1項所述的虛擬功能分配系統,其中該管理主機更包括預先建立N個虛擬橋接器,N為正整數,該管理主機將該橋接器連接至該N個虛擬橋接器,且各該N個虛擬橋接器連接部份或全部的該至少一虛擬功能及/或該N個虛擬橋接器之外的另一虛擬橋接器。
- 如申請專利範圍第10項所述的虛擬功能分配系統,其中該些虛擬橋接器係由該管理主機利用軟體所模擬,且未更新前的該對照表的內容已包括該些虛擬橋接器的資訊。
- 如申請專利範圍第10項所述的虛擬功能分配系統,其中該些虛擬橋接器支援熱插拔功能。
- 如申請專利範圍第10項所述的虛擬功能分配系統,其中該管理主機依據一虛擬功能拔除請求更新該對照表,且依據該對照表直接傳送相關於部份或全部的該至少一虛擬功能拔除的該熱插拔事件至對應的該至少一計算主機。
- 一種虛擬功能分配方法,包括:依據一虛擬功能建立請求更新一對照表,以將至少一虛擬功 能分配給至少一計算主機;依據該對照表決定是否建立該至少一虛擬功能;依據分配結果傳送一熱插拔事件至對應的該至少一計算主機;將被分配的該至少一虛擬功能透過一橋接器連接至對應的該至少一計算主機,以動態地調整連接於該至少一虛擬功能的配置。
- 如申請專利範圍第14項所述的虛擬功能分配方法,其中該熱插拔事件包括傳送中斷訊息至對應的該至少一計算主機、經由對應的該至少一計算主機輪詢的狀態暫存器位元及觸發對應的該至少一計算主機的腳位其中之一或其組合。
- 如申請專利範圍第14項所述的虛擬功能分配方法,其中依據該對照表決定是否建立該至少一虛擬功能的步驟包括:該對照表的內容包括計算主機編號、計算主機端的虛擬功能位址、管理主機端的虛擬功能位址、狀態訊息,且該狀態訊息為致能。
- 如申請專利範圍第14項所述的虛擬功能分配方法,其中將被分配的該至少一虛擬功能透過該橋接器連接至對應的該至少一計算主機,以動態地調整連接於該至少一虛擬功能的配置的步驟包括:該至少一計算主機發出包含計算主機端的虛擬功能位址的一組態指令給該管理主機;以及比對該組態指令與該對照表的內容,若該組態指令與該對照 表的內容符合,且該對照表中的狀態訊息為致能,則將該至少一虛擬功能的資訊回覆予該至少一計算主機,而完成該至少一虛擬功能的連接。
- 如申請專利範圍第14項所述的虛擬功能分配方法,其中該橋接器支援熱插拔功能,而該至少一虛擬功能由支援單根輸入輸出虛擬化技術的裝置所提供。
- 如申請專利範圍第14項所述的虛擬功能分配方法,其中依據該虛擬功能建立請求更新該對照表,以將該至少一虛擬功能分配給該至少一計算主機的步驟包括:所更新的該對照表內容包括至少一虛擬橋接器的資訊以及支援單根輸入輸出虛擬化技術的裝置的該至少一虛擬功能的資訊,以將該至少一虛擬橋接器以及該至少一虛擬功能分配給該至少一計算主機。
- 如申請專利範圍第19項所述的虛擬功能分配方法,其中將該至少一虛擬橋接器以及該至少一虛擬功能分配給該至少一計算主機的步驟包括:利用軟體模擬該至少一虛擬橋接器係由該管理主機,其中該至少一虛擬橋接器支援熱插拔功能。
- 如申請專利範圍第19項所述的虛擬功能分配方法,其中將該至少一虛擬橋接器以及該至少一虛擬功能分配給該至少一計算主機的步驟包括:依據該虛擬功能建立請求更新該對照表,且依據該對照表串 連多個虛擬橋接器,以建立成M層的虛擬橋接器,M為正整數,其中各該些虛擬橋接器連接部份或全部的該至少一虛擬功能。
- 如申請專利範圍第21項所述的虛擬功能分配方法,其中依據該虛擬功能建立請求更新該對照表,且依據該對照表串連該些虛擬橋接器,以建立成該M層的虛擬橋接器的步驟之後,更包括:依據一虛擬功能拔除請求更新該對照表,且依據該對照表拔除第O層的虛擬橋接器,其中O為正整數且1OM,依順序逐一自第M層的虛擬橋接器拔除至第O層的虛擬橋接器,且分別傳送相關於各層的虛擬橋接器拔除的該熱插拔事件至對應的該至少一計算主機。
- 如申請專利範圍第14項所述的虛擬功能分配方法,其中依據該虛擬功能建立請求更新該對照表,以將該至少一虛擬功能分配給該至少一計算主機的步驟,更包括:預先建立N個虛擬橋接器,N為正整數;以及該橋接器連接該N個虛擬橋接器,且將各該N個虛擬橋接器連接至部份或全部的該至少一虛擬功能及/或該N個虛擬橋接器之外的另一虛擬橋接器。
- 如申請專利範圍第23項所述的虛擬功能分配方法,其中該橋接器連接該N個虛擬橋接器,且將各該N個虛擬橋接器連接至部份或全部的該至少一虛擬功能及/或該N個虛擬橋接器之外的另一虛擬橋接器的步驟包括: 利用軟體模擬該些虛擬橋接器,且未更新前的對照表內容已包括該些虛擬橋接器的資訊。
- 如申請專利範圍第23項所述的虛擬功能分配方法,其中該些虛擬橋接器支援熱插拔功能。
- 如申請專利範圍第23項所述的虛擬功能分配方法,其中該橋接器連接該N個虛擬橋接器,且將各該N個虛擬橋接器連接至部份或全部的該至少一虛擬功能及/或該N個虛擬橋接器之外的另一虛擬橋接器的步驟之後,更包括:依據一虛擬功能拔除請求更新該對照表,且依據該對照表直接傳送相關於部份或全部的該至少一虛擬功能拔除的該熱插拔事件至對應的該至少一計算主機。
- 一種管理主機,包括:一交換器,包括多個橋接器,其中該些橋接器分別耦接至對應之至少一計算主機;一輸入輸出虛擬化裝置,耦接該交換器,具備至少一虛擬功能;以及一管理處理器,耦接該交換器,依據一虛擬功能建立請求更新一對照表,以將該至少一虛擬功能分配給該至少一計算主機,其中,該管理處理器依據該對照表決定是否建立該至少一虛擬功能,該管理處理器依據分配結果透過該交換器傳送一熱插拔事件 至對應的該至少一計算主機,且將被分配的該至少一虛擬功能經由該交換器連接至對應的該至少一計算主機,以動態地調整該至少一虛擬功能的配置。
- 如申請專利範圍第27項所述的管理主機,其中該熱插拔事件包括該管理處理器透過該交換器傳送中斷訊息至對應的該至少一計算主機、該管理處理器經由對應的該至少一計算主機輪詢狀態暫存器的位元及該管理處理器透過該交換器觸發對應的該至少一計算主機的腳位其中之一或其組合。
- 如申請專利範圍第27項所述的管理主機,其中當該管理處理器依據該對照表決定是否建立該至少一虛擬功能時,該對照表的內容包括計算主機編號、計算主機端的虛擬功能位址、管理主機端的虛擬功能位址、狀態訊息,且該狀態訊息為致能。
- 如申請專利範圍第27項所述的管理主機,其中當該管理處理器將被分配的該至少一虛擬功能連接至對應的該至少一計算主機時,該至少一計算主機發出包含計算主機端的虛擬功能位址的一組態指令給該管理主機,且該管理處理器比對該組態指令與該對照表的內容,若該組態指令與該對照表的內容符合,且該對照表中的狀態訊息為致能,則該管理處理器將該至少一虛擬功能的資訊回覆予該至少一計算主機,而完成該至少一虛擬功能的連接。
- 如申請專利範圍第27項所述的管理主機,其中該些橋接器支援熱插拔功能,而該至少一虛擬功能由支援單根輸入輸出虛 擬化技術的裝置所提供。
- 如申請專利範圍第27項所述的管理主機,其中當該管理處理器依據該虛擬功能建立請求更新該對照表時,所更新的該對照表內容包括至少一虛擬橋接器的資訊以及支援單根輸入輸出虛擬化技術的裝置的該至少一虛擬功能的資訊,以使該管理處理器將該至少一虛擬橋接器以及該至少一虛擬功能分配給該至少一計算主機。
- 如申請專利範圍第32項所述的管理主機,其中該至少一虛擬橋接器係由該管理處理器利用軟體所模擬,且該至少一虛擬橋接器支援熱插拔功能。
- 如申請專利範圍第32項所述的管理主機,其中管理處理器依據該對照表串連多個虛擬橋接器,以建立成M層的虛擬橋接器,M為正整數,其中各該些虛擬橋接器連接部份或全部的該至少一虛擬功能。
- 如申請專利範圍第34項所述的管理主機,其中管理處理器依據一虛擬功能拔除請求更新該對照表,且依據該對照表拔除第O層的虛擬橋接器,其中O為正整數且1OM,該管理處理器依順序逐一自第M層的虛擬橋接器拔除至第O層的虛擬橋接器,且分別傳送相關於各層的虛擬橋接器拔除的該熱插拔事件至對應的該至少一計算主機。
- 如申請專利範圍第27項所述的管理主機,其中該管理處理器更包括預先建立N個虛擬橋接器,N為正整數,該管理處理 器將該橋接器連接至該N個虛擬橋接器,且各該N個虛擬橋接器選擇性連接部份或全部的該至少一虛擬功能或該N個虛擬橋接器之外的另一虛擬橋接器。
- 如申請專利範圍第36項所述的管理主機,其中該些虛擬橋接器係由該管理處理器利用軟體所模擬,且未更新前的該對照表的內容已包括該些虛擬橋接器的資訊。
- 如申請專利範圍第36項所述的管理主機,其中該些虛擬橋接器支援熱插拔功能。
- 如申請專利範圍第36項所述的管理主機,其中該管理處理器依據一虛擬功能拔除請求更新該對照表,且依據該對照表直接傳送相關於部份或全部的該至少一虛擬功能拔除的該熱插拔事件至對應的該至少一計算主機。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW103107450A TWI556174B (zh) | 2014-03-05 | 2014-03-05 | 虛擬功能分配系統、方法及其管理主機 |
US14/267,931 US9684530B2 (en) | 2014-03-05 | 2014-05-02 | System and method for assigning virtual functions and management host thereof |
CN201410282533.3A CN104021047B (zh) | 2014-03-05 | 2014-06-23 | 虚拟功能分配系统、方法及其管理主机 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW103107450A TWI556174B (zh) | 2014-03-05 | 2014-03-05 | 虛擬功能分配系統、方法及其管理主機 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201535267A true TW201535267A (zh) | 2015-09-16 |
TWI556174B TWI556174B (zh) | 2016-11-01 |
Family
ID=51437815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103107450A TWI556174B (zh) | 2014-03-05 | 2014-03-05 | 虛擬功能分配系統、方法及其管理主機 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9684530B2 (zh) |
CN (1) | CN104021047B (zh) |
TW (1) | TWI556174B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI598740B (zh) * | 2016-08-10 | 2017-09-11 | 創義達科技股份有限公司 | 設備分配控制器以及設備分配方法 |
TWI616759B (zh) * | 2016-08-10 | 2018-03-01 | 創義達科技股份有限公司 | 設備分配控制器以及設備分配方法 |
Families Citing this family (12)
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 | 中兴通讯股份有限公司 | 一种虚拟外置存储设备的管理方法、装置及终端 |
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 |
US10983925B2 (en) * | 2017-12-12 | 2021-04-20 | Hewlett-Packard Development Company, L.P. | Configuration profile updates |
CN114090085B (zh) * | 2021-11-18 | 2023-06-30 | 腾讯科技(深圳)有限公司 | 对象控制方法及相关装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7356636B2 (en) * | 2005-04-22 | 2008-04-08 | Sun Microsystems, Inc. | Virtualized PCI switch |
US7984454B2 (en) * | 2006-12-19 | 2011-07-19 | International Business Machines Corporation | Migration of single root stateless virtual functions |
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 |
CN102722414B (zh) * | 2012-05-22 | 2014-04-02 | 中国科学院计算技术研究所 | 用于多根i/o 虚拟化共享系统的i/o 资源管理方法 |
CN102722458B (zh) * | 2012-05-29 | 2015-01-07 | 中国科学院计算技术研究所 | 一种用于多根共享系统的i/o重映射方法和装置 |
CN103778018B (zh) * | 2014-01-16 | 2018-05-04 | 深圳艾迪宝智能系统有限公司 | 一种用于pcie虚拟化管理的方法 |
-
2014
- 2014-03-05 TW TW103107450A patent/TWI556174B/zh active
- 2014-05-02 US US14/267,931 patent/US9684530B2/en active Active
- 2014-06-23 CN CN201410282533.3A patent/CN104021047B/zh active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI598740B (zh) * | 2016-08-10 | 2017-09-11 | 創義達科技股份有限公司 | 設備分配控制器以及設備分配方法 |
TWI616759B (zh) * | 2016-08-10 | 2018-03-01 | 創義達科技股份有限公司 | 設備分配控制器以及設備分配方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104021047A (zh) | 2014-09-03 |
CN104021047B (zh) | 2017-10-13 |
US9684530B2 (en) | 2017-06-20 |
US20150254093A1 (en) | 2015-09-10 |
TWI556174B (zh) | 2016-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI556174B (zh) | 虛擬功能分配系統、方法及其管理主機 | |
EP3033681B1 (en) | Method and apparatus for delivering msi-x interrupts through non-transparent bridges to computing resources in pci-express clusters | |
EP2927812B1 (en) | Method and apparatus for extending pcie bus domain | |
WO2016037503A1 (zh) | PCIe拓扑的配置方法和装置 | |
US9423958B2 (en) | System and method for managing expansion read-only memory and management host thereof | |
JP2008046722A (ja) | I/o装置及び方法 | |
CN102388357B (zh) | 访问存储设备的方法及系统 | |
US7506078B2 (en) | Integrated circuit capable of assigning a unique identity to ATA/ATAPI devices | |
JP2008052718A (ja) | サブデバイスの状態情報を伝達するためのシステム、方法、コンピュータプログラム製品 | |
TW201805830A (zh) | 設備分配控制器以及設備分配方法 | |
TW201944242A (zh) | 熱插拔辨識方法及具有熱插拔辨識功能的伺服器 | |
TWI804719B (zh) | 處理器/端點通信耦合件組態系統 | |
CN104407714A (zh) | 一种实现远程多电脑切换的主板及其使用方法 | |
TW202011216A (zh) | 伺服器系統及管理雙基板管理控制器的方法 | |
US20230318606A1 (en) | Interface device and method of operating the same | |
TWI615720B (zh) | 資源分配系統、設備分配控制器以及設備識別方法 | |
TW201432566A (zh) | 圖形處理器擴展卡及擴展方法 | |
CN112835837B (zh) | 建立数据连接的方法、相关装置及计算机程序产品 | |
CN116955250A (zh) | 快速外围组件互连设备及其操作方法 | |
JP2019128696A (ja) | 通信支援装置及び通信支援プログラム |