All Topics  
RAID

 

   Email Print
   Bookmark   Link






 

RAID



 
 
RAID is an acronym first defined by David A. Patterson, Garth A. Gibson
Garth A. Gibson

Garth Gibson is a Computer Scientist from Carnegie Mellon University. Born in Aurora, Ontario, he holds a Doctor of Philosophy and an MSc in Computer Science from the University of California, Berkeley and a B.Math in Computer Science from the University of Waterloo....
 and Randy Katz
Randy Katz

Dr. Randy Howard Katz is a distinguished professor at University of California, Berkeley of the electrical engineering and computer science Department....
 at the University of California, Berkeley
University of California, Berkeley

The University of California, Berkeley is a public university research university located in Berkeley, California, California, United States. The oldest of the ten major campuses affiliated with the University of California, Berkeley offers some 300 undergraduate and graduate degree programs in a wide range of disciplines....
 in 1987 to describe a Redundant Array of Inexpensive Disks, a technology that allowed computer users to achieve mainframe-class storage reliability from low-cost and less reliable PC-class disk-drive components via the technique of arranging the devices into arrays for redundancy.

More recently, marketers representing industry RAID manufacturers have revised the term, substituting "Independent" for Inexpensive, a convenient (though inaccurate) means of avoiding the negative connotations associated with "inexpensive".

"RAID" is now used as an umbrella term
Umbrella term

An umbrella term is a word that provides a superset or wikt:grouping of related concepts, also called a hypernym.For example, cryptology is an umbrella term that encompasses cryptography and cryptanalysis, among other fields....
 for computer data storage schemes that can divide and replicate data
Data (computing)

In computer science, data is anything in a form suitable for use with a computer. Data is often distinguished from computer programs. A program is a set of instruction that detail a task for the computer to perform....
 among multiple hard disk drives.






Discussion
Ask a question about 'RAID'
Start a new discussion about 'RAID'
Answer questions from other users
Full Discussion Forum



Encyclopedia


RAID is an acronym first defined by David A. Patterson, Garth A. Gibson
Garth A. Gibson

Garth Gibson is a Computer Scientist from Carnegie Mellon University. Born in Aurora, Ontario, he holds a Doctor of Philosophy and an MSc in Computer Science from the University of California, Berkeley and a B.Math in Computer Science from the University of Waterloo....
 and Randy Katz
Randy Katz

Dr. Randy Howard Katz is a distinguished professor at University of California, Berkeley of the electrical engineering and computer science Department....
 at the University of California, Berkeley
University of California, Berkeley

The University of California, Berkeley is a public university research university located in Berkeley, California, California, United States. The oldest of the ten major campuses affiliated with the University of California, Berkeley offers some 300 undergraduate and graduate degree programs in a wide range of disciplines....
 in 1987 to describe a Redundant Array of Inexpensive Disks, a technology that allowed computer users to achieve mainframe-class storage reliability from low-cost and less reliable PC-class disk-drive components via the technique of arranging the devices into arrays for redundancy.

More recently, marketers representing industry RAID manufacturers have revised the term, substituting "Independent" for Inexpensive, a convenient (though inaccurate) means of avoiding the negative connotations associated with "inexpensive".

"RAID" is now used as an umbrella term
Umbrella term

An umbrella term is a word that provides a superset or wikt:grouping of related concepts, also called a hypernym.For example, cryptology is an umbrella term that encompasses cryptography and cryptanalysis, among other fields....
 for computer data storage schemes that can divide and replicate data
Data (computing)

In computer science, data is anything in a form suitable for use with a computer. Data is often distinguished from computer programs. A program is a set of instruction that detail a task for the computer to perform....
 among multiple hard disk drives. RAID's various designs all involve two key design goals: increased data reliability and/or increased input/output
Input/output

In computing, input/output, or I/O, refers to the communication between an information processing system , and the outside world ? possibly a human, or another information processing system....
 performance. When multiple physical disks are set up to use RAID technology, they are said to be in a RAID array. This array distributes data across multiple disks, but the array is seen by the computer user and operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
 as one single disk. RAID can be set up to serve several different purposes.

Purpose and basics


Redundancy is a way that extra data is written across the array, which are organized so that the failure of one (sometimes more) disks in the array will not result in loss of data. A failed disk may be replaced by a new one, and the data on it reconstructed from the remaining data and the extra data. A redundant array allows less data to be stored. For instance, a 2-disk RAID 1 array loses half of the total capacity that would have otherwise been available using both disks independently, and a RAID 5 array with several disks loses the capacity of one disk. Other RAID level arrays are arranged so that they are faster to write to and read from than a single disk.

There are various combinations of these approaches giving different trade-offs of protection against data loss, capacity, and speed. RAID levels 0, 1, and 5 are the most commonly found, and cover most requirements.

  • RAID 0 (striped disks) distributes data across several disks in a way that gives improved speed and full capacity, but all data on all disks will be lost if any one disk fails.


  • RAID 1 (mirrored
    Mirror (computing)

    In computing, a mirror is an exact copy of a data set. On the Internet, a mirror site is an exact copy of another Internet site.Mirror sites are most commonly used to provide multiple sources of the same information, and are of particular value as a way of providing reliable access to large downloads....
     settings/disks) could be described as a real-time backup solution. Two (or more) disks each store exactly the same data, at the same time, and at all times. Data is not lost as long as one disk survives. Total capacity of the array is simply the capacity of one disk. At any given instant, each disk in the array is simply identical to every other disk in the array.


  • RAID 5 (striped disks with parity) combines three or more disks in a way that protects data against loss of any one disk; the storage capacity of the array is reduced by one disk.


  • RAID 6 (striped disks with dual parity) (less common) can recover from the loss of two disks.


  • RAID 10 (or 1+0) uses both striping and mirroring. "01" or "0+1" is sometimes distinguished from "10" or "1+0": a striped set of mirrored subsets and a mirrored set of striped subsets are both valid, but distinct, configurations.


  • RAID 53 Merges the features of RAID level 0 and RAID level 3.
(Raid level 3 and Raid level 4 differs in the size of each drive.) This uses byte striping with parity merged with block striping.

RAID can involve significant computation when reading and writing information. With traditional "real" RAID hardware, a separate controller does this computation. In other cases the operating system or simpler and less expensive controllers require the host computer's processor to do the computing, which reduces the computer's performance on processor-intensive tasks (see "Software RAID" and "Fake RAID" below). Simpler RAID controllers may provide only levels 0 and 1, which require less processing.

RAID systems with redundancy continue working without interruption when one, or sometimes more, disks of the array fail, although they are then vulnerable to further failures. When the bad disk is replaced by a new one the array is rebuilt while the system continues to operate normally. Some systems have to be shut down when removing or adding a drive; others support hot swapping
Hot swapping

Hot swapping and hot plugging are terms used to separately describe the functions of replacing system components without shutting down the system....
, allowing drives to be replaced without powering down. RAID with hot-swap drives is often used in high availability
High availability

High availability is a system design protocol and associated implementation that ensures a certain absolute degree of operational continuity during a given measurement period....
 systems, where it is important that the system keeps running as much of the time as possible.

RAID is not a good alternative to backing up
Backup

In information technology, backup refers to making copies of data so that these additional copies may be used to restore the original after a data loss event....
 data. Data may become damaged or destroyed without harm to the drive(s) on which they are stored. For example, part of the data may be overwritten by a system malfunction; a file may be damaged or deleted by user error or malice and not noticed for days or weeks; and of course the entire array is at risk of physical damage.

Principles


RAID combines two or more physical hard disks into a single logical unit by using either special hardware or software. Hardware solutions often are designed to present themselves to the attached system as a single hard drive, so that the operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
 would be unaware of the technical workings. For example, you might configure a 1TB RAID 5 array using three 500GB hard drives in hardware RAID, the operating system would simply be presented with a "single" 1TB disk. Software solutions are typically implemented in the operating system and would present the RAID drive as a single drive to applications running upon the operating system.

There are three key concepts in RAID: mirroring, the copying of data to more than one disk; striping
Data striping

In computer data storage, data striping is the segmentation of logically sequential data, such as a single file, so that segments can be assigned to multiple physical devices in a round-robin fashion and thus written concurrently....
, the splitting of data across more than one disk; and error correction, where redundant data is stored to allow problems to be detected and possibly fixed (known as fault tolerance). Different RAID levels use one or more of these techniques, depending on the system requirements. RAID's main aim can be either to improve reliability and availability of data, ensuring that important data is available more often than not (e.g. a database of customer orders), or merely to improve the access speed to files (e.g. for a system that delivers video on demand
Video on demand

Video on demand or audio video on demand systems allow users to select and watch/listen to video or Sound recording and reproduction content on demand....
 TV programs to many viewers).

The configuration affects reliability and performance in different ways. The problem with using more disks is that it is more likely that one will go wrong, but by using error checking the total system can be made more reliable by being able to survive and repair the failure. Basic mirroring can speed up reading data as a system can read different data from both the disks, but it may be slow for writing if the configuration requires that both disks must confirm that the data is correctly written. Striping is often used for performance, where it allows sequences of data to be read from multiple disks at the same time. Error checking typically will slow the system down as data needs to be read from several places and compared. The design of RAID systems is therefore a compromise and understanding the requirements of a system is important. Modern disk array
Disk array

A disk array is a disk storage system which contains multiple disk drives. It is differentiated from a disk enclosure, in that an array has cache memory and advanced functionality, like redundant array of independent disks and virtualization....
s typically provide the facility to select the appropriate RAID configuration.

Standard levels


A number of standard schemes have evolved which are referred to as levels. There were five RAID levels originally conceived, but many more variations have evolved, notably several nested levels
Nested RAID levels

To gain performance and/or additional redundancy the Standard RAID levels can be combined to create hybrid or Nested RAID levels....
 and many non-standard levels
Non-standard RAID levels

Although all implementations of RAID differ from the idealized specification to some extent, some companies have developed non-standard RAID implementations that differ substantially from the rest of the crowd....
 (mostly proprietary
Proprietary software

Proprietary software is a term coined by advocates of the free software movement to describe computer software which is the legal property of one party....
).

Following is a brief summary of the most commonly used RAID levels. Space efficiency is given as amount of storage space available in an array of n disks, in multiples of the capacity of a single drive. For example if an array holds n=5 drives of 250GB and efficiency is n-1 then available space is 4 times 250GB or roughly 1TB.

Level Description Minimum # of disks Space Efficiency Image
RAID 0 "Striped
Data striping

In computer data storage, data striping is the segmentation of logically sequential data, such as a single file, so that segments can be assigned to multiple physical devices in a round-robin fashion and thus written concurrently....
 set without parity
Parity bit

A parity bit is a bit that is added to ensure that the number of bits with value of 1 in a given set of bits is always even number or odd number....
" or "Striping
Data striping

In computer data storage, data striping is the segmentation of logically sequential data, such as a single file, so that segments can be assigned to multiple physical devices in a round-robin fashion and thus written concurrently....
". Provides improved performance and additional storage but no fault tolerance. Any disk failure destroys the array, which becomes more likely with more disks in the array. A single disk failure destroys the entire array because when data is written to a RAID 0 drive, the data is broken into fragments. The number of fragments is dictated by the number of disks in the array. The fragments are written to their respective disks simultaneously on the same sector. This allows smaller sections of the entire chunk of data to be read off the drive in parallel, giving this type of arrangement huge bandwidth. RAID 0 does not implement error checking so any error is unrecoverable. More disks in the array means higher bandwidth, but greater risk of data loss.
2 n
RAID 1 'Mirrored
Disk mirroring

In data storage, disk mirroring or RAID1 is the replication of logical disk volumes onto separate physical hard disks in Real-time computing to ensure continuous availability....
 set without parity
' or 'Mirroring
Disk mirroring

In data storage, disk mirroring or RAID1 is the replication of logical disk volumes onto separate physical hard disks in Real-time computing to ensure continuous availability....
'. Provides fault tolerance from disk errors and failure of all but one of the drives. Increased read performance occurs when using a multi-threaded operating system that supports split seeks, very small performance reduction when writing. Array continues to operate so long as at least one drive is functioning. Using RAID 1 with a separate controller for each disk is sometimes called duplexing.
2 1
RAID 2 Hamming code
Hamming code

In telecommunication, a Hamming code is a linear code error-correcting code named after its inventor, Richard Hamming. Hamming codes can detect up to two simultaneous bit errors, and correct single-bit errors; thus, reliable communication is possible when the Hamming distance between the transmitted and received bit patterns is less than or e...
 parity
. Disks are synchronised and striped in very small stripes, often in single bytes/words. Hamming codes error correction is calculated across corresponding bits on disks, and is stored on multiple parity disks.
3  
RAID 3 Striped set with dedicated parity or bit interleaved parity or byte level parity. This mechanism provides an improved performance and fault tolerance similar to RAID 5, but with a dedicated parity disk rather than rotated parity stripes. The single parity disk is a bottle-neck for writing since every write requires updating the parity data. One minor benefit is the dedicated parity disk allows the parity drive to fail and operation will continue without parity or performance penalty. 3 n-1
RAID 4 Block level parity. Identical to RAID 3, but does block-level striping instead of byte-level striping. In this setup, files can be distributed between multiple disks. Each disk operates independently which allows I/O requests to be performed in parallel, though data transfer speeds can suffer due to the type of parity. The error detection is achieved through dedicated parity and is stored in a separate, single disk unit. 3 n-1
RAID 5 Striped set with distributed parity or interleave parity. Distributed parity requires all drives but one to be present to operate; drive failure requires replacement, but the array is not destroyed by a single drive failure. Upon drive failure, any subsequent reads can be calculated from the distributed parity such that the drive failure is masked from the end user. The array will have data loss in the event of a second drive failure and is vulnerable until the data that was on the failed drive is rebuilt onto a replacement drive. A single drive failure in the set will result in reduced performance of the entire set until the failed drive has been replaced and rebuilt. 3 n-1
RAID 6 Striped set with dual distributed parity. Provides fault tolerance from two drive failures; array continues to operate with up to two failed drives. This makes larger RAID groups more practical, especially for high availability systems. This becomes increasingly important because large-capacity drives lengthen the time needed to recover from the failure of a single drive. Single parity RAID levels are vulnerable to data loss until the failed drive is rebuilt: the larger the drive, the longer the rebuild will take. Dual parity gives time to rebuild the array without the data being at risk if one drive, but no more, fails before the rebuild is complete. RAID 6 is sometimes referred to as Advanced Data Guarding (ADG). 4 n-2


Nested levels

Many storage controllers allow RAID levels to be nested: the elements of a RAID may be either individual disks or RAIDs themselves. Nesting more than two deep is unusual.

As there is no basic RAID level numbered larger than 8, nested RAIDs are usually unambiguously described by concatenating the numbers indicating the RAID levels, sometimes with a "+" in between. For example, RAID 10 (or RAID 1+0) consists of several level 1 arrays of physical drives, each of which is one of the "drives" of a level 0 array striped over the level 1 arrays. It is not called RAID 01, to avoid confusion with RAID 1, or indeed, RAID 01
Nested RAID levels

To gain performance and/or additional redundancy the Standard RAID levels can be combined to create hybrid or Nested RAID levels....
. When the top array is a RAID 0 (such as in RAID 10 and RAID 50) most vendors omit the "+", though RAID 5+0 is clearer.

  • RAID 0+1: striped sets in a mirrored set (minimum four disks; even number of disks) provides fault tolerance and improved performance but increases complexity. The key difference from RAID 1+0 is that RAID 0+1 creates a second striped set to mirror a primary striped set. The array continues to operate with one or more drives failed in the same mirror set, but if drives fail on both sides of the mirror the data on the RAID system is lost.


  • RAID 1+0: mirrored sets in a striped set (minimum four disks; even number of disks) provides fault tolerance and improved performance but increases complexity. The key difference from RAID 0+1 is that RAID 1+0 creates a striped set from a series of mirrored drives. In a failed disk situation, RAID 1+0 performs better because all the remaining disks continue to be used. The array can sustain multiple drive losses so long as no mirror loses all its drives.


  • RAID 5+0: stripe across distributed parity RAID systems.


  • RAID 5+1: mirror striped set with distributed parity (some manufacturers label this as RAID 53).


Non-standard levels


Many configurations other than the basic numbered RAID levels are possible, and many companies, organizations, and groups have created their own non-standard configurations, in many cases designed to meet the specialised needs of a small niche group. Most of these non-standard RAID levels are proprietary
Proprietary

The word proprietary indicates that a party, or proprietor, exercises private ownership, control or use over an item of property.Terms relating to Proprietary include:...
.

Some of the more prominent modifications are:
  • Storage Computer Corporation uses RAID 7, which adds caching
    Cache

    In computer science, a cache is a collection of data duplicating original values stored elsewhere or computed earlier, where the original data is expensive to fetch or to compute, compared to the cost of reading the cache....
     to RAID 3 and RAID 4 to improve I/O performance.
  • EMC Corporation
    EMC Corporation

    EMC Corporation is a United States Fortune 500 and S&P 500 provider of information infrastructure systems, software and services. It is headquartered in Hopkinton, Massachusetts, USA....
     offered RAID S as an alternative to RAID 5 on their Symmetrix
    Symmetrix

    The Symmetrix is EMC Corporation flagship enterprise storage disk array. There have been seven generations of Symmetrix hardware, with the first appearing in 1994 and the latest introduced in 2006....
     systems (which is no longer supported on the latest releases of Enginuity, the Symmetrix's operating system).
  • The ZFS
    ZFS

    In computing, ZFS is a file system designed by Sun Microsystems for the Solaris Operating System. The features of ZFS include support for high storage capacities, integration of the concepts of filesystem and volume , Snapshot and copy-on-write clones, continuous integrity checking and automatic repair, RAID-Z and native NFSv4 ACLs....
     filesystem, available in Solaris, OpenSolaris
    OpenSolaris

    File:Opensolaris-screenshot-2008-05.pngOpenSolaris is an open source operating system based on Sun Microsystems' Solaris . It is also the name of the project initiated by Sun to build a developer and user community around it....
    , FreeBSD
    FreeBSD

    FreeBSD is a Unix-like free software operating system descended from AT&T Unix via the Berkeley Software Distribution branch through the 386BSD and Berkeley Software Distribution#4.4BSD and descendants operating systems....
     and Mac OS X
    Mac OS X

    Mac OS X is a line of computer operating systems developed, marketed, and sold by Apple Inc., and since 2002 has been included with all new Macintosh computer systems....
    , offers RAID-Z
    Non-standard RAID levels

    Although all implementations of RAID differ from the idealized specification to some extent, some companies have developed non-standard RAID implementations that differ substantially from the rest of the crowd....
    , which solves RAID 5's write hole
    Standard RAID levels

    The standard RAID levels are a basic set of RAID configurations and employ data striping, Disk mirroringing, or parity .The standard RAID levels can be nested for other benefits ....
     problem.
  • NetApp's Data ONTAP uses RAID-DP (also referred to as "double", "dual" or "diagonal" parity), which is a form of RAID 6, but unlike many RAID 6 implementations, does not use distributed parity as in RAID 5. Instead, two unique parity disks with separate parity calculations are used. This is a modification of RAID 4 with an extra parity disk.
  • Accusys Triple Parity (RAID TP) implements three independent parities by extending RAID 6 algorithms on its FC-SATA and SCSI-SATA RAID controllers to tolerate three-disk failure.
  • Linux
    Linux

    Linux is a generic term referring to Unix-like computer operating systems based on the Linux kernel. Their development is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed by anyone under the terms of the GNU GPL license...
     MD RAID10
    Non-standard RAID levels

    Although all implementations of RAID differ from the idealized specification to some extent, some companies have developed non-standard RAID implementations that differ substantially from the rest of the crowd....
     (RAID10) implements a general RAID driver that defaults to a standard RAID 1+0 with 4 drives, but can have any number of drives. MD RAID10 can run striped and mirrored with only 2 drives with the f2 layout (mirroring with striped reads, normal Linux software RAID 1 does not stripe reads, but can read in parallel).
  • Infrant (Now part of Netgear
    Netgear

    Netgear, founded in 1996, is a US manufacturer of computer Computer network equipment and other computer hardware. The company was incorporated January 8, 1996 as a subsidiary of Bay Networks, to "focus on providing networking solutions for small businesses and homes." In August 1998, the company was purchased by Nortel as part of its acquis...
    ) X-RAID offers dynamic expansion of a RAID5 volume without having to backup/restore the existing content. Just add larger drives one at a time, let it resync, then add the next drive until all drives are installed. The resulting volume capacity is increased without user downtime. (It should be noted that this is also possible in Linux, when utilizing Mdadm
    Mdadm

    mdadm is a Linux utility by Neil Brown that is used to manage RAID#Operating system based devices, previously known as mdctl. Besides managing, it can create, delete, or monitor Linux software RAIDs....
     utility. It has also been possible in the EMC Clariion for several years.)
  • BeyondRAID created by Data Robotics
    Data Robotics

    Sorry, no overview for this topic
     and used in the Drobo
    Drobo

    Drobo is a data storage peripheral, developed by Data Robotics, Inc., which interfaces up to four 3.5" SATA hard disk with a computer via High-Speed USB 2.0 or FireWire ....
     series of products, implements both mirroring and striping simultaneously or individually dependent on disk and data context. BeyondRAID is more automated and easier to use than many standard RAID levels. It also offers instant expandability without reconfiguration, the ability to mix and match drive sizes and the ability to reorder disks. It is a block-level system and thus file system agnostic although today support is limited to NTFS, HFS+, FAT32, and EXT3. It also utilizes Thin provisioning
    Thin Provisioning

    Thin provisioning is a mechanism that applies to large-scale centralized computer disk storage systems, Storage Area Network, and storage virtualization systems....
     to allow for single volumes up to 16TB depending on the host operating system support.


Implementations

(Specifically, the section comparing hardware / software raid)

The distribution of data across multiple drives can be managed either by dedicated hardware
Hardware

Hardware is a general term that refers to the physical cultural artifacts of a technology. It may also mean the physical components of a computer system, in the form of computer hardware....
 or by software. When done in software the software may be part of the operating system or it may be part of the firmware and drivers supplied with the card.

Operating system based ("software RAID")

Software implementations are now provided by many operating systems. A software layer sits above the (generally block-based) disk device driver
Device driver

In computing, a device driver or software driver is a computer program allowing higher-level computer programs to interact with a hardware device....
s and provides an abstraction layer between the logical drives
Logical disk

A logical disk is a device that provides an area of usable storage capacity on one or more physical disk drive components in a computer system. Other terms that are used to mean the same thing are disk partition, logical volume, and in some cases a virtual disk ....
 (RAIDs) and physical drives. Most common levels are RAID 0 (striping across multiple drives for increased space and performance) and RAID 1 (mirroring two drives), followed by RAID 1+0, RAID 0+1, and RAID 5 (data striping with parity) are supported.

  • Apple's Mac OS X Server
    Mac OS X Server

    Mac OS X Server is Apple's UNIX server operating system. Based on the same architecture as Mac OS X, Mac OS X Server includes additional services, applications and administration tools for managing and deploying servers....
     supports RAID 0, RAID 1, and RAID 1+0.


  • FreeBSD
    FreeBSD

    FreeBSD is a Unix-like free software operating system descended from AT&T Unix via the Berkeley Software Distribution branch through the 386BSD and Berkeley Software Distribution#4.4BSD and descendants operating systems....
     and MidnightBSD
    MidnightBSD

    MidnightBSD is a free Unix-like, desktop-oriented operating system based on FreeBSD 6.1. It borrows a lot from the NEXTSTEP graphical user interface....
     support RAID 0, RAID 1, RAID 3, and RAID 5 via GEOM modules and ccd.


  • Linux
    Linux

    Linux is a generic term referring to Unix-like computer operating systems based on the Linux kernel. Their development is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed by anyone under the terms of the GNU GPL license...
     supports RAID 0, RAID 1, RAID 4, RAID 5, RAID 6 and all layerings of the above.


  • Microsoft
    Microsoft

    Microsoft Corporation is a multinational corporation computer technology corporation that develops, manufactures, licenses, and supports a wide range of computer software products for computing devices....
    's server operating systems support 3 RAID levels; RAID 0, RAID 1, and RAID 5. Some of the Microsoft desktop operating systems support RAID such as Windows XP Professional which supports RAID level 0 in addition to spanning multiple disks but only if using dynamic disks and volumes.


  • NetBSD
    NetBSD

    NetBSD is a freely redistributable, open source version of the Unix-derivative Berkeley Software Distribution computer operating system. It was the second open source BSD descendant to be formally released, after 386BSD, and continues to be actively developed....
     supports RAID 0, RAID 1, RAID 4 and RAID 5 (and any nested combination of those like 1+0) via its software implementation, named raidframe.
  • OpenBSD
    OpenBSD

    OpenBSD is a Unix-like computer operating system descended from Berkeley Software Distribution , a Unix derivative developed at the University of California, Berkeley....
     supports RAID 0 and RAID 1 via its software implementation softraid.
  • OpenSolaris
    OpenSolaris

    File:Opensolaris-screenshot-2008-05.pngOpenSolaris is an open source operating system based on Sun Microsystems' Solaris . It is also the name of the project initiated by Sun to build a developer and user community around it....
     and Solaris 10 supports RAID 0, RAID 1, RAID 5, and RAID 6 (and any nested combination of those like 1+0) via ZFS and now has the ability to boot from a ZFS volume on both x86 and ultrasparc. Through SVM, Solaris 10 and earlier versions support RAID 0, RAID 1, and RAID 5 on both system and data drives


The software must run on a host server attached to storage, and server's processor must dedicate processing time to run the RAID software. This is negligible for RAID 0 and RAID 1, but may become significant when using parity-based arrays and either accessing several arrays at the same time or running many disks. Furthermore all the busses between the processor and the disk controller must carry the extra data required by RAID which may cause congestion.

Another concern with operating system-based RAID is the boot process, it can be difficult or impossible to set up the boot process such that it can failover to another drive if the usual boot drive fails and therefore such systems can require manual intervention to make the machine bootable again after a failure. The exception is Linux where the GRUB bootloader natively understands RAID-1 and can load a kernel that way and where the kernel can autodetect RAIDs to mount a root filesystem without having to rely on configuration files stored on the disk. If the BIOS recognizes a broken first disk and defers bootstrapping to the next disk such a system will come up without intervention, but the BIOS might or might not do that as intended. A hardware RAID controller will have more explicit software to decide that a disk is broken and fall through to the next disk.

Hardware RAID controllers can also carry battery-powered cache memory. For data safety in modern systems the user must turn the write-back cache on the disk off. Otherwise a power fail might mean losing data that the OS assumed was stored safely. Turning off the write cache has a performance penalty that can, depending on workload and how well supported command queuing in the disk system is, be significant. The battery backed cache on a controller is a solution to have a safe write-back cache.

Finally operating system-based RAID usually uses formats specific to the operating system in question so it cannot generally be used for partitions that are shared between operating systems as part of a multi-boot setup, although exceptions apply such as that FreeBSD's ccd can use Linux RAID 0 and RAID 1.

Most operating system-based implementations allow RAIDs to be created from partition
Disk partitioning

Disk partitioning is the dividing of the data storage space of a hard disk drive into separate areas referred to as partitions. A partition editor program can be used to create, delete or modify these partitions....
s rather than entire physical drives. For instance, an administrator could divide an odd number of disks into two partitions per disk, mirror partitions across disks and stripe a volume across the mirrored partitions to emulate a RAID 1E configuration. Using partitions in this way also allows mixing reliability levels on the same set of disks. For example, one could have a very robust RAID-1 partition for important files, and a less robust RAID-5 or RAID-0 partition for less important data. (Some controllers offer similar features, e.g. Intel Matrix RAID
Intel Matrix RAID

It first appeared in the Intel RAID BIOS based on the List of Intel chipsets#Pentium_4/D/XE_Chipsets "South Bridge" chipset. Intel has continued to use a trailing 'R' at the end of the chipset name to indicate that it can be used with their Matrix RAID technology....
.) Using two partitions on the same drive in the same RAID is, however, dangerous. If, for example, a RAID 5 array is composed of four drives 250 + 250 + 250 + 500 GB, with the 500-GB drive split into two 250 GB partitions, a failure of this drive will remove two partitions from the array, causing all of the data held on it to be lost.

Hardware-based

Hardware RAID controllers use different, proprietary disk layouts, so it is not usually possible to span controllers from different manufacturers. They do not require processor resources, the BIOS can boot from them, and tighter integration with the device driver may offer better error handling.

A hardware implementation of RAID requires at least a special-purpose RAID controller. On a desktop system this may be a PCI
Peripheral Component Interconnect

The PCI Local Bus , or Conventional PCI, is a computer bus for attaching computer hardware in a computer. These devices can take either the form of an integrated circuit fitted onto the motherboard itself, called a planar device in the PCI specification or an expansion card that fits into a socket....
 expansion card
Expansion card

An expansion card in computing is a printed circuit board that can be inserted into an expansion slot of a computer motherboard to add additional functionality to a computer system....
, PCI-e
PCI Express

Peripheral Component Interconnect Express , officially abbreviated as PCIe, is a computer expansion card standard designed to replace the older PCI Local Bus, PCI-X, and Accelerated Graphics Port standards....
 expansion card
Expansion card

An expansion card in computing is a printed circuit board that can be inserted into an expansion slot of a computer motherboard to add additional functionality to a computer system....
 or built into the motherboard
Motherboard

A motherboard is the central printed circuit board in some complex electronic systems, such as modern personal computers. The motherboard is sometimes alternatively known as the mainboard, system board, or, on Apple Inc....
. Controllers supporting most types of drive may be used – IDE/ATA, SATA
Serial ATA

The Serial ATA computer bus is a storage-interface for connecting Host adapter to mass storage devices .Conceptually, SATA is a 'wire replacement' for the older AT Attachment standard ....
, SCSI
SCSI

Small Computer System Interface, or SCSI , is a set of standards for physically connecting and transferring data between computers and peripheral devices....
, SSA
Serial Storage Architecture

Serial Storage Architecture is a serial transport protocol used to attach disk drives to Server s. It was invented by Ian Judd of IBM in 1990. IBM produced a number of successful products based upon this standard before it was overtaken by the more widely adopted Fibre Channel protocol....
, Fibre Channel
Fibre Channel

Fibre Channel, or FC, is a gigabit-speed network technology primarily used for storage networking. Fibre Channel is standardized in the Technical Committee T11 of the InterNational Committee for Information Technology Standards , an American National Standards Institute ?accredited standards committee....
, sometimes even a combination. The controller and disks may be in a stand-alone disk enclosure
Disk enclosure

A disk enclosure is essentially a specialized chassis designed to hold and power disk drives while providing a mechanism to allow them to communicate to one or more separate computers....
, rather than inside a computer. The enclosure may be directly attached to a computer, or connected via SAN
Storage area network

A storage area network is an architecture to attach remote computer storage devices to Server s in such a way that the devices appear as Direct-attached storage to the operating system....
. The controller hardware handles the management of the drives, and performs any parity calculations required by the chosen RAID level.

Most hardware implementations provide a read/write cache
Cache

In computer science, a cache is a collection of data duplicating original values stored elsewhere or computed earlier, where the original data is expensive to fetch or to compute, compared to the cost of reading the cache....
, which, depending on the I/O workload, will improve performance. In most systems the write cache is non-volatile (i.e. battery-protected), so pending writes are not lost on a power failure.

Hardware implementations provide guaranteed performance, add no overhead to the local CPU complex and can support many operating systems, as the controller simply presents a logical disk
Logical disk

A logical disk is a device that provides an area of usable storage capacity on one or more physical disk drive components in a computer system. Other terms that are used to mean the same thing are disk partition, logical volume, and in some cases a virtual disk ....
 to the operating system.

Hardware implementations also typically support hot swapping, allowing failed drives to be replaced while the system is running.

Firmware/driver-based RAID


Operating system-based RAID cannot easily be used to protect the boot process and is generally impractical on desktop versions of Windows (as described above). Hardware RAID controllers are expensive. To fill this gap, cheap "RAID controllers" were introduced that do not contain a RAID controller chip, but simply a standard disk controller chip with special firmware and drivers. During early stage bootup the RAID is implemented by the firmware; when a protected-mode operating system kernel such as Linux
Linux

Linux is a generic term referring to Unix-like computer operating systems based on the Linux kernel. Their development is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed by anyone under the terms of the GNU GPL license...
 or a modern version of Microsoft Windows
Microsoft Windows

Microsoft Windows is a series of software operating systems and graphical user interfaces produced by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces ....
 is loaded the drivers take over.

These controllers are described by their manufacturers as RAID controllers, and it is rarely made clear to purchasers that the burden of RAID processing is borne by the host computer's central processing unit, not the RAID controller itself, thus introducing the aforementioned CPU overhead. Before their introduction, a "RAID controller" implied that the controller did the processing, and the new type has become known in technically knowledgeable circles as "fake RAID" even though the RAID itself is implemented correctly. Adaptec calls them "HostRAID".

Network-attached storage


While not directly associated with RAID, Network-attached storage
Network-attached storage

Network-attached storage is file-level computer data storage connected to a computer network providing data access to heterogeneous network clients....
 (NAS) is an enclosure containing disk drives and the equipment necessary to make them available over a computer network
Computer network

A computer network is a group of interconnected computers. Networks may be classified according to a wide variety of characteristics. This article provides a general overview of some types and categories and also presents the basic components of a network....
, usually Ethernet
Ethernet

Ethernet is a family of Data frame-based computer networking technologies for local area networks . The name comes from the physical concept of the Luminiferous aether....
. The enclosure is basically a dedicated computer in its own right, designed to operate over the network without screen or keyboard. It contains one or more disk drives; multiple drives may be configured as a RAID.

Hot spares

Both hardware and software RAIDs with redundancy may support the use of hot spare
Hot spare

A hot spare or hot standby is used as a failover mechanism to provide reliability in system configurations. The hot spare is active and connected as part of a working system....
 drives, a drive physically installed in the array which is inactive until an active drive fails, when the system automatically replaces the failed drive with the spare, rebuilding the array with the spare drive included. This reduces the mean time to recovery
Mean time to recovery

Mean time to recovery is the arithmetic mean time that a device will take to recover from any failure. Examples of such devices range from self-resetting fuses , up to whole systems which have to be repaired or replaced....
 (MTTR), though it doesn't eliminate it completely. A second drive failure in the same RAID redundancy group before the array is fully rebuilt will result in loss of the data; rebuilding can take several hours, especially on busy systems.

Rapid replacement of failed drives is important as the drives of an array will all have had the same amount of use, and may tend to fail at about the same time rather than randomly. RAID 6 without a spare uses the same number of drives as RAID 5 with a hot spare and protects data against simultaneous failure of up to two drives, but requires a more advanced RAID controller.

Reliability terms

Failure rate
Failure rate

Failure rate is the frequency with which an engineered system or component failure, expressed for example in failures per hour. It is often denoted by the Greek alphabet ? and is important in reliability theory....
: Failure rate is only meaningful if failure is defined. If a failure is defined as the loss of a single drive (logistical failure rate), the failure rate will be the sum of individual drives' failure rates. In this case the failure rate of the RAID will be larger than the failure rate of its constituent drives. On the other hand, if failure is defined as loss of data (system failure rate), then the failure rate of the RAID will be less than that of the constituent drives. How much less depends on the type of RAID.

Mean time to data loss (MTTDL): In this context, the average time before a loss of data in a given array.. Mean time to data loss of a given RAID may be higher or lower than that of its constituent hard drives, depending upon what type of RAID is employed. The referenced report assumes times to data loss are exponentially distributed. This means 63.2% of all data loss will occur between time 0 and the MTTDL.

Mean time to recovery
Mean time to recovery

Mean time to recovery is the arithmetic mean time that a device will take to recover from any failure. Examples of such devices range from self-resetting fuses , up to whole systems which have to be repaired or replaced....
 (MTTR): In arrays that include redundancy for reliability, this is the time following a failure to restore an array to its normal failure-tolerant mode of operation. This includes time to replace a failed disk mechanism as well as time to re-build the array (i.e. to replicate data for redundancy).

Unrecoverable bit error rate (UBE): This is the rate at which a disk drive will be unable to recover data after application of cyclic redundancy check (CRC) codes and multiple retries.

Write cache reliability: Some RAID systems use RAM
Ram

Ram, ram, or RAM as a non-acronymic wordAs a non-acronymic word Ram, ram, or RAM may refer to:...
 write cache to increase performance. A power failure can result in data loss unless this sort of disk buffer
Disk buffer

In computer storage, disk buffer is the embedded memory in a hard drive acting as a buffer between the computer and the physical hard disk platter that is used for storage....
 is supplemented with a battery to ensure that the buffer has enough time to write from RAM
Ram

Ram, ram, or RAM as a non-acronymic wordAs a non-acronymic word Ram, ram, or RAM may refer to:...
 back to disk.

Atomic write failure: Also known by various terms such as torn writes, torn pages, incomplete writes, interrupted writes, non-transactional, etc.

Problems with RAID


Correlated failures

The theory behind the error correction in RAID assumes that failures of drives are independent. Given these assumptions it is possible to calculate how often they can fail and to arrange the array to make data loss arbitrarily improbable.

In practice, the drives are often the same ages, with similar wear. Since many drive failures are due to mechanical issues which are more likely on older drives, this violates those assumptions and failures are in fact statistically correlated. In practice then, the chances of a second failure before the first has been recovered is not nearly as unlikely as might be supposed, and data loss can in practice occur at significant rates.

Most hard drives have a quoted service life of five years. However, users should be aware that drives are built to different levels of robustness, depending on their intended application. Enterprise-class fibre-channel and SAS drives are generally designed to withstand the heavy use in an array, but desktop-class drives are less robust and being used in an array could shorten their life significantly.

Atomicity

This is a little understood and rarely mentioned failure mode for redundant storage systems that do not utilize transactional features. Database researcher Jim Gray wrote "Update in Place is a Poison Apple" during the early days of relational database commercialization. However, this warning largely went unheeded and fell by the wayside upon the advent of RAID, which many software engineers mistook as solving all data storage integrity and reliability problems. Many software programs update a storage object "in-place"; that is, they write a new version of the object on to the same disk addresses as the old version of the object. While the software may also log some delta information elsewhere, it expects the storage to present "atomic write semantics," meaning that the write of the data either occurred in its entirety or did not occur at all.

However, very few storage systems provide support for atomic writes, and even fewer specify their rate of failure in providing this semantic. Note that during the act of writing an object, a RAID storage device will usually be writing all redundant copies of the object in parallel, although overlapped or staggered writes are more common when a single RAID processor is responsible for multiple drives. Hence an error that occurs during the process of writing may leave the redundant copies in different states, and furthermore may leave the copies in neither the old nor the new state. The little known failure mode is that delta logging relies on the original data being either in the old or the new state so as to enable backing out the logical change, yet few storage systems provide an atomic write semantic on a RAID disk.

While the battery-backed write cache may partially solve the problem, it is applicable only to a power failure scenario.

Since transactional support is not universally present in hardware RAID, many operating systems include transactional support to protect against data loss during an interrupted write. Novell Netware, starting with version 3.x, included a transaction tracking system. Microsoft introduced transaction tracking via the journaling
Journaling file system

A journaling file system is a file system that logs changes to a journal before committing them to the main file system. Such file systems are less likely to become corrupted in the event of power failure or system crash....
 feature in NTFS
NTFS

NTFS is the standard file system of Windows NT, including its later versions Windows 2000, Windows XP, Windows Server 2003, Windows Server 2008, Windows Vista, and Windows 7....
. NetApp WAFL
Write Anywhere File Layout

The Write Anywhere File Layout is a file system that supports large, high-performance Redundant array of independent disks arrays, quick restarts without lengthy consistency checks in the event of a crash or power failure, and growing the filesystem size quickly....
 file system solves it by never updating the data in place, as does ZFS
ZFS

In computing, ZFS is a file system designed by Sun Microsystems for the Solaris Operating System. The features of ZFS include support for high storage capacities, integration of the concepts of filesystem and volume , Snapshot and copy-on-write clones, continuous integrity checking and automatic repair, RAID-Z and native NFSv4 ACLs....
.

This can present as a sector read failure. Some RAID implementations protect against this failure mode by remapping the bad sector
Bad Sector

Bad Sector is an Ambient music/Noise music project formed in 1992 in Tuscany, Italy by Massimo Magrini. Magrini was working at the Computer Art Lab of ISTI in Pisa where he developed original gesture interfaces that he uses in live performances: Aerial Painting Hand ??a device that tracks the position of musician's hands in gloves of two di...
, using the redundant data to retrieve a good copy of the data, and rewriting that good data to the newly mapped replacement sector. The UBE (Unrecoverable Bit Error) rate is typically specified at 1 bit in 1015 for enterprise class disk drives (SCSI
SCSI

Small Computer System Interface, or SCSI , is a set of standards for physically connecting and transferring data between computers and peripheral devices....
, FC
Fibre Channel

Fibre Channel, or FC, is a gigabit-speed network technology primarily used for storage networking. Fibre Channel is standardized in the Technical Committee T11 of the InterNational Committee for Information Technology Standards , an American National Standards Institute ?accredited standards committee....
, SAS
Serial Attached SCSI

In computing, the data-transfer technology Serial Attached SCSI moves data to and from computer storage devices such as hard drives and tape drives....
) , and 1 bit in 1014 for desktop class disk drives (IDE/ATA/PATA, SATA). Increasing disk capacities and large RAID 5 redundancy groups have led to an increasing inability to successfully rebuild a RAID group after a disk failure because an unrecoverable sector is found on the remaining drives. Double protection schemes such as RAID 6 are attempting to address this issue, but suffer from a very high write penalty.

Write cache reliability

The disk system can acknowledge the write operation as soon as the data is in the cache, not waiting for the data to be physically written. However, any power outage can then mean a significant data loss of any data queued in such cache.

Often a battery is protecting the write cache, mostly solving the problem. If a write fails because of power failure, the controller may complete the pending writes as soon as restarted. This solution still has potential failure cases: the battery may have worn out, the power may be off for too long, the disks could be moved to another controller, the controller itself could fail. Some disk systems provide the capability of testing the battery periodically, however this leaves the system without a fully charged battery for several hours.

An additional concern about write cache reliability exists, specifically regarding devices equipped with a write-back cache—a caching system which reports the data as written as soon as it is written to cache, as opposed to the non-volatile medium. The safer cache technique is write-through, which reports transactions as written when they are written to the non-volatile medium.

Equipment compatibility

The disk formats on different RAID controllers are not necessarily compatible, so that it may not be possible to read a RAID on different hardware. Consequently a non-disk hardware failure may require using identical hardware, or a data backup, to recover the data. Software RAID however, such as implemented in the Linux kernel, alleviates this concern, as the setup is not hardware dependent, but runs on ordinary disk controllers. Additionally, Software RAID1 disks can be read like normal disks, so no RAID system is required to retrieve the data. Data recovery firms typically have a very hard time recovering data from RAID drives.

Other Problems and Viruses

While RAID may protect against drive failure, the data is still exposed to operator, software, hardware and virus destruction. Most well-designed systems include separate backup systems that hold copies of the data, but don't allow much interaction with it. Most copy the data and remove it from the computer for safe storage.

History

Norman Ken Ouchi at IBM was awarded a 1978 U.S. patent
United States patent law

United States patent law was established "to promote the Progress of Science and useful Arts, by securing for limited Times to Authors and Inventors the exclusive Right to their respective Writings and Discoveries;" as provided in the United States Constitution....
 4,092,732 titled "System for recovering data stored in failed memory unit." The claim
Claim (patent)

Patent claims are usually in the form of a series of specified elements and corresponding limitations, or more precisely noun phrases, following the description portion of the invention in a patent or patent application....
s for this patent describe what would later be termed RAID 5 with full stripe
Data striping

In computer data storage, data striping is the segmentation of logically sequential data, such as a single file, so that segments can be assigned to multiple physical devices in a round-robin fashion and thus written concurrently....
 writes. This 1978 patent also mentions that disk mirroring or duplexing (what would later be termed RAID 1) and protection with dedicated parity (that would later be termed RAID 4) were prior art
Prior art

Prior art , in most systems of patent law, constitutes all information that has been made available to the public in any form before a given date that might be relevant to a patent's claims of originality....
 at that time.

The term RAID was first defined by David A. Patterson, Garth A. Gibson
Garth A. Gibson

Garth Gibson is a Computer Scientist from Carnegie Mellon University. Born in Aurora, Ontario, he holds a Doctor of Philosophy and an MSc in Computer Science from the University of California, Berkeley and a B.Math in Computer Science from the University of Waterloo....
 and Randy Katz
Randy Katz

Dr. Randy Howard Katz is a distinguished professor at University of California, Berkeley of the electrical engineering and computer science Department....
 at the University of California, Berkeley
University of California, Berkeley

The University of California, Berkeley is a public university research university located in Berkeley, California, California, United States. The oldest of the ten major campuses affiliated with the University of California, Berkeley offers some 300 undergraduate and graduate degree programs in a wide range of disciplines....
 in 1987. They studied the possibility of using two or more drives to appear as a single device to the host system and published a paper: "A Case for Redundant Arrays of Inexpensive Disks (RAID)" in June 1988 at the SIGMOD
SIGMOD

SIGMOD is the Association for Computing Machinery's Special Interest Group on Management of Data, which specializes in large-scale data management problems and databases....
 conference.

This specification suggested a number of prototype RAID levels, or combinations of drives. Each had theoretical advantages and disadvantages. Over the years, different implementations of the RAID concept have appeared. Most differ substantially from the original idealized RAID levels, but the numbered names have remained. This can be confusing, since one implementation of RAID 5, for example, can differ substantially from another. RAID 3 and RAID 4 are often confused and even used interchangeably.

Their paper formally defined RAID levels 1 through 5 in sections 7 to 11:
  • First level RAID: mirrored drives
  • Second level RAID: Hamming code
    Hamming code

    In telecommunication, a Hamming code is a linear code error-correcting code named after its inventor, Richard Hamming. Hamming codes can detect up to two simultaneous bit errors, and correct single-bit errors; thus, reliable communication is possible when the Hamming distance between the transmitted and received bit patterns is less than or e...
     for error correction
  • Third level RAID: single check disk per group
  • Fourth level RAID: independent reads and writes
  • Fifth level RAID: spread data/parity over all drives (no single check disk)


See also

  • Disk Data Format
    Disk Data Format

    The Storage Networking Industry Association Common RAID Disk Data Format defines a standard data structure describing how data is formatted across disks in a RAID group....
     (DDF)
  • Disk array controller
    Disk array controller

    A disk array controller is a device which manages the physical disk drives and presents them to the computer as Logical Unit Number. It almost always implements RAID#Hardware RAID RAID, thus it is sometimes referred to as RAID controller....
  • Redundant Array of Inexpensive Nodes
    Redundant Array of Inexpensive Nodes

    Redundant/Reliable Array of Inexpensive/Independent Nodes is an open architecture approach to computer storage, that combines commodity or low-cost computing hardware with highly intelligent management software to surpass the reliability and availability qualities of the expensive high end storage systems....
  • Vinum volume manager
    Vinum volume manager

    Vinum, is a Logical volume management, also called Software Redundant array of independent disks, allowing implementations of the Redundant array of independent disks#RAID 0, Redundant array of independent disks#RAID 1 and Redundant array of independent disks#RAID 5 models, both individually and in combination....


Further reading


External links