RE: EEPROM 100,000 Write/Erase cycle

The EEPROM memory has a specified life of 100,000 write/erase cycles, so you may need to be careful about how often you write to it.

Does the above sentence about arduino in general mean that each location of the EEPROM can only withstand 100k read/write??? Or does the above sentence only apply to all the locations in EEPROM ??? What forms a cycle in this case and when is a cycle completed?? Thanks in advance!!!

As far as I know it is valid for one cell. A cycle imho means one modification (write action) to one cell.

If you need an application continuously writing to the EEPROM: 1. think about it, if a write is really needed into EEPROM to save data permanently after power off 2. use the "update" function instead of "write" - means, it only writes when the addressed location needs to be modified

You can ease your life (of coding) with EEPROMex library, which makes read/write/update pretty simple for all kinds of data types.

You can also verify the written values by reading them back and issue a warning if one fails the verification. And if it's really a concern, use an external FRAM module.

PS The standard library also supports the writing of different data types in an easy way (in my opinion); no idea what the advantage of the above mentioned library would be/

EEPROMex library is deprecated, now in the standard library there are methods .get and .put to read/update any data type.

@rpt007 Cheers!!! But it is not explicitly stated whether or not it is for each location (that is, the 100k write/erase).

@sterretje Cheers!!!!! I am checking the good EEPROM before updating. Do you think each location in the good EEPROM [of Arduino Atmega2560 (4k)] has 100k write/erase cycles??? The same question still applies to the external EEPROM

Godknows: But it is not explicitly stated whether or not it is for each location (that is, the 100k write/erase).

Through destructive testing by the good folks at avrfreaks.net it has been determined that access to EEPROM by a running program is byte-wise. Individual bytes fail.

Godknows: Do you think each location in the good EEPROM [of Arduino Atmega2560 (4k)] has 100k write/erase cycles???

100,000 erase / write cycles is the guarantee. Again, through destructive testing it has been determined that failures occur at over one order of magnitude above 100,000. However, EEPROM failures can be partial (e.g. stuck bit) and complex (e.g. retention failure after extended power-off). Partial failures was tested; complex failures was not tested.

[quote author=Coding Badly link=msg=2818103 date=1467052662] Through destructive testing by the good folks at avrfreaks.net it has been determined that access to EEPROM by a running program is byte-wise. Individual bytes fail.

100,000 erase / write cycles is the guarantee. Again, through destructive testing it has been determined that failures occur at over one order of magnitude above 100,000. However, EEPROM failures can be partial (e.g. stuck bit) and complex (e.g. retention failure after extended power-off). Partial failures was tested; complex failures was not tested.

[/quote]

Cheers!!!! Is it for example, 100k write/erase cycle for location 1 and 100k write/erase cycle for location2 and so on: in the good EEPROM??

Yes.

[quote author=Coding Badly link=msg=2818142 date=1467054601] Yes.

[/quote]

Cheers!!!!!!!!!!!!!!! I am immensely grateful!!!!!!!!!!!!!!!!!!!!!!!!!