(57)【要約】【課題】例えばＯＳがインストールされた外部記憶装置に関わるファームウェア等のアップデート作業を簡易化することを実現した情報処理装置を提供する。【解決手段】ＯＳ１００の制御下で動作するアップデートユーティリティは、ＲＡＩＤ−１が構成されるＨＤＤ１９のハードディスク１９２のＲＡＩＤリザーブ領域に存在する未使用領域に、新ファームウェアと、当該ファームウェアへの書き換えを実行する書換プログラムと、当該書換プログラムを実行制御する簡易ＯＳとを含むメンテナンスイメージデータを格納する。ＲＡＩＤ−ＢＩＯＳ１８１Ａは、ＢＩＯＳ１７からＲＡＩＤの認識（初期処理）を指示された際、メンテナンスイメージデータの格納有無を調べ、格納されていたら、このメンテナンスイメージデータに含まれる簡易ＯＳが起動されるように、ハードディスク１９２のＭＢＲの書き換え等の調整処理を実行する。【選択図】      図２
2009110297.tif 000002
【特許請求の範囲】
【請求項１】
主メモリと、
オペレーティングシステムに対してその存在が隠蔽される予約領域が確保されたハードディスクと、このハードディスクへのデータアクセスを制御するためのプログラムを格納するコントローラとからなる外部記憶装置と、
既存のプログラムに換えて前記外部記憶装置の前記コントローラに格納させるべき新プログラムと、前記外部記憶装置の前記コントローラが格納する既存のプログラムを前記新プログラムに書き換えるための書換プログラムと、前記書換プログラムを実行制御する前記主メモリ上に全体をロード可能な簡易オペレーティングシステムとを含むパーティションイメージデータを、前記外部記憶装置の前記ハードディスク上に確保された前記予約領域内に格納する、前記オペレーティングシステムの管理下で動作するパーティションイメージデータ格納手段と、
前記パーティションイメージデータが前記外部記憶装置の前記ハードディスク上に確保された前記予約領域内に格納されている場合、前記オペレーティングシステムに代えて当該パーティションイメージデータに含まれる前記簡易オペレーティングシステムを起動するための調整処理を行うメンテナンス制御手段と、
を具備することを特徴とする情報処理装置。
【請求項２】
前記パーティションイメージデータ格納手段は、前記パーティションイメージデータの格納時、当該情報処理装置に固有の情報を取得して前記外部記憶装置の前記ハードディスク上に確保された前記予約領域内に格納する手段を有し、
前記メンテナンス制御手段は、前記外部記憶装置の前記ハードディスク上に確保された前記予約領域内に格納された当該情報処理装置に固有の情報の正否を判定し、正しいと判定した場合に、前記調整処理を実施する手段を有する
ことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記パーティションイメージデータ格納手段は、前記パーティションイメージデータの格納時、その時の時刻を取得して前記外部記憶装置の前記ハードディスク上に確保された前記予約領域内に格納する手段を有し、
前記メンテナンス制御手段は、前記外部記憶装置の前記ハードディスク上に確保された前記予約領域内に格納された時刻からの経過期間が所定の期間内か否かを判定し、所定の期間内であると判定した場合に、前記調整処理を実施する手段を有する
ことを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記外部記憶装置は、複数のハードディスクが並列に接続されるＲＡＩＤ（redundant array of inexpensive disks）であり、前記予約領域は、前記複数のハードディスクによるＲＡＩＤの構成状況を管理するデータを格納するために確保される領域であることを特徴とする請求項１記載の情報処理装置。
【請求項５】
前記プログラムを格納する前記コントローラは、前記複数のハードディスクとの間のデータ授受を行うＲＡＩＤコントローラであることを特徴とする請求項４記載の情報処理装置。
【請求項６】
前記プログラムを格納する前記コントローラは、前記複数のハードディスク毎に設けられる、各々のハードディスクを駆動制御する駆動コントローラであることを特徴とする請求項４記載の情報処理装置。
【請求項７】
主メモリと、オペレーティングシステムに対してその存在が隠蔽される予約領域が確保されたハードディスクと、このハードディスクへのデータアクセスを制御するためのプログラムを格納するコントローラとからなる外部記憶装置とを備えた情報処理装置におけるメンテナンス方法であって、
前記情報処理装置が、
既存のプログラムに換えて前記外部記憶装置の前記コントローラに格納させるべき新プログラムと、前記外部記憶装置の前記コントローラが格納する既存のプログラムを前記新プログラムに書き換えるための書換プログラムと、前記書換プログラムを実行制御する前記主メモリ上に全体をロード可能な簡易オペレーティングシステムとを含むパーティションイメージデータを、前記外部記憶装置の前記ハードディスク上に確保された前記予約領域内に格納するステップと、
前記パーティションイメージデータが前記外部記憶装置の前記ハードディスク上に確保された前記予約領域内に格納されている場合、前記オペレーティングシステムに代えて当該パーティションイメージデータに含まれる前記簡易オペレーティングシステムを起動するための調整処理を行うステップと、
を実行することを特徴とするメンテナンス方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えば複数のハードディスクによってＲＡＩＤ（redundant array of inexpensive disks）を構成するサーバ等における、当該ＲＡＩＤに関わるファームウェア等のアップデート作業を簡易化するためのメンテナンス技術に関する。
【背景技術】
【０００２】
近年、インターネット等のデータ通信環境が整備されたことに伴い、パーソナルコンピュータ本体や周辺機器に組み込まれたファームウェアをアップデートするためのファイルを製造販売元がＷｅｂサイト上で公開するといったことが広く行われている。このファイルは、ファームウェアの改訂版と、当該改訂版へとファームウェアを書き換えるためのプログラムとから構成されるのが一般的である。
【０００３】
ファームウェアは、パーソナルコンピュータ本体や周辺機器等のハードウェアを適切に駆動させるための重要なプログラムである。そのため、特に、基本ソフトウェアであるオペレーティングシステムがインストールされる外部記憶装置に組み込まれる（前述のアップデートを含む）ファームウェアの取り扱い手法に関しては、これまでも種々の提案がなされている（例えば特許文献１等参照）。
【特許文献１】特開２００２−１０８７０８公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
この特許文献１には、ハードディスクを予め２つのパーティションに分割しておき、一方に通常の動作モード環境を格納し、他方に（ファームウェアのアップデート等を行うための）メンテナンスモード環境を格納して、これらを使い分ける仕組みを提供することにより、安全性を向上させる手法が記載されている。
【０００５】
しかしながら、この手法では、パーティションによってハードディスクを事前に２つに分割しておく必要がある。従って、例えばユーザ自らがハードディスクの初期設定を行ったためにパーティション分割が行われないまま運用が開始されたような場合、もはや本手法は適用できないといった問題があった。
【０００６】
この発明は、このような事情を考慮してなされたものであり、例えばオペレーティングシステムがインストールされた外部記憶装置に関わるファームウェア等のアップデート作業を簡易化することを実現した情報処理装置および同装置におけるメンテナンス方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
前述の目的を達成するために、この発明の情報処理装置は、主メモリと、オペレーティングシステムに対してその存在が隠蔽される予約領域が確保されたハードディスクと、このハードディスクへのデータアクセスを制御するためのプログラムを格納するコントローラとからなる外部記憶装置と、既存のプログラムに換えて前記外部記憶装置の前記コントローラに格納させるべき新プログラムと、前記外部記憶装置の前記コントローラが格納する既存のプログラムを前記新プログラムに書き換えるための書換プログラムと、前記書換プログラムを実行制御する前記主メモリ上に全体をロード可能な簡易オペレーティングシステムとを含むパーティションイメージデータを、前記外部記憶装置の前記ハードディスク上に確保された前記予約領域内に格納する、前記オペレーティングシステムの管理下で動作するパーティションイメージデータ格納手段と、前記パーティションイメージデータが前記外部記憶装置の前記ハードディスク上に確保された前記予約領域内に格納されている場合、前記オペレーティングシステムに代えて当該パーティションイメージデータに含まれる前記簡易オペレーティングシステムを起動するための調整処理を行うメンテナンス制御手段とを具備することを特徴とする。
【０００８】
また、この発明のメンテナンス方法は、主メモリと、オペレーティングシステムに対してその存在が隠蔽される予約領域が確保されたハードディスクと、このハードディスクへのデータアクセスを制御するためのプログラムを格納するコントローラとからなる外部記憶装置とを備えた情報処理装置におけるメンテナンス方法であって、前記情報処理装置が、既存のプログラムに換えて前記外部記憶装置の前記コントローラに格納させるべき新プログラムと、前記外部記憶装置の前記コントローラが格納する既存のプログラムを前記新プログラムに書き換えるための書換プログラムと、前記書換プログラムを実行制御する前記主メモリ上に全体をロード可能な簡易オペレーティングシステムとを含むパーティションイメージデータを、前記外部記憶装置の前記ハードディスク上に確保された前記予約領域内に格納するステップと、前記パーティションイメージデータが前記外部記憶装置の前記ハードディスク上に確保された前記予約領域内に格納されている場合、前記オペレーティングシステムに代えて当該パーティションイメージデータに含まれる前記簡易オペレーティングシステムを起動するための調整処理を行うステップとを実行することを特徴とする。
【発明の効果】
【０００９】
この発明によれば、例えばオペレーティングシステムがインストールされた外部記憶装置に関わるファームウェア等のアップデート作業を簡易化することを実現した情報処理装置および同装置におけるメンテナンス方法を提供することができる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照して本発明の一実施形態を説明する。
【００１１】
図１は、本実施形態に係る情報処理装置のシステム構成を示す図である。この情報処理装置は、例えばサーバ等と称されるコンピュータとして実現される。
【００１２】
本コンピュータは、図１に示すように、ＣＰＵ１１、ノースブリッジ１２、主メモリ１３、表示コントローラ１４、ビデオメモリ（ＶＲＡＭ）１５、サウスブリッジ１６、ＢＩＯＳ−ＲＯＭ１７、ＲＡＩＤコントローラ１８、（２台の）ハードディスクドライブ（ＨＤＤ）１９、光磁気ディスクドライブ（ＯＤＤ）２０、エンベデッドコントローラ／キーボードコントローラ（ＥＣ／ＫＢＣ）２３、電源回路２４、ネットワークコントローラ２５等を備えている。
【００１３】
ＣＰＵ１１は、本コンピュータの動作を制御するプロセッサであり、ＨＤＤ１９から主メモリ１３にロードされる、オペレーティングシステム（ＯＳ）１００や、このＯＳ１００の制御下で動作する、ユーティリティを含む各種アプリケーションプログラムを実行する。この各種アプリケーションプログラムの中には、後述するアップデートユーティリティ２００が含まれている。また、ＣＰＵ１１は、ＢＩＯＳ−ＲＯＭ１７に格納されたＢＩＯＳも実行する。ＢＩＯＳは、ハードウェア制御のためのプログラムである。なお、以下では、ＢＩＯＳ−ＲＯＭ１７に格納されたＢＩＯＳ自体をＢＩＯＳ１７と称することがある。
【００１４】
ノースブリッジ１２は、ＣＰＵ１１のローカルバスとサウスブリッジ１６との間を接続するブリッジデバイスである。ノースブリッジ１２は、バスを介して表示コントローラ１４との通信を実行する機能を有しており、また、主メモリ１３をアクセス制御するメモリコントローラも内蔵されている。表示コントローラ１４は、外部接続されるディスプレイ装置を制御する。
【００１５】
サウスブリッジ１６は、ＰＣＩバスやＬＰＣバス等のバス上の各種デバイスを制御するコントローラである。サウスブリッジ１６には、ＢＩＯＳ−ＲＯＭ１７、ＲＡＩＤコントローラ１８、ＯＤＤ２０が直接的に接続され、これらを制御する機能も有している。
【００１６】
ＲＡＩＤコントローラ１８は、複数のＨＤＤ１９を使ってＲＡＩＤを構成する。ここでは、ＨＤＤ（１）１９，ＨＤＤ（２）１９の２台でミラーリングを行うＲＡＩＤ−１が構成されているものと想定する。本コンピュータでは、ＯＳ１００を始めとする各種ソフトウェアが当該ＲＡＩＤ−１の構成要素であるＨＤＤ１９上に格納される。
【００１７】
このＲＡＩＤ−１の構成に関わるＲＡＩＤコントローラ１８および各ＨＤＤ１９のそれぞれには、ファームウェア等のプログラムが組み込まれている。アップデートユーティリティ２００は、このファームウェア等のプログラムを更新するために用意されるプログラムである。そして、本コンピュータは、例えばアップデート作業用の特別なパーティション等がＨＤＤ１９上に確保されることなく、ＲＡＩＤ−１が構成済みであり、かつ、当該ＲＡＩＤ−１にＯＳ１００がインストールされている場合においても、このＲＡＩＤ−１の構成に関わるハードウェアに組み込まれたファームウェア等のプログラムのアップデート作業を、当該ＯＳ１００の制御下で動作する１プログラムであるアップデートユーティリティ２００によって簡易に行えるようにしたものであり、以下、この点について詳述する。
【００１８】
なお、ＯＤＤ２０は、各種プログラムおよび各種データが格納されたＣＤやＤＶＤ等の記憶メディアを駆動するためのドライブユニットである。アップデートユーティリティ２００は、このＯＤＤ２０から主メモリ１３にロードさせるようにしても良い。
【００１９】
また、ＥＣ／ＫＢＣ２３は、電力管理のためのエンベデッドコントローラと、外部接続されるキーボードを制御するためのキーボードコントローラとが集積された１チップマイクロコンピュータである。ＥＣ／ＫＢＣ２３は、電源回路２４と協働して、外部ＡＣ電源からの電力を各部に供給制御する。
【００２０】
そして、ネットワークコントローラ２５は、例えばインターネットなどの外部ネットワークとの通信を実行する通信装置である。ファームウェアの改訂版等は、このネットワークコントローラ２５を介して取得することができる。これに限らず、ファームウェアの改訂版等は、ＣＤやＤＶＤ等の記憶メディアによって頒布されたものをＯＤＤ２０によって読み出すことによっても取得できる。
【００２１】
次に、図２を参照して、このようなシステム構成をもつ本コンピュータ上に構成されるＲＡＩＤ−１の詳細な構成および当該ＲＡＩＤ−１に対するデータアクセスの基本原理について説明する。
【００２２】
図２に示すように、ＲＡＩＤコントローラ１８はマイコン１８１、ＨＤＤ１９はマイコン１９１をそれぞれ有しており、また、ＲＡＩＤコントローラ１８のマイコン１８１はＲＡＩＤ−ＢＩＯＳ１８１Ａおよびファームウェア１８１Ｂ、ＨＤＤ１９のマイコン１９１はファームウェア１９１Ａをそれぞれ有している。ＲＡＩＤ−ＢＩＯＳ１８１Ａは、ＢＩＯＳ１７との通信を行い、ソフトウェアによるハードウェア制御を実現するＢＩＯＳ１７の機能をＲＡＩＤ−１内において代替するために設けられるプログラムである。より具体的に説明すると、ＯＳ１００およびＢＩＯＳ１７は、ＨＤＤ（１）１９，ＨＤＤ（２）１９の２台から構成されるＲＡＩＤ−１を１台のＨＤＤと認識し、この１台のＨＤＤに対するデータアクセスを行おうとするので、ＲＡＩＤ−ＢＩＯＳ１８１Ａは、ＢＩＯＳ１７に代わって、ＨＤＤ（１）１９，ＨＤＤ（２）１９それぞれを駆動制御する。即ち、本コンピュータ上に構成されるＲＡＩＤ−１に対するデータアクセスは、このＲＡＩＤ−ＢＩＯＳ１８１Ａ、ファームウェア１８１Ｂ、ファームウェア１９１Ａの各プログラムによって制御されている。
【００２３】
ＲＡＩＤコントローラ１８は、ＨＤＤ（１）１９，ＨＤＤ（２）１９の２台を使ってＲＡＩＤ−１を構成する際、ＨＤＤ（１）１９，ＨＤＤ（２）１９のハードディスク１９２それぞれにＲＡＩＤリザーブ領域を確保する。そして、この確保したＲＡＩＤリザーブ領域内に、例えばＨＤＤ（１）１９とＨＤＤ（２）１９とのペアでＲＡＩＤ−１が構成されていること等を示す当該ＲＡＩＤに関する各種管理情報を格納する。このＲＡＩＤリザーブ領域は、ＯＳ１００に対しては、その存在が隠蔽される。
【００２４】
ここで、ＣＰＵ１１によって実行されるアプリケーションプログラムが当該ＲＡＩＤ−１へデータを書き込む場合の動作の流れを説明しておく。この場合、アプリケーションプログラムは、ＯＳ１００に対してデータの書き込みを要求するコマンドを発行する。このコマンドを受けたＯＳ１００は、この要求されたデータの書き込み動作をＲＡＩＤ−１に行わせるためのコマンドをＢＩＯＳ１７に発行する。ＢＩＯＳ１７は、このコマンドをＲＡＩＤコントローラ１８のマイコン１８１のＲＡＩＤ−ＢＩＯＳ１８１Ａに転送し、ＲＡＩＤ−ＢＩＯＳ１８１Ａは、当該コマンドに基づき、要求されたデータの書き込み動作をＨＤＤ（１）１９，ＨＤＤ（２）１９に行わせる。
【００２５】
次に、このような動作の流れでデータの書き込みが行われるＲＡＩＤ−１において、ＲＡＩＤコントローラ１８のマイコン１８１が備えるＲＡＩＤ−ＢＩＯＳ１８１Ａまたはファームウェア１８１Ｂ、若しくはＨＤＤ１９のマイコン１９１が備えるファームウェア１９１Ａを、ＯＳ１００の制御下で動作するアップデートユーティリティ２００によってアップデートする場合の手順について説明する。ここでは、ファームウェア１８１Ｂを書き換える場合を例示する。
【００２６】
図３には、ＲＡＩＤ−１の構成要素となったＨＤＤ１９のハードディスク１９２に確保されるＲＡＩＤリザーブ領域の構成が示されている。
【００２７】
図３に示すように、ＲＡＩＤリザーブ領域には、未使用の領域が存在する（ハッチングが施された領域）。そこで、アップデートユーティリティ２００は、第１に、このＲＡＩＤリザーブ領域に存在する未使用の領域内の連続領域に、後述するメンテナンスイメージを書き込む。ここでは、このメンテナンスイメージが書き込まれるＲＡＩＤリザーブ領域上の領域をメンテナンスパーティション部ａ１と称する。メンテナンスイメージは、例えばインターネット上のＷｅｂサイトからダウンロードし、または、ＯＤＤ２０経由でＣＤやＤＶＤ等の記録メディアから読み出すことによって取得する。
【００２８】
ＲＡＩＤリザーブ領域は、ＯＳ１００に対しては、その存在が隠蔽されている。このＯＳ１００の管理外にあるＲＡＩＤリザーブ領域に対するデータアクセスを行うために、通常のＩ／Ｏコマンドとは別に拡張コマンドが用意される。アップデートユーティリティ２００は、この拡張コマンドを発行して、ＲＡＩＤ−１に対するデータの書き込みをＯＳ１００に要求する。この拡張コマンドによるデータの書き込み要求は、ＯＳ１００からＢＩＯＳ１７、さらにＲＡＩＤ−ＢＩＯＳ１８１Ａと伝達されて、要求されたデータを書き込むべくハードディスク１９２が駆動制御される。この拡張コマンドは非公開であり、他のアプリケーションプログラム等によって発行されることはない。
【００２９】
また、第２に、アップデートユーティリティ２００は、メンテナンスイメージの書き込みを行った旨を示す情報をＲＡＩＤリザーブ領域のＲＡＩＤ情報（正），（副）ａ２領域に書き込む。図４は、ＲＡＩＤ情報（正），（副）領域の構成を示す図である。
【００３０】
図４に示すように、ＲＡＩＤ情報（正），（副）領域には、”MntFlg”（ｂ１）、”msum”（ｂ２）、”MntTime”（ｂ３）、”ProductName”（ｂ４）、”SerialNumber”（ｂ５）の各フィールドが設けられている。アップデートユーティリティ２００は、メンテナンスイメージの書き込みを行った際、このフィールドｂ１〜ｂ５に以下の情報を書き込んでいく。
【００３１】
図５は、”MntFlg”（ｂ１）フィールドの値がもつ意味を示す図であり、アップデートユーティリティ２００は、メンテナンスイメージの書き込みを行った際、この”MntFlg”（ｂ１）フィールドに、”0x01xx”を書き込む。ＲＡＩＤ−ＢＩＯＳ１８１Ａは、アップデート支援モジュール３００を有しており、本コンピュータが定期点検等によって再起動され、ＢＩＯＳ１７からＲＡＩＤ−１の認識（初期処理）を指示された際に、このアップデート支援モジュール３００が、”MntFlg”（ｂ１）フィールドの値をチェックする。その際に、この”0x01xx”が格納されていたら、アップデート支援モジュール３００は、ＯＳ１００に代えて、メンテナンスパーティション部ａ１の（後述するメンテナンスイメージに含まれる）簡易ＯＳを起動する。
【００３２】
また、アップデートユーティリティ２００は、”msum”（ｂ２）フィールドに、メンテナンスイメージを書き込んだ位置、即ちメンテナンスパーティション部ａ１の位置を示す値を書き込む。この”msum”（ｂ２）フィールドの値を参照することで、アップデート支援モジュール３００は、メンテナンスパーティション部ａ１の簡易ＯＳを起動させることができる。より具体的には、アップデート支援モジュール３００は、ハードディスク１９１のＭＢＲ（master boot record）を当該簡易ＯＳが起動されるように書き換える等の調整処理を実行する。
【００３３】
更に、アップデートユーティリティ２００は、”MntTime”（ｂ３）フィールドに、メンテナンスイメージを書き込んだ際の本コンピュータのシステム時刻を書き込み、”ProductName”（ｂ４）フィールドおよび”SerialNumber”（ｂ５）フィールドに、本コンピュータに割り当てられた固有の情報を形成する、製造元情報およびシリアル番号をそれぞれ書き込む。アップデート支援モジュール３００は、”MntFlg”（ｂ１）フィールドに”0x01xx”が格納されていた場合、ＯＳ１００に代えて、メンテナンスパーティション部ａ１の簡易ＯＳを起動するわけであるが、この簡易ＯＳの起動を行うにあたり、”MntTime”（ｂ３）フィールドに格納された時刻からの経過期間、即ち、現在の本コンピュータのシステム時刻との間の時間的な差分が所定の値以内（例えば１ヶ月以内）に収まっているか否かをチェックする。所定の値以内に収まっていなければ、アップデート支援モジュール３００は、簡易ＯＳの起動は行わず、通常通り、ＯＳ１００を起動する。
【００３４】
また、簡易ＯＳの起動を行うにあたり、アップデート支援モジュール３００は、”ProductName”（ｂ４）フィールドおよび”SerialNumber”（ｂ５）フィールドの値が本コンピュータに割り当てられた固有の情報と一致しているか否かもチェックする。もし、一致していなければ、アップデート支援モジュール３００は、簡易ＯＳの起動は行わず、通常通り、ＯＳ１００を起動する。
【００３５】
対障害性を向上させるために構成されるＲＡＩＤでは、ＨＤＤ１９の活栓交換が可能であるが、故障を発生させたＨＤＤ１９を予備のＨＤＤ１９に交換した際、偶然にも、当該予備のＨＤＤ１９内にメンテナンスイメージが存在し、かつ、”MntFlg”（ｂ１）フィールドに”0x01xx”が格納されていたとしても、アップデート支援モジュール３００によるチェックが行われるので、意図しないファームウェア等のアップデート処理が開始されることはない。即ち、アップデート支援モジュール３００は、この点で、セキュリティ強化のためのプロテクト機能を備えていると言える。
【００３６】
図６は、アップデートユーティリティ２００によってハードディスク１９２のＲＡＩＤリザーブ領域に書き込まれるメンテナンスイメージの構成を示す図である。
【００３７】
図６に示すように、メンテナンスイメージは、簡易ＯＳ４００、アップデート実行モジュール４１０、（新）ファームウェア４２０（ここでは、ファームウェア１８１Ｂの改訂版）からなる。また、アップデート実行モジュール４１０は、ＲＡＭディスク作成ツール４１１、書換ツール４１２からなっている。前述のように、アップデートユーティリティ２００は、このメンテナンスイメージを、ネットワークコントローラ２５経由でインターネット上のＷｅｂサイトからダウンロードし、または、ＯＤＤ２０経由でＣＤやＤＶＤ等の記録メディアから読み出すことによって取得する。
【００３８】
簡易ＯＳ４００は、アップデート実行モジュール４１０を主メモリ１３にロードして起動する機能と、ＲＡＩＤコントローラ１８が備えるマイコン１８１内のＲＡＩＤ−ＢＩＯＳ１８１Ａまたはファームウェア１８１Ｂ、ＨＤＤ１９が備えるマイコン１９１内のファームウェア１９１Ａを書き換える機能とを含む必要最小限の機能のみをもつ、主メモリ１３上に全体をロード可能な小規模のＯＳである。簡易ＯＳ４００は、起動されると、アップデート実行モジュール４１０を主メモリ１３にロードして起動するように初期設定されている。
【００３９】
アップデート実行モジュール４１０は、起動されると、まず、ＲＡＭディスク作成ツール４１１により主メモリ１３上にＲＡＭディスクを作成し、この作成したＲＡＭディスク内に書換ツール４１２および（新）ファームウェア４２０を複製する。そして、アップデート実行モジュール４１０は、ＲＡＭディスク内に複製した書換ツール４１２の起動を簡易ＯＳ４００に要求する。図７は、ＲＡＭディスク作成後の本コンピュータの状態を示す概略図である。
【００４０】
ここでは、ＲＡＩＤコントローラ１８が備えるマイコン１８１内のファームウェア１８１Ｂを（新）ファームウェア４２０に書き換えるためのプログラムが、書換ツール４１２として用意されることになるが、図７に示すように、簡易ＯＳ４００は、主メモリ１３のみを作業領域として、この書換ツール４１２を実行制御することができる。即ち、アップデート対象物に依存することなく、当該アップデート対象物に対するアクセスを行えることになる。
【００４１】
そして、この書き換えを終了すると、書換ツール４１２は、図４に示したＲＡＩＤ情報（正），（副）領域の”MntFlg”（ｂ１）フィールドに、正常終了を示す”0x03xx”を書き込む。なお、前述したアップデート支援モジュール３００のプロテクト機能によってファームウェア等のアップデート処理が拒否された場合にも、この”MntFlg”（ｂ１）フィールドに、その理由を示す値（”0x0212”，”0x0410”，”0x0411”等）が書き込まれる。これらの値がセットされることにより、事後の調査も簡単に行える。この”MntFlg”（ｂ１）フィールドへの書き込みが終了すると、書換ツール４１２は、本コンピュータの再起動を簡易ＯＳ１００に要求する。
【００４２】
すると、ＢＩＯＳ１７からＲＡＩＤ−１の認識（初期処理）が再度指示されることになるが、この時には、図４に示したＲＡＩＤ情報（正），（副）領域の”MntFlg”（ｂ１）フィールドに”0x01xx”は格納されておらず、ファームウェア等のアップデート処理が正常終了した旨を示す値等が格納されているので、アップデート支援モジュール３００は、ハードディスク１９１のＭＢＲを本来の状態に復元することにより、（ＲＡＩＤコントローラ１８のファームウェア１８１Ｂがアップデートされた状態で）通常通り、ＯＳ１００を起動させる。このＯＳ１００の起動によって、ユーザには、ファームウェア等の書き換え処理が行われていたことを意識させることがない。
【００４３】
このように、本手法は、アップデートユーティリティ２００とＲＡＩＤ−ＢＩＯＳ１８１Ａのアップデート支援モジュール３００との連携により、ＲＡＩＤの構成時に当該ＲＡＩＤの構成要素となるハードディスク１９２に確保されるＲＡＩＤリザーブ領域に存在する未使用領域を活用して、ＲＡＩＤリザーブ領域内にメンテナンスイメージを格納するので、既存のＲＡＩＤで運用中のコンピュータにも適用可能である。即ち、ファームウェアのアップデートを前提とした事前のパーティション分割などが不要であり、かつ、ＯＳ１００の制御下で動作するアップデートユーティリティ２００で作業を行うことを可能とする等、アップデート作業の簡易化を図ることを実現する。
【００４４】
次に、図８乃至図１０を参照して、本コンピュータで実行されるメンテナンス処理の動作手順を説明する。図８には、アップデートユーティリティ２００の処理の流れ、図９には、ＲＡＩＤ−ＢＩＯＳ１８１Ａのアップデート支援モジュール３００の処理の流れ、図１０には、メンテナンスイメージに含まれるアップデート実行モジュール４１０の処理の流れ、がそれぞれ示されている。
【００４５】
アップデートユーティリティ２００は、まず、ネットワークコントローラ２５経由でインターネット上のＷｅｂサイトからダウンロードし、または、ＯＤＤ２０経由でＣＤやＤＶＤ等の記録メディアから読み出すことにより、メンテナンスイメージを取得する（図８ステップＡ１）。次に、アップデートユーティリティ２００は、この取得したメンテナンスイメージを、拡張コマンドを発行することにより、ハードディスク１９２に確保されたＲＡＩＤリザーブ領域に書き込む（図８ステップＡ２）。そして、アップデートユーティリティ２００は、同じく拡張コマンドを発行することにより、このメンテナンスイメージの書き込みを行った旨を示すフラグ等の情報を当該ＲＡＩＤリザーブ領域に書き込む（図８ステップＡ３）。
【００４６】
ＲＡＩＤ−ＢＩＯＳ１８１Ａのアップデート支援モジュール３００は、ＢＩＯＳ１７からＲＡＩＤの認識（初期処理）を指示されると、まず、メンテナンスイメージの書き込みが行われた旨を示すフラグがセットされているかどうかを調べ（図９ステップＢ１）、セットされていたら（図９ステップＢ１のＹＥＳ）、続いて、その書き込み時刻や本コンピュータに固有のシリアル情報等の検査を行う（図９ステップＢ２）。
【００４７】
この検査で問題が発見されなければ（図９ステップＢ２のＹＥＳ）、アップデート支援モジュール３００は、ハードディスク１９１に確保されたＲＡＩＤリザーブ領域内のメンテナンスパーティション部ａ１内の簡易ＯＳ４００が起動されるように、ハードディスク１９１のＭＢＲを書き換える等の調整処理を実施することにより、当該簡易ＯＳ４００を起動する（図９ステップＢ３）。一方、この検査で問題を発見したら（図９ステップＢ２のＮＯ）、アップデート支援モジュール３００は、その原因を示すフラグをセットした後に（図９ステップＢ４）、上記の調整処理を実施することなく、通常通り、ＯＳ１００を起動する（図９ステップＢ５）。
【００４８】
また、アップデート支援モジュール３００は、メンテナンスイメージの書き込みが行われた旨を示すフラグがセットされていなかった場合（図９ステップＢ１のＮＯ）、通常通り、ＯＳ１００を起動する（図９ステップＢ５）。なお、アップデート支援モジュール３００は、、メンテナンスイメージの書き込みが正常終了した旨を示すフラグ等がセットされていた場合には、ハードディスク１９１のＭＢＲを本来の状態に復元する調整処理を実施する。
【００４９】
簡易ＯＳ４００が起動されたことに伴って起動されるアップデート実行モジュール４１０は、まず、ＲＡＭディスク作成ツール４１１により主メモリ１３上にＲＡＭディスクを作成し（図１０ステップＣ１）、この作成したＲＡＭディスク内に書換ツール４１２および（新）ファームウェア４２０をコピーする（図１０ステップＣ２）。そして、アップデート実行モジュール４１０は、ＲＡＭディスク内にコピーした書換ツール４１２の起動を簡易ＯＳ４００に要求し、（新）ファームウェア４２０の書き込みを実行する（図１０ステップＣ３）。
【００５０】
この書き込みが正常終了すると（図１０ステップＣ４のＹＥＳ）、（アップデート実行モジュール４１０の）書換ツール４１２は、アップデートの正常終了を示すフラグをセットし（図１０ステップＣ５）、一方、書き込みが失敗した場合には（図１０ステップＣ４のＹＥＳ）、その原因を示すフラグをセットする（図１０ステップＣ６）。
【００５１】
そして、このフラグのセット後、書換ツール４１２は、簡易ＯＳ４００に対し、本コンピュータの再起動を要求することにより（図１０ステップＣ７）、通常のＯＳ１００を起動させる。
【００５２】
このように、本コンピュータによれば、例えばオペレーティングシステムがインストールされた外部記憶装置に関わるファームウェア等のアップデート作業を簡易化することを実現する。
【００５３】
ところで、以上では、ＲＡＩＤリザーブ領域が確保されるＲＡＩＤに関わるファームウェア等のアップデートを例に説明したが、ＲＡＩＤに限らず、オペレーティングシステムに対してその存在が隠蔽され、かつ、ある程度の未使用領域を含むリザーブ領域がハードディスク上に確保される外部記憶装置に対しては、アップデートユーティリティ２００とＲＡＩＤ−ＢＩＯＳ１８１Ａのアップデート支援モジュール３００が連携する本発明のメンテナンス手法は当然に適用可能である。
【００５４】
つまり、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００５５】
【図１】この発明の一実施形態に係る情報処理装置のシステム構成を示す図
【図２】同実施形態の情報処理装置上に構成されるＲＡＩＤ−１の詳細な構成および当該ＲＡＩＤ−１に対するデータアクセスの基本原理を説明するための図
【図３】ＲＡＩＤ−１の構成要素となったＨＤＤのハードディスクに確保されるＲＡＩＤリザーブ領域の構成を示す図
【図４】図３のＲＡＩＤリザーブ領域内のＲＡＩＤ情報（正），（副）領域の構成を示す図
【図５】図４のＲＡＩＤ情報（正），（副）領域の”MntFlg”（ｂ１）フィールドの値がもつ意味を示す図
【図６】同実施形態の情報処理装置上で動作するアップデートユーティリティによってハードディスクのＲＡＩＤリザーブ領域に書き込まれるメンテナンスイメージの構成を示す図
【図７】同実施形態の情報処理装置のＲＡＭディスク作成後の状態を示す概略図
【図８】同実施形態の情報処理装置上で動作するアップデートユーティリティの処理の流れを示すフローチャート
【図９】同実施形態の情報処理装置上で動作するＲＡＩＤ−ＢＩＯＳのアップデート支援モジュールの処理の流れを示すフローチャート
【図１０】同実施形態の情報処理装置上で動作する、メンテナンスイメージに含まれるアップデート実行モジュールの処理の流れを示すフローチャート
【符号の説明】
【００５６】
１１…ＣＰＵ、１２…ノースブリッジ、１３…主メモリ、１４…表示コントローラ、１５…ＶＲＡＭ、１６…サウスブリッジ、１７…ＢＩＯＳ−ＲＯＭ、１８…ＲＡＩＤコントローラ、１９…ＨＤＤ、２０…ＯＤＤ、２３…エンベデッドコントローラ／キーボードコントローラ（ＥＣ／ＫＢＣ）、２４…電源回路、２５…ネットワークコントローラ、１００…オペレーティングシステム（ＯＳ）、１８１…マイコン、１８１Ａ…ＲＡＩＤ−ＢＩＯＳ、１８１Ｂ…ファームウェア、１９１…マイコン、１９２…ハードディスク、２００…アップデートユーティリティ、３００…アップデート支援モジュール、４００…簡易ＯＳ、４１０…アップデート実行モジュール、４１１…ＲＡＭディスク作成ツール、４１２…書換ツール、４１３…（新）ファームウェア。
【図１】
2009110297.tif 000003
【図２】
2009110297.tif 000004
【図３】
2009110297.tif 000005
【図４】
2009110297.tif 000006
【図５】
2009110297.tif 000007
【図６】
2009110297.tif 000008
【図７】
2009110297.tif 000009
【図８】
2009110297.tif 000010
【図９】
2009110297.tif 000011
【図１０】
2009110297.tif 000012