JP4469822B2 - Disk array device and data management method for disk array device - Google Patents
Disk array device and data management method for disk array device Download PDFInfo
- Publication number
- JP4469822B2 JP4469822B2 JP2006251721A JP2006251721A JP4469822B2 JP 4469822 B2 JP4469822 B2 JP 4469822B2 JP 2006251721 A JP2006251721 A JP 2006251721A JP 2006251721 A JP2006251721 A JP 2006251721A JP 4469822 B2 JP4469822 B2 JP 4469822B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- redundant
- area
- access history
- history information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 34
- 238000013523 data management Methods 0.000 title claims description 9
- 238000012790 confirmation Methods 0.000 claims description 13
- 125000004122 cyclic group Chemical group 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000000737 periodic effect Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000004043 responsiveness Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 239000000470 constituent Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Description
本発明は、例えばRAID(redundant array of inexpensive disks)6を構成するディスクアレイ装置に適用して好適なデータ管理技術に関する。 The present invention relates to a data management technique suitable for application to, for example, a disk array device constituting a redundant array of inexpensive disks (RAID) 6.
近年、電子商取引の普及等に伴い、高応答性や耐障害性など、データ記憶装置に対する要求が非常に高まっている。この要求に応える技術として、複数のディスク装置を並列に接続して、これらをあたかも1台のディスク装置のように連携して動作させるRAID機能が存在する。 In recent years, with the spread of electronic commerce and the like, demands for data storage devices such as high responsiveness and fault tolerance have been greatly increased. As a technology that meets this requirement, there is a RAID function in which a plurality of disk devices are connected in parallel, and operate as if they were a single disk device.
特に、最新のRAID−6では、パリティデータなどと称される冗長データを2種類使用することにより、整合性確認の強化が図られている。また、このRAID−6を構成するディスクアレイ装置においては、データ不正箇所を特定するための手法なども種々提案されている(例えば特許文献1等参照)。
この特許文献1に記載のディスクアレイ装置では、2種類の冗長データが存在することに着目し、被疑データを未知数とする連立方程式を順次解いていくことにより、誤りデータを特定する。
In the disk array device described in
しかしながら、この手法は、ディスクアレイ装置が備える複数のディスク装置すべてが正常稼働している場合、より厳密には、ストライプグループ内に、故障状態にあるディスク装置内の区域が配置されていない場合にのみ有効である。換言すれば、1台のディスク装置が故障状態にある場合、この故障状態にあるディスク装置内の区域が配置されたストライプグループでは、整合性確認で不整合が検出できたとしても、データ不正箇所を特定することはできないことになる。 However, this method is used when all of the plurality of disk devices included in the disk array device are operating normally. More strictly, when the area in the disk device in the failed state is not arranged in the stripe group. Only valid. In other words, if one disk unit is in a failed state, even if an inconsistency can be detected by the consistency check in the stripe group in which an area in the disk unit in the failed state is arranged, the data illegal location Cannot be specified.
この発明は、このような事情を考慮したものであり、例えばRAID−6を構成する複数のディスク装置の中の1台のディスク装置が故障状態にあっても、整合性確認で不整合が検出された場合には、データ不正箇所を特定すること等を可能とするディスクアレイ装置およびディスクアレイ装置のデータ管理方法を提供することを目的とする。 The present invention takes such circumstances into consideration, and for example, even if one of the plurality of disk devices constituting RAID-6 is in a failure state, inconsistency is detected by the consistency check. In such a case, it is an object of the present invention to provide a disk array device and a data management method for the disk array device that make it possible to specify an illegal portion of data.
前述した目的を達成するために、この発明は、複数のディスク装置にデータおよび前記データの冗長データを分散して記録するディスクアレイ装置において、前記データおよび前記冗長データの実際の記録単位よりも大きいデータ長で前記複数のディスク装置それぞれの記録領域を区域分けして、前記データまたは前記冗長データの書き込みに関するアクセス履歴情報を記録するための冗長領域を前記複数のディスク装置それぞれの各区域ごとに確保する冗長領域確保手段と、データの書き込み時、同一の冗長データを用いるストライプグループごとに、当該データが記録される1または2以上の区域の冗長領域と当該データの冗長データが記録される区域の冗長領域とに、そのストライプグループを構成する全区域の中で前記データまたは前記冗長データが同期的に記録される区域を示すビットマップデータを含む同一のアクセス履歴情報を記録するアクセス履歴情報記録手段と、前記複数のディスク装置の中の1台のディスク装置が故障状態にあるとき、この故障状態にあるディスク装置内の区域が配置されたストライプグループにおいて前記冗長データを用いた整合性確認で不整合が検出された場合に、前記冗長データが記録される区域の冗長領域に記録されたアクセス履歴情報および当該アクセス履歴情報に含まれるビットマップデータによって前記冗長データと同期的に前記データが記録された旨が示される区域の冗長領域に記録されたアクセス履歴情報を読み出して比較することにより、データ不正箇所を特定するデータ不正箇所特定手段と、を具備することを特徴とする。 In order to achieve the above-described object, the present invention provides a disk array device that records data and redundant data of the data in a plurality of disk devices in a distributed manner and is larger than the actual recording unit of the data and redundant data. The recording area of each of the plurality of disk devices is divided into sections by data length, and a redundant area for recording access history information related to writing of the data or the redundant data is secured for each of the plurality of disk devices. A redundant area securing means for the data, and at the time of data writing, for each stripe group using the same redundant data, the redundant area of one or more areas where the data is recorded and the area where the redundant data of the data is recorded in the redundant area, the data or in the entire area constituting the stripe group And the access history information recording means for serial redundant data records with the same access history information including bitmap data indicating the area to be synchronously recorded, the fault condition one disk apparatus in said plurality of disk devices When a mismatch is detected by the consistency check using the redundant data in the stripe group in which the area in the disk device in the failed state is arranged, the redundant area of the area in which the redundant data is recorded The access history information recorded in the redundant area of the area where the fact that the data has been recorded synchronously with the redundant data is read out by the access history information recorded in the bitmap and the bitmap data included in the access history information. by comparison, the characterized by comprising a data invalid portion identifying means for identifying the data invalid location, the That.
また、この発明は、複数のディスク装置にデータおよび前記データの冗長データを分散して記録するディスクアレイ装置のデータ管理方法であって、前記データおよび前記冗長データの実際の記録単位よりも大きいデータ長で前記複数のディスク装置それぞれの記録領域を区域分けして、前記データまたは前記冗長データの書き込みに関するアクセス履歴情報を記録するための冗長領域を前記複数のディスク装置それぞれの各区域ごとに確保し、データの書き込み時、同一の冗長データを用いるストライプグループごとに、当該データが記録される1または2以上の区域の冗長領域と当該データの冗長データが記録される区域の冗長領域とに、そのストライプグループを構成する全区域の中で前記データまたは前記冗長データが同期的に記録される区域を示すビットマップデータを含む同一のアクセス履歴情報を記録し、前記複数のディスク装置の中の1台のディスク装置が故障状態にあるとき、この故障状態にあるディスク装置内の区域が配置されたストライプグループにおいて前記冗長データを用いた整合性確認で不整合が検出された場合に、前記冗長データが記録される区域の冗長領域に記録されたアクセス履歴情報および当該アクセス履歴情報に含まれるビットマップデータによって前記冗長データと同期的に前記データが記録された旨が示される区域の冗長領域に記録されたアクセス履歴情報を読み出して比較することにより、データ不正箇所を特定する、ことを特徴とする。
Further, the present invention provides a data management method for a disk array device for distributing and recording data and redundant data of the data on a plurality of disk devices, wherein the data is larger than the actual recording unit of the data and redundant data. The recording area of each of the plurality of disk devices is divided into sections by length, and a redundant area for recording access history information related to the writing of the data or the redundant data is secured for each section of the plurality of disk devices. , when writing data, each stripe group using the same redundant data, to the redundant area of
この発明によれば、例えばRAID−6を構成する複数のディスク装置の中の1台のディスク装置が故障状態にあっても、整合性確認で不整合が検出された場合には、データ不正箇所を特定すること等を可能とする。 According to the present invention, for example, if an inconsistency is detected in the consistency check even if one of the plurality of disk devices constituting RAID-6 is in a failure state, an illegal data location is detected. Can be specified.
以下、図面を参照して本発明の実施形態を説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
図1には、本実施形態に係るディスクアレイ装置の構成例が示されている。このディスクアレイ装置は、RAIDコントローラ2と複数のHDD(hard disk drive)3とで構成され、あたかも1台のディスク装置のごとく振る舞ってホスト装置1からのアクセス要求を受け付ける。そして、このRAIDコントローラ2は、複数のHDD3を使ってRAID−6形式のRAID4を構成する。つまり、RAIDコントローラ2は、並列接続された複数のHDD3でストライピングを行い、各ストライプグループ4AごとにPパリティ/Qパリティと称される2種類のパリティデータ(冗長データ)を生成して、この2種類のパリティデータを複数のHDD3に巡回的に分散させて記録する。
FIG. 1 shows a configuration example of a disk array device according to the present embodiment. This disk array device is composed of a
ここで、本実施形態のディスクアレイ装置についての理解を助けるために、RAID−6の基本原理について説明する。図2に、RAID−6のデータ配置例を示す。 Here, the basic principle of RAID-6 will be described in order to facilitate understanding of the disk array device of the present embodiment. FIG. 2 shows a data arrangement example of RAID-6.
(1)RAID−6のパリティ生成
(a)Pパリティデータ生成時の計算式
RAID−6のPパリティデータは、RAID−5のパリティデータと同様に、対象となるストライプグループ全てのデータストライプのビット単位の排他的論理和(XOR)演算にて算出する。例えば、ストライプグループ1のPパリティデータは、次の(1)式で求められる。
(b)Qパリティデータは、対象となるストライプグループの各々のデータストライプに、そのストライプグループに唯一のデータとなる係数(重み)を用いてガロア体の乗算を行い、それぞれの積をXOR演算することで算出する。例えば、ストライプグループ1のQパリティデータは、次の(2)式で求められる。
(2)RAID−6のパリティ更新
RAID−6のPパリティデータとQパリティデータは、データストライプのデータが新しいデータで更新される場合には、整合性を維持するためにそれぞれ更新しなければならない。
(2) RAID-6 parity update RAID-6 P parity data and Q parity data must be updated to maintain consistency when data stripe data is updated with new data. .
(a)Pパリティデータ更新時の計算式
Pパリティデータ更新の計算には、newデータを用いてパリティ生成時と同じ計算を行う方法と、ライト対象のoldデータおよびnewデータとPパリティのoldデータとから計算を行う方法がある。ストライプグループ1のデータ1がライトされた場合の後者の方法による計算式を以下に示す((3)式)。
(b)Qパリティデータ更新時の計算式
Qパリティデータ更新にも2種類の計算方法があり、以下に、ストライプグループ1のデータ2がライトされた場合に、ライト対象のoldデータおよびnewデータとQパリティのoldデータとから計算を行う計算式を示す((4)式)。
(3)RAID−6の整合性確認
例えば、HDDに格納したデータとパリティデータを読み出し、読み出したデータをもとにパリティデータを再計算して、先に読み出したパリティデータと一致するか否かを確認する。
(3) Consistency check of RAID-6 For example, the data and parity data stored in the HDD are read, the parity data is recalculated based on the read data, and whether or not it matches the previously read parity data Confirm.
(a)RAIDが正常状態の場合
RAIDが正常状態の場合は、すべてのHDDからデータを読み出してパリティを再計算し、読み出したパリティと一致するかの確認を行う。なお、不整合を検出した場合、改めてパリティを再生する等、システムの方針に基づいてリカバリする。
(A) When the RAID is in a normal state When the RAID is in a normal state, the data is read from all the HDDs, the parity is recalculated, and it is confirmed whether or not it matches the read parity. When inconsistency is detected, recovery is performed based on the policy of the system, such as regenerating parity again.
(ア)Pパリティデータを使用した整合性の確認方法
次の(5)式が成立することを確認する。
(イ)Qパリティデータを使用した整合性の確認方法
次の(6)式が成立することを確認する。
(b)RAIDが縮退状態(HDDが1台故障)の場合
RAIDが縮退状態で、かつ、故障HDDがデータストライプの場合は、まずPパリティとその他の正常HDDのデータから故障したHDDのデータを復元し、その復元データと正常HDDのデータからQパリティを再計算し、読み出したQパリティと一致するかの確認を行う。
(B) When the RAID is in a degraded state (one HDD has failed) When the RAID is in a degraded state and the failed HDD is a data stripe, first, the failed HDD data is determined from the P parity and other normal HDD data. Then, the Q parity is recalculated from the restored data and the normal HDD data, and it is confirmed whether or not it matches the read Q parity.
例えば、図3に示すように、ストライプグループ1のデータ2が記録されたHDDが故障した場合を想定すると、この場合の整合性確認は、以下の(7)式,(8)式の順に計算して、(8)式が成立することを確認する。
以上のように、RAID−6では、HDDが1台故障の縮減状態の場合にも、データ整合性確認を行うことができる。しかしながら、このデータ整合性確認で万一不整合が検出された場合は、データ誤りのある不正箇所を特定することができない。そこで、本実施形態のディスクアレイ装置は、HDDが1台故障の縮減状態の場合にあっても、データ整合性確認で不整合が検出された場合には、データ不正箇所を特定すること等を可能としたものであり、以下、この点について詳述する。 As described above, in RAID-6, data consistency can be confirmed even when one HDD is in a reduced state of failure. However, if an inconsistency is detected in this data consistency check, an illegal location with a data error cannot be specified. Therefore, the disk array device according to the present embodiment specifies an illegal data location when an inconsistency is detected in the data consistency check even when one HDD is in a reduced state of failure. Hereinafter, this point will be described in detail.
図1に示すように、RAIDコントローラ2は、制御部21、整合性確認部22、セクタ冗長領域確保部23、アクセス履歴記録部24、データ不正箇所特定部25および簡易整合性確認部26を有している。RAIDコントローラ2は、制御部21によって全体的な動作制御が司られており、整合性確認部22、セクタ冗長領域確保部23、アクセス履歴記録部24、データ不正箇所特定部25および簡易整合性確認部26の各部は、この制御部21の制御下で動作する。
As shown in FIG. 1, the
整合性確認部22は、例えばホスト装置1からのデータアクセスが無い空き時間などを利用して、前述したデータ整合性確認を実施する。即ち、HDD3に格納されたデータとパリティデータを読み出し、読み出したデータをもとにパリティデータを再計算して、先に読み出したパリティデータと一致するか否かを確認する処理を実行する。
The
セクタ冗長領域確保部23は、HDD3のセクタあたりの記憶容量(Byte par Sector)を、実際に有効なデータを格納する容量に対して大きくなるように設定して、未使用部分となる領域を確保する。この未使用部分となって任意に使用可能とした領域を、ここでは、セクタ冗長領域と称する。例えば、HDD3の1セクタあたりの記録容量を520バイトフォーマットとし、見かけ上のフォーマットは1セクタあたり512バイトとすることで、セクタ冗長領域確保部23は、8バイトのセクタ冗長領域を確保する。
The sector redundant
また、アクセス履歴記録部24は、セクタ冗長領域確保部23によって確保されたセクタ冗長領域に、アクセス履歴情報およびデータ保護情報(CRC:cyclic redundancy check)を記録する。アクセス履歴情報は、次の2種類の内容を含んでいる。
The access
(1)タイムスタンプ
ライト要求に伴い、対象ストライプグループの同時ライトするHDD3すべてに同じタイムスタンプ(HDD3にデータをライトする時刻)を記録する。
(1) Time stamp In accordance with the write request, the same time stamp (time for writing data to the HDD 3) is recorded in all the
(2)ビットマップデータ
対象ストライプグループの同時ライトするHDD3すべてのRAID内の位置を示すビットマップデータを記録する。ライト先HDD3が故障のためにデータをライトできない場合でも、ライト対象のHDD3であることを示すようにビットマップに反映する(後でHDD3が交換され、データ復元の際、セクタ冗長領域のアクセス履歴情報をコピーするときの制御で使用するためである)。
(2) Bitmap data Bitmap data indicating the positions in the RAID of all
図4は、セクタ冗長領域確保部23によって確保されたセクタ冗長領域に、アクセス履歴記録部24によってアクセス履歴情報およびデータ保護情報が記録される様子を示す概念図である。なお、RAIDの初期化処理は、データストライプからパリティを生成してHDDにライトする処理であるが、この初期化処理時には、データストライプおよびパリティストライプのすべてのHDDのセクタ冗長領域に、初期化処理によってライトする時刻をタイムスタンプとして、ストライプグループすべてのHDDがライト対象となるデータをビットマップデータとしてそれぞれ記録する。また、初期化処理中に初期化が完了していない論理アドレスに対するライト要求があった場合には、通常のライト時と同じアクセス履歴情報を記録しておく。初期化処理が進み、いずれ、そのストライプグループも初期化によって上記のアクセス履歴情報に上書きされることになる。
FIG. 4 is a conceptual diagram showing how access history information and data protection information are recorded by the access
そして、データ不正箇所特定部25は、このセクタ冗長領域に記録されたアクセス履歴情報に基づいて、これまでは不可能であった、HDDが1台故障の縮減状態時に整合性確認部22が不整合を検出した場合のデータ不正箇所の特定を実現する。
Based on the access history information recorded in the sector redundancy area, the data illegal
データの更新(ライト)に伴い、その対象ストライプグループのデータとパリティ間の整合性を保つために、PパリティデータおよびQパリティデータも同時に更新しなければならない。基本的にRAIDが正常な状態におけるデータライトでは、少なくともデータストライプ,Pパリティストライプ,Qパリティストライプの3つが同時に更新されるはずである。つまり、これらのHDD3にライトされたセクタ冗長領域には、同じ情報が格納されているはずであるので、この点に着目して、データ不正箇所特定部25は、データ不正箇所を特定する。
As data is updated (written), P parity data and Q parity data must be updated simultaneously in order to maintain consistency between the data and parity of the target stripe group. Basically, in a data write in a normal RAID state, at least three data stripes, P parity stripes, and Q parity stripes should be updated simultaneously. That is, since the same information should be stored in the sector redundancy areas written in these
次に、図5乃至図7を参照して、データライトに伴うセクタ冗長領域へのアクセス履歴情報の記録例(ケース1〜ケース3)を説明する。
Next, an example of recording access history information (
(ケース1:図5)
ホスト装置1からのデータライト要求を受けると(図5(1))、RAIDコントローラ2の制御部21は、ライトすべきHDD3を判断する。ここでは、HDD(1)にライトデータがライトされ、これに伴い、HDD(4)のPパリティデータ、HDD(5)のQパリティデータが更新(ライト)されるものとする。
(Case 1: Fig. 5)
When receiving a data write request from the host device 1 (FIG. 5 (1)), the
この場合、アクセス履歴記録部24は、HDD(1),HDD(4),HDD(5)がライト対象HDDであると判断されたことから、”10011”というビットマップデータを生成する。また、アクセス履歴記録部24は、例えば内蔵する時計モジュール等のハードウェア資源より時刻を取得し、タイムスタンプを準備する。
In this case, since the access
これと並行して、RAIDコントローラ2では、Pパリティデータ/Qパリティデータを更新するためのoldデータのリード(図5(2))と、Pパリティデータ/Qパリティデータの再計算(図5(3),(4))とが行われる。図5の例では、前述した2つの計算方法のうち、ライト対象のoldデータとnewデータとを使った計算方法が使用されている。
In parallel with this, the
そして、ライトデータおよびPパリティデータ/QパリティデータのHDDへのライトが行われる際(図5(5))、アクセス履歴記録部24は、セクタ冗長領域へのタイムスタンプおよびビットマップデータのライトを同時に行う。その結果、ライトデータおよびPパリティデータ/QパリティデータがライトされたHDD(1)、HDD(4)、HDD(5)の各セクタのセクタ冗長領域には、図5(B)に示すような、同一のアクセス履歴情報が記録されることになる。また、このセクタ冗長領域へのタイムスタンプおよびビットマップデータのライト時、アクセス履歴記録部24は、ライトデータおよびPパリティデータ/QパリティデータのCRCを計算して、それぞれのセクタ冗長領域へライトすることも併せて行っている(以下、同じ)。
When the write data and P parity data / Q parity data are written to the HDD (FIG. 5 (5)), the access
(ケース2:図6)
このケースでは、HDD(1)、HDD(2)にライトデータがライトされ、これに伴って、HDD(4)のPパリティデータ、HDD(5)のQパリティデータが更新(ライト)される。そこで、アクセス履歴記録部24は、”11011”というビットマップデータを生成する。
(Case 2: Fig. 6)
In this case, write data is written to the HDD (1) and HDD (2), and accordingly, the P parity data of the HDD (4) and the Q parity data of the HDD (5) are updated (written). Therefore, the access
また、図6の例では、Pパリティデータ/Qパリティデータが、newデータを用いてパリティ生成時と同じ計算を行う方法で再計算されている。そのために、HDD(3)からのデータリードが行われるが、HDD(3)へのデータライトは行われないため、アクセス履歴情報は記録されない。よって、このHDD(3)を除いた、ライトデータおよびPパリティデータ/QパリティデータがライトされたHDD(1)、HDD(2)、HDD(4)、HDD(5)の各セクタのセクタ冗長領域に、図6(B)に示すような、同一のアクセス履歴情報が記録されることになる。 In the example of FIG. 6, P parity data / Q parity data is recalculated by using the same calculation method as that for parity generation using new data. For this reason, data reading from the HDD (3) is performed, but data writing to the HDD (3) is not performed, so that access history information is not recorded. Therefore, sector redundancy of each sector of HDD (1), HDD (2), HDD (4), and HDD (5) to which write data and P parity data / Q parity data are written, excluding this HDD (3). The same access history information as shown in FIG. 6B is recorded in the area.
(ケース3:図7)
このケースは、図5に示したケース1と同様、HDD(1)にライトデータがライトされ、これに伴って、HDD(4)のPパリティデータ、HDD(5)のQパリティデータが更新(ライト)されるというものである。しかしながら、HDD(1)が故障状態にあるために、HDD(1)へのライトが行えない状況にある。
(Case 3: Fig. 7)
In this case, as in the
そのために、ここでは、図7に示すように、ライト対象のoldデータとnewデータとを使った計算方法ではなく、newデータを用いてパリティ生成時と同じ計算を行う方法でPパリティデータ/Qパリティデータを再計算し、このPパリティデータ/QパリティデータのみのライトをHDD(4)、HDD(5)に対して行っている。従って、HDD(1)へのライトは実際には行っていない。 For this purpose, as shown in FIG. 7, the P parity data / Q is not calculated by using the old data and new data to be written, but by the same calculation as that at the time of parity generation using new data. Parity data is recalculated, and writing of only the P parity data / Q parity data is performed on the HDD (4) and the HDD (5). Therefore, the writing to the HDD (1) is not actually performed.
この場合でも、アクセス履歴記録部24は、HDD(1)はライトが行われるべきであったとして、”10011”というビットマップデータを作成する。HDD(1)は故障状態にあるので、図7(B)に示すような、同一のアクセス履歴情報が、HDD(4)、HDD(5)に記録されることになる。
Even in this case, the access
次に、図8を参照して、このようにアクセス履歴情報が記録される本実施形態のディスクアレイ装置において、データ不正箇所特定部25が、HDDが1台故障の縮減状態時に整合性確認部22が不整合を検出した場合のデータ不正箇所の特定をどのように実現しているのかについて説明する。
Next, referring to FIG. 8, in the disk array device of this embodiment in which the access history information is recorded in this way, the data illegal
データ不正箇所特定部25は、まず、PパリティとQパリティのアクセス履歴情報を読み出し(ステップA1)、これらが一致しているかを調べる(ステップA2)。もし、一致していれば(ステップA2のYes)、データ不正箇所特定部25は、このパリティストライプのビットマップを参照し、対象となる同時ライトしたHDD3からアクセス履歴情報をリードする(ステップA3)。そして、データ不正箇所特定部25は、データHDDのアクセス履歴情報とパリティHDDのアクセス履歴情報を比較し(ステップA4)、情報が一致しない矛盾があるHDD3を見つけてRAID機能にてデータ訂正する(ステップA5)。
The illegal data
一方、PパリティとQパリティのアクセス履歴情報が一致していなければ(ステップA2のNo)、データ不正箇所特定部25は、第1に、Pパリティのアクセス履歴情報のビットマップデータをもとに対象となる同時ライトしたHDD3からアクセス履歴情報をリードして比較する(ステップA6)。ここで、データ不正箇所特定部25は、”比較対象HDDなし”であれば比較結果A、”全て一致”であれば比較結果B、”不一致”であれば比較結果C、とする分類を行う(ステップA7)。
On the other hand, if the access history information of the P parity and the Q parity do not match (No in step A2), the data illegal
また、データ不正箇所特定部25は、第2に、Qパリティのアクセス履歴情報のビットマップデータをもとに対象となる同時ライトしたHDD3からアクセス履歴情報をリードして比較する(ステップA8)。ここでも、データ不正箇所特定部25は、”比較対象HDDなし”であれば比較結果D、”全て一致”であれば比較結果E、”不一致”であれば比較結果F、とする分類を行う(ステップA9)。
Secondly, the illegal data
そして、データ不正箇所特定部25は、この第1の比較結果の分類と第2の比較結果の分類との組み合わせに基づき、図9に示すように、データ不正箇所の判定および訂正を実行する(ステップA10)。
Then, based on the combination of the classification of the first comparison result and the classification of the second comparison result, the data illegal
このように、本実施形態のディスクアレイ装置は、セクタ冗長領域確保部23によってセクタ冗長領域を確保し、(この確保したセクタ冗長領域に)アクセス履歴記録部24によってアクセス履歴情報を記録するので、データ不正箇所特定部25による、これまでは不可能であった、HDDが1台故障の縮減状態時に整合性確認部22が不整合を検出した場合のデータ不正箇所の特定を実現する。
As described above, the disk array device according to the present embodiment secures the sector redundancy area by the sector redundancy
ところで、以上では、このアクセス履歴情報の用途として、整合性確認部22によりデータ不整合が検出された場合のデータ不正箇所の特定に利用する例を説明した。しかしながら、このアクセス履歴情報は、これだけに限定されず、例えばデータライト時の検証にも利用することができる。そのために、本実施形態のディスクアレイ装置では、簡易整合性確認部26を備える。
By the way, as described above, as an application of the access history information, an example has been described in which it is used for specifying an illegal data portion when a data inconsistency is detected by the
簡易整合性確認部26は、ライト処理の過程において動作し、PパリティやQパリティを使った高負荷の計算を実行することなく、当該ライト処理が正常に行われたかどうかを検証するものである。図10を参照して、この簡易整合性確認部26が実行する簡易整合性確認の手順を説明する。
The simple
簡易整合性確認部26は、まず、両パリティストライプをリードし、アクセス履歴情報が一致しているか確認する(ステップB1のYes,ステップB2)。もし、一致していなければ(ステップB3のNo)、この時点で、不整合が生じていると判定する(ステップB8)。
The simple
一方、アクセス履歴情報が一致していれば(ステップB3のYes)、簡易整合性確認部26は、ビットマップデータを参照し、同時ライト対象のHDDからアクセス履歴情報をリードしてパリティストライプの情報と一致しているか確認する(ステップB4,ステップB5)。そして、一致していなければ(ステップB5のNo)、不整合が生じていると判定する(ステップB8)。
On the other hand, if the access history information matches (Yes in step B3), the simple
また、一致していれば(ステップB5のYes)、簡易整合性確認部26は、データ保護情報(CRC)を使ってデータ自体のチェックを行い(ステップB6)、エラーが検出されたら(ステップB7のNo)、不整合が生じていると判定する(ステップB8)。
If they match (Yes in step B5), the simple
従って、本実施形態のディスクアレイ装置が実行するデータライトの手順は、図11に示すような流れとなる。 Therefore, the data write procedure executed by the disk array device of this embodiment is as shown in FIG.
ホスト装置1からデータライト要求を受け付けると(ステップC1)、どのHDDのどのアドレス(セクタ)へライトすべきか判断し、対象ストライプグループのライトすべき全てのHDDの位置を示すビットマップを生成すると共に(ステップC2)、データ書き込み時刻(タイムスタンプ)を内蔵のハードウェアなどから得る(ステップC3)。 When a data write request is received from the host device 1 (step C1), it is determined which address (sector) of which HDD should be written, and a bitmap indicating the positions of all HDDs to be written in the target stripe group is generated. (Step C2) The data writing time (time stamp) is obtained from the built-in hardware or the like (Step C3).
次に、必要により各々のHDDからoldデータをリードし(ステップC4)、パリティ更新データを計算すると共に(ステップC5)、ライトデータおよびパリティ更新データのCRCを計算する(ステップC6)。そして、対象セクタのデータ領域にホスト要求ライトデータ、冗長領域にタイムスタンプ、ビットマップデータおよびCRCが格納されるように、バッファ領域にデータをセットして(ステップC7)、HDDへライト要求を発行する(ステップC8)。 Next, if necessary, old data is read from each HDD (step C4), parity update data is calculated (step C5), and CRC of write data and parity update data is calculated (step C6). Then, data is set in the buffer area so that the host request write data is stored in the data area of the target sector, and the time stamp, bitmap data, and CRC are stored in the redundant area (step C7), and a write request is issued to the HDD. (Step C8).
すべてのライト対象HDDへのデータライトが完了したら(ステップC9のYES)、図10に詳細な手順を示した、アクセス履歴情報を使った簡易整合性確認を実施する(ステップC10)。もし、不整合と判定したら(ステップC11のYES)、ライト処理を再実行し(ステップC12)、整合と判定したら(ステップC11のNO)、ホスト装置1に対してデータライト完了を応答する(ステップC13)。 When data writing to all write target HDDs is completed (YES in step C9), a simple consistency check using the access history information shown in the detailed procedure in FIG. 10 is performed (step C10). If it is determined that it is inconsistent (YES in step C11), the write process is re-executed (step C12). If it is determined that it is consistent (NO in step C11), a data write completion response is returned to the host device 1 (step S11). C13).
データライト時に簡易整合性確認で不整合が検出できれば、RAIDコントローラ2中にライトすべきデータが存在しているので、リカバリが短時間で可能である。また、簡易整合性確認自体も、パリティ計算を必要としないので、応答性の大幅な低下を招くといったことがない。さらに、このアクセス履歴情報の一致確認をハードウェアで行うようにすれば、高速に処理することが可能である。
If inconsistency can be detected by simple consistency check at the time of data writing, the data to be written exists in the
また、次に、HDDが1台故障の縮減状態から正常状態に復帰した場合のアクセス履歴情報のコピー手順について説明する。 Next, a description will be given of a procedure for copying access history information when a single HDD is restored from a reduced state of failure to a normal state.
HDD故障時、HDDの交換やホットスペアHDDを使用することなどによって、故障したHDDのデータをRAID機能により復元し、交換したHDDにデータを格納することで、故障状態から回復させることができる。そこで、本実施形態のディスクアレイ装置においては、このデータ復元の際、セクタ冗長領域のアクセス履歴情報もコピーする。図12は、このコピー手順を示すフローチャートである。 When the HDD fails, it is possible to recover from the failed state by restoring the failed HDD data by the RAID function by replacing the HDD or using a hot spare HDD and storing the data in the replaced HDD. Therefore, in the disk array device of this embodiment, the access history information of the sector redundant area is also copied at the time of this data restoration. FIG. 12 is a flowchart showing this copy procedure.
まず、P,Qどちらかアクセス可能な方のパリティストライプをリードし、アクセス履歴情報のビットマップデータをコピーする(ステップD1のYes,ステップD2)。データ復元先のHDDが、そのビットマップ情報でライト先HDDの対象となっている場合は(ステップD3のYes)、タイムスタンプもパリティストライプのタイムスタンプをコピーする(ステップD4)。一方、ライト先HDDの対象になっていない場合は(ステップD3のNo)、タイムスタンプをゼロとして格納する(ステップD5)。 First, the P or Q accessible parity stripe is read, and the bitmap data of the access history information is copied (Yes in step D1, step D2). If the data restoration destination HDD is the target of the write destination HDD in the bitmap information (Yes in step D3), the time stamp of the parity stripe is also copied (step D4). On the other hand, if it is not the target of the write destination HDD (No in step D3), the time stamp is stored as zero (step D5).
故障などで両パリティストライプがリードできない場合は(ステップD1のNo)、データストライプのアクセス履歴情報のタイムスタンプが最新のものを見つけて、その情報をコピーする(ステップD6)。そして、データ復元先のHDDが、そのビットマップ情報でライト先HDDの対象となっている場合は(ステップD7のYes)、タイムスタンプもデータストライプのタイムスタンプをコピーし(ステップD8)、一方、ライト先HDDの対象になっていない場合は(ステップD7のNo)、タイムスタンプをゼロとして格納する(ステップD9)。 If both parity stripes cannot be read due to a failure or the like (No in step D1), the latest data stamp access history information time stamp is found and the information is copied (step D6). If the data restoration destination HDD is the target of the write destination HDD in the bitmap information (Yes in step D7), the time stamp also copies the time stamp of the data stripe (step D8), If it is not the target of the write destination HDD (No in step D7), the time stamp is stored as zero (step D9).
これにより、有効データの復元時に、セクタ冗長領域のアクセス履歴情報も復元されることになる。なお、データ保護情報(CRC)は、復元した有効データそれぞれから再計算されることになる。 As a result, the access history information of the sector redundancy area is also restored at the time of restoring the valid data. The data protection information (CRC) is recalculated from each restored valid data.
以上のように、本実施形態のディスクアレイ装置によれば、データライト抜けによるデータ不正をセクタ冗長領域に記録されたタイムスタンプおよびビットマップデータを使って検出できるので、RAID−6を構成する複数のディスク装置の中の1台のディスク装置が故障状態にあっても、整合性確認で不整合が検出された場合には、データ不正箇所を特定すること等を可能とする。さらに、ビット化けによるデータ不正もセクタ冗長領域に記録されたCRCを使って検出することを可能とする。 As described above, according to the disk array device of the present embodiment, data fraud due to data write omission can be detected using the time stamp and bitmap data recorded in the sector redundancy area. Even if one of the disk devices is in a failed state, if an inconsistency is detected by the consistency check, it is possible to specify an illegal data portion. Furthermore, it is possible to detect data fraud due to garbled bits using the CRC recorded in the sector redundancy area.
なお、以上では、RAID−6形式のRAIDについて説明したが、セクタ冗長領域を確保してアクセス履歴情報を記録するという手法は、RAID−6形式以外のRAIDについても適用することが可能である。 In the above, RAID-6 format RAID has been described. However, the technique of securing sector redundancy areas and recording access history information can also be applied to RAIDs other than RAID-6 format.
また、例えばホスト装置1からのデータアクセスが無い空き時間などを利用して、データ整合性確認を周期的に実施する整合性確認部22は、前述のように、読み出したデータからパリティデータを再計算して比較することによって整合性を確認するのが一般的であるが、本実施形態のディスクアレイ装置では、簡易整合性確認部26と同様に、セクタ冗長領域に記録されたタイムスタンプ、ビットマップデータおよびCRCを使って効率的に整合性を確認することも可能である(つまり、整合性確認部22を設けず、簡易整合性確認部26に周期的な整合性確認も行わせることも可能となる)。特に、ビットマップデータは、データライト時の検証よりも、この周期的な整合性確認の際に有用である。どのHDD3にライトを行ったかは、データライト直後であればRAIDコントローラ2のメモリ上に記憶されているので、これを利用して判断可能であるが、(データライトが既に過去の事となっている)周期的な整合性確認の際には、当該ビットマップデータが存在するからこそ判断可能となるからである。
In addition, the
このように、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。 As described above, the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. In addition, various inventions can be formed by appropriately combining a plurality of components disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, you may combine a component suitably in different embodiment.
1…ホスト装置、2…RAIDコントローラ、3…HDD、4…RAID、21…制御部、22…整合性確認部、23…セクタ冗長領域確保部、24…アクセス履歴記録部、25…データ不正箇所特定部、26…簡易整合性確認部。
DESCRIPTION OF
Claims (11)
前記データおよび前記冗長データの実際の記録単位よりも大きいデータ長で前記複数のディスク装置それぞれの記録領域を区域分けして、前記データまたは前記冗長データの書き込みに関するアクセス履歴情報を記録するための冗長領域を前記複数のディスク装置それぞれの各区域ごとに確保する冗長領域確保手段と、
データの書き込み時、同一の冗長データを用いるストライプグループごとに、当該データが記録される1または2以上の区域の冗長領域と当該データの冗長データが記録される区域の冗長領域とに、そのストライプグループを構成する全区域の中で前記データまたは前記冗長データが同期的に記録される区域を示すビットマップデータを含む同一のアクセス履歴情報を記録するアクセス履歴情報記録手段と、
前記複数のディスク装置の中の1台のディスク装置が故障状態にあるとき、この故障状態にあるディスク装置内の区域が配置されたストライプグループにおいて前記冗長データを用いた整合性確認で不整合が検出された場合に、前記冗長データが記録される区域の冗長領域に記録されたアクセス履歴情報および当該アクセス履歴情報に含まれるビットマップデータによって前記冗長データと同期的に前記データが記録された旨が示される区域の冗長領域に記録されたアクセス履歴情報を読み出して比較することにより、データ不正箇所を特定するデータ不正箇所特定手段と、
を具備することを特徴とするディスクアレイ装置。 In a disk array device that records data and redundant data of the data in a plurality of disk devices in a distributed manner,
Redundancy for recording access history information related to writing of the data or the redundant data by dividing the recording area of each of the plurality of disk devices with a data length larger than the actual recording unit of the data and the redundant data Redundant area securing means for securing an area for each area of each of the plurality of disk devices;
When writing data, each stripe group using the same redundant data, to the redundant area of zone 1 or 2 or more sections of the redundant area and the data redundancy data the data is recorded is recorded, the stripe Access history information recording means for recording the same access history information including bitmap data indicating an area in which the data or the redundant data is recorded synchronously among all the areas constituting the group ;
When one of the plurality of disk devices is in a failed state, inconsistency is detected in the consistency check using the redundant data in the stripe group in which the area in the failed disk device is arranged. When detected, the fact that the data was recorded synchronously with the redundant data by the access history information recorded in the redundant area of the area where the redundant data is recorded and the bitmap data included in the access history information By reading and comparing the access history information recorded in the redundant area of the area indicated by, the data illegal location specifying means for specifying the data illegal location,
A disk array device comprising:
前記データおよび前記冗長データの実際の記録単位よりも大きいデータ長で前記複数のディスク装置それぞれの記録領域を区域分けして、前記データまたは前記冗長データの書き込みに関するアクセス履歴情報を記録するための冗長領域を前記複数のディスク装置それぞれの各区域ごとに確保し、
データの書き込み時、同一の冗長データを用いるストライプグループごとに、当該データが記録される1または2以上の区域の冗長領域と当該データの冗長データが記録される区域の冗長領域とに、そのストライプグループを構成する全区域の中で前記データまたは前記冗長データが同期的に記録される区域を示すビットマップデータを含む同一のアクセス履歴情報を記録し、
前記複数のディスク装置の中の1台のディスク装置が故障状態にあるとき、この故障状態にあるディスク装置内の区域が配置されたストライプグループにおいて前記冗長データを用いた整合性確認で不整合が検出された場合に、前記冗長データが記録される区域の冗長領域に記録されたアクセス履歴情報および当該アクセス履歴情報に含まれるビットマップデータによって前記冗長データと同期的に前記データが記録された旨が示される区域の冗長領域に記録されたアクセス履歴情報を読み出して比較することにより、データ不正箇所を特定する、
ことを特徴とするディスクアレイ装置のデータ管理方法。 A data management method for a disk array device that records data and redundant data of the data in a distributed manner on a plurality of disk devices,
Redundancy for recording access history information related to writing of the data or the redundant data by dividing the recording area of each of the plurality of disk devices with a data length larger than the actual recording unit of the data and the redundant data An area is secured for each area of each of the plurality of disk devices,
When writing data, each stripe group using the same redundant data, to the redundant area of zone 1 or 2 or more sections of the redundant area and the data redundancy data the data is recorded is recorded, the stripe Record the same access history information including bitmap data indicating areas where the data or the redundant data is recorded synchronously among all the areas constituting the group ,
When one of the plurality of disk devices is in a failed state, inconsistency is detected in the consistency check using the redundant data in the stripe group in which the area in the failed disk device is arranged. When detected, the fact that the data was recorded synchronously with the redundant data by the access history information recorded in the redundant area of the area where the redundant data is recorded and the bitmap data included in the access history information By identifying and comparing the access history information recorded in the redundant area in the area indicated by
A data management method for a disk array device.
ことを特徴とする請求項8記載のディスクアレイ装置のデータ管理方法。 Immediately after the data is written, it is checked whether all access history information in the redundant area of the area where the data and the redundant data of the data are recorded matches, and if a mismatch of the access history information is detected, the data To re-write
9. A data management method for a disk array device according to claim 8, wherein:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006251721A JP4469822B2 (en) | 2006-09-15 | 2006-09-15 | Disk array device and data management method for disk array device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006251721A JP4469822B2 (en) | 2006-09-15 | 2006-09-15 | Disk array device and data management method for disk array device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008071297A JP2008071297A (en) | 2008-03-27 |
JP4469822B2 true JP4469822B2 (en) | 2010-06-02 |
Family
ID=39292799
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006251721A Expired - Fee Related JP4469822B2 (en) | 2006-09-15 | 2006-09-15 | Disk array device and data management method for disk array device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4469822B2 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5391712B2 (en) | 2009-02-05 | 2014-01-15 | 富士通株式会社 | Disk array device |
JP5170010B2 (en) * | 2009-06-24 | 2013-03-27 | 日本電気株式会社 | Disk array device, disk array device control method, and disk array device program |
JP4843695B2 (en) * | 2009-06-26 | 2011-12-21 | 株式会社東芝 | Disk array control device and disk array device |
JP7056867B2 (en) * | 2017-12-18 | 2022-04-19 | Necプラットフォームズ株式会社 | Control devices, control programs, and control methods |
US10956068B2 (en) | 2018-05-11 | 2021-03-23 | Seagate Technology Llc | Time-stamped data in a data storage device |
-
2006
- 2006-09-15 JP JP2006251721A patent/JP4469822B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008071297A (en) | 2008-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4916033B2 (en) | Data storage method, data storage system and program (verification of data integrity in storage system) (Copyright and trademark registration notice Part of the disclosure of this patent document contains copyrighted content. Voters will have no objection to facsimile copies of either patent documents or patent disclosures as long as the copies appear in the world as patent files or records of the Patent and Trademark Office, but in all other cases (Copyrights are fully reserved.) (For certain marks referred to herein, customary or registered trademarks of third parties that may or may not be affiliated with the applicant or its assignee. The use of these marks is intended to provide a disclosure that may be implemented by way of example, and only in connection with such marks. The scope of the invention should not be construed as limiting.) | |
US7529970B2 (en) | System and method for improving the performance of operations requiring parity reads in a storage array system | |
US8601348B2 (en) | Error checking addressable blocks in storage | |
US7315976B2 (en) | Method for using CRC as metadata to protect against drive anomaly errors in a storage array | |
US7464322B2 (en) | System and method for detecting write errors in a storage device | |
CN104484251B (en) | A kind of processing method and processing device of hard disk failure | |
CN103164298B (en) | Produce the data storage device of the redundancy protected for the data path of even-odd check sector | |
CN103718162B (en) | Method and apparatus for flexible RAID in SSD | |
US7146461B1 (en) | Automated recovery from data corruption of data volumes in parity RAID storage systems | |
JPH09305328A (en) | Disk array device | |
JPH08263227A (en) | Holding method of consistency of parity data in disk array | |
US10067833B2 (en) | Storage system | |
US7409499B1 (en) | Automated recovery from data corruption of data volumes in RAID storage | |
JP4114877B2 (en) | Apparatus, method, and program for detecting illegal data | |
JP2006139478A (en) | Disk array system | |
US7549112B2 (en) | Unique response for puncture drive media error | |
JP4469822B2 (en) | Disk array device and data management method for disk array device | |
GB2402770A (en) | Writing version checking data for a data file onto two data storage systems. | |
JP5170010B2 (en) | Disk array device, disk array device control method, and disk array device program | |
JP4143040B2 (en) | Disk array control device, processing method and program for data loss detection applied to the same | |
JP2005004733A (en) | Arrangement and method of disposition for detecting write error in storage system | |
JP3699473B2 (en) | Disk array device | |
JP2005107676A (en) | Array controller and disk array rebuilding method | |
JP5598124B2 (en) | DATA RECORDING / REPRODUCING DEVICE, DATA RECORDING METHOD, AND DATA RECORDING PROGRAM | |
JP3798773B2 (en) | Disk control apparatus and consistency recovery method for redundant logical disk drive |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090811 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091007 |
|
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: 20100202 |
|
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: 20100301 |
|
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: 20130305 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140305 Year of fee payment: 4 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |