(57)【要約】      （修正有）【課題】マイクロプログラムの更新作業を容易化し、更新作業時における保守員のオペレーションミスを軽減できるようにする。【解決手段】プログラムを記憶保持する記憶部と、前記記憶部に記憶保持された前記プログラムに従って前記各種処理を実行する処理部と、外部操作に応じて前記プログラムを更新するプログラム更新部とを備え、前記プログラム更新部が前記プログラムの更新に際して設定を解除すべき項目を設定解除項目として決定すると共に、各前記設定解除項目の設定解除処理の実行順序を決定し、決定した順序に従って各前記設定解除項目の設定を解除した後に、前記プログラムの交換処理を実行し、当該プログラムの交換処理後に、設定を解除した各前記設定解除項目を、当該各設定解除項目の設定を解除した前記順序と逆の順序で再設定する。【選択図】図２
2008033827.tif 000002
【特許請求の範囲】
【請求項１】
所定のプログラムに基づいて各種処理を実行するストレージ装置において、
前記プログラムを記憶保持する記憶部と、
前記記憶部に記憶保持された前記プログラムに従って前記各種処理を実行する処理部と、
外部操作に応じて前記プログラムを更新するプログラム更新部と
を備え、
前記プログラム更新部は、
前記プログラムの更新に際して設定を解除すべき項目を設定解除項目として決定すると共に、各前記設定解除項目の設定解除処理の実行順序を決定し、決定した順序に従って各前記設定解除項目の設定を解除した後に、前記プログラムの交換処理を実行し、当該プログラムの交換処理後に、設定を解除した各前記設定解除項目を、当該各設定解除項目の設定を解除した前記順序と逆の順序で再設定する
ことを特徴とするストレージ装置。
【請求項２】
前記プログラム更新部は
各前記設定解除項目を、当該各設定解除項目の設定を解除した順序と逆の順序で再設定した後に、前記プログラムの更新に伴う新たな項目の設定を実行する
ことを特徴とする請求項１に記載のストレージ装置。
【請求項３】
前記プログラム更新部は、
新たな前記プログラムと共に外部から与えられる、前記プログラムの更新に際して設定を解除すべき複数の前記項目が挙げられた第１のテーブルに基づいて、前記設定解除項目を決定する
ことを特徴とする請求項１に記載のストレージ装置。
【請求項４】
前記プログラム更新部は、
新たな前記プログラムと共に外部から与えられる、前記第１のテーブルに挙げられた各前記項目の設定を解除する際の前記項目ごとの優先順位を規定した第２のテーブルに基づいて、各前記設定解除項目の設定を解除する設定解除処理の実行順序を決定する
ことを特徴とする請求項１に記載のストレージ装置。
【請求項５】
それぞれ異なるパスを通じて同じ外部機器に通信可能に接続された複数の前記処理部を備え、
前記プログラム更新部は、
一の前記パスに接続された各前記処理部について、当該各処理部を閉塞させた後に、各前記設定解除項目の設定を解除し、前記プログラムの交換処理を実行し、当該各処理部についての閉塞を解除する処理を、前記パスごとに順番に実行した後に、設定を解除した各前記設定解除項目を、当該各設定解除項目の設定を解除した前記順序と逆の順序で再設定する
ことを特徴とする請求項１に記載のストレージ装置。
【請求項６】
前記記憶部に記憶保持された前記プログラムに従って前記各種処理を実行する前記処理部を複数備え、
前記プログラム更新部は、
一の前記処理部について、各前記設定解除項目の設定を解除した後に、当該処理部を閉塞させ、前記プログラムの交換処理を実行し、当該処理部についての閉塞を解除する処理を、前記処理部ごとに順番に実行した後に、設定を解除した各前記設定解除項目を、当該各設定解除項目の設定を解除した前記順序と逆の順序で再設定する
ことを特徴とする請求項１に記載のストレージ装置。
【請求項７】
所定のプログラムに基づいて各種処理を実行するストレージ装置の当該プログラムを更新するプログラム更新方法において、
前記プログラムの更新に際して設定を解除すべき項目を設定解除項目として決定する第１のステップと、
各前記設定解除項目の設定解除処理の実行順序を決定する第２のステップと、
決定した順序に従って各前記設定解除項目の設定を解除する第３のステップと、
前記プログラムの交換処理を実行する第４のステップと、
前記プログラムの交換処理後に、設定を解除した各前記設定解除項目を、当該各設定解除項目の設定を解除した前記順序と逆の順序で再設定する第５のステップと
を備えることを特徴とするプログラム更新方法。
【請求項８】
前記第５のステップでは、
各前記設定解除項目を、当該各設定解除項目の設定を解除した順序と逆の順序で再設定した後に、前記プログラムの更新に伴う新たな項目の設定を実行する
ことを特徴とする請求項７に記載のプログラム更新方法。
【請求項９】
前記第１のステップでは、
新たな前記プログラムと共に外部から与えられる、前記プログラムの更新に際して設定を解除すべき複数の前記項目が挙げられた第１のテーブルに基づいて、前記設定解除項目を決定する
ことを特徴とする請求項７に記載のプログラム更新方法。
【請求項１０】
前記第２のステップでは、
新たな前記プログラムと共に外部から与えられる、前記第１のテーブルに挙げられた各前記項目の設定を解除する際の前記項目ごとの優先順位を規定した第２のテーブルに基づいて、各前記設定解除項目の設定を解除する設定解除処理の実行順序を決定する
ことを特徴とする請求項７に記載のプログラム更新方法。
【請求項１１】
前記ストレージ装置は、それぞれ異なるパスを通じて同じ外部機器と通信自在に接続された複数の処理部を有し、
前記パスごとに、当該パスに接続された前記処理部について、少なくとも前記第３のステップ乃至第４のステップの処理を実行する
ことを特徴とする請求項７に記載のプログラム更新方法。
【請求項１２】
前記ストレージ装置は、前記プログラムに基づいて前記各種処理を実行する複数の処理部を有し、
一の前記処理部について、前記第１のステップ乃至第５のステップの処理を実行し、他の前記処理部について、各前記処理部ごとに順番に、少なくとも前記第３のステップ乃至第５のステップの処理を実行する
ことを特徴とする請求項７に記載のプログラム更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置及びプログラム更新方法に関し、特にバージョン毎に各種前提条件及び制限事項が異なるマイクロプログラムが実装されたストレージ装置に適用して好適なものである。
【背景技術】
【０００２】
ストレージ装置を制御するマイクロプログラムは、例えば、顧客から要求された仕様の追加又は更新等に応じて、改良や更新が行われている。現在使用しているマイクロプログラムをより新しいバージョンのものに更新することをマイクロプログラムのバージョンアップという。逆に、現在使用しているプログラムを古いバージョンのものに更新することをマイクロプログラムのバージョンダウンという。従来、かかるマイクロプログラムのバージョンアップやバージョンダウンは、ストレージ装置の保守員が、マニュアルを見ながら行っていた。
【０００３】
なお、バージョンアップ又はバージョンダウン後のプログラムの管理に関しては、種々のバージョンが発生し、それぞれ独自にバージョンアップされていく多種類のバージョン系列を自動で適切に管理し、プログラム品質を向上させることが提案されている（特許文献１参照）。
【０００４】
【特許文献１】特開２００５−２５８７０９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
マイクロプログラムは、搭載された機能等の前提条件や、設定可能な論理ボリュームの数等の制限事項などがバージョン毎に異なる。このため、ストレージ装置のマイクロプログラムをバージョンアップ又はバージョンダウンするに際して各種設定をそのままにしておくと、例えばバージョンアップ後に新しいバージョンのマイクロプログラムでは削除された機能の設定がそのまま残されていたり、バージョンダウン後に古いバージョンが管理可能な数を越える論理ボリュームが設定されているなどの不具合が生じることがある。そしてこのような事態が生じた場合、マイクロプログラム更新後のストレージ装置の動作に悪影響を及ぼす問題があった。
【０００６】
このため、ストレージ装置においては、マイクロプログラムを更新（バージョンアップ又はバージョンダウン）するに際しては、マイクロプログラムに搭載された各種機能のうちの特にバージョン毎に搭載の有無が異なる機能等の前提条件や、バージョン毎に数値が異なる制御事項に関する設定を事前に解除し、マイクロプログラムの更新後にこれらを再設定する必要があった。
【０００７】
しかしながら、このような前提条件や制限事項の設定解除作業や再設定作業は、異なるマイクロプログラムのバージョンに対応して様々な作業を組み合わせることが必要となるために煩雑であり、かかる設定解除作業及び再設定作業を行う保守員がオペレーションミスをおこしやすいという問題点があった。
【０００８】
本発明は以上の点を考慮してなされたもので、マイクロプログラムの更新作業を容易化し、更新作業時における保守員のオペレーションミスを軽減し得るストレージ装置及びそのプログラム更新方法を提案しようとするものである。
【課題を解決するための手段】
【０００９】
かかる課題を解決するため本発明においては、所定のプログラムに基づいて各種処理を実行するストレージ装置において、前記プログラムを記憶保持する記憶部と、前記記憶部に記憶保持された前記プログラムに従って前記各種処理を実行する処理部と、外部操作に応じて前記プログラムを更新するプログラム更新部とを備え、前記プログラム更新部は、前記プログラムの更新に際して設定を解除すべき項目を設定解除項目として決定すると共に、各前記設定解除項目の設定解除処理の実行順序を決定し、決定した順序に従って各前記設定解除項目の設定を解除した後に、前記プログラムの交換処理を実行し、当該プログラムの交換処理後に、設定を解除した各前記設定解除項目を、当該各設定解除項目の設定を解除した前記順序と逆の順序で再設定することを特徴とする。
【００１０】
この結果、このストレージ装置では、プログラムを更新する際に、保守員が手動でかかる設定解除項目の設定を解除すると共に、プログラムの変更後にこの設定解除項目を再設定するという作業を行う必要性を排除することができる。
【００１１】
また本発明においては、所定のプログラムに基づいて各種処理を実行するストレージ装置の当該プログラムを更新するプログラム更新方法において、前記プログラムの更新に際して設定を解除すべき項目を設定解除項目として決定する第１のステップと、各前記設定解除項目の設定解除処理の実行順序を決定する第２のステップと、決定した順序に従って各前記設定解除項目の設定を解除する第３のステップと、前記プログラムの交換処理を実行する第４のステップと、前記プログラムの交換処理後に、設定を解除した各前記設定解除項目を、当該各設定解除項目の設定を解除した前記順序と逆の順序で再設定する第５のステップとを備えることを特徴とする。
【００１２】
この結果、このプログラム更新方法によれば、プログラムを更新する際に、保守員が手動でかかる設定解除項目の設定を解除すると共に、プログラムの変更後にこの設定解除項目を再設定するという作業を行う必要性を排除することができる。
【発明の効果】
【００１３】
本発明によれば、マイクロプログラムの更新作業を容易化し、更新作業時における保守員のオペレーションミスを軽減することができる。
【発明を実施するための最良の形態】
【００１４】
（１）第１の実施の形態
以下、各図を参照しながら本発明の一実施の形態について説明する。
【００１５】
（１−１）本実施の形態による記憶システムの全体構成
図１において、１は全体として本実施の形態による記憶システムを示す。この記憶システム１は、複数のホスト装置２がストレージ装置３と接続されることにより構成されている。
【００１６】
上位装置としてのホスト装置２は、図示しないＣＰＵ（Central Processing Unit）やメモリ等の情報処理資源を備えたコンピュータ装置であり、例えばパーソナルコンピュータや、ワークステーション、メインフレームなどから構成される。ホスト装置２は、例えばキーボード、スイッチやポインティングデバイス、マイクロフォン等の情報入力装置（図示せず）と、例えばモニタディスプレイやスピーカ等の情報出力装置（図示せず）とを備える。
【００１７】
ストレージ装置３は、図１に示すように、複数のホストインターフェイス１０、複数のチャネルアダプタ１１、共有メモリ１３、キャッシュメモリ１２、ディスクアダプタ１４、ディスクデバイス部１５及び管理端末（ＳＶＰ：Service Processor）１６を備えて構成されている。
【００１８】
ホストインターフェイス１０は、例えばＳＣＳＩカード等のホストインタフェースカードから構成され、ホスト装置２をストレージ装置３に接続するＩ／Ｏアダプタとして用いられる。
【００１９】
チャネルアダプタ１１は、それぞれＣＰＵ２０及びメモリ２１等の情報処理資源を備えたマイクロコンピュータとして構成されている。メモリ２１は、ＣＰＵ２０のワークメモリとして用いられる。ＣＰＵ２０は、後述する共有メモリ１３に保持されたマイクロプログラム３１に基づいて、データ入出力処理を始めとする各種処理を実行する。
【００２０】
共有メモリ１３及びキャッシュメモリ１２は、チャネルアダプタ１１及びディスクアダプタ１４により共有されるメモリである。共有メモリ１３は、マイクロプログラム３１を保持するために利用されるほか、主にストレージ装置３の構成に関する情報であるシステム構成情報等を記憶するために利用され、キャッシュメモリ１２は、主にディスクデバイス部１５に入出力するデータを一時的に記憶するために利用される。
【００２１】
ディスクアダプタ１４は、それぞれＣＰＵ２２やメモリ２３等を備えたマイクロコンピュータシステムとして構成されている。メモリ２３は、ＣＰＵ２２のワークメモリとして用いられる。ＣＰＵ２２は、共有メモリ１３に保持されたマイクロプログラム３１に基づいて、データ入出力処理を始めとする各種処理を実行する。
【００２２】
ディスクデバイス部１５は、複数のディスクデバイス１７から構成される。各ディスクデバイス１７は、例えばＳＣＳＩ（Small Computer System Interface）ディスク等の高価なディスク、又はＳＡＴＡ（Serial AT Attachment）ディスクや光ディスク等の安価なディスクから構成される。
【００２３】
これらディスクデバイス１７は、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）方式で運用され、１又は複数のディスクデバイス１７により提供される物理的な記憶領域上に、１又は複数の論理的なボリューム（以下、これを論理ボリュームと呼ぶ）ＶＯＬが定義される。そしてホスト装置２からのデータは、この論理ボリュームＶＯＬ内に所定の大きさのブロック（以下、これを論理ブロックと呼ぶ）を単位として記憶される。
【００２４】
各論理ボリュームＶＯＬには、それぞれ固有のボリューム番号が付与される。本実施の形態の場合、データの入出力は、このボリューム番号と、各論理ブロックにそれぞれ付与されるその論理ブロックに固有の番号（以下、これをＬＢＡ（Logical Block Address）と呼ぶ）との組み合わせたものをアドレスとして、当該アドレスを指定して行われる。
【００２５】
管理端末１６は、ストレージ装置３を保守又は管理するための端末装置であり、ＣＰＵ２４やメモリ２５等の情報処理資源を備えたマイクロコンピュータシステムとして構成される。記憶システム１の保守員は、管理端末１６を操作することにより、例えば、ディスクデバイス部１５におけるディスクデバイス１７の増設等、ＲＡＩＤ構成やＥＣＣ（Error Correcting Code）グループ構成の設定変更等を行う。
【００２６】
（１−２）本実施の形態によるマイクロプログラム更新機能
（１−２−１）マイクロプログラム更新機能の概要及び各種テーブルの構成
次に、ストレージ装置３に搭載されたマイクロプログラム更新機能について説明する。
【００２７】
本実施の形態の場合、ストレージ装置３においては、新たなバージョンのマイクロプログラム３１が記録されたＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）３０を管理端末１６に装填し、所定の操作を行うことによって、当該ＣＤ−ＲＯＭ３０に記録されたマイクロプログラム３１を共有メモリ１３に取り込ませることができる。この場合、ストレージ装置３の各チャネルアダプタ１１や各ディスクアダプタ１４は、この後この新たなマイクロプログラム３１に従って各種処理を実行することとなる。
【００２８】
そして本実施の形態のストレージ装置３は、このようなマイクロプログラム３１の更新（バージョンアップ又はバージョンダウン）の際に、マイクロプログラム３１の更新によって不具合を生じるおそれがある機能や制限事項の設定を事前に解除すると共に、マイクロプログラム３１の更新後に当該機能や制限事項の再設定や、マイクロプログラム３１を更新することによって新たに設定が必要となった事項の設定を行うマイクロプログラム更新機能が搭載されている点を特徴としている。
【００２９】
実際上、このようなマイクロプログラム更新機能を実現するための手段として、図２に示すように、かかるＣＤ−ＲＯＭ３０には、新たなマイクロプログラム３１と共に第１〜第３の前提条件・制限事項マトリクステーブル群３２〜３４、構成情報チェックテーブル３５、機能解除条件テーブル３６及び機能解除手順テーブル３７が記録されており、これらのデータがマイクロプログラム３１と共にＣＤ−ＲＯＭ３０から読み出されて共有メモリ１３に格納される。
【００３０】
ここで、第１の前提条件・制限事項マトリクステーブル群３２は、マイクロプログラム３１の更新の際に事前に設定を解除しておくべき項目（以下、これを設定解除項目と呼ぶ）のうち、特に実装の可否が任意となっているストレージ装置３のオプション機能（Program Product）に関連した項目を検索するために用いられるテーブル群であり、図３〜図６に示すように、ＰＰ（Program Products）用バージョンアップテーブル４０（図３）、ＰＰ用バージョンアップ詳細テーブル４１（図４）、ＰＰ用バージョンダウンテーブル４２（図５）及びＰＰ用バージョンダウン詳細テーブル４３（図６）から構成される。
【００３１】
このうちＰＰ用バージョンアップテーブル４０は、マイクロプログラム３１のバージョンアップの際に設定を解除しておくべきオプション機能関連の設定解除項目を、現在のマイクロプログラム３１（以下、これを現マイクロプログラムと呼ぶ）のバージョンと、新たなマイクロプログラム３１（以下、これを新マイクロプログラムと呼ぶ）のバージョンとの関係で規定した対戦表形式のテーブルである。
【００３２】
具体的には、ＰＰ用バージョンアップテーブル４０では、各行にそれぞれ現マイクロプログラム３１のバージョン番号が対応付けられると共に、各列にそれぞれ新マイクロプログラム３１のバージョン番号が対応付けられている。そしてＰＰ用バージョンアップテーブル４０では、現マイクロプログラム３１のあるバージョン番号の行と、新マイクロプログラム３１のあるバージョン番号との列とが交差する欄（以下、これをコード番号記述欄と呼ぶ）内に、その行と対応付けられたバージョン番号の現マイクロプログラム３１をその列と対応付けられたバージョン番号の新マイクロプログラム３１にバージョンアップする場合に設定を解除しておくべき設定解除項目に割り当てられたコード番号がそれぞれ記述されている。
【００３３】
従って、例えば図３の例では、現マイクロプログラム３１のバージョンが「01」であり、新マイクロプログラム３１のバージョンが「03」である場合には、設定解除項目として「a1」、「a2」又は「a4」というコード番号がそれぞれ付与された３つの項目が存在することが示され、現マイクロプログラム３１のバージョンが「03」であり、新マイクロプログラム３１のバージョンが「04」である場合には、設定解除項目として「a1」、「a2」又は「a3」というコード番号がそれぞれ付与された３つの項目が存在することが示されている。
【００３４】
またＰＰ用バージョンアップ詳細テーブル４１は、マイクロプログラム３１のバージョンアップの際に設定を解除しておくべきオプション機能関連の各設定解除項目の具体的な設定解除処理の内容を規定したテーブルであり、「コード番号」欄４１Ａ、「前提条件・制限事項」欄４１Ｂ、「内容」欄４１Ｃ及び「機能解除手順テーブル番号」欄４１Ｄから構成される。
【００３５】
そして「コード番号」欄４１Ａには、対応する設定解除項目に割り当てられたコード番号が格納される。また「前提条件・制限事項」欄４１Ｂには、その設定解除項目の設定を解除する場合に前提となる、現マイクロプログラム３１が持っているべき機能や、現マイクロプログラム３１が管理している数値などの前提条件や制限事項が格納される。例えば図４において、「a1」という設定解除項目の設定を解除する場合の前提として、現マイクロプログラム３１が「Remote Copy」という機能を有することが規定されている。ここで、「Remote Copy」とは、遠隔地に設置された他のストレージ装置３との間でユーザが使用するボリューム（以下、これを運用ボリュームと呼ぶ）のリモートコピーを行うリモートコピー機能のことである。また図４では、「a2」という設定解除項目の設定を解除する場合の前提として、現マイクロプログラム３１が「筐体内コピー」という機能を有することが規定されている。ここで、「筐体内コピー」とは、ある時点の運用ボリュームのデータイメージを取得する機能であるスナップショット機能のことである。
【００３６】
またＰＰ用バージョンアップ詳細テーブル４１の「内容」欄４１Ｃには、対応する設定解除項目の具体的な設定解除処理の内容が格納される。例えば図４において、「Remote Copyペア解除」は、リモートコピー機能に関連して、コピー元のボリューム（運用ボリューム）と、コピー先のボリュームとの対応付け（Remote Copyペア設定）を解除すべきことを意味する。また「筐体内コピーペア解除」は、スナップショット機能に関連して、運用ボリュームと、その運用ボリュームのスナップショットを復元する際に必要となる差分データを格納するボリュームとの対応付け（筐体内コピーペア設定）を解除すべきことを意味する。
【００３７】
さらに「機能解除手順テーブル番号」欄４１Ｄには、後述する機能解除手順テーブル３７に登録された各種設定解除項目のうちの、対応する設定解除項目の機能解除手順テーブル３７への登録番号が格納される。例えば図４では、「Remote Copyペア解除」という設定解除処理は、機能解除手順テーブル３７上において登録番号が「２０」であり、「筐体内コピーペア解除」という設定解除処理は、機能解除手順テーブル３７上において登録番号が「２１」であることが示されている。
【００３８】
これに対して、ＰＰ用バージョンダウンテーブル４２は、マイクロプログラム３１のバージョンダウンの際に設定を解除しておくべきオプション機能関連の設定解除項目を、現マイクロプログラム３１の各バージョンと、新マイクロプログラム３１の各バージョンとの関係で規定した対戦表形式のテーブルである。このＰＰ用バージョンダウンテーブル４２は、ＰＰ用バージョンアップテーブル４０と同様の構成を有するため、その具体的説明については省略する。
【００３９】
またＰＰ用バージョンダウン詳細テーブル４３は、マイクロプログラム３１のバージョンダウンの際に設定を解除しておくべきオプション機能関連の各設定解除項目の具体的な設定解除処理の内容を規定したテーブルである。このＰＰ用バージョンダウン詳細テーブル４３も、ＰＰ用バージョンアップ詳細テーブル４１と同様の構成を有するため、その具体的説明については省略する。
【００４０】
一方、第２の前提条件・制限事項マトリクステーブル群３３は、マイクロプログラム３１の更新の際に事前に設定を解除しておくべき設定解除項目のうち、特にストレージ装置３のシステムオプションモードに関連した項目、すなわち、ストレージ装置３の性能向上項目、又は顧客要求に応じた機能項目等を検索するために用いられるテーブル群であり、図７〜図１０に示すように、ＳＯＭ（System Option MODE）用バージョンアップテーブル４４（図７）、ＳＯＭ用バージョンアップ詳細テーブル４５（図８）、ＳＯＭ用バージョンダウンテーブル４６（図９）、及びＳＯＭ用バージョンダウン詳細テーブル４７（図１０）から構成される。
【００４１】
このうちＳＯＭ用バージョンアップテーブル４４は、マイクロプログラム３１のバージョンアップの際に設定を解除しておくべきシステムオプションモード機能関連の設定解除項目を、現マイクロプログラム３１のバージョンと、新マイクロプログラム３１のバージョンとの関係で規定した対戦表形式のテーブルであり、ＰＰ用バージョンアップテーブル４０と同様に構成されている。
【００４２】
従って、例えば図７の例では、現マイクロプログラム３１のバージョンが「01」であり、新マイクロプログラム３１のバージョンが「03」である場合には、設定解除項目として「c2」というコード番号が付与された１つの項目が存在することが示され、現マイクロプログラムのバージョンが「03」であり、新マイクロプログラムのバージョンが「04」である場合には、設定解除項目として「c3」というコード番号が付与された１つの項目が存在することが示されている。
【００４３】
またＳＯＭ用バージョンアップ詳細テーブル４５は、マイクロプログラム３１のバージョンアップの際に設定を解除しておくべきシステムオプションモード機能関連の各設定解除項目の具体的な設定解除処理の内容を規定したテーブルであり、ＰＰ用バージョンアップ詳細テーブル４１と同様に構成されている。
【００４４】
従って、図８の例では、「c1」というコード番号が割り当てられた設定解除項目については、現マイクロプログラム３１が「MODE777」というコード番号のシステムオプションモード機能を有していることがその設定解除項目の設定を解除する場合の前提条件であり、当該設定解除項目の具体的な設定解除処理の内容は、システム等の設定変更等を行った後に、設定内容等を確認するための監視時間を再度設定すべきこと（「監視時間の再設定」）であり、さらにこの設定解除処理は、機能解除手順テーブル３７における登録番号が「８」の項目に対応することが示されている。
【００４５】
これに対してＳＯＭ用バージョンダウンテーブル４６は、マイクロプログラム３１のバージョンダウンの際に設定を解除しておくべきシステムオプションモード機能関連の設定解除項目を、現マイクロプログラム３１のバージョンと、新マイクロプログラム３１のバージョンとの関係で規定した対戦表形式のテーブルである。このＳＯＭ用バージョンダウンテーブル４６は、ＳＯＭ用バージョンアップテーブル４４と同様の構成を有するため、その具体的説明については省略する。
【００４６】
またＳＯＭ用バージョンダウン詳細テーブル４７は、マイクロプログラム３１のバージョンダウンの際に設定を解除しておくべきシステムオプションモード機能関連の各設定解除項目の具体的な設定解除処理の内容を規定したテーブルである。このＳＯＭ用バージョンダウン詳細テーブル４７も、ＳＯＭ用バージョンアップ詳細テーブル４５と同様の構成を有するため、その具体的説明については省略する。
【００４７】
他方、第３の前提条件・制限事項マトリクステーブル群３４は、マイクロプログラム３１の更新に伴って設定を解除しておくべき設定解除項目のうち、特にストレージ装置３に接続されたホスト装置２の種類等によって制限される項目を検索するために用いられるテーブル群であり、図１１〜図１４に示すように、ＨＯＳＴ用バージョンアップテーブル４８（図１１）、ＨＯＳＴ用バージョンアップ詳細テーブル４９（図１２）、ＨＯＳＴ用バージョンダウンテーブル５０（図１３）及びＨＯＳＴ用バージョンダウン詳細テーブル５１（図１４）から構成される。
【００４８】
このうち、ＨＯＳＴ用バージョンアップテーブル４８は、マイクロプログラム３１のバージョンアップの際に設定を解除しておくべきホスト装置２関連の設定解除項目を、現マイクロプログラム３１のバージョンと、新マイクロプログラム３１のバージョンとの関係で規定した対戦表形式のテーブルであり、ＰＰ用バージョンアップテーブル４０と同様に構成されている。
【００４９】
従って、例えば図１１の例では、現マイクロプログラムのバージョンが「01」であり、新マイクロプログラムのバージョンが「03」である場合には、設定解除項目として「e1」又は「e2」というコード番号がそれぞれ付与された２つの項目が存在することが示され、現マイクロプログラムのバージョンが「03」であり、新マイクロプログラムのバージョンが「04」である場合には、設定解除項目として「e2」というコード番号が付与された１つの項目が存在することが示されている。
【００５０】
またＨＯＳＴ用バージョンアップ詳細テーブル４９は、マイクロプログラム３１のバージョンアップの際に設定を解除しておくべきホスト装置２関連の各設定解除項目の具体的な設定解除処理の内容を規定したテーブルであり、ＰＰ用バージョンアップ詳細テーブル４１と同様に構成されている。
【００５１】
従って、図１２の例では、「e1」というコード番号が割り当てられた設定解除項目については、ストレージ装置３に「OS1」という種類のホスト装置２が接続されていることがその設定解除項目の設定を解除する場合の前提条件であり、当該設定解除項目の具体的な内容は、コンピュータシステム全体を管理する
1154328492608_0.html
であるオペレーティングシステムに対応するホスト装置２のモードを変更すべきこと（「HOST MODE」）であり、さらにこの設定解除処理は、機能解除手順テーブル３７における登録番号が「50」の項目に対応することが示されている。
【００５２】
これに対してＨＯＳＴ用バージョンダウンテーブル５０は、マイクロプログラム３１のバージョンダウンの際に設定を解除しておくべきホスト装置２関連の設定解除項目を、現マイクロプログラム３１のバージョンと、新マイクロプログラム３１のバージョンとの関係で規定した対戦表形式のテーブルである。このＨＯＳＴ用バージョンダウンテーブル５０は、ＨＯＳＴ用バージョンアップテーブル４８と同様の構成を有するため、その具体的説明については省略する。
【００５３】
またＨＯＳＴ用バージョンダウン詳細テーブル５１は、マイクロプログラム３１のバージョンダウンの際に設定を解除しておくべきホスト装置２関連の各設定解除項目の具体的な設定解除処理の内容を規定したテーブルである。このＨＯＳＴ用バージョンダウン詳細テーブル５１は、ＨＯＳＴ用バージョンアップ詳細テーブル４９と同様の構成を有するため、その具体的説明については省略する。
【００５４】
構成情報チェックテーブル３５は、マイクロプログラム３１を更新する際に自ストレージ装置３において設定を解除しておくべき前提条件・制限事項を管理端末１６がチェックするためのテーブルである。この構成情報チェックテーブル３５には、上述の第１〜第３の前提条件・制限事項マトリクステーブル群３２〜３４において挙げられた設定解除項目を始めとして、例えば図１５に示すように、マイクロプログラム３１のバージョンによって管理可能な上限値が異なる「ストレージ装置３内の論理ユニット数（Number of CUs）」や、マイクロプログラム３１のバージョンによって数値が異なる「キャッシュメモリグループのサイズ（CMG）」などの制限事項、並びにマイクロプログラム３１のバージョンによって搭載されている場合と搭載されていない場合とがある「オンデマンド機能（On-Demand）」、「Cache常駐化機能（DCR Available）」などの前提条件が複数登録されている。
【００５５】
機能解除条件テーブル３６は、構成情報チェックテーブル３５に登録された各項目（前提条件・制限事項）について、その項目の設定を解除する場合の具体的な条件が挙げられたテーブルであり、「項目」欄３６Ａ及び「条件」欄３６Ｂから構成されている。
【００５６】
そして「項目」欄３６Ａには、上述のように構成情報チェックテーブル３５に登録された各項目（前提条件・制限事項）が列挙され、「条件」欄３６Ｂには、対応する項目の設定を解除し又は数値を削除する場合の具体的な条件が記述されている。
【００５７】
図１６の例では、例えば「ストレージ装置３内の論理ユニット数（Number of CUs）」については、その数値が「256」以上のときには、共有メモリ１３に格納されているシステム構成情報からその数値を削除し、「キャッシュメモリグループのサイズ（CMG）」については、その数値が「4096」であるときには、かかるシステム構成情報からその数値を削除すべきことが規定されている。また図１６の例では、「オンデマンド機能（On-Demand）」及び「Cache常駐化機能（DCR Available）」についは、その機能が設定されている場合には、当該機能を解除すべきことが規定されている。
【００５８】
機能解除手順テーブル３７は、マイクロプログラム３１を更新する場合において、構成情報チェックテーブル３５に挙げられた各設定解除項目を解除（システム構成情報からの削除を含む）するに際して、どの設定解除項目から順番に解除してゆけば良いかを規定したテーブルであり、図１７に示すように、「番号」欄３７Ａ、「項目」欄３７Ｂ及び「順番」欄３７Ｃから構成されている。
【００５９】
そして「番号」欄３７Ａには、その設定解除項目の機能解除手順テーブル３７上での登録番号が格納され、「項目」欄３７Ｂには、その設定解除項目の内容が格納され、「順番」欄３７Ｃには、その設定解除項目に設定された優先順位が格納される。この優先順位は、いくつかの設定解除項目を解除する際に、この順番で設定解除項目の設定を解除してゆくことによって、不具合を生じさせることなく、各設定解除項目の設定を解除することができる順位である。
【００６０】
従って、例えば図１７の例では、例えば「Ｉ／Ｏ不可表示（No.0）」、「Remote Copy設定（No.20）」及び「システムオプションモード設定（No.8）」の各設定解除項目の優先順位がそれぞれ「０」、「２０」及び「８」であるため、これらの設定解除項目の設定を解除する場合には、「Ｉ／Ｏ不可表示（No.0）」、「システムオプションモード設定（No.8）」及び「Remote Copy設定（No.20）」の順番で設定を解除してゆく必要があることが分かる。
【００６１】
一方、図１８は、作業手順テーブル３８を示す。この作業手順テーブル３８は、後述のように、チャネルアダプタ１１やディスクアダプタ１４のマイクロプログラム３１を更新する際、管理端末１６が、第１〜第３の前提条件・制限事項マトリクステーブル群３２〜３４、構成情報チェックテーブル３５及び機能解除条件テーブル３６に基づいて設定を解除すべき設定解除項目を決定した後に、当該決定した設定解除項目の設定解除処理をどの順番で行うかを機能解除手順テーブル３７に基づいて決定する際に使用するテーブルである。
【００６２】
この作業手順テーブル３８は、「コード番号」欄３８Ａ、「内容」欄３８Ｂ及び「機能解除手順テーブル番号」欄３８Ｃから構成されている。そして「コード番号」欄３８Ａには、対応する設定解除項目に付与されたコード番号が格納される。また「内容」欄３８Ｂには、その設定解除項目の具体的な設定解除処理の内容が格納される。さらに「機能解除手順テーブル番号」欄３８Ｃには、機能解除手順テーブル３７において規定されたその設定解除項目の優先順位が格納される。そして作業手順作成テーブル３８では、該当する各設定解除項目の具体的な設定解除処理の内容が上述の優先順位の順番に並べられて登録される。
【００６３】
従って、図１８の例では、マイクロプログラムを更新するに際して、行わなければならない設定解除処理として、「Ｉ／Ｏ不可表示」、「監視時間の再設定」、「Cache常駐化解除」及び「Remote Copyペア解除」があり、これらをこの順番に実行することが決定されていることが示されている。
【００６４】
（１−２−２）マイクロプログラム更新処理
次に、かかるマイクロプログラム更新機能に関する管理端末１６のＣＰＵ２４の具体的な処理内容について説明する。
【００６５】
図１９は、チャネルアダプタ１１及び又はディスクアダプタ１４のマイクロプログラム３１の更新処理に関する管理端末１６のＣＰＵ２４の処理内容を示すフローチャートである。
【００６６】
ＣＰＵ２４は、新たなマイクロプログラム３１が記録されたＣＤ−ＲＯＭ３０がストレージ装置３の保守員により管理端末１６に装填され、当該管理端末１６が操作されて、かかるＣＤ−ＲＯＭ３０に記録されたマイクロプログラム３１の取り込み命令が与えられると、マイクロプログラム更新処理を開始し、まず、このＣＤ−ＲＯＭ３０からマイクロプログラム３１及び当該マイクロプログラム３１と共に記録されている上述の各種テーブルを読み出して共有メモリ１３に格納する（ＳＰ１）。
【００６７】
続いてＣＰＵ２４は、現マイクロプログラム３１のバージョンと、共有メモリ１３に読み込んだ新マイクロプログラム３１のバージョンとが同一であるか否かを判断し（ＳＰ２）、肯定結果を得るとこのマイクロプログラム更新処理を終了する。
【００６８】
これに対してＣＰＵ２４は、かかる判断において肯定結果を得ると、新マイクロプログラム３１のバージョンが現マイクロプログラム３１のバージョンよりも新しいか否かを判断し（ＳＰ４）、肯定結果を得ると、共有メモリ１３に保存されている第１〜第３の前提条件・制限事項マトリクステーブル群３２〜３４の各バージョンアップテーブルに基づいて、マイクロプログラム３１を現マイクロプログラム３１から新マイクロプログラム３１にバージョンアップするに際して設定を解除しておくべき項目を選択する（ＳＰ１４）。この際、ＣＰＵ２４は、第１〜第３の前提条件・制限事項マトリクステーブル群３２〜３４の各バージョンアップテーブルとして、新マイクロプログラム３１に付随する、つまり新マイクロプログラム３１と共にＣＤ−ＲＯＭ３０から読み出したテーブルを使用する。
【００６９】
続いてＣＰＵ２４は、新マイクロプログラム３１と共にＣＤ−ＲＯＭ３０から読み出した機能解除条件テーブル３６に基づいて、ステップＳＰ１４において選択した項目に加えて、実際に設定の解除が必要な項目を設定解除項目として決定する（ＳＰ１５）。
【００７０】
この後ＣＰＵ２４は、ステップＳＰ１４及びステップＳＰ１５における選択又は決定結果と、新マイクロプログラム３１と共にＣＤ−ＲＯＭ３０から読み出した機能解除手順テーブル３７とに基づいて、設定を解除する必要があるすべての設定解除項目を登録した作業手順テーブル３８を作成し（ＳＰ１６）、この後、作成した作業手順テーブル３８をストレージ装置３内の共有メモリ１３に格納する（ＳＰ１７）。
【００７１】
続いてＣＰＵ２４は、作業手順テーブル３８に登録された各設定解除項目の設定を解除する設定解除処理を行う（ＳＰ１８）。例えば、共有メモリ１３に格納されているシステム構成情報内において、ある設定解除項目が「有効」に設定されている場合には、その設定解除項目の設定を「無効」に設定する。またＣＰＵ２４は、ある設定解除項目がシステム構成情報内に数値として保存されている内容のものである場合には、システム構成情報からその数値を削除する。
【００７２】
この後ＣＰＵ２４は、必要な各チャネルアダプタ１１及び又は各ディスクアダプタ１４を制御することにより、今後、チャネルアダプタ１１及び又はディスクアダプタ１４が新マイクロプログラム３１を使用するように設定する（ＳＰ１９）。これによりマイクロプログラム３１のバージョンアップが行われたこととなる。
【００７３】
次いでＣＰＵ２４は、共有メモリ１３に格納した作業手順テーブル３８に登録されている各設定解除項目のうち、新マイクロプログラム３１のバージョンにおいても設定すべきすべての設定解除項目を、これらを解除した順番と逆の順番で設定し直す（ＳＰ２０）。
【００７４】
さらにＣＰＵ２４は、マイクロプログラム３１のバージョンアップに伴う新たな機能項目についての設定処理を行い（ＳＰ２１）、この後、このマイクロプログラム更新処理を終了する。
【００７５】
一方、ＣＰＵ２４は、ステップＳＰ４の判断において否定結果を得たときには、メモリに保存されている第１〜第３の前提条件・制限事項マトリクステーブル群３２〜３４の各バージョンダウンテーブルに基づいて、マイクロプログラム３１を現マイクロプログラム３１から新マイクロプログラム３１にバージョンダウンするに際して設定を解除しておくべき設定解除項目を選択する（ＳＰ５）。この際、ＣＰＵ２４は、第１〜第３の前提条件・制限事項マトリクステーブル群３２〜３４の各バージョンダウンテーブルとして、現マイクロプログラム３１に付随する、つまり現マイクロプログラム３１と共にＣＤ−ＲＯＭ３０から読み出したテーブルを使用する。
【００７６】
続いてＣＰＵ２４は、新マイクロプログラム３１と共にＣＤ−ＲＯＭ３０から読み出した機能解除条件テーブル３６に基づいて、ステップＳＰ５において選択した項目に加えて、実際に設定の解除が必要な項目を設定解除項目として決定する（ＳＰ６）。
【００７７】
この後ＣＰＵ２４は、ステップＳＰ５及びステップＳＰ６における選択又は決定結果と、新マイクロプログラム３１と共にＣＤ−ＲＯＭ３０から読み出した機能解除手順テーブル３７とに基づいて、設定を解除する必要があるすべての設定解除項目を登録した作業手順テーブル３８を作成し（ＳＰ７）、この後、作成した作業手順テーブル３８をストレージ装置３内の共有メモリ１３に格納する（ＳＰ８）。
【００７８】
続いてＣＰＵ２４は、作業手順テーブル３８に挙げられた各設定解除項目の設定を解除する設定解除処理を行う（ＳＰ９）。例えば、共有メモリ１３に格納されているシステム構成情報内において、ある設定解除項目が「有効」に設定されている場合には、その設定解除項目の設定を「無効」に設定する。またＣＰＵ２４は、ある設定解除項目がシステム構成情報内に数値として保存されている内容のものである場合には、システム構成情報からその数値を削除する。
【００７９】
この後ＣＰＵ２４は、必要な各チャネルアダプタ１１及び又は各ディスクアダプタ１４を制御することにより、今後、チャネルアダプタ１１及び又はディスクアダプタ１４が新マイクロプログラム３１を使用するように設定する（ＳＰ１０）。これによりマイクロプログラム３１のバージョンダウンが行われたこととなる。
【００８０】
次いでＣＰＵ２４は、共有メモリ１３に格納した作業手順テーブル３８に登録されている各設定解除項目のうち、新マイクロプログラム３１のバージョンにおいても設定すべきすべての設定解除項目を、これらを解除した順番と逆の順番で設定し直す（ＳＰ１１）。
【００８１】
さらにＣＰＵ２４は、マイクロプログラム３１のバージョンダウンに伴う新たな機能項目についての設定処理を行い（ＳＰ１２）、この後、このマイクロプログラム更新処理を終了する。
【００８２】
図２０は、かかるマイクロプログラム更新処理のステップＳＰ６又はステップＳＰ１５における設定解除項目の決定処理に関する具体的なＣＰＵ２４の処理内容を示すフローチャートである。
【００８３】
ＣＰＵ２４は、マイクロプログラム更新処理のステップＳＰ６又はステップＳＰ１５に進むと、この図２０に示す設定解除項目決定処理を開始し（ＳＰ２３）、まず、自ストレージ装置３に構成情報チェックテーブル３５のｎ番目（初期段階では「１」）の項目が設定されているか否かを判断する（ＳＰ２４）。
【００８４】
そしてＣＰＵ２４は、この判断において否定結果を得るとステップＳＰ２７に進み、これに対して肯定結果を得るとその項目が設定解除項目に該当するか否かを判断する（ＳＰ２５）。そしてＣＰＵ２４は、この判断において否定結果を得るとステップＳＰ２７に進み、これに対して肯定結果を得ると、その項目を設定解除項目に追加し（ＳＰ２６）、この後、そのとき対象としている項目が、当該構成情報チェックテーブル３５の最後の項目であるか否かを判断する（ＳＰ２７）。
【００８５】
ＣＰＵ２４は、この判断において否定結果を得ると、構成情報チェックテーブル３５上の対象とする項目を次の項目に移し（ＳＰ２９）、この後、同様の処理を繰り返す。そしてＣＰＵ２４は、やがて構成情報チェックテーブル３５のすべての項目について同様の処理を終えると、この設定解除項目決定処理を終了する（ＳＰ２８）。
【００８６】
（１−４）本実施の形態の効果
以上のように本実施の形態による記憶システム１では、ストレージ装置３内のチャネルアダプタ１１やディスクアダプタ１４のマイクロプログラム３１を更新する際に、マイクロプログラム３１の更新によって不具合を生じるおそれがある設定解除項目の設定を事前に解除し、マイクロプログラム３１の更新後にこれら前提条件や制限事項を再設定するようにしているため、保守員が手動でかかる作業をするという必要がない。かくするにつき、マイクロプログラム３１の更新処理を容易化し、マイクロプログラム３１の更新に伴うオペレーションミスを未然にかつ確実に防止することができる。
【００８７】
（２）第２の実施の形態
（２−１）第２の実施の形態による記憶システムの全体構成
図１との対応部分に同一符号を付した図２１は、第２の実施の形態による記憶システム１を示す。この記憶システム１は、管理サーバ２８が図示しないネットワーク等を介して第１のストレージ装置３Ａと接続されると共に、第１のストレージ装置３Ａに第２のストレージ装置３Ｂが接続されることにより構成されている。
【００８８】
管理サーバ２８は、図示しないＣＰＵやメモリ等の情報処理資源を備えたコンピュータ装置であり、例えばパーソナルコンピュータや、ワークステーション、メインフレームなどから構成される。この管理サーバ２８は、第１のストレージ装置３Ａ及び第２のストレージ装置３Ｂの監視及び管理を行うために用いられる。
【００８９】
第１のストレージ装置３Ａは、複数のホストインターフェイス（図示せず）、複数のチャネルアダプタ１１、キャッシュメモリ（図示せず）、共有メモリ１３、ディスクアダプタ１４、ディスクデバイス部１５、管理端末１６及び複数のポート２９を備えて構成されている。第１のストレージ装置３Ａは、図示しないホスト装置２に対して、ディスクデバイス部１５が有する記憶領域上に定義された論理ボリューム（以下、これを正側ボリュームと呼ぶ）を提供する。
【００９０】
同様に、第２のストレージ装置３Ｂも、複数のホストインターフェイス（図示せず）、複数のチャネルアダプタ１１、キャッシュメモリ（図示せず）、共有メモリ１３、ディスクアダプタ１４、ディスクデバイス部１５、管理端末１６及び複数のポート２９を備えて構成されている。第２のストレージ装置３Ｂは、第１のストレージ装置３Ａに対して、ディスクデバイス部１５が有する記憶領域上に定義された論理ボリューム（以下、これを副側ボリュームと呼ぶ）を提供する。
【００９１】
また第１のストレージ装置３Ａ及び第２のストレージ装置３Ｂは、第１のポート２９Ａ同士及び第２のポート２９Ｂ同士がそれぞれケーブル等から構成される第１又は第２のパス２６Ａ，２６Ｂを介して接続されている。これにより記憶システム１においては、図示しないホスト装置により第１のストレージ装置３Ａ内の正側ボリュームに書き込まれたデータをこれら第１又は第２のパス２６Ａ、２６Ｂを介して第２のストレージ装置３Ｂ内の対応する副側ボリュームにコピーすることができるようになされている。
【００９２】
（２−２）マイクロプログラム更新処理
次に、第２の実施の形態による記憶システム１に搭載されたマイクロプログラム更新機能について説明する。
【００９３】
本実施の形態による記憶システム１は、第１のストレージ装置３Ａ及び第２のストレージ装置３Ｂ間においてリモートコピーが行われている状態において、第１のストレージ装置３Ａのチャネルアダプタ１１及びディスクアダプタ１４のマイクロプログラム３１を更新する場合に、これと併せて第２のストレージ装置３Ｂのチャネルアダプタ１１及びディスクアダプタ１４のマイクロプログラム３１をも同様に更新する機能が搭載されている点を特徴の１つとしている。
【００９４】
また記憶システム１においては、このように第１のストレージ装置３Ａにおけるマイクロプログラム３１の更新に連動して第２のストレージ装置３Ｂのマイクロプログラム３１を更新する場合、例えば図２１のように第１のストレージ装置３Ａ及び第２のストレージ装置３Ｂ間が複数のパスで接続されているときには、いずれかのパスでリモートコピーを行いながら、他のパスに接続された第１のストレージ装置３Ａ及び第２のストレージ装置３Ｂ内の各チャネルアダプタ１１及び各ディスクアダプタ１４のマイクロプログラム３１を更新する機能が搭載されている点をもう１つの特徴としている。
【００９５】
この際、記憶システム１においては、リモートコピーを行うパスを順次他のパスに切り替えることにより、リモートコピーを中断することなく、第１のストレージ装置３Ａ及び第２のストレージ装置３Ｂ内の各チャネルアダプタ１１及び各ディスクアダプタ１４のマイクロプログラム３１を更新し得るようになされている。
【００９６】
図２２は、このような第２の実施の形態によるマイクロプログラム更新機能に関する第１のストレージ装置３Ａ内の管理端末１６のＣＰＵ２４Ａ（以下、これを正側ＣＰＵと呼ぶ）及び第２のストレージ装置内の管理端末１６のＣＰＵ２４Ｂ（以下、これを副側ＣＰＵと呼ぶ）の処理内容を示すタイミングチャートである。
【００９７】
正側ＣＰＵ２４Ａは、第１のストレージ装置３Ａ及び第２のストレージ装置３Ｂ間でリモートコピーが行われている状態において、新たなマイクロプログラム３１が記録されたＣＤ−ＲＯＭ３０がストレージ装置３の保守員により第１のストレージ装置３Ａの管理端末１６に装填され、当該管理端末１６が操作されて、かかるＣＤ−ＲＯＭ３０に記録されたマイクロプログラム３１の取り込み命令が与えられると、第２の実施の形態によるマイクロプログラム更新処理を開始する。そして正側ＣＰＵ２４Ａは、まず、このＣＤ−ＲＯＭ３０からマイクロプログラム３１及び当該マイクロプログラム３１と共に記録されている上述の各種テーブル３１〜３７を読み出して共有メモリ１３に格納する（ＳＰ３０）。
【００９８】
続いて正側ＣＰＵ２４Ａは、第１のストレージ装置３Ａにおいて、第１のパス２６Ａと接続されている各チャネルアダプタ１１及び各ディスクアダプタ１４のマイクロプログラム３１を更新する旨の通知（以下、これをマイクロプログラム更新通知と呼ぶ）、副側ＣＰＵ２４Ｂに送信する（ＳＰ３１）。また正側ＣＰＵ２４Ａは、この後第１のパス２６Ａに接続されている第１のストレージ装置３Ａ内のチャネルアダプタ１１及びディスクアダプタ１４を閉塞させることにより、これらチャネルアダプタ１１及びディスクアダプタ１４の機能を解除する（ＳＰ３３）。
【００９９】
一方、副側ＣＰＵ２４Ｂは、正側ＣＰＵ２４Ａからマイクロプログラム更新通知を受信すると、第１のパス２６Ａに接続されているチャネルアダプタ１１及びディスクアダプタ１４を検索などの所定の準備を開始する。そして副側ＣＰＵ２４Ｂは、かかる準備を完了するとその旨の通知（以下、これを第１の準備完了通知と呼ぶ）を正側ＣＰＵ２４Ａに送信する（ＳＰ３２）。
【０１００】
また副側ＣＰＵ２４Ｂは、この後、図２３に示すプロセッサ閉塞処理に従って、第１のパス２６Ａに接続されているチャネルアダプタ１１及びディスクアダプタ１４を閉塞させることにより、これらチャネルアダプタ１１及びディスクアダプタ１４の機能を解除する（ＳＰ３４）。さらに副側ＣＰＵ２４Ｂは、このようなチャネルアダプタ１１及びディスクアダプタ１４を閉塞し終えると、その旨の通知（以下、これを第２の準備完了通知と呼ぶ）を正側ＣＰＵ２４Ａに送信する（ＳＰ３５）。
【０１０１】
正側ＣＰＵ２４Ａは、副側ＣＰＵ２４Ｂからの第２の準備完了通知を受信すると、副側ＣＰＵ２４Ｂにマイクロプログラム３１の更新を開始すべき旨の通知（以下、これをマイクロプログラム更新開始指示通知と呼ぶ）を送信する（ＳＰ３６）。この後、正側ＣＰＵ２４Ａは、第１のストレージ装置３Ａ内の第１のパス２６Ａに接続されたチャネルアダプタ１１及びディスクアダプタ１４のマイクロプログラム３１を更新する（ＳＰ３７）。さらに正側ＣＰＵ２４Ａは、この後、かかるマイクロプログラム３１の更新処理が完了すると、ステップＳＰ３４において閉塞させたチャネルアダプタ１１及びディスクアダプタ１４を復旧（新しいマイクロプログラムで再動作）させる復旧処理を実行する（ＳＰ３８）。
【０１０２】
一方、副側ＣＰＵ２４Ｂは、正側ＣＰＵ２４Ａからのマイクロプログラム更新開始指示通知を受信すると、第２のストレージ装置３Ｂ内の第１のパス２６Ａに接続されたチャネルアダプタ１１及びディスクアダプタ１４のマイクロプログラム３１を、図２４について上述したフローチャートに従って更新する（ＳＰ３９）。
【０１０３】
さらに副側ＣＰＵ２４Ｂは、この後、かかるマイクロプログラム３１の更新処理が完了すると、ステップＳＰ３４において閉塞させたチャネルアダプタ１１及びディスクアダプタ１４を復旧させる復旧処理を実行する（ＳＰ４０）。そして副側ＣＰＵ２４Ｂは、かかる復旧処理を完了すると、その旨の通知（以下、これを復旧完了通知と呼ぶ）を正側ＣＰＵ２４Ａに送信する（ＳＰ４１）。
【０１０４】
また副側ＣＰＵ２４Ｂは、この後、第２のパス２６Ｂに接続されている第２のストレージ装置３Ｂ内のチャネルアダプタ１１及びディスクアダプタ１４を閉塞させることにより、これらチャネルアダプタ１１及びディスクアダプタ１４の機能を解除する（ＳＰ４２）。そして副側ＣＰＵ２４Ｂは、このようなチャネルアダプタ１１及びディスクアダプタ１４を閉塞し終えると、その旨の通知（以下、これを第３の準備完了通知と呼ぶ）を正側ＣＰＵ２４Ａに送信する（ＳＰ４３）。
【０１０５】
他方、正側ＣＰＵ２４Ａは、副側ＣＰＵ２４Ｂからの復旧完了通知を受信すると、第２のパス２６Ｂに接続されている第１のストレージ装置３Ａ内のチャネルアダプタ１１及びディスクアダプタ１４の閉塞処理を開始し（ＳＰ４４）、これらのチャネルアダプタ１１及びディスクアダプタ１４を閉塞することにより、これらの機能を解除する（ＳＰ４５）。
【０１０６】
そして正側ＣＰＵ２４Ａは、この後、副側ＣＰＵ２４Ｂからの第３の準備完了通知を受信すると、副側ＣＰＵ２４Ｂにマイクロプログラム３１の更新を開始すべき旨の通知（以下、これをマイクロプログラム更新開始指示通知と呼ぶ）を送信する（ＳＰ４６）。
【０１０７】
さらに正側ＣＰＵ２４Ａは、この後、第１のストレージ装置３Ａ内の第２のパス２６Ｂに接続されたチャネルアダプタ１１及びディスクアダプタ１４のマイクロプログラムの更新処理を、図２４について上述したフローチャートに従って実行する（ＳＰ４７）。この後、正側ＣＰＵ２４Ａは、かかるマイクロプログラム３１の更新処理が完了すると、ステップＳＰ４５において閉塞させたチャネルアダプタ１１及びディスクアダプタ１４を復旧（新しいマイクロプログラムで再動作）させる復旧処理を実行し（ＳＰ４８）、この後この第２のマイクロプログラム更新処理を終了する。
【０１０８】
他方、副側ＣＰＵ２４Ｂは、ステップＳＰ４３において正側ＣＰＵ２４Ａに第３の準備完了通知を送信後、正側ＣＰＵ２４Ａからのマイクロプログラム更新開始指示通知を受信すると、第２のストレージ装置３Ｂ内の第２のパス２６Ｂに接続されたチャネルアダプタ１１及びディスクアダプタ１４のマイクロプログラムの更新処理を、図２４について上述したフローチャートに従って実行する（ＳＰ４９）。さらに副側ＣＰＵ２４Ｂは、この後、かかるマイクロプログラム３１の更新処理が完了すると、ステップＳＰ４２において閉塞させたチャネルアダプタ１１及びディスクアダプタ１４を復旧（新しいマイクロプログラムで再動作）させる復旧処理を実行し（ＳＰ５０）、この後この第２のマイクロプログラム更新処理を終了する。
【０１０９】
図２３は、上述した第２の実施の形態によるマイクロプロセッサの更新処理のうち、ステップＳＰ３３，ステップＳＰ３４，ステップＳＰ４２及びステップＳＰ４５において正側ＣＰＵ２４Ａ又は副側ＣＰＵ２４Ｂが行うチャネルアダプタ１１及びディスクアダプタ１４の閉塞処理（以下、これをアダプタ閉塞処理と呼ぶ）の具体的な内容を示すフローチャートである。
【０１１０】
正側ＣＰＵ２４Ａ及び副側ＣＰＵ２４Ｂは、かかるマイクロプロセッサ更新処理のステップＳＰ３３，ステップＳＰ３４，ステップＳＰ４２又はステップＳＰ４５に進むと、このアダプタ閉塞処理を開始し、ステップＳＰ６０〜ステップＳＰ７２までの処理を、図１９について上述した第１の実施の形態によるマイクロプロセッサ更新処理のステップＳＰ１〜ステップＳＰ９及びステップＳＰ１４〜ステップＳＰ１８と同様に処理する。
【０１１１】
一方、図２４は、上述した第２の実施の形態によるマイクロプロセッサ更新処理のうち、ステップＳＰ３７，ステップＳＰ３９，ステップＳＰ４７及びステップＳＰ４９において正側ＣＰＵ２４Ａ又は副側ＣＰＵ２４Ｂが行うマイクロプログラム交換処理の具体的な内容を示すフローチャートである。
【０１１２】
正側ＣＰＵ２４Ａ及び副側ＣＰＵ２４Ｂは、かかるマイクロプロセッサ更新処理のステップＳＰ３７，ステップＳＰ３９，ステップＳＰ４７又はステップＳＰ４９に進むと、このマイクロプログラム交換処理を開始し、まず、現マイクロプログラムを新マイクロプログラムに交換することがマイクロプログラムのバージョンアップに該当するか否かを判断する（ＳＰ８１）。
【０１１３】
そして正側ＣＰＵ２４Ａ及び副側ＣＰＵ２４Ｂは、この判断において否定結果を得ると、続くステップＳＰ８５〜ステップＳＰ８７までを、図１９について上述した第１の実施の形態によるマイクロプロセッサ更新処理のステップＳＰ１０〜ステップＳＰ１２までと同様に処理し、この後このマイクロプログラム交換処理を終了する。
【０１１４】
これに対して正側ＣＰＵ２４Ａ及び副側ＣＰＵ２４Ｂは、この判断において肯定結果を得ると、続くステップＳＰ８２〜ステップＳＰ８４までを、かかる第１の実施の形態によるマイクロプロセッサ更新処理のステップＳＰ１９〜ステップＳＰ２１までと同様に処理し、この後このマイクロプログラム交換処理を終了する。
【０１１５】
（２−３）本実施の形態の効果
以上のように本実施の形態による記憶システムでは、第１のストレージ装置３Ａ及び第２のストレージ装置３Ｂは、第１のポート２９Ａ同士及び第２のポート２９Ｂ同士がそれぞれケーブル等から構成される第１又は第２のパス２６Ａ，２６Ｂを介して接続されている。このため、第１のストレージ装置３Ａ及び第２のストレージ装置３Ｂ間においてリモートコピーが行われている状態において、第１のストレージ装置３Ａのチャネルアダプタ１１及びディスクアダプタ１４のマイクロプログラムを更新する場合に、これと併せて第２のストレージ装置３Ｂのチャネルアダプタ１１及びディスクアダプタ１４のマイクロプログラムをも同様に更新する。また、第１のストレージ装置３Ａにおけるマイクロプログラムの更新に連動して第２のストレージ装置３Ｂのマイクロプログラムを更新する場合、いずれかのパスでリモートコピーを行いながら、他のパスに接続された第１のストレージ装置３Ａ及び第２のストレージ装置３Ｂ内の各チャネルアダプタ１１及び各ディスクアダプタ１４のマイクロプログラムを更新する。かくするにつき、第１の実施の形態による記憶システム１により得られる効果に加えて、リモートコピーを中断することなく、第１のストレージ装置３Ａ及び第２のストレージ装置３Ｂ内の各チャネルアダプタ１１及び各ディスクアダプタ１４のマイクロプログラムを更新することができるという格別な効果をも得ることができる。
【０１１６】
（３）他の実施の形態
なお、上述の実施の形態においては、ディスクドライブ１７により物理的な記憶領域を提供する場合について述べたが、本発明はこれに限らず、フラッシュメモリなどの半導体メモリを記憶デバイスとして用いるようにしても良い。
【０１１７】
また、上述の実施の形態においては、記憶部に記憶保持されたマイクロプログラムに従って各種処理を実行する処理部としてチャネルアダプタ１１及び各ディスクアダプタ１４がプロセッサを有する場合について述べたが、本発明はこれに限らず、かかるプロセッサ以外のプロセッサにより同様の処理を行うようにしてもよい。
【０１１８】
さらに、上述の実施の形態においては、各チャネルアダプタ１１及び各ディスクアダプタ１４が１つのプロセッサを有する場合においてマイクロプログラムを更新する場合について述べたが、本発明はこれに限らず、各チャネルアダプタ１１及び各ディスクアダプタ１４が複数のプロセッサを有し、各プロセッサごとにマイクロプログラムを順番に変更することにより、データの入出力を中断することなく、マイクロプログラムの更新処理を行うようにしてもよい。
【０１１９】
さらに、上述の実施の形態においては、マイクロプログラムを記憶保持する記憶部として共有メモリ１３を備える場合について述べたが、本発明はこれに限らず、マイクロプログラムを記憶保持する記憶部として管理端末１６のメモリ２５等の他のメモリを備えてもよい。
【０１２０】
さらに、上述の実施の形態においては、外部操作に応じて前記プログラムを更新するプログラム更新部として管理端末１６のＣＰＵ２４を備える場合について述べたが、本発明はこれに限らず、その他のＣＰＵを用いてマイクロプログラムの更新をしてもよい。
【産業上の利用可能性】
【０１２１】
本発明は、ストレージ装置を含む記憶システムに広く適用することができる。
【図面の簡単な説明】
【０１２２】
【図１】第１の実施の形態による記憶システム１を示すブロック図である。
【図２】新たなマイクロプログラムと共に共有メモリ１３に格納又は作成されるテーブルの一覧である。
【図３】第１の前提条件・制限事項マトリクステーブル群３２のＰＰ用バージョンアップテーブル４０を示す概念図である。
【図４】第１の前提条件・制限事項マトリクステーブル群３２のＰＰ用バージョンアップ詳細テーブル４１を示す概念図である。
【図５】第１の前提条件・制限事項マトリクステーブル群３２のＰＰ用バージョンダウンテーブル４２を示す概念図である。
【図６】第１の前提条件・制限事項マトリクステーブル群３２のＰＰ用バージョンダウン詳細テーブル４３を示す概念図である。
【図７】第２の前提条件・制限事項マトリクステーブル群３３のＳＯＭ用バージョンアップテーブル４４を示す概念図である。
【図８】第２の前提条件・制限事項マトリクステーブル群３３のＳＯＭ用バージョンアップ詳細テーブル４５を示す概念図である。
【図９】第２の前提条件・制限事項マトリクステーブル群３３のＳＯＭ用バージョンダウンテーブル４６を示す概念図である。
【図１０】第２の前提条件・制限事項マトリクステーブル群３３のＳＯＭ用バージョンダウン詳細テーブル４７を示す概念図である。
【図１１】第３の前提条件・制限事項マトリクステーブル群３４のＨＯＳＴ用バージョンアップテーブル４８を示す概念図である。
【図１２】第３の前提条件・制限事項マトリクステーブル群３４のＨＯＳＴ用バージョンアップ詳細テーブル４９を示す概念図である。
【図１３】第３の前提条件・制限事項マトリクステーブル群３４のＨＯＳＴ用バージョンダウンテーブル５０を示す概念図である。
【図１４】第３の前提条件・制限事項マトリクステーブル群３４のＨＯＳＴ用バージョンダウン詳細テーブル５１を示す概念図である。
【図１５】構成情報チェックテーブル３５を示す概念図である。
【図１６】機能解除条件テーブル３６を示す概念図である。
【図１７】機能解除手順テーブル３７を示す概念図である。
【図１８】作業手順テーブル３８を示す概念図である。
【図１９】第１の実施形態にかかるマイクロプログラムの更新処理の説明に要するフローチャートである。
【図２０】第１の実施の形態にかかるマイクロプログラムの更新処理のうち、特に構成情報の項目決定の説明に要するフローチャートである。
【図２１】第２の実施の形態による記憶システム１を示すブロック図である。
【図２２】第２の実施の形態にかかるマイクロプログラムの更新処理の説明に要するタイミングチャートである。
【図２３】第２の実施の形態にかかるマイクロプログラムの更新処理の説明に要するサブルーチンチャートである。
【図２４】第２の実施の形態にかかるマイクロプログラムの更新処理の説明に要するサブルーチンチャートである。
【符号の説明】
【０１２３】
１・・・・・・ストレージシステム、２・・・・・・ホスト装置、３・・・・・・ストレージ装置、１０・・・・・・ホストインターフェイス、１１・・・・・・チャネルアダプタ、１２・・・・・・キャッシュメモリ、１３・・・・・・共有メモリ、１４・・・・・・ディスクアダプタ、１５・・・・・・ディスクデバイス部、１６・・・・・・管理端末、１７・・・・・・ディスクデバイス。
【図１】
2008033827.tif 000003
【図２】
2008033827.tif 000004
【図３】
2008033827.tif 000005
【図４】
2008033827.tif 000006
【図５】
2008033827.tif 000007
【図６】
2008033827.tif 000008
【図７】
2008033827.tif 000009
【図８】
2008033827.tif 000010
【図９】
2008033827.tif 000011
【図１０】
2008033827.tif 000012
【図１１】
2008033827.tif 000013
【図１２】
2008033827.tif 000014
【図１３】
2008033827.tif 000015
【図１４】
2008033827.tif 000016
【図１５】
2008033827.tif 000017
【図１６】
2008033827.tif 000018
【図１７】
2008033827.tif 000019
【図１８】
2008033827.tif 000020
【図１９】
2008033827.tif 000021
【図２０】
2008033827.tif 000022
【図２１】
2008033827.tif 000023
【図２２】
2008033827.tif 000024
【図２３】
2008033827.tif 000025
【図２４】
2008033827.tif 000026