If you’re one of the countless many who carry around a USB flash drive, you’re already a solid state drive user of sorts. After all, a flash drive is little more than a flash memory chip or two mounted on a printed circuit board (PCB). The interface may differ from that of an internal system drive, but the system command codes are the same. Another key difference is that the controller on a USB drive rests inside the PC while an SSD or HDD will have a controller built onto the drive’s PCB. The speed benefits of an on-board controller should be fairly obvious. Which would be more effective: walking out to the adjacent building to get instructions from your manager or poking your head around the corner into the next cubicle?
To take this metaphor one step further, imagine each memory chip as a worker. If a bunch of papers come in that need filing, two workers can get the job done in less time than one. Similarly, if papers need to be fetched and sent out, then the more workers, the faster the task performance. This is why “dual-channel” flash drives with two memory chips perform faster than a single-channel drive with one chip and why bargain-oriented SSDs with five flash chips on their PCBs will perform slower than more expensive drives with 10 chips. There are several other factors that affect performance, as we’ll see, but this is one of the most important.
A hard drive uses platters, much like old LP records in concept, mounted on a rotating spindle. A read/write head mounted on an arm extends over the platter surface and uses a magnetic field to control the orientation of particles on the platter’s surface. The magnetic orientation of groups of these particles represent binary bits—0s or 1s. The density of these particles and the number of platters in the drive dictate the drive’s total capacity. To read or write data, the drive controller must instruct the head to move into exactly the right position over the platter, and this “seek time” is one of the main causes of delay inherent in hard disk technology. If your application only needs to perform one seek followed by a long period of continuous reading or writing (such as when playing back a media file), then total throughput performance is much better than when it has to seek many tiny blocks of information scattered across the platter’s surface.
The difference between streaming and random reads/writes is a bit like finding certain bits of music on an LP. With streaming, you might grab the needle arm, position it right above the gap between tracks 1 and two, then lower it and just let the music play. But with random reads, you might want to stay playback 10 seconds into track 1, 20 seconds into track 4, 50 seconds into track three, etc., and only play each of those segments for five seconds each. There's a lot of hopping around the platter, and you're going to spend an inordinate amount of time trying to precisely position the needle over the exact right spot in each track. It's all that "seeking" time that kills you. Random seeks are what kill hard drive performance.
“Solid state” simply means an electronic device comprised of non-moving parts. A solid state drive is little more than memory chips, an intelligent controller, a circuit board, power and data interfaces, and a rugged external case. Actually, some internal SSDs dispense with the case and are meant to simply plug into an I/O slot on the motherboard, such as the mini PCI Express slot in notebooks.