(57)【要約】【課題】ストレージ装置の可用性の低下を抑制する。【解決手段】上位装置７からのアクセス要求に応じた処理対象である複数のストレージグループから、ファームウェアの適用対象である複数の記憶装置５１の各々が属するストレージグループを特定する特定部４５１と、特定したストレージグループごとの前記アクセス要求に応じた処理時間の推定値に基づいて、前記特定したストレージグループの各々に対してファームウェアの適用処理の優先度を設定する設定部４５２と、設定した優先度に応じた実行順序で、前記優先度が設定されたストレージグループに属する記憶装置５１に対して前記適用処理を行なう適用部４５３と、前記適用処理を実行中のストレージグループ以外のストレージグループに対して、前記アクセス要求に応じた処理を行なうアクセス制御部４２と、をそなえる。【選択図】図５
2018092426.tif 000002
【特許請求の範囲】
【請求項１】
上位装置からのアクセス要求に応じた処理対象である複数のストレージグループから、ファームウェアの適用対象である複数の記憶装置の各々が属するストレージグループを特定する特定部と、
特定したストレージグループごとの前記アクセス要求に応じた処理時間の推定値に基づいて、前記特定したストレージグループの各々に対してファームウェアの適用処理の優先度を設定する設定部と、
設定した優先度に応じた実行順序で、前記優先度が設定されたストレージグループに属する記憶装置に対して前記適用処理を行なう適用部と、
前記適用処理を実行中のストレージグループ以外のストレージグループに対して、前記アクセス要求に応じた処理を行なうアクセス制御部と、をそなえる
ことを特徴とする、ストレージ制御装置。
【請求項２】
前記設定部は、前記アクセス要求に応じた処理時間の推定値が大きいストレージグループほど前記適用処理の実行順序が先となる優先度を設定する、
ことを特徴とする、請求項１記載のストレージ制御装置。
【請求項３】
前記設定部は、前記アクセス要求でアクセス対象に指定された複数のデータのうちのデータ単位の処理時間の推定値が最も大きいデータを割り当てられているストレージグループに対して、前記適用処理が最後又は最後から二番目に実施される優先度を設定する、
ことを特徴とする、請求項１又は請求項２記載のストレージ制御装置。
【請求項４】
前記設定部は、前記アクセス要求でアクセス対象に指定された複数のデータのうちのデータ単位の処理時間の推定値と、前記適用処理の処理時間と、前記特定したストレージグループの数とに基づいて、前記優先度の段階数を決定する、
ことを特徴とする、請求項１〜３のいずれか１項記載のストレージ制御装置。
【請求項５】
前記設定部は、前記優先度の段階数と、前記特定したストレージグループの数とに基づいて、同一の優先度を設定するストレージグループの数を決定する、
ことを特徴とする、請求項４記載のストレージ制御装置。
【請求項６】
複数の記憶装置と、
前記複数の記憶装置の制御を行なうストレージ制御装置と、をそなえ、
前記ストレージ制御装置は、
上位装置からのアクセス要求に応じた処理対象である複数のストレージグループから、ファームウェアの適用対象である複数の記憶装置の各々が属するストレージグループを特定する特定部と、
特定したストレージグループごとの前記アクセス要求に応じた処理時間の推定値に基づいて、前記特定したストレージグループの各々に対してファームウェアの適用処理の優先度を設定する設定部と、
設定した優先度に応じた実行順序で、前記優先度が設定されたストレージグループに属する記憶装置に対して前記適用処理を行なう適用部と、
前記適用処理を実行中のストレージグループ以外のストレージグループに対して、前記アクセス要求に応じた処理を行なうアクセス制御部と、をそなえる
ことを特徴とする、ストレージ装置。
【請求項７】
コンピュータに、
上位装置からのアクセス要求に応じた処理対象である複数のストレージグループから、ファームウェアの適用対象である複数の記憶装置の各々が属するストレージグループを特定し、
特定したストレージグループごとの前記アクセス要求に応じた処理時間の推定値に基づいて、前記特定したストレージグループの各々に対してファームウェアの適用処理の優先度を設定し、
設定した優先度に応じた実行順序で、前記優先度が設定されたストレージグループに属する記憶装置に対して前記適用処理を行ない、
前記適用処理を実行中のストレージグループ以外のストレージグループに対して、前記アクセス要求に応じた処理を行なう
処理を実行させることを特徴とする、制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ制御装置、ストレージ装置、及び制御プログラムに関する。
【背景技術】
【０００２】
磁気テープカートリッジや光ディスクカートリッジ等の可搬媒体を複数収容するライブラリと、ディスクアレイ装置とをそなえる仮想テープライブラリ装置が知られている。仮想テープライブラリ装置は、ホスト装置からライトされたデータを一次キャッシュとして用いられるディスクアレイ装置に格納する。仮想テープライブラリ装置において、ディスクアレイ装置はＴＶＣ（Tape Volume Cache）とも呼ばれる。
【０００３】
ディスクアレイ装置は、複数の記憶装置、例えば、ＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）等のディスクをＲＡＩＤ（Redundant Arrays of Inexpensive Disks）グループ単位で管理する。従って、ディスクの一部からデータが読み出せなくなっても残りのディスクから復旧できるため、データの信頼性を向上できる。
【０００４】
ＴＶＣのディスク内部にはファームウェア（Firmware；以下、ＦＷ、ディスクＦＷ、又は、ディスクファームと表記する場合がある）が格納されている。ＦＷ（例えば更新版のＦＷ）をＴＶＣのディスクに適用するにはディスクへのデータRead/Write処理を一時的に止めることになる。このため、ＦＷ適用中は、ホスト装置から仮想テープライブラリ装置へのアクセスが制限される。
【０００５】
なお、関連する技術として、例えば、ＦＷを適用中にホスト装置からのアクセスを継続させるために、ＦＷの適用時間を基準に対象となるＲＡＩＤグループを２つにグループ化する技術が知られている。
【０００６】
この技術では、例えば、２つのグループのうちの第１のグループに対してＦＷの適用を行ない、第２のグループはホストＩ／Ｏ（Input / Output）に係る処理を行なう。このとき、オンキャッシュのＬＶ（Logical Volume）から優先して処理を行なう。
【０００７】
なお、オフキャッシュのＬＶであってＦＷ適用中の第１のグループ上のファイルシステムに格納されているＬＶに対するホストＩ／Ｏを処理する場合、該当するＬＶについてホストＩ／Ｏを処理可能な第２のグループのファイルシステムを用いる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１６−１５７２７０号公報
【特許文献２】特開２００８−２１７２０２号公報
【特許文献３】特開２００２−３１８６６６号公報
【特許文献４】特開２００９−２８２８３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上述したＲＡＩＤグループを２つにグループ化する技術では、システムのフルバックアップやフルリストアを行なうような大容量のデータに係るＩ／Ｏ処理をＦＷ適用対象となるディスクに対して行なう場合に、以下の不都合が生じる場合がある。なお、大容量のデータとは、例えば、データのＩ／Ｏ処理に係る時間（例えば読み書き完了までの時間）がＦＷ適用時間よりも長いデータである。
【００１０】
このようなＩ／Ｏ処理が存在する場合、第１のグループでＦＷを適用している間に、第２のグループでＩ／Ｏ処理を完了できないことがある。その結果、第１のグループに対するＦＷ適用、若しくは、ホスト装置からのアクセスのいずれか一方を停止させる事態に陥る場合がある。
【００１１】
換言すれば、ディスクアレイ装置に対するＦＷ適用により、仮想テープライブラリ装置の可用性が低下する場合がある。
【００１２】
なお、上述した不都合は、仮想テープライブラリ装置にそなえられたディスクアレイ装置に限定されるものではなく、複数の記憶装置をそなえる種々のストレージ装置においても同様に発生する可能性がある。
【００１３】
１つの側面では、本発明は、ストレージ装置の可用性の低下を抑制することを目的の１つとする。
【００１４】
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の１つとして位置付けることができる。
【課題を解決するための手段】
【００１５】
１つの側面では、ストレージ制御装置は、特定部と、設定部と、適用部と、アクセス制御部とをそなえてよい。前記特定部は、上位装置からのアクセス要求に応じた処理対象である複数のストレージグループから、ファームウェアの適用対象である複数の記憶装置の各々が属するストレージグループを特定してよい。前記設定部は、特定したストレージグループごとの前記アクセス要求に応じた処理時間の推定値に基づいて、前記特定したストレージグループの各々に対してファームウェアの適用処理の優先度を設定してよい。前記適用部は、設定した優先度に応じた実行順序で、前記優先度が設定されたストレージグループに属する記憶装置に対して前記適用処理を行なってよい。前記アクセス制御部は、前記適用処理を実行中のストレージグループ以外のストレージグループに対して、前記アクセス要求に応じた処理を行なってよい。
【発明の効果】
【００１６】
１つの側面では、ストレージ装置の可用性の低下を抑制することができる。
【図面の簡単な説明】
【００１７】
【図１】比較例に係るＦＷ適用処理の動作例を示すフローチャートである。
【図２】比較例に係るＦＷ適用処理の動作例を示す図である。
【図３】一実施形態に係るシステムの構成例を示すブロック図である。
【図４】階層制御サーバのハードウェア構成例を示すブロック図である。
【図５】階層制御サーバの機能構成例を示すブロック図である。
【図６】仮想テープライブラリ装置におけるファイルシステムの一例を示す図である。
【図７】ディスク情報テーブルの一例を示す図である。
【図８】ＲＡＩＤグループ情報テーブルの一例を示す図である。
【図９】ファイルシステム情報テーブルの一例を示す図である。
【図１０】ＦＷ適用制御部によるＦＷ適用分割数算出処理の動作例を示すフローチャートである。
【図１１】ＦＷ適用制御部によるＦＷ適用分割数算出処理の動作例を示すフローチャートである。
【図１２】オンキャッシュＬＶの処理時間の算出結果（ソート後）の一例を示す図である。
【図１３】ＦＷ適用優先度決定処理の動作例を示すフローチャートである。
【図１４】ＲＡＩＤグループごとのオンキャッシュＬＶの処理時間の一例を示す図である。
【図１５】ＦＷ適用優先度決定処理の動作例を示すフローチャートである。
【図１６】ＲＡＩＤグループごとの優先度の一例を示す図である。
【図１７】ＦＷ適用処理の動作例を示すフローチャートである。
【図１８】ＦＷ適用前の各ＲＡＩＤグループの状態例を示す図である。
【図１９】ＦＷ適用第１段階処理中の各ＲＡＩＤグループの状態例を示す図である。
【図２０】ファイルシステム情報テーブルの状態変化の一例を示す図である。
【図２１】ディスク情報テーブルの状態変化の一例を示す図である。
【図２２】ＦＷ適用第２段階処理中の各ＲＡＩＤグループの状態例を示す図である。
【図２３】ファイルシステム情報テーブルの状態変化の一例を示す図である。
【図２４】ディスク情報テーブルの状態変化の一例を示す図である。
【図２５】ＦＷ適用第３段階処理中の各ＲＡＩＤグループの状態例を示す図である。
【図２６】ファイルシステム情報テーブルの状態変化の一例を示す図である。
【発明を実施するための形態】
【００１８】
以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。例えば、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。なお、以下の説明で用いる図面において、同一符号を付した部分は、特に断らない限り、同一若しくは同様の部分を表す。
【００１９】
〔１〕一実施形態
はじめに、図１及び図２を参照して、比較例に係るＦＷ適用処理について説明する。
【００２０】
図１に例示するように、仮想テープライブラリ装置のＴＶＣを制御するサーバは、ＴＶＣ内でＦＷ適用対象のディスクが所属するＲＡＩＤグループを特定し（ステップＳ１０１）、対象となるディスクへのRead/Writeを一時停止させる（ステップＳ１０２）。
【００２１】
次いで、サーバは、対象となるディスクに対して更新するＦＷを適用し（ステップＳ１０３）、ＦＷの適用が完了すると、対象となるディスクへのRead/Writeを再開し（ステップＳ１０４）、処理が終了する。
【００２２】
例えば、図２に示すように、ＦＷ適用を行なう前に、対象となるディスクへのデータのRead/Writeが行なわれているとすると（図２の（ａ）参照）、サーバは、当該Read/Writeを一時停止し、その間にディスクのファームウェア適用を行なう（図２の（ｂ）参照）。そして、サーバは、ＦＷの適用完了後に通常通りディスクへのRead/Writeを再開させる（図２の（ｃ）参照）。
【００２３】
比較例に係るＦＷ適用処理では、ＦＷ適用対象のＲＡＩＤグループの全てのディスクに対するホストＩ／Ｏを停止させるため、ＦＷ適用中は仮想テープライブラリ装置の可用性が低下する場合がある。
【００２４】
また、上述したように、ＲＡＩＤグループを２つにグループ化する技術において、一方のグループに対してＦＷ適用中に大容量のデータに係るＩ／Ｏ処理を他方のグループが処理する場合、当該Ｉ／Ｏ処理を完了できない場合がある。この場合にも、一方のグループに対するＦＷ適用、若しくは、ホスト装置からのアクセスのいずれか一方を停止させる事態に陥り、仮想テープライブラリ装置の可用性が低下する場合がある。
【００２５】
そこで、一実施形態においては、仮想テープライブラリ装置に対する入出力処理を継続しながら、各ＲＡＩＤグループに対するＦＷ適用処理を行なうことで、ストレージ装置の可用性の低下を抑制するシステムについて説明する。
【００２６】
〔１−１〕システムの構成例
図３に示すように、一実施形態に係るシステム１は、例示的に、仮想テープライブラリ装置２と、仮想テープライブラリ装置２に接続されたホスト装置７とをそなえてよい。
【００２７】
ホスト装置７は、仮想テープライブラリ装置２に対して、論理ボリュームをアクセス対象としたRead/Write等のＩ／Ｏを行なう上位装置の一例である。なお、以下の説明で、「Ｉ／Ｏ」とは、アクセス対象を指定する情報、及び、書込対象のデータ（書込アクセスの場合）を少なくとも含むアクセス要求であるものとする。
【００２８】
ホスト装置７としては、サーバ、ＰＣ（Personal Computer）、タブレット、又は、ＰＤＡ（Personal Digital Assistant）等のコンピュータが挙げられる。なお、ホスト装置７は、ネットワーク８を介さずに仮想テープライブラリ装置２に直接接続されてもよい。
【００２９】
図３の例において、仮想テープライブラリ装置２とホスト装置７との間には、ネットワーク８が介在してもよい。ネットワーク８には、ＳＡＮ（Storage Area Network）が含まれてもよく、また、ＬＡＮ（Local Area Network）やＷＡＮ（Wide Area Network）等のイントラネット、或いはインターネット等が含まれてもよい。
【００３０】
仮想テープライブラリ装置２は、ホスト装置７に対して仮想テープライブラリを提供するシステムであり、例示的に、仮想テープライブラリ３及びテープライブラリ６をそなえてよい。
【００３１】
仮想テープライブラリ３は、ストレージ装置の一例である。仮想テープライブラリ３は、例示的に、階層制御サーバ４及びディスクアレイ装置５をそなえてよい。
【００３２】
階層制御サーバ４は、ディスクアレイ装置５及びテープライブラリ６を用いた階層的な制御を行なうストレージ制御装置又は情報処理装置の一例である。階層制御サーバ４としては、サーバやＰＣ等のコンピュータが挙げられる。階層制御サーバ４は、例えば、ホスト装置７に対する入出力制御、ディスクアレイ装置５に対するＲＡＩＤ管理及び制御、ディスクアレイ装置５及びテープライブラリ６に対する階層制御等を行なってよい。
【００３３】
ディスクアレイ装置５は、仮想テープライブラリ装置２の一次キャッシュとして用いられる。以下、ディスクアレイ装置５をＴＶＣ５と表記する場合がある。ディスクアレイ装置５は、複数の記憶装置（図示省略）をそなえ、階層制御サーバ４による制御の下、これらの記憶装置を用いて複数のＲＡＩＤグループを構築してよい。なお、ＲＡＩＤグループは、複数の記憶装置が属するストレージグループの一例である。一実施形態では、複数のＲＡＩＤグループは、テープライブラリ６において複数の可搬媒体のうちの１以上の可搬媒体の各々が記憶するデータの論理ボリュームを記憶してよい。
【００３４】
ディスクアレイ装置５がそなえる複数の記憶装置としては、例えば、ＨＤＤ等の磁気ディスク装置、ＳＳＤ等の半導体ドライブ装置、不揮発性メモリ等が挙げられる。不揮発性メモリとしては、例えば、フラッシュメモリ、ＳＣＭ（Storage Class Memory）、ＲＯＭ（Read Only Memory）等が挙げられる。
【００３５】
テープライブラリ６は、複数の可搬媒体を収容するライブラリ装置の一例である。図３に示すように、テープライブラリ６は、例示的に、ロボット６１及びテープドライブ６２をそなえてよい。なお、ロボット６１及びテープドライブ６２は、それぞれテープライブラリ６に複数そなえられてもよい。
【００３６】
また、ライブラリ６には、複数の可搬媒体６３が収容されてよい。なお、可搬媒体６３としては、磁気テープカートリッジ、光磁気テープカートリッジ、光ディスク、又は、光ディスクカートリッジ等のＰＶ（Physical Volume）が挙げられる。以下、可搬媒体６３をＰＶ６３と表記する場合がある。
【００３７】
ロボット６１は、ＰＶ６３のピックアップ、搬送、テープドライブ６２への挿入又は接続等を行なう運搬装置の一例である。
【００３８】
テープドライブ６２は、挿入又は接続されたＰＶ６３に対して書き込み及び読み出し（例えば記録及び再生）等の種々のアクセスを行なう媒体処理装置の一例である。
【００３９】
上述した仮想テープライブラリ装置２において、階層制御サーバ４は、例えば、ホスト装置７からデータのRead/Write要求があった場合、ホスト装置７に対して、従来のテープライブラリ（Library；ＬＩＢ）として振る舞う。
【００４０】
例えば、階層制御サーバ４は、ＴＶＣ５を利用して、ＬＶ等のデータのRead/Writeを行なう。階層制御サーバ４は、データに対するアクセス性能がテープライブラリ６よりも良好なディスクアレイ装置５を用いてホスト装置７に対して応答を返すため、テープライブラリ６を単独で使用するよりも高速に処理を行なうことができる。
【００４１】
なお、階層制御サーバ４は、ＴＶＣ５に書き込まれたＬＶを、ホスト装置７を介さずにバックグラウンドでテープライブラリ６のＰＶ６３に保存する。ＰＶへの保存処理は、例示的に、マイグレーション（Migration）処理と呼ばれてよい。
【００４２】
また、階層制御サーバ４は、ＴＶＣ５に書き込まれたＬＶによってＴＶＣ５の容量が圧迫されるのを防ぐために、頻繁なＬＶ更新がなくマイグレーション済の大容量のＬＶをＴＶＣ５から消去する。
【００４３】
さらに、階層制御サーバ４は、ホスト装置７によるRead/Write対象のＬＶがＴＶＣ５上に存在する場合（オンキャッシュ（On Cache）の場合）、ＴＶＣ５のディスクからＬＶを読み込み、ホスト装置７に対して応答する。
【００４４】
一方、ホスト装置７によるRead/Write対象のＬＶがＴＶＣ５上に存在しない場合（キャッシュミス（Cache Miss）の場合）、階層制御サーバ４は、テープライブラリ６から当該ＬＶのデータをＴＶＣ５にロードしホスト装置７に対して応答する。データのＴＶＣ５へのロードは、例えば、テープライブラリ６における対象のＰＶ６３をテープドライブ６２に挿入し、マイグレーション済のＬＶをテープドライブ６２から読み込み、ＬＶのデータをＴＶＣ５上に移すことで行なわれてよい。
【００４５】
次に、図４を参照して、階層制御サーバ４のハードウェア構成例について説明する。図４に示すように、階層制御サーバ４は、例示的に、プロセッサ４ａ、メモリ４ｂ、記憶部４ｃ、テープＩＦ（Interface）４ｄ−１、入出力ＩＦ４ｄ−２、ホストＩＦ４ｄ−３、ドライブＩＦ４ｄ−４、及び読取部４ｅをそなえてよい。
【００４６】
プロセッサ４ａは、種々の制御や演算を行なう演算処理装置の一例である。プロセッサ４ａは、各ブロック４ｂ〜４ｅとバス４ｉで相互に通信可能に接続されてよい。プロセッサ４ａとしては、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、ＰＬＤ（例えばＦＰＧＡ）等の集積回路（ＩＣ）が用いられてもよい。なお、ＣＰＵはCentral Processing Unitの略称であり、ＭＰＵはMicro Processing Unitの略称であり、ＤＳＰはDigital Signal Processorの略称である。また、ＡＳＩＣはApplication Specific Integrated Circuitの略称であり、ＰＬＤはProgrammable Logic Deviceの略称であり、ＦＰＧＡはField Programmable Gate Arrayの略称である。
【００４７】
メモリ４ｂは、種々のデータやプログラムを格納するハードウェアの一例である。メモリ４ｂとしては、例えばＲＡＭ（Random Access Memory）等の揮発性メモリが挙げられる。
【００４８】
記憶部４ｃは、種々のデータやプログラム等を格納するハードウェアの一例である。例えば、記憶部４ｃは、階層制御サーバ４の２次記憶装置として使用されてよく、ファームウェアプログラム及び各種データが格納されてよい。記憶部４ｃとしては、例えば、ＨＤＤ等の磁気ディスク装置、ＳＳＤ等の半導体ドライブ装置、不揮発性メモリ等の各種記憶装置が挙げられる。記憶部４ｃは、階層制御サーバ４の各種機能の全部若しくは一部を実現するプログラム４ｆを格納してもよい。
【００４９】
テープＩＦ４ｄ−１、入出力ＩＦ４ｄ−２、ホストＩＦ４ｄ−３、及びドライブＩＦ４ｄ−４は、それぞれ、テープライブラリ６、入力装置４ｇ、ホスト装置７、及びディスクアレイ装置５との間の接続及び通信の制御等を行なう通信インタフェースの一例である。入力装置４ｇは、例えば、マウス、キーボード、タッチパネル、操作ボタン等を含んでよい。入出力ＩＦ４ｄ−２は、ディスプレイやプリンタ等の出力装置（図示省略）との間の接続及び通信の制御等を行なってもよい。
【００５０】
なお、階層制御サーバ４は、作業者の作業端末との間の接続及び通信の制御等を行なう通信インタフェースをそなえてもよく、当該通信インタフェースを用いて、ネットワーク８又は図示しない他のネットワークからプログラム４ｆをダウンロードしてもよい。
【００５１】
読取部４ｅは、記録媒体４ｈに記録されたデータやプログラムを読み出しプロセッサ４ａに出力するリーダの一例である。読取部４ｅは、記録媒体４ｈを接続又は挿入可能な接続端子又は装置を含んでもよい。読取部４ｅとしては、例えばＵＳＢ（Universal Serial Bus）等に準拠したアダプタ、記録ディスクへのアクセスを行なうドライブ装置、ＳＤカード等のフラッシュメモリへのアクセスを行なうカードリーダ等が挙げられる。なお、記録媒体４ｈにはプログラム４ｆが格納されてもよい。
【００５２】
記録媒体４ｈとしては、例示的に、磁気／光ディスクやフラッシュメモリ等の非一時的なコンピュータ読取可能な記録媒体が挙げられる。磁気／光ディスクとしては、例示的に、フレキシブルディスク、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disc）、ブルーレイディスク、ＨＶＤ（Holographic Versatile Disc）等が挙げられる。フラッシュメモリとしては、例示的に、ＵＳＢメモリやＳＤカード等の半導体メモリが挙げられる。なお、ＣＤとしては、例示的に、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ等が挙げられる。また、ＤＶＤとしては、例示的に、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等が挙げられる。
【００５３】
上述した階層制御サーバ４のハードウェア構成は例示である。従って、階層制御サーバ４内でのハードウェアの増減（例えば任意のブロックの追加や削除）、分割、任意の組み合わせでの統合、バスの追加又は省略等は適宜行なわれてもよい。
【００５４】
〔１−２〕階層制御サーバ４の機能構成例
図５は、階層制御サーバ４の機能構成例の一例を示す図である。図５に示すように、階層制御サーバ４は、例示的に、構成管理部４１、ＬＶ制御部４２、ＦＳ（File System；ファイルシステム）制御部４３、ＰＶ制御部４４、及びＦＷ適用制御部４５をそなえてよい。なお、各機能ブロック４１〜４５の機能は、例えば、図４に示すプロセッサ４ａが記憶部４ｃに格納されたプログラム４ｆをメモリ４ｂに展開して実行することにより実現されてよい。
【００５５】
構成管理部４１は、階層制御サーバ４の構成データを管理する。構成データとしては、例えば、ＬＶ５３の情報やＰＶ６３の情報、ＴＶＣ５に関する情報等が挙げられる。図５では、構成管理部４１が管理するこれらの情報をまとめて、管理情報４１０として示している。なお、管理情報４１０は、例えば図４に示すメモリ４ｂの一部の記憶領域に格納されてよい。管理情報４１０の詳細については後述する。
【００５６】
ＬＶ制御部４２は、ホスト装置７とＬＶ５３との間のRead/Write等のＩ／Ｏを制御する。例えば、ＬＶ制御部４２は、後述するＦＷ適用制御部４５と協働して、ＦＷ適用処理を実行中のＲＡＩＤグループ以外のＲＡＩＤグループに対して、ホスト装置７からのアクセス要求に応じた処理を行なうアクセス制御部の一例である。
【００５７】
ＦＳ制御部４３は、ＴＶＣ５上のファイルシステム（ＦＳ）５２を制御する。例えば、ＦＳ制御部４３は、ＦＳ５２のマウント／アンマウントを行なってよい。
【００５８】
ＰＶ制御部４４は、ＬＶ５３とＰＶ６３との間のRead/Writeを制御する。
【００５９】
ＦＷ適用制御部４５は、ＴＶＣ５へのＦＷ適用処理を制御する。ＦＷ適用制御部４５の詳細については後述する。
【００６０】
図６に例示するように、ＴＶＣ５では、複数のディスク５１が１つのＲＡＩＤグループとして管理されており、ＲＡＩＤグループごとに１つ以上のファイルシステム（ＦＳ）５２が階層制御サーバ４上に作成（マウント）されている。階層制御サーバ４は、上述した機能ブロックによって、ホスト装置７からのＩ／Ｏに応じてＦＳ５２にＬＶ５３を書き込んだりテープライブラリ６のＰＶ６３からＦＳ５２上にＬＶ５３を読み込んだりすることで、ホスト装置７に対するＩ／Ｏの制御を実現できる。
【００６１】
例えば、仮想テープライブラリ装置２の構成データを格納するために作成されたＲＡＩＤグループ＃ＣＮＦにはＦＳ５２が１個作成され、階層制御サーバ４上には“ＣＮＦ”（以下「構成領域」又は「管理領域」と表記する場合がある）としてマウントされる。
【００６２】
一方、ユーザデータを格納するために作成されたＲＡＩＤグループ＃ＤＡＴＡ−Ｍ（Ｍ≧１）には１つのＲＡＩＤグループあたりＮ（Ｎ≧１）個のＦＳ５２が作成されている。これらのＲＡＩＤグループ＃ＤＡＴＡ−Ｍは、階層制御サーバ４上には“ＤＡＴＡ−ＭＮ”（以下、「データ領域」と表記する場合がある）としてマウントされている。なお、「Ｍ」はＲＡＩＤグループの識別情報の一例であり、「Ｎ」はＲＡＩＤグループ内でのＦＳ５２の識別情報の一例である。
【００６３】
（管理情報４１０について）
次に、図７〜図９を参照して、管理情報４１０について説明する。図７〜図９に示すように、管理情報４１０は、例示的に、ディスク情報テーブル４１１、ＲＡＩＤグループ情報テーブル４１２、及びファイルシステム情報テーブル４１３の情報を含んでよい。なお、図７〜図９の説明では、管理情報４１０に含まれる各種の情報（例えば符号４１１〜４１３）を説明に適したテーブル形式で例示する。しかしながら、これらの情報はテーブル形式に限定されるものではなく、例えば配列、ＤＢ、ビットマップ等の種々の形式又は態様で管理されてよい。
【００６４】
図７は、ディスク情報テーブル４１１のデータ構成例を示す図である。ディスク情報テーブル４１１には、例示的に、「ディスク名」、「ベンダ名」、「ファーム版数」、及び「所属先ＲＡＩＤグループ名」が設定されてよい。「ディスク名」及び「ベンダ名」はそれぞれディスク５１及びディスク５１を製造したベンダの識別情報の一例である。「ファーム版数」は稼動中のディスクファーム版数を示す情報であり、「所属先ＲＡＩＤグループ名」はディスク５１が所属しているＲＡＩＤグループの識別情報の一例である。
【００６５】
図８は、ＲＡＩＤグループ情報テーブル４１２のデータ構成例を示す図である。ＲＡＩＤグループ情報テーブル４１２には、例示的に、「ＲＡＩＤグループ名」、「ＲＡＩＤレベル」、及び「所属ディスク数」が設定されてよい。「ＲＡＩＤグループ名」はＲＡＩＤグループの識別情報の一例である。「ＲＡＩＤレベル」は当該ＲＡＩＤグループに設定されたＲＡＩＤレベルを示す情報であり、例示的に、ＲＡＩＤ０〜ＲＡＩＤ６のいずれか１つ、又は、これらの２以上の組み合わせを含んでよい。「所属ディスク数」はＲＡＩＤグループを構成するディスク数を示す情報である。
【００６６】
図９は、ファイルシステム情報テーブル４１３のデータ構成例を示す図である。ファイルシステム情報テーブル４１３には、例示的に、「ファイルシステム名」、「マウント状態」、及び「所属ＲＡＩＤグループ名」が設定されてよい。「ファイルシステム名」はＬＶ５３が所属しているＦＳ５２の識別情報の一例である。「マウント状態」はＦＳ５２が階層制御サーバ４上にマウントされているかを表す状態情報である。「所属ＲＡＩＤグループ名」はディスク５１が所属しているＲＡＩＤグループの識別情報の一例である。
【００６７】
構成管理部４１は、ディスク５１、ＲＡＩＤグループ、又はＦＳ５２等の構成や状態に変更があった場合に、管理情報４１０に対してこれらのテーブル４１１〜４１３の情報を更新してよい。
【００６８】
（ＦＷ適用制御部４５の説明）
次に、ＦＷ適用制御部４５について説明する。ＦＷ適用制御部４５の処理は、例えば、仮想テープライブラリ装置２に搭載されているＴＶＣ５のディスクファーム（ＦＷ）適用指示が発行されたときに実行されてよい。ＦＷ適用指示は、例えば、ユーザによるファームアップツールの操作に応じて発行されてよい。なお、ファームアップツールは、例えば、階層制御サーバ４、ホスト装置７、又は図示しない作業端末等にインストールされたアプリケーションプログラムであってよい。
【００６９】
仮想テープライブラリ装置２の通常の運用状態では、ＦＷ適用制御部４５に対して、ＦＷの適用時間を基準に対象となるＲＡＩＤグループを２つにグループ化する技術を適用してもよい。この場合、ＦＷ適用制御部４５は、例えば、２つのグループのうちの第１のグループに対してＦＷの適用を行ない、第２のグループはホストＩ／Ｏに係る処理に用いてよい。なお、通常の運用状態とは、例えば、データのＩ／Ｏ処理に係る時間がＦＷ適用時間よりも短いデータのＩ／Ｏが入力されている状態である。
【００７０】
また、ホスト装置７の業務が停止している場合のように、仮想テープライブラリ装置２に対するＩ／Ｏ頻度が所定レベル以下の場合には、ＦＷ適用制御部４５は、図１及び図２に示した手法によりＦＷ適用処理を行なってもよい。例えば、ＦＷ適用制御部４５は、ＦＷ適用対象のＲＡＩＤグループの全てのディスクに対するホストＩ／Ｏを停止させ、ＦＷ適用対象の全てのＲＡＩＤグループに対して一度にＦＷを適用してもよい。
【００７１】
一方、仮想テープライブラリ装置２に対して、フルバックアップやフルリストアを行なうような大容量のデータに係るＩ／Ｏが発行されている場合、ＦＷ適用制御部４５は、以下に説明する段階的なＦＷ適用処理を行なってよい。なお、大容量のデータとは、例えば、データのＩ／Ｏ処理に係る時間（例えば読み書き完了までの時間）がＦＷ適用時間よりも長いデータである。
【００７２】
段階的なＦＷ適用処理を行なうために、ＦＷ適用制御部４５は、図５に例示するように、分割数算出部４５１、優先度決定部４５２、及びＦＷ段階適用部４５３をそなえてよい。
【００７３】
なお、以下の説明では、仮想テープライブラリ装置２において、ＴＶＣ５に搭載されているディスク５１は全て同一であり、「構成領域」を除く全てのディスク５１にＦＷ適用処理を実行することを前提とする。「構成領域」は運用中にＦＷを適用できないため、ＦＷ適用制御部４５は、「構成領域」を段階的なＦＷ適用処理の対象外としてよい。例えば、ＦＷ適用制御部４５は、運用中には「構成領域」にＦＷ適用を実施できないようリジェクトしてよい。
【００７４】
分割数算出部４５１は、ＦＷ適用対象となる複数のＲＡＩＤグループを２以上のグループに分割する分割数Ｎｄｖｄを算出する。一例として、分割数算出部４５１は、以下の（ｉ）〜（iv）の手順で分割数Ｎｄｖｄを算出してよい。
【００７５】
（ｉ）アクセス対象となるＬＶ５３のうちのデータの読み書きに最も時間がかかるＬＶ５３及びそのＬＶ５３単位の処理時間ＬＶｔｍａｘを取得する。なお、ＬＶ５３の読み書きに要する時間は、階層制御サーバ４に登録されているＬＶ５３の有効データ量とデータの転送速度とから、例えば、有効データ量／転送速度の式により算出（推定）されてよい。アクセス対象となるＬＶ５３とは、例えば、ホスト装置７から発行されたデータのRead/Write等のＩ／Ｏ処理を実行するコマンドに指定されているＬＶ５３である。
【００７６】
（ii）アクセス対象となるＬＶ５３が格納されているＲＡＩＤグループ番号Ｒｄｍａｘを算出する。
【００７７】
（iii）上記（ｉ）及び（ii）の結果に基づき、ディスクファーム適用の分割数Ｎｄｖｄを決定する。分割数Ｎｄｖｄは、例えば、Ｎｄｖｄ＝（ＬＶｔｍａｘ／Ｔｆｗ）＋１の式の演算により求められてよい。このとき、（ＬＶｔｍａｘ／Ｔｆｗ）の端数は切り上げてよい。Ｔｆｗは１つのディスク５１あたりのＦＷ適用時間の推定値の一例である。なお、同一ＲＡＩＤグループ内ではディスク５１は同一の種類であるため、ＴｆｗとＲＡＩＤグループ全体のＦＷ適用時間とは同一となる。
【００７８】
（iv）分割数ＮｄｖｄがＦＷ適用対象となるＲＡＩＤグループ数を超える場合、次にデータの読み書きに時間のかかるＬＶ５３及びその処理時間ＬＶｔｍａｘと、当該ＬＶ５３が所属するＲＡＩＤグループ番号とを再計算し、分割数Ｎｄｖｄを求める。（iv）の処理は、分割数ＮｄｖｄがＦＷ適用対象となるＲＡＩＤグループ数以下になるまで繰り返し行なわれてよい。
【００７９】
以上の手順により、分割数算出部４５１は、分割数Ｎｄｖｄ、分割数Ｎｄｖｄにおいて有効な最もＩ／Ｏ処理に時間のかかるＬＶ５３及びその処理時間ＬＶｔｍａｘ、並びに当該ＬＶ５３が属するＲＡＩＤグループ番号Ｒｄｍａｘの情報を取得してよい。
【００８０】
以上のように、分割数算出部４５１は、ホスト装置７からのアクセス要求に応じた処理対象である複数のＲＡＩＤグループから、ファームウェアの適用対象である複数のディスク５１の各々が属するＲＡＩＤグループを特定する特定部の一例である。
【００８１】
優先度決定部４５２は、複数のＲＡＩＤグループの各々に対してＦＷ適用優先度（以下、「優先度」又は「ファームアップ優先度」と表記する場合がある）を設定する。ＦＷ適用優先度はＦＷの適用順序に対応してよく、分割数算出部４５１が取得した分割数Ｎｄｖｄ通りの優先度（分割数Ｎｄｖｄ個の段階数）を持ってよい。
【００８２】
換言すれば、優先度決定部４５２は、複数のＲＡＩＤグループを、Ｎｄｖｄ個のグループ（以下、「ＦＷ適用グループ」と表記する場合がある）に分割し、これらのＦＷ適用グループにＦＷ適用優先度を設定するのである。
【００８３】
一例として、優先度決定部４５２は、ＲＡＩＤグループごとにアクセス対象となる全てのオンキャッシュのＬＶ５３の読み書きにかかる時間ＬＶｔｍを推定し、推定したＬＶｔｍに基づき、ＦＷ適用優先度を設定してよい。
【００８４】
一実施形態では、ＦＷ適用制御部４５は、Ｉ／Ｏの処理時間が最も長いＬＶ５３が属するＲＡＩＤグループ（以下、「最長ＲＡＩＤグループ」と表記する場合がある）がＩ／Ｏ処理を行なっている間に、他のＦＷ適用グループに対してＦＷ適用処理を行なう。なお、最長ＲＡＩＤグループは、分割数算出部４５１により得られたＲｄｍａｘで特定されるＲＡＩＤグループである。
【００８５】
「最長ＲＡＩＤグループ」は、上述のように、Ｉ／ＯのＬＶ５３単位の処理時間の推定値が最も大きいＬＶ５３（例えば、処理時間ＬＶｔｍａｘのＬＶ５３）を割り当てられているＲＡＩＤグループの一例である。従って、優先度決定部４５２は、「最長ＲＡＩＤグループ」に対しては、一番最後又は最後から２番目の優先度（換言すればＦＷ適用順序）を割り当ててよい。
【００８６】
ところで、上述した分割数Ｎｄｖｄの算出式において、（ＬＶｔｍａｘ／Ｔｆｗ）は、最長ＲＡＩＤグループにおけるＩ／Ｏ処理が完了するまでに、（ＬＶｔｍａｘ／Ｔｆｗ）回のＦＷ適用が可能であることを意味する。従って、分割数Ｎｄｖｄの算出式は、最長ＲＡＩＤグループのＩ／Ｏ処理が完了するまでにＦＷ適用を実施可能な回数と、最長ＲＡＩＤグループ自身のＦＷ適用を実施する回数（１）と、を加算した式となる。
【００８７】
このため、（ＬＶｔｍａｘ／Ｔｆｗ）が割り切れる場合、最長ＲＡＩＤグループ（Ｒｄｍａｘ）に一番最後の優先度を割り当てることで、最長ＲＡＩＤグループにおけるＩ／Ｏ処理完了とＦＷ適用処理開始との間の時間差を小さくできる。一方、（ＬＶｔｍａｘ／Ｔｆｗ）に端数が出る場合、最長ＲＡＩＤグループに一番最後の優先度が割り当てられると、最後から２番目の優先度のＦＷ適用グループのＦＷ適用処理中に、最長ＲＡＩＤグループにおけるＩ／Ｏ処理が終了する。この場合、ＦＷ適用処理中にＩ／Ｏ処理が行なわれない期間が発生するため、Ｉ／Ｏ処理性能の低下に繋がる可能性がある。
【００８８】
そこで、優先度決定部４５２は、Ｉ／Ｏ処理の処理時間とＦＷ適用処理の処理時間とを最適化するために、以下の条件を満たす場合に、最長ＲＡＩＤグループ（Ｒｄｍａｘ）に対して最後から２番目の優先度を設定してよい。
【００８９】
例えば、優先度決定部４５２は、（ＬＶｔｍａｘ／Ｔｆｗ）の端数（小数部）Ｎｄｅｃｍａｘを算出してよい。なお、Ｎｄｅｃｍａｘが“０”の場合は“１”に補正する。また、優先度決定部４５２は、時間ＬＶｔｍが最も短いＲＡＩＤグループＲｄｍｉｎ、及び、その処理時間ＬＶｔｍｉｎを取得し、（ＬＶｔｍｉｎ／Ｔｆｗ）の端数（小数部）Ｎｄｅｃｍｉｎを算出してよい。
【００９０】
そして、優先度決定部４５２は、ＮｄｅｃｍａｘとＮｄｅｃｍｉｎとを比較し、ＮｄｅｃｍａｘよりもＮｄｅｃｍｉｎの方が大きい場合に条件を満たすと判定し、最長ＲＡＩＤグループＲｄｍａｘに対して最後から２番目の優先度を設定してよい。
【００９１】
ＮｄｅｃｍａｘよりもＮｄｅｃｍｉｎの方が大きい場合、Ｒｄｍｉｎに対するＦＷ適用処理が最後に行なわれ、Ｒｄｍｉｎに対するＩ／Ｏ処理は、例えば最後から２番目のＦＷ適用処理中（最長ＲＡＩＤグループに対するＦＷ適用処理中）に行なわれる。この場合も、最後から２番目のＦＷ適用処理中にＲｄｍｉｎに対するＩ／Ｏ処理が終了し得る。しかし、ＮｄｅｃｍａｘよりもＮｄｅｃｍｉｎの方が大きいため、最後から２番目のＦＷ適用処理中にＩ／Ｏ処理が行なわれない期間は、Ｒｄｍｉｎを最後の優先度にした方が、Ｒｄｍａｘを最後の優先度にするよりも短くなる。
【００９２】
以上のように、優先度決定部４５２は、上記の条件判定に基づいて、最長ＲＡＩＤグループ、及び、処理時間ＬＶｔｍの推定値が最も小さいＲＡＩＤグループのうちの一方に対して、ＦＷ適用処理が最後に実施される優先度を設定する。また、優先度決定部４５２は、他方に対しては、ＦＷ適用処理が最後から２番目に実施される優先度を設定する。これにより、Ｉ／Ｏ処理の処理時間とＦＷ適用処理の処理時間とを最適化することができる。
【００９３】
なお、最長ＲＡＩＤグループＲｄｍａｘに最後から２番目の優先度を設定した場合、最後から３番目のＦＷ適用処理が完了した時点では、最長ＲＡＩＤグループＲｄｍａｘのＩ／Ｏ処理が完了していない場合がある。この場合、最後から２番目のＦＷ適用処理の開始を、最長ＲＡＩＤグループＲｄｍａｘのＩ／Ｏ処理完了まで待ち合わせてもよい。
【００９４】
その他の優先度（例えば、「１番目」〜「最後から３番目」の優先度）については、優先度決定部４５２は、時間ＬＶｔｍが長い順に、１つの優先度（ＦＷ適用グループ）あたり１以上のＲＡＩＤグループを振り分ければよい。例えば、時間ＬＶｔｍが長いＲＡＩＤグループほど優先度が高くなる（換言すれば、ＦＷ適用の実行順序が先となる）ようにしてよい。ＦＷ適用を早い段階で行なうことにより、ＦＷ適用後にＩ／Ｏ処理を実施するまとまった時間を確保でき、Ｉ／Ｏ処理の処理時間とＦＷ適用処理の処理時間とを最適化できるためである。
【００９５】
以上のように、優先度決定部４５２は、ＦＷ適用対象のＲＡＩＤグループごとのＩ／Ｏ要求に応じた処理時間の推定値に基づいて、ＲＡＩＤグループの各々に対してＦＷの適用処理の優先度を設定する設定部の一例である。
【００９６】
ＦＷ段階適用部４５３は、優先度決定部４５２が決定した優先度に従って、分割数Ｎｄｖｄの回数に亘って段階的に、ディスクファームをＲＡＩＤグループに適用する。
【００９７】
各回におけるＦＷ適用処理では、例えば、ＦＷ適用グループに含まれるＲＡＩＤグループに所属するＦＳ５２のアンマウント、当該ＲＡＩＤグループに所属するディスク５１のファームアップ、及びアンマウントしたＦＳ５２のマウント、が行なわれてよい。ＦＳ５２のマウント及びアンマウントは、例えばＦＷ段階適用部４５３がＦＳ制御部４３に実施させてもよい。
【００９８】
なお、ＦＷ適用中のＲＡＩＤグループに対して、ホスト装置７からアクセス要求があった場合、ＦＷ段階適用部４５３は、ＦＷ適用完了まで当該アクセス要求を待ち状態としてよい。待ち状態の管理は、例えばＦＷ段階適用部４５３がＬＶ制御部４２に実施させてもよい。
【００９９】
以上のように、ＦＷ段階適用部４５３は、優先度決定部４５２が設定した優先度に応じた実行順序で、優先度が設定されたＲＡＩＤグループに属するディスク５１に対してＦＷ適用処理を行なう適用部の一例である。
【０１００】
〔１−３〕動作例
次に、図１０〜図２６を参照して、一実施形態に係る仮想テープライブラリ装置２の動作例を説明する。
【０１０１】
なお、以下の説明は、ホスト装置７による大容量のデータに対するアクセスと並行して、ＦＷ適用処理が行なわれる場合を前提とする。このような場合としては、例えば、ＦＷ適用制御部４５が、受信したアクセス要求に応じたアクセスの開始後にＦＷ適用指示を受信した場合や、当該アクセス要求と同時にＦＷ適用指示を受信した場合等が挙げられる。
【０１０２】
〔１−３−１〕ＦＷ適用分割数算出処理
はじめに、分割数算出部４５１によるＦＷ適用分割数算出処理の動作例を説明する。
【０１０３】
ＦＷ適用指示では、ディスクファーム名や適用モード（例えば、活性／非活性）が指定されてよい。適用モードとは、ＦＷ適用中のディスクアクセス可否を示し、「活性」はアクセス可、「非活性」はアクセス不可を示す。
【０１０４】
図１０に例示するように、分割数算出部４５１は、ＦＷ適用指示に基づき、ディスク５１に適用するＦＷについて、適用可能ベンダＮＶｅｎｄｏｒ、適用版数ＮＶｅｒを取得する（ステップＳ１１）。
【０１０５】
また、分割数算出部４５１は、ＦＷ適用対象ディスク５１の各々について、開発ベンダＶｅｎｄｏｒ、稼動版数Ｖｅｒ、所属ＲＡＩＤグループＲｄＧｒを取得する（ステップＳ１２）。
【０１０６】
次いで、分割数算出部４５１は、以下の（ａ）〜（ｄ）の条件を全て満たすユーザ領域のＲＡＩＤグループを抽出する（ステップＳ１３）。
【０１０７】
（ａ）ＦＷ適用指示で指定された適用可能ベンダＮＶｅｎｄｏｒと開発ベンダＶｅｎｄｏｒとが一致する。
【０１０８】
（ｂ）ディスク５１の稼動版数ＶｅｒがＦＷ適用指示で指定された適用版数ＮＶｅｒと異なる。
【０１０９】
（ｃ）所属ＲＡＩＤグループＲｄＧｒがデータ領域である。
なお、「構成領域」は、運用を止めてＦＷ適用を行なう必要があるため、ＦＷ適用対象から除外される。
【０１１０】
（ｄ）適用モードが「非活性」である。
【０１１１】
そして、分割数算出部４５１は、ＦＷ適用対象となるディスク５１の所属するＲＡＩＤグループ数Ｎｄｎｕｍを取得し（ステップＳ１４）、１個のディスク５１あたりのＦＷ適用時間Ｔｆｗを取得する（ステップＳ１５）。
【０１１２】
ＦＷ適用時間Ｔｆｗは、例えば、ＦＷ適用指示に含まれており分割数算出部４５１がＦＷ適用指示から取得してもよいし、ディスク５１のアクセス性能と、適用するＦＷのサイズ等の情報とに基づいて算出されてもよい。図１０に示す処理により、ＦＷ適用対象となるＲＡＩＤグループ数が算出される。
【０１１３】
なお、ステップＳ１１及びＳ１２は逆順でもよい。また、ステップＳ１４及びＳ１５は逆順でもよく、ステップＳ１５はステップＳ１３よりも前に実施されてもよい。
【０１１４】
次に、図１１に例示するように、分割数算出部４５１は、Read/Write処理対象でオンキャッシュ、且つ、ＦＷ適用時間ＴｆｗよりもＩ／Ｏの処理時間が長いＬＶ５３を全て抽出する（ステップＳ１６）。
【０１１５】
そして、分割数算出部４５１は、抽出したＬＶ５３を処理時間が長い順にソートする（ステップＳ１７）。
【０１１６】
分割数算出部４５１は、変数ｉに“１”を設定し（ステップＳ１８）、ソート結果からｉ番目に処理時間が長いＬＶ５３を抽出し、所属するＲＡＩＤグループＲｄｍａｘ、対象のＬＶ５３の処理時間ＬＶｔｍａｘを求める（ステップＳ１９）。
【０１１７】
次いで、分割数算出部４５１は、分割数Ｎｄｖｄ＝（ＬＶｔｍａｘ／Ｔｆｗ）＋１を求める（ステップＳ２０）。なお、（ＬＶｔｍａｘ／Ｔｆｗ）の小数点以下は切り上げる。
【０１１８】
分割数算出部４５１は、算出した分割数ＮｄｖｄがＮｄｎｕｍ以下か否かを判定し（ステップＳ２１）、ＮｄｖｄがＮｄｎｕｍ以下の場合（ステップＳ２１でＹｅｓ）、処理が終了する。なお、分割数算出部４５１は、このときの分割数Ｎｄｖｄ、ＬＶｔｍａｘ、及びＲｄｍａｘをメモリ４ｂ（図４参照）等に保存してよい。
【０１１９】
一方、ＮｄｖｄがＮｄｎｕｍ以下ではない（Ｎｄｎｕｍよりも大きい）場合（ステップＳ２１でＮｏ）、分割数算出部４５１は変数ｉに“１”を加算し（ステップＳ２２）、処理がステップＳ１９に移行する。
【０１２０】
以上の処理により、ＦＷ適用中に“ＬＶ５３に対するRead/Write処理”が必要なＬＶ５３のうちの一実施形態に係るＦＷ適用処理の実行条件を満たす“ＬＶ５３”及び“所属ＲＡＩＤグループ”に基づき、ＦＷ適用分割数が抽出される。上述した例では、以下の（Ａ）〜（Ｃ）の条件を満たすＬＶ５３が１つ抽出される。
【０１２１】
（Ａ）オンキャッシュ状態であること。
【０１２２】
（Ｂ）分割したＦＷ適用グループでのＦＷ適用処理中にRead/Write処理が完了できること（Ｎｄｖｄ≦Ｎｄｎｕｍ）。
【０１２３】
（Ｃ）できるだけＩ／Ｏの処理時間が長いこと（最低でもＴｆｗよりも大きいこと）。
【０１２４】
図１２に、オンキャッシュＬＶ５３の処理時間の算出結果（ソート後）の一例を示す。なお、以下の説明では、ＦＷ適用対象のＲＡＩＤグループ数Ｎｄｎｕｍ＝“５”、ＦＷ適用時間Ｔｆｗ＝“１５”（秒）であると仮定する。
【０１２５】
図１２に例示するように、ＬＶ５３の処理時間が長い順に並び替えたとき、図１１に示すステップＳ２０及びＳ２１の処理結果は以下のようになる。
【０１２６】
（１）ＲＡＩＤグループ番号“＃ＤＡＴＡ−４”の場合
Ｎｄｖｄ＝（６５／１５）＋１＝４．３３…（端数切り上げ）＋１＝６
【０１２７】
ステップＳ２０では上記のように分割数Ｎｄｖｄ”＝“６”が得られる。ステップＳ２１の判定では、ＮｄｖｄがＮｄｎｕｍ＝“５”よりも大きいため、Ｎｄｖｄ＝“６”、ＬＶｔｍａｘ＝“６５”、Ｒｄｍａｘ＝“＃ＤＡＴＡ−４”は採用されない。
【０１２８】
（２）ＲＡＩＤグループ番号“＃ＤＡＴＡ−３”の場合
Ｎｄｖｄ＝（３０／１５）＋１＝２＋１＝３
【０１２９】
次のループにおいて、ステップＳ２０では上記のようにＮｄｖｄ＝“３”が得られる。ステップＳ２１の判定ではＮｄｖｄがＮｄｎｕｍ以下である。従って、処理が終了し、Ｎｄｖｄ＝“３”、ＬＶｔｍａｘ＝“３０”、Ｒｄｍａｘ＝“＃ＤＡＴＡ−３”が得られる。
【０１３０】
〔１−３−２〕ＦＷ適用優先度決定処理
次に、優先度決定部４５２によるＦＷ適用優先度決定処理の動作例を説明する。優先度決定部４５２による処理は、図１０及び図１１に示すＦＷ適用分割数算出処理の完了後に実行されてよい。
【０１３１】
図１３に例示するように、優先度決定部４５２は、ＲＡＩＤグループごとに、Read/Write処理対象となる全オンキャッシュＬＶ５３の処理時間ＬＶｔｍを算出する（ステップＳ３１）。なお、ＲＡＩＤグループ内にオンキャッシュ状態のＬＶ５３が１つも存在しない場合、ＬＶｔｍ＝“０”とする。
【０１３２】
次いで、優先度決定部４５２は、ＬＶｔｍが最も小さいＲＡＩＤグループＲｄｍｉｎを取得する。また、優先度決定部４５２は、当該Ｒｄｍｉｎの処理時間ＬＶｔｍを取得してＬＶｔｍｉｎへ代入する。これらの処理により、優先度決定部４５２は、ＲＡＩＤグループＲｄｍｉｎ及びその処理時間ＬＶｔｍｉｎを取得（ステップＳ３２）。
【０１３３】
優先度決定部４５２は、Ｎｄｅｃｍａｘに（ＬＶｔｍａｘ／Ｔｆｗ）の小数部を代入する（ステップＳ３３）。このとき、小数部が“０”の場合はＮｄｅｃｍａｘに“１”を加える。また、優先度決定部４５２は、Ｎｄｅｃｍｉｎに（ＬＶｔｍｉｎ／Ｔｆｗ）の小数部を代入する（ステップＳ３４）。
【０１３４】
そして、優先度決定部４５２は、ＮｄｅｃｍａｘとＮｄｅｃｍｉｎとを比較し、小さい方を最後から２番目にＦＷ適用するＲＡＩＤグループに決定し（ステップＳ３５）、大きい方を最後にＦＷ適用するＲＡＩＤグループに決定する（ステップＳ３６）。図１３に示す処理により、最後から１番目及び最後から２番目にＦＷ適用を行なうＲＡＩＤグループが決定される。
【０１３５】
なお、ステップＳ３３及びＳ３４は逆順でもよく、ステップＳ３３はステップＳ３２よりも前に実施されてもよい。また、ステップＳ３５及びＳ３６は逆順でもよい。
【０１３６】
図１４に、ＲＡＩＤグループごとのオンキャッシュＬＶ５３の処理時間の一例を示す。図１４に例示するように、ＲＡＩＤグループごとにRead/Write対象となる全オンキャッシュＬＶ５３の処理時間ＬＶｔｍを算出した場合（図１３のステップＳ３１に対応）、図１３に示すステップＳ３２〜Ｓ３６の処理結果は以下のようになる。
【０１３７】
なお、ＬＶｔｍａｘ、Ｒｄｍａｘ、Ｔｆｗは、それぞれ図１０及び図１１の処理で得られた“３０”、“＃ＤＡＴＡ−３”、“１５”であると仮定する。
【０１３８】
・ステップＳ３２：
Ｒｄｍｉｎ＝“＃ＤＡＴＡ−２”、ＬＶｔｍｉｎ＝“５”
【０１３９】
・ステップＳ３３：
Ｎｄｅｃｍａｘ＝（３０／１５＝２．０の小数部）＝０．０（１を加算）⇒１．０
【０１４０】
・ステップＳ３４：
Ｎｄｅｃｍｉｎ＝（５／１５＝０．３３…の小数部）＝０．３３…
【０１４１】
・ステップＳ３５及びＳ３６：
Ｎｄｅｃｍａｘ（１．０）＞Ｎｄｅｃｍｉｎ（０．３３…）
Ｒｄｍｉｎ“＃ＤＡＴＡ−２”＝最後から２番目にＦＷ適用するＲＡＩＤグループ
Ｒｄｍａｘ“＃ＤＡＴＡ−３”＝最後にＦＷ適用するＲＡＩＤグループ
【０１４２】
次に、図１５に例示するように、優先度決定部４５２は、一度にＦＷ適用を行なうＲＡＩＤグループ数（換言すれば、同一の優先度を設定するＲＡＩＤグループの数）Ｎｕに（Ｎｄｎｕｍ−２）／（Ｎｄｖｄ−２）を代入する（ステップＳ３７）。なお、優先度決定部４５２は、（Ｎｄｎｕｍ−２）／（Ｎｄｖｄ−２）の小数点第１位を四捨五入してよい。Ｎｄｎｕｍ及びＮｄｖｄからそれぞれ“２”を減じる理由は、図１３に示す処理で２つのＦＷ適用グループが既に決定されているためである。
【０１４３】
また、優先度決定部４５２は、変数ｉ及びｊにそれぞれ“１”を設定する（ステップＳ３８）。なお、変数ｉ及びｊに代えて共通の変数ｋを用いてもよい。
【０１４４】
次いで、優先度決定部４５２は、処理順序が決まっていないＲＡＩＤグループのうちのオンキャッシュＬＶ５３の処理時間が長い上位Ｎｕ個のＲＡＩＤグループについて、ＦＷ優先度をｉ番目に設定する（ステップＳ３９）。
【０１４５】
そして、優先度決定部４５２は、ｉ＜Ｎｄｖｄ−２、且つ、（Ｎｄｎｕｍ−２）−ｊ×Ｎｕ≧０の条件を満たすか否かを判定する（ステップＳ４０）。
【０１４６】
上記条件を満たす場合（ステップＳ４０でＹｅｓ）、つまり、ＲＡＩＤグループ未設定のＦＷ適用グループが存在し、処理順序が決まっていないＲＡＩＤグループが残っている場合、処理がステップＳ４１に移行する。ステップＳ４１では、優先度決定部４５２は、ｉ及びｊにそれぞれ“１”を加算し、処理がステップＳ３９に移行する。
【０１４７】
一方、上記条件を満たさない場合（ステップＳ４０でＮｏ）、優先度決定部４５２は、処理順序が決まっていない全てのＲＡＩＤグループに（Ｎｄｖｄ−２）番目のＦＷ適用優先度を設定し（ステップＳ４２）、処理が終了する。
【０１４８】
図１６に、ＲＡＩＤグループごとの優先度の一例を示す。なお、Ｎｄｎｕｍ、Ｎｄｖｄは、それぞれ図１０及び図１１の処理で得られた“５”、“３”であると仮定する。
【０１４９】
図１５のステップＳ３７では、上記Ｎｄｎｕｍ、Ｎｄｖｄの値から、Ｎｕ＝（５―２）／（３−２）＝３が得られる。
【０１５０】
図１３の処理により、ＲｄＧｒ＝“＃ＤＡＴＡ−２”及び“ＤＡＴＡ−３”の優先度は決まっている。図１５のステップＳ３９では、処理順序が決まっていないＲｄＧｒ＝“＃ＤＡＴＡ−１”、“＃ＤＡＴＡ−４”、“＃ＤＡＴＡ−５”のＮｕ（３）個のＲＡＩＤグループについて、ｉ（１）番目の優先度が設定される。
【０１５１】
図１６の例では、Ｎｄｖｄ＝“３”であり、ｉ＝ｊ＝“１”におけるステップＳ３９の実行により、ステップＳ４０の条件を満たさなくなる。また、他に処理順序が決まっていないＲＡＩＤグループも存在しないため、処理が終了する。
【０１５２】
なお、Ｎｄｎｕｍ及びＮｄｖｄの値が大きく、ステップＳ４０の条件を満たす場合には、ステップＳ４０でＹｅｓのルートを経由して、２番目、３番目・・・等の優先度（ＦＷ適用グループ）が決定される。
【０１５３】
〔１−３−３〕ＦＷ適用処理
次に、ＦＷ段階適用部４５３によるＦＷ適用処理の動作例を説明する。ＦＷ段階適用部４５３による処理は、図１３及び図１５に示すＦＷ適用優先度決定処理の完了後に実行されてよい。ＦＷ段階適用部４５３は、優先度の値が小さい順にＲＡＩＤグループ単位でＦＷ適用処理を実行する。
【０１５４】
図１７に例示するように、ＦＷ段階適用部４５３は、変数ｉに“１”を設定し（ステップＳ５１）、ｉ番目にファームアップ対象となっているＲＡＩＤグループに所属するＦＳ５２を全てアンマウントする（ステップＳ５２）。
【０１５５】
次いで、ＦＷ段階適用部４５３は、ｉ番目にファームアップ対象となっているＲＡＩＤグループに所属するディスク５１を全てファームアップする（ステップＳ５３）。
【０１５６】
そして、ＦＷ段階適用部４５３は、ｉ番目にファームアップ対象となっているＲＡＩＤグループに所属するＦＳ５２を全てマウントする（ステップＳ５４）。
【０１５７】
ＦＷ段階適用部４５３は、ｉがＮｄｖｄよりも小さいか否かを判定し（ステップＳ５５）、ｉがＮｄｖｄよりも小さければ（ステップＳ５５でＹｅｓ）、ｉに“１”を加算し（ステップＳ５６）、処理がステップＳ５２に移行する。
【０１５８】
一方、ＦＷ段階適用部４５３は、ｉがＮｄｖｄよりも小さくない（Ｎｄｖｄ以上である）場合（ステップＳ５５でＮｏ）、処理が終了する。
【０１５９】
図１８〜図２６に、各ＲＡＩＤグループの状態遷移の一例、並びに、ディスク情報テーブル４１１及びファイルシステム情報テーブル４１３の状態遷移の一例を示す。なお、ＦＷ適用優先度として、図１６に例示する優先度を用いるものとする。
【０１６０】
・ＦＷ適用前
ＦＷ適用前の状態を図１８、図２０の（ａ）、及び図２１の（Ａ）に示す。図１８に示すように、ＲＡＩＤグループ“＃ＣＮＦ”は「構成領域」であるため、ＦＷ段階適用部４５３によるファームアップ対象から除外されてよい。ファームアップ対象であるＲＡＩＤグループ“＃ＤＡＴＡ−１”〜“＃ＤＡＴＡ−５”には、それぞれ、階層制御サーバ４において、“ＤＡＴＡ−１１〜ＤＡＴＡ−１Ｎ”〜“ＤＡＴＡ−５１〜ＤＡＴＡ−５Ｎ”のＦＳ５２がマウントされていると仮定する。
【０１６１】
図２０の（ａ）に示すように、ファイルシステム情報テーブル４１３には、各ＦＳ５２について、マウントされた状態を示す“Mounted”が設定されている。また、図２１の（Ａ）に示すように、各ディスク５１にはＦＷ版数として“ＦＡ８８”が設定されている。
【０１６２】
以下の説明では、“Ｄｉｓｋ＃０２”〜“Ｄｉｓｋ＃０Ｂ”がＦＷ適用対象のディスク５１であり、適用するＦＷの版数が“ＦＡ９９”であると仮定する。
【０１６３】
・ＦＷ適用第１段階処理中（優先度“１”についてＦＷ適用処理中）
ＦＷ適用第１段階の処理中の状態を図１９、図２０の（ｂ）に示す。構成管理部４１による管理情報４１０の更新により、ＦＷ適用対象のＲｄＧｒ“＃ＤＡＴＡ−１”、“＃ＤＡＴＡ−４”、“＃ＤＡＴＡ−５”に所属する全てのＦＳ５２がアンマウント状態となる（図２０の（ｂ）参照）。
【０１６４】
また、ＦＷ段階適用部４５３により、ＦＷ適用対象のＲｄＧｒに対してＦＷが適用される（図１９参照）。なお、ＦＷ適用対象のＲｄＧｒに対してＦＷ適用中にホスト装置７からRead/Write等のアクセス要求があった場合、ＦＷ段階適用部４５３は、ＦＷ適用第１段階が完了するまでアクセス要求を待ち状態として管理してよい。
【０１６５】
ＦＷ適用第１段階では、ＲｄＧｒ“＃ＤＡＴＡ−３”に対するRead/Write処理が実行されてよい。
【０１６６】
・ＦＷ適用第１段階完了（優先度“１”についてＦＷ適用完了）
ＦＷ適用第１段階が完了したときの状態を図２０の（ｃ）、図２１の（Ｂ）に示す。構成管理部４１による管理情報４１０の更新により、ＦＷ適用対象のＲｄＧｒに所属する全てのＦＳ５２がマウント状態となり（図２０の（ｃ）参照）、対応するディスク５１のＦＷ版数が“ＦＡ９９”に更新される（図２１の（Ｂ）参照）。
【０１６７】
・ＦＷ適用第２段階処理中（優先度“２”についてＦＷ適用処理中）
ＦＷ適用第２段階の処理中の状態を図２２、図２３の（ｄ）に示す。構成管理部４１による管理情報４１０の更新により、ＦＷ適用対象のＲｄＧｒ“＃ＤＡＴＡ−２”に所属する全てのＦＳ５２がアンマウント状態となる（図２３の（ｄ）参照）。
【０１６８】
また、ＦＷ段階適用部４５３により、ＦＷ適用対象のＲｄＧｒに対してＦＷが適用される（図２２参照）。なお、ＦＷ適用対象のＲｄＧｒに対してＦＷ適用中にホスト装置７からRead/Write等のアクセス要求があった場合、ＦＷ段階適用部４５３は、ＦＷ適用第２段階が完了するまでアクセス要求を待ち状態として管理してよい。
【０１６９】
ＦＷ適用第２段階では、ＲｄＧｒ“＃ＤＡＴＡ−３”に対するRead/Write処理がＦＷ適用第１段階から継続して実行されてよい。
【０１７０】
・ＦＷ適用第２段階完了（優先度“２”についてＦＷ適用完了）
ＦＷ適用第２段階が完了したときの状態を図２３の（ｅ）、図２４の（Ｃ）に示す。構成管理部４１による管理情報４１０の更新により、ＦＷ適用対象のＲｄＧｒに所属する全てのＦＳ５２がマウント状態となり（図２３の（ｅ）参照）、対応するディスク５１のＦＷ版数が“ＦＡ９９”に更新される（図２４の（Ｃ）参照）。
【０１７１】
・ＦＷ適用第３段階処理中（優先度“３”についてＦＷ適用処理中）
ＦＷ適用第３段階の処理中の状態を図２５、図２６の（ｆ）に示す。構成管理部４１による管理情報４１０の更新により、ＦＷ適用対象のＲｄＧｒ“＃ＤＡＴＡ−３”に所属する全てのＦＳ５２がアンマウント状態となる（図２３の（ｆ）参照）。
【０１７２】
また、ＦＷ段階適用部４５３により、ＦＷ適用対象のＲｄＧｒに対してＦＷが適用される（図２５参照）。なお、ＦＷ適用対象のＲｄＧｒに対してＦＷ適用中にホスト装置７からRead/Write等のアクセス要求があった場合、ＦＷ段階適用部４５３は、ＦＷ適用第２段階が完了するまでアクセス要求を待ち状態として管理してよい。
【０１７３】
ＦＷ適用第３段階では、ＲｄＧｒ“＃ＤＡＴＡ−１”、“＃ＤＡＴＡ−２”、“＃ＤＡＴＡ−４”、“＃ＤＡＴＡ−５”に対するRead/Write処理が実行されてよい。
【０１７４】
・ＦＷ適用第３段階完了（優先度“３”についてＦＷ適用完了）
ＦＷ適用第３段階が完了したときの状態を図２６の（ｇ）、図２４の（Ｄ）に示す。構成管理部４１による管理情報４１０の更新により、ＦＷ適用対象のＲｄＧｒに所属する全てのＦＳ５２がマウント状態となり（図２６の（ｇ）参照）、対応するディスク５１のＦＷ版数が“ＦＡ９９”に更新される（図２４の（Ｄ）参照）。
【０１７５】
以上の処理により、仮想テープライブラリ装置２において、システムのフルバックアップ／フルリストアを行なうような大容量のデータを読み書きする処理と、ＦＷ適用処理とを同時に実行でき、且つ、双方の処理時間を最適化することができる。
【０１７６】
なお、ＦＷ適用第１〜第３段階処理中の状態例において、各ＲＡＩＤグループに対するRead/Write処理を行なう期間は、図１９、図２２、図２５に示す例に限定されるものではない。例えば、階層制御サーバ４は、各ＲＡＩＤグループに対して、当該ＲＡＩＤグループのＦＷ適用処理の期間と異なる期間であれば、いずれの期間にRead/Write処理を行なってもよい。Read/Write処理を行なう期間は、Ｉ／Ｏを処理する階層制御サーバ４又はディスクアレイ装置５の制御装置等の処理性能やＩ／Ｏのデータ量等に応じて決定されてもよい。
【０１７７】
〔２〕その他
上述した一実施形態に係る技術は、以下のように変形、変更して実施することができる。
【０１７８】
例えば、階層制御サーバ４において、構成管理部４１、ＬＶ制御部４２、ＦＳ制御部４３、ＰＶ制御部４４、及びＦＷ適用制御部４５の機能は、任意の組み合わせで併合してもよく、分割してもよい。また、ＦＷ適用制御部４５において、分割数算出部４５１、優先度決定部４５２、及びＦＷ段階適用部４５３の機能は、任意の組み合わせで併合してもよく、分割してもよい。さらに、階層制御サーバ４内の上述した機能の少なくとも一部は、階層制御サーバ４とは異なる装置に含まれてもよい。
【０１７９】
一実施形態では、仮想テープライブラリ装置２にそなえられる階層制御サーバ４において、ディスク５１のＦＷ適用を行なう場合を例に挙げて説明したが、これに限定されるものではない。一実施形態に係る手法は、複数の記憶装置をそなえる種々のストレージ装置に対して適用されてもよい。
【０１８０】
一例として、複数の記憶装置をＲＡＩＤ構成としたＲＡＩＤ装置を複数そなえるストレージ装置（例えばスケールアウト型ストレージ）に対して、一実施形態に係る手法を適用してもよい。この場合、階層制御サーバ４としての機能は、ＲＡＩＤ装置を制御するＣＭ（Controller Module）等の制御装置がそなえてもよい。
【０１８１】
また、一実施形態では、テープライブラリ６が磁気テープカートリッジを用いるものとして説明したが、これに限定されるものではない。例えば、テープライブラリ６に代えて、ＣＤ、ＤＶＤ、ブルーレイディスク、又は、ＨＶＤ等の光ディスク又は光ディスクカートリッジを用いる光ディスクライブラリである場合にも、階層制御サーバ４に対して一実施形態に係る手法が適用されてよい。
【０１８２】
〔３〕付記
以上の実施形態に関し、さらに以下の付記を開示する。
【０１８３】
（付記１）
上位装置からのアクセス要求に応じた処理対象である複数のストレージグループから、ファームウェアの適用対象である複数の記憶装置の各々が属するストレージグループを特定する特定部と、
特定したストレージグループごとの前記アクセス要求に応じた処理時間の推定値に基づいて、前記特定したストレージグループの各々に対してファームウェアの適用処理の優先度を設定する設定部と、
設定した優先度に応じた実行順序で、前記優先度が設定されたストレージグループに属する記憶装置に対して前記適用処理を行なう適用部と、
前記適用処理を実行中のストレージグループ以外のストレージグループに対して、前記アクセス要求に応じた処理を行なうアクセス制御部と、をそなえる
ことを特徴とする、ストレージ制御装置。
【０１８４】
（付記２）
前記設定部は、前記アクセス要求に応じた処理時間の推定値が大きいストレージグループほど前記適用処理の実行順序が先となる優先度を設定する、
ことを特徴とする、付記１記載のストレージ制御装置。
【０１８５】
（付記３）
前記設定部は、前記アクセス要求でアクセス対象に指定された複数のデータのうちのデータ単位の処理時間の推定値が最も大きいデータを割り当てられているストレージグループに対して、前記適用処理が最後又は最後から二番目に実施される優先度を設定する、
ことを特徴とする、付記１又は付記２記載のストレージ制御装置。
【０１８６】
（付記４）
前記設定部は、前記データ単位の処理時間の推定値が最も大きいデータを割り当てられているストレージグループ、及び、前記アクセス要求に応じた処理時間の推定値が最も小さいストレージグループのうちの一方のストレージグループに対して前記適用処理が最後に実施される優先度を設定し、他方のストレージグループに対して前記適用処理が最後から二番目に実施される優先度を設定する、
ことを特徴とする、付記３記載のストレージ制御装置。
【０１８７】
（付記５）
前記設定部は、前記アクセス要求でアクセス対象に指定された複数のデータのうちのデータ単位の処理時間の推定値と、前記適用処理の処理時間と、前記特定したストレージグループの数とに基づいて、前記優先度の段階数を決定する、
ことを特徴とする、付記１〜４のいずれか１項記載のストレージ制御装置。
【０１８８】
（付記６）
前記設定部は、前記優先度の段階数と、前記特定したストレージグループの数とに基づいて、同一の優先度を設定するストレージグループの数を決定する、
ことを特徴とする、付記５記載のストレージ制御装置。
【０１８９】
（付記７）
前記複数のストレージグループは、複数の可搬媒体を収容するライブラリ装置において前記複数の可搬媒体のうちの１以上の可搬媒体の各々が記憶するデータの論理ボリュームを記憶し、
前記特定部は、前記アクセス要求でアクセス対象に指定された論理ボリュームを記憶する複数のストレージグループを、前記処理対象であると特定する、
ことを特徴とする、付記１〜６のいずれか１項記載のストレージ制御装置。
【０１９０】
（付記８）
前記特定部は、前記ストレージ制御装置に関する構成情報を記憶するストレージグループを、前記特定するストレージグループから除外する、
ことを特徴とする、付記１〜７のいずれか１項記載のストレージ制御装置。
【０１９１】
（付記９）
複数の記憶装置と、
前記複数の記憶装置の制御を行なうストレージ制御装置と、をそなえ、
前記ストレージ制御装置は、
上位装置からのアクセス要求に応じた処理対象である複数のストレージグループから、ファームウェアの適用対象である複数の記憶装置の各々が属するストレージグループを特定する特定部と、
特定したストレージグループごとの前記アクセス要求に応じた処理時間の推定値に基づいて、前記特定したストレージグループの各々に対してファームウェアの適用処理の優先度を設定する設定部と、
設定した優先度に応じた実行順序で、前記優先度が設定されたストレージグループに属する記憶装置に対して前記適用処理を行なう適用部と、
前記適用処理を実行中のストレージグループ以外のストレージグループに対して、前記アクセス要求に応じた処理を行なうアクセス制御部と、をそなえる
ことを特徴とする、ストレージ装置。
【０１９２】
（付記１０）
コンピュータに、
上位装置からのアクセス要求に応じた処理対象である複数のストレージグループから、ファームウェアの適用対象である複数の記憶装置の各々が属するストレージグループを特定し、
特定したストレージグループごとの前記アクセス要求に応じた処理時間の推定値に基づいて、前記特定したストレージグループの各々に対してファームウェアの適用処理の優先度を設定し、
設定した優先度に応じた実行順序で、前記優先度が設定されたストレージグループに属する記憶装置に対して前記適用処理を行ない、
前記適用処理を実行中のストレージグループ以外のストレージグループに対して、前記アクセス要求に応じた処理を行なう
処理を実行させることを特徴とする、制御プログラム。
【０１９３】
（付記１１）
前記設定は、前記アクセス要求に応じた処理時間の推定値が大きいストレージグループほど前記適用処理の実行順序が先となる優先度を設定する、
ことを特徴とする、付記１０記載の制御プログラム。
【０１９４】
（付記１２）
前記設定は、前記アクセス要求でアクセス対象に指定された複数のデータのうちのデータ単位の処理時間の推定値が最も大きいデータを割り当てられているストレージグループに対して、前記適用処理が最後又は最後から二番目に実施される優先度を設定する、
ことを特徴とする、付記１０又は付記１１記載の制御プログラム。
【０１９５】
（付記１３）
前記設定は、前記データ単位の処理時間の推定値が最も大きいデータを割り当てられているストレージグループ、及び、前記アクセス要求に応じた処理時間の推定値が最も小さいストレージグループのうちの一方のストレージグループに対して前記適用処理が最後に実施される優先度を設定し、他方のストレージグループに対して前記適用処理が最後から二番目に実施される優先度を設定する、
ことを特徴とする、付記１２記載の制御プログラム。
【０１９６】
（付記１４）
前記設定は、前記アクセス要求でアクセス対象に指定された複数のデータのうちのデータ単位の処理時間の推定値と、前記適用処理の処理時間と、前記特定したストレージグループの数とに基づいて、前記優先度の段階数を決定する、
ことを特徴とする、付記１０〜１３のいずれか１項記載の制御プログラム。
【０１９７】
（付記１５）
前記設定は、前記優先度の段階数と、前記特定したストレージグループの数とに基づいて、同一の優先度を設定するストレージグループの数を決定する、
ことを特徴とする、付記１４記載の制御プログラム。
【０１９８】
（付記１６）
前記複数のストレージグループは、複数の可搬媒体を収容するライブラリ装置において前記複数の可搬媒体のうちの１以上の可搬媒体の各々が記憶するデータの論理ボリュームを記憶し、
前記特定は、前記アクセス要求でアクセス対象に指定された論理ボリュームを記憶する複数のストレージグループを、前記処理対象であると特定する、
ことを特徴とする、付記１０〜１５のいずれか１項記載の制御プログラム。
【０１９９】
（付記１７）
前記特定は、前記ストレージ制御装置に関する構成情報を記憶するストレージグループを、前記特定するストレージグループから除外する、
ことを特徴とする、付記１０〜１６のいずれか１項記載の制御プログラム。
【符号の説明】
【０２００】
１    システム
２    仮想テープライブラリ装置
３    仮想テープライブラリ
４    階層制御サーバ
４１    構成管理部
４１０    管理情報
４１１    ディスク情報テーブル
４１２    ＲＡＩＤグループ情報テーブル
４１３    ファイルシステム情報テーブル
４２    ＬＶ制御部
４３    ＦＳ制御部
４４    ＰＶ制御部
４５    ＦＷ適用制御部
４５１    分割数算出部
４５２    優先度決定部
４５３    ＦＷ段階適用部
５    ディスクアレイ装置
５１    ディスク
５２    ファイルシステム
５３    ＬＶ
６    テープライブラリ
６１    ロボット
６２    テープドライブ
６３    ＰＶ
７    ホスト装置
８    ネットワーク
【図１】
2018092426.tif 000003
【図２】
2018092426.tif 000004
【図３】
2018092426.tif 000005
【図４】
2018092426.tif 000006
【図５】
2018092426.tif 000007
【図６】
2018092426.tif 000008
【図７】
2018092426.tif 000009
【図８】
2018092426.tif 000010
【図９】
2018092426.tif 000011
【図１０】
2018092426.tif 000012
【図１１】
2018092426.tif 000013
【図１２】
2018092426.tif 000014
【図１３】
2018092426.tif 000015
【図１４】
2018092426.tif 000016
【図１５】
2018092426.tif 000017
【図１６】
2018092426.tif 000018
【図１７】
2018092426.tif 000019
【図１８】
2018092426.tif 000020
【図１９】
2018092426.tif 000021
【図２０】
2018092426.tif 000022
【図２１】
2018092426.tif 000023
【図２２】
2018092426.tif 000024
【図２３】
2018092426.tif 000025
【図２４】
2018092426.tif 000026
【図２５】
2018092426.tif 000027
【図２６】
2018092426.tif 000028