Original Link: http://www.anandtech.com/show/2614
Intel X25-M SSD: Intel Delivers One of the World's Fastest Drivesby Anand Lal Shimpi on September 8, 2008 4:00 PM EST
- Posted in
Be sure to read our latest SSD article: The SSD Relapse for an updated look at the SSD market.
No one really paid much attention to Intel getting into the SSD (Solid State Disk) business. We all heard the announcements, we heard the claims of amazing performance, but I didn't really believe it. After all, it was just a matter of hooking up a bunch of flash chips to a controller and putting them in a drive enclosure, right?
The closer we got to release and the more time I spent with competing products, the more I realized that Intel's biggest launch of 2008 wasn't going to be Nehalem - it was going to be its SSDs. If Intel could price them right, and if Intel could deliver on the performance, the biggest upgrade you could do for your PC - whether desktop or notebook, wouldn't be to toss in a faster CPU, it would be to migrate to one of these SSDs. Combine Nehalem and one of these mythical SSDs and you were in for a treat. But that was a big if...Intel still had to deliver.
We already talked about the drives back at IDF. The Intel X25-M and the X18-M, available in 80GB capacities, 2.5" and 1.8" form factors (respectively) with 160GB versions on the way. Today we are allowed to share performance data and pricing information, one of which is more impressive than the other. Intel will be selling the X25-M at $595 MSRP through OEMs and channel vendors, although I hear the street price may be lower.
Both of the -M models are based on Intel's MLC flash, while a X25-E using SLC flash will be due out by the end of this year. I'll detail the differences in a bit.
The pricing is rough, that puts Intel's X25-M at cheaper than SLC drives on the market but more expensive than MLC drives. Your options are effectively to get a 128GB MLC drive, an 80GB Intel X25-M or a 64GB SLC drive. But as you can expect, I wouldn't be quite this excited if the decision were that easy. Over the next several pages we're going to walk through the architecture of a NAND flash based SSD, investigate the problems with current MLC drives (and show how the Intel drive isn't affected) and finally compare the performance of the Intel drive to MLC, SLC and standard hard drives (both 2.5" and 3.5") in a slew of real world applications.
If you want to know the ending first I won't make you wait. Intel absolutely delivered with its first SSDs. After I completed my initial testing of the drive I sent AnandTech Senior Editor, Gary Key a message:
"I think Intel just Conroe’d the HDD market."
Honestly, within 6 months I'd expect it to be just as important to have one of these drives in your system, as your boot/application drive, as it was to have Conroe in your system back in 2006. The only issue here, the only problem I have is the price. I was hoping for something much lower from Intel and although the pricing is justified based on the performance, it ensures that the X25-M like most high performance SSDs, remains a luxury item.
While the X25-M isn't the world's fastest storage device across the board, it is among the fastest. And in the areas that it does dominate, it does so unbelievably well. The other great thing? You’ve got one of the world’s fastest hard drives, and it can fit in your notebook.
Let's get to it.
How SSDs Work
The building block of NAND flash is the N-channel MOSFET:
Each "cell" is made up of one of these transistors. In a single-level cell (SLC) flash device, one of these transistors can hold 1-bit of data. You write data to the cell by electron tunneling; apply a high enough voltage to the gate, create a powerful enough electric field, and electrons will tunnel through the oxide and into the floating gate. Remove the voltage and the electrons will remain in the floating gate. Apply the voltage across the channel instead of the gate, reverse the bias and the electrons will go in the other direction. Simply put, that's how flash works - you've got two states, 0 and 1, and the state is preserved even if the cell has no power, making it ideal for a storage device.
Programming flash is an iterative process. The controller will apply voltage to the gate (or the channel), allow some electrons to tunnel and check the threshold voltage of the cell. When the threshold voltage has reached some predetermined value, it’s now programmed and your data is stored.
MLC vs. SLC
There are two forms of NAND flash used in SSDs today: Single-Level Cell (SLC) and Multi-Level Cell (MLC). The difference between the two is the amount of data stored per cell, with SLC it's 1-bit per cell and with MLC it's 2-bits per cell. The key here is that both SLC and MLC take up the same amount of die area, so MLC effectively doubles your capacity at the same price.
Intel actually uses the same transistors for its SLC and MLC flash, the difference is how you read/write the two. With SLC there are only two voltages to worry about, since there are two states (0 or 1). With MLC, there are four states (00, 01, 10, 11) and thus it takes longer to access since you don't want to accidentally write the wrong bit of data; you've got the same min and max voltage, you simply have more graduations in between the two now:
SLC (left) vs. MLC (right)
Below is a table of some basic stats on SLC vs. MLC performance:
|SLC NAND flash||MLC NAND flash|
|Random Read||25 µs||50 µs|
|Erase||2ms per block||2ms per block|
|Programming||250 µs||900 µs|
Erasing performance is the same between the two, read performance takes twice as long on MLC flash and write performance can take almost four times as long. If you've ever heard people complain about MLC write speed before, this partly why. Do keep in mind though, the numbers we're talking about here are ridiculously low - even 900 µs to write to MLC flash is much faster than writing to a mechanical hard disk.
The biggest advantage of SLC ends up not being performance, but lifespan. To understand how flash wears, we first need to look at how it's organized in a storage device.
The Flash Hierarchy & Data Loss
We've already established that a flash cell can either store one or two bits depending on whether it's a SLC or MLC device. Group a bunch of cells together and you've got a page. A page is the smallest structure you can program (write to) in a NAND flash device. In the case of most MLC NAND flash each page is 4KB. A block consists of a number of pages, in the Intel MLC SSD a block is 128 pages (128 pages x 4KB per page = 512KB per block = 0.5MB). A block is the smallest structure you can erase. So when you write to a SSD you can write 4KB at a time, but when you erase from a SSD you have to erase 512KB at a time. I'll explore that a bit further in a moment, but let's look at what happens when you erase data from a SSD.
Whenever you write data to flash we go through the same iterative programming process again. Create an electric field, electrons tunnel through the oxide and the charge is stored. Erasing the data causes the same thing to happen but in the reverse direction. The problem is that the more times you tunnel through that oxide, the weaker it becomes, eventually reaching a point where it will no longer prevent the electrons from doing whatever they want to do.
On MLC flash that point is reached after about 10,000 erase/program cycles. With SLC it's 100,000 thanks to the simplicity of the SLC design. With a finite lifespan, SSDs have to be very careful in how and when they choose to erase/program each cell. Note that you can read from a cell as many times as you want to, that doesn't reduce the cell's ability to store data. It's only the erase/program cycle that reduces life. I refer to it as a cycle because an SSD has no concept of just erasing a block, the only time it erases a block is to write new data. If you delete a file in Windows but don't create a new one, the SSD doesn't actually remove the data from flash until you're ready to write new data.
Now going back to the disparity between how you program and how you erase data on a SSD, you program in pages and you erase in blocks. Say you save an 8KB file and later decide that you want to delete it, it could just be a simple note you wrote for yourself that you no longer need. When you saved the file, it'd be saved as two pages in the flash memory. When you go to delete it however, the SSD mark the pages as invalid but it won't actually erase the block. The SSD will wait until a certain percentage of pages within a block are marked as invalid before copying any valid data to new pages and erasing the block. The SSD does this to limit the number of times an individual block is erased, and thus prolong the life of your drive.
Not all SSDs handle deletion requests the same way, how and when you decide to erase a block with invalid pages determines the write amplification of your device. In the case of a poorly made SSD, if you simply wanted to change a 16KB file the controller could conceivably read the entire block into main memory, change the four pages, erase the block from the SSD and then write the new block with the four changed pages. Using the page/block sizes from the Intel SSD, this would mean that a 16KB write would actually result in 512KB of writes to the SSD - a write amplification factor of 32x.
At this point we don't have any data from any of the other SSD controller makers on how they handle situations like this, but Intel states that traditional SSD controllers suffer from write amplification in the 20 - 40x range, which reduces the longevity of their drives. Intel states that on typical client workloads its write amplification factor is less than 1.1x, in other words you're writing less than 10% more data than you need to. The write amplification factor itself doesn't mean much, what matters is the longevity of the drive and there's one more factor that contributes there.
We've already established that with flash there are a finite number of times you can write to a block before it loses its ability to store data. SSDs are pretty intelligent and will use wear leveling algorithms to spread out block usage across the entirety of the drive. Remember that unlike mechanical disks, it doesn't matter where on a SSD you write to, the performance will always be the same. SSDs will thus attempt to write data to all blocks of the drive equally. For example, let's say you download a 2MB file to your band new, never been used SSD, which gets saved to blocks 10, 11, 12 and 13. You realize you downloaded the wrong file and delete it, then go off to download the right file. Rather than write the new file to blocks 10, 11, 12 and 13, the flash controller will write to blocks 14, 15, 16 and 17. In fact, those four blocks won't get used again until every other block on the drive has been written to once. So while your MLC SSD may only have a lifespan of 10,000 cycles, it's going to last quite a while thanks to intelligent wear leveling algorithms.
Intel's wear leveling efficiency, all blocks get used nearly the same amount
Bad wear leveling, presumably on existing SSDs, some blocks get used more than others
Intel's SSDs carry about a 4% wear leveling inefficiency, meaning that 4% of the blocks on an Intel SSD will be worn at a rate higher than the rest.
How Long Will Intel's SSDs Last?
SSD lifespans are usually quantified in the number of erase/program cycles a block can go through before it is unusable, as I mentioned earlier it's generally 10,000 cycles for MLC flash and 100,000 cycles for SLC. Neither of these numbers are particularly user friendly since only the SSD itself is aware of how many blocks it has programmed. Intel wanted to represent its SSD lifespan as a function of the amount of data written per day, so Intel met with a number of OEMs and collectively they came up with a target figure: 20GB per day. OEMs wanted assurances that a user could write 20GB of data per day to these drives and still have them last, guaranteed, for five years. Intel had no problems with that.
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. The drives only ship with a 3 year warranty but I suspect that there'd be some recourse if you could prove that Intel's 100GB/day promise was false.
Just like Intel's CPUs can run much higher than their rated clock speed, Intel's NAND should be able to last much longer than its rated lifespan
It's also possible for a flash cell to lose its charge over time (albeit a very long time). Intel adheres to the JEDEC spec on how long your data is supposed to last on its SSDs. The spec states that if you've only used 10% of the lifespan of your device (cycles or GB written), then your data needs to remain intact for 10 years. If you've used 100% of available cycles, then your data needs to remain intact for 1 year. Intel certifies its drives in accordance with the JEDEC specs from 0 - 70C; at optimal temperatures your data will last even longer (these SSDs should operate at below 40C in normal conditions).
Intel and Micron have four joint fabs manufactured under the IMFT partnership, and these are the fabs that produce the flash going into Intel's SSDs. The 50nm flash used in the launch drives are rated at 10,000 erase/programming but like many of Intel's products there's a lot of built in margin. Apparently it shouldn't be unexpected to see 2, 3 or 4x the rated lifespan out of these things, depending on temperature and usage model obviously.
Given the 100GB per day x 5 year lifespan of Intel's MLC SSDs, there's no cause for concern from a data reliability perspective for the desktop/notebook usage case. High load transactional database servers could easily outlast the lifespan of MLC flash and that's where SLC is really aimed at. These days the MLC vs. SLC debate is more about performance, but as you'll soon see - Intel has redefined what to expect from an MLC drive.
Other Wear and Tear
With no moving parts in a SSD, the types of failures are pretty unique. While erasing/programming blocks is the most likely cause of failure with NAND flash, a secondary cause of data corruption is something known as program disturb. When programming a cell there's a chance that you could corrupt the data in an adjacent cell. This is mostly a function of the quality of your flash, and obviously being an expert in semiconductor manufacturing the implication here is that Intel's flash is pretty decent quality.
Intel actually includes additional space on the drive, on the order of 7.5 - 8% more (6 - 6.4GB on an 80GB drive) specifically for reliability purposes. If you start running out of good blocks to write to (nearing the end of your drive's lifespan), the SSD will write to this additional space on the drive. One interesting sidenote, you can actually increase the amount of reserved space on your drive to increase its lifespan. First secure erase the drive and using the ATA SetMaxAddress command just shrink the user capacity, giving you more spare area.
What Happens When Your SSD Fails?
When your hard drive dies we all know what happens. You go to turn on your machine one day and your OS doesn't boot, or your drive stops getting detected. But with SSDs their lifespan is far more predictable, so what does happen as they near the end of their life? A well designed SSD will have a good enough wear leveling algorithm to make sure that all blocks in the device get equal usage, so that when they fail, they do so at the same time.
Intel's SSDs are designed so that when they fail, they attempt to fail on the next erase - so you don't lose data. If the drive can't fail on the next erase, it'll fail on the next program - again, so you don't lose existing data. You'll try and save a file and you'll get an error from the OS saying that the write couldn't be completed.
The beauty here is that the SSD knows exactly when it can't erase/program a block, and if the drive knows, then you can use software to ask the drive what it knows. In the near future Intel will be releasing its own SSD tool that will let you query two SMART attributes on the drive: one telling you how close you are to the rated cycling limit, and one telling you when you've run out of reallocating blocks. The latter is the most important because Intel fully expects these drives to outlast their rated limits. As bad blocks develop, the SSD will mark them as such and write to new ones - by telling you when it has run out of bad blocks (or nearly run out of bad blocks), you'll know exactly when you need a new hard drive.
This is hugely important. While Intel's SSDs aren't exactly cheap, the beauty of flash is that it follows the same Moore's Law that CPUs do. In the next ~18 months you'll be able to get a 160GB drive for the price of the 80GB, in another couple of years we'll be at 320GB for the same price (most likely lower as SSD demands increase). Within the next five years we'll be in a situation where the fans in your system are more likely to fail than your hard drive, and if your drive does happen to fail it'll tell you well in advance. How nice of it.
The Generic SSD
Intel isn't the first manufacturer to get into the SSD market, in fact quite a few of the companies we regularly deal with have SSDs. OCZ Technology, SuperTalent, Patriot, G.Skill, Mtron, and Silicon Power are just the names that contributed hardware for this review, but many more actually make SSDs.
Silicon Power drives provided by DV Nation
You'll notice that most of these companies are memory companies, not chip companies. Cracking open any of their SSDs reveals the true nature of their SSD manufacturing business: most of them simply rebrand someone else's SSD.
Let's take the MLC drives for example, here we have MLC drives from OCZ (the infamous Core), SuperTalent and Silicon Power:
Every last one of the drives has the exact same layout, same flash devices and same Jmicron controller (the JMF602).
The same is true for SLC designs, here we have SLC SSDs from G.Skill and OCZ:
They are the same, you could give them ice crea...nevermind
Note that these are the same drive, in this case purchased from Samsung and placed in new housing.
Only Mtron offers a slight amount of innovation by using its own FPGA as a controller:
But we know very little about any of these controllers so it's tough to say if Mtron's FPGA is done well.
For the most part however, all existing MLC drives on the market are built out of the same parts, as are all existing SLC drives. The MLC drives all use the JMF602 and the SLC drives use the Samsung S3C49RBX01 host controller with 32MB of on-board DRAM. The SLC drives are all priced above $640 for 64GB while the MLC drives are all under $300 for 64GB, Intel's 80GB MLC is priced in between the two (but closer to the SLC drives) at $595.
We'll soon see that Intel's price is justified in the market, but before doing that it's important to address an issue with these very tempting MLC drives...
Enter the Poorly Designed MLC
The great thing about everyone making MLC drives based on the same design is it helps drive cost down, which gives us a very affordable product. After rebate you can buy a 64GB OCZ Core SSD, an MLC drive, for $240 from Newegg. Compared to the $1000+ that 64GB SSDs were selling for a year ago, this is good cost savings. The bad thing about everyone using the same design however is if there's a problem that affects one of the drives, it affects all of them. And indeed, there is a problem.
The symptoms are pretty obvious: horrible stuttering/pausing/lagging during the use of the drive. The drive still works, it's just that certain accesses can take a long time to complete. It's a lot like using a slow laptop hard drive and trying to multitask, everything just comes to a halt.
I first discovered this problem a couple of months ago when I started work on an article looking at the performance of a SSD in a Mac Pro as a boot/application drive. Super Talent sent me one of its 3.5” drives, which I had assumed was a SLC drive. Application launches were ridiculously fast, but I noticed something very strange when I was using my machine. Starting to type in a document, or sending an IM, or even opening a new tab in Safari would sometimes be accompanied by a second-long pause. At first I assumed it was a problem with my drive or with the controller, or perhaps a combination of the drive, the SATA controller on the Mac Pro’s motherboard and OS X itself. I later found out it was an MLC drive and thus began my investigation.
SuperTalent had received a lot of attention for its SSDs, and rightfully so - they were starting to be affordable. OCZ however quickly took the spotlight with its Core SSD, finally bringing the price of a 64GB MLC SSD to below $300. Users flocked to the Core and other similarly priced drives, because if you looked at the marketed specs of the drive you were basically getting greater than SLC performance, at a fraction of the cost:
|Advertised Specs||OCZ Core (MLC)||OCZ (SLC)|
|Read||Up to 143MB/s||Up to 100MB/s|
|Write||Up to 93MB/s||Up to 80MB/s|
|Price||< $300||> $600|
However the real world performance didn't match up.
Let's start with the types of benchmarks that we usually see run in SSD reviews, here's a quick run of PCMark Vantage's HDD. Vantage paints the Core as a screamer:
|PCMark Vantage HDD Test|
|OCZ Core (JMicron JMF602, MLC)||8117|
|OCZ (Samsung, SLC)||12143|
|Western Digital VelociRaptor (10,000 RPM SATA)||6325|
Digging a bit deeper we only see one indication of a problem, performance in the Media Center test is significantly slower than the VelociRaptor - but overall it's much faster, what could one test actually mean?
|Windows Defender||Gaming||Picture Import||Vista Startup||Windows Movie Maker||Media Center||WMP||App Loading|
|OCZ Core (JMicron JMF602, MLC)||48.1MB/s||72.5MB/s||90.4MB/s||47.9MB/s||23.2MB/s||33MB/s||17.8MB/s||20.3MB/s|
|OCZ (Samsung, SLC)||69.3MB/s||71.8MB/s||86.9MB/s||63MB/s||43.7MB/s||65.6MB/s||33.8MB/s||39.9MB/s|
|Western Digital VelociRaptor (10,000 RPM SATA)||27.5MB/s||20.1MB/s||59.0MB/s||22.9MB/s||58.5MB/s||113.3MB/s||15.2MB/s||7.6MB/s|
If we turn to SYSMark however, the picture quickly changes. The OCZ SLC drive is now 30% faster than the MLC drive, and performance in the Video Creation suite is literally half on the MLC drive. Something is amiss.
|SYSMark 2007 Overall||E-Learning||Video Creation||Productivity||3D|
|OCZ Core (JMicron JMF602, MLC)||138||143||111||134||168|
|OCZ (Samsung, SLC)||177||161||200||178||172|
|Western Digital VelociRaptor (10,000 RPM SATA)||179||155||222||177||169|
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.
The Generic MLC SSD Problem in the Real World
Based on the Iometer results I knew for sure that there was an issue with random write performance on these SSDs, the only common thread between them being the type of controller (JMicron JMF602) and the MLC flash devices being used (Samsung). But I wanted to see if I could get the high latency writes to appear in a real-world benchmark-able way.
The Samsung SLC controller
The first indication that something is wrong actually comes from running the Windows Vista install itself, the MLC drive takes 25% longer to complete the install (let’s just ignore the part about the full install not being fully functional upon completion). Clearly there’s an issue with write speed. I ran into something similar with OS X, but I didn't put it together until now.
The problems are far worse in Vista. While OS X will just pause until the data is written, Vista doesn’t seem to respond well to unusually long file write delays. I haven’t been able to get the Vista install to complete without errors on the OCZ Core drive. One install completed but I was greeted with this error as soon as I hit the desktop:
Trying to reinstall gave me this error even before I booted into Vista:
It looks like the Vista install doesn’t do well with significant delays when writing files to the disk. The only way I could actually get a reliable Vista install on the Core drive was by cloning another drive with a working Vista image on it.
For the next test I tried creating a 200MB archive of pictures:
So far, so good. The OCZ Core performs no differently than the rest of the pack. Now let's try creating the same archive, but also extracting one at the same time:
Ah-ha! Now we're on to something, the SLC and Intel MLC drives are both around 30% faster than the OCZ Core. Let's try creating the same archive but extracting a much larger one:
|Creating 200MB Archive||Extracting 5GB Archive||Number of Pauses|
|SuperTalent (JMicron, MLC)||83 seconds||573 seconds||lots|
|Silicon Power (JMicron, MLC)||128 seconds||632 seconds||tons|
|OCZ Core (JMicron, MLC)||60 seconds||222.7 seconds||20|
|OCZ (Samsung, SLC)||42 seconds||94.7 seconds||0|
|Intel X25-M (Intel, MLC)||42 seconds||113.7 seconds||0|
|Seagate Momentus 7200.2||72 seconds||260.6 seconds||0|
|Western Digital VelociRaptor||46 seconds||90.9 seconds||0|
You'll notice a new column called number of pauses; this column is the number of times all disk activity ceased on the system, causing the whole machine to stutter for a moment. You'll also notice that there are zeros in this column, unless the drive uses the JMicron controller. Also note the randomness of the problem, the OCZ, SuperTalent and Silicon Power drives all use the same hardware yet I saw tremendous variations between runs. This is a manually timed test but the rest of the drives didn't vary nearly as much.
It's also important to note that while the Seagate notebook drive performed similarly to the Core, it didn't suffer from the pauses. What this helps illustrate is the nature of the problem, it's very bursty - you get a period of very high performance followed by an abrupt stop. The abrupt stops, as we now know, are these 0 - 2 second write latencies where everything in the system is completely starved of data until the write is complete.
Poor hungry CPU, it just wants to eat. Comic by Laura of www.laurascomics.com
From the CPU's perspective, it expects new data on a nanosecond scale, waiting a full second for anything is deadly for performance.
Another way of quantifying the impact is looking at how long it takes to launch an application when we're in this high-latency write period. I tried extracting the same 5GB archive and launching PowerPoint 2007 or Photoshop CS3 (not at the same time).
|Launching PowerPoint 2007 While Extracting 5GB||Launching Photoshop CS3 While Extracting 5GB|
|OCZ Core (JMicron, MLC)||8.5 seconds||24.3 seconds|
|OCZ (Samsung, SLC)||2.8 seconds||9.3 seconds|
|Intel X25-M (Intel, MLC)||3.85 seconds||10.5 seconds|
|Seagate Momentus 7200.2||21.3 seconds||46.5 seconds|
|Western Digital VelociRaptor||8 seconds||23.5 seconds|
All of the drives took longer to launch the applications, but while the SLC and Intel MLC drives still performed in a league of their own, the MLC drives behaved like conventional hard drives. Try running an application while your disk is busy doing something else, or better yet, try running a couple - they take forever. SSDs fix that problem, or at least they're supposed to. These MLC drives don't, at least not always; thankfully the SLC drives and more importantly, the Intel MLC drive don't exhibit this problem.
A Lack of DRAM or a Lack of Cache?
The high latency random write issue is annoying enough that it'd force me not to recommend any of the non-Intel MLC drives on the market today, regardless of how attractive their pricing may be. High performance with caveats isn't exactly high performance to me.
Intel's controller (left) + DRAM (right)
That being said, the root of the problem is still unknown. My first thought was that it was because the MLC drives had no DRAM buffer, and if you'll notice, Intel's MLC drive does have a DRAM buffer. I asked Intel about this and it turns out that the DRAM on the Intel drive isn't used for user data because of the risk of data loss, instead it is used as memory by the Intel SATA/flash controller for deciding exactly where to write data (I'm assuming for the wear leveling/reliability algorithms). Despite the presence of the external DRAM, both the Intel controller and the JMicron rely on internal buffers to cache accesses to the SSD.
Finding good data on the JMicron JMF602 controller is nearly impossible, but from what I've heard it's got 16KB of on-chip memory for read/write requests. By comparison, Intel's controller has a 256KB SRAM on-die. And I'm going to go out on a limb and assume that given Intel's experience with CPU caches, that its SRAM implementation is probably very well done.
With the JMicron based solutions, if you try and write too much to the drive (and trust me, it won’t take a lot) and the buffers get full, the controller tells the system that it’s not ready to write more data and you get a pause.
When you cause the JM602’s internal buffer to overflow, your system runs in bullet-time. Applications take much longer to launch and close, windows take longer to appear, and there are distinct pauses in anything you want to do that involves the disk. Want to send an IM? Well, that writes to an IM log - you can expect a pause before you can send your IM. Loading webpages is the worst, reading from and writing to the cache wreaks havoc on these cacheless MLC drives. Just for kicks I tried loading AnandTech while I was extracting a 5GB file on the SuperTalent 60GB MLC, it took over 10 seconds for the website to load. Once the JM602 was free to fulfill the read request, the website just popped up - but until then it was like my DNS was failing. It’s a lot like what happens to your notebook if you try and do too much, the disk quickly becomes a bottleneck.
Thankfully, as we've already seen, this problem is only limited to JMF602 based MLC drives. The SLC drives and the Intel MLC are totally fine, so while I'll include these problematic MLC drives in today's comparison, let me state now that I would not purchase one.
JMicron's roadmap shows a new controller next year with an integrated ARM core as well as support for external DRAM, which could alleviate these problems, but until now the controller, and drives based on it, aren't worth it. You get a much better overall experience out of a conventional mechanical disk drive, and much better performance from the Intel SSD or any of the SLC solutions on the market.
|CPU:|| Intel Core 2 Quad Q9450 (2.66GHz) |
|Chipset Drivers:||Intel 188.8.131.520 (Intel)|
|Memory:||Corsair XMS2-8500 1066|
|Video Card:||VisionTek Radeon HD 4850|
|OS:||Windows Vista Ultimate 32-bit|
Overall System Performance with SYSMark 2007
Our first test is the full SYSMark 2007 benchmark suite. It's a system-level performance test that measures performance based on average response time, making it a great candidate for our SSDs, which should provide pretty low response times, at least compared to standard mechanical disks.
The Intel X25-M does very well here, just edging past the fastest desktop drive on the market and outperforming all other mechanical disks in its own 2.5" form factor. We saw a 15% increase in overall performance under SYSMark compared to the Seagate Momentus 7200.2; to get that sort of speed boost on a notebook would take Nehalem otherwise.
You'll notice that I threw in the 150GB Raptor in the mix as well, that's our current CPU testbed HDD. Our Q9450 saw performance go up by 9% thanks to the X25-M, that's more of a performance boost than you'd get by upgrading to a QX9650 and again, this is a system-level test, not disk specific.
Here you also see the problems with the JMicron equipped MLC drives, the Intel X25-M manages to outperform these drives by nearly 30%. The Video Creation test is particularly bad with the Intel X25-M garnering a score nearly 2x of the JMicron MLC drives. We've already established that the X25-M is the only MLC drive that you should consider, this simply helps provide more support.
Real World Performance with PCMark Vantage
Next up is PCMark Vantage, another system-wide performance suite. I chose to run the whole suite rather than just the HDD test to hopefully better characterize real world performance of these drives.
If we look at the individual test subsets of PCMark Vantage we can see the drive's strengths at work.
The memories suite for example includes a test involving importing pictures into Windows Photo Gallery and editing them, a fairly benign task that easily falls into the category of being very influenced by disk performance. The end result is a 15% performance advantage over the VelociRaptor, a 16.6% advantage over the Samsung SLC based SSDs and a 42% advantage over the 2.5" Seagate Momentus 7200.2 HDD - the X25-M is great for a desktop, but a miracle for a notebook.
The TV and Movies suite shows that the X25-M won't always dominate. Here the tests are focused on video transcoding which is mostly CPU bound, but one of the tests involves Windows Media Center which tends to be disk bound. Despite the nature of the test, the X25-M competes at the top of the chart but is bested by the VelociRaptor. It's performance isn't bad, but not earth shattering. Again, compared to other notebook drives it is a dream come true.
The gaming tests are very well suited to SSDs since they spend a good portion of their time focusing on reading textures and loading level data. All of the SSDs dominate here, but as you'll see later on in my gaming tests the benefits of an SSD really vary depend on the game. Take these results as a best case scenario of what can happen, not the norm. You can also see how tempting it is to opt for one of those JMicron based MLC SSDs, they perform quite well here - the test simply doesn't show the ugly side of living with them.
We're back to utter domination in the Vantage Music test. Here the main test is a multitasking scenario, which SSDs do quite well in: the test simulates surfing the web in IE7, transcoding an audio file and adding music to Windows Media Player (the most disk intensive portion of the test). The X25-M is nearly 60% faster than the VelociRaptor, around twice the speed of the Seagate Momentus 7200.2 and over 37% faster than the Samsung SLC based SSDs. When the X25-M is fast, it's very fast.
The Communications suite is made up of two tests, both involving light multitasking. The first test simulates data encryption/decryption while running message rules in Windows Mail. The second test simulates web surfing (including opening/closing tabs) in IE7, data decryption and running Windows Defender.
Despite the inclusion of Windows Defender, the X25-M's advantage over the VelociRaptor is only 18%. I would honestly expect more based on some of my other system scanning tests, but I believe the reason we're seeing general domination and not utter destruction is that the tasks being run alongside Windows Defender are quite light on the disk. Yes, I am nitpicking an 18% victory - this drive is that good. The SLC drives do well here but are no match for the X25-M. It's in tests like this that the X25-M really earns its keep, it delivers SLC performance at a much lower cost.
The Productivity test is awesome, let me explain:
In this test there are four tasks going on at once, searching through Windows contacts, searching through Windows Mail, browsing multiple webpages in IE7 and loading applications. This is as real world of a scenario as you get and it happens to be representative of one of the most frustrating HDD usage models - trying to do multiple things at once. There's nothing more annoying than trying to launch a simple application while you're doing other things in the background and have the load take seemingly forever.
Note that the test itself isn't very write intensive, so even the JMF602 based MLC drives do well here. I can attest to this as one of the things that drove me to put a SSD in my desktop was that I wanted my applications to pop up instantaneously, regardless of what I was doing. The pausing doesn't get a chance to rear its head, so all of the SSDs rule the playing field here. The X25-M delivers 2x the performance of the VelociRaptor here and is faster than every other drive. Enough said.
Application Loading Performance
You know what I hate about rebooting my machine? Starting all of my applications back up as soon as it boots, the OS is always crunching away at my disk long after I've hit my desktop and it takes forever to launch my mail application, IM client and start a web browser. These aren't complex requests, but they take forever on a conventional hard disk.
I ran a quick test to illustrate the point. I took my test image and booted it, as soon as I got a cursor in Vista I launched Adobe Photoshop CS3, PCMark Vantage, Google Chrome and Norton AntiVirus 2008. I timed how long it took for all four applications to come up. Note that this is actually a best case scenario, since my testbed image is very clean with a minimal number of applications installed. As you fill up your disk with more applications and files the disparity grows. Remember that HDD performance decreases as your drive fills up, SSD performance doesn't.
|Launch: Photoshop, Vantage, Chrome & NAV|
|Intel X25-M (Intel, MLC)||7 seconds|
|Western Digital Green 1TB||15.6 seconds|
|Western Digital VelociRaptor||12 seconds|
The differences in time here aren't huge on paper, but they are tremendous when you're actually using the machine. The funny thing about an SSD is you don't always appreciate the benefit when you've got it, but go back to a mechanical disk and it'll feel like something is wrong with your machine. The difference is noticeable.
Now let's look at individual application performance:
Google Chrome launches quickly on pretty much anything, the difference between SSDs is negligible but there is a slightly noticeable difference between running a simple, quick loading app on a HDD vs. a SSD. Again, the differences are small, but noticeable. On an SSD the application launches are instantaneous, on a HDD you can "feel" the load.
PowerPoint is similar to Chrome, but the application does take longer to load on mechanical disks. Again, the differences are noticeable - the X25-M will load PowerPoint in half the time of the VelociRaptor. You can argue that the price isn't worth it, but the point is that the load completes much faster...let's look at what happens when we're loading an application that does take a long time to start.
Photoshop takes its sweet time loading on a notebook drive, over 10 seconds on the Momentus 7200.2:
Even on the VelociRaptor it's a 6+ second ordeal. On the X25-M and all of the other SSDs, we're talking less than 3 seconds (the X25-M is naturally the fastest at 2.3 seconds).
My rule of thumb has always been that a good SSD will cut application launch times in half compared to a desktop hard drive, so if you have a particularly beefy application that takes a good while to load, expect that time to go down considerably. Remember, these are best case scenarios, in a little bit I'll start multitasking and then we'll separate the men from the boys.
Game Load Performance
I looked at three games for load time performance and I picked these titles because they run the whole spectrum of how well an SSD will work in a gaming machine. First up is Spore.
Here I'm timing how long it took to load the next stage of evolution in the game, my character just grew legs and is about to walk on land for the first time:
You'll see that the results are pretty much the same on all of these drives, we're reading from the disk but we're bound elsewhere in the system - an SSD won't do anything for you here and there are many games where you won't see improvements in load times.
Next up, Oblivion - I'm simply loading a savegame:
Compared to notebook drives, the SSDs do extremely well. Against the 3.5" competitors, the margins are smaller but there - you shave a couple of seconds off of the VelociRaptor's time, more off of the 1TB WD drive (or any other 5400RPM drive). For some reason these sorts of performance gains are far less noticeable in real world usage than the improved application launch times. Perhaps it's because when you're playing a game it's all you've got going on and you're more patient, whereas when launching a web browser or an application you're trying to complete a task where time is more valuable. I'll refrain from any more psychological analysis and stick to the drives though.
Finally we get to Crysis, and this is the other end of the spectrum because Crysis is a game that is very demanding on the I/O subsystem. We've got three results here: 1) How long it took to launch the game and load the benchmark level, 2) Minimum FPS, 3) Average FPS. I'm only reporting the minimum and average frame rate of the first run, because in that run of the benchmark the textures and level data are still being streamed off the disk and it actually impacts both minimum and average frame rate.
The Intel X25-M manages to load the game and benchmark level in around 80% of the time of the VelociRaptor and about 90% of the time of the Samsung SLC SSDs. Compared to notebook drives the performance advantage is staggering. Game load and level load performance can be improved and Crysis is a good example of that.
The minimum frame rate graph is very interesting because it shows the impact loading textures from a slow disk can have on minimum frame rates in a game. The Crysis test is a bit exaggerated since it's streaming data as fast as possible, which you don't always do in a game, but if you've ever felt your game grind to a halt and hear your disk thrash this is a good test of that.
The X25-M has a 33% advantage here over the VelociRaptor, and I won't even mention the utter destruction of conventional 2.5" HDDs. Compared to other SSDs, the Samsung SLCs come the closest but Intel still manages a 25% advantage. The JMicron based MLC drives suffer terribly here, Intel's MLC drive is 63% faster. I will also point out that for a couple of runs the JMicron MLC drives managed a minimum frame rate of 3 fps, several of those lovely pauses happened in the middle of the benchmark which really changed things. The phenomenon was random enough that I reported the more common frame rate but it's worth pointing out that the pausing issue can happen while gaming, which would be bad if you're playing any sort of multiplayer game.
Average frame rate is obviously affected, but you can see that the numbers are much closer indicating that the minimum frame rates are at least not sustained for long periods of time.
What can we conclude here? SSDs can be good for gaming, but they aren't guaranteed to offer more performance than a good HDD. And where SSDs do offer an impact on gaming performance, Intel's X25-M continues to dominate the charts.
The Killer App: Multitasking Performance
Here's where things get interesting. I ran two tests, in one I extracted a 5GB archive and tried to run Photoshop after 30 seconds of extraction and in the second test, I extracted a 5GB archive and tried to scan my system for viruses using NAV 2008. Simple enough, right? I'm reporting the times of each task individually.
The extraction task took the longest to complete but the standings speak for themselves:
Here's one area where the Samsung SLC based devices actually come out ahead, by a good margin. The Samsung SLC SSD finished the extraction in 102 seconds, compared to 161 seconds for the X25-M. Even the VelociRaptor did better here at 116 seconds, but remember you need to look at both tasks for a complete picture:
Launching Photoshop took 5.2 seconds for the Samsung SLC SSD, it was like we weren't even running another test in the background. The X25-M did fine at 12.2 seconds and the VelociRaptor was much slower at 27.3 seconds. The JMicron based MLC drives didn't do too bad here either, although they were a little slower than Intel's MLC offering.
The real stress test was this next multitasking scenario. Quite possibly one of the most annoying thing about viruses is having to run real time scanning and protection software all the time, especially with a traditional HDD in your system. The extraction task is the same as before, but the other task is a full system scan in Norton Anti-Virus 2008. I timed both:
The WD 1TB drive would always complete the extraction task quicker than all of the other drives, but paid the penalty in the scan test (which is why you have to look at both charts for a full analysis). The Samsung SLC drive is still the overall winner here, followed closely by Intel's X25-M. The JMicron based MLC drives do horribly here, taking over twice as long to complete as Intel's MLC.
The mechanical disks however do a lot worse. While the Intel X25-M took 3.5 minutes to extract the 5GB archive, the VelociRaptor took over 17 minutes. The Seagate Momentus 7200.2 took over 23 minutes!
Let's look at the NAV results:
The X25-M took around 5.3 minutes, the Raptor needed more than 23 minutes and Seagate Momentus made me wait over 40 minutes. It's these sorts of usage scenarios that really make SSDs worthwhile, and they are the most realworld you can get. When we started looking at real world performance the PCMark Vantage numbers may have looked a bit ridiculous, but by now you should see that they are more of the middle ground when looking at performance of these drives.
Power Consumption & Battery Life
Intel lists the idle power consumption of the X25-M at 0.06W and the "typical workload" power consumption as 150mW. This is far lower than any conventional hard drive and relatively comparable to other SSDs.
In a desktop system using the Intel X25-M will shave off around 3 - 5W of total system power at the outlet under idle or load conditions. The savings are less compared to a 2.5" drive, but the real question there is how much more battery life do you get if you switch to the X25-M?
We didn't have enough time to run through a full suite of battery life tests but using MobileMark 2007's Productivity test I looked at the Intel X25-M, the OCZ Core (JMicron based MLC), the OCZ SLC SSD (Samsung based SLC) and the Seagate Momentus 7200.2.
Overall performance was highest on the OCZ SLC SSD, but only marginally compared to the Intel X25-M. The OCZ Core managed to come in third place, still faster than the mechanical disk.
The battery life of the system was actually lower with the OCZ Core, presumably thanks to the strange write performance issues. But generally the SLC, MLC and HDD all last around the same amount of time. Intel's X25-M boosted battery life by a bit over 6% or 27 minutes, not an insignificant increase in battery life.
At the high level, SSDs are still the key to truly solid performance and this is where the issues with the JMicron based MLC drives are really unfortunate, because it means that the most accessible SSDs on the market can actually deliver a pretty bad user experience. But if you look at what Intel's X25-M and the Samsung SLC drives can deliver, it's really quite good.
As I've mentioned before, the random write issues with JMicron JMF602 based MLC SSDs are simply unacceptable and in my opinion they make the drives unusable for use in any desktop or notebook that you actually care about. Next year we may see a JMicron controller that fixes the problem but until then, I'd consider those drives off limits.
This thing is fast, and I want one in my system...actually, two. It's the only SSD that I would actually go out, buy and stick in my desktop machine at this point. I think that's the first time I've ever said something like that in a review, but I'm absolutely convinced. I've been using SSDs in my systems for a few months now and I'm hooked.
What Intel did with the X25-M is show the world what is possible with MLC flash. You get better than SLC performance, at lower than SLC prices. Despite that, the absolute only thing that bothers me about Intel's X25-M is the price. Although Intel is totally justified in pricing the X25-M at $595, I was hoping for pricing inline with the JMicron based MLC SSDs. At $300 - $400 this would be a no brainer for any enthusiast, and honestly even at $595 it's worth considering if you have other drives for data storage.
The other complaint is obviously capacity; at 80GB you can get by with this being the only drive in a corporate notebook or even your personal notebook if you've got external storage, but in a desktop machine 80GB is a bit shallow. Thankfully with better reliability than conventional hard disks you should be able to put two of these in RAID 0, doubling capacity without any fear of reduced reliability. Then we get back to the pricing problem unfortunately.
If Intel can get capacities over 100GB at reasonable prices in the near future, I'd say that the X25-M would be the best upgrade you could possibly do to your system. I'm curious to see what pricing and availability will be like for the 160GB drives, but Intel is being pretty tight lipped about them.
The implications of the X25-M are tremendous. I mentioned before that it is the great equalizer between the notebook and desktop, you can finally have a desktop usage experience on your notebook if you've got one of these in there (or a SLC SSD). If capacities grow quickly enough, these SSDs could mean that desktops would start accepting 2.5" drives, allowing for smaller form factors. Apple is already doing this on the Mac mini, and we've seen 2.5" drives used in systems like the ASUS Eee Box, but now you don't have to give up performance.
Intel didn't start the SSD revolution but it sure did kick it into high gear. Companies like Samsung and JMicron are really going to have to step up their game if they want to compete with Intel going forward. While Intel was light on details about the tricks they implemented in their controller, it's clearly enough to completely change the way we look at MLC SSD performance. And if this is the sort of performance we can expect out of its MLC drive, I'm wondering what will happen when we look at its SLC drives.
To me this is bigger than Nehalem, but then I look at the price tag and think that Nehalem will probably be a cheaper upgrade. Intel redefined the performance of the MLC SSD, I only wish they also redefined the price...