TechTutorials - Free Computer Tutorials  







Hardware and Software RAID - PART 2 
 


Added: 07/29/2008, Hits: 4,987, Rating: 0, Comments: 0, Votes: 0
Add To Favorites | Comment on this article
By Jason Zandri

This week's article is going to continue in identifying some of the Terms and Concepts of Hardware and Software RAID, specifically the remaining players of RAIDs 2, 3, 4, 6, 7, 10, and 0+1.

For detailed information on RAID 0, 1 and 5, please see last week's article.

What does it all mean?

RAID 0, Duplexing, Mirroring, Striping with parity, ECC, the terminology bog goes on for what seems to be forever. Do you need to know what all of these mean? Yes, for both the exam and your everyday life as a PC technician and there are plenty of them too.

So, off we go.

RAID - To continue our talk about RAID (redundant array of independent disks; or redundant array of inexpensive disks; depending on who you ask, both are accepted as "correct"), I want to quickly go over what I mentioned in my past article. You need to know that over all there are two different types of RAID, Software and Hardware RAID. In a nutshell, hardware RAID is any type of RAID deployed on a computer system which is controlled at a hardware level, be it by a controller card or other device, that is independent of the operating system. Before any type of operating system is installed on the system, (or started up, in the event an operating system is present) this level of RAID would already be enabled on a given system. In theory, the loss of the operating system from errors or configuration issues in this type of RAID configuration allows much more ease of effort in recovering your data, as the disk configuration is held on the hardware controller. The loss of the hardware device makes data retrieval much more difficult, as the configuration of the hard drives is unknown to the operating system, (and any standard data recovery tools) as it sees the combined space of all the drives as one logical structure.

[NOTES FROM THE FIELD] - Certain server class hardware RAID solutions not only write the disk configuration to the memory of the hardware controller but to certain reserved sectors of the hard drives as well. This would mean that if the controller failed and then was replaced with the same, make, model and BIOS revision of controller, the chances of recovering the data is greatly improved as the disk configuration would be written "back" from the disks to the memory of the replacement controller and even if the operating system faulted, the data would most likely be intact for standard disk access and recovery at that point.

In a software based (software based means "derived from the operating system", by default) RAID solution, it is the operating system itself that creates and stores the logical structure of the drives in the array. Real mode access (such as booting from a floppy disk or an NTFS boot disk in the NT world) in most cases is not going to allow any access to the data as the operating system was by-passed and not allowed to initialize and access the logical drive array it has created.

[NOTES FROM THE FIELD] - There is no RAID based hardware failure (such as a controller card) that you need to be concerned with in a software based RAID scenario, however, if you lose the operating system badly enough where the repair function cannot "fix" the issue, all the data of the operating system created RAID solution is usually lost.
These remaining RAID classes are hardware based, meaning, that while some may be software enhanced or enabled, they are not derived from the operating system itself and are therefore considered hardware solutions.


The Different Flavors of RAID

[NOTES FROM THE FIELD] - Concerning the A+ Core Hardware Service Technician Exam, you only need to have a high understanding of RAID in the most basic context. In the A+ Service Technician OS Technologies Exam (220-222) you again only need a high, basic context understanding of the differences between hardware and software RAID, as mentioned in above in the [NOTES FROM THE FIELD] sections. I have gone into the extra detail of the different types of RAID as a reference point of view. I will summarize what you "really" need to know, exam wise, at the end the article. I have given as much detail to the sections as I could, some more than others, based on my knowledge of the material, the amount of relevance, both to the exam and in the field, and the amount of reference data that I have available to use.

Some of the information provided in the following sections is somewhat sparse due to my limited knowledge of these types of RAID implementations and their rarity of use in the field today.


RAID 2 - RAID 2 uses striping across disks with some disks storing error checking and correcting (ECC) information. RAID 2 is sometimes referred to as Hamming Code ECC RAID Array after Richard W. Hamming who first utilized the method of implementing ECC memory using the theoretical minimum number of redundant bits.



RAID 2 has an advanced data error correction mechanism and it has an above average data transfer rate.

This design uses both data disks (4 purple columns in the above image, representing 4 data disks) as well as ECC disks (represented in the 3 red disks above).

Currently, there are no commercial implementations of this design as the cost of this design is very high and the design is fairly inefficient compared to other RAID solutions available.

RAID 3 - RAID 3 is sometimes referred to as Parallel transfer with parity, as it uses striping (like RAID 0) and dedicates one entire and independent drive to storing the parity information.



The 4 purple columns in the above image, represent the 4 data disks and the single red column represents the single parity drive.

A RAID 3 configuration will allow for use of the total combined space of all of the drives, minus a single drive. That is, if five 20GB hard drives totaling 100GB of space are committed to a RAID 3 array, the total usable space is 80GB. The "lost" space is allotted for the use of the parity storage, all held entirely on the single parity drive.

RAID 3 configurations allow for high Read data transfer rates and Write data transfer rates, as any parity information is copied over to a separate hard drive. Parity is generated on Writes and recorded on the parity drive and the data checked on Reads from the stored parity information.

RAID 3 requires a minimum of 3 drives to implement and the configuration can suffer the loss of a single drive in its default implementation without the loss of data and service.

RAID 4 - RAID 4 is sometimes referred to as Independent Data disks with shared Parity disk and at first glance appears to look quite a bit like RAID 3. RAID 3 uses striping (like RAID 0) and dedicates one entire and independent drive to storing the parity information. RAID 4 differs from the RAID 3 design by working with data in terms of blocks rather than bytes of data. It uses Block-level striping with a dedicated parity drive rather than striping the drives and using a dedicated parity drive as in RAID 3.



RAID 4 requires a minimum of 3 drives to implement and the configuration can suffer the loss of a single drive in its default implementation without the loss of data and service.

A RAID 4 configuration will allow for use of the total combined space of all of the drives, minus a single drive. That is, if five 20GB hard drives totaling 100GB of space are committed to a RAID 4 array, the total usable space is 80GB. The "lost" space is allotted for the use of the parity storage, all held entirely on the single parity drive.

RAID 6 - RAID 6 is often referred to as striping with dual parity and is almost exactly the same as RAID 5 with the main difference being the two sets of rotating parity used in RAID 6. RAID 6 can handle the failure of any two drives in the array at any given time. Even a dual, simultaneous drive loss will not cause the loss of data and service in its default implementation.



RAID 6 requires a minimum of 4 drives to implement and the storage design of this implementation allows for use of the total combined space of all of the drives, minus two drives. That is, if five 20GB hard drives totaling 100GB of space are committed to a RAID 6 array, the total usable space is 60GB. The "lost" space is allotted for the use of the parity storage, all held evenly across all of the drives in the array.

RAID 6 is not often used and due to advances of RAID 5 based hardware controllers, mainly, online spares, automatic rebuilds, and hot swappable drives it has been rendered mostly obsolete.

RAID 7 - RAID 7 is isn't an industry standard RAID implementation. Storage Computer Corporation has trademarked the designation for their proprietary RAID design.



RAID 7 is basically an enhanced version of RAID levels 3 and 4, but overcomes some of the limitations of those levels. It's most apparent feature is that it uses an embedded real time operating system to handle parity and caching operations to the array.




Some of the major characteristics of this non-standard implementation are the parity generation that is integrated into the cache and the fact that multiple attached drives can be declared hot standbys within the array. Also, the power supply must be connected to a UPS to prevent loss of the cache data as it is volatile and lost upon system shutdown or other interruption of power.

RAID 10 - RAID 10 combines both striping and mirroring and is effectively a stripe (RAID 0) across a mirrored drive or a number of mirrored drives (RAID 1).



You need to have at least four hard drives for a RAID 10 array and any additional drives to be added must be done so in pairs, due to the fact the an even number of hard disks is required.

The storage design of a RAID 10 implementation allows for use of 50% of the total combined space of all of the drives. That is, if four 20GB hard drives totaling 80GB of space are committed to a RAID 10 array, the total usable space is 40GB. The "lost" space is allotted for the use of mirrored set. (The RAID 1 portion). There is no space lost in the stripe portion as there is no parity built into it.

The difference between RAID 10 and RAID 0+1 is subtle, and sometimes the terms are used interchangeably, but the differences are in the amount of fault tolerance in the designs.

RAID 10 can sustain multiple drive failures and still operate without the loss of data and service. Only the loss of both drives in the same mirrored pair will result in any data loss. In RAID 10 you have a striped array across a number of mirrored sets. This combination has better fault tolerance than RAID 0+1. As long as one drive in a mirrored set is active, the array can still function. In theory you can lose up half the drives in the array before you suffer data loss. In RAID 0+1 you can lose a maximum of only two drives before you suffer data loss. (Again, it all depends on the number of drives in total to begin with and which ones fail.)

RAID 0+1 - In RAID 0+1 what you have is a mirror of a stripe. If you have a total of ten hard drives, you would form five of them into a RAID 0 stripe and then mirror that array to the other five drives. (to form a RAID 1 mirror).



Effectively, all of the data is striped across several disks, and each disk has partner with exactly the same data on it.

In RAID 0+1 you can lose a maximum of only two drives before you suffer data loss because if a hard drive in one of the two striped arrays fails, the entire array is lost because stripes (RAID 0) have no redundancy. Because the stripe was mirrored, the other array is still functional, but it is no longer fault tolerant. If another drive should fail in the mirror, all the data is lost. (Technically, other drives in the original mirror could fail and not affect the operation of the remaining RAID 0 array, but in most cases the failure of the drive would cause the hardware controller to take that array off-line and additional drive failure would not be of much consequence.)

The storage design of a RAID 0+1 implementation allows for use of 50% of the total combined space of all of the drives. That is, if four 20GB hard drives totaling 80GB of space are committed to a RAID 0+1array, the total usable space is 40GB. The "lost" space is allotted for the use of mirrored set. (The RAID 1 portion). There is no space lost in the stripe portion as there is no parity built into it.

[NOTES FROM THE FIELD] - There are other levels of RAID, such as RAID 50 and 53 and some others that simply go too far beyond what you need to know for even general knowledge on the subject. As I stated earlier, I have gone into the extra detail of the different types of RAID as a reference point of view. A good point of reference would be the fact that in five plus years in the field I have only run across RAID 0, 1 and 5 being utilized, so mentioning anything more advanced, such as RAID 50 and 53 is beyond even my skill set.

[EXAM NOTES FROM THE FIELD] - In a nutshell, for the exams, you need to know that there are both hardware and software classes of RAID, software classes of RAID impact the system processor and therefore the system as a whole, hardware RAID solutions are run from the firmware of the RAID controller(s). RAID 0 is striping without parity and there is no fault tolerance. You need a minimum of two drives to implement it. RAID 1 is mirroring or duplexing depending on where the drives are placed on the controllers and that RAID 1 is a mirror image and a minimum of two drives are needed to implement it. RAID 5 is striping with single parity, where that parity data is spread out along all of the drives of the RAID array and it requires a minimum of three drives to implement it.

For more detailed information on RAID levels you can visit The PC Guide Single RAID Levels and Multiple (Nested) RAID Levels. There is also a HUGE RAID glossary on the Adaptec website that I would recommend looking over as well. The Adaptec site also has a decent section on the difference between Hardware and Software RAID designs.

Well, that wraps up my Terms and Concepts of Hardware and Software RAID - PART 2 article. I hope you found it informative and will return for part two next week. If you have any questions, comments or even constructive criticism, please feel free to drop me a note. I want to write good, solid technical articles that appeal to a large range of readers and skill levels and I can only be sure of that through your feedback.

Next week, I plan to move on to the different types of system memory. Until then, remember,

“A hacker's worst nightmare is that Server Administrators will wake up and do their job”

Jason Zandri





Comments (0)

Be the first to comment on this article


Related Items








7 Seconds Resources, Inc.




IT Showcase