(57)【要約】      （修正有）【課題】パリティとミラーリングを用いることなしにＲＡＩＤシステムにおいて高レベルな冗長性、耐故障性、及びパフォーマンスを実現する。【解決手段】少なくとも２つのドライブの論理的に隣接するグループ、ループ、及び圧縮／解凍回路を備える。ドライブのそれぞれは、（ｉ）先のドライブの圧縮データを格納するように構成された第１の領域と、（ｉｉ）ドライブの非圧縮データを格納するように構成された第２の領域と、を備える。ループは、論理的に隣接するグループにおける次のドライブに接続される。圧縮／解凍回路は、ドライブのそれぞれに格納されたデータを圧縮及び解凍するように構成される。【選択図】図６
2011243190.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも２つのドライブの論理的に隣接するグループであって、前記ドライブのそれぞれは、（ｉ）先のドライブの圧縮データを格納するように構成された第１の領域と、（ｉｉ）前記ドライブの非圧縮データを格納するように構成された第２の領域と、を有することを特徴とする論理的に隣接するグループと、
前記論理的に隣接するグループの次のドライブに接続されたループと、
前記ドライブのそれぞれに格納された前記データを圧縮及び解凍するように構成された圧縮／解凍回路と、
を備える装置。
【請求項２】
前記論理的に隣接するグループにおける前記ドライブの１つの前記第２の領域は、前記次のドライブの前記第１の領域に接続されることを特徴とする請求項１に記載の装置。
【請求項３】
前記ループの一部は、前記次のドライブの前記第１の領域に前記ドライブの１つの前記第２の領域を接続することを特徴とする請求項１に記載の装置。
【請求項４】
前記ドライブの１つの前記第１の領域の圧縮データは、前記ループの一部を通じてアクセス可能であることを特徴とする請求項１に記載の装置。
【請求項５】
マッピング情報は、（ｉ）ストレージアレイコントローラに組み込まれ、（ｉｉ）ドライブ故障及び／又はエラー修正の場合に前記ドライブのデータを復元するために用いられるファームウェアによって保存されることを特徴とする請求項１に記載の装置。
【請求項６】
前記圧縮／解凍回路の専用の論理は、コントローラファームウェアＲＡＩＤエンジンコードに埋め込まれることを特徴とする請求項１に記載の装置。
【請求項７】
前記圧縮／解凍回路の専用の論理は、ＡＳＩＣ周辺装置に転送されることを特徴とする請求項１に記載の装置。
【請求項８】
前記ドライブのそれぞれは、圧縮データを格納及び検索するために用いられるドライブポートを備えることを特徴とする請求項１に記載の装置。
【請求項９】
前記ドライブのそれぞれは、ドライブエンクロージャにおいて用いられる冗長なドライブチャネルを備えることを特徴とする請求項１に記載の装置。
【請求項１０】
前記装置は、パリティを用いることなしにＲＡＩＤレベル５よりも優れた冗長性と耐故障性を確立することを特徴とする請求項１に記載の装置。
【請求項１１】
少なくとも２つのドライブの論理的に隣接するグループを実現するための手段であって、前記ドライブのそれぞれは、（ｉ）先のドライブの圧縮データを格納するように構成された第１の領域と、（ｉｉ）前記ドライブの非圧縮データを格納するように構成された第２の領域と、を有することを特徴とする論理的に隣接するグループを実現するための手段と、
前記論理的に隣接するグループの次のドライブに接続されたループを実現するための手段と、
前記ドライブのそれぞれに格納された前記データを圧縮及び解凍するように構成された圧縮／解凍回路を実現するための手段と、
を備える装置。
【請求項１２】
前記装置は、パリティを用いることなしにＲＡＩＤレベル５よりも優れた冗長性と耐故障性を確立することを特徴とする請求項１１に記載の装置。
【請求項１３】
（Ａ）少なくとも２つのドライブの論理的に隣接するグループを実現し、前記ドライブのそれぞれは、（ｉ）先のドライブの圧縮データを格納するように構成された第１の領域と、（ｉｉ）前記ドライブの非圧縮データを格納するように構成された第２の領域と、を有することを特徴とし、
（Ｂ）前記論理的に隣接するグループの次のドライブに接続されたループを実現し、
（Ｃ）前記ドライブのそれぞれに格納された前記データを圧縮及び解凍するように構成された圧縮／解凍回路を実現する、
ステップを備えるドライブアレイにおいて耐故障性を実現するための方法。
【請求項１４】
前記方法は、パリティを用いることなしにＲＡＩＤレベル５よりも優れた冗長性と耐故障性を確立することを特徴とする請求項１３に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、２０１０年３月２６日付けで出願された同時係属出願第１２／７３２，８４１号に関連し、その全体が援用される。
【０００２】
本発明は、一般にデータのストレージ、特にパリティとミラーリングを用いることなしにＲＡＩＤシステムにおいて高レベルな冗長性、耐故障性、及びパフォーマンスを実現するための方法及び／又は装置に関する。
【背景技術】
【０００３】
ＲＡＩＤ（安価なドライブの冗長アレイ）ストレージシステムにおいて用いられる従来のアプローチは、主として排他的論理和機能（パリティ計算）、又は冗長性を獲得し且つ耐故障性を提供するミラー機能のいずれかに基づく。ＲＡＩＤ１とＲＡＩＤ１０の技術では、ドライブは冗長性を獲得するためにミラーされる。新しい書込みがメディアで発生するごとに、データドライブと対応するミラードライブの両方に全データを複製し書込む必要がある。
【０００４】
図１を参照すると、ＲＡＩＤ１０のアプローチが示される。ドライブＤＩＳＫ１にミラーされたドライブＤＩＳＫ０が示される。ドライブＤＩＳＫ３にミラーされたドライブＤＩＳＫ２が示される。ＲＡＩＤ１とＲＡＩＤ１０のアプローチは、別のドライブに、あるドライブの完全な内容をミラーすることを意味する。ＲＡＩＤ１として構成された２つのドライブが存在するならば、それぞれのドライブが容量Ｃギガバイトを有する場合、ＲＡＩＤグループの総容量はＣギガバイト（即ち、両方のドライブの総容量である２Ｃギガバイトではない）になるだろう。従って、ＲＡＩＤ１又はＲＡＩＤ１０の全体のストレージ容量は、ＲＡＩＤ１又はＲＡＩＤ１０の構成における全てのドライブの総容量の５０％である。
【０００５】
図２を参照すると、ＲＡＩＤ４とＲＡＩＤ５のアプローチが示される。複数のドライブＤＩＳＫ０、ＤＩＳＫ１、ＤＩＳＫ２、及びＤＩＳＫ３が示される。ＲＡＩＤ４とＲＡＩＤ５においては、データブロックはＲＡＩＤグループの複数のドライブＤＩＳＫ０〜ＤＩＳＫ３に亘ってストライプされる。示されたＲＡＩＤ４の構成においては、ドライブＤＩＳＫ０、ＤＩＳＫ１、及びＤＩＳＫ２がデータを格納する。パリティブロックは、専用のドライブ（即ち、ドライブＤＩＳＫ３として示される）に格納される。ＲＡＩＤ５においては、パリティはＲＡＩＤグループにおける全てのドライブＤＩＳＫ０〜ＤＩＳＫ４に亘って分散される。示されたＲＡＩＤ５の構成においては、データを保持するドライブＤＩＳＫ３が示される（ＲＡＩＤ４と比較してドライブＤＩＳＫ３のみがパリティを保持する場合）。Ｄパリティ（即ち、データブロックＤのパリティ）は、ディスクＤＩＳＫ０に格納される。Ｃパリティは、ＤＩＳＫ２に格納される。ディスクＤＩＳＫ２に格納されたＢパリティが示される。ディスクＤＩＳＫ３に格納されたＡパリティが示される。
【０００６】
ＲＡＩＤ４とＲＡＩＤ５のアプローチは、排他的論理和機能に基づいたパリティ生成を用いる。ＲＡＩＤ４とＲＡＩＤ５では、データの全てのストライプはパリティを生成するために用いられる。生成されたパリティは、その後、別の専用のドライブに格納されるか、又はＲＡＩＤグループの全てのドライブに亘って分散される。ＲＡＩＤ４とＲＡＩＤ５は、データを失うことなしに一度に１つのドライブ故障のみに耐えることができる。
【０００７】
図３を参照すると、専用の圧縮データドライブのアプローチが示される。複数のドライブＤＲＩＶＥ１、ＤＲＩＶＥ２、及びＤＲＩＶＥ３が示される。ドライブＤＲＩＶＥ  Ｃも示される。ＤＲＩＶＥ１、ＤＲＩＶＥ２、及びＤＲＩＶＥ３は、非圧縮データＤ０〜Ｄ８を格納する。ドライブＤＲＩＶＥ  Ｃは、データＣ−Ｄ０からＣ−Ｄ８としてデータＤ０〜Ｄ８の圧縮されたバージョンを格納する専用のドライブである。
【０００８】
専用の圧縮データドライブの方法のパフォーマンスは欠点を有する。ＲＡＩＤグループごとの圧縮データを格納するための単一の専用のドライブＤＲＩＶＥ  Ｃ。全ての新しい書込みは、複数のストライプに分割される。それぞれのストライプに関して、圧縮データＣ−Ｄ０からＣ−Ｄ８は、専用のドライブＤＲＩＶＥ  Ｃに生成及び格納される。ＲＡＩＤグループにおいてｎドライブが存在するならば、ｎ−１ストライプの圧縮データは、専用のドライブＤＲＩＶＥ  Ｃに格納される。ｎ−１ストライプの処理は、圧縮データの書込みを完了する際にディレーを導入し、ボトルネックを引き起こす。データストライプと圧縮データの両方を書込むように構成されたシステムは、圧縮されたドライブＤＲＩＶＥ  Ｃでの書込み待機のために同時にディレーに遭遇するだろう。専用の圧縮データドライブの方法は耐故障性の欠点をも有する。専用の圧縮されたドライブとＲＡＩＤグループにおける別のドライブの故障は、データ損失（論理ドライブ故障）をもたらすだろう。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
図４を参照すると、分散された圧縮データのアプローチが示される。複数のドライブＤＲＩＶＥ１、ＤＲＩＶＥ２、ＤＲＩＶＥ３、ＤＲＩＶＥ４が示される。圧縮データは、パリティがＲＡＩＤ５のアプローチにおいて分散される方法と同様にドライブに亘って分散される。ドライブＤＲＩＶＥ１〜４のそれぞれは、他の３つのドライブのそれぞれからのデータのストライプの圧縮されたバージョンを含む。分散された圧縮データのアプローチは、専用の圧縮データの方法よりも優れたパフォーマンスを提供する。しかしながら、分散された圧縮データの方法における１つ以上のドライブの故障はデータ損失をもたらすだろう。
【課題を解決するための手段】
【００１０】
本発明は、少なくとも２つのドライブの論理的に隣接するグループ、ループ、及び圧縮／解凍回路を備える装置に関する。ドライブのそれぞれは、（ｉ）先のドライブの圧縮データを格納するように構成された第１の領域と、（ｉｉ）ドライブの非圧縮データを格納するように構成された第２の領域と、を備える。ループは、論理的に隣接するグループにおける次のドライブに接続されるだろう。圧縮／解凍回路は、ドライブのそれぞれに格納されたデータを圧縮及び解凍するように構成されるだろう。
【００１１】
本発明の目的、特徴、及び利点は、（ｉ）冗長性と耐故障性のレベルを確立し、（ｉｉ）パリティを用いることなしに実現され、（ｉｉｉ）圧縮／解凍動作のためのＡＳＩＣを実装し、（ｉｖ）ドライブエンクロージャにおいて既存の冗長なドライブチャネルを用い、（ｖ）データを格納するために使用中のドライブポートを用い、（ｖｉ）圧縮／解凍を実現するファームウェアを提供し、（ｖｉｉ）別のドライブに格納された圧縮データブロックと比較して、ドライブのそれぞれのデータブロック間のマッピングを格納するファームウェアを実現し、及び／又は（ｖｉｉｉ）コスト効率が良いドライブストレージの構成を提供することを含む。
【００１２】
これらと他の本発明の目的、特徴、及び利点は、以下の明細書と添付された特許請求の範囲と図面とから明らかになるだろう。
【図面の簡単な説明】
【００１３】
【図１】ＲＡＩＤ１とＲＡＩＤ１０のアプローチを示す図である。
【図２】ＲＡＩＤ４とＲＡＩＤ５のアプローチを示す図である。
【図３】専用の圧縮データドライブのアプローチを示す図である。
【図４】分散された圧縮データのアプローチを示す図である。
【図５】本発明のドライブの一例を示す図である。
【図６】圧縮データＲＡＩＤ機構のループ接続方式における複数のドライブを示す図である。
【図７】圧縮／解凍動作のための専用の論理を示す図である。
【図８】ドライブエンクロージャを示す図である。
【図９】ドライブへのデータフローの一例を示す図である。
【図１０】２つのドライブ故障を有する本発明を示す図である。
【図１１】２つのドライブ故障を有する分散された圧縮データの方法を示す図である。
【図１２】２つのドライブ故障を有する専用の圧縮データドライブの方法を示す図である。
【発明を実施するための形態】
【００１４】
最大限のストレージ効率及び／又はパフォーマンスを有する高レベルな冗長性の達成は、データストレージが増大する現代世界における共通の目標である。本発明は、ＲＡＩＤ構成においてデータの冗長なコピーを圧縮する圧縮方式を実現するだろう。冗長データは、一鎖型の方式において分散されるだろう。論理的なループは、パリティ及び／又はミラーリング技法を必要とすることなしにＲＡＩＤ構成において高レベルな冗長性及び／又はパフォーマンスを達成するために実装されるだろう。圧縮方式を冗長性のために用いることは、更なる冗長性、優れた耐故障性、及び／又は向上されたパフォーマンスを提供する。ドライブのセットは、ＲＡＩＤグループに分類されるだろう。ドライブのそれぞれのデータ内容は、ＲＡＩＤグループにおける別のドライブに圧縮及び格納されるだろう。一鎖型の論理構成が実現されるだろう。ドライブの冗長なポートとドライブエンクロージャにおける冗長なドライブチャネルは、論理構成を提供するために用いられるだろう。
【００１５】
データで５０％の圧縮が達成されるシナリオにおいては、ＲＡＩＤ１のドライブグループと比較して、本発明はストレージ使用率を３３．３３％増加させるだろう。本発明のストレージ効率は、データに適用される圧縮の量に依存して向上するだろう。５０％を超える圧縮に関しては、本発明のストレージ効率は更に増加し、耐故障性に如何なる妥協をもすることなしに、ＲＡＩＤ４及び／又はＲＡＩＤ５のストレージ効率よりも一般に性能が優れる。
【００１６】
ストレージサブシステムのために指定されたパフォーマンスを保証すべく、圧縮及び／又は解凍動作のためにＡＳＩＣ（特定用途向けＩＣ）が実装されるだろう。ドライブエンクロージャにおける冗長なドライブポート及び／又は冗長なドライブチャネルの使用は、ドライブのために指定されたパフォーマンスを保証するだろう。本発明の一鎖型の圧縮ソリューションは、ＲＡＩＤシステムに対して向上された耐故障性、冗長性、及び／又はアベイラビリティを提供するだろう。
【００１７】
本発明のＲＡＩＤグループは、ドライブの集合を含むだろう。データのブロックの一例は、単一ドライブに格納されるだろう。あるドライブからのデータの一例の圧縮形は、同一のＲＡＩＤグループにおける別の他のドライブに格納されるだろう。２つのドライブは「論理的に隣接する」ドライブと呼称されるだろう。パリティ及び／又はミラーリングのいずれかを用いる必要性は、圧縮を導入することによって回避されるだろう。特定のドライブの圧縮データは一鎖型の方式におけるドライブに格納されるだろう。例えば、ループが構成されるだろう。高レベルな冗長性、耐故障性、及び／又はパフォーマンスが達成されるだろう。
【００１８】
図５を参照すると、本発明のドライブ１００が示される。ドライブ１００は、一般に領域１０２と領域１０４を備える。領域１０４は、非圧縮データを格納するために用いられるだろう。領域１０２は、ある論理的に隣接するドライブの圧縮データ（例えば、ドライブｎ−１からの圧縮データ）を格納するために用いられるだろう。
【００１９】
実装された特定の圧縮機構は、ドライブ１００の現在の内容のワンツー（ｏｎｅ−ｔｏ−ｔｗｏ）マッピングを必要とするだろう（図６に関連してより詳細に説明される）。例えば、あるドライブのデータの圧縮されたバージョンは、論理的に隣接するドライブに格納されるだろう。マッピング情報は、ストレージアレイコントローラに組み込まれたファームウェアによって保存されるだろう。マッピング情報は、論理的に隣接するドライブから圧縮データブロックを解凍することによって、ドライブ故障及び／又はエラー修正の場合にドライブのデータを復元するために用いられるだろう。故障したドライブを新規の代替ドライブに交換するとき、論理的に隣接するドライブから圧縮データブロックを解凍することによって、故障したドライブのデータを新規のドライブに復元することができる。マッピング情報は、冗長なストレージアレイコントローラ（図７に関連してより詳細に説明される）のそれぞれに組み込まれたコントローラファームウェアによって実現されるだろう。
【００２０】
図６を参照すると、ドライブシステム（又は構成）１５０のブロック図が示される。システム１５０は、一般に複数のドライブ１００ａ〜１００ｎを備える。ドライブ１００ａ〜１００ｎの特定の数は、特定の実施の形態の設計基準を満たすように変更されるだろう。ドライブ１００ａ〜１００ｎのそれぞれは、データセクション（例えば、Ｄ１〜Ｄ５）と圧縮セクション（例えば、Ｃ１〜Ｃ５）を有するだろう。例えば、ドライブ１００ａは、非圧縮データＤ１を格納するように構成されたデータセクションを有するだろう。データブロックＤ１の圧縮形は、データＣ１として論理的に隣接するドライブに格納されるだろう。例えば、圧縮データＣ１は、ドライブ１００ｂに格納されるだろう。ドライブ１００ａ〜１００ｎは、ループ１６０ａ〜１６０ｎを形成するだろう。ループ１６０ａ〜１６０ｎは、一鎖型の論理的なループを形成するだろう。一般に、ループ１６０ａ〜１６０ｎは、ドライブ１００ａ〜１００ｎの間の複数の論理接続として実現されるだろう。例えば、部分１６０ａは、ドライブ１００ｂの圧縮データＣ１にドライブ１００ａのデータＤ１を論理的に接続するだろう。一般にレフトツーライト方式のループ１６０ａ〜１６０ｎが示される。しかしながら、ループ１６０ａ〜１６０ｎは、一般にライトツーレフト方式で実現されても良い。例えば、部分１６０ｄは、ドライブ１００ｄの圧縮データＣ５にドライブ１００ｎのデータＤ５を論理的に接続するだろう。ループ１６０ａ〜１６０ｎの特定の形態は、特定の実施の形態の設計基準を満たすように変更されるだろう。
【００２１】
示された一例においては、ドライブ１００ｂはデータＤ２を格納するだろう。データＤ２の圧縮されたバージョンは、データＣ２としてドライブ１００ｃに格納され、論理的なループ１６０ａ〜１６０ｎの部分１６０ｂを通じてアクセス可能となるだろう。同様に、ドライブ１００ａのデータＤ１は、ドライブ１００ｂにデータＣ１として格納されたデータＤ１の圧縮されたバージョンを有するだろう。ドライブ１００ｎの圧縮データＣ５は、ドライブ１００ａに格納されるだろう。一般に、２つのドライブ１００ａ〜１００ｎの全てが論理的に隣接するグループを形成するだろう。一例においては、ドライブ１００ｂ及び１００ｃは、論理的に隣接するグループであるだろう。論理的に隣接するグループは、互いに隣接して示されないドライブによって形成されても良い。圧縮データＣ３としてドライブ１００ｄに格納されたドライブ１００ｃのデータＤ３が示される。
【００２２】
図７を参照すると、ストレージサブシステム２００の図が示される。サブシステム２００は、一般に複数のブロック（又は回路）２０２ａ〜２０２ｂを備える。回路２０２ａ〜２０２ｂは、それぞれ圧縮／解凍回路として実現されるだろう。ミドルプレーン２０４は、回路２０２ａと回路２０２ｂとの間に実装されるだろう。圧縮回路２０２ａは、一般にブロック（又は回路）２１０、ブロック（又は回路）２１２、ブロック（又は回路）２１４、及びブロック（又は回路）２１６を備える。回路２１０は、ホストインタフェースとして実現されるだろう。回路２１２は、データキャッシュとプロセッサとして実現されるだろう。回路２１４は、圧縮／解凍エンジンとして実現されるだろう。回路２１６は、ドライブインタフェースとして実現されるだろう。回路２１２は、一般にキャッシュ回路２１８とプロセッサ回路２２０を備える。ホストインタフェース２１０は、信号（例えば、ＤＡＴＡ）を受信する入力２３０を有するだろう。信号ＤＡＴＡは、一般に図５に記載されたデータＤ１〜Ｄ５を意味する１つ以上のデータブロック（又はパケット）を意味する。ホストインタフェースは、回路２１２の入力２３４に信号ＤＡＴＡを送信する出力２３２を有するだろう。回路２１２は、回路２１４の入力２３８に信号ＤＡＴＡを送信する出力２３６を有するだろう。回路２１２は、同様に回路２１６の入力２４２に信号ＤＡＴＡを送信する出力２４０を有するだろう。回路２１４は、回路２１６の入力２４６に信号（例えば、Ｃ＿ＤＡＴＡ）を送信する出力２４４を有するだろう。信号Ｃ＿ＤＡＴＡは、信号ＤＡＴＡの圧縮されたバージョンであるだろう。信号Ｃ＿ＤＡＴＡは、一般に図５に記載された圧縮データＣ１〜Ｃ５を意味する１つ以上のデータブロック（又はパケット）を意味する。回路２０２ｂは、同様の形態を有するだろう。回路２１４は、圧縮及び／又は解凍動作を実現する専用の論理を提供するだろう。
【００２３】
回路２０２ａ及び／又は回路２０２ｂの論理は、ＲＡＩＤエンジンのためのコードとコントローラファームウェアの一部として実行するコードに埋め込まれるか、又はコントローラファームウェアコードによって制御及び操作されるＡＳＩＣにオフロードされるだろう。コードをオフロードすることは、追加の回路類を代償としてパフォーマンスを向上させるだろう。回路２１４によって実現された圧縮／解凍の特定のタイプは、特定の実施の形態の設計基準を満たすように変更されるだろう。回路２０２ａ及び／又は回路２０２ｂは、冗長性、耐故障性、及び／又はＲＡＩＤグループのフェイルオーバー機構のために用いられるだろう。
【００２４】
図８を参照すると、ドライブエンクロージャ３００が示される。複数のドライブ１００ａ〜１００ｎを含むドライブエンクロージャ３００が示される。ポート（例えば、Ｐ１）と別のポート（例えば、Ｐ２）を有するドライブ１００ａ〜１００ｎのそれぞれが示される。エンクロージャは、一般に回路３０２、回路３０４、ミドルプレーン２０４、回路３０８、及び回路３１０を備える。回路３０２は、第１のＥＳＭとして実現されるだろう。回路３０８は、別のＥＳＭとして実現されるだろう。ドライブ１００ａ〜１００ｎのそれぞれのポートＰ１とＰ２の１つは、プライマリポートであるだろう。ドライブ１００ａ〜１００ｎのそれぞれの別のポートＰ１とＰ２の１つは、セカンダリポートであるだろう。ドライブへの非圧縮データＤ１〜Ｄ５と圧縮データＣ１〜Ｃ５の入出力パスは、別々に保たれるだろう。非圧縮データＤ１〜Ｄ５と圧縮データＣ１〜Ｃ５の両方は、同一のコントローラによって処理される。ドライブ１００ａ〜１００ｎは、冗長性を実現する（例えば、ドライブ１００ａ〜１００ｎの圧縮データＣ１〜Ｃ５を格納及び検索する）デュアルポートドライブとして実現されるだろう。ＳＯＣ３０４（又は３１０）は、ＥＳＭ３０２（又は３０８）において存在し、ドライブ１００ａ〜１００ｎへのデータのスイッチング／ルーティングを実行するだろう。ドライブエンクロージャ３００のミドルプレーン２０４は、ドライブエンクロージャ３００の冗長なＥＳＭ３０２（又は３０８）に圧縮データを送信するために用いられるだろう。ミドルプレーン２０４も、セカンダリポートＰ２を用いてドライブ１００ａ〜１００ｎに圧縮データを送信するために用いられるだろう。
【００２５】
信号ＤＡＴＡの圧縮データＣ＿ＤＡＴＡは、ドライブエンクロージャ３００のミドルプレーン回路２０４を通じて別のＥＳＭ３０８にルートされ、同一のＥＳＭによりデータＤ１〜Ｄ５を維持するだろう。コントローラ２０２ａによって所有されるＲＡＩＤ論理ドライブに関しては、ドライブ１００ａ〜１００ｎのそれぞれのプライマリポートＰ１は、ＥＳＭ３０２によって処理されるプライマリチャネルを通じて非圧縮データを転送するために用いられるだろう。ドライブ１００ａ〜１００ｎのそれぞれのセカンダリポートＰ２は、ＥＳＭ３０８によって処理されるセカンダリチャネルを通じて圧縮データを転送するために用いられるだろう。コントローラ２０２ｂによって所有されるＲＡＩＤ論理ドライブ１００ａ〜１００ｎに関しては、ポートＰ２は、ＥＳＭ  Ｂ  ３０８によって処理されるプライマリチャネルを通じて非圧縮データを転送するプライマリポートとして用いられるだろう。ポートＰ１は、ＥＳＭ３０２によって処理されるセカンダリチャネルを通じて圧縮データを転送するセカンダリポートとして用いられるだろう。
【００２６】
本発明を用いて実現されたＲＡＩＤグループは、ドライブ１００ａ〜１００ｎの１つに格納された実（圧縮されていない）データＤ１〜Ｄｎと、２つの他の論理的に隣接するドライブ１００ａ〜１００ｎに格納された圧縮データＣ１〜Ｃｎとを有するだろう。ホストからのそれぞれのデータセグメントの到着と同時に、データＤ１〜Ｄ５は、ドライブインタフェース２１６に送信される複数のストライプに分割される。この処理と並列して、ストライプされたデータは、ドライブインタフェースに送信された圧縮エンジンによって圧縮される。圧縮データＣ１〜Ｃｎと共に実データＤ１〜Ｄｎは、ドライブエンクロージャ３００に送信される。
【００２７】
図９を参照すると、ドライブ１００ａ〜１００ｎへのデータフローの一例が示される。データは、データチャネル３２０で送信されるだろう。ドライブ１００ａ〜１００ｎのそれぞれは、データチャネル３２０からプライマリポートＰ１でデータを受信するだろう。データチャネル３２０からのデータは、圧縮／解凍エンジン２１４によって圧縮されるだろう。ドライブ１００ａ〜１００ｎのそれぞれは、圧縮／解凍エンジン２１４からセカンダポートＰ２で圧縮データを受信するだろう。これは、ドライブパフォーマンスの損失なしにドライブ１００ａ〜１００ｎの全てによりＲＡＩＤグループが動作することを保証する。論理的に隣接するドライブ故障がなければ、ｎがＲＡＩＤグループにおけるドライブの総数である場合、本発明は通常ｎ／２のドライブの耐故障性を提供する。
【００２８】
本発明で５０％のデータ圧縮を用いることは、ＲＡＩＤ１の形態と比較して、同一のストレージ効率とより大きなパフォーマンスを保証するだろう。２つのドライブの一例を考慮する。ドライブ１００ａ〜１００ｎのそれぞれが容量Ｃギガバイトを有する場合、ＲＡＩＤ１が占める最大領域はＣギガバイトである。しかしながら、本発明では、ドライブ１００ａ〜１００ｎのそれぞれにおけるデータ領域は０．６６６Ｃギガバイトを占め、圧縮領域は０．３３３Ｃギガバイトを占める（５０％の圧縮）。２つのドライブにおいては、ＲＡＩＤグループが格納する実データの総容量は約１．３３Ｃギガバイトである。パフォーマンスは、両方のドライブに亘ってストライプされたデータを有するＲＡＩＤ０のグループのようにドライブ１００ａ〜１００ｎがアクセスされるのでより優れる。従って、本発明は５０％以上の圧縮によりＲＡＩＤ１よりも優れたパフォーマンスを提供するだろう。しかしながら、５０％を超える圧縮を実現することによって、ドライブ１００１〜１００ｎのストレージ容量効率は更に向上するだろう。
【００２９】
１つを超えるドライブが故障しても（ｎ／２までのドライブが論理的に隣接するドライブの故障を提供しない場合）、本発明はデータ損失なしに動作し続けるので、本発明はＲＡＩＤ３及びＲＡＩＤ５の形態よりも一般に耐故障性に優れる。ＲＡＩＤ３及びＲＡＩＤ５のグループと比較して、更なる耐故障性が実現されるだろう。ＲＡＩＤ３及びＲＡＩＤ５のグループの場合には、修正動作がグループで実行されるときは常に、パリティを再計算し、修正済のデータとパリティを更新するために全てのドライブが読取られる必要がある。本発明では、修正動作ごとに、データがそれぞれのドライブ１００ａ〜１００ｎにストライプされ書込まれる。そのとき、ストライプの圧縮は、ＲＡＩＤグループにおける論理的に隣接するドライブに独立して生成され書込まれる。パリティ生成方法と比較して、少ない読取り及び／又は更新が必要とされる。
【００３０】
図１０を参照すると、２つのドライブ故障を有するドライブシステム１５０を示す図が示される。故障する全てのドライブが不連続である限り、ドライブシステム１５０は多重ドライブ損失シナリオを処理するだろう。ドライブ１００ａとドライブ１００ｃは、故障して×で印を付けられる。２つのドライブが故障したとしても、全ては引き続き使用可能である。以下の表は、それぞれのドライブの状態とデータアベイラビリティを示す。
【００３１】
【表１】
2011243190.tif 000003
【００３２】
図１１を参照すると、２つのドライブ故障を有する分散された圧縮データの方法を示す図が示される。分散された圧縮データの方法を用いる任意の２つのドライブの故障はデータ損失をもたらす。ＤＲＩＶＥ２とＤＲＩＶＥ４は、ドライブ故障を示すために×で印を付けられる。その結果、データＤ１とＤ８は失われる。
【００３３】
図１２を参照すると、２つのドライブ故障を有する専用の圧縮データの方法を示す図が示される。専用の圧縮データの方法を用いる専用のドライブとＲＡＩＤシステムにおける他のドライブの故障はデータ損失をもたらす。ＤＲＩＶＥ２と専用のドライブＤＲＩＶＥ４は、ドライブ故障を示すために×で印を付けられる。その結果、データブロックＤ１、Ｄ４、及びＤ７は失われる。
【００３４】
本発明は、分散された圧縮データの方法及び専門の圧縮データの方法と比較して、より高レベルな冗長性と耐故障性と共にパフォーマンスとの間の優れたトレードオフを提供する。
【００３５】
本発明は、特にその好適な実施の形態に関して示され説明されたが、本発明の範囲から逸脱することなく、形式と細部の様々な変更がなされるであろうことが当業者によって理解されるだろう。
【図１】
2011243190.tif 000004
【図２】
2011243190.tif 000005
【図３】
2011243190.tif 000006
【図４】
2011243190.tif 000007
【図５】
2011243190.tif 000008
【図６】
2011243190.tif 000009
【図７】
2011243190.tif 000010
【図９】
2011243190.tif 000011
【図１０】
2011243190.tif 000012
【図１１】
2011243190.tif 000013
【図１２】
2011243190.tif 000014
【図８】
2011243190.tif 000015
【外国語明細書】
2011243190000001.pdf