|
The Promise FastTrak100 ATA
RAID Solution
The Promise FastTrak100 ATA RAID card is an entry-level RAID
solution for home and small office users. It only supports RAID 0,
RAID 1, RAID 0+1 and of course, JBOD (Just a Bunch Of Disks).
This is pretty standard among entry level RAID solutions, except for
the JBOD support. I believe HighPoint's HPT370 chip does not support
it. However, I doubt any user would actually use this feature as it
does not provide any performance advantage at all.
Before we can test the performance of the RAID levels provided by
the Promise FastTrak100 ATA RAID card, let's dwell into the subject
of RAID and understand how it actually works. However, we'll just be
covering RAID 0, RAID 1, RAID 0+1 and JBOD because that's all that
the FastTrak100 supports.
RAID 0
RAID 0 shouldn't be even called RAID as it does not provide any
redundancy at all. And no redundancy means no increase in data
reliability and security. Even so, it is the highest performing RAID
level. The hardware requirements for setting up a RAID 0 array is
the least demanding of all RAID levels. It only requires a minimum
of two hard disks and can use as many hard disks as the RAID
controller can support.
In the case of the Promise FastTrak100, a maximum of four hard
disks can be used. The size of the RAID 0 array can be simply
calculated using the following equation :-
Size of RAID 0 array = size of smallest hard disk X
number of hard disks used
So, for an array using two 15GB hard disks, one 10GB disk and
one 30GB disk, the size of the RAID 0 array would be only 10GB x 4 =
40GB.
The reason for using the smallest disk size in
calculating the actual RAID 0 array size is due to the way RAID 0
creates the array. RAID 0 uses a technique called striping. What it
does is create blocks or stripes that are distributed across over
all the hard disks in the RAID 0 array. Because blocks of data are
now spanned across multiple hard disks, data can actually be accessed in parallel,
thus producing
a much faster data transfer rate. For optimal performance and
efficiency, the hard disks
used in the array should be of the same brand and model. Let's take a look
at the diagram below.
Let's take for example that the stripe size is set
to 16KB. Now, File1 with the size of 16KB is represented by
the cyan colour. File2 - 48KB, is represented in blue.
Finally, File3, 96KB, is light red in colour.
As you can see, each stripe is filled up
before the next one is used. Okay, let's say we want to read
File1. File1 is only found on one disk. Therefore, there
would not be any increase in performance as all the data in File1
was read from only one stripe.
However, if we were to read File3 instead, data can be
streamed from both disks at the same time. Thus, this creates an
impression of a higher performing hard disk, theoretically doubling
the transfer rate.
The stripe size used for the array determines the
kind of performance of the RAID 0 array. Some users may prefer higher
data transfer rates while others might choose to have better I/O
performance. Such optimizations are determined by using different stripe sizes.
The stripe sizes will be discussed at length a little later in this
guide.
On the other hand, using an array of multiple devices
increases the chance of the entire system failing due to a problem
with one of the RAID disks. This is because
each of those disks do not act independently anymore. If one fails,
the entire RAID 0 array fails. Thus, their
Mean Time Between Failures (MTBF) do not count anymore. The proper
MTBF for a RAID 0 setup can be calculated this way :-
RAID Array MTBF = lowest independent disk MTBF / no. of
disks used in array
Because RAID 0 does not provide any redundancy, it
would be impossible to recover a failed RAID system without a backup.
Unlike
normal crashes, you will not able to extract any data from the hard
disks in the array
even though only one of the disks failed. This is because every file
had been striped
across two or more disks. Therefore, when even one of the disk fails,
chunks from every file will disappear and all affected files will be
unusable. |