Performance Showdown - SSDs vs. HDDs
Lucas123 writes "Computerworld compared four disks, two popular solid state drives and two Seagate mechanical drives, for read/write performance, bootup speed, CPU utilization and other metrics. The question asked by the reviewer is whether it's worth spending an additional $550 for a SSD in your PC/laptop or to plunk down the extra $1,300 for an SSD-equipped MacBook Air? The answer is a resounding No. From the story: "Neither of the SSDs fared very well when having data copied to them. Crucial (SSD) needed 243 seconds and Ridata (SSD) took 264.5 seconds. The Momentus and Barracuda hard drives shaved nearly a full minute from those times at 185 seconds. In the other direction, copying the data from the drives, Crucial sprinted ahead at 130.7 seconds, but the mechanical Momentus drive wasn't far behind at 144.7 seconds."
They only tested burst speeds, there was no random access testing.
SSD works best when accessing files randomly.
Well, the IDE bus isn't mechanically oriented anyway - we don't actually use cylinders, heads and sectors (and haven't for years), we use block addressing and the drive electronics has figured out how to move the mechanics. Block addressing isn't all that far off from addressing an individual byte in memory anyway - except you're addressing a whole block rather than a single byte (and for mass storage, whether it's mechanical or flash, you're going to want to do it that way so you don't have an absurdly wide address bus). Parallel ATA uses a 16 bit wide data bus.
Oolite: Elite-like game. For Mac, Linux and Windows
My apologies for a long post. There will be some adverts embedded, but I will try to keep things informative.
The reason that Flash SSDs act "wierd" in benchmarks is that they have asymmetric performance patterns when reading and writing. Particularly with random operations, this asymmetry is huge. Here are a couple of example "drives":
* Mtron 7000 series: >14,000 4K random reads. ~130 4K random writes.
* SanDisk 5000 series: ~7,000 4K random reads. 13 4K random writes.
* Cheap CF card or USB stick: ~2,500 4K random reads. 3.3 4K random writes.
This is a 100:1 performance deficit when doing random writes versus the random reads. This has some really weird impacts on system performance. For example, if you run Outlook and tell it to "index" your system, it will build a 1-4 GB index file in-place with 100% random writes. If you do this on a hard disk, the job takes a long time and drags down your laptop, but the operation is still pretty smooth. Do the same think on an SSD and the system slugs to molasses. One of our customers described it as "totally unusable" with 2+ minutes to bring up task manager. What happens is that the fast reads allow the application to dirty write buffer faster and this then swamps system RAM, you get a 100+ deep write queue (at 13/sec), and you want to throw the machine off of a bridge.
This fix as some have described it is not some magic new controller glue or putting the flash closer to the CPU. It is organizing the write patterns to more closely match what the Flash chips are good at. Numerous embedded file systems like JFFS do this, but they are really designed for very small devices and are more concerned with wear and lifespan issue than performance.
Now here comes the advert (flames welcome). A little over 2 years ago, I wrote a "block translation" layer for use with Flash storage devices. It is somewhat similar to a LogFS, but it is not really a file system and it does not play be all of the rules of a LogFS. It does however remap blocks and linearize writes. Thus it plays well with Flash. It also appears to be an "invention", and thus my patent lawyer is well paid.
The working name of the driver layer itself is "Fast Block Device" (fbd) and the marketing name is "Manged Flash Technology". And what this does is to transparently map one block device into another view. You can then put whatever file system you want into the mix.
In terms of performance, it is all about bandwidth. Build a little raid-5 array with 4 Mtron drives and you will get over 200 MB/sec of sustained write throughput. With MFT in place, this directly translates into 50,000 4K random writes/sec. Even better, you tend to end up with something that is much closer to symmetric in terms of random read/write performance.
MFT is production on Linux (it has actually been shipping since last summer) and is in Beta test on Windows. It works with single drives as well as small to medium sized arrays. It does work with large arrays, but the controllers don't tend to keep up with the drives, so large arrays are useful for capacity but don't really help performance a lot. Once you get to 50,000 IOPS it is hard for the controllers to go much faster.
Consumer testing with MFT tends to produce some laughable results. We ran PCMark05's disk test on it and produced numbers in the 250K range. This was with a single Mtron 3025. Our code is fast, but we fooled the benchmark in this case.
There are several white papers on MFT posted in the news link of our website:
http://managedflash.com/
My apologies for the advert, but I see a lot of talk about SSDs without actually knowing what is going on inside.
I am happy to answer any questions on-line of off.
Doug Dumitru
EasyCo LLC
610 237-2000 x43
http://easyco.com/
http://managedflash.com/
http://mtron.easyco.com/
Well, I can supply my own experiences for you, after using a 32GB Samsung SSD for a year, and a 64GB Samsung SSD for several months...
1) Mine have been formatted NTFS, running Windows XP (and additionally Apple HFS Journaled recently when experimenting with OS X). I do not defragment the SSD, there is no point. Read speeds have always been better than write speed, but I see no difference in performance over time.
2) Both of the drives I have are fully functional, even though I abused the 32GB one mercilessly. That laptop has only 1GB of RAM and I would run so many programs that things were swapping constantly for the past year.
3) The 32GB SSD has been through airport scanners approximately 50 times now, no problems. The 64GB is too new, only travelled a few times so far.
4) My laptops are always on the go, brought into many factories as a consultant. While in my bag it has taken falls down sets of stairs. The laptop itself (a Fujitsu P1610) has been dropped from a height of 3.5 to 4 feet onto a metal catwalk while running with no adverse affects (other than a few scuffs and dents on the corners).
5) Not sure how well they stand up to static, but it has stood up well to a variety of high EM fields, and high/low temperatures. No data loss. I have had regular hard disks die from working next to large transformers (and their magnetic fields) for an afternoon.
Hope that helps you. For my line of work, they have been incredible. I used to go through 3 or 4 laptop hard disks per year due to various issues. Now the only reason I bought the 64GB SSD is increased storage capacity.
Urge to post... fading... fading... RISING!... fading... fading... gone.