A new SSD feels almost unreasonably fast. Windows boots in seconds. Applications open instantly. Large files transfer at speeds that make a hard drive look ancient.
Then, slowly, that feeling fades. The drive fills up. Boot times creep upward. File copies that once finished in a blink now show a progress bar. The drive you paid good money for feels like it has aged years in just a few months.
This is not your imagination. It is a direct consequence of how NAND flash memory works, and understanding it explains both why the slowdown happens and what your drive's controller is quietly doing to fight it.
The Core Problem With NAND Flash
Hard drives can overwrite data directly. Writing new information to a location means simply writing over what was already there. The magnetic surface accepts it immediately.
NAND flash cannot do this. Before a cell can accept new data, it must first be erased. And erasing happens at a much larger scale than writing.
NAND organises data in two units. Pages are the smallest unit you can write to, typically 4KB to 16KB each. Blocks are groups of pages, usually 256 to 512 pages per block, making each block anywhere from 1MB to 8MB. You can write a single page, but you can only erase an entire block at once.
This creates an immediate problem. To update a small file sitting in a block that also holds other valid data, the controller cannot simply erase and rewrite one page. It has to copy all the valid data out of that block, erase the entire block, write the valid data back, and then write the new data. One small write becomes multiple large operations internally.
Everything else flows from this single constraint.
What Happens as the Drive Fills Up
When an SSD is new and mostly empty, this problem barely surfaces. The controller has access to hundreds of clean, pre-erased blocks. New data lands directly into empty blocks. This is the fastest possible write operation, and it is why a fresh drive feels so responsive.
As the drive fills, clean blocks become scarce. The controller increasingly deals with blocks containing a mix of valid data and stale data from deleted or modified files. It cannot write into these blocks without cleaning them first.
This cleaning process is called garbage collection. The controller identifies blocks with the most stale data, copies the remaining valid pages to a clean location, erases the whole block, and returns it to the pool of available space.
The problem is timing. While garbage collection is running, incoming write requests from the operating system are also arriving. Both compete for the same internal resources: the same NAND, the same controller, the same internal bandwidth.
At 50 percent capacity, the controller has enough breathing room to run garbage collection in the background during quiet moments. It rarely interferes with active writes. At 85 percent, idle moments become rare and garbage collection increasingly runs alongside active writes. At 95 percent, the controller is in almost constant conflict. Write speeds can drop by 50 percent or more compared to a fresh drive.
The SLC Cache: Why It Masks the Problem at First
Most consumer SSDs use TLC NAND, storing three bits per cell, or QLC NAND, storing four. This density is what makes modern SSDs affordable. The trade-off is that writing to these cells is slower than writing to cells storing fewer bits.
To reach the headline speeds on the box, virtually every consumer SSD uses an SLC cache. A portion of the NAND operates in Single Level Cell mode, storing only one bit per cell. Writes to SLC cells are significantly faster. Incoming data lands in the SLC cache first and is reorganised into slower TLC storage during idle periods.
On a fresh drive, this cache is large and always available. The drive sustains impressive speeds consistently.
As the drive fills, two things happen to the cache. First, less NAND is available to act as SLC cache because more of the drive is occupied with user data in TLC mode. Second, the background process that moves data from SLC into TLC storage falls behind because there are fewer clean TLC blocks to write into.
When the cache is depleted and writes have to go directly to TLC NAND, speeds drop sharply. On some budget drives, sustained write speeds can fall from 3,000 MB/s to under 500 MB/s once the cache is exhausted. On a drive running at 90 percent capacity, that cache exhausts quickly and those degraded speeds become the everyday reality.
How the Controller Tries to Manage It
The SSD controller is the processor that manages everything between what the operating system sees and what actually happens in the NAND. It runs several algorithms simultaneously, all aimed at maintaining performance and extending drive life.
Garbage Collection
Garbage collection is the controller's primary tool for keeping clean blocks available. It runs in the background, consolidating valid pages, erasing mixed blocks, and returning them to the free pool.
Its effectiveness depends heavily on how much free space the controller has to work with. Think of it like a moving company packing boxes. With an empty room available to stage things, packing is efficient. With every room already full, things have to shuffle awkwardly back and forth to make any progress. A full drive puts the controller in exactly that position.
Controller firmware quality matters enormously here. Two drives using identical NAND chips can perform very differently on a nearly full drive if one has a more sophisticated garbage collection algorithm. This is a key reason premium drives from Samsung and Western Digital maintain performance better at high fill levels than budget alternatives.
Wear Levelling
TLC NAND handles around 1,000 write and erase cycles per cell before becoming unreliable. If the controller wrote repeatedly to the same blocks while leaving others untouched, those frequently used blocks would fail long before the rest of the drive.
Wear levelling distributes writes across all available blocks as evenly as possible. Even data that has not changed recently gets periodically moved so that idle blocks absorb some of the write load. This extends overall drive life but generates additional internal write traffic, contributing to write amplification on a full drive where every operation competes for limited resources.
Overprovisioning
Every consumer SSD reserves a portion of raw NAND capacity that is completely invisible to the operating system. This overprovisioned space, typically 7 to 12 percent on consumer drives and up to 28 percent on enterprise drives, exists purely for the controller's internal use.
It provides a permanent pool of clean blocks for garbage collection staging. It gives the controller room to complete wear levelling without competing for every available block. It ensures the drive never reaches a state of genuinely zero free space even when the user-visible capacity shows as full.
When a drive is nearly full, the total space available for these operations becomes extremely constrained. The overprovisioned space itself stays reserved, but the controller loses the surrounding breathing room it depends on to manage the NAND smoothly.
Why TRIM Matters
When you delete a file on a hard drive, the data sits on the disk until something new overwrites it. On an SSD without TRIM, the same thing happens. The controller does not know data is invalid until it tries to write to that location and has to erase it first.
TRIM is a command the operating system sends to the SSD immediately when data is deleted. The controller marks those pages as invalid and includes them in the next garbage collection cycle. When new data arrives later, those blocks are already clean rather than requiring an emergency erase mid-write.
TRIM reduces write amplification significantly on moderately full drives by keeping the controller informed about what is genuinely available. Without it, the controller treats deleted space identically to occupied space, which steadily degrades performance as the drive fills with data the OS considers gone but the controller still protects.
Modern versions of Windows, macOS, and Linux all enable TRIM automatically on compatible drives.
What the Slowdown Actually Looks Like
The degradation is not uniform across all operations.
Read performance drops far less than write performance on a full SSD. Loading applications, accessing files, and booting the operating system all feel similar whether the drive is at 50 percent or 90 percent capacity. Reads do not require erasing blocks. They simply fetch data from wherever it is stored.
Write performance is where the impact is severe. Copying a large file to a nearly full drive can be several times slower than the same copy on an empty drive. Installing software, downloading updates, and editing large files all involve substantial writes and feel noticeably degraded.
Sustained write workloads expose the problem most clearly. Copying a 50GB folder to a drive at 90 percent capacity might start fast as the SLC cache absorbs the initial burst, then drop sharply once the cache exhausts and the controller must manage garbage collection in real time alongside the incoming data. The resulting speed can be a fraction of the drive's rated capability.
What You Can Do About It
The advice is consistent across every SSD manufacturer and independent reviewer: keep at least 20 to 25 percent of the drive free at all times.
On a 1TB SSD, treat 750 to 800GB as your practical ceiling rather than filling it completely. That free space gives the controller room to run garbage collection during idle periods, maintain the SLC cache at a useful size, and absorb write bursts without immediately exhausting clean blocks.
If keeping that much space free is impractical for your workload, a larger drive solves the problem more effectively than managing files constantly. An SSD running at 60 percent capacity on a 2TB drive performs consistently better than the same NAND at 90 percent on a 1TB drive. The underlying hardware is often nearly identical. The difference is headroom.
Frequently Asked Questions
How much free space should I keep on my SSD?
Most manufacturers and independent testing recommend keeping at least 20 to 25 percent free for consistent performance. Below this threshold, garbage collection efficiency degrades noticeably and SLC cache sizes shrink. Below 10 percent free space, write performance can drop dramatically, especially on drives with smaller caches or simpler controllers.
Will freeing up space restore my SSD's original speed?
Yes, in most cases. The slowdown from high fill levels is not permanent damage. Once you delete enough files to restore meaningful free space, the controller runs garbage collection during idle periods and rebuilds the SLC cache. Write speeds typically return close to original levels within a short period of normal use after space is recovered.
Does TRIM run automatically on Windows?
Yes. Windows 10 and Windows 11 enable TRIM automatically for compatible SSDs. You can confirm it is active by opening Command Prompt as administrator and running fsutil behavior query DisableDeleteNotify. A result of 0 means TRIM is enabled. A result of 1 means it is disabled and can be re-enabled with fsutil behavior set DisableDeleteNotify 0.



Discussion (0)
Be the first to comment.