Performance Over Time & TRIM

My biggest issue with Samsung SSDs in the past has been their extremely poor performance over time. Samsung doesn't do a lot of active garbage collection while writing in order to maintain ultra high write speeds, instead it prefers to clean up the drive during periods of little to no IO activity. Unfortunately this approach can result in pretty poor performance over time. In the old days the Samsung controllers would hit single digit write speeds, often slowing down to sub-HDD speeds. These days things are a lot better but it's still a concern. To quantify the behavior I filled all user addressible LBAs on the SSD 830, then proceeded to run our random write torture test on the now-dirty drive. After 20 minutes of torture I ran a single sequential read/write pass to measure how much of a hit the drive took.

Sequential read/write performance should be around 400/330 according to Iometer. Here's what the drive looks like after our torture test:

There's a significant drop in performance but the drive is still able to deliver ~100MB/s speeds. This graph is a bit deceptive however. After 20 minutes of 4KB random writes the SSD 830 will only write at a rate of around 20MB/s. By not doing much realtime garbage collection the random write speed can drop significantly over time, but at a lower write speed the 830 isn't penalized as much as other drives. To help deal with this issue I extended the length of our torture test to 60 minutes and re-ran:

Ah that's a lot more like it. Performance drops significantly, down to as low as 50MB/s for the earliest LBAs. Given enough idle time the 830 should correct much of this and obviously TRIMing those LBAs will restore full performance (as you'll see below) but the point is that by delaying the bulk of garbage collection the Samsung SSD 830 is able to drop in performance by a degree that I'm not super comfortable with. This phenomenon isn't exclusive to Samsung, you'll remember that we've complained about it with Crucial drives as well. Other than SandForce and Intel most controller manufacturers tend to follow a similar clean up the mess later approach to firmware design. In my opinion I'd much rather see lower peak performance and get higher worst case scenario performance as it tends to impact the user experience less.

If you are running under a TRIM enabled OS performance does restore to peak quite nicely after a TRIM pass:

AnandTech Storage Bench 2011 - Light Workload Power Consumption
POST A COMMENT

99 Comments

View All Comments

  • johan851 - Saturday, September 24, 2011 - link

    Great article! I'm a little curious, though, as to why you prefer a drive to garbage collect in real time rather than cleaning up after the fact. While I think I sympathize with the idea of improving worst-case performance at the expense of the average, which essentially gives users a less bumpy ride, aren't most typical desktop usage scenarios full of idle disk time?

    I like the emphasis on Anandtech on what actually matters in real world scenarios, but it seems that your complaint on this particular matter is very much the opposite. The typical desktop user isn't going to fill the drive with writes and then immediately demand super high performance - at least I can't think of a desktop usage situation that would exhibit that pattern. I work on my computer for a few hours and then it sits for a while. Given that the average user idles their disk constantly, doesn't cleaning up while idle provide higher average performance in the long run?
    Reply
  • Anand Lal Shimpi - Saturday, September 24, 2011 - link

    You are correct, for mostly idle workloads it should work fine. The problem is with a mostly full drive, it's possible that during bursty periods of work the performance will degrade to the point that you'd notice it. Hopefully it'd correct overnight but if you sleep your machine then it prolongs the process.

    I'd argue that most desktop workloads won't show the difference between 150MB/s and 100MB/s in 4KB random writes. I'd much rather have the latter and enjoy a more consistent user experience.

    I do understand Samsung's argument that delaying garbage collection would seem to work for mostly idle scenarios, I just don't believe there's any downside to doing it the opposite way and only potential upside there.

    Take care,
    Anand
    Reply
  • johan851 - Saturday, September 24, 2011 - link

    Fair enough. Thanks for the reply and another awesome SSD article. Reply
  • leexgx - Sunday, September 25, 2011 - link

    but even worst case its still 200x faster then an HDD do same work load, you not notice it unless your benchmarking it

    did the disk have any stuttering issues when it was very badly degraded? (access time was reported as 0.1 in that test)

    i did not see it but do you no longer do access time tests any more
    Reply
  • marraco - Saturday, September 24, 2011 - link

    Even if the common user don't use it, is important to know.

    And the drive is not just for the common user.
    Reply
  • Malih - Monday, September 26, 2011 - link

    Well, enthusiast gamers usually use SSD as game installation disk, and they would (mostly) play games right away after installing or downloading from Steam.
    So 'on-write-garbage-collection' is preferable in this case.
    Reply
  • Beenthere - Saturday, September 24, 2011 - link

    As any number of owner reviews can attest the Samsung 470 was a nightmare of problems for many people concerning compatibility and in some cases reliability. The 830 looks to be a nice performance improvement but if the compatibility, garbage cleaning and installation/reliability issues haven't been resolved, these drives like the majority of current MLC based SSDs are simply not ready for Prime Time. Samsung's customer support appears non-existent. Consumers are being used as unpaid Beta testers IMO. Reply
  • kmmatney - Saturday, September 24, 2011 - link

    I've had no problem with my Samsung 470 - I can attest that its a reliable drive. Reply
  • xype - Saturday, September 24, 2011 - link

    I have a 470 that I installed in my 2009 MacBook Pro. Works like a charm, installation happened without problems, seems reliable (so far). *shrugs* Reply
  • jwilliams4200 - Saturday, September 24, 2011 - link

    He wrote "any number" of reviews. Zero is a number. Reply

Log in

Don't have an account? Sign up now