Intel X25-M SSD: Intel Delivers One of the World's Fastest Drives
by Anand Lal Shimpi on September 8, 2008 4:00 PM EST- Posted in
- Storage
Delving Deeper
I had suspicions as to the nature of the problem based on my experience with it in my Mac Pro. The SuperTalent MLC drive in my machine would pause, most noticeably, randomly when I'd want to send an IM. What happens when you send an IM? Your logfile gets updated; a very small, random write to the disk. I turned to Iometer to simulate this behavior.
Iometer is a great tool for simulating disk accesses, you just need to know what sort of behavior you want to simulate. In my case I wanted to write tons of small files to the drive and look at latency, so I told Iometer to write 4KB files to the disk in a completely random pattern (100% random). I left the queue depth at 1 outstanding IO since I wanted to at least somewhat simulate a light desktop workload.
Iometer reports four results of importance: the number of IOs per second, the average MB/s, the average write latency and the maximum write latency. I looked at performance of four drives, the OCZ Core (Jmicron controller MLC), OCZ SLC (Samsung controller), Intel MLC (Intel controller) and the Seagate Momentus 7200.2 (a 7200RPM 2.5" notebook drive).
Though the OCZ core drive is our example, but please remember that this isn't an OCZ specific issue: the performance problems we see with this drive are apparent on all current MLC drives in the market that use a Jmicron controller with Samsung flash.
4KB, 100% random writes, IO queue depth 1 | IOs per Second | MB/s | Average Write Latency | Max Write Latency |
OCZ Core (JMicron, MLC) | 4.06 | 0.016MB/s | 244ms | 991ms |
OCZ (Samsung, SLC) | 109 | 0.43MB/s | 9.17ms | 83.2ms |
Intel X25-M (Intel, MLC) | 11171 | 43.6MB/s | 0.089ms | 94.2ms |
Seagate Momentus 7200.2 | 106.9 | 0.42MB/s | 9.4ms | 76.5ms |
Curiouser and curiouser...see a problem? Ignore the absolute ridiculous performance advantage of the Intel drive for a moment and look at the average latency column. The OCZ MLC drive has an average latency of 244 ms, that's over 26x the latency of the OCZ SLC drive and 25.9x the latency of a quick notebook drive. This isn't an MLC problem however, because the Intel MLC drive boasts an average latency of 0.09ms - the OCZ MLC drive has a 2700x higher latency!
Now look at the max latency column, the worst case scenario latency for the OCZ Core is 991ms! That's nearly a full second! This means that it takes an average of a quarter second to write a 4KB file to the drive and worst case scenario, a full second. We complain about the ~100 nanosecond trip a CPU has to take to main memory and here we have a drive that'll take nearly a full second to complete a task - totally unacceptable.
In order to find out if the latency is at all tied to the size of the write I varied the write size from 4KB all the way up to 128KB, but kept the writes 100% random. I'm only reporting latencies here:
100% random writes, IO queue depth 1 | 4KB | 16KB | 32KB | 64KB | 128KB |
OCZ Core (JMicron, MLC) | 244ms | 243ms | 241ms | 243ms | 247ms |
OCZ (Samsung, SLC) | 9.17ms | 14.5ms | 21.2ms | 28ms | 28.5ms |
Intel X25-M (Intel, MLC) | 0.089ms | 0.23ms | 0.44ms | 0.84ms | 1.73ms |
Seagate Momentus 7200.2 | 9.4ms | 8.95ms | 9.14ms | 9.82ms | 12.1ms |
All the way up to 128KB the latency is the same, 0.25s on average and nearly a second worst case for the OCZ Core and other similar MLC drives. If it's not the file size, perhaps it's the random nature of the writes?
For this next test I varied the nature of the writes, I ran the 4KB write test with a 100% sequential workload, 90% sequential (10% random) and 50% sequential (50% random):
4KB writes, IO queue depth 1 | 100% Sequential/0% Random | 90% Sequential/10% Random | 50% Sequential/50% Random | 0% Sequential/100% Random |
OCZ Core (JMicron, MLC) | 0.36ms | 25.8ms | 130ms | 244ms |
OCZ (Samsung, SLC) | 0.16ms | 1.97ms | 5.19ms | 9.17ms |
Intel X25-M (Intel, MLC) | 0.09ms | 0.09ms | 0.09ms | 0.089ms |
Seagate Momentus 7200.2 | 0.16ms | 0.94ms | 4.35ms | 9.4ms |
The average latency was higher on the OCZ Core (MLC) than the rest of the drives, but still manageable at 0.36ms when I ran the 100% sequential test, but look at what happened in the 90% sequential test. With just 10% random writes the average latency jumped to 25.8ms, that's 13x the latency of the OCZ SLC drive. Again, this isn't an MLC issue as the Intel drive does just fine. Although I left it out of the table to keep things simpler, the max latency in the 90/10 test was 983ms for the OCZ Core drive once again. The 90/10 test is particularly useful because it closely mimics a desktop write pattern, most writes are sequential in nature but a small percentage (10% or less) are random in nature. What this test shows us is that even 10% of random writes is all it takes to bring the OCZ Core to its knees.
The problem gets worse as you increase the load on the drive. Most desktop systems have less than 1 outstanding IO during normal operation, but under heavy multitasking you can see the IO queue depth hit 4 or 5 IOs for writes. Going much above that and you pretty much have to be in a multi-user environment, either by running your machine as a file server or by actually running a highly trafficked server. I ran the same 100% random, 4KB write test but varied the number of outstanding IOs from 1 all the way up to 64. Honestly, I just wanted to see how bad it would get:
This is just ridiculous. Average write latency climbs up to fifteen seconds, while max latency peaked at over thirty seconds for the JMicron based MLC drives. All this graph tells you is that you shouldn't dare use one of these drives in a server, but even at a queue depth of four the max latency is over two seconds which is completely attainable in a desktop scenario under heavy usage. I've seen this sort of behavior first hand under OS X with the SuperTalent MLC drive, the system will just freeze for anywhere from a fraction of a second to over a full second while a write completes in the background. The write that will set it off will often times be something as simple as writing to my web browser's cache or sending an IM, it's horribly frustrating.
I did look at read performance, and while max latency was a problem (peaking at 250ms) it was a fairly rare case, average latency was more than respectable and comparable to the SLC drives. This seems to be a write issue. Let's see if we can make it manifest itself in some real world tests.
96 Comments
View All Comments
aeternitas - Thursday, September 11, 2008 - link
I dont know where you shop, but 100$ can get you 750GB.It doesnt make much of a point anyway, as flash based and typical hard drives will coexist for at least the next ten years. One for preformance, the other for storage.
Maybe some of you are too young to remember, but it was only about 10 years ago that a 20GB hard drive cost 200$ at costco. We are a huge step in terms of the new technology from where we were before. 32 GB for 100$? Yes please. In ten years i expect to see 3+TB flash drives running over 1GBps throughput for around 200$.
strikeback03 - Thursday, September 11, 2008 - link
I assume they were referring to 2.5 inch drives, as those prices are more in line with what was stated.Also don't forget that with the drop in $/GB of drives has come an increase in demand for storage. Ten years ago digital photography was almost non-existent, with file sizes topping out under a megabyte. Images on the web were maybe 640x480. Now we have digital cameras that average 4-6MB as JPEGs, and some can turn out images over 30MB, not counting the medium-format backs (over 100MB IIRC for the 65Megapixel Phase 1). When I was in college any movie you saw on the network was sized to fit a 700MB CD, Now HD movies can range well over that. MP3s are still the same, or you can store in a lossless format if you choose.
Will 3TB be small in 10 years? Possibly. The key for flash completely replacing mechanical will be getting the price low enough to hold large amounts of the current data.
aeternitas - Saturday, September 13, 2008 - link
Even if they were useing 2.5" drives in the example, it doesnt matter. The fact that these drives will be replaceing 3.5" ones makes their point just as misguided in the point they were trying to make.Laptop and desktop drives were differant due to size, now they arnt, so you cant comapair them (HDD vs SSD) in such a illogical manner.
Blimeynext - Friday, April 23, 2010 - link
"Intel went one step further and delivered 5x what the OEMs requested. Thus Intel will guarantee that you can write 100GB of data to one of its MLC SSDs every day, for the next five years, and your data will remain intact."Any tool out there which tells me how much I write to my HDD each day? It would be nice to find out my present usage and compare it with the 100 GB/day limit....
If I write less than 20GB a day does that mean the SSD will last at least 25 years?
Smokerz - Sunday, January 2, 2011 - link
http://www.bit-tech.net/hardware/apple/2010/07/01/...read it all
Smokerz - Sunday, January 2, 2011 - link
sorry for the misspell