JP2011008583A - Disk array controller and disk array device - Google Patents
Disk array controller and disk array device Download PDFInfo
- 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
Links
Images
Abstract
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,
RAID1は、2台のHDD(Hard Disk Drive)を1組として用いてデータを完全に2重化する方法であり、ミラーリングと呼ばれる。RAID1は、信頼性が高く、RAID5等において用いられるパリティ(データ)の計算等を要しない単純さのため、高速な処理が可能である。その一方で、RAID1は、利用できる実効容量が物理容量の半分になる。
RAID5は、n(nは、3以上の整数)台のHDDを1組として、当該n台のHDDのうち、(n−1)台にデータ(データブロック)を格納(保存)し、残りの1台に当該データブロックのパリティを格納する方法である。このパリティは、当該パリティが格納されるHDD以外のHDDに格納されているデータから計算される。このパリティを用いることによって、例えばn台のHDDのうちの1台が故障した場合であっても当該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が故障した場合であってもデータを完全に復元することができる。
以下、RAID6において用いられる2つのパリティのうち、RAID5と同様のXORパリティをPパリティ、RAID6に固有のパリティ(つまり、XORパリティとは独立するパリティ)をQパリティと称する。ここでは、2つのXORパリティを用いる2D−XOR方式のRAID6については想定していない。
Hereinafter, of the two parities used in
ところで、上記した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
上記したように、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.
ところで、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
したがって、例えばデータのリアルタイム配信用のサーバのような、利用者に対して一定以上の性能を提供することを要するシステムにおいては、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
そこで、本発明の目的は、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.
以下、図面を参照して、本発明の実施形態について説明する。 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コントローラ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コントローラメモリ22には、応答性を向上するためにデータキャッシュが実装されていても構わない。
Note that a data cache may be mounted in the
ディスクアレイ装置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
ここでは、ディスクアレイ装置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
また、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-
図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コントローラ20は、置換完了情報格納部221を含む。本実施形態において、置換完了情報格納部221は、RAIDコントローラメモリ22に格納される。
The
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機能部211は、後述するような通常のRAIDコントローラの機能を有する。
The
パリティ置換機能部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
再構成機能部213は、RAID機能部211によって故障が検出されたHDD(HDD30-1、30-2、…、30-6のうちの1台)がユーザによって交換され、RAID6の再構成が指示された場合、ストライプ毎に再構成処理(ストライプ再構成処理)を実行する。
The
再構成機能部213は、パリティ置換処理が実行されたストライプに対しては、交換されたHDD(新HDD)以外のHDDからデータブロック及びQパリティを読み出す。再構成機能部213は、読み出されたQパリティを交換された新HDDに書き込む。
The
また、再構成機能部213は、読み出されたデータブロックからXOR演算によりPパリティを計算し、当該計算されたPパリティを本来のPパリティが格納される位置(つまり、Qパリティが上書きされていた位置)に書き込む。
Further, the
置換完了情報格納部221には、上記したように各ストライプについてパリティ置換処理が完了した旨を示す情報(置換完了情報)が格納される。置換完了情報格納部221には、HDD30-1、30-2、…、30-6のストライプ毎に例えば1ビットの判定フラグが置換完了情報として格納される。これにより、パリティ置換処理が完了したストライプを認識できる。
The replacement completion
なお、パリティ置換処理を順次に行う場合、当該パリティ置換処理が完了したストライプのアドレス(置き換え完了アドレス)のみを格納する構成であっても構わない。これによれば、置き換え完了アドレスに該当するストライプまでパリティ置換処理が完了している旨が示される。 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
図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
なお、図3に示す置換完了情報を格納できる領域301は、上記したHDD30-1、30-2、…、30-6が有する複数のストライプ(つまり、データブロック、Pパリティ及びQパリティ)の領域とは異なる領域である。
Note that the
ここで、図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
また、ストライプ番号2のストライプにおいては、HDD30-1にQ2、HDD30-2にD21、HDD30-3にD22、HDD30-4にD23、HDD30-5にD24、HDD30-6にP1が格納されている。
In the stripe with the
また、ストライプ番号3のストライプにおいては、HDD30-1にP3、HDD30-2にQ3、HDD30-3にD31、HDD30-4にD32、HDD30-5にD33、HDD30-6にD34が格納されている。
In the stripe of
ここでは、ストライプ番号1〜3について説明したが、ストライプ番号4以降のストライプについても同様である。
Although the
図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 (
次に、図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機能部211によってHDD30-2の故障が検出された場合、その旨がI/O装置を介してユーザに通知される。
When a failure of the HDD 30-2 is detected by the
RAID機能部211によってHDD30-2の故障が検出された場合、RAIDコントローラ20に含まれるパリティ置換機能部212は、置換完了情報格納部221に格納されている置換完了情報をリセットする(ステップS1)。この置換完了情報は、後述するパリティ置換処理が実行されたストライプを示す情報である。
When the failure of the HDD 30-2 is detected by the
次に、パリティ置換機能部212は、外部からのI/O要求があるか、つまり、外部から送信されたI/O要求がRAIDコントローラ20において取得されたか否かを判定する(ステップS2)。
Next, the parity
この外部からの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
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
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
パリティ置換機能部212は、置換対象ストライプに対してパリティ置換処理を実行する(ステップS4)。パリティ置換処理においては、RAID機能部211によって検出されたHDD30-2の故障によって欠損したQパリティの再計算が実行される。なお、再計算されたQパリティは、置換対象ストライプにおけるPパリティの位置に上書きされる。パリティ置換処理の詳細については後述する。
The parity
次に、パリティ置換機能部212は、置換対象ストライプについてパリティ置換処理が完了した旨を示す置換完了情報を置換完了情報格納部221に格納する。つまり、パリティ置換機能部212は、置換完了情報格納部221に格納されている置換完了情報を更新する(ステップS5)。
Next, the parity
一方、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
上記したステップ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
再構成要求が検出されたと判定された場合(ステップ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
次に、図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
上記した図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
具体的には、上記した図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
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
パリティ置換機能部212は、読み出されたデータブロックからガロア演算によりQパリティを再計算する(ステップS12)。
The parity
次に、パリティ置換機能部212は、置換対象ストライプにおいてPパリティが格納されている位置(HDD番号)を算出(特定)する(ステップS13)。
Next, the parity
パリティ置換機能部212は、置換対象ストライプにおいてPパリティが格納されている位置に、再計算されたQパリティを上書きする(ステップS14)。
The parity
なお、上記したステップ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
上記したように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
パリティ置換機能部212は、外部からのI/O要求がリード要求であるか否かを判定する(ステップS21)。
The parity
外部からの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
なお、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
アクセス対象ストライプにおいて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
アクセス対象ストライプについてパリティ置換処理が実行されていると判定された場合(ステップ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
次に、パリティ置換機能部212は、アクセス対象ストライプにおける複数のデータブロックからガロア演算によりQパリティを再計算し、当該再計算されたQパリティを上書きする(ステップS25)。つまり、再計算されたQパリティは、アクセス対象ストライプにおいて本来Pパリティが格納されるべき位置に上書きされる。
Next, the parity
一方、ステップ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
具体的に、ステップ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
また、ステップ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
また、ステップ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
次に、図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
まず、再構成機能部213は、再構成処理が完了した位置(ストライプ)を示す再構成完了位置をリセットする(ステップS31)。この再構成完了位置としては、HDD30-1、30-2、…、30-6における例えばストライプ番号が用いられる。
First, the
次に、再構成機能部213は、外部からのI/O要求があるか、つまり、外部から送信されたI/O要求がRAIDコントローラ20において取得されたか否かを判定する(ステップS32)。このI/O要求には、リード要求またはライト要求が含まれる。
Next, the
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
ここで、再構成時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
アクセス対象ストライプが再構成処理済みであると判定された場合、再構成機能部213は、通常のRAID6と同様の処理を実行する。具体的には、I/O要求がリード要求の場合には、アクセス対象ストライプにおけるデータブロックを当該要求に対する応答として返す。I/O要求がライト要求の場合には、当該要求に応じてデータブロックを書き込み、アクセス対象ストライプにおけるPパリティ及びQパリティを更新する。
When it is determined that the access target stripe has been reconfigured, the
一方、アクセス対象ストライプが再構成処理済みでないと判定された場合、前述した図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
上記したステップS32においてI/O要求がないと判定された場合、再構成機能部213は、再構成完了位置に基づいて再構成処理が実行されていないストライプの1つについて以下のステップS34〜ステップS36の処理を実行する。この場合、再構成機能部213は、再構成処理が実行されていないストライプのうちストライプ番号が最も小さいストライプについて処理を実行する。以下、この処理の対象となるストライプを再構成対象ストライプとする。
If it is determined in step S32 that there is no I / O request, the
再構成機能部213は、置換完了情報格納部221に格納されている置換完了情報に基づいて、再構成対象ストライプについてパリティ置換処理が完了しているか否かを判定する(ステップS34)。なお、パリティ置換処理において説明したように、当該パリティ置換処理が完了しているストライプは、必ずQパリティが存在する状態である。
Based on the replacement completion information stored in the replacement completion
再構成対象ストライプについてパリティ置換処理が完了していると判定された場合(ステップ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
一方、再構成対象ストライプについてパリティ置換処理が実行されていないと判定された場合(ステップ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機能部211は、当該再構成対象ストライプにおけるデータブロック(欠損しているデータブロック以外のデータブロック)及びPパリティから当該欠損しているデータブロックを復元し、当該復元されたデータブロックを新HDD(の当該再構成ストライプに該当する箇所)に書き込む。なお、この場合、PパリティでなくQパリティを用いてデータブロックを復元することも可能であるが、計算処理量の軽減を図るためPパリティを用いる方が好ましい。
Specifically, when a data block is missing in the reconstruction target stripe, the
また、再構成対象ストライプにおいてPパリティが欠損している場合、RAID機能部211は、当該再構成対象ストライプにおけるデータブロックからXOR演算によりPパリティを再計算し、当該再計算されたPパリティを新HDDに書き込む。
Further, when the P parity is missing in the reconstruction target stripe, the
また、再構成対象ストライプにおいてQパリティが欠損している場合、RAID機能部211は、当該再構成対象ストライプにおけるデータブロックからガロア演算によりQパリティを再計算し、当該再計算されたQパリティを新HDDに書き込む。
Further, when the Q parity is missing in the reconstruction target stripe, the
再構成対象ストライプについてパリティ置換処理が完了していない場合は、上記したような通常のRAID6と同様の再構成処理が実行される。
When the parity replacement process is not completed for the reconstruction target stripe, the reconstruction process similar to the
上記したステップS35またはステップS36の処理が実行されると、再構成機能部213は、再構成完了位置に基づいて、再構成処理が最終ストライプ(ストライプ番号が最後のストライプ)まで実行されたか否かを判定する(ステップS37)。
When the process of step S35 or step S36 described above is executed, the
再構成処理が最終ストライプまで実行されていないと判定された場合(ステップ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
ステップ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
再構成対象ストライプにおいて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
次に、再構成機能部213は、再構成対象ストライプにおける全てのデータブロック(ここでは、4つのデータブロック)を読み出す。再構成機能部213は、読み出されたデータブロックからXOR演算によりPパリティを再計算する(ステップS43)。
Next, the
再構成機能部213は、再構成対象ストライプにおける本来Pパリティが格納されるべき位置(つまり、Qパリティが格納されていた位置)に、再計算されたPパリティを書き込む(ステップS44)。
The
一方、再構成対象ストライプにおいて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
再構成対象ストライプにおいて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
次に、再構成機能部213は、再計算されたPパリティを新HDDに書き込む(ステップS47)。
Next, the
一方、再構成対象ストライプにおいて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
次に、再構成機能部213は、再計算されたデータブロックを新HDDに書き込む(ステップS49)。
Next, the
上記したように、再構成対象ストライプに対してストライプ再構成処理を実行することによって、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
ここでは、前述した図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
なお、図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
ここで、故障した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
なお、ストライプ番号3のストライプ以外のストライプを置換対象ストライプとするパリティ置換処理においては、当該置換対象ストライプにおいてはQパリティが欠損していないためQパリティの再計算及び上書き等の処理は実行されない。
In the parity replacement process in which a stripe other than the stripe of
ここで、故障した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
また、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
また、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
上記したように本実施形態においては、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
例えば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
また、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
また、本実施形態においては、ディスクアレイ装置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
また、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。 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)
前記第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の記憶装置に書き込む第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.
前記ディスクアレイ制御装置は、
前記第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.
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)
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)
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 |
-
2009
- 2009-06-26 JP JP2009152311A patent/JP4843695B2/en not_active Expired - Fee Related
Patent Citations (5)
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)
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 |