Patent ID: 7100011

Claim:
A method for updating the software load of a network communication device with updated software code received from a head end and stored into RAM memory of the communication device comprising: determining whether sufficient storage capacity exists within a flash memory device for storing updated essential code thereto while maintaining existing essential code therein, the flash memory device having stored therein one copy of the existing essential code and one copy of existing non-essential code; writing the updated essential code from the RAM device to the flash device such that the existing essential code is not overwritten by the updated essential code; verifying that the updated essential code has been written to the flash memory device without error; writing updated non-essential application code to the flash memory device beginning at an address where the previously existing essential code begins; and wherein the flash device has enough capacity to store one copy of essential code and one copy of non-essential code, but not enough capacity to store two copies of essential code and two copies of non-essential code.