JP6540202B2 - 情報処理システム、制御装置および制御プログラム - Google Patents

情報処理システム、制御装置および制御プログラム Download PDF

Info

Publication number
JP6540202B2
JP6540202B2 JP2015093247A JP2015093247A JP6540202B2 JP 6540202 B2 JP6540202 B2 JP 6540202B2 JP 2015093247 A JP2015093247 A JP 2015093247A JP 2015093247 A JP2015093247 A JP 2015093247A JP 6540202 B2 JP6540202 B2 JP 6540202B2
Authority
JP
Japan
Prior art keywords
information processing
power failure
processing apparatus
monitoring
memory
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
JP2015093247A
Other languages
English (en)
Other versions
JP2016212506A (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 JP2015093247A priority Critical patent/JP6540202B2/ja
Priority to US15/081,997 priority patent/US10235255B2/en
Publication of JP2016212506A publication Critical patent/JP2016212506A/ja
Application granted granted Critical
Publication of JP6540202B2 publication Critical patent/JP6540202B2/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/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/202Error 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 processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/203Failover techniques using migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • 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/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/85Active fault masking without idle spares
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/604Details relating to cache allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Debugging And Monitoring (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Stand-By Power Supply Arrangements (AREA)

Description

本発明は、情報処理システム、制御装置および制御プログラムに関する。
データのミラーリングは、データの損失を防止するために広く利用されている。例えば、複数の情報処理装置を備えたシステムでは、ある情報処理装置のキャッシュメモリの内容を、別の情報処理装置のキャッシュメモリへミラーリングするものがある。
ミラーリング技術の一例として、複数のストレージ制御装置それぞれがローカルキャッシュとミラーキャッシュとを有し、あるストレージ制御装置のローカルキャッシュが隣接するストレージ制御装置のミラーキャッシュと二重化されて、キャッシュがサイクリックに二重化されたストレージシステムが提案されている。
また、データ保護に関する他の技術として、ストレージ装置が停電を検出すると、実行中の処理を中止し、電力停止で消失するキャッシュデータの保護を図る技術がある。例えば、停電から一定の期間は、バッテリから供給される電力によってキャッシュデータをそのまま保持する。そして、一定時間経過しても停電が継続しているときは、キャッシュデータを不揮発性メモリに書き込み保護を図る。
国際公開第2004/114115号 特開2014−215661号公報
ところで、情報処理装置のダウンは、停電ばかりでなく、情報処理装置の動作を制御するCPU(Central Processing Unit)に不整合なデータが入力することなどに起因する「ソフトエラー」によっても発生する。ソフトエラーによるダウンでは、メモリの内容を保持した状態で情報処理装置を再起動する「マシンダウンリカバリ」という方法により、情報処理装置が回復する可能性がある。特に、キャッシュデータとそのミラーデータとをそれぞれ記憶する2台の情報処理装置がともにソフトエラーによってダウンした場合、各情報処理装置にマシンダウンリカバリを実行させることで、キャッシュデータが二重化された状態を保ったままシステムを早期に復旧させることが可能になる。
一方、複数の情報処理装置を有するシステムでは、各情報処理装置が互いの状態を監視し、ダウンした他の情報処理装置を検出可能になっているものがある。しかし、ダウンした他の情報処理装置のダウン要因を特定することは難しい。ダウンした情報処理装置に上記のマシンダウンリカバリの実行を指示したとき、その情報処理装置のダウン要因が停電である場合には、マシンダウンリカバリが実行されない。この場合、ダウンした情報処理装置のメモリに記憶されていたキャッシュデータやミラーデータが消失し、その情報処理装置の動作の信頼性が保証できなくなる可能性がある。
一つの側面では、本発明は、情報処理装置の復旧時のデータ消失の可能性を抑制する情報処理システム、制御装置および制御プログラムを提供することを目的とする。
一つの態様では、第1の情報処理装置と、第2の情報処理装置と、第3の情報処理装置とを有する情報処理システムが提供される。この情報処理システムにおいて、第1の情報処理装置は、キャッシュ領域を有する第1のメモリと、第1のメモリに電力を供給する第1の電源と、第1の電源を監視し、停電を検知すると第1の停電信号を出力する第1の制御部と、を備える。第2の情報処理装置は、キャッシュ領域に記憶されたデータのミラーデータを記憶するミラーキャッシュ領域を有する第2のメモリと、第2のメモリに電力を供給する第2の電源と、第2の電源を監視し、停電を検知すると第2の停電信号を出力する第2の制御部と、を備える。第3の情報処理装置は、第1の情報処理装置と第2の情報処理装置の動作を監視し、その両方の動作停止を検知したとき、第1の停電信号の有無と第2の停電信号の有無とに基づいて第1の情報処理装置と第2の情報処理装置の停電状態を判定し、いずれも停電していない場合には、第1のメモリのデータを保持した状態で第1の情報処理装置を再起動させるとともに、第2のメモリのデータを保持した状態で第2の情報処理装置を再起動させる。
また、一つの態様では、インタフェースと制御部とを有する制御装置が提供される。この制御装置において、インタフェースは、キャッシュ領域を有する第1のメモリを備える第1の情報処理装置と、キャッシュ領域に記憶されたデータのミラーデータを記憶するミラーキャッシュ領域を有する第2のメモリを備える第2の情報処理装置と通信する。制御部は、第1の情報処理装置と第2の情報処理装置の動作を監視し、その両方の動作停止を検知したとき、第1のメモリに電力を供給する第1の電源が停電したことを示す第1の停電信号の、第1の情報処理装置からの出力の有無と、第2のメモリに電力を供給する第2の電源が停電したことを示す第2の停電信号の、第2の情報処理装置からの出力の有無とに基づいて、第1の情報処理装置と第2の情報処理装置の停電状態を判定し、いずれも停電していない場合には、第1のメモリのデータを保持した状態で第1の情報処理装置を再起動させるとともに、第2のメモリのデータを保持した状態で第2の情報処理装置を再起動させる。
さらに、一つの態様では、上記の制御装置と同様の処理をコンピュータに実行させる制御プログラムが提供される。
一つの側面では、情報処理装置の復旧時のデータ消失の可能性を抑制できる。
第1の実施の形態の情報処理システムの構成例を示す図である。 第2の実施の形態のストレージシステムの構成例を示す図である。 CMのハードウェア構成例を示す図である。 キャッシュ領域とそのミラーリング先との関係を示す図である。 CMおよびFEの監視機能例を示す図である。 CMの機能例を示すブロック図である。 CM監視テーブルの例を示す図である。 CMによる停電監視処理の例を示すフローチャートである。 SVCによる停電監視処理の例を示すフローチャートである。 マスタCMによる監視処理の例を示すフローチャートである。 マスタCMが他のCMのダウンを検出したときの処理の例を示すフローチャートである。 マスタCMがミラーリング関係にある2CMのダウンを検出したときの処理の例を示すフローチャートである。 ミラーリング関係にあるCMがともに停電したときの処理の例を示すシーケンス図である。 ミラーリング関係にあるCMがともにソフトエラーでダウンしたときの処理の例を示すシーケンス図である。 ソフトエラーの発生によりマシンダウンリカバリが実行されたCMでの復旧処理例を示すフローチャートである。
以下、本発明の実施の形態について図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態の情報処理システムの構成例を示す図である。図1に示す情報処理システムは、情報処理装置10,20,30を有する。
情報処理装置10は、制御部11、メモリ12および電源13を有する。情報処理装置20は、制御部21、メモリ22および電源23を有する。情報処理装置30は、制御部31を有する。情報処理装置10,20,30は、ネットワークやバスなどを介して互いに接続されている。
制御部11,21,31は、例えば、CPU、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)などを含み得るプロセッサとして実装される。このプロセッサには、複数のプロセッサの集合(マルチプロセッサ)も含まれ得る。メモリ12,22は、RAM(Random Access Memory)などの揮発性メモリである。電源13は、情報処理装置10内の構成要素のうち少なくともメモリ12に電力を供給する。電源13は、情報処理装置10全体に電力を供給してもよい。電源23は、情報処理装置20内の構成要素のうち少なくともメモリ22に電力を供給する。電源23は、情報処理装置20全体に電力を供給してもよい。
メモリ12は、キャッシュ領域12aを有する。なお、情報処理装置10は、その内部に搭載された、または外部に接続された記憶装置に対するアクセス制御を、キャッシュ領域12aを用いて実行する。一方、メモリ22は、ミラーキャッシュ領域22aを有する。ミラーキャッシュ領域22aには、キャッシュ領域12aに記憶されたデータのミラーデータが格納される。例えば、キャッシュ領域12aのデータが更新されるたびに、その更新内容がミラーキャッシュ領域22aにも反映される。
制御部11は、電源13を監視し、停電を検知すると停電信号11aを出力する。制御部21は、電源23を監視し、停電を検知すると停電信号21aを出力する。停電信号11a,21aの出力の有無は、情報処理装置30が確認可能になっている。例えば、停電信号11a,21aが出力されたことが、情報処理装置30がアクセス可能な記憶装置に記憶される。この記憶装置は、図1に例示するような、情報処理装置10,20の外部に設けられた共通の記憶部41であってもよいし、情報処理装置10,20にそれぞれ個別に設けられた不揮発性記憶装置であってもよい。前者の場合、記憶部41には、例えば、監視部によって停電信号11aの受信の有無と停電信号21aの受信の有無とに基づく停電監視情報(図示せず)が記憶されてもよい。この場合、情報処理装置30は、停電監視情報に基づいて停電信号11a,21aの出力の有無を判定する。また、停電信号11a,21aは、情報処理装置30に対して送信されてもよい。
制御部31は、情報処理装置10,20の動作を監視し、それぞれが動作しているかを判定する。例えば、制御部31は、情報処理装置10,20のそれぞれに対して監視信号を送信し、監視信号に対する応答の有無に基づいてそれぞれが動作しているかを判定する。制御部31は、情報処理装置10,20の両方の動作が停止したことを検知すると(ステップS1)、停電信号11a,21aのそれぞれの出力の有無に基づいて、情報処理装置10,20のそれぞれの停電状態を判定する(ステップS2)。
制御部31は、情報処理装置10,20のいずれも停電していない(すなわち、電源13,23のいずれも停電していない)場合には、メモリ12のデータを保持した状態で情報処理装置10を再起動させる。これとともに、制御部31は、メモリ22のデータを保持した状態で情報処理装置20を再起動させる(ステップS3)。なお、メモリのデータを保持した状態で情報処理が再起動することを、「マシンダウンリカバリ」と呼ぶことにする。
ここで、情報処理装置10の動作が停止しているものの、停電信号11aが出力されておらず情報処理装置10が停電していない場合には、制御部31は、情報処理装置10がソフトエラーによってダウンしている状態と判断できる。同様に、情報処理装置20の動作が停止しているものの、停電信号21aが出力されておらず情報処理装置20が停電していない場合には、制御部31は、情報処理装置20がソフトエラーによってダウンしている状態と判断できる。
情報処理装置がソフトエラーによってダウンしている場合、その情報処理装置にマシンダウンリカバリを実行させることで、その実行前のメモリ内のデータをそのまま用いて情報処理装置を復旧させることができる可能性がある。しかし、マシンダウンリカバリは、停電した情報処理装置に実行させることはできない。
仮に、動作を停止した情報処理装置10,20の一方が停電している場合にそれらの両方にマシンダウンリカバリの実行を指示したとすると、停電した装置ではマシンダウンリカバリが実行されない。そのため、一方がメモリのデータを保持したまま再起動したとしても、キャッシュ領域12aとミラーキャッシュ領域22aの一方は使用可能な状態にならず、各領域のデータが二重化された状態で運用を再開することができない。さらに、停電した情報処理装置にマシンダウンリカバリの実行を指示した場合には、メモリの内容が失われる危険性もある。
本実施の形態では、制御部31は、停電信号11a,21aのそれぞれの出力の有無に基づいて、情報処理装置10,20のそれぞれの動作停止の要因がソフトエラーか否かを正確に判断できる。そして、制御部31は、それら両方の動作停止の要因がソフトエラーと確認された場合に、それら両方にマシンダウンリカバリを実行させる。これにより、情報処理装置10,20の復旧時のデータ消失の可能性を抑制できる。換言すると、キャッシュ領域12aとミラーキャッシュ領域22aのデータを失うことなく、各領域のデータが二重化された状態で情報処理装置10,20の運用を再開できる可能性が高まる。すなわち、情報処理装置10,20がキャッシュデータの安全性を保った状態で正しく復旧できることの確実性を高めることができる。
[第2の実施の形態]
図2は、第2の実施の形態のストレージシステムの構成例を示す図である。ストレージシステムは、CE(Controller Enclosure)100,200,300と、DE(Device Enclosure)410,420,430と、FE(Frontend Enclosure)500と、ホスト装置600とを有する。
CE100は、CM(Controller Module)110と、CM120と、バッテリ130と、PSU(Power Supply Unit)140とを有する。CE200は、CM210と、CM220と、バッテリ230と、PSU240とを有する。CE300は、CM310と、CM320と、バッテリ330と、PSU340とを有する。
CM110,120,210,220,310,320には、ホスト装置600が接続されている。CM110,120,210,220,310,320とホスト装置600とは、例えば、ファイバチャネル(FC:Fibre Channel)やiSCSI(Internet Small Computer System Interface)などを用いたSAN(Storage Area Network)を介して接続される。なお、図2では例として1台のホスト装置600がCM110,120,210,220,310,320に接続されているが、例えば、複数台のホスト装置のそれぞれが1台以上のCMに接続されてもよい。
DE410,420,430のそれぞれには、ホスト装置600からのアクセス対象となる複数台の記憶装置が搭載されている。本実施の形態では、DE410,420,430は、記憶装置としてHDD(Hard Disk Drive)を備えたディスクアレイ装置である。なお、DE410,420,430に搭載される記憶装置は、SSD(Solid State Drive)などの他の種類の記憶装置であってもよい。
CM110,120には、DE410が接続されている。CM110,120は、それぞれキャッシュ領域を実装するメモリを有し、ホスト装置600からの要求に応じて、DE410に搭載されたHDDに対するアクセスを、それぞれに実装されたキャッシュ領域を用いて制御する。CM210,220には、DE420が接続されている。CM210,220は、それぞれキャッシュ領域を実装するメモリを有し、ホスト装置600からの要求に応じて、DE420に搭載されたHDDに対するアクセスを、それぞれに実装されたキャッシュ領域を用いて制御する。CM310,320には、DE430が接続されている。CM310,320は、それぞれキャッシュ領域を実装するメモリを有し、ホスト装置600からの要求に応じて、DE430に搭載されたHDDに対するアクセスを、それぞれに実装されたキャッシュ領域を用いて制御する。
なお、CE100とDE410とは、例えば、1つの筐体に搭載されるストレージ装置として実現される。CE200とDE420、および、CE300とDE430についても同様である。図2のストレージシステムは、このようなストレージ装置をスケールアウトした構成となっている。
また、ストレージシステムに含まれるCEの数は3台に限定されるものではなく、各CEに含まれるCMの数も2台に限定されるものではない。例えば、ストレージシステムには、それぞれ2台のCMを備えるDEが12台含まれてもよい。また、CM110,120,210,220,310,320のそれぞれは、ホスト装置600からの要求に応じて、他のCMに接続されたDE内のHDDに対するアクセスを制御してもよい。
CM110,120,210,220,310,320についてさらに説明する。CM110,120は、それぞれに実装されたキャッシュ領域の管理や、バッテリ130、PSU140の監視などの処理を行う。バッテリ130は、停電時にCM110,120が有するキャッシュ領域が実装されるメモリに電力を供給する。また、バッテリ130は、停電時にCM110,120が実行する停電処理に必要な電力を供給する。PSU140は、CE100全体に電力を供給する。
CM210,220は、それぞれに実装されたキャッシュ領域の管理と、バッテリ230、PSU240の監視などの処理を行う。バッテリ230は、停電時にCM210,220が必要とする電力を供給する。PSU240は、CE200全体に電力を供給する。CM310,320は、それぞれに実装されたキャッシュ領域の管理と、バッテリ330、PSU340の監視などの処理を行う。バッテリ330は、停電時にCM310,320が必要とする電力を供給する。PSU340は、CE300全体に電力を供給する。
FE500は、ルータ510と、SVC(SerVice Controller)520と、記憶部530とを有する。
ルータ510は、CM110,120,210,220,310,320と接続し、CM間で伝送される信号を中継する。CM110,120,210,220,310,320は、ルータ510を介して相互に通信を行うことができる。
SVC520は、CM110,120,210,220,310,320との間で個別に相互通信を行う。SVC520は、CM110,120,210,220,310,320のPSU140,240,340の監視結果を管理する。具体的には、SVC520は、CM110,120,210,220,310,320からPSU140,240,340の監視情報を取得し、停電監視情報を生成する。停電監視情報は、それぞれのCM110,120,210,220,310,320が検出した停電発生の有無を示す情報である。SVC520は、停電監視情報を記憶部530に格納し、CM110,120,210,220,310,320からの要求に応じて提供する。記憶部530は、例えば、RAM、フラッシュメモリなどの記憶装置として実装され、停電監視情報を記憶する。
次に、CM110,120,210,220,310,320のハードウェア構成を、CM110の場合で説明する。
図3は、CMのハードウェア構成例を示す図である。なお、図2と同じ構成要素には同じ番号を付し、説明は省略する。
CM110は、プロセッサ101と、RAM102と、SSD(Solid State Drive)103と、DI(Device Interface)104と、CA(Channel Adapter)105と、読み取り装置106と、CMIF(CM InterFace)107と、BUD(Back Up Drive)108と、FPGA109とを有する。
プロセッサ101は、CM110の情報処理を制御する。プロセッサ101は、複数のプロセッシング要素を含むマルチプロセッサであってもよい。
RAM102は、CM110の主記憶装置である。RAM102は、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。RAM102は、プロセッサ101による処理に用いる各種データを記憶する。また、RAM102の所定の領域にキャッシュが実装される。
SSD103は、CM110の補助記憶装置である。SSD103は、不揮発性の半導体メモリである。SSD103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、CM110は、補助記憶装置として、SSD103の代わりにHDDを備えていてもよい。
DI104は、DE410と通信するためのインタフェースである。DI104は、例えば、SAS(Serial Attached SCSI)インタフェースとして実装される。CA105は、ホスト装置600と通信するためのインタフェースである。
読み取り装置106は、可搬型の記録媒体106aに記録されたプログラムやデータを読み取る装置である。記録媒体106aとして、例えば、フレキシブルディスク(FD:Flexible Disk)やHDDなどの磁気ディスク、CD(Compact Disc)やDVD(Digital Versatile Disc)などの光ディスク、光磁気ディスク(MO:Magneto-Optical disk)を使用できる。また、記録媒体106aとして、例えば、フラッシュメモリカードなどの不揮発性の半導体メモリを使用することもできる。読み取り装置106は、例えば、プロセッサ101からの命令にしたがって、記録媒体106aから読み取ったプログラムやデータをプロセッサ101に送信する。
CMIF107は、ルータ510を介して、他のCMと通信するためのインタフェースである。
BUD108は、停電発生時にRAM102のデータの保護に用いられる不揮発性の記録媒体である。記録媒体として、例えば、フラッシュメモリのような半導体メモリを使用することができる。停電発生時、FPGA109からの命令にしたがって、RAM102のデータがBUD108に書き込まれる。なお、RAM102およびBUD108は、停電発生後にバッテリ130から供給される電力によって駆動される。
FPGA109は、停電発生後、バッテリ130から供給される電力によって駆動可能である。FPGA109は、CE100のPSU140の状態信号を監視し、停電の検出を行う。FPGA109は、SVC520との間で通信を行う通信機能を有し、停電の検出結果をSVC520に通知する。また、FPGA109は、停電を検知すると、RAM102のデータイメージをBUD108にコピーし、コピーが完了すると動作を停止する。
さらに、FPGA109は、SVC520を介して他のCMから受信したマシンダウンリカバリの実行指示に応じて、RAM102に格納されたデータを保持した状態のままプロセッサ101をリセットし、CM110を再起動させる。また、FPGA109は、SVC520がFE500の停電を検出したときは、SVC520から停電を検出した旨の通知を受信する。
なお、CM120,210,220,310,320もCM110と同様のハードウェア構成により実現できる。
図4は、キャッシュ領域とそのミラーリング先との関係を示す図である。本実施の形態のストレージシステムでは、CMとホスト装置600との間のデータの読み書きはLU(Logical Unit)と呼ばれる論理記憶領域を単位として行われる。ストレージシステム内には複数のLUが設定され、各LUにはそのLUに対するホスト装置600からのアクセスを制御するCMが割り当てられる。CMは、自装置に割り当てられたLUに対するアクセスを、自装置内のRAMに確保したキャッシュ領域を用いて制御する。RAMには、キャッシュ領域がLU毎に確保される。
図4では、説明を簡単にするために、CM110,120,210,220,310,320はそれぞれ、ホスト装置600からのアクセス要求に応じて、1つの論理ボリュームに対するアクセスを制御するものとする。この場合、CM110,120,210,220,310,320の各RAMには、1つのキャッシュ領域(後述するローカルキャッシュ)が確保される。
あるCMがアクセス制御を担当するLUに対応する物理記憶領域は、DE410,420,430に搭載された1台以上のHDDによって実現される。最も簡単な例では、あるCMがアクセス制御を担当するLUに対応する物理領域は、そのCMに接続されたDE内の1台以上のHDDによって実現される。例えば、CM110がアクセス制御を担当するLUに対応する物理記憶領域として、DE410内の1台以上のHDDが割り当てられる。また、通常、1つのLUには複数のHDDが割り当てられ、それらのHDDに対するデータの読み書きがRAID(Redundant Arrays of Inexpensive Disks)によって制御される。
図4に示すように、CM110では、RAM102に確保した記憶領域にローカルキャッシュ111と、ミラーキャッシュ112が実装される。CM120では、CM120が有するRAMに確保した記憶領域にローカルキャッシュ121およびミラーキャッシュ122が実装される。CM210では、CM210が有するRAMに確保した記憶領域にローカルキャッシュ211およびミラーキャッシュ212が実装される。CM220では、CM220が有するRAMに確保した記憶領域にローカルキャッシュ221およびミラーキャッシュ222が実装される。CM310では、CM310が有するRAMに確保した記憶領域にローカルキャッシュ311およびミラーキャッシュ312が実装される。CM320では、CM320が有するRAMに確保した記憶領域にローカルキャッシュ321およびミラーキャッシュ322が実装される。
ローカルキャッシュは、対応するCMが、ホスト装置600からの要求に応じて当該CMが担当するLUにアクセスする際に、キャッシュ領域として用いられる。例えば、CM110は、ホスト装置600からの要求に応じたLUへのアクセスを、ローカルキャッシュ111をキャッシュ領域として用いて制御する。また、CM210は、ホスト装置600からの要求に応じたLUへのアクセスを、ローカルキャッシュ211をキャッシュ領域として用いて制御する。
ミラーキャッシュには、他のローカルキャッシュのミラーデータが格納される。例えば、CM110は、ローカルキャッシュ111に格納されたデータを、CM210のミラーキャッシュ212にミラーリングする。CM210は、ローカルキャッシュ211に格納されたデータを、CM310のミラーキャッシュ312にミラーリングする。CM310は、ローカルキャッシュ311に格納されたデータを、CM120のミラーキャッシュ122にミラーリングする。CM120は、ローカルキャッシュ121に格納されたデータを、CM220のミラーキャッシュ222にミラーリングする。CM220は、ローカルキャッシュ221に格納されたデータを、CM320のミラーキャッシュ322にミラーリングする。CM320は、ローカルキャッシュ321に格納されたデータを、CM110のミラーキャッシュ112にミラーリングする。
このように、あるCMのローカルキャッシュは、隣接するCE内のCMにサイクリックにミラーリングされる。ただし、あるCMのローカルキャッシュは、必ず、そのCMが搭載されたCEとは異なるCE内のCMにミラーリングされる。このような構成により、CE単位で動作が停止した場合でも、どのローカルキャッシュについても元データとミラーデータの少なくとも一方が消失せずに維持される。
例えば、CM110のローカルキャッシュ111がCM120のミラーキャッシュ122にミラーリングされた場合を考える。この構成で、CE100の動作が停止した場合、ローカルキャッシュ111に格納されたデータと、ミラーキャッシュ122に格納されたそのミラーデータの両方が消失してしまう。これに対して、図4の例では、CM110のローカルキャッシュ111がCM210のミラーキャッシュ212にミラーリングされている。このため、CE100の動作が停止したとしても、ミラーキャッシュ212のミラーデータが確実に残り、逆にCE200の動作が停止したとしても、ローカルキャッシュ111の元データが確実に残る。
図5は、CMおよびFEの監視機能例を示す図である。なお、図5においては、PSU140は、CE100全体の電力を供給することをわかりやすく示すためにCE100の外部に示しているが、実際にはCM100の内部に搭載される。PSU240,340も、同様にそれぞれCE200,300の内部に搭載される。
CM110は、CMIF107と、FPGA109とを有する。CM120,210,220,310,320も同様に、それぞれCMIFおよびFPGAを有する。一方、FE500においては、SVC520は、FPGA109を含む各CMのFPGAと通信を行う監視FPGA521を有する。監視FPGA521は、CMの停電情報を収集する。また、FE500の記憶部530は、監視FPGA521によってCMから収集された停電情報をまとめた停電監視情報531を記憶する。停電監視情報531には、例えば、CMごとに、停電が発生しているか否かを示す停電フラグを登録する領域が設けられている。
CMIF107は、FE500のルータ510とのインタフェースであり、ルータ510を経由して同様にルータ510に接続する他のCMとの間でCM間通信を行う。CM110のCPU101は、CMIF107およびルータ510を介して他のCMに監視コマンドを送信することで、他のCMがダウンしているかを認識することができる。
例えば、CM110がCMIF107経由でCM120に送信した監視コマンドは、ルータ510経由でCM120に送られる。CM120から応答が返ってきたときは、ルータ510経由で応答を受信する。応答を受信した場合、CM110は、CM120が動作していると判定する。一方、CM120から一定時間以内に応答が返ってこなかった場合、CM110は、タイムアウトを検出する。CM110は、通信先のCMごとにタイムアウトを検出した回数に応じた統計加点値を記録している。CM110は、CM120のタイムアウトを検出したときは、CM120を異常と判定し、通信先のCM120に対応する統計加点値に加点する。こうしてCM120のタイムアウトを複数回検出し、統計加点値が所定の閾値を超えたときは、CM110は、CM120がダウンしたと判定する。CM110は、ダウンしたと判定したCMの切り離し制御や、そのCMの復旧またはシャットダウンのための制御を実行する。
なお、複数のCM110,120,210,220,310,330のうちの1台が、マスタCMに設定されている。ダウンしたCMの切り離しや復旧またはシャットダウン制御は、マスタCMが実行する。ただし、マスタCM以外の少なくとも1台のCMもマスタCMと同様の他のCMのダウン判定を行っている。そして、マスタCMがダウンしたときには、CMのダウン判定を行っている所定の他のCMがマスタCMとなり、ダウンしたCMの切り離し制御や復旧またはシャットダウン制御を実行する。マスタCMを含む、ダウン判定を行っている複数台のCMでは、例えば、それぞれのCMで検出されたタイムアウトの回数が合算された統計加点値が共有される。
FPGA109は、CM110に電力を供給するPSU140の状態信号を監視する。FPGA109は、PSU140の状態信号により停電を検出したときは、CM110のRAM102のデータイメージをBUD108にコピーし、コピーが完了した後にCM110をシャットダウンする「停電処理」を実行する。この停電処理により、停電発生時でもRAM102に格納されたキャッシュデータやミラーキャッシュデータなどのデータの消失を防止できる。
CM120,210,220,310,320がそれぞれ有するFPGAも、FPGA109と同等の機能を備える。
ところで、CM110,120,210,220,310,320がダウンする要因としては、それぞれが備えるPSUが電力供給を停止する「停電」の他に、「ソフトエラー」があり得る。ソフトエラーは、CPUに不整合なデータが入力することなどに起因するエラーである。ソフトエラーによってダウンしたCMは、再起動させることによって復旧する可能性がある。
例えば、CM210がソフトエラーによってダウンした場合、他のマスタCMによってCM210が再起動されることにより、CM210が復旧する可能性がある。ただし、CM210のメモリ内のデータは再起動により失われている。このため、CM210は、CM310のミラーキャッシュ312からローカルキャッシュ211にデータをコピーすることで、ローカルキャッシュ211を用いたアクセス制御処理を再開する。また、CM210のミラーキャッシュ212にCM110のローカルキャッシュ111のデータがコピーされることで、ローカルキャッシュ111のデータが再度二重化される。
また、ソフトエラーによってダウンしたCMを復旧させる別の方法として、「マシンダウンリカバリ」がある。マシンダウンリカバリは、メモリの内容を保持した状態でCMを再起動する方法である。マシンダウンリカバリは、ダウンしたCMのFPGAが、他のCMからSVC520経由でマシンダウンリカバリの実行指示を受けたときに、ダウンしたCMのFPGAの制御によって実行される。
マシンダウンリカバリは、一方のローカルキャッシュのデータが他方にミラーリングされているという「ミラーリング関係」にある2台のCMがソフトエラーによってダウンした場合に、有用である。例えば、CM110,210がともにソフトエラーによってダウンしたケースを考える。このケースで、例えば、CM110,210の両方を単に再起動させてしまうと、CM110のローカルキャッシュ111と、CM210のミラーキャッシュ212の両方が消失してしまい、CM110の動作を元通りに復旧できない。これに対して、CM110,210の両方にマシンダウンリカバリを実行させることで、CM110のローカルキャッシュ111と、CM210のミラーキャッシュ212の両方が残った状態で、CM110,210の動作を再開できる可能性が生じる。ローカルキャッシュ111とミラーキャッシュ212の両方が残っていれば、動作を再開したCM110は、ローカルキャッシュ111のデータが二重化された状態で、そのローカルキャッシュ111を用いたアクセス制御を即座に再開することができる。
しかしながら、マシンダウンリカバリによってミラーリング関係にある2台のCMを復旧させるためには、各CMのダウンの要因が停電でなくソフトエラーであることを正確に判定できる必要がある。なぜなら、停電によってダウンしたCMは再起動することが不可能であり、このCM内のローカルキャッシュまたはミラーキャッシュのデータを他のCMがすぐに利用することは不可能であるからである。また、停電によってダウンしたCMにマシンダウンリカバリが指示された場合、ダウンしたCMのFPGAが上記の停電処理でなくマシンダウンリカバリを実行させようとすることで、そのCMのRAMに記憶されたデータが消失する可能性も高い。
CM間で監視コマンドを送信することでCMのダウンを検出するという前述の監視処理では、CMがダウンしたことは検出できても、ダウンの要因までは特定できない。このため、監視コマンドを用いた監視結果だけでは、マシンダウンリカバリを用いてCMを正しく復旧させることができない可能性がある、という問題がある。
このような問題に対し、本実施の形態では、停電が発生したCM(またはCE)の情報が停電監視情報531に登録され、その停電監視情報531が、他のCMのダウンを検出したマスタCMによって参照される、という仕組みが設けられる。
例えば、CM110のFPGA109は、PSU140の状態信号により停電を検出したときは、監視FPGA521に対し、停電発生を通知する。監視FPGA521は、停電監視情報531のCM110に対応する領域に停電フラグをセットする。また、FPGA109は、PSU140の状態信号により、PSU140が正常であることを検出したときは、監視FPGA521に対し、電源正常を通知する。監視FPGA521は、停電監視情報531のCM110に対応する領域の停電フラグをリセットする。なお、CM110とCM120とは、PSU140が共通であるが、診断はそれぞれのFPGAで行う。監視FPGA521は、CMごとの停電情報を停電監視情報531に登録する。他のCMのFPGAについても同様の処理が行われる。こうして、停電監視情報531には、CMごとに停電情報が登録される。
マスタCMは、他のCMのダウンを検出すると、監視FPGA521に対してそのCM110の停電情報を要求する。監視FPGA521は、停電監視情報531の該当CMについての停電フラグに基づいて、該当CMが停電していることを示す停電情報をマスタCMのFPGA109に送信する。マスタCMは、受信した停電情報に基づいて、ダウンしたCMのダウン要因が停電か否かを判定することができる。このように、マスタCMは、ダウンしたCMのダウン要因を正確に判定することで、判定されたダウン要因に応じた適切な処理の実行をダウンしたCMに指示することができる。したがって、ソフトエラーによってダウンしたCMのローカルキャッシュおよびミラーキャッシュのデータが消失する可能性が低減する。そして、ソフトエラーによってダウンしたCMを、そのCMのローカルキャッシュが二重化された状態で短時間に復旧させることができる確率が高まる。
なお、監視FPGA521は、FE500の電源FPSU540の状態信号を監視し、FPSU540の停電を検出する機能も備える。監視FPGA521は、FPSU540の停電を検出したときは、FPGA通信を介してCM110,120,210,220,310,320にFE500の停電を通知する。
図6は、CMの機能例を示すブロック図である。CM110は、ローカルキャッシュ111およびミラーキャッシュ112を有するキャッシュ部113と、制御部114と、監視部115と、テーブル記憶部116と、FPGA109とを有する。キャッシュ部113は、RAM102の所定の記憶領域に実装される。制御部114および監視部115は、例えば、プロセッサ101が実行するプログラムのモジュールとして実装される。テーブル記憶部116は、例えば、RAM102またはSSD103に確保した記憶領域として実装される。
制御部114は、ホスト装置600からのアクセス要求に応じて、ローカルキャッシュ111を用いながら、アクセス要求先のLUに対するアクセスを制御する。また、制御部114は、ローカルキャッシュ111に新たなライトデータが格納されると、そのライトデータの複製データをミラーキャッシュ212に格納するようにCM210に要求する。これにより、ローカルキャッシュ111とミラーキャッシュ212とをミラーリングする。また、制御部114は、CM320からの要求に応じて、CM320のローカルキャッシュ321に格納されたライトデータの複製データをミラーキャッシュ112に格納する。
監視部115は、監視コマンドの送信により他のCMの監視処理を実行する。また、CM110がマスタCMである場合、監視部115は、ダウンした他のCMを切り離す。また、監視部115は、ダウンした他のCMの停電情報の取得をFPGA109に指示し、停電情報を取得させる。監視部115は、ダウンしたCMの数や、ダウンしたCM間のミラーリング関係の有無、ダウンしたCMの停電情報から判別したダウン要因に基づいて、ダウンしたCMまたは全CMに実行させる処理を決定し、決定した処理の実行を指示する。実行させる処理としては、再起動、マシンダウンリカバリ、疑似停電処理(後述)などがある。
FPGA109は、PSU140の状態信号に基づいて、停電の発生および停電からの復旧を検出し、監視FPGA521に対し、検出された停電状態を示す停電情報を通知する。また、FPGA109は、PSU140の停電を検出したとき、CM110の停電処理を実行する。また、FPGA109は、監視部115からの指示に応じて、SVC520から他のCMの停電情報を取得する。また、FPGA109は、他のCMのFPGAからSVCを通じた指示に応じて、CM110の再起動、マシンダウンリカバリ、疑似停電処理を実行する。
テーブル記憶部116は、CM監視テーブルを格納する。CM監視テーブルには、CM110,120,210,220,310,320に関し、ダウン時に実行させる処理の判断などに用いる情報が登録される。
図7は、CM監視テーブルの例を示す図である。CM監視テーブル116aは、テーブル記憶部116に格納される。
CM監視テーブル116aには、監視部115が検出したストレージシステムのすべてのCMの状態が登録されている。CM監視テーブル116aのCMの項目には、各CM110,120,210,220,310,320を識別する情報が登録されている。図7の例では、CMに便宜的に割り当てた番号で識別している。具体的には、CM110に「CM01」、CM120に「CM02」、CM210に「CM03」、CM220に「CM04」、CM310に「CM05」、CM320に「CM06」を割り当てている。
状態の項目には、監視部115によって検出したCM110,120,210,220,310,320の状態が登録されている。「正常」は、CMが正常に動作している状態を示す。「ダウン」は、このCMとルータ510を介した通信ができなくなったことを示し、このCMが有するキャッシュを他のCM上に再配置するなどの復旧処理が必要な状態を示す。なお、「ダウン」が検出された後、切り離されたCMの状態は、「切り離し」が登録されるとする。
ミラーキャッシュの項目には、このCMのローカルキャッシュのミラーリング先のCMを識別する情報が登録されている。例えば、「CM01」(CM110)のローカルキャッシュ111のミラーリング先は、「CM03」(CM210)であることが登録される。ダウン要因の項目には、監視部115がSVC520から取得した停電監視情報531に基づいて検出した「停電」または「ソフトエラー」のいずれかのダウン要因が登録されている。統計加点値の項目には、監視部115が他のCMに監視コマンドを送信して応答が得られなかったときに加点する加点値を積算した統計加点値が登録されている。
このCM監視テーブル116aは、マスタCMが保持し、他のCMがダウンしたか否かの判定や、他のCMがダウンしたときの復旧処理において参照する。なお、現在稼働中のマスタCMがダウンし、他のCMがマスタダウンとなる場合を想定し、CM監視テーブル116aの少なくとも一部の情報をCM間で共有するようにしてもよい。例えば、所定の周期でマスタCMから他のCMにCM監視テーブル116aの内容を通知するとしてもよい。
図8は、CMによる停電監視処理の例を示すフローチャートである。図8に示す処理は、すべてのCMで実行する。図8では、CM110が実行する場合を示す。CM110による停電監視処理は、所定の周期で起動される。以下、図8に示す処理をステップ番号に沿って説明する。
(S11)FPGA109は、停電監視処理を開始すると、電力の供給を受けるPSU140の状態信号を読み出す。状態信号は、PSU140が正常であるか、異常(停電)であるかを示す。
(S12)FPGA109は、ステップS12で読み出したPSU140の状態信号に基づき、PSU140に停電が発生しているか否かを判定する。停電が発生しているときは、処理をステップS14に進め、停電が発生していないときは、処理をステップS13に進める。
(S13)FPGA109は、PSU140が正常であることを確認したので、SVC520の監視FPGA521にPSU140が正常である旨を通知する。FPGA109は、通知後、処理を終了する。
(S14)FPGA109は、PSU140に停電が発生しているときは、SVC520の監視FPGA521にPSU140の停電を通知する。また、停電の発生を制御部114に通知する。
(S15)FPGA109は、停電処理を実行する。停電処理では、RAM102に格納されているデータを例えばデータイメージとしてBUD108に書き込み、キャッシュデータなどを保護する。書き込みが完了すると、FPGA109は動作を停止する。これにより、CM110はシャットダウンする。
このように、CM110では、FPGA109がPSU140を監視し、停電監視情報153を管理するSVC520にPSU140が停電しているか正常であるかのいずれかの状態を通知する。なお、図8では、所定の周期で上記処理が実行されるとしたが、例えば、PSU140の状態信号に変化があったときに、FPGA109に割り込みが入るようにし、FPGA109がステップS12以降の処理を実行してもよい。
図9は、SVCによる停電監視処理の例を示すフローチャートである。以下、図9に示す処理をステップ番号に沿って説明する。
(S21)監視FPGA521は、FE500に電力を供給するFPSU540の状態信号を監視し、FPSU540に停電が発生したか否かを判定する。停電が発生していないときは、処理をステップS22に進め、停電が発生しているときは処理をステップS26に進める。
(S22)SVC520は、FPSU540が正常に動作しているときは、CM110,120,210,220,310,320のPSU140,240,340の監視処理を行う。SVC520は、監視FPGA521を介してCM110,120,210,220,310,320の検出した停電情報を取得したか否かを判定する。SVC520は、停電情報を取得したときは、処理をステップS23に進め、停電情報を取得していないときは処理をステップS21に戻す。
(S23)SVC520は、取得した停電情報に基づき、停電情報を送信したCMが停電しているか否かを判定する。CMが停電であれば処理をステップS24に進め、CMが停電でなければ処理をステップS25に進める。
(S24)SVC520は、CMから停電の通知があったので、停電監視情報531の該当CMに対応する停電フラグをセットし、処理をステップS21に戻す。
(S25)SVC520は、CMから正常の通知があったので、停電監視情報531の該当CMに対応する停電フラグをリセットし、処理をステップS21に戻す。
(S26)SVC520は、FPSU540に停電が発生しているので、全CM110,120,210,220,310,320に対し、FPGA通信を介してFE500の停電を通知する。
(S27)SVC520は、FPSU540が停電しているので、停電処理を行った後、動作を停止する。
このような処理により、FE500には、CM110,120,210,220,310,320が検出した停電状態が停電監視情報531に登録される。マスタCMは、必要に応じてSVC520に要求することによって、停電監視情報531に登録されている対象CMの停電状態を取得することができる。なお、CM110,120,210,220,310,320は、FE停電の通知を受けた場合には、停電処理を行って動作を停止する。なお、図9に示したフローチャートでは、SVC停電監視処理において、CMから停電情報を取得したか否かをチェックしているが、処理はこれに限定されない。例えば、停電情報の取得時にSVC520に割り込みを発生させ、割り込み処理によって停電情報を取得したときの処理を行うとしてもよい。
図10は、マスタCMによる監視処理の例を示すフローチャートである。図10では、CM110がマスタCMに設定されているものとする。図10の処理は、一定時間ごとに実行される。以下、図10に示す処理をステップ番号に沿って説明する。
(S31)マスタCM110の監視部115は、他のCMから対象CMを選択し、選択した対象CMに対して、ルータ510を経由して監視コマンドを送信する。
(S32)マスタCM110の監視部115は、対象CMからの応答が所定の期間得られない応答タイムアウトを監視する。監視部115は、応答タイムアウトが発生したときは、処理をステップS33に進める。応答が得られた場合は、処理をステップS39に進める。
(S33)マスタCM110の監視部115は、応答タイムアウトを検出したときは、応答が得られなかった対象CMに対応するCM監視テーブル116aの統計加点値に所定の点数を加点し、値を更新する。
(S34)マスタCM110の監視部115は、更新した統計加点値と、予め決められた閾値とを比較する。監視部115は、対象CMの統計加点値が閾値を超えているときは、対象CMがダウンしていると判定し、処理をステップS35に進める。監視部115は、統計加点値が閾値を超えていないときは、対象CMは正常であると判定し、処理をステップS39に進める。
(S35)マスタCM110の監視部115は、ダウンと判定した対象CMの停電情報の取得を、FPGA109に指示する。指示を受けたFPGA109は、SVC520に対し、ダウンと判定した対象CMの停電情報を要求する。SVC520は、記憶部530に格納された停電監視情報531から対象CMの停電情報を抽出し、マスタCM110に送信する。FPGA109は、受信した停電情報を監視部115に受け渡す。
(S36)マスタCM110の監視部115は、取得した停電情報に基づいて、ダウンと判定した対象CMが停電しているか否かを判定する。監視部115は、対象CMのダウン要因が停電であると判定したときは、処理をステップS37に進める。監視部115は、対象CMのダウン要因が停電ではないときは、ソフトエラーであると判定し、処理をステップS38に進める。
(S37)マスタCM110の監視部115は、ダウンと判定した対象CMに対応するCM監視テーブル116aの状態の項目に「ダウン」を登録し、ダウン要因の項目に「停電」を登録する。監視部115は、その後、処理をステップS39に進める。
(S38)マスタCM110の監視部115は、ダウンと判定した対象CMに対応するCM監視テーブル116aの状態の項目に「ダウン」を登録し、ダウン要因の項目に「ソフトエラー」を登録する。
(S39)マスタCM110の監視部115は、全CMについて、監視コマンド送信によるCMのダウン検出処理が終了したか否かを判定する。監視部115は、全CMについてダウン検出処理が終了したときは、処理をステップS40に進める。監視部115は、全CMについてダウン検出処理が終了していないときは、対象CMを検出処理が終了していない他のCMとし、処理をステップS31に戻す。
(S40)マスタCM110の監視部115は、更新したCM監視テーブル116aを参照し、ダウンを検出したCMが有るか否かを判定する。ダウンCMが検出されなかったときは、処理を終了する。ダウンCMが検出されたときは、処理を図11のステップS51に進める。
以上の処理手順が実行されることにより、CM監視テーブル116aが監視の結果に応じて更新される。なお、上記の処理手順では、統計加点値をマスタCM110の監視コマンド送信結果によって算出するとしていたが、他のCMも同様に監視コマンドを送信し、自装置以外のCMの監視を行うとしてもよい。例えば、他のCMは、監視コマンドの送信結果によって統計加点値を算出し、これをマスタCM320に通知する。マスタCM110の監視部115は、他のCMから取得した統計加点値を自装置が検出した統計加点値に加算する。
次に、更新したCM監視テーブル116aに基づき、ダウンを検出したCMが存在する場合の処理について説明する。図11は、マスタCMが他のCMのダウンを検出したときの処理の例を示すフローチャートである。図11では、図10と同様に、CM110がマスタCMに設定されているものとする。以下、図11に示す処理をステップ番号に沿って説明する。
(S51)マスタCM110の制御部114は、CM監視テーブル116aに基づき、状態の項目が「ダウン」となっている切り離し対象のCMの情報を抽出する。
(S52)マスタCM110の制御部114は、CM監視テーブル116aに基づき、抽出した切り離し対象CMとミラーリング関係にある他のCMの状態の項目をチェックする。例えば、切り離し対象CMがCM210(CM03)であるとすると、CM210のローカルキャッシュ211のミラーリング先であるCM310(CM05)が、チェックの対象になる。また、CM210のミラーキャッシュ212に対応する元データが格納されたローカルキャッシュ111を有するCM110(CM01)も、チェックの対象になる。制御部114は、切り離し対象CMとミラーリング関係にある少なくとも1つの他のCMがダウンしていれば、処理を図12に示すフローチャートのステップS61に進める。切り離し対象CMとミラーリング関係にある他のCMがいずれもダウンしていなければ、処理をステップS53に進める。
(S53)マスタCM110の制御部114は、CM監視テーブル116aに基づいて、切り離し対象CMのダウン要因を特定する。ダウン要因が「停電」であるときは、処理をステップS54に進める。ダウン要因が「停電」でないとき、すなわち「ソフトエラー」であるときは、処理をステップS55に進める。
(S54)マスタCM110の制御部114は、CM監視テーブル116aの対象CMに対応する状態の項目に「切り離し」を登録し、「停電」でダウンしている対象CMをストレージシステムから切り離す。
(S55)マスタCM110の制御部114は、CM監視テーブル116aの対象CMに対応する状態の項目に「切り離し」を登録し、「ソフトエラー」でダウンしている対象CMをストレージシステムから切り離す。また、制御部114は、対象CMを再起動させるようにFPGA109に指示する。FPGA109は、SVC520を介して対象CMのFPGAに再起動の実行を指示する。
なお、対象CMは、再起動後に、ミラーリング関係にある他のCMのローカルキャッシュまたはミラーキャッシュの内容に基づいて、対象CMのローカルキャッシュおよびミラーキャッシュを復元する。復元が完了すると、対象CMは再度システムに組み込まれ、通常動作を再開する。
(S56)マスタCM110の制御部114は、ダウンを検出したCMの中にステップS51以降の処理が済んでいないCMが有るか否かを判定する。未処理のダウンCMが有るときは、処理をステップS51に戻し、上記の処理を繰り返す。未処理のダウンCMがないときは、処理を終了する。
以上の処理手順が実行されることにより、ダウンを検出したCMとミラーリング関係にある他のCMがダウンしていないときは、ダウンを検出したCMはシステムから切り離される。また、ソフトエラーによってダウンしたCMは、再起動されることで復旧することができる。
次に、ミラーリング関係にあるCMがともにダウンしていた場合の処理について説明する。図12は、マスタCMがミラーリング関係にある2CMのダウンを検出したときの処理の例を示すフローチャートである。図12では、図10,11と同様に、CM110がマスタCMに設定されているものとする。また、図11に示したフローチャートの処理によって、ミラーリング関係にある2台のCMがともにダウンしていることが検出されているとする。便宜的に、ダウンを検出したミラーリング関係にある2台のCMをそれぞれ第1対象CM、第2対象CMとする。以下、図12に示す処理をステップ番号に沿って説明する。
(S61)マスタCM110の制御部114は、第2対象CMのダウン要因をCM監視テーブル116aから読み出す。なお、第2対象CMは、図11のステップS52でダウンしていると判定された他のCMに相当する。
(S62)マスタCM110の制御部114は、第2対象CMのダウン要因がソフトエラーであるか否かを判定する。制御部114は、ダウン要因がソフトエラーであるときは、処理をステップS63に進め、ダウン要因がソフトエラーでないときは、処理をステップS65に進める。
(S63)マスタCM110の制御部114は、第1対象CMのダウン要因がソフトエラーであるか否かを判定する。制御部114は、ダウン要因がソフトエラーであるときは、処理をステップS64に進め、ダウン要因がソフトエラーでないときは、処理をステップS65に進める。
(S64)マスタCM110の制御部114は、第1対象CMおよび第2対象CMのダウン要因がともにソフトエラーであるときは、全CMにマシンダウンリカバリを実行させる。具体的には、制御部114は、全CMにマシンダウンリカバリを実行させるようにFPGA109に指示する。FPGA109は、SVC520を介して他の全CMに対してマシンダウンリカバリの実行を指示する。なお、他のCMのうちダウンしていないCMに対しては、監視部115がルータ510を介してマシンダウンリカバリの実行を指示してもよい。
FPGA109は、他の全CMへのマシンダウンリカバリの実行を指示した後、CM110にマシンダウンリカバリを実行させる。これにより、CM110は、RAM102に格納されたデータを保持したまま、再起動する。
(S65)マスタCM110の制御部114は、第1対象CMまたは第2対象CMのいずれかのダウン要因がソフトエラーでないときは、全CMに対し、擬似停電処理を実行させる。疑似停電処理とは、停電していないCMが実行する、停電時の停電処理と同じ処理である。すなわち、疑似停電処理の実行を指示されたCMは、RAMのデータイメージをBUDにコピーし、コピーが完了した後にシャットダウンする。
制御部114は、他のCMのうち、停電していないすべてのCMに疑似停電処理を実行させるようにFPGA109に指示する。PPGA109は、SVC520を介して、停電していないすべてのCMに疑似停電処理の実行を指示する。なお、他のCMのうちダウンしていないCMに対しては、監視部115がルータ510を介して疑似停電処理の実行を指示してもよい。
FPGA109は、他の停電していないすべてのCMに疑似停電処理の実行を指示した後、CM110に疑似停電処理を実行させる。すなわち、FPGA109は、RAM102のデータイメージをBUD108にコピーし、コピーが完了すると動作を停止する。
上記の処理手順が実行されることにより、ミラーリング関係にある第1対象CMと第2対象CMが同時にダウンしたときは、それぞれのダウン要因を確認し、ダウン要因に適したデータの保護処理を行うことができる。マスタCMは、第1対象CMおよび第2対象CMがともにソフトエラーであるとき、全CMに対してマシンダウンリカバリを指示し、キャッシュ領域を含むメモリ内容を保持した状態での再起動を実行させる。
これにより、少なくとも、ミラーリング関係にある両CMのローカルキャッシュおよびミラーキャッシュのデータを消失することなく、両CMの動作が再開される確実性を高めることができる。また、複数のCMでソフトエラーが発生している場合、その他のCMでも今後にソフトエラーが発生する可能性がある。そのため、ミラーリング関係にあるCMだけでなく、その他の全CMにもマシンダウンリカバリを実行させることで、他のCMでのソフトエラーの発生を未然に防ぐことができる。
一方、第1対象CMまたは第2対象CMのいずれかのダウンが停電である場合、マシンダウンリカバリによって復旧できるのは一方のCMだけである。このため、ミラーリング関係にあるローカルキャッシュとミラーキャッシュのうちの一方だけしかすぐに利用できるようにはならず、そのローカルキャッシュのデータが二重化された状態ですぐに運用を再開することはできない。さらに、停電していないCMのマシンダウンリカバリに失敗してしまうと、二重化された両方のデータを消失してしまうというリスクもある。
このため、第1対象CMまたは第2対象CMのいずれかのダウンが停電である場合、停電していない全CMに疑似停電処理を実行させる。これにより、少なくとも、ミラーリング関係にあるローカルキャッシュおよびミラーキャッシュの両方のデータを消失する可能性を低減することができる。また、ミラーリング関係にあるCMが停電しているということは、複数のCEで停電が発生していることになる。このため、その他のCEでも停電が発生する可能性があると考えられる。そこで、停電していないCMについても疑似停電処理を実行させることで、停電の発生を未然に防ぎ、データ消失の可能性を低減することができる。
図13は、ミラーリング関係にあるCMがともに停電したときの処理の例を示すシーケンス図である。図13では、CM320がマスタCMに設定され、CM110,120,210,220が停電によってダウンしたとする。以下、図13に示す処理をステップ番号に沿って説明する。
(ST01)CE100の電源140がダウンし、CM110に停電が発生する。
(ST02)CM110のFPGA109は、電源140の状態信号を確認し、停電を検出する。FPGA1−9は、SVC520に停電の発生を通知する。
(ST03)電源140がダウンし、CM120に停電が発生する。
(ST04)CM120のFPGAは、電源140の状態信号を確認し、停電を検出する。CM120のFPGAは、SVC520に停電の発生を通知する。
(ST05)CE300の電源340がダウンし、CM210に停電が発生する。
(ST06)CM210のFPGAは、電源240の状態信号を確認し、停電を検出する。CM210のFPGAは、SVC520に停電の発生を通知する。
(ST07)電源240がダウンし、CM220に停電が発生する。
(ST08)CM220のFPGAは、電源240の状態信号を確認し、停電を検出する。CM220のFPGAは、SVC520に停電の発生を通知する。
(ST09)SVC520の監視FPGA521は、CM110,120,210,220の停電通知を取得し、停電監視情報531に停電通知を行ったCMの停電を登録する。
(ST10)マスタCMであるCM320は、ルータ510を介してCM110,120,210,220に監視コマンドを送信し、監視コマンドに対する応答の有無によってCMダウンを検出するCM間監視を行う。CM320は、CM110,120,210,220から応答が得られないことから、CM110,120,210,220のダウンを検出する。
(ST11)CM320は、ダウンを検出したCM、例えば、CM110のダウン要因が停電であるか否かを確認する。CM320は、SVC520に対し、CM110の停電情報を要求し、SVC520から停電監視情報531に基づくCM110の停電情報を取得する。図13の例では、CM320には、CM110は停電でダウンしていることが通知される。
(ST12)CM320は、ダウンを検出したCMとミラーリング関係にある他のCMがダウンしているか否かを確認する。図13の例では、CM110とミラーリング関係にあるCM210も停電でダウンしていることが確認される。CM320は、ミラーリング関係にあるCM210も停電でダウンしているので、全CMに対し、擬似停電処理の実行を指示する。なお、図13の例では、停電していないCMはCM310のみであるので、CM310に疑似停電処理の実行が指示される。
(ST13)CM320は、自装置も擬似停電処理を実行する。
図14は、ミラーリング関係にあるCMがともにソフトエラーでダウンしたときの処理の例を示すシーケンス図である。図14では、CM310がマスタCMに設定され、CM110,120,210,220がソフトエラーによってダウンしたとする。以下、図14に示す処理をステップ番号に沿って説明する。
(ST21)CM110にソフトエラーが発生する。CM110は、ソフトエラーのため、SVC520や他のCMにエラーを通知することができない。
(ST22)CM120にソフトエラーが発生する。CM120も同様に、エラーの通知はできない。
(ST23)CM210にソフトエラーが発生する。CM210も同様に、エラーの通知はできない。
(ST24)CM220にソフトエラーが発生する。CM220も同様に、エラーの通知はできない。
(ST25)マスタCMであるCM320は、ルータ510を介してCM110,120,210,220に監視コマンドを送信し、監視コマンドに対する応答の有無によってCMダウンを検出するCM間監視を行う。CM320は、CM110,120,210,220から応答が得られないことから、CM110,120,210,220のダウンを検出する。
(ST26)CM320は、ダウンを検出したCM、例えば、CM110のダウン要因が停電であるか否かを確認する。CM320は、SVC520に対し、CM110の停電情報を要求し、SVC520から停電監視情報531に基づくCM110の停電情報を取得する。図14の例では、CM320には、CM110に停電が発生していないことが通知される。これにより、CM320は、CM110はソフトエラーが発生していると判定する。
(ST27)CM320は、ダウンを検出したCMとミラーリング関係にある他のCMがダウンしているか否かを確認する。図14の例では、CM110とミラーリング関係にあるCM210もソフトエラーでダウンしていることが確認される。CM320は、ミラーリング関係にあるCM210もソフトエラーでダウンしているので、他の全CMに対し、マシンダウンリカバリの実行を指示する。
(ST28)CM320は、自装置もマシンダウンリカバリを実行する。
このように、マスタCMは、ミラーリング関係にある2CMが同時にダウンしたとき、ダウン要因がともにソフトエラーである場合は、全CMに対してマシンダウンリカバリを実行するように指示する。これにより、ソフトエラーが発生したCMのキャッシュデータが保持されたまま復旧する可能性を高くすることができる。
図15は、ソフトエラーの発生によりマシンダウンリカバリが実行されたCMでの復旧処理例を示すフローチャートである。図15では、図14の例のように、ミラーリング関係にあるCM110,210でソフトエラーが発生し、それに伴ってCM110,210がマシンダウンリカバリを実行した場合のCM110の処理について示す。以下、図15に示す処理をステップ番号に沿って説明する。
(S71)CM110が再起動し、監視部115の処理が再開される。
(S72)監視部115は、CM監視テーブル116aに基づき、CM110のローカルキャッシュ111のミラーリング先のCMをCM210と特定する。監視部115は、CM210に対してCM210のミラーキャッシュ212のデータ読み出しを要求する。監視部115は、ミラーキャッシュ212から読み出されたデータと、ローカルキャッシュ111に格納されたデータとを照合し、これらの整合性を確認する。
(S73)監視部115は、これらのデータが整合しているかを判定する。整合している場合、処理をステップS74に進める。整合していない場合、処理をステップS76に進める。
(S74)監視部115は、CM監視テーブル116aに基づき、CM110のミラーキャッシュ112の元データが格納されているCMをCM310と特定する。監視部115は、CM310に対してCM310のローカルキャッシュ311のデータ読み出しを要求する。監視部115は、ローカルキャッシュ311から読み出されたデータをミラーキャッシュ112に書き込み、ミラーキャッシュ112のデータを復元する。
(S75)監視部115は、CM110の動作を再開させる。すなわち、制御部114によるLUへのアクセス制御が再開される。
(S76)データが整合していない場合、CM110がマシンダウンリカバリに失敗した可能性がある。この場合、監視部115は、他の装置(例えば、SVC520)にCM110で動作を継続不可能なエラーが発生したことを通知する。
(S77)監視部115は、CM110をシャットダウンする。
このように、ソフトエラーが発生し、マシンダウンリカバリが実行されたCMは、自装置内のローカルキャッシュがミラーリング先のデータと整合するかを確認し、整合した場合のみ通常の動作を再開する。これにより、正しく復旧したCMの動作だけを早急に開始させることができ、復旧時間を短縮しつつその信頼性を向上させることができる。
なお、第1の実施の形態の情報処理は、情報処理装置10,20,30に用いられるプロセッサに、プログラムを実行させることで実現できる。第2の実施の形態の情報処理は、CM110が有するプロセッサ101およびCM120,210,220,310,320が有するプロセッサにプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体に記録できる。
例えば、プログラムを記録した記録媒体を配布することで、プログラムを流通させることができる。また、CM110が有する制御部114およびCM120,210,220,310,320が有する制御部に相当する機能を実現するプログラムを別個のプログラムとし、各プログラムを別個に配布してもよい。CM110が有する制御部114およびCM120,210,220,310,320が有する制御部の機能が別個のコンピュータにより実現されてもよい。コンピュータは、例えば、記録媒体に記録されたプログラムを、RAM102やSSD103に格納し(インストールし)、当該記憶装置からプログラムを読み込んで実行してもよい。
10,20,30 情報処理装置
11,21,31 制御部
11a,21a 停電信号
12,22 メモリ
12a キャッシュ領域
13,23 電源
22a ミラーキャッシュ領域
40 監視部
41 記憶部

Claims (8)

  1. キャッシュ領域を有する第1のメモリと、前記第1のメモリに電力を供給する第1の電源と、前記第1の電源を監視し、停電を検知すると第1の停電信号を出力する第1の制御部と、を備える第1の情報処理装置と、
    前記キャッシュ領域に記憶されたデータのミラーデータを記憶するミラーキャッシュ領域を有する第2のメモリと、前記第2のメモリに電力を供給する第2の電源と、前記第2の電源を監視し、停電を検知すると第2の停電信号を出力する第2の制御部と、を備える第2の情報処理装置と、
    前記第1の停電信号の有無と前記第2の停電信号の有無とに基づく停電監視情報を記憶する記憶部と、
    前記第1の情報処理装置と前記第2の情報処理装置の動作を監視し、その両方の動作停止を検知したとき、前記停電監視情報に基づいて前記第1の情報処理装置と前記第2の情報処理装置の停電状態を判定し、いずれも停電していない場合には、前記第1のメモリのデータを保持した状態で前記第1の情報処理装置を再起動させるとともに、前記第2のメモリのデータを保持した状態で前記第2の情報処理装置を再起動させる第3の情報処理装置と、
    を有する情報処理システム。
  2. 前記第1の停電信号の有無と前記第2の停電信号の有無とに基づいて、前記停電監視情報として、前記第1の情報処理装置と前記第2の情報処理装置のうち停電した装置を示す情報を前記記憶部に記憶する監視部をさらに有する、
    請求項1記載の情報処理システム。
  3. 前記第3の情報処理装置は、前記第1の情報処理装置が停電しており、前記第2の情報処理装置が停電していないと判定した場合、前記第2の情報処理装置に対し、停電時に行う停電処理の実行を指示する、
    請求項1または2記載の情報処理システム。
  4. 前記第2の情報処理装置は、前記第2のメモリのバックアップ用の不揮発性記憶装置をさらに有し、
    前記第2の制御部は、前記停電処理の実行指示に応じて、前記第2のメモリに記憶されたデータを前記不揮発性記憶装置へ転送した後、前記第2の電源による電力供給を停止させる、
    請求項3記載の情報処理システム。
  5. 前記第1の情報処理装置は、当該第1の情報処理装置が前記第1のメモリのデータを保持した状態で再起動した後、前記キャッシュ領域に記憶されたデータと前記ミラーキャッシュ領域に記憶されたデータとを照合し、照合に成功した場合に、前記キャッシュ領域を用いた所定記憶装置へのアクセス制御処理を開始する第3の制御部をさらに有する、
    請求項1乃至4のいずれか1項に記載の情報処理システム。
  6. 前記第3の情報処理装置は、
    前記第1の情報処理装置に第1の監視信号を送信し、前記第1の監視信号に対する応答の有無に基づいて前記第1の情報処理装置が動作しているかを判定し、
    前記第2の情報処理装置に第2の監視信号を送信し、前記第2の監視信号に対する応答の有無に基づいて前記第2の情報処理装置が動作しているかを判定する、
    請求項1乃至5のいずれか1項に記載の情報処理システム。
  7. キャッシュ領域を有する第1のメモリを備える第1の情報処理装置と、前記キャッシュ領域に記憶されたデータのミラーデータを記憶するミラーキャッシュ領域を有する第2のメモリを備える第2の情報処理装置と、記憶部と通信するインタフェースと、
    前記第1の情報処理装置と前記第2の情報処理装置の動作を監視し、その両方の動作停止を検知したとき、前記第1のメモリに電力を供給する第1の電源が停電したことを示す第1の停電信号の、前記第1の情報処理装置からの出力の有無と、前記第2のメモリに電力を供給する第2の電源が停電したことを示す第2の停電信号の、前記第2の情報処理装置からの出力の有無とに基づく停電監視情報を、前記記憶部から取得し、取得した前記停電監視情報に基づいて、前記第1の情報処理装置と前記第2の情報処理装置の停電状態を判定し、いずれも停電していない場合には、前記第1のメモリのデータを保持した状態で前記第1の情報処理装置を再起動させるとともに、前記第2のメモリのデータを保持した状態で前記第2の情報処理装置を再起動させる制御部と、
    を有する制御装置。
  8. コンピュータに、
    キャッシュ領域を有する第1のメモリを備える第1の情報処理装置と、前記キャッシュ領域に記憶されたデータのミラーデータを記憶するミラーキャッシュ領域を有する第2のメモリを備える第2の情報処理装置の動作を監視し、
    前記第1の情報処理装置と前記第2の情報処理装置の動作停止を検知したとき、前記第1のメモリに電力を供給する第1の電源が停電したことを示す第1の停電信号の、前記第1の情報処理装置からの出力の有無と、前記第2のメモリに電力を供給する第2の電源が停電したことを示す第2の停電信号の、前記第2の情報処理装置からの出力の有無とに基づく停電監視情報を、記憶部から取得し、取得した前記停電監視情報に基づいて、前記第1の情報処理装置と前記第2の情報処理装置の停電状態を判定し、
    いずれも停電していない場合には、前記第1のメモリのデータを保持した状態で前記第1の情報処理装置を再起動させるとともに、前記第2のメモリのデータを保持した状態で前記第2の情報処理装置を再起動させる、
    処理を実行させる制御プログラム。
JP2015093247A 2015-04-30 2015-04-30 情報処理システム、制御装置および制御プログラム Active JP6540202B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015093247A JP6540202B2 (ja) 2015-04-30 2015-04-30 情報処理システム、制御装置および制御プログラム
US15/081,997 US10235255B2 (en) 2015-04-30 2016-03-28 Information processing system and control apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015093247A JP6540202B2 (ja) 2015-04-30 2015-04-30 情報処理システム、制御装置および制御プログラム

Publications (2)

Publication Number Publication Date
JP2016212506A JP2016212506A (ja) 2016-12-15
JP6540202B2 true JP6540202B2 (ja) 2019-07-10

Family

ID=57205758

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015093247A Active JP6540202B2 (ja) 2015-04-30 2015-04-30 情報処理システム、制御装置および制御プログラム

Country Status (2)

Country Link
US (1) US10235255B2 (ja)
JP (1) JP6540202B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018196209A (ja) * 2017-05-15 2018-12-06 富士通株式会社 電源監視装置、ストレージ装置及び電源監視方法
CN111176109B (zh) * 2020-01-19 2024-03-26 鲨湾科技(青岛)有限公司 基于双独立控制系的车辆智控系统和车辆
DE102020114844B4 (de) * 2020-06-04 2024-07-25 Infineon Technologies Ag Systeme, vorrichtungen und verfahren für steuerungsvorrichtungen, die fehlerereignisse behandeln
US11467850B2 (en) * 2020-11-11 2022-10-11 Micron Technology, Inc. Computing device reboot
US11747373B2 (en) * 2020-12-04 2023-09-05 International Business Machines Corporation Detecting electrical power line disturbances

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004038290A (ja) * 2002-06-28 2004-02-05 Toshiba Corp 情報処理システムおよび同システムで用いられるディスク制御方法
JP2004206239A (ja) * 2002-12-24 2004-07-22 Pfu Ltd Raid装置
WO2004114116A1 (ja) 2003-06-19 2004-12-29 Fujitsu Limited キャッシュ二重化方式におけるミラーキャッシュからの書き戻し方法
JP4640071B2 (ja) * 2005-09-21 2011-03-02 富士通株式会社 情報処理装置、情報処理復旧方法及び情報処理復旧プログラム
JP2010160654A (ja) 2009-01-07 2010-07-22 Nec System Technologies Ltd キャッシュメモリバックアップ装置、方法およびプログラム
JP5454177B2 (ja) * 2010-02-01 2014-03-26 富士通株式会社 ディスクアレイ装置及びディスクアレイ装置制御方法
JP2011170589A (ja) * 2010-02-18 2011-09-01 Nec Corp ストレージ制御装置、ストレージ装置およびストレージ制御方法
US8463825B1 (en) * 2010-04-27 2013-06-11 Tintri Inc. Hybrid file system for virtual machine storage
JP5488346B2 (ja) * 2010-08-30 2014-05-14 富士通株式会社 ストレージシステム、制御装置および制御方法
US9122471B2 (en) * 2012-12-07 2015-09-01 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Identification of power source electrical connectivity
JP6135276B2 (ja) 2013-04-23 2017-05-31 富士通株式会社 ストレージ装置、制御装置、および制御プログラム
JP5963228B2 (ja) * 2013-05-30 2016-08-03 株式会社日立製作所 ストレージシステム及びデータバックアップ方法

Also Published As

Publication number Publication date
US20160321146A1 (en) 2016-11-03
US10235255B2 (en) 2019-03-19
JP2016212506A (ja) 2016-12-15

Similar Documents

Publication Publication Date Title
US9047219B2 (en) Storage system, storage control device, and storage control method
US8943358B2 (en) Storage system, apparatus, and method for failure recovery during unsuccessful rebuild process
JP6540202B2 (ja) 情報処理システム、制御装置および制御プログラム
US8990617B2 (en) Fault-tolerant computer system, fault-tolerant computer system control method and recording medium storing control program for fault-tolerant computer system
US8762648B2 (en) Storage system, control apparatus and control method therefor
JP2008046986A (ja) ストレージシステム
US20050240809A1 (en) Configuring cache memory from a storage controller
JP2007058419A (ja) Pld上のメモリ内の情報に従って構築される論理回路を備えたストレージシステム
JP2004038290A (ja) 情報処理システムおよび同システムで用いられるディスク制御方法
US20170139605A1 (en) Control device and control method
JP2011170589A (ja) ストレージ制御装置、ストレージ装置およびストレージ制御方法
GB2412482A (en) System and method for drive recovery following a drive failure
US8782465B1 (en) Managing drive problems in data storage systems by tracking overall retry time
US20160321175A1 (en) Storage system and control apparatus
CN111240903A (zh) 数据恢复方法及相关设备
US20090177916A1 (en) Storage system, controller of storage system, control method of storage system
US20100180131A1 (en) Power management mechanism for data storage environment
US8732531B2 (en) Information processing apparatus, method of controlling information processing apparatus, and control program
KR20220008237A (ko) 임시 스토리지에 대한 데이터 복원을 위한 시스템 및 장치
JP3776438B2 (ja) 記憶装置
US10528275B2 (en) Storage system, storage control device, and method of controlling a storage system
US20150019822A1 (en) System for Maintaining Dirty Cache Coherency Across Reboot of a Node
TWI756007B (zh) 用以進行全快閃記憶體陣列伺服器的高可用性管理的方法與設備
CN109343986B (zh) 处理内存故障的方法与计算机系统
JP2014106811A (ja) 記憶装置、冗長性回復方法、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190301

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190527

R150 Certificate of patent or registration of utility model

Ref document number: 6540202

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150