Jump to content

How much Free Space I must have on my SSD ?

Age-old question...I've done my homework, Googling it myself. But ended up with MORE QUESITONS ! 
Because I was getting mixed messages....some claim that modern SSD / HDD, you don't need to leave any free space for it to function at it's fullest. Because the HDD / SSD itself will prevent you from writing over the threshold of causing slow down. 

On the other hand there are some which still claim the traditional rule, least 20% of free space. But some believe 10% is suffice as well....
So what is it guys ?? Anyone can give me a solid answer ?? 

To be specific I'm asking for both my Patriot BURST 480GB and Crucial MX 500. 
Let's say if I really do need to leave like 10 - 20% free space for my SSD to work at it's optimal speed...which figure do I have to calculate from ?? 
1TB and 480GB ?? Or the figure shown on my PC which is actually 931 GB for the MX 500 and 447 GB for the BURST

Link to comment
Share on other sites

Link to post
Share on other sites

6 minutes ago, gh0st47 said:

Because I was getting mixed messages....some claim that modern SSD / HDD, you don't need to leave any free space for it to function at it's fullest. Because the HDD / SSD itself will prevent you from writing over the threshold of causing slow down.

Depends on the HDD/SSD.

Especially SSD's, some are using leftover space as caching, meaning if you fill the drive fully it doesn't have this space to cache files anymore

7 minutes ago, gh0st47 said:

On the other hand there are some which still claim the traditional rule, least 20% of free space. But some believe 10% is suffice as well....
So what is it guys ?? Anyone can give me a solid answer ??

No, can't give you a solid answer. It depends on the structure the SSD uses (which is not clearly shown to the end user), depends on what you deem as a good speed on your drive, etc.

20% if my rule of thumb, unless there is a specific reason to not follow that percentage,

8 minutes ago, gh0st47 said:

Let's say if I really do need to leave like 10 - 20% free space for my SSD to work at it's optimal speed...which figure do I have to calculate from ?? 
1TB and 480GB ?? Or the figure shown on my PC which is actually 931 GB for the MX 500 and 447 GB for the BURST

A drive is measured in GB. Where 1GB = 1000MB.

Windows however uses GiB. Gibibyte (and the equivalent MiB, TiB, etc.) where 1 = 1024. That is why a 1TB SSD shows up as 931GB in your OS; because Windows is using a different unit of measurement.

image.png.faa3badb9cf544667da6922bbb1c34d8.png

 

Reason I mention that, is because it doesn't matter what you start calculating from, as long as you keep in mind these units of measurement.

What I mean to say: if you're looking at your Windows storage bar, you need to keep in mind the 931 GiB number, as the 1000GB number is not relevant in that case.

"We're all in this together, might as well be friends" Tom, Toonami.

 

mini eLiXiVy: my open source 65% mechanical PCB, a build log, PCB anatomy and discussing open source licenses: https://linustechtips.com/topic/1366493-elixivy-a-65-mechanical-keyboard-build-log-pcb-anatomy-and-how-i-open-sourced-this-project/

 

mini_cardboard: a 4% keyboard build log and how keyboards workhttps://linustechtips.com/topic/1328547-mini_cardboard-a-4-keyboard-build-log-and-how-keyboards-work/

Link to comment
Share on other sites

Link to post
Share on other sites

12 minutes ago, gh0st47 said:

Because the HDD / SSD itself will prevent you from writing over the threshold of causing slow down. 

That's hogwash. From a purely basic standpoint, there is no penalty for using all your drive space. However, there's other factors in play here.

 

With HDDs there's now different types, namely SMR and CMR. CMR is the more traditional storage mechanism, and there's no difference between writing your first byte and your last byte to the drive. However, with SMR drives, the writes are layered, with it obviously being slower to write to the lower layers. The more you fill up the drive, the slower the writes get. However, this is a progressive thing, so there's no like automatic penalty once you get to 80% filled or something.

 

With SSDs, you similarly have different types: most commonly SLC, TLC and QLC. With SLC drives, each cell holds one bit, and there's no functional difference between write speeds across the entire drive. TLC and QLC drives, on the other hand, encode multiple bits per cell, there and four, respectively. Each successive bit is harder to write to, so there is a performance penalty the more you fill the drive. Again, though, there's no like hard point of like 80-90% where you're fine up to that point and the performance falls through the floor. It's dependent on how the bits are being written. The multiple bit per cell drives will generally write the first bit to all cells first, and then the second after all the first are filled, etc. That means yes, your drive will get slower the more it's filled, but it's still progressive.

 

Both SMR HDDs and MLC SSDs generally employ a cache, though, to smooth out the write speeds. From the user's perspective, the write is done, but behind the scenes it continues to write from the cache to the actual drive. This means you can experience data loss from power failures, but you generally won't notice much of a speed difference even with the drive nearly completely filled, as long as you're not saturating the cache.

CPU: AMD Ryzen 9 5900X · Cooler: Artic Liquid Freezer II 280 · Motherboard: MSI MEG X570 Unify · RAM: G.skill Ripjaws V 2x16GB 3600MHz CL16 (2Rx8) · Graphics Card: ASUS GeForce RTX 3060 Ti TUF Gaming · Boot Drive: 500GB WD Black SN750 M.2 NVMe SSD · Game Drive: 2TB Crucial MX500 SATA SSD · PSU: Corsair White RM850x 850W 80+ Gold · Case: Corsair 4000D Airflow · Monitor: MSI Optix MAG342CQR 34” UWQHD 3440x1440 144Hz · Keyboard: Corsair K100 RGB Optical-Mechanical Gaming Keyboard (OPX Switch) · Mouse: Corsair Ironclaw RGB Wireless Gaming Mouse

Link to comment
Share on other sites

Link to post
Share on other sites

Computers like to use powers of two, because they deal with 1s and 0s 

So, to make math faster and simpler decades ago, programmers made an optimization and used 1024 instead of 1000, because 1024 is 210 so diving by 1024 was way way faster than dividing by 1000 to show kilobytes, megabytes, to calculate free disk space and so on. 

 

So:

1 KiB = 1024 bytes

1 MiB = 1024 KiB = 1024 x 1024 bytes = 220 = 1,048,576 Bytes

1 GiB = 1024 MiB = 1024 x 1024 KiB = 1024 x 1024 x 1024 = 230 = 1,073,741,824 Bytes 

 

.. and so on..

 

Hard drive manufacturers use 1000 to multiply units, they use KB, MB, GB ..

 

So 1 GB = 1000 x 1000 x 1000 = 1,000,000,000 bytes. 

 

Now, if you take this number and try to format it using multiples of 1024, you get  1,000,000,000 / 1024 = 976,562.5  KiB  which is 976,562.5 / 1024 = 953.67 MiB 

 

You can repeat with 1000 GB , and you'll end up to around 931 GiB, the number seen in properties. 

 

As for how much free disks space... 

 

Try to keep around 5-10% of the whole amount as free space.  It will extend the life of the SSD. Too little space will cause some of the memory chips inside the SSD to wear out faster. 

 

Basically, on a SSD data is not written like on mechanical drives. A mechanical drive can go on any track and position the heads above a chunk of data and erase it. A SSD has some restrictions, it can not do that. 

 

A SSD is arranged in "pages" which contain chunks of data, usually a page is 512 KB and has lots of chunks of 4 KB. 

The SSD can write a chunk of data, but it can't overwrite a chunk of data, it has to "erase" the whole page to make those chunks of data inside the page writable again. The problem is that by design, the Flash memory chips hate this erase thing, they can only do it a limited number of times... for SLC it was around 10k erases, for MLC it was around 4000-6000, for TLC it got down to 2000-4000 erases, and QLC is under 1000. 

The SSD controller tries as hard as possible to delay erasing pages by searching for empty chunks of data in other pages to write whatever is changed into. 

 

So, the SSD simply writes the chunk of data in another page with available chunks of data, makes a note about the new location and makes a note in its memory, marking that old chunk as "this is no longer needed, it doesn't have to copied over when page needs to be erased" 

Every once in a while, when SSD is idle or it has absolutely no choice, the SSD picks a page with a lot of chunks of data marked as "has trash data, can be erased", copies the chunks with good data to other pages, then erases the whole 512 KB page. 

So for example, you could have a 512 KB page with 400 KB of chunks with good data, and 112 KB of chunks that have old data, trash, chunks marked for erase.  The controller has to find chunks of data in other pages to copy those 400 KB and then it can erase the whole 512 KB and make it available again for writing... the SSD gains 512 KB in which it can write data, but that page's erase counter went up by 1, bringing it closer to its death (when too many erases, it becomes read only)

 

So if the drive is too full, the SSD controller will have a very hard time finding empty chunks of data in which to copy over chunks, to erase pages. This means the same pages will be picked to write data into, which means those pages will be erased more often, which means those pages will die faster.

 

Of course, the SSD when idle will also shuffle data around to reduce the erase cycles of some pages. For example, let's say you copied a movie on the SSD a month ago. The data of that movie won't stay in the same chunks and pages for that whole month, in the background the SSD controller may move portions of the movie around in various pages and chunks, so that files which are updated often will be placed on pages with fewer erase cycles. 

 

So around 10% is enough... the SSD already hides a bit of space from you... for example that 480 GB SSD will actually have around 512 GB of actual flash memory, but a portion is hidden and gradually used to replace pages that are too worn out (too many erases), extending the life of the SSD. 

Other portions are used in SLC mode for higher speed and more endurance, and the SSD can also use some of the free amount in SLC mode (for example it can take 10 GB of free space, and use it as ~ 4-6 GB of fast SLC memory, like a write buffer) 

Link to comment
Share on other sites

Link to post
Share on other sites

Really appreciate the very detailed and informative replies. Will really need to take some time to process all that in lol...
I'm not someone who study anything IT related 😅

About the HDD, how do you find out whether if your HDD is SMR or CMR.

Actually I got an idea...if say if I do went over the threshold, exceeding the needed free space for either HDD / SSD....and causing it to slow down. 
Is it possible that I use Crystal Mark to test and it will show the result it being a slower speed it was meant to be ?
So that way I can find out that I've used more space than I should. I mean I guess it be obvious if I do see longer loading times in games etc. 
( Forgot to mention, the SSD is SOLELY for games only, there won't be any System / OS files in them ) 
But I would prefer a more solid method of testing and knowing that I need to free up some space on my storage for it to perform at it's fullest. 

image.gif.39d2f77a5a7758ef5c5c90179876497a.gif

Link to comment
Share on other sites

Link to post
Share on other sites

If you put games on the SSD, then it won't matter. Games don't write to storage, except maybe updating a configuration file or some saved game (if it's not stored in the cloud).

 

Reading game files when loading game levels is not affected by the SSD being full. Mostly writing files, speed of writing to a SSD is affected by a SSD getting full.

 

No, benchmarks won't tell you anything useful, you're just gonna pointlessly write data to the SSD.

 

A SMR drive will have slow write speeds, and slow write speeds when overwriting big files. This is because with  SMR, the drive has to read the data in the tracks before the track where you want to write data, and write them back along with the modified data - so every rewrite is actually a read + write, so slower.

 

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×