TWI839136B - 基板管理控制器的下游裝置的韌體更新方法 - Google Patents
基板管理控制器的下游裝置的韌體更新方法 Download PDFInfo
- Publication number
- TWI839136B TWI839136B TW112107504A TW112107504A TWI839136B TW I839136 B TWI839136 B TW I839136B TW 112107504 A TW112107504 A TW 112107504A TW 112107504 A TW112107504 A TW 112107504A TW I839136 B TWI839136 B TW I839136B
- Authority
- TW
- Taiwan
- Prior art keywords
- management controller
- baseboard management
- downstream device
- firmware
- version number
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000012795 verification Methods 0.000 claims abstract description 10
- 230000006870 function Effects 0.000 claims description 10
- 238000011084 recovery Methods 0.000 claims description 10
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Abstract
一種基板管理控制器的下游裝置的韌體更新方法包含:一基板管理控制器將包括一下游裝置的一版本編號與一韌體映像檔的一韌體映像檔儲存至一快閃記憶體的一staging區域,並通知一安全裝置重新啟動;該安全裝置該staging區域的該韌體映像檔作安全性驗證,並在驗證成功之後,將該韌體映像檔移動至該快閃記憶體的一active區域;該安全裝置改變一重置信號的邏輯值,以通知該基板管理控制器開始啟動;該基板管理控制器讀取該active區域的該韌體映像檔,並根據該下游裝置的該版本編號及該下游裝置的一目前版本編號,決定是否對該下游裝置作韌體更新。
Description
本發明是有關於一種基板管理控制器的下游裝置的韌體更新方法,特別是指一種支援平台韌體保護與恢復(PFR)功能的基板管理控制器的下游裝置的韌體更新方法。
參閱圖1,現有支援英特爾(Intel)公司所制定的平台韌體保護與恢復(Platform firmware resilience,PFR)功能(亦即符合NIST SP 800-193文件)的伺服器包含一基板管理控制器(BMC)91、一快閃記憶體92、一安全裝置93、及一多工器(MUX)94。該安全裝置例如是一複雜可程式化邏輯裝置(CPLD)並作為一RoT(Root of trust)晶片。該快閃記憶體92儲存該基板管理控制器91的一韌體。該多工器94藉由三個序列週邊介面(SPI)分別電連接該基板管理控制器91、該快閃記憶體92、及該安全裝置93。
當該伺服器開機時,該安全裝置93藉由將一重置信號(Reset)保持在一邏輯0並傳送至該基板管理控制器91,且該多工器94受到該安全裝置93的控制,使得該安全裝置93經由該多工器94對該快閃記憶體92的該韌體作驗證。當該安全裝置93驗證該韌體成功之後,該安全裝置93將該重置信號改變為邏輯1,且該多工器94受到該安全裝置93的控制,使得該基板管理控制器91經由該多工器94讀取該快閃記憶體92的該韌體,以繼續執行開機程序。
該伺服器普遍都還包含電連接該基板管理控制器91的多個下游裝置(Downstream device),例如其他複雜可程式化邏輯裝置(CPLD)、電源供應單元(PSU)的晶片、穩壓器(Voltage regulator,VR)的晶片、熱插拔背板(HSBP)的晶片等等。每一該下游裝置包括儲存對應的一韌體的一快閃記憶體。由於每一該下游裝置受限於硬體的限制,也就是都是藉由對應的一I2C(Inter- integrated circuit)匯流排而電連接該基板管理控制器91,且無法藉由另一序列週邊介面(SPI)電連接該安全裝置93,使得任何一個該下游裝置在需要執行對應的該韌體更新時,並無法藉由該安全裝置93執行符合平台韌體保護與恢復(PFR)功能的驗證程序,而成為一個待解決的問題。
因此,本發明的目的,即在提供一種支援平台韌體保護與恢復(PFR)功能的基板管理控制器的下游裝置的韌體更新方法。
於是,本發明提供一種基板管理控制器的下游裝置的韌體更新方法,適用於支援平台韌體保護與恢復(PFR)功能的一伺服器。該伺服器包含一安全裝置、一下游裝置、一基板管理控制器、及一快閃記憶體。該基板管理控制器的下游裝置的韌體更新方法包含步驟(A)~(D)。
於步驟(A),藉由該基板管理控制器將所接收的一韌體映像檔(Image)儲存至該快閃記憶體的一staging區域,並通知該安全裝置重新啟動。該韌體映像檔包括該基板管理控制器的一版本編號與一韌體映像檔,及該下游裝置的一版本編號與一韌體映像檔。
於步驟(B),藉由該安全裝置重新啟動,並對該快閃記憶體的該staging區域所儲存的該韌體映像檔所包含的該基板管理控制器的該版本編號與該韌體映像檔,及該下游裝置的該版本編號與該韌體映像檔一併作安全性驗證,並在驗證成功之後,將該韌體映像檔移動至該快閃記憶體的一active區域。
於步驟(C),藉由該安全裝置輸出並改變一重置信號的邏輯值,以通知該基板管理控制器開始啟動。
於步驟(D),藉由該基板管理控制器讀取該快閃記憶體的該active區域的該韌體映像檔,並根據該基板管理控制器的該版本編號、該下游裝置的該版本編號、該基板管理控制器的一目前版本編號、及該下游裝置的一目前版本編號,決定是否對該基本管理控制器或該下游裝置作韌體更新。
在一些實施態樣中,其中,在步驟(D)中,當該基板管理控制器讀取該下游裝置所儲存的該目前版本編號,並在判斷該下游裝置的該版本編號相較於該目前版本編號更新時,將該下游裝置的該韌體映像檔更新至該下游裝置。
在一些實施態樣中,其中,在步驟(D)中,當該基板管理控制器讀取儲存的該目前版本編號,並在判斷該基板管理控制器的該版本編號相較於該目前版本編號更新時,將該基板管理控制器的該韌體映像檔更新。
在一些實施態樣中,其中,在步驟(A)中,該基板管理控制器將所接收的該韌體映像檔先儲存至該隨機存取記憶體,再將該韌體映像檔儲存至該快閃記憶體的該staging區域。
在一些實施態樣中,其中,在步驟(B)中,該安全裝置重新啟動,並還將保持在一第一邏輯值的該重置信號傳送至該基板管理控制器,使得該基板管理控制器不啟動。在步驟(C)中,該安全裝置將改變為一第二邏輯值的該重置信號傳送至該基板管理控制器,使得該基板管理控制器開始啟動。
在另一些實施態樣中,其中,在步驟(A)中,該基板管理控制器藉由一通知信號通知該安全裝置重新啟動。
在另一些實施態樣中,其中,在步驟(B)中,該下游裝置的該韌體映像檔是被儲存於該快閃記憶體的該active區域中的一固定位置(位址)。在步驟(D)中,該基板管理控制器是至該快閃記憶體的該active區域中的該固定位置(位址)取得該下游裝置的該韌體映像檔。
本發明的功效在於:藉由將該下游裝置的韌體與該基板管理控制器的韌體整合為該韌體映像檔,使得該安全裝置能夠先對該韌體映像檔執行符合平台韌體保護與恢復(PFR)功能的驗證程序,再藉由該基板管理控制器根據該韌體映像檔的該基板管理控制器的該版本編號與該下游裝置的該版本編號,及該基板管理控制器的該目前版本編號與該下游裝置的該目前版本編號,決定是否對該基本管理控制器或該下游裝置作韌體更新,進而能夠解決習知技術所遭遇的問題。
在本發明被詳細描述之前,應當注意在以下的說明內容中,類似的元件是以相同的編號來表示。
參閱圖2與圖3,本發明基板管理控制器的下游裝置的韌體更新方法之一實施例,適用於支援平台韌體保護與恢復(PFR)功能的一伺服器。該伺服器包含一基板管理控制器1、一快閃記憶體2、一安全裝置3、一多工器4、一隨機存取記憶體5、及一下游裝置6。該快閃記憶體2支援平台韌體保護與恢復(PFR)功能,而包括一staging區域、一active區域、及一recovery區域。
該安全裝置3例如是另一複雜可程式化邏輯裝置並作為一RoT晶片。該多工器4藉由三個序列週邊介面(SPI)分別電連接該基板管理控制器1、該快閃記憶體2、及該安全裝置3。該下游裝置6例如是一複雜可程式化邏輯裝置、一電源供應單元的晶片、一穩壓器的晶片、或一熱插拔背板的晶片等等,並包括儲存對應的一韌體的另一儲存裝置(如外接或內建的一快閃記憶體)(圖未示),且藉由對應的一I2C匯流排而電連接該基板管理控制器1。該隨機存取記憶體5電連接該基板管理控制器1。
該基板管理控制器的下游裝置的韌體更新方法包含步驟S1~S4。
於步驟S1,當該基板管理控制器1或該下游裝置6的韌體要更新時,該基板管理控制器1將所接收的一韌體映像檔先儲存至該隨機存取記憶體5,再將該韌體映像檔儲存至該快閃記憶體2的該staging區域,並藉由一通知信號(如改變其暫存器mailbox的邏輯值)通知該安全裝置3重新啟動(即重置或重新上電啟動)。該韌體映像檔包括該基板管理控制器1的一版本編號與一韌體映像檔,及該下游裝置6的一版本編號與一韌體映像檔。換句話說,習知技術的基板管理控制器是僅接收基板管理控制器自身的韌體映像檔來作更新,而本案是在原本的基板管理控制器的韌體映像檔中的一事先定義位置(位址)儲存下游裝置的韌體映像檔,而成為該基板管理控制器1所接收的該韌體映像檔來作更新。
另外要特別補充說明的是:在本實施例中,該下游裝置6的數量是以1個作舉例說明,而在其他的實施例中,該下游裝置6的數量也可以是多數個,則該韌體映像檔會包括該基板管理控制器1的該基板管理控制器的該版本編號與該基板管理控制器的該韌體映像檔,及對應該下游裝置6之數量的多個版本編號與多個下游裝置韌體映像檔。也就是說,該基板管理控制器1及所有的該下游裝置6都各自包含對應的一個版本編號及一個韌體映像檔,且該基板管理控制器1的該版本編號及所有的該下游裝置6的所有版本編號都是共用而儲存於同一個簽章(Signature)中。接著,執行步驟S2。
於步驟S2,該安全裝置3重新啟動,並將保持在一第一邏輯值(如邏輯1)的一重置信號傳送至該基板管理控制器1,使得該基板管理控制器1保持在不啟動(即重置的狀態),且控制該多工器4以對該快閃記憶體2的該staging區域所儲存的該韌體映像檔作安全性驗證,並在驗證成功之後,將該韌體映像檔移動至該快閃記憶體2的該active區域。接著,執行步驟S3。
於步驟S3,該安全裝置3將改變為一第二邏輯值(如邏輯1)的該重置信號傳送至該基板管理控制器1,使得該基板管理控制器1開始啟動。接著,執行步驟S4。
於步驟S4,該多工器4受到該安全裝置3的控制,使得該基板管理控制器1能夠讀取該快閃記憶體2的該active區域的該韌體映像檔,並根據該基板管理控制器的該版本編號、該下游裝置的該版本編號、該基板管理控制器1的一目前版本編號、及該下游裝置6的一目前版本編號,決定是否對該基本管理控制器或該下游裝置6作韌體更新。
更詳細地說,當該基板管理控制器1讀取所儲存的該目前版本編號,並在判斷該基板管理控制器的該版本編號相較於該目前版本編號更新時,將該基板管理控制器的該韌體映像檔更新(例如是更新至該基板管理控制器的一外接的非揮發性記憶體)。而當該基板管理控制器1讀取該下游裝置6所儲存的該目前版本編號,並在判斷該下游裝置的該版本編號相較於該目前版本編號更新時,將該下游裝置的該韌體映像檔更新至該下游裝置6的該儲存裝置。
綜上所述,藉由將所有下游裝置6的韌體與該基板管理控制器1的韌體整合為該韌體映像檔,使得該安全裝置3能夠先對該韌體映像檔執行符合平台韌體保護與恢復(PFR)功能的驗證程序,再藉由該基板管理控制器1根據該韌體映像檔中該基板管理控制器1的新韌體的版本編號與所有下游裝置6的新韌體的版本編號,及該基板管理控制器1的原有韌體的版本編號與所有下游裝置6的原有韌體的版本編號,決定是否對該基本管理控制器或任一個下游裝置6作韌體更新,故確實能達成本發明的目的。
惟以上所述者,僅為本發明的實施例而已,當不能以此限定本發明實施的範圍,凡是依本發明申請專利範圍及專利說明書內容所作的簡單的等效變化與修飾,皆仍屬本發明專利涵蓋的範圍內。
1、91:基板管理控制器
2、92:快閃記憶體
3、93:安全裝置
4、94:多工器
5:隨機存取記憶體
6:下游裝置
本發明的其他的特徵及功效,將於參照圖式的實施方式中清楚地呈現,其中:
圖1是一方塊圖,說明習知的一伺服器;
圖2是一方塊圖,說明本發明基板管理控制器的下游裝置的韌體更新方法的所適用的一伺服器;及
圖3是一流程圖,說明本發明基板管理控制器的下游裝置的韌體更新方法的一實施例。
S1~S4:步驟
Claims (7)
- 一種基板管理控制器的下游裝置的韌體更新方法,適用於支援平台韌體保護與恢復(PFR)功能的一伺服器,該伺服器包含一安全裝置、一下游裝置、一基板管理控制器、及一快閃記憶體,該下游裝置藉由對應的一I2C匯流排而電連接該基板管理控制器,該基板管理控制器的下游裝置的韌體更新方法包含:(A)藉由該基板管理控制器將所接收的一韌體映像檔(Image)儲存至該快閃記憶體的一staging區域,並通知該安全裝置重新啟動,該韌體映像檔包括該基板管理控制器的一版本編號與一韌體映像檔,及該下游裝置的一版本編號與一韌體映像檔;(B)藉由該安全裝置重新啟動,並對該快閃記憶體的該staging區域所儲存的該韌體映像檔所包含的該基板管理控制器的該版本編號與該韌體映像檔,及該下游裝置的該版本編號與該韌體映像檔一併作安全性驗證,並在驗證成功之後,將該韌體映像檔移動至該快閃記憶體的一active區域;(C)藉由該安全裝置輸出並改變一重置信號的邏輯值,以通知該基板管理控制器開始啟動;及(D)藉由該基板管理控制器讀取該快閃記憶體的該active區域的該韌體映像檔,並根據該基板管理控制器的該版本編號、該下游裝置的該版本編號、該基板管理控制器的一目前版本編號、及該下游裝置的一目前版本編號, 決定是否對該基本管理控制器或該下游裝置作韌體更新。
- 如請求項1所述的基板管理控制器的下游裝置的韌體更新方法,其中,在步驟(D)中,當該基板管理控制器讀取該下游裝置所儲存的該目前版本編號,並在判斷該下游裝置的該版本編號相較於該目前版本編號更新時,將該下游裝置的該韌體映像檔更新至該下游裝置。
- 如請求項2所述的基板管理控制器的下游裝置的韌體更新方法,其中,在步驟(D)中,當該基板管理控制器讀取儲存的該目前版本編號,並在判斷該基板管理控制器的該版本編號相較於該目前版本編號更新時,將該基板管理控制器的該韌體映像檔更新。
- 如請求項3所述的基板管理控制器的下游裝置的韌體更新方法,還適用於一隨機存取記憶體,其中,在步驟(A)中,該基板管理控制器將所接收的該韌體映像檔先儲存至該隨機存取記憶體,再將該韌體映像檔儲存至該快閃記憶體的該staging區域。
- 如請求項4所述的基板管理控制器的下游裝置的韌體更新方法,其中,在步驟(B)中,該安全裝置重新啟動,並還將保持在一第一邏輯值的該重置信號傳送至該基板管理控制器,使得該基板管理控制器不啟動,在步驟(C)中,該安全裝置將改變為一第二邏輯值的該重置信號傳送至該基板管理控制器,使得該基板管理控制器開始啟動。
- 如請求項1所述的基板管理控制器的下游裝置的韌體更新方法,其中,在步驟(A)中,該基板管理控制器藉由一 通知信號通知該安全裝置重新啟動。
- 如請求項1所述的基板管理控制器的下游裝置的韌體更新方法,其中,在步驟(B)中,該下游裝置的該韌體映像檔是被儲存於該快閃記憶體的該active區域中的一固定位置(位址),在步驟(D)中,該基板管理控制器是至該快閃記憶體的該active區域中的該固定位置(位址)取得該下游裝置的該韌體映像檔。
Publications (1)
Publication Number | Publication Date |
---|---|
TWI839136B true TWI839136B (zh) | 2024-04-11 |
Family
ID=
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190042752A1 (en) | 2018-09-27 | 2019-02-07 | Intel Corporation | Methods and apparatus for platform firmware resilience |
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190042752A1 (en) | 2018-09-27 | 2019-02-07 | Intel Corporation | Methods and apparatus for platform firmware resilience |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5575338B2 (ja) | 情報処理装置、情報処理方法、およびコンピュータプログラム | |
US20170228228A1 (en) | Remote launch of deploy utility | |
US8601255B2 (en) | Approaches for updating bios | |
US10866623B2 (en) | Information handling system and method to detect and recover from no power/no post failures | |
US9910664B2 (en) | System and method of online firmware update for baseboard management controller (BMC) devices | |
US20090307481A1 (en) | Apparatus and method for booting a system | |
BR112014014815B1 (pt) | Dispositivo de computação, método e meio de armazenamento para realização de cópia de segurança de firmware | |
TW200414041A (en) | Method and system for maintaining firmware versions in a data processing system | |
TW201712542A (zh) | 用於自動安裝系統軟體之電腦可讀取媒介、伺服器及方法 | |
TW200813837A (en) | A chipset-independent method for locally and remotely updating and configuring system BIOS | |
WO2016206514A1 (zh) | 启动处理方法及装置 | |
CN103513993A (zh) | 固件更新系统及方法 | |
JP7002358B2 (ja) | 情報処理システム、情報処理装置、情報処理装置のbios更新方法、及び情報処理装置のbios更新プログラム | |
JP2020038604A (ja) | 合理化されたサーバ設計の方法及びシステム | |
US11550655B2 (en) | System and method for monitoring and upgrading a dual-flash device | |
US11243780B2 (en) | System and method for operating system installation using a dual-flash device | |
US11797389B2 (en) | System and method for recovering an operating system after an upgrade hang using a dual-flash device | |
US20210365323A1 (en) | System and method for recovering an operating system after a runtime hang using a dual-flash device | |
TW201716999A (zh) | 開機檢查方法及電腦系統 | |
JP6599725B2 (ja) | 情報処理装置およびログ管理方法、並びにコンピュータ・プログラム | |
TW201314574A (zh) | 用於電腦系統之基本輸入輸出系統程式更新方法及更新裝置 | |
TWI764454B (zh) | 韌體損壞恢復技術 | |
JP6515462B2 (ja) | 情報処理装置、情報処理装置の設定方法及び設定プログラム | |
JP5561791B2 (ja) | 情報処理装置、情報処理方法、及び情報処理プログラム | |
TWI839136B (zh) | 基板管理控制器的下游裝置的韌體更新方法 |