Silicon Motion's SM2260 is their first NVMe PCIe SSD controller. We've already reviewed one SSD using this controller: the Intel SSD 600p. That drive used Intel's 3D TLC NAND and set a new low for NVMe SSD prices while also offering performance that is mostly beyond the reach of any SATA SSD. Today we have an engineering sample from Silicon Motion that pairs the SM2260 controller with Micron's 3D MLC NAND—our first look at the performance of the Intel/Micron 3D MLC and a preview of what to expect from products like the ADATA XPG SX8000.

One of the first announced design wins for the SM2260 controller was Micron's Ballistix TX3 SSD, which was intended to be their first consumer PCIe SSD and a flagship product for their overhaul of the Ballistix brand. The drive was originally intended to hit the market in September 2016 but was canceled before launch. Since then, Micron has not introduced any consumer products using the MLC version of their 3D NAND, leaving the 3D TLC-based Crucial MX300 as their top consumer SSD. Intel shipped their 3D TLC-based 600p with a customized SM2260 controller, but the aging SSD 750 remains their high-end consumer NVMe offering.

With a controller that was spurned by Micron and 3D MLC NAND that its manufacturers have not tried to introduce to the consumer market, this engineering sample offers us some insight into Intel and Micron's consumer SSD strategies and the opportunity they passed up. It also offers us a preview of ADATA's XPG SX8000, their first NVMe SSD and one that is based on this controller and NAND flash combination. ADATA is the first brand to announce products with Micron's 3D MLC for the consumer market, with the XPG SX8000 NVMe SSD and the Ultimate SU900 and XPG 950 SATA SSDs, all using Silicon Motion controllers.

ADATA usually has a broader range of controller and NAND combinations than any other brand, but so far Micron is their only choice for 3D NAND for SSDs and Silicon Motion is their controller vendor. This is due in large part to Silicon Motion being the first controller vendor ready with a complete hardware and firmware reference design tuned for Micron's 3D NAND. At CES earlier this year, we also saw Mushkin announce SATA and NVMe SSDs based on the combination of Micron 3D NAND and Silicon Motion controllers.

The SM2260 controller supports a PCIe 3.0 x4 interface and implements the NVMe 1.2 protocol. The controller has a dual-core ARM Cortex-R processor and is manufactured on TSMC's 40nm LP process, an interesting juxtaposition when you consider that most of its competition is on 28nm. The controller is packaged with a thin copper heatspreader that we first saw relatively late in the chip's design cycle. LDPC error correction and TCG Opal encryption are supported.

The sample we are reviewing today is a M.2 2280 SSD with a total of 16 of Micron's 256Gb 3D MLC dies spread across four packages and the controller's 8 channels. This amount of flash would typically be used for a drive with an advertised capacity of 480GB, 500GB or 512GB, but this sample has a usable capacity closer to 515GB. This means its spare area is a little smaller than is normal—about 6.31% rather than the more common 6.85%. The firmware implements a dynamically-sized SLC cache whereas the Intel SSD 600p used a fixed-size cache.

Silicon Motion will surely face more competition this year for design wins for 3D NAND SSDs. Micron used a Marvell controller for their own Crucial MX300 SATA SSD, the only shipping SSD with Micron's 3D NAND that doesn't use a Silicon Motion controller. We expect Phison's controllers to be a popular choice once Toshiba has 3D NAND for the SSD market and Plextor is likely to continue using a mix of Marvell and Silicon Motion controllers when they begin transitioning to 3D NAND. This year we will probably also see Maxiotek score a design win for their MK8115 DRAM-less SATA SSD controller that is primarily intended for use with 3D TLC NAND. But in the meantime, Silicon Motion's SM2260 is the NVMe controller that's already shipping paired with 3D NAND.

The main competition we'll be comparing this sample against includes: