RAM not EEPROM

I am looking for some RAM for a few projects, EEPROM just does not have enough read/write cycles… When I am wanting to read/write data every second, I only get a few days with a million read/write cycles.

Anyone got any ideas of what to go for? I presume that a serial ram chip may be the answer but I wouldn’t know how to go about trying to get one of those.

Mowcius

You don't say how big you need it but look at:- http://uk.farnell.com/jsp/search/results.jsp?N=0&Ntk=gensearch_001&Ntt=serial+ram&Ntx=&suggestions=false&_requestid=386386&isGoback=false&isRedirect=false

That microchip part looks promising, but it is a 3.3V part - it needs level conversion to talk to a standard 5V arduino (bummer).

Also look at the Ramtron FRAM devices. They are non-volatile, like flash, but have a much larger number of write cycles, and their specs are increasing. Last time I checked, I think it was “> 109” writes. They also have a serial interface (SPI, IIRC) so it doesn’t take a million pins to interface.

-j

Yes most of the parts I can find have small voltages than 5V. But as it is only 2 pins translation should not be too much of an issue. The 5V parts are all smaller capacities like 4K. You can find both SPI and I2C interface parts in the above link.

Obviously 5v parts would be the easiest but presumably I could manage with 3.3 by just connecting up to the 3.3 output...

I couldn't see any 3.3v ones...

I would like as big as possible because I don't know how much I will add to/advance this project or on another project. 256kbit would be ideal... I still don't know what to go with though...

How do you interface with the serial SRAM chips, is it easy? What limit of read/write cycles do they have or is it so many that it wouldn't matter...

Mowcius

I recently came across a Phillips app note with a really slick idea for bi-directional level shifting using small-signal FETs. I haven't tried it yet (I'm ordering parts today), but I found a few favorable comments from other people who had when I was googling for it.

Ran

Hi,

I'm working on a project currently that needed more than what eeprom could offer. I too thought the million read/write cycles would not last verry long aspecially writing 240 times a second to memory. While working on this project I learned that the million read/writes is not for the entire chip but for each address in memory. So each address has a million read/writes it can handle. Aside from that I needed speed and I was not sure the eeprom would be able to keep up.

Someone turned me onto a FRAM module from www.ramtron.com that is a drop in replacement for eeprom but does not have the limiting read/write cycles eeprom has. On top of that it's alot faster because you don't have to wait inbetween read and write commands.

I ended up getting the wrong chip due to the store I purchased it from labeling it's size as KB instead of Kb. Here is the chip I have on the way which will replace the one I'm playing with right now: FM24C64-G. They have many different sizes available with the 12c 2-wire serial interface.

Hope that helps.

Thanks John

How do you interface with the serial SRAM chips, is it easy?

Depends on the chip so see the data sheet. Basically it is either I2C or SPI. Both of which have libraries to help you if you look in the playground.

I couldn't see any 3.3v ones

If you look at the data sheet you will see lots of them have a maximum Vcc of 3.3V it's just that a lot will work at a lower voltage as well.

Someone turned me onto a FRAM module from www.ramtron.com that is a drop in replacement for eeprom but does not have the limiting read/write cycles eeprom has. On top of that it's alot faster because you don't have to wait inbetween read and write commands.

It looks like they have what I want: http://www.ramtron.com/products/nonvolatile-memory/serial-product.aspx?id=6

But It is surface mount and I think I would have trouble buying from there as I am in the UK.

I couldn't see any 3.3v ones

If you look at the data sheet you will see lots of them have a maximum Vcc of 3.3V it's just that a lot will work at a lower voltage as well.

Ok I have found this one that looks pretty good: http://uk.farnell.com/microchip/23k256-i-p/sram-serial-256k-2-7v-pdip8/dp/1695546

Regarding EEPROM

I would get:

11.6 days with write every second only using 1 address.

2970 days if each piece of data was 1 bit (which they're not) and I was using a 256Mbit chip and using every address for a million read/write cycles.

And it's a bit slow...

I'm working on a project currently that needed more than what eeprom could offer. I too thought the million read/write cycles would not last verry long aspecially writing 240 times a second to memory. While working on this project I learned that the million read/writes is not for the entire chip but for each address in memory. So each address has a million read/writes it can handle. Aside from that I needed speed and I was not sure the eeprom would be able to keep up.

Yeah, assuming it could keep up and you had a 256Mbit EEPROM chip and every piece of data was one bit, you would need a new chip every 12.3 days... And that's with using every address...

Then assuming that you kept up replacing them and each chip costs $2 dollars each, you would spend about $730 a year on EEPROM chips... :o

;D

Anyway, thanks for all your input,

Mowcius

You can get the FRAM from Frnell:- http://uk.farnell.com/ramtron/fm31278-g/fram-mpu-support-256k-rtc-soic14/dp/1688877?MER=i-9b10-00001144

OK on that sram but it s only 32K bytes, is that enough?

The most I have managed to find is 256kbit (32kbytes). If you can tell me where I can get one then I would love one that it larger…

What is the difference in terms of coding between SRAM and FRAM? SRAM takes less pins, and it is serial, so presumably that’s a win for the SRAM…

Mowcius

SRAM - Static Random access memory. It's volitile that is you loose the data when you loose the power. It's static, tht is no refreshes.

FRAM - Don't know what the F. Non volatile - power goes off data still retained. But limited number of times you can erase it.

The FRAM I'm using is serial, Its on the i2c interface (aka 2 wire interface). It requires two wires to talk and thats it. It's supposed to be a drop in replacement for EEPROM memory.

Here is a quote from ramtron's website.

Q: What are the key advantages over EEPROM and Flash?

A: 1) Speed. The “RAM” part of the F-RAM name tells us that it is a RAM, not a ROM. Of course, EEPROM and Flash are not truly ROMs but writing to them can be very slow. An F-RAM's write cycles are completed immediately whereas an EEPROM/flash needs 5 to 10 ms.

2) Low Power Writes. Writes to the F-RAM cell occur at low voltage and very little current is needed to change the data. With EEPROM and Flash, high voltages (10V charge pump) are needed and writes require 5 ms to complete a page buffer write. The energy needed is much higher than F-RAM writes. If E=P*t, then 5ms of write time will necessarily require 200x more energy than F-RAM.

3) High Endurance. Writes are destructive – and floating gate devices eventually wear out; typical endurance is 100,000 to 1 million cycles. F-RAM experiences 1E12 read/write cycles or greater.

Hope that helps

SRAM - Static Random access memory. It's volitile that is you loose the data when you loose the power. It's static, tht is no refreshes.

FRAM - Don't know what the F. Non volatile - power goes off data still retained. But limited number of times you can erase it.

Ok so FRAM has the same issues with limited number of read/write cycles (or some do...) as EEPROM but it is faster and therfore takes less power etc...

Any other advantages of FRAM over SRAM then apart from speed? It doesn't matter about the data being volatile...

I will probably go for the 256mbit SRAM chip from farnell...

Mowcius

SRAM - Static Random access memory. It’s volitile that is you loose the data when you loose the power. It’s static, tht is no refreshes.

Wikipedia’s page on SRAM says:

Static Random Access Memory (SRAM) is a type of semiconductor memory where the word static indicates that, unlike dynamic RAM (DRAM), it does not need to be periodically refreshed, as SRAM uses bistable latching circuitry to store each bit. SRAM exhibits data remanence,[1] but is still volatile in the conventional sense that data is eventually lost when the memory is not powered.

Some manufacturers sell NV-SRAM which is SRAM with a battery backup AFAIK.

–Phil.

I thought that is what I said? It is certainly what I meant to say.

Ok so FRAM has the same issues with limited number of read/write cycles (or some do...) as EEPROM but it is faster and therfore takes less power etc...

not really... unless you consider 1,000,000,000,000 writes a limitation. so each byte can be written to 1 trillion times before it wears out. If you were to write to a byte 1,000 times a second it would take almost 32 years of constant writing to write to that one byte 1 trillion times.

I wouldn't worry about FRAM's write limits if that's your only limiting factor. Go with what will be the easiest for you to get and work with, IMO.

I thought that is what I said? It is certainly what I meant to say.

You're right. However I read it yesterday isn't how I read it today. :)

--Phil.