Processing system, processing method, and program

The system accurately identifies error logs caused by firmware malfunctions by comparing sensor values with error logs, addressing the distinction between hardware and firmware issues in server logs.

JP7845725B1Active Publication Date: 2026-04-14NEC PLATFROMS LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
NEC PLATFROMS LTD
Filing Date
2025-03-13
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

Existing systems fail to accurately distinguish between error logs caused by hardware failures and those caused by firmware malfunctions in servers.

Method used

A processing system and method that compares error logs with sensor values to determine if they match, using a BMC to identify logs registered due to incorrect firmware processing by setting a flag to prevent overwriting and storing data with timestamps.

Benefits of technology

Enables accurate identification of error logs resulting from firmware malfunctions, differentiating them from hardware failures.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007845725000001_ABST
    Figure 0007845725000001_ABST
Patent Text Reader

Abstract

This system provides a processing system capable of determining the occurrence of error logs due to firmware malfunctions. [Solution] The processing system includes a comparison means for comparing an error log with the values ​​of each sensor, and a first determination means for determining whether the error log and the values ​​of each sensor match based on the comparison result by the comparison means, and if it is determined that the error log and the values ​​of each sensor do not match, it determines that the error log is a log registered due to incorrect processing by the firmware.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a processing system, a processing method, and a program.

Background Art

[0002] Servers are used in various technical fields. The server has a function of collecting information from sensors of the device and monitoring the state of the device by a BMC (Baseboard Management Controller). When the BMC determines that the value received from the sensor exceeds the threshold value, an error log indicating that the threshold value has been exceeded is registered in the SEL (System Event Log) by the BMC. Patent Document 1 discloses a technique related to an information processing apparatus that can ensure the integrity of logs to be recorded.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] In the technical field related to Patent Document 1, a technique capable of determining the occurrence of an error log due to a firmware defect is required.

[0005] One of the objectives of each aspect of the present disclosure is to provide a processing system, a processing method, and a program that can solve the above problems.

Means for Solving the Problems

[0006] According to one aspect of the present disclosure, the processing system includes comparison means for comparing an error log with the values ​​of each sensor, and first determination means for determining whether the error log and the values ​​of each sensor match based on the comparison result by the comparison means, and if it is determined that the error log and the values ​​of each sensor do not match, it determines that the error log is a log registered due to incorrect processing by the firmware.

[0007] According to another aspect of this disclosure, the processing method is: A processing method that a processing system executes, This includes comparing the error log with the values ​​of each sensor, determining whether the error log and the values ​​of each sensor match based on the comparison result, and if it is determined that the error log and the values ​​of each sensor do not match, determining that the error log is a log registered due to incorrect processing by the firmware.

[0008] According to another aspect of this disclosure, the program causes the computer to perform the following actions: compare an error log with the values ​​of each sensor; determine, based on the comparison result, whether the error log and the values ​​of each sensor match; and if it is determined that the error log and the values ​​of each sensor do not match, determine that the error log is a log registered due to erroneous processing by the firmware. [Effects of the Invention]

[0009] According to each aspect of this disclosure, it is possible to determine the occurrence of an error log due to a firmware malfunction. [Brief explanation of the drawing]

[0010] [Figure 1] This figure shows an example of the configuration of a processing system according to some embodiments of the present disclosure. [Figure 2] This figure shows an example of the data that a BMC according to some embodiments of the present disclosure stores in each region within region R. [Figure 3]This figure shows an example of the correctness determination result of the error log by the BMC according to some embodiments of the present disclosure. [Figure 4] This figure shows an example of the processing flow of a processing system according to some embodiments of the present disclosure. [Figure 5] This figure shows an example of stored data 2a in region Rb1 according to some embodiments of the present disclosure. [Figure 6] This figure shows an example of an error log according to some embodiments of the present disclosure. [Figure 7] This figure shows an example of the configuration of a processing system according to some embodiments of the present disclosure. [Figure 8] This figure shows an example of the processing flow of a processing system according to some embodiments of the present disclosure. [Figure 9] This is a schematic block diagram showing the configuration of a computer according to at least one embodiment. [Modes for carrying out the invention]

[0011] The embodiments will be described in detail below with reference to the drawings. <Embodiment> A processing system 1 according to one embodiment of this disclosure will be described with reference to the drawings. The processing system 1 is a system capable of determining the occurrence of an error log due to a firmware malfunction.

[0012] (Processing system configuration) A processing system 1 according to an embodiment of the present disclosure will be described with reference to the drawings. FIG. 1 is a diagram showing an example of the configuration of a processing system 1 according to some embodiments of the present disclosure. As shown in FIG. 1, the processing system 1 includes a CPU (Central Processing Unit) 10, a PCH (Platform Controller Hub) 20, a BMC (Baseboard Management Controller) 30, sensors 40a, 40b, 40c, and an NVRAM (Non-Volatile Random Access Memory) 50. When it is not necessary to distinguish each of the sensors 40a, 40b, 40c, the sensors 40a, 40b, 40c may be collectively referred to as the sensor 40.

[0013] The BMC 30 includes an NVRAM 50 as a non-volatile storage area. The NVRAM 50 is a non-volatile memory. The NVRAM 50 has a SEL (System Event Log) storage area R50a and a RAW data storage area 50b. The RAW data storage area 50b records the values (RAW data) of each sensor for internal management. An area R is defined by the RAW data storage area 50b. Further, areas 1 to n are defined for each sensor within the area R.

[0014] For example, for the sensor 40a, areas from Ra1 to Ran are defined within the area R. For the sensor 40b, areas from Rb1 to Rbn are defined within the area R. For the sensor 40c, areas from Rc1 to Rcn are defined within the area R.

[0015] The BMC 30 stores data in each area within the area R. FIG. 2 is a diagram showing an example of the data that the BMC 30 according to some embodiments of the present disclosure stores in each area within the area R. The data that the BMC 30 stores in each area within the area R is, for example, the stored data 2a as shown in FIG. 2. As shown in FIG. 2, the stored data 2a includes at least a timestamp 2a1 of the time when the corresponding sensor acquired a value, the acquired value 2a2, and a write prohibition Flag 2a3 for preventing them from being overwritten.

[0016] The write prohibition flag 2a3 indicates that in the state of 0b, normally, that is, the BMC 30 can overwrite that area. Also, the write prohibition flag 2a3 indicates that in the state of 1b, the BMC 30 cannot overwrite new data in that area. The time stamp 2a1 and the RAW data 2a2 shall remain in the state as acquired from the sensor 40 without being processed at all until they are stored as the stored data 2a.

[0017] Also, the BMC 30 registers a determination result SEL3a indicating the determination result after determining the correctness of the error log with the logic described later. FIG. 3 is a diagram showing an example of the determination result of the correctness of the error log by the BMC 30 according to some embodiments of the present disclosure. The determination result of the correctness of the error log by the BMC 30 is, for example, the determination result SEL3a as shown in FIG. 3. As shown in FIG. 3, the determination result SEL3a includes at least the time stamp 3a1 at the time of determining the correctness, the Recode ID 3a2 of the error log determined to be correct or incorrect, the sensor number 3a3 where the error log is registered, the stored data 3a4 corresponding to the error log, and the result 3a5 of determining the correctness or incorrectness. It is registered as an Information log.

[0018] (Processing performed by the processing system) FIG. 4 is a diagram showing an example of the processing flow of the processing system 1 according to some embodiments of the present disclosure. Next, the processing performed by the processing system 1 will be described. Here, referring to FIG. 4, the processing performed by the BMC 30 included in the processing system 1 will be described.

[0019] The BMC 30 registers data 1 to data n in order from area 1 to area n in the area R for each sensor 40. When the BMC 30 registers data n in area n, it overwrites the next data n+1 in area 1. The BMC 30 acquires the sensor value from each of the sensors 40. The BMC 30 registers the acquired sensor value and the time stamp in order in areas 1 to n for each sensor in the area R, for example, like the recorded data 2a shown in FIG. 2 (step S1).

[0020] The BMC30, for example, acquires the sensor value of sensor 40b. The BMC30 determines whether the acquired sensor value exceeds a threshold (step S2). If the BMC30 determines that the acquired sensor value does not exceed the threshold (NO in step S2), it determines that there is no abnormality (step S3). Then, the BMC30 terminates the process.

[0021] Furthermore, if the BMC30 determines that the acquired sensor value exceeds a threshold (YES in step S2), it registers an error log with timestamp T (step S4). Then, the BMC30 determines whether the RAW data of timestamp T for sensor 40b in region R matches the value in the error log (step S5).

[0022] If the BMC30 determines that the RAW data of the timestamp T of sensor 40b in region R matches the value in the error log (YES in step S5), it determines that the firmware processing of the BMC30 is working correctly and that the error log is due to a hardware failure. The BMC30 then registers a log indicating no abnormalities as the error log (step S6).

[0023] Furthermore, if the BMC30 determines that the RAW data of the timestamp T of sensor 40b in region R does not match the value in the error log (NO in step S5), it determines that there is a firmware malfunction due to the value being overwritten during firmware processing. Then, as a result of the determination, the BMC30 registers, for example, the determination result SEL3a shown in Figure 3 (step S7). In addition, the BMC30 sets Flag2a3 to 1b for, for example, several data points before or after the timestamp T of sensor 40b (step S8). This prevents the several data points before or after the timestamp T of sensor 40b from being overwritten by other data and saves them for reference during investigation. Note that any number can be set for the data points to which Flag is set. The BMC30 then terminates processing.

[0024] Figure 5 shows an example of stored data 2a in region Rb1 according to some embodiments of the present disclosure. Figure 6 shows an example of error log 4a according to some embodiments of the present disclosure. For example, suppose that stored data 2a shown in Figure 5 is registered in region Rb1 of BMC30, where the upper limit is 10 and the lower limit is -10. Also, suppose that at the same time, BMC30 performs a sensor value determination process and determines that the sensor value exceeds the threshold, and stores, for example, error log 4a shown in Figure 6 in SEL. Subsequently, BMC30 refers to the sensor value recorded in error log 4a shown in Figure 6 and the sensor number 40b recorded in error log 4a to identify stored data 2a with the same timestamp for the corresponding sensor number 40b in region R. Then, BMC30 compares the sensor value in error log 4a with the value of the RAW data in stored data 2a. Specifically, the BMC30 compares the sensor value 4a3, "11," shown in Figure 6, with the RAW data 2a2, "8," of the stored data 2a in region Rb1, shown in Figure 5. As a result of the comparison, the BMC30 determines that the two values ​​are different, and therefore the error log 4a was registered due to incorrect processing by the firmware, that is, the error log 4a is due to a firmware malfunction. The BMC30 registers the determination result SEL3a, as shown in Figure 3, as an Information log in SEL, indicating that the error log 4a is due to a firmware malfunction. The BMC30 then sets Flag2a3 to 1b.

[0025] (advantage) The processing system 1 according to the embodiment of the present disclosure has been described above. The processing system 1 includes a BMC 30. The BMC 30 (an example of a comparison means) compares the error log with the values ​​of each sensor. The BMC 30 (an example of a first determination means) determines, based on the comparison result, whether the error log and the values ​​of each sensor match, and if it determines that the error log and the values ​​of each sensor do not match, it determines that the error log is a log registered due to incorrect processing by the firmware. This processing system 1 makes it possible to determine the occurrence of an error log due to a firmware malfunction.

[0026] Processing system 1 can determine, upon log analysis at the time of occurrence, whether the error log indicates a genuine hardware failure causing a sensor malfunction or an anomaly caused by the actual environment (temperature, etc.), or whether it is an anomaly that was incorrectly identified due to a firmware malfunction, if the log shown in Figure 3 is registered.

[0027] Next, a processing system 700 according to some embodiments of the present disclosure will be described. Figure 7 is a diagram showing an example of the configuration of a processing system 700 according to some embodiments of the present disclosure. As shown in Figure 7, the processing system 700 comprises a comparison means 701 and a first determination means 702.

[0028] The comparison means 701 compares the error log with the values ​​of each sensor. The first determination means 702 determines, based on the comparison result by the comparison means 701, whether the error log and the values ​​of each sensor match. If it determines that the error log and the values ​​of each sensor do not match, it determines that the error log is a log registered due to incorrect processing by the firmware.

[0029] The processing system 700 can be implemented, for example, using the functions of the processing system 1 illustrated in Figure 1. The comparison means 701 can be implemented, for example, using the functions of the BMC 30 illustrated in Figure 1. The first determination means 702 can be implemented, for example, using the functions of the BMC 30 illustrated in Figure 1.

[0030] Next, the processing performed by the processing system 700 according to some embodiments of the present disclosure will be described. Figure 8 is a diagram showing an example of the processing flow of the processing system 700 according to some embodiments of the present disclosure. Here, the processing of the processing system 700 will be described with reference to Figure 8.

[0031] In the processing system 700, the comparison means 701 compares the error log with the values ​​of each sensor (step S101). Based on the comparison result by the comparison means 701, the first determination means 702 determines whether the error log and the values ​​of each sensor match. If it determines that the error log and the values ​​of each sensor do not match, it determines that the error log is a log registered due to incorrect processing by the firmware (step S102).

[0032] The processing system 700 according to several embodiments of the present disclosure has been described above. This processing system 700 can determine the occurrence of an error log due to a firmware malfunction.

[0033] In addition, the order of the processes in each embodiment of this disclosure may be changed, as long as appropriate processing is performed.

[0034] Although each embodiment of this disclosure has been described, the processing system 1, BMC30, and other control devices described above may have a computer system inside. The processing steps described above are stored in program form on a computer-readable recording medium, and the processing is performed when the computer reads and executes this program. A specific example of a computer is shown below.

[0035] Figure 9 is a schematic block diagram showing the configuration of a computer according to at least one embodiment. As shown in Figure 9, the computer 5 includes a CPU (Central Processing Unit) 6, main memory 7, storage 8, and interface 9.

[0036] For example, the processing system 1, BMC30, and other control devices described above are each implemented in the computer 5. The operation of each processing unit described above is stored in storage 8 in the form of a program. The CPU 6 reads the program from storage 8, loads it into main memory 7, and executes the above processing according to the program. The CPU 6 also allocates memory areas in main memory 7 corresponding to each of the storage units described above, according to the program.

[0037] Examples of storage 8 include HDDs (Hard Disk Drives), SSDs (Solid State Drives), magnetic disks, magneto-optical disks, CD-ROMs (Compact Disc Read Only Memory), DVD-ROMs (Digital Versatile Disc Read Only Memory), and semiconductor memory. Storage 8 may be an internal medium directly connected to the bus of computer 5, or an external medium connected to computer 5 via interface 9 or a communication line. Furthermore, if this program is distributed to computer 5 via a communication line, computer 5, upon receiving the program, may expand it into main memory 7 and execute the above processing. In at least one embodiment, storage 8 is a tangible storage medium that is not temporary.

[0038] Furthermore, the above program may implement some of the functions described above. Moreover, the above program may be a file that can implement the above functions in combination with a program already recorded in the computer system, a so-called differential file (differential program).

[0039] While several embodiments of this disclosure have been described, these embodiments are illustrative and do not limit the scope of the disclosure. These embodiments may be modified in various ways, without departing from the gist of the disclosure.

[0040] Furthermore, some or all of the above embodiments may also be described as follows, but are not limited to these.

[0041] (Note 1) A comparison means for comparing the error log with the values ​​of each sensor, Based on the comparison results by the comparison means, a first determination means determines whether the error log and the values ​​of each sensor match, and if it is determined that the error log and the values ​​of each sensor do not match, it determines that the error log is a log registered due to incorrect processing by the firmware. A processing system equipped with the following features.

[0042] (Note 2) A storage means for storing the values ​​of each of the aforementioned sensors in association with a timestamp. The processing system described in Appendix 1, comprising:

[0043] (Note 3) A second determination means for determining whether the value of each of the aforementioned sensors exceeds a threshold, A processing system as described in Appendix 1 or Appendix 2, comprising:

[0044] (Note 4) If the second determination means determines that the value of each of the sensors exceeds the threshold, the registration means registers the error log. The processing system described in Appendix 3, comprising:

[0045] (Note 5) If the first determination means determines that the error log is a log registered due to incorrect processing by the firmware, the overwrite prevention means sets a flag to prevent the values ​​of each sensor from being overwritten. A processing system described in any one of the appendices 1 to 4, comprising the features of:

[0046] (Note 6) This involves comparing the error log with the values ​​of each sensor, Based on the comparison results, it is determined whether the error log and the values ​​of each sensor match, and if it is determined that the error log and the values ​​of each sensor do not match, it is determined that the error log is a log registered due to incorrect processing by the firmware. A processing method that includes this.

[0047] (Note 7) The values ​​of each of the aforementioned sensors are stored in association with a timestamp. The processing method described in Appendix 6, including the method described therein.

[0048] (Note 8) Determine whether the value of each of the aforementioned sensors exceeds a threshold. The processing method described in Appendix 6 or Appendix 7, including the above.

[0049] (Note 9) If it is determined that the value of each of the aforementioned sensors exceeds the threshold, the error log is registered. The processing method described in Appendix 8, including the method described in Appendix 8.

[0050] (Note 10) If it is determined that the error log was registered due to incorrect processing by the firmware, a flag is set to prevent the values ​​of each sensor from being overwritten. The processing method described in any one of the appendices 6 to 9, including the above.

[0051] (Note 11) This involves comparing the error log with the values ​​of each sensor, Based on the comparison results, it is determined whether the error log and the values ​​of each sensor match, and if it is determined that the error log and the values ​​of each sensor do not match, it is determined that the error log is a log registered due to incorrect processing by the firmware. A program that causes a computer to execute something.

[0052] (Note 12) The values ​​of each of the aforementioned sensors are stored in association with a timestamp. The program described in Appendix 11 that causes the computer to execute.

[0053] (Note 13) Determine whether the value of each of the aforementioned sensors exceeds a threshold. The program described in Appendix 11 or Appendix 12 that causes the computer to execute the program.

[0054] (Note 14) If it is determined that the value of each of the aforementioned sensors exceeds the threshold, the error log is registered. The program described in Appendix 13 that causes the aforementioned computer to execute.

[0055] (Note 15) If it is determined that the error log was registered due to incorrect processing by the firmware, a flag is set to prevent the values ​​of each sensor from being overwritten. A program described in any one of the appendices 11 to 14 that causes the computer to execute the above. [Explanation of symbols]

[0056] 1,700 processing system 5. Computers 6, 10...CPU 7. Main Memory 8. Storage 9. Interface 20···PCH 30···BMC 40, 40a, 40b, 40c... sensors 50···NVRAM 50a...SEL (System Event Log) storage area 50b...RAW data storage area 701... Comparison means 702...first determination means

Claims

1. A comparison means for comparing the error log with the values ​​of each sensor, Based on the comparison results by the comparison means, a first determination means determines whether the error log and the values ​​of each sensor match, and if it is determined that the error log and the values ​​of each sensor do not match, it determines that the error log is a log registered due to incorrect processing by the firmware. A processing system equipped with the following features.

2. A storage means for storing the values ​​of each of the aforementioned sensors in association with a timestamp. The processing system according to claim 1, comprising:

3. A second determination means for determining whether the value of each of the aforementioned sensors exceeds a threshold, The processing system according to claim 1 or claim 2, comprising:

4. If the second determination means determines that the value of each of the aforementioned sensors exceeds the threshold, the registration means registers the error log. The processing system according to claim 3, comprising:

5. If the first determination means determines that the error log is a log registered due to incorrect processing by the firmware, the overwrite prevention means sets a flag to prevent the values ​​of each sensor from being overwritten. The processing system according to claim 4, comprising:

6. A processing method to be performed by a processing system, This involves comparing the error log with the values ​​of each sensor, Based on the comparison results, it is determined whether the error log and the values ​​of each sensor match, and if it is determined that the error log and the values ​​of each sensor do not match, it is determined that the error log is a log registered due to incorrect processing by the firmware. A processing method that includes this.

7. This involves comparing the error log with the values ​​of each sensor, Based on the comparison results, it is determined whether the error log and the values ​​of each sensor match, and if it is determined that the error log and the values ​​of each sensor do not match, it is determined that the error log is a log registered due to incorrect processing by the firmware. A program that causes a computer to execute something.

Citation Information

Patent Citations

  • Information processing device and log recording method

    JP2018180982A

  • Analyzing device, analysis system, analysis method, and program

    WO2020075800A1