TWI830418B - 複雜可程式邏輯單元的韌體更新方法 - Google Patents
複雜可程式邏輯單元的韌體更新方法 Download PDFInfo
- Publication number
- TWI830418B TWI830418B TW111137656A TW111137656A TWI830418B TW I830418 B TWI830418 B TW I830418B TW 111137656 A TW111137656 A TW 111137656A TW 111137656 A TW111137656 A TW 111137656A TW I830418 B TWI830418 B TW I830418B
- Authority
- TW
- Taiwan
- Prior art keywords
- programmable logic
- complex programmable
- firmware
- logic unit
- updated
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 230000002159 abnormal effect Effects 0.000 claims description 16
- 230000005856 abnormality Effects 0.000 claims description 6
- 239000007787 solid Substances 0.000 claims description 6
- 230000004913 activation Effects 0.000 claims description 4
- 125000004122 cyclic group Chemical group 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Abstract
一種複雜可程式邏輯單元的韌體更新方法,一基板管理控制器傳送一解鎖指令至一複雜可程式邏輯單元,該複雜可程式邏輯單元將一位元值修改為一第二位元值並傳送一解鎖通知至該基板管理控制器,該基板管理控制器將一欲更新韌體進行分段並依序傳送至該複雜可程式邏輯單元,當該複雜可程式邏輯單元判定出經分段的該欲更新韌體為該欲更新韌體之最後一段時將該位元值修改為一第一位元值並傳送一鎖定指示至該基板管理控制器,該基板管理控制器傳送一重置指令至該複雜可程式邏輯單元,該複雜可程式邏輯單元重置並將一待更新韌體更新為該欲更新韌體。
Description
本發明是有關於一種韌體更新方法,特別是指一種用於更新複雜可程式邏輯單元之韌體的複雜可程式邏輯單元的韌體更新方法。
以往在電腦中的複雜可程式邏輯單元(Complex Programmable Logic Device, CPLD)之韌體若要進行更新,需要透過對應的基板管理控制器(Baseboard Management Controller, BMC)傳送一欲更新韌體至複雜可程式邏輯單元以供複雜可程式邏輯單元將該欲更新韌體儲存於唯讀記憶體(Read-Only Memory, ROM)中,接著複雜可程式邏輯單元需進行斷電及復電的動作,且在復電之後,複雜可程式邏輯單元便會在自身初始化的過程中解鎖其快閃記憶體以將該欲更新韌體存入其中,以將原本儲存於其快閃記憶體中的韌體更新為該欲更新韌體,此更新方式僅適用於熱插拔基板上僅存在單一複雜可程式邏輯單元。參閱圖1,若熱插拔基板上存在分別對應兩個節點上的基板管理控制器的兩個複雜可程式邏輯單元,在其中一基板管理控制器傳送該欲更新韌體至皆設置於熱插拔基板(Hot Swap Base Plane,HSBP)上之其中一複雜可程式邏輯單元後,接收完該欲更新韌體的複雜可程式邏輯單元欲進行斷電及復電的動作,以便解鎖快閃記憶體來將該欲更新韌體存入其中以將原本儲存於快閃記憶體中的韌體更新為該欲更新韌體,然而,對熱插拔基板上的任一複雜可程式邏輯單元進行斷電及復電的實施方式,即為對整個熱插拔基板進行斷電及復電,也就是說,另一沒有進行韌體更新且正在與對應的基板管理控制器正常運作溝通的複雜可程式邏輯單元,也會因為熱插拔基板被斷電後復電,而需要進行自身的初始化,造成整個系統的兩個節點均無法操控原先透過熱插拔基板所連接的儲存模組,且須長時間的等待熱插拔基板上的兩個複雜可程式邏輯單元均完成復電後的初始化後,兩節點才能透過兩個複雜可程式邏輯單元繼續監控熱插拔基板所連接的儲存模組,這樣的方法,非常的耗時,且對於沒有更新韌體的複雜可程式邏輯單元與對應的節點因為熱插拔基板的斷電而中斷通訊,會造成對應節點因通訊異常而當機或損壞。
因此,本發明的目的,即在提供一種可安全且穩定的更新複雜可程式邏輯單元之韌體的複雜可程式邏輯單元的韌體更新方法。
於是,本發明複雜可程式邏輯單元的韌體更新方法,藉由一電連接一複雜可程式邏輯單元的電腦節點來實施,該電腦節點包含一電連接該複雜可程式邏輯單元的基板管理控制器,並儲存有一欲更新韌體,該複雜可程式邏輯單元儲存有一待更新韌體,及一鎖定位元,該鎖定位元之位元值為指示出該複雜可程式邏輯單元處於一鎖定狀態的一第一位元值及處於一解鎖狀態的一第二位元值之其中一者,該複雜可程式邏輯單元的韌體更新方法包含一步驟(A)、一步驟(B) 、一步驟(C) 、一步驟(D) 、一步驟(E) 、一步驟(F) 、一步驟(G),及一步驟(H)。
該步驟(A)是該基板管理控制器傳送一解鎖指令至該複雜可程式邏輯單元。
該步驟(B)是當該複雜可程式邏輯單元接收到該解鎖指令時,該複雜可程式邏輯單元將所儲存之鎖定位元之位元值修改為該第二位元值,並傳送一解鎖通知至該基板管理控制器。
該步驟(C)是該基板管理控制器在接收到該解鎖通知後,將該欲更新韌體進行分段。
該步驟(D)是該基板管理控制器依序傳送經分段的該欲更新韌體至該複雜可程式邏輯單元。
該步驟(E)是該複雜可程式邏輯單元判定是否有成功接收經分段的該欲更新韌體。
該步驟(F)是當該複雜可程式邏輯單元判定出成功接收經分段的該欲更新韌體時,該複雜可程式邏輯單元儲存經分段的該欲更新韌體於該第一儲存模組。
該步驟(G)是該複雜可程式邏輯單元判定經分段的該欲更新韌體是否為該欲更新韌體之最後一段。
該步驟(H)當該複雜可程式邏輯單元判定出經分段的該欲更新韌體為該欲更新韌體之最後一段時,該複雜可程式邏輯單元根據該第一儲存模組所儲存的經分段的該欲更新韌體更新該待更新韌體,以將該待更新韌體更新為該欲更新韌體,並將所儲存之鎖定位元之位元值修改為該第一位元值,且傳送一鎖定指示至該基板管理控制器。
本發明的功效在於:藉由該複雜可程式邏輯單元在接收到該解鎖指令時將該位元值修改為該第二位元值,以解鎖該第一儲存模組,並依序接收經分段的該欲更新韌體且儲存於該第一儲存模組,且在接收完該欲更新韌體後將該待更新韌體更新為該欲更新韌體,並將該位元值修改為該第一位元值,便不需進行斷電及復電即能解鎖該第一儲存模組來達到安全且穩定的更新韌體之目的。
在本發明被詳細描述前,應當注意在以下的說明內容中,類似的元件是以相同的編號來表示。
參閱圖2,本發明複雜可程式邏輯單元的韌體更新方法的一實施例,藉由一伺服器系統來實施,該服器系統包含至少一電腦節點1、至少一共同設置在熱插拔背板的複雜可程式邏輯單元3,及一電連接熱插拔背板與的該電腦節點1的電源供應單元4,每一電腦節點1包含一基板管理控制器2、一電耦接該基板管理控制器2的固態硬碟12,及一電連接該基板管理控制器2的非揮發性記憶體單元13,且每一基板管理控制器2電連接該至少一複雜可程式邏輯單元3,及電連接該電源供應單元4,每一電腦節點1之非揮發性記憶體單元13儲存有一欲更新韌體及多個相關於該複雜可程式邏輯單元3的歷史韌體版本編碼,該複雜可程式邏輯單元3包含一用於儲存一鎖定位元(例如,bit[0])的暫存器31(Register)、一用於儲存一待更新韌體的第一儲存模組32、一用於儲存一正式韌體的第二儲存模組33,及一電連接該暫存器31、該第一儲存模組32、該第二儲存模組33的控制器34(Controller),該鎖定位元之位元值為指示出該複雜可程式邏輯單元3之第一儲存模組32處於一鎖定狀態的一第一位元值(例如,bit[0]=0)及處於一解鎖狀態的一第二位元值(例如,bit[0]=1)之其中一者。其中,該第一儲存模組為快閃記憶體(Flash memory),該第二儲存模組為靜態隨機存取記憶體(Static Random Access Memory, SRAM),在另一實施例中,該第一儲存模組與該第二儲存模組也可以為同一個快閃記憶體的兩個不同的記憶體區塊,但不以此為限。
值得特別說明的是,該伺服器系統可以是一叢集式伺服器或一機櫃伺服器,且每一電腦節點1亦可是一伺服器節點或一主機板或其他可獨立運作之計算機裝置。
參閱圖2、圖3與圖4,以下將藉由本發明複雜可程式邏輯單元的韌體更新方法之該實施例來說明該伺服器系統中各元件之作動。由於本發明中每一電腦節點1對每一複雜可程式邏輯單元3之韌體更新方式皆相似,在以下說明書僅以單一電腦節點1對單一複雜可程式邏輯單元3進行韌體更新來做說明,該實施例包含步驟601~步驟630。
在步驟601中,該基板管理控制器2傳送一解鎖指令至該複雜可程式邏輯單元3的控制器34。
在步驟602中,當該複雜可程式邏輯單元3的控制器34接收到該解鎖指令時,該複雜可程式邏輯單元3的控制器34將該暫存器31所儲存之鎖定位元之位元值修改為該第二位元值,並傳送一解鎖通知至該基板管理控制器2。
在步驟603中,該基板管理控制器2在接收到該解鎖通知後,根據該解鎖通知將該非揮發性記憶體單元13所儲存的該欲更新韌體進行分段。
在步驟604中,該基板管理控制器2傳送一指示出啟動一更新計時及一分段計時的啟動通知訊息至該複雜可程式邏輯單元。
在步驟605中,在該複雜可程式邏輯單元3的控制器34接收到該啟動通知訊息後,啟動該更新計時。
在步驟606中,在該複雜可程式邏輯單元3的控制器34啟動該分段計時。
在步驟607中,該基板管理控制器2依序傳送經分段的該欲更新韌體至該複雜可程式邏輯單元3。
在步驟608中,該複雜可程式邏輯單元3判定所接收之經分段的該欲更新韌體大小是否等於一預設分段大小。當該複雜可程式邏輯單元3判定出所接收之經分段的該欲更新韌體大小等於該預設分段大小時,流程進行步驟616;當該複雜可程式邏輯單元3判定出所接收之經分段的該欲更新韌體大小不等於該預設分段大小時,流程進行步驟609。
在步驟609中,該複雜可程式邏輯單元3的控制器34判定該分段計時是否逾時。當判定出該分段計時未逾時時,流程進行步驟613;當判定出該分段計時逾時時,流程進行步驟610。
在步驟610中,該複雜可程式邏輯單元3的控制器34傳送一相關於該分段計時之逾時通知訊息至該基板管理控制器2。
在步驟611中,該複雜可程式邏輯單元3的控制器34將該分段計時重置並啟動。
在步驟612中,在該基板管理控制器2接收到相關於該分段計時之逾時通知訊息後,重新傳送經分段的欲更新韌體至複雜可程式邏輯單元3。
在步驟613中,該複雜可程式邏輯單元3的控制器34判定該更新計時是否逾時。當判定出該更新計時未逾時時,流程回到步驟608;當判定出該更新計時逾時時,流程進行步驟614。
在步驟614中,該複雜可程式邏輯單元3的控制器34將該暫存器31所儲存之鎖定位元之位元值修改為該第一位元值。值得一提的是,在其他實施方式中,在步驟614中該複雜可程式邏輯單元3的控制器34還可進一步將該第二儲存模組33所存有的該正式韌體回存到該第一儲存模組32。
在步驟615中,該複雜可程式邏輯單元3的控制器34傳送一相關於該更新計時之逾時通知訊息至該基板管理控制器2,並結束韌體更新。
在步驟616中,該複雜可程式邏輯單元3的控制器34判定是否成功接收經分段的該欲更新韌體。當判定出成功接收經分段的該欲更新韌體時,流程進行步驟617;當判定出沒有成功接收經分段的該欲更新韌體時,流程進行步驟627。其中,該複雜可程式邏輯單元3是透過一校驗和運算來判定是否成功接收經分段的該欲更新韌體,該校驗和運算為一循環冗餘校驗(Cyclic redundancy check, CRC)運算,更詳細而言,該複雜可程式邏輯單元3將經分段的該欲更新韌體利用該校驗和運算獲得一校驗和,並判定該校驗和是否相符於經分段的該欲更新韌體所對應之一預設校驗,當判定出相符時,則判定出經分段的該欲更新韌體成功接收,也就是說該複雜可程式邏輯單元3已正確且完整的接收並儲存經分段的該欲更新韌體,當判定出不相符時,則表示經分段的該欲更新韌體不正確因此接收失敗。
在步驟617中,該複雜可程式邏輯單元3的控制器34儲存經分段的該欲更新韌體於該第一儲存模組32。
在步驟618中,該複雜可程式邏輯單元3的控制器34將該更新計時重置並停止計時。
在步驟619中,該複雜可程式邏輯單元3的控制器34判定經分段的該欲更新韌體是否為該欲更新韌體之最後一段。當判定出經分段的該欲更新韌體為該欲更新韌體之最後一段時,流程進行步驟620;當判定出經分段的該欲更新韌體非該欲更新韌體之最後一段時,流程進行步驟624。其中,該複雜可程式邏輯單元3是透過一校驗和運算來判定經分段的該欲更新韌體是否為該欲更新韌體之最後一段,該校驗和運算為一循環冗餘校驗(Cyclic redundancy check, CRC)運算,更詳細而言,該複雜可程式邏輯單元3將所有已接收並儲存的經分段的該欲更新韌體之集合利用該校驗和運算獲得一總校驗和,並判定該總校驗和是否相符於該欲更新韌體所對應之一預設總校驗,當判定出相符時,則判定出經分段的該欲更新韌體為該欲更新韌體之最後一段,也就是說該複雜可程式邏輯單元3已完整的接收並儲存該欲更新韌體,換句話說,該複雜可程式邏輯單元3已完整接收並將該欲更新韌體儲存於該第一儲存模組32以作為新的該待更新韌體,當判定出不相符時,則表示當下所接收的經分段的該欲更新韌體不是該欲更新韌體之最後一段。
在步驟620中,該複雜可程式邏輯單元3的控制器34傳送一指示出已接收到經分段的該欲更新韌體之成功通知訊息至該基板管理控制器2。
在步驟621中,該基板管理控制器2在接收到該通知訊息後,該基板管理控制器2判定是否發生異常事件。當判定出發生異常事件時,流程進行步驟622;當判定出無發生異常事件時,流程進行步驟629,以重新開始該分段計時。其中,該基板管理控制器2是判定一相關於該複雜可程式邏輯單元3之資料所包含的一韌體版本編號是否存在於該等歷史韌體版本編號,或是判定一相關於該電源供應單元4的電源穩定資料中是否有發生斷電的訊息,又或者判定一相關於該固態硬碟12的硬碟資料(例如,硬碟溫度)有無異常,又或者判定所對應之電腦節點1所包含的任一硬碟的資料(例如,溫度)有無異常,又或者判定所對應之電腦節點1所包含的中央處理器(Central Processing Unit, CPU)的處理器資料(例如,溫度)是否異常,以判定是否發生異常事件,但不以此為限。
值得特說明的是,當該伺服器系統啟動時,每一電腦節點1之基板管理控制器2皆會定時偵測是否發生異常事件,並將異常事件記錄於日誌,或進行自動修復,或發送通知以使得人員可對應處理。
在步驟622中,該基板管理控制器2傳送一鎖定指示至該複雜可程式邏輯單元3的控制器34。
在步驟623中,當該複雜可程式邏輯單元3的控制器34收到該鎖定指示時,該複雜可程式邏輯單元3的控制器34將該暫存器31所儲存之鎖定位元之位元值修改為該第一位元值,並結束韌體更新。值得一提的是,在其他實施方式中,在步驟623中該複雜可程式邏輯單元3的控制器34還可進一步將該第二儲存模組33所存有的該正式韌體回存到該第一儲存模組32。
在步驟624中,該複雜可程式邏輯單元3的控制器34根據該第一儲存模組32所儲存的新的該待更新韌體(也就是所有分段的該欲更新韌體之集合)來更新該第二儲存模組33所儲存的該正式韌體,以將該正式韌體更新為該待更新韌體,並將該暫存器31所儲存之鎖定位元之位元值修改為該第一位元值,且傳送該鎖定指示至該基板管理控制器2。
在步驟625中,在該基板管理控制器2接收到該鎖定指示後,該基板管理控制器2傳送一對應該鎖定指示的重置指令至該複雜可程式邏輯單元3。
在步驟626中,當該複雜可程式邏輯單元3接收到該重置指令時,該複雜可程式邏輯單元3的控制器34重置該複雜可程式邏輯單元3,並將該第二儲存模組33所儲存之該正式韌體更新為該第一儲存模組32所儲存之該欲更新韌體。更詳細地說,該複雜可程式邏輯單元3的控制器34重置該複雜可程式邏輯單元3且於重置過程的自身初始化程序中,將第一儲存模組32所儲存的新的該待更新韌體(所有分段的該欲更新韌體之集合)傳送並覆蓋該第二儲存模組33所儲存之該正式韌體,以更新該正式韌體,以供該控制器34於該第二儲存模組33執行/運算更新後的該正式韌體。藉此,在多個該複雜可程式邏輯單元3共同設置於同一個該背板的架構下,獨立運作之單一複雜可程式邏輯單元3在更新過程便無需關閉熱插拔背板之電源再復電,使得每一複雜可程式邏輯單元3可獨立進行更新不互相影響,當下沒有在進行韌體更新的另一複雜可程式邏輯單元3不會跟著正在進行韌體更新的該複雜可程式邏輯單元3進行重置或初始化,也就是說,當任一該複雜可程式邏輯單元3因韌體更新而進行初始化時,同一背板上的另一該複雜可程式邏輯單元3仍可繼續正常運作,藉此,以提升伺服器系統整體效能。
在步驟627中,該複雜可程式邏輯單元3的控制器34傳送一指示出經分段的該欲更新韌體接收失敗之失敗通知訊息至該基板管理控制器2。
在步驟628中,在該基板管理控制器2接收到該失敗通知訊息後,重新傳送經分段的欲更新韌體至複雜可程式邏輯單元3,且回到步驟608。
在步驟629中,該基板管理控制器2傳送一指示出重新啟動該分段計時之重啟通知訊息至複雜可程式邏輯單元3。
在步驟630中,在該複雜可程式邏輯單元3的控制器34接收到該重啟通知訊息後,該複雜可程式邏輯單元3的控制器34將該分段計時重置並啟動,且回到步驟607。
舉例來說,假設該欲更新韌體被該基板管理控制器2分為16段,且每一段在傳送時該複雜可程式邏輯單元3的控制器34會判定是否接收成功,若該基板管理控制器2傳送到第3段時該複雜可程式邏輯單元3的控制器34判定出收成功失敗,則該複雜可程式邏輯單元3的控制器34會傳送該失敗通知訊息至該基板管理控制器2,以使得該基板管理控制器2重新傳送第3段。
綜上所述,本發明複雜可程式邏輯單元的韌體更新方法,藉由該複雜可程式邏輯單元3在接收到該解鎖指令時將該位元值修改為該第二位元值,以解鎖該第一儲存模組32,並進行啟動該更新計時,且在依序接收來自該基板管理控制器2之經分段的該欲更新韌體期間,該基板管理控制器2判定是否有發生異常事件,若發生異常事件即停止韌體更新,並在接收完該欲更新韌體後將該第一儲存模組32中所儲存的該待更新韌體更新為該欲更新韌體,並將該位元值修改為該第一位元值以恢復該第一儲存模組32之鎖定狀態,當該複雜可程式邏輯單元3收到該重置指令時重置並將第二儲存模組33中之該待更新韌體更新為該欲更新韌體,藉此該複雜可程式邏輯單元3便不需進行斷電及復電來解鎖該第一儲存模組32,以便更新韌體,亦可透過當該更新計時超時時及當該基板管理控制器2判定出有發生異常事件時來進行鎖定該第一儲存模組32以停止韌體之更新,故確實能達成本發明的目的。
惟以上所述者,僅為本發明的實施例而已,當不能以此限定本發明實施的範圍,凡是依本發明申請專利範圍及專利說明書內容所作的簡單的等效變化與修飾,皆仍屬本發明專利涵蓋的範圍內。
1:電腦節點
2:基板管理控制器
12:固態硬碟
13:非揮發性記憶體單元
3:複雜可程式邏輯單元
31:暫存器
32:第一儲存模組
33:第二儲存模組
34:控制器
4:電源供應單元
601~630:步驟
本發明的其他的特徵及功效,將於參照圖式的實施方式中清楚地呈現,其中:
圖1是一方塊圖,說明習知的熱插拔基板與節點;
圖2是一方塊圖,說明一用於執行本發明複雜可程式邏輯單元的韌體更新方法之一實施例的伺服器系統;及
圖3與圖4皆是一流程圖,配合說明本發明複雜可程式邏輯單元的韌體更新方法之該實施例。
1:電腦節點
2:基板管理控制器
12:固態硬碟
13:非揮發性記憶體單元
3:複雜可程式邏輯單元
31:暫存器
32:第一儲存模組
33:第二儲存模組
34:控制器
4:電源供應單元
Claims (13)
- 一種複雜可程式邏輯單元的韌體更新方法,藉由一電連接一複雜可程式邏輯單元的電腦節點來實施,該電腦節點包含一電連接該複雜可程式邏輯單元的基板管理控制器,並儲存有一欲更新韌體,該複雜可程式邏輯單元之一第一儲存模組儲存有一待更新韌體,該複雜可程式邏輯單元之一暫存器儲存有一鎖定位元,該鎖定位元之位元值為指示出該複雜可程式邏輯單元之第一儲存模組處於一鎖定狀態的一第一位元值及處於一解鎖狀態的一第二位元值之其中一者,該複雜可程式邏輯單元的韌體更新方法包含以下步驟: (A)該基板管理控制器傳送一解鎖指令至該複雜可程式邏輯單元; (B)當該複雜可程式邏輯單元接收到該解鎖指令時,該複雜可程式邏輯單元將所儲存之鎖定位元之位元值修改為該第二位元值,並傳送一解鎖通知至該基板管理控制器; (C)該基板管理控制器在接收到該解鎖通知後,將該欲更新韌體進行分段; (D)該基板管理控制器依序傳送經分段的該欲更新韌體至該複雜可程式邏輯單元; (E)該複雜可程式邏輯單元判定是否成功接收經分段的該欲更新韌體; (F)當該複雜可程式邏輯單元判定出成功接收經分段的該欲更新韌體時,該複雜可程式邏輯單元儲存經分段的該欲更新韌體於該第一儲存模組; (G)該複雜可程式邏輯單元判定經分段的該欲更新韌體是否為該欲更新韌體之最後一段;及 (H)當該複雜可程式邏輯單元判定出經分段的該欲更新韌體為該欲更新韌體之最後一段時,該複雜可程式邏輯單元根據該第一儲存模組所儲存的經分段的該欲更新韌體更新該待更新韌體,以將該待更新韌體更新為該欲更新韌體,並將所儲存之鎖定位元之位元值修改為該第一位元值,且傳送一鎖定指示至該基板管理控制器。
- 如請求項1所述的複雜可程式邏輯單元的韌體更新方法,在步驟(C)與步驟(D)之間,還包含以下步驟: (I)該基板管理控制器傳送一指示出啟動一計時的啟動通知訊息至該複雜可程式邏輯單元;及 (J)在該複雜可程式邏輯單元接收到該啟動通知訊息後,啟動該計時。
- 如請求項2所述的複雜可程式邏輯單元的韌體更新方法,在步驟(F)之後,還包含以下步驟: (K)該複雜可程式邏輯單元將該計時重置。
- 如請求項2所述的複雜可程式邏輯單元的韌體更新方法,在步驟(D)之後,還包含以下步驟: (L)該複雜可程式邏輯單元判定該計時是否逾時; 其中,當該複雜可程式邏輯單元判定出該計時未逾時時,執行步驟(E)。
- 如請求1所述的複雜可程式邏輯單元的韌體更新方法,在步驟(G)之後,還包含以下步驟: (M)當該複雜可程式邏輯單元判定出經分段的該欲更新韌體非該欲更新韌體之最後一段時,該複雜可程式邏輯單元傳送一指示出成功接收經分段的該欲更新韌體之成功通知訊息至該基板管理控制器; (N)該基板管理控制器在接收到該成功通知訊息後,該基板管理控制器判定是否發生異常事件; (O)當該基板管理控制器判定出發生異常事件時,該基板管理控制器傳送該鎖定指示至該複雜可程式邏輯單元;及 (P)當該複雜可程式邏輯單元收到該鎖定指示時,該複雜可程式邏輯單元將所儲存之鎖定位元之位元值修改為該第一位元值。
- 如請求5所述的複雜可程式邏輯單元的韌體更新方法,該電腦節點之基板管理控制器還電連接一電源供應單元,其中,在步驟(N)中,該基板管理控制器是判定一相關於該電源供應單元的電源穩定資料有無異常,以判定是否發生異常事件。
- 如請求6所述的複雜可程式邏輯單元的韌體更新方法,其中,在步驟(N)中,該基板管理控制器是判定該電源供應單元之電源穩定資料中是否有發生斷電的訊息,以判定是否發生異常事件。
- 如請求5所述的複雜可程式邏輯單元的韌體更新方法,該電腦節點還包含一電耦接該基板管理控制器的固態硬碟,其中,在步驟(N)中,該基板管理控制器是判定一相關於該固態硬碟的硬碟資料有無異常,以判定是否發生異常事件。
- 如請求5所述的複雜可程式邏輯單元的韌體更新方法,其中,在步驟(N)中,該基板管理控制器是判定一相關於該複雜可程式邏輯單元的資料,以判定是否發生異常事件。
- 如請求9所述的複雜可程式邏輯單元的韌體更新方法,該基板管理控制器還儲存有多個相關於該複雜可程式邏輯單元的歷史韌體版本編碼,其中,在步驟(N)中,該基板管理控制器是判定該複雜可程式邏輯單元之資料所包含的一韌體版本編號是否存在於該等歷史韌體版本編號,以判定是否發生異常事件。
- 如請求4所述的複雜可程式邏輯單元的韌體更新方法,在步驟(L)之後,還包含以下步驟: (Q)當該複雜可程式邏輯單元判定出該計時已逾時時,該複雜可程式邏輯單元將所儲存之鎖定位元之位元值修改為該第一位元值。
- 如請求1所述的複雜可程式邏輯單元的韌體更新方法,其中,在步驟(G)中,該複雜可程式邏輯單元是透過一校驗和運算來判定經分段的該欲更新韌體是否為該欲更新韌體之最後一段。
- 如請求1所述的複雜可程式邏輯單元的韌體更新方法,該複雜可程式邏輯單元之一第二儲存模組儲存有該待更新韌體,在步驟(H)後,還包含以下步驟: (R)在該基板管理控制器接收到該鎖定指示後,該基板管理控制器傳送一對應該鎖定指示的重置指令至該複雜可程式邏輯單元;及 (S)當該複雜可程式邏輯單元接收到該重置指令時,該複雜可程式邏輯單元重置並將該第二儲存模組所儲存之該正式韌體更新為該第一儲存模組所儲存之該欲更新韌體。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111137656A TWI830418B (zh) | 2022-10-04 | 2022-10-04 | 複雜可程式邏輯單元的韌體更新方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111137656A TWI830418B (zh) | 2022-10-04 | 2022-10-04 | 複雜可程式邏輯單元的韌體更新方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI830418B true TWI830418B (zh) | 2024-01-21 |
TW202416116A TW202416116A (zh) | 2024-04-16 |
Family
ID=90459202
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111137656A TWI830418B (zh) | 2022-10-04 | 2022-10-04 | 複雜可程式邏輯單元的韌體更新方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI830418B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111290772A (zh) * | 2020-03-12 | 2020-06-16 | 苏州浪潮智能科技有限公司 | 一种更新cpld的方法、系统、设备及介质 |
CN111832084A (zh) * | 2019-04-22 | 2020-10-27 | 鸿富锦精密电子(天津)有限公司 | 基板管理控制器的固件保护系统以及方法 |
CN112181468A (zh) * | 2020-09-21 | 2021-01-05 | 苏州浪潮智能科技有限公司 | 一种cpld更新方法、服务器及计算机可读存储介质 |
TWI726502B (zh) * | 2019-11-26 | 2021-05-01 | 神雲科技股份有限公司 | 更新韌體不需斷電的伺服器及主機板模組 |
-
2022
- 2022-10-04 TW TW111137656A patent/TWI830418B/zh active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111832084A (zh) * | 2019-04-22 | 2020-10-27 | 鸿富锦精密电子(天津)有限公司 | 基板管理控制器的固件保护系统以及方法 |
US10824732B1 (en) * | 2019-04-22 | 2020-11-03 | Hongfujin Precision Electronic (Tianjin) Co., Ltd. | System and method for protecting firmware of baseboard management controller of computing device |
TWI726502B (zh) * | 2019-11-26 | 2021-05-01 | 神雲科技股份有限公司 | 更新韌體不需斷電的伺服器及主機板模組 |
CN111290772A (zh) * | 2020-03-12 | 2020-06-16 | 苏州浪潮智能科技有限公司 | 一种更新cpld的方法、系统、设备及介质 |
CN112181468A (zh) * | 2020-09-21 | 2021-01-05 | 苏州浪潮智能科技有限公司 | 一种cpld更新方法、服务器及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7340638B2 (en) | Operating system update and boot failure recovery | |
US20070234332A1 (en) | Firmware update in an information handling system employing redundant management modules | |
US20120192006A1 (en) | Methods and systems for improved storage replication management and service continuance in a computing enterprise | |
US9367412B2 (en) | Non-disruptive controller replacement in network storage systems | |
JP5376058B2 (ja) | システム制御装置、情報処理システム及び情報処理システムのデータ退避及び復元方法 | |
JP5183542B2 (ja) | 計算機システム及び設定管理方法 | |
WO2018095107A1 (zh) | 一种bios程序的异常处理方法及装置 | |
US7434102B2 (en) | High density compute center resilient booting | |
JP2009295146A (ja) | 復旧サーバ、復旧処理プログラム及び計算機システム | |
US7499987B2 (en) | Deterministically electing an active node | |
TW200426571A (en) | Policy-based response to system errors occurring during os runtime | |
TWI830418B (zh) | 複雜可程式邏輯單元的韌體更新方法 | |
TW202416116A (zh) | 複雜可程式邏輯單元的韌體更新方法 | |
Cisco | Operational Traps | |
Cisco | Operational Traps | |
Cisco | Operational Traps | |
Cisco | Operational Traps | |
Cisco | Operational Traps | |
Cisco | Operational Traps | |
Cisco | Operational Traps | |
Cisco | Operational Traps | |
Cisco | Operational Traps | |
Cisco | Operational Traps | |
Cisco | Operational Traps | |
Cisco | Operational Traps |