JP2010026812A - 磁気ディスク装置 - Google Patents

磁気ディスク装置 Download PDF

Info

Publication number
JP2010026812A
JP2010026812A JP2008187733A JP2008187733A JP2010026812A JP 2010026812 A JP2010026812 A JP 2010026812A JP 2008187733 A JP2008187733 A JP 2008187733A JP 2008187733 A JP2008187733 A JP 2008187733A JP 2010026812 A JP2010026812 A JP 2010026812A
Authority
JP
Japan
Prior art keywords
data
magnetic disk
parity
raid
recovery
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.)
Withdrawn
Application number
JP2008187733A
Other languages
English (en)
Inventor
Shigeru Kaga
滋 加賀
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 Information and Telecommunication Engineering Ltd
Original Assignee
Hitachi Computer Peripherals Co 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 Computer Peripherals Co Ltd filed Critical Hitachi Computer Peripherals Co Ltd
Priority to JP2008187733A priority Critical patent/JP2010026812A/ja
Publication of JP2010026812A publication Critical patent/JP2010026812A/ja
Withdrawn legal-status Critical Current

Links

Images

Abstract

【課題】RAIDを構成するHDDが故障した場合においても、当該HDDが復旧するまでの間、ホストからのリード/ライトアクセスに対する処理性能を低下させることなく稼働することができる磁気ディスク装置を提供する。
【解決手段】RAIDを構成するHDDが故障した場合に、当該HDDが復旧するまでの間、他のHDDに記憶されたパリティデータを通常データに変換し、冗長性レベルを下げた状態で稼働させる。
【選択図】図1

Description

本発明は、データを冗長化・分散化して記憶するRAID方式の磁気ディスク装置に関し、特に、RAIDを構成するディスクの故障時においても処理性能を低下させることなく稼働できる磁気ディスクに関するものである。
RAID(Redundant Arrays of Inexensive Disks)方式の磁気ディスク装置とは、複数台の磁気ハードディスク(以下、「HDD」という)の集合を1台の記憶装置として管理するものであり、データを複数ブロック単位(あるいはビット・バイト単位)で分散化して記憶したり、データを2重化(あるいは多重化)して記憶したり、エラー検出・訂正用データを付加したりすることで、処理性能、信頼性、可用性の向上が図られている。
現在、RAID方式としては、RAID0、RAID1、RAID2、RAID3、RAID4、RAID5、RAID6などが利用されている。
RAID方式の中でも、特に、RAID5、RAID6は、エラー訂正用パリティデータを各HDDに分散させて記憶させることで、1台又は2台のHDDが故障しても完全なデータ復旧が可能であることを特徴とし、信頼性、可用性が高く、かつ、経済的なストレージシステムを構築可能であるので、広く利用されている。
特許文献1には、一般的なRAID方式の磁気ディスク装置が開示されており、特に、データ消失の恐れなく、磁気ディスクの記憶データを書き換えて、RAIDレベルをRAID5からRAID0に変換するLDE(Logical Disk Expansion)技術が開示されている。
特開2007−323252号公報
RAID5、RAID6等のパリティデータ付きRAIDでは、HDDが故障した場合、他のHDDが記憶しているデータとパリティデータとを用いて、HDD故障により消失したデータを復旧することができる。
しかしながら、アレイのHDD数が多いと、多数のHDDからデータ及びパリティデータを読み出す必要があるので、消失データの復旧に相当な時間がかかってしまう。
また、復旧したデータは、キャッシュ上に全て残しておく事は出来ないため、故障したHDD内のデータをアクセスは殆ど、同RAIDグループ内の他HDDから回復したデータとなる。その他、ホストからのランダムアクセスは、処理性能が極めて低くなってしまう。さらには、故障したHDDのデータ復旧のためには、ホストからのライトアクセスに対してパリティ生成を継続しなければならないことも、処理性能を圧迫する。
本発明は、このような実情に鑑みてなされたものであり、RAIDを構成するHDDが故障した場合でにおいても、当該HDDが復旧するまでの間、ホストからのリード/ライトアクセスに対する処理性能を低下させることなく稼働することができる磁気ディスク装置を提供しようとするものである。
上記課題に鑑みて鋭意研究の結果、本発明者は、RAIDを構成するHDDが故障した場合に、当該HDDが復旧するまでの間、他のHDDに記憶されたパリティデータを通常データに変換し、冗長性レベルを下げた状態(例えば、RAID5の場合はRAID0に下げる)で稼働させることに想到し、本発明をなすに至った。
すなわち、本発明は、複数の磁気ディスクにより冗長性を有するRAIDグループを構成する磁気ディスク装置であって、ホストコンピュータから前記磁気ディスクへのリードライト要求を処理する対ホスト制御部と、前記磁気ディスクの状態を管理するHDD状態管理部と、前記RAIDグループの状態を管理するRAID状態管理部と、前記磁気ディスク上の消失したデータを回復するデータ回復制御部と、前記データ回復制御部による消失データの回復処理の進捗を管理する進捗管理部とを備え、前記HDD状態管理部が磁気ディスクの障害を検知すると、前記データ回復制御部は、障害発生した磁気ディスク上の消失したデータを、当該磁気ディスクと同RAIDグループ内の磁気ディスク上のデータ及びパリティデータを用いて回復し、当該回復されたデータを同RAIDグループ内のパリティデータの格納場所に上書きして格納し、前記RAID状態管理部は、当該RAIDグループを冗長性レベルが下がったRAIDとして管理することを特徴とする磁気ディスク装置を提供するものである。
このように、磁気ディスク障害発生により消失したデータをパリティデータを用いて回復した後、当該パリティデータに置き換えることにより、当該HDDが復旧するまでの間、冗長性レベルをダウンした状態で維持・運用することが可能である。
本発明の磁気ディスク装置において、前記データ回復制御部は、前記磁気ディスク上の先頭論理アドレスからアドレス順に、消失データの回復処理を実行し、前記進捗管理部は、前記データ回復制御部による消失データの回復処理において、当該回復処理が完了した最後の論理アドレスを示すポインタを用いて進捗管理を行うことを特徴とする。
これにより、消失データの回復処理中にホストコンピュータからのデータアクセスが生じた場合にも、アクセス先の状態に応じた適切な応答をすることが可能となる。具体的には、以下の通りである。
前記データ回復制御部による消失データの回復処理中に、ホストコンピュータから前記障害発生した磁気ディスクへのリード要求が発生した場合、前記対ホスト制御部は、前記リード要求のアクセス箇所が前記回復処理が完了した最後の論理アドレスよりも前のアドレスである場合には、前記回復され同RAIDグループ内のパリティデータの格納場所に上書きして格納されたデータを読み込み、前記リード要求のアクセス箇所が前記回復処理が完了した最後の論理アドレスよりも後ろのアドレスである場合には、同RAIDグループ内の磁気ディスク上のデータ及びパリティデータを用いて回復されるデータを読み込むことを特徴とする。
また、前記データ回復制御部による消失データの回復処理中に、ホストコンピュータから前記磁気ディスクへのライト要求が発生した場合、前記対ホスト制御部は、前記ライト要求のアクセス箇所が前記回復処理が完了した最後の論理アドレスよりも前のアドレスである場合には、前記同RAIDグループ内のパリティデータの格納場所にデータの書き込みを行い、前記ライト要求のアクセス箇所が前記回復処理が完了した最後の論理アドレスよりも後ろのアドレスである場合には、同RAIDグループ内の磁気ディスク上のデータ及びパリティデータからライト処理後のデータが回復されるように当該パリティデータを書き換えることを特徴とする。
本発明は、また、複数の磁気ディスクにより冗長性を有するRAIDグループを構成する磁気ディスク装置であって、ホストコンピュータから前記磁気ディスクへのリードライト要求を処理する対ホスト制御部と、前記磁気ディスクの状態を管理するHDD状態管理部と、前記RAIDグループの状態を管理するRAID状態管理部と、前記磁気ディスク上の消失したパリティデータ再生成するパリティ再生成部とを備え、前記HDD状態管理部が磁気ディスクの復旧を検知すると、前記パリティ再生成部は、前記パリティデータの格納場所に上書きして格納された回復データを前記復旧した磁気ディスク上の正常格納位置にコピーし、同RAIDグループ内の磁気ディスク上のデータを用いて前記上書きにより消失したパリティデータを再生成し、当該再生成されたパリティデータを同RAIDグループ内の磁気ディスク上の正常格納位置にコピーし、前記RAID状態管理部は、当該RAIDグループを正常状態における冗長性レベルのRAIDとして管理することを特徴とする磁気ディスク装置を提供するものである。
このように、磁気ディスク復旧後に、消失したデータを元の格納位置に戻すとともに、上書きにより消されたパリティデータを回復することにより、障害発生前の状態のHDDが復元され、本来の冗長性レベルでの運用を再開することが可能である。
本発明の磁気ディスク装置において、前記パリティ再生成部は、前記磁気ディスク上の先頭論理アドレスからアドレス順に、消失パリティデータの再生成処理を実行し、前記進捗管理部は、前記消失パリティデータの再生成処理において、当該再生成処理が完了した最後の論理アドレスを示すポインタを用いて進捗管理を行うことを特徴とする。
これにより、消失パリティデータの再生成処理中にホストコンピュータからのデータアクセスが生じた場合にも、アクセス先の状態に応じた適切な応答をすることが可能となる。具体的には、以下の通りである。
前記パリティ再生成部による消失パリティデータの再生成処理中に、ホストコンピュータから前記障害発生した磁気ディスクへのリード要求が発生した場合、前記対ホスト制御部は、前記リード要求のアクセス箇所が前記再生成処理が完了した最後の論理アドレスよりも前のアドレスである場合には、前記復旧した磁気ディスク上に回復されたデータを読み込み、前記リード要求のアクセス箇所が前記再生成処理が完了した最後の論理アドレスよりも後ろのアドレスである場合には、前記同RAIDグループ内のパリティデータの格納場所に上書きして格納された回復データを読み込むことを特徴とする。
前記パリティ再生成部による消失パリティデータの再生成処理中に、ホストコンピュータから前記磁気ディスクへのライト要求が発生した場合、前記対ホスト制御部は、前記ライト要求のアクセス箇所が前記再生成処理が完了した最後の論理アドレスよりも前のアドレスである場合には、前記復旧した磁気ディスク上にデータの書き込みを行うとともにパリティデータの更新を行い、前記ライト要求のアクセス箇所が前記再生成処理が完了した最後の論理アドレスよりも後ろのアドレスである場合には、前記同RAIDグループ内のパリティデータの格納場所にデータの書き込みを行うことを特徴とする。
上記した本発明の磁気ディスク装置は、冗長性を有するRAID2、RAID3,RAID4,RAID5などに応用可能であるほか、ダブルパリティ方式を採用するRAID6等においても好適に適用可能である。以下はRAID6に代表されるダブルパリティ方式の磁気ディスク装置への適用形態である。
本発明の磁気ディスク装置において、前記磁気ディスク装置は、第1パリティデータ及び第2パリティデータにより二重に冗長性を有するRAIDグループを構成する磁気ディスク装置であって、前記データ回復制御部は、消失したデータ又は消失した第2パリティデータを回復し同RAIDグループ内の第1パリティデータの格納場所に上書きして格納し、前記RAID状態管理部は、当該RAIDグループを冗長性レベルが二重から一重に下がったRAIDとして管理することを特徴とする。
このように、磁気ディスクの障害発生時に、パリティデータを用いて消失データ及び消失パリティデータの一部を回復し、ダブルパリティのうち一方のパリティデータと置き換えることにより、当該HDDが復旧するまでの間、冗長性レベルをシングルパリティに下げた状態で、磁気ディスク装置を維持・運用することが可能である。
本発明の磁気ディスク装置において、前記磁気ディスク装置は、第1パリティデータ及び第2パリティデータにより二重に冗長性を有するRAIDグループを構成する磁気ディスク装置であって、前記パリティ再生成部は、前記パリティデータの格納場所に上書きして格納された回復データ及び回復第2パリティデータを前記復旧した磁気ディスク上の正常格納位置にコピーし、同RAIDグループ内の磁気ディスク上のデータを用いて前記上書きにより消失した第1パリティデータを再生成し、当該再生成された第1パリティデータを同RAIDグループ内の磁気ディスク上の正常格納位置にコピーし、前記RAID状態管理部は、当該RAIDグループを二重の冗長性レベルのRAIDとして管理することを特徴とする。
このように、磁気ディスク復旧後に、消失したデータ及びパリティデータを元の格納位置に戻すとともに、上書きにより消されたパリティデータを回復することにより、障害発生前の状態のHDDが復元され、ダブルパリティ方式での運用を再開することが可能である。
以上、説明したように、本発明の磁気ディスク装置は、磁気ディスク障害発生の際に、パリティデータを用いて消失したデータを回復し、回復データを当該パリティデータに置き換えて、冗長性レベルをダウンした状態で維持・運用することにより、ホストからのリード/ライトアクセスに対する処理性能を大幅に低下させることなく稼働することが可能である。
一方で、磁気ディスクが復旧した際にも、回復データを本来の磁気ディスク上の格納位置に回復するとともに、消去されていたパリティデータを本来の磁気ディスク上の格納位置に回復することで、障害発生前の磁気ディスクの状態として再稼動可能となる。この復旧後から完全回復までの間においても、ホストからのリード/ライトアクセスに対する処理性能を大幅に低下させることなく稼働することが可能である。
以下、添付図面を参照しながら、本発明の磁気ディスク装置を実施するための最良の形態を詳細に説明する。図1〜図9は、本発明の実施の形態を例示する図であり、これらの図において、同一の符号を付した部分は同一物を表わし、基本的な構成及び動作は同様であるものとする。
<構成>
図1は、本発明の一実施形態に係る磁気ディスク装置の内部構成を示す図である。
図1に示すように、本実施形態の磁気ディスク装置21は、ホストインタフェース22と、キャッシュメモリ23と、ドライブインタフェース24と、ホストコンピュータ11からのリードライト要求を処理する対ホスト制御部31と、RAID構成のHDD群を制御する対ドライブ制御部41と、RAIDを構成する複数のHDDからなるドライブモジュール61とを有している。
対ホスト制御部31は、ホストコンピュータ11からのリード要求を処理するリード処理部32と、ライト要求を処理するライト処理部33とを有している。
対ドライブ制御部41は、ドライブモジュール61における各HDDの稼働状態を管理するHDD状態管理部42と、ドライブモジュール61のRAIDの稼働状態を管理するRAID状態管理部43と、HDD障害時に消失データの回復及び復旧を行う回復/復旧コピー機能部44と、消失データの回復及び復旧処理におけるデータコピー作業を管理するコピー進捗管理部51と、タイマ監視部53とを有している。
回復/復旧コピー機能部44は、障害の発生したHDD以外のHDDに記憶されたデータ及びパリティデータから消失データを回復させるデータ回復制御部44Aと、回復されたデータのパリティデータを再生成するパリティ再生部44Bとを有している。
コピー進捗管理部51は、消失データの回復及び復旧処理におけるデータコピー作業の進捗に関する情報として、コピー中ポインタ52Aとコピー済ポインタ52Bとを有している。
ドライブモジュール61は、HDD#0〜#11の12台のHDDを有している。HDD#0〜#3がRAIDグループ#0(62)を構成し、HDD#4〜#11がRAIDグループ#1(63)を構成している。RAIDグループ#0は、3D+1PのRAID5であり、RAIDグループ#1は、6D+2PのRAID6である。
<障害対応の原理>
図2は、本実施形態の磁気ディスク装置におけるHDD障害発生時の運用切り替え及び障害復旧処理の原理を概略的に説明する図である。
図2(A)に、正常状態のRAIDシステムの構成を示している。図中、D〜Dはデータブロックを示し、P〜Pはパリティブロックを示している。ここでは簡略化のため、HDD3台でRAID5を構成し、各HDDを3つのストライプに分割した場合を例示するが、本原理は一般的なRAIDシステムに応用が可能である。
図2(B)−1,2に示すように、HDD#2に障害が発生した場合、HDD#2に格納されていたデータブロック及びパリティブロックは消失する。そこで、磁気ディスク装置の対ドライブ制御部41は、正常状態のHDD#0及びHDD#1に格納されたデータブロック及びパリティブロックから、消失したデータブロックを回復する。回復されたデータブロックは、当該回復に必要となったパリティブロックの格納場所に格納される。こうして、RAIDシステム全体としては、消失されたデータブロックがHDD上に回復されるとともに、冗長性が失われることとなる。すなわち、RAID5からRAID0に構成変更されたこととなる。
その後、HDD#2が障害から復旧されると、図2(C)−1〜(C)−3に示すように、HDD#2の復旧及び、HDD#0,#1のパリティの回復が行われる。まず、図(C)−1は、HDD#2への復旧の対象がパリティブロックであるため、パリティブロックの再生成及び、HDD#2へのパリティブロックの格納が行われる。
続いて、図2(C)−2,(C)−3に示すよに、HDD#2への復旧の対象がデータブロックであり、HDD#2の回復処理失敗に備えるための順序で処理をおこなう。まず、パリティブロックを、データブロックから先に再生成する。その後、HDD#2へデータブロックを格納し、次にパリティブロックを元の格納位置に格納する。
このようにして、RAIDシステムは再び、図2(A)に示す正常状態のRAIDシステムに戻ることができる。
図3は、図1に示す磁気ディスク装置21におけるHDD状態管理部42及びRAID状態管理部43によるHDD及びRAIDの状態管理の方法を示す図である。
図示するように、図1に示す各RAIDグループの各HDDについては、正常、閉塞、復旧中の3つの状態が設定されている。これに対応して、各RAIDグループついては、正常状態のほか、HDD閉塞状態で消失データの回復・コピーの実行中とその完了の状態が設定され、さらに、HDD復旧中の状態でパリティ復旧・コピーの状態が設定されている。このように、HDD状態とRAID状態とは関連付けられて管理されている。
<動作>
次に、本実施形態の磁気ディスク装置におけるHDD障害発生時の回復・復旧のための動作について、RAID5の場合とRAID6の場合とに分けて、詳細に説明する。
<障害対応の動作(RAID5)>
図4は、図1に示す本実施形態の磁気ディスク装置において、RAID5で構成したRAIDグループ#0(62)のうち1台のHDDに障害が発生した場合のデータ回復コピー動作を説明する図である。以下に説明するデータ回復コピー動作は、磁気ディスク装置21の回復/復旧コピー機能部44のデータ回復制御部44Aが、上記した障害対応の原理に基づいて実行・管理する。
データ回復コピー動作においては、図2(B)に示すのと同様に、各HDDの先頭論理ブロック(ストライプ)から順に、当該ストライプに属するデータブロック及びパリティブロックから消失データブロックを回復し、回復されたデータブロックをパリティブロックの格納場所に上書きして格納する。図示するように、このコピー及び回復動作は、キャッシュメモリ23上の作業領域で行われる。すなわち、回復処理に必要なデータブロック及びパリティブロックが、キャッシュメモリ23上の作業領域にコピー(ステージ)され、回復されたデータブロックがHDD上の格納場所にコピー(デステージ)される。
以下の説明において、便宜上、HDD上のデータをキャッシュメモリに読み込むことを「ステージ」といい、キャッシュメモリ上のデータをHDDに書き込むことを「デステージ」という。
1つの論理ブロック(ストライプ)について、消失データブロック回復処理が完了すると、次の論理ブロック(ストライプ)に作業が移行する。ここで、本実施形態の磁気ディスク装置では、コピー進捗管理部51により、消失データブロック回復処理の進捗状況を管理している。具体的には、図示するように、論理ブロック(ストライプ)単位で、消失データブロック回復処理が完了した位置を示すコピー済ポインタ52Bと、現在データブロック回復処理中である先頭位置とを示すコピー中ポインタ52Aとを用いて管理している。これらのポインタにより、論理ブロック(ストライプ)単位で、データ回復コピー済み範囲、データ回復コピー中範囲、データ回復コピー未着手範囲が容易に把握できるようになっている。
尚、図中、ストライプ#1のようにパリティブロックが消失している論理ブロック(ストライプ)については、データブロック回復処理は行う必要がなく、コピー進捗ポインタ更新処理のみを行えばよい。
コピー進捗管理部51は、データ回復コピーを開始した先頭論理ブロックにコピー済ポインタを加算した結果が最終論理ブロックと等しくなった時点で、データ回復コピー動作を完了とする。また、データブロック回復処理におけるステージングデータの位置、回復データの同一ストライプ列内のパリティ位置を求める際にも、各HDDの先頭論理ブロックにコピー進捗ポインタを加算して求めるものとする。このため、コピー進捗ポインタは、オフセット形式の値で記憶するのが好ましい。
図5は、図1に示す本実施形態の磁気ディスク装置において、図4に示すデータ回復コピー動作が完了し、閉塞していたHDDが回復された際におけるパリティ復旧コピー動作を説明する図である。以下に説明するパリティ復旧コピー動作は、磁気ディスク装置21の回復/復旧コピー機能部44のパリティ再生部44Bが、上記した障害対応の原理に基づいて実行・管理する。
パリティ復旧コピー動作においては、図2(C)及び(D)に示すのと同様に、各HDDの先頭論理ブロック(ストライプ)から順に、当該ストライプに属するデータブロックを正常な格納位置にコピーするとともに、これらのデータブロックからパリティブロック再生成し、パリティブロックの格納場所に上書きして格納する。図示するように、これらのコピー、再生成、格納動作は、キャッシュメモリ23上の作業領域で行われる。すなわち、パリティ復旧コピー処理に必要なデータブロックが、キャッシュメモリ23上の作業領域にコピー(ステージ)され、データブロックが正常な格納位置に再コピー(デステージ)されるとともに、再生成されたパリティブロックがパリティブロックの格納場所にコピー(デステージ)される。
1つの論理ブロック(ストライプ)について、パリティ復旧コピー処理が完了すると、次の論理ブロック(ストライプ)に作業が移行する。ここで、本実施形態の磁気ディスク装置では、コピー進捗管理部51により、消失データブロック回復処理の進捗状況を管理している。具体的には、図示するように、論理ブロック(ストライプ)単位で、パリティ復旧コピー処理が完了した位置を示すコピー済ポインタ52Bと、現在データブロック回復処理中である先頭位置とを示すコピー中ポインタ52Aとを用いて管理している。これらのポインタにより、論理ブロック(ストライプ)単位で、パリティ復旧コピー済み範囲、パリティ復旧コピー中範囲、パリティ復旧コピー未着手範囲が容易に把握できるようになっている。コピー進捗管理部51及びコピー中ポインタ52A、コピー済ポインタ52Bについては、上記データ回復コピー動作と同様である。
尚、図中、ストライプ#1のようにデータブロックが全て正常な格納位置にある論理ブロック(ストライプ)については、データブロックの再コピー処理は行う必要がなく、パリティの再生成及びコピー処理のみを行えばよい。
以上、RAID5の場合における障害対応の動作について説明したが、パリティが1台のパリティディスクに集約されているRAID3、RAID4についても、全く同様に適用することが可能である。また、データからハミングコード(ECCコード)を生成し、ビット毎に複数のHDDに分散して記憶するRAID2についても、全く同様に適用することが可能である。
<障害対応の動作(RAID6)>
図6は、図1に示す本実施形態の磁気ディスク装置において、RAID6で構成したRAIDグループ#1(63)のうち1台のHDDに障害が発生した場合のデータ回復コピー動作を説明する図である。以下に説明するデータ回復コピー動作は、磁気ディスク装置21の回復/復旧コピー機能部44のデータ回復制御部44Aが、上記した障害対応の原理をダブルパリティ方式のRAID6に応用して、実行・管理する。
データ回復コピー動作においては、図4に示すのと同様に、各HDDの先頭論理ブロック(ストライプ)から順に、当該ストライプに属するデータブロック及びパリティブロックから消失データブロック又は消失パリティブロックを回復し、回復されたデータブロックを所定の格納場所に上書きして格納する。
ここで、RAID6の場合にはRAIDグループ内に第1パリティブロックP0〜n(平行XORパリティ)及び第2パリティブロックQ0〜n(平行ECCパリティ)が用いられるが、消失し回復させたデータブロックは第1パリティブロック上に上書きするものとし、消失した第1パリティブロックは回復をせず、消失した第2パリティブロックは回復して第1パリティブロック上に上書きするものとする。尚、第1パリティブロックの消失については、後のパリティ復旧コピー動作において回復処理を行う。
図示するように、このコピー及び回復動作は、キャッシュメモリ23上の作業領域で行われる。すなわち、回復処理に必要なデータブロック及びパリティブロックが、キャッシュメモリ23上の作業領域にコピー(ステージ)され、回復されたデータブロック及び第2パリティブロックがHDD上の格納場所にコピー(デステージ)される。
1つの論理ブロック(ストライプ)について、消失データブロック回復処理が完了すると、次の論理ブロック(ストライプ)に作業が移行する。
ここで、コピーポインタによる進捗管理、並びにコピーポインタを用いたステージングデータの位置算出については、上記したRAID5の場合と同様であるので、説明を省略する。
図7は、図1に示す本実施形態の磁気ディスク装置において、図6に示すデータ回復コピー動作が完了し、閉塞していたHDDが回復された際におけるパリティ復旧コピー動作を説明する図である。以下に説明するパリティ復旧コピー動作は、磁気ディスク装置21の回復/復旧コピー機能部44のパリティ再生部44Bが、上記した障害対応の原理に基づいて実行・管理する。
パリティ復旧コピー動作においては、図5に示すのと同様に、各HDDの先頭論理ブロック(ストライプ)から順に、当該ストライプに属するデータブロック又は第2パリティブロックを正常な格納位置にコピーするとともに、これらのデータブロックから消失した第1パリティブロック再生成し、第1パリティブロックの格納場所に上書きして格納する。図示するように、これらのコピー、再生成、格納動作は、キャッシュメモリ23上の作業領域で行われる。すなわち、パリティ復旧コピー処理に必要なデータブロックが、キャッシュメモリ23上の作業領域にコピー(ステージ)され、データブロック又は第2パリティブロックが正常な格納位置に再コピー(デステージ)されるとともに、再生成された第1パリティブロックがパリティブロックの格納場所にコピー(デステージ)される。
1つの論理ブロック(ストライプ)について、消失データブロック回復処理が完了すると、次の論理ブロック(ストライプ)に作業が移行する。
ここで、コピーポインタによる進捗管理、並びにコピーポインタを用いたステージングデータの位置算出については、上記したRAID5の場合と同様であるので、説明を省略する。
ダブルパリティ方式を採用するRAID6では、1つのデータブロックの消失に対しては、他のデータブロックと1つのパリティブロックのみを用いて回復が可能である。そこで、上記のように、データ回復コピー動作においては、第2パリティブロックの消失についてのみ回復処理を行い、後のパリティ復旧コピー動作において、第1パリティブロックの消失についての回復処理を行うようにすることで、各動作時でのパリティ回復にかかる処理負荷が分散され、迅速な障害対応処理を行うことが可能となっている。
尚、上記では、冗長性レベルをダブルパリティからシングルパリティに下げて障害発生したHDDの復旧を待つこととしているが、シングルパリティの状態でさらに他のHDDに障害が発生した場合には、上記のRAID5の例と同様にしてさらに冗長性レベルを下げて対応することが可能である。この場合、復旧の手順は、上記のRAID5の例と同様のパリティ再生成処理を行った後、以下に説明するRAID6におけるパリティ再生成処理を行えば、障害前の状態への復旧が可能である。
<閉塞中又は復旧中のHDDへのアクセス>
次に、本実施形態の磁気ディスク装置におけるHDD障害発生時の閉塞中又は復旧中のHDDへのアクセスの処理方法について、図4及び図5に示したRAID5の場合を例に挙げて、詳細に説明する。
このアクセス処理は、図1に示す磁気ディスク装置21の対ホスト制御部31のリード処理部32及びライト処理部33が実行する。
<データ回復コピー動作中の閉塞HDDへのアクセス>
図8は、本実施形態の磁気ディスク装置において、ホストコンピュータ11からのデータ回復コピー動作中の閉塞HDDへのアクセスの処理方法を説明する図である。図示するように、データ回復コピー動作中の閉塞HDDへのアクセスは全て、キャッシュメモリ23上のデータブロックに対して行われるものとする。以下、アクセス対象データが、データ回復コピー済み範囲、データ回復コピー中範囲、データ回復コピー未着手範囲のそれぞれにある場合について、説明する。
(1),(2)アクセス対象データがデータ回復コピー済み範囲にある場合
図8において、コピー済み範囲であるストライプ#0のデータブロックDは、キャッシュメモリからHDD#3へのデステージが完了しているため、キャッシュメモリ上にはデータブロックDは存在しない。この場合、対ホスト制御部31は、HDD#3からデータブロックDを再ステージさせ、このキャッシュメモリ上のデータブロックDにアクセスする。((1)の場合。)
一方、コピー済み範囲であるストライプ#2のデータブロックDは、キャッシュメモリからHDD#1へのデステージが未完了であるため、対ホスト制御部31は、キャッシュメモリ上に残存するデータブロックDにアクセスすることができる。((2)の場合。)
(3)アクセス対象データがデータ回復コピー中範囲にある場合
図8において、コピー中範囲であるストライプ#3のデータブロックD10にアクセスする場合、データブロックD10はこれからキャッシュメモリ上に回復されるため、対ホスト制御部31は、キャッシュメモリ上でデータブロックD10にヒットするまで、複数回アクセスを再試行する。(再試行は図1に示すタイマ監視部53が管理する。)
(4)アクセス対象データがデータ回復コピー未着手範囲にある場合
図8において、コピー未着手範囲であるストライプ#mのデータブロックDn−1にアクセスする場合、対ホスト制御部31は、HDD#0、HDD#1、HDD#3からパリティブロックP、データブロックDn−2、データブロックDを再ステージさせ、これらからキャッシュメモリ上に回復されたデータブロックDn−1にアクセスする。
本実施形態の磁気ディスク装置においては、以上のようにして、データ回復コピー動作中の閉塞HDDについても、ホストコンピュータ11からのアクセスに対して処理性能を低下させることなく応答することができる。
尚、上記ではリード処理について説明しているが、ライト処理の場合も同様にして処理することができる。ライト処理では、データ回復コピー済み範囲、データ回復コピー中範囲のデータ書き込みの際には、パリティ生成を行わず、データ回復コピー未着手範囲のデータ書き込みの際には、同ストライプ上のデータブロック及びパリティブロックからライト処理後のデータブロックが回復されるように当該パリティブロックを書き換えるようにすることで、データ回復コピー動作の進捗状況に関わらず、ライト処理を行うことができる。
<パリティ復旧コピー動作中の復旧中HDDへのアクセス>
図9は、本実施形態の磁気ディスク装置において、ホストコンピュータ11からのパリティ復旧コピー動作中の復旧中HDDへのアクセスの処理方法を説明する図である。図示するように、パリティ復旧コピー動作中の復旧中HDDへのアクセスは全て、キャッシュメモリ23上のデータブロックに対して行われるものとする。以下、アクセス対象データが、パリティ復旧コピー済み範囲、パリティ復旧コピー中範囲、パリティ復旧コピー未着手範囲のそれぞれにある場合について、説明する。
(1),(2)アクセス対象データがパリティ復旧コピー済み範囲にある場合
図9において、コピー済み範囲であるストライプ#0のデータブロックDは、キャッシュメモリから復旧したHDDへの格納が完了しているため、キャッシュメモリ上にはデータブロックDは存在しない。この場合、対ホスト制御部31は、復旧したHDDからデータブロックDを再ステージさせ、このキャッシュメモリ上のデータブロックDにアクセスする。((1)の場合。)
一方、コピー済み範囲であるストライプ#2のデータブロックDは、キャッシュメモリから復旧したHDDへの格納(デステージ)が完了しているが、パリティブロックPの復旧コピー処理中であり、キャッシュメモリ上に残存しているため、対ホスト制御部31は、キャッシュメモリ上のデータブロックDにアクセスすることができる。((2)の場合。)
(3)アクセス対象データがパリティ復旧コピー中範囲にある場合
図9において、コピー中範囲であるストライプ#3のデータブロックD10にアクセスする場合、データブロックD10は、パリティブロックPの復旧コピー処理のためにこれからキャッシュメモリ上に回復されるため、対ホスト制御部31は、キャッシュメモリ上でデータブロックD10にヒットするまで、複数回アクセスを再試行する。(再試行は図1に示すタイマ監視部53が管理する。)
(4)アクセス対象データがパリティ復旧コピー未着手範囲にある場合
図9において、コピー未着手範囲であるストライプ#mのデータブロックDn−1にアクセスする場合、対ホスト制御部31は、HDD#0上に格納されているデータブロックDn−1をキャッシュメモリ上にステージさせ、このステージされたデータブロックDn−1にアクセスする。
本実施形態の磁気ディスク装置においては、以上のようにして、パリティ復旧コピー動作中の復旧中HDDについても、ホストコンピュータ11からのアクセスに対して処理性能を低下させることなく応答することができる
尚、上記ではリード処理について説明しているが、ライト処理の場合も同様にして処理することができる。ライト処理では、パリティ復旧コピー済み範囲、パリティ復旧コピー中範囲のデータ書き込みの際には、データ書き込みとともにパリティ生成を行い、パリティ復旧コピー未着手範囲のデータ書き込みの際には、データ書き込みのみを行いパリティ生成を行わないようにすることで、パリティ復旧コピー動作の進捗状況に関わらず、ライト処理を行うことができる。
以上、本発明の磁気ディスク装置について、具体的な実施の形態を示して説明したが、本発明はこれらに限定されるものではない。当業者であれば、上記各実施形態における磁気ディスクの構成、RAID構成、ホストからのリードライト制御、対ドライブ制御などについて、本発明の要旨を逸脱しない範囲内において適当な変更・改良を加えることが可能である。
本発明の一実施形態に係る磁気ディスク装置の内部構成を示す図である。 図1に示す磁気ディスク装置におけるHDD障害発生時の運用切り替え及び障害復旧処理の原理を概略的に説明する図である。 図1に示すHDD状態管理部及びRAID状態管理部によるHDD及びRAIDの状態管理の方法を示す図である。 図1に示す本実施形態の磁気ディスク装置において、RAID5で構成したRAIDグループ#0のうち1台のHDDに障害が発生した場合のデータ回復コピー動作を説明する図である。 図1に示す本実施形態の磁気ディスク装置において、図4に示すデータ回復コピー動作が完了し、閉塞していたHDDが回復された際におけるパリティ復旧コピー動作を説明する図である。 図1に示す本実施形態の磁気ディスク装置において、RAID6で構成したRAIDグループ#1のうち1台のHDDに障害が発生した場合のデータ回復コピー動作を説明する図である。 図1に示す本実施形態の磁気ディスク装置において、図6に示すデータ回復コピー動作が完了し、閉塞していたHDDが回復された際におけるパリティ復旧コピー動作を説明する図である。 本実施形態の磁気ディスク装置において、ホストからのデータ回復コピー動作中の閉塞HDDへのアクセスの処理方法を説明する図である。 本実施形態の磁気ディスク装置において、ホストからのパリティ復旧コピー動作中の復旧中HDDへのアクセスの処理方法を説明する図である。
符号の説明
11 ホストコンピュータ
21 磁気ディスク装置
22 ホストインタフェース
23 キャッシュメモリ
24 ドライブインタフェース
31 対ホスト制御部
32 リード処理部
33 ライト処理部
41 対ドライブ制御部
42 HDD状態管理部
43 RAID状態管理部
44 復旧コピー機能部
44A データ回復制御部
44B パリティ再生部
51 コピー進捗管理部
52A コピー中ポインタ
52B コピー済ポインタ
53 タイマ監視部
61 ドライブモジュール
62 RAIDグループ#0
63 RAIDグループ#1

Claims (10)

  1. 複数の磁気ディスクにより冗長性を有するRAIDグループを構成する磁気ディスク装置であって、
    ホストコンピュータから前記磁気ディスクへのリードライト要求を処理する対ホスト制御部と、
    前記磁気ディスクの状態を管理するHDD状態管理部と、
    前記RAIDグループの状態を管理するRAID状態管理部と、
    前記磁気ディスク上の消失したデータを回復するデータ回復制御部と、
    前記データ回復制御部による消失データの回復処理の進捗を管理する進捗管理部とを備え、
    前記HDD状態管理部が磁気ディスクの障害を検知すると、
    前記データ回復制御部は、障害発生した磁気ディスク上の消失したデータを、当該磁気ディスクと同RAIDグループ内の磁気ディスク上のデータ及びパリティデータを用いて回復し、当該回復されたデータを同RAIDグループ内のパリティデータの格納場所に上書きして格納し、
    前記RAID状態管理部は、当該RAIDグループを冗長性レベルが下がったRAIDとして管理することを特徴とする磁気ディスク装置。
  2. 前記データ回復制御部は、前記磁気ディスク上の先頭論理アドレスからアドレス順に、消失データの回復処理を実行し、
    前記進捗管理部は、前記データ回復制御部による消失データの回復処理において、当該回復処理が完了した最後の論理アドレスを示すポインタを用いて進捗管理を行うことを特徴とする請求項1に記載の磁気ディスク装置。
  3. 前記データ回復制御部による消失データの回復処理中に、ホストコンピュータから前記障害発生した磁気ディスクへのリード要求が発生した場合、
    前記対ホスト制御部は、
    前記リード要求のアクセス箇所が前記回復処理が完了した最後の論理アドレスよりも前のアドレスである場合には、前記回復され同RAIDグループ内のパリティデータの格納場所に上書きして格納されたデータを読み込み、
    前記リード要求のアクセス箇所が前記回復処理が完了した最後の論理アドレスよりも後ろのアドレスである場合には、同RAIDグループ内の磁気ディスク上のデータ及びパリティデータを用いて回復されるデータを読み込むことを特徴とする請求項2に記載の磁気ディスク装置。
  4. 前記データ回復制御部による消失データの回復処理中に、ホストコンピュータから前記磁気ディスクへのライト要求が発生した場合、
    前記対ホスト制御部は、
    前記ライト要求のアクセス箇所が前記回復処理が完了した最後の論理アドレスよりも前のアドレスである場合には、前記同RAIDグループ内のパリティデータの格納場所にデータの書き込みを行い、
    前記ライト要求のアクセス箇所が前記回復処理が完了した最後の論理アドレスよりも後ろのアドレスである場合には、同RAIDグループ内の磁気ディスク上のデータ及びパリティデータからライト処理後のデータが回復されるように当該パリティデータを書き換えることを特徴とする請求項2に記載の磁気ディスク装置。
  5. 複数の磁気ディスクにより冗長性を有するRAIDグループを構成する磁気ディスク装置であって、
    ホストコンピュータから前記磁気ディスクへのリードライト要求を処理する対ホスト制御部と、
    前記磁気ディスクの状態を管理するHDD状態管理部と、
    前記RAIDグループの状態を管理するRAID状態管理部と、
    前記磁気ディスク上の消失したデータを回復するデータ回復制御部と、
    前記磁気ディスク上の消失したパリティデータ再生成するパリティ再生成部と、
    前記データ回復制御部による消失データの回復処理、及び前記パリティ再生成部による消失パリティデータの再生成処理の進捗を管理する進捗管理部とを備え、
    前記HDD状態管理部が磁気ディスクの障害を検知すると、
    前記データ回復制御部は、障害発生した磁気ディスク上の消失したデータを、当該磁気ディスクと同RAIDグループ内の磁気ディスク上のデータ及びパリティデータを用いて回復し、当該回復されたデータを同RAIDグループ内のパリティデータの格納場所に上書きして格納し、
    前記RAID状態管理部は、当該RAIDグループを冗長性レベルが下がったRAIDとして管理し、
    前記HDD状態管理部が磁気ディスクの復旧を検知すると、
    前記パリティ再生成部は、前記パリティデータの格納場所に上書きして格納された回復データを前記復旧した磁気ディスク上の正常格納位置にコピーし、同RAIDグループ内の磁気ディスク上のデータを用いて前記上書きにより消失したパリティデータを再生成し、当該再生成されたパリティデータを同RAIDグループ内の磁気ディスク上の正常格納位置にコピーし、
    前記RAID状態管理部は、当該RAIDグループを正常状態における冗長性レベルのRAIDとして管理することを特徴とする磁気ディスク装置。
  6. 前記パリティ再生成部は、前記磁気ディスク上の先頭論理アドレスからアドレス順に、消失パリティデータの再生成処理を実行し、
    前記進捗管理部は、前記消失データの消失パリティデータの再生成処理において、当該再生成処理が完了した最後の論理アドレスを示すポインタを用いて進捗管理を行うことを特徴とする請求項5に記載の磁気ディスク装置。
  7. 前記パリティ再生成部による消失パリティデータの再生成処理中に、ホストコンピュータから前記障害発生した磁気ディスクへのリード要求が発生した場合、
    前記対ホスト制御部は、
    前記リード要求のアクセス箇所が前記再生成処理が完了した最後の論理アドレスよりも前のアドレスである場合には、前記復旧した磁気ディスク上に回復されたデータを読み込み、
    前記リード要求のアクセス箇所が前記再生成処理が完了した最後の論理アドレスよりも後ろのアドレスである場合には、前記同RAIDグループ内のパリティデータの格納場所に上書きして格納された回復データを読み込むことを特徴とする請求項6に記載の磁気ディスク装置。
  8. 前記パリティ再生成部による消失パリティデータの再生成処理中に、
    ホストコンピュータから前記磁気ディスクへのライト要求が発生した場合、
    前記対ホスト制御部は、
    前記ライト要求のアクセス箇所が前記再生成処理が完了した最後の論理アドレスよりも前のアドレスである場合には、前記復旧した磁気ディスク上にデータの書き込みを行うとともにパリティデータの更新を行い、
    前記ライト要求のアクセス箇所が前記再生成処理が完了した最後の論理アドレスよりも後ろのアドレスである場合には、前記同RAIDグループ内のパリティデータの格納場所にデータの書き込みを行うことを特徴とする請求項6に記載の磁気ディスク装置。
  9. 前記磁気ディスク装置は、第1パリティデータ及び第2パリティデータにより二重に冗長性を有するRAIDグループを構成する磁気ディスク装置であって、
    前記データ回復制御部は、消失したデータ又は消失した第2パリティデータを回復し同RAIDグループ内の第1パリティデータの格納場所に上書きして格納し、
    前記RAID状態管理部は、当該RAIDグループを冗長性レベルが二重から一重に下がったRAIDとして管理することを特徴とする1から8のいずれか1項に記載の磁気ディスク装置。
  10. 前記磁気ディスク装置は、第1パリティデータ及び第2パリティデータにより二重に冗長性を有するRAIDグループを構成する磁気ディスク装置であって、
    前記パリティ再生成部は、
    前記パリティデータの格納場所に上書きして格納された回復データ及び回復第2パリティデータを前記復旧した磁気ディスク上の正常格納位置にコピーし、同RAIDグループ内の磁気ディスク上のデータを用いて前記上書きにより消失した第1パリティデータを再生成し、当該再生成された第1パリティデータを同RAIDグループ内の磁気ディスク上の正常格納位置にコピーし、
    前記RAID状態管理部は、当該RAIDグループを二重の冗長性レベルのRAIDとして管理することを特徴とする請求項5から8のいずれか1項に記載の磁気ディスク装置。
JP2008187733A 2008-07-18 2008-07-18 磁気ディスク装置 Withdrawn JP2010026812A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008187733A JP2010026812A (ja) 2008-07-18 2008-07-18 磁気ディスク装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008187733A JP2010026812A (ja) 2008-07-18 2008-07-18 磁気ディスク装置

Publications (1)

Publication Number Publication Date
JP2010026812A true JP2010026812A (ja) 2010-02-04

Family

ID=41732589

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008187733A Withdrawn JP2010026812A (ja) 2008-07-18 2008-07-18 磁気ディスク装置

Country Status (1)

Country Link
JP (1) JP2010026812A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103631535A (zh) * 2013-11-20 2014-03-12 华为技术有限公司 一种实现存储池内空间分配的方法及装置
US9081697B2 (en) 2010-10-21 2015-07-14 Fujitsu Limited Storage control apparatus and storage control method
WO2017081748A1 (ja) * 2015-11-10 2017-05-18 株式会社日立製作所 ストレージシステム、及び、ストレージ管理方法
JP2018536220A (ja) * 2015-10-30 2018-12-06 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation データ・ストレージ・システムにおける自律パリティ交換方法、プログラム、およびシステム
JP2021009646A (ja) * 2019-07-03 2021-01-28 富士通株式会社 ストレージ制御装置およびストレージ制御プログラム

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9081697B2 (en) 2010-10-21 2015-07-14 Fujitsu Limited Storage control apparatus and storage control method
CN103631535A (zh) * 2013-11-20 2014-03-12 华为技术有限公司 一种实现存储池内空间分配的方法及装置
CN103631535B (zh) * 2013-11-20 2016-08-17 华为技术有限公司 一种实现存储池内空间分配的方法及装置
JP2018536220A (ja) * 2015-10-30 2018-12-06 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation データ・ストレージ・システムにおける自律パリティ交換方法、プログラム、およびシステム
WO2017081748A1 (ja) * 2015-11-10 2017-05-18 株式会社日立製作所 ストレージシステム、及び、ストレージ管理方法
US10509700B2 (en) 2015-11-10 2019-12-17 Hitachi, Ltd. Storage system and storage management method
JP2021009646A (ja) * 2019-07-03 2021-01-28 富士通株式会社 ストレージ制御装置およびストレージ制御プログラム
JP7288191B2 (ja) 2019-07-03 2023-06-07 富士通株式会社 ストレージ制御装置およびストレージ制御プログラム

Similar Documents

Publication Publication Date Title
US9009526B2 (en) Rebuilding drive data
JP5768587B2 (ja) ストレージシステム、ストレージ制御装置およびストレージ制御方法
US6766491B2 (en) Parity mirroring between controllers in an active-active controller pair
US7464322B2 (en) System and method for detecting write errors in a storage device
US7721143B2 (en) Method for reducing rebuild time on a RAID device
US7069382B2 (en) Method of RAID 5 write hole prevention
JP2004118837A (ja) 耐故障性の記憶サブシステムにデータを格納するための方法、記憶サブシステムおよびそのシステムのためのデータ編成管理プログラム
WO2002071230A1 (en) Utilizing parity caching and parity logging while closing the raid 5 write hole
JP2008204041A (ja) ストレージ装置及びデータ配置制御方法
GB2414592A (en) Decreasing failed disk reconstruction time in a RAID data storage system
JP2010026812A (ja) 磁気ディスク装置
WO2014111979A1 (ja) ディスクアレイ制御装置およびディスクアレイ装置
JP4405421B2 (ja) ストレージ装置およびプログラム。
JP2010267037A (ja) ディスクアレイ装置
US7174476B2 (en) Methods and structure for improved fault tolerance during initialization of a RAID logical unit
JP2005107839A (ja) アレイコントローラ及びディスクアレイ再構築方法
JP2004213470A (ja) ディスクアレイ装置及びディスクアレイ装置におけるデータ書き込み方法
JP4248164B2 (ja) ディスクアレイのエラー回復方法、ディスクアレイ制御装置及びディスクアレイ装置
JP2005166016A (ja) ディスクアレイ装置
US20050081088A1 (en) Array controller for disk array, and method for rebuilding disk array
JP2007128183A (ja) ストレージシステム
JP5598124B2 (ja) データ記録再生装置、データ記録方法、及び、データ記録プログラム
JP2005004733A (ja) ストレージ・システムにおいて書込みエラーを検出するための配置構成および方法
JP2010257254A (ja) 磁気ディスク装置
JP4609034B2 (ja) ディスクアレイ装置

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20091211

A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20111004