This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

NRF52832 flash endurance

According to the nRF52832 spec, the flash memory can handle a minimum of 10K write/erase cycles. I need to understand the following:

  • I understand the write/erase cycles are at a word level. That is, each 32-bit word can be written and erased 10K times. Is that right?
  • Is there a better estimate on how many operations can be handled, not only a lower bound?
  • If I write 10K times on the same position in flash, should I expect the whole flash to break or only that very specific position? If so, how do I know what positions do work and which do not?
Parents
  • Hi,

    No, erase always work on page level, it's flash technology. This clears whole page to 0xFF..FF and you can then write word by word, even to the same address, and set any bit to 0 (obviously once you do it for particular bit it won't become 1 until next page erase but you can be "rewriting" it to 0 several times;). Note that there is another fenomenon on nRF5x flash and that's "Amount of writes allowed in a block between erase". You can read more about it here.

    Now once you exceed guaranteed number of erase/write cycles on particular page it can be unpredictable. Very likely nothing will be happening for some time and then it might be failing on some operations (but still fixable by retry) and in the end page will become inaccessible at all. That can be long process and it can be fast. Here is answer from Nordic on the same topic (have you searched the forum before asking... or not?:)

Reply
  • Hi,

    No, erase always work on page level, it's flash technology. This clears whole page to 0xFF..FF and you can then write word by word, even to the same address, and set any bit to 0 (obviously once you do it for particular bit it won't become 1 until next page erase but you can be "rewriting" it to 0 several times;). Note that there is another fenomenon on nRF5x flash and that's "Amount of writes allowed in a block between erase". You can read more about it here.

    Now once you exceed guaranteed number of erase/write cycles on particular page it can be unpredictable. Very likely nothing will be happening for some time and then it might be failing on some operations (but still fixable by retry) and in the end page will become inaccessible at all. That can be long process and it can be fast. Here is answer from Nordic on the same topic (have you searched the forum before asking... or not?:)

Children
Related