Got a RAID Setup or Thinking Of One? - Read This

Associate
Joined
19 Oct 2002
Posts
292
Disclaimer: All images belong to their respective owners

With the recent introduction of SATA, the contruction of an ATA RAID array has become vastly complicated. Add to that a new 10k rpm drive from WD and the use of hdd for the setup becomes more difficult to choose.

Types Of RAID

There are at least nine types of RAID plus a non-redundant array (RAID-0):

  • RAID-0. This technique has striping but no redundancy of data. It offers the best performance but no fault-tolerance.

    RAID-1. This type is also known as disk mirroring and 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-1 provides the best performance and the best fault-tolerance in a multi-user system.

    RAID-2. This type uses striping across disks with some disks storing error checking and correcting (ECC) information. It has no advantage over RAID-3.

    RAID-3. This type uses striping and dedicates one drive to storing parity information. The embedded error checking (ECC) information is used to detect errors. Data recovery is accomplished by calculating the exclusive OR (XOR) of the information recorded on the other drives. Since an I/O operation addresses all drives at the same time, RAID-3 cannot overlap I/O. For this reason, RAID-3 is best for single-user systems with long record applications.

    RAID-4. This type uses large stripes, which means you can read records from any single drive. This allows you to take advantage of overlapped I/O for read operations. Since all write operations have to update the parity drive, no I/O overlapping is possible. RAID-4 offers no advantage over RAID-5.

    RAID-5. This type includes a rotating parity array, thus addressing the write limitation in RAID-4. Thus, all read and write operations can be overlapped. RAID-5 stores parity information but not redundant data (but parity information can be used to reconstruct data). RAID-5 requires at least three and usually five disks for the array. It's best for multi-user systems in which performance is not critical or which do few write operations.

    RAID-6. This type is similar to RAID-5 but includes a second parity scheme that is distributed across different drives and thus offers extremely high fault- and drive-failure tolerance. There are few or no commercial examples currently.

    RAID-7. This type includes a real-time embedded operating system as a controller, caching via a high-speed bus, and other characteristics of a stand-alone computer. One vendor offers this system.

    RAID-10. This type offers an array of stripes in which each stripe is a RAID-1 array of drives. This offers higher performance than RAID-1 but at much higher cost.

    RAID-53. This type offers an array of stripes in which each stripe is a RAID-3 array of disks. This offers higher performance than RAID-3 but at much higher cost.

The most common types of RAID in use by desktop users and power users is RAID0. Although some of the information in this document applies to all RAID modes, it is focused on data applying to RAID0 arrays.

Stripe Size

After much research i have discovered that the stripe size hugely affects benchmarks. However the two factors are inversly proportional and although a small stripe size will yield a stunning benchmark, the real-world gain will be smaller than a larger stripe.
Here is a simple breakdown.

4k Stripe - The smallest stripe available on many controllers. This size has a very high benchmarking performance. Infact it has the highest. If you want to see what your rig can do try this and benchmark it. However!, real-world performance is quite bad, infact the small stripe increases overhead reading so much that when dealing big games or graphic manipulation, performance suffers. Not a recommended day to day setting

16/32/64k Stripe - These three settings are useful for the casual user who does not handle big files. Benchies reflect an excellant STR and any OS will feel very responsive. I would say this is an opimum setting the user who surfs, plays the occasional game and likes windows to be nice and snappy. Obviously the variance depends on what kind of files you predict that you will use but it all comes from trying and experimenting.

128/256k Stripe - 128k is aparently the optimum stripe size for Intel's 'average' user. It provides a pretty high STR but keeps performance constantly high even when dealing with larger files. Users who rely on photoshop or compliation apps will like a 256k stripe due to the larger files that need to be chucked around. Of course the larger the stripe, the less CPU time used. This could be a big disadvantage for smaller stripes.

When chosing your stripe, just remember that Smaller stripe size= better transfer rate = less HDD performance

Choosing A Controller

From the ground up, the choice of controller is often constricting as the casual user just goes for raid due to an inbuilt ide raid chip as a pose to a separate PCI card. However the specifics of the controller are important to the performance. As most in-built controllers are only software RAID as a pose to hardware, the efficiency of a stripe between 4 and 32k is highly reduced and performance takes a hit. Infact due to this, Intel recommends a stripe size of 128k when using RAID on its ICH5 Southbridge.
The choice of controller depends on your budget, if you are willing to pay the money a hardware controller will benefit you by giving unrivaled RAID performance with many extra features. However for the majority of users, a software controller is most suitable and gives satisfactory performance. As for the current difference between a SATA controller and PATA controller, yes the SATA interface is better but not by a significant margin.

Choosing Disks

The choice of disk to use in an array is complicated if you are really trying to get the most performance you can, especially if you have opted for software RAID which relys on the hdd having a good performance apaption (in terms of firmware controller).

With the introduction of 80gb platters, read heads are able to do more over a smaller area therefore slightly reducing the access time. In fact, the benefit of this in RAID is mostly highlighted by the latest maxtor max plus 9 disks which use 80gb platters.
Here is an example of a single Maxtor Max Plus 9 SATA
New%20HD.jpg

It is clear that the drive is extremely fast just by itself...

These benchies show how the drives are performing well when in a RAID0 situation. This uses a 16k stripe

290703-maxtorraid0.jpg


It is clear there is a significant increase in performance. It should be noted that the use of 80gb platters does give the maxtor a good speed boost both when RAID'ed and not. However the realworld performance in this RAID0 bench is overshadowed by the use of a 16k stripe which tends to look good specific benchies. Also remember Sandra is pretty synthetic and should be treated as such. The variance in performance with different stripe sizes is discussed above.

So the Maxtor returns a good result, the drive also gives some nice storage capabilities. It can be beaten tho, this is where the new WD Raptor comes in.
 
Last edited:
Raptor Testing

So, for those of you that want yet more performance from you ATA RAID, the use of a faster disk is the only option. The drive is unique in the sector as it has a 10krpm spindle speed. This is its USP (Unique Selling Point) and therefore suggests it has the muscle to compete with high end SCSI drives. The platters used in the raptor are not up to scratch with the maxtor, each drive uses one 36.7GB for roughly the same area as the maxtor. Read head density and therefore performance is decreased, perhaps the 10krpm spindle speed will suffer.
Here are the benchies from a single raptor.
ICH5-R%20Single%20HDtach.jpg

ICH5-R%20Single%20Sandra.jpg


Not too convincing? Infact is falls slightly behind that of the maxtor. This could therefore suggest that the drive is not worth the extra cash for use in a single drive environment. On the other hand, the benchmarks do not reflect real-world usage, every user is different and the numbers here only give an indication as to the performance. The access time is still very good (around 5ms - the HD tach app is off here)
 
However the real benefit of the drive is experienced when it is used in specific RAID configurations and settings.
When using a 4k stripe, the synthetic performance of the Raptop is pretty clear :eek:
ICH5R%20RAID%20HDtach-4K.jpg

ICH5R%20RAID%20Sandra-4.jpg


Very very fast. infact one of the fastest benchies i have seen ever for a ATA RAID0 using two disks. However this is using a 4k stripe and is not useful what so ever for real-world use. It does however show what the drive is capable of. 161mbps with an average of 96mbps :eek: !! is exceptionally fast.

Here is the same array using a 32k stripe.
ICH5R%20RAID%20HDtach-32k.jpg
 
ICH5R%20RAID%20Sandra-32K.jpg


Again the results are very good with only a slight dip from the 4k stripe and a much better real-world practicality. Notice how the transfer rate stays fairly constant but the average read is down 30mbps. I would say this would be a very good setting for the Raptors.

Here is the same array using a 128k stripe.
ICH5R%20RAID%20HDtach-128K.jpg

ICH5R%20RAID%20Sandra-128K.jpg


Here notice how the average read falls by only 10mbps. The results are beginning to level out but the burst speed takes a big hit due to the increased file size and head movement.
 
Conclusion
Here is a 'real-world benchmark' comparison of the array and the different stripe settings.
Comparo%20WB%20stripe%201.jpg


Clearly the performance crown varies but notice how the large stripe is winning many of the tests. This is why synthetic benchmarks are not a good real world measure and only good to see what the maximum speed of the array is. Furthermore, you could set up the same disks with the same controller using the same stripe and for some unknown reason the performance could be better or worse than an identical setup.

So which is the best combination? Well if you want a nippy machine that will do your day to day surfing and rapid gaming then then a set of raptors and a 32k stripe will be ideal. However for a more space concious person, the maxtors are better value for money. Indeed for big app users like photoshop and developers, a large stripe is essential. You will notice the difference and a small stripe might look good but will eventually slow you down big time with big files. Do not forget to have at least a gig of ram if you are serious about your performance either. All in all, its really down to knowing what you are going to do and setting your array for that purpose, however, i entirely recommend trial and error as nobodies array is the same :)

ColdFusion
 
Originally posted by Shane5578
i just like to note that raid-0 when using 4 or more drives is very slow

raid -5 would be much better

Sorry don't agree mate. i have seen a bench from 4 raptors and they get 90000+ in sandra. that is as good as you can get from a top end SCSI setup in a workstation environment.

on another note. here a benchy i just took from my new raptor array.
310703-raidbench2.JPG


16k stripe. Also 16k cluster format, dont forget that!
 
unfortunately there is no way to change the default cluster size during install of any ms OS :(

i had to use the array in another machine and format it via disk management in win2k to give me the 16k cluster size.

Andy, i used to think that but after having tested many configs i have ended up always installing a cluster size equal to the stripe size.
 
Back
Top Bottom