The EEPROM emulator allocates 100 bytes of the Spark Core's built-in flash memory to act as EEPROM. Unlike "true EEPROM, flash doesn't suffer from write "wear".
Surely all Flash has a limited number of write/erase cycles. I thought this varied between 10000 and 100000 cycles. Obviously reads are unlimited. Is there any definitive information on this?
I’m not 100% sure if this is the right datasheet on this, but here is a ST datasheet on the flash endurance of the STM32F10x chips. Looks like it’s around 10,000 cycles, but maybe someone can chime in and correct me if I’m wrong. I think the external flash chip is a bit more durable if I remember correctly.
I also looked at that data sheet and have come to the same conclusion. I ask the question because I am trying to use the embedded 100 bytes to store machine specific variables and a pointer for the external Flash. I am data logging at hourly intervals so the pointer would likely wear out the Flash after about 500 days. I’ll probably dedicate a small area of the external Flash RAM once I am confident that the Flashee wear levelling issues have been resolved.
I think I am getting somewhere with the Flashee wear levelling library. I found that data blocks between 20 and 60 bytes made no difference to the problem which occurred when the Core was powered off and on. It appears stable on all my three Cores when just applying a hard reset with the button. I then thought about my switch and applied a reverse diode (preventing inductive kick?) across the power supply and then a large capacitor to delay power down. Neither of these made any difference.
The latest Deep Update patch that I applied to one of my ‘black’ Cores caused my original Cloud enabled code to fail. However when I loaded the local TCP/IP code into it with Could disabled the wear levelling problem had disappeared.
So far as Cloud storage is concerned I expect there is room for both local and Cloud storage. Once I am confident that the Cores are stable enough in Cloud or local connection mode I will test the market and determine what the likely demand will be.