EP1584005B1

Mobile handset with a fault tolerant update agent

Abstract

Methods for updating an electronic device having a non-volatile memory are disclosed. An embodiment of the present invention may permit the update of an electronic device from a first code version to a second code version using a fault-tolerant, bank-by-bank method. An update package comprising update instructions may be received via a public and/or wireless network, and the update instructions may be used to convert the first code version to the second code version. The bank order of the conversion may be specified in the update package, and may be non-sequential.

EP1584005B1, drawing sheet 1
Sheet 1 of 6

Term

Term ended

Expired 4 September 2023, 3.1 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

13 claims: 2 independent, 11 dependent

  1. 1
    A method of updating an electronic device (105) comprising a non-volatile memory (111) having a plurality of banks (119-123) containing a first code version, the method comprising:(a) selecting one of the plurality of banks (119-123);(b) duplicating (611) the selected bank to a working bank (125);(c) converting (613) the contents of the working bank (127) from the first code version to a second code version, wherein converting comprises using the contents of a backup bank (127) containing a copy of the original contents of a preceding bank;(d) copying (615) the original contents of the selected bank to a backup bank (127);(e) moving (617) the converted working bank (127) to the selected bank;(f) verifying the successful completion of at least one of the duplicating, the copying, and the converting using at least one of a cyclic redundancy check, a message digest, a digital signature, and a checksum;and (g) repeating (a) through (f) until each of the plurality of banks (119-123) has been updated.
  2. 13
    A mobile handset device (107), comprising:a non-volatile memory (111) having a plurality of banks (119-123) containing a first code version;and an update agent (117) for updating the mobile handset device (107), wherein the update agent (117) is configured to (a) select one of the plurality of banks (119-123);(b) duplicate (611) the selected bank to a working bank (125);(c) convert (613) the contents of the working bank (127) from the first code version to a second code version, wherein converting comprises using the contents of a backup bank (127) containing a copy of the original contents of a preceding bank;(d) copy (615) the original contents of the selected bank to a backup bank (127);(e) move (617) the converted working bank (127) to the selected bank;(f) verify the successful completion of at least one of the duplicating, the copying, and the converting using at least one of a cyclic redundancy check, a message digest, a digital signature, and a checksum;and (g) repeat (a) through (f) until each of the plurality of banks (119-123) has been updated.