Method for firmware variable storage with eager compression, fail-safe extraction and restart time compression scan
First Claim
1. A method, comprising:
- compressing firmware variable data via firmware to produce compressed firmware variable data; and
storing the compressed firmware variable data in a firmware storage device.
1 Assignment
0 Petitions
Accused Products
Abstract
Firmware-based conversion methods for storing converted firmware variables in a firmware storage device, such as flash memory. Under one method, “eager” compression of firmware is performed. In response to a storage request, a determination is made to whether a compressor is available. If it is, the firmware variable is stored in a compressed form in the storage device; if not, the firmware variable is stored in an uncompressed form. In response to a read request for a stored firmware variable, a determination is made to whether the variable is stored in a compressed or uncompressed form. If it is compressed, a decompressor is employed to return the variable to its uncompressed form prior to providing it to the requestor; already uncompressed variables are provided directly to the requester. An application program interface is provided to enable operating system runtime access to the firmware variables. Similar conversions may be employed separately or in parallel, including encryption.
69 Citations
30 Claims
-
1. A method, comprising:
-
compressing firmware variable data via firmware to produce compressed firmware variable data; and
storing the compressed firmware variable data in a firmware storage device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method, comprising:
-
receiving a request to store a first firmware variable;
determining if a compressor is available for compressing the first firmware variable; and
employing the compressor if it is available to compress the first firmware variable and store it in a firmware storage device, otherwise storing the first firmware variable in an uncompressed form in the firmware storage device if the compressor is not available. - View Dependent Claims (10, 11)
-
-
12. A method, comprising:
-
in response to a computer system power-on or reset event, scanning a firmware storage device in the computer system for uncompressed firmware variables that are stored in an uncompressed form;
converting the uncompressed firmware variables to a compressed form. - View Dependent Claims (13, 14)
-
-
15. A method comprising:
-
storing a first converter in a non-fault tolerant portion of a firmware storage device;
storing a first deconverter in a fault tolerant portion of the firmware storage device;
determining if the first converter is available; and
storing firmware variables in a first converted form if the first converter is determined to be available, otherwise storing the firmware variables in a unconverted form. - View Dependent Claims (16, 17)
-
-
18. An article of manufacture, comprising:
a machine-readable medium on which instructions are stored, which when executed facilitate storage of firmware variable data by performing operations including;
receiving a request to store firmware variable data;
compressing the firmware variable data to produce compressed firmware variable data; and
storing the compressed firmware variable data in a firmware storage device. - View Dependent Claims (19, 20, 21)
-
22. An article of manufacture, comprising:
a machine-readable medium on which instructions are stored, which when executed facilitate storage of firmware variables by performing operations including;
receiving a request to store a first firmware variable;
determining if a compressor is available for compressing the first firmware variable; and
employing the compressor if it is available to compress the first firmware variable and store it in a firmware storage device, otherwise storing the first firmware variable in an uncompressed form in the firmware storage device if the compressor is not available. - View Dependent Claims (23, 24, 25, 26)
-
27. A computer system, comprising:
-
a motherboard;
a processor, coupled to the motherboard;
volatile memory, coupled to the motherboard; and
a boot firmware device, coupled to the motherboard and comprising flash memory having firmware components stored therein including a compressor, the firmware components comprising instructions that when executed by the processor effectuate storage of firmware variables by performing operations including;
publishing an interface;
receiving a request to store a firmware variable via the interface;
determining if the compressor is available for compressing the firmware variable; and
employing the compressor if it is available to compress the first firmware variable and store it in the boot firmware device, otherwise storing the firmware variable in an uncompressed form in the boot firmware device if the compressor is not available. - View Dependent Claims (28, 29, 30)
-
Specification