News:

Let's find out together what makes a PIC Tick!

Main Menu

EEPROM absolute total write cycles endurance?

Started by trastikata, Jul 25, 2021, 12:59 PM

Previous topic - Next topic

trastikata

Hello all,

Something has been unclear to me for a while, the PIC datasheet states the following regarding the EEPROM endurance:

QuoteNumber of Total Erase/Write Cycles before Refresh - 1M to 10M

My understanding of the wording is that I can write infinite number of times to the EEPROM without memory cell damage as long as I call the refresh routine after every 1M writes?

tumbleweed

#1
That's not what they're saying... EEPROM has a limited number of write cycles.

There are two parameters to consider: Byte Endurance, and Number of Total Erase/Write Cycles before Refresh

Byte Endurance is the total number of times they guarantee you can write a particular location (usually specified as a minimum).

The Total Erase/Write Refresh needs a little explaining. Every time you write to a location it does an erase and write operation (E/W) on that address.
Every time you do that it bleeds a little bit of charge off of other locations, until you get to the point where there's nothing left and cells you didn't write can change.

That's where the Refresh comes into play. Once you hit the Total E/W Cycles you should refresh the entire EEPROM (read and re-write the data).

Say they spec Byte Endurance = 100K cycles(min), and Total E/W Refresh = 1M (min), 10M typ.
That means that they only guarantee writing to a single location 100K times... after that it may not work.

If you're writing to more than one location, once you do a total of 1M writes you should perform a refresh.

trastikata

Quote from: tumbleweed on Jul 25, 2021, 02:57 PMThat's not what they're saying... EEPROM has a limited number of write cycles....

Thank you tumbleweed for the thorough explanation.

TimB


From memory, one of the issues is that the High Voltage Eeprom write system breaks down.

So if you have 256 bytes of Eeprom you do not get 256 x 10,000 writes

Tim

tumbleweed

I think you would. It's not the high voltage generator that breaks down, it's the charge bleed off of other cells due to the high voltage generator that's an issue.

If the byte endurance is spec'd at 100K, you get 256 x 100K of writes min, assuming you're writing to every location the same number of times.

In the process, every time you hit that refresh number (1M) you have to do the refresh operation, so with 256 x 100K (25.6 million) you'd have to do 25 refreshes.

The 10M typ part of the refresh spec (1M min, 10M typ) means that you might be able to get up to 10M total E/W cycles before having to do the refresh, so they spec the limit lower to guarantee it.