專利名稱:一種基于BMC的服務器可編程邏輯器件的Firmware自動更新系統的制作方法
技術領域:
本發明涉及服務器硬件技術領域,具體涉及ー種基于BMC的服務器可編程邏輯器件的Firmware自動更新系統。
背景技術:
隨著CPLD和FPGA等可編程邏輯器件的發展,CPLD/FPGA在電路設計,板卡專用芯片,控制芯片及算術專用芯片等方面的應用十分廣泛。在服務器硬件設計中,現在越遠來越多的功能開始利用CPLD或FPGA實現,使得硬件的功能可以像軟件一祥通過編程來修復,這樣就提高了電子系統設計的靈活性和通用性。采用可編程邏輯器件實現這些功能設計,一方面,減少了元器件的使用,節省了板卡空間和開發成本。另ー方面,也使得硬件的設計的 可更新和可維護性變成了現實,因為工程師只需要對CPLD或FPGA的Firmware進行更新,即可實現系統功能的更新或維護。然而,現在對于CPLD和FPGA的更新還是采用JTAG或相關下載方式,對每臺服務器一臺一臺地逐臺進行更新的方式。這種一臺一臺地逐臺進行更新的方式存在諸多缺陷首先是操作繁瑣,操作速度慢,需要專業人員和專業工具。其在服務器機臺數量較少的情況下,這種方式的缺點還不是很明顯。然而,當服務器機臺數量較多的情況下,采用這種常規方式更新Firmware將成為極其繁瑣和痛苦的工作,極大地影響了工作的效率。故,針對上述現有技術在多臺服務器可編程邏輯器件的Firmware更新方面存在的缺陷,實有必要進行研究,以提供一種基于BMC的服務器可編程邏輯器件的Firmware自動更新系統,使得服務器更加容易維護和更新升級,可大幅的減少時間成本和人力成本。
發明內容
為解決上述問題,本發明的目的在于提供一種基于BMC的服務器可編程邏輯器件的Firmware自動更新系統,其可實現多臺服務器Firmware的同時更新,且無需操作人員擁有專業的燒錄可編程邏輯器件Firmware的知識和工具,可大幅的減少時間成本和人力成本,且使得服務器更加容易維護和更新升級。為實現上述目的,本發明的技術方案為
一種基于BMC的服務器可編程邏輯器件的Firmware自動更新系統,包括有PC機、連接PC機的交換機以及與交換機連接的復數個服務器機臺;所述PC機、交換機、與復數個服務器機臺通過網線構成ー個局域網系統;所述服務器機臺中放置有BMC基板管理控制器,該BMC基板管理控制器作為ー個獨立的子系統存在于服務器的硬件系統中。進ー步地,所述PC機通過所述局域網系統與各個服務器的BMC基板管理控制器進行通信。進ー步地,所述PC機中裝載有Firmware自動更新程序,該Firmware自動更新程序在PC機上通過網絡訪問各服務器機臺的BMC基板管理控制器,讀取BMC基板管理控制器中有關可編程邏輯器件Firmware的版本信息,并與軟件中記錄的正常版本信息比對,以通過BMC基板管理控制器向機臺中的各CPLD或FPGA設備更新Firmware。進ー步地,所述BMC基板管理控制器與可編程邏輯器件間采用JTAG相互連接,BMC基板管理控制器通過JTAG讀取各可編程邏輯器件內Firmware的版本信息,并通過JTAG發送數據進行更新。本發明另ー技術方案為
一種基于BMC的服務器可編程邏輯器件的Firmware自動更新方法,包括如下步驟 掃描網絡內各服務器機臺中BMC的IP地址,并對其編號記錄;
讀取第一臺服務器機臺的BMC內的各可編程邏輯器件Firmware的版本信息,并與軟件內記錄的正常版本信息比對,進行判斷; 判斷如果BMC內的各可編程邏輯器件Firmware的版本信息與軟件內記錄的正常版本信息一致,則轉入下ー個IP地址的服務器,直到所有機臺都比對完;
判斷如果BMC內的各可編程邏輯器件Firmware的版本信息與軟件內記錄的正常版本信息不一致,則向該服務器機臺的BMC發出更新Firmware的請求,在得到BMC正確回應后,Firmware自動更新軟件將相關的Firmware發送給BMC,通過BMC更新相關器件的Firmware。本發明基于BMC的服務器可編程邏輯器件的Firmware自動更新系統通過PC機、交換機、網線、帶BMC的服務器機臺構成ー個局域網系統;在PC機裝載Firmware自動更新程序,該程序在PC機上通過網絡訪問各服務器機臺的BMC設備,然后,通過BMC向機臺中的各CPLD或FPGA設備更新Firmware。該方案可實現多臺服務器Firmware的同時更新,且無需操作人員擁有專業的燒錄可編程邏輯器件Firmware的知識和工具,可大幅的減少時間成本和人力成本,并且使得服務器更加容易維護和更新升級。
圖I是本發明基于BMC的服務器可編程邏輯器件的Firmware自動更新系統的原理框 圖2是本發明的BMC與可編程邏輯器件之間的連接關系圖示;
圖3是本發明的Firmware自動更新軟件的流程圖示。
具體實施例方式為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進ー步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。請參照圖I所示,本發明基于BMC的服務器可編程邏輯器件的Firmware自動更新系統,包括有PC機、連接PC機的交換機以及與交換機連接的復數個服務器機臺;所述PC機、交換機、與復數個服務器機臺通過網線構成ー個局域網系統。其中,所述服務器機臺中放置有BMC(Baseboard Management Controller,基板管理控制器)。BMC基板管理控制器作為ー個獨立的子系統存在于服務器的硬件系統中,即使在系統待機的情況下,亦可獨立運行,其能夠實現對主板的ー些管理功能。該等管理功能包括有本地和遠程診斷、控制臺支持、配置管理、硬件管理和故障排除。通過利用BMC基板管理控制器,相當于主板是獨立的特性和配置管理功能,在服務器待機的情況下,通過BMC上的JTAG實現對主板上可編程邏輯器件Firmware的更新。且BMC自身攜帯網絡通信功能,通過網線可以實現與BMC的通信。本發明實施例中通過網線、交換機和PC與各服務器的BMC組建ー個局域網,實現PC和各服務器BMC的通信。參照圖2所示,為服務器內部BMC與可編程邏輯器件之間的連接關系圖示。每臺服務器通過ー個RJ45網ロ與其內的BMC通信。外部交換機即利用網線通過RJ45網ロ與內部BMC實現通信。內部BMC與可編程邏輯器件間采用JTAG相互連接。可編程邏輯器件和BMC都必須采用AUX電供電,保證在待機下也能工作。BMC通過JTAG讀取各可編程邏輯 器件內Firmware的版本信息,并通過JTAG發送數據進行更新。所述PC機中裝載有Firmware自動更新程序,該Firmware自動更新程序在PC機上通過網絡訪問各服務器機臺的BMC設備,讀取BMC中有關可編程邏輯器件Firmware的版本信息,并與軟件中記錄的正常版本信息比對。如果有誤,則提示用戶并向BMC發送更新命令和相關代碼。然后,通過BMC向機臺中的各CPLD或FPGA設備更新Firmware。在本實施例中,該Firmware自動更新程序可通過網絡掃描到同一廠家的服務器上的BMC,并通過與BMC進行溝通,獲取該服務器型號,讀取可編程邏輯器件的firmware版本,自動與當前官方網上最新的firmware作比對,如果比對結果有誤,則通過BMC自動對可編程邏輯器件進行firmware更新。參照圖3所示,為Firmware自動更新軟件的流程圖示,該軟件在開啟后,首先掃描網絡內各服務器機臺中BMC的IP地址,并對其編號記錄。然后,讀取第一臺服務器機臺的BMC內的各可編程邏輯器件Firmware的版本信息,并與軟件內記錄的正常版本信息比對,進行判斷,如果BMC內的各可編程邏輯器件Firmware的版本信息與軟件內記錄的正常版本信息一致,則轉入下ー個IP地址的服務器,直到所有機臺都比對完;判斷如果BMC內的各可編程邏輯器件Firmware的版本信息與軟件內記錄的正常版本信息不一致,則向該服務器機臺的BMC發出更新Firmware的請求,在得到BMC正確回應后,Firmware自動更新軟件將相關的Firmware發送給BMC,通過BMC更新相關器件的Firmware。當更新完成后,程序重新讀取該臺服務器機臺BMC更新后的Firmware版本信息,并與軟件內記錄的正常版本相比對,如果無誤,則轉入下一臺服務器,如果有誤,則繼續更新,直到全部正常為止。以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的保護范圍之內。
權利要求
1.一種基于BMC的服務器可編程邏輯器件的Firmware自動更新系統,包括有PC機,其特征在于還包括有連接PC機的交換機以及與交換機連接的復數個服務器機臺;所述PC機、交換機、與復數個服務器機臺通過網線構成ー個局域網系統;所述服務器機臺中放置有BMC基板管理控制器,該BMC基板管理控制器作為ー個獨立的子系統存在于服務器的硬件系統中。
2.如權利要求I所述基于BMC的服務器可編程邏輯器件的Firmware自動更新系統,其特征在于所述PC機通過所述局域網系統與各個服務器的BMC基板管理控制器進行通信。
3.如權利要求2所述基于BMC的服務器可編程邏輯器件的Firmware自動更新系統,其特征在于所述PC機中裝載有Firmware自動更新程序,該Firmware自動更新程序在PC機上通過網絡訪問各服務器機臺的BMC基板管理控制器,讀取BMC基板管理控制器中有關可編程邏輯器件Firmware的版本信息,并與軟件中記錄的正常版本信息比對,以通過BMC基板管理控制器向機臺中的各CPLD或FPGA設備更新Firmware。
4.如權利要求3所述基于BMC的服務器可編程邏輯器件的Firmware自動更新系統,其特征在于所述BMC基板管理控制器與可編程邏輯器件間采用JTAG相互連接,BMC基板管理控制器通過JTAG讀取各可編程邏輯器件內Firmware的版本信息,并通過JTAG發送數據進行更新。
5.一種基于BMC的服務器可編程邏輯器件的Firmware自動更新方法,其特征在于,包括如下步驟 掃描網絡內各服務器機臺中BMC的IP地址,并對其編號記錄; 讀取第一臺服務器機臺的BMC內的各可編程邏輯器件Firmware的版本信息,并與軟件內記錄的正常版本信息比對,進行判斷; 判斷如果BMC內的各可編程邏輯器件Firmware的版本信息與軟件內記錄的正常版本信息一致,則轉入下ー個IP地址的服務器,直到所有機臺都比對完; 判斷如果BMC內的各可編程邏輯器件Firmware的版本信息與軟件內記錄的正常版本信息不一致,則向該服務器機臺的BMC發出更新Firmware的請求,在得到BMC正確回應后,Firmware自動更新軟件將相關的Firmware發送給BMC,通過BMC更新相關器件的Firmware。
全文摘要
本發明公開了一種基于BMC的服務器可編程邏輯器件的Firmware自動更新系統包括有PC機、連接PC機的交換機以及與交換機連接的復數個服務器機臺;所述PC機、交換機、與復數個服務器機臺通過網線構成一個局域網系統;所述服務器機臺中放置有BMC基板管理控制器,該BMC基板管理控制器作為一個獨立的子系統存在于服務器的硬件系統中。本發明可實現多臺服務器Firmware的同時更新,且無需操作人員擁有專業的燒錄可編程邏輯器件Firmware的知識和工具,可大幅的減少時間成本和人力成本,且使得服務器更加容易維護和更新升級。
文檔編號G06F9/445GK102693141SQ20121014092
公開日2012年9月26日 申請日期2012年5月9日 優先權日2012年5月9日
發明者葉豐華, 彭勇 申請人:浪潮電子信息產業股份有限公司