System for atomically updating a plurality of files
First Claim
Patent Images
1. A system, comprising:
- a processor;
flash memory; and
non-transitory media on which a plurality of machine-executable instructions are stored that when executed by the processor updates existing data by performing operations including;
writing updated data to a pad file in the flash memory that is located at a different memory location from a memory location of the existing data so that the flash memory comprises both the existing data and the updated data, wherein the pad file is to pad a location of an adjoining file of the flash memory; and
performing an atomic operation to modify configuration data to indicate whether the existing data or the updated data is valid and is to be loaded and executed, such that only the existing data will be loaded and executed before the atomic operation is performed and only the updated data will be loaded and executed after the atomic operation is performed.
0 Assignments
0 Petitions
Accused Products
Abstract
A method for updating platform firmware is disclosed. This capability is facilitated by a standard software abstraction for a firmware storage device, known as Firmware Volume (FV) that is managed through a Firmware File System (FFS). The FFS enables firmware files to be created, deleted, and updated individually. The FFS also enables a plurality of firmware files to be updated atomically by managing file state information via state bits stored in a file header of each firmware file, whereby an atomic change to a single state bit simultaneously causes the FFS to use an updated set of firmware files in place of an original set of firmware files.
-
Citations
20 Claims
-
1. A system, comprising:
-
a processor; flash memory; and non-transitory media on which a plurality of machine-executable instructions are stored that when executed by the processor updates existing data by performing operations including; writing updated data to a pad file in the flash memory that is located at a different memory location from a memory location of the existing data so that the flash memory comprises both the existing data and the updated data, wherein the pad file is to pad a location of an adjoining file of the flash memory; and performing an atomic operation to modify configuration data to indicate whether the existing data or the updated data is valid and is to be loaded and executed, such that only the existing data will be loaded and executed before the atomic operation is performed and only the updated data will be loaded and executed after the atomic operation is performed. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A non-transitory media on which a plurality of machine-executable instructions are stored that when executed by a processor updates existing firmware data stored within a persistent firmware memory by performing operations including:
-
writing updated firmware data to a pad file in the persistent firmware memory that is located at a different memory location from a memory location of the existing firmware data so that the persistent firmware memory comprises both the existing firmware data and the updated firmware data, wherein the pad file is to pad a location of an adjoining file of the persistent firmware memory; and performing an atomic operation to modify firmware configuration data to indicate whether the existing firmware data or the updated firmware data is valid and is to be loaded and executed, such that only the existing firmware data will be loaded and executed before the atomic operation is performed and only the updated firmware data will be loaded and executed after the atomic operation is performed. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A system, comprising:
-
a processor; persistent memory; and non-transitory media on which a plurality of machine-executable instructions are stored that when executed by the processor updates existing data stored in the persistent memory by performing operations including; writing updated data to free space in the persistent memory that is located at a different memory location than a memory location of the existing data so that the persistent memory comprises both the existing data and the updated data; and performing an atomic operation to modify configuration data to indicate whether the existing data or the updated data is valid and is to be loaded and executed, such that only the existing data will be loaded and executed before the atomic operation is performed and only the updated data will be loaded and executed after the atomic operation is performed. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification