JP2010102695A - Hdd障害からの高速データ回復 - Google Patents

Hdd障害からの高速データ回復 Download PDF

Info

Publication number
JP2010102695A
JP2010102695A JP2009199344A JP2009199344A JP2010102695A JP 2010102695 A JP2010102695 A JP 2010102695A JP 2009199344 A JP2009199344 A JP 2009199344A JP 2009199344 A JP2009199344 A JP 2009199344A JP 2010102695 A JP2010102695 A JP 2010102695A
Authority
JP
Japan
Prior art keywords
hard disk
data
stripe
disk drives
parity 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.)
Granted
Application number
JP2009199344A
Other languages
English (en)
Other versions
JP5256149B2 (ja
Inventor
Tomohiro Kawaguchi
智大 川口
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of JP2010102695A publication Critical patent/JP2010102695A/ja
Application granted granted Critical
Publication of JP5256149B2 publication Critical patent/JP5256149B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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
    • 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
    • G06F11/1092Rebuilding, e.g. when physically replacing a failing disk

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】高速なデータ回復、高容量効率、自己回復機能を実現する。
【解決手段】ストレージシステムは、第1の複数のハードディスクドライブを有する第1のストレージ装置および第1の制御装置を備える。第1の制御装置はストライプ状に第1の複数のハードディスクドライブにデータを格納する。各ストライプは、第1の複数のハードディスクドライブのM+Nハードディスクドライブに割り付けられたMデータおよびNパリティデータを有する。第1のハードディスクドライブは第1のストライプおよび第2のストライプの両方のデータあるいはパリティデータを含むが、第2のハードディスクドライブは第1のストライプか第2のストライプのうちの1つだけのデータあるいはパリティデータを含む。障害のあるハードディスクドライブのデータは、各ストライプの他のハードディスクドライブのデータおよびパリティデータを用いた計算によって回復される。
【選択図】図1

Description

0001 本発明は、一般的にはストレージシステムにおけるデータ回復に関するものであり、特にHDD(ハードディスクドライブ)障害のような、ストレージ装置の障害時における高速なデータ回復のための方法および装置に関するものである。本発明は、ディスク障害時におけるストレージデータ回復の迅速さ、およびディスク保守の容易さを実証する。
0002 現在、RAID(Redundant Array of Independent Disks)構成が、ディスク障害からデータを保護するために一般的に使用されている。例えば、RAID5とRAID6では、各々、RAIDグループの1台のディスク障害から回復することが可能である。RAID5とRAID6は、各々、RAID1またはRAID10より容量に関し、より効率的である。ディスク障害が生じた場合、ストレージシステムは予約済の“予備ディスク”にデータを回復する。データを回復するためには、正常なディスクの全領域にアクセスする必要がある。データ回復に要する時間は、ディスクの容量およびディスクのスループット性能に依存する。一般的に言えば、容量の技術成長率はスループットのそれよりも大きい。その結果として、RAID手法はディスク障害から回復するのが遅く、年々より遅くなって行くであろう。データ回復に、長い時間がかかると、再構成のためのディスクのI/O(入/出力)と通常のディスクのI/Oの間の干渉によって、長時間の性能低下を引き起こす可能性がある。データ回復に長時間がかかると、さらにデータ回復中に次のディスク障害に遭遇する可能性もある。
0003 RAIN(Redundant Array of Independent Nodes:独立したノードの冗長アレイ)に基づいた別のアプローチのもとでは、ストレージシステムは複数のノード(ディスク、ストレージサブシステムなど)を有している。ストレージシステムは、適切に選ばれた2つ以上のノードにデータを格納する。ノード障害が生じた時には、ストレージシステムは冗長データから別のノードにデータをコピーする。この特化プロセスにより回復の性能は改善され得る。RAID手法は1つ以上の予備ディスクを保有する必要があるので、RAIN手法のもとでの回復時間は、RAID手法より高速になるであろう。RAIN手法においては、空きスペースへ冗長データを自動的に格納するので、予備のディスクを保持する必要が無い(自己回復)。一方、RAIN手法のもとでの容量効率は、RAID手法のそれより低くなる。
0004 本発明の実施形態は、HDD障害のようなストレージ装置障害からの高速なデータ回復のための方法と装置を提供する。複数のディスクにデータを分散し、分散したデータにRAID技術を使用し、仮想ボリュームと物理ディスクの間のページマッピング管理を行い、ページからページへのコピーによる並列アクセスによるデータ回復により、本発明は高速データ回復、高容量効率、自己回復機能を実現する。
0005 本発明の一つの態様によれば、ストレージシステムは、第1の複数のハードディスクドライブを持つ第1のストレージ装置と、第1の複数のハードディスクドライブを制御する第1の制御装置とを有する。第1の制御装置は、ストライプ(縞模様)状にデータを第1の複数のハードディスクドライブに格納する。各ストライプはそれぞれMデータおよびNパリティデータを含む。ここでMとNは整数である。また、第1の制御装置はMデータを使用して、各ストライプに対してNパリティデータを計算する。各ストライプのMデータおよびNパリティデータは、第1の複数のハードディスクドライブのM+N台のハードディスクドライブに割り付けられる。第1の複数のハードディスクドライブ内の、第1のハードディスクドライブは、ストライプの内の第1のストライプおよび第2のストライプの両方のデータまたはパリティデータを有するが、第1の複数のハードディスクドライブ内の、第2のハードディスクドライブは、ストライプの内第1のストライプか第2のストライプのどちらか1つだけのデータまたはパリティデータを有する。第1の複数のハードディスクドライブのうちの1台に障害が生じ、この障害に関わるデータ回復においては、障害ハードディスクドライブのデータは、各ストライプに対して、第1の複数のハードディスクドライブの他のハードディスクドライブのデータおよびパリティデータを使用した計算によって回復される。
0006 ある実施例においては、第1の複数のハードディスクドライブの第2のハードディスクドライブは、ストライプの内の第1のストライプのデータあるいはパリティデータを有する。第1の複数のハードディスクドライブの第3のハードディスクドライブは、ストライプの内の第2のストライプのデータまたはパリティデータを有しており、第1のストライプのデータまたはパリティデータを有してはいない。さらに、Mは3でありNは1である。第1の複数のハードディスクドライブの数は、4の倍数である。第1のストライプのデータとパリティデータは、第1の複数のハードディスクドライブの第1と第2のハードディスクドライブ、および第4と第5のハードディスクドライブに含まれる。第2のストライプのデータおよびパリティデータは、第1の複数のハードディスクドライブの第1、第3、第4、第5のハードディスクドライブに含まれる。
0007 特定の実施例においては、ストレージシステムは、更に、第2の複数のハードディスクドライブを有する第2のストレージ装置、および第2の複数のハードディスクドライブを制御する第2の制御装置を有する。第1の制御装置により保存されるデータは、第2のストレージ装置から受診される。第1の制御装置は複数のプロセッサを有する。データが第2のストレージ装置から第1のストレージ装置へ移行する時、第2のハードディスクドライブおよび第3のハードディスクドライブは、複数のプロセッサの異なるプロセッサによって同時にアクセスされる。ストレージシステムは、さらに、第1の複数のハードディスクドライブの未割り付けのハードディスクドライブを持つ容量プールボリュームを有する。ストライプは容量プールボリュームから割り付けられる。各ストライプの割り付けは、第2のストレージ装置からのデータの受信を契機に行われる。各ストライプのNパリティデータは異なるバスを経由して第1の制御装置に接続される。
0008 ある実施例においては、ストレージシステムは、さらに、第2の複数のハードディスクドライブを有する第2のストレージ装置と、第2の複数のハードディスクドライブを制御する第2の制御装置とを有する。第1の制御装置によって保存されるデータは、第2のストレージ装置から受信される。第1および第2のストライプのデータおよびパリティデータは、第1の制御装置によって並列に処理される。第1の制御装置は、第1の複数のハードディスクドライブへの、各ストライプの割り付け情報を含むテーブルを有する。Mは6であり、Nは2である。第1の複数のハードディスクドライブの数は、8の倍数である。第1の複数のハードディスクドライブのうちの1つが障害を持つストライプからデータを読み出す場合には、第1の制御装置は障害のあるハードディスクドライブへはアクセスをせず、第1の複数のハードディスクドライブの7台のハードディスクドライブにのみアクセスするように制御される。ストレージシステムは、さらに、第1の複数のハードディスクドライブの内、未割り付けのハードディスクドライブを持つ容量プールボリュームを有する。ストライプは容量プールボリュームから割り付けられる。ストレージシステムは、さらに、第2の複数ハードディスクドライブを持つ第2のストレージ装置と、第2の複数のハードディスクドライブを制御する第2の制御装置とを有する。各ストライプの割り付けは、第2のストレージ装置からのデータの受信を契機に行われる。
0009 本発明の別の態様は、第1の複数ハードディスクドライブを有する第1のストレージ装置と、第1の複数のハードディスクドライブを制御する第1の制御装置と、を有するストレージシステムにおけるデータ回復のための方法に向けられる。本方法は、第1の制御装置の第1の複数のハードディスクドライブにデータをストライプ状に格納し、各ストライプは、整数のMとNに対して、それぞれMデータおよびNパリティデータを含み、第1の制御装置はMデータを使用して、各ストライプに対してNパリティデータを計算するステップと、各ストライプのMデータおよびNパリティデータを、第1の複数のハードディスクドライブのM+Nハードディスクドライブへ割り付け、第1の複数のハードディスクドライブの第1のハードディスクドライブは、ストライプのうちの第1のストライプおよび第2のストライプの両方のデータあるいはパリティデータを含み、第1の複数のハードディスクドライブの第2のハードディスクドライブは、第1のストライプまたは第2のストライプのうちの1つだけのデータあるいはパリティデータを含むようにするステップと、第1の複数のハードディスクドライブの1台に障害を生じ、データ回復を行う場合、第1の複数のハードディスクドライブの他のハードディスクドライブのデータおよびパリティデータを使用して計算することによって、各ストライプに対し障害ハードディスクドライブのデータを回復するステップと、を有することを特徴とする。
0010 本発明の別の態様は、第1の複数のハードディスクドライブを持つ第1のストレージ装置と、第1の複数のハードディスクドライブを制御する第1の制御装置とを有するストレージシステムにおいて、データ回復を行うようデータ処理装置を制御するための複数の命令を格納するコンピュータ可読媒体に向けられる。コンピュータ可読媒体は、データ処理装置に、第1の制御装置の第1の複数のハードディスクドライブに、データを、整数のMとNに対して、各々MデータおよびNパリティデータを含むストライプ状に格納させ、第1の制御装置がMデータを使用して、各ストライプに対しNパリティデータを計算するようにさせる命令と、各ストライプのMデータおよびNパリティデータを、第1の複数のハードディスクドライブのM+Nハードディスクドライブへ割り付け、そこでは第1の複数のハードディスクドライブの第1のハードディスクドライブは、ストライプのうちの第1のストライプおよび第2のストライプの両方のデータあるいはパリティデータを含み、第1の複数のハードディスクドライブの第2のハードディスクドライブは、第1のストライプまたは第2のストライプのうちの1つだけのデータあるいはパリティデータを含むようにする命令と、第1の複数のハードディスクドライブの1台に障害を生じ、データ回復を行う場合、第1の複数のハードディスクドライブの他のハードディスクドライブのデータおよびパリティデータを使用して計算することによって、各ストライプに対し障害ハードディスクドライブのデータを回復させる命令と、を有することを特徴とする。データ処理装置は第1の制御装置に存在してもよい。
0011 本発明の、これらの、および他の特徴および利点は、以下の具体的な実施例の詳細な説明の参照により、同業者には明白になるであろう。
0012 図1は、本発明の方法および装置が適用されるシステムのハードウエア構成を示す。 0013 図2は、本発明の第1の実施例による図1のストレージサブシステムにおけるメモリの例を示す。 0014 図3は、図2のメモリにあるRAIDグループ管理テーブルの例を示す。 0015 図4は、図2のメモリにある仮想ボリューム管理テーブルの例を示す。 0016 図5は、図2のメモリにある仮想ボリュームページ管理テーブルの例を示す。 0017 図6は、図2のメモリにある容量プールチャンク管理テーブルの例を示す。 0018 図7は、図2のメモリにある容量プールページ管理テーブルの例を示す。 0019 図8は、図2のメモリにあるキャッシュ管理テーブルの例を示す。 0020 図9は、各々複数のパーセルを有する8つのHDDを持つ、5x2 RAIDグループの例を示す。 0021 図10は、各々複数のストライプを有する複数のパーセルを持つチャンクの例を示す。 0022 図11は、複数のページを持つチャンクの例を示す。 0023 図12は、複数のページを持つ仮想ボリュームの例を示す。 0024 図13は、複数のスロットを持つページの例を示す。 0025 図14は、仮想ボリュームおよびその仮想ボリューム管理テーブルおよび仮想ボリュームページ管理テーブルの例を示す。 0026 図15は、図14の仮想ボリュームにおける容量プールへのテーブルを参照する構成例を示す。 0027 図16は、仮想ボリュームへのテーブル参照の構造例を示す。 0028 図17は、図2のメモリにある書き込みI/O制御の処理フローの例を示す。 0029 図18は、図2のメモリにある読み出しI/O制御の処理フローの例を示す。 0030 図19は、図2のメモリにあるステージング制御の処理フローの例を示す。 0031 図20は、図2のメモリにあるデステージング制御の処理フローの例を示す。 0032 図21は、図2のメモリにあるコピー制御の処理フローの例を示す。 0033 図22は、図2のメモリにあるパリティ計算制御の処理フローの例を示す。 0034 図23は、図2のメモリにある物理ディスクアドレス制御の処理フローの例を示す。 0035 図24は、図2のメモリにあるフラッシュ制御の処理フローの例を示す。 0036 図25は、図2のメモリにあるキャッシュ制御の処理フローの例を示す。 0037 図26は、図2のメモリにあるページ検出制御(A)の処理フローの例を示す。 0038 図27は、図2のメモリにあるページ検出制御(B)の処理フローの例を示す。 0039 図28は、図2のメモリにあるページ移行制御の処理フローの例を示す。 0040 図29は、チャンクとページのコピーによるデータ回復の例を示す。 0041 図30は、図29のデータ回復の要約およびシーケンスを示す。 0042 図31は、チャンクとページのコピーによるデータ回復の全体的なシーケンスを示す。 0043 図32は、本発明の第2の実施例による図1のストレージサブシステムのメモリの例を示す。 0044 図33は、図32のメモリにあるHDD管理テーブルの例を示す。 0045 図34は、図32のメモリにある仮想ボリューム管理テーブルの例を示す。 0046 図35は、図32のメモリにある仮想ボリュームページ管理テーブルの例を示す。 0047 図36は、図32のメモリにある容量プールチャンク管理テーブルの例を示す。 0048 図37は、仮想ボリュームおよびその仮想ボリューム管理テーブルおよび仮想ボリュームページ管理テーブルの例を示す。 0049 図38は、図37の仮想ボリュームにおける容量プールへのテーブル参照の構造例を示す。 0050 図39は、図32のメモリにあるページ検出制御(A)の処理フローの例を示す。 0051 図40は、図32のメモリにあるページ移行制御の処理フローの例を示す。
0052 本発明の以下の詳細な説明において、添付図面を参照するが、これらの図面は開示の一部を形成するものであり、その図面には発明が実行される典型的な実施例を説明のために図示するが 、本発明の実施はこれらに限定されるものではない。これらの図面の中で、同じ数字はいくつかの画面を通して実質的に同様の構成部分を記述している。さらに、以下に記述され、図面の中で例証されるように、様々な典型的な実施例について詳細な説明がなされるが、本発明は、ここに記述され図示されている実施例に制限されるものではなく、むしろ、当業者が知ることとなり、あるいは知ることになるであろうことに従い、他の実施例にまで拡張できることに注意願いたい。明細書の中において、「1つの実施例」、「この実施例」あるいは「これらの実施例」などの参照がなされるが、これは実施例に関して記述された特別の特徴、構成あるいは特性が発明の少なくとも1つの実施例に含まれることを意味するものであって、明細書の中の様々な場面でこの言葉が用いられても、必ずしもすべて同じ実施例を指しているわけではない。さらに、以下の詳細な説明において、本発明についての完全な理解を得るために、多くの具体的な詳細な事項が述べられる。しかしながら、同業者には、本発明を実施するために、これらの具体的な詳細事項が必ずしもすべてが必要ではないことは明白であろう。あるいはまた、本発明を必ずしも不明瞭にしない範囲で、公知の構成、材料、回路、プロセスおよびインターフェースなどは詳細には記述せず、そして/またはブロック図の形で説明する場合がある。
0053 更に、以下の詳細な説明のある部分は、コンピュータの動作のアルゴリズムに関わる表現や記号表現で示されている。これらのアルゴリズム的な記述および記号表現は、データ処理技術に関わる専門の人々によって、彼らの新技術のエッセンスを、最も有効に他の専門家に伝えるために使用される手段である。アルゴリズムとは、望ましい最終状態または結果に導いて行く、一連の定義されたステップである。本発明においては、実行されるステップは、有形の結果を得るために有形の物理量の操作を必要とする。通常、必ずという訳ではないが、これら物理量は、格納され、転送され、組み合わせられ、比較され、あるいは他の操作を受けることが出来る、電気的または磁気的な信号または命令の形態をとる。主に一般的に良く使われているという理由から、時にはこれらの信号を、ビット、値、要素、記号、文字、用語、数、命令などと呼ぶことが便利であると分かっている。しかしながら、これらとこれらの同類語の総ては、適切な物理量に関連付けられており、これらの量に適用された単に便利なラベルに過ぎないということは心に留めておかねばならない。特に具体的記述がない限り、以下の説明からも明白なように、本記述の全体を通して、“処理"、“コンピューティング”、“計算”、“決定する”、“表示する”、などのような用語を用いた議論は、コンピュータシステム内のレジスタやメモリ内で物理的な(電子)量として表わされるデータを操作し、他の同じようなコンピュータシステムのメモリ、レジスタ、他の情報ストレージ、表示装置において同じように物理量として表現される他のデータへ変換するコンピュータシステムあるいは他の情報処理装置の動作および処理を含むことがあることを理解願いたい。
0054 以下に、より詳細に記述するように、本発明の典型的な実施例は、ストレージ装置障害からの高速なデータ回復のための装置、方法およびコンピュータープログラムを提供する。
0055 図1は、本発明の方法および装置が適用されるシステムのハードウエア構成を示す。ストレージサブシステム100はSAN(ストレージエリアネットワーク)を経由してホストコンピュータ300に接続される。ストレージサブシステム100はストレージ制御装置110およびディスク装置120を有する。ストレージ制御装置110は、ストレージサブシステム100を制御し、プログラムを実行し、メモリ112に格納されたテーブルを使用するCPU(中央処理装置)111を有する。メモリ112はプログラムとテーブルに加えてデータを格納する。チャネルインターフェース113はSAN200と接続するために用意される。ストレージ制御装置110は、ディスク装置120の中のディスク121aから121dに接続されるディスクインターフェース115aから115dを有する。ストレージ制御装置110は、さらに、メモリ112とディスク121の間のデータ転送を行い、パリティデータまたは回復データを生成するためにデータを計算するように構成されたデータ転送制御装置116aから116dを備える。ディスク装置120はデータの格納のために不揮発性のディスク121を備える。
第1の実施例
0056 図2は、本発明の第1の実施例による図1のストレージサブシステム100のメモリ112の例を示す。メモリ112は、ディスク121およびそれらのグループの物理構造管理のためのRAIDグループ管理テーブル112−11−1(図3)、およびボリューム構成管理のための仮想ボリューム管理テーブル112−11−2(図4)を持つ、ボリューム管理テーブル112−11を有する。キャッシュ管理テーブル112−14(図8)は、キャッシュデータ領域112−30を管理するためとLRU/MRU管理のために配備される。シンプロビジョニング管理テーブル112−15は、仮想ボリュームのパーテイションから容量プールのパーテイションへの参照管理のための仮想ボリュームページ管理テーブル112−15−1(図5)と、容量プールのリソース管理および容量プールページから仮想ボリュームページへの参照管理のための容量プールチャンク管理テーブル112−15−2(図6)と、容量プールチャンクのリソース管理のための容量プールページ管理テーブル112−15−3(図7)と、を有する。ボリュームI/O制御112−21は、書き込みI/O要求によって動作し、チャネルインターフェース113経由で書き込みデータを受信しキャッシュデータ領域112−30への書き込みを行う書き込みI/O制御112−21−1(図17)、および読み出しI/O要求によって動作しチャネルインターフェース113経由でキャッシュデータ領域112−30から読み出したデータを送信する読み出しI/O制御112−21−2(図18)を有する。物理ディスク制御112−22は、ディスク121からキャッシュデータ領域112−30へデータを転送するステージング制御112−22−1(図19)と、キャッシュデータ領域112−30からディスク121へデータを転送するデステージング制御112−22−2(図20)と、キャッシュデータ領域112−30のデータをコピーするコピー制御112−22−3(図21)と、ディスク121に保存された冗長データを計算し失われたデータを回復するパリティ計算制御112−22−4(図22)と、容量プールデータの物理アドレスを計算し決定する物理ディスクアドレス制御112−22−5(図23)と、を有する。メモリ112は、さらに、周期的にキャッシュデータ領域112−30からディスク121にダーテイデータを吐き出すフラッシュ制御112−23(図24)、またキャッシュデータ領域112−30のキャッシュにキャッシュされたデータを検出しキャッシュデータ領域112−30に新しいキャッシュ領域を割り付けるキャッシュ制御112−24(図25)を有する。シンプロビジョニング制御112−25は、仮想ボリュームページによって参照された容量プールページを検索する(容量プールページが仮想ボリュームページに割り付けられていない場合には、仮想ボリュームページに対して新しい容量プールページを割り付ける)ページ検出制御112−25−1(図26)と、仮想ボリュームページによって参照された容量プールページを検索する(容量プールページが仮想ボリュームページに割り付けられていない場合、“ゼロ保有ページ”のアドレスを答える)ページ検出制御112−25−2(図27)と、ディスク障害が生じた場合、容量プールページを他の容量ページに移動させるページ移行制御112−25−3(図28)と、を有している。メモリ112は、実行プログラムのスケジュールを制御し、マルチタスク環境を支援するカーネル112−40を備える。プログラム、がack応答(acknowledgement:確認応答)を待つ場合、CPU111は別のタスクを実行するように変わる(例えばディスク121からキャッシュデータ領域112−30へのデータ転送待ち)。キャッシュデータ領域112−30は読み出しあるいは書き込みキャッシュデータを格納し、複数のキャッシュスロットに分割されている。
0057 図3は、図2のメモリ112にあるRAIDグループ管理テーブル112−11−1の例を示す。RAIDグループ管理テーブル112−11−1は、RAIDグループのIDとしてのRAIDグループ番号112−11−1−1と、RAIDグループの構成を表わすRAIDレベル112−11−1−2との欄を有する。例えば、“5xN”(Nは数である)は、“RAIDレベルは5(3D+1P)である”、ことと“8N HDDから成る”ことを意味する。“N/A”は、該当RAIDグループが存在しないことを意味する。RAIDグループ管理テーブル112−11−1は、さらにRAIDグループに属するHDDのIDリストを表わすHDD番号112−11−1−3と、冗長領域以外のRAIDグループの総容量を表わすRAIDグループ容量112−11−1−4と、未使用のシンプロビジョニングチャンクを管理するための未使用チャンクキューインデックス112−11−1−5と、使用シンプロビジョニングチャンクを管理するための使用チャンクキューインデックス112−11−1−6と、の欄を有する。
0058 図4は、図2のメモリ112にある仮想ボリューム管理テーブル112−11−2の例を示す。仮想ボリューム管理テーブル112−11−2は、仮想ボリュームのIDを表わす仮想ボリューム番号112−11−2−1と、仮想ボリュームの容量を表わす(“N/A”は仮想ボリュームが存在しないことを意味する)仮想ボリューム容量112−11−2−2と、仮想ボリュームが現在使用しているチャンクのRAIDグループIDを表わす使用RAIDグループ番号112−11−2−3と、仮想ボリュームが現在使用しているチャンクIDを表わす使用チャンク番号あるいは使用容量プールチャンク番号112−11−2−4との欄を有している。
0059 図5は、図2のメモリ112にある仮想ボリュームページ管理テーブル112−15−1の例を示す。仮想ボリュームページ管理テーブル112−15−1は、仮想ボリュームページのトップアドレスを表わす仮想ボリュームページインデックス112−15−1−1と、仮想ボリュームページが属するRAIDグループIDを表わすRAIDグループ番号112−15−1−2(“N/A”は、容量プールページが仮想ボリュームページに割り付けられていないことを意味する)と、仮想ボリュームページが参照する容量プールページのトップアドレスを表わす容量プールページインデックス112−15−1−3と、の欄を有する。
0060 図6は、図2のメモリ112にある容量プールチャンク管理テーブル112−15−2の例を示す。容量プールチャンク管理テーブル112−15−2は、容量プールチャンクのIDを表わす容量プールチャンク番号112−15−2−1と、容量プールチャンクを参照するのに使用する仮想ボリュームのIDを表わす仮想ボリューム番号112−15−2−2と、容量プールチャンクの使用容量を表わす使用容量112−15−2−3と、一旦その領域が使用し容量プールチャンクの削除された容量を表わす削除容量112−15−2−4と、キュー管理のための前のチャンクポインタを表わす前チャンク番号112−15−2−5と、キュー管理のための次のチャンクポインタを表わす次チャンク番号112−15−2−6(“NULL”は、キューの終端を意味する)と、の欄を有する。
0061 図7は、図2のメモリ112にある容量プールページ管理テーブル112−15−3の例を示す。容量プールページ管理テーブル112−15−3は、容量プールページのIDを表わす容量プールページインデックス112−15−3−1と、容量プールページを参照するのに使用する仮想ボリュームページのIDを表わす仮想ボリュームページ番号112−15−3−2(“NULL”は容量プールページが使用されていないことを意味する)と、の欄を有する。
0062 図8は、図2のメモリ112にあるキャッシュ管理テーブル112−14の例を示す。キャッシュ管理テーブル112−14は、キャッシュデータ領域112−30のキャッシュスロットのIDを表わすキャッシュスロット番号112−14−1と、キャッシュスロットがデータを格納するディスク121のIDを表わすディスク番号112−14−2と、キャッシュスロットがデータを格納するディスクアドレスを表わすディスクアドレス112−14−3と、キュー管理のための次のキャッシュスロット番号を表わす次スロットポインター112−14−4(“NULL”は、キューの終端を意味する)と、キャッシュスロットキューの種類を表わすキューの種類情報112−14−5(表の“未使用”は、未使用のキャッシュスロットがあるキューを意味する、“クリーン”は、ディスクスロットと同じデータを格納するキューを意味する、“ダーティ”はディスクスロットとは異なったデータを格納するキャッシュスロットがあるキューを意味し、従って、ストレージ制御装置110は、将来キャッシュスロットデータをディスクスロットへフラッシュする必要がある)と、キャッシュスロットキューのインデックスを表わすキューインデックスポインター112−14−6と、の欄を有する。
0063 図9〜図11はデータの配置を示すために用意した。図9は、各々複数の“パーセル”を持つ8つのHDDより成る5x2RAIDグループの例を示す。パーセルは同じHDDの連続の複数ストライプから成る。図10は、各々複数のストライプを有する複数のパーセルより成るチャンクの例を示す。ディスク121a、121b、121c、121d、121e、121f、121gおよび121hがRAIDグループを構成する。このRAIDグループのRAIDレベルはRAIDレベル2−11−1−2で“5x2”として表現している。各ディスクは複数のパーセル121−4に分割される。各パーセル121−4は複数の容量プールストライプ121−3に分割される。4つのパーセル121−4がチャンク121−1を構成する。チャンク121−1中の4つのパーセル121−4の各々は、二重障害発生を回避するために異なるディスクインターフェース115a−115dに接続された1つのディスク121に所属する。これらの4つのパーセル121−4の選択は、均等に分配するアルゴリズム(evenly-distributed algorithm)に従う。各チャンク121−1には、冗長アレイを構築する複数の容量プールストライプ121−3がある。図11に示すように、各チャンク121−1はそれぞれ複数の容量プールページ121−2に分割される。容量プールページ121−2はそれぞれシンプロビジョニング割り付け単位である。各容量プールページ121−2は複数の容量プールストライプ121−3を有する。
0064 一般に、ストレージ制御装置はストライプ状にハードディスクドライブにデータを格納し、MとNが整数であって、ストライプはそれぞれMデータおよびNパリティデータを含み、また、ストレージ制御装置はMデータを使用して、各ストライプに対してNパリティデータを計算する。各ストライプのMデータおよびNパリティデータはM+Nハードディスクドライブに割り付けられる。第1のハードディスクドライブは、ストライプの第1のストライプおよび第2のストライプの両方のデータあるいはパリティデータを含むが、第2のハードディスクドライブは、第1のストライプか第2のストライプのうちの1つだけのデータあるいはパリティデータを含む。ハードディスクドライブのうちの1台の障害に関わるデータ回復においては、故障したハードディスクドライブのデータは、各ストライプの第1の複数のハードディスクドライブの他のハードディスクドライブのデータおよびパリティデータを用いて計算することによって、各ストライプに対して回復される。これらは、図29〜図31に関蓮して詳細に以下で議論される。
0065 ある事例では、第2のハードディスクドライブは、ストライプ群の第1のストライプのデータあるいはパリティデータを有する。第3のハードディスクドライブは、ストライプ群の第2のストライプのデータあるいはパリティデータを有し、第1のストライプのデータあるいはパリティデータを有してはいない。さらに、Mは3であり、Nは1である。ハードディスクドライブの数は4の倍数である。第1のストライプのデータおよびパリティデータは、第1および第2のハードディスクドライブ、および第4と第5のハードディスクドライブに含まれる。第2のストライプのデータおよびパリティデータは第1、第3、第4、第5のハードディスクドライブに含まれる。データが別のストレージ装置から緊急のストレージ装置に移行する場合、第2のハードディスクドライブおよび第3のハードディスクドライブは、異なるプロセッサによって同時にアクセスされる。各ストライプのNパリティデータは異なるバスを経由して第1の制御装置に接続している。
0066 図12は、複数の仮想ボリュームページ141−2を持つ仮想ボリューム141の例を示す。仮想ボリュームページ141−2のサイズは、冗長容量を除いて容量プールページ121−2のサイズに等しい。図13に見るように、仮想ボリュームページ141−2は仮想ボリュームスロット141−3に分割される。1つの仮想ボリュームページ141−2の仮想ボリュームスロット141−3の数は、冗長ストライプを除いて1つの容量プールページ121−2の容量プールストライプ121−3の数と同じである。
0067 図14は、仮想ボリューム141、その仮想ボリューム管理テーブル112−11−2、および仮想ボリュームのページ管理テーブル112−15−1の例を示す。
実線の矢印は、対象をポインターで示すことを意味する(仮想ボリュームページ管理テーブル112−15−1から容量プールチャンク121−1および容量プールページ121−2へ)、一方、点線の矢印は対象を計算により示すことを意味する(仮想ボリューム141、管理テーブル112−11−2および112−15−1の間で)。仮想ボリューム141および仮想ボリューム管理テーブル112−11−2は、1対1の関係にある。仮想ボリューム管理テーブル112−11−2は、現在の容量プールチャンク121−1を使用している容量を示す。仮想ボリュームページ141−2および仮想ボリュームページ管理テーブル112−15−1は、1対1の関係にある。ページが割り付け済の場合、仮想ボリュームページ管理テーブル112−15−1は容量プールページ121−2を参照する。
0068 図15は、図14の仮想ボリューム141における容量プールへのテーブル参照の構成例を示す。実線の矢印は、対象をポインターで示すことを意味する(容量プールページ管理テーブル112−15−3およびRAIDグループ管理テーブル112−11−1から仮想ボリューム141および仮想ボリュームページ141−2へ、更にRAIDグループ管理テーブル112−11−1から容量プールチャンク121−1へ)。点線の矢印は対象の参照を計算により示すことを意味する(容量プールページ管理テーブル112−15−3、容量プールチャンク管理テーブル112−15−2、RAIDグループ管理テーブル112−11−1およびRAIDグループ(容量プールチャンク121−1および容量プールページ121−2を含む)の間で)。RAIDグループとRAIDグループ管理テーブル112−11−1は1対1の関係にある。RAIDグループ管理テーブル112−11−1は、使用又は未使用の容量プールチャンク112−1を参照する。容量プールチャンク121−1と容量プールチャンク管理テーブル112−15−2は、1対1の関係にある。容量プールチャンク管理テーブル112−15−2は仮想ボリューム141を参照する。容量プールページ121−2と容量プールページ管理テーブル112−15−3は、1対1の関係にある。容量プールページ管理テーブル112−15−3は仮想ボリュームページ141−2を参照する。
0069 図16は、仮想ボリューム141へのテーブルを参照する構成例を示す。
実線の矢印は、対象をポインターで示すことを意味する(キャッシュ管理テーブル112−14から、仮想ボリュームスロット141−3および容量プールストライプ121−3へ)。点線の矢印は対象を計算により示すことを意味する(キャッシュ管理テーブル112−14とキャッシュスロット112−30−1の間で)。キャッシュデータエリア112−30は複数のキャッシュスロット112−30−1に分割される。キャッシュスロット112−30−1のサイズは、容量プールストライプ121−3のサイズ、および仮想ボリュームスロット141−3のサイズに等しい。キャッシュ管理テーブル112−14とキャッシュスロット112−30−1は1対1の関係にある。キャッシュ管理テーブル112−14は仮想ボリュームスロット141−3および容量プールストライプ121−3を参照する。
0070 図17は、図2のメモリ112にある書き込みI/O制御112−21−1の処理フローの例を示す。プログラムは112−21−1−1から開始する。ステップ112−21−1−2で、プログラムはキャッシュスロット112−30−1を検索するためキャッシュ制御112−24をコールする。ステップ112−21−1−3で、プログラムはホストコンピュータ300から書き込みI/Oデータを受け取り、前述のキャッシュスロット112−30−1へデータを格納する。プログラムは112−21−1−4で終了する。
0071 図18は、図2のメモリ112にある、読み出しI/O制御112−21−2の処理フローの例を示す。プログラムは112−21−2−1から開始する。ステップ112−21−2−2において、プログラムは、キャッシュスロット112−30−1を検索するためにキャッシュ制御112−24をコールする。ステップ112−21−2−3において、プログラムは、データが既にそこに存在するか否かを確認するために、前述のキャッシュスロット112−30−1の状態をチェックする。データがキャッシュスロット112−30−1に存在しない場合、プログラムは、ステップ112−21−2−4でステージング制御112−22−1をコールする。ステップ112−21−2−5において、プログラムは、キャッシュスロット112−30−1のデータをホストコンピュータ300に転送する。プログラムは112−21−2−6で終了する。
0072 図19は、図2のメモリ112にあるステージング制御112−22−1の処理フローの例を示す。プログラムは112−22−1−1から開始する。ステップ112−22−1−2で、プログラムは、物理ディスクおよびデータのアドレスを検出するために物理ディスクアドレス制御112−22−5をコールする。ステップ 112−22−1−3で、プログラムは、ディスク121からデータを読み出し、キャッシュデータ領域112−30へ格納することをデータ転送制御装置116に要求する。ステップ112−22−1−4で、プログラムは、データ転送が終了するのを待つ。メモリ112中のカーネル112−40は、コンテキストスイッチを行う命令を出す。プログラムは112−22−1−5で終了する。
0073 図20は、図2のメモリ112にあるデステージング制御112−22−2の処理フローの例を示す。プログラムは、112−22−2−1から開始する。ステップ112−22−2−2で、プログラムは、物理ディスクおよびデータのアドレスを検出するため、物理ディスクアドレス制御112−22−5をコールする。ステップ112−22−2−3で、プログラムは、データ転送制御装置116に、キャッシュデータ領域112−30からデータを読み出し、ディスク121に保存するよう要求する。ステップ112−22−2−4で、プログラムは、データ転送が終了するのを待つ。メモリ112にあるカーネル112−40は、コンテキストスイッチを行う命令を出す。プログラムは112−22−2−5で終了する。
0074 図21は、図2のメモリ112にあるコピー制御112−22−3の処理フローの例を示す。プログラムは112−22−3−1から開始する。ステップ112−22−3−2で、プログラムは、物理ディスクおよびデータのアドレスを検出する為、物理ディスクアドレス制御112−22−5をコールする。ステップ112−22−3−3で、プログラムはキャッシュデータ領域112−30のデータをコピーするようデータ転送制御装置116に要求する。ステップ112−22−3−4で、プログラムは、データ転送が終了するのを待つ。メモリ112中のカーネル112−40は、コンテキストスイッチを行う命令を出す。プログラムは112−22−3−5で終了する。
0075 図22は、図2のメモリ112にあるパリティ計算制御112−22−4の処理フローの例を示す。プログラムは112−22−4−1から開始する。ステップ112−22−4−2で、プログラムは、物理ディスクおよびデータのアドレスを検出するため物理ディスクアドレス制御112−22−5をコールする。ステップ112−22−4−3で、プログラムは、キャッシュデータ領域112−30のデータを生成/回復することをデータ転送制御装置116に要求する。ステップ112−22−4−4で、プログラムは、データ転送が終了するのを待つ。メモリ112にあるカーネル112−40は、コンテキストスイッチを行う命令を出す。プログラムは112−22−4−5で終了する。
0076 図23は、図2のメモリ112にある物理ディスクアドレス制御112−22−5の処理フローの例を示す。プログラムは112−2−5−1から開始する。ステップ112−22−5−3で、プログラムは、RAIDグループの構成をチェックするためにRAIDグループ管理テーブル112−11−1を読む。ステップ112−22−5−4で、プログラムは、均等分配アルゴリズムにより物理アドレスを計算する。プログラムは112−22−5−5で終了する。
0077 図24は、図2のメモリ112にあるフラッシュ制御112−23の処理フローの例を示す。プログラムは112−23−1から開始する。ステップ112−23−2で、プログラムは、キャッシュ管理テーブル112−14の“ダーティキュー”を読み出す。ダーティキャッシュ領域が検出されたら、プログラムは、ステップ112−23−3で、検出されたダーティキャッシュスロット112−30−1に対し、デステージング制御112−22−2をコールする。プログラムは112−23−4で終了する。
0078 図25は、図2のメモリ112にあるキャッシュ制御112−24の処理フローの例を示す。プログラムは112−24−1から開始する。ステップ112−24−2で、プログラムはキャッシュ管理テーブル112−14を読み出し、指定の仮想ボリュームスロット141−1あるいは容量プールストライプ121−3のアドレスを検索する。I/Oアドレスのためのキャッシュ領域がない場合、プログラムは、ステップ112−24−3で、“空き”または“クリーン”キューから指定のアドレスに対して新しいキャッシュスロット112−30−1を取得する。ステップ112−24−4で、プログラムは、キャッシュスロット112−30−1のアドレスを返す。プログラムは112−24−5で終了する。
0079 図26は、図2のメモリ112にある、ページ検出制御(A)112−25−1の処理フローの例を示す。プログラムは112−25−1−1から開始する。ステップ112−25−1−2で、プログラムは仮想ボリュームページ管理テーブル112−15−1を読み、RAIDグループ番号112−15−1−2をチェックし、容量プールページインデックス112−15−1−3が容量プールページ情報を保存しているか否か(すなわち、仮想ボリュームページ141−2へ容量プールページ121−2が割り付けられているか否か)を判定する。ステップ112−25−1−3で、プログラムは仮想ボリューム管理テーブル112−11−2を読み、使用RAIDグループ番号112−11−2−3をチェックし、使用容量プールチャンク番号112−11−2−4が容量プールチャンク情報を保存しているか否か(すなわち、仮想ボリューム114は容量プールチャンク121−1を保持しているか否か)を決定する。ステップ112−25−1−4で、プログラムは容量プールチャンク管理テーブル112−15−2を読み、使用容量112−15−2−3が容量プールチャンクのザイズより小さいか否か(つまり、容量プールチャンク121−1には1つ以上の空きページ121−2があるか否か)を判定するためにチェックする。ステップ112−25−1−5で、プログラムは、使用RAIDグループ番号112−11−2−3および使用容量プールチャンク番号112−11−2−4を変更し、参照を解消する。前チャンク番号112−15−2−5および次チャンク番号112−15−2−6を変更し、使用チャンクキューインデックス112−11−1−6上の使用キューにいれ、これによって、容量プールチャンク121−1を使用キューに移動させる。ステップ112−25−1−6において、プログラムは、空きチャンクキューインデックス112−11−1−5上の空きキューからキューを外すために、前チャンク番号112−15−2−5および次チャンク番号112−15−2−6を変更する。さらに、照合のため、使用RAIDグループ番号112−11−2−3、および使用容量プールチャンク番号112−11−2−4を変更し、これによって、障害チャンクを除いた新しい容量プールチャンクを得る。ステップ112−25−1−7で、プログラムは、仮想ボリュームページ141−2の情報を容量プールページ管理テーブル112−15−3へ保存し、また、容量プールページ121−2の情報を仮想ボリュームページ管理テーブル112−15−1へ保存する。これによって、容量プールチャンク121−1からの新しい容量プールページ121−2を仮想ボリュームページ141−2へ割り付ける。ステップ112−25−1−8において、プログラムは容量プールページ121−2へアドレスを返し終了する。
0080 図27は、図2のメモリ112にあるページ検出制御(B)112−25−2の処理フローの例を示す。プログラムは112−25−2−1から開始する。ステップ112−25−2−2で、プログラムは仮想ボリュームページ管理テーブル112−15−1を読み、RAIDグループ番号112−15−1−2をチェックし、容量プールページインデックス112−15−1−3が容量プールページ情報を保存しているか否か(すなわち、仮想ボリュームページ141−2は容量プールページ121−2を割り付けられているか否か)を決定する。ステップ112−25−2−3で、プログラムは(フォーマット済データを格納している)予備の容量プールページを検出する。ステップ112−25−2−4で、プログラムは、容量プールページ121−2のアドレスを返す。プログラムは112−25−2−5で終了する。
0081 図28は、図2のメモリ112にあるページ移行制御112−25−3の処理フローの例を示す。プログラムは112−25−3−1にて開始する。ステップ112−25−3−2で、障害RAIDグループに属するページが無くなる(すなわち、障害RAIDグループの中のチャンクはすべて移行済となる)までプログラムはこのプロセスを繰り返す。ステップ112−25−3−3で、プログラムは、障害RAIDグループ以外のRAIDグループを選択し、空きチャンクキューインデックス112−11−1−5上の空きキューからキューを外すために、前チャンク番号112−15−2−5および次チャンク番号112−15−2−6を変更する。ステップ112−25−3−4で、プログラムは、障害チャンクから新しいチャンクにチャンクデータをコピーするために、コピー制御112−22−3をコールする。ステップ112−25−3−5で、プログラムは、損失データを生成するか回復するために、パリティ計算制御112−22−4をコールする。ステップ112−25−3−6で、新しく割り付けた容量プールチャンクの新しいぺ−ジを参照するために、プログラムは、仮想ボリュームページ管理テーブル112−15−1を変更して、割り付け情報を変更する。ステップ112−25−3−7で、プログラムは、参照を解消するために、使用中RAIDグループ番号112−11−2−3および使用容量プールチャンク番号112−11−2−4を変更し、使用チャンクキューインデックス112−11−1−6上の使用キューに、キューを入れるために前チャンク番号112−15−2−5および次チャンク番号112−15−2−6を変更して障害チャンクを切り離す。プログラムは112−25−3−8で終了する。
0082 図29は、チャンクおよびページコピーによるデータ回復の例を示す。図29は2つのRAIDグループを示す。第1のRAIDグループはディスク121a、121b、121c、121d、121e、121f、121gおよび121hを含む。第2のRAIDグループはディスク121i、121j、121k、121m、121n、121p、121qおよび121rを含む。ディスク121cで障害が発生する。実線の矢印は、対象をポインターで参照することを意味し、一方、点線の矢印は対象を計算により参照することを意味する(より具体的にはパリティ計算による)。データ回復プロセスにおいて、障害ディスク121cを使用している第1のRAIDグループのチャンク(F1、F2、F3、F4)を検索して正常な第2のRAIDグループ(D’1、D’2、D’3、D’4)中の未使用のチャンクを選択する。次いで、チャンク部分F3を有する障害ディスク121cを除いて、チャンクデータを、第1のRAIDグループ中のチャンク(F1、F2、F3、F4)から、第2のRAIDグループにコピーする(すなわち、ディスク121aのF1、ディスク121fのF2、ディスク121hのF4、をディスク121iのF1’、ディスク121jのF2’ディスク121rのF4’としてコピーする)。点線の矢印線で示すように、障害ディスク121cにあるチャンク部分F3のデータは、パリティ計算によって他のディスク(ディスク121aの中のF1、ディスク121fのF2、ディスク121hのF4)から回復され、ディスク121qの中にチャンク部分F3’を形成する。図30は、図29のデータ回復の要約およびシーケンスを示す。
0083 図31は、チャンクならびにページコピーによるデータ回復の全体的なシーケンスを示す。図29および30は1つのチャンクでのデータ回復を示すが、図31は複数のチャンクでのデータ回復を示す。ディスク読み出し/書き込み動作の競合の回避によって、データ回復スキームは移行プロセスを最適化し並列化させることができる。
0084 上記の例において、グループ中のハードディスクドライブの数は、8の倍数である(Mは、ストライプのデータをもつハードディスクドライブの数で6であり、また、Nはストライプのパリティデータを持つハードディスクドライブの数で2である)。グループのハードディスクドライブのなかの1つに障害があるストライプからのデータを読み出す場合には、ストレージ制御装置は、障害のあるハードディスクドライブへはアクセスせず、7台のハードディスクドライブのみにアクセスするように制御される。ストレージシステムは、未割り付けのハードディスクドライブを持つ容量プールボリュームを有している。ストライプは容量プールボリュームから割り付けられる。各ストライプの割り付けは別のストレージ装置からのデータの受信に応じて行われる。
第2の実施例
0085 図32は、本発明の第2の実施例による図1のストレージサブシステム100の中のメモリ112の例を示す。図2の第1の実施例からの変更分のみを取り上げる。図32においては、ディスク管理テーブル112−11−3(図33)は、ディスク121の物理的構成管理のために、図2のRAIDグループ管理テーブル112−11−1の代わりに提供される。図32はさらに、112−11−2の代わりの仮想ボリューム管理テーブル112−11−2’(図34)、112−15−1の代わりの仮想ボリュームページ管理112−15−1’(図35)、112−15−2の代わりの容量プールチャンク管理テーブル112−15−2’(図36)、112−25−1の代わりのページ検出制御112−25−1’(図39)、112−25−3の代わりのページ移行制御112−25−3’(図40)などの代わりの実施例を示す。
0086 図33は、図32のメモリ112にあるディスクまたはHDDの管理テーブル112−11−3の例を示す。ディスク管理テーブル112−11−3は、ディスク121のIDを表わすディスク番号112−11−3−1、ディスク121の容量を表わすディスク容量112−11−3−4、および使用済容量プールパーセルのリストを表わす使用パーセル番号112−11−3−3の欄を有している。
0087 図34は、図32のメモリ112にある仮想ボリューム管理テーブル112−11−2’の例を示す。仮想ボリューム管理テーブル112−11−2’は、(第1の実施例による図4のうちの112−11−2と同じ)2つの欄を有し、仮想ボリュームのIDを表わす仮想ボリューム番号112−11−2−1と、仮想ボリュームの容量を表わす仮想ボリューム容量112−11−2−2(“N/A”は、仮想ボリュームが存在しないことを意味する)とを有する。さらに、仮想ボリュームが現在使用中の容量プールチャンクに属すディスク121のIDリストを表わすディスク番号112−11−2’−3の欄、および、仮想ボリュームが現在使用中の容量プールチャンクに属す容量プールパーセルのIDリストを表わすパーセル番号112−11−2’−4の欄を有する。
0088 図35は、図32のメモリ112にある仮想ボリュームページ管理テーブル112−15−1’の例を示す。第1の実施例による図5の112−15−1と同じように、仮想ボリュームページ管理テーブル112−15−1’は仮想ボリュームページのトップアドレスを表わす、仮想ボリュームページインデックス112−15−1−1の欄を有する。112−15−1と異なり、仮想ボリュームページ管理テーブル112−15−1’は、仮想ボリュームページが参照する容量プールページに属するディスク121のIDリストを表わすディスク番号112−15−1’−2の欄、および仮想ボリュームページが参照する容量プールページに属するアドレスのIDリストを表わす容量プールページインデックス112−15−1’−3の欄を有している。
0089 図36は、図32のメモリ112にある容量プールチャンク管理テーブル112−15−2’の例を示す。図6の第1の実施例中のテーブル112−15−2と比較して、図32の容量プールチャンク管理テーブル112−15−2’は、容量プールチャンク121−1を構築するディスク121のIDリストを表わすディスクまたはHDDの数112−15−2’−5の欄、および容量プールチャンクを構築する容量プールパーセル121−4のIDリストを表わすパーセル番号112−15−2’−6の欄を有している。
0090 図37は、仮想ボリューム141、およびその仮想ボリューム管理テーブル112−11−2’、仮想ボリュームページ管理テーブル’112−15−1の例を示す。実線の矢印は、対象をポインターで示すことを意味する(仮想ボリューム管理テーブル112−11−2’および仮想ボリュームページ管理テーブル112−15−1’から容量プールパーセル121−4および容量プールストライプ121−3へ)、一方、点線の矢印は対象が計算により示されることを意味する(仮想ボリューム141、管理テーブル112−11−2および112−15−1間、およびディスク管理テーブル112−11−3とディスク121の間で)。仮想ボリューム141および仮想ボリューム管理テーブル112−11−2’は、1対1の関係にある。仮想ボリューム管理テーブル112−11−2’は現状の容量プールパーセル121−4を使用している容量を示す。仮想ボリュームページ141−2および仮想ボリュームページ管理テーブル112−15−1’は、1対1の関係にある。もし、ページが割り付け済なら、仮想ボリュームページ管理テーブル112−15−1’は容量プールページ121−2の部分を参照する。
0091 図38は、図37の仮想ボリューム141の中の容量プールへのテーブル参照の構成例を示す。実線の矢印は、対象をポインターで示すことを意味する(容量プールチャンク管理テーブル112−15−2’から容量プールパーセル121−4へ)。
点線の矢印は対象を計算により示すことを意味する(容量プールページ管理テーブル112−15−3’、容量プールチャンク管理テーブル112−15−2’ディスク121、容量プールストライプ121−3の間で)。ディスク121およびディスク管理テーブル112−11−3は1対1の関係にある。ディスク管理テーブル112−11−3は、使用又は未使用容量プールパーセル112−4を参照する。容量プールパーセル121−4および容量プールチャンク管理テーブル112−15−2’は、1対1の関係にある。容量プールチャンク管理テーブル112−15−2’は仮想ボリューム141を参照する。容量プールページ管理テーブル112−15−3’と容量プールパーセル121−4とは、1対多数の関係にある。容量プールページ管理テーブル112−15−3’は仮想ボリュームページ141−2を参照する。
0092 図39は、図32のメモリ112にあるページ検出制御(A)112−25−1’の処理フローの例を示す。プログラムは、ステップ112−25−1’−6(112−25−1−6の置き換え)および112−25−1’−7(112−25−1−7の置き換え)を除いて、図26の第1の実施例の112−25−1と同じステップを実行する。ステップ112−25−1’−6において、プログラムは使用パーセル番号112−11−3−3を加え、新しい容量プールチャンク管理のプログラムとなり、参照のためにディスク番号112−11−2’−3および容量プールパーセル番号112−11−2’−4を変更する。ステップ112−25−1’−7において、プログラムは、仮想ボリュームページ141−2の情報を容量プールページ管理テーブル112−15−3’に保存し、容量プールパーセル121−4情報の部分を仮想ボリュームページ管理テーブル112−15−1’に保存する。これによって新しい容量プールページを仮想ボリュームページに割り付ける。
0093 図40は、図32のメモリ112にあるページ移行制御112−25−3’の処理フローの例を示す。プログラムはステップ112−25−3’−3(ステップ112−25−3−3の置き換え)を除いて、図28の第1の実施例の中の112−25−3と同じステップを実行する。ステップ112−25−3’−3において、プログラムは、障害ディスクを除いてディスク121を選択し、使用パーセル番号112−11−3−3を加えて、新しい容量プールチャンク管理の行を取得する。
0094 前述から、本発明が、HDD障害のようなストレージ装置障害から高速でのデータ回復のための方法、装置およびコンピュータ読み取り可能な媒体上に格納されたプログラムを提供することは明白である。さらに、この明細書においては、特定の実施例を図示し記述してあるが、同業者においては、同じ目的を達成すると意図されるどのような構成も、ここに開示された特定の実施例の代わりに用いられ得ることは認識されよう。この開示は、本発明のいかなる、そして全ての修正あるいは変化をも包含するように意図されている。また、次の請求項の中で使用される用語は、本発明を明細書に示された特定の実施例に制限するように解釈されるべきでないことは理解されよう。さらに、発明の範囲はすべて以下の請求項によって決定されるが、それは、そのような請求項に権利がある総ての範囲の等価物の全領域に対して請求項解釈の確立している理論に従って解釈されるべきである。

Claims (20)

  1. 第1の複数のハードディスクドライブを有する第1のストレージ装置と、該第1の複数のハードディスクドライブを制御する第1の制御装置と、を備え、
    前記第1の制御装置は、整数たるMとNに対して、それぞれMデータおよびNパリティデータを含むストライプ状に前記第1の複数のハードディスクドライブにデータを格納し、前記第1の制御装置は前記Mデータを使用して、各ストライプに対して前記Nパリティデータを計算し、
    前記各ストライプの前記Mデータおよび前記Nパリティデータは前記第1の複数のハードディスクドライブのM+Nハードディスクドライブに割り付けられ、
    前記第1の複数のハードディスクドライブの第1のハードディスクドライブは、前記ストライプの第1のストライプ、および前記ストライプの第2のストライプの両方のデータあるいはパリティデータを含み、一方、前記第1の複数のハードディスクドライブの第2のハードディスクドライブは、前記ストライプの前記第1のストライプあるいは前記ストライプの前記第2のストライプのうちの片方だけのデータあるいはパリティデータを含み、
    前記第1の複数のハードディスクドライブの1台のハードディスクドライブの障害に関わるデータ回復において、前記障害ハードディスクドライブの前記データは、前記各ストライプに対応する前記第1の複数のハードディスクドライブの他のハードディスクドライブのデータおよびパリティデータを用いた計算によって、各ストライプに対して、回復される、
    ことを特徴とするストレージシステム。
  2. 前記第1の複数のハードディスクドライブの前記第2のハードディスクドライブは、前記ストライプの前記第1のストライプのデータあるいはパリティデータを含み、
    前記第1の複数のハードディスクドライブの第3のハードディスクドライブは、前記ストライプの前記第2のストライプのデータあるいはパリティデータを含み、前記ストライプの前記第1のストライプのデータあるいはパリティデータを含まない、
    ことを特徴とする請求項1によるストレージシステム。
  3. 前記Mが3であり前記Nが1であって、
    前記第1の複数のハードディスクドライブの数は4の倍数であり、
    前記第1のストライプのデータおよびパリティデータは、前記第1の複数ハードディスクドライブの前記第1と第2のハードディスクドライブ、および前記第1の複数のハードディスクドライブの第4と第5のハードディスクドライブに含まれ、
    前記第2のストライプのデータおよびパリティデータは、前記第1の複数のハードディスクドライブの前記第1、第3、第4、第5のハードディスクドライブに含まれる、
    ことを特徴とする請求項2によるストレージシステム。
  4. 第2の複数のハードディスクドライブを有する第2のストレージ装置と、該第2の複数のハードディスクドライブを制御する第2の制御装置と、をさらに備え、
    前記第1の制御装置により保存される前記データは、前記第2のストレージ装置から受信され、
    前記第1の制御装置は複数のプロセッサを有し、
    データが前記第2のストレージ装置から前記第1のストレージ装置へ移行する時、前記第2のハードディスクドライブおよび前記第3のハードディスクドライブは、前記複数のプロセッサの異なるプロセッサによって同時にアクセスされる、
    ことを特徴とする請求項2によるストレージシステム。
  5. 前記第1の複数の前記ハードディスクドライブの未割り付けのハードディスクドライブを有する容量プールボリュームを、さらに有し、
    前記ストライプは前記容量プールボリュームから割り付けられる、
    ことを特徴とする請求項2によるストレージシステム。
  6. 第2の複数のハードディスクドライブを有する第2のストレージ装置と、該第2の複数のハードディスクドライブを制御する第2の制御装置と、をさらに備え、
    各ストライプの前記割り付けは、前記第2のストレージ装置からの前記データの受信を契機に実行される、
    ことを特徴とする請求項5によるストレージシステム。
  7. 各ストライプの前記Nパリティデータは、異なるバスを経由して前記第1の制御装置に接続される、
    ことを特徴とする請求項2によるストレージシステム。
  8. 第2の複数のハードディスクドライブを有する第2のストレージ装置と、該第2の複数のハードディスクドライブを制御する第2の制御装置と、をさらに備え、
    前記第1の制御装置によって保存される前記データは、前記第2のストレージ装置から受信され、
    前記第1と第2のストライプのデータおよびパリティデータは前記第1の制御装置によって並列に処理される、
    ことを特徴とする請求項1によるストレージシステム。
  9. 前記第1の制御装置は、前記各ストライプの前記第1の複数のハードディスクドライブへの割り付けの情報を含むテーブルを有する、
    ことを特徴とする請求項1によるストレージシステム。
  10. 前記Mは6で、前記Nは2であり、
    前記第1の複数のハードディスクドライブの数は8の倍数であり、
    前記第1の複数のハードディスクドライブのうちの1台の障害を含む前記ストライプのうちの1つからデータを読み出す場合には、前記第1の制御装置は、障害のあるハードディスクドライブへのアクセスはせず、前記第1の複数のハードディスクドライブの7台のハードディスクドライブのみにアクセスするように制御される、
    ことを特徴とする請求項1によるストレージシステム。
  11. 前記第1の複数の前記ハードディスクドライブの未割り付けのハードディスクドライブを有する容量プールボリュームを、さらに有し、
    前記ストライプは前記容量プールボリュームから割り付けられる、
    ことを特徴とする請求項10によるストレージシステム。
  12. 第2の複数ハードディスクドライブを有する第2のストレージ装置と、該第2の複数のハードディスクドライブを制御する第2の制御装置と、をさらに備え、
    各ストライプの前記割り付けは、前記第2のストレージ装置からの前記データの受信を契機に実行される、
    ことを特徴とする請求項11によるストレージシステム。
  13. 第1の複数のハードディスクドライブを有する第1のストレージ装置と、該第1の複数のハードディスクドライブを制御する第1の制御装置と、を備えるストレージシステムにおけるデータ回復の方法において、
    MとNとは整数であって、それぞれMデータおよびNパリティデータを含むストライプ状に、前記第1の制御装置の前記第1の複数のハードディスクドライブにデータを格納し、前記第1の制御装置は前記Mデータを使用して、各ストライプに対して前記Nパリティデータを計算するステップと、
    前記第1の複数のハードディスクドライブの第1のハードディスクドライブは、前記ストライプの第1のストライプ、および前記ストライプの第2のストライプの両方のデータあるいはパリティデータを含むが、前記第1の複数のハードディスクドライブの第2のハードディスクドライブは、前記ストライプの前記第1のストライプ、または前記ストライプの前記第2のストライプのうちの片方だけのデータあるいはパリティデータを含むように、前記各ストライプの前記Mデータおよび前記Nパリティデータを、前記第1の複数のハードディスクドライブのM+Nハードディスクドライブに割り付けるステップと、
    前記第1の複数のハードディスクドライブの1台のハードディスクドライブの障害に関わるデータ回復において、前記各ストライプに対応する前記第1の複数のハードディスクドライブの他のハードディスクドライブのデータおよびパリティデータを用いた計算によって、各ストライプに対して、前記障害ハードディスクドライブのデータを回復するステップと、
    を有することを特徴とするデータ回復の方法。
  14. 前記第1の複数のハードディスクドライブの前記第2のハードディスクドライブは、前記ストライプの前記第1のストライプのデータあるいはパリティデータを含み、
    前記第1の複数のハードディスクドライブの第3のハードディスクドライブは、前記ストライプの前記第2のストライプのデータあるいはパリティデータを含み、前記ストライプの前記第1のストライプのデータあるいはパリティデータは含まない、
    ことを特徴とする請求項13による方法。
  15. 前記Mは3であって、前記Nは1であり、
    前記第1の複数のハードディスクドライブの数は4の倍数であり、
    前記第1のストライプのデータおよびパリティデータは、前記第1の複数のハードディスクドライブの前記第1と第2のハードディスクドライブ、および前記第1の複数のハードディスクドライブの第4と第5のハードディスクドライブに含まれ、
    前記第2のストライプのデータおよびパリティデータは、前記第1の複数のハードディスクドライブの前記第1、第3、第4、第5のハードディスクドライブに含まれる、
    ことを特徴とする請求項14による方法。
  16. 前記第1のストレージ装置は、さらに、前記第2のハードディスクドライブの前記第1の複数の、未割り付けのハードディスクドライブを持つ容量プールボリュームを有し、前記ストライプは前記容量プールボリュームから割り付けられ、前記ストレージシステムは、さらに、第2の複数のハードディスクドライブと、該複数のハードディスクドライブを制御する第2の制御装置と、を有する第2のストレージ装置を備えており、
    前記第2のストレージ装置からの前記データの受信を契機に、各ストライプの前記割り付けを実行するステップを、
    さらに有することを特徴とする請求項14による方法。
  17. 前記Mは6であり、前記Nは2であり、前記第1の複数のハードディスクドライブの数は8の倍数であって、
    前記第1の複数のハードディスクドライブのうちの1台の障害を含む前記ストライプのうちの1つからデータを読み出す場合には、前記第1の制御装置を、前記障害のあるハードディスクドライブへのアクセスはせず、前記第1の複数のハードディスクドライブの7台のハードディスクドライブのみにアクセスするように制御するステップを、
    さらに有することを特徴とする請求項13による方法。
  18. 前記第1のストレージ装置は、さらに前記第1の複数の前記ハードディスクドライブの未割り付けのハードディスクドライブをもつ容量プールボリュームを有し、
    前記容量プールボリュームから、各前記ストライプを割り付けるステップを、
    さらに有することを特徴とする請求項17による方法。
  19. 前記ストレージシステムは、さらに、第2の複数のハードディスクドライブを持つ第2のストレージ装置と、該第2の複数のハードディスクドライブを制御する第2の制御装置とを有し、
    前記第2のストレージ装置からの前記データの受信を契機に各ストライプの前記割り付けを実行するステップを、
    さらに有することを特徴とする請求項18による方法。
  20. 第1の複数のハードディスクドライブを有する第1のストレージ装置と、該第1の複数のハードディスクドライブを制御する第1の制御装置とを備えるストレージシステムにおいて、データ回復を行うためにデータ処理装置を制御するための複数の命令を格納するコンピュータ可読媒体であって、
    MとNとは整数であって、それぞれMデータおよびNパリティデータを含むストライプ状に、前記第1の制御装置の前記第1の複数のハードディスクドライブに、前記データ処理装置にデータを格納させ、前記第1の制御装置は前記Mデータを使用して、各ストライプに対して前記Nパリティデータを計算する、命令と、
    前記第1の複数のハードディスクドライブの第1のハードディスクドライブは、前記ストライプの第1のストライプ、および前記ストライプの第2のストライプの両方のデータあるいはパリティデータを含み、前記第1の複数のハードディスクドライブの第2のハードディスクドライブは、前記ストライプの前記第1のストライプあるいは前記ストライプの前記第2のストライプのうちの片方だけのデータあるいはパリティデータを含むように、前記各ストライプの前記Mデータおよび前記Nパリティデータを、前記第1の複数のハードディスクドライブのM+Nハードディスクドライブに割り付ける命令と、
    前記第1の複数のハードディスクドライブの1台のハードディスクドライブの障害に関わるデータ回復において、前記各ストライプに対応する前記第1の複数のハードディスクドライブの他のハードディスクドライブのデータおよびパリティデータを用いた計算によって、前記各ストライプに対して、前記障害ハードディスクドライブの前記データを回復する命令と、
    を格納することを特徴とするコンピュータ可読媒体。
JP2009199344A 2008-10-24 2009-08-31 Hdd障害からの高速データ回復 Expired - Fee Related JP5256149B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/257,487 US7904749B2 (en) 2008-10-24 2008-10-24 Fast data recovery from HDD failure
US12/257,487 2008-10-24

Publications (2)

Publication Number Publication Date
JP2010102695A true JP2010102695A (ja) 2010-05-06
JP5256149B2 JP5256149B2 (ja) 2013-08-07

Family

ID=41509079

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009199344A Expired - Fee Related JP5256149B2 (ja) 2008-10-24 2009-08-31 Hdd障害からの高速データ回復

Country Status (4)

Country Link
US (4) US7904749B2 (ja)
EP (1) EP2180407B1 (ja)
JP (1) JP5256149B2 (ja)
CN (1) CN101727363B (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103295603A (zh) * 2012-02-29 2013-09-11 日立乐金资料储存股份有限公司 数据库装置
WO2014115320A1 (ja) * 2013-01-25 2014-07-31 株式会社日立製作所 ストレージシステム及びデータ管理方法
JP2015525377A (ja) * 2012-07-23 2015-09-03 株式会社日立製作所 ストレージシステム及びデータ管理方法

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7904749B2 (en) 2008-10-24 2011-03-08 Hitachi, Ltd. Fast data recovery from HDD failure
US8010835B2 (en) * 2008-11-11 2011-08-30 Datadirect Networks, Inc. Storage device realignment
US8307367B2 (en) * 2009-03-05 2012-11-06 International Business Machines Corporation Smart scheduling of automatic partition migration by the use of timers
JP5538362B2 (ja) 2009-03-18 2014-07-02 株式会社日立製作所 記憶制御装置及び仮想ボリュームの制御方法
US8468302B2 (en) 2010-01-14 2013-06-18 Hitachi, Ltd. Storage system
US8566673B2 (en) * 2011-08-04 2013-10-22 Lsi Corporation Method for improving performance in RAID systems
CN102279777B (zh) * 2011-08-18 2014-09-03 华为数字技术(成都)有限公司 数据冗余处理方法、装置和分布式存储系统
US8775733B2 (en) 2011-08-30 2014-07-08 Hitachi, Ltd. Distribution design for fast raid rebuild architecture based on load to limit number of redundant storage devices
US20130054919A1 (en) * 2011-08-30 2013-02-28 International Business Machines Corporation Methods and physical computer storage media for transferring de-duplicated data organized in virtual volumes to a target set of physical media
JP5643238B2 (ja) * 2012-01-06 2014-12-17 日本電気株式会社 ディスクアレイ制御装置、ディスクアレイ装置、及び、ディスクアレイ制御方法
US8892833B2 (en) * 2012-01-20 2014-11-18 Netapp, Inc. Systems, methods, and computer program products providing snapshot data replication in a distributed analytic computing system
WO2013138540A1 (en) * 2012-03-16 2013-09-19 Marvell World Trade Ltd. Architecture to allow efficient storage of data on nand flash memory
US10157011B2 (en) * 2012-06-25 2018-12-18 International Business Machines Corporation Temporary suspension of vault access
CN102902637B (zh) * 2012-11-19 2015-04-22 北京理工大学 一种固态硬盘数据断电保护方法
WO2015011825A1 (ja) 2013-07-26 2015-01-29 株式会社日立製作所 ストレージシステムおよびストレージシステムの制御方法
CN104007936B (zh) 2014-01-07 2017-09-29 华为技术有限公司 访问数据的方法及装置
US9996573B1 (en) * 2014-03-21 2018-06-12 Amazon Technologies, Inc. Distributed system capacity dial-up
WO2016018383A1 (en) 2014-07-31 2016-02-04 Hewlett-Packard Development Company Live migration of data
US10540109B2 (en) 2014-09-02 2020-01-21 Hewlett Packard Enterprise Development Lp Serializing access to fault tolerant memory
WO2016064417A1 (en) 2014-10-24 2016-04-28 Hewlett Packard Enterprise Development Lp End-to-end negative acknowledgment
WO2016122637A1 (en) 2015-01-30 2016-08-04 Hewlett Packard Enterprise Development Lp Non-idempotent primitives in fault-tolerant memory
WO2016122610A1 (en) 2015-01-30 2016-08-04 Hewlett Packard Enterprise Development Lp Preventing data corruption and single point of failure in a fault-tolerant memory
WO2016122642A1 (en) 2015-01-30 2016-08-04 Hewlett Packard Enterprise Development Lp Determine failed components in fault-tolerant memory
US9672107B1 (en) * 2015-02-11 2017-06-06 Western Digital Technologies, Inc. Data protection for a data storage device
WO2016159996A1 (en) 2015-03-31 2016-10-06 Hewlett Packard Enterprise Development Lp Preventing data corruption and single point of failure in fault-tolerant memory fabrics
US10289507B1 (en) * 2015-10-27 2019-05-14 Pavilion Data Systems, Inc. Distributed rebuild of failed storage device
CN107491263B (zh) * 2016-06-12 2022-07-22 北京忆恒创源科技股份有限公司 一种基于存储对象的数据重构方法
US9841908B1 (en) 2016-06-30 2017-12-12 Western Digital Technologies, Inc. Declustered array of storage devices with chunk groups and support for multiple erasure schemes
CN107870730B (zh) * 2016-09-23 2020-11-20 伊姆西Ip控股有限责任公司 用于管理存储系统的方法和系统
CN108228085A (zh) * 2016-12-21 2018-06-29 伊姆西Ip控股有限责任公司 用于管理存储系统的方法和设备
US10389342B2 (en) 2017-06-28 2019-08-20 Hewlett Packard Enterprise Development Lp Comparator
US10691543B2 (en) 2017-11-14 2020-06-23 International Business Machines Corporation Machine learning to enhance redundant array of independent disks rebuilds
US10649867B2 (en) * 2017-12-15 2020-05-12 Western Digital Technologies, Inc. RAID array rebuild assist from external array copy
WO2020257977A1 (en) * 2019-06-24 2020-12-30 Micron Technology, Inc. Memory device with parity data system and method
JP7191003B2 (ja) 2019-12-17 2022-12-16 株式会社日立製作所 ストレージシステムおよびストレージ管理方法
JP2021189937A (ja) 2020-06-03 2021-12-13 株式会社日立製作所 ストレージシステム及びストレージシステムの制御方法
US11392307B2 (en) 2020-07-16 2022-07-19 Hitachi, Ltd. Data-protection-aware capacity provisioning of shared external volume
JP2022175427A (ja) * 2021-05-13 2022-11-25 株式会社日立製作所 ストレージシステム及びストレージ管理方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05181611A (ja) * 1992-01-07 1993-07-23 Mitsubishi Electric Corp 記録装置及びアクセス方式
JP2000200157A (ja) * 1999-01-08 2000-07-18 Nec Corp ディスクアレイ装置およびディスクアレイ装置におけるデ―タ復旧方法
WO2003077111A1 (fr) * 2002-03-13 2003-09-18 Fujitsu Limited Controleur pour dispositif raid
JP2005038271A (ja) * 2003-07-17 2005-02-10 Nec Corp 2種類のパリティと複数のデータ復旧方式とを有するディスクアレイ装置
JP2006260446A (ja) * 2005-03-18 2006-09-28 Hitachi Ltd ディスクアレイ装置
JP2007310861A (ja) * 2006-04-18 2007-11-29 Hitachi Ltd ストレージシステム及びその制御方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4092732A (en) 1977-05-31 1978-05-30 International Business Machines Corporation System for recovering data stored in failed memory unit
JP3181398B2 (ja) * 1992-10-06 2001-07-03 三菱電機株式会社 アレイ型記録装置
US5960169A (en) * 1997-02-27 1999-09-28 International Business Machines Corporation Transformational raid for hierarchical storage management system
US6105122A (en) 1998-02-06 2000-08-15 Ncr Corporation I/O protocol for highly configurable multi-node processing system
US6775791B2 (en) * 2001-01-26 2004-08-10 Dell Products L.P. Replaceable memory modules with parity-based data recovery
US6665743B2 (en) * 2001-04-18 2003-12-16 International Business Machines Corporation Method, system, and program for initializing a storage space
US6934904B2 (en) * 2001-04-30 2005-08-23 Sun Microsystems, Inc. Data integrity error handling in a redundant storage array
US7162600B2 (en) 2005-03-29 2007-01-09 Hitachi, Ltd. Data copying method and apparatus in a thin provisioned system
US6954824B2 (en) * 2001-10-15 2005-10-11 International Business Machines Corporation Method, system, and program for determining a configuration of a logical array including a plurality of storage devices
US7024586B2 (en) * 2002-06-24 2006-04-04 Network Appliance, Inc. Using file system information in raid data reconstruction and migration
US7032093B1 (en) 2002-08-08 2006-04-18 3Pardata, Inc. On-demand allocation of physical storage for virtual volumes using a zero logical disk
US7100089B1 (en) 2002-09-06 2006-08-29 3Pardata, Inc. Determining differences between snapshots
US7191304B1 (en) 2002-09-06 2007-03-13 3Pardata, Inc. Efficient and reliable virtual volume mapping
GB2418769B (en) 2004-10-02 2009-06-17 Hewlett Packard Development Co Method and system for storing data
US7502903B2 (en) 2005-05-13 2009-03-10 3Par, Inc. Method and apparatus for managing data storage systems
US7444489B2 (en) 2005-05-13 2008-10-28 3Par, Inc. Applications for non-disruptively moving data between logical disk regions in a data storage system
US20080140724A1 (en) * 2006-12-06 2008-06-12 David Flynn Apparatus, system, and method for servicing object requests within a storage controller
US8099623B1 (en) 2008-10-08 2012-01-17 Netapp, Inc. Efficient distributed hot sparing scheme in a parity declustered RAID organization
US7904749B2 (en) * 2008-10-24 2011-03-08 Hitachi, Ltd. Fast data recovery from HDD failure

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05181611A (ja) * 1992-01-07 1993-07-23 Mitsubishi Electric Corp 記録装置及びアクセス方式
JP2000200157A (ja) * 1999-01-08 2000-07-18 Nec Corp ディスクアレイ装置およびディスクアレイ装置におけるデ―タ復旧方法
WO2003077111A1 (fr) * 2002-03-13 2003-09-18 Fujitsu Limited Controleur pour dispositif raid
JP2005038271A (ja) * 2003-07-17 2005-02-10 Nec Corp 2種類のパリティと複数のデータ復旧方式とを有するディスクアレイ装置
JP2006260446A (ja) * 2005-03-18 2006-09-28 Hitachi Ltd ディスクアレイ装置
JP2007310861A (ja) * 2006-04-18 2007-11-29 Hitachi Ltd ストレージシステム及びその制御方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JPN6012034679; Jai Menon, Dick Mattson: 'Distributed Sparing in Disk Arrays' COMPCON '92 Proceedings of the thirty-seventh international conference , 1992, pp.410-421, IEEE Computer Society Press *
JPN6012034682; Spencer W. Ng, Richard L. Mattson: 'Uniform Parity Group Distribution in Disk Arrays with Multiple Failures' IEEE Transactions on Computers Volume 43 Issue 4, 199404, pp.501-506, IEEE Computer Society *
JPN6012034683; John Chandy, John Chandy: 'Failure evaluation of disk array organizations' Proceedings the 13th International Conference on Distributed Computing Systems , 19930525, pp.319-326, Distributed Computing Systems, 1993. *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103295603A (zh) * 2012-02-29 2013-09-11 日立乐金资料储存股份有限公司 数据库装置
CN103295603B (zh) * 2012-02-29 2015-11-18 日立乐金资料储存股份有限公司 数据库装置
JP2015525377A (ja) * 2012-07-23 2015-09-03 株式会社日立製作所 ストレージシステム及びデータ管理方法
WO2014115320A1 (ja) * 2013-01-25 2014-07-31 株式会社日立製作所 ストレージシステム及びデータ管理方法
GB2524433A (en) * 2013-01-25 2015-09-23 Hitachi Ltd Storage system and data management method
JP5971354B2 (ja) * 2013-01-25 2016-08-17 株式会社日立製作所 ストレージシステム
JPWO2014115320A1 (ja) * 2013-01-25 2017-01-26 株式会社日立製作所 ストレージシステム
US10168919B2 (en) 2013-01-25 2019-01-01 Hitachi, Ltd. System and data management method
US10528274B2 (en) 2013-01-25 2020-01-07 Hitachi, Ltd. Storage system and data management method
GB2524433B (en) * 2013-01-25 2020-11-25 Hitachi Ltd Storage system and data management method
US11327661B2 (en) 2013-01-25 2022-05-10 Hitachi, Ltd. Storage system and data management method
US11941255B2 (en) 2013-01-25 2024-03-26 Hitachi, Ltd. Storage system and data management method

Also Published As

Publication number Publication date
CN101727363A (zh) 2010-06-09
US20110126083A1 (en) 2011-05-26
EP2180407B1 (en) 2017-04-12
US9189335B2 (en) 2015-11-17
JP5256149B2 (ja) 2013-08-07
CN101727363B (zh) 2013-01-16
US8639969B2 (en) 2014-01-28
US20140115384A1 (en) 2014-04-24
EP2180407A2 (en) 2010-04-28
US7904749B2 (en) 2011-03-08
US20100107003A1 (en) 2010-04-29
US20130003211A1 (en) 2013-01-03
US8234519B2 (en) 2012-07-31
EP2180407A3 (en) 2011-06-22

Similar Documents

Publication Publication Date Title
JP5256149B2 (ja) Hdd障害からの高速データ回復
US11941255B2 (en) Storage system and data management method
US8677063B2 (en) Parity declustered storage device array with partition groups
US9378093B2 (en) Controlling data storage in an array of storage devices
US8166232B2 (en) Metrics and management for flash memory storage life
US5632012A (en) Disk scrubbing system
US8560772B1 (en) System and method for data migration between high-performance computing architectures and data storage devices
US8839028B1 (en) Managing data availability in storage systems
CN110096217B (zh) 用于重新定位数据的方法、数据存储系统和介质
US8930745B2 (en) Storage subsystem and data management method of storage subsystem
CN110096219B (zh) 从驱动器组生成的驱动器区段池的有效容量
US10564865B2 (en) Lockless parity management in a distributed data storage system
CN102164165A (zh) 一种网络存储系统的管理方法及装置
US10884924B2 (en) Storage system and data writing control method
US11860746B2 (en) Resilient data storage system with efficient space management
US11467904B2 (en) Storage system and control method of the same
CN118779146A (zh) 数据存储方法、设备、介质及产品

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110708

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120704

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120710

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120910

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130304

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130326

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130422

R150 Certificate of patent or registration of utility model

Ref document number: 5256149

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20160426

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees