(57)【要約】【課題】本発明の記憶制御装置は、一つの論理ボリュームに複数の論理デバイスを対応付ける場合に、ホストからのアクセスパターンに応じて、論理デバイスを配置する位置を決定することにより、記憶制御装置の応答性能を向上させる。【解決手段】一つの論理ボリューム６は、複数の論理デバイス５から構成される。制御部７は、ホスト２が論理ボリューム６にアクセスするパターンに応じて、各論理デバイス５の性能指標（負荷）を算出する。制御部７は、各論理デバイス５の性能指標に基づいて、各論理デバイス５を配置した場合における、各RAIDグループ４の性能指標を算出する。制御部７は、RAIDグループ４の性能指標の分散値が最小となるように、各論理デバイス５を配置するRAIDグループを決定する。【選択図】図１
2008123132.tif 000002
【特許請求の範囲】
【請求項１】
上位装置によりアクセスされる論理ボリュームを前記上位装置に提供する記憶制御装置であって、
複数の記憶ドライブと、
前記各記憶ドライブがそれぞれ有する物理的記憶領域をグループ化して形成される複数の物理的記憶デバイスと、
前記各物理的記憶デバイスがそれぞれ有する物理的記憶領域にそれぞれ少なくとも一つ以上ずつ設定される複数の論理的記憶デバイスと、
前記各論理的記憶デバイスのうち所定の複数の論理的記憶デバイスを前記論理ボリュームに対応付ける制御部と、を備え、
前記制御部は、前記上位装置が前記論理ボリュームにアクセスする場合のアクセスパターンがランダムアクセスであるかシーケンシャルアクセスであるかの種別と前記論理ボリュームに予め設定される第１性能指標とに応じて、前記所定の複数の論理的記憶デバイスが配置される前記各物理的記憶デバイスを選択する、記憶制御装置。
【請求項２】
前記制御部は、前記アクセスパターンの種別及び前記第１性能指標に応じて、前記所定の複数の論理的記憶デバイス毎の第２性能指標をそれぞれ算出し、これら各第２性能指標に基づいて、前記各物理的記憶デバイス毎の第３性能指標をそれぞれ算出し、これら各第３性能指標の分散値が小さくなるように、前記所定の複数の論理的記憶デバイスが配置される前記各物理的記憶デバイスを選択する、請求項１に記載の記憶制御装置。
【請求項３】
前記制御部は、
（１）前記アクセスパターンがランダムアクセスの場合、
（1-1）前記第１性能指標を、前記論理ボリュームを構成する前記各所定の論理的記憶デバイスの数で除算することにより、前記第２性能指標を算出し、
（1-2）前記各所定の論理的記憶デバイス毎に、当該所定の論理的記憶デバイスを前記各物理的記憶デバイスに配置した場合における、前記第２性能指標の合計値を前記第３性能指標として算出し、
（２）前記アクセスパターンがシーケンシャルアクセスの場合、
（2-1）前記第１性能指標を、前記第２性能指標として設定し、
（2-2）前記各所定の論理的記憶デバイス毎に、当該所定の論理的記憶デバイスを前記各物理的記憶デバイスに配置した場合における、前記第２性能指標の値を前記第３性能指標として設定し、
（３）前記各第３性能指標の分散値が最小となるように、前記所定の複数の論理的記憶デバイス毎に、当該所定の複数の論理的記憶デバイスが配置される前記各物理的記憶デバイスを選択する、請求項２に記載の記憶制御装置。
【請求項４】
前記制御部は、前記アクセスパターンの種別及び前記第１性能指標に応じて、前記所定の複数の論理的記憶デバイス毎の第２性能指標をそれぞれ算出し、これら各第２性能指標に基づいて、前記各物理的記憶デバイス毎の第３性能指標をそれぞれ算出し、前記各第３性能指標と予め設定された最大値との差分の分散値が小さくなるように、前記所定の複数の論理的記憶デバイスが配置される前記各物理的記憶デバイスを選択する、請求項１に記載の記憶制御装置。
【請求項５】
前記制御部は、
（１）前記アクセスパターンがランダムアクセスの場合、
（1-1）前記第１性能指標を、前記論理ボリュームを構成する前記各所定の論理的記憶デバイスの数で除算することにより、前記第２性能指標を算出し、
（1-2）前記各所定の論理的記憶デバイス毎に、当該所定の論理的記憶デバイスを前記各物理的記憶デバイスに配置した場合における、前記第２性能指標の合計値を前記第３性能指標として算出し、
（２）前記アクセスパターンがシーケンシャルアクセスの場合、
（2-1）前記第１性能指標を、前記第２性能指標として設定し、
（2-2）前記各所定の論理的記憶デバイス毎に、当該所定の論理的記憶デバイスを前記各物理的記憶デバイスに配置した場合における、前記第２性能指標の値を前記第３性能指標として設定し、
（３）前記各物理的記憶デバイス毎に予め設定されている最大値と前記各第３性能指標との差分の分散値が最小となるように、前記所定の複数の論理的記憶デバイス毎に、当該所定の複数の論理的記憶デバイスが配置される前記各物理的記憶デバイスを選択する、請求項４に記載の記憶制御装置。
【請求項６】
前記制御部は、予め設定された所定の時間帯毎の前記アクセスパターンの種別と前記第１性能指標とに応じて、前記所定の複数の論理的記憶デバイスが配置される前記各物理的記憶デバイスを選択する、請求項１に記載の記憶制御装置。
【請求項７】
前記制御部は、
（１）前記アクセスパターンがランダムアクセスの場合、
（1-1）前記第１性能指標を、前記論理ボリュームを構成する前記各所定の論理的記憶デバイスの数で除算することにより、前記第２性能指標を算出し、
（1-2）前記所定の時間帯毎の前記各所定の論理的記憶デバイス毎に、当該所定の論理的記憶デバイスを前記各物理的記憶デバイスに配置した場合における、前記第２性能指標の合計値を前記第３性能指標として算出し、
（２）前記アクセスパターンがシーケンシャルアクセスの場合、
（2-1）前記第１性能指標を、前記第２性能指標として設定し、
（2-2）前記所定の時間帯毎の前記各所定の論理的記憶デバイス毎に、当該所定の論理的記憶デバイスを前記各物理的記憶デバイスに配置した場合における、前記第２性能指標の値を前記第３性能指標として設定し、
（３）前記各第３性能指標の分散値が最小となるように、前記所定の複数の論理的記憶デバイス毎に、当該所定の複数の論理的記憶デバイスが配置される前記各物理的記憶デバイスを選択する、請求項６に記載の記憶制御装置。
【請求項８】
前記所定の複数の論理的記憶デバイスには、前記論理ボリュームに対応付けられた順位がそれぞれ設定されており、
前記制御部は、前記順位が最も小さい第１順位の所定の論理的記憶デバイスを、前記各物理的記憶デバイスに分散して配置させる請求項１に記載の記憶制御装置。
【請求項９】
前記制御部は、前記所定の複数の論理的記憶デバイスが配置される前記各物理的記憶デバイスを選択した後で、前記第１順位の所定の論理的記憶デバイスを前記各物理的記憶デバイスに分散して配置させることを試みる請求項８に記載の記憶制御装置。
【請求項１０】
前記論理ボリューム及び前記各物理的記憶デバイスは、予め設定された資源管理グループ単位で管理されており、
前記制御部は、前記資源管理グループ毎に、前記アクセスパターンの種別と前記第１性能指標とに応じて、前記所定の複数の論理的記憶デバイスが配置される前記各物理的記憶デバイスを選択する、請求項１に記載の記憶制御装置。
【請求項１１】
前記制御部は、処理対象の前記資源管理グループ以外の他の資源管理グループにおける他の所定の複数の論理的記憶デバイスの配置先を考慮して、前記所定の複数の論理的記憶デバイスが配置される前記各物理的記憶デバイスを選択する、請求項１０に記載の記憶制御装置。
【請求項１２】
前記論理ボリュームとして、互いにコピーペアを形成する第１論理ボリュームと第２論理ボリュームとが存在する場合、
前記制御部は、前記第１論理ボリュームに対応付けられる所定の論理的記憶デバイスと、前記第２論理ボリュームに対応付けられる所定の論理的記憶デバイスとが、可能な限り、それぞれ異なる物理的記憶デバイスに配置させる請求項１に記載の記憶制御装置。
【請求項１３】
上位装置に提供するための論理ボリュームを記憶制御装置に形成させるための方法であって、
前記記憶制御装置は、複数の記憶ドライブがそれぞれ有する物理的記憶領域をグループ化して形成される複数の物理的記憶デバイスと、前記各物理的記憶デバイスがそれぞれ有する物理的記憶領域にそれぞれ少なくとも一つ以上ずつ設定される複数の論理的記憶デバイスと、を有しており、
前記論理ボリューム及び前記各物理的記憶デバイスを資源管理グループ単位で管理するステップと、
予め設定された所定の時間帯毎の、前記上位装置が前記論理ボリュームにアクセスする場合のアクセスパターンがランダムアクセスであるかシーケンシャルアクセスであるかの種別と、前記論理ボリュームに予め設定される第１性能指標とをそれぞれ取得するステップと、
（1-1）前記アクセスパターンがランダムアクセスの場合に、前記第１性能指標を、前記論理ボリュームを構成する前記各所定の論理的記憶デバイスの数で除算することにより、前記第２性能指標を算出するステップと、
（1-2）前記アクセスパターンがランダムアクセスの場合に、前記所定の時間帯毎の前記各所定の論理的記憶デバイス毎に、当該所定の論理的記憶デバイスを前記各物理的記憶デバイスに配置した場合における、前記第２性能指標の合計値を前記第３性能指標として算出するステップと、
（2-1）前記アクセスパターンがシーケンシャルアクセスの場合に、前記第１性能指標を、前記第２性能指標として設定するステップと、
（2-2）前記アクセスパターンがシーケンシャルアクセスの場合に、前記所定の時間帯毎の前記各所定の論理的記憶デバイス毎に、当該所定の論理的記憶デバイスを前記各物理的記憶デバイスに配置した場合における、前記第２性能指標の値を前記第３性能指標として設定するステップと、
（３）前記各第３性能指標の分散値が最小となるように、前記所定の複数の論理的記憶デバイス毎に、当該所定の複数の論理的記憶デバイスが配置される前記各物理的記憶デバイスを前記資源管理グループ内で選択するステップと、
をそれぞれ実行する記憶制御装置の論理ボリューム形成方法。
【請求項１４】
上位装置によりアクセスされる論理ボリュームを前記上位装置に提供する記憶制御装置と、この記憶制御装置に接続される管理用装置を備えるストレージシステムであって、
前記記憶制御装置は、
複数の記憶ドライブと、
前記各記憶ドライブがそれぞれ有する物理的記憶領域をグループ化して形成される複数の物理的記憶デバイスと、
前記各物理的記憶デバイスがそれぞれ有する物理的記憶領域にそれぞれ少なくとも一つ以上ずつ設定される複数の論理的記憶デバイスと、
を備え、
前記管理用装置は、
前記各論理的記憶デバイスのうち所定の複数の論理的記憶デバイスを前記論理ボリュームに対応付けさせるための指示を前記記憶制御装置に与える制御部を備え、かつ、
前記制御部は、前記上位装置が前記論理ボリュームにアクセスする場合のアクセスパターンがランダムアクセスであるかシーケンシャルアクセスであるかの種別と前記論理ボリュームに予め設定される第１性能指標とに応じて、前記所定の複数の記憶デバイスが配置される前記各物理的記憶デバイスを選択する、ストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶制御装置及び記憶制御装置の論理ボリューム形成方法に関する。
【背景技術】
【０００２】
例えば、政府、官公庁、地方自治体、企業、教育機関等では、多種多量のデータを取り扱うために、比較的大規模な記憶システムを用いてデータを管理する。この記憶システムは、例えば、ディスクアレイ装置等の記憶制御装置から構成される。ディスクアレイ装置は、多数のディスクドライブをアレイ状に配設して構成されるもので、例えば、RAID（Redundant Array of Independent Disks）に基づく記憶領域を提供する。
【０００３】
ディスクドライブ群が提供する物理的な記憶領域をグループ化することにより、複数の物理的記憶デバイスが生成される。各物理的記憶デバイスには少なくとも一つ以上の論理的記憶デバイスが形成される。この論理的記憶デバイスは、ホストコンピュータ（以下、ホスト）からアクセスされるLUN（Logical Unit Number）に割り当てられて、ホストに提供される。ホストは、論理的記憶デバイスにデータを書き込んだり、論理的記憶デバイスからデータを読み出すことにより、業務処理を実行する。
【０００４】
第１の従来技術として、ホストへ論理的記憶デバイスを適切に割り当てるべく、一つの物理的記憶デバイスから集中的に論理的記憶デバイスを選択したり、または、複数の物理的記憶デバイスからそれぞれ論理的記憶デバイスを選択するようにした技術は知られている（特許文献１）。
【０００５】
第２の従来技術として、シーケンシャルアクセスされる論理的記憶デバイスを、シーケンシャルアクセスへの応答性能の高い物理的記憶デバイスに配置するようにした技術も知られている（特許文献２）。
【０００６】
第３の従来技術として、アクセス頻度の大小に応じて、各論理的記憶デバイスを各物理的記憶デバイスに配置するようにした技術も知られている（特許文献３）。
【特許文献１】特開２００４−１２６８６７号公報
【特許文献２】特開２００３−２７１４２５号公報
【特許文献３】特開平７−９３１０９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
通常の場合、一つのLUNに一つの論理的記憶デバイスが割り当てられる。しかし、近年では、ホストの要求する記憶容量が増大する傾向にあるため、一つのLUNに複数の論理的記憶デバイスが割り当てられる場合もある。即ち、ホストからアクセス対象として認識される一つの論理ボリュームは、複数の論理的記憶デバイスの集合体として仮想的に構築される場合がある。例えば、ホストの要求する記憶容量が大きく、一つの論理的記憶デバイスだけでは足りない場合等に、複数の論理的記憶デバイスから一つの論理ボリュームを構築することがある。
【０００８】
一方、ホストが論理ボリュームにアクセスする場合のアクセスパターンには、複数の種類が存在する。その一つは、ランダムアクセスであり、他の一つはシーケンシャルアクセスである。ランダムアクセスの場合、ホストは、論理ボリューム内の全アドレス空間を平均的にアクセスする。シーケンシャルアクセスの場合、ホストは、論理ボリューム内の特定のアドレス空間に集中してアクセスする。
【０００９】
ところが、前記各従来技術は、いずれも、複数の論理的記憶デバイスから一つの論理ボリュームを仮想的に構築する場合を考慮していない。さらに、前記各従来技術は、種類の異なるアクセスパターンに応じて、論理的記憶デバイスの配置先を決定することについても考慮されていない。前記各従来技術では、特に、ランダムアクセスについての考察を欠いている。
【００１０】
さらに、同一のホストからのアクセスであっても、時間帯によって、アクセスパターンが変化する場合もある。例えば、ホスト上で実行される業務処理の性質等に応じて、ある時間帯のアクセスパターンはランダムアクセスとなり、他の時間帯のアクセスパターンはシーケンシャルアクセスに変化する場合がある。
【００１１】
従って、シーケンシャルアクセスのみを対象として論理的記憶デバイスの配置先を決定したり、または、アクセス頻度のみに基づいて論理的記憶デバイスの配置先を決定したりするだけでは、ランダムアクセス時の応答性能を改善することはできない。
【００１２】
本発明は、上記の問題点に鑑みてなされたもので、その目的は、複数の論理的記憶デバイスを用いて論理ボリュームを構成する場合に、アクセスパターンの種別と論理ボリュームに予め設定された性能指標とに基づいて、論理的記憶デバイスを設ける物理的記憶デバイスを適切に選択できるようにした記憶制御装置及び記憶制御装置の論理ボリューム形成方法を提供することにある。本発明の他の目的は、論理ボリュームに対応付けられる複数の論理的記憶デバイスを複数の物理的記憶デバイスに分散して配置させることにより、各物理的記憶デバイスの負荷が均等となるように試み、ランダムアクセス時の応答性能を向上できるようにした記憶制御装置及び記憶制御装置の論理ボリューム形成方法を提供することにある。本発明のさらに別の目的は、上記目的に加えて、アクセス頻度の比較的大きい第１順位の論理的記憶デバイスを可能な限り別々の物理的記憶デバイスに配置させることにより、各物理的記憶デバイスの負荷分散を図り、応答性能を改善できるようにした記憶制御装置及び記憶制御装置の論理ボリューム形成方法を提供することにある。本発明の更なる目的は、後述する実施形態の記載から明らかになるであろう。
【課題を解決するための手段】
【００１３】
上記課題を解決すべく、本発明に従う、上位装置によりアクセスされる論理ボリュームを前記上位装置に提供する記憶制御装置は、複数の記憶ドライブと、各記憶ドライブがそれぞれ有する物理的記憶領域をグループ化して形成される複数の物理的記憶デバイスと、各物理的記憶デバイスがそれぞれ有する物理的記憶領域にそれぞれ少なくとも一つ以上ずつ設定される複数の論理的記憶デバイスと、各論理的記憶デバイスのうち所定の複数の論理的記憶デバイスを論理ボリュームに対応付ける制御部と、を備え、制御部は、上位装置が論理ボリュームにアクセスする場合のアクセスパターンがランダムアクセスであるかシーケンシャルアクセスであるかの種別と論理ボリュームに予め設定される第１性能指標とに応じて、所定の複数の論理的記憶デバイスが配置される各物理的記憶デバイスを選択するようになっている。
【００１４】
制御部は、アクセスパターンの種別及び第１性能指標に応じて、所定の複数の論理的記憶デバイス毎の第２性能指標をそれぞれ算出し、これら各第２性能指標に基づいて、各物理的記憶デバイス毎の第３性能指標をそれぞれ算出し、これら各第３性能指標の分散値が小さくなるように、所定の複数の論理的記憶デバイスが配置される各物理的記憶デバイスを選択することができる。
【００１５】
制御部は、（１）アクセスパターンがランダムアクセスの場合、（1-1）第１性能指標を、論理ボリュームを構成する各所定の論理的記憶デバイスの数で除算することにより、第２性能指標を算出し、（1-2）各所定の論理的記憶デバイス毎に、当該所定の論理的記憶デバイスを各物理的記憶デバイスに配置した場合における、第２性能指標の合計値を第３性能指標として算出し、（２）アクセスパターンがシーケンシャルアクセスの場合、（2-1）第１性能指標を、第２性能指標として設定し、（2-2）各所定の論理的記憶デバイス毎に、当該所定の論理的記憶デバイスを各物理的記憶デバイスに配置した場合における、第２性能指標の値を第３性能指標として設定し、（３）各第３性能指標の分散値が最小となるように、所定の複数の論理的記憶デバイス毎に、当該所定の複数の論理的記憶デバイスが配置される各物理的記憶デバイスを選択することができる。
【００１６】
制御部は、アクセスパターンの種別及び第１性能指標に応じて、所定の複数の論理的記憶デバイス毎の第２性能指標をそれぞれ算出し、これら各第２性能指標に基づいて、各物理的記憶デバイス毎の第３性能指標をそれぞれ算出し、各第３性能指標と予め設定された最大値との差分の分散値が小さくなるように、所定の複数の論理的記憶デバイスが配置される各物理的記憶デバイスを選択することができる。
【００１７】
制御部は、（１）アクセスパターンがランダムアクセスの場合、（1-1）第１性能指標を、論理ボリュームを構成する各所定の論理的記憶デバイスの数で除算することにより、第２性能指標を算出し、（1-2）各所定の論理的記憶デバイス毎に、当該所定の論理的記憶デバイスを各物理的記憶デバイスに配置した場合における、第２性能指標の合計値を第３性能指標として算出し、（２）アクセスパターンがシーケンシャルアクセスの場合、（2-1）第１性能指標を、第２性能指標として設定し、（2-2）各所定の論理的記憶デバイス毎に、当該所定の論理的記憶デバイスを各物理的記憶デバイスに配置した場合における、第２性能指標の値を第３性能指標として設定し、（３）各物理的記憶デバイス毎に予め設定されている最大値と各第３性能指標との差分の分散値が最小となるように、所定の複数の論理的記憶デバイス毎に、当該所定の複数の論理的記憶デバイスが配置される各物理的記憶デバイスを選択することができる。
【００１８】
制御部は、予め設定された所定の時間帯毎のアクセスパターンの種別と第１性能指標とに応じて、所定の複数の論理的記憶デバイスが配置される各物理的記憶デバイスを選択することができる。
【００１９】
制御部は、（１）アクセスパターンがランダムアクセスの場合、（1-1）第１性能指標を、論理ボリュームを構成する各所定の論理的記憶デバイスの数で除算することにより、第２性能指標を算出し、（1-2）所定の時間帯毎の各所定の論理的記憶デバイス毎に、当該所定の論理的記憶デバイスを各物理的記憶デバイスに配置した場合における、第２性能指標の合計値を第３性能指標として算出し、（２）アクセスパターンがシーケンシャルアクセスの場合、（2-1）第１性能指標を、第２性能指標として設定し、（2-2）所定の時間帯毎の各所定の論理的記憶デバイス毎に、当該所定の論理的記憶デバイスを各物理的記憶デバイスに配置した場合における、第２性能指標の値を第３性能指標として設定し、（３）各第３性能指標の分散値が最小となるように、所定の複数の論理的記憶デバイス毎に、当該所定の複数の論理的記憶デバイスが配置される各物理的記憶デバイスを選択することができる。
【００２０】
本発明の実施形態では、所定の複数の論理的記憶デバイスには、論理ボリュームに対応付けられた順位がそれぞれ設定されており、制御部は、順位が最も小さい第１順位の所定の論理的記憶デバイスを、各物理的記憶デバイスに分散して配置させる。
【００２１】
制御部は、所定の複数の論理的記憶デバイスが配置される各物理的記憶デバイスを選択した後で、第１順位の所定の論理的記憶デバイスを各物理的記憶デバイスに分散して配置させることを試みることができる。
【００２２】
本発明の実施形態では、論理ボリューム及び各物理的記憶デバイスは、予め設定された資源管理グループ単位で管理されており、制御部は、資源管理グループ毎に、アクセスパターンの種別と第１性能指標とに応じて、所定の複数の論理的記憶デバイスが配置される各物理的記憶デバイスを選択することができる。
【００２３】
制御部は、処理対象の資源管理グループ以外の他の資源管理グループにおける他の所定の複数の論理的記憶デバイスの配置先を考慮して、所定の複数の論理的記憶デバイスが配置される各物理的記憶デバイスを選択することができる。
【００２４】
本発明の実施形態では、論理ボリュームとして、互いにコピーペアを形成する第１論理ボリュームと第２論理ボリュームとが存在する場合、制御部は、第１論理ボリュームに対応付けられる所定の論理的記憶デバイスと、第２論理ボリュームに対応付けられる所定の論理的記憶デバイスとが、可能な限り、それぞれ異なる物理的記憶デバイスに配置させることができる。
【００２５】
本発明の他の観点に従う、上位装置に提供するための論理ボリュームを記憶制御装置に形成させるための方法では、記憶制御装置は、複数の記憶ドライブがそれぞれ有する物理的記憶領域をグループ化して形成される複数の物理的記憶デバイスと、各物理的記憶デバイスがそれぞれ有する物理的記憶領域にそれぞれ少なくとも一つ以上ずつ設定される複数の論理的記憶デバイスと、を有しており、論理ボリューム及び各物理的記憶デバイスを資源管理グループ単位で管理するステップと、予め設定された所定の時間帯毎の、上位装置が論理ボリュームにアクセスする場合のアクセスパターンがランダムアクセスであるかシーケンシャルアクセスであるかの種別と、論理ボリュームに予め設定される第１性能指標とをそれぞれ取得するステップと、（1-1）アクセスパターンがランダムアクセスの場合に、第１性能指標を、論理ボリュームを構成する各所定の論理的記憶デバイスの数で除算することにより、第２性能指標を算出するステップと、（1-2）アクセスパターンがランダムアクセスの場合に、所定の時間帯毎の各所定の論理的記憶デバイス毎に、当該所定の論理的記憶デバイスを各物理的記憶デバイスに配置した場合における、第２性能指標の合計値を第３性能指標として算出するステップと、（2-1）アクセスパターンがシーケンシャルアクセスの場合に、第１性能指標を、第２性能指標として設定するステップと、（2-2）アクセスパターンがシーケンシャルアクセスの場合に、所定の時間帯毎の各所定の論理的記憶デバイス毎に、当該所定の論理的記憶デバイスを各物理的記憶デバイスに配置した場合における、第２性能指標の値を第３性能指標として設定するステップと、（３）各第３性能指標の分散値が最小となるように、所定の複数の論理的記憶デバイス毎に、当該所定の複数の論理的記憶デバイスが配置される各物理的記憶デバイスを資源管理グループ内で選択するステップと、をそれぞれ実行する。
【００２６】
本発明のさらに別の観点に従うストレージシステムは、上位装置によりアクセスされる論理ボリュームを前記上位装置に提供する記憶制御装置と、この記憶制御装置に接続される管理用装置を備えるストレージシステムであって、記憶制御装置は、複数の記憶ドライブと、各記憶ドライブがそれぞれ有する物理的記憶領域をグループ化して形成される複数の物理的記憶デバイスと、各物理的記憶デバイスがそれぞれ有する物理的記憶領域にそれぞれ少なくとも一つ以上ずつ設定される複数の論理的記憶デバイスと、を備え、管理用装置は、各論理的記憶デバイスのうち所定の複数の論理的記憶デバイスを論理ボリュームに対応付けさせるための指示を記憶制御装置に与える制御部を備え、かつ、制御部は、上位装置が論理ボリュームにアクセスする場合のアクセスパターンがランダムアクセスであるかシーケンシャルアクセスであるかの種別と論理ボリュームに予め設定される第１性能指標とに応じて、所定の複数の記憶デバイスが配置される各物理的記憶デバイスを選択するようになっている。
【００２７】
本発明の手段、機能、ステップの全部または一部は、コンピュータシステムにより実行されるコンピュータプログラムとして構成可能な場合がある。本発明の構成の全部または一部がコンピュータプログラムから構成された場合、このコンピュータプログラムは、例えば、各種記憶媒体に固定して配布等することができ、あるいは、通信ネットワークを介して送信することもできる。
【発明を実施するための最良の形態】
【００２８】
図１は、本発明の実施形態の全体概要を示す構成説明図である。本実施形態の詳細は、後述の各実施例により明らかとなる。本実施形態の記憶制御装置１は、上位装置としてのホスト２に通信ネットワークを介して接続されている。
【００２９】
記憶制御装置１は、例えば、複数のディスクドライブ３と、RAIDグループ４と、論理デバイス（以下、Logical Deviceの略として「LDEV」と呼ぶ場合がある）５と、論理ボリューム（以下、（Logical Unitの略として「ＬＵ」と呼ぶ場合がある）６と、ＬＵ構成制御部７とを備えて構成される。実際の記憶制御装置１の物理的構成の一例については、図２と共に詳述する。
【００３０】
「記憶ドライブ」としてのディスクドライブ３は、必ずしもディスク型の記憶媒体を用いている必要はなく、ハードディスクドライブ以外の他の記憶デバイスを用いることもできる。例えば、半導体メモリ装置（フラッシュメモリデバイスを含む）、ホログラフィックメモリ、光ディスク装置、光磁気ディスク装置、磁気テープ装置等を、記憶ドライブとして用いる構成でもよい。
【００３１】
各ディスクドライブ３がそれぞれ有する物理的記憶領域は、RAIDグループ４としてグループ化されている。RAIDグループ４は、例えば、RAID１，RAID５等のように、複数の物理的記憶領域を一つの物理的記憶領域に仮想化するものである。RAIDグループ４は、「物理的記憶デバイス」に該当する。
【００３２】
「論理的記憶デバイス」としての論理デバイス５は、各RAIDグループ４にそれぞれ少なくも一つずつ以上設けることができる。図１中では、各RAIDグループ４内にそれぞれ２個ずつの論理デバイス５を設けているが、これに限らず、例えば、１個または３個以上の論理デバイス５を設けることができる。各論理デバイス５の記憶容量は、固定または可変に設定することができる。本実施形態では、説明の便宜上、各論理デバイス５は、固定された同一の記憶容量を備えているものとする。後述の実施例で述べるように、各論理デバイス５は、基本LDEV容量と呼ばれる同一の記憶容量を有するように生成される。
【００３３】
論理ボリューム６は、ホスト２からアクセス対象として認識される。論理ボリューム６は、記憶制御装置１に複数設けることができる。図１では、説明の便宜上、一つの論理ボリューム６を示している。
【００３４】
論理ボリューム６は、記憶制御装置１の有する通信ポートに対応付けられており、IP（Internet Protocol）アドレスやWWN（World Wide Name）等のようなネットワークアドレスが設定されている。ホスト２上で稼働するデータベース管理ソフトウェア等のようなアプリケーションプログラムは、論理ボリューム６にアクセスしてデータの読み書きを行うことにより、業務処理を実行する。
【００３５】
図１に示すように、論理ボリューム６は、複数の論理デバイス５の集合体として生成されている。即ち、論理ボリューム６の記憶空間は、各論理デバイス５がそれぞれ有する記憶領域の集合として構成される。ホスト２は、論理ボリューム６が複数の論理デバイス５から形成されていることを認識せずに、単一のボリュームとして認識する。論理ボリューム６に割り当てられた順番で、論理デバイス５の記憶領域は、論理ボリューム６の記憶領域を部分的に構築する。即ち、論理ボリューム６に最初に割り当てられた第１順位の論理デバイス５は、論理ボリューム６の記憶領域のうち先頭の部分を担当し、論理ボリューム６に次に割り当てられた第２順位の論理デバイス５は、論理ボリュームの記憶領域のうち先頭部分に続く次の部分を担当する。このようにして、各論理デバイス５の記憶領域が順番に、論理ボリューム６の記憶領域を構成していく。
【００３６】
「制御部」としてのＬＵ構成制御部（以下、「制御部」と略記）７は、複数の論理デバイス５から一つの論理ボリューム６を生成して、この生成された論理ボリューム６をホスト２に提供する。制御部７は、例えば、マイクロプロセッサやメモリ等を有するコントローラ内の機能として実現される。あるいは、制御部７は、記憶制御装置１の外部に設けられた管理サーバ等のような別のコンピュータ装置内に設けることもできる。
【００３７】
制御部７は、例えば、アクセスパターン７Ａ及び論理ボリューム６の負荷７Ｂがユーザから入力されると、各論理デバイス５の負荷をそれぞれ算出する（７Ｃ）。そして、制御部７は、各論理デバイス５の予測負荷に基づいて、各RAIDグループ４の負荷をそれぞれ算出する（７Ｄ）。制御部７は、各RAIDグループ４に負荷が分散するように、論理ボリューム６を構成する論理デバイス５の配置先を選択する（７Ｅ）。
【００３８】
論理ボリューム６の負荷７Ｂとは、「第１性能指標」に該当する。負荷７Ｂは、論理ボリューム６に期待される負荷の最大値を示す。性能指標としては、例えば、単位時間当たりのデータ入出力回数（IOPS：Input/Output Per Second）を用いることができる。
【００３９】
アクセスパターン７Ａとは、ホスト２から発行されるアクセス要求のパターンを意味し、具体的には、アクセスパターン７Ａとは、ホスト２からのアクセスがランダムアクセスであるかシーケンシャルアクセスであるかの種別を示す。ランダムアクセスとは、ホスト２が論理ボリューム６内の記憶領域をランダムにアクセスすることを意味し、シーケンシャルアクセスとは、ホスト２が論理ボリューム６内の特定の記憶領域を連続的にアクセスすることを意味する。
【００４０】
制御部７は、アクセスパターン７Ａ及び論理ボリューム６に期待される負荷（第１性能指標）に基づいて、論理ボリューム６を構成する各論理デバイス５の負荷（第２性能指標）をそれぞれ算出する。論理ボリューム６を構成する各論理デバイス５は、「所定の複数の論理デバイス」に相当する。
【００４１】
例えば、制御部７は、ホスト２が論理ボリューム６にアクセスするパターンがランダムアクセスである場合、論理ボリューム６に関する第１性能指標を、論理ボリューム６を構成する論理デバイスの数で除算することにより、各論理デバイス５に関する第２性能指標を算出する。
【００４２】
図１に示す例の場合、第１性能指標を仮に「１００」とすると、第２性能指標は「２５（＝１００÷４）」となる。ランダムアクセスの場合、論理ボリューム６の全記憶領域に均等にアクセスされることを期待できるため、論理ボリューム６を構成する論理デバイス５の数で第１性能指標を除算することにより、第２性能指標を得ることができる。
【００４３】
ホスト２が論理ボリューム６にアクセスするパターンがシーケンシャルアクセスである場合、制御部７は、論理ボリューム６の第１性能指標の値を各論理デバイス５の第２性能指標の値として使用する。先の例では、第２性能指標の値は、「１００」となる。シーケンシャルアクセスの場合、各論理デバイス５のいずれもが、ホスト２から集中してアクセスされる可能性がある。従って、各論理デバイス５の第２性能指標を、論理ボリューム６の第１性能指標と同一の値に設定することができる。
【００４４】
制御部７は、アクセスパターンの種別に応じて算出された第２性能指標に基づいて、各RAIDグループ４の第３性能指標をそれぞれ算出する。ランダムアクセスの場合、制御部７は、RAIDグループ４に配置された各論理デバイス５の第２性能指標を合計することにより、そのRAIDグループ４に関する第３性能指標を得る。即ち、上記の例では、論理ボリューム６に対応付けられる論理デバイス５が一つだけ設けられるRAIDグループ４の場合、その第３性能指標は、「２５」となる。もしも、そのRAIDグループ４内で、論理ボリューム６に対応付けられる論理デバイス５の数が２の場合、そのRAIDグループ４の第３性能指標は、「５０（＝２５＋２５）」となる。
【００４５】
これに対し、シーケンシャルアクセスの場合、制御部７は、RAIDグループ４内で論理ボリューム６に対応付けられる論理デバイス５が単一であるか複数であるかを問わずに、一つの論理デバイス５の第２性能指標の値を、そのRAIDグループ４の第３性能指標の値として使用する。上記の例で言えば、シーケンシャルアクセスの場合、第２性能指標は「１００」であるから、論理ボリューム６に対応付けられる論理デバイス５を少なくとも一つ以上備えるRAIDグループ４の第３性能指標は、「１００」となる。そのRAIDグループ４に、第２性能指標が「１００」である論理デバイス５が複数設けられている場合でも、各第２性能指標が加算されることはない。
【００４６】
このようにして、制御部７は、アクセスパターンの種別に応じて、各RAIDグループ４に関する負荷（第３性能指標）をそれぞれ予測する。後述の実施例から明らかとなるように、制御部７は、予め設定されたタイムゾーン毎に、各RAIDグループ４の第３性能指標をそれぞれ算出することもできる。
【００４７】
最後に、制御部７は、各RAIDグループ４の第３性能指標が小さくなるように、論理デバイス５の配置先を決定する。論理デバイス５の配置先とは、論理ボリューム６に対応付ける論理デバイス５が設けられるRAIDグループ４のことである。
【００４８】
例えば、制御部７は、各RAIDグループ４の第３性能指標がそれぞれ実質的に同一となるように、論理ボリューム６に対応付けられる論理デバイス５を各RAIDグループ４に分散させて配置させる。換言すれば、制御部７は、第３性能指標の分散値が最も小さくなるように、論理デバイス５を設けるRAIDグループ４を選択する。
【００４９】
従って、ランダムアクセスされる機会の多い論理ボリューム６の場合、この論理ボリューム６を構成する各論理デバイス５は、複数のRAIDグループ４に分散して配置される可能性が高くなる。これとは逆に、シーケンシャルアクセスされる機会の多い論理ボリューム６の場合、この論理ボリューム６を構成する各論理デバイス５は、特定のRAIDグループ４に集中して配置される可能性が高くなる。
【００５０】
なお、後述の実施例からも明らかとなるように、制御部７は、第３性能指標の分散値を最小化する選択方法に代えて、余剰性能指標を用いることもできる。余剰性能指標とは、そのRAIDグループ４の有する処理能力の余裕分を意味し、具体的には、そのRAIDグループ４の最大の性能指標と第２性能指標との差分を意味する（余剰性能指標＝RAIDグループで処理可能な最大の性能値−第２性能指標）。制御部７は、余剰性能指標が最小となるように、論理ボリューム６を構成する論理デバイス５の配置先を選択することができる。
【００５１】
このように構成される本実施形態では、アクセスパターンの種別と論理ボリューム６に要求される処理性能（第１性能指標）とに基づいて、論理ボリューム６を構成する各論理デバイス５を配置するRAIDグループ４を選択する。これにより、各RAIDグループ４間で負荷を分散させて、記憶制御装置１の応答性能を改善することができる。
【００５２】
特に、本実施形態では、アクセスパターンがランダムアクセスの場合とシーケンシャルアクセスの場合とで、各性能指標の算出方法を変え、ランダムアクセスの場合には、論理ボリューム６を構成する各論理デバイス５がそれぞれ異なるRAIDグループ４に配置されるように構成した。従って、ランダムアクセス時における各RAIDグループ４の負荷を少なくすることができる。この結果、ランダムアクセスに対する記憶制御装置１の応答性能を改善でき、ユーザの使い勝手が向上する。以下、本実施形態をより詳細に説明する。
【実施例１】
【００５３】
図２は、本実施例による記憶制御装置の構成を示すブロック図である。ホスト２０は、例えば、CPU（Central Processing Unit）２１やメモリ２２等の情報処理資源を備えたコンピュータ装置であり、例えば、パーソナルコンピュータ、ワークステーション、サーバコンピュータ、メインフレームコンピュータ等として構成される。
【００５４】
ホスト２０は、通信ネットワークCN１を介して、記憶制御装置１０にアクセスするための通信制御部と、例えば、データベースソフトウェア等のアプリケーションプログラムと、を備えている。
【００５５】
通信ネットワークCN１としては、例えば、LAN（Local Area Network）、SAN（Storage Area Network）、インターネット、専用回線、公衆回線等を、場合に応じて適宜用いることができる。LANを介するデータ通信は、例えば、TCP/IPプロトコルに従って行われる。ホスト２０がLANを介して記憶制御装置１０に接続される場合、ホスト２０は、ファイル名を指定してファイル単位でのデータ入出力を要求する。ホスト２０がSANを介して記憶制御装置１０に接続される場合、ホスト２０は、ファイバチャネルプロトコルに従って、ブロック単位でデータ入出力を要求する。
【００５６】
管理サーバ３０は、記憶制御装置１０の構成等を管理するためのコンピュータ装置であり、例えば、CPU３１やメモリ３２を備えている。管理サーバ３０は、システム管理者等のユーザにより操作される。管理サーバ３０は、通信ネットワークCN２を介して、記憶制御装置１０に接続されている。管理サーバ３０と記憶制御装置１０との間に、管理用のコンピュータ装置を別に設ける構成でもよい。管理サーバ３０によって、複数の記憶制御装置１０を集中して管理する構成としてもよいし、各記憶制御装置１０毎にそれぞれ管理サーバ３０を設ける構成でもよい。
【００５７】
記憶制御装置１０は、例えば、多数のディスクドライブ２１０を備えるディスクアレイシステムとして構成される。記憶制御装置１０は、コントローラ１００と記憶部２００とに大別される。コントローラ１００は、例えば、複数のチャネルアダプタ（以下、「CHA」）１１０と、複数のディスクアダプタ（以下、「DKA」）１２０と、キャッシュメモリ１３０と、共有メモリ１４０と、接続制御部１５０及びサービスプロセッサ（以下、「SVP」）１６０とを備えて構成される。
【００５８】
各CHA１１０は、ホスト２０との間のデータ通信を行うものである。各CHA１１０は、ホスト２０と通信を行うための通信ポート１１１を少なくとも一つ以上備えている。各CHA１１０は、それぞれCPUやメモリ等を備えたマイクロコンピュータシステムとして構成されており、ホスト２０から受信した各種コマンドを解釈して実行する。各CHA１１０には、それぞれを識別するためのネットワークアドレス（例えば、IPアドレスやWWN）が割り当てられており、各CHA１１０は、それぞれが個別にNAS（Network Attached Storage）として振る舞うことも可能である。複数のホスト２０が存在する場合、各CHA１１０は、各ホスト２０からの要求をそれぞれ個別に受け付けて処理する。
【００５９】
各DKA１２０は、記憶部２００が有するディスクドライブ２１０との間でデータ授受を行うものである。各DKA１２０は、CHA１１０と同様に、CPUやメモリ等を備えたマイクロコンピュータシステムとして構成される。各DKA１２０は、SAN等の通信ネットワークCN３を介して、各ディスクドライブ２１０にそれぞれ接続されている。
【００６０】
各DKA１２０は、例えば、CHA１１０がホスト２０から受信したデータを、所定のディスクドライブ２１０の所定のアドレスに書込む。また、各DKA１２０は、所定のディスクドライブ２１０の所定のアドレスからデータを読み出し、ホスト２０に送信させる。
【００６１】
ディスクドライブ２１０との間でデータ入出力を行う場合、各DKA１２０は、論理的なアドレスを物理的なアドレスに変換する。論理的なアドレスとは、論理ボリュームのブロック位置を示すアドレスであり、LBA（Logical Block Address）と呼ばれる。各DKA１２０は、ディスクドライブ２１０がRAIDに従って管理されている場合、RAID構成に応じたデータアクセスを行う。例えば、各DKA１２０は、同一のデータを別々のディスクドライブ群（RAIDグループ２２０）にそれぞれ書き込んだり、あるいは、パリティ計算を実行し、データ及びパリティをディスクドライブ群に書き込む。
【００６２】
キャッシュメモリ１３０は、ホスト２０から受信したデータを記憶したり、あるいは、ディスクドライブ２１０から読み出されたデータを記憶するものである。共有メモリ（制御メモリと呼ばれる場合がある）１４０には、記憶制御装置１０の作動に使用するための各種の管理情報や制御情報等が格納される。
【００６３】
なお、ディスクドライブ２１０のいずれか一つあるいは複数を、キャッシュ用のディスクとして使用してもよい。また、キャッシュメモリ１３０と共有メモリ１４０とは、それぞれ別々のメモリとして構成することもできるし、同一のメモリの一部の記憶領域をキャッシュ領域として使用し、他の記憶領域を制御領域として使用することもできる。
【００６４】
接続制御部１５０は、各CHA１１０，各DKA１２０，キャッシュメモリ１３０及び共有メモリ１４０を相互に接続させるものである。接続制御部１５０は、例えば、高速スイッチング動作によってデータ伝送を行うクロスバスイッチ等のように構成できる。
【００６５】
SVP１６０は、例えば、LANのような通信ネットワークCN４を介して、各CHA１１０とそれぞれ接続されている。SVP１６０は、CHA１１０を介して、各DKA１２０やキャッシュメモリ１３０，共有メモリ１４０の情報にアクセスすることができる。SVP１６０は、記憶制御装置１０内の各種状態に関する情報を収集して、管理サーバ３０に提供する。ユーザは、管理サーバ３０の画面を介して、記憶制御装置１０の各種状態を知ることができる。
【００６６】
ユーザは、管理サーバ３０からSVP１６０を介して、例えば、ホスト２０と論理デバイス２３０とのアクセス経路を設定等することができる。SVP１６０は、管理サーバ３０から入力された各種設定値を管理情報等に反映させる。
【００６７】
記憶部２００は、複数のディスクドライブ２１０を備えている。ディスクドライブ２１０としては、例えば、ハードディスクドライブ、フレキシブルディスクドライブ、磁気テープドライブ、半導体メモリドライブ、光ディスクドライブ等のような各種記憶デバイス及びこれらの均等物を用いることができる。また、例えば、FC（Fibre Channel）ディスクやSATA（Serial AT Attachment）ディスク、ATAディスク等のような、異種類のディスクを記憶部２００内に混在させることもできる。
【００６８】
複数のディスクドライブ２１０によって一つのRAIDグループ（パリティグループとも呼ばれる）２２０が形成される。RAIDグループ２２０は、各ディスクドライブ２１０の有する物理的記憶領域をRAIDレベルに従って仮想化したものであり、物理的記憶デバイスに該当する。RAIDグループ２２０の物理的な記憶領域には、所定サイズまたは任意サイズの論理デバイス２３０を一つまたは複数設けることができる。本実施例では、所定サイズの論理デバイス２３０が設けられる場合を説明する。即ち、本実施例において、各論理デバイス２３０の記憶容量は、同一である。
【００６９】
図３は、記憶制御装置１０及び管理サーバ３０の機能的構成をそれぞれ模式的に示す説明図である。管理サーバ３０から説明する。管理サーバ３０に内蔵されているディスクドライブ等の内蔵ストレージ３３には、例えば、要件テーブルＴ１０，構成テーブルＴ２０，性能テーブルＴ３０，仕様テーブルＴ４０等の各種管理テーブルがそれぞれ記憶されている。これら各テーブルＴ１０〜Ｔ４０の詳細は別図と共に後述する。なお、後述する別の実施例から明らかとなるように、各テーブルＴ１０〜Ｔ４０等は、記憶制御装置１０の内部に記憶させることもできる。
【００７０】
管理サーバ３０には、エージェント３００と、構成管理部３１０及び性能管理部３２０がそれぞれ設けられている。エージェント３００は、ユーザと、構成管理部３１０及び性能管理部３２０からそれぞれ情報を収集して、各テーブルＴ１０〜Ｔ４０等に記憶させるプログラムである。また、エージェント３００は、各テーブルＴ１０〜Ｔ４０等に記憶された情報を用いることにより、論理ボリューム１０２（図４参照）と各論理デバイス２３０とを対応付ける処理を実行する。
【００７１】
構成管理部３１０は、記憶制御装置１０に設けられたAPI（Application Program Interface）１０１を介して、記憶制御装置１０からの構成情報の収集及び記憶制御装置１０の構成の変更等をそれぞれ実行するためのプログラムである。
【００７２】
性能管理部３２０は、記憶制御装置１０内のAPI１０１を介して、記憶制御装置１０の性能に関する情報（性能情報）を収集したり、この性能情報を書き換えたりするためのプログラムである。
【００７３】
記憶制御装置１０のコントローラ１００には、API１０１が設けられている。API１０１は、管理サーバ３０から受信した要求に従って、構成情報や性能情報等を管理サーバ３０に送信したり、構成情報や性能情報等を書き換えたりするためのプログラムである。
【００７４】
図４は、記憶制御装置１０内の記憶構造を模式的に示す説明図である。上述のように、複数のディスクドライブ２１０の有する物理的記憶領域をグループ化することにより、物理的記憶デバイスとしてのRAIDグループ２２０が形成される。そして、各RAIDグループ２２０の有する物理的記憶領域には、一つまたは複数の論理デバイス２３０を設けることができる。
【００７５】
記憶制御装置１０には、ホスト２０からアクセスされる論理ボリューム１０２が少なくとも一つ以上設けられる。論理ボリューム１０２は、少なくとも一つ以上の論理デバイス２３０に対応付けられる。ホスト２０は、論理ボリューム１０２内のブロックアドレスを指定して、記憶制御装置１０にデータの読み書きを要求する。実際のデータ入出力は、ホスト２０から指定されたブロックアドレスの記憶領域を担当する論理デバイス２３０との間で行われる。
【００７６】
図４に示すように、本実施例では、記憶制御装置１０内の記憶資源を資源管理グループ２０１単位で管理している。記憶資源とは、各論理ボリューム１０２及び各RAIDグループ２２０等を示す。どのRAIDグループ２２０内の論理デバイス２３０で論理ボリューム１０２を構成するか否かの判断は、各資源管理グループ２０１内で行われる。
【００７７】
これにより、例えば、それぞれ性能の異なるディスクドライブ２１０から構成されるRAIDグループ２２０を別々の資源管理グループ２０１内で管理することができる。具体的には、一方の資源管理グループ２０１では、例えば、FCディスクドライブ等のような高性能なディスクドライブ２１０に由来する記憶資源を管理し、他方の資源管理グループ２０１では、例えば、ATAディスクドライブ等のような低性能のディスクドライブ２１０に由来する記憶資源を管理することができる。次に、論理ボリューム１０２に対応付ける論理デバイス２３０を、どのRAIDグループ２２０から選択する方が有利であるのかを、図５を用いて説明する。
【００７８】
図５は、論理ボリューム１０２への論理デバイス２３０の割り当て状況に応じて、各RAIDグループ２２０の負荷が相違する様子を示す説明図である。図５（ａ）に示すように、論理ボリューム１０２に期待される性能指標が「６０」であると仮定する。本実施例における性能指標とは、単位時間当たりのデータ入出力要求の処理数（IOPS）であり、負荷と考えることもできる。
【００７９】
ホスト２０からのランダムなアクセス要求によって論理ボリューム１０２に「６０」の負荷が加わった場合を想定する。ランダムアクセスの場合、論理ボリューム１０２の記憶領域の全体が均一にアクセスされると考えても差し支えない。従って、図５（ａ）に示すように、論理ボリューム１０２の実体を構成する６個の論理デバイス２３０には、それぞれ「１０」ずつの負荷が加わると考えることができる。
【００８０】
図５（ｂ）は、論理ボリューム１０２を構成する６個の論理デバイス２３０を、各RAIDグループ２２０にそれぞれ２個ずつ分散して配置した様子を示す。例えば、論理デバイス２３０（＃１，＃４）をRAIDグループ２２０（１−１）に、論理デバイス２３０（＃２，＃５）をRAIDグループ２２０（１−２）に、論理デバイス２３０（＃３，＃６）をRAIDグループ２２０（１−３）に、設ける。
【００８１】
各RAIDグループ２２０には、負荷「１０」の論理デバイス２３０がそれぞれ２個ずつ配置される。従って、各RAIDグループ２２０の負荷（RAIDグループ２２０の性能指標）は、それぞれ「２０（＝１０×２）」となる。
【００８２】
図５（ｃ）は、６個の論理デバイス２３０を一つのRAIDグループ２２０（１−１）に集中して配置した様子を示す。この場合、RAIDグループ２２０（１−１）には、負荷「１０」の論理デバイス２３０が６個設けられるため、RAIDグループ２２０（１−１）の負荷は、「６０（＝１０×６）」となる。その他のRAIDグループ２２０（１−２，１−３）の負荷は、それぞれ「０」となる。図５（ｃ）の場合、特定のRAIDグループ２２０（１−１）にのみ負荷が集中することになる。
【００８３】
従って、上記考察から明らかなように、ホスト２０から論理ボリューム１０２へのアクセスパターンがランダムアクセスの場合、その論理ボリューム１０２を構成する各論理デバイス２３０を、複数のRAIDグループ２２０に分散させて配置させる方が、各RAIDグループ２２０の負荷をそれぞれ小さくすることができる。
【００８４】
これに対し、ホスト２０から論理ボリューム１０２へのアクセスパターンがシーケンシャルアクセスの場合、図５（ｂ）のように各論理デバイス２３０を複数のRAIDグループ２２０に分散させて配置すると、各RAIDグループ２２０の負荷は、増大する。
【００８５】
シーケンシャルアクセスの場合、各論理デバイス２３０には、それぞれ「６０」の負荷が発生し得る。シーケンシャルアクセスの場合は、特定の論理デバイス２３０にアクセスが集中し、かつ、各論理デバイス２３０のいずれもが、ホスト２０からアクセスされる可能性を等しく有するためである。従って、論理デバイス２３０が一つ以上配置されたRAIDグループ２２０の負荷は、「６０」となる。図５（ｂ）に示す配置では、各RAIDグループ２２０の負荷は、それぞれ「６０」となる。
【００８６】
図５（ｃ）に示す配置では、一つのRAIDグループ２２０（１−１）に全ての論理デバイス２３０が配置されている。この場合、RAIDグループ２２０（１−１）の負荷は「３６０（＝６０×６）」とはならず、「６０」となる。一つのRAIDグループ２２０（１−１）に配置されている合計６個の論理デバイス２３０のうち、いずれか一つの論理デバイス２３０にのみ、ホスト２０からのシーケンシャルアクセスが集中するためである。
【００８７】
従って、上記考察から明らかなように、ホスト２０から論理ボリューム１０２へのアクセスパターンがシーケンシャルアクセスの場合、その論理ボリューム１０２を構成する各論理デバイス２３０を、いずれか一つのRAIDグループ２２０に集中して配置させる方が、結果的に、各RAIDグループ２２０の全体としての負荷を小さくすることができる。
【００８８】
図６は、論理デバイス２３０をRAIDグループ２２０に配置するために使用する各テーブルＴ１０〜Ｔ４０の構成及び関係を示す説明図である。後述のように、図６に示すテーブルＴ１０〜Ｔ４０以外の他のテーブルも、本実施例では必要に応じて使用する。なお、以下に述べるテーブル構成は、一つの例であって、本発明は図示するテーブル構成に限定されない。
【００８９】
要件テーブルＴ１０は、ユーザにより設定される要件を保存するテーブルである。ユーザは、一つまたは複数の資源管理テーブルを設定することができる。ユーザは、記憶制御装置１０の有する記憶資源（RAIDグループ２２０や論理デバイス２３０）を、複数の資源管理グループに分けて管理することができる。ユーザにより設定される資源管理グループの構成は、要件テーブルＴ１０に登録される。要件テーブルＴ１０は、例えば、ＬＵグループテーブルＴ１１と、グループ要件テーブルＴ１２と、RAIDグループ・グループテーブルＴ１２とを含んで構成される。
【００９０】
グループ要件テーブルＴ１２は、どのような資源管理グループが設定されているのかを管理するためのテーブルである。グループ要件テーブルＴ１２では、例えば、資源管理グループのグループ名及び基本LDEV容量が管理される。基本LDEV容量とは、論理デバイス２３０の記憶容量を示す値である。ＬＵグループテーブルＴ１１は、資源管理グループに含まれる論理ボリューム１０２について管理する。ＬＵグループテーブルＴ１１では、例えば、ＬＵ名（論理ボリューム名称）及び資源管理グループ名が管理される。以下の説明では、論理ボリューム１０２を「ＬＵ」と呼ぶ場合がある。RAIDグループ・グループテーブルＴ１３は、資源管理グループに含まれるRAIDグループ２２０を管理するためのテーブルである。RAIDグループ・グループテーブルＴ１３では、例えば、資源管理グループ名とRAIDグループ２２０を識別するRAIDグループ番号とが管理される。
【００９１】
構成テーブルＴ２０は、構成管理部３１０によって収集された記憶制御装置１０の構成情報を管理するためのテーブルである。構成テーブルＴ２０は、例えば、ＬＵ構成テーブルＴ２１と、LDEV構成テーブルＴ２２と、RAIDグループ構成テーブルＴ２３とを含んで構成される。
【００９２】
ＬＵ構成テーブルＴ２１は、論理ボリューム１０２の構成を管理するためのテーブルである。ＬＵ構成テーブルＴ２１では、例えば、ＬＵ名と、ＬＵ容量とが管理される。LDEV構成テーブルＴ２２は、各論理ボリューム１０２に含まれる各論理デバイス（LDEV）２３０の構成を管理する。LDEV構成テーブルＴ２２では、例えば、各論理デバイス２３０を識別するためのLDEV番号と、論理ボリューム１０２内で論理デバイス２３０を連結した順番を示す連結番号と、どの論理ボリューム１０２に対応付けられているかを示すＬＵ名と、どのRAIDグループ２２０に設けられている論理デバイス２３０であるかを示すためのRAIDグループ番号とが管理される。
【００９３】
ここで、連結番号について説明する。上述のように、論理ボリューム１０２は、複数の論理デバイス２３０から構成することができる。論理ボリューム１０２に対応付けられた順番で、各論理デバイス２３０にはそれぞれ連結番号が付与される。例えば、一番目に論理ボリューム１０２に対応付けられた論理デバイス２３０には、連結番号「１」が与えられ、その論理ボリューム１０２に２番目に対応付けられた論理デバイス２３０には、連結番号「２」が与えられ、その論理ボリューム１０２に３番目に対応付けられた論理デバイス２３０には、連結番号「３」が与えられる。このように、各論理デバイス２３０には、論理ボリューム１０２に対応付けられた順番で、若い連結番号が設定される。
【００９４】
そして、各論理デバイス２３０は、連結番号の順番で、論理ボリューム１０２の記憶領域をそれぞれ構成する。即ち、連結番号「１」の論理デバイス２３０は、論理ボリューム１０２の記憶領域のうち、先頭ブロックアドレスから基本LDEV容量分の記憶領域に対応付けられる。連結番号「２」の論理デバイス２３０は、連結番号「１」の論理デバイス２３０が担当する記憶領域の次の記憶領域を担当する。なお、以下の説明では、論理デバイス２３０をLDEVと呼ぶ場合がある。
【００９５】
RAIDグループ構成テーブルＴ２３は、各RAIDグループ２２０の構成を管理するテーブルである。RAIDグループ構成テーブルＴ２３では、例えば、RAIDグループ２２０を識別するためのRAIDグループ番号と、そのRAIDグループ２２０のRAIDレベル及びデータ構成と、そのRAIDグループ２２０を構成するディスクドライブ２１０のタイプとが管理される。RAIDレベルとは、例えば、RAID１〜RAID６等のようなRAIDの種類を示す情報である。データ構成とは、例えば、３Ｄ＋１Ｐ（３つのデータと１つのパリティで冗長管理する）、６Ｄ＋２Ｐ（６個のデータと２つのパリティで冗長管理する）等のように、データを冗長管理するための構成を示す情報である。ディスクドライブ２１０のタイプ（図中「ディスクタイプ」と示す）とは、そのRAIDグループ２２０を構成するディスクドライブ２１０の種類を示す情報である。ディスクドライブ２１０の種類としては、例えば、記憶容量や回転数等を挙げることができる。これ以外に、ディスクドライブ２１０のインターフェース種別等を含めることもできる。
【００９６】
性能テーブルＴ３０は、性能管理部３２０を用いて収集した記憶制御装置１０の性能に関する情報を保存するためのテーブルである。性能テーブルＴ３０は、例えば、ＬＵ性能テーブルＴ３１と、タイムゾーンテーブルＴ３２とを含んで構成される。
【００９７】
ＬＵ性能テーブルＴ３１は、論理ボリューム１０２の性能を管理するためのテーブルである。ＬＵ性能テーブルＴ３１では、例えば、論理ボリューム１０２の名称（ＬＵ名）と、タイムゾーンと、アクセスパターンと、論理ボリューム１０２に求められる性能指標（ＬＵ性能指標）とが管理される。アクセスパターンとは、論理ボリューム１０２にホスト２０がアクセスするときのパターンであり、ランダムアクセスまたはシーケンシャルアクセスのいずれかが設定される。ＬＵ性能指標とは、その論理ボリューム１０２に求められる性能値を示す情報である。図中では、便宜上、性能指標を「ＰＩ」と示す。従って、ＬＵ性能指標は「ＬＵ_ＰＩ」と示される。ＬＵ性能指標及びアクセスパターンは、予め設定されている複数のタイムゾーン毎に、それぞれ設定される。
【００９８】
タイムゾーンテーブルＴ３２とは、タイムゾーンを定義するためのテーブルである。例えば、一日を３時間毎に区切ることにより、８個のタイムゾーンを設定することができる。これに限らず、例えば、３０分単位、１時間単位、２時間単位、４時間単位、６時間単位、８時間単位のように、種々の単位で一日の時間を区切ることにより、タイムゾーンを設定することもできる。また、例えば、昼と夜とで、タイムゾーンの設定単位を変える構成としてもよい。さらに、論理ボリューム１０２毎に、タイムゾーンの設定単位を変える構成としてもよい。
【００９９】
仕様テーブルＴ４０は、記憶制御装置１０の仕様に関する情報を記憶するためのテーブルである。仕様テーブルＴ４０は、例えば、RAIDグループ仕様テーブルＴ４１を含んで構成される。RAIDグループ仕様テーブルＴ４１には、RAIDグループ２２０の仕様に関する情報が記憶されている。RAIDグループ仕様テーブルＴ４１は、例えば、RAIDレベルと、ディスクドライブ２１０のタイプと、RAIDグループ２２０の記憶容量と、RAIDグループ２２０が処理可能な最大負荷（最大処理可能IOPS）とを管理している。なお、RAIDグループ仕様テーブルＴ４１と、RAIDグループ構成テーブルＴ２３とを一体化して一つのテーブルにする構成でもよい。
【０１００】
図７は、要件テーブルＴ１０及び構成テーブルＴ２０を示す説明図である。各テーブルＴ１０，Ｔ２０については上述の通りである。図８は、性能テーブルＴ３０及び仕様テーブルＴ４０を示す説明図である。なお、性能テーブルＴ３０と仕様テーブルＴ４０とは、直接的な関連はないが、便宜上、両テーブルＴ３０，Ｔ４０を線で接続して示す。
【０１０１】
図９は、エージェント３００により実行されるエージェント処理の概要を示すフローチャートである。以下に述べる各フローチャートも同様であるが、本発明の理解及び実施に必要な範囲で、各処理の概要を説明する。従って、実際のコンピュータプログラムとは異なる場合もある。また、当業者であれば、ステップの変更、追加、削除を適宜行うことができるであろう。
【０１０２】
エージェント３００は、ユーザから要件情報が入力されるまで待機し（Ｓ１０）、ユーザから要件情報が入力されると（S10:YES）、その要件情報を要件テーブルＴ１０に保存させる（Ｓ１１）。
【０１０３】
エージェント３００は、構成管理部３１０を用いて、記憶制御装置１０の構成に関する情報を取得し、その構成に関する情報を構成テーブルＴ２０に保存させる（Ｓ１２）。エージェント３００は、性能管理部３２０を用いて、記憶制御装置１０の性能に関する情報を取得し、その性能に関する情報を性能テーブルＴ３０に保存させる（Ｓ１３）。
【０１０４】
エージェントは、ユーザに対して、ＬＵ構成テーブルＴ２１及びＬＵ性能テーブルＴ３１を編集する機会を与える（Ｓ１４）。ユーザは、例えば、タイムゾーン毎のアクセスパターン等を適宜設定することができる。
【０１０５】
エージェント３００は、論理ボリューム（ＬＵ）１０２と複数の論理デバイス（LDEV）２３０との対応付けを行う（Ｓ１５）。この対応付け処理については、図１３等と共に後述する。エージェント３００は、論理ボリューム１０２と各論理デバイス２３０との対応付けの結果、即ち、設計結果を管理サーバ３０の画面に表示させる（Ｓ１６）。
【０１０６】
エージェント３００は、Ｓ１６でユーザに提示された設計結果をユーザが承認したか否かを判定する（Ｓ１７）。即ち、エージェント３００は、画面に表示させた設計結果を記憶制御装置１０の構成に反映させるかを判定する（Ｓ１８）。より具体的には、エージェント３００は、ユーザにより設定された資源管理グループにおいて、論理ボリューム１０２と論理デバイス２３０との対応付けを実行するか否かを判定する。
【０１０７】
設計結果に基づいて記憶制御装置１０の構成を変更する場合（S17:YES）、エージェント３００は、構成管理部３１０を用いて、論理ボリューム１０２と各論理デバイス２３０とを対応付けさせる（Ｓ１８）。ユーザが設計結果に満足しない場合（S17:NO）、エージェント３００は、Ｓ１０に戻る。
【０１０８】
図１０は、ユーザが要件情報を入力する場合に使用されるグループ設定画面１０００の一例を示す説明図である。なお、以下に述べる画面構成は、一例であって、本発明はこれに限定されない。
【０１０９】
グループ設定画面１０００には、例えば、グループリスト表示部１００１と、グループ名表示部１００２と、基本LDEV容量表示部１００３と、ＬＵリスト表示部１００４と、RAIDグループリスト表示部１００５と、キャンセルボタンＢ１と、登録ボタンＢ２と、編集ボタンＢ３，Ｂ４とが含まれている。
【０１１０】
グループリスト表示部１００１は、記憶制御装置１０内に設定される資源管理グループの名称を表示する。グループ名表示部１００２は、表示部１００１で選択された資源管理グループの名称を表示する。基本LDEV容量表示部１００３は、選択された資源管理グループに設定される基本LDEV容量の値を表示する。
【０１１１】
ＬＵリスト表示部１００４は、選択された資源管理グループに含まれている論理ボリューム１０２の名称を表示する。RAIDグループリスト表示部１００５は、選択された資源管理グループに含まれているRAIDグループ２２０の番号を表示する。キャンセルボタンＢ１は、ユーザの入力を取り消すためのボタンである。登録ボタンＢ２は、ユーザから入力された値を要件テーブルＴ１０に記憶させるためのボタンである。一方の編集ボタンＢ３は、ＬＵリスト表示部１００４に表示されるリストをユーザが編集するためのボタンであり、他方の編集ボタンＢ４は、RAIDグループリスト表示部１００５に表示されるリストをユーザが編集するためのボタンである。
【０１１２】
一方の編集ボタンＢ３をユーザが選択すると、編集画面１０１０が表示される。この編集画面１０１０には、例えば、未使用の論理ボリューム１０２の名称をリスト表示させる表示部１０１１と、使用する論理ボリューム１０２の名称をリスト表示させる表示部１０１２とが含まれている。ユーザは、未使用の各論理ボリューム１０２の中から、使用を希望する論理ボリューム１０２を選択する。選択された論理ボリューム１０２は、表示部１００２で選択されている資源管理グループに含まれる。
【０１１３】
上記同様に、他方の編集ボタンＢ４をユーザが選択すると、編集画面１０２０が表示される。この編集画面１０２０には、例えば、未使用のRAIDグループ２２０の番号をリスト表示させる表示部１０２１と、使用するRAIDグループ２２０の番号をリスト表示させる表示部１０２２とが含まれている。ユーザは、未使用の各RAIDグループ２２０の中から、使用を希望するRAIDグループ２２０の番号を選択する。選択されたRAIDグループ２２０は、表示部１００２で選択されている資源管理グループに含まれる。
【０１１４】
図１１は、性能設定画面１１００を示す説明図である。この画面１１００は、例えば、図９中のＳ１４において、ユーザによる編集作業のために使用される。性能設定画面１１００には、例えば、グループリスト表示部１１０１と、ＬＵ性能指標表示部１１０２と、キャンセルボタンＢ１及び登録ボタンＢ２とを含めることができる。
【０１１５】
グループリスト表示部１１０１は、記憶制御装置１０に設定されている各資源管理グループの名称が表示される。ＬＵ性能指標表示部１１０２には、グループリスト表示部１１０１で選択された資源管理グループに含まれている各論理ボリューム１０２の性能指標に関する値等が表示される。即ち、この表示部１１０２には、ＬＵ性能テーブルＴ３１に保存される内容が表示される。
【０１１６】
図１２は、設計結果画面１２００を示す説明図である。この画面１２００は、例えば、図９中のＳ１６において、ユーザからの承認を得るために使用される。設計結果画面１２００は、例えば、各RAIDグループ２２０毎に論理デバイス２３０の配置状況を示す配置状況表示部１２０１と、RAIDグループ２２０の性能指標を表示する性能指標表示部１２０２と、キャンセルボタンＢ１及び登録ボタンＢ２を含んで構成される。
【０１１７】
配置状況表示部１２０１では、ユーザにより選択された資源管理グループ内において、各RAIDグループ２２０毎に、そこに配置された論理デバイス２３０の状況が視覚的に表示される。論理デバイス２３０を象徴する図形内には、例えば、その上段に論理デバイス２３０を識別するためのLDEV番号が表示され、その下段に連結番号が表示される。
【０１１８】
性能指標表示部１２０２には、その資源管理グループに含まれる各RAIDグループ２２０の性能指標がタイムゾーン毎にそれぞれ表示される。なお、図１２中では、便宜上、タイムゾーンを省略して示している。
【０１１９】
ユーザが登録ボタンＢ２を選択すると、設計結果画面１２００に表示された設計結果がLDEV構成テーブルＴ２２に登録される。LDEV構成テーブルＴ２２は、論理ボリューム１０２を構成する各論理デバイス２３０が、どのRAIDグループ２２０にどの順番（連結番号）で配置されているのかが保存される。構成管理部３１０は、このLDEV構成テーブルＴ２２を用いることにより、各RAIDグループ２２０から選択された論理デバイス２３０を論理ボリューム１０２に対応付けて、ホスト２０に提供することができる。
【０１２０】
図１３は、図９中のＳ１５で示される論理ボリューム１０２と論理デバイス２３０との対応付けを行う処理の詳細を示すフローチャートである。まず最初に、エージェント３００は、グループ要件テーブルＴ１２に登録されている資源管理グループの名称を抽出する（Ｓ２０）。
【０１２１】
そして、抽出された各資源管理グループ毎に、以下に述べるループ１が開始される。ループ１では、後述するＳ２２〜Ｓ２８が各資源管理グループ毎に繰り返される。エージェント３００は、処理中の資源管理グループに設定されている基本LDEV容量を、グループ要件テーブルＴ１２から抽出する（Ｓ２２）。
【０１２２】
エージェント３００は、RAIDグループ・グループテーブルＴ１３から、処理中の資源管理グループに含まれるRAIDグループ２２０の番号のリストを抽出する（Ｓ２３）。エージェント３００は、抽出されたRAIDグループ２２０の番号に関して、RAIDグループ構成テーブルＴ２３とRAIDグループ仕様テーブルＴ４１とを使用することにより、RAIDグループ情報テーブルＴ５０を作成する（Ｓ２４）。RAIDグループ情報テーブルＴ５０は、論理ボリューム１０２と論理デバイス２３０との対応付けに際して一時的に作成される作業用テーブルである。
【０１２３】
エージェント３００は、処理中の資源管理グループに含まれる論理ボリューム１０２のリストを、ＬＵグループテーブルＴ１１から抽出し、リストを作成する（Ｓ２５）。エージェント３００は、ループ１内において、第２のループ２を開始する。ループ２では、詳細処理１が実行される（Ｓ２７）。詳細処理１については、図１５と共に後述する。
【０１２４】
ループ２が終了すると（Ｓ２８）、次の資源管理グループについて、論理ボリューム１０２と論理デバイス２３０との対応付けが行われる。そして、ループ１が終了すると（Ｓ２９）、図９中のＳ１６に移行する。
【０１２５】
図１４は、RAIDグループ情報テーブルＴ５０の構成を示す説明図である。図１４中の下側に示すRAIDグループ情報テーブルＴ５０は、例えば、RAIDグループ番号と、使用可能LDEV数と、使用済LDEV数と、処理可能IOPSと、タイムゾーンと、RAIDグループ性能指標とを対応付けて記憶する。
【０１２６】
テーブルＴ５０内のRAIDグループ番号には、RAIDグループ構成テーブルＴ２３から読み出された値が設定される。Ｔ５０内の使用可能LDEV数とは、RAIDグループ２２０内に設定することができる論理デバイス２３０の数の最大値を示す。使用可能LDEV数は、RAIDグループ仕様テーブルＴ４１の容量を基本LDEV容量で除算した値から得られる（使用可能LDEV数＝RAIDグループ容量／基本LDEV容量）。なお、除算した値に小数点以下が含まれる場合、小数点以下の値は切り捨てる。
【０１２７】
テーブルＴ５０内の使用済LDEV数とは、RAIDグループ内で既に使用されている論理デバイス２３０の数を示す値である。論理ボリューム１０２と論理デバイス２３０との対応付けが進むにつれて、使用済LDEV数の値は変化する。RAIDグループ情報テーブルＴ５０を作成した時点では、使用済LDEV数には、初期値「０」が設定される。
【０１２８】
テーブルＴ５０内の処理可能IOPSには、RAIDグループ仕様テーブルＴ４１から読み出された値が設定される。テーブルＴ５０内のタイムゾーンには、タイムゾーンテーブルＴ３２に定義されている各タイムゾーンの値が設定される。RAIDグループの性能指標には、初期値「０」が設定される。
【０１２９】
このように、RAIDグループ情報テーブルＴ５０は、処理対象の資源管理グループに含まれる各RAIDグループ２２０のそれぞれについて、予め定義されている各タイムゾーン毎にレコードが生成される。
【０１３０】
図１５は、図１３中にＳ２７で示される詳細処理１を示すフローチャートである。この詳細処理は、処理対象の資源管理グループに含まれる各論理ボリューム１０２毎に、それぞれ実行される。
【０１３１】
エージェント３００は、処理対象の論理ボリューム１０２に設定されている記憶容量を、ＬＵ構成テーブルＴ２１から取得する（Ｓ４０）。エージェント３００は、論理ボリューム１０２の記憶容量（図中のＬＵ容量）と基本LDEV容量とに基づいて、論理ボリュームに対応付けられる論理デバイス２３０の数を算出する（Ｓ４１）。論理ボリューム１０２に対応付けられる論理デバイス２３０の数を、本実施例では、使用LDEV数と呼ぶ。具体的には、ＬＵ容量を基本LDEV容量で除算し、小数点以下を切り捨てることにより、使用LDEV数を求めることができる（使用LDEV数＝ＬＵ容量／基本LDEV容量）。
【０１３２】
エージェント３００は、ＬＵ性能テーブルＴ３１と使用LDEV数とに基づいて、ＬＵ情報テーブルＴ６０を作成する（Ｓ４２）。ＬＵ情報テーブルＴ６０は、論理ボリューム１０２に論理デバイス２３０を対応付ける処理で使用される一時的な作業用テーブルであり、例えば、処理対象のＬＵ名と、使用LDEV数と、アクセスパターンと、論理ボリューム１０２の性能指標とが各タイムゾーン毎に記録される。
【０１３３】
エージェント３００は、ＬＵ情報テーブルＴ６０に基づいて、LDEV情報テーブルＴ７０をＴ７０を作成する（Ｓ４３）。LDEV情報テーブルＴ７０は、論理ボリューム１０２に論理デバイス２３０を対応付ける処理で使用される一時的な作業用テーブルであり、その詳細は、図１６と共に後述する。
【０１３４】
LDEV情報テーブルＴ７０に設定される、論理デバイス２３０の性能指標（LDEV_PI）は、以下のルールに基づいて算出される。
【０１３５】
（１）アクセスパターンがランダムアクセスの場合
LDEV性能指標は、ＬＵ性能指標を使用LDEV数で除算した値とする（LDEV性能指標＝ＬＵ性能指標／使用LDEV数）。上述の通り、ランダムアクセスの場合、ホスト２０によって、論理ボリューム１０２内の記憶領域が均一にアクセスされると期待することができる。従って、論理ボリューム１０２に加わる負荷（ＬＵ性能指標）を、その論理ボリューム１０２を構成する論理デバイス２３０の数で除算することにより、各論理デバイス２３０に加わる負荷（LDEV性能指標）の値とすることができる。
【０１３６】
（２）アクセスパターンがシーケンシャルアクセスの場合
LDEV性能指標は、ＬＵ性能指標と同一の値とする。上述の通り、シーケンシャルアクセスの場合、論理ボリューム１０２を構成する各論理デバイス２３０のいずれかに対して、集中的にデータが入出力される。従って、各論理デバイス２３０に加わり得る負荷は、論理ボリューム１０２に加わる負荷と同一であるとみなすことができる。
【０１３７】
このようにして、LDEV情報テーブルＴ７０を作成した後、エージェント３００は、LDEV情報テーブルＴ７０に登録された各論理デバイス２３０毎に、詳細処理２をそれぞれ実行する。詳細処理２の内容は、図１７と共に後述する。
【０１３８】
図１６は、図１５中のＳ４３で作成されるLDEV情報テーブルＴ７０の構成を示す説明図である。LDEV情報テーブルＴ７０は、例えば、LDEV番号と、連結番号と、ＬＵ名と、RAIDグループ番号と、アクセスパターンと、LDEV性能指標とを、各タイムゾーン毎にそれぞれ対応付けて記憶する。
【０１３９】
テーブルＴ７０内のLDEV番号には、処理対象の論理ボリューム１０２に対応付けられる論理デバイス２３０を特定するための番号が設定される。テーブルＴ７０内の連結番号には、処理対象の論理ボリューム１０２に、その論理デバイス２３０を対応付ける順番が設定される。テーブルＴ７０内のRAIDグループ番号には、その論理デバイス２３０が配置されるRAIDグループ２２０の番号が設定される。テーブルＴ７０の作成時点では、論理デバイス２３０を設けるRAIDグループ２２０は決定されていないため、RAIDグループ番号の欄は空欄となっている。LDEV性能指標には、アクセスパターンの種別に応じて図１５中のＳ４３で算出された値が設定される。
【０１４０】
図１７は、図１５中にＳ４５で示される詳細処理２を示すフローチャートである。最初に、エージェント３００は、LDEV情報テーブルＴ７０及びRAIDグループ情報テーブルＴ５０のバックアップを作成する（Ｓ５０）。
【０１４１】
次に、エージェント３００は、テンプデータを初期化する（Ｓ５１）。テンプデータには、最小分散値と、使用するRAIDグループ２２０の番号とが含まれる。Ｓ５１では、最小分散値の初期値として、予め用意されている最大の分散値を設定する。また、Ｓ５１では、使用するRAIDグループ２２０の番号としてヌル値を設定する。
【０１４２】
エージェント３００は、RAIDグループ情報テーブルＴ５０に記載された各RAIDグループ２２０について、ループ４内のステップをそれぞれ実行する。エージェント３００は、処理対象のRAIDグループ２２０の使用可能LDEV数と使用済LDEV数とを比較し、使用可能LDEV数が使用済LDEV数よりも大きいか否かを判定する（Ｓ５３）。
【０１４３】
使用可能LDEV数が使用済LDEV数よりも小さい場合（S53:NO）、Ｓ５４〜Ｓ５８のステップをスキップして、ループ４を終了する（Ｓ５９）。
【０１４４】
使用可能LDEV数が使用済LDEV数よりも大きい場合（S53:YES）、エージェント３００は、処理中のLDEV番号と処理中のRAIDグループ番号とを対応付け、かつ、そのRAIDグループ２２０の性能指標を算出する（Ｓ５４）。即ち、エージェント３００は、論理デバイス２３０を設定する余裕のあるRAIDグループ２２０に、LDEV番号を対応付けると共に、そのRAIDグループ２２０に論理デバイス２３０を配置した場合の性能指標を算出する。より具体的には、LDEV情報テーブルＴ７０において、処理中のLDEV番号に対応するRAIDグループ番号に、処理中のRAIDグループ２２０の番号を設定し、かつ、RAIDグループ情報テーブルＴ５０において、処理中のRAIDグループ２２０の使用済LDEV数の値を１つ増加させる。RAIDグループ２２０の性能指標は、アクセスパターンの種別に応じて算出される。
【０１４５】
（１）アクセスパターンがランダムアクセスの場合
RAIDグループ２２０の最新の性能指標に、論理デバイス２３０の性能指標を加算することにより、RAIDグループ２２０の性能指標を算出する（RAIDグループＰＩ＝RAIDグループＰＩ＋LDEV_PI）。従って、ランダムアクセスの場合、そのRAIDグループ２２０に配置される論理デバイス２３０の数が増加するほど、そのRAIDグループ２２０の性能指標の値は増大することになる。
【０１４６】
（２）アクセスパターンがシーケンシャルアクセスの場合
そのRAIDグループ２２０に一つ以上の論理デバイス２３０が既に割り当てられている場合（２−１）と、未だ一つの論理デバイス２３０も割り当てられていない場合（２−２）とに分けられる。
【０１４７】
（２−１）既に論理デバイスが割当済みの場合
RAIDグループ２２０の性能指標の値は、変化しない。即ち、そのRAIDグループ２２０に配置された論理デバイス２３０の数が一つ以上の場合、RAIDグループ２２０の性能指標は、LDEV性能指標と同一の値となり、変化しない。但し、上述の通り、シーケンシャルアクセスの場合におけるLDEV性能指標の値は、ランダムアクセスの場合における性能指標の値よりも大きい。
【０１４８】
（２−２）論理デバイスが未割当の場合
RAIDグループ２２０の性能指標の値には、論理デバイス２３０の性能指標の値が設定される。
【０１４９】
次に、エージェント３００は、各RAIDグループ２２０の性能指標についての分散値を算出し（Ｓ５５）、算出した分散値と最小分散値とを比較する（Ｓ５６）。分散値の算出方法については、図１９と共に後述する。
【０１５０】
Ｓ５５で算出された分散値の方が最小分散値よりも小さい場合（S56:YES）、エージェント３００は、テンプデータである最小分散値を更新する（Ｓ５７）。エージェント３００は、Ｓ５４において一部の項目の値が変更されたLDEV情報テーブルＴ７０及びRAIDグループ情報テーブルＴ５０を、それぞれ元に戻す（Ｓ５８）。即ち、Ｓ５０でバックアップされたLDEV情報テーブルＴ７０及びRAIDグループ情報テーブルＴ５０に戻す。
【０１５１】
このように、ループ４では、各RAIDグループ毎に、それぞれ性能指標及び分散値が算出されていく。そして、ループ４が終了すると（Ｓ５９）、エージェント３００は、最も分散値が小さくなるRAIDグループ番号に基づいて、LDEV情報テーブルＴ７０及びRAIDグループ情報テーブルＴ５０をそれぞれ更新する（Ｓ６０）。最後に、エージェント３００は、LDEV情報テーブルＴ７０の記憶内容に基づいて、LDEV構成テーブルＴ２２を更新し（Ｓ６１）、詳細処理２を終了する。
【０１５２】
図１８は、図１７に示すフローチャートに関して、LDEV情報テーブルＴ７０及びRAIDグループ情報テーブルＴ５０の変化を示す説明図である。LDEV情報テーブルＴ７０には、処理中のLDEV番号に対応するRAIDグループ番号の欄に、処理中のRAIDグループ２２０の番号が設定される。従って、RAIDグループ番号の欄は、空欄から処理中のRAIDグループ２２０の番号に変化する。
【０１５３】
RAIDグループ情報テーブルＴ５０では、処理中のRAIDグループ２２０の番号において、使用済LDEV数の値が１つ増加する。また、アクセスパターンの種別に応じて、RAIDグループ２２０の性能指標の値が算出されて、登録される。最後に、LDEV構成テーブルＴ２２には、処理中の論理ボリューム１０２に対応付けられる論理デバイス２３０の配置先として、分散値が最も小さくなるRAIDグループ２２０の番号が設定される。図１８ではタイムゾーンを一部省略しているが、各タイムゾーン毎にレコードが形成されるのは、上述した通りである。
【０１５４】
図１９は、分散値の算出方法を示す説明図である。分散値を求める前に、各RAIDグループ２２０の性能指標の平均値が、下記の式１から算出される。即ち、RAIDグループ情報テーブルＴ７０に記載された各RAIDグループ性能指標を、テーブルＴ７０の全レコードについて積算し、この積算値を前記全レコード数で除算することにより、平均値を求めることができる。レコードの総数は、RAIDグループ情報テーブルＴ７０に登録されたRAIDグループ２２０の数とタイムゾーンの数とを乗算することにより、求められる。
【０１５５】
平均値＝（１／全レコード数）×ΣRAIDグループPI・・・（式１）
【０１５６】
分散値は、各RAIDグループ２２０の性能指標と平均値との差の二乗を、RAIDグループ情報テーブルＴ５０の全レコード数の分だけ積算し、この積算値を前記全レコード数で除算することにより、求めることができる。
【０１５７】
分散値＝（１／全レコード数）×Σ（RAIDグループPI−平均値）^2・・・（式２）
【０１５８】
以上述べたように、エージェント３００は、資源管理グループ内において、論理ボリューム１０２を構成する各論理デバイス２３０を、各RAIDグループ２２０にそれぞれ配置した場合の各RAIDグループ性能指標の分散値を、それぞれ算出する。
【０１５９】
図２０〜図３３に基づいて、論理ボリューム１０２を構成する各論理デバイス２３０の配置先を決定する様子の一部を説明する。図２０は、論理ボリューム１０２と論理デバイス２３０との対応付けを行う前の初期状態を示す。
【０１６０】
以下の例では、一つの資源管理グループ内に、３個の論理ボリューム１０２（ＬＵ１，ＬＵ２，ＬＵ３）と、３個のRAIDグループ２２０（１−１，１−２，１−３）が含まれているものとする。
【０１６１】
第１の論理ボリューム１０２（ＬＵ１）には２つの論理デバイス２３０（＃１，＃２）が、第２の論理ボリューム１０２（ＬＵ２）には３個の論理デバイス２３０（＃３，＃４，＃５）が、第３の論理ボリューム１０２（ＬＵ３）には３個の論理デバイス２３０（＃６，＃７，＃８，＃９）が、それぞれ対応付けられるものとする。論理デバイス２３０を示す図形内で、上段の数字はLDEV番号を、下段の数字は連結番号をそれぞれ示す。
【０１６２】
また、第１のRAIDグループ２２０（１−１）及び第２のRAIDグループ２２０（１−２）には最大４個の論理デバイス２３０を、第３のRAIDグループ２２０（１−３）には最大８個の論理デバイス２３０を、それぞれ配置可能であるとする。
【０１６３】
図２０中のLDEV情報テーブルＴ７０に示すように、各論理デバイス２３０には、各タイムゾーン毎に、性能指標及びアクセスパターンが登録されている。RAIDグループ番号の欄は、空欄となっている。
【０１６４】
図２１は、RAIDグループ情報テーブルＴ５０の初期状態を示す。初期状態では、論理デバイス２３０は配置されていないため、使用済LDEV数の欄には初期値「０」が設定されている。処理可能IOPSの欄には、RAIDグループ２２０の仕様に応じた値が設定される。RAIDグループ２２０の性能指標の値には、初期値「０」が設定される。RAIDグループ２２０に論理デバイス２３０を配置するシミュレーションが行われると、RAIDグループ性能指標が算出されて、テーブルＴ５０に記載される。
【０１６５】
図２２は、論理デバイス２３０（＃１）を配置する様子を示す。図２２中のLDEV情報テーブルＴ７０には、RAIDグループ２２０（１−１）に論理デバイス２３０（＃１）を配置した場合の状態が示されている。
【０１６６】
図２３に示すように、論理デバイス２３０（＃１）をRAIDグループ２２０（１−１）に配置した場合、RAIDグループ２２０（１−１）の性能指標は、「０」から「１２０００」に変化する。
【０１６７】
この例では、タイムゾーン「０９００−１２００」（９時から１２時まで）において、対象の論理ボリューム１０２（ＬＵ１）にホスト２０がアクセスするパターンは、シーケンシャルアクセスであり、その場合の性能指標は「１２０００」に設定されている。また、タイムゾーン「１２００−１５００」（１２時から１５時まで）においては、その論理ボリューム１０２（ＬＵ１）に関するアクセスパターンはランダムアクセスであり、その場合の性能指標は「２４０００」に設定されている。
【０１６８】
上述の通り、この例では、論理ボリューム１０２（ＬＵ１）は、２つの論理デバイス２３０（＃１，＃２）から構成される。従って、シーケンシャルアクセスされるタイムゾーン「０９００−１２００」において、各論理デバイス２３０（＃１，＃２）の性能指標は、それぞれ「１２０００」となる（LDEV性能指標＝ＬＵ性能指標）。そして、ランダムアクセスされるタイムゾーン「１２００−１５００」において、各論理デバイス２３０（＃１，＃２）の性能指標も、それぞれ「１２０００」となる（LDEV性能指標＝ＬＵ性能指標／使用LDEV数＝２４０００／２）。
【０１６９】
従って、論理デバイス２３０（＃１をRAIDグループ２２０（１−１）に配置した場合、図２３に示すように、タイムゾーン「０９００−１２００」におけるRAIDグループ２２０（１−１）の性能指標は、「１２０００」となり、タイムゾーン「１２００−１５００」におけるRAIDグループ２２０（１−１）の性能指標も、「１２０００」となる。
【０１７０】
この論理デバイス２３０（＃１）を、他のRAIDグループ２２０（１−２）及び２２０（１−３）にそれぞれ配置した場合も、各タイムゾーンにおけるRAIDグループ性能指標の値は、それぞれ「１２０００」となることが容易に理解される。この結果、論理デバイス２３０（＃１）をいずれのRAIDグループ２２０（１−１，１−２，１−３）に対応付けた場合でも、RAIDグループ性能指標の分散値は同一の値となる。従って、エージェント３００は、最初に処理したRAIDグループ２２０（１−１）を論理デバイス２３０（＃１）の配置先として決定する。換言すれば、エージェント３００は、最初に処理したRAIDグループ２２０（１−１）に、論理デバイス２３０（＃１）を設けることを決定する。
【０１７１】
図２４は、論理ボリューム１０２（ＬＵ１）を構成する２番目の論理デバイス２３０（＃２）を配置する様子を示す。図２４では、論理デバイス２３０（＃２）をRAIDグループ２２０（１−２）に配置した場合が示されている。
【０１７２】
図２５に示すように、論理デバイス２３０（＃２）をRAIDグループ２２０（１−２）に配置すると、RAIDグループ２２０（１−２）の各タイムゾーン「０９００−１２００」，「１２００−１５００」毎の性能指標は、それぞれ「１２０００」となる。
【０１７３】
論理デバイス２３０（＃２）をRAIDグループ２２０（１−３）に配置した場合も、論理デバイス２３０（＃２）をRAIDグループ２２０（１−２）に配置した場合と同様に、前記各タイムゾーン毎の性能指標は、それぞれ「１２０００」となる。
【０１７４】
RAIDグループ２２０（１−１）には、既に論理デバイス２３０（＃１）が配置されているため、前記各タイムゾーンの性能指標は、それぞれ「１２０００」となっている。もしも、論理デバイス２３０（＃２）をRAIDグループ２２０（１−１）に配置した場合、前記各タイムゾーン毎の性能指標は、それぞれ「２４０００」に増加する。
【０１７５】
従って、論理デバイス２３０（＃２）をRAIDグループ２２０（１−１）に配置した場合の分散値は、論理デバイス２３０（＃２）をRAIDグループ２２０（１−２）または２２０（１−３）のいずれかに配置した場合の分散値よりも高くなる。
【０１７６】
ここで、分散値が高くなるということは、各RAIDグループ２２０（１−１，１−２，１−３）間における負荷の不均衡が拡大することを意味する。分散値が小さくなるということは、各RAIDグループ２２０（１−１，１−２，１−３）間における負荷が均衡することを意味する。
【０１７７】
そこで、分散値が最も少なくなるRAIDグループ２２０（１−２）または２２０（１−３）のいずれかが、論理デバイス２３０（＃２）の配置先として選択される。エージェント３００は、先に検討した、RAIDグループ２２０（１−２）を論理デバイス２３０（＃２）の配置先として決定する。以上により、論理ボリューム１０２（ＬＵ１）と各論理デバイス２３０（＃１，＃２）との対応付けが完了する。
【０１７８】
図２６，図２７は、第２の論理ボリューム１０２（ＬＵ２）に１番目に対応付けられる論理デバイス２３０（＃３）の配置先を検討する様子を示す。上述した第１の論理ボリューム１０２（ＬＵ１）では、タイムゾーンによってアクセスパターンが変化していたが、第２の論理ボリューム１０２（ＬＵ２）に関するアクセスパターンは、いずれのタイムゾーンにおいてもランダムアクセスであるとする。論理ボリューム１０２（ＬＵ２）の性能指標が「８０００」に設定されている場合、論理デバイス２３０（＃３）の配置されたRAIDグループ２２０の性能指標は、「８０００」となる。
【０１７９】
図２６では、論理デバイス２３０（＃３）をRAIDグループ２２０（１−３）に配置した場合を示す。図２７に示すように、RAIDグループ２２０（１−３）の性能指標は、各タイムゾーンのそれぞれにおいて「８０００」となる。もしも、論理デバイス２３０（＃３）をRAIDグループ２２０（１−１）または２２０（１−２）のいずれかに配置した場合、RAIDグループ性能指標の値は、各タイムゾーンのそれぞれにおいて、「２００００（＝１２０００＋８０００）」となる。
【０１８０】
従って、図２７の下側に示すように、論理デバイス２３０（＃３）をRAIDグループ２２０（１−３）に配置した場合の分散値は、論理デバイス２３０（＃３）をRAIDグループ２２０（１−１）または２２０（１−２）のいずれかに配置した場合の分散値よりも、小さくなる。そこで、エージェント３００は、論理デバイス２３０（＃３）の配置先として、RAIDグループ２２０（１−３）を選択する。
【０１８１】
図２８，図２９は、前記同様に、論理デバイス２３０（＃４）を論理ボリューム１０２（ＬＵ２）に対応付ける様子を示す。図２８では、論理ボリューム１０２（ＬＵ２）に２番目に対応付けられる論理デバイス２３０（＃４）を、RAIDグループ２２０（１−３）に配置した様子が示されている。
【０１８２】
図２９に示すように、論理デバイス２３０（＃４）をRAIDグループ２２０（１−３）に配置した場合、RAIDグループ２２０（１−３）の各タイムゾーンにおける性能指標は、それぞれ「１６０００（＝８０００＋８０００）」となる。
【０１８３】
論理デバイス２３０（＃４）を、各RAIDグループ２２０（１−１，１−２，１−３）のそれぞれに配置した場合の分散値を計算すると、RAIDグループ２２０（１−３）に論理デバイス２３０（＃４）を配置した場合の分散値が最も小さくなる。そこで、エージェント３００は、論理デバイス２３０（＃４）の配置先としてRAIDグループ２２０（１−３）を選択する。
【０１８４】
図３０，図３１は、前記同様に、論理デバイス２３０（＃５）を論理ボリューム１０２（ＬＵ２）に対応付ける様子を示す。図３０では、論理ボリューム１０２（ＬＵ２）に３番目に対応付けられる論理デバイス２３０（＃５）を、RAIDグループ２２０（１−１）に配置した様子が示されている。
【０１８５】
図３１に示すように、論理デバイス２３０（＃５）をRAIDグループ２２０（１−１）に配置した場合、RAIDグループ２２０（１−１）の各タイムゾーンにおける性能指標は、それぞれ「２００００（＝１２０００＋８０００）」となる。
【０１８６】
論理デバイス２３０（＃５）を、各RAIDグループ２２０（１−１，１−２，１−３）のそれぞれに配置した場合の分散値を計算すると、RAIDグループ２２０（１−１）または２２０（１−２）のいずれかに論理デバイス２３０（＃４）を配置した場合の分散値が最も小さくなる。そこで、エージェント３００は、最初に処理したRAIDグループ２２０（１−１）を、論理デバイス２３０（＃５）の配置先として選択する。
【０１８７】
図３２，図３３は、第３の論理ボリューム１０２（ＬＵ３）と各論理デバイス２３０（＃６〜＃９）の対応付けを終えた状態を示す。即ち、エージェント３００が、一つの資源管理グループ内において、各論理ボリューム１０２（ＬＵ１〜ＬＵ３）と各論理デバイス２３０（＃１〜＃９）との対応付けを完了した状態を示している。
【０１８８】
第３の論理ボリューム１０２（ＬＵ３）に、４個の論理デバイス２３０（＃６〜＃９）を順番に対応付ける詳細については、上述した、論理デバイス２３０（＃１〜＃５）を論理ボリューム１０２（ＬＵ１，ＬＵ２）に対応付ける場合と同様であるから、その説明を割愛する。
【０１８９】
本実施例は上述の構成を備えるため、以下の効果を奏する。本実施例では、アクセスパターンの種別と論理ボリューム１０２に要求される処理性能（性能指標）とに基づいて、論理ボリューム１０２を構成する各論理デバイス２３０を配置するRAIDグループ２２０を選択する構成とした。従って、各RAIDグループ２２０間で負荷を分散させて、記憶制御装置１０の応答性能を改善することができる。
【０１９０】
特に、本実施形態では、アクセスパターンがランダムアクセスの場合とシーケンシャルアクセスの場合とで、各性能指標の算出方法を変え、ランダムアクセスの場合には、論理ボリューム１０２を構成する各論理デバイス２３０がそれぞれ異なるRAIDグループ２２０に配置されるように構成した。従って、ランダムアクセス時における各RAIDグループ２２０の負荷を少なくすることができ、ランダムアクセスに対する記憶制御装置１０の応答性能を改善でき、ユーザの使い勝手が向上する。
【実施例２】
【０１９１】
図３４及び図３５に基づいて、本発明の第２実施例を説明する。本実施例を含む以下の実施例は、上述した第１実施例の変形例に相当する。本実施例では、記憶制御装置１０の内部にエージェント３００等を設け、記憶制御装置１０自身が論理ボリューム１０２と論理デバイス２３０との対応付けを自動的に実行する。
【０１９２】
図３４は、本実施例による記憶制御装置１０の構成を模式的に示す説明図である。コントローラ１００には、エージェント３００と、構成管理部３１０と、性能管理部３２０とがそれぞれ設けられている。また、共有メモリ１４０には、各テーブルＴ１０〜Ｔ４０が記憶されている。なお、各テーブルＴ１０〜Ｔ４０は、キャッシュメモリ１３０に記憶させることもできる。
【０１９３】
ユーザは、SVP１６０を介して、コントローラ１００内のエージェント３００に、論理ボリューム１０２と論理デバイス２３０との対応付けに関する諸条件を設定することができるようになっている。
【０１９４】
図３５は、本実施例によるエージェント処理を示すフローチャートである。最初に、エージェント３００は、ユーザから入力された要件情報を要件テーブルＴ１０に保存する（Ｓ７０）。そして、エージェント３００は、ユーザから指定された時刻が到来するまで、待機する（Ｓ７１，Ｓ７２，Ｓ７７）。時刻とは、論理ボリューム１０２に論理デバイス２３０を対応付ける処理を開始する時刻である。ユーザは、例えば、ホスト２０からのアクセス頻度が少ない時間帯を見計らって、処理開始時刻を指定することができる。
【０１９５】
指定時刻が到来すると、エージェント３００は、構成管理部３１０から記憶制御装置１０の構成に関する情報を取得して、構成テーブルＴ２０に保存する（Ｓ７３）。さらに、エージェント３００は、性能管理部３２０から記憶制御装置１０の性能に関する情報を取得して、性能テーブルＴ３０に保存する（Ｓ７４）。
【０１９６】
エージェント３００は、前記実施例で述べたと同様に、論理ボリューム１０２と論理デバイス２３０とを対応付けるための処理を実行する（Ｓ７５）。Ｓ７５の処理は、前記第１実施例と同様なので、説明を省略する。最後に、エージェント３００は、構成管理部３１０を用いて、記憶制御装置１０の構成を変更する（Ｓ７６）。
【０１９７】
このように構成される本実施例も前記第１実施例と同様の効果を奏する。これに加えて、本実施例では、記憶制御装置１０内にエージェント３００等を設ける構成のため、管理サーバ３０が不要となり、構成が簡素となる。また、本実施例では、ユーザが予め指定した時刻に、論理ボリューム１０２と論理デバイス２３０との対応付けを自動的に実行するため、ユーザの使い勝手がさらに向上する。
【実施例３】
【０１９８】
図３６に基づいて第３実施例を説明する。本実施例では、分散値の別の算出方法を提案する。図３６は、分散値の算出方法を示す説明図である。本実施例では、前記式２中のRAIDグループ性能指標に代えて、余剰IOPSという指標を使用する。
【０１９９】
余剰IOPSとは、各RAIDグループ２２０で処理可能な最大のIOPSの値からRAIDグループ性能指標を差し引いたものである（余剰IOPS＝処理可能IOPS−RAIDグループ性能指標（RAIDグループＰＩ））。即ち、余剰IOPSとは、RAIDグループ２２０の処理上の余裕度を意味する指標である。本実施例では、下記式３に従って、分散値を算出する。
【０２００】
分散値＝（１／全レコード数）×Σ（余剰IOPS−平均値）^2・・・（式３）
【０２０１】
そして、エージェント３００は、前記第１実施例または前記第２実施例と同様に、分散値が最小となるように、各論理デバイス２３０毎に、論理デバイス２３０の配置先を決定する。
【実施例４】
【０２０２】
図３７〜図３９に基づいて第４実施例を説明する。本実施例では、連結番号の若い論理デバイス（連結番号の小さな論理デバイス）２３０が、特定のRAIDグループ２２０に偏って配置されるのを防止する。
【０２０３】
図３７は、本実施例による処理の概要を示す説明図である。図３７（ａ）に示すように、RAIDグループ２２０（１−１）には論理デバイス２３０（＃１，＃４，＃７）を、RAIDグループ２２０（１−２）には論理デバイス２３０（＃２，＃５，＃８）を、RAIDグループ２２０（１−３）には論理デバイス２３０（＃３，＃６，＃９）を、それぞれ配置することが決定されたものとする。
【０２０４】
図３７中、太線で示す論理デバイス２３０（＃１，＃３，＃６）は、それぞれ連結番号「１」を有しており、論理ボリューム１０２に１番最初に対応付けられる論理デバイスである。以下の説明では、連結番号「１」を有する論理デバイス２３０を、先頭論理デバイス２３０と呼ぶ場合がある。
【０２０５】
先頭論理デバイス２３０は、論理ボリューム１０２に最初に対応付けられ、論理ボリューム１０２の全記憶領域のうち、その先頭アドレスから先頭論理デバイス２３０の容量分までの記憶領域を担当する。
【０２０６】
ホスト２０上で実行されるアプリケーションプログラムの種類等によっても異なるが、ある種のアプリケーションプログラムは、例えば、管理用のデータを記憶領域の先頭部分に記憶させ、他の通常データを記憶領域の他の部分に記憶させる。管理用のデータは、通常のデータよりも使用頻度が高い。従って、論理ボリューム１０２の記憶領域の先頭部分を担当する先頭論理デバイス２３０は、論理ボリューム１０２の記憶領域の他の部分を担当する論理デバイス２３０よりも、ホスト２０からアクセスされる可能性が高い。特に、データベース管理ソフトウェアの場合には、記憶領域の先頭部分に記憶されたデータに基づいて、記憶領域の他の部分に記憶されたデータにランダムアクセスする場合が多いと考えられる。
【０２０７】
図３７（ａ）に示す配置例では、RAIDグループ２２０（１−３）に、２個の先頭論理デバイス２３０（＃３，＃６）がそれぞれ配置されている。従って、図３７（ａ）が、RAIDグループ性能指標の分散値を最小化する配置例を示している場合でも、実際には、RAIDグループ２２０（１−３）へのアクセス頻度が他のRAIDグループ２２０（１−１，１−２）へのアクセス頻度を上回る可能性がある。
【０２０８】
そこで、本実施例では、図３７（ｂ）に示すように、先頭論理デバイス２３０（＃３）の配置先を、RAIDグループ２２０（１−３）からRAIDグループ２２０（１−２）に変更させる。具体的には、RAIDグループ２２０（１−３）に配置予定の先頭論理デバイス２３０（＃３）と、RAIDグループ２２０（１−２）に配置予定の論理デバイス２３０（＃５）とを交換する。これにより、各RAIDグループ２２０は、それぞれ一つずつの先頭論理デバイス２３０を有することになる。
【０２０９】
図３８は、本実施例による論理ボリューム１０２と論理デバイス２３０との対応付け処理を示すフローチャートである。図３８に示すフローチャートは、図１３に示すフローチャートと同一のステップＳ２０〜Ｓ２９を備えている。さらに、図３８に示すフローチャートには、先頭論理デバイス２３０を分散して配置させるための処理（Ｓ８０）が新たに追加されている。
【０２１０】
図３９は、図３８中にＳ８０で示された先頭論理デバイス２３０の分散処理を示すフローチャートである。エージェント３００は、処理継続フラグＣＦの値が「True」である間だけ、以下に述べるＳ８２〜Ｓ９２を繰り返して実行する（Ｓ８１，Ｓ９３）。処理継続フラグＣＦとは、本処理の実行を継続するか否かを示すフラグであり、「True」または「False」のいずれかの値が設定される。
【０２１１】
まず最初に、エージェント３００は、フラグＣＦの値に「False」を設定し（Ｓ８２）、次に、先頭論理デバイス２３０の数が多い順番で、RAIDグループ２２０の番号のリストを作成する（Ｓ８３）。図３７に示す例では、「１−３，１−１，１−２」というようなリストが作成される。
【０２１２】
エージェント３００は、リストに載った各RAIDグループ２２０のそれぞれについて、ループ２の処理を実行する（Ｓ８４）。このループ２では、処理中のRAIDグループ２２０に先頭論理デバイス２３０が配置されている論理ボリューム１０２のリストを作成する（Ｓ８５）。図３７に示す例では、「ＬＵ２，ＬＵ１」のようなリストが作成される。
【０２１３】
そして、ループ２内で、前記リストに載った各論理ボリューム１０２のそれぞれについて、別のループ３の処理が実行される（Ｓ８６）。ループ３では、処理中の論理ボリューム１０２を構成する各論理デバイス２３０が割り当てられているRAIDグループ２２０の番号と、そのRAIDグループ２２０の有する先頭論理デバイス２３０の数とを、それぞれ抽出して、先頭論理デバイス数テーブルＴ８０を作成する（Ｓ８７）。
【０２１４】
エージェント３００は、テーブルＴ８０に基づいて、処理中のRAIDグループ２２０よりも先頭論理デバイス２３０の数が２個以上少ない他のRAIDグループ２２０が存在するか否かを判定する（Ｓ８８）。処理中のRAIDグループ２２０よりも先頭論理デバイス２３０の数が２個以上少ないRAIDグループ２２０を探索する理由は、先頭論理デバイス２３０の数が１個だけ少ないRAIDグループ２２０との間で、論理デバイス２３０の入れ替えを行っても意味がないためである。
【０２１５】
処理中のRAIDグループ２２０よりも先頭論理デバイス２３０の数が２個以上少ないRAIDグループ２２０が発見された場合（S88:YES）、エージェント３００は、処理中のRAIDグループ２２０内の先頭論理デバイス２３０と、発見されたRAIDグループ２２０内の各論理デバイス２３０のうち最も連結番号の小さい論理デバイスとを交換する（Ｓ８９）。ここで、Ｓ８９は、各論理ボリューム１０２毎にそれぞれ実行されるループ３に含まれているため、同一の論理ボリューム１０２に対応付けられている各論理デバイス２３０の間で、交換が行われる。
【０２１６】
即ち、処理中の論理ボリュームが図３７中の論理ボリューム１０２（ＬＵ２）であり、処理中のRAIDグループがRAIDグループ２２０（１−３）である場合、先頭論理デバイスの数が２個以上少ないRAIDグループは、RAIDグループ２２０（１−２）である。そして、RAIDグループ２２０（１−２）に配置予定の各論理デバイス２３０（＃２，＃５，＃８）のうち、論理ボリューム１０２（ＬＵ２）に対応付けられる論理デバイスは、論理デバイス２３０（＃５）である。従って、図３７に示す例では、論理デバイス２３０（＃５）と先頭論理デバイス２３０（＃３）との配置先が交換される。
【０２１７】
もしも、RAIDグループ２２０（１−２）に、ともに論理ボリューム１０２（ＬＵ２）に対応付けられる論理デバイス２３０（＃５）と論理デバイス２３０（＃４）とが配置される予定であった場合、最も連結番号の小さい論理デバイス２３０（＃５）が、交換対象の論理デバイスとして選択されることになる。
【０２１８】
このようにして、先頭論理デバイスの配置先を変更した後、エージェント３００は、フラグＣＦの値に「True」を設定し（Ｓ９０）、Ｓ８１に戻る。
【０２１９】
処理中のRAIDグループ２２０よりも先頭論理デバイス２３０の数が２個以上少ないRAIDグループ２２０が発見されなかった場合（S88:NO）、他の論理ボリューム１０２について、処理が行われる（ループ３）。
【０２２０】
このように構成される本実施例も前記第１実施例と同様の効果を奏する。これに加えて、本実施例では、論理ボリューム１０２と論理デバイス２３０との配置計画を立案した後で、先頭論理デバイス２３０が特定のRAIDグループ２２０に偏らないように、先頭論理デバイスの配置先を修正する構成とした。従って、アクセス頻度の比較的大きいデータが記憶されやすい先頭論理デバイスを各RAIDグループ２２０に分配することができ、より一層、ランダムアクセス時の負荷を分散させて、記憶制御装置１０の応答性を改善することができる。
【実施例５】
【０２２１】
図４０及び図４１に基づいて、第５実施例を説明する。本実施例では、既に設けられている論理デバイスの存在を考慮して、論理ボリューム１０２と論理デバイス２３０との対応付けを行う。上述の実施例では、初期状態において、各RAIDグループ２２０に論理デバイス２３０がいずれも定義されていない状態を例に挙げて説明した。本実施例では、初期状態において、一つまたは複数の論理デバイス２３０がRAIDグループ２２０に定義されている場合を例に挙げて説明する。
【０２２２】
図４０は、論理ボリューム１０２に論理デバイス２３０を対応付ける処理を示すフローチャートである。このフローチャートは、図１３に示すフローチャートと同一のステップＳ２０〜Ｓ２９を備えている。さらに、本フローチャートでは、Ｓ２５とＳ２６の間に、新規なステップＳ１００が追加されている。Ｓ１００では、既に設定されている論理デバイス２３０の存在に基づいて、RAIDグループ情報テーブルＴ５０を更新する。
【０２２３】
図４１は、図４０中にＳ１００として示された更新処理の詳細を示すフローチャートである。エージェント３００は、LDEV構成テーブルＴ２２に記載された論理ボリューム１０２のうち、図１３中の左下に示すＬＵ名リストに記載された論理ボリューム１０２に関するエントリを削除する（Ｓ１０１）。即ち、これから対応付けを行う予定の範囲内のエントリを削除する。図４１中に示すテーブルＴ２２の場合、論理デバイス２３０（＃１，＃２，＃３，＃４，＃６）に関するエントリがそれぞれ削除される。
【０２２４】
続いて、エージェント３００は、LDEV構成テーブルＴ２２から、図１３中の左側に示すRAIDグループ番号リストに記載されたRAIDグループ番号を有するエントリを抽出する（Ｓ１０２）。即ち、これから開始しようとする対応付け処理（図４０中にＳ２７で示す詳細処理１）において処理対象となるRAIDグループ２２０に既に設定されている論理デバイス２３０に関するエントリを抽出する。
【０２２５】
エージェント３００は、Ｓ１０２で抽出されたエントリ内の各論理デバイス２３０について、以下のＳ１０４〜Ｓ１０６をそれぞれ実行する（Ｓ１０３，Ｓ１０７）。
【０２２６】
まず、エージェント３００は、Ｓ１０２で抽出されたエントリに基づいて、RAIDグループ情報テーブルＴ５０内の「使用済LDEV数」を更新する（Ｓ１０４）。即ち、既に設定されている論理デバイス２３０の数だけ、使用済LDEV数の値を増加させる。図４１に示す例では、RAIDグループ２２０（１−１）には論理デバイス２３０（＃１０）が、RAIDグループ２２０（１−２）には論理デバイス２３０（＃１１）が、それぞれ設定済であるから、エージェント３００は、各RAIDグループ２２０（１−１，１−２）に関する使用済LDEV数の値を、それぞれ初期値「０」から「１」に変化させる。
【０２２７】
エージェント３００は、処理中の論理デバイス２３０に対応付けられている論理ボリューム１０２が使用する論理デバイス２３０の数を、ＬＵ構成テーブルＴ２１及び基本LDEV容量に基づいて算出する（Ｓ１０５）。即ち、処理中の論理デバイスが論理デバイス２３０（＃１０）である場合、その論理デバイス２３０（＃１０）が対応付けられている論理ボリューム１０２（ＬＵ４）の有する論理デバイス２３０の総数を算出する。
【０２２８】
これから対応付け処理を行う予定のRAIDグループ２２０に、既に論理デバイス２３０が設定されている場合、この既存の論理デバイス２３０の分だけ、RAIDグループ２２０の性能指標を予め加算しておく必要がある。従って、Ｓ１０６においてRAIDグループ性能指標を補正するために、Ｓ１０５では、既存の論理デバイス２３０の数を算出する。
【０２２９】
エージェント３００は、下記のように、既存の論理デバイス２３０の性能指標を算出し、この既存の論理デバイス２３０の性能指標を用いて、RAIDグループ情報テーブルＴ５０内の各RAIDグループ２２０の性能指標を更新する（Ｓ１０６）。
【０２３０】
既存の論理デバイス２３０の性能指標は、以下のように算出される。
（１）アクセスパターンがランダムアクセスの場合
LDEV性能指標は、ＬＵ性能指標を使用LDEV数で除算した値とする（LDEV性能指標＝ＬＵ性能指標／使用LDEV数）。
【０２３１】
（２）アクセスパターンがシーケンシャルアクセスの場合
LDEV性能指標は、ＬＵ性能指標と同一値とする（LDEV性能指標＝ＬＵ性能指標）。
【０２３２】
RAIDグループ２２０の性能指標は、以下のように算出される。
（１）アクセスパターンがランダムアクセスの場合
RAIDグループ２２０の最新の性能指標に、既存の論理デバイス２３０の性能指標を加算することにより、RAIDグループ２２０の性能指標を算出する（RAIDグループＰＩ＝RAIDグループＰＩ＋LDEV_PI）。従って、ランダムアクセスの場合、そのRAIDグループ２２０に配置されている既存の論理デバイス２３０の数が多いほど、そのRAIDグループ２２０の性能指標の値は増大することになる。
【０２３３】
（２）アクセスパターンがシーケンシャルアクセスの場合
そのRAIDグループ２２０に既存の論理デバイス２３０が割り当てられている場合（２−１）と、既存の論理デバイス２３０が未だ一つも割り当てられていない場合（２−２）とに分けられる。
【０２３４】
（２−１）既存の論理デバイスが割当済みの場合
RAIDグループ２２０の性能指標の値は、変化しない。即ち、そのRAIDグループ２２０に配置された論理デバイス２３０の数が一つ以上の場合、RAIDグループ２２０の性能指標は、LDEV性能指標と同一の値となり、変化しない。
【０２３５】
（２−２）既存の論理デバイスが未割当の場合
RAIDグループ２２０の性能指標の値には、論理デバイス２３０の性能指標の値が設定される。
【０２３６】
以上の処理を実行することにより、論理ボリューム１０２と新規な論理デバイス２３０との対応付け処理を開始する前における、RAIDグループ２２０に設けられている既存の論理デバイス２３０の状況に基づいて、論理ボリューム１０２と新規な論理デバイス２３０との対応付け処理で用いる性能指標を補正することができる。これにより、論理ボリューム１０２に新規な論理デバイスを、より適切に対応付けることができる。
【実施例６】
【０２３７】
図４２，図４３に基づいて、第６実施例を説明する。本実施例では、一方の論理ボリューム１０２（ＬＵ１）と他方の論理ボリューム１０２（ＬＵ２）とがコピーペアを形成する場合に、各論理ボリューム１０２（ＬＵ１，ＬＵ２）を構成する各論理デバイス２３０（＃１〜＃４）を、それぞれ異なるRAIDグループ２２０に配置させる。
【０２３８】
図４２は、本実施例による論理ボリューム１０２と論理デバイス２３０との対応付けの様子を示す説明図である。第１の論理ボリューム１０２（ＬＵ１）は、２個の論理デバイス２３０（＃１，＃２）から構成され、第２の論理ボリューム１０２（ＬＵ２）も、２個の論理デバイス２３０（＃３，＃４）から構成されている。
【０２３９】
第１の論理ボリューム１０２（ＬＵ１）と第２の論理ボリューム１０２（ＬＵ２）とは、コピーペアを形成している。例えば、第１の論理ボリューム１０２（ＬＵ１）はプライマリボリューム、第２の論理ボリューム１０２（ＬＵ２）はセカンダリボリュームとして使用され、両ボリューム１０２（ＬＵ１），１０２（ＬＵ２）の記憶内容が一致するようになっている。
【０２４０】
図４２では、第１の論理ボリューム１０２（ＬＵ１）を構成する一方の論理デバイス２３０（＃１）をRAIDグループ２２０（１−１）に、第１の論理ボリューム１０２を構成する他方の論理デバイス２３０（＃２）をRAIDグループ２２０（１−２）に、それぞれ配置する様子が示されている。第２の論理ボリューム１０２（ＬＵ２）を構成する一方の論理デバイス２３０（＃３）は、RAIDグループ２２０（１−３）に配置されている。
【０２４１】
第２の論理ボリューム１０２（ＬＵ２）を構成する他方の論理デバイス２３０（＃４）は、もしも、さらに別のRAIDグループ２２０（例えば、RAIDグループ２２０（１−４））が存在する場合には、そのRAIDグループ２２０に配置される。別のRAIDグループ２２０が存在しない場合、各RAIDグループ２２０間でRAIDグループ性能指標の分散値が最小となるように、論理デバイス２３０（＃４）は配置される。
【０２４２】
図４３は、本実施例による対応付け処理の要部を示すフローチャートである。このフローチャートは、図１７で述べた詳細処理２と関連している。即ち、本フローチャートで、新たに設けられているステップＳ１１０〜Ｓ１１７は、図１７に示すフローチャート中、Ｓ５１とＳ６０との間に挿入される。また、本フローチャートで新たに設けられたＳ１１２，Ｓ１１６は、図１７に示すフローチャート中、Ｓ５２〜Ｓ５９の各ステップの処理を示している。即ち、Ｓ１１２，Ｓ１１６は、図１７内のループ４内の処理を行うようになっている。
【０２４３】
エージェント３００は、テンプデータを初期化した後（Ｓ５１）、ＬＵペア構成テーブルＴ９０に基づいて、RAIDグループ２２０の番号リストを、コピーペアを含むRAIDグループ番号とコピーペアを含まないRAIDグループ番号とに、分ける（Ｓ１１０）。
【０２４４】
ＬＵペア構成テーブルＴ９０には、記憶制御装置１０に設けられているコピーペアが記憶されている。ＬＵペアとは、コピーペアを形成する一組の論理ボリューム１０２を意味する。ＬＵペア構成テーブルＴ９０には、プライマリボリューム（P-VOL）となる論理ボリューム１０２の番号と、セカンダリボリューム（S-VOL）となる論理ボリューム１０２の番号とが記憶されている。
【０２４５】
エージェント３００は、上述のＳ１１０において、RAIDグループ２２０の番号リストを、コピーペアを含むRAIDグループ２２０のRAIDグループ番号と、コピーペアを含まないRAIDグループ２２０の番号とに、それぞれ分類する。ここでは、論理デバイス２３０（＃１），２３０（＃２）の処理は既に終了しており、現在の処理対象の論理デバイスは、論理デバイス２３０（＃３）であるものとする。
【０２４６】
図４２に示す例では、RAIDグループ２２０の番号リストは「１−１，１−２，１−３」となる。各RAIDグループ２２０（１−１，１−２，１−３）のうち、RAIDグループ２２０（１−１）には、コピーペアのプライマリボリュームに設定される論理ボリューム１０２（ＬＵ１）に対応付けられる論理デバイス２３０（＃１）が、配置されている。RAIDグループ２２０（１−２）には、論理ボリューム１０２（ＬＵ１）に対応付けられる論理デバイス２３０（＃２）が、配置されている。従って、RAIDグループ２２０の番号リストに記載された「１−１，１−２，１−３」のうち、「１−１，１−２」は、コピーペアを含むRAIDグループ番号に分類される。RAIDグループ２２０（１−３）には、コピーペアに関連する論理デバイス２３０が配置されていないため、「１−３」は、コピーペアを含まないRAIDグループ番号に分類される。
【０２４７】
即ち、「コピーペアを含むRAIDグループ」とは、コピーペアを形成する論理ボリューム１０２に対応付けられる論理デバイス２３０が配置されているRAIDグループ２２０を意味し、「コピーペアを含まないRAIDグループ」とは、コピーペアを形成する論理ボリューム１０２に対応付けられる論理デバイス２３０が配置されていないRAIDグループ２２０を意味する。
【０２４８】
そして、エージェント３００は、以下に述べる通り、処理対象の論理デバイス２３０の配置先として、最初に、コピーペアを含まないRAIDグループ２２０について検討する（Ｓ１１１〜Ｓ１１３）。コピーペアを含まないRAIDグループ２２０に配置できなかった場合（S114:NO）、エージェント３００は、コピーペアを含むRAIDグループ２２０への配置を検討する（Ｓ１１５〜Ｓ１１７）。
【０２４９】
まず最初に、エージェント３００は、コピーペアを含まないRAIDグループ２２０を対象として、処理中の論理デバイス２３０を配置できるか否かを判断する（Ｓ１１１〜Ｓ１１３）。例えば、現在処理中の論理デバイス２３０（＃３）の配置先として、コピーペアを含まないRAIDグループ２２０（１−３）のみが配置先候補として検討される。
【０２５０】
Ｓ１１１〜Ｓ１１３の処理の結果、エージェント３００は、論理デバイス２３０をRAIDグループ２２０に対応付けることができたか否かを判定し（Ｓ１１４）、対応付けることができた場合（S114:YES）、Ｓ６０に移行する。なお、Ｓ６０の後は、図１７に示すＳ６１に移行する。
【０２５１】
処理中の論理デバイス２３０を、コピーペアを含まないRAIDグループ２２０に対応付けることができなかった場合（S114:NO）、エージェント３００は、その論理デバイス２３０の配置先を検討するための候補として、コピーペアを含むRAIDグループ２２０を用い、ループ４の処理を実行する（Ｓ１１５〜Ｓ１１７）。
【０２５２】
上述の通り、Ｓ１１１〜Ｓ１１３とＳ１１５〜Ｓ１１７とは、その処理内容は同一であるが、判断対象となるRAIDグループ２２０の種類が相違する。Ｓ１１１〜Ｓ１１３では、コピーペアを含まないRAIDグループ２２０について、処理対象の論理デバイス２３０を配置可能か否かを判断し、Ｓ１１５〜Ｓ１１７では、コピーペアを含むRAIDグループ２２０について、処理対象の論理デバイス２３０を配置可能か否かを判断する。
【０２５３】
本フローチャートによって、コピーペアに関連する論理デバイス２３０は、コピーペアを含まないRAIDグループ２２０に優先的に配置される。コピーペアを含まないRAIDグループ２２０に配置できなかった場合、コピーペアに関連する論理デバイス２３０は、コピーペアを含むRAIDグループ２２０に配置される。従って、コピーペアに関連する各論理デバイス２３０は、可能な限り別々のRAIDグループ２２０に配置される。
【０２５４】
このように構成される本実施例も前記第１実施例と同様の効果を奏する。これに加えて、本実施例では、コピーペアを形成する各論理ボリューム１０２に対応付けられる各論理デバイス２３０を、できるだけ別々のRAIDグループ２２０に分散して配置させることができる。従って、データ管理の冗長性を高めて、記憶制御装置１０の信頼性をより一層向上させることができる。
【０２５５】
なお、本発明は、上述した各実施例に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。
【図面の簡単な説明】
【０２５６】
【図１】本発明の実施形態の全体概要を示す説明図である。
【図２】記憶制御装置のブロック図である。
【図３】記憶制御装置を含むストレージシステムの機能の概要を示す説明図である。
【図４】記憶制御装置の有する記憶資源をグループ管理する様子を示す説明図である。
【図５】ホストからのアクセスによって論理ボリュームに生じる負荷が、その論理ボリュームを構成する各論理デバイスの配置によって相違する様子を示す説明図である。
【図６】論理ボリュームに論理デバイスを対応付けるために使用される各テーブルの構成及び各テーブル間の関連を示す説明図である。
【図７】要件テーブル及び構成テーブルを示す説明図である。
【図８】性能テーブル及び仕様テーブルを示す説明図である。
【図９】エージェント処理を示すフローチャートである。
【図１０】記憶制御装置内の記憶資源をグループ管理するために使用する設定画面の構成を示す説明図である。
【図１１】論理ボリュームに要求される性能指標を設定するために使用する設定画面の構成を示す説明図である。
【図１２】論理ボリュームと論理デバイスとの対応付けの結果を表示する画面の構成を示す説明図である。
【図１３】図９中のＳ１３で示される論理ボリュームと論理デバイスとの対応付けを行う処理を示すフローチャートである。
【図１４】RAIDグループに関する情報を記憶するためのテーブルの構成を示す説明図である。
【図１５】図１３中のＳ２７で示される処理の内容を示すフローチャートである。
【図１６】論理デバイス（LDEV）に関する情報を記憶するためのテーブルの構成を示す説明図である。
【図１７】図１５中のＳ４５で示される処理の内容を示すフローチャートである。
【図１８】LDEV情報テーブル及びRAIDグループ情報テーブルの関連を示す説明図である。
【図１９】各RAIDグループの性能指標の分散値を求める方法を示す説明図である。
【図２０】論理ボリュームと論理デバイスの対応付けを行う前の初期状態を示す説明図である。
【図２１】初期状態におけるRAIDグループ情報テーブルを示す説明図である。
【図２２】一つの論理デバイスをRAIDグループに配置する様子を示す説明図である。
【図２３】RAIDグループ性能指標の分散値に基づいて、論理デバイスの配置先を決定する様子を示す説明図である。
【図２４】図２２に続いて、他の一つの論理デバイスをRAIDグループに配置する様子を示す説明図である。
【図２５】RAIDグループ性能指標の分散値に基づいて、論理デバイスの配置先を決定する様子を示す説明図である。
【図２６】図２４に続いて、さらに別の論理デバイスをRAIDグループに配置する様子を示す説明図である。
【図２７】RAIDグループ性能指標の分散値に基づいて、論理デバイスの配置先を決定する様子を示す説明図である。
【図２８】図２６に続いて、論理デバイスをRAIDグループに配置する様子を示す説明図である。
【図２９】RAIDグループ性能指標の分散値に基づいて、論理デバイスの配置先を決定する様子を示す説明図である。
【図３０】図２８に続いて、論理デバイスをRAIDグループに配置する様子を示す説明図である。
【図３１】RAIDグループ性能指標の分散値に基づいて、論理デバイスの配置先を決定する様子を示す説明図である。
【図３２】全ての論理ボリュームについて、各論理デバイスをそれぞれ対応付けた結果を示す説明図である。
【図３３】論理デバイスの配置先が決定された場合のRAIDグループ情報テーブルの内容を示す説明図である。
【図３４】第２実施例に係る記憶制御装置の機能構成を示す説明図である。
【図３５】エージェント処理を示すフローチャートである。
【図３６】第３実施例に係る記憶制御装置において、RAIDグループ性能指標の分散値を算出する方法を示す説明図である。
【図３７】第４実施例による処理の概要を示す説明図である。
【図３８】論理ボリュームと論理デバイスとを対応付ける処理を示すフローチャートである。
【図３９】図３８中のＳ８０で示される処理の内容を示すフローチャートである。
【図４０】第５実施例に係る、論理ボリュームと論理デバイスとを対応付ける処理を示すフローチャートである。
【図４１】図４０中にＳ１００で示される処理の内容を示すフローチャートである。
【図４２】第６実施例に係る処理の概要を示す説明図である。
【図４３】コピーペアに関連する論理デバイスを別々のRAIDグループに配置させるための処理の要部を示すフローチャートである。
【符号の説明】
【０２５７】
１…記憶制御装置、２…ホスト、３…ディスクドライブ、４…RAIDグループ、５…論理デバイス、６…論理ボリューム、７…LU構成制御部、１０…記憶制御装置、２０…ホスト、２１…CPU、２２…メモリ、３０…管理サーバ、３１…CPU、３２…メモリ、３３…内蔵ストレージ、１００…コントローラ、１０２…論理ボリューム（LU）、１１０…チャネルアダプタ（CHA）、１１１…通信ポート、１２０…ディスクアダプタ（DKA）、１３０…キャッシュメモリ（CM）、１４０…共有メモリ（SM）、１５０…接続制御部、１６０…サービスプロセッサ（SVP）、２００…記憶部、２０１…資源管理グループ、２１０…ディスクドライブ、２２０…RAIDグループ、２３０…論理デバイス（LDEV）、３００…エージェント、３１０…構成管理部、３２０…性能管理部
【図１】
2008123132.tif 000003
【図２】
2008123132.tif 000004
【図３】
2008123132.tif 000005
【図４】
2008123132.tif 000006
【図５】
2008123132.tif 000007
【図６】
2008123132.tif 000008
【図７】
2008123132.tif 000009
【図８】
2008123132.tif 000010
【図９】
2008123132.tif 000011
【図１０】
2008123132.tif 000012
【図１１】
2008123132.tif 000013
【図１２】
2008123132.tif 000014
【図１３】
2008123132.tif 000015
【図１４】
2008123132.tif 000016
【図１５】
2008123132.tif 000017
【図１６】
2008123132.tif 000018
【図１７】
2008123132.tif 000019
【図１８】
2008123132.tif 000020
【図１９】
2008123132.tif 000021
【図２０】
2008123132.tif 000022
【図２１】
2008123132.tif 000023
【図２２】
2008123132.tif 000024
【図２３】
2008123132.tif 000025
【図２４】
2008123132.tif 000026
【図２５】
2008123132.tif 000027
【図２６】
2008123132.tif 000028
【図２７】
2008123132.tif 000029
【図２８】
2008123132.tif 000030
【図２９】
2008123132.tif 000031
【図３０】
2008123132.tif 000032
【図３１】
2008123132.tif 000033
【図３２】
2008123132.tif 000034
【図３３】
2008123132.tif 000035
【図３４】
2008123132.tif 000036
【図３５】
2008123132.tif 000037
【図３６】
2008123132.tif 000038
【図３７】
2008123132.tif 000039
【図３８】
2008123132.tif 000040
【図３９】
2008123132.tif 000041
【図４０】
2008123132.tif 000042
【図４１】
2008123132.tif 000043
【図４２】
2008123132.tif 000044
【図４３】
2008123132.tif 000045