- Silicon Labs Community
- Welcome and Announcements
- Silicon Labs Knowledge Base
- 8-bit MCU
- 32-bit MCU
- Bluetooth / Wi-Fi
- Other Products Category
- Optical/RH/Temp Sensor
- Other Products
- Hardware and Software Tools
- Simplicity Studio and Software
- General Discussions and Suggestions
- Chinese Forum
- Software Libraries
- Development Kits
- Reference Designs
- Third Party Tools
- White Papers
- Official Blog of Silicon Labs
- Chinese Blog
02-04-2017 06:25 AM
We are using EFM32ZG110F32 to design an energy-meter. The application requires the MCUs to store Cumulative Readings and send data out (RS485 CAT5E) when requested. We are thinking of storing the Cumulative Readings in MCU Flash, but the Minimum Flash Endurance of 20K is bothering us. We browsed through the forum and understand the 20K is minimum and typical value is 40K.
The MCUs are power on CAT5E cables and its extremely important that we store the cumulative values in Flash frequently, considering frequent power failures.
Readings are calculated at 2 sec frequency. Say, even if we store the cumulative value once every 1 hour in flash, i.e. 24*365 = 8760 writes in one year. So, the life of MCU at this rate is 20000/8760 = 2.28 years
Could someone please suggest a solution to overcome the Flash Endurance.
Solved! Go to Solution.
02-05-2017 09:50 PM
Flash memory can be used to emulate EEPROM by implementing a wear leveling algorithm. See AN0019 for more information. Not sure if this helps.
My views are my own and do not necessarily represent the views of Silicon Labs
02-06-2017 08:29 AM - edited 02-06-2017 08:30 AM
say that you use one 256 page of flash and your need to save is 4 bytes. With a walking write (the simplest form of 'wear leveling") you get 64 times the lifetime of the flash. I have done this in several projects