SATA Express

From Wikipedia, the free encyclopedia
Jump to: navigation, search
SATA Express
SATA Express logo.svg
Revision 3.2 of the Serial ATA specification standardizes SATA Express[1]
Year created 2013
Supersedes Serial ATA (SATA)
Speed up to 1969 MB/s
Style Serial
Hotplugging interface Yes[1]

SATA Express (abbreviated from Serial ATA Express and sometimes unofficially shortened to SATAe) is a computer bus interface that supports both Serial ATA (SATA) and PCI Express (PCIe) storage devices, initially standardized in the SATA 3.2 specification.[1] The SATA Express connector used on the host side is backward compatible with the standard 3.5-inch SATA data connector,[2] while it also provides two PCI Express lanes as a pure PCI Express connection to the storage device.[3]

Instead of continuing with the SATA interface's usual approach of doubling its native speed with each major version, SATA 3.2 specification included the PCI Express bus for achieving data transfer speeds greater than the SATA 3.0 speed limit of 6 Gbit/s. Designers of the SATA interface concluded that doubling the native SATA speed would take too much time to catch up with the advancements in solid-state drive (SSD) technology,[4] would require too many changes to the SATA standard, and would result in a much greater power consumption compared with the existing PCI Express bus.[5][6] As a widely adopted computer bus, PCI Express provides sufficient bandwidth while allowing easy scaling up by using faster or additional lanes.[7]

In addition to supporting legacy Advanced Host Controller Interface (AHCI) at the logical interface level, SATA Express also supports NVM Express (NVMe) as the logical device interface for attached PCI Express storage devices. While the support for AHCI ensures software-level backward compatibility with legacy SATA devices and legacy operating systems, NVM Express is designed to fully utilize high-speed PCI Express storage devices by leveraging their capability of executing many I/O operations in parallel.[8]

History[edit]

Two SATA Express connectors (light gray) on a computer motherboard; to the right of them are common SATA connectors (dark gray)

Serial ATA (SATA) interface was designed primarily for interfacing with hard disk drives (HDDs), doubling its native speed with each major revision: maximum SATA transfer speeds went from 1.5 Gbit/s in SATA 1.0 (standardized in 2003), through 3 Gbit/s in SATA 2.0 (standardized in 2004), to 6 Gbit/s as provided by SATA 3.0 (standardized in 2009).[9] SATA has also been selected as the interface for gradually more adopted solid-state drives (SSDs), but the need for a faster interface became apparent as the speed of SSDs and hybrid drives increased over time.[5] As an example, some SSDs available in early 2009 were already well over the capabilities of SATA 1.0 and close to the SATA 2.0 maximum transfer speed,[10] while in the second half of 2013 high-end consumer SSDs have already reached the SATA 3.0 speed limit, requiring an even faster interface.[11][12]

While evaluating different approaches to the required speed increase, designers of the SATA interface concluded that extending the SATA interface so it doubles its native speed to 12 Gbit/s would require more than two years, making that approach unsuitable for catching up with advancements in SSD technology.[4] At the same time, increasing the native SATA speed to 12 Gbit/s would require too many changes to the SATA standard, ending up in a more costly and less power efficient solution compared with the already available and widely adopted PCI Express bus. Thus, PCI Express was selected by the designers of SATA interface, as part of the SATA 3.2 revision that was standardized in 2013; extending the SATA specification to also provide a PCI Express interface within the same backward-compatible connector allowed much faster speeds by reusing already existing technology.[6][13]

Some vendors also use proprietary logical interfaces for their enterprise-grade flash-based storage products, connected through the PCI Express bus. Such storage products allow multiple PCI Express lanes to be aggregated, while interfacing with the operating system through proprietary drivers and host interfaces.[14][15] Moreover, as of June 2014 there are similar enterprise-grade storage products using NVM Express as the non-proprietary logical interface, which also aggregate multiple PCI Express lanes.[16]

Availability[edit]

Support for SATA Express was initially announced for the Intel 9 Series chipsets, Z97 and H97 Platform Controller Hubs (PCHs), with both of them supporting Intel Haswell and Haswell Refresh processors; availability of these two chipsets was planned for 2014.[17][18] In December 2013, Asus unveiled a prototype "Z87-Deluxe/SATA Express" motherboard based on the Intel Z87 chipset, supporting Haswell processors and using additional ASMedia controller to provide SATA Express connectivity; this motherboard was also showcased at CES 2014 although no launch date was announced.[19][20]

In April 2014, Asus also demonstrated support for the so-called separate reference clock with independent spread spectrum clocking (SRIS) with some of its pre-production SATA Express hardware. SRIS eliminates the need for complex and costly shielding on SATA Express cables required for transmitting PCI Express synchronization signals, by providing a separate clock generator on the storage device with additional support from the motherboard firmware.[21][22][23]

In May 2014, Intel Z97 and H97 chipsets became available, bringing support for both SATA Express and M.2, which is a specification for SATA Express storage devices in form of internally mounted computer expansion cards. Z97 and H97 chipsets use two PCI Express 2.0 lanes for each of their SATA Express ports, providing 1 GB/s of bandwidth to PCI Express storage devices.[18][24][25] The release of these two new chipsets, intended primarily for high-end desktops, was soon followed by the availability of Z97- and H97-based motherboards.[26][27]

In late August 2014, Intel X99 chipset became available, bringing support for both SATA Express and M.2 to Intel's enthusiast platform. Each of the X99's SATA Express ports requires two PCI Express 2.0 lanes provided by the chipset, while the M.2 slots can use either two 2.0 lanes from the chipset itself, or up to four 3.0 lanes taken directly from the LGA 2011-v3 CPU. As a result, the X99 provides bandwidths of up to 3.94 GB/s for connected PCI Express storage devices. Following the release of X99 chipset, numerous X99-based motherboards became available.[28]

Socket AM4 and its accompanying chipsets finally brought support for SATA Express to the AMD platform in 2017. [29]

Adoption[edit]

Adoption of the SATA Express connector was extremely slow. At the launch of the Z97 chipsets there were no drives that supported the cable.[30] Motherboard support at the time was also uneven. High-end solid state drives that might have used the SATA Express connector instead opted for the M.2 standard. One reason for this was that M.2 drives could be used in both desktops and notebooks.[31]

With the expected future adoption of the U.2 standard it is unclear if SATA Express will ever see wide-spread use.

Features[edit]

A high-level overview of the SATA Express software architecture, which supports both legacy SATA and PCI Express storage devices, with AHCI and NVMe as the logical device interfaces.[8]:4

SATA Express interface supports both PCI Express and SATA storage devices by exposing two PCI Express 2.0 or 3.0 lanes and two SATA 3.0 (6 Gbit/s) ports through the same host-side SATA Express connector. Exposed PCI Express lanes provide a pure PCI Express connection between the host and storage device, with no additional layers of bus abstraction.[3][6] The SATA revision 3.2 specification, in its gold revision as of August 2013, standardizes the SATA Express and specifies its hardware layout and electrical parameters.[1][32]

The choice of PCI Express also enables scaling up the performance of SATA Express interface by using multiple lanes and different versions of PCI Express. In more detail, using two PCI Express 2.0 lanes provides a total bandwidth of 1 GB/s (2 × 5 GT/s raw data rate and 8b/10b encoding, equating to effective 1000 MB/s), while using two PCI Express 3.0 lanes provides close to 2 GB/s (2 × 8 GT/s raw data rate and 128b/130b encoding, equating to effective 1969 MB/s).[3][7] In comparison, the 6 Gbit/s raw bandwidth of SATA 3.0 equates effectively to 0.6 GB/s due to the overhead introduced by 8b/10b encoding.

There are three options available for the logical device interfaces and command sets used for interfacing with storage devices connected to a SATA Express controller:[6][8]

Legacy SATA
Used for backward compatibility with legacy SATA devices, and interfaced through the AHCI driver and legacy SATA 3.0 (6 Gbit/s) ports provided by a SATA Express controller.
PCI Express using AHCI
Used for PCI Express SSDs and interfaced through the AHCI driver and provided PCI Express lanes, providing backward compatibility with widespread SATA support in operating systems at the cost of not delivering optimal performance by using AHCI for accessing PCI Express SSDs. AHCI was developed when the purpose of a host bus adapter (HBA) in a system was to connect the CPU/memory subsystem with a much slower storage subsystem based on rotating magnetic media. As a result, AHCI has some inherent inefficiencies when applied to SSD devices, which behave much more like DRAM than like spinning media.
PCI Express using NVMe
Used for PCI Express SSDs and interfaced through the NVMe driver and provided PCI Express lanes, as a high-performance and scalable host controller interface designed and optimized especially for interfacing with PCI Express SSDs. NVMe has been designed from the ground up, capitalizing on the low latency and parallelism of PCI Express SSDs, and complementing the parallelism of contemporary CPUs, platforms and applications. At a high level, primary advantages of NVMe over AHCI relate to NVMe's ability to exploit parallelism in host hardware and software, based on its design advantages that include data transfers with fewer stages, greater depth of command queues, and more efficient interrupt processing.

Connectors[edit]

SATA Express host-side connector, formally known as the "host plug", accepts both SATA Express and legacy 3.5-inch SATA data cables.[13][33]

Connectors used for SATA Express were selected specifically to ensure backward compatibility with legacy SATA devices where possible, without the need for additional adapters or converters.[2] The connector on the host side accepts either one PCI Express SSD or up to two legacy SATA devices, by providing either PCI Express lanes or SATA 3.0 ports depending on the type of connected storage device.[13]

There are five types of SATA Express connectors, differing by their position and purpose:[2]

  • Host plug is used on motherboards and add-on controllers. This connector is backward compatible by accepting legacy 3.5-inch SATA data cables, resulting in the host plug providing connectivity for up to two SATA devices.
  • Host cable receptacle is the host-side connector on SATA Express cables. This connector is not backward compatible.
  • Device cable receptacle is the device-side connector on SATA Express cables, backward compatible by accepting one SATA device.
  • Device plug is used on SATA Express devices. This connector is partially backward compatible by allowing SATA Express devices to be plugged into U.2 backplanes[34][a] or MultiLink SAS receptacles;[b] however, a SATA Express device connected that way will be functional only if the host supports PCI Express devices.
  • Host receptacle is used on backplanes for mating directly with SATA Express devices, resulting in cableless connections. This connector is backward compatible by accepting one SATA device.

The above listed SATA Express connectors provide only two PCI Express lanes, as the result of overall design focusing on a rapid low-cost platform transition. That choice allowed easier backward compatibility with legacy SATA devices, together with making it possible to use cheaper unshielded cables. As of March 2015, some NVM Express devices in form of 2.5-inch drives use the U.2 connector (originally known as SFF-8639, with the renaming taking place in June 2015[35]),[37][38] which is expected to gain broader acceptance. The U.2 connector is mechanically identical to the SATA Express device plug, but provides four PCI Express lanes through a different usage of available pins.[34][39][40][41]

The table below summarizes the compatibility of involved connectors.

Connector mating matrix[2]:1
  SATA Express
host cable
receptacle
SATA Express
device cable
receptacle
SATA Express
host receptacle
SATA cable
receptacle
U.2 backplane
receptacle[a]
SAS MultiLink
receptacle[b]
SATA Express
host plug
Yes No No Yes No No
SATA Express
device plug
No Yes Yes No Yes[c] Yes[c]
SATA
device plug
No Yes Yes Yes Yes[d] Yes[d]

Compatibility[edit]

Device-level backward compatibility for SATA Express is ensured by fully supporting legacy SATA 3.0 (6 Gbit/s) storage devices, both on the electrical level and through the required operating system support. Mechanically, connectors on the host side retain their backward compatibility in a way similar to how USB 3.0 does it – the new host-side SATA Express connector is made by "stacking" an additional connector on top of two legacy 3.5-inch SATA data connectors, which are regular SATA 3.0 (6 Gbit/s) ports that can accept legacy SATA devices.[2][13] This backward compatibility of the host-side SATA Express connector, which is formally known as the host plug, ensures the possibility for attaching legacy SATA devices to hosts equipped with SATA Express controllers.

Backward compatibility on the software level, provided for legacy operating systems and associated device drivers that can access only SATA storage devices, is achieved by retaining support for the AHCI controller interface as a legacy logical device interface, as visible from the operating system perspective. Access to storage devices using AHCI as a logical device interface is possible for both SATA SSDs and PCI Express SSDs, so operating systems that do not provide support for NVMe can optionally be configured to interact with PCI Express storage devices as if they were legacy AHCI devices.[8] However, because NVMe is far more efficient than AHCI when used with PCI Express SSDs, SATA Express interface is unable to deliver its maximum performance when AHCI is used to access PCI Express storage devices; see above for more details.

See also[edit]

Notes[edit]

  1. ^ a b The U.2 connector was originally known as SFF-8639, with the renaming taking place in June 2015.[35]
  2. ^ a b MultiLink SAS receptacle is also known as the SFF-8630 connector.[36]
  3. ^ a b SATA Express device plug mates with the U.2 (SFF-8639) and SAS MultiLink (SFF-8630) connectors, but will be functional only if the host supports PCI Express devices.
  4. ^ a b SATA device plug mates with the U.2 (SFF-8639) and SAS MultiLink (SFF-8630) connectors, but will be functional only if the host supports SATA devices.

References[edit]

  1. ^ a b c d "Serial ATA Revision 3.2 (Gold Revision)" (PDF). knowledgetek.com. SATA-IO. August 7, 2013. pp. 210–232. Archived from the original (PDF) on March 27, 2014. Retrieved April 7, 2015. 
  2. ^ a b c d e "SATA Express Connector Mating Matrix" (PDF). SATA-IO. August 9, 2013. Retrieved October 2, 2013. 
  3. ^ a b c "SATA-IO Unveils Revision 3.2 Specification" (PDF). SATA-IO. August 8, 2013. Retrieved September 11, 2015. 
  4. ^ a b Zsolt Kerekes (June 25, 2014). "SSD Market History (1970s to 2014)". storagesearch.com. Retrieved July 18, 2014. 
  5. ^ a b Kristian Vatto (March 13, 2014). "Testing SATA Express and why we need faster SSDs". AnandTech. Retrieved July 11, 2014. 
  6. ^ a b c d Paul Wassenberg (June 25, 2013). "SATA Express: PCIe Client Storage" (PDF). SATA-IO. Retrieved October 2, 2013. 
  7. ^ a b "PCI Express 3.0 Frequently Asked Questions" (PDF). PCI-SIG. July 11, 2012. Retrieved July 2, 2015. 
  8. ^ a b c d Dave Landsman (August 9, 2013). "AHCI and NVMe as Interfaces for SATA Express Devices – Overview" (PDF). SATA-IO. Retrieved October 2, 2013. 
  9. ^ "Understanding SSD System Requirements". Samsung. Retrieved July 18, 2014. 
  10. ^ Anand Lal Shimpi (March 18, 2009). "The SSD Anthology: Understanding SSDs and New Drives from OCZ". AnandTech. Retrieved July 18, 2014. 
  11. ^ Les Tokar (June 4, 2013). "ADATA Displays New Gen LSI SandForce 2.5" SSD With 1.8 GB/s Speeds & 200k IOPS". The SSD Review. Retrieved October 7, 2013. 
  12. ^ Les Tokar (September 22, 2013). "Samsung XP941 M.2 PCIe SSD Review (512GB) – New Ultra Standard Exceeds 140K PCMark Vantage Score". The SSD Review. Retrieved October 7, 2013. 
  13. ^ a b c d "Enabling Higher Speed Storage Applications with SATA Express". SATA-IO. 2013. Retrieved October 2, 2013. 
  14. ^ "Fusion-io ioDrive Duo Enterprise PCIe Review". storagereview.com. July 16, 2012. Retrieved October 2, 2013. 
  15. ^ Anand Lal Shimpi (October 15, 2012). "Micron P320h PCIe SSD (700 GB) Review". AnandTech. Retrieved July 7, 2015. 
  16. ^ Anand Lal Shimpi (June 3, 2014). "Intel SSD DC P3700 Review: The PCIe SSD Transition Begins with NVMe". AnandTech. Retrieved July 7, 2015. 
  17. ^ Niels Broekhuijsen (April 17, 2013). "Report: Intel 9-Series Will Feature 10-16 Gb/s SATA Express". Tom's Hardware. Retrieved January 10, 2014. 
  18. ^ a b Andrew Cunningham (May 11, 2014). "New Intel chipsets speed up your storage, but they’re missing new CPUs". Ars Technica. Retrieved May 13, 2014. 
  19. ^ Niels Broekhuijsen (January 7, 2014). "Asus Displays its Z87-Deluxe/SATA Express Motherboard". Tom's Hardware. Retrieved January 10, 2014. 
  20. ^ Chris Ramseyer (December 20, 2013). "ASUS is ready for SATA Express – Early tech and performance preview". tweaktown.com. Retrieved January 10, 2014. 
  21. ^ Geoff Gasior (May 1, 2014). "A first look at SATA Express with Asus' Hyper Express storage device". techreport.com. Retrieved May 5, 2014. 
  22. ^ "ASUS First in World to Unleash Full SATA Express Performance". Asus. April 29, 2014. Retrieved May 5, 2014. 
  23. ^ "Separate Refclk Independent SSC Architecture (SRIS)" (PDF). PCI-SIG. January 10, 2013. Retrieved May 5, 2014. 
  24. ^ Sean Portnoy (May 12, 2014). "Intel launches Z97, H97 chipsets for performance desktop PCs". ZDNet. Retrieved May 13, 2014. 
  25. ^ Ian Cutress (May 11, 2014). "The Intel Haswell Refresh Review: Core i7-4790, i5-4690 and i3-4360 Tested". AnandTech. Retrieved May 13, 2014. 
  26. ^ Thomas Soderstrom (May 13, 2014). "Intel Z97 Express: Five Enthusiast Motherboards, $120 To $160". Tom's Hardware. Retrieved May 13, 2014. 
  27. ^ Nathan Kirsch (May 12, 2014). "ASUS Announces Z97-WS Workstation Motherboard". Legit Reviews. Retrieved May 13, 2014. 
  28. ^ Ian Cutress (September 25, 2014). "The Intel Haswell-E X99 Motherboard Roundup with ASUS, GIGABYTE, ASRock and MSI". AnandTech. Retrieved October 2, 2014. 
  29. ^ Cutress, Ian (13 December 2016). "AMD Gives More Zen Details". Anandtech. Retrieved 13 December 2016. 
  30. ^ Mark Kyrnin (June 5, 2016). "What is SATA Express?". Retrieved November 29, 2016. 
  31. ^ Koen Crijns (December 30, 2014). "2015: The year of PCI-Express SSDs?". Retrieved November 29, 2016. 
  32. ^ Gareth Halfacree (August 13, 2013). "SATA-IO announces 16 Gb/s SATA 3.2 specification". bit-tech.net. Retrieved March 27, 2014. 
  33. ^ Mark Tyson (April 24, 2014). "ASUS motherboards to boast full SATA Express performance". hexus.net. Retrieved November 29, 2014. 
  34. ^ a b "Intel Look Inside: Solid State Drives for the Server, SATA and NVMe" (PDF). Intel. November 27, 2014. p. 55. Archived from the original (PDF) on March 4, 2016. Retrieved March 26, 2015. 
  35. ^ a b Paul Alcorn (June 5, 2015). "SFFWG Renames PCIe SSD SFF-8639 Connector To U.2". Tom's Hardware. Retrieved June 9, 2015. 
  36. ^ Harry Mason; Marty Czekalski (2011). "SAS Standards and Technology Update" (PDF). Storage Networking Industry Association. p. 19. Retrieved June 10, 2015. 
  37. ^ "Intel Solid-State Drive DC P3600 Series" (PDF). Intel. March 20, 2015. pp. 18, 20–22. Retrieved April 11, 2015. 
  38. ^ "SFF-8639: Specification for Multifunction 6× Unshielded Connector, Revision 2.0" (PDF). ftp.seagate.com. SFF Committee. January 15, 2015. Retrieved April 12, 2015. 
  39. ^ Anand Lal Shimpi (September 13, 2012). "Breaking the SATA Barrier: SATA Express and SFF-8639 Connectors". AnandTech. Retrieved October 12, 2013. 
  40. ^ "Enterprise SSD Form Factor Version 1.0a" (PDF). ssdformfactor.org. SSD Form Factor Work Group. December 12, 2012. pp. 48, 49. Retrieved June 12, 2015. 
  41. ^ "SFF-8639 Drive Backplane Connector". storageinterface.com. Retrieved October 12, 2013. 

External links[edit]