Patent ID: 7043664

Claim:
A method of automatically replacing at least a portion of firmware stored in a rewritable, nonvolatile memory of an electronic device, comprising the steps of: (a) executing machine instructions comprising a boot code included in the firmware in the electronic device to determine whether the firmware should be replaced because it is one of: (i) invalid; (ii) corrupt; and (iii) superseded by a newer version; (b) indicating to a host device that at least a portion of the firmware needs to be replaced; (c) receiving replacement firmware from the host device to replace the portion of the firmware that is in need of replacement, wherein said portion of the firmware comprises machine instructions that form a post-boot code that is separate from the boot code; and (d) overwriting at least the portion of the firmware in the rewritable, nonvolatile memory of the electronic device that is in need of replacement, with the replacement firmware.