Memory programming providing corruption protection
First Claim
1. A method of programming firmware in a computing system, the method comprising:
- loading boot loader code to a first partition of a non-volatile storage, the boot loader code comprising instructions for loading a firmware image that is separate from the boot loader code to the non-volatile storage;
marking the boot loader code as active;
in response to a system start-up, executing the boot loader code using one or more processors of the computing system; and
as directed by the boot loader code;
loading the firmware image from a location separate from the non-volatile storage to a second partition of the non-volatile storage, the second partition being separate from the first partition;
marking the firmware image as active;
following a power cycle, determining that the firmware image is stored in the second partition and has been marked as active; and
in response to said determination, making a copy of the firmware image and storing the copy of the firmware image in the first partition, thereby overwriting the boot loader code in the first partition with the copy of the firmware image;
wherein the method is performed at least in part by the one or more processors of the computing system.
8 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are disclosed for programming non-volatile storage. Methods involve identifying boot loader code stored in a first partition of a non-volatile storage, the boot loader code being marked as active, executing the boot loader code using one or more processors of the computing system, loading a firmware image to a second partition of the non-volatile storage, the second partition being separate from the first partition, and marking the firmware image as active. Methods further involve detecting a power loss event and, following a power cycle, determining that the firmware image is stored in the second partition and has been marked as active, and, in response to said determination, making a copy of the firmware image and storing the copy in the first partition.
55 Citations
16 Claims
-
1. A method of programming firmware in a computing system, the method comprising:
-
loading boot loader code to a first partition of a non-volatile storage, the boot loader code comprising instructions for loading a firmware image that is separate from the boot loader code to the non-volatile storage; marking the boot loader code as active; in response to a system start-up, executing the boot loader code using one or more processors of the computing system; and as directed by the boot loader code; loading the firmware image from a location separate from the non-volatile storage to a second partition of the non-volatile storage, the second partition being separate from the first partition; marking the firmware image as active; following a power cycle, determining that the firmware image is stored in the second partition and has been marked as active; and in response to said determination, making a copy of the firmware image and storing the copy of the firmware image in the first partition, thereby overwriting the boot loader code in the first partition with the copy of the firmware image; wherein the method is performed at least in part by the one or more processors of the computing system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computing system comprising:
-
a device controller comprising one or more processors; and a non-volatile storage having boot loader code stored in a first partition thereof, the boot loader code being marked as active and comprising instructions for loading a firmware image that is separate from the boot loader code to the non-volatile storage; wherein the device controller is configured to; in response to a system start-up, execute the boot loader code using the one or more processors; load the firmware image from a location separate from the non-volatile storage to a second partition of the non-volatile storage, the second partition being separate from the first partition; mark the firmware image as active; following a power cycle, determine that the firmware image is stored in the second partition and has been marked as active; and in response to said determination, make a copy of the firmware image and store the copy of the firmware image in the first partition, thereby overwriting the boot loader code in the first partition with the copy of the firmware image. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
Specification