why do eeproms have limited life?

i am wondering WHY eeproms have limited life and IF i could reset it / have the eeprom be factory reset with starting life / get more life out of it. (if you know what i mean)

i wish there was a mini hard drive on arduinos. :frowning:

I assume it becomes oxidised after a while or some sort of chemical reaction means they start to degrade.

The data in an EEPROM is stored by electrons on a floating gate in the memory cell.

Electrons are added or removed from the gate through a thin tunneling oxide layer. A high voltage is used to cause electrons to tunnel through the oxide layer during erase/write cycles.

The high voltage erase/write cycles can cause two types of wear.

Electrons can be trapped in imperfections of the oxide layer which prevents electrons from crossing the tunnel layer due to the field caused by the trapped electrons. The cell can no longer be programmed properly.

The oxide layer may be damaged so it is no longer a good insulator and charge leaks from the gate and data is lost.

Here is more detail.

If you really want a lot of write cycles, look into using FRAM. 1 trillion to 100 trillion writes, SRAM writing speed, EEPROM nonvolality, speedy SPI interface.

http://www.mouser.com/Semiconductors/Memory/F-RAM/_/N-488wv?P=1z0y176Z1z0z7v5&Keyword=fram+memory&FS=True

FRAM is a wonderful technology for applications that require frequent writing of data.

The first FRAMs were built in the 1980s and FRAM was going to replace EEPROM by the mid 1990s.

Looks like:

"FRAM is the technology of the future and destined to stay that way".

For a while you could buy DIP 2Mbit parts made by Fuji. I wrote a driver for these parts and a filesystem.

Here is a link to the driver and filesystem.

The first FRAMs were built in the 1980s and FRAM was going to replace EEPROM by the mid 1990s.

A pity they did not :slight_smile:
Still expensive. There is 4Mbit from Cypress (Ramtron). Unlimited endurance under normal conditions..

thanks for all the info, everyone!

:slight_smile:

fram, huh? ill give it a shot. any that i could mount to a breadboard?

thekikicat:
... get more life out of it. (if you know what i mean)

i wish there was a mini hard drive on arduinos. :frowning:

I don't know what you want to do, but there are many wear-leveling techniques.
Look at todays SSD disks - they use EEPROM with only ~3000 write cycles, but using spare cells they can simulate much longer life.
Similar things can be done in Arduino. You can even use internal FLASH as storage if EEPROM is too small, but data+application could fit in flash.