Sunday, 27 December 2020

What’s the difference between SATA, PCIe and NVMe?

NVMe, AHCI and IDE are transfer protocols (languages). They run on top of transfer interfaces such as PCIe or SATA (spoken, written).

SATA is the market incumbent and dominant interface for connecting an SSD to the PC. It employs the command protocol AHCI (it also supports IDE) which was built with slower spinning disks in mind rather than flash memory. SATA transfer rates begin at 150 MB/s and max out at 600 MB/s for third generation technology. For most consumers this is adequate.

PCIe (Peripheral Component Interconnect Express ) supersedes SATA as the latest high bandwidth interface that connects hardware: CPUs, GPUs, SSDs, sound cards, network cards, and other PCIe cards. Entry level PCIe 3.0 SSD speeds are two to three times faster than the older generation of SATA 3.0 SSDs mainly due to the number of channels contained by each to transfer data (roughly 10 for SATA and 25 for PCIe). However, depending on usage, real world benchmarks may not reflect this massive gain due to bottlenecks elsewhere in the PC. Here is a comparison between the two market leading NVMe and SATA SSDs: Samsung 970 Pro vs 860 Pro.

NVMe is the latest high performance and optimized protocol which supersedes AHCI and compliments PCIe technology. It offers an optimised command and completion path for use with NVMe based storage. It was developed by a consortium of manufacturers specifically for SSDs to overcome the speed bottleneck imposed by the older SATA connection. It is akin to a more efficient language between storage device and PC: one message needs to be sent for a 4GB transfer instead of two, NVMe can handle 65,000 queues of data each with 65,000 commands, instead of one queue that with the capacity for 32 commands, and it only has seven major commands (read, write, flush etc). As well as delivering better throughput NVMe offers reduced latency. NVMe will be the protocol of choice for the next generation of storage technologies such as 3D XPoint.

PCIe 4.0 refers to the fourth generation of PCIe interface which has double the bandwidth (64GB/s for a x16 slot) compared to PCIe 3.0 (32GB/s for a x16 slot), which is the usual improvement between PCIe generations. PCIe devices are forward and backward compatible, therefore a PCIe 3.0 SSD will still work on a PCIe 4.0 motherboard and conversely a PCIe 4.0 SSD would work on a PCIe 3.0 motherboard (following a software update), with performance limited by the weaker component. PCIe 4.0 devices such as AMD’s X570 motherboard chipset are coming to market in 2019.

PCIe 5.0 devices are expected to be available in 2020 and will have double of bandwidth of PCIe 4.0 (132GB/s for a x16 slot) as well as other technical enhancements. However, given that 16 lanes of PCIe 3.0 is currently sufficient for the majority of users, demand for PCIe 5.0 in the near future will mostly be driven by super users and data centres, and will co-exist alongside PCIe 4.0 devices.

reference:

1 comment: