http://www.dvorak.org/blog/images/raid0.jpg

Solid State Drives (SSD) are getting cheap and fast. So I’m putting 4 of them together in a Raid 0 array for a super fast MySQL server. The drives are just 30 gigs but cost only $75 each at NewEgg. Trying a 4k chunk size as these drives are unbuffered. I think that’s the sweet spot.

REVISED

Bottom line – it doesn’t work. I’m still investigating why but instead of being fast it’s extremely slow. Just formatting it with mke2fs takes 4 minutes and 54 seconds. These drives are made by OCZ and I think they are cooking the numbers on the flash drive speed. I think that the real numbers are more than 10 times slower than they specify.




  1. amodedoma says:

    Cool project! MORE DETAILS! If not here post it on hack-a-day, please. Oh and please include Benchmarks! Been waiting for prices to come down to do something similar…

  2. Rob Alter says:

    Remember that SSD drives have limited write cycles. Flash-memory cells will often wear out after 1,000 to 10,000 write cycles for MLC, and up to 100,000 write cycles for SLC. Many log files, file allocation tables, and other commonly used parts of the file system exceed this quite quickly.

  3. Somebody_Else says:

    Nice. I just picked up a G. Skill 64 GB drive for ~$130 from Newegg.

    The documentation claims that it has a MTFB of 1,500,000 hours and can endure 50 GB of writes/erases per day for 35.07 years . We’ll see.

    I’m happy with the performance. Vista is nice and snappy and applications open very quickly. It does slow down significantly while writing, but its read speeds are fantastic.

  4. James Hill says:

    Very cool. Can you post some performance measurements?

  5. Rob Alter says:

    Somebody_Else:

    I think MTBF (Mean Time Between Failure) only refers to failure, not write cycles.

    All this marketing propaganda gets confusing…

  6. Engineer says:

    Unfortunately, all this data needs to be looked at with a lot of care. The MTBF does not have any meaning at all, it could as well last 10 minutes.
    Also consider that those drives use MLC and not SLC chips. The random write is much worse than the stated 80 Mbps (which means Mbit per second and is wrong in this case. It should be MB/s = Megabyte per second). Besides, the prices are dropping, along with the quality.

  7. Somebody_Else says:

    #4 and #5
    The documentation specifically lists the “drive endurance” as 50 GB of write/erase cycles per day for 35.07 years. The MTBF is a separate section.

    Obviously nobody knows how long these drives will actually last, but the wear leveling they’re using on these first generation drives is supposed to be very good at extending the life of the flash cells.

    I don’t think these drives are quite ready for widespread adoption because of the slow write speeds, but I could see them starting to catch on this year as prices decline and performance improves.

  8. Mark Derail says:

    Ugly couch, cute drives.
    Flash disks have limited lifespans, SSD’s don’t. Any SSD is more reliable than a regular SATA HD.

    Your chunk size should reflect the largest row size of the database table that has the most daily delta, times 2.

    So 4k is most likely still too big for optimum performance, but a good overall choice.

    FWIW, I have a table that grows 10k rows per day, each row is 496 bytes. Performance with chunks at 512 bytes or 1024 bytes were identical. Some gain at 2048, due to read-ahead, no gain at 4k versus 2k.
    At 8k it was just like 4k, I gave up the database benchmark.

    Was timing doing 1 million inserts, then 10,000 selects, worst case scenario.

    I was doing SCSI Raid-5 across six HD’s. Performance with six 7200 rpm versus 10k versus 15k, the 15k’s were not twice as fast, only slightly better than the 10k’s.

    Wasn’t worth twice the price for 15k vs 10k.

  9. syrinx says:

    @Marc Perkel

    4k chunk “size.”

  10. Someone says:

    These may have been the best comments I’ve ever read here.

  11. JAJansenJr says:

    I once wrote a database application for (remember this one?) a 486 PC. It barely crawled and was unusable. I rewrote it in VB6 using a technology called DAO (data access objects) that came with VB6.
    At the beginning of the day I would scan the hard drive using DAO to look for physical record location
    and product number information, and built a RAM table with this information. During the day I would search in the RAM table, pass the location info to a DAO routine, and pluck the record off the hard drive. What was an unusable application became an application that performed “instantly”. The point of this story is that excellent performance can be obtained if you move slow operations (such as searching on a hard drive) into RAM and just use the hard drive as a “clothes closet” (ever try to search through a clothes closet?). What I hope to see some day is an operating system which is smart about speeding up hard drive operations. Solid state drives are going to help but we need something like the DAO “trick” to stay at warp speed (RAM) as much as possible instead of dropping to impulse (slow hard drive operations). Comments welcome.

  12. brian t says:

    Since it’s going to be RAID-0, can we assume that this array will not be holding the primary copy of the database, or that there will be regular backups? Striping with no redundancy = one drive drops out, your database is gone, and even if you get the drive back, the database could be corrupted. RAID-0 is no place for critical data!

  13. OmegaMan says:

    HD Tune Marc…give us some bench marks. Have Dvorak pony up the money for the full read/write test software.

    Try one solo first, then raid them, then test.

  14. KD Martin says:

    #12, “RAID 0 is no place for critical data.” Especially when it’s used with that buggy MySQL.

    I still favor hot-swap mirror backup, and without multi-raid implementation (ie., RAID 1+0) that’s not going to happen.

  15. sam says:

    Google “vista thrashes hard drive”. I bought a desktop with vista basic it thrashed the hard drive constantly. I installed Debian no more problem. I have a labtop with vista premium and I do not notice the thrashing. I prefer a 1tb hard drive for $199 than a 30gb ssd for $75.
    SSD could be very bad for the future development of standard Hard drives. If you run amd64 debian with 4gb or more of ram no need for extra speed of ssd over greater storage space of standard 1tb sata.

  16. sam says:

    Scratch that I just checked computer deli price list.

    5973/I SATA 0250G 7200 WD KS $70.00
    6231/I SATA 0320G 7200 WD KS $77.00
    7231/I SATA 0500G 7200 Sea $79.00
    6308/I SATA 0500G 7200 WD KS $87.00
    7767/I SATA 0640G 7200 WD KS $93.00
    7366/I SATA 0750G 7200 32 Se $115.00
    7436/I SATA 1000G 7200 32 Se $134.00
    7765/I SATA 1500 7200 Sea $174.00

  17. Somebody_Else says:

    #8
    SSDs are flash disks and use the exact same type of memory, they just have a much higher capacity. Thus they have more space to spread writes out to for better wear leveling.

    Are they more reliable than regular drives? Nobody knows yet, they haven’t been in the wild long enough. They are certainly much more resistant to shock/heat/etc since they have no moving parts.

    #14
    Vista spends a lot of time reading/writing for awhile after you initially install. It does a lot of indexing and such.

    Turning off/moving the pagefile and turning off drive indexing can minimize unnecessary writes to the SSD.

  18. QB says:

    I’m not sure you’d want to put a whole db onto it but certain parts like tempdb make sense. Some db vendors are also experimenting with their databases so commonly read tables/data are mirrored between SSD and hard media.

    #10 You’re right. Some of these comments are good, others are straight copy and pastes from Wikipedia. Occasionally it’s fun to Google these comments to see who’s cheating. Right Rob?

  19. Alex Wollangk says:

    #14: $199 for a 1TB? Newegg has the new Seagate Barracuda 1.5TB for $129.99 with free shipping…

    What I’d do, personally, is set up a raid 0 boot drive with the OS and applications and then put data and swap files on a standard spinning drive with a nice big cache. You get the best of both worlds that way. Add a nice fast USB stick for ready boost in Vista and you have a pretty speedy system.

    One thing that might be interesting is a really short adapter that goes from one of the standard USB header connectors to a female USB. Then an enthusiast can plug a USB thumb drive in internally to use for ready boost… I never did like having things hanging on the outside of my computer if I don’t have to…

  20. Rob Alter says:

    SSD’s can be Flash-based or DRAM based.

    DRAM based have very fast write times. Flash based are slow to write.

    I believe someone mentioned these drives slow down on writes so they are probably Flash-based drives.

    Flash based drives have limited write cycles. DRAM based do not have this problem.

    Flash based drives as a RAID in a server situation should be interesting…

  21. Somebody_Else says:

    #19
    Yes, the SSD’s we’re talking about here are flash based.

    DRAM is very fast and has unlimited writes, but its volatile. You have to have constant power and the cost of purchasing RAMdrives+sticks of RAM to populate them prohibitive.

  22. Mr Diesel says:

    Holy cow!! A real technology post on this blog.

    Good info for a change…….

  23. Dan Bran says:

    I don’t understand the reason for raid 0 here. Raid 0 stripes multiple drives to reduce seek (head movement) times. Since there are no physical moving heads on an SSD it should make no difference. Unless all you are after is a single 120GB solid state drive that is 4 times more likely to fail than any of the individual 30GB drives

  24. Rich says:

    “I don’t understand the reason for raid 0 here. Raid 0 stripes multiple drives to reduce seek (head movement) times. Since there are no physical moving heads on an SSD it should make no difference.”

    I believe distributing data to more than one drive at a time would improve speed regardless of the technology involved.

  25. The0ne says:

    I work with MTBF numbers every month. They should be taken lightly as they only represent the population and can be highly skewed one way or the other. MTBF is not a very accurate but it gives you an overall “feeling” of how your product or part will be doing.

  26. Kevinb says:

    @Alex Wollangk

    For a laptop you can simply get a PCMCIA or express card CF slot for a few dollars and keep a flash card internally(and you can find fast CF cards cheap), and for a desktop search Newegg for a “5 port USB PCI Card”. These cards have 4 external and 1 internal USB 2.0 slot, which you can then use to attach your flash stick. I picked one up at Newegg last week for $10.50 including shipping. So while I don’t use Vista the internal boost you desire is quite easy to accomplish. Enjoy!

  27. ECA says:

    sETTING A RAID 1-2 would be nice, and would spread out the MTBF..
    grouping the bandpass should accelerate the transfer also..
    Im wondering how the mobo is dealing with it..Is it maxing out?
    By what I have seen, the amount of power used in this config, is about the same as a Hard drive of the same size. so not allot of real savings.

  28. bobh says:

    I put an SSD in a previous generation MacBook Pro. The performance increase is amazing, especially compared to the stock 5400 rpm drive.

    Details at:

    http://osx411.com/installing-a-128gb-ssd-into-an-old-macbook-pro/

    Bob

  29. Jacques Auef says:

    Uh John, you should have called Leo on his radio program and asked him for help!

  30. Somebody_Else says:

    Hmmm,what RAID controller are you using? What speeds are you actually getting?

    I can imagine that writes would be slow but you should be getting great reads, although I haven’t used OCZ’s drives myself.

    I’ll take the drives if you don’t want them…


1

Bad Behavior has blocked 6828 access attempts in the last 7 days.