How to add new sensors

By updating the function library in the substrate management controller and loading sensor identification information and function functions, the sensor function is dynamically loading, and the problem of system unavailability and long verification time when the sensor is added is solved, and efficient sensor monitoring function is achieved.

CN113946482BActive Publication Date: 2025-08-19KUNDA COMP TECHKUSN +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202010678333.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-07-15
Publication Date
2025-08-19
Estimated Expiration
2040-07-15

AI Technical Summary

Technical Problem

When the existing technology adds the new PCIE/OCP add-on card sensor, it is necessary to recompile the substrate management control firmware and restart the substrate management controller, resulting in the system being unavailable and the verification time is long and the cost is high.

Method used

By updating the function library of the substrate management controller, the identification information and functional functions of the newly added sensor are defined in the target function library, and the sensor data record table is loaded and initialized through the main program, and the sensor function is dynamically loaded without recompiling or restarting the substrate management controller.

Benefits of technology

The dynamic new sensor function has been realized, which reduces the risk of substrate management and control firmware updates, shortens the issuance timeline, and reduces cost and overhead.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113946482B_ABST
    Figure CN113946482B_ABST
Patent Text Reader

Abstract

A method for adding newly added sensors is implemented by a baseboard management controller (BMC), which stores a BMC firmware. The method includes the following steps: (A) updating the function library in the BMC firmware originally stored with a target function library, wherein the target function library contains identification information and function functions of each newly added sensor; (B) loading the target function library; (C) for each sensor, determining whether the identification information of the sensor exists in the sensor data record table in the BMC firmware; (D) when it is determined that the identification information of the sensor does not exist, adding the identification information of the sensor; and (E) for each sensor added to the sensor data record table, initializing the variables related to the sensor.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a method for collecting the operating status of a computer device, and more particularly to a method for adding the monitoring function of at least one sensor added to a computer device to the monitoring function provided by a baseboard management controller included in the computer device. Background Art

[0002] One of the primary functions of a baseboard management controller (BMC) in a computer device is to collect information about the device's operating status and system status, such as system voltage, temperature, and fan speed. After mass production, customers may sometimes require support for new expansion cards, such as PCIE / OCP add-on cards, to provide diverse services. This necessitates adding a sensor to monitor the voltage and temperature of the PCIE / OCP add-on card and integrating this sensor's monitoring functionality into the BMC's monitoring functions. To do this, administrators must first define the sensor's information within the BMC's BMC firmware's main program. When generating the BMC firmware, the administrator must recompile the modified main program, re-burn the BMC firmware, and reboot the BMC. Only then can the BMC obtain the newly added sensor information. However, during the flashing and rebooting process (which can last several minutes), the BMC becomes unavailable and may even fail to flash, a critical requirement for highly reliable systems.

[0003] Furthermore, due to the current release process, recompiled baseboard management control firmware must be verified by a testing unit before it can be delivered to customers. This often takes a while and is inefficient, so a solution is necessary. Summary of the Invention

[0004] The technical problem to be solved by the present invention is to provide a method for dynamically adding new sensors without having to re-burn the baseboard management control firmware and restart the baseboard management controller, and shortening the release schedule to reduce the cost of adding the new sensors.

[0005] To address the aforementioned technical issues, the present invention provides a method for adding a new sensor. The method is applicable to adding the monitoring function of at least one sensor added to a computer device to the monitoring function provided by a baseboard management controller (BMC) included in the computer device. The BMC stores BMC firmware including a main program, a function library, and a sensor data log table. The method for adding a new sensor includes the following steps:

[0006] (A) Updating the function library previously stored in the baseboard management control firmware to a target function library, wherein the target function library contains identification information of each newly added sensor and function functions for operating the monitoring function thereof;

[0007] (B) loading the target library through execution of the main program;

[0008] (C) determining, through execution of the main program, for each sensor, whether there is a record in the sensor data record table that is identical to the identification information of the sensor;

[0009] (D) when it is determined that no record exists that is identical to the identification information of the sensor, calling, via the main program, a function associated with the sensor in the target library to add the identification information of the sensor to the sensor data record table; and

[0010] (E) For each sensor added to the sensor data record table, the main program calls the function associated with the sensor in the target function library to initialize the variables associated with the sensor in the target function library.

[0011] Compared to the prior art, the present invention updates the previously stored library in the BMC firmware with the target library, loads the target library, and uses the main program to call the sensor-related function functions in the target library. This dynamically adds the identification information of sensors not already in the sensor data table to the sensor data table and initializes the variables associated with the newly added sensors. This dynamically loads the function functions for each sensor and adds its identification information to the sensor data table, allowing the BMC to obtain the sensing information of the newly added sensors. Because the identification information for each newly added sensor and the function functions for operating its monitoring functions are defined in the target library, the target library can simply replace the old library, eliminating the need to recompile the BMC firmware's main program. Consequently, there's no need to re-burn the BMC firmware or restart the BMC. This reduces the chances of updating the BMC firmware and avoids the risk of the BMC losing service due to update failures. In addition, the testing unit only needs to verify the target library, which can reduce verification time, shorten the release schedule and reduce cost overhead. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] Other features and effects of the present invention will be clearly presented in the embodiments with reference to the accompanying drawings, in which:

[0013] Figure 1 is a block diagram illustrating a computer device for implementing an embodiment of the method of the present invention incorporating an additional sensor;

[0014] Figure 2 is a flow chart illustrating an embodiment of a method of adding a newly added sensor according to the present invention; and

[0015] Figure 3 The invention is a flow chart illustrating how to determine whether to add identification information corresponding to each of at least one sensor to a sensor data record table. DETAILED DESCRIPTION

[0016] See Figure 1An embodiment of the method for adding a new sensor according to the present invention is applicable to adding the monitoring function of at least one sensor 11 added to a computer device 1 to the monitoring function provided by a baseboard management controller 12 included in the computer device 1, and implementing the function via the computer device 1. The computer device 1 includes at least one sensor 11 for monitoring a component (not shown) of the computer device 1, and the baseboard management controller 12 electrically connected to the at least one sensor 11. The baseboard management controller 12 stores baseboard management control firmware including a main program, a function library, and a sensor data record.

[0017] See Figure 1 and Figure 2 , an embodiment of the method for adding the newly added sensor includes the following steps.

[0018] In step 21, the baseboard management controller 12 updates the function library previously stored in the baseboard management controller firmware to a target function library. This target function library contains the identification information of each newly added sensor 11 and function functions for operating its monitoring functions, such as CreateSensor() and InitSensor(). It is worth noting that the identification information and function functions of each sensor 11 in the target function library are defined by an administrator.

[0019] In step 22, the baseboard management controller 12 loads the target library via the execution of the main program in response to an OEM instruction. It is worth noting that the baseboard management controller 12 executes the main program upon power-up, and also loads the target library via the execution of the main program when collecting the operating status and system status information of the computer device 1. In this way, the function functions of each newly added sensor 11 are also loaded along with the loading of the target library. Therefore, even if the function functions of each newly added sensor 11 are not included in the main program, they can still be loaded along with the loading of the target library. In addition, in this embodiment, the baseboard management controller 12 can be triggered to load the target library by issuing the OEM command, so that the updated target library can be loaded in real time after the target library is updated. However, in other embodiments of the present invention, since the baseboard management controller 12 will reload the main program and the library every time the baseboard management controller 12 is restarted, the updated target library does not necessarily need to be loaded by issuing the OEM command. The effect of loading the updated target library can also be achieved by restarting the baseboard management controller 12.

[0020] In step 23, the baseboard management controller 12, through execution of the main program, determines whether the identification information corresponding to each of the at least one sensor 11 can be added to the sensor data record table based on the sensor data record table and the number of the at least one sensor 11. If the baseboard management controller 12 determines that the identification information corresponding to each of the at least one sensor 11 cannot be added to the sensor data record table, the process ends. If the baseboard management controller 12 determines that the identification information corresponding to each of the at least one sensor 11 can be added to the sensor data record table, the process proceeds to step 24.

[0021] It is worth mentioning that step 23 also includes the following sub-steps (see Figure 3 ).

[0022] In sub-step 231, the baseboard management controller 12, through the execution of the main program, adds the number of sensor records already existing in the sensor data record table (i.e., the number of sensors 11 originally recorded in the sensor data record table) to the number of at least one newly added sensor 11 to obtain a total number of sensors.

[0023] In sub-step 232, the baseboard management controller 12, through execution of the main program, determines whether the total number of sensors is less than or equal to a predetermined number threshold, so as to determine whether the identification information corresponding to each of the at least one sensor 11 can be added to the sensor data record table. When the baseboard management controller 12 determines that the total number of sensors is less than or equal to the predetermined number threshold, it determines that the identification information corresponding to each of the at least one sensor 11 can be added to the sensor data record table. When the baseboard management controller 12 determines that the total number of sensors is greater than the predetermined number threshold, it determines that the identification information corresponding to each of the at least one sensor 11 cannot be added to the sensor data record table.

[0024] In step 24, for each sensor 11, the baseboard management controller 12, through execution of the main program, determines whether there is a record in the sensor data record table that is identical to the identification information of the sensor 11. If the baseboard management controller 12 determines that there is no record that is identical to the identification information of the sensor 11, the process proceeds to step 25. If the baseboard management controller 12 determines that there is a record that is identical to the identification information of the sensor 11, the process proceeds to step 26.

[0025] In step 25 , the BMC 12 calls the sensor-related function (ie, CreateSensor()) in the target library via the main program to add the identification information of the sensor 11 to the sensor data record table.

[0026] In step 26 , the BMC 12 does not add the identification information of the sensor 11 to the sensor data record table.

[0027] In step 27, for each sensor 11 added to the sensor data record table, the baseboard management controller 12, through the main program, calls the sensor-related function in the target library (i.e., InitSensor()) to initialize the variables in the target library associated with the sensor 11 added to the sensor data record table. It is worth noting that once the identification information of the sensor 11 is recorded in the sensor data record table and initialization is completed, the baseboard management controller 12 can use the loaded function corresponding to each sensor 11 in the sensor data record table to collect the sensing information monitored by the sensor 11 based on its identification information.

[0028] It is worth noting that in this embodiment, in response to the OEM command, the baseboard management controller 12 also triggers the main program to create a task to perform steps 23-24. The main program task then calls the sensor-related function in the target library to perform steps 25 and 27. However, in other embodiments, the execution of steps 23-24 and the call to the sensor-related function in the target library to perform steps 25 and 27 can be directly defined in a function of the main program, but the present invention is not limited to this.

[0029] In summary, the present invention updates the function library originally stored in the baseboard management control firmware to the target function library, loads the target function library, and calls the target function library through the main program to dynamically add the identification information of the sensor 11 that does not exist in the sensor data record table to the sensor data record table, and initializes the variables related to the sensor 11 added to the sensor data record table, thereby dynamically loading the function function of each sensor 11 and adding its identification information to the sensor data record table, so that the baseboard management controller 12 can obtain the sensing information of the newly added sensor 11 according to the newly added identification information in the sensor data record table and the loaded function function. Because the identification information for each newly added sensor 11 and the function functions used to operate its monitoring functions are defined in the target library, the target library only needs to replace the old library, eliminating the need to recompile the main program of the baseboard management control firmware. Consequently, there is no need to re-burn the baseboard management control firmware and restart the baseboard management controller 12. This reduces the probability of updating the baseboard management control firmware and avoids the risk of the baseboard management controller 12 being unable to provide services due to update failures. Furthermore, the testing unit only needs to verify the target library, which reduces verification time, shortens the release schedule, and reduces costs, thus effectively achieving the objectives of the present invention.

[0030] However, the above is merely an embodiment of the present invention and should not be used to limit the scope of implementation of the present invention. All simple equivalent changes and modifications made according to the claims and the contents of the patent specification of the present invention are still within the scope of the patent of the present invention.

Claims

1. A method for adding a newly added sensor, adapted to add the monitoring function of at least one newly added sensor to a computer device to the monitoring function provided by a baseboard management controller included in the computer device, and implemented by the baseboard management controller, wherein the baseboard management controller stores baseboard management control firmware including a main program, a function library, and a sensor data record table, characterized in that The method of adding the newly added sensor includes the following steps: (A) Updating the function library previously stored in the baseboard management control firmware to a target function library, wherein the target function library contains identification information of each newly added sensor and function functions for operating the monitoring function thereof; (B) loading the target library through execution of the main program; (C) determining, through execution of the main program, for each sensor, whether there is a record in the sensor data record table that is identical to the identification information of the sensor; (D) when it is determined that no record exists that is identical to the identification information of the sensor, calling, via the main program, a function associated with the sensor in the target library to add the identification information of the sensor to the sensor data record table; and (E) For each sensor added to the sensor data record table, the main program calls the function associated with the sensor in the target function library to initialize the variables associated with the sensor in the target function library.

2. The method for adding a new sensor as claimed in claim 1, wherein Between steps (B) and (C), a step (F) is further included, wherein, through the execution of the main program, it is determined based on the sensor data record table and the number of at least one sensor whether the identification information corresponding to each of the at least one sensor can be added to the sensor data record table; When it is determined that the identification information corresponding to each of the at least one sensor can be added to the sensor data record table, step (C) is performed.

3. The method for adding a new sensor as claimed in claim 2, wherein ,Step (F) comprises the following sub-steps: (F-1) adding the number of sensor records already existing in the sensor data record table to the number of the at least one newly added sensor to obtain a total number of sensors; and (F-2) Determine whether the total number of sensors is less than or equal to a preset quantity threshold, so as to determine whether identification information corresponding to each of at least one sensor can be added to the sensor data record table.

4. The method for adding a new sensor as claimed in claim 1, wherein In step (B), the baseboard management controller loads the target function library in response to an OEM instruction.

5. The method for adding a new sensor according to claim 4, wherein: In step (B), the baseboard management controller further triggers the main program to establish a task in response to the OEM instruction; In step (C), the baseboard management controller determines, for each sensor, whether there is a record in the sensor data record table that has the same identification information as the sensor through execution of the task of the main program; In step (D), the baseboard management controller calls the function related to the sensor in the target function library through the task of the main program to add the identification information of the sensor to the sensor data record table; and In step (E), the baseboard management controller calls the function related to the sensor in the target function library through the task of the main program to initialize the variables related to the sensor.

Citation Information

Patent Citations

  • Baseboard management controller updating system and updating method

    CN103914323A

  • Virtual intelligent platform management interface (IPMI) satellite controller and method

    EP3249536A1