JP5954081B2 - ストレージ制御装置、ストレージ制御方法、およびストレージ制御プログラム - Google Patents

ストレージ制御装置、ストレージ制御方法、およびストレージ制御プログラム Download PDF

Info

Publication number
JP5954081B2
JP5954081B2 JP2012213273A JP2012213273A JP5954081B2 JP 5954081 B2 JP5954081 B2 JP 5954081B2 JP 2012213273 A JP2012213273 A JP 2012213273A JP 2012213273 A JP2012213273 A JP 2012213273A JP 5954081 B2 JP5954081 B2 JP 5954081B2
Authority
JP
Japan
Prior art keywords
storage
information
restoration process
storage information
reading
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.)
Active
Application number
JP2012213273A
Other languages
English (en)
Other versions
JP2014067313A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012213273A priority Critical patent/JP5954081B2/ja
Priority to US13/947,278 priority patent/US9053075B2/en
Publication of JP2014067313A publication Critical patent/JP2014067313A/ja
Application granted granted Critical
Publication of JP5954081B2 publication Critical patent/JP5954081B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/1092Rebuilding, e.g. when physically replacing a failing disk
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1059Parity-single bit-RAID5, i.e. RAID 5 implementations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、ストレージ制御装置、ストレージ制御方法、およびストレージ制御プログラムに関する。
従来、複数台のストレージを組み合わせることにより仮想的な1台のストレージグループとして運用し冗長性を向上させるRedundant Arrays of Inexpensive Disks(RAID)という技術が開示されている。また、複数のストレージのバックアップ以降の更新データの箇所を記録する修正マップを有し、障害が発生したストレージのデータを再構築する際、修正マップに記録されたバックアップ以降の更新データについて、他のストレージを基に再構築する技術がある。さらに、複数のディスクと、複数のディスクのデータをバックアップするバックアップストレージを有し、複数のディスクのうちの故障ディスクを交換した際の交換ディスクのデータの復旧をバックアップストレージから行う技術がある。(たとえば、下記特許文献1、2を参照。)
特開2002−108571号公報 特開2006−252126号公報
しかしながら、従来技術によれば、あるストレージに障害が発生してストレージグループの冗長性を回復させるリビルド処理中に、あるストレージ以外の別のストレージに障害が発生すると、ストレージグループを復旧することが困難である。
1つの側面では、本発明は、リビルド処理中に別のストレージに障害が発生したストレージグループを復旧することを目的とする。
上述した課題を解決し、目的を達成するため、本発明の一側面によれば、複数のストレージにより冗長性が保たれたストレージグループのうちの第1のストレージの第1の記憶情報をバックアップ先の記憶領域に複製した後に第1のストレージの第1の記憶情報が更新される場合、更新対象の第1のストレージにおける格納位置を示す情報を含む管理情報を保持し、第1のストレージに障害が発生した場合、保持した管理情報に基づいて、複数のストレージとは異なる他のストレージに、第1のストレージの格納位置の第2の記憶情報を復元する第1の復元処理を実行し、第1のストレージに記憶された全記憶情報のうち、第1の復元処理により復元された第2の記憶情報を除く残りの第3の記憶情報を、複数のストレージのうち第1のストレージを除く残余のストレージに記憶された記憶情報に基づいて復元する第2の復元処理を実行し、第2の復元処理の実行中に複数のストレージのうちの第1のストレージとは異なる第2のストレージに障害が発生した場合、第2の復元処理を中断させた後、バックアップ先の第1の記憶情報と管理情報とに基づいて、他のストレージに、第1のストレージに記憶された記憶情報を復元するストレージ制御装置、ストレージ制御方法、およびストレージ制御プログラムが提案される。
本発明の一態様によれば、リビルド処理中に別のストレージに障害が発生したストレージグループを復旧できるという効果を奏する。
図1は、本実施の形態にかかるストレージ制御装置の動作例を示す説明図である。 図2は、ストレージシステムのハードウェア構成例を示す説明図である。 図3は、OPCの動作例を示す説明図である。 図4は、ストレージ制御装置の機能構成例を示すブロック図である。 図5は、通常読込と縮退読込との動作例を示す説明図である。 図6は、差分リビルド処理中のHS内の更新される記憶情報の状態を示す説明図である。 図7は、通常リビルド処理中のHS内の更新される記憶情報の状態を示す説明図である。 図8は、連携リビルド処理中のHS内の更新される記憶情報の状態を示す説明図である。 図9は、連携リビルド処理中の第1の縮退読込の動作例を示す説明図である。 図10は、連携リビルド処理中の第2の縮退読込の動作例を示す説明図である。 図11は、ストレージシステムの状態遷移の一例を示す説明図である。 図12は、差分リビルド処理手順の一例を示すフローチャートである。 図13は、差分リビルド処理時の読込処理手順の一例を示すフローチャートである。 図14は、差分リビルド処理時の書込処理手順の一例を示すフローチャートである。 図15は、通常リビルド処理手順の一例を示すフローチャートである。 図16は、通常リビルド処理時の読込処理手順の一例を示すフローチャートである。 図17は、連携リビルド処理手順の一例を示すフローチャートである。 図18は、連携リビルド処理時の読込処理手順の一例を示すフローチャートである。
以下に添付図面を参照して、開示のストレージ制御装置、ストレージ制御方法、およびストレージ制御プログラムの実施の形態を詳細に説明する。
図1は、本実施の形態にかかるストレージ制御装置の動作例を示す説明図である。ストレージシステム100は、ストレージ制御装置101と、制御対象となるディスク111〜ディスク114と、バックアップボリューム121とを含む。
ディスク111〜ディスク114は、データを記憶する記憶媒体である。ストレージは、データを記憶する装置である。ストレージには、ディスクとなる記憶媒体を制御するドライブ、コントローラを含む。本実施の形態では、説明の簡略化のため、1ストレージに1ディスクがあるという前提で説明を行う。よって、ストレージ制御装置101は、ストレージグループとなるディスク111〜ディスク114を制御する。より具体的に、ストレージ制御装置101は、ストレージグループとなるディスク111〜ディスク114を、冗長性が保たれた1つのRAIDグループとして扱う。RAIDにはRAIDレベルがあり、本実施の形態では、RAID1以上のRAIDレベルにて実施可能である。
バックアップボリューム121は、ある時刻でのディスク111〜ディスク114の複製となるスナップショットを記憶する。なお、ボリュームは、ディスクを論理的に区切ったものである。したがって、バックアップボリューム121は、1つのディスクでもよいし、複数のディスクにより形成されていてもよい。
図1の(A)は、ストレージシステム100が行っている運用について説明している。運用にて行う1つ目の処理として、人為的、またはソフトウェアの不具合によるデータの消失や改変の対策として、ストレージシステム100は、ある時刻でのディスク111〜ディスク114の複製となるスナップショットを、バックアップボリューム121に格納する。以下、ある時刻での完全な複製を、「スナップショット」と呼称する。スナップショットの作成については、図3にて後述する。この場合、ある時刻以降の新規書込要求の書込内容については、バックアップボリューム121では保証されていない。ストレージシステム100は、運用中のデータをRAIDグループの冗長性によって保証しており、人為的、またはソフトウェアの不具合により削除されたデータを、スナップショットによって保証している。
さらに、運用にて行う2つ目の処理として、ストレージシステム100は、スナップショット作成後のディスク111〜ディスク114のデータが更新される場合、更新されるデータの格納位置をトラッキングビットマップ122に記録する。
トラッキングビットマップ122は、更新されるデータが記憶されたディスク111〜ディスク114の格納位置を示す情報である。たとえば、トラッキングビットマップ122は、ディスク内の各ブロックに付与した通し番号を1ビットとして各ブロック分記録している。具体的に、1ブロック目のデータは、トラッキングビットマップ122の1ビット目に対応し、2ブロック目のデータは、トラッキングビットマップ122の2ビット目に対応している。また、トラッキングビットマップ122内の黒墨で塗られた矩形領域は、データに対応するビットがONとなっていることを示す。
以下、各ディスク内の各ブロックに付与した通し番号を、Physical Logical Block Address(PLBA)と定義する。また、RAIDグループ単位でブロックに付与した通し番号を、RAID Group Logical Block Address(RLBA)と定義する。また、RAIDグループ内のブロックのうち、利用者が使いたいサイズだけ切り出して形成したブロックに付与した通し番号を、Shared Logical Block Address(SLBA)として定義する。たとえば、バックアップボリューム121は、SLBAを指定することでデータにアクセスできる。
次に、図1の(B)〜(D)は、ディスク111〜ディスク114のリストアの動作を示している。リストアは、ディスクに障害が発生した場合に行われる。本実施の形態では、リストアの動作として、第1の復元処理となる差分リビルド処理、第2の復元処理となる通常リビルド処理、第3の復元処理となるバックアップボリューム121との連携リビルド処理、という3つの処理を逐次行う。ここで、リビルドとは、ディスク111〜ディスク114のデータを障害が発生する前の状態に再構築して、冗長性を回復することをいう。以下、バックアップボリューム121との連携リビルド処理を、単に「連携リビルド処理」と呼称する。また、障害が発生したディスクを、「縮退ディスク」と呼称する。図1の(B)〜図1の(D)では、第1の縮退ディスクがディスク114として、また第2の縮退ディスクがディスク113として説明する。
差分リビルド処理は、バックアップボリューム121にバックアップされていない、冗長グループを構成するディスク111〜ディスク114のうちの、第1の縮退ディスク114の更新対象の記憶情報を、残りのディスク111〜ディスク113の記憶情報(たとえばRAID5の場合、複数のストライプデータおよびパリティデータで構成される冗長ストライプ)を利用して、先に復元し、とりあえずディスク111〜ディスク114の冗長度を回復させる処理である。
通常リビルド処理は、第1の縮退ディスク114に記憶された全記憶情報を、残りのディスク111〜ディスク113に記憶された記憶情報(たとえばRAID5の場合、複数のストライプデータおよび/またはパリティデータで構成される冗長ストライプ)を利用して、先頭から復元し、ディスク111〜ディスク114の冗長度を回復させる処理である。また、この通常リビルド処理を利用することで、差分リビルド処理で復元された箇所は除いた箇所について復元することができる。
連携リビルド処理は、ディスク111〜ディスク114のうちの、第1の縮退ディスク114とは異なる第2の縮退ディスク113が発生してRAIDグループが故障した状態で、バックアップボリューム121から復元する処理である。連携リビル処理ドでは、差分リビルドおよび通常リビルドで復元できなかった残りの箇所について、バックアップボリューム121に記憶された第1の記憶情報により復元することができる。
また、データの復元先は、縮退ディスクの代わりに嵌装されたディスクであってもよいし、ストレージシステム100内に予め用意されたホットスペアディスク115でもよい。本実施の形態では、データの復元先が、ホットスペアディスク115であるとする。また、ホットスペアディスクを、「HS」と呼称する。また、ストレージ制御装置101は、HS115をRAIDグループに組み込んでリストアしてもよいし、RAIDグループに組み込まずにリストアしてもよい。
図1の(B)では、差分リビルド処理の動作例を示している。差分リビルド処理として、ストレージ制御装置101は、ディスク114が第1の縮退ディスクとなった場合、トラッキングビットマップ122に基づいて、HS115に、ディスク114の更新されるデータが記憶された格納位置の更新データを復元する。更新データとは、ディスク114の格納位置に記憶されたデータであってもよいし、障害が発生した後にディスク114の格納位置に格納される予定のデータであってもよい。具体的に、ストレージ制御装置101は、トラッキングビットマップ122のONとなっているビットに対応するデータを、HS115に復元する。
図1の(C)では、通常リビルド処理の動作例を示している。通常リビルド処理として、ストレージ制御装置101は、差分リビルド処理によって復元していないデータについてディスク114の先頭から復元する。
図1の(D)では、連携リビルド処理の動作例を示している。ディスク113が故障した場合、連携リビルド処理として、ストレージ制御装置101は、通常リビルド処理を中断させた後、バックアップボリューム121とトラッキングビットマップ122とに基づいて、HS115にディスク114のデータを復元する。通常リビルド処理の進捗を表す情報を取得した場合、ストレージ制御装置101は、通常リビルド処理の続きから復元する。
このように、ストレージ制御装置101は、RAIDバックアップ後の更新箇所を記憶し、ディスク故障時に更新箇所を復元した後、別ディスクが故障したら更新箇所以外をバックアップから復元する。これにより、ストレージ制御装置101は、更新箇所の冗長性はRAIDグループの故障時に回復済のため、RAIDグループを復旧できる。以下、図2〜図18を用いて、ストレージ制御装置101について詳細に説明する。
図2は、ストレージシステムのハードウェア構成例を示す説明図である。ストレージシステム100は、ストレージ制御装置101#0、101#1と、ホストサーバ201と、Device Enclosure(DE)202と、を含む。以下、接尾記号“#x”が付与されている場合は、ストレージ制御装置101#xに関するハードウェアであることを示している。ストレージ制御装置101#0と、ストレージ制御装置101#1とは、ストレージ制御装置間通信203によって接続されている。
ストレージ制御装置101#0は、CPU(Central Processing Unit)211#0と、ROM(Read‐Only Memory)212と、RAM(Random Access Memory)213#0と、を含む。また、ストレージ制御装置101#0は、Channel Adapter(CA)214#0と、Disk Interface(DI)215#0と、を含む。また、各部はバス216#0によってそれぞれ接続されている。また、ストレージ制御装置101#1も、ストレージ制御装置101#0と同様のハードウェアを有している。
DE202は、RAID group Logical Unit(RLU)221#0、RLU221#1、HS115を含む。RLU221#0は、ディスク111#0〜ディスク114#0を含む。RLU221#1は、ディスク111#1〜ディスク114#1を含む。
ストレージ制御装置101は、ストレージとなるディスク群を制御する装置である。具体的に、ストレージ制御装置101#0は、RLU221#0に含まれるディスク111#0〜ディスク114#0を制御する。また、ストレージ制御装置101#1は、RLU221#1に含まれるディスク111#1〜ディスク114#1を制御する。具体的な制御内容として、ストレージ制御装置101は、ディスク111〜ディスク114へのアクセスやリビルド等のリカバリ動作を制御する。
ホストサーバ201は、ストレージ制御装置101と接続しているサーバである。ホストサーバ201は、さらに、ネットワークを介して、ストレージシステム100を利用する利用者端末と接続していてもよい。DE202は、ディスク111〜ディスク114を収める筐体である。
CPU211は、ストレージ制御装置101の全体の制御を司る演算処理装置である。また、CPU211は、キャッシュメモリを有していてもよい。ROM212は、ブートプログラムなどのプログラムを記憶する不揮発性メモリである。RAM213は、CPU211のワークエリアとして使用される揮発性メモリである。CA214は、ホストサーバ201とのインターフェースを提供するモジュールである。CA214は、たとえば、Fibre Channel(FC)やInternet Small Computer System Interface(iSCSI)を採用することができる。DI215は、ストレージ制御装置101とディスク111〜ディスク114を接続するモジュールである。
RLU221は、複数のRAIDグループを識別するために付与された番号によって区別されたディスクの集合である。図2では、DE202は、番号“#0”が付与されたRLU221#0と、番号“#1”が付与されたRLU221#1とを示している。また、ストレージシステム100は、RLU221#1をバックアップボリューム121として使用している。RLU221#0のRAIDレベルとRLU221#1のRAIDレベルは同一でもよいし、異なってもよい。
続けて、図3にて、本実施の形態にかかるストレージ制御装置101が用いる、コピー元ディスクの完全な複製を作成するOne Point Copy(OPC)の動作例を説明する。
図3は、OPCの動作例を示す説明図である。OPCは、ある時刻でのコピー元ディスク301の完全な複製となるスナップショットを作成する機能である。ストレージ制御装置101は、ある時刻にて、コピー元ディスク301の先頭から、コピー先ボリューム302に複製を行う。コピー元ディスク301とコピー先ボリューム302は、同一のサイズとなる。さらに、OPC実行中にホストサーバ201から書込要求が発生した場合、ストレージ制御装置101は、コピー元ディスク301に書き込む前にコピー元ディスク301の旧データを先にコピー先ボリューム302に退避する。これにより、ストレージ制御装置101は、スナップショット作成以降の新規書込要求の書込内容がコピー先ボリューム302に反映されないようにする。
また、ストレージ制御装置101は、I/OTracking機能として、書込要求の発生箇所を記録するトラッキングビットマップ122の該当のビットをONにする。また、リビルドを開始する際に、ストレージ制御装置101は、トラッキングビットマップ122をコピーしたリビルドビットマップを用意する。ストレージ制御装置101は、OPCとトラッキングビットマップ122と、リビルドビットマップを用いて、本実施の形態にかかるストレージ制御方法を実行する。
(ストレージ制御装置101の機能)
次に、ストレージ制御装置101の機能について説明する。図4は、ストレージ制御装置の機能構成例を示すブロック図である。ストレージ制御装置101は、保持部401と、第1の復元部402と、第2の復元部403と、第3の復元部404と、受付部405と、判断部406と、実行部407を含む。制御部となる保持部401〜実行部407は、記憶装置に記憶されたプログラムをCPU211が実行することにより、保持部401〜実行部407の機能を実現する。記憶装置とは、具体的には、たとえば、図2に示したROM212、RAM213などである。
また、ストレージ制御装置101は、ディスク111〜ディスク114、HS115を含むディスク群410、バックアップボリューム121、トラッキングビットマップ122、リビルドビットマップ411にアクセス可能である。トラッキングビットマップ122、リビルドビットマップ411は、RAM213といった記憶装置に格納されている。リビルドビットマップ411は、第1の復元部402によって差分リビルド処理が実行開始された際の、トラッキングビットマップ122がコピーされたデータである。
保持部401は、RAIDグループのうちのディスク114の第1の記憶情報をバックアップボリューム121に複製した後にディスク114の第1の記憶情報が更新される場合、更新対象のディスク114における格納位置を示す情報を含む管理情報を保持する。更新対象のディスク114の格納位置を示す情報は、トラッキングビットマップ122に記憶されている。記憶情報は、RAID1であればユーザデータであり、RAID5であればユーザデータとパリティである。また、管理情報は、格納位置を示す情報の他に、更新内容を含めてもよい。なお、保持するデータは、RAM213等の記憶領域に記憶される。
第1の復元部402は、ディスク114に障害が発生した場合、保持部401によって保持された管理情報に基づいて、ディスク111〜ディスク114とは異なるHS115に、ディスク114の格納位置の第2の記憶情報を復元する差分リビルド処理を実行する。なお、復元された第2の記憶情報は、HS115などの記憶領域に記憶される。
第2の復元部403は、ディスク114に記憶された全記憶情報のうち、第3の記憶情報を、複数のストレージのうちディスク114を除く残余のディスクに記憶された記憶情報に基づいて復元する通常リビルド処理を実行する。第3の記憶情報とは、第1の復元部402による差分リビルド処理により復元された第2の記憶情報を除く残りの記憶情報である。なお、復元された第3の記憶情報は、HS115などの記憶領域に記憶される。
第3の復元部404は、第2の復元部403による通常リビルド処理の実行中にディスク111〜ディスク114のうちのディスク114とは異なるディスク113に障害が発生した場合、通常リビルド処理を中断させる。続けて、第3の復元部404は、バックアップボリューム121に複製された第1の記憶情報と管理情報とに基づいて、HS115に、ディスク114に記憶された記憶情報を復元する。たとえば、第3の復元部404は、復元対象の記憶情報がトラッキングビットマップ122のビットがOFFの記憶情報である場合、バックアップボリューム121の記憶情報を参照して、HS115に、ディスク114の記憶情報のうちの復元対象の記憶情報を復元する。
また、第3の復元部404は、通常リビルド処理の実行中にディスク113に障害が発生した場合、通常リビルド処理を中断させる。続けて、第3の復元部404は、バックアップボリューム121に複製された第1の記憶情報と管理情報と通常リビルド処理の進捗を表す情報とに基づいて、HS115に、ディスク114の全記憶情報のうちの通常リビルド処理によって復元されていない記憶情報を復元してもよい。通常リビルド処理の進捗を表す情報は、RLBA=0から通常リビルド処理が行われていれば、復元を完了したRLBAの最大値となる。たとえば、第3の復元部404は、復元を完了したRLBAの最大値の次のRLBAから復元する。または、第3の復元部404は、RAIDグループのRLBAの最大値から、復元を完了したRLBAの最大値の次のRLBAまで復元してもよい。なお、復元された記憶情報は、HS115などの記憶領域に記憶される。
受付部405は、RAIDグループへの書込要求を受け付ける。また、受付部405は、RAIDグループへの読込要求を受け付ける。書込要求や読込要求は、たとえば、ホストサーバ201から発行される。なお、受付結果は、RAM213などの記憶領域に記憶される。
判断部406は、差分リビルド処理か、通常リビルド処理か、連携リビルド処理の実行中に、受付部405によって読込要求が受け付けられた場合、読込要求による読込先の記憶情報が、復元された記憶情報か否かを判断する。復元された記憶情報か否かの判断については、復元処理の進捗を示したRLBAの値や、トラッキングビットマップ122のビットを参照することで判断できる。具体的な判断方法については、それぞれ図13、図16、図18にて後述する。
また、判断部406は、連携リビルド処理の実行中に読込要求が受け付けられた場合、読込要求による読込先の記憶情報が、差分リビルド処理か通常リビルド処理か連携リビルド処理かによって復元された記憶情報か否かを判断してもよい。
また、判断部406は、差分リビルド処理の実行中に読込要求が受け付けられた場合、読込先の記憶情報が、差分リビルド処理の進捗を表す情報と管理情報とに基づいて特定される差分リビルド処理によって復元された記憶情報に含まれているか否かを判断する。差分リビルド処理の進捗を表す情報は、たとえば、RLBA=0から差分リビルド処理が行われていれば、復元を完了したRLBAの最大値となる。たとえば、管理情報が、RLBA=1、5、10、14であったとする。このとき、差分リビルド処理の進捗を表す情報が10を指していた場合、復元された記憶情報は、RLBA=1、5の記憶情報となる。
また、判断部406は、差分リビルド処理の実行中に、読込要求が受け付けられた場合、読込要求による読込先の記憶情報が、次の条件を満たすか否かを判断してもよい。条件とは、読込先の記憶情報が、差分リビルド処理の進捗を表す情報から特定される記憶情報でなく、差分リビルド処理の実行開始前の管理情報から特定される記憶情報でなく、かつ差分リビルド処理の実行開始後の管理情報から特定される記憶情報であるという条件である。差分リビルド処理の実行開始前の管理情報は、リビルドビットマップ411に記述されている。なお、判断結果は、RAM213などの記憶領域に記憶される。
実行部407は、差分リビルド処理、または通常リビルド処理の実行中に書込要求が受け付けられた場合、ディスク群410のうち縮退ディスクを除くディスクのうちの書込要求から特定される書込先の記憶領域に書込要求の書込内容を書き込む書込処理を実行する。ディスク群410のうちの障害が発生したディスクを除くディスクは、言いかえれば、ディスク111〜ディスク114のうちの障害が発生したディスクを除く残余のディスクとHS115である。
また、実行部407は、判断部406によって読込先の記憶情報が復元された記憶情報であると判断された場合、残余のストレージとHS115とのうちの読込先の記憶情報を読み込む読込処理を実行する。また、実行部407は、判断部406によって読込先の記憶情報が復元された記憶情報でないと判断された場合、バックアップボリューム121に複製された記憶情報のうちの読込先の記憶情報を読み込む読込処理を実行してもよい。ここで、読込先の記憶情報が縮退ディスクにある場合の読み込みを、「縮退読込」と呼称する。一方、読込先の記憶情報が障害が発生していないディスクにある場合の読み込みを、「通常読込」と呼称する。
また、実行部407は、判断部406によって読込先の記憶情報が復元された記憶情報であると判断された場合、残余のストレージとHS115とのうちの読込先の記憶情報を読み込む読込処理を実行する。また、実行部407は、判断部406によって読込先の記憶情報が復元された記憶情報でないと判断された場合、残余のストレージの記憶情報に基づいて読込先の記憶情報と同一の内容の記憶情報を取得する取得処理を実行してもよい。取得処理は、RAIDレベルによって異なる。RAID1であれば、取得処理は、故障していないペアディスクから、読込先の記憶情報と同一の内容の記憶情報を取得する処理内容となる。また、RAID5であれば、取得処理は、故障していないディスクや、HS115上の記憶情報およびパリティのXORの算出結果から、読込先の記憶情報と同一の内容の記憶情報を取得する処理内容となる。
また、実行部407は、判断部406によって次の条件を満たすと判断された場合、残余のディスクとHS115とのうちの読込先の記憶情報を読み込む読込処理を実行してもよい。条件とは、読込先の記憶情報が差分リビルド処理の進捗を表す情報から特定される記憶情報でなく、差分リビルド処理の実行開始前の管理情報から特定される記憶情報でなく、かつ差分リビルド処理の実行開始後の管理情報から特定される記憶情報である。
図5は、通常読込と縮退読込との動作例を示す説明図である。図5の(A)は、RAID5における通常読込の動作例を示しており、図5の(B)は、RAID5における縮退読込の動作例を示している。図5の(A)と図5の(B)に共通する説明として、ディスク111〜ディスク114と、HS115とがあり、ディスク113に障害が発生したとする。
通常読込は、障害が発生していないディスク111、ディスク112、ディスク114に記憶されている記憶情報に対して読み込む場合の処理である。図5の(A)にて示すように、通常読込を行う場合、ストレージ制御装置101は、障害が発生していないディスクから記憶情報を読み込む。また、HS115内の復元が完了している記憶情報を読み込む場合も、ストレージ制御装置101は、通常読込として、HS115から記憶情報を読み込む。
縮退読込は、障害が発生したディスクに記憶されている記憶情報に対して読み込む場合の処理である。図5の(B)にて示すように、縮退読込を行う場合、ストレージ制御装置101は、障害が発生したディスク113にはアクセスせずに、障害が発生していないディスク111、ディスク112、ディスク114の記憶情報を読み込んで、目的の記憶情報を生成する。RAID5の場合、ストレージ制御装置101は、ディスク111の記憶情報と、ディスク112の記憶情報と、ディスク114の記憶情報とをXORすることにより、目的の記憶情報を生成して、目的の記憶情報を読み込む。
次に、図6〜図8にて、差分リビルドと、通常リビルドと、連携リビルドとについて、HS115内の更新される記憶情報の状態を示す。
図6は、差分リビルド処理中のHS内の更新される記憶情報の状態を示す説明図である。ビットマップ600は、差分リビルド処理中のHS115に関するトラッキングビットマップ122とリビルドビットマップ411の状態を図示している。また、ビットマップ600は、ビット601〜ビット608を含む。図6〜図8において、ビット601〜ビット608の内部が黒墨である場合、ビットに対応する記憶情報が保証されていることを示す。
ビット601〜ビット603は、リビルドビットマップ411がONとなっており、さらに、ビットが示すRLBAがリビルドの進捗を示すリビルドRLBA未満となるビットである。具体的に、リビルドRLBAは、リビルド処理を行っているRLBAの値を示している。ビット601〜ビット603は、対応する記憶情報が、差分リビルドの実行により保証された記憶情報を示している。
ビット604、ビット605は、トラッキングビットマップ122がONとなっているビットである。ビット604、ビット605は、対応する記憶情報が、リビルド処理開始以降に発生した書込要求により書き込まれ、書込要求の書込内容が保証された記憶情報となることを示している。
ビット606〜ビット608は、トラッキングビットマップ122がOFF、リビルドビットマップ411がONとなっており、さらに、ビットが示すRLBAがリビルドRLBA以上となるビットである。ビット606〜ビット608は、対応する記憶情報が、差分リビルドの対象であるが、未復元の状態にあることを示している。
図7は、通常リビルド処理中のHS内の更新される記憶情報の状態を示す説明図である。ビットマップ700は、通常リビルド処理中のHS115に関するトラッキングビットマップ122とリビルドビットマップ411の状態を図示している。また、ビットマップ700は、ビット605〜ビット608を含む。図6にて示していたビット601〜ビット604を含む、ビットが示すRLBAがリビルドRLBA未満となるビットは、対応する記憶情報が、通常リビルドの実行により保証された記憶情報を示している。
ビット605は、トラッキングビットマップ122がONとなっており、さらに、ビットが示すRLBAがリビルドRLBA以上となるビットである。ビット605は、対応する記憶情報が、リビルド処理開始以降に発生した書込要求により書き込まれ、保証された記憶情報であることを示している。
ビット606〜ビット608は、トラッキングビットマップ122がONとなっており、さらに、ビットが示すRLBAがリビルドRLBAより大きいビットである。ビット606〜ビット608は、対応する記憶情報が、差分リビルドの実行により保証された記憶情報を示す。ビット605〜ビット608は、トラッキングビットマップ122のONとなっているビットと一致している。
図8は、連携リビルド処理中のHS内の更新される記憶情報の状態を示す説明図である。図8では、通常リビルド処理中に、ディスク114に障害が発生して、連携リビルドに移行した状態を示している。ビットマップ800は、連携リビルド処理中のHS115に関するトラッキングビットマップ122とリビルドビットマップ411の状態を図示している。また、ビットマップ800は、ビット605〜ビット608を含む。図6にて示していたビット601〜ビット604を含む、ビットが示すRLBAがリビルドRLBA未満となるビットは、対応する記憶情報が、通常リビルドの実行により保証された記憶情報を示している。
ビット605〜ビット608は、トラッキングビットマップ122がONとなっており、さらに、ビットが示すRLBAがリビルドRLBA以上となるビットである。HS115上で、最新の書き込みされた記憶情報が保証されている領域は、RLBA=0からRLBA=リビルドRLBAまでの範囲と、トラッキングビットマップ122がONとなっているビットである。続けて、連携リビルド処理中の縮退読込について説明する。読込対象のRLBAがリビルドRLBA未満である場合、ストレージ制御装置101は、図9に示す第1の縮退読込を行う。読込対象のRLBAがリビルドRLBA以上である場合、ストレージ制御装置101は、図10に示す第2の縮退読込を行う。
図9は、連携リビルド処理中の第1の縮退読込の動作例を示す説明図である。図9では、バックアップボリューム121を用いない縮退読込の動作例について説明する。バックアップボリューム121を用いない縮退読込は、RAIDグループ中1つのディスクが縮退した状態の読込と同様となる。
図9中(1)で示すように、読込対象のRLBAが、障害が発生していないディスク111、ディスク112にある場合、ストレージ制御装置101は、ディスク111、ディスク112から読み込む。
また、図9中(2)で示すように、HS115から読み込む場合、既に最新の記憶情報が書き込まれていることが保証されているため、ストレージ制御装置101は、HS115から読み込む。
また、図9中(3)で示すように、新たな縮退ディスクとなったディスク114から読み込む場合、ストレージ制御装置101は、同一ストライプの故障していないディスクや、HS115から記憶情報を復元して読み込む。たとえば、RAID1であれば、ストレージ制御装置101は、故障していないペアディスクから読み込む。また、RAID5であれば、ストレージ制御装置101は、故障していないディスクや、HS115上の記憶情報のXORの算出結果から、縮退ディスクの記憶情報を復元する。
図10は、連携リビルド処理中の第2の縮退読込の動作例を示す説明図である。図10では、バックアップボリューム121を用いる縮退読込の動作例について説明する。バックアップボリューム121を用いる縮退読込では、HS115は縮退している状態と同じ状況である。また、読込対象はバックアップボリューム121にバックアップ後の新規書込要求がなかった箇所であるので、すべての記憶情報は、バックアップボリューム121から読込可能である。
図10中(1)で示すように、読込対象のRLBAが、障害が発生していないディスク111、ディスク112にある場合、ストレージ制御装置101は、ディスク111、ディスク112から読み込む。
また、図10中(2)で示すように、HS115から読み込む場合、ストレージ制御装置101は、読込対象のRLBAから一意に求められるバックアップボリューム121上のSLBAから読み込む。
また、図10中(3)で示すように、新たな縮退ディスクとなったディスク114から読み込む場合、ストレージ制御装置101は、バックアップボリューム121から読み込む。以下、図11を用いてリカバリ中の状態遷移を説明する。
図11は、ストレージシステムの状態遷移の一例を示す説明図である。初めに、ストレージシステム100は、RAIDグループ正常状態となっている。RAIDグループ正常状態において、ストレージ制御装置101は、定期的にスナップショットを作成し、さらに、スナップショットの作成の後、トラッキングビットマップ122を作成してストレージ制御装置101の記憶領域に保持する(ステップS1101)。RAIDグループ正常状態において、ディスクに障害が発生した場合(ステップS1102)、ストレージシステム100は、リカバリ開始状態となる。リカバリ開始状態において、ストレージ制御装置101は、HS115を、障害が発生した縮退ディスクの代替ディスクに設定する。また、ストレージ制御装置101は、ストレージシステム100の管理者によって、縮退ディスクの代わりに換装されたディスクを縮退ディスクの代替ディスクに設定してもよい。
リカバリ開始状態において、差分リビルド処理を開始した場合(ステップS1103)、ストレージシステム100は、差分リビルド処理実行状態となる。差分リビルド処理の詳細は、図12にて後述する。差分リビルド処理実行状態において、別のディスクに障害が発生した場合(ステップS1104)、ストレージシステム100は、リカバリ終了(失敗)状態となる。また、差分リビルド処理実行状態において、差分リビルド処理が完了した場合(ステップS1105)、ストレージシステム100は、通常リビルド処理を開始して、通常リビルド処理実行状態となる。通常リビルド処理の詳細は、図15にて後述する。
通常リビルド処理実行状態において、通常リビルド処理が完了した場合(ステップS1106)、ストレージシステム100は、リカバリ終了(成功)状態となる。また、通常リビルド処理実行状態において、別のディスクに障害が発生した場合(ステップS1107)、ストレージシステム100は、連携リビルド処理を開始して、連携リビルド処理実行状態となる。連携リビルド処理の詳細は、図17にて後述する。
連携リビルド処理実行状態において、さらに別のディスクに障害が発生した場合(ステップS1108)、ストレージシステム100は、リカバリ終了(失敗)状態となる。また、連携リビルド処理実行状態において、連携リビルド処理が完了した場合(ステップS1109)、ストレージシステム100は、リカバリ終了(成功)状態となる。
図12は、差分リビルド処理手順の一例を示すフローチャートである。差分リビルド処理は、冗長度が低下している更新された記憶情報を復元する処理である。ストレージ制御装置101は、差分リビルド処理時点のトラッキングビットマップ122をコピーして、リビルドビットマップ411を作成する(ステップS1201)。以降の処理において、ストレージ制御装置101は、差分リビルド処理開始後の新規書込要求を含めないリビルドビットマップ411と、リビルドRLBAにより、差分リビルド処理の進捗を管理する。復元する箇所をトラッキングビットマップ122ではなく、トラッキングビットマップ122をコピーしたリビルドビットマップ411にて判断する理由は、トラッキングビットマップ122は書込要求により動的に変化するため、進捗管理が複雑となるためである。
次に、ストレージ制御装置101は、リビルドRLBAに、先頭のビットのRLBAを設定する(ステップS1202)。続けて、ストレージ制御装置101は、差分リビルド処理実行状態に遷移する(ステップS1203)。次に、ストレージ制御装置101は、当該RLBAの部分リビルドを実行する(ステップS1204)。当該RLBAは、リビルドRLBAが指すRLBAのことである。部分リビルドの処理の内容は、RAIDレベルに依存する処理となる。たとえば、RAIDレベルがRAID1であれば、ストレージ制御装置101は、リビルド元ディスクから当該RLBAの記憶情報となるユーザデータをコピーしてリビルド先ディスクの当該RLBAに書き込む処理を行う。また、RAIDレベルがRAID5であれば、ストレージ制御装置101は、複数のリビルド元ディスクから記憶情報内のストライプデータとパリティを読み込み、読み込んだストライプデータとパリティをXORして、XORして得られたデータをリビルド先ディスクに書き込む処理を行う。
続けて、ストレージ制御装置101は、次のビットがあるか否かを判断する(ステップS1205)。次のビットは、リビルドビットマップ411が示す次のビットとなる。次のビットがある場合(ステップS1205:Yes)、ストレージ制御装置101は、リビルドRLBAに次のビットのRLBAを設定する(ステップS1206)。ステップS1206の実行後、ストレージ制御装置101は、ステップS1204の処理に移行する。
次のビットがない場合(ステップS1205:No)、ストレージ制御装置101は、リビルドビットマップ411を解放する(ステップS1207)。ステップS1207の実行終了後、ストレージ制御装置101は、差分リビルド処理を終了する。これにより、ストレージシステム100は、冗長度が低下している更新された記憶情報を復元することができる。
図13は、差分リビルド処理時の読込処理手順の一例を示すフローチャートである。差分リビルド処理時の読込処理は、差分リビルド処理中に、読込要求が発生した場合の処理である。
読込要求を受け付けると、ストレージ制御装置101は、読込対象のRLBAがリビルドRLBA未満か否かを判断する(ステップS1301)。読込対象のRLBAがリビルドRLBA未満である場合(ステップS1301:Yes)、続けて、ストレージ制御装置101は、トラッキングビットマップ122の読込対象のRLBAのビットがONか否かを判断する(ステップS1302)。
読込対象のRLBAがリビルドRLBA未満でない場合(ステップS1301:No)、ストレージ制御装置101は、トラッキングビットマップ122の読込対象のRLBAのビットがONであり、リビルドビットマップ411の読込対象のRLBAのビットがOFFか否かを判断する(ステップS1303)。
読込対象のRLBAのビットがONでない場合(ステップS1302:No)か、ステップS1303の条件に当てはまらない場合(ステップS1303:No)、ストレージ制御装置101は、読込対象ディスクが縮退ディスクか否かを判断する(ステップS1304)。読込対象ディスクが縮退ディスクである場合(ステップS1304:Yes)、ストレージ制御装置101は、図5の(B)で示した縮退読込を実行する(ステップS1305)。
読込対象のRLBAのビットがONである場合(ステップS1302:Yes)か、ステップS1303の条件に当てはまる場合(ステップS1303:Yes)か、読込対象ディスクが縮退ディスクでない場合(ステップS1304:No)、ストレージ制御装置101は、図5の(A)で示した通常読込を実行する(ステップS1306)。ステップS1305、またはステップS1306の処理終了後、ストレージ制御装置101は、差分リビルド処理時の読込処理を終了する。差分リビルド処理時の読込処理を実行することにより、ストレージシステム100は、差分リビルド処理時に、読込要求を受け付けて読込処理を実行することができる。
リビルドビットマップ411ではなくトラッキングビットマップ122を参照する理由について説明する。差分リビルド処理実行開始後の書込要求について、ストレージ制御装置101は、HS115も含めて書き込む。したがって、HS115上のリビルドRLBA未満の領域については、差分リビルド処理実行開始前の記憶情報は差分リビルド処理によって復元済である。さらに、トラッキングビットマップ122に記録された新規書込要求による書込内容についてもHS115上に書込内容が保証されているため、ストレージ制御装置101は、通常読込を行う。リビルドRLBA以降のトラッキングビットマップ122について、差分リビルド処理実行開始後に書込要求により書き込まれた記憶情報について、ストレージ制御装置101は、通常読込を行う。差分リビルド処理実行開始後に書込要求により書き込まれた記憶情報は、リビルドビットマップ411の対応するビットがONになっておらず、トラッキングビットマップ122の対応するビットがONとなっている。
図14は、差分リビルド処理時の書込処理手順の一例を示すフローチャートである。差分リビルド処理時の読込処理は、差分リビルド処理中に、書込要求が発生した場合の処理である。
書込要求を受け付けると、ストレージ制御装置101は、トラッキングビットマップ122に書込要求のRLBAを記録する(ステップS1401)。次に、ストレージ制御装置101は、リビルド先ディスクを含めたディスクに対して書き込む(ステップS1402)。ステップS1402の終了後、ストレージ制御装置101は、差分リビルド処理時の書込処理を終了する。差分リビルド処理時の読込処理を実行することにより、ストレージシステム100は、差分リビルド処理時に、書込要求を受け付けることができる。
図15は、通常リビルド処理手順の一例を示すフローチャートである。通常リビルド処理は、縮退ディスクの記憶情報を復旧する処理である。ストレージ制御装置101は、リビルドRLBAを0に設定する(ステップS1501)。次に、ストレージ制御装置101は、通常リビルド処理実行状態に遷移する(ステップS1502)。続けて、ストレージ制御装置101は、当該RLBAの部分リビルドを実行する(ステップS1503)。当該RLBAの部分リビルドについては、ステップS1204にて説明した処理内容と同様であるため、説明を省略する。
次に、ストレージシステム100は、故障したディスクを検出したか否かを判断する(ステップS1504)。故障したディスクを検出した場合(ステップS1504:Yes)、ストレージシステム100は、連携リビルド処理を実行する(ステップS1505)。
故障したディスクを検出していない場合(ステップS1504:No)、ストレージシステム100は、リビルドRLBAが末尾RLBAか否かを判断する(ステップS1506)。リビルドRLBAが末尾RLBAである場合(ステップS1506:Yes)、ストレージシステム100は、リビルドRLBAをインクリメントする(ステップS1507)。リビルドRLBAが末尾RLBAでない場合(ステップS1506:No)、ストレージシステム100は、通常リビルド処理を終了する。通常リビルド処理を実行することにより、縮退ディスクの記憶情報を復旧することができる。
図16は、通常リビルド処理時の読込処理手順の一例を示すフローチャートである。通常リビルド処理時の読込処理は、通常リビルド処理中に、読込要求が発生した場合の処理である。
読込要求を受け付けると、ストレージ制御装置101は、読込対象のRLBAがリビルドRLBA未満か否かを判断する(ステップS1601)。読込対象のRLBAがリビルドRLBA以上である場合(ステップS1601:No)、ストレージ制御装置101は、読込対象ディスクが縮退ディスクか否かを判断する(ステップS1602)。縮退ディスクである場合(ステップS1602:Yes)、ストレージ制御装置101は、縮退読込を実行する(ステップS1603)。
読込対象ディスクが縮退ディスクでない場合か(ステップS1602:No)、読込対象のRLBAがリビルドRLBA未満である場合(ステップS1601:Yes)、ストレージ制御装置101は、通常読込を実行する(ステップS1604)。ステップS1603の処理、またはステップS1603の処理を実行終了後、ストレージ制御装置101は、通常リビルド処理時の読込処理を終了する。通常リビルド処理時の読込処理を実行することにより、ストレージシステム100は、通常リビルド処理時に、読込要求を受け付けて、読込処理を実行することができる。なお、通常リビルド処理中の書込処理については、差分リビルド処理中の書込処理と同一の処理となるため、説明を省略する。
図17は、連携リビルド処理手順の一例を示すフローチャートである。連携リビルド処理は、RAIDグループが故障した際に、バックアップボリューム121を用いて復元する処理である。
ストレージ制御装置101は、通常リビルド処理からリビルドRLBAを引き継ぐ(ステップS1701)。次に、ストレージ制御装置101は、連携リビルド処理実行状態に遷移する(ステップS1702)。続けて、ストレージ制御装置101は、トラッキングビットマップ122の当該RLBAのビットがONか否かを判断する(ステップS1703)。
トラッキングビットマップ122の当該RLBAのビットがOFFとなっている場合、ビットに対応する記憶情報は、OPCによる最後のバックアップ以降、更新されていない記憶情報である。したがって、トラッキングビットマップ122の当該RLBAのビットがOFFである場合(ステップS1703:No)、ストレージ制御装置101は、バックアップボリューム121からリビルド先ディスクへコピーする(ステップS1704)。
トラッキングビットマップ122の当該RLBAのビットがONとなっている場合、ビットに対応する記憶情報は、OPCによる最後のバックアップ以降、書込要求によって更新された記憶情報である。したがって、トラッキングビットマップ122の当該RLBAがONである場合(ステップS1703:Yes)、ストレージ制御装置101は、バックアップボリューム121の記憶情報で上書きせず、ステップS1705の処理に移行する。
ステップS1704、ステップS1705の処理終了後、ストレージ制御装置101は、リビルドRLBAが末尾RLBAか否かを判断する(ステップS1705)。リビルドRLBAが末尾RLBAでない場合(ステップS1705:No)、ストレージ制御装置101は、リビルドRLBAをインクリメントする(ステップS1706)。ステップS1706の処理終了後、ストレージ制御装置101は、ステップS1703の処理に移行する。
リビルドRLBAが末尾RLBAである場合(ステップS1705:Yes)、ストレージ制御装置101は、連携リビルド処理を終了する。これにより、ストレージシステム100は、全体のリカバリ動作が成功として終了する。連携リビルド処理を実行することにより、RAIDグループが故障した際もRAIDグループを復旧できる。
図18は、連携リビルド処理時の読込処理手順の一例を示すフローチャートである。連携リビルド処理時の読込処理は、連携リビルド処理中に、読込要求が発生した場合の処理である。
読込要求を受け付けると、ストレージ制御装置101は、読込対象のRLBAがリビルドRLBA未満か否かを判断する(ステップS1801)。読込対象のRLBAがリビルドRLBA以上である場合(ステップS1801:No)、ストレージ制御装置101は、トラッキングビットマップ122の読込対象のRLBAのビットがONか否かを判断する(ステップS1802)。
読込対象のRLBAがリビルドRLBA未満である場合(ステップS1801:Yes)、または、読込対象のRLBAのビットがONである場合(ステップS1802:Yes)、ストレージ制御装置101は、図9で説明した第1の縮退読込を実行する(ステップS1803)。読込対象のRLBAのビットがOFFである場合(ステップS1802:No)、ストレージ制御装置101は、図10で説明した第2の縮退読込を実行する(ステップS1804)。ステップS1803、またはステップS1804の処理実行後、ストレージ制御装置101は、連携リビルド処理時の読込処理を終了する。連携リビルド処理時の読込処理を実行することにより、ストレージシステム100は、連携リビルド処理時にも、読込要求を受け付けることができる。なお、連携リビルド処理中、ストレージ制御装置101は、書込要求を受け付けない。
以上説明したように、ストレージ制御装置101によれば、RAIDバックアップ後の更新箇所を記憶し、ディスク故障時に更新箇所を復元した後、別ディスクが故障したら更新箇所以外をバックアップから復元する。これにより、ストレージ制御装置101は、更新箇所の冗長性はRAIDグループの故障時に回復済のため、RAIDグループを復旧できる。すなわち、RAIDグループ故障時、スナップショットからのリストア時にスナップショット作成以降の書込要求による更新部分について、ストレージ制御装置101は、データロストすることなくリストアできる。近年、ストレージ内のディスク容量が増加しているため、リビルドにかかる時間が増大しており、リビルド処理中に別のストレージに障害が発生する確率が増大しているため、本実施の形態にかかるストレージ制御プログラムの有用性が増すことになる。
また、通常リビルドについては、本実施の形態にかかるストレージ制御プログラムが実行せずに、他のソフトウェアが実行してもよい。他のソフトウェアが通常リビルドに失敗した場合、本実施の形態にかかるストレージ制御プログラムは、他のソフトウェアから進捗状態を取得できない可能性もある。この場合、本実施の形態にかかるストレージ制御プログラムは、リビルドRLBA=0から連携リビルド処理を行ってもよい。これにより、ストレージシステム100は、RAIDグループの故障を復旧できる。
また、ストレージ制御装置101によれば、通常リビルド処理を中断させた際に、通常リビルドの進捗を表す情報に基づいて、通常リビルド処理によって復元されていない記憶情報を連携リビルド処理によって復元してもよい。これにより、ストレージ制御装置101は、RAIDグループ故障時のリストアを、バックアップ先からフルコピーによるリストアを行わず、復元されていない記憶情報だけリストアすることができるため、連携リビルドによるリストア時間が短縮できる。連携リビルド処理によるリストア時間が短縮することにより、差分リビルド処理、通常リビルド処理、連携リビルド処理という全体のリストア時間も短縮することができる。
また、ストレージ制御装置101によれば、差分リビルド処理か、通常リビルド処理の実行中に、障害が発生していないディスクとHS115のうちの書込要求から特定される書込先の記憶領域に書込要求の書込内容を書き込んでもよい。これにより、ストレージ制御装置101は、差分リビルド処理、通常リビルド処理中では、書込処理を行う業務を停止せずにリストアすることができる。
また、ストレージ制御装置101によれば、リストアの実行中に、障害が発生していないディスクとHS115とのうちの読込先の記憶情報を読み込むか、バックアップボリューム121から読込先の記憶情報を読み込むかを行ってもよい。これにより、ストレージ制御装置101は、差分リビルド処理中、通常リビルド処理中、連携リビルド処理中、いずれであっても、読込処理を行う業務を停止せずにリストアすることができる。
以上のように、リストア中でも、差分リビルド処理中と通常リビルド処理中では読込要求と書込要求を受け付けることができるため、ストレージ制御装置101は、書込処理と読込処理を行う業務を止めずにリストアすることができる。また、上記リストア中の連携リビルド処理であっても、読込要求を受け付けることができるため、ストレージ制御装置101は、書込処理を行わず読込処理のみ行う業務であれば、業務を止めずにリストアすることができる。
また、ストレージ制御装置101によれば、連携リビルド処理中に読込要求を受け付けた場合、読込要求による読込先の記憶情報が、復元された記憶情報である場合、HS115とのうちの読込先の記憶情報を読み込む。また、読込要求による読込先の記憶情報が、復元された記憶情報でない場合、ストレージ制御装置101は、バックアップボリューム121から読込先の記憶情報を読み込んでもよい。これにより、ストレージ制御装置101は、連携リビルド中の読込要求の読込先の記憶情報が復元された記憶情報であれば、アクセスに時間がかからないHS115からアクセスできるため、ストレージシステム100の性能を向上することができる。なお、バックアップボリューム121へのアクセスは、ストレージ制御装置間通信203を介すため、自RAIDグループへのアクセスより遅くなる可能性がある。
また、ストレージ制御装置101によれば、差分リビルド処理中に読込要求を受け付けた場合、読込要求による読込先の記憶情報が、復元された記憶情報に含まれている場合、HS115から読み込んでもよい。これにより、ストレージ制御装置101は、差分リビルド中の読込要求の読込先の記憶情報が復元された記憶情報であれば、アクセスに時間がかからないHS115からアクセスできるため、ストレージシステム100の性能を向上することができる。
また、ストレージ制御装置101によれば、差分リビルド処理中に読込要求を受け付けた際、リビルドビットマップ411の読込対象のビットがOFFであり、トラッキングビットマップ122の読込対象のビットがONであれば、HS115から読み込んでもよい。これにより、ストレージ制御装置101は、アクセスに時間がかからないHS115からアクセスできるため、ストレージシステム100の性能を向上することができる。
なお、本実施の形態で説明したストレージ制御方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本ストレージ制御プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本ストレージ制御プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)複数のストレージにより冗長性が保たれたストレージグループのうちの第1のストレージの第1の記憶情報をバックアップ先の記憶領域に複製した後に前記第1のストレージの第1の記憶情報が更新される場合、更新対象の前記第1のストレージにおける格納位置を示す情報を含む管理情報を保持する保持部と、
前記第1のストレージに障害が発生した場合、前記保持部によって保持された前記管理情報に基づいて、前記複数のストレージとは異なる他のストレージに、前記第1のストレージの前記格納位置の第2の記憶情報を復元する第1の復元処理を実行する第1の復元部と、
前記第1のストレージに記憶された全記憶情報のうち、前記第1の復元処理により復元された第2の記憶情報を除く残りの第3の記憶情報を、前記複数のストレージのうち前記第1のストレージを除く残余のストレージに記憶された記憶情報に基づいて復元する第2の復元処理を実行する第2の復元部と、
前記第2の復元部による第2の復元処理の実行中に前記複数のストレージのうちの前記第1のストレージとは異なる第2のストレージに障害が発生した場合、前記第2の復元処理を中断させた後、前記バックアップ先の前記第1の記憶情報と前記管理情報とに基づいて、前記他のストレージに、前記第1のストレージに記憶された記憶情報を復元する第3の復元部と、
を有することを特徴とするストレージ制御装置。
(付記2)前記第3の復元部は、
前記第2の復元処理の実行中に前記第2のストレージに障害が発生した場合、前記第2の復元処理を中断させた後、前記バックアップ先の記憶領域に複製された第1の記憶情報と、前記管理情報と前記第2の復元処理の進捗を表す情報とに基づいて、前記他のストレージに、前記第1のストレージの全記憶情報のうちの前記第1の復元処理および前記第2の復元処理によって復元されていない記憶情報を復元することを特徴とする付記1に記載のストレージ制御装置。
(付記3)前記ストレージグループへの書込要求を受け付ける受付部と、
前記第1の復元処理の実行中、または前記第2の復元処理の実行中に、前記受付部によって前記書込要求が受け付けられた場合、前記複数のストレージのうちの障害が発生したストレージを除く残余のストレージと前記他のストレージとのうちの前記書込要求から特定される書込先の記憶領域に前記書込要求の書込内容を書き込む書込処理を実行する実行部と、
を有することを特徴とする付記1または2に記載のストレージ制御装置。
(付記4)前記ストレージグループへの読込要求を受け付ける受付部と、
前記第1の復元処理の実行中か、前記第2の復元処理の実行中か、前記第3の復元部による第3の復元処理の実行中に、前記受付部によって前記読込要求が受け付けられた場合、前記読込要求による読込先の記憶情報が、前記第1の復元処理か前記第2の復元処理か前記第3の復元処理かによって復元された記憶情報か否かを判断する判断部と、
前記判断部による判断結果に基づいて、前記複数のストレージのうちの障害が発生したストレージを除く残余のストレージと前記他のストレージとのうちの前記読込先の記憶情報を読み込む読込処理か、前記バックアップ先の記憶領域に複製された記憶情報のうちの前記読込先の記憶情報を読み込む読込処理を実行する実行部と、
を有することを特徴とする付記1〜3のいずれか一つに記載のストレージ制御装置。
(付記5)前記判断部は、
前記第3の復元処理の実行中に、前記受付部によって前記読込要求が受け付けられた場合、前記読込要求による前記読込先の記憶情報が、前記第1の復元処理か前記第2の復元処理か前記第3の復元処理かによって復元された記憶情報か否かを判断し、
前記実行部は、
前記判断部によって前記読込先の記憶情報が前記復元された記憶情報であると判断された場合、前記残余のストレージと前記他のストレージとのうちの前記読込先の記憶情報を読み込む読込処理を実行し、
前記判断部によって前記読込先の記憶情報が前記復元された記憶情報でないと判断された場合、前記バックアップ先の記憶領域に複製された記憶情報のうちの前記読込先の記憶情報を読み込む読込処理を実行することを特徴とする付記4に記載のストレージ制御装置。
(付記6)前記判断部は、
前記第1の復元処理の実行中に、前記受付部によって前記読込要求が受け付けられた場合、前記読込要求による前記読込先の記憶情報が、前記第1の復元処理の進捗を表す情報と前記管理情報とに基づいて特定される前記第1の復元処理によって復元された記憶情報に含まれているか否かを判断し、
前記実行部は、
前記判断部によって前記読込先の記憶情報が前記復元された記憶情報であると判断された場合、前記残余のストレージと前記他のストレージとのうちの前記読込先の記憶情報を読み込む読込処理を実行し、
前記判断部によって前記読込先の記憶情報が前記復元された記憶情報でないと判断された場合、前記残余のストレージの記憶情報に基づいて前記読込先の記憶情報と同一の内容の記憶情報を取得する取得処理を実行することを特徴とする付記4または5に記載のストレージ制御装置。
(付記7)前記判断部は、
前記第1の復元処理の実行中に、前記受付部によって前記読込要求が受け付けられた場合、前記読込要求による前記読込先の記憶情報が、前記第1の復元処理の進捗を表す情報から特定される記憶情報でなく、前記第1の復元処理の実行開始前の前記管理情報から特定される記憶情報でなく、かつ前記第1の復元処理の実行開始後の前記管理情報から特定される記憶情報であるか否かを判断し、
前記実行部は、
前記判断部によって前記読込先の記憶情報が前記第1の復元処理の進捗を表す情報から特定される記憶情報でなく、前記第1の復元処理の実行開始前の前記管理情報から特定される記憶情報でなく、かつ前記第1の復元処理の実行開始後の前記管理情報から特定される記憶情報であると判断された場合、前記残余のストレージと前記他のストレージとのうちの前記読込先の記憶情報を読み込む読込処理を実行することを特徴とする付記4または5に記載のストレージ制御装置。
(付記8)複数のストレージにより冗長性が保たれたストレージグループのうちの第1のストレージの第1の記憶情報をバックアップ先の記憶領域に複製した後に前記第1のストレージの第1の記憶情報が更新される場合、更新対象の前記第1のストレージにおける格納位置を示す情報を含む管理情報を保持する保持部と、
前記第1のストレージに障害が発生した場合、前記保持部によって保持された前記管理情報に基づいて、前記複数のストレージとは異なる他のストレージに、前記第1のストレージの前記格納位置の第2の記憶情報を復元する第1の復元処理を実行する第1の復元部と、
前記第1のストレージに記憶された全記憶情報のうち、前記第1の復元処理により復元された第2の記憶情報を除く残りの第3の記憶情報を、前記複数のストレージのうち前記第1のストレージを除く残余のストレージに記憶された記憶情報に基づいて復元する第2の復元処理を実行する第2の復元部と、
前記第2の復元部による第2の復元処理の実行中に前記複数のストレージのうちの前記第1のストレージとは異なる第2のストレージに障害が発生した場合、前記第2の復元処理を中断させた後、前記バックアップ先の前記第1の記憶情報と前記管理情報とに基づいて、前記他のストレージに、前記第1のストレージに記憶された記憶情報を復元する第3の復元部と、
を有するコンピュータを含むことを特徴とするストレージ制御装置。
(付記9)コンピュータが、
複数のストレージにより冗長性が保たれたストレージグループのうちの第1のストレージの第1の記憶情報をバックアップ先の記憶領域に複製した後に前記第1のストレージの第1の記憶情報が更新される場合、更新対象の前記第1のストレージにおける格納位置を示す情報を含む管理情報を保持し、
前記第1のストレージに障害が発生した場合、保持した前記管理情報に基づいて、前記複数のストレージとは異なる他のストレージに、前記第1のストレージの前記格納位置の第2の記憶情報を復元する第1の復元処理を実行し、
前記第1のストレージに記憶された全記憶情報のうち、前記第1の復元処理により復元された第2の記憶情報を除く残りの第3の記憶情報を、前記複数のストレージのうち前記第1のストレージを除く残余のストレージに記憶された記憶情報に基づいて復元する第2の復元処理を実行し、
前記第2の復元処理の実行中に前記複数のストレージのうちの前記第1のストレージとは異なる第2のストレージに障害が発生した場合、前記第2の復元処理を中断させた後、前記バックアップ先の前記第1の記憶情報と前記管理情報とに基づいて、前記他のストレージに、前記第1のストレージに記憶された記憶情報を復元する、
処理を実行することを特徴とするストレージ制御方法。
(付記10)コンピュータに、
複数のストレージにより冗長性が保たれたストレージグループのうちの第1のストレージの第1の記憶情報をバックアップ先の記憶領域に複製した後に前記第1のストレージの第1の記憶情報が更新される場合、更新対象の前記第1のストレージにおける格納位置を示す情報を含む管理情報を保持し、
前記第1のストレージに障害が発生した場合、保持した前記管理情報に基づいて、前記複数のストレージとは異なる他のストレージに、前記第1のストレージの前記格納位置の第2の記憶情報を復元する第1の復元処理を実行し、
前記第1のストレージに記憶された全記憶情報のうち、前記第1の復元処理により復元された第2の記憶情報を除く残りの第3の記憶情報を、前記複数のストレージのうち前記第1のストレージを除く残余のストレージに記憶された記憶情報に基づいて復元する第2の復元処理を実行し、
前記第2の復元処理の実行中に前記複数のストレージのうちの前記第1のストレージとは異なる第2のストレージに障害が発生した場合、前記第2の復元処理を中断させた後、前記バックアップ先の前記第1の記憶情報と前記管理情報とに基づいて、前記他のストレージに、前記第1のストレージに記憶された記憶情報を復元する、
処理を実行させることを特徴とするストレージ制御プログラム。
(付記11)複数のストレージにより冗長性が保たれたストレージグループのうちの第1のストレージの第1の記憶情報をバックアップ先の記憶領域に複製した後に前記第1のストレージの第1の記憶情報が更新される場合、更新対象の前記第1のストレージにおける格納位置を示す情報を含む管理情報を保持し、
前記第1のストレージに障害が発生した場合、保持した前記管理情報に基づいて、前記複数のストレージとは異なる他のストレージに、前記第1のストレージの前記格納位置の第2の記憶情報を復元する第1の復元処理を実行し、
前記第1のストレージに記憶された全記憶情報のうち、前記第1の復元処理により復元された第2の記憶情報を除く残りの第3の記憶情報を、前記複数のストレージのうち前記第1のストレージを除く残余のストレージに記憶された記憶情報に基づいて復元する第2の復元処理を実行し、
前記第2の復元処理の実行中に前記複数のストレージのうちの前記第1のストレージとは異なる第2のストレージに障害が発生した場合、前記第2の復元処理を中断させた後、前記バックアップ先の前記第1の記憶情報と前記管理情報とに基づいて、前記他のストレージに、前記第1のストレージに記憶された記憶情報を復元する、
処理をコンピュータに実行させるストレージ制御プログラムを記録したことを特徴とする記録媒体。
100 ストレージシステム
101 ストレージ制御装置
111〜114 ディスク
115 HS
121 バックアップボリューム
122 トラッキングビットマップ
401 保持部
402 第1の復元部
403 第2の復元部
404 第3の復元部
405 受付部
406 判断部
407 実行部
411 リビルドビットマップ

Claims (9)

  1. 複数のストレージにより冗長性が保たれたストレージグループのうちの第1のストレージの第1の記憶情報をバックアップ先の記憶領域に複製した後に前記第1のストレージの第1の記憶情報が更新される場合、更新対象の前記第1のストレージにおける格納位置を示す情報を含む管理情報を保持する保持部と、
    前記第1のストレージに障害が発生した場合、前記保持部によって保持された前記管理情報に基づいて、前記複数のストレージとは異なる他のストレージに、前記第1のストレージの前記格納位置の第2の記憶情報を復元する第1の復元処理を実行する第1の復元部と、
    前記第1のストレージに記憶された全記憶情報のうち、前記第1の復元処理により復元された第2の記憶情報を除く残りの第3の記憶情報を、前記複数のストレージのうち前記第1のストレージを除く残余のストレージに記憶された記憶情報に基づいて復元する第2の復元処理を実行する第2の復元部と、
    前記第2の復元部による第2の復元処理の実行中に前記複数のストレージのうちの前記第1のストレージとは異なる第2のストレージに障害が発生した場合、前記第2の復元処理を中断させた後、前記バックアップ先の前記第1の記憶情報と前記管理情報とに基づいて、前記他のストレージに、前記第1のストレージに記憶された記憶情報を復元する第3の復元部と、
    を有することを特徴とするストレージ制御装置。
  2. 前記第3の復元部は、
    前記第2の復元処理の実行中に前記第2のストレージに障害が発生した場合、前記第2の復元処理を中断させた後、前記バックアップ先の記憶領域に複製された第1の記憶情報と、前記管理情報と前記第2の復元処理の進捗を表す情報とに基づいて、前記他のストレージに、前記第1のストレージの全記憶情報のうちの前記第1の復元処理および前記第2の復元処理によって復元されていない記憶情報を復元することを特徴とする請求項1に記載のストレージ制御装置。
  3. 前記ストレージグループへの書込要求を受け付ける受付部と、
    前記第1の復元処理の実行中、または前記第2の復元処理の実行中に、前記受付部によって前記書込要求が受け付けられた場合、前記複数のストレージのうちの障害が発生したストレージを除く残余のストレージと前記他のストレージとのうちの前記書込要求から特定される書込先の記憶領域に前記書込要求の書込内容を書き込む書込処理を実行する実行部と、
    を有することを特徴とする請求項1または2に記載のストレージ制御装置。
  4. 前記ストレージグループへの読込要求を受け付ける受付部と、
    前記第1の復元処理の実行中か、前記第2の復元処理の実行中か、前記第3の復元部による第3の復元処理の実行中に、前記受付部によって前記読込要求が受け付けられた場合、前記読込要求による読込先の記憶情報が、前記第1の復元処理か前記第2の復元処理か前記第3の復元処理かによって復元された記憶情報か否かを判断する判断部と、
    前記判断部による判断結果に基づいて、前記複数のストレージのうちの障害が発生したストレージを除く残余のストレージと前記他のストレージとのうちの前記読込先の記憶情報を読み込む読込処理か、前記バックアップ先の記憶領域に複製された記憶情報のうちの前記読込先の記憶情報を読み込む読込処理を実行する実行部と、
    を有することを特徴とする請求項1〜3のいずれか一つに記載のストレージ制御装置。
  5. 前記判断部は、
    前記第3の復元処理の実行中に、前記受付部によって前記読込要求が受け付けられた場合、前記読込要求による前記読込先の記憶情報が、前記第1の復元処理か前記第2の復元処理か前記第3の復元処理かによって復元された記憶情報か否かを判断し、
    前記実行部は、
    前記判断部によって前記読込先の記憶情報が前記復元された記憶情報であると判断された場合、前記残余のストレージと前記他のストレージとのうちの前記読込先の記憶情報を読み込む読込処理を実行し、
    前記判断部によって前記読込先の記憶情報が前記復元された記憶情報でないと判断された場合、前記バックアップ先の記憶領域に複製された記憶情報のうちの前記読込先の記憶情報を読み込む読込処理を実行することを特徴とする請求項4に記載のストレージ制御装置。
  6. 前記判断部は、
    前記第1の復元処理の実行中に、前記受付部によって前記読込要求が受け付けられた場合、前記読込要求による前記読込先の記憶情報が、前記第1の復元処理の進捗を表す情報と前記管理情報とに基づいて特定される前記第1の復元処理によって復元された記憶情報に含まれているか否かを判断し、
    前記実行部は、
    前記判断部によって前記読込先の記憶情報が前記復元された記憶情報であると判断された場合、前記残余のストレージと前記他のストレージとのうちの前記読込先の記憶情報を読み込む読込処理を実行し、
    前記判断部によって前記読込先の記憶情報が前記復元された記憶情報でないと判断された場合、前記残余のストレージの記憶情報に基づいて前記読込先の記憶情報と同一の内容の記憶情報を取得する取得処理を実行することを特徴とする請求項4または5に記載のストレージ制御装置。
  7. 前記判断部は、
    前記第1の復元処理の実行中に、前記受付部によって前記読込要求が受け付けられた場合、前記読込要求による前記読込先の記憶情報が、前記第1の復元処理の進捗を表す情報から特定される記憶情報でなく、前記第1の復元処理の実行開始前の前記管理情報から特定される記憶情報でなく、かつ前記第1の復元処理の実行開始後の前記管理情報から特定される記憶情報であるか否かを判断し、
    前記実行部は、
    前記判断部によって前記読込先の記憶情報が前記第1の復元処理の進捗を表す情報から特定される記憶情報でなく、前記第1の復元処理の実行開始前の前記管理情報から特定される記憶情報でなく、かつ前記第1の復元処理の実行開始後の前記管理情報から特定される記憶情報であると判断された場合、前記残余のストレージと前記他のストレージとのうちの前記読込先の記憶情報を読み込む読込処理を実行することを特徴とする請求項4または5に記載のストレージ制御装置。
  8. コンピュータが、
    複数のストレージにより冗長性が保たれたストレージグループのうちの第1のストレージの第1の記憶情報をバックアップ先の記憶領域に複製した後に前記第1のストレージの第1の記憶情報が更新される場合、更新対象の前記第1のストレージにおける格納位置を示す情報を含む管理情報を保持し、
    前記第1のストレージに障害が発生した場合、保持した前記管理情報に基づいて、前記複数のストレージとは異なる他のストレージに、前記第1のストレージの前記格納位置の第2の記憶情報を復元する第1の復元処理を実行し、
    前記第1のストレージに記憶された全記憶情報のうち、前記第1の復元処理により復元された第2の記憶情報を除く残りの第3の記憶情報を、前記複数のストレージのうち前記第1のストレージを除く残余のストレージに記憶された記憶情報に基づいて復元する第2の復元処理を実行し、
    前記第2の復元処理の実行中に前記複数のストレージのうちの前記第1のストレージとは異なる第2のストレージに障害が発生した場合、前記第2の復元処理を中断させた後、前記バックアップ先の前記第1の記憶情報と前記管理情報とに基づいて、前記他のストレージに、前記第1のストレージに記憶された記憶情報を復元する、
    処理を実行することを特徴とするストレージ制御方法。
  9. コンピュータに、
    複数のストレージにより冗長性が保たれたストレージグループのうちの第1のストレージの第1の記憶情報をバックアップ先の記憶領域に複製した後に前記第1のストレージの第1の記憶情報が更新される場合、更新対象の前記第1のストレージにおける格納位置を示す情報を含む管理情報を保持し、
    前記第1のストレージに障害が発生した場合、保持した前記管理情報に基づいて、前記複数のストレージとは異なる他のストレージに、前記第1のストレージの前記格納位置の第2の記憶情報を復元する第1の復元処理を実行し、
    前記第1のストレージに記憶された全記憶情報のうち、前記第1の復元処理により復元された第2の記憶情報を除く残りの第3の記憶情報を、前記複数のストレージのうち前記第1のストレージを除く残余のストレージに記憶された記憶情報に基づいて復元する第2の復元処理を実行し、
    前記第2の復元処理の実行中に前記複数のストレージのうちの前記第1のストレージとは異なる第2のストレージに障害が発生した場合、前記第2の復元処理を中断させた後、前記バックアップ先の前記第1の記憶情報と前記管理情報とに基づいて、前記他のストレージに、前記第1のストレージに記憶された記憶情報を復元する、
    処理を実行させることを特徴とするストレージ制御プログラム。
JP2012213273A 2012-09-26 2012-09-26 ストレージ制御装置、ストレージ制御方法、およびストレージ制御プログラム Active JP5954081B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012213273A JP5954081B2 (ja) 2012-09-26 2012-09-26 ストレージ制御装置、ストレージ制御方法、およびストレージ制御プログラム
US13/947,278 US9053075B2 (en) 2012-09-26 2013-07-22 Storage control device and method for controlling storages

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012213273A JP5954081B2 (ja) 2012-09-26 2012-09-26 ストレージ制御装置、ストレージ制御方法、およびストレージ制御プログラム

Publications (2)

Publication Number Publication Date
JP2014067313A JP2014067313A (ja) 2014-04-17
JP5954081B2 true JP5954081B2 (ja) 2016-07-20

Family

ID=50340161

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012213273A Active JP5954081B2 (ja) 2012-09-26 2012-09-26 ストレージ制御装置、ストレージ制御方法、およびストレージ制御プログラム

Country Status (2)

Country Link
US (1) US9053075B2 (ja)
JP (1) JP5954081B2 (ja)

Families Citing this family (148)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12008266B2 (en) 2010-09-15 2024-06-11 Pure Storage, Inc. Efficient read by reconstruction
US11614893B2 (en) 2010-09-15 2023-03-28 Pure Storage, Inc. Optimizing storage device access based on latency
US8589625B2 (en) 2010-09-15 2013-11-19 Pure Storage, Inc. Scheduling of reconstructive I/O read operations in a storage environment
US8732426B2 (en) 2010-09-15 2014-05-20 Pure Storage, Inc. Scheduling of reactive I/O operations in a storage environment
US8589655B2 (en) 2010-09-15 2013-11-19 Pure Storage, Inc. Scheduling of I/O in an SSD environment
US11275509B1 (en) 2010-09-15 2022-03-15 Pure Storage, Inc. Intelligently sizing high latency I/O requests in a storage environment
US8468318B2 (en) 2010-09-15 2013-06-18 Pure Storage Inc. Scheduling of I/O writes in a storage environment
US9244769B2 (en) 2010-09-28 2016-01-26 Pure Storage, Inc. Offset protection data in a RAID array
US8775868B2 (en) 2010-09-28 2014-07-08 Pure Storage, Inc. Adaptive RAID for an SSD environment
US11636031B2 (en) 2011-08-11 2023-04-25 Pure Storage, Inc. Optimized inline deduplication
US8589640B2 (en) 2011-10-14 2013-11-19 Pure Storage, Inc. Method for maintaining multiple fingerprint tables in a deduplicating storage system
US8719540B1 (en) 2012-03-15 2014-05-06 Pure Storage, Inc. Fractal layout of data blocks across multiple devices
US8745415B2 (en) 2012-09-26 2014-06-03 Pure Storage, Inc. Multi-drive cooperation to generate an encryption key
US10623386B1 (en) 2012-09-26 2020-04-14 Pure Storage, Inc. Secret sharing data protection in a storage system
US11032259B1 (en) 2012-09-26 2021-06-08 Pure Storage, Inc. Data protection in a storage system
US11768623B2 (en) 2013-01-10 2023-09-26 Pure Storage, Inc. Optimizing generalized transfers between storage systems
US10908835B1 (en) 2013-01-10 2021-02-02 Pure Storage, Inc. Reversing deletion of a virtual machine
US11733908B2 (en) 2013-01-10 2023-08-22 Pure Storage, Inc. Delaying deletion of a dataset
US9589008B2 (en) 2013-01-10 2017-03-07 Pure Storage, Inc. Deduplication of volume regions
US10263770B2 (en) 2013-11-06 2019-04-16 Pure Storage, Inc. Data protection in a storage system using external secrets
US10365858B2 (en) 2013-11-06 2019-07-30 Pure Storage, Inc. Thin provisioning in a storage device
US11128448B1 (en) 2013-11-06 2021-09-21 Pure Storage, Inc. Quorum-aware secret sharing
US9516016B2 (en) 2013-11-11 2016-12-06 Pure Storage, Inc. Storage array password management
US9208086B1 (en) 2014-01-09 2015-12-08 Pure Storage, Inc. Using frequency domain to prioritize storage of metadata in a cache
US10656864B2 (en) 2014-03-20 2020-05-19 Pure Storage, Inc. Data replication within a flash storage array
US9513820B1 (en) 2014-04-07 2016-12-06 Pure Storage, Inc. Dynamically controlling temporary compromise on data redundancy
JP6366013B2 (ja) * 2014-04-30 2018-08-01 パナソニックIpマネジメント株式会社 画像記録装置及び画像記録方法
US9779268B1 (en) 2014-06-03 2017-10-03 Pure Storage, Inc. Utilizing a non-repeating identifier to encrypt data
US9218244B1 (en) 2014-06-04 2015-12-22 Pure Storage, Inc. Rebuilding data across storage nodes
US11399063B2 (en) 2014-06-04 2022-07-26 Pure Storage, Inc. Network authentication for a storage system
US9218407B1 (en) 2014-06-25 2015-12-22 Pure Storage, Inc. Replication and intermediate read-write state for mediums
US10496556B1 (en) 2014-06-25 2019-12-03 Pure Storage, Inc. Dynamic data protection within a flash storage system
US10296469B1 (en) 2014-07-24 2019-05-21 Pure Storage, Inc. Access control in a flash storage system
US10684927B2 (en) * 2014-07-29 2020-06-16 Hewlett Packard Enterprise Development Lp Methods and systems for storing information that facilitates the reconstruction of at least some of the contents of a storage unit on a storage system
US9558069B2 (en) 2014-08-07 2017-01-31 Pure Storage, Inc. Failure mapping in a storage array
US9495255B2 (en) 2014-08-07 2016-11-15 Pure Storage, Inc. Error recovery in a storage cluster
US9864761B1 (en) 2014-08-08 2018-01-09 Pure Storage, Inc. Read optimization operations in a storage system
US10430079B2 (en) 2014-09-08 2019-10-01 Pure Storage, Inc. Adjusting storage capacity in a computing system
US10164841B2 (en) 2014-10-02 2018-12-25 Pure Storage, Inc. Cloud assist for storage systems
US10430282B2 (en) 2014-10-07 2019-10-01 Pure Storage, Inc. Optimizing replication by distinguishing user and system write activity
US9489132B2 (en) 2014-10-07 2016-11-08 Pure Storage, Inc. Utilizing unmapped and unknown states in a replicated storage system
US9727485B1 (en) 2014-11-24 2017-08-08 Pure Storage, Inc. Metadata rewrite and flatten optimization
US9773007B1 (en) 2014-12-01 2017-09-26 Pure Storage, Inc. Performance improvements in a storage system
US9588842B1 (en) * 2014-12-11 2017-03-07 Pure Storage, Inc. Drive rebuild
US9547552B2 (en) * 2014-12-11 2017-01-17 Netapp, Inc. Data tracking for efficient recovery of a storage array
US9552248B2 (en) 2014-12-11 2017-01-24 Pure Storage, Inc. Cloud alert to replica
US9864769B2 (en) 2014-12-12 2018-01-09 Pure Storage, Inc. Storing data utilizing repeating pattern detection
US10545987B2 (en) 2014-12-19 2020-01-28 Pure Storage, Inc. Replication to the cloud
US9569357B1 (en) 2015-01-08 2017-02-14 Pure Storage, Inc. Managing compressed data in a storage system
US10296354B1 (en) 2015-01-21 2019-05-21 Pure Storage, Inc. Optimized boot operations within a flash storage array
US11947968B2 (en) 2015-01-21 2024-04-02 Pure Storage, Inc. Efficient use of zone in a storage device
JP2016143248A (ja) * 2015-02-02 2016-08-08 富士通株式会社 ストレージ制御装置及びストレージ制御プログラム
US9710165B1 (en) 2015-02-18 2017-07-18 Pure Storage, Inc. Identifying volume candidates for space reclamation
US10082985B2 (en) 2015-03-27 2018-09-25 Pure Storage, Inc. Data striping across storage nodes that are assigned to multiple logical arrays
US10178169B2 (en) 2015-04-09 2019-01-08 Pure Storage, Inc. Point to point based backend communication layer for storage processing
US10140149B1 (en) 2015-05-19 2018-11-27 Pure Storage, Inc. Transactional commits with hardware assists in remote memory
US9547441B1 (en) 2015-06-23 2017-01-17 Pure Storage, Inc. Exposing a geometry of a storage device
US10310740B2 (en) 2015-06-23 2019-06-04 Pure Storage, Inc. Aligning memory access operations to a geometry of a storage device
KR20170028825A (ko) 2015-09-04 2017-03-14 퓨어 스토리지, 아이앤씨. 압축된 인덱스들을 사용한 해시 테이블들에서의 메모리 효율적인 스토리지 및 탐색
US11341136B2 (en) 2015-09-04 2022-05-24 Pure Storage, Inc. Dynamically resizable structures for approximate membership queries
US11269884B2 (en) 2015-09-04 2022-03-08 Pure Storage, Inc. Dynamically resizable structures for approximate membership queries
US9843453B2 (en) 2015-10-23 2017-12-12 Pure Storage, Inc. Authorizing I/O commands with I/O tokens
US10452297B1 (en) 2016-05-02 2019-10-22 Pure Storage, Inc. Generating and optimizing summary index levels in a deduplication storage system
US10133503B1 (en) 2016-05-02 2018-11-20 Pure Storage, Inc. Selecting a deduplication process based on a difference between performance metrics
US10203903B2 (en) 2016-07-26 2019-02-12 Pure Storage, Inc. Geometry based, space aware shelf/writegroup evacuation
US10756816B1 (en) 2016-10-04 2020-08-25 Pure Storage, Inc. Optimized fibre channel and non-volatile memory express access
US10162523B2 (en) 2016-10-04 2018-12-25 Pure Storage, Inc. Migrating data between volumes using virtual copy operation
US10191662B2 (en) 2016-10-04 2019-01-29 Pure Storage, Inc. Dynamic allocation of segments in a flash storage system
US10613974B2 (en) 2016-10-04 2020-04-07 Pure Storage, Inc. Peer-to-peer non-volatile random-access memory
US10481798B2 (en) 2016-10-28 2019-11-19 Pure Storage, Inc. Efficient flash management for multiple controllers
US10185505B1 (en) 2016-10-28 2019-01-22 Pure Storage, Inc. Reading a portion of data to replicate a volume based on sequence numbers
US10359942B2 (en) 2016-10-31 2019-07-23 Pure Storage, Inc. Deduplication aware scalable content placement
KR102611571B1 (ko) 2016-11-09 2023-12-07 삼성전자주식회사 비휘발성 메모리를 포함하는 raid 시스템
US11550481B2 (en) 2016-12-19 2023-01-10 Pure Storage, Inc. Efficiently writing data in a zoned drive storage system
US10452290B2 (en) 2016-12-19 2019-10-22 Pure Storage, Inc. Block consolidation in a direct-mapped flash storage system
US11093146B2 (en) 2017-01-12 2021-08-17 Pure Storage, Inc. Automatic load rebalancing of a write group
US10528488B1 (en) 2017-03-30 2020-01-07 Pure Storage, Inc. Efficient name coding
US11403019B2 (en) 2017-04-21 2022-08-02 Pure Storage, Inc. Deduplication-aware per-tenant encryption
US12045487B2 (en) 2017-04-21 2024-07-23 Pure Storage, Inc. Preserving data deduplication in a multi-tenant storage system
US10944671B2 (en) 2017-04-27 2021-03-09 Pure Storage, Inc. Efficient data forwarding in a networked device
US10365983B1 (en) * 2017-04-27 2019-07-30 EMC IP Holding Company LLC Repairing raid systems at per-stripe granularity
US10402266B1 (en) 2017-07-31 2019-09-03 Pure Storage, Inc. Redundant array of independent disks in a direct-mapped flash storage system
US10831935B2 (en) 2017-08-31 2020-11-10 Pure Storage, Inc. Encryption management with host-side data reduction
US10776202B1 (en) 2017-09-22 2020-09-15 Pure Storage, Inc. Drive, blade, or data shard decommission via RAID geometry shrinkage
US10789211B1 (en) 2017-10-04 2020-09-29 Pure Storage, Inc. Feature-based deduplication
US10884919B2 (en) 2017-10-31 2021-01-05 Pure Storage, Inc. Memory management in a storage system
US10860475B1 (en) 2017-11-17 2020-12-08 Pure Storage, Inc. Hybrid flash translation layer
CN110058961B (zh) * 2018-01-18 2023-05-05 伊姆西Ip控股有限责任公司 用于管理存储系统的方法和设备
US11010233B1 (en) 2018-01-18 2021-05-18 Pure Storage, Inc Hardware-based system monitoring
US10970395B1 (en) 2018-01-18 2021-04-06 Pure Storage, Inc Security threat monitoring for a storage system
US11144638B1 (en) 2018-01-18 2021-10-12 Pure Storage, Inc. Method for storage system detection and alerting on potential malicious action
US10467527B1 (en) 2018-01-31 2019-11-05 Pure Storage, Inc. Method and apparatus for artificial intelligence acceleration
US11036596B1 (en) 2018-02-18 2021-06-15 Pure Storage, Inc. System for delaying acknowledgements on open NAND locations until durability has been confirmed
US11494109B1 (en) 2018-02-22 2022-11-08 Pure Storage, Inc. Erase block trimming for heterogenous flash memory storage devices
US11934322B1 (en) 2018-04-05 2024-03-19 Pure Storage, Inc. Multiple encryption keys on storage drives
US11995336B2 (en) 2018-04-25 2024-05-28 Pure Storage, Inc. Bucket views
US10678433B1 (en) 2018-04-27 2020-06-09 Pure Storage, Inc. Resource-preserving system upgrade
US11385792B2 (en) 2018-04-27 2022-07-12 Pure Storage, Inc. High availability controller pair transitioning
US10678436B1 (en) 2018-05-29 2020-06-09 Pure Storage, Inc. Using a PID controller to opportunistically compress more data during garbage collection
US11436023B2 (en) 2018-05-31 2022-09-06 Pure Storage, Inc. Mechanism for updating host file system and flash translation layer based on underlying NAND technology
US10776046B1 (en) 2018-06-08 2020-09-15 Pure Storage, Inc. Optimized non-uniform memory access
US11281577B1 (en) 2018-06-19 2022-03-22 Pure Storage, Inc. Garbage collection tuning for low drive wear
US11869586B2 (en) 2018-07-11 2024-01-09 Pure Storage, Inc. Increased data protection by recovering data from partially-failed solid-state devices
US11194759B2 (en) 2018-09-06 2021-12-07 Pure Storage, Inc. Optimizing local data relocation operations of a storage device of a storage system
US11133076B2 (en) 2018-09-06 2021-09-28 Pure Storage, Inc. Efficient relocation of data between storage devices of a storage system
US10846216B2 (en) 2018-10-25 2020-11-24 Pure Storage, Inc. Scalable garbage collection
US11113409B2 (en) 2018-10-26 2021-09-07 Pure Storage, Inc. Efficient rekey in a transparent decrypting storage array
US10983885B2 (en) 2018-11-29 2021-04-20 International Business Machines Corporation Recovering storage devices in a storage array having errors
US11194473B1 (en) 2019-01-23 2021-12-07 Pure Storage, Inc. Programming frequently read data to low latency portions of a solid-state storage array
US11588633B1 (en) 2019-03-15 2023-02-21 Pure Storage, Inc. Decommissioning keys in a decryption storage system
US11334254B2 (en) 2019-03-29 2022-05-17 Pure Storage, Inc. Reliability based flash page sizing
US11775189B2 (en) 2019-04-03 2023-10-03 Pure Storage, Inc. Segment level heterogeneity
US11397674B1 (en) 2019-04-03 2022-07-26 Pure Storage, Inc. Optimizing garbage collection across heterogeneous flash devices
US10990480B1 (en) 2019-04-05 2021-04-27 Pure Storage, Inc. Performance of RAID rebuild operations by a storage group controller of a storage system
US12087382B2 (en) 2019-04-11 2024-09-10 Pure Storage, Inc. Adaptive threshold for bad flash memory blocks
US11099986B2 (en) 2019-04-12 2021-08-24 Pure Storage, Inc. Efficient transfer of memory contents
CN110187830A (zh) * 2019-04-22 2019-08-30 中国科学院计算技术研究所 一种加速磁盘阵列重建的方法及系统
CN111857549B (zh) * 2019-04-29 2024-08-16 伊姆西Ip控股有限责任公司 用于管理数据的方法、设备和计算机程序产品
US11487665B2 (en) 2019-06-05 2022-11-01 Pure Storage, Inc. Tiered caching of data in a storage system
US11281394B2 (en) 2019-06-24 2022-03-22 Pure Storage, Inc. Replication across partitioning schemes in a distributed storage system
US10929046B2 (en) 2019-07-09 2021-02-23 Pure Storage, Inc. Identifying and relocating hot data to a cache determined with read velocity based on a threshold stored at a storage device
US11422751B2 (en) 2019-07-18 2022-08-23 Pure Storage, Inc. Creating a virtual storage system
US11086713B1 (en) 2019-07-23 2021-08-10 Pure Storage, Inc. Optimized end-to-end integrity storage system
US11963321B2 (en) 2019-09-11 2024-04-16 Pure Storage, Inc. Low profile latching mechanism
US11403043B2 (en) 2019-10-15 2022-08-02 Pure Storage, Inc. Efficient data compression by grouping similar data within a data segment
US11645162B2 (en) 2019-11-22 2023-05-09 Pure Storage, Inc. Recovery point determination for data restoration in a storage system
US12050689B2 (en) 2019-11-22 2024-07-30 Pure Storage, Inc. Host anomaly-based generation of snapshots
US11520907B1 (en) 2019-11-22 2022-12-06 Pure Storage, Inc. Storage system snapshot retention based on encrypted data
US11675898B2 (en) 2019-11-22 2023-06-13 Pure Storage, Inc. Recovery dataset management for security threat monitoring
US11720692B2 (en) 2019-11-22 2023-08-08 Pure Storage, Inc. Hardware token based management of recovery datasets for a storage system
US11625481B2 (en) 2019-11-22 2023-04-11 Pure Storage, Inc. Selective throttling of operations potentially related to a security threat to a storage system
US11615185B2 (en) 2019-11-22 2023-03-28 Pure Storage, Inc. Multi-layer security threat detection for a storage system
US12079502B2 (en) 2019-11-22 2024-09-03 Pure Storage, Inc. Storage element attribute-based determination of a data protection policy for use within a storage system
US12050683B2 (en) * 2019-11-22 2024-07-30 Pure Storage, Inc. Selective control of a data synchronization setting of a storage system based on a possible ransomware attack against the storage system
US11657155B2 (en) 2019-11-22 2023-05-23 Pure Storage, Inc Snapshot delta metric based determination of a possible ransomware attack against data maintained by a storage system
US11941116B2 (en) 2019-11-22 2024-03-26 Pure Storage, Inc. Ransomware-based data protection parameter modification
US11720714B2 (en) 2019-11-22 2023-08-08 Pure Storage, Inc. Inter-I/O relationship based detection of a security threat to a storage system
US11500788B2 (en) 2019-11-22 2022-11-15 Pure Storage, Inc. Logical address based authorization of operations with respect to a storage system
US11755751B2 (en) 2019-11-22 2023-09-12 Pure Storage, Inc. Modify access restrictions in response to a possible attack against data stored by a storage system
US12079333B2 (en) 2019-11-22 2024-09-03 Pure Storage, Inc. Independent security threat detection and remediation by storage systems in a synchronous replication arrangement
US12067118B2 (en) 2019-11-22 2024-08-20 Pure Storage, Inc. Detection of writing to a non-header portion of a file as an indicator of a possible ransomware attack against a storage system
US12079356B2 (en) 2019-11-22 2024-09-03 Pure Storage, Inc. Measurement interval anomaly detection-based generation of snapshots
US11687418B2 (en) 2019-11-22 2023-06-27 Pure Storage, Inc. Automatic generation of recovery plans specific to individual storage elements
US11651075B2 (en) 2019-11-22 2023-05-16 Pure Storage, Inc. Extensible attack monitoring by a storage system
US11341236B2 (en) 2019-11-22 2022-05-24 Pure Storage, Inc. Traffic-based detection of a security threat to a storage system
US20210349780A1 (en) * 2020-05-11 2021-11-11 Samsung Electronics Co., Ltd. Systems, methods, and devices for data recovery with spare storage device and fault resilient storage device
JP2021182268A (ja) * 2020-05-19 2021-11-25 Necプラットフォームズ株式会社 コントローラ、情報処理装置、情報処理方法及びプログラム
JP7443404B2 (ja) * 2022-01-21 2024-03-05 株式会社日立製作所 ストレージシステム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2923702B2 (ja) * 1991-04-01 1999-07-26 株式会社日立製作所 記憶装置及びそのデータ修復方法
JP3832223B2 (ja) 2000-09-26 2006-10-11 株式会社日立製作所 ディスクアレイのディスク障害復旧方法
ATE490504T1 (de) * 2001-03-19 2010-12-15 Panasonic Corp Datenempfangssystem mit ersetzbarem aufzeichnungsmedium und verfahren dafür
US7139931B2 (en) * 2002-08-19 2006-11-21 Aristos Logic Corporation Method of controlling the system performance and reliability impact of hard disk drive rebuild
JP2004326357A (ja) * 2003-04-23 2004-11-18 Internatl Business Mach Corp <Ibm> 冗長化ブロックを有する記憶システム、並びに、当該記憶システムの制御装置、制御方法、プログラム及び記録媒体
US7260739B2 (en) * 2003-05-09 2007-08-21 International Business Machines Corporation Method, apparatus and program storage device for allowing continuous availability of data during volume set failures in a mirrored environment
US7062673B2 (en) * 2003-05-19 2006-06-13 Hitachi Global Technologies System and method for sparing in RAID-1 system
US20060041793A1 (en) * 2004-08-17 2006-02-23 Dell Products L.P. System, method and software for enhanced raid rebuild
JP4815825B2 (ja) 2005-03-10 2011-11-16 日本電気株式会社 ディスクアレイ装置及びその再構築方法
WO2006123416A1 (ja) * 2005-05-19 2006-11-23 Fujitsu Limited ディスク故障復旧方法及びディスクアレイ装置
JP2010146056A (ja) * 2008-12-16 2010-07-01 Oki Electric Ind Co Ltd データ記憶装置、及び、その故障回復方法

Also Published As

Publication number Publication date
JP2014067313A (ja) 2014-04-17
US9053075B2 (en) 2015-06-09
US20140089730A1 (en) 2014-03-27

Similar Documents

Publication Publication Date Title
JP5954081B2 (ja) ストレージ制御装置、ストレージ制御方法、およびストレージ制御プログラム
US8060772B2 (en) Storage redundant array of independent drives
US8904129B2 (en) Method and apparatus for backup and restore in a dynamic chunk allocation storage system
US7783922B2 (en) Storage controller, and storage device failure detection method
US8495293B2 (en) Storage system comprising function for changing data storage mode using logical volume pair
CN102945201B (zh) 已验证数据集合的非易失性介质日志记录
US6467023B1 (en) Method for logical unit creation with immediate availability in a raid storage environment
JP4267420B2 (ja) ストレージ装置及びバックアップ取得方法
JP4800031B2 (ja) ストレージシステム及びスナップショット管理方法
JP6064608B2 (ja) ストレージ装置、バックアッププログラム、およびバックアップ方法
US20070088990A1 (en) System and method for reduction of rebuild time in raid systems through implementation of striped hot spare drives
US8041891B2 (en) Method and system for performing RAID level migration
JP2008204041A (ja) ストレージ装置及びデータ配置制御方法
JP2016057795A (ja) ストレージ制御装置,ストレージシステム及びストレージ制御プログラム
JP2008046986A (ja) ストレージシステム
JP2008225616A (ja) ストレージシステム、リモートコピーシステム、及びデータ復元方法
JP2002108571A (ja) ディスクアレイのディスク障害復旧方法
JP6494787B2 (ja) 分散ストレージシステム
US8745343B2 (en) Data duplication resynchronization with reduced time and processing requirements
JP2012509533A5 (ja)
JP2010026812A (ja) 磁気ディスク装置
JP5644795B2 (ja) ストレージ装置、データ復旧方法およびプログラム
JP2007128183A (ja) ストレージシステム
US20090063770A1 (en) Storage control apparatus, storage control program, and storage control method
JP2005107676A (ja) アレイコントローラ及びディスクアレイ再構築方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150604

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

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160518

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160530

R150 Certificate of patent or registration of utility model

Ref document number: 5954081

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150