














本発明は、概して、ストレージシステムの復旧制御に関する。The present invention generally relates to storage system recovery control.
複数のディスクで構成されたRAID(Redundant Array of Independent (or Inexpensive) Disks)グループを有するストレージシステムに関し、スペアディスクが設けられたストレージシステムが知られている。その種のストレージシステムでは、RAIDグループにおける障害ディスク内のデータをスペアディスクに復元すること(リビルド処理)、及び、障害ディスクの交換後のディスクにスペアディスクからデータをコピーすること(コピーバック処理)が行われる(例えば、特許文献1)。Regarding a storage system having a RAID (Redundant Array of Independent) (or Inexpensive) Disks) group composed of a plurality of disks, a storage system provided with a spare disk is known. In such a storage system, the data in the failed disk in the RAID group is restored to the spare disk (rebuild process), and the data is copied from the spare disk to the disk after the failed disk is replaced (copy back process). (For example, Patent Document 1).
一般に、RAIDグループを構成する記憶デバイス(例えばディスク)として、記憶容量の大きい記憶デバイスが採用される。Generally, a storage device having a large storage capacity is adopted as a storage device (for example, a disk) constituting a RAID group.
スペア記憶デバイスの記憶容量が大きいと、スペア記憶デバイスへのリビルド処理、及び、スペア記憶デバイスからのコピーバック処理のいずれについても、長い時間がかかる。このため、I/O処理性能(I/O要求に従うI/O処理の性能)が低下し得る。If the storage capacity of the spare storage device is large, it takes a long time for both rebuild processing to the spare storage device and copy back processing from the spare storage device. For this reason, the I / O processing performance (I / O processing performance in accordance with the I / O request) may be lowered.
ストレージシステムは、論理的な1以上のRAIDグループを提供する複数の記憶デバイスと、複数の記憶デバイスに接続された1以上のプロセッサであるプロセッサ部とを有する。各RAIDグループは、2以上のストライプで構成されている。各ストライプは、2以上のストリップで構成されている。複数の記憶デバイスの各々は、複数のストリップと、1以上のスペア領域とを有する。各RAIDグループについて、いずれかのストライプを構成する2以上のストリップをそれぞれ提供する2以上の記憶デバイスの少なくとも1つと、別のいずれかのストライプを構成する2以上のストリップをそれぞれ提供する2以上の記憶デバイスの少なくとも1つが、異なる記憶デバイスである。プロセッサ部は、I/O要求を受けた場合、そのI/O要求に従うI/O処理を実行するようになっている。プロセッサ部は、複数の記憶デバイスのうちの問題記憶デバイスの複数のストリップに対応したデータを2以上の記憶デバイスの複数のスペア領域にそれぞれ復元するリビルド処理を実行する。また、プロセッサ部は、リビルド処理の完了後、問題記憶デバイスの交換後記憶デバイスが有する複数のストリップのうちデータ未復元のストリップに対応したスペア領域からデータをそのストリップにコピーするデータコピー処理を含んだコピーバック処理を実行する。プロセッサ部は、以下の(W)及び(R)のうちの少なくとも1つ、
(W)交換後記憶デバイス内のストリップをライト先としたライト要求をコピーバック処理中に受けた場合、そのライト要求に従うライト処理において、そのライト要求に従うデータを、そのライト先のストリップに書き込むこと、
(R)交換後記憶デバイス内のストリップをリード元としたリード要求をコピーバック処理中に受けた場合、そのリード要求に従うリード処理において、そのリード元に対応したスペア領域からデータを読み込み、その読み込んだデータを、そのリード元のストリップに書き込むこと、
を実行する。プロセッサ部は、交換後記憶デバイスが有する複数のストリップのうち、コピーバック処理中のライト処理及びリード処理のいずれかにおいてデータが既に書き込まれているストリップについては、データコピー処理をスキップする。The storage system includes a plurality of storage devices that provide one or more logical RAID groups, and a processor unit that is one or more processors connected to the plurality of storage devices. Each RAID group is composed of two or more stripes. Each stripe is composed of two or more strips. Each of the plurality of storage devices has a plurality of strips and one or more spare areas. For each RAID group, at least one of two or more storage devices each providing two or more strips constituting any stripe, and two or more providing each two or more strips constituting any other stripe At least one of the storage devices is a different storage device. When receiving an I / O request, the processor unit executes I / O processing according to the I / O request. The processor unit executes a rebuild process for restoring data corresponding to a plurality of strips of a problem storage device among a plurality of storage devices to a plurality of spare areas of two or more storage devices, respectively. In addition, the processor unit includes a data copy process for copying data from a spare area corresponding to a strip in which data is not restored among a plurality of strips included in the storage device after replacement of the problem storage device after the rebuild process is completed. Execute copyback processing. The processor unit includes at least one of the following (W) and (R):
(W) When a write request with the strip in the storage device as the write destination is received during the copyback process after the replacement, the data according to the write request is written to the write destination strip in the write process according to the write request. ,
(R) When a read request with the strip in the storage device as the read source is received during the copy back process after the replacement, data is read from the spare area corresponding to the read source and read in the read process according to the read request. Write the data to the strip that leads it,
Execute. The processor unit skips the data copy process for a strip in which data has already been written in either the write process or the read process during the copy back process among the plurality of strips of the storage device after replacement.
I/O処理性能の低下を軽減しつつ記憶デバイスを復旧することができる。The storage device can be restored while reducing the decrease in I / O processing performance.
幾つかの実施例を、図面を参照して説明する。なお、以下に説明する実施例は特許請求の範囲に係る発明を限定するものではなく、また実施例で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
なお、以下の説明では、「xxxテーブル」といった表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「xxxテーブル」を「xxx情報」と言うことができる。また、以下の説明において、各テーブルの構成は一例であり、1つのテーブルは、2以上のテーブルに分割されてもよいし、2以上のテーブルの全部又は一部が1つのテーブルであってもよい。Several embodiments will be described with reference to the drawings. The embodiments described below do not limit the invention according to the claims, and all the elements and combinations described in the embodiments are not necessarily essential to the solution of the invention. Absent.
In the following description, information may be described using an expression such as “xxx table”, but the information may be expressed in any data structure. That is, in order to show that the information does not depend on the data structure, the “xxx table” can be referred to as “xxx information”. In the following description, the configuration of each table is an example, and one table may be divided into two or more tables, or all or part of the two or more tables may be a single table. Good.
また、以下の説明では、「インターフェース部」は、1以上のインターフェースを含む。1以上のインターフェースは、1以上の同種のインターフェースデバイス(例えば1以上のNIC(Network Interface Card))であってもよいし2以上の異種のインターフェースデバイス(例えばNICとHBA(Host Bus Adapter))であってもよい。In the following description, the “interface unit” includes one or more interfaces. The one or more interfaces may be one or more similar interface devices (for example, one or more NIC (Network Interface Card)) or two or more different interface devices (for example, NIC and HBA (Host Bus Adapter)). There may be.
また、以下の説明では、「記憶部」は、1以上のメモリを含む。記憶部に関して少なくとも1つのメモリは、揮発性メモリでよい。記憶部は、主に、プロセッサ部による処理の際に使用される。In the following description, the “storage unit” includes one or more memories. The at least one memory for the storage unit may be a volatile memory. The storage unit is mainly used during processing by the processor unit.
また、以下の説明では、「プロセッサ部」は、1以上のプロセッサを含む。少なくとも1つのプロセッサは、典型的には、CPU(Central Processing Unit)のようなマイクロプロセッサである。1以上のプロセッサの各々は、シングルコアでもよいしマルチコアでもよい。プロセッサは、処理の一部または全部を行うハードウェア回路を含んでもよい。In the following description, the “processor unit” includes one or more processors. The at least one processor is typically a microprocessor such as a CPU (Central Processing Unit). Each of the one or more processors may be a single core or a multi-core. The processor may include a hardware circuit that performs part or all of the processing.
また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ部(例えばCPU(Central Processing Unit))によって実行されることで、定められた処理を、適宜に記憶部(例えばメモリ)及び/又はインターフェースデバイス(例えば通信ポート)等を用いながら行うため、処理の主語が、プロセッサ部(或いは、そのプロセッサ部を有する装置又はシステム)とされてもよい。また、プロセッサ部は、処理の一部または全部を行うハードウェア回路を含んでもよい。プログラムは、プログラムソースから計算機のような装置にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバまたは計算機が読み取り可能な(例えば非一時的な)記録媒体であってもよい。また、以下の説明において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。In the following description, the process may be described using “program” as a subject. However, the program is executed by a processor unit (for example, CPU (Central Processing Unit)), so that the determined processing is appropriately performed. Therefore, the subject of processing may be the processor unit (or an apparatus or system having the processor unit) because the processing is performed using a storage unit (for example, a memory) and / or an interface device (for example, a communication port). The processor unit may include a hardware circuit that performs part or all of the processing. The program may be installed in a computer-like device from a program source. The program source may be, for example, a recording medium (for example, non-transitory) readable by a program distribution server or a computer. In the following description, two or more programs may be realized as one program, or one program may be realized as two or more programs.
また、以下の説明では、「ホストシステム」は、1以上の物理的なホスト計算機(例えばホスト計算機のクラスタ)であってもよいし、少なくとも1つの仮想的なホスト計算機(例えばVM(Virtual Machine))を含んでもよい。以下、ホストシステムを、単に「ホスト」と呼ぶ。In the following description, the “host system” may be one or more physical host computers (for example, a cluster of host computers), or at least one virtual host computer (for example, VM (Virtual Machine)). ) May be included. Hereinafter, the host system is simply referred to as “host”.
また、以下の説明では、「ストレージシステム」は、1以上のストレージ装置でよい。「ストレージ装置」は、記憶デバイスにデータを格納する機能を有する装置であればよい。このため、ストレージ装置は、ファイルサーバのような計算機(例えば汎用計算機)であってもよい。例えば、少なくとも1つの物理的なストレージ装置が、仮想的な計算機(例えばVM(Virtual Machine))を実行してもよいし、SDx(Software-Defined anything)を実行してもよい。SDxとしては、例えば、SDS(Software Defined Storage)(仮想的なストレージ装置の一例)又はSDDC(Software-defined Datacenter)を採用することができる。また、例えば、少なくとも1つのストレージ装置(計算機)は、ハイパーバイザを有していてよい。ハイパーバイザが、サーバとして動作するサーバVM(Virtual Machine)と、ストレージとして動作するストレージVMとを生成してよい。サーバVMが、I/O要求を発行するホストとして動作し、ストレージVMが、サーバVMからのI/O要求に応答してドライブに対するI/Oを行うストレージコントローラとして動作してよい。In the following description, the “storage system” may be one or more storage devices. The “storage device” may be any device having a function of storing data in the storage device. For this reason, the storage device may be a computer (for example, a general-purpose computer) such as a file server. For example, at least one physical storage device may execute a virtual computer (for example, VM (Virtual Machine)), or may execute SDx (Software-Defined anything). As SDx, for example, SDS (Software Defined Storage) (an example of a virtual storage device) or SDDC (Software-defined Datacenter) can be adopted. For example, at least one storage device (computer) may have a hypervisor. The hypervisor may generate a server VM (Virtual Machine) that operates as a server and a storage VM that operates as a storage. The server VM may operate as a host that issues an I / O request, and the storage VM may operate as a storage controller that performs I / O to a drive in response to an I / O request from the server VM.
また、以下の説明では、同種の要素を区別しないで説明する場合には、参照符号(又は参照符号における共通部分)を使用し、同種の要素を区別して説明する場合は、要素のID(又は要素の参照符号)を使用することがある。Moreover, in the following description, when explaining without distinguishing the same kind of element, a reference code (or a common part in the reference sign) is used, and when explaining the same kind of element separately, the element ID (or Element reference signs) may be used.
また、以下の説明では、要素の識別子として番号が使用されるが、番号に代えて又は加えて他種の符号が使用されてもよい。In the following description, numbers are used as element identifiers, but other types of codes may be used instead of or in addition to numbers.
図1は、実施例に係る計算機システムの構成の一例を示す。FIG. 1 shows an example of the configuration of a computer system according to the embodiment.
計算機システムは、ホスト101と、ストレージシステム102とを有する。ホスト101と、ストレージシステム102とは、通信ネットワーク152を介して相互に接続される。The computer system has a
ホスト101は、ストレージシステム102にI/O(Input/Output)要求を送信する。I/O要求は、I/O先の場所を表すI/O先情報を含む。I/O先情報は、例えば、I/O先のLU(Logical Unit)のLUN(Logical Unit Number)と、そのLUにおける領域のLBA(Logical Block Address)とを含む。LUは、ストレージシステム110から提供される論理ボリューム(論理的な記憶デバイス)である。I/O先情報を基に、I/O先の論理領域が特定され、その論理領域に基づくドライブ124が特定される。The
ストレージシステム102は、ストレージコントローラ103と、ドライブボックス121とを含む。ドライブボックス121は、複数(又は1個)のプール183を含む。各プール183は、複数のドライブ124を含む。ドライブ124は、記憶デバイス(典型的には不揮発性の記憶デバイス)の一例であり、例えば、HDD(Hard Disk Drive)又はSSD(Solid State Drive)である。The
ストレージコントローラ103は、ホストI/F111と、キャッシュメモリ(CM)112と、CPU(Central Processing Unit)113と、ドライブI/F114と、ローカルメモリ(LM)115とを有する。ホストI/F111及びドライブI/F114が、インターフェース部の一例である。キャッシュメモリ112及びローカルメモリ115が、記憶部の一例である。CPU113が、プロセッサ部の一例である。The
ホストI/F111は、ストレージコントローラ103のインターフェースデバイスの一例であり、ホスト101との間で通信を行う。キャッシュメモリ112は、ホスト101からドライブ124に書き込まれるデータ(ライトデータ)と、ドライブ124から読み出されたデータ(リードデータ)とを一時的に格納する。CPU113は、ローカルメモリ115に格納されたプログラムを実行して各種処理を実行する。CPU113は、ホストI/F111と、キャッシュメモリ112と、ドライブI/F114と、ローカルメモリ115とに接続されている。CPU113は、ドライブI/F114を介して各種コマンドを記憶デバイス121のドライブ124に送信する。ドライブI/F114は、ストレージコントローラ103のインターフェースデバイスの一例であり、各ドライブ124との間で通信を行う。ローカルメモリ115は、各種プログラム及び各種情報を格納する。The host I /
ストレージコントローラ103の動作の一例は次の通りである。すなわち、ストレージコントローラ103は、ホスト101から受信したI/O要求を処理する。具体的には、例えば、ストレージコントローラ103は、そのI/O要求のI/O先に基づきデータのI/O先となるドライブ124を特定し、特定したドライブ124に対するI/Oを実行する。その際、ストレージコントローラ103は、I/O対象のデータをキャッシュメモリ112にキャッシュする。An example of the operation of the
図2は、プール183の論理構成及び物理構成の一例を示す。FIG. 2 shows an example of the logical configuration and physical configuration of the
論理構成によれば、プール183は、複数のRAIDグループ(論理的なRAIDグループ)223を有する。RAIDグループ223に基づき論理ボリュームが提供される。各RAIDグループ223は、複数のドライブ224(論理的なドライブ)を有する。各RAIDグループ223は、2D+2PのRAID構成とRAID6のRAIDレベルとに従うRAIDグループである。即ち、各RAIDグループ223において、各ストライプが、4個のドライブ224がそれぞれ有する4個のストリップ(単位記憶領域)で構成されている。各ストライプでは、2個のストリップにそれぞれ2個のデータ要素(D)が格納され、2個のストリップに、それぞれ、その2個のデータ要素に基づく2個のパリティ(P)が格納される。プール183において、複数のRAIDグループ223にそれぞれ対応した複数のRAID種別(RAIDレベル及びRAID構成)は同じでもよい。According to the logical configuration, the
一方、物理構成によれば、各プール183は、複数のドライブグループ123を有する。本実施例では、ドライブグループ123の数は、RAIDグループ223の数と同じであるが、異なっていてもよい。また、本実施例では、各ドライブグループ123を構成するドライブ124の数は、RAIDグループ223を構成するドライブ224の数と同じあるが、異なっていてもよい。本実施例では、各ドライブグループ123は、4個のドライブ124(物理的なドライブ)を有する。各ドライブグループ123は、それ自体ではRAIDグループを構成しない。プール183が、論理的に、上述の複数のRAIDグループ223を構成する。On the other hand, according to the physical configuration, each
本実施例では、分散RAIDの構成が採られている。具体的には、各RAIDグループ223は、2以上のストライプで構成されている。各ストライプは、2以上のストリップで構成されている。各ドライブ124が、複数のストリップを有する。各RAIDグループ223について、第1のストライプを構成する2以上のストリップをそれぞれ提供する2以上のドライブ124の少なくとも1つと、第2のストライプを構成する2以上のストリップをそれぞれ提供する2以上のドライブ124の少なくとも1つが、異なるドライブ124である。各RAIDグループ123について、第1のストライプは、いずれかのストライプであり、第2のストライプは、その第1のストライプ以外のいずれかのストライプである。具体的には、本実施例では、同一ストライプを構成する複数のストリップが、異なるドライブグループに分散しており、且つ、その複数のストリップにそれぞれ対応した複数のドライブ位置(ドライブにおける物理的なアドレスに従う位置)が異なっている。図2では、同一のストライプを構成する4個のストリップの各々には、同じ番号が付されている。物理構成によれば、例えば、同一のストライプを構成する4個のストリップ0-0は、複数のドライブグループ123に分散している。In this embodiment, a distributed RAID configuration is adopted. Specifically, each
また、物理構成によれば、各ドライブ124は、複数のストリップの他に、1以上のスペア領域(S)を有する。本実施例では、各ドライブ124は、1個のスペア領域を有する。「スペア領域」とは、予備の記憶領域である。論理構成と物理構成の比較によれば、各ドライブ124について、いずれのストリップも、RAIDグループ223の構成要素となるが、スペア領域は、RAIDグループ223の構成要素にならない。障害ドライブが生じた場合、後述するように、障害ドライブ内のストリップにおけるデータ(データ要素又はパリティ)がスペア領域に復元される。各スペア領域のサイズは、ストリップサイズ以上である。Further, according to the physical configuration, each drive 124 has one or more spare areas (S) in addition to a plurality of strips. In this embodiment, each drive 124 has one spare area. The “spare area” is a spare storage area. According to the comparison between the logical configuration and the physical configuration, for each
以上のように、本実施例では、分散RAID構成が採用されており、且つ、スペアドライブが設けられることに代えて、各ドライブ124にスペア領域が設けられている。なお、プール183によって、RAIDレベル及びRAID構成のうちの少なくとも1つは異なっていてもよい。本実施例では、説明を簡単にするために、いずれのプール183も、RAIDレベルはRAID6であり、RAID構成は2D+2Pであるとする。As described above, in this embodiment, a distributed RAID configuration is adopted, and a spare area is provided in each drive 124 instead of providing a spare drive. Note that, depending on the
図3は、ローカルメモリ115に格納されるプログラム及びテーブルの一例を示す。FIG. 3 shows an example of programs and tables stored in the
ローカルメモリ115は、各種プログラムを格納する。プログラムとして、例えば、ホストI/O処理プログラム301と、リビルド処理プログラム302と、コピーバック処理プログラム303と、パリティ生成プログラム304とがある。ホストI/O処理プログラム301は、ホスト101からのI/O要求を処理する。リビルド処理プログラム302は、リビルド処理を実行する。コピーバック処理プログラム303は、コピーバック処理を実行する。パリティ生成プログラム304は、ストライプに格納されるパリティを生成する。The
また、ローカルメモリ115は、各種テーブルを格納する。テーブルとして、例えば、プール状態テーブル305と、コピーバック設定管理テーブル306と、進捗管理テーブル307と、先頭アドレス管理テーブル308とがある。The
図4は、プール状態テーブル305の一例と、そのテーブル305に対応したプールの状態とを示す。FIG. 4 shows an example of the pool status table 305 and the status of the pool corresponding to the table 305.
プール状態テーブル305は、プール183の冗長度及び状態を示す情報である。プール状態テーブル305は、プール183毎に、プール番号401と、冗長度402と、状態403といった情報を保持するエントリを管理する。The pool state table 305 is information indicating the redundancy and state of the
プール番号401は、プールの番号である。冗長度402は、プール183の冗長度を示す。なお、冗長度402としての冗長度は、プール183のうちの最低の冗長度である。すなわち、プール183は分散RAID構成のため、N個の障害ドライブがあるからといって(Nは1以上の整数)、N個の障害ドライブが関わる複数のストライプにそれぞれ対応した複数の冗長度が同じであるとは限らない。冗長度「1」のストライプもあれば、冗長度「0」のストライプもあることがある。この場合、冗長度402としては、最低値の「0」が登録される。
状態403は、プール183への処理に関する状態を示す。プール183への処理としては、例えば、コピーバック処理がある。状態403の値として、例えば、コピーバック処理中であり且つその処理のうちの後述のデータコピー処理中であることを意味する「コピーバック中」、コピーバック処理中であるがデータコピー処理を停止した状態であることを意味する「停止中」、及び、コピーバック処理中でないことを意味する「なし」がある。The
図4のテーブル305によれば、プール0~2の各々の冗長度及び状態は、次の通りである。すなわち、プール0において、2個のドライブに障害が生じ、冗長度が2から0になっている。プール0について、コピーバック処理におけるデータコピー処理が行われている最中である。プール1において、1個のドライブに障害が生じ、冗長度が2から1になっている。プール1について、コピーバック処理が行われている最中であるが、その処理におけるデータコピー処理は、停止した状態である。プール2において、いずれのドライブにも障害が生じていない。According to the table 305 in FIG. 4, the redundancy and status of each of the
図5は、コピーバック設定管理テーブル306の一例を示す。FIG. 5 shows an example of the copyback setting management table 306.
コピーバック設定管理テーブル306は、データコピー処理を実行するか否かを判定する閾値を管理するテーブルである。コピーバック設定管理テーブル306は、プール183毎に、プール番号501と、I/O待ち時間502と、ライト割合503と、CPU使用率504と、判定待ち時間505といった情報を保持するエントリを管理する。The copyback setting management table 306 is a table for managing thresholds for determining whether or not to execute data copy processing. The copyback setting management table 306 manages entries that hold information such as a
プール番号501は、プール183の番号である。I/O待ち時間502は、プール183についてホスト101からI/O要求(以下、ホストI/O)が届いていない時間を示す。ライト割合503は、プール183についてのホストI/O中のライトの割合を示す。CPU使用率504は、プール183に対する処理に関してCPU113の使用率を示す。判定待ち時間505は、データコピー処理が開始又は停止してから判定までの待ち時間を示す。
なお、情報502~505は、プール183毎に用意されるが、全てのプール183に共通であってもよい。The
図6は、進捗管理テーブル307の一例を示す。FIG. 6 shows an example of the progress management table 307.
進捗管理テーブル307は、交換後ドライブ(障害ドライブ124と交換されたドライブ)に対してのコピーバック処理の進捗を管理するテーブルである。進捗管理テーブル307は、交換後ドライブが有するストリップ毎に、アドレス601と、完了フラグ602と、データ位置603といった情報を保持するエントリを管理する。アドレス601は、ストリップのアドレス(番号)である。完了フラグ602は、ストリップに対してデータの復元が完了したか否かを示すフラグである。完了フラグ602の値として、完了のときは「1」、未完了のときは「0」が設定される。データ位置603は、ストリップに復元されるべきデータ(コピーバック処理対象のデータ)が存在する位置(ドライブ124の番号とそのドライブ124におけるスペア領域のアドレスとの組合せ)を示す。The progress management table 307 is a table for managing the progress of the copy back process for the replaced drive (the drive replaced with the failed drive 124). The progress management table 307 manages entries that hold information such as an
図7は、先頭アドレス管理テーブル308の一例を示す。FIG. 7 shows an example of the head address management table 308.
先頭アドレス管理テーブル308は、コピーバック処理が未完了の位置を管理するテーブルである。先頭アドレス管理テーブル308には、進捗管理テーブル307において完了フラグ602「0」に対応したアドレス601のうちの先頭のアドレスが格納される。The head address management table 308 is a table for managing a position where the copy back process is not completed. The head address management table 308 stores the head address of the
以下、1つのプール183を例に取り、本実施例で行われる処理を説明する。なお、以下の説明では、そのプール183を、「対象プール183」と呼ぶ。また、本実施例の説明では、各用語の意味は、以下の通りとする。
・「問題ドライブ」は、問題の発生したドライブである。「問題」とは、障害、又は、障害の発生可能性が高いこと、である。本実施例では、問題ドライブは、障害ドライブである。「障害ドライブ」は、障害の発生したドライブである。「障害ストリップ」は、障害ドライブ内のストリップである。なお、問題ドライブの別の例として、障害候補ドライブ(障害の発生する可能性の高いドライブ)を採用することができる。障害候補ドライブ内のストリップを、「障害候補ストリップ」と呼ぶことができる。
・「復元」は、ドライブにおけるスペア領域に対する書込み、又は、交換後ドライブにおけるストリップに対する書込みを意味する際に、使用されることがある用語である。
・「交換後ドライブ」とは、問題ドライブと交換されたドライブである。
・「復旧処理」とは、リビルド処理とコピーバック処理とを含む処理を意味する用語である。
・「復旧」とは、リビルドとコピーバックとを含む用語である。
・「リビルド処理」とは、リビルドを含んだ処理である。「リビルド」とは、全ての障害ストリップに対応したデータをそれぞれ複数のスペア領域に復元すること、つまり、コレクションコピーのことである。なお、「障害ストリップに対応したデータ」とは、典型的には、障害ストリップ内のデータであるが、障害ストリップ内のデータの更新後データも該当してもよい。また、問題ドライブが障害候補ドライブの場合、リビルドは、全ての障害候補ストリップ内のデータをそれぞれ複数のスペア領域に復元すること、つまり、ダイナミックスペアリングのことである。
・「コピーバック処理」とは、コピーバックを含んだ処理である。「コピーバック」とは、後述のデータコピー処理に相当する処理であり、スペア領域から交換後ドライブ内のストリップにデータをコピーすることである。本実施例では、交換後ドライブ内のストリップには、コピーバックによりデータが復元されることもあれば、コピーバックに代えてホストI/Oに従ってデータが復元されることもある。
・「データXX」とは、ストリップXX内のデータ(データ要素又はパリティ)のことである(XXは番号)。Hereinafter, the processing performed in this embodiment will be described by taking one
“Problem drive” is a drive in which a problem has occurred. “Problem” means a failure or a high possibility of occurrence of a failure. In this embodiment, the problem drive is a failed drive. A “failed drive” is a drive in which a failure has occurred. A “failure strip” is a strip in a failed drive. As another example of the problem drive, a failure candidate drive (a drive with a high possibility of failure) can be adopted. A strip in a failure candidate drive may be referred to as a “failure candidate strip”.
“Restoration” is a term that may be used to mean writing to a spare area in a drive or writing to a strip in a drive after replacement.
“Drive after replacement” is a drive that has been replaced with a problem drive.
“Recovery processing” is a term that means processing including rebuild processing and copy back processing.
“Recovery” is a term that includes rebuild and copyback.
“Rebuild process” is a process including a rebuild. “Rebuild” is to restore data corresponding to all fault strips to a plurality of spare areas, that is, collection copy. The “data corresponding to the failure strip” is typically data in the failure strip, but the data after updating the data in the failure strip may also correspond. When the problem drive is a failure candidate drive, rebuilding is to restore data in all failure candidate strips to a plurality of spare areas, that is, dynamic sparing.
“Copy back processing” is processing including copy back. “Copy back” is a process corresponding to a data copy process to be described later, and is to copy data from a spare area to a strip in a drive after replacement. In this embodiment, data may be restored to the strip in the drive after replacement by copy back, or data may be restored according to host I / O instead of copy back.
“Data XX” is data (data element or parity) in the strip XX (XX is a number).
図8は、復旧処理の流れを示す。復旧処理は、例えば、ドライブ124に障害(故障)が発生したことが、例えばCPU113(例えばリビルド処理プログラム302)により検出された場合に開始される。FIG. 8 shows the flow of recovery processing. The recovery process is started when, for example, the CPU 113 (for example, the rebuild process program 302) detects that a failure (failure) has occurred in the
リビルド処理プログラム302が、障害ドライブ124内のストリップにあるデータ(データ要素又はパリティ)と同一のデータを正常ディスク124のスペア領域に復元するリビルド処理を開始する(S801)。The
図9は、リビルド処理の詳細の一例を示す。FIG. 9 shows an example of the details of the rebuild process.
対象プール183内のドライブ00に障害が発生したとする。障害ドライブ00には、障害ストリップ0-1、2-2、1-1及び2-3がある。Suppose that a failure has occurred in the
リビルド処理プログラム302が、障害ドライブ00内のデータ0-1を、正常ドライブ05、06及び0B内のデータ0-1に基づいて、いずれかの正常ドライブ内のスペア領域、例えば、正常ドライブ01のスペア領域に復元する。リビルド処理プログラム302が、そのスペア領域の位置(ドライブ01の番号とスペア領域のアドレスとの組合せ)を、データ位置603として、対象プール183に対応した進捗管理テーブル307に追記する。Based on the data 0-1 in the normal drives 05, 06 and 0B, the
同様に、リビルド処理プログラム302は、障害ドライブ00内の他のデータ2-2、1-1及び2-3を、それぞれ、例えば、正常ドライブ02~04におけるスペア領域に復元し、且つ、それらのスペア領域の位置をそれぞれデータ位置603として進捗管理テーブル307に追記する。Similarly, the
このように、本実施例では、障害ドライブ内の複数のデータが、複数の正常ドライブのスペア領域にそれぞれ復元される。つまり、データの書込み先が、スペアドライブのように1つのドライブではなく、複数のドライブに分散している。このため、リビルド処理にかかる時間を短縮できることが期待される。Thus, in this embodiment, a plurality of data in the failed drive are restored to the spare areas of a plurality of normal drives, respectively. In other words, data write destinations are not distributed to a single drive like a spare drive, but are distributed to a plurality of drives. For this reason, it is expected that the time required for the rebuild process can be shortened.
図8に戻る。リビルド処理の最中又は完了後に、例えば保守員により、障害ドライブ124が交換される(S802)。Return to FIG. During or after the rebuild process, the failed
障害ドライブの交換が、例えばCPU113(例えばリビルド処理プログラム302)により検出された場合、リビルド処理プログラム302が、リビルド処理が完了しているか否かを判定する(S803)。リビルドが完了していない場合(S803:NO)には、リビルド処理プログラム302は、リビルド処理を継続する。一方、リビルド処理が完了している場合(S803:YES)には、リビルド処理プログラム302が、ドライブ交換完了サインを出力する(例えば、ストレージシステム102に設けられている所定のLED(Light Emitting Diode)を点灯する)(S804)。そのサインを見た者(例えば保守員)が、例えば、コピーバック処理の指示を、保守端末のような入出力インターフェース経由で、ストレージシステムに出す。When replacement of the failed drive is detected by, for example, the CPU 113 (for example, the rebuild process program 302), the
次いで、コピーバック処理プログラム303が、例えばコピーバック処理の指示に応答して(又はドライブ交換完了の検出に応答して)、コピーバック処理を実行する(S805)。Next, the
図10は、コピーバック処理の詳細の一例を示す。図10は、図8に示したリビルド処理の続きに相当する。FIG. 10 shows an example of details of the copyback process. FIG. 10 corresponds to the continuation of the rebuild process shown in FIG.
障害ドライブ00が交換され、且つ、リビルド処理が完了している場合に、コピーバック処理が開始される。コピーバック処理では、コピーバック処理プログラム303が、ドライブ01~04のスペア領域にあるデータ0-1、2-2、1-1及び2-3を、それぞれ、交換ドライブ00のストリップ0-1、2-2、1-1及び2-3にそれぞれ復元(コピー)する。When the failed
図11は、コピーバック処理の詳細の流れを示す。FIG. 11 shows the detailed flow of the copyback process.
コピーバック処理プログラム303が、対象プール183に対応した冗長度402を参照し、冗長度402が「0」であるか否かを判定する(S1101)。S1101の判定結果が真の場合(S1101:YES)、コピーバック処理プログラム303が、データコピー処理を実行する(S1105)。対象プール183のデータ保護の信頼性を高めるためである。なお、冗長度「0」は、冗長度の閾値の一例である。閾値は、0より大きくてもよい。また、S1105の実行の際、対象プール183に対応した状態403が「コピーバック中」でなければ、コピーバック処理プログラム303は、その状態403を「コピーバック中」に更新する。The
S1101の判定結果が偽の場合(S1101:NO)、コピーバック処理プログラム303が、対象プール183に対してホストI/Oが行われた最終時刻からの経過時間が、対象プール183に対応したI/O待ち時間502以上か否かを判定する(S1102)。S1102の判定結果が真の場合(S1102:YES)、コピーバック処理プログラム303が、データコピー処理を実行する(S1105)。ホストI/Oが行われていないが故にCPU113の負荷が比較的低く、その分、データコピー処理に使用することが効率的であると考えられるためである。If the determination result of S1101 is false (S1101: NO), the elapsed time from the last time when the
S1102の判定結果が偽の場合(S1102:NO)、コピーバック処理プログラム303が、対象プール183に対するホストI/O中のライトの割合が、対象プール183に対応したライト割合503未満であるか否かを判定する(S1103)。S1103の判定結果が真の場合(S1103:YES)、コピーバック処理プログラム303が、データコピー処理を実行する(S1105)。ライト割合が低ければ、コピーバック処理中の後述のライト処理において、ドライブ間のデータコピー無しに交換後ドライブ内のストリップにデータが復元されている可能性が低いためである。If the determination result in S1102 is false (S1102: NO), the
S1103の判定結果が偽の場合(S1103:NO)、コピーバック処理プログラム303が、対象プール183に関するCPU使用率が、対象プール183に対応したCPU使用率504未満であるか否かを判定する(S1104)。S1104の判定結果が真の場合(S1104:YES)、コピーバック処理プログラム303が、データコピー処理を実行する(S1105)。CPU113の負荷が比較的低く、その分、データコピー処理に使用することが効率的であると考えられるためである。When the determination result in S1103 is false (S1103: NO), the
S1104の判定結果が偽の場合(S1104:NO)、コピーバック処理プログラム303が、データコピー処理を停止する(S1106)。このとき、対象プール183に対応した状態403が「停止中」でなければ、コピーバック処理プログラム303は、その状態403を「停止中」に更新する。また、このとき、データコピー処理が既に停止の場合は(状態403が既に「停止中」の場合は)、S1106がスキップされてよい(すなわち、データコピー処理は停止したままとなる)。If the determination result in S1104 is false (S1104: NO), the
次いで、コピーバック処理プログラム303が、データコピー処理の停止時刻からの経過時間が、対象プール183に対応した判定待ち時間505以上か否かを判定する(S1107)。Next, the copy back processing
S1107の判定結果が真の場合(つまり、データコピー処理の停止から判定待ち時間505以上待った場合)(S1107:YES)、コピーバック処理プログラム303が、コピーバック処理が完了したか否かを判定する(S1108)。S1108の判定は、対象プール183に対応した進捗管理テーブル307において、交換後ドライブ内の全てのストリップに対応した完了フラグ602が「1」であるか否かの判定である。S1108の判定結果が偽の場合(S1108:NO)、ステップ1101に戻る。一方、S1108の判定結果が真の場合(S1108:YES)、コピーバック処理が終了となる。If the determination result in S1107 is true (that is, if the determination wait
S1101、S1102、S1103及びS1104は、判定の優先度が高い順である。異なる順序で判定が行われてよい。また、S1101~S1104のうちの少なくとも1つの判定結果が真の場合にデータコピー処理(S1105)が行われてもよいし、S1101~S1104のうち少なくとも1つの判定結果が偽の場合にデータコピー処理(S1105)が停止されてもよい。例えば、対象プール183の冗長度402が閾値(例えば「0」)より大きければ(S1101:NO)、他の判定の結果に関わらず、データコピー処理が停止されてもよい。また、例えば、対象プール183について、最終ホストI/Oからの経過時間がI/O待ち時間未満であれば(S1102:NO)、他の判定の結果に関わらず、データコピー処理が停止されてもよい。また、例えば、ライト割合がライト割合503以上(S1103:NO)であれば、他の判定の結果に関わらず、データコピー処理が停止されてもよい。S1101, S1102, S1103, and S1104 are in descending order of priority. The determination may be made in a different order. Further, the data copy process (S1105) may be performed when at least one determination result of S1101 to S1104 is true, or the data copy process when at least one determination result of S1101 to S1104 is false. (S1105) may be stopped. For example, if the
図12は、データコピー処理の詳細の流れを示す。FIG. 12 shows the detailed flow of the data copy process.
コピーバック処理プログラム303が、先頭アドレス管理テーブル308からデータコピーが未完了の先頭アドレスを特定する(S1201)。The
次いで、コピーバック処理プログラム303が、S1201で特定したアドレスと一致するアドレス601に対応したデータ位置603を特定する(S1202)。Next, the
次いで、コピーバック処理プログラム303が、S1202で特定したデータ位置603に従うスペア領域から、コピーバック処理対象データを、S1201で特定した先頭アドレスに従うストリップ(交換後ドライブ内のストリップ)にコピーする(S1203)。Next, the
次いで、コピーバック処理プログラム303が、そのコピー先のストリップに対応した完了フラグ602を「1」(完了)に更新し、且つ、先頭アドレス管理テーブル308における先頭アドレスを、完了フラグ602「0」に対応したアドレス601のうちの先頭のアドレスに更新する(S1204)。また、S1204において、対象プール183における複数のストライプにそれぞれ対応した複数の冗長度の最低値が高くなった場合、コピーバック処理プログラム303は、対象プール183に対応した冗長度402も更新する。Next, the
次いで、コピーバック処理プログラム303が、コピーバック処理が完了しているか否かを判定する(S1205)。この判定は、図11のS1108の判定と同じである。S1205の判定結果が真の場合(S1205:YES)、コピーバック処理が終了する。Next, the copy back processing
一方、S1205の判定結果が偽の場合(S1205:NO)、コピーバック処理プログラム303が、データコピー処理の開始時刻からの経過時間が、対象プール183に対応した判定待ち時間505以上か否かを判定する(S1206)。S1206の判定結果が偽の場合(S1206:NO)、処理がS1201に戻る(つまり、データコピー処理が継続する)。一方、S1206の判定結果が真の場合(S1206:YES)、処理がS1101に戻る(このとき、データコピー処理が一旦終了(停止)してもよい)。On the other hand, if the determination result in S1205 is false (S1205: NO), the copy back processing
図13は、コピーバック処理中のライト処理の一例を示す。FIG. 13 shows an example of write processing during copy back processing.
コピーバック処理中にライト要求をホスト101からホストI/O処理プログラム301が受信した場合、ホストI/O処理プログラム301は、そのライト要求に従うデータを、交換後ドライブ内のストリップに書き込む。結果として、交換後ドライブ内のストリップにデータが復元されたことになる。詳細は、例えば以下の通りである。When the host I /
コピーバック処理中に、交換後ドライブ00内のストリップ2-2をライト先としたライト要求をホストI/O処理プログラム301が受信した場合(S14-1)、ホストI/O処理プログラム301は、正常ドライブ01、06及び0Bの各々のストリップ2-2からデータ2-2を読み込む(S14-2)。次いで、ホストI/O処理プログラム301は、読み込んだ複数のデータ2-2と、ホスト101からの更新後データ2-2とからパリティを計算する(S14-3)。次いで、ホストI/O処理プログラム301は、更新後データ2-2を、交換後ドライブ00内のストリップ2-2へ書き込む(S14-4)。ホストI/O処理プログラム301は、書込み完了をホスト101へ応答する(S14-5)。また、ホストI/O処理プログラム301は、交換後ドライブ00内のライト先ストリップ2-2に対応した完了フラグ602が「0」であれば「1」に更新する(S14-6)。このように、コピーバック処理中にライト要求を受けた場合、そのライト要求の処理に便乗して、交換後ドライブ内のストリップにデータを復元することができる。When the host I /
図14は、コピーバック処理の進捗とライト処理とに応じた進捗管理テーブル307の遷移の一例を示す。図14では、進捗管理テーブル307は、模式的に(ビットマップとして)表現されている。アドレスの並びは、破線矢印の通りであるとする。FIG. 14 shows an example of the transition of the progress management table 307 according to the progress of the copyback process and the write process. In FIG. 14, the progress management table 307 is schematically expressed (as a bitmap). It is assumed that the addresses are arranged as indicated by broken arrows.
図14の左側のテーブル307によれば、コピーバック処理によって、1番目~8番目のストリップまでデータが復元されている(完了フラグ602は「1」となっている)。According to the table 307 on the left side of FIG. 14, data is restored from the first to eighth strips by the copy back process (the
その後、コピーバック処理中のライト処理の結果として、16番目及び20番目のストリップにデータが復元されたとする。この場合、図14の中央のテーブル307が示すように、コピー未完了の先頭アドレスは、9番目のストリップを指しているものの、16番目及び20番目のストリップに対応した完了フラグ602は「1」となる。Then, it is assumed that data is restored to the 16th and 20th strips as a result of the write process during the copyback process. In this case, as shown in the center table 307 of FIG. 14, the incomplete copy start address indicates the ninth strip, but the
その後、コピーバック処理が進むと、図14の右側のテーブル307が示すように、既に復元済みとなっている(完了フラグ602が「1」となっている)16番目のストリップのアドレスは、コピー未完了の先頭アドレスとされることからスキップされる。つまり、コピーバック処理において、ライト処理に便乗してデータが復元されたストリップについては、データコピー処理はスキップされる。このため、コピーバック処理の負荷が軽減する。Thereafter, when the copy back process proceeds, as shown in the table 307 on the right side of FIG. 14, the address of the 16th strip that has already been restored (the
本実施例を、下記のように総括することができる。なお、下記の総括では、上述の説明に無い事項が含まれていてもよいし、逆に上述の説明に存在する事項が含まれていなくてもよい。This example can be summarized as follows. In the following summary, matters not included in the above description may be included, and conversely, items existing in the above description may not be included.
分散RAID構成が採用される。スペアドライブが設けられることに代えて、各ドライブ124にスペア領域が設けられている。障害ドライブ内の複数のデータが、複数の正常ドライブのスペア領域にそれぞれ復元される。つまり、データの書込み先が、スペアドライブのように1つのドライブではなく、複数のドライブに分散している。このため、リビルド処理にかかる時間を短縮することができる。結果として、冗長度が低下している時間を短縮でき、且つ、I/O処理性能の低下を軽減することができる。A distributed RAID configuration is adopted. Instead of providing a spare drive, each drive 124 is provided with a spare area. A plurality of data in the failed drive are restored to spare areas of a plurality of normal drives, respectively. In other words, data write destinations are not distributed to a single drive like a spare drive, but are distributed to a plurality of drives. For this reason, the time required for the rebuild process can be shortened. As a result, the time during which the redundancy is reduced can be shortened, and the decrease in I / O processing performance can be reduced.
一比較例によれば、スペアドライブが採用され、リビルド処理での復元先がスペアドライブに集約される、つまり、障害ドライブ内の全てのデータがスペアドライブに復元されることになる。この場合、そのスペアドライブが障害ドライブに代わってグループのメンバーとなれば、ドライブ間のコピー無しにコピーバック処理が完了したように見せることができるコピーバックレスが期待できる。According to one comparative example, a spare drive is adopted, and the restoration destination in the rebuild process is aggregated into the spare drive, that is, all data in the failed drive is restored to the spare drive. In this case, if the spare drive becomes a member of the group in place of the failed drive, it is possible to expect copy backlessness that can make it appear that the copy back processing is completed without copying between the drives.
しかし、本実施例では、上述した分散RAID構成が採用されているため、コピーバックレスを実現することができない。However, in this embodiment, since the above-described distributed RAID configuration is adopted, copy backless cannot be realized.
そこで、本実施例では、ホストI/O処理プログラム301が、コピーバック処理中のライト処理(ホスト101からのライト要求に従う処理)において、交換後ドライブ内のストリップに、ライト要求従う更新後データを復元する。結果として、ライト処理に便乗して、交換後ドライブ内のストリップにデータが復元される。コピーバック処理では、その復元済みストリップについては、データコピー処理がスキップされる。このため、コピーバック処理の負荷が軽減する。結果として、I/O処理性能の低下を軽減することができる。Therefore, in this embodiment, the host I /
また、本実施例では、冗長度、ライト割合、及びCPU使用率に閾値が設けられ、コピーバック処理中の状況とそれらの閾値との比較の結果に応じて、データコピー処理の実行と停止が制御される。例えば、CPU113の負荷が低い(具体例として、ホストI/Oを一定時間受信していない、又は、CPU使用率が低い)場合、データコピー処理が実行される。また、ライト割合が高い場合、データコピー処理が停止される。コピーバック処理におけるデータコピー処理の実行と停止を、きめ細やかに制御することによって、ホストI/O処理性能の低下を抑えつつ、ドライブを復旧することができる。In this embodiment, thresholds are provided for the redundancy, the write ratio, and the CPU usage rate, and the execution and stop of the data copy processing are performed according to the comparison between the status during the copy back processing and those threshold values. Be controlled. For example, when the load on the
実施例2を説明する。その際、実施例1との相違点を主に説明し、実施例1との共通点については説明を省略又は簡略する。Example 2 will be described. At that time, differences from the first embodiment will be mainly described, and description of common points with the first embodiment will be omitted or simplified.
図15は、実施例2に係るコピーバック処理中のリード処理の一例を示す。FIG. 15 illustrates an example of read processing during copy back processing according to the second embodiment.
実施例2では、コピーバック処理中にリード要求をホスト101からホストI/O処理プログラム301が受信した場合、ホストI/O処理プログラム301は、そのリード要求に従うデータを、そのデータを格納しているスペア領域から読み込んでホスト101に返すと共に、そのデータを、交換後ドライブ内のストリップに書き込む。そのストリップに書き込まれたデータは、コピーバック処理対象のデータであり、結果として、交換後ドライブ内のストリップにデータが復元されたことになる。詳細は、例えば以下の通りである。In the second embodiment, when the host I /
コピーバック処理中に、例えば、交換後ドライブ00内のストリップ2-2をリード元としたリード要求をホストI/O処理プログラム301が受信する(S13-1)。ホストI/O処理プログラム301は、そのストリップ2-2のアドレス601に対応した完了フラグ602が「0」の場合、そのアドレス601に対応したデータ位置603に従うスペア領域(図15の例では、正常ドライブ02のスペア領域)からデータ2-2を読み込む(S13-2)。次いで、ホストI/O処理プログラム301は、読み込まれたデータ2-2をホスト101に返し(S13-3)、そのデータ2-2を、交換後ドライブ内のストリップ2-2へ書き込む。(S13-4)。ホストI/O処理プログラム301は、そのストリップ2-2に対応した完了フラグ602を「1」に更新する(S13-5)。During the copy back process, for example, the host I /
本実施例によれば、コピーバック処理中のリード処理に便乗して、交換後ドライブ内のストリップにコピーバック処理対象データを復元することができる。なお、そのストリップについても、データコピー処理はスキップされる。According to this embodiment, it is possible to restore the copy-back process target data to the strip in the drive after the replacement by taking advantage of the read process during the copy-back process. Note that the data copy process is also skipped for the strip.
なお、本実施例では、ライト割合503という閾値に代えて又は加えて、ホストI/O頻度の閾値が採用されてもよい。コピーバック処理プログラム303は、S1103の判定に代えて又は加えて、対象プール183に関するホストI/O頻度がその閾値未満か否かの判定(以下、判定A)を実行してよい。判定Aの結果が真の場合、コピーバック処理プログラム303は、データコピー処理を実行してよい。コピーバック処理中のホストI/O処理(ライト処理又はリード処理)に便乗してデータが交換後ドライブ内のストリップに復元されている可能性が低いためである。In this embodiment, a host I / O frequency threshold value may be employed instead of or in addition to the
また、本実施例では、ライト割合503及びホストI/O頻度閾値の少なくとも1つに代えて又は加えて、リード割合の閾値が採用されてもよい。コピーバック処理プログラム303は、S1103の判定と、上記の判定Aとのうちの少なくとも1つに代えて又は加えて、対象プール183のリード割合(対象プール183に関するホストI/Oに対するリード要求の割合)がリード割合(閾値)未満か否かの判定(以下、判定B)を実行してよい。判定Bの結果が真の場合、コピーバック処理プログラム303は、データコピー処理を実行してよい。コピーバック処理中のホストI/O処理(ライト処理又はリード処理)に便乗してデータが交換後ドライブ内のストリップに復元されている可能性が低いためである。In this embodiment, a read ratio threshold value may be used instead of or in addition to at least one of the
上述したS1101~S1104の判定、判定A及び判定Bの少なくとも1つが(例えば、少なくとも、S1103の判定、判定A及び判定Bのうちの少なくとも1つと、S1101の判定と、S1102又はS1104の判定とが)、データコピー処理の実行条件を満たすか否かの判定に含まれる。コピーバック処理プログラム303は、定期的に又は不定期的に、データコピー処理の実行条件を満たすか否かの判定を実行してよい。判定結果が真の場合、コピーバック処理プログラム303は、データコピー処理を実行(継続を含んでもよい)することができる。判定結果が偽の場合、コピーバック処理プログラム303は、データコピー処理を停止することができる。
以上、幾つかの実施例を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこの実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実行することが可能である。At least one of the determinations of S1101 to S1104, determination A, and determination B described above (for example, at least one of determination of S1103, determination A and determination B, determination of S1101, and determination of S1102 or S1104) ) Is included in the determination as to whether or not the execution condition of the data copy process is satisfied. The
Although several embodiments have been described above, these are examples for explaining the present invention, and are not intended to limit the scope of the present invention only to this embodiment. The present invention can be implemented in various other forms.
101…ホスト、102…ストレージシステム101 ... Host, 102 ... Storage system
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2017/007015WO2018154697A1 (en) | 2017-02-24 | 2017-02-24 | Storage system and recovery control method |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2017/007015WO2018154697A1 (en) | 2017-02-24 | 2017-02-24 | Storage system and recovery control method |
| Publication Number | Publication Date |
|---|---|
| WO2018154697A1true WO2018154697A1 (en) | 2018-08-30 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2017/007015CeasedWO2018154697A1 (en) | 2017-02-24 | 2017-02-24 | Storage system and recovery control method |
| Country | Link |
|---|---|
| WO (1) | WO2018154697A1 (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111124263A (en)* | 2018-10-31 | 2020-05-08 | 伊姆西Ip控股有限责任公司 | Method, electronic device, and computer program product for managing a plurality of discs |
| TWI709042B (en)* | 2018-11-08 | 2020-11-01 | 慧榮科技股份有限公司 | Method and apparatus for performing mapping information management regarding redundant array of independent disks, and associated storage system |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH08221217A (en)* | 1995-02-17 | 1996-08-30 | Hitachi Ltd | Disk array subsystem data reconstruction method |
| JP2005099995A (en)* | 2003-09-24 | 2005-04-14 | Fujitsu Ltd | Disk sharing method and system for magnetic disk device |
| JP2016038767A (en)* | 2014-08-08 | 2016-03-22 | 富士通株式会社 | Storage control device, storage control program, and storage control method |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH08221217A (en)* | 1995-02-17 | 1996-08-30 | Hitachi Ltd | Disk array subsystem data reconstruction method |
| JP2005099995A (en)* | 2003-09-24 | 2005-04-14 | Fujitsu Ltd | Disk sharing method and system for magnetic disk device |
| JP2016038767A (en)* | 2014-08-08 | 2016-03-22 | 富士通株式会社 | Storage control device, storage control program, and storage control method |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111124263A (en)* | 2018-10-31 | 2020-05-08 | 伊姆西Ip控股有限责任公司 | Method, electronic device, and computer program product for managing a plurality of discs |
| CN111124263B (en)* | 2018-10-31 | 2023-10-27 | 伊姆西Ip控股有限责任公司 | Method, electronic device and computer program product for managing a plurality of discs |
| TWI709042B (en)* | 2018-11-08 | 2020-11-01 | 慧榮科技股份有限公司 | Method and apparatus for performing mapping information management regarding redundant array of independent disks, and associated storage system |
| US11221773B2 (en) | 2018-11-08 | 2022-01-11 | Silicon Motion, Inc. | Method and apparatus for performing mapping information management regarding redundant array of independent disks |
| Publication | Publication Date | Title |
|---|---|---|
| US11163472B2 (en) | Method and system for managing storage system | |
| US10459814B2 (en) | Drive extent based end of life detection and proactive copying in a mapped RAID (redundant array of independent disks) data storage system | |
| US10656849B2 (en) | Storage system and control method thereof | |
| US9378093B2 (en) | Controlling data storage in an array of storage devices | |
| JP6009095B2 (en) | Storage system and storage control method | |
| TWI868358B (en) | Data storage system, storage device and method for operating storage device | |
| US8938582B2 (en) | Storage systems with reduced energy consumption | |
| US9400618B2 (en) | Real page migration in a storage system comprising a plurality of flash packages | |
| TWI886266B (en) | Method and system for data recovery, and storage array controller | |
| WO2011108027A1 (en) | Computer system and control method therefor | |
| US8812779B2 (en) | Storage system comprising RAID group | |
| CN111104055B (en) | Method, apparatus and computer program product for managing a storage system | |
| KR20210138502A (en) | System, method, and device for fault resilient storage | |
| US10579540B2 (en) | Raid data migration through stripe swapping | |
| CN111124262A (en) | Management method, apparatus and computer readable medium for Redundant Array of Independent Disks (RAID) | |
| US20150378629A1 (en) | Storage device and method for controlling storage device | |
| KR20210137922A (en) | Systems, methods, and devices for data recovery using parity space as recovery space | |
| US9400723B2 (en) | Storage system and data management method | |
| WO2018154697A1 (en) | Storage system and recovery control method | |
| US8880939B2 (en) | Storage subsystem and method for recovering data in storage subsystem | |
| US10025521B2 (en) | Obtaining additional data storage from another data storage system | |
| US20240329853A1 (en) | Data regeneration and storage in a raid storage system | |
| US20230214134A1 (en) | Storage device and control method therefor | |
| JP2005055963A (en) | Volume control method, program performing it, and storage device | |
| JP2019168952A (en) | Memory management device, memory management method, and program |
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application | Ref document number:17897750 Country of ref document:EP Kind code of ref document:A1 | |
| NENP | Non-entry into the national phase | Ref country code:DE | |
| 122 | Ep: pct application non-entry in european phase | Ref document number:17897750 Country of ref document:EP Kind code of ref document:A1 | |
| NENP | Non-entry into the national phase | Ref country code:JP |