JP4848272B2 - 多重化冗長ストレージへの安全な書き込みを行う装置及び方法 - Google Patents
多重化冗長ストレージへの安全な書き込みを行う装置及び方法 Download PDFInfo
- Publication number
- JP4848272B2 JP4848272B2 JP2006516161A JP2006516161A JP4848272B2 JP 4848272 B2 JP4848272 B2 JP 4848272B2 JP 2006516161 A JP2006516161 A JP 2006516161A JP 2006516161 A JP2006516161 A JP 2006516161A JP 4848272 B2 JP4848272 B2 JP 4848272B2
- Authority
- JP
- Japan
- Prior art keywords
- write
- index
- parity
- data
- pattern
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1833—Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/1009—Cache, i.e. caches used in RAID system with parity
Description
1.各々の列はディスクを表す。
2.図中の各々のセルは、ディスク上のデータのストリップ(上の行)又はパリティのストリップ(下の行)を表す。
3.このパターンは、アレイ全体をカバーするように反復される。
4.各々のデータ・ストリップは、ちょうど2つのパリティ・ストリップを伴う。
5.各々のデータ・ストリップ及びその2つのパリティ・ストリップは、異なるディスク上に存在する。
6.2つのデータ・ストリップが、同じ2つのパリティ・ストリップを共有することはない。
7.いずれか2つのディスク(列)が除去された場合には、なくなったデータは残りの2つのディスクから回復することができる。
次いで、Bは、A xor (A xor B)から回復することができる。
多重化冗長ストレージは、二重化冗長性より大きい冗長性を有することが好ましい。
書き込みの実行を含むすべてのステップは、直列化されることが好ましい。
前述の多重化冗長ストレージは、RAIDストレージを含むことが好ましい。
前述のRAIDストレージは、RAID−5ストレージであることが好ましい。
本発明のさらに別の利点は、これが、二重化冗長アレイより大きい冗長性を有するアレイに拡張が容易であることである。
1.旧データ、Bを読み取る。
2.パリティ・デルタ、B xor B1を計算する。
3.第1の旧パリティ、B xor Dを読み取る。
4.第1の新パリティを、第1の旧パリティとパリティ・デルタの排他的論理和により計算する、すなわち、(B xor D) xor (B xor B1)の計算により、B1xor Dとなる。
5.第2の旧パリティ、A xor Bを読み取る。
6.第2の新パリティを、第2の旧パリティと、パリティ・デルタの排他的論理和により計算する、すなわち、(A xor B) xor (B xor B´)の計算によりA xor B´となる。
7.Bの上にB1を書き込む。←書き込み#0(番号0)
8.第1の新パリティ、B´ xor Dを書き込む。←書き込み#1(番号1)
9.第2の新パリティ、A xor B1を書き込む。←書き込み#2(番号2)
(最終結果に影響を及ぼすことなく幾らかの再配列(reordering)が可能であることは、当業者には明らかであろう。)
書き込まれているパターンのインデックス(0から、パターンがアレイの下まで反復される回数の数)と、
書き込まれているデータ・ストリップのインデックス(4ディスク・アレイでは、0から3)と、
現在実行されている書き込みのインデックス(二重化冗長アレイについては、上記の#0から#2までのマークが付されている)と
である。
第2及び第3の項目は、パターン内のどのストリップが書き込まれているかを一意的に識別する。この情報を表す代替的な方法があり、これらに限られるものではないが、例えば、パターン内のX−Y座標の使用を含む。多くの代替的表現が存在することは、データ処理分野の技術者(当業者)には明らかであろう。
6A.NVRAMを{パターンP、データB、書き込み0}と設定する。
7.B1をBの上に書き込む。
7A.NVRAMを{パターンP、データB、書き込み1}と設定する。
8.第1の新パリティ、B´ xor Dを書き込む。
8A.NVRAMを{パターンP、データB、書き込み2}と設定する。
9.第2の新パリティ、A xor B1を書き込む。
9A.NVRAMマークを消去する。
アレイを共有するアダプタ/コントローラが1つより多くある環境においては、NVRAMマークの値は、アダプタ/コントローラのすべてに対して変更されねばならない。
1.NVRAMが「書き込み0」と示す場合には、その状況は2つのディスク、すなわち、本当に損傷した1つのディスクと、書き込まれているデータ・ストリップを含む1つのディスク、が損傷した状況と同様である。このパターンは多重化冗長性であるため、すべてのデータを再構築して、該パターンを、書き込み開始前の状態に戻すことができる。
2.NVRAMが「書き込み2」と示す場合には、その状況は2つのディスク、すなわち、本当に損傷した1つのディスクと、第2パリティ・ストリップを含む1つのディスク、が損傷した状況と同様である。このパターンは多重化冗長性であるため、すべてのデータを再構築して、割り込まれた書き込みを完了することができる。
3.NVRAMが「書き込み1」と示す場合には、3つの場合がある。
A)損傷したディスクが「書き込み0」中に書き込まれたデータ・ストリップを含む。
このことは、2つのディスク、すなわち、本当に損傷した1つのディスクと、「書き込み1」データを含む1つのディスク、の損傷と同じである。
パターンの冗長性は、全データを再構築して、該パターンを、書き込み開始前の状態に戻すことができることを保証する。
B)損傷したディスクが、「書き込み2」中に書き込まれるべきであった第2パリティ・ストリップを含む。
このことは、2つのディスク、本当に損傷した1つのディスクと、「書き込み1」データを含む1つのディスク、の損傷と同じである。
パターンの冗長性は、全データを再構築して、割り込まれた書き込みを完了させることができることを保証する。
C)損傷したディスクは異なるディスクである。
損傷したディスク上のデータ・ストリップは、常に再構築することができ、そのパターンを再同期して、割り込まれた書き込みを完了させることができる。
損傷したディスク上の各々のデータ・ストリップは、2つのパリティ・ストリップを有する。これらのいずれも損傷したディスク上にはない。
これらのパリティ・ストリップの多くて1つが「書き込み0」中に書き込まれたデータ・ストリップと共有されるため、データ・ストリップを再構築する少なくとも1つの方法が常に存在する。
このことは、RAIDアレイが高速書き込みキャッシュの後にあり、そのために、少なくとも部分的にホスト応答時間から隔離されている場合には、或る程度軽減することができる。
1.全ての読み取りを行い、書き込まれるべき新パリティを計算する
2.A及びA xor Bが更新されていることを示すNVRAMマークを確立する
3.A及びA xor Bを並行して書き込む
4.両方の書き込みが完了した場合には、A xor Cが更新されていることを示すNVRAMマークを確立する
5.A xor Cを書き込む
6.NVRAMマークを消去する
1.ディスク1が損失する。「B」、「C」及び「D」は残り、「C」及び「A x or C」を用いて、「A」の古いバージョンを再構築することができる。
2.ディスク2が損失する。「C」、「D」及び「A」の半更新バージョンは残り、「D」及び「B xor D」を用いて、「B」を再構築することができる。必要であれば、「C」及び「A xor C」を用いて、「A」の古いバージョンを再構築することができる。
3.ディスク3が損失する。「B」、「D」及び「A」の半更新バージョンは残る。「D」及び「C xor D」を用いて、「C」を再構築することができる。必要であれば、「C」及び「A xor C」を用いて、「A」の古いバージョンを再構築することができる。
4.ディスク4が損失する。「B」、「C」及び「A」の半更新バージョンは残る。「B」及び「B xor D」を用いて「D」を再構築することができる。「A」の古い、又は新しいバージョンは再構築できない。
Claims (5)
- データ及びパリティを安全に多重化冗長RAIDストレージに書き込むための方法であって、
少なくとも1つの第1のマークであるパターン・インデックス、ストリップ・インデックス及び書き込みインデックスをストレージ装置に格納して、少なくとも1つのデータ書き込みにより書き込まれるべきデータ・ストリップのパターンを一意的に索引付けするステップと、
前記少なくとも1つのデータ書き込みを実行するステップと、
少なくとも1つのさらに別のマークであるパターン・インデックス、ストリップ・インデックス及び書き込みインデックスにより前記ストレージ装置内のマークであるパターン・インデックス、ストリップ・インデックス及び書き込みインデックスを上書きして、パリティ書き込みにより書き込まれるべきパリティ・ストリップのパターンを一意的に索引付けするステップと、
前記パリティ書き込みを実行するステップと、
を含む方法。 - 少なくとも1つの第1のマークであるパターン・インデックス、ストリップ・インデックス及び書き込みインデックスをストレージ装置に格納して、少なくとも1つのデータ書き込みにより書き込まれるべきデータ・ストリップのパターンを一意的に索引付けする前記ステップが、さらに、前記ストレージ装置内の前記少なくとも1つの第1のマークであるパターン・インデックス、ストリップ・インデックス及び書き込みインデックスを第2のマークであるパターン・インデックス、ストリップ・インデックス及び書き込みインデックスで上書きして、第1のパリティ書き込みにより書き込まれるべきパリティ・ストリップのパターンを索引付けするステップを含み、
前記少なくとも1つのデータ書き込みを実行する前記ステップが、前記第1のパリティ書き込みを実行するステップを含む、
請求項1に記載の方法。 - 多重化冗長ストレージが二重化冗長性より大きい冗長性を有する、請求項1又は請求項2に記載の方法。
- 書き込みの実行を含むすべてのステップが直列化される、請求項1から請求項3までのいずれか1項に記載の方法。
- 有形媒体に記録されるコンピュータ・プログラム・コードを含み、前記コンピュータ・プログラム・コードが、コンピュータ・システムに搭載され、そのシステムで実行された場合には、請求項1から請求項4までのいずれか1項に記載の方法のすべてのステップを実行する、コンピュータ・プログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0315157A GB0315157D0 (en) | 2003-06-28 | 2003-06-28 | Safe write to multiply-redundant storage |
GB0315157.8 | 2003-06-28 | ||
PCT/EP2004/051150 WO2005001841A2 (en) | 2003-06-28 | 2004-06-17 | Safe write to multiply-redundant storage |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009514047A JP2009514047A (ja) | 2009-04-02 |
JP4848272B2 true JP4848272B2 (ja) | 2011-12-28 |
Family
ID=27676272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006516161A Expired - Fee Related JP4848272B2 (ja) | 2003-06-28 | 2004-06-17 | 多重化冗長ストレージへの安全な書き込みを行う装置及び方法 |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP1639467A2 (ja) |
JP (1) | JP4848272B2 (ja) |
CN (1) | CN100359478C (ja) |
GB (1) | GB0315157D0 (ja) |
TW (1) | TWI315873B (ja) |
WO (1) | WO2005001841A2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3713094A1 (en) * | 2019-03-22 | 2020-09-23 | Zebware AB | Application of the mojette transform to erasure correction for distributed storage |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0569212A1 (en) * | 1992-05-05 | 1993-11-10 | International Business Machines Corporation | Method and means for fast writing data to LRU cached based DASD arrays under diverse fault tolerant modes |
JPH05341921A (ja) * | 1992-06-05 | 1993-12-24 | Hitachi Ltd | ディスクアレイ装置 |
JPH06119126A (ja) * | 1992-10-08 | 1994-04-28 | Fujitsu Ltd | ディスクアレイ装置 |
WO1994029795A1 (en) * | 1993-06-04 | 1994-12-22 | Network Appliance Corporation | A method for providing parity in a raid sub-system using a non-volatile memory |
US5574882A (en) * | 1995-03-03 | 1996-11-12 | International Business Machines Corporation | System and method for identifying inconsistent parity in an array of storage |
US5774643A (en) * | 1995-10-13 | 1998-06-30 | Digital Equipment Corporation | Enhanced raid write hole protection and recovery |
JPH11143649A (ja) * | 1997-11-04 | 1999-05-28 | Fujitsu Ltd | ディスクアレイ装置 |
US20020161970A1 (en) * | 2001-03-06 | 2002-10-31 | Busser Richard W. | Utilizing parity caching and parity logging while closing the RAID 5 write hole |
JP2003167688A (ja) * | 2001-11-30 | 2003-06-13 | Toshiba Corp | ディスクアレイ装置および冗長データをもつ論理ドライブの一貫性回復方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5195100A (en) * | 1990-03-02 | 1993-03-16 | Micro Technology, Inc. | Non-volatile memory storage of write operation identifier in data sotrage device |
JP3181398B2 (ja) * | 1992-10-06 | 2001-07-03 | 三菱電機株式会社 | アレイ型記録装置 |
US5522032A (en) * | 1994-05-05 | 1996-05-28 | International Business Machines Corporation | Raid level 5 with free blocks parity cache |
KR100267366B1 (en) * | 1997-07-15 | 2000-10-16 | Samsung Electronics Co Ltd | Method for recoding parity and restoring data of failed disks in an external storage subsystem and apparatus therefor |
-
2003
- 2003-06-28 GB GB0315157A patent/GB0315157D0/en not_active Ceased
-
2004
- 2004-06-04 TW TW93116234A patent/TWI315873B/zh not_active IP Right Cessation
- 2004-06-17 WO PCT/EP2004/051150 patent/WO2005001841A2/en active Application Filing
- 2004-06-17 EP EP04741822A patent/EP1639467A2/en not_active Withdrawn
- 2004-06-17 JP JP2006516161A patent/JP4848272B2/ja not_active Expired - Fee Related
- 2004-06-17 CN CNB2004800135130A patent/CN100359478C/zh not_active Expired - Fee Related
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0569212A1 (en) * | 1992-05-05 | 1993-11-10 | International Business Machines Corporation | Method and means for fast writing data to LRU cached based DASD arrays under diverse fault tolerant modes |
JPH05341921A (ja) * | 1992-06-05 | 1993-12-24 | Hitachi Ltd | ディスクアレイ装置 |
JPH06119126A (ja) * | 1992-10-08 | 1994-04-28 | Fujitsu Ltd | ディスクアレイ装置 |
WO1994029795A1 (en) * | 1993-06-04 | 1994-12-22 | Network Appliance Corporation | A method for providing parity in a raid sub-system using a non-volatile memory |
US5574882A (en) * | 1995-03-03 | 1996-11-12 | International Business Machines Corporation | System and method for identifying inconsistent parity in an array of storage |
US5774643A (en) * | 1995-10-13 | 1998-06-30 | Digital Equipment Corporation | Enhanced raid write hole protection and recovery |
JPH11143649A (ja) * | 1997-11-04 | 1999-05-28 | Fujitsu Ltd | ディスクアレイ装置 |
US20020161970A1 (en) * | 2001-03-06 | 2002-10-31 | Busser Richard W. | Utilizing parity caching and parity logging while closing the RAID 5 write hole |
JP2003167688A (ja) * | 2001-11-30 | 2003-06-13 | Toshiba Corp | ディスクアレイ装置および冗長データをもつ論理ドライブの一貫性回復方法 |
Also Published As
Publication number | Publication date |
---|---|
GB0315157D0 (en) | 2003-08-06 |
CN1791863A (zh) | 2006-06-21 |
EP1639467A2 (en) | 2006-03-29 |
TW200518089A (en) | 2005-06-01 |
WO2005001841A3 (en) | 2005-09-09 |
CN100359478C (zh) | 2008-01-02 |
TWI315873B (en) | 2009-10-11 |
WO2005001841A2 (en) | 2005-01-06 |
JP2009514047A (ja) | 2009-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11941255B2 (en) | Storage system and data management method | |
JP6294518B2 (ja) | 不揮発性メモリシステムにおける同期ミラーリング | |
JP4870678B2 (ja) | 格納システム状態インジケータおよび方法 | |
US9684591B2 (en) | Storage system and storage apparatus | |
JP4953677B2 (ja) | 拡張可能なraid方法及び装置 | |
US9465561B2 (en) | Storage system and storage control method | |
CN102799533B (zh) | 一种磁盘损坏扇区屏蔽方法及装置 | |
JP2006244122A (ja) | 記憶装置、その制御方法及びプログラム | |
CN101609420A (zh) | 实现磁盘冗余阵列重建的方法和磁盘冗余阵列及其控制器 | |
US9842024B1 (en) | Flash electronic disk with RAID controller | |
JPH1049308A (ja) | ホスト・ベースraid−5及びnv−ram統合システム | |
US10409682B1 (en) | Distributed RAID system | |
CN111124262A (zh) | 独立盘冗余阵列(raid)的管理方法、设备和计算机可读介质 | |
US9323617B2 (en) | Remap raid to maintain raid level | |
JP2007524932A (ja) | パリティデータを生成するための方法、システム、及びプログラム | |
JP2010026812A (ja) | 磁気ディスク装置 | |
JP4848272B2 (ja) | 多重化冗長ストレージへの安全な書き込みを行う装置及び方法 | |
US20180307427A1 (en) | Storage control apparatus and storage control method | |
US20220342758A1 (en) | Recovery from partial device error in data storage system | |
JP7056874B2 (ja) | 制御装置、ディスクアレイ装置、制御方法、及びプログラム | |
US11544005B2 (en) | Storage system and processing method | |
JP2004185256A (ja) | Raidシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100302 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100602 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101214 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110301 |
|
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: 20111004 |
|
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: 20111017 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141021 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |