Why are USB flash drives so much slower than SSDs?
From what I understand, USB flash drives and solid-state drives (SSDs) are based on similar technologies, NAND flash memory.
But, USB flash drives are usually quite slow, with a read and write speed of 10-25 MB per second, while SSDs are usually very fast, about 200-600 MB per second.
Why are SSDs so much faster than USB flash drives? And why aren't USB flash drives faster than 10-25 MB per second?
Is it simply that SSDs use parallel access to the NAND flash memory or are there other reasons?
Parallelism, and how the controller makes use of it is the main factor. There usually isn't room for the 8-16 discrete NAND chips you'd find in an SSD. The controllers in USB stick usually aren't nearly as complex either, to efficiently make use of available parallelism.
Other factors that matter are the quality of the flash. Many USB sticks use cheaper flash which you have to read and write slower in order to avoid errors. USB drives don't have lots of over-provisioning to help keep clean blocks around. And USB 2.0 is limited to around 35 MB/s. And many SSDs come with a big RAM cache.
The main reason for these differences is price. There are some SSDs in a USB stick form factor, like the LaCie FastKey.
Some factors I've seen:
Parallelism: SSD's use a lot of Flash devices and access them heavily in parallel, pipelining and interleaving them.
SLC vc MLC: Multi Level Cells store two bits in each cell, but the access time is longer and Single Level Cells, which store one bit per cell. Besides, SLCs sustain a lot more write/erase cycles than MLCs. All USB thumb flashdrives and SD cards are MLC because it's cheaper. Note that some 'consumer' SSD's, like Intel's X25-M, also use MLC, reserving SLC for 'enterprise' drives, like the X25-E.
Complex allocation algorithms. Not only for wear-leveling (but that's very important too), they also detach the erasing from the writing, so when you have to write, the drive already has several pre-erased cells ready to be written.
Interfaces: SATA2 and now SATA3 are a lot faster than USB. Not only on raw bitrate, but also have a much higher efficiency. You never reach 100% of USB's theoretical speed, but on SATA, SAS, and IEE1394 you get it consistently.
Some extra hardware tricks; like a small battery-backed writeback cache. You write to this small RAM, and the drive itself writes to Flash after acknowledging the write.
The USB interface is a huge bottleneck. I happen to own a really cool Kanguru eFlash drive and it makes a huge difference.
This device has a USB and a eSata connector. It transfers at 45 MB/s on the USB side and 90 MB/s on the eSata side. From the same device! This truly points to that USB is the limiting factor. As others have said though, some drives a built too cheaply to even be limited by USB.
USB sticks also cost quite a bit less than SSDs. Which is because they use cheaper slow Flash instead of the expensive fast Flash used in SSDs.