Patent ID: 8839227

Claim:
A method for updating the software of a network communication device, the method comprising the steps of: receiving the updated software code from a head end device, wherein the updated software code includes an essential code portion and a nonessential application code portion; and upon a determination that sufficient storage capacity exists within a flash memory device for the essential code portion while maintaining a preexisting essential code portion and a preexisting nonessential application code portion therein: writing the essential code portion to the flash memory device such that both the preexisting essential code portion and the preexisting nonessential application code portion are not overwritten by the essential code portion; verifying that the essential code portion has been written to the flash memory device without error; updating a first pointer with an address corresponding to the essential code; writing the nonessential application code portion to the flash memory device such that the preexisting essential code portion is not overwritten; and updating a second pointer with an address corresponding to the nonessential application code.