Patent ID: 7340736

Claim:
A method of updating an electronic device from a first code version to a second code version according to a bank order having a penultimate bank, the electronic device having a non-volatile memory comprising a reserved area and a plurality of banks containing the first code version, the method comprising: moving the contents of the last bank in the bank order to the reserved area of the non-volatile memory; shifting the contents of each bank in the bank order to the next bank in the bank order beginning with the penultimate bank in the bank order, and proceeding in descending bank order until the contents of the first bank in the bank order has been shifted to the second bank in the bank order; converting the contents of each bank in the bank order from the first code version to the second code version in a fault tolerant manner beginning with the second bank in the bank order and proceeding in ascending bank order until the last bank in the bank order has been converted, each converted bank being stored in the previous bank in the bank order; and transforming the contents of the reserved area from the first code version to the second code version in a fault tolerant manner, the second code version being stored in the bank that is last in the bank order.