Updating firmware with multiple processors
First Claim
1. An apparatus comprising:
- a memory;
a second processor;
a communications interface;
a first processor configured to;
receive an initiation request to update computer-readable instructions for the apparatus that are executable on a plurality of processors that include the first processor and the second processor;
notify, through the communications interface, a host system about original computer program versions associated with the plurality of processors, wherein a first original computer program version is associated with the first processor and a second original computer program version is associated with the second processor;
receive, through the communications interface, a first original set of computer-readable instructions and a first updated set of computer-readable instructions that are associated with the first processor and a second original set of computer-readable instructions and a second updated set of computer-readable instructions that are associated with the second processor;
store the first original set, the first updated set, the second original set, and second updated set in the memory;
initiate updating the first processor with the first updated set of computer-readable instructions from the memory;
when the first processor does not successfully update, revert to the first original set of computer-readable instructions for the first processor;
when the first processor has successfully updated with the first updated set of computer-readable instructions, initiate updating the second processor with the second updated set of computer-readable instructions from the memory; and
when the second processor does not successfully update, revert to the second original set of computer-readable instructions for the second processor and to revert to the first original set of computer-readable instructions for the first processor.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention provides apparatuses, methods, and computer readable media for updating memory containing representations of computer-executable instructions in a processing system. A primary processor receives original sets of computer-readable instructions and updated sets of computer-readable instructions for the processors in processor system from a host system. The sets of computer-readable instructions are stored in memory (e.g., flash memory), where each processor in the system may utilize different sets. The primary processor then initiates updating its firmware with the corresponding updated set. If the update is unsuccessful, the primary processor reverts to the original set and the update process is terminated. Otherwise, the firmware update proceeds to the secondary processor. If the firmware update succeeds, the next secondary processor is updated. Otherwise, all of the updated processors revert to the corresponding original set of computer-readable instructions and the updating process is terminated.
-
Citations
19 Claims
-
1. An apparatus comprising:
-
a memory; a second processor; a communications interface; a first processor configured to; receive an initiation request to update computer-readable instructions for the apparatus that are executable on a plurality of processors that include the first processor and the second processor; notify, through the communications interface, a host system about original computer program versions associated with the plurality of processors, wherein a first original computer program version is associated with the first processor and a second original computer program version is associated with the second processor; receive, through the communications interface, a first original set of computer-readable instructions and a first updated set of computer-readable instructions that are associated with the first processor and a second original set of computer-readable instructions and a second updated set of computer-readable instructions that are associated with the second processor; store the first original set, the first updated set, the second original set, and second updated set in the memory; initiate updating the first processor with the first updated set of computer-readable instructions from the memory; when the first processor does not successfully update, revert to the first original set of computer-readable instructions for the first processor; when the first processor has successfully updated with the first updated set of computer-readable instructions, initiate updating the second processor with the second updated set of computer-readable instructions from the memory; and when the second processor does not successfully update, revert to the second original set of computer-readable instructions for the second processor and to revert to the first original set of computer-readable instructions for the first processor. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method comprising:
-
receiving an initiation request to update computer-readable instructions that are executable on a plurality of processors that include a first processor and a second processor; notifying a host system about original computer program versions associated with the plurality of processors, wherein a first original computer program version is associated with the first processor and a second original computer program version is associated with the second processor; receiving a first original set of computer-readable instructions and a first updated set of computer-readable instructions that are associated with the first processor and a second original set of computer-readable instructions and a second updated set of computer-readable instructions that are associated with the second processor; storing the first original set, the first updated set, the second original set, and second updated set in a memory; updating the first processor with the first updated set of computer-readable instructions from the memory when the first processor does not successfully update, reverting to the first original set of computer-readable instructions for the first processor; when the first processor has successfully updated with the first updated set of computer-readable instructions, updating the second processor with the second updated set of computer-readable instructions from the memory; and when the second processor does not successfully update, reverting to the second original set of computer-readable instructions for the second processor and reverting to the first original set of computer-readable instructions for the first processor. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A non-transitory computer-readable medium having computer-executable instructions that when executed perform:
-
receiving an initiation request to update firmware that is executable on a plurality of processors that include a first processor and a second processor; notifying a host system about original computer program versions associated with the plurality of processors, wherein a first original computer program version is associated with the first processor and a second original computer program version is associated with the second processor; receiving a first original set of computer-readable instructions and a first updated set of computer-readable instructions that are associated with the first processor and a second original set of computer-readable instructions and a second updated set of computer-readable instructions that are associated with the second processor; storing the first original set, the first updated set, the second original set, and second updated set in a memory; updating the first processor with the first updated set of computer-readable instructions from the memory; when the first processor does not successfully update, reverting to the first original set of computer-readable instructions for the first processor; when the first processor has successfully updated with the first updated set of computer-readable instructions, initiate updating the second processor with the second updated set of computer-readable instructions from the memory; and when the second processor does not successfully update, revert to the second original set of computer-readable instructions for the second processor and to revert to the first original set of computer-readable instructions for the first processor.
-
Specification