Can software RAID be faster than hardware RAID?

Can software RAID be faster than hardware RAID?

Summary: Of course. Here's how.As the comments on my recent post Apple's new kick-butt file system showed, some folks can't believe that software RAID could be faster than a modern hardware RAID system.


Of course. Here's how. As the comments on my recent post Apple's new kick-butt file system showed, some folks can't believe that software RAID could be faster than a modern hardware RAID system. But it can.

Not only that, it will be increasingly common in the years to come. Later, I'll point you to some recent benchmarks.

There is no spoon And there is no hardware RAID. RAID systems are computers running code, just like your cell phone. All RAID is software RAID.

The real issue is where the RAID code is running. In hardware RAID it is running on a dedicated processor. In software RAID it is running on the system processor.

Which is faster: $300 chip or $30 chip? It only takes a moment's reflection to realize that the system processor is almost always faster and more powerful than a dedicated processor, especially one on a PCI controller. It is only in costly mid-range and high-end RAID arrays that they can afford to use processors as powerful as the one in your PC. PCI controllers use old, slow x86 processors or microcontrollers.

Yeah, but what about cache? Good point! The ECC DDR ram that costs you $100/GB costs the array user $1000-1500/GB. Of course its 10x - 15x faster the exact same RAM!. Load up your 64 bit PC with 4 - 16 GB of RAM and you'll have plenty of read cache.

Surely arrays have some advantages? Sure they do. For example, the processors may be old, slow and cheap, but they are dedicated. They are giving their all in the service of your data. So performance should be more predictable, even if it is slow.

Dedicated environments also benefit from greater stability than your PC processors enjoys. A dedicated controller is designed and tested with all the other components on the board. The firmware is tuned for likely error conditions. In an array even the drive firmware is specified.

The Storage Bits take This is all Good Stuff, but it doesn't make HW RAID faster. It might make it more reliable. It certainly makes it more costly. As data cools and capacities grow the cost issues become paramount.

Having watched HW RAID take over the market from earlier host-based mirroring, I now expect to see SW data protection take the market back from HW RAID. I'm not sure RAID is part of the long-term solution, either. But that's a topic for another post.

Oh, and that link I promised: I wrote about some software ZFS testing today at StorageMojo. If you understand Unix you can go direct to milek's blog for the straight skinny.

Comments welcome, of course. I try to review them and comment where appropriate, so check back later.

Topics: Software, Hardware, Processors


Robin Harris has been a computer buff for over 35 years and selling and marketing data storage for over 30 years in companies large and small.

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.


1 comment
Log in or register to join the discussion
  • A 0 or a 1 only

    Correct me if I'm wrong but another drawback to a software RAID is that you can only stripe or mirror an array. I know Mr. Harris doesn't feel that the RAID 5 configuration is as relevant as it used to be. But in my opinion it's still the best option for performance with parity (backup). Yes it's true that once an unrecoverable error occurs and the 3rd backup drive in a RAID5 array kicks in your still going to need to backup that data and transfer it over to a new 3 disk array ($$$). For me, still being able to know when that "alarm" goes off and have some borrowed time to fix the problem is a huge insurance.