What Is Over-Provisioning And How Does It Benefit An SSD?

November 8, 2018 by Michael Nuncic

To begin with, let's look at how an SSD works and the limits of non-volatile NAND flash memory, so you can understand why an SSD is configured with over-provisioning and what it does for the SSD controller:

Solid state drives (SSDs) are not often different in size (i.e. height, width, and length) and external interfaces (e.g., SATA or SAS interface) to hard drives (HDDs). But the inner workings of an SSD, its workings and components, are significantly different from the rotating magnetic disk design of an HDD.

The differences between how an HDD vs. SSD writes

When it comes to data being saved on an HDD, the information will get placed wherever there is space for it. Often it will be saved where it will achieve the best read/write performance. The actual location of the saved data is not important because the master file table will keep track of it all. When it comes to erasing data, only when any new data physically overwrite the old will it truly be gone – this is why data recovery software and companies can recover "deleted files".

In contrast, the SSD works entirely differently. Each NAND flash memory consists of several blocks, each containing around 128 pages. NAND Flash is described and read at the page level, but can only be deleted at the block level.

If a single page on a programmed page within a block is to be modified or deleted, first the entire contents of all pages of the block must be copied to a cache and deleted before the new block contents can be programmed to the same block address.

A page can only be written directly to a block in a NAND flash without this lengthy read-modify-write cycle if the page is already empty.

What is Over-provisioning (OP)?

After assembling an SSD, the SSD manufacturer can assign an additional percentage of the total capacity of the memory to over-provisioning (OP) when programming the firmware. Over-provisioning not only improves performance but often increases the life of an SSD. With more flash NAND space available to the SSD controller and less load on the NAND results to less flash wear over its lifetime, meaning the drive is more durable.

Physical storage User storageOver-Provisioning in %Application class
64 GB60 GB7%Intensive reading
96 GB90 GB7%Intensive reading
128 GB120 GB7%Intensive reading
128 GB100 GB28%Rather write intensive
256 GB240 GB7%Intensive reading
256 GB200 GB28%Rather write intensive
512 GB480 GB7%Intensive reading
512 GB400GB28%Rather write intensive
1024GB960GB7%Intensive reading
1024GB800GB28%Rather write intensive
2048GB1800GB14%Intensive reading
2048GB1600GB28%Rather write intensive

Figure: Over-provisioning based on storage capacity and application class

The applications, such as typical client workloads, can be read-intensive, in which the user generally uses 20% for writing and 80% for reading. Enterprise applications that use memory for read caching are read-intensive. If these applications were to write more data to memory, they would be more write intensive.

OP summarized easily understandable

The SSD manufacturer can set up the OP capacity differently depending on the SSD application class and the total capacity of the NAND flash memory.

Higher capacities and drives with different user classes are typically configured with proportionally larger over provisioning. This is due to the resource requirements for managing more NAND Flash and the application of garbage collection, free blocks, and advanced privacy features.

This over-provisioning storage space is inaccessible to the user and is not displayed in the host operating system. It is reserved exclusively for use with the SSD controller.

If you have experienced SSD data loss, check Ontrack's expert SSD data recovery service.

Picture and article copyright: Kingston Technology