For those of you wondering about wearing out your flash drives, particularly developers, this will be interesting:
http://blogs.zdnet.com/storage/?p=105
Particularly the part where he shows the math involved in the lifespan. It looks pretty good, and seems to back up my theory that wear leveling dramatically increases the lifespan of these drives.
You'll find lots of references to "100,000 write cycles" in most articles about flash drives. But what does that mean, really? Can you only write 100,000 times to the drive? Can you only write 100,000 times to any given file? No, it looks like you can only write 100,000 times to any given SECTOR. With a 128k sector size, a 4 GB drive has 32,000 sectors, and the wear-leveling algorithm should move things around, allowing 32,000 x 100,000 (3.2 billion) writes during the lifetime of the drive. Or 800 million writes for a more modest 1GB drive, like the one I picked up at Staples on black friday for $10.
I've done a lot of tweaking to reduce disk writes for the portable version of my app (ClipMate), such as directing temp and log files to the user's temp directory on the host. But being database-driven, and having a nicely normalized database structure (multiple tables affected for each data write), there is inevitably a lot of disk write activity. I'm glad I went through the excercise of analyzing the activity, it taught me some interesting things.
If anyone is interested in doing this sort of analysis, get Process Monitor from http://www.sysinternals.com/
It lets you monitor any registry or disk activity, filtering by program name and path. So I look for appname=ClipMate and path starting with M:\, and it shows me what's being written. And it can monitor the registry too. I had some surprises there too.
--
Chris
Looks cool... but it called my 2gb drive puny >_