PCIe and storage devices get connected
SSDs (solid-state drives) are rapidly becoming the storage method of choice. With this changing of the guard from hard-disk drives to SSDs, there is a need for different connections than are used for hard drives or peripherals to utilize the an SSD's full potential. The connector and protocols discussed here are the future for the storage industry.
PCIe (Peripheral Component Interconnect express) has become the dominant connection technology between computer motherboards and internal peripheral devices such as graphics cards. The current generation (PCIe Gen3) operates at 8GT/s/lane on up to 32 lanes. PCIe has broken into the storage world with the advent of SATA Express and, NVMe (Non-Volatile Memory Express), storage technologies that use the PCIe connectors and signaling.
As computers have become smaller—such as Ultrathin notebooks or tablet PCs—connectors for peripheral devices had to shrink to accommodate tighter spaces. The PCI-SIG developed the M.2 connector to meet this demand. The connector is 22mm wide and the length can vary to make the best use of the technology being employed over it. The size is a 43% reduction in size over the standard x4 lane PCIe connector. The M.2 (Figure 1) supports four lanes of PCIe traffic or one SATA port if in legacy mode. SATA Express is one of the newest technologies to take advantage of this connector.
Figure 1.The M.2 card was formerly known as the NGFF (New Generation Form factor) card. Source: sata-io.org
The SATA Express specification provides a means of using PCIe as a storage interface while maintaining the existing software infrastructure. There are two registers and command sets that SATA Express can choose from: AHCI (Advanced Host Controller Interface) and NVMe. AHCI is supported by all major operating systems, but it's not streamlined for SSDs (solid state devices). The NVMe register and command set is, however, streamlined for SSD use. SATA Express can take advantage of the PCIe M.2 connector inside computers. For SATA Express in enterprise storage applications, the SFF-8639 or the SATA Express connector (Figure 2) can be used.
Figure 2.SATA Express connectors were designed for enterprise storage connections
The SFF-8639 (Figure 3) is a new connector developed to support many technologies in an enterprise storage backplane. This connector is larger than the M.2 because it was designed for enterprise storage, not client storage. The connector can support signaling from a SATA, SAS, SATA Express, or NVMe storage devices. It also supports both SAS ports and both types of SATA Express ports. The connector can utilize up to four lanes of a PCIe SSD, the SSD can run over NVMe as the connector is protocol independent.
Figure 3.An SFF-8639 connector supports several communication interfaces.
The SATA Express connector in Figure 2 can support two SATA drives or one SATA Express PCIe SSD with two lanes. This connector can also be used with cabling instead of just through a direct attachment. The cabling allows for better PC access and the use of SATA cables. The M.2 and SFF-8639 are designed for direct attach. Connectors are independent of the protocol.
NVMe came into being as a means to realize the full potential of SSDs as where traditional SATA and SAS environments were designed around spinning media. Each technology has some inherent built in-latency to account for the slower spinning discs of traditional hard drives. Since SSD’s do not need to spin, the latency is much less, prompting a need for a new system to fully utilize them. NVMe can reduce the latency by more than 50% over SAS/SATA. NVMe has support for data protection, encryption, and error reporting necessary for enterprise level storage demands. NVMe doesn't, however, support SATA software drivers for controlling drives at the operating system level, hence operating systems need special NVMe drivers to utilize this technology. Windows 8.1, Windows Server 2012 R2, and several recent Linux distributions have built in support for NVMe.
For verification of designs, the UNH-IOL’s PCIe Consortium launched in the Summer of 2013. Spearheaded by David Woolf, the consortium offers conformance and interoperability testing based on the tests performed by the PCI-SIG at their test events. As PCIe grows and expands into storage, there will be a need for physical layer conformance testing over these new connectors, which the IOL is already working on. At the protocol layer, there is the NVMe Consortium, which has an ever growing interoperability test bed for supporting conformance tests.