FlexNvm endurance question

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

FlexNvm endurance question

Jump to solution
2,124 Views
mauroansaloni
Contributor II

Hello everybody

In a project I have to write and read from the EEEprom quite often (every ten minutes).

The project uses the FlexNvm of a Kinetis MK10DX32 , partitioned in order to have a ratio of 1/32 among the EEEFlexram and the backup Flash.

The data array that is saved is 158 bytes long, so the expected life of the EEEprom , using the FlexMemory Endurance Calculator is 4,8 years.

I realized that the board will work out of  specs in the second half of the required ten years of life, so I have a big question about the FlexNvm strategy .

what happens when the flash area reserved for backup is considered exhausted ?

Does the FlexNvm state machine  continue to write rotating on the physical locations that do not show write errors or stops the rotation and continues to write on the last location?

...The latter option would generate soon a lot of errors.

More generally: what can be expected after the calculated endurance? Can we assume that for the vast majority of the cases no error will shown , let's say until the typical values of endurance ere reached?

Thank to anyone that helps me to have an idea of what to expect

Mauro

1 Solution
1,752 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi MAURO ANSALONI,

   When the flash is over its endurance, then the flash erase and write operation will not be successful.

Eg, you should use CCIF clearing to launch the erase flash operation, then wait the CCIF=1,means the FTFE command or EEPROM file system operation has completed.

If the flash endurance is over, then the CCIF may still in progress, and never get 1.

The concrete phenomena is the flash can't be erased and programmed.

About your picture from the flexmemory endurance calculator, it is very easy to understand.

it means, the first 4.8 years, the flash will work in spec, all the data follow the datasheet's test data, but the last 5.2 years, it will out of spec, eg.the flash operation time is longer than the datasheet defined time, but the flash operation still can be successfully, just the spec data may be changed.

Wish it helps you!

If you still have question, please contact me!

Have a great day,

Jingjing

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------

View solution in original post

0 Kudos
4 Replies
1,753 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi MAURO ANSALONI,

   When the flash is over its endurance, then the flash erase and write operation will not be successful.

Eg, you should use CCIF clearing to launch the erase flash operation, then wait the CCIF=1,means the FTFE command or EEPROM file system operation has completed.

If the flash endurance is over, then the CCIF may still in progress, and never get 1.

The concrete phenomena is the flash can't be erased and programmed.

About your picture from the flexmemory endurance calculator, it is very easy to understand.

it means, the first 4.8 years, the flash will work in spec, all the data follow the datasheet's test data, but the last 5.2 years, it will out of spec, eg.the flash operation time is longer than the datasheet defined time, but the flash operation still can be successfully, just the spec data may be changed.

Wish it helps you!

If you still have question, please contact me!

Have a great day,

Jingjing

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------

0 Kudos
1,752 Views
mauroansaloni
Contributor II

Hi Jingjing

Thanks for your answer.

So, if I understood well, we can presume that the writing will continue for many more years with no errors (but out of the spec) , after the ensured 4,8 years of my example. (And i'm happy to hear that)

Another question arise from you answer:

You suggest to use the CCIF bit for the erase operation and this causes some doubt to me.

In my application the data are written and then read back without any explicit erase, as this is demanded to the FlexNVM that takes care of it

In all the code examples i have been able to look at, e.g the one in the MQX 4.0, it is the EEERDY bit of  the (FTFL_FSTAT) register that is tested to wait for the write operation to be completed.

You can see in the following line of code what I do after each write to one of the memory location of the FlexRam  assigned to the FlexNVM

 

     while(!(FTFL_FCNFG  & FTFL_FCNFG_EEERDY_MASK))  ; // Wait for command completion

The CCIF bit is not used for write/read operations, is this wrong?

Thanks Mauro

0 Kudos
1,752 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi Mauro,

  

    CCIF is for the flash operation and the eeprom parition, actually the thought is the same as the EEPROM write operation for the endurance.

   When the flash is out of endurance, you can't write the eeprom successfully,  EEERDY will not be set.

   You should use the EEERDY to check whether the eeprom write is complete.

Wish it helps you!

Best regards,

Jingjing

1,752 Views
mauroansaloni
Contributor II

Hi Jingjing

Thanks again for your answer.

I think it is useful for clarifying the FlexNVM practical usage

Best Regards Mauro

0 Kudos