JP4780331B2 - ディスクアレイシステム - Google Patents
ディスクアレイシステム Download PDFInfo
- Publication number
- JP4780331B2 JP4780331B2 JP2007059725A JP2007059725A JP4780331B2 JP 4780331 B2 JP4780331 B2 JP 4780331B2 JP 2007059725 A JP2007059725 A JP 2007059725A JP 2007059725 A JP2007059725 A JP 2007059725A JP 4780331 B2 JP4780331 B2 JP 4780331B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- disk array
- sector
- read
- sectors
- 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
- 238000007726 management method Methods 0.000 claims description 38
- 230000002950 deficient Effects 0.000 claims description 17
- 238000011084 recovery Methods 0.000 description 7
- 238000000034 method Methods 0.000 description 3
- 230000007850 degeneration Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
Images
Description
ここで、1つの元データを構成する複数の分割データをそれぞれ記憶する、複数のHDDのセクタの集合は、その元データのストライピングと呼ばれる。
特許文献1発明のアレイディスク装置における交代ブロックの自動割当方法は、アレイディスク装置のデータチェックエラー検出時において、エラーリストにエラー個所を記憶させ、処理終了後に交代ブロックを割り当てる。
特許文献2発明のアレイコントローラは、少なくとも2台のディスクドライブから構成される冗長性を持つディスクアレイを制御する。特許文献2発明のアレイコントローラは、再構築用データリード手段と、データ復元手段と、メディアエラー設定手段とを具備する。ここで、再構築用データリード手段は、少なくとも2台のディスクドライブのうちの1台に障害が発生したためにディスクアレイを再構築する場合に、残りの少なくとも1台のディスクドライブのデータをリードする。データ復元手段は、再構築用データリード手段によりリードされたデータをもとに、障害が発生したディスクドライブに代えて用いられる新たなディスクドライブに、当該障害が発生したディスクドライブのデータを復元する。メディアエラー設定手段は、再構築用データリード手段によるデータリードでメディアエラーが発生した場合、当該メディアエラーが発生した領域に対応する新たなディスクドライブの領域の情報がリードされる際にメディアエラーを発生させる情報を設定する。
特許文献3発明のディスクアレイ制御システムは、所定の媒体に対するリードエラーの有無と復旧失敗位置リストとをホスト装置に報告する。特許文献3発明のディスクアレイ制御システムは、リードエラー検出手段と、復旧失敗位置リスト登録手段と、報告手段とを具備する。ここで、リードエラー検出手段は、復旧元のリードエラーを検出する。復旧失敗位置リスト登録手段は、リードエラー検出手段によって検出されたリードエラーが発生した位置を示すエラー位置情報を復旧失敗位置リストとして記憶する。報告手段は、媒体の全面のデータ復旧が完了した時点でリードエラーの有無と、復旧に失敗した位置を示すエラー位置情報からなる復旧失敗位置リストと、ホスト装置からのファイル読み込み命令により指定されたセクタアドレスの範囲をセクタ範囲リストとしてホスト装置に報告する。
上述したように、RAID5のディスクアレイシステムにおいて、1つのデータは複数の部分に分割されてそれぞれのHDDに記憶される。しかし、このように複数のHDDから最低でも1つのセクタが提供されても、元のデータ全体が十分に小さく、1つのHDDの1つのセクタに納まる場合がある。このとき、そのセクタに対応する他のHDDのセクタには、ダミーデータが記憶されることになる。また、1つでは足りなくても、ディスクアレイシステムを構成するHDDの数をnと置いたとき、(n−2)以下のセクタに元のデータが収まるならば、そのデータに関してはデータの冗長性が通常よりも高くなる。すなわち、最初に故障して交換されたHDDと、そのためのリビルド動作の最中にリードエラーを起こしたHDD以外のHDDに、元データの分割データが全て記憶されていたなら、元データはまだ復元可能な状態で残っている。
本実施形態によるディスクアレイシステムは、ディスクアレイコントローラ1と、ディスクアレイコントローラ1によって制御される複数のメンバディスク7−1〜3と、ディスクアレイコントローラ1と複数のメンバディスク7−1〜3とを接続するケーブル6とを具備する。なお、本実施形態ではメンバディスク7の数が3であるが、3以上であっても構わない。
本実施形態によるディスクアレイコントローラ1は、CPU部2と、不良セクタ管理テーブル3と、EXOR部4と、リーダライタ部5とを具備する。
ディスクアレイコントローラ1は、上位部9からの命令を受け取ると、CPU部2がその命令を解読する。解読された命令に従って、CPU部2は、データの書き込みまたは読み込みをR/W部5に指示する。R/W部5は、指示に従い、接続ケーブル6を介してHDD7−1〜3に対するデータの書き込みまたはHDD7−1〜3からデータの読み込みを行なう。
なお、本当は最初に上位部9からデータの読み込み命令を受け取った時点で、CPU部2はそのデータを構成する分割データがそれぞれ格納されているセクタ8−1〜3が不良セクタかどうかを確認する。そのために、不良セクタ管理テーブルが参照される。ただし、ここではまだ不良セクタが無いので何にも影響しない。
縮退モードでは、例えばHDD7−1が故障などの理由により使用不能状態になっている。そのため、データの冗長性は失われているが、しかし残りのHDD7−2〜3だけはデータの正しい読み書きが可能である。
なお、本当は最初に上位部9からデータの読み込み命令を受け取った時点で、CPU部2はそのデータを構成する分割データがそれぞれ格納されているセクタ8−2〜3が不良セクタかどうかを確認する。そのために、不良セクタ管理テーブルが参照される。ただし、ここではまだ不良セクタが無いので何にも影響しない。
換装された直後のHDD7−1は空っぽの状態なので、本来記憶しているべきデータが書き込まれる。その内容は、セクタのそれぞれについて、HDD7−2のデータとHDD7−3のデータとの排他的論理和を計算することで得られる。例えば、HDD7−1のセクタ8−1に記憶されているべきデータは、HDD7−2のセクタ8−2のデータと、HDD7−3のセクタ8−3のデータとの排他的論理和に等しい。従って、それぞれのセクタについて、HDD7−2のデータとHDD7−3のデータとがR/W部5によって読み込まれ、EXOR部4によって両データの排他的論理和が計算され、その結果が再度R/W部5によってHDD7−1に書き込まれる。この一連の動作が全てのセクタについて無事に行われると、リビルド動作が完了する。
この時、セクタ8−3に対応するHDD7−1のセクタ8−1は当然リビルドされる前なので、データが記憶されていない。セクタ8−2のデータだけではセクタ8−1に記憶されるべきデータは計算不可能なので、従来なら、セクタ8−1〜3から構成されるストライピングに記憶された元のデータは完全に失われたことになってしまう。
上位部9が、ディスクアレイコントローラに対して、データの書き込みを命令する。この場合は、上記の説明と同じく、CPU部2が上位部9からの命令を解読して、リーダライタ部5にデータの書き込みを指示し、データは分割されて、EXOR部4によって排他的論理和が計算されて、1つのストライピングを構成する複数のセクタに分散されて格納されるだけである。
上位部9が、ディスクアレイコントローラに対して、データの読み込みを命令する。ディスクアレイコントローラのCPU部2は、上位部からの命令を解読する。ここで、CPU部2はまず不良セクタ管理テーブルを参照する。読み込みが要求されたデータが、不良セクタ管理テーブルに登録されていた場合は、リビルド動作中にデータが破壊されていることが分かっているので、CPU部2はリーダライタ部5に読み込みを指示することなく、要求されたデータは読み込み不可であると上位部9に通知する。ここで、実際にはダミーデータによってディスクアレイシステムとしてパリティチェックの整合性は取れており、読み込みだけなら可能であることに注意されたい。しかしデータの内容に意味は無いため、読み込みは不可との返答がCPU部2から上位部9に向けてなされる。
上位部から読み出しを要求されたデータが格納されているセクタが、不良セクタ管理テーブルに含まれていなければ、上記の説明と同様に通常通り分割データが読み出されて元のデータが復元されて上位部9に送られる。ここで、セクタ8−2のデータも問題無く読み込まれることに注意されたい。同じストライピングを構成するセクタ8−1と8−3とはダミーデータを格納しているが、セクタ8−2は最初から正しいデータを格納しているので、読み込む意味があるのである。さらに、リビルド動作完了後に、不幸にもセクタ8−2にリードエラーが発生しても、セクタ8−1とセクタ8−3に格納されたデータの排他的論理和を計算すればセクタ8−2に格納されていたデータが復元可能であることにも注目されたい。
2 CPU部
3 不良セクタ管理テーブル
4 EXOR(排他的論理和計算)部
5 R/W(リーダ・ライタ)部
6 接続ケーブル
7−1〜n ハードディスクドライブ
8−1〜n あるデータを記憶するストライピングを構成するセクタ
9 上位部
Claims (6)
- それぞれ複数のセクタを具備する複数のHDD(ハードディスクドライブ)と、
前記複数のHDDを管理するディスクアレイコントローラと
を具備するディスクアレイシステムであって、
前記複数のHDDの前記複数のセクタは、冗長的に分割されたデータを格納され、
前記ディスクアレイコントローラは、
不良セクタ管理テーブル
を具備し、
前記不良セクタ管理テーブルに登録されるデータは、
前記ディスクアレイシステムのリビルド動作中にソースHDDでリードエラーが発生したセクタの情報
を含み、
前記不良セクタ管理テーブルは、前記ディスクアレイシステムの不良領域を、前記複数のHDDのそれぞれにおける前記複数のセクタのそれぞれについて管理し、
前記リビルド動作中において、前記リードエラーが発生した全てのセクタには、パリティチェックの整合性が取られたダミーデータが上書きされ、
前記リードエラーが発生したセクタを含む1つのストライピングの中で、データサイズが1セクタの容量以下であるデータファイルの全てが読み込み可能なセクタに存在する場合に、前記データファイルを前記セクタから読み出すことで復元する
ディスクアレイシステム。 - 請求項1に記載のディスクアレイシステムにおいて、
前記ディスクアレイコントローラは、前記不良セクタ管理テーブルに登録されたセクタからはデータの読み込みを行なわない
ディスクアレイシステム。 - 請求項1または2に記載のディスクアレイシステムにおいて、
前記ディスクアレイコントローラは、
上位部に接続されて、前記上位部からの書き込みまたは読み込みに係る命令を受けるCPU部と、
前記CPU部の指示に従って、前記複数のHDDに対してデータの書き込みまたは読み込みを行なうリーダライタ部と、
前記複数のHDDに対して書き込みまたは読み込みが行なわれるデータの排他的論理和を計算するEXOR部と
をさらに具備する
ディスクアレイシステム。 - 請求項1〜3のいずれかに記載のディスクアレイシステムにおける
ディスクアレイコントローラ。 - (a)ディスクアレイシステムにおいて複数のHDDを管理するディスクアレイコントローラが、独自の不良セクタ管理テーブルを具備し、リビルド動作中にリードエラーが発生した不良セクタを管理することによって、前記不良セクタと同じストライピングに含まれる他のセクタを読み込み可能にするステップと、
(b)前記ディスクアレイコントローラが、リビルド動作中にソースHDDでリードエラーが発生した際に、前記リードエラーが発生したソースHDDの番号とセクタの番号とを、前記不良セクタ管理テーブルに登録するステップと、
(c)前記ディスクアレイコントローラが、前記不良セクタ管理テーブルに登録された不良セクタを、読み込み可能に処理するステップと、
(d)前記ディスクアレイコントローラが、リビルド動作完了後の通常動作中に上位部からデータの読み出しを要求された際に、前記要求されたデータが格納されているセクタが前記不良セクタ管理テーブルに登録されているかどうかで前記要求されたデータの読み出し可否を判断するステップと
を具備し、
前記ステップ(a)は、
(a−1)前記不良セクタを含む前記ストライピングの中で、データサイズが1セクタの容量以下であるデータファイルの全てが読み込み可能なセクタに存在する場合に、前記データファイルを前記セクタから読み出すことで復元するステップ
を具備し、
前記ステップ(b)は、
(b−1)前記不良セクタ管理テーブルが、前記ディスクアレイシステムの不良領域を、前記複数のHDDのそれぞれにおける複数のセクタのそれぞれについて管理するステップ
を具備し、
前記ステップ(c)は、
(c−1)前記リビルド動作中において、前記リードエラーが発生した全てのセクタに、パリティチェックの整合性が取られたダミーデータを上書きするステップ
を具備する
ディスクアレイ不良セクタ管理方法。 - 請求項5に記載のディスクアレイ不良セクタ管理方法において、
前記ステップ(d)は、
(d−1)前記ディスクアレイコントローラが、前記上位部から読み込みを要求されたデータが格納されているセクタが、前記不良セクタ管理テーブルに登録されているかどうかを確認するステップと、
(d−2)前記ディスクアレイコントローラが、前記上位部から読み込みを要求されたデータが格納されているセクタが、前記不良セクタ管理テーブルに登録されている場合は、たとえ実際には読み込み可能であったとしても、前記要求データは読み込み不可として前記上位部に通知するステップと、
(d−3)前記ディスクアレイコントローラが、前記上位部から読み込みを要求されたデータが格納されているセクタが、前記不良セクタ管理テーブルに登録されていない場合は、前記要求されたデータを通常通りに読み込んで前記上位部に引き渡すステップと
を具備する
ディスクアレイ不良セクタ管理方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007059725A JP4780331B2 (ja) | 2007-03-09 | 2007-03-09 | ディスクアレイシステム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007059725A JP4780331B2 (ja) | 2007-03-09 | 2007-03-09 | ディスクアレイシステム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2008225612A JP2008225612A (ja) | 2008-09-25 |
| JP4780331B2 true JP4780331B2 (ja) | 2011-09-28 |
Family
ID=39844199
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2007059725A Expired - Fee Related JP4780331B2 (ja) | 2007-03-09 | 2007-03-09 | ディスクアレイシステム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4780331B2 (ja) |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004062376A (ja) * | 2002-07-26 | 2004-02-26 | Nec Corp | Raidディスクリードエラー処理方式、方法及びプログラム |
| JP4405421B2 (ja) * | 2005-03-31 | 2010-01-27 | 株式会社東芝 | ストレージ装置およびプログラム。 |
-
2007
- 2007-03-09 JP JP2007059725A patent/JP4780331B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2008225612A (ja) | 2008-09-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9009526B2 (en) | Rebuilding drive data | |
| US7783922B2 (en) | Storage controller, and storage device failure detection method | |
| US9189311B2 (en) | Rebuilding a storage array | |
| CN104484251B (zh) | 一种硬盘故障的处理方法及装置 | |
| US9104321B2 (en) | Redundant array of independent disks (RAID) system backup management | |
| JP5768587B2 (ja) | ストレージシステム、ストレージ制御装置およびストレージ制御方法 | |
| US7565573B2 (en) | Data-duplication control apparatus | |
| JP4821448B2 (ja) | Raidコントローラおよびraid装置 | |
| JP4114877B2 (ja) | 不正データを検出するための装置、方法、及びプログラム | |
| WO2014132373A1 (ja) | ストレージシステム及び記憶デバイス障害回復方法 | |
| EP0768604A2 (en) | Promoting device level error to RAIDset level error to restore redundancy in a RAID array data storage system | |
| US7779202B2 (en) | Apparatus and method for controlling disk array with redundancy and error counting | |
| JP2006139478A (ja) | ディスクアレイシステム | |
| US20060190683A1 (en) | Disk array apparatus and backup method of data | |
| JP2010267037A (ja) | ディスクアレイ装置 | |
| CN102609223B (zh) | 一种独立冗余磁盘阵列系统及其初始化方法 | |
| JP2006079219A (ja) | ディスクアレイ制御装置およびディスクアレイ制御方法 | |
| JP2005099995A (ja) | 磁気ディスク装置のディスク共有方法及びシステム | |
| JP4143040B2 (ja) | ディスクアレイ制御装置、同装置に適用されるデータ欠損検出時の処理方法及びプログラム | |
| JP2008217395A (ja) | ディスクアレイ装置 | |
| JP4203034B2 (ja) | アレイコントローラ、メディアエラー修復方法及びプログラム | |
| JP2005166016A (ja) | ディスクアレイ装置 | |
| CN114610235B (zh) | 分布式存储集群、存储引擎、两副本存储方法及设备 | |
| JP4780331B2 (ja) | ディスクアレイシステム | |
| JP2005107675A (ja) | ディスクアレイコントローラ及びディスクドライブの複製方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101130 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101207 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110127 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110311 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110510 |
|
| 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: 20110608 |
|
| 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: 20110621 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140715 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 4780331 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |