Posted by: kurtsh | November 28, 2007

INFO: The dangers of storing frequently changing data on Flash Memory

Here’s a few things you may or may not know about flash memory:

  • Every sector of memory on the flash medium has a limited number of writes available to it. That is, a given memory location on a flash card may only be written a certain number of times.
  • The number of times that a memory location may be written to greatly varies between flash manufacturers. On the high end this number may be 100,000 writes. On the low end this number may be 50,000. And just because a memory manufacturer has a big name doesn’t mean it has high quality flash.
  • Microsoft wrote a flash-writing algorithm for it’s operating systems (Windows Vista, Windows Mobile) specifically designed to work against flash memory drives and cards with the anticipation of "changing the location that content is written to to random locations in the medium to greatly extend the life of flash memory". Log files and temp folders with constantly refreshed content could now be stored on flash memory without fear of burning out a flash drive due to repetitive writes to the same location on the flash memory.

Great right? Well, except in THIS scenario:

What if you consistently download a fair amount of data to the same drive/card daily? For example, podcasts, email attachments. or RSS content to a SD flash card on a Windows Mobile device.  Now what if you have about 200MB available on a 512MBflash card and you download 10-20MB of data up to 4 times daily on your phone in the way of 40 email attachments, 50 refreshed RSS feeds, a podcast here and there, etc.

The fact is, repetitively using the remaining available 200MB of flash space over a period of time (let’s say a year) can flat out burn out the card. It will literally use up the number of writes available for the card flash memory in certain locations of the flash card’s memory.

That appears to be what’s happened to me on my Windows Mobile phone… for the second time. Over the span of about a year, I’ve burnt out a SD Flash card.  I’ve done this before and it’s quite a sobering moment discovering that the flash card will no longer reliably keep data.  Now granted, back then the 512MB flash card that I have used to cost an arm and a leg and now you can get a 2GB SD Flash card for $19, but it’s still something to be aware of.  The morale of the story is that if you have this scenario or something like it where you have constantly renewed content written to a flash card, be sure you have PLENTY of available storage on that card so that Windows can spread the writes across the greatest area of space.

Because it doesn’t appear that the flash card can be "repaired".  The files that are there can still be read, but the drive simply won’t accept writes reliably.  Content that you thought got written, mysteriously isn’t there any more.

Scary.

UPDATE:  11/28/2007
My coworker, Lance Lillie writes:

I’ve lost about 1 flash card per year over the last few years to this scenario and found this utility that tests the device for the estimated lifecycle left – check it out at http://www.usbperformance.com/.

I check all my dozen or so cards about once/month as some of them I use to boot from and do installs, some I move lots of data around, and I even use the one in my phone for temporary xfers as well.  This utility has headed off disasters for me as I tested and found ones nearing the point of ready to croak out.


Categories

%d bloggers like this: