Sign in with
Sign up | Sign in

Required, Needed, And Wanted

SSD Performance: TRIM And Firmware Updates Tested
By

Required: A Decent System

Many people consider SSDs to be a nice upgrade option, even for older systems, as the impact of a much-accelerated storage subsystem is extremely noticeable. However, SSD performance is partly and sometimes largely defined by a system’s ability to handle large amounts of I/O activity. This means that an SSD will only deliver peak performance if it is hosted on a fast system. We found that even a high-end SSD delivers 10-20% less performance if operated on a computer with insufficient CPU horsepower. This has happened to us on older Pentium 4 or early-generation Athlon 64 machines with single-core CPUs. Hence, we recommend that you first spend money on a decent platform before worrying about sinking hundreds of dollars into a solid state drive.

A minimum level of performance isn't just limited to the processor, either. It also includes your storage controller. While 6 Gb/s SATA is nice to have, there is currently only one SSD product available that would take advantage of the increased headroom. If you’re looking at an SSD that has a 3 Gb/s interface, then a 3 Gb/s interface is all you need. However, pay attention to the controller specification: only an AHCI device (Advanced Host Controller Interface) will be able to fully support an SSD, which means that a legacy controller almost always results in decreased performance, simply because it cannot handle all commands, such as queuing and TRIM.

A final system check should also include your driver situation. Are you sure that you’re running the latest available storage driver? If not, it makes sense to simply download and install the latest version, as up-to-date software is required for the exact same reason as a AHCI controller: you definitely want to make sure that an SSD is fully supported. And lastly, any hardware configuration change might cause issues on the storage side. We’ve seen systems with SSDs dropping to only ~10 MB/s maximum throughout after we exchanged the storage controller. Although Windows automatically detected the new device and installed the software, we could only regain maximum SSD speed after uninstalling and reinstalling the storage drivers.

Needed: TRIM Support

Data management is simple on hard drives, as information is stored in individual blocks that follow a logical count through LBA (logical block addressing). The hard drive typically knows where to locate individual blocks, and it can reposition its heads to a certain track to read or write them. It can do this one by one for each and every block.

NAND flash memory has its own idiosyncrasies. One of them is the limited life span of flash memory cells that forces SSD makers to work with wear leveling algorithms in an effort to even out the life expectancy of all memory cells used on a solid state drive. Another characteristic is the fact that MLC flash memory has to be erased before it can be written, and that drives typically work with larger block sizes than those of the operating system (512 KB vs. 4 KB). This means that a few kilobytes write operation triggers an entire block to be read, erased, modified, and written. As you can imagine, this takes some time and it wears all involved memory cells. The FTL (Flash Transition Layer) is utilized to map physical data to logical LBA data, but I believe you can imagine that it’s quite a bit of work for the controller to balance wear leveling and performance. This is commonly known as write amplification. It is expressed through a simple number that tells you the percentage factor of write data that is actually written.

TRIM is a feature that facilitates the controller’s work. It is a command issued by the operating system and basically enables an SSD to eliminate the garbage collection overhead. Any deletion triggered by the operating system at the page level will not immediately execute a physical erase. Instead, the pages are marked as available. Any erase operation always involves the entire block, even though only one page might be affected. Thus, TRIM takes care of the overhead associated with writes in the background, preventing a slow-down when the write actually occurs.

Requirements

First of all, you need an SSD that supports the TRIM feature. This is the case for almost all products available on the market today, but TRIM can technically be added to older SSD designs through a firmware update. However, most vendors seem to have abandoned older solid state products, instead using TRIM as a differentiator on newer drives. To be safe, you're better off not searching for a deal in the clearance bin; just buy one of the newer drives and avoid those support issues.

Secondly, you need an AHCI-compliant SATA storage controller. The Advanced Host Controller Interface has been available for a few years, and even if your system supports AHCI, this mode has to be switched on in the BIOS. Make sure that you use the latest storage drivers as well.

Lastly, the operating system also needs to support TRIM. This is the case on all editions of Windows 7 and Windows Server 2008 R2, Linux 2.6.33, Open Solaris, and FreeBSD 8.1. If you're using an operating system that doesn’t support TRIM, but have compatible hardware otherwise, then you can also use a TRIM utility like hdparm for Linux to manually trigger the command. Be careful with other tools, though, as it is possible to physically reset an SSD as well. This is commonly known as sanitization and should not be confused with TRIM, as sanitizing a drive means to fully erase it.

Wanted: Latest Firmware

We’ve tried many firmware updates on different storage products. Therefore, we can tell you that SSDs are among the most sensitive components around when it comes to firmware modifications and their effect on performance. RAID adapters can typically be adjusted for different application scenarios by altering the firmware, but hard drive or optical drive firmware updates are usually something like a maintenance fixe. In the case of SSDs, it’s an entirely different story.

Intel’s first X25-M drive didn’t deliver a lot more performance than it does today when Intel started to ship its first updates, but the drive actually managed to maintain high levels of performance, even in high load scenarios. This was back at a time when TRIM was not yet available. Therefore, it was up to the drive to maintain performance levels that users expected.

During our testing for this piece, where we were trying to show the difference between TRIM enabled and disabled, Samsung happened to release a new firmware version for the 470-series SSD. Hence, we decided to repeat our tests with the new 0701 and add the results to the numbers we obtained with the 0601 version. It turns out that the new firmware not only increases overall performance, but it also assists in minimizing the performance impact if TRIM is disabled. For users who want or need to operate an SSD in an imperfect system without TRIM support, this fact might be very important.

Display all 29 comments.
This thread is closed for comments
  • 2 Hide
    Tamz_msc , December 24, 2010 4:23 AM
    Thanks for this useful article.
  • 8 Hide
    jprahman , December 24, 2010 4:25 AM
    It's good to see progress in terms of reducing the decay in performance you get in SSDs during usage. I just want to see prices drop to the point where I can actually afford one.
  • 7 Hide
    danielgr , December 24, 2010 5:51 AM
    Nice article.

    That said, on one side it's pretty obvious that you can get "the best out of your SSD with modern HW", on the other side I totally disagree on your comment about "using it on older hardware not being interesting".
    All the fuzz about "maximum performance" is pretty nice to run benchmarks and so on, but it has only a very mitigated effect on real life. My experience is actually quite opposite to what your statement intended:
    - Put an SSD on a nice recent rig (I did) and you'll be pleased with the performance, but that's about it.
    - Put an SSD on an old subpair computer you were about to throw away and you'll be amazed of how fast it became, literally making you believe you can use it for some extra years more without problems (I did). Indeed, an SSD is the killer update for any old HW you may have, and you'll notice much more than any CPU/Memory/GPU whatever you may try.

    Back to real life, most people can't tell the difference between "the fastest SSD" and a "normal SSD" if not after running some benchmarks or I/O performance specific tool.

    PS: Makers such as Intel offer "clean-up utilities" that don't need AHCI nor TRIM to be effective and can be easily programed to automatically run once a week or so.

    PS2: No coincidence on what I said the fact that for example in Japan you can find a subpair/expensive SSD on the top10 selling list, simply because it's the only one available with IDE ! (which tells you people are actively using it to resuscitate old HW).
  • 1 Hide
    danielgr , December 24, 2010 5:53 AM
    ERRATA: As for the Intel bit, it should have read : "don't need AHCI nor W7" to be effective. Obviously it needs TRIM, which is supported by all Intel branded Intel SSDs ...
  • 2 Hide
    The_Lurker , December 24, 2010 7:04 AM
    I like this article thanks.
  • 0 Hide
    saint19 , December 24, 2010 11:51 AM
    @Patrick Schmid and Achim Roos

    Good article guys, but Why not before recommend enable or disable TRIM, tell to users how verify if this is enable or not?

    Also would be great test more that one SSD, Samsung is the newest one, but not the faster one.
  • 2 Hide
    marraco , December 24, 2010 11:53 AM
    Samsung is not representative enough. At least an Intel, SandForce, Indilinx, and jMicron controller should be tested.

    Also, a commons scenario is to clone an OS HDD partition onto a new SSD, and it generally leaves physical and logical sectors misaligned. So, it is important to remark that missalineation negatively impacts performance.
  • 0 Hide
    saint19 , December 24, 2010 11:55 AM
    mayankleoboy1to use an SSD as only a boot disk for win7 OS, which SSD parameter is the most important? 4kreads / 4kwrites/ ramdom/sequential?


    4K parameters.
  • 3 Hide
    ctbaars , December 24, 2010 12:16 PM
    danielgrNice article.That said, on one side it's pretty obvious that you can get "the best out of your SSD with modern HW", on the other side I totally disagree on your comment about "using it on older hardware not being interesting".All the fuzz about "maximum performance" is pretty nice to run benchmarks and so on, but it has only a very mitigated effect on real life. My experience is actually quite opposite to what your statement intended:- Put an SSD on a nice recent rig (I did) and you'll be pleased with the performance, but that's about it.- Put an SSD on an old subpair computer you were about to throw away and you'll be amazed of how fast it became, literally making you believe you can use it for some extra years more without problems (I did). Indeed, an SSD is the killer update for any old HW you may have, and you'll notice much more than any CPU/Memory/GPU whatever you may try.Back to real life, most people can't tell the difference between "the fastest SSD" and a "normal SSD" if not after running some benchmarks or I/O performance specific tool.PS: Makers such as Intel offer "clean-up utilities" that don't need AHCI nor W7 to be effective and can be easily programed to automatically run once a week or so.PS2: No coincidence on what I said the fact that for example in Japan you can find a subpair/expensive SSD on the top10 selling list, simply because it's the only one available with IDE ! (which tells you people are actively using it to resuscitate old HW).

    +10
    This is my Exact, Real Life, experience too.
  • 0 Hide
    nekromobo , December 24, 2010 12:18 PM
    danielgrERRATA: As for the Intel bit, it should have read : "don't need AHCI nor W7" to be effective. Obviously it needs TRIM, which is supported by all Intel branded Intel SSDs ...


    It does not need TRIM, as there is Intel SSD toolbox which "TRIM's" your Intel SSD as scheduled (once a week/day/hour however you config it)
  • 3 Hide
    Anonymous , December 24, 2010 12:40 PM
    A little off-topic, but I didn't finish the article because every single time I went to the next page, I got a Lenovo ad in my face that I had to click a link to skip. One ad periodically is fine, but an in-your-face ad every time you go to the next page? Unacceptable. I find it hard to believe that's what you guys are intending. If it's not, you need to fix it. FWIW, I'm running IE8 on a new install of Win7 with no plug-ins and cookies enabled, just a standard configuration, so I'm betting others are having the same poor experience.
  • 2 Hide
    Anonymous , December 24, 2010 12:46 PM
    I'm with you on the nuisance ads -- the Lenovo one was nothing like as annoying as that brightly animated HP toner ad, though.

    Best solution is to switch to the Firefox browser and run ad-block
  • -2 Hide
    mister g , December 24, 2010 12:46 PM
    Not me, I'm runnning the same things. I think you should just wait for the ad to dissappear on its own, that way the cookies might remember you looked at the ad and might not pop another one up so soon after.
  • 0 Hide
    hixbot , December 24, 2010 12:54 PM
    It sure would be nice to see a Raid 0 battle between SSDs, with degraded performance comparisons etc.
  • 0 Hide
    Aragorn , December 24, 2010 12:56 PM
    The d*mn ads are terribly annoying. I don't wan't to run ad block because I know Tom's needs the revenue to survive (if none of us looked at the ads there would be no Tom's). That said I think I am going to start having to go over to another news site until they get this page blocking ad thing sorted I could live with it when they showed me on the first time I came to Tom's in a session but every page is ridiculous especially when it is the same ad repeatedly.
  • 0 Hide
    superflykicks03 , December 24, 2010 1:26 PM
    So...it took hours of benchmarking to show us that when using a relatively immature piece of hardware, we should update our firmware, used the latest drivers, and enable TRIM? Aren't these things that most power users already do? It would be nice to see some more advanced information on SSD's, such as the impact on performance following long term use of SSD's in RAID 0 (when trim cannot be used)...etc...etc...

  • 1 Hide
    wolfram23 , December 24, 2010 1:37 PM
    Nice article. I guess it's time to look up if there's newer firmware on my X25M 80gb, and also if there's new RAID drivers for Win 7.

    @superflykicks03 why do you assume everyone reading this article would be a "power user" who already does this? There's a plethora of people out there who will read this and who aren't anal about checking for firmware and driver updates. Therefore, useful article is useful.
  • 1 Hide
    sleeper52 , December 24, 2010 5:52 PM
    there's still no TRIM when you enable RAID 0 right?
  • 0 Hide
    Makaveli , December 24, 2010 6:20 PM
    "It does not need TRIM, as there is Intel SSD toolbox which "TRIM's" your Intel SSD as scheduled (once a week/day/hour however you config it)"

    umm the author was speaking about G1 intel drives which doesn't support trim and you cannot use the intel toolbox on those drives!

  • 0 Hide
    firemachine69 , December 24, 2010 6:45 PM
    saint19@Patrick Schmid and Achim RoosGood article guys, but Why not before recommend enable or disable TRIM, tell to users how verify if this is enable or not?Also would be great test more that one SSD, Samsung is the newest one, but not the faster one.



    You have to make a very concerted effort in Windows 7 (and the current build of Linux, if my understanding is correct) to disable TRIM.


    I run my games and docs from a 5900rpm HDD, and my apps and Win7 from my basic Kingston Value SSD (128gb). My rig is pretty basic, too - Intel quad-core Q9550, 8 gigs of DDR3, on an Asus P5E3 Workstation mobo. Not "ancient", but by no means blazing fast.
Display more comments