Inside Of Crucial's M500 SSD
Compared to the pentalobe and Torx screws that many drives employ, the four Phillips-head screws holding the M500's chassis together are easily removed.
The bottom of the enclosure is substantial, which gives the drive some heft. The thick casing also helps transfer some heat away from the SSD's internals. You don't want the flash inside getting too warm; that can throw off expected voltage levels, wreaking havoc on endurance (this is why thermal throttling is an important safeguard nowadays). Should the M500 get too hot, the controller will slow write performance above 70 degrees Celsius.
With the PCB freed from its shell, the hardware is fair game for poking and prodding. Pictured above is the 480 GB drive, with eight packages per side. Each hosts two 128 Gb (16 GB) dies. The math there is pretty easy: every package adds 32 GB to this M500's capacity. Micron puts abbreviated codes on its NAND, but running it through the company's decoder gives us a traditional part number: MT29F256G08CECABH6.
Up top, we have Marvell's 88SS9187 BLK2 controller. As the successor to the '9174, which drove Crucial's m4, Plextor's M3s, Intel's SSD 510, and OCZ's Octane, the '9187 adds NAND redundancy features, queued TRIM commands, and even a little extra horsepower. It also supports up to 4 GB of DDR3 cache. Not that these drives need that much, but hey, maybe someday...
Crucial uses that controller with its custom firmware to implement RAIN (Micron's trade name for cross-die redundancy). Like some SandForce-based drives, this technology sets some NAND aside for parity. If one part of a die fails, the controller recovers and rebuilds the data stored in that location. It does sap some capacity (basically, one byte out of every 16), but the feature is a good trade-off in most situations. Some SandForce partners steered clear of the similar RAISE capability, opting instead to make that space accessible for a better price per gigabyte of capacity or use it to over-provision.
The M500's implementation of RAIN cannot recover from an entire die failing prematurely. Whole die failures do happen, unfortunately. But if just part craps out on you (say, one of the constituent planes that make up a die) the M500's RAIN feature should have your back.
This is the bank of itty-bitty capacitors that enables power loss protection (or PLP, if you please). This reliability-oriented value-add can be implemented a couple of different ways. The end goal is to protect information in the volatile write cache should your power go out suddenly. Once those bits hit the flash, they're safe. But they're vulnerable in the DDR3 DRAM and controller. PLP is purposed with safeguarding the entire data path.
Supercapacitors are basically big honkin' batteries, like a mini-UPS on the PCB. They've fallen out of favor over the past few years though, and many drives rely on a series of tantalum caps to keep data flowing when power to the SSD is interrupted. Crucial goes with a slightly different approach on the M500, though. Armed with a series of small caps, the controller flushes most of what's in the cache, while using "NAND tricks" to make up any deficit. At any given time, there's only 1 to 4 MB of user data in the DRAM, so it's not like the hardware is trying to write the Great American Novel in a handful of microseconds.