TWI474163B - 基本輸入輸出系統的存取系統及方法 - Google Patents

基本輸入輸出系統的存取系統及方法 Download PDF

Info

Publication number
TWI474163B
TWI474163B TW101147734A TW101147734A TWI474163B TW I474163 B TWI474163 B TW I474163B TW 101147734 A TW101147734 A TW 101147734A TW 101147734 A TW101147734 A TW 101147734A TW I474163 B TWI474163 B TW I474163B
Authority
TW
Taiwan
Prior art keywords
bios
bios chip
data block
data
chip
Prior art date
Application number
TW101147734A
Other languages
English (en)
Other versions
TW201426282A (zh
Inventor
Chia Lang Chiu
Original Assignee
Hon Hai Prec Ind Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hon Hai Prec Ind Co Ltd filed Critical Hon Hai Prec Ind Co Ltd
Priority to TW101147734A priority Critical patent/TWI474163B/zh
Priority to US14/093,542 priority patent/US9507665B2/en
Publication of TW201426282A publication Critical patent/TW201426282A/zh
Application granted granted Critical
Publication of TWI474163B publication Critical patent/TWI474163B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

基本輸入輸出系統的存取系統及方法
本發明涉及一種基本輸入輸出系統的存取系統及方法。
BIOS(Basic Input Output System,基本輸入輸出系統)是電腦設備在系統初始化時運行的重要程式。在系統初始化時,電腦設備的大部分硬體資源都不能工作。目前,許多的伺服器都提供雙BIOS(Dual BIOS)設計。在伺服器上,一般會有獨立於伺服器主機的中間控制設備,如FPGA(Field Programmable Gate Array,現場可程式邏輯閘陣列)控制器和BMC(Baseboard Management Control,基板管理控制器)等,用於給伺服器提供額外的功能性支援。傳統的伺服器對BIOS的存取方法均是在系統初始化之後,由伺服器的處理器對一BIOS晶片進行BIOS存取操作,存取的效率較低,並且在讀取的BIOS資料發生錯誤時,不能及時對錯誤的資料進行修復,可能給伺服器系統的運行穩定性帶來隱患。
鑒於以上內容,有必要提供一種基本輸入輸出系統的存取系統,應用於伺服器的中間控制設備中,該伺服器包括第一BIOS晶片以及第二BIOS晶片。該系統包括:BIOS讀取模組,用於從第一BIOS 晶片中依次讀取奇數的第一資料塊中的資料以及從第二BIOS晶片中依次讀取偶數的第一資料塊中的資料,然後根據從每個第一資料塊Bn中讀取的資料為該第一資料塊Bn計算一個CRC校驗碼;校驗碼比較模組,用於比較為每個第一資料塊Bn計算得到的CRC校驗碼與該第一資料塊Bn中原始儲存的CRC校驗碼是否相同;緩存模組,用於當為第一資料塊Bn計算得到的CRC校驗碼與該第一資料塊Bn中原始儲存的CRC校驗碼相同時,將從該第一資料塊Bn中讀取的資料存入中間控制設備的緩存中;及修復模組,用於當為第一資料塊Bn計算得到的CRC校驗碼與該第一資料塊Bn中原始儲存的CRC校驗碼不同且該第一資料塊Bn為奇數的第一資料塊時,根據所述第二BIOS晶片的第一資料塊Bn中的資料和CRC校驗碼修復第一BIOS晶片中該第一資料塊Bn中的資料和CRC校驗碼,以及將修復後的第一BIOS晶片中第一資料塊Bn中的資料讀取出來並存入所述緩存中,或當為第一資料塊Bn計算得到的CRC校驗碼與該第一資料塊Bn中原始儲存的CRC校驗碼不同且該第一資料塊Bn為偶數的第一資料塊時,根據所述第一BIOS晶片的第一資料塊Bn中的資料和CRC校驗碼修復第二BIOS晶片中該第一資料塊Bn中的資料和CRC校驗碼,以及將修復後的第二BIOS晶片的第一資料塊Bn中的資料讀取出來並存入所述緩存中。
還有必要提供一種應用於所述中間控制設備的基本輸入輸出系統的存取方法,該方法包括:BIOS讀取步驟,從第一BIOS晶片中依次讀取奇數的第一資料塊中的資料以及從第二BIOS晶片中依次讀取偶數的第一資料塊中的資料,然後根據從每個第一資料塊Bn中讀取的資料為該第一資料塊Bn計算一個CRC校驗碼;校驗碼比較步驟,比較為每個第一資料塊Bn計算得到的CRC校驗碼與該第一 資料塊Bn中原始儲存的CRC校驗碼是否相同;緩存步驟,當為第一資料塊Bn計算得到的CRC校驗碼與該第一資料塊Bn中原始儲存的CRC校驗碼相同時,將從該第一資料塊Bn中讀取的資料存入中間控制設備的緩存中;及修復步驟,當為第一資料塊Bn計算得到的CRC校驗碼與該第一資料塊Bn中原始儲存的CRC校驗碼不同且該第一資料塊Bn為奇數的第一資料塊時,根據所述第二BIOS晶片的第一資料塊Bn中的資料和CRC校驗碼修復第一BIOS晶片中該第一資料塊Bn中的資料和CRC校驗碼,以及將修復後的第一BIOS晶片中第一資料塊Bn中的資料讀取出來並存入所述緩存中,或當為第一資料塊Bn計算得到的CRC校驗碼與該第一資料塊Bn中原始儲存的CRC校驗碼不同且該第一資料塊Bn為偶數的第一資料塊時,根據所述第一BIOS晶片的第一資料塊Bn中的資料和CRC校驗碼修復第二BIOS晶片中該第一資料塊Bn中的資料和CRC校驗碼,以及將修復後的第二BIOS晶片的第一資料塊Bn中的資料讀取出來並存入所述緩存中。
相較於習知技術,本發明的基本輸入輸出系統的存取系統及方法,透過伺服器的中間控制設備輔助實現BIOS的存取。由於該中間控制設備可獨立運行,在伺服器開機初始化的過程中,該中間控制設備即可透過對伺服器的雙BIOS進行平行存取操作,且在存取過程中可及時發現BIOS的資料錯誤並進行自動修復,提高了伺服器的穩定性。
20‧‧‧中間控制設備
21‧‧‧BIOS存取系統
22‧‧‧儲存介質
23‧‧‧微處理器
24‧‧‧緩存
201‧‧‧元資料讀取模組
202‧‧‧資料更新模組
203‧‧‧BIOS讀取模組
204‧‧‧校驗碼比較模組
205‧‧‧緩存模組
206‧‧‧修復模組
圖1為本發明提供的一伺服器的方框示意圖。
圖2為圖1中第一BIOS晶片以及第二BIOS晶片的BIOS儲存空間由多 個資料塊組成的示意圖。
圖3為圖1中的中間控制設備的功能架構圖。
圖4為本發明基本輸入輸出系統的存取方法的流程圖。
如圖1所示,係本發明提供的一伺服器100的示意圖。該伺服器100包括第一BIOS(Basic Input Output System,基本輸入輸出系統)晶片10、第二BIOS晶片11、中間控制設備20以及主機30。所述第一BIOS晶片10以及第二BIOS晶片11各儲存一BIOS鏡像檔,從而實現伺服器100的雙BIOS(Dual BIOS)功能。所述主機30包括伺服器100的主機板31,以及安裝在該主機板31上的記憶體32和處理器33等硬體設備。所述中間控制設備20獨立於主機30運行,用於為伺服器100提供額外的功能性支援,例如對伺服器100的運行狀態進行監控。
本實施例中,所述中間控制設備20為FPGA(Field Programmable Gate Array,現場可程式邏輯閘陣列)控制器或BMC(Baseboard Management Control,基板管理控制器)。所述第一BIOS晶片10、第二BIOS晶片11、中間控制設備20以及主機30相互之間直接或間接地電性連接,以進行資料的傳輸和交互。所述第一BIOS晶片10以及第二BIOS晶片11可為Flash(快閃記憶體)晶片,EPROM(Erasable Programmable ROM,可抹除可程式ROM)晶片或者EEPROM(Electrically Erasable Programmable ROM,電可抹除可程式ROM)晶片。
本實施例中,如圖2所示,所述第一BIOS晶片10以及第二BIOS晶 片11的BIOS儲存空間由多個資料塊(Block)組成。該多個資料塊包括n個第一資料塊及一個第二資料塊。該n個(block 1-block n)第一資料塊分別用於儲存不同的BIOS資料,其中每個第一資料塊包括一個CRC(Cyclic Redundancy Check,迴圈冗餘校驗)欄位,用於儲存一CRC校驗碼。該CRC校驗碼在每個第一資料塊被寫入相應的資料後,根據該第一資料塊中的資料計算而得到,並被寫入到對應的CRC欄位中。第二資料塊儲存有一關於BIOS的描述的元資料(Metadata),該元資料包括一簽名(Signature)資訊、一時間戳(Timestamp)以及一資料長度(Length)資訊。所述簽名資訊用於指示第一BIOS晶片10以及第二BIOS晶片11中儲存的BIOS鏡像檔的格式。所述時間戳代表第一BIOS晶片10以及第二BIOS晶片11中儲存的BIOS鏡像檔的寫入時間,體現了BIOS的版本資訊。所述長度資訊指示第一BIOS晶片10以及第二BIOS晶片11中儲存的BIOS鏡像檔的資料長度或大小。
參閱圖3,為所述中間控制設備20的功能架構示意圖。該中間控制設備20用於在伺服器100開機時,對所述第一BIOS晶片10以及第二BIOS晶片11中儲存的BIOS進行存取操作。該中間控制設備20包括BIOS存取系統21、儲存介質22、微處理器23以及緩存24。該BIOS存取系統21包括元資料讀取模組201、資料更新模組202、BIOS讀取模組203、校驗碼比較模組204、緩存模組205以及修復模組206。該BIOS存取系統21中的各功能模組可以韌體(Firmware)的形式儲存在所述儲存介質22中,並由微處理器23執行。
如圖4所示,係本發明基本輸入輸出系統的存取方法的流程圖。 本發明的基本輸入輸出系統的存取方法並不受限於下述步驟的順序,且其他實施例中,本發明的基本輸入輸出系統的存取方法可以只包括以下所述步驟的其中一部分,以及其中的部分步驟可以被刪除。
步驟S1,當伺服器100開機時,所述元資料讀取模組201讀取第一BIOS晶片10以及第二BIOS晶片11的第二資料塊中的元資料,得到該元資料中的時間戳。
步驟S2,所述資料更新模組202比較第一BIOS晶片10的時間戳與第二BIOS晶片11的時間戳是否相同。若第一BIOS晶片10的時間戳與第二BIOS晶片11的時間戳不同,執行步驟S3。否則,若第一BIOS晶片10的時間戳與第二BIOS晶片11的時間戳相同,則執行步驟S4。
步驟S3,該資料更新模組202更新較早的時間戳對應的BIOS晶片的BIOS鏡像檔和元資料。具體地,該資料更新模組202使用較晚的時間戳對應的BIOS晶片(例如第二BIOS晶片11)的BIOS鏡像檔和元資料對較早的時間戳對應的BIOS晶片(例如第一BIOS晶片10)的BIOS鏡像檔和元資料進行更新。
本實施例中,若第一BIOS晶片10的時間戳早於第二BIOS晶片11的時間戳,該資料更新模組202首先抹除第一BIOS晶片10中的BIOS鏡像檔和元資料,然後將第二BIOS晶片11中的BIOS鏡像檔和元資料複製到第一BIOS晶片10中。反之,若第二BIOS晶片11的時間戳早於第一BIOS晶片10的時間戳,該資料更新模組202首先抹除第二BIOS晶片11中的元資料以及BIOS鏡像檔,然後將第一BIOS晶片10中的BIOS鏡像檔和元資料複製到第二BIOS晶片11中。如此,當 伺服器100因硬體更新等原因需要對第一BIOS晶片10以及第二BIOS晶片11中的BIOS進行更新時,只需將更新檔寫入第一BIOS晶片10以及第二BIOS晶片11的其中之一,然後在伺服器100重新啟動時,該資料更新模組202可自動對另一BIOS晶片中的BIOS進行更新。
此外,當所述第一BIOS晶片10未儲存有BIOS鏡像檔或者儲存的BIOS鏡像檔被損壞而無法讀取時,該資料更新模組202將第二BIOS晶片11中儲存的鏡像檔複製到該第一BIOS晶片10中。以及當所述第二BIOS晶片11未儲存有BIOS鏡像檔或者儲存的BIOS鏡像檔被損壞而無法讀取時,該資料更新模組202將第一BIOS晶片10中儲存的鏡像檔複製到該第二BIOS晶片11中。
步驟S4,所述BIOS讀取模組203從第一BIOS晶片10中依次讀取奇數的第一資料塊中的資料以及從第二BIOS晶片11中依次讀取偶數的第一資料塊中的資料,然後根據從每個第一資料塊Bn中讀取的資料為該第一資料塊Bn計算一個CRC校驗碼。在其他實施例中,也可從第一BIOS晶片10中依次讀取每個偶數的第一資料塊中的資料以及從第二BIOS晶片11中讀取每個奇數的第一資料塊中的資料。本實例中,該BIOS讀取模組203可首先從上述讀取的元資料中包含的簽名資訊獲得第一BIOS晶片10以及第二BIOS晶片11中的BIOS鏡像檔的格式,然後再根據該格式對第一BIOS晶片10以及第二BIOS晶片11中的資料進行讀取。
步驟S5,所述校驗碼比較模組204比較為每個第一資料塊Bn計算得到的CRC校驗碼與該第一資料塊Bn中原始儲存的CRC校驗碼是否相同。若為第一資料塊Bn計算得到的CRC校驗碼與該第一資料塊 Bn中原始儲存的CRC校驗碼相同,執行步驟S6。若為第一資料塊Bn計算得到的CRC校驗碼與該第一資料塊Bn中原始儲存的CRC校驗碼不同,執行步驟S7。
步驟S6,所述緩存模組205將從第一資料塊Bn中讀取的資料存入所述緩存24中。
步驟S7,執行資料修復。具體地,若所述資料塊Bn為奇數的第一資料塊,所述修復模組206根據所述第二BIOS晶片11的資料塊Bn中的資料和CRC校驗碼修復第一BIOS晶片10中該資料塊Bn中的資料和CRC校驗碼,然後將修復後的第一BIOS晶片10中資料塊Bn中的資料讀取出來並存入所述緩存24中;若所述資料塊Bn為偶數的第一資料塊,所述修復模組206根據所述第一BIOS晶片10的資料塊Bn中的資料和CRC校驗碼修復第二BIOS晶片11中該資料塊Bn中的資料和CRC校驗碼,然後將修復後的第二BIOS晶片11的資料塊Bn中的資料讀取出來並存入所述緩存24中。
本實施例中,若為資料塊Bn計算得到的CRC校驗碼與該資料塊Bn中原始儲存的CRC校驗碼不相同,表示讀取的該資料塊Bn中的資料已發生異常,該資料塊Bn中儲存的資料可能已遭到破壞。以該第一資料塊Bn為奇數的第一資料塊為例,該修復模組206可透過以下方式對第一BIOS晶片10中該第一資料塊Bn中的資料和CRC校驗碼進行修復:首先,該修復模組206比較第一BIOS晶片10中該第一資料塊Bn中儲存的CRC校驗碼和第二BIOS晶片11中該第一資料塊Bn中儲存的CRC校驗碼是否相同。若第一BIOS晶片10中該第一資料塊Bn中儲存的CRC校驗碼和第二BIOS晶片11中該第一資料塊Bn中儲存的CRC 校驗碼相同,表示第一BIOS晶片10中該第一資料塊Bn中的資料已被損壞,而CRC校驗碼未發生改變,該修復模組206將第二BIOS晶片11中該第一資料塊Bn中的資料拷貝至第一BIOS晶片10的第一資料塊Bn中,以對該第一BIOS晶片10中第一資料塊Bn的資料進行修復。若第一BIOS晶片10中該第一資料塊Bn中儲存的CRC校驗碼和第二BIOS晶片11中該第一資料塊Bn中儲存的CRC校驗碼不同,則表示第一BIOS晶片10中該第一資料塊Bn中儲存的資料和CRC校驗碼可能均已發生改變。此時,修復模組206將第二BIOS晶片11中第一資料塊Bn中的資料和CRC校驗碼拷貝至第一BIOS晶片10的第一資料塊Bn中,以對該第一BIOS晶片10中該第一資料塊Bn中儲存的資料和CRC校驗碼進行修復。
步驟S8,當伺服器100完成初始化以後,伺服器100的處理器33根據所述緩存24中儲存的資料進行BIOS的存取操作。
綜上所述,本發明使用伺服器100的中間控制設備20輔助實現BIOS的存取,由於該中間控制設備20可獨立運行,在伺服器100開機初始化的過程中,該中間控制設備20即可透過對伺服器100的雙BIOS進行平行存取操作,且在存取過程中可及時發現BIOS的資料錯誤並進行自動修復,提高了伺服器100的穩定性。
最後應說明的是,以上實施方式僅用以說明本發明的技術方案而非限制,儘管參照較佳實施方式對本發明進行了詳細說明,本領域的普通技術人員應當理解,可以對本發明的技術方案進行修改或等同替換,而不脫離本發明技術方案的精神和範圍。
20‧‧‧中間控制設備
21‧‧‧BIOS存取系統
22‧‧‧儲存介質
23‧‧‧微處理器
24‧‧‧緩存
201‧‧‧元資料讀取模組
202‧‧‧資料更新模組
203‧‧‧BIOS讀取模組
204‧‧‧校驗碼比較模組
205‧‧‧緩存模組
206‧‧‧修復模組

Claims (14)

  1. 一種基本輸入輸出系統的存取系統,應用於伺服器的中間控制設備中,該伺服器包括第一BIOS晶片以及第二BIOS晶片,該第一BIOS晶片以及該第二BIOS晶片的BIOS儲存空間包括多個用於儲存BIOS的第一資料塊,該系統包括:BIOS讀取模組,用於從該第一BIOS晶片中依次讀取奇數的該第一資料塊中的資料以及從該第二BIOS晶片中依次讀取偶數的該第一資料塊中的資料,然後根據從每個第一資料塊Bn中讀取的資料為該第一資料塊Bn計算一個CRC校驗碼;校驗碼比較模組,用於比較為每個該第一資料塊Bn計算得到的CRC校驗碼與該第一資料塊Bn中原始儲存的CRC校驗碼是否相同;緩存模組,用於當為該第一資料塊Bn計算得到的CRC校驗碼與該第一資料塊Bn中原始儲存的CRC校驗碼相同時,將從該第一資料塊Bn中讀取的資料存入該中間控制設備的緩存中;及修復模組,用於當為該第一資料塊Bn計算得到的CRC校驗碼與該第一資料塊Bn中原始儲存的CRC校驗碼不同且該第一資料塊Bn為奇數的第一資料塊時,根據所述第二BIOS晶片的第一資料塊Bn中的資料和CRC校驗碼修復該第一BIOS晶片中該第一資料塊Bn中的資料和CRC校驗碼,以及將修復後的該第一BIOS晶片中第一資料塊Bn中的資料讀取出來並存入所述緩存中,或當為該第一資料塊Bn計算得到的CRC校驗碼與該第一資料塊Bn中原始儲存的CRC校驗碼不同且該第一資料塊Bn為偶數的第一資料塊時,根據所述第一BIOS晶片的第一資料塊Bn中的資料和CRC校驗碼修復該第二BIOS晶片中該第一資料塊Bn中的資料和CRC校驗碼,以及將修復後的第 二BIOS晶片的第一資料塊Bn中的資料讀取出來並存入所述緩存中。
  2. 如申請專利範圍第1項所述的基本輸入輸出系統的存取系統,當該伺服器完成初始化後,所述伺服器的處理器根據所述緩存中儲存的資料進行BIOS的存取操作。
  3. 如申請專利範圍第1項所述的基本輸入輸出系統的存取系統,所述第一BIOS晶片以及第二BIOS晶片的BIOS儲存空間還包括一第二資料塊,用於儲存關於BIOS的描述的元資料,該元資料包括一時間戳,該時間戳代表該第一BIOS晶片以及第二BIOS晶片中儲存的BIOS鏡像檔的寫入時間。
  4. 如申請專利範圍第3項所述的基本輸入輸出系統的存取系統,所述第一BIOS晶片以及第二BIOS晶片中儲存的元資料還包括一簽名資訊以及一資料長度資訊,該簽名資訊指示該第一BIOS晶片以及第二BIOS晶片中儲存的BIOS鏡像檔的格式,該長度資訊指示該第一BIOS晶片以及第二BIOS晶片中儲存的BIOS鏡像檔的資料長度或大小。
  5. 如申請專利範圍第3項所述的基本輸入輸出系統的存取系統,該系統還包括:元資料讀取模組,用於當該伺服器開機時,讀取該第一BIOS晶片以及第二BIOS晶片的第二資料塊中儲存的元資料,並從讀取的元資料中獲取該第一BIOS晶片的時間戳與第二BIOS晶片的時間戳;及資料更新模組,用於比較該第一BIOS晶片的時間戳與該第二BIOS晶片的時間戳是否相同,若該第一BIOS晶片的時間戳與該第二BIOS晶片的時間戳不同,使用較晚的時間戳對應的BIOS晶片的BIOS鏡像檔和元資料對較早的時間戳對應的BIOS晶片的BIOS鏡像檔和元資料進行更新。
  6. 如申請專利範圍第5項所述的基本輸入輸出系統的存取系統,所述資料更新模組還用於當所述第一BIOS晶片未儲存有BIOS鏡像檔或者儲存的BIOS鏡像檔被損壞而無法讀取時,將該第二BIOS晶片中儲存的鏡像檔複製到 該第一BIOS晶片中,以及當所述第二BIOS晶片未儲存有BIOS鏡像檔或者儲存的BIOS鏡像檔被損壞而無法讀取時,將該第一BIOS晶片中儲存的鏡像檔複製到該第二BIOS晶片中。
  7. 如申請專利範圍第1項所述的基本輸入輸出系統的存取系統,所述中間控制設備為現場可程式邏輯閘陣列控制器或基板管理控制器。
  8. 一種基本輸入輸出系統的存取方法,應用於伺服器的中間控制設備中,該伺服器包括第一BIOS晶片以及第二BIOS晶片,該第一BIOS晶片以及第二BIOS晶片的BIOS儲存空間包括多個用於儲存BIOS的第一資料塊,該方法包括:BIOS讀取步驟,從該第一BIOS晶片中依次讀取奇數的該第一資料塊中的資料以及從該第二BIOS晶片中依次讀取偶數的該第一資料塊中的資料,然後根據從每個第一資料塊Bn中讀取的資料為該第一資料塊Bn計算一個CRC校驗碼;校驗碼比較步驟,比較為每個第一資料塊Bn計算得到的CRC校驗碼與該第一資料塊Bn中原始儲存的CRC校驗碼是否相同;緩存步驟,當為該第一資料塊Bn計算得到的CRC校驗碼與該第一資料塊Bn中原始儲存的CRC校驗碼相同時,將從該第一資料塊Bn中讀取的資料存入中間控制設備的緩存中;及修復步驟,當為該第一資料塊Bn計算得到的CRC校驗碼與該第一資料塊Bn中原始儲存的CRC校驗碼不同且該第一資料塊Bn為奇數的第一資料塊時,根據所述第二BIOS晶片的第一資料塊Bn中的資料和CRC校驗碼修復該第一BIOS晶片中該第一資料塊Bn中的資料和CRC校驗碼,以及將修復後的第一BIOS晶片中第一資料塊Bn中的資料讀取出來並存入所述緩存中,或當為該第一資料塊Bn計算得到的CRC校驗碼與該第一資料塊Bn中原始儲存的CRC校驗碼不同且該第一資料塊Bn為偶數的第一資料塊時,根據所述第 一BIOS晶片的第一資料塊Bn中的資料和CRC校驗碼修復第二BIOS晶片中該第一資料塊Bn中的資料和CRC校驗碼,以及將修復後的第二BIOS晶片的該第一資料塊Bn中的資料讀取出來並存入所述緩存中。
  9. 如申請專利範圍第8項所述的基本輸入輸出系統的存取方法,當該伺服器完成初始化後,所述伺服器的處理器根據所述緩存中儲存的資料進行BIOS的存取操作。
  10. 如申請專利範圍第8項所述的基本輸入輸出系統的存取方法,所述第一BIOS晶片以及第二BIOS晶片的BIOS儲存空間還包括一第二資料塊,用於儲存關於BIOS的描述的元資料,該元資料包括一時間戳,該時間戳代表該第一BIOS晶片以及該第二BIOS晶片中儲存的BIOS鏡像檔的寫入時間。
  11. 如申請專利範圍第1O項所述的基本輸入輸出系統的存取方法,所述第一BIOS晶片以及第二BIOS晶片中儲存的元資料還包括一簽名資訊以及一資料長度資訊,該簽名資訊指示該第一BIOS晶片以及該第二BIOS晶片中儲存的BIOS鏡像檔的格式,該長度資訊指示該第一BIOS晶片以及該第二BIOS晶片中儲存的BIOS鏡像檔的資料長度或大小。
  12. 如申請專利範圍第10項所述的基本輸入輸出系統的存取方法,該方法還包括:元資料讀取步驟,當伺服器開機時,讀取該第一BIOS晶片以及該第二BIOS晶片中儲存的元資料,並從讀取的元資料中獲取該第一BIOS晶片的時間戳與該第二BIOS晶片的時間戳;及資料更新步驟,比較該第一BIOS晶片的時間戳與該第二BIOS晶片的時間戳是否相同,若該第一BIOS晶片的時間戳與該第二BIOS晶片的時間戳不同,使用較晚的時間戳對應的BIOS晶片的BIOS鏡像檔和元資料對較早的時間戳對應的BIOS晶片的BIOS鏡像檔和元資料進行更新。
  13. 如申請專利範圍第12項所述的基本輸入輸出系統的存取方法,該方法還 包括:當所述第一BIOS晶片未儲存有BIOS鏡像檔或者儲存的BIOS鏡像檔被損壞而無法讀取時,將該第二BIOS晶片中儲存的鏡像檔複製到該第一BIOS晶片中;及當所述第二BIOS晶片未儲存有BIOS鏡像檔或者儲存的BIOS鏡像檔被損壞而無法讀取時,將該第一BIOS晶片中儲存的鏡像檔複製到該第二BIOS晶片中。
  14. 如申請專利範圍第8項所述的基本輸入輸出系統的存取方法,所述中間控制設備為現場可程式邏輯閘陣列控制器或基板管理控制器。
TW101147734A 2012-12-17 2012-12-17 基本輸入輸出系統的存取系統及方法 TWI474163B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW101147734A TWI474163B (zh) 2012-12-17 2012-12-17 基本輸入輸出系統的存取系統及方法
US14/093,542 US9507665B2 (en) 2012-12-17 2013-12-02 Computing device and method for accessing BIOS using middleware controller of the computing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW101147734A TWI474163B (zh) 2012-12-17 2012-12-17 基本輸入輸出系統的存取系統及方法

Publications (2)

Publication Number Publication Date
TW201426282A TW201426282A (zh) 2014-07-01
TWI474163B true TWI474163B (zh) 2015-02-21

Family

ID=50932400

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101147734A TWI474163B (zh) 2012-12-17 2012-12-17 基本輸入輸出系統的存取系統及方法

Country Status (2)

Country Link
US (1) US9507665B2 (zh)
TW (1) TWI474163B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104407689A (zh) * 2014-11-14 2015-03-11 英业达科技有限公司 计算器***及其上电方法与更新方法
WO2016175756A1 (en) * 2015-04-28 2016-11-03 Hewlett Packard Enterprise Development Lp Hardware for system firmware use
US9846617B2 (en) 2015-05-07 2017-12-19 Dell Products, Lp System and method for self-healing basic input/output system boot image and secure recovery
US11500978B2 (en) 2018-07-31 2022-11-15 Hewlett-Packard Development Company, L.P. Password updates

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6185696B1 (en) * 1996-07-29 2001-02-06 Micron Electronics, Inc. System for a primary BIOS ROM recovery in a dual BIOS ROM computer system
US6651188B2 (en) * 2001-06-29 2003-11-18 Intel Corporation Automatic replacement of corrupted BIOS image
CN1595372A (zh) * 2003-09-12 2005-03-16 翁嘉联 一种改进bios执行的方法
EP2124151A1 (en) * 2006-12-18 2009-11-25 Nternational Business Machines Corporation Information processing system and method for starting/recovering the system
CN101661378B (zh) * 2008-08-29 2011-09-21 智微科技股份有限公司 用以提高读取效率的磁盘阵列1***及读取方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7668612B1 (en) * 2003-09-18 2010-02-23 Hewlett-Packard Development Company, L.P. System and method for efficient manufacture and update of electronic devices
JP2006031884A (ja) * 2004-07-20 2006-02-02 Toshiba Corp 情報記憶媒体、情報記録再生装置、情報再生装置、情報記録方法、情報再生方法
US7600143B1 (en) * 2004-08-19 2009-10-06 Unisys Corporation Method and apparatus for variable delay data transfer
US7900036B2 (en) * 2006-12-18 2011-03-01 International Business Machines Corporation System and method for implementing boot/recovery on a data processing sysem
CN100451967C (zh) 2007-02-14 2009-01-14 威盛电子股份有限公司 基本输入输出***文件切换方法及可支持其切换的控制器
KR100954946B1 (ko) 2008-05-20 2010-04-27 주식회사 하이닉스반도체 불휘발성 메모리 소자의 소거 방법
US8151101B2 (en) * 2008-11-06 2012-04-03 Lenovo (Singapore) Pte. Ltd. Method, apparatus, and system for quiescing a boot environment
US8634240B2 (en) * 2009-10-28 2014-01-21 SanDisk Technologies, Inc. Non-volatile memory and method with accelerated post-write read to manage errors
CN102253866B (zh) 2010-05-20 2013-09-11 英业达科技有限公司 一种多主机板服务器
US20120011393A1 (en) * 2010-07-06 2012-01-12 Roberts Richard B Bios recovery

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6185696B1 (en) * 1996-07-29 2001-02-06 Micron Electronics, Inc. System for a primary BIOS ROM recovery in a dual BIOS ROM computer system
US6651188B2 (en) * 2001-06-29 2003-11-18 Intel Corporation Automatic replacement of corrupted BIOS image
CN1595372A (zh) * 2003-09-12 2005-03-16 翁嘉联 一种改进bios执行的方法
EP2124151A1 (en) * 2006-12-18 2009-11-25 Nternational Business Machines Corporation Information processing system and method for starting/recovering the system
CN101661378B (zh) * 2008-08-29 2011-09-21 智微科技股份有限公司 用以提高读取效率的磁盘阵列1***及读取方法

Also Published As

Publication number Publication date
TW201426282A (zh) 2014-07-01
US20140173267A1 (en) 2014-06-19
US9507665B2 (en) 2016-11-29

Similar Documents

Publication Publication Date Title
US10191676B2 (en) Scalable storage protection
US6976197B2 (en) Apparatus and method for error logging on a memory module
JP4901987B1 (ja) 記憶装置、電子機器及び誤りデータの訂正方法
US8726126B2 (en) Non-regular parity distribution detection via metadata tag
US7945815B2 (en) System and method for managing memory errors in an information handling system
US20190129774A1 (en) Firmware event tracking for nand-based storage devices, and methods and instruction sets for performing the same
TWI490876B (zh) 系統啟動引導處理方法及裝置
WO2019174205A1 (zh) 一种垃圾回收的方法、装置及存储设备
US9323626B2 (en) Resource integrity during partial backout of application updates
TW201520895A (zh) Bios自動恢復系統及方法
US20180113633A1 (en) Method and system for efficient cache buffering in a system having parity arms to enable hardware acceleration
TWI474163B (zh) 基本輸入輸出系統的存取系統及方法
KR102391678B1 (ko) 저장 장치 및 그것의 서스테인드 상태 가속 방법
TWI537734B (zh) 資料保護方法、記憶體控制器與記憶體儲存裝置
CN103475514B (zh) 无bmc的节点、集群***及bios修复和升级方法
KR102437777B1 (ko) 데이터의 사일런트 커럽션을 감지하는 시스템들 및 그것의 동작 방법들
JP2013171343A (ja) ストレージデバイス
US20150169668A1 (en) Single Pass File System Repair With Copy On Write
CN103870355B (zh) Bios存取***及方法
US10740202B2 (en) System and method for efficient comparison of mirrored storage devices
WO2015078192A1 (zh) 一种数据处理方法及设备
JP2007272551A (ja) キャッシュメモリ制御装置、方法及びプログラム並びにディスクアレイ装置
US8626992B2 (en) Storage device with identification information
US9128887B2 (en) Using a buffer to replace failed memory cells in a memory component
JP2005149291A (ja) ファイルシステム、そのプログラム及び情報処理システム

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees