JP4965722B2 - パリティとミラーリングを用いることなしにraidシステムにおいて高レベルな冗長性、耐故障性、及びパフォーマンスを確立する方法 - Google Patents

パリティとミラーリングを用いることなしにraidシステムにおいて高レベルな冗長性、耐故障性、及びパフォーマンスを確立する方法 Download PDF

Info

Publication number
JP4965722B2
JP4965722B2 JP2011068013A JP2011068013A JP4965722B2 JP 4965722 B2 JP4965722 B2 JP 4965722B2 JP 2011068013 A JP2011068013 A JP 2011068013A JP 2011068013 A JP2011068013 A JP 2011068013A JP 4965722 B2 JP4965722 B2 JP 4965722B2
Authority
JP
Japan
Prior art keywords
drive
drives
data
compressed
compressed data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011068013A
Other languages
English (en)
Other versions
JP2011243190A (ja
JP2011243190A5 (ja
Inventor
パヴァン・ピー・エス
ヴィヴェック・プラカシュ
マフムード・ケー・ジッベ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LSI Corp
Original Assignee
LSI Logic Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by LSI Logic Corp filed Critical LSI Logic Corp
Publication of JP2011243190A publication Critical patent/JP2011243190A/ja
Publication of JP2011243190A5 publication Critical patent/JP2011243190A5/ja
Application granted granted Critical
Publication of JP4965722B2 publication Critical patent/JP4965722B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1014Compression, i.e. RAID systems with parity using compression techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

本願は、2010年3月26日付けで出願された同時係属出願第12/732,841号に関連し、その全体が援用される。
本発明は、一般にデータのストレージ、特にパリティとミラーリングを用いることなしにRAIDシステムにおいて高レベルな冗長性、耐故障性、及びパフォーマンスを実現するための方法及び/又は装置に関する。
RAID(安価なドライブの冗長アレイ)ストレージシステムにおいて用いられる従来のアプローチは、主として排他的論理和機能(パリティ計算)、又は冗長性を獲得し且つ耐故障性を提供するミラー機能のいずれかに基づく。RAID1とRAID10の技術では、ドライブは冗長性を獲得するためにミラーされる。新しい書込みがメディアで発生するごとに、データドライブと対応するミラードライブの両方に全データを複製し書込む必要がある。
図1を参照すると、RAID10のアプローチが示される。ドライブDISK1にミラーされたドライブDISK0が示される。ドライブDISK3にミラーされたドライブDISK2が示される。RAID1とRAID10のアプローチは、別のドライブに、あるドライブの完全な内容をミラーすることを意味する。RAID1として構成された2つのドライブが存在するならば、それぞれのドライブが容量Cギガバイトを有する場合、RAIDグループの総容量はCギガバイト(即ち、両方のドライブの総容量である2Cギガバイトではない)になるだろう。従って、RAID1又はRAID10の全体のストレージ容量は、RAID1又はRAID10の構成における全てのドライブの総容量の50%である。
図2を参照すると、RAID4とRAID5のアプローチが示される。複数のドライブDISK0、DISK1、DISK2、及びDISK3が示される。RAID4とRAID5においては、データブロックはRAIDグループの複数のドライブDISK0〜DISK3に亘ってストライプされる。示されたRAID4の構成においては、ドライブDISK0、DISK1、及びDISK2がデータを格納する。パリティブロックは、専用のドライブ(即ち、ドライブDISK3として示される)に格納される。RAID5においては、パリティはRAIDグループにおける全てのドライブDISK0〜DISK4に亘って分散される。示されたRAID5の構成においては、データを保持するドライブDISK3が示される(RAID4と比較してドライブDISK3のみがパリティを保持する場合)。Dパリティ(即ち、データブロックDのパリティ)は、ディスクDISK0に格納される。Cパリティは、DISK2に格納される。ディスクDISK2に格納されたBパリティが示される。ディスクDISK3に格納されたAパリティが示される。
RAID4とRAID5のアプローチは、排他的論理和機能に基づいたパリティ生成を用いる。RAID4とRAID5では、データの全てのストライプはパリティを生成するために用いられる。生成されたパリティは、その後、別の専用のドライブに格納されるか、又はRAIDグループの全てのドライブに亘って分散される。RAID4とRAID5は、データを失うことなしに一度に1つのドライブ故障のみに耐えることができる。
図3を参照すると、専用の圧縮データドライブのアプローチが示される。複数のドライブDRIVE1、DRIVE2、及びDRIVE3が示される。ドライブDRIVE Cも示される。DRIVE1、DRIVE2、及びDRIVE3は、非圧縮データD0〜D8を格納する。ドライブDRIVE Cは、データC−D0からC−D8としてデータD0〜D8の圧縮されたバージョンを格納する専用のドライブである。
専用の圧縮データドライブの方法のパフォーマンスは欠点を有する。RAIDグループごとの圧縮データを格納するための単一の専用のドライブDRIVE C。全ての新しい書込みは、複数のストライプに分割される。それぞれのストライプに関して、圧縮データC−D0からC−D8は、専用のドライブDRIVE Cに生成及び格納される。RAIDグループにおいてnドライブが存在するならば、n−1ストライプの圧縮データは、専用のドライブDRIVE Cに格納される。n−1ストライプの処理は、圧縮データの書込みを完了する際にディレーを導入し、ボトルネックを引き起こす。データストライプと圧縮データの両方を書込むように構成されたシステムは、圧縮されたドライブDRIVE Cでの書込み待機のために同時にディレーに遭遇するだろう。専用の圧縮データドライブの方法は耐故障性の欠点をも有する。専用の圧縮されたドライブとRAIDグループにおける別のドライブの故障は、データ損失(論理ドライブ故障)をもたらすだろう。
図4を参照すると、分散された圧縮データのアプローチが示される。複数のドライブDRIVE1、DRIVE2、DRIVE3、DRIVE4が示される。圧縮データは、パリティがRAID5のアプローチにおいて分散される方法と同様にドライブに亘って分散される。ドライブDRIVE1〜4のそれぞれは、他の3つのドライブのそれぞれからのデータのストライプの圧縮されたバージョンを含む。分散された圧縮データのアプローチは、専用の圧縮データの方法よりも優れたパフォーマンスを提供する。しかしながら、分散された圧縮データの方法における1つ以上のドライブの故障はデータ損失をもたらすだろう。
本発明は、少なくとも2つのドライブの論理的に隣接するグループ、ループ、及び圧縮/解凍回路を備える装置に関する。ドライブのそれぞれは、(i)先のドライブの圧縮データを格納するように構成された第1の領域と、(ii)ドライブの非圧縮データを格納するように構成された第2の領域と、を備える。ループは、論理的に隣接するグループにおける次のドライブに接続されるだろう。圧縮/解凍回路は、ドライブのそれぞれに格納されたデータを圧縮及び解凍するように構成されるだろう。
本発明の目的、特徴、及び利点は、(i)冗長性と耐故障性のレベルを確立し、(ii)パリティを用いることなしに実現され、(iii)圧縮/解凍動作のためのASICを実装し、(iv)ドライブエンクロージャにおいて既存の冗長なドライブチャネルを用い、(v)データを格納するために使用中のドライブポートを用い、(vi)圧縮/解凍を実現するファームウェアを提供し、(vii)別のドライブに格納された圧縮データブロックと比較して、ドライブのそれぞれのデータブロック間のマッピングを格納するファームウェアを実現し、及び/又は(viii)コスト効率が良いドライブストレージの構成を提供することを含む。
これらと他の本発明の目的、特徴、及び利点は、以下の明細書と添付された特許請求の範囲と図面とから明らかになるだろう。
RAID1とRAID10のアプローチを示す図である。 RAID4とRAID5のアプローチを示す図である。 専用の圧縮データドライブのアプローチを示す図である。 分散された圧縮データのアプローチを示す図である。 本発明のドライブの一例を示す図である。 圧縮データRAID機構のループ接続方式における複数のドライブを示す図である。 圧縮/解凍動作のための専用の論理を示す図である。 ドライブエンクロージャを示す図である。 ドライブへのデータフローの一例を示す図である。 2つのドライブ故障を有する本発明を示す図である。 2つのドライブ故障を有する分散された圧縮データの方法を示す図である。 2つのドライブ故障を有する専用の圧縮データドライブの方法を示す図である。
最大限のストレージ効率及び/又はパフォーマンスを有する高レベルな冗長性の達成は、データストレージが増大する現代世界における共通の目標である。本発明は、RAID構成においてデータの冗長なコピーを圧縮する圧縮方式を実現するだろう。冗長データは、一鎖型の方式において分散されるだろう。論理的なループは、パリティ及び/又はミラーリング技法を必要とすることなしにRAID構成において高レベルな冗長性及び/又はパフォーマンスを達成するために実装されるだろう。圧縮方式を冗長性のために用いることは、更なる冗長性、優れた耐故障性、及び/又は向上されたパフォーマンスを提供する。ドライブのセットは、RAIDグループに分類されるだろう。ドライブのそれぞれのデータ内容は、RAIDグループにおける別のドライブに圧縮及び格納されるだろう。一鎖型の論理構成が実現されるだろう。ドライブの冗長なポートとドライブエンクロージャにおける冗長なドライブチャネルは、論理構成を提供するために用いられるだろう。
データで50%の圧縮が達成されるシナリオにおいては、RAID1のドライブグループと比較して、本発明はストレージ使用率を33.33%増加させるだろう。本発明のストレージ効率は、データに適用される圧縮の量に依存して向上するだろう。50%を超える圧縮に関しては、本発明のストレージ効率は更に増加し、耐故障性に如何なる妥協をもすることなしに、RAID4及び/又はRAID5のストレージ効率よりも一般に性能が優れる。
ストレージサブシステムのために指定されたパフォーマンスを保証すべく、圧縮及び/又は解凍動作のためにASIC(特定用途向けIC)が実装されるだろう。ドライブエンクロージャにおける冗長なドライブポート及び/又は冗長なドライブチャネルの使用は、ドライブのために指定されたパフォーマンスを保証するだろう。本発明の一鎖型の圧縮ソリューションは、RAIDシステムに対して向上された耐故障性、冗長性、及び/又はアベイラビリティを提供するだろう。
本発明のRAIDグループは、ドライブの集合を含むだろう。データのブロックの一例は、単一ドライブに格納されるだろう。あるドライブからのデータの一例の圧縮形は、同一のRAIDグループにおける別の他のドライブに格納されるだろう。2つのドライブは「論理的に隣接する」ドライブと呼称されるだろう。パリティ及び/又はミラーリングのいずれかを用いる必要性は、圧縮を導入することによって回避されるだろう。特定のドライブの圧縮データは一鎖型の方式におけるドライブに格納されるだろう。例えば、ループが構成されるだろう。高レベルな冗長性、耐故障性、及び/又はパフォーマンスが達成されるだろう。
図5を参照すると、本発明のドライブ100が示される。ドライブ100は、一般に領域102と領域104を備える。領域104は、非圧縮データを格納するために用いられるだろう。領域102は、ある論理的に隣接するドライブの圧縮データ(例えば、ドライブn−1からの圧縮データ)を格納するために用いられるだろう。
実装された特定の圧縮機構は、ドライブ100の現在の内容のワンツー(one−to−two)マッピングを必要とするだろう(図6に関連してより詳細に説明される)。例えば、あるドライブのデータの圧縮されたバージョンは、論理的に隣接するドライブに格納されるだろう。マッピング情報は、ストレージアレイコントローラに組み込まれたファームウェアによって保存されるだろう。マッピング情報は、論理的に隣接するドライブから圧縮データブロックを解凍することによって、ドライブ故障及び/又はエラー修正の場合にドライブのデータを復元するために用いられるだろう。故障したドライブを新規の代替ドライブに交換するとき、論理的に隣接するドライブから圧縮データブロックを解凍することによって、故障したドライブのデータを新規のドライブに復元することができる。マッピング情報は、冗長なストレージアレイコントローラ(図7に関連してより詳細に説明される)のそれぞれに組み込まれたコントローラファームウェアによって実現されるだろう。
図6を参照すると、ドライブシステム(又は構成)150のブロック図が示される。システム150は、一般に複数のドライブ100a〜100nを備える。ドライブ100a〜100nの特定の数は、特定の実施の形態の設計基準を満たすように変更されるだろう。ドライブ100a〜100nのそれぞれは、データセクション(例えば、D1〜D5)と圧縮セクション(例えば、C1〜C5)を有するだろう。例えば、ドライブ100aは、非圧縮データD1を格納するように構成されたデータセクションを有するだろう。データブロックD1の圧縮形は、データC1として論理的に隣接するドライブに格納されるだろう。例えば、圧縮データC1は、ドライブ100bに格納されるだろう。ドライブ100a〜100nは、ループ160a〜160nを形成するだろう。ループ160a〜160nは、一鎖型の論理的なループを形成するだろう。一般に、ループ160a〜160nは、ドライブ100a〜100nの間の複数の論理接続として実現されるだろう。例えば、部分160aは、ドライブ100bの圧縮データC1にドライブ100aのデータD1を論理的に接続するだろう。一般にレフトツーライト方式のループ160a〜160nが示される。しかしながら、ループ160a〜160nは、一般にライトツーレフト方式で実現されても良い。例えば、部分160dは、ドライブ100dの圧縮データC5にドライブ100nのデータD5を論理的に接続するだろう。ループ160a〜160nの特定の形態は、特定の実施の形態の設計基準を満たすように変更されるだろう。
示された一例においては、ドライブ100bはデータD2を格納するだろう。データD2の圧縮されたバージョンは、データC2としてドライブ100cに格納され、論理的なループ160a〜160nの部分160bを通じてアクセス可能となるだろう。同様に、ドライブ100aのデータD1は、ドライブ100bにデータC1として格納されたデータD1の圧縮されたバージョンを有するだろう。ドライブ100nの圧縮データC5は、ドライブ100aに格納されるだろう。一般に、2つのドライブ100a〜100nの全てが論理的に隣接するグループを形成するだろう。一例においては、ドライブ100b及び100cは、論理的に隣接するグループであるだろう。論理的に隣接するグループは、互いに隣接して示されないドライブによって形成されても良い。圧縮データC3としてドライブ100dに格納されたドライブ100cのデータD3が示される。
図7を参照すると、ストレージサブシステム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グループのフェイルオーバー機構のために用いられるだろう。
図8を参照すると、ドライブエンクロージャ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は、ESM B 308によって処理されるプライマリチャネルを通じて非圧縮データを転送するプライマリポートとして用いられるだろう。ポートP1は、ESM302によって処理されるセカンダリチャネルを通じて圧縮データを転送するセカンダリポートとして用いられるだろう。
本発明を用いて実現されたRAIDグループは、ドライブ100a〜100nの1つに格納された実(圧縮されていない)データD1〜Dnと、2つの他の論理的に隣接するドライブ100a〜100nに格納された圧縮データC1〜Cnとを有するだろう。ホストからのそれぞれのデータセグメントの到着と同時に、データD1〜D5は、ドライブインタフェース216に送信される複数のストライプに分割される。この処理と並列して、ストライプされたデータは、ドライブインタフェースに送信された圧縮エンジンによって圧縮される。圧縮データC1〜Cnと共に実データD1〜Dnは、ドライブエンクロージャ300に送信される。
図9を参照すると、ドライブ100a〜100nへのデータフローの一例が示される。データは、データチャネル320で送信されるだろう。ドライブ100a〜100nのそれぞれは、データチャネル320からプライマリポートP1でデータを受信するだろう。データチャネル320からのデータは、圧縮/解凍エンジン214によって圧縮されるだろう。ドライブ100a〜100nのそれぞれは、圧縮/解凍エンジン214からセカンダポートP2で圧縮データを受信するだろう。これは、ドライブパフォーマンスの損失なしにドライブ100a〜100nの全てによりRAIDグループが動作することを保証する。論理的に隣接するドライブ故障がなければ、nがRAIDグループにおけるドライブの総数である場合、本発明は通常n/2のドライブの耐故障性を提供する。
本発明で50%のデータ圧縮を用いることは、RAID1の形態と比較して、同一のストレージ効率とより大きなパフォーマンスを保証するだろう。2つのドライブの一例を考慮する。ドライブ100a〜100nのそれぞれが容量Cギガバイトを有する場合、RAID1が占める最大領域はCギガバイトである。しかしながら、本発明では、ドライブ100a〜100nのそれぞれにおけるデータ領域は0.666Cギガバイトを占め、圧縮領域は0.333Cギガバイトを占める(50%の圧縮)。2つのドライブにおいては、RAIDグループが格納する実データの総容量は約1.33Cギガバイトである。パフォーマンスは、両方のドライブに亘ってストライプされたデータを有するRAID0のグループのようにドライブ100a〜100nがアクセスされるのでより優れる。従って、本発明は50%以上の圧縮によりRAID1よりも優れたパフォーマンスを提供するだろう。しかしながら、50%を超える圧縮を実現することによって、ドライブ1001〜100nのストレージ容量効率は更に向上するだろう。
1つを超えるドライブが故障しても(n/2までのドライブが論理的に隣接するドライブの故障を提供しない場合)、本発明はデータ損失なしに動作し続けるので、本発明はRAID3及びRAID5の形態よりも一般に耐故障性に優れる。RAID3及びRAID5のグループと比較して、更なる耐故障性が実現されるだろう。RAID3及びRAID5のグループの場合には、修正動作がグループで実行されるときは常に、パリティを再計算し、修正済のデータとパリティを更新するために全てのドライブが読取られる必要がある。本発明では、修正動作ごとに、データがそれぞれのドライブ100a〜100nにストライプされ書込まれる。そのとき、ストライプの圧縮は、RAIDグループにおける論理的に隣接するドライブに独立して生成され書込まれる。パリティ生成方法と比較して、少ない読取り及び/又は更新が必要とされる。
図10を参照すると、2つのドライブ故障を有するドライブシステム150を示す図が示される。故障する全てのドライブが不連続である限り、ドライブシステム150は多重ドライブ損失シナリオを処理するだろう。ドライブ100aとドライブ100cは、故障して×で印を付けられる。2つのドライブが故障したとしても、全ては引き続き使用可能である。以下の表は、それぞれのドライブの状態とデータアベイラビリティを示す。
図11を参照すると、2つのドライブ故障を有する分散された圧縮データの方法を示す図が示される。分散された圧縮データの方法を用いる任意の2つのドライブの故障はデータ損失をもたらす。DRIVE2とDRIVE4は、ドライブ故障を示すために×で印を付けられる。その結果、データD1とD8は失われる。
図12を参照すると、2つのドライブ故障を有する専用の圧縮データの方法を示す図が示される。専用の圧縮データの方法を用いる専用のドライブとRAIDシステムにおける他のドライブの故障はデータ損失をもたらす。DRIVE2と専用のドライブDRIVE4は、ドライブ故障を示すために×で印を付けられる。その結果、データブロックD1、D4、及びD7は失われる。
本発明は、分散された圧縮データの方法及び専門の圧縮データの方法と比較して、より高レベルな冗長性と耐故障性と共にパフォーマンスとの間の優れたトレードオフを提供する。
本発明は、特にその好適な実施の形態に関して示され説明されたが、本発明の範囲から逸脱することなく、形式と細部の様々な変更がなされるであろうことが当業者によって理解されるだろう。

Claims (17)

  1. 少なくとも2つのドライブの論理的に隣接するグループであって、前記2つのドライブのそれぞれは、(i)先のドライブの圧縮データを格納するように構成された第1の領域と、(ii)前記先のドライブの非圧縮データを格納するように構成された第2の領域と、(iii)前記非圧縮データをドライブコントローラに送信するように構成された第1のポートと、(iv)前記圧縮データを前記2つのドライブ間で送信するように構成された第2のポートと、を有することを特徴とする論理的に隣接するグループと、
    前記論理的に隣接するグループの次のドライブに接続されたループと、
    前記圧縮データを前記第2のポートを通じて送信する前に、前記2つのドライブのそれぞれに格納された前記圧縮及び非圧縮データを圧縮及び解凍するように構成された圧縮/解凍回路であって、前記2つのドライブの1つのための前記非圧縮データは、前記圧縮データとして前記2つのドライブの他の少なくとも1つに格納されることを特徴とする圧縮/解凍回路と、
    を備える装置。
  2. 前記論理的に隣接するグループにおける前記2つのドライブの1つの前記第2の領域は、前記次のドライブの前記第1の領域に接続されることを特徴とする請求項1に記載の装置。
  3. 前記ループの一部は、前記次のドライブの前記第1の領域に前記2つのドライブの1つの前記第2の領域を接続することを特徴とする請求項1に記載の装置。
  4. 前記2つのドライブの1つの前記第1の領域の圧縮データは、前記ループの一部を通じてアクセス可能であることを特徴とする請求項1に記載の装置。
  5. マッピング情報は、(i)ストレージアレイコントローラに組み込まれ、(ii)ドライブ故障及び/又はエラー修正の場合に前記ドライブのデータを復元するために用いられるファームウェアによって保存されることを特徴とする請求項1に記載の装置。
  6. 前記圧縮/解凍回路の専用の論理は、コントローラファームウェアRAIDエンジンコードに組み込まれることを特徴とする請求項1に記載の装置。
  7. 前記圧縮/解凍回路の専用の論理は、ASIC周辺装置に送信されることを特徴とする請求項1に記載の装置。
  8. 前記2つのドライブのそれぞれは、圧縮データを格納及び検索するために用いられるドライブポートを備えることを特徴とする請求項1に記載の装置。
  9. 前記2つのドライブのそれぞれは、ドライブエンクロージャにおいて用いられる冗長なドライブチャネルを備えることを特徴とする請求項1に記載の装置。
  10. 前記装置は、パリティを用いることなしに冗長性と耐故障性を確立することを特徴とする請求項1に記載の装置。
  11. 少なくとも2つのドライブの論理的に隣接するグループを実現するための手段であって、前記2つのドライブのそれぞれは、(i)先のドライブの圧縮データを格納するように構成された第1の領域と、(ii)前記先のドライブの非圧縮データを格納するように構成された第2の領域と、(iii)前記非圧縮データをドライブコントローラに送信するように構成された第1のポートと、(iv)前記圧縮データを前記2つのドライブ間で送信するように構成された第2のポートと、を有することを特徴とする手段と、
    前記論理的に隣接するグループの次のドライブに接続されたループを実現するための手段と、
    前記圧縮データを前記第2のポートを通じて送信する前に、前記2つのドライブのそれぞれに格納された前記圧縮及び非圧縮データを圧縮及び解凍するように構成された圧縮/解凍回路を実現するための手段であって、前記2つのドライブの1つのための前記非圧縮データは、前記圧縮データとして前記2つのドライブの他の少なくとも1つに格納されることを特徴とする手段と、
    を備える装置。
  12. 前記装置は、パリティを用いることなしに冗長性と耐故障性を確立することを特徴とする請求項11に記載の装置。
  13. ドライブアレイにおいて耐故障性を実現するための方法であって、
    (A)少なくとも2つのドライブの論理的に隣接するグループを実現するステップであって、前記2つのドライブのそれぞれは、(i)先のドライブの圧縮データを格納するように構成された第1の領域と、(ii)前記先のドライブの非圧縮データを格納するように構成された第2の領域と、(iii)前記非圧縮データをドライブコントローラに送信するように構成された第1のポートと、(iv)前記圧縮データを前記2つのドライブ間で送信するように構成された第2のポートと、を有することを特徴とするステップと
    (B)前記論理的に隣接するグループの次のドライブに接続されたループを実現するステップと
    (C)前記圧縮データを前記第2のポートを通じて送信する前に、前記2つのドライブのそれぞれに格納された前記圧縮及び非圧縮データを圧縮及び解凍するように構成された圧縮/解凍回路を実現するステップであって、前記2つのドライブの1つのための前記非圧縮データは、前記圧縮データとして前記2つのドライブの他の少なくとも1つに格納されることを特徴とするステップと
    備える方法。
  14. 前記方法は、パリティを用いることなしに冗長性と耐故障性を確立することを特徴とする請求項13に記載の方法。
  15. 前記装置は、ドライブの数をnとしたとき、n/2のドライブ故障までの耐故障性を提供することを特徴とする請求項1に記載の装置。
  16. 前記装置は、ドライブの数をnとしたとき、n/2のドライブ故障までの耐故障性を提供することを特徴とする請求項11に記載の装置。
  17. 前記方法は、前記ドライブアレイにおけるドライブの数をnとしたとき、n/2のドライブ故障までの耐故障性を提供することを特徴とする請求項13に記載の方法。
JP2011068013A 2010-03-26 2011-03-25 パリティとミラーリングを用いることなしにraidシステムにおいて高レベルな冗長性、耐故障性、及びパフォーマンスを確立する方法 Expired - Fee Related JP4965722B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/732,908 2010-03-26
US12/732,908 US8181062B2 (en) 2010-03-26 2010-03-26 Method to establish high level of redundancy, fault tolerance and performance in a raid system without using parity and mirroring

Publications (3)

Publication Number Publication Date
JP2011243190A JP2011243190A (ja) 2011-12-01
JP2011243190A5 JP2011243190A5 (ja) 2012-04-05
JP4965722B2 true JP4965722B2 (ja) 2012-07-04

Family

ID=44528210

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011068013A Expired - Fee Related JP4965722B2 (ja) 2010-03-26 2011-03-25 パリティとミラーリングを用いることなしにraidシステムにおいて高レベルな冗長性、耐故障性、及びパフォーマンスを確立する方法

Country Status (6)

Country Link
US (1) US8181062B2 (ja)
EP (1) EP2375331A3 (ja)
JP (1) JP4965722B2 (ja)
KR (1) KR101158838B1 (ja)
CN (1) CN102200934B (ja)
TW (1) TWI372339B (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8181062B2 (en) 2010-03-26 2012-05-15 Lsi Corporation Method to establish high level of redundancy, fault tolerance and performance in a raid system without using parity and mirroring
US10929040B1 (en) * 2011-09-28 2021-02-23 EMC IP Holding Company LLC RAID 1—half compressed data storage
US9959284B2 (en) * 2014-01-10 2018-05-01 Appex Networks Holding Limited System and method for synchronizing history data for compression and decompression
CN107562576A (zh) * 2017-09-14 2018-01-09 郑州云海信息技术有限公司 一种数据保护的方法
US10776202B1 (en) * 2017-09-22 2020-09-15 Pure Storage, Inc. Drive, blade, or data shard decommission via RAID geometry shrinkage

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5757642A (en) 1995-01-20 1998-05-26 Dell Usa L.P. Multi-function server input/output subsystem and method
US6098128A (en) * 1995-09-18 2000-08-01 Cyberstorage Systems Corporation Universal storage management system
US5812754A (en) 1996-09-18 1998-09-22 Silicon Graphics, Inc. Raid system with fibre channel arbitrated loop
JP3595099B2 (ja) 1997-03-17 2004-12-02 富士通株式会社 デバイスアレイ・システム
US6076143A (en) 1997-09-02 2000-06-13 Emc Corporation Method and apparatus for managing the physical storage locations for blocks of information in a storage system to increase system performance
US6151659A (en) 1997-12-22 2000-11-21 Emc Corporation Distributed raid storage system
US6442659B1 (en) * 1998-02-17 2002-08-27 Emc Corporation Raid-type storage system and technique
US6192027B1 (en) * 1998-09-04 2001-02-20 International Business Machines Corporation Apparatus, system, and method for dual-active fibre channel loop resiliency during controller failure
KR100340686B1 (ko) 2000-09-19 2002-06-15 오길록 다중 호스트 컴퓨터와 레이드 사이의 중복연결을 위한 장치
US6678768B1 (en) 2000-10-06 2004-01-13 International Business Machines Corporation Method and apparatus for configuring redundant array of independent disks (RAID)
US6862609B2 (en) * 2001-03-07 2005-03-01 Canopy Group, Inc. Redundant storage for multiple processors in a ring network
US7076606B2 (en) * 2002-09-20 2006-07-11 Quantum Corporation Accelerated RAID with rewind capability
EP1597674B1 (en) 2003-02-10 2008-04-09 Netezza Corporation Rapid regeneration of failed disk sector in a distributed database system
WO2004090676A2 (en) 2003-04-03 2004-10-21 Commvault Systems, Inc. Remote disaster data recovery system and method
JP2006113648A (ja) 2004-10-12 2006-04-27 Hitachi Ltd ディスクアレイ装置
CN101095115A (zh) * 2004-11-05 2007-12-26 数据机器人技术公司 存储系统条件指示器和方法
JP2006251960A (ja) 2005-03-09 2006-09-21 Hitachi Ltd ストレージ装置
US7512862B1 (en) 2005-04-13 2009-03-31 Network Appliance, Inc. Compression of data for protection
TW200807258A (en) 2006-07-28 2008-02-01 Qnap Systems Inc Data recovery method and system when redundant array of independent disks (RAID) is damaged
US7958273B2 (en) * 2006-10-10 2011-06-07 Lsi Corporation System and method for connecting SAS RAID controller device channels across redundant storage subsystems
CN101320342A (zh) * 2007-06-07 2008-12-10 威达电股份有限公司 应用于数据处理装置的数据备份/恢复系统及方法
JP2009098996A (ja) * 2007-10-18 2009-05-07 Hitachi Ltd ストレージシステム
JP5112003B2 (ja) * 2007-10-19 2013-01-09 株式会社日立製作所 ストレージ装置及びこれを用いたデータ格納方法
US8073993B2 (en) * 2009-04-20 2011-12-06 International Business Machines Corporation Management of redundant physical data paths in a computing system
US8407378B2 (en) * 2009-04-22 2013-03-26 Lsi Corporation High-speed inline data compression inline with an eight byte data path
US8181062B2 (en) 2010-03-26 2012-05-15 Lsi Corporation Method to establish high level of redundancy, fault tolerance and performance in a raid system without using parity and mirroring
US8112663B2 (en) * 2010-03-26 2012-02-07 Lsi Corporation Method to establish redundancy and fault tolerance better than RAID level 6 without using parity

Also Published As

Publication number Publication date
EP2375331A2 (en) 2011-10-12
KR101158838B1 (ko) 2012-06-27
KR20110108314A (ko) 2011-10-05
TW201209575A (en) 2012-03-01
EP2375331A3 (en) 2011-10-26
CN102200934B (zh) 2014-12-17
US8181062B2 (en) 2012-05-15
US20110239041A1 (en) 2011-09-29
JP2011243190A (ja) 2011-12-01
TWI372339B (en) 2012-09-11
CN102200934A (zh) 2011-09-28

Similar Documents

Publication Publication Date Title
US10613934B2 (en) Managing RAID parity stripe contention
JP3595099B2 (ja) デバイスアレイ・システム
JP4516846B2 (ja) ディスク・アレイ・システム
KR100275900B1 (ko) 알에이아이디 서브시스템에 있어서 분할패러티 예비 디스크 구현방법
US8694742B2 (en) Storage system and data management method for mirroring volumes with allocate on use function
JP4955822B2 (ja) パリティを用いることなしにraidレベル6よりも優れた冗長性と耐故障性を確立する方法
US7743308B2 (en) Method and system for wire-speed parity generation and data rebuild in RAID systems
JP4965722B2 (ja) パリティとミラーリングを用いることなしにraidシステムにおいて高レベルな冗長性、耐故障性、及びパフォーマンスを確立する方法
JP5241117B2 (ja) Raidストレージ・システムのパリティ値を生成する方法及びアダプタを内蔵するraidストレージ・システム(エンクロージャベースのraidパリティ支援機構)
JP2011086214A (ja) ディスクアレイ装置
JP2009545062A (ja) RAID(RedundantArrayofIndependentDisks)システム用のファイルサーバ
EP2399195A1 (en) Method and system for performing i/o operations on disk arrays
JP2000148409A (ja) 冗長記憶装置
JP2006285802A (ja) データ記憶装置、再構築制御装置、再構築制御方法、プログラム及び記憶媒体
KR100447267B1 (ko) 레이드 시스템의 분산 제어장치
WO2019138999A1 (ja) ディスクアレイコントローラ、ストレージ装置、ストレージ装置の復旧方法、及びディスクアレイコントローラの復旧プログラムを格納した非一時的な記憶媒体
JPH0816327A (ja) ディスクアレイ装置
JPH11259240A (ja) データ記憶装置
JPH10222314A (ja) 記憶装置アレイシステム
JPH10143331A (ja) 記憶装置アレイシステム
JPH10240452A (ja) 分散データ格納システムおよび復旧方式

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120220

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20120220

TRDD Decision of grant or rejection written
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20120306

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120313

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120329

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150406

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees