S32K144 FlexNVM

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

S32K144 FlexNVM

3,248 Views
liuruowen
Contributor I

FlexNVM as E-Flash:

pastedImage_1.png

As shown in the figure above, Data retention is only 5 years, and data retention can be restarted by refreshing the data, so my question is,if one data in FLEXNVM is refreshed, the data retention of other unchanged data will be recalculated for 5 years?

The second question, the more times the data is refreshed, the actual physical address(in FlexNVM) of the data that is not refreshed will change?

Is there any other solution to improve data retention for 10 years?

0 Kudos
11 Replies

3,029 Views
lwaszniowski
Contributor I

Hellow, I have similar question related to this topic.

The datasheet states that DFlash cycling endurance is 1k and data retention is 20years in this case. This is the feature of the DFlash silicon. If this silicon is used by emulated EEPROM, the write endurance is increased to 100k. This magic is explained by the ratio of EEPROM backup flash to FlexRAM that allows to spread each write to FlexRAM to another address of flash. Data retention is decreased to 5years in this case.

 

Is the following conclusion correct?

One 4-bytes record in FlexRAM require 8 bytes in EEPROM backup flash (the smallest writable phrase). 4kB FlexRAM contains 1k records. Each record can be written 100 000 times (write endurance). Complete FlexRAM rewritten 100 000 times require 100 000k records, which is 800 000kB in backup flash. Since only 64KB backup flash is provided, each flash memory cell must be rewritten 12500 times. It is more than 1k (cycling endurance of the data flash), therefore the data retention is not 20years but only 5year.

And my question is: if I implement a software EEPROM emulator for the rest of S32K148 DFlash, the data retention 5years is guaranteed for 12500 rewrites?

 

Thanks

Libor Waszniowski

0 Kudos

3,029 Views
danielmartynek
NXP TechSupport
NXP TechSupport

Hello Libor,

This description is correct, however, when the FlexNVM is partitioned for DFlash (SW emulated EEPROM), the guaranteed endurance is 1k, retention 20 years.

S32K1xx DS, Table 38, footnote 6:

"For usage of any EEE driver other than the FlexMemory feature, the endurance spec will fall back to the specified endurance value of the D-Flash specification (1K)."

BR, Daniel

0 Kudos

3,029 Views
danielmartynek
NXP TechSupport
NXP TechSupport

Hello liuruowen@hangsheng.com.cn,

The NVM specification has changed recently.
Please see the table below (S32K1xx datasheet rev.13).

pastedImage_1.png

If I understand, you are asking whether the retention of records that are static (written only once) can be extended beyond 5 years without rewriting them in FlexRAM.

As you can see, if the endurance is less than 10%, the retention of the data is guaranteed for 20 years.
If the endurance is >10%, the retention is 5 years only, but it can be extended by the background maintenance (footnote 4, Table 38).

The background maintenance operation on the static records takes place when the EEPROM state machine needs to erase a sector because there is no more space left for new records or updates.
The EEPROM stores 64 bits (data + information about the data) into the EEPROM backup flash (FlexNVM) for each 32b record (FlexRAM).
If the whole FlexNVM (64kB) is used as EEPROM backup, it can store 8192 32b records (or updates) before it needs to do the background maintenance - erase sectors and refresh valid records including the static once.

So, if the endurance is >10% and you need to extend the retention (by another 5 years) of some static records, you need to update other records (as many times as it needs to fill the backup flash) so that the maintenance can take place.

Regards,

Daniel   

0 Kudos

3,029 Views
liuruowen
Contributor I

pastedImage_1.png

As above,what does a new question 10% or 100% mean? How to judage this parameter in my project?

Thanks

0 Kudos

3,029 Views
danielmartynek
NXP TechSupport
NXP TechSupport

Hello liuruowen@hangsheng.com.cn,

As you can see in the table, the endurance depends on the EEPROM backup to FlexRAM ratio.

For example, if the ratio is 16, 100% is 100k.

Regards,

Daniel

0 Kudos

3,029 Views
liuruowen
Contributor I

Hello,Daniel:

         Thanks for your relay.

So,I can use software(pastedImage_3.png) to calculate this value。

See below:

pastedImage_4.png

The percentage in the figure above is calculated as follows:  10027/100K = 10%   right?

①: If there is no red part in the curve, that is, all static variables and dynamic variables will be saved for 20 years, right?

Thanks.

0 Kudos

3,029 Views
danielmartynek
NXP TechSupport
NXP TechSupport

Hello Liu,

The Estimated Flash Cycles that you highlighted shows the number of erase cycles on the EE backup flash, it is not the endurance.

As I already mentioned, the endurance is given by the ratio between FlexRAM that is used for the EE records and the EE backup flash.

If the whole FlexRAM is used and the whole FlexNVM is partitioned for the EE backup,

the ratio is 16 = 65536B (backup) / 4096B (FlexRAM), and each record can be updated 100k times.


But if only 256 bytes of FlexRAM is used,

the ratio is 256 = 65536B / 256B and then each record can be updated 1.6M times.

(FlexRAM available / FlexRAM used) * 100k = 100% endurance

As you can see below 64 * 4B = 256B can be updated 1.6M times.

pastedImage_1.png 

pastedImage_2.png

Regards,

Daniel

0 Kudos

3,029 Views
liuruowen
Contributor I

Hello,Daniel:

        sorry,I still can't understand.As below:

pastedImage_2.png

if the ratio is 16, 100% is 100k. 10% is 10k?If I update less than 10k ,the endurance is less than 10%? right?

Can you give me example for below:

for example,S32K144,64KB(back up),4KB(FlexRAM),but only 900 bytes is actually used, what percentage is this?

Thanks。

0 Kudos

3,029 Views
danielmartynek
NXP TechSupport
NXP TechSupport

Hello Liu,

Yes, if the backup is 64k and 4k of FlexRAM is used, the ratio = 16, the endurance = 100k and 10% of it is 10k.

If only 900B of FlexRAM is used,
the ratio = 65536 / 900 = 72.8178
72.8178 / 16 = 4.55111
This is 4.55111 * 100k = 455,111k endurance.

Or we can say, since only 900B of 4096B is used, and the endurance of the whole 4096B is 100k.
4096 / 900 = 4.55111
The endurance of 900B is 4.55111 * 100k = 455,111k

If we use the calculator, we can see that 225 (4B) records (225 * 4 = 900) can be updated 455111 times:

pastedImage_1.png

But not 455112 times

pastedImage_2.png

Hope it helps,

Regards,

Daniel

0 Kudos

3,029 Views
liuruowen
Contributor I

Hello,

   According to your explanation, the FlexNVM (64KB) will be maintained only when it is completely used up, instead of performing maintenance on one sector(4KB)?

   Can you provide the process information or documents maintained by the state machine of EEPROM?

0 Kudos

3,029 Views
danielmartynek
NXP TechSupport
NXP TechSupport

Hello liuruowen@hangsheng.com.cn,

There is no document with this description, unfortunately.

When a record is updated in FlexRAM, the record is moved to a new location in the backup flash, but it does not move other static records. The static records are moved only when the state machine has to erase the sector with the static records.

Regards,

Daniel

0 Kudos