Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I keep hearing that this is a huge no-no. Why is this? I run Ubuntu mostly so it doesn't affect me, but I was just wondering.

share|improve this question
2  
I can't say I'm educated in this area, but I believe it is because SSDs are damaged slightly every time they perform a write, and defragmenting wears out the SSD faster. Also, since SSDs have no moving parts, defragmenting SSDs gives a smaller performance gain than defragmenting HDDs. –  Blixt Jul 15 '09 at 13:33
3  
@Blixt: you should have posted that as an answer, since it is, well... an answer to the question... –  R. Martinho Fernandes Jul 15 '09 at 21:24
add comment

6 Answers 6

up vote 51 down vote accepted

Solid state drives are based on flash memory, which age very differently than standard spinning platter-based hard drives. Each sector has a limited number of write cycles, so the drives include wear-leveling features that allows the drive to last longer by essentially fragmenting the drive on purpose.

The read times are not greatly improved by defragmenting as they are in standard drives, so there is no real gain in defragmentation, but by doing so, you are increasing the number of writes to the drive, thereby decreasing the drive life.

share|improve this answer
    
+1 for extra information about "wear-leveling." I didn't know that! –  Blixt Jul 15 '09 at 13:37
    
This is the most complete answer so far. –  Brad Gilbert Jul 16 '09 at 4:08
    
"but by" - is not a good a phrase for hearing.... –  Radio Dec 25 '12 at 18:51
add comment

Defragmenting puts your sectors near each other which is helpful for a disk that spins around. However, this is useless on an SSD which has constant access time for any sector. Defragmenting just causes extra writes on a disk (SSDs have a limited number of writes due to their design)

share|improve this answer
add comment

Note that there shouldn't be any technical reason for not "being able to defragment a solid state disk", in the sense that you could start a defragmenter program and run it against the disk.

But doing so doesn't have the effect it does on non-solid state disks, as moving the clusters together won't actually speed up the disk.

On the other hand, what you will do is perform lots of unnecessary writes on the disk, and this will shorten, albeit slightly, the life-span of the disk.

Additionally, many solid-state disks does optimizations to lessen this problem by reducing repeated writes to the same area, and this is transparent to the outside system, in which case the clusters might not be moved together at all but instead spread out over the disk. This technique is typically "wear leveling".

If a defragmenter program refuses to defragment a solid state disk (or even just list it as a disk you can select), I'd wager that it's basically a software refusal to do so, just to avoid the problems outlined above.

Note that I don't know enough about the underlying protocols used to defragment a disk, so there might very well be a hard block from a solid state disk to accept defragment commands, if there are such things. The reasons for this, however, are the ones described here.

share|improve this answer
add comment

Defragging will lower the live expectancy of your drive by performing unnecessary passes over a drive with a limited life-span.

share|improve this answer
add comment

It depends on what is on the drive. You will not get any performance increase by defragging an SSD, but it will have an impact on data-recovery.

On the one hand, flash-memory has a limited number of write cycles, so doing a lot of writing will eventually wear it out. Flash drives, memory cards, and SSDs use tricks like wear-leveling and TRIM to extend the life of the media, but defragmentation tends to cause a large number of writes, which will cause it wear out all the faster.

On the other hand, fragmented files are infinitely harder to recover when accidentally deleted, hit by a virus, etc. so keeping your files in a contiguous state (e.g., by defragmenting) will greatly increase the chances of recovery.

Therefore, like I said at the start, it depends on what is stored on the drive, how important the files are, how likely you are to need to perform data-recovery, and how frequently the files are changed (frequent deletions and copies will lead to fragmentation faster as well as eat up more write cycles).

share|improve this answer
add comment

According to Condusiv Technologies:

SSDs start out really fast and then quickly start to lose their speed and over time become subject to corruption. SSDs require that old data be erased before new data is written over it, rather than just writing over the old information like with hard drives. This doubles the wear and tear and can cause major issues.

The principle issue is write speed degradation due to free space fragmentation. Small free spaces scattered across the SSD cause the file system to write a file in fragmented pieces to those small available free spaces. By doing so, it degrades write performance by as much as 80% to the solid state drive.

SSDs can only write so many times to the drive as they have a finite number of writes that they can perform. Due to the doubling effect of needing to read and erase before it can write again, SSDs undergo twice as much use.

As the SSD approaches its limit, more fragmentation and write errors occur, causing SSD slows. Write performance decreases proportionately as free space fragmentation increases. All SSDs will suffer from this problem at one point or another unless HyperFast is used to optimize the solid state drive.

They therefore recommend using their product called Diskeeper.Accoding to the company:

Diskeeper with HyperFast keeps your system running as fast as when you purchased it, by optimizing the free space on your SSD. The HyperFast feature, included with Diskeeper 12 specifically solves these issues by intelligently eliminating performance–degrading free space fragmentation which can promote random rather than the more efficient sequential writes to occur. This technology along with the IntelliWrite Technology promotes the more efficient and beneficial sequential writes to occur rather than random writes.

More info about their product is available:

http://www.condusiv.com/products/diskeeper/

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.