(57)【要約】【課題】新たなセンス情報の追加や処理内容の修正を効率的に行うことができ、かつ、ディスクアレイ装置に対する適切な処理を実行することができるストレージシステムを提供する。【解決手段】記憶装置１は、一つの様態によれば、エラーの種別とエラーが発生した際に自装置の制御を行う制御装置６によって実行される処理の内容とを対応付けて記憶する。また、記憶装置１は、自装置で発生したエラーを検出し、検出されたエラーの種別を判別する。そして、記憶装置１は、判別されたエラーの種別と対応付けて記憶された処理の内容を取得し、取得した処理の内容を制御装置６に対して送信する。つまり、記憶装置１は、送信した処理の内容を実行するように制御装置６に自装置を制御させる。【選択図】図１
2012027727.tif 000002
【特許請求の範囲】
【請求項１】
自装置で発生するエラーの種別と該エラーが発生した際に実行する処理の内容とを対応付けたテーブルを記憶するエラー処理情報テーブル記憶部と、
自装置で発生したエラーを検出し、該エラーの種別を判別する判別部と、
前記判別部によって判別されたエラーの種別と対応付けて記憶されている処理の内容を前記エラー処理情報テーブル部から取得する取得部と、
自装置を制御する制御装置に対して、前記取得部によって取得された処理の内容を送信する送信部と、
を有することを特徴とする記憶装置。
【請求項２】
前記エラー処理情報テーブル記憶部は、前記処理の内容として、前記エラーが検出されるたびに自装置の状態に応じて変更可能な処理の内容を示す動的情報を記憶し、
前記取得部は、前記判別部によって判別されたエラーの種別と対応付けて記憶されている動的情報を前記エラー処理情報テーブル記憶部から取得し、
前記送信部は、前記取得部によって取得された動的情報を前記制御装置へ送信することを特徴とする請求項１に記載の記憶装置。
【請求項３】
前記エラー処理情報テーブル記憶部は、前記処理の内容として、前記エラーの種別ごとにあらかじめ定められた処理の内容を示す静的情報を記憶し、
前記制御装置から前記静的情報を要求された場合には、当該通知されたエラーの種別と対応付けられた静的処理の内容を該制御装置へ送信する静的情報送信部をさらに有することを特徴とする請求項１または２に記載の記憶装置。
【請求項４】
前記送信部は、前記判別部によって判別されたエラーの種別を示す情報を含んだエラー情報と共に前記動的情報を前記制御装置に対して送信することを特徴とする請求項２または３に記載の記憶装置。
【請求項５】
情報を記憶する記憶装置と該記憶装置を制御する制御装置とを有するストレージシステムにおいて、
前記記憶装置が、
自装置で発生するエラーの種別と当該エラーが発生した際に実行する処理の内容とを対応付けたテーブルを記憶するエラー処理情報テーブル記憶部と、
自装置で発生したエラーを検出し、該エラーの種別を判別する判別部と、
前記判別部によって判別されたエラーの種別と対応付けて記憶されている処理の内容を前記エラー処理情報テーブル部から取得する取得部と、
前記取得部によって取得された処理の内容を前記制御装置へ送信する送信部と、
を有し
前記制御装置が、
前記記憶装置から送信された処理の内容を受信した場合には、当該受信された処理の内容を実行するように前記記憶装置を制御する制御部を有することを特徴とするストレージシステム。
【請求項６】
自装置で発生したエラーを検出し、該エラーの種別を判別する判別ステップと、
自装置で発生するエラーの種別と当該エラーが発生した際に実行する処理の内容とを対応付けたテーブルを記憶するエラー処理情報テーブル記憶装置から、前記判別ステップによって判別されたエラーの種別と対応付けて記憶されている処理の内容を取得する取得ステップと、
自装置を制御する制御装置に対して、前記取得ステップによって取得された処理の内容を送信する送信ステップと、
を含むことを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶装置、ストレージシステム及び制御方法に関する。
【背景技術】
【０００２】
従来、複数の記憶装置（例えば、ディスクアレイ装置）と各記憶装置の制御を行う制御装置（例えば、ディスクアレイ装置の制御を行うサーバ装置）とをネットワークを用いて接続したストレージシステムが知られている。このようなストレージシステムにおける記憶装置と制御装置との間においては、Ｉ／Ｏ（Ｉｎｐｕｔ  Ｏｕｔｐｕｔ）の高負荷、構成モジュールの故障通知、インフォメーションレベルの情報通知等の様々なエラーが発生する場合がある。このようなエラーが発生した場合には、記憶装置は、発生したエラーの種別を一意に示すエラー情報を生成し、生成したエラー情報を制御装置へ送信する。
【０００３】
また、制御装置は、エラー情報と対応付けて、エラーが発生した際に実行する処理の内容を記憶するテーブルを有している。例えば、制御装置は、エラーが発生した際に実行する処理の内容として、エラーメッセージの内容、リトライの回数、フェイルオーバの回数等をエラー情報に対応付けて記憶する。
【０００４】
そして、制御装置は、記憶装置からエラー情報を受信した場合には、受信したエラー情報と対応付けられた処理の内容をテーブルから取得し、取得した処理の内容を実行する。例えば、制御装置は、エラー情報を受信した場合には、受信したエラー情報と対応付けられたエラーメッセージをクライアントに対して表示する処理、所定回数のリトライ、所定回数のフェイルオーバ等を実行する。つまり、制御装置が実行するプログラムには、エラー情報と処理の内容との関係がハードコーディングされている。
【０００５】
また、このようなストレージシステムでは、新たなエラー情報を追加する場合や、実行する処理の内容を変更する場合には、制御装置のエラー情報に対応するプログラム全てに対して修正が行われる。そして、修正されたプログラムを実行するために、制御装置の再起動が行われる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特表２００６−５２４８６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述したサーバ装置を初めとする制御装置がエラーに対応する処理を記憶する技術では、ストレージ装置を初めとする記憶装置のエラーに対応する処理の内容を制御装置側が決定する。このため、記憶装置のエラーに対して適切な処理を制御装置が決定できないという問題があった。つまり、制御装置は、記憶装置の状態に関係なく、制御装置独自のアルゴリズムにより決定したエラーに対応する処理を決定するので、記憶装置のエラーに対して適切な処理を実行することができない。
【０００８】
また、上述したエラーに対応する処理を制御装置が記憶する技術では、エラーが発生した際に実行する処理内容を修正する場合には、プログラムの修正および制御装置の再起動を行うので、処理内容の追加や修正を効率的に行えないという問題があった。
【０００９】
つまり、上述したエラーに対応する処理を制御装置が記憶する技術では、処理内容の追加や修正のたびに制御装置側のプログラムを修正する必要があるので、修正作業の負担を増大させてしまう。また、プログラムを修正した場合には、制御装置を再起動させる必要があるため、制御装置を再起動させる間ストレージシステムを利用する業務を停止させてしまう。
【００１０】
開示の発明は、上述した問題に鑑みてなされたものであって、記憶装置のエラーに対する適切な処理を実行することができ、かつ、新たな処理内容の追加や処理内容の修正を効率的に行うことができる。
【課題を解決するための手段】
【００１１】
本願に開示の技術は、一つの様態によれば、発生したエラーを検出し、検出されたエラーの種別を判別する記憶装置である。そして、記憶装置は、判別されたエラーの種別と対応付けて記憶された処理の内容を取得し、取得した処理の内容を制御装置に対して送信する。
【発明の効果】
【００１２】
開示の技術は、一つの態様によれば、記憶装置のエラーに対する適切な処理を実行することができ、かつ、新たな処理内容の追加や処理内容の修正を効率的に行うことができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、実施例１に係る記憶装置を説明するためのブロック図である。
【図２】図２は、実施例２に係るストレージシステムを説明するためのブロック図である。
【図３】図３は、動的情報および静的情報の一例を説明するための図である。
【図４】図４は、動的情報を格納する処理を説明するための図である。
【図５】図５は、実施例２に係るストレージシステムの構成イメージを説明するための図である。
【図６】図６は、静的情報の一例を説明するための図である。
【図７】図７は、動的情報の受け渡しを説明するための図である。
【図８】図８は、静的情報の受け渡しを説明するための図である。
【図９】図９は、動的情報の送信処理を説明するためのフローチャートである。
【図１０】図１０は、動的情報の生成処理を説明するためのフローチャートである。
【図１１】図１１は、静的情報の送信処理を説明するためのフローチャートである。
【図１２】図１２は、処理プログラムを実行するコンピュータを説明するための図である。
【発明を実施するための形態】
【００１４】
以下に添付図面を参照して本願に係る記憶装置、ストレージシステム及び制御方法について説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００１５】
以下の実施例１では、図１を用いて、記憶装置の一例を説明する。図１は、実施例１に係る記憶装置を説明するためのブロック図である。
【００１６】
図１に示すように、本実施例１に係る記憶装置１は、エラー処理情報テーブル記憶部２、判別部３、取得部４、送信部５を有する。また、記憶装置１は、記憶装置１の制御を実行する制御装置６と接続される。
【００１７】
エラー処理情報テーブル記憶部２は、記憶装置１で発生するエラーの種別と、エラーが発生した際に実行する処理の内容とを対応付けたテーブルを記憶する。判別部３は、記憶装置１において発生したエラーを検出し、検出されたエラーの種別を判別する。
【００１８】
取得部４は、判別部３によって判別されたエラーの種別と対応付けて記憶されている処理の内容をエラー処理情報テーブル記憶部２から取得する。送信部５は、記憶装置１を制御する制御部６に対して、取得部４によって取得された処理の内容を送信する。その後、制御装置６は、受信された処理の内容を実行するように記憶装置１を制御する。
【００１９】
このように、実施例１に係る記憶装置１は、エラーの種別とエラーが発生した際に制御装置６が実行する処理とを対応付けて記憶し、発生したエラーの種別と対応付けられた処理の内容を制御装置６へ送信する。このため、制御装置６は、記憶装置１において発生するエラーに対して、適切な内容の処理を実行するように記憶装置１を制御することができる。
【００２０】
一例として、制御装置６が、記憶装置１とともに、記憶装置１と同様の機能を有する記憶装置１ａの制御を行う例について説明する。このような制御装置６は、同一種別のエラーが発生した際に記憶装置１にとって適切な処理と記憶装置１ａにとって適切な処理とが異なる場合にも、各記憶装置１、１ａにとって適切な回数のリトライを実行するよう制御することができる。
【００２１】
また、記憶装置１は、新たな処理の内容を追加する場合や処理の内容を修正する場合には、エラー処理情報テーブル部２の更新を行うだけでよい。この結果、実施例１に係る記憶装置１においては、処理の内容を追加する場合や処理の内容を修正する場合にも、制御装置６の再起動を不要とし、処理の内容の追加や修正を効率的に行うことができる。
【実施例２】
【００２２】
以下の実施例２では、ストレージシステムの構成および処理の流れを説明する。
【００２３】
まず、図２を用いて、実施例２に係るストレージシステムが有する各部について説明する。図２は、実施例２に関わるストレージシステムを説明するためのブロック図である。図２に示すように、ストレージシステム１００は、ディスクアレイ装置１０、ディスクアレイ装置１０Ａ、サーバ２０を有する。また、ストレージシステム１００は、クライアント３０と接続される。ここで、ディスクアレイ装置１０、１０Ａ及びサーバ２０との間は、ＳＡＮ（Storage Area Network）等のネットワークによって接続されるものとする。
【００２４】
また、図２に示すように、ディスクアレイ装置１０は、エラー管理情報テーブル部１１、動的情報計算部１２、動的情報設定部１３、動的情報送信部１４、静的情報取得コマンド受信部１５、静的情報返却部１６を有する。
【００２５】
なお、図２では省略したが、以下の説明において、ディスクアレイ装置１０、１０Ａは、情報を記憶するためのＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶装置を有するものとする。また、ディスクアレイ装置１０Ａは、ディスクアレイ装置１０と同様の構成を有し、ディスクアレイ装置１０と同様の処理を実行するものとし、以下の説明を省略する。
【００２６】
まず、ディスクアレイ装置１０が有する各部１１〜１６について説明する。エラー管理情報テーブル部１１は、ディスクアレイ装置１０において発生するエラーの種別とエラーが発生した際にサーバ２０が実行する処理の内容とを対応付けて記憶する。また、ディスクアレイ装置１０は、処理の内容として、エラーが検出されるたびに自装置の状態に応じて変更可能な動的処理の内容とともに、エラーの種別ごとにあらかじめ定められた静的処理の内容をエラーの種別と対応付けて記憶する。
【００２７】
具体的には、エラー管理情報テーブル部１１は、エラーの種別を示す情報であるセンス情報とエラーが発生した際にサーバ２０が実行する処理の内容を示すエラーハンドリング情報とを対応付けて記憶する。ここで、エラー管理情報テーブル部１１は、エラーハンドリング情報として、エラーが検出されるたびに自装置の状態に応じて変更可能な処理の内容を示す動的情報を記憶する。また、エラー管理情報テーブル部１１は、エラーの種別ごとにあらかじめ定められた処理の内容を示す静的情報を記憶する。
【００２８】
例えば、図３に示す例では、エラー管理情報テーブル部１１は、エラーハンドリング情報のうち、リトライ回数およびフェイルオーバ回数を動的情報として記憶する。また、エラー管理情報テーブル部１１は、エラーハンドリング情報のうち、リトライメッセージ、リトライアウトメッセージ、出力可否フラグを静的情報として記憶する。
【００２９】
ここで、リトライ回数とは、エラーが発生した際に実行されるリトライの回数である。また、フェイルオーバ回数とは、エラーが発生した際にエラーが発生したＨＤＤから他のＨＤＤへデータを移行するフェイルオーバ処理を試行する上限回数である。また、リトライメッセージとは、リトライを行うたびにクライアント３０に対して表示されるメッセージである。
【００３０】
また、リトライアウトメッセージとは、所定回数のリトライを同一パスに対して実行した後に、他のパスを用いてリトライを継続する場合に、クライアント３０に対して表示されるメッセージである。また、出力可否フラグとは、リトライを実行するたびに、リトライメッセージをクライアント３０に対して表示するか否かを示す情報である。例えば、後述するエラーメッセージ出力部２６は、出力可否フラグが「ＯＮ」の場合には、リトライメッセージを表示せず、リトライアウトメッセージのみを表示する。なお、図３は、動的情報および静的情報の一例を説明するための図である。
【００３１】
例えば、エラー管理情報テーブル部１１は、センス情報として、センスコード「４」およびサブセンスコード「２／３」と同パスリトライ回数「５０」とフェイルオーバ回数「１０」とを対応付けて記憶する。また、エラー管理情報テーブル部１１は、センスコード「４」およびサブセンスコード「２／３」と出力メッセージとしてのリトライメッセージ「Ｎｏｔｉｃｅ  ｄｉｓｋ  Ｅｒｒｏｒｓ」とを対応付けて記憶する。
【００３２】
また、エラー管理情報テーブル部１１は、センスコード「４」およびサブセンスコード「２／３」と出力メッセージとしてのリトライアウトメッセージ「ＷＡＲＮ  ｄｉｓｋ  ｎｏｔ  ｅｍｐｔｙ」とを対応付けて記憶する。また、エラー管理情報テーブル部１１は、センスコード「４」およびサブセンスコード「２／３」と出力可否フラグ「ＯＮ」とを対応付けて記憶する。
【００３３】
図２に戻って、動的情報計算部１２は、ストレージシステム１００において発生するエラーを検出し、検出されたエラーの種別を判別する。また、動的情報計算部１２は、エラーを検出した場合には、検出されたエラーの種別と対応付けられた動的情報をエラー管理情報テーブル部１１から取得する。そして、動的情報計算部１２は、取得された動的情報をディスクアレイ装置１０の状態に応じて変更する。
【００３４】
具体的には、動的情報計算部１２は、ストレージシステム１００において発生するエラーを検出する。そして、動的情報計算部１２は、エラーを検出した場合には、検出されたエラーの種別を判別し、判別されたエラーの種別を示すセンス情報を生成する。そして、動的情報計算部１２は、生成したセンス情報を動的情報設定部１３へ送信する。
【００３５】
また、動的情報計算部１２は、生成したセンス情報と対応付けられたエラーハンドリング情報をエラー管理情報テーブル部１１から検索する。そして、動的情報計算部１２は、検索されたエラーハンドリング情報のうち、動的情報であるリトライ回数とフェイルオーバ回数とを取得する。
【００３６】
また、動的情報計算部１２は、リトライ回数とフェイルオーバ回数とを取得した場合には、ディスクアレイ装置１０およびサーバ２０において他のエラーが発生しているか否かを判別する。そして、動的情報計算部１２は、他のエラーが発生していないと判別した場合には、取得されたリトライ回数とフェイルオーバ回数とを動的情報設定部１３へ通知する。
【００３７】
また、動的情報計算部１２は、他のエラーが発生していると判別した場合には、判別された他のエラーの種別を判別する。また、動的情報計算部１２は、発生していると判別された他のエラーの種別を示すセンス情報を生成する。そして、動的情報計算部１２は、生成したセンス情報と対応付けられたエラーハンドリング情報をエラー管理情報テーブル部１１から検索する。
【００３８】
また、動的情報計算部１２は、検索されたエラーハンドリング情報のうち、動的情報であるリトライ回数とフェイルオーバ回数とを取得する。つまり、動的情報計算部１２は、新たに発生したエラーに係るリトライ回数やフェイルオーバ回数だけではなく、既に発生している他のエラーに係るリトライ回数やフェイルオーバ回数も取得する。
【００３９】
そして、動的情報計算部１２は、取得された各リトライ回数を加算する。また、動的情報計算部１２は、取得された各フェイルオーバ回数を加算する。そして、動的情報計算部１２は、加算されたリトライ回数とフェイルオーバ回数とを動的情報設定部１３へ通知する。つまり、動的情報計算部１２は、ストレージシステム１００のエラー発生状況に応じて変更されるリトライ回数とフェイルオーバ回数とを取得し、動的情報設定部１３へ通知する。
【００４０】
以下、動的情報計算部１２が実行する処理の具体例を説明する。以下の例では、エラー管理情報テーブル部１１には、センスコード「４」およびサブセンスコード「２／３」とリトライの回数「２０」およびフェイルオーバの回数「５」とが対応付けられて格納されているものとする。また、エラー管理情報テーブル部１１には、センスコード「４」およびサブセンスコード「１／３」とリトライの回数「３０」およびフェイルオーバの回数「５」とが対応付けられて格納されているものとする。また、ディスクアレイ装置１０において、センスコード「４」およびサブセンスコード「１／３」が示す種別のエラーが既に発生したものとし、センスコード「４」およびサブセンスコード「２／３」が示す種別のエラーが新たに発生したものとする。
【００４１】
例えば、動的情報計算部１２は、エラーが発生した場合には、発生したエラーの種別を判定し、判別したエラーの種別を示すセンス情報として、センスコード「４」およびサブセンスコード「２／３」を生成する。そして、動的情報計算部１２は、生成したセンスコード「４」およびサブセンスコード「２／３」を動的情報設定部１３へ送信する。
【００４２】
また、動的情報計算部１２は、エラー管理情報テーブル部１１にセンスコード「４」およびサブセンスコード「２／３」と対応付けて記憶されたリトライの回数「２０」およびフェイルオーバの回数「５」を取得する。また、動的情報計算部１２は、ディスクアレイ装置１０およびサーバ２０において他のエラーが発生しているか否かを判別する。
【００４３】
この結果、動的情報計算部１２は、センスコード「４」およびサブセンスコード「１／３」が示す種別のエラーが既に発生していると判別する。このため、動的情報計算部１２は、センスコード「４」およびサブセンスコード「１／３」と対応付けて記憶されたリトライの回数「３０」およびフェイルオーバ回数「５」をエラー管理情報テーブル部１１から取得する。
【００４４】
そして、動的情報計算部１２は、センスコード「４」およびサブセンスコード「２／３」に対応付けて記憶されたリトライの回数「２０」と、センスコード「４」およびサブセンスコード「１／３」に対応付けて記憶されたリトライの回数「３０」とを加算した回数「５０」を算出する。また、動的情報計算部１２は、センスコード「４」およびサブセンスコード「２／３」に対応付けて記憶されたフェイルオーバ回数「５」と、センスコード「４」およびサブセンスコード「１／３」に対応付けて記憶されたリトライの回数「５」とを加算した回数「１０」を算出する。その後、動的情報計算部１２は、算出されたリトライの回数「５０」と算出されたフェイルオーバ回数「１０」とを動的情報設定部１３へ通知する。
【００４５】
なお、上述した説明において、動的情報計算部１２は、発生したエラーの種別と対応付けられたリトライ回数及びフェイルオーバ回数と既に発生している他のエラーの種別と対応付けられたリトライ回数及びフェイルオーバ回数とを合計した。しかし、動的情報計算部１２がディスクアレイ装置１０の状態に応じてエラーハンドリング情報を変更する処理はこれに限定されるものではない。
【００４６】
例えば、動的情報計算部１２は、ディスクアレイ装置１０で発生したエラーの履歴を記憶し、これまでに発生したエラーの種別や各種エラーが発生した回数等に応じて、リトライ回数やフェイルオーバ回数を増減させてもよい。このような場合には、他にエラーが発生しているか否かを判別する必要は無い。また、動的情報計算部１２は、リトライの回数やフェイルオーバの回数を加算するだけではなく、例えば、エラーが発生したタイミングやエラーの履歴に応じた係数を利用して、新たなリトライの回数やフェイルオーバの回数を算出しても良い。また、動的情報計算部１２は、リトライの回数やフェイルオーバの回数に下限及び上限を設けてもよい。
【００４７】
動的情報設定部１３は、判別部によって判別されたエラーの種別を示す情報を含んだセンス情報の追加領域に動的情報を格納する。具体的には、動的情報設定部１３は、動的情報計算部１２から受信したセンス情報の追加領域に動的情報計算部１２から通知された動的情報を格納する。その後、動的情報設定部１３は、動的情報を格納したセンス情報を動的情報送信部１４へ送信する。
【００４８】
ここで、動的情報設定部１３がセンス情報の追加領域に動的情報を格納する処理について説明する。ＳＡＮ環境が適用されるディスクアレイ装置１０は、ｒｅａｄ／ｗｒｉｔｅデータとともにＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）転送を利用してエラーハンドリング情報をサーバ２０へ送信することができない。また、サーバ２０からディスクアレイ装置１０に新規コマンドを送信し、動的情報と静的情報の両方を要求する方式では、サーバ２０は、Ｉ／Ｏ（Ｉｎｐｕｔ  Ｏｕｔｐｕｔ）リトライのたびに新規コマンドを送信するので、Ｉ／Ｏ性能の劣化が懸念される。
【００４９】
そこで、図４に例示するように、ディスクアレイ装置１０は、Ｉ／Ｏを発行する際に、センス情報を生成し、生成したセンス情報に２Ｂｙｔｅの追加領域を設定する。そして、ディスアレイ装置１０は、設定した追加領域にエラーハンドリング情報を格納する。ここで、２Ｂｙｔｅの追加領域では、エラーハンドリング情報を全て格納することができない。このため、ディスクアレイ装置１０は、センス情報の追加領域に格納するエラーハンドリング情報を動的情報であるリトライ回数とフェイルオーバ回数とに限定する。
【００５０】
すると、ディスクアレイ装置１０は、センス情報の追加領域にエラーハンドリング情報を格納することができ、サーバ２０に対して、Ｉ／Ｏ性能を劣化させずにエラーハンドリング情報の動的情報を送信することができる。また、ディスクアレイ装置１０は、センス情報と同時に動的情報を送信するので、サーバ２０に対して、エラーの発生と実行する処理の内容とをリアルタイムに通知し、オンデマンドで制御を行わせることができる。
【００５１】
例えば、図４に示す例では、動的情報設定部１３は、リトライ回数「５０」、フェイルオーバ回数「１０」を動的情報として動的情報計算部１２から取得する。そして、動的情報設定部１３は、取得したリトライ回数「５０」およびフェイルオーバ回数「１０」をそれぞれセンス情報の追加領域に格納する。つまり、動的情報設定部１３は、センス情報の追加領域に動的情報を強制的に設定する。そして、動的情報設定部１３は、リトライ回数とフェイルオーバ回数とを格納したセンス情報を動的情報送信部１４へ送信する。図４は、動的情報を格納する処理を説明するための図である。
【００５２】
図２に戻って、動的情報送信部１４は、動的情報計算部１２によって取得された処理の内容と検出されたエラーの種別を示すセンス情報とをサーバ２０へ送信する。具体的には、動的情報送信部１４は、動的情報設定部１３から動的情報を格納したセンス情報を受信する。そして、動的情報送信部１４は、動的情報設定部１３から受信したセンス情報をサーバ２０に対して送信する。
【００５３】
静的情報取得コマンド受信部１５は、後述するサーバ２０の静的情報取得部２４から静的処理の内容を通知する処理を要求された場合には、要求された静的処理の内容をエラー管理情報テーブル部１１から取得する。具体的には、静的情報取得コマンド受信部１５は、後述するサーバ２０の静的情報取得部２４から、センスコードとサブセンスコードとが格納された静的情報取得コマンドを受信する。
【００５４】
そして、静的情報取得コマンド受信部１５は、受信した静的情報取得コマンドを解析し、静的情報取得コマンドに格納されたセンスコードとサブセンスコードとを取得する。また、静的情報取得コマンド受信部１５は、取得されたセンスコードとサブセンスコードとに対応付けられた出力メッセージ等をエラー管理情報テーブル部１１から取得する。その後、静的情報取得コマンド受信部１５は、取得された出力メッセージ等を静的情報返却部１６へ送信する。
【００５５】
例えば、静的情報取得コマンド受信部１５は、センスコード「４」およびサブセンスコード「２／３」が格納された静的情報取得コマンドをサーバ２０から受信する。このような場合には、静的情報取得コマンド受信部１５は、センスコード「４」およびサブセンスコード「２／３」と対応付けられた出力メッセージをエラー管理情報テーブル部１１から取得する。
【００５６】
この結果、静的情報取得コマンド受信部１５は、エラー管理情報テーブル部１１からリトライメッセージ「Ｎｏｔｉｃｅ  ｄｉｓｋ  Ｅｒｒｏｒｓ」とエラーメッセージ「ＷＡＲＮ  ｄｉｓｋ  ｎｏｔ  ｅｍｐｔｙ」とを取得する。また、静的情報取得コマンド受信部１５は、エラー管理情報テーブル部１１から出力可否フラグ「ＯＮ」を取得する。その後、静的情報取得コマンド受信部１５は、取得された静的情報を静的情報返却部１６へ送信する。
【００５７】
静的情報返却部１６は、静的情報取得コマンド受信部１５によって取得された静的処理の内容をサーバ２０に対して送信する。具体的には、静的情報返却部１６は、静的情報取得コマンド受信部１５によって取得された静的情報を受信する。そして、静的情報返却部１６は、受信した静的情報をサーバ２０へ送信する。
【００５８】
このように、ストレージシステム１００は、エラーハンドリング情報をディスクアレイ装置１０側に記憶させるので、ディスクアレイ装置１０にとって適切な処理をサーバ２０に実行させることができる。例えば、図５に示すように、ディスクアレイ装置１０は、エラーが検出された場合には、自装置にとって適切なエラーハンドリング情報をサーバ２０へ送信する。
【００５９】
ここで、後述するようにサーバ２０は、受信したエラーハンドリング情報が示す処理を実行させるようにディスクアレイ装置１０を制御する。このため、ディスクアレイ装置１０は、ディスクアレイ装置１０において発生したエラーに対する適切な処理を実行することができる。つまり、ストレージシステム１００は、同一のエラーに対する適切な処理がディスクアレイ装置１０とディスクアレイ装置１０Ａとで異なる場合にも、各ディスクアレイ装置１０、１０Ａがそれぞれ適切な処理を実行するようにサーバ２０に制御させることができる。なお、図５は、実施例２に係るストレージシステムの構成イメージを説明するための図である。
【００６０】
また、ストレージシステム１００は、ディスクアレイ装置１０の状態に応じて、動的情報の内容を変更させるので、ディスクアレイ装置１０において発生したエラーに対する適切な処理を実行するようにサーバ２０に制御させることができる。一方、従来のサーバでは、ディスクアレイ装置において発生したエラーに対応する適切な処理を実行することができない。
【００６１】
例えば、従来のサーバは、センスエラー「ＵｎｉｔＡｔｔｅｎｔｉｏｎ」のセンス情報と処理の内容「リトライを４０回」とを対応付けて記憶し、センスエラー「ＨａｒｄＥｒｒｏｒ」のセンス情報と処理の内容「リトライを１０回」とを対応付けて記憶する。このような従来のサーバは、センスエラー「ＵｎｉｔＡｔｔｅｎｔｉｏｎ」に対する４０回のリトライのうち１５回のリトライを実行した際に、センスエラー「ＨａｒｄＥｒｒｏｒ」を示すセンス情報を受信すると、既に１５回のリトライを実行していると判定する。
【００６２】
この結果、従来のサーバは、センスエラー「ＨａｒｄＥｒｒｏｒ」に対するリトライの閾値を超えたと判別し、センスエラー「ＵｎｉｔＡｔｔｅｎｔｉｏｎ」に対する４０回のリトライが完了していなくとも、フェイルオーバや上位にエラーを返してしまう。つまり、従来のサーバは、ディスクアレイ装置のエラーに対して適切な処理を決定できない。
【００６３】
一方、実施例２に係るディスクアレイ装置１０は、各センスエラーを示す情報と対応付けられたリトライの回数を合計し、合計した回数のリトライをサーバ２０に実行させる。つまり、ディスクアレイ装置１０は、ディスクアレイ装置１０において発生したエラーに対する適切な処理をサーバ２０に通知するので、適切な処理を実行するようにサーバ２０に制御させることができる。
【００６４】
また、ストレージシステム１００においては、エラーハンドリング情報の追加や修正を行う場合には、ディスクアレイ装置１０のエラー管理情報テーブル部１１の修正を行うだけでよいので、サーバ２０の再起動を不要とする。結果として、ストレージシステム１００は、エラーハンドリング情報の追加や修正を効率的に行うことができる。
【００６５】
図２に戻って、サーバ２０は、メッセージテーブル部２１、動的情報解析部２２、エラーハンドリング実行部２３、静的情報取得部２４、静的情報受信部２５、エラーメッセージ出力部２６を有する。
【００６６】
メッセージテーブル部２１は、エラーの種別と静的処理の内容とを対応付けて記憶する。具体的には、メッセージテーブル部２１は、センス情報と出力メッセージとしてのリトライメッセージとリトライアウトメッセージと出力可否フラグとを対応付けて記憶する。
【００６７】
例えば、メッセージテーブル部２１は、センス情報であるセンスコード「４」およびサブセンスコード「２／３」とリトライメッセージ「Ｎｏｔｉｃｅ  ｄｉｓｋ  Ｅｒｒｏｒｓ」とを対応付けて記憶する。また、メッセージテーブル部２１は、センスコード「４」およびサブセンスコード「２／３」と出力メッセージとしてのエラーメッセージ「ＷＡＲＮ  ｄｉｓｋ  ｎｏｔ  ｅｍｐｔｙ」とを対応付けて記憶する。また、メッセージテーブル部２１は、センスコード「４」およびサブセンスコード「２／３」と出力可否フラグ「ＯＮ」とを対応付けて記憶する。
【００６８】
動的情報解析部２２は、ディスクアレイ装置１０から動的処理の内容が格納されたセンス情報を受信した場合には、受信されたセンス情報を解析し、センス情報に格納された動的処理の内容を取得する。具体的には、動的情報解析部２２は、センス情報を受信した場合には、受信されたセンス情報を解析し、センス情報の追加領域に格納されたリトライ回数およびフェイルオーバ回数とセンスコードおよびサブセンスコードとを取得する。
【００６９】
そして、動的情報解析部２２は、取得したリトライ回数およびフェイルオーバ回数とをエラーハンドリング実行部２３へ通知する。また、動的情報解析部２２は、取得したセンスコードおよびサブセンスコードをエラーハンドリング実行部２３へ通知する。
【００７０】
エラーハンドリング実行部２３は、ディスクアレイ装置１０から処理の内容を受信した場合には、受信された処理の内容を実行する。また、エラーハンドリング実行部２３は、ディスクアレイ装置１０からセンス情報を受信した場合には、受信されたセンス情報が示すエラーの種別と対応付けられた静的処理の内容をサーバ２０が記憶しているか否かを判定する。
【００７１】
具体的には、エラーハンドリング実行部２３は、動的情報解析部２２からリトライ回数とフェイルオーバ回数とを取得する。そして、エラーハンドリング実行部２３は、取得されたリトライ回数の分だけリトライを実行する。また、エラーハンドリング実行部２３は、取得されたフェイルオーバ回数の分だけフェイルオーバを実行する。
【００７２】
また、エラーハンドリング実行部２３は、動的情報解析部２２からセンス情報であるセンスコードおよびサブセンスコードを取得する。そして、エラーハンドリング実行部２３は、センスコードおよびサブセンスコードを取得した場合には、取得したセンスコードおよびサブセンスコードと対応付けられた静的情報がメッセージテーブル部２１に記憶されているか否かを判別する。
【００７３】
その後、エラーハンドリング実行部２３は、受信されたセンス情報と対応する静的情報がメッセージテーブル部２１に記憶されていると判別した場合には、取得されたセンスコードおよびサブセンスコードをエラーメッセージ出力部２６に送信する。一方、エラーハンドリング実行部２３は、受信された動的情報と対応する静的情報がメッセージテーブル部２１に記憶されていないと判別した場合には、取得されたセンスコードおよびサブセンスコードを静的情報取得部２４へ送信する。
【００７４】
静的情報取得部２４は、静的処理の内容がメッセージテーブル部２１に記憶されていないと判定された場合には、受信されたセンス情報が示すエラーの種別と対応付けられた静的処理の内容を通知する処理をディスクアレイ装置１０に要求する。なお、サーバ２０は、この時点では、クライアント３０にエラーメッセージを出力しない。
【００７５】
具体的には、静的情報取得部２４は、エラーハンドリング実行部２３からセンスコードおよびサブセンスコードを受信した場合には、受信したセンスコードおよびサブセンスコードを格納した静的情報取得コマンドを生成する。つまり、静的情報取得部２４は、受信されたセンス情報と対応付けられた静的処理の内容がメッセージテーブル部２１に記憶されていないと判定された場合には、静的情報取得コマンドを生成する。
【００７６】
そして、静的情報取得部２４は、生成した静的情報取得コマンドをディスクアレイ装置１０の静的情報取得コマンド受信部１５へ送信することで、静的情報の送信を要求する。また、静的情報取得部２４は、エラーハンドリング実行部２３から受信されたセンスコードおよびサブセンスコードを静的情報受信部２５へ送信する。なお、サーバ２０は、静的情報取得部２４によって静的情報取得コマンドが静的情報取得コマンド受信部１５へ送信した場合には、Ｉ／Ｏのキューイングを実行し、上位プログラムにエラーを返却しない。
【００７７】
静的情報受信部２５は、静的情報取得部２４によって要求された静的処理の内容を受信する。そして、静的情報受信部２５は、受信された静的処理の内容をエラーの種別と対応付けてメッセージテーブル部２１に記憶させる。
【００７８】
具体的には、静的情報受信部２５は、ディスクアレイ装置１０から送信されたリトライメッセージとリトライアウトメッセージと出力可否フラグとを受信する。また、静的情報受信部２５は、静的情報取得部２４からセンスコードおよびサブセンスコードを受信する。
【００７９】
そして、静的情報受信部２５は、受信されたリトライメッセージとリトライアウトメッセージと出力可否フラグとを受信されたセンスコードおよびサブセンスコードと対応付けてメッセージテーブル部２１に記憶させる。その後、静的情報受信部２５は、静的情報取得部２４から受信したセンスコードおよびサブセンスコードをエラーメッセージ出力部２６へ送信する。
【００８０】
例えば、静的情報受信部２５は、受信されたリトライメッセージ「Ｎｏｔｉｃｅ  ｄｉｓｋ  Ｅｒｒｏｒｓ」、リトライアウトメッセージ「ＷＡＲＮ  ｄｉｓｋ  ｎｏｔ  ｅｍｐｔｙ」、出力可否フラグ「ＯＮ」を受信する。また、静的情報受信部２５は、センスコード「４」およびサブセンスコード「２／３」とを受信する。そして、静的情報受信部は、センスコード「４」およびサブセンスコード「２／３」と、受信したリトライメッセージ、リトライアウトメッセージ、および出力可否フラグとを対応付けて、メッセージテーブル部２１に記憶させる。
【００８１】
エラーメッセージ出力部２６は、静的情報がメッセージテーブル部２１に記憶されていないとエラーハンドリング実行部２３によって判別された場合には、静的情報受信部２５によって受信された静的処理の内容を実行する。また、エラーメッセージ出力部２６は、エラーハンドリング実行部２３によって、静的情報がメッセージテーブル部２１に記憶されていると判別された場合には、メッセージテーブル部２１に記憶されている静的処理の内容を実行する。
【００８２】
具体的には、エラーメッセージ出力部２６は、静的情報受信部２５からセンスコードおよびサブセンスコードを受信した場合には、受信されたセンスコードおよびサブセンスコードと対応付けられた静的情報をメッセージテーブル部２１から取得する。そして、エラーメッセージ出力部２６は、メッセージテーブル部２１から取得された静的情報を出力する。
【００８３】
また、エラーメッセージ出力部２６は、エラーハンドリング実行部２３からセンスコードおよびサブセンスコードを受信した場合には、受信されたセンスコードおよびサブセンスコードと対応付けられた静的情報をメッセージテーブル部２１から取得する。そして、エラーメッセージ出力部２６は、取得された静的情報であるメッセージ可否フラグに応じて、リトライメッセージおよびリトライアウトメッセージをクライアント３０へ出力する。
【００８４】
ここで、図６を用いて、エラーメッセージ出力部２６が、受信されたセンスコードおよびサブセンスコードと対応付けられたリトライメッセージとリトライアウトメッセージとをクライアント３０に出力する例について説明する。図６は、静的情報の一例を説明するための図である。
【００８５】
図６に示す例では、エラーメッセージ出力部２６は、センスコード（ＩＮ）として「４」を受信し、サブセンスコード（ＩＮ）として「２／３」をエラーハンドリング実行部２３から受信する。このような場合には、エラーメッセージ出力部２６は、受信されたセンスコード「４」およびサブセンスコード「２／３」と対応付けられたリトライメッセージ「Ｎｏｔｉｃｅ  ｄｉｓｋ  Ｅｒｒｏｒｓ」をメッセージテーブル部２１から取得する。
【００８６】
また、エラーメッセージ出力部２６は、受信されたセンスコード「４」およびサブセンスコード「２／３」と対応付けられたリトライアウトメッセージ「ＷＡＲＮ  ｄｉｓｋ  ｎｏｔ  ｅｍｐｔｙ」をメッセージテーブル部２１から取得する。そして、エラーメッセージ出力部２６は、受信されたセンスコード「４」およびサブセンスコード「２／３」と対応付けられた出力可否フラグに応じて、取得されたリトライメッセージおよびリトライアウトメッセージをクライアント３０に出力する。
【００８７】
次に、図７を用いて、ディスクアレイ装置１０とサーバ２０とが動的情報の受け渡しを行う処理について説明する。図７は、動的情報の受け渡しを説明するための図である。図７に示す例では、ディスクアレイ装置１０においてディスクアレイ装置側プログラムが動作し、動的情報をサーバ２０へ送信するものとする。また、図７に示す例では、サーバ２０において、サーバ側プログラムが動作し、受信した動的情報が示す処理を実行するものとする。
【００８８】
また、図７に示す例では、ディスクアレイ装置側プログラムにおいて、動的情報計算部１２がリトライ回数とフェイルオーバ回数とを計算する。次に、ディスクアレイ装置側プログラムにおいて、動的情報設定部１３が、計算されたリトライ回数とフェイルオーバ回数とをセンス情報に格納する。その後、リトライ回数とフェイルオーバ回数とが格納されたセンス情報がサーバ側プログラムに送信される。
【００８９】
一方、サーバ側プログラムの動的情報解析部２２は、ディスクアレイ装置側プログラムから受信されたセンス情報を解析し、ディスクアレイ装置側プログラムが計算したリトライ回数とフェイルオーバ回数とを取得する。つまり、サーバ側プログラムの動的情報解析部２２は、ディスクアレイ装置側にとって適切な回数のリトライ回数とフェイルオーバ回数とを取得する。その後、サーバ側プログラムのエラーハンドリング実行部２３によって、取得された回数のリトライとフェイルオーバとが実行される。
【００９０】
次に、図８を用いて、ディスクアレイ装置側とサーバ側とで静的情報を受け渡す処理の流れについて説明する。図８は、静的情報の受け渡しを説明するための図である。図８に示す例では、ディスクアレイ装置側プログラムのエラー処理メインフローによって生成されたセンス情報がサーバ側プログラムのエラーハンドリング実行部２３に送信されるものとする。
【００９１】
エラーハンドリング実行部２３は、センス情報を受信すると、受信されたセンス情報と対応付けられたリトライメッセージ、リトライアウトメッセージ、メッセージ出力可否フラグ等の静的情報がメッセージテーブル部２１に記憶されているか否かを判別する。そして、エラーハンドリング実行部２３は、受信されたセンス情報と対応付けられた静的情報がメッセージテーブル部２１に記憶されていないと判別した場合には、静的情報取得部２４にセンス情報を通知する。また、静的情報取得部２４は、通知されたセンス情報から静的情報取得コマンドを生成し、生成した静的情報取得コマンドをディスクアレイ装置側プログラムに対して送信する。
【００９２】
ディスクアレイ装置側プログラムの静的情報取得コマンド受信部１５は、サーバ側プログラムから静的情報取得コマンドを受信した場合には、受信された静的情報取得コマンドを解析し、静的情報取得コマンドに格納されたセンス情報を抽出する。そして、静的情報取得コマンド受信部１５は、抽出されたセンス情報を静的情報返却部１６に送信する。
【００９３】
静的情報返却部１６は、センス情報を受信した場合には、受信したセンス情報と対応づけられた静的情報をエラー管理情報テーブル部１１から取得し、取得された静的情報をサーバ側プログラムの静的情報受信部２５へ送信する。
【００９４】
サーバ側プログラムの静的情報受信部２５は、ディスクアレイ装置側プログラムから静的情報を受信した場合には、受信された静的情報をセンス情報と対応付けてメッセージテーブル部２１に記憶させる。その後、エラーメッセージ出力部２６によって、取得された静的情報がクライアント３０に対して出力される。つまり、エラーメッセージ出力部２６は、メッセージ出力可否フラグに応じて、リトライメッセージやリトライアウトメッセージをクライアント３０に対して出力する。
【００９５】
次に、図９を用いて、ストレージシステム１００が実行する動的情報の送信処理の流れについて説明する。図９は、動的情報の送信処理を説明するためのフローチャートである。まず、ストレージシステム１００のディスクアレイ装置１０は、エラーの発生を検出した場合には（ステップＳ１０１）、発生したエラーの種別を示すセンス情報を生成する（ステップＳ１０２）。
【００９６】
次に、ディスクアレイ装置１０は、自装置の状態に応じて、動的情報を生成する処理を実行する（ステップＳ１０３）。その後、ディスクアレイ装置１０は、センス情報の追加領域に動的情報を格納し、動的情報を格納したセンス情報をサーバ２０へ送信する（ステップＳ１０４）。
【００９７】
サーバ２０は、ディスクアレイ装置１０からセンス情報を受信した場合には（ステップＳ１０５）、受信されたセンス情報を解析し、センス情報に格納された動的情報を抽出する（ステップＳ１０６）。そして、サーバ２０は、抽出された動的情報に従って、リトライやフェイルオーバ等の処理を実行する（ステップＳ１０７）。つまり、サーバ２０は、ディスクアレイ装置１０が自装置の状況に応じて計算した適切な回数のリトライやフェイルオーバ等を実行することができる。
【００９８】
次に、図１０を用いて、ディスクアレイ装置１０が自装置の状態に応じて動的情報を生成する処理について説明する。図１０は、動的情報の生成処理を説明するためのフローチャートである。ディスクアレイ装置１０は、センス情報が生成されたことをトリガとして動的情報の生成処理を開始する。なお、以下の説明では、エラーの一例として、ディスクアレイ装置１０が有するＨＤＤ等に故障が発生したものとする。
【００９９】
図１０に示す例では、ディスクアレイ装置１０は、生成されたセンス情報のセンス領域にディスク故障のセンス情報を設定する（ステップＳ２０１）。例えば、ディスクアレイ装置は、センス領域にディスク故障を示すセンスコード「４」、サブセンスコード「２／３」を格納する。
【０１００】
次に、ディスクアレイ装置１０は、各コントロールマネージャと通信し、他のエラーが発生しているかを確認する（ステップＳ２０２）。そして、ディスクアレイ装置は、他のエラーが発生しているか否かを判別する（ステップＳ２０３）。次に、ディスクアレイ装置１０は、他のエラーが発生していると判別した場合には（ステップＳ２０３肯定）、他のエラーの種別と対応付けられたリトライ回数等とディスク故障と対応付けられたリトライ回数等を取得する（ステップＳ２０４）。
【０１０１】
そして、ディスクアレイ装置１０は、取得された各リトライ回数や各フェイルオーバ等の回数をそれぞれ加算し、加算後のリトライ回数やフェイルオーバ等の回数をセンス情報の追加領域に格納する（ステップＳ２０５）。その後、ディスクアレイ装置１０は、処理を終了する。
【０１０２】
一方、ディスクアレイ装置１０は、他のエラーが発生していないと判別した場合には（ステップＳ２０３否定）、エラー管理情報テーブル部１１からディスク故障と対応付けられたリトライ回数やフェイルオーバ等の回数を取得する（ステップＳ２０６）。そして、ディスクアレイ装置１０は、取得されたリトライ回数やフェイルオーバ等の回数をセンス情報の追加領域に格納する（ステップＳ２０７）。
【０１０３】
その後、ディスクアレイ装置１０は、処理を終了する。なお、この例では、ディスクアレイ装置１０は、発生しているエラーの種別と対応付けられたリトライ回数等をそれぞれ加算していたが、例えば、重み付けを用いて、計算するようにしてもよい。
【０１０４】
次に、図１１を用いて、ストレージシステム１００が実行する静的情報の送信処理の流れについて説明する。図１１は、静的情報の送信処理を説明するためのフローチャートである。
【０１０５】
ストレージシステム１００においては、ディスクアレイ装置１０は、エラーの発生を検出した場合には（ステップＳ３０１）、発生したエラーの種別を示すセンス情報を生成する（ステップＳ３０２）。その後、ディスクアレイ装置１０は、生成したセンス情報をサーバ２０へ送信する（ステップＳ３０３）。
【０１０６】
また、サーバ２０は、センス情報を受信した場合には（ステップＳ３０４）、受信されたセンス情報に対応付けられた静的情報がメッセージテーブル部２１に記憶されているか否かを判別する（ステップＳ３０５）。
【０１０７】
そして、サーバ２０は、受信されたセンス情報に対応付けられた静的情報がメッセージテーブル部２１に記憶されていると判別した場合には（ステップＳ３０５肯定）、記憶されている静的情報を出力する（ステップＳ３１０）。つまり、サーバ２０は、記憶されている出力可否フラグに応じて、記憶されているリトライメッセージ、およびリトライアウトメッセージを出力する。
【０１０８】
一方、サーバ２０は、受信されたセンス情報に対応付けられた静的情報がメッセージテーブル部２１に記憶されていないと判別した場合には（ステップＳ３０５否定）、静的情報取得コマンドをディスクアレイ装置１０に対して発行する（ステップＳ３０６）。すると、ディスクアレイ装置１０は、静的情報取得コマンドによってサーバ２０が要求した静的情報をエラー管理情報テーブル部１１から取得する（ステップＳ３０７）。
【０１０９】
そして、ディスクアレイ装置１０は、取得された静的情報をサーバ２０に対して返却する（ステップＳ３０８）。その後、サーバ２０は、ディスクアレイ装置１０から静的情報を受信した場合には（ステップＳ３０９）、受信した静的情報をメッセージテーブル部２１に記憶させるとともに、受信した静的情報をクライアント３０へ出力する（ステップＳ３１０）。
【０１１０】
[実施例２の効果]
上述したように、実施例２に係るストレージシステム１００は、エラーハンドリング情報をセンス情報と対応付けて記憶するディスクアレイ装置１０を有する。また、ディスクアレイ装置１０は、エラーが検出された場合には、検出されたエラーの種別を示すセンス情報と対応付けられたエラーハンドリング情報をサーバ２０に対して送信する。そして、サーバ２０は、受信されたエラーハンドリング情報に従って、リトライやフェイルオーバ等の処理をディスクアレイ装置１０に対して実行するように制御する。
【０１１１】
このため、ストレージシステム１００は、ディスクアレイ装置１０に対する適切な処理を実行することができる。つまり、ディスクアレイ装置１０は、ディスクアレイ装置１０の状態に応じた処理を実行するようにサーバ２０によって制御される。このため、ストレージシステム１００は、ディスクアレイ装置１０において発生したエラーに対する適切な処理を実行させることができる。例えば、サーバ２０は、ディスクアレイ装置１０にとって適切なリトライ回数とディスクアレイ装置１０Ａにとって適切なリトライ回数が異なる場合にも、各ディスクアレイ装置１０、１０Ａにとって適切な回数のリトライを実行するように制御することができる。
【０１１２】
また、ストレージシステム１００は、新たなセンス情報の追加や処理内容の修正を効率的に行うことができる。例えば、ストレージシステム１００は、新たなセンス情報の追加やエラーハンドリング情報の修正を行う場合にも、エラー管理情報テーブル部１１を修正するだけでよい。このため、ストレージシステム１００は、サーバ２０の再起動を不要とするので、新たなセンス情報の追加や処理内容の修正を効率的に行うことができる。
【０１１３】
また、ストレージシステム１００は、ディスクアレイ装置１０に対して、自装置の状態に応じて変更した動的情報をサーバ２０に送信させる。このため、ストレージシステム１００は、ディスクアレイ装置１０にとって適切な処理を実行させることができる。例えば、ストレージシステム１００は、ディスクアレイ装置１０においてエラーが発生している際に新たなエラーが発生した場合にも、サーバ２０に適切な回数のリトライを実行させることができる。
【０１１４】
また、ディスクアレイ装置１０は、エラーハンドリング情報のうち動的情報のみをセンス情報と共にサーバ２０へ送信する。また、ディスクアレイ装置１０は、動的情報をセンス情報の追加領域に格納してサーバ２０に送信する。このため、ストレージシステム１００は、Ｉ／Ｏ性能を劣化させることなく、ディスクアレイ装置１０にとって適切な処理をオンデマンドで実行させることができる。
【０１１５】
また、サーバ２０は、受信したセンス情報と対応付けられた静的情報が自装置に記憶されていないと判別した場合には、ディスクアレイ装置１０に対して静的情報の送信を要求する。そして、ディスクアレイ装置１０は、サーバ２０から静的情報の送信を要求された場合には、要求された静的情報をサーバ２０に送信する。このため、サーバ２０は、受信されたセンス情報と対応するリトライメッセージ、リトライアウトメッセージ、および出力可否フラグを記憶していない場合にも、適切なリトライメッセージおよびリトライアウトメッセージを出力することができる。
【０１１６】
さらに、サーバ２０は、ディスクアレイ装置１０から受信した静的情報をセンス情報と対応付けて記憶する。このため、サーバ２０は、以前受信したセンス情報と同一のセンス情報を受信した場合には、静的情報をディスクアレイ装置１０に送信させることなく適切な処理を実行するように制御することができる。つまり、ストレージシステム１００は、Ｉ／Ｏ性能を劣化させること無く、ディスクアレイ装置１０にとって適切な処理を行わせることができる。
【実施例３】
【０１１７】
これまで本発明の実施例について説明したが実施例は、上述した実施例以外にも様々な異なる形態にて実施されてよいものである。そこで、以下では実施例３として本発明に含まれる他の実施例を説明する。
【０１１８】
（１）ディスクアレイ装置が有する各部について
上述した実施例２では、ディスクアレイ装置１０は、動的情報計算部１２、動的情報設定部１３、動的情報送信部１４を有していた。しかし、実施例はこれに限定されるものではなく、例えば、各部１２〜１４の機能を有する動的情報送信部１４であってもよい。また、静的情報取得コマンド受信部１５と静的情報返却部１６とは、各部１５〜１６の機能を有する静的情報返却部１６であってもよい。
【０１１９】
（２）プログラム
ところで、実施例１に係るストレージシステム１、および実施例２に係るストレージシステム１００は、ハードウェアを利用して各種の処理を実現する場合を説明した。しかし、実施例はこれに限定されるものではなく、あらかじめ用意されたプログラムをコンピュータで実行し、サーバに対して処理情報を送信することによって実現するようにしてもよい。そこで、以下では、図１２を用いて、実施例１に示したストレージシステムの記憶装置１と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図１２は、処理プログラムを実行するコンピュータの一例を説明するための図である。
【０１２０】
図１２に例示されたコンピュータ２００は、ＲＡＭ（Random Access Memory）１２０、ＲＯＭ（Read Only Memory）１３０、ＨＤＤ（Hard Disk Drive）１５０がバス１７０で接続される。また、図１２に例示されたコンピュータ２００は、ＣＰＵ（Central Processing Unit）１４０がバス１７０で接続される。さらにバス１７０には、サーバに対して処理情報を送信するためのＩ／Ｏ（Input Output）１６０が接続される。
【０１２１】
ＨＤＤ１５０には、処理情報を記憶するエラー管理情報テーブル１５１があらかじめ保存される。エラー管理情報テーブル１５１は、実施例１に係るエラー管理情報テーブル部３と同様の情報を有している。ＲＯＭ１３０には、検出プログラム１３１、取得プログラム１３２、送信プログラム１３３があらかじめ保持される。ＣＰＵ１４０が各プログラム１３１〜１３３をＲＯＭ１３０から読み出して実行することによって、図１２に示す例では、各プログラム１３１〜１３３は、検出プロセス１４１、取得プロセス１４２、送信プロセス１４３として機能するようになる。なお、各プロセス１４１〜１４３は、図１に示した各部４〜６と同様の機能を発揮する。また、各プロセス１４１〜１４３は、実施例２に係る各部と同等の機能を発揮するようにすることも可能である。
【０１２２】
なお、本実施例で説明した処理プログラムは、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＭＯ（Magneto Optical Disc）、ＤＶＤ（Digital Versatile Disc）などのコンピュータで読取可能な記録媒体に記録される。また、このプログラムは、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【符号の説明】
【０１２３】
１  記憶装置
２  エラー処理情報テーブル記憶部
３  判別部
４  取得部
５  送信部
６  制御装置
１０、１０Ａ  ディスクアレイ装置
２０  サーバ
３０  クライアント
１００  ストレージシステム
【図１】
2012027727.tif 000003
【図２】
2012027727.tif 000004
【図３】
2012027727.tif 000005
【図４】
2012027727.tif 000006
【図５】
2012027727.tif 000007
【図６】
2012027727.tif 000008
【図７】
2012027727.tif 000009
【図８】
2012027727.tif 000010
【図９】
2012027727.tif 000011
【図１０】
2012027727.tif 000012
【図１１】
2012027727.tif 000013
【図１２】
2012027727.tif 000014