Skip to main content
Post Made Community Wiki by user446730
Source Link
user446730
user446730

As many others have mentioned, modern RAM is only volatile by design - not by requirement. SDRAM and DDR-SDRAM have the added troubles of also requiring a refresh to remain reliable in operation. That's just the nature of Dynamic RAM modules. But, I couldn;t help but wonder if there is another option available. What types of memory exist that can fit the criteria? In this walk-through, I will only cover memory that can be read/written to at runtime. This kicks out ROM, PROM, and other one-time use chips - they're meant to be unchanging once programmed.

If we inch a bit closer to the non-volatile side of the spectrum, we do encounter SRAM along the way - but its non-volatility is quite limited. Actually, it's just data remanence. It doesn't require a refresh, but it sure will drop its data when the power is off for too long. In addition to this, it's also a bit faster than DRAM - until you reach GB size. Due to the increased size of memory cells (6 transistors per cell), when compared to DRAM, the viability of SRAM's speed advantage begins to fade as the size of the memory in use goes up.

Next up is BBSRAM - Battery Backed SRAM. This type of memory is a modified version of SRAM that uses a Battery to become non-volatile in case of a power failure. However, this introduces some issues. How do you dispose of a battery once its done for? And isn't SRAM by itself already big enough as it is? Adding a power-management circuit and battery to the mix only reduces the amount of space that can be used for actual memory cells. I also don't remember batteries playing nice with prolonged heat exposure...

Further to the non-volatile side of the spectrum, we now lay eyes on EPROM. 'But wait', you ask - 'isn't EPROM one-time use also?' Not if you have a UV light and the will to take high risks. EPROMs can be rewritten if exposed to UV light. However, they are usually packed in an opaque enclosure once programmed - that would have to come off first. Highly impractical, seeing that it can't be rewritten at runtime, in-circuit. And you wouldn't be able to target individual memory addresses/cells - only wipe. But, EEPROM might help...

The EE stands for Electrically-Erasable. That opens the door for write operations occurring in circuit for once (in comparison to ROM, PROM, and EPROM). However, EEPROMs use floating-gate transistors. This leads to a gradual accumulation of trapped electrons, which will eventually render the memory cells inoperable. Or, the memory cells could encounter charge loss. That leads to the cell being left in an erased state. It's a planned death sentence - not what you were looking for.

MRAM is next in the list. It uses a Magnetic Tunnel Junction, consisting of a permanent magnet paired with a changeable magnet (separated by thin insulation layer), as a bit. According to Wikipedia,

" The simplest method of reading is accomplished by measuring the electrical resistance of the cell. A particular cell is (typically) selected by powering an associated transistor that switches current from a supply line through the cell to ground. Due to the Tunnel magnetoresistance, the electrical resistance of the cell changes due to the relative orientation of the magnetization in the two plates. By measuring the resulting current, the resistance inside any particular cell can be determined, and from this the magnetization polarity of the writable plate. "

This form of memory is based upon differences in resistance and measuring voltage, rather than charges and currents. It doesn't need a charge pump, which aids in making its operation less power consuming than DRAM- especially for STT-based variants. MRAM has multiple advantages to its design, including memory density comparable to that of DRAM; performance and speed comparable to that of SRAM in limited test cases; power consumption much lower than DRAM; and lack of degradation due to repeated read/write operations. This has put MRAM in the spotlight for researchers and scientists alike, furthering its development. In fact, it's also being looked at as a possible candidate for "universal memory". However, fab costs for this type of memory are still very high, and popular manufacturers are more interested in other options - ones that look a bit unwieldy at this point.

I could go over Ferroelectric RAM, but it's a rather sad option. F-RAM is similar to DRAM in construction - simply replace the dielectric layer with ferroelectric material instead. It has lower power consumption, decent read/write endurance - but the advantages wane after this. It has much lower storage densities, an outright storage cap, a destructive read process (requiring changes to any IC to accommodate for it with write-after-read arch.), and higher overall cost. Not a pretty sight.

The last options on the spectrum are the SONOS, CBRAM, and Flash-RAM (NAND Flash, NOR-based, etc.). Common SSD-like storage won't cut it though, so we can't quite find any viable options at the end of this spectrum. SONOS and Flash-RAM both suffer the issues of limited read/write speeds (used primarily for permanent storage - not optimized for RAM-like operation speeds), the need to write in blocks, and limited numbers of read/write cycles before saying 'good night'. They may be good for paging, but they sure won't work for high-speed access. CBRAM is also a bit too slow for your purposes.

The future for this hunt looks bleak currently. But fear not - I left a few honorable mentions out for your personal reading. T-RAM (Thysistor-RAM), Z-RAM, and nvSRAM are possible candidates as well. While both T-RAM and Z-RAM need a refresh occasionally (in comparison to DRAM, SDRAM, and DDR-SDRAM), nvSRAM is free of such requirements. All three of these options have either better memory density, better read/write speeds, and/or better power consumption rates. They also don't need batteries - which is a big plus (BBSRAM is crying in a corner). With a closer look at nvSRAM, it appears as though we have found the viable candidate for the dreaded DDR-SDRAM replacement.

But soon (at least for those who chose to read this far), we will all be crying in our own separate corners - in addition to having the same size issues as SRAM, nvSRAM is also not available in large enough modules for use as a suitable DDR-SDRAM replacement. The option(s) are there - but either aren't yet ready for production (like MRAM), or simply never will be (nvSRAM). And before you ask, the Gigabyte i-RAM is out too - it only works via SATA interface, producing a performance bottleneck. It also has a battery. I guess we should all be looking at where memory may be going next? A bitter-sweet end, I suppose.