MRAM
If you visit Manchester Computing, you will see a frame about the size of a wardrobe in the reception, strung with what looks like an attempt to weave metal wire into cloth. This is 1KB of magnetic core memory, and it was woven by hand. At each intersection of wires, there's a small iron ring that can be magnetized in either direction to store a one or a zero. Throughout the '70s, this kind of memory was the dominant player, and terminology from that era is still around. When a program crashed back then, it would write out the contents of the magnetic core memory onto paper for debugging. People still talk about programs dumping cores, even though magnetic core memory hasn't been in common use for decades.
The descendent of this cumbersome technology is Magnetoresistive RAM (MRAM). Like its ancestor, it stores data in small magnets. Rather than using iron rings, it uses magnetic domains on ferromagnetic plates in an integrated circuit. Typical designs use two such plates. One holds a fixed-polarity magnetic charge, and the other has its polarity flipped to indicate the stored value. The electrical characteristics of the gap between the plates change depending on whether the two magnets are aligned or in opposition, allowing the memory to be read.
The speed of MRAM is, perhaps, the most interesting aspect. In prototypes, it's even faster than DRAM, and competitive with SRAM. In practical shipping models, it's a similar speed to DRAM. Unfortunately, so far the density has been far too low to be interesting outside of a few niche markets.
MRAM may be a feasible non-volatile replacement for SRAM in on-chip caches in the future. This would be interesting for two reasons:
- First, it is non-volatile, so it would mean that the CPU could consume no power at all while idle and not lose the contents of cache.
- More importantly, it should reduce the power consumption of the chip when busy. Most of the die area in a modern CPU is cache, and this space is a large array of transistors that must be constantly powered, irrespective of what the CPU is doing. If you're doing a lot of integer operations, you can cut off power to the floating-point unit, but you can't leave the cache unpowered.
It's possible that MRAM will become a useful technology for mass storage eventually, but I doubt it will be any time soon. I have some issues of BYTE from the early '80s talking about how the new MRAM chips will replace DRAM in PCs in the next few years. MRAM promoters have been making this claim every few years for almost four decades, but still not delivered.