An SSD drive is a precious investment
An SSD drive is a precious investment, you don’t want your SSD to fail, do you?
So it is interesting to try to do things to increase it’s lifetime and see if it’s worth it. This is exactly what one of our fellow Super Users was planning to do, this user called caveman asked
I just got my first SSD. And I have SSDLife monitoring in the background. After I have installed all software, and did some basic testings. SSDLife said “Total Data written, GB” = 52.1 (40GB used space, 70GB free space).
So, he only installed about 40 GB of data but there is already 52.1 GB written?
He found why this happens in a post which explains:
The problem with an SSD is, data is written in blocks. A block may be 256KB: 256 * 1000 * 8 binary digits. To change even ONE of these digits, you must rewrite the ENTIRE block. That is to say, your OS sees 1 bit being written, but the SSD wear is equivalent to 256KB being written: a 2.048 MILLION fold difference.
Which means that the formula
(SIZE OF SSD) * (Endurance Cycles) = Total data written to SSD before failure
is only for the best case scenario which would allow you to write 1,000 to 1,000,000 times the data of the drive before failure. But, looking at the average to even worst case, those are way more likely to occur with all those small writes going on on the SSD. This is confirmed in
However, the gist is that SSDs are more reliable than hard disks, and should last a good 20 years at least not counting performance degradation. — Answer by caliban
And that is what we could call an average case. You can do the numbers for the worst case if you want to, I can assure you that it doesn’t look good!
Let’s maximize the lifetime of our precious SSD by wear leveling and minimizing all those small writes to it, using simple and advanced techniques…
Make sure that TRIM is enabled
First, there is no sense in checking and trying to enable TRIM when your hard disk does not support it, this has been answered on Super User:
The easiest way to know if your SSD supports TRIM is to use CrystalDiskInfo.
And exactly, this allows you to see if your SSD is supporting TRIM:
Now, the next step is to check if your OS is aware of the TRIM feature. For Windows 7, you can do this with
fsutil behavior query disabledeletenotify. If this results in a zero, it means that the OS is using TRIM and thus is treated as an SSD.
In the case it’s not treating it as an SSD, you should do some troubleshooting by looking at the information in the Device Manager and the properties of the SSD. Perhaps you need to update the drivers of your disk controller in order for the OS to become aware of your SSD…
Disable or move unnecessary OS features
Our operating system has some features that write to the disk when the memory can’t hold it for some reason, alongside tricks that speed up your computer in case you have a HDD but are no longer necessary on an SSD.
Let’s look into the most important features that can cause issues and see if we could disable them. Be sure to read this three-part article too, it contains even more in-depth information on various space consumers.
The page file is meant to keep space free in the memory by swapping out memory data to the disk, this to ensure that the memory doesn’t get full when you run too much programs.
However, you might have a computer that only uses 2 – 3 GB of memory while you have 8 GB of memory. In such case, when you are sure your memory will almost never fill to 8 GB you can really spare out a lot of SSD writes by disabling the page file without any drawback.
When you do run out of memory (eg. if you run virtual machines), you don’t want your computer to thrash your SSD because of that…
So, there are two solutions:
Disabling the page file
- Right click ‘My Computer’ and click ‘Properties’.
- Go to the ‘Advanced System Settings’ tab.
- Click Settings in the ‘Performance’ fieldset, then go to the Advanced tab.
- Click Change in the ‘Virtual memory’ fieldset.
- Click on your SSD drive, select ‘No paging file’ and click ‘Set’.
- Click OK when you’re done.
Moving the page file
- First disable the page file as described above.
- Then, click on your preferred HDD drive, select ‘System managed size’ (unless you know what you’re doing) and click ‘Set’.
- Click OK when you’re done.
Make sure that you monitor your memory every now and then, you might be able to get around with creating a smaller page file on your HDD of only 1 – 2 GB.
There are a lot of Super User questions on disabling the page file, feel free to do more research to see what could be the best for you or just try it out.
Another feature that can be a pain is when you are hibernating the computer. If you really don’t need this feature consider to use sleep or shutdown instead, because it is writing your memory to the hibernation file every time you hibernate. If you reconsider to not use hibernation anymore then you can disable it by running the command
powercfg /hibernate off
as an administrator. This will disable the hibernation option and remove the hibernation file. It’s not possible to move the hibernation file.
SuperFetch and Defrag
(cfr. Steven noted in our comments that this is already done by Windows 7 if your SSD is detected and TRIM is on)
The manufacturers suggest that you turn both of them off, as your SSD doesn’t need defragmentation at all and it is fast enough which makes SuperFetch useless. Both of those do excessive small writes, which are unnecessary thus it’s better to just disable both:
- Disable the SuperFetch service.
- Make sure that the defragger isn’t scheduled, disable or remove defragment software. However, you don’t want to disable this for your HDD…
Most people find the search indexer necessary, because it speeds searching up a lot for data that’s on your HDD.
If you only have an SSD, you might want to consider to disable the Search Indexer. If you have both, you should move the Search Indexer cache to your HDD. This will spare out a lot of writes so that whenever a file is being saved in one of your indexed locations the search cache is no longer updated.
Another option is to trim down your indexed locations so that things that you would never search or already know where they are never get indexed.
Temporary Files, Cache and Logs
There are a lot of temporary files, caches and logs on your computer. These also result in a lot of excessive writes! However, these depend on which browser and what software you use.
For example Google Earth keeps a cache of the images of the places you visited, so whenever you use Google Earth you are essentially writing images to your SSD. Let’s see in our next two sections how we can find those and use junction points when we can’t move or disable them.
Finding more writes with handy tools
(cfr. If you are using Linux or Mac OS X, there are some alternatives you could use.)
Let’s look at the built-in Resource Monitor in the newer versions of Windows:
- Type ‘Resource Monitor’ in the start menu and run it.
- Go to the ‘Disk’ tab.
- Sort the ‘Disk Activity’ by ‘Write’.
This will allow you to see an accumulation of the writes that are happening on your system, if you want more detail you’ll need Process Monitor.
Let’s download Process Monitor from Microsoft Sysinternals and set up a filter on the writes:
- Download Process Monitor and run it.
- Click ‘Reset’.
- Make sure the new filter reads ‘Operation contains WRITE then Include’ then click ‘Add’.
- Optional: Filter by your SSD drive. Make sure the new filter reads ‘Path starts with C: then Include’ then click ‘Add’.
- Then click ‘Apply’ and then click ‘OK’.
Now you will see the writes occurring in real time, you can click an individual element if you need in-depth information. Under the menu ‘Tools’ there is a ‘File Summary’ which allows you to look at the whole set of writes in different tabs.
Warning: If you plan to let Process Monitor run in the background, then enable ‘Drop Filtered Events’ under the ‘Filters’ menu and perhaps decrease the ‘History Depth’ under the ‘Options’ menu. If you haven’t disabled your page file, Process Monitor will be writing to it. You can change this behavior in ‘Backing Files’ under the ‘File’ menu.
Can’t move folders away from the SSD?
Use junction points!
Junction points tell the system that when it’s accessing path X that it should access path Y instead. For example, this comes in really handy to tell it that if it wants to access C:WindowsTemp That it should access E:StorageCacheTemp instead.
For people that like the command line, there exists Junction for Windows and mklink for both Windows and Linux. The documentation clearly explains what parameters to use to create, list and remove junciton points.
However, what if you rather like to create Junction points from Windows Explorer? This is also possible! This Super User answer comes up with two tools that can do exactly that. If you like to script/program, check the question for an idea on what could be a better implementation if you have a lot of things you want to speed up but don’t have a big SSD.
Then, what should I put on my SSD?
You should place things that really require to load faster on your SSD, this is mostly your programs and games. Placing a video from your SSD will not give a noticeable speed-up in comparison with your HDD, nor do other personal documents result in this in general.
A lot of images will be loaded in quicker by a program like Adobe Lightroom, and a lot of music will be analyzed quicker by a DJ program like Traktor Studio; but the current SSD sizes aren’t meant for that purpose so for the moment that’s a bummer.
But pictures and music are a good example of things that you store only once if you aren’t planning to edit them, perhaps it will be fine to place those on your SSD in the future…
Feel free to read the comments below for more information and leave a message if you have additional hints, tips or tricks. Thank you for reading!