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 maximise 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-levelling 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.

To understand the effects of OP, we will examine the Kingston enterprise SSDs, the DC400 SSDs, for illustration. These SSDs ship in capacities of up to 1.8TB, 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.

Formatted Drive Capacity Over-Provisioning (OP) Size Sequential Read/Write Bandwidth (MB/s) Steady-State 4k Read/Write Random IOPS TBW
(JEDEC Enterprise [1])
DWPD[2]
400GB 28% OP 555 / 535 85K / 35K 422TB 0.57
480GB 7% OP 555 / 535 85K / 11K 257TB 0.30
800GB 28% OP 555 / 530 78K / 32K 860TB 0.58
960GB 7% OP 555 / 520 78K / 11K 564TB 0.32
1600GB 28% OP 555 / 510 78K / 32K 1678TB 0.57
1800GB 14% OP
(Read Heavy)*
555 / 500 67K / 18K 1432TB 0.43

Figure 3 Over-provisioning based on capacity and application class

In Figure 3, we compare the different paired capacities of the DC400 (400/480GB, 800/960GB, 1600/1800GB) with different OP levels.

When we compare the paired capacities, we can see the following:

  • 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 28% OP.
  • 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 DC400 can accommodate up to 564TB of data written, whereas the 800GB DC400 can achieve 860TBW. TBW numbers are derived by Kingston using JEDEC workloads as a reference [1].
  • When the TBW numbers are translated into Drive Writes Per Day (DWPD) over the warranty period, we can see that drives with 28% OP reach almost double the amount of writes per day. This is why 28% OP is recommended for applications that are more write-intensive.

References

  1. JESD219: Solid-State Drive (SSD) Endurance Workloads, JEDEC Committee (http://www.jedec.org/standards-documents/docs/jesd219a). These Client and Enterprise workloads represent a standard for the industry to rate their SSDs and derive the rated TBW supported by their SSDs. Note that your workload could vary and the rated TBW specifications may be above or below your workload’s over time, due to the unique WAF from your application.

        Back To Top