Introduction, Dynamic Write Acceleration, and Packaging

3D NAND 750GB SSD for $199!

Introduction

Micron joined Intel in announcing their joint venture production of IMFT 3D NAND just a bit over a year ago. The industry was naturally excited since IMFT has historically enabled relatively efficient production, ultimately resulting in reduced SSD prices over time. I suspect this time things will be no different as IMFT's 3D Flash has been aiming high die capacities since its inception, and I suspect their second generation will *double* per-die capacities while keeping speeds reasonable thanks to a quad-plane design implemented from the start of this endeavor. Of course, I'm getting ahead of myself a bit as there are no consumer products sporting this flash just yet – well not until today at least:

Marketed under Micron's consumer brand Crucial, the MX300 is their first entrant into the consumer space, as well as the first consumer SSD sporting IMFT 3D NAND. Crucial is known for their budget-minded SSDs, and for the MX300 they chose to go with the best cost/GB they could manage with what they had to work with. That meant putting this new 3D NAND into TLC mode. Now there are many TLC haters out there, but remember this is 3D NAND. Samsung's 850 EVO can exceed 500 MB/sec writes to TLC at its 500GB capacity point, and this MX300 is a product that is launching with *only* a 750GB capacity, so its TLC speed should be at least reasonable.

(the return of) Dynamic Write Acceleration

Dynamic Write Acceleration in action during a sequential fill – that last slowest part was my primary concern for the mX300.

TLC is not the only story here because Crucial has included their Dynamic Write Acceleration (DWA) technology into the MX300. This is a tech where the SSD controller is able to dynamically switch flash programming modes of the flash pool, doing so at the block level. This appears to be a feature unique to IMFT flash, as every other 'hybrid' SSD we have tested had a static SLC cache area. DWA's ability to switch flash modes on-the-fly has always fascinated me on paper, but I just haven't been impressed by Micron's previous attempts to implement it. The M600 was a bit all over the place on its write consistency, and that SSD was flipping blocks between SLC and MLC. With the MX300 flipping between SLC and *TLC*, there was a possibility of far more noticeable slow downs in the cases where large writes were taking place and the controller was caught trying to scavenge space in the background.

New Latency Percentile vs. legacy IO Percentile, shown here highlighting a performance inconsistency seen in the Toshiba OCZ RD400. Note which line more closely represents the Latency Distribution (gray) also on this plot.

Upon our initial sampling and testing of the MX300, I noted some of the odd behavior that I had feared. Sometimes we reviewers can catch odd behaviors not anticipated by the manufacturer, feed those issues back, and get tweaks implemented prior to launch. We helped OCZ tweak some issues with their Vector 180 prior to launch (though they couldn't correct the issue completely). I had better luck back with my first ever review of the Intel X25-M long-term performance issue – caused by a bug that was found and ultimately squashed by Intel. The story with the MX300 is, thankfully, another one of those successes. A few of my peers reported inconsistencies with DWA's initial tuning, and I was able to work closely with the Micron / Crucial team to report back my findings, ultimately resulting in firmware updates and a better performing product. I'd also like to credit the MX300 for prompting me to improve upon our Latency Percentile results. It was their specific firmware oddity (now fixed) that highlighted some issues with our legacy IO-weighted percentile plotting method), and the resulting improvements yielded something that could more easily and directly demonstrate the issue at hand to their engineers. Major kudos to the Micron / Crucial team for stepping up and taking immediate action. After working with their team it is clear to me that their priority is to get things as right as they possibly can *before* releasing a product to market.

Detailing the tweaks made, the improved DWA is still very much dynamic but is a bit more reserved on how aggressively it chooses its SLC mode for flash pool allocation. The controller will do its best to maintain at least 10GB of SLC for host writes, and during idle periods will shuffle data if necessary as to clear up SLC-mode blocks once the SSD is mostly filled (even a full MX300 will attempt to keep at least 10GB of SLC caching capability). The advantage to DWA over SSDs with static SLC caches is that the MX300 doesn't have to constantly empty that cache. If the SSD is only half full, it can just leave some data in SLC areas and simply flip some other TLC blocks into SLC mode, instantaneously creating more cache. As the SSD becomes filled with user data over time, the controller may have to go back and open up some more TLC space, but in most cases this will be transparent to the user. Benchmarking is a bit of a worst-case scenario here, but Crucial have also made tweaks that recognize heavy sustained writing activity, and the controller can preemptively shift to TLC writing as to avoid the need to later shuffle blocks around in the background – a task that would normally slow writes to a crawl.

Packaging

This is a budget SSD, and the packaging is certainly sparse. A 7mm to 9.5mm spacer is still included, as well as an Acronis True Image HD license for cloning your existing install to the MX300.