Performance Over Time and TRIM

Garbage collection and TRIM are often things that separate very similar drives if they have different firmware. I ran a few more tests than we usually run in order to understand the drive's behavior better and hopefully illustrate some questions that our readers have brought up. Let's start off by running HD Tach on a clean drive so we have a reference for comparison:

To begin our torture session, I filled the drive with compressible data and proceeded to hammer it with compressible 4KB random writes (QD32, 100% LBA space) for 20 minutes:

We are looking at 171.6MB/s on average, although the performance does drop to as low as ~60MB/s on the earliest LBAs. For comparison, Plextor's M3 scored an average of 163MB/s so the two are very close to each other once again.

As you can see, 20 minutes was not enough to put the Performance Pro on its knees, thus I secure erased the drive, filled it again and now ran our torture test for 60 minutes:

That's more like it. Average write speed drops to 57.4MB/s and at the lowest the Performance Pro is only able to write at ~35MB/s.

The next graph is HD Tach after 60 minutes of torture, followed by 40 minutes of idle time. Note that I did not run HD Tach in between, the drive was left idle right after torturing.

And the performance is almost the same as without idle time. There is around 4MB/s difference in average write speed, which is essentially nothing.

However, there is a rescue: sequential writes. The graph below is also after 40 minutes of idle time but now I ran HD Tach right after the 60 minute torture and then let the drive idle for 40 minutes:

Performance is much better now. The purpose of this test is to illustrate how sequential writes help to restore performance. It's actually quite logical. If you have a drive full of random data and another write comes in, there is a good chance that read-modify-write will be triggered (i.e. the block must first be read to cache and then rewritten with the new page of data). As Anand explained in our SSD Anthology, read-modify-write operations cause a decline on write speeds from a user's perspective—the actual drive is still writing at the same speed but now it has to read the block first, modify select pages and then rewrite the whole block.

On the other hand, a drive that's full of random data which was overwritten by sequential data effectively looks like a post-TRIM drive. The controller can simply throw away all dirty blocks and start writing from scratch. There is still some tracking that the controller needs to do and read-modify-write may be triggered, hence there's lower performance than at clean state, but there is a lot less compared to a drive full of random data.

I decided to run HD Tach one more time after the drive had been idling for two hours:

And performance is almost back to new. Note that this is the third time I'm running HD Tach after the drive was secure erased and tortured, so that's even more sequential writes.

Finally, I secure erased the drive, tortured for 60 minutes and then TRIM'd to see that TRIM is effective—and it is.

To analyze these results quickly, there is once again absolutely no problem if you're running an OS with TRIM support. I would also say that the Performance Pro is fine for an OS without official TRIM support (e.g. OS X). As the graphs show, performance can get pretty bad if the drive is put into a tortured state, but this is the case with all SSDs we have seen so far. However, idle time and sequential writes come to the rescue.

Also, TRIM can nowadays be enabled in OS X. Even if you are not comfortable with TRIM being enabled 24/7 since it's not officially supported by Apple for third party drives, you can always enable TRIM, secure erase free space in Disk Utility, and then disable TRIM. That will TRIM the empty space in your SSD and hence restore performance.

Furthermore, our tests are extreme and their purpose is to show how the drive behaves when it's backed into a corner. You would need a very heavy and specific workload to put the drive in this state, so especially for a normal user there is nothing to worry about even if you're running OS X.

AnandTech Storage Bench 2011, Light Workload Power Consumption
Comments Locked

41 Comments

View All Comments

  • FunBunny2 - Monday, May 14, 2012 - link

    -- Only Intel uses in-house firmware whereas the rest use the firmware that SandForce provides.

    OCZ seems to say that they do their own firmware. How to know which is which?
  • SilthDraeth - Monday, May 14, 2012 - link

    Doesn't Samsung use their own firmware also?
  • Operandi - Monday, May 14, 2012 - link

    Samsung uses their own everything.
  • vol7ron - Monday, May 14, 2012 - link

    Can someone do a follow-up to see that those Sequential Read numbers are right for the Vertex 4?

    It just seems odd that the Vertex-4 bested the Vertex-3 on everything, but was significantly lower with Seq.Read
  • SSD_Privacy - Thursday, May 17, 2012 - link

    Yes Samsung does, but does it erase your data when it says it does? The Corsair, OCZ etc.?

    http://www.usenix.org/event/fast11/tech/full_paper...

    According to this paper SSD's are very insecure. One drive reported that the data was gone when in fact all of the data was recoverable.

    Which drive was that? This paper does not tell us that. It would be very helpful if Anandtech would replicate this study and tell us which drives performed in what capacity. Much more helpful than whether drive A performed a write/read 10kb/sec faster than drive B.
  • appliance5000 - Friday, May 18, 2012 - link

    I might be misunderstanding what's being said here, but unless you do a "secure empty trash" all that's happening when you empty the trash is that you're telling the computer that it can write over the sectors that were "emptied". The trashed data is actually still there until overwritten and thus recoverable. This is true with all drives.
  • SSD_Privacy - Saturday, May 19, 2012 - link

    SSD drives do not store data as platter drives do. An SSD drive has a controller on board that is independent of the operating system. Data is stored all over the drive at random and tracked by the controller and firmware. When you use Secure Delete Trash or Eraser on a file stored on a platter drive it will erase the data, but used on an SSD the operating system is blind to the actual location of the file.

    The controller removes data using its firmware "garbage collection" to prepare it for new writing. In addition, some drives have significant space that is not accessible by the user that stores and rewrites data, so if you do a full wipe none of that data will be wiped. Also some data was found to be recoverable on one drive after twenty wipes had been performed due to how the wipe was implemented by the controller on that SSD.
  • exallium - Monday, May 14, 2012 - link

    I believe Crucial uses the Marvell controller on the M4
  • Kristian Vättö - Monday, May 14, 2012 - link

    To clarify: I was referring strictly to SandForce based SSDs. Only Intel has a custom firmware in their SandForce based 520 and 330 series SSDs - other OEMs use the firmware that SandForce provides.

    When we hop off the SandForce train, custom firmwares are much more common. Samsung makes everything from DRAM to firmware, Micron/Crucial uses Marvell controller but everything else is in-house, OCZ uses (possibly custom) Marvell controller in Vertex 4 but in-house firmware, and so on.
  • Tommyv2 - Monday, May 14, 2012 - link

    How come there's no Plextor M3 Pro review, or at least including it in the charts? That's the one to beat, not the stock M3. It's supposed to be the "best of the best" of Marvell drives and AT has ignored it...

Log in

Don't have an account? Sign up now