(57)【要約】【課題】ＡＴＡドライブをＦＣドライブと同等に使用できるようにエミュレーションをし、低コストディスクアレイを高信頼化する。【解決手段】論理ユニットが論理的に設定された記憶装置と、記憶装置に記憶されたデータの入出力を要求するホストと、データの入出力を要求するホストに接続され、ホストからの要求に従って記憶装置からデータを入出力する制御装置と、を備えるディスクアレイシステムにおいて、記憶装置は、第１のインターフェースを有する複数のディスク装置と、ディスク装置に適合する第１のインターフェースによる信号と、制御装置に適合する第２のインターフェースによる信号とを変換するインターフェース変換部と、を有し、インターフェース変換部は、データ入出力要求に対するディスク装置からの応答を受信するまでの時間を監視する応答時間監視部と、監視された応答時間に基づいて制御装置にディスク装置の作動状態に関する通知を発行する通知発行部と、を備える。【選択図】  図２
2005182104.tif 000002
【特許請求の範囲】
【請求項１】
論理ユニットが論理的に設定された記憶装置と、
データの入出力を要求するホストに接続され、前記ホストからの要求に従って前記記憶装置からデータを入出力する制御装置と、を備えるディスクアレイシステムにおいて、
前記記憶装置は、
ＡＴＡインターフェースを有する複数のディスク装置と、
前記ディスク装置に適合するＡＴＡインターフェースによる信号と、前記制御装置に適合するファイバチャネルインターフェースによる信号とを変換するインターフェース変換部と、を有し、
前記インターフェース変換部は、
前記データ入出力要求に対する前記ディスク装置からの応答が、第１所定時間又は前記第１所定時間より長い第２所定時間までに受信されたかを監視する応答時間監視部と、
前記ディスク装置からの応答を前記第１所定時間を超えたときに受信した場合には、前記ディスク装置はリアサイン動作を行っていると判定して前記制御装置に第１通知を発行すると共に、前記ディスク装置からの応答を前記第２所定時間までに受信しなかった場合には、前記ディスク装置からの応答を待つことなく前記ホストに対する応答を作成させるために、前記制御装置に第２通知を発行する通知発行部と、を有し、
前記制御装置は、
前記ディスク装置の作動状態を管理するドライブ管理部と、
前記ディスク装置において行われたリアサインの状態を管理する閾値管理テーブルと、を有し、
冗長化して配置されたディスク装置の動作を制御するＲＡＩＤ制御部と、
前記第１通知を受信すると、前記閾値管理テーブルに記録された当該ディスク装置に関するリアサイン回数を更新し、前記閾値管理テーブルに記録されたリアサイン回数と所定の閾値との比較結果に基づいて、当該ディスク装置が故障に至る可能性が高くなったかを判定することによって、前記ディスク装置の作動状態を管理すると共に、前記第２通知を受信すると、当該ディスク装置からの応答を待つことなく、前記冗長化されて配置された他のディスク装置から読み出されたデータによって構築されたデータを、前記ホストに対して送信するドライブ管理部と、を有することを特徴とするディスクアレイシステム。
【請求項２】
論理ユニットが論理的に設定された記憶装置と、
データの入出力を要求するホストに接続され、前記ホストからの要求に従って前記記憶装置からデータを入出力する制御装置と、を備えるディスクアレイシステムにおいて、
前記記憶装置は、
第１のインターフェースを有する複数のディスク装置と、
前記ディスク装置に適合する第１のインターフェースによる信号と、前記制御装置に適合する第２のインターフェースによる信号とを変換するインターフェース変換部と、を有し、
前記インターフェース変換部は、前記データ入出力要求に対する前記ディスク装置からの応答を受信するまでの時間を監視する応答時間監視部と、前記監視された応答時間に基づいて前記制御装置に前記ディスク装置の作動状態に関する通知を発行する通知発行部と、を有することを特徴とするディスクアレイシステム。
【請求項３】
前記応答時間監視部は、前記ディスク装置からの応答を第１所定時間までに受信したかを監視し、
前記通知発行部は、前記ディスク装置からの応答を前記第１所定時間を超えたときに受信した場合には、前記ディスク装置はリアサイン動作を行っていると判定して前記制御装置に第１通知を発行することを特徴とする請求項２に記載のディスクアレイシステム。
【請求項４】
前記応答時間監視部は、前記ディスク装置からの応答を第２所定時間までに受信したかを監視し、
前記通知発行部は、前記ディスク装置からの応答を前記第２所定時間までに受信しなかった場合に、前記ディスク装置からの応答を待つことなく前記ホストに対する応答を作成させるために、前記制御装置に第２通知を発行することを特徴とする請求項２に記載のディスクアレイシステム。
【請求項５】
前記制御装置は、
前記ディスク装置の作動状態を管理するドライブ管理部と、
前記ディスク装置において行われたリアサインの状態を管理する閾値管理テーブルと、を有し、
前記ドライブ管理部は、
前記第１通知を受信すると、前記閾値管理テーブルに記録された当該ディスク装置に関するリアサイン回数を更新し、
前記閾値管理テーブルに記録されたリアサイン回数と所定の閾値との比較結果に基づいて、当該ディスク装置が故障に至る可能性が高くなったかを判定することを特徴とする請求項３に記載のディスクアレイシステム。
【請求項６】
前記制御装置は、
前記ディスク装置の作動状態を管理するドライブ管理部と、
冗長化して配置されたディスク装置の動作を制御するＲＡＩＤ制御部と、を有し、
前記ドライブ管理部は、前記第２通知を受信すると、当該ディスク装置からの応答を待つことなく、前記冗長化されて配置された他のディスク装置から読み出されたデータによって構築されたデータを、前記ホストに対して送信することを特徴とする請求項４に記載のディスクアレイシステム。
【請求項７】
論理ユニットが論理的に設定されたディスク装置と、前記ディスク装置からデータを入出力する制御装置との間に配置され、前記ディスク装置に適合する第１のインターフェースによる信号と、前記制御装置に適合する第２のインターフェースによる信号とを変換するインターフェース変換装置であって、
前記データ入出力要求に対する前記ディスク装置からの応答を受信するまでの時間を監視する応答時間監視部と、前記監視された応答時間に基づいて前記制御装置に前記ディスク装置の作動状態に関する通知を発行する通知発行部とを有することを特徴とするインターフェース変換装置。
【請求項８】
前記応答時間監視部は、前記ディスク装置からの応答を第１所定時間までに受信したかを監視し、
前記通知発行部は、前記ディスク装置からの応答を前記第１所定時間を超えたときに受信した場合には、前記ディスク装置はリアサイン動作を行っていると判定して前記制御装置に第１通知を発行することを特徴とする請求項７に記載のインターフェース変換装置。
【請求項９】
前記応答時間監視部は、前記ディスク装置からの応答を前記第１所定時間より長い第２所定時間までに受信したかを監視し、
前記通知発行部は、前記ディスク装置からの応答を前記第２所定時間までに受信しなかった場合に、前記ディスク装置からの応答を待つことなく前記ホストに対する応答を作成させるために、前記制御装置に第２通知を発行することを特徴とする請求項８に記載のインターフェース変換装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスクアレイシステムに関し、特に、ＡＴＡインターフェース等の簡易なインターフェースに適合するディスク装置を使用したディスクアレイシステムに関する。
【背景技術】
【０００２】
バックアップ／アーカイブ用途向けのディスクアレイに、従来使用されていたＦＣ（Fibre Channel）ドライブや、ＳＣＳＩ（Small Computer System Interface）ドライブに代えて、パーソナルコンピュータ用に設計された低コストなＡＴＡ（AT Attachment）ドライブを適用するケースが増加している。ここで、ＡＴＡドライブは、セクタ不良発生時に自動的にセクタを貼り替えるオートリアサインを実行する。また、ディスクに対するアクセスを成功させるために、多数回リトライを実行する（例えば、非特許文献１参照。）。
【０００３】
一方、ＦＣドライブやＳＣＳＩドライブを使用した従来のディスクアレイでは、信頼性向上のため、ドライブの障害予兆を監視し、ドライブの不良セクタが多発してきた場合は、事前に予防コピーを実施している。この予防コピーの契機を検知するために、ディスクコントローラは不良セクタの発生数を監視している。
【非特許文献１】「Hard Disk Drive Specification Deskstar 7K250」，株式会社日立製作所，２００３年８月１３日，インターネット <URL:http://www.hgst.com/tech/techlib.nsf/techdocs/E8C3F8F6F3819BDB86256CE9005AB0B9/$file/d7k250P_sp.pdf>
【発明の開示】
【発明が解決しようとする課題】
【０００４】
前述したＡＴＡドライブをディスクアレイシステムに用いると、ＡＴＡドライブは、セクタ不良発生時に自動的にセクタを貼り替えるオートリアサインを実行するので、ディスクアレイコントローラが不良セクタ発生数を認識することができず、不良セクタの多発前に予防コピーを実施することができない。
【０００５】
また、前述したＡＴＡドライブでは、ドライブ内部で多数回リトライを実行するので、ＩＯ要求（データ入出力要求）に対する回答が遅れ、ホストに対するタイムアウトが発生する場合がある。これを避けるために、内部リトライを途中で停止させると、不良セクタに対する交替セクタが用意されず、オートリアサインが動作しない。
【０００６】
本発明は、ＡＴＡドライブをＦＣドライブと同等に使用できるようにエミュレーションをし、低コストディスクアレイを高信頼化することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、論理ユニットが論理的に設定された記憶装置と、データの入出力を要求するホストに接続され、前記ホストからの要求に従って前記記憶装置からデータを入出力する制御装置と、を備えるディスクアレイシステムにおいて、前記記憶装置は、第１のインターフェースを有する複数のディスク装置と、前記ディスク装置に適合する第１のインターフェースによる信号と、前記制御装置に適合する第２のインターフェースによる信号とを変換するインターフェース変換部と、を有し、前記インターフェース変換部は、前記データ入出力要求に対する前記ディスク装置からの応答を受信するまでの時間を監視する応答時間監視部と、前記監視された応答時間に基づいて前記制御装置に前記ディスク装置の作動状態に関する通知を発行する通知発行部と、を備える。
【発明の効果】
【０００８】
本発明によると、ＡＴＡドライブをＦＣドライブと同様に使用することができ、高い信頼性のディスクアレイを低コストで提供することができる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施の形態を図面を参照して説明する。
【００１０】
図１は、本発明の第１の実施の形態のディスクアレイシステムの全体構成を示すブロック図である。
【００１１】
第１の実施の形態は、図１に示すように、ホスト１００、ディスクアレイコントローラ２００、記憶装置４００及び管理端末７００を備える。
【００１２】
ディスクアレイコントローラ２００は、ホストＦＣインターフェース２０４を介して接続されたホスト１００に対して記憶装置４００に記憶された情報を提供する。このディスクアレイコントローラ２００は、一つ以上のＣＰＵ２０１、メモリ２０２、キャッシュ２０３、一つ以上のホストＦＣインターフェース２０４、一つ以上のドライブＦＣインターフェース２０５、及び管理インターフェース２０７を有する。
【００１３】
メモリ２０２には、ＲＡＩＤ制御プログラム２１０、ドライブコマンド発行プログラム２２０、ドライブ管理プログラム２３０、ドライブ管理テーブル２４０、予防コピープログラム２５０、Ｉ／Ｆ変換部設定プログラム２６０、Ｉ／Ｆ変換部通知受信プログラム２７０、及び管理端末通信プログラム２９０が記憶されており、ＣＰＵ２０１がこれらのプログラムを呼び出して実行することによって、各種の処理を行う。また、メモリ２０２には、リアサイン閾値管理テーブル２８０が記憶されている。
【００１４】
キャッシュ２０３は、ホストＦＣインターフェース２０４とドライブＦＣインターフェース２０５との間でやり取りされるデータを一時的に記憶する。
【００１５】
ホストＦＣインターフェース２０４は、ホスト１００との間でファイバチャネル（Fibre Channel）プロトコルによる信号（コマンド、データ）を送受信する。このホストＦＣインターフェース２０４にはホストコンピュータ１００が接続されている。
【００１６】
ドライブＦＣインターフェース２０５は、記憶装置４００との間でファイバチャネル（Fibre Channel）プロトコルによる信号（コマンド、データ）を送受信する。このドライブＦＣインターフェース２０５にはファイバチャネルループ（ＦＣループ）６００を介して、記憶装置４００が接続されている。
【００１７】
管理インターフェース２０７は、例えば、ＴＣＰ／ＩＰプロトコルに基づいてデータ及びコマンドを送受信する。この管理インターフェース２０７には管理用端末７００が接続されている。管理用端末７００は入力部７１０及び出力部７２０を有し、管理用端末７００から記憶装置４００の管理情報を入出力することができる。
【００１８】
ＲＡＩＤ制御プログラム２１０は、複数のＡＴＡディスク４０１〜４０３によって構成されるＲＡＩＤの動作を制御する。すなわち、複数のディスクにデータを分散させて記憶させ、複数のディスクに分散して記憶されたデータを読み出して再構築する。また、１台のディスクが故障しても、エラー訂正機能（コレクション）によって、失われたデータを復旧する（図６参照）。
【００１９】
ドライブコマンド発行プログラム２２０は、ＡＴＡディスク４０１〜４０３に対するコマンドを発行する。ドライブ管理プログラム２３０は、ドライブ管理テーブル２４０を用いて、ＡＴＡディスク４０１〜４０３の状態を管理し、各種障害回復処理を行う。
【００２０】
予防コピープログラム２５０は、セクタ不良が多く発生したＡＴＡディスク４０１〜４０３の記憶内容を、予備ディスクに複写する処理を行う（図７参照）。Ｉ／Ｆ変換部設定プログラム２６０は、管理用端末７００によって設定された条件に基づいて、Ｉ／Ｆ変換部４３０の動作条件を設定する。
【００２１】
Ｉ／Ｆ変換部通知受信プログラム２７０は、ＡＴＡディスク４０１〜４０３の動作状態に基づいてＩ／Ｆ変換部４３０から発行される通知を受信する（図５参照）。リアサイン閾値管理テーブル２８０は、ＡＴＡディスク４０１〜４０３において行われるリアサイン発生回数、及びセクタ不良多発の判定に用いられる閾値を記憶し管理する。
【００２２】
管理端末通信プログラム２９０は、管理インターフェース２０７の動作を制御する。
【００２３】
記憶装置４００は、複数のＡＴＡディスクによって構成されるＡＴＡディスク群４１０及びＩ／Ｆ変換部４３０によって構成されており、ＡＴＡドライブ筐体内に収納されている。
【００２４】
ＡＴＡディスク群４１０は、複数のＡＴＡディスク４０１〜４０３を含んでいる。ＡＴＡディスク４０１〜４０３には、論理ユニット（ＬＵ）４２０が設定されている。この論理ユニット４２０は、記憶装置４００に備わる記憶資源（ＡＴＡディスク）に対して論理的に設定された記憶領域である。また、複数のＡＴＡディスク４０１〜４０３によってＲＡＩＤ（Redundant Array of Independent Disks）が構成されており、一部のディスクに障害が生じても、ディスク群４１０に記憶されたデータが消失しないようにしている。
【００２５】
Ｉ／Ｆ変換部４３０は、ディスクアレイコントローラ２００に対するファイバチャネルプロトコルと、ＡＴＡディスク４０１〜４０３に対するＡＴＡプロトコルとを変換するもので、図２に示す構成を有している。なお、本実施の形態で用いられているファイバチャネルプロトコルとＡＴＡプロトコルとの変換に限らず、他のプロトコルを相互に変換して、Ｉ／Ｆ変換部４３０がプロトコル間で相違する機能を補うように構成することもできる。
【００２６】
Ｉ／Ｆ変換部４３０は、プロセッサ４３１、メモリ４３２、ＦＣインターフェース４３４、ＡＴＡインターフェース４３６及びタイマ４３７によって構成されている。メモリ４３２には各種プログラムが記憶されており、プロセッサ４３１がこれらのプログラムを呼び出して実行することによって、各種の処理を行う。
【００２７】
ＦＣインターフェース４３４は、ディスクアレイコントローラ２００との間でファイバチャネルプロトコルによる信号（コマンド、データ）を送受信する。また、ＡＴＡインターフェース４３６は、ＡＴＡディスク４０１〜４０３との間でＡＴＡプロトコルによる信号（コマンド、データ）を送受信する。
【００２８】
メモリ４３２には、ディスクアレイコントローラ２００からファイバチャネルプロトコルによって送信されるコマンドを受信するＦＣコマンド受信プログラム４４１、異なるプロトコルに（本実施の形態では、ファイバチャネルプロトコルからＡＴＡプロトコルに）コマンドを変換するコマンド変換プログラム４４３、及びＡＴＡディスク４０１〜４０３に対してＡＴＡプロトコルによるコマンドを発行するＡＴＡコマンド発行プログラム４４５が記憶されている。また、ファイバチャネルプロトコルによるデータを送受信するＦＣデータ転送プログラム４４２、及びＡＴＡプロトコルによるデータを送受信するＡＴＡデータ転送プログラム４４６が記憶されている。さらに、受信したデータを一時的に記憶するデータバッファ４４４が設けられている。
【００２９】
さらに、メモリ４３２には、ドライブ応答時間監視プログラム４５１、リアサイン時間設定テーブル４５２、リトライ中時間設定テーブル４５３、タイムアウト時間設定テーブル４５４、ＣＴＬ通知発行プログラム４５５が記憶されている。
【００３０】
ドライブ応答時間監視プログラム４５１は、タイマ４０７から供給されるクロック信号に基づいて、ＡＴＡコマンド発行プログラム４４５によるコマンド発行からの経過時間を監視する。ＣＴＬ通知発行プログラム４５５は、ドライブ応答時間監視プログラム４５１が、ディスクアレイコントローラ２００によるコマンド発行から所定時間が経過したと判定すると、ディスクアレイコントローラ２００に対して通知を発行する。この経過時間の判定の際に、リアサイン時間設定テーブル４５２、リトライ中時間設定テーブル４５３、及びタイムアウト時間設定テーブル４５４が用いられる。これらのテーブル４５２〜４５４に規定される時間は、ＡＴＡディスク４０１〜４０３毎に同じ時間を設定することも、異なる時間を設定することもできる。
【００３１】
図３は、ドライブ応答時間監視プログラム４５１によって実行される応答時間監視処理のフローチャートであり、図４は、応答時間監視処理のタイミング図である。
【００３２】
ディスクアレイコントローラ２００からＡＴＡディスク４０１〜４０３に対してコマンドが発行されると、ＦＣインターフェース４３４においてコマンドを受信し、該コマンドはＦＣコマンド受信プログラム４４１によって解析される。そして、コマンド変換プログラム４４３によってファイバチャネルプロトコルからＡＴＡプロトコルに変換され、ＡＴＡコマンド発行プログラム４４５によってＡＴＡコマンドが発行される（１００１）。そして、発行されたＡＴＡコマンドは、ＡＴＡインターフェース４３６によってＡＴＡディスク４０１〜４０３に対して送信される。
【００３３】
そして、ＡＴＡコマンドの発行から、ドライブ応答時間監視プログラム４５１が応答時間の監視を開始する（１００２）。そして、ＡＴＡディスク４０１〜４０３からの応答を受信したか否かを判定する（１００３）。ＡＴＡディスク４０１〜４０３からの応答を受信していなければ、リアサイン時間設定テーブル４５２に設定されたリアサイン時間に到達したか否かを判定する（１００４）。そして、リアサイン時間に到達していなければ、ステップ１００３に戻り、さらにＡＴＡディスク４０１〜４０３からの応答を監視する。
【００３４】
一方、リアサイン時間に到達する前にＡＴＡディスク４０１〜４０３からの応答を受信したら、該応答が正常終了であるか否かを判定する（１００５）。そして正常終了であれば、該ＡＴＡディスクではリトライは実行されていないと判定し、「Ｇｏｏｄ」応答を発行してこの応答時間監視処理を終了する（１００６）。また、正常終了でなければ、該ＡＴＡディスクには障害が発生したと判定し、「ＮＧ」応答を発行してこの応答時間監視処理を終了する（１００７）。
【００３５】
一方、リアサイン時間に到達してもＡＴＡディスク４０１〜４０３からの応答が到来しなければ、該ＡＴＡディスクはオートリアサイン動作を開始したと判定し、次のステップ（１００８）に進む。
【００３６】
ステップ１００８では、さらに、ＡＴＡディスク４０１〜４０３からの応答を受信したか否かを判定する。そして、ＡＴＡディスク４０１〜４０３からの応答を受信していなければ、リトライ中時間設定テーブル４５３に設定されたリトライ中時間に到達したか否かを判定する（１００９）。そして、リトライ中時間に到達していなければ、ステップ１００８に戻り、さらにＡＴＡディスク４０１〜４０３からの応答を監視する。
【００３７】
一方、リトライ中時間に到達する前にＡＴＡディスク４０１〜４０３からの応答を受信したら、該応答が正常終了であるか否かを判定する（１０１０）。そして正常終了であれば、該ＡＴＡディスクではリトライ動作によって正常にデータが読み出せたと判定し、「リカバード」応答を発行してこの応答時間監視処理を終了する（１０１１）。また、正常終了でなければ、該ＡＴＡディスクには障害が発生したと判定し、「ＮＧ」応答を発行してこの応答時間監視処理を終了する（１０１２）。
【００３８】
一方、リトライ中時間に到達してもＡＴＡディスク４０１〜４０３からの応答が到来しなければ、ＡＴＡディスク４０１〜４０３はリトライの実行中であると判定し、ディスクアレイコントローラ２００に対して「リトライ中」応答を送信して（１０１３）、次のステップ（１０１４）に進む。
【００３９】
ステップ１０１４では、さらに、ＡＴＡディスク４０１〜４０３からの応答を受信したか否かを判定する。そして、ＡＴＡディスク４０１〜４０３からの応答を受信していなければ、タイムアウト時間設定テーブル４５４に設定されたタイムアウト時間に到達したか否かを判定する（１０１５）。そして、タイムアウト時間に到達していなければ、ステップ１０１４に戻り、さらにＡＴＡディスク４０１〜４０３からの応答を監視する。
【００４０】
一方、リトライ中時間に到達する前にＡＴＡディスク４０１〜４０３からの応答が到来したら、該応答が正常終了であるか否かを判定する（１０１６）。そして正常終了であれば、該ＡＴＡディスクではオートリアサインが正常に実行されたと判定し、「リトライ完了」応答を発行してこの応答時間監視処理を終了する（１０１７）。また、正常終了でなければ、該ＡＴＡディスクには障害が発生したと判定し、「ＮＧ」応答を発行してこの応答時間監視処理を終了する（１０１８）。
【００４１】
一方、タイムアウト時間に到達してもＡＴＡディスク４０１〜４０３からの応答が到来しなければ、該ＡＴＡディスクには障害が発生していると判定し、ディスクアレイコントローラ２００に対して「タイムアウト」応答を発行して（１０１９）、この応答時間監視処理を終了する（１０２０）。
【００４２】
図４は、コマンド発行からの時間の経過に基づいて発行される通知を示すタイミング図である。
【００４３】
ＡＴＡコマンド発行プログラム４４５によるＡＴＡコマンドの発行からリアサイン時間が経過するまでにＡＴＡディスク４０１〜４０３から処理完了の応答があれば、該ＡＴＡディスクではリトライは実行されていないと判定し、ディスクアレイコントローラ２００に対して「Ｇｏｏｄ」応答を送信する。
【００４４】
その後、リトライ中時間が経過するまでに、ＡＴＡディスク４０１〜４０３から処理完了の応答があれば、該ＡＴＡディスクではリトライが実行されたと判定し、ディスクアレイコントローラ２００に対して「リカバード」応答を送信する。
【００４５】
その後、ＡＴＡディスク４０１〜４０３から処理完了の応答がなくリトライ中時間を経過すると、ＡＴＡディスク４０１〜４０３ではリトライの実行中であると判定し、ディスクアレイコントローラ２００に対して「リトライ中」応答を送信する。この「リトライ中」応答によってディスクアレイコントローラ２００では、ＲＡＩＤ制御プログラム２１０によってコレクション処理が実行される（図６参照）
その後、タイムアウト時間が経過するまでに、ＡＴＡディスク４０１〜４０３から処理完了の応答があれば、該ＡＴＡディスクではオートリアサインが実行されたと判定し、ディスクアレイコントローラ２００に対して「リトライ完了」応答を送信する。
【００４６】
その後、ＡＴＡディスク４０１〜４０３から処理完了の応答がなくタイムアウト時間を経過すると、ＡＴＡディスク４０１〜４０３には障害が発生していると判定し、ディスクアレイコントローラ２００に対して「タイムアウト」応答を送信する。
【００４７】
図５は、ドライブ管理プログラム２３０において実行される障害対応処理のフローチャートである。
【００４８】
まず、Ｉ／Ｆ変換部４３０からの応答を受信したかを監視する（２００１）。
【００４９】
ドライブＦＣインターフェース２０５がＩ／Ｆ変換部４３０からの応答を受信すると、当該応答が「Ｇｏｏｄ」応答であるか否かを判定する（２００２）。そして、当該応答が「Ｇｏｏｄ」応答であれば、ＡＴＡディスク４０１〜４０３に障害は発生していないので、この障害対応処理を終了する。
【００５０】
一方、当該応答が「Ｇｏｏｄ」応答でなければ、さらに、「リカバード」応答であるか否かを判定する（２００３）。当該応答が「リカバード」応答であれば、ＡＴＡディスク４０１〜４０３ではオートリアサインが行われているので、リアサイン閾値管理テーブル２８０の値（障害発生回数）を加算する（２００４）。
【００５１】
一方、当該応答が「リカバード」応答でなければ、さらに、「リトライ中」応答であるか否かを判定する（２００５）。当該応答が「リトライ中」応答であれば、ホスト１００に対して早く応答を返すために、他のディスクからデータを読み出して、当該ＡＴＡディスクから読み出されるべきデータを再構築するように（図６参照）、ＲＡＩＤ制御プログラム２１０に指示をする（２００６）。
【００５２】
一方、当該応答が「リトライ中」応答でなければ、さらに、「リトライ完了」応答であるか否かを判定する（２００７）。当該応答が「リトライ完了」応答であれば、ＡＴＡディスク４０１〜４０３ではオートリアサインが行われているので、リアサイン閾値管理テーブル２８０の値（障害発生回数）を加算する（２００８）。
【００５３】
一方、当該応答が「リトライ完了」応答でなければ、さらに、「タイムアウト」応答であるか否かを判定する（２００９）。当該応答が「タイムアウト」応答であれば、ＡＴＡディスク４０１〜４０３に障害が発生しているので、障害回復処理を実行するように、ＲＡＩＤ制御プログラム２１０に指示をする（２０１０）。なお、このとき、発行されたコマンドが原因となってＡＴＡドライブ４０１〜４０３がタイムアウトに至る障害が発生した（例えば、ハングアップした）ことが予想されるので、応答を返さないＡＴＡドライブにハードリセットをかけることによって初期化をする。
【００５４】
一方、当該応答が「タイムアウト」応答でなければ、想定された応答ではないので、何も処理をすることなく、この障害対応処理を終了する。
【００５５】
図６は、ＲＡＩＤ制御プログラム２１０によって実行されるコレクション処理の説明図である。
【００５６】
コレクション処理は、前述したように最左側に図示したディスクのセクタＡに障害が生じ、該ディスクからの応答が遅れた場合に、ＲＡＩＤを構成する他のディスクの、セクタＡに対応するセクタＢ、Ｃ、Ｄからデータを読み出して、それらの排他的論理和を算出することによって、セクタＡに記憶されていたものと同じデータＡ’を生成して、ホストへ応答すると共に、障害が生じたセクタＡ（又は、リアサインされたセクタ）に算出されたデータを書き込む。
【００５７】
このように、ディスクで多数回のリトライを実行して、ディスクからの応答が遅くなる場合でも、「リトライ中」応答を契機にコレクション処理を実行することによって、ホストに早くデータを返すことができる。よって、ホストにおけるタイムアウトを防止することができる。また、ホストがタイムアウトに至らなくても、待機時間を削減することができ、ホストにおける処理の遅延を抑制することができる。
【００５８】
図７は、予防コピープログラム２５０によって実行される予防コピー処理の説明図である。
【００５９】
予防コピーは、ドライブ管理プログラム２３０がリアサイン閾値管理テーブル２８０に記録したリアサインの発生回数と所定の閾値との比較結果に基づいて（例えば、リアサインの発生回数が所定の閾値を超えたら）、当該ディスクの不良セクタが増加したと判定して、予防的に行われる。すなわち、セクタ障害が多発しているが、読み書きが完全に不可能になる状態には至らない段階で、セクタ障害が多発したディスクの記憶内容を予備ディスクに複写する。
【００６０】
以上説明したように本発明の第１の実施の形態では、ＡＴＡディスク４０１〜４０３に適合するＡＴＡインターフェースの信号と、ディスクアレイコントローラ２００に適合するファイバチャネルインターフェースの信号とを変換するインターフェース変換部４３０を設けたので、ＡＴＡドライブをＦＣドライブと同様に使用することができる。
【００６１】
また、インターフェース変換部４３０は、データ入出力要求コマンドに対するＡＴＡディスク４０１〜４０３からの応答がリアサイン時間までに受信されたかを監視し、ＡＴＡディスク４０１〜４０３からの応答をリアサイン時間を超えたときに受信した場合には、ＡＴＡディスク４０１〜４０３はオートリアサイン動作を行っていると判定して、ディスクアレイコントローラ２００に「リカバード」応答を発行する。そして、ドライブ管理プログラム２３０は、「リカバード」応答を受信すると、リアサイン閾値管理テーブル２８０に記録された当該ディスクに関するリアサイン発生回数を更新する。そして、リアサイン閾値管理テーブル２８０に記録されたリアサイン発生回数が所定の閾値を超えたら、当該ディスクの不良セクタが増加したと判定して、予防コピーを行う。すなわち、オートリアサイン時に応答時間が遅くなることに着目し、応答時間を監視することで、オートリアサインの発生（セクタ不良の発生）を検出することができ、不良セクタ発生数を契機とする予防コピーを行うことができる。
【００６２】
また、ＡＴＡディスク４０１〜４０３からの応答をリトライ中時間までに受信しなかった場合には、ディスクアレイコントローラ２００に「リトライ中」応答を発行する。そして、ドライブ管理プログラム２３０は、「リトライ中」応答を受信すると、当該ＡＴＡディスクからの応答を待つことなく、ＲＡＩＤを構成する他のディスクからデータを読み出し、該読み出したデータを用いてデータを再構築（データコレクション）をして、ホスト１００に送信する。この間ドライブにはリトライをさせておき、リトライ成功によるオートリアサイン、又はリトライを断念してエラー応答するのを待つ。よって、ホストのタイムアウトの防止と、ディスクのオートリアサインの促進を両立することができる。
【００６３】
図８は、本発明の第２の実施の形態のディスクアレイシステムの全体構成を示すブロック図である。
【００６４】
第２の実施の形態は、Ｉ／Ｆ変換部がＡＴＡディスク毎に設けられている点で、前述した第１の実施の形態（図１）と異なる。なお、前述した第１の実施の形態と同じ構成は同じ符号を付し、その詳細な説明は省略する。
【００６５】
記憶装置３００は、複数のＡＴＡディスクによって構成されるＡＴＡディスク群３１０、Ｉ／Ｆ変換部３５１〜３５３及びポートバイパス回路３３０によって構成されており、ＡＴＡドライブ筐体内に収納されている。
【００６６】
ＡＴＡディスク群３１０は、複数のＡＴＡディスク３０１〜３０３を含んでいる。ＡＴＡディスク３０１〜３０３には、論理ユニット（ＬＵ）３２０が設定されている。また、複数のＡＴＡディスク３０１〜３０３によってＲＡＩＤが構成されている。
【００６７】
Ｉ／Ｆ変換部３５１〜３５３は、ディスクアレイコントローラ２００に対するファイバチャネルプロトコルと、ＡＴＡディスク３０１〜３０３に対するＡＴＡプロトコルとを変換するもので、各々図２に示す構成を有する。なお、第１の実施の形態では、リアサイン時間設定テーブル４５２、リトライ中時間設定テーブル４５３、及びタイムアウト時間設定テーブル４５４に規定される時間は、複数のＡＴＡディスク３０１〜３０３毎に異なる時間を設定することもできたが、第２の実施の形態では、Ｉ／Ｆ変換部３５１〜３５３は、各々一つのＡＴＡディスク３０１〜３０３を受け持っているので、一つだけのＡＴＡディスクの値を記憶している。
【００６８】
ポートバイパス回路３３０は、図９に示すように、ディスク及びコントローラの接続数に対応した複数のセレクタ３３１〜３３４を有している。このセレクタは通常状態では、実線で示すように接続されているが、一部のディスク又はコントローラに障害が生じたときには破線のように接続することによって、障害が生じたディスク又はコントローラをファイバチャネルループ６００から切り離して、ファイバチャネルループ６００を途切れさせないようにする。
【００６９】
以上説明したように本発明の第２の実施の形態では、前述した第１の実施の形態の効果に加え、ＡＴＡディスク３０１〜３０３とＩ／Ｆ変換部３５１〜３５３を組み合わせて取り外すと、ＦＣドライブに交換することができ、記憶装置の保守性を向上させることができる。
【００７０】
図１０は、本発明の第３の実施の形態のディスクアレイシステムの全体構成を示すブロック図である。
【００７１】
第３の実施の形態は、Ｉ／Ｆ変換部がディスクアレイコントローラ２００内に設けられている点で、前述した第１の実施の形態（図１）と異なる。なお、前述した第１の実施の形態と同じ構成は同じ符号を付し、その詳細な説明は省略する。
【００７２】
ディスクアレイコントローラ２００は、一つ以上のＣＰＵ２０１、メモリ２０２、キャッシュ２０３、一つ以上のホストＦＣインターフェース２０４、一つ以上のドライブＡＴＡインターフェース２０６、管理インターフェース２０７、及びタイマ２０８を有する。ディスクアレイコントローラ２００は、ホストＦＣインターフェース２０４を介して接続されたホスト１００に対してＡＴＡディスク群５１０に記憶された情報を提供する。
【００７３】
メモリ２０２には、ＲＡＩＤ制御プログラム２１０、ドライブコマンド発行プログラム２２０、ドライブ管理プログラム２３０、ドライブ管理テーブル２４０、予防コピープログラム２５０、時間設定プログラム２６５、リアサイン閾値管理テーブル２８０、及び管理端末通信プログラム２９０が記憶されている。
【００７４】
さらに、第３の実施の形態では、メモリ２０２に、ドライブ応答時間監視プログラム２９１、リアサイン時間設定テーブル２９２、リトライ中時間設定テーブル２９３、及びタイムアウト時間設定テーブル２９４が記憶されている。なお、これらのプログラム２９１〜２９４は、各々、第１の実施の形態におけるドライブ応答時間監視プログラム４５１、リアサイン時間設定テーブル４５２、リトライ中時間設定テーブル４５３、及びタイムアウト時間設定テーブル４５４と同一に機能する。
【００７５】
また、これらのプログラムはＣＰＵ２０１によって呼び出されて実行することによって、各種の処理を行う。
【００７６】
時間設定プログラム２６５は、ドライブ応答時間監視プログラム２９１によって参照されるリアサイン時間設定テーブル２９２、リトライ中時間設定テーブル２９３及びタイムアウト時間設定テーブル２９４に記憶される時間を設定する。
【００７７】
ＡＴＡディスク群５１０は、複数のＡＴＡディスク５０１〜５０３を含んでいる。ＡＴＡディスク５０１〜５０３には、論理ユニット（ＬＵ）５２０が設定されている。また、複数のＡＴＡディスク５０１〜５０３によってＲＡＩＤが構成されている。
【００７８】
以上説明したように本発明の第３の実施の形態では、前述した第１の実施の形態の効果に加え、ＦＣドライブと同等の機能を実現する構成をディスクアレイコントローラ２００内に設けたので、ディスクとは別にインターフェース変換のための構成を設ける必要がなく、記憶装置のコスト削減に貢献することができる。
【図面の簡単な説明】
【００７９】
【図１】第１の実施の形態のディスクアレイシステムの全体構成を示すブロック図である。
【図２】第１の実施の形態のＩ／Ｆ変換部の構成を示すブロック図である。
【図３】第１の実施の形態の応答時間監視処理のフローチャートである。
【図４】第１の実施の形態の応答時間監視処理のタイミング図である。
【図５】第１の実施の形態の障害処理のフローチャートである。
【図６】第１の実施の形態のコレクション処理の説明図である。
【図７】第１の実施の形態の予防コピー処理の説明図である。
【図８】第２の実施の形態のディスクアレイシステムの全体構成を示すブロック図である。
【図９】第２の実施の形態のポートバイパス回路の構成を示すブロック図である
【図１０】第３の実施の形態のディスクアレイシステムの全体構成を示すブロック図である。
【符号の説明】
【００８０】
１００  ホスト
２００  ディスクアレイコントローラ
４００  記憶装置
４３０  Ｉ／Ｆ変換部
６００  ＦＣループ
７００  管理端末
【図１】
2005182104.tif 000003
【図２】
2005182104.tif 000004
【図３】
2005182104.tif 000005
【図４】
2005182104.tif 000006
【図５】
2005182104.tif 000007
【図６】
2005182104.tif 000008
【図７】
2005182104.tif 000009
【図８】
2005182104.tif 000010
【図９】
2005182104.tif 000011
【図１０】
2005182104.tif 000012