How to design a device that can retain data for more than 20 years? - Page 1
Forum section: electronics / projects

author: uart
author_rank: Newbie
timestamp: August 31, 2013, 10:28:00 pm
content: HiI am working on a project were i am using a display to show some pictures for a user interface. This device needs to function for more than 20 years and I am wondering which method and memory that is best suited for this task.I was thinking of storing the pictures on NOR flash that have a data retention of 20 years.The pictures will get written to the flash when it gets manufactured and then the device will rewrite the pictures every year so that the pictures don’t get corrupt from memory deterioration.I will store the pictures on the flash without using any file system or any bad block check. But how prone to broken blocks are nor flash? Can I trust nor flash if I only rewrite it around 30 times or will I get problems with bad blocks? Is it necessary to have error correction code and bad block management when using NOR flash?How do car manufacturer deal whit memory deterioration when they design the electronic for the cars that are made today? A car should be designed to last at least 25 year’s right?

author: mariush
author_rank: Super Contributor
timestamp: August 31, 2013, 11:00:35 pm
content: Have a look at FRAM ... 10 year guaranteed retention without refreshing... 1010read/write endurance... way better than flash.Fujitsu's brochures:http://www.fujitsu.com/downloads/MICRO/fme/fujitsu-fsl-fram.pdf

author: Skimask
author_rank: Super Contributor
timestamp: August 31, 2013, 11:04:29 pm
content: And if you look at the Ramtron website, they'll send you a couple of freebie FRAM samples. The little buggers are a bit on the expensive side compared to something like an SD card.

author: KerryW
author_rank: Regular Contributor
timestamp: August 31, 2013, 11:29:45 pm
content: MicroChip claims 200 years retention for their EEPROMs (e.g 24AA256)Kerry

author: dfmischler
author_rank: Frequent Contributor
timestamp: September 01, 2013, 01:40:59 am
content: Quote from: uart on August 31, 2013, 10:28:00 pmHow much data are we talking about? Do you plan to use the same pictures for the entire time? Or will they change infrequently?

author: FrankBuss
author_rank: Unknown
timestamp: September 01, 2013, 01:53:56 am
content: Quote from: Skimask on August 31, 2013, 11:04:29 pmThere is no Ramtron website anymore, Cypress has acquired Ramtron.

author: uart
author_rank: Newbie
timestamp: September 01, 2013, 08:18:44 am
content: Quote from: dfmischler on September 01, 2013, 01:40:59 amI need about 128Mbyte of storage so EEPROM are too small for that. The pictures on the memory’s will probably be the same the hole lifetime but I must have the possibility to update the pictures and user interface if need.Quote from: mariush on August 31, 2013, 11:00:35 pmInteresting, I have never heard of FRAM before.If FRAM only have 10 years of data retention then NOR flash are way better with 20 years in the long time data retention aspect.But is bad block management something that I need to be able to handle when using NOR flash ?

author: ddavidebor
author_rank: Super Contributor
timestamp: September 01, 2013, 09:44:12 am
content: well, 128mbyte...the better solution i can think is normal sd card (or something like this) in redundant configuration.use one, the time it broke, switch to the other, do a backup and change the first.good shielding for environmental EMI that can break the balls of the sd card

author: nctnico
author_rank: Super Contributor
timestamp: September 01, 2013, 09:52:23 am
content: First of all I'd use industrial or even beter automotive grade components. Secondly I'd use a large bank of flash (multiple chips) and actually use a filesystem with wear leveling. Every now and then (once every 2 years) you could read the file and write them back. Due to the wear leveling the file will be written into a new memory location. If you keep two or three copies of the files and also store their checksum (MD5 or SHA1) then you can detect whether a file was corrupted.However most failures are related to the power electronics; make sure none of the components in the PSU are under a lot of stress.

author: ovnr
author_rank: Frequent Contributor
timestamp: September 01, 2013, 10:27:26 am
content: I think the first rule of trying to get reliable long-term data storage is to store hashes of the data so you can actually verify whether it's intact or not. No point writing back invalid data!You don't even need a filesystem, just store a table of hashes somewhere (ideally in multiple locations). If your medium is prone to flipping bits, consider using some form of forward error correction.As others have said, be sure to design the rest of the system accordingly! No electrolytics or tantalums if you can help it, use industrial or automotive grade components, don't allowanythingto actually run hot if you can help it, etc.

author: mariush
author_rank: Super Contributor
timestamp: September 01, 2013, 01:54:13 pm
content: Quote from: uart on September 01, 2013, 08:18:44 amI think it's 10 years WITHOUT refreshing the memory. Since it has fast reads and writes, it wouldn't be a problem to just read and write back each byte when the device idles for some time... and with 1010read/write count, that's not a problem.But the problem is that it's still expensive.. a few dollars for 2-4 MB.

author: hlavac
author_rank: Frequent Contributor
timestamp: September 01, 2013, 05:21:14 pm
content: Or build a CNC mill to carve the picture into a stone slab

author: SeanB
author_rank: Super Contributor
timestamp: September 01, 2013, 05:37:13 pm
content: OTP eproms or eeproms are going to work, and you can have them in a socket for updates if needed, or have a daughterboard that plugs in. The serial eeproms used for motherboard bioses are easily going to last 20 years, eproms will definitely do 20 years or more if you cover the window with a foil cover to block light or use the otp versions.If you want include a checksum in the code to do a basic check, simple enough to add to startup code to do a basic check for prom integrity, and if it fails then you decide what must happen, either flash a fault led ( or turn off a power led or flash it) or halt the processor.

author: Skimask
author_rank: Super Contributor
timestamp: September 01, 2013, 08:06:21 pm
content: Quote from: FrankBuss on September 01, 2013, 01:53:56 amDOH! Did not see that.Thanks for the heads up.Will check to see if Cypress will send out freebies...

author: Dr. Frank
author_rank: Super Contributor
timestamp: September 01, 2013, 09:31:02 pm
content: Quote from: uart on August 31, 2013, 10:28:00 pmHello,well, I'm working in the automotive electronics industry, in the development, and have taken care about memory components their technology, reliability and failure analyses (SQM).The reliability is described with the parameters data retention (time length of data storage) and endurance (number of Read/write/erase cycles).Automotive electronics are generally tested for 10 years life time. (environmental tests as temp shock, vibration, etc.). But the warranty is 1-3 years only.For every car, there's a guarantee that you can get spare parts at least 10 years after EOP, 15 or 25 years for some premium cars.So if the data (steering program in a flash memory) in a product will be corrupted, you only have the chance to buy a spare part.All nonvolatile memories, as PROM, EPROM, EEPROM, Flash (NOR, NAND, whatever), or hybrids as memory cards, etc. all rely on the very same semiconductor structure, that's the "floating gate", i.e. a semiconductor which can be filled with charge like a capacitor plate, and surrounded completely by an isolator, SiO2, which inhibits the drain off of the charge .This structure determines those two reliability parameters mentioned before.There are different techniques, how to fill that gate (by which tunneling effect), how many states it stores (single bit or multi bit), how big the gate volume is, i.e. how many elementary charge it can carry, and perhaps some others.If you select one set of parameters, which is most reliable (single bit, big cells), the physics stays the same for each of this class of memory, and so does the reliability.Comparing the different supplier for compatible memories i.e. same type designator, you will anyhow find very different values for the data retention, the first 10 years, the 2nd 20 years, and the fourth 200 years.Strange, as they all use the same physics, very similar structures and production processes as they often use the same foundry, and so on.Ok, we tried hard to find out, how the different companies define those parameters, and how they really measure it. It was/is impossible.This information obviously is their crown jewels, their holy grail.You can imagine, that such parameters have an underlying statistical distribution."Typically", in the median, 20 years are reached for data retention, but how many parts will live so long? 50%? How does the distribution look like, Gaussian, Arrhenius, width of the distribution?Do they define data retention on 100% of the memory-bit-array, or is it that data retention defined that let's say 3%, 50% or 97% of the cells are defective?( That's the way "lifetime" of light bulbs is defined)That's all not defined in the specifications and ANs, and there is no standardized test procedure, and statistical calculus available.That explains the big differences between the different suppliers, as they all use different baselines of statistics and different test methods.This problem is exactly the same on FRAMs.This is simply another physical effect, but they have similar reliability issues, and very similar statistics.The only advantage - maybe- is they do not wear-off (endurance) so quickly.But if you pose such a question, you must have the complete statistical information to calculate the reliability of your own application.From all that said, it's clear that you cannot use one single memory, as you need near 100% safety after 20 years, but the probability that the part dies after 1, or 10 years or 18 years, is quite high.But as you do not know the important statistical parameters, you can't tell, if one year of refresh is sufficient, as you always have the probability of sudden "early failures"..So you must use a redundant system, i.e. several memories in parallel, and you must definitely use a memory system with error code / correction.ECC is always done on every data storage systems, as Hard Disc Drives, DVD, BluRay, Memory Cards, (not on Audio CDs) and redundancy always on HiRel systems.You also have to use a clever refresh procedure.Well, and the data structure and interface is also a problem, perhaps you have to migrate your storage solution every 5 years, or so.Sorry, I've got no recipe for you, but hope to have pointed out the problem of your question.Search the NASA site for those terms, you will probably find stuff how THEY qualify reliability and solve that problem. Their applications run longer than cars, and cannot be serviced.Frank

author: HackedFridgeMagnet
author_rank: Super Contributor
timestamp: September 01, 2013, 11:20:58 pm
content: Very informative post Dr Frank. Thanks

author: G7PSK
author_rank: Super Contributor
timestamp: September 02, 2013, 08:38:26 am
content: Quote from: Stonent on September 02, 2013, 07:10:23 amLike that one, I was going to sugest an a brush and paint but that is far better

author: EEVblog
author_rank: Unknown
timestamp: September 02, 2013, 08:50:26 am
content: Quote from: uart on September 01, 2013, 08:18:44 am128MB is a lot for just some pictures if they are JPG compressed?

author: EEVblog
author_rank: Unknown
timestamp: September 08, 2013, 02:13:15 am
content: I just did a teardown that had this 256K EEPROM in it:http://www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/CD00103810.pdfST claim 200 years data retentionMight be available in bigger sizes.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: September 08, 2013, 09:09:11 am
content: NOR flash is probably the sweet spot in terms of reliability vs. cost. AFAIK there aren't any block issues Avoid any packaged devices like SD cards as their internal ECC will hide any errors until the point where they are suddenly unreadable.If you implement your own ECC, you can detect and deal with errors before you lose data.With any periodic rewrite system you need to be careful about how you implement and test it, in particular dealing with loss of power, both from the point of view of keeping track of rewrite intervals, and errors caused by power loss during write.And of course don't forget to keep in mind the reliability of the flash your code is running from.

author: Astroplio
author_rank: Regular Contributor
timestamp: September 08, 2013, 10:17:49 am
content: Quote from: mikeselectricstuff on September 08, 2013, 09:09:11 amOh my! A chicken and egg problem! That's a good point there Mike!Thanks Frank very informative reply, as well.George

author: Kjelt
author_rank: Super Contributor
timestamp: September 08, 2013, 10:21:28 am
content: If you are gonna use a refresh protocol I would consider storing extra (ECC) data somewhere else in a more reliable storage device that can be used solely to repair the primary data. Enough so you can repair a couple of flash blocks (that might be gone bad after a mains dip during reflash).Something like par2 in the pc world.

author: woodchips
author_rank: Frequent Contributor
timestamp: September 11, 2013, 09:08:36 am
content: Seems to me that one solution is to keep multiple copies, but in different technology memories, flash, eprom etc. Also that any form of compression is an absolute no no, and that some type of error correcting is essential. Why rewrite a correct image? Just leave the parts with as little accessing as possible. But, if these are pictures then surely quite a few wrong bits aren't going to make the picture any the less understandable? Might get some spots or marks, but are they important?

author: Richard_Fry
author_rank: Contributor
timestamp: September 11, 2013, 09:20:03 am
content: I've used Dataflash chips before. Bigger than eeproms, but nowhere near the 128MByte size.Atmel AT25DF321A - 32Mbit and 20yr data retention. SO8 package and SPI interface.So, if you find you can get away with storing less data they might be an option.

author: amyk
author_rank: Super Contributor
timestamp: September 11, 2013, 09:49:19 am
content: Flash memory trends tend to be at odds with longevity, increasing densities require smaller feature sizes and that means fewer trapped electrons, thinner gate oxides, and so less program/erase cycles and shorter data retention times. If you really want data to last, write it physically (e.g. pressed CD, DVD) or maybe magnetically with appropriate shielding.

author: minibutmany
author_rank: Regular Contributor
timestamp: September 11, 2013, 10:25:57 pm
content: Encode it into audio and put it on vinyl.

author: Stonent
author_rank: Super Contributor
timestamp: September 12, 2013, 07:04:14 am
content: Stone works, that's why we still remember the 15...er 10...10 commandments!

author: poorchava
author_rank: Super Contributor
timestamp: September 12, 2013, 07:17:10 am
content: If keeping the data is critical place two flash chips in the circuit both containing the same data and a hash or checksum of it. If one of them fails then inform the user to replace it with blank chip and copy contents of the remaining one.

author: notsob
author_rank: Frequent Contributor
timestamp: September 12, 2013, 08:55:07 am
content: We'll someone had to throw this into the mix Write-Only memoryhttp://www.repeater-builder.com/humor/signetics-wom.pdfData retention is not a problem

author: Whuffo
author_rank: Regular Contributor
timestamp: September 22, 2013, 03:08:09 pm
content: Quote from: mikeselectricstuff on September 08, 2013, 09:09:11 amGreat advice. I'd just add that you'll want to shield those memories very well; long term storage is often compromised by the stray cosmic ray zipping through and flipping a bit or two. Ionizing radiation of almost any frequency will interact with the memory cells in unexpected and unwanted ways.