RAID
RAID
• A variety of disk-organization techniques, collectively called
redundant arrays of inexpensive disks (RAID), are commonly used to
address the performance and reliability issues.
• RAIDS are used for their higher reliability and higher data-transfer
rate, rather than for economic reasons.
Reliability
• Improvement of Reliability via Redundancy:
• Store extra information that is not needed normally,
but that can be used in the event of failure of a disk to
rebuild the lost information
• Mirroring (or shadowing): Introducing redundancy is
to duplicate every disk. Hence, A logical disk then
consists of two physical disks, and every write is
carried out on both disks.
• Another solution is to add NVRAM(Non Volatile RAM)
cache to the RAID array if both disks fail.
Improvement in Performance
via Parallelism
• bit-level striping: consists of splitting the bits of each byte across
multiple disks.
example, if we have an array of eight disks, we write bit i of each
byte to disk i.
• Block-level striping: In block-level striping, blocks of a file are
striped across multiple disks; with n disks, block i of a file goes to
disk (i mod n) + 1.
Improvement in Performance
via Parallelism (Cont.)
There are two main goals of parallelism in a disk system:
• 1. Increase the throughput of multiple small accesses (that is, page
accesses) by load balancing.
• 2. Reduce the response time of large accesses.
RAID LEVELS
• Mirroring provides high reliability, but it is expensive.
Striping provides high data-transfer rates, but it does
not improve reliability.
• Numerous schemes to provide redundancy at lower
cost by using the idea of disk striping combined with
"parity" bits have been proposed.
• These schemes have different cost-performance
trade-offs and are classified according to levels called
RAID levels.
RAID LEVELS
RAID 0. This configuration has striping but no redundancy of data. It offers
the best performance, but it does not provide fault tolerance.
RAID 1. Also known as disk mirroring, this configuration consists of at least
two drives that duplicate the storage of data. There is no striping. Read
performance is improved, since either disk can be read at the same time.
Write performance is the same as for single disk storage.
RAID 2. This configuration uses striping across disks, with some disks storing error
checking and correcting (ECC) information. RAID 2 also uses a dedicated Hamming code
parity, a linear form of ECC. RAID 2 has no advantage over RAID 3 and is no longer used.
RAID 3. This technique uses striping and dedicates one drive to storing parity information.
RAID 4. This level uses large stripes, which means a user can read records
from any single drive. Overlapped I/O can then be used for read operations.
Because all write operations are required to update the parity drive, no I/O
overlapping is possible.
RAID 5. This level is based on parity block-level striping. The parity information is striped across each
drive, enabling the array to function, even if one drive were to fail. The array's architecture enables
read and write operations to span multiple drives. This results in performance better than that of a
single drive, but not as high as a RAID 0 array. RAID 5 requires at least three disks, but it is often
recommended to use at least five disks for performance reasons.
RAID 6. This technique is similar to RAID 5, but it includes a second parity
scheme distributed across the drives in the array. The use of additional
parity enables the array to continue functioning, even if two disks fail
simultaneously.
RAID 10 (RAID 1+0). Combining RAID 1 and RAID 0, this level is often
referred to as RAID 10, which offers higher performance than RAID 1, but at
a much higher cost. In RAID 1+0, the data is mirrored and the mirrors are
striped.