SSD performance is dependent on many hardware and software aspects of both the drive and the host system. For any SSD to deliver its full performance, all its components must function correctly. NAND Flash memory is one of the main components that degrade over time. Its performance also decreases with age.
There are two primary reasons for the degradation of SSD performance over time.
The first is that your SSD has become full of data. Generally, after 70 to 80% of the storage space is consumed, SSDs start to become slow. We will come to the reasons later on.
The second reason is that the flash memory cells in your SSD have become worn out.
However, there could be many other reasons, such as firmware issues, malware, etc. Fortunately, most of them can be fixed using these methods. I suggest reading this article before proceeding, so you have a better understanding of how SSDs work.
Performance Degradation due to Low Storage Space
SSDs store data inside the NAND flash cells, and there could be billions of them inside a 1TB drive. Before the data is written to these cells, the controller must find the available space and erase the cells for fresh incoming data. When there is a lot of free space, the controller can just pick any of the available blocks and erase them pretty quickly.
However, when the remaining storage space on your drive is low, this process of finding available space and preparing it takes a little longer.
You can imagine a conference hall to understand this. If the hall is empty, it will be very easy to arrange empty seats for the incoming guests. As the chairs in the hall start to fill up, finding empty seats will become increasingly complex. The same applies to the controller that determines the storage location and receives the incoming bits of data from the host.
Another important thing is that SSDs do not store bits in blocks next to each other in a serial manner. The wear-leveling algorithms ensure that the damage done to cells while storing data is spread evenly across the NAND Flash chips. With wear leveling, the controller continually selects the less-utilized blocks, pages, and cells to ensure that no specific ones receive all the damage while others remain idle. As the space starts to fill up, the wear leveling algorithms become slower and slower.
The solution to this is to use an additional storage drive to divide the storage space and keep your primary SSD at nearly 50% capacity.
Performance degradation due to aging
Yes, SSDs age. The cells that undergo charging and discharging start to degrade over time. There are limited program/erase cycles that the memory manufacturers decide for any SSD. After any cell surpasses the number of these P/E cycles, it loses its ability to hold a charge.

The floating gate of a cell (where the charge is kept) is protected by an insulating material (typically silicon dioxide). The process of inserting the charge inside the floating gate is called Fowler-Nordheim tunneling, which damages this insulation material every time the charge bypasses it and reaches inside the floating gate. This insulating layer is generally 5 to 10 nm wide. As this insulation layer degrades over time, the cell’s ability to hold a charge decreases.
Now, when the controller detects that a cell is losing its charge, it rearranges the whole page or blocks it to a fresh location. This increases the workload even further.
Aging and the way SSDs store the data
When the data write request comes from the host, the controller writes this data on a page which is generally of 4KB size. NAND flash memory cells can be written on the page level while erased on a block level. Before the controller writes a page, it locates a block and checks if there is any valid data on it. If there is valid data, it moves it to a new block and erases the prepared one. This process is called garbage collection. All the cells in the chosen block are erased and set to logic 1.
Now, the controller writes the data by changing the 1s to 0s according to the incoming data. The 1s are kept 1 when they do not need to change.
Therefore, those additional steps for arranging the blocks and pages to store the incoming data are completed more quickly if the cells are in good condition. If the controller finds any cell that is losing its charge, it has to rewrite it first at a new location.

SSDs without TRIM can perform worse after some years of usage because the operating system cannot identify which blocks of data are no longer usable. This reduced the efficiency of garbage collection. The waste data continues to accumulate until it isn’t erased during a new write operation.
Increased Read Latency over time
Not only the write performance, but also the read performance, is significantly impacted as the SSDs age. For reading the data, the controller must get appropriate voltage levels to interpret the outputs. If the cells have started to lose charge, the controller may need to perform more read operations or apply a higher voltage for accurate interpretation.
Conclusion
The primary reason solid-state drives’ performance degrades over time is wear to the NAND Flash cells. This enables running the SSDs to manage both existing and incoming data in an organized manner. When this aging is combined with an SSD that is more than 80% full, the symptoms can worsen. So, the solution is first to identify the issue and then either purchase a new drive or free up some space on the existing one.