Patent ID: 7543118
Filing Date: 2009-06-02
Classification: G06F

Abstract:
1. A mobile electronic device having NAND-based non-volatile memory and volatile memory, the mobile electronic device comprising: a file system resident in a first portion of the NAND-based non-volatile memory; application code resident in the file system, the application code comprising a plurality of application files; kernel code resident in a second portion of the NAND-based non-volatile memory separate from the first portion, which enables initiation of execution of an operating system and interfacing with hardware circuitry of the mobile electronic device through firmware code resident in the second portion of the NAND-based non-volatile memory; update agent code resident in the firmware code that updates the firmware code; client code resident in the kernel code, wherein the client code copies at least one of the plurality of application files into volatile memory, the client code updates the at least one of the plurality of application files in volatile memory, and the client code copies the updated at least one of the plurality of application files from volatile memory into the file system, replacing the at least one of the plurality of application files; and wherein the mobile electronic device employs a bank-by-bank method in which an unintended point of interruption of the update is determined by comparing check values against previously computed check values communicated to the mobile electronic device.