Patent ID: 7802129

Claim:
A fault tolerant method of updating non-volatile memory in a mobile electronic device comprising both non-volatile memory and volatile memory, the non-volatile memory arranged to be written as blocks, the method comprising: receiving an update package; creating, by the mobile electronic device and in the volatile memory using the update package, a plurality of updated blocks corresponding to a plurality of existing blocks of the non-volatile memory; calculating a parity block using all of the plurality of updated blocks; depositing the parity block into non-volatile memory; commencing storing of the plurality of updated blocks into non-volatile memory; detecting an interruption of the storing that generates a corrupted block in the mobile electronic device; identifying the corrupted block of the plurality of non-volatile memory blocks; calculating, by the mobile electronic device and with a formula that uses the parity block, an updated contents for the corrupted block; and storing the calculated updated contents for the corrupted block into the corresponding non-volatile memory block.