What Is SATA Express?

How the updated version of SATA will increase PC speeds

SATA, or Serial ATA, is a huge success when it comes to computer storage. The standardization of the interface allows for easy installation and compatibility between computers and storage devices. But, the design of serialized communication has reached its limits, with many solid state drives being capped by the performance of the interface rather than the drive. Because of this, new standards of communication between a computer and storage drives called SATA Express was developed.

SATA or PCI Express Communication

The existing SATA 3.0 specifications are limited to just 6.0Gbps bandwidth, which translates to roughly 750MB/s. Now with overhead for the interface and all, it means the effective performance is restricted to just 600MB/s. Many of the current generations of solid-state drives have essentially reached this limit and need some form of faster interface. The SATA 3.2 specification, which SATA Express is a part of, is a new means of communication between the computer and devices. It allows devices to pick whether they want to use the existing SATA method, ensuring backward compatibility with older devices, or to use the faster PCI Express bus.

Sata Connector
Smith Collection/Gado / Getty Images

The PCI Express bus is traditionally used for communicating between the CPU and peripheral devices, such as graphics cards, networking interfaces, USB ports, etc. Under the current PCI Express 3.0 standards, a single PCI Express lane can handle up to 1GB/s, making it faster than the current SATA interface. That's what a single PCI Express lane can achieve, but devices can use multiple lanes. According to the SATA Express specifications, a drive with the new interface can use two PCI Express lanes (often referred to as x2) to have a potential bandwidth of 2GB/s, making it nearly three times the speed of the previous SATA 3.0 speeds.

The New SATA Express Connector

Now, the new interface also required a new connector. It may look somewhat similar because the connector actually combines two SATA data connectors along with a third slightly smaller connector, which deals with the PCI Express-based communications. The two SATA connectors are actually fully functional SATA 3.0 ports. This means a single SATA Express connector on a computer can support two older SATA ports. The issue comes when you want to plug a newer SATA Express-based drive into the connector. All of the SATA Express connectors use the full width whether the drive is based on the older SATA communications or the newer PCI-Express. So, one SATA Express can handle either two SATA drives or one SATA Express drive.

So, why doesn't a PCI Express-based SATA Express drive just use the single third connector rather than the two SATA ports? This has to do with the fact a SATA Express-based drive can use either technology, so it needs to interface with both. In addition to this, many SATA ports are linked to a PCI Express lane for communicating with the processor. By using the PCI Express interface directly with a SATA Express drive, you are effectively cutting off communication to the two SATA ports linked to that interface anyways.

Command Interface Limitations

SATA is effectively a way to communicate data between the device and the CPU in the computer. In addition to this layer, there's a command layer that runs on top to send the commands on what should be written to and read from the storage drive. For years, this was handled by AHCI (Advanced Host Controller Interface). This has been so standardized it's essentially written into every operating system currently on the market, effectively making the SATA drives plug and play. No extra drivers are needed. While the technology worked well with older, slower technology such as hard drives and USB flash drives, it really holds back faster SSDs. The problem is while the AHCI command queue can hold 32 commands, it still can only process a single command at a time because there's only a single queue.

This is where the NVMe (Non-Volatile Memory Express) command set comes in. It features a total of 65,536 command queues, each with the ability to hold 65,536 commands per queue. Effectively, this allows for parallel processing of storage commands to the drive. This isn't beneficial to a hard drive, as it's still effectively limited to a single command because of the drive heads, but for solid-state drives with their multiple memory chips, it can effectively boost their bandwidth by writing multiple commands to different chips and cells simultaneously.

This may sound great but there's a bit of a problem. This is new technology and as a result, it's not built into most of the existing operating systems on the market. In fact, most will need to have additional drivers installed into them so that the drives can use the new NVMe technology. This means deployment of the fastest performance for SATA Express drives may take some time as the software has to mature similar to AHCI's first introduction. Thankfully, SATA Express allows drives to use either of the two methods, so you can still use the new technology now with the AHCI drivers and potentially move to the newer NVMe standards later for improved performance, albeit probably requiring the drive be reformatted.

Other Features Added With SATA Express via SATA 3.2 Specs

Now, the new SATA specifications add more than just the new communication methods and connector. Most of them are targeted toward mobile computers but they can also benefit other non-mobile computers as well. The most notable power-saving feature is a new DevSleep mode. This is essentially a new power mode that allows systems in the storage to almost completely shut off, reducing the power draw when in sleep mode. This should help improve the running times of special laptops, including the Ultrabooks designed around SSDs and low power consumption.

Users of SSHD (solid-state hybrid drives) also benefit from the new standards, as they have put in a new set of optimizations. In the current SATA implementations, the drive controller determines what items should and should not be cache based upon what it sees bring requested. With the new structure, the operating system essentially tells the drive controller which items it should hold in the cache, which reduces the amount of overhead on the drive controller and improving performance.

Finally, there's a function for uses with RAID drive setups. One of the purposes of RAID is for data redundancy. In the event of a drive failure, the drive can be replaced and the data is rebuilt from the checksum data. In essence, they've built a new process in the SATA 3.2 standards that can help improve the rebuilding process by recognizing which data is damaged versus that which is not.

Implementation and Why It Didn't Catch On Right Away

SATA Express has been an official standard since the end of 2013, but it didn't start making its way into computer systems until the release of the Intel H97/Z97 chipsets in the spring of 2014. Even though motherboards now featured the new interface, there were no drives at the time of launch able to use it. This is likely because of the issues surrounding the operating system support for the new command queuing to take full advantage of SATA Express. At least the current implementations do allow the SATA Express connectors to be used with existing SATA drives. This should help ease the implementation for those that happen to buy the technology now once the drives do become available.

The reason the interface didn't catch on quickly really lies with the M.2 interface. This is used exclusively for solid-state drives that use a smaller form factor, which is used in laptop computers but also with desktop systems. Hard drives still have a hard time exceeding the SATA standards. M.2 has a bit more flexibility because it doesn't rely on the larger drives, but it can also use four PCI Express lanes, which means faster drives than the two lanes of SATA Express.

AMD released its Ryzen microprocessors in early March 2017, bringing native support for SATA Express to the AMD Socket AM4 platform.