TWI807521B - Warning method - Google Patents

Warning method Download PDF

Info

Publication number
TWI807521B
TWI807521B TW110145626A TW110145626A TWI807521B TW I807521 B TWI807521 B TW I807521B TW 110145626 A TW110145626 A TW 110145626A TW 110145626 A TW110145626 A TW 110145626A TW I807521 B TWI807521 B TW I807521B
Authority
TW
Taiwan
Prior art keywords
volatile memory
smbios
unreadable
string
warning method
Prior art date
Application number
TW110145626A
Other languages
Chinese (zh)
Other versions
TW202324157A (en
Inventor
黃博文
張凱威
Original Assignee
神雲科技股份有限公司
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 神雲科技股份有限公司 filed Critical 神雲科技股份有限公司
Priority to TW110145626A priority Critical patent/TWI807521B/en
Publication of TW202324157A publication Critical patent/TW202324157A/en
Application granted granted Critical
Publication of TWI807521B publication Critical patent/TWI807521B/en

Links

Images

Abstract

A warning method includes: checking whether there is an garbled string in a plurality of types of an SMBIOS in the process of power on self-test(POST); when it is determined that there is the garbled string in the type, saving a corresponding error message in a system event log(SEL); when the error message is recorded in the SEL, changing an error flag stored in a non-volatile memory unit from a first logical value to a second logical value; continuing to execute a boot procedure. In this way, the user or developer can instantly know that the SMBIOS contains the garbled string through the SEL, and can correct and debug as soon as possible.

Description

警示方法Warning method

本發明是有關於一種警示方法,特別是指一種用於辨識系統管理基本輸入輸出系統(System management basic input/ output system,SMBIOS)遭到篡改的警示方法。The present invention relates to a warning method, in particular to a warning method for identifying tampered system management basic input/output system (SMBIOS).

Smbios(System management bios)是主機板或者系統製造廠商以標準格式顯示產品資訊所遵循的統一規範,在電腦系統中, SMBIOS的輸入或更新通常是藉由第三方軟體(Third-part tool)執行寫入的程序,但有時候因為人為或軟體本身的因素會在寫入的過程中產生不可識字元(即ASCII 0x00~0x1F),導致SMBIOS被篡改(garbled)。舉例來說,當SMBIOS的第1結構表(Type 1)出現不可識字元時,將造成系統資訊錯誤,而此錯誤通常不易被使用者或開發人員察覺。又例如當第16結構表(Type 16)或第19結構表(Type 19)出現不可識字元時,也會導致系統在作WHQL(Windows Hardware Quality Labs testing)認證時無法通過驗證。由於這些錯誤往往不會導致系統立即發生嚴重的問題而無法運作,使得使用者或開發人員在第一時間失去除錯的機會,進而導致後續除錯的困難與耗時,因而成為一個不易察覺的潛在問題。Smbios (System management bios) is a unified specification followed by motherboard or system manufacturers to display product information in a standard format. In computer systems, the input or update of SMBIOS is usually performed by third-part software (Third-part tool). However, sometimes due to human or software factors, unrecognizable characters (ie ASCII 0x00~0x1F) will be generated during the writing process, resulting in SMBIOS being tampered with (garbled). For example, when unreadable characters appear in the first structure table (Type 1) of SMBIOS, it will cause system information error, and this error is usually not easy to be noticed by users or developers. For another example, when unreadable characters appear in the 16th structure table (Type 16) or the 19th structure table (Type 19), it will also cause the system to fail to pass the WHQL (Windows Hardware Quality Labs testing) certification. Because these errors often do not lead to serious problems in the system immediately and make the system unable to operate, users or developers lose the opportunity to debug errors at the first time, which in turn leads to difficulties and time-consuming subsequent debugging, thus becoming an undetectable potential problem.

因此,本發明的目的,即在提供一種用於SMBIOS遭到篡改的警示方法。Therefore, the object of the present invention is to provide a warning method for SMBIOS being tampered with.

於是,本發明提供一種警示方法,適用於一電腦系統並藉由該電腦系統實施,該電腦系統包括一基本輸入輸出系統、對應該基本輸入輸出系統的一第一非揮發性記憶體、一基板管理控制器、及對應該基板管理控制器的一第二非揮發性記憶體。該警示方法包含步驟(A)~(D)。Therefore, the present invention provides a warning method, which is suitable for a computer system and implemented by the computer system. The computer system includes a BIOS, a first non-volatile memory corresponding to the BIOS, a baseboard management controller, and a second non-volatile memory corresponding to the baseboard management controller. The warning method includes steps (A) to (D).

於步驟(A),在開機自我檢測(Power On Self-Test,POST)的過程中,檢查一系統管理基本輸入輸出系統(System management basic input/output system,SMBIOS)的多個結構表(Type)是否存在一不可識字串(Garbled string)。In step (A), in the process of Power On Self-Test (POST), check whether there is a Garbled string in multiple structure tables (Type) of a system management basic input/output system (SMBIOS).

於步驟(B),當判斷其中一個該結構表存在該不可識字串時,記錄對應的一錯誤訊息於一系統事件記錄(System event log,SEL),並將該系統事件記錄儲存於該第二非揮發性記憶體。In step (B), when it is determined that the unreadable string exists in one of the structure tables, a corresponding error message is recorded in a system event log (System event log, SEL), and the system event log is stored in the second non-volatile memory.

於步驟(C),當該錯誤訊息被記錄至該系統事件記錄時,將該第一非揮發性記憶體所儲存的一錯誤旗標由一第一邏輯值改為一第二邏輯值。In step (C), when the error message is recorded in the system event log, an error flag stored in the first non-volatile memory is changed from a first logic value to a second logic value.

於步驟(D),繼續執行一開機程序。In step (D), continue to execute a boot procedure.

在一些實施態樣中,該警示方法還包含在步驟(A)及(D)之間的步驟(E),當判斷任何一個該結構表都不存在該不可識字串時,且判斷該錯誤旗標的邏輯值等於該第一邏輯值時,執行步驟(D)。In some implementation aspects, the warning method also includes a step (E) between steps (A) and (D), when it is judged that the unreadable character string does not exist in any of the structure tables, and when it is judged that the logical value of the error flag is equal to the first logical value, step (D) is executed.

在一些實施態樣中,該警示方法還包含在步驟(A)及(D)之間的步驟(F),當判斷任何一個該結構表都不存在該不可識字串時,且判斷該錯誤旗標的邏輯值等於該第二邏輯值時,將該第一非揮發性記憶體所儲存的該錯誤旗標由該第二邏輯值改為該第一邏輯值,接著,執行步驟(D)。In some implementations, the warning method further includes a step (F) between steps (A) and (D). When it is judged that the unreadable character string does not exist in any of the structure tables, and it is judged that the logic value of the error flag is equal to the second logic value, the error flag stored in the first non-volatile memory is changed from the second logic value to the first logic value, and then step (D) is performed.

在一些實施態樣中,其中,在步驟(F)中,在將該第一非揮發性記憶體所儲存的該錯誤旗標由該第二邏輯值改為該第一邏輯值之後,記錄對應的一修復訊息於該系統事件記錄,並將該系統事件記錄儲存於該第二非揮發性記憶體。In some implementation aspects, wherein, in step (F), after the error flag stored in the first non-volatile memory is changed from the second logic value to the first logic value, a corresponding recovery message is recorded in the system event record, and the system event record is stored in the second non-volatile memory.

在一些實施態樣中,其中,在步驟(A)中,該不可識字串所對應的ASCII碼是0x00至0x1F之其中任一者。In some implementation aspects, wherein, in step (A), the ASCII code corresponding to the unreadable string is any one of 0x00 to 0x1F.

在一些實施態樣中,其中,該基本輸入輸出系統儲存有該SMBIOS,該第二揮發性記憶體儲存有該SMBIOS。其中,在步驟(A)中,該電腦系統是檢查該基本輸入輸出系統所儲存的該SMBIOS及該第二揮發性記憶體所儲存的該SMBIOS,並判斷存在該不可識字串的該SMBIOS是來自該基本輸入輸出系統或該第二揮發性記憶體。在步驟(B)中,該錯誤訊息包括一第2事件資料(Event data 2),該第2事件資料指示該SMBIOS是來自該第二非揮發性記憶體或該基本輸入輸出系統。In some implementation aspects, the SMBIOS is stored in the BIOS, and the SMBIOS is stored in the second volatile memory. Wherein, in step (A), the computer system checks the SMBIOS stored in the BIOS and the SMBIOS stored in the second volatile memory, and determines that the SMBIOS with the unreadable string is from the BIOS or the second volatile memory. In step (B), the error message includes a second event data (Event data 2), and the second event data indicates that the SMBIOS is from the second non-volatile memory or the BIOS.

在一些實施態樣中,其中,在步驟(B)中,該電腦系統還顯示該錯誤訊息,以指示存在該不可識字串的該SMBIOS是來自該第二非揮發性記憶體或該基本輸入輸出系統。In some implementation aspects, wherein, in step (B), the computer system also displays the error message to indicate that the SMBIOS with the unreadable string is from the second non-volatile memory or the BIOS.

在另一些實施態樣中,其中,在步驟(B)中,該錯誤訊息還包括一第3事件資料(Event data 3),當該第3事件資料等於30h、31h、32h、33h、或34h時,分別指示該不可識字串發生在該等結構表中的一第1結構表(Type 1)的一產品製造商資訊、一產品名稱資訊、一產品模組號碼資訊、一產品版本資訊、或一產品序號資訊。In some other implementations, wherein, in step (B), the error message further includes a 3rd event data (Event data 3), when the 3rd event data is equal to 30h, 31h, 32h, 33h, or 34h, indicating that the unreadable character string occurs in a product manufacturer information, a product name information, a product module number information, a product version information, or a product serial number information in a first structure table (Type 1) in the structure tables respectively .

在一些實施態樣中,其中,在步驟(B)中,當該第3事件資料等於20h、21h、22h、或23h時,分別指示該不可識字串發生在該等結構表中的一第2結構表(Type 2)的一主板製造商資訊、一主板名稱資訊、一主板序號資訊、或一主板料號資訊。In some implementations, wherein, in step (B), when the 3rd event data is equal to 20h, 21h, 22h, or 23h, respectively indicate that the unreadable string occurs in a motherboard manufacturer information, a motherboard name information, a motherboard serial number information, or a motherboard material number information of a second structure table (Type 2) in the structure tables.

在一些實施態樣中,其中,在步驟(B)中,當該第3事件資料等於10h、11h、或12h時,分別指示該不可識字串發生在該等結構表中的一第3結構表(Type 3)的一機殼型式資訊、一機殼料號資訊、或一機殼序號資訊。In some implementations, wherein, in step (B), when the third event data is equal to 10h, 11h, or 12h, it indicates that the unreadable character string occurs in a casing type information, a casing material number information, or a casing serial number information of a third structure table (Type 3) in the structure tables, respectively.

本發明的功效在於:藉由該電腦系統在該開機自我檢測的過程中,在判斷該等結構表存在該不可識字串時,於該非揮發性記憶體單元所儲存的該系統事件記錄中,記錄對應的該錯誤訊息及該錯誤旗標,使得使用者或開發人員能夠即時地知悉此錯誤的發生,進而能夠盡快地修正與除錯。The effect of the present invention is that: when the computer system judges that the structure table has the unreadable character string in the process of self-testing at power-on, it records the corresponding error message and the error flag in the system event record stored in the non-volatile memory unit, so that the user or developer can know the occurrence of the error in real time, and then can correct and debug it as soon as possible.

在本發明被詳細描述之前,應當注意在以下的說明內容中,類似的元件是以相同的編號來表示。Before the present invention is described in detail, it should be noted that in the following description, similar elements are denoted by the same numerals.

參閱圖1,本發明警示方法之一實施例,適用於一電腦系統。該電腦系統例如是一伺服主機,並包括一晶片組(PCH)1、一電連接該晶片組1的中央處理器(CPU)2、一電連接該晶片組1的基板管理控制器(Baseboard management controller,BMC)3、一電連接該晶片組1的基本輸入輸出系統(BIOS)4、一電連接該基本輸入輸出系統4的第一非揮發性記憶體5、及一電連接該基板管理控制器3的第二非揮發性記憶體6。該基本輸入輸出系統4例如是一晶片(Chip或IC),並儲存有一系統管理基本輸入輸出系統(System management basic input/output system,SMBIOS)。該第一非揮發性記憶體5及該第二非揮發性記憶體6例如都是一種電子抹除式可複寫唯讀記憶體(EEPROM),該第一非揮發性記憶體5也儲存有該SMBIOS,並還儲存一錯誤旗標。Referring to FIG. 1 , an embodiment of the warning method of the present invention is applicable to a computer system. The computer system is, for example, a server host, and includes a chip set (PCH) 1, a central processing unit (CPU) 2 electrically connected to the chip set 1, a baseboard management controller (BMC) 3 electrically connected to the chip set 1, a basic input output system (BIOS) 4 electrically connected to the chip set 1, a first non-volatile memory 5 electrically connected to the BIOS 4, and a second non-volatile memory 6 electrically connected to the baseboard management controller 3. The BIOS 4 is, for example, a chip (Chip or IC), and stores a system management basic input/output system (SMBIOS). The first non-volatile memory 5 and the second non-volatile memory 6 are, for example, an electronically erasable rewritable read-only memory (EEPROM). The first non-volatile memory 5 also stores the SMBIOS and also stores an error flag.

當該基本輸入輸出系統4所儲存的該SMBIOS需要更新時,一使用者或一開發人員能夠藉由另一電腦主機與該電腦系統的該基板管理控制器3建立連線,而採用遠端登入的方式利用一第三方軟體(Third-part tool),以在該第二非揮發性記憶體6寫入較新版本的該SMBIOS,之後,較新版本的該SMBIOS再被同步更新至該基本輸入輸出系統4中,或者,藉由該電腦系統以在地端的方式利用另一第三方軟體,來對該基本輸入輸出系統4所儲存的該SMBIOS執行寫入程序以作更新。此時,該第二非揮發性記憶體6或該基本輸入輸出系統4所儲存的該SMBIOS可能會發生如先前技術的錯誤問題。該警示方法包含步驟S1~S11。When the SMBIOS stored in the basic input output system 4 needs to be updated, a user or a developer can establish a connection with the baseboard management controller 3 of the computer system through another computer host, and use a third-part tool in a remote login mode to write a newer version of the SMBIOS in the second non-volatile memory 6. After that, the newer version of the SMBIOS is synchronously updated to the basic input output system 4 again, or, through the computer system on the ground The mode utilizes another third-party software to execute the write program for the SMBIOS stored in the basic input output system 4 to update. At this time, the SMBIOS stored in the second non-volatile memory 6 or the BIOS 4 may have an error problem as in the prior art. The warning method includes steps S1-S11.

於步驟S1,在開機過程中,該中央處理器2讀取該基本輸入輸出系統4的程式碼,以執行一開機程序的一開機自我檢測(Power On Self-Test,POST)。In step S1, during the booting process, the CPU 2 reads the program code of the BIOS 4 to execute a Power On Self-Test (POST) of a booting procedure.

於步驟S2,該中央處理器2檢查該SMBIOS的多個結構表(Type)是否存在一不可識字串(Garbled string)。更詳細地說,該中央處理器2是檢查該基本輸入輸出系統4所儲存的該SMBIOS及該第二揮發性記憶體6所儲存的該SMBIOS。該SMBIOS總共包括128個結構表,即一第0結構表(Type 0)至一第127結構表(Type 127),該警示方法能夠預先設定所要檢查的該等結構表是全部128個結構表之其中的哪些結構表,或是全部的結構表。在本實施例中,所要檢查的該等結構表是該第1結構表(Type 1)、一第2結構表(Type 2)、及一第3結構表(Type 3)。In step S2, the central processing unit 2 checks whether there is a garbage string in the structure tables (Type) of the SMBIOS. More specifically, the CPU 2 checks the SMBIOS stored in the BIOS 4 and the SMBIOS stored in the second volatile memory 6 . The SMBIOS includes 128 structure tables in total, namely a 0th structure table (Type 0) to a 127th structure table (Type 127), and the warning method can pre-set which structure tables among all 128 structure tables, or all structure tables, to be checked. In this embodiment, the structure tables to be checked are the first structure table (Type 1), a second structure table (Type 2), and a third structure table (Type 3).

該不可識字串所對應的ASCII碼是0x00至0x1F之其中任一者。具體地說,對應ASCII碼是0x00~0x0F的16個該不可識字串分別是NUL、SOH、STX、ETX、EOT、ENQ、ACK、BEL、BS、HT、LF、VT、FF、CR、SO、及S1,對應ASCII碼是0x10~0x1F的16個該不可識字串分別是DLE、DC1、DC2、DC3、DC4、NAK、SYN、ETB、CAN、EM、SUB、ESC、FS、GS、RS、及US。The ASCII code corresponding to the unreadable string is any one of 0x00 to 0x1F. Specifically, the 16 unreadable strings corresponding to ASCII codes 0x00~0x0F are NUL, SOH, STX, ETX, EOT, ENQ, ACK, BEL, BS, HT, LF, VT, FF, CR, SO, and S1, and the 16 unreadable strings corresponding to ASCII codes 0x10~0x1F are DLE, DC1, DC2, DC3, DC4, NAK, SYN, ETB , CAN, EM, SUB, ESC, FS, GS, RS, and US.

當該中央處理器2判斷其中一個該結構表存在該不可識字串時,執行步驟S3。而當該中央處理器2判斷任何一個該結構表都不存在該不可識字串時,執行步驟S8。When the central processing unit 2 judges that the unreadable character string exists in one of the structure tables, step S3 is executed. And when the central processing unit 2 judges that the unreadable character string does not exist in any of the structure tables, step S8 is executed.

於步驟S3,該中央處理器2判斷發生該不可識字串是在哪一個結構表,及對應的是在該結構表的哪個資訊。舉例來說,該第1結構表(Type 1)包含一產品製造商資訊(Product manufacturer)、一產品名稱資訊(Product name)、一產品模組號碼資訊(Product part/model number)、一產品版本資訊(Product version)、及一產品序號資訊(Product serial number)。該第2結構表(Type 2)包含一主板製造商資訊(Board manufacturer)、一主板名稱資訊(Board product name)、一主板序號資訊(Board serial number)、及一主板料號資訊(Board part number)。該第3結構表(Type 3)包含一機殼型式資訊(Chassis type)、一機殼料號資訊(Chassis part number)、及一機殼序號資訊(Chassis serial number)。接著,執行步驟S4。In step S3, the central processing unit 2 determines which structure table the unreadable character string is in, and which information in the structure table corresponds to it. For example, the first structure table (Type 1) includes a product manufacturer information (Product manufacturer), a product name information (Product name), a product module number information (Product part/model number), a product version information (Product version), and a product serial number information (Product serial number). The second structure table (Type 2) includes a board manufacturer information (Board manufacturer), a board name information (Board product name), a board serial number information (Board serial number), and a board part number information (Board part number). The third structure table (Type 3) includes a chassis type information (Chassis type), a chassis part number information (Chassis part number), and a chassis serial number information (Chassis serial number). Next, step S4 is executed.

於步驟S4,該中央處理器2判斷存在該不可識字串的該SMBIOS是否來自該基本輸入輸出系統4。當判斷為「否」時,執行步驟S5,而當判斷為「是」時,執行步驟S6。In step S4, the CPU 2 judges whether the SMBIOS with the unreadable character string is from the BIOS 4. When the judgment is "No", step S5 is executed, and when the judgment is "Yes", step S6 is executed.

於步驟S5,該中央處理器2記錄對應的一錯誤訊息於一系統事件記錄(System event log,SEL),並將該系統事件記錄儲存於該第二非揮發性記憶體6。更詳細地說,該系統事件記錄儲存多種訊息,並能夠被智慧型平台管理介面(Intelligent platform management interface,IPMI)指令(Command)解析。每一種訊息的格式例如是0003h∣02h∣60742B6Bh∣ 01h∣00h∣04h∣2Ch∣FCh∣6Fh∣06h∣80h∣01h。其中的06h∣80h∣01h依序是一第1事件資料(Event data 1)、一第2事件資料(Event data 2)、及一第3事件資料(Event data 3)。In step S5, the CPU 2 records a corresponding error message in a system event log (System event log, SEL), and stores the system event log in the second non-volatile memory 6 . More specifically, the system event record stores various information and can be parsed by an intelligent platform management interface (IPMI) command (Command). The format of each message is, for example, 0003h∣02h∣60742B6Bh∣01h∣00h∣04h∣2Ch∣FCh∣6Fh∣06h∣80h∣01h. Among them, 06h | 80h | 01h is sequentially a first event data (Event data 1), a second event data (Event data 2), and a third event data (Event data 3).

當該等訊息之其中一者所包括的該第1事件資料等於06h時,該等訊息之其中該者就是該錯誤訊息,再者,在步驟S5的該錯誤訊息所包括的該第2事件資料會等於81h,以表示該SMBIOS是來自對應該基板管理控制器3的該第二非揮發性記憶體6,即該基本輸入輸出系統4的該SMBIOS是藉由在該第二非揮發性記憶體6中的較新版本作同步更新而產生的。此外,在其他的實施例中,在該開機程序中,該電腦系統還將該錯誤訊息顯示於一顯示器(圖未示)中,且該錯誤訊息指示出存在該不可識字串的該SMBIOS是來自該第二非揮發性記憶體6,以提醒該使用者或該開發人員。接著,執行步驟S7。When the first event data included in one of the messages is equal to 06h, that one of the messages is the error message. Furthermore, the second event data included in the error message in step S5 will be equal to 81h, indicating that the SMBIOS is from the second non-volatile memory 6 corresponding to the baseboard management controller 3, that is, the SMBIOS of the basic input output system 4 is updated synchronously by a newer version in the second non-volatile memory 6. Produced. In addition, in other embodiments, in the boot process, the computer system also displays the error message on a display (not shown), and the error message indicates that the SMBIOS with the unreadable string is from the second non-volatile memory 6, to remind the user or the developer. Next, step S7 is executed.

於步驟S6,該中央處理器2記錄對應的該錯誤訊息於該系統事件記錄(SEL),並將該系統事件記錄儲存於該第二非揮發性記憶體6。在步驟S6的該錯誤訊息所包括的該第2事件資料會等於80h,以表示該SMBIOS是來自對應該基本輸入輸出系統4,即該基本輸入輸出系統4的該SMBIOS並未透過該第二非揮發性記憶體6作同步更新,而是直接被更新為較新的版本。在其他的實施例中,在該開機程序中,該電腦系統還將該錯誤訊息顯示於該顯示器(圖未示)中,且該錯誤訊息指示出存在該不可識字串的該SMBIOS是來自該基本輸入輸出系統4,以提醒該使用者或該開發人員。接著,執行步驟S7。In step S6, the CPU 2 records the corresponding error message in the system event log (SEL), and stores the system event log in the second non-volatile memory 6 . The second event data included in the error message in step S6 will be equal to 80h, to indicate that the SMBIOS is from the corresponding BIOS 4, that is, the SMBIOS of the BIOS 4 is not updated synchronously through the second non-volatile memory 6, but is directly updated to a newer version. In other embodiments, in the booting process, the computer system also displays the error message on the display (not shown), and the error message indicates that the SMBIOS with the unreadable string is from the basic input output system 4, to remind the user or the developer. Next, step S7 is executed.

此外,在步驟S5及S6的該錯誤訊息中,其所包括的該第3事件資料等於30h、31h、32h、33h、或34h時,分別指示該不可識字串發生在該等結構表中的該第1結構表(Type 1)的該產品製造商資訊、該產品名稱資訊、該產品模組號碼資訊、該產品版本資訊、或該產品序號資訊。而該第3事件資料等於20h、21h、22h、或23h時,分別指示該不可識字串發生在該等結構表中的該第2結構表的該主板製造商資訊、該主板名稱資訊、該主板序號資訊、或該主板料號資訊。而該第3事件資料等於10h、11h、或12h時,分別指示該不可識字串發生在該等結構表中的該第3結構表(Type 3)的該機殼型式資訊、該機殼料號資訊、或該機殼序號資訊。In addition, in the error messages of steps S5 and S6, when the third event data included is equal to 30h, 31h, 32h, 33h, or 34h, it indicates that the unreadable character string occurs in the product manufacturer information, the product name information, the product module number information, the product version information, or the product serial number information of the first structure table (Type 1) in the structure tables respectively. And when the 3rd event data is equal to 20h, 21h, 22h, or 23h, respectively indicate that the unreadable string occurs in the motherboard manufacturer information, the motherboard name information, the motherboard serial number information, or the motherboard material number information of the second structure table in the structure tables. And when the 3rd event data is equal to 10h, 11h, or 12h, respectively indicate that the unreadable string occurs in the casing type information, the casing material number information, or the casing serial number information of the third structure table (Type 3) in the structure tables.

於步驟S7,該中央處理器2將該第一非揮發性記憶體5所儲存的該錯誤旗標由一第一邏輯值改為一第二邏輯值。在本實施例中,該第一邏輯值及該第二邏輯值分別等於邏輯0及邏輯1,而在其他的實施例中,也可以是分別等於邏輯1及邏輯0。接著,執行步驟S11。In step S7, the CPU 2 changes the error flag stored in the first non-volatile memory 5 from a first logic value to a second logic value. In this embodiment, the first logic value and the second logic value are respectively equal to logic 0 and logic 1, while in other embodiments, they may be equal to logic 1 and logic 0 respectively. Next, step S11 is executed.

於步驟S8,該中央處理器2判斷該第一非揮發性記憶體5所儲存的該錯誤旗標的邏輯值是否等於該第二邏輯值(即邏輯1)。當該錯誤旗標等於該第二邏輯值時,執行步驟S9。而當該錯誤旗標等於該第一邏輯值時,執行步驟S11In step S8, the CPU 2 judges whether the logic value of the error flag stored in the first non-volatile memory 5 is equal to the second logic value (ie logic 1). When the error flag is equal to the second logical value, step S9 is executed. And when the error flag is equal to the first logic value, execute step S11

於步驟S9,該中央處理器2將該第一非揮發性記憶體5所儲存的該錯誤旗標由該第二邏輯值(即邏輯1)改為該第一邏輯值(即邏輯0)。換句話說,該錯誤旗標的邏輯值指示出在前次開機過程的該開機自我檢測中,是否發生該不可識字串,而在本次開機過程的該開機自我檢測中,步驟S2沒有檢查到任何一個該不可識字串,因此,將之前已設定為該第二邏輯值(即邏輯1)的該錯誤旗標改正為該第一邏輯值(即邏輯0)。接著,執行步驟S10。In step S9, the CPU 2 changes the error flag stored in the first non-volatile memory 5 from the second logic value (ie logic 1) to the first logic value (ie logic 0). In other words, the logic value of the error flag indicates whether the unrecognizable character string occurred in the power-on self-test of the previous boot process, but in the power-on self-test of the current boot process, step S2 did not check any of the unrecognizable character strings. Therefore, the error flag that has been set to the second logic value (i.e. logic 1) is corrected to the first logic value (i.e. logic 0). Next, step S10 is executed.

於步驟S10,該中央處理器2記錄對應的一修復訊息於該系統事件記錄,並將該系統事件記錄儲存於該第二非揮發性記憶體6。當該系統事件記錄所儲存的該等訊息之其中一種是該修復訊息時,其所包括的該第1事件資料等於06h,再者,該修復訊息所包括的該第2事件資料會等於00h,以表示該不可識字串已經被該使用者或該開發人員所修正或除錯完畢。此外,在其他的實施例中,在該開機程序中,該電腦系統還將該修復訊息顯示於該顯示器(圖未示)中,以提醒該使用者或該開發人員。接著,執行步驟S11。In step S10 , the CPU 2 records a corresponding recovery message in the system event record, and stores the system event record in the second non-volatile memory 6 . When one of these messages stored in the system event record is the repair message, the first event data included in it is equal to 06h, and the second event data included in the repair message will be equal to 00h, to indicate that the unreadable character string has been corrected or debugged by the user or the developer. In addition, in other embodiments, during the boot process, the computer system also displays the repair message on the display (not shown) to remind the user or the developer. Next, step S11 is executed.

於步驟S11,該中央處理器2繼續執行該開機程序。在本實施例中,當該第二揮發性記憶體6所儲存的該SMBIOS的版本相對於該基本輸入輸出系統4所儲存的該SMBIOS的版本較新時,該第二揮發性記憶體6所儲存的該SMBIOS會被同步更新至該基本輸入輸出系統4所儲存的該SMBIOS。因此,該警示方法是在該第二揮發性記憶體6及該基本輸入輸出系統4所儲存的該兩個SMBIOS作同步更新之前所實施。In step S11, the CPU 2 continues to execute the booting procedure. In this embodiment, when the version of the SMBIOS stored in the second volatile memory 6 is newer than the version of the SMBIOS stored in the BIOS 4, the SMBIOS stored in the second volatile memory 6 will be updated synchronously to the SMBIOS stored in the BIOS 4. Therefore, the warning method is implemented before the two SMBIOS stored in the second volatile memory 6 and the BIOS 4 are updated synchronously.

綜上所述,藉由該電腦系統在該開機自我檢測的過程中,在判斷該等結構表存在該不可識字串時,於該第二非揮發性記憶體6所儲存的該系統事件記錄中,記錄是哪個結構表的哪個資訊發生錯誤的該錯誤訊息及該錯誤旗標,使得使用者或開發人員能夠即時地知悉此錯誤的發生,進而能夠盡快地修正與除錯。此外,還能夠將表示已修正完畢的該修復訊息記錄於該系統事件記錄中,故確實能達成本發明的目的。To sum up, when the computer system judges that the structure table has the unreadable character string during the self-testing process, it records the error message and the error flag in the system event record stored in the second non-volatile memory 6, so that the user or developer can immediately know the occurrence of the error, and then can correct and debug it as soon as possible. In addition, the repair message indicating that the repair has been completed can also be recorded in the system event record, so the object of the present invention can be indeed achieved.

惟以上所述者,僅為本發明的實施例而已,當不能以此限定本發明實施的範圍,凡是依本發明申請專利範圍及專利說明書內容所作的簡單的等效變化與修飾,皆仍屬本發明專利涵蓋的範圍內。But the above are only embodiments of the present invention, and should not limit the scope of the present invention. All simple equivalent changes and modifications made according to the patent scope of the present invention and the content of the patent specification are still within the scope of the patent of the present invention.

1:晶片組 2:中央處理器 3:基板管理控制器 4:基本輸入輸出系統 5:第一非揮發性記憶體 6:第二非揮發性記憶體 S1~S11:步驟 1: Chipset 2: CPU 3: Baseboard Management Controller 4: Basic input and output system 5: The first non-volatile memory 6: Second non-volatile memory S1~S11: Steps

本發明的其他的特徵及功效,將於參照圖式的實施方式中清楚地呈現,其中: 圖1是一方塊圖,說明本發明警示方法所適用的一電腦系統;及 圖2是一流程圖,說明本發明警示方法的一實施例。 Other features and effects of the present invention will be clearly presented in the implementation manner with reference to the drawings, wherein: Fig. 1 is a block diagram illustrating a computer system to which the warning method of the present invention is applicable; and FIG. 2 is a flowchart illustrating an embodiment of the warning method of the present invention.

S1~S11:步驟S1~S11: Steps

Claims (9)

一種警示方法,適用於一電腦系統並藉由該電腦系統實施,該電腦系統包括一基本輸入輸出系統、對應該基本輸入輸出系統的一第一非揮發性記憶體、一基板管理控制器、及對應該基板管理控制器的一第二非揮發性記憶體,該警示方法包含:(A)在開機自我檢測(Power On Self-Test,POST)的過程中,檢查一系統管理基本輸入輸出系統(System management basic input/output system,SMBIOS)的多個結構表(Type)是否存在一不可識字串(Garbled string),該不可識字串所對應的ASCII碼是0x00至0x1F之其中任一者;(B)當判斷其中一個該結構表存在該不可識字串時,記錄對應的一錯誤訊息於一系統事件記錄(System event log,SEL),並將該系統事件記錄儲存於該第二非揮發性記憶體;(C)當該錯誤訊息被記錄至該系統事件記錄時,將該第一非揮發性記憶體所儲存的一錯誤旗標由一第一邏輯值改為一第二邏輯值;及(D)繼續執行一開機程序。 A warning method is applicable to a computer system and implemented by the computer system. The computer system includes a basic input output system, a first non-volatile memory corresponding to the basic input output system, a baseboard management controller, and a second non-volatile memory corresponding to the baseboard management controller. The warning method includes: (A) checking a system management basic input/output system (System management basic input/output) system, SMBIOS) whether there is an unreadable string (Garbled string) in a plurality of structure tables (Type), and the ASCII code corresponding to the unreadable string is any one of 0x00 to 0x1F; (B) when it is judged that the unreadable string exists in one of the structure tables, record a corresponding error message in a system event log (System event log, SEL), and store the system event log in the second non-volatile memory; When recording to the system event record, an error flag stored in the first non-volatile memory is changed from a first logic value to a second logic value; and (D) continue to execute a boot procedure. 如請求項1所述的警示方法,還包含在步驟(A)及(D)之間的步驟(E),當判斷任何一個該結構表都不存在該不可識字串時,且判斷該錯誤旗標的邏輯值等於該第一邏輯值時,執行步驟(D)。 The warning method as described in claim 1, further comprising a step (E) between steps (A) and (D), when it is judged that the unreadable character string does not exist in any of the structure tables, and when it is judged that the logical value of the error flag is equal to the first logical value, step (D) is executed. 如請求項2所述的警示方法,還包含在步驟(A)及(D)之間的步驟(F),當判斷任何一個該結構表都不存在該不可識字串時,且判斷該錯誤旗標的邏輯值等於該第二邏輯值時,將該第一非揮發性記憶體所儲存的該錯誤旗標由該第二邏輯值改為該第一邏輯值,接著,執行步驟(D)。 The warning method as described in claim 2, further comprising a step (F) between steps (A) and (D), when it is judged that the unreadable character string does not exist in any of the structure tables, and when the logic value of the error flag is judged to be equal to the second logic value, the error flag stored in the first non-volatile memory is changed from the second logic value to the first logic value, and then step (D) is performed. 如請求項3所述的警示方法,其中,在步驟(F)中,在將該第一非揮發性記憶體所儲存的該錯誤旗標由該第二邏輯值改為該第一邏輯值之後,記錄對應的一修復訊息於該系統事件記錄,並將該系統事件記錄儲存於該第二非揮發性記憶體。 The warning method as described in claim 3, wherein, in step (F), after the error flag stored in the first non-volatile memory is changed from the second logical value to the first logical value, a corresponding repair message is recorded in the system event record, and the system event record is stored in the second non-volatile memory. 如請求項4所述的警示方法,該基本輸入輸出系統儲存有該SMBIOS,該第二揮發性記憶體儲存有該SMBIOS,其中,在步驟(A)中,該電腦系統是檢查該基本輸入輸出系統所儲存的該SMBIOS及該第二揮發性記憶體所儲存的該SMBIOS,並判斷存在該不可識字串的該SMBIOS是來自該基本輸入輸出系統或該第二揮發性記憶體,在步驟(B)中,該錯誤訊息包括一第2事件資料(Event data 2),該第2事件資料指示該SMBIOS是來自該第二非揮發性記憶體或該基本輸入輸出系統。 In the warning method described in claim 4, the SMBIOS is stored in the basic input output system, and the SMBIOS is stored in the second volatile memory. In step (A), the computer system checks the SMBIOS stored in the basic input output system and the SMBIOS stored in the second volatile memory, and determines that the SMBIOS with the unreadable string is from the basic input output system or the second volatile memory. In step (B), the error message includes a second volatile memory. Event data (Event data 2), the second event data indicates that the SMBIOS is from the second non-volatile memory or the BIOS. 如請求項5所述的警示方法,其中,在步驟(B)中,該電腦系統還顯示該錯誤訊息,以指示存在該不可識字串的該SMBIOS是來自該第二非揮發性記憶體或該基本輸入輸出系統。 The warning method according to claim 5, wherein, in step (B), the computer system also displays the error message to indicate that the SMBIOS with the unreadable string is from the second non-volatile memory or the basic input output system. 如請求項5所述的警示方法,其中,在步驟(B)中,該錯 誤訊息還包括一第3事件資料(Event data 3),當該第3事件資料等於30h、31h、32h、33h、或34h時,分別指示該不可識字串發生在該等結構表中的一第1結構表(Type 1)的一產品製造商資訊、一產品名稱資訊、一產品模組號碼資訊、一產品版本資訊、或一產品序號資訊。 The warning method as described in claim item 5, wherein, in step (B), the error The error message also includes a 3rd event data (Event data 3). When the 3rd event data is equal to 30h, 31h, 32h, 33h, or 34h, it indicates that the unreadable string occurs in a product manufacturer information, a product name information, a product module number information, a product version information, or a product serial number information in a first structure table (Type 1) in the structure tables respectively. 如請求項7所述的警示方法,其中,在步驟(B)中,當該第3事件資料等於20h、21h、22h、或23h時,分別指示該不可識字串發生在該等結構表中的一第2結構表(Type 2)的一主板製造商資訊、一主板名稱資訊、一主板序號資訊、或一主板料號資訊。 As the warning method described in claim item 7, wherein, in step (B), when the 3rd event data is equal to 20h, 21h, 22h, or 23h, respectively indicate that the unreadable character string occurs in a motherboard manufacturer information, a motherboard name information, a motherboard serial number information, or a motherboard material number information of a 2nd structure table (Type 2) in these structure tables. 如請求項8所述的警示方法,其中,在步驟(B)中,當該第3事件資料等於10h、11h、或12h時,分別指示該不可識字串發生在該等結構表中的一第3結構表(Type 3)的一機殼型式資訊、一機殼料號資訊、或一機殼序號資訊。 The warning method as described in claim item 8, wherein, in step (B), when the 3rd event data is equal to 10h, 11h, or 12h, respectively indicate that the unreadable string occurs in a casing type information, a casing material number information, or a casing serial number information of a 3rd structure table (Type 3) in these structure tables.
TW110145626A 2021-12-07 2021-12-07 Warning method TWI807521B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW110145626A TWI807521B (en) 2021-12-07 2021-12-07 Warning method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW110145626A TWI807521B (en) 2021-12-07 2021-12-07 Warning method

Publications (2)

Publication Number Publication Date
TW202324157A TW202324157A (en) 2023-06-16
TWI807521B true TWI807521B (en) 2023-07-01

Family

ID=87803582

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110145626A TWI807521B (en) 2021-12-07 2021-12-07 Warning method

Country Status (1)

Country Link
TW (1) TWI807521B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030145008A1 (en) * 2001-10-15 2003-07-31 American Megatrends, Inc. Apparatus and methods for managing the display of SMBIOS data relating to the configuration and components of a computing system
TWI534708B (en) * 2014-09-08 2016-05-21 廣達電腦股份有限公司 Method, managing apparatus, and computer-readable medium for managing basic input/output system configurations of a computer system
CN109086082A (en) * 2018-06-29 2018-12-25 深圳市同泰怡信息技术有限公司 A kind of method, system and medium using SMBIOS expanded BIOS function
CN109240847A (en) * 2018-09-27 2019-01-18 郑州云海信息技术有限公司 EMS memory error report method, device, terminal and storage medium during a kind of POST
CN111857847A (en) * 2020-06-29 2020-10-30 苏州浪潮智能科技有限公司 Method, device, equipment and storage medium for dynamically configuring BIOS character string

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030145008A1 (en) * 2001-10-15 2003-07-31 American Megatrends, Inc. Apparatus and methods for managing the display of SMBIOS data relating to the configuration and components of a computing system
TWI534708B (en) * 2014-09-08 2016-05-21 廣達電腦股份有限公司 Method, managing apparatus, and computer-readable medium for managing basic input/output system configurations of a computer system
CN109086082A (en) * 2018-06-29 2018-12-25 深圳市同泰怡信息技术有限公司 A kind of method, system and medium using SMBIOS expanded BIOS function
CN109240847A (en) * 2018-09-27 2019-01-18 郑州云海信息技术有限公司 EMS memory error report method, device, terminal and storage medium during a kind of POST
CN111857847A (en) * 2020-06-29 2020-10-30 苏州浪潮智能科技有限公司 Method, device, equipment and storage medium for dynamically configuring BIOS character string

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
網路文獻 cyj_haiou SMBIOS介紹(2):結構表 台部落 2018/08/27 https://www.twblogs.net/a/5b83b0b12b71777a2efced2b *

Also Published As

Publication number Publication date
TW202324157A (en) 2023-06-16

Similar Documents

Publication Publication Date Title
US6725178B2 (en) Use of hidden partitions in a storage device for storing BIOS extension files
TWI571800B (en) Booting method and computer system
US6564348B1 (en) Method and apparatus for storing and using chipset built-in self-test signatures
US7650556B2 (en) System and method for checking and correcting BIOS errors
US7293204B2 (en) Computer peripheral connecting interface system configuration debugging method and system
US20090150721A1 (en) Utilizing A Potentially Unreliable Memory Module For Memory Mirroring In A Computing System
US20080040596A1 (en) Embedded system and boot code auto-copy method thereof
US20200250313A1 (en) Bios recovery and update
US6591389B1 (en) Testing system for circuit board self-test
US8495626B1 (en) Automated operating system installation
CN102479124B (en) Test method
CN108073738B (en) GPIO (general purpose input/output) verification system and method
TW200809489A (en) BIOS damage detection and repair method and the motherboard
CN113377586A (en) Automatic server detection method and device and storage medium
TWI807521B (en) Warning method
WO2017143513A1 (en) Method, cpu and single board for starting boot
US20220188221A1 (en) Regression testing method and regression testing apparatus
US11586504B2 (en) Electronic apparatus and boot method thereof
TWI715201B (en) Hang-up information recording method
CN116266153A (en) Warning method
KR100907550B1 (en) Apparatus and method for recovering corrupted data of serial EPEPROM
WO2019169615A1 (en) Method for accessing code sram, and electronic device
TWI775360B (en) Storage device for recording status of hardware component of computer system and computer implementation method thereof
CN112346786B (en) Debugging information recording method applied to startup stage and operation stage after startup
TWI777259B (en) Boot method