Patent ID: 7640424

Claim:
A method of initializing a non-volatile memory subsystem of a digital system, the method comprising the steps of: performing an initialization sequence of the non-volatile memory subsystem of the digital system, wherein the digital system comprises a system-on-a-chip (“SOC”) integrated circuit comprising a central processing unit, an embedded non-volatile memory subsystem controller that is distinct from the central processing unit, and an external interface, the initialization sequence including a command to open a communications channel between the external interface of the SOC integrated circuit and the embedded non-volatile memory subsystem controller of the SOC integrated circuit that is distinct from the central processing unit of the SOC integrated circuit; powering up the central processing unit of the SOC integrated circuit; executing, with the central processing unit, at least one boot sequence instruction stored in a system read-only memory to interrogate one or more non-volatile memory arrays in the digital system to detect whether an application program is resident; downloading one or more initialization instructions over the external interface in response to determining that an application program is not resident in the one or more non-volatile memory arrays; and executing the downloaded one or more initialization instructions to initialize the one or more non-volatile memory arrays in the digital system according to initialization instructions applied to the external interface and communicated over the communications channel to the embedded non-volatile memory subsystem controller.