In general, we want FAST storage. Getting it is complicated. A number of things can slow down a fast storage device. There is no sense in playing for speed we can’t use.
One of the bottlenecks encountered in computers is data transfer rates from and to hard drives. The SATA interface that handles data moving to and from ‘permanent’ storage has advanced from SATA-1.0 @ 1.5Gb/s in 2003 to SATA-3.0 @ 6.0Gb/s in 2009. There is a SATA-3.3 @ 16Gbps as of 2013. I haven’t seen 3.3 in use in consumer grade hardware.
The current generation of motherboards (2016) are using SATA-3.0 or 3.1 @ 6Gbps. That is the theoretical speed. Actual results are about 515MB/s.
Whether we connect a mechanical spinning drive or a solid state drive (SSD), the SATA interface has a maximum capacity we cannot exceed. I don’t know of any mechanical hard drives that can move data that fast. We have seen SSD’s at reasonable prices that can fill that pipeline for a couple of years now.
The major part of the data bottleneck is in the protocol used to talk to the storage devices. AHCI (Advanced Host Controller Interface) is designed for talking to spinning mechanical drives. They use one command cue that can hold 32 commands. The mechanical drives require wait times to allow mechanical parts of the drive to physically move into position. The read head (like an old phonograph needle) has to move to the right place and the spinning disk has to rotate to just the right place before a read or write can start. That gives the protocol time to handle its stuff, get commands and hand out data before having to cache new incoming data.
The new SSD devices remove most of those mechanical waits. So, a faster protocol was needed. We have a faster protocol in NVMHCI (Non-Volatile Memory Host Controller Interface – useally written as NVMe). This interface has 65,000 cues that each hold 65,000 commands… 4.2 million commands. Plus it allows signaling, which is like calling support and instead of waiting for technician, you cue up a call back. Then you are off to do something else, like find chocolate, until they call you. Free…
An Intel NVMe family of drives use the PCIe 3.0 x4 slot which delivers up to 4GB/s of throughput compared to SATA 3 which in stated in the same GB/s units supports up to 0.6GB/s data transfer rates. Samsung shows sequential read speeds for its NVMe SSD’s up to 2,200MB/s (2.2Gb/s) for the 256GB 950 Pro, and 2,500MB/s (2.5Gb/s)for the 512GB model.
You may notice the larger capacity SSD’s are faster than their smaller sisters. This is an aspect of SSD. The more memory chips in the SSD the more pathways there are to send data down in parallel. Thus they are faster.
By hooking into the PCIe bus the chips using NVMe protocol can circumvent the now relatively slow SATA III protocol controllers.
The take away here is to use NVMe SSD and motherboards for best SSD performance.
More pages, links below…