Method for updating smbios data

TW202640372AActive Publication Date: 2026-10-01MITAC COMPUTING TECH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
TW114110613
Authority / Receiving Office
TW · TW
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-03-20
Publication Date
2026-10-01
Estimated Expiration
2045-03-19

AI Technical Summary

Technical Problem

Existing methods for updating SMBIOS data in server systems lack flexibility and convenience, only allowing users to retain or completely erase the data during BIOS flashing.

Method used

A method involving partitioning a data reserve area in memory, generating and storing modified SMBIOS data, writing replacement BIOS firmware, restarting the server, and integrating the modified SMBIOS data into the NVRAM SMBIOS table, using a graphical user interface to select and modify options, and automating the process through AFU or EWS tools.

Benefits of technology

Enhances flexibility and automation in SMBIOS data updates, allowing seamless integration with BIOS firmware updates and reducing manual operations, with the process being simplified and efficient.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure TWG2TA001077678_001
    Figure TWG2TA001077678_001
  • Figure TWG2TA001077678_002
    Figure TWG2TA001077678_002
  • Figure TWG2TA001077678_003
    Figure TWG2TA001077678_003
Patent Text Reader

Abstract

A method for updating SMBIOS data, applicable to a server system. The method for updating SMBIOS data includes: (a) partitioning a data reservation area in a memory storing current BIOS firmware of the server system; (b) generating SMBIOS data to be modified according to replacement BIOS firmware through executing a server tool; (c) storing the SMBIOS data to be modified to the data reservation area; (d) writing the replacement BIOS firmware to the memory; (e) rebooting the server system; (f) retrieving the SMBIOS data to be modified from the data reservation area of the memory; and (g) writing the SMBIOS data to be modified to an SMBIOS stored in an NVRAM of the server system.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This case relates to the technical field of server system data management, and in particular to a method for updating system management basic input / output system (SMBIOS) data in a server system. [Previous Technology]

[0002] In the prior art, if a user wants to modify the system management SMBIOS data in a server system, they can usually do so in the following two ways. One is to use AMI's DmiEdit tool, which is executed in the shell environment after the system boots up to modify the SMBIOS data; the other is to use the Intelligent Platform Management Interface (IPMI) command to store the modified data in the Field Replaceable Unit (FRU), and after the system restarts, the Basic Input / Output System (BIOS) extracts this data from the FRU and writes it to the SMBIOS table.

[0003] However, when updating the BIOS, the existing technology can only choose to retain the existing SMBIOS data or completely erase it, resulting in insufficient flexibility and convenience in updating SMBIOS data. [Summary of the Invention]

[0004] In some embodiments, a method for updating SMBIOS data is applicable to a server system. The method for updating SMBIOS data includes: (a) partitioning a data reserve area in memory used to store the current BIOS firmware of the server system; (b) generating SMBIOS data to be changed based on a replacement BIOS firmware by executing server tools; (c) storing the SMBIOS data to be changed in the data reserve area; (d) writing the replacement BIOS firmware into memory; (e) restarting the server system; (f) retrieving the SMBIOS data to be changed from the data reserve area of ​​memory; and (g) integrating the SMBIOS data to be changed into the SMBIOS table stored in the NVRAM of the server system to change the SMBIOS table of the NVRAM of the server system; wherein generating the SMBIOS data to be changed includes, but is not limited to, modifying or adding SMBIOS data.

[0005] In some embodiments, the server tool includes a graphical user interface. Step (b) includes: the server tool loading an alternative BIOS firmware; the server tool displaying a plurality of selectable modifiable options on the graphical user interface based on the loaded alternative BIOS firmware; and the server tool generating SMBIOS data to be changed based on the selected plurality of modifiable options.

[0006] In some embodiments, the SMBIOS data to be modified contains at least one string.

[0007] In some embodiments, the SMBIOS data to be changed is an OEM string.

[0008] In some embodiments, the replacement BIOS firmware is written to memory via an AFU tool.

[0009] In some embodiments, the replacement BIOS firmware is written to memory via EWS.

[0010] In some embodiments, the method of updating SMBIOS data further includes: (h) checking the SMBIOS table of the SMBIOS data that has been changed.

[0011] In some embodiments, after step (g), step (h) is further included; wherein step (h) includes: (h1) the server system is started to the command line environment; and (h2) according to a plurality of commands, the SMBIOS table that has integrated the SMBIOS data to be changed is checked.

[0012] In some embodiments, steps (f) and (g) are performed during the POST phase of the server system.

[0013] In some embodiments, the SMBIOS data to be modified has at least one type. The SMBIOS data to be modified is an SMBIOS table integrated into the NVRAM of the server system according to at least one type.

[0014] In some embodiments, the method for updating SMBIOS data further includes, after step (h): (i) generating the flag data to be changed corresponding to the SMBIOS data to be changed by executing a server tool based on the replacement BIOS firmware; and (j) storing the flag data to be changed in the data reservation area.

[0015] In some embodiments, a server system includes NVRAM, memory, and processing circuitry. NVRAM is used to store an SMBIOS table. Memory is used to store the current BIOS firmware. Memory has a data reservation area. Processing circuitry is coupled to the memory and NVRAM. Processing circuitry is used to execute server tools to generate SMBIOS data to be changed based on the replacement BIOS firmware; store the SMBIOS data to be changed in the data reservation area; write the replacement BIOS firmware into memory; restart the server system; after the server system restarts, retrieve the SMBIOS data to be changed from the data reservation area of ​​memory; and integrate the SMBIOS data to be changed into the SMBIOS table stored in NVRAM.

[0016] In some embodiments, the server tool includes a graphical user interface. The server tool is used to: load an alternative BIOS firmware; display a plurality of selectable and modifiable options on the graphical user interface based on the loaded alternative BIOS firmware; and generate SMBIOS data to be changed based on the selected plurality of modifiable options.

[0017] In some embodiments, the server system further includes an AFU tool. The processing circuitry uses the AFU tool to write the replacement BIOS firmware into memory.

[0018] In some embodiments, the server system further includes a BMC. The BMC includes an EWS. The processing circuitry writes the replacement BIOS firmware to memory via the EWS.

[0019] In some embodiments, the processing circuitry is further used to check the SMBIOS table that has integrated the SMBIOS data to be changed.

[0020] In some embodiments, the processing circuitry is further configured to: boot the server system into a command-line environment; and, based on multiple commands, check the SMBIOS table that has integrated the SMBIOS data to be changed.

[0021] In some embodiments, the processing circuit extracts the SMBIOS data to be changed from the data reservation area of ​​the memory during the POST phase of the server system and integrates the SMBIOS data to be changed into the SMBIOS table.

[0022] In some embodiments, the SMBIOS data to be modified has at least one type. The processing circuit writes or overwrites the corresponding SMBIOS data in the SMBIOS table according to the at least one type to integrate the SMBIOS data to be modified into the SMBIOS table stored in NVRAM.

[0023] In some embodiments, the processing circuit is further configured to: execute server tools to generate the flag data to be changed corresponding to the SMBIOS data to be changed based on the replacement BIOS firmware; and store the flag data to be changed corresponding to the data reservation area.

[0024] The detailed features and advantages of this invention are described in detail below in the embodiments. The content is sufficient to enable anyone skilled in the art to understand the technical content of this invention and implement it accordingly. Based on the content disclosed in this specification, the scope of the patent application and the drawings, anyone skilled in the art can easily understand the relevant purpose and advantages of this invention.

Implementation Method

[0025] FIG1 is a schematic diagram of one embodiment of server system 1. Please refer to FIG1. ​​Server system 1 includes NVRAM (Non-Volatile Random Access Memory) 10, memory 11, and processing circuitry 12. Processing circuitry 12 is coupled to memory 11 and NVRAM 10. In some embodiments, NVRAM 10 is used to store an SMBIOS table. In some embodiments, memory 11 is used to store the current BIOS firmware of server system 1. In some embodiments, server system 1 boots based on the current BIOS firmware stored in memory 11.

[0026] In some embodiments, the processing circuit 12 may be, but is not limited to, a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processor (DSP), a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), a microcontroller (MCU), a complex programmable logic device (CPLD), an embedded processor, a network processor, a coprocessor, and other processing units suitable for server systems or electronic devices.

[0027] In some embodiments, memory 11 is a non-volatile storage medium. Non-volatile storage media include, for example, read-only memory (ROM), such as rewritable read-only memory (PROM), erasable rewritable read-only memory (EPROM), electronically eraseable rewritable read-only memory (EEPROM), programmable-once read-only memory (OTPROM), or flash memory. The type of memory 11 is not limited herein.

[0028] In some embodiments, the SMBIOS table stored in NVRAM10 contains software and hardware configuration information related to the server system 1, such as manufacturer information (e.g., the manufacturer and model of the server system 1, the motherboard of the server system 1, and the BIOS of the server system 1), hardware configuration of the server system 1 (e.g., detailed parameters of the processing circuit 12, memory 11, hard disk of the server system 1, graphics card of the server system 1, etc.), serial number, asset tag and UUID (used to identify the device) of the server system 1, boot settings options and power management function options of the server system 1, and / or information on the slots and ports of the server system 1 (e.g., USB, PCI, SATA, etc.).

[0029] Figure 2 is a flowchart of one embodiment of a method for updating SMBIOS data D. Please refer to Figures 1 and 2. In some embodiments, memory 11 includes a data reservation area 111. First, processing circuit 12 partitions memory 11 to obtain the data reservation area 111 (step S01), but this embodiment is not limited thereto. In some embodiments, the data reservation area 111 is obtained by the current BIOS firmware partitioning memory 11 when the server system 1 starts. In some embodiments, server system 1 further includes a baseboard management controller (BMC). In some embodiments, the data reservation area 111 is obtained by the BMC partitioning memory 11. In some embodiments, the BMC partitions memory 11 through a remote management interface to obtain the data reservation area 111.

[0030] Next, the processing circuit 12 executes a server tool to generate the SMBIOS data D to be changed based on the replaced BIOS firmware (step S02). In some embodiments, the server tool includes a graphical user interface (GUI). In some embodiments, generating the SMBIOS data D to be changed includes, but is not limited to, modifying or adding SMBIOS data D.

[0031] Figure 3 is a schematic diagram of one embodiment of step S02. In step S02, firstly, the server tool loads the replacement BIOS firmware (step S021). Next, the server tool displays multiple selectable and modifiable options on the graphical user interface based on the loaded replacement BIOS firmware (step S022). Finally, the server tool generates the SMBIOS data D to be changed based on at least one selected modifiable option (step S023).

[0032] In some embodiments, the SMBIOS data D contains at least one string. In some embodiments, the SMBIOS data D is an OEM string. In some embodiments, the SMBIOS data D is a Type 11 OEM string.

[0033] In some embodiments, the plurality of selectable modifiable options include the power-on settings options of the server system 1 and user information of the server system 1 (e.g., company information using the server system 1). In some embodiments, when the plurality of selectable modifiable options are selected, the server tool modifies or adds a plurality of strings corresponding to the selected plurality of modifiable options to the SMBIOS data D.

[0034] In some embodiments, the server tool loads a replacement BIOS firmware stored on an external device connected to the server system 1. In some embodiments, the external device may be, but is not limited to, an external hard drive, an external solid-state drive (SSD), a USB flash drive, an optical drive (such as a DVD or Blu-ray drive), a memory card reader (such as an SD card or CF card), a network storage device (NAS), an external RAID storage device, an external GPU (eGPU), a data collection device (such as a serial port or CAN bus interface device), an I / O expansion card (such as a Thunderbolt or PCIe expansion device), an external power controller, an external diagnostic tool (such as a JTAG interface device), or other peripheral devices connected via a standard interface (such as USB, SATA, eSATA, Thunderbolt, or a network interface). In some embodiments, the server tool may also load a replacement BIOS firmware stored on an internal device contained within the server system 1 itself. In some embodiments, the internal device may be, but is not limited to, a hard disk (such as an HDD or SSD), a solid-state storage module (such as an M.2 SSD or NVMe), an optical drive (such as a built-in DVD or Blu-ray drive), a RAID storage card, built-in flash memory (such as eMMC), an internal data backup device (such as a tape drive), or other devices directly installed inside the server system 1 for storing data.

[0035] Next, the processing circuit 12 stores the SMBIOS data D to be changed to the data reservation area 111 (step S03). In some embodiments, after the processing circuit 12 stores the SMBIOS data D to be changed to the data reservation area 111, the processing circuit 12 sets the data reservation area 111 to be unwritable.

[0036] Next, the processing circuit 12 writes the replacement BIOS firmware to memory 11 (step S04). In some embodiments, the server system 1 further includes an AFU (AMI Firmware Update) tool. In some embodiments, the processing circuit 12 writes the replacement BIOS firmware to memory 11 via the AFU tool. In some embodiments, the AFU tool writes the replacement BIOS firmware to memory 11 in an online update mode (i.e., the replacement BIOS firmware is written to memory 11 while the server system 1 is running). In some embodiments, the BMC included in the server system 1 further includes an embedded web server (EWS). In some embodiments, the processing circuit writes the replacement BIOS firmware to memory via the EWS. Specifically, the EWS includes a remote management interface, which allows users to access the remote management interface of the EWS via the IP address of the server system 1 and upload the replacement BIOS firmware in the remote management interface, thereby transmitting the replacement BIOS firmware to the server system 1 for updating the BIOS firmware of the server system 1.

[0037] It should be specifically noted that in some embodiments, since the data reservation area 111 is set to be unwritable after the processing circuit 12 stores the SMBIOS data D to be changed in the data reservation area 111, the data stored in the data reservation area 111 will not be affected or overwritten by the BIOS firmware update of the server system 1 during step S04. In other words, the SMBIOS data D to be changed stored in the data reservation area 111 will not be affected during the process of step S04.

[0038] In some embodiments, during step S04, the replacement BIOS firmware will overwrite the current BIOS firmware stored in memory 11. That is, when the server system 1 starts after step S04, the server system 1 starts based on the replacement BIOS firmware that has overwritten the current BIOS firmware and is stored in memory 11, rather than based on the overwritten current BIOS firmware.

[0039] Next, the processing circuit 12 restarts the server system 1 (step S05). In some embodiments, the processing circuit 12 executes a restart command through an AFU tool or EWS to restart the server system 1, but this invention is not limited thereto. In some embodiments, the processing circuit 12 directly controls the power supply circuit of the server system 1 to restart the server system 1.

[0040] After the server system 1 restarts, the processing circuit 12 extracts the SMBIOS data D to be changed from the data reservation area 111 of the memory 11 (step S06). In some embodiments, after extracting the SMBIOS data D to be changed from the data reservation area 111 of the memory 11, the processing circuit 12 further sets the data reservation area 111 to be writable.

[0041] Finally, the processing circuit 12 integrates the SMBIOS data D to be modified into the SMBIOS table stored in the NVRAM 10 (step S07). In some embodiments, the processing circuit 12 integrating the modified or added SMBIOS data D into the SMBIOS table stored in the NVRAM 10 includes, but is not limited to, the processing circuit 12 writing the modified or added SMBIOS data D into the SMBIOS table stored in the NVRAM 10. In some embodiments, the SMBIOS data D to be modified includes at least one type. The processing circuit 12 writes the SMBIOS data D into the SMBIOS table according to the type of the SMBIOS data D. Specifically, the processing circuit 12 determines the specific location in the SMBIOS table where the SMBIOS data D is written based on the type of the SMBIOS data D. In some embodiments, the processing circuit 12 determines the specific location in the SMBIOS table where the SMBIOS data D is written based on both the type of the SMBIOS data D and the contents of the SMBIOS table.

[0042] In some embodiments, steps S06 and S07 are performed during the Power-On Self-Test (POST) phase of the server system 1.

[0043] In some embodiments, after step S07, the processing circuit 12 further checks the SMBIOS table containing the SMBIOS data D to be modified. In some embodiments, the processing circuit 12 first boots the server system 1 into a command-line environment (e.g., a shell environment) and then checks the SMBIOS table containing the SMBIOS data D to be modified according to multiple commands. In some embodiments, the processing circuit 12 boots the server system 1 into a command-line environment according to the user's selection in the boot menu of the server system 1, or automatically boots the server system 1 into a command-line environment through preset settings. In some embodiments, the processing circuit 12 executes multiple commands in the command-line environment to check the SMBIOS table containing the SMBIOS data D to be modified, thereby confirming whether the modified SMBIOS data D (such as serial number, manufacturer name, etc.) is correctly reflected in the server system 1. In some embodiments, the command may be, but is not limited to, dmidecode.

[0044] In some embodiments, the processing circuit 12 is further configured to, in step S02, execute a server tool to modify or add logo data I based on the replacement BIOS firmware. In some embodiments, the plurality of selectable modifiable options further include a logo option. In some embodiments, when the logo option is selected, the server tool provides an upload area for uploading a logo image file, which is the logo data I to be modified or added.

[0045] In some embodiments, the SMBIOS data D further includes flag data I, but this is not limited thereto. In some embodiments, the SMBIOS data D does not include flag data I. In some embodiments, the reason why the SMBIOS data D cannot include flag data I is that the file size of flag data I is too large.

[0046] In some embodiments, the processing circuit 12 is further configured to store the flag data I to be changed to the data reservation area 111 in step S03. In some embodiments, if the SMBIOS data D contains the flag data I, the flag data I will be stored together with the SMBIOS data D in the data reservation area 111.

[0047] In some embodiments, during step S07, if the SMBIOS data D contains flag data I, the flag data I will be written together with the SMBIOS data D to the SMBIOS table stored in NVRAM 10. In some embodiments, during step S07, if the SMBIOS data D does not contain flag data I, the flag data I will not be written together with the SMBIOS data D to the SMBIOS table stored in NVRAM 10, and the flag data I will only exist in the data reservation area 111.

[0048] In some embodiments, after step S02, the processing circuit 12 stores the SMBIOS data D to be changed to a device for storing the replacement BIOS firmware, instead of storing the SMBIOS data D to be changed to the data reservation area 111. At this time, the SMBIOS data D to be changed is contained in the replacement BIOS firmware. Then, when the processing circuit 12 writes the replacement BIOS firmware to memory 11 (i.e., step S04), the processing circuit 12 stores the SMBIOS data D to be changed contained in the replacement BIOS firmware to the data reservation area 111.

[0049] In summary, the advantages of this invention compared to prior art are mainly reflected in two aspects: simplified operation and enhanced automation capabilities. First, in some embodiments, the server system 1 can replace traditional command-line tools (such as AMI DmiEdit tool or IPMI command) through the GUI of server tools, reducing the technical threshold of operation and allowing users to directly modify or add SMBIOS data D, achieving seamless integration with BIOS firmware updates. In some embodiments, users only need to modify or add SMBIOS data D through server tools. Whether performing online updates (Online Flash) or offline updates (Offline Flash), the server system 1 can automatically extract and update SMBIOS data D after restarting, avoiding tedious manual operations. In addition, in some embodiments, the processing circuit 12 completes data extraction and writing during the POST phase of the server system 1, which can further improve the automation and efficiency of the update process.

[0050] Although the technical content of this case has been disclosed above with reference to preferred embodiments, it is not intended to limit this case. Any modifications and embellishments made by those skilled in the art without departing from the spirit of this case should be included within the scope of this case. Therefore, the scope of protection of this case shall be determined by the appended claims. [Simplified Explanation of the Diagram]

[0051] Figure 1 is a schematic diagram of one embodiment of a server system. Figure 2 is a flowchart of one embodiment of a method for updating SMBIOS data. Figure 3 is a schematic diagram of one embodiment of step S02.

Claims

1. A method for updating SMBIOS data, applicable to a server system, comprising: (a) partitioning a data reserve area in a memory used to store a current BIOS firmware of the server system; (b) generating SMBIOS data to be modified based on a replacement BIOS firmware by executing a server tool; (c) storing the SMBIOS data to be modified in the data reserve area; (d) writing the replacement BIOS firmware into the memory; (e) restarting the server system; (f) retrieving the SMBIOS data to be modified from the data reserve area of ​​the memory; (g) integrating the SMBIOS data to be modified into an SMBIOS table stored in an NVRAM of the server system; and (h) checking the SMBIOS table that has integrated the SMBIOS data to be modified; wherein step (h) comprises: (h1) the server system booting into a command-line environment; and (h2) checking the SMBIOS table that has integrated the SMBIOS data to be modified according to a plurality of commands.

2. The method for updating SMBIOS data as described in claim 1, wherein the server tool includes a graphical user interface, and step (b) includes: (b1) the server tool loading the replacement BIOS firmware; (b2) the server tool displaying a plurality of selectable modifiable options on the graphical user interface based on the loaded replacement BIOS firmware; and (b3) the server tool generating the SMBIOS data to be changed based on the selected modifiable options.

3. The method for updating SMBIOS data as described in claim 1, wherein the SMBIOS data to be changed contains at least one string.

4. The method for updating SMBIOS data as described in claim 3, wherein the SMBIOS data to be changed is an OEM string.

5. The method for updating SMBIOS data as described in claim 1, wherein the replacement BIOS firmware is written to the memory via an EWS.

6. The method for updating SMBIOS data as described in claim 1, wherein steps (f) and (g) are performed during a POST phase of the server system.

7. The method for updating SMBIOS data as described in claim 1, wherein the SMBIOS data to be changed has at least one type, and the SMBIOS data to be changed is integrated into the SMBIOS table stored in the NVRAM of the server system according to the at least one type.

8. The method for updating SMBIOS data as described in claim 1, further comprising, after step (h): (i) generating a flag data to be changed corresponding to the SMBIOS data to be changed by executing the server tool based on the replacement BIOS firmware; and (j) storing the flag data to be changed in the data reservation area.