(57)【要約】【課題】ストレージ装置を利用する上位装置に対して安定したデータアクセス性能を提供すること。【解決手段】ＰＵ＃１は、ＳＵ＃ｉの性能情報を取得する。ＰＵ＃１は、取得したＳＵ＃ｉの性能情報に応じて、割当情報１１０により特定されるＳＵ＃ｉ内のゼロ初期化対象となる記憶領域に対するゼロ初期化処理の実行を制御する。例えば、ＰＵ＃１は、ＳＵ＃ｉの性能情報により特定されるＳＵ＃ｉへのアクセスに対する応答時間が閾値Ｔ１未満であることに応じて、ＳＵ＃ｉ内のゼロ初期化対象の記憶領域に対するゼロ初期化処理の実行を開始する制御を行う。また、例えば、ＰＵ＃１は、ＳＵ＃ｉのゼロ初期化処理を実行中に、ＳＵ＃ｉの性能情報により特定されるＳＵ＃ｉへのアクセスに対する応答時間が閾値Ｔ２を超えたことに応じて、実行中のゼロ初期化処理の実行を停止する制御を行う。【選択図】図１
2015143945.tif 000002
【特許請求の範囲】
【請求項１】
ストレージ装置内のストレージユニットを制御するストレージ制御装置であって、
前記ストレージユニットの記憶領域の割当状況を含む割当情報を記憶する記憶部と、
前記ストレージユニットへのアクセスに対する応答性能を表す性能情報を取得し、取得した前記性能情報に応じて、前記割当情報により特定される前記ストレージユニット内の初期化対象となる記憶領域に対する初期化処理の実行を制御する制御部と、
を有することを特徴とするストレージ制御装置。
【請求項２】
前記ストレージ装置は、前記ストレージユニットを制御する複数のストレージ制御装置を含み、
前記制御部は、
前記複数のストレージ制御装置に含まれるストレージ制御装置にかかる負荷を表す負荷情報を取得し、取得した前記負荷情報に応じて、前記ストレージ制御装置による前記初期化処理の実行を制御することを特徴とする請求項１に記載のストレージ制御装置。
【請求項３】
前記制御部は、
前記性能情報により特定される前記ストレージユニットへのアクセスに対する応答時間が第１の閾値未満であることに応じて、前記初期化処理の実行を開始する制御を行うことを特徴とする請求項２に記載のストレージ制御装置。
【請求項４】
前記制御部は、
前記初期化処理を実行中に、前記性能情報により特定される前記ストレージユニットへのアクセスに対する応答時間が第２の閾値を超えたことに応じて、前記初期化処理の実行を停止する制御を行うことを特徴とする請求項３に記載のストレージ制御装置。
【請求項５】
前記制御部は、
前記複数のストレージ制御装置のうち、前記負荷情報により特定される負荷が最小となるストレージ制御装置による前記初期化処理の実行を開始する制御を行うことを特徴とする請求項３または４に記載のストレージ制御装置。
【請求項６】
前記制御部は、
前記ストレージ装置内のストレージユニットとストレージ制御装置とを接続するスイッチ同士がカスケード接続される場合、前記各スイッチに直接接続されるストレージ制御装置とストレージユニットとをグループ化し、
前記各グループに属するストレージユニット内の初期化対象となる記憶領域に対する初期化処理を、前記各グループに属するストレージ制御装置に実行させることを特徴とする請求項２〜５のいずれか一つに記載のストレージ制御装置。
【請求項７】
前記制御部は、
前記各グループに属するストレージ制御装置のうち、前記負荷情報により特定される負荷が最小となるストレージ制御装置による前記初期化処理の実行を開始する制御を行うことを特徴とする請求項６に記載のストレージ制御装置。
【請求項８】
ストレージユニットと、前記ストレージユニットを制御するストレージ制御装置とを含むストレージ装置であって、
前記ストレージ制御装置は、
前記ストレージユニットの記憶領域の割当状況を含む割当情報を記憶する記憶部と、
前記ストレージユニットへのアクセスに対する応答性能を表す性能情報を取得し、取得した前記性能情報に応じて、前記割当情報により特定される前記ストレージユニット内の初期化対象となる記憶領域に対する初期化処理の実行を制御する制御部と、
を有することを特徴とするストレージ装置。
【請求項９】
ストレージ装置内のストレージユニットを制御するストレージ制御装置に、
前記ストレージユニットへのアクセスに対する応答性能を表す性能情報を取得し、取得した前記性能情報に応じて、前記ストレージユニットの記憶領域の割当状況を含む割当情報により特定される前記ストレージユニット内の初期化対象となる記憶領域に対する初期化処理の実行を制御する、
処理を実行させることを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ制御装置、ストレージ装置および制御プログラムに関する。
【背景技術】
【０００２】
従来、物理的な記憶装置のボリューム構成や記憶容量に縛られることなく、自由なボリューム構成、記憶容量の記憶装置を実現することができるストレージシステムとして、仮想化環境向けストレージ、いわゆる仮想化ストレージ装置がある。仮想化ストレージ装置は、装置内部に物理的な記憶装置に対するアクセスを制御するストレージユニットを有し、ストレージユニットを管理するプロセッサにより仮想的なボリュームを作成する。
【０００３】
仮想的なボリュームは、仮想化ストレージ装置内のプロセッサ上に作成され、ストレージユニット上の物理的な記憶領域との対応付けが行われる。また、不要となったボリュームが削除されると、そのボリュームを形成するセグメントが開放される。この際、開放されたセグメントが別のボリュームに再利用された場合に以前のデータが読まれてしまうことを防ぐため、ストレージユニットに対してセグメントのデータをすべて「０」で上書きするゼロ初期化処理が行われる。
【０００４】
関連する先行技術としては、例えば、仮想サーバを制御する複数のサーバ装置の中で負荷の低いサーバ装置を、削除する仮想サーバに割り当てられていた仮想ディスクに格納されている情報を消去するサーバ装置として選択する技術がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−１０４５３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来技術では、ストレージユニットに対するゼロ初期化処理により、ストレージユニットへのアクセスが集中して、業務サーバ等からのＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）要求に対する応答性能の低下を招くという問題がある。
【０００７】
一つの側面では、本発明は、ストレージ装置を利用する上位装置に対して安定したデータアクセス性能を提供するストレージ制御装置、ストレージ装置および制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一側面によれば、ストレージ装置内のストレージユニットを制御するストレージ制御装置が、前記ストレージユニットへのアクセスに対する応答性能を表す性能情報を取得し、取得した前記性能情報に応じて、前記ストレージユニットの記憶領域の割当状況を含む割当情報により特定される前記ストレージユニット内の初期化対象となる記憶領域に対する初期化処理の実行を制御するストレージ制御装置および制御プログラムが提案される。
【０００９】
また、本発明の一側面によれば、ストレージユニットと、前記ストレージユニットを制御するストレージ制御装置とを含むストレージ装置であって、前記ストレージ制御装置は、前記ストレージユニットの記憶領域の割当状況を含む割当情報を記憶する記憶部と、前記ストレージユニットへのアクセスに対する応答性能を表す性能情報を取得し、取得した前記性能情報に応じて、前記割当情報により特定される前記ストレージユニット内の初期化対象となる記憶領域に対する初期化処理の実行を制御する制御部と、を有するストレージ装置が提案される。
【発明の効果】
【００１０】
本発明の一態様によれば、ストレージ装置を利用する上位装置に対して安定したデータアクセス性能を提供することができるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施の形態１にかかる制御方法の一実施例を示す説明図である。
【図２】図２は、実施の形態２にかかるストレージ装置１００の装置構成例を示す説明図である。
【図３】図３は、ＰＵ＃１等のハードウェア構成例を示すブロック図である。
【図４】図４は、ストレージ装置１００内のＳＷ同士のカスケード接続例を示す説明図である。
【図５】図５は、ＶＤＩＳＫの構成例を示す説明図である。
【図６】図６は、ボリュームセグメントテーブル６００の記憶内容の一例を示す説明図である。
【図７】図７は、セグメント状態の遷移例を示す説明図である。
【図８】図８は、ＳＷグループ管理テーブル８００の記憶内容の一例を示す説明図である。
【図９】図９は、ＳＷグループ管理テーブル８００の更新例を示す説明図である。
【図１０】図１０は、非同期処理管理テーブル１０００の記憶内容の一例を示す説明図である。
【図１１】図１１は、ゼロ初期化処理のステータスの遷移例を示す説明図である。
【図１２】図１２は、ＰＵ＃１の機能的構成例を示すブロック図である。
【図１３】図１３は、非同期処理管理テーブル１０００の更新例を示す説明図（その１）である。
【図１４】図１４は、非同期処理管理テーブル１０００の更新例を示す説明図（その２）である。
【図１５】図１５は、ストレージ装置１００の非同期処理制御処理手順の一例を示すフローチャート（その１）である。
【図１６】図１６は、ストレージ装置１００の非同期処理制御処理手順の一例を示すフローチャート（その２）である。
【図１７】図１７は、ストレージ装置１００の非同期処理手順の一例を示すフローチャート（その１）である。
【図１８】図１８は、ストレージ装置１００の非同期処理手順の一例を示すフローチャート（その２）である。
【発明を実施するための形態】
【００１２】
以下に図面を参照して、本発明にかかるストレージ制御装置、ストレージ装置および制御プログラムの実施の形態を詳細に説明する。なお、本明細書では、ストレージ制御装置を「ＰＵ（Ｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ）」と表記し、ストレージユニットを「ＳＵ（Ｓｔｏｒａｇｅ  Ｕｎｉｔ）」と表記し、スイッチを「ＳＷ（Ｓｗｉｔｃｈ）」と表記する場合がある。
【００１３】
（実施の形態１）
図１は、実施の形態１にかかる制御方法の一実施例を示す説明図である。図１において、ストレージ装置１００は、ＰＵ＃１〜ＰＵ＃４と、ＳＵ＃１〜ＳＵ＃３と、を含む。ここで、ＰＵ＃１〜ＰＵ＃４は、自配下のＳＵ＃１〜ＳＵ＃３をそれぞれ制御するコンピュータである。
【００１４】
ＰＵ＃１〜ＰＵ＃４は、上位装置ＳＶから自配下のＳＵ＃１〜ＳＵ＃３に対するアクセスを受け付け、受け付けたアクセスを処理する。また、ＰＵ＃１は、ストレージ装置１００内の他のＰＵ（例えば、ＰＵ＃２〜ＰＵ＃４）を管理し、ストレージ装置全体を制御するマスタ制御部として動作する。
【００１５】
上位装置ＳＶは、例えば、ストレージ装置１００を利用する業務サーバや、ストレージ装置１００を管理する管理サーバなどである。業務サーバは、業務用のアプリケーションがインストールされたコンピュータである。管理サーバは、ストレージ装置１００の管理者が使用するコンピュータである。
【００１６】
ＳＵ＃１〜ＳＵ＃３は、それぞれストレージを有し、各ストレージに対するアクセスをそれぞれ制御するコンピュータである。ストレージは、一以上の記憶装置Ｄを含む。記憶装置Ｄは、ハードディスク、光ディスク、フラッシュメモリ、磁気テープなどの物理的な記憶装置であってもよく、また、論理的な記憶装置であるＬＵＮ（Ｌｏｇｉｃａｌ  Ｕｎｉｔ  Ｎｕｍｂｅｒ）であってもよい。
【００１７】
ここで、ストレージ装置１００は、例えば、ワイドストライピングによるデータアクセスを行う。ワイドストライピングとは、１つのボリュームに対するデータアクセスを、複数のＬＵＮに分散し、固定長のストリップと呼ばれる単位でアクセスする技術である。ワイドストライピングによれば、アクセス集中による性能低下を抑止し、業務サーバからのストレージ装置１００へのアクセス量やボリュームの物理的位置を意識した複雑な性能設計を行うことなく、安定した性能を確保することができる。
【００１８】
ボリューム（図１の例では、ボリュームＶ１〜Ｖ４）は、ストレージ装置１００の管理単位となる記憶領域であり、ＳＵ＃１〜ＳＵ＃３内の記憶装置Ｄにより実現される。ボリュームは、例えば、複数の物理的な記憶装置または記憶装置（例えば、ハードディスク）内のパーティションをグループ化して、仮想的に一つのボリュームとした論理ボリュームであってもよい。
【００１９】
詳細な説明は図５を用いて後述するが、ボリュームは、例えば、複数のセグメントセットの集合体であり、各セグメントセットは、複数のセグメントの集合体である。セグメントは、所定容量で規定された管理単位の記憶領域である。セグメントは、例えば、上位装置ＳＶからボリュームへの記録再生指示アドレス（ＬＢＡ：Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓｉｎｇ）等の位置情報で管理される。
【００２０】
また、不要となったボリュームが削除されると、そのボリュームを形成するセグメントが開放される。セグメントを開放する場合、そのセグメントが割り当てられた記憶領域に対する初期化処理が行われる。初期化処理は、例えば、セグメントのデータをすべて「０」で上書きする処理である。
【００２１】
これにより、不要となったボリュームの削除に伴って開放されたセグメントを別のボリュームに再利用する場合に、以前のデータが読まれてしまうことを防ぐことができる。以下の説明では、初期化処理の一例として、セグメントのデータをすべて「０」で上書きする「ゼロ初期化処理」を例に挙げて説明する。
【００２２】
ストレージ装置１００において、ボリュームを作成する際には、ワイドストライピングにより、ボリュームを形成するセグメントが全ＳＵに分散され、ＳＵ全体で使用率が平準化される。しかし、ボリュームの作成時は、そのボリュームがどれくらいの頻度でアクセスされるのか、そのボリュームのどのアドレスが頻繁にアクセスされるのかといった情報は分からない。
【００２３】
このため、実際の運用を開始した後に、特定のＳＵにアクセスが集中する場合がある。図１の例では、ストレージ装置１００内のＳＵ＃１〜ＳＵ＃３のうちのＳＵ＃１にアクセスが集中している。この場合、ＳＵ＃１内の記憶領域に対するゼロ初期化処理が行われると、さらに、ＳＵ＃１にアクセスが集中して、業務サーバからのＩ／Ｏ要求に対する応答性能の低下を招いてしまう。図１中、各ＳＵへの実線矢印は、業務サーバからのＩ／Ｏ要求に応じたアクセスを示し、各ＳＵへの点線矢印は、ゼロ初期化処理に応じたアクセスを示す。
【００２４】
そこで、本実施の形態では、ストレージ装置１００は、運用中の各ＳＵの応答性能を監視し、各ＳＵの応答性能に応じて、各ＳＵ内の記憶領域に対するゼロ初期化処理の実行を制御する。以下、ストレージ装置１００の制御処理例について説明する。
【００２５】
以下の説明では、ストレージ装置１００内の複数のＳＵ（例えば、ＳＵ＃１〜ＳＵ＃３）のうちの任意のＳＵを「ＳＵ＃ｉ」と表記する場合がある（ｉ＝１，２，…）。また、ストレージ装置１００内の複数のＰＵ（例えば、ＰＵ＃１〜ＰＵ＃４）のうちの任意のＰＵを「ＰＵ＃ｊ」と表記する場合がある（ｊ＝１，２，…）。
【００２６】
（１）ＰＵ＃１は、ＳＵ＃ｉの性能情報を取得する。ここで、ＳＵ＃ｉの性能情報は、ＳＵ＃ｉへのアクセスに対する応答性能を表す情報であり、例えば、ＳＵ＃ｉへのアクセスに対する応答時間を特定する情報である。
【００２７】
（２）ＰＵ＃１は、取得したＳＵ＃ｉの性能情報に応じて、割当情報１１０により特定されるＳＵ＃ｉ内のゼロ初期化対象となる記憶領域に対するゼロ初期化処理の実行を制御する。ここで、割当情報１１０は、ＳＵ＃ｉの記憶領域の割当状況を含む情報であり、例えば、各ボリュームを形成する各セグメントがＳＵ＃ｉ内のどの記憶領域に割り当てられているかを示す情報である。
【００２８】
例えば、ＰＵ＃１は、割当情報１１０を参照して、ＳＵ＃ｉ内のゼロ初期化対象となる記憶領域を特定する。ゼロ初期化対象となる記憶領域は、例えば、不要となったボリュームを形成するセグメントが割り当てられた記憶領域である。そして、ＰＵ＃１は、ＳＵ＃ｉの性能情報に応じて、特定したＳＵ＃ｉ内のゼロ初期化対象の記憶領域に対するゼロ初期化処理の実行を制御する。
【００２９】
具体的には、例えば、ＰＵ＃１は、ＳＵ＃ｉの性能情報により特定されるＳＵ＃ｉへのアクセスに対する応答時間が閾値Ｔ１未満であることに応じて、ＳＵ＃ｉ内のゼロ初期化対象の記憶領域に対するゼロ初期化処理の実行を開始する制御を行う。ここで、閾値Ｔ１は、ＳＵ＃ｉへのアクセスに対する応答時間が閾値Ｔ１未満であれば、ＳＵ＃ｉに対するアクセス頻度が少ないために、ＳＵ＃ｉにかかる負荷が低い状態となっていると判断できる値に設定される。
【００３０】
また、例えば、ＰＵ＃１は、ＳＵ＃ｉのゼロ初期化処理を実行中に、ＳＵ＃ｉの性能情報により特定されるＳＵ＃ｉへのアクセスに対する応答時間が閾値Ｔ２を超えたことに応じて、実行中のゼロ初期化処理の実行を停止する制御を行う。ここで、閾値Ｔ２は、閾値Ｔ１よりも大きい値である。閾値Ｔ２は、ＳＵ＃ｉへのアクセスに対する応答時間が閾値Ｔ２を超えると、ＳＵ＃ｉに対するアクセス頻度が多いために、ＳＵ＃ｉにかかる負荷が高い状態となっており、上位装置ＳＶからのＩ／Ｏ要求に対する応答性能を低下させる可能性があると判断できる値に設定される。
【００３１】
このように、ＰＵ＃１によれば、ＳＵ＃ｉへのアクセスに対する応答性能を表す性能情報を取得し、取得した性能情報に応じて、ＳＵ＃ｉ内のゼロ初期化対象となる記憶領域に対するゼロ初期化処理の実行を制御することができる。
【００３２】
これにより、実際の運用を開始した後で見えてくるボリュームのアクセス特性をもとに装置内部で実行する非同期処理（ゼロ初期化処理）を制御することができる。この結果、業務サーバ等の上位装置ＳＶからのＩ／Ｏ要求に与える内部処理の影響を抑えて、上位装置ＳＶに対して安定したデータアクセス性能を提供することができる。
【００３３】
また、同じタイミングで全ＳＵ内のセグメントが開放されて空き容量が増えていくことを防ぐことができる。この結果、次回のボリューム作成時に、全ＳＵから均等にセグメントが割り当てられることで、アクセスが集中しているＳＵ（図１の例では、ＳＵ＃１）のアクセス頻度がさらに高くなることを防ぐことができる。
【００３４】
なお、図１の例では、ストレージ装置１００が４つのＰＵを含む場合を例に挙げて説明したが、１以上であれば幾つのＰＵを含んでいてもよい。また、図１の例では、ストレージ装置１００が３つのＳＵを含む場合を例に挙げて説明したが、１以上であれば幾つのＳＵを含んでいてもよい。
【００３５】
（実施の形態２）
つぎに、実施の形態２にかかるストレージ装置１００について説明する。実施の形態２では、実施の形態１で説明したストレージ装置１００をスケールアウト型のストレージシステムに適用した場合について説明する。なお、実施の形態１で説明した箇所と同様の箇所についての説明は省略する。
【００３６】
図２は、実施の形態２にかかるストレージ装置１００の装置構成例を示す説明図である。図２において、ストレージ装置１００は、要求される記憶容量の増加に伴って、ストレージ装置全体の記憶領域を拡張することができるストレージシステムである。具体的には、例えば、ストレージ装置１００は、ＰＵとＳＵを１セットとして、ストレージ装置全体の記憶領域を拡張することができる。
【００３７】
以下の説明では、ＰＵとＳＵを１セットとする拡張セットを、ストレージ装置１００に追加することを「スケールアウト」と表記し、ＰＵとＳＵのペアを「ノード」と表記する場合がある。ただし、ストレージ装置１００の基本構成では、冗長化のために１つのＳＵに２つのＰＵが接続される場合を想定する。
【００３８】
図２の例では、ストレージ装置１００は、基本ノードＮ１と拡張ノードＮ２を含む。基本ノードＮ１は、ＰＵ＃１とＰＵ＃２とＳＵ＃１を有する。拡張ノードＮ２は、ＰＵ＃３とＳＵ＃２を有する。すなわち、基本構成となる基本ノードＮ１に、拡張セットである拡張ノードＮ２が追加されて、ストレージ装置１００がスケールアウトされている。
【００３９】
拡張ノードＮ２が追加されると、ＰＵ＃１は、ＰＵ同士をクラスタリングする。図２の例では、ＰＵ＃１とＰＵ＃２とＰＵ＃３とでクラスタが形成される。また、拡張ノードＮ２が追加されると、ＰＵ＃１は、追加されたＳＵ＃２を利用可能な状態にしてストレージ装置全体の記憶容量を拡張する。
【００４０】
各ＰＵ＃１、ＰＵ＃２は、追加されたＳＵ＃２が接続されてアクセス可能な状態になると、ＳＵ＃２も自配下のＳＵとして管理する。また、ＰＵ＃３は、ＳＵ＃１，ＳＵ＃２が接続されてアクセス可能な状態になると、ＳＵ＃１，ＳＵ＃２を自配下のＳＵとして管理する。
【００４１】
ここで、ＰＵ＃１は、マネージャＭとエージェントＡ＃１を有し、ＳＵ＃１内の構成ＤＢ２００にアクセス可能である。また、ＰＵ＃２，ＰＵ＃３は、エージェントＡ＃２，Ａ＃３をそれぞれ有する。マネージャＭは、ストレージ装置１００内のいずれか一つのＰＵ（図２の例では、ＰＵ＃１）に存在し、ＶＤＩＳＫの構成情報の管理、更新を行い、エージェントＡ＃１〜Ａ＃３を制御する。
【００４２】
ＶＤＩＳＫは、ストレージ装置１００により提供される仮想的なボリュームであり、ＰＵ＃１〜ＰＵ＃３上に作成される。ＶＤＩＳＫの構成例については、図５を用いて後述する。ＶＤＩＳＫの構成情報は、構成ＤＢ２００を用いて管理される。
【００４３】
構成ＤＢ２００は、ＶＤＩＳＫの構成情報を記憶する。ＶＤＩＳＫの構成情報には、例えば、ＶＤＩＳＫ（ボリューム）を形成する各セグメントがＳＵ内のどのＬＵＮに割り当てられているかを示す情報（例えば、図１に示した割当情報１１０に相当）が含まれる。構成ＤＢ２００の記憶内容については、図６および図８を用いて後述する。
【００４４】
エージェントＡ＃１〜Ａ＃３は、ドライバの制御を行うとともに、エラーなどのイベントを監視し、マネージャＭへの通知を行う。また、エージェントＡ＃１〜Ａ＃３は、マネージャＭの制御に従って、非同期処理スレッドを生成し、非同期処理を実行する。非同期処理は、セグメントのデータをすべて「０」で上書きするゼロ初期化処理である。
【００４５】
また、ストレージ装置１００において、ＰＵ＃１〜ＰＵ＃３とＳＵ＃１，ＳＵ＃２は、冗長化されたＳＷ＃１，＃２を介してフルメッシュ接続される。ＳＷ＃１，ＳＷ＃２は、スイッチング機能を有するコンピュータである。ＳＷ＃１，ＳＷ＃２は、受信したデータの宛先に対応する経路（ポート）を選択してデータを中継する。
【００４６】
これにより、ストレージ装置１００内の全ＰＵから全ＳＵへのアクセスが可能となり、ＰＵの故障等の障害発生時における縮退運転が可能となる。なお、縮退運転とは、システムに障害が発生したときに性能や機能を部分的に停止させた状態で稼働を続行することである。
【００４７】
ただし、各ＳＷが有するポートの数は有限であり、各ＳＷに接続できるＰＵやＳＵの数には限りがある。このため、ストレージ装置１００では、スケールアウトが繰り返し行われてＳＷのポートが不足すると、ＳＷが増設される。この際、ストレージ装置１００では、ＳＷ同士をカスケード接続することでＰＵとＳＵとのフルメッシュ接続を実現する。
【００４８】
カスケード接続とは、複数のＳＷを直列に接続して、より多くの機器（例えば、ＰＵやＳＵ）を接続できるようにすることである。なお、ストレージ装置１００内のＳＷ同士のカスケード接続例については、図４を用いて後述する。
【００４９】
また、ストレージ装置１００において、ＰＵ＃１がダウンした場合は、例えば、ＰＵ＃２またはＰＵ＃３が、ＰＵ＃１の機能を引き継ぐ。また、図示は省略するが、ＰＵ＃１〜ＰＵ＃３は、例えば、管理用ＬＡＮを介して、上位装置ＳＶ（図１参照）である管理サーバと接続される。また、ＰＵ＃１〜ＰＵ＃３は、Ｉ／Ｏ用ＬＡＮを介して、上位装置ＳＶ（図１参照）である業務サーバと接続される。
【００５０】
（ＰＵ＃１等のハードウェア構成例）
つぎに、図２に示したＰＵ＃１〜ＰＵ＃３、ＳＵ＃１，ＳＵ＃２およびＳＷ＃１，ＳＷ＃２等のコンピュータ（ここでは、単に「ＰＵ＃１等」と称する）のハードウェア構成例について説明する。
【００５１】
図３は、ＰＵ＃１等のハードウェア構成例を示すブロック図である。図３において、ＰＵ＃１等は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、メモリ３０２と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３０３と、を有する。また、各構成部はバス３００によってそれぞれ接続されている。
【００５２】
ここで、ＣＰＵ３０１は、ＰＵ＃１等の全体の制御を司る。メモリ３０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを有する。より具体的には、例えば、フラッシュＲＯＭがＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）やファームウェアなどのプログラムを記憶し、ＲＯＭがアプリケーションプログラムを記憶し、ＲＡＭがＣＰＵ３０１のワークエリアとして使用される。メモリ３０２に記憶されているプログラムは、ＣＰＵ３０１にロードされることで、コーディングされている処理をＣＰＵ３０１に実行させることになる。
【００５３】
Ｉ／Ｆ３０３は、他のコンピュータからのデータの入出力を制御する。具体的には、例えば、Ｉ／Ｆ３０３は、通信回線を通じてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワークに接続され、このネットワークを介して他のコンピュータに接続される。そして、Ｉ／Ｆ３０３は、ネットワークと内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。
【００５４】
（ストレージ装置１００内のＳＷ同士のカスケード接続例）
つぎに、ストレージ装置１００内のＳＷ同士のカスケード接続例について説明する。
【００５５】
図４は、ストレージ装置１００内のＳＷ同士のカスケード接続例を示す説明図である。図４（Ａ）において、ストレージ装置１００は、ＰＵ＃１〜ＰＵ＃３と、ＳＵ＃１，ＳＵ＃２と、ＳＷ＃１，ＳＷ＃２と、を含む。
【００５６】
上述したように、ストレージ装置１００では、スケールアウトが繰り返し行われてＳＷのポートが不足すると、ＳＷが増設される。ここで、ＳＷが２４ポート仕様であり、ＳＵとＳＷが物理的に２本のケーブルにより接続される場合を想定する。
【００５７】
この場合、図４（Ａ）に示す状態からスケールアウトを進めていくと、７ノード構成から、ＳＷ＃１，ＳＷ＃２のポートが不足するため、ＳＷ＃３，ＳＷ＃４が増設される。この際、ストレージ装置１００では、ＳＷ同士をカスケード接続することでＰＵとＳＵとのフルメッシュ接続を実現する。
【００５８】
図４（Ｂ）の例では、ＳＷ＃１，ＳＷ＃３間がカスケード接続され、ＳＷ＃２，ＳＷ＃４間がカスケード接続される。なお、ＳＷ＃１，ＳＷ＃２は、冗長性のために２台用意されており、ＳＷ＃１，ＳＷ＃２間はカスケード接続されない。ＳＷ＃３，ＳＷ＃４についても同様である。
【００５９】
図４（Ｂ）のストレージ装置１００において、例えば、ＰＵ＃１がＳＵ＃７内のセグメントに対するゼロ初期化処理を行うと、ＳＵ＃７上のデータにアクセスするために、ＳＷ間をカスケード接続する経路を使うことになる。この経路の帯域は、ＰＵ／ＳＵ間を接続する経路の帯域と同じであるため、ゼロ初期化処理によりＳＷ間を行き来するデータ転送が増えるとＳＵへのアクセス性能が低下してしまう。
【００６０】
そこで、ＰＵ＃１は、各ＳＷに直接接続されるＰＵとＳＵとをグループ化し、各グループ（以下、「スイッチグループＧ」と称する）に属するＳＵ内の初期化対象となるセグメントに対するゼロ初期化処理を、各スイッチグループＧに属するＰＵに実行させる。これにより、ゼロ初期化処理によりＳＷ間を行き来するデータ転送が増えることを防ぐ。
【００６１】
図４（Ｂ）に示す例では、ＰＵ＃１は、ＳＷ＃１（ＳＷ＃２）に直接接続されるＰＵ＃１〜ＰＵ＃７とＳＵ＃１〜ＳＵ＃６とをスイッチグループＧ１としてグループ化する。また、ＰＵ＃１は、ＳＷ＃３（ＳＷ＃４）に直接接続されるＰＵ＃８とＳＵ＃７とをスイッチグループＧ２としてグループ化する。
【００６２】
そして、ＰＵ＃１は、スイッチグループＧ１に属するＳＵ内の初期化対象となるセグメントに対するゼロ初期化処理を、スイッチグループＧ１に属するＰＵに実行させる。また、ＰＵ＃１は、スイッチグループＧ２に属するＳＵ内の初期化対象となるセグメントに対するゼロ初期化処理を、スイッチグループＧ２に属するＰＵに実行させる。
【００６３】
これにより、ストレージ装置１００のスケールアウトに伴ってＳＷ間をカスケード接続する場合であっても、ゼロ初期化処理の実行時にＳＷ間のカスケード経路を使わなくなり、ＳＵへのアクセス性能が低下してしまうことを防ぐことができる。
【００６４】
（ＶＤＩＳＫの構成例）
図５は、ＶＤＩＳＫの構成例を示す説明図である。図５において、ＶＤＩＳＫ＃ｉは、セグメントセット＃１〜＃ｎの集合体である（ｉ：自然数、ｎ：２以上の自然数）。各セグメントセット＃１〜＃ｎは、８個のセグメント＃１〜＃８の集合体である。各セグメントセット＃１〜＃ｎの容量は、例えば、２［ＧＢ］であり、また、各セグメント＃１〜＃８の容量は、例えば、２５６［ＭＢ］である。
【００６５】
図２に示したストレージ装置１００を例に挙げると、各セグメント＃１〜＃８は、ＳＵ全体で使用率が平準化されるように、ＳＵ＃１，ＳＵ＃２内の各ＬＵＮに分散して割り当てられる。ユーザのデータは、固定長のストリップ（１［ＭＢ］）単位で記録される。また、このストリップはセグメント＃１〜＃８を順に利用する形でストライピングされる。
【００６６】
なお、ＶＤＩＳＫを形成する各セグメントは、ＶＤＩＳＫが作成されたＰＵと同一スイッチグループＧに属するいずれかのＳＵ内のＬＵＮに割り当てられる。すなわち、ストレージ装置１００では、ＶＤＩＳＫはスイッチグループＧを跨がないように作成される。
【００６７】
（構成ＤＢ２００の記憶内容）
つぎに、図２に示した構成ＤＢ２００の記憶内容について説明する。構成ＤＢ２００には、例えば、ボリュームセグメントテーブル６００（後述する図６参照）とＳＷグループ管理テーブル８００（後述する図８参照）とを含む。ボリュームセグメントテーブル６００およびＳＷグループ管理テーブル８００は、例えば、ＰＵ＃１によって構成ＤＢ２００からメモリ３０２（図３参照）に読み出されて使用される。
【００６８】
ここで、ボリュームセグメントテーブル６００の記憶内容について説明する。
【００６９】
図６は、ボリュームセグメントテーブル６００の記憶内容の一例を示す説明図である。図６において、ボリュームセグメントテーブル６００は、ボリューム番号、セグメントセット番号、セグメント番号、ＳＷグループ番号、ＰＵ番号、ＳＵ番号、ＬＵＮ番号およびセグメント状態のフィールドを有する。各フィールドに情報を設定することで、割当情報（例えば、割当情報６００−１，６００−２）がレコードとして記憶される。
【００７０】
ここで、ボリューム番号は、ストレージ装置１００内のＰＵ上に作成されたＶＤＩＳＫ（ボリューム）の識別子である。セグメントセット番号は、ＶＤＩＳＫを形成するセグメントセットの識別子である。セグメント番号は、ＶＤＩＳＫのセグメントセットを形成するセグメントの識別子である。
【００７１】
ＳＷグループ番号は、ＶＤＩＳＫが作成されたＰＵおよびＶＤＩＳＫを形成するセグメントが割り当てられたＳＵが属するスイッチグループＧの識別子である。ＰＵ番号は、ＶＤＩＳＫが稼働しているＰＵ、すなわち、ＶＤＩＳＫが作成されたＰＵの識別子である。ＳＵ番号は、セグメントが割り当てられたＬＵＮが属するＳＵの識別子である。
【００７２】
ＬＵＮ番号は、セグメントが割り当てられたＬＵＮの識別子である。セグメント状態は、セグメントの状態である。セグメント状態としては、例えば、「空き」、「有効」、「無効」、「ゼロ初期化待ち」および「ゼロ初期化中」のいずれかの状態が設定される。ここで、セグメント状態の遷移例について説明する。
【００７３】
図７は、セグメント状態の遷移例を示す説明図である。図７において、ボリューム（ＶＤＩＳＫ）を形成する、あるセグメントのセグメント状態が示されている。セグメントのセグメント状態は、初期状態では「空き」である（図７中、「Ｓ１」）。このセグメントを用いてボリュームが作成されると、セグメント状態は「有効」に遷移する（図７中、「Ｓ２」）。
【００７４】
このセグメントにＩ／Ｏエラーが発生すると、セグメント状態は「無効」に遷移する（図７中、「Ｓ３」）。この場合、ディスク交換等が行われてＩ／Ｏエラーが解消されるまで、このセグメントは使用されない。また、このセグメントにより形成されるボリュームが削除されると、セグメント状態は「ゼロ初期化待ち」に遷移する（図７中、「Ｓ４」）。「ゼロ初期化待ち」は、ゼロ初期化処理の実行待ちの状態を示す。
【００７５】
このセグメントに対するゼロ初期化処理が開始されると、セグメント状態は「ゼロ初期化中」に遷移する（図７中、「Ｓ５」）。「ゼロ初期化中」は、ゼロ初期化処理を実行中の状態を示す。そして、このセグメントに対するゼロ初期化処理が終了すると、セグメント状態は「空き」に遷移する（図７中、「Ｓ１」）。
【００７６】
つぎに、ＳＷグループ管理テーブル８００の記憶内容について説明する。
【００７７】
図８は、ＳＷグループ管理テーブル８００の記憶内容の一例を示す説明図である。図８において、ＳＷグループ管理テーブル８００は、ＳＷ＃１系のＳＷのＳＷグループ管理情報（例えば、ＳＷグループ管理情報８１１）と、ＳＷ＃２系のＳＷのＳＷグループ管理情報（例えば、ＳＷグループ管理情報８２１）と、を含む。
【００７８】
ＳＷ＃１系は、ＳＷ＃１とカスケード接続されるＳＷであり、ＳＷ＃２系は、ＳＷ＃２とカスケード接続されるＳＷである。図８に示すＳＷグループ管理テーブル８００の記憶内容は、ストレージ装置１００が３ノード構成時の記憶内容である（基本ノードＮ１：ＰＵ＃１，ＰＵ＃２＋ＳＵ＃１、拡張ノードＮ２：ＰＵ＃３＋ＳＵ＃２、拡張ノードＮ３：ＰＵ＃４＋ＳＵ＃３）。
【００７９】
ＳＷグループ管理情報は、ＳＷグループ番号、ＳＷ番号、ポート数、接続機器数および総使用ポート数を表す。ＳＷグループ番号は、スイッチグループＧの識別子である。ＳＷ番号は、ＳＷの識別子である。ポート数は、ＳＷが有するポート数である。接続機器数は、ＳＷに接続されている機器（ＰＵ、ＳＵ等）の数である。総使用ポート数は、使用中のポートの総数である。
【００８０】
また、ＳＷグループ管理情報は、接続機器と使用ポート数とを対応付けて表す。接続機器は、ＳＷに接続されている機器である。使用ポート数は、機器との接続に使用しているポートの数である。なお、ＳＷが有するポートのうちの２つのポートは、ＳＷ間のカスケード接続用（ｆｏｒ  Ｃａｓｃａｄｅ）およびＳＷの管理用（ｆｏｒ  Ｍａｎａｇｅｍｅｎｔ）にリザーブされる。
【００８１】
例えば、ＳＷグループ管理情報８１１は、ＳＷ＃１のＳＷグループ番号「１」、ＳＷ番号「１」、ポート数「２４」、接続機器数「９」および総使用ポート数「１２」を表す。また、ＳＷグループ管理情報８１１は、例えば、接続機器「ＰＵ＃１」の使用ポート数「１」や接続機器「ＳＵ＃１」の使用ポート数「２」を表す。なお、接続機器「ＮＵＬＬ（０）」は、未使用のポートがあることを示す。
【００８２】
ここで、ＳＷグループ管理テーブル８００の更新例について説明する。ここでは、ストレージ装置１００が３ノード構成から７ノード構成（例えば、図４（Ｂ）参照）に拡張した場合を例に挙げて、ＳＷグループ管理テーブル８００の更新例について説明する。
【００８３】
図９は、ＳＷグループ管理テーブル８００の更新例を示す説明図である。図９において、ＳＷグループ管理テーブル８００は、ＳＷ＃１系のＳＷ＃１，ＳＷ＃３のＳＷグループ管理情報８１１，８１２と、ＳＷ＃２系のＳＷ＃２，ＳＷ＃４のＳＷグループ管理情報８２１，８２２と、を含む。
【００８４】
ここでは、ＳＷ＃１，ＳＷ＃２のポート数「２４」に対して、総使用ポート数が「２２」であり、増設単位である「ＰＵ×１＋ＳＵ×１のポート数＝３」を賄うことができない。このため、ストレージ装置１００内にＳＷ＃３，ＳＷ＃４が増設され、ＳＷグループ管理テーブル８００にＳＷ＃３，ＳＷ＃４のＳＷグループ管理情報８１２，８２２が新たに作成されている。
【００８５】
例えば、ＳＷグループ管理情報８１２は、ＳＷ＃３のＳＷグループ番号「２」、ＳＷ番号「３」、ポート数「２４」、接続機器数「４」および総使用ポート数「５」を表す。また、ＳＷグループ管理情報８１２は、例えば、接続機器「ＰＵ＃８」の使用ポート数「１」や接続機器「ＳＵ＃７」の使用ポート数「２」を表す。
【００８６】
（非同期処理管理テーブル１０００の記憶内容）
つぎに、ストレージ装置全体を制御するマスタ制御部として動作するＰＵ＃１が用いる非同期処理管理テーブル１０００の記憶内容について説明する。非同期処理管理テーブル１０００は、例えば、ＰＵ＃１のメモリ３０２（図３参照）に記憶される。
【００８７】
図１０は、非同期処理管理テーブル１０００の記憶内容の一例を示す説明図である。図１０において、非同期処理管理テーブル１０００は、処理対象ＳＵ、実行ＰＵ、ステータス、キャンセルフラグおよび対象セグメントのフィールドを有する。各フィールドに情報を設定することで、非同期処理管理情報（例えば、非同期処理管理情報１０００−１〜１０００−４）がレコードとして記憶される。
【００８８】
ここで、処理対象ＳＵは、ゼロ初期化処理の処理対象となるＳＵを識別する情報（例えば、ＳＵ番号）である。実行ＰＵは、ゼロ初期化処理の実行主体となるＰＵを識別する情報（例えば、ＰＵ番号）である。ステータスは、対象セグメントに対するゼロ初期化処理の状態を示す。ステータスの遷移例については、図１１を用いて後述する。
【００８９】
キャンセルフラグは、対象セグメントに対して実行中のゼロ初期化処理をキャンセルするか否かを示す情報である。キャンセルフラグが「ＯＦＦ」の場合は、実行中のゼロ初期化処理をキャンセルしないことを示す。一方、キャンセルフラグが「ＯＮ」の場合は、実行中のゼロ初期化処理をキャンセルすることを示す。対象セグメントは、ゼロ初期化対象となるセグメントを識別する情報（例えば、アドレス情報）である。
【００９０】
例えば、非同期処理管理情報１０００−１は、処理対象ＳＵ「ＳＵ＃１」、実行ＰＵ「ＰＵ＃１」、ステータス「未実行」、キャンセルフラグ「ＯＦＦ」および対象セグメント「−」を示す。対象セグメント「−」は、ゼロ初期化対象となるセグメントが未設定であることを示す。
【００９１】
（ゼロ初期化処理のステータスの遷移例）
ここで、ゼロ初期化処理のステータスの遷移例について説明する。
【００９２】
図１１は、ゼロ初期化処理のステータスの遷移例を示す説明図である。図１１において、対象セグメントに対するゼロ初期化処理のステータスが示されている。ゼロ初期化処理のステータスは、初期状態では「未実行」である（図１１中、「Ｓ１」）。ゼロ初期化処理の実行が開始されると、ステータスは「実行中」に遷移する（図１１中、「Ｓ２」）。
【００９３】
ゼロ初期化処理の実行が完了すると、ステータスは「完了」に遷移する（図１１中、「Ｓ３」）。実行中のゼロ初期化処理がキャンセルされると、ステータスは「キャンセル中」に遷移する（図１１中、「Ｓ４」）。ゼロ初期化処理の実行が完了する、または、実行中のゼロ初期化処理がキャンセルされると、非同期処理管理テーブル１０００内の対象セグメントのレコードが削除される。
【００９４】
（ＰＵ＃１の機能的構成例）
つぎに、ストレージ装置全体を制御するマスタ制御部として動作するＰＵ＃１の機能的構成について説明する。
【００９５】
図１２は、ＰＵ＃１の機能的構成例を示すブロック図である。図１２において、ＰＵ＃１は、非同期処理制御部１２０１と、非同期処理部１２０２と、を含む構成である。非同期処理制御部１２０１および非同期処理部１２０２は制御部となる機能であり、具体的には、例えば、図３に示したメモリ３０２に記憶されたプログラムをＣＰＵ３０１に実行させることにより、または、Ｉ／Ｆ３０３により、その機能を実現する。各機能部の処理結果は、例えば、メモリ３０２に記憶される。
【００９６】
非同期処理制御部１２０１は、ＳＵ＃ｉの性能情報を取得する機能を有する。ここで、ＳＵ＃ｉの性能情報は、ＳＵ＃ｉへのアクセスに対する応答性能を表す情報である。例えば、ＳＵ＃ｉの性能情報には、ＳＵ＃ｉが１秒間に処理できるＩ／Ｏ要求の個数を表すＩＯＰＳ（Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｐｅｒ  Ｓｅｃｏｎｄ）が含まれる。
【００９７】
ＳＵ＃ｉのＩＯＰＳは、例えば、ＳＵ＃ｉにより計測される。具体的には、例えば、取得部は、ＳＵ＃ｉに問い合わせることにより、ＳＵ＃ｉの性能情報を取得する。取得されたＳＵ＃ｉの性能情報は、例えば、ＳＵ＃ｉの識別子（例えば、ＳＵ番号）と対応付けてメモリ３０２に記憶される。
【００９８】
また、非同期処理制御部１２０１は、ＰＵ＃ｊの負荷情報を取得する機能を有する。ここで、ＰＵ＃ｊの負荷情報は、ＰＵ＃ｊにかかる負荷を表す情報である。例えば、ＰＵ＃ｊの負荷情報には、ＰＵ＃ｊのＣＰＵ使用率や、業務サーバ等の上位装置ＳＶ（図１参照）からのＩ／Ｏ要求に応じたデータ転送量などが含まれる。
【００９９】
ＰＵ＃ｊのＣＰＵ使用率やデータ転送量は、例えば、ＰＵ＃ｊにより計測される。具体的には、例えば、取得部は、ＰＵ＃ｊに問い合わせることにより、ＰＵ＃ｊの負荷情報を取得する。取得されたＰＵ＃ｊの負荷情報は、例えば、ＰＵ＃ｊの識別子（例えば、ＰＵ番号）と対応付けてメモリ３０２に記憶される。
【０１００】
非同期処理制御部１２０１は、取得したＳＵ＃ｉの性能情報に応じて、ＳＵ＃ｉ内の対象セグメントに対するゼロ初期化処理の実行を制御する機能を有する。ここで、対象セグメントは、ＳＵ＃ｉ内のゼロ初期化対象となるセグメントである。
【０１０１】
具体的には、例えば、非同期処理制御部１２０１は、ＳＵ＃ｉの性能情報に含まれるＩＯＰＳの逆数を求めることにより、ＳＵ＃ｉへのＩ／Ｏ要求に対する応答時間を特定する。以下の説明では、ＳＵ＃ｉへのＩ／Ｏ要求に対する応答時間を、単に「ＳＵ＃ｉのＩ／Ｏ応答時間」と表記する場合がある。
【０１０２】
そして、非同期処理制御部１２０１は、特定したＳＵ＃ｉのＩ／Ｏ応答時間が閾値Ｔ１未満であることに応じて、非同期処理部１２０２を制御して、対象セグメントに対するゼロ初期化処理の実行を開始する。閾値Ｔ１は、予め設定されてメモリ３０２に記憶されている。例えば、閾値Ｔ１は、１０［ｍｓ］程度の値に設定される。
【０１０３】
また、非同期処理制御部１２０１は、取得したＰＵ＃ｊの負荷情報に応じて、ＰＵ＃ｊによる対象セグメントに対するゼロ初期化処理の実行を制御する機能を有する。具体的には、例えば、非同期処理制御部１２０１は、非同期処理部１２０２を制御して、ストレージ装置１００内の複数のＰＵのうち、負荷情報により特定される負荷が最小となるＰＵ＃ｊを実行ＰＵに決定する。
【０１０４】
ここで、実行ＰＵは、対象セグメントに対するゼロ初期化処理を実行するＰＵである。ＰＵ＃ｊの負荷情報により特定される負荷は、例えば、ＰＵ＃ｊのＣＰＵ使用率やデータ転送量である。そして、非同期処理制御部１２０１は、非同期処理部１２０２を制御して、実行ＰＵによる対象セグメントに対するゼロ初期化処理の実行を開始する。
【０１０５】
非同期処理部１２０２は、対象セグメントに対するゼロ初期化処理の実行を開始する機能を有する。具体的には、例えば、非同期処理部１２０２は、ボリュームセグメントテーブル６００（図６参照）を参照して、セグメント状態が「ゼロ初期化待ち」のＳＵ＃ｉ内のセグメントを対象セグメントとして特定する。
【０１０６】
そして、非同期処理部１２０２は、対象セグメントに対するゼロ初期化処理の実行を実行ＰＵに依頼する。この結果、実行ＰＵのエージェントＡにより、非同期処理スレッドが生成されて、対象セグメントに対するゼロ初期化処理が実行される。非同期処理スレッドは、ゼロ初期化処理を実行するためのスレッドである。
【０１０７】
また、非同期処理制御部１２０１は、ＳＵ＃ｉ内の対象セグメントに対するゼロ初期化処理を実行中に、ＳＵ＃ｉのＩ／Ｏ応答時間が閾値Ｔ２を超えたことに応じて、該ゼロ初期化処理の実行を停止する制御を行う。閾値Ｔ２は、予め設定されてメモリ３０２に記憶されている。例えば、閾値Ｔ２は、２０［ｍｓ］程度の値に設定される。
【０１０８】
具体的には、例えば、非同期処理制御部１２０１は、ＳＵ＃ｉのＩ／Ｏ応答時間が閾値Ｔ２を超えたことに応じて、非同期処理部１２０２に対してキャンセル要求を通知する。キャンセル要求は、ＳＵ＃ｉ内の対象セグメントに対するゼロ初期化処理の実行停止を要求するものである。
【０１０９】
また、非同期処理部１２０２は、キャンセル通知を受け付けたことに応じて、実行ＰＵにキャンセル依頼を通知する。キャンセル依頼は、ＳＵ＃ｉ内の対象セグメントに対するゼロ初期化処理の実行停止を依頼するものである。この結果、実行ＰＵのエージェントＡにより、キャンセル処理が行われて、対象セグメントに対するゼロ初期化処理の実行が停止される。
【０１１０】
また、非同期処理制御部１２０１は、ストレージ装置１００内のＰＵとＳＵとを接続するＳＷ同士がカスケード接続される場合、各ＳＷに直接接続されるＰＵとＳＵとをグループ化する機能を有する。グループ化された結果は、例えば、図８に示したＳＷグループ管理テーブル８００に記憶される。
【０１１１】
また、非同期処理制御部１２０１は、各スイッチグループＧに属するＳＵ＃ｉ内の対象セグメントに対するゼロ初期化処理を、各スイッチグループＧに属するＰＵ＃ｊに実行させる機能を有する。具体的には、例えば、非同期処理制御部１２０１は、各スイッチグループＧに属するＰＵのうち、負荷情報により特定される負荷が最小となるＰＵ＃ｊを実行ＰＵに決定する。
【０１１２】
（非同期処理管理テーブル１０００を用いた非同期処理制御例）
つぎに、図１０に示した非同期処理管理テーブル１０００を用いた非同期処理制御例について説明する。ここでは、ストレージ装置１００が３ノード構成（基本ノードＮ１：ＰＵ＃１，ＰＵ＃２＋ＳＵ＃１、拡張ノードＮ２：ＰＵ＃３＋ＳＵ＃２、拡張ノードＮ３：ＰＵ＃４＋ＳＵ＃３）の場合を例に挙げて説明する。
【０１１３】
図１３は、非同期処理管理テーブル１０００の更新例を示す説明図（その１）である。非同期処理制御部１２０１は、ストレージ装置１００内のいずれかのＳＵ内に対象セグメントが存在する場合、非同期処理管理テーブル１０００を作成する（図１３に示す（１３−１）参照）。
【０１１４】
非同期処理管理テーブル１０００の作成時は、非同期処理制御部１２０１は、ストレージ装置１００内の各ＰＵ＃１〜ＰＵ＃４で実行するゼロ初期化処理の多重度が「１」となるように非同期処理管理情報１０００−１〜１０００−４を作成する。この時点では、対象セグメントは未設定である。
【０１１５】
ここで、非同期処理制御部１２０１が、非同期処理部１２０２を制御して、ＳＵ＃１内の対象セグメントに対するゼロ初期化処理の実行を開始する場合を想定する。この場合、非同期処理部１２０２は、ボリュームセグメントテーブル６００を参照して、セグメント状態が「ゼロ初期化待ち」のＳＵ＃１内のいずれかのセグメントを対象セグメントとして特定する。
【０１１６】
そして、非同期処理部１２０２は、非同期処理管理情報１０００−１の対象セグメントフィールドに、特定した対象セグメントの「アドレス情報（図１３の例では、ｗｗｗｗｗ）」を設定する。また、非同期処理部１２０２は、対象セグメントに対するゼロ初期化処理の実行をＰＵ＃１に依頼して、非同期処理管理情報１０００−１のステータスフィールドに「実行中」を設定する（図１３に示す（１３−２）参照）。
【０１１７】
つぎに、ＳＵ＃１内の対象セグメントに対するゼロ初期化処理の実行が完了した場合を想定する。この場合、非同期処理部１２０２は、非同期処理管理情報１０００−１のステータスフィールドに「完了」を設定するとともに、対象セグメントフィールドに「−」を設定する（図１３に示す（１３−３）参照）。
【０１１８】
図１４は、非同期処理管理テーブル１０００の更新例を示す説明図（その２）である。各ＳＵ＃１〜ＳＵ＃３内の対象セグメントに対するゼロ初期化処理が、ＰＵ＃１〜ＰＵ＃４に均等に割り振られて実行中である（図１４に示す（１４−１）参照）。
【０１１９】
ここで、ＳＵ＃１内の対象セグメントに対するゼロ初期化処理を実行中に、ＳＵ＃１のＩ／Ｏ応答時間が閾値Ｔ２を超えた場合を想定する。この場合、非同期処理制御部１２０１は、ゼロ初期化処理を実行中のＳＵ＃１内のいずれかの対象セグメントに対応する非同期処理管理情報１０００−１のキャンセルフラグフィールドに「ＯＮ」を設定する（図１４に示す（１４−２）参照）。
【０１２０】
そして、非同期処理制御部１２０１は、非同期処理部１２０２に対して、ＳＵ＃１内の対象セグメントに対するゼロ初期化処理の実行停止を要求するキャンセル要求を通知する。非同期処理部１２０２は、キャンセル通知を受け付けたことに応じて、実行ＰＵにキャンセル依頼を通知する。
【０１２１】
つぎに、ＳＵ＃２のＩ／Ｏ応答時間が閾値Ｔ１未満である場合を想定する。また、ＰＵ＃１〜ＰＵ＃４のうち負荷が最小となるＰＵがＰＵ＃４である場合を想定する。この場合、非同期処理制御部１２０１は、ＰＵ＃４によるＳＵ＃２内の対象セグメントに対するゼロ初期化処理の実行を開始するために、非同期処理管理情報１０００−５を非同期処理管理テーブル１０００に追加する（図１４に示す（１４−３）参照）。
【０１２２】
この結果、非同期処理部１２０２は、ボリュームセグメントテーブル６００を参照して、セグメント状態が「ゼロ初期化待ち」のＳＵ＃２内のいずれかのセグメントを対象セグメントとして特定する。ここでは、アドレス情報が「ｖｖｖｖｖｖ」の対象セグメントが特定された場合を想定する。
【０１２３】
この場合、非同期処理部１２０２は、非同期処理管理情報１０００−５の対象セグメントフィールドに、特定した対象セグメントの「アドレス情報（ｖｖｖｖｖｖ）」を設定する。そして、非同期処理部１２０２は、対象セグメントに対するゼロ初期化処理の実行をＰＵ＃４に依頼して、非同期処理管理情報１０００−５のステータスフィールドに「実行中」を設定する（図１４に示す（１４−４）参照）。
【０１２４】
（ストレージ装置１００の各種処理手順）
つぎに、図１５〜図１８を用いて、実施の形態２にかかるストレージ装置１００の各種処理手順について説明する。ただし、図１５〜図１８では、ストレージ装置１００が２ノード構成（基本ノードＮ１：ＰＵ＃１，ＰＵ＃２＋ＳＵ＃１、拡張ノードＮ２：ＰＵ＃３＋ＳＵ＃２）の場合を例に挙げて説明する。
【０１２５】
＜非同期処理制御処理手順＞
まず、ストレージ装置１００の非同期処理制御部１２０１による非同期処理制御処理手順について説明する。
【０１２６】
図１５および図１６は、ストレージ装置１００の非同期処理制御処理手順の一例を示すフローチャートである。図１５のフローチャートにおいて、まず、非同期処理制御部１２０１は、ボリュームセグメントテーブル６００を参照して、セグメント状態が「ゼロ初期化待ち」の対象セグメントを検索する（ステップＳ１５０１）。
【０１２７】
なお、ボリュームセグメントテーブル６００は、例えば、ＳＵ＃１の構成ＤＢ２００からメモリ３０２に読み出されて使用される。
【０１２８】
そして、非同期処理制御部１２０１は、対象セグメントが検索されたか否かを判断する（ステップＳ１５０２）。ここで、対象セグメントが検索されなかった場合（ステップＳ１５０２：Ｎｏ）、非同期処理制御部１２０１は、一定時間スリープして（ステップＳ１５０３）、ステップＳ１５０１に戻る。
【０１２９】
一方、対象セグメントが検索された場合（ステップＳ１５０２：Ｙｅｓ）、非同期処理制御部１２０１は、非同期処理管理テーブル１０００を作成する（ステップＳ１５０４）。具体的には、例えば、非同期処理制御部１２０１は、ストレージ装置１００内の各ＰＵ＃ｊで実行するゼロ初期化処理の多重度が「１」となるように非同期処理管理テーブル１０００を作成する。ただし、この時点では、対象セグメントは未設定である。
【０１３０】
つぎに、非同期処理制御部１２０１は、非同期処理部１２０２を起動する（ステップＳ１５０５）。この結果、非同期処理部１２０２により、非同期処理スレッドが生成される。なお、非同期処理部１２０２の具体的な処理内容については、図１７および図１８のフローチャートを用いて後述する。
【０１３１】
そして、非同期処理制御部１２０１は、ストレージ装置１００内の全ＳＵの性能情報を取得する（ステップＳ１５０６）。つぎに、非同期処理制御部１２０１は、ストレージ装置１００内の全ＰＵの負荷情報を取得して（ステップＳ１５０７）、図１６に示すステップＳ１６０１に移行する。
【０１３２】
図１６のフローチャートにおいて、まず、非同期処理制御部１２０１は、取得した全ＳＵの性能情報を参照して、Ｉ／Ｏ応答時間が閾値Ｔ２を超えたＳＵ＃ｉが存在するか否かを判断する（ステップＳ１６０１）。ここで、Ｉ／Ｏ応答時間が閾値Ｔ２を超えたＳＵ＃ｉが存在しない場合（ステップＳ１６０１：Ｎｏ）、非同期処理制御部１２０１は、ステップＳ１６０５に移行する。
【０１３３】
一方、Ｉ／Ｏ応答時間が閾値Ｔ２を超えたＳＵ＃ｉが存在する場合（ステップＳ１６０１：Ｙｅｓ）、非同期処理制御部１２０１は、Ｉ／Ｏ応答時間が閾値Ｔ２を超えたＳＵ＃ｉ内の対象セグメントに対するゼロ初期化処理を実行中であるか否かを判断する（ステップＳ１６０２）。
【０１３４】
ここで、ゼロ初期化処理を実行中ではない場合（ステップＳ１６０２：Ｎｏ）、非同期処理制御部１２０１は、図１５に示したステップＳ１５０６に戻る。
【０１３５】
一方、ゼロ初期化処理を実行中の場合（ステップＳ１６０２：Ｙｅｓ）、非同期処理制御部１２０１は、Ｉ／Ｏ応答時間が閾値Ｔ２を超えたＳＵ＃ｉで実行中のゼロ初期化処理に対応する非同期処理管理テーブル１０００内のキャンセルフラグを「ＯＮ」に設定する（ステップＳ１６０３）。
【０１３６】
そして、非同期処理制御部１２０１は、非同期処理部１２０２に対して、Ｉ／Ｏ応答時間が閾値Ｔ２を超えたＳＵ＃ｉ内の対象セグメントに対するゼロ初期化処理の実行停止を要求するキャンセル要求を通知して（ステップＳ１６０４）、ステップＳ１６０５に移行する。
【０１３７】
つぎに、非同期処理制御部１２０１は、取得した全ＳＵの性能情報を参照して、Ｉ／Ｏ応答時間が閾値Ｔ１未満のＳＵ＃ｉが存在するか否かを判断する（ステップＳ１６０５）。ここで、Ｉ／Ｏ応答時間が閾値Ｔ１未満のＳＵ＃ｉが存在しない場合（ステップＳ１６０５：Ｎｏ）、非同期処理制御部１２０１は、図１５に示したステップＳ１５０６に移行する。
【０１３８】
一方、Ｉ／Ｏ応答時間が閾値Ｔ１未満のＳＵ＃ｉが存在する場合（ステップＳ１６０５：Ｙｅｓ）、非同期処理制御部１２０１は、ＳＷグループ管理テーブル８００を参照して、Ｉ／Ｏ応答時間が閾値Ｔ１未満のＳＵ＃ｉが属するスイッチグループＧに属するＰＵの負荷情報を取得する（ステップＳ１６０６）。
【０１３９】
そして、非同期処理制御部１２０１は、取得したスイッチグループＧに属するＰＵの負荷情報を参照して、スイッチグループＧに属するＰＵのうち負荷が最小となるＰＵ＃ｊによる該当ＳＵに対するゼロ初期化処理を追加して（ステップＳ１６０７）、図１５に示したステップＳ１５０６に戻る。該当ＳＵは、Ｉ／Ｏ応答時間が閾値Ｔ１未満のＳＵ＃ｉである。
【０１４０】
これにより、実際の運用を開始した後で見えてくるボリュームのアクセス特性をもとに装置内部で実行する非同期処理を制御することができる。
【０１４１】
＜非同期処理手順＞
つぎに、ストレージ装置１００の非同期処理部１２０２による非同期処理手順について説明する。
【０１４２】
図１７および図１８は、ストレージ装置１００の非同期処理手順の一例を示すフローチャートである。図１７のフローチャートにおいて、まず、非同期処理部１２０２は、非同期処理管理テーブル１０００を読み込む（ステップＳ１７０１）。そして、非同期処理部１２０２は、非同期処理管理テーブル１０００から１レコードを読み込む（ステップＳ１７０２）。
【０１４３】
つぎに、非同期処理部１２０２は、読み込んだレコードのステータスが「未実行」または「完了」であるか否かを判断する（ステップＳ１７０３）。ここで、「未実行」または「完了」ではない場合（ステップＳ１７０３：Ｎｏ）、非同期処理部１２０２は、読み込んだレコードが最終レコードであるか否かを判断する（ステップＳ１７０４）。
【０１４４】
ここで、最終レコードである場合（ステップＳ１７０４：Ｙｅｓ）、非同期処理部１２０２は、ステップＳ１７０８に移行する。一方、最終レコードではない場合（ステップＳ１７０４：Ｎｏ）、非同期処理部１２０２は、ステップＳ１７０２に戻る。
【０１４５】
また、ステップＳ１７０３において、「未実行」または「完了」の場合（ステップＳ１７０３：Ｙｅｓ）、非同期処理部１２０２は、ボリュームセグメントテーブル６００を参照して、処理対象ＳＵ内の対象セグメントを特定し、非同期処理管理テーブル１０００内の該当レコードの対象セグメントフィールドにアドレス情報を設定する（ステップＳ１７０５）。
【０１４６】
つぎに、非同期処理部１２０２は、対象セグメントに対するゼロ初期化処理の実行を実行ＰＵに依頼する（ステップＳ１７０６）。そして、非同期処理部１２０２は、非同期処理管理テーブル１０００内の該当レコードのステータスフィールドに「実行中」を設定する（ステップＳ１７０７）。
【０１４７】
この結果、実行ＰＵのエージェントにより、非同期処理スレッドが生成されて、非同期処理（ゼロ初期化処理）が実行される。非同期処理（ゼロ初期化処理）の実行が完了すると、実行ＰＵから非同期処理部１２０２に完了イベントが発行される。
【０１４８】
つぎに、非同期処理部１２０２は、「完了イベント」または「キャンセル要求」を受け付けるのを待って（ステップＳ１７０８）、図１８に示すステップＳ１８０１に移行する。完了イベントは、対象セグメントに対するゼロ初期化処理の実行が完了したことを示すイベントである。
【０１４９】
図１８のフローチャートにおいて、まず、非同期処理部１２０２は、非同期処理制御部１２０１からキャンセル要求を受け付けたか否かを判断する（ステップＳ１８０１）。ここで、キャンセル要求を受け付けていない場合（ステップＳ１８０１：Ｎｏ）、非同期処理部１２０２は、ステップＳ１８０５に移行する。
【０１５０】
一方、キャンセル要求を受け付けた場合（ステップＳ１８０１：Ｙｅｓ）、非同期処理部１２０２は、非同期処理管理テーブル１０００から、キャンセルフラグ「ＯＮ」のレコードを検索する（ステップＳ１８０２）。そして、非同期処理部１２０２は、検索したレコードの実行ＰＵに、対象セグメントのゼロ初期化処理の実行停止を依頼するキャンセル依頼を通知する（ステップＳ１８０３）。
【０１５１】
つぎに、非同期処理部１２０２は、検索したレコードのステータスフィールドに「キャンセル中」を設定して（ステップＳ１８０４）、図１７に示したステップＳ１７０８に戻る。この結果、実行ＰＵのエージェントにより、非同期処理（ゼロ初期化処理）の実行を停止するキャンセル処理が実行される。キャンセル処理の実行が完了すると、実行ＰＵから非同期処理部１２０２に完了イベントが発行される。
【０１５２】
つぎに、ステップＳ１８０５において、非同期処理部１２０２は、キャンセル処理の完了イベントを受け付けたか否かを判断する（ステップＳ１８０５）。
【０１５３】
ここで、キャンセル処理の完了イベントを受け付けた場合（ステップＳ１８０５：Ｙｅｓ）、非同期処理部１２０２は、非同期処理管理テーブル１０００内の該当レコードを削除して（ステップＳ１８０６）、図１７に示したステップＳ１７０１に戻る。該当レコードは、キャンセル処理が実行された対象セグメントに対応するレコードである。
【０１５４】
一方、非同期処理（ゼロ初期化処理）の完了イベントを受け付けた場合（ステップＳ１８０５：Ｎｏ）、非同期処理部１２０２は、非同期処理管理テーブル１０００内の該当レコードのステータスフィールドに「完了」を設定して（ステップＳ１８０７）、図１７に示したステップＳ１７０１に戻る。
【０１５５】
以上説明したように、実施の形態２にかかるストレージ装置１００によれば、ＳＵ＃ｉへのアクセスに対する応答性能を表す性能情報を取得し、取得した性能情報に応じて、ＳＵ＃ｉ内の対象セグメントに対するゼロ初期化処理の実行を制御することができる。
【０１５６】
これにより、実際の運用を開始した後で見えてくるボリュームのアクセス特性をもとに装置内部で実行する非同期処理を制御でき、業務サーバからのＩ／Ｏ要求に与える内部処理の影響を抑えて、業務サーバに対して安定したデータアクセス性能を提供することができる。
【０１５７】
また、ストレージ装置１００によれば、ＳＵ＃ｉへのアクセスに対する応答時間が閾値Ｔ１未満であることに応じて、ＳＵ＃ｉ内の対象セグメントに対するゼロ初期化処理の実行を開始する制御を行うことができる。
【０１５８】
これにより、アクセス頻度が少ないために負荷が低い状態となっているＳＵ＃ｉに対して優先的にゼロ初期化処理を行うことができ、内部処理を効率的に実行することができる。さらに、利用頻度の低いＳＵ＃ｉに対して優先的にゼロ初期化処理を行って空き容量を増やすことで、次回ＶＤＩＳＫ作成時に、空き容量の多いＳＵ、すなわち、利用頻度の低いＳＵ＃ｉのセグメントを優先的に割り当てることができる。この結果、ストレージ装置１００内のＳＵに対するアクセスの偏りを分散させることができる。
【０１５９】
また、ストレージ装置１００によれば、ゼロ初期化処理を実行中に、ＳＵ＃ｉへのアクセスに対する応答時間が閾値Ｔ２を超えたことに応じて、ゼロ初期化処理の実行を停止する制御を行うことができる。これにより、アクセス頻度が多いために負荷が高い状態となっているＳＵ＃ｉに対するゼロ初期化処理の実行優先度を下げることができ、業務サーバからのＩ／Ｏ要求に対する応答性能の低下を抑制することができる。
【０１６０】
また、ストレージ装置１００によれば、ＰＵ＃ｊにかかる負荷を表す負荷情報を取得し、取得した負荷情報に応じて、ＰＵ＃ｊによるＳＵ＃ｉ内の対象セグメントに対するゼロ初期化処理の実行を制御することができる。これにより、ゼロ初期化処理を実行するＰＵ＃ｊについて、業務サーバからのＩ／Ｏ要求に応じたデータ転送量が多くなっているＰＵ＃ｊによるゼロ初期化処理の実行を回避して、業務サーバからのＩ／Ｏ要求に対する応答性能の低下を抑制することができる。
【０１６１】
また、ストレージ装置１００によれば、スイッチ同士がカスケード接続される場合、各スイッチＳＷに直接接続されるＰＵとＳＵとをグループ化することができる。そして、ストレージ装置１００によれば、各スイッチグループＧに属するＳＵ＃ｉ内の対象セグメントに対するゼロ初期化処理を、各スイッチグループＧに属するＰＵ＃ｊに実行させることができる。
【０１６２】
これにより、ストレージ装置１００のスケールアウトに伴ってＳＷ間をカスケード接続する場合であっても、ゼロ初期化処理の実行時にＳＷ間のカスケード経路を使わなくなり、ＳＷ間をカスケード接続する経路の帯域不足による性能劣化を抑止することができる。
【０１６３】
なお、本実施の形態で説明した制御方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本制御プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本制御プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１６４】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１６５】
（付記１）ストレージ装置内のストレージユニットを制御するストレージ制御装置であって、
前記ストレージユニットの記憶領域の割当状況を含む割当情報を記憶する記憶部と、
前記ストレージユニットへのアクセスに対する応答性能を表す性能情報を取得し、取得した前記性能情報に応じて、前記割当情報により特定される前記ストレージユニット内の初期化対象となる記憶領域に対する初期化処理の実行を制御する制御部と、
を有することを特徴とするストレージ制御装置。
【０１６６】
（付記２）前記ストレージ装置は、前記ストレージユニットを制御する複数のストレージ制御装置を含み、
前記制御部は、前記複数のストレージ制御装置に含まれるストレージ制御装置にかかる負荷を表す負荷情報を取得し、取得した前記負荷情報に応じて、前記ストレージ制御装置による前記初期化処理の実行を制御することを特徴とする付記１に記載のストレージ制御装置。
【０１６７】
（付記３）前記制御部は、前記性能情報により特定される前記ストレージユニットへのアクセスに対する応答時間が第１の閾値未満であることに応じて、前記初期化処理の実行を開始する制御を行うことを特徴とする付記２に記載のストレージ制御装置。
【０１６８】
（付記４）前記制御部は、前記初期化処理を実行中に、前記性能情報により特定される前記ストレージユニットへのアクセスに対する応答時間が第２の閾値を超えたことに応じて、前記初期化処理の実行を停止する制御を行うことを特徴とする付記３に記載のストレージ制御装置。
【０１６９】
（付記５）前記制御部は、前記複数のストレージ制御装置のうち、前記負荷情報により特定される負荷が最小となるストレージ制御装置による前記初期化処理の実行を開始する制御を行うことを特徴とする付記３または４に記載のストレージ制御装置。
【０１７０】
（付記６）前記制御部は、前記ストレージ装置内のストレージユニットとストレージ制御装置とを接続するスイッチ同士がカスケード接続される場合、前記各スイッチに直接接続されるストレージ制御装置とストレージユニットとをグループ化し、前記各グループに属するストレージユニット内の初期化対象となる記憶領域に対する初期化処理を、前記各グループに属するストレージ制御装置に実行させることを特徴とする付記２〜５のいずれか一つに記載のストレージ制御装置。
【０１７１】
（付記７）前記制御部は、前記各グループに属するストレージ制御装置のうち、前記負荷情報により特定される負荷が最小となるストレージ制御装置による前記初期化処理の実行を開始する制御を行うことを特徴とする付記６に記載のストレージ制御装置。
【０１７２】
（付記８）前記割当情報は、ボリュームを形成するセグメントの前記ストレージユニットの記憶領域への割当状況を含むことを特徴とする付記１〜７のいずれか一つに記載のストレージ制御装置。
【０１７３】
（付記９）前記負荷情報は、上位装置からのＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）要求に応じた前記ストレージ制御装置のデータ転送量を表すことを特徴とする付記２に記載のストレージ制御装置。
【０１７４】
（付記１０）ストレージユニットと、前記ストレージユニットを制御するストレージ制御装置とを含むストレージ装置であって、
前記ストレージ制御装置は、
前記ストレージユニットの記憶領域の割当状況を含む割当情報を記憶する記憶部と、
前記ストレージユニットへのアクセスに対する応答性能を表す性能情報を取得し、取得した前記性能情報に応じて、前記割当情報により特定される前記ストレージユニット内の初期化対象となる記憶領域に対する初期化処理の実行を制御する制御部と、
を有することを特徴とするストレージ装置。
【０１７５】
（付記１１）ストレージ装置内のストレージユニットを制御するストレージ制御装置に、
前記ストレージユニットへのアクセスに対する応答性能を表す性能情報を取得し、取得した前記性能情報に応じて、前記ストレージユニットの記憶領域の割当状況を含む割当情報により特定される前記ストレージユニット内の初期化対象となる記憶領域に対する初期化処理の実行を制御する、
処理を実行させることを特徴とする制御プログラム。
【符号の説明】
【０１７６】
１００  ストレージ装置
３００  バス
３０１  ＣＰＵ
３０２  メモリ
３０３  Ｉ／Ｆ
６００  ボリュームセグメントテーブル
８００  ＳＷグループ管理テーブル
１０００  非同期処理管理テーブル
１２０１  非同期処理制御部
１２０２  非同期処理部
【図１】
2015143945.tif 000003
【図２】
2015143945.tif 000004
【図３】
2015143945.tif 000005
【図４】
2015143945.tif 000006
【図５】
2015143945.tif 000007
【図６】
2015143945.tif 000008
【図７】
2015143945.tif 000009
【図８】
2015143945.tif 000010
【図９】
2015143945.tif 000011
【図１０】
2015143945.tif 000012
【図１１】
2015143945.tif 000013
【図１２】
2015143945.tif 000014
【図１３】
2015143945.tif 000015
【図１４】
2015143945.tif 000016
【図１５】
2015143945.tif 000017
【図１６】
2015143945.tif 000018
【図１７】
2015143945.tif 000019
【図１８】
2015143945.tif 000020