- check out the stylin' NEW Collusion haxor gear at Jinx Hackwear!!! -
- sign up on the Collusion Syndicate's infotainment discussion lists!!! -

Volume 28
Oct 2001


 HOME

 TechKnow
 Media Hack
 Parallax
 Reviews
 Fiction
 Humor
 Events
 Offsite

 Mission
 Responses
 Discussion
 #Collusion
 NEW!

 Submit a Story
 Collusioneers
 © & TM Info
 Contact Us


SETI@Home

Join the
Collusion
SETI Team!




RAID Levels
 by TexorcisT

RAID Levels

RAID level 0 - Disk Striping (without fault tolerance)

RAID 0 implements a striped disk array, the data is broken down into blocks and each block is written to a separate disk drive with best performance being achieved when data is striped across multiple channels with only one drive per channel.

example:

HDD1 HDD2 HDD3 HDD4

block1 block2 block3 block4

block5 block6 block7 block8

block9 block10 block11 block12

block13 block14 block15 block16


The benefit is I/O performance is greatly improved by spreading the I/O load across many channels and drives. No parity calculation overhead is involved. It is a very simple design that is just as easy to implement.

Keep in mind though that RAID 0 is not considered a "True" RAID and should really be called “AID” since it doesn’t include redundancy. The failure of just one drive will result in all data in the entire array being lost and so RAID 0 should never be used in mission critical environments.

 

RAID level 1 - Disk Mirroring/Duplexing

RAID 1 offers 100% redundancy of data which means no rebuild of data is necessary in case of disk failure, just a copy to the replacement disk.

example:

HDD1 HDD2 HDD3 HDD4

block1 block1 block5 block5

block2 block2 block6 block6

block3 block3 block7 block7

block4 block4 block8 block8

While RAID 1 usually doesn’t offer any increase in speed, some controllers will allow one Write/two Read and so can offer twice the Read transaction rate of single disks, but still the same Write transaction rate as single disks. Transfer rate per block is still equal to single disks.

RAID 1 is the simplest RAID storage subsystem design with the highest ECC (Error Checking/Correction) disk overhead of all RAID types (100%).

Mirroring becomes Duplexing when the controller card is duplicated as well as the drive, providing tolerance against failures of either a drive or a controller. It is much less commonly seen than straight mirroring.


Typically the RAID function is done by system software, loading the CPU/Server and possibly degrading throughput at high activity levels and may not support hot swap of failed disk. Hardware implementation is strongly recommended.

 

RAID level 2 - Bit Level Striping Using Hamming Code ECC

In RAID 2, each data bit is written to a drive or drive set. A hamming code ECC is generated for each and stored in a separate drive or drive set.

example:

HDD1 HDD2 HDD3 HDD4 HDD5 HDD6

[ stripe1 ] [ stripe1-ECC ]

[ stripe2 ] [ stripe2-ECC ]

[ stripe3 ] [ stripe3-ECC ]

[ stripe4 ] [ stripe4-ECC ]

The cool thing here is that data gets checked on read and corrected on the fly if necessary. Extremely high data transfer rates possible and controller design is relatively simple, compared to RAID levels 3,4 & 5.

To achieve high transfer speeds a very high ratio of ECC disks to data disks is required making RAID 2 somewhat inefficient with a very high entry level cost, implying a very high transfer rate requirement to justify.

 

RAID level 3 - Parallel Transfer with Parity

With RAID 3, the data is striped across the data disks at the byte level with stripe size usually somewhere under a KB. Stripe parity is generated on Writes, recorded on the parity disk and checked on Reads.

example:


HDD1 HDD2 HDD3 HDD4

[ stripe1 ] ECC1

[ stripe2 ] ECC2

[ stripe3 ] ECC3

[ stripe4 ] ECC4

RAID 3 has a very high Read data transfer rate and can have a high Write data transfer. The low ratio of ECC disks to data disks means high monetary efficiency.

Downside is that if write operation is maxed or spindels are synched, transaction speed can slow to that of a single disk at best. It is also very difficult and resource intensive to do as a software RAID.

 

RAID level 4 - Independent Data Disks with Shared Parity

In RAID 4, the data is striped across the data disks by blocks. Parity for same rank blocks is generated on Writes, recorded on the parity disk and checked on Reads.

example:

HDD1 HDD2 HDD3 HDD4

a - block1 block2 block3 ECCa

b - block4 block5 block6 ECCb

c - block7 block8 block9 ECCc

d - block10 block11 block12 ECCd

Very high Read data transaction rate and low ratio of ECC (Parity) disks to data disks means high efficiency. High aggregate Read transfer rate.

The worst write transaction rate and write aggregate transfer rate. Difficult and inefficient data rebuild in the event of disk failure. Block Read transfer rate equal to that of a single disk

 

RAID level 5 - Independent Data Disks with Distributed Parity

RAID 5 stipes data by block on a data disk and parity for each stripe is generated on Writes and checked on Reads with the parity being distributed across the data disk set.

example:

HDD1 HDD2 HDD3 HDD4

a - block1 block2 block3 ECCa

b - block4 block5 ECCb block6

c - block7 ECCc block8 block9

d - ECCd block10 block11 block12

Highest read data transaction rate and by eliminating the paraty drive bottle neck achieves medium write data transaction rate. Good aggregate transfer rate.

Disk failure has a medium impact on throughput and is difficult to rebuild in the event of a disk failure (as compared to RAID level 1)

RAID Level 6 - Independent Data Disks with Two Independent Distributed Parity

RAID 6 stripes blocks of data and parity across an array of drives and calculates two sets of parity information for each stripe to improve fault tolerance. RAID 6 can handle the failure of any two drives in the array while other single RAID levels can handle at most one fault.

HDD1 HDD2 HDD3 HDD4 HDD5

a - block1 block2 block3 ECCa1 ECCa2

b - block4 block5 ECCb1 ECCb2 block6

c - block7 ECCc1 ECCc2 block8 block9

d - ECCd1 ECCd2 block10 block11 block12

Performance-wise, RAID 6 is generally slightly worse than RAID 5 in terms of writes due to the added overhead of more parity calculations, but may be slightly faster in random reads due to spreading of data over one more disk. As with RAID levels 4 and 5, performance can be adjusted by experimenting with different stripe sizes.


RAID 7 - Asynchronous, cached striping with dedicated parity.

RAID 7 is a trademarked marketing term of Storage Computer Corporation, used to describe their proprietary RAID design. This is an expensive solution, made and supported by only one company.

Specialized high-end applications requiring absolutely top performance and willing to live with the limitations of a proprietary, expensive solution. For most users, a multiple RAID level solution like RAID 1+0 will probably yield comparable performance improvements over single RAID levels, at lower cost.