A revolutionary memory component that could change the way we use computers will be launched next year. Elpida's resistance memory removes the distinction between volatile and non-volatile storage. What will this mean for users and developers?
We often read about the changes that a new product will bring to the way we use hardware or the cost of hardware, but it is not often that some small system component can bring about a complete paradigm shift in software. This, however, is the promise of ReRAM.
Almost since the start of the personal computer era, we have been using DRAM - Dynamic RAM - in large quantities. DRAM is reasonably fast and reasonably cheap, but it has one characteristic that has a major impact on the way we write programs. DRAM is volatile in the sense that when you turn it off it forgets what you have stored in it.
This single, unwanted and unnecessary, feature of DRAM has become part of the way we use computers. When you switch your machine off you have to go through the chore of rebooting the operating system and just about everything else. While there are save and restore schemes that allow you to keep your working state, they are not particularly reliable and most users don't bother with them. The distinction between volatile and non-volatile storage is also one of the reasons we store documents to disk and reload them when they are required.
This whole notion of a memory store split into volatile and non-volatile is quite recent in the history of computing. The early mainframes and mini-computers used magnetic core storage and retained their state when you switched them off. You returned in the morning to your minicomputer and found it exactly as you left it the evening before.
Now we could be about to return to persistent storage. ReRAM, or resistance memory, is based on the memristor invented by HP in 2008. For a long time electronics involved only resistors, capacitors and inductors and then it was noticed that there was a missing component - the memristor, a device that changed its resistance as current flowed. Current flowing in one direction increases the resistance and in the other direction decreases it. When the current isn't flowing the memristor holds its resistance constant. In other words, a memristor "remembers" how much current has passed though it as its current resistance value.
It is fairly easy to see how memristors could be used to create a non-volatile memory - but the practice hasn't been easy. Now Elpida has a practical design and has produced a 64Mb ReRAM memory chip that is as fast as DRAM and ten time faster than the NAND memory used in Flash storage devices. This should hit the market in 2013 with the help of Sharp. Other manufacturers have similar products in pre-production stages.
What all this means is that ReRAM has the potential to replace NAND memory in flash devices, making them as fast as current main memory. This is good news, but if the price can be reduced to the level where it can compete with current Flash technologies, it can also compete with DRAM. A machine with an all ReRAM memory would be completely non-volatile and for the first time in 30 years we would see a return to persistent programming - or would we?
Perhaps it is all too late. Perhaps we have grown so accustomed to applications that start with no memory of what they have done in the past, that we will continue to save state in a special memory area called a document.
It will be interesting to see what the reaction of the user and the programmer is to the introduction of ReRAM.
Elpida takes ReRAM to prime time
In Praise of Persistence
Flash Memory - Changing Storage
How memory works
To be informed about new articles on I Programmer, subscribe to the RSS feed, follow us on Google+, Twitter or Facebook or sign up for our weekly newsletter.