すべてのRAID実装は仕様からある程度異なっているものの、一部の企業やオープンソースプロジェクトは、標準とは大きく異なる非標準のRAID実装を開発している。さらに、 RAIDの略語で呼ばれない、複数のハードドライブの構成を提供する非RAIDドライブアーキテクチャも存在する。
行対角パリティ(RDP)は、 RAID 4のようにパリティ専用ディスクの 1 つが水平方向の「行」に配置され、もう 1 つの専用パリティは RAID 5 のようにブロックが順列(「対角」)に配置される方式です。パリティ自体は、完全に専用のディスク上に配置することも(ダブル RAID 4 のように)、分散配置することもできます(RAID 5 のように)。[ 1 ]
RDP はNetAppによって発明され、 RAID-DP (RAID Double Parity)と呼ばれる特殊なパリティ ストレージ システムでも使用されています。「行」パリティは RAID 4 と同様に専用ディスクに保存されますが、「対角」パリティは RAID 5 と同様に分散して保存されます。[ 2 ] [ 3 ]この技術は、広義の SNIA 定義では RAID 6 とみなすことができ、RAID 6 と同じ障害特性を持っています。[ 4 ]
RDP は、以前の方式 (Anvin の最適化の有無にかかわらず Reed-Solomon、EVENODD) と比較して、非常に CPU 効率が良い。[ 1 ] RAID-DP のパフォーマンス低下は、同様の RAID 4 構成と比較した場合、通常 2% 未満である 。[ 5 ]
RAID 7.mは、m 個の追加ドライブを備え、 m 個のドライブの損失に耐えることができるイレイジャーコーディングシステムを表すために使用されています。この方式では、RAID 5 は RAID 7.1 に、RAID 6 は RAID 7.2 になります。[ 6 ]あるいは、RAID N+M は、M 個の冗長ドライブを備えた N 個の通常のデータドライブを指し、M 個のドライブのいずれかが故障してもすべてのデータを復旧できます。[ 7 ]
パリティ関数をより慎重に選択することで、はるかに多くのドライブをサポートすることが可能です。私たちが直面する問題は、有限体上の方程式系がこの問題には一意解が存在する。そのためには、有限体上の多項式方程式の理論を用いることができる。
ガロア体について考えてみようとこの体は多項式体と同型である。適切な既約多項式の場合学位以上データ要素を表現します多項式としてガロア体において。これは、ハードドライブ全体にわたるデータストライプを、この方法でフィールド要素としてエンコードしたものに対応します。フィールドでの加算を表すために、連結は乗算を表すために使用します。これは意図的なものです。有限体における加算はこれはXOR演算子を表すので、2つの要素の合計を計算することは、多項式の係数に対してXORを計算することと同等です。
体の生成子とは、以下の条件を満たす体の要素である。非負ごとに異なりますこれは、値を除くフィールドの各要素を意味します。は、のべき乗として表すことができる有限体には必ず少なくとも1つの生成元が存在する。そのような生成元を1つ選びなさい。、そして定義するそして次のように:
前と同様に、最初のチェックサムこれは各ストライプのXORに過ぎませんが、現在は多項式として解釈されます。これは、データチャンクに対する慎重に選択された線形フィードバックシフトレジスタの動作と考えることができる。 [ 8 ] 簡略化された例のビットシフトとは異なり、エンコードが繰り返される前の回数、演算子を適用複数回で確実に生産されます独自の可逆関数により、チャンク長が 最大でデータ片。
データチャンクが1つ失われた場合、状況は前と同様です。データチャンクが2つ失われた場合は、復元式を代数的に計算できます。そして失われた値は次に、他の値を使用して定数を見つけるそして:
解くことができます2番目の式に代入して、1番目の式に代入して 、 その後。
Pとは異なり、 Qの計算は多項式の乗算を含むため、比較的CPU負荷が高い。これはハードウェア実装(ASICまたはFPGA)によって軽減できます。
あるいは、アンビンによる巧妙な多項式の選択により、CPU上での高速計算が可能になる。、この構成により、GF(2 8 )における加算と 2 倍の乗算のみを使用して効率的に実装することが可能になり、SSSE3、AVX2、またはその他の SIMD メソッドを使用して効率的に実装できる可能性が開かれます。同様に、次のように定義できます。または。
残念ながら、AnvinのVandermonde行列解法は三重パリティまでしか機能しません。それ以上の場合は、コーシー行列の構成が必要です。SSSE3、AVX2、およびその他のSIMD法は引き続き適用可能です。[ 9 ]
RAID 5E、RAID 5EE、およびRAID 6E(EはEnhancedの略)は、一般的にRAID 5または6の派生版で、ホットスペアドライブが統合されており、スペアドライブがブロックローテーションスキームのアクティブな部分となっています。これにより、スペアを含むすべてのドライブにI/Oが分散され、各ドライブの負荷が軽減され、パフォーマンスが向上します。ただし、複数のアレイ間でスペアドライブを共有することはできなくなりますが、これは場合によっては望ましいことです。[ 10 ]

Intel Matrix RAID ( Intel Rapid Storage Technologyの機能) は、Intel のICH6Rおよびそれ以降の Southbridge チップセットに搭載されている機能 (RAID レベルではありません) であり、RAID BIOSセットアップ ユーティリティを介してアクセスおよび構成できます。Matrix RAID は、最小 2 台の物理ディスクからコントローラがサポートする最大数のディスクまでサポートします。Matrix RAID の特徴は、RAID 0、1、5、または 10 ボリュームをアレイ内で自由に組み合わせることができ、各ディスクの制御可能な (かつ同一の) 部分を割り当てることができる点です。[ 11 ] [ 12 ] [ 13 ]
そのため、マトリックスRAIDアレイはパフォーマンスとデータ整合性の両方を向上させることができます。実際の例としては、オペレーティングシステム、プログラム、ページングファイル 用に小さなRAID 0(ストライプ)ボリュームを使用し、重要なデータを格納するために2番目のより大きなRAID 1(ミラー)ボリュームを使用します。Linux MD RAIDもこれに対応しています。[ 11 ] [ 12 ] [ 13 ]
Linuxカーネルが提供するソフトウェアRAIDサブシステムであるmdは、従来の(ネストされた)RAID 1+0アレイと、いくつかの追加機能を備えたシングルレベルRAIDレイアウトを使用する非標準RAIDアレイの両方の作成をサポートしています。 [ 14 ] [ 15 ]
標準的な「ニア」レイアウトは、各チャンクがkウェイ ストライプ アレイでn回繰り返されるもので、標準的な RAID 10 構成と同等ですが、 n がkを割り切る必要はありません。たとえば、2 台、3 台、4 台のドライブでのn 2 レイアウトは次のようになります。 [ 16 ] [ 17 ]
2ドライブ 3ドライブ 4ドライブ -------- ---------- -------------- A1 A1 A1 A1 A2 A1 A1 A1 A2 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 .. .. .. .. .. .. .. .. ..
4台のドライブの例は標準的なRAID 1+0アレイと同一であり、3台のドライブの例はRAID 1Eのソフトウェア実装である。2台のドライブの例はRAID 1に相当する。 [ 17 ]
ドライバは、すべてのドライブがfセクションに分割される「far」レイアウトもサポートしています。すべてのチャンクは各セクションで繰り返されますが、グループ (たとえば、ペア) で切り替えられます。たとえば、2 台、3 台、4 台のドライブアレイ上のf 2 レイアウトは次のようになります。 [ 16 ] [ 17 ]
2ドライブ 3ドライブ 4ドライブ -------- ------------ ------------------ 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 A2 A1 A4 A3 A4 A3 A6 A4 A5 A6 A5 A8 A7 A6 A5 A9 A7 A8 A10 A9 A12 A11 .. .. .. .. .. .. .. .. ..
「Far」レイアウトは、ミラーリングされたアレイでストライピング性能を提供するように設計されています。RAID 0 構成と同様に、シーケンシャル読み取りをストライピングできます。[ 18 ]ランダム読み取りはやや高速ですが、シーケンシャル書き込みとランダム書き込みは、他のミラーリング RAID 構成とほぼ同等の速度を提供します。「Far」レイアウトは、書き込みよりも読み取りの頻度が高いシステムで優れたパフォーマンスを発揮します。これは一般的なケースです。比較のために、Linux ソフトウェア RAID が提供する通常の RAID 1 では、読み取りはストライピングされませんが、読み取りを並列実行できます。[ 19 ]
mdドライバは「オフセット」レイアウトもサポートしており、各ストライプはo回繰り返され、f(遠方)デバイス分オフセットされます。たとえば、2、3、4ドライブアレイ上のo 2レイアウトは次のようにレイアウトされます。 [ 16 ] [ 17 ]
2ドライブ 3ドライブ 4ドライブ -------- ---------- --------------- 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 .. .. .. .. .. .. .. .. ..
「近い」レイアウトと「オフセット」レイアウトを組み合わせることも可能です(ただし、「遠い」レイアウトと「オフセット」レイアウトは組み合わせられません)。[ 17 ]
上記の例では、kはドライブの数であり、n#、f#、およびo#はパラメータとして与えられます。mdadmの--レイアウトオプション。LinuxソフトウェアRAID(LinuxカーネルのRAID)医師 ドライバ)は、標準的な RAID 0、1、4、5、および 6 構成の作成もサポートしています。 [ 20 ] [ 21 ]

RAID 1 の実装の中には、2 つ以上のディスクを持つアレイを異なる方法で処理し、 RAID 1Eと呼ばれる非標準の RAID レベルを作成するものがあります。この構成では、データ ストライピングとミラーリングが組み合わされており、書き込まれた各ストライプをアレイ内の残りのディスクのいずれかにミラーリングします。RAID 1E アレイの使用可能な容量は、アレイを構成するすべてのドライブの合計容量の 50% です。異なるサイズのドライブが使用されている場合、各ドライブでは最小のメンバーのサイズに等しい部分のみが使用されます。[ 22 ] [ 23 ]
RAID 1Eの通常のRAID 1ミラーリングペアに対する利点の1つは 、アレイが劣化してもランダム読み取り操作のパフォーマンスが単一ドライブのパフォーマンスを上回ることです。[ 22 ]
ZFSファイルシステムは、RAID 5に似たデータ/パリティ分散方式であるRAID-Zを提供しますが、動的ストライプ幅を使用します。ブロックサイズに関係なく、すべてのブロックが独自のRAIDストライプとなり、結果としてすべてのRAID-Z書き込みがフルストライプ書き込みになります。これは、ZFSのコピーオンライトトランザクションセマンティクスと組み合わせることで、ライトホールエラーを解消します。また、RAID-Zは通常の読み取り-変更-書き込みシーケンスを実行する必要がないため、従来のRAID 5よりも高速です。RAID-Zは、信頼性のためのNVRAMやパフォーマンスのための書き込みバッファリングなどの特別なハードウェアを必要としません。[ 24 ]
RAID-Z のストライプ幅は動的であるため、RAID-Z の再構築では、ファイルシステムのメタデータをたどって実際の RAID-Z ジオメトリを決定する必要があります。ファイルシステムと RAID アレイが別々の製品である場合はこれは不可能ですが、データの論理構造と物理構造が統合されている場合は可能になります。メタデータをたどることで、ZFS は各ブロックを 256 ビットのチェックサムと照合して検証できますが、従来の RAID 製品では通常これができません。[ 24 ]
RAID-Z は、ディスク全体の障害を処理するだけでなく、サイレントなデータ破損を検出して修正し、「自己修復データ」を提供することもできます。RAID-Z ブロックを読み取ると、ZFS はそれをチェックサムと比較し、データディスクが正しい答えを返さなかった場合、ZFS はパリティを読み取り、どのディスクが不良データを返したかを特定します。その後、破損したデータを修復し、要求者に正常なデータを返します。[ 24 ]
RAID-Zには5つの異なるモードがあります。RAID -Z0(RAID 0に似ており 、冗長性はありません)、RAID-Z1(RAID 5に似ており 、1つのディスクの故障を許容します)、RAID-Z2(RAID 6に似ており 、2つのディスクの故障を許容します)、RAID-Z3(RAID 7.3 [ a ]構成で、3つのディスクの故障を許容します)、およびミラー(RAID 1に似ており、1つを除くすべてのディスクの故障を許容します)。[ 25 ]
Windows Home Server Drive Extender は、ファイルシステムレベルで実装されたJBOD RAID 1の特殊なケースです。[ 26 ]
Microsoft は 2011 年に、Drive Extender がWindows Home Serverバージョン 2、Windows Home Server 2011 (コードネーム VAIL)に含まれなくなることを発表しました。 [ 27 ]その結果、サードパーティ ベンダーが DE の空白を埋める動きを見せています。競合製品には、Drive Bender の開発元である Division M や StableBit の DrivePool などがあります。[ 28 ] [ 29 ]
BeyondRAID は真の RAID 拡張機能ではありませんが、最大 12 台の SATA ハード ドライブを 1 つのストレージ プールに統合します。[ 30 ] JBOD と同様に、複数のディスク サイズを同時にサポートできるという利点があり、すべてのディスクに冗長性を提供し、いつでもホット スワップ アップグレードが可能です。内部的には、RAID 1 と 5 に似た技術の組み合わせを使用します。容量に対するデータの割合に応じて、別のドライブが故障する前に「アレイ」を残りの正常なディスクに復元できれば、最大 3 台のドライブの故障に耐えることができます。使用可能なストレージの量は、ディスクの容量を合計し、最大のディスクの容量を差し引くことで概算できます。たとえば、500、400、200、100 GB のドライブがインストールされている場合、使用可能な容量は、500 + 400 + 200 + 100 − 500 = 700 GBになります。内部的には、データは2つのRAID 5のようなアレイと2つのRAID 1のようなセットに分散されます。
ドライブ | 100GB | | 200GB | | 400GB | | 500GB | ---------- | x | 使用できない領域 (100 GB) ---------- ---------- ---------- | A1 | | A1 | RAID 1 セット (2× 100 GB) ---------- ---------- ---------- ---------- | B1 | | B1 | RAID 1 セット (2× 100 GB) ---------- ---------- ---------- ---------- ---------- | C1 | | C2 | | Cp | RAID 5アレイ(3×100GB) ---------- ---------- ---------- ---------- ---------- ---------- ---------- | D1 | | D2 | | D3 | | DP | RAID 5 アレイ (4× 100 GB) ---------- ---------- ---------- ----------
BeyondRaidはRAID 6のような機能を提供し、160ビットSHA-1ハッシュを使用したハッシュベースの圧縮を実行してストレージ効率を最大化できます。[ 31 ]
Unraidは、メディアファイルの保存に最適化された独自のLinuxベースのオペレーティングシステムです。[ 32 ] 残念ながら、Unraidはストレージ技術に関する情報を提供していませんが、パリティアレイはmdadmモジュールの書き換えであると言う人もいます。
デメリットとしては、ソースコードが非公開であること、価格が高いこと、単一ディスクよりも書き込み速度が遅いこと、複数のドライブに同時に書き込みを行う際にボトルネックが発生することなどが挙げられます。しかし、Unraidはキャッシュプールをサポートしており、書き込み速度を大幅に向上させることができます。キャッシュプールのデータは、Btrfs RAID 1を使用して一時的に保護され、Unraidがソフトウェア内で設定されたスケジュールに基づいてアレイに移動するまで保持されます。
利点としては、標準のRAIDレベルよりも消費電力が低いこと、異なるサイズの複数のハードドライブをフル容量で使用できること、複数のハードドライブが同時に故障した場合(冗長性を超える場合)、故障したハードドライブに保存されているデータのみが失われることなどが挙げられます。これは、ストライピングを提供する標準のRAIDレベルとは異なり、冗長性で処理できる数よりも多くのハードドライブが故障すると、アレイ上のすべてのデータが失われるのとは対照的です。[ 33 ]
OpenBSDでは、CRYPTO はソフト RAID サブシステムの暗号化方式です。データの機密性を確保するために、単一のチャンク上のデータを暗号化します。CRYPTO は冗長性を提供しません。[ 34 ] RAID 1C は冗長性と暗号化の両方を提供します。[ 34 ]
Btrfs [ 35 ]や ZFS/OpenZFS (データセットごとのコピー数=1|2|3 プロパティ) [ 36 ]などの一部のファイルシステムは、単一のドライブまたはディスクプール上に同じデータの複数のコピーを作成することをサポートしており、個々の不良セクタからは保護しますが、多数の不良セクタやドライブ全体の故障からは保護しません。これにより、ラップトップなど、単一のドライブしか搭載できないコンピュータでも、RAID の利点の一部を実現できます。
デクラスタリングパリティRAID [ 37 ]は、ディスク障害からの復旧時にクライアントのオーバーヘッドを削減しながら、任意のサイズのディスクアレイを可能にします。デクラスタリングアレイのすべてのディスクに、ユーザーデータ、冗長情報、およびスペアスペースを均等に分散またはデクラスタリングします。従来のRAIDでは、たとえば100台のディスクからなるディスクストレージシステム全体が、たとえば10台のディスクからなる複数のアレイに分割され、各アレイには8つのデータチャンクと2つのパリティチャンクが格納されます。対照的に、デクラスタリングパリティRAIDでは、ストレージシステム全体が1つのアレイの作成に使用されます。すべてのデータチャンクとパリティチャンクは、標準のRAID-5/6と同様に、異なるドライブに書き込まれますが、論理的に隣接するデータとその冗長性は、アレイ内の異なるドライブに任意に分散できます(ただし、シーケンシャルな読み書き操作のシークを避けるために、一部の領域では線形に保持される場合があります)。ディスク障害が発生した場合、アレイ内のすべての稼働中のディスクを使用して欠落データが再構築されます。このアレイの帯域幅は、従来のRAIDグループのディスク数が少ない場合よりも大きくなります。さらに、再構築中に別のディスク障害が発生した場合でも、修復が必要な影響を受けるトラックの数は、以前の障害時よりも大幅に少なく、従来のRAIDアレイの継続的な再構築オーバーヘッドよりも少なくなります。クラスタリング解除による再構築の影響とクライアントオーバーヘッドの減少は、従来のRAIDの3~4分の1程度となり、アレイ内のドライブ数に応じて変化します。ファイルシステムのパフォーマンスは、再構築中のストレージアレイの速度にあまり依存しなくなります。
デクラスタリングパリティRAIDは、IBM [ 38 ]、Data Direct Networks DCR [ 39 ] [ 40 ]など、多くの高性能RAIDアレイベンダーで使用されています 。
ダイナミックディスクプーリング(DDP)、別名D-RAIDは、最大2台のドライブが同時に故障した場合でもパフォーマンスを維持します。[ 41 ] DDPは、高性能なデクラスタリングRAIDの一種です。[ 42 ]
xinnorが呼び出されましたが、定義されていません (ヘルプ ページを参照してください)。