少なくとも3つのドライブの論理的に隣接するグループであって、前記ドライブのそれぞれは、i先のドライブの圧縮データを格納するように構成された第1の領域と、ii前記ドライブの非圧縮データを格納するように構成された第2の領域と、iii次のドライブの圧縮データを格納するように構成された第3の領域と、を有することを特徴とする論理的に隣接するグループと、前記論理的に隣接するグループの前記次のドライブに接続された第1のループと、前記論理的に隣接するグループの前記先のドライブに接続された第2のループと、前記ドライブのそれぞれに格納された前記データを圧縮及び解凍するように構成された圧縮/解凍回路と、を備える装置。前記論理的に隣接するグループにおける前記ドライブの1つの前記第2の領域は、前記次のドライブの前記第1の領域に接続されることを特徴とする請求項1に記載の装置。前記論理的に隣接するグループにおける前記ドライブの1つの前記第2の領域は、前記先のドライブの前記第3の領域に接続されることを特徴とする請求項1に記載の装置。前記第1のループの一部は、前記先のドライブの前記第1の領域に前記ドライブの1つの前記第2の領域を接続することを特徴とする請求項1に記載の装置。前記第2のループの一部は、前記次のドライブの前記第3の領域に前記ドライブの1つの前記第2の領域を接続することを特徴とする請求項1に記載の装置。前記ドライブの1つの前記第1の領域の圧縮データは、前記第1のループの一部を通じてアクセス可能であることを特徴とする請求項1に記載の装置。前記ドライブの1つの前記第3の領域の圧縮データは、前記第2のループの一部を通じてアクセス可能であることを特徴とする請求項1に記載の装置。マッピング情報は、iストレージアレイコントローラに組み込まれ、iiドライブ故障及び/又はエラー修正の場合に前記ドライブのデータを復元するために用いられるファームウェアによって保存されることを特徴とする請求項1に記載の装置。前記圧縮/解凍回路の専用の論理は、コントローラファームウェアRAIDエンジンコードに埋め込まれることを特徴とする請求項1に記載の装置。前記圧縮/解凍回路の専用の論理は、ASIC周辺装置に転送されることを特徴とする請求項1に記載の装置。前記ドライブのそれぞれは、圧縮データを格納及び検索するために用いられるデュアルドライブポートを備えることを特徴とする請求項1に記載の装置。前記ドライブのそれぞれは、ドライブエンクロージャにおいて用いられる冗長なドライブチャネルを備えることを特徴とする請求項1に記載の装置。前記装置は、パリティを用いることなしにRAIDレベル6よりも優れた冗長性と耐故障性を確立することを特徴とする請求項1に記載の装置。少なくとも3つのドライブの論理的に隣接するグループを実現するための手段であって、前記ドライブのそれぞれは、i先のドライブの圧縮データを格納するように構成された第1の領域と、ii前記ドライブの非圧縮データを格納するように構成された第2の領域と、iii次のドライブの圧縮データを格納するように構成された第3の領域と、を有することを特徴とする論理的に隣接するグループを実現するための手段と、前記論理的に隣接するグループの前記次のドライブに接続された第1のループを実現するための手段と、前記論理的に隣接するグループの前記先のドライブに接続された第2のループを実現するための手段と、前記ドライブのそれぞれに格納された前記データを圧縮及び解凍するように構成された圧縮/解凍回路を実現するための手段と、を備える装置。前記装置は、パリティを用いることなしにRAIDレベル6よりも優れた冗長性と耐故障性を確立することを特徴とする請求項14に記載の装置。A少なくとも3つのドライブの論理的に隣接するグループを実現し、前記ドライブのそれぞれは、i先のドライブの圧縮データを格納するように構成された第1の領域と、ii前記ドライブの非圧縮データを格納するように構成された第2の領域と、iii次のドライブの圧縮データを格納するように構成された第3の領域と、を有することを特徴とし、B前記論理的に隣接するグループの前記次のドライブに接続された第1のループを実現し、C前記論理的に隣接するグループの前記先のドライブに接続された第2のループを実現し、D前記ドライブのそれぞれに格納された前記データを圧縮及び解凍するように構成された圧縮/解凍回路を実現する、ステップを備えるドライブアレイにおいて耐故障性を実現するための方法。前記方法は、パリティを用いることなしにRAIDレベル6よりも優れた冗長性と耐故障性を確立することを特徴とする請求項16に記載の方法。パリティを実現するプロセッシングオーバヘッドを増加させることなしにRAIDレベル6よりも高レベルな冗長性と耐故障性を確立する方法を実現することは望ましいだろう。本発明は、少なくとも3つのドライブの論理的に隣接するグループ、第1のループ、第2のループ、及び圧縮/解凍回路を備える装置に関する。ドライブのそれぞれは、i先のドライブの圧縮データを格納するように構成された第1の領域と、iiドライブの非圧縮データを格納するように構成された第2の領域と、iii次のドライブの圧縮データを格納するように構成された第3の領域と、を備える。第1のループは、論理的に隣接するグループにおける次のドライブに接続されるだろう。第2のループは、論理的に隣接するグループの先のドライブに接続されるだろう。圧縮/解凍回路は、ドライブのそれぞれに格納されたデータを圧縮及び解凍するように構成されるだろう。本発明の目的、特徴、及び利点は、iRAIDレベル6よりも優れた冗長性と耐故障性のレベルを確立し、iiパリティを用いることなしに実現され、iii圧縮/解凍動作のためのASICを実装し、ivドライブエンクロージャにおいて既存の冗長なドライブチャネルを用い、vデータを格納するために使用中のドライブポートを用い、vi圧縮/解凍を実現するファームウェアを提供し、vii別のドライブに格納された圧縮データブロックと比較して、ドライブのそれぞれのデータブロック間のマッピングを格納するファームウェアを実現し、及び/又はviiiコスト効率が良いドライブストレージの構成を提供することを含む。これらと他の本発明の目的、特徴、及び利点は、以下の明細書と添付された特許請求の範囲と図面とから明らかになるだろう。最大限のストレージ効率とパフォーマンスを有する高レベルな冗長性の達成は、データストレージが増大する現代世界における共通の目標である。本発明は、RAID構成においてデータの冗長なコピーを圧縮する圧縮方式を実現するだろう。冗長データは、二鎖型の方式において分散されるだろう。2つの論理的なループは、パリティ及び/又はミラーリング技法を必要とすることなしにRAID構成において高レベルな冗長性とパフォーマンスを達成するために実装されるだろう。圧縮方式を冗長性のために用いることは、更なる冗長性、優れた耐故障性、ストレージ効率、及び/又は向上されたパフォーマンスを提供する。ドライブのセットは、RAIDグループに分類されるだろう。ドライブのそれぞれのデータ内容は、RAIDグループにおける2つの個別のドライブに圧縮及び格納されるだろう。二鎖型の論理構成が実現されるだろう。ドライブの冗長なポートとドライブエンクロージャにおける冗長なドライブチャネルは、論理構成を提供するために用いられるだろう。データで50の圧縮が達成されるシナリオにおいては、本発明は50のストレージ使用率を提供するだろう。このストレージ使用率は、RAID1と同等であるだろう。しかしながら、より高レベルな圧縮によって、本発明はRAID1のドライブグループよりも優れたストレージ効率を提供するだろう。例えば、本発明のストレージ効率は、データに適用される圧縮の量に依存して向上するだろう。50の圧縮に関しては、本発明のストレージ効率は、一般にRAID1の構成のストレージ効率と同等である。50を超える圧縮に関しては、本発明によって達成可能なストレージ効率は、耐故障性に如何なる妥協をもすることなしに、RAID4、RAID5、及び/又はRAID6のストレージ効率よりも更に上昇し、一般に性能が優れる。本発明は、2n/3のドライブ故障の床関数までの耐故障性を提供するだろう、ここでnはシステムにおけるドライブの数である。RAID4、RAID5、RAID6及び同様の変形よりも優れた耐故障性は、3つの論理的に隣接するドライブが故障しないことにより達成されるだろう図9に関連してより詳細に説明される。一般に、本発明においては非付加的な読取り、修正、及び/又は書込み操作が有効なドライブから必要とされRAID5とRAID6としての-パリティ再計算のために、その結果、システムが落ちた状態例えば、1つ以上のドライブ故障を有するのときにパフォーマンスを向上させる。ストレージサブシステムのためのパフォーマンスの指定レベルを保証すべく、圧縮及び/又は解凍動作のためにASIC特定用途向けICが実装されるだろう。ドライブエンクロージャにおけるデュアルポートドライブ及び/又は冗長なドライブチャネルの使用は、ドライブのために指定されたパフォーマンスを保証するだろう。本発明の二鎖型の圧縮ソリューションは、RAIDシステムに対して向上された耐故障性、冗長性、及び/又はアベイラビリティを提供するだろう。本発明のRAIDグループは、ドライブの集合を含むだろう。データのブロックの一例は、単一ドライブに格納されるだろう。あるドライブからのデータの一例の圧縮形は、同一のRAIDグループにおける2つの他のドライブに格納されるだろう。これらの3つのドライブは論理的に隣接するドライブと呼称されるだろう。パリティ及び/又はミラーリングのいずれかを用いる必要性は、圧縮を導入することによって回避されるだろう。特定のドライブの圧縮データは二鎖型の方式における2つのドライブに格納されるだろう。例えば、2つのループが構成されるだろう。高レベルな冗長性、耐故障性、及び/又はパフォーマンスが達成されるだろう。図4を参照すると、本発明のドライブ100が示される。ドライブ100は、一般に領域102、領域104、及び領域106を備える。領域104は、非圧縮データを格納するために用いられるだろう。領域102は、ある論理的に隣接するドライブの圧縮データ例えば、ドライブn-1からの圧縮データを格納するために用いられるだろう。領域106は、別の論理的に隣接するドライブの圧縮データ例えば、ドライブn1からの圧縮データを格納するために用いられるだろう。実装された特定の圧縮機構は、ドライブ100の現在の内容のワンツーone-to-twoマッピングを必要とするだろう図5に関連してより詳細に説明される。例えば、あるドライブのデータの圧縮されたバージョンは、2つの他の論理的に隣接するドライブに格納されるだろう。マッピング情報は、コントローラに組み込まれたファームウェアによって保存されるだろう。マッピング情報は、論理的に隣接するドライブの1つから圧縮データブロックを解凍することによって、ドライブ故障及び/又はエラー修正の場合にドライブのデータを復元するために用いられるだろう。故障したドライブを新規の適切に動作するドライブに交換するとき、論理的に隣接するドライブの1つから圧縮データブロックを解凍することによって、故障したドライブのデータを新規のドライブに復元することができる。マッピング情報は、冗長なストレージアレイコントローラ図6に関連してより詳細に説明されるのそれぞれに組み込まれたコントローラファームウェアによって実現されるだろう。図5を参照すると、ドライブシステム又は構成150のブロック図が示される。システム150は、一般に複数のドライブ100a~100nを備える。ドライブ100a~100nの特定の数は、特定の実施の形態の設計基準を満たすように変更されるだろう。ドライブ100a~100nのそれぞれは、データセクション例えば、D1~D5、圧縮セクション例えば、C1~C5、及び圧縮セクション例えば、C1~C5を有するだろう。例えば、ドライブ100aは、非圧縮データD1を格納するように構成されたデータセクションを有するだろう。データブロックD1の圧縮形は、データC1として2つの論理的に隣接するドライブに格納されるだろう。例えば、圧縮データC1は、ドライブ100bとドライブ100nに格納されるだろう。ドライブ100a~100nは、ループ160a~160nとループ162a~162nを形成するだろう。ループ160a~160nとループ162a~162nは、2つの二鎖型の論理的なループを形成するだろう。一般に、ループ160a~160nは、ドライブ100a~100nの間の複数の論理接続として実現されるだろう。例えば、部分160aは、ドライブ100bの圧縮データC1にドライブ100aのデータD1を論理的に接続するだろう。一般にレフトツーライト方式のループ160a~160nが示される。ループ162a~162nは、一般にライトツーレフトの形態と同様の形態を有する。例えば、部分162dは、ドライブ100dの圧縮データC5にドライブ100nのデータD5を論理的に接続するだろう。ループ160a~160nとループ162a~162nの特定の形態は、特定の実施の形態の設計基準を満たすように変更されるだろう。示された一例においては、ドライブ100bはデータD2を格納するだろう。データD2の圧縮されたバージョンは、データC2としてドライブ100cに格納され、論理的なループ160a~160nの部分160bを通じてアクセス可能となるだろう。データC2も、ドライブ100aに格納され、論理的なループ162a~162nの部分162aを通じてアクセス可能となるだろう。同様に、ドライブ100aのデータD1は、ドライブ100nとドライブ100bにデータC1として格納されたデータD1の圧縮されたバージョンを有するだろう。ドライブ100nの圧縮データC5は、ドライブ100aとドライブ100dに格納されるだろう。一般に、3つのドライブ100a~100nの全てが論理的に隣接するグループを形成するだろう。一例においては、ドライブ100b、100c、及び100dは、論理的に隣接するグループであるだろう。論理的に隣接するグループは、互いに隣接して示されないドライブによって形成されても良い。圧縮データC3としてドライブ100bとドライブ100dの両方に格納されたドライブ100cのデータD3が示される。図6を参照すると、ストレージサブシステム200の図が示される。サブシステム200は、一般に複数のブロック又は回路202a~202bを備える。回路202a~202bは、それぞれ圧縮/解凍回路として実現されるだろう。ミドルプレーン204は、回路202aと回路202bとの間に実装されるだろう。圧縮回路202aは、一般にブロック又は回路210、ブロック又は回路212、ブロック又は回路214、及びブロック又は回路216を備える。回路210は、ホストインタフェースとして実現されるだろう。回路212は、データキャッシュとプロセッサとして実現されるだろう。回路214は、圧縮/解凍エンジンとして実現されるだろう。回路216は、ドライブインタフェースとして実現されるだろう。回路212は、一般にキャッシュ回路218とプロセッサ回路220を備える。ホストインタフェース210は、信号例えば、DATAを受信する入力230を有するだろう。信号DATAは、一般に図5に記載されたデータD1~D5を意味する1つ以上のデータブロック又はパケットを意味する。ホストインタフェースは、回路212の入力234に信号DATAを送信する出力232を有するだろう。回路212は、回路214の入力238に信号DATAを送信する出力236を有するだろう。回路212は、同様に回路216の入力242に信号DATAを送信する出力240を有するだろう。回路214は、回路216の入力246に信号例えば、C_DATAを送信する出力244を有するだろう。信号C_DATAは、信号DATAの圧縮されたバージョンであるだろう。信号C_DATAは、一般に図5に記載された圧縮データC1~C5を意味する1つ以上のデータブロック又はパケットを意味する。回路202bは、同様の形態を有するだろう。回路214は、圧縮及び/又は解凍動作を実現する専用の論理を提供するだろう。回路202a及び/又は回路202bの論理は、RAIDエンジンのためのコードとコントローラファームウェアの一部として実行するコードに埋め込まれるか、又はコントローラファームウェアコードによって制御及び操作されるASICにオフロードされるだろう。コードをオフロードすることは、追加の回路類を代償としてパフォーマンスを向上させるだろう。回路214によって実現された圧縮/解凍の特定のタイプは、特定の実施の形態の設計基準を満たすように変更されるだろう。回路202a及び/又は回路202bは、冗長性、耐故障性、及び/又はRAIDグループのフェイルオーバー機構のために用いられるだろう。図7を参照すると、ドライブエンクロージャ300が示される。複数のドライブ100a~100nを含むドライブエンクロージャ300が示される。ポート例えば、P1と別のポート例えば、P2を有するドライブ100a~100nのそれぞれが示される。エンクロージャは、一般に回路302、回路304、ミドルプレーン204、回路308、及び回路310を備える。回路302は、第1のESMとして実現されるだろう。回路308は、別のESMとして実現されるだろう。ドライブ100a~100nのそれぞれのポートP1とP2の1つは、プライマリポートであるだろう。ドライブ100a~100nのそれぞれの別のポートP1とP2の1つは、セカンダリポートであるだろう。ドライブへの非圧縮データD1~D5と圧縮データC1~C5の入出力パスは、別々に保たれるだろう。非圧縮データD1~D5と圧縮データC1~C5の両方は、同一のコントローラによって処理される。ドライブ100a~100nは、冗長性を実現する例えば、ドライブ100a~100nの圧縮データC1~C5を格納及び検索するデュアルポートドライブとして実現されるだろう。SOC304又は310は、ESM302又は308において存在し、ドライブ100a~100nへのデータのスイッチング/ルーティングを実行するだろう。ドライブエンクロージャ300のミドルプレーン204は、ドライブエンクロージャ300の冗長なESM302又は308に圧縮データを送信するために用いられるだろう。ミドルプレーン204も、セカンダリポートP2を用いてドライブ100a~100nに圧縮データを送信するために用いられるだろう。信号DATAの圧縮データC_DATAは、ドライブエンクロージャ300のミドルプレーン回路204を通じて別のESM308にルートされ、同一のESMによりデータD1~D5を維持するだろう。コントローラ202aによって所有されるRAID論理ドライブに関しては、ドライブ100a~100nのそれぞれのプライマリポートP1は、ESM302によって処理されるプライマリチャネルを通じて非圧縮データを転送するために用いられるだろう。ドライブ100a~100nのそれぞれのセカンダリポートP2は、ESM308によって処理されるセカンダリチャネルを通じて圧縮データを転送するために用いられるだろう。コントローラ202bによって所有されるRAID論理ドライブ100a~100nに関しては、ポートP2は、ESMB308によって処理されるプライマリチャネルを通じて非圧縮データを転送するプライマリポートとして用いられるだろう。ポートP1は、ESM302によって処理されるセカンダリチャネルを通じて圧縮データを転送するセカンダリポートとして用いられるだろう。本発明を用いて実現されたRAIDグループは、ドライブ100a~100nの1つに格納された実圧縮されていないデータD1~Dnと、2つの他の論理的に隣接するドライブ100a~100nに格納された圧縮データC1~Cnとを有するだろう。ホストからのそれぞれのデータセグメントの到着と同時に、データD1~D5は、ドライブインタフェース216に送信される複数のストライプに分割される。この処理と並列して、ストライプされたデータは、ドライブインタフェースに送信された圧縮エンジンによって圧縮される。圧縮データC1~Cnと共に実データD1~Dnは、ドライブエンクロージャ300に送信される。図8を参照すると、ドライブ100a~100nへのデータフローの一例が示される。データは、データチャネル320で送信されるだろう。ドライブ100a~100nのそれぞれは、データチャネル320からプライマリポートP1でデータを受信するだろう。データチャネル320からのデータは、圧縮/解凍エンジン214によって圧縮されるだろう。ドライブ100a~100nのそれぞれは、圧縮/解凍エンジン214からセカンダポートP2で圧縮データを受信するだろう。これは、ドライブパフォーマンスの損失なしにドライブ100a~100nの全てによりRAIDグループが動作することを保証する。3つの論理的に隣接するドライブ故障がなければ、nがRAIDグループにおけるドライブの総数である場合、本発明は通常2n/3のドライブの耐故障性を提供する。本発明で50のデータ圧縮を用いることは、RAID1の形態と比較して、同一のストレージ効率とより大きなパフォーマンスを保証するだろう。4つのドライブの一例を考慮する。ドライブ100a~100nのそれぞれが容量Cギガバイトを有する場合、RAID1が占める最大領域は2Cギガバイトである。しかしながら、本発明では、ドライブ100a~100nのそれぞれにおけるデータ領域は0.5Cギガバイトを占め、2つの圧縮領域は0.5Cギガバイトを占める50の圧縮。従って、4つのドライブにおいてはRAIDグループが格納することができる実データの総容量は2Cギガバイトである。パフォーマンスは、両方のドライブに亘ってストライプされたデータを有するRAID0のグループのようにドライブ100a~100nがアクセスされるのでより優れる。従って、本発明は、50と等しい圧縮によりRAID1と等しいストレージ効率を提供するだろう。同様に、本発明は、50を超える圧縮によりRAID1よりも優れたパフォーマンスとストレージ効率を提供するだろう。しかしながら、50を超える圧縮を実現することによって、ドライブ1001~100nのストレージ容量効率は更に向上するだろう。2つを超えるドライブが故障しても2n/3までのドライブが3つの論理的に隣接するドライブの故障を提供しない場合、本発明はデータ損失なしに動作し続けるので、本発明はRAID4、RAID5、及びRAID6の形態よりも一般に耐故障性に優れる。RAID3、RAID5、及びRAID6のグループと比較して、更なる耐故障性が実現されるだろう。RAID3、RAID5、及びRAID6のグループの場合には、修正動作がグループで実行されるときは常に、パリティを再計算し、修正済のデータとパリティを更新するために全てのドライブが読取られる必要がある。本発明では、修正動作ごとに、データがそれぞれのドライブ100a~100nにストライプされ書込まれる。そのとき、ストライプの圧縮は、RAIDグループにおける論理的に隣接するドライブに独立して生成され書込まれる。パリティ生成方法と比較して、少ない読取り及び/又は更新が必要とされる。図9を参照すると、3つのドライブ故障を有するドライブシステム150を示す図が示される。故障する全てのドライブが不連続である限り、ドライブシステム150は多重ドライブ損失シナリオを処理するだろう。ドライブ100a、ドライブ100b、及びドライブ100dは、故障して×で印を付けられる。3つのドライブが故障したとしても、全ては引き続き使用可能である。以下の表は、それぞれのドライブの状態とデータアベイラビリティを示す。RAID6のアプローチを用いる同様の故障は、RAIDグループ全体の故障をもたらすだろう。従って、本発明はRAID6のアプローチよりも優れた耐故障性を提供する。本発明は、特にその好適な実施の形態に関して示され説明されたが、本発明の範囲から逸脱することなく、形式と細部の様々な変更がなされるであろうことが当業者によって理解されるだろう。