EEPROM Reliability

I need to save telemetry uint8_t data to EEPROM every 2 minutes. And retrieve it once a day. But writing every 2 minutes would require writing 262,800 per year. And I want these B Series to last on average at least 5 years. Thats 1.3 million writes. I will be writing only unsigned 8bit integers per write, so that might help. But, still, I’m hesitant to trust the B Series EEPROM for that kind of volume.

In the Boron EEPROM documentation is this: “Since the data is spread across a large number of flash sectors, flash erase-write cycle limits should not be an issue in general.”

So, should I not be worried about it? Can I write 1.3 million 8bit integers? Does the Particle firmware do good enough of a job of spreading this out that EEPROM will hold up?

1 Like

The EEPROM on the Boron is simulated (so not a fixed byte-by-byte region) and further stored on an embedded file-system which provides built-in wear leveling and power-safe protection.

The littlefs is given a 2MB chunk on external SPI flash.

https://docs.particle.io/datasheets/cellular/boron-datasheet/#external-spi-flash-layout-overview-dfu-offset-0x80000000-

You’ll be fine. 1.3million 8bit integers shouldn’t even break a sweat.

1 Like

Thanks Joel for the heads up. Sounds like the old reality of having to deal with unreliable EEPROM might be over, at least with the Particle Nordic chips:)