A method of backing up data, comprising: receiving, by an integrated circuit, power for a first on-chip subsystem; receiving, by the integrated circuit, a power fail signal that triggers, under control of hardware, a power isolation sequence that isolates an on-chip SDRAM subsystem, the on-chip SDRAM subsystem comprising an SDRAM controller and a nonvolatile memory controller; after said SDRAM subsystem is isolated, and in response to a signal indicating that said on-chip SDRAM subsystem is isolated, removing said power from said first on-chip subsystem such that only on-chip SDRAM subsystem remains powered; after said power is removed from said first on-chip subsystem, under said control of hardware, receiving, by the SDRAM subsystem, an SDRAM read request comprising a memory address field, said memory address field having a number of address bits exceeding the number that is required to address all of an SDRAM, wherein a first plurality of the address bits indicates a location in said SDRAM and a second plurality of the address bits is encoded to indicate a data manipulation that is to be performed for the purpose of data protection; after said power is removed from said first on-chip subsystem, and based on said indicated data manipulation, selecting a source (371, 372, 373) of data to be sent to a nonvolatile memory; after selecting the source, transferring data from the SDRAM to said source (371, 372, 373); after transferring data from the SDRAM, receiving, by a multiplexer, manipulated data from said source (371, 372, 373); and, transferring, by the multiplexer, said manipulated data to said nonvolatile memory. receiving, by an integrated circuit, power for a first on-chip subsystem; receiving, by the integrated circuit, a power fail signal that triggers, under control of hardware, a power isolation sequence that isolates an on-chip SDRAM subsystem, the on-chip SDRAM subsystem comprising an SDRAM controller and a nonvolatile memory controller; after said SDRAM subsystem is isolated, and in response to a signal indicating that said on-chip SDRAM subsystem is isolated, removing said power from said first on-chip subsystem such that only on-chip SDRAM subsystem remains powered; after said power is removed from said first on-chip subsystem, under said control of hardware, receiving, by the SDRAM subsystem, an SDRAM read request comprising a memory address field, said memory address field having a number of address bits exceeding the number that is required to address all of an SDRAM, wherein a first plurality of the address bits indicates a location in said SDRAM and a second plurality of the address bits is encoded to indicate a data manipulation that is to be performed for the purpose of data protection; after said power is removed from said first on-chip subsystem, and based on said indicated data manipulation, selecting a source (371, 372, 373) of data to be sent to a nonvolatile memory; after selecting the source, transferring data from the SDRAM to said source (371, 372, 373); after transferring data from the SDRAM, receiving, by a multiplexer, manipulated data from said source (371, 372, 373); and, transferring, by the multiplexer, said manipulated data to said nonvolatile memory.