<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Doubts about fstorage in sdk 16.0</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/58534/doubts-about-fstorage-in-sdk-16-0</link><description>Hello, 
 We are using nrf52832 with sdk 16.0, for a particular reason we are storing some variables in flash storage, i have some question regarding that 
 
 what is the time for erasing, read and write cycle for flash storage? 
 it shows that 10 000</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 04 Mar 2020 03:01:11 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/58534/doubts-about-fstorage-in-sdk-16-0" /><item><title>RE: Doubts about fstorage in sdk 16.0</title><link>https://devzone.nordicsemi.com/thread/237904?ContentTypeID=1</link><pubDate>Wed, 04 Mar 2020 03:01:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8ca01988-e55f-4f6f-b13b-0abb82dbd27f</guid><dc:creator>Yadhu KP</dc:creator><description>&lt;p&gt;Thanks, Mr haakonsh for this valuable information.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Doubts about fstorage in sdk 16.0</title><link>https://devzone.nordicsemi.com/thread/237752?ContentTypeID=1</link><pubDate>Tue, 03 Mar 2020 13:07:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c6f036fd-3f2d-49dc-8d24-eb5d05c640c3</guid><dc:creator>haakonsh</dc:creator><description>&lt;p&gt;Yes, some basic flash wear leveling(&lt;a href="https://en.wikipedia.org/wiki/Wear_leveling"&gt;https://en.wikipedia.org/wiki/Wear_leveling&lt;/a&gt;) will help a lot.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;The most basic routine is to always write sequentially to flash and never to the same address over and over again. Wait until you&amp;#39;ve filled a page before you erase it. Use&amp;nbsp;as many pages as you can, and distribute the number of erase cycles across them.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;More advance usage is to run error-checking checksums on pages in order to identify pages with memory corruption and disable their use. You can also run error-correcting algorithms to extend the lifetime of a page instead of disabling it, alternatively blacklist certain memory addresses that are corrupt.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Doubts about fstorage in sdk 16.0</title><link>https://devzone.nordicsemi.com/thread/237586?ContentTypeID=1</link><pubDate>Tue, 03 Mar 2020 03:05:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:07c1c8ba-da16-45a7-aca0-79c74a80d8f6</guid><dc:creator>Yadhu KP</dc:creator><description>&lt;p&gt;Thank you so much mr haakonsh for your answer, Is there any way to minimize this erase cycle, and write variable in to a page?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Doubts about fstorage in sdk 16.0</title><link>https://devzone.nordicsemi.com/thread/237493?ContentTypeID=1</link><pubDate>Mon, 02 Mar 2020 14:40:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:04b19752-66ad-4cb0-ad68-50eec7fe59da</guid><dc:creator>haakonsh</dc:creator><description>&lt;p&gt;1. Basically this&amp;nbsp;&lt;a title="Electrical specification" href="https://infocenter.nordicsemi.com/topic/ps_nrf52833/nvmc.html?cp=4_1_0_3_2_10#unique_21692094"&gt;Electrical specification&lt;/a&gt;. There is very little overhead of storage vs CPU read/write to flash.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;2. Most likely nothing, but eventually you&amp;#39;ll have a few bits that are corrupted. Note that that is 10 000 erase cycles. Not how many times you write to a block.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;3.&amp;nbsp; fstorage is used by a lot of modules, there&amp;#39;s simply not enough time to test every corner-case in our build tests, that&amp;#39;s why we label it as experimental. We use it in almost every module that needs persistent storage and&amp;nbsp;we consider it as production worthy for all normal use-cases.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>