Hi Team,
I am currently working on the LPC55S28 and would like to confirm a few points regarding flash memory usage:
As per the datasheet, the flash memory supports between 10,000 to 100,000 program/erase cycles.
In our code, the page size is configured as 512 bytes, and we are using the ROM API:
Here, PflashPageSize is set to 512 bytes.
Can you confirm whether this API erases only the specified 512-byte page, or if it internally performs a sector-level (e.g., 32 KB) erase?
If the flash lifecycle limit is reached for a specific 512-byte page, will it affect only that page, and can we continue to use the remaining flash pages normally?
The datasheet recommends using the flash interface below 100 MHz. However, in our current setup the system is running at 150 MHz, and we are still able to perform flash read/write operations without any observed issues.
Is this expected behavior?
Are there any potential long-term reliability issues or data integrity concerns when operating the flash above the recommended frequency?
Hello @Eiffel,
Answering your questions:
Can you confirm whether this API erases only the specified 512-byte page, or if it internally performs a sector-level (e.g., 32 KB) erase?
This API erases only the number of bytes specified in the function call. However, to ensure the erase operation erased as expected and to eliminate any doubts, you can use the flash_verify_erase function for verification.
If the flash lifecycle limit is reached for a specific 512-byte page, will it affect only that page, and can we continue to use the remaining flash pages normally?
Yes, only the page that has reached its maximum number of program/erase cycles (as specified in Table 25 of the datasheet) will be affected. The remaining flash pages will continue to function normally and can still be used.
Is this expected behavior? Yes, this is expected. It is important to operate within the speed limits recommended in the datasheet (below 100MHz).
Are there any potential long-term reliability issues or data integrity concerns when operating the flash above the recommended frequency?
If the parts execute the program/erase/blank check at frequencies above 100 MHz is possible to:
The operation may end with an "error" status.
The part can stick (endless loop).
You may not see the issues, but this is impossible to know in advance if a part will pass to fail, so as we said, this is not recommended.
BR
Habib