OS State persistence on power loss?

4

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.

brice

Posted 2010-01-29T23:49:20.313

Reputation: 2 206

Using a UPS is still the best way – Michael B. – 2010-01-30T00:39:33.723

Answers

1

MRAM (Magnetoresistive Random Access Memory): See EverSpin; For general info see mram-info.com

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

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

Ƭᴇcʜιᴇ007

Posted 2010-01-29T23:49:20.313

Reputation: 103 763

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 – 2010-02-03T00:15:35.277

So instead of a good old crash, we'll get an infinite loop. – mtone – 2010-02-07T01:08:55.877

@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 – 2010-02-07T02:02:10.143

0

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.

sblair

Posted 2010-01-29T23:49:20.313

Reputation: 12 231

:-) 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 – 2010-01-30T00:31:06.733

2@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 – 2010-01-30T01:15:32.753