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

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

Info

Publication number
JP6802484B2
JP6802484B2 JP2017022722A JP2017022722A JP6802484B2 JP 6802484 B2 JP6802484 B2 JP 6802484B2 JP 2017022722 A JP2017022722 A JP 2017022722A JP 2017022722 A JP2017022722 A JP 2017022722A JP 6802484 B2 JP6802484 B2 JP 6802484B2
Authority
JP
Japan
Prior art keywords
power failure
information
storage
processing
storage unit
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
JP2017022722A
Other languages
English (en)
Other versions
JP2018128939A (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 JP2017022722A priority Critical patent/JP6802484B2/ja
Priority to US15/885,950 priority patent/US10642674B2/en
Publication of JP2018128939A publication Critical patent/JP2018128939A/ja
Application granted granted Critical
Publication of JP6802484B2 publication Critical patent/JP6802484B2/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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • 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
    • G06F11/3062Monitoring 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 where the monitored property is the power consumption
    • 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/2015Redundant power supplies
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating

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)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Retry When Errors Occur (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、ストレージ制御装置、ストレージ制御プログラムおよびストレージ制御方法に関する。
ストレージ制御装置は、HDD(Hard Disk Drive)やSSD(Solid State Drive)などのストレージデバイスに対するアクセスを制御する。ストレージ制御装置は、データを格納する揮発性記憶装置を備える。揮発性記憶装置に格納されているデータは、ストレージ制御装置で停電が発生したときに消失する。そこで、揮発性記憶装置に格納されているデータの消失を防止する技術が提案されている。例えば、ストレージ装置は、停電時にバッテリの放電時間内でキャッシュメモリに格納されているデータをフラッシュメモリに退避する。また、例えば、ストレージ装置は、停電時にバッテリから電力の供給されている間に、RAM(Random Access Memory)のメモリログ域に格納されているログデータをRAMのライト用バッファにコピーする。ストレージ装置は、ライト用バッファにコピーしたログデータをフラッシュメモリに書き込む。
国際公開第2009/107213号 特開2014−120092号公報
ストレージ制御装置は、停電と停電以外の異常とが同時期に発生する場合がある。ストレージ制御装置は、停電に伴う停電処理と停電以外の異常に伴う異常処理とを実行したときに、十分なバッテリ容量がない場合に処理が完了しない場合がある。例えば、ストレージ制御装置は、バッテリから電力の供給を受けて異常処理を実行した後、バッテリの容量が無くなったときに停電処理を完了できない。そのため、ストレージ制御装置は、バックアップできなかったデータを消失し得る。
一方、十分な容量のバッテリを確保することで、ストレージ制御装置は、データの消失を防止することができる。しかし、バッテリ容量の拡大は、コストが高くなる。
1つの側面では、本発明は、低コストにデータの消失を防止することができるストレージ制御装置、ストレージ制御プログラムおよびストレージ制御方法を提供することを目的とする。
1つの態様では、ストレージデバイスを制御対象とするストレージ制御装置が提供される。このストレージ制御装置は、揮発性の第1の記憶部と不揮発性の第2の記憶部と制御部とを含む。第1の記憶部は、ストレージデバイスの制御に関する第1の情報を含むバックアップ対象データを記憶する。制御部は、停電を検出してバックアップ対象データを第2の記憶部に書き込む停電処理と、停電以外の異常を検出して異常検出時のハードウェアの状態に関する第2の情報を取得して第1の情報と第2の情報とを第2の記憶部に書き込む異常処理と、停電処理の実行中に異常を検出した場合に停電処理を中断して第2の情報を取得して異常処理に替えてバックアップ対象データのうち停電処理で第2の記憶部に未書き込みのデータと第2の情報とを第2の記憶部に書き込む停電中断バックアップ処理と、を実行する。
また、1つの態様では、ストレージ制御プログラムが提供される。このストレージ制御プログラムは、ストレージデバイスを制御対象とするストレージ制御装置に、停電を検出して揮発性の第1の記憶部が記憶するストレージデバイスの制御に関する第1の情報を含むバックアップ対象データを不揮発性の第2の記憶部に書き込む停電処理と、停電以外の異常を検出して異常検出時のハードウェアの状態に関する第2の情報を取得して第1の情報と第2の情報とを第2の記憶部に書き込む異常処理と、停電処理の実行中に異常を検出した場合に停電処理を中断して第2の情報を取得して異常処理に替えてバックアップ対象データのうち停電処理で第2の記憶部に未書き込みのデータと第2の情報とを第2の記憶部に書き込む停電中断バックアップ処理と、を実行する、処理を実行させる。
また、1つの態様では、ストレージ制御方法が提供される。このストレージ制御方法は、ストレージデバイスを制御対象とするストレージ制御装置が、停電を検出して揮発性の第1の記憶部が記憶するストレージデバイスの制御に関する第1の情報を含むバックアップ対象データを不揮発性の第2の記憶部に書き込む停電処理と、停電以外の異常を検出して異常検出時のハードウェアの状態に関する第2の情報を取得して第1の情報と第2の情報とを第2の記憶部に書き込む異常処理と、停電処理の実行中に異常を検出した場合に停電処理を中断して第2の情報を取得して異常処理に替えてバックアップ対象データのうち停電処理で第2の記憶部に未書き込みのデータと第2の情報とを第2の記憶部に書き込む停電中断バックアップ処理と、を実行する。
1つの側面では、低コストにデータの消失を防止することができる。
第1の実施の形態のストレージ制御装置の一例を示す図である。 第2の実施の形態のストレージシステムの一例を示す図である。 第2の実施の形態のCEのハードウェアの一例を示す図である。 第2の実施の形態のCMの機能の一例を示す図である。 第2の実施の形態の停電テーブルの一例を示す図である。 第2の実施の形態の書き込み管理テーブルの一例を示す図である。 第2の実施の形態のダンプ状況テーブルの一例を示す図である。 第2の実施の形態のソフトウェア情報の一例を示す図である。 第2の実施の形態のハードウェア情報の一例を示す図である。 第2の実施の形態の停電処理のフローチャートの一例を示す図である。 第2の実施の形態のパニック処理のフローチャートの一例を示す図(その1)である。 第2の実施の形態のパニック処理のフローチャートの一例を示す図(その2)である。 第2の実施の形態のパニック処理のフローチャートの一例を示す図(その3)である。 第2の実施の形態の停電処理中にファームウェアの異常が発生した場合の具体例を示す図(その1)である。 第2の実施の形態の停電処理中にファームウェアの異常が発生した場合の具体例を示す図(その2)である。 第2の実施の形態の停電処理中にファームウェアの異常が発生した場合の具体例を示す図(その3)である。 第2の実施の形態のパニック処理中に停電が発生した場合の具体例を示す図(その1)である。 第2の実施の形態のパニック処理中に停電が発生した場合の具体例を示す図(その2)である。 第2の実施の形態の復電処理のフローチャートの一例を示す図である。
以下、本実施の形態について図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態のストレージ制御装置の一例を示す図である。ストレージ制御装置1は、ストレージデバイス2を制御対象とする。ストレージ制御装置1は、第1の記憶部1aと第2の記憶部1bと制御部1cを含む。
バッテリ3は、ストレージ制御装置1に接続されている。バッテリ3は、ストレージ制御装置1で停電が発生したとき、ストレージ制御装置1に電力を供給する。なお、バッテリ3は、ストレージ制御装置1の内部に設けられてもよい。
第1の記憶部1aは、RAMなどの揮発性記憶装置である。第1の記憶部1aは、バックアップ対象データ1a1を記憶する。バックアップ対象データ1a1は、第1の情報1a2を含む。第1の情報1a2は、ストレージデバイス2の制御に関する情報である。例えば、第1の情報1a2は、ストレージデバイス2の制御に関係するOS(Operating System)の情報、ドライバ情報、ファームウェアの管理情報、ストレージデバイス2のRAID(Redundant Arrays of Inexpensive Disks)に関する情報などである。第2の記憶部1bは、HDDやフラッシュメモリなどの不揮発性記憶装置である。
制御部1cは、停電処理を実行可能である。制御部1cは、停電を検出した場合に停電処理を実行する。制御部1cは、停電処理において、停電を検出してバックアップ対象データ1a1を第2の記憶部1bに書き込む。
制御部1cは、異常処理を実行可能である。制御部1cは、停電以外の異常を検出した場合に異常処理を実行する。例えば、停電以外の異常とは、ファームウェアの異常である。制御部1cは、異常処理において、停電以外の異常を検出して第2の情報1dを取得する。第2の情報1dは、異常検出時のハードウェアの状態に関する情報である。例えば、第2の情報1dは、異常検出時のストレージ制御装置1内の部品が故障しているか否かを示す情報、異常検出時のストレージ制御装置1内の温度を示す情報などである。なお、制御部1cは、ストレージ制御装置1が含む記憶装置から第2の情報1dを取得してもよい。例えば、記憶装置は、FPGA(Field Programmable Gate Array)が含むメモリである。制御部1cは、第2の情報1dを取得した後、第1の情報1a2と第2の情報1dとを第2の記憶部1bに書き込む。
制御部1cは、停電中断バックアップ処理を実行可能である。制御部1cは、停電処理の実行中に停電以外の異常を検出した場合に停電中断バックアップ処理を実行する。制御部1cは、停電中断バックアップ処理において、停電処理の実行中に停電以外の異常を検出した場合に停電処理を中断する。制御部1cは、第2の情報1dを取得する。制御部1cは、異常処理に替えてバックアップ対象データ1a1のうち停電処理で第2の記憶部1bに未書き込みのデータと第2の情報1dとを第2の記憶部1bに書き込む。
図1の第2の記憶部1bは、停電処理を中断した時点でバックアップ対象データ1a1の一部が第2の記憶部1bの領域1b1に書き込まれている状態の例を示している。制御部1cは、停電処理を中断した後、第2の情報1dを取得する。制御部1cは、異常処理に替えて、バックアップ対象データ1a1のうち停電処理で第2の記憶部1bに未書き込みのデータと第2の情報1dとを第2の記憶部1bの領域1b2に書き込む。
第1の実施の形態によれば、ストレージ制御装置1は、バックアップ対象データ1a1と第2の情報1dとを第2の記憶部1bに書き込むため、バックアップ対象データ1a1と第2の情報1dとの消失を防止することができる。
第1の実施の形態によれば、ストレージ制御装置1は、停電中断バックアップ処理で停電処理を中断した後、バックアップ対象データ1a1のうち停電処理で第2の記憶部1bに未書き込みのデータと第2の情報1dとを第2の記憶部1bに書き込む。仮にストレージ制御装置1が停電中断バックアップ処理を実行しない場合、ストレージ制御装置1は、停電処理の実行中に停電以外の異常を検出し、停電処理を中断し、異常処理を実行した後、中断した状態からの停電処理の再開または停電処理を初めからやり直す。このように、仮にストレージ制御装置1が停電中断バックアップ処理を実行しない場合は、ストレージ制御装置1が停電中断バックアップ処理を実行する場合に比べて、停電処理を中断した後の処理量が多い。停電中断バックアップ処理を実行しない場合、ストレージ制御装置1は、処理量が多いため、十分なバッテリ容量を確保することで停電処理を中断した後の処理を実行完了できる。十分なバッテリ容量を確保するためには、バッテリ容量を拡大する。例えば、バッテリ3のバッテリ容量が、拡大される。しかし、バッテリ3のバッテリ容量の拡大は、コストが高くなる。
一方、ストレージ制御装置1が停電中断バックアップ処理を実行する場合は、仮にストレージ制御装置1が停電中断バックアップ処理を実行しない場合と比べて、停電処理を中断した後の処理量が少ない。停電中断バックアップ処理を実行するストレージ制御装置1は、停電処理を中断した後の処理量が少ないため、バッテリ3のバッテリ容量を拡大することなく、停電中断バックアップ処理を実行完了できる。
よって、第1の実施の形態によれば、ストレージ制御装置1は、低コストにデータの消失を防止することができる。
[第2の実施の形態]
図2は、第2の実施の形態のストレージシステムの一例を示す図である。ストレージシステムは、CE(Controller Enclosure)100、DE(Drive Enclosure)200およびホスト装置300を有する。CE100とDE200とは、1つの筐体に搭載されたストレージ装置として実現可能である。
CE100は、CM(Controller Module)110を有する。CM110とホスト装置300は、ネットワークを介して接続する。例えば、CM110とホスト装置300は、ファイバチャネル(FC:Fibre Channel)などの伝送方式で接続する。CM110は、ホスト装置300からDE200へのアクセスを制御する。
DE200は、複数の記憶装置を搭載可能なディスクアレイ装置である。DE200は、記憶装置としてHDDを搭載する。また、DE200は、記憶装置としてSSDを搭載してもよい。
なお、CM110は、第1の実施の形態のストレージ制御装置1の一形態である。DE200は、第1の実施の形態のストレージデバイス2の一形態である。
図3は、第2の実施の形態のCEのハードウェアの一例を示す図である。CE100は、CM110以外にPSU(Power Supply Unit)120およびバッテリ130を有する。
CM110は、プロセッサ111、RAM112、BUD(Bootup and Utility Device)113、NVRAM(Non-Volatile RAM)114、DI(Device Interface)115、CA(Channel Adapter)116、FPGA117および電源回路118を有する。
プロセッサ111は、CM110の情報処理を制御する。プロセッサ111は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)などを含み得る。プロセッサ111は、複数のプロセッシング要素を含むマルチプロセッサであってもよい。
RAM112は、CM110の主記憶装置である。RAM112は、プロセッサ111に実行させるOSのプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。RAM112は、プロセッサ111による処理に用いる各種データを記憶する。
BUD113は、PSU120からの電力供給停止時にRAM112に格納されているデータの保護に用いられる不揮発性記憶装置である。例えば、BUD113は、SSDである。
NVRAM114は、CM110の補助記憶装置である。NVRAM114は、不揮発性記憶装置である。NVRAM114は、ファームウェアのプログラムや各種データなどを記憶する。
DI115は、DE200と通信するためのインタフェースである。CA116は、ホスト装置300と通信するためのインタフェースである。
FPGA117は、CM110で停電が発生したか否かを監視する。電源回路118は、FPGA117の制御の下で、CM110内の各部に対してPSU120からの電力を供給する。また、電源回路118は、FPGA117からの指示に応じて、PSU120からの電力供給とバッテリ130からの電力供給とを切り替える。
PSU120は、外部から商用電源の供給を受けて、CM110に電力を供給する。バッテリ130は、PSU120からCM110に対する電力供給が停止した時にプロセッサ111、RAM112、BUD113、FPGA117に電力を供給する。
なお、RAM112は、第1の実施の形態の第1の記憶部1aの一形態である。BUD113は、第1の実施の形態の第2の記憶部1bの一形態である。
図4は、第2の実施の形態のCMの機能の一例を示す図である。CM110は、割込み処理部140、停電処理部150およびダンプ制御部160を有する。
割込み処理部140、停電処理部150およびダンプ制御部160は、プロセッサ111が所定のプログラムを実行することによって実現される。
割込み処理部140は、FPGA117からNMI(Non Maskable Interrupt)割込みを受信する。また、割込み処理部140は、NMI割込みの解除などを実行する。
停電処理部150は、CM110に停電が発生した場合、RAM112に格納されているデータのうち、バックアップ対象のデータをBUD113に書き込む。停電処理部150は、バックアップ対象のデータをBUD113に書き込む際、バックアップ対象のデータを所定の大きさに分割する。停電処理部150は、バックアップ対象のデータを分割したデータブロックをBUD113に書き込む。
ダンプ制御部160は、プロセッサ111が実行するファームウェアに異常が発生したときにパニック処理を実行する。パニック処理については、後で詳細に説明する。また、ダンプ制御部160は、復電したときに復電処理を実行する。復電処理については、後で詳細に説明する。
BUD113について、詳細に説明する。BUD113は、バックアップ領域113aおよびダンプ格納領域113bを有する。バックアップ領域113aは、RAM112に格納されているデータのバックアップ先である。ダンプ格納領域113bは、後述するダンプファイルを格納する。
図5は、第2の実施の形態の停電テーブルの一例を示す図である。NVRAM114は、停電テーブル114aの情報を記憶する。停電テーブル114aは、停電フラグ、完了フラグの項目を含む。停電フラグの項目は、停電が発生した(true)、停電が発生していない(false)の何れかを示す。完了フラグの項目は、RAM112からバックアップ領域113aへのデータのバックアップが完了した(true)、未完了(false)の何れかを示す。
図6は、第2の実施の形態の書き込み管理テーブルの一例を示す図である。NVRAM114は、書き込み管理テーブル114bの情報を記憶する。書き込み管理テーブル114bは、RAMアドレス、BUDアドレスの項目を含む。RAMアドレスの項目は、RAM112に格納されているバックアップ対象のデータの読み出し位置を示す。CM110は、RAMアドレスの項目を参照することで、RAM112に格納されているバックアップ対象のデータのうち、どのデータまでバックアップ領域113aに書き込んだかを特定することができる。言い換えると、CM110は、RAMアドレスの項目を参照することで、RAM112に格納されているバックアップ対象のデータのうち、バックアップ領域113aに未書き込みのデータを特定できる。
BUDアドレスの項目は、RAM112から読み出したデータをバックアップ領域113aに書き込む位置を示す。
図7は、第2の実施の形態のダンプ状況テーブルの一例を示す図である。NVRAM114は、ダンプ状況テーブル114cの情報を記憶する。ダンプ状況テーブル114cは、状況の項目を含む。状況の項目は、ダンプファイルを作成してからダンプ格納領域113bにダンプファイルを格納するまでの状況を示す。状況の項目は、作成中、書き込み中、完了の何れかを示す。
図8は、第2の実施の形態のソフトウェア情報の一例を示す図である。RAM112は、ソフトウェア情報112aを記憶する。ソフトウェア情報112aは、システム情報、固定割当て情報、動的割当て情報を含む。
システム情報は、OSに関する情報を含む。固定割当て情報は、CM110の構成情報、ドライバ情報、RAIDに関する情報を含む。動的割当て情報は、ファームウェアの管理情報を含む。ソフトウェア情報112aは、システム情報など以外に他の情報を含んでもよい。例えば、ソフトウェア情報112aは、ログ情報を含んでもよい。
なお、ソフトウェア情報112aは、第1の実施の形態の第1の情報1a2の一形態である。
図9は、第2の実施の形態のハードウェア情報の一例を示す図である。FPGA117は、ハードウェア情報117aを記憶する。ハードウェア情報117aは、電圧アラーム情報、接続部品アラーム情報、温度情報などを含む。電圧アラーム情報は、ファームウェアに異常が発生したときのCM110内の電圧が所定の電圧を超えているか否かを示す。接続部品アラーム情報は、ファームウェアに異常が発生したときのCM110内の部品が故障しているか否かを示す。温度情報は、ファームウェアに異常が発生したときのCM110内の温度を示す。
なお、ハードウェア情報117aは、第1の実施の形態の第2の情報1dの一形態である。
図10は、第2の実施の形態の停電処理のフローチャートの一例を示す図である。CM110は、停電が発生したときに停電処理を実行する。また、バッテリ130は、停電が発生したとき、プロセッサ111、RAM112、BUD113、FPGA117に電力を供給する。
(S11)割込み処理部140は、FPGA117からNMI割込みを受信する。
(S12)割込み処理部140は、割込み解除をFPGA117に通知する。
(S13)割込み処理部140は、NMI割込みを解除する。
(S14)停電処理部150は、停電テーブル114aの停電フラグの項目にtrueを設定する。
(S15)停電処理部150は、書き込み管理テーブル114bを初期化する。すなわち、停電処理部150は、書き込み管理テーブル114bのRAMアドレス、BUDアドレスの項目に0を登録する。
(S16)停電処理部150は、バックアップ領域113aに未書き込みであるバックアップ対象のデータブロックを格納するRAM112のアドレスを、書き込み管理テーブル114bのRAMアドレスの項目に登録する。なお、停電処理部150は、RAM112に格納されているバックアップ対象のデータの先頭アドレスから順にバックアップ対象のデータブロックをバックアップ領域113aに格納する。そのため、停電処理部150は、バックアップ領域113aへの初回の書き込みの場合、書き込み管理テーブル114bのRAMアドレスの項目にバックアップ対象のデータの先頭アドレスを登録する。
停電処理部150は、バックアップ対象のデータブロックの格納先であるバックアップ領域113aのアドレスを、書き込み管理テーブル114bのBUDアドレスの項目に登録する。
なお、ソフトウェア情報112aは、バックアップ対象のデータブロックに含まれる。
(S17)停電処理部150は、書き込み管理テーブル114bのRAMアドレスの項目を参照し、バックアップ対象のデータブロックをRAM112から読み出す。停電処理部150は、書き込み管理テーブル114bのBUDアドレスの項目が示すアドレスに、バックアップ対象のデータブロックを書き込む。
(S18)停電処理部150は、RAM112に格納されているバックアップ対象の全てのデータブロックをバックアップ領域113aに書き込み済みであるか否かを判定する。全てのデータブロックをバックアップ領域113aに書き込み済みの場合、停電処理部150は、ステップS19に進む。全てのデータブロックをバックアップ領域113aに書き込み済みでない場合、停電処理部150は、ステップS16に進む。
(S19)停電処理部150は、書き込み管理テーブル114bのRAMアドレスとBUDアドレスの項目に0xFFFFFFFFを登録する。
(S20)停電処理部150は、停電テーブル114aの完了フラグの項目にtrueを設定する。
CM110は、バッテリ130からプロセッサ111、RAM112、BUD113、FPGA117への電力の供給を中止する。
このように、停電処理部150は、停電テーブル114aの停電フラグの項目にtrueを設定することで、停電処理を実行していたことを示すことができる。
図11は、第2の実施の形態のパニック処理のフローチャートの一例を示す図(その1)である。図12は、第2の実施の形態のパニック処理のフローチャートの一例を示す図(その2)である。図13は、第2の実施の形態のパニック処理のフローチャートの一例を示す図(その3)である。CM110は、ファームウェアの異常を検出したときにパニック処理を実行する。なお、ファームウェアの異常は、割込み処理部140が検出してもよい。
(S21)割込み処理部140は、NMI割込みを発生する。
(S22)割込み処理部140は、割込みを禁止する。
(S23)ダンプ制御部160は、ダンプ状況テーブル114cの状況の項目に作成中を登録する。
(S24)ダンプ制御部160は、FPGA117からハードウェア情報117aを取得する。
(S25)ダンプ制御部160は、RAM112に格納されているバックアップ対象のデータの後ろにハードウェア情報117aを格納する。なお、ソフトウェア情報112aは、バックアップ対象のデータに含まれる。
(S26)ダンプ制御部160は、FPGA117が停電を検出していないか否かを判定する。FPGA117が停電を検出していない場合、ダンプ制御部160は、ステップS27に進む。FPGA117が停電を検出している場合、ダンプ制御部160は、ステップS41に進む。
また、FPGA117が停電を検出している場合、バッテリ130は、プロセッサ111、RAM112、BUD113、FPGA117に電力を供給する。以下の処理でFPGA117が停電を検出している場合、バッテリ130は、プロセッサ111、RAM112、BUD113、FPGA117に電力を供給する。
(S27)ダンプ制御部160は、停電テーブル114aの停電フラグの項目を参照し、falseであるか否かを判定する。falseの場合、ダンプ制御部160は、ステップS28に進む。trueの場合、ダンプ制御部160は、ステップS41に進む。
(S28)ダンプ制御部160は、RAM112からソフトウェア情報112aを取得する。ダンプ制御部160は、ステップS31に進む。
(S31)ダンプ制御部160は、FPGA117が停電を検出していないか否かを判定する。FPGA117が停電を検出していない場合、ダンプ制御部160は、ステップS32に進む。FPGA117が停電を検出している場合、ダンプ制御部160は、ステップS41に進む。
(S32)ダンプ制御部160は、ソフトウェア情報112aとハードウェア情報117aとに基づいてダンプファイルを作成する。
(S33)ダンプ制御部160は、FPGA117が停電を検出していないか否かを判定する。FPGA117が停電を検出していない場合、ダンプ制御部160は、ステップS34に進む。FPGA117が停電を検出している場合、ダンプ制御部160は、ステップS41に進む。
(S34)ダンプ制御部160は、ダンプ状況テーブル114cの状況の項目に書き込み中を登録する。
(S35)ダンプ制御部160は、ダンプファイルを所定の大きさのブロック単位に分割した1つのブロックを選択する。
(S36)ダンプ制御部160は、選択したブロックをダンプ格納領域113bに書き込む。
(S37)ダンプ制御部160は、FPGA117が停電を検出していないか否かを判定する。FPGA117が停電を検出していない場合、ダンプ制御部160は、ステップS38に進む。FPGA117が停電を検出している場合、ダンプ制御部160は、ステップS41に進む。
(S38)ダンプ制御部160は、ダンプファイルの全てのブロックをダンプ格納領域113bに書き込み済みであるか否かを判定する。ダンプファイルの全てのブロックをダンプ格納領域113bに書き込み済みの場合、ダンプ制御部160は、ステップS39に進む。ダンプファイルの全てのブロックをダンプ格納領域113bに書き込み済みでない場合、ダンプ制御部160は、ステップS35に進む。
(S39)ダンプ制御部160は、ダンプ状況テーブル114cの状況の項目に完了を登録する。ダンプ制御部160は、パニック処理を終了する。
(S41)ダンプ制御部160は、停電テーブル114aの停電フラグの項目を参照し、trueであるか否かを判定する。trueの場合、ダンプ制御部160は、停電処理が途中で中断し、RAM112に格納されているバックアップ対象のデータの一部がバックアップ領域113aに未書き込みの状態であることを特定する。ダンプ制御部160は、ステップS42に進む。falseの場合、ダンプ制御部160は、ステップS44に進む。
(S42)ダンプ制御部160は、書き込み管理テーブル114bのRAMアドレス、BUDアドレスの項目を参照し、0xFFFFFFFFが登録されているか否かを判定する。0xFFFFFFFFが登録されていない場合、すなわち、停電処理が途中まで実行されている場合、ダンプ制御部160は、ステップS43に進む。0xFFFFFFFFが登録されている場合、ダンプ制御部160は、ステップS48に進む。
(S43)ダンプ制御部160は、書き込み管理テーブル114bを参照し、RAMアドレスとBUDアドレスを取得する。ダンプ制御部160は、ステップS46に進む。
(S44)ダンプ制御部160は、書き込み管理テーブル114bを初期化する。
(S45)ダンプ制御部160は、RAM112の先頭アドレスを書き込み管理テーブル114bのRAMアドレスの項目に登録する。ダンプ制御部160は、バックアップ領域113aの先頭アドレスを書き込み管理テーブル114bのBUDアドレスの項目に登録する。
(S46)ダンプ制御部160は、書き込み管理テーブル114bのRAMアドレスの項目とBUDアドレスの項目に登録されている情報を基にバックアップ領域113aへのデータ書き込みを実行する。ステップS46について、詳細に説明する。
ステップS43を実行している場合、ダンプ制御部160は、書き込み管理テーブル114bのRAMアドレスを参照し、バックアップ領域113aに未書き込みのデータブロックを特定する。また、ダンプ制御部160は、未書き込みのデータブロックの中に、RAM112に格納されているハードウェア情報117aを含める。ダンプ制御部160は、書き込み管理テーブル114bのBUDアドレスの項目に登録されているアドレスの次のアドレスに未書き込みのデータブロックを書き込む。これにより、バックアップ領域113aは、ソフトウェア情報112aを含むバックアップ対象の全てのデータブロックと、ハードウェア情報117aとを記憶できる。
ステップS45を実行している場合、ダンプ制御部160は、RAM112に格納されている全てのデータをバックアップ領域113aに格納する。これにより、バックアップ領域113aは、ソフトウェア情報112aとハードウェア情報117aとを記憶する。
(S47)ダンプ制御部160は、書き込み管理テーブル114bのRAMアドレスとBUDアドレスの項目に0xFFFFFFFFを登録する。
(S48)ダンプ制御部160は、停電テーブル114aの完了フラグの項目にtrueを設定する。ダンプ制御部160は、パニック処理を終了する。
CM110は、ステップS48の後、バッテリ130からプロセッサ111、RAM112、BUD113、FPGA117への電力の供給を中止する。
このように、ダンプ制御部160は、FPGA117が停電を検出しているか否かを監視し、FPGA117が停電を検出したときにCM110で停電が発生したと判断し、ステップS41に進む。ダンプ制御部160は、CM110で停電が発生したと判断し、すぐにステップS41を実行することで、バッテリ130が有する電力量の無駄遣いを防止できる。
図14は、第2の実施の形態の停電処理中にファームウェアの異常が発生した場合の具体例を示す図(その1)である。RAM112は、システム情報、固定割当て情報、動的割当て情報、ユーザデータを記憶している。具体例では、システム情報、固定割当て情報、動的割当て情報、ユーザデータをバックアップ対象のデータとする。
図14は、CM110で停電が発生している状態である。停電処理部150は、停電が発生したことに伴い、停電テーブル114aの停電フラグの項目にtrueを設定する。
図14は、RAM112に格納されているシステム情報と固定割当て情報の一部が停電処理部150によりバックアップ領域113aの領域113a1に格納された状態を示す。また、図14の書き込み管理テーブル114bは、RAM112のアドレス(0x00008000)に格納されているデータがBUD113のアドレス(0x01008000)に書き込まれたことを示している。
図15は、第2の実施の形態の停電処理中にファームウェアの異常が発生した場合の具体例を示す図(その2)である。図15は、ファームウェアに異常が発生した状態を示す。停電処理部150は、ファームウェアに異常が発生したことに伴い、停電処理を中断する。
ダンプ制御部160は、FPGA117からハードウェア情報117aを取得する。ダンプ制御部160は、バックアップ対象のデータの後ろにハードウェア情報117aを格納する。
ダンプ制御部160は、書き込み管理テーブル114bのRAMアドレスの項目を参照し、RAM112のアドレス(0x00008000)以降に格納されているデータがバックアップ領域113aに未書き込みのデータであることを特定する。すなわち、未書き込みのデータは、固定割当て情報の一部、動的割当て情報、ユーザデータである。ダンプ制御部160は、ハードウェア情報117aを未書き込みのデータに含める。ダンプ制御部160は、バックアップ領域113aに未書き込みのデータをバックアップ領域113aの領域113a2に書き込む。
図16は、第2の実施の形態の停電処理中にファームウェアの異常が発生した場合の具体例を示す図(その3)である。図16は、未書き込みのデータがバックアップ領域113aの領域113a2に格納された状態を示す。
このように、CM110は、未書き込みデータを領域113a2に書き込むため、データの消失を防止することができる。
第2の実施の形態によれば、CM110は、停電処理を中断した後、未書き込みのデータをバックアップ領域113aに書き込む。仮にCM110が第2の実施の形態の処理を実行しない場合、CM110は、停電処理の実行中にファームウェアの異常を検出する。CM110は、検出後、停電処理を中断し、ダンプファイル400をダンプ格納領域113bに書き込み、中断した状態からの停電処理の再開または停電処理を初めからやり直す。仮にCM110が第2の実施の形態の処理を実行しない場合、CM110は、処理量が多いため、大容量のバッテリから電力の供給を受ける。
CM110が第2の実施の形態を実行する場合は、仮にCM110が第2の実施の形態を実行しない場合と比べて、停電処理を中断した後の処理量が少ない。第2の実施の形態を実行するCM110は、処理量が少ないため、大容量のバッテリから電力の供給を受けなくてよい。よって、バッテリ130は、大容量でなくてよく、低コストのバッテリでよい。よって、CM110は、低コストにデータの消失を防止することができる。
なお、CM110は、ソフトウェア情報112a(システム情報、固定割当て情報、動的割当て情報)とハードウェア情報117aとがバックアップ領域113aに格納されているため、復電後にダンプファイルを作成することができる。
図17は、第2の実施の形態のパニック処理中に停電が発生した場合の具体例を示す図(その1)である。RAM112は、システム情報、固定割当て情報、動的割当て情報、ユーザデータを記憶している。
図17は、ファームウェアに異常が発生した状態である。ダンプ制御部160は、FPGA117からハードウェア情報117aを取得する。ダンプ制御部160は、バックアップ対象のデータの後ろにハードウェア情報117aを格納する。
ダンプ制御部160は、ソフトウェア情報112a(システム情報、固定割当て情報、動的割当て情報)とハードウェア情報117aとに基づいてダンプファイル400を作成する。ダンプ制御部160は、ダンプファイル400をブロック単位に分割したブロックをダンプ格納領域113bに書き込む。
図18は、第2の実施の形態のパニック処理中に停電が発生した場合の具体例を示す図(その2)である。図18は、停電が発生した状態である。ダンプ制御部160は、停電が発生したことに伴い、ダンプファイル400をダンプ格納領域113bに書き込むことを中断する。なお、ダンプファイル400をダンプ格納領域113bに書き込む処理は、第1の実施の形態の異常処理の一形態である。
ダンプ制御部160は、RAM112に格納されている全てのデータをバックアップ領域113aに格納する。
このように、CM110は、RAM112に格納されている全てのデータをバックアップ領域113aに格納するため、データの消失を防止することができる。また、CM110は、RAM112に格納されている全てのデータをバックアップ領域113aに格納するため、ソフトウェア情報112a(システム情報、固定割当て情報、動的割当て情報)とハードウェア情報117aをバックアップ領域113aに格納できる。そのため、CM110は、CM110で停電が発生した場合、ダンプファイル400をBUD113に書き込む処理を継続しなくて済む。バッテリ130は、RAM112に格納されている全てのデータをバックアップ領域113aに格納する処理を実行できる電力量を有していればよく、大容量のバッテリでなくてよい。すなわち、バッテリ130は、低コストのバッテリでよい。よって、CM110は、低コストにデータの消失を防止することができる。
なお、CM110は、ソフトウェア情報112a(システム情報、固定割当て情報、動的割当て情報)とハードウェア情報117aとがバックアップ領域113aに格納されているため、復電後にダンプファイルを作成することができる。
図19は、第2の実施の形態の復電処理のフローチャートの一例を示す図である。CM110は、停電後、PSU120からの電力供給を受けて復電を検出したときに復電処理を実行する。
(S51)ダンプ制御部160は、停電テーブル114aの完了フラグの項目を参照し、trueであるか否かを判定する。trueの場合、ダンプ制御部160は、ステップS52に進む。falseの場合、ダンプ制御部160は、復電処理を終了する。
(S52)ダンプ制御部160は、バックアップ領域113aに格納されている全てのデータをRAM112に格納する。これにより、RAM112は、ソフトウェア情報112aとハードウェア情報117aとを含むデータを記憶する。
(S53)ダンプ制御部160は、ダンプ状況テーブル114cの状況の項目を参照し、作成中または書き込み中であるか否かを判定する。作成中または書き込み中の場合、ダンプ制御部160は、ステップS54に進む。作成中または書き込み中以外の場合、すなわち、完了の場合、ダンプ制御部160は、復電処理を終了する。
(S54)ダンプ制御部160は、RAM112からソフトウェア情報112aとハードウェア情報117aとを取得する。
(S55)ダンプ制御部160は、ソフトウェア情報112aとハードウェア情報117aとに基づいてダンプファイルを作成する。
(S56)ダンプ制御部160は、ダンプファイルを所定の大きさのブロック単位に分割したブロックをダンプ格納領域113bに書き込む。
(S57)ダンプ制御部160は、ダンプファイルの全てのブロックをダンプ格納領域113bに書き込み済みであるか否かを判定する。ダンプファイルの全てのブロックをダンプ格納領域113bに書き込み済みの場合、ダンプ制御部160は、復電処理を終了する。ダンプファイルの全てのブロックをダンプ格納領域113bに書き込み済みでない場合、ダンプ制御部160は、ステップS56に進む。
これにより、ダンプ制御部160は、ダンプ格納領域113bにダンプファイルを格納できる。CM110は、ダンプファイルを用いて、ファームウェアの異常原因を解析できる。
なお、ダンプ制御部160は、ステップS56において、ダンプ格納領域113bにダンプファイルの一部を既に書き込み済みの場合(ダンプファイルの書き込みを途中で中断した場合)、未書き込みのブロックのみをダンプ格納領域113bに書き込んでもよい。
また、第1の実施の形態の情報処理は、ストレージ制御装置1に用いられるプロセッサに、プログラムを実行させることで実現できる。第2の実施の形態の情報処理は、プロセッサ111にプログラムを実行させることで実現できる。プログラムは、コンピュータに読み取り可能な記録媒体に記録できる。
例えば、プログラムを記録した記録媒体は、プログラムを流通させることで配布することができる。また、割込み処理部140、停電処理部150およびダンプ制御部160に相当する機能を実現するプログラムは、別個のプログラムとして各プログラムを別個に配布することができる。割込み処理部140、停電処理部150およびダンプ制御部160の機能は、別個のコンピュータにより実現されてもよい。
以上の各実施の形態に関し、さらに以下の付記を開示する。
(付記1) ストレージデバイスを制御対象とするストレージ制御装置であって、
前記ストレージデバイスの制御に関する第1の情報を含むバックアップ対象データを記憶する揮発性の第1の記憶部と、
不揮発性の第2の記憶部と、
停電を検出して前記バックアップ対象データを前記第2の記憶部に書き込む停電処理と、前記停電以外の異常を検出して異常検出時のハードウェアの状態に関する第2の情報を取得して前記第1の情報と前記第2の情報とを前記第2の記憶部に書き込む異常処理と、前記停電処理の実行中に前記異常を検出した場合に前記停電処理を中断して前記第2の情報を取得して前記異常処理に替えて前記バックアップ対象データのうち前記停電処理で前記第2の記憶部に未書き込みのデータと前記第2の情報とを前記第2の記憶部に書き込む停電中断バックアップ処理と、を実行する制御部と、
を含むストレージ制御装置。
(付記2) 前記制御部は、前記異常処理で前記第2の情報を前記第1の記憶部に格納した後に前記第1の情報と前記第2の情報とを前記第2の記憶部に書き込み、前記異常処理の実行中に前記停電を検出した場合に前記異常処理を中断して前記停電処理に替えて前記第1の記憶部に格納されている全てのデータを前記第2の記憶部に書き込む異常中断バックアップ処理を実行する、
付記1に記載のストレージ制御装置。
(付記3) 前記ストレージ制御装置は、さらに、前記停電が発生したか否かを監視する監視部を含み、
前記制御部は、前記異常処理を実行中に前記監視部が前記停電を検出したか否かを監視し、前記監視部が前記停電を検出したときに前記停電を検出し、前記異常中断バックアップ処理で前記異常処理を中断する、
付記2に記載のストレージ制御装置。
(付記4) 前記ストレージ制御装置は、さらに、前記第2の情報を記憶する第3の記憶部を含み、
前記制御部は、前記異常処理または前記停電中断バックアップ処理で前記第3の記憶部から前記第2の情報を取得する、
付記1乃至3の何れか1つに記載のストレージ制御装置。
(付記5) 前記制御部は、前記停電処理で前記バックアップ対象データの前記第2の記憶部への書き込み状況を示す書き込み情報を作成し、前記停電中断バックアップ処理で前記書き込み情報に基づいて前記バックアップ対象データのうち前記停電処理で前記第2の記憶部に未書き込みのデータを特定する、
付記1乃至4の何れか1つに記載のストレージ制御装置。
(付記6) 前記制御部は、前記ストレージ制御装置で復電したことを検出した場合、前記第2の記憶部から前記第1の情報と前記第2の情報とを取得し、前記第1の情報と前記第2の情報とに基づいて前記異常を解析する解析情報を作成する、
付記1乃至5の何れか1つに記載のストレージ制御装置。
(付記7) ストレージデバイスを制御対象とするストレージ制御装置に、
停電を検出して揮発性の第1の記憶部が記憶する前記ストレージデバイスの制御に関する第1の情報を含むバックアップ対象データを不揮発性の第2の記憶部に書き込む停電処理と、前記停電以外の異常を検出して異常検出時のハードウェアの状態に関する第2の情報を取得して前記第1の情報と前記第2の情報とを前記第2の記憶部に書き込む異常処理と、前記停電処理の実行中に前記異常を検出した場合に前記停電処理を中断して前記第2の情報を取得して前記異常処理に替えて前記バックアップ対象データのうち前記停電処理で前記第2の記憶部に未書き込みのデータと前記第2の情報とを前記第2の記憶部に書き込む停電中断バックアップ処理と、を実行する、
処理を実行させるストレージ制御プログラム。
(付記8) ストレージデバイスを制御対象とするストレージ制御装置が、
停電を検出して揮発性の第1の記憶部が記憶する前記ストレージデバイスの制御に関する第1の情報を含むバックアップ対象データを不揮発性の第2の記憶部に書き込む停電処理と、前記停電以外の異常を検出して異常検出時のハードウェアの状態に関する第2の情報を取得して前記第1の情報と前記第2の情報とを前記第2の記憶部に書き込む異常処理と、前記停電処理の実行中に前記異常を検出した場合に前記停電処理を中断して前記第2の情報を取得して前記異常処理に替えて前記バックアップ対象データのうち前記停電処理で前記第2の記憶部に未書き込みのデータと前記第2の情報とを前記第2の記憶部に書き込む停電中断バックアップ処理と、を実行する、
ストレージ制御方法。
1 ストレージ制御装置
1a 第1の記憶部
1a1 バックアップ対象データ
1a2 第1の情報
1b 第2の記憶部
1b1,1b2 領域
1c 制御部
1d 第2の情報
2 ストレージデバイス
3 バッテリ

Claims (7)

  1. ストレージデバイスを制御対象とするストレージ制御装置であって、
    前記ストレージデバイスの制御に関する第1の情報を含むバックアップ対象データを記憶する揮発性の第1の記憶部と、
    不揮発性の第2の記憶部と、
    停電を検出して前記バックアップ対象データを前記第2の記憶部に書き込む停電処理と、前記停電以外の異常を検出して異常検出時のハードウェアの状態に関する第2の情報を取得して前記第1の情報と前記第2の情報とを前記第2の記憶部に書き込む異常処理と、前記停電処理の実行中に前記異常を検出した場合に前記停電処理を中断して前記第2の情報を取得して前記異常処理に替えて前記バックアップ対象データのうち前記停電処理で前記第2の記憶部に未書き込みのデータと前記第2の情報とを前記第2の記憶部に書き込む停電中断バックアップ処理と、を実行する制御部と、
    を含むストレージ制御装置。
  2. 前記制御部は、前記異常処理で前記第2の情報を前記第1の記憶部に格納した後に前記第1の情報と前記第2の情報とを前記第2の記憶部に書き込み、前記異常処理の実行中に前記停電を検出した場合に前記異常処理を中断して前記停電処理に替えて前記第1の記憶部に格納されている全てのデータを前記第2の記憶部に書き込む異常中断バックアップ処理を実行する、
    請求項1に記載のストレージ制御装置。
  3. 前記ストレージ制御装置は、さらに、前記停電が発生したか否かを監視する監視部を含み、
    前記制御部は、前記異常処理を実行中に前記監視部が前記停電を検出したか否かを監視し、前記監視部が前記停電を検出したときに前記停電を検出し、前記異常中断バックアップ処理で前記異常処理を中断する、
    請求項2に記載のストレージ制御装置。
  4. 前記制御部は、前記停電処理で前記バックアップ対象データの前記第2の記憶部への書き込み状況を示す書き込み情報を作成し、前記停電中断バックアップ処理で前記書き込み情報に基づいて前記バックアップ対象データのうち前記停電処理で前記第2の記憶部に未書き込みのデータを特定する、
    請求項1乃至3の何れか1項に記載のストレージ制御装置。
  5. 前記制御部は、前記ストレージ制御装置で復電したことを検出した場合、前記第2の記憶部から前記第1の情報と前記第2の情報とを取得し、前記第1の情報と前記第2の情報とに基づいて前記異常を解析する解析情報を作成する、
    請求項1乃至4の何れか1項に記載のストレージ制御装置。
  6. ストレージデバイスを制御対象とするストレージ制御装置に、
    停電を検出して揮発性の第1の記憶部が記憶する前記ストレージデバイスの制御に関する第1の情報を含むバックアップ対象データを不揮発性の第2の記憶部に書き込む停電処理と、前記停電以外の異常を検出して異常検出時のハードウェアの状態に関する第2の情報を取得して前記第1の情報と前記第2の情報とを前記第2の記憶部に書き込む異常処理と、前記停電処理の実行中に前記異常を検出した場合に前記停電処理を中断して前記第2の情報を取得して前記異常処理に替えて前記バックアップ対象データのうち前記停電処理で前記第2の記憶部に未書き込みのデータと前記第2の情報とを前記第2の記憶部に書き込む停電中断バックアップ処理と、を実行する、
    処理を実行させるストレージ制御プログラム。
  7. ストレージデバイスを制御対象とするストレージ制御装置が、
    停電を検出して揮発性の第1の記憶部が記憶する前記ストレージデバイスの制御に関する第1の情報を含むバックアップ対象データを不揮発性の第2の記憶部に書き込む停電処理と、前記停電以外の異常を検出して異常検出時のハードウェアの状態に関する第2の情報を取得して前記第1の情報と前記第2の情報とを前記第2の記憶部に書き込む異常処理と、前記停電処理の実行中に前記異常を検出した場合に前記停電処理を中断して前記第2の情報を取得して前記異常処理に替えて前記バックアップ対象データのうち前記停電処理で前記第2の記憶部に未書き込みのデータと前記第2の情報とを前記第2の記憶部に書き込む停電中断バックアップ処理と、を実行する、
    ストレージ制御方法。
JP2017022722A 2017-02-10 2017-02-10 ストレージ制御装置、ストレージ制御プログラムおよびストレージ制御方法 Active JP6802484B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017022722A JP6802484B2 (ja) 2017-02-10 2017-02-10 ストレージ制御装置、ストレージ制御プログラムおよびストレージ制御方法
US15/885,950 US10642674B2 (en) 2017-02-10 2018-02-01 Storage control device with power failure processing and abnormality processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017022722A JP6802484B2 (ja) 2017-02-10 2017-02-10 ストレージ制御装置、ストレージ制御プログラムおよびストレージ制御方法

Publications (2)

Publication Number Publication Date
JP2018128939A JP2018128939A (ja) 2018-08-16
JP6802484B2 true JP6802484B2 (ja) 2020-12-16

Family

ID=63106375

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017022722A Active JP6802484B2 (ja) 2017-02-10 2017-02-10 ストレージ制御装置、ストレージ制御プログラムおよびストレージ制御方法

Country Status (2)

Country Link
US (1) US10642674B2 (ja)
JP (1) JP6802484B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7318367B2 (ja) 2019-06-28 2023-08-01 富士通株式会社 ストレージ制御装置及びストレージ制御プログラム
US11561739B1 (en) * 2020-06-01 2023-01-24 Smart Modular Technologies, Inc. Catastrophic event memory backup system

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6513097B1 (en) * 1999-03-03 2003-01-28 International Business Machines Corporation Method and system for maintaining information about modified data in cache in a storage system for use during a system failure
JP2002062956A (ja) * 2000-08-21 2002-02-28 Sankyo Seiki Mfg Co Ltd 停電処理方法及び停電処理装置
JP5099212B2 (ja) 2008-02-28 2012-12-19 富士通株式会社 ストレージ装置、ストレージ制御装置、データ転送集積回路、および、ストレージ制御方法
JP4930555B2 (ja) * 2009-07-09 2012-05-16 富士通株式会社 制御装置、制御方法およびストレージシステム
CN101876949B (zh) * 2009-11-30 2012-04-25 威盛电子股份有限公司 数据储存系统与方法
JP5742362B2 (ja) * 2011-03-28 2015-07-01 富士通株式会社 退避処理装置
JP6115116B2 (ja) * 2012-12-19 2017-04-19 富士通株式会社 情報処理装置、格納処理方法及びプログラム
JP5963228B2 (ja) * 2013-05-30 2016-08-03 株式会社日立製作所 ストレージシステム及びデータバックアップ方法
US9830257B1 (en) * 2013-06-12 2017-11-28 Western Digital Technologies, Inc. Fast saving of data during power interruption in data storage systems
US9465426B2 (en) * 2013-09-18 2016-10-11 Huawei Technologies Co., Ltd. Method for backing up data in a case of power failure of storage system, and storage system controller
JP6264012B2 (ja) * 2013-12-16 2018-01-24 富士通株式会社 制御装置、及び制御プログラム
US9703346B2 (en) * 2014-06-23 2017-07-11 Intel Corporation Firmware interface with backup non-volatile memory storage
US9665451B2 (en) * 2014-10-07 2017-05-30 Sandisk Technologies Llc Method and device for distributing holdup energy to memory arrays
US9916255B2 (en) * 2014-12-11 2018-03-13 Empire Technology Development Llc Data storage based on memory persistency
US10915256B2 (en) * 2015-02-25 2021-02-09 SK Hynix Inc. Efficient mapping scheme with deterministic power transition times for flash storage devices

Also Published As

Publication number Publication date
US20180232307A1 (en) 2018-08-16
US10642674B2 (en) 2020-05-05
JP2018128939A (ja) 2018-08-16

Similar Documents

Publication Publication Date Title
JP4903244B2 (ja) 計算機システム及び障害復旧方法
US7711981B2 (en) Information processing apparatus, backup device and information processing method
US7490103B2 (en) Method and system for backing up data
US9152431B2 (en) Computer and computer control method
JP6064608B2 (ja) ストレージ装置、バックアッププログラム、およびバックアップ方法
US9507671B2 (en) Write cache protection in a purpose built backup appliance
JP2011170589A (ja) ストレージ制御装置、ストレージ装置およびストレージ制御方法
US9081506B2 (en) Tape apparatus, storage control apparatus, and storage control method
JP6802484B2 (ja) ストレージ制御装置、ストレージ制御プログラムおよびストレージ制御方法
US20140365817A1 (en) Data preservation processing device, raid controller, data preservation processing system, data preservation processing method and recording medium therefor
JP2015114750A (ja) 調査用プログラム,情報処理装置及び情報処理方法
JP6124644B2 (ja) 情報処理装置および情報処理システム
JP5949540B2 (ja) 情報処理装置、及び記憶情報解析方法
JP5910413B2 (ja) 情報処理装置、起動プログラム、および起動方法
WO2014024279A1 (ja) メモリ障害リカバリ装置、方法、及びプログラム
US20190138407A1 (en) Systems and methods of deploying an operating system from a resilient virtual drive
US8453007B2 (en) Storage device and recovery method
JP5913078B2 (ja) ディスクアレイシステム、データ復旧方法、および、データ復旧プログラム
JP5773446B2 (ja) 記憶装置、冗長性回復方法、およびプログラム
WO2016139774A1 (ja) 情報処理装置、情報処理システム
JP6287055B2 (ja) 情報処理装置、情報収集方法および情報収集プログラム
JP4945774B2 (ja) ディスクアレイ装置およびトランスポート制御用プロセッサコアの障害情報データ採取方法
JP6519266B2 (ja) 情報処理装置、デバイス、および復旧方法、並びにコンピュータ・プログラム
JP2004021318A (ja) ディスクアレイ装置、及びその制御方法
JP2014081884A (ja) 計算機システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191112

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20191118

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20191118

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200925

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201109

R150 Certificate of patent or registration of utility model

Ref document number: 6802484

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150