What Components Bottleneck the Performance of an SSD

SSD Bottleneck

There is no doubt that solid discs are a superior performance alternative to traditional mechanical discs, yet they are not without elements that limit their performance and prevent them from reaching maximum speed and optimal operation. We explain which are the components that can cause a bottleneck and make not all SSDs perform in the same way.

Solid state devices come in many types, covering all kinds of storage capacities, interfaces, form factors, etc., but not all of them perform in the same way and although they are all better than having a conventional hard drive, some do. they are more than others.

SSD bottleneck

SSD bottleneck stack

We have decided to list a number of bottlenecks that affect the performance of different SSDs so that you have a better idea of ​​what the limitations of solid drives are and better understand why there are such disparate specifications.

The communication of the SSD with the system

Depending on the interface in which we connect our SSDs to the PC, a higher or lower performance is obtained, simply due to the fact that the transfer speed between the solid disk and the system will vary depending on the protocol of said interface.

The theoretical bandwidth of a SATA II interface remains at 300 MB / s while the more modern SATA III establishes it at 600 MB / s, much higher than what a mechanical hard disk reaches under the same conditions due to the fact that its nature as a spinning disk format does not allow it to reach 200 MB / s.

Today all motherboards support SATA III, but its speed is not the same as that of a PCI Express interface, which in its 3.0 version reaches up to 1 GB / s per line, so the SSDs that use PCIe Gen3 x4 can theoretically reach 4 GB / s. This bandwidth is doubled in the case of version 4.0 of the standard with 2 GB / s per PCIe line, so a PCIe Gen4 x4 SSD can reach 8 GB / s if other elements do not limit its speed.

The DRAM built into the SSD

DRAM-less bottleneck SSD

Most SSDs have built-in DRAM. It is conventional RAM (DDR4, LPDDR4,…) which is used as an intermediate data cache; Thanks to its higher bandwidth this allows faster access to data by the client processor to / from the data on the SSD. Depending on the type of DRAM memory used, performance will vary.

But some SSDs are sold as DRAM-less and lack RAM, so they are cheaper. They have the particularity of being faster than a conventional hard drive but the lack of DRAM makes them much slower than an SSD with integrated DRAM memory.

SSD controller can bottleneck

Every SSD has a chip in charge of receiving requests from the processor, and it is in charge of managing the search for data in the memory of the SSD. To understand how this chip works, imagine that you go to a Post Office and ask the manager to find your mail in a specific box and bring it to you. Or, failing that, you ask him to save mail in a specific locker.

In this simile, the post office would be the controller of the SSD, the box office number is the memory address on the SSD and the mail is the data that we store in that memory address. The performance of an SSD will also depend on the performance of the controller integrated in the solid disk.

The channels supported by the SSD

SSD broken bottlenecks

Today all the PCs we have at home are multi-core, and this means that several virtual CPUs working in parallel need to access the SSD simultaneously. In addition, with the adoption of DirectStorage, the GPUs will also be clients of the SSD disks, thus increasing the pressure on them and generating a potential bottleneck.

When we say that an SSD has N channels we are saying that N elements can have simultaneous access to its data, and in general the number of channels is related to the number of Flash memory chips included in the SSD. It must also be taken into account that there are solid disks that have more than one chip assigned per channel.

How many items have access to the SSD simultaneously? Returning to the previous example of the Postmaster, if we find that there is only one manager in the office, then a queue of people will form waiting to be served. Think of the channels as several managers each working on a different request.

The problem comes when the Flash memory chips used do not support a large number of ports and therefore cannot fulfill several simultaneous requests at the same time.

The way the SSD controller organizes data

The way data is stored on the SSD also influences its performance.

Let’s imagine that we have to store the word “Cat” and we tell the controller / manager to store it for us. Each letter of the word occupies a locker.

  • The first method is to store “Cat” in four lockers that are available within the first box office.
  • The second method is to separate the word into 4 parts and store each part in a different locker but each in a different locker.

In the first example, the manager / controller has to make 4 accesses to memory / locker to find four free lockers that allow him to store the four letters. When we need to retrieve the word, the controller himself will have to look for the four lockers where the data is and bring them one by one.

In the second example, we have four managers working at the same time, each of them has access to a locker / memory chip and all are given the same locker number; since they work simultaneously, access to the data is obtained with a single search and not with four.

These are the five bottlenecks that make SSD performance less than optimal.