JP2011008583A - Disk array controller and disk array device - Google Patents

Disk array controller and disk array device Download PDF

Info

Publication number
JP2011008583A
JP2011008583A JP2009152311A JP2009152311A JP2011008583A JP 2011008583 A JP2011008583 A JP 2011008583A JP 2009152311 A JP2009152311 A JP 2009152311A JP 2009152311 A JP2009152311 A JP 2009152311A JP 2011008583 A JP2011008583 A JP 2011008583A
Authority
JP
Japan
Prior art keywords
parity
storage device
data
stripe
parity data
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.)
Granted
Application number
JP2009152311A
Other languages
Japanese (ja)
Other versions
JP4843695B2 (en
Inventor
Shiro Nakase
史郎 中瀬
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.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions Corp
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 Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Priority to JP2009152311A priority Critical patent/JP4843695B2/en
Publication of JP2011008583A publication Critical patent/JP2011008583A/en
Application granted granted Critical
Publication of JP4843695B2 publication Critical patent/JP4843695B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To reduce the deterioration in I/O performance in reconfiguration in an RAID6.SOLUTION: Two or more first storage devices stores data. A second storage device stores a first parity calculated by a first calculation method. A third storage device stores a second parity calculated by a second calculation method. When the failure of the third storage device is detected, a parity replacement functioning part 212 calculates the second parity by the second calculation method from the data stored in the first storage device. The parity replacement functioning part 212 overwrites the calculated second parity in the second storage device. When the third storage device is replaced with a fourth storage device, the reconfiguration functioning part 213 writes the second parity read from the second storage device in the fourth storage device. The reconfiguration functioning part 213 calculates the first parity by the first calculation method from the data read from the first storage device, and writes it in the second storage device.

Description

本発明は、ディスクアレイ制御装置及びディスクアレイ装置に関する。   The present invention relates to a disk array control device and a disk array device.

一般的に、コンピュータ等に付随する記憶装置の対故障の信頼性を向上させる方法として、RAID(Redundant Arrays of Inexpensive Disks)が普及している。このRAIDは、幾つかのレベルが規格化されており、それぞれRAID0〜RAID6の名称がつけられている。   In general, RAID (Redundant Arrays of Inexpensive Disks) is widely used as a method for improving the reliability of a faulty storage device associated with a computer or the like. Several levels of this RAID are standardized, and names of RAID0 to RAID6 are given respectively.

これらのうち、信頼性向上のためによく用いられてきたのがRAID1及びRAID5である。   Of these, RAID 1 and RAID 5 have been frequently used to improve reliability.

RAID1は、2台のHDD(Hard Disk Drive)を1組として用いてデータを完全に2重化する方法であり、ミラーリングと呼ばれる。RAID1は、信頼性が高く、RAID5等において用いられるパリティ(データ)の計算等を要しない単純さのため、高速な処理が可能である。その一方で、RAID1は、利用できる実効容量が物理容量の半分になる。   RAID 1 is a method of completely duplicating data using two HDDs (Hard Disk Drives) as one set, and is called mirroring. RAID 1 is highly reliable and can be processed at high speed because it does not require calculation of parity (data) used in RAID 5 or the like. On the other hand, in RAID1, the available effective capacity is half of the physical capacity.

RAID5は、n(nは、3以上の整数)台のHDDを1組として、当該n台のHDDのうち、(n−1)台にデータ(データブロック)を格納(保存)し、残りの1台に当該データブロックのパリティを格納する方法である。このパリティは、当該パリティが格納されるHDD以外のHDDに格納されているデータから計算される。このパリティを用いることによって、例えばn台のHDDのうちの1台が故障した場合であっても当該HDDに格納されていたデータブロックを復元(再計算)することが可能となる。   RAID 5 stores (saves) data (data blocks) in (n−1) of the n HDDs, where n (n is an integer of 3 or more) HDDs as a set, and the remaining In this method, the parity of the data block is stored in one unit. This parity is calculated from data stored in HDDs other than the HDD in which the parity is stored. By using this parity, for example, even if one of the n HDDs fails, it is possible to restore (recalculate) the data block stored in the HDD.

RAID5では、利用できる実効容量は物理容量に対して(n−1)/nであるため、上記したRAID1と比較してより多くの領域を利用できる。その一方で、RAID5は、データを書き込む際に全てのHDDからデータブロックを読み出し、パリティを計算する必要があるため、ライト処理(書き込み)が低速になる場合がある。実質的には、パリティの計算自体は単純なXOR演算(排他的論理和)であるため影響は小さいが、当該パリティを計算するために全てのHDDからデータブロックを読み出さなければならないことがライト処理の低速化の主な原因となる場合が多い。   In RAID5, the effective capacity that can be used is (n-1) / n with respect to the physical capacity, so that more areas can be used compared to RAID1 described above. On the other hand, RAID5 needs to read data blocks from all HDDs and calculate parity when writing data, and thus write processing (writing) may be slow. In practice, the calculation of parity itself is a simple XOR operation (exclusive OR), so the influence is small, but it is a write process that data blocks must be read from all HDDs in order to calculate the parity. It is often the main cause of slowing down.

更に、近年では、上記した1つのパリティを用いるRAID5(シングルパリティ)とは異なり、2つのパリティを用いるRAID6(ダブルパリティ)も徐々に普及している。   Furthermore, in recent years, unlike RAID 5 (single parity) using one parity, RAID 6 (double parity) using two parities has gradually become widespread.

このRAID6は、m(mは、4以上の整数)台のHDDを1組として、m個のHDDのうち(m−2)個にデータ(データブロック)を格納し、残りの2台のHDDのうちの一方にはRAID5と同様のパリティ(XORパリティ)、他方には当該XORパリティとは独立するパリティを格納する方法である。この方法によれば、m台のHDDのうち、任意の2台のHDDが故障した場合であってもデータを完全に復元することができる。   RAID 6 stores data (data blocks) in (m-2) of m HDDs, with m (m is an integer of 4 or more) HDDs as a set, and the remaining two HDDs. One of these is a method of storing parity (XOR parity) similar to RAID5 and the other is storing a parity independent of the XOR parity. According to this method, even if any two HDDs out of the m HDDs fail, data can be completely restored.

以下、RAID6において用いられる2つのパリティのうち、RAID5と同様のXORパリティをPパリティ、RAID6に固有のパリティ(つまり、XORパリティとは独立するパリティ)をQパリティと称する。ここでは、2つのXORパリティを用いる2D−XOR方式のRAID6については想定していない。   Hereinafter, of the two parities used in RAID 6, the XOR parity similar to RAID 5 is referred to as P parity, and the parity specific to RAID 6 (that is, parity independent of XOR parity) is referred to as Q parity. Here, 2D-XOR RAID 6 using two XOR parities is not assumed.

ところで、上記したQパリティは、Pパリティとは数学的に独立な意味を持つ必要がある。すなわち、(m−2)台のHDDに格納されているデータブロック及び2つのパリティからなる2元連立方程式が必ず解を持つ必要がある。   By the way, the above-described Q parity needs to have a mathematically independent meaning from the P parity. That is, a binary simultaneous equation consisting of data blocks and two parities stored in (m−2) HDDs must have a solution.

また、現実的な要求として、計算されたパリティ(P及びQ)の値の範囲は、各データブロックの値の範囲と同じである必要がある。すなわち、(m−2)台のHDDに格納されている例えば1バイトのデータブロックからは、1バイトのパリティが生成(計算)される必要がある。   As a practical requirement, the range of the calculated parity (P and Q) values needs to be the same as the value range of each data block. That is, a 1-byte parity needs to be generated (calculated) from, for example, a 1-byte data block stored in (m−2) HDDs.

このような事情から、Qパリティは、通常の算術四則演算では実現(計算)することができない。   For this reason, Q parity cannot be realized (calculated) by normal arithmetic four arithmetic operations.

したがって、現実のRAID6では、ガロア体と呼ばれる演算空間を定義することによって、このような要求を全て満たすQパリティの計算を実現している。ガロア体での四則演算は一般的なプロセッサが有している算術四則演算回路では計算することができない。このため、四則演算テーブルをメモリ等に保持しておき、当該四則演算テーブルを参照することでQパリティを計算するのが一般的である。   Therefore, in the actual RAID 6, the calculation of Q parity satisfying all such requirements is realized by defining an operation space called a Galois field. The four arithmetic operations in the Galois field cannot be calculated by the arithmetic four arithmetic operation circuit of a general processor. For this reason, it is common to store the four arithmetic operation tables in a memory or the like and calculate the Q parity by referring to the four arithmetic operation tables.

上記したように、Qパリティの計算は複雑であるため、Pパリティの計算と比較して多くの処理時間を要する。しかしながら、通常の書き込み処理(動作)時においては、HDDへの書き込み時間がQパリティの計算時間と比較して十分に長いため、例えばメモリキャッシュがある場合にその応答が多少遅くなる程度であって、大きな問題となることはない。   As described above, since the calculation of Q parity is complicated, it takes much processing time compared with the calculation of P parity. However, during normal write processing (operation), the write time to the HDD is sufficiently longer than the Q parity calculation time, so that, for example, when there is a memory cache, the response is somewhat slow. , It will not be a big problem.

上記したRAID6に関する技術として、RAID6を構成する複数のディスク装置の中の1台のディスク装置が故障状態にあっても、整合性確認で不整合が検出された場合には、データ不正箇所を特定することが可能な技術(以下、先行技術と表記)が開示されている(例えば、特許文献1を参照)。この先行技術によれば、データライト抜けによるデータ不正がセクタ冗長領域に記録されたタイムスタンプ及びビットマップデータを使って検出される。   As a technology related to RAID6, if an inconsistency is detected in the consistency check even if one of the multiple disk devices that make up RAID6 is in a failed state, the data illegal location is identified. Techniques that can be performed (hereinafter referred to as prior art) are disclosed (see, for example, Patent Document 1). According to this prior art, data fraud due to missing data write is detected using the time stamp and bitmap data recorded in the sector redundancy area.

特開2008−71297号公報JP 2008-71297 A

ところで、RAIDを構成するHDDが故障した場合、当該故障したHDD(以下、故障HDDと表記)を新たなHDD(以下、新HDDと表記)に交換することにより、再びRAIDを構成できるように運用される。この場合、故障HDDに格納されていたデータまたはパリティを新HDDに復旧する作業(以下、再構成と表記)が必要となる。   By the way, when an HDD constituting a RAID fails, the RAID can be configured again by replacing the failed HDD (hereinafter referred to as a failed HDD) with a new HDD (hereinafter referred to as a new HDD). Is done. In this case, work (hereinafter referred to as reconfiguration) for restoring data or parity stored in the failed HDD to the new HDD is required.

この再構成は、残存するHDD(故障したHDD以外のHDD)に格納されているデータブロック及びパリティから新HDDに書き込むデータまたはパリティを再計算する動作である。このため、再構成には非常に長時間を要し、多くの計算機資源(例えば、CPUパワー及びメモリ領域等)を使用することになる。   This reconfiguration is an operation of recalculating data or parity to be written to the new HDD from the data blocks and parity stored in the remaining HDD (HDD other than the failed HDD). For this reason, reconfiguration takes a very long time, and many computer resources (for example, CPU power and memory area) are used.

特に、上記したRAID6における再構成では、故障HDDにQパリティが格納されていた場合、当該Qパリティを再計算する必要がある。上述したようにQパリティの計算には多くの処理時間を要するため、上記したRAID1及び5における再構成と比較して更に多くの計算機資源を必要とすることになり、I/O性能に更に悪影響を及ぼすことになる。つまり、RAID6における再構成は、RAID1及び5と比較して、I/O性能の低下が大きい。   In particular, in the above-described reconstruction in RAID 6, when the Q parity is stored in the failed HDD, it is necessary to recalculate the Q parity. As described above, since the calculation of Q parity requires a lot of processing time, more computer resources are required as compared with the above-described reconstruction in RAID 1 and 5, and the I / O performance is further adversely affected. Will be affected. That is, the reconstruction in RAID 6 has a large decrease in I / O performance compared to RAID 1 and 5.

したがって、例えばデータのリアルタイム配信用のサーバのような、利用者に対して一定以上の性能を提供することを要するシステムにおいては、RAID6における再構成時のI/O性能の低下を軽減することが必要となる。   Therefore, in a system that needs to provide a certain level of performance to the user, such as a server for real-time data distribution, it is possible to reduce a decrease in I / O performance during reconfiguration in RAID 6. Necessary.

そこで、本発明の目的は、RAID6における再構成時のI/O性能の低下を軽減することを可能とするディスクアレイ制御装置及びディスクアレイ装置を提供することにある。   Accordingly, an object of the present invention is to provide a disk array control device and a disk array device that can alleviate a decrease in I / O performance during reconfiguration in RAID6.

本発明の1つの態様によれば、データを格納する2台以上の第1の記憶装置と、前記第1の記憶装置に格納されているデータを復元するために用いられる第1のパリティデータであって、当該第1の記憶装置に格納されているデータから第1の計算方法によって計算される第1のパリティデータを格納する第2の記憶装置と、前記第1の記憶装置に格納されているデータを復元するために用いられる前記第1のパリティデータとは異なる第2のパリティデータであって、当該第1の記憶装置に格納されているデータから前記第1の計算方法より複雑な第2の計算方法によって計算される第2のパリティデータを格納する第3の記憶装置と接続されるディスクアレイ制御装置が提供される。このディスクアレイ制御装置は、前記第3の記憶装置が故障した場合に、当該第3の記憶装置の故障を検出する検出手段と、前記第3の記憶装置の故障が検出された場合、前記第1の記憶装置に格納されているデータから前記第2の計算方法によって第2のパリティデータを計算する第1の計算手段と、前記第1の計算手段によって計算された第2のパリティデータを、前記第2の記憶装置に格納されている第1のパリティデータに上書きする上書き手段と、前記故障が検出された第3の記憶装置が第4の記憶装置に交換された場合、前記第1の記憶装置に格納されているデータ及び前記第2の記憶装置に上書きされた第2のパリティデータを読み出す読み出し手段と、前記第2の記憶装置から読み出された第2のパリティデータを前記第4の記憶装置に書き込む第1の書き込み手段と、前記第1の記憶装置から読み出されたデータから前記第1の計算方法によって第1のパリティデータを計算する第2の計算手段と、前記第2の計算手段によって計算された第1のパリティデータを前記第2の記憶装置に書き込む第2の書き込み手段とを具備する。   According to one aspect of the present invention, two or more first storage devices that store data, and first parity data that is used to restore the data stored in the first storage device. A second storage device for storing first parity data calculated by the first calculation method from data stored in the first storage device, and the second storage device stored in the first storage device. Second parity data that is different from the first parity data used to restore the data stored in the first storage device, and is more complicated than the first calculation method from the data stored in the first storage device. A disk array controller connected to a third storage device that stores second parity data calculated by the second calculation method is provided. When the third storage device fails, the disk array control device detects a failure of the third storage device, and when a failure of the third storage device is detected, the disk array control device First calculation means for calculating second parity data from the data stored in one storage device by the second calculation method, and second parity data calculated by the first calculation means, When the overwriting means for overwriting the first parity data stored in the second storage device and the third storage device in which the failure is detected are replaced with a fourth storage device, the first storage device Read means for reading data stored in the storage device and second parity data overwritten in the second storage device; and second parity data read from the second storage device in the fourth First writing means for writing to the storage device; second calculation means for calculating first parity data from the data read from the first storage device by the first calculation method; and Second writing means for writing the first parity data calculated by the calculating means to the second storage device.

本発明は、RAID6における再構成時のI/O性能の低下を軽減することを可能とする。   The present invention makes it possible to reduce a decrease in I / O performance during reconfiguration in RAID6.

本発明の実施形態に係るディスクアレイ装置の構成を示すブロック図。1 is a block diagram showing a configuration of a disk array device according to an embodiment of the present invention. 図1に示すRAIDコントローラ20の主として機能構成を示すブロック図。FIG. 2 is a block diagram mainly showing a functional configuration of a RAID controller 20 shown in FIG. 1. 図1に示すHDD30-1、30-2、…、30-6上における置換完了情報を格納できる領域301について説明するための図。The figure for demonstrating the area | region 301 which can store the replacement completion information on HDD30-1, 30-2, ..., 30-6 shown in FIG. 図1に示すディスクアレイ装置10が有するHDD30-1、30-2、…、30-6のデータ構造の一例を示す図。FIG. 6 is a diagram showing an example of a data structure of HDDs 30-1, 30-2,..., 30-6 included in the disk array device 10 shown in FIG. HDD30-1、30-2、…、30-6のうちの1台の故障が検出された場合のRAIDコントローラ20の処理手順を示すフローチャート。10 is a flowchart showing a processing procedure of the RAID controller 20 when a failure of one of the HDDs 30-1, 30-2,..., 30-6 is detected. パリティ置換処理の処理手順を示すフローチャート。The flowchart which shows the process sequence of a parity replacement process. 1台呼称時I/O処理の処理手順を示すフローチャート。The flowchart which shows the process sequence of I / O process at the time of 1 unit call. 再構成処理の処理手順を示すフローチャート。The flowchart which shows the process sequence of a reconstruction process. ストライプ再構成処理の処理手順を示すフローチャート。The flowchart which shows the process sequence of a stripe reconstruction process. HDD30-1、30-2、…、30-6のうちの1台の故障が検出された場合のRAIDコントローラ20の動作について具体的に説明するための図。The figure for demonstrating concretely operation | movement of the RAID controller 20 when failure of one of HDD30-1, 30-2, ..., 30-6 is detected.

以下、図面を参照して、本発明の実施形態について説明する。   Embodiments of the present invention will be described below with reference to the drawings.

図1は、本実施形態に係るディスクアレイ装置の構成を示すブロック図である。図1に示すように、ディスクアレイ装置10は、RAIDコントローラ(ディスクアレイ制御装置)20及び4台以上のハードディスクドライブ(HDD:Hard Disk Drive)30-1、30-2、…、30-k(kは、4以上の整数)を有する。以下の説明では、ディスクアレイ装置10は、6台のHDD(つまり、HDD30-1、30-2、…、30-6)を有しているものとして説明する。   FIG. 1 is a block diagram showing the configuration of the disk array device according to the present embodiment. As shown in FIG. 1, the disk array device 10 includes a RAID controller (disk array control device) 20 and four or more hard disk drives (HDDs) 30-1, 30-2,. k is an integer of 4 or more. In the following description, the disk array device 10 will be described as having six HDDs (that is, HDDs 30-1, 30-2,..., 30-6).

RAIDコントローラ20は、外部から送信されるI/O要求(ライト要求またはリード要求)を取得し、当該I/O要求に応じてHDD30-1、30-2、…、30-6に対するデータのライト/リード処理を実行する。   The RAID controller 20 acquires an I / O request (write request or read request) transmitted from the outside, and writes data to the HDDs 30-1, 30-2,..., 30-6 according to the I / O request. / Execute read processing.

本実施形態においては、RAIDコントローラ20は、ハードウェアとして存在するものとする。具体的には、PCI-Express上のRAIDカードのような形式である。RAIDコントローラ20は、独立したRAIDコントローラプロセッサ21及びRAIDコントローラメモリ22を有する。RAIDコントローラメモリ22には、RAIDコントローラプロセッサ21によって実行されるプログラム(RAIDプログラム)が格納されている。RAIDコントローラプロセッサ21は、RAIDコントローラメモリ22に格納されているRAIDプログラムを実行することによってRAID機能を実現する。   In the present embodiment, it is assumed that the RAID controller 20 exists as hardware. Specifically, the format is a RAID card on PCI-Express. The RAID controller 20 includes an independent RAID controller processor 21 and a RAID controller memory 22. The RAID controller memory 22 stores a program (RAID program) executed by the RAID controller processor 21. The RAID controller processor 21 implements a RAID function by executing a RAID program stored in the RAID controller memory 22.

なお、RAIDコントローラメモリ22には、応答性を向上するためにデータキャッシュが実装されていても構わない。   Note that a data cache may be mounted in the RAID controller memory 22 in order to improve responsiveness.

ディスクアレイ装置10が有するHDD30-1、30-2、…、30-6は、例えばRAID(Redundant Arrays of Inexpensive Disks)6を構成する。   The HDDs 30-1, 30-2,..., 30-6 included in the disk array device 10 constitute, for example, a RAID (Redundant Array of Inexpensive Disks) 6.

このRAID6においては、HDD30-1、30-2、…、30-6のうちの4台のHDD(第1の物理記憶装置)にデータ(データブロック)が格納され、残りの2台のうちの一方のHDD(第2の物理記憶装置)には当該データブロックからXOR演算(第1の計算方法)によって計算される第1のパリティデータ(以下、Pパリティと表記)、他方のHDD(第3の物理記憶装置)には当該Pパリティとは独立する第2のパリティデータ(以下、Qパリティと表記)が格納される。Qパリティは、Pパリティとは数学的に独立な意味を持ち、ガロア演算(第2の計算方法)によって計算される。ガロア演算は、ガロア体と呼ばれる演算空間を定義することによって実現され、例えば予め用意された四則演算テーブルを参照することによって計算される。なお、ガロア演算は、上記したXOR演算より複雑な計算方法であり、当該XOR演算と比較してより多くの処理時間(処理量)を要する。   In this RAID 6, data (data block) is stored in four HDDs (first physical storage devices) out of the HDDs 30-1, 30-2,. One HDD (second physical storage device) includes first parity data (hereinafter referred to as P parity) calculated from the data block by an XOR operation (first calculation method), and the other HDD (third The second physical storage device) stores second parity data independent of the P parity (hereinafter referred to as Q parity). The Q parity has a mathematically independent meaning from the P parity, and is calculated by a Galois operation (second calculation method). The Galois operation is realized by defining an operation space called a Galois field, and is calculated by referring to, for example, a four arithmetic operation table prepared in advance. The Galois operation is a more complicated calculation method than the above XOR operation, and requires more processing time (processing amount) than the XOR operation.

ここでは、ディスクアレイ装置10が6台のHDDを有するため、そのうちの4台のHDDにデータ(Pパリティ及びQパリティ以外のデータ)が格納されるが、RAID6においては、2台以上のHDDに当該データが格納されている必要がある。   Here, since the disk array device 10 has six HDDs, data (data other than P parity and Q parity) is stored in four of the HDDs, but in RAID 6, two or more HDDs are stored. The data needs to be stored.

また、HDD30-1、30-2、…、30-6のうちの4台のHDDに格納されているデータブロック、当該データブロックから計算されるPパリティ及びQパリティ(の組)はストライプと呼ばれる。HDD30-1、30-2、…、30-6は、複数のストライプを有する。   Further, data blocks stored in four HDDs among the HDDs 30-1, 30-2,..., 30-6, and P parity and Q parity (a set) calculated from the data blocks are called stripes. . The HDDs 30-1, 30-2,..., 30-6 have a plurality of stripes.

なお、本実施形態においては、2つのXORパリティを用いる2D−XOR方式のRAID6については想定していない。   In the present embodiment, 2D-XOR RAID 6 using two XOR parities is not assumed.

図2は、図1に示すRAIDコントローラ20の主として機能構成を示すブロック図である。図2に示すように、RAIDコントローラ20は、RAID機能部211、パリティ置換機能部212及び再構成機能部212を含む。本実施形態において、これらの各部211〜213は、図1に示すRAIDコントローラプロセッサ21がRAIDコントローラメモリ22に格納されているRAIDプログラムを実行することにより実現されるものとする。このRAIDプログラムは、コンピュータ読み取り可能な記憶媒体に予め格納して頒布可能である。また、このRAIDプログラムが、例えばネットワークを介してコンピュータ10にダウンロードされても構わない。   FIG. 2 is a block diagram mainly showing a functional configuration of the RAID controller 20 shown in FIG. As shown in FIG. 2, the RAID controller 20 includes a RAID function unit 211, a parity replacement function unit 212, and a reconfiguration function unit 212. In the present embodiment, these units 211 to 213 are realized by the RAID controller processor 21 illustrated in FIG. 1 executing a RAID program stored in the RAID controller memory 22. This RAID program can be stored in advance in a computer-readable storage medium and distributed. The RAID program may be downloaded to the computer 10 via a network, for example.

また、RAIDコントローラ20は、置換完了情報格納部221を含む。本実施形態において、置換完了情報格納部221は、RAIDコントローラメモリ22に格納される。   The RAID controller 20 also includes a replacement completion information storage unit 221. In this embodiment, the replacement completion information storage unit 221 is stored in the RAID controller memory 22.

RAID機能部211は、RAID6を構成するHDD30-1、30-2、…、30-6のうちの1台が故障した場合に、当該故障を検出する。HDD30-1、30-2、…、30-6のうちの1台の故障が検出されると、RAID機能部211は、RAIDコントローラ21と接続されているモニタまたはブザーのようなI/O装置(図示せず)を介して当該故障をユーザに通知する。これにより、ユーザは、HDD30-1、30-2、…、30-6のうちの1台が故障したことを認識し、適当な時期に当該故障したHDDを交換できる。   The RAID function unit 211 detects the failure when one of the HDDs 30-1, 30-2,. When a failure of one of the HDDs 30-1, 30-2,..., 30-6 is detected, the RAID function unit 211 displays an I / O device such as a monitor or buzzer connected to the RAID controller 21. The failure is notified to the user via (not shown). As a result, the user can recognize that one of the HDDs 30-1, 30-2,..., 30-6 has failed, and can replace the failed HDD at an appropriate time.

また、RAID機能部211は、後述するような通常のRAIDコントローラの機能を有する。   The RAID function unit 211 has a function of a normal RAID controller as will be described later.

パリティ置換機能部212は、RAID機能部211によって故障が検出された場合、RAID6を構成するHDD30-1、30-2、…、30-6が有するストライプ(HDD30-1、30-2、…、30-6のストライプ)毎にパリティ置換処理を実行する。パリティ置換処理においては、故障が検出されたHDDにQパリティが格納されていたストライプ(つまり、Qパリティが欠損したストライプ)に対して、当該ストライプの各データブロックからガロア演算によりQパリティが再計算される。このQパリティは、Qパリティが欠損したストライプにおいてPが格納されている位置に上書きされる。なお、各ストライプに対してパリティ置換処理が実行されると、当該ストライプについてパリティ置換処理が完了した旨(つまり、パリティ置換処理が完了したストライプ)を示す情報(置換完了情報)が置換完了情報格納部221に格納される。   When a failure is detected by the RAID function unit 211, the parity replacement function unit 212 has stripes (HDDs 30-1, 30-2,..., 30-6 included in the HDDs 30-1, 30-2,. Parity replacement processing is executed every 30-6 stripes). In the parity replacement process, Q parity is recalculated by Galois operation from each data block of the stripe for the stripe in which Q parity was stored in the HDD where the failure was detected (that is, the stripe in which Q parity was lost) Is done. The Q parity is overwritten at the position where P is stored in the stripe where the Q parity is lost. When parity replacement processing is executed for each stripe, information (replacement completion information) indicating that parity replacement processing has been completed for that stripe (that is, the stripe for which parity replacement processing has been completed) is stored in the replacement completion information. Stored in the unit 221.

再構成機能部213は、RAID機能部211によって故障が検出されたHDD(HDD30-1、30-2、…、30-6のうちの1台)がユーザによって交換され、RAID6の再構成が指示された場合、ストライプ毎に再構成処理(ストライプ再構成処理)を実行する。   The reconfiguration function unit 213 replaces the HDD (one of the HDDs 30-1, 30-2,..., 30-6) in which a failure is detected by the RAID function unit 211 by the user, and instructs to reconfigure RAID 6. If so, a reconstruction process (stripe reconstruction process) is executed for each stripe.

再構成機能部213は、パリティ置換処理が実行されたストライプに対しては、交換されたHDD(新HDD)以外のHDDからデータブロック及びQパリティを読み出す。再構成機能部213は、読み出されたQパリティを交換された新HDDに書き込む。   The reconfiguration function unit 213 reads the data block and Q parity from the HDD other than the replaced HDD (new HDD) for the stripe on which the parity replacement process has been executed. The reconfiguration function unit 213 writes the read Q parity in the replaced new HDD.

また、再構成機能部213は、読み出されたデータブロックからXOR演算によりPパリティを計算し、当該計算されたPパリティを本来のPパリティが格納される位置(つまり、Qパリティが上書きされていた位置)に書き込む。   Further, the reconstruction function unit 213 calculates a P parity from the read data block by an XOR operation, and the calculated P parity is stored in the position where the original P parity is stored (that is, the Q parity is overwritten). To the position).

置換完了情報格納部221には、上記したように各ストライプについてパリティ置換処理が完了した旨を示す情報(置換完了情報)が格納される。置換完了情報格納部221には、HDD30-1、30-2、…、30-6のストライプ毎に例えば1ビットの判定フラグが置換完了情報として格納される。これにより、パリティ置換処理が完了したストライプを認識できる。   The replacement completion information storage unit 221 stores information indicating that the parity replacement processing has been completed for each stripe as described above (replacement completion information). In the replacement completion information storage unit 221, for example, a 1-bit determination flag is stored as replacement completion information for each stripe of the HDDs 30-1, 30-2,. As a result, it is possible to recognize a stripe for which parity replacement processing has been completed.

なお、パリティ置換処理を順次に行う場合、当該パリティ置換処理が完了したストライプのアドレス(置き換え完了アドレス)のみを格納する構成であっても構わない。これによれば、置き換え完了アドレスに該当するストライプまでパリティ置換処理が完了している旨が示される。   When the parity replacement process is performed sequentially, only the address of the stripe (replacement completion address) for which the parity replacement process has been completed may be stored. This indicates that the parity replacement processing has been completed up to the stripe corresponding to the replacement completion address.

また、ディスクアレイ装置10を含むシステムが一旦シャットダウンされるような場合があるため、RAIDコントローラメモリ22上の置換完了情報格納部221以外にも置換完了情報を格納できる領域を用意しておくことが好ましい。具体的には、図3に示すように、例えばHDD30-1、30-2、…、30-6上に、置換完了情報を格納できる領域301を用意しておく構成であってもよい。   In addition, since the system including the disk array device 10 may be temporarily shut down, it is possible to prepare an area for storing replacement completion information in addition to the replacement completion information storage unit 221 on the RAID controller memory 22. preferable. Specifically, as shown in FIG. 3, for example, an area 301 that can store replacement completion information may be prepared on the HDDs 30-1, 30-2,..., 30-6.

図3に示す例では、置換完了情報を格納できる領域301は、HDD30-1、30-2、…、30-6のうちのHDD30-1、30-2及び30-3に設けられている。すなわち、置換完了情報は、HDD30-1、30-2、…、30-6のうちの例えば2台までの故障に耐えられるように3つのHDD(ここでは、HDD30-1、30-2及び30-3)に格納されている。また、置換完了情報自体に対してRAID6を適用して、HDD30-1、30-2、…、30-6のうちの2台までの故障に耐えられるようにしても構わない。   In the example shown in FIG. 3, the area 301 in which the replacement completion information can be stored is provided in the HDDs 30-1, 30-2, and 30-3 among the HDDs 30-1, 30-2,. That is, the replacement completion information includes three HDDs (here, HDDs 30-1, 30-2 and 30) so as to withstand, for example, up to two of the HDDs 30-1, 30-2,. -3). Further, RAID 6 may be applied to the replacement completion information itself so that it can withstand failure of up to two of the HDDs 30-1, 30-2,.

なお、図3に示す置換完了情報を格納できる領域301は、上記したHDD30-1、30-2、…、30-6が有する複数のストライプ(つまり、データブロック、Pパリティ及びQパリティ)の領域とは異なる領域である。   Note that the area 301 in which the replacement completion information shown in FIG. 3 can be stored is an area of a plurality of stripes (that is, data blocks, P parity and Q parity) included in the HDDs 30-1, 30-2,. This is a different area.

ここで、図4を参照して、図1に示すディスクアレイ装置10が有するHDD30-1、30-2、…、30-6のデータ構造の一例を示す。HDD30-1、30-2、…、30-6には、データブロック、Pパリティ及びQパリティが格納される。また、HDD30-1、30-2、…、30-6は、複数のストライプ(4つのデータブロック、Pパリティ及びQパリティの組)を有する。以下の説明においては、HDD30-1、30-2、…、30-6における1番目のストライプをストライプ番号1のストライプと称する。2番目以降のストライプについても同様である。   Here, with reference to FIG. 4, an example of the data structure of the HDDs 30-1, 30-2,..., 30-6 included in the disk array device 10 shown in FIG. Data blocks, P parity, and Q parity are stored in the HDDs 30-1, 30-2,..., 30-6. The HDDs 30-1, 30-2,..., 30-6 have a plurality of stripes (a set of four data blocks, P parity and Q parity). In the following description, the first stripe in the HDDs 30-1, 30-2,. The same applies to the second and subsequent stripes.

図4において、Dijは、ストライプ番号iのストライプにおけるj個目のデータブロックを示す。Piは、ストライプ番号iのストライプにおけるPパリティを示す。Qiは、ストライプ番号iのストライプにおけるQパリティを示す。   In FIG. 4, Dij indicates the jth data block in the stripe with the stripe number i. Pi indicates the P parity in the stripe with the stripe number i. Qi indicates the Q parity in the stripe with the stripe number i.

図4に示す例では、ストライプ番号1のストライプにおいては、HDD30-1にD11、HDD30-2にD12、HDD30-3にD13、HDD30-4にD14、HDD30-5にP1、HDD30-6にQ1が格納されている。   In the example shown in FIG. 4, in the stripe of stripe number 1, D11 for HDD 30-1, D12 for HDD 30-2, D13 for HDD 30-3, D14 for HDD 30-4, P1 for HDD 30-5, Q1 for HDD 30-6. Is stored.

また、ストライプ番号2のストライプにおいては、HDD30-1にQ2、HDD30-2にD21、HDD30-3にD22、HDD30-4にD23、HDD30-5にD24、HDD30-6にP1が格納されている。   In the stripe with the stripe number 2, Q2 is stored in the HDD 30-1, D21 is stored in the HDD 30-2, D22 is stored in the HDD 30-3, D23 is stored in the HDD 30-4, D24 is stored in the HDD 30-5, and P1 is stored in the HDD 30-6. .

また、ストライプ番号3のストライプにおいては、HDD30-1にP3、HDD30-2にQ3、HDD30-3にD31、HDD30-4にD32、HDD30-5にD33、HDD30-6にD34が格納されている。   In the stripe of stripe number 3, P3 is stored in HDD 30-1, Q3 is stored in HDD 30-2, D31 is stored in HDD 30-3, D32 is stored in HDD 30-4, D33 is stored in HDD 30-5, and D34 is stored in HDD 30-6. .

ここでは、ストライプ番号1〜3について説明したが、ストライプ番号4以降のストライプについても同様である。   Although the stripe numbers 1 to 3 have been described here, the same applies to the stripes after the stripe number 4.

図4に示す例では、Pパリティ及びQパリティを格納するHDDがストライプ毎に1つずつずれるように配置されている。本実施形態においては、Pパリティ及びQパリティをどのように配置するかは本質的ではなく、ストライプ番号からPパリティ及びQパリティの位置(HDD番号)を一意に決定できれば図4に示す配置でなくても構わない。   In the example shown in FIG. 4, HDDs that store P parity and Q parity are arranged so as to be shifted by one for each stripe. In this embodiment, how to arrange the P parity and the Q parity is not essential, and if the position of the P parity and the Q parity (HDD number) can be uniquely determined from the stripe number, the arrangement shown in FIG. It doesn't matter.

なお、図4には図示されていないが、HDD30-1、30-2、…、30-6には、上記した置換完了情報が格納される領域(図3に示す領域301)が確保されている。   Although not shown in FIG. 4, the HDD 30-1, 30-2,..., 30-6 have an area for storing the above replacement completion information (area 301 shown in FIG. 3). Yes.

次に、図5のフローチャートを参照して、RAID6を構成するHDD30-1、30-2、…、30-6のうちの1台の故障がRAID機能部211によって検出された場合のRAIDコントローラ20の処理手順について説明する。ここでは、RAID機能部211によってHDD30-1、30-2、…、30-6のうちのHDD30-2の故障が検出されたものとして説明する。   Next, referring to the flowchart of FIG. 5, the RAID controller 20 when a failure of one of the HDDs 30-1, 30-2,..., 30-6 configuring RAID 6 is detected by the RAID function unit 211. The processing procedure will be described. Here, a description will be given assuming that a failure of the HDD 30-2 among the HDDs 30-1, 30-2,.

なお、RAID機能部211によってHDD30-2の故障が検出された場合、その旨がI/O装置を介してユーザに通知される。   When a failure of the HDD 30-2 is detected by the RAID function unit 211, the fact is notified to the user via the I / O device.

RAID機能部211によってHDD30-2の故障が検出された場合、RAIDコントローラ20に含まれるパリティ置換機能部212は、置換完了情報格納部221に格納されている置換完了情報をリセットする(ステップS1)。この置換完了情報は、後述するパリティ置換処理が実行されたストライプを示す情報である。   When the failure of the HDD 30-2 is detected by the RAID function unit 211, the parity replacement function unit 212 included in the RAID controller 20 resets the replacement completion information stored in the replacement completion information storage unit 221 (step S1). . This replacement completion information is information indicating a stripe on which a parity replacement process described later has been executed.

次に、パリティ置換機能部212は、外部からのI/O要求があるか、つまり、外部から送信されたI/O要求がRAIDコントローラ20において取得されたか否かを判定する(ステップS2)。   Next, the parity replacement function unit 212 determines whether or not there is an external I / O request, that is, whether or not an externally transmitted I / O request is acquired in the RAID controller 20 (step S2).

この外部からのI/O要求には、RAID6を構成するHDD30-1、30-2、…、30-6からデータを読み出すための要求であるリード要求及び当該HDD30-1、30-2、…、30-6に対してデータを書き込むための要求であるライト要求が含まれる。また、I/O要求には、アクセス(リードまたはライト)の対象となるデータブロックのアドレスが含まれる。   The external I / O request includes a read request that is a request for reading data from the HDDs 30-1, 30-2,..., 30-6 constituting the RAID 6, and the HDDs 30-1, 30-2,. , 30-6, a write request which is a request for writing data is included. The I / O request includes the address of the data block to be accessed (read or write).

I/O要求がないと判定された場合(ステップS2のNO)、パリティ置換機能部212は、置換完了情報格納部221に格納されている置換完了情報に基づいて、HDD30-1、30-2、…、30-6におけるストライプの全てについてパリティ置換処理が実行されたか否かを判定する(ステップS3)。換言すれば、パリティ置換機能部212は、HDD30-1、30-2、…、30-6における最終ストライプまでパリティ置換処理が実行されたか否かを判定する。   When it is determined that there is no I / O request (NO in step S2), the parity replacement function unit 212 determines the HDDs 30-1 and 30-2 based on the replacement completion information stored in the replacement completion information storage unit 221. ,..., 30-6 determines whether parity replacement processing has been executed for all of the stripes (step S3). In other words, the parity replacement function unit 212 determines whether or not the parity replacement processing has been executed up to the final stripe in the HDDs 30-1, 30-2,.

HDD30-1、30-2、…、30-6におけるストライプの全てについてパリティ置換処理が実行されていないと判定された場合(ステップS3のNO)、パリティ置換機能部212は、当該パリティ置換処理が実行されていないストライプの1つについて以下のステップS4及びステップS5の処理を実行する。以下、この処理の対象となるストライプを置換対象ストライプとする。   When it is determined that the parity replacement process has not been executed for all the stripes in the HDDs 30-1, 30-2,..., 30-6 (NO in step S3), the parity replacement function unit 212 performs the parity replacement process. The following steps S4 and S5 are executed for one of the stripes that has not been executed. Hereinafter, a stripe to be processed is referred to as a replacement target stripe.

パリティ置換機能部212は、置換対象ストライプに対してパリティ置換処理を実行する(ステップS4)。パリティ置換処理においては、RAID機能部211によって検出されたHDD30-2の故障によって欠損したQパリティの再計算が実行される。なお、再計算されたQパリティは、置換対象ストライプにおけるPパリティの位置に上書きされる。パリティ置換処理の詳細については後述する。   The parity replacement function unit 212 executes parity replacement processing for the replacement target stripe (step S4). In the parity replacement process, recalculation of the Q parity lost due to the failure of the HDD 30-2 detected by the RAID function unit 211 is executed. The recalculated Q parity is overwritten at the position of the P parity in the replacement target stripe. Details of the parity replacement processing will be described later.

次に、パリティ置換機能部212は、置換対象ストライプについてパリティ置換処理が完了した旨を示す置換完了情報を置換完了情報格納部221に格納する。つまり、パリティ置換機能部212は、置換完了情報格納部221に格納されている置換完了情報を更新する(ステップS5)。   Next, the parity replacement function unit 212 stores replacement completion information indicating that the parity replacement processing has been completed for the replacement target stripe in the replacement completion information storage unit 221. That is, the parity replacement function unit 212 updates the replacement completion information stored in the replacement completion information storage unit 221 (step S5).

一方、I/O要求があると判定された場合(ステップS2のYES)、RAID機能部211及びパリティ置換機能部212は、当該I/O要求に基づいて1台故障時I/O処理を実行する(ステップS6)。この1台故障時I/O処理においては、I/O要求においてアクセスの対象となるストライプ(当該I/O要求に含まれるアドレスに該当するストライプ)に対して実行される。1台故障時I/O処理の詳細については後述する。   On the other hand, when it is determined that there is an I / O request (YES in step S2), the RAID function unit 211 and the parity replacement function unit 212 execute the I / O process at the time of failure of one unit based on the I / O request. (Step S6). This one-unit failure I / O process is executed for a stripe to be accessed in an I / O request (a stripe corresponding to an address included in the I / O request). Details of the I / O process when one unit fails will be described later.

上記したステップS5またはステップS6の処理が実行されると、再構成要求が検出されたか否かが判定される(ステップS7)。この再構成要求は、RAID機能部211によって検出されたHDD30-2の故障がユーザに対して通知されたことにより当該ユーザによってHDD30-2(第3の物理記憶装置)が新たなHDD(第4の物理記憶装置)に交換され、当該ユーザによってRAID6の再構成が指示された場合に検出される。   When the processing in step S5 or step S6 described above is executed, it is determined whether or not a reconfiguration request has been detected (step S7). This reconfiguration request is sent to the HDD 30-2 (third physical storage device) by the user when a failure of the HDD 30-2 detected by the RAID function unit 211 is notified to the user. This is detected when a reconfiguration of RAID 6 is instructed by the user.

再構成要求が検出されたと判定された場合(ステップS7のYES)、再構成機能部213は、RAID機能部211によって故障が検出されたHDD30-2以外のHDD(つまり、HDD30-1、30-3、…、30-6)及びHDD30-2と交換された新たなHDD(新HDD)においてRAID6を再構成する処理(以下、再構成処理と表記)を実行する(ステップS8)。再構成処理の詳細については後述する。   When it is determined that a reconfiguration request has been detected (YES in step S7), the reconfiguration function unit 213 detects an HDD other than the HDD 30-2 in which a failure has been detected by the RAID function unit 211 (that is, HDD 30-1, 30-). 3,..., 30-6) and a new HDD (new HDD) replaced with the HDD 30-2, a process of reconfiguring RAID 6 (hereinafter referred to as a reconfiguration process) is executed (step S8). Details of the reconstruction process will be described later.

次に、図6のフローチャートを参照して、前述したパリティ置換処理(図5に示すステップS4の処理)の処理手順について説明する。   Next, the procedure of the parity replacement process (the process of step S4 shown in FIG. 5) described above will be described with reference to the flowchart of FIG.

まず、パリティ置換機能部212は、RAID機能部211によって検出された例えばHDD30-2の故障により、パリティ置換処理の対象となるストライプ(図5において説明した置換対象ストライプ)においてQパリティが欠損しているか否かを判定する(ステップS11)。つまり、パリティ置換機能部212は、置換対象ストライプにおける複数のデータブロック(ここでは、4つのデータブロック)、Pパリティ及びQパリティのうち、故障が検出されたHDD30-2にQパリティが格納されていたか否かを判定する。   First, the parity replacement function unit 212 loses Q parity in the stripe (the replacement target stripe described in FIG. 5) that is the target of the parity replacement process due to, for example, a failure of the HDD 30-2 detected by the RAID function unit 211. It is determined whether or not there is (step S11). That is, the parity replacement function unit 212 stores Q parity in the HDD 30-2 in which a failure is detected among a plurality of data blocks (here, four data blocks), P parity, and Q parity in the replacement target stripe. It is determined whether or not.

上記した図4に示すようなHDD30-1、30-2、…、30-6のデータ構造により、置換対象ストライプのストライプ番号からPパリティ及びQパリティの位置(HDD番号)を一意に決定できる。したがって、置換対象ストライプのストライプ番号から決定できるQパリティの位置(HDD番号)がRAID機能部211によって故障が検出されたHDD30-2であれば、Qパリティが欠損していると判定される。   4, the positions of the P parity and Q parity (HDD number) can be uniquely determined from the stripe number of the replacement target stripe. Therefore, if the Q parity position (HDD number) that can be determined from the stripe number of the replacement target stripe is the HDD 30-2 in which a failure is detected by the RAID function unit 211, it is determined that the Q parity is missing.

具体的には、上記した図4に示すHDD30-1、30-3、…、30-6において置換対象ストライプが例えばストライプ番号3のストライプである場合には、HDD30-2の故障によりQパリティが欠損したと判定される。   Specifically, in the HDD 30-1, 30-3,..., 30-6 shown in FIG. 4 described above, when the replacement target stripe is, for example, the stripe with stripe number 3, the Q parity is set due to the failure of the HDD 30-2. Judged as missing.

Qパリティが欠損していると判定された場合(ステップS11のYES)、パリティ置換機能部212は、HDD30-1、30-3、…、30-6のうち、置換対象ストライプにおけるデータブロックが格納されているHDD(第1の物理記憶装置)から当該データブロック(つまり、4つのデータブロック)を読み出す。   When it is determined that the Q parity is missing (YES in step S11), the parity replacement function unit 212 stores the data block in the replacement target stripe among the HDDs 30-1, 30-3,. The data block (that is, four data blocks) is read from the HDD (first physical storage device).

パリティ置換機能部212は、読み出されたデータブロックからガロア演算によりQパリティを再計算する(ステップS12)。   The parity replacement function unit 212 recalculates the Q parity from the read data block by Galois calculation (step S12).

次に、パリティ置換機能部212は、置換対象ストライプにおいてPパリティが格納されている位置(HDD番号)を算出(特定)する(ステップS13)。   Next, the parity replacement function unit 212 calculates (specifies) the position (HDD number) where the P parity is stored in the replacement target stripe (step S13).

パリティ置換機能部212は、置換対象ストライプにおいてPパリティが格納されている位置に、再計算されたQパリティを上書きする(ステップS14)。   The parity replacement function unit 212 overwrites the recalculated Q parity at the position where the P parity is stored in the replacement target stripe (step S14).

なお、上記したステップS11においてQパリティが欠損していないと判定された場合、Qパリティを再計算する必要がないためパリティ置換処理は終了される。   If it is determined in step S11 that the Q parity is not lost, the parity replacement process is terminated because it is not necessary to recalculate the Q parity.

次に、図7のフローチャートを参照して、前述した1台故障時I/O処理(図5に示すステップS6の処理)の処理手順について説明する。この1台故障時I/O処理は、RAID機能部211によってHDD30-1、30-2、…、30-6のうちの1台(例えば、HDD30-2)の故障が検出された後であって再構成要求が検出される前に、外部から送信されたI/O要求が取得された際に実行される。   Next, with reference to the flowchart of FIG. 7, the processing procedure of the above-mentioned I / O processing at the time of one unit failure (processing of step S6 shown in FIG. 5) will be described. This one-unit failure I / O process is performed after a failure of one of the HDDs 30-1, 30-2,..., 30-6 (for example, the HDD 30-2) is detected by the RAID function unit 211. This is executed when an externally transmitted I / O request is acquired before a reconfiguration request is detected.

上記したように1台故障時I/O処理時においては、RAID機能部211によってHDD30-1、30-2、…、30-6のうちの1台の故障が検出されている。したがって、HDD30-1、30-2、…、30-6の各ストライプの各々においては、データブロック、Pパリティ及びQパリティのいずれかが欠損している状態となる。   As described above, at the time of one unit failure I / O processing, the RAID function unit 211 detects a failure of one of the HDDs 30-1, 30-2,. Therefore, in each of the stripes of the HDDs 30-1, 30-2,..., 30-6, one of the data block, P parity, and Q parity is missing.

パリティ置換機能部212は、外部からのI/O要求がリード要求であるか否かを判定する(ステップS21)。   The parity replacement function unit 212 determines whether the external I / O request is a read request (step S21).

外部からのI/O要求がリード要求でない、つまり、ライト要求であると判定された場合(ステップS21のNO)、パリティ置換機能部212は、当該I/O要求によるアクセスの対象となるストライプ(以下、アクセス対象ストライプと表記)においてQパリティが欠損しているか否かを判定する(ステップS22)。換言すれば、パリティ置換機能部212は、HDD30-1、30-2、…、30-6のアクセス対象ストライプにおける複数のデータブロック(ここでは、4つのデータブロック)、Pパリティ及びQパリティのうち、故障が検出されたHDD30-2にQパリティが格納されていたか否かを判定する。   When it is determined that the external I / O request is not a read request, that is, a write request (NO in step S21), the parity replacement function unit 212 determines the stripe (to be accessed by the I / O request) Hereinafter, it is determined whether or not the Q parity is missing in the access target stripe) (step S22). In other words, the parity replacement function unit 212 includes a plurality of data blocks (here, four data blocks), P parity, and Q parity in the access target stripes of the HDDs 30-1, 30-2,. Then, it is determined whether or not the Q parity is stored in the HDD 30-2 where the failure is detected.

なお、I/O要求からアクセス対象ストライプを特定することができる。また、特定されたアクセス対象ストライプ(のストライプ番号)から当該アクセス対象ストライプにおけるパリティ(Pパリティ及びQパリティ)の位置(HDD番号)を決定(算出)することができる。これにより、パリティ置換機能部212は、アクセス対象ストライプがQパリティが欠損したストライプであるか否かを判定することができる。   The access target stripe can be specified from the I / O request. Further, the position (HDD number) of the parity (P parity and Q parity) in the access target stripe can be determined (calculated) from the specified access target stripe (its stripe number). Thereby, the parity replacement function unit 212 can determine whether or not the access target stripe is a stripe in which the Q parity is lost.

アクセス対象ストライプにおいてQパリティが欠損していると判定された場合(ステップS22のYES)、パリティ置換機能部212は、置換完了情報格納部221に格納されている置換完了情報に基づいて、当該アクセス対象ストライプについてパリティ置換処理が実行されているか否かを判定する(ステップS23)。   When it is determined that Q parity is missing in the access target stripe (YES in step S22), the parity replacement function unit 212 performs the access based on the replacement completion information stored in the replacement completion information storage unit 221. It is determined whether or not parity replacement processing has been executed for the target stripe (step S23).

アクセス対象ストライプについてパリティ置換処理が実行されていると判定された場合(ステップS23のYES)、当該アクセス対象ストライプにおいては、本来Pパリティが格納されるべき位置にQパリティが格納(上書き)されている状態である。   If it is determined that the parity replacement process is executed for the access target stripe (YES in step S23), the Q parity is stored (overwritten) at the position where the P parity is originally stored in the access target stripe. It is in a state.

この場合、パリティ置換機能部212は、I/O要求(ここでは、ライト要求)に応じてデータブロック(ライトデータ)をHDD30-1、30-2、…、30-6に書き込む(ステップS24)。   In this case, the parity replacement function unit 212 writes data blocks (write data) to the HDDs 30-1, 30-2,..., 30-6 in response to an I / O request (here, a write request) (step S24). .

次に、パリティ置換機能部212は、アクセス対象ストライプにおける複数のデータブロックからガロア演算によりQパリティを再計算し、当該再計算されたQパリティを上書きする(ステップS25)。つまり、再計算されたQパリティは、アクセス対象ストライプにおいて本来Pパリティが格納されるべき位置に上書きされる。   Next, the parity replacement function unit 212 recalculates the Q parity from a plurality of data blocks in the access target stripe by Galois operation, and overwrites the recalculated Q parity (step S25). That is, the recalculated Q parity is overwritten at the position where the P parity should originally be stored in the access target stripe.

一方、ステップS21においてI/O要求がリード要求であると判定された場合、ステップS22においてアクセス対象ストライプにおいてQパリティが欠損していないと判定された場合、またはステップS23においてアクセス対象ストライプについてパリティ置換処理が実行されていないと判定された場合には、RAID機能部211は、通常のRAID6と同様のI/O処理(動作)を実行する。   On the other hand, if it is determined in step S21 that the I / O request is a read request, if it is determined in step S22 that Q parity is not lost in the access target stripe, or if it is determined in step S23 that parity replacement is performed for the access target stripe. If it is determined that the process is not being executed, the RAID function unit 211 executes the same I / O process (operation) as that of normal RAID 6.

具体的に、ステップS21においてI/O要求がリード要求であると判定された場合について説明する。このとき、RAID機能部211は、当該RAID機能部211によって検出された例えばHDD30-2の故障によりデータブロックが欠損している場合には、アクセス対象ストライプにおけるPパリティから当該欠損しているデータブロックを復元し、当該データブロックをI/O要求に対する応答として返す。なお、HDD30-2の故障によりPパリティまたはQパリティが欠損している場合には、アクセス対象ストライプにおけるデータブロックを返す。   Specifically, a case will be described in which it is determined in step S21 that the I / O request is a read request. At this time, if the data block is missing due to, for example, a failure of the HDD 30-2 detected by the RAID function unit 211, the RAID function unit 211 detects the missing data block from the P parity in the access target stripe. And the data block is returned as a response to the I / O request. If P parity or Q parity is missing due to the failure of the HDD 30-2, the data block in the access target stripe is returned.

また、ステップS22においてアクセス対象ストライプにおいてQパリティが欠損していないと判定された場合について説明する。このとき、アクセス対象ストライプにおいてPパリティが欠損している場合には、RAID機能部211は、ステップS24と同様にI/O要求(ここでは、ライト要求)に応じてデータブロックを書き込み、アクセス対象ストライプにおけるQパリティを再計算して、当該再計算されたQパリティを上書き(再計算されたQパリティに更新)する。一方、アクセス対象ストライプにおいてデータブロックが欠損している場合には、RAID機能部211は、アクセス対象ストライプにおけるデータブロック(I/O要求に応じて書き込まれるデータブロック)からPパリティ及びQパリティを再計算し、当該再計算されたPパリティ及びQパリティを上書き(再計算されたPパリティ及びQパリティに更新)する。   A case will be described in which it is determined in step S22 that no Q parity is lost in the access target stripe. At this time, when the P parity is missing in the access target stripe, the RAID function unit 211 writes the data block in response to the I / O request (here, the write request) as in step S24, and The Q parity in the stripe is recalculated, and the recalculated Q parity is overwritten (updated to the recalculated Q parity). On the other hand, when the data block is missing in the access target stripe, the RAID function unit 211 re-creates the P parity and Q parity from the data block (data block written in response to the I / O request) in the access stripe. Calculate and overwrite the recalculated P parity and Q parity (update to the recalculated P parity and Q parity).

また、ステップS23においてアクセス対象ストライプについてパリティ置換処理が実行されていないと判定された場合、RAID機能部211は、ステップS24と同様にI/O要求(ここでは、ライト要求)に応じてデータブロックを書き込み、アクセス対象ストライプにおけるPパリティを再計算して、当該再計算されたPパリティを上書き(再計算されたPパリティに更新)する。   If it is determined in step S23 that the parity replacement process has not been executed for the access target stripe, the RAID function unit 211 performs a data block in response to an I / O request (here, a write request) as in step S24. And recalculates the P parity in the access target stripe and overwrites the recalculated P parity (updates to the recalculated P parity).

次に、図8のフローチャートを参照して、前述した再構成処理(図5に示すステップS8の処理)の処理手順について説明する。この再構成処理は、RAID機能部211によって故障が検出されたHDDが新たなHDDに交換された場合に実行される。ここでは、HDD30-1、30-2、…、30-6のうちのHDD30-2について故障が検出され、当該HDD30-2が新たなHDD(新HDD)に交換されたものとして説明する。   Next, the processing procedure of the above-described reconstruction process (the process of step S8 shown in FIG. 5) will be described with reference to the flowchart of FIG. This reconfiguration process is executed when the HDD in which the failure is detected by the RAID function unit 211 is replaced with a new HDD. Here, it is assumed that a failure has been detected in the HDD 30-2 among the HDDs 30-1, 30-2,..., 30-6, and the HDD 30-2 has been replaced with a new HDD (new HDD).

まず、再構成機能部213は、再構成処理が完了した位置(ストライプ)を示す再構成完了位置をリセットする(ステップS31)。この再構成完了位置としては、HDD30-1、30-2、…、30-6における例えばストライプ番号が用いられる。   First, the reconstruction function unit 213 resets a reconstruction completion position indicating a position (stripe) where the reconstruction process is completed (step S31). As the reconstruction completion position, for example, a stripe number in the HDDs 30-1, 30-2,..., 30-6 is used.

次に、再構成機能部213は、外部からのI/O要求があるか、つまり、外部から送信されたI/O要求がRAIDコントローラ20において取得されたか否かを判定する(ステップS32)。このI/O要求には、リード要求またはライト要求が含まれる。   Next, the reconfiguration function unit 213 determines whether or not there is an external I / O request, that is, whether or not an externally transmitted I / O request is acquired in the RAID controller 20 (step S32). This I / O request includes a read request or a write request.

I/O要求があると判定された場合(ステップS32のYES)、再構成機能部213は、当該I/O要求に基づいて再構成時I/O処理を実行する(ステップS33)。   When it is determined that there is an I / O request (YES in step S32), the reconfiguration function unit 213 executes reconfiguration I / O processing based on the I / O request (step S33).

ここで、再構成時I/O処理について簡単に説明する。この再構成時I/O処理においては、再構成機能部213は、再構成完了位置に基づいてI/O要求によるアクセスの対象となるストライプ(アクセス対象ストライプ)が再構成処理済みであるか否かを判定する。   Here, the I / O processing at the time of reconfiguration will be briefly described. In this reconfiguration I / O processing, the reconfiguration function unit 213 determines whether or not the stripe (access target stripe) to be accessed by the I / O request has been reconfigured based on the reconfiguration completion position. Determine whether.

アクセス対象ストライプが再構成処理済みであると判定された場合、再構成機能部213は、通常のRAID6と同様の処理を実行する。具体的には、I/O要求がリード要求の場合には、アクセス対象ストライプにおけるデータブロックを当該要求に対する応答として返す。I/O要求がライト要求の場合には、当該要求に応じてデータブロックを書き込み、アクセス対象ストライプにおけるPパリティ及びQパリティを更新する。   When it is determined that the access target stripe has been reconfigured, the reconfiguration function unit 213 executes the same processing as that of normal RAID6. Specifically, when the I / O request is a read request, the data block in the access target stripe is returned as a response to the request. When the I / O request is a write request, the data block is written in response to the request, and the P parity and Q parity in the access target stripe are updated.

一方、アクセス対象ストライプが再構成処理済みでないと判定された場合、前述した図7に示す1台故障時I/O処理と同様の処理が実行される。   On the other hand, when it is determined that the access target stripe has not been reconfigured, the same processing as the one-device failure I / O processing shown in FIG. 7 described above is executed.

再構成機能部213によって再構成時I/O処理が実行されると、上記したステップS32に戻って処理が繰り返される。   When the reconstruction function unit 213 executes the reconstruction I / O process, the process returns to the above-described step S32 and the process is repeated.

上記したステップS32においてI/O要求がないと判定された場合、再構成機能部213は、再構成完了位置に基づいて再構成処理が実行されていないストライプの1つについて以下のステップS34〜ステップS36の処理を実行する。この場合、再構成機能部213は、再構成処理が実行されていないストライプのうちストライプ番号が最も小さいストライプについて処理を実行する。以下、この処理の対象となるストライプを再構成対象ストライプとする。   If it is determined in step S32 that there is no I / O request, the reconstruction function unit 213 performs the following steps S34 to S1 for one of the stripes for which reconstruction processing has not been performed based on the reconstruction completion position. The process of S36 is executed. In this case, the reconstruction function unit 213 performs processing for the stripe with the smallest stripe number among the stripes for which reconstruction processing has not been performed. Hereinafter, the stripe to be processed is referred to as a reconstruction target stripe.

再構成機能部213は、置換完了情報格納部221に格納されている置換完了情報に基づいて、再構成対象ストライプについてパリティ置換処理が完了しているか否かを判定する(ステップS34)。なお、パリティ置換処理において説明したように、当該パリティ置換処理が完了しているストライプは、必ずQパリティが存在する状態である。   Based on the replacement completion information stored in the replacement completion information storage unit 221, the reconstruction function unit 213 determines whether or not the parity replacement process has been completed for the reconstruction target stripe (step S34). As described in the parity replacement process, a stripe for which the parity replacement process has been completed always has a Q parity.

再構成対象ストライプについてパリティ置換処理が完了していると判定された場合(ステップS34のYES)、再構成機能部213は、当該再構成対象ストライプについて再構成処理(以下、ストライプ再構成処理と表記)が実行される(ステップS35)。このストライプ再構成処理の詳細については後述する。   When it is determined that the parity replacement process has been completed for the reconstruction target stripe (YES in step S34), the reconstruction function unit 213 reconfigures the reconstruction target stripe (hereinafter referred to as a stripe reconstruction process). ) Is executed (step S35). Details of the stripe reconstruction processing will be described later.

一方、再構成対象ストライプについてパリティ置換処理が実行されていないと判定された場合(ステップS34のNO)、再構成対象ストライプについて通常のRAID6と同様の再構成処理がRAID機能部211によって実行される(ステップS36)。この場合の再構成対象ストライプは、データブロック、Pパリティ及びQパリティのいずれかが欠損している状態である。   On the other hand, when it is determined that the parity replacement process has not been performed for the reconstruction target stripe (NO in step S34), the RAID function unit 211 performs the reconstruction process similar to the normal RAID 6 for the reconstruction target stripe. (Step S36). In this case, the reconstruction target stripe is in a state in which any of the data block, P parity, and Q parity is missing.

具体的には、再構成対象ストライプにおいてデータブロックが欠損している場合、RAID機能部211は、当該再構成対象ストライプにおけるデータブロック(欠損しているデータブロック以外のデータブロック)及びPパリティから当該欠損しているデータブロックを復元し、当該復元されたデータブロックを新HDD(の当該再構成ストライプに該当する箇所)に書き込む。なお、この場合、PパリティでなくQパリティを用いてデータブロックを復元することも可能であるが、計算処理量の軽減を図るためPパリティを用いる方が好ましい。   Specifically, when a data block is missing in the reconstruction target stripe, the RAID function unit 211 determines the data block (data block other than the missing data block) in the reconstruction target stripe and the P parity from the data block. The missing data block is restored, and the restored data block is written to the new HDD (location corresponding to the reconfigured stripe). In this case, although it is possible to restore the data block using Q parity instead of P parity, it is preferable to use P parity in order to reduce the amount of calculation processing.

また、再構成対象ストライプにおいてPパリティが欠損している場合、RAID機能部211は、当該再構成対象ストライプにおけるデータブロックからXOR演算によりPパリティを再計算し、当該再計算されたPパリティを新HDDに書き込む。   Further, when the P parity is missing in the reconstruction target stripe, the RAID function unit 211 recalculates the P parity from the data block in the reconstruction target stripe by the XOR operation, and renews the recalculated P parity. Write to HDD.

また、再構成対象ストライプにおいてQパリティが欠損している場合、RAID機能部211は、当該再構成対象ストライプにおけるデータブロックからガロア演算によりQパリティを再計算し、当該再計算されたQパリティを新HDDに書き込む。   Further, when the Q parity is missing in the reconstruction target stripe, the RAID function unit 211 recalculates the Q parity from the data block in the reconstruction target stripe by Galois operation, and renews the recalculated Q parity. Write to HDD.

再構成対象ストライプについてパリティ置換処理が完了していない場合は、上記したような通常のRAID6と同様の再構成処理が実行される。   When the parity replacement process is not completed for the reconstruction target stripe, the reconstruction process similar to the normal RAID 6 as described above is executed.

上記したステップS35またはステップS36の処理が実行されると、再構成機能部213は、再構成完了位置に基づいて、再構成処理が最終ストライプ(ストライプ番号が最後のストライプ)まで実行されたか否かを判定する(ステップS37)。   When the process of step S35 or step S36 described above is executed, the reconstruction function unit 213 determines whether the reconstruction process has been performed up to the final stripe (stripe number is the last stripe) based on the reconstruction completion position. Is determined (step S37).

再構成処理が最終ストライプまで実行されていないと判定された場合(ステップS37のNO)、再構成機能部213は、再構成完了位置を更新する(ステップS38)。つまり、再構成機能部213は、再構成完了位置を上記したステップS34〜ステップS36の処理が実行された再構成対象ストライプのストライプ番号に更新する。   When it is determined that the reconstruction process has not been executed up to the final stripe (NO in step S37), the reconstruction function unit 213 updates the reconstruction completion position (step S38). That is, the reconfiguration function unit 213 updates the reconfiguration completion position with the stripe number of the reconfiguration target stripe for which the processing in steps S34 to S36 described above has been executed.

ステップS38の処理が実行されると、上記したステップS32に戻って処理が繰り返される。このようにステップS32に戻って処理が繰り返される場合のステップS34〜ステップS36の処理は、再構成完了位置(のストライプ)の次のストライプを再構成対象ストライプとして実行される。   If the process of step S38 is performed, it will return to above-mentioned step S32 and a process will be repeated. As described above, when the processing is repeated after returning to step S32, the processing of step S34 to step S36 is executed with the next stripe at the reconstruction completion position (the stripe) as the reconstruction target stripe.

一方、再構成処理が最終ストライプまで実行されたと判定された場合(ステップS37のYES)、再構成処理は終了される。再構成処理が終了されると、ディスクアレイ装置10は正常時の処理に戻る。   On the other hand, when it is determined that the reconstruction process has been executed up to the final stripe (YES in step S37), the reconstruction process is terminated. When the reconfiguration process ends, the disk array device 10 returns to the normal process.

次に、図9のフローチャートを参照して、前述したストライプ再構成処理(図8に示すステップS35の処理)の処理手順について説明する。このストライプ再構成処理は、上記したようにパリティ置換処理が完了しているストライプ(再構成対象ストライプ)に対して実行される。なお、再構成対象ストライプには、上記したパリティ置換処理により必ずQパリティが存在する。   Next, the procedure of the stripe reconstruction process (the process of step S35 shown in FIG. 8) will be described with reference to the flowchart of FIG. This stripe reconstruction process is executed for the stripe (reconstruction target stripe) for which the parity replacement process has been completed as described above. Note that the reconstruction target stripe always has Q parity by the parity replacement process described above.

再構成機能部213は、RAID機能部211によって検出された例えばHDD30-2の故障により、再構成対象ストライプにおいてQパリティが欠損したか否かを判定する(ステップS41)。この場合、再構成機能部213は、再構成対象ストライプのストライプ番号からパリティ(Pパリティ及びQパリティ)の位置(HDD番号)を算出(決定)する。これにより、再構成対象ストライプにおいて、RAID機能部211によって故障が検出されたHDD30-2にQパリティが格納されていた(つまり、当該故障によりQパリティが欠損した)か否かが判定される。   The reconstruction function unit 213 determines whether or not the Q parity is lost in the reconstruction target stripe due to, for example, a failure of the HDD 30-2 detected by the RAID function unit 211 (step S41). In this case, the reconstruction function unit 213 calculates (determines) the position (HDD number) of the parity (P parity and Q parity) from the stripe number of the reconstruction target stripe. Thereby, it is determined whether or not the Q parity is stored in the HDD 30-2 in which the failure is detected by the RAID function unit 211 in the reconfiguration target stripe (that is, the Q parity is lost due to the failure).

再構成対象ストライプにおいてQパリティが欠損したと判定された場合を想定する(ステップS41YES)。この場合、再構成対象ストライプにおいては、Qパリティが欠損したストライプに対してパリティ置換処理が実行されているため、本来Pパリティが格納されているべき位置に再計算されたQパリティが上書きされている状態となっている。   Assume that it is determined that Q parity is missing in the reconstruction target stripe (YES in step S41). In this case, in the stripe to be reconfigured, the parity replacement process is executed for the stripe with the missing Q parity, so the recalculated Q parity is overwritten at the position where the P parity should originally be stored. It is in a state.

したがって、再構成機能部213は、上記したパリティ置換処理により、当該再構成対象ストライプにおいて本来Pパリティが格納されている位置に上書きされたQパリティを読み出し、当該Qパリティを新HDDに書き込む(ステップS42)。   Therefore, the reconfiguration function unit 213 reads the Q parity overwritten at the position where the P parity is originally stored in the reconfiguration target stripe by the parity replacement process, and writes the Q parity to the new HDD (step S42).

次に、再構成機能部213は、再構成対象ストライプにおける全てのデータブロック(ここでは、4つのデータブロック)を読み出す。再構成機能部213は、読み出されたデータブロックからXOR演算によりPパリティを再計算する(ステップS43)。   Next, the reconstruction function unit 213 reads all data blocks (here, four data blocks) in the reconstruction target stripe. The reconstruction function unit 213 recalculates the P parity by the XOR operation from the read data block (step S43).

再構成機能部213は、再構成対象ストライプにおける本来Pパリティが格納されるべき位置(つまり、Qパリティが格納されていた位置)に、再計算されたPパリティを書き込む(ステップS44)。   The reconstruction function unit 213 writes the recalculated P parity in the position where the P parity should originally be stored in the reconstruction target stripe (that is, the position where the Q parity is stored) (step S44).

一方、再構成対象ストライプにおいてQパリティが欠損していないと判定された場合(ステップS41のNO)、再構成機能部213は、RAID機能部211によって検出されたHDDの故障により、再構成対象ストライプにおいてPパリティが欠損したか否かを判定する(ステップS45)。この場合、再構成機能部213は、上記したQパリティが欠損したか否かの判定処理と同様に、Pパリティが欠損したか否かを判定することができる。   On the other hand, when it is determined that the Q parity is not lost in the reconfiguration target stripe (NO in step S41), the reconfiguration function unit 213 detects the reconfiguration target stripe due to the HDD failure detected by the RAID function unit 211. In step S45, it is determined whether or not the P parity is lost. In this case, the reconstruction function unit 213 can determine whether or not the P parity is lost, in the same manner as the determination process of whether or not the Q parity is lost.

再構成対象ストライプにおいてPパリティが欠損したと判定された場合を想定する(ステップS45のYES)。この場合、再構成対象ストライプにおいては、Pパリティが欠損した状態となっている。   Assume that it is determined that the P parity is missing in the reconstruction target stripe (YES in step S45). In this case, the P parity is lost in the reconstruction target stripe.

この場合、再構成機能部213は、再構成対象ストライプにおける全てのデータブロックを読み出す。再構成機能部213は、読み出されたデータブロックからXOR演算によるPパリティを再計算する(ステップS46)。   In this case, the reconstruction function unit 213 reads all data blocks in the reconstruction target stripe. The reconstruction function unit 213 recalculates the P parity by the XOR operation from the read data block (step S46).

次に、再構成機能部213は、再計算されたPパリティを新HDDに書き込む(ステップS47)。   Next, the reconfiguration function unit 213 writes the recalculated P parity in the new HDD (step S47).

一方、再構成対象ストライプにおいてPパリティが欠損していないと判定された場合(ステップS45のNO)、つまり、再構成対象ストライプにおいてデータブロックのうちの1つが欠損したと判定された場合、再構成機能部213は、再構成対象ストライプにおけるデータブロック(欠損したデータブロック以外のデータブロック)及びPパリティから当該欠損したデータブロックを再計算する(ステップS48)。なお、欠損したデータブロックの再計算には、Pパリティの代わりに再構成対象ストライプにおけるQパリティを用いても構わない。   On the other hand, when it is determined that the P parity is not missing in the reconstruction target stripe (NO in step S45), that is, when it is determined that one of the data blocks is missing in the reconstruction target stripe, the reconstruction is performed. The functional unit 213 recalculates the missing data block from the data block (data block other than the missing data block) and the P parity in the reconstruction target stripe (step S48). For recalculation of missing data blocks, Q parity in the reconstruction target stripe may be used instead of P parity.

次に、再構成機能部213は、再計算されたデータブロックを新HDDに書き込む(ステップS49)。   Next, the reconstruction function unit 213 writes the recalculated data block in the new HDD (step S49).

上記したように、再構成対象ストライプに対してストライプ再構成処理を実行することによって、Qパリティが欠損した再構成対象ストライプにおいては前述したパリティ置換処理において既にQパリティが再計算されているため、Pパリティの計算処理と比較して処理量(処理時間)の多いQパリティの計算処理を省略することができる。   As described above, by executing the stripe reconstruction process on the reconstruction target stripe, the Q parity is already recalculated in the parity replacement process described above in the reconstruction target stripe in which the Q parity is lost. It is possible to omit Q parity calculation processing, which has a larger processing amount (processing time) than P parity calculation processing.

ここで、図10を参照して、HDD30-1、30-2、…、30-6のうちの1台の故障がRAID機能部211によって検出された場合のRAIDコントローラ20の動作(主として、パケット置換処理及びストライプ再構成処理)について具体的に説明する。   Here, referring to FIG. 10, the operation of the RAID controller 20 when a failure of one of the HDDs 30-1, 30-2,..., 30-6 is detected by the RAID function unit 211 (mainly the packet The replacement process and stripe reconstruction process) will be specifically described.

ここでは、前述した図4に示すディスクアレイ装置10が有するHDD30-1、30-2、…、30-6のうちのHDD30-2の故障がRAID機能部211によって検出されたものとして説明する。   Here, a description will be given assuming that a failure of the HDD 30-2 among the HDDs 30-1, 30-2,..., 30-6 included in the disk array device 10 shown in FIG.

図10に示す例では、ストライプ番号1、2、4、5及び6のストライプ(上から1、2、4、5及び6番目のストライプ)では、HDD30-2の故障によりデータブロックまたはPパリティが欠損している。一方、ストライプ番号3のストライプ(上から3番目のストライプ)では、HDD30-2の故障によりQパリティが欠損している。   In the example shown in FIG. 10, in the stripes with stripe numbers 1, 2, 4, 5 and 6 (the first, second, fourth, fifth and sixth stripes from the top), the data block or P parity is changed due to the failure of the HDD 30-2. It is missing. On the other hand, in the stripe with the stripe number 3 (the third stripe from the top), the Q parity is lost due to the failure of the HDD 30-2.

なお、図10に示すHDDの台数及びデータの配列規則によれば、例えばストライプ番号6以降のストライプについても同様にHDD30-2の故障によりQパリティが欠損したストライプを算出できる。図10に示す例では、6ストライプ毎、つまり、ストライプ番号6N+3(N=0、1、2、…)のストライプにおいて、HDD30-2の故障によりQパリティが欠損していることが算出できる。同様に、ストライプ番号6N+4のストライプにおいて、HDD30-2の故障によりPパリティが欠損していることが算出できる。   Note that, according to the number of HDDs and the data arrangement rule shown in FIG. 10, for example, for stripes after stripe number 6 as well, a stripe in which Q parity is lost due to the failure of the HDD 30-2 can be calculated. In the example shown in FIG. 10, it can be calculated that the Q parity is lost due to the failure of the HDD 30-2 in every six stripes, that is, in stripes with stripe numbers 6N + 3 (N = 0, 1, 2,...). Similarly, in the stripe with the stripe number 6N + 4, it can be calculated that the P parity is missing due to the failure of the HDD 30-2.

ここで、故障したHDD30-2が新HDDに交換される前に、ストライプ番号3のストライプを置換対象ストライプとしてパリティ置換処理が実行された場合を想定する(ステップS51)。この場合、図10に示すように、ストライプ番号3のストライプにおけるデータブロック(ここでは、HDD30-3、30-4、30-5及び30-6に格納されているD31、D32、D33及びD34)からガロア演算によりQパリティ(Q3)が再計算される。この再計算されたQ3は、このストライプ番号3のストライプにおいてPパリティ(P3)が格納されるべき位置(ここでは、HDD30-1)に上書きされる。   Here, it is assumed that the parity replacement process is executed with the stripe of stripe number 3 as the replacement target stripe before the failed HDD 30-2 is replaced with a new HDD (step S51). In this case, as shown in FIG. 10, the data block in the stripe of stripe number 3 (here, D31, D32, D33 and D34 stored in HDDs 30-3, 30-4, 30-5 and 30-6) Q parity (Q3) is recalculated by Galois calculation. This recalculated Q3 is overwritten at the position (here, HDD 30-1) where the P parity (P3) is to be stored in the stripe of stripe number 3.

なお、ストライプ番号3のストライプ以外のストライプを置換対象ストライプとするパリティ置換処理においては、当該置換対象ストライプにおいてはQパリティが欠損していないためQパリティの再計算及び上書き等の処理は実行されない。   In the parity replacement process in which a stripe other than the stripe of stripe number 3 is used as a replacement target stripe, the Q parity is not lost in the replacement target stripe, and therefore processing such as recalculation and overwriting of Q parity is not executed.

ここで、故障したHDD30-2が新たなHDD100に交換され、再構成処理が実行される場合を想定する(ステップS52)。この場合、図10に示すデータブロック(D12)が欠損したストライプ番号1のストライプにおいては、当該ストライプにおけるデータブロック(ここでは、HDD30-1、30-3及び30-4に格納されているD11、D13及びD14)及びPパリティ(ここでは、HDD30-5に格納されているP1)からD12が復元(再計算)され、当該復元されたD12が新HDD100に書き込まれる。なお、ストライプ番号2、5及び6のストライプについても同様であるためその詳しい説明を省略する。   Here, it is assumed that the failed HDD 30-2 is replaced with a new HDD 100 and the reconfiguration process is executed (step S52). In this case, in the stripe of stripe number 1 in which the data block (D12) shown in FIG. 10 is lost, the data blocks in the stripe (here, D11, D11 stored in the HDDs 30-1, 30-3, and 30-4). D13 and D14) and P parity (here, P1 stored in the HDD 30-5) are restored (recalculated), and the restored D12 is written to the new HDD 100. Since the same applies to the stripes with stripe numbers 2, 5, and 6, detailed description thereof is omitted.

また、Qパリティ(Q3)が欠損したストライプ番号3のストライプにおいては、当該ストライプにおける本来Pパリティが格納されるべき位置(ここでは、HDD30-1)のQパリティ(ここでは、Q3)が新HDD100に書き込まれる。また、ストライプ番号3のストライプにおけるデータブロック(ここでは、HDD30-3、30-4、30-5及び30-6に格納されているD31、D32、D33及びD34)からXOR演算によりPパリティ(ここでは、P3)が再計算され、Q3が上書きされていたHDD30-1(本来P3が格納されるべき位置)に当該P3が書き込まれる。つまり、HDD30-2の故障によりQ3が欠損した場合であっても、再構成処理時に当該Q3の再計算をすることなくストライプを再構成できる。   Further, in the stripe of stripe number 3 in which the Q parity (Q3) is missing, the Q parity (here, Q3) of the position (here, HDD 30-1) where the P parity is originally stored in the stripe is the new HDD 100. Is written to. Also, P parity (here, D31, D32, D33, and D34 stored in HDDs 30-3, 30-4, 30-5, and 30-6) is obtained from the data block in the stripe of stripe number 3 by XOR operation. Then, P3) is recalculated, and the P3 is written in the HDD 30-1 (position where P3 should be stored) where Q3 was overwritten. That is, even if Q3 is lost due to a failure of the HDD 30-2, the stripe can be reconfigured without recalculating Q3 during the reconfiguration process.

また、Pパリティ(P4)が欠損したストライプ番号4のストライプにおいては、当該ストライプにおけるデータブロック(ここでは、HDD30-1、30-4、30-5及び30-6に格納されているD44、D41、D42及びD43)からXOR演算によりPパリティ(ここでは、P4)が再計算され、当該再計算されたP4が新HDD100に書き込まれる。   Further, in the stripe of stripe number 4 in which P parity (P4) is lost, D44, D41 stored in the data blocks (here, HDDs 30-1, 30-4, 30-5 and 30-6) in the stripe. , D42 and D43), the P parity (here, P4) is recalculated by the XOR operation, and the recalculated P4 is written in the new HDD 100.

上記したように本実施形態においては、RAID6を構成する複数のHDD(HDD30-1、30-2、…、30-6)のうちの1台の故障によりQパリティが欠損したストライプにおいて、当該ストライプにおける全てのデータブロックからガロア演算により当該欠損したQパリティが再計算され、当該再計算されたQパリティが当該ストライプにおけるPパリティ(の位置)に上書きされる。本実施形態においては、故障が検出されたHDDを新たなHDDと交換することによりRIAD6を再構成する場合に、当該故障によりQパリティが欠損したストライプにおいてPパリティの位置に上書きされたQパリティを当該新たなHDDに書き込み、当該ストライプにおける全てのデータブロックからXOR演算によりPパリティが再計算され、本来Pパリティが格納される位置(Qパリティが上書きされていた位置)に当該再計算されたPパリティが書き込まれる。   As described above, in the present embodiment, in a stripe in which Q parity is lost due to a failure of one of a plurality of HDDs (HDDs 30-1, 30-2,. The missing Q parity is recalculated from all the data blocks by the Galois operation, and the recalculated Q parity is overwritten on the P parity (position) in the stripe. In this embodiment, when the RIAD 6 is reconfigured by replacing the HDD in which the failure is detected with a new HDD, the Q parity overwritten at the P parity position in the stripe in which the Q parity is lost due to the failure. P parity is recalculated by XOR operation from all data blocks in the stripe, written to the new HDD, and the recalculated P is stored at the position where the P parity is originally stored (position where the Q parity is overwritten). Parity is written.

例えばRAID5のように冗長性がHDD1台である構成(つまり、HDD1台までの故障に耐えられる構成)の場合では、1台故障後に更に他のHDDの故障が発生するような状況には耐えられる余裕がないため、当該RAIDの再構成作業の優先度は相当に高く、I/O性能の低下を認容せざるを得ない場合が多い。   For example, in the case of a configuration in which the redundancy is one HDD such as RAID 5 (that is, a configuration that can withstand a failure up to one HDD), it can withstand a situation in which another HDD failure occurs after one failure. Since there is no room, the priority of the RAID reconfiguration work is considerably high, and it is often necessary to accept a decrease in I / O performance.

しかしながら、RAID6においては冗長性がHDD2台であるため、1台故障時においては更に1台の故障には耐え得る余裕があるため、上記したRAID5等と比較すると、この場合におけるRAIDの再構成作業の緊急性は必ずしも高いものではない。したがって、故障が検出された物理的なHDDの交換自体が先延ばしにされる場合が多い。   However, since the redundancy in RAID 6 is two HDDs, there is room to withstand one more failure when one unit fails. Compared to RAID 5 and the like, RAID reconfiguration work in this case The urgency of is not necessarily high. Therefore, in many cases, replacement of a physical HDD in which a failure is detected is postponed.

また、RAI6においては、HDD1台故障後にHDDを交換することによりRAIDの再構成が行われる場合、上記したように更に1台のHDDの故障には耐え得るため、通常のI/O処理を優先的に実行し、再構成動作は当該I/O処理がない(または少ない)ときに実行される、という運用が効率的である。しかしながら、このような運用においては再構成の完了まで多くの時間を要するため、この間に別のHDDが故障した場合には緊急の再構成が必要となる場合がある。   In RAI6, when a RAID is reconfigured by replacing an HDD after a failure of one HDD, it can withstand a failure of another HDD as described above, so normal I / O processing is given priority. It is efficient that the reconfiguration operation is executed when the I / O processing is not performed (or few). However, in such an operation, it takes a long time until the reconfiguration is completed. If another HDD fails during this time, an urgent reconfiguration may be necessary.

このような運用において、上記した本実施形態によれば、多くの処理時間を要するQパリティの再計算を再構成前の段階でしておくため、再構成時にはQパリティを計算することがなくなり、代わりにPパリティの計算が実行されることになる。   In such an operation, according to the above-described embodiment, since the recalculation of the Q parity that requires a lot of processing time is performed before the reconfiguration, the Q parity is not calculated at the time of the reconfiguration. Instead, P parity calculation is performed.

このPパリティの計算は、Qパリティの計算に比べて高速かつ少ないリソースで実行できる。このため、本実施形態においては、再構成時のI/O性能の低下を軽減し、また、再構成に要する時間を短縮することが可能となる。   This P parity calculation can be executed at a higher speed and with fewer resources than the Q parity calculation. For this reason, in this embodiment, it is possible to reduce a decrease in I / O performance during reconfiguration and to shorten the time required for reconfiguration.

すなわち、本実施形態においては、故障が検出されたHDDの交換後に再構成作業の全てを実行するのではなく、当該作業の一部(多くの処理時間を要するQパリティの再計算処理)をHDD交換前(つまり、再構成作業前)に実行するため、I/O性能に与える悪影響を軽減することが可能となる。   In other words, in the present embodiment, not all of the reconfiguration work is performed after replacement of the HDD in which a failure is detected, but a part of the work (Q parity recalculation process requiring a lot of processing time) is performed on the HDD. Since it is executed before replacement (that is, before reconfiguration work), adverse effects on I / O performance can be reduced.

なお、本実施形態においては、HDD交換前にパリティ置換処理でQパリティの再計算が実行されるが、当該処理はいつでも停止または中断しても構わないため、通常のI/O処理に影響を与えない範囲で実行されるように配分することができる。   In this embodiment, recalculation of the Q parity is executed in the parity replacement process before replacing the HDD. However, since this process may be stopped or interrupted at any time, the normal I / O process is affected. It can be distributed so that it is executed in a range not given.

また、本実施形態においては、ディスクアレイ装置10が有するRAIDコントローラ20はI/Oバス上にハードウェアとして存在する、例えばPCI-Express上のRAIDカードのような形式であるものとして説明したが、当該RAIDコントローラ20は、これとは異なる形式であっても構わない。具体的には、RAIDコントローラ20は、例えば、RAIDコントローラ20がCPU内の回路として実装される形式、RAIDコントローラ20がチップセットに内蔵されており、内部バスに接続されている形式、または、RAIDコントローラ20のハードウェアが存在せず、コンピュータの主プロセッサと主メモリによって実行されるソフトウェアである形式のいずれであっても本願発明を適用することは可能である。   In the present embodiment, the RAID controller 20 included in the disk array device 10 has been described as being in the form of a RAID card on PCI-Express, for example, which exists as hardware on the I / O bus. The RAID controller 20 may have a different format. Specifically, the RAID controller 20 is, for example, a format in which the RAID controller 20 is mounted as a circuit in the CPU, a format in which the RAID controller 20 is built in the chipset and connected to the internal bus, or a RAID The present invention can be applied to any form in which the hardware of the controller 20 does not exist and the software is executed by the main processor and main memory of the computer.

また、本実施形態においては、ディスクアレイ装置10が物理記憶装置としてHDDを有するものとして説明したが、例えば半導体記憶装置のような他の物理記憶装置を用いてRAID6を構成する場合についても容易に適用可能である。   In the present embodiment, the disk array device 10 has been described as having an HDD as a physical storage device. However, for example, a case where the RAID 6 is configured using another physical storage device such as a semiconductor storage device can be easily performed. Applicable.

また、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。   Further, the present invention is not limited to the above-described embodiments as they are, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. Moreover, various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment.

10…ディスクアレイ装置、20…RAIDコントローラ(ディスクアレイ制御装置)、21…RAIDコントローラプロセッサ、22…RAIDコントローラメモリ、30-1、30-2、…、30-n…HDD(物理記憶装置)、211…RAID機能部、212…パリティ置換機能部、213…再構成機能部、221…置換完了位置格納部。   DESCRIPTION OF SYMBOLS 10 ... Disk array apparatus, 20 ... RAID controller (disk array control apparatus), 21 ... RAID controller processor, 22 ... RAID controller memory, 30-1, 30-2, ..., 30-n ... HDD (physical storage device), 211: RAID function unit, 212: Parity replacement function unit, 213: Reconfiguration function unit, 221: Replacement completion position storage unit.

Claims (4)

データを格納する2台以上の第1の記憶装置と、前記第1の記憶装置に格納されているデータを復元するために用いられる第1のパリティデータであって、当該第1の記憶装置に格納されているデータから第1の計算方法によって計算される第1のパリティデータを格納する第2の記憶装置と、前記第1の記憶装置に格納されているデータを復元するために用いられる前記第1のパリティデータとは異なる第2のパリティデータであって、当該第1の記憶装置に格納されているデータから前記第1の計算方法より複雑な第2の計算方法によって計算される第2のパリティデータを格納する第3の記憶装置と接続されるディスクアレイ制御装置において、
前記第3の記憶装置が故障した場合に、当該第3の記憶装置の故障を検出する検出手段と、
前記第3の記憶装置の故障が検出された場合、前記第1の記憶装置に格納されているデータから前記第2の計算方法によって第2のパリティデータを計算する第1の計算手段と、
前記第1の計算手段によって計算された第2のパリティデータを、前記第2の記憶装置に格納されている第1のパリティデータに上書きする上書き手段と、
前記故障が検出された第3の記憶装置が第4の記憶装置に交換された場合、前記第1の記憶装置に格納されているデータ及び前記第2の記憶装置に上書きされた第2のパリティデータを読み出す読み出し手段と、
前記第2の記憶装置から読み出された第2のパリティデータを前記第4の記憶装置に書き込む第1の書き込み手段と、
前記第1の記憶装置から読み出されたデータから前記第1の計算方法によって第1のパリティデータを計算する第2の計算手段と、
前記第2の計算手段によって計算された第1のパリティデータを前記第2の記憶装置に書き込む第2の書き込み手段と
を具備することを特徴とするディスクアレイ制御装置。
Two or more first storage devices for storing data, and first parity data used for restoring the data stored in the first storage device, the first storage device A second storage device for storing first parity data calculated by the first calculation method from stored data, and the data used for restoring the data stored in the first storage device Second parity data that is different from the first parity data and is calculated from data stored in the first storage device by a second calculation method that is more complicated than the first calculation method. In the disk array controller connected to the third storage device for storing the parity data of
Detecting means for detecting a failure of the third storage device when the third storage device fails;
A first calculation means for calculating second parity data from the data stored in the first storage device by the second calculation method when a failure of the third storage device is detected;
Overwrite means for overwriting the first parity data stored in the second storage device with the second parity data calculated by the first calculation means;
When the third storage device in which the failure is detected is replaced with a fourth storage device, the data stored in the first storage device and the second parity overwritten in the second storage device Reading means for reading data;
First writing means for writing second parity data read from the second storage device to the fourth storage device;
Second calculation means for calculating first parity data from the data read from the first storage device by the first calculation method;
A disk array control device comprising: second write means for writing the first parity data calculated by the second calculation means to the second storage device.
前記第1の記憶装置に対してデータを書き込むことを要求する書き込み要求を取得する取得手段と、
前記取得された書き込み要求に応じてデータを前記第1の記憶装置に書き込む第3の書き込み手段と、
前記第2のパリティデータが前記第2の記憶装置に格納されている第1のパリティデータに上書きされているかを判定する判定手段と
を更に具備し、
前記第1の計算手段は、前記第2のパリティデータが上書きされていると判定された場合、前記第3の書き込み手段によって書き込まれたデータから前記第2の計算方法によって第2のパリティデータを計算し、
前記上書き手段は、前記第3の書き込み手段によって書き込まれたデータから前記第2の計算方法によって計算された第2のパリティデータを、前記第2の記憶装置に上書きする
ことを特徴とする請求項1記載のディスクアレイ制御装置。
Obtaining means for obtaining a write request for requesting writing of data to the first storage device;
Third writing means for writing data to the first storage device in response to the acquired write request;
Determination means for determining whether the second parity data is overwritten on the first parity data stored in the second storage device; and
When it is determined that the second parity data has been overwritten, the first calculation means converts the second parity data from the data written by the third writing means by the second calculation method. Calculate
The overwriting means overwrites the second storage device with the second parity data calculated by the second calculation method from the data written by the third writing means. 2. The disk array control device according to 1.
置換完了情報格納処理手段と置換完了情報格納手段とを更に具備し、
前記第1、第2及び第3の記憶装置は、当該第1の記憶装置に格納されているデータ、当該第2の記憶装置に格納されている第1のパリティデータ及び当該第3の記憶装置に格納されている第2のパリティデータから構成される複数のストライプを有し、
前記第1の計算手段は、前記第3の記憶装置の故障が検出された場合、前記第1、第2及び第3の記憶装置が有するストライプ毎に、前記第1の記憶装置に格納されているデータから前記第2の計算方法によって第2のパリティデータを計算し、
前記上書き手段は、前記ストライプ毎に計算された第2のパリティデータを、当該ストライプを構成する第1のパリティデータに上書きし、
前記置換完了情報格納処理手段は、前記上書き手段によって前記ストライプ毎に計算された第2のパリティデータが当該ストライプを構成する第1のパリティデータに上書きされた旨を示す置換完了情報を、前記置換完了情報格納手段に格納し、
前記判定手段は、前記置換完了情報格納手段に格納された置換完了情報に基づいて、前記第3の書き込み手段によって書き込まれたデータによって構成されるストライプ毎に計算された第2のパリティデータが当該ストライプを構成する第1のパリティデータに上書きされているかを判定する
ことを特徴とする請求項2記載のディスクアレイ制御装置。
It further comprises replacement completion information storage processing means and replacement completion information storage means,
The first, second, and third storage devices include data stored in the first storage device, first parity data stored in the second storage device, and the third storage device. Having a plurality of stripes composed of second parity data stored in
The first calculating means stores, when a failure of the third storage device is detected, for each stripe of the first, second, and third storage devices stored in the first storage device. Second parity data is calculated from the existing data by the second calculation method,
The overwriting means overwrites the second parity data calculated for each stripe on the first parity data constituting the stripe,
The replacement completion information storage processing means replaces the replacement completion information indicating that the second parity data calculated for each stripe by the overwriting means is overwritten on the first parity data constituting the stripe. Stored in the completion information storage means,
The determination means includes second parity data calculated for each stripe composed of data written by the third writing means based on the replacement completion information stored in the replacement completion information storage means. The disk array control apparatus according to claim 2, wherein it is determined whether or not the first parity data constituting the stripe is overwritten.
データを格納する2台以上の第1の記憶装置と、前記第1の記憶装置に格納されているデータを復元するために用いられる第1のパリティデータであって、当該第1の記憶装置に格納されているデータから第1の計算方法によって計算される第1のパリティデータを格納する第2の記憶装置と、前記第1の記憶装置に格納されているデータを復元するために用いられる前記第1のパリティデータとは異なる第2のパリティデータであって、当該第1の記憶装置に格納されているデータから前記第1の計算方法より複雑な第2の計算方法によって計算される第2のパリティデータを格納する第3の記憶装置と、前記第1の記憶装置、第2の記憶装置及び第3の記憶装置と接続されるディスクアレイ制御装置とを備えるディスクアレイ装置において、
前記ディスクアレイ制御装置は、
前記第3の記憶装置が故障した場合に、当該第3の記憶装置の故障を検出する検出手段と、
前記第3の記憶装置の故障が検出された場合、前記第1の記憶装置に格納されているデータから前記第2の計算方法によって第2のパリティデータを計算する第1の計算手段と、
前記第1の計算手段によって計算された第2のパリティデータを、前記第2の記憶装置に格納されている第1のパリティデータに上書きする上書き手段と、
前記故障が検出された第3の記憶装置が第4の記憶装置に交換された場合、前記第1の記憶装置に格納されているデータ及び前記第2の記憶装置に上書きされた第2のパリティデータを読み出す読み出し手段と、
前記第2の記憶装置から読み出された第2のパリティデータを前記第4の記憶装置に書き込む第1の書き込み手段と、
前記第1の記憶装置から読み出されたデータから前記第1の計算方法によって第1のパリティデータを計算する第2の計算手段と、
前記第2の計算手段によって計算された第1のパリティデータを前記第2の記憶装置に書き込む第2の書き込み手段と
を含む
ことを特徴とするディスクアレイ装置。
Two or more first storage devices for storing data, and first parity data used for restoring the data stored in the first storage device, the first storage device A second storage device for storing first parity data calculated by the first calculation method from stored data, and the data used for restoring the data stored in the first storage device Second parity data that is different from the first parity data and is calculated from data stored in the first storage device by a second calculation method that is more complicated than the first calculation method. A disk array device comprising: a third storage device for storing the parity data; and a disk array control device connected to the first storage device, the second storage device, and the third storage device ,
The disk array controller is
Detecting means for detecting a failure of the third storage device when the third storage device fails;
A first calculation means for calculating second parity data from the data stored in the first storage device by the second calculation method when a failure of the third storage device is detected;
Overwrite means for overwriting the first parity data stored in the second storage device with the second parity data calculated by the first calculation means;
When the third storage device in which the failure is detected is replaced with a fourth storage device, the data stored in the first storage device and the second parity overwritten in the second storage device Reading means for reading data;
First writing means for writing second parity data read from the second storage device to the fourth storage device;
Second calculation means for calculating first parity data from the data read from the first storage device by the first calculation method;
And a second writing means for writing the first parity data calculated by the second calculating means to the second storage device.
JP2009152311A 2009-06-26 2009-06-26 Disk array control device and disk array device Expired - Fee Related JP4843695B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009152311A JP4843695B2 (en) 2009-06-26 2009-06-26 Disk array control device and disk array device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009152311A JP4843695B2 (en) 2009-06-26 2009-06-26 Disk array control device and disk array device

Publications (2)

Publication Number Publication Date
JP2011008583A true JP2011008583A (en) 2011-01-13
JP4843695B2 JP4843695B2 (en) 2011-12-21

Family

ID=43565150

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009152311A Expired - Fee Related JP4843695B2 (en) 2009-06-26 2009-06-26 Disk array control device and disk array device

Country Status (1)

Country Link
JP (1) JP4843695B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014507717A (en) * 2011-01-18 2014-03-27 エルエスアイ コーポレーション Calculation of higher level redundant information
CN115167787A (en) * 2022-09-06 2022-10-11 苏州浪潮智能科技有限公司 Data unloading method, system, equipment and computer readable storage medium
CN117041256A (en) * 2023-10-08 2023-11-10 深圳市连用科技有限公司 Network data transmission and storage method and system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006171957A (en) * 2004-12-14 2006-06-29 Fujitsu Ltd Storage controller unit and storage control method
JP2008017662A (en) * 2006-07-07 2008-01-24 Yonezawa Densen Kk Contactless charger
JP2008071297A (en) * 2006-09-15 2008-03-27 Toshiba Corp Disk array device and data management method for disk array device
JP2008186400A (en) * 2007-01-31 2008-08-14 Fujitsu Ltd Raid system and data recovery apparatus using galois field
JP2009037304A (en) * 2007-07-31 2009-02-19 Hitachi Ltd Storage system with function of changing raid level

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006171957A (en) * 2004-12-14 2006-06-29 Fujitsu Ltd Storage controller unit and storage control method
JP2008017662A (en) * 2006-07-07 2008-01-24 Yonezawa Densen Kk Contactless charger
JP2008071297A (en) * 2006-09-15 2008-03-27 Toshiba Corp Disk array device and data management method for disk array device
JP2008186400A (en) * 2007-01-31 2008-08-14 Fujitsu Ltd Raid system and data recovery apparatus using galois field
JP2009037304A (en) * 2007-07-31 2009-02-19 Hitachi Ltd Storage system with function of changing raid level

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014507717A (en) * 2011-01-18 2014-03-27 エルエスアイ コーポレーション Calculation of higher level redundant information
CN115167787A (en) * 2022-09-06 2022-10-11 苏州浪潮智能科技有限公司 Data unloading method, system, equipment and computer readable storage medium
CN115167787B (en) * 2022-09-06 2023-01-24 苏州浪潮智能科技有限公司 Data unloading method, system, equipment and computer readable storage medium
CN117041256A (en) * 2023-10-08 2023-11-10 深圳市连用科技有限公司 Network data transmission and storage method and system
CN117041256B (en) * 2023-10-08 2024-02-02 深圳市连用科技有限公司 Network data transmission and storage method and system

Also Published As

Publication number Publication date
JP4843695B2 (en) 2011-12-21

Similar Documents

Publication Publication Date Title
US10191676B2 (en) Scalable storage protection
CN109388515B (en) System and method for storing data
JP5923964B2 (en) Disk array device, control device, and program
JP4901968B2 (en) Semiconductor memory device
JP5066199B2 (en) Semiconductor memory device
US8694865B2 (en) Data storage device configured to reduce buffer traffic and related method of operation
JP5968562B2 (en) Method and system for mirrored multidimensional RAID
US20060156059A1 (en) Method and apparatus for reconstructing data in object-based storage arrays
JP2016530637A (en) RAID parity stripe reconstruction
JP2010015195A (en) Storage controller and storage control method
TWI451257B (en) Method and apparatus for protecting the integrity of cached data in a direct-attached storage (das) system
KR20120086695A (en) Memory system with multiple striping of raid groups and method for performing the same
JP2018508073A (en) Data removal, allocation and reconstruction
US20170277450A1 (en) Lockless parity management in a distributed data storage system
CN111124262A (en) Management method, apparatus and computer readable medium for Redundant Array of Independent Disks (RAID)
JP5331018B2 (en) Solid state drive device and mirror configuration reconfiguration method
JP2000259359A (en) Raid device and recording medium
JP4843695B2 (en) Disk array control device and disk array device
US9106260B2 (en) Parity data management for a memory architecture
US9323617B2 (en) Remap raid to maintain raid level
JP2006178926A (en) Storage apparatus, system and method using a plurality of object-based storage devices
JPWO2014010077A1 (en) Disk array control device, disk array control method, and disk array control program
US11687251B2 (en) Dynamic repartition of memory physical address mapping
JP5598124B2 (en) DATA RECORDING / REPRODUCING DEVICE, DATA RECORDING METHOD, AND DATA RECORDING PROGRAM
JP7056874B2 (en) Controls, disk array devices, control methods, and programs

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110913

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20141014

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees