(57)【特許請求の範囲】
【請求項１】
コピー対象のデータが記憶されている第１のデータ記憶装置が備える複数の論理ボリュームの数と、１つの前記論理ボリューム当たりのデータ転送に伴い予め定めたデータ量との関係に基づいたデータ量をデータの転送に先行して読み出すデータ読み出し部と、
前記第１のデータ記憶装置から読み出された前記データ量のデータを記憶する記憶部と、
前記コピー対象のデータの記憶先となる第２のデータ記憶装置に前記記憶部に記憶されている前記論理ボリュームそれぞれから読み出したデータを並列に転送するデータ転送部と、を有し、
前記データ読み出し部は、前記第２のデータ記憶装置が備えるディスクの回転数と前記第１のデータ記憶装置が備えるディスクの回転数との比較に基づき複数の前記論理ボリュームそれぞれから前記予め定めたデータ量を一度に読み出す、
ことを特徴とするデータコピー装置。
【請求項２】
前記データ読み出し部は、前記第２のデータ記憶装置が備えるディスクの回転数が前記第１のデータ記憶装置と等しいか否かを判断し、等しい場合に複数の前記論理ボリュームそれぞれから前記予め定めたデータ量を一度に読み出すことを特徴とする請求項１記載のデータコピー装置。
【請求項３】
前記データ読み出し部は、前記第２のデータ記憶装置が備えるディスクの回転数が前記第１のデータ記憶装置より少ない場合、複数の前記論理ボリュームのうち１つの前記論理ボリュームから前記予め定めたデータ量を一度に読み出すことを特徴とする請求項２記載のデータコピー装置。
【請求項４】
コンピュータが、
コピー対象のデータが記憶されている第１のデータ記憶装置が備える複数の論理ボリュームの数と、１つの前記論理ボリューム当たりのデータ転送に伴い予め定めたデータ量との関係に基づいたデータ量をデータの転送に先行して読み出し、
前記第１のデータ記憶装置から読み出された前記データ量のデータを記憶し、
前記コピー対象のデータの記憶先となる第２のデータ記憶装置に、記憶されている前記論理ボリュームそれぞれから読み出したデータを並列に転送し、
前記データ量をデータの転送に先行して読み出す際、前記第２のデータ記憶装置が備えるディスクの回転数と前記第１のデータ記憶装置が備えるディスクの回転数との比較に基づき複数の前記論理ボリュームそれぞれから前記予め定めたデータ量を一度に読み出す、
ことを特徴とするデータコピー方法。
【請求項５】
コピー対象のデータが記憶されている第１のデータ記憶装置と、
前記第１のデータ記憶装置が備える複数の論理ボリュームの数と、１つの前記論理ボリューム当たりのデータ転送に伴い予め定めたデータ量との関係に基づいたデータ量をデータの転送に先行して読み出すデータ読み出し部と、
前記第１のデータ記憶装置から読み出された前記データ量のデータを記憶する記憶部と、
前記コピー対象のデータの記憶先となる第２のデータ記憶装置に前記記憶部に記憶されている前記論理ボリュームそれぞれから読み出したデータを並列に転送するデータ転送部と、を有し、
前記データ読み出し部は、前記第２のデータ記憶装置が備えるディスクの回転数と前記第１のデータ記憶装置が備えるディスクの回転数との比較に基づき複数の前記論理ボリュームそれぞれから前記予め定めたデータ量を一度に読み出す、
ことを特徴とするストレージ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータコピー装置、データコピー方法およびストレージ装置に関する。
【背景技術】
【０００２】
１台のストレージ装置が故障した場合であってもデータの消失を防止するため等の理由により、異なるストレージ装置間で記憶領域を二重化してデータを管理することが一般に行われている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−２２３２８４号公報
【特許文献２】特開平１−１４０３２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年、ストレージ装置が備える記憶装置の容量が増大している。容量の増大に伴い、データコピーに要する時間も増加している。このため、記憶装置のディスクの回転数の高速化が図られている。
【０００５】
しかしながら、記憶装置のディスクの回転数の高速化に伴い、ストレージ装置内で、データコピー動作の同期を取るタイミングが厳しくなり、コピーミスが増加する可能性がある。ストレージ装置はコピーミスが発生すると、コピーに失敗したデータを記憶装置から再度取り出す動作を行う。この動作により、記憶装置が備える読み取り装置（ヘッド）をディスク上で移動させる時間（シークタイム）が発生し、データコピーに要する時間が長くなるという問題がある。
【０００６】
本発明はこのような点に鑑みてなされたものであり、コピー時間を短縮するデータコピー装置、データコピー方法およびストレージ装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、開示のデータコピー装置が提供される。このデータコピー装置は、データ読み出し部と、記憶部とデータ転送部とを有している。
データ読み出し部は、コピー対象のデータが記憶されている第１のデータ記憶装置が備える複数の論理ボリュームの数と、１つの論理ボリューム当たりのデータ転送に伴い予め定めたデータ量との関係に基づいたデータ量をデータの転送に先行して読み出す。
【０００８】
記憶部は、第１のデータ記憶装置から読み出されたデータ量のデータを記憶する。
データ転送部は、コピー対象のデータの記憶先となる第２のデータ記憶装置に記憶部に記憶されている論理ボリュームそれぞれから読み出したデータを並列に転送する。
【発明の効果】
【０００９】
コピー時間を短縮することができる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施の形態のデータコピー装置の概要を示す図である。
【図２】第２の実施の形態のストレージシステムを示すブロック図である。
【図３】制御モジュールの機能を示すブロック図である。
【図４】制御モジュールの第１のコピー動作を説明する図である。
【図５】第１のコピー動作を説明する図である。
【図６】制御モジュールの第２のコピー動作を説明する図である。
【図７】ストレージシステムの動作を示すフローチャートである。
【図８】比較例のコピー動作を示す図である。
【図９】比較例のコピー動作を説明する図である。
【発明を実施するための形態】
【００１１】
以下、実施の形態を、図面を参照して詳細に説明する。
まず、実施の形態のデータコピー装置について説明し、その後、実施の形態をより具体的に説明する。
【００１２】
＜第１の実施の形態＞
図１は、第１の実施の形態のデータコピー装置の概要を示す図である。
第１の実施の形態のデータコピー装置１は、第１のデータ記憶装置２ａから第２のデータ記憶装置２ｂにデータをコピーする装置であり、データ読み出し部１ａと、記憶部１ｂと、データ転送部１ｃとを有している。
【００１３】
データ読み出し部１ａは、コピー対象のデータが記憶されている第１のデータ記憶装置２ａが備える複数の論理ボリュームＶｏｌ１、Ｖｏｌ２、Ｖｏｌ３、Ｖｏｌ４の数と、１つの論理ボリューム当たりのデータ転送部１ｃの転送動作（コピー動作）に伴い予め定めたデータ量との関係に基づいたデータ量をデータの転送に先行して読み出す。
【００１４】
第１のデータ記憶装置２ａとしては、例えば、ＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Disk）等を例示することができる。
一度に読み出すデータ量は、第１のデータ記憶装置２ａが備える論理ボリュームＶｏｌ１、Ｖｏｌ２、Ｖｏｌ３、Ｖｏｌ４毎に予め定めたデータ量と、第１のデータ記憶装置２ａが有する論理ボリュームの数とに基づいて決定する。
【００１５】
ここで、論理ボリューム毎に予め定めたデータ量は、記憶部１ｂの容量や、データ転送部１ｃが記憶部１ｂからデータを読み出すときの読み出しミスが発生しないよう設計された実測値等から決定することができ、例えば、２５６ｋＢのデータ４つ分の１ＭＢとすることができる。
【００１６】
図１では、論理ボリュームの数は、「４」であるため、データ読み出し部１ａは、第１のデータ記憶装置２ａから一度に読み出すデータ量を１ＭＢ×４＝４ＭＢとすることができる。
【００１７】
データ読み出し部１ａは、未コピーのデータを４ＭＢ分、第１のデータ記憶装置２ａから読み出す。例えば、図１に示すように、ボリュームＶｏｌ１からそれぞれ２５６ｋＢのデータｄ１、ｄ２、ｄ３、ｄ４（合計１ＭＢ）を読み出す。ボリュームＶｏｌ２からそれぞれ２５６ｋＢのデータｄ５、ｄ６、ｄ７、ｄ８（合計１ＭＢ）を読み出す。ボリュームＶｏｌ３からそれぞれ２５６ｋＢのデータｄ９、ｄ１０、ｄ１１、ｄ１２（合計１ＭＢ）を読み出す。ボリュームＶｏｌ４からそれぞれ２５６ｋＢのデータｄ１３、ｄ１４、ｄ１５、ｄ１６（合計１ＭＢ）を読み出す。そして、読み出したデータを記憶部１ｂに記憶する。
【００１８】
記憶部１ｂは、データ読み出し部１ａが第１のデータ記憶装置２ａから読み出したデータを記憶する。記憶部１ｂは、例えば、ＲＡＭ（Random Access Memory）等で構成されている。
【００１９】
データ転送部１ｃは、論理ボリュームＶｏｌ１、Ｖｏｌ２、Ｖｏｌ３、Ｖｏｌ４それぞれから読み出され、記憶部１ｂに記憶されたデータを、データの記憶先となる第２のデータ記憶装置２ｂを制御する制御装置３に並列に転送する。ここで、並列とは、論理ボリュームＶｏｌ１、Ｖｏｌ２、Ｖｏｌ３、Ｖｏｌ４それぞれから読み出した１個目、２個目、３個目、４個目のデータを同時に転送することを言う。図１では、まず、データｄ１、ｄ５、ｄ９、ｄ１３を制御装置３に転送する。次に、図示していないが、データｄ２、ｄ６、ｄ１０、ｄ１４を制御装置３に転送する。次に、データｄ３、ｄ７、ｄ１１、ｄ１５を制御装置３に転送する。次に、データｄ４、ｄ８、ｄ１２、ｄ１６を制御装置３に転送する。
【００２０】
データを記憶部１ｂから読み出すことで、第１のデータ記憶装置２ａからデータを直接読み出す場合に比べ、高速にデータを読み出すことができる。また、並列に読み出すことで、データ転送部１ｃの制御装置３に対するデータ転送効率を高め、データ読み出し部１ａの記憶部１ｂへのデータ読み出し速度に対応できる可能性を高めることができる。
【００２１】
第２のデータ記憶装置２ｂは、第１のデータ記憶装置２ａと同様のボリューム構成をなしており、制御装置３は、データｄ１をボリュームＶｏｌ５に格納する。データｄ５をボリュームＶｏｌ６に格納する。データｄ９をボリュームＶｏｌ７に格納する。データｄ１３をボリュームＶｏｌ８に格納する。
【００２２】
また、データ転送部１ｃが記憶部１ｂからデータを取り出して制御装置３にデータを転送しているときに、データ読み出し部１ａは、次のデータ転送部１ｃの転送動作に先行して前述した方法と同じ方法で第１のデータ記憶装置２ａから次のコピー対象のデータを４ＭＢ分読み出す。そして、読み出したデータを記憶部１ｂに記憶することができる。
【００２３】
第１の実施の形態のデータコピー装置１によれば、データ読み出し部１ａが、第１のデータ記憶装置２ａが備える複数の論理ボリュームＶｏｌ１、Ｖｏｌ２、Ｖｏｌ３、Ｖｏｌ４それぞれから読み出す予め定めたデータ量と、第１のデータ記憶装置２ａが有する論理ボリュームの数とに基づいて、第１のデータ記憶装置２ａから一度に読み出すデータ量を決定するようにした。そして、記憶部１ｂが、決定したデータ量を記憶するようにした。そして、データ転送部１ｃが、記憶部１ｂに記憶された論理ボリュームＶｏｌ１、Ｖｏｌ２、Ｖｏｌ３、Ｖｏｌ４それぞれから読み出したデータを、第２のデータ記憶装置２ｂを制御する制御装置３に並列に転送するようにした。以上の処理により、データ転送部１ｃの制御装置３に対するデータ転送効率を高め、データ読み出し部１ａの記憶部１ｂへのデータ読み出し速度に対応できる可能性を高めることができる。従って、データ読み出し部１ａによる第１のデータ記憶装置２ａからのデータの再度の読み出しを抑制することができる。これは、以下の理由による。データ転送部１ｃの制御装置３に対するデータ転送が、データ読み出し部１ａの記憶部１ｂへのデータ読み出し速度に対応できないと、データ読み出し部１ａの先行読み出し処理により、記憶部１ｂのデータが更新され、データ転送部１ｃが読み出すデータが、記憶部１ｂに存在しない状況になってしまう可能性がある。データ転送部１ｃが読み出すデータが、記憶部１ｂに存在しない状況になってしまうと、データ読み出し部１ａが、読み出せなかったデータを再度、第１のデータ記憶装置２ａに探しに行くため、データ読み出し部１ａがデータを探して再び記憶部１ｂに読み出す時間だけ、タイムロスとなってしまう。データコピー装置１が、前述した処理を行うことにより、このタイムロスを抑制することができる。
【００２４】
なお、データコピー装置１が前述した処理によって第１のデータ記憶装置２ａのデータを第２のデータ記憶装置２ｂにコピーするか否かは、例えば、第１のデータ記憶装置２ａが有するディスクの回転数に応じて決定することができる。前述した処理によってデータをコピーするか否かを決定するディスクの回転数は、例えば１５０００ｒｐｍ以上を例示することができる。
【００２５】
さらに、データコピー装置１が前述した処理によって第２のデータ記憶装置２ｂにデータをコピーするか否かは、例えば、第１のデータ記憶装置２ａが有するディスクの回転数と第２のデータ記憶装置２ｂが有するディスクの回転数との関係に応じて決定することができる。
【００２６】
例えば、データ読み出し部１ａは、第２のデータ記憶装置２ｂが備えるディスクの回転数が第１のデータ記憶装置２ａと等しいか否かを判断するよう動作することができる。そして、第２のデータ記憶装置２ｂが備えるディスクの回転数が第１のデータ記憶装置２ａと等しい場合には、データコピー装置１は、前述した処理を行って、第２のデータ記憶装置２ｂにデータをコピーすることができる。
【００２７】
他方、第２のデータ記憶装置２ｂが備えるディスクの回転数が第１のデータ記憶装置２ａより少ない場合には、データ読み出し部１ａは、第１のデータ記憶装置２ａが備える論理ボリュームＶｏｌ１、Ｖｏｌ２、Ｖｏｌ３、Ｖｏｌ４を１つのグループとみなして例えば論理ボリュームＶｏｌ１の先頭番地から論理ボリュームＶｏｌ４の最終番地の順番に、前述した１ＭＢ単位でデータを一度に読み出すよう動作することができる。１ＭＢのデータを第１のデータ記憶装置２ａから一度に読み出して記憶部１ｂに記憶することで、２５６ｋＢ毎にデータを記憶部１ｂに記憶する場合に比べ、コピーを高速に実行することができる。
【００２８】
なお、データ読み出し部１ａ、データ転送部１ｃは、データコピー装置１が有するＣＰＵ（Central Processing Unit）が備える機能により実現することができる。
以下、実施の形態をより具体的に説明する。
【００２９】
＜第２の実施の形態＞
図２は、第２の実施の形態のストレージシステムを示すブロック図である。
ストレージシステム１００は、ストレージ装置１０と、ホストコンピュータ２０と、ファイバチャネル（ＦＣ：Fibre Channel）スイッチ３０と、ストレージ装置４０とストレージ装置５０とを有している。
【００３０】
ストレージ装置１０は、制御モジュール（ＣＭ：Controller Module）１１と、ドライブエンクロージャ（ＤＥ：Drive Enclosure）１２とを有している。
ストレージシステム１００は、ドライブエンクロージャ１２と、ホストコンピュータ２０とが、制御モジュール１１を介して接続されている。
【００３１】
制御モジュール１１は、ＣＰＵ１１ａによって装置全体が制御されている。
ＣＰＵ１１ａには、内部バス（図示せず）を介してキャッシュメモリ１１ｂ、チャネルアダプタ（ＣＡ：Channel Adapter）１１ｃおよびファイバチャネルスイッチ１１ｄが接続されている。
【００３２】
キャッシュメモリ１１ｂには、ＣＰＵ１１ａに実行させるプログラムの少なくとも一部が一時的に格納される。また、キャッシュメモリ１１ｂには、ＣＰＵ１１ａによる処理に必要な各種データが格納される。さらに、キャッシュメモリ１１ｂには、ドライブエンクロージャ１２から読み出したデータが格納される。
【００３３】
チャネルアダプタ１１ｃは、ファイバチャネルスイッチ３０に接続され、ファイバチャネルスイッチ３０を介してホストコンピュータ２０のチャネルＣＨ１に接続されている。この経路を介して、ホストコンピュータ２０と、ＣＰＵ１１ａとの間でデータの送受信が行われる。
【００３４】
ファイバチャネルスイッチ１１ｄは、ドライブエンクロージャ１２に接続されている。ＣＰＵ１１ａは、ファイバチャネルスイッチ１１ｄを介して外部のドライブエンクロージャ１２との間でデータの送受信を行う。
【００３５】
制御モジュール１１は、アクセス指示情報としてＩ／Ｏコマンドをドライブエンクロージャ１２に送信し、ストレージ装置の記憶領域に対するデータの入出力指令を行う。また、入出力指令からアクセス監視時間が経過しても応答が得られないときは、このＩ／Ｏ処理を中断するアボート指示コマンドをドライブエンクロージャ１２に送信する。
【００３６】
ドライブエンクロージャ１２は、冗長性を考慮したＲＡＩＤ（Redundant Array of Inexpensive Disks）構成をなす複数のハードディスクドライブを有している。本実施の形態では、回転数が１５０００ｒｐｍのハードディスクドライブ１２ａ、１２ｂ、１２ｃ、１２ｄを有している。
【００３７】
なお、ドライブエンクロージャ１２が有するドライブは、ハードディスクドライブに限らず、例えばＳＳＤや、光磁気ディスク等であってもよい。
ストレージ装置４０およびストレージ装置５０は、それぞれ、ドライブエンクロージャ１２に記憶されているデータのコピー先となるハードディスクドライブを有する装置である。
【００３８】
ストレージ装置４０およびストレージ装置５０は、それぞれ、ストレージ装置１０と同様のハードウェア構成をなしている。但し、ストレージ装置４０とストレージ装置５０は、それぞれが有するハードディスクドライブの回転数が異なっている。
【００３９】
具体的には、ストレージ装置４０が備えるドライブエンクロージャは、回転数が１５０００ｒｐｍのハードディスクドライブを有している。言い換えると、ストレージ装置４０が備えるドライブエンクロージャは、ドライブエンクロージャ１２が有するハードディスクドライブと同じ回転数のハードディスクドライブを有している。
【００４０】
他方、ストレージ装置５０が備えるドライブエンクロージャは、回転数が７２００ｒｐｍのハードディスクドライブを有している。言い換えると、ストレージ装置５０が備えるドライブエンクロージャは、ドライブエンクロージャ１２が有するハードディスクドライブより単位時間あたりの回転数の少ないハードディスクドライブを有している。
【００４１】
なお、図２では、１つのホストコンピュータ２０が制御モジュール１１に接続されている場合を示しているが、複数のホストコンピュータが、制御モジュール１１に接続されていてもよい。
【００４２】
このようなハードウェア構成によって、制御モジュール１１の処理機能を実現することができる。
次に、制御モジュール１１の機能を説明する。
【００４３】
図３は、制御モジュールの機能を示すブロック図である。
制御モジュール１１は、コピー制御部１１０と、キャッシュ記憶部１２０と、ディスク制御部１３０とを有している。
【００４４】
コピー制御部１１０は、ホストコンピュータ２０の指示により、ハードディスクドライブ１２ａ、１２ｂ、１２ｃ、１２ｄに記憶されているデータを、ストレージ装置４０またはストレージ装置５０が備えるハードディスクドライブのどの領域にコピーするかを制御する。なお、コピー制御部１１０は、論理コピーおよび物理コピーの両方を制御する。
【００４５】
コピー制御部１１０は、ハードディスクドライブ１２ａ、１２ｂ、１２ｃ、１２ｄに記憶されているデータをコピー先ディスクの回転数に応じて異なる読み出し量で読み出すようディスク制御部１３０に指示する。
【００４６】
ここで、ドライブエンクロージャ１２が有するハードディスクドライブ１２ａ〜１２ｄは、４つのＲＡＩＤグループＧｒ１〜Ｇｒ４が構成されている。各ＲＡＩＤグループは、それぞれ４つの論理ボリュームで構成されている。具体的には、ＲＡＩＤグループＧｒ１は、ボリュームＶｏｌ１１、Ｖｏｌ１２、Ｖｏｌ１３、Ｖｏｌ１４で構成されている。ＲＡＩＤグループＧｒ２は、ボリュームＶｏｌ２１、Ｖｏｌ２２、Ｖｏｌ２３、Ｖｏｌ２４で構成されている。ＲＡＩＤグループＧｒ３は、ボリュームＶｏｌ３１、Ｖｏｌ３２、Ｖｏｌ３３、Ｖｏｌ３４で構成されている。ＲＡＩＤグループＧｒ４は、ボリュームＶｏｌ４１、Ｖｏｌ４２、Ｖｏｌ４３、Ｖｏｌ４４で構成されている。
【００４７】
キャッシュ記憶部１２０は、ホストコンピュータから受信したデータや、キャッシュメモリから受け取ったデータを一時的に記憶する。
キャッシュ記憶部１２０は、ＬＲＵ（Least Recently Used）アルゴリズム等の、アクセス頻度の多いデータを優先的に残す制御を行う。
【００４８】
ディスク制御部１３０は、ロードバランス制御でＲＡＩＤ構成のドライブエンクロージャ１２の制御を行う。
ディスク制御部１３０は、コピー制御部１１０の指示により、ＲＡＩＤグループＧｒ１〜Ｇｒ４にアクセスし、アクセスにより得られたデータをキャッシュ記憶部１２０にプリフェッチ（prefetch）する。
【００４９】
ディスク制御部１３０は、ＲＡＩＤグループＧｒ１〜Ｇｒ４から、セッションと呼ばれる単位でデータをキャッシュ記憶部１２０にプリフェッチする。セッション数は、ボリューム数に等しい。本実施の形態では、ディスク制御部１３０は、１つのＲＡＩＤグループから、４つのセッション（複数セッション）単位でデータをキャッシュ記憶部１２０にプリフェッチする。
【００５０】
次に、ドライブエンクロージャ１２に記憶されたデータをストレージ装置４０にコピーするときの制御モジュール１１の動作（以下、「第１のコピー動作」と言う）を説明する。
【００５１】
第１のコピー動作は、例えば、ドライブエンクロージャ１２が有するハードディスクドライブと単位時間あたりの回転数が等しいハードディスクドライブに対するコピー動作に適用することができる。第１のコピー動作を実行するハードディスクドライブの回転数としては、例えば１５０００ｒｐｍ以上を例示することができる。
【００５２】
図４は、制御モジュールの第１のコピー動作を説明する図である。
第１のコピー動作を行う場合、ディスク制御部１３０は、ＲＡＩＤグループＧｒ１〜Ｇｒ４を構成するボリュームＶｏｌ１１、Ｖｏｌ１２、Ｖｏｌ１３、Ｖｏｌ１４、Ｖｏｌ２１、Ｖｏｌ２２、Ｖｏｌ２３、Ｖｏｌ２４、Ｖｏｌ３１、Ｖｏｌ３２、Ｖｏｌ３３、Ｖｏｌ３４、Ｖｏｌ４１、Ｖｏｌ４２、Ｖｏｌ４３、Ｖｏｌ４４から、下式（１）の総プリフェッチ量のデータをキャッシュ記憶部１２０に一度にプリフェッチする。
【００５３】
総プリフェッチ量＝１セッションのプリフェッチ量×セッション数・・・（１）
１セッションのプリフェッチ量は、固定値であり、例えば、キャッシュ記憶部１２０の容量や、コピー制御部１１０がキャッシュ記憶部１２０からデータを読み出すときの読み出しミスが発生しないよう設計された実測値等から決定することができる。本実施の形態では、１セッションのプリフェッチ量は、２５６ｋＢのデータを４個分読み出すものとする。また、セッション数は、前述したようにボリューム数に等しいため、４ＲＡＩＤグループ×４ボリューム＝１６となる。従って、本実施の形態の総プリフェッチ量＝２５６ｋＢ×４×１６＝１６ＭＢとなる。
【００５４】
データの取り出し方を説明する。１セッション目は、ＲＡＩＤグループＧｒ１のボリュームＶｏｌ１１の連続した領域に記憶されているデータを２５６ｋＢ毎に４つのブロックに分けたデータＡ１、Ａ２、Ａ３、Ａ４を連続して取り出す。その後、２セッション目のデータを取り出す。２〜４セッション目も１セッション目と同様の方法でデータを取り出す。
【００５５】
５セッション目は、ＲＡＩＤグループＧｒ２のボリュームＶｏｌ２１の連続した領域に記憶されているデータを２５６ｋＢ毎に４つのブロックに分けたデータＥ１、Ｅ２、Ｅ３、Ｅ４を取り出す。６〜８セッション目も５セッション目と同様の方法でデータを取り出す。
【００５６】
ＲＡＩＤグループＧｒ３、Ｇｒ４についてもＲＡＩＤグループＧｒ１、Ｇｒ２と同様の方法で、データを取り出す。
取り出した結果、キャッシュ記憶部１２０には、それぞれ１ＭＢの１６セッション分のデータ（合計１６ＭＢ）が、記憶される。
【００５７】
図５は、第１のコピー動作を説明する図である。
ストレージ装置４０は、制御モジュール１１と同様の機能を有する制御モジュール４１と、ドライブエンクロージャ１２と同様のＲＡＩＤ構成をなすドライブエンクロージャ４２とを有している。
【００５８】
コピー制御部１１０は、キャッシュ記憶部１２０に記憶されている１６個のセッション分のデータＡ１、Ｂ１、Ｃ１、Ｄ１、・・・、Ｐ１を取り出す。すなわち、コピー制御部１１０は、各ＲＡＩＤグループＧｒ１〜Ｇｒ４の各ボリュームに記憶されている各２５６ｋＢ分のデータを取り出す。そして、コピー制御部１１０は、取り出したデータＡ１、Ｂ１、Ｃ１、Ｄ１、・・・、Ｐ１をコピー先のストレージ装置４０に送信する。
【００５９】
データＡ１、Ｂ１、Ｃ１、Ｄ１、・・・、Ｐ１を受信したストレージ装置４０は、コピー制御部４１０が、受信したデータＡ１、Ｂ１、Ｃ１、Ｄ１、・・・、Ｐ１をキャッシュ記憶部４２０に記憶する。
【００６０】
ディスク制御部４３０は、キャッシュ記憶部４２０に記憶されているデータＡ１、Ｂ１、Ｃ１、Ｄ１、・・・、Ｐ１を読み出し、ＲＡＩＤグループＧｒ５〜Ｇｒ８の各ボリュームＶｏｌ５１、Ｖｏｌ５２、Ｖｏｌ５３、Ｖｏｌ５４、Ｖｏｌ６１、Ｖｏｌ６２、Ｖｏｌ６３、Ｖｏｌ６４、Ｖｏｌ７１、Ｖｏｌ７２、Ｖｏｌ７３、Ｖｏｌ７４、Ｖｏｌ８１、Ｖｏｌ８２、Ｖｏｌ８３、Ｖｏｌ８４に書き込む。
【００６１】
以降、データＡ２、Ｂ２、Ｃ２、Ｄ２、・・・、Ｐ２、データＡ３、Ｂ３、Ｃ３、Ｄ３、・・・、Ｐ３、データＡ４、Ｂ４、Ｃ４、Ｄ４、・・・、Ｐ４についてもデータＡ１、Ｂ１、Ｃ１、Ｄ１、・・・、Ｐ１と同様の処理を行う。
【００６２】
また、コピー制御部１１０が、コピー制御部４１０にデータを送信している間に、ディスク制御部１３０は、図４にて説明した方法と同様の方法で、次のコピー対象のデータをキャッシュ記憶部１２０にプリフェッチする。例えばボリュームＶｏｌ１１に格納されているデータＡ４に隣接するデータをデータＡ５とすると、データＡ５、Ａ６、Ａ７、Ａ８を連続して取り出す。その後、２セッション目のデータを取り出す。２〜４セッション目も１セッション目と同様の方法でデータを取り出す。
【００６３】
５セッション目は、ＲＡＩＤグループＧｒ２のボリュームＶｏｌ２１の連続した領域に記憶されているデータを２５６ｋＢ毎に４つのブロックに分けたデータＥ５、Ｅ６、Ｅ７、Ｅ８を取り出す。６〜８セッション目も５セッション目と同様の方法でデータを取り出す。
【００６４】
ＲＡＩＤグループＧｒ３、Ｇｒ４についてもＲＡＩＤグループＧｒ１、Ｇｒ２と同様の方法で、データを取り出す。
取り出した結果、キャッシュ記憶部１２０には、それぞれ１ＭＢの１６セッション分のデータ（合計１６ＭＢ）が、記憶される。
【００６５】
以上の処理により、コピー制御部１１０のストレージ装置４０に対するデータ転送効率を高め、ディスク制御部１３０のキャッシュ記憶部１２０へのデータ読み出し速度に対応できる可能性を高めることができる。従って、ディスク制御部１３０によるドライブエンクロージャ１２からのデータの再度の読み出しを抑制することができる。これは、以下の理由による。コピー制御部１１０のストレージ装置４０に対するデータ転送速度が、ディスク制御部１３０のキャッシュ記憶部１２０へのデータ読み出し速度に対応できないと、ディスク制御部１３０のプリフェッチ処理により、キャッシュ記憶部１２０のデータが更新され、コピー制御部１１０が読み出すデータが、キャッシュ記憶部１２０に存在しない状況になってしまう可能性がある。コピー制御部１１０が読み出すデータが、キャッシュ記憶部１２０に存在しない状況になってしまうと、ディスク制御部１３０が、読み出せなかったデータを再度、ドライブエンクロージャ１２に探しに行くため、ディスク制御部１３０がデータを探して再びキャッシュ記憶部１２０にデータを読み出す時間だけ、タイムロスとなってしまう。本実施の形態では、ディスク制御部１３０が式（１）の総プリフェッチ量のデータをキャッシュ記憶部１２０に読み出し、コピー制御部１１０がストレージ装置４０にデータを並列に転送することにより、コピー制御部１１０が読み出すデータが、キャッシュ記憶部１２０に存在しない状況になってしまうことを抑制することができる。従って、ディスク制御部１３０によるドライブエンクロージャ１２のデータの再度の読み出しを抑制することができる。
【００６６】
次に、ドライブエンクロージャ１２に記憶されたデータをストレージ装置５０にコピーするときの制御モジュール１１の動作（以下、「第２のコピー動作」と言う）を説明する。
【００６７】
第２のコピー動作は、例えば、ドライブエンクロージャ１２が有するハードディスクドライブより単位時間あたりの回転数の少ないハードディスクドライブに対するコピー動作に適用することができる。
【００６８】
図６は、制御モジュールの第２のコピー動作を説明する図である。
ストレージ装置５０は、制御モジュール１１と同様の機能を有する制御モジュール５１と、ドライブエンクロージャ１２と同様のＲＡＩＤ構成をなすドライブエンクロージャ５２とを有している。
【００６９】
第２のコピー動作を行う場合、ディスク制御部１３０は、ドライブエンクロージャ１２からデータを予め定めたプリフェッチ量（本実施の形態では１ＭＢ）で読み出し、キャッシュ記憶部１２０に記憶するという動作を繰り返し実行する。
【００７０】
データの取り出し方は、図６に示すように、ＲＡＩＤグループＧｒ１の連続した領域に記憶されているデータを２５６ｋＢ毎に４つのブロックに分けたデータａ１、ａ２、ａ３、ａ４をプリフェッチし、キャッシュ記憶部１２０に記憶する。
【００７１】
コピー制御部１１０は、キャッシュ記憶部１２０に記憶されているデータａ１を取り出す。そして、コピー制御部１１０は、コピー先のストレージ装置５０に取り出したデータａ１を送信する。
【００７２】
データａ１を受信したストレージ装置５０では、コピー制御部５１０が、受信したデータａ１をキャッシュ記憶部５２０に記憶する。
ディスク制御部５３０は、キャッシュ記憶部５２０に記憶されているデータａ１を読み出し、ＲＡＩＤグループＧｒ９に書き込む。
【００７３】
以降、データａ２、ａ３、ａ４についてもデータａ１と同様の処理を行う。そして、ディスク制御部５３０がデータａ１〜ａ４をＲＡＩＤグループＧｒ９に書き込んでいるときに、ディスク制御部１３０は、ＲＡＩＤグループＧｒ３の連続した領域に記憶されているデータを２５６ｋＢ毎に４つのブロックに分けたデータｂ１、ｂ２、ｂ３、ｂ４のプリフェッチを実行し、キャッシュ記憶部１２０に記憶する。そして、データａ４の書き込みが終了すると、コピー制御部１１０は、キャッシュ記憶部１２０に記憶されているデータｂ１のストレージ装置５０への送信を開始する。
【００７４】
データｂ１を受信したストレージ装置５０では、コピー制御部５１０が、受信したデータｂ１をキャッシュ記憶部５２０に記憶する。
ディスク制御部５３０は、キャッシュ記憶部５２０に記憶されているデータｂ１を読み出し、ＲＡＩＤグループＧｒ１０に書き込む。以降、データｂ２、ｂ３、ｂ４についてもデータｂ１と同様の処理を行う。
【００７５】
そして、データａ１〜ａ４およびデータｂ１〜ｂ４と同様の方法で、データｃ１〜ｃ４をＲＡＩＤグループＧｒ１１に書き込む。データｄ１〜ｄ４をＲＡＩＤグループＧｒ１２に書き込む。
【００７６】
その後、再びディスク制御部５３０がデータｄ１〜ｄ４をＲＡＩＤグループＧｒ１２に書き込んでいるときに、ディスク制御部１３０は、ＲＡＩＤグループＧｒ１のデータａ４に隣接する、連続した領域に記憶されているデータを２５６ｋＢ毎に４つのブロックに分けたデータａ５、ａ６、ａ７、ａ８のプリフェッチを実行し、キャッシュ記憶部１２０に記憶する。以降、上述したコピー動作を、コピーが終了するまで繰り返し行う。
【００７７】
この第２のコピー動作では、各ＲＡＩＤグループＧｒ１〜Ｇｒ４に格納されたデータをそれぞれ１セッション単位で読み出すことにより、ハードディスクドライブ１２ａ、１２ｂ、１２ｃ、１２ｄが備える磁気ヘッドを搭載するアームの移動量を、各ＲＡＩＤグループＧｒ１〜Ｇｒ４に格納されたデータを逐次読み出す場合に比べ減らすことができる。従って、コピー速度を高速化することができる。
【００７８】
次に、ストレージシステム１００の動作を、フローチャートを用いて説明する。
図７は、ストレージシステムの動作を示すフローチャートである。
［ステップＳ１］  ディスク制御部１３０は、コピー先のドライブエンクロージャが有するディスクの回転数が１５０００ｒｐｍか否かを判断する。コピー先のドライブエンクロージャが有するディスクの回転数が１５０００ｒｐｍである場合（ステップＳ１のＹｅｓ）、ステップＳ２に遷移する。コピー先のドライブエンクロージャが有するディスクの回転数が１５０００ｒｐｍではない、すなわち、回転数が７２００ｒｐｍである場合（ステップＳ１のＮｏ）、ステップＳ４に遷移する。
【００７９】
［ステップＳ２］  ディスク制御部１３０は、前述した式（１）に従って総プリフェッチ量を決定する。その後、ステップＳ３に遷移する。
［ステップＳ３］  ディスク制御部１３０は、第１のコピー動作を開始する。第１のコピー動作が終了すると、図７の処理を終了する。
【００８０】
［ステップＳ４］  ディスク制御部１３０は、総プリフェッチ量を１セッションのプリフェッチ量に設定する。その後、ステップＳ５に遷移する。
［ステップＳ５］  ディスク制御部１３０は、第２のコピー動作を開始する。第２のコピー動作が終了すると、図７の処理を終了する。
【００８１】
以上述べたように、実施の形態のストレージシステム１００によれば、ディスク制御部１３０によるドライブエンクロージャ１２のデータの再度の読み出しを抑制することができる。従って、データコピーの処理の高速化が図れる。
【００８２】
以下、比較例を説明する。
図８は、比較例のコピー動作を示す図である。
図８に示す比較例では、ストレージ装置１０とは異なるストレージ装置９０が、ストレージ装置４０に対してコピー動作を行う場合を示している。
【００８３】
比較例のストレージ装置９０が有する制御モジュール９１は、コピー制御部９１０とキャッシュ記憶部９２０とディスク制御部９３０とを有している。コピー制御部９１０、キャッシュ記憶部９２０およびディスク制御部９３０の機能は、それぞれコピー制御部１１０、キャッシュ記憶部１２０、ディスク制御部１３０と同じであるが、制御方法が異なる。比較例では、ドライブエンクロージャ９２が有する１５０００ｒｐｍのディスクからドライブエンクロージャ４２が有する１５０００ｒｐｍのディスクに対し、第２のコピー動作でコピーを実行する場合を例示する。
【００８４】
ディスク制御部９３０は、１ＲＡＩＤグループ１セッション単位でデータをストレージ装置４０にコピーする。具体的には、まず、ＲＡＩＤグループＧｒ９１から４つのデータＸ１、Ｘ２、Ｘ３、Ｘ４をプリフェッチする。コピー制御部９１０は、データＸ１がキャッシュ記憶部９２０に送られてきた時点で、データＸ１をキャッシュ記憶部９２０から取り出し、ストレージ装置４０に送信する。
【００８５】
ストレージ装置４０では、コピー制御部４１０が、受信したデータＸ１をキャッシュ記憶部４２０に記憶する。そして、ディスク制御部４３０が、キャッシュ記憶部４２０に記憶したデータＸ１をＲＡＩＤグループＧｒ５に書き込む。
【００８６】
一方、ディスク制御部９３０は、コピー制御部９１０の処理とは独立して、データＸ１を取り出しキャッシュ記憶部９２０に記憶した後に、データＸ２、Ｘ３、Ｘ４をキャッシュ記憶部９２０に記憶する。
【００８７】
図９は、比較例のコピー動作を説明する図である。
比較例のストレージ装置９０は、コピー制御部９１０がデータＸ３までコピーしたところで、他のセッションのプリフェッチ処理が動作する。このため、前のコピー処理のデータをコピー制御部９１０が未だコピーしていないにもかかわらず、キャッシュ記憶部９２０の中身が次のプリフェッチ処理で取り込まれたデータに書き換えられてしまう。その結果、データＸ４はキャッシュミスとなり、データＸ４を再度プリフェッチするために、ディスク制御部９３０が、ＲＡＩＤグループＧｒ９１に再度アクセスする。この結果、１セッションのコピー毎に６ｍｓ程度のシーク時間が追加される。
【００８８】
これに対し、ストレージ装置１０の第１のコピー動作では、ハードディスクドライブ１２ａ〜１２ｄに対するシーク待ちは発生しない。従って、ストレージ装置９０に比べてストレージ装置４０へのデータコピー処理の高速化が図れる。
【００８９】
以上、本発明のデータコピー装置、データコピー方法およびストレージ装置を、図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物や工程が付加されていてもよい。
【００９０】
また、本発明は、前述した各実施の形態のうちの、任意の２以上の構成（特徴）を組み合わせたものであってもよい。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、データコピー装置１または制御モジュール１１が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ／ＲＷなどがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。
【００９１】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【００９２】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【００９３】
また、上記の処理機能の少なくとも一部を、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＰＬＤ（Programmable Logic Device）などの電子回路で実現することもできる。
【符号の説明】
【００９４】
１  データコピー装置
１ａ  データ読み出し部
１ｂ  記憶部
１ｃ  データ転送部
２ａ  第１のデータ記憶装置
２ｂ  第２のデータ記憶装置
３  制御装置
１０、４０、５０  ストレージ装置
１１、４１、５１  制御モジュール
１１ａ  ＣＰＵ
１１ｂ  キャッシュメモリ
１１ｃ  ＣＡ
１１ｄ、３０  ファイバチャネルスイッチ
１２、４２、５２  ドライブエンクロージャ
１２ａ、１２ｂ、１２ｃ、１２ｄ  ハードディスクドライブ
２０  ホストコンピュータ
１００  ストレージシステム
１１０、４１０、５１０  コピー制御部
１２０、４２０、５２０  キャッシュ記憶部
１３０、４３０、５３０  ディスク制御部
Ｇｒ１〜Ｇｒ１２  ＲＡＩＤグループ
【図１】
0005605043.tif 000002
【図２】
0005605043.tif 000003
【図３】
0005605043.tif 000004
【図４】
0005605043.tif 000005
【図５】
0005605043.tif 000006
【図６】
0005605043.tif 000007
【図７】
0005605043.tif 000008
【図８】
0005605043.tif 000009
【図９】
0005605043.tif 000010