Non-standard RAID levels
Encyclopedia
Although all RAID
RAID
RAID is a storage technology that combines multiple disk drive components into a logical unit...

 implementations differ from the specification to some extent, some companies have developed non-standard RAID implementations that differ substantially from the standard. Non-RAID drive architectures
Non-RAID drive architectures
The most widespread standard for configuring multiple hard drives is RAID , which comes in a number of standard configurations and non-standard configurations...

—configurations of multiple hard drives are not referred to by RAID acronyms.

Double parity

Now part of RAID 6, double parity, sometimes known as row diagonal parity, like traditional RAID 6, features two sets of parity checks. Differently, the second set is not another set of points in the over-defined polynomial
Polynomial
In mathematics, a polynomial is an expression of finite length constructed from variables and constants, using only the operations of addition, subtraction, multiplication, and non-negative integer exponents...

 which characterizes the data. Rather, double parity calculates the extra parity against a different group of blocks. For example, in our graph both RAID 5 and RAID 6 consider all A-labeled blocks to produce one or more parity blocks. However, it is fairly easy to calculate parity against multiple groups of blocks, one can calculate all A blocks and a permuted group of blocks.

This is more easily illustrated using RAID 4, Twin Syndrome RAID 4 (RAID 6 with a RAID 4 layout), and double parity RAID 4.


Traditional Twin Syndrome Double parity
RAID 4 RAID 4 RAID 4
A1 A2 A3 Ap A1 A2 A3 Ap Aq A1 A2 A3 Ap 1n
B1 B2 B3 Bp B1 B2 B3 Bp Bq B1 B2 B3 Bp 2n
C1 C2 C3 Cp C1 C2 C3 Cp Cq C1 C2 C3 Cp 3n
D1 D2 D3 Dp D1 D2 D3 Dp Dq D1 D2 D3 Dp 4n

Note: A1, B1, et cetera each represent one data block; each column represents one disk.


The n blocks are the double parity blocks. Block 2n is A2 xor B3 xor Cp, while 3n is A3 xor Bp xor C1 and 1n would be calculated as A1 xor B2 xor C3. Because the double parity blocks are correctly distributed it is possible to reconstruct two lost disks through iterative recovery. For example, B2 could be recovered without the use of any x1 or x2 blocks as B3 xor Cp xor 2n = A2, and then A1 can be recovered by A2 xor A3 xor Ap. Finally, B2 = A1 xor C3 xor 1n.

Running in degraded mode with double parity increases risk of data loss.

RAID-DP

RAID-DP implements double parity within RAID 6. The performance penalty of RAID-DP is typically under 2% vs a comparable RAID 4. File system requests are first written to the battery–backed NVRAM
NVRAM
Non-volatile random-access memory is random-access memory that retains its information when power is turned off, which is described technically as being non-volatile...

 to prevent data loss should the system lose power. Blocks are not updated in place. Writes are aggregated and the storage controller tries to write only complete stripes including both parity blocks. RAID-DP provides better protection and equal or better performance than RAID 10, and in most cases doesn't suffer from traditional RAID 6 challenges of in-place block updating and spreads reads and writes over more disks when compared to a RAID 6 group of same size.

RAID 1.5

RAID 1.5 is a proprietary RAID and is sometimes incorrectly called RAID 15. RAID 1.5 performs data striping
Data striping
In computer data storage, data striping is the technique of segmenting logically sequential data, such as a file, in a way that accesses of sequential segments are made to different physical storage devices. Striping is useful when a processing device requests access to data more quickly than a...

 and mirroring using two hard drives. Data are read from both disks simultaneously and most of the work is done in hardware instead of the driver.

Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

's and Solaris's RAID 1 implementations read from both disks simultaneously, so RAID 1.5 offers no other benefit.

RAID 5E, RAID 5EE and RAID 6E

RAID 5E, RAID 5EE and RAID 6E (with the added E standing for Enhanced) generally refer to variants of RAID 5 or RAID 6 with an integrated 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. When a key component fails, the hot spare is switched into operation...

 drive, where the spare drive is an active part of the block rotation scheme. This spreads I/O across all drives, including the spare, thus reducing the load on each drive, increasing performance. It does, however, prevent sharing the spare drive among multiple arrays, which is occasionally desirable.

These systems do not dedicate one drive as the "spare drive", just as RAID 5 or RAID 6 do not dedicate one drive as the "parity drive". Instead, spare blocks are distributed across all drives, so that in a 10-disk RAID 5E with one "spare", every disk is 80% data, 10% parity, and 10% spare. The spare blocks in RAID 5E and RAID 6E are at the end of the array, while in RAID 5EE the spare blocks are integrated into the array. RAID 5EE can sustain a single drive failure. RAID 5EE requires at least four disks and can expand to 16 disks. A drive failure in a RAID 5E/5EE array compresses the array and re-stripes it into a standard RAID 5 array. This process can be very I/O intensive and may take hours or days depending on the speed, size and number of drives. Only after compression can the system prevent data loss given a second drive failure. Replacing the failed drive after compression permits restructuring into a RAID 5E/5EE array. The length of time and intense I/O of both compression and decompression creates a practical limit of 4 to 8 drives. The performance boost diminishes after 8 drives.

Parity RAID

Parity RAID is EMC Corporation
EMC Corporation
EMC Corporation , a Financial Times Global 500, Fortune 500 and S&P 500 company, develops, delivers and supports information infrastructure and virtual infrastructure hardware, software, and services. EMC is headquartered in Hopkinton, Massachusetts, USA.Former Intel executive Richard Egan and his...

's proprietary striped parity RAID system used in their Symmetrix
Symmetrix
The Symmetrix system is EMC Corporation's flagship enterprise storage array. The Symmetrix development has been led by Moshe Yanai, who joined EMC in 1987, until shortly before his leaving EMC in 2001. There have been many generations of Symmetrix hardware, with the first appearing in 1990 and the...

 storage systems. The system places each volume on a single physical disk, and arbitrarily combines multiple volumes for parity purposes. EMC originally referred to this capability as RAID S, and then renamed it Parity RAID for the Symmetrix DMX platform. EMC now offers standard striped RAID 5 on the Symmetrix DMX as well.

Traditional EMC
RAID 5 RAID S
A1 A2 A3 Ap A1 B1 C1 1p
B1 B2 Bp B3 A2 B2 C2 2p
C1 Cp C2 C3 A3 B3 C3 3p
Dp D1 D2 D3 A4 B4 C4 4p

Note: A1, B1, et cetera each represent one data block; each column represents one disk.
A, B, et cetera are entire volumes.

Intel Rapid Storage Technology

Intel Rapid Storage Technology (formerly called Intel Matrix RAID) is a feature (not a RAID level) present in the ICH6R and subsequent Southbridge chipsets from Intel, accessible via the RAID BIOS
BIOS
In IBM PC compatible computers, the basic input/output system , also known as the System BIOS or ROM BIOS , is a de facto standard defining a firmware interface....

. Matrix RAID supports as few as two physical disks or as many as the controller supports. The distinguishing feature of Matrix RAID is that it allows any assortment of RAID 0, 1, 5, and/or 10 volumes in the array, to which a controllable (and identical) portion of each disk is allocated. As such, a Matrix RAID array can improve both performance and data integrity. A practical instance of this would use a small RAID 0 (stripe) for the operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

, program and paging files; and a larger RAID 1 (mirror) to store critical data. Linux MD RAID is also capable of this.



Linux MD RAID 10

The Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

 kernel
Kernel
-Computer science:* Kernel , the central component of most operating systems** The Linux kernel, from GNU/Linux operating systems** The Windows 9x kernel, used in Windows 95, 98 and ME...

 software RAID driver (called md, for "multiple device") can be used to build a classic RAID 1+0 array, but also as a single level with some interesting extensions.

The standard "near" layout, where each chunk is repeated n times in a k-way stripe array, is equivalent to the standard RAID 10 arrangement, but it does not require that n evenly divide k. For example an n2 layout on 2, 3 and 4 drives would look like:

2 drives 3 drives 4 drives
-------- ---------- --------------
A1 A1 A1 A1 A2 A1 A1 A2 A2
A2 A2 A2 A3 A3 A3 A3 A4 A4
A3 A3 A4 A4 A5 A5 A5 A6 A6
A4 A4 A5 A6 A6 A7 A7 A8 A8
.. .. .. .. .. .. .. .. ..

The 4-drive example is identical to a standard RAID-1+0 array, while the 3-drive example is a software implementation of RAID-1E. The 2-drive example is equivalent to RAID 1.

The driver also supports a "far" layout where all the drives are divided into f sections. All the chunks are repeated in each section but offset by one device. For example, f2 layouts on 2-, 3-, and 4-drive arrays would look like:

2 drives 3 drives 4 drives
-------- -------------- --------------------
A1 A2 A1 A2 A3 A1 A2 A3 A4
A3 A4 A4 A5 A6 A5 A6 A7 A8
A5 A6 A7 A8 A9 A9 A10 A11 A12
.. .. .. .. .. .. .. .. ..
A2 A1 A3 A1 A2 A4 A1 A2 A3
A4 A3 A6 A4 A5 A8 A5 A6 A7
A6 A5 A9 A7 A8 A12 A9 A10 A11
.. .. .. .. .. .. .. .. ..

This is designed for striping performance of a mirrored array; sequential reads can be striped, as in RAID-0, random reads are somewhat faster (maybe 10-20 % due to using the faster outer disk sectors, and smaller average seek times), and sequential and random writes offer about equal performance to other mirrored raids. The layout performs well for systems where reads are more frequent than writes, which is common. The first 1/f of each drive is a standard RAID-0 array. This offers striping performance on a mirrored set of only 2 drives.

The near and far options can be used together. The chunks in each section are offset by n device(s). For example n2 f2 layout stores 2×2 = 4 copies of each sector, so requires at least 4 drives:

A1 A1 A2 A2 A1 A1 A2 A2 A3
A3 A3 A4 A4 A3 A4 A4 A5 A5
A5 A5 A6 A6 A6 A6 A7 A7 A8
A7 A7 A8 A8 A8 A9 A9 A10 A10
.. .. .. .. .. .. .. .. ..
A2 A2 A1 A1 A2 A3 A1 A1 A2
A4 A4 A3 A3 A5 A5 A3 A4 A4
A6 A6 A5 A5 A7 A8 A6 A6 A7
A8 A8 A7 A7 A10 A10 A8 A9 A9
.. .. .. .. .. .. .. .. ..

The driver also supports an offset layout where each stripe is repeated o times. For example, o2 layouts on 2-, 3-, and 4-drive arrays are laid out as:

2 drives 3 drives 4 drives
-------- ------------ -----------------
A1 A2 A1 A2 A3 A1 A2 A3 A4
A2 A1 A3 A1 A2 A4 A1 A2 A3
A3 A4 A4 A5 A6 A5 A6 A7 A8
A4 A3 A6 A4 A5 A8 A5 A6 A7
A5 A6 A7 A8 A9 A9 A10 A11 A12
A6 A5 A9 A7 A8 A12 A9 A10 A11
.. .. .. .. .. .. .. .. ..

Note: k is the number of drives, n#, f# and o# are parameters in the mdadm --layout option.

Linux can also create 0, 1, 4, 5, 6 standard RAID configurations using md.

RAID 1E

RAID 1E uses 2-way mirroring on an arbitrary number of drives.

For example, mirroring on 5 drives would look like

A1 A2 A3 A4 A5
A5 A1 A2 A3 A4
B1 B2 B3 B4 B5
B5 B1 B2 B3 B4

This configuration is tolerant of non-adjacent drives failing.



RAID-Z

RAID-Z is not actually a kind of RAID, but a higher-level software solution that implements an integrated redundancy scheme similar to RAID 5, using ZFS
ZFS
In computing, ZFS is a combined file system and logical volume manager designed by Sun Microsystems. The features of ZFS include data integrity verification against data corruption modes , support for high storage capacities, integration of the concepts of filesystem and volume management,...

. RAID-Z avoids the RAID 5 "write hole" using copy-on-write
Copy-on-write
Copy-on-write is an optimization strategy used in computer programming. The fundamental idea is that if multiple callers ask for resources which are initially indistinguishable, they can all be given pointers to the same resource...

: rather than overwriting data, it writes to a new location and then atomically overwrites the pointer to the old data. It avoids the need for read-modify-write operations for small writes by only ever performing full-stripe writes. Small blocks are mirrored instead of parity protected, which is possible because the file system is aware of the underlying storage structure and can allocate extra space if necessary. RAID-Z2 doubles the parity structure to achieve results similar to RAID 6: the ability to sustain up to two drive failures without losing data.

Tahoe Distributed File System

The Tahoe Least-Authority Filesystem is an open source, secure, decentralized, fault-tolerant, peer-to-peer filesystem.

Drive Extender

Windows Home Server
Windows Home Server
Windows Home Server, code-named Quattro, is a home server operating system from Microsoft. Announced on 7 January 2007, at the Consumer Electronics Show by Bill Gates, Windows Home Server is intended to be a solution for homes with multiple connected PCs to offer file sharing, automated backups,...

 Drive Extender is a specialized case of JBOD RAID 1 implemented at the file system
File system
A file system is a means to organize data expected to be retained after a program terminates by providing procedures to store, retrieve and update data, as well as manage the available space on the device which contain it. A file system organizes data in an efficient manner and is tuned to the...

 level. When a file is to be duplicated, a pointer called a tombstone is created on the main storage drive's 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....

 partition that points to data residing on other disk(s). When the system is idle, the OS re-balances the storage to provide redundancy while maximizing storage capacity. Although not as robust as true RAID, it provides many of RAID's benefits, including a single hierarchical view of the file system regardless of physical disk location, the ability to swap failed disks without losing redundant data, and seamless background data duplication on the replacement disk.

It is also possible to limit data duplication on a per-share basis. Drive Extender can store files on different disks and use tombstones to point to them, providing faster read access when the end-user requests files located on different disks, similar to RAID 0's speed benefit.

However, Microsoft has announced that Drive Extender will no longer be included as part of Windows Home Server
Windows Home Server
Windows Home Server, code-named Quattro, is a home server operating system from Microsoft. Announced on 7 January 2007, at the Consumer Electronics Show by Bill Gates, Windows Home Server is intended to be a solution for homes with multiple connected PCs to offer file sharing, automated backups,...

 Version 2, Windows Home Server 2011 (codename VAIL). As a result there has been a third-party vendor move to fill the void left by DE. Included competitors are Division M, the developers of Drive Bender, DriveHarnony from DataCore, and StableBit's DrivePool.

BeyondRAID

BeyondRAID is not a true RAID extension, but consolidates up to 10 SATA hard drives into one pool of storage. It has the advantage of supporting multiple disk sizes at once, much like JBOD, while providing redundancy for all disks and allowing a hot-swap upgrade at any time. Internally it uses a mix of techniques similar to RAID 1 and RAID 5. Depending on the fraction of data in relation to capacity, it can survive up to three drive failures, if the "array" can be restored onto the remaining good disks before another drive fails. The amount of usable storage can be approximated by summing the capacities of the disks and subtracting the capacity of the largest disk. For example, if a 500, 400, 200, and 100 GB drive were installed, the approximate usable capacity would be 500+400+200+100+(-500)=700 GB of usable space. Internally the data would be distributed in two RAID 5-like arrays and one RAID 1-like set:


Drives
| 100 GB | 200 GB | 400 GB | 500 GB |

----------
| x | unusable space (100 GB)
----------
-------------------
| A1 | A1 | RAID 1 set (2× 100 GB)
-------------------
-------------------
| B1 | B1 | RAID 1 set (2× 100 GB)
-------------------
----------------------------
| C1 | C2 | Cp | RAID 5 array (3× 100 GB)
----------------------------
-------------------------------------
| D1 | D2 | D3 | Dp | RAID 5 array (4× 100 GB)
-------------------------------------


BeyondRaid offers a RAID 6–like feature and can perform hash-based compression using 160-bit SHA1 hashes to maximize storage efficiency.

UnRAID

UnRAID is best compared with RAID 3/RAID 4, without striping. Data drives are kept in normal reiserfs
ReiserFS
ReiserFS is a general-purpose, journaled computer file system designed and implemented by a team at Namesys led by Hans Reiser. ReiserFS is currently supported on Linux . Introduced in version 2.4.1 of the Linux kernel, it was the first journaling file system to be included in the standard kernel...

 format, but a 'smart' parity drive emulates the function that striping plays in RAID3 and RAID4 with a specialized data structure. Pointers on the parity drive combine files on the various drives into virtual stripes which then get parity data. Read checksum are checked against the parity checksum (and reconstructed if incorrect.) Writes create new parity information.
The main advantages to this approach are: data drives are readable and writeable on any system, separated from their array—the system can fail without harming the array; different-sized drives can be combined; partial recovery is possible if the number of failures exceeds the number of parity disks (usually one).

Based on distributed, unsupported GPL source code, UnRAID is suited to cheap, simple, expandable archival storage, similar to the more extreme write-once, read occasionally
Maid
A maidservant or in current usage housemaid or maid is a female employed in domestic service.-Description:Once part of an elaborate hierarchy in great houses, today a single maid may be the only domestic worker that upper and even middle-income households can afford, as was historically the case...

use case.

Disadvantages include slower write performance than a single disk, filesystem overhead (additional checksums are required to avoid querying the other disks to check the data disks in use), scaling problems, bottlenecking when multiple drives are written concurrently. UnRaid allows support of a cache drive (Plus and Pro versions) which dramatically speeds up the write performance. The data is temporarily unprotected until UnRaid automatically moves it to the array based on a schedule set within the software. The parity drive must be at least as large as the largest data drive to provide protection. UnRAID is implemented as an add-on to the Linux MD layer.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK