JP4794439B2 - アレイ・ストレージ・システムでの冗長性 - Google Patents

アレイ・ストレージ・システムでの冗長性 Download PDF

Info

Publication number
JP4794439B2
JP4794439B2 JP2006519918A JP2006519918A JP4794439B2 JP 4794439 B2 JP4794439 B2 JP 4794439B2 JP 2006519918 A JP2006519918 A JP 2006519918A JP 2006519918 A JP2006519918 A JP 2006519918A JP 4794439 B2 JP4794439 B2 JP 4794439B2
Authority
JP
Japan
Prior art keywords
array
donor
storage unit
recipient
storage
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
Application number
JP2006519918A
Other languages
English (en)
Other versions
JP2007529062A (ja
Inventor
ヘツラー、スティーブン、ロバート
スミス、ダニエル、フェリックス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2007529062A publication Critical patent/JP2007529062A/ja
Application granted granted Critical
Publication of JP4794439B2 publication Critical patent/JP4794439B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1084Degraded mode, e.g. caused by single or multiple storage removals or disk failures
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Probability & Statistics with Applications (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Hardware Redundancy (AREA)

Description

本発明は、ストレージ・システムに関する。具体的に言うと、本発明は、ストレージ・ユニットの複数のアレイを含むストレージ・システムを構成し、これによって、システムに保管されたデータの消失なしでストレージ・システムが許容できるストレージ・ユニット故障の数を増やす方法に関する。
次の定義が、本明細書で使用され、制限ではなく例示のために提供される。
「要素」は、ストレージ・ユニット上のデータのブロックである。
「ベース・アレイ」は、ECC用のアレイ・ユニットを含む要素の組である。
「アレイ」は、1つまたは複数のベース・アレイを保持するストレージ・ユニットの組である。
「ストライプ」は、アレイ内のベース・アレイである。
nは、ベース・アレイのデータ・ユニットの個数である。
rは、ベース・アレイの冗長ユニットの個数である。
mは、アレイのストレージ・ユニットの個数である。
dは、アレイの最小ハミング距離である。
Dは、ストレージ・システムの最小ハミング距離である。
大型ストレージ・システムに、通常、ストレージ・ユニットの複数の別々のアレイが含まれる。各アレイは、通常、たとえばミラーリング構成またはRAID5(Redundant Array of Independent Disks Level 5)構成で、消去(または誤り)訂正コード(ECC)によって、ある個数のストレージ・ユニット故障(消去とも呼ぶ)に対して保護される。ECCコードは、各アレイに局所的な冗長ストレージ・ユニットを提供し、アレイのサブセットに局所化されたユニット故障を処理することによってストレージ・システムの信頼性を高める。
ハード・ディスク・ドライブ(HDD)ベースのストレージ・システムの記憶容量は、コンポーネント信頼性の改善より速く増加しつつある。その結果、RAID 5およびミラーリング技法などの最小ハミング距離d=2方式は、もはや、システム・レベルで十分な信頼性の適度な保護を提供しない。距離d=3のRAID 6(二重パリティ)、距離d=3の二重ミラーリング、および距離d=4のRAID 51などの代替設計が、システム信頼性の不足に対処するために提案されてきた。ストレージ・システムで、予備ユニットを設けて、システム修理時間を減らし、保守間隔を延ばすことが一般に実践されている。しかし、予備の追加は、システムのコストを増やし、ストレージ効率を下げる。
システム信頼性を改善する他の手法に、より高次のパリティ・コードの使用が含まれる。たとえば、J.S. Plank, “A Tutorial on Reed-Solomon Coding for Fault-Tolerancein RAID-like Systems,” Software -- Practice & Experience, 27(9), September1997, pp. 995に、リード−ソロモン・コードの例が開示されている。
さらに、E.J. Schwabe他, “EvaluatingApproximately Balanced Parity-Declustering Layouts in Disk Arrays,” ACM0-89791-813-4/96/05 1996に、改善された性能のための冗長情報の効率的な位置決めのデータ・レイアウトが開示されている。
P. Chen他, “RAID: High-Performance,Reliable Secondary Storage,” ACM Computing Surveys, Vol. 26, June 1994, pp. 145に、RAIDの概要が示されている。M.Holland他, “Parity Declustering for Continuous Operation In Redundant DiskArrays,” Proceedings of the 5th International Conference on ArchitecturalSupport for Programming Languages and Operating Systems (ASPLOS-V), pp. 23October 1992に、RAIDシステムのクラスタリングされていないパリティ(declustered parity)が開示されている。G.A.Alvarez他, “Tolerating Multiple Failures in RAID Architectures,” ACM0-89791-901-7/97/0006 1997に、8ビット有限フィールドを使用する一般的な複数パリティ・アレイのプロパティおよび構成が記載されている。
M.M. Blaum他の“Method and Means for Encodingand Rebuilding the Data Contents of Up to Two Unavailable DASDs in a DASD ArrayUsing Simple Non-Recursive Diagonal and Row Parity”という名称のU.S. Patent No.5,579,475に、距離d=3アレイの動作が開示されている。N.K. Ouchi, “Two-Level DASD Failure RecoverMethod,” IBM Technical Disclosure Bulletin, Vol. 36:03, March 1993に、故障を有する距離d=3アレイからデータを再構築するのに必要な動作が開示されている。
それでも、製品コード(RAID 51を含む)などの一部のアレイ設計は、ストレージ・ユニット故障のあるパターンに対する脆弱性を有する。これらのアレイは、多少、局所冗長性を有するかのように振る舞う。
U.S. Patent No. 5,579,475 US Patent Application Serial No.10/619,641 US Patent Application Serial No.10/619,633 US Patent Application Serial No.10/619,648 US Patent Application Serial No.10/600,593 J.S. Plank, "A Tutorial onReed-Solomon Coding for Fault-Tolerance in RAID-like Systems," Software --Practice & Experience, 27(9), September 1997, pp. 995 E.J. Schwabe他, "EvaluatingApproximately Balanced Parity-Declustering Layouts in Disk Arrays," ACM0-89791-813-4/96/05 1996 P. Chen他, "RAID: High-Performance,Reliable Secondary Storage," ACM Computing Surveys, Vol. 26, June 1994, pp. 145 M. Holland他, "Parity Declusteringfor Continuous Operation In Redundant Disk Arrays," Proceedings of the 5thInternational Conference on Architectural Support for Programming Languages andOperating Systems (ASPLOS-V), pp. 23October 1992 G.A. Alvarez他, "Tolerating MultipleFailures in RAID Architectures," ACM 0-89791-901-7/97/0006 1997 N.K. Ouchi, "Two-Level DASD FailureRecover Method," IBM Technical Disclosure Bulletin, Vol. 36:03, March 1993
本発明は、アレイ内の局所冗長性をアレイのシステム全体を通じて大域的に使用可能にすることによって、ストレージ・システムの信頼性を改善する技法を提供する。さらに、本発明は、ストレージ・システムの故障パターンに対する敏感さを軽減する技法を提供する。さらに、本発明は、ストレージ・システムの保守を、従来のストレージ・システムの場合よりかなり長く延期することを可能にする技法を提供する。
本発明の有利な実施形態は、各アレイが複数のストレージ・ユニットを有する複数のアレイを有するストレージ・システムの故障許容範囲を増やす方法によって提供される。ストレージ・システムのアレイに、パリティ・コード、Winogradコード、対称コード、リード−ソロモン・コード、EVENODDコード、またはEVENODDコードの派生物など、消去または誤り訂正コードに基づく冗長性が含まれる。ストレージ・システムの故障許容範囲は、システムの最小ハミング距離Dによって与えられる。したがって、システムの最小距離は、めいめいのストライプのすべての最小ハミング距離の最小値すなわちD=min(d)である。ドナー・アレイ(donor array)の最小距離とレシピエント・アレイ(recipient array)の最小距離の間の差が2以上である時に、ドナー・アレイが複数のアレイから選択される。ドナー・ストレージ・ユニットが、ドナー・アレイに対する最小の性能影響に基づいて、ドナー・アレイ内で選択される。レシピエント・ストレージ・ユニットが、レシピエント・アレイから選択される。次に、失われた情報の少なくとも一部が、ドナー・アレイ内の選択されたストレージ・ユニット上でレシピエント・アレイから再作成される。レシピエント情報が、レシピエント・アレイの改善された性能に基づいて選択される。失われた情報が選択されたストレージ・ユニットで再作成される前に、選択されたストレージ・ユニットが、寄贈(donate)されたものとしてドナー・アレイに示される。レシピエント・アレイの最小ハミング距離は、ドナー・アレイが複数のアレイから選択される前にd≧2であることが好ましい。予備ストレージ・ユニットが使用可能になる前に、予備ストレージ・ユニットが、従来の形で、選択されたアレイに割り当てられる。
ドナー・アレイのストレージ・ユニットが、レシピエント・アレイからの選択されたストレージ・ユニットでのレシピエント情報の少なくとも一部の再作成のステップ中に故障した時に、再作成するステップが、打ち切られ、第2のドナー・アレイが選択される。レシピエント・アレイから失われたレシピエント情報の少なくとも一部が、第2ドナー・アレイ内の選択されたストレージ・ユニット上で再作成される。第2ドナー・アレイの選択は、前に説明した条件を再評価することによって進行する。
本発明は、故障の選択されたパターンに脆弱であるストレージ・ユニットのアレイの故障許容範囲を増やす方法も提供する。本発明によれば、レシピエント・ストレージ・ユニットが、ストレージ・ユニット故障の後にストレージ・ユニットのアレイから選択される。ドナー・ストレージ・ユニットが、アレイの故障許容範囲が再作成動作の後に増えるようにストレージ・ユニットのアレイから選択される。最後に、失われたレシピエント情報の少なくとも一部が、ドナー・ストレージ・ユニット上で再作成される。予備ユニットが使用可能になった時に、予備ユニットが、従来の形で、アレイに割り当てられる。
さらに、本発明は、複数のアレイおよびシステム・アレイ・コントローラを有するデータ・ストレージ・システムを提供する。各アレイは、複数のストレージ・ユニットを有し、パリティ・コード、Winogradコード、対称コード、リード−ソロモン・コード、EVENODDコード、またはEVENODDコードの派生物などの消去または誤り訂正コードに基づく冗長性を含む。システム・アレイ・コントローラは、各アレイに結合され、複数のアレイの第1アレイ内のストレージ・ユニットの故障を検出する。次に、システム・コントローラが、複数のアレイの第2アレイの最小距離と第1アレイの最小距離の間の差が2以上である時に、第2アレイのストレージ・ユニットを選択する。第1アレイから失われた情報の少なくとも一部が、第2アレイの選択されたストレージ・ユニット上で再作成される。各ストレージ・ユニットは、HDD、揮発性ランダム・アクセス・メモリ・デバイス、不揮発性ランダム・アクセス・メモリ・デバイス、光ストレージ・デバイス、またはテープ・ストレージ・デバイスとすることができる。
本発明は、複数のストレージ・ユニットのアレイおよびアレイ・コントローラを有するデータ・ストレージ・システムも提供する。アレイに、パリティ・コード、Winogradコード、対称コード、リード−ソロモン・コード、EVENODDコード、またはEVENODDコードの派生物などの消去または誤り訂正コードに基づく冗長性が含まれる。このアレイは、故障の選択されたパターン、または不均一な故障確率、あるいはその両方に脆弱でもある。アレイ・コントローラは、アレイに結合され、アレイ内の第1ストレージ・ユニットの故障を検出する。次に、アレイ・コントローラは、再作成動作の後にアレイの故障許容範囲が増えるようにアレイ内の第2ストレージ・ユニットを選択し、第1ストレージ・ユニットからの情報の少なくとも一部を第2ストレージ・ユニット上で再作成する。第2ストレージ・ユニットは、アレイの故障パターン、または所定のターゲット・パターン、あるいはこの両方に基づいて選択される。アレイの最小ハミング距離は、アレイ・コントローラが第2ストレージ・ユニットを選択する前にd≧2であり、第2ストレージ・ユニットでの第1ストレージ・ユニットからの情報の少なくとも一部の再作成の完了時に増える。各ストレージ・ユニットは、HDD、揮発性ランダム・アクセス・メモリ・デバイス、不揮発性ランダム・アクセス・メモリ・デバイス、光ストレージ・デバイス、またはテープ・ストレージ・デバイスとすることができる。
本発明を、制限ではなく例として添付図面に示すが、添付図面では、同一の符号が同一の要素を指す。
本願は、“Anamorphic Codes”という名称のUS PatentApplication Serial No. 10/619,641 (Attorney Docket No. ARC92003014US1)、“Multi-pathData Retrieval From Redundant Array”という名称のUS Patent Application Serial No.10/619,633、および“RAID 3 + 3”という名称のUS Patent Application Serial No. 10/619,648に関連する。本願は、同時係属であり本願と同一の譲受人に譲渡されたUSPatent Application Serial No. 10/600,593 (Attorney Docket No. YOR9-2003-0069US1)にも関連する。
本発明は、ストレージ・システムの信頼性を劇的に高め、ストレージ・システムの保守を、パリティ交換のない匹敵するストレージ・システムを用いて可能なものよりかなり長く延期することを可能にする。したがって、本発明は、RAIDシステムによって実現される信頼性の度合に対するかなりの信頼性改善をもたらす。複数アレイ・ストレージ・システムの各アレイを個々のエンティティとして扱うRAIDシステムと異なって、本発明は、複数アレイ・ストレージ・システムの個々のアレイを大域的に結合し、これによって、あるアレイの冗長性を別のアレイによって利用できるようにする。そのような処理を、本明細書では自律パリティ交換(autonomic parity exchange、APX)またはAPX動作と称する。
本発明の実施形態によれば、APX動作は、アレイの局所冗長性をアレイのシステム全体を通じて大域的に使用可能にすることを可能にし、これによって、ストレージ・ユニットの数が増えた時のシステム信頼性を高める。APXは、予備ストレージ・ユニットの必要も、減らすかなくす。
特定の例を使用して本発明の利益を例示するために、6つのストレージ・ユニットの8つのアレイを含み、予備ストレージ・ユニットを有しない48ユニット・ストレージ・システムを検討されたい。さらに、この例示的ストレージ・ユニットは、距離d=4を有する対称コードを使用する。対称コードは、等しい個数のデータ・ユニットおよび冗長ユニットを有し、半分のユニットの任意の組合せの消失から回復する能力を有する。APXを用いると、ストレージ・システムの距離は、9つまでのストレージ・ユニット故障でD=2のままになる。APX動作が、動作中に2つ未満の故障で完了できると仮定すると、このストレージ・システムは、10個の故障でD=1に達する。対照的に、16個のストレージ・ユニットの3つのアレイを使用するRAID 6システムは、わずか2つのストレージ・ユニット故障でD=1に達する。さらに対照的に、16個のストレージ・ユニットの3つのアレイを使用するRAID 51システムは、わずか3つのストレージ・ユニット故障でD=1に達する。
さらに、APXを利用するストレージ・システムは、故障が累積した時にグレースフル・デグレードを行い(gracefully degrades)、これによって、かなりのコスト節約を伴って、システムの保守を延期することを可能にする。したがって、APXを使用するストレージ・システムの年間保証コストは、APXなしの匹敵するストレージ・システムの年間保証コストよりかなり安くなる。従来のシステムについて、サービスは、通常、予備ストレージユニット・プールを使い果たした時に要求される。APXが使用される場合に、サービスは、例示的なシステムでは9つまでのユニット故障の後で要求することができる。したがって、APXが使用される時に、システムは、APXなしのシステムと比較して、より長い間隔にわたって所与の距離を維持することができる。
APXは、アレイの組に含まれるアレイが冗長性を交換することを可能にし、これによって、アレイの組の単一のアレイに集中する故障への露出を克服する。たとえば、第1のアレイが、第2のアレイの最小ハミング距離より2以上小さい最小ハミング距離を有する場合に、第2アレイは、ストレージ・ユニットを第1アレイに寄贈することができる。その後、第1アレイの故障許容範囲が増え、第2アレイの故障許容範囲は、減るが、第1アレイより小さくないレベルに減る。したがって、システムの最小距離が増え、これによって、システムの故障許容範囲が増える。
図1に、共通のアレイ・コントローラ101に接続された2つのストレージ・アレイ102および103を含む、全般的に100として示された例示的なストレージ・システムを示す。ストレージ・アレイ102および103は、複数のストレージ・ユニット104を含み、インターフェース105を介してアレイ・コントローラ101と通信する。アレイ・コントローラ101は、インターフェース106を介して他のコントローラおよびホスト・システムと通信する。そのような構成は、アレイ・コントローラが複数のストレージ・アレイと通信することを可能にする。
図2に、異なるアレイ・コントローラ152および151にそれぞれ接続された2つのストレージ・アレイ153および154を含む、全般的に150として示された例示的なストレージ・システムを示す。ストレージ・アレイ153は、インターフェース157を介してアレイ・コントローラ152と通信し、ストレージ・アレイ154は、インターフェース156を介してアレイ・コントローラ151と通信する。アレイ・コントローラ151および152は、それぞれ、インターフェース158および159を介して他のアレイ・コントローラおよびストレージ・システムと通信する。図2には、アレイ・コントローラ151および152が対外に通信できるようにする通信接続160も示されている。
図1および2に示されたアレイ・コントローラは、ハードウェア・コントローラまたはソフトウェア・コントローラとして設計することができる。用語コントローラは、本明細書では、一般に、上で説明した構成のいずれかを指すのに使用される。
図3に、本発明を例示するための2つのアレイ201および202の例示的な組を示す。アレイ201に、ストレージ・ユニット1Aが含まれ、アレイ202に、ストレージ・ユニット2Aが含まれ、各アレイのストレージ・ユニットA、B、およびCは、データ・ストレージ・ユニットであり、各アレイのストレージ・ユニットD、E、およびFは、MDSコードを用いる冗長ストレージ・ユニットである。したがって、アレイ201および202の両方が、最小ハミング距離d=4を有する。図3に示された構成を、対称コードと称し、この場合に、データ・ストレージ・ユニットの個数は、冗長ストレージ・ユニットの個数と等しい。冗長性は、いずれかの3つのユニットの故障を対称コードによって訂正できるように計算される。パリティ・コード、Winogradコード、対称コード、リード−ソロモン・コード、EVENODDコード、およびEVENODDコードの派生物などの消去または誤り訂正コード(ECC)を、冗長性の生成に使用することができる。本明細書で使用する用語「距離」は、最小ハミング距離を意味する。
図4に、アレイ201のストレージ・ユニット1Cおよび1Eの故障の後の図3のアレイを示す。ストレージ・ユニット1Cおよび1Eが故障した後に、アレイ201は、距離d=2を有し、アレイ202は、まだ距離d=4を有する。アレイ201は、データ消失イベントの可能性なしに、あと1つの故障だけを許容することができる。アレイ202は、まだ、データ消失イベントの可能性なしに3つの故障を許容することができる。総合的なシステム距離は、アレイ201の距離すなわち距離D=2である。このシステムの総合的な故障許容範囲は、APXを使用して冗長性のバランスをとりなおすことによって増やすことができる。というのは、システムの距離が、D=2からD=3に増えるからである。
冗長性のバランスのとりなおしは、アレイ202(ドナー・アレイと称する)に含まれるストレージ・ユニットを寄贈し、次に、寄贈されたストレージ・ユニットを、寄贈されたストレージ・ユニットが予備ユニットであるかのようにアレイ201(レシピエント・アレイと称する)に供給することによって達成される。ドナー・アレイは、ドナー・アレイが寄贈されたユニットからデータを読み取るかこれにデータを書き込むことをなくすために、寄贈されたストレージ・ユニットがもはやドナー・アレイの一部でないことを知るようにされなければならない。故障したストレージ・ユニットの1つを、レシピエント・アレイからドナー・アレイに割り当て、その結果、両方のアレイが、一定の個数のストレージ・ユニットを維持し、故障したユニットの知識を維持するようにすることが有益である可能性がある。情報を、ドナー・アレイが寄贈されたユニットに書き込むことはできない。システムは、どのストレージ・ユニットを寄贈するかを選択することができる。ドナー・ユニット選択の主判断基準は、ドナー・アレイ信頼性に対する最も少ない影響を有するドナー・ユニットを選択することに基づく。副判断基準は、最も高価な冗長性計算を有するユニットなど、性能に対する最小の影響を有するストレージ・ユニットを選択することに基づく。システムは、故障したユニットからのどのデータを寄贈されたユニットで再作成するかを選択することができる。再作成される情報の選択の主判断基準は、信頼性の最大の向上をもたらす情報セットに基づく。副判断基準は、再作成動作の後に最善のアレイ性能をもたらす情報セットを選択することである。上の図4の例では、レシピエント・アレイ201は、ユニット1Cがデータ・ユニットなので、ユニット1Cの情報セットを再作成することによって最善の性能を有する。同様に、ドナー・アレイ202は、ユニット2Fなど、冗長情報を保管したユニットを寄贈することによって、最小の性能影響を有する。どちらの場合でも、APX動作の後に、読取コマンドは、したがって、ストレージ・アレイ201および202の冗長ユニットからデータを再構築する必要なしに処理することができる。
ドナー・アレイからレシピエント・アレイへのストレージ・ユニットの寄贈は、ストレージ・システムが、ストレージ・ユニットをあるアレイから別のアレイに割り当てることができることを必要とする。ドナー・アレイおよびレシピエント・アレイが、図1に示されているように共通のアレイ・コントローラ101に接続されている時には、コントローラ101が、この動作を内部で実行することができる。ドナー・アレイおよびレシピエント・アレイが、図2に示されているように別々のコントローラ151および152に接続されている時には、コントローラ151および152が、情報を交換する。たとえば、コントローラは、JBOD(Just a Bunch of Disks)アレイ構成の形のように、通信接続160を介して個々のドライブを公表することができる。その代わりに、コントローラが、用いられるストレージ・ユニットの位置から読み取られ、書き込まれるデータに関する情報を交換することができる。
寄贈されたユニットがドナー・アレイで故障したことを人工的に示すことによって、寄贈を達成することが可能である。しかし、寄贈を区分的な形で実行することが有益である。再作成中にレシピエント・アレイ・データを書き込まれたデータのセグメントは、レシピエントに属する。再作成が完了するまでは、ドナー・アレイが、残りのセグメント内のデータを最新状態に保つために、寄贈されたユニットに書き込むことを許可することができる。ドナー・アレイのストレージ・ユニットが、パリティ交換中に故障した状況で、寄贈動作を打ち切り、異なるドナー・アレイを用いる新しい寄贈動作を開始することが好ましい可能性がある。その場合に、ドナー・アレイを、前に寄贈されたセグメントで再作成して、アレイの距離を増やすことができる。たとえば、故障が、寄贈動作の最初の部分の間に発生した場合に、寄贈を逆転し、新しい寄贈を開始するこの方法は、システムが少ない距離で動作している持続時間を減らすはずである。
予備ストレージ・ユニットが、保守を介するなど、使用可能になったならば、故障したユニットのいずれかを交換するためにこの予備ストレージ・ユニットを割り当てることができる。情報が、周知の形で予備で再作成される。レシピエント・アレイの故障したユニットの1つをドナー・アレイに割り当てることは、故障したユニットがどのアレイに属するかを示すので、この動作を容易にすることができる。
図5に、本発明によるAPX動作の後の図3のアレイを示す。図5の再作成されたデータは、下線を付けられている。このシステムにはまだ2つの故障したストレージ・ユニットがあるが、各アレイには、故障したストレージ・ユニットが1つだけある。図5のシステム構成について、各アレイは、距離d=3を有し、データの可能な消失なしでさらに2つの故障を許容することができる。このシステムの総合的な距離は、D=3である。
APXを使用することによって、ストレージ・システムは、そうでない場合より多数の故障を許容することができる。図3〜5の例では、システム故障の最初の点が、APXを使用しないと4つのユニットの故障になる。対照的に、APXを使用すると、システム故障の最初の点が、6つのユニットの故障になる。この改善は、追加の冗長性または予備作成を必要とすることによるが、観察されたストレージ・ユニット故障条件に合わせるためにストレージ・システム内の冗長性の大域的割り当てを調整することよって達成された。APXによってもたらされる改善は、システム内のアレイの個数が増えるにつれて高まる。
等しい距離のアレイを有するストレージ・システムでは、ドナー・アレイは、APX動作を実行できるようにするために少なくとも距離d=3でなければならない。すなわち、ドナー・アレイは、レシピエント・アレイの距離より少なくとも2大きい距離を有しなければならない。一般に、APX動作は、レシピエント・アレイが2以上の距離であり、これによって、APX動作中のハード・エラーまたはさらなるストレージ・ユニット故障に対して保護されている時に実行されることが好ましい。
RAID 5などの多くの従来のシステムは、アクセス・パターンを分散させるためにクラスタリングされていないパリティ(「de−clustered parity」とも称する)を使用する。そのようなシステムでは、各ストレージ・ユニットが、諸部分(たとえば、データ1、データ2、冗長性1など)を各ユニット・タイプに割り当てられる。APXは、分散パリティを使用するシステムにも適用することができる。その場合に、ドナー・ストレージ・ユニットの選択は、よりクリティカルでなくなる。というのは、冗長性が、すべてのユニットにまたがって分散されているからである。このシステムは、単に、レシピエントの故障したストレージ・ユニットの1つを再作成することを選択することができる。
ドナー・アレイに関する複数の選択肢がある時に、ドナー・アレイの選択判断基準を、使用率、デバイスの年齢、および前のエラー・ヒストリなどの考慮事項に基づくものとすることができる。
図3〜5に示された例示的な例は、冗長ユニットの個数がデータ・ユニットの個数と同一であるアレイを用いてパリティ交換を実行する。アレイ内のストレージ・ユニットの個数が、ベース・アレイ内のストレージ・ユニットの個数より多い時に、APX動作を、システム信頼性をさらに高めるために、参照によって本明細書に組み込まれているUS Patent Application Serial No.10/619,641に開示されているように、ドッジング動作と組み合わせて実行することができる。
一部のアレイ設計は、ユニット故障のパターンに敏感である。そのようなアレイでは、ドナー・ユニットとレシピエント・ユニットの両方を、同一のアレイに属するものとすることができる。ドナー・ユニットは、アレイ構成を基礎として選択することができる。図6に、30個のストレージ・ユニットを含み、行501〜505がRAID 6アレイ(d=3)を形成し、列511〜516がRAID 5アレイ(d=2)を形成する、製品コード・アレイ500を示す。アレイ500内で、D=6であり、14個の冗長ドライブがある。しかし、6つの故障のある位置配置だけが、図7に示されているようにアレイの故障を引き起こし、ここで、ストレージ、ユニット1J、1K、1M、3J、3K、および3Mが故障している。この故障のパターンを、第2行の3つの故障と一致する第1行の3つの故障として認識することができる。システムのこの故障許容範囲を、APXを使用することによって増やすことができる。システムは、そのような形でドナー・ユニットおよびレシピエント・ユニットを選択し、これによって、これらのパターンを防ぎ、アレイをD=3条件に戻す。
図6の例について、このシステムは、図8に示されたものなどの配置である時に、9つの故障があってもD=3を維持することができる。ここで、アレイは、9つの故障したユニット1N、2N、3N、4N、5H、5J、5K、5L、および5Mを有する。このシステムは、高い故障許容範囲を有するターゲット・パターンを選択することができる。故障が発生した時に、ドナー・ユニットが、ターゲット・パターンから選択され、ターゲット・パターンの一部でない故障したレシピエントに割り当てられる。図6の例について、APX動作を複数回実行することができ、アレイが、D=2に達する前に少なくとも10個の故障を許容することができる。これによって、有効距離が、APXを利用することによってD=6からD=12に増えた。APXは、30個のユニットのうちの10個が故障するまで保守を延期することを可能にし、アレイは少なくともD=2に留まる。APXがなければ、D=2を維持するために、わずか4つのユニットの故障で保守が必要になる可能性がある。
本明細書で使用される用語「故障」および「パターン」は、物理的位置ではなく、アレイ内の論理的位置からの情報の消去を指す。そのような非MDSアレイは、図示のように製品コードから、低密度パリティ・コードから、不均一グラフ・コードから、または特定のパターン脆弱性を有する任意のコードから形成することができる。
APXは、ストレージ・システムの最小距離を単純に増やすことを超えて使用することができる。多数の他の要因を、APXを実行するかどうかの判定ならびにドナーおよびレシピエントの選択の判定に含めることができる。たとえば、不均一である時のコンポーネントの個々の故障確率、データ消失につながる故障の組合せ、およびシステム性能に対する影響のすべてを考慮することができる。その場合に、システムの最小距離を、APXの後に変更されないままにすることができる。
APXを、最小距離d≧3を有する他のアレイ・タイプと共に使用することができる。さらに、より小さいアレイ・サイズは、APXをより効率的に使用することを可能にし、小さいアレイからなる大きいシステムが高い故障許容範囲を達成することを可能にする。ストレージ・システムが予備プールを有する時には、APX動作を実行する前に予備プールで再作成を実行することが最善である。
APXは、ストレージ・ユニット上のデータのサブセットに対して実行することもできる。たとえば、いくつかの構成で、再作成時間を減らすことができる。図5の例を検討されたい。ユニット1Cの内容をユニット2Fで再作成するのではなく、ユニット1Cの半分をユニット2Fの半分で再作成し、ユニット1Eの他方の半分をユニット2Eで再作成することが有益である場合がある。正味の結果は、両方のアレイがD=3であることであるが、同一の量のデータが再作成されるので再作成時間が減る可能性があるが、2つのドナー・ドライブが使用されている。他の組合せも、明らかに可能である。
本発明を、HDDストレージ・ユニットから形成されるストレージ・アレイに関して説明したが、本発明は、ランダム・アクセス・メモリ(RAM)ストレージ・デバイス(揮発性と不揮発性の両方)、光ストレージ・デバイス、およびテープ・ストレージ・デバイスなどの他のメモリ・デバイスのアレイから形成されるストレージ・システムに適用可能である。さらに、本発明は、ネットワーク・アタッチド・ストレージから作られたアレイなど、仮想化されたストレージ・システムに適する。さらに、本発明は、冗長コンポーネントをコンポーネントの特定のサブセットに関連付ける状態情報があり、その状態情報を寄贈動作を使用して転送できるすべての冗長システムに適用可能である。
本発明を、本発明を実行する現在好ましい態様を含む特定の例に関して説明したが、当業者は、添付請求項に示された本発明の趣旨および範囲に含まれる、上で説明したシステムおよび技法の多数の変形形態および置換があることを諒解するであろう。
共通のストレージ・コントローラに接続された複数のアレイを有するストレージ・システムの通常の構成を示す図である。 別々のストレージ・コントローラに接続された複数のアレイを有するストレージ・システムの通常の構成を示す図である。 本発明を例示するための2つのアレイの例示的な組を示す図である。 本発明を例示するためのアレイのうちの1つに含まれる2つのドライブの故障の後の図3のアレイを示す図である。 本発明の実施形態によるAPX動作の後の図3のアレイを示す図である。 ストレージ・ユニット故障のパターンに対する敏感さを有する例示的なアレイを示す図である。 データ消失につながる、図6のアレイの6つのストレージ・ユニット故障の例示的パターンを示す図である。 距離d=3を有する図6のアレイの9つのストレージ・ユニット故障の例示的なターゲット・パターンを示す図である。

Claims (11)

  1. 複数のアレイを有し、各アレイが複数のデータ・ストレージ・ユニットおよび複数の冗長ストレージ・ユニットを有するストレージ・システムの故障許容範囲を増やす方法であって、
    レシピエント・アレイを選択するステップと;
    前記複数のアレイから前記レシピエント・アレイの最小距離より2以上大きい最小距離を有するドナー・アレイを選択するステップと;
    前記ドナー・アレイ内で前記冗長ストレージ・ユニットをドナー・ストレージ・ユニットとして選択するステップと;
    前記ドナー・アレイ内の前記選択されたドナー・ストレージ・ユニット上で前記レシピエント・アレイから失われたレシピエント情報の少なくとも一部を再作成するステップとを含み、
    前記ドナー・アレイ内のストレージ・ユニットが、前記選択されたドナー・ストレージ・ユニット上で前記レシピエント・アレイからレシピエント情報の少なくとも一部を再作成する前記ステップ中に故障した時に、
    前記方法が、さらに、前記選択されたドナー・ストレージ・ユニット上で前記レシピエント・アレイからレシピエント・アレイ情報の少なくとも一部を再作成する前記ステップを打ち切るステップと;
    第2ドナー・アレイの最小距離と第2レシピエント・アレイの最小距離との間の差が2以上である時に前記複数のアレイから前記第2ドナー・アレイを選択するステップと;
    前記第2ドナー・アレイ内でドナー・ストレージ・ユニットを選択するステップと;
    前記第2ドナー・アレイ内の前記選択されたドナー・ストレージ・ユニット上で前記レシピエント・アレイから失われたレシピエント情報の少なくとも一部を再作成するステップとを含む、方法。
  2. 前記複数のアレイから前記ドナー・アレイを選択する前記ステップの前に、前記レシピエント・アレイの最小ハミング距離がd≧2である、請求項1に記載の方法。
  3. 前記選択されたドナー・ストレージ・ユニット上で前記失われた情報を再作成する前記ステップの前に、前記選択されたドナー・ストレージ・ユニットが寄贈されたことを前記ドナー・アレイに示すステップをさらに含む、請求項1に記載の方法。
  4. 前記レシピエント・アレイからレシピエント・ストレージ・ユニットを選択するステップをさらに含む、請求項1に記載の方法。
  5. 前記レシピエント・ストレージ・ユニットの失われた内容の少なくとも一部が、前記ドナー・ストレージ・ユニット上で再作成される、請求項4に記載の方法。
  6. 前記ドナー・ストレージ・ユニットが、さらに、前記ドナー・アレイに対する最小の性能影響に基づいて選択される、請求項1に記載の方法。
  7. 前記レシピエント・アレイの改善された性能に基づいて前記レシピエント情報を選択するステップをさらに含む、請求項1に記載の方法。
  8. 前記ストレージ・システムの前記アレイが、消去または誤り訂正コードに基づく冗長性を含む、請求項1に記載の方法。
  9. 前記消去または誤り訂正コードが、パリティ・コード;Winogradコード;対称コード;リード−ソロモン・コード;EVENODDコード;EVENODDコードの派生物のうちの1つである、請求項8に記載の方法。
  10. 前記ストレージ・システムの前記アレイが、複数の前記消去または誤り訂正コードに基づく冗長性を含む、請求項9に記載の方法。
  11. 予備ストレージ・ユニットが使用可能になった時に、前記予備ストレージ・ユニットを選択されたアレイに割り当てるステップをさらに含む、請求項1に記載の方法。
JP2006519918A 2003-07-14 2004-07-07 アレイ・ストレージ・システムでの冗長性 Expired - Fee Related JP4794439B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/619,649 2003-07-14
US10/619,649 US7281177B2 (en) 2003-07-14 2003-07-14 Autonomic parity exchange
PCT/EP2004/051383 WO2005006198A2 (en) 2003-07-14 2004-07-07 Redundancy in array storage system

Publications (2)

Publication Number Publication Date
JP2007529062A JP2007529062A (ja) 2007-10-18
JP4794439B2 true JP4794439B2 (ja) 2011-10-19

Family

ID=34062610

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006519918A Expired - Fee Related JP4794439B2 (ja) 2003-07-14 2004-07-07 アレイ・ストレージ・システムでの冗長性

Country Status (10)

Country Link
US (2) US7281177B2 (ja)
EP (1) EP1644834B1 (ja)
JP (1) JP4794439B2 (ja)
KR (1) KR101163265B1 (ja)
CN (1) CN100461119C (ja)
AT (1) ATE491990T1 (ja)
CA (2) CA2694819C (ja)
DE (1) DE602004030573D1 (ja)
TW (1) TWI308689B (ja)
WO (1) WO2005006198A2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7379974B2 (en) * 2003-07-14 2008-05-27 International Business Machines Corporation Multipath data retrieval from redundant array
US7533325B2 (en) 2003-07-14 2009-05-12 International Business Machines Corporation Anamorphic codes
JP2006236001A (ja) * 2005-02-24 2006-09-07 Nec Corp ディスクアレイ装置
JP2007265271A (ja) 2006-03-29 2007-10-11 Nec Corp ストレージ装置、データ配置方法およびプログラム
US7634686B2 (en) * 2006-07-24 2009-12-15 Marvell World Trade Ltd. File server for redundant array of independent disks (RAID) system
US8046629B1 (en) 2006-07-24 2011-10-25 Marvell World Trade Ltd. File server for redundant array of independent disks (RAID) system
JP2008181416A (ja) * 2007-01-25 2008-08-07 Hitachi Ltd 記憶システム及びデータ管理方法
JP2008197886A (ja) * 2007-02-13 2008-08-28 Nec Corp ストレージ装置及びその制御方法
US8656131B2 (en) 2008-10-31 2014-02-18 Dot Hill Systems Corporation Method and apparatus for expanding a virtual storage device
CN101667299B (zh) * 2009-09-27 2011-12-21 大连海事大学 一种数字图像染色方法
US8994934B1 (en) 2010-11-10 2015-03-31 Chemimage Corporation System and method for eye safe detection of unknown targets
WO2014098872A1 (en) * 2012-12-20 2014-06-26 Hewlett-Packard Development Company, L.P. Raid storage processing
US10055278B2 (en) * 2015-10-30 2018-08-21 International Business Machines Corporation Autonomic parity exchange in data storage systems
CN108228382B (zh) * 2018-01-11 2021-08-10 成都信息工程大学 一种针对evenodd码单盘故障的数据恢复方法
TWI665550B (zh) * 2018-04-27 2019-07-11 威聯通科技股份有限公司 磁碟陣列的資料分佈方法及其資料儲存系統與記錄媒體
CN109086000B (zh) * 2018-06-22 2021-08-03 浙江工业大学 一种raid存储系统中的三容错数据布局方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10260789A (ja) * 1997-03-17 1998-09-29 Fujitsu Ltd デバイスアレイ・システム
JP2003084923A (ja) * 2001-09-06 2003-03-20 Hitachi Ltd クラスタ型ディスクアレイ装置の構成方法

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5148432A (en) * 1988-11-14 1992-09-15 Array Technology Corporation Arrayed disk drive system and method
US5134616A (en) * 1990-02-13 1992-07-28 International Business Machines Corporation Dynamic ram with on-chip ecc and optimized bit and word redundancy
US5680574A (en) * 1990-02-26 1997-10-21 Hitachi, Ltd. Data distribution utilizing a master disk unit for fetching and for writing to remaining disk units
US5134619A (en) * 1990-04-06 1992-07-28 Sf2 Corporation Failure-tolerant mass storage system
US5579475A (en) * 1991-02-11 1996-11-26 International Business Machines Corporation Method and means for encoding and rebuilding the data contents of up to two unavailable DASDS in a DASD array using simple non-recursive diagonal and row parity
US5258984A (en) 1991-06-13 1993-11-02 International Business Machines Corporation Method and means for distributed sparing in DASD arrays
US5301297A (en) * 1991-07-03 1994-04-05 Ibm Corp. (International Business Machines Corp.) Method and means for managing RAID 5 DASD arrays having RAID DASD arrays as logical devices thereof
US5257391A (en) * 1991-08-16 1993-10-26 Ncr Corporation Disk controller having host interface and bus switches for selecting buffer and drive busses respectively based on configuration control signals
US5499337A (en) * 1991-09-27 1996-03-12 Emc Corporation Storage device array architecture with solid-state redundancy unit
US5506977A (en) * 1991-12-17 1996-04-09 Dell Usa, L.P. Method and controller for minimizing reads during partial stripe write operations to a disk drive
US5398253A (en) * 1992-03-11 1995-03-14 Emc Corporation Storage unit generation of redundancy information in a redundant storage array system
WO1993018456A1 (en) * 1992-03-13 1993-09-16 Emc Corporation Multiple controller sharing in a redundant storage array
WO1993023803A1 (fr) * 1992-05-21 1993-11-25 Fujitsu Limited Appareil de commande pour pile de disques
US5666511A (en) * 1992-10-08 1997-09-09 Fujitsu Limited Deadlock suppressing schemes in a raid system
US5617425A (en) * 1993-05-26 1997-04-01 Seagate Technology, Inc. Disc array having array supporting controllers and interface
US6269453B1 (en) * 1993-06-29 2001-07-31 Compaq Computer Corporation Method for reorganizing the data on a RAID-4 or RAID-5 array in the absence of one disk
JP3188071B2 (ja) * 1993-10-14 2001-07-16 富士通株式会社 ディスクキャッシュ装置
JP3078972B2 (ja) * 1993-11-05 2000-08-21 富士通株式会社 ディスクアレイ装置
US5862158A (en) 1995-11-08 1999-01-19 International Business Machines Corporation Efficient method for providing fault tolerance against double device failures in multiple device systems
KR100208801B1 (ko) * 1996-09-16 1999-07-15 윤종용 데이타 입/출력 성능을 향상시키기 위한 기억장치 시스템 및 그에 따른 데이타 복구정보 캐시구현방법
KR100275900B1 (ko) * 1996-09-21 2000-12-15 윤종용 알에이아이디 서브시스템에 있어서 분할패러티 예비 디스크 구현방법
US6161165A (en) * 1996-11-14 2000-12-12 Emc Corporation High performance data path with XOR on the fly
JP3271916B2 (ja) * 1996-12-06 2002-04-08 株式会社エクシング 音・動画再生システム
US6154853A (en) * 1997-03-26 2000-11-28 Emc Corporation Method and apparatus for dynamic sparing in a RAID storage system
WO1998045845A1 (fr) * 1997-04-07 1998-10-15 Sony Corporation Systeme et procede d'edition
US5937428A (en) * 1997-08-06 1999-08-10 Lsi Logic Corporation Method for host-based I/O workload balancing on redundant array controllers
JP3618529B2 (ja) * 1997-11-04 2005-02-09 富士通株式会社 ディスクアレイ装置
US5832005A (en) * 1997-12-11 1998-11-03 International Business Machines Corporation Fault-tolerant method and means for managing access to an initial program load stored in read-only memory or the like
US6353895B1 (en) * 1998-02-19 2002-03-05 Adaptec, Inc. RAID architecture with two-drive fault tolerance
US6138125A (en) * 1998-03-31 2000-10-24 Lsi Logic Corporation Block coding method and system for failure recovery in disk arrays
JP4234233B2 (ja) * 1998-05-27 2009-03-04 富士通株式会社 情報記憶装置及びプログラムが記憶された記録媒体
US6279138B1 (en) * 1998-08-04 2001-08-21 International Business Machines Corporation System for changing the parity structure of a raid array
US7000069B2 (en) * 1999-04-05 2006-02-14 Hewlett-Packard Development Company, L.P. Apparatus and method for providing very large virtual storage volumes using redundant arrays of disks
US6275898B1 (en) * 1999-05-13 2001-08-14 Lsi Logic Corporation Methods and structure for RAID level migration within a logical unit
US6530004B1 (en) * 2000-06-20 2003-03-04 International Business Machines Corporation Efficient fault-tolerant preservation of data integrity during dynamic RAID data migration
US6654926B1 (en) * 2000-10-11 2003-11-25 Itran Communications Ltd. Soft decision maximum likelihood encoder and decoder
US6745310B2 (en) * 2000-12-01 2004-06-01 Yan Chiew Chow Real time local and remote management of data files and directories and method of operating the same
US6748488B2 (en) * 2001-09-28 2004-06-08 Sun Microsystems, Inc. Storage array having multiple erasure correction and sub-stripe writing
US6687791B2 (en) * 2002-01-07 2004-02-03 Sun Microsystems, Inc. Shared cache for data integrity operations
US6931576B2 (en) * 2002-01-07 2005-08-16 Sun Microsystems, Inc. Data integrity device providing heightened error protection in a data processing system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10260789A (ja) * 1997-03-17 1998-09-29 Fujitsu Ltd デバイスアレイ・システム
JP2003084923A (ja) * 2001-09-06 2003-03-20 Hitachi Ltd クラスタ型ディスクアレイ装置の構成方法

Also Published As

Publication number Publication date
DE602004030573D1 (de) 2011-01-27
US20050015694A1 (en) 2005-01-20
CA2532998A1 (en) 2005-01-20
US7562281B2 (en) 2009-07-14
WO2005006198A3 (en) 2006-08-17
WO2005006198A2 (en) 2005-01-20
US20080016416A1 (en) 2008-01-17
EP1644834A2 (en) 2006-04-12
ATE491990T1 (de) 2011-01-15
US7281177B2 (en) 2007-10-09
TW200516381A (en) 2005-05-16
CN100461119C (zh) 2009-02-11
CN1906592A (zh) 2007-01-31
CA2694819C (en) 2016-06-28
JP2007529062A (ja) 2007-10-18
KR101163265B1 (ko) 2012-07-09
EP1644834B1 (en) 2010-12-15
CA2532998C (en) 2011-03-08
KR20060038985A (ko) 2006-05-04
TWI308689B (en) 2009-04-11
CA2694819A1 (en) 2005-01-20

Similar Documents

Publication Publication Date Title
US7788569B2 (en) Autonomic parity exchange
US7562281B2 (en) Autonomic parity exchange
JP4516846B2 (ja) ディスク・アレイ・システム
US7529970B2 (en) System and method for improving the performance of operations requiring parity reads in a storage array system
US8386891B2 (en) Anamorphic codes
US8839028B1 (en) Managing data availability in storage systems
JP3255751B2 (ja) 安全性の高いディスクアレイの改良
US7246301B2 (en) Method for storage array error correction
JP3676793B2 (ja) ディスクアレイ装置
JP3699473B2 (ja) ディスクアレイ装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100413

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20100423

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100423

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100709

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110510

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110517

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

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20110719

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

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

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees