7.2.4.1.12 Endurance
Endurance is per meta-block, which is 8 blocks. Endurance is measured in two ways:
- To the application, it is the number of writes that can be performed.
- To the microcontroller, it is the number of erases that can be performed on the meta-block.
Because of the second measure, the number of writes depends on how the writes are performed. For example:
- One word can be written more than 500000 times, but, these writes affect the meta-block that the word is within. As a result, writing one word 500000 times, then trying to write a nearby word 500000 times is not assured to work. To ensure success, the words should be written more in parallel.
- All words can be written in a sweep with a total of more than 500000 sweeps which updates all words more than 500000 times.
- Different words can be written such that any or all words can be written more than 500000 times when write counts per word stay about the same. For example, offset 0 could be written three times, then offset 1 could be written two times, then offset 2 is written four times, then offset 1 is written twice, then offset 0 is written again. As a result, all three offsets have four writes at the end of the sequence. This kind of balancing within seven writes maximizes the endurance of different words within the same meta-block.