Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Is there a way to use persistent memory instead of the volatile ram so that the state is resumed on a power loss without resorting to a UPS? Alternatively, can RAM be battery backed so that you don't lose state on power loss? I know there would be problems with currently executing code, data in CPU cache, etc...

But do some approaches already exist?

[EDIT]: Wondering about possible approaches at the OS or hardware level to enable power loss state recovery.

share|improve this question
Using a UPS is still the best way – Michael B. Jan 30 '10 at 0:39
up vote 1 down vote accepted

MRAM (Magnetoresistive Random Access Memory): See EverSpin; For general info see

MRAM with TAS (Thermal Assisted Switching): See Crocus Tech.

STT-MRAM (Spin Torque Transfer Magnetoresistive RAM): Check with Hynix, Samsung, IBM, etc.

share|improve this answer
That's what I was looking for on the hardware side of things. Its really interesting, and if the people that are working on it are right, it'll even be able to replace the CPU cache. Thanks techie007 – brice Feb 3 '10 at 0:15
So instead of a good old crash, we'll get an infinite loop. – mtone Feb 7 '10 at 1:08
@mtone: Dunno what you mean. The gist here is that, if the power goes out, you don't loose what you were working on. – Ƭᴇcʜιᴇ007 Feb 7 '10 at 2:02

This might sound like a slightly flippant answer, but you could use a laptop, which handily has a built-in battery backup. But I assume this is not suitable - perhaps you had a server in mind?

I suspect that maintaining the system state, even with an SSD, in virtual memory (in a way such that it can be meaningfully restored) would be a lot of effort, and the overall system performance would be dreadful.

share|improve this answer
:-) Laptop works! But the laptop battery is nothing but a miniaturized UPS. But we (well, smart guys in labs) are speeding up solid state memory by significant factors. (ssd ~ x0.1 RAM at the moment) And a day will come when the persistent storage speeds catch up with volatile. Even without the hypothetical future improvements, 350MB/s ram is still fast enough for tons of embedded applications. What I'm wondering is: who's working on devices that don't need a proper suspend sequence but can instead be unplugged with exactly the same resulting behaviour. – brice Jan 30 '10 at 0:31
@brice So, are you looking for a solution for persistence on embedded devices? From experience with a microcontroller (TriCore 1796), executing code and reading constant data from non-volatile flash memory was approximately 2.5x slower than from internal RAM; writing data to suitable non-volatile memory would presumably be slower. In that particular case, the performance drop was so substantial that, to run the system in real-time, we had to copy all the code and constant data from flash to internal RAM at boot-time. – sblair Jan 30 '10 at 1:15

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .