Important product data recovery method and system

By storing the BMC MAC address and VPD in a remote database and writing them to the new motherboard after the motherboard replacement, the problem of incorrect identification by the system management software after the motherboard replacement was solved, and the warranty and license functions were restored.

CN121636256APending Publication Date: 2026-03-10LENOVO (BEIJING) LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-10-21
Publication Date
2026-03-10

AI Technical Summary

Technical Problem

After replacing the server motherboard, existing technologies are prone to human error that can cause the system management software to fail to recognize the server, resulting in the invalidation of warranty and/or license functions.

Method used

The server's BMC Media Access Control (MAC) address and VPD are stored in a remote database. After the motherboard is replaced, the data is written to the new motherboard using system management software. The BMC MAC address is then used to match and restore the VPD data.

Benefits of technology

Ensure that the system management software can correctly identify the server after the motherboard is replaced, restore warranty and license functions, and reduce the occurrence of human error.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121636256A_ABST
    Figure CN121636256A_ABST
Patent Text Reader

Abstract

The invention discloses an important product data (VPD) recovery method. Comprising the steps of: (a) storing a media access control (MAC) address of a baseboard management controller (BMC) chip (20) of a server (10a) carried in an input / output (IO) card (17) and a first universal unique identifier (UUID) of a first mainboard (12a) of the server into a local database (16) of system management software (14) operably connected with the server (10a); (b) after the first mainboard is replaced by a second mainboard (12b) with a second UUID, the replaced server (10b) is restarted, and the second UUID is different from the first UUID of the first mainboard; and (c) the system management software writes the first UUID of the first mainboard stored in the database into the second mainboard.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present invention relates to a method and system for recovering vital product data (VPD), and more particularly, to a method and system for recovering VPD of a server after replacing a motherboard of the server. BACKGROUND

[0002] Each server has a certain amount of VPD, which is a collection of configuration and information data associated with the server. The VPD can include one or more of server type, server model, server serial number, server component identifier (ID), universally unique identifier (UUID), etc., which are stored in a baseboard management controller (BMC) flash or a live erasable programmable read only memory (EEPROM) of the motherboard. Figure 1 An exemplary set of VPD of a motherboard (also referred to as "server VPD", "system VPD", or "system board VPD") is shown, including machine name, machine type / model, machine S / N (i.e., serial number), system board S / N, UUID, and FRU (i.e., field replaceable unit) number.

[0003] System management software typically uses the server VPD as a server unique identifier to obtain server hardware inventory information and to receive server hardware alerts. In addition, server warranty is typically tied to the server serial number (e.g., "J300CKTT" in Figure 1 and server license is tied to the server model and serial number (e.g., "7X05" + "J300CKTT" in Figure 1 ).

[0004] When a server has a hardware problem, a service person (e.g., a service engineer) can have to replace the motherboard of the server. To ensure that the system management software can recognize the server after the motherboard replacement ("post-replacement"), the service person has to first obtain and record the server VPD before the motherboard replacement ("pre-replacement"), and then write the VPD back to the BMC after the motherboard replacement by some means. If this is not done, certain functions tied to the server VPD (e.g., warranty and / or license) will be disabled.

[0005] It is apparent that the above process of recording the VPD from the pre-replacement server and writing the VPD back (recovering) to the post-replacement server is prone to human error.

[0006] Therefore, it is an object of the present invention to provide a method and system for recovering vital product data (VPD) to alleviate the above drawbacks, or at least to provide the industry and public with a useful alternative. SUMMARY

[0007] According to a first aspect of the present application, there is provided a method for Vital Product Data (VPD) recovery, comprising the steps of: (a) storing a Media Access Control (MAC) address in a Baseboard Management Controller (BMC) chip in an Input / Output (IO) card of a server and a first VPD of a first motherboard of the server into a database remote from the server; (b) after replacing the first motherboard with a second motherboard having a second VPD, wherein the second VPD is different from the first VPD of the first motherboard, rebooting the server; and (c) a system management software operably connected with the server writing the first VPD of the first motherboard stored in the database to the second motherboard.

[0008] According to a second aspect of the present application, there is provided a system for Vital Product Data (VPD) recovery, comprising: a server having a first motherboard with a first VPD and a Baseboard Management Controller (BMC) chip with a Media Access Control (MAC) address, the BMC chip carried in an Input / Output (IO) card; a system management software operably connectable with the server; wherein when the system management software is operably connected with the server, the server is configured to transmit the first VPD and the BMC MAC address to the system management software for storing into a database remote from the server; and wherein after replacing the first motherboard with a second motherboard having a second VPD, wherein the second VPD is different from the first VPD of the first motherboard, and when the system management software is operably connected with the server, the system management software is configured to write the first VPD of the first motherboard stored in the database to the second motherboard. BRIEF DESCRIPTION OF DRAWINGS

[0009] A method and system for Vital Product Data (VPD) recovery according to an example of the present application will now be described by way of example only, with reference to the accompanying drawings in which: Figure 1 A table showing an example set of VPDs for a server motherboard / server system board; Figure 2 A schematic diagram of a VPD recovery system and process for implementing a VPD recovery method according to an example of the present application; Figure 3 An example event subscription record for a system management software in a BMC, with a MAC address in the "Context" field, is shown; Figure 4 An example BMC event sent to a system management software, with a MAC address in the "Context" field, is shown; Figure 5To show a more detailed flowchart of the operation of the method according to an embodiment of the present application. DETAILED DESCRIPTION

[0010] Figure 2 A process of a vital product data (VPD) recovery system and implementing a vital product data (VPD) recovery method according to an embodiment of the present application is shown, where a server 10a before its motherboard / system board 12a is replaced (referred to as “pre-replacement server”), a server 10b after the motherboard 12a is replaced with another motherboard 12b (referred to as “post-replacement server”), and a system management software 14 (e.g., Lenovo® XClarity Administrator) operatively connected with the pre-replacement server 10a / post-replacement server 10b are shown.

[0011] Each motherboard 12a, 12b has a number of vital product data (VPD), some of which are unique to each motherboard 12a, 12b. One such unique VPD is a universally unique identifier (UUID). Other VPDs include, for example, server model, server model number, component identifier (ID), and server serial number. Thus, the motherboard 12a has a first set of VPDs 12aa (including, for example, a first UUID, a first model, and a first machine serial number), and the motherboard 12b has a second set of VPDs 12bb (including, for example, a second UUID, a second model, and a second machine serial number), where the first set of VPDs 12aa is different from the second set of VPDs 12bb because at least the first UUID is different from the second UUID, and the first machine serial number is different from the second serial number.

[0012] The server (whether the pre-replacement server 10a or the post-replacement server 10b) has an input / output (IO) card 17 (physically separate from the motherboard 12a / 12b) for hosting a BMC chip 20. The BMC media access control (MAC) address is stored in the BMC chip 20 on the IO card 17, which can be a standalone field replaceable unit (FRU).

[0013] The Field Replaceable Unit (FRU) format is a data format standard used to describe detailed information about field replaceable units (such as hardware components in a server). It is commonly used for hardware device status monitoring and management, especially in data center and server environments. The Intelligent Platform Management Interface (IPMI) is a hardware-level interface standard for servers and other platforms. It provides a method for managing servers when system software malfunctions. FRU information storage is part of the IPMI standard and defines the specific storage methods and formats for FRU data. Field Replaceable Units (FRUs) are typically replaceable components in a server. Examples include motherboards, power supplies, and fans. If an FRU is present, it can be quickly and easily replaced.

[0014] In typical server products, FRU information is burned into non-volatile memory (such as EEPROM). Some manufacturers refer to this information as VPD (Very Important Product Data), while others simply call it FRU data. This depends on the common usage. VPD stores important device information, such as part number, serial number, and other device-specific data. For example, on a server motherboard, there is typically an EEPROM used to store the motherboard's FRU information (brand name, product number, etc.), which can be read by the BMC.

[0015] First, at the general level, to perform the VPD recovery method according to the present invention, information such as (but not limited to) the server Internet Protocol (IP) address, BMC MAC address, and server VPD (e.g., including the UUID, model, and machine serial number of the motherboard 12a) is copied from the pre-replacement server 10a and stored in database 16, which the system management software 14 can subsequently access when operatively connected to the pre-replacement server 10a. This database 16 is located remotely from the server 10a. In one possible configuration, the database 16 may be a local database of the system management software 14. This step can be performed during the initial deployment of the pre-replacement server 10a and when the system management software 14 is operatively connected to the pre-replacement server 10a, wherein the system management software 14 subscribes to BMC events and adds the BMC MAC address as content to the BMC event subscription. When the BMC card 20 sends an event to the system management software 14 (e.g., via...), Figure 3 The format shown (where the BMC MAC address is in the "Context" field) is then sent back to the system management software 14.

[0016] Since the IO card 17 is physically separate from the motherboard 12a, replacing the motherboard 12a with the motherboard 12b will not affect the IO card 17. Therefore, the BMC MAC address stored in the BMC chip 20 remains unchanged and unaffected. After replacing the motherboard 12a with the motherboard 12b, the IO card 17 is also physically separated from the motherboard 12b. Furthermore, since the BMC chip 20 is installed on the IO card 17, and the IO card 17 is physically separated from the motherboards 12a and 12b, this achieves the physical separation of the BMC chip 20 from the motherboards 12a and 12b.

[0017] The service engineer then reboots the replaced server 10b, at which point I / O card 17 sends a reboot event to system management software 14, which is operatively connected to the replaced server 10b. System management software 14 then looks up server record 26 in database 16 (e.g., its own local database) by mapping the BMC MAC address of the rebooted replaced server 10b. Specifically, when system management software 14 receives a reboot event, it checks the event's UUID and the address of the "Context" field (e.g., using...). Figure 4 (as shown in the format). Server record 26 in database 16 includes a set of BMC MAC addresses and VPDs received from each server (including the previous server 10a).

[0018] If, upon comparison, the UUID of the event (i.e., the UUID of motherboard 12b) does not match any system UUID stored in server record 26 in database 16 of system management software 14, but the BMC MAC address in the "Context" field of the event matches a certain BMC MAC address stored in database 16 of system management software 14, then system management software 14 immediately determines that the motherboard of server 10b has been replaced.

[0019] System management software 14 then reads the mapped system VPD from database 16, including one or more of, for example, the IP address, UUID, model, machine type, part ID, and machine serial number of the pre-replacement server 10a, and issues a (visual and / or audible) output seeking user permission to restore the VPD information of motherboard 12a (i.e., the pre-replacement server 10a) to motherboard 12b, thereby restoring it to the post-replacement server 10b. When the user / service engineer responds to this output by entering a confirmation / permission command (e.g., pressing the "ENTER" key), system management software 14 immediately copies the VPD of motherboard 12a (including, for example, the UUID, model, and machine serial number of motherboard 12a) stored in database 16 and writes / restores it to the motherboard 12b already installed on the post-replacement server 10b. The data written / restored to the post-replacement server 10b may be as follows: onecli config set SYSTEM_PROD_DATA.SysInfoUUID C070A82D4C39B801D96C5A59B7112345 --bmc USERID:PASSW0RD@BMCIP onecli config set SYSTEM_PROD_DATA.SysInfoSerialNum 1234567890 --bmcUSERID:PASSW0RD@BMCIP At a more detailed level, Figure 5 The operation flow of the VPD recovery method according to the present invention is demonstrated. The system management software 14 starts running (S102), and the BMC card 20 of the previous server 10a also starts running (S104). The previous server 10a uses the BMC card 20 for out-of-band server management (S105). As described above, the BMC chip 20 is located on the IO card 17, the BMC MAC address is stored in the BMC chip 20, and the system VPD 12aa (such as server type / model / serial number / part ID / UUID) is stored in the motherboard 12a of the previous server 10a (S106).

[0020] System management software 14 manages server 10a by operably connecting to server BMC card 20 (previously used for server 10a) (S108), after which BMC card 20 receives management calls from system management software 14 (S110). During the server management phase, system management software 14 subscribes to BMC events and places the BMC MAC address in the "Context" field of the event subscription request (S112). Subsequently, BMC card 20 receives the event subscription request from system management software 14 and creates a new event subscription record for system management software 14 in BMC card 20 (S114). Thereafter, all events sent to system management software 14 via BMC card 20 will include this BMC MAC address in the "Context" field.

[0021] System management software 14 then reads system VPD 12aa from server 10a (S116), and BMC card 20 subsequently provides system information (including VPD information) to system management software 14 (S118). System management software 14 stores system VPD 12aa in its local database 16 and uses system VPD 12aa to associate system warranty and licenses, etc. (S120). This step can be performed during the initial deployment of server 10a before replacement.

[0022] If the system motherboard 12a subsequently experiences a hardware problem (e.g., a circuit failure in motherboard 12a) (S122), the service engineer will replace the motherboard 12a of this server 10a with another motherboard 12b (S124). During the motherboard replacement, the IO card 17 remains unchanged, therefore the BMC MAC address stored in the BMC chip 20 remains unchanged (S126). The service engineer then reconnects the replaced server 10b to the management network. Although the system BMC card 20 may obtain the same or different IP address from the customer's data center Dynamic Host Configuration Protocol (DHCP) server, the BMC MAC address stored in the BMC chip 20 remains unchanged (S128). The service engineer restarts the replaced server 10b (S130), and then the system / replaced server 10b sends a restart event to the system management software 14 (S132). This restart event contains the system BMC IP and BMC MAC address, and the BMC MAC address is stored in the event's "Context" field.

[0023] Subsequently, the system management software 14 receives a system reboot event from the replaced server 10b (S134) and processes the received system event using the system UUID of the motherboard 12b of the replaced server 10b as the system unique identifier (S136). In this case, since the motherboard 12a has been replaced by the motherboard 12b, the system management software 14 fails to find the system UUID of the motherboard 12b in its local database 16 after comparison (S138). The system management software 14 then checks whether there is a system record in the server record 26 of its local database 16 whose BMC MAC address is the same as the BMC MAC address in the received event "Context" field (S140). If, during this comparison process, the system management software 14 does not find a system record in the local database 16 with the same BMC MAC address as received from the BMC card 20 of the rebooted replaced server 10b (S142), it continues to run. On the other hand, if during this comparison process, the system management software 14 finds a system record in its local database 16 that has the same BMC MAC address as the one received from the BMC card 20 of the replaced server 10b after reboot (S142), the system management software 14 retrieves the VPD information of the record with the same BMC MAC address as the server record from its local database 16 (S144). Then, the system management software 14 prompts the user (e.g., a service engineer) by asking if the user allows the system management software 14 to write the VPD data back (restore) to the new motherboard 12b of the replaced server 10b (S146). If the user allows the system management software 14 to write this VPD information back to the rebooted system / replaced server 10b (S148), the system management software 14 then writes / restores the VPD information of the motherboard 12a to the rebooted system / replaced server 10b (S150). At that time, the system VPD is restored to the new motherboard 12b of the replaced server 10b via the BMC card 20 (S152), and then the BMC card 20 continues to operate. The server warranty and license information was corrected using the server's old UUID, so these details are displayed correctly in the system management software 14 (S154).

[0024] It should be understood that the above is merely an example illustrating how the invention can be implemented, and various modifications and / or alterations can be made thereto without departing from the spirit of the invention. It should also be understood that the various features of the invention described in the context of a single embodiment for the sake of brevity may also be provided individually or in any suitable sub-combination.

Claims

1. A vital product data (VPD) recovery method characterized by, comprising the steps of: (a) storing, in a remote database, a media access control (MAC) address of a baseboard management controller (BMC) chip of a server that is carried in an input / output (IO) card and a first VPD of a first motherboard of the server; (b) after replacing the first motherboard with a second motherboard having a second VPD that is different from the first VPD of the first motherboard, rebooting the server; and (c) a system management software operably connected to the server writing the first VPD of the first motherboard stored in the database to the second motherboard.

2. The method of claim 1, wherein, The database comprises a local database of the system management software.

3. The method of claim 1, wherein, The first VPD of the first motherboard comprises a universally unique identifier (UUID) of the first motherboard and optionally one or more of a server model, a server model number, a component identifier (ID), and a server serial number of the first motherboard.

4. The method of claim 1, wherein, The BMC flash chip is physically separate from the first motherboard and the second motherboard.

5. The method of claim 1, wherein, In the step (b), further comprising the step (e) of the server transmitting the MAC address of the BMC card of the server and the second VPD of the second motherboard to the system management software.

6. The method of claim 5, wherein, Further comprising the step (f) of the system management software comparing the MAC address of the BMC card of the server and the second VPD of the second motherboard received in the step (e) with a set of BMC MAC addresses and VPDs stored in the database.

7. The method of claim 6, wherein, If in the step (f), the MAC address of the BMC card of the server received in the step (e) matches a BMC MAC address stored in the database and the second VPD of the second motherboard received in the step (e) does not match any server VPD stored in the database, the method further comprises the step (g) of the system management software issuing an output request permission to write the first VPD of the first motherboard stored in the database to the second motherboard.

8. The method of claim 7, wherein, Further comprising: After receiving the permission, the system management software writes the first VPD of the first motherboard stored in the database to the second motherboard.

9. A vital product data (VPD) recovery system, characterized by, Comprising: a server having a first motherboard with a first VPD and a baseboard management controller (BMC) chip with a media access control (MAC) address, the BMC chip being carried in an input / output (IO) card; a system management software operably connectable to the server; wherein when the system management software is operably connected to the server, the server is configured to transmit the first VPD and the BMC MAC address to the system management software for storage in a remote database; and the system management software is configured to compare the first VPD and the BMC MAC address received from the server with a set of VPDs and BMC MAC addresses stored in the database. wherein, after the first motherboard is replaced with a second motherboard having a second VPD, wherein the second VPD is different from a first VPD of the first motherboard, and while the system management software is operatively connected with the server, the system management software is configured to write the first VPD of the first motherboard stored in the database to the second motherboard.

10. The system of claim 9, wherein, The database comprises a local database of the system management software.

11. The system of claim 9, wherein, The first VPD of the first motherboard comprises a universally unique identifier (UUID) of the first motherboard, and optionally one or more of a server model, a server model number, a component identifier (ID), and a server serial number of the first motherboard.

12. The system of claim 9, wherein, The BMC chip is mounted on the IO card, which is physically separate from the first motherboard and the second motherboard, such that the BMC chip is also physically separate from the first motherboard and the second motherboard.

13. The system of claim 9, wherein, The server is configured to, after the first motherboard is replaced with the second motherboard, and while operatively connected with the system management software, transmit a MAC address of a BMC card of the server and a second VPD of the second motherboard to the system management software.

14. The system of claim 13, wherein, The system management software is configured to, while operatively connected with the server, compare the MAC address of the BMC card of the server and the second VPD of the second motherboard received from the server with a set of BMC MAC addresses and VPDs stored in the database.

15. The system of claim 14, wherein, The system management software is configured to, if the MAC address of the BMC card received from the server matches a BMC MAC address stored in the database, and the second VPD of the second motherboard received from the server does not match any server VPD stored in the database, issue an output request permission requesting that the first VPD of the first motherboard stored in the database be written to the second motherboard.

16. The system of claim 15, wherein, The system management software is configured to, after receiving the permission, write the first VPD of the first motherboard stored in the database to the second motherboard.