Benefits of Over-Provisioning (OP)

How OP Improves SSD Performance

Each NAND Flash memory die is constructed of multiple blocks that contain a further multitude of pages.

NAND Flash can be read and written on a page level but only erased on a block level.

If a single page has to be modified or erased on an already programmed page within a block, then the entire block contents consisting of multiple pages must first be read into a temporary memory, and then erased, before the new block contents can be programmed to the same block address.

The only scenario in which a page can be written directly to a block within NAND Flash without this tedious read modify-write cycle is when the page is already in an empty state.

Keeping a large quantity of blocks empty and in reserve via over-provisioning aids in keeping performance consistent, especially in random write scenarios that exhibit the highest Write Amplification Factor (WAF).{{Footnote.N52105}}

How OP Improves SSD Endurance

To understand why an SSD is configured with over-provisioning and how it benefits the SSD controller, we have to delve into the typical operation of an SSD and the limitations of non-volatile NAND Flash memory.

Each NAND Flash cell has a finite life expectancy, based on its program and erase endurance (P/E), which is characterized during the manufacturing process by the NAND Flash manufacturer because each program or erase function executed on a NAND Flash cell erodes the cell's capability to reliably store an electrical charge and may therefore threaten data integrity.

However, as NAND geometry migrates from 2D to 3D, NAND endurance will improve, die densities will increase and production costs will decrease, making SSDs more affordable.

To summarize, the three main factors that affect SSD endurance are:
  • NAND Flash program/erase endurance and geometry related read/program/erase complexity (Geometry in this case includes 2-dimensional vs 3-dimensional manufacturing technology)
  • SSD capacity
  • SSD controller capability and efficiency (garbage collection, write amplification, block management, wear-leveling, Error Correcting Code).

Maintaining Performance and Endurance via Over-Provisioning (OP)

To avoid a scenario where the SSD is filled to full capacity with invalid pages, over-provisioning is used by the SSD controller’s garbage collection function as a temporary workspace to manage scheduled valid page merges and reclaim blocks filled with invalid (or deleted) pages.

Any reclaimed pages/blocks are then added to the over-provisioned capacity to accommodate write operations from the SSD controller and maximize performance during peak traffic load as the performance impact of reading, erasing, modifying and writing all valid pages back into an already partially full block filled with invalid pages can be a slow exercise.

The garbage collection operates independently of the operating system and is automatically triggered during periods of low activity, periodically or by issuing the respective ATA Data Set Management TRIM command to schedule a garbage collection.

An always-available number of empty blocks via the over-provisioned capacity assists in maintaining effective wear-leveling on the NAND Flash as the SSD controller intelligently redistributes write operations across all NAND Flash memory cells evenly without impacting the SSD’s overall performance during peak traffic loads.

In addition, the ATA Data Set Management TRIM command can add to the SSD’s available space by reclaiming any invalid pages and unused user capacity.

Formatted Drive CapacityOver-Provisioning SizeSequential Read/WriteSteady-State 4k Read/WriteTBW (JEDEC Enterprise{{Footnote.N52105}})DWPD{{Footnote.N37134}}
480GB (DC500R) 7% 550/500MB/s 98,000/12,000 IOPS 438 0.5
480GB (DC500M) 32% 555/520MB/s 98,000/58,000 IOPS 1139 1.3
960GB (DC500R) 7% 555/520MB/s 98,000/20,000 IOPS 876 0.5
960GB (DC500M) 32% 555/520MB/s 98,000/70,000 IOPS 2278 1.3
1920GB (DC500R) 7% 555/520MB/s 98,000/24,000 IOPS 1752 0.5
1920GB (DC500M) 32% 555/520MB/s 98,000/75,000 IOPS 4555 1.3
3840GB (DC500R) 7% 555/520MB/s  98,000/28,000 IOPS  3504  0.5
3840GB (DC500M)  32% 555/520MB/s  98,000/75,000 IOPS 9110  1.3
Over-provisioning based on capacity and application class

To understand the effects of OP, we will examine the Kingston enterprise SSDs, the DC500R SSD, for illustration. These SSDs ship in capacities of up to 3.84TB and allow users to use the Kingston SSD Manager tool to adjust over-provisioning. By adjusting the OP size, we can see the effects on performance and endurance using 7% or larger OP levels.

When we compare each paired capacities, we can see the following:
  1. The higher capacity drives (less OP) in each pair can maintain the same transfer speeds (Bandwidth), but Random Write IOs per Second (IOPS) are significantly reduced. That means that drives with less OP will perform well in Read intensive applications, but may be slower in write-intensive applications compared to drives with 32% OP.
  2. Less over-provisioning also means that Total Bytes Written (TBW) in Terabytes on each drive will be lower. The greater the OP percentage, the longer an SSD can last. A 960GB DC500R can accommodate up to 876TBW of data written, whereas the 800GB DC500R can achieve 860TBW. TBW numbers are derived by Kingston using JEDEC workloads as a reference{{Footnote.N52105}}.
  3. When the TBW numbers are translated into Drive Writes Per Day (DWPD) over the warranty period, we can see that drives with 32% OP almost reach double the amount of writes per day. This is why 32% OP is recommended for applications that are more write-intensive.