Computer hardware has been watered-down into a marketing game of bigger numbers, new, obscure specifications, and unexplained benchmark ratings, generally leaving consumers to fend for themselves. As we did in our GPU Dictionary, we'll break-down the very basics of SSD specs and take a look at how, on the top-level, SSDs work. Understanding how to read SSD specs is easy: As a consumer, there's no reason to read through pages-upon-pages of white papers to understand how electron tunneling works (but it is really cool) solely to buy a solid state drive, but there are a few primary numbers you should be concerned with (and a few to ignore).
Solid State Drives have been on our minds since the flooding in Thailand offset spindle-based prices, so let's delve into what to look for in one. As an add-on, I'd recommend also looking at our guide that discusses SSDs and gaming.
For starters, we'll take a fairly common SSD from Newegg to look at its specs, then drill-down into what they mean: in our example, we'll use Mushkin's Chronos SSD.
Memory Components: See Also: SLC vs. MLC vs. TLC. These three acronyms, fully-defined as "single-level cells," "multi-level cells," and "triple-level cells," devise the methodology and technology that is used for flash memory-based drives. The 'level' determines how many bits are stored per cell, with more bits per cell correlating with more storage at a diminished cost (but less stability). Single-level cells store 1 bit per cell, multi-level cells store 2 bits per cell, and triple-level cells can store 3 bits per cell, with triple-level cells costing about 30% less than what we're used to now. It's much more complex than that, but that's the groundwork - Anandtech has an amazing explanation of these from a more mathematical and in-depth level, if that interests you.
Why is the cost less, though? Because the fabrication location (we explained how these work in our 'where was your CPU born?' post) can output more silicon dies per silicon wafer, the yield-per-wafer is higher and cost to the fab plant is lower, which equates lower prices for consumers. There is a down-side, though: MLC and TLC technology is more volatile and less stable, normally resulting in slower overall speeds than SLC technology, which is faster, but is a higher cost-per-gig. There are numerous countermeasures to MLC and TLC instability, though, so don't avoid them merely on that. SLC is preferred for high-performance systems that are required to have reliable up-time and availability, whereas MLC is quite acceptable for normal users (even to include gaming enthusiasts). Once more, for good measure:
SLC: More stable, reliable technology that often costs significantly more per gigabyte.
MLC: The most common technology used in consumer drives; normally a bit less expensive per gigabyte.
TLC: The least expensive, but also brand new to the consumer market. It's not quite ready for us, yet, and is also less reliable over longer periods of time.
|NAND Tech||Cost per GB*||Advantages|
* = Averaged figures based on OCZ projections (OCZ will be the first to deliver TLC SSDs to the consumer market).
So what does it all really mean? Not much -- if you're a normal gamer, you're probably going to be pretty forced into an MLC drive.
Transport Interface: This part is familiar ground for many of us: The transfer interface of SSDs is typically seen listed as SATA II, SATA III, or PCI-e. The last two are much faster than SATA II -- but by how much? Here's the maximum bandwidth per 'pipe:'
|SATA II||3Gb/s (384MB/s)|
|SATA III||6Gb/s (768MB/s)|
|PCI-e 2.0 x4||20GT/s (2GB/s)|
|PCI-e 2.0 x8||80GT/s (8GB/s)|
Quite a difference! That's the maximum bandwidth, though - it doesn't guarantee you'll use much of it. Just because a SATA III interface can transfer up to six gigabits (or 768MB) per second doesn't mean your device can. Though I'm certain many of you know this, it's important to point out that a 'little b' means "bit," whereas a 'big B' means "byte" (8 bits in a byte).
In general, and going forward, putting an SSD on a SATA II interface is limiting your options: SATA II can only transfer a maximum of 384MB/s, so anything above that number goes to waste. PCI-e SSDs are an interesting bit of technology, though -- they're still catching on, but in general, they're for those with a lot of money. If someone asks you, "What's your budget?" and you answer "I'm the Batman," then PCI-e is a great option for you. For the rest of us, there's SATA III.
Just for sake of playfulness, here's one of the most expensive PCI-e SSDs on the market. Look at that transfer rate! I'd like to wear-level those blocks, if you know what I mean (and if you don't, I explain wear-leveling below).
Max Sequential Read/Writes: This is the "marketing" number. Maximum sequential read/write transfer rates are only calculated for massive file transfers and extended-duration file movement; because a drive can read and write single, larger files much faster than sporadic bursts of smaller or randomly-sized files (think of it like "getting settled in"), the sequential specification isn't all that telling unless you move very big things around.
4KB Random Read/Writes: This number's much more useful! Used as a benchmark to simulate real-world scenarios, the 4KB random write and read specifications are listed as "IOPS," or "input/output operations per second" (for example: 90,000 IOPS). Since most users will be creating and reading small files constantly -- browser cache files, cookies, page files, save games, documents, stuff like that -- this is a much more telling test of a drive's realistic throughput. IOPS is sort of useless if we can't compare it to anything, though. Luckily, it's easy to convert IOPS to MB/s, even if it's not perfectly linear. Here are the formulas to calculate and convert IOPS to MB/s and MB/s to IOPS:
IOPS = (MBps / KB per IO) * 1024
To retrieve IOPS from an MB/s number:
MBps = (IOPS * KB per IO) / 1024
So in our example, we have a drive which stakes claim to 90,000 IOPS 4KB random write. We'd fetch the MB/s number thusly:
MBps = (90,000 * 4) / 1024
90,000 IOPS = 351.56 MBps
You can see that when we compare our marketable "515MB/s" sequential write against the more realistic 4KB random write, we receive a much lower, more expected throughput. It's not a perfect conversion, but it's damn close.
Fun Fact: Your average 7200RPM HDD (spindle drive) operates between 80 and 120 IOPS, though they can perform faster in some scenarios.
Average Read/Writes: This is the "in-between" number, giving a mix of sequential and random speeds. While very useful, it is unfortunately hard to get an idea of how "realistic" it is when we don't know the filesizes and testing methodologies used by SSD companies.
Lifespan: One of many caveats of using an SSD - lifespan. Don't believe what the retail specs tell you for a second. Flash memory (visual approximation below) is stored in blocks of 512KB in size; depending on your cell architecture, your SSD will effectively set a block as either occupied or empty (erasing a block sets it as empty). As the same blocks are erased repeatedly over time, the block's reliability degrades and the SSD begins to slow down and die. Controllers (below) help ensure that when the blocks inevitably start failing - normally after several years of use, by which time many of GN's demographic would have built a new system - they are erased one at a time, rather than erasing the same one over and over again. This helps distribute degradation and ensures that when things start failing, they all fail simultaneously (rather than causing a single block to fail by constantly re-using it, which then causes the entire drive to fail).
Again, this isn't much to worry about. Normal hard disk drives suffer from speed reduction as well, but for more physical reasons: Because a spindle-based HDD must use a mechanical header to read from a platter (which slows things down in and of itself), as the header is forced to move between fragmented sections of the drive -- or simply from the outer-to-inner rings of the platter -- things slow down and become unbearable as a drive is filled. The whole system will hopefully be replaced before your MLC SSD fails.
Interested in reading more about how file deletion works? We have a 'how file deletion works' guide for that.
Controller: A flash memory controller (or just 'controller') can be roughly thought of as the SSD's CPU-equivalent. It's the on-board processor. Charged with managing communications across the device and storage patterns, wear-leveling (we'll talk about that in a second), reading, writing, erasing commands, error correction (you may recognize "ECC" from RAM), encryption, and garbage collection (also below). There are numerous brands and models of controllers, but right now, the most notable are:
SandForce: A front-runner in the MLC SSD controller race. SandForce controllers are one of the most affordable, highest-performing options in the market. The current generation of SandForce controllers (2200 series: 2281, 2282, et al.) has been thoroughly tested at this point and stands as a strong, reliable choice for its wear-level protection and solid "behind the scenes" maintenance features. SandForce controllers also excel in sequential read/write speeds and generally offer the best overall performance for SSDs. SandForce 22XX is due for replacement by the third generation at some point in the near future. The caveat for SandForce controllers is that they tend to favor compressed data over incompressible data -- this is something that you, as a user, will need to decide whether or not it is a make-or-break tick. (Thanks to Devin Cofer for helping on this section!).
Marvell: Best known for their PCI-e and hybrid SSD/HDD flash memory controllers, Marvell's a force to be reckoned with when pitted against SandForce controllers. Marvell tends to favor random read/write speeds based on some of the specs listed for SSDs that use them. That said, most users who are upgrading from an HDD will likely not notice the difference between controller type on an SSD.
Wear-Leveling: This is the approach to extending the life expectancy of your SSD. Different wear-leveling tactics can yield longer life for SSDs, and vary from controller-to-controller.
Garbage Collection: Because data cannot be erased on the page (4KB) level, but rather must be erased on the block (512KB) level, without any mechanism to move things around and clean out garbage pages (i.e., a single document deleted), we'd have a large space wasting problem -- our SSDs would become landfills for rogue files. Luckily, a technique called "garbage collection" helps prevent wasted space by rewriting the "good" or wanted data on a block to a new, previously-erased block, at which point it then clears out (erases) the block that the good data originated from. On-write garbage collection can slow down the system as a whole in some cases, but many modern SSDs use idle time to take out the trash. TRIM also helps speed things up.
TRIM: TRIM must be both supported by the OS and firmware on the controller, but it's well worth the requirements. In essence, TRIM addresses file deletion efficiency issues: If you delete a page (a 4KB space on the SSD) -- let's say a text document -- an SSD with TRIM will temporarily store all other items in the block in cache, remove them from flash, and completely cleanse and purge the block. It then re-positions the cached files into their original locations and enables the user to continue placing files on that block efficiently. Ultimately, it helps Windows 7 (or other compatible OS's) ensure that write speeds continue at full force.
Asynchronous/Synchronous: This is a big one and is often not mentioned on retail specs, so be sure you thoroughly research your choices before purchase. Specs normally don't reveal the damage done to transfer rates by asynchronous drives, but the below chart does a decent job of it. Synchronous NANDs - the preferable ones - show transfer speed increases by nearly 50% in some instances (in this comparison, two otherwise similar drives were benched). Hard OCP did a fantastic benchmark of this.
Asynchronous drives are much more affordable, but the transfer rate loss isn't preferable. As with previously, it's still much faster than an HDD alternative.
Toggle-Mode NAND: Toggle-mode NAND is an asynchronous, double-data rate (DDR) NAND approach to logical SSD functionality; an SSD with toggle-mode NAND will typically consume less power (both when active and idle), allows for bidirectional read/write requests, and has no free-running clock (asynchronous DDR - the reason it consumes less power). Toggle-mode NAND SSDs can be optimal for small devices that are battery-dependent.
That's it for now! Are there any features or specs I missed? Let me know what you'd like to learn more about in the comments below and I'll see if I can add it in here. Remember, this is meant to be a basic dictionary/overview that pushes you in the direction of understanding your purchases, not be a definitive guide to SSDs. Use it as a spot-checker for when you need to know what a specific term means.
If you need help picking out an SSD or feel overwhelmed by other choices, our hardware forums are standing by to help! We answer pretty quickly, too.