Firmware vs OS RAID (aka Windows 8 Disk Mirroring vs Intel Onboard)

14,671

Solution 1

tl;dr: Last paragraph.

There's some confusion here about the various things that can create a RAID or RAID-like device. Let's discuss the options in order of preference and performance.

Best first: Real RAID cards, from vendors like LSI, Areca and others. These cards usually have dedicated memory for caching and almost always have an optional battery backup unit. The BBU provides power to the cache, so that in the event of an unexpected loss of power, any data that hadn't yet been written to disk won't be lost. Some cards won't let you turn on the write cache unless a BBU is installed. Some of these cards have even more advanced ways of increasing performance. For example, many new LSI cards have an optional add-on called "CacheCade," which can use an SSD for read caching. Real RAID cards also allow you to assign spares, and can automatically begin rebuilding the array in the event of a drive failure.

Next up is OS-provided software RAID. Linux and certain editions of Windows can create devices using various RAID levels. Software RAID is an adequate solution in many cases, but it has a few drawbacks. First, some editions of Windows can't boot off of Dynamic Disks, the feature that creates software RAID. Some (mostly older) Linux distributions also have problems booting off of software RAIDs. Second, software RAID lacks that delicious hardware-backed write cache. It won't save you from data corruption caused by a sudden power loss. Third, depending on the workload and RAID type, it can consume a non-trivial amount of CPU time. This is especially true when using a RAID type that does parity, like 6. I'm not sure about Windows, but Linux's software RAID also allows you to allocate spare drives.

Next is firmware/chipset-based RAIDs, like LSI's 1068 and Intel's "67", "68" and "77"-based RST. Like hardware RAID cards, they expose normal drives to the OS, and don't need drivers to perform basic operation. All of the I/O operations, including parity, are done from within the firmware itself, meaning that they don't use CPU time. Unfortunately they also don't come with any of the benefits of a dedicated hardware RAID, like a write cache or a BBU. It's unfortunate that older Intel RST has a reputation for being flaky and finicky. Firmware RAID usually does not let you allocate spare drives. Unless you do something silly and use RAID 0, you probably won't see any performance improvement using a firmware RAID.

Finally, and worst of all, is fakeraid. There are two classes of fakeraid. The first doesn't require drivers, but usually only exposes RAID 0 and 1. The second requires drivers for all operations, and does everything in software. Fakeraid can be found in inexpensive addon cards, in some cheap consumer-grade NAS devices, and even on some motherboards (usually with an AMD or Nvidia chipset). Like firmware RAID, you almost certainly won't see a performance improvement with fakeraid.

Your question deals with the middle two options: Windows software RAID versus Intel's firmware RAID on a Z77 board. Normally I'd say it's a performance and reliability wash, as both options have proven themselves in the real world and don't overtly suck. As it doesn't look like you're using the mirror as a boot device, I'd usually say that Windows software RAID is probably the most sane way to go. However, the 77-series Intel firmware RAID has a trick up it's sleeve: it can use an SSD as a cache, when you install the optional driver. That is, caching is only available when the driver is loaded. The array itself is always available. If you feel like sticking another SSD in your system, it might work out well.

Solution 2

There seems to be a lot of misinformation about this topic, specifically regarding what uses the CPU and what doesn't. Charles already posted a good answer explaining the differences. Fortunately, someone also did a benchmark of both firmware and software RAID, and posted the results here:

http://forums.anandtech.com/showthread.php?t=313610

The thread is a few years old, but it concludes:

  1. Don't use the Jmicron [fake RAID] controller for anything other than dumb AHCI, preferably only for DVD drives.
  2. Intel is better for RAID0 on an OS array, RAID5 in general, or on any multi OS system. Also movable to any other ICHXR systems.
  3. Windows has very nice RAID1 and all arrays are movable between any Windows Vista and newer systems. (Dynamic partitions can only be read by Windows)
Share:
14,671

Related videos on Youtube

Django Reinhardt
Author by

Django Reinhardt

Hello.

Updated on September 18, 2022

Comments

  • Django Reinhardt
    Django Reinhardt over 1 year

    So Windows 8 is out and I have a new motherboard. I wish to create a RAID 1 coupling between two HDDs -- for storage purposes only (my OS is on an SSD) -- but I don't know which is the best route to take.

    My motherboard (Z77 chipset) comes with Intel Firmware RAID, but since I only wish to use my RAID for storage, I wondered if I might be better to use Windows 8 Disk Mirroring?

    Can anyone advise which is better? Or perhaps the pros and cons of each, if that's too contentious? I just can't see the benefit of Firmware RAID over Windows Disk Mirroring.

    You can see my current setup here, if that might change things(?):

    enter image description here

    Thanks!

    • Django Reinhardt
      Django Reinhardt over 11 years
      Good point, no I don't.
    • HaydnWVN
      HaydnWVN over 11 years
    • Django Reinhardt
      Django Reinhardt over 11 years
      @HaydnWVN I'd actually never even heard of Storage Spaces until that!
    • Ramhound
      Ramhound over 11 years
      What the bloody heck is Intel Fake Raid exactly? You also cannot boot from Storage Space at this time, at least not with, Windows 8 and Windows 8 Pro.
    • Django Reinhardt
      Django Reinhardt over 11 years
      @Ramhound It's the software RAID found on many motherboards. A simple Google will reveal all :)
  • psusi
    psusi over 11 years
    You can NOT enable writeback with any fakeraid since that requires battery backed ram on a real raid controller to cache the data in the event of a power loss. Enabling writeback without battery backed ram would violate the interface contract with the OS ( hardware promises data has been written to disk but hasn't ) and lead to a corrupted filesystem if you lost power.
  • Charles
    Charles over 11 years
    -1, blatantly false. Intel's firmware RAID does not consume any CPU time. The processing is performed entirely by the chipset.
  • askvictor
    askvictor over 11 years
    @Charles: blatantly false. It is called FakeRAID for a reason: it's not a real RAID controller. en.wikipedia.org/wiki/RAID#Firmware.2Fdriver-based_RAID
  • askvictor
    askvictor over 11 years
    Perhaps doesn't require (it does after all run as raid before the is loads) drivers, but almost always used with drivers, which borrow cpu cycles from the host.
  • Django Reinhardt
    Django Reinhardt over 11 years
    @Charles Intel's "fakeRAID" is software based, and so therefore uses CPU cycles.
  • askvictor
    askvictor over 11 years
    So you are saying the initial question is misleading - the RAID controller in questions is not FakeRAID as described, but firmware RAID...
  • Charles
    Charles over 11 years
    Bingo. When it was first introduced, it was basically bad enough that it was effectively a fakeraid. It's been nearly a decade since, and the modern implementation has been vastly improved. It's still not great, but it's not going to eat your data for lunch and drink all of the CPU time.
  • Charles
    Charles over 11 years
    @JohnnyW, unfortunately I only have personal experience with it, and the fact that it's never required any drivers to function properly, regardless of OS. Without anything to schedule CPU time with the OS, it's extremely unlikely that it could actually get any. Keep in mind that you're just planning RAID 1, which has minimal processing requirements anyway.
  • Django Reinhardt
    Django Reinhardt over 11 years
    @Charles But with Intel Firmware RAID you have to install their RST drivers. At least I did in Windows 7?
  • Charles
    Charles over 11 years
    @JohnnyW, I've never had to install RST drivers in XP, Vista or 7 in order to perform installation or for day to day operations. They're only needed to manage the array. Don't get me wrong, they're worth installing, especially for things like SMART alerts, but they are not required in order for the array to operate.
  • Django Reinhardt
    Django Reinhardt over 11 years
    @Charles Interesting!
  • pacoverflow
    pacoverflow over 9 years
    Please provide a citation to support the idea that Intel firmware RAID is different from fake RAID. Everything I've read says Intel firmware RAID is fake RAID.
  • Charles
    Charles over 9 years
    It lives halfway between "fake" RAID and "real" RAID. It's real because it's an actual on-chip implementation of 0, 1, 10 and 5, with no external software or drivers needed. It's an actual component of the south bridge, along with the rest of the drive controller bits. Some people consider it "fake" because it's a very bare-bones implementation with minimal management and insight into how it operates. It's not a separate component by a third party, and it doesn't require software/driver installation (== no CPU use), and those take it quite a bit out of the standard "fake" RAID category.
  • Charles
    Charles over 9 years
    A lot of the things people consider "fake" RAID are cheap add-on cards that provide RAID 0 and 1 support. This is often done using cheap tricks, like merely multiplexing commands to the drives. Some of these even push the entire responsibility for the "RAID" off to the driver. These things are the most pure essence of what a "fake" RAID really is. Intel's implementation is not one of those horrible monstrosities.
  • pacoverflow
    pacoverflow over 9 years
    Here's a screenshot of the Intel RAID BIOS indicating a degraded array and a prompt to rebuild. Note it says that the rebuild will complete in the OS, meaning that it must load the drivers in order to perform the function. kmpic.asus.com/images/2013/04/19/… In addition, this Intel page on the Z77 chipset says: "Intel® Rapid Storage Technology (Intel® RST) requires [...] the Intel RST software driver installed." intel.com/content/www/us/en/chipsets/performance-chipsets/…
  • pacoverflow
    pacoverflow over 9 years
    @DjangoReinhardt You are correct, the Intel RAID is fake RAID and requires the driver to be installed. See my comment to Charles' answer: superuser.com/questions/498177/…