Friday, March 23, 2012

Solid State Drive Tweak Guide - Make it Fast make it Last!

The wonders of fast flash storage - a fast death if not care full
So you finally get yourself a new Solid State Drive(SSD), everything will load and write much faster than a normal Hard drive due to not having any mechanical moving parts, but did you know SSD's can also suffer from severe wear and loss of capacity if you dont take certain precautions?....

Hard Drive vs Flash Media (SSD) - write cycles!
We have covered before , how and why hard drives work, and how they are prone to mechanical failure, heads, rotors motors can die on us at any moment, and after days of use , data can get fragmented all over the plates, taking even longer to read.
 SSD is structured like  hard drive, with an index or fat table, but memory blocks can be accessed instantly and in parallel too, By the time a conventional hard drive moves its mechanical parts to look for and read 10 files, flash memory media does the same in a third or less time.



The problem comes from the flash media itself, the name Flash comes from the fact that every block of stored information is practically Zapped with electricity to modify it and store a new value, at a microscopic level you can see each block of data flashing when data is written, and this does not escape the laws of physics, much like a light bulb it can only "flash" so many times.

SSD's have been sold to consumers with an estimated  life of 5,000 to 10,000 write cycles per block of information, this means that after writing over a single block 10,000 times we could expect the block to die,this is why you dont want to do heavy writing processes on an SSD drive, even defragmenting can kill a drive faster, and its useless due to the instant readability of the media!

Wear leveling - burning your blocks evenly :D
Several measures have been put in order to prevent an early death to SSD's data blocks, the most common and standard being Wear leveling,  new data is written on "new" or "unused" data blocks, this is done to have an "even" or "leveled"wear on the drive.

SSD's hate being full - try to keep some free space
Of course this brings another problem, since there is data that will remain unchanged and static in certain blocks, the SSD controller has juggle and move data periodically in order to keep the wear even, this is done automatically inside the drive, and without much of a performance hit to the user, the problems comes when the drive is nearly full, as it will quickly be running out of "free unused" blocks and will have to move more data in less time, accelerating the wear... so keep as much free space as possible :D

How to increase the life of your Solid State Drive - minimizing and stopping useless writes!
So now that we know that we must keep writes cycles to a minimum, we have to take it into our hands to Tweak and configure our systems, the use of a modern recent Operating system is a must, because old systems like Windows xp do not know about write cycles and just chug data down to the drive, Windows 7 contains several built in optimizations that are applied when it detects a SSD in use, but there are many more things to do.. so here is the list of important things to check and how to do it :D

1-Check your SSD partition Aligment - for a speedy drive!
Ok so this does not pertain exactly to the wear of the drive, But it is important to check, because if the partition is not correctly aligned, your drive will not perform as intended, a quick check up can be done inside windows 7 with the command "Msinfo32" on the Start-> Run/Search box, navigate to "components" then to "Storage" and finally to "Disks", look up your SSD and check the "Partition Starting Offset", if the number is divisible by 4096(full values without decimals) you are good to go,  If you install windows fresh, or use a recent cloning utility chances are you wont have any problem, but its always good to check, because this will bring you so many performance issues if incorrect!

1,048,576/4096= 256  im good to go :D
2- Check for Trim / Enable trim 
Trim is a function in new operating systems that aids in reducing the wearing of SSD block sectors, by changing the way how data is updated in the index when "erased" from the drive, reducing redundant or useless writes, to do this, you can open up a Command line window by typing "Cmd" on the Start > Run/find box, inside the command line, you type the following:
fsutil behavior query disabledeletenotify  <- if the result is 0, that means that Trim is Enabled
 If the return value is 1, then you need to change it to 0 with the next command
fsutil behavior set disabledeletenotify 0   <- check again for it to be 0, if it still persists on 1, then your Sata controller might be set to IDE or BASIC, you need it to be set to AHCI in the bios.. and if such is the case i would recommend to configure properly and reformat/Reinstall!

3-Disable Prefetch /Windows Search - good when reading, bad when  indexing
 Windows Prefetch Superfetch and Readyboost are great services that read and load up files into memory at startup to give the system some agility and pre load programs that we usually use, this fills your memory with data you might need or use, making your system perform faster,

Those services create a Database of files and programs to load up, making cache files and other write operations that only serve to eat up write cycles, since loading files on an SSD drive is instantaneous already, the Preload becomes useless.

To Disable use the command "services.msc" on your Start > run/search box, a list of services will pop up, look for "superfetch" right click and select properties, inside click "stop" then select "disabled" on the "start up type" box. repeat the same for "Windows Search"

Superfetch and windows search are useless on an SSD and only add wear!
4- Change Temp Folders to Another Drive - if you have a secondary Hard Drive that is
Whenever you install a program or open a zip/rar file, or work on a document windows creates temporary files that hold the data, until you save them to a file, this eats up some more write cycles, but you can move these system folders to another drive to prevent this, and lets be honest for now and unless you buy a huge costly SSD chances are you get a small modest drive for your boot drive and important programs, plus a secondary big Hard drive with work temp files... to do so, create a new Folder on your secondary drive, you can name it "TEMP" so that it exists as "D:\TEMP" now right click on "My computer" and choose properties, go to "Advanced options" and then to "Environment Variables", look for  TEMP and TMP on the upper and lower box, change the values to point to the new location...


Changing the Temporary system folder location to another drive can save on a lot of write cycles!

5-Disable useless windows logging files - these files are deleted and recreated every second D:!
Windows loves to log down data of what it opens, what worked and what failed, its nice to have data to make charts, but can be excessive on a SSD, and chances are you never used or will need these performance logs, right click on "My PC" and select "Manage"  on this window navigate to "Performance" and inside go to "Data collector Sets"... and finally go to "Start up session" to disable a logger, right click on it select "properties" and go to the "Session log" tab, un mark  the Enabled box
DO NOT DISABLE- EventLog-Application/EventLog-Security/EventLog-System  just dont!
those 3 Log services are critical for windows, you can disable all others if you want/can

6-Move Internet explorer/firefox Caching to another drive! - temp writes must go away from the ssd!
Internet Browsers LOVE to index and cache our websites so that they are readily available for us next time we visit them, problem is the constant caching to disk, so again we can move them to another drive for Internet Explorer we got:
Open Internet explorer and go to "Internet Options" and then "configuration", click on "move folder" button and select a place on your secondary drive, i use the same "D:\TEMP" path for simplicity :3
putting all the filth and porn caching on the other drive... wut O.o

For firefox, its  a bit trickier as we have to create the config value and then input the folder location... for this Open up your Firefox and go to the address bar, to enter the options write "about:config" and hit enter, this will lead you into the options.. right click and select "new String"  for the string use the value  browser.cache.disk.parent_directory and hit enter, when prompted for a value, you use a cache folder, again i use the same TEMP path of  "D:\TEMP"


You Are done! - Well.. that and some other things to keep in mind
You have reduced the number of useless write cycles to your new SSD, but you still have to keep a few things in mind, you want to use your SSD to Read/Load programs applications and games fast, while keeping the Write cycles to a minimum or on another disk.

Try to keep often used programs and applications on your SSD, and big movies music and un important files on your Hard drive, of course since an SSD is supposed to last more years than a hard drive, its a good thing to keep a backup of your important personal data on both drives

Use Caching programs such as FancyCache, to minimize Write cycles, even going as far as setting a 200-800mb Write deferred caching..just keep in mind in case of power outage it could lead to trouble, so go wild only if you have an UPS or using a laptop with battery.

Thank you for your time, and i hope these tips can help you stretch the life of your new Solid state drive :D


2 comments:

  1. I really hate when my hard-disk reacts slowly and my PC break down. Definitively gonna try this and if this works it would be very useful for me. Why even computers collect so much stuff in Temp folder? All those files do is slowing down my PC :/

    ReplyDelete
  2. As the time goes by, we have the need for PC's that will work faster and faster. So this is probably the next step :)

    ReplyDelete