JP4483876B2 - 二重化システムにおける記憶装置の制御方法 - Google Patents

二重化システムにおける記憶装置の制御方法 Download PDF

Info

Publication number
JP4483876B2
JP4483876B2 JP2007041983A JP2007041983A JP4483876B2 JP 4483876 B2 JP4483876 B2 JP 4483876B2 JP 2007041983 A JP2007041983 A JP 2007041983A JP 2007041983 A JP2007041983 A JP 2007041983A JP 4483876 B2 JP4483876 B2 JP 4483876B2
Authority
JP
Japan
Prior art keywords
storage device
data
calculated
written
calculated value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007041983A
Other languages
English (en)
Other versions
JP2008204327A (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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2007041983A priority Critical patent/JP4483876B2/ja
Publication of JP2008204327A publication Critical patent/JP2008204327A/ja
Application granted granted Critical
Publication of JP4483876B2 publication Critical patent/JP4483876B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Hardware Redundancy (AREA)

Description

本発明は、二重化システムにおける記憶装置の制御方法に関し、特に、二重化システムにおける書き換え回数に制限のあるNVRAM等で構成される記憶装置を制御する二重化システムにおける記憶装置の制御方法に関する。
コンピュータシステムにおいては、温度やファンの回転数、電源の状態などを監視する機能や、OSに依存せずに遠隔制御を行うための機能を持ったいわゆるBMC(Baseboard Management Controller)が従来から使用されている。そのようなBMCを持つシステムを二重化する場合には、それぞれのBMCが連携して二重化システムの制御を行う。
このBMCは、システム監視や遠隔制御のために必要な設定情報を格納する不揮発性メモリ(例えばNVRAM(Nonvolatile Random Access Memory)等)を持つが、二重化システムにおいては単一点故障(1つのハードウェアの故障によりシステム全体が機能しなくなること)を防ぐために、NVRAMの二重化も必要となる。
特許文献1記載の発明では、サービスプロセッサ(BMCに対応する)に内蔵ディスク(NVRAMに対応する)を内蔵して二重化する方法が示されている。この発明では、サービスプロセッサおよび内蔵ディスクをそれぞれ二重化し、サービスプロセッサのいずれかが故障したときや、内蔵ディスクのいずれかが故障したときでも、単一点故障を防ぐことができる。
特開平3−167636号公報
しかしながら、従来の技術には以下のような問題点があった。
第1の問題点は、片方のシステムやBMCの交換を行う際に、事前に保存しておいたBMCのNVRAMの情報を書き戻す手順が必要となることである。その理由は、NVRAMそのものが交換対象の中に含まれているためである。
第2の問題点は、二重化したNVRAMの情報に不一致が発生した場合に、BMCがどちらのNVRAMの情報を採用すべきか判断できない場合があることである。その理由は、BMCのNVRAMには容量や書き換え回数の制限が厳しいものが多く、NVRAMの書き換え時にタイムスタンプを同時に書き込み、このタイムスタンプを二重化したNVRAMのどちらの情報が新しいものなのかを判断するための条件とすることができないことがあるためである。これは、例えば、二重化したNVRAMの情報に不一致が発生した状態でBMCの初期化が行われるような場合に問題となる。これらのことは、特許文献1に記載の発明においても同様である。
本発明の目的は、二重化システムにおいて、システムやBMCが交換された場合でも、そのままNVRAMを使用できるNVRAMの制御方法を提供することにある。また、本発明の他の目的は、二重化したNVRAMの情報に不一致が発生した場合でも、正しい方のNVRAMの情報を使用できるNVRAMの制御方法を提供することにある。
請求項1に記載の二重化システムにおける制御方法は、記憶部を有し所定の制御処理を実行する二重化された制御装置と、前記制御装置とは独立して設けられ、前記制御装置によってデータの書き換えが可能な二重化された記憶装置とを備える二重化システムにおける制御方法であって、前記制御装置は、前記記憶装置の少なくともいずれか一方にデータを書き込む第1の書き込みステップと、前記データに対して所定の演算を行うことによって算出された算出値を前記記憶部の一方に書き込む第2の書き込みステップと、起動時に、前記記憶装置の双方に書き込まれた前記データ同士を比較し、両者が一致するか否かを判定する第1の判定ステップと、前記第1の判定ステップにおいて、両者が一致しないと判定されたとき、前記記憶装置の一方に書き込まれた前記データから算出された算出値、および前記記憶装置の他方に書き込まれた前記データから算出された算出値のそれぞれと、前記記憶部の一方に書き込まれた前記算出値とを比較する第1の比較ステップと、前記第1の比較ステップにおける比較結果に応じて、前記データの正否を判定する第2の判定ステップとを実行し、前記制御装置は、前記二重化された記憶装置とは独立した交換単位であり、前記制御装置が交換される際は、交換前に使用していた前記二重化された記憶装置をそのまま使用することを特徴とする。
請求項2に記載の二重化システムにおける制御方法は、第1の記憶装置を有し所定の制御処理を実行する第1の制御装置と、第2の記憶装置を有し所定の制御処理を実行する第2の制御装置と、前記第1の制御装置および前記第2の制御装置とは独立して設けられ、前記第1の制御装置および前記第2の制御装置によってデータの書き換えが可能な第3の記憶装置および第4の記憶装置とを備える二重化システムにおける制御方法であって、前記第1の制御装置は、前記第3の記憶装置および前記第4の記憶装置のうちの少なくともいずれかにデータを書き込む第1の書き込みステップと、前記データに対して所定の演算を行うことによって算出された算出値を前記第1の記憶装置に書き込む第2の書き込みステップと、起動時に、前記第3の記憶装置に書き込まれた前記データと、前記第4の記憶装置に書き込まれた前記データとを比較し、両者が一致するか否かを判定する第1の判定ステップと、前記第1の判定ステップにおいて、両者が一致しないと判定されたとき、前記第3の記憶装置に書き込まれた前記データから算出された算出値、および前記第4の記憶装置に書き込まれた前記データから算出された算出値のそれぞれと、前記第1の記憶装置に書き込まれた前記算出値とを比較する第1の比較ステップと、前記第1の比較ステップにおける比較結果に応じて、前記データの正否を判定する第2の判定ステップとを備え、前記第2の制御装置は、前記第3の記憶装置および前記第4の記憶装置のうちの少なくともいずれかにデータを書き込む第3の書き込みステップと、前記データに対して所定の演算を行うことによって算出された算出値を前記第2の記憶装置に書き込む第4の書き込みステップと、起動時に、前記第3の記憶装置に書き込まれた前記データと、前記第4の記憶装置に書き込まれた前記データとを比較し、両者が一致するか否かを判定する第3の判定ステップと、前記第3の判定ステップにおいて、両者が一致しないと判定されたとき、前記第3の記憶装置に書き込まれた前記データから算出された算出値、および前記第4の記憶装置に書き込まれた前記データから算出された算出値のそれぞれと、前記第2の記憶装置に書き込まれた前記算出値とを比較する第2の比較ステップと、前記第2の比較ステップにおける比較結果に応じて、前記データの正否を判定する第4の判定ステップとを実行し、前記第1の制御装置および前記第2の制御装置は、前記第3の記憶装置および前記第4の記憶装置とは独立した交換単位であり、前記第1の制御装置または前記第2の制御装置が交換される際は、交換前に使用していた前記第3の記憶装置および前記第4の記憶装置をそのまま使用することを特徴とする。
また、前記算出値は、前記データに基づいて算出された前記データのサイズよりも小さいサイズのハッシュ値とすることができる。
また、前記算出値は、前記データに基づいて算出された前記データのサイズよりも小さいサイズのチェックサムとすることができる。
また、前記第1の比較ステップにおける比較の結果、前記第3の記憶装置に書き込まれた前記データから算出された算出値、および前記第4の記憶装置に書き込まれた前記データから算出された算出値のいずれか一方と、前記第1の記憶装置に書き込まれた前記算出値とが一致した場合、前記第3の記憶装置および前記第4の記憶装置のうち、一致した方に記憶されている前記データによって、一致しなかった方に記憶されている前記データが更新されるようにすることができる。
また、前記第2の比較ステップにおける比較の結果、前記第3の記憶装置に書き込まれた前記データから算出された算出値、および前記第4の記憶装置に書き込まれた前記データから算出された算出値のいずれか一方と、前記第2の記憶装置に書き込まれた前記算出値とが一致した場合、前記第3の記憶装置および前記第4の記憶装置のうち、一致した方に記憶されている前記データによって、一致しなかった方に記憶されている前記データが更新されるようにすることができる。
また、前記第1の比較ステップにおける比較の結果、前記第3の記憶装置に書き込まれた前記データから算出された算出値、および前記第4の記憶装置に書き込まれた前記データから算出された算出値の双方とも、前記第1の記憶装置に書き込まれた前記算出値と一致した場合、および双方とも一致しなかった場合、前記第3の記憶装置および前記第4の記憶装置に対して所定の初期値が書き込まれるようにすることができる。
また、前記第2の比較ステップにおける比較の結果、前記第3の記憶装置に書き込まれた前記データから算出された算出値、および前記第4の記憶装置に書き込まれた前記データから算出された算出値の双方とも、前記第2の記憶装置に書き込まれた前記算出値と一致した場合、および双方とも一致しなかった場合、前記第3の記憶装置および前記第4の記憶装置に対して所定の初期値が書き込まれるようにすることができる。
請求項9に記載の二重化システム制御装置は、記憶部を有し所定の制御処理を実行する二重化された制御装置と、前記制御装置とは独立して設けられ、前記制御装置によってデータの書き換えが可能な二重化された記憶装置とを備える二重化システム制御装置であって、前記制御装置は、前記記憶装置の少なくともいずれか一方にデータを書き込む第1の書き込み手段と、前記データに対して所定の演算を行うことによって算出された算出値を前記記憶部の一方に書き込む第2の書き込み手段と、起動時に、前記記憶装置の双方に書き込まれた前記データ同士を比較し、両者が一致するか否かを判定する第1の判定手段と、前記第1の判定手段によって、両者が一致しないと判定されたとき、前記記憶装置の一方に書き込まれた前記データから算出された算出値、および前記記憶装置の他方に書き込まれた前記データから算出された算出値のそれぞれと、前記記憶部の一方に書き込まれた前記算出値とを比較する第1の比較手段と、前記第1の比較手段による比較結果に応じて、前記データの正否を判定する第2の判定手段とを備え、前記制御装置は、前記二重化された記憶装置とは独立した交換単位であり、前記制御装置が交換される際は、交換前に使用していた前記二重化された記憶装置をそのまま使用することを特徴とする。
請求項10に記載の二重化システム制御装置は、第1の記憶装置を有し所定の制御処理を実行する第1の制御装置と、第2の記憶装置を有し所定の制御処理を実行する第2の制御装置と、前記第1の制御装置および前記第2の制御装置とは独立して設けられ、前記第1の制御装置および前記第2の制御装置によってデータの書き換えが可能な第3の記憶装置および第4の記憶装置とを備える二重化システム制御装置であって、前記第1の制御装置は、前記第3の記憶装置および前記第4の記憶装置のうちの少なくともいずれかにデータを書き込む第1の書き込み手段と、前記データに対して所定の演算を行うことによって算出された算出値を前記第1の記憶装置に書き込む第2の書き込み手段と、起動時に、前記第3の記憶装置に書き込まれた前記データと、前記第4の記憶装置に書き込まれた前記データとを比較し、両者が一致するか否かを判定する第1の判定手段と、前記第1の判定手段によって、両者が一致しないと判定されたとき、前記第3の記憶装置に書き込まれた前記データから算出された算出値、および前記第4の記憶装置に書き込まれた前記データから算出された算出値のそれぞれと、前記第1の記憶装置に書き込まれた前記算出値とを比較する第1の比較手段と、前記第1の比較手段による比較結果に応じて、前記データの正否を判定する第2の判定手段とを備え、前記第2の制御装置は、前記第3の記憶装置および前記第4の記憶装置のうちの少なくともいずれかにデータを書き込む第3の書き込み手段と、前記データに対して所定の演算を行うことによって算出された算出値を前記第2の記憶装置に書き込む第4の書き込み手段と、起動時に、前記第3の記憶装置に書き込まれた前記データと、前記第4の記憶装置に書き込まれた前記データとを比較し、両者が一致するか否かを判定する第3の判定手段と、前記第3の判定手段によって、両者が一致しないと判定されたとき、前記第3の記憶装置に書き込まれた前記データから算出された算出値、および前記第4の記憶装置に書き込まれた前記データから算出された算出値のそれぞれと、前記第2の記憶装置に書き込まれた前記算出値とを比較する第2の比較手段と、前記第2の比較手段による比較結果に応じて、前記データの正否を判定する第4の判定手段とを備え、前記第1の制御装置および前記第2の制御装置は、前記第3の記憶装置および前記第4の記憶装置とは独立した交換単位であり、前記第1の制御装置または前記第2の制御装置が交換される際は、交換前に使用していた前記第3の記憶装置および前記第4の記憶装置をそのまま使用することを特徴とする。
また、前記算出値は、前記データに基づいて算出された前記データのサイズよりも小さいサイズのハッシュ値とすることができる
また、前記算出値は、前記データに基づいて算出された前記データのサイズよりも小さいサイズのチェックサムとすることができる。
また、前記第1の比較手段による比較の結果、前記第3の記憶装置に書き込まれた前記データから算出された算出値、および前記第4の記憶装置に書き込まれた前記データから算出された算出値のいずれか一方と、前記第1の記憶装置に書き込まれた前記算出値とが一致した場合、前記第3の記憶装置および前記第4の記憶装置のうち、一致した方に記憶されている前記データによって、一致しなかった方に記憶されている前記データが更新されるようにすることができる。
また、前記第2の比較手段による比較の結果、前記第3の記憶装置に書き込まれた前記データから算出された算出値、および前記第4の記憶装置に書き込まれた前記データから算出された算出値のいずれか一方と、前記第2の記憶装置に書き込まれた前記算出値とが一致した場合、前記第3の記憶装置および前記第4の記憶装置のうち、一致した方に記憶されている前記データによって、一致しなかった方に記憶されている前記データが更新されるようにすることができる。
また、前記第1の比較手段による比較の結果、前記第3の記憶装置に書き込まれた前記データから算出された算出値、および前記第4の記憶装置に書き込まれた前記データから算出された算出値の双方とも、前記第1の記憶装置に書き込まれた前記算出値と一致した場合、または双方とも一致しなかった場合、前記第3の記憶装置および前記第4の記憶装置に対して所定の初期値が書き込まれるようにすることができる。
また、前記第2の比較手段による比較の結果、前記第3の記憶装置に書き込まれた前記データから算出された算出値、および前記第4の記憶装置に書き込まれた前記データから算出された算出値の双方とも、前記第2の記憶装置に書き込まれた前記算出値と一致した場合、または双方とも一致しなかった場合、前記第3の記憶装置および前記第4の記憶装置に対して所定の初期値が書き込まれるようにすることができる。
請求項17に記載の二重化システムにおける制御プログラムは、記憶部を有し所定の制御処理を実行する二重化された制御装置と、前記制御装置とは独立して設けられ、前記制御装置によってデータの書き換えが可能な二重化された記憶装置とを備える二重化システムにおける制御プログラムであって、前記制御装置に、前記記憶装置の少なくともいずれか一方にデータを書き込む第1の書き込みステップと、前記データに対して所定の演算を行うことによって算出された算出値を前記記憶部の一方に書き込む第2の書き込みステップと、起動時に、前記記憶装置の双方に書き込まれた前記データ同士を比較し、両者が一致するか否かを判定する第1の判定ステップと、前記第1の判定ステップにおいて、両者が一致しないと判定されたとき、前記記憶装置の一方に書き込まれた前記データから算出された算出値、および前記記憶装置の他方に書き込まれた前記データから算出された算出値のそれぞれと、前記記憶部の一方に書き込まれた前記算出値とを比較する第1の比較ステップと、前記第1の比較ステップにおける比較結果に応じて、前記データの正否を判定する第2の判定ステップとを実行させ、前記制御装置は、前記二重化された記憶装置とは独立した交換単位であり、前記制御装置が交換される際は、交換前に使用していた前記二重化された記憶装置をそのまま使用させることを特徴とする。
請求項18に記載の二重化システムにおける制御プログラムは、第1の記憶装置を有し所定の制御処理を実行する第1の制御装置と、第2の記憶装置を有し所定の制御処理を実行する第2の制御装置と、前記第1の制御装置および前記第2の制御装置とは独立して設けられ、前記第1の制御装置および前記第2の制御装置によってデータの書き換えが可能な第3の記憶装置および第4の記憶装置とを備える二重化システムにおける制御プログラムであって、前記第1の制御装置に、前記第3の記憶装置および前記第4の記憶装置のうちの少なくともいずれかにデータを書き込む第1の書き込みステップと、前記データに対して所定の演算を行うことによって算出された算出値を前記第1の記憶装置に書き込む第2の書き込みステップと、起動時に、前記第3の記憶装置に書き込まれた前記データと、前記第4の記憶装置に書き込まれた前記データとを比較し、両者が一致するか否かを判定する第1の判定ステップと、前記第1の判定ステップにおいて、両者が一致しないと判定されたとき、前記第3の記憶装置に書き込まれた前記データから算出された算出値、および前記第4の記憶装置に書き込まれた前記データから算出された算出値のそれぞれと、前記第1の記憶装置に書き込まれた前記算出値とを比較する第1の比較ステップと、前記第1の比較ステップにおける比較結果に応じて、前記データの正否を判定する第2の判定ステップとを実行させ、前記第2の制御装置に、前記第3の記憶装置および前記第4の記憶装置のうちの少なくともいずれかにデータを書き込む第3の書き込みステップと、前記データに対して所定の演算を行うことによって算出された算出値を前記第2の記憶装置に書き込む第4の書き込みステップと、起動時に、前記第3の記憶装置に書き込まれた前記データと、前記第4の記憶装置に書き込まれた前記データとを比較し、両者が一致するか否かを判定する第3の判定ステップと、前記第3の判定ステップにおいて、両者が一致しないと判定されたとき、前記第3の記憶装置に書き込まれた前記データから算出された算出値、および前記第4の記憶装置に書き込まれた前記データから算出された算出値のそれぞれと、前記第2の記憶装置に書き込まれた前記算出値とを比較する第2の比較ステップと、前記第2の比較ステップにおける比較結果に応じて、前記データの正否を判定する第4の判定ステップとを実行させ、前記第1の制御装置および前記第2の制御装置は、前記第3の記憶装置および前記第4の記憶装置とは独立した交換単位であり、前記第1の制御装置または前記第2の制御装置が交換される際は、交換前に使用していた前記第3の記憶装置および前記第4の記憶装置をそのまま使用させることを特徴とする。
また、前記算出値は、前記データに基づいて算出された前記データのサイズよりも小さいサイズのハッシュ値とすることができる。
また、前記算出値は、前記データに基づいて算出された前記データのサイズよりも小さいサイズのチェックサムとすることができる。
また、前記第1の比較ステップにおける比較の結果、前記第3の記憶装置に書き込まれた前記データから算出された算出値、および前記第4の記憶装置に書き込まれた前記データから算出された算出値のいずれか一方と、前記第1の記憶装置に書き込まれた前記算出値とが一致した場合、前記第3の記憶装置および前記第4の記憶装置のうち、一致した方に記憶されている前記データによって、一致しなかった方に記憶されている前記データが更新されるようにすることができる。
また、前記第2の比較ステップにおける比較の結果、前記第3の記憶装置に書き込まれた前記データから算出された算出値、および前記第4の記憶装置に書き込まれた前記データから算出された算出値のいずれか一方と、前記第2の記憶装置に書き込まれた前記算出値とが一致した場合、前記第3の記憶装置および前記第4の記憶装置のうち、一致した方に記憶されている前記データによって、一致しなかった方に記憶されている前記データが更新されるようにすることができる。
また、前記第1の比較ステップにおける比較の結果、前記第3の記憶装置に書き込まれた前記データから算出された算出値、および前記第4の記憶装置に書き込まれた前記データから算出された算出値の双方とも、前記第1の記憶装置に書き込まれた前記算出値と一致した場合、および双方とも一致しなかった場合、前記第3の記憶装置および前記第4の記憶装置に対して所定の初期値が書き込まれるようにすることができる。
また、前記第2の比較ステップにおける比較の結果、前記第3の記憶装置に書き込まれた前記データから算出された算出値、および前記第4の記憶装置に書き込まれた前記データから算出された算出値の双方とも、前記第2の記憶装置に書き込まれた前記算出値と一致した場合、および双方とも一致しなかった場合、前記第3の記憶装置および前記第4の記憶装置に対して所定の初期値が書き込まれるようにすることができる。
本発明によれば、二重化された第1の制御装置または第2の制御装置の一方が交換された場合でも、二重化された第3の記憶装置または第4の記憶装置をそのまま使用することができ、作業効率を向上させることができる。
また、第1の制御装置または第2の制御装置による第3の記憶装置または第4の記憶装置へのデータの書き込み中にエラーが発生し、第3の記憶装置のデータと第4の記憶装置のデータとが一致しなくなった場合でも、第1の制御装置または第2の制御装置の初期化開始時には第3の記憶装置のデータと第4の記憶装置のデータのうち正しい方のデータを初期値として使用することができる。
また、第1の制御装置または第2の制御装置が交換され、第3の記憶装置のデータと第4の記憶装置のデータとが一致しない状態になっている場合でも、第1の制御装置または第2の制御装置の初期化開始時に、第3の記憶装置および第4の記憶装置とは別の装置で設定されていたデータが第3の記憶装置および第4の記憶装置の初期値として使用されることがないようにすることができる。これにより、誤ったデータが初期値として使用されることを抑制することができる。
以下、本発明の実施の形態について図面を参照して詳細に説明する。図1を参照すると、本発明の一実施の形態としての二重化NVRAM制御システムが示されている。図1において、二重化NVRAM1はシステム2とシステム3に接続されている。システム2とシステム3はそれぞれが交換単位であり、システム2とシステム3で構成される二重化システムにおいては、二重化システム運用中にシステム2またはシステム3を交換することができる。
二重化NVRAM1はNVRAM11とNVRAM12を備えている。NVRAM11とNVRAM12はそれぞれBMC21のためのNVRAM領域とBMC31のためのNVRAM領域を持つ。システム2はBMC21を備えている。システム3はBMC31を備えている。BMC21はバックアップNVRAM211を備えている。BMC31はバックアップNVRAM311を備えている。BMC21とBMC31はそれぞれが交換単位であっても良い。BMC21およびBMC31は、図示はしないが、それぞれ各種処理を実行するとともに各部を制御するCPU(Central Processing Unit)と、制御プログラムや各種設定値等を記憶するROM(ROM)と、CPUが各種処理や各部を制御する際に必要とされる各種データ等を一時的に記憶するRAM(Random Access Memory)と、二重化NVRAM1や、他のシステム(システム1またはシステム2)のBMC21またはBMC31との間で各種データやコマンドの送受信を行う入出力制御装置等を備え、CPUがROMに記憶されている制御プログラムに従って、二重化NVRAM1へのデータの書き込みや、バックアップNVRAM211,311へのデータやハッシュ値またはチェックサム等の書き込みや、比較処理、判定処理等、後述する各種処理を実行するようになっている。
次に、図1の二重化NVRAM制御システムの動作について説明する。BMC21またはBMC31が二重化NVRAM1にデータの書き込みを行う際には、NVRAM11とNVRAM12の両方にそれぞれ書き込みを行い、バックアップNVRAM211またはバックアップNVRAM311にも同じ内容のデータの書き込みを行う。
BMC21またはBMC31が二重化NVRAM1からデータの読み込みを行う場合には、NVRAM11とNVRAM12のどちらからデータの読み込みを行っても良い。
BMC21またはBMC31の動作中に、NVRAM11およびNVRAM12のうちのどちらか一方が故障した場合には、自系BMCが停止するまではNVRAM11およびNVRAM12のうち使用できる方のみを使用する。
BMC21(またはBMC31)の起動時には、それぞれ次の手順で二重化NVRAM1の初期化を行う。まず、NVRAM11に記憶されているデータとNVRAM12に記憶されているデータを比較し、一致する場合には、NVRAM11に記憶されているデータとNVRAM12に記憶されているデータをそのまま使用する。
一方、NVRAM11に記憶されているデータとNVRAM12に記憶されているデータが一致しない場合には、NVRAM11に記憶されているデータとNVRAM12に記憶されているデータをそれぞれ、バックアップNVRAM211(またはバックアップNVRAM311)と比較し、NVRAM11およびNVRAM12のうち、バックアップNVRAM211(またはバックアップNVRAM311)とデータが一致した方のデータを、NVRAM11およびNVRAM12のうちデータが一致しなかった方に書き込む。NVRAM11およびNVRAM12のどちらもそれぞれバックアップNVRAM211(またはバックアップNVRAM311)とデータが一致しない場合には、BMC21(またはBMC31)は、NVRAM11とNVRAM12に規定の初期値をそれぞれ書き込む。
次に、本発明の他の実施の形態の構成および動作について説明する。本実施の形態の基本的構成は上記の通りであるが、BMC21,31が備えるバックアップNVRAM211,311についてさらに工夫している。その構成は図1に示した上記実施の形態の場合と同一である。
BMC21(またはBMC31)が二重化NVRAM1にデータの書き込みを行う際には、NVRAM11とNVRAM12の両方にデータの書き込みを行い、バックアップNVRAM211(またはバックアップNVRAM311)にはNVRAM11とNVRAM12に書き込むデータのハッシュ値またはチェックサムのみを書き込む。ハッシュ値とは、例えば、データ全体から求めたハッシュ値とすることができる。チェックサムとは、データをブロック単位で分割し、各ブロック内のデータを数値とみなして合計を取ったものとして算出することができる。各ブロックの大きさは特に限定されない。
BMC21(またはBMC31)が二重化NVRAM1からデータの読み込みを行う場合には、NVRAM11とNVRAM12のどちらから読み込みを行っても良い。
BMC21(またはBMC31)動作中に、NVRAM11またはNVRAM12のどちらかが故障した場合には、自系BMC21(またはBMC31)が停止するまでは、NVRAM11およびNVRAM12のうち使用できる方のみを使用する。
BMC21(またはBMC31)の起動時には、それぞれ次の手順で二重化NVRAM1の初期化を行う。
(BMC21の場合)
図2のフローチャートに示したように、NVRAM11のBMC21が書き込みを行う領域に記憶されているデータと、NVRAM12のBMC21が書き込みを行う領域に記憶されているデータとを比較し(ステップS1)、比較の結果、両者が一致しない場合(ステップS2のNO)には、まず、NVRAM11のBMC21が書き込みを行う領域に記憶されているデータに基づいてハッシュ値またはチェックサムを計算し(捨てプログラムS3)、計算した結果として得られたハッシュ値またはチェックサムと、バックアップNVRAM211に格納されているハッシュ値またはチェックサムとの比較を行う(比較A)(ステップS4)。両者が一致する場合(ステップS2のYES)、そのままデータを使用する(ステップS10)。
次に、NVRAM12のBMC21が書き込みを行う領域に記憶されているデータに基づいてハッシュ値またはチェックサムを計算し(ステップS5)、計算した結果として得られたハッシュ値またはチェックサムと、バックアップNVRAM211に格納されているハッシュ値またはチェックサムとの比較を行う(比較B)(ステップS6)。
(比較A)および(比較B)のどちらか一方のみが「一致する」という結果になれば(ステップS7のYES)、一致した方の結果を正しいものとみなし、BMC21は、NVRAM11およびNVRAM12のうち、「一致する」という結果が得られた方のデータを、NVRAM11およびNVRAM12のうち、「一致しない」という結果が得られた方に書き込む(ステップS8)。
(比較A)の結果も(比較B)の結果も「不一致」だった場合(ステップS7のNO)には、NVRAM11のデータもNVRAM12のデータも正しくないことが明らかなため、BMC21は、NVRAM11とNVRAM12の双方に規定の初期値を書き込み初期化する(ステップS9)。
(比較A)の結果も(比較B)の結果も「一致する」となった場合(ステップS7のNO)、おそらくNVRAM11のデータとNVRAM12のデータのどちらかは正しいと思われるが、どちらが正しいのかを判断することはできないため、BMC21は、NVRAM11とNVRAM12の双方に規定の初期値を書き込み初期化する(ステップS9)。
(BMC31の場合)
図3のフローチャートに示したように、NVRAM11のBMC31が書き込みを行う領域に記憶されているデータとNVRAM12のBMC31が書き込みを行う領域に記憶されているデータとを比較し(ステップS21)、両者が一致しない場合(ステップS22のNO)には、まず、NVRAM11のBMC31が書き込みを行う領域に記憶されているデータに基づいてハッシュ値またはチェックサムを計算し(ステップS23)、計算した結果として得られたハッシュ値またはチェックサムと、バックアップNVRAM311に格納されているハッシュ値またはチェックサムとの比較を行う(比較C)(ステップS24)。
次に、NVRAM12のBMC31が書き込みを行う領域に記憶されているデータに基づいてハッシュ値またはチェックサムを計算し(ステップS25)、計算した結果として得られたハッシュ値またはチェックサムと、バックアップNVRAM311に格納されているハッシュ値またはチェックサムとの比較を行う(比較D)(ステップS26)。
(比較C)および(比較D)のどちらか一方のみが「一致する」という結果になれば(ステップS27のYES)、一致した方の結果を正しいものとみなし、BMC31は、NVRAM11およびNVRAM12のうち、「一致する」という結果が得られた方のデータを、NVRAM11およびNVRAM12のうち、「一致しない」という結果が得られた方に書き込む(ステップS28)。
(比較C)の結果も(比較D)の結果も「不一致」だった場合(ステップS27のNO)には、NVRAM11の値もNVRAM12の値も正しくないことが明らかなため、BMC31は、NVRAM11とNVRAM12の双方に規定の初期値を書き込み初期化する(ステップS29)。
(比較C)の結果も(比較D)の結果も「一致する」となった場合(ステップS27のNO)、おそらくNVRAM11の値とNVRAM12の値のどちらかは正しいと思われるが、どちらが正しいのかを判断することはできないため、BMC31は、NVRAM11とNVRAM12の双方に規定の初期値を書き込み初期化する(ステップS29)。
上記各実施の形態では、二重化されるそれぞれのシステム2,3には直接含まれないNVRAM11,12を2つ設けて二重化を行い、それぞれのシステム2,3に設けられた各BMC21,31内部にもバックアップNVRAM211,311をそれぞれ設け(BMC21内にバックアップNVRAM211を設け、BMC31内にバックアップNVRAM 311を設ける)、BMC21(またはBMC31)が二重化されたNVRAM11,12にデータを書き込む際には、必ずBMC21(またはBMC31)内部のバックアップNVRAM211(またはバックアップNVRAM311)にも同一内容のデータの書き込みを行う。そして、BMC21(またはBMC31)の初期化時には、二重化されたNVRAM11,12同士で記憶されているデータを比較し、それらのデータが一致していれば、各々記憶されているデータをそのままNVRAM11,12の値として使用する。一方、それらのデータが一致しない場合には、NVRAM11,12のデータとバックアップNVRAM211(またはバックアップNVRAM311)のデータとの比較をそれぞれ行い、一致する方のデータをNVRAM11,12のデータとしてそれぞれ使用する。どちらとも一致しない場合には、NVRAM11,12の内容をそれぞれ規定の値で初期化する。
二重化されたNVRAM11,12は、BMC21,31に直接含まれないため、それぞれのシステム2,3やBMC21,31を交換した場合でも、NVRAM11,12のデータをそのまま使用することができる。また、BMC21またはBMC31の初期化時に、二重化されたNVRAM11,12にデータの不一致が発生していても、BMC21(またはBMC31)の内部のバックアップNVRAM211(またはバックアップNVRAM311)のデータから、NVRAM11,12のどちらのデータが正しいかを判断することができる。さらに、バックアップNVRAM211,311のデータそのものをNVRAM11,12のデータとして使用しないため、誤って以前のシステムで設定されていたデータを使用しないようにすることができる。
以上説明したように、本実施の形態によれば、次のような効果を得ることができる。第1の効果は、二重化されたシステム2またはシステム3が交換された場合でも、二重化NVRAM1をそのまま使用することができることである。また、BMC21とBMC31が交換単位である場合には、BMC21またはBMC31が交換された場合でも二重化NVRAM1をそのまま使用することができる。その理由は、二重化NVRAM1は、システム2、システム3、BMC21、BMC31のいずれかが交換された場合でも、交換前と同じ内容のデータを保持しているためである。
第2の効果は、NVRAM11またはNVRAM12への書き込みが完了していない状態でBMC21またはBMC31が停止して、NVRAM11のデータおよびNVRAM12のデータが不一致の状態になっても、初期化開始時にはNVRAM11およびNVRAM12のうち正しい方のデータを初期値として使用することができることである。その理由は、バックアップNVRAM211またはバックアップNVRAM311には二重化NVRAM1に最後に書き込まれたデータが記録されているためである。
第3の効果は、システム2またはシステム3が交換された場合に、二重化NVRAM1を構成するNVRAM11のデータとNVRAM12のデータが不一致の状態になっていても、別のシステム(NVRAM1以外のシステム)で設定されていたNVRAM情報(この例ではバックアップNVRAM211またはNVRAM311のデータ)を使用してしまうことがないことである。また、BMC21とBMC31が交換単位である場合には、BMC21またはBMC31が交換された場合でも同様である。その理由は、二重化NVRAM1を構成するNVRAM11のデータとNVRAM12のデータが不一致の状態でも、バックアップNVRAM211またはNVRAM311のデータをそのまま使用することがないためである。
また、バックアップNVRAM211およびバックアップNVRAM311に、データそのものではなく、データから算出したハッシュ値またはチェックサムを書き込むようにすることにより、バックアップNVRAM211およびバックアップNVRAM311の容量を小さくすることができる。これにより、消費電力や製造コストを削減することができる。
なお、上記実施の形態の構成及び動作は例であって、本発明の趣旨を逸脱しない範囲で適宜変更することができることは言うまでもない。
本発明は、例えば、BMCを含むシステムだけでなく、二重化された他のシステムにも適用することができる。
本発明の一実施の形態の構成例を示すブロック図である。 図1の一方のBMCの処理手順を説明するためのフローチャートである。 図1の他方のBMCの処理手順を説明するためのフローチャートである。
符号の説明
1 二重化NVRAM
2,3 システム
11,12 NVRAM
21,31 BMC
211,311 バックアップNVRAM

Claims (24)

  1. 記憶部を有し所定の制御処理を実行する二重化された制御装置と、前記制御装置とは独立して設けられ、前記制御装置によってデータの書き換えが可能な二重化された記憶装置とを備える二重化システムにおける制御方法であって、
    前記制御装置は、
    前記記憶装置の少なくともいずれか一方にデータを書き込む第1の書き込みステップと、
    前記データに対して所定の演算を行うことによって算出された算出値を前記記憶部の一方に書き込む第2の書き込みステップと、
    起動時に、前記記憶装置の双方に書き込まれた前記データ同士を比較し、両者が一致するか否かを判定する第1の判定ステップと、
    前記第1の判定ステップにおいて、両者が一致しないと判定されたとき、前記記憶装置の一方に書き込まれた前記データから算出された算出値、および前記記憶装置の他方に書き込まれた前記データから算出された算出値のそれぞれと、前記記憶部の一方に書き込まれた前記算出値とを比較する第1の比較ステップと、
    前記第1の比較ステップにおける比較結果に応じて、前記データの正否を判定する第2の判定ステップとを実行し、
    前記制御装置は、前記二重化された記憶装置とは独立した交換単位であり、
    前記制御装置が交換される際は、交換前に使用していた前記二重化された記憶装置をそのまま使用する
    ことを特徴とする二重化システムにおける制御方法。
  2. 第1の記憶装置を有し所定の制御処理を実行する第1の制御装置と、第2の記憶装置を有し所定の制御処理を実行する第2の制御装置と、前記第1の制御装置および前記第2の制御装置とは独立して設けられ、前記第1の制御装置および前記第2の制御装置によってデータの書き換えが可能な第3の記憶装置および第4の記憶装置とを備える二重化システムにおける制御方法であって、
    前記第1の制御装置は、
    前記第3の記憶装置および前記第4の記憶装置のうちの少なくともいずれかにデータを書き込む第1の書き込みステップと、
    前記データに対して所定の演算を行うことによって算出された算出値を前記第1の記憶装置に書き込む第2の書き込みステップと、
    起動時に、前記第3の記憶装置に書き込まれた前記データと、前記第4の記憶装置に書き込まれた前記データとを比較し、両者が一致するか否かを判定する第1の判定ステップと、
    前記第1の判定ステップにおいて、両者が一致しないと判定されたとき、前記第3の記憶装置に書き込まれた前記データから算出された算出値、および前記第4の記憶装置に書き込まれた前記データから算出された算出値のそれぞれと、前記第1の記憶装置に書き込まれた前記算出値とを比較する第1の比較ステップと、
    前記第1の比較ステップにおける比較結果に応じて、前記データの正否を判定する第2の判定ステップとを備え、
    前記第2の制御装置は、
    前記第3の記憶装置および前記第4の記憶装置のうちの少なくともいずれかにデータを書き込む第3の書き込みステップと、
    前記データに対して所定の演算を行うことによって算出された算出値を前記第2の記憶装置に書き込む第4の書き込みステップと、
    起動時に、前記第3の記憶装置に書き込まれた前記データと、前記第4の記憶装置に書き込まれた前記データとを比較し、両者が一致するか否かを判定する第3の判定ステップと、
    前記第3の判定ステップにおいて、両者が一致しないと判定されたとき、前記第3の記憶装置に書き込まれた前記データから算出された算出値、および前記第4の記憶装置に書き込まれた前記データから算出された算出値のそれぞれと、前記第2の記憶装置に書き込まれた前記算出値とを比較する第2の比較ステップと、
    前記第2の比較ステップにおける比較結果に応じて、前記データの正否を判定する第4の判定ステップとを実行し、
    前記第1の制御装置および前記第2の制御装置は、前記第3の記憶装置および前記第4の記憶装置とは独立した交換単位であり、
    前記第1の制御装置または前記第2の制御装置が交換される際は、交換前に使用していた前記第3の記憶装置および前記第4の記憶装置をそのまま使用する
    ことを特徴とする二重化システムにおける制御方法。
  3. 前記算出値は、前記データに基づいて算出された前記データのサイズよりも小さいサイズのハッシュ値である
    ことを特徴とする請求項2に記載の二重化システムにおける制御方法。
  4. 前記算出値は、前記データに基づいて算出された前記データのサイズよりも小さいサイズのチェックサムである
    ことを特徴とする請求項2に記載の二重化システムにおける制御方法。
  5. 前記第1の比較ステップにおける比較の結果、前記第3の記憶装置に書き込まれた前記データから算出された算出値、および前記第4の記憶装置に書き込まれた前記データから算出された算出値のいずれか一方と、前記第1の記憶装置に書き込まれた前記算出値とが一致した場合、前記第3の記憶装置および前記第4の記憶装置のうち、一致した方に記憶されている前記データによって、一致しなかった方に記憶されている前記データが更新される
    ことを特徴とする請求項2乃至4のいずれかに記載の二重化システムにおける制御方法。
  6. 前記第2の比較ステップにおける比較の結果、前記第3の記憶装置に書き込まれた前記データから算出された算出値、および前記第4の記憶装置に書き込まれた前記データから算出された算出値のいずれか一方と、前記第2の記憶装置に書き込まれた前記算出値とが一致した場合、前記第3の記憶装置および前記第4の記憶装置のうち、一致した方に記憶されている前記データによって、一致しなかった方に記憶されている前記データが更新される
    ことを特徴とする請求項2乃至4のいずれかに記載の二重化システムにおける制御方法。
  7. 前記第1の比較ステップにおける比較の結果、前記第3の記憶装置に書き込まれた前記データから算出された算出値、および前記第4の記憶装置に書き込まれた前記データから算出された算出値の双方とも、前記第1の記憶装置に書き込まれた前記算出値と一致した場合、および双方とも一致しなかった場合、前記第3の記憶装置および前記第4の記憶装置に対して所定の初期値が書き込まれる
    ことを特徴とする請求項2乃至4のいずれかに記載の二重化システムにおける制御方法。
  8. 前記第2の比較ステップにおける比較の結果、前記第3の記憶装置に書き込まれた前記データから算出された算出値、および前記第4の記憶装置に書き込まれた前記データから算出された算出値の双方とも、前記第2の記憶装置に書き込まれた前記算出値と一致した場合、および双方とも一致しなかった場合、前記第3の記憶装置および前記第4の記憶装置に対して所定の初期値が書き込まれる
    ことを特徴とする請求項2乃至4のいずれかに記載の二重化システムにおける制御方法。
  9. 記憶部を有し所定の制御処理を実行する二重化された制御装置と、前記制御装置とは独立して設けられ、前記制御装置によってデータの書き換えが可能な二重化された記憶装置とを備える二重化システム制御装置であって、
    前記制御装置は、
    前記記憶装置の少なくともいずれか一方にデータを書き込む第1の書き込み手段と、
    前記データに対して所定の演算を行うことによって算出された算出値を前記記憶部の一方に書き込む第2の書き込み手段と、
    起動時に、前記記憶装置の双方に書き込まれた前記データ同士を比較し、両者が一致するか否かを判定する第1の判定手段と、
    前記第1の判定手段によって、両者が一致しないと判定されたとき、前記記憶装置の一方に書き込まれた前記データから算出された算出値、および前記記憶装置の他方に書き込まれた前記データから算出された算出値のそれぞれと、前記記憶部の一方に書き込まれた前記算出値とを比較する第1の比較手段と、
    前記第1の比較手段による比較結果に応じて、前記データの正否を判定する第2の判定手段とを備え
    前記制御装置は、前記二重化された記憶装置とは独立した交換単位であり、
    前記制御装置が交換される際は、交換前に使用していた前記二重化された記憶装置をそのまま使用する
    ことを特徴とする二重化システム制御装置。
  10. 第1の記憶装置を有し所定の制御処理を実行する第1の制御装置と、第2の記憶装置を有し所定の制御処理を実行する第2の制御装置と、前記第1の制御装置および前記第2の制御装置とは独立して設けられ、前記第1の制御装置および前記第2の制御装置によってデータの書き換えが可能な第3の記憶装置および第4の記憶装置とを備える二重化システム制御装置であって、
    前記第1の制御装置は、
    前記第3の記憶装置および前記第4の記憶装置のうちの少なくともいずれかにデータを書き込む第1の書き込み手段と、
    前記データに対して所定の演算を行うことによって算出された算出値を前記第1の記憶装置に書き込む第2の書き込み手段と、
    起動時に、前記第3の記憶装置に書き込まれた前記データと、前記第4の記憶装置に書き込まれた前記データとを比較し、両者が一致するか否かを判定する第1の判定手段と、
    前記第1の判定手段によって、両者が一致しないと判定されたとき、前記第3の記憶装置に書き込まれた前記データから算出された算出値、および前記第4の記憶装置に書き込まれた前記データから算出された算出値のそれぞれと、前記第1の記憶装置に書き込まれた前記算出値とを比較する第1の比較手段と、
    前記第1の比較手段による比較結果に応じて、前記データの正否を判定する第2の判定手段とを備え、
    前記第2の制御装置は、
    前記第3の記憶装置および前記第4の記憶装置のうちの少なくともいずれかにデータを書き込む第3の書き込み手段と、
    前記データに対して所定の演算を行うことによって算出された算出値を前記第2の記憶装置に書き込む第4の書き込み手段と、
    起動時に、前記第3の記憶装置に書き込まれた前記データと、前記第4の記憶装置に書き込まれた前記データとを比較し、両者が一致するか否かを判定する第3の判定手段と、
    前記第3の判定手段によって、両者が一致しないと判定されたとき、前記第3の記憶装置に書き込まれた前記データから算出された算出値、および前記第4の記憶装置に書き込まれた前記データから算出された算出値のそれぞれと、前記第2の記憶装置に書き込まれた前記算出値とを比較する第2の比較手段と、
    前記第2の比較手段による比較結果に応じて、前記データの正否を判定する第4の判定手段とを備え
    前記第1の制御装置および前記第2の制御装置は、前記第3の記憶装置および前記第4の記憶装置とは独立した交換単位であり、
    前記第1の制御装置または前記第2の制御装置が交換される際は、交換前に使用していた前記第3の記憶装置および前記第4の記憶装置をそのまま使用する
    ことを特徴とする二重化システムにおける制御装置。
  11. 前記算出値は、前記データに基づいて算出された前記データのサイズよりも小さいサイズのハッシュ値である
    ことを特徴とする請求項10に記載の二重化システムにおける制御装置。
  12. 前記算出値は、前記データに基づいて算出された前記データのサイズよりも小さいサイズのチェックサムである
    ことを特徴とする請求項10に記載の二重化システムにおける制御装置。
  13. 前記第1の比較手段による比較の結果、前記第3の記憶装置に書き込まれた前記データから算出された算出値、および前記第4の記憶装置に書き込まれた前記データから算出された算出値のいずれか一方と、前記第1の記憶装置に書き込まれた前記算出値とが一致した場合、前記第3の記憶装置および前記第4の記憶装置のうち、一致した方に記憶されている前記データによって、一致しなかった方に記憶されている前記データが更新される
    ことを特徴とする請求項10乃至12のいずれかに記載の二重化システムにおける制御装置。
  14. 前記第2の比較手段による比較の結果、前記第3の記憶装置に書き込まれた前記データから算出された算出値、および前記第4の記憶装置に書き込まれた前記データから算出された算出値のいずれか一方と、前記第2の記憶装置に書き込まれた前記算出値とが一致した場合、前記第3の記憶装置および前記第4の記憶装置のうち、一致した方に記憶されている前記データによって、一致しなかった方に記憶されている前記データが更新される
    ことを特徴とする請求項10乃至12のいずれかに記載の二重化システムにおける制御装置。
  15. 前記第1の比較手段による比較の結果、前記第3の記憶装置に書き込まれた前記データから算出された算出値、および前記第4の記憶装置に書き込まれた前記データから算出された算出値の双方とも、前記第1の記憶装置に書き込まれた前記算出値と一致した場合、または双方とも一致しなかった場合、前記第3の記憶装置および前記第4の記憶装置に対して所定の初期値が書き込まれる
    ことを特徴とする請求項10乃至12のいずれかに記載の二重化システムにおける制御装置。
  16. 前記第2の比較手段による比較の結果、前記第3の記憶装置に書き込まれた前記データから算出された算出値、および前記第4の記憶装置に書き込まれた前記データから算出された算出値の双方とも、前記第2の記憶装置に書き込まれた前記算出値と一致した場合、または双方とも一致しなかった場合、前記第3の記憶装置および前記第4の記憶装置に対して所定の初期値が書き込まれる
    ことを特徴とする請求項10乃至12のいずれかに記載の二重化システムにおける制御装置。
  17. 記憶部を有し所定の制御処理を実行する二重化された制御装置と、前記制御装置とは独立して設けられ、前記制御装置によってデータの書き換えが可能な二重化された記憶装置とを備える二重化システムにおける制御プログラムであって、
    前記制御装置に、
    前記記憶装置の少なくともいずれか一方にデータを書き込む第1の書き込みステップと、
    前記データに対して所定の演算を行うことによって算出された算出値を前記記憶部の一方に書き込む第2の書き込みステップと、
    起動時に、前記記憶装置の双方に書き込まれた前記データ同士を比較し、両者が一致するか否かを判定する第1の判定ステップと、
    前記第1の判定ステップにおいて、両者が一致しないと判定されたとき、前記記憶装置の一方に書き込まれた前記データから算出された算出値、および前記記憶装置の他方に書き込まれた前記データから算出された算出値のそれぞれと、前記記憶部の一方に書き込まれた前記算出値とを比較する第1の比較ステップと、
    前記第1の比較ステップにおける比較結果に応じて、前記データの正否を判定する第2の判定ステップとを実行させ
    前記制御装置は、前記二重化された記憶装置とは独立した交換単位であり、
    前記制御装置が交換される際は、交換前に使用していた前記二重化された記憶装置をそのまま使用させる
    ことを特徴とする二重化システムにおける制御プログラム。
  18. 第1の記憶装置を有し所定の制御処理を実行する第1の制御装置と、第2の記憶装置を有し所定の制御処理を実行する第2の制御装置と、前記第1の制御装置および前記第2の制御装置とは独立して設けられ、前記第1の制御装置および前記第2の制御装置によってデータの書き換えが可能な第3の記憶装置および第4の記憶装置とを備える二重化システムにおける制御プログラムであって、
    前記第1の制御装置に、
    前記第3の記憶装置および前記第4の記憶装置のうちの少なくともいずれかにデータを書き込む第1の書き込みステップと、
    前記データに対して所定の演算を行うことによって算出された算出値を前記第1の記憶装置に書き込む第2の書き込みステップと、
    起動時に、前記第3の記憶装置に書き込まれた前記データと、前記第4の記憶装置に書き込まれた前記データとを比較し、両者が一致するか否かを判定する第1の判定ステップと、
    前記第1の判定ステップにおいて、両者が一致しないと判定されたとき、前記第3の記憶装置に書き込まれた前記データから算出された算出値、および前記第4の記憶装置に書き込まれた前記データから算出された算出値のそれぞれと、前記第1の記憶装置に書き込まれた前記算出値とを比較する第1の比較ステップと、
    前記第1の比較ステップにおける比較結果に応じて、前記データの正否を判定する第2の判定ステップとを実行させ、
    前記第2の制御装置に、
    前記第3の記憶装置および前記第4の記憶装置のうちの少なくともいずれかにデータを書き込む第3の書き込みステップと、
    前記データに対して所定の演算を行うことによって算出された算出値を前記第2の記憶装置に書き込む第4の書き込みステップと、
    起動時に、前記第3の記憶装置に書き込まれた前記データと、前記第4の記憶装置に書き込まれた前記データとを比較し、両者が一致するか否かを判定する第3の判定ステップと、
    前記第3の判定ステップにおいて、両者が一致しないと判定されたとき、前記第3の記憶装置に書き込まれた前記データから算出された算出値、および前記第4の記憶装置に書き込まれた前記データから算出された算出値のそれぞれと、前記第2の記憶装置に書き込まれた前記算出値とを比較する第2の比較ステップと、
    前記第2の比較ステップにおける比較結果に応じて、前記データの正否を判定する第4の判定ステップとを実行させ
    前記第1の制御装置および前記第2の制御装置は、前記第3の記憶装置および前記第4の記憶装置とは独立した交換単位であり、
    前記第1の制御装置または前記第2の制御装置が交換される際は、交換前に使用していた前記第3の記憶装置および前記第4の記憶装置をそのまま使用させる
    ことを特徴とする二重化システムにおける制御プログラム。
  19. 前記算出値は、前記データに基づいて算出された前記データのサイズよりも小さいサイズのハッシュ値である
    ことを特徴とする請求項18に記載の二重化システムにおける制御プログラム。
  20. 前記算出値は、前記データに基づいて算出された前記データのサイズよりも小さいサイズのチェックサムである
    ことを特徴とする請求項18に記載の二重化システムにおける制御プログラム。
  21. 前記第1の比較ステップにおける比較の結果、前記第3の記憶装置に書き込まれた前記データから算出された算出値、および前記第4の記憶装置に書き込まれた前記データから算出された算出値のいずれか一方と、前記第1の記憶装置に書き込まれた前記算出値とが一致した場合、前記第3の記憶装置および前記第4の記憶装置のうち、一致した方に記憶されている前記データによって、一致しなかった方に記憶されている前記データが更新される
    ことを特徴とする請求項18乃至20のいずれかに記載の二重化システムにおける制御プログラム。
  22. 前記第2の比較ステップにおける比較の結果、前記第3の記憶装置に書き込まれた前記データから算出された算出値、および前記第4の記憶装置に書き込まれた前記データから算出された算出値のいずれか一方と、前記第2の記憶装置に書き込まれた前記算出値とが一致した場合、前記第3の記憶装置および前記第4の記憶装置のうち、一致した方に記憶されている前記データによって、一致しなかった方に記憶されている前記データが更新される
    ことを特徴とする請求項18乃至20のいずれかに記載の二重化システムにおける制御プログラム。
  23. 前記第1の比較ステップにおける比較の結果、前記第3の記憶装置に書き込まれた前記データから算出された算出値、および前記第4の記憶装置に書き込まれた前記データから算出された算出値の双方とも、前記第1の記憶装置に書き込まれた前記算出値と一致した場合、および双方とも一致しなかった場合、前記第3の記憶装置および前記第4の記憶装置に対して所定の初期値が書き込まれる
    ことを特徴とする請求項18乃至20のいずれかに記載の二重化システムにおける制御プログラム。
  24. 前記第2の比較ステップにおける比較の結果、前記第3の記憶装置に書き込まれた前記データから算出された算出値、および前記第4の記憶装置に書き込まれた前記データから算出された算出値の双方とも、前記第2の記憶装置に書き込まれた前記算出値と一致した場合、および双方とも一致しなかった場合、前記第3の記憶装置および前記第4の記憶装置に対して所定の初期値が書き込まれる
    ことを特徴とする請求項18乃至20のいずれかに記載の二重化システムにおける制御プログラム。
JP2007041983A 2007-02-22 2007-02-22 二重化システムにおける記憶装置の制御方法 Expired - Fee Related JP4483876B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007041983A JP4483876B2 (ja) 2007-02-22 2007-02-22 二重化システムにおける記憶装置の制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007041983A JP4483876B2 (ja) 2007-02-22 2007-02-22 二重化システムにおける記憶装置の制御方法

Publications (2)

Publication Number Publication Date
JP2008204327A JP2008204327A (ja) 2008-09-04
JP4483876B2 true JP4483876B2 (ja) 2010-06-16

Family

ID=39781748

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007041983A Expired - Fee Related JP4483876B2 (ja) 2007-02-22 2007-02-22 二重化システムにおける記憶装置の制御方法

Country Status (1)

Country Link
JP (1) JP4483876B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5366951B2 (ja) 2008-08-07 2013-12-11 パナソニック株式会社 周波数帯域割当方法及び送信装置
US8234461B2 (en) * 2009-03-31 2012-07-31 General Electric Company Systems and method for data survivability
JP5561791B2 (ja) * 2011-08-31 2014-07-30 エヌイーシーコンピュータテクノ株式会社 情報処理装置、情報処理方法、及び情報処理プログラム
KR20150078644A (ko) * 2013-12-31 2015-07-08 에릭슨엘지엔터프라이즈 주식회사 소프트웨어 이미지 이중화 방법 및 장치

Also Published As

Publication number Publication date
JP2008204327A (ja) 2008-09-04

Similar Documents

Publication Publication Date Title
JP6198876B2 (ja) セキュア・リカバリ装置及び方法
JP4868216B2 (ja) ファームウェア更新回路およびファームウェア更新方法
JP4568764B2 (ja) システム監視装置の制御方法、プログラム及びコンピュータシステム
JP2008084291A (ja) 記憶装置、制御方法及び制御装置
JP2012128643A (ja) メモリシステム
US10691565B2 (en) Storage control device and storage control method
US7293138B1 (en) Method and apparatus for raid on memory
JP4483876B2 (ja) 二重化システムにおける記憶装置の制御方法
WO2018059565A1 (zh) 闪存数据的备份方法及系统
JP2009104369A (ja) ディスクサブシステム
JPH01118921A (ja) 二重化デイスク制御方法
JPH11265283A (ja) 記憶装置におけるファームウェアの修正方法及び記憶装置
WO2011064811A1 (ja) 情報処理装置、制御プログラムおよび制御方法
JP5872982B2 (ja) 車両用制御装置
JP2009025967A (ja) 二重化ファームウェアのバックアップ方式、方法、及び、オペレーティングシステム
JP2010176201A (ja) フラッシュメモリのデータ消失防止装置及びフラッシュメモリのデータ消失防止方法
JP6011687B1 (ja) 記憶装置およびその制御方法
JP2005092695A (ja) 二重化コントローラ、その等値化モード決定方法
JP2019160080A (ja) 制御装置および異常検出方法
JPH08179994A (ja) コンピュータシステム
US20240134757A1 (en) Serial attached non-volatile memory
JP5227653B2 (ja) 多重化計算機システム、及びその処理方法
JPH07121449A (ja) 二重化システム装置
JP2904117B2 (ja) 装置記憶部の冗長化方法及び装置
JP5953976B2 (ja) ファームウェア交換支援プログラム、ファームウェア交換支援方法、及び処理装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091016

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091208

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100208

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100315

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130402

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130402

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140402

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees