×

Updating computer firmware

  • US 9,965,270 B2
  • Filed: 07/01/2015
  • Issued: 05/08/2018
  • Est. Priority Date: 07/01/2015
  • Status: Active Grant
First Claim
Patent Images

1. A method comprising:

  • generating a user firmware volume within a local computer firmware volume of a computing device which contains computer firmware used by the computing device during a boot process, the user firmware volume comprising a file system;

    obtaining a signed firmware file for updating the computer firmware used by the computing device during the boot process, wherein the signed firmware file is generated by integrating an encrypted message digest to a firmware file, the encrypted message digest generated by encrypting a first message digest with a first key, the first message digest generated by applying a hash function to the firmware file;

    extracting the encrypted message digest and the firmware file from the signed firmware file;

    decrypting the message digest with a second key associated with the first key used to encrypt the message digest;

    applying the hash function to the firmware file extracted from the signed firmware file to generate a second message digest;

    determining that the second message digest is consistent with the first message digest;

    comparing the firmware file with a content of the local computer firmware volume to yield a comparison, wherein comparing the firmware file with the content of the local computer firmware volume comprises;

    determining that the firmware file corresponds to an existing firmware file stored on the computer firmware local computer volume, the existing firmware being a part of the computer firmware; and

    determining, via at least one of a pre-extensible firmware interface initialization dispatcher and a driver execution environment dispatcher, whether the firmware file comprises a different firmware file version as the existing firmware file;

    determining that the firmware file corresponds to an existing firmware file that is currently stored on the local computer firmware volume;

    determining that the firmware file and the local computer firmware volume belong to a same firmware module by comparing a global unique identifier (GUID) of the firmware file with a GUID of the existing firmware file; and

    based on the comparison, storing the firmware file on the user firmware volume within the local computer firmware volume without flashing an entire portion of the computer firmware used by the computing device during the boot process, wherein storing the firmware file comprises loading the firmware file into the local computer firmware volume and executing the computer firmware with the firmware file.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×