Hi Robert ... I wanted to share my experience regarding flash longevity. I do not represent STM32 or the Primer 2. I am a user like you. Apologies if this information is redundant.
Manufacturers state a "guaranteed" number of program/erase cycles to give engineers an idea of the lifetime of the part. The number of actual program/erase cycles may be much higher but not guaranteed across all chip lots. Think of it like a military specification in which reliability is given precedent. The guarantee statement is a liability clause for replacing faulty silicon should that occur.
Hypothetically spending 10000 program/erase cycles: If flash was programmed 25 times a day it would take 400 days to reach the guaranteed limit. That's a LOT of development time!
Most users will never reach the maximum number of guaranteed program/erase cycles.
Where this specification does matter most is on systems that use NAND flash technologies for content such as iPod, etc. In an intensive application it is possible to reach a guaranteed limit for a given set of cells which is why NAND flash drivers use a technique called "wear leveling" which essentially ensures that all NAND cell blocks are used equally thereby increasing the life of the silicon. "Wear leveling" will actually move files that are stored longest to the most used cell blocks thereby making available to the system the cell blocks with the least amount of use. NAND flash drivers manage bad blocks over the lifetime of the silicon. NAND flash drivers are expensive and there is a reason for that: efficiency and complexity of design.
My guess is you can rest easy I am pretty sure you will get your moneys worth from the STM32 without flash failure for years to come. Then again I don't know your development style and practice like you do. I typically get a project up and running in 50-500 program/erase cycles.
Joe
Last edited by jetcode (2009-04-11 18:01:27)