Intel SSD DC P3700 Review: The PCIe SSD Transition Begins with NVMe
by Anand Lal Shimpi on June 3, 2014 2:00 AM EST- Posted in
- Storage
- SSDs
- Intel
- Intel SSD DC P3700
- NVMe
In 2008 Intel introduced its first SSD, the X25-M, and with it Intel ushered in a new era of primary storage based on non-volatile memory. Intel may have been there at the beginning, but it missed out on most of the evolution that followed. It wasn't until late 2012, four years later, that Intel showed up with another major controller innovation. The Intel SSD DC S3700 added a focus on IO consistency, which had a remarkable impact on both enterprise and consumer workloads. Once again Intel found itself at the forefront of innovation in the SSD space, only to let others catch up in the coming years. Now, roughly two years later, Intel is back again with another significant evolution of its solid state storage architecture.
Nearly all prior Intel drives, as well as drives of its most qualified competitors have played within the confines of the SATA interface. Designed for and limited by the hard drives that came before it, SSDs used SATA to sneak in and take over the high performance market, but they did so out of necessity, not preference. The SATA interface and the hard drive form factors that went along with it were the sheep's clothing to the SSD's wolf. It became clear early on that a higher bandwidth interface was necessary to really give SSDs room to grow.
We saw a quick transition from 3Gbps to 6Gbps SATA for SSDs, but rather than move to 12Gbps SATA only to saturate it a year later most SSD makers set their eyes on PCIe. With PCIe 3.0 x16 already capable of delivering 128Gbps of bandwidth, it's clear this was the appropriate IO interface for SSDs. Many SSD vendors saw the writing on the wall initially, but their PCIe based SSD solutions typically leveraged a bunch of SATA SSD controllers behind a PCIe RAID controller. Only a select few PCIe SSD makers developed their own native controllers. Micron was among the first to really push a native PCIe solution with its P320h and P420m drives.
Bandwidth limitations were only one reason to want to ditch SATA. The other bit of legacy that needed shedding was AHCI, the interface protocol for communication between host machines and their SATA HBAs (Host Bus Adaptors). AHCI was designed for a world where low latency NAND based SSDs didn't exist. It ends up being a fine protocol for communicating with high latency mechanical disks, but one that consumes an inordinate amount of CPU cycles for high performance SSDs.
In the example above, the Linux AHCI stack alone requires around 27,000 cycles. The result is you need 10 Sandy Bridge CPU cores to drive 1 million IOPS. The solution is a new lightweight, low latency interface - one designed around SSDs and not hard drives. The result is NVMe (Non-Volatile Memory Express otherwise known as NVM Host Controller Interface Specification - NVMHCI). And in the same example, total NVMe overhead is reduced to 10,000 cycles, or roughly 3.5 Sandy Bridge cores needed to drive 1 million IOPS.
NVMe drives do require updated OS/driver support. Windows 8.1 and Server 2012R2 both include NVMe support out of the box, older OSes require the use of a miniport driver to enable NVMe support. Booting to NVMe drives shouldn't be an issue either.
NVMe is a standard that seems to have industry support behind it. Samsung already launched its own NVMe drives, SandForce announced NVMe support with its SF3700 and today Intel is announcing a family of NVMe SSDs.
The Intel SSD DC P3700, P3600 and P3500 are all PCIe SSDs that feature a custom Intel NVMe controller. The controller is an evolution of the design used in the S3700/S3500, with improved internal bandwidth via an expanded 18-channel design, reduced internal latencies and NVMe support built in. The controller connects to as much as 2TB of Intel's own 20nm MLC NAND. The three different drives offer varying endurance and performance needs:
The pricing is insanely competitive for brand new technology. The highest endurance P3700 drive is priced at around $3/GB, which is similar to what enthusiasts were paying for their SSDs not too long ago. The P3600 trades some performance and endurance for $1.95/GB, and the P3500 drops pricing down to $1.495/GB. The P3700 ships with Intel's highest endurance NAND and highest over provisioning percentage (25% spare area vs. 12% on the P3600 and 7% on the P3500). DRAM capacities range from 512MB to 2.5GB of DDR3L on-board. All drives will be available in half-height, half-length PCIe 3.0 x4 add in cards or 2.5" SFF-8639 drives.
Intel sent us a 1.6TB DC P3700 for review. Based on Intel's 400GB drive pricing from the table above, the drive we're reviewing should retail for $4828.
IO Consistency
A cornerstone of Intel's DC S3700 architecture was its IO consistency. As the P3700 leverages the same basic controller architecture as the S3700, I'd expect a similar IO consistency story. I ran a slightly modified version of our IO consistency test, but the results should still give us some insight into the P3700's behavior from a consistency standpoint:
IO consistency seems pretty solid, the IOs are definitely not as tightly grouped as we've seen elsewhere. The P3700 still appears to be reasonably consistent and it does attempt to increase performance over time.
85 Comments
View All Comments
extide - Tuesday, June 3, 2014 - link
Yeah, this except more correctly it is SATA vs PCIe as the interface and AHCI vs NVMe as the protocol.Connectors:
M.2 --> Supports AHCI over SATA, AHCI over PCIe, and NVMe over PCIe
SFF-8639 --> Supports AHCI over PCIe and NVMe over PCIe
PCIe card --> AHCI over PCIe, and NVMe over PCIe
Now the latter 2 (and even the first one if you really wanted to...) could have a PCIe based SATA controller on it which would go PCIe --> SATA/SATA RAID Controller -> SATA SSD Controller(s), (For example this is how the OCZ Revo Drive works)
Galatian - Wednesday, June 4, 2014 - link
That's not what I meant with my comment. I'm upset that besides ASRock on the Extreme 6 and 9 and ASUS on their Impact no other manufacture included a higher bandwidth M.2 connector. I guess all upcoming PCIe M.2 drives will already be bottlenecked by the lackluster M.2 speeds most mainboard manufactures are building into their products,hpvd - Tuesday, June 3, 2014 - link
hmmm are you sure? no new mainboard needed? No new Bios? Should it work in all boards which could boot existing PCIe SSDs?hpvd - Tuesday, June 3, 2014 - link
I would really appreciate a short test of this. How should this work when AHCI is the standard on todays Mainboards/Bios/UEFI? There is alreday some work done until the Windows-/Linux driver take over the helm(which is of course already available: http://www.nvmexpress.org/blog/open-fabrics-allian...
TelstarTOS - Tuesday, June 3, 2014 - link
404j00d - Friday, June 6, 2014 - link
just take off the trailing ) in the urlRyan Smith - Tuesday, June 3, 2014 - link
Since a couple of you asked, I threw it in our X79 testbed.Windows 8.1U1 sees the drive without issue, however it is not bootable as our motherboard cannot see the drive as a bootable devices. I preface that with the fact that our X79 testbed is a consumer platform (ASRock X79 Professional) and X79 is a rather old chipset. So I can't speak for how this would behave on a brand spanking new Z97 board, or a server board for that matter.
hpvd - Wednesday, June 4, 2014 - link
many thanks for giving this a try! Should be further investigated...hpvd - Wednesday, June 4, 2014 - link
PCIe booting may be a general prob with standard bios setting on these boards. I found a tiny bios setting guide how to fix this (on a similar Asrock X97 board). Would be awesome If you could try this:http://www.oczforum.com/forum/showthread.php?10114...
You would be the very first in web booting from an NVMe device :-)
hpvd - Wednesday, June 4, 2014 - link
the other way around the question is:does
- your board
- with this bios version
- with this bios settings
- in this PCIe slot
see other bootable PCIe SSD devices?
if so this new Intel PCIe NVMe SSD behave somehow different
If others couldn't be seen either - there is still hope for "normal" boot support :-)
You just have the right board, bios settings...