Electronic – Alternatives to using EEPROM

eeprommicrocontrollernon-volatile-memory

As I understand it, EEPROM is a part of a computer (in my case, an AVR microcontroller) which stores data, and holds on to it even when the device completely shuts down. It allows data to be written to it, and read from it.

The problem I am seeing is that it has a finite life, and a pretty short one. In other words, I can only read/write a finite number of times before I wear out the EEPROM.

What I am looking for is a way to achieve the same functionality as EEPROM, but in a small form factor. I suppose I can use something like a microSD card, but I would prefer a solution which does not require the user to buy a memory card. Additionally, I only really need a few bytes of space, at most. Let's just say 1 kB to be very, very conservative. I would be spending more than needed to accommodate a memory card of any sort.

So what are my options? Are there any common IC solutions which would allow me to achieve this kind of data storage/retrieval, without a short life and high cost?

Best Answer

Yes, an EEPROM is a type of nonvolatile memory which can hold data even without any power for a significant amount of time (the actual time depends on temperature and other conditions).

There are a few other non volatile solutions for you to consider:

1) Internal Flash memory - Most microcontrollers nowdays have Flash for code storage and some provide it for user data and logging as well. This also has limited write cycles and requires block erase before changing bits from '1' to '0' (you store data elsewhere in the meantime and then rewrite it).

2) Internal FRAM memory - TI has devices with FRAM memory which is nonvolatile, can be accessed very simply (like any other memory location. Reads are also destructive as writes (though in your case this might not matter since the number of cycles is 10^13 or so at 85 degrees celsius).

3) External Flash memory - You can add memory externally to hold a few megabits of data rather inexpensively.

Depending on the rate at which you want to save (and whether you can shutdown nicely) you might be able to increase the effective number of cycles available for you.