Why weekly defrags are turned on for SSDs under Windows 8
One of the advantages of using Solid State Drives (SSDs) under Windows is that the operating system excludes the drives automatically from the weekly scheduled defragmentation as it is not necessary, and often even counter-productive to defrag SSDs. Only platter-based hard disk drives are defragmented regularly in the operating system.
If you have switched to a version of Windows 8 lately on a computer with a Solid State Drive, and looked through the application log, you may have noticed that Windows 8 defrags SSDs on the system again. That's confusing at first, as it does not really make sense to do that.
The defrag tool is called Storage Optimizer in Windows 8, which hints at a larger feature set.This improved version of the program detects whether a connected hard drive is a Solid State Drive or a plater-based hard drive. If it is the latter, it will run the defrag command on the system. If a Solid State Drive is detected, the tool does not defrag the drive but send trim hints to the drive.
The trim command informs the SSD controller about blocks of data that are not longer needed or have been moved so that old blocks can be wiped and become available again for write operations.The NTFS file system basically sends those trim hints to the controller when files are deleted or moved on the drive. It is then up to the controller to use the information, for instance by optimizing and cleaning up, or ignoring the information at that time. The latter can happen when the drive is busy performing other operations at the time the trim hints are submitted.
The Storage Optimizer supports the controller in the task by sending trim hints for the whole drive to it when the computer is idle to give SSDs a chance to clean up and optimize the drive during that time.
So, even though defrag is listed for Solid State Drives, it is not an actual defragmentation that is taking place, which in turn means, there is no reason to worry about the defrag listings in the application log.Advertisement