How i can store data code for LONG time 100-200y - Data Retention, Reliability, Lifetime, Flash

Tags:
Store, data, 100years, Memory, ROM, Endurance, Data Retention, Reliability, Lifetime, Flash, High temperature

Hi guys
I'm working on a research project in wich we want embeed sensors and logic, an ESP32, inside building's pillar surrended by concrete.
The esp32 collect data throught sensors, process them and send it to a sink using Bluetooth

Conditions:

  • The device then can be never removed or replaced once is deployed (is in the concrete pillar)
  • The device is externally powered by a electrical source (cables) then power is not a constraint.
  • The data communication between sensors are made using Bluetooth. We have tested that we can transmit data from inside concrete to an exteranl sink that could be a phone.
  • The device do not needs to store (write on memory) datas, the devices just reads process and sends enviromental datas. The deive can use READ ONLY MEMORY ROM to store the code no data store is needed.

Since the device CANNOT be removed my concern is to provide to the project a LONG LIFE EXPENTANCY (more then 100-200years), in particular I'm concerned about the fact that the data in Flash Memory could disappear after few years (10y) due to limitated Lifetime of flash memory in particular at relativly high temperature. If the data will disapper even the code stored in the flash disapper too and the sensor will fail to achieve the its job.

** Question(s) **

  • There are kinds of memories (flash on not flash), even ROM (read only memory) that are suitable to store code/data (informations) for LONG (100-200years) time without fail with a size of 4MB or more?
  • If yes where i can find them, i mean where i can buy? Wich producer ecc..?
  • How i can integrate these memories in the ESP32? Can i replace them to replace the flash? Is it possible to do that?
  • How i can program such memories? I mean how can i "flash" these kind of memory?[/list]

I thought that i can use a PROM: form wikipedia, "A typical PROM comes with all bits reading as "1". Burning a fuse bit during programming causes the bit to be read as "0" by "blowing" the fuses, which is an irreversible process." but i can't figure out where i can start.

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@ TO READ MORE @@@@@@@@@@@@@@@@@
Despite the forum user irony I found that companies pay attention to the problem of data retention.
In the above documents is shown that at 25°c flash memory can have a data retention >100y

The document listed above states "In the data sheets of MSP430 devices, data retention is specified to exceed 100 years at 25°C (see Table 1). This value is industry accepted and all vendors specify 100 years as the flash data retention duration at 25°C, despite it being extremely conservative. "

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@ MY COMMENTS @@@@@@@@@@@@@@@@@

I'm very annoyed form the fact that i received about 20 repies and none of that were focused to try to solve the problem or improve the described solution. Seems that none has read entierly my post and users started to give me unuseful and annoyng replies such "user graffiti or punched board or even paper" others tried to subvert the problem breaking the conditions (conditions are like axioms in a theorem) other tried to state that humans won't be able to survive in 200y. No serious or well argumented replies was given.

I see that many ppl misunderstood the goal that is "how to store executable code (that is a subclass of data) for long time" and confused with "how to store informations for long time" because these ppl did not read my post.

Nobody has 200 year worth of history on these technologies and I don't think anyone will tell you that a ESP32 will survive 200 years...

whilst you get more than 10 years life expectancy for data at rest in NAND and NOR flash memories, Electronic components degrade due to various factors, such as electrical stress, temperature and/or humidity fluctuations, voltage spikes, and electrical noise, all of which contribute to wear and tear

if you store the data in flash that's an aggravating factor as the Erase Cycles is limited to ~10,000 and 200 years is more than 73000 days...

so I think you are doomed already....

2 Likes

Rock carvings do last very long ...

8 Likes

Wouldn't it make more sense to embed just the sensor, and keep the microcontroller accessible? :thinking:

Then this whole question just goes away! :+1: :nerd_face:

1 Like

No computer is 100 years old, who knows? You're asking a bit of an impossible question. Best I think you can get is wire comms lines right alongside the power lines and do away with bluetooth altogether, convert the signal to analog and record it to ... something?

Indeed - who knows how long Bluetooth will remain available ... ?

Ah, I was thinking wired comms lines along with power, but your idea is better.

OT

Remember that the first commercial radio transmission took place 100 years ago.

And now?

We allways can use old devices to access to my sensors. Anyway I'm really concered to lose my "firmware" (code) inside the flash.

This is yet another form of an X-Y problem. The first question you have to ask is "how can I build a data processing mechanism that can function for 100 years?" You can't confine yourself to just "how can I store data or code for that long." The entire system has to be considered for its ability to work for that long.

5 Likes

I can also use wire to transfer informtion. that's true.

My question is very practical. Basically i want to store data for LONG time. Many satellites works at extreamely high temperature for many years.

I thought that a matrix of "burning fuses" such a PROM: form wikipedia, "A typical PROM comes with all bits reading as "1". Burning a fuse bit during programming causes the bit to be read as "0" by "blowing" the fuses, which is an irreversible process."

A matrix of burined fuses could memorize informations "indefinetly"

So you want to store data once and then have it retrievable after 200 years? OK, what is the mechanism that will be used to retrieve the data and how will you communicate that to people 200 years from now? If the "how to retrieve the data" communication has to last 200 years, then why not use that to store the data?

Choose a very good quality paper and print everything. This way, the information in books will last a very long time. Unfortunately, the Library of Alexandria no longer exists.

2 Likes

What if you made 20 of the same thing, every 10 years the next one powers up for the first time, the previous one dumps its info to the next and the previous one retires to the new generation? It's an interesting question...

That only works if the shelf life of the device is noticeably higher than its active life.

Fair point, I'm not saying it will work because nobody can say whether computer hardware will last that long.

Agreed, I was just offering a solution that might be more likely to work but it adds a bunch more complexity and potential points of failure so maybe not the greatest. I wonder what kind of data OP is trying to record? Maybe if the problem was approached that way, an entire rethink of the system might solve this.

I'm sure there's a solution, but relying on consumer-grade hardware is likely not it. OP is probably better off doing some research into long-life electronics first and taking ideas from that learning and applying it to what can be found off the shelf.

1 Like

The electronics are designed to endure the harsh radiation environment of these orbits, usually with redundant systems... it's not a consumer grade off the shelf product and yet their expected lifetime is ~15 year usually nowadays (although Vanguard 1 operated in orbit for over six decades).

Reminds me of a project they had around Yucca Mountain about how to create symbols that could effectively convey to any entity human or otherwise 100,000 years in the future to not open the door under any circumstances.