Bios自動恢復(fù)系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種計算機(jī)系統(tǒng)錯誤恢復(fù)系統(tǒng)及方法,特別是關(guān)于一種B1S自動恢復(fù)系統(tǒng)及方法。
【背景技術(shù)】
[0002]使用者在更新計算機(jī)系統(tǒng)中的SPI (Serial Peripheral Interface) ROM芯片中的B1S時必須承擔(dān)一些風(fēng)險,若不幸于更新B1S的過程中失敗,就有可能會導(dǎo)致計算機(jī)系統(tǒng)無法開機(jī)。一般解決的方案通常得送回原SPIROM芯片廠商進(jìn)行B1S修復(fù),該解決方案既費時又沒有效率。而非預(yù)期的SPI ROM芯片損壞所造成的計算機(jī)系統(tǒng)無法開機(jī),這會讓SPIROM芯片廠商的維修付出極高的成本代價。然而,業(yè)界通常使用雙B1S (熟稱Dual B1S)或四顆B1S (熟稱Quad B1S)的設(shè)計來確保計算機(jī)系統(tǒng)正常開機(jī),但需要額外的SPI ROM芯片,而且于主機(jī)板上還需要更多數(shù)量的針腳(foot print)的設(shè)計空間,從而會增加主機(jī)板設(shè)計的費用成本,需要一種低成本高效率的B1S恢復(fù)方法,而無需額外的成本。
【發(fā)明內(nèi)容】
[0003]鑒于以上內(nèi)容,有必要提供一種B1S自動恢復(fù)系統(tǒng)及方法,當(dāng)計算機(jī)中SPI ROM芯片上的B1S資料被損壞時,能夠自動修復(fù)SPI ROM芯片上損壞的B1S資料。
[0004]所述的B1S自動恢復(fù)系統(tǒng)運行于計算機(jī)中,該計算機(jī)包括SPI ROM芯片、S1控制器及存儲器,該SPI ROM芯片存儲有B1S啟動塊及B1S程序,該S1控制器存儲有備用的B1S啟動塊,該存儲器存儲有備份B1S資料,所述的B1S自動恢復(fù)系統(tǒng)包括:B10S檢測模塊,用于當(dāng)使用者按下計算機(jī)的開機(jī)按鈕上電時,檢查SPI ROM芯片中主B1S程序的完整性,并判斷所述主B1S程序是全部被損壞還是部份已被損壞;及B1S恢復(fù)模塊,用于當(dāng)主B1S程序全部被損壞時,利用S1控制器中的B1S啟動塊來啟動計算機(jī),當(dāng)主B1S程序部份被損壞時,利用SPI ROM芯片中的B1S啟動塊來啟動計算機(jī),從存儲器中讀取備份B1S資料,并將該備份B1S資料寫入SPI ROM芯片中來更新已損壞的主B1S程序。
[0005]所述的B1S自動恢復(fù)方法運行于計算機(jī)中,該計算機(jī)包括SPI ROM芯片、S1控制器及存儲器,該SPI ROM芯片存儲有B1S啟動塊及B1S程序,該S1控制器存儲有備用的B1S啟動塊,該存儲器存儲有備份B1S資料。該方法包括步驟:當(dāng)使用者按下計算機(jī)的開機(jī)按鈕上電時,檢查SPI ROM芯片中主B1S程序的完整性;判斷所述主B1S程序是全部被損壞還是部份已被損壞;當(dāng)主B1S程序全部被損壞時,利用S1控制器中的B1S啟動塊來啟動計算機(jī);當(dāng)主B1S程序部份被損壞時,利用SPI ROM芯片中的B1S啟動塊來啟動計算機(jī);從存儲器中讀取備份B1S資料,并將該備份B1S資料寫入SPI ROM芯片中來更新已損壞的主B1S程序。
[0006]相較于現(xiàn)有技術(shù),本發(fā)明所述的B1S自動恢復(fù)系統(tǒng)及方法,當(dāng)計算機(jī)中SPI ROM芯片上的B1S資料被損壞時,能夠藉由S1控制器中的B1S啟動塊利用存儲器中備用B1S資料來自動修復(fù)SPI ROM芯片上損壞的B1S資料,從而使計算機(jī)正常地開機(jī)啟動。
【附圖說明】
[0007]圖1是本發(fā)明B1S自動恢復(fù)系統(tǒng)較佳實施例的運行環(huán)境示意圖。
[0008]圖2是本發(fā)明B1S自動恢復(fù)系統(tǒng)的功能模塊圖。
[0009]圖3是本發(fā)明B1S自動恢復(fù)方法較佳實施例的流程圖。
[0010]主要元件符號說明
[0011]計算機(jī)100
[0012]中央處理器I
[0013]SPI 總線11
[0014]SATA 總線12
[0015]LPC 總線13
[0016]SPI ROM 芯片2
[0017]B1S 啟動塊20
[0018]主B1S 程序21
[0019]存儲器3
[0020]備份B1S資料30
[0021]S1 控制器4
[0022]B1S自動恢復(fù)系統(tǒng)40
[0023]B1S 檢測模塊401
[0024]B1S 恢復(fù)模塊402
[0025]B1S 啟動模塊403
[0026]信息提示模塊404
[0027]顯示器5
【具體實施方式】
[0028]參閱圖1所示,是本發(fā)明B10S(Basic input-output system,基本輸入輸出系統(tǒng))自動恢復(fù)系統(tǒng)40較佳實施例的運行環(huán)境示意圖。在本實施例中,所述的B1S自動恢復(fù)系統(tǒng)40安裝并運行于計算機(jī)100中,該計算機(jī)100包括,但不僅限于,中央處理器(CPU)USPI(Serial Peripheral Interface,串行通訊接口)ROM 芯片 2、存儲器 3、S1 (Supper 1/0,超級1/0)控制器4及顯示器5。所述SPI ROM芯片2藉由SPI總線11與中央處理器I相連接,所述的存儲器3藉由SATA總線(SATA Bus)12與中央處理器I相連接,及所述S1控制器4藉由LPC (Low Pin Count)總線13與中央處理器I相連接。在本實施例中,所述的計算機(jī)100可以為一種個人計算機(jī)(PC)、工作站計算機(jī)(Workstat1n computer)、筆記本計算機(jī)(Notebook)、服務(wù)器(Server)或者其它電子計算裝置。
[0029]所述的SPI ROM芯片2用從存儲B1S啟動塊(B1S Boot Block)20及主B1S程序21。當(dāng)使用者按下計算機(jī)100的開機(jī)按鈕上電時,該B1S啟動塊20用于執(zhí)行主B1S程序21對計算機(jī)100進(jìn)行系統(tǒng)開機(jī)啟動過程。在計算機(jī)100開機(jī)啟動時,該主B1S程序21用于對計算機(jī)100進(jìn)行開機(jī)自檢(Power On Self Test,POST)過程并引導(dǎo)計算機(jī)100正常導(dǎo)入操作系統(tǒng)(OS)而完成整個開機(jī)過程。
[0030]所述的存儲器3存儲有備份B1S資料30,當(dāng)SPI ROM芯片2中的主B1S程序21被損壞時,該備份B1S資料30用于更新所述主B1S程序21。在本實施例中,所述的存儲器3可以為內(nèi)存(memory)、Flash存儲器(Flash ROM)、硬盤(Hard disk)或其它磁盤等。
[0031]所述的S1控制器4系一種位于LPC下的一個嵌入式超級1/0控制器(EmbeddedController),其具有對計算機(jī)100各種硬件進(jìn)行監(jiān)控管理(Hardware Monitor)與通訊的功能,例如偵測并管理硬盤機(jī)、打印機(jī)、電源、顯示器、及相關(guān)串行端口(COM&Serial port)等功能。該S1控制器4中存儲有備用的B1S啟動塊20,該S1控制器4中存儲的B1S啟動塊20與SPI ROM芯片2上的B1S啟動塊20完全相同。
[0032]所述的B1S自動恢復(fù)系統(tǒng)40存儲于S1控制器4中的Flash閃存(例如FlashROM)中,當(dāng)SPI ROM芯片2上的主B1S程序21被損壞時,該B1S自動恢復(fù)系統(tǒng)40使用S1控制器4中備用的B1S啟動塊20來做最精簡的開機(jī)過程,并利用存儲器3中的備份B1S資料30來修復(fù)SPI ROM芯片2上損壞的主B1S程序21,從而使計算機(jī)100正常地完成整個開機(jī)啟動過程。
[0033]參閱圖2所示,是本發(fā)明B1S自動恢復(fù)系統(tǒng)40的功能模塊圖。在本實施例中,所述的B1S自動恢復(fù)系統(tǒng)40包括B1S檢測模塊401、B10S恢復(fù)模塊402、B10S啟動模塊403及信息提示模塊404。本發(fā)明所稱的功能模塊是指一種能夠被計算機(jī)100的中央處理器I所執(zhí)行并且能夠完成固定功能的一系列程序指令段,其存儲于計算機(jī)100的存儲器3或S1控制器4的Flash內(nèi)存中。在本實施例中,所述的B1S自動恢復(fù)系統(tǒng)40存儲于S1控