(57)【要約】      （修正有）【課題】識別情報診断方法及び入出力装置に関し、誤ったスロット値が読み出されたＨＤＤ等の記憶装置を特定することができ、正常なアクセスを可能とする。【解決手段】各デバイスエンクロージャの各スロットに実装される記憶装置に固有の第１の識別情報が書き込まれ、各デバイスエンクロージャ固有の第２の識別情報と当該デバイスエンクロージャに実装された各記憶装置から読み出された第１の識別情報から各記憶装置の物理アドレスを算出して当該記憶装置に書き込む構成の入出力装置において、予めメモリに格納されている第１及び第２の識別情報から正規の物理アドレスを算出し、正規の物理アドレスでアクセスされた記憶装置から第１の識別情報を読み出し、前記正規の物理アドレスと対応する正規の第１の識別情報を格納する診断テーブルに基づいて、前記正規の物理アドレスでアクセスされた記憶装置から読み出された第１の識別情報を診断するように構成する。【選択図】図１
2006227818.tif 000002
【特許請求の範囲】
【請求項１】
各デバイスエンクロージャの各スロットに実装される記憶装置に固有の第１の識別情報が書き込まれ、各デバイスエンクロージャ固有の第２の識別情報と当該デバイスエンクロージャに実装された各記憶装置から読み出された第１の識別情報から各記憶装置の物理アドレスを算出して当該記憶装置に書き込む構成の入出力装置において、
予めメモリに格納されている第１及び第２の識別情報から正規の物理アドレスを算出するステップと、
正規の物理アドレスでアクセスされた記憶装置から第１の識別情報を読み出すステップと、
該正規の物理アドレスと対応する正規の第１の識別情報を格納する診断テーブルに基づいて、該正規の物理アドレスでアクセスされた記憶装置から読み出された第１の識別情報を診断するステップとを含むことを特徴とする、識別情報診断方法。
【請求項２】
前記診断するステップは、第１の識別情報が所定値の場合の正規の物理アドレスでアクセスされた記憶装置から第１の識別情報が読み出されないと、第１の識別情報が所定値であるスロットに実装された記憶装置の異常を確認することを特徴とする、請求項１記載の識別情報診断方法。
【請求項３】
前記診断するステップは、第１の識別情報が所定値の場合の正規の物理アドレスでアクセスされた記憶装置から読み出された第１の識別情報が、第１の識別情報が所定値の場合の正規の物理アドレスに対応する第１の識別情報として前記診断テーブル格納されていないと、第１の識別情報が所定値であるスロットに実装された記憶装置の異常を確認することを特徴とする、請求項１又は２記載の識別情報診断方法。
【請求項４】
前記診断するステップは、各デバイスエンクロージャ内で行われることを特徴とする、請求項１〜５のいずれか１項記載の識別情報診断方法。
【請求項５】
前記診断するステップは、各デバイスエンクロージャを共通に制御するコントローラ内で行われることを特徴とする、請求項１〜５のいずれか１項記載の識別情報診断方法。
【請求項６】
各デバイスエンクロージャの各スロットに実装される記憶装置に固有の第１の識別情報が書き込まれ、各デバイスエンクロージャ固有の第２の識別情報と当該デバイスエンクロージャに実装された各記憶装置から読み出された第１の識別情報から各記憶装置の物理アドレスを算出して当該記憶装置に書き込む構成の入出力装置において、
予めメモリに格納されている第１及び第２の識別情報から正規の物理アドレスを算出する算出手段と、
正規の物理アドレスでアクセスされた記憶装置から第１の識別情報を読み出す読み出し手段と、
該正規の物理アドレスと対応する正規の第１の識別情報を格納する診断テーブルに基づいて、該正規の物理アドレスでアクセスされた記憶装置から読み出された第１の識別情報を診断する診断手段とを備えたことを特徴とする、入出力装置。
【請求項７】
前記診断手段は、第１の識別情報が所定値の場合の正規の物理アドレスでアクセスされた記憶装置から第１の識別情報が読み出されないと、第１の識別情報が所定値であるスロットに実装された記憶装置の異常を確認することを特徴とする、請求項６記載の入出力装置。
【請求項８】
前記診断手段は、第１の識別情報が所定値の場合の正規の物理アドレスでアクセスされた記憶装置から読み出された第１の識別情報が、第１の識別情報が所定値の場合の正規の物理アドレスに対応する第１の識別情報として前記診断テーブル格納されていないと、第１の識別情報が所定値であるスロットに実装された記憶装置の異常を確認することを特徴とする、請求項６又は７記載の入出力装置。
【請求項９】
前記診断手段は、各デバイスエンクロージャ内に設けられていることを特徴とする、請求項６〜８のいずれか１項記載の入出力装置。
【請求項１０】
各デバイスエンクロージャを共通に制御するコントローラを備え、前記診断手段は該コントローラ内に設けられていることを特徴とする、請求項６〜８のいずれか１項記載の入出力装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は識別情報診断方法及び入出力装置に係り、特に入出力装置に実装されている記憶装置の識別情報を診断する識別情報診断方法及びそのような識別情報診断方法を採用する入出力装置に関する。
【背景技術】
【０００２】
従来より、複数のハードディスク装置（ＨＤＤ：Hard Disk Drive）が実装されたデバイスエンクロージャが複数台、ラックに装填された構成の入出力装置がある。このような入出力装置では、各デバイスエンクロージャに設けた複数のスロットの夫々にＨＤＤを実装して各ＨＤＤに異なるスロット値を設定し、電源オン時等にデバイスエンクロージャのＩＤ及びＨＤＤから読み出したスロット値に基づいてＡＬ＿ＰＡ（Arbitrated Loop Physical Address）マップを作成する。デバイスエンクロージャのＩＤは、各デバイスエンクロージャを示す固有の識別情報である。又、スロット値は、１台のデバイスエンクロージャ内のスロット位置を示す各スロット位置固有の識別情報である。ホスト装置からのアクセス要求があると、ＡＬ＿ＰＡマップを参照して該当するＨＤＤをアクセスする。このようなＡＬ＿ＰＡマップを用いることで、アクセス要求時に該当するＨＤＤがどのデバイスエンクロージャのどのスロットに挿入されているかを知ることができる。
【０００３】
１台のデバイスエンクロージャ内の各スロットに実装されたＨＤＤのスロット値は一意であるが、異なるデバイスエンクロージャ間では必ずしも一意ではない。このため、電源オン時等に毎回、デバイスエンクロージャのＩＤ及び当該デバイスエンクロージャに実装されているＨＤＤに設定されているスロット値からスロットＩＤを取得してＡＬ＿ＰＡマップを作成する。ホスト装置からのアクセス要求があると、ＡＬ＿ＰＡマップを参照して該当するＨＤＤ、即ち、ＨＤＤに対応する一意のアドレス（物理位置）をアクセスする。
【０００４】
このような入出力装置は、例えば特許文献１に記載されている。
【特許文献１】特開２００４−２２０２６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
デバイスエンクロージャのバックパネルからは、対応するスロットに実装されたＨＤＤにスロット値に対応するスロット位置信号がコネクタを介して供給される。上記の如きＡＬ＿ＰＡマップを作成する際には、ＨＤＤからスロット値が読み出される。このため、コネクタに異物等が付着しておりスロット位置信号の少なくとも一部（例えば、１ビット）が異物等によりブロックされてＨＤＤに供給されないと、ＨＤＤから正しいスロット値を読み出すことができないので、本来意図された正しいＡＬ＿ＰＡマップを作成することができない。正しいＡＬ＿ＰＡマップを作成することができないと、本来意図されたＨＤＤに正しくアクセスすることができないという問題があった。
【０００６】
又、ＨＤＤから正しいスロット値を読み出すことができないと、例えば１つのデバイスエンクロージャに実装されている２つの異なるＨＤＤから同じスロット値が読み出されてしまう可能性がある。この場合、実際に異常が発生しているスロットに挿入されている１つのＨＤＤをデバイスエンクロージャから切り離せば良いが、どのＨＤＤから読み出されたスロット値が誤っているのかを判断することができないため、同じスロット値が読み出された２つのＨＤＤの両方をデバイスエンクロージャから切り離すことになり、資源（ＨＤＤ等の記憶装置）の有効利用を図ることができないという問題があった。
【０００７】
そこで、本発明は、誤った識別情報が読み出されたＨＤＤ等の記憶装置を特定することができ、記憶装置への正常なアクセスを可能とする識別情報診断方法及び入出力装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の課題は、各デバイスエンクロージャの各スロットに実装される記憶装置に固有の第１の識別情報が書き込まれ、各デバイスエンクロージャ固有の第２の識別情報と当該デバイスエンクロージャに実装された各記憶装置から読み出された第１の識別情報から各記憶装置の物理アドレスを算出して当該記憶装置に書き込む構成の入出力装置において、予めメモリに格納されている第１及び第２の識別情報から正規の物理アドレスを算出するステップと、正規の物理アドレスでアクセスされた記憶装置から第１の識別情報を読み出すステップと、該正規の物理アドレスと対応する正規の第１の識別情報を格納する診断テーブルに基づいて、該正規の物理アドレスでアクセスされた記憶装置から読み出された第１の識別情報を診断するステップとを含むことを特徴とする識別情報診断方法によって達成される。
【０００９】
上記の課題は、各デバイスエンクロージャの各スロットに実装される記憶装置に固有の第１の識別情報が書き込まれ、各デバイスエンクロージャ固有の第２の識別情報と当該デバイスエンクロージャに実装された各記憶装置から読み出された第１の識別情報から各記憶装置の物理アドレスを算出して当該記憶装置に書き込む構成の入出力装置において、予めメモリに格納されている第１及び第２の識別情報から正規の物理アドレスを算出する算出手段と、正規の物理アドレスでアクセスされた記憶装置から第１の識別情報を読み出す読み出し手段と、該正規の物理アドレスと対応する正規の第１の識別情報を格納する診断テーブルに基づいて、該正規の物理アドレスでアクセスされた記憶装置から読み出された第１の識別情報を診断する診断手段とを備えたことを特徴とする入出力装置によっても達成される。
【発明の効果】
【００１０】
本発明によれば、誤った識別情報が読み出されたＨＤＤ等の記憶装置を特定することができ、記憶装置への正常なアクセスを可能とする識別情報診断方法及び入出力装置を実現することができる。
【発明を実施するための最良の形態】
【００１１】
以下に、本発明になる識別情報診断方法及び入出力装置の各実施例を、図面と共に説明する。
【実施例】
【００１２】
図１は、本発明になる入出力装置の一実施例の要部を示すブロック図である。入出力装置の本実施例は、本発明になる識別情報診断方法の一実施例を採用する。又、本実施例では、本発明がＲＡＩＤ（Redundant Arrays of Independent (inexpensive) Disks）構成の装置に適用されているが、これに限定されるものではなく、ＨＤＤ以外の記憶装置を用いても良いことは言うまでもない。
【００１３】
入出力装置１は、ＲＡＩＤコントローラ２及び複数のデバイスエンクロージャ３がラック（図示せず）に装填された構成を有するが、図１では説明の便宜上、１つのデバイスエンクロージャ３のみを示す。デバイスエンクロージャ３は、ＨＤＤ制御部３１及びバックパネル３２からなる。バックパネル３２のスロットには、ＨＤＤ４１−１〜４１−Ｎが実装される。
【００１４】
ＲＡＩＤコントローラ２は、周知のＲＡＩＤ制御を行うことで、各デバイスエンクロージャ３を共通に制御する。ＲＡＩＤコントローラ２は、チャネルアダプタ（ＣＡ：Channel Adaptor）、セントラライズドモジュール（ＣＭ：Centralized Module）、デバイスアダプタ（ＤＡ：Device Adaptor）、ルータ（ＲＴ：Router）及びサービスコントローラ（ＳＶＣ：Service Controller）からなる周知の構成を有する。ＣＡは、ホスト装置との外部インタフェース制御を司るモジュールである。ＣＭは、対応するデバイスエンクロージャ３内の全ての動作を管理するモジュールであり、キャッシュメモリが搭載されている。ＤＡは、物理デバイス（ＨＤＤ）である下位装置との外部インタフェースを制御するモジュールであり、２ポートのファイバチャンネルアービトレーテッドループ（ＦＣＡＬ：Fiber Channel Arbitrated Loop）インタフェースを装備している。ＲＴは、他のＲＡＩＤコントローラとの通信用インタフェースを司るモジュールである。
【００１５】
ＨＤＤ制御部３１は、ファイバチャネル（Fiber Channel）ドライブ接続用のスイッチからなるポートバイパスサーキット（ＰＢＣ：Port Bypass Circuit）により構成されている。ＨＤＤ制御部３１は、後述するテーブル等を格納するレジスタやメモリ３０２等を備えたＭＰＵ３０１、ファイバチャネルコントローラ（ＦＣＣ：Fiber Channel Controller）３０３及びスイッチチップ（ＳＷ−ＣＨＩＰ：Switch-Chip）３０４からなる。ＭＰＵ３０１は、対応するデバイスエンクロージャ３の全体の動作を制御する。ＦＣＣ３０３は、対応するデバイスエンクロージャ３内の各ＨＤＤ４１−１〜４１−Ｎの監視を司り、各ＨＤＤ４１−１〜４１−Ｎに対してファイバチャネル（ＦＣ)コマンドを実行可能である。ＳＷ−ＣＨＩＰ３０４は、ファイバチャネルアービトレーテッドループ（ＦＣＡＬ）切り替え機能と、ＡＬ＿ＰＡ値取得機能を備えたＩＣチップであり、例えばEmulex社製のSOC312,320,422やPMC−SIERRA社製のPM8375等を使用可能である。
【００１６】
バックパネル３２には、各スロットに対応してレジスタ３４−１〜３４−Ｎが設けられている。レジスタ３４−１〜３４−Ｎは、対応するＨＤＤ４１−１〜４１−ＮのスロットＩＤを構成するスロット値（第１の識別情報）を保持する。スロット値は、ＨＤＤ４１−１〜４１−Ｎに対して固定値であり、例えばスロットＩＤの下位４ビットを構成する。デバイスエンクロージャ３毎に固有のデバイスエンクロージャＩＤ（第２の識別情報）は、予めバックパネル３２のレジスタ３４−１〜３４−Ｎに設定されるＨＤＤ４１−１〜４１−Ｎのスロット値と共に、ＨＤＤコントローラ３１のＭＰＵ３０１内のレジスタやメモリ３０２等に予め保持されている。デバイスエンクロージャＩＤは、例えばスロットＩＤの上位３ビットを構成する。
【００１７】
ＲＡＩＤコントローラ２とＨＤＤコントローラ３１内のＭＰＵ３０１との間は、制御インタフェースにより接続されている。ＲＡＩＤコントローラ３１とＨＤＤ制御部３１内のＳＷ−ＣＨＩＰ３０４との間は、ファイバチャネルインタフェース（Fiber Channel Interface）により接続されている。ＨＤＤコントローラ３１内において、ＭＰＵ３０１とＦＣＣ３０３との間、及びＭＰＵ３０１とＳＷ−ＣＨＩＰ３０４との間は、制御インタフェースにより接続されている。ＨＤＤコントローラ３１内のＦＣＣ３０３とＳＷ−ＣＨＩＰ３０４との間は、ファイバチャネルインタフェースにより接続されている。又、ＨＤＤ制御部３１内のＳＷ−ＣＨＩＰ３０４とＨＤＤ４１−１〜４１−Ｎとの間は、ファイバチャネルインタフェースにより接続されており、スロット値はこのファイバチャネルインタフェースを用いてＳＷ−ＣＨＩＰ３０４に読み出すことができる。更に、ＭＰＵ３０１とＨＤＤ４１−１〜４１−Ｎとの間は、デバイスエンクロージャＩＤ設定インタフェースにより接続されており、デバイスエンクロージャ３の電源オン時等にはデバイスエンクロージャＩＤがこのデバイスエンクロージャＩＤ設定インタフェースを介してＨＤＤ４１−１〜４１−Ｎに書き込まれる。
【００１８】
図２は、ＨＤＤのスロットへの実装を説明する斜視図である。図２において、バックパネル３２には、複数の接続端子を有するスロット３３が設けられている。ＨＤＤ４１は、スロット３３に挿入されるコネクタ部４２を有する。コネクタ部４２をスロット３３に挿入することにより、夫々の対応する接続端子が互いに接続される。コネクタ部４２は、例えばＥＩＡ−７００Ａ０ＡＦ（ＳＰ−３６５２）で規定されているＳＣＡ−２コネクタ等で構成でき、ＳＦＦ−８４５１やＳＦＦ−８０４５等の信号要求事項に準拠するものであっても良い。
【００１９】
図３は、スロットＩＤを説明する図である。図３は、1台のＲＡＩＤコントローラ２に対して４台のデバイスエンクロージャ３（ＤＥ００，ＤＥ０１，ＤＥ０２，ＤＥ０３）が接続されており、各デバイスエンクロージャ３に１５台のＨＤＤ４１−１〜４１−１５が対応するスロットＳＬＯＴ００〜ＳＬＯＴ１４に実装されている場合に、各デバイスエンクロージャ３内の各ＨＤＤ４１−１〜４１−１５に対して設定されて書き込まれるスロットＩＤを示す。説明の便宜上、スロットＩＤは７ビットの場合を示す。スロットＩＤは、４ビットのスロット値と、３ビットのデバイスエンクロージャＩＤとから構成される。スロット値は、各デバイスエンクロージャ３内の各ＨＤＤ４１−１〜４１−１５に対して固定値であり、スロットＩＤの下位４ビットを構成する。デバイスエンクロージャＩＤは、各デバイスエンクロージャ３に対して固定値であり、スロットＩＤの上位３ビットを構成する。例えば、デバイスエンクロージャＤＥ００（デバイスエンクロージャＩＤ＝００）内の左から第１番目のＨＤＤ４１−１（ＳＬＯＴ００）のスロットＩＤ＝０００００００であり、デバイスエンクロージャＤＥ００の左から第２番目のＨＤＤ４１−２（ＳＬＯＴ０１）のスロットＩＤ＝００００００１であり、・・・デバイスエンクロージャＤＥ００の左から第１５番目のＨＤＤ４１−１５（ＳＬＯＴ１４)のスロットＩＤ＝０００１１１０である。他のデバイスエンクロージャＤＥ０１，ＤＥ０２，ＤＥ０３についても同様に、図示の如きスロットＩＤが設定される。
【００２０】
以上のように、各ＨＤＤ４１のスロットＩＤを表す７ビット中の上位３ビットを使ってデバイスエンクロージャ３毎に一意のデバイスエンクロージャＩＤを電源オン時等に設定してＭＰＵ３０１内のメモリ３０２に保持することにより、それ以後は各ＨＤＤ４１の７ビットのスロットＩＤを読み出して後述するテーブルを参照してＡＬ＿ＰＡ値を求めてファイバチャネルマップＦＣ−ＭＡＰに設定し、このファイバチャネルマップＦＣ−ＭＡＰに基づいてＲＡＩＤコントローラ２を介して得られるホスト装置からのアクセス要求で要求されているＨＤＤ４１をアクセスすることが可能となる。
【００２１】
図４は、デバイスエンクロージャＩＤの設定時の動作を説明するフローチャートである。図４において、ステップＳＴ１は、入出力装置の電源を投入する。これにより、図１に示すＲＡＩＤコントローラ２及び各デバイスエンクロージャ３の電源がオンになる。ステップＳＴ２では、ＲＡＩＤコントローラ２から各デバイスエンクロージャ３のデバイスエンクロージャＩＤを設定してＭＰＵ３０１内のメモリ３０２に保持する。ステップＳＴ３では、各デバイスエンクロージャ３内のＭＰＵ３０１がデバイスエンクロージャＩＤに基づいて、スロットＩＤの上位３ビットを設定する。例えば、デバイスエンクロージャ３（ＤＥ００）には「０００」を設定するので、デバイスエンクロージャ３毎にスロットＩＤが次のように設定される。
ＤＥ００→０００ｘｘｘｘ
ＤＥ０１→００１ｘｘｘｘ
．．．
ここで、スロットＩＤの下位４ビットの「ｘ」は、「０」又は「１」の任意の４ビットの値であり、各ＨＤＤ４１に付与された固定の値（バックパネル３２内のレジスタ３４に設定された固定の値）である。
【００２２】
ステップＳＴ４では、各デバイスエンクロージャ３内のＭＰＵ３０１がステップＳＴ３で設定されたスロットＩＤに基づいて、後述する図６に示すセルテーブル及びＡＬ＿ＰＡテーブルを参照して図７に示すファイバチャネルマップＦＣ−ＭＡＰのテーブル（以下、単にＦＣ−ＭＡＰテーブルと言う）を作成すると共に、ＳＷ−ＣＨＩＰ３０４のＡＬ＿ＰＡ取得機能を用いて算出したＡＬ＿ＰＡ値を対応するスロットＩＤが書き込まれたＨＤＤ４１に書き込む。
【００２３】
以上により、入出力装置１の電源オン時等に、デバイスエンクロージャ３内のＨＤＤ４１の７ビットのスロットＩＤの上位３ビットに当該デバイスエンクロージャ３毎に一意の値を設定した後は、各ＨＤＤ４１毎のスロットＩＤ（上位３ビットはデバイスエンクロージャのＩＤ、下位４ビットは当該ＨＤＤ４１に対応するスロットのスロット値）に基づいて、後述する図６に示すセルテーブル及びＡＬ＿ＰＡテーブルを参照して図７に示すＦＣ−ＭＡＰテーブルを作成することが可能となる。
【００２４】
図５は、図４に示すステップＳＴ４においてＦＣ−ＭＡＰテーブルを作成する動作を説明するフローチャートである。図５において、ステップＳＴ１１は、デバイスエンクロージャ３及びＨＤＤ４１に対応するスロットＩＤを取得する。ステップＳＴ１２は、スロットＩＤの上位３ビットと下位４ビットに基づいて図６（ａ）に示すセルテーブルを参照してセルＩＤ（ＳＥＬ−ＩＤ）を算出する。図６（ａ）に示すセルテーブル中、横軸はスロットＩＤを構成する上位３ビットを示し、縦軸はスロットＩＤを構成する下位４ビットを示し、交点の値が求めるＳＥＬ−ＩＤである。例えば、ステップＳＴ１１で図２に示すデバイスエンクロージャＤＥ００の左から１番目のＨＤＤ４１−１からスロットＩＤ＝０００００００を取得した場合、上位３ビット「０００」と、下位４ビット「００００」に基づいて図６（ａ）のセルテーブルを参照してＳＥＬ−ＩＤとしてＰ１で示す「００」を取得する。
【００２５】
ステップＳＴ１３は、ＳＷ−ＣＨＩＰ３０４のＡＬ＿ＰＡ値取得機能を用いて、ＳＥＬ−ＩＤに基づいて図６（ｂ）に示すＡＬ＿ＰＡテーブルを参照して対応するＡＬ＿ＰＡ値を算出する。図６（ｂ）に示すＡＬ＿ＰＡテーブル中、ＳＥＬ−ＩＤは図６（ａ）に示すセルテーブルで算出したＳＥＬ−ＩＤを示し、ＡＬ＿ＰＡ値は求めるＡＬ＿ＰＡ（ＨＤＤ４１の物理位置／アドレス）を示す。例えば、ステップＳＴ１２で取得したＳＥＬ−ＩＤ＝００に基づいて、図６（ｂ）に示すＡＬ＿ＰＡテーブルを参照してＡＬ＿ＰＡ値としてＰ２で示す「ＥＦ」を算出する。
【００２６】
ステップＳＴ１４は、ＡＬ＿ＰＡ値が重複しているか否かを判断する。つまり、ステップＳＴ１４は、ステップＳＴ１３で算出したＡＬ＿ＰＡ値が既に同じデバイスエンクロージャ３内の他のＨＤＤ４１に対して算出したＡＬ＿ＰＡ値と重複しているか否かを判別する。ステップＳＴ１４の判定結果がＹＥＳの場合には、ＡＬ＿ＰＡ値が重複しているので、ステップＳＴ１５で当該ＨＤＤ４１独自のＡＬ＿ＰＡ値に変更し、処理はステップＳＴ１６へ進む。他方、ステップＳＴ１４の判定結果がＮＯの場合には、処理は直接ステップＳＴ１６へ進む。
【００２７】
ステップＳＴ１６は、デバイスエンクロージャ３（ＤＥ００）内の全てのＨＤＤ４１のスロットＩＤについてステップＳＴ１１〜ＳＴ１５を実行したか否かを判定する。ステップＳＴ１６の判定結果がＹＥＳの場合には、ステップＳＴ１７で図７に示すＦＣ−ＭＡＰテーブルを作成すると共に、上記算出されたＡＬ＿ＰＡ値を対応するスロットＩＤが書き込まれているＨＤＤ４１に書き込み、処理は終了する。図７に示すＦＣ−ＭＡＰテーブルには、各デバイスエンクロージャ３に対して、各スロットＩＤに対応するＡＬ＿ＰＡ値が設定されている。つまり、ＦＣ−ＭＡＰテーブルには、デバイスエンクロージャＩＤ（スロットＩＤの上位３ビット）及びスロット値（ＨＤＤ４１が実装される各スロット固有のスロット値に対応するスロットＩＤの下位４ビット）に対応付けて、図６（ａ）、（ｂ）に示すセルテーブル及びＡＬ＿ＰＡテーブルを参照して算出したＡＬ＿ＰＡ値が設定されている。例えば、スロットＩＤの上位３ビットが「０００」であるデバイスエンクロージャ３（ＤＥ００）に対しては、スロットＩＤの下位４ビットが「００００」の場合に対応し、ステップＳＴ１３で算出（或いはステップＳＴ１５で変更）したＡＬ＿ＰＡ値「ＥＦ」が設定されている。セルテーブル及びＡＬ＿ＰＡテーブルを用いて作成したＦＣ−ＭＡＰテーブルが、ＡＬ＿ＰＡマップのテーブルを構成し、セルテーブルやＡＬ＿ＰＡテーブルと共にＭＰＵ３０１内のレジスタやメモリ３０２に格納される。
【００２８】
以上により、ＨＤＤ４１から取得したスロットＩＤ（上位３ビット及び下位４ビットからなる）に基づいて、図６に示すセルテーブル及びＡＬ＿ＰＡテーブルを参照してＡＬ＿ＰＡ値を算出して、図７に示すＦＣ−ＭＡＰテーブルに設定することが可能となる。ホスト装置からアクセス要求を受け付けたときに、図７に示すＦＣ−ＭＡＰテーブルを参照して当該ＨＤＤ４１のＡＬ＿ＰＡ値（ＨＤＤ４１の物理位置／アドレス）に基づいてＨＤＤ４１をアクセスすることが可能となる。
【００２９】
図８は、通常のアクセス動作を説明するフローチャートである。図８に示すアクセス動作は、入出力装置１の電源がオンにされてから起動されて動作可能なレディー状態となった後に行われる。図８において、ステップＳＴ２１では、ＲＡＩＤコントローラ２がホスト装置からのアクセス（書き込み）要求に応答して、例えばスロットＩＤで示されるデバイスエンクロージャＤＥ００のスロットＳＬＯＴ００に対するデータ書き込み要求をデバイスエンクロージャ３に対して行う。ステップＳＴ２２では、デバイスエンクロージャ３内のＭＰＵ３０１がデータ書き込み要求のスロットＩＤに対応するアドレス「ＥＦ」にデータを書きこむ。つまり、ステップＳＴ２１では、ＳＷ−ＣＨＩＰ３０４のＡＬ＿ＰＡ値取得機能を用いて、データ書き込み要求のスロットＩＤ（デバイスエンクロージャＤＥ００のスロットＳＬＯＴ００）について、図７に示すＦＣ−ＭＡＰテーブルを参照して該当するＰ３で示すＡＬ＿ＰＡ値＝ＥＦを取り出し、このＡＬ＿ＰＡ値が書き込まれたＨＤＤ４１（この場合、ＨＤＤ４１−１）、即ち、当該アドレスＥＦにデータを書きこむ。ステップＳＴ２３において、ＭＰＵ３０１がデータの書き込みが行われたＨＤＤ４１からの正常応答を受信すると、処理は終了する。
【００３０】
以上により、ＲＡＩＤコントローラ２がホスト装置からデバイスエンクロージャＤＥ００のスロットＳＬＯＴ００等を指定したアクセス要求を受けると、図７に示すＦＣ−ＭＡＰテーブルを参照して当該ＡＬ＿ＰＡ値をアドレスとして当該ＨＤＤ４１をアクセスすることが可能となる。
【００３１】
次に、スロットＩＤの診断動作を説明する。スロットＩＤの診断動作は、各デバイスエンクロージャ３で行う自己診断により実現しても、ＲＡＩＤコントローラ２による装置診断により実現しても良い。
【００３２】
図９は、デバイスエンクロージャ３が行う診断動作を説明するフローチャートである。図９に示す診断動作は、図４に示すデバイスエンクロージャＩＤの設定時の動作、即ち、図５に示すＦＣ−ＭＡＰテーブル作成動作が完了している状態で、入出力装置１の電源がオンにされてから起動され動作可能なレディー状態となるまでに行われる。
【００３３】
図９に示す診断動作は、各デバイスエンクロージャ３内で実行される。図９中、ステップＳ１では、ＭＰＵ３０１がＲＡＩＤコントローラ２からの電源オンコマンドを受けて、当該デバイスエンクロージャ３の電源をオンにする。ステップＳ２では、ＭＰＵ３０２がＳＷ−ＣＨＩＰ３０４の外部ファイバチャネル（ＦＣ）ポート（ＳＷ−ＣＨＩＰ３０４とＲＡＩＤコントローラ２とを接続するファイバチャネルインタフェースに接続するポート）をバイパスして、当該デバイスエンクロージャ３内で閉じたＦＣＡＬを形成する。ステップＳ３では、ＭＰＵ３０２がデバイスエンクロージャＩＤとスロット毎に設定されているスロット値に基づいて、当該デバイスエンクロージャ３に実装されている各ＨＤＤ４１−１〜４１−Ｎに対するスロットＩＤを求める。ステップＳ３で用いるデバイスエンクロージャＩＤ及びスロット値は、予めＭＰＵ３０１内のレジスタやメモリ３０２等に格納されているので、ステップＳ３で求められるスロットＩＤは正規（正しい）スロットＩＤである。
【００３４】
ステップＳ４では、ＭＰＵ３０１が求められた正規のスロットＩＤに基づいて、当該デバイスエンクロージャ３に実装されている各ＨＤＤ４１−１〜４１−Ｎの正規のＡＬ＿ＰＡ値をＳＷ−ＣＨＩＰ３０４のＡＬ＿ＰＡ値取得機能を用いて算出する。正規のＡＬ＿ＰＡ値は、所定のアルゴリズムに基づいて算出しても、図６と共に説明した如きテーブルを用いて求めても良い。例えば、デバイスエンクロージャＩＤがＳＣＳＩＩＤで表される場合、当該デバイスエンクロージャ３に実装されている各ＨＤＤ４１−１〜４１−Ｎの正規のＡＬ＿ＰＡ値は図１０に示すＡＬ＿ＰＡ値算出用テーブルを用いて求めることができる。図１０中、ＩＤはＳＣＳＩＩＤを示し、ＡＬＰＡはＡＬ＿ＰＡ値を示す。ステップＳ５では、ＭＰＵ３０１が求めた正規のＡＬ＿ＰＡ値をメモリ３０２に格納する。
【００３５】
ステップＳ６では、ＭＰＵ３０１からＳＣＳＩエンクロージャサービス（ＳＥＳ：SCSI Enclosure Service）コマンドを用いてＳＷ−ＣＨＩＰ３０４を介してファイバチャネルインタフェース経由で各ＨＤＤ４１−１〜４１−Ｎにコマンドを発行し、メモリ３０２に格納した各正規のＡＬ＿ＰＡ値でアクセスされた各ＨＤＤ４１−１〜４１−ＮからスロットＩＤを読み出す。ステップＳ７では、ＭＰＵ３０１が各ＡＬ＿ＰＡ値と各ＨＤＤ４１−１〜４１−Ｎから読み出されたスロットＩＤとを用いて図７に示すＦＣ−ＭＡＰと同様な診断テーブルを参照する。ステップＳ８では、ＭＰＵ３０１が診断テーブルからスロットＩＤが正しく書き込まれていない（即ち、異常なスロットＩＤが書き込まれている）ＨＤＤ４１を特定する。例えば、スロットＩＤが「０００００００」の場合のＡＬ＿ＰＡ値が書き込まれたＨＤＤ４１から読み出されたスロットＩＤが「０００００００」であれば、診断テーブルに対応するスロットＩＤ及びＡＬ＿ＰＡ値の対が格納されているので、この場合のＨＤＤ４１（ＨＤＤ４１−１）のスロットＩＤは正しく書き込まれており、スロット値「００００」を有するスロットにはＨＤＤ４１−１が正常に実装されていることが確認できる。他方、スロットＩＤが「０００００００」の場合のＡＬ＿ＰＡ値が書き込まれたＨＤＤ４１から読み出されたスロットＩＤが「００００００１」であれば、診断テーブルに対応するスロットＩＤ及びＡＬ＿ＰＡ値の対が格納されていないので、この場合のＨＤＤ４１（ＨＤＤ４１−１）のスロットＩＤは正しく書き込まれておらず、スロット値「００００」を有するスロットにはＨＤＤ４１−１が正常に実装されていないことが確認できる。又、スロットＩＤが「０００００００」の場合のＡＬ＿ＰＡ値が書き込まれたＨＤＤ４１が存在せずスロットＩＤが読み出されなければ、スロット値「００００」を有するスロットに実装されたＨＤＤ４１−１には正しいＡＬ＿ＰＡ値が書き込まれておらず、ＨＤＤ４１−１は正常に実装されていないことが確認できる。
【００３６】
ステップＳ９では、ＭＰＵ３０１がスロットに正常に実装されていないと確認されたＨＤＤ４１を当該デバイスエンクロージャ３から切り離し、ＭＰＵ３０１がステップＳ８で特定された異常を制御インタフェース経由でＲＡＩＤコントローラ２へ通知する。ステップＳ１０では、ＭＰＵ３０１が当該デバイスエンクロージャ３内の全てのＨＤＤ４１−１〜４１−Ｎについての診断が完了したか否かを判定し、判定結果がＮＯであると処理はステップＳ３へ戻り、判定結果がＹＥＳであれば、最後にバイパスしていた外部ポートを元に戻して処理は終了する。
【００３７】
図１１は、ＲＡＩＤコントローラ２が行う診断動作を説明するフローチャートである。図１１に示す診断動作は、図４に示すデバイスエンクロージャＩＤの設定時の動作、即ち、図５に示すＦＣ−ＭＡＰテーブル作成動作が完了している状態で、入出力装置１の電源がオンにされてから起動され動作可能なレディー状態となるまでに行われる。
【００３８】
図１１に示す診断動作は、ＲＡＩＤコントローラ２内で実行される。図１１中、ステップＳ２１では、ＲＡＩＤコントローラ２が各デバイスエンクロージャ３内のＭＰＵ３０２にデバイスエンクロージャＩＤとスロット毎に設定されているスロット値に基づいて、当該デバイスエンクロージャ３に実装されている各ＨＤＤ４１−１〜４１−Ｎに対するスロットＩＤを求めさせる。ステップＳ２１で用いるデバイスエンクロージャＩＤ及びスロット値は、予めＭＰＵ３０１内のレジスタやメモリ３０２等に格納されているので、ステップＳ２１で求められるスロットＩＤは正規（正しい）スロットＩＤである。ステップＳ２２では、ＲＡＩＤコントローラ２が求められた正規のスロットＩＤに基づいて、各デバイスエンクロージャ３内のＭＰＵ３０１に当該デバイスエンクロージャ３に実装されている各ＨＤＤ４１−１〜４１−Ｎの正規のＡＬ＿ＰＡ値をＳＷ−ＣＨＩＰ３０４のＡＬ＿ＰＡ値取得機能を用いて算出させる。正規のＡＬ＿ＰＡ値は、所定のアルゴリズムに基づいて算出しても、図６と共に説明した如きテーブルを用いて求めても良い。例えば、デバイスエンクロージャＩＤがＳＣＳＩＩＤで表される場合、当該デバイスエンクロージャ３に実装されている各ＨＤＤ４１−１〜４１−Ｎの正規のＡＬ＿ＰＡ値は図１０に示すＡＬ＿ＰＡ値算出用テーブルを用いて求めることができる。ステップＳ２３では、ＲＡＩＤコントローラ２がＭＰＵ３０１から求めた正規のＡＬ＿ＰＡ値の通知を受けてＲＡＩＤコントローラ２内のメモリに格納する。
【００３９】
ステップＳ２４では、ＲＡＩＤコントローラ２がＳＣＳＩエンクロージャサービス（ＳＥＳ：SCSI Enclosure Service）コマンドによりＭＰＵ３０１にＳＷ−ＣＨＩＰ３０４を介してファイバチャネルインタフェース経由で各ＨＤＤ４１−１〜４１−Ｎにコマンドを発行させ、ＲＡＩＤコントローラ２内のメモリに格納した各正規のＡＬ＿ＰＡ値でアクセスされた各ＨＤＤ４１−１〜４１−ＮからスロットＩＤを読み出させる。ステップＳ２５では、ＲＡＩＤコントローラ２が各ＡＬ＿ＰＡ値と各ＨＤＤ４１−１〜４１−Ｎから読み出されたスロットＩＤとを用いて図７に示すＦＣ−ＭＡＰと同様なＲＡＩＤコントローラ２内のメモリに格納された診断テーブルを参照する。ステップＳ２６では、ＲＡＩＤコントローラ２が診断テーブルからスロットＩＤが正しく書き込まれていない（即ち、異常なスロットＩＤが書き込まれている）ＨＤＤ４１を特定する。例えば、スロットＩＤが「０００００００」の場合のＡＬ＿ＰＡ値が書き込まれたＨＤＤ４１から読み出されたスロットＩＤが「０００００００」であれば、診断テーブルに対応するスロットＩＤ及びＡＬ＿ＰＡ値の対が格納されているので、この場合のＨＤＤ４１（ＨＤＤ４１−１）のスロットＩＤは正しく書き込まれており、スロット値「００００」を有するスロットにはＨＤＤ４１−１が正常に実装されていることが確認できる。他方、スロットＩＤが「０００００００」の場合のＡＬ＿ＰＡ値が書き込まれたＨＤＤ４１から読み出されたスロットＩＤが「００００００１」であれば、診断テーブルに対応するスロットＩＤ及びＡＬ＿ＰＡ値の対が格納されていないので、この場合のＨＤＤ４１（ＨＤＤ４１−１）のスロットＩＤは正しく書き込まれておらず、スロット値「００００」を有するスロットにはＨＤＤ４１−１が正常に実装されていないことが確認できる。又、スロットＩＤが「０００００００」の場合のＡＬ＿ＰＡ値が書き込まれたＨＤＤ４１が存在せずスロットＩＤが読み出されなければ、スロット値「００００」を有するスロットに実装されたＨＤＤ４１−１には正しいＡＬ＿ＰＡ値が書き込まれておらず、ＨＤＤ４１−１は正常に実装されていないことが確認できる。
【００４０】
ステップＳ２７では、ＲＡＩＤコントローラ２がスロットに正常に実装されていないと確認されたＨＤＤ４１を当該デバイスエンクロージャ３から切り離る。ステップＳ２８では、ＲＡＩＤコントローラ２が当該デバイスエンクロージャ３内の全てのＨＤＤ４１−１〜４１−Ｎについての診断が完了し、且つ、入出力装置１内の全てのデバイスエンクロージャ３についての診断が完了したか否かを判定し、判定結果がＮＯであると処理はステップＳ２１へ戻り、判定結果がＹＥＳであれば処理は終了する。
【００４１】
このように、デバイスエンクロージャ３又はＲＡＩＤコントローラ２の診断動作により異常なスロットＩＤが検出された場合には、その異常なスロットＩＤが書き込まれたＨＤＤ４１を当該デバイスエンクロージャ３のバックパネル３２のスロットから切り離し、その後に入出力装置１の起動が完了する。このように、入出力装置１の起動が完了する前に各デバイスエンクロージャ３に実装されている異常なスロットＩＤが書き込まれたＨＤＤ４１を切り離すため、ＲＡＩＤコントローラ２からはスロットＩＤの異常は見えない。
【００４２】
尚、各種テーブル、スロット値、デバイスエンクロージャＩＤ、ＡＬ＿ＰＡ値等のうち、少なくとも一部をＭＰＵ３０１内のメモリ３０２ではなくＳＷ−ＣＨＩＰ３０４内のメモリに格納するようにしても良いことは、言うまでもない。
【産業上の利用可能性】
【００４３】
本発明は、ＨＤＤ等の記憶装置を多数用いる入出力装置において、誤まったスロット値が読み出されたＨＤＤ等の記憶装置を特定する場合に好適である。
【００４４】
尚、本発明は、以下に付記する発明をも包含するものである。
（付記１）  各デバイスエンクロージャの各スロットに実装される記憶装置に固有の第１の識別情報が書き込まれ、各デバイスエンクロージャ固有の第２の識別情報と当該デバイスエンクロージャに実装された各記憶装置から読み出された第１の識別情報から各記憶装置の物理アドレスを算出して当該記憶装置に書き込む構成の入出力装置において、
予めメモリに格納されている第１及び第２の識別情報から正規の物理アドレスを算出するステップと、
正規の物理アドレスでアクセスされた記憶装置から第１の識別情報を読み出すステップと、
該正規の物理アドレスと対応する正規の第１の識別情報を格納する診断テーブルに基づいて、該正規の物理アドレスでアクセスされた記憶装置から読み出された第１の識別情報を診断するステップとを含むことを特徴とする、識別情報診断方法。
（付記２）  前記診断するステップは、第１の識別情報が所定値の場合の正規の物理アドレスでアクセスされた記憶装置から第１の識別情報が読み出されないと、第１の識別情報が所定値であるスロットに実装された記憶装置の異常を確認することを特徴とする、付記１記載の識別情報診断方法。
（付記３）  前記診断するステップは、第１の識別情報が所定値の場合の正規の物理アドレスでアクセスされた記憶装置から読み出された第１の識別情報が、第１の識別情報が所定値の場合の正規の物理アドレスに対応する第１の識別情報として前記診断テーブル格納されていないと、第１の識別情報が所定値であるスロットに実装された記憶装置の異常を確認することを特徴とする、付記１又は２記載の識別情報診断方法。
（付記４）  前記正規の物理アドレスを算出するステップは、第１及び第２の識別情報に基づいてテーブルを参照することで正規の物理アドレスを算出することを特徴とする、付記１〜３のいずれか１項記載の識別情報診断方法。
（付記５）  前記記憶装置はディスク装置からなり、前記第１及び第２の識別情報はスロットＩＤを構成し、前記物理アドレスはＡＬ＿ＰＡ値であることを特徴とする、付記１〜４のいずれか１項記載の識別情報診断方法。
（付記６）  前記診断するステップは、各デバイスエンクロージャ内で行われることを特徴とする、付記１〜５のいずれか１項記載の識別情報診断方法。
（付記７）  前記診断するステップは、各デバイスエンクロージャを共通に制御するコントローラ内で行われることを特徴とする、付記１〜５のいずれか１項記載の識別情報診断方法。
（付記８）  各デバイスエンクロージャの各スロットに実装される記憶装置に固有の第１の識別情報が書き込まれ、各デバイスエンクロージャ固有の第２の識別情報と当該デバイスエンクロージャに実装された各記憶装置から読み出された第１の識別情報から各記憶装置の物理アドレスを算出して当該記憶装置に書き込む構成の入出力装置において、
予めメモリに格納されている第１及び第２の識別情報から正規の物理アドレスを算出する算出手段と、
正規の物理アドレスでアクセスされた記憶装置から第１の識別情報を読み出す読み出し手段と、
該正規の物理アドレスと対応する正規の第１の識別情報を格納する診断テーブルに基づいて、該正規の物理アドレスでアクセスされた記憶装置から読み出された第１の識別情報を診断する診断手段とを備えたことを特徴とする、入出力装置。
（付記９）  前記診断手段は、第１の識別情報が所定値の場合の正規の物理アドレスでアクセスされた記憶装置から第１の識別情報が読み出されないと、第１の識別情報が所定値であるスロットに実装された記憶装置の異常を確認することを特徴とする、付記８記載の入出力装置。
（付記１０）  前記診断手段は、第１の識別情報が所定値の場合の正規の物理アドレスでアクセスされた記憶装置から読み出された第１の識別情報が、第１の識別情報が所定値の場合の正規の物理アドレスに対応する第１の識別情報として前記診断テーブル格納されていないと、第１の識別情報が所定値であるスロットに実装された記憶装置の異常を確認することを特徴とする、付記８又は９記載の入出力装置。
（付記１１）  前記算出手段は、第１及び第２の識別情報に基づいてテーブルを参照することで正規の物理アドレスを算出することを特徴とする、付記８〜１０のいずれか１項記載の入出力装置。
（付記１２）  前記記憶装置はディスク装置からなり、前記第１及び第２の識別情報はスロットＩＤを構成し、前記物理アドレスはＡＬ＿ＰＡ値であることを特徴とする、付記８〜１１のいずれか１項記載の入出力装置。
（付記１３）  前記診断手段は、各デバイスエンクロージャ内に設けられていることを特徴とする、付記８〜１２のいずれか１項記載の入出力装置。
（付記１４）  各デバイスエンクロージャを共通に制御するコントローラを備え、前記診断手段は該コントローラ内に設けられていることを特徴とする、付記８〜１２のいずれか１項記載の入出力装置。
【００４５】
以上、本発明を実施例により説明したが、本発明は上記実施例に限定されるものではなく、種々の変形及び改良が可能であることは、言うまでもない。
【図面の簡単な説明】
【００４６】
【図１】本発明になる入出力装置の一実施例の要部を示すブロック図である。
【図２】ＨＤＤのスロットへの実装を説明する斜視図である。
【図３】スロットＩＤを説明する図である。
【図４】デバイスエンクロージャＩＤの設定時の動作を説明するフローチャートである。
【図５】ファイバチャネルマップテーブルを作成する動作を説明するフローチャートである。
【図６】セルテーブル及びＡＬ＿ＰＡテーブルを説明する図である。
【図７】ファイバチャネルマップテーブルを説明する図である。
【図８】通常のアクセス動作を説明するフローチャートである。
【図９】デバイスエンクロージャが行う診断動作を説明するフローチャートである。
【図１０】ＡＬ＿ＰＡ値算出用テーブルを示す図である。
【図１１】ＲＡＩＤコントローラが行う診断動作を説明するフローチャートである。
【符号の説明】
【００４７】
１      入出力装置
２      ＲＡＩＤコントローラ
３      デバイスエンクロージャ
３１      ＨＤＤコントローラ
３２      バックパネル
３４−１〜３４−Ｎ      レジスタ
４１−１〜４１−Ｎ      ＨＤＤ
３０１      ＭＰＵ
３０２      メモリ
３０３      ＦＣＣ
３０４      ＳＷ−ＣＨＩＰ
【図１】
2006227818.tif 000003
【図２】
2006227818.tif 000004
【図３】
2006227818.tif 000005
【図４】
2006227818.tif 000006
【図５】
2006227818.tif 000007
【図６】
2006227818.tif 000008
【図７】
2006227818.tif 000009
【図８】
2006227818.tif 000010
【図９】
2006227818.tif 000011
【図１０】
2006227818.tif 000012
【図１１】
2006227818.tif 000013