I believe the biggest pro of hardware RAID is that, providing your RAID controller is battery backed, you can enable write-back cache. This can also be achieved similarly through software RAID with specific OSes and SSDs acting as the cache. This gives huge performance gain, but if used without this hardware, can cause corruption and ruin hard drives as the cache is never written solidly.

Presumably the cache never exceeds 16/32GB, why would hard drive controllers not include flash memory chips (dirt cheap?) so write-back can always be enabled with no data corruption on power loss? If power was lost, the cache could be written on boot providing disks at time of failure.

Seems like it would improve not only software RAID but also any general users who could have write-back cache enabled as standard to benefit from the performance increase.

closed as primarily opinion-based by joeqwerty, Dave M, voretaq7 Sep 25 '13 at 19:29

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

  • Server Fault deals in practical, answerable questions based on actual problems that you face in a production/professional environment - "Why don't they do X?" design questions are generally not a good fit for this site. – voretaq7 Sep 25 '13 at 19:30
  • Seagate is in fact selling hybrid drives with on board flash so if you get some of them you can get the performance of a battery backed write cache without the need for an expensive controller. – psusi Sep 25 '13 at 19:49
  • agreed voretaq, but looking for a hardware section reaps this or super user, figured RAID is server oriented so this is just about the only place to ask. – Malkin Sep 25 '13 at 19:56

Because there's no cache coherency possible if you only leverage the caches of individual drives...

  • But with dedicated flash on the controller, software could access, like the SSD cache in ZFS, using the flash memory for the whole controller cache. I guess write-back has to be enabled in firmware so I think I'm imagining some sort of hybrid HW/SW solution. – Malkin Sep 25 '13 at 18:57
  • @Malkin There's also the issue of flash storage "burning out" - flash has a write cycle limit, after which it becomes unusable. On very active systems the controller cache can be rewritten many times per second, and even a very large SSD being used for cache would likely burn out within the lifespan of a typical server. Flash is also slower than NVRAM (which is a factor if your backing storage is SSDs - the cache needs to be faster than the raw disk), etc. - it's a long list of reasons. – voretaq7 Sep 25 '13 at 19:35

Not the answer you're looking for? Browse other questions tagged or ask your own question.