(57)【要約】【課題】ストレージ装置の性能を十分に発揮できるストレージシステム及びオーナー権の移行方法を提案しようとするものである。【解決手段】複数のマイクロプロセッサと、ドライブ群に形成される複数の記憶領域と、複数の記憶領域のそれぞれにアクセスするオーナー権を各マイクロプロセッサに割当てる割当て部と、各マイクロプロセッサが、複数の記憶領域のそれぞれに対して発行された要求を実行するのに要する時間割合を稼働率として管理する管理部と、任意のマイクロプロセッサに割当てられたオーナー権を稼働率に基づいて決定された他のマイクロプロセッサに移行するために、任意のマイクロプロセッサがオーナー権をもつ１以上の記憶領域から移行対象の記憶領域を検索する検索部と、移行対象の記憶領域に対して割当てられたオーナー権を任意のマイクロプロセッサから他のマイクロプロセッサに移行する移行部と、を有することとした。【選択図】図１
2009295049.tif 000002
【特許請求の範囲】
【請求項１】
複数のマイクロプロセッサと、
複数の物理ドライブから構成されるドライブ群に形成される複数の記憶領域と、
前記複数の記憶領域のそれぞれにアクセスするオーナー権を各マイクロプロセッサに割当てる割当て部と、
前記各マイクロプロセッサが、前記複数の記憶領域のそれぞれに対して発行された要求を実行するのに要する時間割合を稼働率として管理する管理部と、
任意のマイクロプロセッサに割当てられたオーナー権を前記稼働率に基づいて決定された他のマイクロプロセッサに移行するために、前記任意のマイクロプロセッサがオーナー権をもつ１以上の記憶領域から移行対象の記憶領域を検索する検索部と、
前記移行対象の記憶領域に対して割当てられたオーナー権を前記任意のマイクロプロセッサから前記他のマイクロプロセッサに移行する移行部と、
を有することを特徴とするストレージシステム。
【請求項２】
前記検索部では、
オーナー権を移行するうえでの基準となる基準稼働率を算出し、前記基準稼働率に基づいて前記移行対象の記憶領域を検索する、ことを特徴とする請求項１記載のストレージシステム。
【請求項３】
前記複数の記憶領域は、それぞれ記憶容量の異なる記憶領域であり、
前記検索部では、
前記任意のマイクロプロセッサに割当てられたオーナー権のうち、前記複数の物理ドライブから形成される１以上の物理ドライブグループに割当てられたオーナー権と前記１以上の物理デバイスグループの記憶領域から形成される１以上の論理デバイスに割当てられたオーナー権とを合わせて他のマイクロプロセッサに移行するか否かを決定する、ことを特徴とする請求項１記載のストレージシステム。
【請求項４】
前記要求は、複数種類の要求があり、要求の種類ごとに前記複数の記憶領域がグループ分けされている、ことを特徴とする請求項１記載のストレージシステム。
【請求項５】
前記検索部では、
前記複数のマイクロプロセッサの稼働率のうち、最も稼働率の低いマイクロプロセッサを他のマイクロプロセッサとして決定する、ことを特徴とする請求項１記載のストレージシステム。
【請求項６】
複数の物理ドライブから構成されるドライブ群に形成される複数の記憶領域のそれぞれにアクセスするためのオーナー権を複数のマイクロプロセッサのそれぞれに対して割当てる割当てステップと、
各マイクロプロセッサが前記複数の記憶領域のそれぞれに対して発行された要求を実行するのに要する時間割合を稼働率として管理する管理ステップと、
任意のマイクロプロセッサに割当てられたオーナー権を前記稼働率に基づいて決定された他のマイクロプロセッサに移行するために、前記任意のマイクロプロセッサがオーナー権をもつ１以上の記憶領域から移行対象の記憶領域を検索する検索ステップと、
前記移行対象の記憶領域に対して割当てられたオーナー権を前記任意のマイクロプロセッサから前記他のマイクロプロセッサに移行する移行ステップと、
を有することを特徴とするオーナー権の移行方法。
【請求項７】
前記検索ステップでは、
オーナー権を移行するうえで基準となる基準稼働率を算出し、前記基準稼働率に基づいて前記移行対象の記憶領域を検索する、ことを特徴とする請求項６記載のオーナー権の移行方法。
【請求項８】
前記複数の記憶領域は、記憶容量の異なる記憶領域であり、
前記検索ステップでは、
前記複数の記憶領域のそれぞれに割当てられたオーナー権のうち、前記複数の物理ドライブから形成される１以上の物理ドライブグループに割当てられたオーナー権と前記１以上の物理デバイスグループの記憶領域から形成される１以上の論理デバイスに割当てられたオーナー権とを合わせて他のマイクロプロセッサに移行するか否かをさらに決定する、ことを特徴とする請求項６記載のオーナー権の移行方法。
【請求項９】
前記要求は、複数種類の要求があり、要求の種類ごとに前記複数の記憶領域がグループ分けされている、ことを特徴とする請求項６記載のオーナー権の移行方法。
【請求項１０】
前記検索ステップでは、
前記複数のマイクロプロセッサの稼働率のうち、最も稼働率の低いマイクロプロセッサを他のマイクロプロセッサとして決定する、ことを特徴とする請求項６記載のオーナー権の移行方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステム及びオーナー権の移行方法に関し、特にコントローラに複数のプロセッサを搭載したストレージシステムについて適用する。
【背景技術】
【０００２】
ストレージ装置は、ストレージ装置へのデータの入出力を制御するコントローラ群と、このデータを格納するために複数の物理デバイスから形成されるドライブ群とから構成され、複数の物理デバイスをＲＡＩＤ（Redundant Array of Independent/Inexpensive Disks）方式で管理する装置である。この複数の物理デバイスが提供する物理的な記憶領域上には、少なくとも1つ以上の論理的なボリューム（以下、これを論理デバイスという）が形成される。
【０００３】
コントローラ群には、データを一時的に格納する共有メモリとデータの入出力制御を行う複数のマイクロプロセッサとが、独立して構成されている場合が多い。各マイクロプロセッサには、マイクロプロセッサが実行するストレージ装置の動作プログラムや制御情報等が格納されたローカルメモリが接続されている。しかし、このような構成において、マイクロプロセッサが共有メモリにアクセスする時間は、ローカルメモリにアクセスする時間に比べ、数倍から数百倍以上の時間がかかってしまう。また、複数のマイクロプロセッサが共有メモリを共有する構成である。このため、複数のマイクロプロセッサがデータの入出力を実行する際には、共有メモリにアクセスするマイクロプロセッサが、他のマイクロプロセッサが共有メモリへのアクセスを行わないように、共有メモリに対してロック、アクセス、アンロックを実行する必要がある。このように複数のマイクロプロセッサが共有メモリを共有すると、共有メモリにアクセスする処理時間が非常に長くかかってしまう。
【０００４】
このため、例えば特許文献１には、共有メモリへのアクセスを削減する技術が開示されている。具体的には、共有メモリと複数のマイクロプロセッサとが独立した構成のコントローラ群を搭載したストレージ装置において、コントローラ群は、各マイクロプロセッサにオーナー権を設定する。各マイクロプロセッサにオーナー権が設定されたことで、任意の論理デバイスに対するデータの入出力処理は、オーナー権が割当てられたマイクロプロセッサのみが行える。また、共有メモリ内に格納される任意の論理デバイスの情報にアクセスできるのも、オーナー権を割当てられたマイクロプロセッサのみが行える。このように、決められたマイクロプロセッサのみが任意の論理デバイスの情報を取得できるため、任意の論理デバイスの情報を共有メモリからローカルメモリに一度取り込んでしまえば、共有メモリにアクセスする必要がなくなる。
【特許文献１】特開２００５−２６７５４５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１の技術では、コントローラ群が各マイクロプロセッサに割り当てられた任意の論理デバイスの負荷状態のみを考慮して、オーナー権の移行を実行する。任意の論理デバイスと他の論理デバイスとの関連性や、データの入出力処理と別の処理との関連性等、ストレージ装置の様々な要素間での関連性は考慮されていない。このため、コントローラ群が任意の論理デバイスに対するオーナー権の移行を実行しようとすると、移行元マイクロプロセッサと移行先マイクロプロセッサとの間の通信に時間がかかり、両マイクロプロセッサにかかる負荷が却って増大してしまう。高速化処理を目的として複数のマイクロプロセッサを搭載するストレージ装置の性能が低下する、という問題が生じる。
【０００６】
そこで、本発明は、ストレージ装置の性能を十分に発揮できるストレージシステム及びオーナー権の移行方法を提案する。
【課題を解決するための手段】
【０００７】
このような課題を解決するため、本発明は、複数のマイクロプロセッサと、複数の物理ドライブから構成されるドライブ群に形成される複数の記憶領域と、複数の記憶領域のそれぞれにアクセスするオーナー権を各マイクロプロセッサに割当てる割当て部と、各マイクロプロセッサが、複数の記憶領域のそれぞれに対して発行された要求を実行するのに要する時間割合を稼働率として管理する管理部と、任意のマイクロプロセッサに割当てられたオーナー権を稼働率に基づいて決定された他のマイクロプロセッサに移行するために、任意のマイクロプロセッサがオーナー権をもつ１以上の記憶領域から移行対象の記憶領域を検索する検索部と、移行対象の記憶領域に対して割当てられたオーナー権を任意のマイクロプロセッサから他のマイクロプロセッサに移行する移行部と、を有することを特徴とする。
【０００８】
その結果、オーナー権を移行することによって生じるマイクロプロセッサ間での通信の発生を考慮してオーナー権を移行することができる。また、論理デバイスに対する負荷だけでなく、論理デバイス以外の記憶領域に対する負荷も考慮してオーナー権を移行することができる。
【０００９】
また、本発明においては、複数の物理ドライブから構成されるドライブ群に形成される複数の記憶領域のそれぞれにアクセスするためのオーナー権を複数のマイクロプロセッサのそれぞれに対して割当てる割当てステップと、各マイクロプロセッサが複数の記憶領域のそれぞれに対して発行された要求を実行するのに要する時間割合を稼働率として管理する管理ステップと、任意のマイクロプロセッサに割当てられたオーナー権を稼働率に基づいて決定された他のマイクロプロセッサに移行するために、任意のマイクロプロセッサがオーナー権をもつ１以上の記憶領域から移行対象の記憶領域を検索する検索ステップと、移行対象の記憶領域に対して割当てられたオーナー権を任意のマイクロプロセッサから他のマイクロプロセッサに移行する移行ステップと、を有することを特徴とする。
【００１０】
その結果、オーナー権を移行することによって生じるマイクロプロセッサ間での通信の発生を考慮してオーナー権を移行することができる。また、論理デバイスに対する負荷だけでなく、論理デバイス以外の記憶領域に対する負荷も考慮してオーナー権を移行することができる。
【発明の効果】
【００１１】
本発明によれば、複数のマイクロプロセッサにかかる負荷を分散し、ストレージ装置の様々な要素間での関連性を考慮するので、ストレージ装置の性能を十分に発揮することができる。
【発明を実施するための最良の形態】
【００１２】
以下図面について、本発明の一実施の形態を詳述する。
【００１３】
（１）ストレージシステムの構成
図１において、１は全体として本実施の形態によるストレージシステムを示している。このストレージシステム１は、ホスト装置２がネットワーク３を介してストレージ装置４と接続され、ストレージ装置４が制御端末と接続される構成である。
【００１４】
ホスト装置２は、ＣＰＵ（図示せず）やメモリ（図示せず）等の情報処理資源を備えたコンピュータ装置であり、ストレージ装置４にデータの入出力要求の発行等を行う。
ネットワーク３は、例えばＳＡＮ（Storage Area Network）、ＬＡＮ（Local Area Network）、インターネット、公衆回線又は専用回線などから構成される。例えばネットワーク３がＳＡＮの場合には、ファイバチャネルプロトコルに従って行われ、ネットワーク３がＬＡＮの場合には、ＴＣＰ／ＩＰプロトコルに従って行われる。本実施の形態のネットワーク３は、ＳＡＮを使用する。
ストレージ装置４は、複数の物理デバイス（図中、ＰＤＥＶと表記）からなるドライブ群Ｄと、複数の物理デバイスをＲＡＩＤ方式で管理するコントローラ群Ｃと、を備えて構成される。物理デバイスＰＤＥＶは、例えばＳＣＳＩディスク等のアクセス性能の高い高価なディスクや、ＳＡＴＡディスクや光ディスク等のアクセス性能の低い安価なディスク等から構成される。
コントローラ群Ｃは、複数のチャネルアダプタ６（図中、ＣＨＡＰＫ群と表記）、スイッチ７、共有メモリ８、キャッシュメモリ９、複数のディスクアダプタ（図中、ＤＫＡＰＫ群と表記）１０及び複数のマイクロプロセッサパッケージ（以下、単にマイクロプロセッサという。図中、ＭＰＰＫ＃と表記）１１を備えて構成される。
チャネルアダプタ群は、複数のチャネルアダプタ６から構成される。チャネルアダプタ６は、ＣＰＵ６０、ローカルメモリ（図中、ＬＭと表記）６１及び通信インタフェース（図中、ＩＦと表記）６２等を備える。ＣＰＵ６０は、通信インタフェース６２を介して、ホスト装置２とストレージ装置４との間で送受信されるデータや入出力要求の制御を行う。ローカルメモリ６１は、データや要求を送受信するために必要な管理情報や制御情報が格納される。ローカルメモリ６１に格納される制御情報については、後述する。
スイッチ７は、複数のチャネルアダプタ６、共有メモリ８、キャッシュメモリ９、複数のディスクアダプタ１０及び複数のマイクロプロセッサ１１と接続されている。複数のチャネルアダプタ６、共有メモリ８、キャッシュメモリ９、複数のディスクアダプタ１０及び複数のマイクロプロセッサ１１間のデータや各種要求の授受は、このスイッチ７を介して行われる。
共有メモリ８は、チャネルアダプタ６及びディスクアダプタ１０が共有する記憶メモリである。共有メモリ８は、主にシステム構成情報、各種制御プログラム、及びホスト装置２からの各種要求などを記憶するために利用される。共有メモリ８内に記憶される各種テーブルやプログラムについては、後述で説明する。
キャッシュメモリ９も、チャネルアダプタ群及びディスクアダプタ群が共有する記憶メモリである。キャッシュメモリ９は、主にストレージ装置４に入出力されるデータを一時的に記憶するために利用される。
ディスクアダプタ群は、複数のディスクアダプタ１０から構成される。ディスクアダプタ１０は、ＣＰＵ１００、ローカルメモリ（図中、ＬＭと表記）１０１及び通信インタフェース（図中、ＩＦと表記）１０２等を備える。ＣＰＵ１００は、通信インタフェース１０２を介して、ドライブ群Ｄとコントローラ群Ｃとの間で送受信されるデータ、ステージング要求及びデステージング要求の入出力制御を行う。なお、ステージング要求とは、物理デバイスＰＤＥＶへデータを書き込む要求をいい、デステージング要求とは、物理デバイスＰＤＥＶからデータを読み出す要求をいう。ローカルメモリ１０１は、データや要求を送受信するために必要な管理情報や制御情報が格納される。
マイクロプロセッサ１１は、ＣＰＵ１１０及びローカルメモリ（図中、ＬＭと表記）１１１を備える。ＣＰＵ１１０は、ストレージ装置４全体の制御を行い、データの入出力要求、ステージング要求、デステージング要求等の各種要求の制御、及びデータの入出力制御等を行う。ローカルメモリ１１１には、各種要求の制御やデータの入出力制御に必要な管理情報や制御情報が格納される。
また、それぞれのマイクロプロセッサ１１には、オーナー権が割当てられている。ここでオーナー権とは、任意のマイクロプロセッサ１１のみが任意の記憶領域にアクセスできる権利をいい、他のマイクロプロセッサ１１は、任意のマイクロプロセッサ１１がオーナー権をもつ記憶領域にそもそもアクセスすることはできず、任意のマイクロプロセッサ１１がオーナー権をもつ記憶領域の制御情報にもアクセスすることはできない。従って、任意のマイクロプロセッサが任意の記憶領域にアクセスするたびに他のマイクロプロセッサのアクセスを排他するロックとは異なる。記憶領域には、デバイスやデバイスグループ等の異なる記憶容量をもつ記憶領域が含まれる。本実施の形態におけるデバイスには、物理デバイスと論理デバイスとがある。
さらに、それぞれのマイクロプロセッサ１１は、共有メモリ８とは独立した構成である。オーナー権が割当てられたマイクロプロセッサのみが任意の論理デバイスの情報を取得できるため、任意の論理デバイスの情報を共有メモリ８からローカルメモリ１１１に一度取り込んでしまえば、共有メモリ８にアクセスする必要がなくなる。
制御端末５は、ストレージ装置４の管理のために操作されるコンピュータ装置である。制御端末５は、ストレージ装置４に関する管理情報や制御情報を、管理画面Ｓを介して設定することができる。
【００１５】
（２）物理デバイスの論理的な構成
本実施の形態によるストレージシステム１では、図２に示すように、ドライブ群Ｄには複数の物理デバイスＰＤＥＶが設けられている。複数の物理デバイスＰＤＥＶのうち、数台の物理デバイスＰＤＥＶごとに１つの物理デバイスグループＰＤＥＶ−Ｇ（ＲＡＩＤグループ）を構成する。そしてこの１つの物理デバイスグループＰＤＥＶ−Ｇが提供する記憶領域上に、１又は複数の論理デバイス（図中、ＬＤＥＶと表記）が定義される。そして論理デバイスＬＤＥＶには、固有の識別子ＬＵＮ（Logical Block Number）が割り当てられる。データの入出力は、この識別子と、論理デバイスＬＤＥＶ内を論理的に分割したブロックに割り当てられる固有の番号ＬＢＡ（Logical Block Addressing）とを組み合わせたアドレスを指定して行われる。
【００１６】
（３）各メモリに格納される内容
それでは次に、各メモリ内に格納される内容について説明する。
（３−１）チャネルアダプタのローカルメモリに格納される内容
チャネルアダプタ６のローカルメモリ６１には、図３に示すように、論理デバイス−マイクロプロセッサ関連テーブル６１０が格納されている。論理デバイス−マイクロプロセッサ関連テーブル６１０は、論理デバイスＬＤＥＶとこの論理デバイスＬＤＥＶにオーナー権が割当てられたマイクロプロセッサ１１との関連性を示したテーブルである。論理デバイス−マイクロプロセッサ関連テーブル６１０は、論理デバイス番号を示す「ＬＤＥＶ＃」欄６１１、及び、オーナー権が割当てられたマイクロプロセッサ番号を示す「ＭＰＰＫ＃」欄６１２、から構成される。
チャネルアダプタ６は、ある論理デバイスＬＤＥＶに格納されるデータの入出力要求をホスト装置２から受信すると、この論理デバイス−マイクロプロセッサ関連テーブル６１０を参照して、オーナー権が割当てられているマイクロプロセッサ１１に入出力要求を送信する。
【００１７】
（３−２）マイクロプロセッサのローカルメモリに格納される内容
マイクロプロセッサ１１のローカルメモリ１１１には、図４に示すように、そのマイクロプロセッサ１１がオーナー権をもつ論理デバイスや物理デバイスの情報が格納されている。具体的には、マイクロプロセッサ１１のローカルメモリ１１１には、論理デバイスの稼働率テーブル１２、物理デバイスグループの稼働率テーブル１３、論理デバイスグループの稼働率テーブル１４、要求バッファ１５、論理デバイスのオーナー権ビットマップ１６、論理デバイスの暫定オーナー権ビットマップ１７、物理デバイスグループのオーナー権ビットマップ１８、及び、物理デバイスグループの暫定オーナー権ビットマップ１９が格納されている。
【００１８】
論理デバイスの稼働率テーブル１２は、ホスト装置２又はストレージ装置４からの要求を処理する論理デバイスの稼動状況を管理するためのテーブルである。本実施の形態の論理デバイスの稼働率テーブル１２では、論理デバイスＬＤＥＶがホスト装置２からのデータの入出力要求を処理するための稼働状況をいうが、この要求には限られず、ホスト装置２又はストレージ装置４が論理デバイスＬＤＥＶに対して行う要求であればよい。論理デバイスの稼働率テーブル１２は、マイクロプロセッサ１１にオーナー権が割当てられている論理デバイス番号を示す「ＬＤＥＶ＃」欄１２０、及び、論理デバイスの「稼働率」欄１２１から構成される。
「稼働率」欄１２１は、マイクロプロセッサ１１がホスト装置２から論理デバイスＬＤＥＶに対して発行された要求を１秒間に処理するためにどのくらいの時間割合を要しているかが算出され、その算出された合計値を稼働率として示している。例えば、マイクロプロセッサ１１がホスト装置２から任意の論理デバイスＬＤＥＶに対して発行された要求を処理するのに、１秒間に０．１秒を要したとすると、稼働率は２０％ということになる。また、マイクロプロセッサ１１が、１秒間に、論理デバイスＬＤＥＶ＃１に対して処理するために０．１秒を要し、その後０．３秒を要したとすると、１秒間に合計０．４秒を要したことになるので、稼働率は４０％ということになる。
【００１９】
物理デバイスグループの稼働率テーブル１３は、ホスト装置２又はストレージ装置４からの要求を処理する物理デバイスグループＰＤＥＶ−Ｇの稼働状況を管理するためのテーブルである。本実施の形態の物理デバイスグループの稼働率テーブル１３では、物理デバイスグループＰＤＥＶ−Ｇがディスクアダプタ１０からのステージング要求又はデステージング要求を処理するための稼働状況をいうが、この要求には限られず、ホスト装置２又はストレージ装置４が物理デバイスグループＰＤＥＶ−Ｇに対して行う要求であればよい。
物理デバイスグループの稼働率テーブル１３は、マイクロプロセッサ１１にオーナー権が割当てられている物理デバイスグループ番号を示す「ＰＤＥＶ−Ｇ＃」欄１３０、及び、物理デバイスグループＰＤＥＶ−Ｇに所属する「論理デバイスごとの稼働率」欄１３１、から構成される。そして、「論理デバイスごとの稼働率」欄１３１は、物理デバイスグループＰＤＥＶ−Ｇに所属する論理デバイス番号を示す「ＬＤＥＶ＃」欄１３２、及び、論理デバイスの「稼働率」欄１３３から構成される。「稼働率」欄１３３は、物理デバイスグループＰＤＥＶ−Ｇのオーナー権をもつマイクロプロセッサ１１がディスクアダプタ１０から物理デバイスグループＰＤＥＶ−Ｇに所属する論理デバイスＬＤＥＶに対して発行されたステージング要求又はデステージング要求を処理するために、１秒間にどのくらいの時間割合を要しているかが算出され、その算出された合計値を稼働率として示している。
【００２０】
論理デバイスグループの稼働率テーブル１４は、ホスト装置２又はストレージ装置４からの要求を処理する論理デバイスグループＬＤＥＶ−Ｇの稼働状況を管理するためのテーブルである。本実施の形態の論理デバイスグループの稼働率テーブル１４では、論理デバイスグループＬＤＥＶ−Ｇがホスト装置２又はストレージ装置４からのコピー要求を処理するための稼働状況をいうが、この要求には限られず、ホスト装置２又はストレージ装置４が論理デバイスグループＬＤＥＶ−Ｇに対して行う要求であればよい。
論理デバイスグループの稼働率テーブル１４は、マイクロプロセッサ１１にオーナー権が割当てられている論理デバイスグループ番号を示す「ＬＤＥＶ−Ｇ＃」欄１４０、論理デバイスグループに所属する論理デバイス番号を示す「ＬＤＥＶ＃」欄１４１、及び、論理デバイスグループの「稼働率」欄１４２、から構成される。「稼働率」欄１４２は、マイクロプロセッサ１１が、ホスト装置２又はストレージ装置４からの論理デバイスグループＬＤＥＶ−Ｇに対して発行されたコピー要求を１秒間に処理するために、どのくらいの時間割合を要しているかが算出され、その算出された合計値を稼働率として示している。
【００２１】
要求バッファ１５は、ホスト装置２又はストレージ装置４からの要求を一時的に格納しておくための記憶領域である。本実施の形態では、要求を受信した順に要求種別ごとにバッファに格納しておくが、この形態には限られない。
【００２２】
論理デバイスのオーナー権ビットマップ１６は、マイクロプロセッサ１１が任意の論理デバイスＬＤＥＶに対してオーナー権を有しているか否かの情報を格納する。このビットマップには、ストレージ装置４が有する全ての論理デバイスＬＤＥＶが登録されており、全ての論理デバイス番号に対応してオーナー権の有無を示したビットが立つように管理されている。本実施の形態では、そのマイクロプロセッサ１１がオーナー権を有する論理デバイスＬＤＥＶには「１」のビットが立ち、オーナー権を有しない論理デバイスＬＤＥＶには「０」のビットが立つように設定されている。
例えば、図４に示す論理デバイスのオーナー権ビットマップ１６では、このマイクロプロセッサ１１がオーナー権を有する論理デバイス番号は、「０」、「１」、「３」、及び「５」であることが示されている。
【００２３】
論理デバイスの暫定オーナー権ビットマップ１７は、マイクロプロセッサ１１が任意の論理デバイスＬＤＥＶに対して暫定的にオーナー権を有しているか否かの情報を格納するものである。ビットマップには、ストレージ装置４が有する論理デバイスＬＤＥＶが登録されており、論理デバイス番号に対応して暫定的にオーナー権を有しているか否かが示されたビットが立つように管理されている。暫定的にオーナー権を有しているとは、そのマイクロプロセッサ１１にオーナー権が正式に割当てられている論理デバイスだけではなく、現在オーナー権を移行している論理デバイスも含まれる。本実施の形態では、マイクロプロセッサ１１が暫定的にオーナー権を有する論理デバイスＬＤＥＶには「１」のビットが立ち、暫定的にオーナー権を有しない論理デバイスＬＤＥＶには「０」のビットが立つように設定されている。
例えば、図４に示す論理デバイスの暫定オーナー権ビットマップ１７では、このマイクロプロセッサ１１が暫定的にオーナー権を有する論理デバイス番号は、「０」、「１」、「３」、「４」及び「５」であることが示されている。特に、論理デバイス番号「４」は、論理デバイスのオーナー権ビットマップ１６上のビットが「０」であり、論理デバイスの暫定オーナー権ビットマップ１７上のビットが「１」であることから、現在このマイクロプロセッサ１１にオーナー権が移行されている状態にあることを示している。
【００２４】
物理デバイスグループのオーナー権ビットマップ１８は、マイクロプロセッサ１１が任意の物理デバイスグループＰＤＥＶ−Ｇに対してオーナー権を有しているか否かの情報を格納する。このビットマップには、ストレージ装置４が有する全ての物理デバイスグループＰＤＥＶ−Ｇが登録されており、全ての物理デバイスグループ番号に対応してオーナー権の有無を示したビットが立つように管理されている。本実施の形態では、そのマイクロプロセッサ１１がオーナー権を有する物理デバイスグループＰＤＥＶ−Ｇには「１」のビットが立ち、オーナー権を有しない物理デバイスグループＰＤＥＶ−Ｇには「０」のビットが立つように設定されている。
例えば、図４に示す物理デバイスグループのオーナー権ビットマップ１８では、このマイクロプロセッサ１１がオーナー権を有する物理デバイスグループ番号は、「０」であることが示されている。
【００２５】
物理デバイスグループの暫定オーナー権ビットマップ１９は、マイクロプロセッサ１１が任意の物理デバイスグループＰＤＥＶ−Ｇに対して暫定的にオーナー権を有しているか否かの情報を格納するものである。ビットマップには、ストレージ装置４が有する物理デバイスグループＰＤＥＶ−Ｇが登録されており、物理デバイスグループ番号に対応して暫定的にオーナー権を有しているか否かが示されたビットが立つように管理されている。暫定的にオーナー権を有しているとは、そのマイクロプロセッサ１１にオーナー権が正式に割当てられている物理デバイスグループＰＤＥＶ−Ｇだけではなく、オーナー権を移行している物理デバイスグループＰＤＥＶ−Ｇも含まれる。本実施の形態では、マイクロプロセッサ１１が暫定的にオーナー権を有する物理デバイスグループＰＤＥＶ−Ｇには「１」のビットが立ち、暫定的にオーナー権を有しない物理デバイスグループＰＤＥＶ−Ｇには「０」のビットが立つように設定されている。
例えば、図４に示す物理デバイスグループの暫定オーナー権ビットマップ１９では、このマイクロプロセッサ１１が暫定的にオーナー権を有する物理デバイスグループＰＤＥＶ−Ｇは、「０」及び「４」であることが示されている。特に、物理デバイスグループ番号「４」は、物理デバイスグループのオーナー権ビットマップ１８上のビットが「０」であり、物理デバイスグループの暫定オーナー権ビットマップ１９上のビットが「１」であることから、現在このマイクロプロセッサ１１にオーナー権が移行されている状態にあることを示している。
【００２６】
ここで、論理デバイスの稼働率テーブル１２、物理デバイスグループの稼働率テーブル１３、及び、論理デバイスグループの稼働率テーブル１４での稼働率を求めるため稼働率取得処理のフローチャートを図５に示す。稼働率取得処理は、マイクロプロセッサ１１のＣＰＵ１１０が稼働率取得プログラム（図示せず）に基づいて実行する。
まずマイクロプロセッサ１１のＣＰＵ１１０は、１秒間ごとに稼働率取得処理を開始する。次に、マイクロプロセッサ１１のＣＰＵ１１０は、その要求に従って処理Ａを実行すると（Ｓ１）、処理Ａに要した１秒間当たりの時間割合の合計値を算出する（Ｓ２）。その後、マイクロプロセッサ１１のＣＰＵ１１０は、この合計値を処理Ａに対する稼働率として、該当するテーブルの「稼働率」欄に登録すると（Ｓ３）、稼働率取得処理を終了する。なお、本実施の形態において、処理Ａは、データの入出力要求、ステージング要求、デステージング要求、又はコピー要求を示す。
本実施の形態によるストレージ装置４は、各稼働率テーブル１２から１４をローカルメモリ内に設定する。ストレージ装置４は、ドライブ群Ｄ内で形成される記憶領域を異なる記憶容量ごとにグループ分けし、異なる記憶容量でグループ分けをした記憶領域ごとにオーナー権を割当てている。
【００２７】
（３−３）共有メモリに格納される内容
共有メモリ８には、図６に示すように、論理デバイスＬＤＥＶの管理情報並びに制御情報、及び、物理デバイスＰＤＥＶの管理情報並びに制御情報が格納されている。具体的には、共有メモリ８には、論理デバイスの制御情報テーブル２０、物理デバイスグループの制御情報テーブル２１、マイクロプロセッサ稼働率の管理テーブル２２、論理デバイスのオーナー権管理テーブル２３、物理デバイスグループのオーナー権管理テーブル２４、論理デバイスグループの管理テーブル２５、オーナー権移行ロックテーブル２６、未割当て論理デバイスのビットマップ２７、及び、未割当て物理デバイスグループのビットマップ２８が格納されている。
【００２８】
論理デバイスの制御情報テーブル２０には、各論理デバイスＬＤＥＶの制御情報が格納されている。例えば、論理デバイスＬＤＥＶ内のデータを一時的に格納するキャッシュメモリ９上のアドレス等、論理デバイスＬＤＥＶを制御するために必要な情報が制御情報に含まれている。オーナー権が割当てられているマイクロプロセッサ１１が、担当する論理デバイスＬＤＥＶの制御情報にアクセスできる。
【００２９】
物理デバイスグループの制御情報テーブル２１には、各物理デバイスグループＰＤＥＶ−Ｇの制御情報が格納されている。例えば、データが実際に格納されている物理ドライブＰＤＥＶ上のアドレス等、物理デバイスグループＰＤＥＶ−Ｇを制御するために必要な情報が制御情報に含まれている。オーナー権が割当てられているマイクロプロセッサ１１が、担当する物理デバイスグループＰＤＥＶ−Ｇの制御情報にアクセスできる。
【００３０】
マイクロプロセッサ稼働率の管理テーブル２２は、マイクロプロセッサ１１ごとの稼働率が格納されており、最新の稼働率を確保するために１秒間ごとに稼働率がリセットされ、新たに算出される稼働率が格納される。マイクロプロセッサ稼働率の管理テーブル２２は、マイクロプロセッサ番号を示す「ＭＰＰＫ＃」欄２２０、及び、そのマイクロプロセッサ１１での合計稼働率を示す「稼働率」欄２２１、から構成される。
【００３１】
ここで、「稼働率」欄２２１に格納される合計稼働率の取得処理について図７のフローチャートを用いて説明する。マイクロプロセッサ１１ごとの稼働率取得処理は、各マイクロプロセッサ１１のＣＰＵ１１０が稼働率取得プログラム（図示せず）に基づいて実行する。
まず、マイクロプロセッサ１１のＣＰＵ１１０は、処理実行時刻と現在時刻との差が１秒以上経過しているか否かを判断し（Ｓ１１）、１秒以上経過している場合には（Ｓ１１：ＹＥＳ）、ローカルメモリ１１１上にある各稼働率テーブル１２から１４に登録される稼働率の総和を算出する（Ｓ１２）。
例えば、図４を例に挙げると、論理デバイスの稼働率テーブル１２の各論理デバイスＬＤＥＶの稼働率は、１５％と２０％であるので、論理デバイスの稼働率テーブル１２の総稼働率は、３５％ということになる。同様に、物理デバイスグループＰＤＥＶ−Ｇの総稼働率は２２％、論理デバイスグループの総稼働率は５％である。従って、図４に示すマイクロプロセッサ１１の総稼働率は、３５％、２２％及び５％の総和ということになるので、６２％となる。
マイクロプロセッサ１１のＣＰＵ１１０は、こうして算出した総稼働率をマイクロプロセッサ稼働率の管理テーブル２２に登録すると（Ｓ１３）、各稼働率テーブル１２から１４の稼働率をゼロに設定する（Ｓ１４）。その後、マイクロプロセッサ１１のＣＰＵ１１０は、現在時刻を処理実行時刻として設定すると（Ｓ１５）、再びステップＳ１１の処理を実行することになる。なお、マイクロプロセッサ１１のＣＰＵ１１０は、ステップＳ１１において、１秒以上経過していない場合には（Ｓ１１：ＮＯ）、１秒以上経過するまでステップＳ１２の処理を実行することはない。
本実施の形態において、マイクロプロセッサ１１のＣＰＵ１１０が１秒ごとに稼働率取得処理を実行するように設定されているが、最新の稼働率情報を取得できる時間間隔であればよい。
【００３２】
論理デバイスのオーナー権管理テーブル２３は、任意の論理デバイスＬＤＥＶに対してオーナー権が割当てられているマイクロプロセッサ１１を管理するためのテーブルである。論理デバイスのオーナー権管理テーブル２３は、論理デバイス番号を示す「ＬＤＥＶ＃」欄２３０、その論理デバイスに対してオーナー権が割当てられているマイクロプロセッサ番号を示す「オーナー権ＭＰＰＫ＃」欄２３１、及び、その論理デバイスに対して暫定的にオーナー権が割当てられているマイクロプロセッサ番号を示す「暫定オーナー権ＭＰＰＫ＃」欄２３２から構成される。
例えば、図６に示す論理デバイスのオーナー権管理テーブル２３において、論理デバイス「１」は、現在マイクロプロセッサ１１「０」にオーナー権が割当てられているが、このオーナー権をマイクロプロセッサ１１「１」に移行する場合には、「暫定オーナー権ＭＰＰＫ＃」欄２３２の「０」が「１」に変更される。そして、オーナー権が完全に移行されると、「オーナー権ＭＰＰＫ＃」欄２３１の「０」が「１」に変更される。
【００３３】
物理デバイスグループのオーナー権管理テーブル２４は、任意の物理デバイスグループＰＤＥＶ−Ｇに対してオーナー権が割当てられているマイクロプロセッサ１１を管理するためのテーブルである。物理デバイスグループのオーナー権管理テーブル２４は、物理デバイスグループ番号を示す「ＰＤＥＶ−Ｇ＃」欄２４０、その物理デバイスグループＰＤＥＶ−Ｇに対してオーナー権が割当てられているマイクロプロセッサ番号を示す「オーナー権ＭＰＰＫ＃」欄２４１、及び、その物理デバイスグループＰＤＥＶ−Ｇに対して暫定的にオーナー権が割当てられているマイクロプロセッサ番号を示す「暫定オーナー権ＭＰＰＫ＃」欄２４２から構成される。
例えば、論理デバイスのオーナー権管理テーブル２３と同様に、図６に示す物理デバイスグループのオーナー権管理テーブル２４において、物理デバイスグループ「０」のオーナー権をマイクロプロセッサ「１」に移行する場合には、「暫定オーナー権ＭＰＰＫ＃」欄２４２の「０」が「１」に変更される。そして、オーナー権が完全に移行されると、「オーナー権ＭＰＰＫ＃」欄２４１の「０」が「１」に変更される。
【００３４】
論理デバイスグループの管理テーブル２５は、論理デバイスグループＬＤＥＶ−Ｇに所属する論理デバイスＬＤＥＶを管理するためのテーブルである。論理デバイスグループの管理テーブル２５は、論理デバイスグループ番号を示す「ＬＤＥＶ−Ｇ＃」欄２５０、及び、その論理デバイスグループに所属する論理デバイス番号を示す「所属ＬＤＥＶ＃」欄２５１から構成される。「所属ＬＤＥＶ＃」欄２５１には、コピー元の論理デバイス番号とコピー先の論理デバイス番号とが格納される。
【００３５】
オーナー権移行ロックテーブル２６には、現在オーナー権を移行している移行元のマイクロプロセッサ番号が登録される。このテーブルに所定のマイクロプロセッサ１１を登録すると、この登録したマイクロプロセッサ１１を除く他のマイクロプロセッサ１１は、オーナー権を移行することができない。
【００３６】
未割当て論理デバイスのビットマップ２７には、任意の論理デバイスＬＤＥＶに対して、マイクロプロセッサ１１にオーナー権が割り当てられているか否かの情報が格納される。オーナー権が割り当てられていないとは、ストレージ装置４内に論理デバイスＬＤＥＶは形成されているが、その論理デバイスＬＤＥＶに対して、いずれのマイクロプロセッサ１１にもオーナー権が付与されていない状態をいう。ビットマップには、ストレージ装置４が有する全ての論理デバイスＬＤＥＶが登録されており、その論理デバイス番号に対してオーナー権が割り当てられているか否かが示されたビットが立つように管理されている。本実施の形態では、その論理デバイスＬＤＥＶに対してオーナー権が割り当てられていない場合には「１」のビットが立ち、割り当てられている場合には「０」のビットが立つように設定されている。
例えば、図６に示す未割当て論理デバイスのビットマップ２７では、未割当て論理デバイス２」及び「４」が未割り当てであることが示されている。
【００３７】
未割当て物理デバイスグループのビットマップ２８には、任意の物理デバイスグループＰＤＥＶ−Ｇに対して、マイクロプロセッサ１１にオーナー権が割り当てられているか否かの情報が格納される。オーナー権が割り当てられていないとは、ストレージ装置４に物理デバイスグループＰＤＥＶ−Ｇが形成されているが、その物理デバイスグループＰＤＥＶ−Ｇに対して、いずれのマイクロプロセッサ１１にもオーナー権が付与されていない状態をいう。ビットマップには、ストレージ装置４が有する全ての物理デバイスグループＰＤＥＶ−Ｇが登録されており、その物理デバイスグループ番号に対してオーナー権が割り当てられているか否かが示されたビットが立つように管理されている。本実施の形態では、その物理デバイスグループＰＤＥＶ−Ｇに対してオーナー権が割り当てられていない場合には「１」のビットが立ち、割り当てられている場合には「０」のビットが立つように設定されている。
例えば、図６に示す未割当て物理デバイスグループのビットマップ２８では、未割当て物理デバイスグループ「３」が未割り当てであることが示されている。
【００３８】
（４）オーナー権の移行処理
本実施の形態では、１つのマイクロプロセッサ１１にオーナー権が割当てられているデバイス及びデバイスグループの関連性を考慮しつつ、マイクロプロセッサ１１は、自マイクロプロセッサ１１の負荷を分散するためのオーナー権の移行処理を実行する。オーナー権の移行処理は、マイクロプロセッサ１１が主体となって実行する場合と、ユーザの指示に基づいてマイクロプロセッサ１１が実行する場合と、がある。
【００３９】
（４Ａ）マイクロプロセッサの移行処理
まず、マイクロプロセッサ１１が主体となって実行する場合について、図８のフローチャートを用いて説明する。オーナー権の移行処理は、マイクロプロセッサ１１がオーナー権移行プログラム（図示せず）に基づいて、定期的に実行する。
具体的には、オーナー権を移行する移行元のマイクロプロセッサ１１のＣＰＵ（以下、単に移行元ＣＰＵという）１１０は、オーナー権移行ロックテーブル２６に自マイクロプロセッサ番号を登録してオーナー権の移行をロックする（Ｓ２１）。すなわち、他のマイクロプロセッサ１１がオーナー権を移行することを禁止させる。
次に、移行元ＣＰＵ１１０は、オーナー権移行判定処理を実行し、オーナー権を移行する移行単位と、オーナー権を移行する移行先のマイクロプロセッサ１１を決定する（Ｓ２２）。オーナー権移行判定処理の具体的な処理手順は、後述する。
【００４０】
ここで移行単位とは、移行元のマイクロプロセッサ１１に割当てられるオーナー権を移行先のマイクロプロセッサ１１に移行する記憶領域の単位をいい、移行元のマイクロプロセッサ１１の負荷を分散するために用いられる。本実施の形態では図９に示すように、ストレージ装置４が自ら決定できる移行単位には、論理デバイス（図中、ＬＤＥＶと表記）単位、物理デバイスグループセット（図中ＰＤＥＶ−Ｇセットと表記、以下単に物理セットという）単位、論理デバイスグループセット（図中、ＬＤＥＶ−Ｇセットと表記、以下単に論理セットという）単位、のいずれかの単位がある。
論理デバイス単位とは、論理デバイスＬＤＥＶに対して割当てられているオーナー権を移行する単位をいう。
物理セット単位とは、物理デバイスグループＰＤＥＶ−Ｇに対して割当てられているオーナー権及び物理デバイスグループＰＤＥＶ−Ｇに所属する論理デバイスに対して割当てられているオーナー権を移行する単位をいう。
論理セット単位とは、論理デバイス単位、論理デバイスグループＬＤＥＶ−Ｇのコピー元の論理デバイスＬＤＥＶが所属する物理セット単位、及び、論理デバイスグループＬＤＥＶ−Ｇのコピー元の論理デバイスＬＤＥＶが所属する物理セット単位をいう。
【００４１】
図８に戻り、移行元のＣＰＵ１１０は、オーナー権を移行する移行単位があるか否かをステップＳ２２の結果から判断し（Ｓ２３）、移行単位がない場合には（Ｓ２３：ＮＯ）、後述するステップＳ３７の処理を実行する。
一方、移行元のＣＰＵ１１０は、オーナー権を移行する移行単位があると判断した場合には（Ｓ２３：ＹＥＳ）、ステップＳ２２で決定した移行先のマイクロプロセッサ１１に、暫定オーナー権移行要求を発行して、移行単位に所属する移行対象の番号を通知する（Ｓ２４）。本実施の形態において、ストレージ装置４が移行する移行対象の番号には、論理デバイス番号、論理デバイスグループ番号、物理デバイスグループ番号、を挙げるが、物理デバイス番号等、１つのマイクロプロセッサ１１が管理する記憶領域の単位番号であれば、これらの番号には限られない。
移行先のマイクロプロセッサ１１のＣＰＵ（以下、単に移行先のＣＰＵという）１１０は、暫定オーナー権移行要求を受信すると、暫定オーナー権の設定処理を実行し、通知された論理デバイス番号等に該当する、論理デバイスの暫定オーナー権ビットマップ１７、及び／又は、物理デバイスグループの暫定オーナー権ビットマップ１９のビットを立てる（Ｓ２５）。暫定オーナー権の設定処理は後述する。その後、移行先のＣＰＵは、暫定オーナー権の設定処理を終了した旨の応答を移行先のマイクロプロセッサ１１に通知する（Ｓ２６）。
移行元のＣＰＵ１１０は、オーナー権を移行する対象として、チャネルアダプタ群で管理する論理デバイスがあるか否かを、ステップＳ２２の結果及び論理デバイスの稼働率テーブル１２から判断し（Ｓ２７）、チャネルアダプタ群で管理する論理デバイスがないと判断すると（Ｓ２７：ＮＯ）、後述するステップＳ３１の処理を実行する。本実施の形態では、チャネルアダプタ群は、ホスト装置２から入出力要求が発行される論理デバイスを管理する。
一方、移行元のＣＰＵ１１０は、入出力要求の対象となる論理デバイスがあると判断すると（Ｓ２７：ＹＥＳ）、チャネルアダプタ群に、論理デバイスに対するオーナー権を変更する旨の通知をする（Ｓ２８）。
チャネルアダプタ群のＣＰＵ６０は、オーナー権を変更する論理デバイス番号と、移行先のマイクロプロセッサ番号と、を受信するので、論理デバイス−マイクロプロセッサ関連テーブル６１０を変更する。具体的には、チャネルアダプタ群のＣＰＵ６０は、変更対象の論理デバイス番号に対応付けられたマイクロプロセッサ番号を移行先のマイクロプロセッサ番号に変更する（Ｓ２９）。そうしてチャネルアダプタ群のＣＰＵ６０は、移行元のマイクロプロセッサ１１に変更した旨の応答をする（Ｓ３０）。
その後、移行元のＣＰＵ１１０は、暫定オーナー権の移行処理を実行し、ステップＳ２２で決定された移行対象の番号を、論理デバイスのオーナー権管理テーブル２３の「暫定オーナー権ＭＰＰＫ＃」欄２３２、及び／又は、物理デバイスグループのオーナー権管理テーブル２４の「暫定オーナー権ＭＰＰＫ＃」欄２４２に登録する（Ｓ３１）。暫定オーナー権の移行処理は後述する。
そして移行元のＣＰＵ１１０は、残処理を実行して、要求バッファ１５内に残っている各種要求を処理する（Ｓ３２）。残処理は後述する。残りの要求の処理を終了すると、移行元のＣＰＵ１１０は、オーナー権の移行実行処理を実行する（Ｓ３３）。すなわち、移行元のＣＰＵ１１０は、論理デバイスのオーナー権ビットマップ１６、及び／又は、物理デバイスグループのオーナー権ビットマップ１８の該当するビット箇所を「１」から「０」に変更し、論理デバイスの暫定オーナー権ビットマップ１７、及び／又は、物理デバイスグループの暫定オーナー権ビットマップ１９の該当するビット箇所を「１」から「０」に変更する。加えて、移行先のＣＰＵ１１０は、論理デバイスのオーナー権管理テーブル２３の「オーナー権ＭＰＰＫ＃」欄２３１、及び／又は、物理デバイスグループのオーナー権管理テーブル２４の「オーナー権ＭＰＰＫ＃」欄２４１に移行先のマイクロプロセッサ番号を登録する。こうして、移行元のＣＰＵ１１０は、オーナー権を移行先のマイクロプロセッサ１１に全て移行すると、オーナー権の移行完了通知を移行先のマイクロプロセッサ１１に通知する（Ｓ３４）。
移行先のＣＰＵ１１０は、オーナー権の設定処理を実行し、論理デバイスのオーナー権ビットマップ１６及び物理デバイスグループのオーナー権ビットマップ１８の該当するビット箇所を「０」から「１」に変更する（Ｓ３５）。オーナー権の設定処理は後述する。そうして移行先のＣＰＵ１１０は、オーナー権の設定通知を移行元のＣＰＵ１１０に送信する（Ｓ３６）。
移行元のＣＰＵ１１０は、オーナー権の設定通知を移行先のＣＰＵ１１０から受信すると、オーナー権移行ロックテーブル２６に登録された自マイクロプロセッサ番号を削除して、オーナー権の移行をアンロックして（Ｓ３７）、移行処理を終了する。
移行元のＣＰＵ１１０が、チャネルアダプタ群に論理デバイスのオーナー権の変更通知をした時点から移行先のＣＰＵ１１０にオーナー権の移行完了通知を行った時点まで（図中、Ａで表記）は、移行先のマイクロプロセッサ１１が暫定的にオーナー権を確保している状態なので、移行先のマイクロプロセッサ１１に発行される要求は、要求バッファ１５に蓄え続けられる。そして、移行先のＣＰＵ１１０が、オーナー権の設定処理を実行して、移行先のマイクロプロセッサ１１にオーナー権が正式に割当てられた時点から（図中、Ｂで表記）、移行先のＣＰＵ１１０は、要求バッファ１５に蓄えられた各種要求を実行する。具体的に移行先のマイクロプロセッサ１１が要求バッファ１５の処理を実行する手順は、後述する。
【００４２】
（４Ａ−１）オーナー権の移行判定処理
それでは、オーナー権の移行処理中に実行される各種処理の詳細について説明する。まず、ステップＳ２２のオーナー権の移行判定処理について、図１０に示すフローチャートを用いて説明する。オーナー権の移行判定処理は、移行元のマイクロプロセッサ１１がオーナー権移行プログラム（図示せず）に基づいて、実行する。
移行元のＣＰＵ１１０が、他のマイクロプロセッサ１１によるオーナー権の移行をロックすると、オーナー権の移行判定処理が開始する。次に、移行元のＣＰＵ１１０は、移行単位を指定せずに移行対象の番号を指定したか否かを判断し（Ｓ４１）、移行単位でオーナー権の移行を指定した場合には（Ｓ４１：ＮＯ）、マイクロプロセッサ稼働率の管理テーブル２２を参照して、全てのマイクロプロセッサ１１の稼働率を取得する（Ｓ４２）。そして、移行元のＣＰＵ１１０は、取得した全てのマイクロプロセッサ１１の稼働率の中から最も稼働率の低いマイクロプロセッサ１１を移行先のマイクロプロセッサ１１に決定する（Ｓ４３）。移行元のＣＰＵ１１０は、移行元のマイクロプロセッサ１１の稼働率が、マイクロプロセッサ１１の平均稼働率に所定値αを加味した稼働率を上回っているか否かを判断する（Ｓ４４）。ここでマイクロプロセッサ１１の平均稼働率とは、マイクロプロセッサ稼働率の管理テーブル２２に登録される全てのマイクロプロセッサ１１の稼働率の平均値をいう。
そして、移行元のマイクロプロセッサ１１の稼働率が、平均のマイクロプロセッサ１１の稼働率に任意値を加えた稼働率を上回っている場合に（Ｓ４４：ＹＥＳ）、移行元のＣＰＵ１１０は、移行対象として、どの移行単位で移行するかの移行単位の決定処理を実行する（Ｓ４５）。すなわち、移行元のＣＰＵ１１０は、論理デバイス単位、物理セット単位、又は、論理セット単位のいずれの単位を移行単位とするか、いずれの単位も移行単位とはしないか、を決定する。
移行元のＣＰＵ１１０は、移行対象となる移行単位があるか否かを判断し（Ｓ４６）、オーナー権を移行単位で移行する場合には（Ｓ４６：ＹＥＳ）、その移行単位に所属する移行対象番号、及び、移行先のマイクロプロセッサ番号を出力して（Ｓ４７）、オーナー権の移行判定処理を終了する。
一方、移行元のマイクロプロセッサ１１の稼働率が、平均のマイクロプロセッサ１１の稼働率に任意値を加えた稼働率を下回っている場合に（Ｓ４４：ＮＯ）、又は、オーナー権を移行する移行単位がない場合には（Ｓ４６：ＮＯ）、移行元のＣＰＵ１１０は、移行単位でのオーナー権の移行なしを出力して（Ｓ４８）、オーナー権の移行判定処理を終了する。
ステップＳ４１において、移行単位を指定せずにユーザ指定によって移行対象の番号が指定された場合には（Ｓ４１：ＹＥＳ）、移行元のＣＰＵ１１０は、指定された移行対象の番号をオーナー権の移行対象として設定する（Ｓ４９）。例えば移行対象の番号として、論理デバイス番号又は物理デバイスグループ番号がユーザによって指定される。さらに、移行元のＣＰＵ１１０は、ユーザが指定したマイクロプロセッサ１１を移行先のマイクロプロセッサ１１として設定する（Ｓ５０）。そうして、移行元のＣＰＵ１１０は、設定した移行対象の番号及び移行先のマイクロプロセッサ番号を出力して（Ｓ５１）、オーナー権の移行判定処理を終了する。
【００４３】
（４Ａ−２）移行単位の決定処理
引き続き、ステップＳ４５の移行単位の決定処理について説明する。移行単位の決定処理は、図１１に示すフローチャートを用いて説明する。
ステップＳ４３で、移行先のマイクロプロセッサ１１が決定しているので、移行元のＣＰＵ１１０は、この移行先のマイクロプロセッサ１１の稼働率とマイクロプロセッサ１１の平均稼働率とから、移行基準稼働率を算出する（Ｓ６１）。移行基準稼働率とは、移行元のマイクロプロセッサ１１の稼働率からどのくらいの稼働率を移行先のマイクロプロセッサ１１に移行すればいいかの基準となる稼働率の値である。具体的には、図１２に示すグラフＧを用いて説明する。この棒グラフＧは、マイクロプロセッサ１１ごとの稼働率を示しており、縦軸に稼働率、横軸にマイクロプロセッサ番号が示されている。例えば、移行元のＣＰＵ１１０が、移行先のマイクロプロセッサ１１として、マイクロプロセッサ１１「Ｎ」で決定したとすると、移行基準稼働率Ｍは、マイクロプロセッサ１１の平均稼働率から移行先のマイクロプロセッサ「Ｎ」の稼働率を引いた値となる。
次に、移行元のＣＰＵ１１０は、移行元のマイクロプロセッサ１１がオーナー権を確保している論理デバイスのみで形成されている論理デバイスグループがあるか否かを判断する（Ｓ６２）。移行元のＣＰＵ１１０は、論理デバイスグループの稼働率テーブル１４から、論理デバイスグループＬＤＥＶ−Ｇを形成する論理デバイス番号を取得する。そして、移行元のＣＰＵ１１０は、論理デバイスのオーナー権ビットマップ１６を参照して、取得した論理デバイス番号に対応する全ての箇所にビット「１」が立っているかどうかを確認する。
移行元のマイクロプロセッサ１１がオーナー権を確保している論理デバイスのみで形成されている論理デバイスグループＬＤＥＶ−Ｇがあると判断すると（Ｓ６２：ＹＥＳ）、論理セット単位でオーナー権を移行できる可能性があるので、移行元のＣＰＵ１１０は、論理セット単位でのオーナー権決定処理を実行する（Ｓ６３）。論理セット単位でのオーナー権決定処理については、後述する。
その後、移行元のＣＰＵ１１０は、論理セット単位でオーナー権を移行できる場合には（Ｓ６４：ＹＥＳ）、決定した論理セット単位に所属する移行対象の番号を出力して（Ｓ７１）、移行単位の決定処理を終了する。
一方、移行元のＣＰＵ１１０は、論理セット単位でオーナー権を移行できなかった場合には（Ｓ６４：ＮＯ）、物理デバイスグループＰＤＥＶ−Ｇに対して移行元のマイクロプロセッサ１１がオーナー権を有しているか否かを判断する（Ｓ６５）。移行元のＣＰＵ１１０は、物理デバイスグループの稼働率テーブル１３から、物理デバイスグループ番号を取得する。そして、移行元のＣＰＵ１１０は、物理デバイスグループのオーナー権ビットマップ１８を参照して、取得した物理デバイス番号に対応する全ての箇所にビット「１」が立っているかどうかを確認する。そうして、物理グループに対して移行元のマイクロプロセッサ１１がオーナー権を有している場合には（Ｓ６５：ＹＥＳ）、物理セット単位でオーナー権を移行できる可能性があるので、移行元のＣＰＵ１１０は、物理セット単位でのオーナー権決定処理を実行する（Ｓ６６）。物理セット単位でのオーナー権決定処理については、後述する。
その後、物理セット単位でオーナー権を移行できる場合には（Ｓ６７：ＹＥＳ）、移行元のＣＰＵ１１０は、決定した物理セット単位に所属する移行対象の番号を出力して（Ｓ７１）、移行単位の決定処理を終了する。
一方、ステップＳ６５において、移行元のマイクロプロセッサ１１が物理デバイスグループＰＤＥＶ−Ｇのオーナー権を有していない場合（Ｓ６５：ＮＯ）、又は、物理セット単位でオーナー権を移行できなかった場合には（Ｓ６７：ＮＯ）、移行元のＣＰＵ１１０は、論理デバイスに対して移行元のマイクロプロセッサ１１がオーナー権を有しているか否かを判断する（Ｓ６８）。移行元のＣＰＵ１１０は、論理デバイスの稼働率テーブル１２から、論理デバイス番号を取得する。そして、移行元のＣＰＵ１１０は、論理デバイスのオーナー権ビットマップ１６を参照して、取得した論理デバイス番号に対応する全ての箇所にビット「１」が立っているかどうかを確認する。
そうして論理デバイスに対して移行元のマイクロプロセッサ１１がオーナー権を有している場合には（Ｓ６８：ＹＥＳ）、論理デバイス単位でオーナー権を移行できる可能性があるので、移行元のＣＰＵ１１０は、論理デバイス単位でのオーナー権決定処理を実行する（Ｓ６９）。論理デバイス単位でのオーナー権決定処理については、後述する。
その後、移行元のＣＰＵ１１０は、論理デバイス単位でオーナー権を移行できる場合には（Ｓ７０：ＹＥＳ）、決定した論理セット単位に所属する移行対象の番号を出力して（Ｓ７１）、移行単位の決定処理を終了する。
なお、論理デバイスに対して移行元のマイクロプロセッサ１１がオーナー権を有していない場合（Ｓ６８：ＮＯ）、又は、論理デバイス単位でオーナー権を移行できない場合には（Ｓ７０：ＮＯ）、移行元のＣＰＵ１１０は移行単位でのオーナー権の移行なしを出力して（Ｓ７２）、移行単位の決定処理を終了する。
【００４４】
（４Ａ−２−１）論理セット単位でのオーナー権決定処理
引き続き、ステップＳ６３の論理セット単位でのオーナー権決定処理について、図１３のフローチャートを用いて説明する。
移行元のＣＰＵ１１０は、論理セット単位でオーナー権を移行できる可能性があると判断すると、論理セット単位でのオーナー権決定処理を開始する。
そして、移行元のＣＰＵ１１０は、移行元のマイクロプロセッサ１１がオーナー権を有する論理デバイスのみで形成される全ての論理セットの稼働率を算出する（Ｓ８１）。
図１４に、稼働率の算出方法を示す。
論理セットの稼働率は、論理デバイスグループＬＤＥＶ−Ｇの総稼働率に、論理デバイスグループＬＤＥＶ−Ｇに所属する物理セットの総稼働率、を加えた稼働率である。
論理デバイスグループＬＤＥＶ―Ｇの総稼働率は、論理デバイスグループの稼働率テーブル１４の「稼働率」欄１４２に登録されている全ての稼働率の総和である。
そして論理デバイスグループＬＤＥＶ−Ｇに所属する物理セットの総稼働率は、物理デバイスグループＰＤＥＶ−Ｇの総稼働率に、物理デバイスグループＰＤＥＶ−Ｇに所属する論理デバイスＬＤＥＶの総稼働率、を加えた稼働率である。
物理デバイスグループＰＤＥＶ−Ｇの総稼働率は、物理デバイスグループの稼働率テーブル１３の「稼働率」欄１３３に登録されている全ての稼働率の総和である。また、物理デバイスグループＰＤＥＶ−Ｇに所属する論理デバイスＬＤＥＶの稼働率は、論理デバイスの稼働率テーブル１２の「稼働率」欄１２１に登録され、かつ、物理デバイスグループＰＤＥＶ−Ｇに所属する論理デバイスＬＤＥＶの稼働率の総和である。
移行元のＣＰＵ１１０は、セットごとの論理セットの稼働率を算出すると、これらの稼働率のうち、ステップＳ６１で算出した移行基準稼働率に最も近い稼働率を特定する（Ｓ８２）。そして、移行元のＣＰＵ１１０は、特定した稼働率と移行基準稼働率との差の絶対値が閾値以下の値であるなら（Ｓ８３：ＹＥＳ）、特定した論理セットを移行対象に設定する（Ｓ８４）。ステップＳ８３での閾値は、特定した稼働率と移行基準稼働率と差が大きくならない程度の値を設定している。
その後、移行元のＣＰＵ１１０は、設定した論理セットに所属する移行対象の番号を出力する（Ｓ８５）。移行対象の番号は、設定した論理セットに所属する物理デバイスグループ番号及び論理デバイス番号である。そうして、移行元のＣＰＵ１１０は、この処理を終了する。
なお、移行元のＣＰＵ１１０は、特定した稼働率と移行基準稼働率との差の絶対値が閾値より大きな値であるなら（Ｓ８３：ＮＯ）、論理セット単位でのオーナー権の移行なしを出力して（Ｓ８６）、この処理を終了する。
このように、オーナー権決定処理では、移行基準稼働率に最も近い稼働率を特定するので、稼働率の高いマイクロプロセッサ１１は、平均稼働率付近まで負荷が軽減され、処理時間の遅延を回避できる。また、同一のマイクロプロセッサがオーナー権をもつ移行単位を移行対象として決定しているため、オーナー権を引き継いだ他のマイクロプロセッサ１１は移行元のマイクロプロセッサ１１と通信する必要がなく、引き継いだデバイスやデバイスグループの管理がし易い。
【００４５】
（４Ａ−２−２）物理セット単位でのオーナー権決定処理
引き続き、ステップＳ６６の物理セット単位でのオーナー権決定処理について、図１５のフローチャートを用いて説明する。
移行元のＣＰＵ１１０は、物理セット単位でオーナー権を移行できる可能性があると判断すると、物理セット単位でのオーナー権決定処理を開始する。
移行元のＣＰＵ１１０は、移行元のマイクロプロセッサ１１がオーナー権を有する全ての物理デバイスグループＰＤＥＶ−Ｇに所属する物理セットの稼働率を算出する（Ｓ９１）。物理セットの稼働率は、図１４に示すように、物理デバイスグループＰＤＥＶ−Ｇの総稼働率に、物理デバイスグループＰＤＥＶ−Ｇに所属する論理デバイスＬＤＥＶの総稼働率、を加えた稼働率である。
移行元のＣＰＵ１１０は、算出した物理セットの稼働率のうち、物理セットの稼働率と移行基準稼働率との差の絶対値が閾値以下の値である物理デバイスグループＰＤＥＶ−Ｇを選び出す（Ｓ９２）。
そして移行元のＣＰＵ１１０は、選び出した物理デバイスグループＰＤＥＶ−Ｇが１以上ある場合に（Ｓ９３：ＮＯ）、選び出した物理デバイスグループＰＤＥＶ−Ｇに所属する論理デバイスＬＤＥＶは、移行先のマイクロプロセッサ１１がオーナー権を有する論理デバイスか否かを判断する（Ｓ９４）。移行元のＣＰＵ１１０は、論理デバイスのオーナー権管理テーブルを参照して、移行先のマイクロプロセッサ１１がオーナー権を有する論理デバイスか否かを判断する。移行先のマイクロプロセッサ１１がオーナー権を有する論理デバイスがない場合には（Ｓ９４：ＮＯ）、移行元のＣＰＵ１１０は、ステップＳ９６の処理を実行する。
移行元のＣＰＵ１１０は、選び出した物理デバイスグループＰＤＥＶ−Ｇに所属する論理デバイスＬＤＥＶのうち、移行先のマイクロプロセッサ１１がオーナー権を有する論理デバイスＬＤＥＶがある場合には（Ｓ９４：ＹＥＳ）、その論理デバイスＬＤＥＶが所属する物理デバイスグループＰＤＥＶ−Ｇは、移行対象から除外する（Ｓ９５）。
移行元のＣＰＵ１１０は、選び出した物理セットの稼働率のうち、ステップＳ６１で算出した移行基準稼働率に最も近い稼働率を特定し（Ｓ９６）、特定した物理セットを移行対象に設定する（Ｓ９７）。
その後、移行元のＣＰＵ１１０は、設定した物理セットに所属する移行対象の番号を出力する（Ｓ９８）。移行対象の番号は、設定した物理セットに所属する物理デバイスグループ番号及び論理デバイス番号である。そうして、移行元のＣＰＵ１１０は、この処理を終了する。
なお、ステップＳ９３において、移行元のＣＰＵ１１０は、物理デバイスグループＰＤＥＶ−Ｇを１つも選び出せなかった場合には（Ｓ９３：ＮＯ）、物理セット単位でのオーナー権の移行なしを出力して（Ｓ９９）、この処理を終了する。
【００４６】
（４Ａ−２−３）論理デバイス単位でのオーナー権決定処理
引き続き、ステップＳ６９の論理デバイス単位でのオーナー権決定処理について、図１６のフローチャートを用いて説明する。
移行元のＣＰＵ１１０は、論理デバイス単位でオーナー権を移行できる可能性があると判断すると、論理デバイス単位でのオーナー権決定処理を開始する。
移行元のＣＰＵ１１０は、論理デバイスＬＤＥＶの稼働率のうち、論理デバイスの稼働率と移行基準稼働率との差の絶対値が閾値以下の値である論理デバイスを選び出す（Ｓ１０１）。
そして移行元のＣＰＵ１１０は、論理デバイスＬＤＥＶについて、ステップＳ１０２からステップＳ１０８までの処理をステップＳ９３からステップＳ９９までの処理を同様の手順で行うと、この処理を終了する。
【００４７】
（４Ａ−３）暫定オーナー権の設定処理
それでは、ステップＳ２５の暫定オーナー権の設定処理について図１７のフローチャートを用いて説明する。この処理では、移行先のマイクロプロセッサ１１に暫定的にオーナー権を割当てるため、ローカルメモリにあるビットマップの情報が変更される。
まず移行先のＣＰＵ１１０は、暫定オーナー権移行の要求通知を移行元のＣＰＵから受信すると、暫定オーナー権の設定処理を開始する。
そして、移行先のＣＰＵ１１０は、論理デバイスＬＤＥＶがステップＳ２２で決定された移行対象となっているか否かを判断し（Ｓ１１１）、論理デバイスが移行対象となっていない場合には（Ｓ１１１：ＮＯ）、引き続きステップＳ１１３の処理を実行し、論理デバイスＬＤＥＶが移行対象となっている場合には（Ｓ１１１：ＹＥＳ）、論理デバイスの暫定オーナー権ビットマップ１７の対象ビットを「０」から「１」に変更する（Ｓ１１２）。
次に、移行先のＣＰＵ１１０は、物理デバイスグループＰＤＥＶ−ＧがステップＳ２２で決定された移行対象となっているか否かを判断し（Ｓ１１３）、物理デバイスグループＰＤＥＶ−Ｇが移行対象となっていない場合には（Ｓ１１３：ＮＯ）、この処理を終了する。
一方、物理デバイスグループＰＤＥＶ−Ｇが移行対象となっている場合には（Ｓ１１３：ＹＥＳ）、移行先のＣＰＵ１１０は、物理デバイスグループＰＤＥＶ−Ｇの暫定オーナー権ビットマップの対象ビットを「０」から「１」に変更して（Ｓ１１４）、この処理を終了する。
【００４８】
（４Ａ−４）暫定オーナー権の移行処理
次に、ステップＳ３１の暫定オーナー権の移行処理について、図１８のフローチャートを用いて説明する。この処理は、移行元のマイクロプロセッサ１１が共有メモリ８内にあるテーブルの情報を変更する。
まず移行元のＣＰＵ１１０は、論理デバイスがステップＳ２２で決定された移行対象となっているか否かを判断し（Ｓ１２１）、論理デバイスが移行対象となっている場合には（Ｓ１２１：ＹＥＳ）、論理デバイスのオーナー権管理テーブル２３の「暫定オーナー権ＭＰＰＫ＃」欄２３２に、決定した移行先のマイクロプロセッサ番号を登録する（Ｓ１２２）。一方、論理デバイスが移行対象となっていない場合には（Ｓ１２１：ＮＯ）、移行元のＣＰＵ１１０は、後述するステップＳ１２３の処理を実行する。
次に移行元のＣＰＵ１１０は、物理デバイスグループＰＤＥＶ−Ｇが移行対象となっているか否かを判断し（Ｓ１２３）、物理デバイスグループＰＤＥＶ−Ｇが移行対象となっている場合には（Ｓ１２３：ＹＥＳ）、物理デバイスグループのオーナー権管理テーブル２４の「暫定オーナー権ＭＰＰＫ＃」欄２４２に、決定した移行先のマイクロプロセッサ番号を登録して（Ｓ１２４）、この処理を終了する。なお、物理デバイスグループＰＤＥＶ−Ｇが移行対象となっていない場合には（Ｓ１２３：ＮＯ）、移行元のＣＰＵ１１０は、そのままこの処理を終了する。
【００４９】
（４Ａ−５）要求バッファの残処理
次にステップＳ３２の要求バッファ１５の残処理について、図１９のフローチャートを用いて説明する。ステップＳ２８で移行元のＣＰＵ１１０がオーナー権を変更した旨の通知をした時点から、各種要求は移行先のマイクロプロセッサ１１のローカルメモリ１１１に一時的に保存される。しかし、移行先のマイクロプロセッサ１１は暫定的にオーナー権を移行しており、現時点でもオーナー権を有するのは移行元のマイクロプロセッサ１１である。そこで、移行元のマイクロプロセッサ１１のローカルメモリに残っている移行対象の各種要求を処理し終える必要がある。
まず、移行元のＣＰＵ１１０は、ステップＳ３１で移行先のマイクロプロセッサ１１の番号をオーナー権管理テーブルに登録すると、要求バッファ１５の残処理を開始する。
そして移行元のＣＰＵ１１０は、図２０に示す説明図ように、要求バッファ１５内に一時的に保存される各種要求から、移行対象のオーナー権に関する要求を検索し（Ｓ１３１）、検索した要求を実行する（Ｓ１３２）。その後移行元のＣＰＵ１１０は、移行対象のオーナー権に関する要求が要求バッファ１５内になくなるまで繰り返し残処理を実行すると（Ｓ１３３：ＹＥＳ）、要求バッファ１５の残処理を終了する。
【００５０】
（４Ａ−６）オーナー権の移行実行処理
次にステップＳ３３のオーナー権の移行実行処理について、図２１のフローチャートを用いて説明する。この処理は、移行元のマイクロプロセッサ１１が、ローカルメモリ１１１にあるテーブルやビットマップの情報を変更し、共有メモリ８にあるテーブルの情報も変更する。
まず、移行元のＣＰＵ１１０は、論理デバイスＬＤＥＶがステップＳ２２で決定された移行対象となっているか否かを判断し（Ｓ１４１）、論理デバイスＬＤＥＶが移行対象となっている場合には（Ｓ１４１：ＹＥＳ）、論理デバイスのオーナー権ビットマップ１６の対象ビットを「１」から「０」に変更し、論理デバイスの暫定オーナー権ビットマップ１７の対象ビットを「１」から「０」に変更する（Ｓ１４２）。その後、移行元のＣＰＵ１１０は、論理デバイスのオーナー権管理テーブル２３の「オーナー権ＭＰＰＫ＃」欄２３１に、決定した移行先のマイクロプロセッサ番号を登録する（Ｓ１４３）。
一方、論理デバイスが移行対象となっていない場合には（Ｓ１４１：ＮＯ）、移行元のＣＰＵ１１０は後述するステップＳ１４４の処理を実行する。
次に、移行元のＣＰＵ１１０は、物理デバイスグループＰＤＥＶ−Ｇが移行対象となっているか否かを判断し（Ｓ１４４）、物理デバイスグループＰＤＥＶ−Ｇが移行対象となっている場合には（Ｓ１４４：ＹＥＳ）、物理デバイスグループのオーナー権ビットマップ１８の対象ビットを「１」から「０」に変更し、物理デバイスグループの暫定オーナー権ビットマップ１９の対象ビットを「１」から「０」に変更する（Ｓ１４５）。その後、移行元のＣＰＵ１１０は、物理デバイスグループのオーナー権管理テーブル２４の「オーナー権ＭＰＰＫ＃」欄２４１に、決定した移行先のマイクロプロセッサ番号を登録して（Ｓ１４６）、この処理を終了する。
なお、物理デバイスグループＰＤＥＶ−Ｇが移行対象となっていない場合には（Ｓ１４４：ＮＯ）、移行元のＣＰＵ１１０は、そのままこの処理を終了する。
【００５１】
（４Ａ−７）オーナー権の設定処理
次にステップＳ３５のオーナー権の設定処理について、図２２のフローチャートを用いて説明する。この処理は、移行先のマイクロプロセッサ１１が、ローカルメモリ１１１にあるビットマップの情報を変更する。
移行先のＣＰＵ１１０は、論理デバイスがステップＳ２２で決定された移行対象となっているか否かを判断し（Ｓ１５１）、論理デバイスが移行対象となっている場合には（Ｓ１５１：ＹＥＳ）、論理デバイスのオーナー権ビットマップ１６の対象ビットを「０」から「１」に変更する（Ｓ１５２）。
一方、論理デバイスが移行対象となっていない場合には（Ｓ１５１：ＮＯ）、移行先のＣＰＵ１１０は後述するステップＳ１５３の処理を実行する。
次に、移行先のＣＰＵ１１０は、物理デバイスグループＰＤＥＶ−Ｇが移行対象となっているか否かを判断し（Ｓ１５３）、物理デバイスグループＰＤＥＶ−Ｇが移行対象となっている場合には（Ｓ１５３：ＹＥＳ）、物理デバイスグループのオーナー権ビットマップ１８の対象ビットを「０」から「１」に変更して（Ｓ１５４）、この処理を終了する。
なお、物理デバイスグループＰＤＥＶ−Ｇが移行対象となっていない場合には（Ｓ１５３：ＮＯ）、移行先のＣＰＵ１１０は、そのままこの処理を終了する。
このように、本実施の形態の移行処理を実行することで、任意の論理デバイスと他の論理デバイスとの関連性や、データの入出力処理と別の処理との関連性等、ストレージ装置４の様々な要素間での関連性を考慮しつつ、オーナー権を移行することができる。
【００５２】
（４Ａ−８）要求バッファのバッファ処理
それでは、移行先のマイクロプロセッサ１１が実行する要求バッファ１５のバッファ処理について図２３のフローチャート及び図２４の説明図を用いて説明する。移行先のＣＰＵが定期的に要求バッファ１５内の処理を実行する。
まず、移行先のＣＰＵ１１０は、要求バッファ１５から任意の要求を取り出すと（Ｓ１６１）、取り出した要求が、暫定オーナー権が割当てられた移行対象であり（暫定オーナー権ビットマップの対象ビットが「１」）、かつ、オーナー権がまだ完全に割当てられていない移行対象（オーナー権ビットマップの対象ビットが「０」）の場合には（Ｓ１６２：ＹＥＳ）、取り出した要求を再び要求バッファ１５に入れて（Ｓ１６３）、この処理を終了する。
一方、取り出した要求が、暫定オーナー権が割当てられた移行対象であり（暫定オーナー権ビットマップの対象ビットが「１」）、かつ、オーナー権も割当てられている移行対象（オーナー権ビットマップの対象ビットが「１」）の場合には（Ｓ１６２：ＮＯ）、移行先のＣＰＵ１１０は、取り出した要求を実行して（Ｓ１６４）、この処理を終了する。
このように、取り出した要求を再び要求バッファ１５に入れる場合は（Ｓ１６３）、チャネルアダプタ群に論理デバイスのオーナー権の変更が通知された時点から移行先のＣＰＵ１１０にオーナー権の移行完了通知を行った時点まで（図中、Ａで表記）の状態である。
また、取り出した要求を実行する場合は（Ｓ１６４）、移行先のマイクロプロセッサ１１にオーナー権が正式に割当てられた時点以降（図中、Ｂで表記）の状態である。
【００５３】
（４Ｂ）ユーザの指示に基づく移行処理
それでは次に、ユーザの指示に基づいてマイクロプロセッサ１１がオーナー権の移行処理を実行する場合について説明する。
【００５４】
（４Ｂ−１）移行単位での移行処理
ここでは、ユーザの指示に基づいて、移行単位でオーナー権を移行する処理について図２５のフローチャートを用いて説明する。オーナー権の移行処理は、マイクロプロセッサ１１がオーナー権移行プログラム（図示せず）に基づいて、定期的に実行する。
まずユーザが制御端末５の画面Ｓに、マイクロプロセッサ１１の稼働率を表示するコマンドを入力すると（Ｓ１７１）、制御端末は現時点のマイクロプロセッサ１１の稼働率をマイクロプロセッサ稼働率の管理テーブル２２から呼び出して画面に表示する（Ｓ１７２）。図２６に、制御端末５の画面図を示す。例えば、ユーザが「％ＭＰＰＫ」という稼働率表示コマンドＣ１を画面に入力すると、画面Ｓ１のように、マイクロプロセッサ１１の全稼働率が出力される。そうすると、制御端末５は移行元のマイクロプロセッサ１１と移行単位の入力を受け付ける（Ｓ１７３）。例えば、図２６に示すように、ユーザが「％ＭＯＶＥＯＷＮＥＲ」というコマンドＣ２を画面に入力すると、「オーナー権を移行するマイクロプロセッサ番号を指定してください」というメッセージＭ１が出力されるので、ユーザは出力される稼働率を見て、負荷を削減させたいマイクロプロセッサ番号を入力する。その後「移行する移行単位を選んでください」というメッセージＭ２が出力されるので、ユーザは「論理セット単位」、「物理セット単位」又は「論理デバイス単位」のいずれかの移行単位から、希望する移行単位を入力する（Ｓ１７４）。
制御端末５は、入力した番号を受け取ると、オーナー権の移行後の、移行元のマイクロプロセッサ１１の稼働率の予測要求を移行元のマイクロプロセッサ１１に発行する（Ｓ１７５）。
予測要求を受け取った移行元のマイクロプロセッサ１１は、後述する予測処理を実行し（Ｓ１７６）、予測結果を制御端末に通知する（Ｓ１７７）。
制御端末は、予測結果を受け取ると、その予測結果を画面に表示し（Ｓ１７８）、ユーザの移行要求の有無を受け付ける（Ｓ１７９）。例えば、図２６には、「オーナー権移行後の予測稼働率は次の通り」というメッセージＭ３のように、制御端末５は、ユーザが希望する移行単位を他のマイクロプロセッサ１１に移行した後の全マイクロプロセッサ１１の稼働率を画面Ｓ２に表示する。そして制御端末５は「移行しますか？Ｙ／Ｎ」というメッセージＭ４のように、移行要求の有無を受け付ける。
ユーザが移行要求有りを入力すると（Ｓ１８０）、制御端末５はオーナー権の移行要求を移行元のマイクロプロセッサ１１に発行する（Ｓ１８１）。
移行要求を受け取った移行元のマイクロプロセッサ１１は、オーナー権の移行判定処理を実行する（Ｓ１８２）。オーナー権の移行判定処理において、ユーザは移行単位でオーナー権の移行を希望しているため（Ｓ４１：ＹＥＳ）、移行元のマイクロプロセッサ１１は、ステップＳ４１からステップＳ４８までの処理を実行する。移行元のマイクロプロセッサ１１は、オーナー権の移行完了の有無と移行後の稼働率の結果を制御端末に通知する（Ｓ１８３）。制御端末５は、ユーザにオーナー権の移行完了の有無と移行後の稼働率の結果を表示すると（Ｓ１８４）、この処理を終了する。例えば、図２６では、「移行完了しました」というメッセージが画面に表示され、移行後の全マイクロプロセッサ１１の稼働率が画面Ｓ３に表示される。
【００５５】
（４Ｂ−１−１）予測処理
では、ステップＳ１７６の予測処理について、図２７のフローチャートを用いて説明する。予測処理は、移行元のＣＰＵ１１０がオーナー権移行プログラム（図示せず）に基づいて実行する。
移行元のＣＰＵ１１０は、オーナー権移行判定処理を実行する（Ｓ１９１）。具体的には、ユーザが移行単位でオーナー権の移行を指定したので、移行元のＣＰＵ１１０は、ステップＳ４１からステップＳ４８までの処理を実行する。そうして、移行元のマイクロプロセッサ１１がユーザの希望する移行単位のオーナー権を有している場合には（Ｓ１９２：ＹＥＳ）、移行元のＣＰＵ１１０は、予測稼働率を算出する（Ｓ１９３）。例えば、ユーザが希望する移行単位の稼働率が２０％であった場合に、移行元のＣＰＵ１１０は、現在のマイクロプロセッサ１１稼働率テーブルを参照して、移行元のマイクロプロセッサ１１の稼働率から２０％を減算した稼働率を算出し、決定した移行先のマイクロプロセッサ１１の稼働率に２０％を加算した稼働率を算出する。
移行元のＣＰＵ１１０は、これらの稼働率を含めた全マイクロプロセッサ１１の稼働率を予測稼働率として出力すると、この処理を終了する。
一方、移行元のマイクロプロセッサ１１がユーザの希望する移行単位のオーナー権を有していない場合には（Ｓ１９２：ＮＯ）、移行元のＣＰＵ１１０は、現在のマイクロプロセッサ稼働率の管理テーブル２２に登録されている稼働率を予測稼働率として出力すると（Ｓ１９４）、この処理を終了する。
このように、移行元のマイクロプロセッサ１１と移行単位を入力すれば、移行先のマイクロプロセッサ１１をストレージ装置４側で検索して、移行単位の稼働率を移行先のマイクロプロセッサ１１に移行することができる。また、ユーザが移行単位を入力するだけで、オーナー権を移行する前であっても、あらかじめ移行後の稼働率を算出することができるので、移行後のマイクロプロセッサ１１の負荷を視覚的に予測することができる。
【００５６】
（４Ｂ−２）ユーザが指定する移行対象での移行処理
では次に、ユーザが希望する移行対象のオーナー権を移行する処理について図２８のフローチャートを用いて説明する。オーナー権の移行処理は、マイクロプロセッサ１１がオーナー権移行プログラム（図示せず）に基づいて、定期的に実行する。
まずユーザが制御端末５の画面に、マイクロプロセッサ１１の稼働率を表示するコマンドを入力すると（Ｓ２０１）、制御端末５は現時点のマイクロプロセッサ１１の稼働率をマイクロプロセッサ稼働率の管理テーブル２２から呼び出して画面に表示する（Ｓ２０２）。図２９に、制御端末５の画面図を示す。例えば、ユーザが「％ＭＰＰＫ」という稼働率表示コマンドＣ３を画面に入力すると、画面Ｓ４のように、マイクロプロセッサ１１の全稼働率が出力される。そうすると、制御端末５は移行元のマイクロプロセッサ１１とユーザが希望する移行対象の選択を受け付ける（Ｓ２０３）。例えば、図２９に示すように、ユーザが「％ＭＯＶＥＯＷＮＥＲ−Ａ」というオーナー権移行コマンドＣ４を画面に入力すると、「オーナー権を移行するマイクロプロセッサ番号を指定してください」というメッセージＭ６が出力されるので、ユーザは出力される稼働率を見て、負荷を削減させたいマイクロプロセッサ番号を入力する。その後、「移行する対象を選んでください」というメッセージＭ７が出力されるので、ユーザは「物理グループ」、「論理グループ」又は「論理デバイス」のいずれかの移行対象から、ユーザが希望する移行対象を選択する（Ｓ２０４）。図２９の画面例では、ユーザは移行対象として「論理デバイス」を選択している。
制御端末５は、指定した移行元のマイクロプロセッサ１１に、ユーザが希望する移行対象の稼働率の取得要求を発行する（Ｓ２０５）。
取得要求を受け取った移行元のマイクロプロセッサ１１は、ユーザが希望する移行対象の稼働率を取得する（Ｓ２０６）。稼働率は、ユーザが希望する移行対象の稼働率テーブル１２から１４から稼働率を取得する。図２９の画面例では、ユーザは論理デバイスを移行対象として選択しているので、論理デバイスの稼働率テーブル１２から論理デバイスの稼働率が画面Ｓ５に出力される。移行元のマイクロプロセッサ１１は、希望する移行対象の稼働率の結果を制御端末５に通知する（Ｓ２０７）。
制御端末５は、希望する移行対象の稼働率の結果を受け取ると、その結果を画面に表示し（Ｓ２０８）、ユーザの希望する移行対象の番号と移行先のマイクロプロセッサ番号の入力を受け付ける（Ｓ２０９）。例えば、移行元のマイクロプロセッサ１１は、ユーザが希望する論理デバイスの稼働率を論理デバイス稼働率テーブルから取得して、取得した結果を制御端末５に送る。制御端末５が画面に稼働率の結果を表示する。図２９の画面例では、マイクロプロセッサ「２」がオーナー権を有する論理デバイスの稼働率が出力されている。制御端末５は「移行論理デバイスを指定してください」及び「移行先のＭＰＰＫ＃を指定してください」というメッセージＭ８，Ｍ９を出力して、ユーザの入力を受け付ける。図２９の画面例では、ユーザは、移行対象として論理デバイス「２」を入力し、移行先のマイクロプロセッサとして「３」を入力する。そして制御端末５は「移行しますか？Ｙ／Ｎ」というメッセージＭ１０のように、移行要求の有無を受け付ける。
このようにユーザが、移行対象の番号と移行先のマイクロプロセッサ番号を入力すると（Ｓ２１０）、制御端末５はオーナー権の移行要求を移行元のマイクロプロセッサ１１に発行する（Ｓ２１１）。
移行要求を受け取った移行元のマイクロプロセッサ１１は、オーナー権の移行判定処理を実行する（Ｓ２１２）。オーナー権の移行判定処理において、ユーザは、自身が指定する移行対象でオーナー権の移行を希望しているため（Ｓ４１：ＮＯ）、移行元のマイクロプロセッサ１１は、ステップＳ４９からステップＳ５１までの処理を実行する。移行元のマイクロプロセッサ１１は、オーナー権の移行完了の有無と移行後の稼働率の結果を制御端末５に通知する（Ｓ２１３）。制御端末５は、ユーザにオーナー権の移行完了の有無と移行後の稼働率の結果を表示すると（Ｓ２１４）、この処理を終了する。例えば、図２９の画面例では、「移行完了しました」というメッセージＭ１１が画面に表示され、移行後の全マイクロプロセッサ１１の稼働率が画面Ｓ６に表示される。
このように、移行元のマイクロプロセッサ１１は移行対象の稼働率を出力することができるので、移行後のマイクロプロセッサ１１の負荷を視覚的に予測することができる。
【００５７】
（５）構成要素の増減に伴うオーナー権処理
ストレージ装置４内の各種構成要素の増減に伴うオーナー権処理について説明する。以下で説明するオーナー権処理及びオーナー権の登録処理は、マイクロプロセッサ１１がオーナー権プログラム（図示せず）に基づいて実行する。
【００５８】
（５−１）チャネルアダプタの取り付け時のオーナー権処理
まず、ストレージ装置４内のチャネルアダプタ６を取り付ける際に伴うオーナー権処理について、図３０のフローチャートを用いて説明する。
まず、新しく取り付けられたチャネルアダプタ６（以下、増設チャネルアダプタ６という）は任意のマイクロプロセッサ１１に論理デバイスとマイクロプロセッサ１１との対応情報を取得したい旨の取得要求を発行する（Ｓ２２１）。そうすると、任意のマイクロプロセッサ１１は、論理デバイスのオーナー権管理テーブル２３から、論理デバイスＬＤＥＶと、この論理デバイスに対応する暫定オーナー権のマイクロプロセッサ１１との対応情報を送信フレームに設定する（Ｓ２２２）。任意のマイクロプロセッサ１１は、対応情報を設定した送信フレームを増設チャネルアダプタ６に送信する（Ｓ２２３）。増設チャネルアダプタ６は、対応情報を取得すると、この対応情報に基づいて論理デバイス−マイクロプロセッサ関連テーブル６１０を作成して（Ｓ２２４）、終了する。
なお、チャネルアダプタ群から任意のチャネルアダプタ６を取り外す場合には、取り付ける場合のような処理は必要ない。
【００５９】
（５−２）マイクロプロセッサの取り外し時のオーナー権処理
ストレージ装置４内の任意のマイクロプロセッサ１１の取り外しを行う際に伴うオーナー権処理について、図３１のフローチャートを用いて説明する。
まず、取り外し対象のマイクロプロセッサ１１は、オーナー権移行ロックテーブル２６に自マイクロプロセッサ１１の番号を登録して、オーナー権移行をロックすると（Ｓ２３１）、要求バッファ１５に保存されている要求の処理を実行する（Ｓ２３２）。そして、取り外し対象のマイクロプロセッサ１１は、オーナー権管理テーブルを変更する（Ｓ２３３）。具体的には、取り外し対象のマイクロプロセッサ１１がオーナー権を有する論理デバイスを管理していた場合、論理デバイスのオーナー権管理テーブル２３の「オーナー権ＭＰＰＫ＃」欄２３１及び「暫定オーナー権ＭＰＰＫ＃」欄２３２の該当する箇所を未割り当てにする。また、取り外し対象のマイクロプロセッサ１１がオーナー権を有する物理デバイスグループＰＤＥＶ−Ｇを管理していた場合、物理デバイスグループのオーナー権管理テーブル２４の「オーナー権ＭＰＰＫ＃」欄２４１及び「暫定オーナー権ＭＰＰＫ＃」欄２４２の該当する箇所を未割り当てにする。
その後、取り外し対象のマイクロプロセッサ１１は、未割当て論理デバイスのビットマップ２７及び未割当て物理デバイスグループのビットマップ２８の該当するビットを「０」にすると（Ｓ２３４）、オーナー権移行ロックテーブル２６から自マイクロプロセッサ１１の番号を削除してオーナー権移行をアンロックすると（Ｓ２３５）、この処理を終了する。
【００６０】
（５−３）論理デバイス又は物理デバイスグループの作成時のオーナー権処理
では次に、ストレージ装置４内で論理デバイスＬＤＥＶ又は物理デバイスグループＰＤＥＶ−Ｇを新しく作成した際に伴うオーナー権処理について図３２のフローチャートを用いて説明する。
まず、ストレージ装置４内で論理デバイスＬＤＥＶ又は物理デバイスグループＰＤＥＶ−Ｇを新しく作成した場合には、任意のマイクロプロセッサ１１がオーナー権処理を行う。
任意のマイクロプロセッサ１１のＣＰＵ（以下、単に任意のＣＰＵという）１１０は、オーナー権移行ロックテーブル２６に自マイクロプロセッサ１１の番号を登録して、オーナー権の移行をロックすると（Ｓ２４１）、未割当て論理デバイスのビットマップ２７又は未割当て物理デバイスグループのビットマップ２８の対象ビットを「１」にして未割当ての登録をする（Ｓ２４２）。その後、任意のＣＰＵ１１０は、オーナー権移行ロックテーブル２６から自マイクロプロセッサ１１の番号を削除してオーナー権の移行をアンロックすると（Ｓ２４３）、この処理を終了する。
【００６１】
（５−４）論理デバイス又は物理デバイスグループの削除時のオーナー権処理
次に、ストレージ装置４内で論理デバイスＬＤＥＶ又は物理デバイスグループＰＤＥＶ−Ｇを削除する際に伴うオーナー権処理について図３３のフローチャートを用いて説明する。
ストレージ装置４内で論理デバイスＬＤＥＶ又は物理デバイスグループＰＤＥＶ−Ｇを削除する場合には、削除対象の論理デバイスＬＤＥＶ又は物理デバイスグループＰＤＥＶ−Ｇに対してオーナー権を有するマイクロプロセッサ１１がオーナー権処理を行う。
まず、削除対象の論理デバイスＬＤＥＶ又は物理デバイスグループＰＤＥＶ−Ｇに対してオーナー権を有するマイクロプロセッサ１１のＣＰＵ（以下、単に削除対象のＣＰＵという）１１０は、オーナー権移行ロックテーブル２６に自マイクロプロセッサ１１の番号を登録して、オーナー権の移行をロックすると（Ｓ２５１）、要求バッファ１５内にある要求を実行する（Ｓ２５２）。
そして、削除対象のＣＰＵ１１０は、オーナー権管理テーブルを変更する（Ｓ２５３）。具体的には、削除対象のマイクロプロセッサ１１が、削除対象の論理デバイスに対してオーナー権を有していた場合、論理デバイスのオーナー権管理テーブル２３の「オーナー権ＭＰＰＫ＃」欄２３１及び「暫定オーナー権ＭＰＰＫ＃」欄２３２の該当する箇所を未割当てにする。また、削除対象のマイクロプロセッサ１１が、削除対象の物理デバイスグループＰＤＥＶ−Ｇに対してオーナー権を有していた場合、物理デバイスグループのオーナー権管理テーブル２４の「オーナー権ＭＰＰＫ＃」欄２４１及び「暫定オーナー権ＭＰＰＫ＃」欄２４２の該当する箇所を未割当てにする。
その後、削除対象のマイクロプロセッサ１１は、未割り当て論理デバイスのビットマップ２７及び未割当て物理デバイスグループのビットマップ２８の該当するビットを「０」にすると（Ｓ２５４）、オーナー権移行ロックテーブルから自マイクロプロセッサ１１の番号を削除してオーナー権移行をアンロックすると（Ｓ２５５）、この処理を終了する。
【００６２】
（５−５）オーナー権の登録処理
ストレージ装置４が上述のオーナー権処理を実行すると、未割当ての論理デバイスＬＤＥＶ及び未割当ての物理デバイスグループＰＤＥＶ−Ｇが形成される。そうすると、いずれのマイクロプロセッサ１１も、これら未割当ての論理デバイスＬＤＥＶ及び未割当ての物理デバイスグループＰＤＥＶ−Ｇにアクセスできなくなってしまう。そこで、この未割り当ての論理デバイスＬＤＥＶ及び未割当ての物理デバイスグループＰＤＥＶ−Ｇに対して、いずれかのマイクロプロセッサ１１がオーナー権を持つように設定する必要がある。ここでは、オーナー権の登録処理について、図３４及び図３５のフローチャートを用いて説明する。オーナー権の登録処理は、夫々のマイクロプロセッサ１１が定期的に実行する。
任意のマイクロプロセッサ１１のＣＰＵ１１０は、マイクロプロセッサ稼働率管理テーブルを参照し、自マイクロプロセッサ１１の稼働率が最も低いか否かを判断する（Ｓ２６１）。自マイクロプロセッサ１１の稼働率が最も低い場合には（Ｓ２６１：ＹＥＳ）、任意のマイクロプロセッサ１１のＣＰＵ１１０は、オーナー権移行ロックテーブルに自マイクロプロセッサ番号を登録して、オーナー権移行をロックすると（Ｓ２６２）、未割当て論理デバイスのビットマップ２７のビットが未割当てか否かを判断する（Ｓ２６３）。
未割当て論理デバイスのビットマップ２８に未割当ての論理デバイスがある場合には（Ｓ２６３：ＹＥＳ）、任意のマイクロプロセッサ１１のＣＰＵ１１０は、未割当ての論理デバイスに対してオーナー権を設定する（Ｓ２６４）。次に、任意のマイクロプロセッサ１１のＣＰＵ１１０は、オーナー権を設定した論理デバイスＬＤＥＶが所属する論理デバイスグループＬＤＥＶ−Ｇに、未割当ての論理デバイスＬＤＥＶがあるか否かを検索する。任意のマイクロプロセッサ１１のＣＰＵ１１０は、論理デバイスグループの管理テーブル２５及び未割当て論理デバイスのビットマップ２７を参照して検索する。任意のマイクロプロセッサ１１のＣＰＵ１１０は、この検索によってヒットした全ての未割当ての論理デバイスＬＤＥＶに対して、オーナー権を設定する（Ｓ２６５）。
同様に、任意のマイクロプロセッサ１１のＣＰＵ１１０は、オーナー権を設定した論理デバイスＬＤＥＶが所属する物理デバイスグループＰＤＥＶ−Ｇあるか否かを検索する。任意のマイクロプロセッサ１１のＣＰＵ１１０は、オーナー権を設定した論理デバイスＬＤＥＶ、物理デバイスグループの制御情報テーブル２１及び未割当て物理デバイスグループのビットマップ２８を参照して検索する。任意のマイクロプロセッサ１１のＣＰＵ１１０は、この検索によってヒットした全ての未割当ての物理デバイスグループＰＤＥＶ−Ｇに対して、オーナー権を設定して（Ｓ２６６）、後述するステップＳ２６９を実行する。
ステップＳ２６３において、未割当て論理デバイスのビットマップに未割当ての論理デバイスがない場合には（Ｓ２６３：ＮＯ）、任意のマイクロプロセッサ１１のＣＰＵ１１０は、未割当て物理デバイスグループのビットマップ２８のビットが未割当てか否かを判断する（Ｓ２６７）。未割当て物理デバイスグループのビットマップ２８に未割当ての物理デバイスグループＰＤＥＶ−Ｇがある場合には（Ｓ２６７：ＹＥＳ）、任意のマイクロプロセッサ１１のＣＰＵ１１０は、未割当ての物理デバイスグループＰＤＥＶ−Ｇに対してオーナー権を設定して（Ｓ２６８）、後述するステップＳ２６９を実行する。なお、未割当て物理デバイスグループのビットマップ２８に未割当ての物理デバイスグループＰＤＥＶ−Ｇがない場合には（Ｓ２６７：ＮＯ）、任意のマイクロプロセッサ１１のＣＰＵ１１０は、後述するステップＳ２６９を実行する。
その後、任意のマイクロプロセッサ１１のＣＰＵ１１０は、オーナー権を設定すると（Ｓ２６９：ＹＥＳ）、未割当て論理デバイスのビットマップ２７及び未割当て物理デバイスグループのビットマップ２８内のビットのうち、オーナー権を設定したビットを「０」に変更する（Ｓ２７０）。また、任意のマイクロプロセッサ１１のＣＰＵ１１０は、論理デバイスのオーナー権管理テーブル２３の「オーナー権ＭＰＰＫ＃」欄２３１並びに「暫定オーナー権ＭＰＰＫ＃」欄２３２、及び、物理デバイスグループのオーナー権管理テーブル２４の「オーナー権ＭＰＰＫ＃」欄２４１並びに「暫定オーナー権ＭＰＰＫ＃」欄２４２に自マイクロプロセッサ番号を登録する（Ｓ２７１）。
任意のマイクロプロセッサ１１のＣＰＵ１１０は、ローカルメモリ１１１上にある、論理デバイスのオーナー権ビットマップ１６、論理デバイスの暫定オーナー権ビットマップ１７、物理デバイスグループのオーナー権ビットマップ１８、及び物理デバイスグループの暫定オーナー権ビットマップ１９のビットのうち、オーナー権を設定したビットを「１」に変更する（Ｓ２７２、Ｓ２７３）。
また、任意のマイクロプロセッサ１１のＣＰＵ１１０は、オーナー権を設定した論理デバイスのうち、チャネルアダプタ群が管理をする論理デバイスがある場合には、チャネルアダプタ群に論理デバイスＬＤＥＶの変更通知を送信する（Ｓ２７４）。
その後、任意のマイクロプロセッサ１１のＣＰＵ１１０は、オーナー権移行ロックテーブル２６から自マイクロプロセッサ番号を削除して、オーナー権移行をアンロックすると（Ｓ２７５）、この処理を終了する。
なお、ステップＳ２６９において、任意のマイクロプロセッサ１１のＣＰＵ１１０がオーナー権を設定しなかった場合には（Ｓ２６９：ＮＯ）、オーナー権移行ロックテーブル２６から自マイクロプロセッサ番号を削除して、オーナー権移行をアンロックすると（Ｓ２７５）、この処理を終了する。
【００６３】
（５）本実施の形態の効果
以上のように、本実施の形態によれば、オーナー権を移行することによって生じるマイクロプロセッサ間での通信の発生を考慮してオーナー権を移行することができる。また、本実施の形態によれば、ストレージ装置が管理する論理デバイスの負荷だけでなく、論理デバイス以外の管理単位の負荷も考慮してオーナー権を移行するので、移行元のマイクロプロセッサにかかる負荷を移行先のマイクロプロセッサでも管理しすいように分散でき、ストレージ装置の性能を十分に発揮することができる。
【産業上の利用可能性】
【００６４】
本発明は、１又は複数のストレージ装置を有するストレージシステムや、その他の形態のストレージシステムに広く適用することができる。
【図面の簡単な説明】
【００６５】
【図１】本実施の形態におけるストレージシステムの構成を示すブロック図である。
【図２】本実施の形態における物理デバイスの論理的な構成を示す説明図である。
【図３】本実施の形態における論理デバイス−マイクロプロセッサ関連テーブルを示す図表である。
【図４】本実施の形態におけるローカルメモリの内容を示す説明図である。
【図５】本実施の形態における稼働率取得処理を示すフローチャートである。
【図６】本実施の形態における共有メモリの内容を示す説明図である。
【図７】本実施の形態におけるマイクロプロセッサごとの稼働率取得処理を示すフローチャートである。
【図８】本実施の形態において、マイクロプロセッサがオーナー権の移行処理を実行するフローチャートである。
【図９】本実施の形態における移行単位を示す概念図である。
【図１０】本実施の形態におけるオーナー権の移行判定処理を示すフローチャートである。
【図１１】本実施の形態における移行単位の決定処理を示すフローチャートである。
【図１２】本実施の形態における移行基準稼働率を説明するグラフである。
【図１３】本実施の形態における論理セット単位でのオーナー権決定処理を示すフローチャートである。
【図１４】本実施の形態における移行単位の稼働率を示す図表である。
【図１５】本実施の形態における物理セット単位でのオーナー権決定処理を示すフローチャートである。
【図１６】本実施の形態における論理デバイス単位でのオーナー権決定処理を示すフローチャートである。
【図１７】本実施の形態における暫定オーナー権の設定処理を示すフローチャートである。
【図１８】本実施の形態における暫定オーナー権の移行処理を示すフローチャートである。
【図１９】本実施の形態における要求バッファの残処理を示すフローチャートである。
【図２０】本実施の形態における要求バッファの残処理を示す説明図である。
【図２１】本実施の形態におけるオーナー権の移行実行処理を示すフローチャートである。
【図２２】本実施の形態におけるオーナー権の設定処理を示すフローチャートである。
【図２３】本実施の形態における要求バッファバッファ処理を示すフローチャートである。
【図２４】本実施の形態における要求バッファバッファ処理を示す説明図である。
【図２５】本実施の形態において、ユーザ指定に基づいてオーナー権の移行処理を移行単位で実行するフローチャートである。
【図２６】本実施の形態において、ユーザ指定に基づいて移行単位で実行するオーナー権の移行処理を示す画面図である。
【図２７】本実施の形態における予測処理を示すフローチャートである。
【図２８】本実施の形態において、ユーザが指定する移行対象に基づいてオーナー権の移行処理を実行するフローチャートである。
【図２９】本実施の形態において、ユーザが指定する移行対象に基づいてオーナー権の移行処理を示す画面図である。
【図３０】本実施の形態におけるチャネルアダプタの取り付け時のオーナー権処理を示すフローチャートである。
【図３１】本実施の形態におけるマイクロプロセッサの取り外し時のオーナー権処理を示すフローチャートである。
【図３２】本実施の形態における論理デバイス又は物理デバイスグループの作成時のオーナー権処理を示すフローチャートである。
【図３３】本実施の形態における論理デバイス又は物理デバイスグループの削除時のオーナー権処理を示すフローチャートである。
【図３４】本実施の形態におけるオーナー権の登録処理を示すフローチャートである。
【図３５】本実施の形態におけるオーナー権の登録処理を示すフローチャートである。
【符号の説明】
【００６６】
１……ストレージシステム、２……ホスト装置、３……ネットワーク、４……ストレージ装置、５……制御端末、６……チャネルアダプタ、７……スイッチ、８……共有メモリ、９……キャッシュメモリ、１０……ディスクアダプタ、１１……マイクロプロセッサ、Ｄ……ドライブ群、Ｃ……コントローラ群、ＬＤＥＶ……論理デバイス、ＬＤＥＶ−Ｇ……論理デバイスグループ、ＰＤＥＶ……物理デバイス、ＰＤＥＶ−Ｇ……物理デバイスグループ、１２……論理デバイスの稼働率テーブル、１３……物理デバイスグループの稼働率テーブル、１４……論理デバイスグループの稼働率テーブル、２２……マイクロプロセッサ稼働率の管理テーブル、２３……論理デバイスのオーナー権管理テーブル、２４……物理デバイスグループのオーナー権管理テーブル。
【図１】
2009295049.tif 000003
【図２】
2009295049.tif 000004
【図３】
2009295049.tif 000005
【図４】
2009295049.tif 000006
【図５】
2009295049.tif 000007
【図６】
2009295049.tif 000008
【図７】
2009295049.tif 000009
【図８】
2009295049.tif 000010
【図９】
2009295049.tif 000011
【図１０】
2009295049.tif 000012
【図１１】
2009295049.tif 000013
【図１２】
2009295049.tif 000014
【図１３】
2009295049.tif 000015
【図１４】
2009295049.tif 000016
【図１５】
2009295049.tif 000017
【図１６】
2009295049.tif 000018
【図１７】
2009295049.tif 000019
【図１８】
2009295049.tif 000020
【図１９】
2009295049.tif 000021
【図２０】
2009295049.tif 000022
【図２１】
2009295049.tif 000023
【図２２】
2009295049.tif 000024
【図２３】
2009295049.tif 000025
【図２４】
2009295049.tif 000026
【図２５】
2009295049.tif 000027
【図２６】
2009295049.tif 000028
【図２７】
2009295049.tif 000029
【図２８】
2009295049.tif 000030
【図２９】
2009295049.tif 000031
【図３０】
2009295049.tif 000032
【図３１】
2009295049.tif 000033
【図３２】
2009295049.tif 000034
【図３３】
2009295049.tif 000035
【図３４】
2009295049.tif 000036
【図３５】
2009295049.tif 000037