(57)【要約】【課題】HDD（Hard Disk Drive）等のデバイスの増設が行われた場合でも、SSDに存在する各々のファームウェアのバージョンを同じにしておくことが可能な情報処理装置を提供する。【解決手段】  情報処理装置は、SSD（103）及びSSD（103）以外のデバイス（104）に存在するファームウェアの配置情報を管理し、ファームウェアのバーションを更新する際に、その配置情報を基に、SSD（103）に存在するファームウェアのバージョンを同じにするように制御する。【選択図】図１
2011170793.tif 000002
【特許請求の範囲】
【請求項１】
SSD（Solid State Drive）及びSSD以外のデバイスに存在するファームウェアの配置情報を管理する管理手段と、
ファームウェアのバーションを更新する際に、前記管理手段で管理する配置情報を基に、前記SSDに存在するファームウェアのバージョンを同じにするように制御する制御手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記制御手段は、
SSD以外のデバイスを増設した際に、前記SSDに存在する少なくとも１つのファームウェアを前記デバイスにコピーし、ファームウェアのバーションを更新する際に、前記デバイスにコピーしたファームウェアが前記SSDに存在する場合は、前記デバイスにコピーしたファームウェアと共に、前記SSDに存在する前記コピーしたファームウェアも更新することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記制御手段は、
SSD以外のデバイスを増設した際に、前記SSDに存在する少なくとも１つのファームウェアを参照するための参照機能を前記デバイスにコピーし、ファームウェアのバーションを更新する際に、前記参照機能が前記デバイスに存在する場合は、前記SSDに存在する前記参照機能の参照先となるファームウェアも更新することを特徴とする請求項１または２記載の情報処理装置。
【請求項４】
前記制御手段は、
SSD以外のデバイスを増設した際に、前記SSDに存在する少なくとも１つのファームウェアを前記デバイスにコピーせず、ファームウェアのバーションを更新する際に、前記デバイスにコピーしなかったファームウェアが前記SSDに存在する場合は、前記SSDに存在する前記コピーしなかったファームウェアも更新することを特徴とする請求項１から３の何れか１項に記載の情報処理装置。
【請求項５】
前記制御手段は、
SSD以外のデバイスを増設した際に、前記SSDに存在する全てのファームウェアを前記デバイスにコピーし、ファームウェアのバーションを更新する際に、前記デバイスにコピーした全てのファームウェアが前記SSDに存在する場合は、前記デバイスにコピーした全てのファームウェアと共に、前記SSDに存在する前記コピーした全てのファームウェアも更新することを特徴とする請求項１から４の何れか１項に記載の情報処理装置。
【請求項６】
前記制御手段は、
SSD以外のデバイスを増設した際に、前記SSDに存在する全てのファームウェアを前記デバイスにコピーし、ファームウェアのバーションを更新する際に、前記デバイスにコピーした全てのファームウェアが前記SSDに存在する場合は、前記デバイスにコピーした全てのファームウェアを更新し、前記SSDに存在する前記コピーした全てのファームウェアは更新しないことを特徴とする請求項１から４の何れか１項に記載の情報処理装置。
【請求項７】
前記制御手段は、
SSD以外のデバイスを増設した際に、該増設したデバイスに存在するファームウェアのバージョンと、前記SSDに存在するファームウェアのバージョンと、を確認し、前記デバイスに存在するファームウェアのバージョンと、前記SSDに存在するファームウェアのバージョンと、が異なる場合に、その旨を報知することを特徴とする請求項１から６の何れか１項に記載の情報処理装置。
【請求項８】
前記制御手段は、
SSD以外のデバイスを増設した際に、該増設したデバイスに存在するファームウェアのバージョンと、前記SSDに存在するファームウェアのバージョンと、を確認し、前記デバイスに存在するファームウェアのバージョンと、前記SSDに存在するファームウェアのバージョンと、が異なる場合に、前記デバイスに存在するファームウェアを動作させないように制御することを特徴とする請求項１から７の何れか１項に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、HDD（Hard Disk Drive）等のデバイスを増設可能な情報処理装置に関する。
【背景技術】
【０００２】
一般的な情報処理装置は、HDD等のデバイスを増設することができる。また、情報処理装置のSSD（Solid State Drive）に存在する一部のファームウェアを、新たに増設したHDDにコピーし、そのHDDにコピーしたファームウェアを起動して動作することができる。
【０００３】
しかし、ファームウェアのアップデートを行った場合に、SSDに存在する一部のファームウェアのアップデートが行われず、SSDに存在するファームウェアには、アップデート前の旧バーションと、アップデート後の新バージョンと、が存在してしまう場合がある。
【０００４】
SSDに存在する各々のファームウェアのバージョンが異なった状態（旧バーションと、新バージョンと、が存在する状態）で、情報処理装置に増設したHDDが故障した場合は、その故障したHDDを取り外して、SSDに存在する各々のファームウェアを起動させて動作することになる。
【０００５】
しかし、SSDに存在する各々のファームウェアは、バージョンが異なっているため、各々のファームウェアを起動しても、正常に動作することができない。
【０００６】
このため、SSDに存在する各々のファームウェアのバージョンを同じにしておく必要がある。
【０００７】
なお、本発明より先に出願された技術文献として、組み合せ異常の発生するモジュール構成でも機器を通常のアップデート手段によってアップデートを完成させる技術について開示された文献がある（例えば、特許文献１参照）。
【０００８】
上記特許文献１（特開2007-295371号公報）では、システムプログラムは、起動時に各モジュールのバージョン情報を集めてバージョン情報リストを作成する。次に、その作成したバージョン情報リストに組み合わせ条件情報が存在するか否かをチェックする。存在しない場合は、通常の起動を行い。存在する場合は、バージョン情報が組み合わせ条件を満たしているか否かチェックする。条件を満たしている場合は、通常の起動を行い、条件を満たしていない場合は、アップデート専用のモードで起動することにしている。これにより、組み合せ異常の発生するモジュール構成でもアップデートを完成させることにしている。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上記特許文献１には、組み合せ異常の発生するモジュール構成でもアップデートを完成させる点について開示されている。しかし、上記特許文献１の技術は、アップデートを行う前に組み合わせ異常を発生させないファームウェア構成にするものではない。
【００１０】
また、上記特許文献１は、通常のファームウェアのアップデートのことだけが開示されており、HDD（Hard Disk Drive）等のデバイス増設時のファームウェア構成についてまでは考慮されていない。
【００１１】
本発明は、上記事情に鑑みてなされたものであり、上述した課題である、HDD（Hard Disk Drive）等のデバイスの増設が行われた場合でも、SSDに存在する各々のファームウェアのバージョンを同じにしておくことが可能な情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
かかる目的を達成するために、本発明は、以下の特徴を有することとする。
【００１３】
本発明にかかる情報処理装置は、
SSD（Solid State Drive）及びSSD以外のデバイスに存在するファームウェアの配置情報を管理する管理手段と、
ファームウェアのバーションを更新する際に、前記管理手段で管理する配置情報を基に、前記SSDに存在するファームウェアのバージョンを同じにするように制御する制御手段と、
を有することを特徴とする。
【発明の効果】
【００１４】
本発明によれば、HDD（Hard Disk Drive）等のデバイスの増設が行われた場合でも、SSDに存在する各々のファームウェアのバージョンを同じにしておくことができる。
【図面の簡単な説明】
【００１５】
【図１】本実施形態の情報処理装置のコントローラ100のハード構成例を示す図である。
【図２】本実施形態の情報処理装置のコントローラ100のソフト構成例を示す図である。
【図３】配置情報4の構成例を示す図である。
【図４】従来のHDDオプション増設時の処理動作時のファームウェアの状態遷移を示す図である。
【図５】本実施形態のコントローラ100の第１の処理動作時のファームウェアの状態遷移を示す図である。
【図６】図５に示す各状態時の配置情報4を示す図である。
【図７】本実施形態のコントローラ100の第２の処理動作時のファームウェアの状態遷移を示す図である。
【図８】図７に示す各状態時の配置情報4を示す図である。
【図９】本実施形態のコントローラ100の第３の処理動作時のファームウェアの状態遷移を示す図である。
【図１０】図９に示す各状態時の配置情報4を示す図である。
【図１１】本実施形態のコントローラ100の第４の処理動作時のファームウェアの状態遷移を示す図である。
【図１２】図１１に示す各状態時の配置情報4を示す図である。
【図１３】本実施形態のコントローラ100の第５の処理動作時のファームウェアの状態遷移を示す図である。
【図１４】図１３に示す各状態時の配置情報4を示す図である。
【図１５】本実施形態のコントローラ100の第６の処理動作時のファームウェアの状態遷移を示す図である。
【図１６】図１５に示す各状態時の配置情報4を示す図である。
【発明を実施するための形態】
【００１６】
＜情報処理装置の概要＞
まず、図１、図２を参照しながら、本実施形態の情報処理装置の概要について説明する。
【００１７】
本実施形態の情報処理装置は、SSD（Solid State Drive）103及びSSD103以外のデバイス104に存在するファームウェアの配置情報4を管理し、ファームウェアのバーションを更新する際に、その配置情報4を基に、SSD103に存在するファームウェアのバージョンを同じにするように制御する。
【００１８】
これにより、本実施形態の情報処理装置は、HDD（Hard Disk Drive）104等のデバイスの増設が行われた場合でも、SSD103に存在する各々のファームウェアのバージョンを同じにしておくことができる。以下、添付図面を参照しながら、本実施形態の情報処理装置について詳細に説明する。
【００１９】
＜情報処理装置のコントローラ100のハード構成例＞
まず、図１を参照しながら、本実施形態の情報処理装置のコントローラ100のハード構成例について説明する。
【００２０】
本実施形態の情報処理装置は、図１に示すコントローラ100を有している。図１に示すコントローラ100は、CPU（Central Processing Unit）101と、RAM（Random Access Memory）102と、SSD（Solid State Drive）103と、HDD（Hard Disk Drive）104と、を有して構成している。
【００２１】
CPU101は、コンピュータを構成する部品の１つで、各装置の制御やデータの計算・加工を行うものである。
【００２２】
RAM102は、記憶装置であり、コンピュータのメインメモリ（主記憶装置）に利用される。
【００２３】
SSD103は、記憶媒体としてフラッシュメモリを用いるドライブ装置である。
【００２４】
HDD104は、ハードディスクの読取装置である。
【００２５】
本実施形態のHDD104は、コントローラ100にオプションとして増設することができる。
【００２６】
＜コントローラ100のソフト構成例＞
次に、図２を参照しながら、本実施形態のコントローラ100のソフト構成例について説明する。
【００２７】
本実施形態のコントローラ100のSSD103は、図２に示すように、ファームウェアA201と、ファームウェアB202と、の機能を有している。ファームウェアA201と、ファームウェアB202と、の機能は、HDD104の有無にかかわらず、コントローラ100の動作時に必要なファームウェアであり、必須の機能である。また、SSD103は、コントローラ100に存在するファームウェアの配置情報4を保持している。配置情報4は、図３に示す情報で構成している。配置情報4については後述する。
【００２８】
本実施形態のファームウェアA201は、HDDオプション検出プログラム1と、ファームウェア更新プログラム2と、ファームウェア起動プログラム3と、の機能を有している。
【００２９】
HDDオプション検出プログラム1は、オプションとして増設可能なHDDがコントローラ100に装着されたこと、そのHDDがコントローラ100から取り外されたこと等を検出する機能を有する。また、HDDオプション検出プログラム1は、コントローラ100に装着されたHDDや、コントローラ100から取り外されたHDDの情報を基に、配置情報4を更新する機能を有する。
【００３０】
ファームウェア更新プログラム2は、ファームウェアのアップデートを行う場合に、図３に示す配置情報4を基に、アップデート対象のファームウェアを特定し、そのファームウェアをアップデートする。
【００３１】
これにより、ファームウェア更新プログラム2は、ファームウェアのアップデート時に、バックアップ用のファームウェアも同時に更新することができる。このため、HDD等のデバイスの故障等が発生し、バックアップ用のファームウェアを使用することになった場合でも、そのバックアップ用のファームウェアを動作させて使用することができる。
【００３２】
ファームウェア起動プログラム3は、図３に示す配置情報4を基に、起動対象のファームウェアを特定し、そのファームウェアを起動させる。
【００３３】
これにより、ファームウェア起動プログラム3は、HDDオプションの増設やHDDオプションの取り外しが行われた場合でも、起動対象のファームウェアを起動させることができる。
【００３４】
＜ファームウェアの配置情報4＞
次に、図３を参照しながら、ファームウェアの配置情報4について説明する。
【００３５】
配置情報4は、図３に示すように、『ファームID』、『バージョン』、『必要ファームとバージョン』、『配置先』、『HDDオプション接続時の移動先』、『制御動作』、『起動ファーム』が関連付けられている。
【００３６】
『ファームID』は、ファームウェアを特定するための識別情報である。
【００３７】
『バージョン』は、ファームウェアのバージョンを特定するための情報であり、バージョンチェックの際に使用する。
【００３８】
『必要ファームとバージョン』は、ファームウェアが使用する他のファームウェアのファームIDとバーションを特定するための情報である。
【００３９】
『配置先』は、ファームウェアの配置先を特定するための情報である。『配置先』は、HDDオプションの増設によって複数のデバイスに配置されることもある。ファームウェア更新プログラム2は、ファームウェアのアップデートを行う場合に、この『配置先』の情報を基に、アップデート対象のファームウェアの配置先を特定し、その配置先のファームウェアをアップデートすることになる。
【００４０】
『HDDオプション接続時の移動先』は、ファームウェアの移動先のデバイスを特定するための情報である。HDDオプション検知プログラム1は、HDDオプションの増設が行われた場合に、この『HDDオプション接続時の移動先』の情報を基に、移動先のデバイスを特定し、その移動先のデバイスにファームウェアを移動したりすることになる。
【００４１】
『制御動作』は、HDDオプションの増設が行われた場合に行う制御動作を特定するための情報である。制御動作としては、ファームウェアを移動先のデバイスに完全に移動させ、オリジナルのファームウェアを移動元に残さないようにする動作（移動）、ファームウェアを移動先のデバイスにコピーさせ、オリジナルのファームウェアを移動元にも残すようにする動作（コピー）、何もしない（なし）等が挙げられる。HDDオプション検知プログラム1は、HDDオプションの増設が行われた場合に、この『制御動作』の情報を基に、ファームウェアの移動、コピー等の制御を行うことになる。
【００４２】
『起動ファーム』は、どのデバイスに配置されているファームウェアを起動するかを特定するための情報である。ファームウェア起動プログラム3は、ファームウェアを起動する場合に、この『起動ファーム』の情報を基に、どのデバイスに配置されているファームウェアを起動させるかを特定し、その特定した起動対象のファームウェアを起動することになる。
【００４３】
図３に示す配置情報では、ファームウェアA201は、『ファームID』が『ファームA』になっており、『バージョン』が『1.0』になっており、『必要ファームとバージョン』が『なし』になっており、『配置先』が『SSD』になっており、『HDDオプション接続時の移動先』が『なし』になっており、『制御動作』が『なし』になっており、『起動ファーム』が『SSD』になっている。
【００４４】
また、ファームウェアB202は、『ファームID』が『ファームB』になっており、『バージョン』が『1.0』になっており、『必要ファームとバージョン』が『ファームC（1.0）』になっており、『配置先』が『SSD』になっており、『HDDオプション接続時の移動先』が『HDD』になっており、『制御動作』が『コピー』になっており、『起動ファーム』が『SSD』になっている。
【００４５】
＜コントローラ100の処理動作＞
次に、コントローラ100の処理動作例について説明する。
【００４６】
＜従来のHDDオプション増設時の処理動作＞
まず、図４を参照しながら、従来のHDDオプション増設時の処理動作について説明する。なお、以下の説明では、コントローラ100には、図４（a）に示すように、SSD103が搭載されており、HDD104が搭載されていない状態を前提とし、その図４（a）に示すコントローラ100にHDDオプションとしてHDD104を増設する場合について説明する。なお、図４において、ファームウェアA201と、ファームウェアB202と、の機能は、HDD104の有無にかかわらず、コントローラ100の動作時に必要なファームウェアであり、必須の機能である。また、ファームウェアC203の機能は、HDD104がある場合のみ必要な機能である。
【００４７】
図４（a）に示す状態のコントローラ100に、HDDオプションを増設し、図４（b）に示すように、HDD104をコントローラ100に追加した場合は、SSD103は、ファームウェアを図４（b）に示す状態となるように制御する。
【００４８】
具体的には、SSD103は、HDDオプション増設時に、SSD103に存在するファームウェアB202をHDD104にコピーし、HDD104にコピーしたファームウェアB202を起動させて動作するように制御する。但し、SSD103は、オリジナルのファームウェアB202をSSD103にも残しておくことにする。
【００４９】
また、SSD103は、HDDオプション増設時に追加したHDD104に存在するファームウェアC203を起動させて動作するように制御する。また、SSD103は、SSD103に存在するファームウェアA201を起動させて動作するように制御する。
【００５０】
これにより、SSD103は、SSD103に存在するファームウェアA201と、HDD104にコピーしたファームウェアB202と、HDD104に存在するファームウェアC203と、を起動させて動作することになる。
【００５１】
次に、図４（b）に示す状態で、ファームウェアのアップデートを行ったとする。この場合、SSD103は、SSD103に存在するファームウェアA201と、HDD104にコピーしたファームウェアB202と、HDD104に存在するファームウェアC203と、を起動させて動作しているため、その起動対象のSSD103のファームウェアA201、HDD104のファームウェアB202、ファームウェアC203をアップデートすることになる。ファームウェアのアップデート後の状態を図４（c）に示す。図４（c）に示すSSD103のファームウェアA'201'、HDD104のファームウェアB'202'、ファームウェアC'203'は、アップデートされ、新バージョンになっている。しかし、SSD103のファームウェアB202は、アップデートされていないため、旧バージョンになっている。このため、SSD103に存在するファームウェアA'201'と、ファームウェアB202と、の各々のファームウェアのバージョンが異なってしまうことになる。
【００５２】
なお、図４（c）に示すように、SSD103に存在するファームウェアA'201'と、ファームウェアB202と、の各々のファームウェアのバージョンが異なった状態で、HDD104の故障等が発生し、HDDオプションの取り外しを行い、図４（d）に示す状態にしたとする。図４（d）では、HDD104がコントローラ100から取り外されている。
【００５３】
そして、図４（d）に示す状態で、SSD103に存在するファームウェアA'201'と、ファームウェアB202と、を起動させてみる。しかし、SSD103のファームウェアA'201'と、ファームウェアB202と、はバージョンが異なっているため、正常に動作することができない。
【００５４】
このため、SSD103に存在する各々のファームウェアA、Bのバージョンを同じにしておく必要がある。
【００５５】
このようなことから、本実施形態では、以下の制御動作を行うことで、SSD103に存在するファームウェアA、Bのバージョンを同じにしておくことを可能にした。以下、具体的な処理動作について詳細に説明する。
【００５６】
＜第１の処理動作＞
まず、図５、図６を参照しながら、第１の処理動作について説明する。図５は、第１の処理動作時のファームウェアの状態遷移を示し、図６は、図５に示す各状態時の配置情報4を示す。第１の処理動作は、HDDオプション増設時にSSD103のファームウェアB202をHDD104にコピーするが、そのオリジナルのファームウェアB202をSSD103に残しておく場合について説明する。
【００５７】
図５（a）に示す状態のコントローラ100の場合、SSD103は、図６（a）に示す配置情報4を予め保持しているものとする。図６（a）に示す配置情報4は、図３に示す配置情報4と同じである。また、HDDオプション増設時にコントローラ100に追加されるHDD104は、図６（b）に示すファームウェアC203の情報を保持しているものとする。図６（b）に示すファームウェアC203の情報は、『ファームID』、『バージョン』、『必要ファームとバージョン』、『配置先』、『起動ファーム』が関連付けられている。
【００５８】
図５（a）に示す状態のコントローラ100に、HDDオプションを増設し、図５（b）に示すように、HDD104をコントローラ100に追加した場合は、SSD103は、ファームウェアを図５（b）に示す状態となるように制御する。
【００５９】
具体的には、HDDオプション検出プログラム1は、HDDオプション増設時に、図６（a）に示す配置情報4の『HDDオプション接続時の移動先』及び『制御動作』の情報を基に、SSD103に存在するファームウェアBをHDD104にコピーする。
【００６０】
次に、HDDオプション検出プログラム1は、HDDオプションの増設が完了した場合に、図５（b）に示す状態を基に、図６（a）に示す配置情報4を図６（c）に示すように更新する。
【００６１】
具体的には、HDDオプション検出プログラム1は、ファームウェアB202をHDD104にコピーしたため、図６（c）に示すように、『ファームB』の『配置先』の情報を『SSD』→『SSD、HDD』に更新し、『起動ファーム』の情報を『SSD』→『HDD』に更新する。これにより、HDD104にコピーさせたファームウェアB202を動作させ、SSD103のオリジナルのファームウェアB202をバックアップ用のファームウェアにし、SSD103のファームウェアB202を動作させないようにすることができる。
【００６２】
また、HDDオプションの増設時にコントローラ100に追加したHDD104は、図６（b）に示すファームウェアCの情報を保持しているため、HDDオプション検出プログラム1は、HDD104が保持する図６（b）に示すファームウェアCの情報を基に、図６（a）に示す配置情報4に対し、図６（b）に示すファームウェアCの情報を追加し、図６（c）に示すように更新する。これにより、ファームウェア起動プログラム3は、図６（c）に示す配置情報4の『起動ファーム』の情報を基に、HDD104のファームウェアC203を起動させて動作することができる。
【００６３】
次に、図５（b）に示す状態で、ファームウェアのアップデートを行ったとする。この場合、ファームウェア更新プログラム2は、図６（c）に示す配置情報4の『配置先』の情報を基に、アップデート対象のファームウェアの配置先を特定し、その配置先のファームウェアをアップデートする。図６（c）に示す配置情報4の場合は、『ファームA』の『配置先』は、『SSD』であるため、SSD103に存在するファームウェアA201をアップデートする。また、『ファームB』の『配置先』は、『SSD、HDD』であるため、SSD103に存在するファームウェアB202と、HDD104に存在するファームウェアB202と、をアップデートする。また、『ファームC』の『配置先』は、『HDD』であるため、HDD104に存在するファームウェアC203をアップデートする。
【００６４】
これにより、ファームウェア更新プログラム2は、起動対象のSSD103に存在するファームウェアA201、HDD104に存在するファームウェアB202、ファームウェアC203だけでなく、起動対象外のSSD103に存在するファームウェアB202もアップデートすることができる。その結果、ファームウェア更新プログラム2は、図６（c）に示す配置情報4を図６（d）に示すように更新することができる。
【００６５】
このため、本実施形態のコントローラ100は、図４（c）に示す状態のように、SSD103に存在するファームウェアA'201'と、ファームウェアB202と、の各々のファームウェアのバージョンが異なってしまうことがなく、図５（c）に示す状態のように、SSD103に存在するファームウェアA'201'と、ファームウェアB'202'と、の各々のファームウェアのバージョンを同じにすることができる。
【００６６】
従って、図５（c）に示すように、SSD103に存在するファームウェアA'201'と、ファームウェアB'202'と、の各々のファームウェアのバージョンが同じ状態で、HDD104の故障等が発生し、HDDオプションの取り外しを行い、図５（d）に示す状態にしたとする。そして、図５（d）に示す状態で、SSD103に存在するファームウェアA'201'と、ファームウェアB'202'と、を起動した場合でも正常に動作することができる。
【００６７】
なお、HDDオプション検知プログラム1は、HDDオプションの取り外しが行われた場合は、図６（d）に示す配置情報4の『ファームB』、『ファームC』の情報を更新し、図６（e）に示す配置情報4に更新することになる。図５（d）では、HDD104がコントローラ100から取り外されたため、図６（d）に示す『ファームB』の『配置先』の情報を『SSD、HDD』→『SSD』に更新し、『起動ファーム』の情報を『HDD』→『SSD』に更新している。また、図６（d）に示す『ファームC』の情報を削除している。その結果、HDDオプション検知プログラム1は、図６（d）に示す配置情報4を図６（e）に示すように更新することになる。
【００６８】
＜第２の処理動作＞
次に、図７、図８を参照しながら、第２の処理動作について説明する。図７は、第２の処理動作時のファームウェアの状態遷移を示し、図８は、図７に示す各状態時の配置情報4を示す。第２の処理動作は、ファームウェアB202は、SSD103にそのまま残しておき、SSD103のファームウェアB202への参照を行う参照機能301をHDD104に作成する場合について説明する。
【００６９】
図７（a）に示す状態のコントローラ100の場合、SSD103は、図８（a）に示す配置情報4を予め保持しているものとする。図８（a）に示す配置情報4は、『ファームB』の『制御動作』の情報が、参照機能301を作成する情報（参照作成）になっている。また、参照先がSSDになっている（参照先：SSD）。また、HDDオプション増設時にコントローラ100に追加されるHDD104は、図８（b）に示すファームウェアC203の情報を保持しているものとする。
【００７０】
図７（a）に示す状態のコントローラ100に、HDDオプションを増設し、図７（b）に示すように、HDD104をコントローラ100に追加した場合は、SSD103は、ファームウェアを図７（b）に示す状態となるように制御する。
【００７１】
具体的には、HDDオプション検出プログラム1は、HDDオプション増設時に、図８（a）に示す配置情報4の『HDDオプション接続時の移動先』及び『制御動作』の情報を基に、SSD103のファームウェアB202への参照を行う参照機能301をHDD104に作成する。これにより、参照機能301を用いて、SSD103のファームウェアB202を起動させて動作することができる。また、第１の処理動作のように、HDD104上にファームウェアB202の実体を配置する必要がないため、HDD104の使用量を削減することができる。
【００７２】
次に、HDDオプション検出プログラム1は、HDDオプションの増設が完了した場合に、図７（b）に示す状態を基に、図８（a）に示す配置情報4を図８（c）に示すように更新する。
【００７３】
具体的には、HDDオプションの増設時にコントローラ100に追加したHDD104は、図８（b）に示すファームウェアCの情報を保持しているため、HDDオプション検出プログラム1は、HDD104が保持する図８（b）に示すファームウェアCの情報を基に、図８（a）に示す配置情報4に対し、図８（b）に示すファームウェアCの情報を追加し、図８（c）に示すように更新する。これにより、ファームウェア起動プログラム3は、図８（c）に示す配置情報4の『起動ファーム』の情報を基に、HDD104のファームウェアC203を起動させて動作することができる。
【００７４】
次に、図７（b）に示す状態で、ファームウェアのアップデートを行ったとする。この場合、ファームウェア更新プログラム2は、図８（c）に示す配置情報4の『配置先』の情報を基に、アップデート対象のファームウェアの配置先を特定し、その配置先のファームウェアをアップデートする。図８（c）に示す配置情報4の場合は、『ファームA』の『配置先』は、『SSD』であるため、SSD103に存在するファームウェアA201をアップデートする。また、『ファームB』の『配置先』は、『SSD』であるため、SSD103に存在するファームウェアB202をアップデートする。また、『ファームC』の『配置先』は、『HDD』であるため、HDD104に存在するファームウェアC203をアップデートする。
【００７５】
これにより、ファームウェア更新プログラム2は、起動対象のSSD103に存在するファームウェアA201、ファームウェアB202、HDD104に存在するファームウェアC203をアップデートすることができる。その結果、ファームウェア更新プログラム2は、図８（c）に示す配置情報4を図８（d）に示すように更新することができる。
【００７６】
このため、本実施形態のコントローラ100は、図４（c）に示す状態のように、SSD103に存在するファームウェアA'201'と、ファームウェアB202と、の各々のファームウェアのバージョンが異なってしまうことがなく、図７（c）に示す状態のように、SSD103に存在するファームウェアA'201'と、ファームウェアB'202'と、の各々のファームウェアのバージョンを同じにすることができる。
【００７７】
従って、図７（c）に示すように、SSD103に存在するファームウェアA'201'と、ファームウェアB'202'と、の各々のファームウェアのバージョンが同じ状態で、HDD104の故障等が発生し、HDDオプションの取り外しを行い、図７（d）に示す状態にしたとする。そして、図７（d）に示す状態で、SSD103に存在するファームウェアA'201'と、ファームウェアB'202'と、を起動した場合でも正常に動作することができる。
【００７８】
なお、HDDオプション検知プログラム1は、HDDオプションの取り外しが行われた場合は、図８（d）に示す配置情報4の『ファームB』、『ファームC』の情報を更新し、図８（e）に示す配置情報4に更新することになる。図７（d）では、HDD104がコントローラ100から取り外されたため、図８（d）に示す『ファームB』の『起動ファーム』の情報を『HDD』→『SSD』に更新している。また、図８（d）に示す『ファームC』の情報を削除することになる。その結果、HDDオプション検知プログラム1は、図８（d）に示す配置情報4を図８（e）に示すように更新することになる。
【００７９】
＜第３の処理動作＞
次に、図９、図１０を参照しながら、第３の処理動作について説明する。図９は、第３の処理動作時のファームウェアの状態遷移を示し、図１０は、図９に示す各状態時の配置情報4を示す。第３の処理動作は、HDDオプション増設時にSSD103のファームウェアB202をHDD104にコピーせず、SSD103にそのまま残しておく場合について説明する。
【００８０】
図９（a）に示す状態のコントローラ100の場合、SSD103は、図１０（a）に示す配置情報4を予め保持しているものとする。図１０（a）に示す配置情報4は、『ファームB』の『制御動作』の情報が、何もしない（なし）になっている。また、HDDオプション増設時にコントローラ100に追加されるHDD104は、図１０（b）に示すファームウェアC203の情報を保持しているものとする。
【００８１】
図９（a）に示す状態のコントローラ100に、HDDオプションを増設し、図９（b）に示すように、HDD104をコントローラ100に追加した場合は、SSD103は、ファームウェアを図９（b）に示す状態となるように制御する。
【００８２】
具体的には、HDDオプション検出プログラム1は、HDDオプション増設時に、図１０（a）に示す配置情報4の『HDDオプション接続時の移動先』及び『制御動作』の情報を基に、何もしないことになる。これにより、第１の処理動作のように、HDD104上にファームウェアB202の実体を配置する必要がないため、HDD104の使用量を削減することができる。
【００８３】
次に、HDDオプション検出プログラム1は、HDDオプションの増設が完了した場合に、図９（b）に示す状態を基に、図１０（a）に示す配置情報4を図１０（c）に示すように更新する。
【００８４】
具体的には、HDDオプションの増設時にコントローラ100に追加したHDD104は、図１０（b）に示すファームウェアCの情報を保持しているため、HDDオプション検出プログラム1は、HDD104が保持する図１０（b）に示すファームウェアCの情報を基に、図１０（a）に示す配置情報4に対し、図１０（b）に示すファームウェアCの情報を追加し、図１０（c）に示すように更新する。これにより、ファームウェア起動プログラム3は、図１０（c）に示す配置情報4の『起動ファーム』の情報を基に、HDD104のファームウェアCを起動させて動作することができる。
【００８５】
次に、図９（b）に示す状態で、ファームウェアのアップデートを行ったとする。この場合、ファームウェア更新プログラム2は、図１０（c）に示す配置情報4の『配置先』の情報を基に、アップデート対象のファームウェアの配置先を特定し、その配置先のファームウェアをアップデートする。図１０（c）に示す配置情報4の場合は、『ファームA』の『配置先』は、『SSD』であるため、SSD103に存在するファームウェアA201をアップデートする。また、『ファームB』の『配置先』は、『SSD』であるため、SSD103に存在するファームウェアB202をアップデートする。また、『ファームC』の『配置先』は、『HDD』であるため、HDD104に存在するファームウェアC203をアップデートする。
【００８６】
これにより、ファームウェア更新プログラム2は、起動対象のSSD103に存在するファームウェアA201、ファームウェアB202、HDD104に存在するファームウェアC203をアップデートすることができる。
【００８７】
このため、本実施形態のコントローラ100は、図４（c）に示す状態のように、SSD103に存在するファームウェアA'201'と、ファームウェアB202と、の各々のファームウェアのバージョンが異なってしまうことがなく、図９（c）に示す状態のように、SSD103に存在するファームウェアA'201'と、ファームウェアB'202'と、の各々のファームウェアのバージョンを同じにすることができる。
【００８８】
従って、図９（c）に示すように、SSD103に存在するファームウェアA'201'と、ファームウェアB'202'と、の各々のファームウェアのバージョンが同じ状態で、HDD104の故障等が発生し、HDDオプションの取り外しを行い、図９（d）に示す状態にしたとする。そして、図９（d）に示す状態で、SSD103に存在するファームウェアA'201'と、ファームウェアB'202'と、を起動した場合でも正常に動作することができる。
【００８９】
なお、HDDオプション検知プログラム1は、HDDオプションの取り外しが行われた場合は、図１０（d）に示す配置情報4の『ファームC』の情報を更新し、図１０（e）に示す配置情報4に更新することになる。図９（d）では、HDD104がコントローラ100から取り外されたため、図１０（d）に示す『ファームC』の情報を削除することになる。その結果、HDDオプション検知プログラム1は、図１０（d）に示す配置情報4を図１０（e）に示すように更新することになる。
【００９０】
＜第４の処理動作＞
次に、図１１、図１２を参照しながら、第４の処理動作について説明する。図１１は、第４の処理動作時のファームウェアの状態遷移を示し、図１２は、図１１に示す各状態時の配置情報4を示す。第４の処理動作は、HDDオプション増設時にSSD103のファームウェアA201及びファームウェアB202をHDD104にコピーするが、そのオリジナルのファームウェアA201及びファームウェアB202をSSD103に残しておき、且つ、SSD103のファームウェアA201及びファームウェアB202もアップデートする場合について説明する。
【００９１】
図１１（a）に示す状態のコントローラ100の場合、SSD103は、図１２（a）に示す配置情報4を予め保持しているものとする。図１２（a）に示す配置情報4は、『ファームA』及び『ファームB』の『制御動作』の情報が、コピーになっている。また、HDDオプション増設時にコントローラ100に追加されるHDD104は、図１２（b）に示すファームウェアC203の情報を保持しているものとする。
【００９２】
図１１（a）に示す状態のコントローラ100に、HDDオプションを増設し、図１１（b）に示すように、HDD104をコントローラ100に追加した場合は、SSD103は、ファームウェアを図１１（b）に示す状態となるように制御する。
【００９３】
具体的には、HDDオプション検出プログラム1は、HDDオプション増設時に、図１２（a）に示す配置情報4の『HDDオプション接続時の移動先』及び『制御動作』の情報を基に、SSD103に存在するファームウェアA201及びファームウェアB202をHDD104にコピーする。
【００９４】
次に、HDDオプション検出プログラム1は、HDDオプションの増設が完了した場合に、図１１（b）に示す状態を基に、図１２（a）に示す配置情報4を図１２（c）に示すように更新する。
【００９５】
具体的には、HDDオプション検出プログラム1は、ファームウェアA201をHDD104にコピーしたため、図１２（c）に示すように、『ファームA』の『配置先』の情報を『SSD』→『SSD、HDD』に更新し、『起動ファーム』の情報を『SSD』→『HDD』に更新する。また、ファームウェアB202をHDD104にコピーしたため、図１２（c）に示すように、『ファームB』の『配置先』の情報を『SSD』→『SSD、HDD』に更新し、『起動ファーム』の情報を『SSD』→『HDD』に更新する。これにより、HDD104にコピーさせたファームウェアA201及びファームウェアB202を動作させ、SSD103のオリジナルのファームウェアA201及びファームウェアB202をバックアップ用のファームウェアにし、SSD103のファームウェアA201及びファームウェアB202を動作させないようにすることができる。
【００９６】
また、HDDオプションの増設時にコントローラ100に追加したHDD104は、図１２（b）に示すファームウェアCの情報を保持しているため、HDDオプション検出プログラム1は、HDD104が保持する図１２（b）に示すファームウェアCの情報を基に、図１２（a）に示す配置情報4に対し、図１２（b）に示すファームウェアCの情報を追加し、図１２（c）に示すように更新する。これにより、ファームウェア起動プログラム3は、図１２（c）に示す配置情報4の『起動ファーム』の情報を基に、HDD104のファームウェアC203を起動させて動作することができる。
【００９７】
次に、図１１（b）に示す状態で、ファームウェアのアップデートを行ったとする。この場合、ファームウェア更新プログラム2は、図１２（c）に示す配置情報4の『配置先』の情報を基に、アップデート対象のファームウェアの配置先を特定し、その配置先のファームウェアをアップデートする。図１２（c）に示す配置情報4の場合は、『ファームA』の『配置先』は、『SSD、HDD』であるため、SSD103に存在するファームウェアA201及びHDD104に存在するファームウェアA201をアップデートする。また、『ファームB』の『配置先』は、『SSD、HDD』であるため、SSD103に存在するファームウェアB202及びHDD104に存在するファームウェアB202をアップデートする。また、『ファームC』の『配置先』は、『HDD』であるため、HDD104に存在するファームウェアC203をアップデートする。
【００９８】
これにより、ファームウェア更新プログラム2は、起動対象のHDD104に存在するファームウェアA201、ファームウェアB202、ファームウェアC203だけでなく、起動対象外のSSD103に存在するファームウェアA201及びファームウェアB202もアップデートすることができる。その結果、ファームウェア更新プログラム2は、図１２（c）に示す配置情報4を図１２（d）に示すように更新することができる。
【００９９】
このため、本実施形態のコントローラ100は、図４（c）に示す状態のように、SSD103に存在するファームウェアA'201'と、ファームウェアB202と、の各々のファームウェアのバージョンが異なってしまうことがなく、図１１（c）に示す状態のように、SSD103に存在するファームウェアA'201'と、ファームウェアB'202'と、の各々のファームウェアのバージョンを同じにすることができる。
【０１００】
従って、図１１（c）に示すように、SSD103に存在するファームウェアA'201'と、ファームウェアB'202'と、の各々のファームウェアのバージョンが同じ状態で、HDD104の故障等が発生し、HDDオプションの取り外しを行い、図１１（d）に示す状態にしたとする。そして、図１１（d）に示す状態で、SSD103に存在するファームウェアA'201'と、ファームウェアB'202'と、を起動した場合でも正常に動作することができる。
【０１０１】
なお、HDDオプション検知プログラム1は、HDDオプションの取り外しが行われた場合は、図１２（d）に示す配置情報4の『ファームA』、『ファームB』、『ファームC』の情報を更新し、図１２（e）に示す配置情報4に更新することになる。図１１（d）では、HDD104がコントローラ100から取り外されたため、図１２（d）に示す『ファームA』の『配置先』の情報を『SSD、HDD』→『SSD』に更新し、『起動ファーム』の情報を『HDD』→『SSD』に更新している。また、図１２（d）に示す『ファームB』の『配置先』の情報を『SSD、HDD』→『SSD』に更新し、『起動ファーム』の情報を『HDD』→『SSD』に更新している。また、図１２（d）に示す『ファームC』の情報を削除している。その結果、HDDオプション検知プログラム1は、図１２（d）に示す配置情報4を図１２（e）に示すように更新することになる。
【０１０２】
＜第５の処理動作＞
次に、図１３、図１４を参照しながら、第５の処理動作について説明する。図１３は、第５の処理動作時のファームウェアの状態遷移を示し、図１４は、図１３に示す各状態時の配置情報4を示す。第５の処理動作は、HDDオプションを取り外した後に、HDDオプションを再度増設した場合について説明する。
【０１０３】
図１３（a）に示す状態のコントローラ100の場合、SSD103は、図１４（a）に示す配置情報4を予め保持しているものとする。また、HDDオプション増設時にコントローラ100に追加されるHDD104は、図１４（c）に示すファームウェアC203の情報を保持しているものとする。
【０１０４】
図１３（a）に示す状態で、HDD104の故障等が発生し、HDDオプションの取り外しを行い、図１３（b）に示す状態にしたとする。HDDオプション検知プログラム1は、HDDオプションの取り外しが行われた場合は、図１４（a）に示す配置情報4の『ファームC』の情報を更新し、図１４（b）に示す配置情報4に更新することになる。図１３（b）では、HDD104がコントローラ100から取り外されたため、図１４（a）に示す『ファームC』の情報を削除している。その結果、HDDオプション検知プログラム1は、図１４（a）に示す配置情報4を図１４（b）に示すように更新することになる。
【０１０５】
次に、図１３（b）に示す状態のコントローラ100に、HDDオプションを増設し、図１３（c）に示すように、HDD104をコントローラ100に追加した場合は、SSD103は、ファームウェアを図１３（c）に示す状態となるように制御する。
【０１０６】
具体的には、HDDオプション検出プログラム1は、HDDオプション増設時に、図１４（b）に示す配置情報4の『HDDオプション接続時の移動先』及び『制御動作』の情報を基に、何もしないことになる。
【０１０７】
次に、HDDオプション検出プログラム1は、HDDオプションの増設が完了した場合に、図１３（c）に示す状態を基に、図１４（b）に示す配置情報4を図１４（d）に示すように更新する。
【０１０８】
具体的には、HDDオプションの増設時にコントローラ100に追加したHDD104は、図１４（c）に示すファームウェアCの情報を保持しているため、HDDオプション検出プログラム1は、HDD104が保持する図１４（c）に示すファームウェアCの情報を基に、図１４（b）に示す配置情報4に対し、図１４（c）に示すファームウェアCの情報を追加し、図１４（d）に示すように更新する。この時、HDDオプション検出プログラム1は、更新後の図１４（d）に示す配置情報4を参照し、『ファームB』がファームCの2.0のバージョンを必要としているが、『ファームC』の『バージョン』が『1.0』であり、バージョンの不整合が発生していると判断する。このため、HDDオプション検出プログラム1は、図１３（d）に示すように、ファームC'のバージョンを取得する旨を表示部等に画面表示する。なお、図１３（d）では、ファームC'のバージョンを取得する旨を表示部等に画面表示することにしたが、ファームC'のバージョンを取得する旨をユーザに通知できれば、画面表示に限定せず、音声等で報知することも可能である。また、HDDオプション検出プログラム1は、ファームウェアB202とバージョンの異なるファームウェアC203を動作させないように制御する。
【０１０９】
これにより、図１３（c）に示すように、HDDオプションを再度増設すると、ファームウェアA'/B'/Cの組み合わせになり、ファームウェアが動作しなくなるが、図１３（c）のHDDオプションの増設時にHDDオプション検知プログラム1がSSD103のファームウェアとHDD104のファームウェアとのバージョンチェックを行い、ファームウェアC'を入手するようにユーザに警告することで、ファームウェアを正常に動作させるようにユーザに促すことができる。また、HDDオプション検知プログラム1がバージョンチェックにより、ファームウェアC203を動作させないように制御することで、ファームウェアの組み合わせの問題でファームウェアが動作しなくなる事態を未然に回避することができる。
【０１１０】
＜第６の処理動作＞
次に、図１５、図１６を参照しながら、第６の処理動作について説明する。図１５は、第６の処理動作時のファームウェアの状態遷移を示し、図１６は、図１５に示す各状態時の配置情報4を示す。第６の処理動作は、HDDオプション増設時にSSD103のファームウェアA201及びファームウェアB202をHDD104にコピーするが、そのオリジナルのファームウェアA201及びファームウェアB202をSSD103に残しておき、且つ、SSD103のファームウェアA201及びファームウェアB202はアップデートしない場合について説明する。
【０１１１】
図１５（a）に示す状態のコントローラ100の場合、SSD103は、図１６（a）に示す配置情報4を予め保持しているものとする。図１６（a）に示す配置情報4は、『ファームA』及び『ファームB』の『制御動作』の情報が、コピーになっている。但し、コピー元は、非更新対象になっている。即ち、SSD103のファームウェアA201及びファームウェアB202は、アップデートしないように設定されている。また、HDDオプション増設時にコントローラ100に追加されるHDD104は、図１６（b）に示すファームウェアC203の情報を保持しているものとする。
【０１１２】
図１５（a）に示す状態のコントローラ100に、HDDオプションを増設し、図１５（b）に示すように、HDD104をコントローラ100に追加した場合は、SSD103は、ファームウェアを図１５（b）に示す状態となるように制御する。
【０１１３】
具体的には、HDDオプション検出プログラム1は、HDDオプション増設時に、図１６（a）に示す配置情報4の『HDDオプション接続時の移動先』及び『制御動作』の情報を基に、SSD103に存在するファームウェアA201及びファームウェアB202をHDD104にコピーする。
【０１１４】
次に、HDDオプション検出プログラム1は、HDDオプションの増設が完了した場合に、図１５（b）に示す状態を基に、図１６（a）に示す配置情報4を図１６（c）に示すように更新する。
【０１１５】
具体的には、HDDオプション検出プログラム1は、ファームウェアA201をHDD104にコピーしたため、図１６（c）に示すように、『ファームA』の『配置先』の情報を『SSD』→『SSD、HDD』に更新し、『起動ファーム』の情報を『SSD』→『HDD』に更新する。但し、『配置先』の『SSD』の『ファームA』は更新対象としないように設定する。また、ファームウェアB202をHDD104にコピーしたため、図１６（c）に示すように、『ファームB』の『配置先』の情報を『SSD』→『SSD、HDD』に更新し、『起動ファーム』の情報を『SSD』→『HDD』に更新する。但し、『配置先』の『SSD』の『ファームB』は更新対象としないように設定する。これにより、HDD104にコピーさせたファームウェアA201及びファームウェアB202を動作させ、SSD103のオリジナルのファームウェアA201及びファームウェアB202をバックアップ用のファームウェアにし、SSD103のファームウェアA201及びファームウェアB202を動作させないようにすることができる。また、SSD103のオリジナルのファームウェアA201及びファームウェアB202をアップデート対象外にすることができる。
【０１１６】
また、HDDオプションの増設時にコントローラ100に追加したHDD104は、図１６（b）に示すファームウェアCの情報を保持しているため、HDDオプション検出プログラム1は、HDD104が保持する図１６（b）に示すファームウェアCの情報を基に、図１６（a）に示す配置情報4に対し、図１６（b）に示すファームウェアCの情報を追加し、図１６（c）に示すように更新する。これにより、ファームウェア起動プログラム3は、図１６（c）に示す配置情報4の『起動ファーム』の情報を基に、HDD104のファームウェアCを起動させて動作することができる。
【０１１７】
次に、図１５（b）に示す状態で、ファームウェアのアップデートを行ったとする。この場合、ファームウェア更新プログラム2は、図１６（c）に示す配置情報4の『配置先』の情報を基に、アップデート対象のファームウェアの配置先を特定し、その配置先のファームウェアをアップデートする。図１６（c）に示す配置情報4の場合は、『ファームA』の『配置先』は、『SSD、HDD』であり、『SSD』は非更新対象に設定されているため、SSD103に存在するファームウェアA201をアップデートせず、HDD104に存在するファームウェアA201のみをアップデートする。また、『ファームB』の『配置先』は、『SSD、HDD』であり、『SSD』は非更新対象に設定されているため、SSD103に存在するファームウェアB202をアップデートせず、HDD104に存在するファームウェアB202のみをアップデートする。また、『ファームC』の『配置先』は、『HDD』であるため、HDD104に存在するファームウェアC203をアップデートする。
【０１１８】
これにより、ファームウェア更新プログラム2は、起動対象のHDD104に存在するファームウェアA201、ファームウェアB202、ファームウェアC203だけをアップデートし、起動対象外のSSD103に存在するファームウェアA201及びファームウェアB202をアップデートしないようにすることができる。その結果、ファームウェア更新プログラム2は、図１６（c）に示す配置情報4を図１６（d）に示すように更新することができる。
【０１１９】
このため、本実施形態のコントローラ100は、図４（c）に示す状態のように、SSD103に存在するファームウェアA'201'と、ファームウェアB202と、の各々のファームウェアのバージョンが異なってしまうことがなく、図１５（c）に示す状態のように、SSD103に存在するファームウェアA201と、ファームウェアB202と、のバージョンを同じにすることができる。
【０１２０】
従って、図１５（c）に示すように、SSD103に存在するファームウェアA201と、ファームウェアB202と、の各々のファームウェアのバージョンが同じ状態で、HDD104の故障等が発生し、HDDオプションの取り外しを行い、図１５（d）に示す状態にしたとする。そして、図１５（d）に示す状態で、SSD103に存在するファームウェアA201と、ファームウェアB202と、を起動した場合でも正常に動作することができる。
【０１２１】
なお、HDDオプション検知プログラム1は、HDDオプションの取り外しが行われた場合は、図１６（d）に示す配置情報4の『ファームA』、『ファームB』、『ファームC』の情報を更新し、図１６（e）に示す配置情報4に更新することになる。図１５（d）では、HDD104がコントローラ100から取り外されたため、図１６（d）に示す『ファームA』の『配置先』の情報を『SSD、HDD』→『SSD』に更新し、『起動ファーム』の情報を『HDD』→『SSD』に更新している。なお、『SSD』は非更新対象に設定されているため、『バージョン』の情報を『2.0』→『1.0』に更新し、元のバージョンに戻している。また、図１６（d）に示す『ファームB』の『配置先』の情報を『SSD、HDD』→『SSD』に更新し、『起動ファーム』の情報を『HDD』→『SSD』に更新している。なお、『SSD』は非更新対象に設定されているため、『バージョン』の情報を『2.0』→『1.0』に更新し、元のバージョンに戻している。また、図１６（d）に示す『ファームC』の情報を削除している。その結果、HDDオプション検知プログラム1は、図１６（d）に示す配置情報4を図１６（e）に示すように更新することになる。
【０１２２】
＜本実施形態の情報処理装置の作用・効果＞
このように、本実施形態の情報処理装置は、SSD103及びHDD（Hard Disk Drive）104等のデバイスに存在するファームウェアの配置情報4を管理し、ファームウェアのバーションを更新する際に、その配置情報4を基に、SSD103に存在する各々ファームウェアのバージョンを同じにするように制御する。これにより、HDD（Hard Disk Drive）104等のデバイスの増設が行われた場合でも、そのデバイスに存在するファームウェアの情報を配置情報4で管理し、SSD103に存在する各々のファームウェアのバージョンを同じにしておくことができる。
【０１２３】
なお、上述する実施形態は、本発明の好適な実施形態であり、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
【０１２４】
例えば、上述した本実施形態の情報処理装置のコントローラ100を構成する各装置における制御動作は、ハードウェア、または、ソフトウェア、あるいは、両者の複合構成を用いて実行することも可能である。
【０１２５】
なお、ソフトウェアを用いて処理を実行する場合には、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれているコンピュータ内のメモリにインストールして実行させることが可能である。あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
【０１２６】
例えば、プログラムは、記録媒体としてのハードディスクやROM（Read Only Memory）に予め記録しておくことが可能である。あるいは、プログラムは、リムーバブル記録媒体に、一時的、あるいは、永続的に格納（記録）しておくことが可能である。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することが可能である。なお、リムーバブル記録媒体としては、フロッピー（登録商標）ディスク、CD-ROM（Compact Disc Read Only Memory）、MO（Magneto optical）ディスク、DVD（Digital Versatile Disc）、ブルーレイディスク、磁気ディスク、半導体メモリなどが挙げられる。
【０１２７】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールすることになる。また、ダウンロードサイトから、コンピュータに無線転送することになる。また、ネットワークを介して、コンピュータに有線で転送することになる。
【０１２８】
また、本実施形態における情報処理装置は、上記実施形態で説明した処理動作に従って時系列的に実行されるのみならず、処理を実行する装置の処理能力、あるいは、必要に応じて並列的にあるいは個別に実行するように構築することも可能である。
【符号の説明】
【０１２９】
１００    コントローラ
１０１    CPU
１０２    RAM
１０３    SSD
１０４    HDD
２０１    ファームウェアA
２０２    ファームウェアB
２０３    ファームウェアC
１    HDDオプション検出プログラム（制御手段）
２    ファームウェア更新プログラム（制御手段）
３    ファームウェア起動プログラム（制御手段）
４    配置情報（管理手段）
【先行技術文献】
【特許文献】
【０１３０】
【特許文献１】特開２００７−２９５３７１号公報
【図１】
2011170793.tif 000003
【図２】
2011170793.tif 000004
【図３】
2011170793.tif 000005
【図４】
2011170793.tif 000006
【図５】
2011170793.tif 000007
【図６】
2011170793.tif 000008
【図７】
2011170793.tif 000009
【図８】
2011170793.tif 000010
【図９】
2011170793.tif 000011
【図１０】
2011170793.tif 000012
【図１１】
2011170793.tif 000013
【図１２】
2011170793.tif 000014
【図１３】
2011170793.tif 000015
【図１４】
2011170793.tif 000016
【図１５】
2011170793.tif 000017
【図１６】
2011170793.tif 000018