What is RAID ?

Home > Knowledge Base > What is RAID?
There are many applications, particularly in a business environment, where there are needs beyond what can be fulfilled by a single hard disk. Many businesses can't afford to have their systems go down for even an hour in the event of a disk failure; they need large storage subsystems with capacities probably in terabytes; and they want to be able to insulate themselves from hardware failures to any extent possible. Some people working with multimedia files need fast data transfer exceeding what current drives can deliver. These situations require that the traditional "one hard disk per system" model be set aside and a new system employed. This technique is called Redundant Arrays of Inexpensive Disks or RAID. ("Inexpensive" is sometimes replaced with "Independent",.)

The fundamental principle behind RAID is the use of multiple hard disk drives in an array that behaves in most respects like a single large, fast one. There are a number of ways that this can be done, depending on the needs of the application, but in every case the use of multiple drives allows the resulting storage subsystem to exceed the capacity, data security, and performance of the drives that make up the system, to one extent or another.

Originally, RAID was almost exclusively used by the high-end business applications, due to the high cost of the hardware required. This has changed in recent years with the proliferation of inexpensive RAID controllers that work with consumer-grade IDE/ATA drives--as opposed to expensive SCSI units--has increased interest in RAID dramatically. This trend will probably continue. In fact, more and more motherboard manufacturers begin offering support for the feature on their boards with inexpensive RAID setup configurations.

Types of RAID

Generally speaking, we have hardware raid and software raid.

Hardware Raid uses dedicated hardware to control the array, as opposed to doing array control processing via software. Quality and efficient hardware controllers are in many ways like miniature computers, incorporating dedicated processors that might even exceed the power of processors running the entire PC.

Instead of using a dedicated hardware controller to perform the various functions required to implement a RAID array, these functions are performed by the system processor using special software routines. Windows NT and Windows 2000, as well as most of the various flavors of UNIX, support some software RAID levels .

The reason why there are so many different RAID levels is that there are many different ways to configure a bunch of hard disks, and many different needs of RAID users.

There are about eight "regular" RAID levels, ( namely RAID Level 0 ,RAID Level 1, RAID Level 2, RAID Level 3, RAID Level 4, RAID Level 5, RAID Level 6, RAID Level 7 ) which are used to varying degrees in the corporate world, however, only a few levels, especially RAID 0, RAID 1 and RAID 5 are rather popular, while the others are rarely if ever seen in modern systems.

Raid 0

The simplest RAID level, RAID 0 , raid level employ striping without parity. Files are broken into stripes of a size dictated by the user-defined stripe size of the array, and stripes are sent to each disk in the array. Giving up redundancy allows this RAID level the best overall performance characteristics of the single RAID levels, especially for its cost. For this reason, it is very popular by performance-seekers, especially in the lower end of the marketplace.

Raid 1

RAID 1 is usually implemented as mirroring; a drive has its data duplicated on two different drives using either a hardware RAID controller or software (generally via the operating system). If either drive fails, the other continues to function as a single drive until the failed drive is replaced. Conceptually simple, RAID 1 is popular for those who require fault tolerance and don't need top-notch read performance.

Raid 5

One of the most popular RAID levels which implements with block-level striping and distributed parity. RAID 5 stripes both data and parity information across three or more drives. Raid 5 will require a minimum of 3 disk to implement and this array can tolerate loss of one disk.The performance of a RAID 5 array can be "adjusted" by trying different stripe sizes until one is found that is well-matched to the application being used. However, most user and application use the default block size 64KB.

Multiple (Nested) RAID Levels

It wasn't long after RAID began to be implemented that engineers looked at these RAID levels and began designing using the techniques of combining more than one Raid level. These multiple RAID or Nested Raid are most commonly used to improve performance, and they do this well. Nested RAID levels typically provide better performance characteristics than either of the single RAID levels that comprise them. The most commonly combined level is RAID 0, which is often mixed with redundant RAID levels such as 1 or 5 to provide fault tolerance while exploiting the performance advantages of RAID 0.

Commonly seen multiple Raid levels include the following:

  • RAID Levels 0+1 (01) and 1+0 (10)
  • RAID Levels 0+5 (05) and 5+0 (50)
  • RAID Levels 1+5 (15) and 5+1 (51)