(58)【調査した分野】(Int.Cl.,DB名)
複数の現用系ストレージと、待機系ストレージとを含み、前記複数の現用系ストレージの個々に格納されているデータが、互いに他の前記現用系ストレージに格納されているデータに基づいて生成可能に構成されているストレージ装置を制御する装置であって、
前記複数の現用系ストレージのうちの第一のストレージが故障した場合に、前記第一のストレージに格納されていたデータを、前記第一のストレージを除く前記現用系ストレージに格納されているデータに基づいて生成する生成手段と、
前記生成手段によって生成された生成データを部分ごとに圧縮した圧縮データを生成する圧縮制御手段と、
前記圧縮データを、前記待機系ストレージに格納する待機系格納手段と、
前記第一のストレージに格納されていたデータのうち、アクセス先のデータを含む少なくとも一部を格納可能なキャッシュメモリと、
前記待機系ストレージに格納されている前記圧縮データに対するアクセスが発生した場合、前記キャッシュメモリに格納されている前記アクセス先のデータにアクセスするキャッシュ制御手段と、
現用系格納手段と、
を備え、
前記待機系格納手段は、前記待機系ストレージに格納されている前記圧縮データを読み出し、
前記圧縮制御手段は、前記待機系格納手段によって読み出された前記圧縮データを、圧縮する前の態様に展開し、
前記現用系格納手段は、故障した前記第一のストレージが正常に動作する第二のストレージに交換された場合、前記圧縮制御手段によって展開された展開データを、前記第二のストレージに格納し、
前記待機系ストレージに格納されている前記圧縮データに対するアクセスに関する前記アクセス先のデータが前記キャッシュメモリに格納されていない場合、前記圧縮制御手段は、前記待機系ストレージに格納されている前記アクセス先のデータを含む前記圧縮データの部分を圧縮する前の態様に展開し、前記キャッシュ制御手段は、前記圧縮制御手段によって展開された前記アクセス先のデータを前記キャッシュメモリに格納する、
ストレージ制御装置。
前記ストレージ装置は、RAID(Redundant Arrays of Inexpensive Disks)により構成された前記複数の現用系ストレージを含む、
請求項4に記載のストレージ制御システム。
複数の現用系ストレージと、待機系ストレージとを含み、前記複数の現用系ストレージの個々に格納されているデータが、互いに他の前記現用系ストレージに格納されているデータに基づいて生成可能に構成されているストレージ装置を制御する情報処理装置によって、
前記複数の現用系ストレージのうちの第一のストレージが故障した場合に、前記第一のストレージに格納されていたデータを、前記第一のストレージを除く前記現用系ストレージに格納されているデータに基づいて生成し、
生成した生成データを部分ごとに圧縮した圧縮データを生成し、
前記圧縮データを、前記待機系ストレージに格納し、
前記待機系ストレージに格納されている前記圧縮データに対するアクセスが発生した場合、前記第一のストレージに格納されていたデータのうち、アクセス先のデータを含む少なくとも一部を格納可能なキャッシュメモリに格納されている前記アクセス先のデータにアクセスする方法であって、
前記待機系ストレージに格納されている前記圧縮データを読み出し、
読み出した前記圧縮データを、圧縮する前の態様に展開し、
故障した前記第一のストレージが正常に動作する第二のストレージに交換された場合、前記圧縮データを圧縮する前の態様に展開した展開データを、前記第二のストレージに格納し、
前記待機系ストレージに格納されている前記圧縮データに対するアクセスに関する前記アクセス先のデータが前記キャッシュメモリに格納されていない場合、前記待機系ストレージに格納されている前記アクセス先のデータを含む前記圧縮データの部分を圧縮する前の態様に展開し、展開された前記アクセス先のデータを前記キャッシュメモリに格納する、
ストレージ制御方法。
複数の現用系ストレージと、待機系ストレージとを含み、前記複数の現用系ストレージの個々に格納されているデータが、互いに他の前記現用系ストレージに格納されているデータに基づいて生成可能に構成されているストレージ装置を制御するコンピュータに、
前記複数の現用系ストレージのうちの第一のストレージが故障した場合に、前記第一のストレージに格納されていたデータを、前記第一のストレージを除く前記現用系ストレージに格納されているデータに基づいて生成する生成処理と、
前記生成処理によって生成された生成データを部分ごとに圧縮した圧縮データを生成する圧縮制御処理と、
前記圧縮データを、前記待機系ストレージに格納する待機系格納処理と、
前記待機系ストレージに格納されている前記圧縮データに対するアクセスが発生した場合、前記第一のストレージに格納されていたデータのうち、アクセス先のデータを含む少なくとも一部を格納可能なキャッシュメモリに格納されている前記アクセス先のデータにアクセスするキャッシュ制御処理と、
現用系格納処理と、
を実行させ、
前記待機系格納処理は、前記待機系ストレージに格納されている前記圧縮データを読み出し、
前記圧縮制御処理は、前記待機系格納処理によって読み出された前記圧縮データを、圧縮する前の態様に展開し、
前記現用系格納処理は、故障した前記第一のストレージが正常に動作する第二のストレージに交換された場合、前記圧縮制御処理によって展開された展開データを、前記第二のストレージに格納し、
前記待機系ストレージに格納されている前記圧縮データに対するアクセスに関する前記アクセス先のデータが前記キャッシュメモリに格納されていない場合、前記圧縮制御処理は、前記待機系ストレージに格納されている前記アクセス先のデータを含む前記圧縮データの部分を圧縮する前の態様に展開し、前記キャッシュ制御処理は、前記圧縮制御処理によって展開された前記アクセス先のデータを前記キャッシュメモリに格納する、
ストレージ制御プログラム。
【背景技術】
【0002】
ストレージ装置では、格納しているデータに関する冗長性を向上させるために、RAID(Redundant Arrays of Inexpensive Disks)等の技術が採用されている。RAIDは、複数のストレージの組み合わせを、仮想的な1つの論理ディスクとして運用することができる技術である。
【0003】
また、このようなRAIDを採用したストレージ装置の可用性を向上させる技術として、格納対象であるデータのホットスペア(待機系のストレージ)へのリビルド(格納構成の再構築)、及び、保守交換したストレージへのコピーバックが知られている。
【0004】
ホットスペアへのリビルドは、冗長性を有する論理ディスクを構成するストレージが1台以上故障することによって、その冗長性が失われた場合、予め実装していたホットスペアに、故障したストレージに記憶されていたデータを格納することによって、その冗長性を回復する技術である。
【0005】
また、コピーバックは、故障したストレージを保守交換した後に動作する技術であり、上述したホットスペアへのリビルドによって、ホットスペアに格納されたデータは、保守交換したストレージに格納される。ホットスペアへのリビルドが行なわれた場合、論理ディスクを構成するストレージの1つが、故障したストレージからホットスペアに代わることによって、論理ディスクを構成するストレージの物理的な実装位置が変更されるので、保守性が低下する。したがって、上述した、保守交換したストレージへのコピーバックを行なうことによって、論理ディスクを構成するストレージの実装位置が回復することに伴い、その保守性も回復することができる。
【0006】
このように、ストレージ装置の可用性を、確実かつ効率的に高めることを実現可能な技術への期待が高まってきている。
【0007】
このような技術に関連する技術として、特許文献1には、RAIDサブシステムを用いたストレージ装置において、複数台の磁気ディスク装置によって構成された少なくとも1個の論理ボリュームと、リビルド復元手段と、を具備したシステムが開示されている。当該リビルド復元手段は、同一論理ボリューム内の1台の磁気ディスク装置が故障した場合、同一論理ボリューム内の残りの磁気ディスク装置にあるデータを使用して、オンライン状態で故障した磁気ディスク装置に格納されていたデータを復元する。
【0008】
また、特許文献2には、上位装置が認識可能な仮想ブロックを一時記憶するキャッシュ手段と、当該外部記憶装置システム内が認識する圧縮データが収容される実ブロックを格納する記憶装置と、その仮想ブロックのアドレスとその実ブロックのアドレスとの対応情報を格納する記憶手段と、を備えた外部記憶装置システムが開示されている。このシステムは、上位装置からのリード/ ライト要求に応答し、要求された仮想ブロックがキャッシュ手段の中にある場合、キャッシュ手段の中の仮想ブロックについてリード/ ライトを行うように制御する。このシステムは、当該仮想ブロックがキャッシュ手段の中にない場合、当該記憶手段を参照することにより、要求された仮想ブロックに紐付けされた実ブロックにおけるデータを当該記憶装置から読み込み、当該キャッシュ手段の中にデータを展開した仮想ブロックについてリード/ ライトを行うよう制御する。そして、このシステムは、当該キャッシュ手段の中の仮想ブロックにデータ更新が生じた場合、当該仮想ブロックの圧縮データを含む、紐付けされた当該記憶装置における実ブロックを更新するように制御する。
【0009】
また、特許文献3には、各物理ディスクの持つ未使用領域の情報を記憶する第1の記憶手段と、各論理ディスクを構成する物理ディスクの領域情報を記憶する第2の記憶手段と、各RAIDの属性情報を記憶するとともに、RAIDを構成する論理ディスクの識別情報を記憶する第3の記憶手段と、を備えた、RAID構成を採用したディスクアレイ装置が開示されている。この装置は、物理ディスクに障害が発生した場合に、第1の記憶手段における記憶データに基づいて、障害が発生した物理ディスクに代わる物理ディスクの未使用領域を獲得して、当該未使用領域を新たな論理ディスクとして設定して、第2の記憶手段に登録する。この装置は、第3の記憶手段に登録されている、障害が発生した物理ディスクを構成ディスクとする論理ディスクに代えて、その新たに設定した論理ディスクを登録する。
【発明を実施するための形態】
【0018】
以下、本願発明の実施の形態について図面を参照して詳細に説明する。
【0019】
<第1の実施形態>
図1は、本願発明の第1の実施の形態に係るストレージ制御システム1の構成を概念的に示すブロック図である。ストレージ制御システム1は、大別して、ストレージ制御装置10、ストレージ装置20、及び、ホスト装置(上位装置)30を有している。
【0020】
ホスト装置30は、CPU(Central Processing Unit)及びメモリ等(不図示)を備えた、例えばサーバ装置等の情報処理装置であり、ストレージ装置20に格納されているデータにアクセスする。ストレージ制御装置10は、ストレージ装置20を制御する装置であり、ホスト装置30から受信した、ストレージ装置20に対するリクエストを処理する。ストレージ制御装置10は、また、ストレージ装置20において発生した障害に対して行なう障害処理を制御する。
【0021】
ストレージ装置20は、3つの現用系ストレージ21乃至23、及び、待機系ストレージ(ホットスペア)24を備える。ストレージ装置20が備える現用系ストレージ及び待機系ストレージの個数は、順に、3つ及び1つに限定されない。現用系ストレージ21乃至23、及び、待機系ストレージ24は、例えば磁気ディスク等の記憶デバイスである。
【0022】
ストレージ装置20は、現用系ストレージ21乃至23によって、例えばRAID5を構成する。ストレージ装置20が採用するRAIDの種別は、RAID5に限定されず、例えば、RAID1、あるいは、RAID6等であってもよい。RAIDは周知の技術であるので、本願では、その詳細な説明を省略する。
【0023】
待機系ストレージ24は、現用系ストレージ21乃至23のうちのいずれかに障害が発生した場合に、障害が発生した現用系ストレージに代わって、現用系ストレージとしての動作を開始する予備のストレージである。ストレージ装置20は、例えば、現用系ストレージ21において障害が発生した場合、ストレージ制御装置10による制御を受けて、RAID5を構成するストレージを、現用系ストレージ21乃至23から、現用系ストレージ22及び23と待機系ストレージ24とに変更する。尚、本願では以降、現用系ストレージ21において障害が発生した場合におけるストレージ制御システム1の動作を説明することとする。現用系ストレージ22あるいは23において障害が発生した場合におけるストレージ制御システム1の動作は、現用系ストレージ21において障害が発生した場合と同様である。
【0024】
ストレージ制御装置10は、アクセス制御部11、キャッシュメモリ15、現用系格納部16、及び、待機系格納部17を備えている。
【0025】
アクセス制御部11は、ホスト装置30からストレージ装置20に対するアクセス全般を制御する機能を有する。アクセス制御部11は、生成部12、圧縮制御部13、及び、キャッシュ制御部14を有する。
【0026】
本実施形態に係るストレージ制御装置10は、ストレージ装置20において発生した障害に対する障害処理として、上述した、ホットスペアへのリビルド動作(処理)、及び、保守交換したストレージへのコピーバック動作(処理)を行なう。
【0027】
まず、本実施形態に係るストレージ制御装置10による、ホットスペアへのリビルド動作について説明する。
【0028】
生成部12は、現用系ストレージ21(第一のストレージ)が故障した場合に、現用系ストレージ21に格納されていたデータを、現用系ストレージ22及び23に格納されているデータに基づいて生成(復元)する。RAID5等のRAIDを構成するストレージは、それぞれ、データ本体とパリティデータ(訂正符号データ)とを、分散して格納している。より詳細には、これらの各ストレージには、その少なくともいずれかが故障した場合であっても、故障したストレージに格納されていたデータが、当該ストレージを除くストレージに格納されているデータに基づいて生成可能にデータが分散して配置されている。したがって、生成部12は、上述したとおり、故障した現用系ストレージ21に格納されていたデータを生成することができる。
【0029】
圧縮制御部13は、生成部12によって生成されたデータ(生成データ)を圧縮する。データを圧縮する技術としては、既存の技術(アルゴリズム)が使用可能であるので、本願ではその詳細な説明を省略する。
【0030】
圧縮制御部13は、上述した圧縮処理を、例えば生成データに含まれる部分ごとに行う場合、各部分に関する現用系ストレージ21における格納場所を示す位置情報を、圧縮したデータ(圧縮データ)に付加する。但し、位置情報は、論理空間あるいは物理空間において、アドレスによって特定されるデータの格納場所を示す情報である。圧縮制御部13は、この位置情報を、例えば生成部12を介して取得可能であることとする。
【0031】
アクセス制御部11は、圧縮制御部13によって生成された圧縮データを、待機系格納部17に入力する。
【0032】
待機系格納部17は、待機系ストレージ24とのインタフェース(データの入出力)を制御する機能を有する。待機系格納部17は、アクセス制御部11から入力された圧縮データを、待機系ストレージ24に格納する。これにより、ストレージ制御装置10は、ホットスペアへのリビルド動作を完了する。
【0033】
図2は、本実施形態に係るストレージ制御装置10によるホットスペアへのリビルド動作を示すフローチャートであり、このフローチャートを参照して、ストレージ制御装置10の動作(処理)について詳細に説明する。
【0034】
アクセス制御部11は、現用系ストレージ21が故障したことを検知する(ステップS101)。生成部12は、現用系ストレージ21に格納されていたデータを、現用系ストレージ22及び23に格納されているデータに基づいて生成する(ステップS102)。圧縮制御部13は、生成部12により生成された生成データを圧縮することによって、圧縮データを生成する(ステップS103)。
【0035】
圧縮制御部13は、ステップS103にて生成された圧縮データに対して、圧縮前の当該生成データに関する現用系ストレージ21における格納場所を示す位置情報を付加する(ステップS104)。待機系格納部17は、位置情報が付加された圧縮データを、待機系ストレージ24に格納し(ステップS105)、全体の処理は終了する。
【0036】
次に、本実施形態に係るストレージ制御装置10による、保守交換したストレージへのコピーバック動作について説明する。
【0037】
図1に示すストレージ制御装置10は、上述したホットスペアへのリビルド動作を行なったのち、故障した現用系ストレージ21が正常に動作する現用系ストレージ21a(第二のストレージ)に保守交換された場合に、コピーバック動作を行なう。
【0038】
待機系格納部17は、待機系ストレージ24に格納されている圧縮データを読み出す。待機系格納部17は、圧縮データに位置情報が付加されている場合は、位置情報も併せて読み出す。
【0039】
圧縮制御部13は、待機系格納部17によって待機系ストレージ24から読み出された圧縮データを、圧縮する前の態様に展開(圧縮状態を解除)することによって、展開データを生成する。
【0040】
アクセス制御部11は、圧縮制御部13によって生成された展開データを、位置情報とともに、現用系格納部16に入力する。
【0041】
現用系格納部16は、現用系ストレージ21(21a)乃至23とのインタフェース(データの入出力)を制御する機能を有する。現用系格納部16は、アクセス制御部11から入力された展開データを、現用系ストレージ21aに格納する。現用系格納部16は、位置情報も併せて入力された場合、現用系ストレージ21aにおける位置情報が示す位置に、展開データを格納する。これにより、ストレージ制御装置10は、保守交換したストレージへのコピーバック動作を完了する。
【0042】
図3は、本実施形態に係るストレージ制御装置10による保守交換したストレージへのコピーバック動作を示すフローチャートであり、このフローチャートを参照して、ストレージ制御装置10の動作(処理)について詳細に説明する。
【0043】
アクセス制御部11は、故障した現用系ストレージ21が、正常に動作する現用系ストレージ21aに保守交換されたことを検知する(ステップS201)。待機系格納部17は、待機系ストレージ24に格納されている、位置情報が付加された圧縮データを読み出す(ステップS202)。
【0044】
圧縮制御部13は、待機系格納部17によって読み出された圧縮データを、圧縮する前の態様に展開することによって、展開データを生成する(ステップS203)。現用系格納部16は、現用系ストレージ21aにおける位置情報が示す位置に、展開データを格納し(ステップS204)、全体の処理は終了する。
【0045】
次に、本実施形態に係るストレージ制御装置10による、ストレージ装置20における障害が発生してから上述したコピーバック動作を完了するまでの間における、ホスト装置30からストレージ装置20に対するアクセスを制御する動作について説明する。
【0046】
図1に示すキャッシュメモリ15は、現用系ストレージ21乃至23、及び、待機系ストレージ24と比較して、格納されているデータに対して高速にアクセス可能な、例えば電子メモリ等の記憶デバイスである。キャッシュメモリ15は、待機系ストレージ24に格納されている圧縮データが圧縮される前のデータ(即ち、故障した現用系ストレージ21に格納されていたデータ)のうち、ホスト装置30により発行されたアクセスリクエストが示すアクセス先のデータを含む少なくとも一部を格納している。
【0047】
アクセス制御部11に含まれるキャッシュ制御部14は、キャッシュメモリ15に対するアクセスを制御する。即ち、キャッシュ制御部14は、キャッシュメモリ15からデータを読み出す、あるいはキャッシュメモリ15に対してデータを書き込む(登録する)機能を有する。
【0048】
ストレージ装置20は、ストレージ制御装置10によるホットスペアへのリビルド動作が完了したのち、保守交換したストレージへのコピーバック動作を完了するまでの間、現用系ストレージ22及び23と、待機系ストレージ24とによって、RAID5を構成する。
【0049】
アクセス制御部11は、この期間において、ホスト装置30から受信したストレージ装置20に対するアクセスリクエストが示すアクセス先が、待機系ストレージ24に格納されている圧縮データである場合、当該アクセス先のデータがキャッシュメモリ15に格納(登録)されているか否かを確認する。
【0050】
アクセス制御部11は、当該アクセス先のデータがキャッシュメモリ15に格納されている場合、キャッシュ制御部14を介して、キャッシュメモリ15に格納されている当該アクセス先のデータにアクセスする。アクセス制御部11は、当該アクセス先のデータがキャッシュメモリ15に格納されていない場合、待機系格納部17を介して、待機系ストレージ24に格納されている圧縮データを読み出し、読み出した圧縮データにおける当該アクセス先のデータを含む部分を、圧縮制御部13を介して圧縮する前の態様に展開する。そして、アクセス制御部11は、圧縮制御部13により生成された展開データに含まれる当該アクセス先のデータを、キャッシュ制御部14を介して、キャッシュメモリ15に格納する。
【0051】
アクセス制御部11は、ホスト装置30から受信したストレージ装置20に対するアクセスリクエストがライトアクセス(書き込みアクセス)である場合、当該アクセスリクエストによる更新内容を、待機系ストレージ24に格納されている圧縮データに反映する。より具体的には、アクセス制御部11は、まず、キャッシュ制御部14を介して、キャッシュメモリ15に格納されている当該アクセス先のデータを更新する。アクセス制御部11は、次に、キャッシュメモリ15に格納されている、更新された当該アクセス先のデータを含む部分を、圧縮制御部13を介して圧縮する。そして、アクセス制御部11は、圧縮制御部13により生成された圧縮データを、待機系格納部17を介して、待機系ストレージ24へ格納する。
【0052】
図4は、本実施形態に係るストレージ制御装置10が、ストレージ装置20における障害発生からコピーバック動作を完了するまでの間の、ホスト装置30からストレージ装置20に対するアクセスを制御する動作を示すフローチャートである。以下、このフローチャートを参照して、ストレージ制御装置10の動作(処理)について詳細に説明する。
【0053】
ストレージ制御装置10は、ホスト装置30から、ストレージ装置20に対するアクセスリクエストを受信する(ステップS301)。アクセスリクエストが示すアクセス先が、待機系ストレージ24に格納されている圧縮データでない場合(ステップS302でNo)、アクセス制御部11は、現用系格納部16を介して、現用系ストレージ22または23に格納されているアクセス先のデータにアクセスし(ステップS303)、処理はステップS308へ進む。
【0054】
アクセスリクエストが示すアクセス先が、待機系ストレージ24に格納されている圧縮データである場合(ステップS302でYes)、処理はステップS304へ進む。アクセスリクエストが示すアクセス先のデータが、キャッシュメモリ15に格納されている場合(ステップS304でYes)、アクセス制御部11は、キャッシュ制御部14を介して、キャッシュメモリ15に格納されているアクセス先のデータにアクセスする(ステップS305)。
【0055】
アクセスリクエストが示すアクセス先のデータが、キャッシュメモリ15に格納されていない場合(ステップS304でNo)、アクセス制御部11は、圧縮制御部13を介して、
待機系ストレージ24に格納されている圧縮データにおけるアクセス先のデータを含む部分を、圧縮する前の態様に展開する(ステップS306)。アクセス制御部11は、圧縮制御部13により展開された展開データに含まれるアクセス先のデータを、キャッシュ制御部14を介して、キャッシュメモリ15に格納し(ステップS307)、処理はステップS305へ進む。
【0056】
アクセスリクエストがライトアクセスでない場合(ステップS308でNo)、全体の処理は終了する。アクセスリクエストがライトアクセスである場合(ステップS308でYes)、アクセス制御部11は、アクセスリクエストによる更新内容を、現用系ストレージ22および23に格納されているデータ、及び待機系ストレージ24に格納されている圧縮データに反映し(ステップS309)、全体の処理は終了する。
【0057】
本実施形態に係るストレージ制御装置10は、ストレージ装置に対して行なうホットスペアへのリビルド、及び、保守交換したストレージへのコピーバックに要する時間を短縮することができる。その理由は、ストレージ制御装置10は、故障した現用系ストレージ21に格納されていたデータに関して、待機系ストレージ24へのリビルド動作を行なう際に、当該データを圧縮するからである。
【0058】
以下に、本実施形態に係るストレージ制御装置10によって実現される効果について、詳細に説明する。
【0059】
ストレージに蓄積されるデータ量が急速に増加している現代社会では、膨大なデータを格納したストレージ装置に対して、ホットスペアへのリビルド、及び、その後に行なう保守交換したストレージへのコピーバックに要する時間が長くなる。これにより、障害によって失われた冗長性や保守性を回復するまでに要する時間が長くなるので、この時間を短縮することが課題である。
【0060】
このような問題に対して、本実施形態に係るストレージ制御装置10は、生成部12と、圧縮制御部13と、待機系格納部17と、を備え、例えば
図1乃至
図4を参照して上述した通り動作する。但し、本実施形態に係るストレージ制御装置10は、複数の現用系ストレージ21乃至23と、待機系ストレージ24とを含み、複数の現用系ストレージ21乃至23の個々に格納されているデータが、互いに他の前記現用系ストレージに格納されているデータに基づいて生成可能に構成されているストレージ装置20を制御する。
【0061】
このようなストレージ制御装置10において、生成部12は、複数の現用系ストレージ21乃至23のうちの現用系ストレージ21(第一のストレージ)が故障した場合に、現用系ストレージ21に格納されていたデータを、現用系ストレージ22乃至23に格納されているデータに基づいて生成する。圧縮制御部13は、生成部12によって生成された生成データを圧縮する。そして、待機系格納部17は、圧縮制御部13により圧縮された圧縮データを、待機系ストレージ24に格納する。
【0062】
即ち、本実施形態に係るストレージ制御装置10は、ホットスペアへのリビルドを行なう対象とするデータを圧縮することによって、そのデータ量を小さくする。ホットスペアへのリビルドを行なう場合、故障した現用系ストレージにおける使用領域と未使用領域(例えば初期値「0」が格納されている(ゼロパディングされている)領域)とを、ストレージ制御装置が判別することは、一般的に困難である。したがって、一般的なストレージ制御装置は、例えば、当該未使用領域も含めて、故障した現用系ストレージの記憶容量に相当するデータ量のデータをホットスペアへ格納する。
【0063】
これに対して、本実施形態に係るストレージ制御装置10は、故障した現用系ストレージにおける使用領域が占める割合によっては、ホットスペアへのリビルドを行なう対象とするデータのデータ量を、例えば、故障した現用系ストレージの記憶容量に相当するデータ量の数十分の1程度にまで小さくすることができる。これにより、本実施形態に係るストレージ制御装置10は、ストレージ装置に対して行なうホットスペアへのリビルドに要する時間を短縮することができるので、障害により失われた冗長性を短時間で回復することができる。
【0064】
また、本実施形態に係るストレージ制御装置10は、保守交換したストレージへのコピーバックを行なう際に、上述した圧縮処理によってデータ量が小さくなったデータをホットスペア(待機系ストレージ24)から読み出せばよい。これにより、本実施形態に係るストレージ制御装置10は、ストレージ装置に対して行なう保守交換したストレージへのコピーバックに要する時間も同様に短縮することができるので、障害により失われた保守性を短時間で回復することができる。
【0065】
また、本実施形態に係るストレージ制御装置10は、ホットスペアへのリビルドを行なったのち、待機系ストレージ24に格納したデータを圧縮した状態で維持する。したがって、ホスト装置30によるアクセスリクエストが示すアクセス先が、待機系ストレージ24に格納されている圧縮データである場合、ストレージ制御装置10は、当該圧縮データにおけるアクセス先のデータを含む部分を、一旦圧縮する前の態様に展開してそのデータにアクセスするという、ペナルティを伴う処理を行う必要があるので、ストレージ装置20に対するアクセス性能が低下する可能性がある。また、その圧縮データへのアクセスがライトアクセスである場合は、ストレージ制御装置10は、更新されたアクセス先のデータを含む部分を再圧縮したのち、再圧縮したデータを待機系ストレージ24に格納するという、より大きなペナルティを伴う処理を行う必要がある。
【0066】
このような問題に対して、本実施形態に係るストレージ制御装置10は、キャッシュ制御部14、及び、キャッシュメモリ15を備える。キャッシュメモリ15には、故障した現用系ストレージに格納されていたデータのうち、アクセス先のデータを含む少なくとも一部が格納されている。キャッシュ制御部14は、待機系ストレージに24に格納されている圧縮データに対するアクセスが発生した場合、キャッシュメモリ15に格納されているアクセス先のデータにアクセスする。そして、キャッシュ制御部14は、当該アクセス先のデータが、キャッシュメモリ15に格納されていない場合、圧縮データを展開した展開データに含まれる当該アクセス先のデータを、キャッシュメモリ15に格納する。
【0067】
ストレージ制御装置10が、キャッシュ制御部14とキャッシュメモリ15とを使用して上述した処理を行う場合、アクセス先のデータがキャッシュメモリ15に格納(登録)されているか否かを確認する処理が新たに発生する。しかしながら、この新たに発生した処理による影響は、上述した処理によりペナルティが軽減される影響と比較して、十分に小さいと考えられる。また、ストレージ制御装置10が、キャッシュ制御部14とキャッシュメモリ15とを使用して上述した処理を行う場合、キャッシュメモリ15に格納されているデータを入れ替える処理が新たに発生する。しかしながら、ホスト装置30によって実行されるアプリケーションは、一般的に、同じ領域に含まれるデータにアクセスする傾向があるので、上述したデータを入れ替える処理による影響は小さいと考えられる。以上のことから、本実施形態に係るストレージ制御装置10は、ホットスペアへのリビルドを行なったのち、待機系ストレージ24に格納したデータを圧縮した状態で維持する場合に、上述した圧縮データへのアクセスに伴うペナルティを軽減することができる。
【0068】
また、本実施形態に係るストレージ制御装置10は、キャッシュ制御部14とキャッシュメモリ15とを含まない簡易な構成を備えてもよい。この場合、ストレージ制御装置10は、ストレージ装置に対して行なうホットスペアへのリビルド、及び、保守交換したストレージへのコピーバックに要する時間を短縮することを、より低コストで実現することができる。
【0069】
<第2の実施形態>
図5は、本願発明の第2の実施形態に係るストレージ制御装置40の構成を概念的に示すブロック図である。本実施形態に係るストレージ制御装置40は、ストレージ装置50を制御する装置である。
【0070】
ストレージ装置50は、複数の現用系ストレージ51−1乃至51−n(nは2以上の任意の整数)と、待機系ストレージ52とを含む。そして、複数の現用系ストレージ51−1乃至51−nの個々に格納されているデータは、互いに他の前記現用系ストレージに格納されているデータに基づいて生成可能に構成されている。
【0071】
本実施形態に係るストレージ制御装置40は、生成部42、圧縮制御部43、及び、待機系格納部47を備えている。
【0072】
生成部42は、複数の現用系ストレージ51−1乃至51−nのうちの現用系ストレージ51−1(第一のストレージ)が故障した場合に、現用系ストレージ51−1に格納されていたデータを、現用系ストレージ51−1を除く現用系ストレージ51−2乃至51−nに格納されているデータに基づいて生成する。
【0073】
圧縮制御部43は、生成部42によって生成された生成データを圧縮する。
【0074】
待機系格納部47は、圧縮制御部43により圧縮された圧縮データを、待機系ストレージ52に格納する。
【0075】
本実施形態に係るストレージ制御装置40は、ストレージ装置に対して行なうホットスペアへのリビルド、及び、保守交換したストレージへのコピーバックに要する時間を短縮することができる。その理由は、ストレージ制御装置40は、故障した現用系ストレージ51−1に格納されていたデータに関して、待機系ストレージ52へのリビルド動作を行なう際に、当該データを圧縮するからである。
【0076】
<ハードウェア構成例>
上述した各実施形態において
図1、及び、
図5に示したストレージ制御装置における各部は、専用のHW(HardWare)(電子回路)によって実現することができる。また、
図1、及び、
図5において、少なくとも、下記構成は、ソフトウェアプログラムの機能(処理)単位(ソフトウェアモジュール)と捉えることができる。
・生成部12、及び、42、
・圧縮制御部13、及び、43、
・現用系格納部16、
・待機系格納部17、及び、47。
【0077】
但し、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。この場合のハードウェア環境の一例を、
図6を参照して説明する。
【0078】
図6は、本願発明の各実施形態に係るストレージ制御装置を実行可能な情報処理装置900(コンピュータ)の構成を例示的に説明する図である。即ち、
図6は、
図1、及び、
図5に示したストレージ制御装置を実現可能なコンピュータ(情報処理装置)の構成であって、上述した実施形態における各機能を実現可能なハードウェア環境を表す。
【0079】
図6に示した情報処理装置900は、構成要素として下記を備えている。
・CPU(Central_Processing_Unit)901、
・ROM(Read_Only_Memory)902、
・RAM(Random_Access_Memory)903、
・ハードディスク(記憶装置)904、
・外部装置との通信インタフェース905、
・バス906(通信線)、
・CD−ROM(Compact_Disc_Read_Only_Memory)等の記録媒体907に格納されたデータを読み書き可能なリーダライタ908、
・入出力インタフェース909。
【0080】
即ち、上記構成要素を備える情報処理装置900は、これらの構成がバス906を介して接続された一般的なコンピュータである。情報処理装置900は、CPU901を複数備える場合もあれば、マルチコアにより構成されたCPU901を備える場合もある。
【0081】
そして、上述した実施形態を例に説明した本願発明は、
図6に示した情報処理装置900に対して、次の機能を実現可能なコンピュータプログラムを供給する。その機能とは、その実施形態の説明において参照したブロック構成図(
図1、及び、
図5)における上述した構成、或いはフローチャート(
図2乃至
図4)の機能である。本願発明は、その後、そのコンピュータプログラムを、当該ハードウェアのCPU901に読み出して解釈し実行することによって達成される。また、当該装置内に供給されたコンピュータプログラムは、読み書き可能な揮発性のメモリ(RAM903)、または、ROM902やハードディスク904等の不揮発性の記憶デバイスに格納すれば良い。
【0082】
また、前記の場合において、当該ハードウェア内へのコンピュータプログラムの供給方法は、現在では一般的な手順を採用することができる。その手順としては、例えば、CD−ROM等の各種記録媒体907を介して当該装置内にインストールする方法や、インターネット等の通信回線を介して外部よりダウンロードする方法等がある。そして、このような場合において、本願発明は、係るコンピュータプログラムを構成するコード或いは、そのコードが格納された記録媒体907によって構成されると捉えることができる。
【0083】
以上、上述した実施形態を模範的な例として本願発明を説明した。しかしながら、本願発明は、上述した実施形態には限定されない。即ち、本願発明は、本願発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。