Acer Veriton 5600GT/5600V Personal Computer User Manual


 
Chapter 2 62
RAID 0
RAID 0 uses an algorithm to break files into smaller files of the user defined size called the stripe size. Once a
file is broken down into these stripes, each drive in the array receives one or more of these fragments. For
example, if there are two drives in a RAID 0 array with a 64KB stripe size and the RAID controller gets a
command to write a single 128KB file, the file is broken down into two 64KB stripes. Next, one of the two
stripes is sent to disk 1 and the other to disk 2 simultaneously This completes the write process.
Naturally, this decreases the time required to write a file since more than one disk is working to store the
information. In our example above the time associated with writing our 128KB file turns out to be the time
required to write a single 64KB file, since this is what is what occurs simultaneously on both disks in the array.
The speed of reading a file back is also increased with a sufficiently large file. Let's use our 128KB file on a two
disk RAID 0 array with a 64KB stripe size for example again. After the data is stored on both drives in the
array, it can be read back by reading the two 64KB files from each drive at the same time. Thus, once again,
the time required to read back our 128KB file is actually only the time required to read a single 64KB file.
In some situations, when a file is smaller than the stripe, the file is not broken up and instead is written to the
array as is. This results in no speed improvement over a non RAID 0 setup because the drives on the array are
not working together when reading or writing.
At the same time, an extremely small stripe size makes a drive do more work than it can handle and can
significantly slow down RAID 0 performance as well. For example, if we had a 1KB stripe size and a 128KB
file, each drive would have to be written to 64 times to store 64 different 1KB files. This creates a bottleneck as
the drive attempts to read or write a large number of times for a single file.
As we mentioned before, RAID 0 has no fault tolerance, meaning that if one drive in the array fails, the whole
array is shot. There is no way to rebuild or repair the information stored on a RAID 0 array. This makes a RAID
0 is setup the most susceptible to failure RAID type, a fact that usually keeps users with sensitive data from
choosing RAID 0 as their RAID setup.
At the same time, however, RAID 0 is the fastest of all RAID setups. Since there is no overhead required to
store extra information for fault tolerance, the speed of RAID 0 can theoretically perform 2 times the speed of a
single drive when there are 2 drives in the array. Adding more drives only increases this theoretical
performance amount, so if you have a 6 drive RAID 0 array, performance could be as large as 6 times the
performance of a single drive.
Using different hard drives in a RAID 0 setup can result in two problems. First off, the size of the RAID array
will only be the size of the smallest drive multiplied by the number of drives in the array. This is because the
controller always writes to all the drives in the array and once one is filled no more information can be stored
on the array. Secondly, the speed of a RAID 0 setup is only as fast as the slowest drive in the array. Because
chunks of data are being written to the disks at the same time, if one drive is slower than the rest the others
must sit and wait for the slowest drive to finish. It is for these reasons that it is suggested that identical drives
be used on a RAID 0 setup.
What RAID 0 boils down to is speed and little more. The fact of the matter is that RAID 0 is not redundant at all,
just fast. But for many users, this is all that is important.