Search This Blog

Sunday, March 29, 2015

ALL ABOUT NON-VOLATILE MEMORY EXPRESS (NVMe) YOU SHOULD KNOW



As SSDs become more common, you'll also hear more about Non-Volatile Memory Express, a.k.a. NVM Express, or more commonly—NVMe. NVMe is a communications interface/protocol developed specially for SSDs by a consortium of vendors including Intel, Samsung, Sandisk, Dell, and Seagate.
Like SCSI and SATA, NVMe is designed to take advantage of the unique properties of pipeline-rich, random access, memory-based storage. The spec also reflects improvements in methods to lower data latency since SATA and AHCI were introduc
ed
Advances include requiring only a single message for 4KB transfers as opposed to two, and the ability to process multiple queues instead of only one. By multiple, I mean a whopping 65,536 of them. That’s going to speed things up a lot for servers processing lots of simultaneous disk I/O requests, though it'll be of less benefit to consumer PCs.

NVMe: Built for SSDs

If you’ve read our SSD coverage over the past couple of years, it shouldn’t be news that solid state storage has run into a significant hurdle: legacy storage buses. Serial ATA and Serial Attached SCSI (SAS) offer plenty of bandwidth for hard drives, but for increasingly speedy SSDs, they’ve run out of steam.
Because of SATA’s 600Gbps ceiling, just about any top-flight SATA SSD will score the same in our testing these days—around 500MBps. Even 12GBps SAS SSD performance stalls at around 1.5GBps. SSD technology is capable of much more.
The industry knew this impasse was coming from the get-go. SSDs have far more in common with fast system memory than with the slow hard drives they emulate. It was simply more convenient to use the existing PC storage infrastructure, putting SSDs on relatively slow (compared to memory) SATA and SAS. For a long time this was fine, as it took a while for SSDs to ramp up in speed. Those days are long gone.

Leveraging existing technology

Fortunately, a suitable high-bandwidth bus technology was already in place—PCI Express, or PCIe. PCIe is the underlying data transport layer for graphics and other add-in cards, as well as Thunderbolt. (Gen 2) offers approximately 500MBps per lane, and version 3.x (Gen 3), around 985MBps per lane. Put a card in a x4 (four-lane) slot and you’ve got 2GBps of bandwidth with Gen 2 and nearly 4GBps with Gen 3. That’s a vast improvement, and in the latter case, a wide enough pipe for today’s fastest SSDs.
PCIe expansion card solutions such as OCZ’s RevoDrive, Kingston’s Hyperx Predator M.2/PCIe, Plextor’s M6e and others have been available for some time now, but to date, they have relied on the SCSI or SATA protocols with their straight-line hard drive methodologies. Obviously, a new approach was required.
intel ssd 750 series half height half length add in card 2
Intel’s 750-series SSD is likely the first NVMe drive that’s within reach of most consumers.

Drivers in place, BIOS and connectors—not

One of the best things about NVM Express is that you don’t have to worry about drivers showing up. Linux has had NVMe support since kernel 3.1; Windows 8.1 and Server 2012 R2 both include a native driver, and there’s a FreeBSD driver in the works. When Apple decides to support NVMe, the latter should make it easy to port.
However, BIOS support is largely lacking. Without an NVMe-aware BIOS, you can’t boot from an NVMe drive, though anyone with a x4 PCIe slot or M.2 connector can benefit from employing an NVMe drive as secondary storage. An NVMe BIOS is not a difficult technical hurdle, but it does require engineering hours and money, so it’s unlikely it will stretch far back into the legacy pool.
Equally daunting for early adopters is the connection conundrum. Early on, you’ll see a lot of expansion card NVMe drives using Gen 3 PCIe slots. That's because all 2.5-inch NVMe SSDs use the new SFF-8639 (Small Form Factor) connector that’s been specially developed for NVMe and SATA Express, but is currently found only on high-end servers. An SFF-8639 connection features four Gen 3 PCIe lanes, two SATA ports, plus sideband channels and both 3.3-volt and 12-volt power.
There are adapters and cables that allow you to connect 2.5-inch NVMe SSDs to M.2, but as M.2 lacks a 12-volt rail, the adapters draw juice from a standard SATA power connector. The real issue with M.2 is that on Intel systems it's generally implemented behind the PCH (Platform Controller Hub), which features only Gen 2 PCIe. That's because the PCH lies behind the DMI (Direct Memory Interface) which is capped at 2GBps. You can see the problem.
Note that NVMe via M.2 isn’t 3.3 times faster than SATA. But if you pay the money, you’re going to want your SSD to be all it can be. At least I would. That means an expansion card drive until SFF-8639 connectors show up on consumer PCs.
32tbnvmessd2
Samsung’s XS1715 NVMe drive aimed at Enterprise customers will pack up to 3.2TB of stacked NAND aboard.
NVMe SSDs actually showed up last summer with Samsung’s 1.6TB MZ-WEIT10, which shipped in Dell’s $10,000 PowerEdge R920 server. Gulp. Intel followed suit with the announcement of its pricy PS3600 and 3700 series NVMe SSDs, which are available in capacities up to 2TB. The first consumer NVMe drive to show up is Intel’s 750. It’s fast. Read our review.

The Current Outlook

Enthusiasts will want to take a hard look at Intel’s 750. Most recent high-end motherboards will get firmware upgrades to support NVMe so you can boot from the drive. Most legacy mainstream boards will probably not. But our talks with Intel and other vendors indicate that the flood gates have opened, and you should see a torrent of NVMe support later in the year.
Until then, there are viable ways around your PC’s storage bottleneck, if indeed you consider 500MBps a bottleneck. One is RAID 0. While a single SATA port is limited to 600Gbps, combining four makes for 2.4GBps of bandwidth. In real life, the DMI bus behind the SATA throttles this to 2GBps, and SATA/RAID overhead reduces that to about 1.4GBps, but it’s still a hefty improvement.
A second option is a PCIe M.2 SSD such as Plextor’s M6e, and Kingston’s HyperX Predator SSD. Most PCIe M.2 drives are also available on inexpensive adapter cards that let you use them in PCIe slots if your motherboard lacks a M.2 connector. We’ve seen 1.4GBps to 1.6GBps from these—a significant boost and a bit faster than the RAID 0 setups we’ve used. They’re not cheap, but the introduction of Intel’s relatively affordable 750 is bound to push prices down.
That’s what you can do for now. But according to nearly every vendor we talked to, you can expect to see NVMe hit the market in scale later this year. It’s just too much of an improvement.

No comments:

Post a Comment