[maemo-users] Limited life of flash memory

From: Igor Stoppa igor.stoppa at nokia.com
Date: Tue Dec 2 18:16:15 EET 2008
On Tue, 2008-12-02 at 09:10 -0700, ext Mark wrote:
> On Tue, Dec 2, 2008 at 12:43 AM, kenneth marken <kemarken at broadpark.no> wrote:
> > On Tuesday 02 December 2008 00:52:47 Mark wrote:
> >> Unfortunately, this makes some fundamental assumptions that aren't
> >> correct, such as that "the whole card" is involved when writing and
> >> that it's sequential. Actually, some areas of the card are going to
> >> get very heavy use and others very little, especially if an OS is
> >> installed on it. Even without an OS, some files are going to be
> >> written much more often than others. All it takes is for one critical
> >> area (not the whole card) to burn out in order for you to lose data,
> >> possibly even catastrophically. The bottom line is that 580 years
> >> would be *extremely* optimistic. That said, it's fairly safe to say
> >> that you'll either switch to a new device or get a larger and/or
> >> faster card long before the current one wears out.
> >>
> >
> > ever heard of wear leveling? just about any product has it these days.
> >
> > this means that while the filesystem things the files are in the exact same
> > place as last time, the actual area of the chip being used is different, so
> > even with specific files being hit hard (i know i have heard a horror storry
> > about someone burning out the first sector of a no-name usb stick thanks to
> > having the mounting set to updating the FAT for each change done, but that was
> > some years ago when flash drives where a novelty), the wear should be spread
> > out over the whole chip.
> >
> "Should be" and "are" are two different things, and there are still
> some problems with your assertions. In order for files to be in
> different places, they have to be moved, which means at least another
> write operation. In practice, there's a limited amount of that kind of
> thing that can be done without both slowing everything down to the
> point of uselessness and creating the very problem you're trying to
> prevent.
> ...Which is all irrelevant if there happens to be a sector that is
> defective from the factory. Sometimes a defect doesn't show up in
> quality-control tests but does after the consumer buys and uses the
> product.
> > on internal chips, like on the 770 or the N8x0's, one can use a wear leveling
> > FS. but that would mean that your writing directly to flash without some kind
> > of controller chip sitting inbetween.
> >
> > also, flash being flash, the error will shop up on write, not on read. and
> > will not stop the drives readability. so being able to siphon out what data is
> > in there can still be possible (iirc).
> >
> That's not entirely correct. If the bits that fail happen to be where
> the inodes or other critical filesystem data are stored, you're
> screwed. Also, errors on read do in fact happen. I've had major
> name-brand flash cards fail, and in fact I've had better luck with the
> no-name cards than the name brands thus far, both with speed and
> reliability.

I would recommend you to do some reading about jffs2, ubifs and wear
levelling in general.

Then you'll understand better what people are trying to tell you.

Cheers, Igor


Igor Stoppa
Maemo Software - Nokia Devices R&D - Helsinki

More information about the maemo-users mailing list