(57)【要約】【課題】ファイバチャネルループを極力縮退せずに冗長ループを有効に生かしながら使用することにある。【解決手段】イニシエータドライバ２ｂが冗長な複数のポートを備えたファイバチャネルデバイス１０，１１，…に対してアクセス制御を行うファイバチャネルデバイスのアクセス制御方法において、選択対象となるファイバチャネルデバイスの指定に基づき、前記イニシエータドライバ２ｂは、選択対象ファイバチャネルデバイスの各アクセスポートを選択し、このポートに対してコマンドを送信してアクセスを実施して利用可能状態かエラー検出による利用不可能状態かを判断し、選択対象となるファイバチャネルデバイス毎にアクセスポートを決定し、利用不可能状態の場合には該当ポートに対して利用可能から利用不可能に変更する方法である。【選択図】図３
2005284387.tif 000002
【特許請求の範囲】
【請求項１】
イニシエータドライバが冗長な複数のポートを備えたファイバチャネルデバイスに対してアクセス制御を行うファイバチャネルデバイスのアクセス制御方法において、
選択対象となるファイバチャネルデバイスの指定に基づき、前記イニシエータドライバは、選択対象ファイバチャネルデバイスの各アクセスポートを選択し、当該ポートに対してアクセスを実施して利用可能状態かエラー検出による利用不可能状態かを判断し、選択対象となるファイバチャネルデバイス毎にアクセスポートを決定することを特徴とするファイバチャネルデバイスのアクセス制御方法。
【請求項２】
請求項１に記載のファイバチャネルデバイスのアクセス制御方法において、
前記選択対象ファイバチャネルデバイスのアクセスポートが利用不可能状態と判断された場合、前記イニシエータドライバは、当該選択対象ファイバチャネルデバイスのポートを利用可能から利用不可能に変更し、この利用不可能とされた選択対象ファイバチャネルデバイスのポート以外の別のポートに対して順次リトライし、利用可能有無を決定することを特徴とするファイバチャネルデバイスのアクセス制御方法。
【請求項３】
イニシエータドライバが冗長な複数のポートを備えたファイバチャネルデバイスに対してアクセス制御を行うファイバチャネルデバイスシステムにおいて、
前記イニシエータドライバは、
選択対象となるファイバチャネルデバイスの指定に基づき、当該選択対象ファイバチャネルデバイスのアクセスポートを選択するアクセスポート選択手段と、
この選択されたアクセスポートをアクセスし、ポートの利用可能状態を判断する利用可能判断手段と、
この判断手段によって該当ポートが利用不可能と判断された場合、当該選択対象ファイバチャネルデバイスのポートを利用可能状態から利用不可能状態に変更する手段と、
この変更後に選択対象ファイバチャネルデバイスの利用不可能状態に変更されたポート以外の別のポートに対して順次リトライし、利用可能有無を決定する他ポートリトライ実行手段とを備えたことを特徴とするファイバチャネルデバイスシステム。
【請求項４】
冗長な複数のポートを備えたファイバチャネルデバイスに対してアクセス制御を行うコンピュータに、
選択対象となるファイバチャネルデバイスの指定に基づき、当該選択対象ファイバチャネルデバイスのアクセスポートを選択するアクセスポート選択機能と、この機能によって選択されたアクセスポートをアクセスし、ポートの利用可能状態を判断する利用可能判断機能と、この判断機能によって該当ポートが利用不可能と判断された場合、当該選択対象ファイバチャネルデバイスのポートを利用可能状態から利用不可能状態に変更する機能と、この変更後に選択対象ファイバチャネルデバイスの利用不可能状態に変更されたポート以外の別のポートに対して順次リトライし、利用可能有無を決定する他ポートリトライ実行機能とを実現させることを特徴とするプログラム。
【請求項５】
請求項１に記載のファイバチャネルデバイスのアクセス制御方法において、
前記選択対象ファイバチャネルデバイスのアクセスポートが利用不可能状態と判断された場合、前記イニシエータドライバは、当該選択対象ファイバチャネルデバイスのポートを利用可能から利用不可能に変更設定し、この利用不可能とされた選択対象ファイバチャネルデバイスのポートに対して一定時間毎にアクセスし、健全性をチェックし、健全性が確認された場合には前記利用不可能から利用可能に回復処理し、一方、健全性が確認されない場合には所定回数リトライを繰り返すことを特徴とするファイバチャネルデバイスのアクセス制御方法。
【請求項６】
冗長な複数のポートを備えたファイバチャネルデバイスに対してアクセス制御を行うコンピュータに、
選択対象となるファイバチャネルデバイスの指定に基づき、当該ファイバチャネルデバイスのアクセスポートを選択するアクセスポート選択機能と、この機能によって選択されたアクセスポートをアクセスし、ポートの利用可能状態を判断する利用可能判断機能と、この判断機能によって該当ポートが利用不可能と判断された場合、当該選択対象ファイバチャネルデバイスのポートを利用可能から利用不可能に変更設定する機能と、利用不可能とされたデバイスのポートに対して一定時間毎にアクセスし、健全性をチェックする機能と、この機能によって健全性が確認された場合には前記利用不可能から利用可能に回復処理する機能と、健全性が確認されない場合には所定回数リトライを繰り返す機能とを実現させることを特徴とするプログラム。
【請求項７】
請求項５に記載のファイバチャネルデバイスのアクセス制御方法において、
前記一定時間よりも十分に長い時間を周期としてタイムアウトするタイマを起動し、このタイマのタイムアウト後、前記利用不可能とされた縮退状態のデバイスのポートが存在するか否かを判断し、縮退状態のデバイスのポートが存在する場合には前記請求項４に記載する一連の処理を行うことを特徴とするファイバチャネルデバイスのアクセス制御方法。
【請求項８】
請求項１に記載のファイバチャネルデバイスのアクセス制御方法において、
複数のファイバチャネルデバイスの冗長ポートがＮ（Ｎ＝２以上の整数）の場合、ファイバチャネルループＩＤのＮによる剰余（ｍｏｄ  Ｎ）に基づき、選択対象となるデバイスのアクセスポートを決定することを特徴とするファイバチャネルデバイスのアクセス制御方法。
【請求項９】
請求項３に記載のファイバチャネルデバイスシステムにおいて、
前記イニシエータドライバは、複数のファイバチャネルデバイスの冗長ポートがＮ（Ｎ＝２以上の整数）の場合、ファイバチャネルループＩＤのＮによる剰余（ｍｏｄ  Ｎ）に基づき、選択対象となるデバイスのアクセスポートを決定する手段を設けたことを特徴とするファイバチャネルデバイスシステム。
【請求項１０】
請求項１に記載のファイバチャネルデバイスのアクセス制御方法において、
前記ファイバチャネルデバイスの冗長ポート数に基づいて各デバイスに均等にアクセスポートを割当て、その後のデバイスの追加及び又は削除に対し、偏りがないようにアクセスポートを割当てることを特徴とするファイバチャネルデバイスのアクセス制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、冗長ポートをもつファイバチャネルデバイスのアクセス制御方法、ファイバチャネルデバイスシステム及びプログラムに関する。
【背景技術】
【０００２】
従来の一般的なファイバチャネルデバイスシステムは図１０に示すように構成されている。このファイバチャネルデバイスシステムは、ファイバチャネルアービトレイテッドループ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  Ａｒｂｉｔｒａｔｅｄ  Ｌｏｏｐ：ＦＣ−ＡＬ）の規格に基づいて構成され、複数のファイバチャネルデバイスで同じファイバチャネルループを共用することから、互いに調停しながら通信する仕組みをもったシステムである。具体的には、常時使用されるメインループ５１と当該メインループ５１の閉塞時に切替え使用されるサブループ５２とが設けられ、これらループ５１，５２には冗長ポートをもつデータが書き込まれる複数のファイバチャネルデバイス５３，…が接続され、さらに所要のファイバチャネルデバイス５３にデータを書き込むためのコマンドを送信するファイバチャネルイニシエータデバイス５４が接続されている。
【０００３】
従って、このようなシステムでは、ファイバチャネルデバイス５３，…が冗長ポートをもっているので、予めアクセスポートを固定し、エラー発生時に別のポートを切替えるようにすれば、信頼性を向上させることができる。
【０００４】
また、従来のもう１つのシステムは、接続ポートをもつ複数の上位装置と、この上位装置の接続ポートに接続されパケットの転送を制御する情報交換装置と、この情報交換装置に接続され、当該情報交換装置を介して上位装置とパケットの授受を行う記憶制御装置とを有し、この記憶制御装置は、上位装置毎に接続ポートの識別情報と接続ポートのセキュリティ情報とを含む制御テーブルが作成され、情報交換装置から上位装置のアクセス可否を決定する目的を含んで接続ポートの交換を検出すると、制御テーブルの接続ポートの識別情報を交換前の接続ポートの識別情報から交換後の接続ポートの識別情報に置き換えることにより、上位装置のファイバチャネルポート交換後に、セキュリティ情報を意識的に変更することなく、ファイバチャネルポート交換前と同様のデータ入出力を可能とする構成である（特許文献１の図1参照）。
【０００５】
従って、このシステムにおいても、同様にポートを切り替えることにより、制御テーブルのポート情報も矛盾無く補正できるので、信頼性を向上させることができる。
【特許文献１】特開２００２−３１２１２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従って、以上のようなシステムにおけるデバイスのアクセス制御方法は、アクセスポートの切替え等のみについて記載されているが、ファイバチャネルデバイス５３の交換や故障に伴うファイバチャネルイベントによる一時的なエラーに対して、一律にループ５１からループに５２に切替えるものであって、種々の問題が指摘されている。
【０００７】
（１）  ファイバチャネルイニシエータデバイス５４は、メインループ５1の使用中、サブループ５２を使用してアクセスを行っていないので、サブループ５２の品質チェックが行われていない。その結果、メインループ５１の閉塞時、サブループ５２に切替えてファイバチャネルデバイス５３のアクセスポートにデータを送信した場合、サブループ５２の故障等によって使用できない状態が発生する。
【０００８】
（２）  また、メインループ５１のみを使用する場合、使用できる帯域がファイバチャネルの論理的帯域幅一つ分に限定されるので、メインループ５1及びサブループ５２を使用する場合と比較し、使用できる帯域が半減してしまう問題がある。
【０００９】
（３）  さらに、同一ループ上に複数のファイバチャネルデバイス５３，…が接続されているシステムの場合、オンラインで保守を行うのが一般的である。この保守時、デバイス５３の切り離しや組込みのタイミングでノイズやループ初期化のプロトコルが流れ、Ｉ/Ｏが一時的に途切れてしまい、本来の故障によるエラーとは別の一時的なエラーが発生する。
【００１０】
しかし、実際上、ＦＣ上の情報からは一時的なエラーか本来の故障によるエラーかを判別することができない。その結果、このようなシステムでは、エラーが発生したとき、自動的にメインループ５１からサブループ５２に切替える仕組みとなっているので、正常な保守時にメインループ５１からサブループ５２に切替ってしまう。
【００１１】
本来、メインループ５１は健全な状態にあるにも拘らず、正常な保守作業を行った結果、ＦＣ上のイベントの発生によってエラーが発生しただけであり、保守作業が終了すればメインループ５１が正常な状態に戻る。このことは、健全なメインループ５１を閉塞させてしまうので、本来健全であるファイバチャンネルループを縮退してしまう問題がある。
【００１２】
（４）  さらに、ファイバチャネルデバイス５３，…のうち、あるデバイス５３のあるポートが壊れた場合、当該デバイスのポートにアクセスしたときにエラーが発生し、メインループ５１からサブループ５２に自動的に切替ってしまう。この場合、当該デバイス５３のポートは壊れているが、同じメインループ５２に接続される他のデバイスのポートが健全であるにも拘らず、ループ全体を切替えてしまう。このことは、システム本来の冗長が高いにも拘らず、ループ全体を切替えることから、不要な縮退動作を行ってしまい、信頼性を損ねる問題がある。
【００１３】
本発明は上記事情に鑑みてなされたもので、ファイバチャネルループを極力縮退せずに冗長ループを有効に生かしながら使用するファイバチャネルデバイスのアクセス制御方法、ファイバチャネルデバイスシステム及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
（１）  上記課題を解決するために、本発明は、イニシエータドライバが冗長な複数のポートを備えたファイバチャネルデバイスに対してアクセス制御を行うファイバチャネルデバイスのアクセス制御方法において、選択対象となるファイバチャネルデバイスの指定に基づき、前記イニシエータドライバは、選択対象ファイバチャネルデバイスの各アクセスポートを選択し、当該ポートに対してアクセスを実施して利用可能状態かエラー検出による利用不可能状態かを判断し、選択対象となるファイバチャネルデバイス毎にアクセスポートを決定する方法である。
【００１５】
この発明は以上のような方法をとることにより、選択対象となるファイバチャネルデバイスの選択状態となるポートにアクセスし、利用可能状態か利用不可能状態かを判断し、ファイバチャネルデバイス毎にアクセスポートを決定するので、各ファイバチャネルデバイスごとに何れのポートが利用可能か否かを正確に判断でき、一律にファイバチャネルループを縮減させることが無く、効率的に利用できる。
【００１６】
前述するように選択対象ファイバチャネルデバイスのアクセスポートが利用不可能状態と判断された場合、当該選択対象ファイバチャネルデバイスのポートを利用可能から利用不可能に変更し、この利用不可能とされた選択対象ファイバチャネルデバイスのポート以外の別のポートに対して順次リトライし、利用可能有無を決定すれば、一律にファイバチャネルループを切替えることなく、冗長ファイバチャネルループの全てを使用することが可能となり、常に各ファイバチャネル回線の品質チェックを行うことが可能である。
【００１７】
（２）  本発明は、イニシエータドライバが冗長な複数のポートを備えたファイバチャネルデバイスに対してアクセス制御を行うファイバチャネルデバイスシステムにおいて、
前記イニシエータドライバは、選択対象となるファイバチャネルデバイスの指定に基づき、当該選択対象ファイバチャネルデバイスのアクセスポートを選択するアクセスポート選択手段と、この選択されたアクセスポートをアクセスし、ポートの利用可能状態を判断する利用可能判断手段と、この判断手段によって該当ポートが利用不可能と判断された場合、当該選択対象ファイバチャネルデバイスのポートを利用可能状態から利用不可能状態に変更する手段と、この変更後に選択対象ファイバチャネルデバイスの利用不可能状態に変更されたポート以外の別のポートに対して順次リトライし、利用可能有無を決定する他ポートリトライ実行手段とを設けたファイバチャネルデバイスシステムである。
【００１８】
この発明は以上のような構成とすることにより、前述する方法と同様な作用効果を奏する。
【００１９】
なお、以上のような一連の処理手順となるプログラムを記憶媒体に読取り可能に記憶し、ＣＰＵで読み取ることにより、以上のようなシステムを実現することも可能である。
【００２０】
（３）  本発明は、前記（１）項に記載する方法に新たに、選択対象ファイバチャネルデバイスのアクセスポートが利用不可能状態と判断された場合、当該選択対象ファイバチャネルデバイスのポートを利用可能から利用不可能に変更設定し、この利用不可能とされた選択対象ファイバチャネルデバイスのポートに対して一定時間毎にアクセスし、健全性をチェックし、健全性が確認された場合には前記利用不可能から利用可能に回復処理し、一方、健全性が確認されない場合には所定回数リトライを繰り返すようにすれば、デバイスのオンライン交のごとき正常な保守や故障に伴うファイバチャネルイベントにより、一定の短時間ループが使用できなくなってループ切替え後であっても、リトライにより本来健全であるファイバチャネルループを回復するので、冗長ファイバチャネルを有効に生かすことができ、信頼性／可用性を高めることができる。
【００２１】
なお、前述する一定の短時間よりも十分に長い時間を周期としてタイムアウトするタイマを起動し、このタイマのタイムアウト後、利用不可能とされた縮退状態のデバイスのポートが存在するか否かを判断し、縮退状態のデバイスのポートが存在する場合には前述する一連の回復処理を行うようにすれば、前述と同様の作用効果を奏する。
【００２２】
（４）  さらに、本発明は、前記（１）項の方法において、選択対象となるデバイスのアクセスポートを決定方法としては、複数のファイバチャネルデバイスの冗長ポートがＮ（Ｎ＝２以上の整数）の場合、ファイバチャネルループＩＤのＮによる剰余（ｍｏｄ  Ｎ）に基づき、選択対象となるデバイスのアクセスポートを決定するか、或いはファイバチャネルデバイスの冗長ポート数に基づいて各デバイスに均等にアクセスポートを割当て、その後のデバイスの追加及び又は削除に対し、偏りがないようにアクセスポートを割当てる方法をとれば、選択対象となるデバイスのアクセスポートの均等化を図ることが可能であり、選択対象となるデバイスの追加／削除の際にもポート間に偏りがないように均等ないし補正処理を実行するので、冗長ファイバチャネルループをデバイス毎に分散して使用するので、冗長ファイバチャネルループの全てを常に使用することにより、各ファイバチャネル回線の品質チェックを行うことが可能である。また、冗長ファイバチャネルループをデバイス毎に分散して使用することにより、アクセス帯域を「ファイバチャネル帯域×冗長数」に拡大することが可能である。
【発明の効果】
【００２３】
本発明は、ファイバチャネルループを極力縮退せずに冗長ループを有効に生かしながら使用するファイバチャネルデバイスのアクセス制御方法、ファイバチャネルデバイスシステム及びプログラムを提供できる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明の実施の形態について図面を参照して説明する。  
図１は本発明に係るファイバチャネルデバイスのアクセス制御方法を適用した２ポートファイバチャネルＨＤＤを用いたディスクアレイシステムであって、図１０に示すファイバチャネルデバイスシステムと全く同様な構成であるので、詳細は図１０の説明に譲る。
【００２５】
すなわち、このディスクアレイシステムは、図１０の構成と対させて説明すると、ＦＣ（Ｆｉｂｅｒ  Ｃｈａｎｎｅｌ）  Ｌｏｏｐ０は例えばメインループ５１に相当し、ＦＣ  Ｌｏｏｐ１は例えばサブロープ５２に相当し、複数の２ポートファイバチャネルＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１０，１１，１２，…，１ｎはファイバチャネルデバイス５３，…に相当し、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）コントローラ２はファイスバチャネルイニシエータデバイス５４を含んだ構成に相当する。
【００２６】
本発明に係るファイバチャネルデバイスのアクセス制御方法に関する実施の形態は、専らファイスバチャネルイニシエータデバイス５４を含むＲＡＩＤコントローラ２の一連のアクセス制御処理であるので、以下、特に図１，図１０を意識することなく、アクセス制御処理について説明する。
【００２７】
なお、ＲＡＩＤコントローラ２は、所要のソフトウエア処理を実行させるための情報を提供する上位モジュール２ａ及びファイスバチャネルイニシエータデバイス５４に相当するイニシエータドライバ２ｂを含む構成となっている。
【００２８】
（実施の形態１）
図２は本発明に係るファイバチャネルデバイスシステムの一実施の形態を示す機能構成図である。
【００２９】
このファイバチャネルデバイスシステムは、図１に示す構成となっているが、特にＲＡＩＤコントローラ２のイニシエータドライバ２ｂは、ＣＰＵで構成されている場合、プログラムに一連の処理手順を記録し、次のような機能を実現する。すなわち、イニシエータドライバ２ｂであるＣＰＵは、上位モジュール２ａから順次選択されたる選択対象デバイスである２ポートファイバチャネルＨＤＤのＩ／Ｏ要求を受け取って記憶装置１１に設定するＩ／Ｏデバイス設定機能１２、ここで設定された選択対象デバイスのアクセスポートを選択するアクセスポート選択機能１３、この選択機能１３で選択される選択対象デバイスの各アクセスポートの利用可否を判断し、利用可能アクセスポートを決定するポート利用可否判断機能１４、このポート利用可否判断機能１４によって選択対象デバイスのアクセスポートが利用不可能と判断された場合、少なくとも記憶装置１１の該当ポートエリアに利用不可状態のデータ又はフラグを設定し、利用不可能状態のポート以外の別のポートに対して順次リトライを実行し、ポートの健全性、ひいては各デバイスのアクセスポートを決定する他ポートリトライ実行機能１５を実現する。
【００３０】
なお、ＲＡＩＤコントローラ２のイニシエータドライバ２ｂは、一連の処理手順が記録されているプログラムを読み取ってＣＰＵにより処理したが、論理的な構成によっても同様に実現することができる。
【００３１】
次に、以上のようなファイバチャネルデバイスシステムの動作及びファイバチャネルデバイスのアクセス制御方法の処理動作について図３を参照して説明する。
【００３２】
上位モジュール２ａは、少なくとも１つのノードであるファイバチャネルデバイス（例えば２ポートファイバチャネルＨＤＤ）Ｘの選択状態（Ｓｅｌｅｃｔｉｖｅ  Ｓｔａｔｅ：ＳＳ）に関するＩ／Ｏ要求を送出する（Ｓ１）。このＩ／Ｏ要求としては、ファイバチャネルデバイスＸに関し、当該デバイスＸの冗長ポートＹをチェックするための指定データを意味する。
【００３３】
指定データ例：選択状態（ＳＳ［ＬｏｏｐＩＤ］［ポートＮｏ］）：
ＳＳ［Ｘ］［０］＝非選択，ＳＳ［Ｘ］［１］＝非選択，…，
ＳＳ［Ｘ］［Ｙ］＝選択，…
イニシエータドライバ２ｂは、デバイスＸの冗長ポートＹをチェックするための指定データを受信すると（Ｓ２）、選択対象デバイスＸの選択状態であるアクセスポートＹを選択する（Ｓ３）。そして、選択対象デバイスＸのポートＹを実際にアクセスし、利用可能状態か利用不可能状態かを判断し（Ｓ４）、利用不可能状態であれば選択対象デバイスＸの他のポートに変更し（Ｓ５）、同様にポートが利用可能か否かを判断する。
【００３４】
ステップＳ４において、選択対象デバイスＸのポートＹが利用可能であれば、この選択対象デバイスＸに対するコマンドをポートＹからイニシエータドライバ２ｂに送信する（Ｓ６）。
【００３５】
ところで、ステップＳ４において選択対象デバイスＸのポートＹが利用不可能である場合、選択対象デバイスＸのポートＹ以外のポート及びデバイスＸ以外のデバイスのポートに変更するが（Ｓ５）、具体的には図４を参照して説明する。
【００３６】
今、選択対象デバイスＦＣ  ＬｏｏｐＩＤ＝ＸのポートＹにアクセスし、Ｉ／Ｏ要求に対してエラーが検出されると（Ｓ１１）、選択対象デバイスＸのポートＹに相当する記憶装置１１の該当エリアに利用可能から利用不可能またはそれに相当するフラグを設定することで変更し（Ｓ１２）、この選択対象デバイスＸのポートＹ以外のポートに順次リトライし（Ｓ１３）、ポート利用可能の有無を判断する（Ｓ４）。そして、全てのポートが利用不可能な状態にあれば、上位モジュール２ａに対して応答を返送する。
【００３７】
従って、以上のような実施の形態によれば、選択対象となるファイバチャネルデバイスの指定に基づき、当該デバイスの各アクセスポートを選択し、利用可能状態かエラー検出による利用不可能状態かを判断するので、従来のようにＦＣ  Ｌｏｏｐ単位に切替えるのと異なり、各デバイスの各ポートごとに利用可能有無状態を認識でき、あるデバイスのあるポートのエラーに対し、一律にファイバチャネルループを縮減させることが無く、効率的に利用できる。
【００３８】
また、上記実施の形態では、個々のファイバチャネルデバイス単位でアクセスポートの切替えを行うため、各デバイスの各ポートの状態を判断しながらファイバチャネルループの使い分けが可能となる。このことは、一律にファイバチャネルループを切替えることなく、冗長ファイバチャネルループの全てを使用することが可能となり、常に各ファイバチャネル回線の品質チェックを行うことができる。
【００３９】
（実施の形態２）
図５は本発明に係るファイバチャネルデバイスのアクセス制御方法の他の実施の形態を説明する処理手順図である。
【００４０】
この実施の形態は、図２に示す選択対象デバイスＸのポート利用可否判断機能１４において、当該選択対象デバイスＸその他のデバイスのポートが利用不可能と判断されたときの当該ポートの回復処理を行う例である。
【００４１】
具体的には、選択対象デバイスＸのポートＹが利用不可能と判断されたとき、選択対象デバイスＸのポートＹに相当する記憶装置１１の該当エリアに利用可能から利用不可能データ又はそれに相当するフラグを設定することで利用不可能に変更するポート利用可否変更機能２１、選択対象デバイスＸのポートＹに対する利用不可変更後、一定時間毎にデバイスＸのポートＹに対するアクセスによるＩ／Ｏによって健全性をチェックする一定時間毎健全性チェック機能２２、この機能２２で健全と判断された時には直ちに選択対象デバイスＸのポートＹを利用可能に回復させる回復処理機能２３、一定時間毎健全性チェック機能２２によって健全でないと判断された場合、予め定める最大設定回数に達するまでリトライを繰り返すリトライ回数計数機能２４等によって実現されている。
【００４２】
次に、以上のような機能を有するファイバチャネルデバイスのアクセス制御方法の処理動作について図６を参照して説明する。
【００４３】
前述するステップＳ４（図３参照）において、選択対象デバイスＸのポートＹに対するＩ／Ｏ要求の結果、エラーと検出されると、選択対象デバイスＸのポートＹが利用不可能と判断し、選択対象デバイスＸのポートＹに相当する記憶装置１１の該当エリアに利用可能から利用不可能データまたはそれに相当するフラグを設定することで利用不可能に変更した後（Ｓ２１）、図４に示すように選択対象デバイスＸのポートＹ以外のポート及び選択対象デバイスＸ以外のポートに対してリトライを実行するが（Ｓ１１〜Ｓ１３）、この一連の処理とは別に利用不可能とされた選択対象デバイスＸのポートＹに対する回復処理を実行する。
【００４４】
この選択対象デバイスＸのポートＹに対する回復処理は、選択対象デバイスＸのポートＹを利用不可能に変更した後（Ｓ２１）、リカバリチェックタイマを起動するが（Ｓ２２）、このタイマ起動とほぼ同様に例えば記憶装置１１又は別のメモリカウンタ（図示せず）にリトライ回数ｉ＝１を設定した後（Ｓ２３）、起動したタイマから一定時間を経過したか否かを判断する（Ｓ２４）。一定時間を経過した場合、前述する選択対象デバイスＸのポートＹの健全性をチェックするために該当ポートＹに対するアクセスを実行する（Ｓ２５）。
【００４５】
この健全性チェックのアクセスに基づき、デバイスＸのポートＹが健全か否かを判断し（Ｓ２６）、健全でないと判断された場合にはメモリカウンタなどの前回までのリトライ回数ｉに＋１インクリメントした後（Ｓ２７）、この計数されたリトライ回数ｉ＋１と予め設定されたリトライ最大回数ｉMAXとを比較し（Ｓ２８）、未だ計数されたリトライ回数がリトライ最大回数を越えていない場合には再度タイマを起動し（Ｓ２９）、同様の処理を繰り返し実行する。一方、リトライ回数がリトライ最大回数を越えた場合、健全になる見込みがないと判断し、健全性リトライチェックを停止する（Ｓ３０）。
【００４６】
ステップＳ２６において、選択対象デバイスＸのポートＹが健全であると判断された場合、当該デバイスＸのポートＹの利用不可能を利用可能に変更し、回復処理を行う（Ｓ３１）。
【００４７】
従って、以上のような実施の形態によれば、利用不可能とされたファイバチャネルデバイスのポートに対して一定時間毎に健全性をチェックするので、一時的なエラーや保守中のエラーであっても保守終了後は健全性を確認してポートの回復処理をとることができ、常にファイバチャネルデバイスの本来の冗長を有効に生かすことができる。
【００４８】
図７は本発明に係るファイバチャネルデバイスのアクセス制御方法の別の処理動作を説明する図である。
【００４９】
図６は選択対象デバイスＸのポートＹが利用不可能状態になった後、比較的短い一定時間ごとに予め定めたリトライ最大回数まで健全性のチェックを繰り返す処理を行ったが、リトライ回数がリトライ最大回数を越えた後は全く健全性のチェックが行われない。
【００５０】
図７による健全性チェックは、図６によるリトライ回数がリトライ最大回数を越えた後でも所定周期ごとに選択対象デバイスＸのポートＹについて健全性のチェックを行うように例である。
【００５１】
具体的には、図６の一定時間よりも十分に長い一定周期でタイムアウトするグローバルリカバリチェックタイマ（図示せず）を備え、図６に示すステップＳ２１によって選択対象デバイスＸのポートＹを利用不可能に変更した後（Ｓ２１）、タイムアウト可能なグローバルリカバリチェックタイマを起動する（Ｓ４１）。このグローバルリカバリチェックタイマが一定周期の経過でタイムアウトすると（Ｓ４２）、記憶装置１１から縮退状態にあるデバイスの各ポートが存在するか否かを判断し（Ｓ４３）、縮退状態デバイスのポートが存在する場合、縮退状態の各デバイスの各ポートに対し、図６のステップＳ２３〜Ｓ３１を繰り返し実行し、縮退状態のデバイスのポートの回復チェックを行う。
【００５２】
従って、以上のような実施の形態によれば、一定周期ごとに縮退状態の各デバイスの各ポートに対して健全性のチェックを行うので、定期的に縮退状態の各デバイスの各ポートの回復処理を行うことができる。
【００５３】
なお、図５〜図７で説明した健全性チェックとしては、ＦＣ規格であるFCP-SCSIコマンドを送信し、一定のタイムアウト時間内にFCP-SCSIの交換が正常に行われた場合、健全性チェックの対象となったデバイスのポートを健全と判断し、記憶装置１１の当該対象となったデバイスのポートに対応するエリアの利用不可能を利用可能に変更回復し、再使用可能にすることができる。
【００５４】
また、このFCP-SCSIコマンドとしては、ＦＣ規格であるTest  Unit  Readyコマンドを使用し、一定のタイムアウト時間内に対象デバイスからFCP-RSPフレームにて、SCSI-STATUS  GOODの応答があった場合に対象デバイスのポートを健全と判断し、記憶装置１１の当該対象となったデバイスのポートに対応するエリアの利用不可能状態を利用可能状態に変更回復し、再使用可能にすることができる。
【００５５】
（実施の形態３）
図８は本発明に係るファイバチャネルデバイスシステムの他の実施の形態を説明するハード構成図である。
【００５６】
この実施の形態は、ファイバチャネルＨＤＤ１ｉ(ｉ＝１〜ｎ）を含むファイバチャネルデバイス３，…が冗長ポート数Ｎを有する場合の選択状態の決定するための例である。
【００５７】
図８に示す構成において、ファイバチャネルループＩＤ：Ｘ、冗長ポート数：Ｎとすると、Ｌｏｏｐ  ＩＤ＝ＸのファイバチャネルＨＤＤ１ｘ（網掛け）のアクセスポートは、ポートＮｏ＝Ｘ  ｍｏｄ  Ｎにより決定する。従って、選択状態（Ｓｅｌｅｃｔｉｖｅ  Ｓｔａｔｅ：ＳＳ）は、
Ｙ＝Ｘ  ｍｏｄ  Ｎ｛又はＹ≡Ｘ（Ｎ）｝であるとすると、
ＳＳ［Ｘ］［Ｙ］＝選択、ＳＳ［Ｘ］［Ｚ］＝非選択（Ｚ：０≦Ｚ≦Ｎ、Ｚ≠Ｙ）となり、選択対象デバイスＸのポートＹをアクセスポートとし、記憶装置１１などに設定する。すなわち、前述する実施の形態１における選択状態の決定として、例えば冗長ポート数がＮ個もっている場合、ファイバチャネルループＩＤのＮによる剰余（ｍｏｄ  Ｎ）に基づいて選択状態，つまり選択対象となるデバイスのアクセスポートを決定する。
【００５８】
従って、以上のような実施の形態によれば、複数のファイバチャネルデバイスの冗長ポートがＮ（Ｎ＝２以上の整数）の場合、ファイバチャネルループＩＤのＮによる剰余（ｍｏｄ  Ｎ）に基づいて選択状態を決定するので、冗長ファイバチャネルループをデバイス毎に分散して使用することができ、ひいてはアクセス帯域を拡大することができる。
【００５９】
（実施の形態４）
図９は本発明に係るファイバチャネルデバイスのアクセス制御方法の更に他の実施の形態を説明する図である。
【００６０】
ファイバチャネルデバイスシステムは、ファイバチャネルデバイスを含むイニシエータドライバ２ｂを起動する（Ｓ５１）。イニシエータドライバ２ｂは、システム起動後、ファイバチャネルループに接続されるファイバチャネルデバイスを検出していき、その検出結果を記憶装置１１などに格納する（Ｓ５２）。しかる後、イニシエータドライバ２ｂは、選択状態（Ｓｅｌｅｃｔｉｖｅ  Ｓｔａｔｅ：ＳＳ）の均等割当てを実施する（Ｓ５３）。
【００６１】
この均等割当ては、次のような順序に従って行う。
【００６２】
（１）  検出されたデバイスをＬｏｏｐＩＤの順番に並べる（例：１，２，３，５，７）。
【００６３】
（２）  ポート番号の小さい順番に選択ポートを割当てる。
【００６４】
例：ポート数３の場合
ＳＳ［１］［０］＝選択  、ＳＳ［１］［１］＝非選択  、ＳＳ［１］［２］＝非選択
ＳＳ［２］［０］＝非選択、ＳＳ［２］［１］＝選択    、ＳＳ［２］［２］＝非選択
ＳＳ［３］［０］＝非選択、ＳＳ［３］［１］＝非選択  、ＳＳ［３］［２］＝選択
ＳＳ［５］［０］＝選択  、ＳＳ［５］［１］＝非選択  、ＳＳ［５］［２］＝非選択
ＳＳ［７］［０］＝非選択、ＳＳ［７］［１］＝選択    、ＳＳ［７］［２］＝非選択
以上のようにして選択状態を均等に割当てた後、ファイバチャネルデバイスの追加/削除が行われるが、これらファイバチャネルデバイスの追加/削除を検出する（Ｓ５４）。
【００６５】
このファイバチャネルデバイスの追加検出時、検出された追加デバイスの選択状態をポート間で均等になるように決定する。つまり、アクセスポート間でアクセスデバイス数に偏りがある場合、より少ないアクセスデバイス数のポートに割当てる。アクセスポート間でアクセスデバイス数に偏りが無い場合、ポート番号が一番小さいポートに割当てる。
【００６６】
一方、ファイバチャネルデバイスの削除検出時、削除後の構成において選択状態がポート間で偏りがある場合、補正する。この補正は、アクセスポートでアクセスデバイス数が一番多いものからアクセスしているデバイスのうち、ＦＣ  Ｌｏｏｐ  ＩＤが最大のものをアクセスデバイス数が一番少ないアクセスポートへ割当て変更する。
【００６７】
このような実施の形態によれば、選択対象となるデバイスのアクセスポートの均等化を図るとともに、選択対象となるデバイスの追加／削除に対しても、ポート間の偏りがないように選択状態の均等ないし補正処理を実行するので、冗長ファイバチャネルループをデバイス毎に分散して使用するので、冗長ファイバチャネルループの全てを常に使用することにより、各ファイバチャネル回線の品質チェックを行うことができる。
【００６８】
また、冗長ファイバチャネルループをデバイス毎に分散して使用することにより、アクセス帯域を「ファイバチャネル帯域×冗長数」とすることができる。
【００６９】
その他、本発明は、上記実施の形態に限定されるものでなく、その要旨を逸脱しない範囲で種々変形して実施できる。
【００７０】
また、各実施の形態は可能な限り組み合わせて実施することが可能であり、その場合には組み合わせによる効果が得られる。さらに、上記各実施の形態には種々の上位，下位段階の発明が含まれており、開示された複数の構成要素の適宜な組み合わせにより種々の発明が抽出され得るものである。例えば問題点を解決するための手段に記載される全構成要件から幾つかの構成要件が省略されうることで発明が抽出された場合には、その抽出された発明を実施する場合には省略部分が周知慣用技術で適宜補われるものである。
【図面の簡単な説明】
【００７１】
【図１】本発明に係るファイバチャネルデバイスのアクセス制御方法を適用したファイバチャネルデバイスシステムの構成図。
【図２】本発明に係るファイバチャネルデバイスシステムの一実施の形態を示す機能構成図。
【図３】本発明に係るファイバチャネルデバイスのアクセス制御方法の一実施の形態を説明する図。
【図４】本発明に係るファイバチャネルデバイスのアクセス制御方法の他の実施の形態を説明する図。
【図５】本発明に係るファイバチャネルデバイスのアクセス制御方法を実現するための別の機能構成図。
【図６】本発明に係るファイバチャネルデバイスのアクセス制御方法の更に他の実施の形態を説明する図。
【図７】本発明に係るファイバチャネルデバイスのアクセス制御方法の更に他の実施の形態を説明する図。
【図８】本発明に係るファイバチャネルデバイスシステムの他の実施の形態を示す構成図。
【図９】本発明に係るファイバチャネルデバイスのアクセス制御方法の更に他の実施の形態を説明する図。
【図１０】従来の一般的なファイバチャネルデバイスを示す構成図。
【符号の説明】
【００７２】
１０，１１，１２，…、５３…ファイバチャネルデバイス（ファイバチャネルＨＤＤ）、２…ＲＡＩＤコントローラ、２ｂ，５４…ファイバチャネルイニシエータデバイス、１１…記憶装置、１３…アクセスポート選択機能、１４…ポート利用可否判断機能、１５…他ポートリトライ実行機能、２１…ポート利用可否変更機能、２２…健全性チェック機能、２３…回復処理機能、２４…リトライ回数計数機能。
【図１】
2005284387.tif 000003
【図２】
2005284387.tif 000004
【図３】
2005284387.tif 000005
【図４】
2005284387.tif 000006
【図５】
2005284387.tif 000007
【図６】
2005284387.tif 000008
【図７】
2005284387.tif 000009
【図８】
2005284387.tif 000010
【図９】
2005284387.tif 000011
【図１０】
2005284387.tif 000012