You bought SSDs to increase your system performance, but you noticed that the performance has degraded since you first bought them. Can SSD performance degrade over time and is there a way to prevent this? The answer is YES and YES.
The reason for this degradation is an undesirable SSD phenomenon called the Write Amplification Factor (WAF), a dirty word for SSDs. This is a numerical value that indicates the actual amount of data that was written to an SSD in relation to the amount of data that was requested to be written from the Host (i.e. Windows OS System)
data written to the SSD
WAF = ——————————
data written by the host
For example, an application on the Windows Server system writes out 128kb of data to the SSD, but internally on the SSD, 512kb of data had to be written on the SSD for this to occur. This will degrade the SSD write performance.
In this example, the WAF = 512kb/128kb = 4 ! This is bad, a 128kb write from the host
! resulted in 512kb of internal writes on the SSD
Ideally, you want a WAF = 128KB/128KB = 1 ! This is the best case, a 128kb write from the host
! resulted in 128kb of internal writes on the SSD
Now, why does this occur. Unlike HDDs, data cannot be directly overwritten on a disk. On SSDs, data can only be written to erased spaces. When you have brand new initialized SSD, all the pages are in a free/erased state, so no problem in finding free/erased spaces to write new data. But as the SSD starts to fill up with data, resulting in erased spaces having to be created that causes the WAF to increase. I can go into more detail on this but will save it for another time. Suffice to say, a higher WAF value means SSD performance degradation.
Now that you have the knowledge on the restrictions of writing to an SSD, let us get to the real questions.
Do SSDs degrade over time?
The answer is YES but it has to do more with the SSDs filling up over time. I have seen recommendations on the web to keep free space on SSDs anywhere from 10% to 30% to avoid this degradation. With less free space on a highly I/O intensive system, a couple of things occur:
- There are less free spaces to write to, so some extra overhead may have to occur like block erasures to allow the new updates to occur. This increases the WAF – Not a good thing.
- With less free space, file data may get spread out to different locations on the SSD. For example, in the best case, 10 pages of file data that is being updated are all on the same block. If the block needs to be erased to be updated, then just that one block needs to be updated. But if those 10 pages are on 10 different blocks, then in the worst case, those 10 blocks have to be erased and re-written – More overhead and a higher WAF.
Some SSD technology has been introduced to help with this but did not fully eliminate the problem.
➣SSDs are overprovisioned. For example, a 1TB SSD actually contains 1.1TB of data space. This extra space (seen only by the SSD internals) helps to allow the WAF to remain low.
➣SSD Garbage collection and Trim. Both of these processes include freeing/erasing spaces in the background so new writes can occur quickly on these newly erased spaces.
Can Diskeeper or V-locity help?
The answer is YES. Both Diskeeper® and V-locity® have technology to keep the WAF low which is a good thing!
- The patented IntelliWrite® technology enforces efficient Sequential Writes to occur rather than smaller Random Writes from the Windows Host. Sequential writes are more likely to place data in the same blocks which can decrease the WAF – A good effect, where Random Writes does the opposite and can increase the WAF – a bad effect.
- Optimization engines keep the free space contiguous when needed on the host logical side. This will help enforce larger sequential writes to occur which decrease the WAF – a good effect
- There are also a few more benefits of enforcing larger sequential writes.
- Sequential I/Os out-perform Random I/Os on storage, both HDDs and SSDs, so this ensures you are getting the optimal performance from your storage.
Keeping the WAF low and writes lower on the SSD helps to extend the lifetime of the SSD.
To further back up the above, there are many references on the web that discuss how these factors affect SSD performance. So, to keep your SSDs running like new:
- Keep sufficient free space on your SSDs
- Enforce Sequential Writes rather than Random Writes.
IntelliWrite technology in Diskeeper and V-locity does both of these functions automatically.
Download a 30-day trial of V-locity or Diskeeper.
Looking for more on SSDs? Read Part 2 HERE.