Go to Top

Kingston guest blog: What is Over-Provisioning and how does it benefit a SSD?

To begin with, let’s look into the differences between how a 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?

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.

Over-provisioning of 7 percent is often not unusual in SSDs. The figure below shows a breakdown of the amount of physical memory present in an SSD versus the amount of available memory available to the user after over-provisioning.

Physical storage User storage Over-Provisioning in % Application class
64 GB 60 GB 7% Intensive reading
96 GB 90 GB 7% Intensive reading
128 GB 120 GB 7% Intensive reading
128 GB 100 GB 28% Rather write intensive
256 GB 240 GB 7% Intensive reading
256 GB 200 GB 28% Rather write intensive
512 GB 480 GB 7% Intensive reading
512 GB 400GB 28% Rather write intensive
1024GB 960GB 7% Intensive reading
1024GB 800GB 28% Rather write intensive
2048GB 1800GB 14% Intensive reading
2048GB 1600GB 28% 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.

Over-Provisioning (OP) summarised 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.

Picture and article copyright: Kingston Technology