Electronic device employing efficient fault tolerance
First Claim
1. An electronic device having one of firmware and software stored in non-volatile memory therein, the electronic device comprising:
- a fault-tolerant update agent employing a block-by-block memory update process, wherein the fault-tolerant update agent is capable of updating one of the firmware and software in the electronic device, and wherein the fault-tolerant update agent is capable of determining at least one last updated memory block in a previous update process during fault tolerant recovery following an interruption in an update process; and
wherein the fault-tolerant update agent is adapted to provide efficient recovery services using a backup memory block in non-volatile memory, the backup memory block being used to store resultant content generated by applying an exclusive or (XOR) transformation to contents of a first memory block and a second memory block, wherein the fault-tolerant update agent is capable of retrieving at least one of the contents of the first memory block by employing the backup memory block and the contents of the second memory block, and the contents of second memory block by employing the backup memory block and the contents of the first memory block.
7 Assignments
0 Petitions
Accused Products
Abstract
Disclosed herein is an electronic device capable of providing efficient fault-tolerance update processes by employing a backup memory block used in conjunction with a block-by-block update process, wherein the backup memory block may be employed to store backup content computed using updated contents of a first memory block and contents of unmodified second memory block. The first and second memory blocks may be recoverable following a fault by computations using the content of the backup memory block. Fault-tolerant recovery processes according to an embodiment of the present invention apply the contents of the backup memory block to efficiently recover from faults occurring during update of one of firmware and software in an electronic device.
-
Citations
18 Claims
-
1. An electronic device having one of firmware and software stored in non-volatile memory therein, the electronic device comprising:
-
a fault-tolerant update agent employing a block-by-block memory update process, wherein the fault-tolerant update agent is capable of updating one of the firmware and software in the electronic device, and wherein the fault-tolerant update agent is capable of determining at least one last updated memory block in a previous update process during fault tolerant recovery following an interruption in an update process; and wherein the fault-tolerant update agent is adapted to provide efficient recovery services using a backup memory block in non-volatile memory, the backup memory block being used to store resultant content generated by applying an exclusive or (XOR) transformation to contents of a first memory block and a second memory block, wherein the fault-tolerant update agent is capable of retrieving at least one of the contents of the first memory block by employing the backup memory block and the contents of the second memory block, and the contents of second memory block by employing the backup memory block and the contents of the first memory block. - View Dependent Claims (10)
-
-
2. An electronic device having one of firmware and software stored in non-volatile memory therein, the electronic device comprising:
-
a fault-tolerant update agent employing a block-by-block memory update process, wherein the fault-tolerant update agent is capable of updating one of the firmware and software in the electronic device, and wherein the fault-tolerant update agent is capable of determining at least one last updated memory block in a previous update process during fault tolerant recovery following an interruption in an update process; a backup memory block in non-volatile memory; a random access memory (RAM); a first memory block in the non-volatile memory; and a second memory block in the non-volatile memory, wherein the update agent is adapted to modify contents of the first memory block in RAM, and wherein the update agent is adapted to copy contents of the second memory block into RAM and save contents of the RAM in the backup memory block, and wherein the fault-tolerant update agent is capable of recovering not only modified contents of the first memory block from the contents of the backup memory block employing the contents of the second memory block in non-volatile memory, but also recovering the contents of the second memory block from the contents in the backup memory block by employing modified contents of the first memory block resident in the first memory block in non-volatile memory when an update process is interrupted. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9)
-
-
11. An electronic device capable of updating one of firmware and software in a fault-tolerant update process employing a fault-tolerant update agent, the electronic device comprising:
-
a first memory block in non-volatile memory; a second memory block in non-volatile memory; a backup memory block in non-volatile memory; and random access memory (RAM), wherein the fault tolerant update agent is adapted to copy contents of the first memory block into RAM, update the RAM generating a modified contents of the first memory block, XOR contents of the second memory block into RAM, and copy modified contents of RAM into the backup memory block for fault tolerance before writing the modified contents of the first memory block from RAM into the first memory block in the non-volatile memory. - View Dependent Claims (12)
-
-
13. A method of perform fault-tolerant updating of one of firmware and software resident in non-volatile memory in an electronic device, the method comprising:
-
performing a block-by-block update of a plurality of memory blocks in the non-volatile memory of the electronic device, wherein updated content of each memory block is backed up in a backup memory block before being written into a corresponding memory block; copying each memory block according to a memory block processing order to RAM; updating the RAM when a memory block was not previously used in an exclusive or (XOR) operation while updating a previous memory block in the memory block processing order; performing XOR operation on an updated memory block in RAM using contents of a next memory block in the memory block processing order; saving contents of the updated memory block from the RAM in a backup memory block in non-volatile memory; programming contents of the RAM to a corresponding memory block in the non-volatile memory; and repeating the copying, updating, performing, saving, and programming until all the memory blocks in the memory block processing order have been updated. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification