TW201805830A - 設備分配控制器以及設備分配方法 - Google Patents
設備分配控制器以及設備分配方法 Download PDFInfo
- Publication number
- TW201805830A TW201805830A TW105125445A TW105125445A TW201805830A TW 201805830 A TW201805830 A TW 201805830A TW 105125445 A TW105125445 A TW 105125445A TW 105125445 A TW105125445 A TW 105125445A TW 201805830 A TW201805830 A TW 201805830A
- Authority
- TW
- Taiwan
- Prior art keywords
- server
- peripheral devices
- peripheral
- bus bar
- hot
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 230000002093 peripheral effect Effects 0.000 claims abstract description 230
- 238000004891 communication Methods 0.000 claims abstract description 31
- 230000006870 function Effects 0.000 claims description 24
- 238000012544 monitoring process Methods 0.000 claims description 14
- 230000008878 coupling Effects 0.000 claims description 3
- 238000010168 coupling process Methods 0.000 claims description 3
- 238000005859 coupling reaction Methods 0.000 claims description 3
- 230000003863 physical function Effects 0.000 description 15
- 238000012545 processing Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- 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/10—Program control for peripheral devices
- G06F13/105—Program control for peripheral devices where the programme performs an input/output emulation function
- G06F13/107—Terminal emulation
-
- 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/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- 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/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Stored Programmes (AREA)
Abstract
本發明提出一種設備分配控制器。設備分配控制器包括匯流排、通訊介面以及處理器。匯流排耦接周邊設備,並且周邊設備符合快捷外設互聯標準。通訊介面耦接伺服器。設備分配控制器以及周邊設備透過通訊介面以與伺服器溝通。處理器耦接匯流排。處理器用以分配周邊設備至伺服器,並且監控匯流排與周邊設備的連接狀態。當另一周邊設備熱***至匯流排,以使匯流排發生熱插拔事件時,處理器判斷另一周邊設備是否具備實體功能或虛擬功能,並且處理器依據熱插拔事件重新分配周邊設備至伺服器。一種設備分配方法亦被提出。
Description
本發明是有關於一種設備分配技術,且特別是有關於一種設備分配控制器以及一種設備分配方法。
隨著雲端網路科技的發展,雲端運算和資料存取的需求越來越大,需多的廠商建構雲端運算中心,並提供硬體設備虛擬化技術來提高伺服器的設備使用率,其中硬體設備虛擬化技術可應用在諸多周邊設備上,例如採用快捷外設互聯標準(PCIe)的網路卡(Network interface controller;NIC)、資料存儲控制卡(RAID HBA)等周邊設備。然而,多個周邊設備被使用在同一伺服器上,而當這些周邊設備發生熱插拔事件(Hot-plug event)時,往往會造成伺服器的運算和資料存取失敗,進而導致伺服器的作業系統損壞或當機。並且,當多個伺服器的資源需求改變時,傳統的設備分配方式是必需先關閉伺服器,再拔出或重新***周邊設備置對應的匯流排。這些情形皆造成伺服器使用周邊設備的不便,並且由於不斷重新開啟伺服器,因此同時也會造成耗電量的增加。
本發明提供一種設備分配控制器,可支援周邊設備可熱***至匯流排,以直接分配至伺服器使用,並且還可支援周邊設備可從匯流排熱拔出,並重新分配周邊設備,以使增加周邊設備的分配靈活度,以有效節省能源的消耗。
本發明的設備分配控制器包括匯流排、周邊設備以及通訊介面。匯流排耦接多個周邊設備,並且所述多個周邊設備符合快捷外設互聯標準。通訊介面耦接至少一伺服器。所述設備分配控制器以及所述多個周邊設備透過所述通訊介面以與所述至少一伺服器溝通。處理器耦接匯流排。所述處理器用以分配所述多個周邊設備至所述至少一伺服器,並且監控所述匯流排與所述多個周邊設備的連接狀態。當另一周邊設備熱***至所述匯流排,以使所述匯流排發生熱插拔事件時,所述處理器判斷所述另一周邊設備是否具備實體功能或虛擬功能,並且所述處理器依據所述熱插拔事件重新分配所述多個周邊設備至所述至少一伺服器。
在本發明的一實施例中,上述的處理器依據預設的時間長度以循環監控耦接至匯流排的所述多個周邊設備的連接狀態,從而判斷匯流排是否發生熱插拔事件。
在本發明的一實施例中,上述的所述多個周邊設備以及所述另一周邊設備是選自輸入輸出虛擬化設備以及非輸入輸出虛擬化設備當中的至少其中之一,其中所述輸入輸出虛擬化設備包括單根輸入輸出虛擬化設備及多根輸入輸出虛擬化設備。
在本發明的一實施例中,當所述另一周邊設備為所述輸入輸出虛擬化設備時,所述設備分配控制器針對所述輸入輸出虛擬化設備的所述實體功能進行設定以產生對應的所述多個虛擬功能。
在本發明的一實施例中,當所述另一周邊設備為所述非輸入輸出虛擬化設備時,所述設備分配控制器致能所述非輸入輸出虛擬化設備,以執行所述非輸入輸出虛擬化設備的所述實體功能。
在本發明的一實施例中,當耦接至匯流排的所述多個周邊設備的其中之一從匯流排熱插拔時,上述的處理器輸出熱插拔信息至所述至少一伺服器。並且,處理器判斷所述至少一伺服器是否正透過匯流排使用熱插拔的周邊設備,其判斷方法包括:當所述至少一伺服器目前正透過匯流排使用熱插拔的周邊設備,處理器輸出警告信息至所述至少一伺服器;當所述至少一伺服器目前未透過匯流排使用熱插拔的周邊設備,處理器通知所述至少一伺服器卸載所述熱插拔的周邊設備。
本發明的設備分配控制器包括匯流排、通訊介面以及處理器。匯流排耦接多個周邊設備,並且所述多個周邊設備符合快捷外設互聯標準。通訊介面耦接至少一伺服器,並且所述至少一伺服器透過通訊介面與設備分配控制器以及耦接於匯流排的所述多個周邊設備溝通。處理器用以監控耦接至匯流排的所述多個周邊設備的連接狀態。處理器更包括用以判斷所述至少一伺服器是否符合預設的主控端規格,以決定是否依據所述多個周邊設備的連接狀態來提供設備資源信息至所述至少一伺服器。並且,處理器依據所述至少一伺服器的設備資源請求分配所述多個周邊設備至所述至少一伺服器。
在本發明的一實施例中,上述的處理器依據所述多個周邊設備的連接狀態建立設備資源池,並且所述至少一伺服器依據設備資源池來決定設備資源請求。
在本發明的一實施例中,當所述至少一伺服器的設備資源請求發生改變時,上述的處理器重新分配所述多個周邊設備至所述至少一伺服器。
在本發明的一實施例中,當匯流排發生熱插拔事件時,上述的處理器更新設備資源池,並且重新分配所述多個周邊設備至所述至少一伺服器。
在本發明的一實施例中,上述的所述多個周邊設備是選自輸入輸出虛擬化設備以及非輸入輸出虛擬化設備當中的至少其中之一。
本發明的設備分配方法適用於設備分配控制器。設備分配控制器透過匯流排耦接多個周邊設備,並且設備分配控制器以及所述多個周邊設備透過通訊介面與至少一伺服器進行資訊溝通。所述設備分配方法包括:分配所述多個周邊設備至所述至少一伺服器,並且監控所述匯流排與所述多個周邊設備的連接狀態;當另一周邊設備熱***至所述匯流排,以使所述匯流排發生熱插拔事件時,判斷所述另一周邊設備是否具備實體功能或虛擬功能;以及依據所述熱插拔事件重新分配所述多個周邊設備以及所述另一周邊設備至所述至少一伺服器。
在本發明的一實施例中,上述監控耦接至匯流排的所述多個周邊設備的連接狀態的步驟包括:依據預設的時間長度循環監控耦接至匯流排的所述多個周邊設備的連接狀態。
在本發明的一實施例中,上述判斷所述另一周邊設備是否具備所述實體功能或所述虛擬功能的步驟包括:當所述另一周邊設備為所述輸入輸出虛擬化設備時,針對所述輸入輸出虛擬化設備的所述實體功能進行設定以產生對應的所述多個虛擬功能。
在本發明的一實施例中,上述判斷所述另一周邊設備是否具備所述實體功能或所述虛擬功能的步驟包括:當所述另一周邊設備為所述非輸入輸出虛擬化設備時,致能所述非輸入輸出虛擬化設備,以執行所述非輸入輸出虛擬化設備的所述實體功能。
在本發明的一實施例中,上述當匯流排發生熱插拔事件時,依據熱插拔事件更新設備資源信息的步驟包括:當耦接至匯流排的所述多個周邊設備的其中之一熱插拔匯流排時,輸出熱插拔信息至所述至少一伺服器;以及判斷所述至少一伺服器是否正透過匯流排使用熱插拔的周邊設備,其判斷方法包括:當所述至少一伺服器目前正透過匯流排使用熱插拔的周邊設備時,輸出警告信息至所述至少一伺服器;以及當所述至少一伺服器目前未透過匯流排使用熱插拔的周邊設備時,通知所述至少一伺服器卸載熱插拔的周邊設備。
本發明的設備分配方法適用於設備分配控制器。所述設備分配控制器透過匯流排耦接多個周邊設備,並且透過通訊介面與至少一伺服器進行資訊溝通。所述設備分配方法包括:監控耦接至匯流排的所述多個周邊設備的連接狀態;判斷所述至少一伺服器是否符合一預設的主控端規格,以決定是否依據所述多個周邊設備的連接狀態來提供設備資源信息至所述至少一伺服器;以及依據所述至少一伺服器的設備資源請求分配所述多個周邊設備至所述至少一伺服器。
在本發明的一實施例中,上述監控耦接至匯流排的所述多個周邊設備的連接狀態的步驟包括:依據所述多個周邊設備的連接狀態建立設備資源池,以使所述至少一伺服器依據設備資源池來決定設備資源請求。
在本發明的一實施例中,上述依據所述至少一伺服器的設備資源請求分配所述多個周邊設備至所述至少一伺服器的步驟包括:當所述至少一伺服器的設備資源請求發生改變時,重新分配所述多個周邊設備至所述至少一伺服器。
在本發明的一實施例中,上述依據所述至少一伺服器的設備資源請求分配所述多個周邊設備至所述至少一伺服器的步驟包括:當匯流排發生熱插拔事件時,更新設備資源池,並且重新分配所述多個周邊設備至所述至少一伺服器。
基於上述,本發明實施例的設備分配控制器以及設備分配方法在伺服器啟動後,可監控周邊設備耦接至匯流排的連接情況,以使設備分配控制器接收到伺服器的使用需求後可以依據周邊設備的連接情況來進行周邊設備的分配。並且,當伺服器發生熱插拔事件時,設備分配控制器可以提醒伺服器,並且無須重新啟動伺服器,而直接重新分配現有周邊設備至伺服器。此外,本發明實施例的設備分配控制器以及設備分配方法可以偵測耦接的伺服器是否符合設備規格,以提醒使用者移除不相容的伺服器,再進行周邊設備的分配。藉此,本發明實施例便可有效提升伺服器使用周邊設備的靈活性以及避免能源的浪費。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
本發明實施例在周邊設備與伺服器之間的連接關係中,提出一種周邊設備的分配方法以及設備分配控制器,其使伺服器發生熱插拔事件(Hot plug event)時,無須重新啟動伺服器,而直接重新進行周邊設備的分配。並且,也可依據伺服器的使用需求改變,來重新分配周邊設備。藉此可以可有效達到能源的節省以及提升周邊設備的使用效率,並且避免熱插拔事件所造成伺服器的當機或損壞。
在本案說明書全文(包括申請專利範圍)中所使用的「耦接(或連接)」一詞可指任何直接或間接的連接手段。舉例而言,若文中描述第一裝置連接於第二裝置,則應該被解釋成該第一裝置可以直接連接於該第二裝置,或者該第一裝置可以透過其他裝置或某種連接手段而間接地耦接該第二裝置。另外,凡可能之處,在圖式及實施方式中使用相同標號的元件/構件/步驟代表相同或類似部分。不同實施例中使用相同標號或使用相同用語的元件/構件/步驟可以相互參照相關說明。
圖1繪示本發明一實施例的設備分配控制器100的方塊圖。請參考圖1,設備分配控制器100包括匯流排110、通訊介面120以及處理器130。在本實施例中,匯流排110耦接多個周邊設備140_1~140_n,並且周邊設備140_1~140_n皆符合快捷外設互聯標準(Peripheral Component Interconnect Express;PCIe),其中n為大於等於1的正整數。通訊介面120耦接多個伺服器200_1~200_m,其中m為大於等於1的正整數。在本實施例中,處理器130用以監控耦接至匯流排110的每一周邊設備140_1~140_n的連接狀態,並且依據每一周邊設備140_1~140_n的連接狀態來分配至每一伺服器200_1~200_m。
在本實施例中,設備分配控制器100為一種用於可動態分配周邊設備140_1~140_n至伺服器200_1~200_m或至少一作業系統(Operation System;OS)當中的多個虛擬機器(Virtual Machines;VM)的交換控制裝置。設備分配控制器100可控制周邊設備140_1~140_n與伺服器200_1~200_m之間的資料溝通與否。
在本實施例中,通訊介面120可以包括用於高速通訊傳輸的多個連接埠,並且這些連接埠符合PCIe標準。在本實施例中,通訊介面120可藉由纜線(Cable)分別耦接伺服器200_1~200_m,以提供周邊設備140_1~140_n以及伺服器200_1~200_m之間的資料傳輸功能。然而,本發明實施例對於設備分配控制器100以及伺服器200_1~200_m之間的耦接方式可視應用本實施例者所採用的傳輸介面而定,並藉由PCIe標準來進行相互溝通,本發明並不加以限制。在本實施例中,伺服器200_1~200_m可分別透過通訊介面120與設備分配控制器100以及周邊設備140_1~140_n溝通。
附帶一提,通訊介面120可耦接的伺服器數量可以依據使用者需求或是設備條件來決定,並調整連接埠的數量,本發明不加以限制。舉例來說,在一實施例中,耦接於通訊介面120的伺服器的最大數量可以例如是20個。
在本實施例中,處理器130可用以執行本發明各實施例的設備分配方法,處理器130例如是中央處理單元(Central Processing Unit;CPU)、可編程的通用或專用微處理器(Micro-Central Processing Unit;MCPU)、數位訊號處理器(Digital Signal Processor;DSP)、可編程控制器、特殊應用積體電路(Application Specific Integrated Circuit;ASIC)、可編程邏輯裝置(Programmable Logic Device;PLD)或任何其他類似的裝置或其組合等,以藉由軟體的程式或硬體的邏輯電路來實現本發明當中所述的設備分配方法。
在本實施例中,這些周邊設備140_1~140_n可以是選自輸入輸出虛擬化(I/O Virtualization,IOV)設備以及非輸入輸出虛擬化(Non I/O Virtualization,Non-IOV)設備的至少其中之一,其中輸入輸出虛擬化設備可以是單根輸入輸出虛擬化(Single Root I/O Virtualization;SR-IOV)設備或是多根輸入輸出虛擬化(Multi Root I/O Virtualization;MR-IOV)設備。也就是說,在本實施例中,周邊設備140_1~140_n可以包括圖形處理器(Graphics Processing Unit;GPU)、通用圖形設備分配控制器(General-Purpose computing on Graphics Processing Unit;GPGPU)、非揮發性記憶體(Non-Volatile Memory express;NVMe)、固態硬碟(Solid State Disk;SSD)、網路介面卡(Network Interface Controller;NIC)、場效可程式化閘極陣列(Field-Programmable Gate Array;FPGA)、獨立磁碟備援陣列(Redundant Array of Independent Disk;RAID)或任何其他類似的裝置或其組合等。舉例來說,上述各式周邊設備可以透過一單根輸入輸出虛擬化規範以將設備虛擬化為多個具有支援單根輸入輸出虛擬化技術的虛擬設備,並且進一步包括一或多個PCIe實體功能(Physical Function;PF),且各個實體功能可對應至少一個虛擬功能(Virtual Function;VF),其中虛擬功能可做為虛擬機器來被使用以及被分類。例如,一個實體功能可對應區分為64個虛擬功能。或者,周邊設備140_1~140_n也可以包括多個直接提供實體功能的實體設備。
具體來說,在本實施例中,伺服器200_1~200_m可分別依據設備資源信息SI來要求處理器130執行設備分配操作,以使處理器分配周邊設備140_1~140_n至每一伺服器200_1~200_m,其中設備分配操作是指處理器130分別依據每一伺服器200_1~200_m的設備使用需求來決定周邊設備140_1~140_n與伺服器200_1~200_m之間的連接狀況。更重要的是,在本實施例中,當匯流排110發生熱插拔事件(Hot plug event)時,處理器130可依據熱插拔事件更新設備資源信息SI,以使每一伺服器200_1~200_m可依據更新後的設備資源信息SI來要求處理器130分別重新分配可用的周邊設備至伺服器200_1~200_m。
需說明的是,本發明所述的熱插拔事件是指當設備分配控制器100於啟動後,在不切斷電源的情況下,額外的另一周邊設備熱***(Hot plug in)至匯流排110。或者,當設備分配控制器100於啟動後,在不切斷電源的情況下,周邊設備140_1~140_n當中的至少其中之一從匯流排110熱拔出(Hot plug out)。並且,在本實施例中,處理器130可設定一個時間長度,利用循環監控的方式監控匯流排110與周邊設備之間的連接狀態,以判斷匯流排130是否發生熱插拔事件。
圖2繪示本發明一實施例的設備分配方法的流程圖。請參考圖1、圖2,本實施例的方法至少適用於圖1中的設備分配控制器100。在本實施例中,設備分配控制器100的處理器130透過匯流排110耦接多個周邊設備140_1~140_n,並且透過通訊介面120分別與伺服器200_1~200_m進行資訊溝通。在步驟S210中,處理器130分配周邊設備140_1~140_n至伺服器200_1~200_m,並且監控匯流排110與周邊設備140_1~140_n的連接狀態。在步驟S220中,當另一周邊設備熱***至匯流排110,以使匯流排110發生熱插拔事件時,處理器130判斷另一周邊設備是否具備實體功能或虛擬功能。在步驟S230中,處理器130依據熱插拔事件重新分配周邊設備140_1~140_n以及另一周邊設備至伺服器200_1~200_m。
也就是說,在本實施例中,設備分配控制器100的處理器130可用以依據伺服器200_1~200_m的設備資源需求來分配周邊設備140_1~140_n的實體功能或虛擬功能供伺服器200_1~200_m使用。並且,當發生另一周邊設備熱***至匯流排110時,在設備分配控制器100不斷電的情況下,設備分配控制器100可重新分配周邊設備140_1~140_n以及熱***的另一周邊設備至伺服器200_1~200_m。
另外,在一實施例中,設備分配控制器100可用以循環監控耦接至匯流排110的周邊設備的連接狀態,以判斷匯流排110是否發生熱插拔事件。設備分配控制器100可預先設定時間長度為0.1秒、1秒或者10秒等的循環監控的時間長度,以使設備分配控制器100可每0.1秒、1秒或者10秒等反覆監控匯流排110,其中循環監控的時間長度本發明並不加以限制。在一實施例中,循環監控的時間長度可依據使用者需求或是設備條件來決定。
圖3繪示本發明一實施例當發生熱插拔事件時的判斷流程圖。請參考圖1、圖3,本實施例的方法至少適用於圖1中的設備分配控制器100。在本實施例中,當設備分配控制器100於啟動後,並且在設備分配控制器100不切斷電源的情況下,若額外的另一周邊設備熱***至該匯流排110,則設備分配控制器100將執行如圖3所示的判斷流程。
在步驟S310中,當處理器130監測到另一周邊設備熱***至匯流排110時,處理器130將判斷另一周邊設備是屬於輸入輸出虛擬化設備或是非輸入輸出虛擬化設備。在步驟S320中,當另一周邊設備為輸入輸出虛擬化設備時,處理器130針對輸入輸出虛擬化設備的實體功能進行設定以產生對應的多個虛擬功能。在步驟S330中,若當另一周邊設備為非輸入輸出虛擬化設備時,處理器130直接致能非輸入輸出虛擬化設備,以執行非輸入輸出虛擬化設備的實體功能,並且使伺服器200_1~200_m可直接使用熱***至匯流排110的非輸入輸出虛擬化設備的實體功能。當步驟S320或S330執行完畢後,在步驟S340中,處理器130可重新分配周邊設備140_1~140_n以及另一周邊設備至伺服器200_1~200_m。
也就是說,在本實施例中,設備分配控制器100可判斷熱***至匯流排110的另一周邊設備是屬於輸入輸出虛擬化設備或是非輸入輸出虛擬化設備,以進行對應的操作步驟,以使設備分配控制器100可在不切斷電源的情況下,將熱***至匯流排110的周邊設備的實體功能或虛擬功能直接分配至伺服器200_1~200_m的其中之一使用之。
圖4繪示本發明另一實施例當發生熱插拔事件時的判斷流程圖。請參考圖1、圖4,本實施例的方法至少適用於圖1中的設備分配控制器100。在本實施例中,當設備分配控制器100於啟動後,在不切斷電源的情況下,周邊設備140_1~140_n當中的至少其中之一從匯流排110熱拔出,則設備分配控制器100將執行如圖4所示的判斷流程。
在步驟S410中,當耦接至匯流排110的周邊設備140_1~140_n的至少其中之一熱插拔出匯流排110時,處理器130輸出熱插拔信息至使用熱拔出的周邊設備的對應伺服器,以告知對應伺服器發生熱插拔事件。在步驟S420中,處理器130判斷對應伺服器是否正透過匯流排使用熱拔出的周邊設備。在步驟S430中,當對應伺服器目前正透過匯流排使用熱拔出的周邊設備時,輸出警告信息至對應伺服器,並且依據一個預設次數重複輸出通知訊息至對應伺服器,以使對應伺服器的作業軟體可依據通知訊號停止與熱拔出的周邊設備進行資料傳輸動作,並且回到步驟S420重新判斷。在本實施例中,預定次數可依據使用者需求或是設備條件來設定之,本發明並不加以限制。在步驟S440中,若處理器130重複輸出警告信息至伺服器以達預定次數,則處理器130輸出警告訊息(Alarm)至伺服器200,以通知使用者須手動操作以卸載(Uninstall)或停止使用伺服器使用周邊設備,或是要求伺服器強制移除(Remove)周邊設備的功能。在步驟S450中,當伺服器目前未透過匯流排使用熱拔出的周邊設備時,處理器通知伺服器卸載周邊設備。在步驟S460中,設備分配控制器停止致能周邊設備以移除(Remove)或卸載(Uninstall)熱拔出的周邊設備。
在本實施例中,當處理器130偵測到周邊設備140_1~140_n當中的至少其中之一從匯流排110熱拔出時,若伺服器200_1~200_m的至少其中之一仍透過匯流排使用熱拔出的周邊設備,處理器130將傳輸預定次數的警號訊息至使用熱拔出的周邊設備的對應伺服器,以使對應伺服器的作業系統可依據警號訊息來停止與熱拔出的周邊設備進行資料傳輸動作。也就是說,在本實施例中,設備分配控制器100可以在不斷電的情況下熱拔出與耦接匯流排110的周邊設備,並且可避免原先使用熱拔出的周邊設備的伺服器因為發生熱插拔事件而發生資料傳輸錯誤。
值得注意的是,本發明所指周邊設備140_1~140_n的至少其中之一從匯流排110熱拔出可以是指周邊設備140_1~140_n的至少其中之一以有預期或無預期的方式從匯流排110熱拔出。或者,是指設備分配控制器100將周邊設備140_1~140_n的至少其中之一從伺服器200_1~200_m的其中之一分配給伺服器200_1~200_m的其中之另一使用。在一實施例中,若已預先告知周邊設備140_1~140_n的至少其中之一將從匯流排110熱拔出或是分配給其他伺服器使用,則對應伺服器將預先停止與熱拔出的周邊設備進行資料傳輸動作。接著,設備分配控制器100的處理器130再依據如圖4所示的判斷流程來完成周邊設備的卸載。
圖5繪示本發明另一實施例的設備分配方法的流程圖。請參考圖1、圖5,本實施例的方法至少適用於圖1中的設備分配控制器100。在本實施例中,設備分配控制器100的處理器130透過匯流排110耦接多個周邊設備140_1~140_n,並且透過通訊介面120分別與伺服器200_1~200_m進行資訊溝通。在步驟S510中,處理器130監控耦接至匯流排110的周邊設備140_1~140_n的連接狀態。在步驟S520中,處理器130判斷每一伺服器200_1~200_m是否符合主控端規格,以決定是否依據周邊設備140_1~140_n的連接狀態來分別提供設備資源信息至每一伺服器200_1~200_m。在步驟S530中,若伺服器200_1~200_m當中的至少其中之一不符合主控端規格,則處理器130輸出警告訊號至不符合主控端規格的伺服器,以通知使用者須停止使用或移除不符合主控端規格的伺服器。在步驟S540中,處理器130依據符合主控端規格的伺服器的設備資源請求分配所述多個周邊設備140_1~140_n至符合主控端規格的伺服器。
在本實施例中,處理器130可分別判斷伺服器200_1~200_m是否相容於設備分配控制器100以及周邊設備140_1~140_n。其中,預設的主控端規格可以是指伺服器須具備特定的軟體體規格(如,64-bit BIOS的韌體規格或Linux OS作業系統)的條件下,設備分配控制器100才依據伺服器的設備資源請求來分配周邊設備140_1~140_n至伺服器。反之,設備分配控制器100將輸出警告訊息(Alarm)至未符合預設的主控端規格的伺服器,以提醒使用者。然而,在本實施例中,預設的主控端規格可依據使用者需求或是設備條件來設計之,本發明並不加以限制。
此外,本實施例的設備分配控制器以及伺服器的相關裝置特徵以及設備分配方法可由上述關於圖1至圖3的各實施例的敘述當中,獲得足夠的教示、建議以及實施方式,在此不再加以贅述。
再參考圖1,在一實施例中,處理器130也可以依據周邊設備140_1~140_n與匯流排110之間的連接情況建立設備資源池(Resource pool)。處理器130將設備資源池作為設備資源信息SI,並且分別提供設備資源信息SI至伺服器200_1~200_m,以使伺服器200_1~200_m可依據設備資源池來分別決定各自所需的設備資源請求。並且,當匯流排110發生熱插拔事件時,處理器130將會更新設備資源池,並重新分配現有的周邊設備至伺服器200_1~200_m。此外,當伺服器200_1~200_m的至少其中之一的設備資源請求發生改變時,處理器130也將會重新分配周邊設備140_1~140_n至伺服器200_1~200_m。
綜上所述,本發明實施例的設備分配控制器可以伺服器啟動後,監控周邊設備耦接至匯流排的連接情況,並且建立設備資源池。並且,當伺服器發生熱插拔事件時,設備分配控制器可以更新設備資源池,並且通知伺服器,以直接進行周邊設備的重新分配,而無須重新啟動伺服器。也就是說,本發明實施例的設備分配控制器可針對熱***的周邊設備直接進行設定,並且針對熱拔出的周邊設備可以提醒使用熱拔出的周邊設備的伺服器進行周邊設備的卸載或移除,而無須重新啟動伺服器。此外,本發明實施例的設備分配控制器還可以偵測耦接的伺服器是否符合設備規格,以提醒使用者移除不相容的伺服器,再進行周邊設備的分配。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
100‧‧‧設備分配控制器
110‧‧‧匯流排
120‧‧‧通訊介面
130‧‧‧處理器
140_1~140_n‧‧‧周邊設備
200_1~200_m‧‧‧伺服器
S210、S220、S230、S310、S320、S330、S340、S410、S420、S430、S440、S450、S460、S510、S520、S530‧‧‧步驟
SI‧‧‧設備資源信息
110‧‧‧匯流排
120‧‧‧通訊介面
130‧‧‧處理器
140_1~140_n‧‧‧周邊設備
200_1~200_m‧‧‧伺服器
S210、S220、S230、S310、S320、S330、S340、S410、S420、S430、S440、S450、S460、S510、S520、S530‧‧‧步驟
SI‧‧‧設備資源信息
圖1繪示本發明一實施例的設備分配控制器的方塊圖。 圖2繪示本發明一實施例的設備分配方法的流程圖。 圖3繪示本發明一實施例當發生熱插拔事件時的判斷流程圖。 圖4繪示本發明另一實施例當發生熱插拔事件時的判斷流程圖。 圖5繪示本發明另一實施例的設備分配方法的流程圖。
100‧‧‧設備分配控制器
110‧‧‧匯流排
120‧‧‧通訊介面
130‧‧‧處理器
140_1~140_n‧‧‧周邊設備
200_1~200_m‧‧‧伺服器
SI‧‧‧設備資源信息
Claims (20)
- 一種設備分配控制器,包括: 一匯流排,耦接多個周邊設備,並且該些周邊設備符合一快捷外設互聯標準; 一通訊介面,耦接至少一伺服器,並且該設備分配控制器以及該些周邊設備透過該通訊介面以與該至少一伺服器溝通;以及 一處理器,耦接該匯流排,用以分配該些周邊設備至該至少一伺服器,並且監控該匯流排與該些周邊設備的連接狀態, 其中,當另一周邊設備熱***至該匯流排以使該匯流排發生一熱插拔事件時,該處理器判斷該另一周邊設備是否具備一實體功能或一虛擬功能,並且該處理器依據該熱插拔事件重新分配該些周邊設備至該至少一伺服器。
- 如申請專利範圍第1項所述的設備分配控制器,其中該處理器依據一預設的時間長度以循環監控耦接至該匯流排的該些周邊設備的連接狀態,從而判斷該匯流排是否發生該熱插拔事件。
- 如申請專利範圍第1項所述的設備分配控制器,其中該些周邊設備以及該另一周邊設備是選自一輸入輸出虛擬化設備以及一非輸入輸出虛擬化設備當中的至少其中之一,其中該輸入輸出虛擬化設備包括一單根輸入輸出虛擬化設備及一多根輸入輸出虛擬化設備。
- 如申請專利範圍第3項所述的設備分配控制器,其中當該另一周邊設備為該輸入輸出虛擬化設備時,該設備分配控制器針對該輸入輸出虛擬化設備的該實體功能進行設定以產生對應的多個虛擬功能。
- 如申請專利範圍第3項所述的設備分配控制器,其中當該另一周邊設備為該非輸入輸出虛擬化設備時,該設備分配控制器致能該非輸入輸出虛擬化設備,以執行該非輸入輸出虛擬化設備的該實體功能。
- 如申請專利範圍第1項所述的設備分配控制器,其中當耦接至該匯流排的該些周邊設備的其中之一從該匯流排熱插拔時,該處理器輸出一熱插拔信息至該至少一伺服器,並且判斷該至少一伺服器是否正透過該匯流排使用一熱插拔的周邊設備,其判斷方法包括: 當該至少一伺服器目前正透過該匯流排使用該熱插拔的周邊設備,該處理器輸出一警告信息至該至少一伺服器;以及 當該至少一伺服器目前未透過該匯流排使用該熱插拔的周邊設備,該處理器通知該至少一伺服器卸載該熱插拔的周邊設備。
- 一種設備分配控制器,包括: 一匯流排,耦接多個周邊設備,並且該些周邊設備符合一快捷外設互聯標準; 一通訊介面,耦接至少一伺服器,並且該至少一伺服器透過該通訊介面與該設備分配控制器以及該些周邊設備溝通;以及 一處理器,用以監控耦接至該匯流排的該些周邊設備的連接狀態, 其中,該處理器更包括用以判斷該至少一伺服器是否符合一預設的主控端規格,以決定是否依據該些周邊設備的連接狀態來提供一設備資源信息至該至少一伺服器,並且依據該至少一伺服器的一設備資源請求分配該些周邊設備至該至少一伺服器。
- 如申請專利範圍第7項所述的設備分配控制器,其中該處理器依據該些周邊設備的連接狀態建立一設備資源池,並且該至少一伺服器依據該設備資源池來決定該設備資源請求。
- 如申請專利範圍第8項所述的設備分配控制器,其中當該至少一伺服器的該設備資源請求發生改變時,該處理器重新分配該些周邊設備至該至少一伺服器。
- 如申請專利範圍第8項所述的設備分配控制器,當該匯流排發生一熱插拔事件時,該處理器更新該設備資源池,並且重新分配該些周邊設備至該至少一伺服器。
- 如申請專利範圍第7項所述的設備分配控制器,其中該些周邊設備是選自一輸入輸出虛擬化設備以及一非輸入輸出虛擬化設備當中的至少其中之一。
- 一種設備分配方法,適用於一設備分配控制器,該設備分配控制器透過一匯流排耦接多個周邊設備,並且該設備分配控制器以及該些周邊設備透過一通訊介面以與至少一伺服器進行一資料溝通,其中該設備分配方法包括: 分配該些周邊設備至該至少一伺服器,並且監控該匯流排與該些周邊設備的連接狀態; 當另一周邊設備熱***至該匯流排,以使該匯流排發生一熱插拔事件時,判斷該另一周邊設備是否具備一實體功能或一虛擬功能;以及 依據該熱插拔事件重新分配該些周邊設備以及該另一周邊設備至該至少一伺服器。
- 如申請專利範圍第12項所述的設備分配方法,其中監控耦接至該匯流排的該些周邊設備的連接狀態的步驟包括: 依據一預設的時間長度循環監控耦接至該匯流排的該些周邊設備的連接狀態。
- 如申請專利範圍第12項所述的設備分配方法,其中判斷該另一周邊設備是否具備該實體功能或該虛擬功能的步驟包括: 當該另一周邊設備為該輸入輸出虛擬化設備時,針對該輸入輸出虛擬化設備的該實體功能進行設定以產生對應的多個虛擬功能。
- 如申請專利範圍第12項所述的設備分配方法,其中判斷該另一周邊設備是否具備該實體功能或該虛擬功能的步驟包括: 當該另一周邊設備為該非輸入輸出虛擬化設備時,致能該非輸入輸出虛擬化設備,以執行該非輸入輸出虛擬化設備的該實體功能。
- 如申請專利範圍第12項所述的設備分配方法,其中當該匯流排發生該熱插拔事件時,依據該熱插拔事件更新該設備資源信息的步驟包括: 當耦接至該匯流排的該些周邊設備的其中之一熱插拔該匯流排時,輸出一熱插拔信息至該至少一伺服器;以及 判斷該至少一伺服器是否正透過該匯流排使用一熱插拔的周邊設備,其判斷方法包括: 當該至少一伺服器目前正透過該匯流排使用該熱插拔的周邊設備時,輸出一警告信息至該至少一伺服器;以及 當該至少一伺服器目前未透過該匯流排使用該熱插拔的周邊設備時,通知該至少一伺服器卸載該熱插拔的周邊設備。
- 一種設備分配方法,適用於一設備分配控制器,該設備分配控制器透過一匯流排耦接多個周邊設備,並且透過一通訊介面與至少一伺服器進行一資訊溝通,其中該設備分配方法包括: 監控耦接至該匯流排的該些周邊設備的連接狀態; 判斷該至少一伺服器是否符合一預設的主控端規格,以決定是否依據該些周邊設備的連接狀態來提供一設備資源信息至該至少一伺服器;以及 依據該至少一伺服器的一設備資源請求分配該些周邊設備至該至少一伺服器。
- 如申請專利範圍第17項所述的設備分配方法,其中監控耦接至該匯流排的該些周邊設備的連接狀態的步驟包括: 依據該些周邊設備的連接狀態建立一設備資源池,以使該至少一伺服器依據該設備資源池來決定該設備資源請求。
- 如申請專利範圍第18項所述的設備分配控制器,其中依據該至少一伺服器的該設備資源請求分配該些周邊設備至該至少一伺服器的步驟包括: 當該至少一伺服器的該設備資源請求發生改變時,重新分配該些周邊設備至該至少一伺服器。
- 如申請專利範圍第18項所述的設備分配控制器,其中依據該至少一伺服器的該設備資源請求分配該些周邊設備至該至少一伺服器的步驟包括: 當該匯流排發生一熱插拔事件時,更新該設備資源池,並且重新分配該些周邊設備至該至少一伺服器。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105125445A TWI598740B (zh) | 2016-08-10 | 2016-08-10 | 設備分配控制器以及設備分配方法 |
US15/367,193 US20180046508A1 (en) | 2016-08-10 | 2016-12-02 | Apparatus allocating controller and apparatus allocating method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105125445A TWI598740B (zh) | 2016-08-10 | 2016-08-10 | 設備分配控制器以及設備分配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI598740B TWI598740B (zh) | 2017-09-11 |
TW201805830A true TW201805830A (zh) | 2018-02-16 |
Family
ID=60719341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105125445A TWI598740B (zh) | 2016-08-10 | 2016-08-10 | 設備分配控制器以及設備分配方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20180046508A1 (zh) |
TW (1) | TWI598740B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI645293B (zh) * | 2017-11-30 | 2018-12-21 | 財團法人工業技術研究院 | 在多根輸入輸出虛擬化環境中虛擬機器即時遷移的方法、系統及其計算主機 |
JP6439954B1 (ja) * | 2018-03-20 | 2018-12-19 | 株式会社CambrianRobotics | 制御システム、制御方法、及び基礎パーツ |
JP2020024558A (ja) * | 2018-08-07 | 2020-02-13 | 富士通株式会社 | 情報処理装置および制御方法 |
CN109684084A (zh) * | 2018-12-12 | 2019-04-26 | 浪潮(北京)电子信息产业有限公司 | 一种总线资源的分配方法、***及相关组件 |
TWI739235B (zh) * | 2019-12-12 | 2021-09-11 | 中華電信股份有限公司 | 一種gpu運算資源指配系統及其方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8285907B2 (en) * | 2004-12-10 | 2012-10-09 | Intel Corporation | Packet processing in switched fabric networks |
TW201015336A (en) * | 2008-10-03 | 2010-04-16 | Accusys Technology Ltd | Shared-storage bus switch |
TWI556174B (zh) * | 2014-03-05 | 2016-11-01 | 威盛電子股份有限公司 | 虛擬功能分配系統、方法及其管理主機 |
TWM516184U (zh) * | 2015-07-22 | 2016-01-21 | Embestor Technology Inc | 具有插卡式擴充功能之固態硬碟控制器 |
-
2016
- 2016-08-10 TW TW105125445A patent/TWI598740B/zh not_active IP Right Cessation
- 2016-12-02 US US15/367,193 patent/US20180046508A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20180046508A1 (en) | 2018-02-15 |
TWI598740B (zh) | 2017-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI598740B (zh) | 設備分配控制器以及設備分配方法 | |
JP4934642B2 (ja) | 計算機システム | |
US10387346B2 (en) | Dynamic PCIE switch reconfiguration mechanism | |
US9792240B2 (en) | Method for dynamic configuration of a PCIE slot device for single or multi root ability | |
US8504780B2 (en) | Computer, computer system, and data communication method | |
WO2016037503A1 (zh) | PCIe拓扑的配置方法和装置 | |
US9645954B2 (en) | Embedded microcontroller and buses | |
US8930507B2 (en) | Physical memory shared among logical partitions in a VLAN | |
TWI556174B (zh) | 虛擬功能分配系統、方法及其管理主機 | |
US10372639B2 (en) | System and method to avoid SMBus address conflicts via a baseboard management controller | |
US20090276773A1 (en) | Multi-Root I/O Virtualization Using Separate Management Facilities of Multiple Logical Partitions | |
US9811488B2 (en) | Apparatus and methods for dynamic role switching among USB hosts and devices | |
EP3073377B1 (en) | Hardware-based inter-device resource sharing | |
TW200405206A (en) | Virtualization of input/output devices in a logically partitioned data processing system | |
US10592285B2 (en) | System and method for information handling system input/output resource management | |
WO2014026374A1 (zh) | 服务器***、管理方法及设备 | |
JP2006523339A (ja) | ロジカル・パーティション・コンピュータ・システム内のリソース転送を制御するための装置および方法 | |
CN103609077A (zh) | 用于数据传输的方法、装置和***以及物理网卡 | |
CN103701881A (zh) | 一种支持i/o功能动态分配的虚拟热插拔***及其工作方法 | |
TWI616759B (zh) | 設備分配控制器以及設備分配方法 | |
US9146863B2 (en) | Address translation table to enable access to virtualized functions | |
US10540308B2 (en) | System and method for providing a remote keyboard/video/mouse in a headless server | |
US10996942B1 (en) | System and method for graphics processing unit firmware updates | |
WO2017124918A1 (zh) | 一种设备热处理方法和装置 | |
TWI615720B (zh) | 資源分配系統、設備分配控制器以及設備識別方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |