(57)【要約】【課題】  相対的にＭＴＢＦが短いＨＤＤを使用する記憶制御装置において、ＭＴＢＦから推定される障害発生までの期間をできるだけ長くすること。【解決手段】  当該ＨＤＤ上のデータに対して、ホストコンピュータからアクセスが可能なＨＤＤについては、スピンドルモータを回転させ、ホストコンピュータからのアクセスがないと明確に分かっているＨＤＤについてはスピンドルモータを停止させる制御を行う。ホストコンピュータからのアクセスの可／不可については、当該ＨＤＤが提供する記憶領域（内部論理ボリューム）が、ホストコンピュータにより認識されてアクセスが可能であるホスト論理ボリュームに対応付けられているかどうかによって判断する。【選択図】図７
2005190036.tif 000002
【特許請求の範囲】
【請求項１】
上位装置に接続され、前記上位装置に対して第一の論理ボリュームを提供して、前記上位装置から前記第一の論理ボリュームに宛てて送られるデータを受けるチャネルアダプタと、
前記チャネルアダプタに接続され、前記上位装置との間でやり取りされるデータ、前記上位装置との間でやり取りされるデータに関する制御情報、及び自記憶制御装置の構成に関する構成情報が保存されるメモリと、
前記上位装置から前記第一の論理ボリュームに宛てて送られたデータを、前記第一の論理ボリュームに対応しており前記チャネルアダプタとのデータの送受信においてデータの格納領域として用いられる第二の論理ボリュームに対するものとして、前記メモリから読み出し又は前記メモリに対して書き込むように制御するディスクアダプタと、
前記チャネルアダプタ、前記メモリ及び前記ディスクアダプタを接続する接続装置と、
前記ディスクアダプタと接続され、前記ディスクアダプタの制御によって、前記第二の論理ボリュームに対するデータが冗長関係を有するデータ群として書き込まれる複数のディスクドライブとを有し、
前記チャネルアダプタは、前記上位装置から前記メモリ内の前記構成情報が読み出される場合に利用される制御用論理ボリュームを前記上位装置に対して提供するものであり、前記上位装置から前記制御用論理ボリュームに宛てて発行された切り替え指示に応じて、前記第二の論理ボリュームに代えて、他の第二の論理ボリュームを前記第一の論理ボリュームに対応付けて、前記他の第二の論理ボリュームに対応しており冗長関係を有するデータ群が書き込まれる複数のディスクドライブのスピンドルモータを動作させるプロセッサを有するものであることを特徴とする記憶制御装置。
【請求項２】
請求項１に記載の記憶制御装置において、
前記チャネルアダプタの前記プロセッサは、前記切り替え指示に応じて切り替えられる前記第二の論理ボリュームに対応しており冗長関係を有するデータ群が書き込まれる複数のディスクドライブのスピンドルモータを停止させるものであることを特徴とする記憶制御装置。
【請求項３】
請求項１に記載の記憶制御装置において、
前記チャネルアダプタの前記プロセッサは、前記切り替え指示によって指定された前記他の第二の論理ボリュームに対応しており冗長関係を有するデータ群が書き込まれる複数のディスクドライブのスピンドルモータが動作中か否かを判断し、前記動作中であればそのまま動作を継続させ、前記動作中でなければ、前記他の第二の論理ボリュームに対応しており冗長関係を有するデータ群が書き込まれる複数のディスクドライブのスピンドルモータを動作させるものであることを特徴とする記憶制御装置。
【請求項４】
請求項１に記載の記憶制御装置において、
前記チャネルアダプタの前記プロセッサは、前記切り替え指示に応じて切り替えられる前記第二の論理ボリュームに対応しており冗長関係を有するデータ群が書き込まれる複数のディスクドライブのなかに、前記上位装置に対して提供されている他の第一の論理ボリュームに対応する他の第二の論理ボリュームに対応しているものがあれば、前記切り替え指示に応じて切り替えられる前記第二の論理ボリュームに対応しており冗長関係を有するデータ群が書き込まれる複数のディスクドライブの動作を継続させるものである、ことを特徴とする記憶制御装置。
【請求項５】
請求項１に記載の記憶制御装置において、
前記チャネルアダプタの前記プロセッサは、前記切り替え指示に応じて切り替えられる前記第二の論理ボリュームに対応しており冗長関係を有するデータ群が書き込まれる複数のディスクドライブのなかに、前記上位装置に対して提供されている他の第一の論理ボリュームに対応する他の第二の論理ボリュームに対応しているものがなければ、前記切り替え指示に応じて切り替えられる前記第二の論理ボリュームに対応しており冗長関係を有するデータ群が書き込まれる複数のディスクドライブの動作を停止させるものである、ことを特徴とする記憶制御装置。
【請求項６】
請求項１に記載の記憶制御装置において、
前記チャネルアダプタの前記プロセッサは、前記制御用論理ボリュームに宛てて前記上位装置から送られたコマンドの種類が書き込みコマンドである場合、前記書き込みコマンドの内容を前記制御用論理ボリュームへ書き込み、前記書き込みコマンドの内容が前記切り替え指示であることを判断するものであることを特徴とする記憶制御装置。
【請求項７】
請求項１に記載の記憶制御装置において、
前記チャネルアダプタの前記プロセッサは、前記制御用論理ボリュームに宛てて前記上位装置から送られたコマンドの種類が読み出しコマンドである場合、前記読み出しコマンドの内容が前記構成情報であることを判断して、前記メモリから前記構成情報を読み出して、前記上位装置に対して送信するものであることを特徴とする記憶制御装置。
【請求項８】
請求項１に記載の記憶制御装置において、
前記チャネルアダプタの前記プロセッサの指示に応じて、前記第二の論理ボリュームに代えて、前記他の第二の論理ボリュームを前記第一の論理ボリュームに対応付ける対応付け切り替え装置とを有することを特徴とする記憶制御装置。
【請求項９】
請求項１に記載の記憶制御装置において、
前記チャネルアダプタの前記プロセッサの指示に応じて、前記切り替え指示に応じて切り替えられる前記第二の論理ボリュームに対応しており冗長関係を有するデータ群が書き込まれる複数のディスクドライブのスピンドルモータを停止させ、前記他の第二の論理ボリュームに対応しており冗長関係を有するデータ群が書き込まれる複数のディスクドライブのスピンドルモータを動作させる電源制御装置とを有することを特徴とする記憶制御装置。
【請求項１０】
請求項１に記載の記憶制御装置において、
前記チャネルアダプタの前記プロセッサは、前記上位装置から送られたコマンドが前記第一の論理ボリューム宛てである場合には、前記上位装置から送られたコマンドをデータの書き込み又は読み出しに関するコマンドであると判断し、前記上位装置から送られたコマンドが前記制御用論理ボリューム宛てである場合には、前記上位装置から送られたコマンドを制御情報に関するコマンドであると判断するものであることを特徴とする記憶制御装置。
【請求項１１】
上位装置に接続され、前記上位装置に対して第一の論理ボリュームを提供して、前記上位装置から前記第一の論理ボリュームに宛てて送られるデータを受けるチャネルアダプタと、
前記チャネルアダプタに接続され、前記上位装置との間でやり取りされるデータ、前記上位装置との間でやり取りされるデータに関する制御情報、及び自記憶制御装置の構成に関する構成情報が保存されるメモリと、
前記上位装置から前記第一の論理ボリュームに宛てて送られたデータを、前記第一の論理ボリュームに対応しており前記チャネルアダプタとのデータの送受信においてデータの格納領域として用いられる第二の論理ボリュームに対するものとして、前記メモリから読み出し又は前記メモリに対して書き込むように制御するディスクアダプタと、
前記チャネルアダプタ、前記メモリ及び前記ディスクアダプタを接続する接続装置と、
前記ディスクアダプタと接続され、前記ディスクアダプタの制御によって、前記第二の論理ボリュームに対するデータが冗長関係を有するデータ群として書き込まれる複数のディスクドライブとを有する記憶制御装置の制御方法において、
前記チャネルアダプタは、
前記上位装置から前記メモリ内の前記構成情報が読み出される場合に利用される制御用論理ボリュームを前記上位装置に対して提供し、
前記上位装置から前記制御用論理ボリュームに宛てて発行された切り替え指示に応じて、前記第二の論理ボリュームに代えて、他の第二の論理ボリュームを前記第一の論理ボリュームに対応付けて、前記他の第二の論理ボリュームに対応しており冗長関係を有するデータ群が書き込まれる複数のディスクドライブのスピンドルモータを動作させる、
ことを特徴とする記憶制御装置の制御方法。
【請求項１２】
請求項１１に記載の記憶制御装置の制御方法において、
前記チャネルアダプタは、
前記切り替え指示に応じて切り替えられる前記第二の論理ボリュームに対応しており冗長関係を有するデータ群が書き込まれる複数のディスクドライブのスピンドルモータを停止させる、
ことを特徴とする記憶制御装置の制御方法。
【請求項１３】
請求項１１に記載の記憶制御装置の制御方法において、
前記チャネルアダプタは、
前記切り替え指示によって指定された前記他の第二の論理ボリュームに対応しており冗長関係を有するデータ群が書き込まれる複数のディスクドライブのスピンドルモータが動作中か否かを判断し、
前記動作中であればそのまま動作を継続させ、
前記動作中でなければ、前記他の第二の論理ボリュームに対応しており冗長関係を有するデータ群が書き込まれる複数のディスクドライブのスピンドルモータを動作させる、
ことを特徴とする記憶制御装置の制御方法。
【請求項１４】
請求項１１に記載の記憶制御装置の制御方法において、
前記チャネルアダプタは、
前記切り替え指示に応じて切り替えられる前記第二の論理ボリュームに対応しており冗長関係を有するデータ群が書き込まれる複数のディスクドライブのなかに、前記上位装置に対して提供されている他の第一の論理ボリュームに対応する他の第二の論理ボリュームに対応しているものがあれば、前記切り替え指示に応じて切り替えられる前記第二の論理ボリュームに対応しており冗長関係を有するデータ群が書き込まれる複数のディスクドライブの動作を継続させる、
ことを特徴とする記憶制御装置の制御方法。
【請求項１５】
請求項１１に記載の記憶制御装置の制御方法において、
前記チャネルアダプタは、
前記切り替え指示に応じて切り替えられる前記第二の論理ボリュームに対応しており冗長関係を有するデータ群が書き込まれる複数のディスクドライブのなかに、前記上位装置に対して提供されている他の第一の論理ボリュームに対応する他の第二の論理ボリュームに対応しているものがなければ、前記切り替え指示に応じて切り替えられる前記第二の論理ボリュームに対応しており冗長関係を有するデータ群が書き込まれる複数のディスクドライブの動作を停止させる、
ことを特徴とする記憶制御装置の制御方法。
【請求項１６】
請求項１１に記載の記憶制御装置の制御方法において、
前記チャネルアダプタは、
前記制御用論理ボリュームに宛てて前記上位装置から送られたコマンドの種類が書き込みコマンドである場合、
前記書き込みコマンドの内容を前記制御用論理ボリュームへ書き込み、
前記書き込みコマンドの内容が前記切り替え指示であることを判断する、
ことを特徴とする記憶制御装置の制御方法。
【請求項１７】
請求項１１に記載の記憶制御装置の制御方法において、
前記チャネルアダプタは、
前記制御用論理ボリュームに宛てて前記上位装置から送られたコマンドの種類が読み出しコマンドである場合、
前記読み出しコマンドの内容が前記構成情報であることを判断し、
前記メモリから前記構成情報を読み出し、
前記読み出された前記構成情報を前記上位装置に対して送信する、
ことを特徴とする記憶制御装置の制御方法。
【請求項１８】
請求項１１に記載の記憶制御装置の制御方法において、
前記記憶制御装置は、対応付け切替え装置とを有するものであり、
前記対応付け切替え装置は、
前記チャネルアダプタの指示に応じて、前記第二の論理ボリュームに代えて、前記他の第二の論理ボリュームを前記第一の論理ボリュームに対応付ける、
ことを特徴とする記憶制御装置の制御方法。
【請求項１９】
請求項１１に記載の記憶制御装置の制御方法において、
前記記憶制御装置は、電源制御装置とを有するものであり、
前記電源制御装置は、
前記チャネルアダプタの前記プロセッサの指示に応じて、
前記切り替え指示に応じて切り替えられる前記第二の論理ボリュームに対応しており冗長関係を有するデータ群が書き込まれる複数のディスクドライブのスピンドルモータを停止させ、
前記他の第二の論理ボリュームに対応しており冗長関係を有するデータ群が書き込まれる複数のディスクドライブのスピンドルモータを動作させる、
ことを特徴とする記憶制御装置の制御方法。
【請求項２０】
請求項１１に記載の記憶制御装置の制御方法において、
前記チャネルアダプタは、
前記上位装置から送られたコマンドが前記第一の論理ボリューム宛てである場合には、前記上位装置から送られたコマンドをデータの書き込み又は読み出しに関するコマンドであると判断し、
前記上位装置から送られたコマンドが前記制御用論理ボリューム宛てである場合には、前記上位装置から送られたコマンドを制御情報に関するコマンドであると判断する、
ことを特徴とする記憶制御装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のディスクドライブを備える記憶制御装置において、上位装置からのデータの書き込み又は読み出しを制御する技術に関する。
【背景技術】
【０００２】
ディスクアレイ装置のような記憶制御装置の主要な用途の一つとして、従来からあるトランザクションやデータベースの用途がある。この用途には通常、高性能でありかつ高信頼性であることが強く求められる。このため、この用途に使われる記憶制御装置に搭載されるＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）には、高性能でかつ高信頼性であるものが採用される。このような用途での要件を満たすＨＤＤは、部品レベルで信頼性が高いものが使われるために、一般的に高価になっている。
【０００３】
このようなＨＤＤを備えたディスクアレイ装置の消費電力を抑える技術が考えられている。
【０００４】
【特許文献１】特開２０００−２９３３１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の技術は、バックアップ／リストアやアーカイブといった用途に使われるディスクアレイ装置又は記憶制御装置にとって効果的なものでない。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明は、以下の構成を有する。
【０００７】
本発明の上位装置は、アプリケーションプログラムと、制御プログラムと、ユーザインタフェースと、アプリケーションインタフェースと、ホストバスアダプタとを有する。それぞれの構成及び処理フローについては、発明を実施するための最良の形態で説明する。
【０００８】
本発明の記憶制御装置は、チャネルアダプタと、メモリと、ディスクアダプタと、接続装置と、複数のディスクドライブとを有する。
【０００９】
チャネルアダプタは、上位装置に接続され、上位装置に対して第一の論理ボリュームを提供して、上位装置から第一の論理ボリュームに宛てて送られるデータを受けるものである。
【００１０】
メモリは、チャネルアダプタに接続され、上位装置との間でやり取りされるデータ、上位装置との間でやり取りされるデータに関する制御情報、及び自記憶制御装置の構成に関する構成情報が保存されるものである。
【００１１】
ディスクアダプタは、上位装置から第一の論理ボリュームに宛てて送られたデータを、第一の論理ボリュームに対応しており第二の論理ボリュームに対するものとして、メモリから読み出し又はメモリに対して書き込むように制御するものである。第二の論理ボリュームは、チャネルアダプタとのディスクアダプタとの間のデータの送受信において、データの格納領域として用いられる。
【００１２】
接続装置は、チャネルアダプタ、メモリ及びディスクアダプタを接続するものである。
【００１３】
複数のディスクドライブは、ディスクアダプタと接続され、ディスクアダプタの制御によって、前記第二の論理ボリュームに対するデータが冗長関係を有するデータ群として書き込まれるものである。
【００１４】
チャネルアダプタは、プロセッサを有しており、上位装置からメモリ内の構成情報が読み出される場合に利用される制御用論理ボリュームを上位装置に対して提供するものである。チャネルアダプタのプロセッサは、上位装置から制御用論理ボリュームに宛てて発行された切り替え指示に応じて、第二の論理ボリュームに代えて、他の第二の論理ボリュームを第一の論理ボリュームに対応付けて、前記他の第二の論理ボリュームに対応しており冗長関係を有するデータ群が書き込まれる複数のディスクドライブのスピンドルモータを動作させるプロセッサを有するものである。
【００１５】
チャネルアダプタのプロセッサは、前記切り替え指示に応じて切り替えられる前記第二の論理ボリュームに対応しており冗長関係を有するデータ群が書き込まれる複数のディスクドライブのスピンドルモータを停止させるものである。
【００１６】
チャネルアダプタのプロセッサは、前記切り替え指示によって指定された前記他の第二の論理ボリュームに対応しており冗長関係を有するデータ群が書き込まれる複数のディスクドライブのスピンドルモータが動作中か否かを判断し、動作中であればそのまま動作を継続させ、動作中でなければ、前記他の第二の論理ボリュームに対応しており冗長関係を有するデータ群が書き込まれる複数のディスクドライブのスピンドルモータを動作させるものである。
【００１７】
チャネルアダプタのプロセッサは、前記切り替え指示に応じて切り替えられる前記第二の論理ボリュームに対応しており冗長関係を有するデータ群が書き込まれる複数のディスクドライブのなかに、前記上位装置に対して提供されている他の第一の論理ボリュームに対応する他の第二の論理ボリュームに対応しているものがあれば、前記切り替え指示に応じて切り替えられる前記第二の論理ボリュームに対応しており冗長関係を有するデータ群が書き込まれる複数のディスクドライブの動作を継続させるものである。
【００１８】
チャネルアダプタのプロセッサは、前記切り替え指示に応じて切り替えられる前記第二の論理ボリュームに対応しており冗長関係を有するデータ群が書き込まれる複数のディスクドライブのなかに、上位装置に対して提供されている他の第一の論理ボリュームに対応する他の第二の論理ボリュームに対応しているものがなければ、前記切り替え指示に応じて切り替えられる前記第二の論理ボリュームに対応しており冗長関係を有するデータ群が書き込まれる複数のディスクドライブの動作を停止させるものである。
【００１９】
チャネルアダプタのプロセッサは、制御用論理ボリュームに宛てて上位装置から送られたコマンドの種類が書き込みコマンドである場合、書き込みコマンドの内容を制御用論理ボリュームへ書き込み、書き込みコマンドの内容が前記切り替え指示であることを判断するものである。
【００２０】
チャネルアダプタのプロセッサは、制御用論理ボリュームに宛てて上位装置から送られたコマンドの種類が読み出しコマンドである場合、読み出しコマンドの内容が構成情報であることを判断して、メモリから構成情報を読み出して、上位装置に対して送信するものである。
【００２１】
チャネルアダプタのプロセッサは、上位装置から送られたコマンドが前記第一の論理ボリューム宛てである場合には、上位装置から送られたコマンドをデータの書き込み又は読み出しに関するコマンドであると判断し、上位装置から送られたコマンドが前記制御用論理ボリューム宛てである場合には、上位装置から送られたコマンドを制御情報に関するコマンドであると判断するものである。
【００２２】
なお、上記においては、チャネルアダプタのプロセッサが各種制御を行うことを記載したが、その他の制御プロセッサ例えばディスクアダプタのプロセッサが同様の制御を行うことも好ましい。また、チャネルアダプタのプロセッサ及びディスクアダプタのプロセッサが協働して同様の制御を行うことも好ましい。
【００２３】
さらに詳細な構成及び処理フローについては、発明を実施するための最良の形態で説明する。
【発明の効果】
【００２４】
本発明によれば、バックアップ／リストアやアーカイブといった用途に使われるディスクアレイ装置又は記憶制御装置にとっても効果的な制御方法を提供できる。
【発明を実施するための最良の形態】
【００２５】
我々は、記憶制御装置に記憶されるデータの容量の拡大、種類の多様化、そしてシステムの２４時間稼動といった種々の要素を考慮して、データのバックアップ／リストアやアーカイブを短時間に高速に行うことを考慮している。このため、従来テープドライブによりデータのバックアップ／リストアやアーカイブを行っていた分野についても、記憶媒体としてＨＤＤを採用する記憶制御装置を使ったバックアップ／リストアやアーカイブを検討している。このような用途では特に大容量が求められるために、記憶制御装置に求められることは、安価に大記憶容量を提供できることである。
【００２６】
これに応えるために、性能と信頼性は程々で、より安価なディスクトップＰＣなどで用いられるＳ−ＡＴＡ（Ｓｅｒｉａｌ  ＡＴＡ）を接続インタフェースをするＨＤＤの利用を考えた。
【００２７】
ファイバチャネルを接続インタフェースとするＨＤＤは、サーバとして機能するホストコンピュータに搭載されることを想定しているので、２４時間運用が前提として設計されている。これに対して、Ｓ−ＡＴＡを接続インタフェースとするＨＤＤは、元々はディスクトップＰＣなどに搭載されることを想定しているので、毎日数時間しか使わないことを前提に設計されている。
【００２８】
このため、Ｓ−ＡＴＡを接続インタフェースとするＨＤＤではファイバチャネルを接続インタフェースとするＨＤＤに比べて、ＨＤＤの信頼性指標の一つであるＭＴＢＦ（Ｍｅａｎ  Ｔｉｍｅ  Ｂｅｔｗｅｅｎ  Ｆａｉｌｕｒｅ）が、一般的に短く設計されている。したがって、Ｓ−ＡＴＡを接続インタフェースとするＨＤＤを、２４時間運用の場合のように、常にＨＤＤのスピンドルモータを回す使い方をすると、当然ファイバチャネルを接続インタフェースとするＨＤＤに較べて障害が発生しやすくなる。
【００２９】
一方、ＨＤＤをバックアップ／リストアやアーカイブといった用途へ適用する場合、記憶媒体であるＨＤＤへのアクセスが常に発生しているとは考えにくい。例えば、バックアップ／リストアでは、通常は日に１回から数回、バックアップを取得するときのみ、記憶制御装置へのデータの書き込みが発生するし、ごく稀にリストアをするときのみ記憶制御装置からのデータの読み出しが発生する。また、アーカイブの用途では、記憶制御装置へのデータの書き込みが発生するのは、アーカイブを取得するときで、記憶制御装置からのデータの読み出しについても、稀にアーカイブされたデータを参照するときである。
【００３０】
このようにバックアップ／リストアやアーカイブといった用途に使われる記憶制御装置では、記憶媒体中のデータへのアクセスは頻繁には発生しないので、データへのアクセスが明らかに発生しないと明確に分かっている場合には、当該データが格納されているＨＤＤのスピンドルモータを停止させる制御を行うことが効果的である。
【００３１】
以下において、ＨＤＤのスピンドルモータを常に動作させることなく、Ｓ−ＡＴＡを接続インタフェースとするＨＤＤの寿命を考慮したディスクアレイ装置の制御方法について、図面を用いて詳細に説明する。
【００３２】
本発明の実施の形態によれば、ＨＤＤのスピンドルモータを停止させる制御を行うことで、ＨＤＤのスピンドルモータを停止させずに使う場合よりも、ＭＴＢＦから推定される障害が発生するまでの時間を延ばすことが期待できる。
【００３３】
図１に記憶制御装置の構成例を示す。１−１が記憶制御装置で、１−２は記憶制御装置に接続されるホストコンピュータである。記憶制御装置１−１には、複数のチャネルアダプタ１−３が搭載されている。各チャネルアダプタ１−３はポート１−４を有しており、このポート１−４を通して、各チャネルアダプタ１−３はホストコンピュータに搭載されるＨＢＡ（Ｈｏｓｔ Ｂｕｓ Ａｄａｐｔｅｒ）１−５と、例えばファイバ・チャネルで接続される。
【００３４】
記憶制御装置１−１には、記憶媒体として複数台のＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１−６が搭載されている。記憶制御装置１−１には、複数台のＨＤＤ１−６を制御するためのディスクアダプタ１−７が複数搭載される。ディスクアダプタ１−７は、ＨＤＤを接続するためにポート１−８を有しており、これにより複数台のＨＤＤ  １−６と接続されている。ポート１−８と複数台のＨＤＤ  １−６との間は、ファイバチャネルのＦＣ−ＡＬやファブリック、またはパラレルＳＣＳＩ、もしくはＡＴＡやＳＡＴＡにて接続される。
【００３５】
チャネルアダプタ１−３とディスクアダプタ１−７は、接続部１−９を介して互いに接続されている。また接続部１−９には共有メモリ１−１０とキャッシュメモリ１−１１も接続されている。チャネルアダプタ１−３、ディスクアダプタ１−７にはそれぞれマイクロプロセッサ１−１２、１−１４とこれと対になるローカルメモリ１−１３、１−１５が搭載されている。チャネルアダプタ１−３上のマイクロプロセッサ１−１２では、ホストコンピュータ１−２から送られてくるコマンドを処理するプログラムが実行されている。ディスクアダプタ１−７上のマイクロプロセッサ１−１４では、複数台のＨＤＤ１−６を制御するためのプログラムが実行されている。プログラムはそれぞれローカルメモリを使って動作している。複数あるチャネルアダプタ１−３および複数あるディスクアダプタ１−７の間で、連携した処理を行うためにこれらの間で共有が必要な制御情報が、共有メモリ１−１０の中に置かれている。各チャネルアダプタ１−３上のマイクロプロセッサ１−１２および各ディスクアダプタ１−７上のマイクロプロセッサ１−１４は、接続部１−９を通して共有メモリ中の制御情報にアクセスすることができる。
【００３６】
キャッシュメモリ１−１１は、ホストコンピュータ１−２がアクセスするデータを一時的に保持するために使われる。キャッシュメモリ１−１１はＨＤＤ１−６よりも高速なデータアクセスを可能とするので、記憶制御装置のアクセス性能向上（特にコマンドへの応答性能）に寄与できる。
【００３７】
図２の左側は図１で説明した記憶制御装置１−１を物理的な構成から説明している図である（図１を簡略化した図）。これに対して図２の右側は記憶制御装置１−１を論理的な構成から説明している図である。図２は記憶制御装置２−１の物理的な構成と論理的な構成の対応を説明している。
【００３８】
複数台のＨＤＤ２−６中の数台のＨＤＤを組にしてＥＣＣ（Ｅｒｒｏｒ  Ｃｈｅｃｋ  ＆  Ｃｏｒｒｅｃｔｉｏｎ）グループ２−１２が作られる。ＥＣＣグループは、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）として構成され、ＥＣＣグループ内のＨＤＤの一点障害から記憶されているデータを保護する。
【００３９】
ＥＣＣグループにより作られる記憶領域を、一つあるいは複数の領域に区切って内部論理ボリュームが作られる。図２の例は一つのＥＣＣグループ２−１２を二つの領域に区切って二つの内部論理ボリューム２−１３、２−１４が作られている例である。内部論理ボリューム２−１３、２−１４は、ディスクアダプタ２−７中のマイクロプロセッサ（図２では省略、図１の１−１４）にて実行されるプログラムにより提供される論理的なボリュームである。
【００４０】
ホストコンピュータ２−２が記憶制御装置２−１にデータを読出し／書込みするには、記憶制御装置２−１が提供するホスト論理ボリューム２−１５、２−１６をホストコンピュータ２−２が認識できている必要がある。
【００４１】
ホスト論理ボリューム２−１５、２−１６は、チャネルアダプタ２−３中のマイクロプロセッサ（図２では省略、図１の１−１２）にて実行されるプログラムが、ホストコンピュータ２−１に対して提供する論理的なボリュームである。例えば、ファイバチャネルやＳＣＳＩでのＬＵ（Ｌｏｇｉｃａｌ  Ｕｎｉｔ）がこのホスト論理ボリュームに相当する。
【００４２】
ホスト論理ボリューム２−１５、２−１６自体は、実際の記憶領域を持たない仮想的なものである。ホスト論理ボリュームと内部論理ボリュームは１対１に対応付けられ、ホスト論理ボリューム２−１５はデータを記憶するために実際の記憶領域を持つ内部論理ボリューム２−１３に、ホスト論理ボリューム２−１６は内部論理ボリューム２−１４にそれぞれ対応付けられる。
【００４３】
このホスト論理ボリュームと内部論理ボリュームとの対応付けは、構成情報として共有メモリ２−１０中に格納され、チャネルアダプタ２−３中のマイクロプロセッサ（図２では省略、図１の１−１２）にて実行されるプログラムにより管理される。
【００４４】
ホストコンピュータからホスト論理ボリュームに書き込まれるデータは、ホスト論理ボリュームと内部論理ボリュームの対応付けにより、実際の記憶領域を持つ内部論理ボリュームに書き込まれることになる。すなわち例えば、ホストコンピュータ２−２がポート２−１７を通してホスト論理ボリューム２−１５の先頭の論理ブロックに書き込まれたデータは、実際には内部論理ボリューム２−１３の先頭の論理ブロックに書き込まれる。同様に例えば、ホストコンピュータ２−２がポート２−１７を通してホスト論理ボリューム２−１６の先頭から１００番目の論理ブロックに書き込まれたデータは、実際には内部論理ボリューム２−１４の先頭から１００番目の論理ブロックに書き込まれる。
【００４５】
図３は、図２の右側で説明した記憶制御装置２−１の論理的構造を、本発明を開示すために詳細を加えて書き直したものである。
【００４６】
記憶制御装置３−１には、三つのＥＣＣグループ３−３〜３−５がある。このＥＣＣグループ３−３〜３−５による記憶領域には、四つの内部論理ボリューム３−６〜３−９が作られている。内部論理ボリューム３−６は、ＥＣＣグループ３−３の中に、内部論理ボリューム３−７は、ＥＣＣグループ３−４の中に、内部論理ボリューム３−８と内部論理ボリューム３−９は、ＥＣＣグループ３−５の中に、それぞれ存在する。
【００４７】
記憶制御装置３−１は、二つの種類のホスト論理ボリュームを持っている。一つめの種類のホスト論理ボリューム（データ用）は、ホストコンピュータ３−２から認識され、ホストコンピュータ３−２中のアプリケーションプログラム３−１２が使うデータを格納するために使われる。二つめの種類のホスト論理ボリューム（制御用）後ほど説明する。ホスト論理ボリューム（データ用）およびホスト論理ボリューム（制御用）はそれぞれ複数個が記憶制御装置３−１中に存在できる。ホスト論理ボリューム（データ用）３−１０およびホスト論理ボリューム（制御用）３−１１はこれらを代表するものとし図３中に示されている。
【００４８】
図３では一つのホスト論理ボリューム（データ用）３−１０に対して四つの内部論理ボリューム３−６〜３−９がある。ホスト論理ボリューム（データ用）３−１０と四つの内部論理ボリューム３−６〜３−９との間には、対応付け切り替え部３−１３がある。この対応付け切り替え部３−１３は、対応付け切り替え／電源制御部３−１４からの指示により、ホスト論理ボリューム（データ用）３−１０と内部論理ボリューム３−６〜３−９との間の対応付けを切り替える。
【００４９】
前述のようにホスト論理ボリュームと内部論理ボリュームとの対応付けは、チャネルアダプタ中のマイクロプロセッサにて実行されるプログラムにより管理される。したがって、対応付け切り替え部３−１３、対応付け切り替え／電源制御部３−１４ともこのプログラムにより実現されている。
【００５０】
例えば、ホスト論理ボリューム（データ用）３−１０が内部論理ボリューム３−６に対応付けられている時には、ホストコンピュータ３−２からポート３−１５を通してホスト論理ボリューム（データ用）３−１０の先頭論理ブロックに書き込まれたデータは、実際には内部論理ボリューム３−６の先頭論理ブロックに書き込まれる。
【００５１】
同様に例えば、ホスト論理ボリューム（データ用）３−１０が内部論理ボリューム３−９に対応付けられている時には、ホストコンピュータ３−２からポート３−１５を通してホスト論理ボリューム（データ用）３−１０の先頭論理ブロックに書き込まれたデータは、内部論理ボリューム３−９の先頭論理ブロックに書き込まれる。
【００５２】
記憶制御装置３−１の中にある共有メモリ３−１６の一部に、記憶制御装置の論理的な構成を保持する構成情報３−１７が記憶されている。構成情報には、図４に例示されるようなホスト論理ボリュームの番号と、そのホスト論理ボリュームに対応付けられた内部論理ボリュームの番号との対応を保持しておくテーブルや、図５に例示されるようなＥＣＣグループの番号と、各当該ＥＣＣグループに含まれる内部論理ボリュームの番号を保持するテーブルがある。
【００５３】
次に、記憶制御装置３−１内でのホスト論理ボリュームと内部論理ボリュームの対応付け切り替えについて、ホストコンピュータ３−２側からの指示について開示する。ホスト論理ボリュームと内部論理ボリュームの対応付け切り替えには、二つの方法がある。
【００５４】
一つめの方法は、ホストコンピュータ３−２中のアプリケーション・プログラム３−１２が指示を出す方法である。
【００５５】
この方法には大きく二つのステップがある。
【００５６】
ステップ１では、記憶制御装置３−１中にある構成情報３−１７から１）ホスト論理ボリュームの構成、２）内部論理ボリュームの構成、３）ホスト論理ボリュームと内部論理ボリュームとの対応関係、をアプリケーション・プログラムが取り込む。
このステップ１は、アプリケーション・プログラム３−１２が必要に応じて実施する。例えば、アプリケーション・プログラム３−１２の起動時や、アプリケーション・プログラム３−１２のオペレータが、記憶制御装置３−１の物理構成または論理構成が変わったことを知ったときに行う明示的な操作契機で、である。
【００５７】
ステップ２で、ステップ１でアプリケーション・プログラム３−１２中に取り込まれた記憶制御装置３−１の構成情報を元に、アプリケーション・プログラム３−１２がホスト論理ボリュームと内部論理ボリュームの対応付け切り替えを行う。このステップ２も、アプリケーション・プログラム３−１２が必要に応じて実施する。
【００５８】
まず始めにステップ１での操作について説明する。
【００５９】
ホストコンピュータ３−２中で実行されるアプリケーション・プログラム３−１２が、記憶制御装置３−１が持つ構成情報３−１７を取り込むために、ＡＰＩ（Ａｐｐｌｉｃａｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）３−１８を呼ぶ。ＡＰＩ  ３−１８は、同じくホストコンピュータ３−２中で実行されている制御プログラム３−１９によって提供される。制御プログラム３−１９は、構成情報読出し部３−２０に対して構成情報３−１７を読み出す指示を出す機能や、対応付け切り替え／電源制御部３−１４に対してホスト論理ボリュームと内部論理ボリュームの対応付け切り替え指示を出す機能などを有するプログラムである。
【００６０】
ＨＢＡ  ３−２１とポート３−１５を介して、制御プログラム３−１９は記憶制御装置３−１中にある（説明を残していた）もう一つの種類のホスト論理ボリューム（制御用）３−１１に対してアクセスできる。このホスト論理ボリューム（制御用）３−１１は、アプリケーション・プログラムのデータを格納するのではなく、記憶制御装置３−１の制御を行うために使われる。ここでいう制御とは、構成情報３−１７の読み出す機能や、ホスト論理ボリュームと内部論理ボリュームの対応付け切り替える機能などのことを指す。
【００６１】
この制御用のホスト論理ボリューム（制御用）３−１１の中は、複数の領域に分割されている。そしてこの領域ごとに特定の機能が決められている。例えば、領域３−２２は、構成情報３−１７の読み出し機能のために使われる領域で、ホストコンピュータ３−２側、具体的には制御プログラム３−１９が、領域３−２２に割当てられている論理ブロックを読み出すと、そのブロックの中には構成情報３−１７が含まれている。
【００６２】
また例えば、領域３−２３は、ホスト論理ボリュームと内部論理ボリュームの対応付けを切り替える機能のために使われる領域で、制御プログラム３−１９が領域３−２３に割当てられている論理ブロックに必要な情報を書き込むと、ホスト論理ボリュームと内部論理ボリュームの対応付けを切り替えることが出来る（ステップ２の説明にて後術）。
【００６３】
以下、ステップ１での操作により行われる処理の詳細について開示する。
【００６４】
ホストコンピュータ３−２上で実行されるアプリケーション・プログラム３−１２が、記憶制御装置３−１の構成情報３−１７を読み出すためにＡＰＩ  ３−１８を呼び出す（３−２４）。
【００６５】
同じくホストコンピュータ３−２上で実行される制御プログラム３−１９は、ＡＰＩ  ３−１８が呼ばれたことから、構成情報３−１７の読み出しが指示されたことを認識する。そしてプログラム３−１９は、ホスト論理ボリューム（制御用）３−１１中の構成情報３−１７の読み出し機能のために使われる領域３−２２を読み出すコマンドを、ＨＢＡ  ３−２１およびポート３−１５を介して、ホスト論理ボリューム（制御用）３−１１に対して発行する（３−２５）。
【００６６】
チャネルアダプタ側で受信されたコマンドは、チャネルアダプタ中のマイクロプロセッサにて実行されるプログラムにて処理される。
【００６７】
前記プログラムは、ホストコンピュータ３−２からのコマンドを受信するたびに、図６の示すようなフローチャートに基づいて動作している。まず始めにコマンドの受信を検出する（６−１）。
【００６８】
つぎに前記プログラムは、そのホスト論理ボリュームの種類（制御用／データ用）を調べる（６−２）。これはコマンドに含まれるホスト論理ボリュームの番号を使って、構成情報３−１７中に保持されるホスト論理ボリュームの構成情報を調べることによって行われる。
【００６９】
その結果前記プログラムは、当該のホスト論理ボリュームが、制御用かデータ用かを識別できる（６−３）。ステップ１ではホスト論理ボリューム（制御用）３−１１に対してコマンドが発行されされているので、ホスト論理ボリュームは”制御用”と判断される。
【００７０】
つぎに前記プログラムはつぎにコマンドの種類（読み出し／書き込み／その他）を調べる（６−４）。これはコマンドに含まれるコマンドコードを調べることによって行われる。
【００７１】
その結果前記プログラムは、コマンドの種類は、読み出しか、書き込みか、その他か、を識別できる（６−５）。ステップ１では、ホスト論理ボリューム（制御用）３−１１中の領域３−２２を読み出すコマンドが発行されているので、コマンドの種類は”読み出し”と判断される。
【００７２】
つぎに前記プログラムは、当該ホスト論理ボリューム（制御用）３−１１のどの領域を読み出すのかを調べる（６−６）。これはコマンドに含まれる論理ブロックの番号を調べることによって行われる。
【００７３】
その結果前記プログラムは、行うべき処理を知ることができる（６−７）。ステップ１では、構成情報３−１７の読み出し機能に割当てられている領域３−２２が指定されているので、行うべき処理は、”構成情報３−１７の読み出し”と判断される。そして前記プログラムは、構成情報読み出し処理６−８を行う。
【００７４】
構成情報読み出し処理６−８は、チャネルアダプタ中のマイクロプロセッサにて実行されるプログラムの一部である構成情報読み出し部３−２０により行われる。
【００７５】
構成情報読出し部３−２０は、共有メモリ３−１６中に保持されている構成情報３−１７を読み出す（３−２６）。
【００７６】
構成情報読出し部３−２０は、読み出した構成情報３−１７を領域３−２２を読み出すためのコマンドへの応答として、制御プログラム３−１９に対して、そのコマンドが発行されて経路を通して構成情報３−１７を渡す（３−２７）。
【００７７】
構成情報３−１７を読み出すためのＡＰＩ  ３−１８の呼び出し元であるアプリケーション・プログラム３−１２に対して、制御プログラム３−１９は、記憶制御装置３−１中から取得した構成情報３−１７を渡す（３−２８）。
【００７８】
こうして、アプリケーション・プログラム３−１２は、前述した記憶制御装置３−１中の構成情報３−１７を取得して、１）ホスト論理ボリュームの構成、２）内部論理ボリュームの構成、３）ホスト論理ボリュームと内部論理ボリュームとの対応関係を知ることができる。
【００７９】
次にステップ２での操作により行われる処理の詳細について開示する。
【００８０】
ホストコンピュータ７−２上で実行されるアプリケーション・プログラム７−１２が、記憶制御装置７−１中のホスト論理ボリュームと内部論理ボリュームの対応付けを切り替えるためにＡＰＩ  ７−１８を呼び出す（７−２４）。
【００８１】
同じくホストコンピュータ７−２上で実行される制御プログラム７−１９は、ＡＰＩ  ７−１８が呼ばれたことから、ホスト論理ボリュームと内部論理ボリュームの対応付け切り替えが指示されたことを認識する。そして制御プログラム７−１９は、ホスト論理ボリューム（制御用）７−１１中にあるホスト論理ボリュームと内部論理ボリュームの対応付け切り替えのために使われる領域７−２２に対して、この対応付け切り替えに必要な情報（切り替えの対象とするホスト論理ボリューム番号と新規に対応付ける内部論理ボリュームの番号）を書き込むコマンドを送信する。このコマンドは、ＨＢＡ  ７−２１およびポート７−１５を介して、ホスト論理ボリューム（制御用）７−１１に対して送られる（７−２５）。
【００８２】
チャネルアダプタ側で受信されたコマンドは、チャネルアダプタ中のマイクロプロセッサにて実行されるプログラムにて処理される。
【００８３】
前述のように前記プログラムは、ホストコンピュータ７−２からのコマンドを受信するたびに、図６の示すようなフローチャートに基づいて動作している。まず始めにコマンドの受信を検出する（６−１）。
【００８４】
つぎに前記プログラムは、そのホスト論理ボリュームの種類（制御用／データ用）を調べる（６−２）。これはコマンドに含まれるホスト論理ボリュームの番号を使って、構成情報３−１７中に保持されるホスト論理ボリュームの構成情報を調べることによって行われる。
【００８５】
その結果前記プログラムは、当該のホスト論理ボリュームが、制御用かデータ用かを識別できる（６−３）。ステップ２ではホスト論理ボリューム（制御用）３−１１に対してコマンドが発行されされているので、ホスト論理ボリュームは”制御用”と判断される。
【００８６】
つぎに前記プログラムはつぎにコマンドの種類（読み出し／書き込み／その他）を調べる（６−４）。これはコマンドに含まれるコマンドコードを調べることによって行われる。
【００８７】
その結果前記プログラムは、コマンドの種類は、読み出しか、書き込みか、その他か、を識別できる（６−５）。ステップ２では、ホスト論理ボリューム（制御用）７−１１中の領域７−２２への書き込みコマンドが発行されているので、コマンドの種類は”書き込み”と判断される。
【００８８】
つぎに前記プログラムは、当該ホスト論理ボリューム（制御用）７−１１のどの領域へ書き込むのかを調べる（６−９）。これはコマンドに含まれる論理ブロックの番号を調べることによって行われる。
【００８９】
その結果前記プログラムは、行うべき処理を知ることができる（６−１０）。ステップ２では、ホスト論理ボリュームと内部論理ボリュームの対応付けを切り替える機能に割当てられている領域７−２３が指定されているので、行うべき処理は、”ホスト論理ボリュームと内部論理ボリュームとの対応付け切り替え”と判断される。そして前記プログラムは、ホスト論理ボリュームと内部論理ボリュームとの対応付け切り替え処理６−１１を行う。
【００９０】
ホスト論理ボリュームと内部論理ボリュームとの対応付け切り替え処理６−１１は、チャネルアダプタ中のマイクロプロセッサにて実行されるプログラムの一部である対応付け切り替え制御/電源制御部７−１４により行われる。
【００９１】
対応付け切り替え制御/電源制御部７−１４は、図８に示されるようなフローチャートに基づいて、ホスト論理ボリュームと内部論理ボリュームとの対応付け切り替え処理を行う。
始めに行われる処理は、領域７−２３に書き込まれた情報（切り替えの対象とするホスト論理ボリューム番号と新規に対応付ける内部論理ボリュームの番号）の調査である（８−１）。
【００９２】
つぎに、領域７−２３で指定されたホスト論理ボリュームに現在対応付けられている内部論理ボリュームを含むＥＣＣグループの中に、他のホスト論理ボリュームに対応付けられているされている他の内部論理ボリュームが存在するかを調べる（８−２）。これは図５に例示されるようなＥＣＣグループの番号と、各当該ＥＣＣグループに含まれる内部論理ボリュームの番号を保持するテーブルを検索することによって行われる。
【００９３】
図５に例示されるようなテーブルの検索の結果、前記他の内部論理ボリュームが存在しないと判断されると、前記プログラムは領域７−２３で指定されたホスト論理ボリュームに、現在対応付けられている内部論理ボリュームを含むＥＣＣグループに属するＨＤＤのスピンドルモータを停止させる（８−３）。これはチャネルアダプタ中のマイクロプロセッサにて実行される前述プログラムが、当該のＥＣＣグループに属するＨＤＤに対して、スピンドルモータを停止させるコマンドを送信することによって行われる（７−２６）。前記スピンドルモータを停止させるコマンドは、図２を使って説明すると、ディスクアダプタ２−７が有するポート２−８から、ＨＤＤ２−６を接続しているファイバチャネルのＦＣ−ＡＬやファブリック、またはパラレルＳＣＳＩ、もしくはＡＴＡやＳＡＴＡなどを介して送信される。
【００９４】
ＨＤＤの信頼性指標であるＭＴＢＦを決める要素として、スピンドルモータの回転時間がある。本発明で開示しているようにスピンドルモータを停止させることにより、ＭＴＢＦから推定される障害が発生するまでの時間を延ばすことができる。８−２で得られた結果より、当該のＥＣＣグループ中の内部論理ボリュームに対応付けられているホスト論理ボリュームはないことが分かっているので、ホストコンピュータからのアクセスはないと見なすことができ、当該ＥＣＣグループに属するＨＤＤのスピンドルモータを停止しても、ホストコンピュータの運用には差し支えはない。
【００９５】
図９に例示されるような構造体は、スピンドルモータが回転しているＨＤＤを持つＥＣＣグループの番号と、そのＥＣＣグループにより提供される内部論理ボリュームの番号を保持するために使われる。ポインタで結合される構造体を有しており、この構造体中に保持される番号を持つＥＣＣグループには、回転しているスピンドルモータを持つＨＤＤが存在すると見なされる。
この図９に例示されるような構造体は、共有メモリ７−１６中に構成情報７−１７の一つとして保持される。
【００９６】
前記プログラムが次に行う処理は、構成情報７−１７にある図９のような構造体から、スピンドルモータを停止させたＨＤＤが属するＥＣＣグループに関する情報を削除して、当該ＥＣＣグループには、回転しているスピンドルモータを持つＨＤＤが存在しないように、この構成情報７−１７を更新することである（８−４）。
【００９７】
領域７−２３で指定されたホスト論理ボリュームに現在対応付けられている内部論理ボリュームを示す構造体が、図９中の９−１である。そして前記内部論理ボリュームが属するＥＣＣグループを示す構造体が９−２である。
【００９８】
したがって前記プログラムが図９に例示されるような構造体を更新するために、スピンドルモータを停止させたＨＤＤが属するＥＣＣグループに関する情報を削除する、すなわち破線で囲まれる部分９−３を削除する。これは具体的には、前記プログラムがポインタの張替えを行うことによって行われる。（ポインタ９−４とポインタ９−５を削除して、ポインタ９−６を新規に設定する。）
これにより領域７−２３で指定されたホスト論理ボリュームに現在対応付けられている内部論理ボリュームを含むＥＣＣグループに関する情報が削除され、当該ＥＣＣ中に回転しているスピンドルモータを停止させたＨＤＤが存在しないという状態になる。
【００９９】
次に前記プログラムは、領域７−２３で指定されたホスト論理ボリュームに対して、新規に対応付けるように指定された内部論理ボリュームを含むＥＣＣグループにおいて、その中のＨＤＤのスピンドルモータが回転中か調べる（８−５）。これは構成情報７−１７中に含まれる図１０に例示されるような構造体（説明のために分離したが、図９と同じ構造体）を検索することによって行われる。図１０に例示される構造体中に当該ＥＣＣグループの番号が見つかれば、そのＥＥＣグループ中のＨＤＤのスピンドルモータは回転中である。
【０１００】
もしも領域７−２３で指定されたホスト論理ボリュームに対して、新規に対応付けるように指定された内部論理ボリュームを含むＥＣＣグループ中のＨＤＤのスピンドルモータが回転していないと判断されると、前記プログラムは領域７−２３で指定されたホスト論理ボリュームに、現在対応付けられている内部論理ボリュームを含むＥＣＣグループに属するＨＤＤのスピンドルモータを回転させる（８−６）。
【０１０１】
これは前述でＨＤＤのスピンドルモータを停止させた場合と同様に、チャネルアダプタ中のマイクロプロセッサにて実行される前述プログラムが、当該のＥＣＣグループに属するＨＤＤに対して、スピンドルモータを回転させるコマンドを送信することによって行われる（７−２６）。前記スピンドルモータを停止させるコマンドは、図２を使って説明すると、ディスクアダプタ２−７が有するポート２−８から、ＨＤＤ２−６を接続しているファイバチャネルのＦＣ−ＡＬやファブリック、またはパラレルＳＣＳＩ、もしくはＡＴＡやＳＡＴＡなどを介して送信される。
【０１０２】
前記プログラムが次に行う処理は、構成情報７−１７にある図１０に例示するのような構造体から、スピンドルモータを回転させたＨＤＤが属するＥＣＣグループに関する情報を追加して、当該ＥＣＣグループに回転しているスピンドルモータを持つＨＤＤが存在するように、この構成情報７−１７を更新することである（８−７）。
【０１０３】
図１０において破線で囲まれる部分１０−１が、新たにスピンドルモータを回転させたＥＣＣグループと、領域７−２３で指定されたホスト論理ボリュームに対して、新規に対応付けるように指定された内部論理ボリュームを示す構造だとすると、前記プログラムは現在のポインタ１０−２を削除し、新たにポインタ１０−３とポインタ１０−４を設定する。
これにより破線で囲まれた部分が、図１０に例示するようなのスピンドルモータが回転しているＨＤＤを持つＥＣＣグループの番号と、そのＥＣＣグループにより提供される内部論理ボリュームの番号を保持する構造体に組み込まれ、以降当該ＥＣＣグループ中のＨＤＤのスピンドルモータは回転しているものと見なされる。
【０１０４】
そしてつぎに前記プログラムが次に行う処理は、対応付け切り替え部７−１３にて、領域７−２３で指定されたホスト論理ボリュームに対して、同じく領域７−２３で指定された内部論理ボリュームを新規に対応付けることである（７−２８）。
【０１０５】
これは図４に例示されるようなホスト論理ボリュームの番号と、そのホスト論理ボリュームに対応付けられた内部論理ボリュームの番号との対応を保持しておくテーブルを更新することで行われる（８−８）。
【０１０６】
前記にて詳細を開示したように、ホストコンピュータが認識しているホスト論理ボリュームの構成を何も変更せずに、記憶制御装置内で前記ホスト論理ボリュームの構成と内部論理ボリュームの対応付けを変更させている。このようにすると、ホストコンピュータ側でホスト論理ボリュームの再認識操作を行わずに、内容の異なる複数の（内部）論理ボリュームを、ホストコンピュータ側から同じ識別子を持つホスト論理ボリュームを介して、アクセスできるようになる。
【０１０７】
二つめの方法は、ホストコンピュータ３−２中のアプリケーション・プログラム３−１２に代わって、ホストコンピュータ３−２のオペレータが、直接制御プログラム３−１９のＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）３−２９を操作して、ホスト論理ボリュームと内部論理ボリュームとの対応付けを変更する方法である。
【０１０８】
このＵＩ  ３−２９を介してホストコンピュータ３−２のオペレータは、アプリケーション・プログラムが、ＡＰＩ  ３−１８を介して与えていた情報、すなわち１）切り替えの対象とするホスト論理ボリューム番号、２）新規に対応付ける内部論理ボリュームの番号、を指定することができる。
【０１０９】
また、このＵＩ  ３−２９を介してホストコンピュータ３−２のオペレータは、アプリケーション・プログラムが、ＡＰＩ  ３−１８を介して得ていた情報、すなわち１）ホスト論理ボリュームの構成、２）内部論理ボリュームの構成、３）ホスト論理ボリュームと内部論理ボリュームとの対応関係、を取得することもできる。
【０１１０】
二つめの方法では、制御プログラム３−１９に対する操作が、ＡＰＩ  ３−１８からＵＩ  ３−２９に代わっただけで、制御プログラム３−１９とホスト論理ボリューム（制御用）３−１１との間のインタフェースは全く同じである。したがって、前述で開示してきたステップ１での記憶制御装置３−１中にある構成情報３−１７の取得、ステップ２でのホスト論理ボリュームと内部論理ボリュームの対応付け切り替えについての、記憶制御装置３−１内のチャネルアダプタ上でのプログラムの動作、およびディスクアダプタ上でのプログラムの動作は、同じである。
【０１１１】
次に二つ目の実施例を説明する。
【０１１２】
既に説明した実施例との違いは、二つある。
【０１１３】
一つ目は、本実施例では図７にあるようなホスト論理ボリューム（制御用）７−１１を使わないことである。論理ボリューム（制御用）７−１１の代わりに、記憶制御装置１１−１にて提供される制御用ＡＰＩ  １１−１１を使用する。この制御用ＡＰＩ  １１−１１は、記憶制御装置１１−１に搭載されるプログラムが提供する。このプログラムは、１）記憶制御装置１１−１に搭載されるチャネルアダプタ中、あるいは２）記憶制御装置１１−１に搭載されるサービスプロセッサ中、で動作する。
【０１１４】
二つ目は、記憶制御装置１１−１とホストコンピュータ１１−２との間での制御情報の転送経路である。既に説明した実施例では、制御プログラム７−１９はＨＢＡ  ７−２１とポート７−１５を通して、ホスト論理ボリューム（制御用）に対して、構成情報の読み出し、および制御情報の書き込みを行っていた。一方、実施例２では、制御プログラム１１−１９はＨＢＡ  １１−２１ではなくＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）  １１−２４と記憶制御装置１１−１側のポート１１−２５を通して、制御ＡＰＩ  １１−１１を呼び、構成情報の読み出し、および制御情報の書き込みを行う。
【０１１５】
前述の二つの違いはあるが、構成情報１１−２０の読み出し方や、ホスト論理ボリュームと内部論理ボリュームの対応付け切り替え方１１−１４についての基本的な処理は、既に説明した実施例と同様である。
【０１１６】
次に三つ目の実施例を開示する。
【０１１７】
既に説明した実施例では、図２のＥＣＣグループ２−１２に示したように数台のＨＤＤを組にしてＥＣＣグループを作り、ＥＣＣグループにより作られる記憶領域を、一つあるいは複数の領域に区切って内部論理ボリュームを作るとしている。そしてこの内部論理ボリュームをホスト論理ボリュームに対応付けている。本実施例では、ＥＣＣグループにより提供される内部論理ボリュームを使わずに、ＥＣＣグループの代わりに１台のＨＤＤを使う。そして１台のＨＤＤにより作られる記憶領域を、一つあるいは複数の領域に区切って内部論理ボリュームが作られる。そしてこの内部論理ボリュームをホスト論理ボリュームに対応付ける。
【０１１８】
ＥＣＣグループの代わりに、１台のＨＤＤを使うこと以外は、既に説明した実施例と同様である。
【０１１９】
上記いずれの実施例も、ホストコンピュータが処理するデータを保管しておく記憶制御装置を、データのバックアップ／リストアに利用する場合、又はアーカイブとして利用する場合に有効である。
【０１２０】
なお、本発明の実施の形態は、Ｓ−ＡＴＡを接続インタフェースとするＨＤＤを利用して説明したが、本発明は、この場合に限られず、他のＨＤＤを利用した記憶制御装置に対しても適用されるものである。
【０１２１】
以上、本実施の形態について説明したが、上記実施の形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明はその趣旨を逸脱することなく変更、改良され得るとともに、本発明にはその等価物等も含まれる。
【図面の簡単な説明】
【０１２２】
【図１】本発明の実施の形態が想定する記憶制御装置のハードウェア構成例である。
【図２】本発明の実施の形態が想定する記憶制御装置のハードウェア構成と論理的構成との対応の一例である。
【図３】本発明の実施の形態が想定する記憶制御装置の論理的構成が、構成情報を読み出す方法、についての一例である。
【図４】本発明の実施の形態の記憶制御装置によって保持され、ホスト論理ボリュームの番号と内部論理ボリュームの番号との対応付けを管理するために用いられる構成情報テーブルの一例である。
【図５】本発明の実施の形態の記憶制御装置によって保持され、ＥＣＣグループ番号と当該ＥＣＣグループにより提供される内部論理ボリュームの番号との対応付けを管理するために用いられる構成情報テーブルの一例である。
【図６】本発明の実施の形態のチャネルアダプタ中で動作するプログラムのフローチャートの一例である。
【図７】本発明の実施の形態が想定する記憶制御装置が、ホスト論理ボリュームと内部論理ボリュームの対応付けを変更する方法、についての一例である。
【図８】本発明の実施の形態のチャネルアダプタ中で動作するプログラムが、ホスト論理ボリュームと内部論理ボリュームの対応付けを変更する場合のフローチャートの一例である。
【図９】本発明の実施の形態の記憶制御装置によって保持され、スピンドルモータが回転しているＨＤＤを含むＥＣＣグループの番号と、当該ＥＣＣグループに含まれる内部論理ボリュームの番号と、の対応付けを管理するために用いられる構成情報テーブルの一例である。
【図１０】本発明の実施の形態の記憶制御装置によって保持され、スピンドルモータが回転しているＨＤＤを含むＥＣＣグループの番号と、当該ＥＣＣグループに含まれる内部論理ボリュームの番号と、の対応付けを管理するために用いられる構成情報テーブルの一例である。
【図１１】本発明の実施の形態が想定する記憶制御装置の論理的構成が、構成情報を読み出す方法、についての一例である。
【符号の説明】
【０１２３】
１−２・・・ホストコンピュータ
１−１・・・記憶制御装置
１−３・・・チャネルアダプタ
１−６・・・ハードディスクドライブ
１−７・・・ディスクアダプタ
１−９・・・接続部
１−１０・・・共有メモリ
１−１１・・・キャッシュメモリ
【図１】
2005190036.tif 000003
【図２】
2005190036.tif 000004
【図３】
2005190036.tif 000005
【図４】
2005190036.tif 000006
【図５】
2005190036.tif 000007
【図６】
2005190036.tif 000008
【図７】
2005190036.tif 000009
【図８】
2005190036.tif 000010
【図９】
2005190036.tif 000011
【図１０】
2005190036.tif 000012
【図１１】
2005190036.tif 000013