As computer hardware become cheaper and cheaper, many users begin to use RAID and larger hard disks. To the people who want to use RAID, you’d better make it clear that what RAID is and what the kinds of raid are, what the different features of raid are, then you could choose the proper raid to use. To the people who are using RAID, you’d better how raid works and how to maintain raid. In response to some reads’ request, we’ll write several article about raid. In this article, I’ll explain the basic knowledge about raid.

What is raid?

RAID is an acronym first defined by David A. Patterson, Garth A. Gibson, and Randy Katz at the University of California, Berkeley in 1987 to describe a redundant array of inexpensive disks, a technology that allowed computer users to achieve high levels of storage reliability from low-cost and less reliable PC-class disk-drive components, via the technique of arranging the devices into arrays for redundancy.

Marketers representing industry RAID manufacturers later reinvented the term to describe a redundant array of independent disks as a means of dissociating a “low cost” expectation from RAID technology.

“RAID” is now used as an umbrella term for computer data storage schemes that can divide and replicate data among multiple hard disk drives. The different schemes/architectures are named by the word RAID followed by a number, as in RAID 0, RAID 1, etc. RAID’s various designs involve two key design goals: increase data reliability and/or increase input/output performance. When multiple physical disks are set up to use RAID technology, they are said to be in a RAID array. This array distributes data across multiple disks, but the array is seen by the computer user and operating system as one single disk. RAID can be set up to serve several different purposes.

Two types of RAID

RAID can be divided into two types, hardware raid and software raid. Hardware raid works under raid controller, but software raid is called dynamic disk and works under Windows.

What is hardware raid?

Most “serious” RAID implementations use what is termed hardware RAID. This means using dedicated hardware to control the array, as opposed to doing array control processing via software. Good hardware controllers are in many ways like miniature computers, incorporating dedicated processors that exceed the power of processors that ran entire PCs just a few years ago.

There are two main types of hardware RAID, differing primarily in how they interface the array to the system:

  • Bus-Based or Controller Card Hardware RAID: This is the more conventional type of hardware RAID, and the type most commonly used, particularly for lower-end systems. A specialized RAID controller is installed into the PC or server, and the array drives are connected to it. It essentially takes the place of the SCSI host adapter or IDE/ATA controller that would normally be used for interfacing between the system and the hard disks; it interfaces to the drives using SCSI or IDE/ATA, and sends data to the rest of the PC over the system bus (typically PCI). Some motherboards, particularly those intended for server systems, come with some variant of integrated RAID controller. These are built into the motherboard, but function in precisely the same manner as an add-in bus-based card. (This is analogous to the way that the integrated IDE/ATA controllers on all modern motherboards function the same way that add-in IDE/ATA controllers once did on older systems.) The only difference is that integrated controllers can reduce overall cost–at the price of flexibility.
  • Intelligent, External RAID Controller: In this higher-end design, 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. The server sees the array or arrays as just one or more very fast hard disks; the RAID is completely hidden from the machine. In essence, one of these units really is an entire computer unto itself, with a dedicated processor that manages the RAID array and acts as a conduit between the server and the array.

Hardware RAID controller
Hardware RAID controller

What is software raid?

Software RAID is just like hardware RAID, except that it uses software instead of hardware.

All kidding aside, that pretty much is what software RAID is about. 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. Since array management is a low-level activity that must be performed “underneath” the other software that runs on the PC, software RAID usually is implemented at the operating system level. Windows NT and Windows 2000, as well as most of the various flavors of UNIX, support some RAID levels in software.