To visualize the tactic of overprovisioning, imagine a five-by-five frame puzzle. When 24 pieces of puzzle fill the frame, it’s challenging to change individual pieces’ position because there is only 1/25 of space left available. However, if there are only 12 pieces of jigsaw puzzle put in the frame, it is easier and faster to change those pieces’ positions. In other words, the more free space there is, the easier it is to move pieces to a specific position in a shorter period of time.
The same can be said for SSDs. When there are more preserved blocks in the SSD, it should be faster to write data into a specific position. Reducing the number of moving actions when organizing data makes it more efficient to execute garbage collection. This strategy improves both performance and endurance. We call this process of preserving more free space overprovisioning.
Overprovisioning techniques
There are three ways to apply overprovisioning to an SSD.
1. Binary to decimal overprovisioning. While NAND components are built with binary capacity, SSDs are built with decimal capacity, which means that there is an extra 7% of unusable NAND capacity in SSDs, as shown in the figure above.
2. Manufacturer design overprovisioning. Usually, the percentage of over-provision is set during low level formatting in the SSD factory, and the typical percentage of over-provision is zero percent, seven percent and 28 percent, respectively. For a 128GB SSD, it ships as 128GB with zero percent over-provision, 120GB with seven percent over-provision and 100GB with 28 percent over-provision.
This is an example of the same SSD with different “user space.” The minimum amount of over-provisioning for an SSD is set at the factory, but users can allocate more space for better performance. Either way, a moderate understanding of over-provisioning is necessary in order to make better SSD purchasing decisions and to configure drives in the most advantageous way possible for each unique environment and use case.
The performance of SSDs begins to drop when there is about 50 percent of free space left, which is why some manufacturers reduce the usable capacity for users, and set it aside as additional over-provisioning.
A manufacturer might preserve 28GB out of 128GB and sell the SSD as a 100GB one and 28 percent of it is over-provisioning. In actuality, this 28 percent is in addition to the built-in 7.37 percent, so it’s good to know how vendors toss these terms around. Users should also consider that an SSD in service is rarely completely full. SSDs take advantage of this unused capacity, dynamically using it as additional over-provisioning. The International Disk Drive
Equipment and Materials Association (IDEMA) has published a standard (LBA 1-03) for drive capacities that most HDD and SSD manufacturers follow. The 128GB and 512GB capacities shown in the table above.
3. Known free space on the drive. This is the third source of over-provisioning and 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. This free space identifies by the operating system using the TRIM command. Alternately, some SSDs provide a utility that permit the end-user to select additional over-provisioning.
Over-provision efficiency
The efficiency of overprovisioning depends on how it writes into SSD, and there are two most common ways: For sequential writes, there is no benefit from the free space because when the data of filled blocks is no longer valid, garbage collection runs on those blocks. There is no valid page (or pages) from those blocks, which need to program.
For random writes, the main issue is invalid pages. Whenever garbage collection engages, the controller needs to write valid pages to other unused blocks. With the background read/write and Host read/write requests, the overall drive performance degrades.
-
- Over-Provision Advantage: reducing WA while increasing endurance and performance.
- Over Provision Disadvantage: Loss of user capacity.
Overprovisioning provides more spare blocks that allow data movement with higher efficiency, lower write amplification (WA), and better endurance. Therefore, we conclude that over-provisioning will improve the lifetime of an SSD.