JP4866464B2 - 記憶部制御装置,記憶部制御システム,記憶部制御プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 - Google Patents

記憶部制御装置,記憶部制御システム,記憶部制御プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 Download PDF

Info

Publication number
JP4866464B2
JP4866464B2 JP2009524357A JP2009524357A JP4866464B2 JP 4866464 B2 JP4866464 B2 JP 4866464B2 JP 2009524357 A JP2009524357 A JP 2009524357A JP 2009524357 A JP2009524357 A JP 2009524357A JP 4866464 B2 JP4866464 B2 JP 4866464B2
Authority
JP
Japan
Prior art keywords
data
processing
unit
storage unit
read request
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.)
Expired - Fee Related
Application number
JP2009524357A
Other languages
English (en)
Other versions
JPWO2009013830A1 (ja
Inventor
美穂子 和田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2009013830A1 publication Critical patent/JPWO2009013830A1/ja
Application granted granted Critical
Publication of JP4866464B2 publication Critical patent/JP4866464B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)

Description

本発明は、複数の記憶部間でデータの二重化を行なう情報処理システムにおいて、データの二重化におけるコピー先の記憶部に対する処理要求を実行するための技術に関する。
従来から、例えば、図8に示すような記憶部制御システム100において、複数の記憶部101〜104間でデータの二重化(同期;Equivalent Copy)を行なう技術がある。
記憶部制御システム100は、記憶部(ストレージ装置;ディスク)101〜104に保持されたデータを処理対象とするホスト105と、ホスト105からのアクセス要求(リード/ライト要求)に応じて記憶部101,102に対する処理を行なう記憶部制御装置[図中“CM(Centralized Module)”と表記]110と、ホスト105からのアクセス要求に応じて記憶部103,104に対する処理を行なう記憶部制御装置(図中“CM”と表記)120と、ホスト105と記憶部制御装置110とのインタフェース制御を行なうチャネルアダプタ[図中“CA(Channel Adapter)”と表記]113a,113bと、ホスト105と記憶部制御装置120とのインタフェース制御を行なうチャネルアダプタ(図中“CA”と表記)123a,123bと、記憶部制御装置110と記憶部101,102とのインタフェース制御を行なうファイバチャネル[図中“FC(Fiber Channel)”と表記]114a,114bと、記憶部制御装置120と記憶部103,104とのインタフェース制御を行なうファイバチャネル(図中“FC”と表記)124a,124bとを備えて構成されている。
なお、記憶部制御装置110,120のそれぞれは、データ処理を実行するCPU(Central Processing Unit)111,121と、キャッシュ112,122とをそれぞれ備えている。また、記憶部制御装置110,120,CA113a,113b,123a,123b,FC114a,114b,124a,124b,および記憶部101〜104によって、ストレージ装置106が構成される。
そして、記憶部制御システム100は、記憶部制御装置110,120が協働して、記憶部102の所定領域内のデータを、記憶部103にコピーすることにより、当該所定領域内のデータを二重化している。
具体的には、記憶部制御装置110,120は、記憶部102の所定領域内のデータコピーを実行し、コピー元の記憶部102のデータをコピー先の記憶部103にコピーすることによって、かかる所定領域内のデータを二重化状態に保つ。
そのため、記憶部制御システム100において、記憶部102および記憶部制御装置110がマスタ側として機能するのに対して、記憶部103および記憶部制御装置120がスレーブ側として機能するように構成され、ホスト105はデータのリード(読出し)要求は、記憶部102,103を対象として記憶部制御装置110,120の両方に送信するが、ライト(書込み)要求は記憶部102を対象として記憶部制御装置110に対してのみ送信する。
記憶部制御システム100では、二重化を実現するための初期時において、データコピーが開始されてから、すべての対象領域内のデータのコピーが完了して二重化状態に遷移するまでの間は、データの保証がないため、コピー先としての記憶部103のデータ記憶領域(ボリューム)からのデータの読出しは禁止していた。
例えば、二重化が完了するまでの間に、ホスト105から記憶部102の二重化対象領域に対する読出し要求があっても、二重化されたデータを読み出すことができるという保証がないため、記憶部制御装置120は、ホスト105に対してエラー応答を返すなどして、記憶部制御装置120からの記憶部103に対するデータ読出し処理を抑止するように構成されていた。
したがって、ホスト105のユーザ等は、二重化が完了するまではコピー先の記憶部103からデータを読み出すことができず不便であった。
なお、従来からストレージシステムの災害復旧時に複製元の記憶領域のデータの複製を複製先の記憶領域においても管理する技術(リモートコピー)があり、このリモートコピー中にまだ複製が完了していない複製先に読出し要求があると、複製元にその読出し要求のデータを要求し、当該データを受信後読出し要求に応じる技術がある(例えば、下記特許文献1)。
特開2005−165618号公報
ところで、上述した図8に示す従来の記憶部制御システム100においては、二重化が完了する前であっても完了後であっても共通して、コピー先である記憶部103において二重化されたデータに対する読出し要求は、コピー元の記憶部102の最新のデータに基づいて実行されることが好ましい。
例えば、記憶部103に対する読出し要求があった際に、当該読出し要求に対応する記憶部102の対応データ(元データ)の更新処理が行われている最中ならば、その更新後のデータを読み出すことが好ましい。
記憶部制御システム100では、少なくともデータの二重化対象である記憶部102,103に対するホスト105からのリード/ライト要求は、その処理順序をキューイングテーブル(図示せず)で管理している。したがって、このキューイングテーブルに元データの更新処理が既に登録されているならば、その更新処理後のデータを記憶部103に対する読出し要求に用いることが望ましい。
しかしながら、従来の記憶部制御システム100では、実行中(キューイング中)の元データに対する更新処理(書込み処理)があったとしても、更新処理後のデータをコピー先に対する読出し要求に用いることはできなかった。
本発明は、このような課題に鑑み創案されたもので、二重化処理のコピー先における二重化対象のデータ(領域)の読出し要求に対して、常に最新のデータを用いて応答し得るようにすることを目的とする。
上記目的を達成するために、本発明の記憶部制御装置は、データを保持する複数の記憶部のうちの少なくとも一の記憶部と、該複数の記憶部に保持されたデータを処理対象とする少なくとも一つのデータ処理装置との間に介装され、該データ処理装置からの処理要求に応じて少なくとも該一の記憶部に対する処理を行なうものであって、該一の記憶部の所定記憶領域内のデータを該複数の記憶部のうちの他の記憶部にコピーすることにより該所定の記憶領域内のデータを二重化状態に維持する二重化制御部と、該データ処理装置からの該複数の記憶部に対する書込み要求および読出し要求の処理順序を保持するキューイング部と、該データ処理装置から該他の記憶部の該二重化制御部による二重化処理の対象領域に対する読出し要求が発行され、該キューイング部において当該読出し要求の処理順序よりも後に、当該読出し要求の対象領域に対応する該一の記憶部の対象領域に対する書込み要求がある場合には、該キューイング部における当該読出し要求の処理順序を当該書込み要求より後に変更する処理順序制御部とを備えて構成されていることを特徴としている。
なお、該キューイング部に保持された処理順序に基づいて当該読出し要求を実行する際に、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が未完了であれば、該二重化制御部に該対象領域のデータを該一の記憶部から該他の記憶部にコピーさせてから当該読出し要求を実行する一方、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が完了していれば、当該読出し要求を実行する処理部を備えて構成されることが好ましい。
また、該処理順序制御部は、当該読出し要求が該キューイング部に保持されてから所定時間内であれば、当該読出し要求の処理順序を、対応する該書込み要求の後に変更することが好ましい。
さらに、該二重化制御部による該二重化処理の進捗状況を該他の記憶部の記憶領域に対応付けて管理する管理テーブルをそなえ、該処理部が、該管理テーブルに基づいて当該読出し要求にかかる該対象領域のデータの二重化処理が完了しているか否かを判断することが好ましい。
なお、該二重化制御部は、該一の記憶部の該所定記憶領域内のデータの二重化状態への遷移が完了した後は、該一の記憶部の該所定記憶領域内のデータが更新される度に更新されたデータを該他の記憶部にコピーすることにより該二重化状態を維持することが好ましい。
また、上記目的を達成するために、本発明の記憶部制御システムは、データを保持する複数の記憶部と、該複数の記憶部に保持されたデータを処理対象とする少なくとも一つのデータ処理装置と、該複数の記憶部のうちの少なくとも一の記憶部と該データ処理装置との間に介装され、該データ処理装置からの処理要求に応じて少なくとも該一の記憶部に対する処理を行なう第1記憶部制御装置とをそなえ、該第1記憶部制御装置が、該一の記憶部の所定記憶領域内のデータを該複数の記憶部のうちの他の記憶部にコピーすることにより該所定の記憶領域内のデータを二重化状態に維持する二重化制御部と、該データ処理装置からの該複数の記憶部に対する書込み要求およびデータの読出し要求の処理順序を保持するキューイング部と、該データ処理装置から該他の記憶部の該二重化制御部による二重化処理の対象領域に対する読出し要求が発行され、該キューイング部において当該読出し要求の処理順序よりも後に、当該読出し要求の対象領域に対応する該一の記憶部の対象領域に対する書込み要求がある場合には、該キューイング部における当該読出し要求の処理順序を当該書込み要求より後に変更する処理順序制御部とを備えて構成されていることを特徴としている。
なお、該第1記憶部制御装置が、該キューイング部に保持された処理順序に基づいて当該読出し要求を実行する際に、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が未完了であれば、該二重化制御部に該対象領域のデータを該一の記憶部から該他の記憶部にコピーさせてから当該読出し要求を実行する一方、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が完了していれば、当該読出し要求を実行する処理部を備えて構成されていることが好ましい。
また、該他の記憶部と該データ処理装置との間に介装され、該データ処理装置からの処理要求に応じて少なくとも該他の記憶部に対する処理を行なう第2記憶部制御装置をそなえ、該第2記憶部制御装置が、該キューイング部に保持された処理順序に基づいて当該読出し要求を実行する際に、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が未完了であれば、該二重化制御部に該対象領域のデータを該一の記憶部から該他の記憶部にコピーさせてから当該読出し要求を実行する一方、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が完了していれば、当該読出し要求を実行する処理部を備えて構成されていることが好ましい。
さらに、該処理順序制御部は、当該読出し要求が該キューイング部に保持されてから所定時間内であれば、当該読出し要求の処理順序を、対応する該書込み要求の後に変更することが好ましい。
なお、該二重化制御部による該二重化処理の進捗状況を該他の記憶部の記憶領域に対応付けて管理する管理テーブルをそなえ、該処理部が、該管理テーブルに基づいて当該読出し要求にかかる該対象領域のデータの二重化処理が完了しているか否かを判断することが好ましい。
さらに、該二重化制御部は、該一の記憶部の該所定記憶領域内のデータの二重化状態への遷移が完了した後は、該一の記憶部の該所定記憶領域内のデータが更新される度に更新されたデータを該他の記憶部にコピーすることにより該二重化状態を維持することが好ましい。
また、上記目的を達成するために、本発明の記憶部制御プログラムは、データを保持する複数の記憶部と、該複数の記憶部に保持されたデータを処理対象とする少なくとも一つのデータ処理装置と、該複数の記憶部のうちの少なくとも一の記憶部と該データ処理装置との間に介装され、該データ処理装置からの該複数の記憶部に対する書込み要求およびデータの読出し要求の処理順序を保持するキューイング部を有し、該データ処理装置からの処理要求に応じて少なくとも該一の記憶部に対する処理を行なう第1記憶部制御装置とからなる記憶部制御システムにおいて、二重化対象のデータの読出し要求を実行する機能をコンピュータに実現させるためのプログラムであって、該第1記憶部制御装置が、該一の記憶部の所定記憶領域内のデータを該複数の記憶部のうちの他の記憶部にコピーすることにより該所定の記憶領域内のデータを二重化状態に維持する二重化制御部、および、該データ処理装置から該他の記憶部の該二重化制御部による二重化処理の対象領域に対する読出し要求が発行され、該キューイング部において当該読出し要求の処理順序よりも後に、当該読出し要求の対象領域に対応する該一の記憶部の対象領域に対する書込み要求がある場合には、該キューイング部における当該読出し要求の処理順序を当該書込み要求より後に変更する処理順序制御部として機能するように、該コンピュータを機能させることを特徴としている。
なお、該第1記憶部制御装置が、該キューイング部に保持された処理順序に基づいて当該読出し要求を実行する際に、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が未完了であれば、該二重化制御部に該対象領域のデータを該一の記憶部から該他の記憶部にコピーさせてから当該読出し要求を実行する一方、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が完了していれば、当該読出し要求を実行する処理部として機能するように、該コンピュータを機能させることが好ましい。
また、該データ処理装置からの処理要求に応じて少なくとも該他の記憶部に対する処理を行なうべく、該他の記憶部と該データ処理装置との間に介装され該記憶部制御システムを構成する第2記憶部制御装置が、該キューイング部に保持された処理順序に基づいて当該読出し要求を実行する際に、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が未完了であれば、該二重化制御部に該対象領域のデータを該一の記憶部から該他の記憶部にコピーさせてから当該読出し要求を実行する一方、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が完了していれば、当該読出し要求を実行する処理部として機能するように、該コンピュータを機能させることが好ましい。
さらに、該処理順序制御部が、当該読出し要求が該キューイング部に保持されてから所定時間内であれば、当該読出し要求の処理順序を、対応する該書込み要求の後に変更するように、該コンピュータを機能させることが好ましい。
なお、該第1記憶部制御装置が、該二重化制御部による該二重化処理の進捗状況を該他の記憶部の記憶領域に対応付けて管理する管理テーブルをそなえて構成され、該処理部が、該管理テーブルに基づいて当該読出し要求にかかる該対象領域のデータの二重化処理が完了しているか否かを判断するように、該コンピュータを機能させることが好ましい。
さらに、該二重化制御部が、該一の記憶部の該所定記憶領域内のデータの二重化状態への遷移が完了した後は、該一の記憶部の該所定記憶領域内のデータが更新される度に更新されたデータを該他の記憶部にコピーすることにより該二重化状態を維持するように、該コンピュータを機能させることが好ましい。
また、上記目的を達成するために、本発明のコンピュータ読取可能な記録媒体は、上述した記憶部制御プログラムを記録している。
このように、本発明によれば、データ処理装置から他の記憶部の二重化制御部による二重化処理の対象領域に対する読出し要求が発行され、キューイング部において当該読出し要求の処理順序よりも後に、当該読出し要求の対象領域に対応する一の記憶部の対象領域に対する書込み要求がある場合には、処理順序制御部が、キューイング部における当該読出し要求の処理順序を当該書込み要求より後に変更するので、データ処理装置から発行された当該読出し要求にかかるデータの一の記憶部における元データが更新される予定であれば、更新後のデータを用いて当該読出し要求に対する処理を行なうことができ、データ処理装置からの読出し要求に対して常に最新のデータを用いて応答することができる。
さらに、処理順序制御部は、当該読出し要求がキューイング部に保持されてから所定時間内であれば、当該読出し要求の処理順序を、対応する当該書込み要求の後に変更するので、データ処理装置が当該読出し要求に対してタイムアウトを検出することを抑止できる。
また、処理部は、キューイング部に保持された処理順序に基づいて当該読出し要求を実行する際に、二重化制御部による当該読出し要求にかかる対象領域のデータの二重化処理が未完了であれば、二重化制御部に対象領域のデータを一の記憶部から他の記憶部にコピーさせてから、当該読出し要求を実行するので、二重化制御部がデータ処理装置から二重化の指示を受けてから、一の記憶部および他の記憶部間の二重化が未完了である領域に対して読出し要求があった場合であっても、その読出し要求を確実に実行することができる。
なお、処理部が、管理テーブルに基づいて当該読出し要求にかかる対象領域のデータの二重化処理が完了しているか否かを判断するので、当該読出し要求に係るデータの他の記憶部における有無(つまり、二重化の有無)を確実に判断でき、その結果、当該読出し要求の実行をより確実なものにできる。
さらに、二重化制御部は、一の記憶部のデータの二重化状態への遷移が完了した後は、一の記憶部の二重化対象領域(所定記憶領域)内のデータが更新される度に更新されたデータを他の記憶部にコピーすることにより、二重化状態を維持するので、一の記憶部および他の記憶部間のデータの二重化を常に維持できる。
本発明の一実施形態としての記憶部制御システムの構成を示すブロック図である。 本発明の一実施形態としての記憶部制御システムのストレージ装置のCM内のCPUの機能構成を示すブロック図である。 本発明の一実施形態としての記憶部制御システムのストレージ装置のCM内のCPUの二重化処理部が保持する管理テーブルの構成を説明するための図である。 本発明の一実施形態としての記憶部制御システムのCM内のCPUの処理順序キューの構成を説明するための図である。 本発明の一実施形態としての記憶部制御システムのCM内のCPUの処理部の機能を説明するための図である。 本発明の一実施形態としての記憶部制御システムの動作手順の一例を示すフローチャートである。 本発明の変形例としての記憶部制御システムの動作手順の一例を示すフローチャートである。 従来の記憶部制御システムの構成を示すブロック図である。
符号の説明
1,100 記憶部制御システム
2,105 ホスト(データ処理装置)
3,106 ストレージ装置
10〜13,101〜104 ディスク(記憶部)
20 CM(Centralized Module;第1記憶部制御装置)
21,31,111,121 CPU(Central Processing Unit)
22,32,112,122 キャッシュ
23a,23b,33a,33b,113a,113b,123a,123b CA(Channel Adapter)
24a,24b,34a,34b,114a,114b,124a,124b FC(Fiber Channel)
25 二重化制御部
26 処理順序キュー(キューイング部)
27 処理順序制御部
28 第1処理部
30 CM(第2記憶部制御装置)
35 第2処理部(処理部)
110,120 記憶部制御装置(CM)
以下、図面を参照しながら本発明の実施の形態について説明する。
〔1〕本発明の一実施形態について
まず、図1に示すブロック図を参照しつつ、本発明の一実施形態としての記憶部制御システム(以下、本記憶部制御システムという)1の構成について説明すると、本記憶部制御システム1は、ホスト(データ処理装置)2とストレージ装置3とから構成されている。
ホスト2はストレージ装置3に対して処理要求を発行するものであり、後述するディスク(記憶部)10〜13に対して書込み要求(ライト要求)や読出し要求(リード要求)を行なう。
ストレージ装置3は、ディスク10〜13と、CM(Centralized Module;記憶部制御装置)20,30と、CA(Channel Adapter)23a,23b,33a,33bと、FC(Fiber Channel)24a,24b,34a,34bとを備えて構成されている。なお、CM20は本発明の第1記憶部制御装置として機能するものであり、CM30は本発明の第2記憶部制御装置として機能するものである。
ディスク10〜13はデータを保持する記憶部である。なお、ディスク12には、後述する二重化制御部25(後述する図2参照)によって、ディスク11のデータがコピーされる。
CM20,30は、ホスト2からの処理要求に応じてディスク10〜13に対する処理を行なうものであり、ここでは、CM20がディスク10,11に対する処理を行なう一方、CM30がディスク12,13に対する処理を行なうように構成されている。
CM20は、ディスク10,11に対する書込み処理や読出し処理などを行なうCPU(Central Processing Unit)21および一次メモリとしてのキャッシュ22を備えている。
また、CM30もCM20と同様に、ディスク12,13に対する書込み処理や読出し処理などを行なうCPU31およびキャッシュ32を備えている。
なお、CM20とCM30とは、互いに情報を送受信可能に接続されている。
CA23a,23bは、ホスト2とCM20とのインタフェース制御部として機能するものであり、CA33a,33bは、ホスト2とCM30とのインタフェース制御部として機能するものである。
FC24a,24bは、ディスク10,11とCM20とのインタフェース制御部として機能するものであり、FC34a,34bは、ディスク12,13とCM30とのインタフェース制御部として機能するものである。
このように、CM20は、CA23a,23bおよびFC24a,24bをそれぞれ介して、ホスト2とディスク10,11との間に介装されている。
したがって、ホスト2からのリード/ライト要求は、CA23a,23bを介してCM20のCPU21に送られ、また、CPU21からの応答は、CA23a,23bを介してホスト2に送られる。
また、CPU21とディスク10との間の情報のやり取りはFC24aを介して行われ、CPU21とディスク11との間の情報のやり取りはFC24bを介して行われる。
CM30は、CA33a,33bおよびFC34a,34bをそれぞれ介して、ホスト2とディスク12,13との間に介装されている。
したがって、ホスト2からのリード/ライト要求は、CA33a,33bを介してCM30のCPU31に送られ、また、CPU31からの応答は、CA33a,33bを介してホスト2に送られる。
また、CPU31とディスク12との間の情報のやり取りはFC34aを介して行われ、CPU31とディスク13との間の情報のやり取りはFC34bを介して行われる。
次に、図2を参照しながらCM20のCPU21およびCM30のCPU31の詳細機能について説明する。
CPU21は、二重化制御部25,処理順序キュー(キューイング部)26,処理順序制御部27,および第1処理部28を備えて構成されている。なお、これら二重化制御部25,処理順序制御部27,および第1処理部28は、CPU21が所定のアプリケーションプログラム(例えば後述する記憶部制御プログラム)を実行することによって実現される。
二重化制御部25は、ホスト2からの指示に応じて、ディスク11の所定記憶領域内(ここではディスク11の全領域内;指定コピー範囲(後述する図3参照))のデータを、ディスク12にコピーすることにより、ディスク11のデータを二重化状態に維持するものである。
二重化制御部25は、ホスト2から二重化の指示を受けると、コピー元としてのディスク11からコピー先としてのディスク12に対してコピーを開始し、ディスク11の全領域のコピーが完了してデータの二重化状態への遷移が完了した後は、ディスク11,12間のデータの二重化を維持すべく、ディスク11のデータが更新される度に更新されたデータをディスク12にコピーする。
なお、本記憶部制御システム1では、二重化制御部25の二重化処理が完了する前であっても、ホスト2は二重化対象のデータの読出しや、ディスク11の二重化対象の領域に対する書込みを要求し、CPU21,31はその要求を実行するように構成されている。
したがって、二重化制御部25は、二重化が完了する前に、ディスク11に対する書込み要求があれば、その書込み要求に対する処理後のデータをディスク12にコピーする。
また、二重化制御部25は、図3に示すような管理テーブル25aをそなえており、この管理テーブル25aに二重化処理の進捗状況を登録する。
管理テーブル25aは、コピー先(もしくはコピー元)の所定領域(ブロック)毎に、データのコピー(つまり二重化)が完了したか否かをフラグによって管理するものであり、ここでは“0”が完了を示し、“1”が未完了を示している。
なお、管理テーブル25aや処理順序キュー26は、例えばCPU21のメモリ(図示せず)によって実現される。
処理順序キュー26は、ホスト2から発行された、ディスク10〜13に対するリード/ライト要求の処理順序を一括して保持するものである。つまり、処理順序キュー26は、ホスト2からCM20のCPU21に対して発行されたリード/ライト要求と、ホスト2からCM30のCPU31に発行されたリード/ライト要求とを統合して、これらすべてのリード/ライト要求の処理順序を保持する。
なお、処理順序キュー26がCPU21(第1処理部28)のリード/ライト要求の処理順序だけでなく、CPU31(第2処理部35)のリード/ライト要求の処理順序も統合して保持するのは、処理順序制御部27による処理順序の変更によって、二重化制御部25による二重化処理が確実に実行できるようにするためである。したがって、この処理順序キュー26は、少なくともディスク11に対するリード/ライト要求と、ディスク12に対するリード要求を保持していればよい。
なお、本記憶部制御システム1では、上述したようにディスク11がマスタとして機能し、ディスク12がスレーブとして機能するので、ホスト2はディスク12に対するライト要求を発行することはない。
処理順序制御部27は、ホスト2からCPU31の第2処理部35に対して二重化のためのコピー先であるディスク12の対象領域に対する読出し要求があった場合に、処理順序キュー26において、その読出し要求の処理順序よりも後に当該読出し要求の対象領域に対応するコピー元のディスク11の対象領域に対する書込み要求がある場合には、処理順序キュー26における当該読出し要求の処理順序を当該書込み要求の後に変更するものである。
具体的には、処理順序制御部27は、図4に示すごとく、処理順序キュー26において当該読出し要求(リード処理)Aの前に、当該読出し要求と同じ処理対象範囲に対する処理がなければ[ここでは、処理順序が先頭(図中“トップ”と表記)になったとき]、当該読出し要求Aに対応するコピー元のディスク11の対象領域に対する書込み要求(つまり、当該読出し要求のデータの元データに対する更新処理の要求;ライト処理)Bが存在するか否かを判断する。
そして、対応する書込み要求Bが存在し、且つ、ホスト2が当該読出し要求Aに対するタイムアウトを検出しない範囲(応答制限時間)内であれば、当該読出し要求Aの処理順序をその書込み要求Bの後ろに変更する(図4中の矢印X参照)。
なお、図4に示す例では、最後尾(図中“ボトム”と表記)にも読出し要求Aに対応するディスク11の対象領域への書込み要求Cが存在するが、処理順序制御部27は、書込み要求Bの後ろに処理順序を変更した読出し要求Aが処理順序の先頭に来たときに、ホスト2のタイムアウト検出までにまだ時間がある場合には、処理順序制御部27は変更後の読出し要求Aの処理順序を書込み要求Cの後にさらに変更する。
処理順序制御部27は、読出し要求Aが処理順序キュー26に保持された時刻を処理開始時間として記憶しており、読出し要求Aの処理順序を変更する際(ここでは、読出し要求Aの処理順序が先頭になったとき)、現在の時刻との差分を求めて処理開始からの経過時間を算出し、この経過時間に基づいて、読出し要求Aの処理順序を対応する書込み要求B,Cの後ろに変更してもホスト2によってタイムアウトが検出されないか否かを判断する。
そして、処理順序制御部27は、読出し要求Aの処理順序を変更してもホスト2によってタイムアウトが検出されないと判断した場合にのみ、読出し要求Aの処理順序を変更する。
このように、処理順序制御部27は、読出し要求Aが処理順序キュー26に保持されてから、処理順序を変更してもホスト2によってタイムアウトが検出されない所定時間内であれば、当該読出し要求Aの処理順序を、対応する書込み要求B,Cの後に変更する。したがって、ホスト2にタイムアウトを検出されることを抑止しながら、最新データを当該読出し要求Aに用いることができる。
第1処理部28は、ホスト2からのリード/ライト要求に応じてディスク10,11に対する処理を行なうものであり、処理順序キュー2に保持された処理順序に基づいて処理を実行する。
CPU31は、第2処理部(処理部)35を備えて構成されている。なお、第2処理部35は、CPU31が所定のアプリケーションプログラム(例えば後述する記憶部制御プログラム)を実行することによって実現される。
第2処理部35は、ホスト2からのリード/ライト要求に応じてディスク12,13に対する処理を行なうものであり、処理順序キュー26に保持された処理順序に基づいて、かかる処理を実行する。
また、第2処理部35は、処理順序キュー26に保持された処理順序に基づいて、二重化処理のコピー先であるディスク11に対する読出し要求を実行する際には、二重化制御部25による当該読出し要求にかかる対象領域のデータの二重化処理が完了しているか否かを、管理テーブル25aに基づいて判断する。
そして、第2処理部35は、読出し要求にかかるデータの二重化処理が未完了であり、ディスク11には当該のデータが未だに記録(コピー)されていなければ、二重化制御部25に対して当該データ(つまり、読出し要求にかかる対象領域)の二重化処理の要求を発行し、二重化制御部25に当該読出し要求の対象領域のデータを、ディスク11からディスク12にコピーさせてから、当該読出し要求を実行する。
つまり、図5に示すように、第2処理部35は、ホスト2からディスク12の読出し要求(図中“リードI/O”と表記;矢印(1)参照)を受けると、第2処理部35は管理テーブル25aに基づいて当該読出し要求にかかる対象領域のデータがディスク12に記録されているか否か、すなわち、当該対照領域の二重化処理が完了しているか否かを判断する。
なお、第2処理部35は、管理テーブル25aに対応する、ディスク12における二重化データの有無(すなわち、二重化処理が完了しているか否か)を示すテーブル(図示せず)を備え、そのテーブルに基づいて読出し要求にかかるデータの有無を判断してもよい。
そして、第2処理部35は、読出し要求にかかるデータがディスク12になく、当該データの二重化処理が未完了であれば、CM20の二重化処理部25に対して当該データ(リード要求範囲)のコピー要求を発行する(図中矢印(2)参照)。
二重化処理部25は、第2処理部35からデータコピーの依頼を受けると、当該対象範囲をコピー元のディスク11(コピー元ボリューム)からコピー先のディスク12(コピー先ボリューム)へコピーする(図中矢印(3)参照)。
二重化処理部25による当該対象範囲のデータのコピーが完了すると、第2処理部35は、ホスト2に対して当該データの読出し処理を実行する(図中矢印(4)参照)。
なお、第2処理部35は、管理テーブル25aに基づいて二重化制御部による当該読出し要求にかかるデータの二重化処理が完了していると判断すれば、当該読出し要求を実行する。
次に、図6に示すフローチャート(ステップS1〜S10)を参照しながら、ホスト2から二重化処理のコピー先であるディスク12に対する読出し要求が発行された場合のストレージ装置3の動作手順について説明する。
まず、ホスト2から発行されたディスク12に対する読出し要求を、CA33aもしくはCA33bを介してCM30の第2処理部35が受信すると(ステップS1)、第2処理部35はその読出し要求を処理順序キュー26の最後尾に接続(登録)し、処理順序制御部27が当該読出し要求を処理順序キュー26の最後尾に接続した時刻を処理開始時刻として記憶する(ステップS2)。
次に、処理順序制御部27が、処理順序キュー26において当該読出し要求の前にアクセス範囲が同じ処理があるか否かを判断し(ステップS3)、ここで処理順序制御部27が同じアクセス範囲の処理があると判断すると(ステップS3のYesルート)、処理順序制御部27は、その処理の完了を待ってから(ステップS4)、後述するステップS5の処理に移行する。
なお、処理順序制御部27が同じアクセス範囲の処理がないと判断すると(ステップS3のNoルート)、処理順序制御部27は上記ステップS4の処理は行なわずに、後述するステップS5の処理に移行する。
つまり、処理順序制御部27は、当該読出し要求と同じアクセス範囲の処理がなければ、上記ステップS2で記憶した処理開始時刻に基づいて、ホスト2の当該読出し要求の応答制限時間に余裕があるか否かを判断する(ステップS5)。
具体的には、処理順序制御部27は、現在時刻と処理開始時刻とに基づいて、当該読出し要求の処理経過時間を求め、ホスト2がタイムアウトを検出するまでにまだ余裕があるか否か(つまり、当該読出し要求の処理順序を変更できる余裕があるか否か)を判断する。
そして、処理順序制御部27は、ホスト2の応答制限時間に対して余裕がないと判断すると(ステップS5のNoルート)、処理順序制御部27は当該読出し要求の処理順序の変更を行なわず、当該読出し要求が処理順序キュー26の先頭になると、第2処理部35が当該読出し要求の処理を開始する。
このとき、第2処理部35は、当該読出し要求の読出し対象範囲がコピー(二重化)済みか否かを判断し(ステップS6)、コピー済みではないと判断すると(ステップS6のNoルート)、上記図5を参照しながら説明したように当該読出し要求の読出し対象範囲をコピー元のディスク11からコピーしてから(ステップS7)、その当該読出し要求の対象範囲であるコピー先データをホスト2に読み出して(ステップS8)、処理を終了する。
なお、ステップS6における判断は、二重化の初期時に未だにコピーが完了していないかどうかを判断するだけではなく、一旦二重化が完了した後、更新された元データのディスク12へのコピーが完了しているか否かの判断も含まれてる。
また、第2処理部35は、当該読出し要求の対象範囲がコピー済みであると判断すると(ステップS6のYesルート)、ディスク12に記録された当該読出し要求にかかるデータを読み出して(ステップS8)、処理を終了する。
一方、上記ステップS5において、処理順序制御部27は、ホスト2の応答制限時間に対して余裕があると判断すると(ステップS5のYesルート)、処理順序キュー26において当該読出し要求の後ろにアクセス範囲が同じ書込み要求(ライト処理)があるか否かを判断する(ステップS9)。
ここで、処理順序制御部27は、当該読出し要求の後ろにアクセス範囲が同じ書込み要求がないと判断すると(ステップS9のNoルート)、上記ステップS6の処理に移行する。
一方、処理順序制御部27は、当該読出し要求の後ろにアクセス範囲が同じ書込み要求があると判断すると(ステップS9のYesルート)、処理順序キュー26における当該読出し要求の処理順序を当該書込み要求の後ろに接続し直して(ステップS10)、上記ステップS3の処理に移行する。
このように、本発明の一実施形態としての記憶部制御システム1によれば、ホスト2から、二重化制御部25による二重化処理のコピー先であるディスク12に対する読出し要求があった場合には、処理順序制御部27が、処理順序キュー26において、当該読出し要求よりも後ろに当該読出し要求の対象領域(アクセス範囲)に対応するコピー元のディスク11の対象領域に対する書込み要求があれば、処理順序キュー26における当該読出し要求の処理順序を当該書込み要求より後に変更するので、ホスト2からの二重化制御部25による二重化処理のコピー先であるディスク12おける二重化対象のデータ(領域)の読出し要求に対して、当該データの元データが更新される予定であれば更新後のデータを用いて読出し処理を行なうことができ、常に最新のデータを用いて応答することができる。
さらに、処理順序制御部27は、当該読出し要求が処理順序キュー26に保持されてから所定時間内であれば、当該読出し要求の処理順序を、対応する当該書込み要求の後に変更するので、ホスト2が当該読出し要求に対してタイムアウトを検出することを抑止できる。
より具体的には、処理順序制御部27は、当該読出し要求が処理順序キュー26に登録された時の時刻と、当該読出し要求の処理順序を変更しようとする際に、そのときの現在時刻とに基づいて、当該読出し要求の経過時間を算出し、算出した経過時間に基づいて、当該読出し要求の処理順序を変更してもホスト2の応答制限時間内に当該読出し要求の処理が可能であるか否かを判断した上で、当該読出し要求の処理順序を変更するので、ホスト2が当該読出し要求に対してタイムアウトを検出することをより確実に防止できる。
また、CM30のCPU31の第2処理部35は、処理順序キュー26に保持された処理順序に基づいて当該読出し要求を実行する際に、二重化制御部25による当該読出し要求にかかる対象領域のデータの二重化処理が未完了であれば、二重化制御部25に対象領域のデータをディスク11からディスク12にコピーさせてから、当該読出し要求を実行するので、二重化制御部25がホストから二重化の指示を受けてから、ディスク11,12間の二重化が未完了である領域に対して読出し要求があった場合であっても、その読出し要求を確実に実行することができる。
なお、第2処理部35が、管理テーブル25aに基づいて当該読出し要求にかかる対象領域のデータの二重化処理が完了しているか否かを判断するので、当該読出し要求に係るデータのディスク12における有無(つまり、コピーの有無)を確実に判断でき、その結果、当該読出し要求の実行をより確実なものにできる。
さらに、二重化制御部25は、ディスク11のデータの二重化状態への遷移が完了した後は、ディスク11の二重化対象領域(所定記憶領域)内のデータが更新される度に更新されたデータをディスク12にコピーすることにより、二重化状態を維持するので、ディスク11,12間のデータの二重化を常に維持できる。
〔2〕その他
なお、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、上述した実施形態では、ディスク11のデータをディスク12に二重化する場合を例にあげて説明したが、本発明はこれに限定されるものではなく、同一のCM20の支配下にあるディスク10とディスク11間でデータの二重化を行ってもよい。この場合、CM20のCPU21の第1処理部28は、上述した実施形態のCM30のCPU31の第2処理部35の機能も備えることなる。つまり、上述した実施形態では、CM30が第2処理部35をそなえて構成された例をあげて説明したが、ディスク10,11間でデータの二重化が図られるのであれば、CM20が第2処理部35の機能をそなえて構成される。
また、上述した実施形態では、図6のフローチャートのステップS9に示したように、処理順序キュー26においてディスク12の読出し要求の後ろにアクセス範囲が同じ対応する書込み処理(元データの更新処理)が無ければ(ステップS9のNoルート)、ステップS6の処理に移行して、第2処理部35が当該読出し要求を実行するように構成したが、本発明はこれに限定されるものではなく、例えば、図7に示すように、ステップS9´の判断において、当該読出し要求の後ろに対応する書込み処理が無ければ(ステップS9´のNoルート)、ステップS5の処理に戻って、ホスト2にタイムアウトを検出されない範囲で時間が許す限り当該読出し要求の実行を待機させて、待機中に、対応する書込み処理(つまり、元データの更新処理)が処理順序キュー26に登録されれば、その書込み処理の後ろに当該読出し要求を変更できるか否かを判断するように(つまり、ステップS9´の処理を行なうように)構成してもよく、これによって、ホスト2がタイムアウトを検出しない範囲内で、可能な限り最新のデータを当該読出し要求により確実に用いることができるようになる。
なお、上述した二重化制御部25,処理順序制御部27,第1処理部28,および第2処理部35としての機能は、コンピュータ(CPU,情報処理装置,各種端末を含む)が所定のアプリケーションプログラム(記憶部制御プログラム)を実行することによって実現されてもよい。
そのプログラムは、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RWなど),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD−RW,DVD+R,DVD+RWなど)等のコンピュータ読取可能な記録媒体に記録された形態で提供される。この場合、コンピュータはその記録媒体から記憶部制御プログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。また、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信回線を介してコンピュータに提供するようにしてもよい。
ここで、コンピュータとは、ハードウェアとOS(オペレーティングシステム)とを含む概念であり、OSの制御の下で動作するハードウェアを意味している。また、OSが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、CPU等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえている。
上記記憶部制御プログラムとしてのアプリケーションプログラムは、上述のようなコンピュータに、二重化制御部25,処理順序制御部27,第1処理部28,および第2処理部35としての機能を実現させるプログラムコードを含んでいる。また、その機能の一部は、アプリケーションプログラムではなくOSによって実現されてもよい。
なお、本実施形態としての記録媒体としては、上述したフレキシブルディスク,CD,DVD,磁気ディスク,光ディスク,光磁気ディスクのほか、ICカード,ROMカートリッジ,磁気テープ,パンチカード,コンピュータの内部記憶装置(RAMやROMなどのメモリ),外部記憶装置等や、バーコードなどの符号が印刷された印刷物等の、コンピュータ読取可能な種々の媒体を利用することもできる。
そして、本発明は、以下に示すように要約することができる。
(付記1) データを保持する複数の記憶部のうちの少なくとも一の記憶部と、該複数の記憶部に保持されたデータを処理対象とする少なくとも一つのデータ処理装置との間に介装され、該データ処理装置からの処理要求に応じて少なくとも該一の記憶部に対する処理を行なう記憶部制御装置であって、
該一の記憶部の所定記憶領域内のデータを該複数の記憶部のうちの他の記憶部にコピーすることにより該所定の記憶領域内のデータを二重化状態に維持する二重化制御部と、
該データ処理装置からの該複数の記憶部に対する書込み要求および読出し要求の処理順序を保持するキューイング部と、
該データ処理装置から該他の記憶部の該二重化制御部による二重化処理の対象領域に対する読出し要求が発行され、該キューイング部において当該読出し要求の処理順序よりも後に、当該読出し要求の対象領域に対応する該一の記憶部の対象領域に対する書込み要求がある場合には、該キューイング部における当該読出し要求の処理順序を当該書込み要求より後に変更する処理順序制御部とを備えて構成されていることを特徴とする、記憶部制御装置。
(付記2) 該キューイング部に保持された処理順序に基づいて当該読出し要求を実行する際に、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が未完了であれば、該二重化制御部に該対象領域のデータを該一の記憶部から該他の記憶部にコピーさせてから当該読出し要求を実行する一方、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が完了していれば、当該読出し要求を実行する処理部を備えて構成されたことを特徴とする、付記1記載の記憶部制御装置。
(付記3) 該処理順序制御部は、当該読出し要求が該キューイング部に保持されてから所定時間内であれば、当該読出し要求の処理順序を、対応する該書込み要求の後に変更することを特徴とする、付記1または付記2記載の記憶部制御装置。
(付記4) 該二重化制御部による該二重化処理の進捗状況を該他の記憶部の記憶領域に対応付けて管理する管理テーブルをそなえ、
該処理部が、該管理テーブルに基づいて当該読出し要求にかかる該対象領域のデータの二重化処理が完了しているか否かを判断することを特徴とする、付記1〜3のいずれか1つに記載の記憶部制御装置。
(付記5) 該二重化制御部は、該一の記憶部の該所定記憶領域内のデータの二重化状態への遷移が完了した後は、該一の記憶部の該所定記憶領域内のデータが更新される度に更新されたデータを該他の記憶部にコピーすることにより該二重化状態を維持することを特徴とする、付記1〜4のいずれか1つに記載の記憶部制御装置。
(付記6) データを保持する複数の記憶部と、
該複数の記憶部に保持されたデータを処理対象とする少なくとも一つのデータ処理装置と、
該複数の記憶部のうちの少なくとも一の記憶部と該データ処理装置との間に介装され、該データ処理装置からの処理要求に応じて少なくとも該一の記憶部に対する処理を行なう第1記憶部制御装置とをそなえ、
該第1記憶部制御装置が、
該一の記憶部の所定記憶領域内のデータを該複数の記憶部のうちの他の記憶部にコピーすることにより該所定の記憶領域内のデータを二重化状態に維持する二重化制御部と、
該データ処理装置からの該複数の記憶部に対する書込み要求およびデータの読出し要求の処理順序を保持するキューイング部と、
該データ処理装置から該他の記憶部の該二重化制御部による二重化処理の対象領域に対する読出し要求が発行され、該キューイング部において当該読出し要求の処理順序よりも後に、当該読出し要求の対象領域に対応する該一の記憶部の対象領域に対する書込み要求がある場合には、該キューイング部における当該読出し要求の処理順序を当該書込み要求より後に変更する処理順序制御部とを備えて構成されていることを特徴とする、記憶部制御システム。
(付記7) 該第1記憶部制御装置が、該キューイング部に保持された処理順序に基づいて当該読出し要求を実行する際に、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が未完了であれば、該二重化制御部に該対象領域のデータを該一の記憶部から該他の記憶部にコピーさせてから当該読出し要求を実行する一方、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が完了していれば、当該読出し要求を実行する処理部を備えて構成されていることを特徴とする、付記6記載の記憶部制御システム。
(付記8) 該他の記憶部と該データ処理装置との間に介装され、該データ処理装置からの処理要求に応じて少なくとも該他の記憶部に対する処理を行なう第2記憶部制御装置をそなえ、
該第2記憶部制御装置が、該キューイング部に保持された処理順序に基づいて当該読出し要求を実行する際に、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が未完了であれば、該二重化制御部に該対象領域のデータを該一の記憶部から該他の記憶部にコピーさせてから当該読出し要求を実行する一方、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が完了していれば、当該読出し要求を実行する処理部を備えて構成されていることを特徴とする、付記6記載の記憶部制御システム。
(付記9) 該処理順序制御部は、当該読出し要求が該キューイング部に保持されてから所定時間内であれば、当該読出し要求の処理順序を、対応する該書込み要求の後に変更することを特徴とする、付記6〜8のいずれか1つに記載の記憶部制御システム。
(付記10) 該二重化制御部による該二重化処理の進捗状況を該他の記憶部の記憶領域に対応付けて管理する管理テーブルをそなえ、
該処理部が、該管理テーブルに基づいて当該読出し要求にかかる該対象領域のデータの二重化処理が完了しているか否かを判断することを特徴とする、付記6〜9のいずれか1つに記載の記憶部制御システム。
(付記11) 該二重化制御部は、該一の記憶部の該所定記憶領域内のデータの二重化状態への遷移が完了した後は、該一の記憶部の該所定記憶領域内のデータが更新される度に更新されたデータを該他の記憶部にコピーすることにより該二重化状態を維持することを特徴とする、付記6〜10のいずれか1つに記載の記憶部制御システム。
(付記12) データを保持する複数の記憶部と、該複数の記憶部に保持されたデータを処理対象とする少なくとも一つのデータ処理装置と、該複数の記憶部のうちの少なくとも一の記憶部と該データ処理装置との間に介装され、該データ処理装置からの該複数の記憶部に対する書込み要求およびデータの読出し要求の処理順序を保持するキューイング部を有し、該データ処理装置からの処理要求に応じて少なくとも該一の記憶部に対する処理を行なう第1記憶部制御装置とからなる記憶部制御システムにおいて、二重化対象のデータの読出し要求を実行する機能をコンピュータに実現させるための記憶部制御プログラムであって、
該第1記憶部制御装置が、
該一の記憶部の所定記憶領域内のデータを該複数の記憶部のうちの他の記憶部にコピーすることにより該所定の記憶領域内のデータを二重化状態に維持する二重化制御部、および、
該データ処理装置から該他の記憶部の該二重化制御部による二重化処理の対象領域に対する読出し要求が発行され、該キューイング部において当該読出し要求の処理順序よりも後に、当該読出し要求の対象領域に対応する該一の記憶部の対象領域に対する書込み要求がある場合には、該キューイング部における当該読出し要求の処理順序を当該書込み要求より後に変更する処理順序制御部として機能するように、該コンピュータを機能させることを特徴とする、記憶部制御プログラム。
(付記13) 該第1記憶部制御装置が、該キューイング部に保持された処理順序に基づいて当該読出し要求を実行する際に、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が未完了であれば、該二重化制御部に該対象領域のデータを該一の記憶部から該他の記憶部にコピーさせてから当該読出し要求を実行する一方、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が完了していれば、当該読出し要求を実行する処理部として機能するように、該コンピュータを機能させることを特徴とする、付記12記載の記憶部制御プログラム。
(付記14) 該データ処理装置からの処理要求に応じて少なくとも該他の記憶部に対する処理を行なうべく、該他の記憶部と該データ処理装置との間に介装され該記憶部制御システムを構成する第2記憶部制御装置が、該キューイング部に保持された処理順序に基づいて当該読出し要求を実行する際に、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が未完了であれば、該二重化制御部に該対象領域のデータを該一の記憶部から該他の記憶部にコピーさせてから当該読出し要求を実行する一方、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が完了していれば、当該読出し要求を実行する処理部として機能するように、該コンピュータを機能させることを特徴とする、付記13記載の記憶部制御プログラム。
(付記15) 該処理順序制御部が、当該読出し要求が該キューイング部に保持されてから所定時間内であれば、当該読出し要求の処理順序を、対応する該書込み要求の後に変更するように、該コンピュータを機能させることを特徴とする、付記12〜14のいずれか1つに記載の記憶部制御プログラム。
(付記16) 該第1記憶部制御装置が、該二重化制御部による該二重化処理の進捗状況を該他の記憶部の記憶領域に対応付けて管理する管理テーブルをそなえて構成され、
該処理部が、該管理テーブルに基づいて当該読出し要求にかかる該対象領域のデータの二重化処理が完了しているか否かを判断するように、該コンピュータを機能させることを特徴とする、付記12〜15のいずれか1つに記載の記憶部制御プログラム。
(付記17) 該二重化制御部が、該一の記憶部の該所定記憶領域内のデータの二重化状態への遷移が完了した後は、該一の記憶部の該所定記憶領域内のデータが更新される度に更新されたデータを該他の記憶部にコピーすることにより該二重化状態を維持するように、該コンピュータを機能させることを特徴とする、付記12〜16のいずれか1つに記載の記憶部制御プログラム。
(付記18) データを保持する複数の記憶部と、該複数の記憶部に保持されたデータを処理対象とする少なくとも一つのデータ処理装置と、該複数の記憶部のうちの少なくとも一の記憶部と該データ処理装置との間に介装され、該データ処理装置からの該複数の記憶部に対する書込み要求およびデータの読出し要求の処理順序を保持するキューイング部を有し、該データ処理装置からの処理要求に応じて少なくとも該一の記憶部に対する処理を行なう第1記憶部制御装置とからなる記憶部制御システムにおいて、二重化対象のデータの読出し要求を実行する機能をコンピュータに実現させるための記憶部制御プログラムを記録したコンピュータ読取可能な記録媒体であって、
該記憶部制御プログラムが、
該第1記憶部制御装置が、該一の記憶部の所定記憶領域内のデータを該複数の記憶部のうちの他の記憶部にコピーすることにより該所定の記憶領域内のデータを二重化状態に維持する二重化制御部、および、該データ処理装置から該他の記憶部の該二重化制御部による二重化処理の対象領域に対する読出し要求が発行され、該キューイング部において当該読出し要求の処理順序よりも後に、当該読出し要求の対象領域に対応する該一の記憶部の対象領域に対する書込み要求がある場合には、該キューイング部における当該読出し要求の処理順序を当該書込み要求より後に変更する処理順序制御部として機能するように、該コンピュータを機能させることを特徴とする、記憶部制御プログラムを記録したコンピュータ読取可能な記録媒体。
(付記19) 該第1記憶部制御装置が、該キューイング部に保持された処理順序に基づいて当該読出し要求を実行する際に、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が未完了であれば、該二重化制御部に該対象領域のデータを該一の記憶部から該他の記憶部にコピーさせてから当該読出し要求を実行する一方、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が完了していれば、当該読出し要求を実行する処理部として機能するように、該記憶部制御プログラムが該コンピュータを機能させることを特徴とする、付記18記載の記憶部制御プログラムを記録したコンピュータ読取可能な記録媒体。
(付記20) 該データ処理装置からの処理要求に応じて少なくとも該他の記憶部に対する処理を行なうべく、該他の記憶部と該データ処理装置との間に介装され該記憶部制御システムを構成する第2記憶部制御装置が、該キューイング部に保持された処理順序に基づいて当該読出し要求を実行する際に、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が未完了であれば、該二重化制御部に該対象領域のデータを該一の記憶部から該他の記憶部にコピーさせてから当該読出し要求を実行する一方、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が完了していれば、当該読出し要求を実行する処理部として機能するように、該記憶部制御プログラムが該コンピュータを機能させることを特徴とする、付記18記載の記憶部制御プログラムを記録したコンピュータ読取可能な記録媒体。

Claims (8)

  1. データを保持する複数の記憶部のうちの少なくとも一の記憶部と、該複数の記憶部に保持されたデータを処理対象とする少なくとも一つのデータ処理装置との間に介装され、該データ処理装置からの処理要求に応じて少なくとも該一の記憶部に対する処理を行なう記憶部制御装置であって、
    該一の記憶部の所定記憶領域内のデータを該複数の記憶部のうちの他の記憶部にコピーすることにより該所定の記憶領域内のデータを二重化状態に維持する二重化制御部と、
    該データ処理装置からの該複数の記憶部に対する書込み要求および読出し要求の処理順序を保持するキューイング部と、
    該データ処理装置から該他の記憶部の該二重化制御部による二重化処理の対象領域に対する読出し要求が発行され、該キューイング部において当該読出し要求の処理順序よりも後に、当該読出し要求の対象領域に対応する該一の記憶部の対象領域に対する書込み要求がある場合には、該キューイング部における当該読出し要求の処理順序を当該書込み要求より後に変更する処理順序制御部とを備えて構成されていることを特徴とする、記憶部制御装置。
  2. 該キューイング部に保持された処理順序に基づいて当該読出し要求を実行する際に、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が未完了であれば、該二重化制御部に該対象領域のデータを該一の記憶部から該他の記憶部にコピーさせてから当該読出し要求を実行する一方、該二重化制御部による当該読出し要求にかかる該対象領域のデータの二重化処理が完了していれば、当該読出し要求を実行する処理部を備えて構成されたことを特徴とする、請求項1記載の記憶部制御装置。
  3. 該二重化制御部による該二重化処理の進捗状況を該他の記憶部の記憶領域に対応付けて管理する管理テーブルをそなえ、
    該処理部が、該管理テーブルに基づいて当該読出し要求にかかる該対象領域のデータの二重化処理が完了しているか否かを判断することを特徴とする、請求項記載の記憶部制御装置。
  4. 該処理順序制御部は、当該読出し要求が該キューイング部に保持されてから所定時間内であれば、当該読出し要求の処理順序を、対応する該書込み要求の後に変更することを特徴とする、請求項1〜3のいずれか1項に記載の記憶部制御装置。
  5. 該二重化制御部は、該一の記憶部の該所定記憶領域内のデータの二重化状態への遷移が完了した後は、該一の記憶部の該所定記憶領域内のデータが更新される度に更新されたデータを該他の記憶部にコピーすることにより該二重化状態を維持することを特徴とする、請求項1〜4のいずれか1項に記載の記憶部制御装置。
  6. データを保持する複数の記憶部と、
    該複数の記憶部に保持されたデータを処理対象とする少なくとも一つのデータ処理装置と、
    該複数の記憶部のうちの少なくとも一の記憶部と該データ処理装置との間に介装され、該データ処理装置からの処理要求に応じて少なくとも該一の記憶部に対する処理を行なう第1記憶部制御装置とをそなえ、
    該第1記憶部制御装置が、
    該一の記憶部の所定記憶領域内のデータを該複数の記憶部のうちの他の記憶部にコピーすることにより該所定の記憶領域内のデータを二重化状態に維持する二重化制御部と、
    該データ処理装置からの該複数の記憶部に対する書込み要求およびデータの読出し要求の処理順序を保持するキューイング部と、
    該データ処理装置から該他の記憶部の該二重化制御部による二重化処理の対象領域に対する読出し要求が発行され、該キューイング部において当該読出し要求の処理順序よりも後に、当該読出し要求の対象領域に対応する該一の記憶部の対象領域に対する書込み要求がある場合には、該キューイング部における当該読出し要求の処理順序を当該書込み要求より後に変更する処理順序制御部とを備えて構成されていることを特徴とする、記憶部制御システム。
  7. データを保持する複数の記憶部と、該複数の記憶部に保持されたデータを処理対象とする少なくとも一つのデータ処理装置と、該複数の記憶部のうちの少なくとも一の記憶部と該データ処理装置との間に介装され、該データ処理装置からの該複数の記憶部に対する書込み要求およびデータの読出し要求の処理順序を保持するキューイング部を有し、該データ処理装置からの処理要求に応じて少なくとも該一の記憶部に対する処理を行なう第1記憶部制御装置とからなる記憶部制御システムにおいて、二重化対象のデータの読出し要求を実行する機能をコンピュータに実現させるための記憶部制御プログラムであって、
    該第1記憶部制御装置が、
    該一の記憶部の所定記憶領域内のデータを該複数の記憶部のうちの他の記憶部にコピーすることにより該所定の記憶領域内のデータを二重化状態に維持する二重化制御部、および、
    該データ処理装置から該他の記憶部の該二重化制御部による二重化処理の対象領域に対する読出し要求が発行され、該キューイング部において当該読出し要求の処理順序よりも後に、当該読出し要求の対象領域に対応する該一の記憶部の対象領域に対する書込み要求がある場合には、該キューイング部における当該読出し要求の処理順序を当該書込み要求より後に変更する処理順序制御部として機能するように、該コンピュータを機能させることを特徴とする、記憶部制御プログラム。
  8. データを保持する複数の記憶部と、該複数の記憶部に保持されたデータを処理対象とする少なくとも一つのデータ処理装置と、該複数の記憶部のうちの少なくとも一の記憶部と該データ処理装置との間に介装され、該データ処理装置からの該複数の記憶部に対する書込み要求およびデータの読出し要求の処理順序を保持するキューイング部を有し、該データ処理装置からの処理要求に応じて少なくとも該一の記憶部に対する処理を行なう第1記憶部制御装置とからなる記憶部制御システムにおいて、二重化対象のデータの読出し要求を実行する機能をコンピュータに実現させるための記憶部制御プログラムを記録したコンピュータ読取可能な記録媒体であって、
    該記憶部制御プログラムが、
    該第1記憶部制御装置が、該一の記憶部の所定記憶領域内のデータを該複数の記憶部のうちの他の記憶部にコピーすることにより該所定の記憶領域内のデータを二重化状態に維持する二重化制御部、および、該データ処理装置から該他の記憶部の該二重化制御部による二重化処理の対象領域に対する読出し要求が発行され、該キューイング部において当該読出し要求の処理順序よりも後に、当該読出し要求の対象領域に対応する該一の記憶部の対象領域に対する書込み要求がある場合には、該キューイング部における当該読出し要求の処理順序を当該書込み要求より後に変更する処理順序制御部として機能するように、該コンピュータを機能させることを特徴とする、記憶部制御プログラムを記録したコンピュータ読取可能な記録媒体。
JP2009524357A 2007-07-26 2007-07-26 記憶部制御装置,記憶部制御システム,記憶部制御プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 Expired - Fee Related JP4866464B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2007/064667 WO2009013830A1 (ja) 2007-07-26 2007-07-26 記憶部制御装置,記憶部制御システム,記憶部制御プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体

Publications (2)

Publication Number Publication Date
JPWO2009013830A1 JPWO2009013830A1 (ja) 2010-09-30
JP4866464B2 true JP4866464B2 (ja) 2012-02-01

Family

ID=40281093

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009524357A Expired - Fee Related JP4866464B2 (ja) 2007-07-26 2007-07-26 記憶部制御装置,記憶部制御システム,記憶部制御プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体

Country Status (3)

Country Link
US (1) US8725968B2 (ja)
JP (1) JP4866464B2 (ja)
WO (1) WO2009013830A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3015549B1 (fr) 2013-12-20 2019-05-10 Ene29 S.Ar.L. Dispositif de stimulation de puits et procede de diagnostic d'un tel dispositif de stimulation
US9946604B1 (en) * 2015-02-04 2018-04-17 Tintri Inc. Optimized remote cloning
US10452296B1 (en) 2018-03-23 2019-10-22 Amazon Technologies, Inc. Accelerated volumes
US10459655B1 (en) 2018-04-30 2019-10-29 Amazon Technologies, Inc. Rapid volume backup generation from distributed replica
US11343314B1 (en) 2018-04-30 2022-05-24 Amazon Technologies, Inc. Stream-based logging for distributed storage systems
US11023157B2 (en) 2018-04-30 2021-06-01 Amazon Technologies, Inc. Intermediary duplication to facilitate copy requests in distributed storage systems
US10931750B1 (en) 2018-07-30 2021-02-23 Amazon Technologies, Inc. Selection from dedicated source volume pool for accelerated creation of block data volumes
US10956442B1 (en) 2018-07-30 2021-03-23 Amazon Technologies, Inc. Dedicated source volume pool for accelerated creation of block data volumes from object data snapshots
JP2020155179A (ja) * 2019-03-20 2020-09-24 キオクシア株式会社 半導体記憶装置
US11068192B1 (en) 2019-03-26 2021-07-20 Amazon Technologies, Inc. Utilizing mutiple snapshot sources for creating new copy of volume in a networked environment wherein additional snapshot sources are reserved with lower performance levels than a primary snapshot source
US10983719B1 (en) * 2019-03-28 2021-04-20 Amazon Technologies, Inc. Replica pools to support volume replication in distributed storage systems

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11345096A (ja) * 1998-06-03 1999-12-14 Hitachi Ltd ディスクアレイシステム
JP2000163222A (ja) * 1998-11-25 2000-06-16 Nec Corp データ記憶再生システム
JP2001166974A (ja) * 1999-09-30 2001-06-22 Fujitsu Ltd 記憶装置のデータ領域間の複写処理方法、記憶システム、及びその記憶媒体
JP2001249770A (ja) * 2000-03-07 2001-09-14 Hitachi Ltd コマンドキューイングの機能を持つ記憶装置
JP2001518210A (ja) * 1996-05-31 2001-10-09 イーエムシー コーポレイション 共通データセットに対する独立及び同時のアクセスに関する方法及び装置
JP2001290607A (ja) * 2000-04-06 2001-10-19 Matsushita Electric Ind Co Ltd デバイスドライバのコマンドキューイング制御方法及びコンピュータシステム
JP2003044227A (ja) * 2001-08-02 2003-02-14 Matsushita Electric Ind Co Ltd 情報記録装置
JP2005165618A (ja) * 2003-12-02 2005-06-23 Hitachi Ltd ストレージシステムの制御方法、ストレージシステム、及び記憶装置
JP2005301976A (ja) * 2004-03-02 2005-10-27 Hitachi Ltd 多重リモートストレージでのデータ同期
JP2006155662A (ja) * 2001-11-14 2006-06-15 Emc Corp 装置特性の変化を識別する階層的な方法及び装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7631120B2 (en) * 2004-08-24 2009-12-08 Symantec Operating Corporation Methods and apparatus for optimally selecting a storage buffer for the storage of data
JP2005209055A (ja) 2004-01-26 2005-08-04 Hitachi Ltd ストレージの負荷分散方法
US7996599B2 (en) * 2007-04-25 2011-08-09 Apple Inc. Command resequencing in memory operations

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001518210A (ja) * 1996-05-31 2001-10-09 イーエムシー コーポレイション 共通データセットに対する独立及び同時のアクセスに関する方法及び装置
JPH11345096A (ja) * 1998-06-03 1999-12-14 Hitachi Ltd ディスクアレイシステム
JP2000163222A (ja) * 1998-11-25 2000-06-16 Nec Corp データ記憶再生システム
JP2001166974A (ja) * 1999-09-30 2001-06-22 Fujitsu Ltd 記憶装置のデータ領域間の複写処理方法、記憶システム、及びその記憶媒体
JP2001249770A (ja) * 2000-03-07 2001-09-14 Hitachi Ltd コマンドキューイングの機能を持つ記憶装置
JP2001290607A (ja) * 2000-04-06 2001-10-19 Matsushita Electric Ind Co Ltd デバイスドライバのコマンドキューイング制御方法及びコンピュータシステム
JP2003044227A (ja) * 2001-08-02 2003-02-14 Matsushita Electric Ind Co Ltd 情報記録装置
JP2006155662A (ja) * 2001-11-14 2006-06-15 Emc Corp 装置特性の変化を識別する階層的な方法及び装置
JP2005165618A (ja) * 2003-12-02 2005-06-23 Hitachi Ltd ストレージシステムの制御方法、ストレージシステム、及び記憶装置
JP2005301976A (ja) * 2004-03-02 2005-10-27 Hitachi Ltd 多重リモートストレージでのデータ同期

Also Published As

Publication number Publication date
WO2009013830A1 (ja) 2009-01-29
JPWO2009013830A1 (ja) 2010-09-30
US20100115219A1 (en) 2010-05-06
US8725968B2 (en) 2014-05-13

Similar Documents

Publication Publication Date Title
JP4866464B2 (ja) 記憶部制御装置,記憶部制御システム,記憶部制御プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体
US7028216B2 (en) Disk array system and a method of avoiding failure of the disk array system
JP4972047B2 (ja) ストレージシステム,ストレージシステムのコピー制御方法,及びストレージシステムのコピー制御部
KR100672885B1 (ko) 정보 처리 시스템, 스토리지 장치, 및 스토리지 제어 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
EP1860560B1 (en) Storage control method and system for performing backup and/or restoration
US7216210B2 (en) Data I/O system using a plurality of mirror volumes
US20090254722A1 (en) Data storage apparatus
JP2010537267A (ja) ストレージ・コントローラと複製エンジンとの間で書き込みを分割する方法、システムおよびプログラム
US8892832B2 (en) Storage apparatus, storage management method, and storage medium storing storage management program
JP6230707B2 (ja) ストレージシステム
US11573729B2 (en) Storage device and storage control method
JP4898609B2 (ja) ストレージ装置、データ回復方法及び計算機システム
JP6277878B2 (ja) ストレージ装置の制御装置、ストレージ装置の制御方法及びストレージ装置の制御プログラム
US7587466B2 (en) Method and computer system for information notification
JP4704463B2 (ja) ストレージ制御装置、ストレージ制御プログラム、ストレージ制御方法
US20010009023A1 (en) Duplex disk controller
JP4845627B2 (ja) リモートコピーシステム及びリモートコピー制御方法
US8549221B2 (en) RAID management apparatus, RAID management method, and computer product
JP2005316697A (ja) ディスクアレイシステムおよびデータバックアップ方法
JP2007179552A (ja) 情報処理システム
JP4157179B2 (ja) ストレージシステムおよびこのシステムに適用されるメディア管理方法
US20180052749A1 (en) Information processing system and information processing method
JPWO2006057038A1 (ja) Raid管理プログラムおよびraid管理方法
JP2000163277A (ja) Dasd制御装置間のデータ転送方法
JP2005190260A (ja) ストレージ装置の運用管理

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111025

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141118

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4866464

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees