Menu Content/Inhalt
Home arrow Technology Park arrow Solid State Drives arrow 2014-03 SATA Express & NVM Express

2014-03 SATA Express & NVM Express Print
March 2014

This note focuses on two new related standards called SATA Express and Non-Volatile Memory Express (NVMe) respectively for SSD on PCIe.  This note is a bit forward looking and needs real life verifications over time.

Traditional Approach for SSD Connection: In a desktop situation, SATA ports are supported by the South Bridge (noting that the North Bridge has been absorbed into the CPU these days).  Some PCI Express slots are also supported by the South Bridge although they are mostly on Generation 2 (noting that some CPU provides Generation 3 support).  We may say that SATA ports and PCIe v2 slots are on the same level on the access hierarchy.  SSD with SATA interface and SSD with PCIe interface have been developed separately.

SATA Express

o SAS is going from version 2 at 6Gbps to version 3 at 12Gbps in 2014.  Traditionally SATA piggybacked on SAS.  For example, SATA3 ~ SAS2 = 6Gbps.  We may expect SATA to move to version 4 in 2014 but this is not happening.  SATA is moving to version 3.2 instead with SATA Express as a subset.

o The intention of creating SATA Express is to relate SATA to PCI Express in order for SSD to take advantage of the higher bandwidth of PCI Express.  PCI Express supports aggregations of up to 16 lanes.  We can see below that 2 lanes of PCIe v3 give 20Gbps which is higher than offered by SAS3 (or SATA4 if it exists).

SATA3       6Gbps
PCIev2 x1  5Gbps

SAS3         12Gbps
PCIev3 x1  10Gbps

o SATA Express provides 2 options of connections of SSD- one SSD for 2 lanes of PCI Express or 2 SSD on SATA3.  The PCI option provides the headroom for SSD to perform up to 20Gbps of disk read and write operations. 

NVMe (Non-Volatile Memory Express)

o Some SSD vendors have been ambitious in breaking the SAS2 limit by aggregating multiple SSD onto a PCIe card.  A read rate of 3GB/s has been published for products with an interface of PCIe v2x8.  Developments have been in different directions until NVM Express is agreed on as an industry standard for SSD on PCIe.  (Ref: 1B = 8b or 10b depending on the encoding scheme)

o SATA3 SSD supports a single command queue with up to 32 commands while NVMe supports up to 64K queues and 64K commands per queue. 

o Windows 8.1 and Server 2012R2 have native support of NVMe.  Linux 3.3 has included NVMe driver support from Intel.

o Whilst SATA Express limits a SSD to have an interface of 2 PCIe lanes, NVMe does not. 

o Sandforce announced in 2014-01 the release of SF3700 SSD controller that is compliant with NVMe for PCIe version 2 interface as well as SATA3.