Will a hard drive slow down if there is not enough free space?

biggles

2[H]4U
Joined
Jul 25, 2005
Messages
2,215
This is for an NVMe SSD 128 GB in size running Windows 10 Home. Currently it is 72% full. I assume Windows OS is smart enough to tell the user when lack of hard drive space starts reducing a computer's performance. Correct?

When I did internet searches on the topic answers ranged from "keep 25% free" to "the OS will tell you" to "it depends on the hard drive model." Off the top of my head, I do not know the exact model number of the NVMe SSD. It is a Toshiba purchased in 2016 with the MSI GT72s6QD 17" laptop. Just in case that info is relevant.
 
There is some benchmark of full vs empty drive:
https://www.anandtech.com/show/14962/the-toshiba-kioxia-bg4-1tb-ssd-review/4

I would like if we would see more benchmark to a new, miminum space used benchmark, 50% full, a lot of read/write made on it to fill it a 75% and a 90% full benchmark.

Maybe it could create some separation between expensive affair and cheaper one for days to days (like loading a program , a games, booting) where it seem to have really little in optimal condition.

In the test above some SSD seem to still perform well fully loaded (say the samsung evo type of WD black), while other like hte more affordable Intel 660p change completely is performance tier
 
This is why I still extra over-provision my drives slightly to give the controller more room to breath. 2GB - 120GB 3GB - 240GB 5GB - 480GB 10GB - 1TB and so on. It's not much but just a thing I do.
 
I am pretty sure slow downs only happen on a mechanical drive, with the most performance lost when writing a large file to a fragmented nearly full drive.
 
I am pretty sure slow downs only happen on a mechanical drive, with the most performance lost when writing a large file to a fragmented nearly full drive.
Depends on a lot more than that; that’s the easy obvious one, but even modern filesystems can have performance issues on full drives with SSDs. ZFS, for instance, doesn’t like getting full, and latency will increase significantly as it does so.
 
This is why I still extra over-provision my drives slightly to give the controller more room to breath. 2GB - 120GB 3GB - 240GB 5GB - 480GB 10GB - 1TB and so on. It's not much but just a thing I do.

What exactly is the advantage of over-provisioning your drive compared to simply not filling it up? If the computer was for a novice user who you suspect actually would fill the drive some day, then I guess it would make sense, but otherwise all I can think of are disadvantages.
 
On a solid state drive, yes. Especially the lower price it is. Most solid state drives get their fast speed by consolidating empty NAND cells and writing to them in more simple way (like 1 bit versus 4 bits). It's faster to write less bits, but it uses more physical NAND cells. Then, behind the scenes the SSD drive will write the data in the more proper way. This is how cheaper QLC drives are able to fast write speeds for a limited amount of data transfer. But the drive is very conservative about sacrificing space like this, so as the drive fills up it allocates less and less for caching. This is often called turbo cache or turbo write or SLC cache or something along those lines.

In this sample chart you see that a particular SSD will have 6GB of turbo cache, but the less full the drive is, it could potentially have up to 42GB of SLC cache. But once that cache is used up, or not available, the write speed plummets.

926e-turbowrite.png
 
Even if a drive didn't slow down when filling up, and most TLC and QLC based SSDs *do* slow down when approaching capacity limits - if a Windows volume starts to get full then the system will slow down.

If you only have one drive in your system, drive C, and it's approaching being full, then a few things will happen.

First, you won't have available disk space for virtual memory to be properly allocated, so you might potentially run into memory problems.
Next, if your C drive is mechanical, and you go to write a relatively large file, if there isn't a single spot on the drive big enough to hold that file it'll get fragmented and spread across the drive, which harms both the immediate write speed as well as the read speed for that file forevermore. On a SSD this is significantly less of a factor, but not reduced to zero impact either.
Additionally, by default if your drive starts to be *really* full then Windows will start background compressing data on the drive, to save space. If you've ever seen filenames turn blue in Explorer, congratulations, your stuff is compressed. Obviously the act of compressing the data takes disk time and performance, and the act of reading/writing compressed data is more taxing on the system overall. I don't know for sure if this still happens in Windows 10 or not though; it was definitely a thing in Windows 7.
Lastly, if your drive is a SSD, then pseudo-SLC cache systems will typically either be largely reduced, or eliminated entirely, reducing write speeds. This impact can vary from "no big deal" to "90%+ write speed reduction" depending on the particular drive or scenario.

When I benchmark drives, I don't benchmark at 90% capacity because, if my drive was 90% full I wouldn't be writing lots to it, I would be replacing it. And I don't benchmark at 0% because that would present an unrealistic scenario for common usage on most drives. Instead, I fill them up to 85% or so, and then delete a bit of data so they're at ~65%, and do not initiate a TRIM/optimize. This puts the drive into what I would consider a pretty common 'dirty' state, relatively analogous with the 'mid-life' scenario of a SSD, and hopefully represent what longterm 'normal' drive performance might be like for average consumers.
 
What exactly is the advantage of over-provisioning your drive compared to simply not filling it up? If the computer was for a novice user who you suspect actually would fill the drive some day, then I guess it would make sense, but otherwise all I can think of are disadvantages.


I've never used more than 30% of a drive but most drives I roll out to users that havent a clue and gladly fill a drive up with junk. So I think a bit of extra spare empty space may help stop things like TRIM grinding to a halt making things worse.
 
Back
Top