Aboot time!
I have been wanting this tech for most of a decade. Finally someone with some resources has done it. Cool. Servers aside, with appropriate desktop/palmtop OS support, this could make a whole new level of instant-off/on capability.
Viking has built a hybrid, battery-free, non-volatile storage memory product, combining DRAM and NAND, which is faster than PCIe flash. Eat your heart out, Fusion-io. Viking Technology is a division of Sanmina-SCI, and its DDR3 ArxCis-NV is a DIMM that comes in 2, 4 and 8GB capacity points and operates at DRAM speed. It …
I used to develop industrial equipment and at costs that were obscene... approximately $500 for 2 megabytes for example, I would buy a storage device which consisted of 2 megabytes of static ram stacked on top of 2 megabytes of flash (or possibly eeprom) and when power was lost, a litium rechargeable battery ran the copy function that would copy the contents of the static ram to the non volatile storage and when power came back, the nonvolatile was copied back to static ram.
This technology is ancient and simple. Using more modern controller chips, caching can occur which would allow much faster startup and shutdown by flagging blocks of memory as altered.
Oh... and using some of the spares laying around, I had a 40 megabyte boot drive back in the day which was based on this tech... it WAS nice :)
Did you know that photo flashes pack both batteries and capacitors? They do slightly different things. AFAIK (but I'm no EE) supercaps pack a bit more charge for their size and keep it a bit longer perhaps but are also a bit more spendy and don't scale up to voltages quite as high as regular caps do. Unlike batteries, however, both lose their charge rather quickly (minutes instead of months to years for good quality batteries) but also recharge instantly and without bother.
The battery backup thing has been done, through the usual UPS but also with batteries ensuring the old RAID card can keep its write cache alive through a power outage. I'd even seen it on a (really old) custom memory bank with battery backup and disk-emulating interface controller replacing gone-unobtanium disk systems, used for PDP-8 controllers (that one ran phone routing well before asterisk existed).
The idea here, is to keep juice long enough to write the RAM contents to flash memory, and after that, well, no point in bothering with charger circuits, recharge cycle counts, charge degradation, or even risk the batteries going asplode. It's a tradeoff, see.
Yes, I did. Did you read my question? In what way is a "super-capacitor" (a device which temporarily stores electrical energy) significantly different from a "battery" in THIS context (keeping volatile storage alive long enough after a power cut to allow all of its content to be copied to non-volatile storage)? Is it that one stores more energy than the other? That would depend on how large the battery is, and how large the capacitor is, innit? Or is it about how long it stores the energy? Ditto. So what's the advantage? Size? Weight? Speed? Price? Awesomeness? Or just marketing?
Yes, they're different.
Batteries, including rechargeables, and also your car battery, deliver power through a chemical reaction[ with rechargeables, this reaction is more or less reversible. You can build a simple battery by sticking a zinc and a copper nail in a lemon. It will generate power right there (enough to run a digital watch), without the need to charge it first. Problem is, over time the chemicals migrate away from the electrodes (which you need to get those lovely energetic electrons out, and back in the other side), and the battery capacity decreases. And as Murphy dictates, it will be below the required level just the moment you need it.
Capacitors on the other hand are just electron buffers. They're basically two conducting surfaces with an insulator in between. You have to apply a voltage to the electrodes to charge it, otherwise it won't do a thing. But unlike batteries, you can keep a capacitor under power and it won't (noticeably) degrade, so the moment you need the power it has stored it will deliver roughly the amount of energy it's specified for, even if it's ten years old.
The biggest advantage to Capacitors over Batteries is how quickly and efficiently they can charge and discharge. With a battery, if you discharge faster you don't get as much energy out, where as this isnt the case with a supercap*. They can also be charge very quickly.
Add the advantages above, and for short term power supply they are a very good option.
* I know this isn't technically the case, due to power losses from the higher current, but it is such a small effect compared to batteries as to make it negligible.
It'll probably remain unobtanium for mortals for a while, but it looks... interesting. Since resuming requires OS support, I'd suggest they make available (loan, gift, whatever) a couple sticks to various FOSS OS projects. That would seem to be a shrewd move.
As a sidenote, it would of course make getting crypto keys out of memory rather trivial, well easier than taking a can of freon to the memory sticks. More reason for cpus with encrypted memory region or secure on-chip key storage support, maybe. Or maybe reserving a bit of on-chip cache to not be main memory backed, or something.
Capacitors and batteries are two different things. Yes, they store energy, to be delivered when needed, but they do so by a different method. It's not unlike when you need, say, acetylene: you can store it in a gas bottle (capacitor), or you can generate it when you need it using carbide and water (battery) (and a rechargeable battery is one in which the chemical process can be largely reversed by supplying energy)
Plus caps last longer, and there is no conditioning or maintenance involved. The fact they can't hold a charge for long is irrelevant in this usage, they will be powered by the power supply right up to the point it is cut off, then they will power the transfer from DIMM to FLASH.
I would only wonder about duty cycle on all those writes to the flash, I don't think a limit of 100,000 power cycles would be a big deal though.
Seems this would go a long way toward making instant-on-hardly-ever-need-to-reboot computers and devices a reality.
Still need a way to save and restore CPU state info, though. I'm surprised that Intel and AMD haven't come out with processors that do that yet (i.e., contain a bit of flash so they can write state info to solid storage in case of a power failure)...
Still, the pieces are beginning to fall into place, looks like.
Intel only does what's necessary to keep competitors out of the market. They innovate to be sure - but only to keep on top of the pile. (Oversimplistic - yes I know)
If they see this being adopted, then you can be sure they will have something out pretty sharpish, with their lawyers preceding ready to stamp-out any competition.
This sort of technology would be perfect for almost any portable computing device that relies on an OS - think about it, hibernation/standby modes both eliminated in one go, just press the power button and it's instant-off, press it again and almost instant-on without having to wait for the OS to boot, and your programs you left running are there waiting for you.
What about the stream of garbage coming off the CPU as the power fades?
>
low PSU voltage detection causes DRAM to: switch itself over to its internal supply; tri-state its external bus so that CPU is ignored; commence flush to NV memory
What about partially completed operations?
>this is best-effort disaster recovery, emulating orderly power down is not the objective.
It seems like the motherboard will also need a bank of ultra-caps so it can tidy up the RAM to a state that can be understood when power is restored.
>if MB is so equipped then an exisiting "suspend to RAM" mode is possible - the power requirement for flushing to NV RAM is less than that for "suspend to disk" (I expect, don't know). This seems like a safe and cost-effective solution.
I like this stuff
That's what the supercap is for. I did something similar with a microcontroller setup a couple of years ago. The instant the supply voltage dropped to near the cap voltage the microcontroller ignored all further inputs and dumped the RAM to it's internal flash. Just make sure the cap charge lasts long to enough to support the process.
...a Univac 1108. On power failure the power supplies generated a POWERFAIL interrupt a few milleseconds before DC to the CPU was going to be cut. The CPU had to save all volatile CPU and I/O registers to memory (which was core) within that time, plus a set flag to indicate that the memory contents was valid.
After restoring power you could carefully restart the CPU and resume from the last instruction before the power fail. Good luck in trying to resume any tape operations though, since knowing where the head was last positioned before the failure was pretty dicey.
No big deal you might say with today's technology and battery backups, but it was quite a big deal in 1969 for a room sized system with up to 3 hard-wired CPUs, up to 2 I/O processors and scads of tapes, drums and disks.
Anybody else remember the glorious silence in the machine room after a total power fail? All the fans stopped, neon and nixie status lights on the boxes all dark and just a few dim emergency lights to find your way to power room.
All the new HP RAID controllers have this tech. They call it flash backed write cache.
I don't quite get the point of this for use on RAM chips though. Unless you're using a RAM disk you can't write files to RAM so the only benefit here is that you can suspend to RAM without any power usage but you can always use hibernate for that..
RAID controllers use external battery to sustain write cache in RAM long enough so that cached data can be written to the attached storage (which must have its own power, too) in case of power failure. So basically what you are talking about is backup power for RAM cache for nonvolatile storage.
This is different, since flash capacity is same size as RAM and there is no external battery involved. You can see it as either of:
* regular DRAM backed by nonvolatile storage (awesome)
* nonvolatile storage with full size DRAM cache (probably very expensive per GB)
The most interesting thing is blurring line between RAM and nonvolatile storage, which could facilitate new system programming paradigms. For example, why read the data from a filesystem, when you can simply map it to your process, *without* any IO or cache on the way? What do you want your filesystem to look like when IO is removed from the equation? Why do you need filesystem in the first place if your data can live in memory indefinitely? (well you do, but consider carefully how are you going to use it!).
The challenges are almost as exciting as those posed by memristors and we will have to answer these questions, assuming there is more than grain of truth in this http://www.theregister.co.uk/2011/10/10/memristor_in_18_months/
Needless to say, open source is best positioned to set the course :)
Why haven't SSDs been flogged with enough cap on board to flush ram to the drive? Not as if they're as space-constrained as DIMMs.
BTW, hibernate functions aren't particularly reliable, especially on pcs running OSes other than Windows.
I do like the idea of this though. 1980-ish boot times have such an appeal.
"Why haven't SSDs been flogged with enough cap on board to flush ram to the drive?"
they have , e.g. http://www.anandtech.com/show/4244/intel-ssd-320-review or more detailed analysis http://www2.electronicproducts.com/Supercapacitors_for_SSD_backup_power-article-farr_capxx_mar2009-html.aspx
This is, however, fundamentally different from solution presented in the article, because RAM being flushed in SSD is just its own internal cache. There is (was) currently no way to flush RAM used by CPU to SSD in the even of power failure [*], since DRAMs need too much power and the operation would have to facilitated by the CPU which needs even more power. Since the power has been just cut, there is no way to do it. *) Unless you have some kind of high-capacity power backup (i.e. battery - see above how this compares to capacitor) in which case you have classical hibernation while the computer is sustained by UPS.
Or you could just bypass CPU and marry flash with DRAM which is what these guys have done. In other words the memory module is in CPU address space (thus usable to programs directly, like any RAM) , there is 1:1 size relationship to flash and no battery is required.
This is innovative - although I suspect if price was announced too, one might possibly say "not so much" .
Apart from almost answering your own question with the observation on hibernation, there's the power requirements. You're essentially proposing trying to keep a 100+W CPU*, plus board, plus SSD, juiced up while convincing the OS that the power is gone and that it has to save its state right now just before the last of the power evaporates. Much easier to just let everything else rot and dump a couple DRAM chips to a bit of flash on the other side of the PCB**. It takes a much smaller supercap, and the software can sort out the rest after the power comes back up.
Though it is indeed interesting to note that apparently the whole thing fits in a memory slot, or perhaps it'll need double width maybe, haven't checked the specs. And that flash has gone cheap enough at least for them to come up with the product. Whether it'll turn out to be affordable is something else again. But it'll be quite an interestion option if it saves sufficiently on UPS capacity for things that aren't critical enough to require staying alive through power outages but can ill-afford to start over from an interrupted state.
There do exist 12V-fed (ATX) PSUs with battery backup; apparently google uses them a lot. Saves the hassle of making proper {110,2[234]0}V/[56]0Hz out of 12V DC only to immediately break it down again to 12V and 5V and whatever else the board needs. Before those became easily available I'd heard of at least one shop that had a policy to run everything on -48V like telcos do, exactly because it makes little sense to convert twice for the sake of inserting battery backups. The improved reliability and reduced conversion losses was reportedly worth the premium in buying telco-approved kit.
* or two. or four. or... you get the idea.
** or to a pcb piggybacked onto the one with the dram chips; ie *close*.
"especially on pcs running OSes other than Windows."
You /are/ having a giraffe, aren't you?
My 'buntu and fedora boxes hibernate with no bother whatsoever. My $MEGACORP can only be hibernated 2 or 3 times before needing a clean boot. If I don't then little things like clicking icons to launch apps, or switching between running programmes slows to a halt and then crashes.