TWI698753B - 可配置伺服器及配置伺服器之功能的方法 - Google Patents

可配置伺服器及配置伺服器之功能的方法 Download PDF

Info

Publication number
TWI698753B
TWI698753B TW107145381A TW107145381A TWI698753B TW I698753 B TWI698753 B TW I698753B TW 107145381 A TW107145381 A TW 107145381A TW 107145381 A TW107145381 A TW 107145381A TW I698753 B TWI698753 B TW I698753B
Authority
TW
Taiwan
Prior art keywords
server
hardware
parameters
software
substrate
Prior art date
Application number
TW107145381A
Other languages
English (en)
Other versions
TW202011214A (zh
Inventor
錢威宇
Original Assignee
廣達電腦股份有限公司
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 廣達電腦股份有限公司 filed Critical 廣達電腦股份有限公司
Publication of TW202011214A publication Critical patent/TW202011214A/zh
Application granted granted Critical
Publication of TWI698753B publication Critical patent/TWI698753B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • 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/4401Bootstrapping
    • G06F9/4403Processor initialisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/18Packaging or power distribution
    • G06F1/183Internal mounting support structures, e.g. for printed circuit boards, internal connecting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • 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/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0032Serial ATA [SATA]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Power Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Abstract

揭露一種允許對不同類型之伺服器配置基板的系統與方法。儲存多個所需參數與對應之伺服器標識於韌體映像檔之硬體或軟體帶結構中。從基板上之記憶體讀取包括伺服器產品類型之板標識。比對伺服器產品類型與帶結構中之伺服器標識。載入對應之所需參數至基板上之基板元件,以執行伺服器功能。

Description

可配置伺服器及配置伺服器之功能的方法
本揭露一般涉及在生產期間的有效伺服器配置。特別地,本揭露的觀點涉及使用韌體映像檔以在沒有額外軟體或硬體修改之生產期間允許伺服器的有效定制。
用於運算應用程序之雲端的出現增加了對離站(off-site)安裝(稱為資料中心)的需求,藉由遠端連接的電腦裝置使用者,資料中心儲存數據並執行應用程序存取。這樣的資料中心通常具有大量的伺服器、交換機和儲存裝置來儲存與管理數據。典型的資料中心具有帶有電源和通訊連接的物理機架結構。機架排列成資料中心的一或數個房間(room)。每一個機架可承載多個網路裝置,例如伺服器、交換機和儲存裝置。由於資料中心的運營商要求不同的功能,因此需要特定的伺服器。這類特定的伺服器可以包括儲存伺服器、計算伺服器(computational server)、圖形處理器(graphic processing unit, GPU)伺服器或網路交換伺服器。伺服器之每一類型都需要不同之硬體和軟體的設置。
因此,伺服器之基本平台的硬體設計,例如基板,通常需要考慮各種用途,並包含大多數伺服器功能。基板是一電路板,其包括基板管理控制器與多個組件,以支持各種具有不同功能之特定主機板。這種伺服器平台通常支持不同伺服器部署方案的最佳兼容性。因此,伺服器平台的最佳硬體設計可以包括伺服器基板上的多工器與資料選擇器電路,以允許在特定板上選擇不同的功能。這種電路適應最大變量和獨立要求。這些設計使用非正式的邏輯編程和控制器來選擇正確的電路,以完成每一個完整的功能。這些變量和獨立要求通常僅僅在伺服器上存在並永久啟用或禁用。然而,伺服器平台通常不會設計為允許在伺服器已運送給客戶之後進行修改。
近來,已引入了可調式伺服器平台,以允許客戶定制功能。這種可調式伺服器平台可以從作為連接器、記憶體插槽或可以採用更多裝置的IO周邊插槽之物理硬體組件來獲得其可調性。這種平台也可包括特定伺服器功能的選項,其可以透過感測邏輯編程的設定和控制器來激活。這種機制為這種可調式伺服器設計帶來了靈活的使用模型。
為了在不增加成本的情況下實現靈活性,伺服器之基板設計可以保留可替換、增加和可移除的硬體電路。一旦伺服器設計被安排批量生產,仍可以為客戶提供各種用途。在這種情況下,製造廠站可以透過使用相同之基板的設計,但調整邏輯編程的設定和控制器來配置基板,以使用客戶清單來正確地建立所需功能到伺服器中。因此,製造廠生產線必須依靠傳統基本輸入輸出系統(Basic Input Output System, BIOS)和基板管理控制器(BMC)提供邏輯編程和控制器配置。這些組件是主要韌體,其使用伺服器之初始關聯硬體配置進行編程。這為用於設計、更換和準備不同伺服器之不同主機板的生產線節省了時間和金錢。
一般來說,設定邏輯編程和設置控制器是基於韌體的固定參數與硬體訊號的靜態狀態。固定參數可以是組合韌體映像檔的一部分,其由基板的硬體設計者建立。這些參數可以儲存於基板的非揮發性記憶體,例如串列周邊介面(Serial Peripheral Interface, SPI)快閃記憶體(flash)晶片。硬體信號的靜態狀態可以是來自基板上之硬體邏輯電路輸出的信號。然而,如果各種所要求伺服器增加,則創建足夠多種組合韌體映像檔並改變生產線之硬體邏輯電路的輸出變成複雜的任務。另外,基於矽的硬體裝置只能識別配置參數的單一部分,例如英特爾平台控制器中心(Platform Controller Hub, PCH)的配置參數。由於PCH的配置參數駐留在組合韌體映像檔的特定區域中,因此如果特定功能被激活或去激活,或者PCH的配置參數被改變,則韌體設計者必須重建立組合韌體映像檔。
一般來說,矽供應商通常在其晶片組內提供多種功能,並且允許開發者選擇及部屬具有伺服器基板上之相關硬體電路的功能。開發者可以決定基板之電源啟動順序期間之晶片組內部哪些功能處於激活或非激活。一旦選擇功能之後,晶片組之輸出引腳可以透過內部多工器和資料器連接到外部硬體電路。晶片組通常提供多種機制以識別哪些功能應該處於激活或非激活,例如英特爾平台控制器中心(PCH)的功能。PCH之配置參數駐留在組合韌體映像檔之特定區域中。這類配置參數稱為“軟體帶”(software straps)。
第1圖示出選擇軟體帶的傳統過程。第1圖包括平台控制器中心(PCH)晶片10。PCH晶片10具有內部SATA控制器與內部PCI根控制器。PCH晶片10包括多個配置參數輸出12,其可以發送由內部SATA控制器或內部PCI根控制器路由的參數信號。PCH晶片10之參數信號依靠啟用哪個控制器而最終輸出PCIe匯流排14或SATA匯流排總線16的配置資訊。這些參數稱為軟體帶。PCH晶片10包括SPI介面18,其耦接串列周邊介面(Serial Peripheral Interface, SPI)快閃記憶體晶片20。
第1圖示出燒錄至SPI快閃記憶體晶片20中之韌體映像檔的記憶體映射30。記憶體映射30包括保留區域32、PCH軟體帶區域34、保留區域36、BIOS區域38、描述符映射區域40和簽章區域42。PCH軟體帶區域34示為包括位元位置和位元字段之描述的表50並代表軟體帶。在此示例中,表50中的軟體帶包括對PCH晶片10之參數輸出12之值的選擇。因此,表50是示出平台控制器中心晶片10如何將兩個內部控制器(sSATA或PCIe)之其中之一路由到單一埠輸出之之參數的示例。此類似於多工器,當選擇控制器其中之一來提供輸出信號以啟用從內部PCI根控制器或內部SATA控制器到相應PCIe匯流排14或SATA匯流排16的功能。
在表52中示出了PCH 10之參數輸出12的結果輸出。如表52所示,參數輸出12的前兩個埠是固定信號。參數輸出12的第三與第四埠可以被多工處理。表52是PCH矽設計的示例。兩個不同的控制器(sSATA和PCIe)存在於平台控制器中心晶片10中,但是平台控制器中心僅提供單一埠輸出,其允許選擇用於連接之任一控制器。只有多工信號可以提供輸出埠選擇,而不是提供輸出埠選擇選項的固定信號。
類似地,第2圖示出稱為“硬體帶”(hardware straps)之處理器之硬體設定的傳統配置過程。在此過程中,處理器60,例如英特爾處理器,包括多個輸入引腳,其定義可由處理器60執行的多個不同功能。處理器60之特徵配置取決於來自具有連接至輸入引腳64之硬體暫存器之邏輯電路62的硬體輸入信號的靜態狀態。在本示例中,邏輯電路62依據客戶物料清單安裝在伺服器的基板上。表66可以包括構成配置處理器60之功能的硬體帶的靜態狀態。在此示例中,處理器60的功能在電源啟動程序期間透過連接至輸入引腳64之信號的狀態來確定。
由於如第1圖和第2圖所示軟體帶和硬體帶是靜態參數和固定狀態,如果需要各種不同的功能基板,修改它們可能需要額外的編碼、編譯、釋放和嚴格的維護和售後服務處理。這樣的過程導致為客戶維護韌體映像檔之不同修訂版的成本增加。此外,如果需要具有不同功能之新伺服器設計,則需要複雜的過程來修改基板生產線的硬體邏輯電路。
因此,需要一個簡化的流程,以允許生產具有不同功能的不同伺服器。還需要靈活配置以允許不同的伺服器功能,而無需修改硬體邏輯電路或重寫韌體映像檔。
揭露示例為一種配置伺服器之功能的方法。儲存多個所需參數與對應之伺服器標識於韌體映像檔之硬體或軟體帶結構中。從基板上之記憶體讀取包括伺服器產品類型的板標識。比對伺服器產品類型與帶結構中之伺服器標識。載入對應所需參數至基板上之基板元件,以執行伺服器功能。
另一揭露示例為一種可配置伺服器,其包括儲存含有伺服器產品類型之板標識的記憶體。上述伺服器包括基本輸入輸出系統,其包括具有硬體帶結構的韌體映像檔。硬體帶結構包括多個所需參數與對應之伺服器標識。邏輯電路具有根據來自所需參數之一的多個硬體帶參數所設置的多個輸出,且上述所需參數具有與伺服器產品類型匹配的伺服器標識。處理器多個設置輸入,以致能多個功能之一。處理器基於上述配置輸入的狀態執行上述功能中的一功能。配置輸入耦接邏輯電路的輸出。
另一揭露示例為一種可配置伺服器,其包括儲存含有伺服器產品類型之板標識的記憶體。伺服器包括基本輸入輸出系統,其包括具有軟體帶結構的韌體映像檔。軟體帶結構包括多個所需參數與對應之伺服器標識。快閃記憶體儲存來自所需參數之一的軟體帶參數,且所需參數具有與伺服器產品類型匹配的伺服器標識。串列匯流排耦接可配置硬體元件。平台控制器中心耦接快閃記憶體。平台控制器中心讀取軟體帶參數以及在串列匯流排上傳送多個配置參數至可配置硬體元件。
上述概述並不代表本揭露之每個實施例或每個觀點,而僅僅提供了本文所述之一些新穎的觀點和特徵的例證。本揭露之上述特徵和優點以及其它特徵和優點,可從以下用於實施本發明之代表性實施例和模式的詳細描述配合附圖和申請專利範圍顯而易見。
本發明可以多種不同形式實施。在附圖中顯示出並將在此詳細描述代表性之實施例,其理解將本揭露之內容視為本揭露之原理的示例或說明,且不以在限制本發明之廣泛方面而對所示之實施例的公開。在這種情況下,例如在摘要、發明內容和實施方式所述部分中公開但未在申請專利範圍中明確闡述的要素和限制,不應藉由暗示、推斷而單獨或集體地併入申請專利範圍中。除非特別聲明,為了詳細描述之目的:單一形式係可包含複數個,反之亦然;“包括”是指“包括但不限於”。此外,本文中可使用諸如“約”、“幾乎”、“基本上”、“近似”等近似的詞語,其意義上為例如為“接近或接近於”、“3-5%的”或“可接受之生產公差”,或其任何符合邏輯之組合。
上述方法和系統允許透過提供具有與不同伺服器類型對應之多個硬體和軟體帶的韌體映像檔來生產不同類型的伺服器。在組裝時,從基板讀取板標識字段(Board ID field),以確定所需的伺服器類型。接著,從韌體映像檔複製適當的硬體和軟體帶,來配置伺服器以獲取適當的功能。此過程允許減少所釋放之組合韌體映像檔的數量,並減少伺服器之基板的硬體邏輯電路的修改。儘管這些示例涉及伺服器,但是本文所述之原理可以應用於可以在主機板上運行相同韌體映像檔的任何電子產品,其中此主機板具有現在可以自動執行的不同硬體改變要求。這些縮減在生產過程中允許多種不同的伺服器選項,而無需增加硬體或重新編程軟體。
第3圖示出使用相同基板及其他裝置生產不同類型之伺服器之示例的過程。此過程包括編輯綜合韌體映像檔110,其包括不同類型之伺服器之硬體與軟體帶的不同模組。綜合韌體映像檔110減少不同類型之伺服器生產所需之組合韌體映像檔釋放(releases)的數量。此過程也透過使用可編程邏輯控制器(112)來減少指定功能之硬體邏輯電路的修改。綜合韌體映像檔110寫入至基板(114)的記憶體中。接著,生產操作員將基板安裝至伺服器機箱內,並且基於所需類型之伺服器(116)選擇正確功能。韌體映像檔和可編程邏輯控制器中的配置參數允許生產不同的伺服器118,例如儲存伺服器、計算伺服器、圖形處理器(GPU)伺服器或網路交換伺服器。伺服器118之這類生產不需要多個韌體映像檔或複雜的硬體邏輯電路。此過程也提供一種機制,用於檢查基板是否具有組合韌體映像檔之正確規定,並輸出用於所請求之伺服器類型的硬體邏輯。本過程在綜合韌體映像檔110中包含韌體演算法,以減少所釋放之韌體映像檔的數量,同時仍允許不同之伺服器設計以使用例如基板的共同組件。此過程也包括一種靈活的方法,以減少在基板上用於設置伺服器處理器功能之硬體暫存器的修改。
第4圖為伺服器120中之硬體與記憶體元件的方塊圖,其可配置基於伺服器的類型指示不同的功能。伺服器120可以是幾種類型的其中之一,每一類型包括例如基板130的共同組件。例如,伺服器類型可以包括如上所述之儲存伺服器、計算伺服器、GPU伺服器或網路交換伺服器。
伺服器120包括基板130與主機板132。主機板132可以包括處理器134或其他可配置元件。基板130是一種適應最大變量和獨立要求的優化設計。因此,基板設計者理想地考慮安裝在基板中之可用於不同類型之伺服器之所有可能的硬體組件。主機板132也可以包括特定於伺服器類型之所需功能的特定組件。例如,GPU伺服器的主機板包括多個GPU,而儲存伺服器的主機板包括多個固態硬碟或硬碟。基板130安裝基板管理控制器(baseboard management controller, BMC)140和用於基板管理控制器140的基本輸入輸出系統(BIOS)。基板130也包括平台控制器中心(PCH)146與SPI快閃記憶體晶片148。在此示例中,PCH 146包括內部PCI根控制器(root controller)與內部SATA控制器。基板130包括標識記憶體,例如電子抹除式可複寫唯讀記憶體(EEPROM)150。關聯於伺服器120的標識資料儲存於EEPROM150中。基板130也包括平台邏輯控制器152。平台邏輯控制器152包括多個硬體暫存器,其與處理器134上之多個配置輸入連接。雖然,參考BIOS來執行各種配置功能,但是統一可延伸韌體介面(Unified Extensible Firmware Interface, UEFI)也可以執行相同的功能。系統管理匯流排154允許基板上的元件彼此通訊。
基板管理控制器140之BIOS的示例韌體演算法依據儲存於EEPROM 150中之板標識,對不同功能之PCH 146的軟體帶參數進行重新編程。在此示例中,板標識包括某些伺服器標識資訊,其可以包括唯一簽章、產品名稱、自定義資料(custom data)與校驗和字段(checksum field)。因此,板標識將傳達所需之伺服器類型與伺服器之對應功能。BIOS包括儲存於SPI快閃記憶體晶片148之e模組(eModule)中的BIOS韌體映像檔160。韌體映像檔包括各種所需之軟體帶結構162,其中每一軟體帶結構162關聯於一個可能的板標識(ID)。BIOS韌體映像檔160將在BIOS的eModule內部建立PCH軟體帶作為稱作“所需軟體帶”的結構。如下所述,軟體帶參數允許PCH 146經由串列匯流排156,例如SATA匯流排或PCIe匯流排,透過參考軟體帶參數的值來配置主機板132上的硬體組件,以選擇適當的控制器。電路路由(circuit routing)在平台控制器中心146的電源啟動順序期間執行。
使用所需類型之伺服器器的正確板標識,BIOS可以讀取板標識,以得知其電源啟動順序期間正在初始化的伺服器類型。接著,BIOS可以對儲存於SPI快閃記憶體晶片148上之軟體帶參數與eModule之所需軟體帶。如果軟體帶參數與所需軟體帶之間的內容不同,表示基板130安裝在新的伺服器機箱類型中。在此情況下,BIOS將SPI快閃記憶體晶片148的軟體帶參數重新編程為eModule之所需軟體帶結構。接著,BIOS觸發硬體電力循環。之後,BIOS將要求PCH 146再次識別軟體帶參數並透過PCH 146改變基板硬體的行為。因此,此演算法透過SPI介面調整SPI快閃記憶體晶片148之軟體帶結構162的值。如果BMC 140具有存取SPI快閃記憶體晶片148的能力,則此算法可以由BMC 140運行。
第5圖示出提供軟體帶參數以生產具有特定功能之伺服器之過程的流程圖。在啟動時,第4圖之PCH 146的內部控制器從SPI快閃記憶體晶片148讀取軟體帶並配置其硬體邏輯輸出信號(500)。BMC 140的BIOS讀取儲存於EEPROM 150之板標識的伺服器標識字段(502)。接著,BIOS從儲存於伺服器主機之BIOS eModule讀取軟體帶的參數(504)。在比對伺服器標識之後,BIOS重新編程軟體帶參數,以確定SPI快閃記憶體晶片148之軟體帶參數是否與伺服器標識匹配(506)。接著,BIOS將控制PCH 146以啟動電力循環(508)。在PCH 146執行電力循環之後,伺服器將重置,以讀取現在儲存於SPI快閃記憶體晶片148之軟體帶(510)。
第6A與6B圖示出由BIOS執行之程序的流程圖,以比對與重新編程如第5圖所示之軟體帶參數。首先,BIOS啟動軟體帶服務程序(600)。接著,BIOS確定電力循環是否已啟動(602)。如果電力循環已啟動,BIOS從EEPROM 150讀取板標識(604)。BIOS透過比對板標識之簽章字段與儲存於如第4圖所示之SPI快閃記憶體晶片148之所需軟體帶結構162所列出的伺服器標識,識別所需之伺服器產品(606)。軟體帶結構也可以儲存於在主機板內部之可由BOIS存取的其他實體。
BIOS確定板標識的簽章是否與所需軟體帶結構中之任一伺服器標識匹配(608)。如果簽名沒有與任一伺服器標識匹配,則存在錯誤配置,並且BIOS將傳送系統事件日誌(system event log, SEL)到BMC 140 (610)。接著,BIOS將停止開機自我測試程序(612)。如果簽章匹配,BIOS從第4圖之SPI快閃記憶體晶片148讀取軟體帶參數(614)。BIOS比對軟體帶參數與儲存於eModule上之所需軟體帶結構(616)。BIOS透過比較來確定從SPI快閃記憶體晶片148讀取之軟體帶是否正確(618)。如果與所需軟體帶結構中之簽名相關聯的參數匹配,則BIOS繼續自我開機測試程序(620)。如果未找到匹配,則BIOS利用來自所需軟體帶結構之合適的軟體帶重新編程SPI快閃記憶體晶片148中的軟體帶(622)。接著,BIOS發送用於PCH 146的命令,以執行電力循環(624)。
第6A圖示出可儲存於SPI快閃記憶體晶片148的示例PCH軟體帶表630。PCH軟體帶表630包括定義PCH 146之不同輸出埠之配置的位元。可以看出,軟體帶表630包括SATA匯流排或PCIe匯流排的輸出埠配置。
第6A圖也示出儲存於EEPROM 150的示例板標識結構640。板標識映像檔640包括板標識版本字段642、板SKU標識字段644、校驗和字段646、簽章字段648、產品名稱字段650、自定義資料字段652與可選資料字段654。板標識結構640是描述基板/伺服器平台之標識的資料結構。版本字段642是描述結構之綱要的釋放版本(release version)。板SKU標識字段644是描述基板的唯一編號。校驗和字段646是用於記錄製造廠建立之結構完整性的雜湊值(hash value)。簽章字段648是記錄安全檢查之結構完整性的雜湊值。產品名稱字段650是描述具有不同機箱類型之系統的字串、自定義資料字段652是可用於使用者特定設置的字段。
第6B圖示出儲存於eModule的所需軟體帶結構660。所需軟體帶結構660包括結構標頭字段662、校驗和字段664、伺服器產品列表字段666、伺服器標識字段668、可選資料字段670與軟體帶目錄字段672。各種軟體帶參數儲存於軟體帶參數字段674中。軟體帶目錄字段672提供軟體帶參數字段674中所儲存之軟體帶的映射。伺服器之每一類型與關聯於伺服器之類型之軟體帶參數的對應標識一起儲存於伺服器標識字段668中。
基板BIOS的韌體演算法可以基於板標識的內容,調整可編程輸入輸出(input/output, I/O)晶片的配置,其中可編程輸入輸出晶片例如為第4圖之平台邏輯控制器。由於輸出信號的狀態必須始終存在於處理器134,在此示例中之可編程I/O晶片的輸出信號可配置為漏極開路(open-drain)且可提供最大100Ω的導通電阻。一致的信號是必要的,因此處理器134可以在電源啟動順序期間對其輸入引腳進行取樣。接著,處理器134對用於電源啟動順序之不同階段的鏈路/功能以及內部配置控制器暫存器進行初始化。類似於eModule之所需軟體帶結構,BIOS韌體映像檔160可以具有各種軟體帶,其與每一可能的板標識匹配。軟體帶在BIOS內部建立為如第6B圖所示之“所需軟體帶”結構660。
第7圖示出提供硬體帶參數以配置伺服器之處理器之過程的示意圖。在啟動時,第4圖之CPU 134之內部控制器取樣其輸入引腳的狀態並配置其鏈接功能(700)。BIOS或BMC 140讀取儲存於EEPROM 150之板標識的伺服器標識字段(702)。接著,BIOS從平台邏輯控制器152讀取硬體帶的配置(704)。BIOS發送SMBus讀取命令至EEPROM 150且接著擷取包括伺服器標識字段之板標識資訊的區塊。在比對伺服器識別之後,BIOS調整配置,以確定硬體帶配置是否與伺服器標識匹配(706)。接著,BIOS將控制PCH 146以啟動電力循環(708)。在PCH 146執行電力循環之後,CPU 134將重置,並執行從連接置平台邏輯控制器152之輸出的輸入引腳之狀態所確定的功能(710)。
第8A與8B示出由BIOS(第4圖中)執行程序以比對和重新編成如第7圖所示之硬體帶參數的流程圖。此程序可與第5圖、第6A圖和第6B圖所示之程序同時運行。首先,BIOS啟動硬體帶服務程序(800)。接著,BIOS確定電力循環是否已啟動(802)。如果電力循環已啟動,BIOS從EEPROM 150讀取板標識(804)。BIOS透過比對來自板標識之簽章字段與儲存於BIOS eModule之所需硬體帶所列出的伺服器標識,以識別所需伺服器產品(806)。硬體帶結構也可以儲存於在主機板內部之可由BOIS存取的其他實體。
BIOS確定來自板標識之簽章是否與所需硬體帶結構中之任一伺服器標識匹配(808)。如果簽章沒有與任一伺服器標識匹配,則存在錯誤配置(且不具有當前UEFI BIOS支持),並且BIOS將傳送系統事件日誌(SEL)到BMC 140 (810)。接著,BIOS將停止開機自我測試程序(812)。如果簽章(808)匹配,表示UEFI BIOS支持主機板,BIOS從平台邏輯控制器152讀取硬體帶參數(814)。BIOS比對硬體帶參數與儲存於eModule上之所需硬體帶結構(816)。BIOS透過比對結果,以確定從平台邏輯控制器152讀取之硬體帶是否正確(818)。如果與所需軟體帶結構中之簽名相關聯的參數匹配,BIOS繼續開機自我測試程序(820)。如果未找到匹配,BIOS利用來自所需硬體帶結構之合適的硬體帶重新編程平台邏輯控制器152中的硬體帶(822)。接著,BIOS發送用於PCH 146的命令,以執行電力循環(824)。
第8B圖示出所需硬體帶結構860的示例。所需硬體帶結構860包括結構標頭字段862、檢驗和字段864、伺服器產品列表字段866、伺服器標識字段868、可選資料字段870與硬體帶目錄字段872。各種硬體帶參數儲存於硬體帶參數字段874中。硬體帶目錄872提供硬體帶參數字段874中所儲存之硬體帶的映射。伺服器之每一類型與關聯於伺服器之類型之對應正確儲存的軟體帶參數一起儲存於伺服器標識字段868中。第8B圖示出配置表880,其中配置表880示出平台邏輯控制器152之輸出到處理器134之功能輸入引腳的狀態。示例配置表880包括允許處理器激活重要特徵(例如LLC & MLC BIST、TXT)的設定。這些特徵透過識別編程I/O晶片的信號高/低輸出來啟用/禁用。UEFI BIOS讀取編程I/O晶片的設定值,且接著比對設定值與硬體帶結構。
為了防止在生產線中配置錯誤的“板標識”,上述演算法都會檢查板標識之簽章是否與所需軟體或硬體結構中之伺服器標識匹配。如果沒有匹配,BIOS發送系統事件日誌(SEL)至BMC 140以發出警報,並且停止開機自我測試程序,以防止伺服器運行及初始化錯誤的功能。一旦伺服器被安排用於客戶之各種用途的批量生產,生產現場的操作員可以輕易使用單一韌體映像檔和客戶物料清單來配置伺服器上的正確功能而無需改變基板。上述過程減少韌體回復管理、維護和釋放的工作量以及考慮了對物料清單的硬體修改。
第6A-6B圖與第8A-8B圖的流程圖為如第4圖之BMC 140的示例機器可讀指令的代表示例,用於提供正確的軟體和硬體配置參數。在這些示例中,機器可讀指令包括用於執行的演算法,藉由:(a)處理器、(b)控制器及/或(c)一或多個其他合適的處理裝置。此演算可體現在儲存在例如快閃記憶體、CD-ROM、軟性磁碟、硬碟驅動器、數位(多功能)光碟(DVD)或其他記憶體(儲存)裝置之有形媒體上的軟體中。然而,所屬技術領域具通常知識者是容易地理解,整個演算法及/或其部分可以替代地由處理器之外的裝置執行及/或以公知的方式在韌體或特定硬體中來實現(例如,它可由特殊應用積體電路(application specific integrated circuit, ASIC)、可編程邏輯裝置(programmable logic device, PLD)、現場可程式邏輯裝置(field programmable logic device, FPLD)、現場可編程閘陣列(field programmable gate array, FPGA)、離散邏輯等)。例如,介面的任何或所有組件可以由軟體、硬體及/或韌體來實現。並且,由流程圖所表示的一些或全部機器可讀指令可以手動實現。此外,雖然參考第6A-6B圖與第8A-8B圖所示之流程圖描述了示例演算法,然而本領域具通常知識者將容易地理解,可替代地使用許多其它方法實現示例性機器可讀指令。例如,可改變方塊的執行順序及/或可改變、消除或組合某一些方塊。
本申請中所使用之用語,如“組件”、“模組”、“系統”等通常旨表示電腦相關之實體、硬體(例如,電路)、硬體與軟體之組合、軟體或與具有一或多個特定功能的操作機器之相關的實體。例如,組件可為(但不限於)一程序執行於處理器(例如,數位訊號處理器)上、一處理器、一對象、一可執行程序,一執行線程、一程式及/或電腦。作為說明,在控制器上執行的應用程式和控制器都可以是組件。一或多個組件可以駐留在一程序及/或執行線程之中,且組件可被本地化在一電腦上及/或分佈在兩個或更多個電腦之間。此外,“裝置”可以特定設計之硬體的形式出現;藉由執行硬體上的軟體以使通用的硬體特定化,使得硬體能夠執行特定的功能;儲存在電腦可讀取媒體(computer-readable medium)上的軟體;或其組合。
本文使用的用語僅用於描述特定實施例為目的,而並非限制本發明。如本文所使用之單數形式“一”和“該”,也可能包含複數形式,除非上下文另有明確指出。此外,在實施方式及/或申請專利範圍中使用之“包含”、“具有”、“附於”或其變體的用語,這些用語包含以類似於用語“包括”的方式。
除非另外定義,在此使用的全部用語(包括技術及科學用語)具有與本發明所屬之一般技藝者通常理解的相同涵義。另外,這些用語,例如在通常使用的字典中定義的用語,應被解讀成具有一與相關技術及本發明的背景或上下文一致的意思,而不應以一理想化或過度正式的方式解讀,除非在此特別定義。
雖然上面已描述了本發明的各種實施例,然而,應理解的是,它們僅作為示例而非被限制的。在不脫離本發明之精神或範圍的情況下,可根據本揭露對所揭露之實施例進行諸多修改。因此,本發明範圍不應受任何上述實施例的限制。相反的,本發明的範圍應根據所附申請專利範圍及其等同物來定義。
儘管已相對於一或多個實現方式顯示與描述了本發明,但在閱讀和理解本說明書與附圖後,所屬技術領域具有通常知識者將想到相同的更改和修改。此外,雖然本發明的特定特徵可能僅針對一些實施中的一個而被揭露,但這樣的特徵可與其他實施之一或多個其他特徵組合,以對於任何給定的或特定的應用可能是所期望與有利的。
10:平台控制器中心晶片 12:配置參數輸出 14:PCIe匯流排 16:SATA匯流排總線 18:SPI介面 20:串列周邊介面快閃記憶體晶片 30:記憶體映射 32:保留區域 34:PCH軟體帶區域 36:保留區域 38:BIOS區域 40:描述符映射區域 42:簽章區域 50、52、66:表 60:處理器 62:邏輯電路 64:輸入引腳 110:綜合韌體映像檔 112:可編程邏輯控制器 114、130:基板 116、118、120:伺服器 132:主機板 134:處理器 140:基板管理控制器 146:平台控制器中心 148:SPI快閃記憶體晶片 150:電子抹除式可複寫唯讀記憶體 152:平台邏輯控制器 156:串列匯流排 160:BIOS韌體映像檔 162:軟體帶結構 630:PCH軟體帶表 640:板標識映像檔 642:板標識版本字段 644:板SKU標識字段 646:校驗和字段 648:簽章字段 650:產品名稱字段 652:自定義資料字段 654:可選資料字段 660:所需軟體帶結構 662:結構標頭字段 664:校驗和字段 666:伺服器產品列表字段 668:伺服器標識字段 670:可選資料字段 672:軟體帶目錄字段 860:所需硬體帶結構 862:結構標頭字段 864:檢驗和字段 866:伺服器產品列表字段 868:伺服器標識字段 870:可選資料字段 872:硬體帶目錄字段 880:配置表
透過以下參考附圖對示例性實施例進行描述,將更好地理解本揭露,其中: 第1圖為習知技術之伺服器知軟體帶安裝的方塊圖。 第2圖為習知技術之伺服器知硬體帶安裝的方塊圖。 第3圖為允許對所需不同類型的伺服器進行有效配置之示例伺服器配置和組裝過程的流程圖。 第4圖為伺服器之基板的方塊圖。 第5圖為提供伺服器之軟體帶配置參數至平台控制器中心之過程的示意圖。 第6A圖與第6B圖為提供伺服器之軟體帶配置參數至平台控制器中心之過程的流程圖。 第7圖為提供伺服器之硬體帶配置參數至硬體邏輯之過程的示意圖。 第8A圖與第8B圖為提供硬體帶配置參數至硬體邏輯之過程的流程圖。 本發明容許各種修改和替代形式,並已藉由附圖中的示例示出了一些代表性的實施例,且將在此詳細地描述。然而,應理解的是,本發明並不限於所揭露的特定形式。相反地,本揭露將涵蓋由所附申請專利範圍所限定之本發明的精神和範圍內的所有修改,等同物和替代物。
110:綜合韌體映像檔 112:可編程邏輯控制器 114:基板 116、118:伺服器

Claims (10)

  1. 一種配置伺服器之功能的方法,該方法包括: 於一帶結構,儲存多個所需參數與對應之伺服器標識; 從一基板上之一記憶體,讀取包括一伺服器產品類型的一板標識; 比對該伺服器產品類型與該帶結構中之該些伺服器標識;以及 載入該對應所需參數至該基板上之一基板元件,以執行一伺服器功能。
  2. 如申請專利範圍第1項所述之方法,其中該基板元件唯一平台控制器中心,且其中該些參數為軟體帶,其在一串列匯流排上將該平台控制器中心之多個輸出信號配置到一主機板。
  3. 如申請專利範圍第1項所述之方法,其中該元件為一邏輯電路,其具有至一主機板上之一處理器之多個配置輸入的多個輸出,且其中該些參數為硬體參數,其設定該邏輯電路之該些輸出的狀態。
  4. 如申請專利範圍第1項所述之方法,更包括若該些伺服器標識未與該伺服器產品類型匹配,傳送一系統錯誤日誌。
  5. 如申請專利範圍第4項所述之方法,更包括若該些伺服器標識未與該伺服器產品類型匹配,停止一開機自我測試程序。
  6. 如申請專利範圍第1項所述之方法,其中該帶結構儲存於該基板上之一基本輸入輸出系統之一韌體映像檔中。
  7. 一種可配置伺服器,包括: 一記憶體,儲存包括一伺服器產品類型的一板標識; 一基本輸入輸出系統,其包括具有一硬體帶結構的一韌體映像檔,該硬體帶結構包括多個所需參數與對應之伺服器標識; 一邏輯電路,具有根據來自該些所需參數之一的多個硬體帶參數所設置的多個輸出組,且該些所需參數具有與該伺服器產品類型匹配的一伺服器標識;以及 一處理器,具有多個設置輸入,以致能多個功能之一,該處理器基於該些配置輸入的狀態執行該些功能中的一功能,其中該些配置輸入耦接該邏輯電路的該些輸出。
  8. 如申請專利範圍第7項所述之伺服器,其中該記憶體與該基本輸入輸出系統安裝在一基板上,且該處理器安裝在一主機板上。
  9. 一種可配置伺服器,包括: 一記憶體,儲存包括一伺服器產品類型的一板標識; 一基本輸入輸出系統,其包括具有一軟體帶結構的一韌體映像檔,該軟體帶結構包括多個所需參數與對應之伺服器標識; 一快閃記憶體,儲存來自該些所需參數之一的一軟體帶參數,該些所需參數具有與該伺服器產品類型匹配的一伺服器標識; 一可配置硬體元件; 一串列匯流排,耦接該可配置硬體元件;以及 一平台控制器中心,耦接該快閃記憶體,該平台控制器中心讀取該軟體帶參數以及在該串列匯流排上傳送多個配置參數至該可配置硬體元件。
  10. 如申請專利範圍第9項所述之伺服器,更包括一基板,其安裝該記憶體、該基本輸入輸出系統、該快閃記憶體與平台控制器中心,以及一主機板,其安裝該可配置硬體元件。
TW107145381A 2018-09-05 2018-12-17 可配置伺服器及配置伺服器之功能的方法 TWI698753B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/122,387 US10489338B1 (en) 2018-09-05 2018-09-05 Method and system for streamlined server design
US16/122,387 2018-09-05

Publications (2)

Publication Number Publication Date
TW202011214A TW202011214A (zh) 2020-03-16
TWI698753B true TWI698753B (zh) 2020-07-11

Family

ID=65033531

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107145381A TWI698753B (zh) 2018-09-05 2018-12-17 可配置伺服器及配置伺服器之功能的方法

Country Status (5)

Country Link
US (1) US10489338B1 (zh)
EP (1) EP3620916B1 (zh)
JP (1) JP6825029B2 (zh)
CN (1) CN110879720B (zh)
TW (1) TWI698753B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110908943A (zh) * 2019-12-09 2020-03-24 迈普通信技术股份有限公司 一种板卡自动适配方法、装置、网络设备及存储介质
US11100230B1 (en) 2019-12-31 2021-08-24 Management Services Group, Inc. Modular embedded chassis with firmware for removably coupled compute devices, and methods and systems for the same
US20230334156A1 (en) * 2020-06-08 2023-10-19 Hewlett-Packard Development Company, L.P. Secure boot up of computing devices
US11599087B2 (en) * 2020-10-21 2023-03-07 Dell Products L.P. System and method of utilizing information handling system identity types with motherboards of information handling systems
US11487550B1 (en) * 2020-12-07 2022-11-01 Amazon Technologies, Inc. Event communication management
US12105856B2 (en) * 2021-10-22 2024-10-01 Dell Products, L.P. Validation and registration for information handling systems
US12001560B2 (en) * 2021-10-28 2024-06-04 Quanta Computer Inc. Method and system for avoiding boot failure from platform firmware resilience execution
CN114327536A (zh) * 2021-11-30 2022-04-12 浪潮电子信息产业股份有限公司 一种服务器运维方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200516411A (en) * 2002-11-12 2005-05-16 Edentree Technologies Inc System for enabling secure remote switching, robotic operation and monitoring of multi-vendor equipment
TW201510761A (zh) * 2013-09-12 2015-03-16 Alibaba Group Services Ltd 下載以及安裝客戶端的方法和設備
US9128729B1 (en) * 2014-09-08 2015-09-08 Quanta Computer Inc. System and method for automatically configuring bios performance profiles
US20170220802A1 (en) * 2016-02-01 2017-08-03 Quanta Computer Inc. System and method for firmware verification
TW201828219A (zh) * 2017-01-20 2018-08-01 香港商阿里巴巴集團服務有限公司 智能設備的控制方法及裝置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014080872A2 (ja) * 2012-11-20 2014-05-30 太陽誘電株式会社 再構成可能な半導体装置の論理構成方法
WO2014130005A1 (en) * 2013-02-19 2014-08-28 Empire Technology Development Llc Testing and repair of a hardware accelerator image in a programmable logic circuit
US20140297922A1 (en) * 2013-03-29 2014-10-02 Nitin V. Sarangdhar Method and apparatus for managing serial peripheral interface (spi) flash
CN103905566A (zh) * 2014-04-22 2014-07-02 浪潮电子信息产业股份有限公司 一种服务器启动信息远程查看及导出方法
US9122501B1 (en) * 2014-09-08 2015-09-01 Quanta Computer Inc. System and method for managing multiple bios default configurations
US10031736B2 (en) * 2015-09-29 2018-07-24 Quanta Computer Inc. Automatic system software installation on boot
US10037170B2 (en) 2015-12-18 2018-07-31 Mitac Computing Technology Corporation Motherboard and a method for boot-up
CN106998255B (zh) * 2016-01-22 2020-01-10 腾讯科技(深圳)有限公司 一种反馈处理服务器、网络系统以及反馈处理方法
US9710284B1 (en) 2016-02-02 2017-07-18 Mitac Computing Technology Corporation System for programmably configuring a motherboard
US10229883B2 (en) * 2016-10-01 2019-03-12 Intel Corporation Systems, methods, and apparatuses for implementing late fusing of processor features using a non-volatile memory

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200516411A (en) * 2002-11-12 2005-05-16 Edentree Technologies Inc System for enabling secure remote switching, robotic operation and monitoring of multi-vendor equipment
TW201510761A (zh) * 2013-09-12 2015-03-16 Alibaba Group Services Ltd 下載以及安裝客戶端的方法和設備
US9128729B1 (en) * 2014-09-08 2015-09-08 Quanta Computer Inc. System and method for automatically configuring bios performance profiles
US20170220802A1 (en) * 2016-02-01 2017-08-03 Quanta Computer Inc. System and method for firmware verification
TW201828219A (zh) * 2017-01-20 2018-08-01 香港商阿里巴巴集團服務有限公司 智能設備的控制方法及裝置

Also Published As

Publication number Publication date
CN110879720B (zh) 2023-03-31
JP6825029B2 (ja) 2021-02-03
EP3620916B1 (en) 2023-07-19
EP3620916A1 (en) 2020-03-11
CN110879720A (zh) 2020-03-13
JP2020038604A (ja) 2020-03-12
US10489338B1 (en) 2019-11-26
TW202011214A (zh) 2020-03-16

Similar Documents

Publication Publication Date Title
TWI698753B (zh) 可配置伺服器及配置伺服器之功能的方法
US8312258B2 (en) Providing platform independent memory logic
US10698696B2 (en) Chipset fuse programming system
US10146551B2 (en) Initializing and reconfiguring replacement motherboards
US12130931B2 (en) Systems and methods for vulnerability proofing interdependent IHS components
US12135794B2 (en) Systems and methods for validated vulnerability proofing
US20240232370A9 (en) Systems and methods for vulnerability proofing when updating an ihs
US12137112B2 (en) Systems and methods for vulnerability proofed cluster management
US20240232374A9 (en) Systems and methods for validated vulnerability proofing
US20240232371A9 (en) Systems and methods for vulnerability proofing when generating ihs updates
US20240134996A1 (en) Systems and methods for vulnerability proofing when using a bootable image
US20240232378A9 (en) Systems and methods for vulnerability proofing machine learning recommendations
US20240232375A9 (en) Systems and methods for vulnerability proofing when configuring an ihs
US20240134995A1 (en) Systems and methods for context-aware vulnerability risk scores
US20240232368A9 (en) Systems and methods for vulnerability proofing when adding and replacing ihs hardware
US20240137381A1 (en) Systems and methods for vulnerability proofed cluster management
US20240069923A1 (en) Standardized and robust framework to enhance bootloader configuration management
US20240103837A1 (en) Seamless and secure motherboard replacement system and method
US20240135002A1 (en) Systems and methods for aggregated vulnerability proofing of an ihs
US20240232376A9 (en) Systems and methods for vulnerability proofing during ihs provisioning
TWI659295B (zh) 伺服器及伺服器開機初始化方法