9. RAID LEVEL 0 Description
RAID Level 0 is not, strictly speaking, a RAID array does not provide a mechanism for assuring high data
availability. Disk striping.
In traditional storage systems, a logical record or a block of data is entirely contained on a single disk
drive. This causes the host application to "wait its turn."
With RAID Level 0 a block of information or a logical record is broken down into smaller pieces and
distributed across multiple disk drives. Utilizes an external controller and processor to control the array,
additional performance improvements are achieved over using a host based "software array".
Operating During Failure
Improved performance is the only enhancement delivered by RAID Level 0. There is no protection that
provides for improved data availability. In fact, because data is striped across multiple drives, it is likely
that the failure of one drive will live "holes" in the data rendering the entire array unusable. Additionally,
the MTBF of the array declines as the number of drives increases. Therefore, RAID Level 0, by itself, is
unsuitable for data that cannot easily be reproduced or for mission- critical applications requiring
continual data availability.
Performance Characteristics
The concurrent execution of I/O requests is the primary reason that RAID Level 0 can transfer data faster
that a single disk. RAID Level 0 provides high performance for a wide variety of I/O intensive applications.
When configured with all drives acting in unison, RAID Level O can provide high data transfer rates of
large blocks of data. This makes Level 0 very useful for imaging applications, audio/video processing,
sequential file processing, and the storage of program libraries. When configured as an Independent
access array with all drives separately processing I/O requests, RAID Level 0 can provide faster response
to frequent I/O requests. This makes it useful for transaction processing and general file services for
multi-user systems.
Using Scatter read and write gathering, the performance of applications that make large I/O requests is
substantially improved. If the requested data is larger than one stripe, the array can cause the disk (s) to
read/write adjacent stripes during the same I/O request rather than processing separate request for each
stripe level. In the RAID Level 0 diagram on page 6 for example, if the application needs the first six blocks
(i.e., 0123, 4567, 8901, 2345, 6789, 1234), an array supporting Scatter read would instruct Drive 1 to
return 0123 and 6789, Drive 2 to return 4567 and 1234, Drive 3 to return 8901 and Drive 4 to return 7512.
This uses 4 I/O requests instead of six. The same reduction in I/O requests occurs with write gathering
since a write updates multiple adjacent stripes with a single I/O request.
9
12. RAID Level 1 Disk Mirroring Description
RAID Level 1, or disk mirroring, stores images of the data on each disk drive.
I/O requests are processed differently depending on whether they are read or write
requests. For read requests, the array has the ability to make a choice as to which
disk to read from. This can be done either on a random basis or on an alternating
basis resulting in load sharing.
During a write operation, both drives in a pair must be updated. A single write
request for the host is translated into a write for each drive in the pair.
Operating During Failure
If either disk in the pair fails, the remaining disk can carry on with its normal activities
without any downtime. The reconstruction is usually transparent to the host system.
However, performing the reconstruction does entail overhead especially while
continuing to provide normal I/O operations.
Performance Characteristics
RAID Level 1provides improved read performances compared to traditional disk
subsystems due to Parallel I/O paths.
12
16. RAID Level 3 uses parity information to create data redundancy. Data is distributed across all the disks
in such a way that the data can be mathematically reconstructed.
Data is striped across the data disks using bit or byte striping so a logical record or block spans across
multiple drives. The drives in the array are accessed in parallel: when information is read, it is gathered
simultaneously from all the data drives, reassembled into a logical block then passed to the host. A
separate disk is used to store parity information about the disk drives.
Operating During Failure
A disk failure may be one of the data disks or the parity disk. In either case, however, the
ability to read or write data is not impaired.
If one of the data disks fails during a read operation, information on the parity disk is
combined with the data from the remaining drives to mathematically determine what the
missing data should be. During a write with a failed data disk, the data is written to the
remaining drives. When the failed disk is replaced, all the data that should be on it is rebuilt
using the information from the other data drives combined with the parity values.
If the parity disk fails, information is retrieved from the data disks as usual.
Performance Characteristics
Provides excellent I/O performance for applications in which large blocks of sequentially
located data are being used, such as image/audio/ video processing, and scientific data
collection.
The drives are operation in unison and are "tied up" fulfilling an I/O request.
In a failed data disk mode, regardless of which data disk has failed, every request for data will
require regeneration of the missing data because the block being requested spans multiple
drives.
Rebuilding the data on a replace data or parity disk involves repeated access to all drives in the
array.
16
19. RAID Level 5 Distributed Parity Independent Access Arrays Description
Also uses parity information to provide data redundancy. However, data is striped across drives using
larger, multi-byte units (unlike RAID Level 3). RAID Level 5 arrays can process multiple requests
simultaneously as long as the data being requested is located on different drives.
Parity information itself is distributed across all drives just like user data.
When a read operation takes place, the array management software determines which stripe(s) in which
drives(s) will be required and then issues the request to the appropriate drive (s).
During a write operation, the array calculates the parity and issues commands to write the new data to
the appropriate drive(s).
When a write occurs in a RAID Level 3 array, the completely updated stripe is written to all drives within
the stripe. The newly calculated parity is written to the parity drive at the same time. In a RAID Level 5
array, a record update may only involve data on one of the drives. The others drives do not need to be
involved and should be free to process other requests. However, in order to calculate the parity of the
entire stripe, the array needs to know the contents of the entire stripe.
Operation During Failure
When writing entails updating the parity on a failed disk, information is written to the other disk(s) as
normal but parity information cannot be stored. When the failed disk is replaced, it must be brought up
to date.
When attempting a read operation that involves a failed disk, information from its corresponding parity
(stored on a different disk) is combined with data from the remaining drives to mathematically determine
what the missing data should be. During a write to an array with a failed data disk, if the write request
only involves still-functioning drives, the read-modify-write operation takes place as normal: there is no
need to involve the failed drive.
If the write request includes storing data on a failed drive, the data of course, cannot be written to it.
However, the parity value necessary to allow reconstruction of the data can be written because the parity
will be stored on one of the other drives that is still functioning.
Performance Characteristics
Well suited for applications involving a large number of concurrent read request where high data access
rates are desirable and there is a higher proportion of reads compared to writes.
Cache memory and other data management techniques are designed to minimize the write penalty.
When a read or write is requested to a failed disk, all drives must be accessed to gather the remaining
data and parity in order to calculate the missing information.
19
22. RAID Level 0+1 Striped Mirrored Arrays Description
RAID Level 0+1, also known as RAID 10, combines the data availability advantages of
RAID Level 1 disk mirroring with the performance benefits of RAID Level O disk
striping in a single array.
A logical record or block is broken down into smaller pieces. Each piece is distributed
across different disk drives (like RAID Level 0) and each of these disk drives has a
mirrored twin (like RAID Level 1).
With load balanced striping, the Customer file is distributed across multiple drives.
The RAID Level 0+1 array also provides high performance for application that need
high data transfer rates (i.e. read/write request or large blocks of data).
This architecture is very reliable since a duplicate copy of all data is available even in
the highly unlikely event of a simultaneous failure of more than one disk.
Operating During Failure
If either disk in the pair fails, the remaining disk can carry on with its read and write
activity without any downtime. The array hardware and software ensure that the
switch-over ensure that the switch over to the "backup' drive is transparent to the
host. Performance Characteristics
The high I/O performance of RAID Level 0+1 arrays comes from two levels of load
balancing:
Distributing the data across multiple drives.
Provides a secondary level of load balancing by sending the request to the
least busy disk to complete the request more quickly.
Provides high performance for a variety of I/O-intensive applications.
22