PCI Express is gaining popularity as an interface for solid-state storage devices, because of the low latency associated with placing solid-state drive (SSD) storage into the server itself. However, the products available that take advantage of the benefits of PCI Express (PCIe) are from storage vendors making use of proprietary technology. According to Mike James, director of engineering for advanced technology at SanDisk Corp., storage...
vendors need to develop PCIe-connected SSD technology that is compatible with SAS and SATA, allowing technology users to reap the full performance benefits of flash storage.
To meet this end, two industry standards for PCIe flash devices are in development -- Non-Volatile Memory Express (NVMe) and Small Computer System Interface (SCSI) Express. These standards are designed to provide a consistent feature set across SSD vendors to offer products compatible with existing hardware, applications and operating systems. The developers of these standards include the SCSI Trade Association (SCSITA), of which James is a member; the Serial ATA International Organization, or SATA-IO; the NVM Express Workgroup; the SSD Form Factor Workgroup; and the PCI Special Interest Group, or PCI-SIG. SCSI Express development is being led by SCSITA, while NVMe development is headed up by the NVM Express Workgroup.
Drive specifications and serviceability
"From a device manufacturer's perspective, standards give a basis for the target spec we should develop to," James said. "It defines the product -- not the performance aspect -- but how the drive integrates and communicates with the system. The goal is interoperability."
This will allow drive and system manufacturers to essentially be on the same page when designing devices. It also will allow storage vendors to use drives from various manufacturers, without the overhead of needing to support multiple drivers. "For the end user, this promotes continuity of supply and promotes competition, which drives better pricing for everyone," James said.
Better serviceability is also a primary goal of NVMe and SCSI Express -- another important benefit for the end user. To this end, the SSD Form Factor Workgroup has defined a 2.5-inch form factor for PCIe-connected SSDs that will fit into a serviceable slot on the front of a server. "This will allow an IT manager [to install the drive] without having to take the entire system apart to plug in a PCIe card into the system," James said.
SAS and SATA were, of course, developed for hard disk drives. As such, they were designed around the performance of these drives. "A high-performance hard drive supports around 200 IOPS," James said. "If you think about a traditional system, you might have, say 50 HDDs [hard disk drives], each doing 200 IOPS for a total of 10,000 IOPS. With solid-state devices, [a similar system] might be able to do 500,000 or even a million IOPS. When you scale that 10,000 up to a million, all of a sudden, your processor is just doing I/O."
NVMe and SCSI Express are designed to optimize the processor's driver stack so it can handle the high IOPS associated with flash storage. As mentioned above, it also puts the SSD close to the server chipset, reducing latency and further increasing performance while keeping the traditional form factor that IT managers are comfortable servicing.
The standards use a similar architecture to meet their mutual goals of streamlining the path from storage to processor. However, SCSITA based SCSI Express on SCSI and optimized the way I/O is performed. The NVM Express Workgroup, on the other hand, started with a blank slate and created new commands, new management, and so forth with efficiency in mind across the board. According to James, devices and systems haven't matured to a point where it's clear that one is faster than the other. However, he said that it is important to note that NVM Express will be suited for connecting to a single server so the storage can be used as a cache, while SCSI Express will allow users to treat solid-state devices as a tier because it employs the SCSI protocol.
Availability of NVMe- and SCSI Express-compliant products
NVMe emerged first with a public spec about two years ago. It was updated about a year later to correct some of the limitations that emerged in the development process. Linux and Windows drivers are available today. According to James, drivers for additional operating systems are likely to be available this year, and enterprise products will emerge by late 2013. SCSI Express is running a little behind NVMe in terms of its release. James said that publication is likely in the summer of 2013, and products will likely emerge by late 2013.
"In general, things are cooperative, but it can take some time to get [all vendors] in alignment," James said. "That's why you see proprietary PCIe SSD devices available today. Folks say, 'I want to get to this market sooner than later.' However, the challenge these vendors face is that it's very hard to support every operating system known to man."
NVMe and SCSI Express have sometimes been pitted against each other as competitors, and others have called for the two standards to merge. According to James, however, they are not competing technologies and it's unlikely they will merge. "In my opinion, both will emerge and coexist in the market, but just in different places," he said. "SCSI Express will likely exist where you see traditional enterprise storage -- SAS today. NVMe will exist, possibly where you see SATA today -- for uses where reliability and consistency isn't as important."