Search

SSD Overprovisioning and You

One of the most frequent questions we get asked is: should I overprovision my SSD? This pairs with other related questions such as, "what is overprovisioning?" and "how do I overprovision my SSD?" To answer the first right out of the gate, our general recommendation is not to worry about traditional overprovisioning. It is, however, best to take some advice from hard drive (HDD) management and leave some space free on your SSDs. A more involved explanation requires diving into some technical history and exploring how SSDs work.

SSD overprovisioning comes from an older era where drives lacked technologies such as TRIM (crucial.com) support, had less-robust 2D TLC flash, and where SSDs could be prohibitively expensive and were therefore only utilized for more serious workloads. Overprovisioning is certainly still a thing in enterprise, and in the data center, where you're managing a large amount of drives and need to look carefully at the Total Bytes Written (TBW) and Drive Writes Per Day (DWPD) to gauge endurance for often heavy, sustained workloads. Some consumer SSDs will have more space set aside from the factory, though, which can be beneficial if they have the potential for very slow performance when overfilled.

SSD OP equation

How to calculate the amount of overprovisioning (OP). Source: Samsung (data center SSD)

All SSDs will have some spare space, or "inherent" overprovisioning, which is typically the value difference between the binary (base-2) and decimal (base-10) systems of counting. A "1TB" SSD could be sold with 1024GB of space, which is in base-10 or decimal and translates to about 7% less than the actual 1 tebibyte (TiB) binary value of flash. This same drive could also be sold with only 1000GB of space, however, ignoring the pseudo-binary value of 1024, with an increase in the total amount of physical OP by adding factory or "marketed" OP. This can be taken even further to have a drive with, say, only 960GB - about 894GiB as listed in Windows, in the binary - for even more OP. This level of factory/total OP was common with older SSDs but is sometimes still used today for cheaper consumer drives, or more often in enterprise to increase write endurance.

 SSD Overprovisioning

Types of SSD overprovisioning. Source: Seagate

There are multiple ways (ioncomputer.com, originally from Intel) to increase overprovisioning beyond this. In some cases it is possible to lock away more space from the host or OS so the file system is only capable of seeing and using a smaller amount of space, while the SSD and its controller have more spare with which to work. The more common method is to simply leave some space unallocated during the partitioning process, and this is still a feature available in some SSD toolboxes. You can also restrict the range a specific application can address, as explained in Intel's white paper linked just above. However, modern SSDs will aggressively TRIM free space when idle and therefore leaving space free creates a type of "dynamic" OP which is the easiest way to keep your drive running well, although it will not be as fast as it was fresh out of the box.

But why would you overprovision? Overprovisioning improves SSD performance and endurance by freeing up space to prepare for writes and by reducing write amplification. This is because the NAND flash used in current SSDs has a relatively large granularity - that is, minimum size it can work with for reads, writes, and programs/erases - as a trade-off for more capacity at a lower price than other, more expensive memories. Flash also has to be erased before it can be re-programmed, that is it is not written in-place, so some effort must be taken to mark invalid data and consolidate valid data through garbage collection and maintenance. SSDs will do this automatically with the help of TRIM when the drive is idle, but having guaranteed space ahead of time can improve random write performance and reduce the amount of unnecessary writes. This also helps with wear-leveling.

Overprovisioning vs write amplification

How the amount of OP affects the level (factor) of write amplification. Source: FuturePath

Overprovisioning sounds like a good way to maintain your drive, given that flash has a limited lifespan based on writes. However, OP has diminishing returns and the value of it is dependent on the workload. Your everyday OS and gaming drive isn't going to be doing a ton of random writes, so you will have a relatively low level of write amplification. Consumer drives also rely on SLC caching (or pSLC) which improves performance and can defer writes for operations that occur in bursts. On top of that, the 3D flash used in most drives, even 4-bit QLC, has a lot of write endurance in comparison to how many writes you will actually be doing. To put it simply: even a small amount of total OP is likely to be sufficient.

OP efficiency

Overprovisioning (OP) efficiency based on workload. Source: Phison

Of course, that doesn't mean you should fill your drive to 99% or hammer it with writes expecting it to remain fast. The best policy is to maintain your drive, which is already done partially and automatically in Windows through scheduled optimization/TRIM. Keep some space free and give your drive enough idle time, particularly if it's DRAM-less and/or uses QLC. If you need a drive for something more, like intense content creation, buy accordingly. Regardless, if you feel more comfortable leaving some space unallocated so you don't have to worry about overfilling your drive, that works, too! Our recommendation is to leave around 10% of your available space free.

Here at Sabrent, we have a wide range of SSDs available, and we only adjust the amount of factory OP as makes sense for the drive's intended audience and use. Our SLC caches and drive performance states are also tested and tuned for the best experience, whenever applicable. You don't have to do anything special to get the most out of our drives and they will still perform well when full. If you want to play it safe, use our recommendations above, or buy more capacity than you think you need. And if you want to learn more about overprovisioning, really dig deep into the technical details, please refer to the links throughout this blog for more information.