(57)【要約】【課題】ストレージ装置に対して行なうホットスペアへのリビルド、及び、保守交換したストレージへのコピーバックに要する時間を短縮する。【解決手段】ストレージ制御装置４０は、複数の現用系ストレージ５１−１乃至５１−ｎと、待機系ストレージ５２とを含み、複数の現用系ストレージの個々に格納されているデータが、互いに他の現用系ストレージに格納されているデータに基づいて生成可能に構成されているストレージ装置５０を制御する装置であって、複数の現用系ストレージのうちの第一のストレージが故障した場合に、第一のストレージに格納されていたデータを、第一のストレージを除く現用系ストレージに格納されているデータに基づいて生成する生成部４２と、生成された生成データを圧縮する圧縮制御部４３と、圧縮された圧縮データを、待機系ストレージ５２に格納する待機系格納部４７と、を備える。【選択図】      図５
2019053485.tif 000002
【特許請求の範囲】
【請求項１】
複数の現用系ストレージと、待機系ストレージとを含み、前記複数の現用系ストレージの個々に格納されているデータが、互いに他の前記現用系ストレージに格納されているデータに基づいて生成可能に構成されているストレージ装置を制御する装置であって、
前記複数の現用系ストレージのうちの第一のストレージが故障した場合に、前記第一のストレージに格納されていたデータを、前記第一のストレージを除く前記現用系ストレージに格納されているデータに基づいて生成する生成手段と、
前記生成手段によって生成された生成データを圧縮する圧縮制御手段と、
前記圧縮制御手段により圧縮された圧縮データを、前記待機系ストレージに格納する待機系格納手段と、
を備えるストレージ制御装置。
【請求項２】
現用系格納手段をさらに備え、
前記待機系格納手段は、前記待機系ストレージに格納されている前記圧縮データを読み出し、
前記圧縮制御手段は、前記待機系格納手段によって読み出された前記圧縮データを、圧縮する前の態様に展開し、
前記現用系格納手段は、故障した前記第一のストレージが正常に動作する第二のストレージに交換された場合、前記圧縮制御手段によって展開された展開データを、前記第二のストレージに格納する、
請求項１に記載のストレージ制御装置。
【請求項３】
前記第一のストレージに格納されていたデータのうち、アクセス先のデータを含む少なくとも一部が格納されたキャッシュメモリと、
前記キャッシュメモリに対するアクセスを制御するキャッシュ制御手段と、
をさらに備え、
前記キャッシュ制御手段は、前記待機系ストレージに格納されている前記圧縮データに対するアクセスが発生した場合、前記キャッシュメモリに格納されている前記アクセス先のデータにアクセスする、
請求項２に記載のストレージ制御装置。
【請求項４】
前記キャッシュ制御手段は、前記アクセス先のデータが、前記キャッシュメモリに格納されていない場合、前記展開データに含まれる前記アクセス先のデータを、前記キャッシュメモリに格納する、
請求項３に記載のストレージ制御装置。
【請求項５】
前記圧縮制御手段は、前記圧縮データに対して、前記生成データに関する前記第一のストレージにおける格納場所を表す位置情報を付加し、
前記待機系格納手段は、前記位置情報が付加された前記圧縮データを、前記待機系ストレージに格納する、
請求項２乃至請求項４のいずれか一項に記載のストレージ制御装置。
【請求項６】
前記現用系格納手段は、前記第二のストレージにおける前記位置情報が示す位置に、前記展開データを格納する、
請求項５に記載のストレージ制御装置。
【請求項７】
請求項１乃至請求項６のいずれか一項に記載のストレージ制御装置と、
前記ストレージ装置と、
を含むストレージ制御システム。
【請求項８】
前記ストレージ装置は、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）により構成された前記複数の現用系ストレージを含む、
請求項７に記載のストレージ制御システム。
【請求項９】
複数の現用系ストレージと、待機系ストレージとを含み、前記複数の現用系ストレージの個々に格納されているデータが、互いに他の前記現用系ストレージに格納されているデータに基づいて生成可能に構成されているストレージ装置を制御する情報処理装置によって、
前記複数の現用系ストレージのうちの第一のストレージが故障した場合に、前記第一のストレージに格納されていたデータを、前記第一のストレージを除く前記現用系ストレージに格納されているデータに基づいて生成し、
生成した生成データを圧縮し、
圧縮した圧縮データを、前記待機系ストレージに格納する、
を備えるストレージ制御方法。
【請求項１０】
複数の現用系ストレージと、待機系ストレージとを含み、前記複数の現用系ストレージの個々に格納されているデータが、互いに他の前記現用系ストレージに格納されているデータに基づいて生成可能に構成されているストレージ装置を制御するコンピュータに、
前記複数の現用系ストレージのうちの第一のストレージが故障した場合に、前記第一のストレージに格納されていたデータを、前記第一のストレージを除く前記現用系ストレージに格納されているデータに基づいて生成する生成処理と、
前記生成処理によって生成された生成データを圧縮する圧縮制御処理と、
前記圧縮制御処理により圧縮された圧縮データを、前記待機系ストレージに格納する待機系格納処理と、
を実行させるためのストレージ制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、障害発生時に、ホットスペアへのリビルド、及び、保守交換したストレージへのコピーバックを行なうストレージ装置を制御する技術に関する。
【背景技術】
【０００２】
ストレージ装置では、格納しているデータに関する冗長性を向上させるために、ＲＡＩＤ(Redundant Arrays of Inexpensive Disks)等の技術が採用されている。ＲＡＩＤは、複数のストレージの組み合わせを、仮想的な1つの論理ディスクとして運用することができる技術である。
【０００３】
また、このようなＲＡＩＤを採用したストレージ装置の可用性を向上させる技術として、格納対象であるデータのホットスペア（待機系のストレージ）へのリビルド（格納構成の再構築）、及び、保守交換したストレージへのコピーバックが知られている。
【０００４】
ホットスペアへのリビルドは、冗長性を有する論理ディスクを構成するストレージが１台以上故障することによって、その冗長性が失われた場合、予め実装していたホットスペアに、故障したストレージに記憶されていたデータを格納することによって、その冗長性を回復する技術である。
【０００５】
また、コピーバックは、故障したストレージを保守交換した後に動作する技術であり、上述したホットスペアへのリビルドによって、ホットスペアに格納されたデータは、保守交換したストレージに格納される。ホットスペアへのリビルドが行なわれた場合、論理ディスクを構成するストレージの１つが、故障したストレージからホットスペアに代わることによって、論理ディスクを構成するストレージの物理的な実装位置が変更されるので、保守性が低下する。したがって、上述した、保守交換したストレージへのコピーバックを行なうことによって、論理ディスクを構成するストレージの実装位置が回復することに伴い、その保守性も回復することができる。
【０００６】
このように、ストレージ装置の可用性を、確実かつ効率的に高めることを実現可能な技術への期待が高まってきている。
【０００７】
このような技術に関連する技術として、特許文献１には、ＲＡＩＤサブシステムを用いたストレージ装置において、複数台の磁気ディスク装置によって構成された少なくとも１個の論理ボリュームと、リビルド復元手段と、を具備したシステムが開示されている。当該リビルド復元手段は、同一論理ボリューム内の１台の磁気ディスク装置が故障した場合、同一論理ボリューム内の残りの磁気ディスク装置にあるデータを使用して、オンライン状態で故障した磁気ディスク装置に格納されていたデータを復元する。
【０００８】
また、特許文献２には、上位装置が認識可能な仮想ブロックを一時記憶するキャッシュ手段と、当該外部記憶装置システム内が認識する圧縮データが収容される実ブロックを格納する記憶装置と、その仮想ブロックのアドレスとその実ブロックのアドレスとの対応情報を格納する記憶手段と、を備えた外部記憶装置システムが開示されている。このシステムは、上位装置からのリード／ ライト要求に応答し、要求された仮想ブロックがキャッシュ手段の中にある場合、キャッシュ手段の中の仮想ブロックについてリード／ ライトを行うように制御する。このシステムは、当該仮想ブロックがキャッシュ手段の中にない場合、当該記憶手段を参照することにより、要求された仮想ブロックに紐付けされた実ブロックにおけるデータを当該記憶装置から読み込み、当該キャッシュ手段の中にデータを展開した仮想ブロックについてリード／ ライトを行うよう制御する。そして、このシステムは、当該キャッシュ手段の中の仮想ブロックにデータ更新が生じた場合、当該仮想ブロックの圧縮データを含む、紐付けされた当該記憶装置における実ブロックを更新するように制御する。
【０００９】
また、特許文献３には、各物理ディスクの持つ未使用領域の情報を記憶する第１の記憶手段と、各論理ディスクを構成する物理ディスクの領域情報を記憶する第２の記憶手段と、各ＲＡＩＤの属性情報を記憶するとともに、ＲＡＩＤを構成する論理ディスクの識別情報を記憶する第３の記憶手段と、を備えた、ＲＡＩＤ構成を採用したディスクアレイ装置が開示されている。この装置は、物理ディスクに障害が発生した場合に、第１の記憶手段における記憶データに基づいて、障害が発生した物理ディスクに代わる物理ディスクの未使用領域を獲得して、当該未使用領域を新たな論理ディスクとして設定して、第２の記憶手段に登録する。この装置は、第３の記憶手段に登録されている、障害が発生した物理ディスクを構成ディスクとする論理ディスクに代えて、その新たに設定した論理ディスクを登録する。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開2005-99995号公報
【特許文献２】特開2004-13373号公報
【特許文献３】特開2002-157093号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
ストレージ装置に格納されるデータ量は、年々、急速に増加している。膨大なデータを格納したストレージ装置に対して、上述したホットスペアへのリビルドを行なう場合、データをホットスペアに格納するのに要する時間が長くなる。また、ホットスペアへのリビルドを行なった後に行なう、保守交換したストレージへのコピーバックに要する時間も同様に長くなる。即ち、障害によって失われた冗長性や保守性を早期に回復するために、膨大なデータを格納したストレージ装置に対して行なうホットスペアへのリビルド、及び、保守交換したストレージへのコピーバックに要する時間を短縮することが課題である。特許文献１乃至３は、このような課題について言及していない。本願発明の主たる目的は、この問題を解決するストレージ制御装置等を提供することである。
【課題を解決するための手段】
【００１２】
本願発明の一態様に係るストレージ制御装置は、複数の現用系ストレージと、待機系ストレージとを含み、前記複数の現用系ストレージの個々に格納されているデータが、互いに他の前記現用系ストレージに格納されているデータに基づいて生成可能に構成されているストレージ装置を制御する装置であって、前記複数の現用系ストレージのうちの第一のストレージが故障した場合に、前記第一のストレージに格納されていたデータを、前記第一のストレージを除く前記現用系ストレージに格納されているデータに基づいて生成する生成手段と、前記生成手段によって生成された生成データを圧縮する圧縮制御手段と、前記圧縮制御手段により圧縮された圧縮データを、前記待機系ストレージに格納する待機系格納手段と、を備える。
【００１３】
上記目的を達成する他の見地において、本願発明の一態様に係るストレージ制御方法は、複数の現用系ストレージと、待機系ストレージとを含み、前記複数の現用系ストレージの個々に格納されているデータが、互いに他の前記現用系ストレージに格納されているデータに基づいて生成可能に構成されているストレージ装置を制御する情報処理装置によって、前記複数の現用系ストレージのうちの第一のストレージが故障した場合に、前記第一のストレージに格納されていたデータを、前記第一のストレージを除く前記現用系ストレージに格納されているデータに基づいて生成し、生成した生成データを圧縮し、圧縮した圧縮データを、前記待機系ストレージに格納する。
【００１４】
また、上記目的を達成する更なる見地において、本願発明の一態様に係るストレージ制御プログラムは、複数の現用系ストレージと、待機系ストレージとを含み、前記複数の現用系ストレージの個々に格納されているデータが、互いに他の前記現用系ストレージに格納されているデータに基づいて生成可能に構成されているストレージ装置を制御するコンピュータに、前記複数の現用系ストレージのうちの第一のストレージが故障した場合に、前記第一のストレージに格納されていたデータを、前記第一のストレージを除く前記現用系ストレージに格納されているデータに基づいて生成する生成処理と、前記生成処理によって生成された生成データを圧縮する圧縮制御処理と、前記圧縮制御処理により圧縮された圧縮データを、前記待機系ストレージに格納する待機系格納処理と、を実行させる。
【００１５】
更に、本願発明は、係るストレージ制御プログラム（コンピュータプログラム）が格納された、コンピュータ読み取り可能な、不揮発性の記録媒体によっても実現可能である。
【発明の効果】
【００１６】
本願発明は、ストレージ装置に対して行なうホットスペアへのリビルド、及び、保守交換したストレージへのコピーバックに要する時間を短縮することを可能とする。
【図面の簡単な説明】
【００１７】
【図１】本願発明の第１の実施形態に係るストレージ制御システム１の構成を概念的に示すブロック図である。
【図２】本願発明の第１の実施形態に係るストレージ制御装置１０によるリビルド動作を示すフローチャートである。
【図３】本願発明の第１の実施形態に係るストレージ制御装置１０によるコピーバック動作を示すフローチャートである。
【図４】本願発明の第１の実施形態に係るストレージ制御装置１０が、ストレージ装置２０における障害発生からコピーバック動作を完了するまでの間の、ホスト装置３０からストレージ装置２０に対するアクセスを制御する動作を示すフローチャートである。
【図５】本願発明の第２の実施形態に係るストレージ制御装置４０の構成を概念的に示すブロック図である。
【図６】本願発明の各実施形態に係るストレージ制御装置を実行可能な情報処理装置９００の構成を示すブロック図である。
【発明を実施するための形態】
【００１８】
以下、本願発明の実施の形態について図面を参照して詳細に説明する。
【００１９】
＜第１の実施形態＞
図１は、本願発明の第１の実施の形態に係るストレージ制御システム１の構成を概念的に示すブロック図である。ストレージ制御システム１は、大別して、ストレージ制御装置１０、ストレージ装置２０、及び、ホスト装置（上位装置）３０を有している。
【００２０】
ホスト装置３０は、ＣＰＵ（Central Processing Unit）及びメモリ等（不図示）を備えた、例えばサーバ装置等の情報処理装置であり、ストレージ装置２０に格納されているデータにアクセスする。ストレージ制御装置１０は、ストレージ装置２０を制御する装置であり、ホスト装置３０から受信した、ストレージ装置２０に対するリクエストを処理する。ストレージ制御装置１０は、また、ストレージ装置２０において発生した障害に対して行なう障害処理を制御する。
【００２１】
ストレージ装置２０は、３つの現用系ストレージ２１乃至２３、及び、待機系ストレージ（ホットスペア）２４を備える。ストレージ装置２０が備える現用系ストレージ及び待機系ストレージの個数は、順に、３つ及び１つに限定されない。現用系ストレージ２１乃至２３、及び、待機系ストレージ２４は、例えば磁気ディスク等の記憶デバイスである。
【００２２】
ストレージ装置２０は、現用系ストレージ２１乃至２３によって、例えばＲＡＩＤ５を構成する。ストレージ装置２０が採用するＲＡＩＤの種別は、ＲＡＩＤ５に限定されず、例えば、ＲＡＩＤ１、あるいは、ＲＡＩＤ６等であってもよい。ＲＡＩＤは周知の技術であるので、本願では、その詳細な説明を省略する。
【００２３】
待機系ストレージ２４は、現用系ストレージ２１乃至２３のうちのいずれかに障害が発生した場合に、障害が発生した現用系ストレージに代わって、現用系ストレージとしての動作を開始する予備のストレージである。ストレージ装置２０は、例えば、現用系ストレージ２１において障害が発生した場合、ストレージ制御装置１０による制御を受けて、ＲＡＩＤ５を構成するストレージを、現用系ストレージ２１乃至２３から、現用系ストレージ２２及び２３と待機系ストレージ２４とに変更する。尚、本願では以降、現用系ストレージ２１において障害が発生した場合におけるストレージ制御システム１の動作を説明することとする。現用系ストレージ２２あるいは２３において障害が発生した場合におけるストレージ制御システム１の動作は、現用系ストレージ２１において障害が発生した場合と同様である。
【００２４】
ストレージ制御装置１０は、アクセス制御部１１、キャッシュメモリ１５、現用系格納部１６、及び、待機系格納部１７を備えている。
【００２５】
アクセス制御部１１は、ホスト装置３０からストレージ装置２０に対するアクセス全般を制御する機能を有する。アクセス制御部１１は、生成部１２、圧縮制御部１３、及び、キャッシュ制御部１４を有する。
【００２６】
本実施形態に係るストレージ制御装置１０は、ストレージ装置２０において発生した障害に対する障害処理として、上述した、ホットスペアへのリビルド動作（処理）、及び、保守交換したストレージへのコピーバック動作（処理）を行なう。
【００２７】
まず、本実施形態に係るストレージ制御装置１０による、ホットスペアへのリビルド動作について説明する。
【００２８】
生成部１２は、現用系ストレージ２１（第一のストレージ）が故障した場合に、現用系ストレージ２１に格納されていたデータを、現用系ストレージ２２及び２３に格納されているデータに基づいて生成（復元）する。ＲＡＩＤ５等のＲＡＩＤを構成するストレージは、それぞれ、データ本体とパリティデータ（訂正符号データ）とを、分散して格納している。より詳細には、これらの各ストレージには、その少なくともいずれかが故障した場合であっても、故障したストレージに格納されていたデータが、当該ストレージを除くストレージに格納されているデータに基づいて生成可能にデータが分散して配置されている。したがって、生成部１２は、上述したとおり、故障した現用系ストレージ２１に格納されていたデータを生成することができる。
【００２９】
圧縮制御部１３は、生成部１２によって生成されたデータ（生成データ）を圧縮する。データを圧縮する技術としては、既存の技術（アルゴリズム）が使用可能であるので、本願ではその詳細な説明を省略する。
【００３０】
圧縮制御部１３は、上述した圧縮処理を、例えば生成データに含まれる部分ごとに行う場合、各部分に関する現用系ストレージ２１における格納場所を示す位置情報を、圧縮したデータ（圧縮データ）に付加する。但し、位置情報は、論理空間あるいは物理空間において、アドレスによって特定されるデータの格納場所を示す情報である。圧縮制御部１３は、この位置情報を、例えば生成部１２を介して取得可能であることとする。
【００３１】
アクセス制御部１１は、圧縮制御部１３によって生成された圧縮データを、待機系格納部１７に入力する。
【００３２】
待機系格納部１７は、待機系ストレージ２４とのインタフェース（データの入出力）を制御する機能を有する。待機系格納部１７は、アクセス制御部１１から入力された圧縮データを、待機系ストレージ２４に格納する。これにより、ストレージ制御装置１０は、ホットスペアへのリビルド動作を完了する。
【００３３】
図２は、本実施形態に係るストレージ制御装置１０によるホットスペアへのリビルド動作を示すフローチャートであり、このフローチャートを参照して、ストレージ制御装置１０の動作（処理）について詳細に説明する。
【００３４】
アクセス制御部１１は、現用系ストレージ２１が故障したことを検知する（ステップＳ１０１）。生成部１２は、現用系ストレージ２１に格納されていたデータを、現用系ストレージ２２及び２３に格納されているデータに基づいて生成する（ステップＳ１０２）。圧縮制御部１３は、生成部１２により生成された生成データを圧縮することによって、圧縮データを生成する（ステップＳ１０３）。
【００３５】
圧縮制御部１３は、ステップＳ１０３にて生成された圧縮データに対して、圧縮前の当該生成データに関する現用系ストレージ２１における格納場所を示す位置情報を付加する（ステップＳ１０４）。待機系格納部１７は、位置情報が付加された圧縮データを、待機系ストレージ２４に格納し（ステップＳ１０５）、全体の処理は終了する。
【００３６】
次に、本実施形態に係るストレージ制御装置１０による、保守交換したストレージへのコピーバック動作について説明する。
【００３７】
図１に示すストレージ制御装置１０は、上述したホットスペアへのリビルド動作を行なったのち、故障した現用系ストレージ２１が正常に動作する現用系ストレージ２１ａ（第二のストレージ）に保守交換された場合に、コピーバック動作を行なう。
【００３８】
待機系格納部１７は、待機系ストレージ２４に格納されている圧縮データを読み出す。待機系格納部１７は、圧縮データに位置情報が付加されている場合は、位置情報も併せて読み出す。
【００３９】
圧縮制御部１３は、待機系格納部１７によって待機系ストレージ２４から読み出された圧縮データを、圧縮する前の態様に展開（圧縮状態を解除）することによって、展開データを生成する。
【００４０】
アクセス制御部１１は、圧縮制御部１３によって生成された展開データを、位置情報とともに、現用系格納部１６に入力する。
【００４１】
現用系格納部１６は、現用系ストレージ２１（２１ａ）乃至２３とのインタフェース（データの入出力）を制御する機能を有する。現用系格納部１６は、アクセス制御部１１から入力された展開データを、現用系ストレージ２１ａに格納する。現用系格納部１６は、位置情報も併せて入力された場合、現用系ストレージ２１ａにおける位置情報が示す位置に、展開データを格納する。これにより、ストレージ制御装置１０は、保守交換したストレージへのコピーバック動作を完了する。
【００４２】
図３は、本実施形態に係るストレージ制御装置１０による保守交換したストレージへのコピーバック動作を示すフローチャートであり、このフローチャートを参照して、ストレージ制御装置１０の動作（処理）について詳細に説明する。
【００４３】
アクセス制御部１１は、故障した現用系ストレージ２１が、正常に動作する現用系ストレージ２１ａに保守交換されたことを検知する（ステップＳ２０１）。待機系格納部１７は、待機系ストレージ２４に格納されている、位置情報が付加された圧縮データを読み出す（ステップＳ２０２）。
【００４４】
圧縮制御部１３は、待機系格納部１７によって読み出された圧縮データを、圧縮する前の態様に展開することによって、展開データを生成する（ステップＳ２０３）。現用系格納部１６は、現用系ストレージ２１ａにおける位置情報が示す位置に、展開データを格納し（ステップＳ２０４）、全体の処理は終了する。
【００４５】
次に、本実施形態に係るストレージ制御装置１０による、ストレージ装置２０における障害が発生してから上述したコピーバック動作を完了するまでの間における、ホスト装置３０からストレージ装置２０に対するアクセスを制御する動作について説明する。
【００４６】
図１に示すキャッシュメモリ１５は、現用系ストレージ２１乃至２３、及び、待機系ストレージ２４と比較して、格納されているデータに対して高速にアクセス可能な、例えば電子メモリ等の記憶デバイスである。キャッシュメモリ１５は、待機系ストレージ２４に格納されている圧縮データが圧縮される前のデータ（即ち、故障した現用系ストレージ２１に格納されていたデータ）のうち、ホスト装置３０により発行されたアクセスリクエストが示すアクセス先のデータを含む少なくとも一部を格納している。
【００４７】
アクセス制御部１１に含まれるキャッシュ制御部１４は、キャッシュメモリ１５に対するアクセスを制御する。即ち、キャッシュ制御部１４は、キャッシュメモリ１５からデータを読み出す、あるいはキャッシュメモリ１５に対してデータを書き込む（登録する）機能を有する。
【００４８】
ストレージ装置２０は、ストレージ制御装置１０によるホットスペアへのリビルド動作が完了したのち、保守交換したストレージへのコピーバック動作を完了するまでの間、現用系ストレージ２２及び２３と、待機系ストレージ２４とによって、ＲＡＩＤ５を構成する。
【００４９】
アクセス制御部１１は、この期間において、ホスト装置３０から受信したストレージ装置２０に対するアクセスリクエストが示すアクセス先が、待機系ストレージ２４に格納されている圧縮データである場合、当該アクセス先のデータがキャッシュメモリ１５に格納（登録）されているか否かを確認する。
【００５０】
アクセス制御部１１は、当該アクセス先のデータがキャッシュメモリ１５に格納されている場合、キャッシュ制御部１４を介して、キャッシュメモリ１５に格納されている当該アクセス先のデータにアクセスする。アクセス制御部１１は、当該アクセス先のデータがキャッシュメモリ１５に格納されていない場合、待機系格納部１７を介して、待機系ストレージ２４に格納されている圧縮データを読み出し、読み出した圧縮データにおける当該アクセス先のデータを含む部分を、圧縮制御部１３を介して圧縮する前の態様に展開する。そして、アクセス制御部１１は、圧縮制御部１３により生成された展開データに含まれる当該アクセス先のデータを、キャッシュ制御部１４を介して、キャッシュメモリ１５に格納する。
【００５１】
アクセス制御部１１は、ホスト装置３０から受信したストレージ装置２０に対するアクセスリクエストがライトアクセス（書き込みアクセス）である場合、当該アクセスリクエストによる更新内容を、待機系ストレージ２４に格納されている圧縮データに反映する。より具体的には、アクセス制御部１１は、まず、キャッシュ制御部１４を介して、キャッシュメモリ１５に格納されている当該アクセス先のデータを更新する。アクセス制御部１１は、次に、キャッシュメモリ１５に格納されている、更新された当該アクセス先のデータを含む部分を、圧縮制御部１３を介して圧縮する。そして、アクセス制御部１１は、圧縮制御部１３により生成された圧縮データを、待機系格納部１７を介して、待機系ストレージ２４へ格納する。
【００５２】
図４は、本実施形態に係るストレージ制御装置１０が、ストレージ装置２０における障害発生からコピーバック動作を完了するまでの間の、ホスト装置３０からストレージ装置２０に対するアクセスを制御する動作を示すフローチャートである。以下、このフローチャートを参照して、ストレージ制御装置１０の動作（処理）について詳細に説明する。
【００５３】
ストレージ制御装置１０は、ホスト装置３０から、ストレージ装置２０に対するアクセスリクエストを受信する（ステップＳ３０１）。アクセスリクエストが示すアクセス先が、待機系ストレージ２４に格納されている圧縮データでない場合（ステップＳ３０２でＮｏ）、アクセス制御部１１は、現用系格納部１６を介して、現用系ストレージ２２または２３に格納されているアクセス先のデータにアクセスし（ステップＳ３０３）、処理はステップＳ３０８へ進む。
【００５４】
アクセスリクエストが示すアクセス先が、待機系ストレージ２４に格納されている圧縮データである場合（ステップＳ３０２でＹｅｓ）、処理はステップＳ３０４へ進む。アクセスリクエストが示すアクセス先のデータが、キャッシュメモリ１５に格納されている場合（ステップＳ３０４でＹｅｓ）、アクセス制御部１１は、キャッシュ制御部１４を介して、キャッシュメモリ１５に格納されているアクセス先のデータにアクセスする（ステップＳ３０５）。
【００５５】
アクセスリクエストが示すアクセス先のデータが、キャッシュメモリ１５に格納されていない場合（ステップＳ３０４でＮｏ）、アクセス制御部１１は、圧縮制御部１３を介して、
待機系ストレージ２４に格納されている圧縮データにおけるアクセス先のデータを含む部分を、圧縮する前の態様に展開する（ステップＳ３０６）。アクセス制御部１１は、圧縮制御部１３により展開された展開データに含まれるアクセス先のデータを、キャッシュ制御部１４を介して、キャッシュメモリ１５に格納し（ステップＳ３０７）、処理はステップＳ３０５へ進む。
【００５６】
アクセスリクエストがライトアクセスでない場合（ステップＳ３０８でＮｏ）、全体の処理は終了する。アクセスリクエストがライトアクセスである場合（ステップＳ３０８でＹｅｓ）、アクセス制御部１１は、アクセスリクエストによる更新内容を、現用系ストレージ２２および２３に格納されているデータ、及び待機系ストレージ２４に格納されている圧縮データに反映し（ステップＳ３０９）、全体の処理は終了する。
【００５７】
本実施形態に係るストレージ制御装置１０は、ストレージ装置に対して行なうホットスペアへのリビルド、及び、保守交換したストレージへのコピーバックに要する時間を短縮することができる。その理由は、ストレージ制御装置１０は、故障した現用系ストレージ２１に格納されていたデータに関して、待機系ストレージ２４へのリビルド動作を行なう際に、当該データを圧縮するからである。
【００５８】
以下に、本実施形態に係るストレージ制御装置１０によって実現される効果について、詳細に説明する。
【００５９】
ストレージに蓄積されるデータ量が急速に増加している現代社会では、膨大なデータを格納したストレージ装置に対して、ホットスペアへのリビルド、及び、その後に行なう保守交換したストレージへのコピーバックに要する時間が長くなる。これにより、障害によって失われた冗長性や保守性を回復するまでに要する時間が長くなるので、この時間を短縮することが課題である。
【００６０】
このような問題に対して、本実施形態に係るストレージ制御装置１０は、生成部１２と、圧縮制御部１３と、待機系格納部１７と、を備え、例えば図１乃至図４を参照して上述した通り動作する。但し、本実施形態に係るストレージ制御装置１０は、複数の現用系ストレージ２１乃至２３と、待機系ストレージ２４とを含み、複数の現用系ストレージ２１乃至２３の個々に格納されているデータが、互いに他の前記現用系ストレージに格納されているデータに基づいて生成可能に構成されているストレージ装置２０を制御する。
【００６１】
このようなストレージ制御装置１０において、生成部１２は、複数の現用系ストレージ２１乃至２３のうちの現用系ストレージ２１（第一のストレージ）が故障した場合に、現用系ストレージ２１に格納されていたデータを、現用系ストレージ２２乃至２３に格納されているデータに基づいて生成する。圧縮制御部１３は、生成部１２によって生成された生成データを圧縮する。そして、待機系格納部１７は、圧縮制御部１３により圧縮された圧縮データを、待機系ストレージ２４に格納する。
【００６２】
即ち、本実施形態に係るストレージ制御装置１０は、ホットスペアへのリビルドを行なう対象とするデータを圧縮することによって、そのデータ量を小さくする。ホットスペアへのリビルドを行なう場合、故障した現用系ストレージにおける使用領域と未使用領域（例えば初期値「０」が格納されている（ゼロパディングされている）領域）とを、ストレージ制御装置が判別することは、一般的に困難である。したがって、一般的なストレージ制御装置は、例えば、当該未使用領域も含めて、故障した現用系ストレージの記憶容量に相当するデータ量のデータをホットスペアへ格納する。
【００６３】
これに対して、本実施形態に係るストレージ制御装置１０は、故障した現用系ストレージにおける使用領域が占める割合によっては、ホットスペアへのリビルドを行なう対象とするデータのデータ量を、例えば、故障した現用系ストレージの記憶容量に相当するデータ量の数十分の１程度にまで小さくすることができる。これにより、本実施形態に係るストレージ制御装置１０は、ストレージ装置に対して行なうホットスペアへのリビルドに要する時間を短縮することができるので、障害により失われた冗長性を短時間で回復することができる。
【００６４】
また、本実施形態に係るストレージ制御装置１０は、保守交換したストレージへのコピーバックを行なう際に、上述した圧縮処理によってデータ量が小さくなったデータをホットスペア（待機系ストレージ２４）から読み出せばよい。これにより、本実施形態に係るストレージ制御装置１０は、ストレージ装置に対して行なう保守交換したストレージへのコピーバックに要する時間も同様に短縮することができるので、障害により失われた保守性を短時間で回復することができる。
【００６５】
また、本実施形態に係るストレージ制御装置１０は、ホットスペアへのリビルドを行なったのち、待機系ストレージ２４に格納したデータを圧縮した状態で維持する。したがって、ホスト装置３０によるアクセスリクエストが示すアクセス先が、待機系ストレージ２４に格納されている圧縮データである場合、ストレージ制御装置１０は、当該圧縮データにおけるアクセス先のデータを含む部分を、一旦圧縮する前の態様に展開してそのデータにアクセスするという、ペナルティを伴う処理を行う必要があるので、ストレージ装置２０に対するアクセス性能が低下する可能性がある。また、その圧縮データへのアクセスがライトアクセスである場合は、ストレージ制御装置１０は、更新されたアクセス先のデータを含む部分を再圧縮したのち、再圧縮したデータを待機系ストレージ２４に格納するという、より大きなペナルティを伴う処理を行う必要がある。
【００６６】
このような問題に対して、本実施形態に係るストレージ制御装置１０は、キャッシュ制御部１４、及び、キャッシュメモリ１５を備える。キャッシュメモリ１５には、故障した現用系ストレージに格納されていたデータのうち、アクセス先のデータを含む少なくとも一部が格納されている。キャッシュ制御部１４は、待機系ストレージに２４に格納されている圧縮データに対するアクセスが発生した場合、キャッシュメモリ１５に格納されているアクセス先のデータにアクセスする。そして、キャッシュ制御部１４は、当該アクセス先のデータが、キャッシュメモリ１５に格納されていない場合、圧縮データを展開した展開データに含まれる当該アクセス先のデータを、キャッシュメモリ１５に格納する。
【００６７】
ストレージ制御装置１０が、キャッシュ制御部１４とキャッシュメモリ１５とを使用して上述した処理を行う場合、アクセス先のデータがキャッシュメモリ１５に格納（登録）されているか否かを確認する処理が新たに発生する。しかしながら、この新たに発生した処理による影響は、上述した処理によりペナルティが軽減される影響と比較して、十分に小さいと考えられる。また、ストレージ制御装置１０が、キャッシュ制御部１４とキャッシュメモリ１５とを使用して上述した処理を行う場合、キャッシュメモリ１５に格納されているデータを入れ替える処理が新たに発生する。しかしながら、ホスト装置３０によって実行されるアプリケーションは、一般的に、同じ領域に含まれるデータにアクセスする傾向があるので、上述したデータを入れ替える処理による影響は小さいと考えられる。以上のことから、本実施形態に係るストレージ制御装置１０は、ホットスペアへのリビルドを行なったのち、待機系ストレージ２４に格納したデータを圧縮した状態で維持する場合に、上述した圧縮データへのアクセスに伴うペナルティを軽減することができる。
【００６８】
また、本実施形態に係るストレージ制御装置１０は、キャッシュ制御部１４とキャッシュメモリ１５とを含まない簡易な構成を備えてもよい。この場合、ストレージ制御装置１０は、ストレージ装置に対して行なうホットスペアへのリビルド、及び、保守交換したストレージへのコピーバックに要する時間を短縮することを、より低コストで実現することができる。
【００６９】
＜第２の実施形態＞
図５は、本願発明の第２の実施形態に係るストレージ制御装置４０の構成を概念的に示すブロック図である。本実施形態に係るストレージ制御装置４０は、ストレージ装置５０を制御する装置である。
【００７０】
ストレージ装置５０は、複数の現用系ストレージ５１−１乃至５１−ｎ（ｎは２以上の任意の整数）と、待機系ストレージ５２とを含む。そして、複数の現用系ストレージ５１−１乃至５１−ｎの個々に格納されているデータは、互いに他の前記現用系ストレージに格納されているデータに基づいて生成可能に構成されている。
【００７１】
本実施形態に係るストレージ制御装置４０は、生成部４２、圧縮制御部４３、及び、待機系格納部４７を備えている。
【００７２】
生成部４２は、複数の現用系ストレージ５１−１乃至５１−ｎのうちの現用系ストレージ５１−１（第一のストレージ）が故障した場合に、現用系ストレージ５１−１に格納されていたデータを、現用系ストレージ５１−１を除く現用系ストレージ５１−２乃至５１−ｎに格納されているデータに基づいて生成する。
【００７３】
圧縮制御部４３は、生成部４２によって生成された生成データを圧縮する。
【００７４】
待機系格納部４７は、圧縮制御部４３により圧縮された圧縮データを、待機系ストレージ５２に格納する。
【００７５】
本実施形態に係るストレージ制御装置４０は、ストレージ装置に対して行なうホットスペアへのリビルド、及び、保守交換したストレージへのコピーバックに要する時間を短縮することができる。その理由は、ストレージ制御装置４０は、故障した現用系ストレージ５１−１に格納されていたデータに関して、待機系ストレージ５２へのリビルド動作を行なう際に、当該データを圧縮するからである。
【００７６】
＜ハードウェア構成例＞
上述した各実施形態において図１、及び、図５に示したストレージ制御装置における各部は、専用のＨＷ（ＨａｒｄＷａｒｅ）（電子回路）によって実現することができる。また、図１、及び、図５において、少なくとも、下記構成は、ソフトウェアプログラムの機能（処理）単位（ソフトウェアモジュール）と捉えることができる。
・生成部１２、及び、４２、
・圧縮制御部１３、及び、４３、
・現用系格納部１６、
・待機系格納部１７、及び、４７。
【００７７】
但し、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。この場合のハードウェア環境の一例を、図６を参照して説明する。
【００７８】
図６は、本願発明の各実施形態に係るストレージ制御装置を実行可能な情報処理装置９００（コンピュータ）の構成を例示的に説明する図である。即ち、図６は、図１、及び、図５に示したストレージ制御装置を実現可能なコンピュータ（情報処理装置）の構成であって、上述した実施形態における各機能を実現可能なハードウェア環境を表す。
【００７９】
図６に示した情報処理装置９００は、構成要素として下記を備えている。
・ＣＰＵ（Ｃｅｎｔｒａｌ＿Ｐｒｏｃｅｓｓｉｎｇ＿Ｕｎｉｔ）９０１、
・ＲＯＭ（Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ）９０２、
・ＲＡＭ（Ｒａｎｄｏｍ＿Ａｃｃｅｓｓ＿Ｍｅｍｏｒｙ）９０３、
・ハードディスク（記憶装置）９０４、
・外部装置との通信インタフェース９０５、
・バス９０６（通信線）、
・ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ＿Ｄｉｓｃ＿Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ）等の記録媒体９０７に格納されたデータを読み書き可能なリーダライタ９０８、
・入出力インタフェース９０９。
【００８０】
即ち、上記構成要素を備える情報処理装置９００は、これらの構成がバス９０６を介して接続された一般的なコンピュータである。情報処理装置９００は、ＣＰＵ９０１を複数備える場合もあれば、マルチコアにより構成されたＣＰＵ９０１を備える場合もある。
【００８１】
そして、上述した実施形態を例に説明した本願発明は、図６に示した情報処理装置９００に対して、次の機能を実現可能なコンピュータプログラムを供給する。その機能とは、その実施形態の説明において参照したブロック構成図（図１、及び、図５）における上述した構成、或いはフローチャート（図２乃至図４）の機能である。本願発明は、その後、そのコンピュータプログラムを、当該ハードウェアのＣＰＵ９０１に読み出して解釈し実行することによって達成される。また、当該装置内に供給されたコンピュータプログラムは、読み書き可能な揮発性のメモリ（ＲＡＭ９０３）、または、ＲＯＭ９０２やハードディスク９０４等の不揮発性の記憶デバイスに格納すれば良い。
【００８２】
また、前記の場合において、当該ハードウェア内へのコンピュータプログラムの供給方法は、現在では一般的な手順を採用することができる。その手順としては、例えば、ＣＤ−ＲＯＭ等の各種記録媒体９０７を介して当該装置内にインストールする方法や、インターネット等の通信回線を介して外部よりダウンロードする方法等がある。そして、このような場合において、本願発明は、係るコンピュータプログラムを構成するコード或いは、そのコードが格納された記録媒体９０７によって構成されると捉えることができる。
【００８３】
以上、上述した実施形態を模範的な例として本願発明を説明した。しかしながら、本願発明は、上述した実施形態には限定されない。即ち、本願発明は、本願発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【符号の説明】
【００８４】
１    ストレージ制御システム
１０    ストレージ制御装置
１１    アクセス制御部
１２    生成部
１３    圧縮制御部
１４    キャッシュ制御部
１５    キャッシュメモリ
１６    現用系格納部
１７    待機系格納部
２０    ストレージ装置
２１乃至２３    現用系ストレージ
２１ａ    現用系ストレージ
２４    待機系ストレージ
３０    ホスト装置
４０    ストレージ制御装置
４２    生成部
４３    圧縮制御部
４７    待機系格納部
５０    ストレージ装置
５１−１乃至５１−ｎ    現用系ストレージ
５２  待機系ストレージ
９００    情報処理装置
９０１    ＣＰＵ
９０２    ＲＯＭ
９０３    ＲＡＭ
９０４    ハードディスク（記憶装置）
９０５    通信インタフェース
９０６    バス
９０７    記録媒体
９０８    リーダライタ
９０９    入出力インタフェース
【図１】
2019053485.tif 000003
【図２】
2019053485.tif 000004
【図３】
2019053485.tif 000005
【図４】
2019053485.tif 000006
【図５】
2019053485.tif 000007
【図６】
2019053485.tif 000008