Method for firmware variable storage with eager compression, fail-safe extraction and restart time compression scan
First Claim
1. A method, comprising:
- receiving a request to store a first firmware variable;
determining if a compressor stored in a non-fault tolerant portion of a firmware storage device is available for compressing the first firmware variable; and
employing the compressor if it is available to compress the first firmware variable and storing the first firmware variable in a compressed form in a firmware storage device, the first firmware variable in the compressed form to be decompressed via a decompressor stored in a fault-tolerant portion of the firmware storage device, otherwise storing the first firmware variable in an uncompressed form in the firmware storage device if the compressor is not available.
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.
-
Citations
13 Claims
-
1. A method, comprising:
-
receiving a request to store a first firmware variable; determining if a compressor stored in a non-fault tolerant portion of a firmware storage device is available for compressing the first firmware variable; and employing the compressor if it is available to compress the first firmware variable and storing the first firmware variable in a compressed form in a firmware storage device, the first firmware variable in the compressed form to be decompressed via a decompressor stored in a fault-tolerant portion of the 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 (2, 3)
-
-
4. A method comprising:
-
storing a first converter and a second converter in a non-fault tolerant portion of a firmware storage device; storing a first deconverter and a second deconverter in a fault tolerant portion of the firmware storage device; determining if each of the first converter and the second converter are available; storing firmware variables in a combined converted form via first and second conversion operations performed by the first and second converters respectively if it is determined that both of the first and second converters are available; storing firmware variables in a first converted form via conversion operations performed by the first converter if the first converter is determined to be available and the second converter is not available; storing firmware variables in a second converted form via conversion operations performed by the second converter if it is determined that the second converter is available while the first converter is not available; otherwise storing the firmware variables in an unconverted form. - View Dependent Claims (5, 6, 7)
-
-
8. An article of manufacture, comprising:
a machine-readable non-transitory storage 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 stored in a non-fault tolerant portion of a firmware storage device is available for compressing the first firmware variable; and employing the compressor if it is available to compress the first firmware variable and storing the first firmware variable in a compressed form in a firmware storage device, the first firmware variable in the compressed form to be decompressed via a decompressor stored in a fault-tolerant portion of the 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 (9, 10, 11, 12)
-
13. 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 a compressor stored in a non-fault tolerant portion of a firmware storage device is available for compressing the firmware variable; and employing the compressor if it is available to compress the firmware variable and storing the firmware variable in a compressed form in a firmware storage device, the firmware variable in the compressed form to be decompressed via a decompressor stored in a fault-tolerant portion of the firmware storage device, otherwise storing the firmware variable in an uncompressed form in the firmware storage device if the compressor is not available.
-
Specification