本發(fā)明涉及硬件,特別涉及一種芯片損壞判定方法,還涉及一種芯片損壞判定裝置、電子設(shè)備、計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)以及計(jì)算機(jī)程序產(chǎn)品。
背景技術(shù):
1、bios?flash芯片(basic?input?output?system?flash,基本輸入輸出系統(tǒng)儲(chǔ)存芯片)是一種高速非易失性存儲(chǔ)器,用于存儲(chǔ)固件程序,即bios代碼。如果bios代碼出現(xiàn)問題,設(shè)備將無法正常啟動(dòng)。因此,各大廠商在出廠時(shí)都會(huì)對(duì)bios進(jìn)行全功能測(cè)試,保證bios在軟件方面的穩(wěn)定性和安全性。但是,由于服務(wù)器從工廠到用戶實(shí)驗(yàn)室需要經(jīng)過打包、裝車、運(yùn)輸、卸車、搬運(yùn)上架、上電部署等多個(gè)步驟,導(dǎo)致硬件損壞的情況時(shí)有發(fā)生。當(dāng)bios?flash芯片硬件出現(xiàn)損壞,由于bios軟件代碼無法正常運(yùn)行,服務(wù)器將無法進(jìn)入系統(tǒng)正常工作,對(duì)用戶和服務(wù)器廠商都帶來了不可估量的損失。
2、相關(guān)技術(shù)中,為識(shí)別bios?flash芯片是否出現(xiàn)損壞,主要是通過判斷設(shè)備是否在規(guī)定的時(shí)間內(nèi)正常進(jìn)入系統(tǒng),如果超過預(yù)設(shè)的時(shí)間仍未進(jìn)入系統(tǒng),則認(rèn)為bios?flash芯片損壞。但是,該種實(shí)現(xiàn)方案簡(jiǎn)單粗暴,無法區(qū)分bios?flash芯片的硬件電路是否真的出現(xiàn)損壞。如果硬件電路沒有損壞,而是由于bios軟件代碼故障的原因?qū)е路?wù)器無法開機(jī),則既浪費(fèi)了bios?flash芯片,增加了成本,同時(shí)掩蓋了bios軟件代碼的bug,對(duì)服務(wù)器的穩(wěn)定性埋下隱患。
3、因此,如何實(shí)現(xiàn)更為準(zhǔn)確的芯片損壞判定是本領(lǐng)域技術(shù)人員亟待解決的問題。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的是提供一種芯片損壞判定方法,該芯片損壞判定方法可以實(shí)現(xiàn)更為準(zhǔn)確的芯片損壞判定;本發(fā)明的另一目的是提供一種芯片損壞判定裝置、電子設(shè)備、計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)以及計(jì)算機(jī)程序產(chǎn)品,均具有上述有益效果。
2、第一方面,本發(fā)明提供了一種芯片損壞判定方法,應(yīng)用于基板管理控制器,所述基板管理控制器與可編程邏輯器件相連,所述可編程邏輯器件連接至主控器的預(yù)設(shè)管腳,所述主控器與基本輸入輸出系統(tǒng)儲(chǔ)存芯片相連,所述方法包括:
3、當(dāng)接收到上電信號(hào)時(shí),通過所述可編程邏輯器件獲取所述主控器中所述預(yù)設(shè)管腳的管腳狀態(tài);
4、判斷所述管腳狀態(tài)是否為預(yù)設(shè)狀態(tài),所述預(yù)設(shè)狀態(tài)由所述基本輸入輸出系統(tǒng)儲(chǔ)存芯片在接收到所述上電信號(hào)時(shí)設(shè)定;
5、若所述管腳狀態(tài)為所述預(yù)設(shè)狀態(tài),則確定所述基本輸入輸出系統(tǒng)儲(chǔ)存芯片無損壞;
6、若所述管腳狀態(tài)不為所述預(yù)設(shè)狀態(tài),則判斷是否可讀取得到所述基本輸入輸出系統(tǒng)儲(chǔ)存芯片的芯片信息;
7、若可讀取得到所述芯片信息,則確定所述基本輸入輸出系統(tǒng)儲(chǔ)存芯片無損壞;
8、若不可讀取得到所述芯片信息,則確定所述基本輸入輸出系統(tǒng)儲(chǔ)存芯片有損壞。
9、其中,通過所述可編程邏輯器件獲取所述主控器中所述預(yù)設(shè)管腳的管腳狀態(tài),包括:
10、獲取所述主控器的電源信號(hào);
11、判斷所述電源信號(hào)是否有效;
12、當(dāng)所述電源信號(hào)有效時(shí),通過所述可編程邏輯器件獲取所述主控器中所述預(yù)設(shè)管腳的管腳狀態(tài);
13、當(dāng)所述電源信號(hào)無效時(shí),輸出告警提示。
14、其中,輸出告警提示,包括:
15、判斷當(dāng)前上電時(shí)長(zhǎng)是否達(dá)到第一預(yù)設(shè)時(shí)長(zhǎng);
16、若所述當(dāng)前上電時(shí)長(zhǎng)未達(dá)到所述第一預(yù)設(shè)時(shí)長(zhǎng),則返回執(zhí)行獲取所述主控器的電源信號(hào);
17、若所述當(dāng)前上電時(shí)長(zhǎng)達(dá)到所述第一預(yù)設(shè)時(shí)長(zhǎng),則輸出所述告警提示。
18、其中,當(dāng)所述電源信號(hào)有效時(shí),執(zhí)行通過所述可編程邏輯器件獲取所述主控器中所述預(yù)設(shè)管腳的管腳狀態(tài)的步驟,包括:
19、當(dāng)所述電源信號(hào)有效時(shí),利用計(jì)時(shí)器開始計(jì)時(shí);
20、當(dāng)所述計(jì)時(shí)器的計(jì)時(shí)時(shí)間達(dá)到第二預(yù)設(shè)時(shí)長(zhǎng)時(shí),執(zhí)行通過所述可編程邏輯器件獲取所述主控器中所述預(yù)設(shè)管腳的管腳狀態(tài)的步驟。
21、其中,判斷所述電源信號(hào)是否有效,包括:
22、判斷所述電源信號(hào)是否為高電平;
23、若所述電源信號(hào)為高電平,則確定所述電源信號(hào)有效;
24、若所述電源信號(hào)不為高電平,則確定所述電源信號(hào)無效。
25、其中,所述基板管理控制器與所述可編程邏輯器件之間通過i2c總線連接,通過所述可編程邏輯器件獲取所述主控器中所述預(yù)設(shè)管腳的管腳狀態(tài),包括:
26、通過所述i2c總線在所述可編程邏輯器件的寄存器中讀取獲得所述主控器中所述預(yù)設(shè)管腳的管腳狀態(tài);所述預(yù)設(shè)管腳的管腳狀態(tài)由所述可編程邏輯器件實(shí)時(shí)獲取并寫入所述寄存器中。
27、其中,判斷所述管腳狀態(tài)是否為預(yù)設(shè)狀態(tài),所述預(yù)設(shè)狀態(tài)由所述基本輸入輸出系統(tǒng)儲(chǔ)存芯片在接收到所述上電信號(hào)時(shí)設(shè)定,包括:
28、判斷所述管腳狀態(tài)是否處于低電平狀態(tài);其中,所述預(yù)設(shè)管腳的初始狀態(tài)為高電平狀態(tài),所述低電平狀態(tài)由所述基本輸入輸出系統(tǒng)儲(chǔ)存芯片在接收到所述上電信號(hào)時(shí)對(duì)所述預(yù)設(shè)管腳的初始狀態(tài)進(jìn)行置反得到;
29、若所述管腳狀態(tài)處于低電平狀態(tài),則確定所述管腳狀態(tài)為所述預(yù)設(shè)狀態(tài);
30、若所述管腳狀態(tài)未處于低電平狀態(tài),則確定所述管腳狀態(tài)不為所述預(yù)設(shè)狀態(tài)。
31、其中,判斷是否可讀取得到所述基本輸入輸出系統(tǒng)儲(chǔ)存芯片的芯片信息,包括:
32、控制當(dāng)前設(shè)備進(jìn)入關(guān)機(jī)狀態(tài),以實(shí)現(xiàn)所述基本輸入輸出系統(tǒng)儲(chǔ)存芯片與所述主控器斷連,所述基本輸入輸出系統(tǒng)儲(chǔ)存芯片與所述基板管理控制器建連;
33、判斷是否可通過所述基本輸入輸出系統(tǒng)儲(chǔ)存芯片與所述基板管理控制器之間的連接關(guān)系讀取得到所述基本輸入輸出系統(tǒng)儲(chǔ)存芯片的芯片信息。
34、其中,所述基本輸入輸出系統(tǒng)儲(chǔ)存芯片與所述主控器之間通過串行外圍接口總線連接,控制當(dāng)前設(shè)備進(jìn)入關(guān)機(jī)狀態(tài),以實(shí)現(xiàn)所述基本輸入輸出系統(tǒng)儲(chǔ)存芯片與所述主控器斷連,所述基本輸入輸出系統(tǒng)儲(chǔ)存芯片與所述基板管理控制器建連,包括:
35、控制所述當(dāng)前設(shè)備進(jìn)入關(guān)機(jī)狀態(tài),以實(shí)現(xiàn)將所述基本輸入輸出系統(tǒng)儲(chǔ)存芯片的所述串行外圍接口總線由連接所述主控器切換為連接所述基板管理控制器。
36、其中,當(dāng)確定所述基本輸入輸出系統(tǒng)儲(chǔ)存芯片有損壞時(shí),所述方法還包括:
37、發(fā)送芯片切換命令至所述可編程邏輯器件,以使所述可編程邏輯器件將所述基本輸入輸出系統(tǒng)儲(chǔ)存芯片切換至備用基本輸入輸出系統(tǒng)儲(chǔ)存芯片。
38、其中,發(fā)送芯片切換命令至所述可編程邏輯器件,以使所述可編程邏輯器件將所述基本輸入輸出系統(tǒng)儲(chǔ)存芯片切換至備用基本輸入輸出系統(tǒng)儲(chǔ)存芯片之后,還包括:
39、控制所述備用基本輸入輸出系統(tǒng)儲(chǔ)存芯片啟動(dòng),以使所述備用基本輸入輸出系統(tǒng)儲(chǔ)存芯片獲取所述基本輸入輸出系統(tǒng)儲(chǔ)存芯片中的文件數(shù)據(jù)并同步至本地。
40、第二方面,本發(fā)明還公開了一種芯片損壞判定裝置,應(yīng)用于基板管理控制器,所述基板管理控制器與可編程邏輯器件相連,所述可編程邏輯器件連接至主控器的預(yù)設(shè)管腳,所述主控器與基本輸入輸出系統(tǒng)儲(chǔ)存芯片相連,所述裝置包括:
41、獲取模塊,用于當(dāng)接收到上電信號(hào)時(shí),通過所述可編程邏輯器件獲取所述主控器中所述預(yù)設(shè)管腳的管腳狀態(tài);
42、第一判斷模塊,用于判斷所述管腳狀態(tài)是否為預(yù)設(shè)狀態(tài),所述預(yù)設(shè)狀態(tài)由所述基本輸入輸出系統(tǒng)儲(chǔ)存芯片在接收到所述上電信號(hào)時(shí)設(shè)定;
43、第一確定模塊,用于若所述管腳狀態(tài)為所述預(yù)設(shè)狀態(tài),則確定所述基本輸入輸出系統(tǒng)儲(chǔ)存芯片無損壞;
44、第二判斷模塊,用于若所述管腳狀態(tài)不為所述預(yù)設(shè)狀態(tài),則判斷是否可讀取得到所述基本輸入輸出系統(tǒng)儲(chǔ)存芯片的芯片信息;
45、第二確定模塊,用于若可讀取得到所述芯片信息,則確定所述基本輸入輸出系統(tǒng)儲(chǔ)存芯片無損壞;
46、第三確定模塊,用于若不可讀取得到所述芯片信息,則確定所述基本輸入輸出系統(tǒng)儲(chǔ)存芯片有損壞。
47、第三方面,本發(fā)明還公開了一種電子設(shè)備,包括:
48、存儲(chǔ)器,用于存儲(chǔ)計(jì)算機(jī)程序;
49、處理器,用于執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)如上所述的任一種芯片損壞判定方法的步驟。
50、第四方面,本發(fā)明還公開了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上所述的任一種芯片損壞判定方法的步驟。
51、第五方面,本發(fā)明還公開了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序/指令,所述計(jì)算機(jī)程序/指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上所述的任一種芯片損壞判定方法的步驟。
52、本發(fā)明提供了一種芯片損壞判定方法,應(yīng)用于基板管理控制器,所述基板管理控制器與可編程邏輯器件相連,所述可編程邏輯器件連接至主控器的預(yù)設(shè)管腳,所述主控器與基本輸入輸出系統(tǒng)儲(chǔ)存芯片相連,所述方法包括:當(dāng)接收到上電信號(hào)時(shí),通過所述可編程邏輯器件獲取所述主控器中所述預(yù)設(shè)管腳的管腳狀態(tài);判斷所述管腳狀態(tài)是否為預(yù)設(shè)狀態(tài),所述預(yù)設(shè)狀態(tài)由所述基本輸入輸出系統(tǒng)儲(chǔ)存芯片在接收到所述上電信號(hào)時(shí)設(shè)定;若所述管腳狀態(tài)為所述預(yù)設(shè)狀態(tài),則確定所述基本輸入輸出系統(tǒng)儲(chǔ)存芯片無損壞;若所述管腳狀態(tài)不為所述預(yù)設(shè)狀態(tài),則判斷是否可讀取得到所述基本輸入輸出系統(tǒng)儲(chǔ)存芯片的芯片信息;若可讀取得到所述芯片信息,則確定所述基本輸入輸出系統(tǒng)儲(chǔ)存芯片無損壞;若不可讀取得到所述芯片信息,則確定所述基本輸入輸出系統(tǒng)儲(chǔ)存芯片有損壞。
53、應(yīng)用本發(fā)明所提供的技術(shù)方案,在基板管理控制器和主控器之間增設(shè)可編程邏輯器件,并通過基板管理控制器實(shí)現(xiàn)基本輸入輸出系統(tǒng)儲(chǔ)存芯片的損壞判定,當(dāng)基本輸入輸出系統(tǒng)儲(chǔ)存芯片可正常上電時(shí),其會(huì)將主控器與可編程邏輯器件之間的連接管腳設(shè)置為預(yù)設(shè)狀態(tài),因此,基板管理控制器可以通過識(shí)別該連接管腳的管腳狀態(tài)是否為預(yù)設(shè)狀態(tài)來確定基本輸入輸出系統(tǒng)儲(chǔ)存芯片的好壞情況;而當(dāng)管腳狀態(tài)不是預(yù)設(shè)狀態(tài)時(shí),則可以通過判斷是否可以讀取得到基本輸入輸出系統(tǒng)儲(chǔ)存芯片的芯片信息來確定該基本輸入輸出系統(tǒng)儲(chǔ)存芯片是否損壞,顯然,如若可以讀取得到芯片信息,則可以確定基本輸入輸出系統(tǒng)儲(chǔ)存芯片自身無損壞,而是其中所存儲(chǔ)的基本輸入輸出系統(tǒng)軟件代碼有損壞,反之則認(rèn)為基本輸入輸出系統(tǒng)儲(chǔ)存芯片有損壞。由此可見,本技術(shù)方案實(shí)現(xiàn)了更為準(zhǔn)確的芯片損壞判定,且簡(jiǎn)單易實(shí)現(xiàn)。
54、本發(fā)明所提供的芯片損壞判定裝置、電子設(shè)備、計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)以及計(jì)算機(jī)程序產(chǎn)品,同樣具有上述技術(shù)效果,本發(fā)明在此不再贅述。