Encryption Done Right?

Arguably one of the most interesting features of the M500 is its hardware encryption engine. Like many modern drives, the M500 features 256-bit AES encryption engine - all data written to the drive is stored encrypted. By default you don't need to supply a password to access the data, the key is just stored in the controller and everything is encrypted/decrypted on the fly. As with most SSDs with hardware encryption, if you set an ATA password you'll force the generation of a new key and that'll ensure no one gets access to your data.

Unfortunately, most ATA passwords aren't very secure so the AES-256 engine ends up being a bit overkill when used in this way. Here's where the M500 sets itself apart from the pack. The M500's firmware is TCG Opal 2.0 and IEEE-1667 compliant. The TCG Opal support alone lets you leverage third party encryption tools to more securily lock down your system. The combination of these two compliances however makes the M500 compatible with Microsoft's eDrive standard. 

In theory, Windows 8's BitLocker should leverage the M500's hardware encryption engine instead of using a software encryption layer on top of it. The result should be better performance and power consumption. Simply enabling BitLocker didn't seem to work for me (initial encryption time should take a few seconds not 1+ hours if it's truly leveraging the M500's hardware encryption), however according to Crucial it's a matter of making sure both my test platform and the drive support the eDrive spec. There's hardly any good info about this online so I'm still digging on how to make it work. Once I figure it out I'll update this post. Update: It works!

Assuming this does work however, the M500 is likely going to be one of the first drives that's a must have if you need to run with BitLocker enabled on Windows 8. The performance impact of software encryption isn't huge on non-SandForce drives, but minimizing it to effectively nothing would be awesome.

Crucial is also printing a physical security ID on all M500 drives. The PSID is on the M500's information label and is used in the event that you have a password protected drive that you've lost the auth code for. In the past you'd have a brick on your hand. With the M500 and its PSID, you can do a PSID revert using 3rd party software and at least get your drive back. The data will obviously be lost forever but the drive will be in an unlocked and usable state. I'm also waiting to hear back from Crucial on what utilities can successfully do a PSID reset on the M500.

NAND Configurations, Spare Area & DRAM

 

I've got the full lineup of M500s here for review. All of the drives are 2.5" 7mm form factor designs, but they all ship with a spacer you can stick on the drive for use in trays that require a 9.5mm drive (mSATA and M.2/NGFF versions will ship in Q2). The M500 chassis is otherwise a pretty straightforward 8 screw design (4 hold the chassis together, 4 hold the PCB in place). There's a single large thermal pad that covers both the Marvell 9187 controller and DDR3-1600 DRAM, allowing them to use the metal chassis for heat dissipation. The M500 is thermally managed. Should the controller temperature exceed 70C, the firmware will instruct the drive to reduce performance until it returns to normal operating temperature. The drive reduces speed without changing SATA PHY rate, so it should be transparent to the host.

The M500 is Crucial's first SSD to use 20nm NAND, which means this is the first time it has had to deal with error and defect rates at 20nm. For the most part, really clever work at the fabs and on the firmware side keeps the move to 20nm from being a big problem. Performance goes down but endurance stays constant. According to Crucial however, defects are more prevalent at 20nm - especially today when the process, particularly for these new 128Gbit die parts, is still quite new. To deal with potentially higher defect rates, Crucial introduced RAIN (Redundant Array of Independent NAND) support to the M500. We've seen RAIN used on Micron's enterprise SSDs before, but this is the first time we're seeing it used on a consumer drive.

You'll notice that Crucial uses SandForce-like capacity points with the M500. While the m4/C400 had an industry standard ~7% of its NAND set aside as spare area, the M500 roughly doubles that amount. The extra spare area is used exclusively for RAIN and to curb failure due to NAND defects, not to reduce write amplification. Despite the larger amount of spare area, if you want more consistent performance you're going to have to overprovision the M500 as if it were a standard 7% OP drive.

The breakdown of capacities vs. NAND/DRAM on-board is below:

Crucial M500 NAND/DRAM Configuration
  # of NAND Packages # of Die per Package Total NAND on-board DRAM
960GB 16 4 1024GB 1GB
480GB 16 2 512GB 512MB
240GB 16 1 256GB 256MB
120GB 8 1 128GB 256MB

As with any transition to higher density NAND, there's a reduction in the number of individual NAND die and packages in any given configuration. The 9187 controller has 8 NAND channels and can interleave requests on each channel. In general we've seen the best results when 16 or 32 devices are connected to an 8-channel controller. In other words, you can expect a substantial drop off in performance when going to the 120GB M500. Peak performance will come with the 480GB and 960GB drives.

You'll also note the lack of a 60GB offering. Given the density of this NAND, a 60GB drive would only populate four channels - cutting peak sequential performance in half. Crucial felt it would be best not to come out with a 60GB drive at this point, and simply release a version that uses 64Gbit die at some point in the future.

The heavy DRAM requirements point to a flat indirection table, similar to what we saw Intel move to with the S3700. Less than 5MB of user data is ever stored in the M500's DRAM at any given time, the bulk of the DRAM is used to cache the drive's OS, firmware and logical to physical mapping (indirection) table. Relatively flat maps should be easy to defragment, but that's assuming the M500's garbage collection and internal defragmentation routines are optimal.

Introduction & The 128Gbit 20nm NAND Die Performance Consistency
Comments Locked

111 Comments

View All Comments

  • Solid State Brain - Saturday, April 13, 2013 - link

    In theory, the spare area can be only configured on a clean drive, which means one would have to secure erase it (and therefore lose all data) and then create a partition smaller than the drive's maximum user capacity. The remaining unused (raw, unpartitioned) capacity should then be used by the drive as spare area for wear leveling operations, in addition to the factory OP area (usually derived from the GiB->GB capacity difference). In practice it *should* be sufficient to notify the drive that the empty space is actually empty with a TRIM command before resizing the partition.

    In your case the Samsung Magician software allows to double the drive's factory spare area (no other adjustment possible, at least in version 4). It doesn't perform a secure erase, so perhaps it isn't really necessary after all.

    I don't know however if the Samsung 840 controller actually actively detects when a certain portion of the drive is "raw/unpartitioned". Theory dictates that it shouldn't be able to discern that without the OS somehow telling it so.

    If a partition-wide TRIM operation is enough, then one can increase overprovisioning manually on an live/used system by:

    1) Performing a full-system TRIM command with the Windows 8 integrated "drive defrag/optimization" tool (or with the "fstrim" command line tool in Linux, although this works only on ext4 partitions), or with dedicated third party utilities (some commercial defragmentation software performs a system-wide trim on SSDs instead of regular defrag).
    2) Resize the last partition manually with Computer Management>Disk Management>Shrink Partition.

    Anyway, in practice all this hassle is going to benefit you only if you routinely perform dozens of gigabytes of sustained writes per day in a possibly trim-less environment. I doubt very much that most users would be able to feel any difference with their workloads.
  • AlB80 - Saturday, April 13, 2013 - link

    "Total NAND on-board" and "DRAM" values are specified in "GB" and "MB", but it should be "GiB" and "MiB".
  • JellyRoll - Saturday, April 13, 2013 - link

    Shut up JohnW lol
  • JellyRoll - Saturday, April 13, 2013 - link

    There is a huge misstatement in the article..."I introduced a new method of characterizing performance: looking at the latency of individual operations over time."
    First: it isnt individual operations, several thousand are taking place per one second interval.
    Second: Anand did not introduce this type of testing, it was a blatant copying of other another tech websites testing.
  • JellyRoll - Saturday, April 13, 2013 - link

    There is a huge misstatement in the article..."I introduced a new method of characterizing performance: looking at the latency of individual operations over time."
    First: it isnt individual operations, several thousand are taking place per one second interval.
    Second: Anand did not introduce this type of testing, it was a blatant copying of other another tech websites testing.
  • twtech - Sunday, April 14, 2013 - link

    I think it's kind of interesting in the comments, people are looking at the performance figures and saying, "Oh, it doesn't perform as well as a Samsung 840 Pro, so I'm disappointed."

    I have a couple computers booting off an M4 (slower than the M500), and one that has a Samsung 830 as the boot drive. The Samsung is quite a bit faster in benchmarks, but do I notice? Nope, not really. The jump to having any SSD at all is significant. The jump from one SSD to another - provided neither have something like firmware issues causing stuttering as some old models did - is negligible.

    I think the more important factor here is that we have a nearly 1TB SSD for $600 - less than what 512GB drives were selling for 1 year ago. That's big enough that many users may not even need a separate mechanical storage drive.
  • JellyRoll - Sunday, April 14, 2013 - link

    Part of the issue is the unrealistic test parameters. Testing with such ridiculously severe workloads is not irepresentative of a real-world use.
  • Wolfpup - Monday, April 15, 2013 - link

    Unfortunately I couldn't wait for the launch of the M500...had to "make due" with a 512GB M4. Oh well, it's still a great drive!
  • random2 - Monday, April 15, 2013 - link

    I cannot imagine anyone who doesn't have some sort of tech background, trying to read these articles. Granted I am no certificated IT professional, I have been very interested in hardware and software for over a decade, and have been a reader of Anandtech for almost as long. Which brings me to this. Can we not have some of the terms abbreviated or otherwise, hyper-linked at least to an article providing further explanation?

    Case in point; ONFI 3.0
  • af3 - Tuesday, April 16, 2013 - link

    I was thinking of ordering a $350 256G Lacie Thunderbolt Rugged external SSD for the purposes of booting another OS without needing to use space on my internal/main (SSD) drive.

    Can anyone tell me whether there might be a superior (in terms of performance and cost) alternative that might utilize something like one of these new Micron drives?

    Does anyone know whether or not the Lacie is fast and whether or not I might have something better by getting another external Thunderbolt device and installing one of these Micron drives?

Log in

Don't have an account? Sign up now