2024-08-22 05:51 AM
I’m using an STM32 microcontroller and am trying to understand more about the flash memory endurance cycles. The datasheet mentions an endurance of 1 kcycle (1,000 program/erase cycles). I think possible Write and read (1000 cycles ) or is there any limits about program/erase cycles?
Could explain what exactly this means in terms of practical use? How are these cycles characterized, and what factors might affect the actual endurance in a real-world application?
Thanks!"
Solved! Go to Solution.
2024-08-22 05:56 AM
1 cycle = 1 erase + 1 write.
That means the chip will work if you erase and program it 1000 times. After that, operation is not guaranteed (but it's likely to continue to work well after that point).
The STM32G0x0 is a budget line. Lots of other families have 10k endurance cycles. If you have an application with lots of writing, perhaps look for a chip with higher endurance, or use an external dedicated FLASH chip.
2024-08-22 05:56 AM
1 cycle = 1 erase + 1 write.
That means the chip will work if you erase and program it 1000 times. After that, operation is not guaranteed (but it's likely to continue to work well after that point).
The STM32G0x0 is a budget line. Lots of other families have 10k endurance cycles. If you have an application with lots of writing, perhaps look for a chip with higher endurance, or use an external dedicated FLASH chip.
2024-08-22 05:59 AM
It's the erase which causes the wear - not the write or read.
https://community.st.com/t5/stm32-mcus-embedded-software/issues-with-x-cube-eeprom/m-p/662768
https://community.st.com/t5/stm32-mcus-products/flash-write-versus-erase-cycles/m-p/665435
@vignesh1 wrote:what factors might affect the actual endurance in a real-world application?
Minimise the amount of erasing!