Garbage Collection & The TRIM Bug

Like any RAID array of SSDs, there's currently no way to pass TRIM along to member drives. Once data is written to the RAID array it remains tracked and accounted for until the addresses are overwritten. This is the performance over time degradation issue we talked about at the beginning of our SSD coverage a couple of years ago.

SSD controller manufacturers have avoided the TRIM issue by equipping drives with idle garbage collection. The principle behind idle garbage collection is simple. When the SSD controller detects a period of no activity, it can query the file system for available addresses, and then internally mark those addresses for cleaning.

The RevoDrive x2 features idle garbage collection, which for most users should be sufficient to keep the drive running at full speed. There is a problem however. Current SandForce drives have a bug that impacts TRIM (and idle garbage collection). If you fill all available NAND on a SandForce drive by writing incompressible data to all user accessible LBAs and all spare area, the drive will no longer be able to restore itself to full performance via TRIM or any idle garbage collection. This impacts the RevoDrive x2 as well as standard SandForce SSDs.

I'm still in the early stages of measuring the real world impact of this bug and I made SandForce aware of it two weeks ago. At this point I'd simply caution against operating a SandForce drive near capacity filled with primarily incompressible data (e.g. compressed videos, photos). The problem is even more sensitive on a card like the RevoDrive x2 since there's no way to secure erase the drive to fully recover from a reduced performance state.

Expect to hear more about this in the next major SSD article on AnandTech.

Final Words

The RevoDrive x2, like its predecessor, continues to be a very niche product. Both sequential and random performance are measured in the multiple hundreds of megabytes per second. Like all SandForce drives, the RevoDrive x2's performance is highly dependent on the type of data you're moving. Highly compressible data will see speeds as high as 800MB/s, while incompressible data may behave more like it would on a single SSD from Crucial. The beauty of SandForce's technology is you get great performance on traditional desktop workloads, but as always you need to be mindful of what you're storing on the drive when you decide to go with SF.

The reality for OCZ however is there’s no performance benefit to purchasing a RevoDrive x2 over four Vertex 2s and creating your own RAID array. We’re talking about a simple RAID-0 here, something any performance mainstream motherboard supports right out of the box. To make for an even tougher sell, the RevoDrive x2 will likely cost more than four Vertex 2s. The original Revo was supposed to be slightly more affordable than an array of Vertex 2s, but a quick look at Newegg shows us that you pay a $40 premium for the Revo.

 

What OCZ (and other companies) ultimately need to do is introduce a SSD controller with a native PCI Express interface (or something else other than SATA). SandForce’s recent SF-2000 announcement showed us that SATA is an interface that simply can’t keep up with SSD controller evolution. At peak read/write speed of 500MB/s, even 6Gbps SATA is barely enough. It took us years to get to 6Gbps SATA, yet in about one year SandForce will have gone from maxing out 3Gbps SATA on sequential reads to nearing the limits of 6Gbps SATA. 

On the surface, OCZ is offering us what we want - a high performance PCIe SSD. However the RevoDrive needs to offer something more than ease of installation. 

All of the major controller players are hard at work on PCIe based SSDs, but I haven’t been made aware of immediate plans to release any of them. The focus continues to be winning 2.5” SATA SSD market share at this point. 

Random & Sequential Read/Write Performance
POST A COMMENT

46 Comments

View All Comments

  • Out of Box Experience - Friday, November 5, 2010 - link

    Give us some Real-World numbers for a worst case scenario!

    Running Windows XP-SP2 on one of these with XP partitions (Not Aligned) and ZERO SSD Tweeks, how fast can these drives copy and paste 1GB of data with over 1000 files in at least 100 directories

    A vertex 2 can do it @ a meager 3.636MB / sec
    A 2.5 inch 5400RPM WD Laptop drive is FASTER than a Vertex 2 in this type of test
    A 7200RPM WD Desktop Drive is A LOT faster

    SSD's are still CRAP at copying and pasting uncompressible data around on the sasme drive that its stored on

    But they boot about as fast as my 300X Compact Flash

    Thats something I guess
    Reply
  • extide - Monday, November 8, 2010 - link

    No, just the the drives optimally. Align it.

    That's like saying I am going to limit my HDD to PIO mode and bench it against another one in UDMA mode.

    Pretty much assinine, I mean you can even fix an unaligned partition and move an unaligned one from an HDD to an SSD and make it aligned. It's not very hard...
    Reply
  • thanared - Friday, November 5, 2010 - link

    I don't know how Anand does his test... but I have 2 revo drive 240 gb in a stripe on an i7 based asus super computer and i get 1028 MBytes per second.

    I break the revo drive stripe, stripe in windows, and align the drive.
    Reply
  • thanared - Friday, November 5, 2010 - link

    Sorry.. using Iomter, 1 worker, 32 outstanding i/o per target, 128k sequential Reply
  • FH123 - Saturday, November 6, 2010 - link

    Anand, if you're investigating the real-world impact of the idle garbage collection bug, can you use a full-disk encryption product, such as Truecrypt? I believe even when you just initialise a TrueCrypt drive (the recommended slow version, not the quick), it fills every sector with random garbage for security purposes, which is presumably uncompressible. I suspect that, until such encryption products are written to interface with the TRIM command, they will cause you a real world problem right there and then, because they'll fill the disk with uncompressible data from the get-go. Remind us, do Sandforce implement full-drive encryption themselves, mitigating the need for programs like TrueCrypt when you want encryption?

    Something unrelated also springs to mind. You have previously slated Samsung SSDs for their relatively poor performance and - now I can't remember for sure, so correct me if I'm wrong - lack of TRIM. However I've read elsewhere that the later Samsung SSDs, e.g. since maybe a year ago or so, actually recognise when they are being formatted with an NTFS file system. This would theoretically allow them two things: (A) Automatically align the file system sector/cluster boundaries with SSD sectors and (B) Perform TRIM internally, because it understands NTFS and knows which sectors are empty. If true, then I think this is really quite smart. It avoids the need for TRIM altogether and should work across all Windows operating systems that use NTFS, even XP. The downside is, if Microsoft change NTFS in such a way as to break Samsung's understanding of it. That would, hypothetically, create an incompatibility with future Microsoft OSs.
    Reply
  • x0rg - Tuesday, November 9, 2010 - link

    What if you just create a partition that is not using the full drive capacity, but 95%? would it help? Reply

Log in

Don't have an account? Sign up now