Coding Horror

programming and human factors

Large USB Flash Drive Performance

In the last three years, I've gone from carrying a 512 MB USB memory stick to a 16 GB USB memory stick. That's pretty amazing.

According to the storagereview.com archives, hard drives with 16 GB of storage were introduced sometime around the beginning of 1999. Barely 10 years later, we carry around that much on our keychains. Heck, my laptop only has a 32 GB solid state drive, and I manage to scrape by with that. These things are essentially miniature hard drives. I'm starting to wonder why we don't just take our entire computing environment, operating system and all, along with us and boot it up on whatever computer we happen to encounter in the wild.

There is one big problem with this approach, however. USB flash drive performance, even for the best models, is a small fraction of typical hard drive performance.

Modern 2.5" hard drive performance looks something like this:

HDD Sequential Read55 MB/sec
HDD Sequential Write55 MB/sec

Mind you, those aren't particularly fantastic numbers, just typical ones. You can get significantly faster hard drives, such as the Western Digital Velociraptor I just bought. Storage Review described the Velociraptor thusly:

single-user scores .. blow away those of every other [hard drive]

I was immediately sold once I read that. It's not cheap, but you get what you pay for, and I'm firmly in the "hard drive performance matters" camp. To quote Ferris Bueller, it is so choice. If you have the means, I highly recommend picking one up.

But what about large USB flash drives? How do they compare to typical hard drive speeds, much less the awe-inspiring Velociraptor? X-Bit Labs recently reviewed three 32 GB USB flash drives:

Sequential ReadSeqential Write
32 GB Corsair Flash Voyager22 MB/sec10 MB/sec
32 GB OCZ Rally 230 MB/sec22 MB/sec
32 GB Patriot Xporter XT31 MB/sec17 MB/sec

Not bad by any means, but punishing next to typical hard drive throughput. If you really were booting and running your operating system entirely from a USB flash drive, you'd feel like you had stepped back in time five full years.

Even if you're only planning to use your USB flash drive for the mundane task of storing files, you should care deeply about read and write speeds. Throughput wasn't much of an issue when USB drives were "only" a gigabyte or two. But when we're talking about 8 GB, 16 GB or 32 GB of data, being limited to 10 MB/sec write speeds means 13, 26, and 52 minutes respectively to fill that flash drive up with data. Do you have that kind of time?

The OCZ Rally 2 flash drive appears to be the winner in the Xbit labs roundup, but does the 32 GB size really offer the best bang for your buck? I did a quick spot check of OCZ Rally 2 flash drive prices on Amazon:

2 GB$17$8.50/GB
4 GB$26$6.50/GB
8 GB$37$4.62/GB
16 GB$78$4.88/GB
32 GB$136$4.25/GB

Surprisingly, yes. The 32 GB OCZ Rally2 flash drive offers the best price per gigabyte of storage. I actually didn't do the math before I purchased, thinking that the 16 GB one would be a better deal. Now I wish I had! I just noticed there's a $20 rebate on the 32 GB model, too, which makes it an even more outstanding deal.

I wasn't sure which 16 GB flash drive would be faster -- the Corsair Flash Voyager, or the OCZ Rally 2. So I ended up purchasing both.

Corsair Flash Voyager USB Flash drive   OCZ Rally 2 USB Flash drive

I formatted both of the drives with the default NTFS filesystem and did a bit of ad-hoc testing in Vista. You can find the raw ReadyBoost benchmark results if you know where to look in the event viewer.

16 GB Corsair
Flash Voyager
16 GB OCZ
Rally 2
3GB ISO Copy, Read26 MB/sec26 MB/sec
3GB ISO Copy, Write9 MB/sec10 MB/sec
Readyboost Random Read6,426 KB/sec6,434 KB/sec
Readyboost Random Write3,292 KB/sec4,695 KB/sec

In practice, the Rally is noticeably faster at writing, and a smidge faster at reading (not exposed here, but the chddspeed results confirm this). Not the results I expected based on reading the Xbit Labs review, but apparently there's quite a bit of variance for USB flash drives depending on the vagaries of manufacturing and what particular flash memory chips the manufacturer happened to be using that month.

The results are close enough that you may want to pick on ergonomics rather than performance. The Corsair drive has a chunky rubberized coating, which works well on a keychain (less jangly, more durable) but becomes annoying in a pocket or next to a narrow USB slot. I think I prefer the Rally's narrower metallic casing. Since it is a slightly better performer overall, the OCZ Rally 2 series gets my recommendation, if you're in the market.

One caution: if you do plan to use your USB flash drive to run applications or even operating systems, pay close attention to the random read and write speeds. Sequential throughput is a good overall baseline, but it's not the entire performance story. While typical portable storage usage does correlate well with sequential throughput, applications running on a USB flash drive are largely bounded by random access throughput.

You can never have enough storage on your keychain. Now if I can just figure out what else to put on mine...

Written by Jeff Atwood

Indoor enthusiast. Co-founder of Stack Exchange and Discourse. Disclaimer: I have no idea what I'm talking about. Find me here: http://twitter.com/codinghorror