PCIe and especially NVMe SSDs are without a doubt the hot topic in the SSD industry at the moment. There are still only a handful of drives on the retail market, but as we saw at Computex a few weeks ago, everyone is working closely on their PCIe designs and we should see more entries to the market later this year with a big wave of PCIe SSDs arriving in the first half of 2016.

Samsung has always been an early adopter in the SSD space. The company was the first one on the market with a PCIe 2.0 x4 M.2 SSD the (XP941) back in late 2013, and before that it was the first one to adopt TLC NAND in 2012. Earlier this year Samsung's second generation client PCIe drive, the SM951, made an appearance in a Lenovo laptop, but to everyone's surprise the drive wasn't NVMe compatible like Samsung had announced earlier. After discussing with Samsung, the company said they it has an NVMe client drive in development, but it declined to provide any reasoning as to why the SM951 still used the AHCI driver stack.

To our surprise, Ganesh found an NVMe-enabled Samsung M.2 SSD inside Intel's Broadwell-U NUC a while back. This was rather confusing at first because Samsung had specifically told us that the SM951 doesn't support NVMe, but after a closer look and a series of emails with Samsung the drive turned out to be an NVMe version of the SM951, or SM951-NVMe as Samsung calls it.

Distinguishing the AHCI and NVMe version from each other isn't very simple as the difference lies in a single character in the model number. The AHCI version carries the code MZ-HPVxxx0 (where xxx is the capacity in gigabytes), whereas the NVMe version is called MZ-VPVxxx0. Since both versions of the SM951 are technically OEM-only, the close naming isn't really an issue, but if you are shopping for the SM951 I recommend that you take a close look at the part number before pulling the trigger to ensure that you get the version you are looking for.

SM951-NVMe on the left, SM951-AHCI on the right

On the hardware side the AHCI and NVMe versions of the SM951 are a match. Both utilize Samsung's S4LN058A01-8030 controller dubbed as UBX, which is a PCIe 3.0 x4 controller that apparently supports both AHCI and NVMe driver stacks. That isn't surprising, though, because nearly all client-grade NVMe controllers I know are capable of supporting both -- it's just a matter of developing two separate firmware builds. The firmware development is likely the reason why the SM951-AHCI was the first one to market because Samsung already had the basic AHCI firmware from its XP941 and SATA drives, whereas the SM951-NVMe needed more development from scratch given how different and more efficient the NVMe command set is.

Samsung SM951 NVMe Specifications Capacity 128GB 256GB 512GB Form Factor M.2 2280 Controller Samsung S4LN058A01 (PCIe 3.0 x4 NVMe) NAND Samsung 16nm 64Gbit MLC Sequential Read 2,000MB/s 2,150MB/s 2,150MB/s Sequential Write 650MB/s 1,260MB/s 1,550MB/s 4KB Random Read 300K IOPS 300K IOPS 300K IOPS 4KB Random Write 83K IOPS 100K IOPS 100K IOPS Encryption N/A

Similar to the AHCI version, the SM951-NVMe only comes in capacities of up to 512GB. The reason lies in NAND because the SM951 utilizes 64Gbit dies, and with only four NAND package placements on the M.2 2280 PCB the maximum capacity with 16 dies per package works out to be 512GB (8GB x 16 x 4). It seems that Samsung doesn't have a high volume 128Gbit MLC die at this point, although we will likely see one with third generation V-NAND later this year. The first generation V-NAND die is 128Gbit, but since it only has 24 layers it's not cost efficient for a client drive, especially not for an OEM-specific one given how cost sensitive PC OEMs are.

TechInsights found out that the NAND in the SM951 (both AHCI and NVMe) is actually 16nm. While I was aware of the change in generation character of the part number, I believed that it would just be a second generation of Samsung's 19nm die because to me it didn't make any sense that Samsung would build a 16nm 64Gbit die. I'm working on an article comparing all the modern 15-16nm NAND processes, so stay tuned for more in-depth analysis of Samsung's 16nm node.

Boot Support

One of the major questions with every PCIe SSD is whether it is bootable. Back when the XP941 became available the situation was rather messy because motherboard OEMs had not prepared for PCIe SSDs yet, which require BIOS/UEFI support from their side in order to show up in the boot menu. Fortunately, most OEMs fixed this for 9-series motherboards and now most models have a BIOS update available with proper support for PCIe and NVMe SSDs.

In short, the SM951 NVMe is bootable in my ASUS Z97 Deluxe with the latest 2401 BIOS. I don't have any other 9-series motherboards at hand, but I suspect that any motherboard with advertised NVMe support and appropriate BIOS will boot from the SM951 NVMe.

For tower Mac Pro users the story isn't as pleasant, though. I put the SM951 NVMe inside my 2009 Mac Pro, but OS X wouldn't even recognize the drive. Despite the fact that the custom Apple SSD inside the MacBook is NVMe based, I suspect that the current version of OS X doesn't carry a general NVMe driver, and even if it did the Mac Pro and its chipset might simply be too old to support NVMe, which honestly isn't surprising for a +5-year-old system. In any case, Mac Pro users can still buy and boot from the AHCI version of SM951, but I wouldn't hold my breath for any NVMe support in the future.

Availability

The SM951-NVMe is an OEM part, meaning that availability is very restricted. The drive is listed by a handful of online retailers, but none of them seem to have it in stock yet. RamCity is expecting stock in mid-July, but told us that even that is uncertain because its distributors are still saying that the NVMe version is in sampling stage with no schedule for high volume availability. We got our 256GB sample directly from Samsung, hence the early access, as it seems that there is no way to buy the SM951-NVMe at this point. I will provide an update when I hear more about the availability.