TWI613548B - 遠端平台管理之計算裝置實施方法、保存用於遠端平台管理的電腦可執行指令之非暫時性媒體、以及遠端管理式計算裝置 - Google Patents
遠端平台管理之計算裝置實施方法、保存用於遠端平台管理的電腦可執行指令之非暫時性媒體、以及遠端管理式計算裝置 Download PDFInfo
- Publication number
- TWI613548B TWI613548B TW103109902A TW103109902A TWI613548B TW I613548 B TWI613548 B TW I613548B TW 103109902 A TW103109902 A TW 103109902A TW 103109902 A TW103109902 A TW 103109902A TW I613548 B TWI613548 B TW I613548B
- Authority
- TW
- Taiwan
- Prior art keywords
- packet
- smbus
- nic
- computing device
- bus
- Prior art date
Links
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/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Stored Programmes (AREA)
Abstract
一種降低提供基於網路之遠端平台管理的成本,其使系統韌體能夠藉由一亦使用於正常網路訊務的NIC而與一遠端平台管理員或程序進行通信。NIC的雙重用途係藉由消除在計算裝置上專用於遠端管理工作之副控制裝置或CPU核心的需求而降低遠端平台管理的成本。此外,該計算裝置的性能會於CPU的核心或執行緒未專用於管理工作而可用於處置其他工作時改善。
Description
本申請案主張2013年3月21日申請、名稱為「SMM韌體與OS驅動程式間之網路控制器共享方法(NETWORK CONTROLLER SHARING BETWEEN SMM FIRMWARE AND OS DRIVERS)」的美國臨時專利申請案第61/803,974號的權益,其全部內容以引用方式併入本文中。
本發明係關於SMM(系統管理模式)韌體與OS(作業系統)驅動程式間之網路控制器共享方法。
計算裝置藉由包括於該裝置內之韌體來初始化,且此韌體提供一系列軟體服務,該等軟體服務促進作業系統(OS)之啟動以及提供在該作業系統已啟動之後繼續可用的此等服務之較小子集。韌體為已經寫入至唯讀記憶
體(ROM)模組上之軟體,ROM模組包括(但不限於)ROM、PROM、EPROM、EEPROM及快閃記憶體(在下文統稱為「ROM」)。除了其他服務之外,韌體亦負責計算裝置之操作直至可執行開機程序為止,該開機程序將用於計算裝置之作業系統載入至記憶體中。一旦經載入,該作業系統便負責計算裝置之正常操作,但出於安全性及其他原因,在作業系統之載入後提供某些服務可需要將控制自作業系統轉變回至韌體。
計算裝置可含有稱作中央處理單元(CPU)之一或更多個元件。這些CPU具有正常操作模式及稱作系統管理模式(SMM)之第二操作模式。當CPU處於正常操作模式時,CPU可存取除了專用於SMM之某些記憶體區域以外的所有電腦元件。相比之下,當CPU於SMM中操作時,CPU能夠存取計算裝置之所有元件(包括分配給SMM的記憶體位置)。CPU可針對由稱作系統管理中斷(SMI)事件之數個觸發器自正常操作模式轉變至SMM。可利用的精確觸發器與其他系統設計略有不同,但觸發SMI的結果為主記憶體中之執行被立即暫停且執行開始於SMM記憶體中之特定位置。
除了CPU外,計算裝置包含多種其他硬體元件。這些其他硬體元件可包含一系統管理匯流排(SMBus)及一或多個網路介面控制器(NIC)。該SMBus係為一雙線匯流排,其提供與主機板上低頻寬裝置的輕度通信。該等裝置可提供通過SMBus的資訊,包含識別資訊、其對於
休眠事件的儲存狀態、以及不同的錯誤類型,且該等裝置亦可接受控制參數並回傳裝置狀態。典型可通過SMBus通信的裝置包含與電力有關的晶片、溫度感測器、風扇或電壓感測器、以及時序晶片等。NIC係為該計算裝置於網路訊務上所使用。NIC係可內建於主機板內或可經由一插入該計算裝置一匯流排上之擴充卡而提供。NIC係使用一特定的實體層及標準資料鏈路層而實施通信所需之電子電路,並使能夠通過可路由協定(諸如網際網路協定(IP))進行網路訊務。於作業系統已加載後經由NIC所接收的輸入封包係可提供給一作業系統驅動程式進行處置。除了別的屬性外,計算裝置中的NIC存在亦可使通信能夠在該計算裝置與一位於遠處的使用者或期待遠端管理該計算裝置的程序之間發生。
本發明該等實施例藉由使系統韌體能夠藉由共享使用於正常網路訊務之NIC而與一遠端平台管理者或程序通信,而降低提供基於網路之遠端平台管理的成本。NIC的雙重用途藉由消除在計算裝置上專用於遠端管理工作之副控制裝置或CPU核心的需求而降低遠端平台管理的成本。此外,該計算裝置的性能會於CPU的核心或執行緒未專用於管理工作而可用於處置其他工作時改善。
在一實施例中,一遠端平台管理之計算裝置實施方法係包含重新導向一經由一NIC所接收之選定網路
封包。該選定網路封包係做為通過一SMBus的一SMBus封包而重新導向及傳送至一與一預定義SMBus位址相關的目標。於接收該SMBus封包時,一SMI係由一SMBus主機控制器所產生。該SMI藉由該計算裝置的一CPU觸發一轉變到SMM的轉變。該SMBus封包的內容係接著由該系統韌體擷取。根據一檢查結果,一回覆SMBus封包係傳送至該NIC並組合至一網路封包內。該經組合的網路封包係經由該NIC而發送至該選定網路封包的一發送器,以於該選定網路封包的發送器與該系統韌體之間建立一遠端管理連結。
在一實施例中,一遠端管理式計算裝置係包含一支援SMM之CPU。該計算裝置亦包含一NIC,供接收及傳送通過一網路之網路封包。該NIC係經配置以重新導向一經由該NIC通過一SMBus所接收做為一SMBus封包之選定網路封包至一與一預定義SMBus位址相關的目標。該計算裝置另外包含一SMBus主機控制器,供管理該SMBus。該SMBus主機控制器係經配置以於接收該SMBus封包時產生一SMI,該SMI觸發一轉變到SMM的轉變。該計算裝置進一步包含了系統韌體,其在執行時係自該SMBus主機控制器擷取該SMBus封包並檢查其內容。根據一檢查結果,一SMBus回覆封包係傳送至該NIC並組合至一網路封包內。該組合網路封包係經由該NIC傳送至該選定網路封包的一發送器,以建立一遠端管理連結。
在一實施例中,一用於遠端平台管理之計算裝置實施方法係包含重新導向一經由一網路介面控制器所接收之選定網路封包。該選定網路封包係做為一匯流排封包通過一平台重新導向至一與一預定義匯流排位址相關的目標。該方法亦於接收該匯流排封包時,以一匯流排主機控制器產生一不可隱藏的中斷(non-maskable interrupt)。該不可隱藏的中斷係使該計算裝置的控制轉移至系統韌體。系統韌體自該匯流排主機控制器擷取該匯流排封包並檢查其內容。該韌體亦根據一檢查結果傳送一回覆匯流排封包至該NIC。該回覆匯流排封包係在該NIC組合至一網路封包內且經由該NIC而發送,以建立一遠端管理連結。
100‧‧‧計算裝置
110‧‧‧網路介面控制器(NIC)
111‧‧‧PCI匯流排
112‧‧‧系統管理匯流排(SMBus)
114‧‧‧乙太網路連接埠0
115‧‧‧乙太網連接埠1
120‧‧‧晶片組平台控制集線器
122‧‧‧SMBus控制器
130‧‧‧NIC EEPROM
150‧‧‧CPU
180‧‧‧ROM
190‧‧‧系統韌體
230‧‧‧系統韌體網路用戶端
240‧‧‧作業系統驅動程式
250‧‧‧遠端管理員網路訊務
260‧‧‧正常網路訊務
300‧‧‧SMI分配器
310‧‧‧SMBus處置器
330‧‧‧網路用戶端
併入本說明書中且構成本說明書之一部分的圖式說明本發明之一或多個實施例,且與描述一起幫助解釋本發明。在圖式中:圖1描繪一適於實踐本發明之一實施例的例示性計算裝置;圖2描繪通過一使用於本發明之一實施例中的共享NIC的例示性網路訊務;圖3描繪一為本發明之一實施例所使用的例示性軟體堆疊;以及圖4描繪本發明之一實施例所依循以使用一共享NIC而建立一遠端管理連結之例示性步驟序列。
由成本及資源的角度,基於網路之遠端平台管理係昂貴的。先前對於基於網路之遠端平台管理的方法包括了使用遠端啟動應用程式或內建管理應用程式、使用基板管理控制器或一管理引擎、並需要一獨立NIC及/或嘗試性作業系統及韌體混合方法。如下文進一步所論述,這些先前嘗試性方案之每一者會遭受到一或多個缺點,無論是需要額外的硬體、缺乏所需的功能性或是需要專用系統資源而對平台效能有負面影響。
在一遠端啟動應用程式或內建管理應用程式的情況下,一應用程式係由系統韌體、一硬碟或一遠端伺服器所啟動(例如藉由PXE),且此應用程式係可執行與一遠端管理代理人間的必要通信以報告某些系統狀態(啟動、感測器),並執行某些診斷及給予存取硬碟內容供遠端配置。此其中一個實例為Paragon's iSCSI Target Software。此方法提供對於平台在啟動前的存取,並可在每次啟動時執行。然而,該方法於作業系統載入後並未在平台與一管理應用程式之間提供一連續性連結,並且,在某些情況下,由於在平台上感測器未被發現或識別,而可能不會提供對感測器資訊的存取。
基板管理控制器(BMC)係用於多種特別為遠端平台管理設計的微控制器的通用名稱。BMC控制器通常實施智慧平台管理介面(IPMI)、桌上型及行動式系統硬體架構(DASH)及/或警示標準格式(ASF)平台管理規範,以及
其專有標準。BMC通常維持有電力,即使當系統的其於部分沒有電力時。BMC係做為遠端管理者(其使用網路介面)、系統韌體、平台感測器以及在某些情況中與作業系統之間的媒介。在某些情況下,BMC本身具有一整合式NIC。在其他情況中,其經由SMBus或一專用介面而使用一特別的NIC連結(諸如Intel 82571)。BMC並未依賴系統韌體或作業系統。BMC需要一專用的網路介面控制器(NIC)或某些分享NIC的裝置。除了平台外,BMC在元件成本及軟體開法成本二者上通常是昂貴的(因為其通常是一使用不同工具鏈的不同微控制器)。BMC也不具有對所有系統資訊的存取,因為其不能通常性地存取硬體暫存器、記憶體內容或CPU暫存器。同樣地,管理引擎(ME)是設在許多英特爾晶片組中的系統控制器,其實施與BMC一樣的功能。因為它是內建於晶片組內,其對於系統暫存器還具有額外的存取。
在另一方法中,一第二專用NIC係可用於與該遠端管理員通信。在這情況下,系統韌體可與該專用NIC一起使用。然而,該獨立NIC係不為作業系統所察知,或者經修改而具有一非標準的分類碼讓作業系統不會為其載入驅動程式。該獨立NIC的使用會增加硬體的成本並增加該計算平台的複雜度。
或者,某些系統係倚賴作業系統的及系統韌體的BIOS功能,以提供增進的管理功能性。在啟動前,該韌體係可與該管理員進行遠端通信以提供登錄資訊,並
經由諸如先啟動執行環境(PXE)、網際網路協定安全(IPsec)及統一可延伸韌體介面(UEFI)網路連結等特性而接收任何更新資訊。於啟動後,作業系統可經由作業系統驅動程式及服務而提供此功能性。然而此混合方法即為一個問題,因其於韌體與作業系統之間需要交遞,且許多作業系統可能不支援這樣的交遞。因此,該基板供應商不能確定其是否具有完整的致能平台管理。
相對於這些及其他先前執行基於網路之遠端平台管理的嘗試,本發明不需獨立的NIC或獨立的BMC,係可於一作業系統執行時藉由系統韌體而容許網路訊務。如上文所論述,為了在OS執行時進行通信,韌體通常需要一不為作業系統所察知的獨立NIC,使其對於該NIC硬體的存取不會與OS程序的存取相衝突。本發明該等實施例使用一由該網路控制器所提供之第二組命令暫存器以及第二通信通道,以對該韌體提供存取。鑑於BMC耗費額外的費用,獨立NIC耗費額外的費用,且與BMC韌體相關的獨立工程技術難以取得,本發明從先前執行基於網路之遠端平台管理方法上表現了顯著的改善。
本發明該等實施例係使用一與一作業系統驅動程式通透共享之NIC,讓系統韌體傳送及接收網路封包。如下文進一步所說明,該共享NIC係經配置以重新導向一通過一SMBus之選定接收網路封包,以做為一SMBus封包而送至一與一預定義SMBus位址相關的目標,且其係由韌體所監視而不提供網路封包至作業系統驅
動程式。接收SMBus封包的SMBus主機控制器係於接收時產生一SMI,使CPU轉變為SMM。一旦處於SMM,系統韌體檢查該SMBus封包並經由該NIC回應,以與該接收網路封包的一發送器建立一遠端管理連結。該系統韌體可接著於該計算裝置於SMM下作業時通過該經由NIC之連結而通信,以提供平台管理資訊至該遠端使用者或程序。
圖1描繪一適於實踐本發明之一實施例的例示性計算裝置。一計算裝置100係可包含NIC 110、晶片組平台控制集線器120及一CPU 150。計算裝置100亦可包含PCI匯流排111及連接NIC 110及晶片組平台控制集線器120之SMBus 112。再者,計算裝置110亦可包含保存有內定配置之NIC EEPROM 130,供NIC 110及保存系統韌體190之ROM 180使用。
一例示性NIC 110為Intel® 82571網路控制器。NIC 110可包含多個網路介面及多個不同SMBus主控/從屬或從屬結束點。NIC 110可包含多個乙太網路連接埠,諸如乙太網路連接埠0(114)及乙太網連接埠1(115)。NIC 100能夠根據一預定義過濾器而重新導向特定的網路封包,以做為一通過SMBus的SMBus封包而傳送至一預定義SMBus從屬位址。NIC 110可使用傳送至其的特別SMBus命令,或通過在NIC EEPROM 130中之NIC配置中之一預定義配置,而根據規定的標準重新導向封包。例如,NIC 110可檢查在其所接收之網路封包中的媒
體存取控制(MAC)位址(NIC可提供一獨立MAC位址以模擬一獨立網路裝置),或藉由查看該封包的通訊埠(諸如在IPMI使用的遠端控制管理協議(RCMP+)封包的情況下)。該等封包亦可藉由內容檢測而過濾。例如,可使用特定的簡單網路管理協議(Simple Network Management Protocol,SNMP)索引。同樣的,NIC 110係能夠接收傳送到兩個SMBus從屬位址之其中一封包,並通過該等網路介面而重新傳送這些封包。NIC 110提供了截斷網路封包至SMBus封包內(接收)以及從該等SMBus封包組合一網路封包(發送)的內建支援。控制器的內定配置係可在NIC EEPROM 130中發現,但NIC配置的其他方面係可使用SMBus命令進行設置。
晶片組平台控制集線器120係設計與CPU 150及一記憶體控制器一起工作,其為各種周邊設備提供I/O支援。一例示性晶片組平台控制集線器120為Intel® 216 PCH。晶片組平台控制集線器120包含一可做為主控裝置或從屬裝置的SMBus主機控制器122。當完成一異動時,SMBus控制器122可選擇性地產生一正常PCIe中斷(每個PCI規範)或其可產生SMI。當偵測到SMI,系統中的所有CPU會在下一個指令邊界中斷執行並開始在SMM下執行。通常在SMM下的執行位置是在預留作此用途稱作系統管理RAM(或SMRAM)的系統記憶體中。SMRAM的內容係藉由該系統韌體於初始化期間進行初始化。在轉變到SMM時,CPU於一預定義位址開始執行,其係於
SMRAM內部藉由系統韌體初始化。一例示性CPU 150為能夠在SMM下執行的Intel® 5系列CPU。
雖然在上文及全文已提及各種Intel元件,應理解到本發明該等實施例並不限於具體描述的元件,且其他提供相似功能性的配置皆屬本發明的範圍之內。例如,一實施例可使用未設置於晶片組平台控制集線器120內的SMBus主機控制器。在另一實施例中,係可使用一具有相似功能性的NIC,除了源自於Intel 82571系列的千兆乙太網路控制器之Intel NIC。例如,係可使用一使用邊帶介面讓網路封包能夠發送給除了OS NIC驅動程式以外的另一代理人並為其所接收之NIC。此介面可處置位址解析協定(ARP),自動請求並讓一過濾器被使用,所以只有特定的網路封包被重新導向此第二界面。本實施例可包含一用於PCI本身之第二非標準介面,或另一種類型的匯流排(諸如控制器區域網路(CAN)及eye-2-C)。
圖2描繪通過一使用於本發明之一實施例中的共享NIC的例示性網路訊務。正常網路訊務260來到NIC 110並受檢查。在確定輸入網路封包不能滿足該預先配置的過濾器條件後,網路封包係藉由一作業系統驅動程式240自該NIC 110讀取(通過PCI匯流排111),並接著通過該作業系統的網路堆疊而向上傳遞至各個運行網路用戶端之其中一者。該等網路用戶端可接著藉由發送出一網路封包而做出反應,該網路封包係接著經由該網路堆疊而傳輸至該作業系統驅動程式240,透過PCI匯流排111而
通過NIC 110所提供的網路介面傳出。
來自於一遠端管理員250之網路訊務係以不同於正常網路訊務的方式而由本發明該等實施例進行處置。該遠端管理員網路訊務250係藉由NIC 110而自乙太網路連接埠接收,並且,若其具有一或多個預先配置的過濾器條件(諸如在該封包中包含一特定MAC位址,或該封包的通訊埠符合一過濾器條件),該網路封包係接著透過SMBus 112做為一SMBus封包而重新導向至一預定義SMBus從屬位址。於接收該經重新導向的封包時,SMBus主機控制器122產生一SMI,致使CPU 150轉變到SMM。於偵測到SMI的來源時(即,接收一傳送到一指定SMBus位址致使SMBus主機控制器觸發SMI之SMBus封包),係將控制權轉移到系統韌體網路用戶端230。系統韌體網路用戶端230係自SMBus主機控制器122擷取SMBus封包,並接著檢查該SMBus封包的內容。於檢查後,該系統韌體傳送一回覆SMBus封包。此回覆SMBus封包係使用SMBus主機控制器122通過SMBus 112而傳送至一與NIC 110相關聯的SMBus從屬位址。NIC 110組合一來自該SMBus封包的網路封包,並將其置於欲經由NIC 110提供之網路介面而傳送之佇列內。本發明該等實施例因此能夠使用系統韌體190而存取NIC 110,代替使用一如BMC之外部控制器的需求。一旦建立該連結,系統韌體網路客戶端230係可執行來自於SMM內的IPMI、DASH或ASF功能,諸如控制系統電力狀態、監視感測
器、傳送警示並維持一錯誤記錄、以及通過該連結報告相關資訊至一遠端使用者或程序。
圖3描繪一為本發明之一實施例所使用的例示性軟體堆疊。此軟體堆疊提供在SMM內之網路用戶端功能。該軟體堆疊包含SMI分配器300、平台匯流排(SMBus)處置器310及網路用戶端330。SMI分配器300係為一在UEFI平台初始化規範內所述之標準元件。SMI分配器300係負責藉由查詢平台專用的硬體暫存器而偵測SMI的來源,並接著呼叫一由該等子分配器協定(child dispatch protocols)(諸如EFLSMM_ICHN_DISPATCH_PROTOCOL(其為多種Intel晶片所指定))之其中一者所記錄的處置器。
在一實施例中,SMBus處置器310記錄一用於二個SMI來源之回呼。第一個回呼係於一SMBus異動完成時使用。SMBus主機控制器122係可經配置於一SMBus封包在一預定義SMBus從屬位址被接收時或於一SMBus封包已成功被傳送時產生一SMI。第二個回呼係用於與SMBus定義之SMBALERT#訊號相關聯的一般用途中斷(GPI)被切換時。此觸發了一藉由來查詢警示來源之SMBus定義程序。
網路用戶端330係由該系統韌體所提供(如同SMI分配器300及SMBus處置器310一樣)且負責管理該透過SMBus傳送的網路封包。由於網路封包可長達1536位元組(對於Intel NIC而言),但許多平台上的SMBus上的SMBus封包長度不能超過240或32位元組,其網路封
包被分解成片段而做為SMBus封包透過SMBus重新傳送。網路用戶端330係接收到一封包時以SMBus處置器310記錄通知。網路用戶端330亦可管理發送下一個網路封包(或一網路封包的片段)以及處置各種傳輸錯誤。網路用戶端330另外可處置多個標準網路封包,諸如探索封包。網路用戶端330可專用於一特定網路控制器或控制器系列,因為配置該NIC及處置該網路封包片段的方法係專有的。例如,Intel NIC使用了IPMI RCMP+的SMBus封包延伸形式。
圖4描繪本發明之一實施例所依循以使用一共享NIC而建立一遠端管理連結之例示性步驟序列。該序列係於一來自一遠端使用者或管理程序之網路封包由該NIC所接收時開始(步驟402)。該封包係於該共享NIC處檢查以確定其是否符合規定的標準(步驟404)。例如,該封包係可用於檢查一特定通訊埠,或查看其是否包含一特定MAC位址。該封包內容亦可進行檢查,以及對SNMP索引這類的資訊。若該封包符合規定的標準,其係做為一SMBus封包而重新導向並傳送至一預定義SMBus位址,於該位址一SMBus控制器於接收到該封包時觸發一SMI(步驟406)。於進入SMM後,該SMBus封包係接著藉由來自該SMBus主機控制器的系統韌體所擷取(步驟408)及檢查(步驟410)。一回覆SMBus封包係接著藉由該系統韌體通過該SMBus而發送至該共享NIC,以轉送至所接收之網路封包之發送器,藉以於該發送器與該系統韌體之間
建立一遠端管理連結(步驟412)。此回覆係可為ACK,或替代地可包含初始配置及性能資訊。該連結一旦建立,其可為該在SMM下作業的系統韌體所使用,以提供該平台的管理資訊至該遠端使用者或程序(步驟414)。
儘管以上論述之實施例係使用SMBus做為平台上的傳輸,其亦可使用FML。FML係為快速管理鏈路匯流排,其為SMBus的修改版本。亦可於該平台上的匯流排為NIC所支援時使用其他平台匯流排,且使用時一平台匯流排主機控制器係可發送及接收此匯流排上的封包並於異動期間在適當的點產生SMI#,使該韌體網路用戶端可獲得控制。例示性的替代平台匯流排包含(但不限於)智慧平台管理匯流排/橋接器(IPMB)、CAN及eye-2-C。例如,IPMI描述使用於與BMC通信之IPMB。類似地,LPC/SPI係一可為本發明之一實施例所使用之多重目標匯流排。
儘管以上所述之實施例因為專用中斷將控制權交還給韌體的可利用性而論述了SMM的用途,未依賴SMM但提供一個韌體控制不可隱藏的中斷之替代實施例亦屬本發明之專利範圍之內。對於具有ARM處理器的計算設備,可使用TrustZone以將控制權給與韌體。
在另一實施例中,NIC可具有一增強型的自動反應,使其能夠自動地處置某些形式的網路訊務。例如,NIC可藉由自動地一預定義MAC位址進行回覆,不需傳送那些封包至網路用戶端而處置ARP訊務。此自動
反應性能省下了通過低速匯流排的訊務。
本發明之實施例之部分或全部可提供做為體現於一或多個非暫時性媒體上或其中的一或多個電腦可讀程式或程式碼。媒體可為(但不限於)硬碟、光碟、數位影音光碟、ROM、PROM、EPROM、EEPROM、快閃記憶體、RAM或磁帶。大體而言,電腦可讀程式或程式碼可以任何計算語言來實施。
由於可在不偏離本發明之範疇的情況下進行某些改變,因此意欲含於上文描述或展示於圖式中之所有內容經解譯為說明性而非按照字面意義解譯。此項技術之實踐者將認識到諸圖中所描繪之步驟序列及架構可在不偏離本發明之範疇的情況下更改,且本文中所含的說明為本發明之大量可能描述中之單一實例。
本發明之實例實施例之以上描述提供說明及描述,但並不意欲為詳盡的或將本發明限於所揭示之精確形式。修改及變化鑒於以上教示而為可能的或可自本發明之實踐獲取。舉例而言,雖然已描述一系列動作,但可在與本發明之原理一致的其他實施中修改動作之次序。此外,可並行執行非相依動作。
110‧‧‧網路介面控制器(NIC)
111‧‧‧PCI匯流排
112‧‧‧系統管理匯流排(SMBus)
122‧‧‧SMBus控制器
230‧‧‧系統韌體網路用戶端
240‧‧‧作業系統驅動程式
250‧‧‧遠端管理員網路訊務
260‧‧‧正常網路訊務
Claims (20)
- 一種遠端平台管理之計算裝置實施方法,包括:重新導向一經由一網路介面控制器(NIC)所接收之選定網路封包,該選定網路封包係做為通過一系統管理匯流排(SMBus)的一SMBus封包而重新導向及傳送至一與一預定義SMBus位址相關的目標;於接收該SMBus封包時,以一SMBus主機控制器產生一系統管理中斷(SMI),該SMI藉由該計算裝置的一中央處理單元(CPU)觸發一轉變到系統管理模式(SMM)的轉變;使用系統韌體自該SMBus主機控制器擷取該SMBus封包;使用該系統韌體檢查所擷取的SMBus封包內容;以及根據該檢查的結果傳送一回覆SMBus封包至該NIC,該回覆SMBus封包係在該NIC組合至一網路封包內且經由該NIC而發送至該選定網路封包的一發送器以建立一遠端管理連結。
- 如申請專利範圍第1項所述之方法,其中,係通過一不同的匯流排藉由一作業系統驅動程式而自該NIC讀取非選定的網路封包。
- 如申請專利範圍第1項所述之方法,其中該系統韌體係執行以下動作中之至少一者:控制一系統電源狀態、監視一感測器、傳送一警示並維持一錯誤記錄、以及 報告一通過該遠端管理連結執行的結果。
- 如申請專利範圍第1項所述之方法,其中,係依據該選定網路封包內之媒體存取控制位址(MAC address)中之一者以及該選定網路封包的一部分而選擇該選定網路封包。
- 如申請專利範圍第1項所述之方法,其中該選定網路封包的重新導向係依據該NIC的其中一預先配置,以過濾進入的網路封包及一傳送至該NIC的SMBus命令。
- 一種保存用於遠端平台管理的電腦可執行指令之非暫時性媒體,該指令在執行時係使一計算裝置:藉由該計算裝置內的一中央處理單元(CPU)而使用系統韌體自一系統管理匯流排(SMBus)主機控制器擷取一SMBus封包,以對於一轉變到系統管理模式(SMM)的轉變作出反應,該轉變到SMM的轉變係發生於自一網路介面控制器(NIC)接收該SMBus封包以藉由該SMBus主機控制器產生一系統管理中斷(SMI)後發生;使用該系統韌體檢查所擷取的SMBus封包內容;以及根據該檢查的結果傳送一回覆SMBus封包至該NIC,該回覆SMBus封包係在該NIC組合至一網路封包內且經由該NIC而發送至該選定網路封包的一發送器以建立一遠端管理連結。
- 如申請專利範圍第6項所述之媒體,其中,係通過一不同的匯流排藉由一作業系統驅動程式而自該NIC讀 取非選定的網路封包。
- 如申請專利範圍第6項所述之媒體,其中該系統韌體係執行以下動作中之至少一者:控制一系統電源狀態、監視一感測器、傳送一警示並維持一錯誤記錄、以及報告一通過該遠端管理連結執行的結果。
- 如申請專利範圍第6項所述之媒體,其中,係依據該選定網路封包內之媒體存取控制位址(MAC address)中之一者以及該選定網路封包的一部分而選擇該選定網路封包。
- 如申請專利範圍第6項所述之媒體,其中該選定網路封包的重新導向係依據該NIC的其中一預先配置,以過濾進入的網路封包及一傳送至該NIC的SMBus命令。
- 一種遠端管理式計算裝置,包括:一支援系統管理模式(SMM)之中央處理單元(CPU);一網路介面控制器(NIC),供接收及傳送通過一網路之網路封包,該NIC經配置以重新導向及傳送一經由該NIC所接收做為通過一系統管理匯流排(SMBus)的一SMBus封包之選定網路封包至一與一預定義SMBus位址相關的目標;一SMBus主機控制器,供管理該系統管理匯流排(SMBus),該SMBus主機控制器經配置以於接收該SMBus封包時產生一系統管理中斷(SMI),該SMI藉由該CPU觸發一轉變到SMM的轉變;以及系統韌體,其在執行時係: 自該SMBus主機控制器擷取該SMBus封包;檢查所擷取的SMBus封包內容;以及根據該檢查的結果傳送一回覆SMBus封包至該NIC,該SMBus封包係在NIC組合至一網路封包內且經由該NIC而傳送至該選定網路封包的一發送器以建立一遠端管理連結。
- 如申請專利範圍第11項所述之計算裝置,其中,係通過一不同的匯流排藉由一作業系統驅動程式而自該NIC讀取非選定的網路封包。
- 如申請專利範圍第11項所述之計算裝置,其中該系統韌體係執行以下動作中之至少一者:控制一系統電源狀態、監視一感測器、傳送一警示並維持一錯誤記錄、以及報告一通過該遠端管理連結執行的結果。
- 如申請專利範圍第13項所述之計算裝置,其更包括:於該CPU上的溫度感測器;其中該系統韌體通過該遠端管理連結報告一CPU溫度。
- 如申請專利範圍第11項所述之計算裝置,其中,係依據該選定網路封包內之媒體存取控制位址(MAC address)中之一者以及該選定網路封包的一部分而選擇該選定網路封包。
- 如申請專利範圍第11項所述之計算裝置,其中該選定網路封包的重新導向係依據該NIC的其中一預先配 置,以過濾進入的網路封包及一傳送至該NIC的SMBus命令。
- 一種用於遠端平台管理之計算裝置實施方法,包括:重新導向一經由一網路介面控制器(NIC)所接收之選定網路封包,該選定網路封包係做為一匯流排封包通過一平台重新導向至一與一預定義匯流排位址相關的目標;於接收該匯流排封包時,以一匯流排主機控制器產生一不可隱藏的中斷,該不可隱藏的中斷係使該計算裝置的控制轉移至系統韌體;使用該系統韌體自該匯流排主機控制器擷取該匯流排封包;使用該系統韌體檢查所擷取的SMBus封包內容;以及根據該檢查的結果傳送一回覆匯流排封包至該NIC,該回覆匯流排封包係在該NIC組合至一網路封包內且經由該NIC而發送,以建立一遠端管理連結。
- 如申請專利範圍第17項所述之方法,其中,係通過一不同匯流排藉由一作業系統驅動程式而自該NIC讀取網路封包。
- 一種保存用於遠端平台管理的電腦可執行指令之非暫時性媒體,該指令在執行時係使一計算裝置:使用系統韌體自一匯流排主機控制器擷取一匯流排封包,以對於一轉變到該計算裝置之系統韌體控制的轉變作 出反應,該轉變到系統韌體控制的轉變係發生於自一網路介面控制器(NIC)接收該匯流排封包以藉由該匯流排主機控制器產生一不可隱藏的中斷(SMI)後發生;使用該系統韌體檢查所擷取的匯流排封包內容;以及根據一檢查結果傳送一回覆匯流排封包至該NIC,該回覆匯流排封包係在該NIC組合至一網路封包內且經由該NIC而發送,以建立一遠端管理連結。
- 如申請專利範圍第19項所述之媒體,其中,係通過一不同匯流排藉由一作業系統驅動程式而自該NIC讀取網路封包。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361803974P | 2013-03-21 | 2013-03-21 | |
US61/803,974 | 2013-03-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201514714A TW201514714A (zh) | 2015-04-16 |
TWI613548B true TWI613548B (zh) | 2018-02-01 |
Family
ID=51569999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103109902A TWI613548B (zh) | 2013-03-21 | 2014-03-17 | 遠端平台管理之計算裝置實施方法、保存用於遠端平台管理的電腦可執行指令之非暫時性媒體、以及遠端管理式計算裝置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9734100B2 (zh) |
TW (1) | TWI613548B (zh) |
WO (1) | WO2014150352A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI720594B (zh) * | 2019-08-23 | 2021-03-01 | 神雲科技股份有限公司 | 遠端更新韌體的控制方法 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9298524B2 (en) * | 2013-03-22 | 2016-03-29 | Insyde Software Corp. | Virtual baseboard management controller |
US9529750B2 (en) * | 2014-07-14 | 2016-12-27 | American Megatrends, Inc. | Service processor (SP) initiated data transaction with bios utilizing interrupt |
US9529410B2 (en) * | 2014-07-14 | 2016-12-27 | American Megatrends, Inc. | Service processor (SP) initiated data transaction with BIOS utilizing power off commands |
GB2532053A (en) * | 2014-11-07 | 2016-05-11 | Ibm | NC-SI port controller |
GB2532052A (en) | 2014-11-07 | 2016-05-11 | Ibm | NC-SI port controller |
GB2532054B (en) | 2014-11-07 | 2016-10-12 | Ibm | NC-SI port controller |
US9794120B2 (en) * | 2015-04-14 | 2017-10-17 | Quanta Computer, Inc. | Managing network configurations in a server system |
CN106990958B (zh) * | 2017-03-17 | 2019-12-24 | 联想(北京)有限公司 | 一种扩展组件、电子设备及启动方法 |
US10439930B2 (en) * | 2017-04-26 | 2019-10-08 | Futurewei Technologies, Inc. | Packet batch processing with graph-path based pre-classification |
US20190044809A1 (en) * | 2017-08-30 | 2019-02-07 | Intel Corporation | Technologies for managing a flexible host interface of a network interface controller |
US20190095554A1 (en) * | 2017-09-28 | 2019-03-28 | Intel Corporation | Root complex integrated endpoint emulation of a discreet pcie endpoint |
TWI665604B (zh) * | 2018-02-27 | 2019-07-11 | 其陽科技股份有限公司 | 具開機之可信驗證與容錯移轉之計算機系統及方法 |
US11927999B2 (en) * | 2021-10-14 | 2024-03-12 | Hewlett Packard Enterprise Development Lp | Server network interface card-located baseboard management controllers |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200821823A (en) * | 2006-11-10 | 2008-05-16 | Mitac Int Corp | Remote monitor module for computer initialization |
TW200834336A (en) * | 2007-02-01 | 2008-08-16 | Mitac Int Corp | Alternative local card, central management module and system management architecture for multi-mainboard system |
US20080281475A1 (en) * | 2007-05-09 | 2008-11-13 | Tyan Computer Corporation | Fan control scheme |
WO2011162766A1 (en) * | 2010-06-25 | 2011-12-29 | Hewlett-Packard Development Company, L.P. | Providing wakeup logic to awaken an electronic device from a lower power mode |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7003607B1 (en) * | 2002-03-20 | 2006-02-21 | Advanced Micro Devices, Inc. | Managing a controller embedded in a bridge |
DE10262080B4 (de) * | 2002-10-25 | 2005-01-27 | Advanced Micro Devices, Inc., Sunnyvale | SMBus-Testgerät und zugehöriges Verfahren |
US7146512B2 (en) | 2003-06-30 | 2006-12-05 | Intel Corporation | Method of activating management mode through a network for monitoring a hardware entity and transmitting the monitored information through the network |
US7047343B2 (en) | 2003-11-26 | 2006-05-16 | Dell Products L.P. | System and method for communication of keyboard and touchpad inputs as HID packets embedded on a SMBus |
US8201163B2 (en) * | 2008-07-16 | 2012-06-12 | Dell Products, Lp | Input/output transaction management during platform initiation |
-
2014
- 2014-03-11 WO PCT/US2014/023012 patent/WO2014150352A1/en active Application Filing
- 2014-03-11 US US14/204,704 patent/US9734100B2/en active Active
- 2014-03-17 TW TW103109902A patent/TWI613548B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200821823A (en) * | 2006-11-10 | 2008-05-16 | Mitac Int Corp | Remote monitor module for computer initialization |
TW200834336A (en) * | 2007-02-01 | 2008-08-16 | Mitac Int Corp | Alternative local card, central management module and system management architecture for multi-mainboard system |
US20080281475A1 (en) * | 2007-05-09 | 2008-11-13 | Tyan Computer Corporation | Fan control scheme |
WO2011162766A1 (en) * | 2010-06-25 | 2011-12-29 | Hewlett-Packard Development Company, L.P. | Providing wakeup logic to awaken an electronic device from a lower power mode |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI720594B (zh) * | 2019-08-23 | 2021-03-01 | 神雲科技股份有限公司 | 遠端更新韌體的控制方法 |
Also Published As
Publication number | Publication date |
---|---|
TW201514714A (zh) | 2015-04-16 |
WO2014150352A1 (en) | 2014-09-25 |
US9734100B2 (en) | 2017-08-15 |
US20140289436A1 (en) | 2014-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI613548B (zh) | 遠端平台管理之計算裝置實施方法、保存用於遠端平台管理的電腦可執行指令之非暫時性媒體、以及遠端管理式計算裝置 | |
TWI610167B (zh) | 改善平台管理的計算裝置建置方法、保持電腦可執行指令之非暫存媒體及配置為提供強化管理資訊之計算裝置 | |
US10089028B2 (en) | Remote secure drive discovery and access | |
US9442876B2 (en) | System and method for providing network access for a processing node | |
US9817975B2 (en) | Method for logging firmware attack event and system therefor | |
US8954627B2 (en) | Fibre channel N-port ID virtualization protocol | |
US7430629B2 (en) | Internet SCSI communication via UNDI services | |
TWI556130B (zh) | 用於可信賴運算之多節點集線器 | |
US20110125990A1 (en) | Computing device and method for wireless remote boot in a networked environment | |
US8626969B2 (en) | Redirection communication | |
EP3319283B1 (en) | Server data port learning at data switch | |
US20130262700A1 (en) | Information processing system and virtual address setting method | |
JP2010219725A (ja) | ネットワーク装置および外部記憶装置をネットワーク上に公開する方法 | |
US20160253501A1 (en) | Method for Detecting a Unified Extensible Firmware Interface Protocol Reload Attack and System Therefor | |
US10924350B1 (en) | Software sensor for reporting controller metrics | |
US8959534B2 (en) | Enabling legacy applications to achieve end-to-end communication with corresponding legacy device services | |
US9032484B2 (en) | Access control in a hybrid environment | |
US9904654B2 (en) | Providing I2C bus over ethernet | |
WO2017020572A1 (zh) | 一种中断处理方法、ioapic及计算机系统 |