There’s a lot of hype surrounding Solid-State Disks right now, and if you’ve read tech news recently or my last post, you’ve probably stumbled upon some of the impressive numbers coming from the SSD camp. All in all, it looks like SSDs are faster than Hard Disk Drives(HDD). Great…but how does that affect you? Does this mean you have to replace your HDD? What about the servers for your business, and storage, and, and, and…? Well, obviously, I’ve been asking these questions too, and (lucky for me!) I have a X25-M SSD from Intel to evaluate. Let’s see if it holds up to the hype.
First, though, let’s put things into perspective. Much of the SSD hype stems from the fact that over the past 10 years CPU performance has increased 30 fold; whereas, disk transaction performance has been progressing much more conservatively and deliberately. Look at the SSD innovation from the perspective of the theory of evolution. Way back, organisms swam in the ocean, made progress through the years by adjusting fin sizes and shapes, but didn’t see real change until that one fish decided to turn those fins into legs. Then Bam. New era.
Or, take the Humanoids running around an ancient continent. They made slow and deliberate progress using that opposable thumb to hit each other with sticks (remember the opening scene from 2001: A Space Odyssey?), and then one day there’s an evolutionary leap, and we have fire. Bam. New era.
According to the hype, disk technology is making a leap to a new era. Bam. Solid-State Drives. Bam, IBM announces 1 million IOs per second using Fusion-IOs flash based storage.
Our present hard disks have these rotating parts, which, let’s face it, are so Industrial Revolution. The new SSDs with their new FLASH technology seem cool. But just because something seems good doesn’t mean it’ll last. And just as with species evolution, it’s survival of the fittest. Even some promising candidates meet their end. I mean, what ever happened to the giant, prehistoric Megalodon (it was pretty neat)? The Neanderthals? Or the lead actor from 2001: A Space Odyssey? (Okay, maybe he’s still around, but you get the point.)
So I’ve taken the X25-M SSD that – mind you – is intended for laptops, and gave it a try running Windows Server 2008 with hyper-V to see if it really will improve our lives – or better yet, YOUR business.
Here’s the setup – quad core Intel proc with 1333MHz front side bus and 800MHs DDR2 memory. Now the SSD is only 80GB and I wanted everything to run from it. Not exactly a configuration that I would recommend but it’s the best I can do until I get another SSD (hint…). I loaded the Host OS onto a dedicated 25GB partition then, created another partition for the VMDKs. I created two virtual machines – an instance of Vista and another one of Windows Server 2008. Trying to keep it simple I did not load anything else. So the question I asked myself is – will I notice a difference or will I need to tease the difference out. Short answer – no teasing necessary. Take a look at the chart.
The time to boot a vanilla Windows 2008 server went from 53 seconds to 22 seconds – a greater than 2x improvement – not bad. I achieved similar improvements for the virtual machines running on top of hyper-V. For the host boot time, I measured from when the BIOS was done booting until I saw the login screen. For the virtual machines, I measured from the time I clicked the start button in the hyper-V manager until I saw the login screen.
Emboldened, for you techy types, I ran some down and dirty transactions measurements using IOmeter. In the following graph note the huge differential between the HDD (a Seagate Barracuda SATA 500GB) and the Intel SSD. I ran random IO, with 512, 4k and 32k block sizes. The SSD, worst case, has three times the write transaction rate of the HDD. Best case I measured over sixty times the performance. Again, no teasing necessary. For detailed measurements look at this site and this site.
Now imagine numbers like this in your data center. You’re at work, cup of coffee in hand, looking at your newly installed SSDs, and not only are you marveling at the increased performance, but you notice you can even hear the birds chirping outside, rather than that insistent hum from the old HDDs. (Okay, maybe a bit much, but you get the point.)
According to the numbers, do I think SSDs will help improve our lives? Does it make sense to put SSDs into servers? Yes and Ye--…well, maybe. With the present price structure, the advantage to the SSDs is entirely dependent on the application. For example, data centers that rely on high performance will find the SSDs as a must have. On a base level, SSDs are able to boot more than twice as fast as HDDs by my measure, and when dealing with a large number of servers, this makes a substantial difference. However, for companies that rely on greater amounts of storage for movies, music or other types of large files, SSD might not be the way to go…at the moment. On a transactional performance basis, 10 SSDs can replace hundreds of HDDs, but on a capacity basis the cost per gigabyte does not make the switch cost effective with the present price structure. For SSDs to be used with applications requiring gobs of capacity, we’ll have to keep rubbing sticks together hoping for fire.
Neither SSDs nor HDDs seem to be going the way of the Megalodon anytime soon. For now, the incorporation of both devices might be the optimum solution for business needs as the SSDs can increase performance in certain areas all the while balanced with HDDs for cheaper storage per dollar.
Oh, and one not so small thing: we need storage subsystem providers to start shipping product with SSDs in them!
Overall, the X25-M SSD seems to hold up to the hype. But before giving my final conclusion, I’ll have to report on how quickly World of Warcraft loads…that is, unless I get caught up playing it.
Posted by Gene Ruth


It looks much slower than the AnandTech report. They said random write is 11171 IOPS. Could I get your IOMeter configuration like "Maximum Disk Size","# of outstanding IO" and "Run time"?
Thank you in advanced.
Posted by: James | September 16, 2008 at 06:17 PM
James, The random write value you mention is too high - sounds like its the random read value. SSD's have much worse random write than read performance because of the erase cycle.
I used IOmeter with 4 workers, 100 outstanding IOs per target, and maximum disk size - I let the test file take up all 80G. The test ran for 60 seconds. I saw no correlation to time.
btw, the intel X25-E claims >3300 4k write iops. impressive - that's more than 10x better than a 15K rpm hard disk.
Gene
Posted by: Gene | September 17, 2008 at 07:17 AM
Random write iops of the intel X25-M drive varies. Depending on how long you run it, how large a file you write random to, what sort of work you were doing before the test, and how long you have let it "rest" between runs the results will change.
Yes you can get ~12k random iops for writes on it (I've done it), but it typically won't last.
The worst case scenario is above.
For sequential writes, you can also get it into "slow mode" of about 30MB/sec write.
All this is because it has to "garbage collect" pages in the background, and if its Logical Block Address (LBA) to internal flash page mapping gets extremely fragmented with respect to "free" space, it has to do some compaction activities in the background that get in the way. Letting it "rest" for a while, or doing a large sequential write then re-write, tends to kick it back into high gear.
Intel claims it has several different garbage collection patterns optimized for different work loads and that it shifts from one to the other based on the use load, so running a series of synthetic tests often tricks it into one form of operation that is unopimal for the "next" test.
In the real world, writing random tiny bits to the whole disk just doesn't happen. The same LBA's are usually written over (re-writes) quite often, and pure random write tests are a bit fake, but great stress tests, for a SSD. You can weed out the good ones from the bad ones with such a test, but you can't get a measured value that represents what YOUR workload's performance will be, but you can find the worst case.
One test that almost all reviews fail to do, but is critical for analyzing a SSD, is one with mixed reads and writes simultaneously.
For example, take 4 or so workers doing random reads and then stick 2 concurrent streaming writes and one random writer all at once ... the "bad" ssd's will utterly fail this test, with high 1-2 sec latencies on the reads mixed in and very low write bandwidth.
The good ones can actually achieve higher than the linear weighted combination of the individual tasks alone . . .
Posted by: Scott C. | October 22, 2008 at 10:01 PM
Scott, excellent comments. Thanks. The weird performance behavior of SSDs is why I've been calling (see more recent post)for a standardized way to quote performance among other things. Misunderstandings will only hurt the industry as it gains a foot hold. Your comments are a good reminder that SSDs are NOT HDDs and require careful scrutiny.
Posted by: Gene Ruth | October 23, 2008 at 07:08 AM