TWI436546B - 更新電力供應微控制器之系統及方法 - Google Patents

更新電力供應微控制器之系統及方法 Download PDF

Info

Publication number
TWI436546B
TWI436546B TW096138047A TW96138047A TWI436546B TW I436546 B TWI436546 B TW I436546B TW 096138047 A TW096138047 A TW 096138047A TW 96138047 A TW96138047 A TW 96138047A TW I436546 B TWI436546 B TW I436546B
Authority
TW
Taiwan
Prior art keywords
instructions
controller
power
power supply
modified
Prior art date
Application number
TW096138047A
Other languages
English (en)
Other versions
TW200838084A (en
Inventor
Ken Krieger
Albert Borchers
Original Assignee
Exaflop Llc
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 Exaflop Llc filed Critical Exaflop Llc
Publication of TW200838084A publication Critical patent/TW200838084A/zh
Application granted granted Critical
Publication of TWI436546B publication Critical patent/TWI436546B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Description

更新電力供應微控制器之系統及方法
以下揭示內容係關於更新電力供應微控制器,例如,更新由控制器用於控制電力供應之某些功能的韌體。
為進行操作,計算系統需要電源。某些計算系統包括向內部組件(諸如,主機板、處理器及記憶體)提供電力之電力供應。
電力供應可將電力之一種形式轉換為另一種所要形式及電壓。在某些系統中,此轉換涉及將由公用事業公司供應之120 V或240 V交流轉換為用於內部組件之較低直流電壓。
電力供應可包括切換式電力供應及線性調節器電力供應。某些切換式電力供應包括快速接通及斷開負載電流以便穩定輸出電壓之電晶體與變壓器網路。
某些線性調節器電力供應使用變壓器來將AC電壓轉換為較低AC電壓。舉例而言,線性調節器電力供應可藉由一或多個二極體來對較低AC電壓進行整流。此外,此等線性調節器電力供應可包括用以消除經整流之信號中之變化的電容器。其次,線性調節器可用以基於由電力供應供電之電路之要求而降低電壓。
本說明書係關於更新電力供應。
在第一通用態樣中,一系統包括:一電力轉換模組;一 資料埠;一控制器,其用以自該資料埠接收資料;及一資料儲存器,其含有在由該控制器執行時執行操作以控制該電力轉換模組之指令。該等操作包括:在該控制器之啟動期間執行該資料儲存器之第一部分中之指令;在已啟動該控制器之後執行該資料儲存器之第二部分中之指令;自該資料埠接收指示該第二部分中之該等指令有待修改之信號;自該資料埠接收待儲存於該第二部分中之經修改之指令;及回應於該信號而執行該第一部分中之該等指令以將該等經修改之指令儲存於該第二部分中。
在第二通用態樣中,描述一種將指令載入具有記憶體之可程式化電力供應之方法。該方法包括在指令載入操作期間保持該可程式化電力供應之電力輸出。該等指令載入操作包括限制對該可程式化電力供應之記憶體之一部分的存取,其中該記憶體耦接至該可程式化電力供應之控制器。該等操作亦包括:經由用於與該電力供應通信之內部匯流排來接收指令,其中該等所接收之指令被儲存於該記憶體之該部分中;及恢復對該記憶體之該部分的存取以使得該控制器可執行該等所接收之指令。
在另一通用態樣中,描述一種方法。該方法包括:將指令載入電力供應系統;及在控制器之初始化期間執行資料儲存器之第一部分中之指令,其中該資料儲存器及該控制器被包括於該電力供應系統中。該方法亦包括:在已初始化該電力供應系統之後執行該資料儲存器之第二部分中之指令;接收指示該第二部分中之該等指令有待修改之信 號;及回應於該信號而執行該第一部分中之該等指令以將經修改之指令儲存於該第二部分中。
在又一通用態樣中,描述一種系統。該系統包括:一電力轉換器;一處理器;及用於載入指令同時保持來自該電力轉換器之電力輸出之構件,該等指令待由該處理器執行以控制該電力轉換器。載入該等指令包括:執行第一指令集以啟動該處理器;在已啟動該處理器之後執行第二指令集;接收信號以回應於所接收之信號而修改該第二指令集;接收經修改之指令集;及使用該第一指令集來以該經修改指令集更新該等第二指令,其中該第二指令集之執行被限制直至完成該更新為止。
本文中所述之系統及技術可提供下列優點中之一或多者。首先,可藉由升級或恢復電力供應之功能性同時保持該電力供應之輸出來增加成本節省及正常操作時間。第二,可經由內部匯流排而便利地升級系統。第三,系統可降低執行惡化或過期韌體之可能性。第四,系統可同時或以一序列更新多個電力供應。第五,可藉由更新韌體來修復與系統有關之操作問題。第六,可在未自系統移除電力供應之情況下便利地升級該電力供應。
在所附圖式及以下描述中陳述一或多個實施例之細節。其他特徵及優點將自該描述及該等圖式及自申請專利範圍而顯而易見。
圖1為說明用於資料中心105之例示性電力分配架構100 的示意圖。資料中心105包括許多模組化積架式基座(其亦可被稱為托盤)110,該等基座中之每一者可包括與電腦主機板120整合之電力供應115。電力供應115包括一控制器125及一非揮發性記憶體(NVM)130(例如,EEPROM、快閃記憶體等)。此外,儘管NVM在示意圖中被描繪為位於內部,但NVM可位於電力供應115或托盤110之內部或外部。
在此實例中,NVM 130包括兩個記憶體部分,其中一個部分儲存應用程式韌體130a且另一個部分儲存啟動載入程式130b。在正常操作期間,控制器125經組態以執行儲存於應用程式韌體130a中之程式指令來控制電力供應115(例如,執行故障防護操作以在AC電力出現故障時保護主機板120並調整電力供應中之冷卻機構)。控制器125可執行儲存於啟動載入程式130b中之程式指令以保持對主機板120之電力輸出並更新儲存於應用程式韌體130a中之程式指令。
在某些實施例中,啟動載入程式130b包括在被執行時使控制器125為應用程式韌體130a之執行作好準備的指令。舉例而言,啟動載入程式130b指令可重設控制器內之變數並載入由控制器用於執行應用程式韌體130a的載入位址或載入點。
在所描繪之實例中,資料中心105自AC電源135接收AC電力。舉例而言,AC電源135可輸送適用於對大體平衡三相負載供電之大體對稱三相電壓。在某些實施例中,可自公用電業網路、水力發電廠、風力機系統、光電電力系統 或其組合接收AC電力。在其他實施例中,AC電源可為包括波浪至電力轉換器(例如,可自Ocean Power Delivery Limited of Edinburgh, United Kingdom購得之Pelamis)之潮汐發電廠以向(例如)基於水之資料中心供應電力。
資料中心105包括許多支架140a、140b及140c。支架140a至140c中之每一者包括許多托盤110。支架140a至140c可由自公用電業135輸送至資料中心105之AC電力供電。在某些實施例中,支架140a至140c提供用以促進托盤110之操作的結構。舉例而言,支架140a至140c可包括用以向托盤110供應AC電力之電力電纜及用以向托盤110供應液體冷卻劑之管道。此外,支架140a至140c亦可包括聯結支架140a至140c中之托盤110以使得資訊可在托盤110與資料中心105之間交換的網路電纜。
架構100包括一網路145及一遠端電腦150。支架140a至140c中之每一者耦接至網路連接155。網路連接155可向網路145提供資訊通道,網路145可包括(例如)區域網路、虛擬專用網路、廣域網路(例如,網際網路)或此等網路之組合,該等網路可為有線網路、光纖網路及/或無線網路。電腦150代表可直接或間接與一或多個托盤通信以使用主機板120上之處理器160及相關聯之記憶體165來存取、儲存、處理及/或擷取資訊的眾多可能設備中之一者。在某些實施例中,額外處理器(例如,伺服器)可促進此通信。舉例而言,可將電腦150包括於伺服器、桌上型電腦、膝上型電腦及/或掌上型基於處理器之設備中。一或多個伺 服器可預處理或後處理、監管、導引及/或平衡與該通信相關聯之資料流。
藉由將托盤110耦接至網路145,資料中心105可向網路使用者提供各種服務。舉例而言,資料中心105可儲存電腦150之使用者可經由網路145搜尋之各種網路資訊。在另一實例中,電腦150之使用者可使用資料中心105來經由網路145遠端地執行應用程式(例如,文字處理應用程式)。在另一實例中,資料中心105可為儲存電腦150之安全資料的安全資料中心。在另一實例中,資料中心105可執行安全關鍵操作,諸如銀行客戶之貨幣交易。
在某些實施例中,資料中心105可使用該等托盤110中之一者或一者以上之組合來執行處理操作。如圖所示,托盤110中之每一者使用主機板120而向資料中心105提供處理功能性。在各種實施例中,主機板120可包括兩個、三個、四個或任一其他可行數目之處理器160。舉例而言,處理器160中之每一者可執行儲存於記憶體165中之指令。在某些實施例中,可用資料儲存設備(例如,硬碟機、快閃記憶體、RAM或組合的任何此等或其他類型之記憶體)之托盤來替代主機板120。記憶體165可包括可由處理器160讀取及/或寫入之揮發性及/或非揮發性記憶體。主機板120可進一步包括一或多個中央處理器單元(CPU)、網路連接設備、記憶體(例如,快取記憶體、非揮發性記憶體、快閃記憶體)及/或磁碟機中之一些或全部(例如)以及各種記憶體、晶片集及相關聯之支援電路。
主機板120使用自電力供應115供應之DC電力進行操作。如圖所示,將AC輸入電壓信號輸送至待由電力供應115處理之托盤110中之每一者。在某些實例中,可經由連接托盤110中之每一者的支架140a至140c中之電力電纜而自AC電源135接收AC輸入電壓信號。電力供應115包括一將AC輸入電壓信號轉換為經調節之DC電壓之AC至DC轉換器170。轉換器170將經調節之DC電壓輸出至DC匯流排175上。在某些實施例中,AC至DC轉換器170可將DC電壓調節至靜態電壓設定點。在某些其他實施例中,可動態地判定電壓設定點。舉例而言,電力供應115可基於(例如)主機板120之當前溫度來判定電壓設定點。
由控制器125來控制電力供應115中之各種操作。舉例而言,控制器125可執行應用程式韌體130a以執行電力管理操作,諸如,判定電力輸出之電壓設定點,監視AC輸入電壓信號之信號品質,監視電力供應115中之溫度及/或其他電力管理功能。在某些實施例中,控制器125可執行應用程式韌體130a以控制電力供應115中之冷卻風扇之速度來調節電力供應115之氣流及冷卻效應。舉例而言,在電力供應115之溫度上升時,控制器125可提高風扇速度以冷卻電力供應115來避免電力供應115歸因於過熱之損壞。
在某些實施例中,控制器125執行應用程式韌體130a中的執行故障防護操作以在AC電力故障期間保持主機板120操作的指令。在某些實例中,AC電力故障可導致或潛在地導致主機板120之不當操作。作為說明性實例,在AC輸 入電壓信號中之錯誤條件被控制器125偵測到(例如,藉由偵測到輸入電壓信號之均方根(r.m.s.)小於電壓臨限值,或藉由偵測到在預定時段內輸入電壓信號之頻率低於頻率臨限值)時,控制器125可控制開關185將電池190連接至DC匯流排175以使得主機板120可繼續操作而無實質中斷。電池190可繼續向主機板120上之電路提供操作電力直至電池190大體放電為止。在某些實施例中,控制器125可監視電池190。在電池190充分放電時,控制器125可執行斷電操作以避免(例如)因主機板120中之電力損失而引起之資料損失。在某些實施例中,在恢復AC電力時,控制器125可執行操作以自使用電池190轉變為使用AC/DC轉換器170來向主機板120供應電力。
在某些實施例中,控制器125亦可經由有線連接(例如,經由系統管理匯流排(SMBus)、內部積體電路(I2 C)匯流排、電力管理匯流排(PMBus)、雙絞線匯流排、電線(諸如,向電力供應115提供AC電力之電線)等)而自管理匯流排195接收命令及資料。在其他實施例中,控制器125無線地(例如,經由射頻(RF)連接、藍芽連接、無線LAN連接、紅外線或經由其他無線/行動通信協定)自管理匯流排接收命令及資料。
在某些實施例中,控制器125可執行操作以更新NVM 130中之程式指令同時繼續向主機板供應電力。舉例而言,控制器125可基於電力供應115之當前條件(例如,AC輸入信號之穩定性及存在、電池之存在、電池之剩餘電池 壽命等)來判定是否允許程式指令之更新。參看圖2至圖5來描述可由控制器125執行以更新NVM 130中之程式指令之操作的某些實例。
將用於執行故障防護操作、電力供應條件監視操作及電力供應115與遠端主機之間的通信操作之程式指令儲存於NVM 130中。在某些實施例中,控制器125可執行總和檢查碼操作以驗證並保持儲存於NVM 130中之程式指令之完整性。舉例而言,若總和檢查碼操作偵測到應用程式韌體130a中之錯誤,則控制器125可通知遠端主機下載應用程式韌體之替換者。
在所描繪之實例中,NVM 130包括複數個記憶體部分180,其中記憶體之一個部分包括應用程式韌體130a且一個部分包括啟動載入程式130b。應用程式韌體130a與啟動載入程式130b可為NVM 130中之獨立程式指令集。在一實施例中,該等獨立程式指令集中之每一者可由控制器125執行以保持對主機板120之電力輸出。在另一實施例中,電力輸出獨立於控制器125之功能性及儲存於非揮發性記憶體(NVM)130中之程式指令。
在某些實施例中,應用程式韌體130a及啟動載入程式130b各自含有獨立於儲存於NVM 130之其他部分中之指令之專用指令。舉例而言,應用程式韌體130a可具有在被執行時監視風扇排氣之溫度且基於此溫度來調整風扇速度之指令,或應用程式韌體可包括概述用於在AC電力於正常操作期間變得不穩定時切換至電池之電力故障保護過程的 指令,而啟動載入程式130b可負責初始化應用程式韌體之起動序列且管理用於更新或修改韌體應用程式130a之韌體更新過程。
藉由執行啟動載入程式130b中之程式指令,控制器125可修改應用程式韌體部分130a之指令同時繼續向主機板120供應電力。舉例而言,韌體更新可升級電力供應115之操作(例如,添加額外電力供應控制特徵或校正電力供應115之操作中之錯誤)。在另一實例中,韌體更新可改變由電力供應115使用之參數中之某些參數(例如,風扇速度、DC輸出電壓或其他操作參數)。
在韌體更新過程期間,控制器125及電力供應115可保持具有功能以使得電力供應向主機板120供應大體連續之電力輸出。在某些實施例中,儲存於啟動載入程式130b中之程式指令可包括用於替換、刪除、補充或修改應用程式韌體130a中之程式指令而不中斷對主機板120之電力輸出的操作。
圖2至圖5為說明控制器125可使用以更新記憶體部分180中之一者(例如,應用程式韌體130a)中之程式指令同時向主機板120繼續供應電力的方法之某些實例之流程圖。舉例而言,電力分配架構100可自包括電力供應115之系統100之管理程式接收更新,其中該等更新包括用以修改電力供應115之應用程式韌體之指令。控制器125可使用下述方法中之某些方法來替換應用程式韌體部分130a(或NVM之其他記憶體部分)。
圖2展示電力供應之控制器可使用而作為該控制器之啟動序列的例示性方法200。舉例而言,控制器125可執行該方法以在硬體重設或軟體重設之後重新啟動電力供應115或電力供應之一部分(例如,重新啟動控制器125同時保持對主機板120之大體穩定之電力輸出)。在某些狀況下,電力供應之控制器可使用方法200來判定記憶體部分中之哪一部分由控制器125存取以供執行。
舉例而言,控制器125使用方法200來判定應用程式韌體130a還是啟動載入程式130b將用以控制電力供應115。在起動過程期間,電力供應之控制器亦可執行方法200來檢查記憶體部分之完整性。舉例而言,執行方法200可大體上減少及/或防止控制器執行已惡化或被錯誤修改之程式指令。
一般而言,控制器可在使用軟體或硬體重設該控制器時使用方法200。可在系統100中之控制器125(或其他處理模組)的控制、監管及/或監視下進一步執行方法200。操作亦可由可經由耦接至托盤110之網路連接155與控制器操作性通信之其他處理及/或控制元件補充或擴充。可由執行有形實施於信號中之指令之一或多個處理器執行某些或全部操作。可單獨或協同執行指令之一或多個處理器使用類比及/或數位硬體或技術來實施處理。
方法200開始於控制器接收軟體重設205或硬體重設210之時。舉例而言,控制器125可在控制器125執行重設指令之後接收軟體重設。在另一實例中,可在控制器125自遠 端主機接收軟體重設指令時(諸如,在控制器已更新應用程式韌體130a之後)重設電力供應115。在另一實例中,控制器125可在電力供應115於被引入系統100後被通電之後接收硬體重設。
接著,在步驟215中,控制器判定電力供應是否在韌體更新模式下操作。在某些實施例中,電力供應115可正於包括(例如)韌體更新模式(例如,啟動載入程式模式)及正常操作模式(例如,應用程式韌體模式)之各種操作模式下操作。舉例而言,在電力供應115正於韌體更新模式下操作時,控制器125可執行操作以更新應用程式韌體130a。
在某些實施例中,控制器125可檢查控制器125之之狀態位元或狀態暫存器或NVM 130中之狀態位元或狀態暫存器以判定電力供應115之當前操作模式。舉例而言,控制器125可檢查NVM 130中之啟動旗標暫存器。若啟動旗標暫存器儲存值零,則控制器125判定(例如)電力供應115正於韌體更新模式下操作。否則,控制器125可判定電力供應正於正常操作模式下操作。
可在執行軟體或硬體重設之前的先前階段中設定電力供應之操作模式。舉例而言,遠端主機可將重設指令傳輸至控制器且指定操作模式(例如,韌體更新模式或正常操作模式)在重設後被執行。在另一實例中,可在歸因於某些事件(例如,突然停機)發出重設時在預定操作模式(例如,韌體更新模式)下重新啟動電力供應。
若控制器判定電力供應處於韌體更新模式,則在步驟 220中,控制器在韌體更新模式下啟動電力供應且方法200結束。若控制器判定電力供應不處於韌體更新模式,則控制器在步驟225中計算記憶體中之應用程式影像之總和檢查碼。舉例而言,控制器125可執行總和檢查碼操作以保護NVM 130中之程式指令之完整性不受(例如)歸因於記憶體惡化或系統錯誤之意外資料修改的影響。在某些實施例中,控制器125可合計NVM 130中之應用程式韌體影像中的所儲存之指令之基本分量(例如,每一位元組)。在其他實施例中,控制器125可執行用以產生總和檢查碼之循環冗餘檢查(CRC)或用以計算總和檢查碼之其他操作。
在步驟230中,控制器判定所計算之總和檢查碼是否正確。舉例而言,控制器可將所計算之總和檢查碼與先前經計算並儲存於NVM 130中之暫存器中之應用程式韌體的總和檢查碼作比較。若兩個值匹配,則控制器125可判定NVM 130中之應用程式韌體影像正確。若兩個值不匹配,則控制器125可判定NVM 130中之應用程式韌體影像不正確。
在另一實施例中,控制器125可將所計算之總和檢查碼傳輸至主機(諸如,圖6中所示之韌體更新主機)以供驗證。舉例而言,主機可儲存傳輸至電力供應115之最後一應用程式韌體更新之總和檢查碼。控制器125將所計算之總和檢查碼傳輸至主機以用於驗證所計算之總和檢查碼與由主機儲存之總和檢查碼大體相等。若所計算之總和檢查碼與先前儲存之總和檢查碼一致,則主機可將指示符傳輸至控 制器以確定總和檢查碼大體相等。否則,主機可指示總和檢查碼不匹配且控制器應起始用以更新或修改應用程式韌體之動作。
若控制器在步驟230中判定所計算之總和檢查碼不正確,則如上所述而執行步驟220。若控制器判定所計算之總和檢查碼正確,則控制器在步驟235中開始執行來自應用程式韌體之指令且方法200結束。
圖3展示電力供應之控制器可在正更新該電力供應之記憶體中之應用程式韌體130a時執行的方法300之實例。在某些實施例中,控制器125可使用方法300來避免韌體更新過程期間之電力故障。一般而言,方法300包括用以防止控制器125之電力故障之操作及用以在主電力供應(諸如,AC電源135)發生故障時繼續韌體更新過程之故障防護操作。
在某些實施例中,可在於方法200中執行步驟215(圖2)之後執行方法300中之一些或全部操作。在某些實施例中,控制器125可在控制器125自遠端主機接收更新韌體命令時在方法300中執行操作。
方法300藉由判定AC電力是否存在且穩定而開始於步驟305。舉例而言,控制器125可量測輸入電壓信號之量值及頻率的均方根(r.m.s.)值以判定AC電力是否存在且穩定。若AC電力不存在或不穩定,則電力供應控制器在步驟310中保持於正常操作模式(例如,應用程式韌體模式)。若AC電力存在且(例如)具有相對較穩定之電壓量值及頻率,則 電力供應控制器可在可選步驟315中判定備用電池是否被適當連接。舉例而言,控制器125可偵測電池190之存在且可基於電池之所量測之輸出電壓、電荷計數、先前電池測試或其他方法來判定電池是否被正確安裝。然而,電力供應115不需要包括備用電池。若電力供應115不包括備用電池,則方法300在AC電力存在且穩定時自步驟305進行至步驟320。
在可選步驟315中,若備用電池未被適當連接,則如上所述執行步驟310。若備用電池被適當連接,則韌體更新操作開始於步驟320。參看圖4來描述用於更新電力供應中之韌體而不中斷電力輸出之操作的某些實例。
接著,控制器在步驟325中判定AC電力是否已在執行韌體更新指令期間中斷。若AC電力未中斷,則控制器125在步驟330中判定是否完成韌體更新過程。若未完成韌體更新過程,則控制器藉由執行步驟325而繼續監視AC電力。
在步驟325中,若AC電力中斷,則電力供應及控制器可在可選步驟335中切換至備用電池,且控制器可如步驟330中所述而監視韌體更新之進展之完成情況。
如上所述,電力供應無需包括備用電池。在無電池之某些實施例中,托盤110會在AC電力在執行韌體更新期間中斷時斷電。在托盤在損失電力後被啟動時,控制器可如關於圖2所描述而在啟動載入程式模式下啟動且再次起始韌體更新操作。
若韌體更新過程如步驟330中所判定而完成,則在步驟 340中,控制器切換至在正常操作模式下操作且方法300結束。視需要,控制器可在步驟345中在電力供應當前正使用電池備用電力時執行正常AC電力故障序列。
圖4展示電力供應之控制器可使用以更新該控制器之應用程式韌體同時保持大體穩定電力輸出之方法400的實例。一般而言,在保持電力供應之電力輸出的同時,控制器可使用方法400來接收記憶體部分(例如,應用程式韌體130a)之更新且保護所接收之更新部分之資料完整性。舉例而言,控制器125可對所接收之資料執行一或多個總和檢查碼操作以偵測所接收之資料中之錯誤。
方法400在控制器接收命令以將操作模式設定於韌體更新模式時開始於步驟405。舉例而言,控制器可自遠端主機接收命令以在韌體更新模式下重新啟動控制器。
在步驟410中,控制器將電力供應操作模式設定於韌體更新模式。在某些實施例中,控制器可在執行步驟410時檢查可用於電力供應之主電力及備用電力。舉例而言,控制器可在執行步驟410時執行方法300。
接著,控制器可在步驟415中接收命令以開始韌體更新過程。在於韌體更新模式下設定電力供應操作之後,控制器在步驟420中接收韌體更新之一部分。舉例而言,可將完整韌體更新分割為可自主機獨立傳輸至控制器125之若干部分。在某些實施例中,在一或多個資料封包中傳輸韌體更新之部分。
在一實施例中,每一部分一旦在控制器處被接收,控制 器即可將其分割為較小部分。舉例而言,較大部分可經分割以適應用於更新NVM之最大塊傳送大小之匯流排。在更具體實例中,韌體更新之部分可大體等於64個位元組,其可為NVM中之記憶體頁之大小。在傳輸至NVM之前,該部分可被分割為兩個32位元組部分,其中一個部分代表較大64位元組部分之高位元組部分,且另一個部分代表較大64位元組部分之低位元組部分。可接著使用具有32位元組之最大塊傳送大小之匯流排而將每一較小部分獨立傳輸至NVM。
在步驟425中,控制器將所接收之部分(諸如,NVM 130之部分130a)寫入至記憶體。在某些實施例中,控制器可在將一個以上所接收之資料封包寫入記憶體中之前將其組合以形成完整韌體更新部分。舉例而言,控制器可在將全字寫入記憶體中之前組合低位元組與高位元組韌體更新部分。
接著,控制器在步驟430中計算關於所接收之部分之總和檢查碼且在步驟435中將所計算之總和檢查碼傳輸至遠端主機。在步驟440中,控制器判定所計算之總和檢查碼是否正確。舉例而言,控制器125可經由管理匯流排195而自遠端主機接收指示所計算之總和檢查碼是否正確之訊息。若判定所計算之總和檢查碼不正確,則執行步驟441,其中控制器請求韌體更新之再傳輸且步驟420被重複以使得所接收之部分自主機再傳輸至控制器。
在某些實施例中,步驟430可發生於步驟425之前。舉例 而言,控制器可在將韌體部分寫至NVM之前計算韌體部分(或完整所接收之韌體更新)之總和檢查碼。控制器可將該總和檢查碼與預先計算之總和檢查碼(例如,在將韌體或韌體部分傳輸至電力供應之前由韌體更新主機計算之總和檢查碼)作比較。若該等總和檢查碼不匹配,則控制器可不將總和檢查碼寫至記憶體,而是,控制器可請求再傳輸韌體。
若判定所計算之總和檢查碼正確,則控制器或主機在步驟445中判定是否存在更多待寫入之韌體更新部分以完成韌體更新。在某些實施例中,控制器可包括計數器且儲存韌體更新之總大小。舉例而言,控制器可使用計數器來對此階段中之所接收之韌體更新之大小進行計數且將計數器值與(先前由主機傳輸之)韌體更新之總大小作比較以判定是否存在更多待寫入之韌體更新部分。
若控制器在步驟445中判定存在更多待寫入之韌體更新部分,則控制器在步驟450中前進至韌體更新之下一部分且步驟420被重複。若不存在更多待寫入之韌體更新部分,則在步驟455中接收總和檢查碼命令。在步驟460中,控制器計算完整韌體更新之總和檢查碼並將其傳輸至(例如)遠端主機。在下一步驟465中,控制器判定完整韌體更新之所傳輸之總和檢查碼是否正確。
若控制器判定所傳輸之總和檢查碼不正確,則控制器可在步驟470中重新啟動韌體更新且步驟420至465被重複。
若控制器判定所傳輸之總和檢查碼正確,則控制器可在 步驟475中接收軟體重新啟動命令。在某些實施例中,在自主機接收軟體重新啟動命令之前,控制器自主機接收關於韌體更新過程之狀態的查詢。若控制器傳輸(例如)指示成功安裝韌體更新之回應,則主機可發送軟體重新啟動命令。否則,主機可(例如)等待預定時間且將查詢傳輸至控制器以用於當前韌體更新狀態。
接著,控制器在步驟480中儲存已更新之韌體的所計算之總和檢查碼。在某些實施例中,控制器可如關於圖2之步驟230所描述而使用所儲存之總和檢查碼來驗證韌體尚未被錯誤修改或惡化。在步驟485中,控制器在使用已更新之應用程式韌體之正常操作模式(例如,應用程式韌體模式)下重新啟動電力供應,且方法400結束。
圖5展示電力供應之控制器可使用以在韌體更新過程期間限制對記憶體之一部分之存取的方法500之實例。在所描繪之方法500中,記憶體之該部分為控制器125使用以執行自遠端主機接收之命令之應用程式記憶體空間。
為保持資料完整性,除非自遠端主機接收到解鎖命令且電力供應正於正常操作模式下(例如,在應用韌體模式下)操作,否則記憶體部分(例如,應用韌體130a)可能為不可存取的。相應地,藉由切換至初始化模式(諸如,啟動載入程式模式),控制器125可限制對應用程式韌體之存取。在某些實施例中,此限制用於在應用程式韌體130a正被更新的同時防止對其之存取。
具體言之,除非經由管理匯流排195自遠端主機接收到 解鎖命令且除非電力供應115正於正常操作模式下操作,否則控制器可將NVM 130之應用程式韌體130a設定為不可存取。當電力供應115正於韌體更新模式下操作時,控制器125可限制對應用程式韌體部分之存取直至控制器125將電力供應115之操作模式切換回正常操作模式為止。藉由限制對正更新之部分之存取,防止控制器執行儲存於該部分中之指令。
方法500在控制器接收到解鎖命令及其他後續命令時開始於步驟505。接著,控制器在步驟510中判定電力供應115是否處於韌體更新模式。若控制器判定電力供應115處於韌體更新模式,則控制器在步驟515中將指示當前不可執行任何應用程式韌體命令之錯誤訊息傳輸至遠端主機,且方法500結束。
在步驟510中,若控制器判定電力供應115不處於韌體更新模式,則控制器在步驟520中回應於解鎖命令而解鎖應用程式記憶體空間。
接著,控制器在步驟525中檢查是否達到時間臨限值。舉例而言,解鎖命令僅可解鎖應用程式記憶體空間持續有限時段(諸如,一秒)。可執行在解鎖命令之後於解鎖命令之一秒內接收之指令。若控制器判定達到時間臨限值(例如,一秒已逝去),則方法500結束。若控制器判定未達到時間臨限值,則控制器在步驟530中執行所接收之後續命令。
在其他實施例中,方法500可經修改以使得其大體上防 止惡意或無意命令由控制器執行。舉例而言,可在控制器執行任一命令之前要求解鎖命令,而無關於控制器是否正更新韌體。
此要求可防止與電力供應115通信之計算設備使控制器執行未經授權之命令。在此實施例中,可去除步驟510、515及520。除非計算設備供應解鎖命令,否則控制器不執行後續命令。若傳輸了解鎖命令(步驟505),則後續命令被認為係合法且經授權的。該方法進行至步驟525以判定執行之時間臨限值是否已逝去,且若尚未逝去,則控制器執行任何後續命令(步驟530)。若時間臨限值已逝去,則控制器除非由另一解鎖命令推進否則不再執行所接收之命令。
圖6為說明包括複數個電力供應管理單元(PSMU)605a、605b、605c、605d及一韌體更新主機610之電力輸送系統600之實例的示意圖。在某些實施例中,該等PSMU中之每一者包括電力供應115之全部或一部分。在所描繪之實例中,PSMU 605a至605d經由管理匯流排195而連接至韌體更新主機610。韌體更新主機610可將資料及命令傳輸至PSMU 605a至605d並自PSMU 605a至605d接收資料及命令。在一實例中,韌體更新主機610可使用管理匯流排195而更新由PSMU 605a至605d使用之應用程式韌體。
PSMU 605a至605d中之每一者可控制向負載(例如,主機板120)供應電力之電力供應(諸如,電力供應115)。在此實例中,PSMU 605a至605d分別包括記憶體615a至615d且分別包括控制器620a至620d。在某些實施例中,控制器620a 至620d中之每一者可執行儲存於同一PSMU 605a至605d上之記憶體615a至615d中的程式指令以控制電力供應。舉例而言,記憶體615a至615d中之每一者可包括應用程式韌體130a及啟動載入程式130b。
控制器620a至620d亦可執行自韌體更新主機610接收之命令。在某些實施例中,控制器620a至620d可藉由預設而限制對(例如)記憶體615a至615d中之應用程式韌體之存取。為執行控制器620a至620d上之應用程式韌體中之命令,韌體更新主機610可在傳輸後續命令之前傳輸解鎖命令以解鎖應用程式韌體。
經由管理匯流排195,韌體更新主機610可將已更新之應用程式韌體以及命令傳輸至PSMU 605a至605d。舉例而言,韌體更新主機610可讀取儲存於記憶體615a至615d中之特定位置中之資料。在另一實例中,韌體更新主機610可將資料寫至記憶體615a至615d中之特定位置。此外,韌體更新主機610可請求控制器620a至620d中之一者計算應用程式韌體之總和檢查碼值。在另一實例中,韌體更新主機610可將PSMU 605a至605d中之一或多者重設於啟動載入程式模式。
韌體更新主機610亦可自控制器620a至620d接收訊息。舉例而言,控制器620a至620d可在控制器判定儲存於記憶體615a至615d中之應用程式韌體惡化或過期時傳輸對韌體更新之請求。舉例而言,控制器620a至620d可經組態以使得在記憶體615a至615d中之應用程式韌體影像之總和檢查 碼值與先前儲存之值不同時,控制器620a至620d請求替換應用程式韌體以避免電力供應失靈。
韌體更新主機610可為本地處理單元或遠端處理單元。在某些實施例中,韌體更新主機610可為本地處理單元,諸如架構100中之托盤110中之一者。舉例而言,在架構100中,可將托盤110之一者預選擇或指示為用以更新其他托盤110之韌體更新主機610。在某些實施例中,可在遠端定位韌體更新主機610。舉例而言,韌體更新主機610可為經由管理匯流排195連接至支架140a至140c之膝上型電腦或經由網路145連接至資料中心105之伺服器。
在正常操作(例如,應用程式韌體模式)下,韌體更新主機610可藉由首先傳輸解鎖命令繼之以後續命令以供執行而將命令傳輸至控制器620a至620d。在某些實施例中,控制器620a至620d可使用方法500來執行所接收之命令。
在韌體更新操作期間,韌體更新主機610可將重新啟動命令傳輸至控制器620a至620d以在韌體更新模式(例如,啟動載入程式模式)下重設PSMU 605a至605d。在某些實例中,控制器620a至620d可在PSMU 605a至605d被重設之後執行方法200中所述之操作。接著,控制器620a至620d檢查可用電力對完成應用程式韌體更新過程而言是否穩定。若可用電力穩定,則控制器620a至620d可與韌體更新主機交互作用以更新應用程式韌體。舉例而言,控制器620a至620d可使用方法300中之操作來更新應用程式韌體。
取決於系統100之實施例,可不同地執行韌體更新過 程。在某些實施例中,可同時更新PSMU 605a至605d。在其他實施例中,韌體更新主機610可一次更新PSMU 605a至605d之子集。舉例而言,韌體更新主機610僅可更新具有適當連接至電力供應150之電池190的PSMU 605,且剩餘PSMU可在電池被適當連接後被更新。
在某些實施例中,韌體更新主機610可選擇PSMU 605a至605d之一者來更新。舉例而言,韌體更新主機610可向PSMU 605a至605d之一者查詢儲存於PSMU 605a至605d中之應用程式韌體之版本。若韌體更新主機610判定所查詢之PSMU中之應用程式韌體未被更新,則韌體更新主機610可在所查詢之PSMU中開始韌體更新過程。或者,每一PSMU可基於儲存於記憶體615中之種子值(諸如,相關聯之電力供應之序號)而產生更新請求。因為每一序號可為獨特的,所以可在不同時間發生更新請求。
在某些實施例中,韌體更新主機610可指定PSMU 605a至605d之特定群組被更新。舉例而言,可存在被識別於資料中心105(圖1)中之某些熱點(例如,系統100內相對於其他硬體在高溫下執行之硬體)。韌體更新主機610可將托盤110之群組定址(例如,藉由使用托盤110中之位址針腳)於熱點處以便將應用程式韌體更新傳輸至該群組以使得(例如)此等托盤110上之冷卻風扇在高於周圍托盤110之冷卻風扇之速度的速度下操作。
已描述了本發明之若干實施例。然而,應瞭解,可在不脫離本發明之精神及範疇的情況下進行各種修改。舉例而 言,儘管上文將主機板120描述為電力供應115之負載,但可使用其他電負載。舉例而言,負載可包括網路設備、整合晶片、唯磁碟系統、記憶體設備等。
在某些實施例中,一個以上電力供應(諸如,電力供應115)可向單一主機板(諸如,主機板120)供電。在其他實施例中,一個以上主機板可由單一電力供應供電。亦可實施諸如對三個主機板供電之兩個電力供應的各種組合。
在其他實施例中,在以不同序列執行所揭示之技術之步驟時,在以不同方式組合所揭示之系統之組件時,或在該等組件由其他組件替換或補充時,可達成有利結果。相應地,其他實施例在隨附之申請專利範圍之範疇內。
100‧‧‧電力分配架構
105‧‧‧資料中心
110‧‧‧托盤
115‧‧‧電力供應
120‧‧‧電腦主機板
125‧‧‧控制器
130‧‧‧非揮發性記憶體
130a‧‧‧應用程式韌體
130b‧‧‧啟動載入程式
135‧‧‧AC電源
140a‧‧‧支架
140b‧‧‧支架
140c‧‧‧支架
145‧‧‧網路
150‧‧‧遠端電腦
155‧‧‧網路連接
160‧‧‧處理器
165‧‧‧記憶體
170‧‧‧AC至DC轉換器
175‧‧‧DC匯流排
180‧‧‧記憶體部分
185‧‧‧開關
190‧‧‧電池
195‧‧‧管理匯流排
205‧‧‧軟體重設
210‧‧‧硬體重設
600‧‧‧電力輸送系統
605a-605d‧‧‧電力供應管理單元
610‧‧‧韌體更新主機
615a-615d‧‧‧記憶體
620a-620d‧‧‧控制器
圖1為說明用於資料中心105之例示性電力分配架構100的示意圖。
圖2展示電力供應之控制器可使用而作為該控制器之起動序列的實例方法。
圖3展示由電力供應之控制器在該電力供應之韌體更新期間執行之實例方法。
圖4展示圖3之韌體更新步驟之更詳細方法。
圖5展示電力供應之控制器可使用以在韌體更新過程期間限制對記憶體之一部分之存取的方法之實例。
圖6為說明包括複數個電力供應管理單元(PSMU)之電力輸送系統之實例的示意圖。
各個圖式中之類似參考符號指示類似元件。
100‧‧‧電力分配架構
105‧‧‧資料中心
110‧‧‧托盤
115‧‧‧電力供應
120‧‧‧電腦主機板
125‧‧‧控制器
130‧‧‧非揮發性記憶體
130a‧‧‧應用程式韌體
130b‧‧‧啟動載入程式
135‧‧‧AC電源
140a‧‧‧支架
140b‧‧‧支架
140c‧‧‧支架
145‧‧‧網路
150‧‧‧遠端電腦
155‧‧‧網路連接
160‧‧‧處理器
165‧‧‧記憶體
170‧‧‧AC至DC轉換器
175‧‧‧DC匯流排
180‧‧‧記憶體部分
185‧‧‧開關
190‧‧‧電池
195‧‧‧管理匯流排

Claims (35)

  1. 一種更新電力供應微控制器之系統,其包含:一電力轉換模組;一資料埠;一控制器,其用以自該資料埠接收資料;及一資料儲存器,其含有在由該控制器執行時執行操作以控制該電力轉換模組之指令,該等操作包含:在該控制器之啟動期間執行該資料儲存器之一第一部分中之指令;在已啟動該控制器之後執行該資料儲存器之一第二部分中之指令;自該資料埠接收一指示該第二部分中之該等指令有待修改之信號;自該資料埠接收待儲存於該第二部分中之經修改之指令;及回應於該信號而執行該第一部分中之該等指令以將該等經修改之指令儲存於該第二部分中,其中該等經修改之指令基於該控制器以判定該電力轉換模組正於正常操作模式下操作而儲存於該第二部分中。
  2. 如請求項1之系統,其中該等經修改之指令替換先前儲存於該資料儲存器之該第二部分中之該等指令的至少一部分。
  3. 如請求項1之系統,其中該等經修改之指令補充先前儲 存於該資料儲存器之該第二部分中之該等指令。
  4. 如請求項1之系統,其中該資料埠自一系統管理匯流排(SMBus)接收資料。
  5. 如請求項1之系統,其中該等操作進一步包含在接收該指示該第二部分中之該等指令有待修改之信號後限制對該第二部分中之該等指令之存取。
  6. 如請求項5之系統,其中該等操作進一步包含在該第一部分中之該等指令已將該等經修改之指令儲存於該第二部分中後恢復對該第二部分中之該等經修改之指令的存取。
  7. 如請求項1之系統,其進一步包含一用以將電力提供至該控制器之一次電源輸入埠及一用以將一替代電源提供至該控制器之二次電源輸入埠。
  8. 如請求項7之系統,其中該一次電源輸入埠為一交流(AC)輸入埠且該二次電源輸入埠為一DC輸入埠。
  9. 如請求項8之系統,其中該DC輸入埠為一電池輸入埠。
  10. 如請求項7之系統,其中該等操作進一步包含監視一自該一次電源輸入埠接收之電力以判定該一次電源輸入埠處之AC電力之存在或穩定性。
  11. 如請求項10之系統,其中該等操作進一步包含在判定該所接收之AC電力不存在或不穩定時切換至可自該二次電源輸入獲得之電力。
  12. 如請求項1之系統,其中該等操作進一步包含將一總和檢查碼傳輸至一主機系統送用於驗證,該總和檢查碼至 少部分產生於儲存於該第二部分中之該等經修改之指令。
  13. 如請求項1之系統,其中該等操作進一步包含在該總和檢查碼無效時在該資料埠處接收該等經修改之指令之一再傳輸。
  14. 如請求項1之系統,其中該等操作進一步包含在一基於該第二部分中之該等經修改之指令的至少一部分的總和檢查碼與一先前基於該至少一部分而判定之所儲存之總和檢查碼不匹配時向該資料埠請求該等經修改之指令之一再傳輸。
  15. 如請求項1之系統,其中該資料埠包含:一紅外線接收器;一射頻(RF)接收器;及一光纖接收器之至少一者。
  16. 如請求項1之系統,其進一步包含一耦接複數個資料埠之通用匯流排,每一資料埠與一電力轉換模組、一控制器及一資料儲存器相關聯。
  17. 如請求項16之系統,其中該通用匯流排進一步耦接至一經組態以將經修改之指令傳輸至該複數個資料埠之系統主機。
  18. 如請求項17之系統,其中該系統主機經進一步組態以將個別化之經修改之指令傳輸至該複數個資料埠中之至少一者。
  19. 如請求項17之系統,其中該系統主機經進一步組態以接 收對在不同時間將該等經修改之指令傳輸至該複數個資料埠的請求。
  20. 如請求項1之系統,其中該等操作進一步包含執行該等經修改之指令。
  21. 如請求項1之系統,其中該資料儲存器之該第一部分及該第二部分為邏輯區段或實體區段。
  22. 如請求項1之系統,其中該等經修改之指令基於從該資料埠接收一第二信號而儲存於該第二部分中。
  23. 如請求項1之系統,其中該等操作進一步包含:回應於該信號或該等經修改之指令之至少一者而基於判定該電力轉換模組非於正常操作模式下操作而傳輸一錯誤訊息。
  24. 如請求項1之系統,其中該等操作進一步包含:在一預定期間接收該等經修改之指令之至少一部分;將在該預定期間接收之該等經修改之指令之該部分儲存於該第二部分;及執行該等經修改之指令之該儲存部分。
  25. 一種用於將指令載入一具有記憶體之可程式化電力供應之方法,該方法包含:在指令載入操作期間保持該可程式化電力供應之一電力輸出,該等指令載入操作包含:限制對該可程式化電力供應之記憶體之一部分的存取,該記憶體耦接至該可程式化電力供應之一控制器;經由一用於與該電力供應通信之內部匯流排來接收 指令,其中該等所接收之指令被儲存於該記憶體之該部分中;及恢復對該記憶體之該部分的存取以使得該控制器可執行該等所接收之指令。
  26. 如請求項25之方法,其中該等指令載入操作包含修改先前儲存於該記憶體之該部分中之指令。
  27. 如請求項25之方法,其中該等指令包含韌體。
  28. 如請求項27之方法,其中該韌體包含資料及可執行指令。
  29. 如請求項25之方法,其中限制對該部分之存取包含防止該控制器執行儲存於該部分中之指令。
  30. 如請求項25之方法,其中該匯流排包含一系統管理匯流排。
  31. 如請求項25之方法,其中限制對該記憶體之該部分之存取包含起始一電池備用模式,其中使用一電池來供應該電力供應之一輸出。
  32. 如請求項25之方法,其中恢復對該記憶體之該部分之存取包含起始一交流(AC)供電模式,其中使用一AC電源來供應該電力供應之一輸出。
  33. 如請求項25之方法,其進一步包含經由該內部匯流排而接收一查詢,該查詢包含一關於是否成功安裝了該等所接收之指令之回應。
  34. 一種包含將指令載入一電力供應系統之方法:在一控制器之初始化期間執行一資料儲存器之一第一 部分中之指令,其中該資料儲存器、該控制器、及一電力轉換模組被包括於該電力供應系統中;在已初始化該電力供應系統之後執行該資料儲存器之一第二部分中之指令;接收一指示該第二部分中之該等指令有待修改之信號;及回應於該信號而執行該第一部分中之該等指令以將經修改之指令儲存於該第二部分中,其中該等經修改之指令基於判定該電力轉換模組正於正常操作模式下操作而儲存於該第二部分中。
  35. 一種更新電力供應微控制器之系統,其包含:一電力轉換器;一處理器;及用於載入指令同時保持來自該電力轉換器之一電力輸出之構件,該等指令待由該處理器執行以控制該電力轉換器,其中載入該等指令包含:執行一第一指令集以啟動該處理器;在已啟動該處理器之後執行一第二指令集;接收一信號以回應於一所接收之信號而修改該第二指令集;接收一經修改之指令集;及使用該第一指令集來以該經修改之指令集更新該等第二指令,其中限制該第二指令集之執行直至完成該更新為止。
TW096138047A 2006-10-10 2007-10-11 更新電力供應微控制器之系統及方法 TWI436546B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/545,944 US7870379B2 (en) 2006-10-10 2006-10-10 Updating a power supply microcontroller

Publications (2)

Publication Number Publication Date
TW200838084A TW200838084A (en) 2008-09-16
TWI436546B true TWI436546B (zh) 2014-05-01

Family

ID=39310020

Family Applications (1)

Application Number Title Priority Date Filing Date
TW096138047A TWI436546B (zh) 2006-10-10 2007-10-11 更新電力供應微控制器之系統及方法

Country Status (2)

Country Link
US (2) US7870379B2 (zh)
TW (1) TWI436546B (zh)

Families Citing this family (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7870379B2 (en) * 2006-10-10 2011-01-11 Exaflop Llc Updating a power supply microcontroller
KR101079592B1 (ko) * 2006-11-03 2011-11-04 삼성전자주식회사 디스플레이장치 및 그 정보갱신방법
US8853872B2 (en) * 2007-02-26 2014-10-07 Google Inc. Water-based data center
EP2003552A3 (en) * 2007-06-15 2009-08-19 Black & Decker, Inc. One fire boot loader
US9069990B2 (en) * 2007-11-28 2015-06-30 Nvidia Corporation Secure information storage system and method
WO2009086485A1 (en) 2007-12-28 2009-07-09 Server Technology, Inc. Power distribution, management, and monitoring systems and methods
TWI366792B (en) * 2008-01-16 2012-06-21 Asustek Comp Inc Booting method and computer system thereof
US9069706B2 (en) * 2008-02-11 2015-06-30 Nvidia Corporation Confidential information protection system and method
US8719585B2 (en) * 2008-02-11 2014-05-06 Nvidia Corporation Secure update of boot image without knowledge of secure key
US9158896B2 (en) * 2008-02-11 2015-10-13 Nvidia Corporation Method and system for generating a secure key
US20090204801A1 (en) * 2008-02-11 2009-08-13 Nvidia Corporation Mechanism for secure download of code to a locked system
US20090204803A1 (en) * 2008-02-11 2009-08-13 Nvidia Corporation Handling of secure storage key in always on domain
US9613215B2 (en) 2008-04-10 2017-04-04 Nvidia Corporation Method and system for implementing a secure chain of trust
US7724021B2 (en) * 2008-08-20 2010-05-25 Infineon Technologies Austria Ag Method and device for programmable power supply with configurable restrictions
US8321163B2 (en) 2009-03-04 2012-11-27 Server Technology, Inc. Monitoring power-related parameters in a power distribution unit
WO2010151835A2 (en) * 2009-06-25 2010-12-29 Server Technology, Inc. Power distribution apparatus with input and output power sensing and method of use
US8723362B2 (en) * 2009-07-24 2014-05-13 Facebook, Inc. Direct tie-in of a backup power source to motherboards in a server system
US9312728B2 (en) * 2009-08-24 2016-04-12 Access Business Group International Llc Physical and virtual identification in a wireless power network
US7948103B2 (en) * 2009-09-03 2011-05-24 General Electric Company Method and system for verifying wind turbine operation
US20110145811A1 (en) * 2010-06-29 2011-06-16 Joerg Middendorf Method and system for software update of wind energy hardware components
JP5516149B2 (ja) * 2010-06-30 2014-06-11 ソニー株式会社 端末装置更新方法及び端末装置
US8344546B2 (en) 2010-07-16 2013-01-01 Facebook, Inc. Power supply unit directly connected to backup direct current power source
EP2447843B1 (de) * 2010-10-06 2013-07-03 Siemens Aktiengesellschaft Verfahren zur Verifizierung eines Anwendungsprogramms einer fehlersicheren Speicherprogrammierbaren Steuerung, und Speicherprogrammierbare Steuerung zur Ausführung des Verfahrens
WO2012059983A1 (ja) * 2010-11-02 2012-05-10 三菱電機株式会社 電源装置およびプログラマブルコントローラ
US8924778B2 (en) * 2010-12-29 2014-12-30 Lsi Corporation Method to synchronize a replacement controller's firmware version to the native configuration database version on a simplex array
KR101254875B1 (ko) * 2011-05-18 2013-04-15 삼성에스디아이 주식회사 배터리 팩 관리시스템
JP5866864B2 (ja) 2011-08-23 2016-02-24 株式会社ニコン 電子機器、電力供給装置、システムおよび機器
US20130073705A1 (en) * 2011-09-20 2013-03-21 Honeywell International Inc. Managing a home area network
US8782633B1 (en) * 2011-09-21 2014-07-15 Emc Corporation Upgrading firmware of a power supply
TW201317756A (zh) * 2011-10-20 2013-05-01 Hon Hai Prec Ind Co Ltd 電源升級系統
US9489924B2 (en) 2012-04-19 2016-11-08 Nvidia Corporation Boot display device detection and selection techniques in multi-GPU devices
US20130285943A1 (en) * 2012-04-30 2013-10-31 Mediatek Inc. Apparatus and method for executing touch controller firmware downloaded from external host to control touch panel
US9665090B2 (en) 2012-07-24 2017-05-30 General Electric Company Systems and methods for rule-based control system reliability
US9141370B1 (en) * 2012-07-30 2015-09-22 Google Inc. Updating control devices in a data center
EP2704053B1 (en) * 2012-08-27 2016-09-21 Giesecke & Devrient GmbH Method and system for updating a firmware of a security module
US9032250B1 (en) 2012-11-05 2015-05-12 Google Inc. Online testing of secondary power unit
US9383992B2 (en) * 2012-11-21 2016-07-05 International Business Machines Corporation Enterprise wide software version recommendation
TWI460955B (zh) * 2012-12-24 2014-11-11 Celestica Technology Consultancy Shanghai Co Ltd 伺服器機櫃的集中式電源模組之控制裝置及控制方法
JP6192089B2 (ja) * 2013-03-07 2017-09-06 Necプラットフォームズ株式会社 情報処理装置、情報処理装置の制御方法及び制御プログラム
US10630099B2 (en) * 2013-06-11 2020-04-21 International Business Machines Corporation Reducing conversion losses and minimizing load via appliance level distributed storage
FR3010553B1 (fr) * 2013-09-10 2015-09-04 Sagemcom Broadband Sas Procede de mise a jour d'un logiciel de demarrage d'un dispositif multiprocesseur
JP5864510B2 (ja) * 2013-10-18 2016-02-17 富士通株式会社 修正プログラム確認方法、修正プログラム確認プログラム、及び情報処理装置
US9251006B2 (en) * 2013-11-22 2016-02-02 Qualcomm Incorporated Apparatus, system and method for autonomous recovery from failures during system characterization on an environment with restricted resources
TWI497438B (zh) * 2013-11-27 2015-08-21 Ind Tech Res Inst 先進讀表基礎建設中之韌體更新系統及其方法
EP3080693B1 (en) * 2013-12-13 2019-07-24 Razer (Asia-Pacific) Pte Ltd. Devices, updaters, methods for controlling a device, and methods for controlling an updater
KR101458428B1 (ko) * 2013-12-30 2014-11-07 어보브반도체 주식회사 단일 광 포트 통신을 이용한 펌웨어 업데이트 방법 및 펌웨어 업데이트가 가능한 마이크로 컨트롤러
US10180828B2 (en) * 2014-04-29 2019-01-15 Significs And Elements, Llc Systems and methods for power optimization of processors
US9641959B2 (en) * 2014-05-23 2017-05-02 Gecko Alliance Group Inc. Household for industrial device including programmable controller and method device and system for use in configuring same
TW201602767A (zh) * 2014-07-09 2016-01-16 萬國商業機器公司 韌體更新方法及其電源系統
CN104102519A (zh) * 2014-07-24 2014-10-15 英业达科技有限公司 机架式服务器系统的固件更新方法及其装置
US9912733B2 (en) * 2014-07-31 2018-03-06 General Electric Company System and method for maintaining the health of a control system
US10331459B2 (en) 2015-03-30 2019-06-25 Sony Corporation Apparatus and method
JP2016189047A (ja) * 2015-03-30 2016-11-04 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム
WO2017123220A1 (en) * 2016-01-13 2017-07-20 Hewlett Packard Enterprise Development Lp Serial bootloading of power supplies
CN111488048B (zh) * 2016-02-14 2023-05-16 华为技术有限公司 一种电源管理方法以及系统
US10234917B2 (en) 2016-06-03 2019-03-19 Hewlett Packard Enterprise Development Lp Sequential resets of redundant subsystems with random delays
US10937019B2 (en) 2016-06-08 2021-03-02 Square, Inc. Wireless communication system with auxiliary antenna
US10419116B2 (en) * 2016-06-17 2019-09-17 Finisar Corporation Transceiver to transceiver digital optical commands
EP3291087A1 (en) * 2016-09-01 2018-03-07 Nxp B.V. Apparatus and associated method for authenticating firmware
US10871963B2 (en) 2016-10-17 2020-12-22 Lenovo Enterprise Solutions (Singapore) Pte. Ltd Adjustment of voltage regulator firmware settings based upon external factors
US11182143B2 (en) * 2016-10-18 2021-11-23 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Adjustment of voltage regulator firmware settings based upon an efficiency score
TWI602124B (zh) * 2017-01-20 2017-10-11 神雲科技股份有限公司 用於風扇轉速控制的基板管理控制器韌體更新方法
DE102017107277B4 (de) * 2017-04-05 2024-06-13 Hanon Systems Verfahren zur Aktualisierung einer Steuersoftware in einem Hochvolt-Steuergerät
US10949189B2 (en) * 2017-06-28 2021-03-16 Square, Inc. Securely updating software on connected electronic devices
CN107479916A (zh) * 2017-08-03 2017-12-15 郑州云海信息技术有限公司 一种更新psu fw的方法
US10983785B1 (en) * 2018-06-28 2021-04-20 Amazon Technologies, Inc. Firmware updating of power units
KR102238380B1 (ko) * 2019-02-08 2021-04-08 효성중공업 주식회사 직류 전원 변환용 서브 모듈 및 서브 모듈 프로그램 업데이트 방법
US10594213B1 (en) * 2019-02-20 2020-03-17 Blockchain Asics Llc Performance sensitive series string power supply
US10740089B1 (en) * 2019-03-12 2020-08-11 Dell Products L.P. System and method for power supply unit firmware update
US11016750B2 (en) * 2019-03-13 2021-05-25 Microsoft Technology Licensing, Llc Firmware update system
TWI768198B (zh) * 2019-04-02 2022-06-21 美商海盜船記憶體公司 微控制器、記憶體模組及用於更新微控制器之韌體的方法
CN110175421B (zh) * 2019-05-31 2020-10-27 杭州电子科技大学 一种新型水光互补多目标优化运行方法
EP3770422A1 (en) * 2019-07-23 2021-01-27 Siemens Gamesa Renewable Energy A/S Updating software and/or firmware of a plurality of wind turbine devices
US11016755B2 (en) * 2019-07-31 2021-05-25 Dell Products L.P. System and method to secure embedded controller flashing process
TWI726502B (zh) * 2019-11-26 2021-05-01 神雲科技股份有限公司 更新韌體不需斷電的伺服器及主機板模組
CN111538516A (zh) * 2020-04-24 2020-08-14 苏州浪潮智能科技有限公司 服务器电源固件升级方法、装置、设备及可读存储介质
CN111880638A (zh) * 2020-08-06 2020-11-03 欧姆龙(上海)有限公司 电子设备和控制电子设备的数据更新的方法
US11381169B2 (en) * 2020-09-28 2022-07-05 Astec International Limited Power supply unit with auxiliary boost control in bootloader mode
TW202405649A (zh) * 2022-07-18 2024-02-01 全漢企業股份有限公司 電源韌體更新方法與電源供應器

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1254937B (it) * 1991-05-06 1995-10-11 Aggiornamento dinamico di memoria non volatile in un sistema informatico
US5458991A (en) * 1993-05-19 1995-10-17 Sl Waber, Inc. UPS with auto self test
UA41387C2 (uk) 1994-01-13 2001-09-17 Сертко, Інк Спосіб установлення вірогідного перевірюваного зв'язку, спосіб захищеного зв'язку, спосіб оновлення мікропрограмного забезпечення, спосіб здійснення шифрованого зв'язку та спосіб надання перевіреному на справжність пристрою права на проведення електронної транзакції
GB2312517B (en) * 1996-04-25 2000-11-22 Nokia Mobile Phones Ltd Battery monitoring
US20050169643A1 (en) * 1997-01-02 2005-08-04 Franklin Philip G. Method and apparatus for the zonal transmission of data using building lighting fixtures
KR100601164B1 (ko) 1999-01-15 2006-07-13 삼성전자주식회사 플래시 롬을 이용한 에뮬레이터 및 펌웨어 업그레이드 방법
US7290072B2 (en) * 1999-10-06 2007-10-30 Igt Protocols and standards for USB peripheral communications
US6584559B1 (en) 2000-01-28 2003-06-24 Avaya Technology Corp. Firmware download scheme for high-availability systems
GB0103837D0 (en) 2001-02-16 2001-04-04 Nallatech Ltd Programmable power supply for field programmable gate array modules
US6813672B1 (en) * 2001-02-23 2004-11-02 Cypress Semiconductor Corp. EMC enhancement for differential devices
US6824362B2 (en) * 2002-07-15 2004-11-30 Adc Dsl Systems, Inc. Fan control system
US6937947B2 (en) * 2002-08-20 2005-08-30 Lsi Logic Corporation Battery charger system and method for providing detailed battery status and charging method information
KR20040065495A (ko) * 2003-01-14 2004-07-22 삼성전자주식회사 마이콤을 갖는 전자기기 및 그 펌웨어 갱신 방법
TWI220962B (en) * 2003-01-20 2004-09-11 Mediatek Inc Firmware updating method and related apparatus for checking content of replacing firmware before firmware updating
US20040230963A1 (en) * 2003-05-12 2004-11-18 Rothman Michael A. Method for updating firmware in an operating system agnostic manner
US6935130B2 (en) * 2003-06-24 2005-08-30 Aopen Inc. Computer cooling system
US7197634B2 (en) * 2004-01-16 2007-03-27 Dell Products L.P. System and method for updating device firmware
US20050240601A1 (en) * 2004-04-21 2005-10-27 Mairead Lyons System and method for transactional data collection and processing
US7302596B2 (en) 2004-07-21 2007-11-27 Giga-Byte Technology Co., Ltd. Circuit capable of updating power supply specification of microprocessor and method thereof
US20060176167A1 (en) * 2005-01-25 2006-08-10 Laser Shield Systems, Inc. Apparatus, system, and method for alarm systems
US7363520B1 (en) * 2005-03-29 2008-04-22 Emc Corporation Techniques for providing power to a set of powerable devices
US7558915B2 (en) * 2005-06-06 2009-07-07 Dell Products L.P. System and method for updating the firmware of a device in a storage network
US8108317B2 (en) * 2005-08-31 2012-01-31 Hand Held Products, Inc. System and method for restricting access to a terminal
US7870379B2 (en) * 2006-10-10 2011-01-11 Exaflop Llc Updating a power supply microcontroller

Also Published As

Publication number Publication date
US20080086652A1 (en) 2008-04-10
US8775779B2 (en) 2014-07-08
US7870379B2 (en) 2011-01-11
US20110078435A1 (en) 2011-03-31
TW200838084A (en) 2008-09-16

Similar Documents

Publication Publication Date Title
TWI436546B (zh) 更新電力供應微控制器之系統及方法
EP2084591B1 (en) Updating a power supply microcontroller
US9740426B2 (en) Drive array policy control
US8627141B2 (en) System and method for auto-failover and version matching of bootloader in an access controller
US7512830B2 (en) Management module failover across multiple blade center chassis
US9916165B2 (en) Systems and methods to optimize boot for information handling system comprising persistent memory
CN104683133A (zh) 基本输入输出系统维护方法
JP6946867B2 (ja) 情報処理装置、管理装置およびプログラム
CN104679685B (zh) 基板管理控制器存取方法
CN111966559B (zh) 一种故障恢复方法、装置、电子设备和存储介质
US20150154091A1 (en) Bios maintenance method
US20130268745A1 (en) Control method of computer, computer and computer system
US10387306B2 (en) Systems and methods for prognosticating likelihood of successful save operation in persistent memory
US9652259B2 (en) Apparatus and method for managing register information in a processing system
US20090222677A1 (en) Display of blade server operating system information
US11307844B2 (en) System and method for intelligent power management of firmware updates
CN110096224B (zh) 存储器子系统中的功率控制
Intel
TW201525686A (zh) 基板管理控制器存取方法
TWI839101B (zh) 韌體的更新方法
US10997046B2 (en) Integrity check staging
CN117369841A (zh) 固件激活方法、装置、相关设备及计算机可读存储介质
TW202433278A (zh) 韌體的更新方法
TWI497288B (zh) 基本輸入輸出系統維護方法
CN118466990A (zh) 韧体的更新方法