Over-Provisioning
What is Over-Provisioning?
Over-provisioning comes from known free space on the drive, gaining endurance and performance at the expense of reporting unused portions, and/or at the expense of current or future capacity. Some SSDs provide a utility that permit the end user to select additional over-provisioning. Furthermore, if any SSD is set up with an overall partitioning layout smaller than 100% of the available space, that unpartitioned space will be automatically used by the SSD as over-provisioning as well. Over-provisioning often takes away from user capacity, either temporarily or permanently, but it gives back reduced write amplification, increased endurance, and increased performance.
Garbage Collection and TRIM requires free blocks to be available. This is not a problem for a drive that is not yet filled with lots of data. However, a full SSD may run out of space and not have any free blocks available to copy to. Over provisioning guarantees a certain amount of free blocks will always be present. The SSD controller uses all of the area of the SSD, but the host (the computer OS) can only see the available space, not the space put aside for OP. OP space is not physical space (do not think of it as a bunch of NAND chips surrounded by caution tape), but constantly moving as part of wear leveling, it’s just guaranteeing free blocks will be available when needed for performance management.