RAID is a very useful data storage Virtualization technology and stands for Redundant Arrays of Independent Disk. RAID is widely used to provide data protection against disk failures and performance.
In RAID, multiple disks are combined to form a single set and then the data is stored in it using different RAID levels. This improves performance and/or reliability.
Earlier the term “Independent” in RAID was called inexpensive but due to the technology enhancement, it was given the name ‘independent’.
Recommended Article: What is SAN?
RAID concept was laid by the technical paper titled “A Case for Redundant Arrays of Inexpensive Disks (RAID)” submitted in 1987 by David Patterson, Garth Gibson, and Randy H Katz at the University of California, Berkeley. They studied the possibility of using two or more drives to appear as a single device to the host.
The paper presented by them on RAID described the use of small-capacity, inexpensive disk drives
as an alternative to large-capacity drives common on mainframe computers.
Different Types of RAID Implementation
We have two types of RAID implementation viz. Hardware and Software. Both these implementation has their own advantages and disadvantages.
Hardware RAID
In simple words, Hardware RAID needs an external hardware controller for its implementation. This hardware controller can be on a storage disk array or the host itself. This implementation differs in the way the storage array and host interact.
Example: Controller card RAID
Hardware RAID is more flexible, supports all RAID levels, and provides better performance than software RAID for large and complex implementations.
Software RAID
Software RAID does not need any hardware for its implementation and uses host-based software to perform RAID functions. They provide cost-effective solutions and are simple to use as compared to hardware RAID in a small implementation.
Example: Creating different RAID levels in Linux/Unix
Apart from the merits of software RAID, they have limitations too.
Software RAID does not provide good system performance as additional CPU cycles are required to perform software raid calculations. Thus we have avoided them while working on complex implementation.
It does not support all RAID levels and is not as flexible as depends upon the operating system.
These were the two different types of RAID implementation and we will discuss about different RAID levels like RAID 0, RAID 1, RAID 5, etc. in the next article.
If you like the article, please share it with your colleagues and friends. Also, do not forget to subscribe to our FREE email updates for more such articles.
Awesome post, thanks for sharing.
Thanks for such a description of the topic. Well explained and really fruitful.
Thanks Rishika. Keep reading the articles in this blog.