![](/Content/images/logo2.png)
Original Link: https://www.anandtech.com/show/4337/z68-ssd-caching-with-corsairs-f40-sandforce-ssd
Z68 SSD Caching with Corsair's F40 SandForce SSD
by Anand Lal Shimpi on May 13, 2011 3:06 AM ESTI have to admit that Intel's Z68 launch was somewhat anti-climactic for me. It was the chipset we all wanted when Sandy Bridge first arrived, but now four months after Sandy Bridge showed up there isn't all that much to be excited about - save for one feature of course: Smart Response Technology (aka SSD caching). The premise is borrowed from how SSDs are sometimes used in the enterprise space: put a small, fast SSD in front of a large array of storage and use it to cache both reads and writes. This is ultimately how the memory hierarchy works - hide the latency of larger, cheaper storage by caching frequently used data in much faster, but more expensive storage.
I believe there's a real future with SSD caching, however the technology needs to go mainstream. It needs to be available on all chipsets, something we won't see until next year with Ivy Bridge. Even then, there's another hurdle: the price of the SSD cache.
Alongsize Z68 Intel introduced the SSD 311, codename Larson Creek. The 20GB SSD uses 34nm SLC NAND, thus pricing the drive more like a 40GB MLC SSD at $110. Intel claims that by using SLC NAND it can deliver the write performance necessary to function as a good cache. Our benchmarks showed just that. The 20GB SSD 311 performed a lot like a 160GB Intel X25-M but with half of the NAND channels thanks to SLC NAND's faster write speed and some firmware tweaks. In fact, the only two complaints I had about the 311 were its limited capacity and price.
The capacity issue proved to be a problem as I found that after almost a dozen different application launches it wasn't too hard to evict useful data from the cache. The price is also a problem because for $100 more you can pick up a 120GB Vertex 2 and manage your data manually with much better performance overall.
Yesterday a friend pointed me at a now defunct deal at Newegg. For $85 Newegg would sell you a 40GB SF-1200 based Corsair Force SSD. That particular deal is done with and all that remains is the drive for $110, but it made me wonder - how well would a small SandForce drive do as an SSD cache? There's only one way to find out.
The Test
CPU |
Intel Core i7 2600K running at 3.4GHz (Turbo & EIST Disabled) - for AT SB 2011, AS SSD & ATTO |
Motherboard: |
Intel Z68 Motherboard |
Chipset: |
Intel Z68 |
Chipset Drivers: |
Intel 9.1.1.1015 + Intel RST 10.5 |
Memory: | Qimonda DDR3-1333 4 x 1GB (7-7-7-20) |
Video Card: | Intel HD Graphics 3000 |
Video Drivers: | Intel GMA Driver for Windows 8.15.10.2372 |
Desktop Resolution: | 1920 x 1200 |
OS: | Windows 7 x64 |
Random/Sequential Read & Write Performance
To start with, let's look at how the Corsair Force F40 and Intel SSD 311 stack up. Remember that the F40 is based on SandForce's SF-1200 controller, meaning it gains its high performance by using real-time compression and deduplication techniques to reduce what it actually writes to NAND. Data that can easily be compressed is written as quickly as possible, while data that isn't as compressible goes by much slower. As a cache the drive is likely to encounter data from both camps, although Intel's SRT driver does filter out sequential file operations so large incompressible movies and images should be kept out of the cache altogether.
Peak sequential write performance is nearly double that of Intel's SSD 311. Toss incompressible (fully random) data at the drive however and it's noticeably slower. I'd say in practice the F40 is probably about the speed of the 311, perhaps a bit quicker in sequential writes.
For only having five NAND devices on board, Intel's SSD 311 boasts extremely high sequential read performance. At best the F40 equals it, but in reality the sequential read performance is likely a bit lower.
Random write performance is higher across the board, even with incompressible data. Random read/write performance is incredibly important for a cache, especially if most sequential data is kept off the cache to begin with. Things could be quite good for the F40 drive here.
Random read performance unfortunately doesn't look as good for the F40. Again, Intel's SSD 311 performs a lot like a X25-M G2, which happens to do very well in our random read test. At best the F40 is an equal performer, but at worst it's about 75% of the performance of the SSD 311.
Without a clear victory here, we'll likely see mixed results in our storage benchmark suite.
AnandTech Storage Bench 2011 - Heavy Workload
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:
In our launch article we found that even Crucial's 64GB RealSSD C300 wasn't able to significantly outperform the 311, the situation isn't much different with the F40. The good news is that you do get twice the capacity and technically better performance, which could result in more of your data being in the cache at once.
The breakdown of reads vs. writes tells us more of what's going on:
Read performance is actually where the F40 shines, surprisingly enough. This would imply that the majority of reads being cached are highly compressible in nature, playing to the F40's strengths. The write performance is a different story however:
There isn't a huge difference here, but the 311 does pull ahead in the writes that occur during our test. Overall I'd say the F40 and 311 are pretty equal here, which is a good thing given the capacity advantage.
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 - Light Workload
Our new light workload actually has more write operations than read operations. The split is as follows: 372,630 reads and 459,709 writes. The relatively close read/write ratio does better mimic a typical light workload (although even lighter workloads would be far more read centric).
The I/O breakdown is similar to the heavy workload at small IOs, however you'll notice that there are far fewer large IO transfers:
AnandTech Storage Bench 2011 - Light Workload IO Breakdown | ||||
IO Size | % of Total | |||
4KB | 27% | |||
16KB | 8% | |||
32KB | 6% | |||
64KB | 5% |
Despite the reduction in large IOs, over 60% of all operations are perfectly sequential. Average queue depth is a lighter 2.2029 IOs.
Our light workload doesn't do very well on the F40 at all. As we discovered in our launch review, the heavy workload runs for long enough (~3 hours) that performance doesn't change from run to run. Our light workload however only takes around 30 - 45 minutes to run and thus we see a significant performance difference from one run to the next (after 2 runs the performance gains level off though). While the Intel SSD 311 climbs significantly in both runs, the F40 shows a marginal improvement in the first run and tops out at around 80MB/s regardless of what HDD it's paired with. Clearly we're hitting a bottleneck here, one that doesn't exist on the 311.
An obvious benefit of Intel's SSD 311 is that its firmware was designed with caching in mind, something that isn't true for standard SSDs used as a cache.
Impact of SSD Size on Cache Performance
A cache's performance is determined by how well the caching algorithm matches the workload, how well the cache size accommodates the workload and how quickly you can access the cache. So far we've demonstrated that Corsair's F40 can perform anywhere from noticeably worse to a bit faster than Intel's SSD 311 as a cache. I wanted to see if I could demonstrate the capacity advantage alone offered by the F40. To illustrate this I performed 11 tasks in a row composed of application launches, game launches and level loads. After running through all 11 tasks once, I rebooted and ran through them again. I then rebooted again and ran through the 11 tasks one more time, for a total of two cached runs per SSD cache. In theory the larger cache should be able to maintain application launch performance between runs:
Application Launch Performance - Seagate Barracuda 3TB - Time in Seconds | |||||||
Application (Listed in Launch Order) | First Run | Intel SSD 311 - Run 1 | Intel SSD 311 - Run 2 | Corsair Force F40 - Run 1 | Corsair Force F40 - Run 2 | ||
Portal 2 | 12.0 | 9.6 | 12.1 | 9.3 | 9.3 | ||
Portal 2 (Level Load) | 17.1 | 14.8 | 15.4 | 14.1 | 14.2 | ||
WoW | 5.3 | 4.3 | 5.8 | 4.7 | 4.4 | ||
WoW (Level Load) | 11.9 | 11.7 | 6.2 | 5.2 | 5.2 | ||
Starcraft 2 | 15.3 | 11.9 | 10.2 | 7.9 | 8.0 | ||
Starcraft 2 (Level Load) | 23.3 | 17.6 | 14.1 | 14.4 | 15.1 | ||
Photoshop CS5.5 | 7.1 | 3.5 | 6.5 | 6.3 | 3.2 | ||
After Effects CS5.5 | 19.3 | 6.6 | 11.6 | 12.7 | 6.7 | ||
Dreamweaver CS5.5 | 8.0 | 4.7 | 6.2 | 6.2 | 4.5 | ||
Illustrator CS5.5 | 6.1 | 2.9 | 3.7 | 5.3 | 3.1 | ||
Premier Pro CS5.5 | 10.4 | 3.2 | 3.1 | 6.9 | 3.2 |
On the first run both the Corsair F40 and Intel SSD 311 manage to perform very similarly. On the second run however, many of the applications load slower on the SSD 311 as some data has apparently been evicted from the cache. The 40GB Corsair F40 doesn't suffer the same fate as it has much more data for storage and as a result the second run through shows continued performance improvement.
Final Words
Despite what it may look like, Intel appears to have picked the best balance of capacity and performance with its 20GB SLC SSD 311. While I agree that $110 is a bit steep, the SSD 311 does offer surprisingly well rounded performance as a cache. Intel mentioned to me that it did some tweaks to the 311's firmware to improve its performance as a cache, which could help explain just how well it does in our tests. Where the 311 does fall short however is in its capacity and pricing. I'd like to see a 40GB drive priced below $80, however even with a move to 25nm NAND I'm not sure we'd see that from Intel.
Corsair's F40 does pretty well as a cache and if you've got one around the house by all means go for it. Unless you've got a huge collection of applications and games that you'd like to cache however, I'd stick with the 311 at the same price point. If you can snag a F40 for a reduced price however, that does make it a lot more attractive. Here's to hoping that Corsair can push prices down below $85 on that drive for the Z68 users out there that want to experiment with SSD caching.