# US 11,030,047 B2 · Information handling system and method to restore system firmware to a selected restore point

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,030,047 B2
- Document ID: US11030047B2
- Status: Granted
- Kind: B2
- Application number: 16/399,110
- Filed: 2019-04-30
- Published: 2020-11-05
- Granted: 2021-06-08
- Earliest claimed: 2019-04-30
- Assignees: Dell Products L.P.
- Applicants: Dell Products L.P.
- Inventors: Balasingh Samuel; Alok Pant; Ibrahim Sayyed
- Web page: https://patentgrep.com/patent/US11030047B2

## CPC

- G06F 11/1438: {Restarting or rejuvenating}
- G06F 11/1451: {by selection of backup contents}
- G06F 9/4406: {Loading of operating system}
- G06F 11/1433: {during software upgrading}
- G06F 11/1441: {Resetting or repowering}
- G06F 11/1446: Point-in-time backing up or restoration of persistent data
- G06F 11/1461: {Backup scheduling policy}
- G06F 11/1469: {Backup restoration techniques}
- G06F 11/2289: {by configuration test}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Embodiments of information handling systems (IHS) and computer implemented methods are disclosed herein to restore system firmware to a selected restore point. In one embodiment, the IHS may include a computer readable non-volatile memory configured to store system firmware, a computer readable storage device configured to store an operating system (OS), a system registry, and an OS restore application, and a processing device configured to execute program instructions within the OS restore application to restore the system registry to a selected restore point and reboot the IHS. As the IHS is in the process of being rebooted, the processing device may execute program instructions within a firmware restore application stored within the computer readable non-volatile memory or the computer readable storage device to restore the system firmware to the selected restore point.

## Claims

### Claim 1

An information handling system (IHS), comprising:
a computer readable non-volatile memory configured to store system firmware;
a computer readable storage device configured to store an operating system (OS), a system registry, and an OS restore application; and
a processing device configured to execute program instructions within the OS restore application to restore the system registry to a selected restore point and reboot the IHS;
wherein as the IHS is in the process of being rebooted, the processing device is further configured to execute program instructions within a firmware restore application to restore the system firmware to the selected restore point.

### Claim 2 (depends on 1)

The information handling system as recited in claim 1, wherein the firmware restore application is included within the operating system stored within the computer readable storage device.

### Claim 3 (depends on 1)

The information handling system as recited in claim 1, wherein the firmware restore application is included within a Windows Platform Binary Table (WPBT), which is stored within the computer readable non-volatile memory.

### Claim 4 (depends on 1)

The information handling system as recited in claim 1, wherein information about the system firmware is stored within the system registry as firmware registry data, wherein a copy of the firmware registry data is stored within the computer readable storage device, and wherein said information comprises a system firmware version number and a plurality of configuration settings.

### Claim 5 (depends on 4)

The information handling system as recited in claim 4, wherein prior to executing the program instructions within the OS restore application, the processing device is configured to execute a first set of program instructions within the firmware restore application to monitor updates made to the system firmware and changes made to the plurality of configuration settings over time.

### Claim 6 (depends on 5)

The information handling system as recited in claim 5, wherein the first set of program instructions within the firmware restore application are executed by the processing device to:
detect updates made to the system firmware and/or changes made to one or more of the configuration settings; and
update the firmware registry data stored within the system registry and the copy of the firmware registry data stored within the computer readable storage device to include the detected updates and/or changes.

### Claim 7 (depends on 6)

The information handling system as recited in claim 6, wherein the first set of program instructions within the firmware restore application are executed by the processing device to detect updates made to the system firmware and/or changes made to the configuration settings by:
detecting information about the system firmware each time the IHS is powered on or rebooted; and
comparing the information detected about the system firmware to the information contained within the copy of the firmware registry data stored within the computer readable storage device.

### Claim 8 (depends on 4)

The information handling system as recited in claim 4, wherein as the IHS is in the process of being rebooted, the processing device executes a second set of program instructions within the firmware restore application to:
compare the copy of the firmware registry data stored within the computer readable storage device to firmware registry data contained within the restored system registry to detect changes in the system firmware version number and/or configuration settings.

### Claim 9 (depends on 8)

The information handling system as recited in claim 8, wherein if changes in the system firmware version number and/or configuration settings are detected, the processing device executes a third set of program instructions within the firmware restore application to:
restore the system firmware to the selected restore point by restoring the system firmware and/or configuration settings to the firmware registry data contained within the restored system registry.

### Claim 10 (depends on 9)

The information handling system as recited in claim 9, wherein prior to restoring the system firmware to the selected restore point, the processing device executes a fourth set of program instructions within the firmware restore application to provide the option to restore the system firmware or ignore firmware restoration.

### Claim 11 (depends on 10)

The information handling system as recited in claim 10, wherein the processing device executes the fourth set of program instructions to:
display a message prompting a user to choose whether to restore the system firmware or ignore firmware restoration; or
execute a predetermined policy to restore the system firmware or ignore firmware restoration; or
restore the system firmware or ignore firmware restoration according to a setup option, which was previously selected to enable or disable firmware restoration.

### Claim 12

A computer-implemented method performed by a processing device of an information handling system (IHS) to restore system firmware stored within a computer readable non-volatile (NV) memory of the IHS, wherein a computer readable storage device of the IHS stores a system registry containing firmware registry data, which includes a system firmware version number and a plurality of configuration settings, wherein a copy of the firmware registry data is stored within another location of the computer readable storage device, and wherein the method comprises:
executing a first set of program instructions to update the firmware registry data stored within the system registry and the copy of the firmware registry data stored within the computer readable storage device when changes are made to system firmware; and
wherein when the system registry is restored to a selected restore point and the IHS is rebooted, the method further comprises executing a second set of program instructions to restore the system firmware to the selected restore point.

### Claim 13 (depends on 12)

The method as recited in claim 12, wherein said executing the first set of program instructions includes:
detecting updates made to the system firmware and/or changes made to one or more of the configuration settings; and
updating the firmware registry data stored within the system registry and the copy of the firmware registry data stored within the computer readable storage device to include the detected updates and/or changes.

### Claim 14 (depends on 13)

The method as recited in claim 13, wherein said detecting updates made to the system firmware and/or changes made to the configuration settings includes:
detecting information about the system firmware each time the IHS is powered on or rebooted; and
comparing the detected information about the system firmware to the copy of the firmware registry data stored within the computer readable storage device to detect updates made to the system firmware and/or changes made to the configuration settings.

### Claim 15 (depends on 12)

The method as recited in claim 12, wherein as the IHS is in the process of being rebooted, the second set of program instructions are executed to:
compare the copy of the firmware registry data stored within the computer readable storage device to firmware registry data contained within the restored system registry to detect changes in the system firmware version number and/or configuration settings.

### Claim 16 (depends on 15)

The method as recited in claim 15, wherein if changes in the system firmware version number and/or configuration settings are detected, the second set of program instructions are executed to:
restore the system firmware to the selected restore point by restoring the system firmware and/or configuration settings to the firmware registry data contained within the restored system registry.

### Claim 17 (depends on 12)

The method as recited in claim 12, wherein prior to restoring the system firmware to the selected restore point, the method further comprises executing a third set of program instructions to provide the option to restore the system firmware or ignore firmware restoration.

### Claim 18 (depends on 17)

The method as recited in claim 17, wherein said executing the third set of program instructions includes displaying a message prompting a user to choose whether to restore the system firmware or ignore firmware restoration.

### Claim 19 (depends on 17)

The method as recited in claim 17, wherein said executing the third set of program instructions includes executing a predetermined policy to restore the system firmware or ignore firmware restoration.

### Claim 20 (depends on 17)

The method as recited in claim 17, wherein said executing the third set of program instructions includes restoring the system firmware or ignoring firmware restoration according to a setup option, which was previously selected to enable or disable firmware restoration.
