cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H743 Internal Flash (single sector) going bad

PSari.1
Associate II

Hi,

I had a question with respect to the internal flash of the stm32 chip that we are using. After much investigation, it seems that the erase operation (via the HAL_FLASHEx_Erase_IT() function in software or using the ST-link utility directly) is "slower" for just sector #5 starting at 0x080A0000.

It noticeably takes longer (6-10 seconds) for this sector than the others (and well outside the bounds of the sector erase time documented in the data sheet). If we wait, the operation is successful (verified for both methods of erase mentioned above). I was wondering if this is an inclination that the internal flash is beginning to fail due to us exceeding the lifetime cycles (10,000) for erase or some other form of hardware failure?

I have never actually experienced an internal flash failure so I wasn't sure. Any other diagnostic suggestions are also welcome!

Thank you!

11 REPLIES 11
Pavel A.
Evangelist III

Does this reproduce on more than one device?

Ah forgot to put this in the message! Great question! -- No, I haven't been able to re-produce it on any other device.

>>I was wondering if this is an inclination that the internal flash is beginning to fail due to us exceeding the lifetime cycles (10,000) for erase or some other form of hardware failure?

Are you doing something that would likely do that?

Doing 10K debug session seems to be a bit of a stretch.

It is a large sector, if you use/update it with configuration settings those could be journalled to reduce the cycles on the memory.

The memory erase/write is self-timed, so this could reflect in a heavily worn sector.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

Interesting, I will do that.

There's quite a number of people that would be testing on this board for 5/6 months; each of them having multiple erase and flash cycles to test their specific branches of code. That's why I was thinking it's possible that we hit the 10k cycle.

Then try a full erase.

Not sure the array is constructed in a way that would make that effective.

Could try the WRITE ALL ZEROS approach, and then ERASE that..

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

Ah yes, according to the ST-Link utility, the full erase is successful -- it just takes longer than expected (because of sector 5).

I can verify and see that it's all FF's actually (even after an image is flashed into it).

Uwe Bonnes
Principal III

With some bad ECC value in a page, bad things may happen.

A full erase should fix these ECC bad things. But the OP says that after successful full erase this sector still makes trouble.