AnandTech Storage Bench 2011

With the hand timed real world tests out of the way, I wanted to do a better job of summarizing the performance benefit of Intel's SRT using our Storage Bench 2011 suite. Remember that the first time anything is ever encountered it won't be cached and even then, not all operations afterwards will be cached. Data can also be evicted out of the cache depending on other demands. As a result, overall performance looks more like a doubling of standalone HDD performance rather than the multi-x increase we see from moving entirely to an SSD.

Heavy 2011—Background

Last year we introduced our AnandTech Storage Bench, a suite of benchmarks that took traces of real OS/application usage and played them back in a repeatable manner. I assembled the traces myself out of frustration with the majority of what we have today in terms of SSD benchmarks.

Although the AnandTech Storage Bench tests did a good job of characterizing SSD performance, they weren't stressful enough. All of the tests performed less than 10GB of reads/writes and typically involved only 4GB of writes specifically. That's not even enough exceed the spare area on most SSDs. Most canned SSD benchmarks don't even come close to writing a single gigabyte of data, but that doesn't mean that simply writing 4GB is acceptable.

Originally I kept the benchmarks short enough that they wouldn't be a burden to run (~30 minutes) but long enough that they were representative of what a power user might do with their system.

Not too long ago I tweeted that I had created what I referred to as the Mother of All SSD Benchmarks (MOASB). Rather than only writing 4GB of data to the drive, this benchmark writes 106.32GB. It's the load you'd put on a drive after nearly two weeks of constant usage. And it takes a *long* time to run.

First, some details:

1) The MOASB, officially called AnandTech Storage Bench 2011—Heavy Workload, mainly focuses on the times when your I/O activity is the highest. There is a lot of downloading and application installing that happens during the course of this test. My thinking was that it's during application installs, file copies, downloading and multitasking with all of this that you can really notice performance differences between drives.

2) I tried to cover as many bases as possible with the software I incorporated into this test. There's a lot of photo editing in Photoshop, HTML editing in Dreamweaver, web browsing, game playing/level loading (Starcraft II & WoW are both a part of the test) as well as general use stuff (application installing, virus scanning). I included a large amount of email downloading, document creation and editing as well. To top it all off I even use Visual Studio 2008 to build Chromium during the test.

The test has 2,168,893 read operations and 1,783,447 write operations. The IO breakdown is as follows:

AnandTech Storage Bench 2011—Heavy Workload IO Breakdown
IO Size % of Total
4KB 28%
16KB 10%
32KB 10%
64KB 4%

Only 42% of all operations are sequential, the rest range from pseudo to fully random (with most falling in the pseudo-random category). Average queue depth is 4.625 IOs, with 59% of operations taking place in an IO queue of 1.

Many of you have asked for a better way to really characterize performance. Simply looking at IOPS doesn't really say much. As a result I'm going to be presenting Storage Bench 2011 data in a slightly different way. We'll have performance represented as Average MB/s, with higher numbers being better. At the same time I'll be reporting how long the SSD was busy while running this test. These disk busy graphs will show you exactly how much time was shaved off by using a faster drive vs. a slower one during the course of this test. Finally, I will also break out performance into reads, writes and combined. The reason I do this is to help balance out the fact that this test is unusually write intensive, which can often hide the benefits of a drive with good read performance.

There's also a new light workload for 2011. This is a far more reasonable, typical every day use case benchmark. Lots of web browsing, photo editing (but with a greater focus on photo consumption), video playback as well as some application installs and gaming. This test isn't nearly as write intensive as the MOASB but it's still multiple times more write intensive than what we were running last year.

As always I don't believe that these two benchmarks alone are enough to characterize the performance of a drive, but hopefully along with the rest of our tests they will help provide a better idea.

The testbed for Storage Bench 2011 has changed as well. We're now using a Sandy Bridge platform with full 6Gbps support for these tests. All of the older tests are still run on our X58 platform.

AnandTech Storage Bench 2011—Heavy Workload

We'll start out by looking at average data rate throughout our new heavy workload test:

AnandTech Storage Bench 2011—Heavy Workload

For this comparison I used two hard drives: 1) a Hitachi 7200RPM 1TB drive from 2008 and 2) a 600GB Western Digital VelociRaptor. The Hitachi 1TB is a good large, but aging drive, while the 600GB VR is a great example of a very high end spinning disk. With a modest 20GB cache enabled, the 3+ year old Hitachi drive is easily 41% faster than the VelociRaptor. We're still not into dedicated SSD territory, but the improvement is significant.

I also tried swapping the cache drive out with a Crucial RealSSD C300 (64GB). Performance went up a bit but not much. You'll notice that average read speed got the biggest boost from the C300 as a cache drive since it does have better sequential read performance. Overall I am impressed with Intel's SSD 311, I just wish the drive were a little bigger.

The breakdown of reads vs. writes tells us more of what's going on:

AnandTech Storage Bench 2011—Heavy Workload

AnandTech Storage Bench 2011—Heavy Workload

This isn't too unusual—pure write performance is actually better with the cache disabled than with it enabled. The SSD 311 has a good write speed for its capacity/channel configuration, but so does the VelociRaptor. Overall performance is still better with the cache enabled, but it's worth keeping in mind if you are using a particularly sluggish SSD with a hard drive that has very good sequential write performance.

The next three charts just represent the same data, but in a different manner. Instead of looking at average data rate, we're looking at how long the disk was busy for during this entire test. Note that disk busy time excludes any and all idles, this is just how long the SSD was busy doing something:

AnandTech Storage Bench 2011—Heavy Workload

AnandTech Storage Bench 2011—Heavy Workload

AnandTech Storage Bench 2011—Heavy Workload

The Downside: Consistency AnandTech Storage Bench 2011 - Light Workload
Comments Locked

106 Comments

View All Comments

  • MrCromulent - Wednesday, May 11, 2011 - link

    Thanks for the review! Good to see that Intel's SSD caching actually works quite well.

    I'm looking forward to the next generation of SB notebooks with a ~20GB mSATA SSD drive combined with a 1TB 2,5" hard drive.
  • dac7nco - Wednesday, May 11, 2011 - link

    Indeed. I'd be interested in seeing how a Crucial M4 64GB mated to a pair of short-stroked single-platter Samsung drives in RAID-0 would perform in a dedicated gaming system.
  • JarredWalton - Wednesday, May 11, 2011 - link

    Really? Man, I thought short-stroking drives was all but dead these days. That's the whole point of SSDs: if you're so concerned about storage performance that you're willing to short-stroke an HDD, just move to a full SSD and be done with it. Plus, storage is only a minor bottleneck in a "dedicated gaming system"; your GPU is the biggest concern, at least if you have any reasonable CPU and enough RAM.

    My biggest concern with SRT is the reliability stuff Anand mentions. I would *love* to be able to put in a 128GB SSD with a large 2TB HDD and completely forget about doing any sort of optimization. That seems like something that would need to be done at the hardware level, though, and you always run the risk of data loss if the SSD cache somehow fails (though that should be relatively unlikely). Heck, all HDDs already have a 16-64MB cache on them, and I'd like the SSD to be a slower but much larger supplement to that.

    Anyway, what concerns me is that we're not talking about caching at the level of, say, your CPU's L1 or L2 or even L3 cache. There's no reason the caching algorithm couldn't look at a much longer history of use so that things like your core OS files never get evicted (i.e. they are loaded every time you boot and accessed frequently, so even if you install a big application all of the OS files still have far higher hit frequency). Maybe that does happen and it's only in the constraints of initial testing that the performance degrades quickly (e.g. Anand installed the OS and apps, but he hasn't been using/rebooting the system for weeks on end).

    The "least recently used" algorithm most caching schemes use is fine, but I wonder if the SSD cache could track something else. Without knowing exactly how they're implementing the caching algorithm, it's hard to say would could be improved, and I understand the idea of a newly installed app getting cached early on ("Hey, they user is putting on a new application, so he's probably going to run that soon!"). Still, if installing 30GB of apps and data evicts pretty much everything from the 20GB cache, that doesn't seem like the most effective way of doing things--especially when some games are pushing into the 20+ GB range.
  • bji - Wednesday, May 11, 2011 - link

    It seems like a good way to do it would be for the software to recognize periods of high disk activity and weigh caching of all LBAs during that period much higher.

    So for example, system boot, where lots and lots of files are read off of the drive, would be a situation where the software would recognize that there is a high rate of disk I/O going on and to weigh all of the files loaded during this time very highly in caching.

    The more intense the disk I/O, the higher the weight. This would essentially mean that the periods that you most want to speed up - those with heavy disk I/O - are most likely to benefit from the caching, and disk activity that is typically less intense (say, starting a small application that you use frequently but that is relatively quick to load because of the small number of disk hits) would only be cached if it didn't interfere with the caching of more performance-critical data.

    All that being said, I am not a fan of complex caching mechanisms like this to try to improve performance. The big drawback, as pointed out in this well-presented article, is that there is a lack of consistency; sometimes you will get good performance and sometimes not, depending on tons of intangible factors affecting what is and what isn't in the cache. Furthermore, you are always introducing extra overhead in the complexity of the caching schemes, and in this case because it's being driven by a piece of software on the CPU, and because data is being shuffled around and written/read multiple times more than it would have with no caching involved.

    Then again, it is highly unlikely to *hurt* performance so if you don't mind sometimes waiting more than other times for the same thing to happen (this in particular drives me crazy though; if I am used to a program loading in 5 seconds, the time it takes 10 seconds really stands out like a sore thumb), and can absorb the extra cost involved, then it's not a totally unreasonable way to try to get a little bit of performance.
  • Zoomer - Wednesday, May 11, 2011 - link

    Or the filesystem can manage the cache. That would be a much more intelligent and foolproof way to do this.
  • vol7ron - Wednesday, May 11, 2011 - link

    Can you point a RAM Disk to this caching drive?
  • bji - Wednesday, May 11, 2011 - link

    What is the algorithm that the filesystem would use to decide what data to cache in preference to other cacheable data? That is the question at hand, and it doesn't matter at what level of the software stack it's done, the problem is effectively the same.
  • Mr Perfect - Wednesday, May 11, 2011 - link

    <quote>I would *love* to be able to put in a 128GB SSD with a large 2TB HDD and completely forget about doing any sort of optimization.</quote>

    I heartily agree with that. Everyone is so gung ho about having a SSD for OS and applications, a HD for data and then <b>manually managing the data!</b> Isn't technology supposed to being doing this for us? Isn't that the point? Enthusiast computers should be doing things the consumer level stuff can't even dream about.

    Intel, please, for the love of all that is holy, remove the 64GB limit.
  • Mr Perfect - Wednesday, May 11, 2011 - link

    On a completely unrelated note, why is the AT commenting software unable to do things the DailyTech site can? Quotes, bolding, italics and useful formatting features like that would really be welcome. :)
  • JarredWalton - Wednesday, May 11, 2011 - link

    I'm not sure when they got removed, but standard BBS markup still works, if you know the codes. So...

    [ B ]/[ /B ] = Bolded text
    [ I ]/[ /I ] = Bolded text
    [ U ]/[ /U ] = Bolded text

    There used to be an option to do links, but that got nuked at some point. I think the "highlight" option is also gone... but let's test:

    [ H ]/[ /H ] = [h]Bolded text[/h]

    So why don't we have the same setup as DT? Well, we *are* separate sites, even though DT started as a branch off of AT. They have their own site designer/web programmer, and some of the stuff they have (i.e. voting) is sort of cool. However, we would like to think most commenting on AT is of the quality type so we don't need to worry about ratings. Most people end up just saying "show all posts" regardless, so other than seeing that "wow, a lot of people didn't like that post" there's not much point to it. And limiting posts to plain text with no WYSIWYG editor does reduce page complexity a bit I suppose.

Log in

Don't have an account? Sign up now