Russian Roulette… For EEPROM

There’s a loaded gun but its got only one bullet. Spin the cylinder, point at head, and pull the trigger. The game’s not over until the bullet is used and a player is done. This game’s got a twist though, the cylinder has at least one million chambers.

The Flash_Destroyer is testing the limits of EEPROM rewrites. It fills that little eight-pin chip with data, then verifies what has written. When it finds and error the game is over. The chip is rated for one million rewrites but while we were writing this it was already well over two and quarter million. We usually prefer to be creators and not destroyers with our hacks but there’s something delightful about running this chip into the ground. See the startup of this device after the break and click through the link above to see a streaming feed of the progress.

[youtube=http://www.youtube.com/watch?v=Y1k4DchdziI]

[Thanks Drone]

38 thoughts on “Russian Roulette… For EEPROM

  1. 2346777 and counting… Might be a good tool to sample a batch of EEPROM chips for quality, or to see the effects of environmental conditions on the lifespan of the chips.

  2. Until I got to the second paragraph I thought the game was to plug in a USB memory stick with files you love. You and your friends take turns with your respective USB sticks until someone has a bad day….

  3. I think this would be worthwhile to do with most of the major ram/rom chips. I would consider this more productive than destructive… of course mfg’s underestimate that figure, but I’m very interested to see where it actually ends.

  4. flash has less endurance than EEPROM, and even with EEPROM, iirc, it depends entirely on how it was fabricated. if you look at some low cost mcus, some of them are designed with low endurance EEPROMs or flash memory designed for far less than 1 million write cycles. 1 million is probably the MTBF, and I’m not surprised that it’s still lasting this long

  5. @Brennan

    Look back a week or two, and you will find results for dying PCBs almost any color you want. I’m certain orange would be easier than the blue I will be attempting next time I make some boards…

  6. What’s the probability that there will be a transmission error? When the first read back fails, isn’t it impossible to know if the EEPROM failed or if the error was introduced somewhere else? Single event upset from a cosmic ray, maybe?

  7. Reminds me of doing the same to a serial EEPROM using an 8051, some 20+ years ago, which was rated at 10k rewrites. Just out of curiosity. I stopped at about 150k rewrites or so because I needed the hardware for something else. EEPROM was still working error free.

    1. But not with RF waves, I used an Arduino some hours ago to power a flyback from a printer, it crashed the Arduino once (which I put in a PC PSU housing, I simply hit the restart button), then after a while it rendered nearly all usb ports unusable and removed my internet access which was fixed by restarting my computer and my router.

  8. I’m no expert but the way it writes to the EEPROM seems unnatural. It’s filling the entire EEPROM each write cycle and verifying, whereas in the real world one would wouldn’t exactly fill up the entire space of the EEPROM. Could this affect how long an individual EEPROM lasts, or am I just being stupid?

  9. @Brennan: *solder-mask

    @alan: the flash ram in the PIC is not being re-written each cycle, data retention should be good for many years (40+ rated).

    @comrade: eeprom doesn’t do any wear leveling, so unless you do it in software, its not going to affect how long it lasts. Although since your sample size is larger, it will be more likely to catch a failure earlier.

  10. @brennan: after reading the article it points out it is a yellow PCB: “The kit is currently in the first production run under our ‘yellow label‘. This batch will have yellow PCBs, and is limited to 100 units. ”

    seeed offers: Green, Red, Yellow, Blue, White, Black.

  11. @kipkay: Useless crap? Says who, the guy who writes a post but lacks any electronics expertise? If you had worked for R&D at any company, you’d be actually designing, building and coding devices like this one to do many tests.

    When your company depends on 3d party devices like memory chips, batteries, etc. you want to know how long they’ll last and under what conditions they’ll fail. Trusting their data sheets only goes so far, sometimes you need to test under YOUR conditions.

  12. It will read ok, because you are writing and reading at full speed, now put it off for some years and see what data is still there, there could be already some damage and that eeprom maybe cannot old data for more than a few days, or hours, or minutes, and not years like it could when it was new.

  13. Data retention would be much harder to test. Temperature is increased, and conditions are induced to simulate long periods of time. One study here: http://trs-new.jpl.nasa.gov/dspace/bitstream/2014/7854/1/03-2278.pdf

    Their read test results may be what you are looking for?

    Probably be better off scrounging for a bunch of 10yr old equipment with the same image and doing a comparison. Although eeprom tech may have changed enough that the results are meaningless.

  14. “Until I got to the second paragraph I thought the game was to plug in a USB memory stick with files you love. You and your friends take turns with your respective USB sticks until someone has a bad day….

    Posted at 8:21 am on May 28th, 2010 by BAbbott”

    USB Thumbdrive running as the primary drive (boot and all, the entire filesystem) for my Linux file server. Only change to stock install of OS was one switch in grub: elevator=noop, to minimise random writes.

    It’s been a year and I’ve yet to have even one sector reduction in capacity. Generic, house brand 8GB (GeekSquad, guts are familiar to PNY manufactured flash drives)… so nothing special about this thing.

    This EEPROM got over 10 times the writes it was rated for. FlashDrives typically rate for 10,000 (low end, small sizes like BIOS chips to replace EEPROMs) to 1,000,000 writes (also like the EEPROM tested here)… halve it for averages. 500,000 writes before you get a single failure. With wear leveling as part of the standard MO for thumbdrives and flash chips in general… That’s *EVERY* cell that should be able to be written to at least 500,000 times before you see the first one fail. (Older compact flash cards didn’t have wear leveling…)

    Aside from defective chips, Flash will effectively last forever in normal use. Now, this ignores the physical damage aspect when carrying the thing around in your pocket, discharge from rubbing against fabric or when you touch it to pull it out of your PC after walking across the room etc…

    I think it generally goes without saying that these chips can withstand a lot of writes.

Leave a Reply to JBCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.