Since Chia was announced there has been a huge focus on how quickly it destroys SSDs, and how fast they will reach their TBW or Tera Bytes Written thresholds. While this is true, and the amount of writes are very high it is still unlikely to kill a drive in a couple of weeks. Possible, and it will happen to some people, but it will not be the norm.
TBW is a useful metric to look at when buying a drive, but it is hardly the only metric that relates to drive lifespan. In fact, it doesn’t relate to the lifetime at all as TBW is a warranty value, and not a technical one. If the drive fails before it hits it TBW value inside the 3 or 5 year warranty that shipped with it the manufacturer will generally replace the drive. But drives don’t just die when they hit that value, otherwise manufacturers would have to replace a lot of drives under warranty they do not have to. The SMART attribute representing drive lifetime is, coincidentally, called Drive Remaining Life and that value is derived from the utilization of overprovisioned flash. The WDS100T3X drives, Western Digital SN750 Blacks, have a TBW of 600TB. As you can see, I am roughly 25% of the way through that while only consuming about 10% of the drive’s actual life as self reported.

Every SSD has some amount of physical NAND flash memory reserved for cell degradation so the size of the SSD remains constant. This will be more or less, maybe 16GB on a 512GB SSD for example. This allows the storage controller to move data around replace dying cells without reducing the overall size of the drive. Each NAND cell has a finite, and relatively small, number of physical write cycles available before dying so the more write the faster it dies. The smaller the overprovisioning space, the faster it dies. And how you use the drive will also significantly impact the life of the drive, and we will discuss some tips below to extend the life of your drive.
While plotting Chia, it is important to realize that the process is very hard on NAND flash for more than just the quantity of data writing. The method used by the Chia plotter is creating and destroying files on the drive constantly. When a file system deletes a file, it simply marks it in the file table as deleted, it does not remove it from the disk. Until the OS tells the drive that the space is empty, the drive will constantly shuffle that already-deleted data around trying to preserve it from deletion while the OS is trying to overwrite it. This produces an effect called Write Amplification, where for every write operation the SSD actually does 2 or 3 as it is moving ghost data around from cell to cell. In the 3rd revision of SATA a feature called TRIM was brought over from the SAS enterprise world where SSDs were more common at the time. What Trim does is it allows the OS to tell the SSD controller which NAND addresses have been deleted, letting the NAND controller reuse those cells without moving the data in them around.
Write Amplification has a significant effect on drive lifetime, but like other common “drive killers” it is mitigatable. Along with a few other easy enough suggestions, we can go a long way to preserving the life of your drives. The first piece of advice is to keep your drives cool. NAND operates best when operating between 40c and 55c and especially during high utilization activity like plotting. This does not require a heatsink, or specialized cooling in most cases. What it does need is airflow. Making sure your case has a good balanced set of intake and exhaust fans and that the air doesn’t get trapped will do it for most SSDs.
The second piece of advice is to not run them more than about halfway. When you are plotting 2 – 3 plots at a time on a 1TB NVME SSD and not fulling it to its brim you are leaving lots of space free for reallocation and should be minimizing write amplification to the best of your ability. It is tempting to use every available GB of plotting space if you have the CPU and Memory for it, but you will definitely reduce the life of drive and probably slow down the individual plots since these things run a bit slower the more full they are.
The third piece of advice is possibly the most important. Trim. Trim often, Trim everything. On my plotting machine I have 3 SSDs, 2 NVME Western Digital SN750 Blacks for plotting and one cheap 500GB SATA for temporary storage after the plotting process completes. I have a scheduled task that runs a powershell trim command against each of them every hour. This means that the free space on those drives the OS sees is actually free space, and the controller does not need to waste NAND lifetime or performance trying to preserve data you have already deleted.
This powershell snippet is as follows, and it is run as a scheduled task Once per day, repeating every hour.
$date = (New-TimeSpan -Start (Get-Date “01/01/1970”) -End (Get-Date)).TotalSeconds Optimize-Volume -DriveLetter D -ReTrim -Verbose > “C:\trimlogs\Trim-D $($date).txt” Optimize-Volume -DriveLetter E -ReTrim -Verbose > “C:\trimlogs\Trim-E $($date).txt” Optimize-Volume -DriveLetter Y -ReTrim -Verbose > “C:\trimlogs\Trim-Y $($date).txt” |
Edited
Thanks to u/akrobet on Reddit, i would like to clarify the above script block. This will create empty files with a timestamp to see that Trim was run but will still only show the verbose output in the console. If you would like to log the output, about 3kb a trim run, then run the scriptblock like so:
$date = (New-TimeSpan -Start (Get-Date “01/01/1970”) -End (Get-Date)).TotalSeconds Optimize-Volume -DriveLetter D -ReTrim -Verbose 4>&1 | Out-File -FilePath “C:\trimlogs\Trim-D $($date).txt” Optimize-Volume -DriveLetter E -ReTrim -Verbose 4>&1 | Out-File -FilePath “C:\trimlogs\Trim-E $($date).txt” Optimize-Volume -DriveLetter Y -ReTrim -Verbose 4>&1 | Out-File -FilePath “C:\trimlogs\Trim-Y $($date).txt” |