LPC55S28 Flash memory questions

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

LPC55S28 Flash memory questions

325 次查看
Eiffel
Contributor I

 

Hi Team,

I am currently working on the LPC55S28 and would like to confirm a few points regarding flash memory usage:

1. Flash Erase Lifecycle and Page Size

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:

FLASH_Erase(&flashInstance, destAddress, PflashPageSize, kFLASH_ApiEraseKey);

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?

2. Flash Access at Frequencies Above 100 MHz

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?

标签 (1)
0 项奖励
回复
1 回复

299 次查看
Habib_MS
NXP Employee
NXP Employee

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