- Mon Nov 11, 2019 5:13 am
The 100,000 number applies to program erase cycles. This is not the same as writes. In the erased state bits are '1'. When you write from an erased state it just changes those '1' to '0' that it needs to. Bits can only be set from '0' back to '1' by erasing the whole block of cells. So when you write into a previous written location then that may or may not trigger an erase cycle depending on the actual data content. If you write into different locations then that can lower the occurence of an erase happening. So, for example, you could write all 4MB of an erased 4MB chip without causing a single erase.
If you test on a single location then you can force a high erase rate by alternating '1' and '0'writes.
Even with this you may get considerably more than 100,000 erases as that is normally regarded as a conservative minimum number which is also taking into account other factors like the operating temperature of the chip.