JP2018028793A - 情報処理プログラム、情報処理システムおよび情報処理方法 - Google Patents

情報処理プログラム、情報処理システムおよび情報処理方法 Download PDF

Info

Publication number
JP2018028793A
JP2018028793A JP2016160288A JP2016160288A JP2018028793A JP 2018028793 A JP2018028793 A JP 2018028793A JP 2016160288 A JP2016160288 A JP 2016160288A JP 2016160288 A JP2016160288 A JP 2016160288A JP 2018028793 A JP2018028793 A JP 2018028793A
Authority
JP
Japan
Prior art keywords
storage device
copy
data
write
area
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.)
Pending
Application number
JP2016160288A
Other languages
English (en)
Inventor
章洋 菅谷
Akihiro Sugaya
章洋 菅谷
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
Priority to JP2016160288A priority Critical patent/JP2018028793A/ja
Priority to US15/666,004 priority patent/US20180052749A1/en
Publication of JP2018028793A publication Critical patent/JP2018028793A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2064Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring while ensuring consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0787Storage of error reports, e.g. persistent data storage, storage using memory protection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2069Management of state, configuration or failover
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2058Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using more than 2 mirrored copies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2087Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring with a common controller
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】コピー処理中に、コピー元の記憶装置でエラーが発生してもコピー先の記憶装置でデータの保証をすること。
【解決手段】情報処理装置2は、制御部4を含む。制御部4は、第1の記憶装置5から第1の記憶装置5の複製となる第2の記憶装置6へのデータコピーの実行中に書込要求を受け付けて、書込要求に対応する書込データを第1の記憶装置5と第2の記憶装置6とに書き込み、第2の記憶装置6による書込データの正常な書き込みと、第1の記憶装置5による書込データの異常な書き込みとを検出した場合、第1の記憶装置5における書込異常領域を特定可能な異常情報3aを記憶部3に格納し、異常情報3aに基づいて書込異常領域に対応するデータを、データコピーにおけるコピー対象データのうちから除外してデータコピーの実行を継続する。
【選択図】図1

Description

本発明は情報処理プログラム、情報処理システムおよび情報処理方法に関する。
ミラーリング制御を行うストレージ装置は、一のディスク(コピー元ディスク)から他のディスク(コピー先ディスク)にデータを複製することを行う。コピー処理中にコピー元ディスクでエラーが発生した場合、一般にコピー処理は中止される。このとき、コピー先ディスクはコピーが完了しておらず内容が保証できないため、ミラーリングから切り離されてコピー元ディスクが動作ディスクとなる。一方で、コピー元ディスクはコピー処理中にエラーを発生していることから、動作ディスクとしての適格性が十分でない。
そこで、コピー処理中にコピー元ディスクでエラーが発生した場合、コピー元ディスクをミラーリングから切り離し、コピー先ディスクを動作ディスクにするストレージ装置の提案がある。
特開2010−186285号公報
しかしながら、このようなストレージ装置は、コピー処理中に、コピー元ディスクでエラーが発生した場合、コピー元ディスクが動作ディスクとしての適格性を有しないばかりか、コピー先ディスクにおいてもデータを保証できない状態となり得る。
1つの側面では、本発明は、コピー処理中に、コピー元の記憶装置でエラーが発生してもコピー先の記憶装置でデータの保証ができる情報処理プログラム、情報処理システムおよび情報処理方法を提供することを目的とする。
1つの態様では、情報処理プログラムが提供される。この情報処理プログラムは、コンピュータに、第1の記憶装置から第1の記憶装置の複製となる第2の記憶装置へのデータコピーの実行中に書込要求を受け付けて、書込要求に対応する書込データを第1の記憶装置と第2の記憶装置とに書き込み、第2の記憶装置による書込データの正常な書き込みと、第1の記憶装置による書込データの異常な書き込みとを検出した場合、第1の記憶装置における書込異常領域を特定可能な異常情報を記憶部に格納し、異常情報に基づいて書込異常領域に対応するデータを、データコピーにおけるコピー対象データのうちから除外してデータコピーの実行を継続する、処理を実行させる。
また、1つの態様では、情報処理システムが提供される。この情報処理システムは、第1の記憶装置と第1の記憶装置の複製となる第2の記憶装置と情報処理装置とを含む。情報処理装置は、制御部を含む。制御部は、第1の記憶装置から第2の記憶装置へのデータコピーの実行中に書込要求を受け付けて、書込要求に対応する書込データを第1の記憶装置と第2の記憶装置とに書き込み、第2の記憶装置による書込データの正常な書き込みと、第1の記憶装置による書込データの異常な書き込みとを検出した場合、第1の記憶装置における書込異常領域を特定可能な異常情報を記憶部に格納し、異常情報に基づいて書込異常領域に対応するデータを、データコピーにおけるコピー対象データのうちから除外してデータコピーの実行を継続する。
また、1つの態様では、情報処理方法が提供される。この情報処理方法は、コンピュータが、第1の記憶装置から第1の記憶装置の複製となる第2の記憶装置へのデータコピーの実行中に書込要求を受け付けて、書込要求に対応する書込データを第1の記憶装置と第2の記憶装置とに書き込み、第2の記憶装置による書込データの正常な書き込みと、第1の記憶装置による書込データの異常な書き込みとを検出した場合、第1の記憶装置における書込異常領域を特定可能な異常情報を記憶部に格納し、異常情報に基づいて書込異常領域に対応するデータを、データコピーにおけるコピー対象データのうちから除外してデータコピーの実行を継続する。
1つの側面では、コピー処理中に、コピー元の記憶装置でエラーが発生してもコピー先の記憶装置でデータの保証ができる。
第1の実施の形態の情報処理システムの一例を示す図である。 第2の実施の形態のストレージ装置の一例を示す図である。 第2の実施の形態のCMのハードウェアの一例を示す図である。 第2の実施の形態のCMの機能の一例を示す図である。 第2の実施の形態のミラーディスク管理テーブルの一例を示す図である。 第2の実施の形態のディスク状態を説明する図である。 第2の実施の形態のライト領域管理テーブルなどの一例を示す図である。 第2の実施の形態の通常ライト処理のフローチャートの一例を示す図である。 第2の実施の形態の通常リード処理のフローチャートの一例を示す図である。 第2の実施の形態のコピー処理のフローチャートの一例を示す図(その1)である。 第2の実施の形態のコピー処理のフローチャートの一例を示す図(その2)である。 第2の実施の形態のコピー中ライト処理のフローチャートの一例を示す図である。 第2の実施の形態のコピー中リード処理のフローチャートの一例を示す図(その1)である。 第2の実施の形態のコピー中リード処理のフローチャートの一例を示す図(その2)である。 第2の実施の形態のコピー中ライト処理の一例を示す図である。
以下、実施の形態について図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態の情報処理システムの一例を示す図である。情報処理システム1は、情報処理装置2、第1の記憶装置5および第2の記憶装置6を含む。例えば、第1の記憶装置5および第2の記憶装置6は、HDD(Hard Disk Drive)である。
情報処理装置2は、記憶部3と制御部4を含む。例えば、記憶部3は、RAM(Random Access Memory)などである。例えば、制御部4は、プロセッサが所要の処理を実行することにより実現し得る。
制御部4は、第1の記憶装置5から第2の記憶装置6へのデータコピーを実行する。第2の記憶装置6は、第1の記憶装置5の複製となる記憶装置である。すなわち、第1の記憶装置5は、コピー元の記憶装置である。第2の記憶装置6は、コピー先の記憶装置である。制御部4は、例えば、第1の記憶装置5の領域5aに格納されているデータを第2の記憶装置6の領域6aにデータコピーする。
制御部4は、データコピーの実行中に書込要求を受け付ける場合がある。例えば、制御部4は、上位装置から書込要求を受け付ける。ここで上位装置は、例えばホスト装置である。制御部4は、書込要求を受け付けると、書込要求に対応する書込データを第1の記憶装置5の領域5bと第2の記憶装置6の領域6bとに書き込む。
制御部4は、データコピーの実行中における書込要求の結果として、第2の記憶装置6による書込データの正常な書き込みと、第1の記憶装置5による書込データの異常な書き込みとを検出した場合、異常情報3aを記憶部3に格納する。異常情報3aは、第1の記憶装置5における書込異常領域を特定可能な情報である。例えば、異常情報3aは、書込異常領域Xを示す。書込異常領域Xは、領域5bを特定可能な情報である。
制御部4は、異常情報3aに基づいて書込異常領域に対応するデータを、データコピーにおけるコピー対象データのうちから除外してデータコピーの実行を継続する。例えば、制御部4は、領域5bに対応するデータをデータコピーにおけるコピー対象データのうちから除外してデータコピーの実行を継続する。
このように、情報処理装置2は、書込異常領域に対応するデータを、データコピーにおけるコピー対象データのうちから除外することで、第1の記憶装置5から第2の記憶装置6に不定なデータがデータコピーされることを防止する。これにより、情報処理装置2は、コピー先の記憶装置である第2の記憶装置6がデータを保証できない状態となることを防止する。このとき、情報処理装置2は、コピー対象データのうちから除外されたデータに代わって書込要求における書込データを正常に書き込みしていることから、コピー先の記憶装置である第2の記憶装置6をデータ保証可能な記憶装置とすることができる。
なお、情報処理装置2は、第1の記憶装置5と第2の記憶装置6とがミラーリングを構成しているとき、第1の記憶装置5から第2の記憶装置6へのデータコピーの完了後に、第1の記憶装置5をミラーリング対象から除外することができる。
よって、情報処理システム1または情報処理装置2は、コピー処理中に、コピー元の記憶装置でエラーが発生してもコピー先の記憶装置でデータの保証ができる。
[第2の実施の形態]
図2は、第2の実施の形態のストレージ装置の一例を示す図である。ストレージ装置100は、ホスト装置400が扱うデータを記憶する。ストレージ装置100は、CM(Controller Module)200およびDE(Device Enclosure)300を含む。CM200は、ホスト装置400からDE300へのアクセスを制御する。
DE300は、複数の記憶装置を搭載可能なディスクアレイ装置である。DE300は、HDD310,320,330を含む。なお、DE300は、3つ以上のHDDを含んでもよい。また、DE300は、記憶装置としてSSD(Solid State Drive)を搭載してもよい。
ストレージ装置100とホスト装置400は、ネットワークを介して接続する。例えば、ストレージ装置100とホスト装置400は、ファイバチャネル(FC:Fibre Channel)などの伝送方式で接続する。
CM200は、HDD310,320をRAID(Redundant Arrays of Inexpensive Disks)として管理可能である。CM200は、HDD310,320の記憶領域に設定された論理ボリュームのLBA(Logical Block Address)を指定してアクセスする。CM200は、HDD310,320をRAID1で制御する。すなわち、CM200は、HDD310,320をミラーリング制御する。HDD310とHDD320とは、ミラーディスクとして機能する。なお、CM200は、HDD330に各処理に用いられる情報を格納する。そのため、HDD330は、管理用ディスクとして機能する。
なお、HDD320は、新しく交換されたHDDである。そのため、HDD320は、ミラーリング対象のHDDであるが、HDD310が格納しているデータと重複したデータを格納していない。また、CM200は、ミラーリング対象の記憶装置の構成変更によりHDD320の追加を検出する。第2の実施の形態は、HDD310とHDD320とに格納されているデータが一致しない状態で各処理が実行される。
なお、ストレージ装置100は、第1の実施の形態の情報処理システム1の一形態である。CM200は、第1の実施の形態の情報処理装置2の一形態である。
図3は、第2の実施の形態のCMのハードウェアの一例を示す図である。CM200は、CPU(Central Processing Unit)201、RAM202、フラッシュメモリ203、IOC(Input-Output Controller)204、DA(Disc Adapter)205およびCA(Channel Adapter)206を含む。
CPU201は、CM200の情報処理を制御する。CPU201は、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)などでもよい。また、CPU201は、マルチプロセッサでもよい。
RAM202は、CM200の主記憶装置である。RAM202は、CPU201に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、RAM202は、CPU201による情報処理に用いる各種データを記憶する。
フラッシュメモリ203は、CM200の補助記憶装置である。フラッシュメモリ203は、不揮発性記憶装置である。フラッシュメモリ203は、OSのプログラム、アプリケーションプログラム、および各種データを格納する。なお、CM200は、補助記憶装置として、フラッシュメモリ203の代わりにHDDを備えていてもよい。
IOC204は、ホスト装置400からDE300へのアクセスを制御する。DA205は、DE300と通信するためのインタフェースである。CA206は、ホスト装置400と通信するためのインタフェースである。
図4は、第2の実施の形態のCMの機能の一例を示す図である。CM200は、記憶部210および制御部220を含む。
記憶部210は、ミラーディスク管理テーブル211、ライト領域管理テーブル212、エラー領域管理テーブル213、コピー管理テーブル214を記憶する。
ミラーディスク管理テーブル211は、ミラーリング対象のHDDに関する情報を示す。ライト領域管理テーブル212は、データの書込済みの領域を示す。エラー領域管理テーブル213は、エラーが発生した領域を示す。コピー管理テーブル214は、データコピーが行われた領域を示す。なお、HDD330は、ストレージ装置100が電源OFFの状態のとき、ミラーディスク管理テーブル211とライト領域管理テーブル212とを格納する。
制御部220は、ミラーリング部221、コピー部222、構成管理部223を含む。ミラーリング部221は、HDD310とHDD320とをミラーリング制御する。ミラーリング部221は、後述するコピー処理が実行されていないときホスト装置400からライト要求を受信した場合、通常ライト処理を実行する。通常ライト処理については、後で詳細に説明する。ミラーリング部221は、コピー処理中にホスト装置400からライト要求を受信した場合、コピー中ライト処理を実行する。コピー中ライト処理については、後で詳細に説明する。
ミラーリング部221は、コピー処理が実行されていないときホスト装置400からリード要求を受信した場合、通常リード処理を実行する。通常リード処理については、後で詳細に説明する。ミラーリング部221は、コピー処理中にホスト装置400からリード要求を受信した場合、コピー中リード処理を実行する。コピー中リード処理については、後で詳細に説明する。
コピー部222は、コピー処理を実行する。コピー部222は、コピー処理を実行する場合、コピー元ディスクに格納されているデータをコピー先ディスクにデータコピーする。コピー元ディスクとコピー先ディスクは、構成管理部223により設定される。
構成管理部223は、ミラーディスク管理テーブルの更新処理を実行する。また、構成管理部223は、HDD310とHDD320の何れかをコピー元ディスクに設定する。構成管理部223は、ホスト装置400からの指示により、HDD310とHDD320の何れをコピー元ディスクに設定するかを決定してもよい。構成管理部223は、コピー元ディスク以外のHDDにコピー先ディスクを設定する。コピー元ディスクとコピー先ディスクの設定については、後で詳細に説明する。
構成管理部223は、ストレージ装置100に電源が投入された後、HDD330からミラーディスク管理テーブル211とライト領域管理テーブル212とを読み出す。構成管理部223は、読み出したミラーディスク管理テーブル211とライト領域管理テーブル212とを記憶部210に格納する。
図5は、第2の実施の形態のミラーディスク管理テーブルの一例を示す図である。図5(A)は、ミラーディスク管理テーブル211のフォーマットを示す。ミラーディスク管理テーブル211は、ライト領域管理テーブル使用フラグ、ライト領域管理テーブルディスク番号、ライト領域管理テーブルオフセットの項目を含む。また、ミラーディスク管理テーブル211は、ミラーディスク数、物理ディスク番号1、ディスク状態1、物理ディスク番号2、ディスク状態2、・・・、物理ディスク番号n、ディスク状態nの項目を含む。
ライト領域管理テーブル使用フラグの項目は、ライト領域管理テーブル212を使用するか否かを示す。ライト領域管理テーブル使用フラグの項目は、“有効”または“無効”の何れかを示す。“有効”は、ライト領域管理テーブル212を使用することを示す。“無効”は、ライト領域管理テーブル212を使用しないことを示す。また、コピー部222は、ライト領域管理テーブル使用フラグが“有効”の場合、データを書込済みの領域をコピー対象にしてコピー処理を実行する。コピー部222は、ライト領域管理テーブル使用フラグが“無効”の場合、コピー元ディスク全体をコピー対象にしてコピー処理を実行する。なお、第2の実施の形態は、ライト領域管理テーブル使用フラグの項目に“有効”が設定されているものとする。
ライト領域管理テーブルディスク番号の項目は、ライト領域管理テーブル212を格納する管理用ディスクのデバイス番号を示す。ライト領域管理テーブルオフセットの項目は、管理用ディスク内でライト領域管理テーブル212を格納する位置を示す。
ミラーディスク数の項目は、DE300の中に存在するミラーディスクの数を示す。物理ディスク番号の項目は、ミラーディスクのデバイス番号を示す。ディスク状態の項目は、ミラーディスクの状態を示す。ディスク状態の項目は、“ACTIVE”、“COPY”、“INVALID”の何れかを示す。“ACTIVE”は、動作ディスクであることを示す。また、“ACTIVE”は、コピー処理の際はコピー元ディスクであることを示す。“COPY”は、コピー処理の際はコピー先ディスクであることを示す。“INVALID”は、ミラーリング構成から切り離されていることを示す。すなわち、“INVALID”は、ミラーリング対象から除外されていることを示す。また、“INVALID”は、動作ディスクでないことを示す。
図5(B)のミラーディスク管理テーブル211aは、具体例を示す。ミラーディスク管理テーブル211aは、ライト領域管理テーブル212を使用すること(“有効”)を示す。ミラーディスク管理テーブル211aは、管理用ディスクのデバイス番号が“0x00010000”であることを示す。ミラーディスク管理テーブル211aは、管理用ディスク内でライト領域管理テーブル212を“0x00002000”の位置に格納することを示す。ミラーディスク管理テーブル211aは、DE300の中に存在するミラーディスクの数が“2”であることを示す。ミラーディスク管理テーブル211aは、コピー元ディスク(“ACTIVE”)のデバイス番号が“0x00010001”であることを示す。ミラーディスク管理テーブル211aは、コピー先ディスク(“COPY”)のデバイス番号が“0x00010002”であることを示す。
図6は、第2の実施の形態のディスク状態を説明する図である。図6(A)は、コピー処理前の状態を示している。図6(A)は、HDD310とHDD320に対応するミラーディスク管理テーブル211のディスク状態の項目がACTIVEであることを示している。
構成管理部223は、コピー部222がコピー処理を実行する前に、ミラーディスク管理テーブル211を参照し、ディスク状態がACTIVEのHDDのうち1つのHDDをコピー元ディスクに設定する。構成管理部223は、ディスク状態がACTIVEのHDDのうちコピー元ディスク以外のHDDをコピー先ディスクに設定する。構成管理部223は、コピー先ディスクに設定したHDDに対応するミラーディスク管理テーブル211のディスク状態の項目にCOPYを登録する。図6(B)は、HDD310がコピー元ディスク(ディスク状態がACTIVE)、HDD320がコピー先ディスク(ディスク状態がCOPY)に設定されていることを示している。なお、HDD320は、コピー先ディスクに設定されても、動作ディスクである。
図7は、第2の実施の形態のライト領域管理テーブルなどの一例を示す図である。図7は、ライト領域管理テーブル212、エラー領域管理テーブル213、コピー管理テーブル214がHDD310の論理ボリューム310aとHDD320の論理ボリューム320aと関係を有していることを示している。
ライト領域管理テーブル212は、2MB単位で区切られた論理ボリューム310a,320aの各領域を各1ビットに対応付けて、1ビットでデータの書き込みの有無を示す。なお、ライト領域管理テーブル212は、2MB単位で区切られたHDD310,320の物理ボリュームの各領域を各1ビットに対応付けて、1ビットでデータの書き込みの有無を示してもよい。ライト領域管理テーブル212のビットは、“0”または“1”の何れかを示す。ビットが“0”の場合は、当該ビットに対応する領域にデータの書き込みがされていないことを示す。ビットが“1”の場合は、当該ビットに対応する領域にデータが書込済みであることを示す。ミラーリング部221は、論理ボリューム310aの領域および当該領域に対応する論理ボリューム320aの領域にデータの書き込みを行った場合、論理ボリューム310a,320aの領域に対応するビットを1にする。また、ミラーリング部221は、論理ボリューム310aの領域または当該領域に対応する論理ボリューム320aの領域の何れかにデータの書き込みを行った場合、データの書き込みを行った領域に対応するビットを1にする。
エラー領域管理テーブル213は、2MB単位で区切られた論理ボリューム310a,320aの各領域を各1ビットに対応付けて、1ビットでエラーの発生の有無を示す。なお、エラー領域管理テーブル213は、2MB単位で区切られたHDD310,320の物理ボリュームの各領域を各1ビットに対応付けて、1ビットでエラーの発生の有無を示してもよい。エラー領域管理テーブル213のビットは、“0”または“1”の何れかを示す。ビットが“0”の場合は、当該ビットに対応する領域でエラーが発生していないことを示す。ビットが“1”の場合は、当該ビットに対応する領域でエラーが発生したことを示す。例えば、ミラーリング部221は、論理ボリューム310aの領域でエラーが発生した場合、エラーが発生した領域に対応するビットを1にする。
コピー管理テーブル214は、2MB単位で区切られた論理ボリューム310a,320aの各領域を各1ビットに対応付けて、1ビットでデータコピーの実行の有無を示す。なお、コピー管理テーブル214は、2MB単位で区切られたHDD310,320の物理ボリュームの各領域を各1ビットに対応付けて、1ビットでデータコピーの実行の有無を示してもよい。コピー管理テーブル214のビットは、“0”または“1”の何れかを示す。ビットが“0”の場合は、当該ビットに対応する領域をコピー対象としてデータコピーが実行されていないことを示す。ビットが“1”の場合は、当該ビットに対応する領域をコピー対象としてデータコピーが実行されたことを示す。例えば、コピー部222は、論理ボリューム310aの領域をコピー対象としてデータコピーを実行した場合、データコピーを実行した領域に対応するビットを1にする。
次に、各処理についてフローチャートを用いて説明する。なお、HDD320は、新しく交換されたHDDであるためミラーリング対象のHDDであるが、HDD310が格納しているデータと重複したデータを格納していない。
はじめに、CM200でコピー処理が行われていない場合を説明する。また、CM200がDE300に対するアクセス要求をホスト装置400から受け付けた場合について、フローチャートを用いて説明する。
図8は、第2の実施の形態の通常ライト処理のフローチャートの一例を示す図である。制御部220は、コピー処理が行われておらず、ホスト装置400からのライト要求の受信を契機に通常ライト処理を実行する。
(S11)ミラーリング部221は、論理ボリューム310a,320aのうちライト要求が示す領域にデータを書き込む。
(S12)ミラーリング部221は、データの書き込みによりエラーが発生したか否かを判定する。エラーが発生した場合、ミラーリング部221は、ステップS13に進む。エラーが発生しなかった場合、ミラーリング部221は、ステップS17に進む。
(S13)ミラーリング部221は、HDD310とHDD320との両方でエラーが発生したか否かを判定する。HDD310とHDD320でエラーが発生した場合、ミラーリング部221は、ステップS15に進む。HDD310とHDD320との何れかでエラーが発生している場合、ミラーリング部221は、ステップS14に進む。
(S14)構成管理部223は、エラーが発生したHDDをミラーリング構成から切り離す。構成管理部223は、エラーが発生したHDDに対応するミラーディスク管理テーブル211のディスク状態の項目にINVALIDを登録する。構成管理部223は、ステップS17に進む。
(S15)構成管理部223は、HDD310とHDD320をミラーリング構成から切り離す。構成管理部223は、HDD310とHDD320に対応するミラーディスク管理テーブル211のディスク状態の項目にINVALIDを登録する。
(S16)ミラーリング部221は、エラー通知をホスト装置400に送信する。ミラーリング部221は、通常ライト処理を終了する。
(S17)ミラーリング部221は、ライト領域管理テーブル212を参照し、データの書き込みを行った領域に対応するビットを1にする。
(S18)ミラーリング部221は、正常通知をホスト装置400に送信する。ミラーリング部221は、通常ライト処理を終了する。
図9は、第2の実施の形態の通常リード処理のフローチャートの一例を示す図である。制御部220は、コピー処理が行われておらず、ホスト装置400からのリード要求の受信を契機に通常リード処理を実行する。
(S21)ミラーリング部221は、リード要求で指定された領域に対応するライト領域管理テーブル212のビットを特定する。ミラーリング部221は、特定したビットに対応する領域が書込済みの領域であるか否かを判定する。書込済みの領域(特定したビットが1)の場合、ミラーリング部221は、ステップS22に進む。書込済みの領域でない(特定したビットが0)場合、ミラーリング部221は、ステップS31に進む。
(S22)ミラーリング部221は、HDD310(論理ボリューム310a)またはHDD320(論理ボリューム320a)に対してリード要求で指定された領域を読み込む。
(S23)ミラーリング部221は、読み込みによりエラーが発生したか否かを判定する。エラーが発生した場合、ミラーリング部221は、ステップS25に進む。エラーが発生しなかった場合、ミラーリング部221は、ステップS24に進む。
(S24)ミラーリング部221は、正常通知をホスト装置400に送信する。ミラーリング部221は、通常リード処理を終了する。
(S25)ミラーリング部221は、ステップS22で読み込みを行ったHDDとは異なるHDDの論理ボリュームの領域のうちリード要求で指定された領域を読み込む。例えば、ミラーリング部221は、ステップS22で読み込みを行ったHDDがHDD310の場合、HDD320の領域のうちリード要求で指定された領域を読み込む。
(S26)ミラーリング部221は、HDD310とHDD320とでエラーが発生したか否かを判定する。HDD310とHDD320でエラーが発生した場合、ミラーリング部221は、ステップS29に進む。HDD310とHDD320の両方でエラーが発生していない場合、ミラーリング部221は、ステップS27に進む。
(S27)構成管理部223は、エラーが発生したHDDをミラーリング構成から切り離す。構成管理部223は、エラーが発生したHDDに対応するミラーディスク管理テーブル211のディスク状態の項目にINVALIDを登録する。
(S28)ミラーリング部221は、正常通知をホスト装置400に送信する。ミラーリング部221は、通常リード処理を終了する。
(S29)構成管理部223は、HDD310とHDD320をミラーリング構成から切り離す。構成管理部223は、HDD310とHDD320に対応するミラーディスク管理テーブル211のディスク状態の項目にINVALIDを登録する。
(S30)ミラーリング部221は、エラー通知をホスト装置400に送信する。ミラーリング部221は、通常リード処理を終了する。
(S31)ミラーリング部221は、ゼロデータをホスト装置400に送信する。なお、ゼロデータは、データが存在しないことを示すデータであり、例えばビット値0が羅列されたデータである。ミラーリング部221は、通常リード処理を終了する。
次に、CM200でコピー処理が行われる場合について、フローチャートを用いて説明する。また、CM200がコピー処理中にDE300に対するアクセス要求をホスト装置400から受け付けた場合について、フローチャートを用いて説明する。
以下の説明では、HDD310をコピー元ディスク、HDD320をコピー先ディスクとする。構成管理部223は、コピー部222がコピー処理を開始する前に、コピー先ディスク(HDD320)に対応するミラーディスク管理テーブル211のディスク状態の項目にCOPYを登録する。コピー元ディスク(HDD310)に対応するミラーディスク管理テーブル211のディスク状態の項目は、ACTIVEである。
図10は、第2の実施の形態のコピー処理のフローチャートの一例を示す図(その1)である。図11は、第2の実施の形態のコピー処理のフローチャートの一例を示す図(その2)である。制御部220は、所定のタイミングを契機にコピー処理を実行する。所定のタイミングは、予め設定されたタイミングでもよいし、ホスト装置400からのコピー処理の開始指示をコピー部222が受信したタイミングでもよい。
(S41)コピー部222は、ライト領域管理テーブル212の1つのビットを選択する。コピー部222は、選択したビットに対応する領域が書込済みの領域であるか否かを判定する。書込済みの領域(選択したビットが1)の場合、コピー部222は、ステップS42に進む。書込済みの領域でない(選択したビットが0)場合、ミラーリング部221は、ステップS48に進む。
(S42)コピー部222は、ステップS41で選択したビットに対応するエラー領域管理テーブル213のビットを特定する。コピー部222は、特定したビットに対応する領域がエラーの発生した領域であるか否かを判定する。エラーが発生した領域(特定したビットが1)の場合、コピー部222は、ステップS48に進む。エラーが発生した領域でない(特定したビットが0)場合、ミラーリング部221は、ステップS43に進む。
(S43)コピー部222は、ステップS41で選択したビットに対応するコピー元ディスクの論理ボリューム310aの領域からデータを読み出す。
(S44)コピー部222は、コピー元ディスクに対する読み込みによりエラーが発生したか否かを判定する。エラーが発生した場合、コピー部222は、ステップS49に進む。エラーが発生しなかった場合、コピー部222は、ステップS45に進む。
(S45)コピー部222は、ステップS41で選択したビットに対応するコピー先ディスクの論理ボリュームの領域にステップS43で読み出したデータを書き込む。
(S46)コピー部222は、コピー先ディスクに対するデータの書き込みによりエラーが発生したか否かを判定する。エラーが発生した場合、コピー部222は、ステップS49に進む。エラーが発生しなかった場合、コピー部222は、ステップS47に進む。
(S47)コピー部222は、ステップS41で選択したビットに対応するコピー管理テーブル214のビットを特定する。コピー部222は、特定したビットを1にする。
(S48)コピー部222は、ライト領域管理テーブル212の全てのビットを選択したか否かを判定する。全てのビットを選択した場合、コピー部222は、ステップS51に進む。全てのビットを選択していない場合、コピー部222は、ステップS41に進む。
(S49)コピー部222は、データコピーを中止する。
(S50)構成管理部223は、コピー先ディスクをミラーリング構成から切り離す。構成管理部223は、コピー先ディスクに対応するミラーディスク管理テーブル211のディスク状態の項目にINVALIDを登録する。構成管理部223は、ステップS53に進む。
(S51)コピー部222は、エラー領域管理テーブル213を参照し、エラー領域を示す情報(ビットが1)が登録されているか否かを判定する。エラー領域を示す情報が登録されている場合、コピー部222は、ステップS52に進む。エラー領域を示す情報が登録されていない場合、構成管理部223は、コピー元ディスクおよびコピー先ディスクに対応するミラーディスク管理テーブル211のディスク状態の項目にACTIVEを登録する。コピー部222は、コピー処理を終了する。
(S52)構成管理部223は、コピー元ディスクをミラーリング構成から切り離す。構成管理部223は、コピー元ディスクに対応するミラーディスク管理テーブル211のディスク状態の項目にINVALIDを登録する。構成管理部223は、コピー先ディスクに対応するミラーディスク管理テーブル211のディスク状態の項目にACTIVEを登録する。
また、ミラーリング部221は、ミラーディスク管理テーブル211を参照し、ディスク状態がACTIVEのHDDが1つになった場合(ミラーディスクが1つになった場合)、ミラーリング制御を中止する。
(S53)コピー部222は、エラー領域管理テーブル213に登録されている情報を削除する。すなわち、コピー部222は、エラー領域管理テーブル213を初期化する。コピー部222は、コピー処理を終了する。
図12は、第2の実施の形態のコピー中ライト処理のフローチャートの一例を示す図である。制御部220は、コピー処理中にホスト装置400からのライト要求の受信を契機にコピー中ライト処理を実行する。
(S61)ミラーリング部221は、ライト要求で指定された領域に対応するエラー領域管理テーブル213のビットを特定する。ミラーリング部221は、特定したビットに対応する領域がエラーの発生した領域であるか否かを判定する。エラーが発生した領域(特定したビットが1)の場合、ミラーリング部221は、ステップS69に進む。エラーが発生した領域でない(特定したビットが0)場合、ミラーリング部221は、ステップS62に進む。
(S62)ミラーリング部221は、コピー元ディスクの論理ボリューム310aの領域のうちライト要求で指定された領域にデータを書き込む。ミラーリング部221は、コピー先ディスクの論理ボリューム320aの領域のうちライト要求で指定された領域にデータを書き込む。
(S63)ミラーリング部221は、データの書き込みによりエラーが発生したか否かを判定する。エラーが発生した場合、ミラーリング部221は、ステップS66に進む。エラーが発生しなかった場合、ミラーリング部221は、ステップS64に進む。
(S64)ミラーリング部221は、ライト領域管理テーブル212を参照し、データの書き込みを行った領域に対応するビットを1にする。
(S65)ミラーリング部221は、ホスト装置400に正常通知を送信する。ミラーリング部221は、コピー中ライト処理を終了する。
(S66)ミラーリング部221は、コピー元ディスクでエラーが発生したか否かを判定する。コピー元ディスクでエラーが発生した場合、ミラーリング部221は、ステップS70に進む。コピー先ディスクでエラーが発生した場合、ミラーリング部221は、ステップS67に進む。
(S67)コピー部222は、データコピーを中止する。
(S68)構成管理部223は、コピー先ディスクをミラーリング構成から切り離す。構成管理部223は、コピー先ディスクに対応するミラーディスク管理テーブル211のディスク状態の項目にINVALIDを登録する。構成管理部223は、ステップS64に進む。
(S69)ミラーリング部221は、コピー先ディスクの論理ボリューム320aの領域のうちライト要求で指定された領域にデータを書き込む。
(S70)ミラーリング部221は、コピー先ディスクでエラーが発生したか否かを判定する。コピー先ディスクでエラーが発生した場合、ミラーリング部221は、ステップS72に進む。コピー先ディスクでエラーが発生していない場合、ミラーリング部221は、ステップS71に進む。
(S71)ミラーリング部221は、エラーが発生した領域に対応するエラー領域管理テーブル213のビットを1にする。ミラーリング部221は、ステップS64に進む。
(S72)コピー部222は、データコピーを中止する。
(S73)構成管理部223は、コピー先ディスクをミラーリング構成から切り離す。構成管理部223は、コピー先ディスクに対応するミラーディスク管理テーブル211のディスク状態の項目にINVALIDを登録する。
(S74)ミラーリング部221は、エラー領域管理テーブル213に登録されている情報を削除する。
(S75)ミラーリング部221は、ホスト装置400にエラー通知を送信する。ミラーリング部221は、コピー中ライト処理を終了する。
図13は、第2の実施の形態のコピー中リード処理のフローチャートの一例を示す図(その1)である。図14は、第2の実施の形態のコピー中リード処理のフローチャートの一例を示す図(その2)である。制御部220は、コピー処理中にホスト装置400からのリード要求の受信を契機にコピー中リード処理を実行する。
(S81)ミラーリング部221は、リード要求で指定された領域に対応するライト領域管理テーブル212のビットを特定する。ミラーリング部221は、特定したビットに対応する領域が書込済みの領域であるか否かを判定する。書込済みの領域(特定したビットが1)の場合、ミラーリング部221は、ステップS82に進む。書込済みの領域でない(特定したビットが0)場合、ミラーリング部221は、ステップS88に進む。
(S82)ミラーリング部221は、リード要求で指定された領域に対応するエラー領域管理テーブル213のビットを特定する。ミラーリング部221は、特定したビットに対応する領域がエラーの発生した領域であるか否かを判定する。エラーが発生した領域(特定したビットが1)の場合、ミラーリング部221は、ステップS89に進む。エラーが発生した領域でない(特定したビットが0)場合、ミラーリング部221は、ステップS83に進む。
(S83)ミラーリング部221は、コピー元ディスクの論理ボリューム310aの領域のうちリード要求で指定された領域を読み込む。
(S84)ミラーリング部221は、コピー元ディスクに対する読み込みによりエラーが発生したか否かを判定する。エラーが発生した場合、ミラーリング部221は、ステップS85に進む。エラーが発生しなかった場合、ミラーリング部221は、ステップS91に進む。
(S85)ミラーリング部221は、リード要求で指定された領域に対応するコピー管理テーブル214のビットを特定する。ミラーリング部221は、特定したビットに対応する領域がコピー済みの領域であるか否かを判定する。コピー済みの領域(特定したビットが1)の場合、ミラーリング部221は、ステップS86に進む。コピー済みの領域でない(特定したビットが0)場合、ミラーリング部221は、ステップS94に進む。
(S86)ミラーリング部221は、コピー先ディスクの論理ボリューム320aの領域のうちリード要求で指定された領域を読み込む。
(S87)ミラーリング部221は、コピー先ディスクに対する読み込みによりエラーが発生したか否かを判定する。エラーが発生した場合、ミラーリング部221は、ステップS94に進む。エラーが発生しなかった場合、ミラーリング部221は、ステップS92に進む。
(S88)ミラーリング部221は、ホスト装置400にゼロデータを送信する。ミラーリング部221は、コピー中リード処理を終了する。
(S89)ミラーリング部221は、コピー先ディスクの論理ボリューム320aの領域のうちリード要求で指定された領域を読み込む。
(S90)ミラーリング部221は、コピー先ディスクに対する読み込みによりエラーが発生したか否かを判定する。エラーが発生した場合、ミラーリング部221は、ステップS94に進む。エラーが発生しなかった場合、ミラーリング部221は、ステップS98に進む。
(S91)ミラーリング部221は、コピー元ディスクでデータを正常に読み込めた旨をホスト装置400に送信する。ミラーリング部221は、コピー中リード処理を終了する。
(S92)ミラーリング部221は、エラーが発生した領域に対応するエラー領域管理テーブル213のビットを1にする。
(S93)ミラーリング部221は、コピー先ディスクでデータを正常に読み込めた旨をホスト装置400に送信する。ミラーリング部221は、コピー中リード処理を終了する。
(S94)コピー部222は、データコピーを中止する。
(S95)構成管理部223は、コピー先ディスクをミラーリング構成から切り離す。構成管理部223は、コピー先ディスクに対応するミラーディスク管理テーブル211のディスク状態の項目にINVALIDを登録する。
(S96)ミラーリング部221は、エラー領域管理テーブル213に登録されている情報を削除する。
(S97)ミラーリング部221は、エラー通知をホスト装置400に送信する。ミラーリング部221は、コピー中リード処理を終了する。
(S98)ミラーリング部221は、コピー先ディスクでデータを正常に読み込めた旨をホスト装置400に送信する。ミラーリング部221は、コピー中リード処理を終了する。
図15は、第2の実施の形態のコピー中ライト処理の一例を示す図である。HDD320は、新しく交換されたHDDである。図15(A)は、通常ライト処理が行われた後にコピー処理が行われる場合を示している。領域312,322は、ミラーリング部221による通常ライト処理でデータが書き込まれた領域である。図15(A)は、論理ボリューム310a,320aの領域の中にデータの未書き込み領域とデータの書込済み領域とが混在していることを示している。例えば、図15(A)は、領域311,321がデータの未書き込み領域であることを示している。図15(A)は、領域312,322がデータの書込済み領域であることを示している。
HDD310は、コピー元ディスクである。HDD320は、コピー先ディスクである。コピー部222は、コピー処理を実行する。コピー部222は、ライト領域管理テーブル212を参照して、論理ボリューム310aの領域のうちデータの書込済み領域に格納されているデータを論理ボリューム320aにデータコピーする。
ミラーリング部221は、コピー処理中にホスト装置400からライト要求を受信する。ミラーリング部221は、領域311,321にデータを書き込む。
図15(B)は、ミラーリング部221が領域311にデータの書き込みを行ってエラーが発生したことを示している。図15(B)は、ミラーリング部221が領域321にデータの書き込みを行ってエラーが発生しなかったことを示している。コピー部222は、領域311をデータコピーの対象から除外する(ステップS42のYes)。
図15(C)は、コピー処理が完了したことを示している。構成管理部223は、HDD310をミラーリング構成から切り離す(ステップS52)。構成管理部223は、HDD310に対応するミラーディスク管理テーブル211のディスク状態の項目にINVALIDを登録する。構成管理部223は、HDD320に対応するミラーディスク管理テーブル211のディスク状態の項目にACTIVEを登録する。HDD310は、動作ディスクにならない。HDD320は、動作ディスクになる。
第2の実施の形態によれば、CM200は、エラーの発生領域に対応するデータを、データコピーにおけるコピー対象データのうちから除外することで、コピー元ディスクからコピー先ディスクに不定なデータがデータコピーされることを防止する。
これにより、CM200は、コピー先ディスクがデータを保証できない状態となることを防止する。このとき、CM200は、コピー対象データのうちから除外されたデータに代わってライト要求におけるデータを正常に書き込みしていることから、コピー先ディスクをデータ保証可能な記憶装置とすることができる。
よって、CM200は、コピー処理中に、コピー元ディスクでエラーが発生してもコピー先ディスクでデータの保証ができる。
また、第2の実施の形態によれば、CM200は、コピー処理でデータの未書き込み領域をコピー対象から除外しているため、コピー処理時間を短くできる。
また、第2の実施の形態によれば、CM200は、コピー処理中に論理ボリューム310aでエラーが発生した領域に対するライト要求を受信した場合、当該領域に対応する論理ボリューム320aの領域にデータを書き込む。このように、CM200は、コピー元ディスク(HDD310)でエラーが発生していてもコピー処理を継続した状態でコピー先ディスク(HDD320)にデータを書き込むことができる。また、CM200は、コピー先ディスクに最新のデータを格納できる。
また、第2の実施の形態によれば、CM200は、コピー処理中に論理ボリューム310aでエラーが発生した領域に対するリード要求を受信した場合、当該領域に対応する論理ボリューム320aの領域からデータを読み出す。このように、CM200は、コピー元ディスク(HDD310)でエラーが発生していてもコピー先ディスク(HDD320)からデータを読み出すことができる。
また、第1の実施の形態の情報処理は、情報処理装置2に用いられるプロセッサに、プログラムを実行させることで実現できる。第2の実施の形態の情報処理は、CPU201にプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体に記録できる。
例えば、プログラムを記録した記録媒体は、プログラムを流通させることで配布することができる。また、制御部220に相当する機能を実現するプログラムは、別個のプログラムとして各プログラムを別個に配布することができる。制御部220の機能は、別個のコンピュータにより実現されてもよい。コンピュータは、例えば、記録媒体に記録されたプログラムを、RAM202、フラッシュメモリ203に格納し、プログラムを読み込んで実行してもよい。
1 情報処理システム
2 情報処理装置
3 記憶部
3a 異常情報
4 制御部
5 第1の記憶装置
5a,5b,6a,6b 領域
6 第2の記憶装置

Claims (8)

  1. コンピュータに、
    第1の記憶装置から前記第1の記憶装置の複製となる第2の記憶装置へのデータコピーの実行中に書込要求を受け付けて、前記書込要求に対応する書込データを前記第1の記憶装置と前記第2の記憶装置とに書き込み、前記第2の記憶装置による前記書込データの正常な書き込みと、前記第1の記憶装置による前記書込データの異常な書き込みとを検出した場合、
    前記第1の記憶装置における書込異常領域を特定可能な異常情報を記憶部に格納し、
    前記異常情報に基づいて前記書込異常領域に対応するデータを、前記データコピーにおけるコピー対象データのうちから除外して前記データコピーの実行を継続する、
    処理を実行させる情報処理プログラム。
  2. 前記第1の記憶装置と前記第2の記憶装置とは、ミラーリング対象の記憶装置であって、前記データコピーの実行を完了した後に前記第1の記憶装置をミラーリング対象から除外する、
    請求項1に記載の情報処理プログラム。
  3. 前記データコピーは、ミラーリング対象の記憶装置の構成変更により前記第2の記憶装置の追加を検出に基づいて実行するデータコピーである、
    請求項1または2に記載の情報処理プログラム。
  4. さらに前記第1の記憶装置におけるデータを書込済みの領域を特定可能な書込情報を前記記憶部に格納し、
    前記書込情報に基づいて前記書込済みの領域に対応するデータを前記データコピーにおけるコピー対象データとする、
    請求項1乃至3の何れか1項に記載の情報処理プログラム。
  5. 前記データコピーの実行中に書込要求を受け付けた場合、前記異常情報に基づいて当該書込要求が指定する領域が前記書込異常領域であるか否かを判定し、当該書込要求が指定する領域が前記書込異常領域であるとき、当該書込要求に対応するデータを、前記第1の記憶装置に書き込まずに前記第2の記憶装置に書き込む、
    請求項1乃至4の何れか1項に記載の情報処理プログラム。
  6. 前記データコピーの実行中にデータの読出要求を受け付けた場合、前記異常情報に基づいて前記読出要求が指定する領域が前記書込異常領域であるか否かを判定し、前記読出要求が指定する領域が前記書込異常領域であるとき、前記第2の記憶装置から前記読出要求に対応するデータを読み出す、
    請求項1乃至3の何れか1項に記載の情報処理プログラム。
  7. 第1の記憶装置と、
    前記第1の記憶装置の複製となる第2の記憶装置と、
    前記第1の記憶装置から前記第2の記憶装置へのデータコピーの実行中に書込要求を受け付けて、前記書込要求に対応する書込データを前記第1の記憶装置と前記第2の記憶装置とに書き込み、前記第2の記憶装置による前記書込データの正常な書き込みと、前記第1の記憶装置による前記書込データの異常な書き込みとを検出した場合、
    前記第1の記憶装置における書込異常領域を特定可能な異常情報を記憶部に格納し、
    前記異常情報に基づいて前記書込異常領域に対応するデータを、前記データコピーにおけるコピー対象データのうちから除外して前記データコピーの実行を継続する、
    制御部を備える情報処理装置と、
    を含む情報処理システム。
  8. コンピュータが、
    第1の記憶装置から前記第1の記憶装置の複製となる第2の記憶装置へのデータコピーの実行中に書込要求を受け付けて、前記書込要求に対応する書込データを前記第1の記憶装置と前記第2の記憶装置とに書き込み、前記第2の記憶装置による前記書込データの正常な書き込みと、前記第1の記憶装置による前記書込データの異常な書き込みとを検出した場合、
    前記第1の記憶装置における書込異常領域を特定可能な異常情報を記憶部に格納し、
    前記異常情報に基づいて前記書込異常領域に対応するデータを、前記データコピーにおけるコピー対象データのうちから除外して前記データコピーの実行を継続する、
    情報処理方法。
JP2016160288A 2016-08-18 2016-08-18 情報処理プログラム、情報処理システムおよび情報処理方法 Pending JP2018028793A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016160288A JP2018028793A (ja) 2016-08-18 2016-08-18 情報処理プログラム、情報処理システムおよび情報処理方法
US15/666,004 US20180052749A1 (en) 2016-08-18 2017-08-01 Information processing system and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016160288A JP2018028793A (ja) 2016-08-18 2016-08-18 情報処理プログラム、情報処理システムおよび情報処理方法

Publications (1)

Publication Number Publication Date
JP2018028793A true JP2018028793A (ja) 2018-02-22

Family

ID=61191764

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016160288A Pending JP2018028793A (ja) 2016-08-18 2016-08-18 情報処理プログラム、情報処理システムおよび情報処理方法

Country Status (2)

Country Link
US (1) US20180052749A1 (ja)
JP (1) JP2018028793A (ja)

Also Published As

Publication number Publication date
US20180052749A1 (en) 2018-02-22

Similar Documents

Publication Publication Date Title
DK3179359T3 (en) PROCEDURE FOR SENDING DATA, PROCEDURE FOR RECEIVING DATA AND STORAGE UNIT
US8839030B2 (en) Methods and structure for resuming background tasks in a clustered storage environment
US9542272B2 (en) Write redirection in redundant array of independent disks systems
JP4821448B2 (ja) Raidコントローラおよびraid装置
JP5511960B2 (ja) 情報処理装置、及びデータの転送方法
JP5712713B2 (ja) 制御装置、制御方法およびストレージ装置
JP6455132B2 (ja) 情報処理装置,処理方法及びプログラム
WO2014132373A1 (ja) ストレージシステム及び記憶デバイス障害回復方法
JP2008269142A (ja) ディスクアレイ装置
JP4491330B2 (ja) ディスクアレイ装置とそのデータのリカバリ方法およびデータリカバリプログラム
JP6540334B2 (ja) システム、情報処理装置、および情報処理方法
US9323630B2 (en) Enhanced data recovery from data storage devices
US20090177916A1 (en) Storage system, controller of storage system, control method of storage system
JP6230707B2 (ja) ストレージシステム
JP2007048017A (ja) ストレージシステム及び記憶制御方法
JP2004213470A (ja) ディスクアレイ装置及びディスクアレイ装置におけるデータ書き込み方法
EP2921965B1 (en) Information processing device and shared memory management method
JP2018028793A (ja) 情報処理プログラム、情報処理システムおよび情報処理方法
US9836359B2 (en) Storage and control method of the same
JP5729043B2 (ja) ストレージ装置および制御装置
JP6957845B2 (ja) ストレージ制御装置及びストレージ装置
JP4704463B2 (ja) ストレージ制御装置、ストレージ制御プログラム、ストレージ制御方法
US9639417B2 (en) Storage control apparatus and control method
JP4641528B2 (ja) データ書き込みプログラム及びデータ書き込み方法
JP2013012173A (ja) レイドの検出とデータ移動方法及びそのシステム