Understanding the PCIe interface and how it benefits solid state storageBy Kent Smith
Ever since solid state storage was put on the map, we've seen tremendous strides in storage performance across consumer and enterprise computing uses with the promise of even more to come. With the introduction of flash controllers with support for the PCIe (PCI Express) interface and isolated uses of the technology on products like Apple's latest MacBook Pros, the door has opened to questions about PCIe's adoption and the benefits it poses to solid state storage. Below is a Q&A with Jeremy Werner, Senior Director of Product and Customer Management at LSI's SandForce division.
Q: Most client-based SSDs have used SATA in the past, while PCIe was mainly used for enterprise applications. Why is the PCIe interface becoming so popular for the client market?
Jeremy: Over the past few decades, the performance of host interfaces for client devices has steadily climbed. Parallel ATA (PATA) interface speed grew from 33MB/s to 100MB/s, while the performance of the Serial ATA (SATA) connection rose from 1.5Gb/s to 6Gb/s. Today, some solid state drives (SSDs) use the PCIe Gen2 x4 (second-generation speeds with four data communication lanes) interface, supporting up to 20Gb/s (in each direction). Because the PCIe interface can simultaneously read and write (full duplex) and SATA can only read or write at one time (half-duplex), PCIe can potentially double the 20Gb/s speeds in a mixed (read and write) workload, making it nearly seven times faster than SATA.
Will the PCIe interface replace SATA for SSDs?
Jeremy: Eventually the replacement is likely, but it will probably take many years in the single-drive client PC market given two hindrances. First, some single-drive client platforms must use a common HDD and SSD connection to give users the choice between the two devices. And because the 6Gb/s SATA interface delivers much higher speeds than than hard disk drives, there is no immediate need for HDDs to move to the faster PCIe connection, leaving SATA as the sole interface for the client market. And, secondly, the older personal computers already in consumers' homes that need an SSD upgrade support only SATA storage devices, so there's no opportunity for PCIe in that upgrade market.
By contrast, the enterprise storage market, and even some higher-end client systems, will migrate quickly to PCIe since they will see significant speed increases and can more easily integrate PCIe SSD solutions available now.
It is noteworthy that some standards, like M.2 and SATA Express, have defined a single connector that supports SATA or PCIe devices. The recently announced LSI SF3700 is one example of an SSD controller that supports both of those interfaces on an M.2 board.
What is meant by the terms "x1, x2, x4, x16" when referencing a particular PCIe interface?
Jeremy: These numbers are the PCIe lane counts in the connection. Either the host (computer) or the device (SSD) could limit the number of lanes used. The theoretical maximum speed of the connection (not including protocol overhead) is the number of lanes multiplied by the speed of each lane.
What is protocol overhead?
Jeremy: PCIe, like many bus interfaces, uses a transfer encoding scheme - a set number of data bits represented by a slightly larger number of bits called a symbol. The additional bits in the symbol constitute the inefficient overhead of metadata required to manage the transmitted user data. PCIe Gen3 features a more efficient data transfer encoding with 128b/132b (3% overhead) instead of the 8b/10b (20% overhead) of PCIe Gen2, increasing data transfer speeds by up to 21%.
What is defined in the PCIe 2.0 and 3.0 specifications, and do end users really care?
Jeremy: Although each PCIe Gen3 lane is faster than PCIe Gen2 (8Gb/s vs 5Gb/s, respectively), lanes can be combined to boost performance in both versions. The changes most relevant to consumers pertain to higher speeds. For example, today consumer SSDs top out at 150K random read IOPS at 4KB data transfer sizes. That translates to about 600MB/s, which is insufficient to saturate a PCIe Gen2 x2 link, so consumers would see little benefit from a PCIe Gen3 solution over PCIe Gen2. The maximum performance of PCIe Gen2 x4 and PCIe Gen3 x2 devices is almost identical because of the different transfer encoding schemes mentioned previously.
Are there mandatory features that must be supported in any of these specifications?
Jeremy: Yes, but nearly all of these features have little impact on performance, so most users have no interest in the specs. It's important to keep in mind that the PCIe speeds I've cited are defined as the maximums, and the spec has no minimum speed requirement. This means a PCIe Gen3 solution might support only a maximum of 5Gb/s, but still be considered a PCIe Gen3 solution if it meets the necessary specifications. So buyers need to be aware of the actual speed rating of any PCIe solution.
Is a PCIe Gen3 SSD faster than a PCIe Gen2 SSD?
Jeremy: Not necessarily. For example, a PCIe Gen2 x4 SSD is capable of higher speeds than a PCIe Gen3 x1 SSD. However, bottlenecks other than the front-end PCIe interface will limit the performance of many SSDs. Examples of other choke points include the bandwidth of the flash, the processing/throughput of the controller, the power or thermal limitations of the drive and its environment, and the ability to remove heat from that environment. All of these factors can, and typically do, prevent the interface from reaching its full steady-state performance potential.
In what form factors are PCIe cards available?
Jeremy: PCIe cards are typically referred to as plug-in products, much like SSDs, graphics cards and host-bus adapters. PCIe SSDs come in many form factors, with the most popular called "half-height, half-length." But the popularity of the new, tiny M.2 form factors is growing, driven by rising demand for smaller consumer computers. There are other PCIe form factors that resemble traditional hard disk drives, such as the SFF-8639, a 2.5" hard disk drive form factor that features four PCIe lanes and is hot pluggable. What's more, its socket is compatible with the SAS and SATA interfaces. The adoption of the SATA Express 2.5" form factor has been limited, but could be given a boost with the availability of new capabilities like SRIS (Separate Refclk with Independent SSC), which enables the use of lower cost interconnection cables between the device and host.
Are all M.2 cards the same?
Jeremy: No. All SSD M.2 cards are 22 mm wide (while some WAN cards are 30 mm wide), but the specification allows for different lengths (30, 42, 60, 80, and 110 mm). What's more, the cards can be single- or double-sided to account for differences in the thickness of the products. Also, they are compatible with two different sockets (socket 2 and socket 3). SSDs compatible with both socket types, or only socket 2, can connect only two lanes (x2), while SSDs compatible with only socket 3 can connect up to four (x4).
In my last few blogs, I covered various aspects of SSD form factors and included many images of the types that Jeremy mentioned above. I also delve deeper into details of the M.2 form factor in my blog "M.2: Is this the Prince of SSD form factors?" One thing about PCIe is certain: It is the next step in the evolution of computer interfaces and will give rise to more SSDs with higher performance, lower power consumption and better reliability.
Masthead image credit: Kevin O'Brien via Storage Review.
Republished with permission.