<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>Kinetis Microcontrollers中的主题 Re: FlexNvm endurance question</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/FlexNvm-endurance-question/m-p/482625#M29520</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi MAURO ANSALONI,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; When the flash is over its endurance, then the flash erase and write operation will not be successful.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;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.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If the flash endurance is over, then the CCIF may still in progress, and never get 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The concrete phenomena is the flash can't be erased and programmed.&lt;/P&gt;&lt;P&gt;About your picture from the flexmemory endurance calculator, it is very easy to understand.&lt;/P&gt;&lt;P&gt;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.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Wish it helps you!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you still have question, please contact me!&lt;/P&gt;&lt;P&gt;Have a great day,&lt;/P&gt;&lt;P&gt;Jingjing&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 17 Dec 2015 07:41:24 GMT</pubDate>
    <dc:creator>kerryzhou</dc:creator>
    <dc:date>2015-12-17T07:41:24Z</dc:date>
    <item>
      <title>FlexNvm endurance question</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/FlexNvm-endurance-question/m-p/482624#M29519</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello everybody&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In a project I have to write and read from the EEEprom quite often (every ten minutes).&lt;/P&gt;&lt;P&gt;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.&lt;/P&gt;&lt;P&gt;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.&lt;/P&gt;&lt;P&gt;I realized that the board will work out of&amp;nbsp; specs in the second half of the required ten years of life, so I have a big question about the FlexNvm strategy .&lt;/P&gt;&lt;P&gt;what happens when the flash area reserved for backup is considered exhausted ? &lt;/P&gt;&lt;P&gt;Does the FlexNvm state machine&amp;nbsp; 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?&lt;/P&gt;&lt;P&gt;...The latter option would generate soon a lot of errors.&lt;/P&gt;&lt;P&gt;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?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank to anyone that helps me to have an idea of what to expect&lt;/P&gt;&lt;P&gt;Mauro&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 15 Dec 2015 12:34:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/FlexNvm-endurance-question/m-p/482624#M29519</guid>
      <dc:creator>mauroansaloni</dc:creator>
      <dc:date>2015-12-15T12:34:01Z</dc:date>
    </item>
    <item>
      <title>Re: FlexNvm endurance question</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/FlexNvm-endurance-question/m-p/482625#M29520</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi MAURO ANSALONI,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; When the flash is over its endurance, then the flash erase and write operation will not be successful.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;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.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If the flash endurance is over, then the CCIF may still in progress, and never get 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The concrete phenomena is the flash can't be erased and programmed.&lt;/P&gt;&lt;P&gt;About your picture from the flexmemory endurance calculator, it is very easy to understand.&lt;/P&gt;&lt;P&gt;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.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Wish it helps you!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you still have question, please contact me!&lt;/P&gt;&lt;P&gt;Have a great day,&lt;/P&gt;&lt;P&gt;Jingjing&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 17 Dec 2015 07:41:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/FlexNvm-endurance-question/m-p/482625#M29520</guid>
      <dc:creator>kerryzhou</dc:creator>
      <dc:date>2015-12-17T07:41:24Z</dc:date>
    </item>
    <item>
      <title>Re: FlexNvm endurance question</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/FlexNvm-endurance-question/m-p/482626#M29521</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;Jingjing&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;Thanks for your answer.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;So, if I understood well, we can presume that the writing will continue for many more years with no errors &lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;(but out of the spec) &lt;/SPAN&gt; , after the ensured 4,8 years of my example. (And i'm happy to hear that)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Another question arise from you answer:&lt;/P&gt;&lt;P&gt;You suggest to use the CCIF bit for the erase operation and this causes some doubt to me.&lt;/P&gt;&lt;P&gt;In my application the data are written and then read back without any explicit erase, as this is demanded to the &lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;FlexNVM that takes care of it&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;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&amp;nbsp; the (FTFL_FSTAT) register that is tested to wait for the write operation to be completed. &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;You can see &lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;in the following line of code &lt;/SPAN&gt;what I do after each write to one of the memory location of the FlexRam&amp;nbsp; assigned to the FlexNVM &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(!(FTFL_FCNFG&amp;nbsp; &amp;amp; FTFL_FCNFG_EEERDY_MASK))&amp;nbsp; ; // Wait for command completion&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;The &lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;CCIF bit is not used for write/read operations, is this wrong? &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;Thanks Mauro&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 17 Dec 2015 17:41:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/FlexNvm-endurance-question/m-p/482626#M29521</guid>
      <dc:creator>mauroansaloni</dc:creator>
      <dc:date>2015-12-17T17:41:03Z</dc:date>
    </item>
    <item>
      <title>Re: FlexNvm endurance question</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/FlexNvm-endurance-question/m-p/482627#M29522</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mauro,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CCIF is for the flash operation and the eeprom parition, actually the thought is the same as the EEPROM write operation for the endurance.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; When the flash is out of endurance, you can't write the eeprom successfully,&amp;nbsp; EEERDY will not be set.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; You should use the EEERDY to check whether the eeprom write is complete.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Wish it helps you!&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Jingjing&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Dec 2015 01:52:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/FlexNvm-endurance-question/m-p/482627#M29522</guid>
      <dc:creator>kerryzhou</dc:creator>
      <dc:date>2015-12-18T01:52:08Z</dc:date>
    </item>
    <item>
      <title>Re: FlexNvm endurance question</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/FlexNvm-endurance-question/m-p/482628#M29523</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;Hi &lt;SPAN style="font-weight: inherit; font-style: inherit;"&gt;Jingjing&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;SPAN style="font-weight: inherit; font-style: inherit;"&gt;Thanks again for your answer.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;SPAN style="font-weight: inherit; font-style: inherit;"&gt;I think it is useful for clarifying the &lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;FlexNVM practical usage &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;SPAN style="color: #51626f; font-weight: inherit; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; font-style: inherit;"&gt;Best Regards Mauro&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Dec 2015 11:55:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/FlexNvm-endurance-question/m-p/482628#M29523</guid>
      <dc:creator>mauroansaloni</dc:creator>
      <dc:date>2015-12-18T11:55:59Z</dc:date>
    </item>
  </channel>
</rss>

