1. A method for providing a firmware update of NAND flash memory, said method comprising: Receiving a minimal core operating system image including only those operating system components required to perform a firmware update process, including an update agent and a NAND bad block manager; Receiving non-core operating system components and application programs as a non-core image separate from the minimal core operating system image, wherein non-core operating system components comprise those components unnecessary to perform the firmware update process; Enabling the update agent to modify information in the non-core image; and Employing the minimal core operating system image to update firmware using the non-core image and the NAND bad block manager.