cancel
Showing results for 
Search instead for 
Did you mean: 

What happen if make write data to "ST EEPROM IC M24C64-F" the same address more than 4 million write cycles (spec)?

Hello: 

I have a ST EEPROM IC type is "M24C64-F". If I try make write data to the same address over than spec write cycles(4million) , so, does it affect other address's retention data? Does it only affect the data of the address that is written repeatedly?

1 ACCEPTED SOLUTION

Accepted Solutions
Peter BENSCH
ST Employee

To be a little more precise: the guaranteed Write Cycle Endurance of 4 million write cycles applies at the specified ambient temperature of ≤25°C and suitable supply voltage.

As soon as this temperature range is exceeded, the write cycle endurance decreases. For simplicity, a value of 1.2 million at 85°C is given here.

All values of the Write Cycle Endurance do not mean that the 4'000'001st or 1'200'001st write access necessarily destroys the respective byte, the success of the write is just no longer guaranteed.

Regarding the second question: the number of write cycles applies to each individual byte, regardless of the number of cycles of the neighbouring byte, for example.

Does it answer your question?

Regards

/Peter

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

View solution in original post

9 REPLIES 9
Muhammed Güler
Senior III

If you write data in a cell too many times, that cell will be corrupted. If million writes aren't enough, I suggest you look into FRAMs that support trillion writes.

Peter BENSCH
ST Employee

To be a little more precise: the guaranteed Write Cycle Endurance of 4 million write cycles applies at the specified ambient temperature of ≤25°C and suitable supply voltage.

As soon as this temperature range is exceeded, the write cycle endurance decreases. For simplicity, a value of 1.2 million at 85°C is given here.

All values of the Write Cycle Endurance do not mean that the 4'000'001st or 1'200'001st write access necessarily destroys the respective byte, the success of the write is just no longer guaranteed.

Regarding the second question: the number of write cycles applies to each individual byte, regardless of the number of cycles of the neighbouring byte, for example.

Does it answer your question?

Regards

/Peter

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

You get bit rot

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

Thank you Mr. Peter for your reply!

I have another question to ask, that is, I recently had a customer's device with a ST EEPROM IC model M24C64-F, and the customer reported that the IC had an unexpected value in a cell at a certain address (0x57E) (EX: 0x84-->0xA4), causing the device fail to start.

It has been confirmed many times that the MCU program does not write the value 0xA4 in this address, so what will cause the value retention in EEPROM to be changed? Could it be a defect of the IC itself?

Well, there can be several reasons for a bit of an EEPROM cell to inadvertently flip to a different value. One would be a not quite complete write of the original value, another reason could be an external influence like radiation.

If data security requirements are high, it therefore makes a lot of sense to take additional security measures, such as EEPROMs with ECC (e.g. M24C64-A125), see also AN2440.

Regards

/Peter

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

If not at an MCU level, perhaps the integrity of the I2C communication, ie speed, pull-up, etc. That would be hard to log and validate. I2C can also support multiple byte writes, and might need to manage page/sector boundaries. ​

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

Do you mean that even if there is no real write command from the MCU, there will be a chance to trigger the possibility of the EEPROM being written?

By this I mean that an EEPROM is not written accidentally, but its contents can be influenced by external influences or unfavourable programming.

Regards

/Peter

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
S.Ma
Principal

Assuming 3 msec per write, about 3 hours to reach 4M cycles. So when debugging Eeprom api, avoid keeping running the test write function in the while loop when releasing the code after a debug session....