[nextpage title=”Basics: Data Stripping”]
More attentive users may have noticed that for some time several new models of motherboard have been turning up on the market with a new feature called RAID, meaning Redundant Array of Independent Disks. But what does this mean in practical terms and how can this feature be of use to normal users?
The RAID system consists of a set of two or more hard disks, with two basic purposes: provide a faster disk system (i. e., speed up disk data loading) through a technique called data stripping – or RAID 0 – and/or set up a safer disk system by means of a technique known as mirroring or RAID 1. These two techniques may be used either separately or jointly.
Lets have a look at data stripping first. Picture a computer equipped with two equal hard disks. In a run of the mill machine – without RAID – each disk is accessed independently from the other. With data stripping, the pair of hard disks will make up a single set, leading the computer to believe that it is dealing with a single, larger disk. If each disk has a 20 GB capacity, the computer will then believe that it is fitted with a single 40 GB disk. Upon storing a file on disk, the RAID system will split it between the pair of hard disks, writing half the file on one and the other half on the other. This takes place in a user-transparent fashion.
But what is the advantage of all this? Let us assume that you are working with a 200 KB file. In a conventional disk system, this file will have to be entirely written on a single disk, using the single existing communication channel. With data splitting, this file will be split into two 100 KB files, each written on one of the disks at the same time. Well, seeing that a 100 KB file takes half the time to be written than a 200-KB file, the disk access speed will be doubled!
To give you a clearer idea, imagine you are working on a really big file, for instance, 100 MB – quite big for normal users, but in professional audio and video editing, files this size are relatively common. If your hard disk (and motherboard) uses ATA-100 standard, it means that it theoretical transfers data at 100MB/s. We stress theoretically because this rate is lower in practice. So in our theoretical example, it will take 1 second to transfer (write or read) our file. Now, if we are using a RAID 0 system on our computer, i. e., two equal hard disks with data splitting and assuming that they are ATA-100 disks, the said file will be split into two 50 MB files and, according, it will only take 0.5 sec to write (or read) each disk. As the access rate to each disk has fallen to half the time (0.5 sec), it follows that the performance has doubled!
But the RAID system is not restricted to using two hard disks. In principle, we can set up as many disks as we want. Following the same example, if we use four equal disks instead of two, the computer will believe that all four are a single disk and will automatically split the file into four parts, multiplying fourfold the file’s R/W rate. In the example, the 100 MB file will be split into four 25 MB each file and, according, it will be written at a mere 0.25 sec if we assume that ATA-100 disks are being used.
It goes without saying that the more disks we use, the more expensive our system will be. But with applications handling extensive files, such as professional audio and video editing, the system becomes really attractive seeing that the machine file R/W rate is much faster.
We stress that all this splitting takes place out of sight, and the user is not aware that his file has been split into pieces.
[nextpage title=”Basics: Data Mirroring”]
Mirroring – also known as RAID 1 – consists of automatically copying the entire contents of a hard disk to another one. In other words, if you equip your computer such a system, the second hard disk will be the spitting image of the first. If your main hard disk goes up in smoke, the second will automatically activate.
It is amazing: mirroring is automatic backing up via hardware, enhancing your computer’s safety factor. It goes without saying that this system eliminates the need to backup (seeing it is possible that both hard disks collapse together – an extremely remote, but real probability) but it really provides a feeling of safety to people that cannot, under any circumstances whatsoever, lose data stored on their hard disks. The best thing about mirroring is that it is carried out automatically by hardware on the motherboard or controller card, not requiring any operating system set up for backing up (as the system believes that the computer has a single hard disk).
And better still: mirroring does not have to be implemented at the time you format your hard disk and install the operating system. You can take a disk with years-old data and start mirroring it. Upon configuring – done by a self set up – the contents of the main hard disk will be copied to the backup hard disk (a procedure that takes some time, of course).
Data splitting and mirroring can be set to work at the same time through a set-up usually called RAID 0+1. This set-up requires at least four hard disks. Data splitting will be used on two disks, to increase the speed, while the other two disks will provide backup the first pair. If one of the disks goes down, the system starts acting like a RAID0 system, i.e., just data stripping. Another system for putting RAID0 and RAID1 together is called RAID10. It works like RAID0+1 but if a had disk fails, the RAID10 the system becomes a RAID1 system, i.e., just mirroring.
Modern systems allows the use of RAID0+1 using just two hard disks. This setup is called JBOD (Just a Bunch of Disks) and works using only half of each hard disk capacity, thus simulating four hard drives. For example, using two 40 GB hard disks with JBOD RAID configuration, the total available space will be 20 GB (the other 20 GB space will be used for backing up the data from the first half of the disk). Of course this system is slower than RAID0+1.
[nextpage title=”Other RAID Systems”]
We’ve seen the basics: RAID0 means data stripping, RAID1 means mirroring and they can be joined together as RAID0+1, RAID10 or JBOD. There are more RAID options, but they are not common in IDE RAID, i.e., RAID systems available on the motherboard target to the average user. These other RAID functions are:
- RAID2: Similar to RAID0, but with error correction scheme (ECC);
- RAID3: Similar to RAID0, but using an extra hard disk for parity information storage, thus enhancing the system reliability;
- RAID4: Similar to RAID3, but faster by using larger data chunks, i.e., the files are stripped into larger blocks;
- RAID5: Similar to RAID3 and RAID4, but saving the parity information inside the data disks not on an extra disk, so you won’t need an extra disk;
- RAID53: Similar to RAID3 but using at least 5 hard disks, to enhance the system performance;
- RAID6: Based on RAID5, it saves an extra parity information on all hard disks of the system, enhancing the system reliability;
- RAID7: Trademark from a company called Storage Computer Corporation, it uses an extra disk to save parity information. Its main advantage is its speed, because it uses disk cache technique. It can be considered a RAID4 with disk cache.
Now that we’ve seen all RAID versions, let’s talk about RAID implementation.
[nextpage title=”RAID Implementation”]
Originally, RAID systems were available only with SCSI hard disks, which are quite expensive. In the past few years, companies like HighPoint (https://www.highpoint-tech.com), Promise (https://www.promise.com), SiliconImage (https://www.siliconimage.com) and ITE (https://www.ite.com.tw) released a series of RAID chips enabling RAID systems together with IDE hard disks, the most popular kind of hard disk around.
These chips can be found on add-on cards or on the motherboard itself. So, even if your motherboard doesn’t have RAID function, you can simply install an add-on card to enhance your system speed and reliability. Some chipsets have RAID function embedded on them, as it occurs with the lastest chipset from Intel (for example, on the Intel 915P, but the south bridge must be ICH6R or ICH6RW to have this feature available) and VIA (VT8237 southbridge).
In Figure 1, you can see a real example of a motherboard with on-board RAID feature. It has four regular IDE ports, two controlled by the chipset (no RAID function as it occurs with the vast majority of motherboards available at the market) and two controlled by an extra chip from ITE called GigaRAID IT8212F, and also two Serial ATA ports controlled by SiliconImage SiI3112 chip. These two ports controlled by GigaRAID chip have RAID0, RAID1 and RAID0+1 functions. So if you want to use any of these functions, your hard disks must be installed to these ports. You can also not use the RAID funtions at all and use these extra ports just as regular IDE ports.
We gave all our examples using regular IDE hard disks, but RAID is available for Serial ATA devices as well. In the example of Figure 1, the Serial Ports available on this motherboard doesn’t allow RAID function as SiliconImage’s chip does not support it. But there are Serial ATA chips around that supports it.
Another option is RAID through software. Instead of a special RAID chip controlling the hard disks, it is possible to enable a RAID system using a special RAID software. The advantage is that it is cheaper to use software-based RAID solutions. On the other hand, it is less reliable than hardware-based RAID solutions.
Below you will find a table with the most common RAID chips that come with motherboards that implement on-board RAID function.
|HighPoint HPT370||2x ATA-100||0, 1, 0+1|
|HighPoint HPT372||2x ATA-133||0, 1, 0+1|
|HighPoint HPT374||4x ATA-133||0, 1, 0+1, JBOD|
|Promise PDC20275||2x ATA-100||0, 1|
|Promise PDC20276||2x ATA-133||0, 1|
|Promise PDC20378||1x ATA-133, 2x SATA-150||0, 1, 0+1|
|ITE GigaRAID IT8212F||2x ATA-133||0, 1, 0+1|