JP4620134B2 - 記憶デバイス制御装置の制御方法及び記憶デバイス制御装置 - Google Patents

記憶デバイス制御装置の制御方法及び記憶デバイス制御装置 Download PDF

Info

Publication number
JP4620134B2
JP4620134B2 JP2008019135A JP2008019135A JP4620134B2 JP 4620134 B2 JP4620134 B2 JP 4620134B2 JP 2008019135 A JP2008019135 A JP 2008019135A JP 2008019135 A JP2008019135 A JP 2008019135A JP 4620134 B2 JP4620134 B2 JP 4620134B2
Authority
JP
Japan
Prior art keywords
pair
split
command
storage
input
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
JP2008019135A
Other languages
English (en)
Other versions
JP2008165819A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2008019135A priority Critical patent/JP4620134B2/ja
Publication of JP2008165819A publication Critical patent/JP2008165819A/ja
Application granted granted Critical
Publication of JP4620134B2 publication Critical patent/JP4620134B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は、記憶デバイス制御装置の制御方法、記憶デバイス制御装置、及びプログラムに関する。
通信可能に接続された情報処理装置とディスクアレイ装置とを含む記憶装置システムにおいて、データの複製元となるプライマリボリューム(正ボリューム)と複製先となるセカンダリボリューム(副ボリューム)とでペアを形成し、プライマリボリュームからセカンダリボリュームへのリアルタイムなデータの複製により、プライマリボリュームのデータを二重に管理する複製管理機能が知られている。
特開2001−318833号公報
しかしながら、例えば情報処理装置とディスクアレイ装置との間で授受されるデータが1つのプライマリボリュームに収まりきらない場合等、複数のプライマリボリュームに跨ってデータが格納される場合がある。このような場合に例えばデータのバックアップをとろうとすると、複数のペアに対してペア状態を解除する必要がある。ここで、個々のペアに対するペア状態の解除を行っている間にプライマリボリュームに対するデータの更新があると、ペア状態解除済みのプライマリボリュームに対するデータの更新はセカンダリボリュームに反映されないのに対し、ペア状態が未解除のプライマリボリュームに対するデータの更新はセカンダリボリュームに反映される場合がある。
そこで本発明は、複数の記憶ボリュームに格納されたデータの整合性を保ちつつデータの複製管理を行うことができる記憶デバイス制御装置の制御方法、記憶デバイス制御装置、及びプログラムを提供することを主たる目的とする。
本発明の記憶デバイス制御装置の制御方法は、データを記憶するための複数の記憶ボリュームを備える記憶デバイスに接続され、入出力命令を発行して前記複数の記憶ボリュームへまたは前記複数の記憶ボリュームからデータの入出力要求を行う情報処理装置に接続され、以下の各ステップから構成される記憶デバイス制御装置の制御方法であって、各ペアに対して、前記複数の記憶ボリュームの第一の記憶ボリュームと、前記第一の記憶ボリュームにデータが書き込まれると当該データの複製が書き込まれる第二の記憶ボリュームと、を対応付けて複数のペアを形成するステップを備えており、複数のペアから構成され、ペアグループ番号で識別されるペアグループを形成するステップと、前記制御装置上の前記ペアグループ番号で識別されるペアグループに対して、スプリット開始時刻を特定するスプリット命令を受領するステップと、前記スプリット開始時刻が経過しているかどうかをチェックするために、前記スプリット開始時刻と現在の時刻とを比較するステップと、前記スプリット開始時刻を経過していることがチェックされる場合には、前記ペアグループに含まれる各ペアの記憶ボリューム間の対応付けを解除して、前記制御装置によりスプリットが管理されるように、前記ペアグループのペアのスプリットを開始するステップと、前記情報処理装置から発行される入出力命令が前記制御装置で受領されると、前記入出力命令発行時刻が前記情報処理装置により入出力命令が発行された前記ペアグループの記憶ボリューム間の対応付けの解除の開始後であるかどうかをチェックするために、前記入出力命令に記録された入出力命令発行時刻と前記スプリット開始時刻とを比較し、前記入出力命令発行時刻が前記情報処理装置により入出力命令が発行された前記ペアグループの記憶ボリューム間の対応付けの解除の開始後であるかどうかをチェックし、前記入出力命令が前記ペアグループの未分割ペアのボリュームに対してなされたかどうかを判定するステップと、前記入出力命令発行時刻の方が前記スプリット開始時刻よりも遅いことがチェックされ、前記入出力命令が未分割ペアのボリュームに対してなされた場合には、前記未分割ペアをスプリットし、前記ボリュームに対して前記入出力命令を実行するステップを備えている
本発明の記憶デバイス制御装置は、データを記憶するための複数の記憶ボリュームを備える記憶デバイスに接続され、入出力命令を発行して前記複数の記憶ボリュームへまたは前記複数の記憶ボリュームからデータの入出力要求を行う情報処理装置に接続される記憶デバイス制御装置であって、各ペアに対して、前記複数の記憶ボリュームの第一の記憶ボリュームと、前記第一の記憶ボリュームにデータが書き込まれると当該データの複製が書き込まれる第二の記憶ボリュームと、を対応付けて複数のペアを形成する手段を備えており、複数のペアから構成され、ペアグループ番号で識別されるペアグループを形成する手段と、前記制御装置上の前記ペアグループ番号で識別されるペアグループに対して、スプリット開始時刻を特定するスプリット命令を受領する手段と、前記スプリット開始時刻が経過しているかどうかをチェックするために、前記スプリット開始時刻と現在の時刻とを比較する手段と、前記スプリット開始時刻を経過していることがチェックされる場合には、前記ペアグループに含まれる各ペアの記憶ボリューム間の対応付けを解除して、前記制御装置によりスプリットが管理されるように、前記ペアグループのペアのスプリットを開始する手段と、前記情報処理装置から発行される入出力命令が前記制御装置で受領されると、前記入出力命令発行時刻が前記情報処理装置により入出力命令が発行された前記ペアグループの記憶ボリューム間の対応付けの解除の開始後であるかどうかをチェックするために、前記入出力命令に記録された入出力命令発行時刻と前記スプリット開始時刻とを比較する手段と、前記入出力命令発行時刻が前記情報処理装置により入出力命令が発行された前記ペアグループの記憶ボリューム間の対応付けの解除の開始後であるかどうかをチェックし、前記入出力命令が前記ペアグループの未分割ペアのボリュームに対してなされたかどうかを判定する手段と、前記入出力命令発行時刻の方が前記スプリット開始時刻よりも遅いことがチェックされ、前記入出力命令が未分割ペアのボリュームに対してなされた場合には、前記未分割ペアをスプリットする手段と、を備えている
ここで、記憶デバイスと記憶デバイス制御装置とは、上述したディスクアレイ装置を構成する。そして情報処理装置とディスクアレイ装置とは、上述した記憶装置システムを構成する。
記憶ボリュームとは、ディスクアレイ装置又は記憶デバイスが備えるディスクドライブにより提供される物理的な記憶領域である物理ボリュームと、物理ボリューム上に論理的に設定される記憶領域である論理ボリュームとを含む、ディスクアレイ装置又は記憶デバイスにより提供される記憶リソースである。
記憶デバイス制御装置の制御方法、記憶デバイス制御装置、及びプログラムを提供することができる。
以下、本発明の実施の形態について図面を用いて詳細に説明する。
<第1の実施の形態>
===全体構成例===
まず、本実施の形態に係る記憶装置システムの全体構成を示すブロック図を図1に示す。
情報処理装置100はCPU(Central Processing Unit)やメモリを備えたコンピュータである。情報処理装置100が備えるCPUにより各種プログラムが実行されることにより、様々な機能が実現される。情報処理装置100は例えば銀行の自動預金預け払いシステムや航空機の座席予約システム等における中枢コンピュータとして利用される。
また情報処理装置100は記憶デバイス制御装置200と接続されており、記憶デバイス制御装置200との間で通信を行う。記憶デバイス制御装置200に対してデータ入出力コマンド(データの入出力要求)を送信することにより、記憶デバイス300に記憶されているデータの読み出し、あるいは記憶デバイス300に対するデータの書き込みを行う。また情報処理装置100は、記憶デバイス制御装置200との間で記憶デバイス300を管理するための各種コマンドの授受も行う。例えば記憶デバイス300が備える記憶ボリュームに記憶されるデータの複製管理のためのコマンド等である。
情報処理装置100の構成を示すブロック図を図2に示す。
情報処理装置100は、CPU110、メモリ120、ポート130、記録媒体読取装置140、入力装置150、出力装置160を備える。
CPU110は情報処理装置100の全体の制御を司るもので、メモリ120に格納されたプログラムを実行することにより各種機能を実現する。記録媒体読取装置140は、記録媒体170に記録されているプログラムやデータを読み取るための装置である。読み取られたプログラムやデータはメモリ120に格納される。従って、例えば記録媒体170に記録された記憶デバイス管理プログラム121やアプリケーションプログラム122を、記録媒体読取装置140を用いて上記記録媒体170から読み取って、メモリ120に格納するようにすることができる。記録媒体170としてはフレキシブルディスクやCD−ROM、半導体メモリ等を用いることができる。記録媒体読取装置140は情報処理装置100に内蔵されている形態とすることもできるし、外付されている形態とすることもできる。入力装置150はオペレータ等による情報処理装置100へのデータ入力等のために用いられる。入力装置150としては例えばキーボードやマウス等が用いられる。出力装置160は情報を外部に出力するための装置である。出力装置160としては例えばディスプレイやプリンタ等が用いられる。ポート130は記憶デバイス制御装置200と通信を行うための装置である。また他の情報処理装置100との間で通信を行うために使用することもできる。この場合、例えば記憶デバイス管理プログラム121やアプリケーションプログラム122を、ポート130を介して他の情報処理装置100から受信して、メモリ120に格納するようにすることもできる。
記憶デバイス管理プログラム121は、記憶デバイス300が備える記憶ボリュームに記憶されるデータの複製管理を行うためのプログラムである。複製管理を行うための各種コマンドを記憶デバイス制御装置200に対して送信することにより複製管理が行われる。
アプリケーションプログラム122は、情報処理装置100により各種機能を実現するためのプログラムである。例えば上述した銀行の自動預金預け払いシステムを実現するための機能や航空機の座席予約システムを実現するための機能等である。
次に図1に戻って記憶デバイス制御装置200について説明する。記憶デバイス制御装置200は、情報処理装置100から受信したコマンドに従って記憶デバイス300に対する制御を行う。例えば情報処理装置100からデータの入出力要求を受信して、記憶デバイス300が備える記憶ボリュームに記憶されているデータの入出力処理を行う。
記憶デバイス制御装置200は、チャネルアダプタ210、キャッシュメモリ220、共有メモリ230、ディスクアダプタ240、管理端末(SVP:SerVice Processor)260、接続部250を備える。
チャネルアダプタ210は情報処理装置100との通信インタフェースを備え、情報処理装置100との間でデータ入出力コマンド等を授受する。
チャネルアダプタ210の構成を示すブロック図を図3に示す。
チャネルアダプタ210は、CPU211、キャッシュメモリ212、制御メモリ213、ポート215、バス216を備えている。
CPU211はチャネルアダプタ210の全体の制御を司るものであり、制御メモリ213に格納された制御プログラム214を実行する。制御メモリ213に格納された制御プログラム214が実行されることにより本実施の形態に係るデータの複製管理が実現される。キャッシュメモリ212は情報処理装置100との間で授受されるデータやコマンド等を一時的に格納するためのメモリである。ポート215は情報処理装置100との間の通信や記憶デバイス制御装置200内部の他の装置との間の通信を行うための通信インタフェースである。バス216はこれらの装置を相互に接続する。
再び図1に戻る。キャッシュメモリ220は、チャネルアダプタ210とディスクアダプタ240との間で授受されるデータを一時的に格納するための記憶メモリである。すなわち、例えばチャネルアダプタ210が情報処理装置100から受信したデータ入出力コマンドが書き込みコマンドであった場合には、チャネルアダプタ210は当該コマンドを共有メモリ230に書き込むと共に、情報処理装置100から受信した書き込みデータをキャッシュメモリ220に書き込む。そうすると、ディスクアダプタ240は共有メモリ230に書き込まれた当該書き込みコマンドに従って、キャッシュメモリ220から書き込みデータを読み出して記憶デバイス300に書き込む。
管理端末260は記憶デバイス制御装置200や記憶デバイス300を保守・管理するための情報処理装置の一形態である。例えばチャネルアダプタ210において実行される制御プログラム214の変更は管理端末260を用いて行われる。管理端末260は記憶デバイス制御装置200に内蔵されている形態とすることもできるし、別体とすることもできる。また管理端末260は、記憶デバイス制御装置200及び記憶デバイス300の保守・管理を専用に行う情報処理装置とすることもできるし、汎用の情報処理装置に保守・管理機能を持たせたものとすることもできる。管理端末260の構成は図2に示した情報処理装置100の構成と同様である。すなわち管理端末260は、CPU110やメモリ120、ポート130、記録媒体読取装置140、入力装置150、出力装置160を備えている。従って、チャネルアダプタ210において実行される制御プログラム214は、管理端末260の記録媒体読取装置140を用いて記録媒体170から読み取るようにすることもできるし、管理端末260のポート130を介して接続される他の情報処理装置100から受信するようにすることもできる。
ディスクアダプタ240はチャネルアダプタ210からの指示に従い、記憶デバイス300の制御を行う。
記憶デバイス300は、情報処理装置100に提供するための記憶ボリュームを備えている。記憶ボリュームとは、記憶デバイス300が備えるディスクドライブにより提供される物理的な記憶領域である物理ボリュームと、物理ボリューム上に論理的に設定される記憶領域である論理ボリュームとを含む、記憶デバイス300により提供される記憶リソースである。ディスクドライブとしては、例えばハードディスク装置やフレキシブルディスク装置、半導体記憶装置等様々なものを採用することができる。またディスクアダプタ240と記憶デバイス300との間は図1のように直接に接続される形態とすることもできるし、ネットワークを介して接続するようにすることもできる。さらに記憶デバイス300は記憶デバイス制御装置200と一体型として構成されることもできる。
共有メモリ230はチャネルアダプタ210とディスクアダプタ240の両方からアクセスが可能である。データ入出力要求コマンドの受け渡しに利用される他、記憶デバイス制御装置200や記憶デバイス300の管理情報等が記憶される。本実施の形態においては、図4に示すようにコンシステンシグループ管理テーブル231、ペア管理テーブル232が共有メモリ230に記憶される。
===ペア管理テーブル===
ペア管理テーブル232は、記憶デバイス300に記憶されるデータの複製管理を行うためのテーブルである。ペア管理テーブル232は、「ペア」欄、「正ボリューム」欄、「副ボリューム」欄、「ペア状態」欄、「コンシステンシグループ」欄を備える。
「ペア」欄はペアの名称を示す。ペアとは2つの記憶ボリュームにより形成される記憶ボリュームの組み合わせをいう。ペアを形成している記憶ボリュームの例を図5に示す。図5においては2組のペア、すなわちペアAとペアBとが示されている。ペアを形成する記憶ボリュームは、一方をプライマリボリューム、他方をセカンダリボリュームとして管理される。図5においてはプライマリボリュームを「正」、セカンダリボリュームを「副」と記されている。なお、一つのプライマリボリュームに対して複数のセカンダリボリュームを組み合わせることも可能である。
図4のペア管理テーブル232に戻ると、「正ボリューム」欄は当該ペアのプライマリボリュームを示す。「副ボリューム」欄は当該ペアのセカンダリボリュームを示す。
「ペア状態」欄は当該ペアの状態を示す。ペアの状態としては、「ペア中」、「スプリット中」、「リシンク中」がある。
「ペア中」の場合は、情報処理装置100からプライマリボリュームに書き込まれたデータがセカンダリボリュームにも反映される。このようなプライマリボリュームとセカンダリボリュームとの対応付けにより、プライマリボリュームに記憶されている内容とセカンダリボリュームに記憶されている内容との同一性を確保することができる。
「スプリット中」の場合は、情報処理装置100からプライマリボリュームにデータが書き込まれてもセカンダリボリュームには反映されない。すなわち「スプリット中」の状態は、「ペア中」におけるプライマリボリュームとセカンダリボリュームとの対応付けが解除された状態である。従ってプライマリボリュームの内容とセカンダリボリュームの内容の同一性は保証されない。しかし「スプリット中」はセカンダリボリュームの内容が更新されないので、この間にデータのバックアップをとることが可能となる。例えば磁気テープ等にセカンダリボリュームに記憶されているデータを保存するようにする。これにより、情報処理装置100がそれまで行っていた業務をプライマリボリュームにより継続したまま、データのバックアップをとることが可能となる。
「リシンク中」は「スプリット中」から「ペア中」に移行する途中の状態である。すなわち、「スプリット中」にプライマリボリュームに対してなされたデータの更新をセカンダリボリュームに反映している状態である。反映が完了すると当該ペアの状態は「ペア中」になる。
上記ペアの形成や、「ペア中」の記憶ボリュームの「スプリット中」への移行、あるいは「スプリット中」の記憶ボリュームの「ペア中」への移行は、記憶デバイス管理プログラム121が実行されている情報処理装置100に対して入力装置150からオペレータが指示入力を与えることにより行われる。オペレータにより与えられた指示入力は記憶デバイス制御装置200のチャネルアダプタ210に送信される。チャネルアダプタ210は制御プログラム214を実行して、上記指示に従って、ペアの形成やペア状態の変更を行う。そして形成したペアのペア状態に応じて、例えば「ペア中」のペアに対してはプライマリボリュームの更新データの複製をセカンダリボリュームへ反映する等、記憶ボリュームに対する制御を行う。
チャネルアダプタ210によるペア状態の変更は、各ペアに対して逐次に行われる。なぜならば、例えば上述したように一つのプライマリボリュームに対して複数のセカンダリボリュームを組み合わせてペアを形成することもできるので、かかる場合に同時に複数のペア状態が変化すると、プライマリボリュームの管理が複雑になるからである。
なお、上記ペアの形成やペア状態の移行は、情報処理装置100がオペレータから受けた指示により開始される他、オペレータからの指示がなくても、例えば所定の時刻になると自動的にペア状態の移行が行われるようにすることもできる。またポート130を介して接続される他の情報処理装置100から指示を受信することにより行われるようにすることもできる。
===コンシステンシグループ===
「コンシステンシグループ」欄には、当該ペアが属するコンシステンシグループ(ペアグループ)の番号が記載される。ここでコンシステンシグループとは、スプリット状態への移行が同時に行われるように制御される複数の記憶ボリュームのペアにより構成されるグループをいう。つまり、上述のように複数のペアに対するペア状態の変更は各ペアに対して逐次に行われるが、同一コンシステンシグループに属する複数のペアに対しては、スプリット状態への移行が同時に行われるように制御される(以下、スプリット状態への移行の同時性という)。
例えば、同一コンシステンシグループに属する複数のペアを順次ペア状態からスプリット状態に変更している間に情報処理装置100からデータの書き込みがあった場合を考える。仮にコンシステンシグループが形成されていなければ、当該データの書き込みがスプリット状態への移行が完了したペアのプライマリボリュームに対するものであった場合には当該書き込みデータはセカンダリボリュームには反映されないが、スプリット状態への移行が完了していないペアのプライマリボリュームに対するものであった場合には当該書き込みデータはセカンダリボリュームに反映されてしまう。しかしながら、コンシステンシグループが形成されている場合には、スプリット状態への移行が完了している、していないに拘わらず、当該書き込みデータはセカンダリボリュームへは反映されない。なぜならば、当該データの書き込みは、コンシステンシグループのペアに対するスプリットを開始(対応付けの解除を開始)した後に発行されたものだからである。
このように複数のペアに対してコンシステンシグループを形成することは、特に、例えば書き込みデータが一つの記憶ボリュームに収まりきらないほど大きなものある場合や、一つのファイルデータを複数の記憶ボリュームに格納するように制御している場合等、一つのデータが複数の記憶ボリュームに跨って格納されている場合に有効である。
なお、コンシステンシグループによる各ペアのスプリット状態への移行の同時性の確保は、情報処理装置100からセカンダリボリュームへのデータの書き込み要求又は読み出し要求があった場合にも有効である。
すなわち、仮にコンシステンシグループが形成されていなければ、スプリット状態への移行が完了したペアのセカンダリボリュームに対してはデータの書き込み又は読み出しが可能であるのに対し、スプリット状態への移行が完了していないペアのセカンダリボリュームに対してはデータの書き込み又は読み出しが禁止されているからである。
本実施の形態においては、上記コンシステンシグループによる各ペアのスプリット状態への移行の同時性の確保は、コンシステンシグループ管理テーブル231の一括スプリット受領フラグ(識別情報)を用いることにより行われる。図6に示すフローチャートを用いて処理の流れを説明する。
===処理の流れ===
なお以下の処理は、本実施の形態に係る各種の動作を行うためのコードから構成される制御プログラム214(プログラム)を、チャネルアダプタ210が備えるCPU211が実行することにより実現される。
まず、チャネルアダプタ210は情報処理装置100から、あるコンシステンシグループに対するペア分割要求(スプリット命令)を受領する(S1000)。そうするとチャネルアダプタ210は、共有メモリ230のコンシステンシグループ管理テーブル231の一括スプリット受領フラグを"ON"にする(S1001)。次に、当該コンシステンシグループに属する未分割のペアのスプリット状態への移行を開始する(S1003)。具体的には、当該ペアのプライマリボリュームとセカンダリボリュームとの対応付けを解除し、プライマリボリュームへの書き込みデータのセカンダリボリュームへの反映を中止する。そしてペア管理テーブル232の当該ペアのペア状態欄を「スプリット中」に変更する(S1004)。以上の処理を同一コンシステンシグループ内の全てのペアに対して繰り返す。同一コンシステンシグループ内の全てのペアが「スプリット中」になったら(S1005)、一括スプリットフラグを"OFF"にして、処理を終了する。
上記処理の途中で情報処理装置100からデータのリードライト要求を受領した場合には、当該データのリードライト要求がペア未分割の記憶ボリューム、すなわちペア状態が「ペア中」の記憶ボリューム(対応付けが未解除の記憶ボリューム)に対するものであるかどうかをチェック(判定)する(S1006)。「ペア中」の記憶ボリュームに対するものである場合には、まず当該記憶ボリュームのペアを「スプリット中」に移行させる(S1007)。そしてペア管理テーブル232の当該ペアのペア状態欄を「スプリット中」に変更し(S1008)、その後データのリードライト処理(入出力処理)を実行する(S1009)。
一方(S1006)において、当該データのリードライト要求がペア分割済み、すなわちペア状態が「スプリット中」の記憶ボリュームに対するものであった場合には、当該記憶ボリュームに対するリードライト処理を実行する(S1009)。
このようにすることにより、同一コンシステンシグループ内の各ペアのスプリット状態への移行の同時性を確保することが可能となる。
なお、図6に示したフローチャートにおいては、コンシステンシグループ内のペアを順次分割している途中で情報処理装置100からデータのリードライト要求を受領した場合には、当該データのリードライト要求がペア未分割の記憶ボリュームに対するものであるかどうかをチェックし(S1006)リードライト処理を実行(S1009) しているが、コンシステンシグループ内のペアを順次分割している途中の状態で情報処理装置100からデータのリードライト要求を受領しても、リードライト処理を実行しないようにすることもできる。この場合には、コンシステンシグループ内の全てのペアの分割が完了し一括スプリットフラグが"OFF"にされた後に、当該リードライト処理が実行される。
以上の処理を詳細に示したフローチャートを図7に示す。
まず、情報処理装置100から送信されたコマンドによりペアA、ペアBに対してコンシステンシグループが形成される(S2000乃至S2002)。コマンドは例えばオペレータにより情報処理装置100の入力装置150から入力される。情報処理装置100に入力されたコマンドは、記憶デバイス管理プログラム121によりチャネルアダプタ210に送信される。図7に示す"paircreate −g GRP0"はコマンドの一例である。このコマンドを受信することによりチャネルアダプタ210はコンシステンシグループ0を形成する。また、チャネルアダプタ210は共有メモリ230のペア管理テーブル232、及びコンシステンシグループ管理テーブル231に所定のデータを記録する。その様子が図4に示される。ただし、図4においてはペア管理テーブル232のペアAのペア状態欄は「スプリット中」と記載されているが、この段階ではペアAのペア状態の欄は「ペア中」である。またコンシステンシグループ管理テーブル231のコンシステンシグループ0の一括スプリット受領フラグ欄が"ON"と記載されているが、この段階では"OFF"である。
この状態で情報処理装置100から、ペアAを形成する記憶ボリューム1に対するデータのリードライト要求(R/W1)を受領した場合には(S2008)、チャネルアダプタ210は、通常の通りにリードライト処理を実行する(S2009)。コンシステンシグループ管理テーブル231のコンシステンシグループ0に対する一括スプリット受領フラグ欄が"OFF"だからである。
その後、情報処理装置100からのコマンドによりペアA、ペアBにより構成されるコンシステンシグループ0に対してペアの分割が指示される(S2003)。図7に示す"pairsplit −g GRP0"はコマンドの一例である。このコマンドも、例えばオペレータにより情報処理装置100の入力装置150から入力される。
そうすると、チャネルアダプタ210は、共有メモリ230のコンシステンシグループ管理テーブル231のコンシステンシグループ0に対する一括スプリット受領フラグを"ON"にして(S2004)、各ペアに対するスプリットを順次開始する(S2005、S2006)。ペアAに対するスプリットが完了した状態が図4のペア管理テーブル232に示されている。全てのペアに対するスプリットが完了したら、一括スプリット受領フラグを"OFF"にして処理を終了する(S2007)。
ここで、コンシステンシグループ0に対するペア分割のコマンドを情報処理装置100から受領した後(S2003)であって、一括スプリット受領フラグを"ON"にする(S2004)までの間に、情報処理装置100からペアBを形成する記憶ボリューム3に対するデータのリードライト要求(R/W2)を受領した場合には(S2010)、チャネルアダプタ210は、通常通りに当該リードライト処理を実行する(S2011)。コンシステンシグループ管理テーブル231のコンシステンシグループ0に対する一括スプリット受領フラグ欄が"OFF"だからである。
しかし、一括スプリット受領フラグを"ON"した後に(S2004)情報処理装置100からペアBを形成する記憶ボリューム3に対するデータのリードライト要求(R/W3)を受領した場合には(S2012)、まずペアBのスプリットを実行し(S2013)、その後リードライト処理を実行する(S2014)。
このようにチャネルアダプタ210は、情報処理装置100からリードライト要求を受領した際に一括スプリット受領フラグを参照することにより、当該リードライト要求が当該コンシステンシグループを構成する各ペアのペア状態の解除を開始した後に発行されたものであるかどうかを判定する。
(S2005)においてペアAに対するスプリットが完了した後に、情報処理装置100からペアAを形成する記憶ボリューム1に対するデータのリードライト要求(R/W4)を受領した場合には(S2015)、チャネルアダプタ210は当該リードライト処理を実行する(S2016)。ペア管理テーブル232のペアAに対するペア状態欄が「スプリット中」となっているので、ペアAのスプリットが完了していることが分かるからである。
なお、(S2013)によりデータのリードライト処理の際にペアBのスプリットが完了しているので、(S2005)においてはペアBのスプリット処理は行われない。
このように本実施の形態においては、一括スプリット受領フラグを設けることにより、同一コンシステンシグループ内の各ペアのスプリット状態への移行の同時性を確保することができる。
<第2の実施の形態>
===コンシステンシグループ管理テーブル===
次に、第2の実施の形態について説明する。
第1の実施の形態との相違点は、図8に示すようにコンシステンシグループ管理テーブル231においてスプリット開始時刻が記録される点である。図8の例では、コンシステンシグループ0に属するペアは、時刻12時になるとスプリットが開始されることが示されている。そして、コンシステンシグループ0に属する全てのペアのスプリットが完了すると、スプリット開始時刻欄は"−"に変更される。
スプリットの開始時刻は、情報処理装置100から送信されるコマンドにより指示されるが、具体的な時刻が指示されるのではなく、直ちにスプリットを開始せよとの指示を行えるようにすることも可能である。この場合には、スプリット開始時刻欄には現在の時刻が記録される。
本実施の形態においては、チャネルアダプタ210は情報処理装置100からデータのリードライトコマンドを受領すると、当該リードライトコマンドに記録されているリードライトコマンドの発行時刻と、コンシステンシグループ管理テーブル231のスプリット開始時刻欄に記載された時刻とを比較する。そしてリードライトコマンドの発行時刻の方が遅い場合には、当該リードライト処理はスプリット実行後に行われる。
これにより、同一コンシステンシグループ内の各ペアのスプリット状態への移行の同時性を確保することができる。
===処理の流れ===
具体的な処理の流れを図9のフローチャートを用いて説明する。
なお以下の処理は、本実施の形態に係る各種の動作を行うためのコードから構成される制御プログラム214(プログラム)を、チャネルアダプタ210が備えるCPU211が実行することにより実現される。
まず、チャネルアダプタ210は情報処理装置100から、あるコンシステンシグループに対するペア分割要求(スプリット命令)を受領する(S3000)。そうするとチャネルアダプタ210は、当該スプリット命令に記録されているスプリット開始時刻を共有メモリ230のコンシステンシグループ管理テーブル231のスプリット開始時刻欄に記録する(S3001)。次に、現在の時刻とスプリット開始時刻とを比較し、スプリット開始時刻を経過していないかどうかをチェックする(S3003)。スプリット開始時刻を経過している場合には、当該コンシステンシグループに属する未分割のペアのスプリット状態への移行を開始する(S3004)。具体的には、当該ペアのプライマリボリュームとセカンダリボリュームとの対応付けを解除し、プライマリボリュームへの書き込みデータのセカンダリボリュームへの反映を中止する。そしてペア管理テーブル232の当該ペアのペア状態欄を「スプリット中」に変更する(S3005)。以上の処理を同一コンシステンシグループ内の全てのペアに対して繰り返す。同一コンシステンシグループ内の全てのペアが「スプリット中」になったら(S3006)、スプリット開始時刻欄を"−"に変更して処理を終了する(S3007)。
上記処理の途中で情報処理装置100からデータのリードライト要求を受領した場合には、当該データのリードライト要求がペア未分割の記憶ボリューム、すなわちペア状態が「ペア中」の記憶ボリューム(対応付けが未解除の記憶ボリューム)に対するものであるかどうかをチェック(判定)する(S3008)。「ペア中」の記憶ボリュームに対するものである場合には、当該リードライトコマンドに記録されているリードライトコマンドの発行時刻と、スプリット開始時刻とを比較する(S3010)。そしてリードライトコマンドの発行時刻の方が遅い場合には、まず当該記憶ボリュームのペアを「スプリット中」に移行させる(S3011)。そしてペア管理テーブル232の当該ペアのペア状態欄を「スプリット中」に変更し(S3012)、その後データのリードライト処理(入出力処理)を実行する(S3013)。
一方(S3008)において当該データのリードライト要求がペア分割済み、すなわちペア状態が「スプリット中」の記憶ボリュームに対するものであった場合、または(S3010)において当該リードライト要求に記録されているリードライトコマンドの発行時刻がスプリット開始時刻よりも早い場合には、当該記憶ボリュームに対するリードライト処理を実行する(S3009)。
このようにすることにより、同一コンシステンシグループ内の各ペアのスプリット状態への移行の同時性を確保することが可能となる。
なお、図9に示したフローチャートにおいては、コンシステンシグループ内のペアを順次分割している途中で情報処理装置100からデータのリードライト要求を受領した場合には、当該データのリードライト要求がペア未分割の記憶ボリュームに対するものであるかどうかをチェックし(S3008)リードライト処理を実行(S3009、S3013)しているが、コンシステンシグループ内のペアを順次分割している途中の状態で情報処理装置100からデータのリードライト要求を受領しても、リードライト処理を実行しないようにすることもできる。この場合には、コンシステンシグループ内の全てのペアの分割が完了しスプリット開始時刻欄が"−"に変更された後に、当該リードライト処理が実行される。
以上本実施の形態について説明したが、上記実施例は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明はその趣旨を逸脱することなく変更、改良され得ると共に、本発明にはその等価物も含まれる。
本実施の形態に係る記憶装置システムの全体構成を示すブロック図である。 本実施の形態に係る情報処理装置の構成を示すブロック図である。 本実施の形態に係る記憶デバイス制御装置におけるチャネルアダプタの構成を示すブロック図である。 本実施の形態に係る記憶デバイス制御装置における共有メモリに記憶されるテーブルを示す図である。 本実施の形態に係る記憶ボリュームのペアを示す図である。 本実施の形態に係る記憶デバイス制御装置において実行されるペア分割処理を説明するためのフローチャートである。 本実施の形態に係る記憶デバイス制御装置において実行されるペア分割処理と入出力処理とを示すフローチャートである。 第2の実施の形態に係る記憶デバイス制御装置における共有メモリに記憶されるテーブルを示す図である。 第2の実施の形態に係る記憶デバイス制御装置において実行されるペア分割処理を説明するためのフローチャートである。
符号の説明
100 情報処理装置
110 CPU
120 メモリ
121 記憶デバイス管理プログラム
122 アプリケーションプログラム
130 ポート
140 記録媒体読取装置
150 入力装置
160 出力装置
170 記録媒体
200 記憶デバイス制御装置
210 チャネルアダプタ
211 CPU
212 キャッシュメモリ
213 制御メモリ
214 制御プログラム
215 ポート
216 バス
220 キャッシュメモリ
230 共有メモリ
231 コンシステンシグループ管理テーブル
232 ペア管理テーブル
240 ディスクアダプタ
250 接続部
260 管理端末
300 記憶デバイス

Claims (6)

  1. データを記憶するための複数の記憶ボリュームを備える記憶デバイスに接続され入出力命令を発行して前記複数の記憶ボリュームへまたは前記複数の記憶ボリュームからデータの入出力要求を行う情報処理装置に接続され、以下の各ステップから構成される記憶デバイス制御装置の制御方法であって、
    前記複数の記憶ボリュームの第一の記憶ボリュームと、前記第一の記憶ボリュームにデータが書き込まれると当該データの複製が書き込まれる第二の記憶ボリュームと、を対応付けて複数のペアを形成するステップを備えており、
    複数のペアから構成され、ペアグループ番号で識別されるペアグループを形成するステップと、
    前記制御装置上の前記ペアグループ番号で識別されるペアグループに対して、スプリット開始時刻を特定するスプリット命令を受領するステップと、
    前記スプリット開始時刻が経過しているかどうかをチェックするために、前記スプリット開始時刻と現在の時刻とを比較するステップと、
    前記スプリット開始時刻を経過していることがチェックされる場合には、前記ペアグループに含まれる各ペアの記憶ボリューム間の対応付けを解除して、前記制御装置によりスプリットが管理されるように、前記ペアグループのペアのスプリットを開始するステップと、
    前記情報処理装置から発行される入出力命令が前記制御装置で受領されると、前記入出力命令発行時刻が前記情報処理装置により入出力命令が発行された前記ペアグループの記憶ボリューム間の対応付けの解除の開始後であるかどうかをチェックするために、前記入出力命令に記録された入出力命令発行時刻と前記スプリット開始時刻とを比較し、前記入出力命令発行時刻が前記情報処理装置により入出力命令が発行された前記ペアグループの記憶ボリューム間の対応付けの解除の開始後であるかどうかをチェックし、前記入出力命令が前記ペアグループの未分割ペアのボリュームに対してなされたかどうかを判定するステップと、
    前記入出力命令発行時刻の方が前記スプリット開始時刻よりも遅いことがチェックされ、前記入出力命令が未分割ペアのボリュームに対してなされた場合には、前記未分割ペアをスプリットし、前記ボリュームに対して前記入出力命令を実行するステップと
    を備えていることを特徴とする記憶デバイス制御装置の制御方法。
  2. 請求項1記載の記憶デバイス制御装置の制御方法において、
    前記ペアグループのペアのスプリットを開始するステップにおいて、前記ペアグループの各ペアの記憶ボリューム間の前記対応付けの解除を示す識別情報を前記記憶デバイス制御装置が備えるメモリに記憶し、前記スプリット開始時刻が前記識別情報内に記録され、
    前記入出力命令発行時刻が前記情報処理装置により入出力命令が発行された前記ペアグループの記憶ボリューム間の対応付けの解除の開始後であるかどうかをチェックするために、前記入出力命令に記録された入出力命令発行時刻と前記スプリット開始時刻とを比較するステップは、前記識別情報に記録された前記スプリット開始時刻を参照し、次いで、前記識別情報に記録された前記スプリット開始時刻に従って、前記入出力命令発行時刻が前記情報処理装置により入出力命令が発行された前記ペアグループの記憶ボリューム間の対応付けの解除の開始後であるかどうかをチェックするために、前記入出力命令に記録された入出力命令発行時刻と前記スプリット開始時刻を比較することを特徴とする記憶デバイス制御装置の制御方法。
  3. 請求項2記載の記憶デバイス制御装置の制御方法において、
    前記ペアグループ内の各ペアの記憶ボリューム間の対応付けの解除を行う前記スプリット開始時刻は、前記ペアグループのペアのスプリットを開始するステップにおいて、前記記憶デバイスの制御装置の備えられたメモリに記憶されることを特徴とする記憶デバイス制御装置の制御方法。
  4. データを記憶するための複数の記憶ボリュームを備える記憶デバイスに接続され、入出力命令を発行して前記複数の記憶ボリュームへまたは前記複数の記憶ボリュームからデータの入出力要求を行う情報処理装置に接続される記憶デバイス制御装置であって、
    各ペアに対して、前記複数の記憶ボリュームの第一の記憶ボリュームと、前記第一の記憶ボリュームにデータが書き込まれると当該データの複製が書き込まれる第二の記憶ボリュームと、を対応付けて複数のペアを形成する手段を備えており、
    複数のペアから構成され、ペアグループ番号で識別されるペアグループを形成する手段と、
    前記制御装置上の前記ペアグループ番号で識別されるペアグループに対して、スプリット開始時刻を特定するスプリット命令を受領する手段と、
    前記スプリット開始時刻が経過しているかどうかをチェックするために、前記スプリット開始時刻と現在の時刻とを比較する手段と、
    前記スプリット開始時刻を経過していることがチェックされる場合には、前記ペアグループに含まれる各ペアの記憶ボリューム間の対応付けを解除して、前記制御装置によりスプリットが管理されるように、前記ペアグループのペアのスプリットを開始する手段と、
    前記情報処理装置から発行される入出力命令が前記制御装置で受領されると、前記入出力命令発行時刻が前記情報処理装置により入出力命令が発行された前記ペアグループの記憶ボリューム間の対応付けの解除の開始後であるかどうかをチェックするために、前記入出力命令に記録された入出力命令発行時刻と前記スプリット開始時刻とを比較する手段と、
    前記入出力命令発行時刻が前記情報処理装置により入出力命令が発行された前記ペアグループの記憶ボリューム間の対応付けの解除の開始後であるかどうかをチェックし、前記入出力命令が前記ペアグループの未分割ペアのボリュームに対してなされたかどうかを判定する手段と、
    前記入出力命令発行時刻の方が前記スプリット開始時刻よりも遅いことがチェックされ、前記入出力命令が未分割ペアのボリュームに対してなされた場合には、前記未分割ペアをスプリットする手段と、
    を備えていることを特徴とする記憶デバイス制御装
  5. 請求項4記載の記憶デバイス制御装置において、更に、
    メモリと、
    前記ペアグループの各ペアの記憶ボリューム間の前記対応付けの解除が開始されることを示す識別情報を前記メモリに記憶し、前記スプリット開始時刻が前記識別情報内に記録する手段と、
    前記入出力命令発行時刻が前記情報処理装置により入出力命令が発行された前記ペアグループの記憶ボリューム間の対応付けの解除の開始後であるかどうかをチェックするために、前記入出力命令に記録された入出力命令発行時刻と前記スプリット開始時刻とを比較するステップは、前記識別情報に記録された前記スプリット開始時刻を参照し、次いで、前記識別情報に記録された前記スプリット開始時刻に従って、前記入出力命令発行時刻が前記情報処理装置により入出力命令が発行された前記ペアグループの記憶ボリューム間の対応付けの解除の開始後であるかどうかをチェックするために、前記入出力命令に記録された入出力命令発行時刻と前記スプリット開始時刻を比較する手段と、
    を備えていることを特徴とする記憶デバイス制御装置。
  6. 請求項5記載の記憶デバイス制御装置において、更に、
    前記ペアグループ内の各ペアの記憶ボリューム間の対応付けの解除が開始される前記スプリット開始時刻が前記メモリに記憶されることを特徴とする記憶デバイス制御装置。
JP2008019135A 2008-01-30 2008-01-30 記憶デバイス制御装置の制御方法及び記憶デバイス制御装置 Expired - Fee Related JP4620134B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008019135A JP4620134B2 (ja) 2008-01-30 2008-01-30 記憶デバイス制御装置の制御方法及び記憶デバイス制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008019135A JP4620134B2 (ja) 2008-01-30 2008-01-30 記憶デバイス制御装置の制御方法及び記憶デバイス制御装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2002366374A Division JP4704660B2 (ja) 2002-12-18 2002-12-18 記憶デバイス制御装置の制御方法、記憶デバイス制御装置、及びプログラム

Publications (2)

Publication Number Publication Date
JP2008165819A JP2008165819A (ja) 2008-07-17
JP4620134B2 true JP4620134B2 (ja) 2011-01-26

Family

ID=39695109

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008019135A Expired - Fee Related JP4620134B2 (ja) 2008-01-30 2008-01-30 記憶デバイス制御装置の制御方法及び記憶デバイス制御装置

Country Status (1)

Country Link
JP (1) JP4620134B2 (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000137638A (ja) * 1998-10-29 2000-05-16 Hitachi Ltd 情報記憶システム
JP2000347811A (ja) * 1999-06-01 2000-12-15 Hitachi Ltd ダイレクトバックアップ方法および記憶装置システム
JP2001100930A (ja) * 1999-09-28 2001-04-13 Mitsubishi Electric Corp ミラーディスク制御装置
JP2001318833A (ja) * 2000-05-09 2001-11-16 Hitachi Ltd ボリューム複製機能を有する記憶装置サブシステム、および、それを用いたコンピュータシステム
JP2002007304A (ja) * 2000-06-23 2002-01-11 Hitachi Ltd ストレージエリアネットワークを用いた計算機システム及びそのデータ取り扱い方法
JP2002041368A (ja) * 1999-12-23 2002-02-08 Emc Corp 複製されたデータに独立してアクセスできるようにするためのデータプロセッシングの方法及び装置
JP2002189570A (ja) * 2000-12-20 2002-07-05 Hitachi Ltd 記憶システムの二重化方法および記憶システム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0484215A (ja) * 1990-07-26 1992-03-17 Hitachi Ltd ディスク制御装置のデータ二重書き方法
JP3016971B2 (ja) * 1992-09-29 2000-03-06 日本電気株式会社 ファイルシステム
JP3422370B2 (ja) * 1992-12-14 2003-06-30 株式会社日立製作所 ディスクキャッシュ制御装置
US6754682B1 (en) * 2000-07-10 2004-06-22 Emc Corporation Method and apparatus for enabling consistent ancillary disk array storage device operations with respect to a main application

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000137638A (ja) * 1998-10-29 2000-05-16 Hitachi Ltd 情報記憶システム
JP2000347811A (ja) * 1999-06-01 2000-12-15 Hitachi Ltd ダイレクトバックアップ方法および記憶装置システム
JP2001100930A (ja) * 1999-09-28 2001-04-13 Mitsubishi Electric Corp ミラーディスク制御装置
JP2002041368A (ja) * 1999-12-23 2002-02-08 Emc Corp 複製されたデータに独立してアクセスできるようにするためのデータプロセッシングの方法及び装置
JP2001318833A (ja) * 2000-05-09 2001-11-16 Hitachi Ltd ボリューム複製機能を有する記憶装置サブシステム、および、それを用いたコンピュータシステム
JP2002007304A (ja) * 2000-06-23 2002-01-11 Hitachi Ltd ストレージエリアネットワークを用いた計算機システム及びそのデータ取り扱い方法
JP2002189570A (ja) * 2000-12-20 2002-07-05 Hitachi Ltd 記憶システムの二重化方法および記憶システム

Also Published As

Publication number Publication date
JP2008165819A (ja) 2008-07-17

Similar Documents

Publication Publication Date Title
JP4704660B2 (ja) 記憶デバイス制御装置の制御方法、記憶デバイス制御装置、及びプログラム
US9563636B2 (en) Allowing writes to complete without obtaining a write lock to a file
CN103793425B (zh) 用于分布式系统的数据处理方法及装置
TW475112B (en) System and method for maintaining cache coherency and data synchronization in a computer system having multiple active controllers
US5465329A (en) Method and apparatus for using intercepted operator messages to control robotics
US7467273B2 (en) Storage apparatus for preventing falsification of data
US20120284460A1 (en) High performance path for command processing
US20080098187A1 (en) System, method and computer program product for generating a consistent point in time copy of data
JP2011076572A (ja) ストレージシステム、ストレージ装置、ストレージ装置の記憶内容複製方法およびプログラム
JP4620134B2 (ja) 記憶デバイス制御装置の制御方法及び記憶デバイス制御装置
US8140638B2 (en) Multistage online transaction system, server, multistage online transaction processing method and program
JP2013015990A (ja) 情報処理システム、情報処理プログラム、情報処理方法
US7370139B2 (en) Methods and structures for efficient storage of task file information in serial ATA environments
TW200532448A (en) Dispatching of service requests in redundant storage virtualization subsystems
JP4348372B2 (ja) データ転送装置及びプログラム
CN110383248A (zh) 控制多核处理器的方法和相关计算机
JP2005208697A (ja) デフラグ方法
JP2806749B2 (ja) ファイル装置二重化時のi/o負荷分散制御方式
CN114153385B (zh) 一种分布式存储写缓冲数据分步下刷方法、装置及介质
JPS6128128B2 (ja)
KR20130074207A (ko) 스케줄러기반 데이터 서버간 데이터 복제 방법
JP2564884B2 (ja) 二重化ファイル入出力負荷分散方式
US20070300026A1 (en) Synchronous backup device and method used for storage device
JP2003308219A (ja) 排他制御方式
JP5228935B2 (ja) 補助記憶装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100727

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100927

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: 20101026

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: 20101027

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

Free format text: PAYMENT UNTIL: 20131105

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees