Uniquely identifying and validating computer system firmware
First Claim
1. A method for creating a firmware identification data structure in a memory device for identifying a firmware having a plurality of firmware program modules, comprising:
- storing, in a first data field of the firmware identification data structure a data structure signature identifying the firmware identification data structure;
storing, in a second data field of the firmware identification data structure, a firmware version identifier corresponding to a current version of the firmware identification data structure;
storing a plurality of major version identifiers in major version identifier data fields of the firmware identification data structure, each major version identifier corresponding to a current major version of firmware program modules of one of a plurality of categories;
storing a plurality of minor version identifiers in minor version identifier data fields of the firmware identification data structure, each minor version identifier corresponding to a current minor version of the firmware program modules of one of the plurality of categories, such that the firmware program modules of each of the plurality of categories have a corresponding major version identifier and minor version identifier;
determining that a modification has been made to at least one firmware program module within at least one of the plurality of categories of the firmware program modules and determining whether the modification is a major modification or a minor modification; and
responsive to determining that the modification has been made to the at least one firmware program module, modifying data stored in the firmware identification data structure by modifying at least one major version identifier of the plurality of major version identifiers or at least one minor version identifier of the plurality of minor version identifiers to reflect the modification; and
responsive to determining that the modification is the major modification, modifying the firmware version identifier.
3 Assignments
0 Petitions
Accused Products
Abstract
Methods, apparatus, computer systems, and computer-readable media for creating a firmware identification data structure in a memory device for identifying and validating a firmware are provided. According to one method, a signature, globally unique identifier, and data module category version identifiers are stored in data fields within the data structure. Major and minor version identifiers are modified as corresponding firmware program modules are modified. For validation, a memory device is searched for the signature identifying a firmware identification data structure. The firmware GUID and version identifiers stored within the data structure are used for firmware validation.
96 Citations
20 Claims
-
1. A method for creating a firmware identification data structure in a memory device for identifying a firmware having a plurality of firmware program modules, comprising:
-
storing, in a first data field of the firmware identification data structure a data structure signature identifying the firmware identification data structure; storing, in a second data field of the firmware identification data structure, a firmware version identifier corresponding to a current version of the firmware identification data structure; storing a plurality of major version identifiers in major version identifier data fields of the firmware identification data structure, each major version identifier corresponding to a current major version of firmware program modules of one of a plurality of categories; storing a plurality of minor version identifiers in minor version identifier data fields of the firmware identification data structure, each minor version identifier corresponding to a current minor version of the firmware program modules of one of the plurality of categories, such that the firmware program modules of each of the plurality of categories have a corresponding major version identifier and minor version identifier; determining that a modification has been made to at least one firmware program module within at least one of the plurality of categories of the firmware program modules and determining whether the modification is a major modification or a minor modification; and responsive to determining that the modification has been made to the at least one firmware program module, modifying data stored in the firmware identification data structure by modifying at least one major version identifier of the plurality of major version identifiers or at least one minor version identifier of the plurality of minor version identifiers to reflect the modification; and responsive to determining that the modification is the major modification, modifying the firmware version identifier. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A memory for storing data for access by a firmware program module of a computer system firmware, the memory comprising computer-executable instructions which, when executed on a processor, cause a computer to:
-
store, in a first data field of a firmware identification data structure, a data structure signature identifying the firmware identification data structure; store, in a second data field of the firmware identification data structure, a firmware version identifier corresponding to a current version of the firmware identification data structure; store a plurality of major version identifiers in major version identifier data fields of the firmware identification data structure, each major version identifier corresponding to a current major version of firmware program modules of one of a plurality of categories; store a plurality of minor version identifiers in minor version identifier data fields of the firmware identification data structure, each minor version identifier corresponding to a current minor version of the firmware program modules of one of the plurality of categories, such that the firmware program modules of each of the plurality of categories have a corresponding major version identifier and minor version identifier; determine that a modification has been made to at least one firmware program module within at least one of the plurality of categories of the firmware program modules and determining whether the modification is a major modification or a minor modification; responsive to determining that the modification has been made to the at least one firmware program module, modify data stored in the firmware identification data structure by modifying at least one major version identifier of the plurality of major version identifiers or at least one minor version identifier of the plurality of minor version identifiers to reflect the modification; and responsive to determining that the modification is the major modification, modify the firmware version identifier. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. An apparatus for creating a firmware identification data structure in a memory device, the apparatus comprising:
-
a processor; and a computer-readable storage medium having computer-executable instructions stored thereupon which, when executed by the processor, cause the apparatus to store, in a first data field of the firmware identification data structure, a data structure signature identifying the firmware identification data structure, store, in a second data field of the firmware identification data structure, a firmware version identifier corresponding to a current version of the firmware identification data structure, store a plurality of major version identifiers in major version identifier data fields of the firmware identification data structure, each major version identifier corresponding to a current major version of firmware program modules of one of a plurality of categories, store a plurality of minor version identifiers in minor version identifier data fields of the firmware identification data structure, each minor version identifier corresponding to a current minor version of the firmware program modules of one of the plurality of categories, such that the firmware program modules of each of the plurality of categories have a corresponding major version identifier and minor version identifier, determine that a modification has been made to at least one firmware program module within at least one of the plurality of categories of the firmware program modules and determining whether the modification is a major modification or a minor modification, responsive to determining that the modification has been made to the at least one firmware program module, modify data stored in the firmware identification data structure by modifying at least one major version identifier of the plurality of major version identifiers or at least one minor version identifier of the plurality of minor version identifiers to reflect the modification, and responsive to determining that the modification is the major modification, modify the firmware version identifier. - View Dependent Claims (17, 18, 19, 20)
-
Specification