(57)【要約】【課題】ファームウェア交換が行われる際に装置が停止するのを抑制すること。【解決手段】複数の処理部と、該複数の処理部にそれぞれ属する記憶部とを備える処理装置に対して行われる、前記複数の記憶部に格納された情報の少なくとも一部を同期させる処理を含むファームウェアの交換処理を支援するファームウェア交換支援プログラムであって、前記ファームウェアの交換処理が開始される前に、前記処理装置に、前記記憶部に格納された情報に対してパリティチェックを行わせ、前記パリティチェックにおいてパリティ異常が検知された場合、前記処理装置に前記パリティ異常が検知された情報に対して該情報の属性に応じた補正を行わせる、ファームウェア交換支援プログラム。【選択図】図４
2014006744.tif 000002
【特許請求の範囲】
【請求項１】
複数の処理部と、該複数の処理部にそれぞれ属する記憶部とを備える処理装置に対して行われる、前記複数の記憶部に格納された情報の少なくとも一部を同期させる処理を含むファームウェアの交換処理を支援するファームウェア交換支援プログラムであって、
前記ファームウェアの交換処理が開始される前に、前記処理装置に、前記記憶部に格納された情報に対してパリティチェックを行わせ、
前記パリティチェックにおいてパリティ異常が検知された場合、前記処理装置に、前記パリティ異常が検知された情報に対して該情報の属性に応じた補正を行わせる、
ファームウェア交換支援プログラム。
【請求項２】
請求項１記載のファームウェア交換支援プログラムであって、
前記パリティ異常が検知された情報が、前記パリティチェックとは異なる保護手法で保護されている他の記憶部にミラーリングされている情報である場合、前記処理装置に、該他の記憶部にミラーリングされている情報を前記記憶部の該当領域にコピーさせることにより、前記補正を行わせる、
ファームウェア交換支援プログラム。
【請求項３】
請求項１又は２記載のファームウェア交換支援プログラムであって、
前記パリティ異常が検知された情報がログ情報である場合、前記処理装置に、該当するログ情報に含まれる全てのビットに所定値を書き込ませる、
ファームウェア交換支援プログラム。
【請求項４】
請求項１ないし３のいずれか１項記載のファームウェア交換支援プログラムであって、
前記処理装置に、
前記記憶部に格納された情報に対してパリティチェックを行わせる処理を、前記記憶部の記憶領域を分割して周期的に行わせ、該周期的に行われるパリティチェックの合間にファームウェアを動作させる、
ファームウェア交換支援プログラム。
【請求項５】
複数の処理部と、該複数の処理部にそれぞれ属する記憶部とを備える処理装置が、
前記複数の記憶部に格納された情報の少なくとも一部を同期させる処理を含むファームウェアの交換処理が開始される前に、
前記記憶部に格納された情報に対してパリティチェックを行ない、
前記パリティチェックにおいてパリティ異常が検知された場合、前記パリティ異常が検知された情報に対して該情報の属性に応じた補正を行う、
ファームウェア交換支援方法。
【請求項６】
複数の処理部と、前記複数の処理部にそれぞれ属する記憶部とを備える処理装置であって、
前記処理装置は、前記複数の記憶部に格納された情報の少なくとも一部を同期させる処理を含むファームウェアの交換処理が開始される前に、
前記記憶部に格納された情報に対してパリティチェックを行ない、
前記パリティチェックにおいてパリティ異常が検知された場合、前記パリティ異常が検知された情報に対して該情報の属性に応じた補正を行う、
処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファームウェア交換支援プログラム、ファームウェア交換支援方法、及び処理装置に関する。
【背景技術】
【０００２】
従来、金融機関において使用されるストレージ装置等、無停止で運用されることが要求される装置が知られている。この種の装置は、ＣＰＵ（Central  Processing  Unit）等の処理部が多重化されていることが多い。そして、この種の装置では、処理部が実行するファームウェアを交換（更新）する際には、一の処理部を稼働状態にしつつ他の処理部においてファームウェア交換を行い、次に役割を入れ替えてファームウェア交換を行うといった処理が行われる。こうしたファームウェアの交換手法は、活性ファームウェア交換等と称される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−５８９９７号公報
【特許文献２】特開２００７−２１９６９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、処理部が多重化され、活性ファームウェア交換を行う装置は、各処理部が制御情報等を格納するためのメモリをそれぞれ備え、このメモリ上のデータをパリティチェックによって保護する場合がある。パリティチェックによる保護とは、メモリへのデータ書き込み時にパリティビットをメモリに書き込むと共に、メモリからのデータ読み出し時にパリティチェックを行ってデータに異常が生じていないかを確認することをいう。
【０００５】
そして、係る装置が活性ファームウェア交換を行う際には、各処理部が備える特定のメモリ上のデータのうち一部又は全部について、同期処理が行われる。同期処理においては、稼働状態の処理部に対応するメモリ上の制御情報等が、ファームウェア交換が終了した処理部に対応するメモリにコピーされる。
【０００６】
このとき、データコピーのためにメモリ上のデータを読み出す処理が行われ、読み出しに伴ってパリティチェックが行われるが、パリティ異常が生じていた場合、装置の動作が停止してしまう可能性がある。パリティ異常が生じていた場合、活性ファームウェア交換の制御プログラムの動作等により、稼働中の処理部はデグレード状態、ファームウェア交換中の処理部は組込異常状態と判断され、停止状態にされる可能性があるからである。
【０００７】
一つの側面では、装置稼働中にファームウェア交換が行われる際に装置が停止するのを抑制することを目的とする。
【課題を解決するための手段】
【０００８】
一態様のファームウェア交換支援プログラムは、複数の処理部と、該複数の処理部にそれぞれ属する記憶部とを備える処理装置に対して行われる、前記複数の記憶部に格納された情報の少なくとも一部を同期させる処理を含むファームウェアの交換処理を支援するファームウェア交換支援プログラムであって、前記ファームウェアの交換処理が開始される前に、前記処理装置に、前記記憶部に格納された情報に対してパリティチェックを行わせ、前記パリティチェックにおいてパリティ異常が検知された場合、前記処理装置に前記パリティ異常が検知された情報に対して該情報の属性に応じた補正を行わせる、ファームウェア交換支援プログラムである
【発明の効果】
【０００９】
一実施態様によれば、装置稼働中にファームウェア交換が行われる際に装置が停止するのを抑制することができる。
【図面の簡単な説明】
【００１０】
【図１】ファームウェア交換支援プログラム、及びファームウェア交換支援方法の処理対象となり得る処理装置１のハードウェア構成例である。
【図２】ＳＲＡＭ１３０に設定される領域の一例である。
【図３】ファームウェア交換支援プログラムに相当する診断ツール４５０、交換ツール４５２、新世代ファームウェア４５４が処理装置１にインストールされ、処理装置１において診断オブジェクト１８０が機能する場面を示す図である。
【図４】診断ツール４５０が実行される際の処理の流れを示すシーケンス図の一例である。
【図５】異常が検知されたＳＲＡＭ１３０上のデータの性質と、補正処理との対応関係を示す図である。
【図６】ログ域に格納されるデータを模式的に示す図である。
【図７】結果表示として表示される内容の一例である。
【図８】活性ファームウェア交換が行われる際の処理の流れを示すシーケンス図の一例である。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態について、添付図面を参照しながら実施例を挙げて説明する。
【実施例】
【００１２】
以下、図面を参照し、ファームウェア交換支援プログラム、ファームウェア交換支援方法、及び処理装置の実施例について説明する。
【００１３】
［構成、基本動作］
図１は、ファームウェア交換支援プログラム、及びファームウェア交換支援方法の処理対象となり得る処理装置１のハードウェア構成例である。
【００１４】
処理装置１は、コントローラが多重化された装置であり、例えば、ストレージ装置として用いられる。処理装置１は、例えば、コントローラ１００、２００と、分散化されたディスク装置３００とを備える。
【００１５】
コントローラ１００は、例えば、ＣＰＵ１１０と、ＲＡＭ（Random  Access  Memory）１２０と、ＳＲＡＭ（Static  RAM）１３０及びパリティ回路１４０と、プログラムメモリ１５０、１６０とを備える。同様に、コントローラ２００は、例えば、例えば、ＣＰＵ２１０と、ＲＡＭ２２０と、ＳＲＡＭ２３０及びパリティ回路２４０と、プログラムメモリ２５０、２６０とを備える。
【００１６】
ＣＰＵ１１０は、例えば、プログラムカウンタや命令デコーダ、各種演算器、ＬＳＵ（Load  Store  Unit）、汎用レジスタ等を有するプロセッサである。プログラムメモリ１５０又は１６０に格納されたファームウェアその他のプログラムを実行する。
【００１７】
プログラムメモリ１５０、１６０は、例えばＥＥＰＲＯＭ（Electrically  Erasable  and  Programmable  Read  Only  Memory）やＳＳＤ（Solid  State  Drive）である。プログラムメモリ１５０にはファームウェア１５２が、プログラムメモリ１６０にはファームウェア１６２が、それぞれ格納される。ファームウェア１５２、１６２のうち一方は、例えば現用されているバージョンのファームウェアであり、他方は、例えば一世代前のバージョンのファームウェアである。
【００１８】
ＣＰＵ１１０は、図示しないスイッチの制御によりプログラムメモリ１５０、１６０のいずれか一方からファームウェアを読み出してＲＡＭ１２０に展開して実行する。図１ではファームウェア１６２が現用されているバージョンのものであり、ＣＰＵ１１０は、プログラムメモリ１６０からファームウェア１６２を読み出して実行するものとした。なお、上記とは異なり、ファームウェア１５２、１６２のうち一方が、次の世代のバージョンのファームウェアであり、他方が現用されているバージョンのファームウェアである状態もあり得る。
【００１９】
後述するように活性ファームウェア交換が行われると、ファームウェア１５２が次の世代のバージョンのファームウェアに変更され、ファームウェア１６２との役割が入れ替わる。すなわち、ＣＰＵ１１０は、プログラムメモリ１５０からファームウェア１５２を読み出して実行する。
【００２０】
ＲＡＭ１２０は、例えばＤＲＡＭ（Dynamic  RAM）であり、上記説明したようにファームウェア１５２又は１６２が展開される他、処理結果のデータ等が格納される。ＲＡＭ１２０に格納されたデータは、所定のタイミングでディスク装置３００に退避される。ＲＡＭ１２０に格納されたデータは、冗長性を有しており、誤り訂正符号等によって保護される。
【００２１】
ＳＲＡＭ１３０は、フリップフロップ等の順序回路を用いてデータを記憶するＲＡＭであり、本実施例では、バッテリーが付設されて不揮発メモリとして機能する。ＳＲＡＭ１３０には、パリティ線を介してパリティ回路１４０が接続されている。パリティ回路１４０は、ＳＲＡＭ１３０へのデータ書き込み時にパリティビットをＳＲＡＭ１３０に書き込むと共に、ＳＲＡＭ１３０からのデータ読み出し時にパリティチェックを行ってデータに異常が生じていないかを確認する。
【００２２】
図２は、ＳＲＡＭ１３０に設定される領域の一例である。ＳＲＡＭ１３０には、制御情報Ａａを含むデータが格納される制御域Ａ、ログデータが格納されるログ域Ｂ、未使用域Ｃ、パリティ保護の対象外である対象外域Ｄ等が設定される。これらの領域に格納されたデータのうち、例えば制御情報Ａａは、ＲＡＭ１２０にミラーリングされて保護される。すなわち、制御情報Ａａが新規に書き込み、更新、削除等される度に、ＲＡＭ１２０にも同様のデータが書き込み等される。
【００２３】
ＣＰＵ２１０は、例えば、ＣＰＵ１１０と同様のプロセッサであり、プログラムメモリ２５０又は２６０に格納されたファームウェアその他のプログラムを実行する。
【００２４】
プログラムメモリ２５０、２６０は、例えばＥＥＰＲＯＭやＳＳＤである。プログラムメモリ２５０にはファームウェア２５２が、プログラムメモリ２６０にはファームウェア２６２が、それぞれ格納される。ファームウェア２５２、２６２のうち一方は、例えば現用されているバージョンのファームウェアであり、他方は、例えば一世代前のバージョンのファームウェアである。
【００２５】
ＣＰＵ２１０は、図示しないスイッチの制御によりプログラムメモリ２５０、２６０のいずれか一方からファームウェアを読み出してＲＡＭ２２０に展開して実行する。ファームウェア２５０、２６０の関係についてはコントローラ１００と同様であるため、説明を省略する。
【００２６】
ＲＡＭ２２０は、例えばＤＲＡＭであり、ファームウェア２５２又は２６２が展開される他、処理結果のデータ等が格納される。ＲＡＭ２２０に格納されたデータは、所定のタイミングでディスク装置３００に退避される。ＲＡＭ２２０に格納されたデータは、冗長性を有しており、誤り訂正符号等によって保護される。
【００２７】
ＳＲＡＭ２３０は、フリップフロップ等の順序回路を用いてデータを記憶するＲＡＭであり、本実施例では、バッテリーが付設されて不揮発メモリとして機能する。ＳＲＡＭ２３０には、パリティ線を介してパリティ回路２４０が接続されている。パリティ回路２４０は、ＳＲＡＭ２３０へのデータ書き込み時にパリティビットをＳＲＡＭ２３０に書き込むと共に、ＳＲＡＭ２３０からのデータ読み出し時にパリティチェックを行ってデータに異常が生じていないかを確認する。ＳＲＡＭ２３０に格納されるデータについては、ＳＲＡＭ１３０と同様であるため、図２を援用することとして説明を省略する。ＳＲＡＭ２３０に格納されるデータのうち例えば制御情報Ａａは、ＲＡＭ１２０にミラーリングされて保護される。
【００２８】
コントローラ１００及びコントローラ２００は、データバス３１０によりディスク装置３００と接続されている。また、コントローラ１００とコントローラ２００は、ＰＣＩｅ線３２０及びＬＡＮケーブル３３０によって接続されている。ＰＣＩｅ線３２０では主に処理結果等のデータが送受信され、ＬＡＮケーブル３３０では主に制御情報や後述する診断ツール４５０等が送受信される。
【００２９】
このような構成を有する処理装置１では、例えばコントローラ２００が原則として現用系として機能し、コントローラ１００が待機系として機能する。すなわち、データ処理、ディスク装置３００への書き込みはコントローラ２００が行い、コントローラ１００はスタンバイ状態で待機したり、コントローラ２００と同じ処理を並行して行ったりする。
【００３０】
また、処理装置１では、活性ファームウェア交換を行う際には、例えば、まずコントローラ１００のファームウェアを交換し、次にコントローラ１００を現用系に切り替えた上でコントローラ２００のファームウェアを交換する。コントローラ２００のファームウェア交換が終了すると、コントローラ２００を現用系に戻し、活性ファームウェア交換が完了する。
【００３１】
ここで、コントローラ１００のファームウェアを交換し、コントローラ１００を現用系に切り替える際には、ＳＲＡＭ２３０に格納されたデータのうち一部（又は全部）がＳＲＡＭ１３０にコピーされる。また、コントローラ２００のファームウェアを交換し、コントローラ２００を現用系に戻す際にも、ＳＲＡＭ１３０に格納されたデータのうち一部（又は全部）がＳＲＡＭ２３０にコピーされる。このとき、データコピーのためにＳＲＡＭ１３０又は２３０上のデータを読み出す処理が行われ、読み出しに伴ってパリティ回路１４０又は２４０によりパリティチェックが行われる。
【００３２】
［診断、補正］
本実施例のファームウェア交換支援プログラム、ファームウェア交換支援方法、及び処理装置は、以下に説明する処理によって、活性ファームウェア交換時のパリティ異常による処理装置１の動作停止を抑制する。
【００３３】
図３は、ファームウェア交換支援プログラムに相当する診断ツール４５０、交換ツール４５２、新世代ファームウェア４５４が処理装置１にインストールされ、処理装置１において診断オブジェクト１８０が機能する場面を示す図である。診断ツール４５０は、例えば、ネットワーク４２０を介してサーバ装置４００からコンピュータ４４０にダウンロードされ、コンピュータ４４０からＬＡＮケーブル４８０を介して処理装置１にインストールされる。交換ツール４５２及び新世代ファームウェア４５４も同様に、ネットワーク４２０を介してサーバ装置４００からコンピュータ４４０にダウンロードされる。
【００３４】
コンピュータ４４０は、例えばノートパソコンである。ＬＡＮケーブル４８０は、一端がコンピュータ４４０のＬＡＮポート４７０に接続され、他端が処理装置１の（例えばコントローラ１００の）ＬＡＮポート１７０に接続される。コンピュータ４４０の表示装置４６０は、診断ツール４５０が実行された結果を表示する。処理装置１上で動作するＯＳ（オペレーティングシステム）は、例えばLinux（登録商標）であり、サーバ装置４００及びコンピュータ４４０上で動作するＯＳは、例えばWindows（登録商標）である。
【００３５】
図４は、診断ツール４５０が実行される際の処理の流れを示すシーケンス図の一例である。
【００３６】
まず、例えばユーザの操作により、診断ツール４５０が実行開始される（Ｓ１０）。診断ツール４５０は、使用するネットワークカードを選択してＩＰネットワーク構成を選択し（Ｓ１１）、ＩＰ検索処理を行って処理装置１のネットワーク構成を確認する（Ｓ１２）。処理装置１のファームウェア交換が行われるコントローラ（以下、コントローラ１００であるものとする）では、ＯＳによりtelnetのlogin処理が行われる。次に、診断ツール４５０は、ユーザによる処理オプションの選択を確認し（Ｓ１３）、ＦＴＰ通信により診断オブジェクト１８０のアップロードを開始する（Ｓ１４）。
【００３７】
処理装置１では、ＯＳによりFTP（File  Transfer  Protocol）のlogin処理及びlogout処理が行われ、診断オブジェクト１８０がＲＡＭ１２０に格納される。処理装置１のＯＳは、診断オブジェクトのドライバを起動し（Ｓ１５）、診断オブジェクト１８０の実行を開始させる（Ｓ１６）。なお、診断ツール４５０が実行開始されてからＳ１６までの間、コントローラ１００においてもファームウェア１６２は動作しており、コントローラ２００のエラー等に備えてコントローラ２００の代替処理が可能な状態に維持されている。
【００３８】
診断オブジェクト１８０は、Ｓ２０〜Ｓ２５までの処理を、所定回数（例えば１０２４回等）に分割して行なう。まず、診断オブジェクト１８０は、カーネルの動作を停止させ（Ｓ２０）、マシンチェック通知の停止処理を行う（Ｓ２１）。カーネルの動作を停止させることにより、ファームウェア１６２の動作が停止する。マシンチェック通知とは、パリティ回路１４０がパリティ異常を検知したときにコントローラ１００の動作を停止させることを指示するための通知である。
【００３９】
次に、診断オブジェクト１８０は、ＳＲＡＭ１３０に格納されたデータを一定領域分リードし（Ｓ２２）、リードした領域内のデータについてパリティチェックを行わせ（Ｓ２３）、チェック結果をＲＡＭ１２０に格納しておく。ここで、パリティチェックは、ＳＲＡＭ１３０に格納されたデータをリードすることによって自動的に行われるため、ＳＲＡＭ１３０に格納されたデータをリードすることが、パリティチェックを行わせるように処理装置１に指示することに相当する。次に、診断オブジェクト１８０は、マシンチェック通知の停止を解除し（Ｓ２４）、カーネルの動作を再開する（Ｓ２５）。Ｓ２０〜Ｓ２５の処理を終了すると、ＯＳのスケジューラが、時分割処理によりファームウェア１６２に一定の動作時間を与える。これによって、ファームウェア１６２は周期的に動作をすることができ、コントローラ２００側に応答することができるため、コントローラ２００のファームウェア２６２に、コントローラ１００からの応答無しというエラーが生じるのを防止することができる。
【００４０】
Ｓ２０〜Ｓ２５の処理を所定回数行うと（図４では回数判定ステップの図示を省略）、診断オブジェクト１８０は、Ｓ２３のパリティチェックにおいて異常が検知されたか否かを判定する（Ｓ２６）。
【００４１】
Ｓ２３のパリティチェックにおいて異常が検知された場合、診断オブジェクト１８０は、異常が検知されたデータの性質に応じた手法で補正処理を行う（Ｓ３０）。
【００４２】
図５は、異常が検知されたＳＲＡＭ１３０上のデータの性質と、補正処理との対応関係を示す図である。図５に示すように、データの性質は、格納領域や「制御情報Ａａか否か」等で区別される。
【００４３】
診断オブジェクト１８０は、異常が検知されたデータが制御域Ａに格納された制御情報Ａａである場合は、ＲＡＭ１２０にミラーリングされたデータをＳＲＡＭ１３０の該当領域にコピーし、単体コントローラに対する診断結果を「ＯＫ」とする。
【００４４】
また、診断オブジェクト１８０は、異常が検知されたデータが制御域Ａに格納された制御情報Ａａ以外のデータである場合は、補正処理を行わず、単体コントローラに対する診断結果を「ＮＧ」とする。
【００４５】
また、診断オブジェクト１８０は、異常が検知されたデータがログ域Ｂに格納されたデータである場合は、該当するログデータの全てのビットにゼロを書き込み（ゼロライトし）ベリファイを行うと共に、ログインフォメーションにゼロライトした旨を登録する。そして、診断オブジェクト１８０は、単体コントローラに対する診断結果を「ＯＫ」とする。
【００４６】
図６は、ログ域に格納されるデータを模式的に示す図である。図６に示すように、ログ域には、複数のログデータが格納されると共に、各ログデータに対応し、ログの発生日時等のログ関連情報を登録したログインフォメーションが格納されている。
【００４７】
また、診断オブジェクト１８０は、異常が検知されたデータが未使用域Ｃに格納されたデータである場合は、未使用域Ｃに格納された全てのビットにゼロライトすると共にベリファイを行い、単体コントローラに対する診断結果を「ＯＫ」とする。
【００４８】
また、診断オブジェクト１８０は、異常が検知されたデータが対象外域Ｄに格納されたデータである場合は、補正処理を行わず、単体コントローラに対する診断結果を「ＯＫ」とする。
【００４９】
このように診断オブジェクト１８０が、異常が検知されたデータの性質に応じた手法で補正処理を行うことにより、続いて行われる活性ファームウェア交換におけるＳＲＡＭ同期処理において、パリティ異常が検知される可能性を小さくすることができる。この結果、診断オブジェクト１８０は、活性ファームウェア交換が行われる際に、処理装置１が停止するのを抑制することができる。
【００５０】
補正処理が行われると（或いはＳ２６において否定的な判定を得ると）、診断オブジェクト１８０は、双方のコントローラに対して診断を行ったか否かを判定する（Ｓ３１）。診断オブジェクト１８０は、一方のコントローラに対してのみ診断を実行した場合は、ＬＡＮケーブル３３０を介して他方のコントローラに診断ツール４５０を送信し、上記と同様の診断を実行させる。
【００５１】
一方、診断オブジェクト１８０は、双方のコントローラに対して断を実行した場合、コンピュータ４４０に対して結果通知を行う（Ｓ３２）。
【００５２】
結果通知が行われると、処理装置１のＯＳはドライバのアンインストールを行う（Ｓ３３）。一方、コンピュータ４４０では、表示装置４６０による結果表示が行われ（Ｓ３４）、活性ファームウェア交換のための処理が開始される（Ｓ３５）。活性ファームウェア交換は、結果表示に続いて自動的に開始されてもよいし、ユーザの開始指示を受け付けてから開始されてもよい。
【００５３】
図７は、診断ツール４５０の結果表示として表示される内容の一例である。図７に示すように、結果表示においては、診断結果（「ＯＫ」か「ＮＧ」か）、詳細コード、詳細内容、対処方法等が表示される。なお、表示装置４６０は診断結果及び詳細コードのみを表示し、詳細内容や対処方法についてはユーザがマニュアルを検索して把握するものとしてもよい。
【００５４】
［活性ファームウェア交換］
図８は、活性ファームウェア交換が行われる際の処理の流れを示すシーケンス図の一例である。なお、図８に示す処理は、まず待機系のコントローラ１００に対して行われ、次いで現用系のコントローラ２００に対して行われる。
【００５５】
まず、交換ツール４５２は、ＣＬＩコネクション接続を行う（Ｓ５０）。処理装置１では、ＯＳによりtelnetのlogin処理が行われる。次に、交換ツール４５２は、ファームウェア転送のためのコマンドを処理装置１に送信する（Ｓ５１）。処理装置１では、例えば、予めプログラムメモリ又はディスク装置に格納されているソフトウェアに基づき機能する活性交換制御部（不図示）が、新世代ファームウェア４５４をダウンロードする。
【００５６】
次に、交換ツール４５２は、ファームウェア世代切り替えコマンドを処理装置１に送信する（Ｓ５２）。処理装置１では、活性交換制御部が、ＣＰＵとプログラムメモリの間のスイッチ制御を行って世代切り替えを行う。例えば、プログラムメモリ１６０からファームウェア１６２を読み出して実行するように制御されているＣＰＵ１１０に対し、プログラムメモリ１５０から新世代のファームウェア１５２を読み出して実行するように切り替える。次に、交換ツール４５２は、リブートコマンドを処理装置１に送信する（Ｓ５３）。処理装置１では、活性交換制御部がＯＳにリブート依頼を行う。
【００５７】
処理装置１のＯＳがリブートを実行すると、動作中のファームウェアが動作を停止する。そして、リブートが完了すると、新たにインストールされた新世代のファームウェアが動作を開始する。
【００５８】
続いて、交換ツール４５２は、ＣＬＩコネクション接続を行う（Ｓ５４）。処理装置１では、ＯＳによりtelnetのlogin処理が行われ、更にＳＲＡＭの同期処理（現用系から待機系へのコピー）が行われる。ＳＲＡＭの同期処理においては、例えば制御情報Ａａが現用系のＳＲＡＭから待機系のＳＲＡＭにコピーされる。また、これに限らず、制御情報Ａａ及びログ域Ｂに格納されたデータがコピーされてもよいし、制御域Ａ及びログ域Ｂに格納されたデータがコピーされてもよい。
【００５９】
次に、交換ツール４５２は、ファームウェア版数確認コマンドを処理装置１に送信する（Ｓ５５）。処理装置１では、活性交換制御部によりコンピュータ４４０に対するファームウェア版数通知（バージョン情報等の通知）が行われる。
【００６０】
次に、交換ツール４５２は、ＣＬＩコネクションを切断し（Ｓ５６）、表示装置４６０に結果表示を行わせる（Ｓ５７）。
【００６１】
［まとめ］
以上説明した本発明の実施例によれば、活性ファームウェア交換の前にパリティチェックを行い、異常が検知されたデータの性質に応じた手法で補正処理を行うため、活性ファームウェア交換が行われる際に、処理装置１が停止するのを抑制することができる。
【００６２】
なお、上記実施例におけるコントローラ１００、２００は、「処理部」の一例である。また、ＳＲＡＭ１３０、２３０は、「パリティ保護される記憶部」の一例である。
【００６３】
以上、本発明を実施するための形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【００６４】
例えば、診断オブジェクト１８０に相当するソフトウェアは、外部のコンピュータ４４０によってインストールされるのに限らず、予め処理装置１内の記憶装置に格納されていてもよい。
【００６５】
以上の実施形態に関し、さらに以下の項を開示する。
（付記１）
複数の処理部と、該複数の処理部にそれぞれ属する記憶部とを備える処理装置に対して行われる、前記複数の記憶部に格納された情報の少なくとも一部を同期させる処理を含むファームウェアの交換処理を支援するファームウェア交換支援プログラムであって、
前記ファームウェアの交換処理が開始される前に、前記処理装置に、前記記憶部に格納された情報に対してパリティチェックを行わせ、
前記パリティチェックにおいてパリティ異常が検知された場合、前記処理装置に前記パリティ異常が検知された情報に対して該情報の属性に応じた補正を行わせる、
ファームウェア交換支援プログラム。
（付記２）
付記１記載のファームウェア交換支援プログラムであって、
前記処理装置に、
前記パリティ異常が検知された情報が、前記パリティチェックとは異なる保護手法で保護されている他の記憶部にミラーリングされている情報である場合、該他の記憶部にミラーリングされている情報を前記記憶部の該当領域にコピーさせることにより、前記補正を行わせる、
ファームウェア交換支援プログラム。
（付記３）
付記１又は２記載のファームウェア交換支援プログラムであって、
前記パリティ異常が検知された情報がログ情報である場合、前記処理装置に、該当するログ情報に含まれる全てのビットに所定値を書き込ませる、
ファームウェア交換支援プログラム。
（付記４）
付記１ないし３のいずれか１項記載のファームウェア交換支援プログラムであって、
前記処理装置に、
前記記憶部に格納された情報に対してパリティチェックを行わせる処理を、前記記憶部の記憶領域を分割して周期的に行わせ、該周期的に行われるパリティチェックの合間にファームウェアを動作させる、
ファームウェア交換支援プログラム。
（付記５）
複数の処理部と、該複数の処理部にそれぞれ属する記憶部とを備える処理装置が、
前記複数の記憶部に格納された情報の少なくとも一部を同期させる処理を含むファームウェアの交換処理が開始される前に、
前記記憶部に格納された情報に対してパリティチェックを行ない、
前記パリティチェックにおいてパリティ異常が検知された場合、前記パリティ異常が検知された情報に対して該情報の属性に応じた補正を行う、
ファームウェア交換支援方法。
（付記６）
付記５記載のファームウェア交換支援方法であって、
前記処理装置が、
前記パリティ異常が検知された情報が、前記パリティチェックとは異なる保護手法で保護されている他の記憶部にミラーリングされている情報である場合、該他の記憶部にミラーリングされている情報を前記記憶部の該当領域にコピーさせることにより、前記補正を行う、
ファームウェア交換支援方法。
（付記７）
付記５又は６記載のファームウェア交換支援方法であって、
前記パリティ異常が検知された情報がログ情報である場合、前記処理装置が、該当するログ情報に含まれる全てのビットに所定値を書き込む、
ファームウェア交換支援方法。
（付記８）
付記５ないし７のいずれか１項記載のファームウェア交換支援方法であって、
前記処理装置が、
前記記憶部に格納された情報に対してパリティチェックを行わせる処理を、前記記憶部の記憶領域を分割して周期的に行わせ、該周期的に行われるパリティチェックの合間に前記ファームウェアを動作させる、
ファームウェア交換支援方法。
（付記９）
複数の処理部と、前記複数の処理部にそれぞれ属する記憶部とを備える処理装置であって、
前記処理装置は、前記複数の記憶部に格納された情報の少なくとも一部を同期させる処理を含むファームウェアの交換処理が開始される前に、
前記記憶部に格納された情報に対してパリティチェックを行ない、
前記パリティチェックにおいてパリティ異常が検知された場合、前記パリティ異常が検知された情報に対して該情報の属性に応じた補正を行う、
処理装置。
【符号の説明】
【００６６】
１      処理装置
１００、２００  コントローラ
１１０、２１０  ＣＰＵ
１２０、２２０  ＲＡＭ
１３０、２３０  ＳＲＡＭ
１４０、２４０  パリティ回路
１５２、１６２、２５２、２６２  ファームウェア
１８０  診断オブジェクト
３００  ディスク装置
４００  サーバ装置
４２０  ネットワーク
４４０  コンピュータ
４５０  診断ツール
４５２  交換ツール
４５４  新世代ファームウェア
Ａ      制御域
Ａａ    制御情報
Ｂ      ログ域
Ｃ      未使用域
Ｄ      対象外域
【図１】
2014006744.tif 000003
【図２】
2014006744.tif 000004
【図３】
2014006744.tif 000005
【図４】
2014006744.tif 000006
【図５】
2014006744.tif 000007
【図６】
2014006744.tif 000008
【図７】
2014006744.tif 000009
【図８】
2014006744.tif 000010