JP2018022333A - ストレージ制御装置および記憶装置管理プログラム - Google Patents

ストレージ制御装置および記憶装置管理プログラム Download PDF

Info

Publication number
JP2018022333A
JP2018022333A JP2016152934A JP2016152934A JP2018022333A JP 2018022333 A JP2018022333 A JP 2018022333A JP 2016152934 A JP2016152934 A JP 2016152934A JP 2016152934 A JP2016152934 A JP 2016152934A JP 2018022333 A JP2018022333 A JP 2018022333A
Authority
JP
Japan
Prior art keywords
storage device
flash rom
bios
startup
abnormality
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.)
Granted
Application number
JP2016152934A
Other languages
English (en)
Other versions
JP6740789B2 (ja
Inventor
恭平 北川
Kyohei Kitagawa
恭平 北川
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 JP2016152934A priority Critical patent/JP6740789B2/ja
Priority to US15/654,908 priority patent/US10691565B2/en
Publication of JP2018022333A publication Critical patent/JP2018022333A/ja
Application granted granted Critical
Publication of JP6740789B2 publication Critical patent/JP6740789B2/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/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/2089Redundant storage control functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Hardware Redundancy (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】起動プログラムを格納した第1記憶装置の復旧を容易にできるようにする。
【解決手段】第1の起動プログラムを実行して行なわれる起動処理時に、第1記憶装置16−1の診断を行なった結果、第1記憶装置の異常が検出された場合に、第2記憶装置16−2に格納された第2の起動プログラムから読み出したデータを用いて、第1記憶装置16−1に格納された第1の起動プログラムのデータの格納領域における異常検出箇所を上書き更新することで、第1記憶装置16−1を修復する修復部103とを備える。
【選択図】図2

Description

本発明は、ストレージ制御装置および記憶装置管理プログラムに関する。
RAID(Redundant Arrays of Inexpensive Disks)装置等のストレージ装置には、記憶装置を制御するCM(Controller Module)が備えられている。
CMには起動プログラムであるBIOS(Basic Input Output System:基本入出力システム)を格納したBIOSメモリが備えられ、CMの起動時においては、CMのCPU(Central Processing Unit)が、このBIOSを実行する。これにより、装置起動時におけるハードウェアの初期化やOS(Operating System)の読み込み、接続された装置・機器に対する基本的な入出力制御等が行なわれる。
特開2011−53984号公報 特開2003−316582号公報 特開2011−158995号公報
このような従来のCMにおいて、BIOSメモリに異常が生じた場合に、BIOSの復旧が困難であるという課題がある。
例えば、保守作業者が保守作業を行なうことでBIOSのデータを書き換えて復旧させる場合には、人的ミスが生じるおそれがあり、また、保守に要するコストが高騰する。
また、例えば、カーネルやファームウェア等のBIOS以外のコンポーネントや、USB(Universal Serial Bus)デバイス等の外部デバイスを用いて、BIOSメモリの修復を行なう場合には、BIOSメモリにおける異常発生箇所を特定することが困難である。
1つの側面では、本発明は、起動プログラムを格納した記憶装置の修復を容易にできるようにすることを目的とする。
このため、このストレージ制御装置は、第1の起動プログラムを格納する第1記憶装置と、第2の起動プログラムを格納する第2記憶装置と、前記第1の起動プログラムを実行して行なわれる起動処理時に、前記第1記憶装置の診断を行なう診断部と、前記診断部により前記第1記憶装置の異常が検出された場合に、前記第2記憶装置に格納された前記第2の起動プログラムから読み出したデータを用いて、前記第1記憶装置に格納された前記第1の起動プログラムのデータの格納領域における異常検出箇所を上書き更新することで、前記第1記憶装置を修復する修復部とを備える。
一実施形態によれば、起動プログラムを格納した記憶装置の復旧を容易にできる。
実施形態の一例としてのCMのハードウェア構成を例示する図である。 実施形態の一例としてのCMの機能構成を例示する図である。 実施形態の一例としてのCMの電源投入時におけるBIOSメモリの管理処理の概要を説明するためのフローチャートである。 実施形態の一例としてのCMにおけるBIOSフラッシュROMのリカバリ処理を説明するためのフローチャートである。 実施形態の一例としてのCMにおけるシステムダウン処理部による処理を説明するためのフローチャートである。 実施形態の一例としてのCMにおける起動側BIOSフラッシュROMの領域1において異常が検出された場合の処理を説明するための図である。 実施形態の一例としてのCMにおける起動側BIOSフラッシュROMの領域2において異常が検出された場合の処理を説明するための図である。 実施形態の一例としてのCMにおける待機側BIOSフラッシュROMの領域2において異常が検出された場合の処理を説明するための図である。 実施形態の一例としてのCMにおけるBIOSメモリの管理処理の詳細を説明するためのフローチャートである。 実施形態の一例としてのCMにおけるBIOSメモリの管理処理の詳細を説明するためのフローチャートである。 実施形態の一例としてのCMにおけるBIOSメモリの管理処理の詳細を説明するためのフローチャートである。
以下、図面を参照して本ストレージ制御装置および記憶装置管理プログラムに係る実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形(実施形態及び各変形例を組み合わせる等)して実施することができる。又、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
(A)構成
ストレージ装置は、例えば、記憶装置を仮想化して、仮想ストレージ環境を形成し、この仮想ボリュームを、上位装置であるホスト装置等に提供する。
ストレージ装置は、ストレージ装置内の動作を制御する1つ以上のCM(Controller Module:制御装置,ストレージ制御装置)を備える。
図1は実施形態の一例としてのCM1のハードウェア構成を例示する図、図2はその機能構成を例示する図である。
CM1は、図示しないホスト装置から送信されるI/O要求に従って、記憶装置へのデータアクセス制御等、各種制御を行なうストレージ制御装置(情報処理装置)である。
CM1は、図1に示すように、CPU10,PCH(Platform Controller Hub)11,FPGA(Field Programmable Gate Array)12,NVRAM(Non-Volatile Random Access Memory)13,DIMM(Dual Inline Memory Module)14,エキスパンダ(EXP)15およびBIOSフラッシュROM(Read Only Memory)16−1,16−2を備える。
DIMM14は、複数のDRAM(Dynamic Random Access Memory)チップをプリント基板上に搭載したメモリモジュールである。DIMM14は、主記憶装置として用いられ、後述するCPU10が、実行するプログラムやデータを、一時的に展開・格納する一次記憶メモリあるいはワーキングメモリとして利用される。
図1に示す例においては、CM1に2つのDIMM14が備えられているが、これに限定されるものではなく、1つもしくは3つ以上のDIMM14を備えてもよい。
以下、DIMM14をメモリ14という場合がある。
PCH11は、周辺入出力制御用プロセッサであり、CPU10に対して、メモリ14やNVRAM13,BIOSフラッシュROM16−1,16−2等を接続するコントローラハブとして機能する。
PCH11は、CPU10,DIMM14,FPGA12,NVRAM13,エキスパンダ(EXP)15およびBIOSフラッシュROM16−1,16−2を相互に通信可能に接続する。
PCH11は、FPGA12を介してNVRAM13,エキスパンダ15およびBIOSフラッシュROM16−1,16−2と接続されている。
FPGA12は、プログラミングすることができるLSI(プログラマブル集積回路)である。本システムでは、FPGA12は、図1のとおりエキスパンダ15とBIOSフラッシュROM16−1,16−2との間に実装されている。エキスパンダ15からの起動指示を受けて、FPGA12は、BIOSフラッシュROM16−1もしくはBIOSフラッシュROM16−2を起動させる処理を行なう。なお、FPGA12が実装されていなくてもよい。
BIOSフラッシュROM16−1,16−2は、それぞれBIOS(起動プログラム)を格納するメモリ(BIOSメモリ;記憶装置)である。BIOSはCM1の起動時に実行され、ハードウェアの初期化やOSの読み込み、接続された装置・機器に対する基本的な入出力制御等を実現する。
BIOSフラッシュROM16−1(第1記憶装置)には第1のBIOS(第1のプログラム)が格納され、BIOSフラッシュROM16−2(第2記憶装置)には第2のBIOS(第2のプログラム)が格納されている。
本CM1においては、2つのBIOSフラッシュROM16−1,16−2を備えて冗長化することにより、システムの可用化を向上させている。
これらのBIOSフラッシュROM16−1に格納されたBIOSと、BIOSフラッシュROM16−2に格納されたBIOSは、同じであることが望ましい。なお、同じBIOSとは、例えば版が同じであることを示す。
本実施形態においては、BIOSフラッシュROM16−1とBIOSフラッシュROM16−2とには同じBIOSが格納され、これらのBIOSフラッシュROM16−1とBIOSフラッシュROM16−2とは同じデータ構造を有するものとする。
すなわち、BIOSフラッシュROM16−1と、BIOSフラッシュROM16−2との間において、同じアドレスが示す範囲(アドレス範囲)には、互いに同じデータ(BIOSデータ)が格納されている。
後述するCPU10は、本CM1の電源投入時において、BIOSフラッシュROM16−1,16−2のいずれか一方からBIOSを読み出し、CM1の起動処理を行なう。
従って、CPU10は、BIOSフラッシュROM16−1に格納されたBIOSと、BIOSフラッシュROM16−2に格納されたBIOSとのいずれかを用いて、本CM1の起動設定処理を行なう起動設定処理部として機能する。
なお、以下、BIOSフラッシュROM16−1をBIOSフラッシュROM#0という場合があり、また、BIOSフラッシュROM16−2をBIOSフラッシュROM#1という場合がある。
また、以下、BIOSフラッシュROMを示す符号としては、複数のBIOSフラッシュROMのうち1つを特定する必要があるときには符号16−1,16−2もしくは#0,#1を用いるが、任意のBIOSフラッシュROMを指すときには符号16を用いる。
NVRAM13は、不揮発性メモリであって、種々のデータを格納するものである。例えば、NVRAM13は、EC(Engineering Change)情報を格納する。
EC情報は、次回の本CM1の起動に用いられるBIOSフラッシュROM16を特定する情報である。
以下、CM1の起動に用いられることを起動側と表現する場合がある。また、CM1の起動に用いられるBIOSフラッシュROM16を起動側BIOSフラッシュROM16という場合がある。
これに対して、CM1の起動に用いられず、起動側BIOSフラッシュROM16に何らの異常が検出される場合に備えて、冗長性を持たせるために備えられていることを待機側という場合がある。そして、このような待機側のBIOSフラッシュROM16を待機側BIOSフラッシュROM16という場合がある。
EC情報は、起動側のBIOSフラッシュROM16や待機側のBIOSフラッシュROM16を特定する。
エキスパンダ15は、ストレージシステムに備えられた他のCM1のエキスパンダ15との間での通信を行なう。また、エキスパンダ15は、CM1における起動制御や監視処理を行なう。
エキスパンダ15は、本CM1の電源投入時(起動時)において、NVRAM13に格納されたEC情報を参照することで、BIOSを読み出すBIOSフラッシュROM16−1,16−2を決定する。エキスパンダ15は、CPU10に対して、2つのBIOSフラッシュROM16−1,16−2のうち、決定したBIOSフラッシュROM16を通知して、BIOS起動指示を行なう。
CPU10は、CM1全体を制御するハードウェアプロセッサである。CPU10は、マルチプロセッサであってもよい。なお、CPU10に代えて、例えばMPU(Micro Processing Unit),DSP(Digital Signal Processor),ASIC(Application Specific Integrated Circuit),PLD(Programmable Logic Device),FPGAのいずれか一つであってもよい。また、CPU10は、CPU,MPU,DSP,ASIC,PLD,FPGAのうちの2種類以上の要素の組み合わせであってもよい。
CPU10は、種々の制御や演算を行なう処理装置であり、NVRAM13等の記憶装置に格納されたOSやプログラムを実行することにより、種々の機能を実現する。例えば、CPU10は、BIOSフラッシュROM16に格納されたBIOSを実行することで、CM1の起動処理を実現する。
また、CPU10は、図2に示すように、診断部101,EC情報更新部102,リカバリ処理部103,システムダウン処理部104およびエラー出力部105としての機能を実現する。
診断部101は、BIOSフラッシュROM16の診断を行なう。すなわち、診断部101は、CM1におけるBIOSフラッシュROM16の自己診断機能を実現する。
CM1においては、BIOSフラッシュROM16に格納されたデータの診断を実施することで、素子故障やデータ化け等が原因でのBIOSフラッシュROM異常による期待外の動作を防止する。
以下、BIOSフラッシュROM16に格納されたデータ(BIOSデータ)の診断を行なうことを、単に、BIOSフラッシュROM16の診断という場合がある。
診断部101は、冗長化された2つのBIOSフラッシュROM16−1,16−2の両方の診断を行なう。
BIOSは起動処理の過程で様々なハードウェアを初期化する。BIOSは、例えば、メモリ14の初期化も行なうものであり、メモリ14の初期化完了前はメモリ14を使うことができない。
メモリ14が使用可能であるか否かによって、CPU10によるBIOSの処理速度は大きく変化する。それに伴って、BIOSは、起動フェーズ(EFI(Extensible Firmware Interface)フェーズ)に応じて、以下の期間1〜3に示すように3段階の期間に分けて段階的に動作場所(プログラムロード領域)を変更する。
期間1:BIOSは、その起動直後、BIOSフラッシュROM16上にロードされて動作する。EFIフェーズにおけるSEC(Security)フェーズがこの期間に相当する。この期間1においては、メモリ14はまだ使用することができない。
期間2:期間1の後、CPU10のキャッシュをメモリと同様に使用できるようにする機能であるCAR(Cache As Ram)が有効となると、BIOSは、CAR領域にロードされて動作する。EFIフェーズにおけるPEI(Pre-EFI Initialization)フェーズの一部がこの期間2に相当する。
期間3:期間2の後、メモリ14が使用可能になった時には、BIOSはメモリ14上に展開されたプログラムで動作する。EFIフェーズにおけるPEIフェーズの一部や、DXE(Driver Execution Environment)フェーズ及びBDS(Boot Device Selection)フェーズがこの期間3に相当する。
診断部101は、BIOSフラッシュROM16の診断を、上述したBIOSの動作場所に合わせて、(a1)フラッシュ動作領域、(a2)CAR動作領域、および(a3)メモリ動作領域の順で段階的(3段階)に分けて診断を行なう。
(a1)フラッシュ動作領域は、BIOSフラッシュROM16において、EFIフェーズにおいて読み出されるデータ(BIOSデータ,BIOSプログラム,モジュール)が格納されている領域である。以下、フラッシュ動作領域を領域1という場合がある。
BIOSフラッシュROM16において、上述した期間1にCPU10に実行されるBIOSデータが格納されている領域が、この領域1に相当する。
(a2)CAR動作領域は、CARが有効となった後、メモリ14が利用可能になるまでの間において読み出されるデータ(BIOSプログラム,モジュール)が格納されている領域である。以下、CAR動作領域を領域2という場合がある。
BIOSフラッシュROM16において、上述した期間2にCPU10に実行されるBIOSデータが格納されている領域が、この領域2に相当する。
(a3)メモリ動作領域は、BIOSフラッシュROM16において、メモリ14が使用可能になった後において読み出されるデータ(BIOSプログラム,モジュール)が格納されている領域である。以下、メモリ動作領域を領域3という場合がある。
BIOSフラッシュROM16において、上述した期間3においてCPU10に実行されるBIOSデータが格納されている領域が、この領域3に相当する。
上述の如く、期間1においては、メモリ14はまだ使用可能な状態になっていない。そこで、以下、領域1を、メモリ使用不可領域という場合がある。これに対して、期間2,3においては、メモリ14は使用可能な状態になっている。そこで、以下、領域2,3を、メモリ使用可領域という場合がある。
診断部101は、BIOSフラッシュROM16に対して、領域1、領域2、領域3の順で診断を行なう。
診断部101は、チェックサム(Checksum)を用いてBIOSフラッシュROM16の診断を行なう。
また、診断部101は、BIOSフラッシュROM16において、異常発生箇所をブロック単位やセクタ単位で特定することできる。
ただし、BIOSフラッシュROM16において、メモリ使用不可の時に診断する領域には、EFIの規約上チェックサムが備わっていない。そこで、BIOSフラッシュROM16に書き込むBIOSデータの作成時に、チェックサムを計算し、このBIOSデータ内に格納する。これにより、診断部101によるBIOSフラッシュROM16の全領域の診断を可能にしている。
診断部101は、起動側のBIOSフラッシュROM16の診断が終了した後に、待機側のBIOSフラッシュROM16の診断を行なう。
EC情報更新部102は、NVRAM13のEC情報を更新(変更)する。例えば、EC情報更新部102は、システムダウン処理部104によるシステムダウン処理時において、次回起動時に他方のBIOSフラッシュROM16を用いるようにEC情報を書き換える。
EC情報更新部102は、システムダウン処理部104によるシステムダウン処理の過程において、NVRAM13に設定されたEC情報を、待機側BIOSフラッシュROM16を次回起動側とするように設定する(切り替える)。
すなわち、EC情報更新部102は、BIOSフラッシュROM16−1に格納されたBIOSと、BIOSフラッシュROM16−2に格納されたBIOSとのうち、CPU10(起動設定処理部)が用いるBIOSを設定する設定部として機能する。
リカバリ処理部103は、診断部101により異常が検出されたBIOSフラッシュROM16(以下、異常BIOSフラッシュROM16もしくは修復対象BIOSフラッシュROM16という場合がある)のデータの修復(リカバリ)を行なう。
すなわち、リカバリ処理部103は、CM1におけるBIOSフラッシュROM16の自己修復機能を実現する。
具体的には、リカバリ処理部103は、異常BIOSフラッシュROM16における診断部101により異常が検出された箇所(異常発生箇所)のアドレス(異常発生アドレス)を特定する。
なお、異常BIOSフラッシュROM16における異常発生箇所の特定は、例えば、診断部101による診断結果を参照することにより、既知の手法で実現することができ、その説明は省略する。
また、リカバリ処理部103は、この異常発生アドレスを含む所定のアドレス範囲を修復対象範囲として決定する。
リカバリ処理部103は、異常が検出されていない他方のBIOSフラッシュROM16における、異常BIOSフラッシュROM16の修復範囲に対応する箇所から、BIOSデータを抽出する。
前述の如く、本実施形態においては、BIOSフラッシュROM16−1とBIOSフラッシュROM16−2とには同じデータ構造を備え、同じアドレス位置には同じBIOSデータが格納されている。
そこで、リカバリ処理部103は、異常が検出されていない他方のBIOSフラッシュROM16から、前述の如く決定した修復対象範囲と同じアドレス範囲のデータ(BIOSデータ)を修復用データとして抽出する。
そして、リカバリ処理部103は、この他方のBIOSフラッシュROM16から抽出したデータ(修復用データ)を用いて、異常BIOSフラッシュROM16における異常発生箇所を含む修復対象範囲のデータを上書きする。
すなわち、リカバリ処理部103は、冗長化された複数のBIOSフラッシュROM16において、一方のBIOSフラッシュROM16において異常が検出された位置を含む修復対象範囲のデータを、異常が検出されていない他方のBIOSフラッシュROM16の同じアドレス範囲から読み出したデータ(修復用データ)を用いて上書き更新する。
これにより、修復対象BIOSフラッシュROM16のデータを異常のない状態に修復することができる。
以下、BIOSフラッシュROM16に格納されたデータ(BIOSデータ)を修復することを、単に、BIOSフラッシュROM16の修復という場合がある。
なお、起動側BIOSフラッシュROM16の領域1の診断は、メモリ14が使用不可の状態で行なわれるので、診断処理を実行中である自分自身(動作中の起動プログラム)も診断対象に含まれる。
そのため、起動側BIOSフラッシュROM16の領域1において異常が検出された場合は、動作中の起動プログラムの処理結果についても信頼性も低い。そこで、このようにメモリ14が使用不可の状態で診断部101がBIOSフラッシュROM16の異常(診断異常)を検出した場合においては、異常が検知された領域1に対するリカバリ処理は実施せずに、EC情報更新部102にEC情報を切り替えさせ、次回のCM1の起動時にリカバリを実施する。
システムダウン処理部104は、本CM1を停止(再起動)させる処理(システムダウン処理)を行なう。
このシステムダウン処理において、システムダウン処理部104は、EC情報更新部102に、次回起動時に他方のBIOSフラッシュROM16を用いるようにEC情報を書き換えさせる(EC情報更新)。
また、システムダウン処理部104は、NVRAM13における所定の記憶領域に、リセット依頼を示す情報(以下、単にリセット依頼という)を書き込む。また、システムダウン処理部104は、CM1に対する電力供給を停止させる処理を行なう。
エラー出力部105は、BIOSフラッシュROM16に異常が検出された場合であって、リカバリ処理部103による修復を行なっても異常が解消されない場合に、BIOSフラッシュROM16のリカバリが失敗したことを示す情報(エラーログ)を出力する。 また、エラー出力部105は、診断部101による待機側BIOSフラッシュROM16の各領域1〜3の診断において異常が検出された場合にも、待機側BIOSフラッシュROM16において異常が検出されたことを示す情報(警告ログ)を出力する。
エラー出力部105は、例えば、NVRAM13の所定の記憶領域等に、エラーログや警告ログを出力する。
そして、CPU10が、メモリ管理プログラム(記憶装置管理プログラム)を実行することにより、これらの診断部101,EC情報更新部102,リカバリ処理部103,システムダウン処理部104およびエラー出力部105として機能する。このメモリ管理プログラムは、各BIOSフラッシュROM16の領域1にBIOSのモジュールとして格納されている。
メモリ管理プログラムは、本CM1に備えられたBIOSフラッシュROM16を管理するためのプログラムであり、BIOSフラッシュROM16の診断(自己診断)と修復(自己修復)を実現する。
なお、診断部101,EC情報更新部102,リカバリ処理部103,システムダウン処理部104およびエラー出力部105としての機能を実現するためのプログラム(メモリ管理プログラム)は、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RW等),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD+R,DVD−RW,DVD+RW,HD DVD等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
メモリ管理プログラム(記憶装置管理プログラム)を記録する記録媒体には、BIOSフラッシュROM16を含む。
診断部101,EC情報更新部102,リカバリ処理部103,システムダウン処理部104およびエラー出力部105としての機能を実現する際には、内部記憶装置(本実施形態では各BIOSフラッシュROM16)に格納されたプログラムがコンピュータのマイクロプロセッサ(本実施形態ではCPU10)によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
(B)動作
上述の如く構成された実施形態の一例としてのCM1の電源投入時におけるBIOSメモリの管理処理の概要を、図3に示すフローチャート(ステップA1〜A8)に従って説明する。
エキスパンダ15が、NVRAM13のEC情報を確認し、いずれのBIOSフラッシュROM16を用いてCM1の起動を行なうかを確認する(ステップA1)。
ここで、EC情報には、BIOSフラッシュROM#0が起動側であることが設定されているものとする。
エキスパンダ15は、CPU10に対して、BIOSフラッシュROM#0を起動側としてBIOSの実行を行なわせる指示(BIOS起動指示)を行なう(ステップA2)。
CPU10は、BIOSフラッシュROM#0の領域1からBIOSを読み出し実行する。BIOSにはメモリ管理プログラムが含まれている。CPU10がこのメモリ管理プログラムを実行することにより、CPU10は、診断部101,EC情報更新部102,リカバリ処理部103,システムダウン処理部104およびエラー出力部105としての機能を実現する。
診断部101は、先ず、起動側BIOSフラッシュROM16−1(BIOSフラッシュROM#0)の診断を行なう。診断部101は、起動側BIOSフラッシュROM#0について、領域1,領域2および領域3の順番で診断を行なう(ステップA3〜A5)。
診断部101は、次に、待機側BIOSフラッシュROM16−2(BIOSフラッシュROM#1)の診断を行なう。診断部101は、待機側BIOSフラッシュROM#1について、領域1,領域2および領域3の順番で診断を行なう(ステップA6〜A8)。
CM1の起動時におけるBIOSフラッシュROM16の診断の終了後、BIOSにおける他の処理が行なわれ、OSの起動等が行なわれる。
次に、実施形態の一例としてのCM1におけるBIOSフラッシュROM16のリカバリ処理を、図4に示すフローチャート(ステップB1〜B4)に従って説明する。
本処理は、例えば、後述の如く、診断部101により起動側BIOSフラッシュROM16の領域2,3や待機側BIOSフラッシュROM16の領域1〜3のいずれかにおいて異常が初めて検出された場合に実施される。
リカバリ処理部103は、リカバリ開始を示すログをNVRAM13の所定の記憶領域に出力する(ステップB1)。
リカバリ処理部103は、診断部101による診断結果に基づき、修復対象BIOSフラッシュROM16において異常が検出された箇所(異常発生箇所)のアドレス(異常発生アドレス)を特定する(ステップB2)。そして、リカバリ処理部103は、この異常発生アドレスを含む所定のアドレス範囲を修復対象範囲として決定する。
リカバリ処理部103は、冗長化された2つのBIOSフラッシュROM16のうち、異常が検出されていない方のBIOSフラッシュROM16から、このBIOSフラッシュROM16における異常発生アドレスを含む所定サイズの領域(修復対象範囲)のデータ(修復用データ)を抽出する(ステップB3)。
そして、リカバリ処理部103は、この他方のBIOSフラッシュROM16から抽出した修復用データを用いて、修復対象BIOSフラッシュROM16における同じアドレス領域(修復対象領域)に上書きする(ステップB4)。これにより修復対象BIOSフラッシュROM16の復旧が完了し、処理を終了する。
次に、実施形態の一例としてのCM1におけるシステムダウン処理を、図5に示すフローチャート(ステップC1〜C3)に従って説明する。
本処理は、例えば、後述の如く、診断部101により起動側BIOSフラッシュROM16の領域2,3や待機側BIOSフラッシュROM16の領域1〜3のいずれかにおいて異常が検出された場合であって、リカバリ処理部103による修復処理を行なっても異常が解消されない場合に実施される(図9のステップD4,図10のステップD8,D12参照)。すなわち、異常BIOSフラッシュROM16に対してリカバリ処理部103による修復処理を行なっても、この修復対象BIOSフラッシュROM16において、再度異常が検出された場合に実施される。
システムダウン処理部104は、エラー出力部105に対して、リカバリ処理部103による修復が失敗したことを示すログ(エラーログ)をNVRAM13の所定の記憶領域に出力させる(ステップC1)。
システムダウン処理部104は、EC情報更新部102にNVRAM13のEC情報を更新させる。すなわち、システムダウン処理部104は、EC情報更新部102に対して、異常BIOSフラッシュROM16とは異なる方のBIOSフラッシュROM16を特定する情報をEC情報として、NVRAM13に登録させる(ステップC2)。
その後、システムダウン処理部104は、NVRAM13における所定の記憶領域に、リセット依頼を示す情報(以下、単にリセット依頼という)を書き込む(ステップC3)。また、システムダウン処理部104は、CM1に対する電力供給を停止させる処理を行なう。以上で、CM1におけるシステムダウン処理が終了する。
次に、実施形態の一例としてのCM1におけるBIOSメモリの管理処理の詳細を、図6〜図8を参照しながら、図9〜図11に示すフローチャート(ステップD1〜D24)に従って説明する。
なお、図9はステップD1〜D4の処理を、図10はステップD5〜D12の処理を、また、図11はステップD13〜D24の処理を、それぞれ示す。
また、図6は起動側BIOSフラッシュROM16の領域1において異常が検出された場合の処理を説明するための図、図7は起動側BIOSフラッシュROM16の領域2において異常が検出された場合の処理を説明するための図である。また、図8は待機側BIOSフラッシュROM16の領域2において異常が検出された場合の処理を説明するための図である。
エキスパンダ15が、NVRAM13のEC情報を確認し、いずれのBIOSフラッシュROM16を用いてCM1の起動を行なうかを確認する(図9のステップD1)。
ここで、EC情報には、BIOSフラッシュROM16−1(BIOSフラッシュROM#0)が起動側であることが設定されているものとする。
エキスパンダ15は、BIOSフラッシュROM#0を起動側として、CPU10に対して、このBIOSフラッシュROM#0に格納されているBIOSを用いてCM1の起動処理を行なうよう指示(BIOS起動指示)する(図9のステップD2)。
CPU10は、BIOSフラッシュROM#0の領域1から、BIOSを読み出し実行する。BIOSには、メモリ管理プログラムが含まれている。CPU10がこのメモリ管理プログラムを実行することにより、CPU10は、診断部101,EC情報更新部102,リカバリ処理部103,システムダウン処理部104およびエラー出力部105としての機能を実現する。
診断部101は、起動側BIOSフラッシュROM16の領域1の診断を行なう(図9のステップD3)。
ステップD3における診断の結果、起動側BIOSフラッシュROM16の領域1において異常が検出された場合には(ステップD3の“異常”ルート参照;図6の符号P1参照)、システムダウン処理部104がシステムダウン処理を行なう(図9のステップD4;図6の符号P2参照)。
このシステムダウン処理には、EC情報更新部102による、EC情報に対して、次回起動用BIOSフラッシュROM16を、例えば、BIOSフラッシュROM#0からBIOSフラッシュROM#1へ設定を変更する更新作業が含まれる(図6の符号P3参照)。
なお、前述の如く、起動側BIOSフラッシュROM16の領域1において異常が検出された場合には、その時点でリカバリ処理は行なわないので、リカバリ処理部103による修復が失敗したことを示すエラーログの出力(図5のステップC1参照)も行なわれない。
その後、処理はステップD1に戻り、CM1の再起動処理において、エキスパンダ15が、NVRAM13のEC情報を確認する。EC情報には、BIOSフラッシュROM#1を示す情報が設定されているので、CPU10は、起動側BIOSフラッシュROM16に格納されているBIOSを用いてCM1の起動を行なう(図6の符号P4参照)。
一方、ステップD3における診断の結果、領域1において異常が検出されない場合には(ステップD3の“正常”ルート参照)、図10のステップD5に移行する。
診断部101は、起動側BIOSフラッシュROM16の領域2の診断を行なう(図10のステップD5)。
ステップD5における診断の結果、起動側BIOSフラッシュROM16の領域2において異常が検出された場合には(ステップD5の“異常”ルート参照;図7の符号P5参照)、システムダウン処理部104は、この領域2における初回の異常検出であるかを確認する(図10のステップD6)。
ステップD6における確認の結果、この領域2における初回の異常検出である場合には(ステップD6のYESルート参照)、リカバリ処理部103が、BIOSリカバリ処理を行なう(図10のステップD7)。
すなわち、リカバリ処理部103は、待機側BIOSフラッシュROM#1から読み出したデータを用いて、起動側BIOSフラッシュROM#0における異常発生箇所のデータを書き換える(図7の符号P6参照)。
リカバリ処理の終了後には、ステップD5に戻る。これにより、リカバリ処理が行なわれた起動側BIOSフラッシュROM#0の領域2に対して、再度、診断部101による診断が行なわれるのである(図7の符号P7参照)。
また、ステップD6における確認の結果、この領域2における初回の異常検出でない場合には(ステップD6のNOルート参照)、この領域2において固定故障が生じていると判断される(図7の符号P8参照)。そこで、システムダウン処理部104が、システムダウン処理を行なう(図10のステップD8)。
このシステムダウン処理には、EC情報更新部102による、EC情報に対して、次回起動用BIOSフラッシュROM16を、例えば、BIOSフラッシュROM#0からBIOSフラッシュROM#1へ設定を変更する更新作業が含まれる(図7の符号P9参照)。その後、処理は図9のステップD1に戻る。
一方、ステップD5における診断の結果、領域2において異常が検出されない場合には(ステップD5の“正常”ルート参照)、図10のステップD9に移行する。
診断部101は、起動側BIOSフラッシュROM#1の領域3の診断を行なう(図10のステップD9)。
ステップD9における診断の結果、起動側BIOSフラッシュROM16の領域3において異常が検出された場合には(ステップD9の“異常”ルート参照)、システムダウン処理部104は、この領域3における初回の異常検出であるかを確認する(図10のステップD10)。
ステップD10における確認の結果、この領域3における初回の異常検出である場合には(ステップD10のYESルート参照)、リカバリ処理部103が、BIOSリカバリ処理を行なう(図10のステップD11)。
すなわち、リカバリ処理部103は、待機側BIOSフラッシュROM#1から読み出したデータを用いて、起動側BIOSフラッシュROM#0における異常発生箇所のデータを書き換える。
リカバリ処理の終了後には、ステップD9に戻る。これにより、リカバリ処理が行なわれた起動側BIOSフラッシュROM#0の領域3に対して、再度、診断部101による診断が行なわれるのである。
また、ステップD10における確認の結果、この領域3における初回の異常検出でない場合には(ステップD10のNOルート参照)、この領域3において固定故障が生じていると判断される。そこで、システムダウン処理部104が、システムダウン処理を行なう(図10のステップD12)。
このシステムダウン処理には、EC情報更新部102による、EC情報に対して、次回起動用BIOSフラッシュROM16を、現在の待機側BIOSフラッシュROM16に変更する更新作業が含まれる。その後、処理は図9のステップD1に戻る。
一方、ステップD9における診断の結果、領域3において異常が検出されない場合には(ステップD9の“正常”ルート参照)、図11のステップD13に移行する。
診断部101は、待機側BIOSフラッシュROM16の領域1の診断を行なう(図11のステップD13)。
ステップD13における診断の結果、待機側BIOSフラッシュROM16の領域1において異常が検出された場合には(ステップD13の“異常”ルート参照)、エラー出力部105が、待機側BIOSフラッシュROM16の領域1において異常が検出されたことを示す情報(警告ログ)を出力する。
システムダウン処理部104は、この領域1における初回の異常検出であるかを確認する(図11のステップD14)。
ステップD14における確認の結果、この領域1における初回の異常検出である場合には(ステップD14のYESルート参照)、リカバリ処理部103が、BIOSリカバリ処理を行なう(図11のステップD15)。
すなわち、リカバリ処理部103は、起動側BIOSフラッシュROM16から読み出したデータを用いて、待機側BIOSフラッシュROM16における異常発生箇所のデータを書き換える。
リカバリ処理の終了後には、ステップD13に戻る。これにより、リカバリ処理が行なわれた待機側BIOSフラッシュROM16の領域1に対して、再度、診断部101による診断が行なわれるのである。
また、ステップD14における確認の結果、この領域1における初回の異常検出でない場合には(ステップD14のNOルート参照)、この領域1において固定故障が生じていると判断される。
そこで、エラー出力部105が、リカバリ処理部103によるリカバリ処理が失敗したことを示すリカバリ失敗ログ(警告)をNVRAM13の所定の記憶領域に出力する(図11のステップD16)。その後、処理は図11のステップD17に移行する。
また、ステップD13における診断の結果、領域1において異常が検出されない場合にも(ステップD13の“正常”ルート参照)、図11のステップD17に移行する。
ステップD17において、診断部101は、待機側BIOSフラッシュROM16の領域2の診断を行なう。
ステップD17における診断の結果、待機側BIOSフラッシュROM16の領域2において異常が検出された場合には(ステップD17の“異常”ルート参照;図8の符号P10参照)、エラー出力部105が、待機側BIOSフラッシュROM16の領域2において異常が検出されたことを示す情報(警告ログ)を出力する(図8の符号P11参照)。
システムダウン処理部104は、この領域2において検出された異常が、初回の異常検出であるかを確認する(図11のステップD18)。
ステップD18における確認の結果、この領域2における初回の異常検出である場合には(ステップD18のYESルート参照)、リカバリ処理部103が、BIOSリカバリ処理を行なう(図11のステップD19)。
すなわち、リカバリ処理部103は、起動側BIOSフラッシュROM#0から読み出したデータを用いて、待機側BIOSフラッシュROM#0における異常発生箇所のデータを書き換える(図8の符号P12参照)。
リカバリ処理の終了後には、ステップD17に戻る。これにより、リカバリ処理が行なわれた待機側BIOSフラッシュROM#1の領域2に対して、再度、診断部101による診断が行なわれるのである(図8の符号P13参照)。
また、ステップD18における確認の結果、この領域2における初回の異常検出でない場合には(ステップD18のNOルート参照)、この領域2において固定故障が生じていると判断される(図8の符号P14参照)。
そこで、エラー出力部105が、リカバリ処理部103によるリカバリ処理が失敗したことを示すリカバリ失敗ログ(警告)をNVRAM13の所定の記憶領域に出力する(図11のステップD20)。その後、処理は図11のステップD21に移行する。
また、ステップD17における診断の結果、領域2において異常が検出されない場合にも(ステップD17の“正常”ルート参照)、図11のステップD21に移行する。
診断部101は、待機側BIOSフラッシュROM16の領域3の診断を行なう(図11のステップD21)。
ステップD21における診断の結果、待機側BIOSフラッシュROM16の領域3において異常が検出された場合には(ステップD21の“異常”ルート参照)、エラー出力部105が、待機側BIOSフラッシュROM16の領域3において異常が検出されたことを示す情報(警告ログ)を出力する。
システムダウン処理部104は、この領域3における初回の異常検出であるかを確認する(図11のステップD22)。
ステップD22における確認の結果、この領域3における初回の異常検出である場合には(ステップD22のYESルート参照)、リカバリ処理部103が、BIOSリカバリ処理を行なう(図11のステップD23)。
すなわち、リカバリ処理部103は、起動側BIOSフラッシュROM16から読み出したデータを用いて、待機側BIOSフラッシュROM16における異常発生箇所のデータを書き換える。
リカバリ処理の終了後には、ステップD21に戻る。これにより、リカバリ処理が行なわれた待機側BIOSフラッシュROM16の領域3に対して、再度、診断部101による診断が行なわれるのである。
また、ステップD22における確認の結果、この領域3における初回の異常検出でない場合には(ステップD22のNOルート参照)、この領域3において固定故障が生じていると判断される。
そこで、エラー出力部105が、リカバリ処理部103によるリカバリ処理が失敗したことを示すリカバリ失敗ログ(警告)をNVRAM13の所定の記憶領域に出力する(図11のステップD24)。
その後、処理は終了する。
また、ステップD21における診断の結果、領域3において異常が検出されない場合にも(ステップD21の“正常”ルート参照)、処理を終了する。
(C)効果
実施形態の一例としてのCM1によれば、冗長化して備えられたBIOSフラッシュROM16のうち、一つのBIOSフラッシュROM16に異常が検出された場合に、リカバリ処理部103が、他のBIOSフラッシュROM16から読み出したデータを用いて異常発生個所のデータを上書き更新することで、BIOSデータの修復を行なう。
これにより、異常が検出されたBIOSフラッシュROM16を、CM1内において自己修復することができ、リカバリ処理に要する時間を短縮し、システム稼働率を向上させることができる。
また、BIOSフラッシュROM16やCM1等の部品交換が不要となり、保守に要するコストを削減することができる。
また、リカバリ処理部103によるBIOSフラッシュROM16の修復が行なわれた後に、診断部101が、異常を検出した領域に対して再度診断を行なう。これにより、信頼性を向上させることができる。
BIOSフラッシュROM16の診断や修復をPOST(Power On Self Test)中に行なうことで、RAS(Reliability Availability Serviceability)機能を保ちながらも、BIOSフラッシュROM16のリカバリ処理に要する時間を最小限にすることができる。
(D)その他
そして、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、上述した実施形態においては、CM1に2つのBIOSフラッシュROM16−1,16−2を備えることで冗長化した例を示しているが、これに限定されるものではなく、3つ以上のBIOSフラッシュROM16を備えてもよい。
また、上述した実施形態においては、CPU10がメモリ管理プログラムを実行することで、診断部101,EC情報更新部102,リカバリ処理部103,システムダウン処理部104およびエラー出力部105としての機能を実現しているが、これに限定されるものではない。例えば、これらのうち一部の機能を、他のプロセッサや回路装置によって実現してもよく、種々変形して実施することができる。
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
(E)付記
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
第1の起動プログラムを格納する第1記憶装置と、
第2の起動プログラムを格納する第2記憶装置と、
前記第1の起動プログラムを実行して行なわれる起動処理時に、前記第1記憶装置の診断を行なう診断部と、
前記診断部により前記第1記憶装置の異常が検出された場合に、前記第2記憶装置に格納された前記第2の起動プログラムから読み出したデータを用いて、前記第1記憶装置に格納された前記第1の起動プログラムのデータの格納領域における異常検出箇所を上書き更新することで、前記第1記憶装置を修復する修復部とを備える
ことを特徴とする、ストレージ制御装置。
(付記2)
前記第1記憶装置に格納された前記第1の起動プログラムと、前記第2記憶装置に格納された前記第2の起動プログラムとのいずれかを用いて、当該ストレージ制御装置の起動設定処理を行なう起動設定処理部と、
前記診断部が、前記第1記憶装置における、当該ストレージ制御装置の主記憶装置が使用可能になった以降の期間に前記起動設定処理部によって実行される前記起動プログラムのデータの格納領域において異常を検出した場合に、前記修復部が前記第1記憶装置を修復する
ことを特徴とする、付記1記載のストレージ制御装置。
(付記3)
前記第1記憶装置に格納された前記第1の起動プログラムと、前記第2記憶装置に格納された前記第2の起動プログラムとのうち、前記起動設定処理部が用いる起動プログラムを設定する設定部とを備え、
前記診断部が、前記第1記憶装置における、当該ストレージ制御装置の主記憶装置が使用不可の期間に前記起動設定処理部によって実行される前記起動プログラムのデータの格納領域において異常を検出した場合に、前記設定部が、次回の本ストレージ制御装置の起動時に、前記起動設定処理部が用いる前記起動プログラムを切り換えた後、当該ストレージ制御装置の再起動を行なう
ことを特徴とする、付記2記載のストレージ制御装置。
(付記4)
第1の起動プログラムを格納する第1記憶装置と、第2の起動プログラムを格納する第2記憶装置と、プロセッサと、を備える情報処理装置において、
前記プロセッサに、
前記第1の起動プログラムを実行して行なわれる起動処理時に、前記第1記憶装置の診断を行ない、
前記診断の結果、前記第1記憶装置の異常が検出された場合に、前記第2記憶装置に格納された前記第2の起動プログラムから読み出したデータを用いて、前記第1記憶装置に格納された前記第1の起動プログラムのデータの格納領域における異常検出箇所を上書き更新することで、前記第1記憶装置を修復する
処理を実行させる、記憶装置管理プログラム。
(付記5)
前記第1記憶装置に格納された前記第1の起動プログラムと、前記第2記憶装置に格納された前記第2の起動プログラムとのいずれかを用いて、当該情報処理装置の起動設定処理を行ない、
前記第1記憶装置における、当該情報処理装置の主記憶装置が使用可能になった以降の期間に前記プロセッサによって実行される前記起動プログラムのデータの格納領域において異常が検出された場合に、前記第1記憶装置を修復する
処理を前記プロセッサに実行させる、付記4記載の記憶装置管理プログラム。
(付記6)
前記第1記憶装置における、当該情報処理装置の主記憶装置が使用不可の期間に前記プロセッサによって実行される前記起動プログラムのデータの格納領域において異常を検出した場合に、
前記第1記憶装置に格納された前記第1の起動プログラムと、前記第2記憶装置に格納された前記第2の起動プログラムとのうち、次回の本情報処理装置の起動時に前記起動設定処理に用いられる起動プログラムを切り換え、
当該情報処理装置の再起動を行なう
処理を前記プロセッサに実行させる、付記5記載の記憶装置管理プログラム。
(付記7)
第1の起動プログラムを格納する第1記憶装置と、第2の起動プログラムを格納する第2記憶装置と、プロセッサと、を備える情報処理装置において、
前記プロセッサに、
前記第1の起動プログラムを実行して行なわれる起動処理時に、前記第1記憶装置の診断を行ない、
前記診断の結果、前記第1記憶装置の異常が検出された場合に、前記第2記憶装置に格納された前記第2の起動プログラムから読み出したデータを用いて、前記第1記憶装置に格納された前記第1の起動プログラムのデータの格納領域における異常検出箇所を上書き更新することで、前記第1記憶装置を修復する
処理を実行させる、記憶装置管理プログラムを記録したコンピュータ読取可能な記録媒体。
(付記8)
前記第1記憶装置に格納された前記第1の起動プログラムと、前記第2記憶装置に格納された前記第2の起動プログラムとのいずれかを用いて、当該情報処理装置の起動設定処理を行ない、
前記第1記憶装置における、当該情報処理装置の主記憶装置が使用可能になった以降の期間に前記プロセッサによって実行される前記起動プログラムのデータの格納領域において異常が検出された場合に、前記第1記憶装置を修復する
処理を前記プロセッサに実行させる、付記7記載の記憶装置管理プログラムを記録したコンピュータ読取可能な記録媒体。
(付記9)
前記第1記憶装置における、当該情報処理装置の主記憶装置が使用不可の期間に前記プロセッサによって実行される前記起動プログラムのデータの格納領域において異常を検出した場合に、
前記第1記憶装置に格納された前記第1の起動プログラムと、前記第2記憶装置に格納された前記第2の起動プログラムとのうち、次回の本情報処理装置の起動時に前記起動設定処理に用いられる起動プログラムを切り換え、
当該情報処理装置の再起動を行なう
処理を前記プロセッサに実行させる、付記8記載の記憶装置管理プログラムを記録したコンピュータ読取可能な記録媒体。
1 CM
10 CPU
11 PCH
12 FPGA
13 NVRAM
14 DIMM
15 エキスパンダ
16−1,16 BIOSフラッシュROM#0
16−2,16 BIOSフラッシュROM#1
101 診断部
102 EC情報更新部
103 リカバリ処理部
104 システムダウン処理部
105 エラー出力部

Claims (4)

  1. 第1の起動プログラムを格納する第1記憶装置と、
    第2の起動プログラムを格納する第2記憶装置と、
    前記第1の起動プログラムを実行して行なわれる起動処理時に、前記第1記憶装置の診断を行なう診断部と、
    前記診断部により前記第1記憶装置の異常が検出された場合に、前記第2記憶装置に格納された前記第2の起動プログラムから読み出したデータを用いて、前記第1記憶装置に格納された前記第1の起動プログラムのデータの格納領域における異常検出箇所を上書き更新することで、前記第1記憶装置を修復する修復部とを備える
    ことを特徴とする、ストレージ制御装置。
  2. 前記第1記憶装置に格納された前記第1の起動プログラムと、前記第2記憶装置に格納された前記第2の起動プログラムとのいずれかを用いて、当該ストレージ制御装置の起動設定処理を行なう起動設定処理部と、
    前記診断部が、前記第1記憶装置における、当該ストレージ制御装置の主記憶装置が使用可能になった以降の期間に前記起動設定処理部によって実行される前記起動プログラムのデータの格納領域において異常を検出した場合に、前記修復部が前記第1記憶装置を修復する
    ことを特徴とする、請求項1記載のストレージ制御装置。
  3. 前記第1記憶装置に格納された前記第1の起動プログラムと、前記第2記憶装置に格納された前記第2の起動プログラムとのうち、前記起動設定処理部が用いる起動プログラムを設定する設定部とを備え、
    前記診断部が、前記第1記憶装置における、当該ストレージ制御装置の主記憶装置が使用不可の期間に前記起動設定処理部によって実行される前記起動プログラムのデータの格納領域において異常を検出した場合に、前記設定部が、次回の本ストレージ制御装置の起動時に、前記起動設定処理部が用いる前記起動プログラムを切り換えた後、当該ストレージ制御装置の再起動を行なう
    ことを特徴とする、請求項2記載のストレージ制御装置。
  4. 第1の起動プログラムを格納する第1記憶装置と、第2の起動プログラムを格納する第2記憶装置と、プロセッサと、を備える情報処理装置において、
    前記プロセッサに、
    前記第1の起動プログラムを実行して行なわれる起動処理時に、前記第1記憶装置の診断を行ない、
    前記診断の結果、前記第1記憶装置の異常が検出された場合に、前記第2記憶装置に格納された前記第2の起動プログラムから読み出したデータを用いて、前記第1記憶装置に格納された前記第1の起動プログラムのデータの格納領域における異常検出箇所を上書き更新することで、前記第1記憶装置を修復する
    処理を実行させる、記憶装置管理プログラム。
JP2016152934A 2016-08-03 2016-08-03 ストレージ制御装置および記憶装置管理プログラム Active JP6740789B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016152934A JP6740789B2 (ja) 2016-08-03 2016-08-03 ストレージ制御装置および記憶装置管理プログラム
US15/654,908 US10691565B2 (en) 2016-08-03 2017-07-20 Storage control device and storage control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016152934A JP6740789B2 (ja) 2016-08-03 2016-08-03 ストレージ制御装置および記憶装置管理プログラム

Publications (2)

Publication Number Publication Date
JP2018022333A true JP2018022333A (ja) 2018-02-08
JP6740789B2 JP6740789B2 (ja) 2020-08-19

Family

ID=61071774

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016152934A Active JP6740789B2 (ja) 2016-08-03 2016-08-03 ストレージ制御装置および記憶装置管理プログラム

Country Status (2)

Country Link
US (1) US10691565B2 (ja)
JP (1) JP6740789B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111797440A (zh) * 2019-04-07 2020-10-20 新唐科技股份有限公司 安全装置、方法及其系统
CN112817619A (zh) * 2019-11-17 2021-05-18 新唐科技股份有限公司 电脑系统及其安全管理方法以及电脑软件产品

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11385902B2 (en) * 2019-11-17 2022-07-12 Nuvoton Technology Corporation Secure firmware management with hierarchical boot sequence using last known good firmware
US11080039B2 (en) * 2019-11-25 2021-08-03 Micron Technology, Inc. Resilient software updates in secure storage devices
JP2022066083A (ja) * 2020-10-16 2022-04-28 キヤノン株式会社 情報処理装置
JP2022126549A (ja) * 2021-02-18 2022-08-30 キヤノン株式会社 情報処理装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5918047A (en) * 1996-01-26 1999-06-29 Texas Instruments Incorporated Initializing a processing system
JP2003316582A (ja) * 2002-04-24 2003-11-07 Nec System Technologies Ltd 2重化biosの制御方法と装置
US20050081090A1 (en) * 2003-09-29 2005-04-14 Giga-Byte Technology Co., Ltd. Method for automatically and safely recovering BIOS memory circuit in memory device including double BIOS memory circuits
US20100281297A1 (en) * 2009-04-29 2010-11-04 Jibbe Mahmoud K Firmware recovery in a raid controller by using a dual firmware configuration
JP2013073258A (ja) * 2011-09-26 2013-04-22 Nec Corp ストレージ装置及びストレージ装置のプログラムデータ復旧方法
JP2014522070A (ja) * 2011-08-16 2014-08-28 グーグル インコーポレイテッド セキュア・リカバリ装置及び方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080109647A1 (en) * 2006-11-07 2008-05-08 Lee Merrill Gavens Memory controllers for performing resilient firmware upgrades to a functioning memory
JP5113700B2 (ja) * 2008-09-24 2013-01-09 株式会社日立ソリューションズ ファームウェア更新装置及び方法
US8645749B2 (en) * 2009-02-04 2014-02-04 Micron Technology, Inc. Systems and methods for storing and recovering controller data in non-volatile memory devices
JP2011053984A (ja) 2009-09-02 2011-03-17 Fuji Electric Holdings Co Ltd ファームウェア保護装置、そのプログラム
JP5013324B2 (ja) 2010-01-29 2012-08-29 日本電気株式会社 コンピュータ装置及びそのbiosアップデート方法
EP2989579B1 (en) * 2013-04-23 2018-06-06 Hewlett-Packard Development Company, L.P. Redundant system boot code in a secondary non-volatile memory

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5918047A (en) * 1996-01-26 1999-06-29 Texas Instruments Incorporated Initializing a processing system
JP2003316582A (ja) * 2002-04-24 2003-11-07 Nec System Technologies Ltd 2重化biosの制御方法と装置
US20050081090A1 (en) * 2003-09-29 2005-04-14 Giga-Byte Technology Co., Ltd. Method for automatically and safely recovering BIOS memory circuit in memory device including double BIOS memory circuits
US20100281297A1 (en) * 2009-04-29 2010-11-04 Jibbe Mahmoud K Firmware recovery in a raid controller by using a dual firmware configuration
JP2014522070A (ja) * 2011-08-16 2014-08-28 グーグル インコーポレイテッド セキュア・リカバリ装置及び方法
JP2013073258A (ja) * 2011-09-26 2013-04-22 Nec Corp ストレージ装置及びストレージ装置のプログラムデータ復旧方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111797440A (zh) * 2019-04-07 2020-10-20 新唐科技股份有限公司 安全装置、方法及其系统
CN111797440B (zh) * 2019-04-07 2023-05-19 新唐科技股份有限公司 安全装置、方法及其系统
CN112817619A (zh) * 2019-11-17 2021-05-18 新唐科技股份有限公司 电脑系统及其安全管理方法以及电脑软件产品
CN112817619B (zh) * 2019-11-17 2023-07-28 新唐科技股份有限公司 电脑系统及其安全管理方法以及电脑软件产品

Also Published As

Publication number Publication date
US10691565B2 (en) 2020-06-23
JP6740789B2 (ja) 2020-08-19
US20180039553A1 (en) 2018-02-08

Similar Documents

Publication Publication Date Title
JP6740789B2 (ja) ストレージ制御装置および記憶装置管理プログラム
JP6198876B2 (ja) セキュア・リカバリ装置及び方法
US7818556B2 (en) Storage apparatus, control method, and control device which can be reliably started up when power is turned on even after there is an error during firmware update
TWI627527B (zh) 基板管理控制器的回復方法及基板管理控制器
US7765393B1 (en) Method and system of embedding a boot loader as system firmware
TWI501253B (zh) 於裝置開機期間處置來自非揮發性記憶體之錯誤
CN106990958B (zh) 一种扩展组件、电子设备及启动方法
JP5077726B1 (ja) コンピュータ、その制御方法及びプログラム
TW201520895A (zh) Bios自動恢復系統及方法
US7434042B2 (en) Apparatus, method and recording medium for starting up data processing system
US20150199190A1 (en) System and method for updating firmware
US20080126784A1 (en) Storage apparatus, control method, and control device
US11379330B2 (en) Information handling systems and related methods for testing memory during boot and during operating system (OS) runtime
JP2010092127A (ja) コンピュータ装置、プロセッサ診断方法、及びプロセッサ診断制御プログラム
US11726879B2 (en) Multiple block error correction in an information handling system
US10777296B2 (en) Information handling system and method to dynamically detect and recover from thermally induced memory failures
CN113094107A (zh) 数据保护方法、装置、设备及计算机存储介质
JP4483876B2 (ja) 二重化システムにおける記憶装置の制御方法
JP2004054616A (ja) ファームウェア自動修復機能を有する情報処理装置
WO2014024279A1 (ja) メモリ障害リカバリ装置、方法、及びプログラム
KR20080107629A (ko) 시스템 복원 장치 및 방법
JP2009025967A (ja) 二重化ファームウェアのバックアップ方式、方法、及び、オペレーティングシステム
JP6911591B2 (ja) 情報処理装置、制御装置および情報処理装置の制御方法
US20230069169A1 (en) Information processing apparatus and control method of the same
US11250929B2 (en) System for detecting computer startup and method of system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190513

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190607

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200316

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200407

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200601

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200706

R150 Certificate of patent or registration of utility model

Ref document number: 6740789

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150