SSD sizes and over provisioning

Lekro44

Reputable
Oct 28, 2015
78
2
4,660
5
Hello,

I have a 240GB SSD and was wondering why is it 240 not 256.

I was searching online about it, but found no definitive answer, except a post that a 240GB SSD is actually a 256GB one, just the manufacturer allocates 16GB to over provisioning and it is hidden from the consumer.

Is this somewhat true? Does this mean I can pretty much fill up my SSD without shortening its life?
Does it even shorten its life? I could fill it up with games, not sure how much writing those games do while playing.
 
*Some* "240GB" SSDs are 256GB with 16GB over-provisioned. Some are just 240GB.

Over-provisioning is done to (1) maintain write speeds, and (2) provide a buffer against cells dying form overuse.

(1) Flash is not like magnetic media. You cannot overwrite a 0 with a 1, or vice versa. You must first erase the cell. 0 -> erased -> 1. If you've worked with the old EEPROMs, same thing.

The erased -> 0/1 step is blazing fast. The 0/1 -> erased step is really slow. Nearly as slow as or slower than a HDD. So SSDs erase cells containing deleted files when they're not in use. That way there are always erased cells available for blazing-fast writes. Over-provisioning helps the SSD maintain a readily available supply of pre-erased cells. If there were no over-provisioning and you filled the drive, then any new data would need to be written immediately onto space you'd just deleted. And the SSD would have to go through the full 0/1 -> erased -> 0/1 steps, resulting in very slow write speed.

(2) Flash memory cells can only withstand a certain number of writes before they stop working. Typically about 500-1000 times. For modern capacity SSDs (256+ GB) and typical home user workloads, you're never going to reach that point so all this is moot. You can stop reading now. But if you're one of those rare users who write a ton of data, eventually your SSD's memory cells will start to die. Over-provisioning allows the SSD to stop using these dead cells, without reducing the drive's storage capacity. Basically allowing you to continue using the drive almost like normal until the full 16GB (or whatever) of over-provisioned capacity is full of dead cells.

So to answer your question, yes you can fill up any SSD without shortening its life. But it will drastically slow down write speeds. If this is going to be a read-only drive (you put a bunch of games onto it), then the write speed won't matter. But for most use cases, you want to keep about 15%-20% of the space empty to prevent write slowdowns. Maybe as low as 5%-10% on higher-capacity SSDs, or if you know the SSD has been over-provisioned.

Edit: 223GB = 240 billion bytes / 1024^3. So that's the correct capacity for a "240GB" drive. Curse Maxtor for foisting this confusing "billion bytes in a GB" standard upon us for storage media in the late 1990s...
 

USAFRet

Titan
Moderator
Mar 16, 2013
123,348
3,815
159,940
19,521


No, it is not a "256GB" drive. It is 240GB.
Don't fill it up over 200GB or so.
 
*Some* "240GB" SSDs are 256GB with 16GB over-provisioned. Some are just 240GB.

Over-provisioning is done to (1) maintain write speeds, and (2) provide a buffer against cells dying form overuse.

(1) Flash is not like magnetic media. You cannot overwrite a 0 with a 1, or vice versa. You must first erase the cell. 0 -> erased -> 1. If you've worked with the old EEPROMs, same thing.

The erased -> 0/1 step is blazing fast. The 0/1 -> erased step is really slow. Nearly as slow as or slower than a HDD. So SSDs erase cells containing deleted files when they're not in use. That way there are always erased cells available for blazing-fast writes. Over-provisioning helps the SSD maintain a readily available supply of pre-erased cells. If there were no over-provisioning and you filled the drive, then any new data would need to be written immediately onto space you'd just deleted. And the SSD would have to go through the full 0/1 -> erased -> 0/1 steps, resulting in very slow write speed.

(2) Flash memory cells can only withstand a certain number of writes before they stop working. Typically about 500-1000 times. For modern capacity SSDs (256+ GB) and typical home user workloads, you're never going to reach that point so all this is moot. You can stop reading now. But if you're one of those rare users who write a ton of data, eventually your SSD's memory cells will start to die. Over-provisioning allows the SSD to stop using these dead cells, without reducing the drive's storage capacity. Basically allowing you to continue using the drive almost like normal until the full 16GB (or whatever) of over-provisioned capacity is full of dead cells.

So to answer your question, yes you can fill up any SSD without shortening its life. But it will drastically slow down write speeds. If this is going to be a read-only drive (you put a bunch of games onto it), then the write speed won't matter. But for most use cases, you want to keep about 15%-20% of the space empty to prevent write slowdowns. Maybe as low as 5%-10% on higher-capacity SSDs, or if you know the SSD has been over-provisioned.

Edit: 223GB = 240 billion bytes / 1024^3. So that's the correct capacity for a "240GB" drive. Curse Maxtor for foisting this confusing "billion bytes in a GB" standard upon us for storage media in the late 1990s...
 

ASK THE COMMUNITY

TRENDING THREADS