The RM manual states:"the emulated EEPROM backup size must be at least 16 times the emulated EEPROM partition size"
S32K144 itself has 64kb of DFlash+EFlash and 4kb of EERAM. Obviously, 64kb is 16 times larger than 4kb.Moreover, regarding the size of EEE, the S32K144 only provides the option of either not using it or using a size of 4kb.
Does this mean that the official only recommends two solutions: the first is to not use the EEE function and fully utilize the 64kb DFlash (0x10000000-0x1000FFFF); the second is to use 4kb of EEE (0x14000000-0x14000FFF), with the entire 64kb DFlash used for EFlash as a backup for the EEE function.
If that's the case, what's the significance of providing an interface for modifying the allocation of D Flash and E Flash sizes(FCCOB5[3:0])?Or is the requirement of 16 times not mandatory? If the allocation of E Flash is reduced to make it less than 16 times, or even only 8 times, will it fail to meet the official commitment of durability guarantee and reduce reliability?
Solved! Go to Solution.
You may effectively increase EEPROM backup to FlexRAM ratio by using only portion of FlexRAM address space. Even EEPROM data size is set to 4kB (as it is the only option excluding 0kB), you can use just access only first 2kB or first 1kB or less. It still extends write endurance.
Datasheet says:
Then AN11983, page 18 says:
“The way to increase the ratio of RAM to NVM beyond 16 is to use less RAM addresses in the application. If user only write to 2 kB of the total 4 kB of FlexRAM for S32K14x devices, then ratio effectively changes from 1:16 to 1:32, doubling the w/e cycle endurance.”
Thank you very much for your answer. If I set the size of EEE to 4kb, allocate 32kb of memory for D Flash, and allocate the remaining 32kb of memory for E Flash at a ratio of 1:8, and then limit the use of only the first 2kb of EEE in the software, then the ratio effectiveness changes from 1:8 to 1:16? This meets the minimum 16 fold requirement for implementing EEE and achieves an actual memory usage size of 2kb EEE (0x14000000-0x14000800)+32kb D Flash (0x110000000-0x10008000).
I want to know if this is feasible, it's important to me. I have actually made such an attempt in the software, and there is no problem with simple reading and writing. Looking forward to the official reply. And if this is feasible, based on the same principle, can we set 16kb of memory for D Flash and allocate the remaining 48kb of memory for E Flash at a ratio of 1:12, and then limit the use of the previous portion of EEE in the software to an actual ratio greater than 1:16 from 1:12? Can we also achieve the effect of expanding the use of memory.
The reason why I do this is that in actual projects, there are often some parameters that need to be read and written relatively frequently, while some configurations may have infrequent read and write times but occupy a large amount of memory. Therefore, if this can be mixed, partitioning can solve this problem. Because all memory read and write requirements have exceeded 4kb, I have to consider this approach. If all 64kb DFlash is used, the lifespan may not meet the requirements.
You may effectively increase EEPROM backup to FlexRAM ratio by using only portion of FlexRAM address space. Even EEPROM data size is set to 4kB (as it is the only option excluding 0kB), you can use just access only first 2kB or first 1kB or less. It still extends write endurance.
Datasheet says:
Then AN11983, page 18 says:
“The way to increase the ratio of RAM to NVM beyond 16 is to use less RAM addresses in the application. If user only write to 2 kB of the total 4 kB of FlexRAM for S32K14x devices, then ratio effectively changes from 1:16 to 1:32, doubling the w/e cycle endurance.”