(57)【要約】【課題】  本発明は、操作性を格段的に向上させ得るディスクアレイ装置を提案するものである。【解決手段】  データを移動させる際の移動元となる移動元ボリュームを有し、当該移動元ボリュームから、移動先となる他の移動先ボリュームに前記データを移動させるディスクアレイ装置であって、外部操作によりデータ移動終了日時の指定があったときに、前記データ移動終了日時から所定時間ごとに遡った時間帯ごとにおける前記移動元ボリュームへのアクセス頻度を算出するアクセス頻度算出部と、前記アクセス頻度算出部により算出されたアクセス頻度に基づいて、前記時間帯ごとにおける予想データ移動量を算出する予想データ移動量算出部と、前記予想データ移動量算出部により算出された予想データ移動量に基づいて、データ移動開始日時を算出するデータ移動開始日時算出部とを備えるようにした。【選択図】        図１４
2007072988.tif 000002
【特許請求の範囲】
【請求項１】
データを移動させる際の移動元となる移動元ボリュームを有し、当該移動元ボリュームから、移動先となる他の移動先ボリュームに前記データを移動させるディスクアレイ装置であって、
外部操作によりデータ移動終了日時の指定があったときに、前記データ移動終了日時から所定時間ごとに遡った時間帯ごとにおける前記移動元ボリュームへのアクセス頻度を算出するアクセス頻度算出部と、
前記アクセス頻度算出部により算出されたアクセス頻度に基づいて、前記時間帯ごとにおける予想データ移動量を算出する予想データ移動量算出部と、
前記予想データ移動量算出部により算出された予想データ移動量に基づいて、データ移動開始日時を算出するデータ移動開始日時算出部と
を備えることを特徴とするディスクアレイ装置。
【請求項２】
前記データ移動開始日時算出部は、
前記時間帯ごとにおける予想データ移動量の積算値が前記移動元のボリュームの容量に比して大きくなったときの時間帯の始めの時間をデータ移動開始日時として算出する
ことを特徴とする請求項１に記載のディスクアレイ装置。
【請求項３】
前記データ移動開始日時算出部により算出されたデータ移動開始日時が経過したときに、前記移動元ボリュームから前記他の移動先ボリュームにデータを移動させるデータ移動部
を備え、
前記データ移動部は、
外部操作によりデータ移動ペースの指定があったときに、データ移動ペースに基づいて前記移動元ボリュームから前記他の移動先ボリュームにデータを移動させ、所定の時間帯ごとに、前記時間帯までの予想データ移動量の積算値と、前記時間帯までの実際のデータ移動量を比較して、前記予想データ移動量の積算値と前記時間帯までの実際のデータ移動量との差分に応じて前記データ移動ペースを変更する
ことを特徴とする請求項１に記載のディスクアレイ装置。
【請求項４】
前記データ移動部は、
前記予想データ移動量の積算値と前記時間帯までの実際のデータ移動量とが同一である場合には、前記外部操作により指定された前記データ移動ペースのまま、前記移動元ボリュームから前記他の移動先ボリュームにデータを移動させる
ことを特徴とする請求項３に記載のディスクアレイ装置。
【請求項５】
前記移動元ボリュームは、
高価なハードディスクドライブに記憶され、
前記他の移動先ボリュームは、
安価なハードディスクドライブに記憶される
ことを特徴とする請求項１に記載のディスクアレイ装置。
【請求項６】
データを移動させる際の移動元となる移動元ボリュームを有し、当該移動元ボリュームから、移動先となる他の移動先ボリュームに前記データを移動させるディスクアレイ装置のデータ移動方法であって、
外部操作によりデータ移動終了日時の指定があったときに、前記データ移動終了日時から所定時間ごとに遡った時間帯ごとにおける前記移動元ボリュームへのアクセス頻度を算出する第１のステップと、
前記第１のステップにおいて算出したアクセス頻度に基づいて、前記時間帯ごとにおける予想データ移動量を算出する第２のステップと、
前記第２のステップにおいて算出した予想データ移動量に基づいて、データ移動開始日時を算出する第３のステップと
を備えることを特徴とするディスクアレイ装置のデータ移動方法。
【請求項７】
前記第３のステップでは、
前記時間帯ごとにおける予想データ移動量の積算値が前記移動元のボリュームの容量に比して大きくなったときの時間帯の始めの時間をデータ移動開始日時として算出する
ことを特徴とする請求項６に記載のディスクアレイ装置のデータ移動方法。
【請求項８】
前記第３のステップにおいて算出したデータ移動開始日時が経過したときに、前記移動元ボリュームから前記他の移動先ボリュームにデータを移動させる第４のステップ
を備え、
前記第４のステップでは、
外部操作によりデータ移動ペースの指定があったときに、データ移動ペースに基づいて前記移動元ボリュームから前記他の移動先ボリュームにデータを移動させ、所定の時間帯ごとに、前記時間帯までの予想データ移動量の積算値と、前記時間帯までの実際のデータ移動量を比較して、前記予想データ移動量の積算値と前記時間帯までの実際のデータ移動量との差分に応じて前記データ移動ペースを変更する
ことを特徴とする請求項６に記載のディスクアレイ装置のデータ移動方法。
【請求項９】
前記第４のステップでは、
前記予想データ移動量の積算値と前記時間帯までの実際のデータ移動量とが同一である場合には、前記外部操作により指定された前記データ移動ペースのまま、前記移動元ボリュームから前記他の移動先ボリュームにデータを移動させる
ことを特徴とする請求項９に記載のディスクアレイ装置のデータ移動方法。
【請求項１０】
データを移動させる際の移動元となる移動元ボリュームを有し、当該移動元ボリュームから、移動先となる他の移動先ボリュームに前記データを移動させるディスクアレイ装置に対して、
外部操作によりデータ移動終了日時の指定があったときに、前記データ移動終了日時から所定時間ごとに遡った時間帯ごとにおける前記移動元ボリュームへのアクセス頻度を算出する第１のステップと、
前記第１のステップにおいて算出したアクセス頻度に基づいて、前記時間帯ごとにおける予想データ移動量を算出する第２のステップと、
前記第２のステップにおいて算出した予想データ移動量に基づいて、データ移動開始日時を算出する第３のステップと
を実行させることを特徴とするプログラム。
【請求項１１】
前記第３のステップでは、
前記時間帯ごとにおける予想データ移動量の積算値が前記移動元のボリュームの容量に比して大きくなったときの時間帯の始めの時間をデータ移動開始日時として算出する
ことを特徴とする請求項１０に記載のプログラム。
【請求項１２】
前記第３のステップにおいて算出したデータ移動開始日時が経過したときに、前記移動元ボリュームから前記他の移動先ボリュームにデータを移動させる第４のステップ
を備え、
前記第４のステップでは、
外部操作によりデータ移動ペースの指定があったときに、データ移動ペースに基づいて前記移動元ボリュームから前記他の移動先ボリュームにデータを移動させ、所定の時間帯ごとに、前記時間帯までの予想データ移動量の積算値と、前記時間帯までの実際のデータ移動量を比較して、前記予想データ移動量の積算値と前記時間帯までの実際のデータ移動量との差分に応じて前記データ移動ペースを変更する
ことを特徴とする請求項１０に記載のプログラム。
【請求項１３】
前記第４のステップでは、
前記予想データ移動量の積算値と前記時間帯までの実際のデータ移動量とが同一である場合には、前記外部操作により指定された前記データ移動ペースのまま、前記移動元ボリュームから前記他の移動先ボリュームにデータを移動させる
ことを特徴とする請求項１２に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスクアレイ装置及びデータ移動方法並びにプログラムに関し、例えば、複数のディスクアレイ装置間において、データを移動させるストレージシステムに適用して好適なものである。
【背景技術】
【０００２】
近年、企業等で取り扱うデータの爆発的増大に伴い、複数のディスクアレイ装置をＳＡＮ（Storage Area Network）等により相互に接続することによって、大容量のデータを記憶するストレージシステムが広く普及している。
【０００３】
このようなストレージシステムでは、複数のディスクアレイ装置を管理する情報処理装置によって、各ディスクアレイ装置におけるデータ配置の最適化を行うといったことがなされている。
【０００４】
例えば、データ配置の最適化を行うストレージシステムとして、情報処理装置に各ディスクアレイ装置の製造元情報及び使用状況情報を取得させて、当該製造元情報及び使用状況情報に基づいて、個々のディスクアレイ装置内の記憶領域間、及び各ディスクアレイ装置の記憶領域間におけるデータ移動を行うストレージシステムが提案されている（例えば、特許文献１参照）。
【特許文献１】特開２００３−１４０８３６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、さらに近年では、ストレージシステムについて、データライフサイクルマネージメント（Data Lifecycle Management:DLCM）という概念が提唱されている。このデータライフサイクルマネージメントでは、データの価値が時間を経るにつれて変化するという事実に着目して、データの効率的な保存管理を行うというものである。
【０００６】
このデータライフサイクルマネージメントでは、例えば、価値が低下したデータを高価な記憶デバイスに記憶させておくのは記憶資源の浪費であるため、このような価値が低下したデータを、信頼性、応答性及び耐久性について高価な記憶デバイスに劣る安価な記憶デバイスに移動させるということが行われている。
【０００７】
このような、ストレージシステムにおいて、例えば、高価な記憶デバイスの記憶領域に記憶されているデータを、週ごと、月ごと等の一定期間ごとの指定された日時に安価な記憶デバイスに移動させるような場合には、できるだけその指定された日時においてデータの移動を終了させることが望ましい。
【０００８】
しかしながら、指定された日時においてデータの移動を終了させるような場合には、データ移動時における転送速度等の要因により、移動開始時刻を推測することが難しいという問題があり、この結果、指定された時刻においてデータの移動を終了させることが困難となっている。
【０００９】
このように、指定された日時においてデータの移動を終了させることが困難であるため、ユーザが移動終了時間を推測して移動開始時刻を設定しなければならず、操作が煩雑となると共に、データの移動を終了させることができなかった場合を想定して、予備の記憶領域を高価な記憶デバイス内に用意しておかなければならず、高価な記憶デバイスを効率的に使用することができないという問題がある。
【００１０】
本発明は以上の点を考慮してなされたもので、操作性を格段的に向上させ得るディスクアレイ装置及びデータ移動方法並びにプログラムを提案するものである。
【課題を解決するための手段】
【００１１】
かかる課題を解決するために本発明においては、データを移動させる際の移動元となる移動元ボリュームを有し、当該移動元ボリュームから、移動先となる他の移動先ボリュームに前記データを移動させるディスクアレイ装置であって、外部操作によりデータ移動終了日時の指定があったときに、前記データ移動終了日時から所定時間ごとに遡った時間帯ごとにおける前記移動元ボリュームへのアクセス頻度を算出するアクセス頻度算出部と、前記アクセス頻度算出部により算出されたアクセス頻度に基づいて、前記時間帯ごとにおける予想データ移動量を算出する予想データ移動量算出部と、前記予想データ移動量算出部により算出された予想データ移動量に基づいて、データ移動開始日時を算出するデータ移動開始日時算出部とを備えるようにした。
【００１２】
従って、ユーザがデータ移動終了日時を推測してデータ移動開始日時を設定することなく、データ移動終了日時を指定するだけで、当該データ移動終了日時にデータ移動を終了するようなデータ移動開始日時を設定することができる。
【００１３】
また、本発明においては、データを移動させる際の移動元となる移動元ボリュームを有し、当該移動元ボリュームから、移動先となる他の移動先ボリュームに前記データを移動させるディスクアレイ装置のデータ移動方法であって、外部操作によりデータ移動終了日時の指定があったときに、前記データ移動終了日時から所定時間ごとに遡った時間帯ごとにおける前記移動元ボリュームへのアクセス頻度を算出する第１のステップと、前記第１のステップにおいて算出したアクセス頻度に基づいて、前記時間帯ごとにおける予想データ移動量を算出する第２のステップと、前記第２のステップにおいて算出した予想データ移動量に基づいて、データ移動開始日時を算出する第３のステップとを備えるようにした。
【００１４】
従って、ユーザがデータ移動終了日時を推測してデータ移動開始日時を設定することなく、データ移動終了日時を指定するだけで、当該データ移動終了日時にデータ移動を終了するようなデータ移動開始日時を設定することができる。
【００１５】
さらに、本発明においては、データを移動させる際の移動元となる移動元ボリュームを有し、当該移動元ボリュームから、移動先となる他の移動先ボリュームに前記データを移動させるディスクアレイ装置に対して、プログラムによって、外部操作によりデータ移動終了日時の指定があったときに、前記データ移動終了日時から所定時間ごとに遡った時間帯ごとにおける前記移動元ボリュームへのアクセス頻度を算出する第１のステップと、前記第１のステップにおいて算出したアクセス頻度に基づいて、前記時間帯ごとにおける予想データ移動量を算出する第２のステップと、前記第２のステップにおいて算出した予想データ移動量に基づいて、データ移動開始日時を算出する第３のステップとを実行させるようにした。
【００１６】
従って、ユーザがデータ移動終了日時を推測してデータ移動開始日時を設定することなく、データ移動終了日時を指定するだけで、当該データ移動終了日時にデータ移動を終了するようなデータ移動開始日時を設定することができる。
【発明の効果】
【００１７】
本発明によれば、外部操作によりデータ移動終了日時の指定があったときに、前記データ移動終了日時から所定時間ごとに遡った時間帯ごとにおける前記移動元ボリュームへのアクセス頻度を算出し、このアクセス頻度に基づいて、前記時間帯ごとにおける予想データ移動量を算出して、かかる予想データ移動量に基づいて、データ移動開始日時を算出することにより、ユーザがデータ移動終了日時を推測してデータ移動開始日時を設定することなく、データ移動終了日時を指定するだけで、当該データ移動終了日時にデータ移動を終了するようなデータ移動開始日時を設定することができ、操作性を格段的に向上させ得るディスクアレイ装置及びデータ移動方法並びにプログラムを実現できる。
【発明を実施するための最良の形態】
【００１８】
以下図面について、本発明の一実施の形態を詳述する。
【００１９】
（１）本実施の形態によるストレージシステムの構成
図１は、本実施の形態によるストレージシステム１のシステム構成を示している。このストレージシステム１は、ホストシステム２と、第１の記憶制御装置３と、第２の記憶制御装置４とを備えて構成されており、ホストシステム２からのコマンドに応じてデータ処理を行うようになされている。第１の記憶制御装置３及び第２の記憶制御装置４は、第１の通信ネットワーク５を介して相互接続されており、それぞれが共に同一サイトに設置されていてもよく、或いはそれぞれが異なるサイトに設置されていてもよい。
【００２０】
ホストシステム２は、例えば、ＣＰＵ（Central Processing Unit）やメモリ等を備えた上位装置であり、具体的には、パーソナルコンピュータ、ワークステーション、メインフレーム等である。更に、ホストシステム２には、例えば、アプリケーションプログラム２Ａと、第２の通信ネットワーク６を介して第１の記憶制御装置３にアクセスするためのポート２Ｂとが実装されている。アプリケーションプログラム２Ａとしては、例えば、第１の記憶制御装置３が提供する記憶資源を利用するデータベース等のアプリケーションプログラムの他、第１の記憶制御装置３の記憶資源を管理する管理用のアプリケーションプログラム等がある。
【００２１】
ホストシステム２は、第２の通信ネットワーク６を介して、第１の記憶制御装置３に相互接続されている。通信ネットワーク６としては、例えば、ＬＡＮ（Local Area Network）、ＳＡＮ（Storage Area Network）、インターネット、専用回線、公衆回線等を適宜用いることができる。ＬＡＮを介するデータ通信は、例えば、ＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）プロトコルに従って行われる。ホストシステム２がＬＡＮを介して第１の記憶制御装置３に接続される場合、ホストシステム２は、ファイル名を指定してファイル単位でのデータ入出力を要求する。一方、ホストシステム２がＳＡＮを介して第１の記憶制御装置３に接続される場合、ホストシステム２は、ファイバチャネルプロトコルに従って、複数のディスクドライブにより提供される記憶資源のデータ管理単位であるブロックを単位として、データ入出力を要求する。第２の通信ネットワーク６がＬＡＮである場合、ポート２Ｂは、例えば、ＬＡＮ対応のネットワークカードである。第２の通信ネットワーク６がＳＡＮの場合、ポート２Ｂは、例えば、ＨＢＡ（Host Bus Adapter）である。
【００２２】
第１の記憶制御装置３は、複数のチャネルアダプタ（ＣＨＡ）１１と、複数のディスクアダプタ（ＤＫＡ）１２と、管理端末（ＳＶＰ）１３と、キャッシュメモリ（ＣＭ）１４と、共有メモリ（ＳＭ）１５と、相互結合網１６とを備えている。
【００２３】
各々のチャネルアダプタ１１は、例えば、それぞれマイクロプロセッサ（Micro Processor）や内部メモリ等を備えたマイクロコンピュータシステムとして構成され、ホストシステム２との間のデータ通信を行うためのポート１１Ａを備えている。チャネルアダプタ１１は、ホストシステム２から受信した各種コマンドを解釈して実行する。チャネルアダプタ１１には、固有のネットワークアドレス（例えば、ＩＰアドレスやＷＷＮ（World Wide Name））が割り当てられている。各々のチャネルアダプタ１１は、それぞれが個別にＮＡＳ（Network Attached Storage）として機能することができる。複数のホストシステム２が存在する場合、各々のチャネルアダプタ１１は、各々のホストシステム２からの要求をそれぞれ個別に受け付けることができる。
【００２４】
各々のディスクアダプタ１２は、記憶装置２０の記憶デバイス２１との間のデータ授受を行う。ディスクアダプタ１２は、記憶デバイス２１に接続するためのポート１２Ａを備えている。ディスクアダプタ１２は、チャネルアダプタ１１がホストシステム２から受信したデータを、ホストシステム２からのライトコマンドに基づいて、記憶デバイス２１の所定のアドレスに書き込む他、ホストシステム２からのリードコマンドに基づいて、記憶デバイス２１の所定のアドレスからデータを読み出し、ホストシステム２に送信する。ディスクアダプタ１２は、記憶デバイス２１にデータを読み書きする場合、論理アドレスを物理アドレスに変換する。ディスクアダプタ１２は、記憶デバイス２１がＲＡＩＤ（Redundant Arrays of Independent Inexpensive Disks）やＥＣＣ（Error Correcting Code）グループに従って管理されている場合は、ＲＡＩＤ構成やＥＣＣグループ構成に応じたデータアクセスを行う。
【００２５】
管理端末１３は、第１の記憶制御装置３を保守又は管理するための端末装置である。保守員は、管理端末１３を操作することにより、例えば、記憶デバイス２１上に定義される論理デバイスの設定、記憶デバイス２１の増設又は減設、ＲＡＩＤ構成やＥＣＣグループ構成の設定変更（例えば、ＲＡＩＤレベル５からＲＡＩＤレベル１への変更）等を行う。
【００２６】
キャッシュメモリ１４は、ホストシステム２から受信したデータや、記憶デバイス２１から読み出したデータを一時的に記憶するものである。共有メモリ１５には、システム管理に必要な各種の制御情報等が格納される。
【００２７】
相互結合網１６は、チャネルアダプタ１１，ディスクアダプタ１２，管理端末１３，キャッシュメモリ１４，共有メモリ１５を相互に接続する。相互結合網１６は、例えば、高速スイッチング動作によってデータ伝送を行う超高速クロスバスイッチ等のような高速バスとして構成することができる。
【００２８】
記憶装置２０は、複数の記憶デバイス２１を備えている。この記憶デバイス２１としては、例えば、ＳＣＳＩ（Small Computer System Interface）ディスクドライブやファイバチャネルディスクドライブ等の高価なディスクドライブが用いられている。記憶装置２０は、複数の記憶デバイス２１をアレイ状に配設して構成されるもので、記憶デバイス２１群が提供する物理的な記憶領域上には、少なくとも１つ以上の論理ユニット（Logical Unit:LU）（論理ボリューム）が形成され、この論理ユニットがホストシステム２に提供される。
【００２９】
尚、同図では、ホストシステム２は、第２の通信ネットワーク６を介して第１の記憶制御装置３のみに接続される例を示しているが、ホストシステム２と第２の記憶制御装置４とを第１の通信ネットワーク５を介して相互接続してもよい。第１の通信ネットワーク５は、例えば、ＳＡＮ、ＬＡＮ、インターネット、専用回線、公衆回線等である。
【００３０】
一方、第２の記憶制御装置４は、複数のチャネルアダプタ（ＣＨＡ）３１と、複数のディスクアダプタ（ＤＫＡ）３２と、管理端末（ＳＶＰ）３３と、キャッシュメモリ（ＣＭ）３４と、共有メモリ（ＳＭ）３５と、相互結合網３６とを備えている。
【００３１】
各々のチャネルアダプタ３１は、第１の通信ネットワーク５に接続するポート３１Ａを備える。また、各々のディスクアダプタ（ＤＫＡ）３２は、記憶デバイス４１に接続するためのポート４１Ａを備える。記憶装置４０は、複数の記憶デバイス４１を備えている。この記憶デバイス４１としては、例えば、ＳＡＴＡ（Serial AT Attachment）ディスクや光ディスク等の安価なディスクドライブが用いられている。なお、第２の記憶制御装置４は、第１の記憶制御装置３と同様の構成を備えているので、その詳細な説明は省略する。
【００３２】
ここで、共有メモリ１５は、図２に示すように、その内部に、内部タイマ５０、リードＩ／Ｏ（Input/Output）カウンタ５１、ライトＩ／Ｏカウンタ５２、データ移動ペーステーブル６０、Ｉ／Ｏカウントテーブル７０、データ移動量テーブル８０、日時テーブル９０、論理ユニット情報データベース１１０、データ移動量情報データベース１２０、Ｉ／Ｏカウント情報データベース１４０、及びデータ移動開始日時情報データベース１５０を備えている。
【００３３】
内部タイマ５０は、現在日時や、データ移動開始日時、データ移動終了日時等を計測することができるようになされている。また、リードＩ／Ｏカウンタ５１は、論理ユニット又はＥＣＣグループに対するリードＩ／Ｏを計測することができるようになされている。さらに、ライトＩ／Ｏカウンタ５２は、論理ユニット又はＥＣＣグループに対するライトＩ／Ｏを計測することができるようになされている。
【００３４】
データ移動ペーステーブル６０には、図３に示すように、１時間あたりにデータを移動させるペースを示すデータ移動ペース記憶欄６１、及び当該データ移動ペース記憶欄６１に対応してデータ移動ペースコード記憶欄６２が設けられており、１時間あたりのデータ移動ペースをデータ移動ペースコードに変換することができるようになされている。
【００３５】
Ｉ／Ｏカウンタテーブル７０には、図４に示すように、論理ユニット又はＥＣＣグループに対する１時間あたりのリードＩ／Ｏ及びライトＩ／Ｏの回数を示すＩ／Ｏカウント記憶欄７１、及び当該Ｉ／Ｏカウント記憶欄７１に対応してＩ／Ｏカウントコード記憶欄７２が設けられており、論理ユニット又はＥＣＣグループに対する１時間あたりのリードＩ／Ｏカウント、及びライトＩ／ＯカウントをＩ／Ｏカウントコードに変換することができるようになされている。
【００３６】
データ移動量テーブル８０には、図５に示すように、データを出力する論理ユニット（以下、これを移動元論理ユニットと呼ぶ）から、データを入力する論理ユニット（以下、これを移動先論理ユニットと呼ぶ）にデータを移動するときの１時間あたりのデータ移動量を示すデータ移動量記憶欄８１、及び当該データ移動量記憶欄８１に対応してデータ移動量コード記憶欄８２が設けられており、１時間あたりのデータ移動量をデータ移動量コードに変換することができるようになされている。
【００３７】
日時テーブル９０には、図６に示すように、開始日時の日及び時刻を示す開始日時記憶欄９１及び終了日時の日及び時刻を示す終了日時記憶欄９２が設けられている。
【００３８】
開始日時記憶欄９１には、開始日時の日を示す開始日記憶欄９３、及び当該開始日記憶欄９３に対応して開始日コード記憶欄９４が設けられていると共に、開始日時の時刻を示す開始時刻記憶欄９５、及び当該開始時刻記憶欄９５に対応して開始時刻コード記憶欄９６が設けられており、開始日及び開始時刻を開始日コード及び開始時刻コードに変換することができるようになされている。
【００３９】
終了日時記憶欄９２には、終了日時の日を示す終了日記憶欄９７、及び当該終了日記憶欄９７に対応して終了日コード記憶欄９８が設けられていると共に、終了日時の時刻を示す終了時刻記憶欄９９、及び当該終了時刻記憶欄９９に対応して終了時刻コード記憶欄１００が設けられており、終了日及び終了時刻を終了日コード及び終了時刻コードに変換することができるようになされている。
【００４０】
論理ユニット情報データベース１１０は、図７に示すように、この記憶装置２０の記憶デバイス２１の記憶領域上に提供される論理ユニットごとに、論理ユニット情報１１１が格納されることにより構成されている。
【００４１】
この論理ユニット情報１１１は、論理ユニットの番号である論理ユニット番号１１２、当該論理ユニットの属するＥＣＣグループの番号であるＥＣＣグループ番号１１３及び論理ユニットのデータ容量であるデータ容量１１４が設けられており、論理ユニット番号１１２、ＥＣＣグループ番号１１３及びデータ容量１１４を関連づけて論理ユニット情報データベース１１０で管理するようになされている。
【００４２】
データ移動量情報データベース１２０は、データ移動量情報１２１が同一の移動元論理ユニット番号及び移動先論理ユニット番号ごとに格納されることにより構成されている。
【００４３】
このデータ移動量情報１２１は、１時間あたりのデータ移動量を示すデータ移動量１２２、当該データ移動量１２２に対応するデータ移動量コード１２３、１時間あたりにデータを移動させる時間を示すデータ移動ペースに対応するデータ移動ペースコード１２４、データを入力する論理ユニットの属するＥＣＣグループ（以下、これを移動先ＥＣＣグループと呼ぶ）のリードＩ／Ｏカウントに対応するリードＩ／Ｏカウントコードを示す移動先ＥＣＣグループのリードＩ／Ｏカウントコード１２５、データを出力する論理ユニットの属するＥＣＣグループ（以下、これを移動元ＥＣＣグループと呼ぶ）のリードＩ／Ｏカウントに対応するリードＩ／Ｏカウントコードを示す移動元ＥＣＣグループのリードＩ／Ｏカウントコード１２６、移動元論理ユニットのライトＩ／Ｏカウントに対応するライトＩ／Ｏカウントコードを示す移動元論理ユニットのライトＩ／Ｏカウントコード１２７、移動元論理ユニット番号１２８、移動元ＥＣＣグループ番号１２９、移動先論理ユニット番号１３０、移動先ＥＣＣグループ１３１、及びこのデータ移動量情報１２１の作成が終了したときの日時を示すデータ移動量情報作成終了日時１３２から構成されている。
【００４４】
Ｉ／Ｏカウント情報データベース１４０は、この記憶装置２０の記憶デバイス２１の記憶領域上に提供される論理ユニットの同一の日時コードごとに、Ｉ／Ｏカウント情報１４１が格納されることにより構成されている。
【００４５】
このＩ／Ｏカウント情報１４１は、論理ユニットの属するＥＣＣグループのリードＩ／Ｏカウントコード１４２、論理ユニットのリードＩ／Ｏカウントコード１４３、論理ユニットのライトＩ／Ｏカウントコード１４４、論理ユニット番号１４５、ＥＣＣグループ番号１４６、このＩ／Ｏカウント情報１４１の作成を開始した日時に対応する日時コードを示す日時コード１４７、及びＩ／Ｏカウント情報１４１の作成が終了したときの日時を記憶するＩ／Ｏカウント情報作成終了日時記憶欄１４８から構成されている。
【００４６】
データ移動開始日時情報データベース１５０は、データ移動開始日時情報１５１が格納されることにより構成されている。このデータ移動開始日時情報１５１は、処理番号１５２、移動元論理ユニット番号１５３、移動先論理ユニット番号１５４、時間帯ごとの予想データ移動量を示す時間帯別予想データ移動量情報１５５、データ移動ペースを更新する時間帯コードを示す更新時間帯コード１５６、更新時間帯までの予想データ移動量を示す予想データ移動量１５８、更新時間帯までの実際に移動させたデータ移動量を示す実データ移動量１５８、及びデータ移動を開始する時間に対応するデータ移動開始日時コードを示すデータ移動開始日時コード１５９から構成されている。
【００４７】
時間帯別予想データ移動量情報１５５は、所定の時間帯１〜２４に対応する時間帯コード１〜２４を示す時間帯コード１６０、対応する時間帯の予想データ移動量を示す予想データ移動量１６１、リードＩ／Ｏカウントコード１６２、及びライトＩ／Ｏカウントコード１６３が設けられている。
【００４８】
（２）本実施の形態によるデータ移動量情報データベース作成処理
次に、ストレージシステム１におけるデータ移動量情報データベース作成処理について説明する。図１１は、データ移動量情報データベース１２０の作成するための制御を行うデータ移動量情報データベース作成制御処理の具体的な処理手順を示したフローチャートである。
【００４９】
チャネルアダプタ１１は、初期時、図１１に示すデータ移動量データベース作成処理手順ＲＴ１に従って、ホストシステム２から図１２に示すデータ移動コマンド１７０が受信するのを待機モードで待ち受ける（Ｓ１）。
【００５０】
ここで、このデータ移動コマンド１７０は、図１２に示すように、データ移動終了日時指定フラグ１７１、データ移動終了日時１７２、データ移動ペース１７３、移動元論理ユニット番号１７４、及び移動先論理ユニット番号から構成されている。
【００５１】
この場合、チャネルアダプタ１１は、データ移動終了日時指定フラグがオンに設定されている場合には、後述のようにデータ移動終了日時にデータ移動が終了するようにデータ移動を開始させる一方、データ移動終了日時指定フラグがオフに設定されている場合には、データ移動コマンドが受信すると、その後データ移動を開始させる。
【００５２】
なお、データ移動量データベース作成処理手順ＲＴ１においては、データ移動終了日時指定フラグがオフに設定されており、データ移動コマンド１７０が受信すると、その後データ移動を開始させるようになされている。
【００５３】
やがて、チャネルアダプタ１１は、ホストシステム２からデータ移動コマンド１７０を受信すると（Ｓ１：ＹＥＳ）、データ移動ペース１７３、移動元論理ユニット番号１７４及び移動先論理ユニット番号１７５を、データ移動量情報１２１の移動元論理ユニット番号１２８及び移動先論理ユニット番号１３０として取得する。また、チャネルアダプタ１１は、論理ユニット情報データベース１１０に基づいて、移動元論理ユニット番号１２８及び移動先論理ユニット番号１３０に対応する移動元ＥＣＣグループ番号１２９及び移動先ＥＣＣグループ番号１３１を取得する。さらに、チャネルアダプタ１１は、データ移動ペーステーブル６０に基づいて、データ移動ペース１７３に対応するデータ移動ペースコード１２４を取得する（Ｓ２）。
【００５４】
続いて、チャネルアダプタ１１は、移動元論理ユニットから移動先論理ユニットへのデータ移動処理を開始し、内部タイマ５０に基づいて、データ移動処理を開始したデータ移動開始日時を取得する。また、チャネルアダプタ１１は、リードＩ／Ｏカウンタ５１に基づいて、開始時における移動先ＥＣＣグループのリードＩ／Ｏカウント及び移動元論理ユニットのリードＩ／Ｏカウントを取得する。さらに、チャネルアダプタ１１は、ライトＩ／Ｏカウンタ５２に基づいて、開始時における移動元論理ユニットのライトＩ／Ｏカウントを取得する（Ｓ３）。
【００５５】
続いて、チャネルアダプタ１１は、データ移動処理が終了するのを待機モードで待ち受ける（Ｓ４）。やがて、チャネルアダプタ１１は、データ移動処理が終了すると（Ｓ４：ＹＥＳ）、内部タイマ５０に基づいて、データ移動終了日時を取得する。また、チャネルアダプタ１１は、リードＩ／Ｏカウンタ５１に基づいて、終了時における移動先ＥＣＣグループのリードＩ／Ｏカウント及び移動元論理ユニットのリードＩ／Ｏカウントを取得する。さらに、チャネルアダプタ１１は、ライトＩ／Ｏカウンタ５２に基づいて、終了時における移動元論理ユニットのライトＩ／Ｏカウントを取得する。さらに、チャネルアダプタ１１は、論理ユニット情報データベース１１０に基づいて、移動元論理ユニットのデータ容量１１４を取得する（Ｓ５）。
【００５６】
続いて、チャネルアダプタ１１は、データ移動開始日時、データ移動終了日時、及び移動元論理ユニットのデータ容量１１４に基づいて、１時間あたりのデータ移動量を算出する。
【００５７】
具体的に、チャネルアダプタ１１は、データ移動開始日時をＴｓ、データ移動終了日時をＴｅ、移動元論理ユニットのデータ容量１１４をＤｓ、１時間あたりのデータ移動量をＤｍとすると、次式、
【００５８】
【数１】
2007072988.tif 000003
【００５９】
に従って、１時間あたりのデータ移動量を算出し、データ移動量情報１２１のデータ移動量コード１２２として取得すると共に、データ移動量コード格納テーブル８０に基づいて、１時間あたりのデータ移動量に対応する１時間あたりのデータ移動量コードをデータ移動量情報１２１のデータ移動量コード１２３として取得する。
【００６０】
また、チャネルアダプタ１１は、データ移動開始日時、データ移動終了日時、開始時における移動元ＥＣＣグループのリードＩ／Ｏカウント、及び終了時における移動元ＥＣＣグループのリードＩ／Ｏカウントに基づいて、１時間あたりの移動元ＥＣＣグループのリードＩ／Ｏカウントを算出する。
【００６１】
具体的に、チャネルアダプタ１１は、データ移動開始日時Ｔｓ、データ移動終了日時Ｔｅ、開始時における移動先ＥＣＣグループのリードＩ／ＯカウントＣｓ、終了時における移動先ＥＣＣグループのリードＩ／ＯカウントＣｅ、１時間あたりの移動先ＥＣＣグループのリードＩ／ＯカウントＣｍとすると、次式、
【００６２】
【数２】
2007072988.tif 000004
【００６３】
に従って、１時間あたりの移動先ＥＣＣグループのリードＩ／Ｏカウントを算出し、Ｉ／Ｏカウントテーブル７０に基づいて、１時間あたりの移動先ＥＣＣグループのリードＩ／Ｏカウントに対応する１時間あたりの移動先ＥＣＣグループのリードＩ／Ｏカウントコードをデータ移動量情報１２１の移動先ＥＣＣグループのリードＩ／Ｏカウントコード１２５として取得する。
【００６４】
さらに、チャネルアダプタ１１は、データ移動開始日時、データ移動終了日時、開始時における移動元論理ユニットのリードＩ／Ｏカウント、及び終了時における移動元論理ユニットのリードＩ／Ｏカウントに基づいて、上述の場合と同様の処理を施すことにより、１時間あたりの移動元論理ユニットのリードＩ／Ｏカウントを算出し、Ｉ／Ｏカウントテーブル７０に基づいて、１時間あたりの移動元論理ユニットのリードＩ／Ｏカウントに対応する１時間あたりの移動元論理ユニットのリードＩ／Ｏカウントコードをデータ移動量情報１２１の移動元論理ユニットのリードＩ／Ｏカウントコード１２６として取得する。
【００６５】
さらに、チャネルアダプタ１１は、データ移動開始日時、データ移動終了日時、開始時における移動元論理ユニットのリードＩ／Ｏカウント、及び終了時における移動元論理ユニットのライトＩ／Ｏカウントに基づいて、上述の場合と同様の処理を施すことにより、１時間あたりの移動元論理ユニットのライトＩ／Ｏカウントを算出し、Ｉ／Ｏカウントテーブル７０に基づいて、１時間あたりの移動元論理ユニットのライトＩ／Ｏカウントに対応する１時間あたりの移動元論理ユニットのライトＩ／Ｏカウントコードをデータ移動量情報１２１の移動元論理ユニットのライトＩ／Ｏカウントコード１２７として取得する（Ｓ６）。そして、チャネルアダプタ１１は、内部タイマ５０に基づいて、データ移動量情報作成終了日時を取得して、データ移動量情報１２１の作成を終了する。
【００６６】
続いて、チャネルアダプタ１１は、同一のデータ移動ペースコード１２４、移動元論理ユニット番号１２８、移動先論理ユニット番号１３０のデータ移動量情報１２１がデータ移動量情報データベース１２０に１０以上格納されているか否かをチェックする（Ｓ７）。そして、チャネルアダプタ１１は、当該データ移動量情報１２１がデータ移動量情報データベース１２０に１０以上格納されている場合には（Ｓ７：ＹＥＳ）、データ移動量情報データベース１２０の同一のデータ移動ペースコード１２４、移動元論理ユニット番号１２８、移動先論理ユニット番号１３０のデータ移動量情報１２１のうち、データ移動量情報作成終了日時１３２のもっとも古いデータ移動量情報１２１を削除する（Ｓ８）。これに対して、チャネルアダプタ１１は、当該データ移動量情報１２１がデータ移動量情報データベース１２０に１０以上格納されていない場合には、当該データ移動量情報１２１をデータ移動量情報データベース１２０に格納する（Ｓ９）。
【００６７】
やがて、チャネルアダプタ１１は、再びホストシステム２からデータ移動コマンド１７０を受信するのを待ち受ける待機モードに戻り（Ｓ１）、この後、同様の処理を繰り返す（Ｓ１〜Ｓ９→Ｓ１）。
【００６８】
このようにしてストレージシステム１では、１時間あたりのデータ移動量１２２を作成するためにデータ移動量情報１２１を作成し、移動元論理ユニット１２８、移動先論理ユニット１３０及び移動ペースコード１２４ごとにデータ移動量情報１２１をデータ移動量情報データベース１２０に格納することができるようになされている。
【００６９】
（３）本実施の形態によるＩ／Ｏカウント情報データベース作成処理
次に、ストレージシステム１におけるＩ／Ｏカウント情報データベース作成処理について説明する。図１３は、Ｉ／Ｏカウント情報データベース１４０の作成するための制御を行うＩ／Ｏカウント情報データベース作成制御処理の具体的な処理手順を示したフローチャートである。
【００７０】
ディスクアダプタ１２は、初期時、図１３に示すＩ／Ｏカウント情報データベース作成処理手順ＲＴ２に従って、内部タイマ５０に基づいて、１時間ごとにこのＩ／Ｏカウント情報データベース作成処理手順ＲＴ２を開始して、Ｉ／Ｏカウント情報作成開始日時を取得し、日時コードに基づいて、Ｉ／Ｏカウント情報作成開始日時に対応する日時コードをＩ／Ｏカウント情報データベース１４１の日時コード１４７として取得する。また、ディスクアダプタ１２は、対象とするすべての論理ユニットの論理ユニット番号を、Ｉ／Ｏカウント情報１４１の論理ユニット番号１４５として取得する。さらに、ディスクアダプタ１２は、論理ユニット情報データベース１１０に基づいて、論理ユニット番号１４５に対応するＥＣＣグループ番号をＩ／Ｏカウント情報データベース１４１のＥＣＣグループ番号１４６として取得する（Ｓ１１）。
【００７１】
続いて、ディスクアダプタ１２は、Ｉ／Ｏカウント情報作成開始日時が１時間ごとの区切りになっているか否かをチェックする（Ｓ１２）。そして、ディスクアダプタ１２は、Ｉ／Ｏカウント情報作成開始日時が１時間ごとの区切りになっていない場合には（Ｓ１２：ＮＯ）、内部タイマ５０に基づいて、再びＩ／Ｏカウント情報作成開始日時を取得する（Ｓ１）。これに対して、ディスクアダプタ１２は、対象とするすべての論理ユニットのＩ／Ｏカウント処理を開始し、リードＩ／Ｏカウンタ５１に基づいて、開始時における論理ユニットに属するＥＣＣグループのリードＩ／Ｏカウント及び論理ユニットのリードＩ／Ｏカウントを取得する。また、ディスクアダプタ１２は、ライトＩ／Ｏカウンタ５２に基づいて、開始時における論理ユニットのライトＩ／Ｏカウントを取得する（Ｓ１３）。
【００７２】
続いて、ディスクアダプタ１２は、Ｉ／Ｏカウント情報作成開始日時から１時間が経過するのを待機モードで待ち受ける（Ｓ１４）。やがて、ディスクアダプタ１２は、Ｉ／Ｏカウント情報作成開始日時から１時間が経過すると（Ｓ１４：ＹＥＳ）、対象とするすべての論理ユニットのＩ／Ｏカウント処理を終了し、内部タイマ５０に基づいて、当該Ｉ／Ｏカウント処理を終了したＩ／Ｏカウント終了日時を取得する。また、ディスクアダプタ１２は、リードＩ／Ｏカウンタ５１に基づいて、終了時における論理ユニットに属するＥＣＣグループのリードＩ／Ｏカウント及び論理ユニットのリードＩ／Ｏカウントを取得する。さらに、ディスクアダプタ１２は、ライトＩ／Ｏカウンタ５２に基づいて、終了時における論理ユニットのライトＩ／Ｏカウントを取得する（Ｓ１５）。
【００７３】
続いて、ディスクアダプタ１２は、開始時におけるＥＣＣグループのリードＩ／Ｏカウント及び終了時におけるＥＣＣグループのリードＩ／Ｏカウントに基づいて、１時間あたりのＥＣＣグループのリードＩ／Ｏカウントを算出する。
【００７４】
具体的に、ディスクアダプタ１１は、開始時におけるＥＣＣグループのリードＩ／ＯカウントをＣｓ2、終了時におけるＥＣＣグループのリードＩ／ＯカウントをＣｅ2、１時間あたりのＥＣＣグループのリードＩ／ＯカウントをＣｍ2とすると、次式、
【００７５】
【数３】
2007072988.tif 000005
【００７６】
に従って、１時間あたりのＥＣＣグループのリードＩ／Ｏカウントを算出し、Ｉ／Ｏカウントテーブル７０に基づいて、１時間あたりのＥＣＣグループのリードＩ／Ｏカウントに対応する１時間あたりのＥＣＣグループのリードＩ／ＯカウントコードをＩ／Ｏカウント情報１４１のＥＣＣグループのリードＩ／Ｏカウントコード１４２として取得する。
【００７７】
また、ディスクアダプタ１２は、開始時における論理ユニットのリードＩ／Ｏカウント及び終了時における論理ユニットのリードＩ／Ｏカウントに基づいて、上述の場合と同様の処理を施すことにより、１時間あたりの論理ユニットのリードＩ／Ｏカウントを算出し、Ｉ／Ｏカウントテーブル７０に基づいて、１時間あたりの論理ユニットのリードＩ／Ｏカウントに対応する１時間あたりの論理ユニットのリードＩ／ＯカウントコードをＩ／Ｏカウント情報１４１の論理ユニットのリードＩ／Ｏカウントコード１４３として取得する。
【００７８】
さらに、ディスクアダプタ１２は、開始時における論理ユニットのライトＩ／Ｏカウント及び終了時における論理ユニットのライトＩ／Ｏカウントに基づいて、上述の場合と同様の処理を施すことにより、１時間あたりの論理ユニットのライトＩ／Ｏカウントを算出し、Ｉ／Ｏカウントテーブル７０に基づいて、１時間あたりの論理ユニットのライトＩ／Ｏカウントに対応する１時間あたりの論理ユニットのライトＩ／ＯカウントコードをＩ／Ｏカウント情報１４１の論理ユニットのライトＩ／Ｏカウントコード１４４として取得する（Ｓ１６）。そして、ディスクアダプタ１２は、内部タイマ５０に基づいて、Ｉ／Ｏカウント情報作成終了日時１４８を取得して、Ｉ／Ｏカウント情報１４１の作成を終了する。
【００７９】
続いて、ディスクアダプタ１２は、同一の論理ユニット番号１４５及び日時コード１４７のＩ／Ｏカウント情報１４１がＩ／Ｏカウント情報データベース１４０に１０以上格納されているか否かをチェックする（Ｓ１７）。
【００８０】
そして、ディスクアダプタ１２は、当該Ｉ／Ｏカウント情報１４１がＩ／Ｏカウント情報データベース１４０に１０以上格納されている場合には（Ｓ１７：ＹＥＳ）、Ｉ／Ｏカウント情報データベース１４０の同一の論理ユニット番号１４５及び日時コード１４７のＩ／Ｏカウント情報１４１のうち、Ｉ／Ｏカウント情報作成終了日時１４８のもっとも古いＩ／Ｏカウント情報１４１を削除する（Ｓ１８）。
【００８１】
これに対して、ディスクアダプタ１２は、当該Ｉ／Ｏカウント情報１４１がＩ／Ｏカウント情報データベース１４０に１０以上格納されていない場合には、当該Ｉ／Ｏカウント情報１４１をＩ／Ｏカウント情報データベース１４０に格納する（Ｓ１９）。
【００８２】
やがて、ディスクアダプタ１２は、再び内部カウンタ５０に基づいて、Ｉ／Ｏカウンタ開始日時になるのを待ち受ける待機モードに戻り（Ｓ１１）、この後、同様の処理を繰り返す（Ｓ１１〜Ｓ１９→Ｓ１１）。
【００８３】
このようにしてストレージシステム１では、１時間あたりのＥＣＣグループのリードＩ／Ｏカウントコード１４２、論理ユニットのリードＩ／Ｏカウントコード１４３及び論理ユニットのライトＩ／Ｏカウントコード１４４を作成するためにＩ／Ｏカウント情報１４１を作成し、対象とするすべての論理ユニットの論理ユニット番号１４５ごとにＩ／Ｏカウント情報１４１をデＩ／Ｏカウント情報データベース１４０に格納することができるようになされている。
【００８４】
（４）本実施の形態によるデータ移動開始日時情報データベース作成処理
次に、ストレージシステム１におけるデータ移動開始日時情報データベース作成処理について説明する。図１４は、データ移動開始日時情報データベース１５０の作成するための制御を行うデータ移動開始日時情報データベース作成制御処理の具体的な処理手順を示したフローチャートである。
【００８５】
チャネルアダプタ１１は、初期時、図１４に示すデータ移動開始日時情報データベース作成処理手順ＲＴ３に従って、ホストシステム２から図１２に示すデータ移動コマンド１７０を受信するのを待機モードで待ち受ける（Ｓ２１）。
【００８６】
なお、データ移動開始日時情報データベース作成処理手順ＲＴ３においては、データ移動終了日時指定フラグ１７１がオンに設定され、データ移動終了日時１７２が設定されている。
【００８７】
やがて、チャネルアダプタ１１は、ホストシステム２からデータ移動コマンド１７０を受信すると（Ｓ２１：ＹＥＳ）、処理番号１５２を取得すると共に、データ移動コマンド１７０の移動元論理ユニット番号１７４及び移動先論理ユニット番号１７５を、データ移動開始日時情報１５１の移動元論理ユニット番号１５３及び移動先論理ユニット番号１５４として取得する。また、チャネルアダプタ１１は、論理ユニット情報データベース１１０に基づいて、移動元論理ユニットのデータ容量１１４を取得する（Ｓ２２）。
【００８８】
続いて、チャネルアダプタ１１は、日時コードテーブル９０に基づいて、データ移動コマンド１７０のデータ移動終了日時１７２から２４時間前まで1時間ごとに遡った日時に対応する日時コードを、データ移動開始日時情報１５１の時間帯別予想データ移動量情報１５５の時間帯コード１６０（時間帯コード１〜時間帯コード２４）として取得する（Ｓ２３）。
【００８９】
ここで、チャネルアダプタ１１は、データ移動開始日時情報１５１の時間帯別予想データ移動量情報１５５の時間帯コード１６０を取得すると、時間帯コード１６０ごとの１時間あたりの平均リードＩ／Ｏカウントコード及び平均リードＩ／Ｏカウントコードを算出する平均Ｉ／Ｏカウント算出処理を実行する。
【００９０】
図１５は、時間帯コード１６０ごとの１時間あたりの平均リードＩ／Ｏカウントコード及び平均リードＩ／Ｏカウントコードを算出するための制御を行う平均Ｉ／Ｏカウント算出処理の具体的な処理手順を示したフローチャートである。
【００９１】
チャネルアダプタ１１は、初期時、図１５に示す平均Ｉ／Ｏカウント算出処理手順ＲＴ４に従って、データ移動開始日時情報１５１の移動元論理ユニット番号１５３及び時間帯コード１６０と同一の移動元論理ユニット番号１４５及び日時コード１４７のＩ／Ｏカウント情報１４１がＩ／Ｏカウント情報データベース１４０に格納されているか否かをチェックする（Ｓ４１）。
【００９２】
そして、チャネルアダプタ１１は、移動元論理ユニット番号１５３及び時間帯コード１６０と同一の移動元論理ユニット番号１４５及び日時コード１４７のＩ／Ｏカウント情報１４１がＩ／Ｏカウント情報データベース１４０に格納されていない場合には（Ｓ４１：ＮＯ）、異常があったと判断して、この平均Ｉ／Ｏカウント算出処理手順ＲＴ４を終了する（Ｓ４５）。
【００９３】
これに対して、チャネルアダプタ１１は、移動元論理ユニット番号１５３及び時間帯コード１６０と同一の移動元論理ユニット番号１４５及び日時コード１４７のＩ／Ｏカウント情報１４１がＩ／Ｏカウント情報データベース１４０に格納されている場合には（Ｓ４１：ＹＥＳ）、データ移動開始日時情報１５１の移動元論理ユニット番号１５３及び時間帯コード１６０と同一の移動元論理ユニット番号１４５及び日時コード１４７のすべてのＩ／Ｏカウント情報１４１からそれぞれ論理ユニットのリードＩ／Ｏカウント１４３及びライトＩ／Ｏカウント１４４を取得する（Ｓ４３）。
【００９４】
続いて、チャネルアダプタ１１は、すべてのＩ／Ｏカウント情報１４１のそれぞれの論理ユニットのリードＩ／Ｏカウント１４３に基づいて、１時間あたりの平均リードＩ／Ｏカウントを算出する。
【００９５】
具体的に、チャネルアダプタ１１は、Ｉ／Ｏカウント情報１４１のそれぞれの論理ユニットのリードＩ／Ｏカウント１４３をｉ（ｎ）（１≦ｎ≦１０）、平均リードＩ／Ｏカウントをｉｍとすると、次式、
【００９６】
【数４】
2007072988.tif 000006
【００９７】
に従って、１時間あたりの平均リードＩ／Ｏカウントを算出し、Ｉ／Ｏカウントテーブル７０に基づいて、１時間あたりの平均リードＩ／Ｏカウントに対応する平均リードＩ／Ｏカウントコードを、対応するデータ移動開始日時情報１５１の時間帯別予想データ移動量情報１５５の平均リードＩ／Ｏカウントコード１６２として取得する。
【００９８】
さらに、チャネルアダプタ１１は、すべてのＩ／Ｏカウント情報１４１のそれぞれの論理ユニットのライトＩ／Ｏカウント１４４に基づいて、上述の場合と同様の処理を施すことにより、１時間あたりの平均ライトＩ／Ｏカウントを算出し、Ｉ／Ｏカウントテーブル７０に基づいて、１時間あたりの平均ライトＩ／Ｏカウントに対応する平均ライトＩ／Ｏカウントコードを対応するデータ移動開始日時情報１５１の時間帯別予想データ移動量情報１５５の平均ライトＩ／Ｏカウントコード１６３として取得する（Ｓ４３）。
【００９９】
続いて、チャネルアダプタ１１は、平均Ｉ／Ｏカウント算出処理手順ＲＴ４が終了すると（Ｓ４４）、平均Ｉ／Ｏカウント算出処理が正常に終了したか否かをチェックする（Ｓ２４）。
【０１００】
そして、チャネルアダプタ１１は、平均Ｉ／Ｏカウント算出処理が正常に終了していない場合には（Ｓ２４：ＮＯ）、異常があったと判断し、ホストシステム２にエラー報告を行った後（Ｓ２５）、このデータ移動開始日時情報データベース作成処理手順ＲＴ３を終了する（Ｓ３３）。
【０１０１】
これに対して、チャネルアダプタ１１は、平均リードＩ／Ｏカウント、平均ライトＩ／Ｏカウント算出処理が正常に終了した場合には（Ｓ２４：ＹＥＳ）、時間帯コードごとの１時間あたりの平均データ移動量を算出する平均データ移動量算出処理を実行する。
【０１０２】
ここで、図１６は、時間帯コード１６０ごとの１時間あたりの平均データ移動量コードを算出するための制御を行う平均データ移動量算出処理の具体的な処理手順を示したフローチャートである。
【０１０３】
チャネルアダプタ１１は、初期時、図１６に示す平均データ移動量算出処理手順ＲＴ５に従って、データ移動コマンド１７０のデータ移動ペース１７３に対応するデータ移動ペースコードを取得する（Ｓ５１）。
【０１０４】
続いて、チャネルアダプタ１１は、当該データ移動ペースコード、並びにデータ移動開始日時情報１５１の移動元論理ユニット番号１５３、移動先論理ユニット番号１５４と同一のデータ移動ペースコード１２４、移動元論理ユニット番号１２８及び移動先論理ユニット番号１３０のデータ移動量情報１２１がデータ移動量情報データベース１２０に格納されているか否かをチェックする（Ｓ５２）。
【０１０５】
そして、チャネルアダプタ１１は、データ移動ペースコード、並びにデータ移動開始日時情報１５１の移動元論理ユニット番号１５３、移動先論理ユニット番号１５４と同一のデータ移動ペースコード１２４、移動元論理ユニット番号１２８及び移動先論理ユニット番号１３０のデータ移動量情報１２１がデータ移動量情報データベース１２０に格納されていない場合には（Ｓ５２：ＮＯ）、論理ユニット情報データベース１１０に基づいて、移動元論理ユニット番号１５３及び移動先論理ユニット番号１５４に対応する移動元ＥＣＣグループ番号及び移動先ＥＣＣグループ番号を取得する（Ｓ５３）。
【０１０６】
続いて、チャネルアダプタ１１は、当該移動元ＥＣＣグループ番号及び移動先ＥＣＣグループ番号と同一の移動元ＥＣＣグループ番号１２８及び移動先ＥＣＣグループ番号１３０のデータ移動量情報１２１がデータ移動量情報データベース１２０に格納されているか否かをチェックする（Ｓ５４）。
【０１０７】
そして、チャネルアダプタ１１は、当該移動元ＥＣＣグループ番号及び移動先ＥＣＣグループ番号と同一の移動元ＥＣＣグループ番号１２８及び移動先ＥＣＣグループ番号１３０のデータ移動量情報１２１がデータ移動量情報データベース１２０に格納されていない場合には（Ｓ５４：ＮＯ）、異常があったと判断して、この平均データ移動量算出処理手順ＲＴ５を終了する（Ｓ５８）。
【０１０８】
これに対して、チャネルアダプタ１１は、当該移動元ＥＣＣグループ番号及び移動先ＥＣＣグループ番号と同一の移動元ＥＣＣグループ番号１２８及び移動先ＥＣＣグループ番号１３０のデータ移動量情報１２１がデータ移動量情報データベース１２０に格納されている場合には（Ｓ５４：ＹＥＳ）、移動元ＥＣＣグループ番号及び移動先ＥＣＣグループ番号と同一の移動元ＥＣＣグループ番号１２８及び移動先ＥＣＣグループ番号１３０のデータ移動量情報１２１に、対応する時間帯別予想データ移動量情報１５５の平均リードＩ／Ｏカウントコード１６２及び平均ライトＩ／Ｏカウントコード１６３と同一のデータ移動量情報１２１がデータ移動量情報データベース１２０に格納されているか否かをチェックする（Ｓ５５）。
【０１０９】
また、チャネルアダプタ１１は、同時に、データ移動ペースコード、並びにデータ移動開始日時情報１５１の移動元論理ユニット番号１５３、移動先論理ユニット番号１５４と同一のデータ移動ペースコード１２４、移動元論理ユニット番号１２８及び移動先論理ユニット番号１３０のデータ移動量情報１２１がデータ移動量情報データベース１２０に格納されている場合には（Ｓ５２：ＹＥＳ）、データ移動ペースコード、並びにデータ移動開始日時情報１５１の移動元論理ユニット番号１５３、移動先論理ユニット番号１５４と同一のデータ移動ペースコード１２４、移動元論理ユニット番号１２８及び移動先論理ユニット番号１３０のデータ移動量情報１２１に、対応する時間帯別予想データ移動量情報１５５の平均リードＩ／Ｏカウントコード１６２及び平均ライトＩ／Ｏカウントコード１６３と同一のデータ移動量情報１２１がデータ移動量情報データベース１２０に格納されているか否かをチェックする（Ｓ５５）。
【０１１０】
そして、チャネルアダプタ１１は、対応する時間帯別予想データ移動量情報１５５の平均リードＩ／Ｏカウントコード１６２及び平均ライトＩ／Ｏカウントコード１６３と同一のデータ移動量情報１２１がデータ移動量情報データベース１２０に格納されていない場合には（Ｓ５５：ＮＯ）、異常があったと判断して、この平均データ移動量算出処理手順ＲＴ５を終了する（Ｓ５８）。
【０１１１】
これに対して、チャネルアダプタ１１は、対応する時間帯別予想データ移動量情報１５５の平均リードＩ／Ｏカウントコード１６２及び平均ライトＩ／Ｏカウントコード１６３と同一のデータ移動量情報１２１がデータ移動量情報データベース１２０に格納されている場合には（Ｓ５５：ＹＥＳ）、対応する時間帯別予想データ移動量情報１５５の平均リードＩ／Ｏカウントコード１６２及び平均ライトＩ／Ｏカウントコード１６３と同一のすべてのデータ移動量情報１２１からそれぞれデータ移動量１２２を取得する（Ｓ５６）。
【０１１２】
続いて、チャネルアダプタ１１は、すべてのデータ移動量情報１２１のそれぞれのデータ移動量１２２に基づいて、１時間あたりの平均データ移動量を算出する。
【０１１３】
具体的に、チャネルアダプタ１１は、データ移動量情報１２１のそれぞれのデータ移動量１２２をｄ（ｎ）（１≦ｎ≦１０）、１時間あたりの平均データ移動量をｄｍとすると、次式、
【０１１４】
【数５】
2007072988.tif 000007
【０１１５】
に従って、１時間あたりの平均データ移動量を算出し、データ移動ペーステーブル６０に基づいて、１時間あたりの平均データ移動量に対応する平均データ移動量コードを、対応するデータ移動開始日時情報１５１の時間帯別予想データ移動量情報１５５の平均データ移動量コード１６１として取得する（Ｓ５７）。
【０１１６】
続いて、チャネルアダプタ１１は、平均データ移動量算出処理手順ＲＴ５が終了すると（Ｓ５８）、平均データ移動量算出処理が正常に終了したか否かをチェックする（Ｓ２６）。そして、チャネルアダプタ１１は、平均データ移動量算出処理が正常に終了していない場合には（Ｓ２６：ＮＯ）、異常があったと判断し、ホストシステム２にエラー報告を行った後（Ｓ２５）、このデータ移動開始日時情報データベース作成処理手順ＲＴ３を終了する（Ｓ３３）。
【０１１７】
これに対して、チャネルアダプタ１１は、平均データ移動量算出処理が正常に終了した場合には（Ｓ２６：ＹＥＳ）、各時間帯別予想データ移動量情報１５５の平均データ移動量１６１の積算値が移動元論理ユニットのデータ容量１１４に比して大きくなったか否かをチェックする（Ｓ２７）。そして、チャネルアダプタ１１は、平均データ移動量１６１の積算値が移動元論理ユニットのデータ容量に比して大きくなっていない場合には（Ｓ２７：ＮＯ）、次に対応する時間帯別予想データ移動量情報１５５の時間帯コード１６０があるか否かをチェックする（Ｓ２８）。
【０１１８】
そして、チャネルアダプタ１１は、次に対応する時間帯別予想データ移動量情報１５５の時間帯コード１６０がない場合（Ｓ２８：ＮＯ）、すなわち時間帯別予想データ移動量情報１５５の時間帯コード１６０が時間帯コード２４まで使用されている場合には、異常があったと判断し、ホストシステム２にエラー報告を行った後（Ｓ２９）、このデータ移動開始日時情報データベース作成処理手順ＲＴ３を終了する（Ｓ３３）。
【０１１９】
これに対して、チャネルアダプタ１１は、次に対応する時間帯別予想データ移動量情報１５５の時間帯コード１６０がある場合（Ｓ２８：ＹＥＳ）、すなわち時間帯別予想データ移動量情報１５５の時間帯コード１６０が時間帯コード２４まで使用されていない場合には、次に対応する時間帯別予想データ移動量情報１５５の平均Ｉ／Ｏカウント算出処理手順ＲＴ４を実行する（ＲＴ４）。
【０１２０】
これに対して、チャネルアダプタ１１は、平均データ移動量１６１の積算値が移動元論理ユニットのデータ容量１１４に比して大きくなった場合には（Ｓ２７：ＹＥＳ）、このときの時間帯コード１６０をデータ移動開始日時情報１５１のデータ移動開始日時コード１５８として取得する（Ｓ３０）。
【０１２１】
続いて、チャネルアダプタ１１は、日時コードテーブル９０に基づいて、データ移動開始日時コード１５９に対応するデータ移動開始日時を取得し、当該データ移動開始日時よりも、内部タイマ５０に基づいて計測された現在日時のほうが過去の日時となっているか否かをチェックする（Ｓ３１）。
【０１２２】
そして、チャネルアダプタ１１は、データ移動開始日時よりも、内部タイマ５０に基づいて計測された現在日時のほうが過去の日時となっていない場合には（Ｓ３１：ＮＯ）、異常があったと判断し、ホストシステム２にエラー報告を行った後（Ｓ２５）、このデータ移動開始日時情報データベース作成処理手順ＲＴ３を終了する（Ｓ３３）。
【０１２３】
これに対して、チャネルアダプタ１１は、データ移動開始日時よりも、内部タイマ５０に基づいて計測された現在日時のほうが過去の日時となっている場合には（Ｓ３１：ＹＥＳ）、日時コードテーブル９０に基づいて、データ移動開始日時コード１５９の１時間後の日時コードを更新時間帯コード１５６として取得すると共に、実データ移動量１５７を「０」として取得し、データ移動開始日時情報１５１の作成を終了する。
【０１２４】
そして、チャネルアダプタ１１は、当該データ移動開始日時情報１５１をデータ移動開始日時情報データベース１５０に格納し（Ｓ３２）、この後、データ移動開始日時情報データベース作成処理手順ＲＴ３を終了する（Ｓ３３）。
【０１２５】
このようにしてストレージシステム１では、データ移動コマンド１７０のデータ移動終了日時１７２から２４時間前まで1時間ごとに遡った時間帯コード１６０における平均データ移動量コード１６１、平均リードＩ／Ｏカウントコード１６２及び平均ライトＩ／Ｏカウントコード１６３に基づいて、データ移動開始日時コード１５９を算出することができるようになされている
【０１２６】
（４）本実施の形態によるデータ移動ペース制御処理
次に、ストレージシステム１におけるデータ移動ペース制御処理について説明する。図１７は、データ移動処理時におけるデータ移動ペースの制御を行うデータ移動ペース制御処理の具体的な処理手順を示したフローチャートである。
【０１２７】
ディスクアダプタ１２は、初期時、図１７に示すデータ移動ペース制御処理手順ＲＴ６に従って、データ移動開始日時情報１５１におけるデータ移動開始日時コード１５９の日時が経過するのを待機モードで待ち受ける（Ｓ６１）。やがて、ディスクアダプタ１２は、データ移動開始日時コード１５９の日時が経過すると（ＳＰ６１：ＹＥＳ）、移動元論理ユニットから移動先論理ユニットへのデータ移動処理を開始する（Ｓ６２）。
【０１２８】
続いて、ディスクアダプタ１２は、更新時間帯コード１５６の日時が経過するのを待機モードで待ち受ける（Ｓ６３）。やがて、ディスクアダプタ１２は、更新時間帯コード１５６の日時が経過すると（ＳＰ６３：ＹＥＳ）、更新時間帯コード１５６の日時までの実際のデータ移動量を算出して、データ移動開始日時情報１５１における実データ移動量１５８として取得する（Ｓ６４）。
【０１２９】
続いて、ディスクアダプタ１２は、予想データ移動量１５７及び実データ移動量１５８が同じとなっているか否かをチェックする（Ｓ６５）。そして、ディスクアダプタ１２は、予想データ移動量１５７及び実データ移動量１５８が同じとなっていない場合には（Ｓ６５：ＮＯ）、予想データ移動量１５７と実データ移動量１５８との差分を、当該予想データ移動量１５７に上乗せし、データ移動量テーブル８０に基づいて、この差分上乗せデータ移動量に対応する差分上乗せデータ移動量コードを取得する（Ｓ６６）。
【０１３０】
続いて、ディスクアダプタ１２は、当該差分上乗せデータ移動量コード、データ移動開始日時情報１５１における移動元論理ユニット番号１５３及び移動先論理ユニット番号１５４、並びに更新時間帯コード１５６の時間帯別予想データ移動量情報１５５の平均リードＩ／Ｏカウント１６２及び平均ライトＩ／Ｏカウント１６３と同一のデータ移動量情報１２１がデータ移動量情報データベース１２０に格納されているか否かをチェックする（Ｓ６７）。
【０１３１】
そして、ディスクアダプタ１２は、同一のデータ移動量情報１２１がデータ移動量情報データベース１２０に格納されている場合には（Ｓ６７：ＹＥＳ）、データ移動量情報１２１のうち、データ移動ペースがもっとも大きいデータ移動ペースコードでデータ移動処理を続ける（Ｓ６８）。
【０１３２】
これに対して、ディスクアダプタ１２は、同一のデータ移動量情報１２１がデータ移動量情報データベースに格納されていない場合（Ｓ６７：ＮＯ）、又は、予想データ移動量１５７及び実データ移動量１５８が同じとなっている場合（Ｓ６５：ＹＥＳ）には、データ移動コマンド１７０のデータ移動ペースペース１７３でデータ移動処理を続ける（Ｓ６９）。
【０１３３】
続いて、ディスクアダプタ１２は、更新時間帯コード１５６から１時間後の日時コードである次の更新時間帯コードを更新時間帯コード１５６として取得する。また、ディスクアダプタ１２は、次の更新時間帯コードと同一の時間帯別予想データ移動量情報１５５の予想データ量１６１を、更新時間帯コード１５６までの予想データ移動量１５７と積算して、次の更新時間帯コードの予想データ移動量を作成し、これを予想データ移動量１５７として取得する（Ｓ７０）。
【０１３４】
やがて、ディスクアダプタ１２は、再び更新時間帯コード１５６の日時が経過するのを待ち受ける待機モードに戻り（Ｓ６３）、この後、同様の処理を繰り返す（Ｓ６３〜Ｓ７０→Ｓ６３）。
【０１３５】
（５）本実施の形態による動作及び効果
このように本実施の形態によるストレージシステム１では、データ移動コマンド１７０のデータ移動終了日時１７２から２４時間前まで１時間ごとに遡った時間帯コード１６０ごとにおける平均リードＩ／Ｏカウント及び平均ライトＩ／Ｏカウントを算出し、当該平均リードＩ／Ｏカウント及び平均ライトＩ／Ｏカウントに基づいて、時間帯コード１６０ごとにおける予想データ移動量１６１を算出して、この予想データ移動量１６１に基づいて、データ移動開始日時コード１５９を算出する。
【０１３６】
従って、このストレージシステム１では、ユーザがデータ移動終了日時を推測してデータ移動開始日時を設定することなく、データ移動終了日時を指定するだけで、当該データ移動終了日時にデータ移動を終了するようなデータ移動開始日時を設定することができる。また、このストレージシステム１では、当該データ移動終了日時にデータ移動を終了するようなデータ移動開始日時を設定するため、予備の記憶デバイスを用意することなく、記憶デバイスを効率的に使用することができる。
【０１３７】
なお、このとき本実施の形態によるストレージシステム１では、平均データ移動量１６１の積算値が移動元論理ユニットのデータ容量１１４に比して大きくなった場合の時間帯コードをデータ移動開始日時情報１５１のデータ移動開始日時コード１５８として取得するようになされている。
【０１３８】
また、本実施の形態によるストレージシステム１では、データ移動開始日時コード１５９が経過したときに、データ移動コマンド１７０のデータ移動ペース１７３で、移動元論理ユニットから移動先論理ユニットにデータ移動を開始し、更新時間帯コード１５６が経過したときに、予想データ移動量１５７及び実データ移動量１５８が同じとなっているか否かをチェックし、同じとなっていない場合には、差分上乗せデータ移動量に基づいて、データ移動量情報１２１のうち、データ移動ペースがもっとも大きいデータ移動ペースコードに変更する。
【０１３９】
従って、このストレージシステム１では、データ移動時における転送速度等の要因により、移動終了時間が前後するような場合についても、データ移動ペースを変更して、データ移動終了日時にデータ移動を終了することができる。
【０１４０】
さらに、本実施の形態によるストレージシステム１では、記憶デバイス２１に高価なディスクドライブを用い、記憶デバイス４１に安価なディスクドライブを用いるようにしたことにより、当該データ移動終了日時にデータ移動を終了するようなデータ移動開始日時を設定するため、予備の高価な記憶デバイスを用意することなく、データライフサイクルマネージメントにも適応して、高価な記憶デバイスを一段と効率的に使用することができる。
【０１４１】
なお上述の実施の形態においては、一連の処理をそれぞれの機能を有するハードウェアにより実行させた場合について述べたが、本発明はこれに限らず、ソフトウェアにより実行させるようにしても良い。このとき、一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが専用のハードウェアに組み込まれているコンピュータに対して、各種プログラムをインストールすることで各種の機能を実行することが可能となり、例えば記録媒体からインストールされることができるようになされている。そしてこの記録媒体は、例えば、光ディスク、光磁気ディスク、半導体メモリ、磁気ディスク等の種々の記録媒体を含むことは言うまでもない。また、例えば、インターネット等のネットワークを介してダウンロードすることによって、各種プログラムをインストールするようにしても良い。
【産業上の利用可能性】
【０１４２】
本発明は、複数のディスクアレイ装置間において、データを移動させるストレージシステムのほか、この他種々のデータ移動を伴う機器に適用することができる。
【図面の簡単な説明】
【０１４３】
【図１】本実施の形態によるストレージシステムの構成を示す略線図である。
【図２】共有メモリの構成を示す略線図ある。
【図３】データ移動ペーステーブルの説明に供する概念図である。
【図４】Ｉ／Ｏカウントテーブルの説明に供する概念図である。
【図５】データ移動量テーブルの説明に供する概念図である。
【図６】日時テーブルの説明に供する概念図である。
【図７】論理ユニット情報データベースの説明に供する概念図である。
【図８】データ移動量情報データベースの説明に供する概念図である。
【図９】Ｉ／Ｏカウント情報データベースの説明に供する概念図である。
【図１０】データ移動開始情報データベースの説明に供する概念図である。
【図１１】データ移動量情報データベース作成処理手順の説明に供するフローチャートである。
【図１２】データ移動コマンドの説明に供する概念図である。
【図１３】Ｉ／Ｏカウント情報作データベース作成処理手順の説明に供するフローチャートである。
【図１４】データ移動開始日時情報データベース作成処理手順の説明に供するフローチャートである。
【図１５】平均Ｉ／Ｏカウント算出処理手順の説明に供するフローチャートである。
【図１６】平均データ移動量算出処理手順の説明に供するフローチャートである。
【図１７】データ移動ペース制御処理手順の説明に供するフローチャートである。
【符号の説明】
【０１４４】
１……ストレージシステム、２……ホストシステム、３……第1の記憶制御装置、４……第２の記憶制御装置、１１、３１……チャネルアダプタ、１２、３２……ディスクアダプタ、１５……共有メモリ、２０、４０……記憶装置、２１、４１……記憶デバイス、１１０……論理ユニット情報データベース、１２０……データ移動量情報データベース、１２１……データ移動量情報、１２２……データ移動量、１４０……Ｉ／Ｏカウント情報データベース、１４１……Ｉ／Ｏカウント情報、１４２……ＥＣＣグループのリードＩ／Ｏカウント、１４４……論理ユニットのリードＩ／Ｏカウント、１４５……論理ユニットのライトＩ／Ｏカウント、１５０……データ移動開始日時情報データベース、１５１……データ移動開始日時情報、１５５……時間帯別予想データ移動量情報、１６０……時間帯コード、１６１……予想データ移動量、１６２……平均リードＩ／Ｏカウントコード、１６２……平均ライトＩ／Ｏカウントコード、１５９……データ移動開始日時コード、１７０……データ移動コマンド、１７２……データ移動終了日時、１７３……データ移動ペース
【図１】
2007072988.tif 000008
【図２】
2007072988.tif 000009
【図３】
2007072988.tif 000010
【図４】
2007072988.tif 000011
【図５】
2007072988.tif 000012
【図６】
2007072988.tif 000013
【図７】
2007072988.tif 000014
【図８】
2007072988.tif 000015
【図９】
2007072988.tif 000016
【図１０】
2007072988.tif 000017
【図１１】
2007072988.tif 000018
【図１２】
2007072988.tif 000019
【図１３】
2007072988.tif 000020
【図１４】
2007072988.tif 000021
【図１５】
2007072988.tif 000022
【図１６】
2007072988.tif 000023
【図１７】
2007072988.tif 000024