IP Library Granted Patent US 10,642,623
Granted Patent B1
US 10,642,623 · App. 15/644,179 · Granted May 5, 2020

Preserving firmware settings during firmware updates

Inventors: Stefano Righi (Lawrenceville, GA); Madhan B. Santharam (Duluth, GA); Arun Subramanian Baskaran (Duluth, GA)
Assignee: American Megatrends International, LLC
G06F9/4403G06F8/65G06F9/4401G06F11/1433G06F11/1438G06F11/1469G06F12/1018G06F2201/84
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,642,623
App. No.
15/644,179
Granted
May 5, 2020
Kind
B1
Abstract

Described herein are technologies for maintaining firmware setting during firmware updates. PLDM data is created prior to a firmware update. In instances of firmware updates, such as during runtime, recovery, or capsule, a flashing tool is used to perform the firmware flashing as well as exporting the setup configuration in a particular or required PLDM format. After the firmware is updated, the PLDM data is imported to preserve the firmware settings.

Claims (46)

1. A computer-implemented method, comprising:

receiving a firmware update associated with a BIOS of a computing system;

creating a platform level data model (“PLDM”) table that defines data structures and messages that are usable for communicating setup configurations that correspond to firmware settings of the BIOS;

writing, into the PLDM table, one or more particular setup configurations that are set to one or more corresponding non-default firmware settings of the BIOS;

storing the PLDM table in a storage location that is not overwritten or corrupted during an installation of the firmware update;

subsequent to storing the PLDM table, causing the computing system to perform at least a portion of the installation of the firmware update to update the BIOS of the computing system; and

subsequent to performance of the at least the portion of the installation of the firmware update:

importing the PLDM table that defines the data structures and the messages that are usable for communicating the setup configurations that correspond to the firmware settings of the BIOS, and

restoring the one or more particular setup configurations to the one or more corresponding non-default firmware settings of the BIOS using at least some of the data structures and the messages that are defined by the PLDM table.

2. The computer-implemented method of claim 1 , further comprising creating a mapping string table that includes a mapping string for a setting in the one or more particular setup configurations.

3. The computer-implemented method of claim 2 , wherein the mapping string is defined with a mapping language code.

4. The computer-implemented method of claim 3 , wherein the mapping language code is configured so that a prompt value that is used to map a name of the setting in the one or more particular setup configurations can also be used to find the mapping string of the setting.

5. The computer-implemented method of claim 1 , further comprising:

flashing the BIOS to update the BIOS; and

restarting the computing system.

6. The computer-implemented method of claim 1 , wherein data of the PLDM table is stored together with a hash variable.

7. The computer-implemented method of claim 1 , wherein the PLDM table is stored in NVRAM.

8. The computer-implemented method of claim 1 , wherein the PLDM table is stored as a capsule for a capsule update.

9. The computer-implemented method of claim 1 , further comprising deleting the PLDM table after importing the PLDM table.

10. A non-transitory computer-readable storage medium having stored thereon computer-executable instructions which, when executed by one or more processors, cause a computing system to:

receive a firmware update associated with a BIOS of the computing system;

create a platform level data model (“PLDM”) table that defines data structures and messages that are usable for communicating setup configurations that correspond to firmware settings of the BIOS;

write, into the PLDM table, one or more particular setup configurations that are set to one or more corresponding non-default firmware settings of the BIOS;

store the PLDM table in a storage location that is not overwritten or corrupted during an installation of the firmware update;

subsequent to storing the PLDM table, cause the computing system to perform the installation of the firmware update to update the BIOS; and

subsequent to the installation of the firmware update to update the BIOS:

import the PLDM table that defines the data structures and the messages that are usable for communicating the setup configurations that correspond to the firmware settings of the BIOS, and

restore the one or more particular setup configurations to the one or more corresponding non-default firmware settings of the BIOS using at least some of the data structures and the messages that are defined by the PLDM table.

11. The non-transitory computer-readable storage medium of claim 10 , wherein the computer-executable instructions further cause the computer to create a mapping string table that includes a mapping string for a setting in the one or more particular setup configurations.

12. The non-transitory computer-readable storage medium of claim 11 , wherein the mapping string is defined with a mapping language code.

13. The non-transitory computer-readable storage medium of claim 12 , wherein the mapping language code is configured so that a prompt value that is used to map a name of the setting in the one or more particular setup configurations can also be used to find the mapping string of the setting.

14. The non-transitory computer-readable storage medium of claim 10 , wherein the computer-executable instructions further cause the computer to flash the BIOS to update the BIOS and restart the system.

15. The non-transitory computer-readable storage medium of claim 10 , wherein data of the PLDM table is stored together with a hash variable.

16. The non-transitory computer-readable storage medium of claim 10 , wherein the PLDM table is stored in NVRAM.

17. The non-transitory computer-readable storage medium of claim 10 , wherein the PLDM table is stored as a capsule for a capsule update.

18. A computing device comprising:

a central processing unit (CPU) configured to provide a system management mode (SMM); and

a memory device in communication with the CPU, the memory device having computer-executable instructions stored therein, which when executed by the CPU:

receive a firmware update associated with a BIOS of the computing device;

create a platform level data model (“PLDM”) table comprising one or more setup configurations that are set to one or more corresponding non-default firmware settings of the BIOS, wherein the PLDM table defines data structures and messages that are usable for communicating one or more corresponding non-default firmware settings of the BIOS;

store the PLDM table in a storage location that is not overwritten or corrupted during an installation of the firmware update within the SMM; and

subsequent to the installation of the firmware update within the SMM:

import the PLDM table that defines the data structures and the messages that are usable for communicating the one or more corresponding non-default firmware settings of the BIOS, and

restore the one or more the setup configurations to the one or more corresponding non-default firmware settings of the BIOS using at least some of the data structures or the messages that are defined by the PLDM table.

19. The computing device of claim 18 , further comprising a mapping string table comprising at least one mapping string for at least one setting in the plurality of setup configurations, wherein the mapping string is defined with a mapping language code, wherein the mapping language code is configured so that a prompt value that is used to map a name of the setting in the one or more setup configurations can also be used to find the mapping string of the setting.

20. The computing device of claim 18 , wherein data of the PLDM table is stored together with a hash variable.

Assignments (5)
PATENT SECURITY AGREEMENT Recorded Oct 23, 2024
From: AMERICAN MEGATRENDS INTERNATIONAL, LLC
To: BAIN CAPITAL CREDIT, LP, AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
Reel/Frame 069229/0834 →
RELEASE OF SECURITY INTEREST Recorded Oct 17, 2024
From: MIDCAP FINANCIAL TRUST
To: AMERICAN MEGATRENDS INTERNATIONAL, LLC
Reel/Frame 069205/0795 →
SECURITY INTEREST Recorded May 6, 2019
From: AMERICAN MEGATRENDS INTERNATIONAL, LLC
To: MIDCAP FINANCIAL TRUST, AS COLLATERAL AGENT
Reel/Frame 049087/0266 →
ENTITY CONVERSION Recorded Apr 15, 2019
From: AMERICAN MEGATRENDS, INC.
To: AMERICAN MEGATRENDS INTERNATIONAL, LLC
Reel/Frame 049091/0973 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 27, 2017
From: RIGHI, STEFANO; SANTHARAM, MADHAN B.; BASKARAN, ARUN SUBRAMANIAN
To: AMERICAN MEGATRENDS, INC.
Reel/Frame 043117/0307 →
Continuity (1)
Provisional Application 62359564 · Jul 7, 2016
Cited By (6)
US 12,293,175 US 12,373,296 US 12,399,699 US 12,572,189 US 12,602,217 US 12,705,041