Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

EEPROM protection wear out

Status
Not open for further replies.

mshh

Full Member level 6
Joined
May 30, 2010
Messages
349
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,296
Location
usa
Activity points
3,871
I use codevision to write float data to eeprom of avr, how to protect eeprom form wear out?
 

Write cycle endurance depends particularly on write
voltage and the degree of "overprogramming".

You ought to look at how often you are writing the
EE memory vs this "write budget".

If you have an excess of EE memory capacity you
might look at some kind of counting or read-margin
testing (retention time is a primary fail-point for
write cycle endurance testing) and change the
location (perhaps at block level) when you feel
reliability may be fading. You could also (at some
cost) do things like triple redundant data which
can be error-checked in software, and use a fail
(which would be "voted out") to trigger block
migration.

You can't really protect against wearout. You
can however change its rate (voltage, write
cycles) and live within your budget.
 

i use this method to limit writes, if it is the same value don't store

Code:
 if(PIND.3 == 1&&Tref!=Tref_last)
        {
                Tref=Tref+0.1;
                Tref_last=Tref; // it is the same value don't write 
                
               i=Tref;      // write to eeprom
        }
 

Hi,

The question is: what data, why and how often do you write the data to the EEPROM?

For example.. in one application I store data the current time in EEPROM...
After power up I compare the data of EEPROM with RTC to see how long the system was DOWN.
Now the problem is that time is continously changing....

I solved the wear out problem with an additional capacitor and an early_power_loss interrupt.
Power loss is detected ... and the energy stored in the capacitor is sufficuent to store the timestamp in the EEPROM.
With this solution I don't need to write every minute to the EEPROM, but only on every power OFF...which is very unlikely to wear out the EEPROM.

Btw. There are (ISP/I2C) NV memories that do this similarely..

Klaus
 
  • Like
Reactions: Garyl

    Garyl

    Points: 2
    Helpful Answer Positive Rating
Hi,


With this solution I don't need to write every minute to the EEPROM, but only on every power OFF...which is very unlikely to wear out the EEPROM.


Klaus

yes, this is my application when power is off write to eeprom. Does this not need protection of wear out?
 

Hi,

Does this not need protection of wear out?

* read datasheet about how often you may clear/write an EEPRM cell without taking care about wear out. I assume this is in the range of 100,000.
* If you expect more ON/OFF cycles per lifetime of your application, then you need to take care about wear out.


In my case I expect less than 10 cyles per year in average (which is not relevant)
And I expect maximum of 400 cycles per year.
Thus the 100,000 cycles means about 250 years minimum.

Klaus
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top