With smarter file systems and faster disks and PCs, file fragmentation isn't the performance suck it once was. Older computers had a habit of splitting files and spreading the parts all over your hard drives, but modern ones don't do this as much. Not even close. That said, a bimonthly pass with a capable defragger can help you maintain peak performance on a heavily used hard drive.
However, solid-state drives, which use flash memory instead of a hard-drive platter to store data, are another story: My tests showed little or no benefit from running a number of disk defragmenters on a heavily used SSD.
Conventional logic dictates that you should never defrag an SSD, because the SSD controller writes data in a scattershot-fashion to multiple NAND chips and locations, using algorithms that only the controller understands. The operating system sees it as a hard drive with sectors, but the data is spread all over the drive by the controller. Defragging these "sectors" is like trying to assemble a jigsaw puzzle blindfolded: You can feel parts of the pattern, but you can't see the whole picture. In addition, NAND is good for only a few thousand write cycles, so defragging can reduce the SSD's lifespan by unnecessarily writing data to it. Despite those arguments, at least four defragging utilities purport to increase SSD performance through optimization: Auslogic's Disk Defrag Pro, Condusiv's Diskeeper, Raxco's PerfectDisk, and SlimCleaner Intelligent Defrag. To understand how these might be of benefit, let's review a few facts. Used NAND cells (the parts of flash memory that holds the data) must be erased before they can be written to. Early SSDs put off erasures, simply marking cells as no longer used when you deleted a file. When fresh cells ran out, having to erase the marked/used cells before rewriting to them slowed performance. The advent of the TRIM command, which invokes a drive's built-in garbage collection routines (including erasing unused, previously written cells), solved the problem.
Conventional logic dictates that you should never defrag an SSD, because the SSD controller writes data in a scattershot-fashion to multiple NAND chips and locations, using algorithms that only the controller understands. The operating system sees it as a hard drive with sectors, but the data is spread all over the drive by the controller. Defragging these "sectors" is like trying to assemble a jigsaw puzzle blindfolded: You can feel parts of the pattern, but you can't see the whole picture. In addition, NAND is good for only a few thousand write cycles, so defragging can reduce the SSD's lifespan by unnecessarily writing data to it.
Despite those arguments, at least four defragging utilities purport to increase SSD performance through optimization: Auslogic's Disk Defrag Pro, Condusiv's Diskeeper, Raxco's PerfectDisk, and SlimCleaner Intelligent Defrag. To understand how these might be of benefit, let's review a few facts.
Used NAND cells (the parts of flash memory that holds the data) must be erased before they can be written to.
Early SSDs put off erasures, simply marking cells as no longer used when you deleted a file. When fresh cells ran out, having to erase the marked/used cells before rewriting to them slowed performance.
The advent of the TRIM command, which invokes a drive's built-in garbage collection routines (including erasing unused, previously written cells), solved the problem.
Windows 7 and Windows 8 support the TRIM command.
If you read the documentation used to support most SSD optimization claims, you'll notice that much of it predates Windows 7 and the TRIM command. Before that, free-space optimization could force an SSD into garbage collection and thereby regain lost performance. But on a modern SSD running with a modern operating system, many of these optimizations are no longer needed.
The issue: When I investigated, no SSD vendor would state unequivocally that the defragging programs would or wouldn't benefit a modern SSD running on a modern TRIM-supporting operating system. I could find no hard evidence anywhere I looked, so I decided to gather my own.
To that end, I grabbed a fast 128GB, SATA 6-gigabits-per-second OCZ Vertex 4 SSD, ran CrystalDiskMark on it in its virgin state, and then used PassMark's Fragger and Joseph Cox's program (also called Fragger) to seriously fragment the drive. I again ran CrystalDiskMark, and saw a 10% drop in sequential read speed. That's a significant performance hit (although in real life you're not likely to notice the difference).
I then gave each program its chance to optimize the drive, using its own default settings. Between each test, I performed a secure erase on the SSD (which should erase all used cells) and then restored an image of the fragmentation.
The problem here is that there's no way to say whether the data in the image was actually distributed to the same cells. However, the level of reduced performance remained the same and, after a secure erase, increased back to nearly mint-condition level. I also tested the programs with the hardware they were meant to be used on: a standard hard drive.
To find out how the defraggers performed, see the results on the next page.
Auslogics Disk Defrag Pro
Auslogics' Disk Defrag Pro ($30; 30-day free trial) is a very capable defragger with a clean interface and multiple defragging options: simple defrag (no consolidation or optimization), SSD optimization, free-space optimization (defragging free clusters), and optimization by the Windows prefetch layout to make booting faster. The program also offers the option to defrag individual files and folders, as you can in Piriform's free Defraggler. This last feature can be useful for applications that require continuous fast access to files, such as video editors.
Disk Defrag Pro did a very nice job in my hard-drive tests, handling my superfragmented partition and other chores with ease. However, the SSD optimization did basically nothing and stated so after the fact. After defragging, CrystalDiskMark reported a slight increase in performance, but it was likely due to the drive performing garbage collection.
Disk Defrag Pro has its own scheduler and a host of advanced management features, but it has no background process to prevent fragmented writes as do Diskeeper and PerfectDisk. That omission is not really a problem on the average system, though. Fragmented writes with NTFS (Windows NT's file system) are relatively rare unless your drive is nearing capacity or being used in a busy server setup.
The program did have one disturbing trait. Occasionally on program boot, I could hear the read/write head on my hard drive chattering--not a sound you want to hear. No other defragger I've ever used puts stress on a read/write head in this fashion. It happened only intermittently, but frequently enough to be disconcerting.
Diskeeper ($30, free trial) is more of a fragmentation-prevention and background-defragging program than a classic run-once defragger. The program's biggest problem is an interface that's seemingly designed to keep anyone who's ever used a standard defrag program from finding what they want.
Once you're used to finding the Analyze and Defrag options under Alerts and Reports, you'll find a lot to like about Diskeeper. Its Intelliwrite technology prevents fragmented writes and claims to speed them up; and the program includes automatic background defragging and S.M.A.R.T. monitoring, as well as I-FAAST, which monitors disk access and uses the acquired information to more intelligently optimize files when you next do a defrag. But while all of that is great for use on servers or high-end workstations, it's overkill for the average home PC.
That said, Diskeeper's hard-drive defragging was excellent and it gets even better over time as it learns. If you use an SSD, the program detects it and offers to optimize instead of defrag; alas, Diskeeper's optimize function took very little time and had little effect on the performance of our superfragmented test SSD...and by little, I mean none.
Raxco PerfectDisk Professional
PerfectDisk ($40; 30-day free trial) is an exceptional defragger. It uses a lot of intelligence (called SMARTPlacement) to place the most important files at the fastest part of the disk on a standard hard drive. It also runs at boot time to defrag system files (which are locked when Windows is running), and it initiates a background process to optimize drives in the background while your CPU is otherwise unoccupied. The background process is unobtrusive, at least on a decently fast PC.
PerfectDisk Professional is even more option-laden than Diskeeper, but you don't have to bounce around quite as much to find everything. The defragging tools are on the main page where they should be, and options are nicely organized into logically named dialog boxes. The program also features OptiWrite, which is supposed to keep fragmented writes from occurring in the first place. PerfectDisk tracks your drive's S.M.A.R.T. info as well, which is useful if you want to replace a drive before it fails: A rising S.M.A.R.T. error count might indicate an impending disk failure.
PerfectDisk did a bang-up job with my test hard drive, defragging and optimizing it in short order. And with an SSD, PerfectDisk--unlike Intelligent Defrag, Diskeeper, and Defrag Pro--actually spent some time with the drive. Nearly two hours, in fact. A jump of about 20 megabytes per second in the sequential read speed followed. This begs the question of whether two hours of sustained writes is worth a 5% gain in performance (one that you are unlikely to ever notice). For myself, and I'm guessing the majority of users, the answer will be no...but kudos to PerfectDisk for actually making a difference.
SlimCleaner Intelligent Defrag
Intelligent Defrag is a simple but generally capable defragger that ships as part of the free SlimCleaner PC optimizer. It works well with hard drives, but you'd never know that from its drive map. Though colorful, the map isn't very accurate in relaying the state of disk fragmentation.
The only options available within Intelligent Defrag are quick defrag and full defrag. On the heavily fragmented hard-drive partition, I chose full, as a partial defrag would do little good. The program did a decent job of fixing the large files and consolidated the other small fragments to the outside of the disk, but there was still some fragmentation in the areas with the small files.
Intelligent Defrag did perform some operations on our fragmented SSD--quite a few of them. For anyone aware of write-cycle life spans, it might be a bit nerve-wracking. It surely was for me, when I realized I'd let it run on my system partition. On the highly fragmented test SSD, it threw its hands up right away. CrystalDiskMark results showed no improvement in performance after the operation.
Intelligent Defrag is a decent defragger for hard drives, but with the number of writes it put on my system SSD, and given its lack of success at defragging the superfragmented SSD, it left me thinking that you're better off leaving your SSDs alone. As a part of the highly capable SlimCleaner PC-cleaning package, it's a nice extra...but the free, public-domain version of UltimateDefrag is a lot better.
Defrag your hard drive, but leave the SSD alone
From my limited tests, I'm firmly convinced that the tiny difference that even the best SSD defragger makes is not worth reducing the life span of your SSD. Add another voice to the chorus that's singing "Don't defrag your SSD." If you're truly convinced there are performance problems with your SSD due to file or cell fragmentation, get a utility that will issue a TRIM command. Or copy your data off, do a secure erase (using hdparm or Parted Magic), and copy it back again.
All four programs did a good job of optimizing hard drives, with PerfectDisk leading the way for one-off defragging, and both PerfectDisk and Diskeeper offering background defragging as you work. If you're running a server or using programs that constantly write small files to disk, the background fragmentation prevention offered by Diskeeper and PerfectDisk could be useful. I saw no increase in performance on my PCs employing it, but it didn't seem to slow down my PC, and more optimized writes can't hurt.
If you don't need the real-time features, check out the free version of UltimateDefrag for defragging entire disks intelligently and Piriform's Defraggler for quickly defragging a single file or folder.
This story, "Fragging wonderful: The truth about defragging your SSD" was originally published by PCWorld.