JP2010191989A - 記憶制御システム及び方法 - Google Patents

記憶制御システム及び方法 Download PDF

Info

Publication number
JP2010191989A
JP2010191989A JP2010100461A JP2010100461A JP2010191989A JP 2010191989 A JP2010191989 A JP 2010191989A JP 2010100461 A JP2010100461 A JP 2010100461A JP 2010100461 A JP2010100461 A JP 2010100461A JP 2010191989 A JP2010191989 A JP 2010191989A
Authority
JP
Japan
Prior art keywords
chunk
chunks
level
primary
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2010100461A
Other languages
English (en)
Inventor
Sadako Kezuka
禎子 毛塚
Akira Murotani
暁 室谷
Seiichi Higaki
誠一 檜垣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2010100461A priority Critical patent/JP2010191989A/ja
Publication of JP2010191989A publication Critical patent/JP2010191989A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】属性レベルの異なる複数の記憶デバイスのうちの属性レベルの低い記憶デバイスの影響を受けにくくする。
【解決手段】記憶制御システム上に存在する複数のLUの各々が、複数のchunkに分割される。PVOLはFC-chunkのみで構成され、SVOLは、FC-chunkとSATA-chunkの両方で構成される。複数のPVOL-chunkにそれぞれ対応した複数のSVOL-chunkの各々には、対応するPVOL-chunkのサブデータの更新頻度に基づいて、複数のプールchunkの中から選択されたFC-chunkとSATA-chunkのいずれかが動的に対応付けられる。例えば、データの更新頻度が高いPVOL-chunkにSVOL-SATA-chunkが対応付けられている場合は、そのSVOL-SATA-chunk内のサブデータの入替え先として、プールFC-chunkが対応付けられる。
【選択図】図1

Description

本発明は、記憶デバイスへのデータの格納を制御する記憶制御システム及び方法に関する。
例えば、データセンタ等のような大規模なデータを取り扱うデータベースシステムでは、ホストコンピュータとは別に構成された記憶制御システムを用いてデータを管理する。この記憶制御システムは、例えば、多数の記憶デバイスをアレイ状に配設して構成されたRAID(Redundant Array of Independent Inexpensive Disks)のようなディスクアレイシステムである。
このような記憶制御システムでは、例えば、記憶デバイスに記録されたデータが壊れてしまってもそのデータを回復することができるように、その記憶デバイスに記録されているデータを別の記憶デバイスにコピーして保存しておくバックアップが行われる。その際、コピー作業中に、コピーされたデータが更新され、データに不整合が生じるとバックアップとして意味をなさないため、コピー作業中はデータの整合性を保証する必要がある。
バックアップされるデータの整合性を保証するための方法としては、データにアクセスするバックアッププログラム以外のプログラムを停止する方法が考えられるが、高可用性が要求されるシステムではプログラムを長時間停止させることができない。そのため、バックアップ中にプログラムがデータを更新することを妨げず、且つ、バックアップ開始時点でのデータの記憶イメージを作成する仕組みを提供する必要がある。なお、以下、ある時点でのデータの記憶イメージを「ボリュームコピー」と呼び、指定された時点のボリュームコピーを作成しつつデータの更新が可能な状態を提供する仕組みを「ボリュームコピー管理方法」と呼ぶ。また、ボリュームコピーを作成することを「ボリュームコピーの取得」と呼び、ボリュームコピー取得の対象となったデータを「オリジナルデータ」と呼ぶ。また、ボリュームコピーを作成した状態をやめることを「ボリュームコピーの削除」と呼ぶ。
ボリュームコピー管理方法の一つとして、データの二重化による方法が挙げられる。
この方法では、例えば、ボリュームコピーを取得していない通常の状態において、記憶制御システム上のプログラムが、すべてのデータを2つの記憶領域上に生成する(つまりデータを二重化する)。そして、記憶制御システムは、2つの記憶領域を個々の記憶領域に分離し、一方の記憶領域上に存在するデータをオリジナルデータとして提供し、他方の記憶領域上に存在するデータをボリュームコピーとして提供する。
ボリュームコピーを取得し二重化を停止している間(非ミラー時)、記憶制御システムは、オリジナルデータの記憶領域に対するデータの更新を許可するとともに、データ更新が発生した場合は更新した位置を記録しておく。記憶制御システムは、ボリュームコピーの削除の場合には、データの二重化を再開するとともに、2つの記憶領域の間で内容が一致していない更新データを、更新位置の記録に基づいて、オリジナルデータの記憶領域からボリュームコピーとして提供していた記憶領域にコピーする。なお、以下、このようなコピーを「ミラー再同期化」と呼ぶこととする。また、ボリュームコピーの削除の場合、上記とは逆に、更新データをボリュームコピーの記憶領域からオリジナルデータの記憶領域にコピーすることもできるが、そのようなコピーを「ミラー逆再同期化」と呼ぶ。
コンピュータ上のプログラムでデータを二重化する方法は、例えば米国特許5,051,887に示されている。
米国特許5,051,887公報。
ところで、記憶デバイスとしては、ディスク装置(例えばハードディスクドライブ)、磁気テープ記憶デバイスなど種々の装置を採用することができる。ディスク装置には、例えば、高価ではあるが信頼性及び性能が高い高信頼性・高性能ディスク装置と、高信頼性・高性能ディスク装置よりもが信頼性及び性能が低いが安価である低信頼性・低性能ディスク装置とがある。高信頼性・高性能ディスク装置には、例えば、ANSI
T11によって標準化作業が行われているファイバチャネル(以下「FC」)インターフェースを備えたディスク装置(以下、「FCディスク装置」)がある。一方、低信頼性・低性能ディスク装置には、例えば、高信頼性・高性能ディスク装置のインターフェースと異なるインターフェースを有するディスク装置、具体例として、ANSI
T13によって標準化作業が行われているATA(ATAttachment)インターフェースを備えたディスク装置(以下、「ATAディスク装置」)がある。
ボリュームコピーを取得する場合、ユーザから、オリジナルデータは、FCディスク装置上の記憶領域(以下、FC記憶領域)に格納しておきたいが、ボリュームコピーは、コストの問題等から、ATAディスク装置上の記憶領域(以下、ATA記憶領域)上に用意したいというような要求が出る可能性がある。
しかし、この要求を満たすために、FC記憶領域上のオリジナルデータと、ATA記憶領域上のボリュームコピーとを二重化して用いると(換言すれば、FC記憶領域とATA記憶領域とをペア状態にすると)、例えば、記憶制御システムの上位装置からI/O要求(入/出力要求)を受信して処理する場合、FCディスク装置のI/O処理性能(例えば、データの読出し或いは書込みの速度)を、ATAディスク装置と同等にするため、記憶制御システムと上位装置との間のI/O処理性能が低下してしまう。また、例えば、ボリュームコピーの取得或いはミラー再同期化を行う場合にも、ATAディスク装置の性能がボトルネックとなってしまう。
このような問題点は、データの書込み先記憶デバイスについて、信頼性や性能以外の属性レベルが低い場合にも起こり得る。
従って、本発明の目的は、属性レベルの異なる複数の記憶デバイスのうちの属性レベルの低い記憶デバイスの影響を受けにくくすることにある。具体的には、例えば、高性能の記憶デバイスから低性能の記憶デバイスにデータをコピーする場合にコピー処理速度が低下してしまうことを抑えることにある。
本発明の他の目的は、後の記載から明らかになるであろう。
本発明の第1の観点に従う記憶制御システムは、属性レベルの異なる複数の物理記憶デバイスと、前記複数の物理記憶デバイス上に備えられる複数の論理ユニットと、外部装置から受信したデータを前記複数の論理ユニットの中から選択された論理ユニットに書込む制御装置とを備える。前記複数の論理ユニットは、高い属性レベルの物理記憶デバイス上に備えられる1以上の高レベル論理ユニットと、前記高い属性レベルよりも低い属性レベルの物理記憶デバイス上に備えられる1以上の低レベル論理ユニットとを含む。前記複数の論理ユニットの各々は、2以上のチャンクから構成されている。前記複数の論理ユニットを構成する複数のチャンクには、前記1以上の高レベル論理ユニットを構成する複数の高レベルチャンクと、前記1以上の低レベル論理ユニットを構成する複数の低レベルチャンクとが含まれている。前記複数の高レベルチャンクの少なくとも1つと、前記複数の前記複数の低レベルチャンクの少なくとも1つが、動的に対応付けられることが可能なプールチャンクである。前記制御装置は、前記複数のチャンクの中から選択された第1のチャンク内のデータを第2のチャンクに書込む場合、前記複数のチャンクの使用状況に基づいて、複数の前記プールチャンクの中から高レベルチャンクと低レベルチャンクのいずれかを選択し、選択したチャンクに前記第1チャンク内のデータを書込む。
本発明の第1の観点に従う記憶制御システムの第1の実施態様では、記憶制御システムは、前記複数の論理ユニットの中から選択された1以上の前記高レベル論理ユニットから構成されるプライマリボリュームと、前記複数の論理ユニットの中から選択された1以上の前記高レベル論理ユニット及び1以上の前記低レベル論理ユニットから構成されるセカンダリボリュームと、メモリとを更に備える。前記複数のチャンクには、前記複数のプールチャンクと、複数の割当済みチャンクとが含まれる。前記複数の割当済みチャンクには、前記プライマリボリュームを構成する複数のプライマリチャンクと、前記セカンダリボリュームを構成する複数のセカンダリチャンクとが含まれる。前記複数のセカンダリチャンクには、前記セカンダリボリューム内の前記高レベル論理ユニットを構成する複数の高レベルセカンダリチャンクと、前記セカンダリボリューム内の前記低レベル論理ユニットを構成する複数の低レベルセカンダリチャンクとが含まれる。前記メモリは、前記複数のプライマリチャンクのうちのどのプライマリチャンクに前記高レベルセカンダリチャンクと前記低レベルセカンダリチャンクとのどちらが対応付けられているかを記憶する。前記制御装置は、前記複数のチャンクの使用状況及び前記メモリに記憶されている情報に基づいて、前記複数のプライマリチャンクの中から選択されたプライマリチャンクに対応付けられている元のセカンダリチャンクに対し、前記複数のプールチャンクの中から選択された、前記セカンダリチャンクとは別の属性レベルを有する新たなセカンダリチャンクを対応付け、前記元のセカンダリチャンク内のデータを前記新たなセカンダリチャンク内に書込む。
本発明の第1の観点に従う記憶制御システムの第2の実施態様では、前記第1の実施態様において、前記制御装置は、前記元のセカンダリチャンク内のデータを前記新たなセカンダリチャンク内に書込んだ後、前記元のセカンダリチャンクと前記選択されたプライマリチャンクとの対応付け解除し、前記メモリ上で、前記選択されたプライマリチャンクに対して前記新たなセカンダリチャンクを対応付ける。
本発明の第1の観点に従う記憶制御システムの第3の実施態様では、前記第1の実施態様において、前記複数のチャンクの使用状況とは、前記セカンダリボリュームが提供する記憶容量を前記高レベルセカンダリボリューム又は前記低レベルセカンダリボリュームが占める割合である。
本発明の第1の観点に従う記憶制御システムの第4の実施態様では、前記第3の実施態様において、前記制御装置は、前記セカンダリボリュームが提供する記憶容量を複数の高レベルセカンダリチャンクが占める割合である高レベル割合の閾値が前記メモリに記録されている場合、前記高レベル割合の閾値よりも前記高レベル割合の方が多いならば、前記低レベルセカンダリチャンクを優先的に前記選択されたプライマリチャンクに対応付ける。或いは、前記制御装置は、前記セカンダリボリュームが提供する記憶容量を複数の低レベルセカンダリチャンクが占める割合である低レベル割合の閾値が前記メモリに記録されている場合、前記低レベル割合の閾値よりも前記低レベル割合の方が多い場合には、前記高レベルセカンダリチャンクを優先的に前記選択されたプライマリチャンクに対応付ける。
本発明の第1の観点に従う記憶制御システムの第5の実施態様では、前記第4の実施態様において、前記制御装置は、複数のプライマリチャンクの各々についてデータ更新回数を前記メモリに記録し、前記低レベルセカンダリチャンクを優先的に前記選択されたプライマリチャンクに対応付ける場合、前記メモリに記録されたデータ更新回数が少ないものほど優先的に前記プライマリチャンクを選択し、前記高レベルセカンダリチャンクを優先的に前記選択されたプライマリチャンクに対応付ける場合、データ更新回数が多いものほど優先的に前記プライマリチャンクを選択する。
本発明の第1の観点に従う記憶制御システムの第6の実施態様では、前記制御装置は、前記第1のチャンクのデータ更新回数の閾値が前記メモリに記録されている場合、前記データ更新回数の閾値よりも前記データ更新回数が多いならば、前記第1のチャンクに対して高レベルチャンクを対応付ける。
本発明の第1の観点に従う記憶制御システムの第7の実施態様では、前記第1の実施態様において、前記制御装置は、プライマリチャンクのデータ更新回数の閾値が前記メモリに記録されている場合、複数のプライマリチャンクの各々についてデータ更新回数を前記メモリに記録し、前記データ更新回数の閾値よりも前記選択されたプライマリチャンクのデータ更新回数が多く、且つ、前記選択されたプライマリチャンクに低レベルセカンダリチャンクが対応付けられたならば、前記低レベルセカンダリチャンクに対して高レベルチャンクを対応付ける。
本発明の第1の観点に従う記憶制御システムの第8の実施態様では、前記制御装置は、前記第1のチャンクのデータ更新回数の閾値が前記メモリに記録されている場合、前記データ更新回数の閾値よりも前記データ更新回数が少ないならば、前記第1のチャンクに対して低レベルチャンクを対応付ける。
本発明の第1の観点に従う記憶制御システムの第9の実施態様では、前記第1の実施態様において、前記制御装置は、プライマリチャンクのデータ更新回数の閾値が前記メモリに記録されている場合、複数のプライマリチャンクの各々についてデータ更新回数を前記メモリに記録し、前記データ更新回数の閾値よりも前記選択されたプライマリチャンクのデータ更新回数が多く、且つ、前記選択されたプライマリチャンクに低レベルセカンダリチャンクが対応付けられたならば、前記低レベルセカンダリチャンクに対して高レベルチャンクを対応付ける。
本発明の第1の観点に従う記憶制御システムの第9の実施態様では、前記第1の実施態様において、前記制御装置は、前記プライマリボリュームと同じ新たなプライマリボリュームを生成する場合、前記複数のプライマリチャンクの少なくとも1つに前記低レベルセカンダリチャンクが対応付けられていることが前記メモリから判別されたならば、前記低レベルセカンダリチャンクに対して、前記複数のプールチャンクの中から選択された高レベルチャンクを対応付け、前記低レベルセカンダリチャンク内のデータを前記対応付けた高レベルチャンクに書込み、前記対応付けた高レベルチャンクと、前記複数のプライマリチャンクのうちの1以上のプライマリチャンクにそれぞれ対応付けられている1以上の高レベルセカンダリチャンクとから構成される複数の高レベルチャンクの各々をプライマリチャンクとして前記メモリに設定する。
本発明の第2の観点に従う記憶制御方法は、属性レベルの異なる複数の物理記憶デバイスと、前記複数の物理記憶デバイス上に備えられる複数の論理ユニットとが備えられている場合の記憶制御方法である。前記複数の論理ユニットは、高い属性レベルの物理記憶デバイス上に備えられる1以上の高レベル論理ユニットと、前記高い属性レベルよりも低い属性レベルの物理記憶デバイス上に備えられる1以上の低レベル論理ユニットとを含む。前記複数の論理ユニットの各々は、2以上のチャンクから構成されている。前記複数の論理ユニットを構成する複数のチャンクには、前記1以上の高レベル論理ユニットを構成する複数の高レベルチャンクと、前記1以上の低レベル論理ユニットを構成する複数の低レベルチャンクとが含まれている。前記複数の高レベルチャンクの少なくとも1つと、前記複数の前記複数の低レベルチャンクの少なくとも1つが、動的に対応付けられることが可能なプールチャンクである。前記記憶制御方法は、前記複数のチャンクの中から選択された第1のチャンク内のデータを第2のチャンクに書込む場合、前記複数のチャンクの使用状況に基づいて、複数の前記プールチャンクの中から高レベルチャンクと低レベルチャンクのいずれかを選択するステップと、前記選択したチャンクに前記第1チャンク内のデータを書込むステップとを有する。
本発明の第2の観点に従う記憶制御方法の第1の実施態様では、前記複数の論理ユニットの中から選択された1以上の前記高レベル論理ユニットから構成されるプライマリボリュームと、前記複数の論理ユニットの中から選択された1以上の前記高レベル論理ユニット及び1以上の前記低レベル論理ユニットから構成されるセカンダリボリュームとが更に備えられている。前記複数のチャンクには、前記複数のプールチャンクと、複数の割当済みチャンクとが含まれる。前記複数の割当済みチャンクには、前記プライマリボリュームを構成する複数のプライマリチャンクと、前記セカンダリボリュームを構成する複数のセカンダリチャンクとが含まれる。前記複数のセカンダリチャンクには、前記セカンダリボリューム内の前記高レベル論理ユニットを構成する複数の高レベルセカンダリチャンクと、前記セカンダリボリューム内の前記低レベル論理ユニットを構成する複数の低レベルセカンダリチャンクとが含まれる。前記記憶制御方法は、前記複数のプライマリチャンクのうちのどのプライマリチャンクに前記高レベルセカンダリチャンクと前記低レベルセカンダリチャンクとのどちらが対応付けられているかを記憶するメモリと、前記複数のチャンクの使用状況とに基づいて、前記複数のプライマリチャンクの中から選択されたプライマリチャンクに対応付けられている元のセカンダリチャンクに対し、前記複数のプールチャンクの中から選択された、前記セカンダリチャンクとは別の属性レベルを有する新たなセカンダリチャンクを対応付けるステップと、前記元のセカンダリチャンク内のデータを前記新たなセカンダリチャンク内に書込むステップとを有する。
本発明の第2の観点に従う記憶制御方法の第2の実施態様では、前記第1の実施態様において、記憶制御方法は、前記元のセカンダリチャンク内のデータを前記新たなセカンダリチャンク内に書込んだ後、前記元のセカンダリチャンクと前記選択されたプライマリチャンクとの対応付け解除するステップと、前記メモリ上で、前記選択されたプライマリチャンクに対して前記新たなセカンダリチャンクを対応付けるステップとを有する。
本発明の第2の観点に従う記憶制御方法の第3の実施態様では、前記第1の実施態様において、前記複数のチャンクの使用状況とは、前記セカンダリボリュームが提供する記憶容量を前記高レベルセカンダリボリューム又は前記低レベルセカンダリボリュームが占める割合である。
本発明の第2の観点に従う記憶制御方法の第4の実施態様では、記憶制御方法は、前記第1のチャンクのデータ更新回数の閾値が前記メモリに記録されている場合、前記データ更新回数の閾値よりも前記データ更新回数が多いならば、前記第1のチャンクに対して高レベルチャンクを対応付けるステップを更に有する。
本発明の第2の観点に従う記憶制御方法の第5の実施態様では、前記第1の実施態様において、前記記憶制御方法は、プライマリチャンクのデータ更新回数の閾値が前記メモリに記録されている場合、複数のプライマリチャンクの各々についてデータ更新回数を前記メモリに記録するステップと、前記データ更新回数の閾値よりも前記選択されたプライマリチャンクのデータ更新回数が多く、且つ、前記選択されたプライマリチャンクに低レベルセカンダリチャンクが対応付けられたならば、前記低レベルセカンダリチャンクに対して高レベルチャンクを対応付けるステップとを有する。
本発明の第2の観点に従う記憶制御方法の第6の実施態様では、前記記憶制御方法は、前記第1のチャンクのデータ更新回数の閾値が前記メモリに記録されている場合、前記データ更新回数の閾値よりも前記データ更新回数が少ないならば、前記第1のチャンクに対して低レベルチャンクを対応付けるステップを更に有する。
本発明の第2の観点に従う記憶制御方法の第7の実施態様では、前記第1の実施態様において、前記記憶制御方法は、プライマリチャンクのデータ更新回数の閾値が前記メモリに記録されている場合、複数のプライマリチャンクの各々についてデータ更新回数を前記メモリに記録するステップと、前記データ更新回数の閾値よりも前記選択されたプライマリチャンクのデータ更新回数が多く、且つ、前記選択されたプライマリチャンクに低レベルセカンダリチャンクが対応付けられたならば、前記低レベルセカンダリチャンクに対して高レベルチャンクを対応付けるステップとを有する。
本発明の第2の観点に従う記憶制御方法の第8の実施態様では、前記記憶制御方法は、前記プライマリボリュームと同じ新たなプライマリボリュームを生成する場合、前記複数のプライマリチャンクの少なくとも1つに前記低レベルセカンダリチャンクが対応付けられていることを前記メモリから判別するステップと、前記低レベルセカンダリチャンクに対して、前記複数のプールチャンクの中から選択された高レベルチャンクを対応付けるステップと、前記低レベルセカンダリチャンク内のデータを前記対応付けた高レベルチャンクに書込むステップと、前記対応付けた高レベルチャンクと、前記複数のプライマリチャンクのうちの1以上のプライマリチャンクにそれぞれ対応付けられている1以上の高レベルセカンダリチャンクとから構成される複数の高レベルチャンクの各々をプライマリチャンクとして前記メモリに設定するステップとを有する。
なお、上述した記憶制御方法は、例えば、単一の記憶制御システム内で行うこともできるし、複数のコンピュータが接続された通信ネットワーク上でも行うこともできる。また、上述したメモリは、例えば、単一のメモリであっても良いし、複数のメモリであっても良い。複数のメモリの場合、例えば、分散して配置されても良い。
本発明によれば、属性レベルの異なる複数の記憶デバイスのうちの属性レベルの低い記憶デバイスの影響を受けにくくなる。
本発明の一実施形態の概念の説明図である。 本発明の一実施形態に係る記憶制御システムの構成例を示す。 ボリュームコピーLU登録テーブル309の構成例を示す。 ボリュームコピー管理テーブルの構成例を示す。 設定値テーブル307の構成例を示す。 障害対応ボリュームコピー管理テーブルの構成例を示す。 ボリュームコピー取得プログラム302によって実行される処理の流れを示す。 更新頻度閾値入替えプログラム303によって実行される処理の流れを示す。 ディスク使用割合入替えプログラム304によって実行される処理の流れを示す。 障害切り替えプログラム305によって実行される処理の流れを示す。 図7のS1で行われるボリュームコピーのペア設定を説明するための図。 図7に示した処理流れにおいて、ボリュームコピー管理テーブル308に情報が登録される流れを説明するための図。 障害対応ボリュームコピー管理テーブル306の更新前と更新後の様子の一例を示す図。 LU管理テーブル911の構成例を示す。
以下、図面を参照して、本発明の一実施形態について説明する。
図1は、本実施形態の概念の説明図である。まず、図1を参照して、本実施形態の概念について説明する。
図1(A)に示すように、本実施形態では、信頼性及び性能のうちの少なくとも1つの属性レベルが異なる複数の記憶デバイスが混在している。複数の記憶デバイスには、例えば、属性レベルの高い記憶デバイスとして、高信頼性及び高性能のディスク装置である1以上のファイバチャネルディスク装置(以下、「FCディスク装置」と言う)201が含まれている。また、属性レベルの低い記憶デバイスとして、低信頼性及び低性能であるがFCディスク装置201よりも安価である1以上のシリアルATAディスク装置(以下、「SATAディスク装置」と言う)203が含まれている。なお、本実施形態において、「信頼性」とは、例えば、データを破損することなく保持することができる耐久性や、故障が発生する確率等であり、具体的には、例えば、MTBF(Mean Time Between Failure)のことを言う。また、「性能」とは、例えば、データの転送レートの大きさや、応答速度の速さのことである。
1以上のFCディスク装置201及び1以上のSATAディスク装置203上には、それぞれ、複数の論理ユニット(以下、LU)が備えられる。各LUは、複数の同一サイズのサブLU(以下、「chunk」と言う)から構成されている。以下、FCディスク装置201上に備えられるLU205を、「FC-LU」と称し、SATAディスク装置203上に備えられるLU207を、「SATA-LU」と称する。また、FC-LU205を構成するchunkを「FC-chunk」と称し、FC-LU206を構成するchunkを「SATA-chunk」と称する。なお、図1では、FC-chunkを白抜きで表し、SATA-chunkをハッチングで表す。
本実施形態では、1以上のLUによって、1つの仮想LUが構成される。仮想LUは、論理ボリュームとも言う。本実施形態では、仮想LUとして、例えば、プライマリボリューム(以下PVOL)204と、セカンダリボリューム(以下SVOL)206とがあるPVOL204は、1以上のFC-LU205から構成される。一方SVOL206は、1以上のFC-LU205のみから構成されても良いし、1以上のSATA-LU207のみから構成されても良いし、FC-LU205とSATA-LU207との組み合わせから構成されても良い。以下、PVOL204を構成するFC-LU205を、「PVOL-FC-LU205」と称しPVOL204を構成するFC-chunkを、「PVOL-FC-chunk」と称する。また、SVOL206を構成するFC-LU205を、「SVOL-FC-LU205」と称し、SVOL206を構成するSATA-LU207を、「SVOL-SATA-LU207」と称し、SVOL206を構成するFC-chunkを、「SVOL-FC-chunk」と称し、SVOL206を構成するSATA-chunkを、「SVOL-SATA-chunk」と称する。更に、SVOL-FC-chunk及びSVOL-SATA-chunkを単に「SVOL-chunk」と総称する場合もある。
本実施形態では、記憶制御システムは、PVOL204とSVOL206とを二重化して管理することができ、その場合、例えばホスト装置からのデータをPVOL204に書込む場合、同一のデータをSVOL206に書込むことができる。具体的には、記憶制御システムは、PVOL-FC-chunkと、SVOL-FC-chunk又はSVOL-SATA-chunkとを二重化して管理し、或るPVOL-FC-chunkにサブデータ(データの一構成要素)を書き込む場合、二重化されたSVOL-FC-chunk又はSVOL-SATA-chunkにも同じサブデータを書き込む。以下、PVOL204とSVOL206に同じデータを格納することを「ミラーリング」と呼び、PVOL204とSVOL206のペアのことを「ボリュームペア」と呼び、PVOL-FC-chunkとSVOL-FC-chunk又はSVOL-SATA-chunkとのペアのことを「chunkペア」と呼ぶ。
また、本実施形態では、PVOL-FC-chunk、SVOL-FC-chunk及びSVOL-SATA-chunkの他に、PVOL204及びSVOL206のいずれにも属していない複数のプールchunkから構成されたプールchunkグループ208が存在する。プールchunkグループ208を構成する複数のプールchunkには、FC-chunkである「プールFC-chunk」と、SATA-chunkである「プールSATA-chunk」とが含まれている。記憶制御システムは、プールchunkグループ208の中からプールchunkを選択してSVOL-chunkに割当て、そのSVOL-chunk内のサブデータを、選択されたプールchunkにコピーし、そのプールchunkをSVOL-chunkとし、サブデータのコピー元となったSVOL-chunkをプールchunkにすることで、プールchunkとSVOL-chunkとを交換することができる。なお、どのSVOL-chunkにどのようなプールchunkを割当てるかは、種々の観点、例えば、そのSVOL-chunkのchunkペア相手であるPVOL-chunk内のサブデータ更新頻度が幾つかに基づいて行うことができる。
具体的には、例えば、図1(A)に示すように、PVOL-FC-chunk「#2」とSVOL-FC-chunk「#2」によってchunkペアが構成されている場合において、PVOL-FC-chunk「#2」内のサブデータの更新頻度が所定閾値よりも低いことが検出されたならば、記憶制御システムは、プールchunkグループ205の中からプールSATA-chunk(例えば「#51」)を選択し、SVOL-FC-chunk「#2」内のサブデータBを、選択したプールSATA-chunk「#51」にコピーする。そして、記憶制御システムは、図1(B)に示すように、プールSATA-chunk「#51」を、SVOL-FC-chunk「#2」の代わりにSVOL-FC-chunk「#51」とし、逆に、SVOL-FC-chunk「#2」をプールSATA-chunk「#51」の代わりにプールSATA-chunk「#2」とする。このように、サブデータの更新頻度が所定閾値よりも低いPVOL-FC-chunkのchunkペア相手がSVOL-FC-chunkであることが検出された場合には、そのPVOL-FC-chunkのchunkペア相手は、SVOL-FC-chunkからプールSATA-chunkに切替えられる(なお、切替え後、そのプールSATA-chunkはSVOL-SATA-chunkとなる)。
また、例えば、図1(A)に示すように、PVOL-FC-chunk「#8」とSVOL-SATA-chunk「#4」によってchunkペアが構成されている場合において、PVOL-FC-chunk「#8」内のサブデータの更新頻度が所定閾値よりも高いことが検出されたならば、記憶制御システムは、プールchunkグループ205の中からプールFC-chunk(例えば「#53」)を選択し、SVOL-SATA-chunk「#4」内のサブデータHを、選択したプールFC-chunk「#53」にコピーする。そして、記憶制御システムは、図1(B)に示すように、プールFC-chunk「#53」を、SVOL-SATA-chunk「#4」の代わりにSVOL-FC-chunk「#53」とし、逆に、SVOL-SATA-chunk「#4」をプールFC-chunk「#53」の代わりにプールSATA-chunk「#4」とする。このように、サブデータの更新頻度が所定閾値よりも高いPVOL-FC-chunkのchunkペア相手がSVOL-SATA-chunkであることが検出された場合には、そのPVOL-FC-chunkのchunkペア相手は、SVOL-SATA-chunkからプールFC-chunkに切替えられる(なお、切替え後、そのプールFC-chunkはSVOL-FC-chunkとなる)。
以上が、本実施形態の概念についての説明である。なお、以下の説明では、PVOL204を構成する1以上のFC-LU205や、SVOL206を構成する1以上のFC-LU205及びSATA-LU207は、同一の記憶制御システム内に存在するものとするが、複数の装置に分散して備えられていても良い。
以下、本実施形態について詳述する。
図2は、本実施形態に係る記憶制御システムの構成例を示す。
記憶制御システム200は、1又は複数のファイバチャネルインターフェース装置(以下、ファイバI/F)290A、290Bを備えている(勿論FCのインターフェース装置に限らず他のインターフェース装置であっても良い)。例えば、ファイバI/F290Aには、パーソナルコンピュータ等のホスト装置100が接続されても良いし、ファイバI/F290Bには、テープ装置(例えば磁気テープ記録装置)500を有するバックアップサーバ400が接続されても良い。バックアップサーバ400は、ファイバI/F290Bを介してSVOL206内のデータを読出し、そのデータをテープ装置500に書き込むことができる。なお、バックアップ中にSVOL206内のデータが更新されるとデータの整合性がとれなくなるため、記憶制御システム200は、ミラーリングの最中には、バックアップサーバ400によるバックアップを許可しない。バックアップを許可する場合としては、例えば、ホスト装置100からPVOL204へのデータ更新は許可するが同じデータ更新をSVOL206には行わない非ミラーリングの状態中がある。
記憶制御システム200は、例えばLANコントローラ等の管理インターフェース(以下、管理I/F)240を有する。管理I/F240には、記憶制御システム200を管理するための管理端末600が接続される。
記憶制御システム200は、複数のディスク装置201、203と、複数のディスク装置201、203を制御するディスクコントローラ250と、外部装置(例えばホスト装置100)とディスク装置201、203との間でやり取りされるデータを一時的に記憶するキャッシュメモリ230と、記憶制御システム200の動作を制御するCPU210と、CPU210に読込まれるコンピュータプログラムやCPU210に参照されるテーブル等の制御情報が格納される制御メモリ220とが備えられる。
複数のディスク装置201、203には、1以上のFCディスク装置201と、1以上のSATAディスク装置203とが含まれている。1以上のFCディスク装置201には、前述したように、複数のFC-LU205が備えられている。各FC-LU205は、PVOL204の構成要素にもなるし、SVOL206の構成要素になることもできる。一方、1以上のSATAディスク装置203には、前述したように、1以上のSATA-LU207が備えられている。SATA-LU207は、SVOL206の構成要素になることができる。図示の例では、1つのFC-LU205によってPVOL204が構成され、1つのFC-LU205と1つのSATA-LU207とによってSVOL206が構成されている。
制御メモリ220には、基本制御プログラム301、ボリュームコピー取得プログラム302、更新頻度閾値入替えプログラム303、ディスク使用割合入替えプログラム304、障害切り替えプログラム305、ボリュームコピーLU登録テーブル309、ボリュームコピー管理テーブル308、設定値テーブル307、障害対応ボリュームコピー管理テーブル306及びLU管理テーブル911が格納されている。
基本制御プログラム301は、記憶制御システム200の基本的な動作を制御するためのコンピュータプログラムである。例えば、基本制御プログラム301は、ホスト装置100からのI/O要求に従って、LU205、206A又は206Bからデータを読み出しキャッシュメモリ230を介してホスト装置100に送信したり、そのI/O要求に含まれているデータを第1LU205に格納したりする。
ボリュームコピー取得プログラム302は、ボリュームコピー取得を実施するためのコンピュータプログラムである。
更新頻度閾値入替えプログラム303は、PVOL-FC-chunkの更新頻度が所定の更新頻度閾値以上か否かに基づいて、PVOL-FC-chunkに対応付けられたSVOLchunkのデータ入替え相手とするchunkの種類(別の言い方をすれば、プールFC-chunkとプールSATA-chunkのいずれか)を選択する。
ディスク使用割合入替えプログラム304は、SVOL206内におけるSVOL-FC-chunk(又はSVOL-SATA-chunk)の割合が所定の割合以上か否かに基づいて、SVOL-chunk内のサブデータのコピー先とするchunkの種類(別の言い方をすれば、プールFC-chunkとプールSATA-chunkのいずれか)を選択する。
障害切り替えプログラム305は、PVOL204に障害が発生した場合(例えばPVOL-FC-LUを有するFCディスク装置が破損した場合)、PVOL-FC-chunkに対応したSVOL-FC−chunkを、PVOL-FC-chunkに切替える。また、障害切り替えプログラム305は、PVOL204に障害が発生した場合、PVOL-FC-chunkに対応したSVOL-SATA−chunkがSVOL207内に存在するならば、そのSVOL-SATA−chunk内のサブデータを、プールchunkグループ208の中から選択されたプールFC−chunkに移動し、そのプールFC−chunkをPVOL-FC-chunkに切替える。このようにして、障害切り替えプログラム305は、PVOL204に障害が発生した場合、PVOL-FC-chunkに対応したSVOL-FC−chunkと、PVOL-FC-chunkに対応するSVOL-SATA−chunkに割当てられたプールFC-chunkとによって、新たなPVOLを構成する。
以下、図3〜図6を参照して、制御メモリ220に格納される各テーブル309〜306及び911について説明する。
図3は、ボリュームコピーLU登録テーブル309の構成例を示す。
ボリュームコピーLU登録テーブル309には、記憶制御システム200内の複数のLUに関する情報が登録されるテーブルである。具体的には、例えば、ボリュームコピーLU登録テーブル309には、複数のLUの各々について、ペア番号、外部用LU番号、内部用LU番号、LU容量、ディスク種類、PVOL/SVOL情報及びアクセス属性が登録される。
ペア番号とは、ボリュームペアの識別番号である。
外部用LU番号とは、ホスト装置等の外部装置から受けるLU番号である。外部用LU番号は、2以上のLUを1つの論理ボリュームとして外部装置に提供したい場合には、それら2以上のLUに対して同一の番号となる。図示の例で言えば、外部装置からLU番号として「2」が指定された場合、内部用LU番号が「2」のLUと、内部用LU番号が「3」のLUとが1つのSVOL206として外部装置に提供されることになる。
内部用LU番号とは、記憶制御システム200が認識し管理するLU番号である。この実施形態では、例えば、内部用LU番号が「1」のLUはPVOL-FC-LU205であり、内部用LU番号が「2」のLUはSVOL-FC-LU205であり、内部用LU番号が「3」のLUはSVOL-SATA-LU207である。
LU容量とは、LUの記憶容量である。
ディスク種類とは、対応するLUを備えたディスク装置の種類(例えばインターフェース)を表す。具体的には、例えば、ディスク種類とは、FCディスク装置かSATAディスク装置かを表す。
PVOL/SVOL情報とは、対応するLUがPVOLとSVOLのどちらを構成するのかを表す情報である。
アクセス属性とは、対応するLUにどのようなアクセスを許可するかを表す情報である。例えば、「R/W可」は、読み出し及び書込みの両方が許可されることを意味し、「Rのみ可」は、読み出しは許可されるが書き込みは禁止されることを意味し、図示しない「Wのみ可」は、書込みは許可されるが読出しは禁止されることを意味し、図示しない「R/W不可」は、読出しも書き込みも禁止されることを意味する。アクセス属性には、様々な種類を採用することができる。
図14は、LU管理テーブル911の構成例を示す。
LU管理テーブル911には、記憶制御システム200に存在する複数のLUにそれぞれ対応した複数のLU情報が登録されている。LU情報には、例えば、内部用LU#(番号)、LU容量、ディスク種類、選択可否情報及びプールchunk#等のLU情報要素が含まれている。ここで、選択可否情報とは、ボリュームコピーのペアを設定する際に選択可能か否かを表す情報である(ちなみに、「ボリュームコピー」とは、ある時点でのデータの記憶イメージのことである)。また、プールchunk#とは、どのようなchunkとして使用されるかが未だ決まっておらず動的に割当可能な状態のchunk(つまりプールchunk)の番号である。
図4は、ボリュームコピー管理テーブルの構成例を示す。
ボリュームコピー管理テーブル308は、オリジナルデータ及びボリュームコピーに関する情報を管理するためのテーブルである。ボリュームコピー管理テーブル308は、左列、中列、及び右列の3つに大別される。
左列には、オリジナルデータを格納するPVOL204に関する情報が登録される。具体的には、例えば、左列には、PVOL204を構成する各chunk毎に、LU#、chunk#及び更新頻度が登録される。LU#は、対応するchunkを有し、PVOLとして登録されているLUの内部用LU番号である。chunk#は、そのLU内での付与されたchunkの通し番号である。例えば、chunk#の最小値は1、chunk#の最大値は、対応するchunkを有するLUのLU容量をchunkサイズで割って得られた商の値(余りが生じたら商に1を加えた値)である。更新頻度は、対応するchunkに格納されているサブデータが更新された回数であり、初期値は0である。更新頻度は、例えばCPU210によって、インクリメントされたりリセットされたりする。
中列には、ボリュームコピーを格納するSVOL206に関する情報が登録される。具体的には、例えば、中列には、SVOL206を構成する各chunk毎に、ディスク種類、LU#、及びchunk#が登録される。ディスク種類は、対応するchunkを有するLUを搭載したディスク装置の種類(例えばインターフェース種類)である。LU#は、対応するchunkを有し、SVOLとして登録されているLUの内部用LU番号である。chunk#は、そのLU内での付与されたchunkの通し番号である。この中列の各行は、左列の各行に対応している。すなわち、左列の行には、PVOL-FC-chunkに関する情報が登録されており、中列の行には、SVOL-chunk(具体的には、SVOL-FC-chunkとSVOL-SATA-chunkのいずれか)に関する情報が登録されている。
右列には、入替え相手chunkに関する情報が登録される。ここで、「入替え相手chunk」とは、それに対応するSVOL-chunk内のサブデータの入替え先(換言すれば移動先)となるchunkである。この右列には、各入替え相手chunk毎に、ディスク種類、LU#、及びchunk#が登録される。なお、入替え相手chunkとしては、未だどのchunkとして使用されことが決まっていないプールchunkを割当てることができる。また、空欄は、SVOL-chunkに入替え相手chunkがいないことを意味する。
このボリュームコピー管理テーブル308を参照するCPU210は、以下のことを識別することができる。すなわち、例えば、LU#「1」でchunk#が「1」であるPVOL-FC-chunkには、LU#「2」でchunk#が「1」であるFC−chunkがSVOL-chunkとして対応付けられていることを識別することができる。そして、そのSVOL-chunkには、LU#「3」でchunk#「5」であるプールSATA−chunkが入替え相手chunkとして対応付けられていることも識別することができる。
以上が、ボリュームコピー管理テーブル308の構成例である。なお、ボリュームコピー管理テーブル308では、1つのPVOL-FC-chunkに対して複数のSVOL-chunkが対応付けられていても良いし、1つのSVOL-chunkに対して複数の入替え相手chunkが対応付けられていても良い。
図5は、設定値テーブル307の構成例を示す。
設定値テーブル307には、例えば、管理端末600から情報を入力して登録することができる。設定値テーブル307には、例えば、chunkサイズ、入替周期、更新頻度閾値及びディスク割合閾値が登録される。
chunkサイズは、LUを何バイト毎に分割してchunkに区切るかを示す値である。
入替周期は、SVOL-chunkに格納されたデータを、更新頻度閾値或いはディスク割合閾値に基づいて、プールFC-chunkもしくはプールSATA-chunkに入れ替えるためのスケジュールを示すための値(例えば、1週間単位であれば「weekly」)である。
更新頻度閾値は、PVOL-FC-chunkに対応したSVOL-chunk内のサブデータをプールchunkに格納するか否かを決定するための閾値である。この更新頻度閾値は、外部装置からのライトコマンドによってPVOL-FC-chunk内のサブデータが上述した入替周期中に更新された回数(つまり、ボリュームコピー管理テーブル308に記録されている更新頻度)と比較される数値である。
ディスク割合閾値は、1以上のSVOL-FC−chunkで構成される記憶容量(以下、SVOL-FC記憶容量)のSVOL206全体における割合の閾値である。具体的には、例えば、ディスク割合閾値が「0.3」となっている場合には、SVOL-FC記憶容量が、SVOL206全体において0.3(つまり30%)であり、1以上のSVOL-SATA−chunkで構成される記憶容量(以下、SVOL-SATA記憶容量)が、SVOL206全体において残りの0.7(つまり70%)であることを意味する。
なお、複数のペア番号(換言すれば、複数のボリュームペア)にそれぞれ対応した複数の設定値テーブルが備えられても良い。この場合、記憶制御システム200のCPU210は、各ペア番号に対応した設定値テーブルを参照して制御を行っても良い。これにより、制御の柔軟性が高くなる。
図6は、障害対応ボリュームコピー管理テーブルの構成例を示す。
障害対応ボリュームコピー管理テーブル306は、PVOL204で障害が発生した場合に、PVOL204内のどのPVOL-FC-chunkに対応付けられたFC-chunkをPVOL-FC-chunkに切替えるかを管理するためのテーブルである。障害対応ボリュームコピー管理テーブル306は、ボリュームコピー管理テーブル308と同様に、左列、中列、及び右列の3つに大別される。左列は、更新頻度が登録されないことを除いて、ボリュームコピー管理テーブル308の左列と同様の構成である。中列は、ボリュームコピー管理テーブル308の中列と同様の構成である。
右列には、障害対応移動先chunkに関する情報が登録される。ここで、「障害対応移動先chunk」とは、SVOL-chunk内のサブデータの移動先としてプールchunkグループ208の中から選択されたchunkである。この右列には、各障害対応移動先chunk毎に、ディスク種類、LU#、及びchunk#が登録される。図6から分かるように、障害対応移動先chunkは、本実施形態では、FC-chunkであり、その障害対応移動先chunkに対応付けられるSVOL-chunkはSVOL-SATA-chunkである。これにより、PVOL204で障害が発生した際、PVOL-FC-chunk内のサブデータのコピーがSVOL-SATA-chunkに存在する場合には、そのSVOL-SATA-chunk内のサブデータは、そのSVOL-SATA-chunkに対応付けられたFC-chunk(つまり、高信頼性・高性能のディスク装置であるFCディスク装置上の空きchunk)に移動される。なお、空欄は、SVOL-chunkに障害対応移動先chunkが対応付けられていないことを意味する。
以上が、制御メモリ220に格納される各テーブル309〜306及び911についての説明である。
以下、上述したテーブル309〜306及び911を参照して本実施形態で行われる処理流れを説明する。
図7は、CPU210に読み込まれたボリュームコピー取得プログラム302によって実行される処理の流れを示す。
ボリュームコピー取得プログラム302は、ボリュームコピーのペアを設定する(ステップS1)。この場合、例えば、図11に示すような流れで、ボリュームコピーLU登録テーブル309に情報が登録される。
例えば、ボリュームコピー取得プログラム302は、例えば管理端末600のディスプレイ画面に、コピーペア設定画面912を表示させる。コピーペア設定画面912は、PVOL204を構成するPVOL-LUのLU#(内部用LU番号)と、SVOLを構成する複数のSVOL-LU(1以上のFC-LU及び1以上のSATA-LU)のLU#とを入力するようになっている。このコピーペア設定画面912に、ボリュームコピーLU登録テーブル309に登録されていない複数のLU(つまり、LU管理テーブル911において選択可になっているLU)の中からPVOL-FC-LU(PVOL204を構成するFC-LU)、SVOL-FC-LU(SVOL206を構成するFC-LU)、及びSVOL-SATA-LU(SVOL206を構成するSATA-LU)が選択されてそれぞれのLU#が入力されたならば、ボリュームコピー取得プログラム302は、入力された各LU#を、ボリュームコピーLU登録テーブル309に書く。また、ボリュームコピー取得プログラム302は、入力されたLU#に対応する他のLU情報要素(例えばディスク種類)をLU管理テーブル911から取得し、取得したLU情報要素をボリュームコピーLU登録テーブル309に書く。これにより、例えば、PVOL-FC-LUとして内部用LU#「1」が入力され、SVOL-FC-LUとして内部用LU#「2」が入力され、SVOL-SATA-LUとして内部用LU#「3」が入力された場合、ボリュームコピー取得プログラム302は、LU管理テーブル911において、内部用LU#「1」〜「3」の各々に対応した選択可否情報を選択可から選択不可に切替え、且つ、図3に示したようなボリュームコピーLU登録テーブル309を構築する。
再び図7を参照して、S2以降について説明する。
ボリュームコピー取得プログラム302は、例えば管理端末600を介して、ユーザから、設定値テーブル307の値の入力を受付ける。種々の値(すなわち、chunkサイズ、入替周期、更新頻度閾値及びディスク割合閾値)が入力された場合、ボリュームコピー取得プログラム302は、入力された値を設定値テーブル307に登録する(S2)。
次に、ボリュームコピー取得プログラム302は、PVOL-FC-chunkをボリュームコピー管理テーブル308に登録する(S3)。この処理における具体例を、図12(A)を参照し説明する。すなわち、例えば、ボリュームコピー取得プログラム302は、ボリュームコピーLU登録テーブル309に設定されたPVOL-FC-LUについて、それのLU容量及び設定値テーブル307に登録されたchunkサイズを基にchunkの数を算出する。そして、ボリュームコピー取得プログラム302は、算出された数のchunkに、それぞれ、通し番号としてchunk#を割当て、割当てたchunk#と、そのPVOL-FC-LUのLU#とを、ボリュームコピーLU登録テーブル309に登録する。ボリュームコピー取得プログラム302は、各PVOL-FC-chunkの更新頻度には、初期値として0を入力する。なお、ボリュームコピー取得プログラム302は、ホスト装置100等の外部装置からのライトコマンドに従ってデータ更新が行われたならば、データ更新が行われたPVOL-FC-chunkに対応する更新頻度を1つ加算する。
次に、ボリュームコピー取得プログラム302は、SVOL-FC-chunkをボリュームコピー管理テーブル308に登録する(S4)。この処理における具体例を、図12(B)を参照し説明する。すなわち、例えば、ボリュームコピー取得プログラム302は、PVOL-FC-chunkを登録する場合と同様の方法で、PVOL-FC-LUのchunkの数を算出して各chunkにchunk#を割当て、割当てたchunk#と、そのSVOL-FC-LUのLU#とを、ボリュームコピーLU登録テーブル309に登録する。
なお、S4において、全てのPVOL-FC-chunkに対してSVOL-chunkが設定されたならば(S5でY)、ボリュームコピー取得プログラム302は、後述するS6〜S10の動作は行わず、S11へ移行する。
また、ボリュームコピー取得プログラム302は、S4において、少なくとも1つのPVOL-FC-chunkに対してSVOL-chunkが設定されておらず、且つ、SVOL-FC-chunkが未だPVOL-FC-chunkに対応付けられておらずに残っている場合には(S5でN及びS6でY)、残っているPVOL-FC−chunkに対し、S4の動作を実行する。
また、ボリュームコピー取得プログラム302は、S4において、少なくとも1つのPVOL-FC-chunkに対してSVOL-chunkが設定されておらず、且つ、SVOL-FC-chunkが残っていない場合には(S5でN及びS6でN)、SVOL-SATA-LUについて、SVOL-FC-LUの場合と同様に、chunkの数を算出して各chunkにchunk#を割当て、割当てたchunk#及びLU#をボリュームコピーLU登録テーブル309に登録する(S7)。その結果の一例を、図12(C)に示す。
なお、S7において、ボリュームコピー取得プログラム302は、全てのPVOL-FC-chunkに対してSVOL-chunkが設定された場合には(S8でY)、後述するS9〜S10の動作は行わず、S11へ移行する。
また、S7において、ボリュームコピー取得プログラム302は、少なくとも1つのPVOL-chunkに対してSVOL-chunkが設定されておらず、且つ、SVOL-SATA-chunkが未だPVOL-FC-chunkに対応付けられておらずに残っている場合には(S8でN及びS9でY)、S7に戻る。
また、S7において、ボリュームコピー取得プログラム302は、少なくとも1つのPVOL-FC-chunkに対してSVOL-chunkが設定されておらず、且つ、SVOL-SATA-chunkが残っていない場合には(S8でN及びS9でN)、SVOLのchunkが足りないということなので、SVOLにLUを追加することの警告を、例えば管理端末600に出力する(S10)。
S5でY又はS8でYの後、PVOLにデータが格納された場合、ボリュームコピー取得プログラム302は、ボリュームコピー管理テーブル308を参照して、PVOLのどのchunkにどのSVOLのどのchunkが対応付けられているかを判別し、PVOL-FC-chunk及びそれに対応付けられたSVOL-chunkにサブデータを格納する(S11)。具体的には、例えば、ボリュームコピー取得プログラム302は、キャッシュメモリ230に登録されているサブデータを二重化し、キャッシュメモリ230上の一方のサブデータをPVOL-FC-chunkに格納し、キャッシュメモリ230上の他方のサブデータを、そのPVOL-FC-chunkに対応付けられたSVOL-chunkに格納する。
S11の後、ボリュームコピー取得プログラム302は、任意のタイミングで、ボリュームコピーLU登録テーブル309において、SVOLを構成する各LUのアクセス属性を、R/W可(読出し及び書込みの両方を許可)に設定する(S12)。
なお、この処理において、PVOLには、ランダムライトアクセスによってデータが書き込まれても良いし、シーケンシャルライトアクセスによってデータが書き込まれても良い。例えば、ランダムライトアクセスの場合、ボリュームコピー取得プログラム302は、各PVOL-FC-chunk毎に対応したライトコマンドを受け、1つのライトコマンドを処理する都度に、PVOL-FC-chunk及びそれに対応付けられたSVOL-chunkにサブデータを格納する。一方、例えば、シーケンシャルライトアクセスの場合、ボリュームコピー取得プログラム302は、複数のPVOL-FC-chunk(例えば全てのPVOL-FC-chunk)に対応したライトコマンドを受け、1つのライトコマンドを処理する際に、chunk#の若い方から順に、複数のPVOL-FC-chunk及びそれらにそれぞれ対応した複数のSVOL-chunkにサブデータを書き込んでいく。
図8は、CPU210に読み込まれた更新頻度閾値入替えプログラム303によって実行される処理の流れを示す。
設定値テーブル307に登録された入替周期の時期になった場合(S21−A)、或いは、ユーザから所定端末(例えば管理端末600或いはホスト装置100)を介してデータ入替え指示が入力された場合(S21−B)、基本制御プログラム301が更新頻度閾値入替えプログラム303を起動する。
更新頻度閾値入替えプログラム303は、1以上のボリュームペアの中から選択されたボリュームペア(以下、対象ボリュームペア)が、非ミラーの状態であることが判別されたならば、ボリュームコピーLU登録テーブル309において、対象ボリュームペアのSVOLを構成する各LUのアクセス属性を更新不可(例えばRのみ可)に設定する。対象ボリュームペアがミラー状態にあった場合には、警告を出力する(S22)。なお、対象ボリュームペアが非ミラー状態かミラー状態かは、例えば、各ペア番号に対応した状態情報(ミラー状態か非ミラー状態かを表す情報)が登録されているペア管理テーブル914(例えば制御メモリ220に用意される)を参照することにより、判別することができる。また、ミラー状態とは、二重化されている状態。すなわち、PVOL内でデータが更新された場合にはPVOLからSVOLに更新後データがコピーされるようになっている状態(換言すれば、SVOLがPVOLに同期した状態)である。非ミラー状態とは、二重化が解除されている状態、すなわち、PVOL内でデータが更新されてもPVOLからSVOLに更新後データがコピーされないようになっている状態(換言すれば、SVOLがPVOLに非同期した状態)である。
さて、次に、更新頻度閾値入替えプログラム303は、ボリュームコピー管理テーブル308の最初の行に登録されているPVOLchunkの更新頻度と、設定値テーブル307に登録されている更新頻度閾値とを比較する(S23)。
S23において、更新頻度閾値入替えプログラム303は、PVOL-FC-chunkの更新頻度が更新頻度閾値以上であり(S23でY)、且つ、そのPVOL-FC-chunkのchunkペア相手のSVOL-chunkがFC-chunkであることがボリュームコピー管理テーブル308から判別された場合には(S24でY)、後述のS28に進む。
S23において、更新頻度閾値入替えプログラム303は、PVOL-FC-chunkの更新頻度が更新頻度閾値以上であり(S23でY)、且つ、そのPVOL-FC-chunkに対応したSVOL-chunkがFC-chunkでないことがボリュームコピー管理テーブル308から判別された場合には(S24でN)、複数のプールchunkの中からプールFC-chunkを選択し、選択されたプールFC-chunkのchunk#及びLU#を、上記FC-chunkでないSVOL-chunk(つまりSVOL-SATA-chunk)に対応付けて、ボリュームコピー管理テーブル308の右列(入替え相手chunkの列)に書込む(S25)。これにより、サブデータの更新頻度が更新頻度閾値以上であるPVOL-FC-chunkに対応付けられたSVOL-SATA-chunkに対し、データの入替え相手として、高信頼性・高性能のディスク装置上に存在するFC-chunkが対応付けられる。なお、SVOL-SATA-chunkに対応付けられるchunk#は、複数のプールchunkの中から選択されたことから分かるように、ボリュームコピー管理テーブル308上に登録されていないchunk#である。
S23において、更新頻度閾値入替えプログラム303は、PVOL-FC-chunkの更新頻度が更新頻度閾値未満であり(S23でN)、且つ、そのPVOL-FC-chunkに対応したSVOL-chunkがSATA-chunkであることがボリュームコピー管理テーブル308から判別された場合には(S26でY)、後述のS28に進む。
S23において、更新頻度閾値入替えプログラム303は、PVOL-FC-chunkの更新頻度が更新頻度閾値未満であり(S23でN)、且つ、そのPVOL-FC-chunkに対応したSVOL-chunkがSATA-chunkでないことがボリュームコピー管理テーブル308から判別された場合には(S26でN)、複数のプールchunkの中からSATA-chunkを選択し、選択されたSATA-chunkのchunk#及びLU#を、上記SATA-chunkでないSVOL-chunk(つまりSVOL-FC-chunk)に対応付けて、ボリュームコピー管理テーブル308の右列(入替え相手chunkの列)に書込む(S27)。これにより、サブデータの更新頻度が更新頻度閾値未満であるPVOL-FC-chunkに対応付けられたSVOL-FC-chunkに対し、データの入替え相手として、低頼性・低性能であるが安価であるディスク装置上に存在するSATA-chunkが対応付けられる。
なお、S24でY、S26でY、S25又はS27において、入替え先のchunkが存在しない場合(換言すれば、選択可能なプールchunkが存在しない場合)(S28でN)、入替え先のchunkのプールが不足しているので、更新頻度閾値入替えプログラム303は、SVOLにLUを追加するか閾値の変更を行うような警告を、例えば管理端末600又はホスト装置100に出力する(S29)。また、全てのchunkの確認を行わずとも、後述のS31〜S36までの処理が行われても良い。この場合、その処理の後に、S22以降の処理が行われても良い。
さて、S28において、入替え先chunkが足りている場合(S28でY)、更新頻度閾値入替えプログラム303は、全てのPVOL-FC-chunkについて、更新頻度と更新頻度閾値との比較処理を終えたかを判断する(S30)。
S30において、まだ比較処理が行われていないPVOL-FC-chunkがあれば(S30でN)、更新頻度閾値入替えプログラム303は、S23に戻り、次のPVOL-FC-chunkについて、S23〜S28の処理を行う。
一方、S30において、全てのPVOL-FC-chunkについて比較処理が終わっていると判断されたならば(S30でY)、更新頻度閾値入替えプログラム303は、ボリュームコピー管理テーブル308に登録されたchunk#を有する入替え先chunkに、それに対応付いたコピー先chunk内のデータを入れ替える処理を実行するべく、バックアップ等によってSVOLからデータの読み出しが行われているか否かを判断する(S31)。
S31において、SVOLからデータの読出中であった場合は(S31でY)、更新頻度閾値入替えプログラム303は、読み出しを行っているバックアップ等の操作を停止するか、入替えプログラムを停止するような警告を出力する(S32)。
一方、S31において、SVOLからデータの読出し中でない場合には(S31でN)、更新頻度閾値入替えプログラム303は、SVOLを構成する各LUのアクセス属性を読出し不可(例えばR/W不可)に設定する(S33)。
S33の後、更新頻度閾値入替えプログラム303は、ボリュームコピー管理テーブル308に基づいて、中列(SVOL欄)に登録されているchunk#を持つSVOL-chunk内のサブデータを、そのSVOL-chunkに対応付けられた入替え先chunkに移動させる(S34)。それが完了したならば、更新頻度閾値入替えプログラム303は、ボリュームコピー管理テーブル308において、その入替え先chunkの内容(ディスク種類、LU#及びchunk#)を、その入替え先chunkに対応するSVOL-chunkの内容に上書きし、且つ、右列(入替え相手chunk欄)から、上記入替え先chunkの内容を消去する(S35)。また、その場合、更新頻度閾値入替えプログラム303は、消去した入替え先chunkの内容(例えばchunk#)を、プールchunkの内容として、例えばLU管理テーブル911に登録しても良い。
S35の後、更新頻度閾値入替えプログラム303は、SVOLを構成する各LUのアクセス属性を読出し可(例えばRのみ可)に設定する(S36)。なお、S36の後、もし全てのPVOL-FC-chunkについて上記比較処理を行わずにS31以降を行っていた場合には、更新頻度閾値入替えプログラム303は、点線で示す通り、S3に戻る。
S36の後、更新頻度閾値入替えプログラム303は、ボリュームコピー管理テーブル308にお上の各vの更新頻度を、初期値に戻す(S37)。そして、更新頻度閾値入替えプログラム303は、SVOLを構成する各LUのアクセス属性を更新可(例えばR/W可)に設定する(S38)。
以上が、更新頻度閾値入替えプログラム303が行う処理流れである。
図9は、CPU210に読み込まれたディスク使用割合入替えプログラム304によって実行される処理の流れを示す。
設定値テーブル307に登録された入替周期の時期になった場合(S41−A)、或いは、ユーザから所定端末(例えば管理端末600或いはホスト装置100)を介してデータ入替え指示が入力された場合(S41−B)、基本制御プログラム301がディスク使用割合入替えプログラム304を起動する。
ディスク使用割合入替えプログラム304は、図8のS22と同様の方法で、ボリュームコピーLU登録テーブル309において、対象ボリュームペアのSVOLを構成する各LUのアクセス属性を更新不可(例えばRのみ可)に設定する(S42)。
次に、ディスク使用割合入替えプログラム304は、ボリュームコピー管理テーブル803上の複数の行を、データ更新頻度の降順(つまり高い順)にソートする(S43)。以下、ボリュームコピー管理テーブル803の行数をnとし、降順ソート後の行番号をiとし、降順ソート後のボリュームコピー管理テーブル803をP(i)とする。ディスク使用割合入替えプログラム304は、例えば、降順ソート後行番号iの若い順に(換言すれば、データ更新頻度の高い順に)、以下のS44以降の処理を行なう。
ディスク使用割合入替えプログラム304は、複数の降順ソート後行番号の中から1つの行番号iを選択し、選択した行番号iを行数nで割った値i/nと、設定値テーブル307に登録されているディスク割合閾値Tとを比較する(S44)。
S44の結果、i/nがT以上である場合、ディスク使用割合入替えプログラム304は、上記選択された行番号iのPVOL-FC-chunkに対応したSVOL-chunkはFC-chunkであるか否かを判別する(S45)。S45において、肯定的な判別結果が得られた場合(S45でY)、ディスク使用割合入替えプログラム304は、後述のS51の処理を行う。一方、S45において、否定的な判別結果が得られた場合(S45でN)、ディスク使用割合入替えプログラム304は、複数のプールchunkの中からFC-chunkを選択し、その選択したFC-chunkを、上記対応したSVOL-chunkの入替え相手chunkとしてP(i)に設定する(S46)。その際、複数のプールchunkの中に、選択可能なFC-chunkが存在しない場合には(S49でN)、ディスク使用割合入替えプログラム304は、選択可能なプールFC-chunkを増やすことの警告をユーザに出力し(S50)、そうでない場合は(S49でY)、S51を行なう。
S44の結果、i/nがT未満である場合、ディスク使用割合入替えプログラム304は、上記選択された行番号iのPVOL-FC-chunkに対応したSVOL-chunkはSATA-chunkであるか否かを判別する(S47)。S45において、肯定的な判別結果が得られた場合(S47でY)、ディスク使用割合入替えプログラム304は、後述のS51の処理を行う。一方、S47において、否定的な判別結果が得られた場合(S47でN)、ディスク使用割合入替えプログラム304は、複数のプールchunkの中からSATA-chunkを選択し、その選択したSATA-chunkを、上記対応したSVOL-chunkの入替え相手chunkとしてP(i)に設定する(S48)。その際、複数のプールchunkの中に、選択可能なSATA-chunkが存在しない場合には(S49でN)、ディスク使用割合入替えプログラム304は、選択可能なプールSATA-chunkを増やすことの警告をユーザに出力し(S50)、そうでない場合は(S49でY)、S51を行なう。
ディスク使用割合入替えプログラム304は、以上のS44〜S48の処理を、全ての行番号iについて行ない(S51でN)、全ての行番号iについて行ったのであれば(S51でY)、図8のS31〜S38と同様の処理を行う。
以上の処理流れによれば、PVOL-FC-chunk内のサブデータの更新頻度に応じて、そのPVOL-FC-chunkに対応したSVOL-chunkが適切な属性レベルのchunkでなければ、そのSVOL-chunk内のサブデータが適切な属性レベルの別のchunkに移されると共に、SVOL206におけるSVOL-FC記憶容量の割合(別の言い方をすれば、SVOL-SATA記憶容量の割合)がディスク割合閾値Tに調整される。
図10は、CPU210に読み込まれた障害切り替えプログラム305によって実行される処理の流れを示す。なお、以下の説明では、説明を分かり易くするために、障害発生時のPVOLを元PVOL、障害発生時のSVOLを元SVOL、障害切り替えプログラムにより作成されたPVOLおよびSVOLをそれぞれ新PVOLおよび新SVOLと呼ぶ。また、以下の説明では、ホスト装置100からライト対象データを受けて元PVOLに書込んでいる最中に元PVOLで障害が発生したものとする。
元PVOLで障害が発生した場合(S61)、基本制御プログラム301が、それを検出して、障害切り替えプログラム305を起動する。
障害切り替えプログラム305は、障害が発生した元PVOLを構成する各LUのアクセス属性として読み出し不可(例えばR/W不可)をボリュームコピーLU登録テーブル309に設定する(S62)。また、障害切り替えプログラム305は、元PVOLに対するホスト装置100からのライト対象データを、キャッシュメモリ230又は別のLUに保存する(S63)。
次に、障害切り替えプログラム305は、複数のプールchunkの中からFC-chunkを選択し、選択されたFC-chunkのchunk#及びLU#を、元SVOL-SATA-chunkに対応付けて、障害対応管理テーブル306の右列(障害対応移動先chunk欄)に書込む(S64)。なお、その際、割当て可能なFC-chunkが不足してなければ(S65でY)、障害切り替えプログラム305は、後述のS67を行い、一方、割当て可能なFC-chunkが複数のプールchunk内に存在しない場合には、FC-LUが不足している旨の警告を出力する(S65でN及びS66)。
S67では、障害切り替えプログラム305は、障害対応ボリュームコピー管理テーブル306に基づいて、中列(SVOL欄)に登録されているchunk#を持つ元SVOL-SATA-chunk内のサブデータを、その元SVOL-SATA-chunkに対応付けられた入替え先chunk(FC-chunk)に移動させる(S67)。
次に、障害切り替えプログラム305は、障害対応ボリュームコピー管理テーブル306において、入替え先chunkの内容(LU#及びchunk#)を、その入替え先chunkに対応する元PVOL-FC-chunkの内容に上書きし、入替え先chunkの内容の内容を消去する。また、障害切り替えプログラム305は、入替え先chunkが存在しない元PVOL-FC-chunkについては、元SVOL-FC-chunkの内容(LU#及びchunk#)を、元PVOL-FC-chunkの内容に上書きし、その元SVOL-FC-chunkの内容を消去する(S68)。このような処理によって、元PVOLに障害が発生した場合、元PVOL-FC-chunkに対応した元SVOL-chunkがFC-chunkであれば、その元SVOL-chunkがそのまま新PVOL-chunkに切り替わる。そして、元PVOL-chunkに対応した元SVOL-chunkがSATA-chunkであれば、複数のプールchunkの中から選択されたFC-chunkがそのSATA-chunkに対応付けられて、選択されたFC-chunkが新PVOL-chunkに切り替わる。この結果、障害対応ボリュームコピー管理テーブル306の左列(オリジナルデータ欄)に登録されていた複数の元PVOL-chunkの各々が、元SVOL-FC-chunk又は上記選択されたFC-chunkに切替えられて、元SVOL-FC-chunkや上記選択されたFC-chunkで構成された新PVOLが生成される。なお、障害対応ボリュームコピー管理テーブル306の更新前の様子を図13(A)に示し、そのテーブル306の更新後の様子を図13(B)に示す。
S68のテーブル更新処理によって、複数の元SVOL-chunkのうちFC-chunkであるものは、全て新PVOL-FC-chunkに切り替わったので、その分の新SVOL-chunkが必要になる。そこで、障害切り替えプログラム305は、例えば、複数のプールchunkの中から、必要な数だけのFC-chunkを選択し、選択されたFC-chunkを、新SVOL-chunkとして、障害対応ボリュームコピー管理テーブル306やボリュームコピー管理テーブル308の中列に登録する。そして、障害切り替えプログラム305は、元SVOL-chunkであったFC-chunk内のデータを、新SVOL-chunkにコピーする(S69)。
その後、障害切り替えプログラム305は、S63で保存したライト対象データを、新PVOLに書込む。また、障害切り替えプログラム305は、例えばホスト装置100から所定の照会コマンド(例えばSCSIプロトコルに基づくInquiryコマンド)を受信した場合に、新PVOLに関する情報(例えば、外部用LU番号及び記憶容量等)をホスト装置100に提供する(S69)。それにより、ホスト装置100は、新PVOLを認識することができる。
以上が、障害切り替えプログラム305によって行われる処理の流れである。なお、上述のS68の際、障害切り替えプログラム305は、ボリュームコピー管理テーブル308の内容も同様に更新しても良い。また、新PVOL-chunkに切替えられた元SVOL-chunkの内容は、障害対応ボリュームコピー管理テーブル306やボリュームコピー管理テーブル308から消去しても良い。
以上、上述した実施形態によれば、記憶制御システム200上に存在する複数のLUの各々が、複数のchunkに分割される。また、PVOLはFC-chunkのみで構成されるが、SVOLは、FC-chunkとSATA-chunkの両方で構成される。そして、複数のSVOL-chunkの各々には、複数のプールchunkの中から選択されたFC-chunkとSATA-chunkのいずれかが動的に対応付けられる。対応付けられるchunkの種類は、PVOLへのデータの書込み状況に基づいて切替えられる。具体的には、例えば、データの更新頻度が高いPVOL-FC-chunkに対応したSVOL-SATA-chunkには、高信頼性及び高性能であるFCディスク装置上に存在するFC-chunkが対応付けられ、一方、データの更新頻度が低いPVOL-FC-chunkに対応したSVOL-FC-chunkには、低信頼性及び低性能であるが安価であるSATAディスク装置上に存在するSATA-chunkが対応付けられる。これにより、低信頼性及び低性能のディスク装置によるコピー処理が低速になることとコストの両方を抑えることができる。
また、上述した実施形態によれば、SVOLにおけるSVOL-FC記憶容量割合(換言すればSVOL-SATA記憶容量割合)が、予め設定したディスク割合閾値になるように自動的に調節される。これにより、ユーザが定期的にわざわざ面倒な設定を行わなくても、SVOLにおけるFC記憶容量割合はユーザ所望の割合になる。
また、上述した実施形態によれば、SVOL-FC記憶容量割合の調節は、更新頻度の高いPVOL-FC-chunkに対応したSVOL-chunk順に行なわれる。これにより、効率的に、FC記憶容量割合の調節が行われる。
また、上述した実施形態によれば、元PVOLで障害が発生した場合、元PVOL-chunkに対応付けられているchunkがSATA-chunkであっても、そのSATA-chunk内のデータは、複数のプールchunkの中から選択されたFC-chunkに移動され、そのFC-chunkが新PVOL-chunkに切り替わる。これにより、元PVOL-chunkに対応付けられているchunkの種類に関わらず、新PVOLを構成する新PVOL-chunkをFC-chunkにすることができる。
以上、本発明の実施形態を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこの実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。例えば、上述した実施形態は、信頼性や性能以外の属性レベルの記憶デバイスに対しても適用することができる。また、上述した実施形態は、複数のLUが2以上の装置に分散して配置されていても(例えば、PVOLが記憶制御システム200に存在していてSVOLが他の記憶制御システムに存在していても)、適用することができる。また、上述した実施形態では、ディスク装置の優劣は、高信頼性及び高性能であるか低信頼性及び低性能であるかの2段階であるが、それよりも多段階であっても良い。また、上述した実施形態において、更新頻度閾値及びディスク割合閾値の少なくとも一方は、より細かな調節を行うことができるよう複数個存在していても良い。また、ディスク割合閾値は、FC記憶容量割合用とSATA記憶容量割合用の2種類が用意されても良い。また、データ更新頻度は、一定期間内でのデータ更新回数であるが、必ずしも一定期間でなく、例えば単に更新回数であっても良い。
100…ホスト装置 200…記憶制御システム 201…FCディスク装置 203…SATAディスク装置 204…プライマリボリューム(PVOL) 206…セカンダリボリューム(SVOL) 205、206A、206B…LU(論理ユニット) 210…CPU 220…制御メモリ 230…キャッシュメモリ 250…ディスクコントローラ 400…バックアップサーバ 500…テープ装置 600…管理端末

Claims (20)

  1. 属性レベルの異なる複数の物理記憶デバイスと、
    前記複数の物理記憶デバイス上に備えられる複数の論理ユニットと、
    外部装置から受信したデータを前記複数の論理ユニットの中から選択された論理ユニットに書込む制御装置と
    を備え、
    前記複数の論理ユニットは、高い属性レベルの物理記憶デバイス上に備えられる1以上の高レベル論理ユニットと、前記高い属性レベルよりも低い属性レベルの物理記憶デバイス上に備えられる1以上の低レベル論理ユニットとを含み、
    前記複数の論理ユニットの各々は、2以上のチャンクから構成されており、
    前記複数の論理ユニットを構成する複数のチャンクには、前記1以上の高レベル論理ユニットを構成する複数の高レベルチャンクと、前記1以上の低レベル論理ユニットを構成する複数の低レベルチャンクとが含まれており、
    前記複数の高レベルチャンクの少なくとも1つと、前記複数の前記複数の低レベルチャンクの少なくとも1つが、動的に対応付けられることが可能なプールチャンクであり、
    前記制御装置は、前記複数のチャンクの中から選択された第1のチャンク内のデータを第2のチャンクに書込む場合、前記複数のチャンクの使用状況に基づいて、複数の前記プールチャンクの中から高レベルチャンクと低レベルチャンクのいずれかを選択し、選択したチャンクに前記第1チャンク内のデータを書込む、
    記憶制御システム。
  2. 前記複数の論理ユニットの中から選択された1以上の前記高レベル論理ユニットから構成されるプライマリボリュームと、
    前記複数の論理ユニットの中から選択された1以上の前記高レベル論理ユニット及び1以上の前記低レベル論理ユニットから構成されるセカンダリボリュームと、
    メモリと
    を更に備え、
    前記複数のチャンクには、前記複数のプールチャンクと、複数の割当済みチャンクとが含まれ、
    前記複数の割当済みチャンクには、前記プライマリボリュームを構成する複数のプライマリチャンクと、前記セカンダリボリュームを構成する複数のセカンダリチャンクとが含まれ、
    前記複数のセカンダリチャンクには、前記セカンダリボリューム内の前記高レベル論理ユニットを構成する複数の高レベルセカンダリチャンクと、前記セカンダリボリューム内の前記低レベル論理ユニットを構成する複数の低レベルセカンダリチャンクとが含まれ、
    前記メモリは、前記複数のプライマリチャンクのうちのどのプライマリチャンクに前記高レベルセカンダリチャンクと前記低レベルセカンダリチャンクとのどちらが対応付けられているかを記憶し、
    前記制御装置は、前記複数のチャンクの使用状況及び前記メモリに記憶されている情報に基づいて、前記複数のプライマリチャンクの中から選択されたプライマリチャンクに対応付けられている元のセカンダリチャンクに対し、前記複数のプールチャンクの中から選択された、前記セカンダリチャンクとは別の属性レベルを有する新たなセカンダリチャンクを対応付け、前記元のセカンダリチャンク内のデータを前記新たなセカンダリチャンク内に書込む、
    請求項1記載の記憶制御システム。
  3. 前記制御装置は、前記元のセカンダリチャンク内のデータを前記新たなセカンダリチャンク内に書込んだ後、前記元のセカンダリチャンクと前記選択されたプライマリチャンクとの対応付け解除し、前記メモリ上で、前記選択されたプライマリチャンクに対して前記新たなセカンダリチャンクを対応付ける、
    請求項2記載の記憶制御システム。
  4. 前記複数のチャンクの使用状況とは、前記セカンダリボリュームが提供する記憶容量を前記高レベルセカンダリボリューム又は前記低レベルセカンダリボリュームが占める割合である、
    請求項2記載の記憶制御システム。
  5. 前記制御装置は、
    前記セカンダリボリュームが提供する記憶容量を複数の高レベルセカンダリチャンクが占める割合である高レベル割合の閾値が前記メモリに記録されている場合、前記高レベル割合の閾値よりも前記高レベル割合の方が多いならば、前記低レベルセカンダリチャンクを優先的に前記選択された元のセカンダリチャンクに対応付け、
    前記セカンダリボリュームが提供する記憶容量を複数の低レベルセカンダリチャンクが占める割合である低レベル割合の閾値が前記メモリに記録されている場合、前記低レベル割合の閾値よりも前記低レベル割合の方が多い場合には、前記高レベルセカンダリチャンクを優先的に前記選択された元のセカンダリチャンクに対応付ける、
    請求項4記載の記憶制御システム。
  6. 前記制御装置は、
    複数のプライマリチャンクの各々についてデータ更新回数を前記メモリに記録し、
    前記データ更新回数が多いものほど優先的に前記プライマリチャンクを選択する、
    請求項5記載の記憶制御システム。
  7. 前記制御装置は、前記第1のチャンクのデータ更新回数の閾値が前記メモリに記録されている場合、前記データ更新回数の閾値よりも前記データ更新回数が多いならば、前記第1のチャンクに対して高レベルチャンクを対応付ける、
    請求項1記載の記憶制御システム。
  8. 前記制御装置は、プライマリチャンクのデータ更新回数の閾値が前記メモリに記録されている場合、複数のプライマリチャンクの各々についてデータ更新回数を前記メモリに記録し、前記データ更新回数の閾値よりも前記選択されたプライマリチャンクのデータ更新回数が多く、且つ、前記選択されたプライマリチャンクに低レベルセカンダリチャンクが対応付けられたならば、前記低レベルセカンダリチャンクに対して高レベルチャンクを対応付ける、
    請求項2記載の記憶制御システム。
  9. 前記制御装置は、前記第1のチャンクのデータ更新回数の閾値が前記メモリに記録されている場合、前記データ更新回数の閾値よりも前記データ更新回数が少ないならば、前記第1のチャンクに対して低レベルチャンクを対応付ける、
    請求項1記載の記憶制御システム。
  10. 前記制御装置は、プライマリチャンクのデータ更新回数の閾値が前記メモリに記録されている場合、複数のプライマリチャンクの各々についてデータ更新回数を前記メモリに記録し、前記データ更新回数の閾値よりも前記選択されたプライマリチャンクのデータ更新回数が多く、且つ、前記選択されたプライマリチャンクに低レベルセカンダリチャンクが対応付けられたならば、前記低レベルセカンダリチャンクに対して高レベルチャンクを対応付ける、
    請求項2記載の記憶制御システム。
  11. 前記制御装置は、前記プライマリボリュームと同じ新たなプライマリボリュームを生成する場合、前記複数のプライマリチャンクの少なくとも1つに前記低レベルセカンダリチャンクが対応付けられていることが前記メモリから判別されたならば、前記低レベルセカンダリチャンクに対して、前記複数のプールチャンクの中から選択された高レベルチャンクを対応付け、前記低レベルセカンダリチャンク内のデータを前記対応付けた高レベルチャンクに書込み、前記対応付けた高レベルチャンクと、前記複数のプライマリチャンクのうちの1以上のプライマリチャンクにそれぞれ対応付けられている1以上の高レベルセカンダリチャンクとから構成される複数の高レベルチャンクの各々をプライマリチャンクとして前記メモリに設定する、
    請求項2記載の記憶制御システム。
  12. 属性レベルの異なる複数の物理記憶デバイスと、前記複数の物理記憶デバイス上に備えられる複数の論理ユニットとが備えられている場合の記憶制御方法であって、
    前記複数の論理ユニットは、高い属性レベルの物理記憶デバイス上に備えられる1以上の高レベル論理ユニットと、前記高い属性レベルよりも低い属性レベルの物理記憶デバイス上に備えられる1以上の低レベル論理ユニットとを含み、
    前記複数の論理ユニットの各々は、2以上のチャンクから構成されており、
    前記複数の論理ユニットを構成する複数のチャンクには、前記1以上の高レベル論理ユニットを構成する複数の高レベルチャンクと、前記1以上の低レベル論理ユニットを構成する複数の低レベルチャンクとが含まれており、
    前記複数の高レベルチャンクの少なくとも1つと、前記複数の前記複数の低レベルチャンクの少なくとも1つが、動的に対応付けられることが可能なプールチャンクであり、
    前記複数のチャンクの中から選択された第1のチャンク内のデータを第2のチャンクに書込む場合、前記複数のチャンクの使用状況に基づいて、複数の前記プールチャンクの中から高レベルチャンクと低レベルチャンクのいずれかを選択するステップと、
    前記選択したチャンクに前記第1チャンク内のデータを書込むステップと
    を有する記憶制御方法。
  13. 前記複数の論理ユニットの中から選択された1以上の前記高レベル論理ユニットから構成されるプライマリボリュームと、
    前記複数の論理ユニットの中から選択された1以上の前記高レベル論理ユニット及び1以上の前記低レベル論理ユニットから構成されるセカンダリボリュームと
    が更に備えられている場合、
    前記複数のチャンクには、前記複数のプールチャンクと、複数の割当済みチャンクとが含まれ、
    前記複数の割当済みチャンクには、前記プライマリボリュームを構成する複数のプライマリチャンクと、前記セカンダリボリュームを構成する複数のセカンダリチャンクとが含まれ、
    前記複数のセカンダリチャンクには、前記セカンダリボリューム内の前記高レベル論理ユニットを構成する複数の高レベルセカンダリチャンクと、前記セカンダリボリューム内の前記低レベル論理ユニットを構成する複数の低レベルセカンダリチャンクとが含まれ、
    前記複数のプライマリチャンクのうちのどのプライマリチャンクに前記高レベルセカンダリチャンクと前記低レベルセカンダリチャンクとのどちらが対応付けられているかを記憶するメモリと、前記複数のチャンクの使用状況とに基づいて、前記複数のプライマリチャンクの中から選択されたプライマリチャンクに対応付けられている元のセカンダリチャンクに対し、前記複数のプールチャンクの中から選択された、前記セカンダリチャンクとは別の属性レベルを有する新たなセカンダリチャンクを対応付けるステップと、
    前記元のセカンダリチャンク内のデータを前記新たなセカンダリチャンク内に書込むステップと
    を有する請求項12記載の記憶制御方法。
  14. 前記元のセカンダリチャンク内のデータを前記新たなセカンダリチャンク内に書込んだ後、前記元のセカンダリチャンクと前記選択されたプライマリチャンクとの対応付け解除するステップと、
    前記メモリ上で、前記選択されたプライマリチャンクに対して前記新たなセカンダリチャンクを対応付けるステップと
    を有する請求項13記載の記憶制御方法。
  15. 前記複数のチャンクの使用状況とは、前記セカンダリボリュームが提供する記憶容量を前記高レベルセカンダリボリューム又は前記低レベルセカンダリボリュームが占める割合である、
    請求項13記載の記憶制御方法。
  16. 前記第1のチャンクのデータ更新回数の閾値が前記メモリに記録されている場合、前記データ更新回数の閾値よりも前記データ更新回数が多いならば、前記第1のチャンクに対して高レベルチャンクを対応付けるステップを更に有する、
    請求項12記載の記憶制御方法。
  17. プライマリチャンクのデータ更新回数の閾値が前記メモリに記録されている場合、複数のプライマリチャンクの各々についてデータ更新回数を前記メモリに記録するステップと、
    前記データ更新回数の閾値よりも前記選択されたプライマリチャンクのデータ更新回数が多く、且つ、前記選択されたプライマリチャンクに低レベルセカンダリチャンクが対応付けられたならば、前記低レベルセカンダリチャンクに対して高レベルチャンクを対応付けるステップと
    を有する請求項13記載の記憶制御方法。
  18. 前記第1のチャンクのデータ更新回数の閾値が前記メモリに記録されている場合、前記データ更新回数の閾値よりも前記データ更新回数が少ないならば、前記第1のチャンクに対して低レベルチャンクを対応付けるステップを更に有する、
    請求項12記載の記憶制御方法。
  19. プライマリチャンクのデータ更新回数の閾値が前記メモリに記録されている場合、複数のプライマリチャンクの各々についてデータ更新回数を前記メモリに記録するステップと、
    前記データ更新回数の閾値よりも前記選択されたプライマリチャンクのデータ更新回数が多く、且つ、前記選択されたプライマリチャンクに低レベルセカンダリチャンクが対応付けられたならば、前記低レベルセカンダリチャンクに対して高レベルチャンクを対応付けるステップと
    を有する請求項12記載の記憶制御方法。
  20. 前記プライマリボリュームと同じ新たなプライマリボリュームを生成する場合、前記複数のプライマリチャンクの少なくとも1つに前記低レベルセカンダリチャンクが対応付けられていることを前記メモリから判別するステップと、
    前記低レベルセカンダリチャンクに対して、前記複数のプールチャンクの中から選択された高レベルチャンクを対応付けるステップと、
    前記低レベルセカンダリチャンク内のデータを前記対応付けた高レベルチャンクに書込むステップと、
    前記対応付けた高レベルチャンクと、前記複数のプライマリチャンクのうちの1以上のプライマリチャンクにそれぞれ対応付けられている1以上の高レベルセカンダリチャンクとから構成される複数の高レベルチャンクの各々をプライマリチャンクとして前記メモリに設定するステップと
    を有する請求項13記載の記憶制御方法。
JP2010100461A 2010-04-26 2010-04-26 記憶制御システム及び方法 Pending JP2010191989A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010100461A JP2010191989A (ja) 2010-04-26 2010-04-26 記憶制御システム及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010100461A JP2010191989A (ja) 2010-04-26 2010-04-26 記憶制御システム及び方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2004116069A Division JP4863605B2 (ja) 2003-11-07 2004-04-09 記憶制御システム及び方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2013162898A Division JP5839727B2 (ja) 2013-08-06 2013-08-06 記憶制御システム及び方法

Publications (1)

Publication Number Publication Date
JP2010191989A true JP2010191989A (ja) 2010-09-02

Family

ID=42817893

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010100461A Pending JP2010191989A (ja) 2010-04-26 2010-04-26 記憶制御システム及び方法

Country Status (1)

Country Link
JP (1) JP2010191989A (ja)

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0351908A (ja) * 1989-06-28 1991-03-06 Internatl Business Mach Corp <Ibm> 取外し式データ記録媒体の効率的な利用方法
JPH04237344A (ja) * 1991-01-22 1992-08-25 Nec Corp データベース管理システムにおけるページ管理方式
JPH0635624A (ja) * 1992-07-16 1994-02-10 Nec Corp 固定磁気ディスク装置
JPH0773090A (ja) * 1993-06-21 1995-03-17 Hitachi Ltd 計算機システムおよび二次記憶装置
JPH08161123A (ja) * 1994-12-05 1996-06-21 Matsushita Electric Ind Co Ltd ディスク・アレイ装置
JPH11259240A (ja) * 1998-03-06 1999-09-24 Toshiba Corp データ記憶装置
JP2000242434A (ja) * 1998-12-22 2000-09-08 Hitachi Ltd 記憶装置システム
JP2001243099A (ja) * 2000-01-18 2001-09-07 Internatl Business Mach Corp <Ibm> 論理ブロックを物理ブロックにマッピングするための方法、システム、プログラム、およびデータ構造
JP2001357636A (ja) * 2000-06-15 2001-12-26 Hitachi Ltd 補助記憶装置
WO2003027856A1 (en) * 2001-09-28 2003-04-03 Maranti Networks, Inc. Pooling and provisionig storage resources in a storage network
JP2003108317A (ja) * 2001-09-27 2003-04-11 Fujitsu Ltd ストレージシステム
JP2003131819A (ja) * 2001-08-15 2003-05-09 Hewlett Packard Co <Hp> 自動データ記憶システムにおける記憶装置競合の管理方法
JP2003150324A (ja) * 2001-11-16 2003-05-23 Hitachi Ltd ディスクアレイ装置
JP2003256247A (ja) * 2002-02-28 2003-09-10 Hitachi Ltd 記憶システム
JP2004094755A (ja) * 2002-09-02 2004-03-25 Fujitsu Ltd データ転送装置およびデータ転送方法

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0351908A (ja) * 1989-06-28 1991-03-06 Internatl Business Mach Corp <Ibm> 取外し式データ記録媒体の効率的な利用方法
JPH04237344A (ja) * 1991-01-22 1992-08-25 Nec Corp データベース管理システムにおけるページ管理方式
JPH0635624A (ja) * 1992-07-16 1994-02-10 Nec Corp 固定磁気ディスク装置
JPH0773090A (ja) * 1993-06-21 1995-03-17 Hitachi Ltd 計算機システムおよび二次記憶装置
JPH08161123A (ja) * 1994-12-05 1996-06-21 Matsushita Electric Ind Co Ltd ディスク・アレイ装置
JPH11259240A (ja) * 1998-03-06 1999-09-24 Toshiba Corp データ記憶装置
JP2000242434A (ja) * 1998-12-22 2000-09-08 Hitachi Ltd 記憶装置システム
JP2001243099A (ja) * 2000-01-18 2001-09-07 Internatl Business Mach Corp <Ibm> 論理ブロックを物理ブロックにマッピングするための方法、システム、プログラム、およびデータ構造
JP2001357636A (ja) * 2000-06-15 2001-12-26 Hitachi Ltd 補助記憶装置
JP2003131819A (ja) * 2001-08-15 2003-05-09 Hewlett Packard Co <Hp> 自動データ記憶システムにおける記憶装置競合の管理方法
JP2003108317A (ja) * 2001-09-27 2003-04-11 Fujitsu Ltd ストレージシステム
WO2003027856A1 (en) * 2001-09-28 2003-04-03 Maranti Networks, Inc. Pooling and provisionig storage resources in a storage network
JP2005505035A (ja) * 2001-09-28 2005-02-17 マランティ ネットワークス インコーポレイテッド 記憶ネットワーク中の記憶資源のプーリング及び供給
JP2003150324A (ja) * 2001-11-16 2003-05-23 Hitachi Ltd ディスクアレイ装置
JP2003256247A (ja) * 2002-02-28 2003-09-10 Hitachi Ltd 記憶システム
JP2004094755A (ja) * 2002-09-02 2004-03-25 Fujitsu Ltd データ転送装置およびデータ転送方法

Similar Documents

Publication Publication Date Title
JP4863605B2 (ja) 記憶制御システム及び方法
JP5037811B2 (ja) 遠隔コピー方法及び遠隔コピーシステム
US7650480B2 (en) Storage system and write distribution method
US9122410B2 (en) Storage system comprising function for changing data storage mode using logical volume pair
JP5257672B2 (ja) ジャーナルの階層を管理する計算機システム及び方法
US8108597B2 (en) Storage control method and system for performing backup and/or restoration
JP2008065503A (ja) ストレージシステム及びバックアップ/リカバリ方法
US20060155944A1 (en) System and method for data migration and shredding
CN103827804B (zh) 在物理区块间拷贝数据的磁盘阵列装置、磁盘阵列控制器以及方法
US20110082834A1 (en) Storage control device to backup data stored in virtual volume
US20100036896A1 (en) Computer System and Method of Managing Backup of Data
JP5275692B2 (ja) ストレージシステム群
JP2010079588A (ja) 仮想ボリュームを有する記憶制御装置
JP2007304859A (ja) 記憶媒体への書き込み回数を管理する計算機システム及びその制御方法
US11740823B2 (en) Storage system and storage control method
JP2006011811A (ja) 記憶制御システム及び記憶制御方法
JP5839727B2 (ja) 記憶制御システム及び方法
JP4502748B2 (ja) デジタルアーカイブを保存するボリュームを管理するサーバ及び方法
JP5275691B2 (ja) ストレージシステム
JP2010191989A (ja) 記憶制御システム及び方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100526

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100526

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100608

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120403

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120821

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121022

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20121022

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130507

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130806