With Flash Memory Summit approaching next week, I thought it would be a good time to dig into the technology and life cycle of the SSD. Unlike traditional hard drives, data storage data in SSDs is not on a magnetic surface, but rather inside of flash memory chips (NAND flash). By design, an SSD is made by a motherboard, a few memory chips (depending on the size in GB of the drive) and a controller which commands the SSD.
The memory of SSDs is a non-volatile memory, in other words it’s able to retain data even without power. We can imagine the data stored in the NAND flash chips as an electric charge preserved in each cell. With that in mind, the question arises: how long is the life span or life cycle of a SSD?
The wear and tear of flash memory
It is known that the writing operations wear out the memory cells of a SSD, reducing its life. But will the memories wear out all in the same way?
The memory used in flash chips is not all the same, there are actually three types of NAND:
- SLC (Single Level Cell) – 1 bits of data per cell
- MLC (Multi Level Cell) – 2 bits of data per cell
- TLC (Triple Level Cell) or 3-bit MLC – three bits of data per cell
You can see: The more levels a cell has, the more storage space bits have in a cell, resulting in the production of higher capacity chips. Thanks to the technological advances of today we have SSDs which are able to store several GBs and are at an affordable price. No wonder that a recent report shows that the TLC memory type should equal about 50% of total NAND chips by the end of 2015, with a cost of production of about 15% – 20% less compared to MCL chips.
However, there is a downside: Adding more bits to the cells reduces their reliability, durability and performance. It is quite easy to determine the state (how much space it has) of a SLC cell, as it is either empty or full, while it is more difficult to do the same for MLC and TLC cells as they have multiple states. As a result a TLC cell requires 4 times the writing time and 2.5 times the reading time of a SLC cell. When discussing the life cycle of an SSD, storing multiple bits per cell also means to speed up the wear of the NAND memory.
A memory cell is made by a floating-gate transistor. It consists of two gates, the Control gate and the Floating gate insulated by a layer of oxide (you can see a schematic representation on the right). Each time operations are performed, e.g. programming and erasing the cell, the oxide layer that traps electrons on the floating gate wears. Consequently, as the oxide layer is weakened an electron drain from the floating gate may occur.
How long do SSDs last?
This is the million dollar question, obviously it’s not possible to give an exact answer but… continue to read!
The trend in terms of SSD is to focus on developing products based on 3-bit MCL (TLC) memory. TLC memory is beginning to dominate the market for SSD. In common use, it seems that the 2-bit MLC technology is excessive in terms of durability and performance, not to mention the SLC whose necessity is dwindling and is almost completely disappearing. In other words, manufacturers are giving up an extended life cycle in favor of cost reduction to allow for the expansion of flash memory and their storage capacity.
However, it is seems that there is no worry about the duration of a SSD. In an experiment conducted by The TechReport on 6 SSDs to understand how they can withstand write operations, 2 drives out of 6 have managed writing operations for 2 PB of data and all SSDs tested were able to write hundreds of TB without problems.
Assuming a writing of 2TB per year, according to the results of the experiment, a SSD’s life span would equal 1000 years (2PB = 2000 TB / 2TB year = 1000 years). Even with an increased amount of data written to them, we would be able to use our SSD quietly for years and years and years.
Monitoring SSD Health
MTBF (Mean Time Between Failure) for SSDs. This value is listed around 1.5 – 2 million hours. There is also S.M.A.R.T. technology which applies to SSDs. If enabled, this software tool can inform you if one or more operating parameters exceed preset thresholds.
Usually, SSD manufacturers provide product specific utilities, which are able to show S.M.A.R.T. parameters and the total amount of data written to the device. They also provide a synthetic indication about the drive’s health. For example, here you can see the output of the Samsung Magician software.
In this example the SSD in question already has about 3 TB of data written on it, the device status is good and the S.M.A.R.T. parameters are all OK.
Other utilities go even further and try to estimate the remaining life of the SSD based on the use history.
An example of a tool (SSDLife by BinarySense http://ssd-life.com) is shown in the above screenshot. This drive appears to be in excellent health and according to estimates, has a life cycle of just over nine years. This is one of many software utilities available, I encourage you to look for one that fits your needs.
Maintaining SSD Health
Here are a few helpful hints to help extend the life of your drive:
- Avoid defragmentation – There is no need to use a defrag utility to reduce file fragmentation on SSD. This operation is used on hard disks to reduce the movements (and the time) used by heads to access the various fragments (clusters) of a file. On SSDs, all memory cells have the same access time. The operation is unnecessary and moving clusters in contiguous spaces requires write operations that wear the SSD.
- Use Over-Provisioning and don’t use the drive to its full capacity – do not max out the capacity on your SSD drive. Many SSD manufacturers implement Over-Provisioning in their drives. This means they reserve a permanent free space on the SSD (usually around 10% of capacity). The free space, not accessible to the user or the operating system, is used by the SSD for temporary storage of data while the controller executes the erasure of the NAND flash blocks, prepares free blocks for use and “moves” the data to ensure a level of constant wear to all cells (wear-leveling algorithms).
- Enable TRIM in the operating system – most of the SSD drives integrate a function called garbage-collection (GC), a function that prepares the memory cells to receive new data. The TRIM command in many modern operating systems makes GC more efficient. When you delete a file, the operating system marks the space as “not in use” and then it is ready to be overwritten. Using TRIM command, the operating system notifies the SSD when data is shown as not in use and then sends a command to wipe the data. This reduces the storage space on your drive and makes it run more efficient. Make sure your operating system supports the TRIM command and check that TRIM is active.
- Optimize the use of your SSD – definitely one of the advantages of SSDs is the high speed of data reading while writing operations wear the drive and are slower. Using SSDs in applications to read/retrieve data versus writing/storing data is a way to optimize the use of your SSD.
And finally, a suggestion valid for any device: make a backup of your data periodically. There is no way to 100% guarantee a storage device will not fail. Lifespan estimates cannot predict unexpected events like shocks, voltage spikes, human errors and other circumstances that can cause damage rendering all the data inaccessible at a time.