Should You Defragment A SSD?
So called SSD hard drives are becoming increasingly popular especially in the netbook sector. Solid State Drives have several distinctive advantages like faster access times, lower power usage and being completely silent while running. The main disadvantage that you might notice especially in netbooks is the write speed of those drives which is usually lower than those of conventional hard drives.
With more and more Solid State Drives hitting the streets it is important to understand the differences. Defragmentation describes the process of physically organizing the contents of a hard drive or partition so that the data sectors of each file will be stored close together to reduce load and seek times.
Solid State Drives can access any location on the drive in the same time. This is one of the main advantages over hard drives. This also means that there is no need to defragment a Solid State Drive ever. These drives have actually been designed to write data evenly in all sectors of the drive which the industry is calling wear leveling. Each sector of a Solid State Drive has a limited number of writes before it cannot be overwritten anymore. (this is a theoretical limit which cannot be reached in work environments)
If you did defragment your Solid State Disk you can rest assured that you did not harm it in any way. It is just that this process is not needed and that defragmentation causes lots of write processes which means that the drive will reach its write limits sooner.
No need for defragmentation is therefor another advantage of Solid State Drives.Advertisement
I have never noticed, that defragmentation helps on HDD either. Kind of a myth. Windows can manage itself data location.
Anyway, I got 2xSSD on RAID 0 and I don’t see a big difference comparing to my older 2xHDD. There is a test, that show’s I can got 230MB/s transfer rate, but in real world, even with 100x times better access time I got maybe 50% more performance.
Regarding defragmenting not helping on HDD and it being a myth… That actually couldn’t be more untrue…
If you play any high graphics online games (MMORPG types) you would notice a difference… More lag, more stutters…
I have seen it first hand… But if you are surfing the web and writing docs, you probably won’t notice…
Thanks for your good post . It is very helpful .
Which makes me curious:
Are the SSD chips the same quality, better or worse than regular memory (RAM) chips?
Since RAM is used much more than an SSD would be, would it wear out quicker?
Jojo take a look at this excellent article: http://www.storagesearch.com/ssd-ram-v-flash.html
Of course one can reach the write limit of solid state disks. Try running a mail server or any other system which deals with many write cycles.
Dotan yes you reach the limit in about 50 years on a 64 GB drive and continuous never ending writes to the disk. Check this article http://www.storagesearch.com/ssdmyths-endurance.html
How does wear leveling affect “secure erase” (that perform multiple writes to the same location on a HDD)?
Defragmentation is NOT the process of moving files closer together. It is the process of arranging all of a file’s sectors so that they are contiguous and in order.
And yes, it still needs to be done on any type of drive if you wish to be able to easily recover the contents of said files due to crappy OS file system management due to crappy OS everything-else management that causes crashes, eg, daily Windows usage.
If you have ever needed to recover an important file that got mangled in such a situation then you’ll soon realize the need to defragment routinely.
Me you are right about defragmentation and it was exactly the same that I wanted to say in the article. Bad wording so to say which has been corrected
Max those are two different processes. When you erase the empty space on the disk you explicitly tell the program to write data to each empty space sector on the hard drive.
Sorry. May I quote:
“These drives have actually been designed to write data evenly in all sectors of the drive which the industry is calling wear leveling.”
So, I mean would defragmentation process (or in the case of my concern, secure erase) be intervened by wear leveling technology and forced to write onto other location of the SSD?
Max as I said wear leveling is not a problem when deleting data because the erase applications specify the sectors where data is deleted.
The wear leveling is done by the controller, basically it has a pool of flash to work with. The controller also manages how the system sees the disk, but intervenes so that the actual location of items in flash is transparent. In other words, the system still sees blocks, sectors, etc, but they have no bearing on where they actually are in flash.
Interestingly enough, defragmentation does still have a fairly profound effect on SSD performance, and I imagine it should still be done on occasion. Sequential reads can be up to 6x faster than random reads, and sequential writes can be faster by 20x or more (http://learnitwithme.com/?p=106). This may have to do with the way the flash controller manages the pool of flash, the controller seeing an attempt to write sequential blocks on the system side chooses a single location for that data, whereas random blocks may have to have several locations selected and remembered. Just a theory.
debug: Thanks. ^_^
There is one so far unmentioned advantage to defraging any file system, that is lost file recovery due to drive data structure corruption. If all the sectors in the lost files are contiguous then one only needs the start sector and length to recover the lost file. If the SSD built in controller redistributes writes to its SSD address space then defragging should not affect SSD access times as it is likely that what apears contiguous to the OS is scattered arround the SSD address space. If there is still a speed improvement then it is the PC architecture and OS overheads making random read/writes slower than block read/writes.
Diskeeper just came out with a product to address the main disadvantage of SSDs. The product is called HyperFast and it is considered an “optimizer” as opposed to a defrag, designed to consolidate free space, improve writing capabilities and preemptively optimize the storage device at the OS level.
RJ now that’s interesting. Looks like it will be exclusively licensed to Apacer. Hope others will provide similar optimizers if this proves to be effective in a work environment.
SSD defrag is not required in the conventional sense of the term; what is required seems to be ocasional free space consolidation to facilitate sequential writes rather than random writes. Apparently random writes are the Achilles’ Heel of SSDs.
BTW, from the blog link, Hyperfast is a part of Diskeeper 2009, so it’s not exclusive to Apacer. But I think the Apacer drives may have these algorithms embedded in their firmware..not sure though. I think it’s a great feature that Diskeeper 2009 can handle magnetic as well as SS drives as installed.
I have to disagree with Diskkeeper’s assessment that SSDs “do not experience the same file fragmentation read delays of traditional platter disk”. Sure, they’re still outperform platters on random read, but I’ve actually measured a few and sequential reads are on the order of 10x faster than random on SSD.
I also think that saying that they don’t need defrag, but need free space consolidation to be a bit of an oxymoron. Doesn’t defragmenting a drive consolidate (defragment) free space? Sure, if you’re not interested in reducing random reads you can defragment the free space without defragmenting the files.
Aside from disagreeing on Diskkeeper’s random read assessment, I find several other things suspect, not the least of which being that we’re looking at marketing presentations. Their tests are on an 8GB SSD? How old is this? The software claims to improve performance by reducing random writes, yet when the software itself does random writes it somehow performs higher?
It seems reminiscent of the ‘soft ram’ software marketed in the 90’s, which was generally software that provided a glorified page file. My guess is that HyperFast is some sort of software cache for SSDs, whether it actually caches read/writes or simply reorganizes the way the data is laid out before writing to disk (i.e. bundling 4k writes into 64k writes). I’m not claiming that it doesn’t work as advertised in practice, just that throwing a few marketing slides our way is fairly unconvincing.
File fragmentation is not necessary for free space fragmentation. And file defragmentation is not a necessary prerequisite for free space defragmentation.
Eg. Assume a volume that has, say, 10,000 files, perfectly contiguous/unfragmented with the free space perfectly consolidated. Now delete half of those files randomly. Voila! You have your free space fragmentation. Consolidating this free space needs only file movement, not file defragmentation,if you want to get technical:) The savings in erase/write cycles compared to defrag + free space consolidation would depend on the specific situation on the disk.
I found the original document that the previous link references by looking around the Diskeeper site.
They seem to have run the test on Apacer 8GB SSDs.
It doesn’t say anywhere that Hyperfast “itself does random writes”….so don’t know if I am missing something…
Using SSD drive since 3 months, my pc runs 24h and mostly downloading torrents etc..
I have installed windows on fresh new OCZ v2 ssd drive, everything was running fine but overall disk performance degraded over time, wanted be sure if windows is ok, been checking disk with some low level tools and all was ok, then I just wanted check how its fragmented, and… Disk Defrag did show full red only fragments, I did know all saying its not necessary to do it, especialy producers of these SSD, anyway I did give it a try.
After like a 2 hours of defrag, i checked all things like internet browsing , file copy etc.
IT WAS like 90% speed increase !!!!
DO NOT BELIVE SSD DONT NEED DEFRAGMENT !!
Ofc defrag makes lots of writes to disk and thats only reason they dont preffer doing it because disk may get broken before warrianty ends ? thats my point.
If what Golem says is correct, the it would appear that the problem might be in the way the OS & the SSD Controller interact. I’m guessing here but would think that fragmented files require the controller to issue more read commands (and perhaps more OS interrupts) than a contiguous file would require. That would seem to be where the overhead and delay would most likely occur.
If the real worry of SSD manufacturers is too much writing to the disk that occurs in a disk defrag session, then maybe the solution would be for a new type of defrag operation.
Instead of writing back and forth to the SSD device, the data on the SSD could be copied to a magnetic hard drive and defragged in the copy process. Then the data on the hard drive could be copied back to the SSD. That should lower the overall number of write operations that the SSD would accumulate.
I have “Windows Live One Care” that tunes up and defragments automatically on a scheduled basis with no off function. Any ideas how to save my new SSD from premature failure?
Quite a lot of nonsense in this comment thread.
No you should not enable defrag on SSD, there is zero performance benefit and you are needlessly subjecting the drive to write cycles.
MLC flash is rated for 10’000 writes and SLC is rated for 100’000 writes so the “50 years of continuous read/writes” stat is only true on SLC drives, on MLC drives it’s 5 years.
However none of us will be continuously reading / writing our drives so the real-world longevity of an MLC drive is probably closer to the region of 20 years before we see any performance degradation or bad blocks.
Ps, what Golem says is utter nonsense.
Maybe the defrag helped him by kick-starting his SSD garbage collection routine somehow, or maybe moving data away from a bad block of flash?
Fragmented files on an SSD makes zero difference to performance.
‘……………utter nonsense’? Bit harsh Ten98!
If Golem finds he has a performance increase after defragging, irrespective of the reason for it, I’d have thought that he and many others are going to defrag occassionally .
The fact that “fragmented files on an /ssd makes zero difference to performance”, in itself is really neither here nor there.
Guys, Golem is absolutely right. You all need to learn about how the NTFS filesystem works. HDDs and SSDs do not need defragmenting, they are always seen as one large, contiguous file, no matter what is stored on them. However, the NTFS filesystem does need defragmentationâ€”no matter what the storage media is. The performance penalty of a fragmented NTFS filesystem is greater on a HDD then on a SSD, because the SSD can do random reads very fast, whereas the HDD is very slow with random reads.
First of all, there is a synchronization latency simply to do an I/O operation, regardless of the amount of data transferred. If the NTFS filesystem is badly fragmented, it will read your files in many tiny I/O reads instead of a few large I/O reads. Each of these “reads” has a synchronization penalty.
Secondly, each MFT record can hold only so many fragments before an “extended” record has to be created. Fragment the file some more, and another “extended” record will have to be created. To read the file, Windows will have to read each of these into memory, which takes time and memory space. Then the NTFS filesystem driver has to parse the “file extent” data to calculate the actual offsets to the portion of data that was requested. That takes CPU time.
Thirdly, the concept of “fragmentation” on an SSD with regards to the wear leveling is totally wrong; that should be called “mapping” to keep it separate from the totally unreleated concept of filesystem fragmentation. We are not trying to defragment the SSD (which will span and stripe the data across memory cells regardless), we’re defragmenting the NFTS filesystem, which gets slower and slower the more fragments it has to keep track of.
I can prove this with a RAM drive folks, and a RAM drive is much faster than a SSD!