(57)【要約】【課題】記憶デバイスの障害に対する復旧時間を格段的に短縮させ得るストレージ装置及びその制御方法を提案する。【解決手段】１又は複数の記憶デバイスが搭載されたストレージ装置及びその制御方法において、記憶デバイスに障害が発生したときに、当該障害が予め定められた特定障害であるか否かを判断し、障害が特定障害であったときには、当該記憶デバイスを再起動させるようにしたことにより、記憶デバイスを交換する場合に比べて格段的に短い時間で障害から復旧することができ、かくして記憶デバイスの障害に対する復旧時間を格段的に短縮させることができる。【選択図】図７
2009104412.tif 000002
【特許請求の範囲】
【請求項１】
１又は複数の記憶デバイスが搭載されたストレージ装置において、
前記記憶デバイスに対するデータの読み書きを制御する制御部
を備え、
前記制御部は、
前記記憶デバイスに障害が発生したときに、当該障害が予め定められた特定障害であるか否かを判断し、前記障害が前記特定障害であったときには、当該記憶デバイスを再起動させる
ことを特徴とするストレージ装置。
【請求項２】
前記記憶デバイスは、
ＳＡＴＡ（Serial AT Attachment）ディスクドライブである
ことを特徴とする請求項１に記載のストレージ装置。
【請求項３】
前記制御部は、
前記上位装置から与えられたデータを、当該データに基づき生成したパリティデータと共に、１つのグループを構成する複数の記憶デバイスに分散して格納し、
前記記憶デバイスの再起動中に当該記憶デバイスに格納されたデータに対するリード要求があったときには、同じ前記グループ内の他の前記記憶デバイスに格納されたデータ及び前記パリティデータを用いて前記リード要求に対応する
ことを特徴とする請求項１に記載のストレージ装置。
【請求項４】
前記制御部は、
前記記憶デバイスの再起動中に当該記憶デバイスに対するデータのライト要求があったときには、当該記憶デバイスに格納すべきデータをスペアの前記記憶デバイスに格納し、前記再起動により当該記憶デバイスが障害から回復したときに、前記スペアの記憶デバイスに格納したデータを、前記障害から回復した前記記憶デバイスにコピーさせる
ことを特徴とする請求項１に記載のストレージ装置。
【請求項５】
ユーザインタフェースとしての管理端末を備え、
前記制御部は、
前記記憶デバイスごとの再起動回数を管理し、いずれかの前記記憶デバイスの再起動回数が予め定められた閾値以上となったときに、当該記憶デバイスの再起動回数が当該閾値以上となったことを前記管理端末に通知し、
前記管理端末は、
当該通知に基づいて、前記記憶デバイスの再起動回数が当該閾値以上となったことを表示する
ことを特徴とする請求項１に記載のストレージ装置。
【請求項６】
ユーザインタフェースとしての管理端末を備え、
前記制御部は、
前記記憶デバイスの再起動に関する詳細情報を管理し、
前記管理端末は、
外部からの要求に応じて、当該詳細情報を表示する
ことを特徴とする請求項１に記載のストレージ装置。
【請求項７】
１又は複数の記憶デバイスが搭載されたストレージ装置の制御方法において、
前記記憶デバイスに障害が発生したときに、当該障害が予め定められた特定障害であるか否かを判断する第１のステップと、
前記障害が前記特定障害であったときには、当該記憶デバイスを再起動させる第２のステップと
を備えることを特徴とするストレージ装置の制御方法。
【請求項８】
前記記憶デバイスは、
ＳＡＴＡ（Serial AT Attachment）ディスクドライブである
ことを特徴とする請求項７に記載のストレージ装置の制御方法。
【請求項９】
前記ストレージ装置は、
前記上位装置から与えられたデータを、当該データに基づき生成したパリティデータと共に、１つのグループを構成する複数の記憶デバイスに分散して格納し、
前記第２のステップでは、
前記記憶デバイスの再起動中に当該記憶デバイスに格納されたデータに対するリード要求があったときには、同じ前記グループ内の他の前記記憶デバイスに格納されたデータ及び前記パリティデータを用いて前記リード要求に対応する
ことを特徴とする請求項７に記載のストレージ装置の制御方法。
【請求項１０】
前記第２のステップでは、
前記記憶デバイスの再起動中に当該記憶デバイスに対するデータのライト要求があったときには、当該記憶デバイスに格納すべきデータをスペアの前記記憶デバイスに格納し、前記再起動により当該記憶デバイスが障害から回復したときに、前記スペアの記憶デバイスに格納したデータを、前記障害から回復した前記記憶デバイスにコピーさせる
ことを特徴とする請求項７に記載のストレージ装置の制御方法。
【請求項１１】
前記記憶デバイスごとの再起動回数を管理し、
いずれかの前記記憶デバイスの再起動回数が予め定められた閾値以上となったときに、当該記憶デバイスの再起動回数が当該閾値以上となったことを表示する
ことを特徴とする請求項７に記載のストレージ装置の制御方法。
【請求項１２】
前記記憶デバイスの再起動に関する詳細情報を管理し、
外部からの要求に応じて、当該詳細情報を表示する
ことを特徴とする請求項７に記載のストレージ装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置及びその制御方法に関し、例えば記憶デバイスとしてＳＡＴＡ（Serial AT Attachment）ディスクドライブを用いたストレージ装置に適用して好適なものである。
【背景技術】
【０００２】
近年、ストレージ装置に対する大容量化及び低価格化の要求が高まってきている。このような状況のもと、最近では、記憶デバイスとして安価で大容量のＳＡＴＡディスクドライブを搭載したストレージ装置も多く登場してきている。
【０００３】
この場合において、ＳＡＴＡディスクドライブは、ＦＣ（Fibre Channel）ディスクドライブに比べて信頼性が低く、ＦＣディスクドライブに比べてデータ消失を招き易いという問題がある。ただし、このような問題に関しては、例えば特許文献１に開示されたコレクションリードやコレクションコピーといった技術を用いることによって、ある程度対応できるものと考えられる。
【特許文献１】特開平１１−１９１０３７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、近年では１台のストレージ装置に搭載するＳＡＴＡディスクドライブの数が増加の一途を辿っており、これに伴って障害が発生したＳＡＴＡディスクドライブの交換頻度も増えてきている。
【０００５】
ところが、ＳＡＴＡディスクドライブやＳＡＳディスクドライブを記憶デバイスとしてストレージ装置に搭載する場合、ＳＡＴＡディスクドライブやＳＡＳディスクドライブは容量が大きい一方でデータ転送速度が遅いため、障害が発生したＳＡＴＡディスクドライブやＳＡＳディスクドライブの交換作業に多くの時間を要する問題がある。
【０００６】
例えば７５０〔Gbyte〕の製品の場合、障害が発生したＳＡＴＡディスクドライブやＳＡＳディスクドライブのデータをパリティデータを用いてスペアディスクドライブ上に復元する、いわゆるコレクションコピーに４０時間、またスペアディスクドライブに保持しているデータを交換後の新たなＳＡＴＡディスクドライブやＳＡＳディスクドライブにコピーする、いわゆるコピーバックに４０時間もの時間を必要とする。従って１台のＳＡＴＡディスクドライブを交換する場合、全体として８０時間もの時間を要することになる。
【０００７】
また、その間かかる障害が発生したＳＡＴＡディスクドライブやＳＡＳディスクドライブと共にＥＣＣ（Error Correction Code）グループを構成する他のディスクドライブに障害が発生することが許されず、例えば復旧作業中に同じＥＣＣグループ内の別のＳＡＴＡディスクドライブにも障害が発生した場合、復旧不可能となる二重障害が発生する問題もある。なお、ＥＣＣグループとは、ＲＡＩＤ（Redundant Array of Inexpensive Disks）運用によりデータを分割して複数のディスクドライブに分けて格納する際に、これら分割されたデータや、これら分割されたデータに基づいて算出されるパリティデータがそれぞれ格納される複数のディスクドライブからなるグループをいう。
【０００８】
さらに、上述のようなコレクションコピーやコピーバックの際には、障害が発生したＳＡＴＡディスクドライブやＳＡＳディスクドライブと共にＥＣＣグループを構成する他のディスクドライブや、スペアディスクドライブ及びパスにその分の負荷が発生するため、上位からのアクセスに対する応答性能が低下するおそれもある。
【０００９】
本発明は以上の点を考慮してなされたもので、記憶デバイスの障害に対する復旧時間を格段的に短縮させ得るストレージ装置及びその制御方法を提案しようとするものである。
【課題を解決するための手段】
【００１０】
かかる課題を解決するため本発明においては、１又は複数の記憶デバイスが搭載されたストレージ装置において、前記記憶デバイスに対するデータの読み書きを制御する制御部を備え、前記制御部は、前記記憶デバイスに障害が発生したときに、当該障害が予め定められた特定障害であるか否かを判断し、前記障害が前記特定障害であったときには、当該記憶デバイスを再起動させることを特徴とする。
【００１１】
また本発明においては、１又は複数の記憶デバイスが搭載されたストレージ装置の制御方法において、前記記憶デバイスに障害が発生したときに、当該障害が予め定められた特定障害であるか否かを判断する第１のステップと、前記障害が前記特定障害であったときには、当該記憶デバイスを再起動させる第２のステップとを備えることを特徴とする。
【００１２】
かかる再起動により記憶デバイスが障害から回復することがあり、この場合、記憶デバイスを交換する場合に比べて格段的に短い時間で障害から復旧することができる。
【発明の効果】
【００１３】
本発明によれば、記憶デバイスの障害に対する復旧時間を格段的に短縮させることができる。
【発明を実施するための最良の形態】
【００１４】
以下図面について、本発明の一実施の形態を詳述する。
【００１５】
（１）本実施の形態によるストレージシステムの構成
図１は、本実施の形態によるストレージシステム１を示す。このストレージシステム１は、複数のホスト装置２、ストレージ装置３及び管理コンソール４を備えて構成されている。
【００１６】
ホスト装置２は、ＣＰＵ（Central Processing Unit）やメモリ等の情報処理資源を備えたコンピュータ装置であり、例えばパーソナルコンピュータや、ワークステーション、メインフレームなどから構成される。ホスト装置２は、例えばキーボード、スイッチやポインティングデバイス、マイクロフォン等の情報入力装置（図示せず）と、例えばモニタディスプレイやスピーカ等の情報出力装置（図示せず）とを備える。
【００１７】
ホスト装置２は、例えばＳＡＮ、ＬＡＮ、インターネット、公衆回線又は専用回線などからなるネットワーク５を介してストレージ装置３と接続される。このネットワーク５を介したホスト装置２及びストレージ装置３間の通信は、例えばネットワーク５がＳＡＮである場合にはファイバーチャネルプロトコルに従って行われ、ネットワーク５がＬＡＮである場合にはＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）プロトコルに従って行われる。
【００１８】
ストレージ装置３は、ディスクユニット部１０と、ディスクユニット部１０を制御するコントロール部１１とから構成される。
【００１９】
ディスクユニット部１０は、図２に示すように、それぞれ後述するコントロール部１１内の対応するディスクアダプタ２４とファイバーチャネルケーブル２６を介して接続された複数のハードディスクドライブ制御基板３０を備える。各ハードディスクドライブ制御基板３０は、それぞれファイバーチャネル制御ＬＳＩ（Large Scale IC（Integrated Circuit））３１を備えており、このファイバーチャネル制御ＬＳＩ３１によって、ディスクアダプタ２４との間でファイバーチャネルプロトコルに従った通信を行い得るようになされている。
【００２０】
各ハードディスクドライブ制御基板３０には、それぞれ複数のハードディスクドライブユニット３２が接続される。各ハードディスクドライブユニット３２は、図３に示すように、筐体内部に制御基板４０及びＳＡＴＡディスクドライブ４１が収納されて構成される。制御基板４０には、ＦＣ／ＳＡＴＡインタフェース変換回路４２及びスイッチ４３が設けられている。
【００２１】
ＦＣ／ＳＡＴＡインタフェース変換回路４２は、ディスクアダプタ２４から対応するハードディスクドライブ制御基板３０（図２）を介して与えられるファイバーチャネル規格に従ったコマンドをＳＡＴＡ規格に従ったコマンドに変換すると共に、ＳＡＴＡディスクドライブ４１から与えられるＳＡＴＡ規格に従ったコマンドをファイバーチャネル規格に従ったコマンドに変換する機能を有する。
【００２２】
またスイッチ４２は、ＦＥＴ（Field Effect Transistor）又はリレーなどから構成される。ハードディスクドライブ制御基板３０からハードディスクドライブユニット３２に与えられる５〔Ｖ〕及び１２〔Ｖ〕の電源電圧はこのスイッチ４３を介してＳＡＴＡディスクドライブ４１に供給される。スイッチ４３は、そのハードディスクドライブユニット３２が接続されたハードディスクドライブ制御基板３０からの指示に応じてオン／オフさせることができ、これによりＳＡＴＡディスクドライブ４１に電源電圧を供給したり、当該電源電圧の供給を停止することができるようになされている。
【００２３】
各ハードディスクドライブユニット３２のＳＡＴＡディスクドライブ４１は、ディスクアダプタ２４によりＲＡＩＤ方式で運用される。具体的には、図２に示すように、それぞれ異なるハードディスクドライブ制御基板３０に接続された複数のＳＡＴＡディスクドライブ４１によって１つのＥＣＣグループ３３が構成され、ホスト装置２からのデータが同じＥＣＣグループ３３に属する各ＳＡＴＡディスクドライブ４１に分散して格納される。また、このとき分散されたデータに基づいてパリティデータも生成され、当該パリティデータが同じＥＣＣグループ３３内のＳＡＴＡディスクドライブ４１に格納される。
【００２４】
一方、コントロール部１１は、複数のチャネルアダプタ２０、接続部２１、共有メモリ２２、キャッシュメモリ２３、複数のディスクアダプタ２４及び管理端末２５を備えて構成される。
【００２５】
各チャネルアダプタ２０は、それぞれマイクロプロセッサ、メモリ及び通信インタフェース等を備えたマイクロコンピュータシステムとして構成されており、それぞれネットワーク５に接続するためのポートを備える。チャネルアダプタ２０は、ホスト装置２からネットワーク５を介して送信される各種コマンドを解釈して実行する。各チャネルアダプタ２０のポートには、それぞれを識別するためのネットワークアドレス（例えば、ＩＰアドレスやＷＷＮ）が割り当てられており、これにより各チャネルアダプタ２０がそれぞれ個別にＮＡＳ（Network Attached Storage）として振る舞うことができるようになされている。
【００２６】
接続部２１は、チャネルアダプタ２０、共有メモリ２２、キャッシュメモリ２３及びディスクアダプタ２４と接続されている。チャネルアダプタ２０、共有メモリ２２、キャッシュメモリ２３及びディスクアダプタ２４間でのデータやコマンドの授受は、この接続部２１を介して行われる。接続部２１は、例えば高速スイッチングによりデータ伝送を行う超高速クロスバススイッチなどのスイッチ又はバス等で構成される。
【００２７】
共有メモリ２２及びキャッシュメモリ２３は、チャネルアダプタ２０及びディスクアダプタ２４により共有される記憶メモリである。共有メモリ２２は、主にストレージ装置３全体の構成に関するシステム構成情報等の各種制御情報やコマンド等を記憶するために利用される。またキャッシュメモリ２３は、主にストレージ装置３に入出力するデータを一時的に記憶するために利用される。
【００２８】
各ディスクアダプタ２４は、マイクロプロセッサやメモリ等を備えたマイクロコンピュータシステムとして構成され、ディスクユニット部１０内の各ハードディスクドライブユニット３２との通信時におけるプロトコル制御を行うインタフェースとして機能する。またディスクアダプタ２４は、ホスト装置２からのリード／ライト要求に応じて対応するハードディスクドライブユニット３２を制御し、要求されたデータを当該ハードディスクドライブユニット２４内のＳＡＴＡディスクドライブ４１に読み書きする。
【００２９】
管理端末２５は、ＣＰＵ２５Ａ及びメモリ２５Ｂ等の情報処理資源を備えたユーザインタフェースであり、例えばノート型パーソナルコンピュータなどから構成される。管理端末２５は、ＬＡＮ２７を介して各チャネルアダプタ２０とそれぞれ接続されると共に、ＬＡＮ２８を介して各ディスクアダプタ２４とそれぞれ接続されている。オペレータは管理端末２５を用いてシステム構成情報を定義することができ、またこの定義したシステム構成情報を、チャネルアダプタ２０又はディスクアダプタ２４と接続部２１とを経由して、共有メモリ２２に格納することができる。
【００３０】
管理コンソール４は、例えばパーソナルコンピュータ、ワークステーション、あるいは携帯情報端末等のコンピュータから構成され、ＬＡＮ２９を介してストレージ装置３の管理端末２５と接続されている。管理コンソール４は、ストレージ装置３に対して各種設定を行うためのＧＵＩ（Graphical User Interface）や各種情報を表示する表示装置と、オペレータが各種操作や各種設定入力を行うためのキーボードやマウス等の入力装置と、ＬＡＮ２９を介してストレージ装置３の管理端末２５と通信を行うための通信装置とを備える。そして管理コンソール４は、入力装置を介して入力された各種指令に基づいて各種処理を実行する。例えば管理コンソール４は、ストレージ装置３の管理端末２５から通知される障害情報等の各種情報を表示装置に表示させたり、表示装置に表示したＧＵＩを用いて入力された各種設定事項をストレージ装置３の管理端末２５に送信する。
【００３１】
（２）ハードディスクドライブリブート機能
次に、ストレージ装置３に搭載されたハードディスクドライブリブート機能について説明する。
【００３２】
ストレージ装置３において、ディスクユニット部１０の各ハードディスクドライブ制御基板３０（図２）は、自己に接続されたハードディスクドライブユニット３２に何らかの障害が発生した場合、その障害の内容に応じた障害情報をディスクアダプタ２４に送信する。このような障害としては、例えばコマンド・タイムアウトや、リンク障害、メディアエラー及びパワー障害などがある。
【００３３】
ここで、コマンド・タイムアウトとは、ハードディスクドライブ制御基板３０からハードディスクドライブユニット３２にコマンドを送信後、一定期間内に応答が得られない障害であり、リンク障害とは、ハードディスクドライブ制御基板３０が自己に接続されているはずのハードディスクドライブユニット３２を認識できない障害である。またメディアエラーとは、要求されたデータの読み書きができなかったという障害であり、パワー障害とは、電源系統に生じた障害をいう。
【００３４】
この場合において、例えばメディアエラーやパワー障害などに関しては、ＳＡＴＡディスクドライブ３１をリブート（再起動）しても当該ＳＡＴＡディスクドライブ３１がそのような障害から回復する見込みはほとんどない。これに対して、コマンド・タイムアウトやリンク障害などに関しては、ＳＡＴＡディスクドライブ３１の内部コントローラのハングアップが原因となっている場合があり、このような場合にはＳＡＴＡディスクドライブ３１をリブートすることによってそのＳＡＴＡディスクドライブ３１を障害から回復させ得る可能性がある。
【００３５】
そこで、ストレージ装置３においては、コマンド・タイムアウトやリンク障害などのリブートによって回復する可能性がある予め定められた障害（以下、これを特定障害と呼ぶ）がＳＡＴＡディスクドライブ３１に発生した場合、そのＳＡＴＡディスクドライブ３１をリブートすることにより当該ＳＡＴＡディスクドライブ３１の回復を試みるハードディスクドライブリブート機能が搭載されている。
【００３６】
実際上、ストレージ装置３は、図４（Ａ）に示すように、１つのＳＡＴＡディスクドライブ４１に障害が発生した場合（図４（Ａ）では「Ｂ」のＳＡＴＡディスクドライブ４１）、図４（Ｂ）に示すように、そのＳＡＴＡディスクドライブ（以下、これを障害ＳＡＴＡディスクドライブと呼ぶ）４１を閉塞させる。そしてストレージ装置３は、この後、図（４Ｃ）に示すように、その障害ＳＡＴＡディスクドライブ４１をリブートさせる。
【００３７】
この際、ストレージ装置３は、かかる障害ＳＡＴＡディスクドライブ４１が属するＥＣＣグループ３３（図２）に対するホスト装置２からのリード／ライト要求があったときの動作モードとしてコレクションモードを設定する。
【００３８】
そしてストレージ装置３は、かかる動作モードとしてコレクションモードを設定した場合、障害ＳＡＴＡディスクドライブ４１に書き込まれたデータのリード要求がホスト装置２から与えられたときに、図４（Ｃ）に示すように、かかるＥＣＣグループ３３を構成する他のＳＡＴＡディスクドライブ４１から必要なデータ（分割データ及びパリティデータ）を読み出し、読み出したデータに基づいてかかる障害ＳＡＴＡディスクドライブ４１に格納されているデータを復元してホスト装置２に送信する。
【００３９】
またストレージ装置３は、かかる動作モードとしてコレクションモードを設定した場合、ホスト装置２から障害ＳＡＴＡディスクドライブ４１に対するライト要求が与えられたときに、当該障害ＳＡＴＡディスクドライブ４１に書き込むべきデータ（以下、これを更新データと呼ぶ）をスペアのＳＡＴＡディスクドライブ（以下、これをスペアディスクドライブと呼ぶ）４１Ｓ上に保持する。
【００４０】
そしてストレージ装置３は、この後、かかるリブートによりその障害ＳＡＴＡディスクドライブ４１が障害から回復した場合には、図４（Ｄ）に示すように、スペアディスクドライブ４１Ｓに保持した更新データを、障害から回復したＳＡＴＡディスクドライブ４１内の対応するアドレス位置にコピーする。そしてストレージ装置３は、この後、図４（Ｅ）に示すように、通常動作に戻る。
【００４１】
一方、本実施の形態によるストレージ装置４では、上述のように特定障害が発生したＳＡＴＡディスクドライブ４１をリブートすることに加えて、各ＳＡＴＡディスクドライブ４１のリブート回数やリブートに関する他の情報を管理している。そしてストレージ装置３は、例えばいずれかのＳＡＴＡディスクドライブ４１のリブート回数が予め定められた閾値を超えたときにはこれを管理コンソール４１に通知したり、例えばメンテナンス時などにシステム管理者等からの要求に応じてリブートに関する情報を管理端末２５に表示する。
【００４２】
そのための方法として、ストレージ装置３の共有メモリ２２（図１）には、図５に示すようなリブート回数管理テーブル５０と、図６に示すようなリブート詳細情報管理テーブル５１とが格納されている。
【００４３】
リブート回数管理テーブル５０は、図５からも明らかなように、「ユニットＩＤ」欄５０Ａ及び「リブート回数」欄５０Ｂから構成される。そして「ユニットＩＤ」欄５０Ａには、そのストレージ装置３に搭載された各ハードディスクドライブユニット３２（ＳＡＴＡディスクドライブ４１）にそれぞれ付与された識別番号が格納され、「リブート回数」欄５０Ｂには、対応する識別番号が付与されたハードディスクドライブユニット３２内のＳＡＴＡディスクドライブ４１のリブート回数が格納される。
【００４４】
従って、この図５の例では、識別番号が「２」であるハードディスクドライブユニット３２内のＳＡＴＡディスクドライブ３１は、現在までに「３」回のリブートを行なっていることが示されている。
【００４５】
またリブート詳細情報管理テーブル５１は、図６からも明らかなように、「日付」欄５１Ａ、「時刻」欄５１Ｂ、「ロケーション」欄５１Ｃ、「種類」欄５１Ｄ及び「処理内容」欄５１Ｅから構成される。そして「日付」欄５１Ａ及び「時刻」欄５１Ｂには、「処理内容」欄５１Ｅにおいて示された処理を行なった日にち及び時刻がそれぞれ格納され、「ロケーション」欄５１Ｃには、「処理内容」欄５１Ｅにおいて示された処理を行ったハードディスクドライブユニット３２が接続されたハードディスクドライブ制御基板３０に付与された識別番号が格納される。
【００４６】
また「種類」欄５１Ｄには、かかるハードディスクドライブユニット３２内のハードディスクドライブの種類及び容量を表す情報が格納され、「処理内容」欄５１Ｅには、かかるハードディスクドライブ４１に対して行なった処理の内容が格納される。
【００４７】
従って、図６の例では、「2007/09/13」の「08:38:11」にストレージ装置３内の「Ａ」という識別番号のハードディスクドライブ制御基板３０に接続された容量が１００〔Gbyte〕で種類が「ＳＡＴＡ」のハードディスクドライブ（ＳＡＴＡディスクドライブ４１）の「電源をオフ（Drive-PWR OFF）」させ、その後、同日の「08:38:26」にそのハードディスクドライブの「電源をオン（Drive-PWR ON）」させたことが示されている。
【００４８】
そして、ストレージ装置３の各ディスクアダプタ２４は、接続されたハードディスクドライブ制御基板３０からファイバーチャネルケーブル２６を介して送信される各種障害情報と、共有メモリ２２に格納されたかかるリブート回数管理テーブル５０（図５）及びリブート詳細情報管理テーブル５１（図６）とに基づいて、上述のようなハードディスクドライブリブート機能に関する各種処理を実行する。
【００４９】
図７は、このようなハードディスクドライブリブート機能に関するディスクアダプタ２４の具体的な処理内容を示している。ディスクアダプタ２４は、当該ディスクアダプタ２４内部に設けられたメモリに格納されている対応する制御プログラムに基づいて、この図７に示すハードディスクドライブリブート処理を実行する。
【００５０】
すなわちディスクアダプタ２４は、ファイバーチャネルケーブル２６（図２）を介して接続されたハードディスクドライブ制御基板３０（図２）からいずれかのＳＡＴＡディスクドライブ４１に障害が発生した旨のエラー通知が与えられると、このハードディスクドライブリブート処理を開始し、まず、かかるエラー通知に基づいて、そのとき発生した障害の内容を確認する（ＳＰ１）。
【００５１】
そしてディスクアダプタ２４は、ステップＳＰ１の確認結果に基づいて、そのとき発生した障害が特定障害であるか否かを判断し（ＳＰ２）、否定結果を得たときには、その障害内容に応じた所定の処理を実行した後（ＳＰ３）、このハードディスクドライブリブート処理を終了する。
【００５２】
なお、ここでの特定障害とは、例えばタイムアウトの検出による障害や、リンク障害などを意味する。特定障害でない障害とは、例えばメディア障害やハードウェアそのものの障害など修復不可能な障害を意味する。これらの障害は、エラー通知の情報に含まれる障害種別を示す識別子や、障害部位を示す情報などに基づいてプログラムが判断する。
【００５３】
これに対してディスクアダプタ２４は、ステップＳＰ２の判断において肯定結果を得ると、共有メモリ２２（図１）に格納されたリブート回数管理テーブル５０（図５）を参照して、そのとき障害が発生した障害ＳＡＴＡディスクドライブ４１のそのときまでのリブート回数が予め定められた閾値以上であるか否かを判断する（ＳＰ４）。
【００５４】
そしてディスクアダプタ２４は、この判断において肯定結果を得ると、障害ＳＡＴＡディスクドライブ４１を閉塞し（ＳＰ５）、当該障害ＳＡＴＡディスクドライブ４１に発生した障害の内容及び当該ＳＡＴＡディスクドライブ４１の識別番号等の情報を含む障害情報を管理端末２５（図１）に送信する（ＳＰ６）。そしてディスクアダプタ２４は、この後、このハードディスクドライブリブート処理を終了する。かくしてこの障害情報が管理端末２５に表示されると共に、当該管理端末２５を介して管理コンソール４に送信され、この結果、かかる障害ＳＡＴＡディスクドライブ４１がシステム管理者によって交換されることとなる。
【００５５】
一方、ディスクアダプタ２４は、ステップＳＰ４の判断において否定結果を得ると、かかる障害ＳＡＴＡディスクドライブ４１が属するＥＣＣグループ３３（図２）に対するホスト装置２からのリード／ライト要求があったときの動作モードとして、図４（Ｃ）及び（Ｄ）について上述したコレクションモードを設定する（ＳＰ７）。
【００５６】
続いてディスクアダプタ２４は、ディスクユニット部１０内の対応するハードディスクドライブ制御基板３０に対して、障害ＳＡＴＡディスクドライブ４１に対する電源電圧の供給を停止するように指示を与え（ＳＰ８）、この後、一定時間が経過するのを待ち受ける（ＳＰ９）。
【００５７】
そしてディスクアダプタ２４は、かかる一定時間が経過すると、そのハードディスクドライブ制御基板３０に対して、障害ＳＡＴＡディスクドライブ４１に対する電源電圧の供給を再開するように指示を与える（ＳＰ１０）。
【００５８】
続いてディスクアダプタ２４は、かかる障害ＳＡＴＡディスクドライブ４１の立上がり処理が完了したか否かを判断し（ＳＰ１１）、否定結果を得ると、障害ＳＡＴＡディスクドライブ４１が属するＥＣＣグループ３３に対するホスト装置２からのリード要求があったか否かを判断する（ＳＰ１２）。
【００５９】
ディスクアダプタ２４は、この判断において否定結果を得るとステップＳＰ１１に戻り、これに対して肯定結果を得ると、図４（Ｃ）について上述したコレクションモード時のリード処理を実行し（ＳＰ１３）、この後ステップＳＰ１１に戻る。そしてディスクアダプタ２４は、この後ステップＳＰ１１〜ステップＳＰ１３の処理を繰り返す。
【００６０】
やがてディスクアダプタ２４は、障害ＳＡＴＡディスクドライブ４１の立上がり処理が完了することによりステップＳＰ１１において肯定結果を得ると、かかる障害ＳＡＴＡディスクドライブ４１が障害から回復したか否かを判断する（ＳＰ１４）。具体的には、ディスクドライブ２４は、障害ＳＡＴＡディスクドライブ４１にアクセスし、正常な応答が得られたときに、その障害ＳＡＴＡディスクドライブ４１が障害から回復したと判断する。
【００６１】
そしてディスクアダプタ２４は、この判断において否定結果を得るとステップＳＰ５に進み、これに対して肯定結果を得ると、共有メモリ２２に格納されたリブート回数管理テーブル５０上の当該障害ＳＡＴＡディスクドライブ４１のリブート回数を「１」増加させる。またディスクアダプタ２４は、これと併せてリブート詳細情報管理テーブルに、そのとき障害ＳＡＴＡディスクドライブ４１に対する電源電圧の供給停止と、当該障害ＳＡＴＡディスクドライブ４１に対する電源電圧の供給再開に関する必要な情報をリブート詳細情報管理テーブル５１に登録する（ＳＰ１５）。
【００６２】
次いでディスクアダプタ２４は、スペアディスクドライブ４１Ｓに保持した更新データを、障害から回復したＳＡＴＡディスクドライブ４１にコピーする更新データ補完処理を実行し（ＳＰ１６）、この後、上述のようにして障害から回復したＳＡＴＡディスクドライブ４１が属するＥＣＣグループ３３について設定したコレクションモードを解除する（ＳＰ１７）。そしてディスクアダプタ２４は、この後、このハードディスクドライブリブート処理を終了する。
【００６３】
なお、上述のハードディスクドライブリブート処理のステップＳＰ１６において行なわれる更新データ補完処理の具体的な処理内容を図８に示す。
【００６４】
この図８に示すように、ディスクアダプタ２４は、かかるハードディスクドライブリブート処理のステップＳＰ１６に進むと、この更新データ補完処理を開始し、まず、ハードディスクドライブリブート処理のステップＳＰ７においてコレクションモードを設定してから現在までに、ホスト装置２から障害ＳＡＴＡディスクドライブ４１に対するデータの書込みがあったか否かを判断する（ＳＰ２０）。
【００６５】
そしてディスクアダプタ２４は、この判断において否定結果を得ると、この更新データ補完処理を終了してハードディスクドライブリブート処理のステップＳＰ１７に進む。これに対してディスクアダプタ２４は、かかる判断において肯定結果を得ると、スペアディスクドライブ４１Ｓ及び障害ＳＡＴＡディスクドライブ４１を制御することにより、スペアディスクドライブ４１Ｓに保持した更新データを障害ＳＡＴＡディスクドライブ４１内の対応する位置にコピーさせる（ＳＰ２１）。そしてディスクアダプタ２４は、この後、この更新データ補完処理を終了してハードディスクドライブリブート処理のステップＳＰ１７に進む。
【００６６】
他方、図９は、システム管理者等からの要求に応じてリブートに関する情報を管理端末２５に表示する際の当該管理端末２５のＣＰＵ２５Ａの具体的な処理内容を示すフローチャートである。かかるＣＰＵ２５Ａは、メモリ２５Ｂに格納された対応する制御プログラムに従って、この図９に示すリブート詳細情報表示処理を実行する。
【００６７】
すなわちＣＰＵ２５Ａは、システム管理者等が管理端末２５を操作することにより、リブートに関する情報を表示すべき旨の命令が入力されると、このリブート詳細情報表示処理を開始し、まず、いずれかのチャネルアダプタ２０又はディスクアダプタ２４を介して共有メモリ２２にアクセスし、リブート詳細情報管理テーブル５１上の情報を読み込む（ＳＰ３０）。
【００６８】
続いてＣＰＵ２５Ａは、読み込んだリブート詳細情報管理テーブル５１上の情報を自己のディスプレイに所定の画面フォーマットで表示し（ＳＰ３１）、この後、このリブート詳細情報表示処理を終了する。
【００６９】
（３）本実施の形態の効果
以上のように本実施の形態によるストレージ装置３では、ディスクユニット部１０に搭載されたＳＡＴＡディスクドライブ４１に特定障害が発生した場合、そのＳＡＴＡディスクドライブ４１をリブートして障害からの回復を試みる。
【００７０】
そしてこのリブートによりＳＡＴＡディスクドライブ４１が障害から回復した場合、その処理に要する時間は僅か１０秒程度であるため、例えばＳＡＴＡディスクドライブ４１を交換する場合に要する時間に比べて障害からの復旧に要する時間を格段的に短縮化することができる。なお、かかるリブートによりＳＡＴＡディスクドライブ４１が障害から回復しない場合もあるが、ＳＡＴＡディスクドライブ４１の障害に対する平均的な復旧時間を確実にかつ格段的に短縮化させることができる。
【００７１】
言い換えると、どのＳＡＴＡディスクドライブ４１にどのような種類の障害が発生しているかを検出し、障害が検出されたＳＡＴＡディスクドライブ４１のみリブートし、障害検出された部分に必要なデータをコピーバック処理する。これにより全ＳＡＴＡディスクドライブ４１に対して回復処理をするよりも本実施の形態の処理のほうが回復のための時間と労力を軽減できる。
【００７２】
また本実施の形態のストレージ装置３によれば、障害からの復旧時間が短いため、復旧作業中に同じＥＣＣグループ３３内の別のＳＡＴＡディスクドライブ４１にも障害が発生して復旧不可能となる二重障害の危険性を格段的に低減させることができる。
【００７３】
さらに本実施の形態のストレージ装置３によれば、ＳＡＴＡディスクドライブ４１の交換を極力避けることができるため、ＳＡＴＡディスクドライブ４１の交換に起因して発生するホスト装置２からのアクセスに対する応答性能の低下を有効に防止することができる。
【００７４】
（４）他の実施の形態
なお上述の実施の形態においては、ストレージ装置３に搭載する記憶デバイスをすべてＳＡＴＡディスクドライブ４１とするようにした場合について述べたが、本発明はこれに限らず、一部の記憶デバイスとしてＳＡＴＡディスクドライブ４１以外の例えばＦＣディスクドライブやＳＡＳ（Serial Attached ＳＣＳＩ（Small Computer System Interface））ディスクなど、ＳＡＴＡディスクドライブ４１以外のディスクドライブを適用するようにしても良い。また記憶デバイスとしてハードディスクドライブ以外の例えば半導体メモリや光ディスクドライブなどを適用した場合にも本発明を適用することができる。
【００７５】
また上述の実施の形態においては、ディスクアダプタ２４に、ＳＡＴＡディスクドライブ４１に対するデータの読み書きを制御する機能と、ＳＡＴＡディスクドライブ４１に障害が発生したときに、当該障害が予め定められた特定障害であるか否かを判断し、障害が特定障害であったときには、当該ＳＡＴＡディスクドライブをリブートさせる機能とを搭載するようにした場合について述べたが、本発明はこれに限らず、例えば後者の機能を管理端末２５等に搭載するようにしても良い。
【００７６】
さらに上述の実施の形態においては、ディスクアダプタ２４が障害ＳＡＴＡディスクドライブ４１への電源電圧の供給停止及び当該電源電圧の供給再開をハードディスクドライブ制御基板３０に指示するようにした場合について述べたが、本発明はこれに限らず、例えばディスクアダプタ２４がリブートの実行のみをハードディスクドライブ制御基板３０に指示し、当該指示に基づいてハードディスクドライブ制御基板３０が障害ＳＡＴＡディスクドライブ４１への電源電圧の供給停止及び当該電源電圧の供給再開を実行するようにしても良い。
【産業上の利用可能性】
【００７７】
本発明は、種々の構成のストレージ装置に広く適用することができる。
【図面の簡単な説明】
【００７８】
【図１】本実施の形態によるストレージシステムの全体構成を示すブロック図である。
【図２】ディスクユニット部の説明に供するブロック図である。
【図３】ハードディスクドライブユニットの説明に供するブロック図である。
【図４】（Ａ）−（Ｅ）は、本実施の形態によるハードディスクドライブリブート処理の概要説明に供する概念図である。
【図５】リブート回数管理テーブルの説明に供する図表である。
【図６】リブート詳細情報管理テーブルの説明に供する図表である。
【図７】ハードディスクドライブリブート処理の処理手順を示すフローチャートである。
【図８】更新データ補完処理の処理手順を示すフローチャートである。
【図９】リブート詳細情報表示処理の処理手順を示すフローチャートである。
【符号の説明】
【００７９】
１……ストレージシステム、２……ホスト装置、３……ストレージ装置、４……管理コンソール、１０……ディスクユニット部、１１……コントロール部、２２……共有メモリ、２４……ディスクアダプタ、２５……管理端末、３０……ハードディスクドライブ制御基板、３２……ハードディスクドライブユニット、３３……ＥＣＣグループ、４１……ＳＡＴＡディスクドライブ、４２……ＦＣ／ＳＡＴＡインタフェース変換回路、４３……スイッチ、５０……リブート回数管理テーブル、５１……リブート詳細情報管理テーブル。
【図１】
2009104412.tif 000003
【図２】
2009104412.tif 000004
【図３】
2009104412.tif 000005
【図４】
2009104412.tif 000006
【図５】
2009104412.tif 000007
【図６】
2009104412.tif 000008
【図７】
2009104412.tif 000009
【図８】
2009104412.tif 000010
【図９】
2009104412.tif 000011