RAID (; redundant array of inexpensive disks or redundant array of independent disks) is a data
storage virtualization
In computer science, storage virtualization is "the process of presenting a logical view of the physical storage resources to" a host computer system, "treating all storage media (hard disk, optical disk, tape, etc.) in the enterprise as a sing ...
technology that combines multiple physical
data storage
Data storage is the recording (storing) of information (data) in a storage medium. Handwriting, phonographic recording, magnetic tape, and optical discs are all examples of storage media. Biological molecules such as RNA and DNA are con ...
components into one or more logical units for the purposes of
data redundancy
In computer main memory, auxiliary storage and computer buses, data redundancy is the existence of data that is additional to the actual data and permits correction of errors in stored or transmitted data. The additional data can simply be a com ...
, performance improvement, or both. This is in contrast to the previous concept of highly reliable mainframe disk drives known as ''single large expensive disk'' (''SLED'').
Data is distributed across the drives in one of several ways, referred to as
RAID levels A RAID level is any of the possible configurations of a RAID disk array. ''RAID'' stands for ''redundant array of independent disks'' (or, formerly, ''redundant array of inexpensive disks'').
RAID levels may refer to:
* Standard RAID levels, all ...
, depending on the required level of redundancy and performance. The different schemes, or data distribution layouts, are named by the word "RAID" followed by a number, for example RAID 0 or RAID 1. Each scheme, or RAID level, provides a different balance among the key goals:
reliability
Reliability, reliable, or unreliable may refer to:
Science, technology, and mathematics Computing
* Data reliability (disambiguation), a property of some disk arrays in computer storage
* Reliability (computer networking), a category used to des ...
,
availability
In reliability engineering, the term availability has the following meanings:
* The degree to which a system, subsystem or equipment is in a specified operable and committable state at the start of a mission, when the mission is called for at ...
,
performance
A performance is an act or process of staging or presenting a play, concert, or other form of entertainment. It is also defined as the action or process of carrying out or accomplishing an action, task, or function.
Performance has evolved glo ...
, and capacity. RAID levels greater than RAID 0 provide protection against unrecoverable sector read errors, as well as against failures of whole physical drives.
University of California, Berkeley
The University of California, Berkeley (UC Berkeley, Berkeley, Cal, or California), is a Public university, public Land-grant university, land-grant research university in Berkeley, California, United States. Founded in 1868 and named after t ...
in 1987. In their June 1988 paper "A Case for Redundant Arrays of Inexpensive Disks (RAID)", presented at the
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.
The annual ACM SIGMOD Conference, which began in 1975, is considered one of ...
Conference, they argued that the top-performing
mainframe
A mainframe computer, informally called a mainframe or big iron, is a computer used primarily by large organizations for critical applications like bulk data processing for tasks such as censuses, industry and consumer statistics, enterpris ...
disk drives of the time could be beaten on performance by an array of the inexpensive drives that had been developed for the growing
personal computer
A personal computer, commonly referred to as PC or computer, is a computer designed for individual use. It is typically used for tasks such as Word processor, word processing, web browser, internet browsing, email, multimedia playback, and PC ...
market. Although failures would rise in proportion to the number of drives, by configuring for redundancy, the reliability of an array could far exceed that of any large single drive.
Although not yet using that terminology, the technologies of the five levels of RAID named in the June 1988 paper were used in various products prior to the paper's publication, including the following:
* Mirroring (RAID 1) was well established in the 1970s including, for example,
Tandem
Tandem, or in tandem, is an arrangement in which two or more animals, machines, or people are lined up one behind another, all facing in the same direction. ''Tandem'' can also be used more generally to refer to any group of persons or objects w ...
IBM
International Business Machines Corporation (using the trademark IBM), nicknamed Big Blue, is an American Multinational corporation, multinational technology company headquartered in Armonk, New York, and present in over 175 countries. It is ...
filed a patent disclosing what was subsequently named RAID 4.
* Around 1983, DEC began shipping subsystem mirrored RA8X disk drives (now known as RAID 1) as part of its HSC50 subsystem.
* In 1986, Clark et al. at IBM filed a patent disclosing what was subsequently named RAID 5.
* Around 1988, the Thinking Machines'
DataVault
The DataVault was Thinking Machines' mass storage system, storing 5 GB of data, expandable to 10 GB with transfer rates of 40 MB/s. Eight DataVaults could be operated in parallel for a combined data transfer rate of 320 MB/s for up to 80 GB of da ...
used error correction codes (now known as RAID 2) in an array of disk drives. A similar approach was used in the early 1960s on the
IBM 353
IBM manufactured magnetic disk storage devices from 1956 to 2003, when it sold its hard disk drive business to Hitachi. Both the hard disk drive (HDD) and floppy disk drive (FDD) were invented by IBM and as such IBM's employees were responsible for ...
.
Industry manufacturers later redefined the RAID acronym to stand for "redundant array of ''independent'' disks"."Originally referred to as Redundant Array of Inexpensive Disks, the term RAID was first published in the late 1980s by Patterson, Gibson, and Katz of the University of California at Berkeley. (The RAID Advisory Board has since substituted the term Inexpensive with Independent.)" Storage Area Network Fundamentals; Meeta Gupta; Cisco Press; ; Appendix A.
Overview
Many RAID levels employ an error protection scheme called " parity", a widely used method in information technology to provide
fault tolerance
Fault tolerance is the ability of a system to maintain proper operation despite failures or faults in one or more of its components. This capability is essential for high-availability, mission-critical, or even life-critical systems.
Fault t ...
in a given set of data. Most use simple
XOR
Exclusive or, exclusive disjunction, exclusive alternation, logical non-equivalence, or logical inequality is a logical operator whose negation is the logical biconditional. With two inputs, XOR is true if and only if the inputs differ (one ...
, but RAID 6 uses two separate parities based respectively on addition and multiplication in a particular
Galois field
In mathematics, a finite field or Galois field (so-named in honor of Évariste Galois) is a field that contains a finite number of elements. As with any field, a finite field is a set on which the operations of multiplication, addition, subtr ...
or
Reed–Solomon error correction
In information theory and coding theory, Reed–Solomon codes are a group of error-correcting codes that were introduced by Irving S. Reed and Gustave Solomon in 1960.
They have many applications, including consumer technologies such as MiniDiscs, ...
.
RAID can also provide data security with
solid-state drive
A solid-state drive (SSD) is a type of solid-state storage device that uses integrated circuits to store data persistently. It is sometimes called semiconductor storage device, solid-state device, or solid-state disk.
SSDs rely on non- ...
s (SSDs) without the expense of an all-SSD system. For example, a fast SSD can be mirrored with a mechanical drive. For this configuration to provide a significant speed advantage, an appropriate controller is needed that uses the fast SSD for all read operations.
Adaptec
Adaptec, Inc., was a computer storage company and remains a brand for computer storage products. The company was an independent firm from 1981 to 2010, at which point it was acquired by PMC-Sierra, which itself was later acquired by Microsemi, ...
calls this "hybrid RAID".
Standard levels
Originally, there were five standard levels of RAID, but many variations have evolved, including several nested levels and many non-standard levels (mostly
proprietary
{{Short pages monitor
A system crash or other interruption of a write operation can result in states where the parity is inconsistent with the data due to non-atomicity of the write process, such that the parity cannot be used for recovery in the case of a disk failure. This is commonly termed the ''write hole'' which is a known data corruption issue in older and low-end RAIDs, caused by interrupted destaging of writes to disk. The write hole can be addressed in a few ways:
*
Write-ahead logging
In computer science, write-ahead logging (WAL) is a family of techniques for providing atomicity and durability (two of the ACID properties) in database systems.
A write ahead log is an append-only auxiliary disk-resident structure used for cras ...
.
** Hardware RAID systems use an onboard nonvolatile cache for this purpose.
** mdadm can use a dedicated journaling device (to avoid performance penalty, typically,
SSD
A solid-state drive (SSD) is a type of solid-state storage device that uses Integrated circuit, integrated circuits to store data persistence (computer science), persistently. It is sometimes called semiconductor storage device, solid-stat ...
s and NVMs are preferred) for this purpose.
* Write intent logging.
mdadm
mdadm is a Linux utility used to manage and monitor software RAID devices. It is used in modern Linux distributions in place of older software RAID utilities such as raidtools2 or raidtools.
mdadm is free software originally maintained by, and ...
uses a "write-intent-bitmap". If it finds any location marked as incompletely written at startup, it resyncs them. It closes the write hole but does not protect against loss of in-transit data, unlike a full WAL.
* Partial parity.
mdadm
mdadm is a Linux utility used to manage and monitor software RAID devices. It is used in modern Linux distributions in place of older software RAID utilities such as raidtools2 or raidtools.
mdadm is free software originally maintained by, and ...
can save a "partial parity" that, when combined with modified chunks, recovers the original parity. This closes the write hole, but again does not protect against loss of in-transit data.
* Dynamic stripe size. RAID-Z ensures that each block is its own stripe, so every block is complete. Copy-on-write (
COW
Cattle (''Bos taurus'') are large, domesticated, bovid ungulates widely kept as livestock. They are prominent modern members of the subfamily Bovinae and the most widespread species of the genus '' Bos''. Mature female cattle are called co ...
) transactional semantics guard metadata associated with stripes. The downside is IO fragmentation.
* Avoiding overwriting used stripes.
bcachefs
Bcachefs is a copy-on-write (COW) file system for Linux-based operating systems. Its primary developer, Kent Overstreet, first announced it in 2015, and it was added to the Linux kernel beginning with 6.7. It is intended to compete with the moder ...
, which uses a copying garbage collector, chooses this option. COW again protect references to striped data.
Write hole 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.
Write-cache reliability
There are concerns about write-cache reliability, specifically regarding devices equipped with a write-back cache, which is a caching system that reports the data as written as soon as it is written to cache, as opposed to when it is written to the non-volatile medium. If the system experiences a power loss or other major failure, the data may be irrevocably lost from the cache before reaching the non-volatile storage. For this reason good write-back cache implementations include mechanisms, such as redundant battery power, to preserve cache contents across system failures (including power failures) and to flush the cache at system restart time.
Network-attached storage
Network-attached storage (NAS) is a file-level computer data storage server connected to a computer network providing data access to a Heterogeneous computing, heterogeneous group of clients. In this context, the term "NAS" can refer to both th ...
(NAS)
*
Non-RAID drive architectures
The most widespread standard for configuring multiple hard disk drives is RAID (redundant array of inexpensive/independent disks), which comes in a number of standard configurations and non-standard configurations. Non-RAID drive architectures a ...
*
Redundant array of independent memory
A redundant array of independent memory (RAIM) is a design feature found in certain computers' main random access memory. RAIM utilizes additional memory modules and striping algorithms to protect against the failure of any particular module and ...
*
Self-Monitoring, Analysis and Reporting Technology
Self-Monitoring, Analysis, and Reporting Technology (backronym S.M.A.R.T. or SMART) is a monitoring system included in computer hard disk drives (HDDs) and solid-state drives (SSDs). Its primary function is to detect and report various indicators ...