Quick Links

Computer RAM is volatile; whatever is stored in it vanishes as soon as the electricity is turned off. Why, exactly, is computer RAM volatile, though? Read on as we investigate the physics of building high-speed computer memory. 

Today’s Question & Answer session comes to us courtesy of SuperUser—a subdivision of Stack Exchange, a community-driven grouping of Q&A web sites.

The Question

SuperUser reader Chintan Trivedi is curious why exactly computer RAM has to be volatile:

If computer RAM was to be non volatile like other persistent storage [types], then there would be no such thing as bootup time. Then why is it not feasible to have a non volatile ram module? Thank you.

Although there are types of non-volatile RAM (referred to as NVRAM and found in all sorts of applications like storing data inside your Wi-Fi router), Chintan is specifically referring to the type of RAM found in PCs. What exactly is stopping us from using NVRAM in our desktop and notebook computers?

The Answer

SuperUser contributor MSalters offers some insight into how we can't escape the physical limitations (however microscopic the scale) of the hardware:

Deep down it's due to physics.

Any non-volatile memory must store its bits in two states which have a large energy barrier between them, or else the smallest influence would change the bit. But when writing to that memory, we must actively overcome that energy barrier.

Designer have quite some freedom in setting those energy barriers. Set it low 

        0 . 1
    

, and you get memory which can be rewritten a lot without generating a lot of heat: fast and volatile. Set the energy barrier high 

        0 | 1
    

 and the bits will stay put almost forever, or until you expend serious energy.

DRAM uses small capacitors which leak. Bigger capacitors would leak less, be less volatile, but take longer to charge.

Flash uses electrons which are shot at high voltage into an isolator. The energy barrier is so high that you can't get them out in a controlled way; the only way is to clean out an entire block of bits.

In other words, the only way to make the RAM as high speed as we need it for modern computer operations is to keep the resistance between state changes extremely low (and thus make the RAM volatile and susceptible to data erasure in the face of power loss).


Have something to add to the explanation? Sound off in the the comments. Want to read more answers from other tech-savvy Stack Exchange users? Check out the full discussion thread here.