System and method for updating firmware in real-time
First Claim
1. A system controlled by a firmware, wherein the firmware comprises a set of non-programmable code to perform at least one key function and a set of programmable code to perform at least one normal function, the system comprising:
- a memory including;
a first memory block that stores the set of non-programmable code of the firmware,a second and third memory blocks that include an active memory block and an inactive memory block, wherein the active memory block stores a first set of programmable code of the firmware that is currently being executed by the system and the inactive memory block stores a second set of programmable code of the firmware that is not currently being executed by the system, anda fourth memory block that stores firmware data, wherein the firmware data comprises a set of non-programmable data corresponding to the set of non-programmable code of the firmware and a set of programmable data corresponding to the set of programmable code of the firmware being executed by the system; and
a processor, connected to the memory, comprising;
an input unit that receives a new set of programmable code of the firmware and a firmware updating request,a processing unit, connected to the input unit, that executes the set of non-programmable code of the firmware stored in the first memory block and the first set of programmable code of the firmware stored in the active memory block, anda programming unit, connected to the input unit, that identifies the inactive memory block and stores the new set of programmable code of the firmware in the inactive memory block based on said identifying,wherein after said storing the new set of programmable code of the firmware in the inactive memory block based on said identifying, the processing unit switches from executing the first set of programmable code of the firmware stored in the active memory block to executing the new set of programmable code of the firmware stored in the inactive memory block based on the firmware updating request, andwherein the system continues to perform the at least one key function during said storing and switching steps.
5 Assignments
0 Petitions
Accused Products
Abstract
A system controlled by firmware includes a memory and a processor. The memory includes a first memory block for storing non-programmable code used for performing key functions, and second and third memory blocks for storing programmable code used for performing normal functions. During operation, one of the second and third memory blocks in which the programmable code is being executed is an active memory block. After receiving new programmable code, the processor identifies the inactive memory block, stores the new programmable code therein, and switches to execute the new programmable code while continuing to perform the key functions using the non-programmable code.
22 Citations
19 Claims
-
1. A system controlled by a firmware, wherein the firmware comprises a set of non-programmable code to perform at least one key function and a set of programmable code to perform at least one normal function, the system comprising:
-
a memory including; a first memory block that stores the set of non-programmable code of the firmware, a second and third memory blocks that include an active memory block and an inactive memory block, wherein the active memory block stores a first set of programmable code of the firmware that is currently being executed by the system and the inactive memory block stores a second set of programmable code of the firmware that is not currently being executed by the system, and a fourth memory block that stores firmware data, wherein the firmware data comprises a set of non-programmable data corresponding to the set of non-programmable code of the firmware and a set of programmable data corresponding to the set of programmable code of the firmware being executed by the system; and a processor, connected to the memory, comprising; an input unit that receives a new set of programmable code of the firmware and a firmware updating request, a processing unit, connected to the input unit, that executes the set of non-programmable code of the firmware stored in the first memory block and the first set of programmable code of the firmware stored in the active memory block, and a programming unit, connected to the input unit, that identifies the inactive memory block and stores the new set of programmable code of the firmware in the inactive memory block based on said identifying, wherein after said storing the new set of programmable code of the firmware in the inactive memory block based on said identifying, the processing unit switches from executing the first set of programmable code of the firmware stored in the active memory block to executing the new set of programmable code of the firmware stored in the inactive memory block based on the firmware updating request, and wherein the system continues to perform the at least one key function during said storing and switching steps. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method of updating firmware of a firmware controlled system, wherein the firmware includes a set of non-programmable code to perform at least one key function and a set of programmable code to perform at least one normal function, and wherein the firmware controlled system comprises a memory including a first memory block that stores the set of non-programmable code of the firmware, a second and third memory blocks that include an active memory block storing a first set of programmable code of the firmware that is currently being executed by the firmware controlled system and an inactive memory block storing a second set of programmable code of the firmware that is not currently being executed by the firmware controlled system, and a fourth memory block that stores firmware data, wherein the firmware data comprises a set of non-programmable data corresponding to the set of non-programmable code of the firmware and a set of programmable data corresponding to the set of programmable code of the firmware being executed by the system, the method comprising:
-
receiving a new set of programmable code of the firmware and a firmware updating request; executing the set of non-programmable code of the firmware stored in the first memory block and the first set of programmable code of the firmware stored in the active memory block; identifying the inactive memory block; storing the new set of programmable code of the firmware in the inactive memory block based on said identifying; and after storing the new set of programmable code of the firmware in the inactive memory block based on said identifying, switching from executing the first set of programmable code of the firmware stored in the active memory block to executing the new set of programmable code of the firmware stored in the inactive memory block based on the firmware updating request, wherein the firmware controlled system continues to perform the at least one key function during said storing and switching steps. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
Specification