Back in the days of old, computers used EPROMs to store their most vital data – usually character maps and a BASIC interpreter. The nature of these EPROMs meant you could write to them easily enough, but erasing them meant putting them under an ultraviolet light. Times have changed and now we have EEPROMs, which can be erased electronically, and Flash, the latest and greatest technology that would by any other name be called an EEPROM. [Nicholas] wanted an alternative to these 27xx-series EPROMs, and found his answer in supercapacitors.
[Nick]’s creation is a mostly non-volatile memory built around an old 62256 32k SRAM. SRAM is completely unlike EPROMs or Flash, in that it requires power to keep all its bits in memory. Capacitor technology has improved dramatically since the 1980s, and by using a supercap and one of these RAM chips, [Nick] has created a substitute for a 27-series EPROM that keeps all its memory alive for days at a time.
The circuit requires a small bit of electronics tucked between the EPROM socket and the SRAM chip; just enough to turn the 12 Volts coming from the EPROM programming pin to the 5 Volts expected from the SRAM’s Write Enable pin. This is accomplished by a few LEDs in series, and a 0.1F 5.5V supercap which keeps the SRAM alive when the power is off.
As for why anyone would want to do this when modern technologies like Flash can be found, we can think of two reasons. For strange EPROM sizes, old SRAMs abound, but a suitable Flash chip in the right package (and the right voltage) might be very hard to find. Also, EEPROMs have a write lifetime; SRAMs can be written to an infinite number of times. It’s not the best solution in every case, but it is certainly interesting, and could be useful for more than a few vintage computing enthusiasts.
This project makes us think of another where an LED may have been supplying keep-alive power to some volatile memory.
26 thoughts on “Mostly Non-Volatile Memory With Supercapacitors”
like a boss!
I got some sample 512K NVSRAMs in dip packages from Dallas/Maxim several years ago. At the time I was very surprised they were willing to offer samples of $120 chips. They are much cheaper now.
I never could grasp why one would use chips that are *bound* to fail. As if coin cell holder + small cap for backup when swapping weren’t reasonable and better.
A company I previously worked at used those Dallas modules in an automotive datalogger. This was before flash was cheap or large enough to safely deal with rolling buffers, so NVSRAM was a good option. It also had to be readable following an accident, and an offchip battery wouldn’t have been reliable enough.
15 year unpowered data retention rating….
Like the old Timekeeper RTC chips (M48T08) with a lithium battery and quartz in a piggyback package.
Used in old Sun workstations and various old gear.
They can be repaired, cutting into the epoxy to solder another battery, when the former eventually dies, after 10 years.
Maxim still sells the famous DS1248, in case your 1990’s vintage PC needs repair.
don’t most SRAMs expect 0V on the write pin when you’re actually writing?
Yes, the actual project turns on an NPN that pulls /WE down when VPP is asserted.
So paired with a uC you could concievable charge the Supercap from a Lipo pack feeding through a 5V boost and/or a solar setup? I’m thinking 512k SRAM might hold a lof of data for outdoor sensors cheaper than adding in an SD logger, an I would already being powering them off something (batter/solar).
I’ve never used supercaps before: can you easily check/estimate the charge state as in add a little code when the uC is running to make sure the supercap is charged before putting it back to sleep?
Q = CV… You know exactly the charge state by looking at the voltage.
SPI FLASH is probably the cheaper alternative if you only need a few MB of non voltage storage. You are looking at less than $1 for 4MB these days.
This has practical applications for sure. It’s something I patented at HP about 7 years ago with DDR2 memories. http://www.patentbuddy.com/Patent/8009499. Cool build!
Does this cover NVDIMM?
You’ll have to ask a lawyer about that. The invention was intended to do almost exactly what an NVDIMM does, but the patent is written as a fail-over mechanism. It could go either way in court.
You might want to use a PMOS FET as a diode on the input side instead of an actual diode, the voltage drop will be much less and the package size smaller.
Kind of like a synchronous rectifier design, right? I wonder if a FET has less reverse current leakage than a diode when used like this.
I am guessing there actually might be more – leakage of the drain & source plus the body diode.
Everspin and Cypress have FRAM/MRAM parts that are pin compatible (though in TSOP and SOIC rather than DIP) with the old battery backed NVRAM chips.
We did that at work some 20 years ago. We had no debbugers so trial and error writing tens of EPROMs per hour was the way of programming, this saved a few seconds here and there,,,
I forgot but the capacitor was a 4700 UF one… you had a few seconds to move the SRAM from the EPROM programmer to your target :). A resistor was used for WE/CE, though.
Hah that’s cool! So it’s “Nearly-Volatile” RAM? :P
But why use a supercap and not just a CR2032 or similiar lithium battery? That would hold the memory contents for years. Retro computer users don’t always turn them on daily, so a longer memory retention time would be preferable.
Unfortunately, there are some old systems where this stack wouldn’t work since it’s too high, there you’re still limited to using the actual EPROMs (which can still be bought easily).
I wouldn’t trust this design for a BIOS ROM. The original point was to have a way to deal with MCU projects where you change the code many times in a day, so you don’t need to mess with UV erase boxes or have a stack of blanks on hand.
I did try a CR2032, but I couldn’t figure out a good way to attach the bulkier cell/holder and I wasn’t able to come up with a small enough circuit to switch from the battery to VCC. I’m sure there’s a way to do it and it would absolutely make more sense for most applications.
Wouldn’t the cost of all the parts here be more than just getting an oversized conventional 27 or 29 series and piggybacking it off an adapter board for just the relevant address lines and wiring it like RAM?
Buying an appropriate part is hardly a hack :)
*insert arduino plug*
Alliance sells a number of cheap SRAM chips that are pin-compatible with the old 62xxx series, and have a standby mode that will probably let you retain the data in a 32KB chip a lot longer than an original 62256. The AS6C62256 uses only 1 micro-Ampere (typical) when you deassert CE#, and retains data until the supply voltage drops under 2.0V. See http://www.alliancememory.com/pdf/AS6C62256%20feb%202007.pdf
They also sell SRAM chips that have more memory capacity than Ye Olde 62256: the largest DIP chip that they have (AS6C4008-55PCN) is a whopping 512 Kilobytes(!), and if SMD is okay you can go up to 2 Megabytes (AS6C1608) or 2 Megawords (32Mbits x 16bits, AS6C3216).
(No, I don’t work for them ;-)
Please be kind and respectful to help make the comments section excellent. (Comment Policy)