Kclug Digest, Vol 42, Issue 11

Jon Pruente jdpruente at gmail.com
Fri Jan 11 19:20:17 CST 2008


On Jan 11, 2008 6:40 PM, Bradley Hook <bhook at kssb.net> wrote:
> Supposedly cheaper flash units can sustain fewer than 100,000 writes,
> but better ones can handle upwards of 500,000. Now, I've also read that
> a lot of systems attempt to spread the writes over the media rather than
> repeatedly writing to the same location. I assume that such a feature
> would be in the fs software, rather than in the flash hardware itself,
> so fs choice is also something you will want to strongly consider for
> your experiment.

A lot of this has been kicked around about the Eee PC and it's solid
state storage.  Better quality devices have wear leveling built-in to
the flash controller as these aren't just raw flash chips stuck on the
USB/ATA bus.  A wear leveling FS can interfere with a controller that
auto levels because it's trying to "second guess" how things are to be
written.  In general most controllers leave a certain percentage of
the flash reserved for bad block management, just like a spinning HDD
does.  Also, many controllers use free space to level in by
successively writing to empty blocks instead over writing the same
block over and over.  It's been postulated that it's better to leave
empty space on the flash to give the controller more space to do the
leveling in.

> So, with a 1GB flash @ 30MB/s write speed (mine can only do about
> 9MB/s), with a fs that attempts to distribute writes over different
> sectors, constantly writing, you would have hit the rated max writes of
> 500,000 writes per sector at about 6-7 months (I think).

There's articles about hitting a flash drive at max speed constantly
and it seems to be a function of available blocks to write to, as I
wrote above.  If you have 4GB of free space to level over you are
going to have a lot more wear leveling being spread out and thus
higher lifetime vs having 20MB free plus the bad block reserves to
catch errors as they crop up and shortening life.

> However, most people use FAT32 (for compatibility), and continually
> write over the same sectors, in which case you could feasibly kill
> sectors of the same type of drive in only minutes (if you were trying).

This is most likely linked to older controllers that don't do
automatic wear leveling.

Jon.


More information about the Kclug mailing list