一種Linux系統(tǒng)下的主板VR Firmware升級方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及服務(wù)器系統(tǒng)及互聯(lián)網(wǎng)行業(yè)領(lǐng)域,尤其涉及一種Linux系統(tǒng)下的主板VRFirmware升級方法。
【背景技術(shù)】
[0002]隨著服務(wù)器系統(tǒng)和半導(dǎo)體技術(shù)的快速發(fā)展,給服務(wù)器主板CPU及內(nèi)存供電的多相電源技術(shù)也進(jìn)行著革命性的變化。數(shù)字電源以其不可替代的優(yōu)勢被越來越多的工程師接受和使用。傳統(tǒng)的通過II型或者III型補(bǔ)償?shù)哪M解決方案供應(yīng)商也在逐步向數(shù)字方案轉(zhuǎn)型,比如:Intersil、Volterra等主流VR供應(yīng)商。目前Intel Grantley平臺提供VRl3方案的 VR controller 均具備 PMbus 或 I2C 接口。
[0003]PMbus或I2C接口的主要作用有兩個:其一是通過上位機(jī)的⑶I軟件在主板NPI階段,對VR進(jìn)行調(diào)試;其二是在主板量產(chǎn)后通過該接口把調(diào)試好的Firmware燒錄到controller ο VR Firmware調(diào)試階段以及Offline燒錄采用的Master均采用如圖1所示的工具。該工具的核心是單片機(jī),工具通過USB接口連接至上位機(jī)的⑶I軟件,通過I2C線纜連接至主板上的VR controller的I2C接口。工程師通過調(diào)節(jié)上位機(jī)⑶I上的參數(shù),實(shí)現(xiàn)對VR的調(diào)試。
[0004]通常,如果NPI階段VR Firmware設(shè)計的不好,主板量產(chǎn)后會發(fā)生一些內(nèi)存兼容性方面的問題,或者系統(tǒng)下報ECC故障。此時,需要對VR的Fir麗are做相應(yīng)調(diào)整和優(yōu)化,并將優(yōu)化后的code燒錄至VR controller ο但是,由于用戶的設(shè)備已經(jīng)在機(jī)架上,并且有線上業(yè)務(wù)在運(yùn)行,無法通過打開機(jī)箱蓋子把工具的I2C線纜連接至主板上,直接導(dǎo)致無法完成對客戶機(jī)器VR Firmware的優(yōu)化。
【發(fā)明內(nèi)容】
[0005]為了解決以上的技術(shù)問題,本文提出了一種Linux系統(tǒng)下的主板VR Firmware升級方法。該方法簡單有效,用于解決Linux系統(tǒng)用戶的部分內(nèi)存兼容性問題,而且不需要停止客戶的線上業(yè)務(wù),從而有效避免了用戶因?yàn)闃I(yè)務(wù)停線帶來的大規(guī)模經(jīng)濟(jì)損失??蓪?shí)現(xiàn)在不影響客戶Linux系統(tǒng)下的線上業(yè)務(wù)正常運(yùn)行,對服務(wù)器主板的VR線路實(shí)現(xiàn)在線的優(yōu)化升級,以提尚系統(tǒng)的供電穩(wěn)定性。
[0006]本發(fā)明要解決及優(yōu)化的技術(shù)問題是:在不影響客戶Linux系統(tǒng)下的線上業(yè)務(wù)正常運(yùn)行的情況下,實(shí)現(xiàn)VR Firmware的在線升級。其主要思想是:通過在Linux系統(tǒng)下,執(zhí)行編譯好的命令函數(shù),來實(shí)現(xiàn)服務(wù)器主板上CPU及內(nèi)存VR Firmware的在線升級。升級Firmware的主板VR Controller帶有PMbus或者12C接口。以下為本發(fā)明所采用的方案:
首先,在主板硬件方面,VR controller的FW燒錄是通過芯片預(yù)留的I2C接口實(shí)現(xiàn)的。在主板I2C拓?fù)浣Y(jié)構(gòu)中,VR controller是作為slaver設(shè)備來定義的。因此,需要一個Master把VR Firmware燒錄。本文的方法是通過把南橋PCH芯片上的SMbus Host定義為VR controller的master。南橋PCH芯片的SMB HOST 10 口可以實(shí)現(xiàn):在系統(tǒng)下訪問到掛在其鏈路上的slaver,以保證I2C拓?fù)浣Y(jié)構(gòu)正確的區(qū)分主板上的CPU VR和內(nèi)存VR分配I2C地址。同時,在地址分配時,既要保證在VR芯片支持的地址范圍內(nèi),又要保證每個slaver的地址不會出現(xiàn)沖突。主板VR芯片的PMbus或者I2C接口與南橋SMbus Host控制器物理互聯(lián)。
[0007]其次,軟件方面根據(jù)I2C數(shù)據(jù)傳輸協(xié)議編譯生成一個驅(qū)動函數(shù),該驅(qū)動函數(shù)的作用是把符合格式的VR code文件燒寫到VR芯片的NVM中。驅(qū)動函數(shù)預(yù)留兩個參數(shù)接口:I2C地址和 VR code 文件。比如:“ inspur_updatevr 2A DDR_ABC.txt ”,其中:inspur_updatevr代表驅(qū)動程序,2A代表內(nèi)存ABC通道VR controller的I2C地址、DDR_ABC.txt代表要升級的VR Firmware文件。如果要實(shí)現(xiàn)一次性刷新多個VR controller,只需要調(diào)用驅(qū)動函數(shù)把對應(yīng)的I2C地址做成批處理命令即可。
[0008]可以在不影響用戶業(yè)務(wù)的情況下實(shí)現(xiàn)對服務(wù)器主板上內(nèi)存及CPU VR Controller的Firmware刷新和升級。該方法簡單有效,可解決Linux系統(tǒng)用戶的部分內(nèi)存兼容性問題,而且不需要停止客戶的線上業(yè)務(wù),從而有效避免了用戶因?yàn)闃I(yè)務(wù)停線帶來的大規(guī)模經(jīng)濟(jì)損失??蓪?shí)現(xiàn)在不影響客戶Linux系統(tǒng)下的線上業(yè)務(wù)正常運(yùn)行,對服務(wù)器主板的VR線路實(shí)現(xiàn)在線的優(yōu)化升級,以提高系統(tǒng)的供電穩(wěn)定性。
【附圖說明】
[0009]圖1是VR燒錄工具示意圖。
[0010]圖2是硬件拓?fù)浣Y(jié)構(gòu)示意圖。
[0011 ] 圖3是軟件工具包示意圖。
【具體實(shí)施方式】
[0012]以下通過【具體實(shí)施方式】,對本發(fā)明的實(shí)現(xiàn)過程進(jìn)一步說明:
參照附圖2中給內(nèi)存通道AB和⑶VR升級Firmware為例:
1)在主板硬件設(shè)計時,參照附圖2的I2C拓?fù)浣Y(jié)構(gòu)設(shè)計線路,定義合適
的VR controller的I2C地址,本例中定義AB通道VR地址為0x80,CD通道VR地址為EO ;
2)使用U盤,在U盤目錄下新建文件夾命名為‘VRcode’。如圖3所示的驅(qū)動函數(shù)、批處理命令及燒錄文件拷貝至‘VRcode’文件夾目錄下;
3)將U盤插入需要升級VRFirmware的主機(jī)系統(tǒng),并引導(dǎo)至該文件夾目錄下,執(zhí)行批處理命令‘./vrprogram.sh’。
[0013]燒錄成功后,顯示器屏幕顯示:
“0x80 has been updated successfully ! ”
“0xE0 has been updated successfully ! ”
以上實(shí)施過程只是對本文提出的一種Linux系統(tǒng)下的主板VR Firmware升級方法作簡要說明。參照可以實(shí)現(xiàn)在Linux系統(tǒng)下對任何一個VR controller實(shí)現(xiàn)VR Firmware的在線升級。在不影響用戶業(yè)務(wù)的情況下(不需要斷電),可以通過在線升級來解決服務(wù)器系統(tǒng)因VR引起的各種兼容性問題,減少產(chǎn)品的售后風(fēng)險。
【主權(quán)項】
1.一種Linux系統(tǒng)下的主板VR Firmware升級方法,其特征在于,通過在Linux系統(tǒng)下執(zhí)行命令函數(shù),來實(shí)現(xiàn)服務(wù)器主板上CPU及內(nèi)存VR Firmware的在線升級。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,升級Firmware的主板VRController帶有PMbus或者I2C接口。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,把南橋PCH芯片上的SMBHOST定義為VRcontroller的master,南橋PCH芯片的SMB HOST 1 口可以實(shí)現(xiàn)在系統(tǒng)下訪問到掛在其鏈路上的slaver。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,主板VR芯片的PMbus或者I2C接口與南橋SMbus Host控制器物理互聯(lián)。
5.根據(jù)權(quán)利要求2所述的方法,其特征在于,根據(jù)I2C數(shù)據(jù)傳輸協(xié)議編譯生成一個驅(qū)動函數(shù),該驅(qū)動函數(shù)的作用是把符合格式的VR code文件燒寫到VR芯片的NVM中。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,驅(qū)動函數(shù)預(yù)留兩個參數(shù)接口:I2C地址和VR code 文件。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,實(shí)現(xiàn)一次性刷新多個VRcontroller,需要調(diào)用驅(qū)動函數(shù)把對應(yīng)的I2C地址做成批處理命令。
【專利摘要】本發(fā)明公開了一種Linux系統(tǒng)下的主板VR?Firmware升級方法。涉及服務(wù)器系統(tǒng)及互聯(lián)網(wǎng)行業(yè)領(lǐng)域。當(dāng)用戶購置服務(wù)器并且業(yè)務(wù)已經(jīng)上線后,可以在不影響用戶業(yè)務(wù)的情況下,通過在Linux系統(tǒng)下,執(zhí)行編譯好的命令函數(shù),實(shí)現(xiàn)對服務(wù)器主板上內(nèi)存及CPU?VR?Controller的Firmware在線升級。對解決用戶線上業(yè)務(wù)運(yùn)行時出現(xiàn)的內(nèi)存ECC報錯等故障非常有效。
【IPC分類】G06F9-445
【公開號】CN104572209
【申請?zhí)枴緾N201510029434
【發(fā)明人】孔財, 羅嗣恒
【申請人】浪潮電子信息產(chǎn)業(yè)股份有限公司
【公開日】2015年4月29日
【申請日】2015年1月21日