RAID Controllers

RAID Controllers What is a RAID Controller?

A disk array controller is a device which manages the physical disk drives and presents them to the computer as logical units. It almost always implements hardware RAID, thus it is sometimes referred to as RAID controller. It also often provides additional disk cache.

A disk array controller name is often improperly shortened to a disk controller. The two should not be confused as they provide very different functionality.

RAID Controller History:

While hardware RAID controllers were available for a long time, they always required expensive SCSI hard drives and aimed at the server and high-end computing market. SCSI technology advantages include allowing up to 15 devices on one bus, independent data transfers, hot-swapping, much higher MTBF.

Around 1997, with the introduction of ATAPI-4 (and thus the Ultra-DMA-Mode 0, which enabled fast data transfers with less CPU utilization) the first ATA RAID controllers were introduced as PCI expansion cards. Those RAID systems made their way to the consumer market, where the users wanted the fault-tolerance of RAID without investing in expensive SCSI drives.

ATA drives make it possible to build RAID systems at lower cost than with SCSI, but most ATA RAID controllers lack a dedicated buffer or high-performance XOR hardware for parity calculation. As a result, ATA RAID performs relatively poorly compared to most SCSI RAID controllers. Additionally, data safety suffers if there is no battery backup to finish writes interrupted by a power outage.

How to Choose a RAID Controller?

New RAID levels, technologies and interfaces make choosing a RAID controller more than just a choice between price and performance. These top tips provide valuable insight to help ensure that you get exactly the right controller to suit your specific data protection needs.

1. Choose the correct bus interface for your needs — forward- or backward-compatibility.

PCI-X has the advantage of being backwardly compatible with the older PCI interface. But it is parallel and half-duplex bidirectional, and the bus runs only as fast as the slowest device. PCIe is the new forward-looking standard, and is intended to cope with the performance and scalability demands for at least the next decade. PCIe has the advantages of being serial, full-duplex bidirectional, and devices are able to independently negotiate the bus speed.

2. Find an easy-to-use Management Interface.
3. Which RAID level?
Considering the factors: Cost of disk storage, Data protection or data availability required, Performance requirements

4. RAID level migration
Consider how complex the process is to migrate your data from your current RAID to your new one and consider whether RAID level migration is something you need.

5. How much more data capacity will you need.

6. A limitation of SATA
The SATA infrastructure allows for Port Multipliers, but they have drawbacks – they can’t be daisychained, limiting their flexibility and expandability; they only support one active host connection at a time, significantly degrading effective throughput and allowing for potential
misidentification of drives.

7. Getting locked in to your Operating System
Your choice of RAID controller shouldn’t restrict either your choice of OS, or restrict the speed at which you can obtain an OS upgrade.

8. Reliability of the RAID code

9. Hardware or software RAID?
The difference between hardware and software RAID isn’t just the price.With hardware RAID, the calculations are carried out by the RAID controller, with software RAID they take place on the server’s CPU. So, if the RAID calculations are fairly simple, say RAID 1 or RAID 10, and the server is fairly powerful, using software RAID shouldn’t be much of a problem. But with more
complex RAID level calculations (RAID 5EE or RAID 6 for example), using hardware RAID can be beneficial because the RAID performance is not compromised by the server’s workload, nor are applications on the server compromised by the RAID workload.With hardware RAID, the RAID functionality is also independent of the OS, and the simple HBA drivers required for a hardware RAID controller are usually available as part of the OS distribution. Also, if it has a battery, hardware RAID can run in write-back mode, adding another level of data protection.

10. Ensure the products you purchase have the support you need

Read More

Software RAID VS Hardware RAID

RAID stands for Redundant Array of Inexpensive Disks which is a technology that employs the simultaneous use of two or more hard disk drives to achieve greater levels of performance, reliability, and/or larger data volume sizes.

There are different levels of RAID. The most popular RAID formats are RAID-1 & RAID-5. However today we will not focus on the various RAID format. Let’s go straight to the differences between software RAID and hardware RAID.

1. Hardware RAID:

  • A conventional Hardware RAID consists of a RAID controller that is installed into the PC or server, and the array drives are connected to it.
  • In high end external intelligent RAID controllers, the RAID controller is removed completely from the system to a separate box. Within the box the RAID controller manages the drives in the array, typically using SCSI, and then presents the logical drives of the array over a standard interface (again, typically a variant of SCSI) to the server using the array.

2. Software RAID:

In software RAID the software does the work of RAID controller in place of the hardware. Instead of using dedicated hardware controllers or intelligent boxes, we use particular software that manages and implements RAID array with a system software routine.

3. Comparing Hardware RAID & Software RAID

Portability

OS Portability

Software RAID is not usable across operating systems. So you cannot, for example, use two RAID disks configured in Linux with Windows XP and vice versa. This is big issue for dual booting systems where you will either have to provide a non-RAID disk for data sharing between the two operating system / use hardware RAID instead.

As you know, dual booting is mostly obsolete these days as you can run multiple operating systems on the same machine using virtualization software like VMware & xen.

Hardware Portability

  • Software RAID
    In Linux you can mirror two disks using RAID-1, including the boot partition. If for any reason the hardware goes bad, you can simply take the hard disk to a different machine and it will just run fine on the new hardware. Also with a RAID-1 array, each of the hard disk will have full copy of the operating system and data, effectively providing you with two backups, each of which can be run from a different hardware.Unfortunately in Windows it is not so easy to switch a operating system from one hardware to another, but that is the story of proprietary licenses and we will keep it for another day.
  • Hardware RAID
    Hardware RAID is not so portable. You cannot just swap the hardware to a different machine and hope it will work. You have to find a Motherboard which is compatible with your RAID controller card; otherwise you can kiss your data goodbye. Also there is a bigger issue of problem with the RAID controller itself. If it fails and you cannot get the same controller from the market (and it has probably become obsolete by then), then again you can kiss your data goodbye.

Easy & Speedy Recovery

It may seem trivial but for a busy and loaded server, an easy and speedy recovery, that too inside the operating system without having to reboot is what one can dream of. Imagine if during the peak hours, your RAID system crashes and you are forced to reboot the machine to make changes to it to restore your data! Software RAID’s like in Linux, not only continues working even when the hardware has failed, but also starts restoring the RAID array, should any spare disk be available. All of these happen in the background and without affecting your users. This is where software RAID shines brilliantly.

System Performance

Software RAID uses the CPU to do the work of the RAID controller. This is why high-end hardware RAID controller outperforms software RAID, especially for RAID-5, because it has a high powered dedicated processor. However for low end hardware RAID, the difference may be neglible to non-existent. In fact it is possible for the software RAID perform better than low end hardware RAID controller simply because today’s desktops and workstations are powered by very powerful processors and the task is trivial to them.

Support for RAID Standards

High-end Hardware RAID may be slightly more versatile than Software RAID in support for various RAID levels. Software RAID is normally support levels 0, 1, 5 and 10 (which is a combination of RAID 0 and RAID 1) whereas many Hardware RAID controllers can also support esoteric RAID levels such as RAID 3 or RAID 1+0. But frankly who uses them?

Cost

This is where software RAID again scores over hardware RAID. Software RAID is free. Hardware RAID is moderate to high priced and can put a strain on your budget if deployed widely.

But over the years the cost of hardware RAID has come down exponentially, so it may not be too far when more affordable RAID-5 cards will be built-in on newer motherboards.

Future Proof

Gone are the days when we could associate software RAIDs with bugs and OS problems. Nowadays software RAIDs are almost flawless. We are using software RAID in Linux operating system for several years and haven’t experienced any problem whatsoever. On the contrary, hardware RAID has a single point of failure and that is its hardware controller. If it crashes then your only option is to find another equivalent RAID controller from the market; by this time the model may become obsolete and you may not even find anything compatible. You are as such faced with the haunting prospect of losing all your data, should the RAID controller fail. Software RAID will never become obsolete and will continue to get updated with updated versions of your operating system.

4. In conclusion: Software or Hardware RAID?

In my opinion, software RAID is the way to go for most users, unless you want to extract the very last ounce of performance from your RAID array and budget is not a constraint.

Read More