Defragging SSD drives (Solid State Disk) is not entirely necessary but we [Applied Tech] are still performing regular defrags since there is no reliable way to determine if a drive is SSD. This is unlikely to have any noticeable side effects.
One of the maintenance services that we run as a base on all workstations is a regular defrag. On a daily basis we will test the fragmentation level of the drive and if it is over a certain percentage (internally determined by Windows) we will run a defrag. You can read further (http://en.wikipedia.org/wiki/Defragmentation) but basically this process “lines things up” so that the hard drive can quickly access the next data in line. This is necessary on traditional hard drives since what is being read off of is rotating at a constant speed so a disorganized drive can lead to slower access time as the drive is waiting for the next rotation to read the next piece of data. Access time to each piece of data can vary as you get closer to or further from the center of the rotating platter so other tricks are employed to speed up access time of frequently used data.
With an SSD drive there are no moving parts and access time to any piece of data is predictable and consistent. Therefore there is no need to shuffle things around for quicker access because everything is “just as close”. Additionally, unlike traditional drives, reading and writing data can “wear down” the drive. This does happen with traditional drives, but it isn’t a significant amount over the lifetime of the drive. For SSDs this can be significant, so they are designed in a way that “spreads the load” of reads and writes so that the entire device “wears evenly”. Basically, the SSD has its own “housekeeping” routines to keep it’s in good working order, so defragmenting isn’t necessary and theoretically could advance the wear on the drive.
Which brings us to the point.
There is currently no known industry standard way for us to detect if a drive is an SSD or not. I’ve researched several programming forums, kaseya forums, etc. and there is no consistent way to do this. Part of this is on the drive vendors for not adhering to a standard and part is on the OS vendors for not enforcing a standard. I have tested SMART status tools, various Windows queries (wmi and fsutil) and there isn’t a consistent way to tell if a drive is an SSD or not (Microsoft themselves just make a “guess” but testing the speed of the drive and this isn’t always correct.). If and when that time comes that there is a standard way to do this we will be able to program a branch in our defrag test to just skip defragging on an ssd drive. Until then it is possible that SSD drives are being fragmented if Windows determines the filesystem needs it.
The risk of prematurely “wearing down” a drive is low but still out there. SSD drives are built with additional capacity (“hidden bits”) that can be swapped in for failed sections so it is highly unlikely that we will ever see any side effect from running defrag within the useful life of any of the workstations or laptops out there. To put this in perspective, a lower end SSD can be expected to sustain 1 – 12 months of continual writes before you can expect it to fail. For a higher-end SSD this figured is closer to 2-12 years (http://ef.gy/statistics:ssd-write-endurance)
If you have any follow-up questions or there is something we’ve overlooked please contact our support center.