Device firmware component version synchronization method
Receive and notify new versions of firmware component information in data processing devices through UEFI's SMI handler, solves the problem of update synchronization of firmware component of devices that do not support PLDM, and realizes real-time, automatic and secure firmware version updates, suitable for various Update the scene.
Patent Information
- Application Number
- CN202411045579.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-07-31
- Publication Date
- 2024-12-17
AI Technical Summary
The Baseboard Management Controller (BMC) cannot automatically synchronize the latest IO adapter firmware version when device firmware component updates that do not support platform-level data model (PLDM). Existing solutions rely on cumbersome periodic polling methods and do not support Non-PLDM hardware such as power supply units and Intel persistent memory hardware.
Receive new version of firmware component version information through the System Management Interrupt (SMI) handler of the Unified Extensible Firmware Interface (UEFI) and notify the Baseboard Management Controller (BMC) to update inventory records for real-time and automatic firmware Version synchronization.
Achieve affordable, real-time and automatic firmware version updates, avoiding the waste of resources of regular polling, and effectively synchronizes with BMC in-band access disabled, improving security and reliability.
Smart Images

Figure CN119149086A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a method for synchronizing device firmware component versions, for example, this method is suitable for (but not limited to) synchronizing versions of device firmware components that do not support a platform level data model (PLDM), such as input / output (IO) adapter versions, for example, during an in-band device firmware update, and a data processing device suitable for (but not limited to) executing this method. Background Art
[0002] PLDM is designed as an interface and data model that provides efficient access to low-level platform inventory, monitoring, control, event, and data / parameter transfer functions. For example, a temperature, voltage, or fan sensor can have a PLDM representation that can be used to monitor or control the platform using a set of PLDM messages. The PLDM binding over the Management Component Transport Protocol (MCTP) defines the format of the PLDM over MCTP messages.
[0003] When a software management tool (such as Lenovo XClarity Administrator) updates a device firmware component (e.g., IO adapter firmware) of a server from the server's operating software (OS) (either from a bare metal update (BMU) or the OS), the baseboard management controller (BMC) does not automatically synchronize the new IO adapter latest firmware version because it is not a platform level data model (PLDM) out-of-band (OOB) firmware update.
[0004] In this case, since the IO adapter firmware does not support PLDM, the BMC cannot obtain the updated IO adapter firmware version via the OOB PLDM method. The Unified Extensible Firmware Interface (UEFI) is required to obtain the new IO adapter firmware version at the next reboot and pass it to the BMC so that the BMC can perform a full inventory check to obtain the updated IO adapter firmware version. This method is cumbersome, not real-time, and not automatic.
[0005] The existing solution to the above situation is to arrange the BMC to poll the IO adapter regularly to update the IO adapter firmware version if there is any indication that the IO adapter firmware version needs to be updated. However, this solution still has some disadvantages. For example, the BMC must perform a comprehensive inventory check on all device firmware components. In addition, device hardware components (e.g., power supply units (PSUs)) that do not have peripheral component interconnect express (PCIe) cannot support PLDM and therefore cannot perform this method. In addition, such hardware as Intel Optane persistent memory (PMem) also cannot support PLDM, and therefore it cannot provide updated device firmware version information in an OOB method. Summary of the invention
[0006] It is therefore an object of the present invention to provide a device firmware component version synchronization method and a data processing apparatus in which at least one of the above disadvantages is alleviated, or at least an alternative solution useful to business and the public is provided.
[0007] According to a first aspect of the present invention, a method for synchronizing device firmware component versions is provided, comprising: updating a data processing device having an existing version of a device firmware component using a new version of the device firmware component; a system management interrupt (SMI) handler of a unified extensible firmware interface (UEFI) of the data processing device receiving version information of the new version of the device firmware component and providing the version information to a baseboard management controller (BMC) of the data processing device; triggering a system management interrupt (SMI) to notify the SMI handler of the UEFI of the version information of the new version of the device firmware component; and the BMC updating an inventory record using the version information.
[0008] According to a second aspect of the present invention, a data processing device is provided, which includes: an existing version of a device firmware component; a unified extensible firmware interface (UEFI) having a system management interrupt (SMI) handler; and a baseboard management controller (BMC), wherein when the existing version of the device firmware component is updated with a new version of the device firmware component, the SMI handler of the UEFI can be configured to receive version information of the new version of the device firmware component and provide the version information to the BMC, wherein the SMI handler of the UEFI can be configured to notify the version information of the new version of the device firmware component by triggering a system management interrupt (SMI), and wherein the BMC can be configured to update an inventory record with the version information. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] An example of a device firmware component version synchronization method according to the present invention and a data processing apparatus suitable for executing the method will now be described by way of example only with reference to the accompanying drawings, in which:
[0010] Figure 1 is a schematic diagram of a data processing device (eg, a server) suitable for executing a device firmware version synchronization method according to an embodiment of the present invention. DETAILED DESCRIPTION
[0011] A data processing device according to an embodiment of the present invention (such as Figure 1 The server (generally designated as 10) includes: various device hardware 12 (which in turn includes a device firmware component 14 (collectively referred to as "device firmware") for providing low-level control of at least some of the device hardware 12); an operating system (OS) 16, which includes a software (SW) management tool operating system (OS) agent 18; a unified extensible firmware interface (UEFI) 20 with a system management interrupt (SMI) handler 22; and a baseboard management controller (BMC) 24 with a BMC inventory module 26.
[0012] The device hardware 12 may include, but is not limited to, a processor, a memory, a redundant array of independent disks (RAID), a network interface controller (NIC), a power supply unit (PSU), etc. As for the device firmware 14, it includes various device firmware components, such as hardware device firmware components, including (but not limited to) input / output (IO) adapters.
[0013] The present invention will be described below in the context of an example in which an existing version of IO adapter firmware is synchronized with a new version of IO adapter firmware for in-band update. However, it should be understood that the present invention can also be implemented and executed in the synchronization of version updates of other device firmware components (such as hardware device firmware components, especially hardware device firmware components that do not support the platform level data model (PLDM)).
[0014] When the existing version of the IO adapter firmware in the server 10 is updated in-band with the new version of the IO adapter firmware, the software (SW) management tool 28 sends an instruction (S102) to the SW management tool OS agent 18 (which is a program itself) in the OS 16 of the server 10 to perform an update on the existing version of the IO adapter firmware with the new version of the IO adapter firmware. Then, the SW management tool OS agent 18 updates (S104) the IO adapter firmware with the new version.
[0015] The SW management tool 28 may be an out-of-band management tool in a data center, such as Lenovo XClarity Administrator or other software management tool products with similar functions. This management tool may control the operation of thousands of servers in a data center.
[0016] After the update of the existing IO adapter firmware is completed with the new version of the IO adapter firmware (S104), the SW management tool OS agent 18 triggers a system management interrupt (SMI) (S106) by updating the special IO port to wake up the SMI processor 22 of the UEFI 20, and notifies the SMI handler 22 of the version information of the new version of the IO adapter firmware updated to the server 10. Specifically, the SW management tool OS agent 18 will pass the new version of the IO adapter firmware to the SMI handler 22 through the Advanced Configuration and Power Interface (ACPI) table. Since the ACPI table also contains the version information of the new version of the IO adapter firmware, the SW management tool OS agent 18 will also obtain the version information of the new version of the IO adapter firmware from the ACPI table. In addition, for some firmware components, further update information can be provided or implemented after the firmware component is updated. For example, when the network interface card is updated with a new version of the firmware, it can also perform an update of the media access control (MAC) address. In this case, both the version information of the new version of the firmware of the network interface and the new MAC address can be obtained from the ACPI table to be transmitted to the SMI handler 22.
[0017] Then, the SMI handler 22 of the UEFI 20 notifies the BMC 24 of the version information of the new version of the IO adapter firmware (S108). The BMC inventory module 26 of the BMC 24 then performs an incremental inventory check on the device firmware (14) of the server 10 (including at least the IO adapter firmware) (S110), and the BMC 24 then updates the specific IO adapter firmware information in the inventory record with the version information of the new version of the IO adapter firmware. Finally, the BMC 24 notifies the SW management tool 28 of the completion of the update of the IO adapter firmware in the server 10 by the new version of the IO adapter firmware (S112).
[0018] The present invention provides the following advantages and benefits:
[0019] (a) Version information updates are economical because it is an incremental inventory check. During an incremental inventory cycle, an incremental inventory file is created that contains all the information that has been added, removed, or changed since the last inventory check. This incremental inventory file is smaller than the full inventory file.
[0020] (b) Inventory information updates (especially version information updates of new versions of IO adapter firmware) are real-time and automatic.
[0021] (c) The present invention may be implemented and executed even when in-band access to the BMC is disabled, such as when Intelligent Platform Management Interface-Keyboard Controller Style (IPMI-over-KCS) is disabled in Commercial National Security Algorithm (CNSA) mode. Although the OS may communicate directly with the BMC via IPMI-over-KCS, in practice this practice is generally prohibited for security reasons, because closing the communication path between the OS and the BMC may ensure the independence between the corresponding internal management network of the OS domain and the BMC, thereby ensuring the security of the system. In contrast, in the present invention, even when the communication path between the OS and the BMC is closed, the OS agent 18 may still provide relevant information to the BMC 24 via the UEFI 20.
[0022] (d) This arrangement not only saves the BMC from the trouble of performing periodic polling (and from using resources for performing periodic polling), but also ensures that if an update of a firmware component has been performed, the BMC receives version information of the latest version of the firmware component.
[0023] (e) Although the SW management tool 28 can obtain new firmware version information from the OS agent 18 to transmit to the BMC 24, this method faces certain limitations. First, communication from the out-of-band SW management tool to the BMC will require security authorization. This makes the operation complicated and reduces security. In contrast, in the present invention, communication is carried out between the UEFI 20 and the BMC 24 of the same server 10, which is safer and more reliable. Secondly, some users do not use any SW management tools, but use OS agents that have been verified by themselves. In some other scenarios, users use servers rented from a data center and perform firmware updates during the lease period, but the users do not have any SW management tools to directly control the BMC of the relevant servers in the data center. In this case, the OS agent cannot notify the BMC of the firmware update by any means. Therefore, the present invention is a more general solution because it is applicable to scenarios where the update is performed in-band by the OS or by an out-of-band SW management tool.
[0024] It should be understood that the above only shows examples of the present invention, and various modifications and / or changes can be made thereto without departing from the spirit of the present invention. It should also be understood that, for the sake of brevity, the various features of the present invention described herein in the context of a single embodiment may also be provided individually or in any suitable sub-combination.
Claims
1. A method for synchronizing device firmware component versions, comprising: updating a data processing apparatus having an existing version of a device firmware component with a new version of said device firmware component, a system management interrupt (SMI) handler of a unified extensible firmware interface (UEFI) of the data processing device, which receives version information of the device firmware component of the new version and provides the version information to a baseboard management controller (BMC) of the data processing device, triggering a system management interrupt (SMI) to notify the version information of the new version of the device firmware component to an SMI handler of the UEFI, and The BMC updates inventory records using the version information.
2. The method of claim 1, wherein the device firmware component is a hardware device firmware component.
3. The method of claim 1, wherein the device firmware component does not support a platform level data model (PLDM).
4. The method of claim 3, wherein the hardware device firmware component is an input / output (IO) adapter.
5. The method according to any one of claims 1 to 4, wherein the data processing device is updated with the new version of the device firmware component by an operating system (OS) of the data processing device.
6. The method of any one of claims 1 to 4, wherein the version information of the new version of the device firmware component is notified to the SMI handler of the UEFI through an Advanced Configuration and Power Interface (ACPI) table.
7. The method according to any one of claims 1 to 4, comprising the BMC notifying a software management tool of the completion of the updating of the data processing apparatus with the new version of the device firmware component.
8. The method of any one of claims 1 to 4, wherein the updating is performed in-band.
9. The method of any one of claims 1 to 4, wherein the BMC performs an incremental inventory check on device firmware components of the data processing apparatus before updating the inventory record with the version information.
10. A data processing device, comprising: The current version of the device firmware component, Unified Extensible Firmware Interface (UEFI) with System Management Interrupt (SMI) handler, and Baseboard Management Controller (BMC), wherein after the existing version of the device firmware component is updated with the new version of the device firmware component, the SMI handler of the UEFI can be configured to receive version information of the new version of the device firmware component and provide the version information to the BMC, wherein the SMI handler of the UEFI is configurable to be notified of the version information of the device firmware component of the new version by triggering a system management interrupt (SMI), and The BMC can be configured to update an inventory record using the version information.
11. The apparatus of claim 10, wherein the device firmware component is a hardware device firmware component.
12. The apparatus of claim 12, wherein the device firmware component does not support a platform level data model (PLDM).
13. The apparatus of claim 12, wherein the hardware device firmware component is an input / output (IO) adapter.
14. The apparatus of any one of claims 10 to 13, wherein an operating system (OS) of the data processing apparatus is configurable to update the data processing apparatus with the new version of the device firmware component.
15. The apparatus of any one of claims 11 to 13, wherein the SMI handler of the UEFI is configurable to be notified of the version information of the device firmware component of the new version through an Advanced Configuration and Power Interface (ACPI) table.
16. The apparatus of any one of claims 10 to 13, wherein the BMC is configurable to notify a software management tool of completion of the updating of the data processing apparatus with the new version of the device firmware component.
17. Apparatus as claimed in any one of claims 10 to 13, wherein the updating is adapted to be performed in-band.
18. The apparatus of any one of claims 10 to 13, wherein the BMC is configurable to perform an incremental inventory check of device firmware components of the data processing apparatus.
