What is RAID?
In 1987, Patterson, Gibson and Katz at the University of California Berkeley, published a paper entitled A Case for Redundant Arrays of Inexpensive Disks (RAID). The basic idea of RAID was to combine multiple small, inexpensive disk drives into an array of disk drives that yields performance exceeding that of a Single Large Expensive Drive (SLED). This array of drives appears to the computer as a single logical storage unit of drive.
Five types of array architectures, RAID-1 through RAID-5, were defined by the Berkeley paper, each providing disk fault-tolerant and each offering different trade-offs in features and performance. In addition to these five redundant array architectures, it has become popular to refer to a non-redundant array of disk drives as a RAID-0 array. RAID-10 is the addition function of RAID-1.
"Striping" Disk Drives
Fundamental to RAID is striping, a method of concatenating multiple drives into one logical storage unit. Striping involves partitioning each drive's storage space into stripes, which may be as small as one sector (512 bytes) or as large as several megabytes. These stripes are then interleaved round robin, so that the combined space is composed alternately of stripes from each drive. In effect, the storage space of the drives is shuffled like a deck of cards. The type of application environment, I/O or data-intensive, determines whether large or small stripes should be used.
Most multi-user operating systems today, like NT, Unix and NetWare, support overlapped disk I/O operations across multiple drives. However, in order to maximize throughput for the disk subsystem, the I/O load must be balanced across all the drives so that each drive can be kept busy as much as possible. In a multiple drive system without striping, the disk I/O load is never perfectly balanced. Some drives will contain data files which are frequently accessed and some drives will only rarely be accessed. In I/O-intensive environments, performance is optimized by striping the drives in the array with stripes large enough so that each record potentially falls entirely within one stripe. This ensures that the data and I/O will be evenly distributed across the array, allowing each drive to work on a different I/O operation, and thus maximize the number of simultaneous I/O operations which can be performed by the array.
In data intensive environments and single-user systems which access large records, small stripes (typically one 512-byte sector in length) can be used so that each record will span all the drives in the array, each drive storing part of the data from the record. This causes long record accesses to be performed faster, since the data transfer occurs in parallel on multiple drives. Unfortunately, small stripes rule out multiple overlapped I/O operations, since each I/O will typically involve all drives. However, operating systems like DOS, which do not allow overlapped disk I/O, will not be negatively impacted. Applications which utilize long record accesses, such as on-demand audio/video, medical imaging and data acquisition, will achieve optimum performance with small stripe arrays.
RAID 0: Striping Drives
A RAID 0 array requires a minimum of two physical drives.
Q. Why disk striping is needed?
A. It stripes volumes which are used with high performance applications, such as Digital Video and Photoshop.
-No cost penalty - all storage is usable
- RAID 0 provides the lowest cost solution available.
- All disk drives in the RAID 0 array provide usable storage.
- Data striping increases all I/O operations.
- Can easily be upgraded to a RAID 4 array by adding an additional drive for parity calculations.
Example: Two Drive Striping (RAID-0)
RAID 1: Mirroring Drives
The two mirrored drives may be on the same bus, or on different buses.
Q. Why disk mirroring is needed?
A. It can mirror time-critical valuable data; data you need to access frequently which must be available at a moment's notice.
-Enhanced read performance
-Provides fault tolerance
- RAID 1 provides fault tolerance. All areas are duplicated, including data, boot sectors and all operating system partitions.
Ideal for small storage needs (i.e., boot drive or that which includes the SYS volume).
- In the event of a drive failure, the logical device remains on-line and the remaining drive is able to satisfy all I/O requests without a significant performance degradation.
Example: Two Drive Mirroring (RAID-1)
RAID 2: Parallel Array with ECC
RAID-2 arrays sector-stripe data across groups of drives, with some drives relegated to storing ECC information. Since most disk drives today embed ECC information within each sector, RAID-2 offers no significant advantages over RAID-3 architecture.
RAID 3: Parallel Array with Parity
RAID-3 as with RAID-2, sector-stripes data across groups of drives, but one drive in the group is dedicated to storing parity information. RAID-3 relies on the embedded ECC in each sector for error detection. In the case of a hard drive failure, data recovery is accomplished by calculating the exclusive OR (XOR) of the information recorded on the remaining drives. Records typically span all array, RAID-3 arrays cannot overlap I/O and thus deliver best performance in single-user, single-tasking environments with long records. Synchronized-spindle drives are required for optimum RAID-3 array in order to avoid performance degradation with short records.
RAID 4: Parallel Array with Parity
RAID-4 is identical to RAID-3 except that large stripes are used, so that records can be read from any individual drive in the array (except the parity drive), allowing read operations to be overlapped. However, since all write operations must update the parity drive, they cannot write operations must update the parity drive, they cannot be overlapped. This architecture offers no significant advantages over RAID-5.
RAID 5: Striped Array with Rotating Parity
RAID-5, sometimes called a Rotating Parity Array, avoids the write bottleneck caused by the single dedicated parity drive of RAID-4. Like RAID-4, large stripes are used so that multiple I/O operations can be overlapped. However, unlike RAID-4, each drive takes turns storing parity information for a different series of stripes. Since there is no dedicated parity drive, all drives contain data and read operations can be overlapped on every drive in the array. Write operations will typically access a single data drive, plus the parity drive for that record. Since unlike RAID-4, different records store their parity on different drives, write operations can be overlapped.
RAID 10: Mirroring Data Stripes
- A RAID 10 array requires a minimum of four physical drives.
RAID 10 combines data striping with mirroring to provide the performance and availability advantages of both.
-Excellent data availability
-Provides best performance
- mirror your critical data and stripe your applications
- RAID 10 provides the advantages of data striping and mirroring.
- Provides the highest level of fault tolerance.
- No hidden downtime or performance costs.
- Provides best performance for all I/O operations (compared to all other RAID types).
Example: Four Drive Striped-Mirrored (RAID-10)
*Error-Correcting Code: A memory system that has extra (usually called "redundant" or "check") bits per word so that most memory errors can be detected and corrected.
[Back to the SCSI index page ]
Featured Product Presentations
Ultra2 SCSI (LVD/SE):
Low Voltage Differential
IOI-4206LVD & IOI-A100U2W
Desktop Software RAID 0, 1 &10
IOI-9100UWR & IOI-9200UWR
SCSI Knowledge and