This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSP432E401Y: EEPROM Endurance

Part Number: MSP432E401Y

Hi,

The technical reference manual for this part says that the EEPROM has an endurance of 500k writes.  Is the 500k number "per word"?

In my application I have a constantly changing variable that needs to be stored in non-volatile memory.  Can I change the location of where I store the variable periodically in order to go beyond the 500k limit?

I assume there isn't any limit to how many times I can read a memory word in the EEPROM.  Is that true?

Thank you.

  • Hello Brad,

    The datasheet has a better description:

    Endurance of 500k writes (when writing at fixed offset in every alternate page in circular fashion) to 15M operations (when cycling through two pages) per each 2-page block.

    To be clear on the 15M operations note - that would be writing Block 0 to Block 31 and then cycling back to Block 0 again.

    EDIT

    Oh and regarding this,

    I assume there isn't any limit to how many times I can read a memory word in the EEPROM.  Is that true?

    Correct, no limit on reads.

    Best Regards,

    Ralph Jacobi

  • Hello Ralph,

    I read that description and it's still not clear to me. The variable I need to store is only 4 bytes.  Does the description mean that it doesn't do me any good to cycle through the 16 words in each block and that I need to go to a new block every time I want to store the variable in a new memory location?

    Also, the MSP432E401Y has 96 blocks and I'm already using blocks 0 to 35 (0x23) for other data.  I assume I can use blocks 40 to 71 instead of blocks 0 to 31.

    And finally, the easiest approach would be to stay at one location for a while, say 256 writes, then move on to the next location for the next 256 writes, etc.  Is there any problem with that approach?

    Thanks again,
    Brad

  • Hello Brad,

    Does the description mean that it doesn't do me any good to cycle through the 16 words in each block and that I need to go to a new block every time I want to store the variable in a new memory location?

    Correct. The endurance is at a block level and it doesn't matter which part of the block you are writing too but rather that you are executing a write to that specific block. Changing the location within the 2-page block will not gain you extra cycles of endurance.

    I assume I can use blocks 40 to 71 instead of blocks 0 to 31.

    Yes that's perfectly fine.

    And finally, the easiest approach would be to stay at one location for a while, say 256 writes, then move on to the next location for the next 256 writes, etc.  Is there any problem with that approach?

    No issue with that approach if you find it works best for your use case.

    Best Regards,

    Ralph Jacobi

  • Hello Ralph,

    Ok, that's the approach I'll take. 

    Thank You,
    Brad