(57)【要約】【課題】  複製処理に基づく性能の低下を改善する。【解決手段】  本発明の情報処理装置は、運用装置のデータに対するパトロールリードを実行するパトロールリード処理手段と、パトロールリードにおいて読み出されたデータを複製装置に書き込む複製処理手段と、ホスト・システムからの入出力要求のアドレスが、運用装置と複製装置とのデータの不整合として許容される時間である制限時間内にパトロールリードされるか否かを判定するパトロールリード実行時刻予測判定手段と、入出力要求のアドレスが制限時間内にパトロールリードされるアドレスでない場合、アドレスを記憶するアドレス記憶手段と、制限時間内に同期の処理の開始を通知するデータ同期処理判定手段と、通知を基に運用装置のアドレスのデータを読み出し、複製装置におけるアドレスに書き込むデータ同期処理手段とを含む。【選択図】      図１
2016066286.tif 000002
【特許請求の範囲】
【請求項１】
運用装置のデータに対するパトロールリードを実行するパトロールリード処理手段と、
前記パトロールリードにおいて読み出されたデータを複製装置に書き込む複製処理手段と、
ホスト・システムからの入出力要求のアドレスが、前記運用装置と前記複製装置とのデータの不整合として許容される時間である制限時間内にパトロールリードされるか否かを判定するパトロールリード実行時刻予測判定手段と、
前記入出力要求のアドレスが前記制限時間内にパトロールリードされるアドレスでない場合、前記アドレスを記憶するアドレス記憶手段と、
前記制限時間内に同期の処理の開始を通知するデータ同期処理判定手段と、
前記通知を基に前記運用装置の前記アドレスのデータを読み出し、前記複製装置における前記アドレスに書き込むデータ同期処理手段とを含む
情報処理装置。
【請求項２】
前記データ同期処理判定手段が、
前記制限時間を経過する前において、前記入出力要求がない時に前記通知を送信する
請求項１に記載の情報処理装置。
【請求項３】
前記パトロールリード実行時刻予測判定手段が、
次に処理されるパトロールリードのアドレスと、前記入出力要求のアドレスと、パトロールリードの処理時間と、前記制限時間とを基に前記判定を実行する
請求項１又は２に記載の情報処理装置。
【請求項４】
前記パトロールリード実行時刻予測判定手段が、
パトロールリードの処理時間の計測を基に前記パトロールリードの処理時間を算出する
請求項３に記載の情報処理装置。
【請求項５】
運用装置のデータに対するパトロールリードを実行し、
前記パトロールリードにおいて読み出されたデータを複製装置に書き込み、
ホスト・システムからの入出力要求のアドレスが、前記運用装置と前記複製装置とのデータの不整合として許容される時間である制限時間内にパトロールリードされるか否かを判定し、
前記入出力要求のアドレスが前記制限時間内にパトロールリードされるアドレスでない場合、前記アドレスを記憶し、
前記制限時間内に同期の処理の開始を通知し、
前記通知を基に前記運用装置の前記アドレスのデータを読み出し、前記複製装置における前記アドレスに書き込む
情報処理方法。
【請求項６】
運用装置のデータに対するパトロールリードを実行する処理と、
前記パトロールリードにおいて読み出されたデータを複製装置に書き込む処理と、
ホスト・システムからの入出力要求のアドレスが、前記運用装置と前記複製装置とのデータの不整合として許容される時間である制限時間内にパトロールリードされるか否かを判定する処理と、
前記入出力要求のアドレスが前記制限時間内にパトロールリードされるアドレスでない場合、前記アドレスを記憶する処理と、
前記制限時間内に同期の処理の開始を通知する処理と、
前記通知を基に前記運用装置の前記アドレスのデータを読み出し、前記複製装置における前記アドレスに書き込む処理と
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報の処理に関し、特に、情報を複製する情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
情報処理システムに用いられる記憶システムの安全性確保の手段の１つとして、データの冗長化、つまり、データを保存する記憶装置を複数備え、複数の装置に同じデータを保存する方法がある。データを冗長するためには、記憶装置（運用系記憶装置とバックアップ系記憶装置）間でのデータの複製処理が、必要である。データ容量の増加に伴い、複製処理が、増加している。そのため、複製処理の負荷の削減が、望まれている。
【０００３】
例えば、スナップショットを利用して複製の時間を削減し、バックアップの負荷を低減する技術が公開されている（例えば、特許文献１を参照）。
【０００４】
また、データの安全性確保のため、メモリシステムとして、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）が、用いられている。ＲＡＩＤにおいて、ＲＡＩＤコントローラが、ＲＡＩＤを構成する複数のディスク装置を統一的に管理する。ＲＡＩＤコントローラは、ＲＡＩＤ構成を管理するだけではなく、ディスク装置に記憶されたデータの信頼性を確保するため、パトロールリードを実行する（例えば、特許文献２を参照）。パトロールリードにおいて、ＲＡＩＤコントローラは、記憶されているデータを読み出し、良否を判定（例えば、パリティチェック）し、正しくない場合はデータを修復する。ＲＡＩＤコントローラは、接続されている全ての記憶装置の全ての領域に対してパトロールリードを実行する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−０８５１１７号公報
【特許文献２】特開２０１２−１６８６７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１の記載の技術は、複製処理を実行する範囲を削減する。しかし、特許文献１に記載の技術は、複製する範囲における複製処理に基づくシステムへの負荷を低減する技術ではない。特許文献１に記載の技術は、複製処理が発生した範囲においては、システムの性能が低下する。つまり、特許文献１に記載の技術は、複製処理に基づいてシステム性能が低下するという問題点があった。
【０００７】
また、特許文献２に記載の技術は、復旧するデータを、正常な記憶装置から読み出し、復旧先の記憶装置に書き込むという、復旧に関連する技術である。そのため、特許文献２に記載の技術は、通常の運用中のデータについては、一般的なミラーリング技術と同様に動作する。つまり、特許文献２に記載の技術は、特許文献１と同様に、通常の複製処理に基づいてシステム性能が低下するという問題があった。
【０００８】
本発明の目的は、上記問題点を解決し、複製処理に基づく性能の低下を改善する情報処理装置、情報処理方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
本発明の一形態のおける情報処理装置は、運用装置のデータに対するパトロールリードを実行するパトロールリード処理手段と、パトロールリードにおいて読み出されたデータを複製装置に書き込む複製処理手段と、ホスト・システムからの入出力要求のアドレスが、運用装置と複製装置とのデータの不整合として許容される時間である制限時間内にパトロールリードされるか否かを判定するパトロールリード実行時刻予測判定手段と、入出力要求のアドレスが制限時間内にパトロールリードされるアドレスでない場合、アドレスを記憶するアドレス記憶手段と、制限時間内に同期の処理の開始を通知するデータ同期処理判定手段と、通知を基に運用装置のアドレスのデータを読み出し、複製装置におけるアドレスに書き込むデータ同期処理手段とを含む。
【００１０】
本発明の一形態のおけるデータ処理方法は、運用装置のデータに対するパトロールリードを実行し、パトロールリードにおいて読み出されたデータを複製装置に書き込み、ホスト・システムからの入出力要求のアドレスが、運用装置と複製装置とのデータの不整合として許容される時間である制限時間内にパトロールリードされるか否かを判定し、入出力要求のアドレスが制限時間内にパトロールリードされるアドレスでない場合、アドレスを記憶し、制限時間内に同期の処理の開始を通知し、通知を基に運用装置のアドレスのデータを読み出し、複製装置におけるアドレスに書き込む。
【００１１】
本発明の一形態のおけるプログラムは、運用装置のデータに対するパトロールリードを実行する処理と、パトロールリードにおいて読み出されたデータを複製装置に書き込む処理と、ホスト・システムからの入出力要求のアドレスが、運用装置と複製装置とのデータの不整合として許容される時間である制限時間内にパトロールリードされるか否かを判定する処理と、入出力要求のアドレスが制限時間内にパトロールリードされるアドレスでない場合、アドレスを記憶する処理と、制限時間内に同期の処理の開始を通知する処理と、通知を基に運用装置のアドレスのデータを読み出し、複製装置におけるアドレスに書き込む処理とをコンピュータに実行させる。
【発明の効果】
【００１２】
本発明に基づけば、複製処理に基づく性能の低下を改善するとの効果を提供できる。
【図面の簡単な説明】
【００１３】
【図１】図１は、本発明における第１の実施形態に係る情報処理装置の構成の一例を示すブロック図である。
【図２】図２は、第１の実施形態に係る情報処理装置の複製処理の動作を説明するための図である。
【図３】図３は、第１の実施形態に係る情報処理装置の複製処理の動作を説明するための図である。
【図４】図４は、第１の実施形態に係る情報処理装置の動作の一例を示すフローチャートである。
【図５】図５は、第１の実施形態に係る情報処理装置の動作の一例を示すフローチャートである。
【図６】図６は、第１の実施形態に係る情報処理装置の動作の一例を示すフローチャートである。
【図７】図７は、第１の実施形態に係る情報処理装置の別の構成の一例を示すブロック図である。
【発明を実施するための形態】
【００１４】
次に、本発明の実施形態について図面を参照して説明する。
【００１５】
なお、各図面は、本発明の実施形態を説明するものである。ただし、本発明は、各図面の記載に限られるわけではない。また、各図面の同様の構成には、同じ番号を付し、その繰り返しの説明を、省略する場合がある。
【００１６】
また、以下の説明に用いる図面において、本発明の説明に関係しない部分の構成については、記載を省略し、図示しない場合もある。
【００１７】
＜第１の実施形態＞
本発明における第１の実施形態に係る情報処理装置１００は、通常の運用に用いられる運用系記憶装置（運用装置）と、データをバックアップするために用いられるバックアップ系記憶装置（複製装置）とに接続している。さらに、情報処理装置１００は、ホスト・システムからのデータの読み出し又は書き込み要求（以下、Ｉ／Ｏ（Input / Output）要求又は入出力要求と呼ぶ）を受信すると、そのＩ／Ｏ要求を運用系記憶装置に送信する。
【００１８】
また、情報処理装置１００は、運用系記憶装置（及びバックアップ系記憶装置）のデータの信頼性を確保するため、パトロールリードを行う。記憶装置は、一般的に、寿命があり、また、故障の可能性がある。しかし、例えば、記憶装置として、ＲＡＩＤ構成の記憶装置を用いた場合、記憶装置に含まれる一部のディスク装置が故障した場合でも、情報処理装置１００は、読み出せるデータを基に、元のデータを復旧できる。そして、情報処理装置１００は、復旧したデータを書き戻すことで、データの信頼性を確保できる。あるいは、情報処理装置１００は、故障が起きたディスク装置を交換後、復旧したデータを書き戻してもよい。そのため、運用系記憶装置（及びバックアップ系記憶装置）は、ＲＡＩＤのような、パトロールリードに対応した機能を備えた記憶装置とする。ただし、情報処理装置１００が接続する記憶装置は、ＲＡＩＤに限る必要はない。例えば、情報処理装置１００が接続する記憶装置は、３台（又は３台を超える）の記憶装置のデータの多数決を用いて、正常なデータを選択する記憶装置でも良い。
【００１９】
さらに、情報処理装置１００は、データを冗長化する。そのため、情報処理装置１００は、通常のＩ／Ｏ要求の処理とは別の処理として、運用系記憶装置のデータをバックアップ系記憶装置に複製（コピー）する。
【００２０】
［構成の説明］
次に、本発明のおける第１の実施形態に係る情報処理装置１００の構成について説明する。
【００２１】
図１は、本発明における第１の実施形態に係る情報処理装置１００の構成の一例を示すブロック図である。
【００２２】
図１に示すように、情報処理装置１００は、パトロールリード処理部１１１と、複製処理部１１７と、パトロールリード実行時刻予測判定部１１８と、ライトアドレス記憶部１１２と、データ同期処理判定部１１９と、データ同期処理部１２０とを含む。なお、図１は、本実施形態の説明に関連しない構成、例えば、通常のＩ／Ｏ処理に関する構成を省略している。
【００２３】
パトロールリード処理部１１１は、パトロールリードを処理する。つまり、パトロールリード処理部１１１は、運用系記憶装置からデータを読み出し、必要な場合はデータを修復し、データを書き戻す。
【００２４】
複製処理部１１７は、データの複製として、運用系記憶装置のデータを、バックアップ系記憶装置に書き込む。より具体的には、複製処理部１１７は、パトロールリード処理部１１１が、パトロールリードで読み出したデータを、バックアップ系記憶装置に書き込む。このように、情報処理装置１００は、複製のための読み出し処理を必要としない。そのため、情報処理装置１００は、複製処理に基づく、ホスト・システムからのＩ／Ｏ処理への影響を低減する。
【００２５】
パトロールリード実行時刻予測判定部１１８は、パトロールリード中に、ホスト・システムから発行されたＩ／Ｏ要求のアドレスが、所定の範囲に含まれるか否かを判定する。より具体的には、パトロールリード実行時刻予測判定部１１８は、そのアドレスが、所定の時間内にパトロールリードを実行するためのアドレスか否か判定する。
【００２６】
ライトアドレス記憶部１１２は、上記判定の結果、所定の時間内にパトロールリードが実行されないＩ／Ｏ要求のアドレスを記憶する。
【００２７】
データ同期処理判定部１１９は、データ同期処理部１２０における同期の処理の開始を判定し、データ同期処理部１２０に同期の処理の開始を通知（又は指示）する。ここで、同期の処理とは、データ同期処理部１２０が、運用系記憶装置とバックアップ系記憶装置とのデータを同期させるための処理である。
【００２８】
データ同期処理部１２０は、データ同期処理判定部１１９からの通知を基に、ライトアドレス記憶部１１２に記憶されているアドレスのデータの複製処理（同期処理）を実行する。より詳細には、データ同期処理部１２０は、運用系記憶装置におけるライトアドレス記憶部１１２に記憶されていうアドレスのデータを読み出し、そのデータをバックアップ系記憶装置の同じアドレスに書き込む。
【００２９】
［動作の説明］
次に、第１の実施形態に係る情報処理装置１００の動作について説明する。
【００３０】
まず、情報処理装置１００が、ホスト・システムからＩ／Ｏ要求を受信していない場合の動作について説明する。
【００３１】
図２は、Ｉ／Ｏ要求を受信していない場合の情報処理装置１００の複製処理について説明する図である。
【００３２】
情報処理装置１００のパトロールリード処理部１１１は、パトロールリードを実行する。そして、情報処理装置１００の複製処理部１１７は、パトロールリードにおいて運用系記憶装置２００から読み出したデータを、バックアップ系記憶装置２１０に書き込む。情報処理装置１００は、より詳細には、次のように動作する。
【００３３】
情報処理装置１００のパトロールリード処理部１１１は、パトロールリードとして、運用系記憶装置２００からデータを読み出す。そして、パトロールリード処理部１１１は、読み出したデータが正常であるか否かを判定する。例えば、パトロールリード処理部１１１は、読み出したデータのパリティチェックを実行する。
【００３４】
データが正常でない場合（例えば、パリティエラーの場合）、パトロールリード処理部１１１は、データを復旧する。例えば、運用系記憶装置２００がＲＡＩＤ５の構成の場合、パトロールリード処理部１１１は、読み出したデータのパリティを用いてデータを復旧する。復旧後、パトロールリード処理部１１１は、復旧したデータを運用系記憶装置２００に書き戻す。この動作を基に、情報処理装置１００は、データを復旧し、データの信頼性を確保する。
【００３５】
データが正常の場合、又は、データ復旧後、パトロールリード処理部１１１は、次にアドレスのデータを読み出し、パトロールリードを継続する。
【００３６】
ここまでの情報処理装置１００の動作は、一般的なパトロールリードの動作と同様である。
【００３７】
本実施形態の情報処理装置１００は、さらに次のような動作を実行する。
【００３８】
複製処理部１１７は、パトロールリード処理部１１１が、運用系記憶装置２００から読み出したデータを、バックアップ系記憶装置２１０の同じアドレスに書き込む。ただし、パトロールリード処理部１１１が読み出したデータが正常でない場合（例えば、パリティエラーの場合）、複製処理部１１７は、パトロールリード処理部１１１が復旧したデータをバックアップ系記憶装置２１０に書き込む。
【００３９】
以上の動作を基に、情報処理装置１００は、運用系記憶装置２００のデータを、バックアップ系記憶装置２１０に複製することができる。
【００４０】
パトロールリードは、データの信頼性確保のために実行される動作である。そして、情報処理装置１００は、運用系記憶装置２００に含まれる全ての記憶装置の全てのアドレスをパトロールリードする。そのため、情報処理装置１００は、運用系記憶装置２００の全てのアドレスのデータを読み出す。そして、情報処理装置１００は、パトロールリードで読み出したデータを複製に用いる。そのため、情報処理装置１００は、運用系記憶装置２００の全てのデータに対して、複製のための読み出し動作（Ｉ／Ｏ動作）を必要としない。つまり、情報処理装置１００は、複製処理に基づく運用系記憶装置２００への読み出し動作を削減する。そのため、情報処理装置１００は、運用系記憶装置２００へのホスト・システムからのＩ／Ｏ要求への処理に影響を与えず、システム性能の低下を改善できる。
【００４１】
次に、情報処理装置１００が、ホスト・システムからＩ／Ｏ要求を受信した場合の動作について説明する。
【００４２】
図３は、Ｉ／Ｏ要求を受信した場合の情報処理装置１００の複製処理の動作を説明するための図である。
【００４３】
図３において、ライトアドレス１、ライトアドレス２及びライトアドレス３は、Ｉ／Ｏ要求として書き込みが指定されたアドレスである。
【００４４】
なお、本実施形態の動作は、Ｉ／Ｏ要求が書き込みの場合に、特に有効である。これは、Ｉ／Ｏ要求が読み出しの場合、Ｉ／Ｏ要求を実行しても、運用系記憶装置２００のデータが、変化しないため、Ｉ／Ｏ要求に基づく複製が必要とならないためである。ただし、情報処理装置１００は、以下の動作を読み出しの場合に動作してもよいため、本説明は、Ｉ／Ｏ要求として説明する。
【００４５】
図３において、範囲１は、現在のパトロールリードの開始アドレス（つまり、次に処理されるパトロールリードのアドレス）から所定の時間内にパトロールリードが完了する範囲である。範囲２は、範囲１以外の範囲、つまり、所定の時間内にパトロールリードが完了しない範囲である。ここで、所定の時間とは、運用系記憶装置２００のデータと、バックアップ系記憶装置２１０のデータとの不整合が許容される時間である。ただし、情報処理装置１００は、以下で説明する動作の処理時間を考慮して、不整合が許容される時間を増減して所定の時間を決定してもよい。以下、所定の時間を、「制限時間」と呼ぶ。
【００４６】
図３において、ライトアドレス１及びライトアドレス２は、制限時間内にパトロールリードが完了する範囲１に含まれる。ライトアドレス３は、制限時間内にパトロールリードが完了しない範囲２に含まれる。
【００４７】
情報処理装置１００は、Ｉ／Ｏ要求のアドレスが、どちらの範囲に入るかを判定し、範囲１に対するＩ／Ｏ要求と、範囲２に対するＩ／Ｏ要求とで異なる動作を実行する。
【００４８】
以下、この動作の詳細を説明する。
【００４９】
まず、パトロールリード実行時刻予測判定部１１８が、受信したＩ／Ｏ要求のアドレスが、範囲１に含まれるか否か、つまり、Ｉ／Ｏ要求のアドレスが所定に時間内にパトロールリードが実行されるアドレスか否かを判定する。ここで、Ｉ／Ｏ要求のアドレスが、複数のアドレスを含む（例えば、範囲を指定した書き込み命令）場合、情報処理装置１００は、全てのアドレスが、範囲１に含まれているか否かを判定し、アドレスの一部でも範囲２に含まれる場合は、範囲２と判定する。
【００５０】
パトロールリード実行時刻予測判定部１１８の上記判定は、特に制限はない。
【００５１】
例えば、パトロールリード実行時刻予測判定部１１８は、予め保持する判定用のアドレス値と、Ｉ／Ｏ要求のアドレス及びパトロールリードの開始アドレスとの差とを比較してもよい。
【００５２】
あるいは、パトロールリード実行時刻予測判定部１１８は、上記の判定として、次に示す値を数式１に適用して判定してもよい。
【００５３】
１）パトロールリードの開始アドレス（Ａｄｐａｔ）
２）Ｉ／Ｏ要求のアドレス（ＡｄＩＯ）
３）１アドレス当たりのパトロールリードの処理時間（Ｔｐａｔ）
４）制限時間（Ｔｌｉｍ）
５）運用系記憶装置２００の最大アドレス（ＴＭＡＸ）
［数式１］
Ｔｌｉｍ＞Ｔｐａｔ×（ＡｄＩＯ−Ａｄｐａｔ）            ：  ＡｄＩＯ＞Ａｄｐａｔ
Ｔｌｉｍ＞Ｔｐａｔ×（Ａｄｍａｘ−Ａｄｐａｔ＋ＡｄＩＯ）  ：  ＡｄＩＯ≦Ａｄｐａｔ
ここで、パトロールリード実行時刻予測判定部１１８は、予め、制限時間と１アドレス当たりのパトロールリードの処理時間を記憶してもよい。例えば、情報処理装置１００の利用者が、情報処理装置１００に、制限時間とパトロールリードの処理時間とを設定してもよい。あるいは、パトロールリード実行時刻予測判定部１１８は、実際のパトロールリードの処理時間を計測し、パトロールリードの処理時間として計測値を記憶してもよい。
【００５４】
さらに、パトロールリード実行時刻予測判定部１１８は、Ｉ／Ｏ要求の受信状態を考慮してもよい。より具体的には、パトロールリード実行時刻予測判定部１１８は、平均Ｉ／Ｏ要求数と、Ｉ／Ｏ要求の平均処理時間とを基に、上記の判定を修正してもよい。この処理を実行する場合、パトロールリード実行時刻予測判定部１１８は、ホスト・システムからのＩ／Ｏ要求を監視して、平均Ｉ／Ｏ要求数を算出してもよい。あるいは、パトロールリード実行時刻予測判定部１１８は、Ｉ／Ｏ要求の処理時間を監視して、平均処理時間を算出してもよい。
【００５５】
Ｉ／Ｏ要求のアドレスが範囲１の場合（例えば、図３のライトアドレス１及びライトアドレス２の場合）、情報処理装置１００は、データの複製に、既に説明したパトロールリードを利用した複製を用いることができる。そこで、情報処理装置１００は、通常のＩ／Ｏ要求と同様に処理する。情報処理装置１００は、このＩ／Ｏ要求に対しては、その他の動作を必要としない。
【００５６】
Ｉ／Ｏ要求のアドレスが範囲２の場合（例えば、図３のライトアドレス３）、情報処理装置１００は、データの複製にパトロールリードを用いることができない。そこで、情報処理装置１００は、次のような動作を基に、データを複製する。
【００５７】
まず、情報処理装置１００は、通常のＩ／Ｏ要求の動作として、運用系記憶装置２００にＩ／Ｏ要求に対応した動作（例えば、書き込み）実行する。次に、情報処理装置１００のライトアドレス記憶部１１２は、処理したＩ／Ｏ要求のアドレス（例えば、ライトアドレス３）を記憶する。ライトアドレス記憶部１１２がアドレスを記憶した場合、データ同期処理判定部１１９は、Ｉ／Ｏ要求を監視し、Ｉ／Ｏ要求がない状態を待つ。Ｉ／Ｏ要求がない状態を検出した場合、データ同期処理判定部１１９は、データ同期処理部１２０に同期処理の開始を通知する。データ同期処理部１２０は、ライトアドレス記憶部１１２に記憶されているアドレス（例えば、ライトアドレス３）のデータを運用系記憶装置２００から読み出し、読み出したデータをバックアップ系記憶装置２１０に書き込む。
【００５８】
ただし、制限時間が経過しても、Ｉ／Ｏ処理がなくならない場合、データ同期処理判定部１１９は、データ同期処理部１２０に同期処理の開始を通知する。つまり、データ同期処理判定部１１９は、ライトアドレス記憶部１１２がアドレスを記憶してから、最大でも制限時間内に、データの複製を開始するように、データ同期処理部１２０に複製開始の通知を送信する。この動作を基に、情報処理装置１００は、運用系記憶装置２００とバックアップ系記憶装置２１０との間でデータの不整合を防ぐことができる。
【００５９】
このように、情報処理装置１００は、Ｉ／Ｏ要求がある場合でも、パトロールリードを用いた複製処理を実行できるアドレスのデータについては、パトロールリードを用いた複製処理を実行する。そのため、情報処理装置１００は、システム性能の低下を改善する。また、情報処理装置１００は、パトロールリードを用いた複製処理を実行できないアドレスのデータに関しては、Ｉ／Ｏ要求がないタイミングを優先して、複製処理を実行する。そのため、情報処理装置１００は、Ｉ／Ｏ要求のアドレスが範囲２に含まれる場合でも、ホスト・システムから運用系記憶装置２００へのＩ／Ｏ要求の処理に対する影響を削減できる。
【００６０】
次に、情報処理装置１００の動作を、図面を参照して、さらに説明する。
【００６１】
図４ないし図６は、情報処理装置１００の動作の一例を示すフローチャートである。
【００６２】
パトロールリード処理部１１１は、パトロールリードを開始する（ステップＳ１０１）。以降、パトロールリード処理部１１１は、パトロールリードを継続する。このパトロールリードは、一般的なパトロールリードと同様である。
【００６３】
データ同期処理判定部１１９は、ライトアドレス記憶部１１２に、アドレスが登録されているか否かを判定する（ステップＳ１０２）。
【００６４】
アドレスが登録されていない場合（ステップＳ１０２でのＮｏ）、パトロールリード処理部１１１は、ホスト・システムからのＩ／Ｏ要求があるか否かを判定する（ステップＳ１０３）。
【００６５】
Ｉ／Ｏ要求がない場合（ステップＳ１０３でＮｏ）、パトロールリード処理部１１１は、運用系記憶装置２００に対してパトロールリードを実行する（ステップＳ１０４）。
【００６６】
複製処理部１１７は、パトロールリード処理部１１１が読み出したデータを、バックアップ系記憶装置２１０に書き出す（ステップＳ１０５）。つまり、複製処理部１１７は、データを複製する。
【００６７】
情報処理装置１００の動作は、ステップＳ１０５の後、ステップＳ１０２に戻り、動作を継続する。
【００６８】
Ｉ／Ｏ要求がある場合（ステップＳ１０３でＹｅｓ）、情報処理装置１００は、Ｉ／Ｏが書き込みであるか否かを判定する（ステップＳ３０１）。ただし、情報処理装置１００は、この判定を含まなくてもよい。例えば、書き込みと読み出しとにおいて同様に動作する場合、情報処理装置１００は、この動作を含まなくてもよい。
【００６９】
書き込みの場合（ステップＳ３０１でＹｅｓ）、パトロールリード実行時刻予測判定部１１８は、Ｉ／Ｏ要求のアドレスにおけるパトロールリードの実行時刻を予測する（ステップＳ３０２）。
【００７０】
そして、パトロールリード実行時刻予測判定部１１８は、その時刻を基に、Ｉ／Ｏ要求のアドレスが、図３に示す範囲１に入るか否か、つまり制限時間内にパトロールリードが実行されるか否か判定する（ステップＳ３０３）。
【００７１】
パトロールリードが実行されない場合（ステップＳ３０３でＮｏ）、ライトアドレス記憶部１１２は、Ｉ／Ｏ要求のアドレスを記憶する（ステップＳ３０４）。
【００７２】
書き込みでない場合（ステップＳ３０１でＮｏ）、範囲１に含まれる場合（ステップＳ３０３でＹｅｓ）、又は、アドレスの記憶後、情報処理装置１００は、Ｉ／Ｏ要求を実行する（ステップＳ３０５）。
【００７３】
その後、情報処理装置１００の動作は、ステップＳ１０４に戻る。
【００７４】
アドレスがある場合（ステップＳ１０２でＹｅｓ）、データ同期処理判定部１１９は、所定の時間（制限時間）が経過したか否かを判定する（ステップＳ２０１）。
【００７５】
制限時間を経過していない場合（ステップＳ２０１でＮｏ）、データ同期処理判定部１１９は、ホスト・システムからのＩ／Ｏ要求があるか否かを判定する（ステップＳ２０２）。
【００７６】
Ｉ／Ｏ要求がない場合（ステップＳ２０２でＮｏ）又は制限時間を経過した場合（ステップＳ２０１でＹｅｓ）、データ同期処理判定部１１９は、データ同期処理部１２０にデータの同期の開始の通知を送信する。
【００７７】
データ同期処理部１２０は、ライトアドレス記憶部１１２に記憶されているアドレスのデータを、運用系記憶装置２００から読み出し、バックアップ系記憶装置２１０に書き込む（ステップＳ２０３）。つまり、データ同期処理部１２０は、データを複製する。
【００７８】
データ同期処理部１２０は、処理したアドレスをライトアドレス記憶部１１２から削除する（ステップＳ２０４）。
【００７９】
そして、情報処理装置１００の動作は、ステップＳ１０３に戻る。
【００８０】
Ｉ／Ｏ要求がある場合（ステップＳ２０２でＹｅｓ）、情報処理装置１００の動作は、ステップＳ３０１に進む。
【００８１】
［効果の説明］
第１の実施形態に係る情報処理装置１００の効果について説明する。
【００８２】
情報処理装置１００は、複製処理に基づく性能の低下を改善するとの効果を得ることができる。
【００８３】
その理由は、次のとおりである。
【００８４】
情報処理装置１００の複製処理部１１７は、Ｉ／Ｏ要求がない場合、パトロールリード処理部１１１がパトロールリードで読み出したデータを、複製用のデータとして用いる。そのため、情報処理装置１００は、複製のための読み出し処理を削減できるためである。また、Ｉ／Ｏ要求がある場合、情報処理装置１００は、パトロールリード実行時刻予測判定部１１８が、Ｉ／Ｏ要求のアドレスがパトロールリードを用いた複製が可能か否かを判定する。そして、可能でない場合、ライトアドレス記憶部１１２が、アドレスを記憶する。そして、データ同期処理判定部１１９が、システム性能に影響を与えにくい適切なタイミングでデータ同期処理部１２０に開始の指示を送信する。そして、データ同期処理部１２０は、指示を基に、データの同期処理を実行するためである。
【００８５】
また、情報処理装置１００は、適切な制限時間を確保した複製処理を実現するとの効果を得ることができる。
【００８６】
その理由は、次のとおりである。
【００８７】
データ同期処理判定部１１９が、制限時間の経過を検出した場合、Ｉ／Ｏ要求の有無にかかわらず、データ同期処理部１２０に同期の処理を通知する。そのため、情報処理装置１００は、運用系記憶装置２００とバックアップ系記憶装置２１０の不整合を防ぐことができる。
【００８８】
また、パトロールリード処理部１１１のパトロールリードは、一般的なパトロールリードのため、定期的に運用系記憶装置２００の全てのアドレスに対して実行される。そのため、情報処理装置１００の複製処理は、定期的に運用系記憶装置２００の全てのアドレスのデータをバックアップ系記憶装置２１０に複製できるとの効果を得ることができる。
【００８９】
また、情報処理装置１００は、一般的なパトロールリードを利用する。そのため、情報処理装置１００は、既存のパトロールリードを実行する装置へ適用が容易であるとの効果を得ることができる。
【００９０】
以下、情報処理装置１００の変形例について説明する。
【００９１】
［変形例］
以上のように説明した情報処理装置１００は、次のように構成される。
【００９２】
例えば、情報処理装置１００の各構成部は、ハードウェア回路で構成されても良い。
【００９３】
また、情報処理装置１００は、情報処理装置１００の各構成部をネットワーク又はバスを介して接続した複数の情報処理装置を用いて構成されても良い。
【００９４】
また、情報処理装置１００は、複数の構成部を１つのハードウェアで構成しても良い。
【００９５】
また、情報処理装置１００は、ＣＰＵ（Central Processing Unit）と、ＲＯＭ（Read Only Memory）と、ＲＡＭ（Random Access Memory）とを含むコンピュータ装置として実現しても良い。情報処理装置１００は、上記構成に加え、さらに、入出力接続回路（ＩＯＣ：Input / Output Circuit）と、ネットワークインターフェース回路（ＮＩＣ：Network Interface Circuit）とを含むコンピュータ装置として実現しても良い。
【００９６】
図６は、情報処理装置１００の変形例に係る情報処理装置６００の構成の一例を示すブロック図である。
【００９７】
情報処理装置６００は、ＣＰＵ６１０と、ＲＯＭ６２０と、ＲＡＭ６３０と、内部記憶装置６４０と、ＩＯＣ６５０と、ＮＩＣ６８０と、ＮＩＣ６９０とを含み、コンピュータ装置を構成している。
【００９８】
ＣＰＵ６１０は、ＲＯＭ６２０からプログラムを読み込む。そして、ＣＰＵ６１０は、読み込んだプログラムに基づいて、ＲＡＭ６３０と、内部記憶装置６４０と、ＩＯＣ６５０と、ＮＩＣ６８０と、ＮＩＣ６９０とを制御する。そして、ＣＰＵ６１０を含むコンピュータは、これらの構成を制御し、図１に示す各部としての各機能を実現する。ここで、図１に示す各部とは、パトロールリード処理部１１１と、複製処理部１１７と、パトロールリード実行時刻予測判定部１１８と、ライトアドレス記憶部１１２と、データ同期処理判定部１１９と、データ同期処理部１２０とである。
【００９９】
ＣＰＵ６１０は、各機能を実現する際に、ＲＡＭ６３０又は内部記憶装置６４０を、プログラムの一時記憶として使用しても良い。
【０１００】
また、ＣＰＵ６１０は、コンピュータで読み取り可能にプログラムを記憶した記憶媒体７００が含むプログラムを、図示しない記憶媒体読み取り装置を用いて読み込んでも良い。あるいは、ＣＰＵ６１０は、ＮＩＣ６８０又はＮＩＣ６９０を介して、図示しない外部の装置からプログラムを受け取り、ＲＡＭ６３０に保存して、保存したプログラムを基に動作しても良い。
【０１０１】
ＲＯＭ６２０は、ＣＰＵ６１０が実行するプログラム及び固定的なデータを記憶する。ＲＯＭ６２０は、例えば、Ｐ−ＲＯＭ（Programable-ROM）又はフラッシュＲＯＭである。
【０１０２】
ＲＡＭ６３０は、ＣＰＵ６１０が実行するプログラム及びデータを一時的に記憶する。ＲＡＭ６３０は、例えば、Ｄ−ＲＡＭ（Dynamic-RAM）である。
【０１０３】
内部記憶装置６４０は、情報処理装置６００が長期的に保存するデータ及びプログラムを記憶する。また、内部記憶装置６４０は、ＣＰＵ６１０の一時記憶装置として動作しても良い。内部記憶装置６４０は、例えば、ハードディスク装置、光磁気ディスク装置、ＳＳＤ（Solid State Drive）又はディスクアレイ装置である。
【０１０４】
ここで、ＲＯＭ６２０と内部記憶装置６４０は、不揮発性の記憶媒体である。一方、ＲＡＭ６３０は、揮発性の記憶媒体である。そして、ＣＰＵ６１０は、ＲＯＭ６２０、内部記憶装置６４０、又は、ＲＡＭ６３０に記憶されているプログラムを基に動作可能である。つまり、ＣＰＵ６１０は、不揮発性記憶媒体又は揮発性記憶媒体を用いて動作可能である。
【０１０５】
ＩＯＣ６５０は、ＣＰＵ６１０と、入力機器６６０及び表示機器６７０とのデータを仲介する。ＩＯＣ６５０は、例えば、ＩＯインターフェースカード又はＵＳＢ（Universal Serial Bus）カードである。
【０１０６】
入力機器６６０は、情報処理装置６００の操作者からの入力指示を受け取る機器である。入力機器６６０は、例えば、キーボード、マウス又はタッチパネルである。
【０１０７】
表示機器６７０は、情報処理装置６００の操作者に情報を表示する機器である。表示機器６７０は、例えば、液晶ディスプレイである。
【０１０８】
ＮＩＣ６８０及びＮＩＣ６８０は、ネットワークを介した図示しない外部の装置とのデータのやり取りを中継する。例えば、ＮＩＣ６８０が、運用系記憶装置２００及びバックアップ系記憶装置２１０と接続し、ＮＩＣ６９０が、ホスト・システムを接続してもよい。ＮＩＣ６８０及びＮＩＣ６９０は、例えば、ＬＡＮ（Local Area Network）カード又はファイバーチャネル・カードである。
【０１０９】
このように構成された情報処理装置６００は、情報処理装置１００と同様の効果を得ることができる。
【０１１０】
その理由は、情報処理装置６００のＣＰＵ６１０が、プログラムに基づいて、情報処理装置１００と同様の機能を実現できるためである。
【０１１１】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成及び詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【０１１２】
１００    情報処理装置
１１１    パトロールリード処理部
１１２    ライトアドレス記憶部
１１７    複製処理部
１１８    パトロールリード実行時刻予測判定部
１１９    データ同期処理判定部
１２０    データ同期処理部
２００    運用系記憶装置
２１０    バックアップ系記憶装置
６００    情報処理装置
６１０    ＣＰＵ
６２０    ＲＯＭ
６３０    ＲＡＭ
６４０    内部記憶装置
６５０    ＩＯＣ
６６０    入力機器
６７０    表示機器
６８０    ＮＩＣ
６９０    ＮＩＣ
７００    記憶媒体
【図１】
2016066286.tif 000003
【図２】
2016066286.tif 000004
【図３】
2016066286.tif 000005
【図４】
2016066286.tif 000006
【図５】
2016066286.tif 000007
【図６】
2016066286.tif 000008
【図７】
2016066286.tif 000009