(57)【要約】  本発明は、二重化処理のコピー先における二重化対象のデータ（領域）の読出し要求に対して、常に最新のデータを用いて応答し得るようにするために、データ処理装置（２）からの複数の記憶部（１０）〜（１３）に対する書込み要求および読出し要求の処理順序を保持するキューイング部（２６）と、データ処理装置（２）からコピー先の他の記憶部（１２）の二重化制御部（２５）による二重化処理の対象領域に対する読出し要求が発行され、キューイング部（２６）において当該読出し要求の処理順序よりも後に、当該読出し要求の対象領域に対応するコピー元の一の記憶部（１１）の対象領域に対する書込み要求がある場合には、キューイング部（２６）における当該読出し要求の処理順序を当該書込み要求より後に変更する処理順序制御部（２７）とを備えて構成する。
2009013830.tif 000002
【特許請求の範囲】
【請求項１】
データを保持する複数の記憶部のうちの少なくとも一の記憶部と、該複数の記憶部に保持されたデータを処理対象とする少なくとも一つのデータ処理装置との間に介装され、該データ処理装置からの処理要求に応じて少なくとも該一の記憶部に対する処理を行なう記憶部制御装置であって、
該一の記憶部の所定記憶領域内のデータを該複数の記憶部のうちの他の記憶部にコピーすることにより該所定の記憶領域内のデータを二重化状態に維持する二重化制御部と、
該データ処理装置からの該複数の記憶部に対する書込み要求および読出し要求の処理順序を保持するキューイング部と、
該データ処理装置から該他の記憶部の該二重化制御部による二重化処理の対象領域に対する読出し要求が発行され、該キューイング部において当該読出し要求の処理順序よりも後に、当該読出し要求の対象領域に対応する該一の記憶部の対象領域に対する書込み要求がある場合には、該キューイング部における当該読出し要求の処理順序を当該書込み要求より後に変更する処理順序制御部とを備えて構成されていることを特徴とする、記憶部制御装置。
【請求項２】
該キューイング部に保持された処理順序に基づいて当該読出し要求を実行する際に、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が未完了であれば、該二重化制御部に該対象領域のデータを該一の記憶部から該他の記憶部にコピーさせてから当該読出し要求を実行する一方、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が完了していれば、当該読出し要求を実行する処理部を備えて構成されたことを特徴とする、請求項１記載の記憶部制御装置。
【請求項３】
該処理順序制御部は、当該読出し要求が該キューイング部に保持されてから所定時間内であれば、当該読出し要求の処理順序を、対応する該書込み要求の後に変更することを特徴とする、請求項１または請求項２記載の記憶部制御装置。
【請求項４】
該二重化制御部による該二重化処理の進捗状況を該他の記憶部の記憶領域に対応付けて管理する管理テーブルをそなえ、
該処理部が、該管理テーブルに基づいて当該読出し要求にかかる該対象領域のデータの二重化処理が完了しているか否かを判断することを特徴とする、請求項１〜３のいずれか１項に記載の記憶部制御装置。
【請求項５】
該二重化制御部は、該一の記憶部の該所定記憶領域内のデータの二重化状態への遷移が完了した後は、該一の記憶部の該所定記憶領域内のデータが更新される度に更新されたデータを該他の記憶部にコピーすることにより該二重化状態を維持することを特徴とする、請求項１〜４のいずれか１項に記載の記憶部制御装置。
【請求項６】
データを保持する複数の記憶部と、
該複数の記憶部に保持されたデータを処理対象とする少なくとも一つのデータ処理装置と、
該複数の記憶部のうちの少なくとも一の記憶部と該データ処理装置との間に介装され、該データ処理装置からの処理要求に応じて少なくとも該一の記憶部に対する処理を行なう第１記憶部制御装置とをそなえ、
該第１記憶部制御装置が、
該一の記憶部の所定記憶領域内のデータを該複数の記憶部のうちの他の記憶部にコピーすることにより該所定の記憶領域内のデータを二重化状態に維持する二重化制御部と、
該データ処理装置からの該複数の記憶部に対する書込み要求およびデータの読出し要求の処理順序を保持するキューイング部と、
該データ処理装置から該他の記憶部の該二重化制御部による二重化処理の対象領域に対する読出し要求が発行され、該キューイング部において当該読出し要求の処理順序よりも後に、当該読出し要求の対象領域に対応する該一の記憶部の対象領域に対する書込み要求がある場合には、該キューイング部における当該読出し要求の処理順序を当該書込み要求より後に変更する処理順序制御部とを備えて構成されていることを特徴とする、記憶部制御システム。
【請求項７】
該第１記憶部制御装置が、該キューイング部に保持された処理順序に基づいて当該読出し要求を実行する際に、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が未完了であれば、該二重化制御部に該対象領域のデータを該一の記憶部から該他の記憶部にコピーさせてから当該読出し要求を実行する一方、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が完了していれば、当該読出し要求を実行する処理部を備えて構成されていることを特徴とする、請求項６記載の記憶部制御システム。
【請求項８】
該他の記憶部と該データ処理装置との間に介装され、該データ処理装置からの処理要求に応じて少なくとも該他の記憶部に対する処理を行なう第２記憶部制御装置をそなえ、
該第２記憶部制御装置が、該キューイング部に保持された処理順序に基づいて当該読出し要求を実行する際に、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が未完了であれば、該二重化制御部に該対象領域のデータを該一の記憶部から該他の記憶部にコピーさせてから当該読出し要求を実行する一方、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が完了していれば、当該読出し要求を実行する処理部を備えて構成されていることを特徴とする、請求項６記載の記憶部制御システム。
【請求項９】
該処理順序制御部は、当該読出し要求が該キューイング部に保持されてから所定時間内であれば、当該読出し要求の処理順序を、対応する該書込み要求の後に変更することを特徴とする、請求項６〜８のいずれか１項に記載の記憶部制御システム。
【請求項１０】
該二重化制御部による該二重化処理の進捗状況を該他の記憶部の記憶領域に対応付けて管理する管理テーブルをそなえ、
該処理部が、該管理テーブルに基づいて当該読出し要求にかかる該対象領域のデータの二重化処理が完了しているか否かを判断することを特徴とする、請求項６〜９のいずれか１項に記載の記憶部制御システム。
【請求項１１】
該二重化制御部は、該一の記憶部の該所定記憶領域内のデータの二重化状態への遷移が完了した後は、該一の記憶部の該所定記憶領域内のデータが更新される度に更新されたデータを該他の記憶部にコピーすることにより該二重化状態を維持することを特徴とする、請求項６〜１０のいずれか１項に記載の記憶部制御システム。
【請求項１２】
データを保持する複数の記憶部と、該複数の記憶部に保持されたデータを処理対象とする少なくとも一つのデータ処理装置と、該複数の記憶部のうちの少なくとも一の記憶部と該データ処理装置との間に介装され、該データ処理装置からの該複数の記憶部に対する書込み要求およびデータの読出し要求の処理順序を保持するキューイング部を有し、該データ処理装置からの処理要求に応じて少なくとも該一の記憶部に対する処理を行なう第１記憶部制御装置とからなる記憶部制御システムにおいて、二重化対象のデータの読出し要求を実行する機能をコンピュータに実現させるための記憶部制御プログラムであって、
該第１記憶部制御装置が、
該一の記憶部の所定記憶領域内のデータを該複数の記憶部のうちの他の記憶部にコピーすることにより該所定の記憶領域内のデータを二重化状態に維持する二重化制御部、および、
該データ処理装置から該他の記憶部の該二重化制御部による二重化処理の対象領域に対する読出し要求が発行され、該キューイング部において当該読出し要求の処理順序よりも後に、当該読出し要求の対象領域に対応する該一の記憶部の対象領域に対する書込み要求がある場合には、該キューイング部における当該読出し要求の処理順序を当該書込み要求より後に変更する処理順序制御部として機能するように、該コンピュータを機能させることを特徴とする、記憶部制御プログラム。
【請求項１３】
該第１記憶部制御装置が、該キューイング部に保持された処理順序に基づいて当該読出し要求を実行する際に、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が未完了であれば、該二重化制御部に該対象領域のデータを該一の記憶部から該他の記憶部にコピーさせてから当該読出し要求を実行する一方、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が完了していれば、当該読出し要求を実行する処理部として機能するように、該コンピュータを機能させることを特徴とする、請求項１２記載の記憶部制御プログラム。
【請求項１４】
該データ処理装置からの処理要求に応じて少なくとも該他の記憶部に対する処理を行なうべく、該他の記憶部と該データ処理装置との間に介装され該記憶部制御システムを構成する第２記憶部制御装置が、該キューイング部に保持された処理順序に基づいて当該読出し要求を実行する際に、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が未完了であれば、該二重化制御部に該対象領域のデータを該一の記憶部から該他の記憶部にコピーさせてから当該読出し要求を実行する一方、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が完了していれば、当該読出し要求を実行する処理部として機能するように、該コンピュータを機能させることを特徴とする、請求項１３記載の記憶部制御プログラム。
【請求項１５】
該処理順序制御部が、当該読出し要求が該キューイング部に保持されてから所定時間内であれば、当該読出し要求の処理順序を、対応する該書込み要求の後に変更するように、該コンピュータを機能させることを特徴とする、請求項１２〜１４のいずれか１項に記載の記憶部制御プログラム。
【請求項１６】
該第１記憶部制御装置が、該二重化制御部による該二重化処理の進捗状況を該他の記憶部の記憶領域に対応付けて管理する管理テーブルをそなえて構成され、
該処理部が、該管理テーブルに基づいて当該読出し要求にかかる該対象領域のデータの二重化処理が完了しているか否かを判断するように、該コンピュータを機能させることを特徴とする、請求項１２〜１５のいずれか１項に記載の記憶部制御プログラム
【請求項１７】
該二重化制御部が、該一の記憶部の該所定記憶領域内のデータの二重化状態への遷移が完了した後は、該一の記憶部の該所定記憶領域内のデータが更新される度に更新されたデータを該他の記憶部にコピーすることにより該二重化状態を維持するように、該コンピュータを機能させることを特徴とする、請求項１２〜１６のいずれか１項に記載の記憶部制御プログラム。
【請求項１８】
データを保持する複数の記憶部と、該複数の記憶部に保持されたデータを処理対象とする少なくとも一つのデータ処理装置と、該複数の記憶部のうちの少なくとも一の記憶部と該データ処理装置との間に介装され、該データ処理装置からの該複数の記憶部に対する書込み要求およびデータの読出し要求の処理順序を保持するキューイング部を有し、該データ処理装置からの処理要求に応じて少なくとも該一の記憶部に対する処理を行なう第１記憶部制御装置とからなる記憶部制御システムにおいて、二重化対象のデータの読出し要求を実行する機能をコンピュータに実現させるための記憶部制御プログラムを記録したコンピュータ読取可能な記録媒体であって、
該記憶部制御プログラムが、
該第１記憶部制御装置が、該一の記憶部の所定記憶領域内のデータを該複数の記憶部のうちの他の記憶部にコピーすることにより該所定の記憶領域内のデータを二重化状態に維持する二重化制御部、および、該データ処理装置から該他の記憶部の該二重化制御部による二重化処理の対象領域に対する読出し要求が発行され、該キューイング部において当該読出し要求の処理順序よりも後に、当該読出し要求の対象領域に対応する該一の記憶部の対象領域に対する書込み要求がある場合には、該キューイング部における当該読出し要求の処理順序を当該書込み要求より後に変更する処理順序制御部として機能するように、該コンピュータを機能させることを特徴とする、記憶部制御プログラムを記録したコンピュータ読取可能な記録媒体。
【請求項１９】
該第１記憶部制御装置が、該キューイング部に保持された処理順序に基づいて当該読出し要求を実行する際に、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が未完了であれば、該二重化制御部に該対象領域のデータを該一の記憶部から該他の記憶部にコピーさせてから当該読出し要求を実行する一方、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が完了していれば、当該読出し要求を実行する処理部として機能するように、該記憶部制御プログラムが該コンピュータを機能させることを特徴とする、請求項１８記載の記憶部制御プログラムを記録したコンピュータ読取可能な記録媒体。
【請求項２０】
該データ処理装置からの処理要求に応じて少なくとも該他の記憶部に対する処理を行なうべく、該他の記憶部と該データ処理装置との間に介装され該記憶部制御システムを構成する第２記憶部制御装置が、該キューイング部に保持された処理順序に基づいて当該読出し要求を実行する際に、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が未完了であれば、該二重化制御部に該対象領域のデータを該一の記憶部から該他の記憶部にコピーさせてから当該読出し要求を実行する一方、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が完了していれば、当該読出し要求を実行する処理部として機能するように、該記憶部制御プログラムが該コンピュータを機能させることを特徴とする、請求項１８記載の記憶部制御プログラムを記録したコンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の記憶部間でデータの二重化を行なう情報処理システムにおいて、データの二重化におけるコピー先の記憶部に対する処理要求を実行するための技術に関する。
【背景技術】
【０００２】
従来から、例えば、図８に示すような記憶部制御システム１００において、複数の記憶部１０１〜１０４間でデータの二重化（同期；Equivalent Copy）を行なう技術がある。
記憶部制御システム１００は、記憶部（ストレージ装置；ディスク）１０１〜１０４に保持されたデータを処理対象とするホスト１０５と、ホスト１０５からのアクセス要求（リード／ライト要求）に応じて記憶部１０１，１０２に対する処理を行なう記憶部制御装置［図中“ＣＭ（Centralized Module）”と表記］１１０と、ホスト１０５からのアクセス要求に応じて記憶部１０３，１０４に対する処理を行なう記憶部制御装置（図中“ＣＭ”と表記）１２０と、ホスト１０５と記憶部制御装置１１０とのインタフェース制御を行なうチャネルアダプタ［図中“ＣＡ（Channel Adapter）”と表記］１１３ａ，１１３ｂと、ホスト１０５と記憶部制御装置１２０とのインタフェース制御を行なうチャネルアダプタ（図中“ＣＡ”と表記）１２３ａ，１２３ｂと、記憶部制御装置１１０と記憶部１０１，１０２とのインタフェース制御を行なうファイバチャネル［図中“ＦＣ（Fiber Channel）”と表記］１１４ａ，１１４ｂと、記憶部制御装置１２０と記憶部１０３，１０４とのインタフェース制御を行なうファイバチャネル（図中“ＦＣ”と表記）１２４ａ，１２４ｂとを備えて構成されている。【０００３】
なお、記憶部制御装置１１０，１２０のそれぞれは、データ処理を実行するＣＰＵ（Central Processing Unit）１１１，１２１と、キャッシュ１１２，１２２とをそれぞれ備えている。また、記憶部制御装置１１０，１２０，ＣＡ１１３ａ，１１３ｂ，１２３ａ，１２３ｂ，ＦＣ１１４ａ，１１４ｂ，１２４ａ，１２４ｂ，および記憶部１０１〜１０４によって、ストレージ装置１０６が構成される。【０００４】
そして、記憶部制御システム１００は、記憶部制御装置１１０，１２０が協働して、記憶部１０２の所定領域内のデータを、記憶部１０３にコピーすることにより、当該所定領域内のデータを二重化している。
具体的には、記憶部制御装置１１０，１２０は、記憶部１０２の所定領域内のデータコピーを実行し、コピー元の記憶部１０２のデータをコピー先の記憶部１０３にコピーすることによって、かかる所定領域内のデータを二重化状態に保つ。【０００５】
そのため、記憶部制御システム１００において、記憶部１０２および記憶部制御装置１１０がマスタ側として機能するのに対して、記憶部１０３および記憶部制御装置１２０がスレーブ側として機能するように構成され、ホスト１０５はデータのリード（読出し）要求は、記憶部１０２，１０３を対象として記憶部制御装置１１０，１２０の両方に送信するが、ライト（書込み）要求は記憶部１０２を対象として記憶部制御装置１１０に対してのみ送信する。【０００６】
記憶部制御システム１００では、二重化を実現するための初期時において、データコピーが開始されてから、すべての対象領域内のデータのコピーが完了して二重化状態に遷移するまでの間は、データの保証がないため、コピー先としての記憶部１０３のデータ記憶領域（ボリューム）からのデータの読出しは禁止していた。
例えば、二重化が完了するまでの間に、ホスト１０５から記憶部１０２の二重化対象領域に対する読出し要求があっても、二重化されたデータを読み出すことができるという保証がないため、記憶部制御装置１２０は、ホスト１０５に対してエラー応答を返すなどして、記憶部制御装置１２０からの記憶部１０３に対するデータ読出し処理を抑止するように構成されていた。【０００７】
したがって、ホスト１０５のユーザ等は、二重化が完了するまではコピー先の記憶部１０３からデータを読み出すことができず不便であった。
なお、従来からストレージシステムの災害復旧時に複製元の記憶領域のデータの複製を複製先の記憶領域においても管理する技術（リモートコピー）があり、このリモートコピー中にまだ複製が完了していない複製先に読出し要求があると、複製元にその読出し要求のデータを要求し、当該データを受信後読出し要求に応じる技術がある（例えば、下記特許文献１）。
【特許文献１】特開２００５−１６５６１８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところで、上述した図８に示す従来の記憶部制御システム１００においては、二重化が完了する前であっても完了後であっても共通して、コピー先である記憶部１０３において二重化されたデータに対する読出し要求は、コピー元の記憶部１０２の最新のデータに基づいて実行されることが好ましい。
例えば、記憶部１０３に対する読出し要求があった際に、当該読出し要求に対応する記憶部１０２の対応データ（元データ）の更新処理が行われている最中ならば、その更新後のデータを読み出すことが好ましい。【０００９】
記憶部制御システム１００では、少なくともデータの二重化対象である記憶部１０２，１０３に対するホスト１０５からのリード／ライト要求は、その処理順序をキューイングテーブル（図示せず）で管理している。したがって、このキューイングテーブルに元データの更新処理が既に登録されているならば、その更新処理後のデータを記憶部１０３に対する読出し要求に用いることが望ましい。【００１０】
しかしながら、従来の記憶部制御システム１００では、実行中（キューイング中）の元データに対する更新処理（書込み処理）があったとしても、更新処理後のデータをコピー先に対する読出し要求に用いることはできなかった。
本発明は、このような課題に鑑み創案されたもので、二重化処理のコピー先における二重化対象のデータ（領域）の読出し要求に対して、常に最新のデータを用いて応答し得るようにすることを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本発明の記憶部制御装置は、データを保持する複数の記憶部のうちの少なくとも一の記憶部と、該複数の記憶部に保持されたデータを処理対象とする少なくとも一つのデータ処理装置との間に介装され、該データ処理装置からの処理要求に応じて少なくとも該一の記憶部に対する処理を行なうものであって、該一の記憶部の所定記憶領域内のデータを該複数の記憶部のうちの他の記憶部にコピーすることにより該所定の記憶領域内のデータを二重化状態に維持する二重化制御部と、該データ処理装置からの該複数の記憶部に対する書込み要求および読出し要求の処理順序を保持するキューイング部と、該データ処理装置から該他の記憶部の該二重化制御部による二重化処理の対象領域に対する読出し要求が発行され、該キューイング部において当該読出し要求の処理順序よりも後に、当該読出し要求の対象領域に対応する該一の記憶部の対象領域に対する書込み要求がある場合には、該キューイング部における当該読出し要求の処理順序を当該書込み要求より後に変更する処理順序制御部とを備えて構成されていることを特徴としている。【００１２】
なお、該キューイング部に保持された処理順序に基づいて当該読出し要求を実行する際に、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が未完了であれば、該二重化制御部に該対象領域のデータを該一の記憶部から該他の記憶部にコピーさせてから当該読出し要求を実行する一方、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が完了していれば、当該読出し要求を実行する処理部を備えて構成されることが好ましい。【００１３】
また、該処理順序制御部は、当該読出し要求が該キューイング部に保持されてから所定時間内であれば、当該読出し要求の処理順序を、対応する該書込み要求の後に変更することが好ましい。
さらに、該二重化制御部による該二重化処理の進捗状況を該他の記憶部の記憶領域に対応付けて管理する管理テーブルをそなえ、該処理部が、該管理テーブルに基づいて当該読出し要求にかかる該対象領域のデータの二重化処理が完了しているか否かを判断することが好ましい。【００１４】
なお、該二重化制御部は、該一の記憶部の該所定記憶領域内のデータの二重化状態への遷移が完了した後は、該一の記憶部の該所定記憶領域内のデータが更新される度に更新されたデータを該他の記憶部にコピーすることにより該二重化状態を維持することが好ましい。
また、上記目的を達成するために、本発明の記憶部制御システムは、データを保持する複数の記憶部と、該複数の記憶部に保持されたデータを処理対象とする少なくとも一つのデータ処理装置と、該複数の記憶部のうちの少なくとも一の記憶部と該データ処理装置との間に介装され、該データ処理装置からの処理要求に応じて少なくとも該一の記憶部に対する処理を行なう第１記憶部制御装置とをそなえ、該第１記憶部制御装置が、該一の記憶部の所定記憶領域内のデータを該複数の記憶部のうちの他の記憶部にコピーすることにより該所定の記憶領域内のデータを二重化状態に維持する二重化制御部と、該データ処理装置からの該複数の記憶部に対する書込み要求およびデータの読出し要求の処理順序を保持するキューイング部と、該データ処理装置から該他の記憶部の該二重化制御部による二重化処理の対象領域に対する読出し要求が発行され、該キューイング部において当該読出し要求の処理順序よりも後に、当該読出し要求の対象領域に対応する該一の記憶部の対象領域に対する書込み要求がある場合には、該キューイング部における当該読出し要求の処理順序を当該書込み要求より後に変更する処理順序制御部とを備えて構成されていることを特徴としている。【００１５】
なお、該第１記憶部制御装置が、該キューイング部に保持された処理順序に基づいて当該読出し要求を実行する際に、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が未完了であれば、該二重化制御部に該対象領域のデータを該一の記憶部から該他の記憶部にコピーさせてから当該読出し要求を実行する一方、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が完了していれば、当該読出し要求を実行する処理部を備えて構成されていることが好ましい。【００１６】
また、該他の記憶部と該データ処理装置との間に介装され、該データ処理装置からの処理要求に応じて少なくとも該他の記憶部に対する処理を行なう第２記憶部制御装置をそなえ、該第２記憶部制御装置が、該キューイング部に保持された処理順序に基づいて当該読出し要求を実行する際に、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が未完了であれば、該二重化制御部に該対象領域のデータを該一の記憶部から該他の記憶部にコピーさせてから当該読出し要求を実行する一方、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が完了していれば、当該読出し要求を実行する処理部を備えて構成されていることが好ましい。【００１７】
さらに、該処理順序制御部は、当該読出し要求が該キューイング部に保持されてから所定時間内であれば、当該読出し要求の処理順序を、対応する該書込み要求の後に変更することが好ましい。
なお、該二重化制御部による該二重化処理の進捗状況を該他の記憶部の記憶領域に対応付けて管理する管理テーブルをそなえ、該処理部が、該管理テーブルに基づいて当該読出し要求にかかる該対象領域のデータの二重化処理が完了しているか否かを判断することが好ましい。【００１８】
さらに、該二重化制御部は、該一の記憶部の該所定記憶領域内のデータの二重化状態への遷移が完了した後は、該一の記憶部の該所定記憶領域内のデータが更新される度に更新されたデータを該他の記憶部にコピーすることにより該二重化状態を維持することが好ましい。
また、上記目的を達成するために、本発明の記憶部制御プログラムは、データを保持する複数の記憶部と、該複数の記憶部に保持されたデータを処理対象とする少なくとも一つのデータ処理装置と、該複数の記憶部のうちの少なくとも一の記憶部と該データ処理装置との間に介装され、該データ処理装置からの該複数の記憶部に対する書込み要求およびデータの読出し要求の処理順序を保持するキューイング部を有し、該データ処理装置からの処理要求に応じて少なくとも該一の記憶部に対する処理を行なう第１記憶部制御装置とからなる記憶部制御システムにおいて、二重化対象のデータの読出し要求を実行する機能をコンピュータに実現させるためのプログラムであって、該第１記憶部制御装置が、該一の記憶部の所定記憶領域内のデータを該複数の記憶部のうちの他の記憶部にコピーすることにより該所定の記憶領域内のデータを二重化状態に維持する二重化制御部、および、該データ処理装置から該他の記憶部の該二重化制御部による二重化処理の対象領域に対する読出し要求が発行され、該キューイング部において当該読出し要求の処理順序よりも後に、当該読出し要求の対象領域に対応する該一の記憶部の対象領域に対する書込み要求がある場合には、該キューイング部における当該読出し要求の処理順序を当該書込み要求より後に変更する処理順序制御部として機能するように、該コンピュータを機能させることを特徴としている。【００１９】
なお、該第１記憶部制御装置が、該キューイング部に保持された処理順序に基づいて当該読出し要求を実行する際に、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が未完了であれば、該二重化制御部に該対象領域のデータを該一の記憶部から該他の記憶部にコピーさせてから当該読出し要求を実行する一方、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が完了していれば、当該読出し要求を実行する処理部として機能するように、該コンピュータを機能させることが好ましい。【００２０】
また、該データ処理装置からの処理要求に応じて少なくとも該他の記憶部に対する処理を行なうべく、該他の記憶部と該データ処理装置との間に介装され該記憶部制御システムを構成する第２記憶部制御装置が、該キューイング部に保持された処理順序に基づいて当該読出し要求を実行する際に、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が未完了であれば、該二重化制御部に該対象領域のデータを該一の記憶部から該他の記憶部にコピーさせてから当該読出し要求を実行する一方、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が完了していれば、当該読出し要求を実行する処理部として機能するように、該コンピュータを機能させることが好ましい。【００２１】
さらに、該処理順序制御部が、当該読出し要求が該キューイング部に保持されてから所定時間内であれば、当該読出し要求の処理順序を、対応する該書込み要求の後に変更するように、該コンピュータを機能させることが好ましい。
なお、該第１記憶部制御装置が、該二重化制御部による該二重化処理の進捗状況を該他の記憶部の記憶領域に対応付けて管理する管理テーブルをそなえて構成され、該処理部が、該管理テーブルに基づいて当該読出し要求にかかる該対象領域のデータの二重化処理が完了しているか否かを判断するように、該コンピュータを機能させることが好ましい。【００２２】
さらに、該二重化制御部が、該一の記憶部の該所定記憶領域内のデータの二重化状態への遷移が完了した後は、該一の記憶部の該所定記憶領域内のデータが更新される度に更新されたデータを該他の記憶部にコピーすることにより該二重化状態を維持するように、該コンピュータを機能させることが好ましい。
また、上記目的を達成するために、本発明のコンピュータ読取可能な記録媒体は、上述した記憶部制御プログラムを記録している。
【発明の効果】
【００２３】
このように、本発明によれば、データ処理装置から他の記憶部の二重化制御部による二重化処理の対象領域に対する読出し要求が発行され、キューイング部において当該読出し要求の処理順序よりも後に、当該読出し要求の対象領域に対応する一の記憶部の対象領域に対する書込み要求がある場合には、処理順序制御部が、キューイング部における当該読出し要求の処理順序を当該書込み要求より後に変更するので、データ処理装置から発行された当該読出し要求にかかるデータの一の記憶部における元データが更新される予定であれば、更新後のデータを用いて当該読出し要求に対する処理を行なうことができ、データ処理装置からの読出し要求に対して常に最新のデータを用いて応答することができる。【００２４】
さらに、処理順序制御部は、当該読出し要求がキューイング部に保持されてから所定時間内であれば、当該読出し要求の処理順序を、対応する当該書込み要求の後に変更するので、データ処理装置が当該読出し要求に対してタイムアウトを検出することを抑止できる。
また、処理部は、キューイング部に保持された処理順序に基づいて当該読出し要求を実行する際に、二重化制御部による当該読出し要求にかかる対象領域のデータの二重化処理が未完了であれば、二重化制御部に対象領域のデータを一の記憶部から他の記憶部にコピーさせてから、当該読出し要求を実行するので、二重化制御部がデータ処理装置から二重化の指示を受けてから、一の記憶部および他の記憶部間の二重化が未完了である領域に対して読出し要求があった場合であっても、その読出し要求を確実に実行することができる。【００２５】
なお、処理部が、管理テーブルに基づいて当該読出し要求にかかる対象領域のデータの二重化処理が完了しているか否かを判断するので、当該読出し要求に係るデータの他の記憶部における有無（つまり、二重化の有無）を確実に判断でき、その結果、当該読出し要求の実行をより確実なものにできる。
さらに、二重化制御部は、一の記憶部のデータの二重化状態への遷移が完了した後は、一の記憶部の二重化対象領域（所定記憶領域）内のデータが更新される度に更新されたデータを他の記憶部にコピーすることにより、二重化状態を維持するので、一の記憶部および他の記憶部間のデータの二重化を常に維持できる。
【図面の簡単な説明】
【００２６】
【図１】本発明の一実施形態としての記憶部制御システムの構成を示すブロック図である。
【図２】本発明の一実施形態としての記憶部制御システムのストレージ装置のＣＭ内のＣＰＵの機能構成を示すブロック図である。
【図３】本発明の一実施形態としての記憶部制御システムのストレージ装置のＣＭ内のＣＰＵの二重化処理部が保持する管理テーブルの構成を説明するための図である。
【図４】本発明の一実施形態としての記憶部制御システムのＣＭ内のＣＰＵの処理順序キューの構成を説明するための図である。
【図５】本発明の一実施形態としての記憶部制御システムのＣＭ内のＣＰＵの処理部の機能を説明するための図である。
【図６】本発明の一実施形態としての記憶部制御システムの動作手順の一例を示すフローチャートである。
【図７】本発明の変形例としての記憶部制御システムの動作手順の一例を示すフローチャートである。
【図８】従来の記憶部制御システムの構成を示すブロック図である。
【符号の説明】
【００２７】
１，１００  記憶部制御システム
２，１０５  ホスト（データ処理装置）
３，１０６  ストレージ装置
１０〜１３，１０１〜１０４  ディスク（記憶部）
２０  ＣＭ（Centralized Module；第１記憶部制御装置）
２１，３１，１１１，１２１  ＣＰＵ（Central Processing Unit）
２２，３２，１１２，１２２  キャッシュ
２３ａ，２３ｂ，３３ａ，３３ｂ，１１３ａ，１１３ｂ，１２３ａ，１２３ｂ  ＣＡ（Channel Adapter）
２４ａ，２４ｂ，３４ａ，３４ｂ，１１４ａ，１１４ｂ，１２４ａ，１２４ｂ  ＦＣ（Fiber Channel）
２５  二重化制御部
２６  処理順序キュー（キューイング部）
２７  処理順序制御部
２８  第１処理部
３０  ＣＭ（第２記憶部制御装置）
３５  第２処理部（処理部）
１１０，１２０  記憶部制御装置（ＣＭ）
【発明を実施するための最良の形態】
【００２８】
以下、図面を参照しながら本発明の実施の形態について説明する。
〔１〕本発明の一実施形態について
まず、図１に示すブロック図を参照しつつ、本発明の一実施形態としての記憶部制御システム（以下、本記憶部制御システムという）１の構成について説明すると、本記憶部制御システム１は、ホスト（データ処理装置）２とストレージ装置３とから構成されている。【００２９】
ホスト２はストレージ装置３に対して処理要求を発行するものであり、後述するディスク（記憶部）１０〜１３に対して書込み要求（ライト要求）や読出し要求（リード要求）を行なう。
ストレージ装置３は、ディスク１０〜１３と、ＣＭ（Centralized Module；記憶部制御装置）２０，３０と、ＣＡ（Channel Adapter）２３ａ，２３ｂ，３３ａ，３３ｂと、ＦＣ（Fiber Channel）２４ａ，２４ｂ，３４ａ，３４ｂとを備えて構成されている。なお、ＣＭ２０は本発明の第１記憶部制御装置として機能するものであり、ＣＭ３０は本発明の第２記憶部制御装置として機能するものである。【００３０】
ディスク１０〜１３はデータを保持する記憶部である。なお、ディスク１２には、後述する二重化制御部２５（後述する図２参照）によって、ディスク１１のデータがコピーされる。
ＣＭ２０，３０は、ホスト２からの処理要求に応じてディスク１０〜１３に対する処理を行なうものであり、ここでは、ＣＭ２０がディスク１０，１１に対する処理を行なう一方、ＣＭ３０がディスク１２，１３に対する処理を行なうように構成されている。【００３１】
ＣＭ２０は、ディスク１０，１１に対する書込み処理や読出し処理などを行なうＣＰＵ（Central Processing Unit）２１および一次メモリとしてのキャッシュ２２を備えている。
また、ＣＭ３０もＣＭ２０と同様に、ディスク１２，１３に対する書込み処理や読出し処理などを行なうＣＰＵ３１およびキャッシュ３２を備えている。【００３２】
なお、ＣＭ２０とＣＭ３０とは、互いに情報を送受信可能に接続されている。
ＣＡ２３ａ，２３ｂは、ホスト２とＣＭ２０とのインタフェース制御部として機能するものであり、ＣＡ３３ａ，３３ｂは、ホスト２とＣＭ３０とのインタフェース制御部として機能するものである。
ＦＣ２４ａ，２４ｂは、ディスク１０，１１とＣＭ２０とのインタフェース制御部として機能するものであり、ＦＣ３４ａ，３４ｂは、ディスク１２，１３とＣＭ３０とのインタフェース制御部として機能するものである。【００３３】
このように、ＣＭ２０は、ＣＡ２３ａ，２３ｂおよびＦＣ２４ａ，２４ｂをそれぞれ介して、ホスト２とディスク１０，１１との間に介装されている。
したがって、ホスト２からのリード／ライト要求は、ＣＡ２３ａ，２３ｂを介してＣＭ２０のＣＰＵ２１に送られ、また、ＣＰＵ２１からの応答は、ＣＡ２３ａ，２３ｂを介してホスト２に送られる。【００３４】
また、ＣＰＵ２１とディスク１０との間の情報のやり取りはＦＣ２４ａを介して行われ、ＣＰＵ２１とディスク１１との間の情報のやり取りはＦＣ２４ｂを介して行われる。
ＣＭ３０は、ＣＡ３３ａ，３３ｂおよびＦＣ３４ａ，３４ｂをそれぞれ介して、ホスト２とディスク１２，１３との間に介装されている。
したがって、ホスト２からのリード／ライト要求は、ＣＡ３３ａ，３３ｂを介してＣＭ３０のＣＰＵ３１に送られ、また、ＣＰＵ３１からの応答は、ＣＡ３３ａ，３３ｂを介してホスト２に送られる。【００３５】
また、ＣＰＵ３１とディスク１２との間の情報のやり取りはＦＣ３４ａを介して行われ、ＣＰＵ３１とディスク１３との間の情報のやり取りはＦＣ３４ｂを介して行われる。
次に、図２を参照しながらＣＭ２０のＣＰＵ２１およびＣＭ３０のＣＰＵ３１の詳細機能について説明する。
ＣＰＵ２１は、二重化制御部２５，処理順序キュー（キューイング部）２６，処理順序制御部２７，および第１処理部２８を備えて構成されている。なお、これら二重化制御部２５，処理順序制御部２７，および第１処理部２８は、ＣＰＵ２１が所定のアプリケーションプログラム（例えば後述する記憶部制御プログラム）を実行することによって実現される。【００３６】
二重化制御部２５は、ホスト２からの指示に応じて、ディスク１１の所定記憶領域内（ここではディスク１１の全領域内；指定コピー範囲（後述する図３参照））のデータを、ディスク１２にコピーすることにより、ディスク１１のデータを二重化状態に維持するものである。
二重化制御部２５は、ホスト２から二重化の指示を受けると、コピー元としてのディスク１１からコピー先としてのディスク１２に対してコピーを開始し、ディスク１１の全領域のコピーが完了してデータの二重化状態への遷移が完了した後は、ディスク１１，１２間のデータの二重化を維持すべく、ディスク１１のデータが更新される度に更新されたデータをディスク１２にコピーする。【００３７】
なお、本記憶部制御システム１では、二重化制御部２５の二重化処理が完了する前であっても、ホスト２は二重化対象のデータの読出しや、ディスク１１の二重化対象の領域に対する書込みを要求し、ＣＰＵ２１，３１はその要求を実行するように構成されている。
したがって、二重化制御部２５は、二重化が完了する前に、ディスク１１に対する書込み要求があれば、その書込み要求に対する処理後のデータをディスク１２にコピーする。【００３８】
また、二重化制御部２５は、図３に示すような管理テーブル２５ａをそなえており、この管理テーブル２５ａに二重化処理の進捗状況を登録する。
管理テーブル２５ａは、コピー先（もしくはコピー元）の所定領域（ブロック）毎に、データのコピー（つまり二重化）が完了したか否かをフラグによって管理するものであり、ここでは“０”が完了を示し、“１”が未完了を示している。【００３９】
なお、管理テーブル２５ａや処理順序キュー２６は、例えばＣＰＵ２１のメモリ（図示せず）によって実現される。
処理順序キュー２６は、ホスト２から発行された、ディスク１０〜１３に対するリード／ライト要求の処理順序を一括して保持するものである。つまり、処理順序キュー２６は、ホスト２からＣＭ２０のＣＰＵ２１に対して発行されたリード／ライト要求と、ホスト２からＣＭ３０のＣＰＵ３１に発行されたリード／ライト要求とを統合して、これらすべてのリード／ライト要求の処理順序を保持する。【００４０】
なお、処理順序キュー２６がＣＰＵ２１（第１処理部２８）のリード／ライト要求の処理順序だけでなく、ＣＰＵ３１（第２処理部３５）のリード／ライト要求の処理順序も統合して保持するのは、処理順序制御部２７による処理順序の変更によって、二重化制御部２５による二重化処理が確実に実行できるようにするためである。したがって、この処理順序キュー２６は、少なくともディスク１１に対するリード／ライト要求と、ディスク１２に対するリード要求を保持していればよい。【００４１】
なお、本記憶部制御システム１では、上述したようにディスク１１がマスタとして機能し、ディスク１２がスレーブとして機能するので、ホスト２はディスク１２に対するライト要求を発行することはない。
処理順序制御部２７は、ホスト２からＣＰＵ３１の第２処理部３５に対して二重化のためのコピー先であるディスク１２の対象領域に対する読出し要求があった場合に、処理順序キュー２６において、その読出し要求の処理順序よりも後に当該読出し要求の対象領域に対応するコピー元のディスク１１の対象領域に対する書込み要求がある場合には、処理順序キュー２６における当該読出し要求の処理順序を当該書込み要求の後に変更するものである。【００４２】
具体的には、処理順序制御部２７は、図４に示すごとく、処理順序キュー２６において当該読出し要求（リード処理）Ａの前に、当該読出し要求と同じ処理対象範囲に対する処理がなければ［ここでは、処理順序が先頭（図中“トップ”と表記）になったとき］、当該読出し要求Ａに対応するコピー元のディスク１１の対象領域に対する書込み要求（つまり、当該読出し要求のデータの元データに対する更新処理の要求；ライト処理）Ｂが存在するか否かを判断する。【００４３】
そして、対応する書込み要求Ｂが存在し、且つ、ホスト２が当該読出し要求Ａに対するタイムアウトを検出しない範囲（応答制限時間）内であれば、当該読出し要求Ａの処理順序をその書込み要求Ｂの後ろに変更する（図４中の矢印Ｘ参照）。
なお、図４に示す例では、最後尾（図中“ボトム”と表記）にも読出し要求Ａに対応するディスク１１の対象領域への書込み要求Ｃが存在するが、処理順序制御部２７は、書込み要求Ｂの後ろに処理順序を変更した読出し要求Ａが処理順序の先頭に来たときに、ホスト２のタイムアウト検出までにまだ時間がある場合には、処理順序制御部２７は変更後の読出し要求Ａの処理順序を書込み要求Ｃの後にさらに変更する。【００４４】
処理順序制御部２７は、読出し要求Ａが処理順序キュー２６に保持された時刻を処理開始時間として記憶しており、読出し要求Ａの処理順序を変更する際（ここでは、読出し要求Ａの処理順序が先頭になったとき）、現在の時刻との差分を求めて処理開始からの経過時間を算出し、この経過時間に基づいて、読出し要求Ａの処理順序を対応する書込み要求Ｂ，Ｃの後ろに変更してもホスト２によってタイムアウトが検出されないか否かを判断する。
そして、処理順序制御部２７は、読出し要求Ａの処理順序を変更してもホスト２によってタイムアウトが検出されないと判断した場合にのみ、読出し要求Ａの処理順序を変更する。【００４５】
このように、処理順序制御部２７は、読出し要求Ａが処理順序キュー２６に保持されてから、処理順序を変更してもホスト２によってタイムアウトが検出されない所定時間内であれば、当該読出し要求Ａの処理順序を、対応する書込み要求Ｂ，Ｃの後に変更する。したがって、ホスト２にタイムアウトを検出されることを抑止しながら、最新データを当該読出し要求Ａに用いることができる。【００４６】
第１処理部２８は、ホスト２からのリード／ライト要求に応じてディスク１０，１１に対する処理を行なうものであり、処理順序キュー２７に保持された処理順序に基づいて処理を実行する。
ＣＰＵ３１は、第２処理部（処理部）３５を備えて構成されている。なお、第２処理部３５は、ＣＰＵ３１が所定のアプリケーションプログラム（例えば後述する記憶部制御プログラム）を実行することによって実現される。【００４７】
第２処理部３５は、ホスト２からのリード／ライト要求に応じてディスク１２，１３に対する処理を行なうものであり、処理順序キュー２６に保持された処理順序に基づいて、かかる処理を実行する。
また、第２処理部３５は、処理順序キュー２６に保持された処理順序に基づいて、二重化処理のコピー先であるディスク１１に対する読出し要求を実行する際には、二重化制御部２５による当該読出し要求にかかる対象領域のデータの二重化処理が完了しているか否かを、管理テーブル２５ａに基づいて判断する。【００４８】
そして、第２処理部３５は、読出し要求にかかるデータの二重化処理が未完了であり、ディスク１１には当該のデータが未だに記録（コピー）されていなければ、二重化制御部２５に対して当該データ（つまり、読出し要求にかかる対象領域）の二重化処理の要求を発行し、二重化制御部２５に当該読出し要求の対象領域のデータを、ディスク１１からディスク１２にコピーさせてから、当該読出し要求を実行する。【００４９】
つまり、図５に示すように、第２処理部３５は、ホスト２からディスク１２の読出し要求（図中“リードＩ／Ｏ”と表記；矢印(1)参照）を受けると、第２処理部３５は管理テーブル２５ａに基づいて当該読出し要求にかかる対象領域のデータがディスク１２に記録されているか否か、すなわち、当該対照領域の二重化処理が完了しているか否かを判断する。【００５０】
なお、第２処理部３５は、管理テーブル２５ａに対応する、ディスク１２における二重化データの有無（すなわち、二重化処理が完了しているか否か）を示すテーブル（図示せず）を備え、そのテーブルに基づいて読出し要求にかかるデータの有無を判断してもよい。
そして、第２処理部３５は、読出し要求にかかるデータがディスク１２になく、当該データの二重化処理が未完了であれば、ＣＭ２０の二重化処理部２５に対して当該データ（リード要求範囲）のコピー要求を発行する（図中矢印(2)参照）。【００５１】
二重化処理部２５は、第２処理部３５からデータコピーの依頼を受けると、当該対象範囲をコピー元のディスク１１（コピー元ボリューム）からコピー先のディスク１２（コピー先ボリューム）へコピーする（図中矢印(3)参照）。
二重化処理部２５による当該対象範囲のデータのコピーが完了すると、第２処理部３５は、ホスト２に対して当該データの読出し処理を実行する（図中矢印(4)参照）。【００５２】
なお、第２処理部３５は、管理テーブル２５ａに基づいて二重化制御部による当該読出し要求にかかるデータの二重化処理が完了していると判断すれば、当該読出し要求を実行する。【００５３】
次に、図６に示すフローチャート（ステップＳ１〜Ｓ１０）を参照しながら、ホスト２から二重化処理のコピー先であるディスク１２に対する読出し要求が発行された場合のストレージ装置３の動作手順について説明する。
まず、ホスト２から発行されたディスク１２に対する読出し要求を、ＣＡ３３ａもしくはＣＡ３３ｂを介してＣＭ３０の第２処理部３５が受信すると（ステップＳ１）、第２処理部３５はその読出し要求を処理順序キュー２６の最後尾に接続（登録）し、処理順序制御部２７が当該読出し要求を処理順序キュー２６の最後尾に接続した時刻を処理開始時刻として記憶する（ステップＳ２）。【００５４】
次に、処理順序制御部２７が、処理順序キュー２６において当該読出し要求の前にアクセス範囲が同じ処理があるか否かを判断し（ステップＳ３）、ここで処理順序制御部２７が同じアクセス範囲の処理があると判断すると（ステップＳ３のＹｅｓルート）、処理順序制御部２７は、その処理の完了を待ってから（ステップＳ４）、後述するステップＳ５の処理に移行する。【００５５】
なお、処理順序制御部２７が同じアクセス範囲の処理がないと判断すると（ステップＳ３のＮｏルート）、処理順序制御部２７は上記ステップＳ４の処理は行なわずに、後述するステップＳ５の処理に移行する。
つまり、処理順序制御部２７は、当該読出し要求と同じアクセス範囲の処理がなければ、上記ステップＳ２で記憶した処理開始時刻に基づいて、ホスト２の当該読出し要求の応答制限時間に余裕があるか否かを判断する（ステップＳ５）。【００５６】
具体的には、処理順序制御部２７は、現在時刻と処理開始時刻とに基づいて、当該読出し要求の処理経過時間を求め、ホスト２がタイムアウトを検出するまでにまだ余裕があるか否か（つまり、当該読出し要求の処理順序を変更できる余裕があるか否か）を判断する。
そして、処理順序制御部２７は、ホスト２の応答制限時間に対して余裕がないと判断すると（ステップＳ５のＮｏルート）、処理順序制御部２７は当該読出し要求の処理順序の変更を行なわず、当該読出し要求が処理順序キュー２６の先頭になると、第２処理部３５が当該読出し要求の処理を開始する。【００５７】
このとき、第２処理部３５は、当該読出し要求の読出し対象範囲がコピー（二重化）済みか否かを判断し（ステップＳ６）、コピー済みではないと判断すると（ステップＳ６のＮｏルート）、上記図５を参照しながら説明したように当該読出し要求の読出し対象範囲をコピー元のディスク１１からコピーしてから（ステップＳ７）、その当該読出し要求の対象範囲であるコピー先データをホスト２に読み出して（ステップＳ８）、処理を終了する。【００５８】
なお、ステップＳ６における判断は、二重化の初期時に未だにコピーが完了していないかどうかを判断するだけではなく、一旦二重化が完了した後、更新された元データのディスク１２へのコピーが完了しているか否かの判断も含まれて居る。
また、第２処理部３５は、当該読出し要求の対象範囲がコピー済みであると判断すると（ステップＳ６のＹｅｓルート）、ディスク１２に記録された当該読出し要求にかかるデータを読み出して（ステップＳ８）、処理を終了する。【００５９】
一方、上記ステップＳ５において、処理順序制御部２７は、ホスト２の応答制限時間に対して余裕があると判断すると（ステップＳ５のＹｅｓルート）、処理順序キュー２６において当該読出し要求の後ろにアクセス範囲が同じ書込み要求（ライト処理）があるか否かを判断する（ステップＳ９）。
ここで、処理順序制御部２７は、当該読出し要求の後ろにアクセス範囲が同じ書込み要求がないと判断すると（ステップＳ９のＮｏルート）、上記ステップＳ６の処理に移行する。【００６０】
一方、処理順序制御部２７は、当該読出し要求の後ろにアクセス範囲が同じ書込み要求があると判断すると（ステップＳ９のＹｅｓルート）、処理順序キュー２６における当該読出し要求の処理順序を当該書込み要求の後ろに接続し直して（ステップＳ１０）、上記ステップＳ３の処理に移行する。【００６１】
このように、本発明の一実施形態としての記憶部制御システム１によれば、ホスト２から、二重化制御部２５による二重化処理のコピー先であるディスク１２に対する読出し要求があった場合には、処理順序制御部２７が、処理順序キュー２６において、当該読出し要求よりも後ろに当該読出し要求の対象領域（アクセス範囲）に対応するコピー元のディスク１１の対象領域に対する書込み要求があれば、処理順序キュー２６における当該読出し要求の処理順序を当該書込み要求より後に変更するので、ホスト２からの二重化制御部２５による二重化処理のコピー先であるディスク１２おける二重化対象のデータ（領域）の読出し要求に対して、当該データの元データが更新される予定であれば更新後のデータを用いて読出し処理を行なうことができ、常に最新のデータを用いて応答することができる。【００６２】
さらに、処理順序制御部２７は、当該読出し要求が処理順序キュー２６に保持されてから所定時間内であれば、当該読出し要求の処理順序を、対応する当該書込み要求の後に変更するので、ホスト２が当該読出し要求に対してタイムアウトを検出することを抑止できる。
より具体的には、処理順序制御部２７は、当該読出し要求が処理順序キュー２６に登録された時の時刻と、当該読出し要求の処理順序を変更しようとする際に、そのときの現在時刻とに基づいて、当該読出し要求の経過時間を算出し、算出した経過時間に基づいて、当該読出し要求の処理順序を変更してもホスト２の応答制限時間内に当該読出し要求の処理が可能であるか否かを判断した上で、当該読出し要求の処理順序を変更するので、ホスト２が当該読出し要求に対してタイムアウトを検出することをより確実に防止できる。【００６３】
また、ＣＭ３０のＣＰＵ３１の第２処理部３５は、処理順序キュー２６に保持された処理順序に基づいて当該読出し要求を実行する際に、二重化制御部２５による当該読出し要求にかかる対象領域のデータの二重化処理が未完了であれば、二重化制御部２５に対象領域のデータをディスク１１からディスク１２にコピーさせてから、当該読出し要求を実行するので、二重化制御部２５がホストから二重化の指示を受けてから、ディスク１１，１２間の二重化が未完了である領域に対して読出し要求があった場合であっても、その読出し要求を確実に実行することができる。【００６４】
なお、第２処理部３５が、管理テーブル２５ａに基づいて当該読出し要求にかかる対象領域のデータの二重化処理が完了しているか否かを判断するので、当該読出し要求に係るデータのディスク１２における有無（つまり、コピーの有無）を確実に判断でき、その結果、当該読出し要求の実行をより確実なものにできる。
さらに、二重化制御部２５は、ディスク１１のデータの二重化状態への遷移が完了した後は、ディスク１１の二重化対象領域（所定記憶領域）内のデータが更新される度に更新されたデータをディスク１２にコピーすることにより、二重化状態を維持するので、ディスク１１，１２間のデータの二重化を常に維持できる。【００６５】
〔２〕その他
なお、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、上述した実施形態では、ディスク１１のデータをディスク１２に二重化する場合を例にあげて説明したが、本発明はこれに限定されるものではなく、同一のＣＭ２０の支配下にあるディスク１０とディスク１１間でデータの二重化を行ってもよい。この場合、ＣＭ２０のＣＰＵ２１の第１処理部２８は、上述した実施形態のＣＭ３０のＣＰＵ３１の第２処理部３５の機能も備えることなる。つまり、上述した実施形態では、ＣＭ３０が第２処理部３５をそなえて構成された例をあげて説明したが、ディスク１０，１１間でデータの二重化が図られるのであれば、ＣＭ２０が第２処理部３５の機能をそなえて構成される。【００６６】
また、上述した実施形態では、図６のフローチャートのステップＳ９に示したように、処理順序キュー２６においてディスク１２の読出し要求の後ろにアクセス範囲が同じ対応する書込み処理（元データの更新処理）が無ければ（ステップＳ９のＮｏルート）、ステップＳ６の処理に移行して、第２処理部３５が当該読出し要求を実行するように構成したが、本発明はこれに限定されるものではなく、例えば、図７に示すように、ステップＳ９´の判断において、当該読出し要求の後ろに対応する書込み処理が無ければ（ステップＳ９´のＮｏルート）、ステップＳ５の処理に戻って、ホスト２にタイムアウトを検出されない範囲で時間が許す限り当該読出し要求の実行を待機させて、待機中に、対応する書込み処理（つまり、元データの更新処理）が処理順序キュー２６に登録されれば、その書込み処理の後ろに当該読出し要求を変更できるか否かを判断するように（つまり、ステップＳ９´の処理を行なうように）構成してもよく、これによって、ホスト２がタイムアウトを検出しない範囲内で、可能な限り最新のデータを当該読出し要求により確実に用いることができるようになる。【００６７】
なお、上述した二重化制御部２５，処理順序制御部２７，第１処理部２８，および第２処理部３５としての機能は、コンピュータ（ＣＰＵ，情報処理装置，各種端末を含む）が所定のアプリケーションプログラム（記憶部制御プログラム）を実行することによって実現されてもよい。
そのプログラムは、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷなど），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋Ｒ，ＤＶＤ＋ＲＷなど）等のコンピュータ読取可能な記録媒体に記録された形態で提供される。この場合、コンピュータはその記録媒体から記憶部制御プログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。また、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信回線を介してコンピュータに提供するようにしてもよい。【００６８】
ここで、コンピュータとは、ハードウェアとＯＳ（オペレーティングシステム）とを含む概念であり、ＯＳの制御の下で動作するハードウェアを意味している。また、ＯＳが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、ＣＰＵ等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえている。【００６９】
上記記憶部制御プログラムとしてのアプリケーションプログラムは、上述のようなコンピュータに、二重化制御部２５，処理順序制御部２７，第１処理部２８，および第２処理部３５としての機能を実現させるプログラムコードを含んでいる。また、その機能の一部は、アプリケーションプログラムではなくＯＳによって実現されてもよい。
なお、本実施形態としての記録媒体としては、上述したフレキシブルディスク，ＣＤ，ＤＶＤ，磁気ディスク，光ディスク，光磁気ディスクのほか、ＩＣカード，ＲＯＭカートリッジ，磁気テープ，パンチカード，コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ），外部記憶装置等や、バーコードなどの符号が印刷された印刷物等の、コンピュータ読取可能な種々の媒体を利用することもできる。
【図１】
2009013830.tif 000003
【図２】
2009013830.tif 000004
【図３】
2009013830.tif 000005
【図４】
2009013830.tif 000006
【図５】
2009013830.tif 000007
【図６】
2009013830.tif 000008
【図７】
2009013830.tif 000009
【図８】
2009013830.tif 000010
【手続補正書】
【提出日】平成21年11月19日(2009.11.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データを保持する複数の記憶部のうちの少なくとも一の記憶部と、該複数の記憶部に保持されたデータを処理対象とする少なくとも一つのデータ処理装置との間に介装され、該データ処理装置からの処理要求に応じて少なくとも該一の記憶部に対する処理を行なう記憶部制御装置であって、
該一の記憶部の所定記憶領域内のデータを該複数の記憶部のうちの他の記憶部にコピーすることにより該所定の記憶領域内のデータを二重化状態に維持する二重化制御部と、
該データ処理装置からの該複数の記憶部に対する書込み要求および読出し要求の処理順序を保持するキューイング部と、
該データ処理装置から該他の記憶部の該二重化制御部による二重化処理の対象領域に対する読出し要求が発行され、該キューイング部において当該読出し要求の処理順序よりも後に、当該読出し要求の対象領域に対応する該一の記憶部の対象領域に対する書込み要求がある場合には、該キューイング部における当該読出し要求の処理順序を当該書込み要求より後に変更する処理順序制御部とを備えて構成されていることを特徴とする、記憶部制御装置。
【請求項２】
該キューイング部に保持された処理順序に基づいて当該読出し要求を実行する際に、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が未完了であれば、該二重化制御部に該対象領域のデータを該一の記憶部から該他の記憶部にコピーさせてから当該読出し要求を実行する一方、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が完了していれば、当該読出し要求を実行する処理部を備えて構成されたことを特徴とする、請求項１記載の記憶部制御装置。
【請求項３】
該二重化制御部による該二重化処理の進捗状況を該他の記憶部の記憶領域に対応付けて管理する管理テーブルをそなえ、
該処理部が、該管理テーブルに基づいて当該読出し要求にかかる該対象領域のデータの二重化処理が完了しているか否かを判断することを特徴とする、請求項２記載の記憶部制御装置。
【請求項４】
該処理順序制御部は、当該読出し要求が該キューイング部に保持されてから所定時間内であれば、当該読出し要求の処理順序を、対応する該書込み要求の後に変更することを特徴とする、請求項１〜３のいずれか１項に記載の記憶部制御装置。
【請求項５】
該二重化制御部は、該一の記憶部の該所定記憶領域内のデータの二重化状態への遷移が完了した後は、該一の記憶部の該所定記憶領域内のデータが更新される度に更新されたデータを該他の記憶部にコピーすることにより該二重化状態を維持することを特徴とする、請求項１〜４のいずれか１項に記載の記憶部制御装置。
【請求項６】
データを保持する複数の記憶部と、
該複数の記憶部に保持されたデータを処理対象とする少なくとも一つのデータ処理装置と、
該複数の記憶部のうちの少なくとも一の記憶部と該データ処理装置との間に介装され、該データ処理装置からの処理要求に応じて少なくとも該一の記憶部に対する処理を行なう第１記憶部制御装置とをそなえ、
該第１記憶部制御装置が、
該一の記憶部の所定記憶領域内のデータを該複数の記憶部のうちの他の記憶部にコピーすることにより該所定の記憶領域内のデータを二重化状態に維持する二重化制御部と、
該データ処理装置からの該複数の記憶部に対する書込み要求およびデータの読出し要求の処理順序を保持するキューイング部と、
該データ処理装置から該他の記憶部の該二重化制御部による二重化処理の対象領域に対する読出し要求が発行され、該キューイング部において当該読出し要求の処理順序よりも後に、当該読出し要求の対象領域に対応する該一の記憶部の対象領域に対する書込み要求がある場合には、該キューイング部における当該読出し要求の処理順序を当該書込み要求より後に変更する処理順序制御部とを備えて構成されていることを特徴とする、記憶部制御システム。
【請求項７】
データを保持する複数の記憶部と、該複数の記憶部に保持されたデータを処理対象とする少なくとも一つのデータ処理装置と、該複数の記憶部のうちの少なくとも一の記憶部と該データ処理装置との間に介装され、該データ処理装置からの該複数の記憶部に対する書込み要求およびデータの読出し要求の処理順序を保持するキューイング部を有し、該データ処理装置からの処理要求に応じて少なくとも該一の記憶部に対する処理を行なう第１記憶部制御装置とからなる記憶部制御システムにおいて、二重化対象のデータの読出し要求を実行する機能をコンピュータに実現させるための記憶部制御プログラムであって、
該第１記憶部制御装置が、
該一の記憶部の所定記憶領域内のデータを該複数の記憶部のうちの他の記憶部にコピーすることにより該所定の記憶領域内のデータを二重化状態に維持する二重化制御部、および、
該データ処理装置から該他の記憶部の該二重化制御部による二重化処理の対象領域に対する読出し要求が発行され、該キューイング部において当該読出し要求の処理順序よりも後に、当該読出し要求の対象領域に対応する該一の記憶部の対象領域に対する書込み要求がある場合には、該キューイング部における当該読出し要求の処理順序を当該書込み要求より後に変更する処理順序制御部として機能するように、該コンピュータを機能させることを特徴とする、記憶部制御プログラム。
【請求項８】
データを保持する複数の記憶部と、該複数の記憶部に保持されたデータを処理対象とする少なくとも一つのデータ処理装置と、該複数の記憶部のうちの少なくとも一の記憶部と該データ処理装置との間に介装され、該データ処理装置からの該複数の記憶部に対する書込み要求およびデータの読出し要求の処理順序を保持するキューイング部を有し、該データ処理装置からの処理要求に応じて少なくとも該一の記憶部に対する処理を行なう第１記憶部制御装置とからなる記憶部制御システムにおいて、二重化対象のデータの読出し要求を実行する機能をコンピュータに実現させるための記憶部制御プログラムを記録したコンピュータ読取可能な記録媒体であって、
該記憶部制御プログラムが、
該第１記憶部制御装置が、該一の記憶部の所定記憶領域内のデータを該複数の記憶部のうちの他の記憶部にコピーすることにより該所定の記憶領域内のデータを二重化状態に維持する二重化制御部、および、該データ処理装置から該他の記憶部の該二重化制御部による二重化処理の対象領域に対する読出し要求が発行され、該キューイング部において当該読出し要求の処理順序よりも後に、当該読出し要求の対象領域に対応する該一の記憶部の対象領域に対する書込み要求がある場合には、該キューイング部における当該読出し要求の処理順序を当該書込み要求より後に変更する処理順序制御部として機能するように、該コンピュータを機能させることを特徴とする、記憶部制御プログラムを記録したコンピュータ読取可能な記録媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００４６
【補正方法】変更
【補正の内容】
【００４６】
第１処理部２８は、ホスト２からのリード／ライト要求に応じてディスク１０，１１に対する処理を行なうものであり、処理順序キュー２６に保持された処理順序に基づいて処理を実行する。
ＣＰＵ３１は、第２処理部（処理部）３５を備えて構成されている。なお、第２処理部３５は、ＣＰＵ３１が所定のアプリケーションプログラム（例えば後述する記憶部制御プログラム）を実行することによって実現される。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００５８
【補正方法】変更
【補正の内容】
【００５８】
なお、ステップＳ６における判断は、二重化の初期時に未だにコピーが完了していないかどうかを判断するだけではなく、一旦二重化が完了した後、更新された元データのディスク１２へのコピーが完了しているか否かの判断も含まれている。
また、第２処理部３５は、当該読出し要求の対象範囲がコピー済みであると判断すると（ステップＳ６のＹｅｓルート）、ディスク１２に記録された当該読出し要求にかかるデータを読み出して（ステップＳ８）、処理を終了する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００６９
【補正方法】変更
【補正の内容】
【００６９】
上記記憶部制御プログラムとしてのアプリケーションプログラムは、上述のようなコンピュータに、二重化制御部２５，処理順序制御部２７，第１処理部２８，および第２処理部３５としての機能を実現させるプログラムコードを含んでいる。また、その機能の一部は、アプリケーションプログラムではなくＯＳによって実現されてもよい。
なお、本実施形態としての記録媒体としては、上述したフレキシブルディスク，ＣＤ，ＤＶＤ，磁気ディスク，光ディスク，光磁気ディスクのほか、ＩＣカード，ＲＯＭカートリッジ，磁気テープ，パンチカード，コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ），外部記憶装置等や、バーコードなどの符号が印刷された印刷物等の、コンピュータ読取可能な種々の媒体を利用することもできる。
そして、本発明は、以下に示すように要約することができる。
（付記１）  データを保持する複数の記憶部のうちの少なくとも一の記憶部と、該複数の記憶部に保持されたデータを処理対象とする少なくとも一つのデータ処理装置との間に介装され、該データ処理装置からの処理要求に応じて少なくとも該一の記憶部に対する処理を行なう記憶部制御装置であって、
該一の記憶部の所定記憶領域内のデータを該複数の記憶部のうちの他の記憶部にコピーすることにより該所定の記憶領域内のデータを二重化状態に維持する二重化制御部と、
該データ処理装置からの該複数の記憶部に対する書込み要求および読出し要求の処理順序を保持するキューイング部と、
該データ処理装置から該他の記憶部の該二重化制御部による二重化処理の対象領域に対する読出し要求が発行され、該キューイング部において当該読出し要求の処理順序よりも後に、当該読出し要求の対象領域に対応する該一の記憶部の対象領域に対する書込み要求がある場合には、該キューイング部における当該読出し要求の処理順序を当該書込み要求より後に変更する処理順序制御部とを備えて構成されていることを特徴とする、記憶部制御装置。
（付記２）  該キューイング部に保持された処理順序に基づいて当該読出し要求を実行する際に、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が未完了であれば、該二重化制御部に該対象領域のデータを該一の記憶部から該他の記憶部にコピーさせてから当該読出し要求を実行する一方、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が完了していれば、当該読出し要求を実行する処理部を備えて構成されたことを特徴とする、付記１記載の記憶部制御装置。
（付記３）  該処理順序制御部は、当該読出し要求が該キューイング部に保持されてから所定時間内であれば、当該読出し要求の処理順序を、対応する該書込み要求の後に変更することを特徴とする、付記１または付記２記載の記憶部制御装置。
（付記４）  該二重化制御部による該二重化処理の進捗状況を該他の記憶部の記憶領域に対応付けて管理する管理テーブルをそなえ、
該処理部が、該管理テーブルに基づいて当該読出し要求にかかる該対象領域のデータの二重化処理が完了しているか否かを判断することを特徴とする、付記１〜３のいずれか１つに記載の記憶部制御装置。
（付記５）  該二重化制御部は、該一の記憶部の該所定記憶領域内のデータの二重化状態への遷移が完了した後は、該一の記憶部の該所定記憶領域内のデータが更新される度に更新されたデータを該他の記憶部にコピーすることにより該二重化状態を維持することを特徴とする、付記１〜４のいずれか１つに記載の記憶部制御装置。
（付記６）  データを保持する複数の記憶部と、
該複数の記憶部に保持されたデータを処理対象とする少なくとも一つのデータ処理装置と、
該複数の記憶部のうちの少なくとも一の記憶部と該データ処理装置との間に介装され、該データ処理装置からの処理要求に応じて少なくとも該一の記憶部に対する処理を行なう第１記憶部制御装置とをそなえ、
該第１記憶部制御装置が、
該一の記憶部の所定記憶領域内のデータを該複数の記憶部のうちの他の記憶部にコピーすることにより該所定の記憶領域内のデータを二重化状態に維持する二重化制御部と、
該データ処理装置からの該複数の記憶部に対する書込み要求およびデータの読出し要求の処理順序を保持するキューイング部と、
該データ処理装置から該他の記憶部の該二重化制御部による二重化処理の対象領域に対する読出し要求が発行され、該キューイング部において当該読出し要求の処理順序よりも後に、当該読出し要求の対象領域に対応する該一の記憶部の対象領域に対する書込み要求がある場合には、該キューイング部における当該読出し要求の処理順序を当該書込み要求より後に変更する処理順序制御部とを備えて構成されていることを特徴とする、記憶部制御システム。
（付記７）  該第１記憶部制御装置が、該キューイング部に保持された処理順序に基づいて当該読出し要求を実行する際に、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が未完了であれば、該二重化制御部に該対象領域のデータを該一の記憶部から該他の記憶部にコピーさせてから当該読出し要求を実行する一方、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が完了していれば、当該読出し要求を実行する処理部を備えて構成されていることを特徴とする、付記６記載の記憶部制御システム。
（付記８）  該他の記憶部と該データ処理装置との間に介装され、該データ処理装置からの処理要求に応じて少なくとも該他の記憶部に対する処理を行なう第２記憶部制御装置をそなえ、
該第２記憶部制御装置が、該キューイング部に保持された処理順序に基づいて当該読出し要求を実行する際に、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が未完了であれば、該二重化制御部に該対象領域のデータを該一の記憶部から該他の記憶部にコピーさせてから当該読出し要求を実行する一方、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が完了していれば、当該読出し要求を実行する処理部を備えて構成されていることを特徴とする、付記６記載の記憶部制御システム。
（付記９）  該処理順序制御部は、当該読出し要求が該キューイング部に保持されてから所定時間内であれば、当該読出し要求の処理順序を、対応する該書込み要求の後に変更することを特徴とする、付記６〜８のいずれか１つに記載の記憶部制御システム。
（付記１０）  該二重化制御部による該二重化処理の進捗状況を該他の記憶部の記憶領域に対応付けて管理する管理テーブルをそなえ、
該処理部が、該管理テーブルに基づいて当該読出し要求にかかる該対象領域のデータの二重化処理が完了しているか否かを判断することを特徴とする、付記６〜９のいずれか１つに記載の記憶部制御システム。
（付記１１）  該二重化制御部は、該一の記憶部の該所定記憶領域内のデータの二重化状態への遷移が完了した後は、該一の記憶部の該所定記憶領域内のデータが更新される度に更新されたデータを該他の記憶部にコピーすることにより該二重化状態を維持することを特徴とする、付記６〜１０のいずれか１つに記載の記憶部制御システム。
（付記１２）  データを保持する複数の記憶部と、該複数の記憶部に保持されたデータを処理対象とする少なくとも一つのデータ処理装置と、該複数の記憶部のうちの少なくとも一の記憶部と該データ処理装置との間に介装され、該データ処理装置からの該複数の記憶部に対する書込み要求およびデータの読出し要求の処理順序を保持するキューイング部を有し、該データ処理装置からの処理要求に応じて少なくとも該一の記憶部に対する処理を行なう第１記憶部制御装置とからなる記憶部制御システムにおいて、二重化対象のデータの読出し要求を実行する機能をコンピュータに実現させるための記憶部制御プログラムであって、
該第１記憶部制御装置が、
該一の記憶部の所定記憶領域内のデータを該複数の記憶部のうちの他の記憶部にコピーすることにより該所定の記憶領域内のデータを二重化状態に維持する二重化制御部、および、
該データ処理装置から該他の記憶部の該二重化制御部による二重化処理の対象領域に対する読出し要求が発行され、該キューイング部において当該読出し要求の処理順序よりも後に、当該読出し要求の対象領域に対応する該一の記憶部の対象領域に対する書込み要求がある場合には、該キューイング部における当該読出し要求の処理順序を当該書込み要求より後に変更する処理順序制御部として機能するように、該コンピュータを機能させることを特徴とする、記憶部制御プログラム。
（付記１３）  該第１記憶部制御装置が、該キューイング部に保持された処理順序に基づいて当該読出し要求を実行する際に、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が未完了であれば、該二重化制御部に該対象領域のデータを該一の記憶部から該他の記憶部にコピーさせてから当該読出し要求を実行する一方、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が完了していれば、当該読出し要求を実行する処理部として機能するように、該コンピュータを機能させることを特徴とする、付記１２記載の記憶部制御プログラム。
（付記１４）  該データ処理装置からの処理要求に応じて少なくとも該他の記憶部に対する処理を行なうべく、該他の記憶部と該データ処理装置との間に介装され該記憶部制御システムを構成する第２記憶部制御装置が、該キューイング部に保持された処理順序に基づいて当該読出し要求を実行する際に、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が未完了であれば、該二重化制御部に該対象領域のデータを該一の記憶部から該他の記憶部にコピーさせてから当該読出し要求を実行する一方、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が完了していれば、当該読出し要求を実行する処理部として機能するように、該コンピュータを機能させることを特徴とする、付記１３記載の記憶部制御プログラム。
（付記１５）  該処理順序制御部が、当該読出し要求が該キューイング部に保持されてから所定時間内であれば、当該読出し要求の処理順序を、対応する該書込み要求の後に変更するように、該コンピュータを機能させることを特徴とする、付記１２〜１４のいずれか１つに記載の記憶部制御プログラム。
（付記１６）  該第１記憶部制御装置が、該二重化制御部による該二重化処理の進捗状況を該他の記憶部の記憶領域に対応付けて管理する管理テーブルをそなえて構成され、
該処理部が、該管理テーブルに基づいて当該読出し要求にかかる該対象領域のデータの二重化処理が完了しているか否かを判断するように、該コンピュータを機能させることを特徴とする、付記１２〜１５のいずれか１つに記載の記憶部制御プログラム。
（付記１７）  該二重化制御部が、該一の記憶部の該所定記憶領域内のデータの二重化状態への遷移が完了した後は、該一の記憶部の該所定記憶領域内のデータが更新される度に更新されたデータを該他の記憶部にコピーすることにより該二重化状態を維持するように、該コンピュータを機能させることを特徴とする、付記１２〜１６のいずれか１つに記載の記憶部制御プログラム。
（付記１８）  データを保持する複数の記憶部と、該複数の記憶部に保持されたデータを処理対象とする少なくとも一つのデータ処理装置と、該複数の記憶部のうちの少なくとも一の記憶部と該データ処理装置との間に介装され、該データ処理装置からの該複数の記憶部に対する書込み要求およびデータの読出し要求の処理順序を保持するキューイング部を有し、該データ処理装置からの処理要求に応じて少なくとも該一の記憶部に対する処理を行なう第１記憶部制御装置とからなる記憶部制御システムにおいて、二重化対象のデータの読出し要求を実行する機能をコンピュータに実現させるための記憶部制御プログラムを記録したコンピュータ読取可能な記録媒体であって、
該記憶部制御プログラムが、
該第１記憶部制御装置が、該一の記憶部の所定記憶領域内のデータを該複数の記憶部のうちの他の記憶部にコピーすることにより該所定の記憶領域内のデータを二重化状態に維持する二重化制御部、および、該データ処理装置から該他の記憶部の該二重化制御部による二重化処理の対象領域に対する読出し要求が発行され、該キューイング部において当該読出し要求の処理順序よりも後に、当該読出し要求の対象領域に対応する該一の記憶部の対象領域に対する書込み要求がある場合には、該キューイング部における当該読出し要求の処理順序を当該書込み要求より後に変更する処理順序制御部として機能するように、該コンピュータを機能させることを特徴とする、記憶部制御プログラムを記録したコンピュータ読取可能な記録媒体。
（付記１９）  該第１記憶部制御装置が、該キューイング部に保持された処理順序に基づいて当該読出し要求を実行する際に、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が未完了であれば、該二重化制御部に該対象領域のデータを該一の記憶部から該他の記憶部にコピーさせてから当該読出し要求を実行する一方、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が完了していれば、当該読出し要求を実行する処理部として機能するように、該記憶部制御プログラムが該コンピュータを機能させることを特徴とする、付記１８記載の記憶部制御プログラムを記録したコンピュータ読取可能な記録媒体。
（付記２０）  該データ処理装置からの処理要求に応じて少なくとも該他の記憶部に対する処理を行なうべく、該他の記憶部と該データ処理装置との間に介装され該記憶部制御システムを構成する第２記憶部制御装置が、該キューイング部に保持された処理順序に基づいて当該読出し要求を実行する際に、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が未完了であれば、該二重化制御部に該対象領域のデータを該一の記憶部から該他の記憶部にコピーさせてから当該読出し要求を実行する一方、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が完了していれば、当該読出し要求を実行する処理部として機能するように、該記憶部制御プログラムが該コンピュータを機能させることを特徴とする、付記１８記載の記憶部制御プログラムを記録したコンピュータ読取可能な記録媒体。
【国際調査報告】
2009013830.tif 000011
2009013830.tif 000012