Systems and methods of device firmware delivery for pre-boot updates

US9507581B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9507581-B2
Application numberUS-201514596627-A
CountryUS
Kind codeB2
Filing dateJan 14, 2015
Priority dateJan 14, 2015
Publication dateNov 29, 2016
Grant dateNov 29, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Systems and methods are provided that may be implemented to deliver firmware for pre-boot updates of targeted information handling system device/devices using custom update capsules (e.g., such as custom unified extensible firmware interface capsules) and a separately-stored firmware update package that is remotely or locally stored. The custom update capsules may contain instruction payload information that may be used to determine location and desired components of the separately-stored firmware update package, and that also may be used to determine whether existing driver/drivers are to be retained in a firmware module in system memory or to be unloaded and replaced with a new (e.g., upgraded or downgraded) driver version in a firmware module in system memory as part of the firmware update.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of delivering firmware for pre-boot updates to an information handling system, comprising using at least one processing device of the information handling system to perform the following steps in an out-of-band manner separate from and outside an operating system prior to operating system booting and prior to booting the information handling system: retrieving a custom unified extensible firmware interface (“UEFI”) update capsule from a source external to the information handling system, the UEFI custom update capsule being formed from an original UEFI capsule by removing one or more firmware images from the original UEFI capsule and replacing the removed firmware images with instruction payload information that describes a specified remote or local storage location for a given firmware update package that includes the removed firmware images, the specified remote or local storage location being separate from the UEFI custom update capsule; reading the instruction payload information contained in the custom update capsule to determine the specified location of the given firmware update package that is remotely or locally stored, the given firmware update package being separate from the custom update capsule and including the one or more firmware images; and retrieving the given firmware update package from the specified location determined from the specified firmware update package; where the custom update capsule contains none of the firmware images contained in the firmware update package; and where the custom update capsule has a format of a conventional UEFI capsule with the instruction payload information substituted in place of firmware payload components that include the firmware images of the firmware update package that are stored separately from the custom update capsule. 2. The method of claim 1 , where the specified location is remote and external to the information handling system. 3. The method of claim 2 , where the specified location is network storage coupled to the information handling system by a network; and where the method further comprises retrieving the given firmware update package across the network from the network storage. 4. The method of claim 1 , where the source external to the information handling system is separate and external to a chassis of the information handling system; and where the method further comprises using a remote access controller processing device within the information handling system to retrieve the custom update capsule across an external network from the source external to the information handling system, and to store the retrieved custom update capsule in non-volatile memory within the information handling system that is coupled to the remote access controller; providing the custom update capsule from the remote access controller to a host processing device within the information handling system across an internal communication bus of the information handling system; and using the host processing device to read the instruction payload information contained in the custom update capsule to determine the specified location of a given firmware update package, and retrieve the given firmware update package from the determined specified location. 5. The method of claim 4 , where the information handling system is a server or desktop computer. 6. The method of claim 1 , where the given firmware update package is configured for a target device of the information handling system that is currently connected to the at least one processing device of the information handling system; and where the method further comprises using a processing device of the information handling system to execute a current firmware driver of the target device to load one or more of the firmware images of the firmware update package into non-volatile memory of the target device. 7. The method of claim 1 , further comprising performing the following steps before the step of retrieving the custom UEFI update capsule from the source external to the information handling system: removing the one or more firmware images from the original UEFI capsule and storing the removed firmware images as part of the given firmware update package in the specified remote or local storage location; and replacing the removed firmware images with the instruction payload information that describes the specified remote or local storage location of the given firmware update package that includes the removed firmware images to form the UEFI custom update package. 8. The method of claim 1 , where the given firmware update package comprises a binary image update section that includes multiple separate binary images that have been removed from the original UEFI capsule, and a driver section containing additional optional drivers associated with each separate binary image; where the instruction payload information includes an identifier table that contains a name and identifier of each optional driver associated with each binary image, and a locator table that includes payload binary image identifier information that identifies each firmware image to be updated together with its corresponding local or remote storage location; and where the method further comprises using a host processing device within the information handling system to execute Firmware Management Protocol (FMP)-based pre-boot software to read the driver version from the identifier table to determine if the current field-deployed resident driver in non-volatile memory of a given target device is capable of reading and applying a corresponding binary image of the firmware update package to the given target device. 9. A method of determining a firmware driver update action during pre-boot operation of an information handling system, comprising using at least one processing device of the information handling system to perform the following steps in an out-of-band manner separate from and outside an operating system prior to operating system booting and prior to booting the information handling system: retrieving a custom unified extensible firmware interface (“UEFI”) update capsule from a source external to the information handling system, the custom update capsule including instruction payload information and multiple driver version images contained therein, the UEFI custom update capsule being formed from an original UEFI capsule by inserting instruction payload information into the original UEFI capsule, and the instruction payload information being indicative of a driver update action, a specified remote or local storage location of a given firmware update package, or both; reading the instruction payload information contained in the custom update capsule to determine a driver update action, the determined driver update action being either one of: unloading an existing firmware driver version from a system memory of the information handling system and loading a different upgraded or downgraded firmware driver version on to the system memory from the custom update capsule, or leaving the existing firmware driver version resident on the system memory and not loading a different firmware driver version on system memory from the custom update capsule; and performing the determined driver update action; where the custom update capsule contains none of the firmware images contained in the firmware update package; and where the custom update capsule has a format of a conventional UEFI capsule with the instruction payload information substituted in place of firmware payload components that include the firmware images of the firmware update package that are stored separately from the custom update capsule. 10. The method of claim 9 , furthe

Assignees

Inventors

Classifications

  • G06F9/4416Primary

    Network booting; Remote initial program loading [RIPL] · CPC title

  • G06F8/65Primary

    Updates (security arrangements therefor G06F21/57) · CPC title

  • Physics · mapped topic

  • involving the movement of software or configuration parameters  (network booting or remote initial program loading [RIPL] G06F9/4416) · CPC title

  • Boot up procedures · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9507581B2 cover?
Systems and methods are provided that may be implemented to deliver firmware for pre-boot updates of targeted information handling system device/devices using custom update capsules (e.g., such as custom unified extensible firmware interface capsules) and a separately-stored firmware update package that is remotely or locally stored. The custom update capsules may contain instruction payload in…
Who is the assignee on this patent?
Butcher Wade Andrew, Liles Terry Wayne, Madala Raveendra Babu, and 3 more
What technology area does this patent fall under?
Primary CPC classification G06F9/4416. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 29 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).