(57)【要約】【課題】キャッシュビジー状態の発生に起因するコピー処理速度の低下を防止することを課題とする。【解決手段】キャッシュ上の記憶領域を確保してディスク間のコピー処理を実行している最中に、通信可能な状態で接続されたホスト装置から書き込み要求を受け付けた場合に、書き込み要求に含まれているデータの容量を測定し、測定されたデータの容量に応じて、コピー処理用に確保している記憶領域の容量を変更する。例えば、複数のセッションでコピー処理を実行しているときに、ホスト装置から書き込み要求を受け付けた結果、キャッシュにおけるデータ蓄積量が予め設定されている所定の閾値以上になった場合に、現に確立されているセッションの数を１に変更して、コピー処理用に確保している記憶領域の容量を１セッション分に変更する。【選択図】        図１
2010191615.tif 000002
【特許請求の範囲】
【請求項１】
キャッシュ上の記憶領域を確保してディスク間のコピー処理を実行するコピー処理実行部と、
前記コピー処理実行部によるコピー処理の実行中に、ホスト装置から書き込み要求を受け付けた場合に、当該書き込み要求に含まれているデータの容量を測定するデータ容量測定部と、
前記データ容量測定部によって測定された前記データの容量に応じて、前記コピー処理実行部により確保された記憶領域の容量を変更する変更部と、
を有するコピー制御装置。
【請求項２】
前記コピー処理実行部は、ディスク間で同時に確立したセッションの数に応じた容量の記憶領域をキャッシュ上に確保し、確保した記憶領域を利用してディスク間のコピー処理を実行し、
前記変更部は、前記データ容量測定部による前記データの容量の測定の結果、キャッシュにおけるデータの蓄積量を示すデータ蓄積量が予め設定されている所定の閾値以上であると判断した場合に、現に確立されているセッションの数を１に変更して、前記コピー処理実行部により確保された記憶領域の容量を変更する請求項１に記載のコピー制御装置。
【請求項３】
前記変更部は、前記ディスク間で同時に確立したセッションの中で、最もコピー速度が速い１のセッションを再確立して、前記コピー処理実行部により確保された記憶領域の容量を変更する請求項２に記載のコピー制御装置。
【請求項４】
前記変更部は、コピー元のデータがある各ディスクの中で、コピー元のデータが最も多いディスクと、コピーしたデータの格納先のディスクとの間に１のセッションを再確立して、前記コピー処理実行部により確保された記憶領域の容量を変更する請求項２に記載のコピー制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＲＡＩＤ装置におけるディスク間のコピー処理を制御するためのコピー制御装置に関する。
【背景技術】
【０００２】
従来、大量のデータを記憶するために、複数のディスクを有するＲＡＩＤ装置（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ（もしくはＩｎｄｅｐｅｎｄｅｎｔ）  Ｄｉｓｋｓ装置）が存在する。このＲＡＩＤ装置は、データを一時的に記憶するためのキャッシュをさらに有し、種々の処理にキャッシュを利用している。
【０００３】
例えば、ＲＡＩＤ装置は、ディスクに書き込まれたデータを保護するためのコピー処理を実行する場合にキャッシュを利用する（特許文献１参照）。また、ＲＡＩＤ装置は、ホストコンピュータからデータの書き込み要求を受け付けた場合にもキャッシュを利用する（特許文献２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−１０２８１５号公報
【特許文献２】特開２００３−３４５５２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、従来のＲＡＩＤ装置では、コピー処理速度が低下することがあるという課題がある。すなわち、従来のＲＡＩＤ装置では、コピー処理を実行している最中に、ホストコンピュータからデータの書き込み要求を受け付けると、書き込み要求に含まれているデータを格納するためのキャッシュ上の記憶領域が不足し、いわゆる、キャッシュビジー状態が発生する場合がある。この場合に、従来のＲＡＩＤ装置は、キャッシュビジー状態から回復するまで、コピー処理を中止しなければならない。その結果、従来のＲＡＩＤ装置では、コピー処理に処理遅延が発生し、コピー処理速度が低下するという課題があった。
【０００６】
そこで、コピー制御装置は、上述した従来技術の課題を解決するためになされたものであり、キャッシュビジー状態の発生に起因するコピー処理速度の低下を防止することが可能なコピー制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するため、開示のコピー制御装置は、キャッシュ上の記憶領域を確保してディスク間のコピー処理を実行するコピー処理実行部と、前記コピー処理実行部によるコピー処理の実行中に、通信可能な状態で接続されたホスト装置から書き込み要求を受け付けた場合に、当該書き込み要求に含まれているデータの容量を測定するデータ容量測定部と、前記データ容量測定部によって測定された前記データの容量に応じて、前記コピー処理実行部により確保された記憶領域の容量を変更する変更部とを有することを要する。
【発明の効果】
【０００８】
開示のコピー制御装置によれば、キャッシュビジー状態の発生に起因するコピー処理速度の低下を防止することが可能である。
【図面の簡単な説明】
【０００９】
【図１】実施例１に係るＲＡＩＤ装置の概要を説明するための図である。
【図２】実施例１に係るＲＡＩＤ装置の概要を説明するための図である。
【図３】ＲＡＩＤ装置の構成を示すブロック図である。
【図４】ＲＡＩＤ装置による処理の流れを示すフローチャート図である。
【図５】ＲＡＩＤ装置による処理の流れを示すフローチャート図である。
【図６】ＲＡＩＤ装置による処理の流れを示すフローチャート図である。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照して、コピー制御装置の一実施の形態として、ＲＡＩＤ装置（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ(もしくはＩｎｄｅｐｅｎｄｅｎｔ)  Ｄｉｓｋｓ装置）の詳細を説明する。
【実施例１】
【００１１】
［ＲＡＩＤ装置の概要（実施例１）］
図１および図２は、実施例１に係るＲＡＩＤ装置の概要を説明するための図である。実施例１に係るＲＡＩＤ装置は、ディスク間のコピー処理と、データの書き込み処理とを同時に実行する場合に、同一のキャッシュを利用することを概要とする。そして、ＲＡＩＤ装置は、書き込み要求に含まれているデータを格納するためのキャッシュ上の記憶領域が不足する状態であるキャッシュビジー状態の発生に起因するコピー処理速度の低下を防止する。
【００１２】
すなわち、実施例１に係るＲＡＩＤ装置は、図１の（１）に示すように、ディスク間で複数のセッションを同時に確立し、確立したセッションの数に応じた容量の記憶領域をキャッシュ上に確保する。そして、ＲＡＩＤ装置は、確保した記憶領域を利用してディスク間のコピー処理を実行する。なお、セッションとは、コピー元のデータがあるディスクと、コピーしたデータの格納先のディスクとを関連付けるための情報である。
【００１３】
ここでＲＡＩＤ装置は、ホストコンピュータからデータの書き込み要求を受け付けると、書き込み要求に含まれているデータの容量を測定する。測定の結果、ＲＡＩＤ装置は、現在利用せずにキャッシュ上に残っている記憶領域の容量では、書き込み要求に含まれているデータを格納できないと判断する。
【００１４】
このとき、ＲＡＩＤ装置は、図１の（２）に示すように、ディスク間に確立するセッションの数を１に変更し、コピー処理用に利用する記憶領域の容量を減らすことで、書き込み要求に含まれているデータをキャッシュ上に格納できるようにする。
【００１５】
このように、実施例１に係るＲＡＩＤ装置は、書き込み要求に含まれているデータの容量に応じて、そのデータを格納するためキャッシュ上の記憶領域の容量を増やすので、キャッシュビジー状態の発生を防止することができ、その結果、コピー処理速度の低下を防止することが可能である。
【００１６】
つまり、従来のＲＡＩＤ装置では、図２に示すように、キャッシュビジー状態が発生すると、実行可能なコピー処理があるにもかかわらず、キャッシュビジー状態が解消するまで全てのコピー処理を中断していた。これに対し、実施例１に係るＲＡＩＤ装置は、図２に示すように、従来のＲＡＩＤ装置においてキャッシュビジー状態が発生していた期間の間であっても１セッションでコピー処理を継続する。
【００１７】
そのため、従来のＲＡＩＤ装置においてキャッシュビジー状態が解消した時点において、実施例１に係るＲＡＩＤ装置では、１セッションでコピー処理を行った分だけコピーすべき残りのデータが少なくなり、従来のＲＡＩＤ装置に比べてコピー処理全体を早く終了することができる。これにより、実施例１に係るＲＡＩＤ装置は、コピー処理速度の低下を防止することが可能である。
【００１８】
［ＲＡＩＤ装置の構成（実施例１）］
図３は、ＲＡＩＤ装置の構成を示すブロック図である。図３に示すように、ＲＡＩＤ装置１０は、ホストコンピュータ１００と通信可能な状態で接続される。ここで、ホストコンピュータ１００は、データをディスクに書き込む書き込み要求またはデータをディスクから読み出す読み出し要求などをＲＡＩＤ装置１０に行う装置である。
【００１９】
また、ＲＡＩＤ装置１０は、ＲＧ（レイドグループ）「０〜５」を有する。ここで、ＲＧとは、データを記録する記憶媒体の集合である。例えば、ＲＧ「０」は、単数または複数の物理ディスクからなる論理ディスクであり、ディスク上の記憶領域を１０個のボリュームに区分し、各ボリュームにデータを記憶する。また、ＲＧ「５」は、大容量ディスクであり、ディスク上の記憶領域を５０個のボリュームに区分し、各ボリュームにデータを記録する。なお、各ボリュームには、ボリュームを一意に識別するためのボリュームＩＤ（ボリューム識別子）が予め付与されている。
【００２０】
また、ＲＡＩＤ装置１０は、同一の構成を有するＣＭ（Centralized Module）２０および３０をさらに有する。以下では、ＣＭ２０の構成と、ＣＭ３０の構成の一部を説明する。
【００２１】
ＣＭ２０は、キャッシュ２１と、制御部２２とを有する。このうち、キャッシュ２１は、ホストコンピュータ１００から受け付けた書き込み要求に含まれているデータを一時的に記憶する。また、キャッシュ２１は、コピーしたデータを一時的に記憶する。
【００２２】
制御部２２は、書き込み処理実行部２３と、キャッシュ監視部２４と、コピー処理実行部２５とを有する。キャッシュ監視部２４は、データ容量測定部ともいう。また、コピー処理実行部２５は、変更部ともいう。
【００２３】
書き込み処理実行部２３は、ホストコンピュータ１００からデータの書き込み要求を受け付けた場合に、コピー処理によって確保されている記憶領域以外のキャッシュ２１上の記憶領域に書き込み要求に含まれているデータを格納する。なお、ＣＭ３０の書き込み処理実行部３３は、ホストコンピュータ１００から受け付けた書き込み要求に含まれているデータをキャッシュ３１に格納する。
【００２４】
キャッシュ監視部２４は、コピー処理の実行中に、ＣＭ３０の書き込み処理実行部３３がホストコンピュータ１００からデータの書き込み要求を受け付けた場合に、書き込み要求に含まれているデータの容量を測定する。
【００２５】
具体的には、キャッシュ監視部２４は、ホストコンピュータ１００から受け付けた書き込み要求に含まれているデータの容量を測定し、キャッシュ３１におけるデータの蓄積量を監視する。そして、キャッシュ監視部２４は、キャッシュ３１におけるデータの蓄積量を示すデータ蓄積値が予め設定されている所定の閾値を上回ると、コピー処理実行部２５に対して、セッションの数の切り替えを要求する。また、キャッシュ監視部２４は、キャッシュ３１のデータ蓄積値が予め設定されている所定の閾値以下になると、コピー処理実行部２５に対して、セッションの数の復帰を要求する。
【００２６】
コピー処理実行部２５は、キャッシュ３１上の一部の記憶領域を確保し、確保した記憶領域を利用してディスク間のコピー処理を実行する。また、コピー処理実行部２５は、キャッシュ監視部２４によって測定された書き込み要求に含まれているデータの容量に応じて、コピー処理用に確保した記憶領域の容量を変更する。
【００２７】
（コピー処理実行部による処理の一例）
以下では、ＲＧ「０」のボリュームＩＤ「０〜９」にあるデータをコピーして、ＲＧ「５」のボリュームＩＤ「５０〜５９」にコピーしたデータを格納するシチュエーションを例にあげて、コピー処理実行部２５およびコピー処理実行部３５による処理を説明する。
【００２８】
コピー処理実行部２５は、ユーザから受け付けた指示に基づき、コピー元としてのボリュームＩＤ（例えば、ボリュームＩＤ「０」）と、コピー先としてのボリュームＩＤ（例えば、ボリュームＩＤ「５０」）とをそれぞれ１つずつ含むセッション情報を計１０個生成する。なお、このとき生成するセッション情報の数は、予めユーザにより設定された数である。
【００２９】
次に、コピー処理実行部２５は、ＣＭ３０のコピー処理実行部３５に対して、生成したセッション情報を設定する。続いて、コピー処理実行部２５は、セッション情報１０個分に相当する容量の記憶領域をＣＭ３０のキャッシュ３１上に確保する。そして、コピー処理実行部２５は、ＲＧ「０」のボリュームＩＤ「０〜９」にあるデータを同時にコピーして、キャッシュ３１上の記憶領域にコピーしたデータを格納する。
【００３０】
コピー処理実行部３５は、コピー先としてのボリュームＩＤ「５０〜５９」を含むセッション情報がコピー処理実行部２５によって設定されると、コピー処理実行部２５によってキャッシュ３１に格納されたデータを読み出し、コピー先としてのボリュームＩＤ「５０〜５９」に対応する各ボリュームにデータを格納する。
【００３１】
その後、ＣＭ３０の書き込み処理実行部３３がホストコンピュータ１００から書き込み要求を受け付けて、受け付けた書き込み要求に含まれているデータをキャッシュ３１に格納した結果、キャッシュ３１のデータ蓄積値が予め設定されている所定の閾値を上回ったものとする。このとき、コピー処理実行部２５は、キャッシュ監視部２４からセッションの数の切り替え要求を受け付け、コピー処理実行部３５に設定したセッション情報を解除する。次に、コピー処理実行部２５は、セッション情報を１つ生成し、コピー処理実行部３５に再設定する。そして、コピー処理実行部２５は、セッション情報１個分に相当する容量の記憶領域をキャッシュ３１上に改めて確保し、改めて確保したキャッシュ３１上の記憶領域にコピーしたデータを格納する。
【００３２】
ここで、コピー処理実行部３５は、ディスク間で同時に確立したセッションの中で、最もコピー速度が速い１のセッションを再確立して、コピー処理用に確保するキャッシュ３１上の記憶領域の容量を変更し、１のセッションでコピー処理を行う期間のコピー処理速度を最も速くするようにしてもよい。例えば、コピーしたデータの格納先であるＲＧが複数あり、各ＲＧのディスク回転速度が異なる環境であると仮定した場合に、コピー処理実行部３５は、キャッシュ監視部２４からセッションの数の切り替え要求を受け付けると、ディスク回転速度が最も速いＲＧを特定する。続いて、コピー処理実行部３５は、特定したＲＧに属するボリュームのボリュームＩＤを１つ含むセッション情報を再設定する。
【００３３】
また、複数種類のインターフェイス（例えば、Ｆｉｂｅｒ  Ｃｈａｎｎｅｌ、ＳＡＴＡ（Serial Advanced Technology Attachment）、ＳＡＳ（Serial Attached SCSI）など）を経由してコピーしたデータをディスクに格納すると仮定した場合に、コピー処理実行部３５は、キャッシュ監視部２４からセッションの数の切り替え要求を受け付けると、最もデータの転送速度が速いインターフェイスを特定する。続いて、コピー処理実行部３５は、特定したインターフェイスを経由するセッションのセッション情報を再設定する。このようにすれば、１のセッションでコピー処理を行う期間のコピー処理速度を最も速くすることができる。
【００３４】
また、コピー元のデータが複数のＲＧにある場合に、コピー元のデータが最も多いＲＧ属するボリュームのボリュームＩＤを１つ含むセッション情報を再設定するようにしてもよい。このようにすれば、負荷が最も多いＲＧのコピー処理を優先して実行することができる。また、コピーしたデータの格納先であるＲＧの環境（例えば、ディスクの回転速度、データを格納するボリュームの数など）が同一である場合には、ボリュームが構築された順番でセッション情報を再設定するようにしてもよい。
【００３５】
コピー処理実行部２５によって１のセッション情報が再設定された場合に、コピー処理実行部３５は、現にコピー処理実行部２５によってキャッシュ３１に格納されているデータの読み出しを完了した後に、再設定されたセッション情報に基づいてデータの読み出しを実行する。
【００３６】
その後、書き込み要求に含まれていたデータの書き込み処理が完了し、キャッシュ３１のデータ蓄積値が予め設定されている所定の閾値以下になったものとする。このとき、コピー処理実行部２５は、キャッシュ監視部２４からセッションの数の復帰要求を受け付け、コピー処理実行部３５に再設定したセッション情報を解除する。そして、コピー処理実行部２５は、最初に設定した１０個のセッション情報をコピー処理実行部３５に対して再び設定し、ＲＧ「０」のボリュームＩＤ「０〜９」にあるデータを同時にコピーして、キャッシュ３１にコピーしたデータを格納する処理を再開する。
【００３７】
なお、コピー処理実行部３５に設定したセッション情報を解除したときに、そのセッション情報をキャッシュ上に留めておくことや、ディスクに一時的に退避することで、セッション情報の再設定を容易にできるようにしてもよい。そして、キャッシュ上に留めたセッション情報や、ディスクに退避したセッション情報を再設定して、前回の続きのデータからコピー処理を再開するようにしてもよい。
【００３８】
また、コピー処理実行部３５は、コピー処理実行部２５によって最初に設定されたセッション情報が再び設定された場合に、コピー処理実行部２５によってキャッシュ３１に格納されたデータを読み出し、コピー先としてのボリュームＩＤ「５０〜５９」に対応する各ボリュームにデータを格納する処理を再開する。
【００３９】
［ＲＡＩＤ装置による処理（実施例１）］
図４〜図６は、ＲＡＩＤ装置による処理の流れを示すフローチャート図である。なお、ＲＡＩＤ装置１０は、ディスク間のコピー処理が完了したときに以下の処理を終了する。図４に示すように、コピー処理実行部２５は、予めユーザにより設定された数のセッションで、ディスク間のコピー処理を開始する（ステップＳ１０１）。複数のセッションでコピー処理が開始すると（ステップＳ１０１肯定）、キャッシュ監視部２４は、キャッシュ３１におけるデータの蓄積量を監視する（ステップＳ１０２）。
【００４０】
ここで、ホストコンピュータ１００から書き込み要求を受け付けた結果、キャッシュ３１のデータ蓄積値が予め設定されている所定の閾値を上回ると（ステップＳ１０２肯定）、コピー処理実行部２５は、セッション数を１に切り替えて、コピー処理を継続する（ステップＳ１０３）。
【００４１】
具体的には、図５に示すように、セッションの数の切り替え要求をキャッシュ監視部２４から受け付けると（ステップＳ２０１肯定）、コピー処理実行部２５は、コピー処理実行部３５に設定したセッション情報を解除する（ステップＳ２０２）。続いて、コピー処理実行部２５は、解除したセッションの中で、最もコピー速度が速いセッションのセッション情報を１つ生成し、コピー処理実行部３５に再設定する（ステップＳ２０３）。そして、コピー処理実行部２５は、セッション情報１個分に相当する容量の記憶領域をキャッシュ３１上に改めて確保し、コピー処理を１のセッション数で継続する（ステップＳ２０４）。
【００４２】
図４の説明に戻ると、書き込み要求に含まれていたデータの書き込み処理が完了した結果、キャッシュ３１のデータ蓄積値が所定の閾値以下になると（ステップＳ１０４肯定）、コピー処理実行部２５は、複数のセッションでコピー処理を再開する（ステップＳ１０５）。
【００４３】
具体的には、図６に示すように、キャッシュ監視部２４からセッションの数の復帰要求を受け付けると（ステップＳ３０１肯定）、コピー処理実行部２５は、コピー処理実行部３５に再設定したセッション情報を解除する（ステップＳ３０２）。続いて、コピー処理実行部２５は、最初に設定したセッション情報をコピー処理実行部３５に対して再び設定する（ステップＳ３０３）。そして、コピー処理実行部２５は、複数のセッションに相当する容量の記憶領域をキャッシュ３１上に改めて確保し、残りのデータのコピー処理を複数のセッション数で再開する（ステップＳ３０４）。
【００４４】
［実施例１の効果］
上記したように、実施例１によれば、書き込み要求に含まれているデータの容量に応じて、そのデータを格納するためキャッシュ上の記憶領域の容量を増やすので、キャッシュビジー状態の発生を防止することができ、その結果、コピー処理速度の低下を防止することが可能である。例えば、実施例１によれば、従来のＲＡＩＤ装置がコピー処理を中止していた状況下であっても、セッション数を減らしてコピー処理を継続することができるので、従来のＲＡＩＤ装置に比べ、短時間でコピー処理を実行することが可能である。
【実施例２】
【００４５】
以下、上述してきたＲＡＩＤ装置１０の他の実施形態について説明する。
【００４６】
（装置構成等）
図２に示したＲＡＩＤ装置１０の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、ＲＡＩＤ装置１０の分散・統合の具体的形態は図示のものに限られず、例えば、書き込み処理実行部２３の機能と、キャッシュ監視部２４の機能とを統合する。このようにして、ＲＡＩＤ装置１０の全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【００４７】
さらに、ＲＡＩＤ装置１０にて行なわれる各処理機能（例えば、図４）は、その全部または任意の一部が、ＣＰＵやＭＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００４８】
なお、上記の実施例では、セッション数を１に切り替える場合を説明したが、これに限定されるものではなく、書き込み要求に含まれているデータをキャッシュ上の記憶領域に格納できるセッション数に切り替えることも可能である。
【符号の説明】
【００４９】
１０  ＲＡＩＤ装置
２０、３０  ＣＭ
２１、３１  キャッシュ
２２、３２  制御部
２３、３３  書き込み処理実行部
２４、３４  キャッシュ監視部
２５、３５  コピー処理実行部
１００  ホストコンピュータ
【図１】
2010191615.tif 000003
【図２】
2010191615.tif 000004
【図３】
2010191615.tif 000005
【図４】
2010191615.tif 000006
【図５】
2010191615.tif 000007
【図６】
2010191615.tif 000008