專利名稱:實(shí)現(xiàn)遠(yuǎn)程加載單板固件的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,尤其涉及單板固件的加載技術(shù)。
背景技術(shù):
IPMI(Intelligent Platform Management Interface,智能化平臺(tái)管理接口)標(biāo)準(zhǔn)是使服務(wù)器具備智能化管理的新一代通用接口標(biāo)準(zhǔn),所述IPMI能夠?yàn)榉?wù)器提供設(shè)備管理、傳感器/事件管理、用戶管理、風(fēng)扇框/電源框管理、遠(yuǎn)程維護(hù)等功能。
IPMI技術(shù)的“智能化”來自于一個(gè)管理微控制器。在一個(gè)主機(jī)系統(tǒng)里,這個(gè)控制器被稱為BMC(Baseboard Management Controller,基板管理控制器)。BMC自備電源,并自動(dòng)地監(jiān)控系統(tǒng)健康狀況。如果發(fā)現(xiàn)任何被控單元異常,它能立即采取行動(dòng),例如記錄事件、報(bào)警、自動(dòng)關(guān)機(jī)或重啟動(dòng)。與BMC相關(guān)聯(lián)的是一組無源內(nèi)存,用來存儲(chǔ)傳感器的數(shù)據(jù)(Sensor DataRecords,SDR)、系統(tǒng)事件記錄文件,以及一些單元信息,如序列號(hào)和部件號(hào)信息等。IPMI通過指定通用、精簡(jiǎn)、基于消息的接口,將信息傳輸?shù)焦芾砦⒖刂破鳎瑢?shí)現(xiàn)軟件與硬件信息的分離。因此所述IPMI技術(shù)可以獨(dú)立于主處理器對(duì)硬件平臺(tái)進(jìn)行監(jiān)視和控制。如,用戶可以利用IPMI監(jiān)視服務(wù)器的物理特征,如溫度、電壓、電扇工作狀態(tài)、電源供應(yīng)以及機(jī)箱入侵等,為系統(tǒng)管理、恢復(fù)以及資產(chǎn)管理提供信息。
由于人們對(duì)通信的功能需求日益提升,需要對(duì)一些單板固件進(jìn)行升級(jí),升級(jí)的過程需要對(duì)單板固件進(jìn)行加載。
與本發(fā)明有關(guān)的現(xiàn)有技術(shù)一提出了一種在本地對(duì)單板固件進(jìn)行加載的方法,其核心是通過單板固件具有的接口,并使用專用工具實(shí)現(xiàn)對(duì)所述單板固件的加載。如CPLD(Complex Programmable Logical Device,可編程邏輯器件)固件可通過連接電腦的JTAG(邊界掃描)接口進(jìn)行加載的方式,或FLASH固件可通過燒片機(jī)燒寫。
現(xiàn)有技術(shù)一需要將單板從機(jī)框中卸下來,甚至將固件從單板上卸下來,并使用專用的加載工具實(shí)現(xiàn)對(duì)單板固件的加載,操作復(fù)雜,為單板固件的升級(jí)維護(hù)帶來困難。
與本發(fā)明有關(guān)的現(xiàn)有技術(shù)二提出了另一種在本地對(duì)單板固件進(jìn)行加載的方法,其核心是通過主機(jī)的CPU對(duì)連接在所述CPU上的單板固件進(jìn)行加載。如FLASH固件可通過單板上與其連接的CPU進(jìn)行加載。
現(xiàn)有技術(shù)二只能在本地通過主機(jī)軟件對(duì)連接在所述主機(jī)上的單板固件進(jìn)行加載,其不能通過遠(yuǎn)程對(duì)連接在主機(jī)上的單板固件進(jìn)行加載。
與本發(fā)明有關(guān)的現(xiàn)有技術(shù)三提出了一種實(shí)現(xiàn)遠(yuǎn)程加載的方法,其需要連接固件的CPU能夠與遠(yuǎn)程的遠(yuǎn)端管理系統(tǒng)進(jìn)行通信,其核心是所述CPU通過與遠(yuǎn)程的遠(yuǎn)端管理系統(tǒng)進(jìn)行通信,并獲得加載軟件,然后所述CPU將加載軟件加載到固件上。
現(xiàn)有技術(shù)三雖然能夠?qū)崿F(xiàn)對(duì)連接在CPU上的單板固件進(jìn)行遠(yuǎn)程加載,但是如果需要加載的單板固件連接在不同的CPU時(shí),則需要設(shè)置每個(gè)CPU具有與遠(yuǎn)端管理系統(tǒng)進(jìn)行通信的功能,這樣加載接口不統(tǒng)一,實(shí)現(xiàn)比較復(fù)雜。
由上述現(xiàn)有技術(shù)可以看出,現(xiàn)有技術(shù)一與現(xiàn)有技術(shù)二只能實(shí)現(xiàn)對(duì)本地單板固件進(jìn)行加載,而當(dāng)需要實(shí)現(xiàn)遠(yuǎn)程加載時(shí),需要針對(duì)需要加載的不同單板固件連接的CPU具有與遠(yuǎn)端管理系統(tǒng)進(jìn)行通信的功能,此時(shí)加載接口不統(tǒng)一,實(shí)施起來較困難。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種實(shí)現(xiàn)遠(yuǎn)程加載單板固件的方法和系統(tǒng),提供標(biāo)準(zhǔn)的加載接口對(duì)現(xiàn)場(chǎng)各種單板固件進(jìn)行遠(yuǎn)程加載,從而能夠?yàn)閱伟骞碳纳?jí)和維護(hù)管理提供方便。
本發(fā)明的目的是通過以下技術(shù)方案實(shí)現(xiàn)的本發(fā)明提供一種實(shí)現(xiàn)遠(yuǎn)程加載單板固件的方法,其包括A、將遠(yuǎn)端發(fā)送給的IPMI數(shù)據(jù)報(bào)文轉(zhuǎn)換為本地能夠識(shí)別的IPMI數(shù)據(jù)報(bào)文;B、根據(jù)所述轉(zhuǎn)換后的數(shù)據(jù)報(bào)文對(duì)本地的單板固件進(jìn)行加載。
其中,所述步驟A具體包括A1、將利用適合遠(yuǎn)距離傳輸?shù)膮f(xié)議承載的IPMI數(shù)據(jù)報(bào)文通過遠(yuǎn)端管理系統(tǒng)發(fā)送給基板管理控制器BMC;A2、所述BMC將接收到的所述IPMI數(shù)據(jù)報(bào)文轉(zhuǎn)換為單板本地協(xié)議承載的IPMI數(shù)據(jù)報(bào)文。
其中,所述步驟A具體包括A3、將利用適合遠(yuǎn)距離傳輸?shù)膮f(xié)議承載的IPMI數(shù)據(jù)報(bào)文通過遠(yuǎn)端管理系統(tǒng)發(fā)送給系統(tǒng)管理模塊;A4、所述系統(tǒng)管理模塊判斷出所述IPMI數(shù)據(jù)報(bào)文對(duì)應(yīng)的目的單板,并將接收到的所述IPMI數(shù)據(jù)報(bào)文轉(zhuǎn)換為所述目的單板本地協(xié)議承載的IPMI數(shù)據(jù)報(bào)文。
其中,所述步驟A還包括將轉(zhuǎn)換為目的單板本地協(xié)議承載的IPMI數(shù)據(jù)報(bào)文發(fā)送給對(duì)應(yīng)的目的單板的BMC。
其中,所述步驟B具體包括所述BMC從本地協(xié)議承載的所述IPMI數(shù)據(jù)報(bào)文中獲得控制命令和固件加載所需的數(shù)據(jù);并將所獲得的命令和數(shù)據(jù)傳送給處理器模塊;所述處理器模塊根據(jù)所述控制命令判斷出需要加載的固件,并將所述固件需要的加載數(shù)據(jù)轉(zhuǎn)換成所述固件的加載接口所需的格式,然后通過所述加載接口傳送給所述加載固件進(jìn)行加載;或者,所述BMC從本地協(xié)議承載的所述IPMI數(shù)據(jù)報(bào)文中獲得控制命令和固件加載所需的數(shù)據(jù),并根據(jù)所述控制命令判斷出需要加載的固件,并將所述固件需要的加載數(shù)據(jù)轉(zhuǎn)換成所述固件的加載接口所需的格式,然后通過所述加載接口傳送給所述加載固件進(jìn)行加載;或者,所述BMC從本地協(xié)議承載的所述IPMI數(shù)據(jù)報(bào)文中獲得控制命令和固件加載所需的數(shù)據(jù),并根據(jù)所述控制命令,利用所述加載數(shù)據(jù)對(duì)設(shè)置在其內(nèi)的底層固件進(jìn)行加載。
本發(fā)明提供一種實(shí)現(xiàn)遠(yuǎn)程加載單板固件的系統(tǒng),其包括固件加載單元,用于將遠(yuǎn)端發(fā)送給的IPMI數(shù)據(jù)報(bào)文轉(zhuǎn)換為本地能夠識(shí)別的IPMI數(shù)據(jù)報(bào)文,以及根據(jù)所述轉(zhuǎn)換后的數(shù)據(jù)報(bào)文對(duì)本地的單板固件進(jìn)行加載。
其中,所述的系統(tǒng)還包括遠(yuǎn)端管理系統(tǒng),用于實(shí)現(xiàn)遠(yuǎn)端線路數(shù)據(jù)的翻譯和IPMI協(xié)議的通信,并將利用遠(yuǎn)距離傳輸協(xié)議承載的IPMI數(shù)據(jù)報(bào)文傳送給固件加載單元。
其中,所述固件加載單元包括遠(yuǎn)程與本地?cái)?shù)據(jù)轉(zhuǎn)換單元,以及本地?cái)?shù)據(jù)處理單元;所述遠(yuǎn)程與本地?cái)?shù)據(jù)轉(zhuǎn)換單元,用于根據(jù)遠(yuǎn)端發(fā)送給的IPMI數(shù)據(jù)報(bào)文判斷出其對(duì)應(yīng)的本地?cái)?shù)據(jù)處理單元,并將接收到的利用適合遠(yuǎn)距離傳輸?shù)膮f(xié)議承載的所述IPMI數(shù)據(jù)報(bào)文轉(zhuǎn)換為目的單板本地協(xié)議承載的IPMI數(shù)據(jù)報(bào)文,并將其發(fā)送給所述本地?cái)?shù)據(jù)處理單元;所述本地?cái)?shù)據(jù)處理單元,用于根據(jù)所述轉(zhuǎn)換后的IPMI數(shù)據(jù)報(bào)文對(duì)本地相應(yīng)的單板固件進(jìn)行加載。
其中,所述遠(yuǎn)程與本地?cái)?shù)據(jù)轉(zhuǎn)換單元設(shè)置在系統(tǒng)管理模塊中,所述本地?cái)?shù)據(jù)處理單元設(shè)置在至少一個(gè)單板中;或,所述遠(yuǎn)程與本地?cái)?shù)據(jù)轉(zhuǎn)換單元以及所述本地?cái)?shù)據(jù)處理單元設(shè)置在一個(gè)單板中。
其中,當(dāng)所述遠(yuǎn)程與本地?cái)?shù)據(jù)轉(zhuǎn)換單元以及所述本地?cái)?shù)據(jù)處理單元設(shè)置在一個(gè)單板中時(shí),所述遠(yuǎn)程與本地?cái)?shù)據(jù)轉(zhuǎn)換單元以及所述本地?cái)?shù)據(jù)處理單元同時(shí)設(shè)置在一個(gè)單板中的基板管理控制器BMC中。
其中,當(dāng)所述遠(yuǎn)程與本地?cái)?shù)據(jù)轉(zhuǎn)換單元設(shè)置在系統(tǒng)管理模塊中,所述本地?cái)?shù)據(jù)處理單元設(shè)置在至少一個(gè)單板中時(shí),所述單板包括BMC、處理器模塊和與所述處理器模塊連接的至少一個(gè)固件;所述BMC通過所述本地?cái)?shù)據(jù)處理單元從所述IPMI數(shù)據(jù)報(bào)文中獲得控制命令和固件加載所需的數(shù)據(jù),然后將所獲得的命令和數(shù)據(jù)傳送給處理器模塊;所述處理器模塊根據(jù)所述控制命令判斷出需要加載的固件,并將所述固件需要的加載數(shù)據(jù)轉(zhuǎn)換成所述固件的加載接口所需的格式,然后通過所述加載接口傳送給所述固件進(jìn)行加載;或者,BMC和與所述BMC連接的至少一個(gè)固件;所述BMC用于通過所述本地?cái)?shù)據(jù)處理單元從所述IPMI數(shù)據(jù)報(bào)文中獲得控制命令和固件加載所需的數(shù)據(jù),然后根據(jù)所述控制命令判斷出需要加載的固件,并將所述固件需要的加載數(shù)據(jù)轉(zhuǎn)換成所述固件的加載接口所需的格式,然后通過所述加載接口傳送給所述固件進(jìn)行加載;
或者,所述BMC,用于通過所述本地?cái)?shù)據(jù)處理單元從所述IPMI數(shù)據(jù)報(bào)文中獲得控制命令和固件加載所需的數(shù)據(jù),然后根據(jù)所述控制命令,利用所述加載數(shù)據(jù)對(duì)設(shè)置在其內(nèi)的底層固件進(jìn)行加載。
其中,當(dāng)所述遠(yuǎn)程與本地?cái)?shù)據(jù)轉(zhuǎn)換單元以及所述本地?cái)?shù)據(jù)處理單元設(shè)置在一個(gè)單板中時(shí),所述單板包括BMC、處理器模塊和與所述處理器模塊連接的至少一個(gè)固件;所述BMC通過所述遠(yuǎn)程與本地?cái)?shù)據(jù)轉(zhuǎn)換單元將接收到的所述IPMI數(shù)據(jù)報(bào)文轉(zhuǎn)換為單板本地協(xié)議承載的IPMI數(shù)據(jù)報(bào)文,并通過所述本地?cái)?shù)據(jù)處理單元從所述IPMI數(shù)據(jù)報(bào)文中獲得控制命令和固件加載所需的數(shù)據(jù),然后將所獲得的命令和數(shù)據(jù)傳送給處理器模塊;所述處理器模塊根據(jù)所述控制命令判斷出需要加載的固件,并將所述固件需要的加載數(shù)據(jù)轉(zhuǎn)換成所述固件的加載接口所需的格式,然后通過所述加載接口傳送給所述固件進(jìn)行加載。
或者,BMC和與所述BMC連接的至少一個(gè)固件;所述BMC,用于通過所述遠(yuǎn)程與本地?cái)?shù)據(jù)轉(zhuǎn)換單元將遠(yuǎn)端管理系統(tǒng)發(fā)送給的IPMI數(shù)據(jù)報(bào)文轉(zhuǎn)換為單板本地能夠識(shí)別的IPMI數(shù)據(jù)報(bào)文,并通過所述本地?cái)?shù)據(jù)處理單元從所述IPMI數(shù)據(jù)報(bào)文中獲得控制命令和固件加載所需的數(shù)據(jù),然后根據(jù)所述控制命令判斷出需要加載的固件,并將所述固件需要的加載數(shù)據(jù)轉(zhuǎn)換成所述固件的加載接口所需的格式,然后通過所述加載接口傳送給所述固件進(jìn)行加載。
或者,所述BMC,用于通過所述遠(yuǎn)程與本地?cái)?shù)據(jù)轉(zhuǎn)換單元將遠(yuǎn)端管理系統(tǒng)發(fā)送給的IPMI數(shù)據(jù)報(bào)文轉(zhuǎn)換為單板本地能夠識(shí)別的IPMI數(shù)據(jù)報(bào)文,并通過所述本地?cái)?shù)據(jù)處理單元從所述IPMI數(shù)據(jù)報(bào)文中獲得控制命令和固件加載所需的數(shù)據(jù),然后根據(jù)所述控制命令,利用所述加載數(shù)據(jù)對(duì)設(shè)置在其內(nèi)的底層固件進(jìn)行加載。
由上述本發(fā)明提供的技術(shù)方案可以看出,本發(fā)明將遠(yuǎn)端發(fā)送給的IPMI數(shù)據(jù)報(bào)文轉(zhuǎn)換為本地能夠識(shí)別的IPMI數(shù)據(jù)報(bào)文,并根據(jù)所述轉(zhuǎn)換后的數(shù)據(jù)報(bào)文對(duì)本地的單板固件進(jìn)行加載,具有以下優(yōu)點(diǎn)1、本發(fā)明基于IPMI技術(shù)能夠提供標(biāo)準(zhǔn)的IPMI接口,遠(yuǎn)端只需要最終輸出適合遠(yuǎn)距離傳輸協(xié)議承載的IPMI數(shù)據(jù)報(bào)文就能夠?qū)ΜF(xiàn)場(chǎng)各種單板固件進(jìn)行加載,實(shí)現(xiàn)方便,并且可靠性、可擴(kuò)展性以及可移植性較好,并能夠縮短開發(fā)周期,降低開發(fā)成本。
2、本發(fā)明基于IPMI技術(shù)能夠使IPMI子系統(tǒng),如BMC的供電電源可以獨(dú)立于CPU系統(tǒng)而存在,當(dāng)CPU系統(tǒng)故障時(shí),BMC仍可操作。
3、本發(fā)明通過系統(tǒng)管理模塊將遠(yuǎn)端傳送給的IPMI報(bào)文轉(zhuǎn)換為各個(gè)單板能夠識(shí)別的IPMI報(bào)文,從而能夠提供統(tǒng)一的IPMI接口實(shí)現(xiàn)對(duì)多個(gè)單板上的固件進(jìn)行加載。
圖1為本發(fā)明提供的第一實(shí)施例的流程圖;圖2為本發(fā)明提供的第二實(shí)施例的流程圖;圖3為本發(fā)明提供的第四實(shí)施例的流程圖;圖4為本發(fā)明提供的第五實(shí)施例的流程圖;圖5為本發(fā)明提供的第六實(shí)施例的流程圖;圖6為本發(fā)明提供的第七實(shí)施例的流程圖。
具體實(shí)施例方式
由于IPMI技術(shù)能夠獨(dú)立于主處理器對(duì)硬件平臺(tái)進(jìn)行監(jiān)視和控制,因此能夠基于所述IPMI技術(shù)實(shí)現(xiàn)為現(xiàn)場(chǎng)各種單板固件進(jìn)行加載提供標(biāo)準(zhǔn)的加載接口。
本發(fā)明提供的第一實(shí)施例是一種實(shí)現(xiàn)遠(yuǎn)程加載單板固件的系統(tǒng),其結(jié)構(gòu)如圖1所示,包括遠(yuǎn)端管理系統(tǒng)和固件加載單元。其中所述固件加載單元包括系統(tǒng)管理模塊和至少一個(gè)單板。其中所述單板包括BMC(基板管理控制器)、處理器模塊和與所述處理器模塊連接的至少一個(gè)固件。所述系統(tǒng)管理模塊中設(shè)置有遠(yuǎn)程與本地?cái)?shù)據(jù)轉(zhuǎn)換單元;所述BMC中設(shè)置有本地?cái)?shù)據(jù)處理單元。
各個(gè)功能器件的功能如下所述遠(yuǎn)端管理系統(tǒng),用于實(shí)現(xiàn)遠(yuǎn)程線路數(shù)據(jù)的翻譯和IPMI協(xié)議通訊,并提供遠(yuǎn)程管理界面和相關(guān)數(shù)據(jù)接口。
所述系統(tǒng)管理模塊,用于通過遠(yuǎn)程與本地?cái)?shù)據(jù)轉(zhuǎn)換單元實(shí)現(xiàn)IPMI協(xié)議從本地線路與遠(yuǎn)程線路間的數(shù)據(jù)轉(zhuǎn)換。其中的本地線路可以是I2C、IPMB、PCI、PCI-E、PCI-X、SMBus、RS-232和本地IO總線等常用本地線路傳輸?shù)奈锢斫橘|(zhì)和傳輸協(xié)議組成的數(shù)據(jù)鏈路,其上傳輸?shù)臄?shù)據(jù)封裝了IPMI消息。所述的遠(yuǎn)程線路可以是以太網(wǎng)、令牌網(wǎng)、光纖、xDSL或無線網(wǎng)絡(luò)等適合遠(yuǎn)距離傳輸?shù)奈锢斫橘|(zhì)和傳輸協(xié)議組成的數(shù)據(jù)鏈路,其上傳輸?shù)臄?shù)據(jù)封裝了IPMI消息。所述的系統(tǒng)管理模塊設(shè)置在單板所在的本地端,其可以設(shè)置在由多塊單板構(gòu)成的系統(tǒng)(如ATCA系統(tǒng)或CPCI系統(tǒng))或者其它服務(wù)器群組系統(tǒng)等系統(tǒng)整機(jī)中。當(dāng)然如果將所述系統(tǒng)管理模塊設(shè)置在遠(yuǎn)端管理系統(tǒng)所在的遠(yuǎn)端,也能夠?qū)崿F(xiàn)本發(fā)明,但是這樣會(huì)增加系統(tǒng)管理模塊到各個(gè)單板間的本地線路的連線,從而會(huì)增加相應(yīng)的成本。
所述BMC,用于通過本地?cái)?shù)據(jù)處理單元進(jìn)行IPMI協(xié)議處理,獲得控制命令和固件加載所需的數(shù)據(jù)。
所述處理器模塊,用于通過控制命令控制BMC,以及各加載接口的數(shù)據(jù)轉(zhuǎn)換。其中的加載接口可以是固件特有的加載接口,也可以是常用的加載接口,如JTAG接口,或者是BMC的本地IO總線,等等。
所述固件,可以是FLASH、CPLD、FPGA、EEPROM、NvRAM、EPROM、CF卡或硬盤等。
各個(gè)功能器件間的信息傳遞關(guān)系為所述遠(yuǎn)端管理系統(tǒng)將遠(yuǎn)端線路數(shù)據(jù)翻譯成利用遠(yuǎn)距離傳輸協(xié)議承載的IPMI數(shù)據(jù)報(bào)文,并將利用遠(yuǎn)距離傳輸協(xié)議承載的IPMI數(shù)據(jù)報(bào)文傳送給固件加載單元。
所述固件加載單元通過系統(tǒng)管理模塊中的遠(yuǎn)程與本地?cái)?shù)據(jù)轉(zhuǎn)換單元判斷出所述IPMI數(shù)據(jù)報(bào)文對(duì)應(yīng)的目的單板,并將接收到的利用適合遠(yuǎn)距離傳輸?shù)膮f(xié)議承載的所述IPMI數(shù)據(jù)報(bào)文轉(zhuǎn)換為目的單板本地協(xié)議承載的IPMI數(shù)據(jù)報(bào)文,并將其發(fā)送給所述對(duì)應(yīng)的單板。
所述單板中的BMC通過本地?cái)?shù)據(jù)處理單元從所述IPMI數(shù)據(jù)報(bào)文中獲得控制命令和固件加載所需的數(shù)據(jù),然后將所獲得的命令和數(shù)據(jù)傳送給所述單板中的處理器模塊。
所述處理器模塊根據(jù)所述控制命令判斷出需要加載的固件,并將所述固件需要的加載數(shù)據(jù)轉(zhuǎn)換成所述固件的加載接口所需的格式,然后通過所述加載接口傳送給所述固件進(jìn)行加載。
本發(fā)明提供的第二實(shí)施例是第二種實(shí)現(xiàn)遠(yuǎn)程加載單板固件的系統(tǒng),其與第一實(shí)施例的區(qū)別在于所述單板不再包括處理器模塊,而僅僅包括BMC和與所述BMC連接的至少一個(gè)固件。其結(jié)構(gòu)如圖2所示,包括遠(yuǎn)端管理系統(tǒng)和固件加載單元。其中所述固件加載單元包括系統(tǒng)管理模塊和至少一個(gè)單板。其中所述單板包括BMC(基板管理控制器)、處理器模塊和與所述處理器模塊連接的至少一個(gè)固件。所述系統(tǒng)管理模塊中設(shè)置有遠(yuǎn)程與本地?cái)?shù)據(jù)轉(zhuǎn)換單元;所述BMC中設(shè)置有本地?cái)?shù)據(jù)處理單元。
這種情況下,BMC用于通過其內(nèi)設(shè)置的本地?cái)?shù)據(jù)處理單元進(jìn)行IPMI協(xié)議處理,獲得控制命令和固件加載所需的數(shù)據(jù),以及通過控制命令控制BMC和各加載接口的數(shù)據(jù)轉(zhuǎn)換。其它功能器件的功能雷同于第一實(shí)施例中的相關(guān)描述,這里不再詳細(xì)描述。
該系統(tǒng)的各個(gè)器件間的信息傳遞關(guān)系如下所述遠(yuǎn)端管理系統(tǒng)將遠(yuǎn)端線路數(shù)據(jù)翻譯成利用遠(yuǎn)距離傳輸協(xié)議承載的IPMI數(shù)據(jù)報(bào)文,并將利用遠(yuǎn)距離傳輸協(xié)議承載的IPMI數(shù)據(jù)報(bào)文傳送給固件加載單元。
所述固件加載單元通過系統(tǒng)管理模塊中的遠(yuǎn)程與本地?cái)?shù)據(jù)轉(zhuǎn)換單元判斷出所述IPMI數(shù)據(jù)報(bào)文對(duì)應(yīng)的目的單板,并將接收到的利用適合遠(yuǎn)距離傳輸?shù)膮f(xié)議承載的所述IPMI數(shù)據(jù)報(bào)文轉(zhuǎn)換為目的單板本地協(xié)議承載的IPMI數(shù)據(jù)報(bào)文,并將其發(fā)送給所述對(duì)應(yīng)的單板。
所述單板中的BMC通過其內(nèi)設(shè)置的本地?cái)?shù)據(jù)處理單元從所述IPMI數(shù)據(jù)報(bào)文中獲得控制命令和固件加載所需的數(shù)據(jù),然后根據(jù)所述控制命令判斷出需要加載的固件,并將所述固件需要的加載數(shù)據(jù)轉(zhuǎn)換成所述固件的加載接口所需的格式,然后通過所述加載接口傳送給所述固件進(jìn)行加載。
本發(fā)明提供的第三實(shí)施例是第三種實(shí)現(xiàn)遠(yuǎn)程加載單板固件的系統(tǒng),其與第一實(shí)施例的區(qū)別之處在于所述單板僅僅包括BMC。其包括遠(yuǎn)端管理系統(tǒng)和固件加載單元。其中所述固件加載單元包括系統(tǒng)管理模塊和至少一個(gè)單板。其中所述單板僅僅包括BMC。其中所述系統(tǒng)管理模塊中設(shè)置有遠(yuǎn)程與本地?cái)?shù)據(jù)轉(zhuǎn)換單元;所述BMC中設(shè)置有本地?cái)?shù)據(jù)處理單元。
這種情況下,固件內(nèi)置于所述BMC的底層。此時(shí)的BMC用于IPMI協(xié)議處理,獲得控制命令和固件加載所需的數(shù)據(jù),以及通過控制命令控制BMC對(duì)其自身進(jìn)行加載。
該系統(tǒng)的各個(gè)器件間的信息傳遞關(guān)系如下所述遠(yuǎn)端管理系統(tǒng)將遠(yuǎn)端線路數(shù)據(jù)翻譯成利用遠(yuǎn)距離傳輸協(xié)議承載的IPMI數(shù)據(jù)報(bào)文,并將利用遠(yuǎn)距離傳輸協(xié)議承載的IPMI數(shù)據(jù)報(bào)文傳送給固件加載單元。
所述固件加載單元通過系統(tǒng)管理模塊判斷出所述IPMI數(shù)據(jù)報(bào)文對(duì)應(yīng)的目的單板,并將接收到的利用適合遠(yuǎn)距離傳輸?shù)膮f(xié)議承載的所述IPMI數(shù)據(jù)報(bào)文轉(zhuǎn)換為目的單板本地協(xié)議承載的IPMI數(shù)據(jù)報(bào)文,并將其發(fā)送給所述對(duì)應(yīng)的單板。
所述單板中的BMC從所述IPMI數(shù)據(jù)報(bào)文中獲得控制命令和固件加載所需的數(shù)據(jù),然后根據(jù)所述控制命令,利用所述加載數(shù)據(jù)對(duì)設(shè)置在其內(nèi)的底層固件進(jìn)行加載。
本發(fā)明提供的第四實(shí)施例是第四種實(shí)現(xiàn)遠(yuǎn)程加載單板固件的系統(tǒng),其結(jié)構(gòu)如圖3所示,包括遠(yuǎn)端管理系統(tǒng)和固件加載單元。其中所述固件加載單元包括BMC、處理器模塊和與所述處理器模塊連接的至少一個(gè)固件。其中所述BMC中設(shè)置有遠(yuǎn)程與本地?cái)?shù)據(jù)轉(zhuǎn)換單元以及本地?cái)?shù)據(jù)處理單元。
所述系統(tǒng)中各個(gè)器件的功能如下所述遠(yuǎn)端管理系統(tǒng),用于實(shí)現(xiàn)遠(yuǎn)程線路數(shù)據(jù)的翻譯和IPMI協(xié)議通訊,并提供遠(yuǎn)程管理界面和相關(guān)數(shù)據(jù)接口。
所述BMC,用于通過其內(nèi)設(shè)置的遠(yuǎn)程與本地?cái)?shù)據(jù)轉(zhuǎn)換單元實(shí)現(xiàn)IPMI協(xié)議從本地線路與遠(yuǎn)程線路間的數(shù)據(jù)轉(zhuǎn)換;以及用于通過其內(nèi)設(shè)置的本地?cái)?shù)據(jù)處理單元進(jìn)行IPMI協(xié)議處理,獲得控制命令和固件加載所需的數(shù)據(jù)。其中的本地線路可以是I2C、IPMB、PCI、PCI-E、PCI-X、SMBus、RS-232和本地IO總線等常用本地線路傳輸?shù)奈锢斫橘|(zhì)和傳輸協(xié)議組成的數(shù)據(jù)鏈路,其上傳輸?shù)臄?shù)據(jù)封裝了IPMI消息。所述的遠(yuǎn)程線路可以是以太網(wǎng)、令牌網(wǎng)、光纖、xDSL或無線網(wǎng)絡(luò)等適合遠(yuǎn)距離傳輸?shù)奈锢斫橘|(zhì)和傳輸協(xié)議組成的數(shù)據(jù)鏈路,其上傳輸?shù)臄?shù)據(jù)封裝了IPMI消息。
所述處理器模塊,用于通過控制命令控制BMC,以及各加載接口的數(shù)據(jù)轉(zhuǎn)換。其中的加載接口可以是固件特有的加載接口,也可以是常用的加載接口,如JTAG接口,或者是BMC的本地IO總線,等等。
所述固件,可以是FLASH、CPLD、FPGA、EEPROM、NvRAM、EPROM、CF卡或硬盤等。
該系統(tǒng)的各個(gè)器件間的信息傳遞關(guān)系如下所述遠(yuǎn)端管理系統(tǒng)將遠(yuǎn)端線路數(shù)據(jù)翻譯成利用遠(yuǎn)距離傳輸協(xié)議承載的IPMI數(shù)據(jù)報(bào)文,并將利用遠(yuǎn)距離傳輸協(xié)議承載的IPMI數(shù)據(jù)報(bào)文傳送給固件加載單元。
所述固件加載單元通過所述BMC中設(shè)置的遠(yuǎn)程與本地?cái)?shù)據(jù)轉(zhuǎn)換單元將接收到的所述IPMI數(shù)據(jù)報(bào)文轉(zhuǎn)換為單板本地協(xié)議承載的IPMI數(shù)據(jù)報(bào)文,并通過其內(nèi)設(shè)置的本地?cái)?shù)據(jù)處理單元從所述IPMI數(shù)據(jù)報(bào)文中獲得控制命令和固件加載所需的數(shù)據(jù),然后將所獲得的命令和數(shù)據(jù)傳送給處理器模塊。
所述處理器模塊根據(jù)所述控制命令判斷出需要加載的固件,并將所述固件需要的加載數(shù)據(jù)轉(zhuǎn)換成所述固件的加載接口所需的格式,然后通過所述加載接口傳送給所述固件進(jìn)行加載。
本發(fā)明提供的第五實(shí)施例是第五種實(shí)現(xiàn)遠(yuǎn)程加載單板固件的系統(tǒng),其與第四實(shí)施例的區(qū)別之處在于所述固件加載單元不再包括處理器模塊,而僅僅包括BMC和與所述BMC連接的至少一個(gè)固件。其結(jié)構(gòu)如圖4所示,包括遠(yuǎn)端管理系統(tǒng)和固件加載單元。其中所述固件加載單元包括BMC以及與其連接的至少一個(gè)固件。其中所述BMC中設(shè)置有遠(yuǎn)程與本地?cái)?shù)據(jù)轉(zhuǎn)換單元以及本地?cái)?shù)據(jù)處理單元。
此時(shí)BMC的功能用于通過其內(nèi)設(shè)置的遠(yuǎn)程與本地?cái)?shù)據(jù)轉(zhuǎn)換單元實(shí)現(xiàn)IPMI協(xié)議從本地線路與遠(yuǎn)程線路間的數(shù)據(jù)轉(zhuǎn)換;以及用于通過其內(nèi)設(shè)置的本地?cái)?shù)據(jù)處理單元進(jìn)行IPMI協(xié)議處理,獲得控制命令和固件加載所需的數(shù)據(jù);以及通過控制命令控制BMC,以及各加載接口的數(shù)據(jù)轉(zhuǎn)換。其中的本地線路可以是I2C、IPMB、PCI、PCI-E、PCI-X、SMBus、RS-232和本地IO總線等常用本地線路傳輸?shù)奈锢斫橘|(zhì)和傳輸協(xié)議組成的數(shù)據(jù)鏈路,其上傳輸?shù)臄?shù)據(jù)封裝了IPMI消息。所述的遠(yuǎn)程線路可以是以太網(wǎng)、令牌網(wǎng)、光纖、xDSL或無線網(wǎng)絡(luò)等適合遠(yuǎn)距離傳輸?shù)奈锢斫橘|(zhì)和傳輸協(xié)議組成的數(shù)據(jù)鏈路,其上傳輸?shù)臄?shù)據(jù)封裝了IPMI消息。其中的加載接口可以是固件特有的加載接口,也可以是常用的加載接口,如JTAG接口,或者是BMC的本地IO總線,等等。
所述固件,可以是FLASH、CPLD、FPGA、EEPROM、NvRAM、EPROM、CF卡或硬盤等。
該系統(tǒng)的各個(gè)器件間的信息傳遞關(guān)系如下所述遠(yuǎn)端管理系統(tǒng)將遠(yuǎn)端線路數(shù)據(jù)翻譯成利用遠(yuǎn)距離傳輸協(xié)議承載的IPMI數(shù)據(jù)報(bào)文,并將利用遠(yuǎn)距離傳輸協(xié)議承載的IPMI數(shù)據(jù)報(bào)文傳送給固件加載單元。
所述固件加載單元通過BMC中設(shè)置的遠(yuǎn)程與本地?cái)?shù)據(jù)轉(zhuǎn)換單元將遠(yuǎn)端管理系統(tǒng)發(fā)送給的IPMI數(shù)據(jù)報(bào)文轉(zhuǎn)換為單板本地能夠識(shí)別的IPMI數(shù)據(jù)報(bào)文,并通過其內(nèi)設(shè)置的本地?cái)?shù)據(jù)處理單元進(jìn)行從所述IPMI數(shù)據(jù)報(bào)文中獲得控制命令和固件加載所需的數(shù)據(jù),然后根據(jù)所述控制命令判斷出需要加載的固件,并將所述固件需要的加載數(shù)據(jù)轉(zhuǎn)換成所述固件的加載接口所需的格式,然后通過所述加載接口傳送給所述固件進(jìn)行加載。
本發(fā)明提供的第六實(shí)施例是第六種實(shí)現(xiàn)遠(yuǎn)程加載單板固件的系統(tǒng),其與第四實(shí)施例的區(qū)別在于所述固件加載單元中僅僅包括一個(gè)BMC。其結(jié)構(gòu)如圖5所示,包括遠(yuǎn)端管理系統(tǒng)和固件加載單元。其中所述固件加載單元僅僅包括BMC。其中所述BMC中設(shè)置有遠(yuǎn)程與本地?cái)?shù)據(jù)轉(zhuǎn)換單元以及本地?cái)?shù)據(jù)處理單元。
此時(shí)所述BMC用于通過所述遠(yuǎn)程與本地?cái)?shù)據(jù)轉(zhuǎn)換單元實(shí)現(xiàn)IPMI協(xié)議從本地線路與遠(yuǎn)程線路間的數(shù)據(jù)轉(zhuǎn)換;以及用于通過所述本地?cái)?shù)據(jù)處理單元IPMI協(xié)議處理,獲得控制命令和固件加載所需的數(shù)據(jù);以及通過控制命令控制BMC對(duì)其自身進(jìn)行加載。其中的本地線路可以是I2C、IPMB、PCI、PCI-E、PCI-X、SMBus、RS-232和本地IO總線等常用本地線路傳輸?shù)奈锢斫橘|(zhì)和傳輸協(xié)議組成的數(shù)據(jù)鏈路,其上傳輸?shù)臄?shù)據(jù)封裝了IPMI消息。所述的遠(yuǎn)程線路可以是以太網(wǎng)、令牌網(wǎng)、光纖、xDSL或無線網(wǎng)絡(luò)等適合遠(yuǎn)距離傳輸?shù)奈锢斫橘|(zhì)和傳輸協(xié)議組成的數(shù)據(jù)鏈路,其上傳輸?shù)臄?shù)據(jù)封裝了IPMI消息。其中的加載接口可以是固件特有的加載接口,也可以是常用的加載接口,如JTAG接口,或者是BMC的本地IO總線,等等。
該系統(tǒng)的各個(gè)器件間的信息傳遞關(guān)系如下所述遠(yuǎn)端管理系統(tǒng)將遠(yuǎn)端線路數(shù)據(jù)翻譯成利用遠(yuǎn)距離傳輸協(xié)議承載的IPMI數(shù)據(jù)報(bào)文,并將利用遠(yuǎn)距離傳輸協(xié)議承載的IPMI數(shù)據(jù)報(bào)文傳送給固件加載單元。
所述固件加載單元通過BMC中設(shè)置的遠(yuǎn)程與本地?cái)?shù)據(jù)轉(zhuǎn)換單元將遠(yuǎn)端管理系統(tǒng)發(fā)送給的IPMI數(shù)據(jù)報(bào)文轉(zhuǎn)換為單板本地能夠識(shí)別的IPMI數(shù)據(jù)報(bào)文,并通過所述本地?cái)?shù)據(jù)處理單元從所述IPMI數(shù)據(jù)報(bào)文中獲得控制命令和固件加載所需的數(shù)據(jù),然后根據(jù)所述控制命令,利用所述加載數(shù)據(jù)對(duì)設(shè)置在其內(nèi)的底層固件進(jìn)行加載。
上述第四、第五和第六實(shí)施例只能對(duì)一塊單板上的固件進(jìn)行加載。而第一、第二和第三實(shí)施例可以對(duì)多塊單板上的固件進(jìn)行加載。
本發(fā)明提供的第七實(shí)施例是第一種實(shí)現(xiàn)遠(yuǎn)程加載單板固件的方法,其流程如圖6所示,包括如下步驟步驟1,將利用適合遠(yuǎn)距離傳輸?shù)膮f(xié)議承載的IPMI數(shù)據(jù)報(bào)文通過遠(yuǎn)端管理系統(tǒng)發(fā)送給系統(tǒng)管理模塊。
步驟2,所述系統(tǒng)管理模塊判斷出所述IPMI數(shù)據(jù)報(bào)文對(duì)應(yīng)的目的單板,并將接收到的所述IPMI數(shù)據(jù)報(bào)文轉(zhuǎn)換為所述目的單板本地協(xié)議承載的IPMI數(shù)據(jù)報(bào)文。然后將轉(zhuǎn)換為目的單板本地協(xié)議承載的IPMI數(shù)據(jù)報(bào)文發(fā)送給對(duì)應(yīng)的目的單板的BMC。
步驟3,當(dāng)目的單板接收到所述報(bào)文后,根據(jù)所述轉(zhuǎn)換后的數(shù)據(jù)報(bào)文對(duì)本地的單板固件進(jìn)行加載。
在步驟3中,如果所述單板中需要加載的固件連接與處理器模塊,則所述步驟3的處理過程如下所述BMC從本地協(xié)議承載的所述IPMI數(shù)據(jù)報(bào)文中獲得控制命令和固件加載所需的數(shù)據(jù);并將所獲得的命令和數(shù)據(jù)傳送給處理器模塊;所述處理器模塊根據(jù)所述控制命令判斷出需要加載的固件,并將所述固件需要的加載數(shù)據(jù)轉(zhuǎn)換成所述固件的加載接口所需的格式,然后通過所述加載接口傳送給所述加載固件進(jìn)行加載。
如果所述單板中需要加載的固件直接與BMC連接,則所述步驟3的處理過程如下所述BMC從本地協(xié)議承載的IPMI數(shù)據(jù)報(bào)文中獲得控制命令和固件加載所需的數(shù)據(jù),并根據(jù)所述控制命令判斷出需要加載的固件,并將所述固件需要的加載數(shù)據(jù)轉(zhuǎn)換成所述固件的加載接口所需的格式,然后通過所述加載接口傳送給所述加載固件進(jìn)行加載。
如果所述單板中需要加載的固件內(nèi)置于BMC,則所述步驟3的處理過程如下所述BMC從本地協(xié)議承載的IPMI數(shù)據(jù)報(bào)文中獲得控制命令和其加載所需的數(shù)據(jù),并根據(jù)所述控制命令,利用所述加載數(shù)據(jù)對(duì)設(shè)置在其內(nèi)的底層固件進(jìn)行加載。
本發(fā)明提供的第八實(shí)施例是第二種實(shí)現(xiàn)遠(yuǎn)程加載單板固件的方法,其與第七實(shí)施例的區(qū)別在于該方法僅僅能夠?qū)崿F(xiàn)對(duì)一個(gè)單板上的固件進(jìn)行加載。該方法的具體實(shí)施過程如下步驟1,將利用適合遠(yuǎn)距離傳輸?shù)膮f(xié)議承載的IPMI數(shù)據(jù)報(bào)文通過遠(yuǎn)端管理系統(tǒng)發(fā)送給目的單板的基板管理控制器BMC。
步驟2,所述BMC將接收到的所述IPMI數(shù)據(jù)報(bào)文轉(zhuǎn)換為單板本地協(xié)議承載的IPMI數(shù)據(jù)報(bào)文,并根據(jù)所述轉(zhuǎn)換后的數(shù)據(jù)報(bào)文對(duì)本地的單板固件進(jìn)行加載。
在步驟2中,如果所述單板中需要加載的固件連接與處理器模塊,則所述步驟2的處理過程如下所述BMC將接收到的所述IPMI數(shù)據(jù)報(bào)文轉(zhuǎn)換為單板本地協(xié)議承載的IPMI數(shù)據(jù)報(bào)文,從本地協(xié)議承載的所述IPMI數(shù)據(jù)報(bào)文中獲得控制命令和固件加載所需的數(shù)據(jù);并將所獲得的命令和數(shù)據(jù)傳送給處理器模塊;所述處理器模塊根據(jù)所述控制命令判斷出需要加載的固件,并將所述固件需要的加載數(shù)據(jù)轉(zhuǎn)換成所述固件的加載接口所需的格式,然后通過所述加載接口傳送給所述加載固件進(jìn)行加載。
如果所述單板中需要加載的固件直接與BMC連接,則所述步驟2的處理過程如下所述BMC將接收到的所述IPMI數(shù)據(jù)報(bào)文轉(zhuǎn)換為單板本地協(xié)議承載的IPMI數(shù)據(jù)報(bào)文,從本地協(xié)議承載的IPMI數(shù)據(jù)報(bào)文中獲得控制命令和固件加載所需的數(shù)據(jù),并根據(jù)所述控制命令判斷出需要加載的固件,并將所述固件需要的加載數(shù)據(jù)轉(zhuǎn)換成所述固件的加載接口所需的格式,然后通過所述加載接口傳送給所述加載固件進(jìn)行加載。
如果所述單板中需要加載的固件內(nèi)置于BMC,則所述步驟2的處理過程如下所述BMC將接收到的所述IPMI數(shù)據(jù)報(bào)文轉(zhuǎn)換為單板本地協(xié)議承載的IPMI數(shù)據(jù)報(bào)文,從本地協(xié)議承載的IPMI數(shù)據(jù)報(bào)文中獲得控制命令和其加載所需的數(shù)據(jù),并根據(jù)所述控制命令,利用所述加載數(shù)據(jù)對(duì)設(shè)置在其內(nèi)的底層固件進(jìn)行加載。
由上述本發(fā)明的具體實(shí)施方式
可以看出,本發(fā)明通過IPMI技術(shù)實(shí)現(xiàn)單板固件的遠(yuǎn)程加載,能夠規(guī)范硬件平臺(tái)接口,方便維護(hù)和升級(jí),并且可靠性、可擴(kuò)展性和可移植性較好;并且能夠縮短開發(fā)周期,降低開發(fā)成本。再者,本發(fā)明基于IPMI技術(shù)能夠使IPMI子系統(tǒng),如BMC的供電電源可以獨(dú)立與CPU系統(tǒng)而存在,當(dāng)CPU系統(tǒng)故障時(shí),BMC仍可操作。
另外,本發(fā)明通過系統(tǒng)管理模塊將遠(yuǎn)端傳送給的IPMI報(bào)文轉(zhuǎn)換為各個(gè)單板能夠識(shí)別的IPMI報(bào)文,從而能夠提供統(tǒng)一的IPMI接口實(shí)現(xiàn)對(duì)多個(gè)單板上的固件進(jìn)行加載。
以上所述,僅為本發(fā)明較佳的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種實(shí)現(xiàn)遠(yuǎn)程加載單板固件的方法,其特征在于,包括A、將遠(yuǎn)端發(fā)送給的IPMI數(shù)據(jù)報(bào)文轉(zhuǎn)換為本地能夠識(shí)別的IPMI數(shù)據(jù)報(bào)文;B、根據(jù)所述轉(zhuǎn)換后的數(shù)據(jù)報(bào)文對(duì)本地的單板固件進(jìn)行加載。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟A具體包括A1、將利用適合遠(yuǎn)距離傳輸?shù)膮f(xié)議承載的IPMI數(shù)據(jù)報(bào)文通過遠(yuǎn)端管理系統(tǒng)發(fā)送給基板管理控制器BMC;A2、所述BMC將接收到的所述IPMI數(shù)據(jù)報(bào)文轉(zhuǎn)換為單板本地協(xié)議承載的IPMI數(shù)據(jù)報(bào)文。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟A具體包括A3、將利用適合遠(yuǎn)距離傳輸?shù)膮f(xié)議承載的IPMI數(shù)據(jù)報(bào)文通過遠(yuǎn)端管理系統(tǒng)發(fā)送給系統(tǒng)管理模塊;A4、所述系統(tǒng)管理模塊判斷出所述IPMI數(shù)據(jù)報(bào)文對(duì)應(yīng)的目的單板,并將接收到的所述IPMI數(shù)據(jù)報(bào)文轉(zhuǎn)換為所述目的單板本地協(xié)議承載的IPMI數(shù)據(jù)報(bào)文。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述步驟A還包括將轉(zhuǎn)換為目的單板本地協(xié)議承載的IPMI數(shù)據(jù)報(bào)文發(fā)送給對(duì)應(yīng)的目的單板的BMC。
5.根據(jù)權(quán)利要求2、3或4所述的方法,其特征在于,所述步驟B具體包括所述BMC從本地協(xié)議承載的所述IPMI數(shù)據(jù)報(bào)文中獲得控制命令和固件加載所需的數(shù)據(jù);并將所獲得的命令和數(shù)據(jù)傳送給處理器模塊;所述處理器模塊根據(jù)所述控制命令判斷出需要加載的固件,并將所述固件需要的加載數(shù)據(jù)轉(zhuǎn)換成所述固件的加載接口所需的格式,然后通過所述加載接口傳送給所述加載固件進(jìn)行加載;或者,所述BMC從本地協(xié)議承載的所述IPMI數(shù)據(jù)報(bào)文中獲得控制命令和固件加載所需的數(shù)據(jù),并根據(jù)所述控制命令判斷出需要加載的固件,并將所述固件需要的加載數(shù)據(jù)轉(zhuǎn)換成所述固件的加載接口所需的格式,然后通過所述加載接口傳送給所述加載固件進(jìn)行加載;或者,所述BMC從本地協(xié)議承載的所述IPMI數(shù)據(jù)報(bào)文中獲得控制命令和固件加載所需的數(shù)據(jù),并根據(jù)所述控制命令,利用所述加載數(shù)據(jù)對(duì)設(shè)置在其內(nèi)的底層固件進(jìn)行加載。
6.一種實(shí)現(xiàn)遠(yuǎn)程加載單板固件的系統(tǒng),其特征在于,包括固件加載單元,用于將遠(yuǎn)端發(fā)送給的IPMI數(shù)據(jù)報(bào)文轉(zhuǎn)換為本地能夠識(shí)別的IPMI數(shù)據(jù)報(bào)文,以及根據(jù)所述轉(zhuǎn)換后的數(shù)據(jù)報(bào)文對(duì)本地的單板固件進(jìn)行加載。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,還包括遠(yuǎn)端管理系統(tǒng),用于實(shí)現(xiàn)遠(yuǎn)端線路數(shù)據(jù)的翻譯和IPMI協(xié)議的通信,并將利用遠(yuǎn)距離傳輸協(xié)議承載的IPMI數(shù)據(jù)報(bào)文傳送給固件加載單元。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述固件加載單元包括遠(yuǎn)程與本地?cái)?shù)據(jù)轉(zhuǎn)換單元,以及本地?cái)?shù)據(jù)處理單元;所述遠(yuǎn)程與本地?cái)?shù)據(jù)轉(zhuǎn)換單元,用于根據(jù)遠(yuǎn)端發(fā)送給的IPMI數(shù)據(jù)報(bào)文判斷出其對(duì)應(yīng)的本地?cái)?shù)據(jù)處理單元,并將接收到的利用適合遠(yuǎn)距離傳輸?shù)膮f(xié)議承載的所述IPMI數(shù)據(jù)報(bào)文轉(zhuǎn)換為目的單板本地協(xié)議承載的IPMI數(shù)據(jù)報(bào)文,并將其發(fā)送給所述本地?cái)?shù)據(jù)處理單元;所述本地?cái)?shù)據(jù)處理單元,用于根據(jù)所述轉(zhuǎn)換后的IPMI數(shù)據(jù)報(bào)文對(duì)本地相應(yīng)的單板固件進(jìn)行加載。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于所述遠(yuǎn)程與本地?cái)?shù)據(jù)轉(zhuǎn)換單元設(shè)置在系統(tǒng)管理模塊中,所述本地?cái)?shù)據(jù)處理單元設(shè)置在至少一個(gè)單板中;或,所述遠(yuǎn)程與本地?cái)?shù)據(jù)轉(zhuǎn)換單元以及所述本地?cái)?shù)據(jù)處理單元設(shè)置在一個(gè)單板中。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),當(dāng)所述遠(yuǎn)程與本地?cái)?shù)據(jù)轉(zhuǎn)換單元以及所述本地?cái)?shù)據(jù)處理單元設(shè)置在一個(gè)單板中時(shí),其特征在于所述遠(yuǎn)程與本地?cái)?shù)據(jù)轉(zhuǎn)換單元以及所述本地?cái)?shù)據(jù)處理單元同時(shí)設(shè)置在一個(gè)單板中的基板管理控制器BMC中。
11.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,當(dāng)所述遠(yuǎn)程與本地?cái)?shù)據(jù)轉(zhuǎn)換單元設(shè)置在系統(tǒng)管理模塊中,所述本地?cái)?shù)據(jù)處理單元設(shè)置在至少一個(gè)單板中時(shí),所述單板包括BMC、處理器模塊和與所述處理器模塊連接的至少一個(gè)固件;所述BMC通過所述本地?cái)?shù)據(jù)處理單元從所述IPMI數(shù)據(jù)報(bào)文中獲得控制命令和固件加載所需的數(shù)據(jù),然后將所獲得的命令和數(shù)據(jù)傳送給處理器模塊;所述處理器模塊根據(jù)所述控制命令判斷出需要加載的固件,并將所述固件需要的加載數(shù)據(jù)轉(zhuǎn)換成所述固件的加載接口所需的格式,然后通過所述加載接口傳送給所述固件進(jìn)行加載;或者,BMC和與所述BMC連接的至少一個(gè)固件;所述BMC用于通過所述本地?cái)?shù)據(jù)處理單元從所述IPMI數(shù)據(jù)報(bào)文中獲得控制命令和固件加載所需的數(shù)據(jù),然后根據(jù)所述控制命令判斷出需要加載的固件,并將所述固件需要的加載數(shù)據(jù)轉(zhuǎn)換成所述固件的加載接口所需的格式,然后通過所述加載接口傳送給所述固件進(jìn)行加載;或者,所述BMC,用于通過所述本地?cái)?shù)據(jù)處理單元從所述IPMI數(shù)據(jù)報(bào)文中獲得控制命令和固件加載所需的數(shù)據(jù),然后根據(jù)所述控制命令,利用所述加載數(shù)據(jù)對(duì)設(shè)置在其內(nèi)的底層固件進(jìn)行加載。
12.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,當(dāng)所述遠(yuǎn)程與本地?cái)?shù)據(jù)轉(zhuǎn)換單元以及所述本地?cái)?shù)據(jù)處理單元設(shè)置在一個(gè)單板中時(shí),所述單板包括BMC、處理器模塊和與所述處理器模塊連接的至少一個(gè)固件;所述BMC通過所述遠(yuǎn)程與本地?cái)?shù)據(jù)轉(zhuǎn)換單元將接收到的所述IPMI數(shù)據(jù)報(bào)文轉(zhuǎn)換為單板本地協(xié)議承載的IPMI數(shù)據(jù)報(bào)文,并通過所述本地?cái)?shù)據(jù)處理單元從所述IPMI數(shù)據(jù)報(bào)文中獲得控制命令和固件加載所需的數(shù)據(jù),然后將所獲得的命令和數(shù)據(jù)傳送給處理器模塊;所述處理器模塊根據(jù)所述控制命令判斷出需要加載的固件,并將所述固件需要的加載數(shù)據(jù)轉(zhuǎn)換成所述固件的加載接口所需的格式,然后通過所述加載接口傳送給所述固件進(jìn)行加載?;蛘撸珺MC和與所述BMC連接的至少一個(gè)固件;所述BMC,用于通過所述遠(yuǎn)程與本地?cái)?shù)據(jù)轉(zhuǎn)換單元將遠(yuǎn)端管理系統(tǒng)發(fā)送給的IPMI數(shù)據(jù)報(bào)文轉(zhuǎn)換為單板本地能夠識(shí)別的IPMI數(shù)據(jù)報(bào)文,并通過所述本地?cái)?shù)據(jù)處理單元從所述IPMI數(shù)據(jù)報(bào)文中獲得控制命令和固件加載所需的數(shù)據(jù),然后根據(jù)所述控制命令判斷出需要加載的固件,并將所述固件需要的加載數(shù)據(jù)轉(zhuǎn)換成所述固件的加載接口所需的格式,然后通過所述加載接口傳送給所述固件進(jìn)行加載?;蛘?,所述BMC,用于通過所述遠(yuǎn)程與本地?cái)?shù)據(jù)轉(zhuǎn)換單元將遠(yuǎn)端管理系統(tǒng)發(fā)送給的IPMI數(shù)據(jù)報(bào)文轉(zhuǎn)換為單板本地能夠識(shí)別的IPMI數(shù)據(jù)報(bào)文,并通過所述本地?cái)?shù)據(jù)處理單元從所述IPMI數(shù)據(jù)報(bào)文中獲得控制命令和固件加載所需的數(shù)據(jù),然后根據(jù)所述控制命令,利用所述加載數(shù)據(jù)對(duì)設(shè)置在其內(nèi)的底層固件進(jìn)行加載。
全文摘要
本發(fā)明涉及一種實(shí)現(xiàn)遠(yuǎn)程加載單板固件的方法和系統(tǒng),其核心是將遠(yuǎn)端發(fā)送給的IPMI數(shù)據(jù)報(bào)文轉(zhuǎn)換為本地能夠識(shí)別的IPMI數(shù)據(jù)報(bào)文;根據(jù)所述轉(zhuǎn)換后的數(shù)據(jù)報(bào)文對(duì)本地的單板固件進(jìn)行加載。通過本發(fā)明能夠提供標(biāo)準(zhǔn)的IPMI接口實(shí)現(xiàn)遠(yuǎn)端對(duì)現(xiàn)場(chǎng)各種單板固件的加載,實(shí)現(xiàn)方便,并且可靠性、可擴(kuò)展性以及可移植性較好,并能夠縮短開發(fā)周期,降低開發(fā)成本。再者,本發(fā)明基于IPMI技術(shù)能夠使IPMI子系統(tǒng)獨(dú)立于CPU系統(tǒng)而存在,當(dāng)CPU系統(tǒng)故障時(shí),BMC仍可操作。另外,本發(fā)明通過系統(tǒng)管理模塊將遠(yuǎn)端傳送給的IPMI報(bào)文轉(zhuǎn)換為各個(gè)單板能夠識(shí)別的IPMI報(bào)文,能夠?qū)崿F(xiàn)對(duì)多個(gè)單板上的固件的加載。
文檔編號(hào)G06F9/445GK1983977SQ20061008390
公開日2007年6月20日 申請(qǐng)日期2006年6月6日 優(yōu)先權(quán)日2006年6月6日
發(fā)明者劉強(qiáng), 余承澤, 宋銅鈴, 王晨光 申請(qǐng)人:華為技術(shù)有限公司