(57)【特許請求の範囲】
【請求項１】
ホスト上の複数の論理区画（ＬＰＡＲ）のうちの第１のＬＰＡＲの初期プログラムロード（ＩＰＬ）が開始されたという第１の通知を前記第１のＬＰＡＲから受け取り次第、前記第１のＬＰＡＲのアドレスを保存するための第１のデータ構造体と、
新たに開始されたパック変更状態割込みが向けられたすべてのＬＰＡＲのアドレスを保存するための第２のデータ構造体と、
プロセッサと、
前記プロセッサによって実行可能なコンピュータ可読コードを保存するためのメモリとを含むストレージ・コントローラであって、前記コードが、
前記第１のデータ構造体の中のアドレスを前記第２のデータ構造体の中のアドレスと比較し、
前記第２のデータ構造体が前記第１のＬＰＡＲのアドレスを含む場合に、前記第２のデータ構造体から前記第１のＬＰＡＲのアドレスを削除し、
前記パック変更状態割込みを前記第２のデータ構造体の中に残っているアドレスにのみ送信し、
前記第１のＬＰＡＲの前記ＩＰＬが完了したという第２の通知を前記第１のＬＰＡＲから受け取り次第、前記第１のデータ構造体から前記第１のＬＰＡＲのアドレスを削除するための命令を含む、ストレージ・コントローラ。
【請求項２】
前記第１のデータ構造体が前記ＬＰＡＲのワールドワイド・ネットワーク・ノード番号を保存するためのメモリを含む、請求項１に記載のストレージ・コントローラ。
【請求項３】
前記第１のＬＰＡＲからの前記第１及び第２の通知がＩＰＬインジケータを有する単一のコマンドを含み、前記ＩＰＬインジケータが第１及び第２の状態を有する、請求項１に記載のストレージ・コントローラ。
【請求項４】
前記第１のＬＰＡＲからの前記第１の通知が第１のコマンドを含み、前記第１のＬＰＡＲからの前記第２の通知が第２のコマンドを含む、請求項１に記載のストレージ・コントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にデータストレージ・システムに関し、特に、データストレージ・システムの論理区画における初期プログラムロード動作に関する。
【背景技術】
【０００２】
データストレージ・システムは通常、ハードディスク・ドライブ（ＨＤＤ）のような１つ又は複数のデータストレージ・デバイスに結合された、１つ又は複数のストレージ・コントローラを含む。コントローラは、１つ又は複数のホストからの読み出し及び書き込み要求を受信し、それらの要求を処理し、これに応答して、要求されたデータをストレージ・デバイスから読み出し、又はデータをストレージ・デバイスに書き込む（記録する）。より大きいストレージ・システムは、１つの物理ホストを、個別の仮想コンピュータとして動作する１つ又は複数の論理区画（ＬＰＡＲ：logical partition）に分割させることが可能である。ＬＰＡＲはまた、異なるオペレーティングシステムの下で稼働することができ、異なるアプリケーション・プログラムを実行することができる。ＬＰＡＲの初期プログラムロード（ＩＰＬ）の間に、ホストとストレージ・コントローラとの間で論理パスが確立され、その二者が互いに通信することを可能にする。通信するデバイス間のリンクを可能にするために、ワールドワイド・ネットワーク・ノード番号（ＷＷＮＮ）を用いることができる。
【０００３】
１つのＬＰＡＲのＩＰＬの間に、別のＬＰＡＲが、ピア・ツー・ピア遠隔コピー（ＰＰＲＣ）デバイスの状態を、ホストからストレージ・コントローラへの「Ｆｒｅｅｚｅ」コマンドを用いて、例えば「ＰＰＲＣ全二重（Ｆｕｌｌ  Ｄｕｐｌｅｘ）」から「ＰＰＲＣサスペンド（Ｓｕｓｐｅｎｄｅｄ）」に変更することを決定することがある。
【０００４】
「Ｆｒｅｅｚｅ」コマンドが実行されると、ストレージ・コントローラは、ＰＰＲＣ関係にあるすべてのデバイスに向けて、並びにすべての既知のパス及びパスグループに対して、パック変更又は状態変更割込みを送信する。割込みが、ＩＰＬを受けているＬＰＡＲによって受信されることがある。これが発生したならば、ＬＰＡＲは、強制的にＩＰＬを中断させ、パック変更割込みとそれに続く確認及び問い合わせコマンドと競合する。パック変更割込みは、状態を「ＰＰＲＣ全二重」から「ＰＰＲＣサスペンド」に変更した各デバイスに対するパスごとに１つずつ送信されるので、多数のパック変更及び必要とされるコマンド処理が、ＬＰＡＲのＩＰＬが完了までに長時間かかる原因となり得る。場合によっては、ＩＰＬが失敗することがある。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、ＬＰＡＲのＩＰＬに対する性能のインパクトを低減し、ＩＰＬ中に受信したパック変更又は状態変更割込みとの競合によるＩＰＬの失敗のリスクを低減する。
【課題を解決するための手段】
【０００６】
論理区画（ＬＡＰＲ）の初期プログラムロード（ＩＰＬ）は、ストレージ・コントローラからＬＰＡＲへの論理パスを確立することによって管理される。ＩＰＬを開始したという通知がＬＰＡＲからストレージ・コントローラによって受信されると、そのＬＰＡＲのアドレスがデータ構造体に保存される。その後、ストレージ・コントローラがパック変更状態割込みを開始した後で、保存されたアドレスはパック変更状態割込みが向けられているすべてのＬＰＡＲのリスト内のアドレスと比較される。アドレスのリストが保存されたアドレスを含んでいる場合、保存されたアドレスはリストから削除される。したがって、パック変更状態割込みはリスト内のアドレスにのみ送信され、そのＬＰＡＲは、割込みされることなくＩＰＬを完了するようにそのままにされる。ストレージ・コントローラがＬＰＡＲからＩＰＬが完了したという通知を受信した後で、そのＬＰＡＲのアドレスがデータ構造体から削除される。
【０００７】
本発明は、第１のＬＰＡＲのＩＰＬが開始されたという第１の通知を第１のＬＰＡＲから受け取り次第、複数のＬＰＡＲのうちの第１のアドレスを保存するための第１のデータ構造体と、新たに開始されたパック変更状態割込みが向けられたすべてのＬＰＡＲのアドレスを保存するための第２のデータ構造体とを含む、ストレージ・コントローラを提供する。ストレージ・コントローラはさらに、プロセッサと、プロセッサによって実行可能なコンピュータ可読コードを保存するためのメモリとを含む。コードは、第１のデータ構造体の中のアドレスを第２のデータ構造体の中のアドレスと比較し、第２のデータ構造体が第１のＬＰＡＲのアドレスを含んでいる場合に第２のデータ構造体から第１のＬＰＡＲのアドレスを削除し、パック変更状態割込みを第２のデータ構造体の中に残っているアドレスにのみ送信し、第１のＬＰＡＲのＩＰＬが完了したという第２の通知を第１のＬＰＡＲから受け取り次第、第１のデータ構造体から第１のＬＰＡＲのアドレスを削除するための命令を含む。
【図面の簡単な説明】
【０００８】
【図１】本発明を実装することができるデータ処理システムのブロック図である。
【図２】本発明の方法の１つの態様のフローチャートである。
【図３】本発明の方法の更なる態様のフローチャートである。
【図４】本発明の方法の更なる態様のフローチャートである。
【図５】本発明の方法の更なる態様のフローチャートである。
【発明を実施するための形態】
【０００９】
図１は、本発明を実装することができるデータ処理システム１００のブロック図である。システム１００は、ホスト１１０によってまとめて表される１つ又は複数のホストと、ストレージ・コントローラ１２０によってまとめて表される１つ又は複数のストレージ・コントローラと、ストレージ・デバイス１４０によってまとめて表される１つ又は複数のストレージ・デバイスとを含む。ストレージ・デバイス１４０は、ハードディスク・ドライブのような任意のタイプのストレージ・デバイス、又はデバイスの組み合わせとすることができる。ホスト１１０は、プログラム命令を含むコンピュータ可読コードを保存するためのメモリ１１２と、メモリ１１２に保存された命令を実行するプロセッサ１１４とを含む。ホスト１１０は、複数の論理区画（ＬＰＡＲ）を作ることができ、そのうちの２つが図１において１１６ａ及び１１６ｂとして示されている。各々のＬＰＡＲ１１６ａ、１１６ｂは、１つ又は複数のアプリケーション１１８ａ、１１８ｂをそれぞれ稼働させることができる。
【００１０】
ストレージ・コントローラ１２０は、プログラム命令を含むコンピュータ可読コードを保存するためのメモリ１２２と、メモリ１２２に保存された命令を実行するプロセッサ１２４とを含む。ストレージ・コントローラはまた、ホスト１１０との通信がその中を通る、ホストアダプタ１２６によって表されるホストアダプタ又はインタフェースと、ストレージ・デバイス１４０との通信がその中を通る、デバイスアダプタ１２８によって表されるデバイスアダプタ又はインタフェースとを含む。ストレージ・コントローラ１２０はさらに、２つのデータ構造体１３０、１３２を含む。データ構造体１３０、１３２の片方又は両方がメモリ１２２に保存されてもよく、又は他のメモリに保存されてもよい。
【００１１】
本発明の方法をここで図２−図５のフローチャートを参照して説明する。本方法は、メモリデバイス１１２、１２２内に保存されたプログラム命令からプロセッサ１１４、１２４によって実行することができ、ホスト１１０及びストレージ・コントローラ１２０内の、ＡＳＩＣのようなハードウェアによって実行することができ、又は任意の組み合わせによって実行することができる。ＬＰＡＲ１１６ａは、初期プログラムロードを開始し（ステップ２００）、ストレージ・コントローラ１２０との通信パスを確立する（ステップ２０２）。次に、ＩＬＰＡＲ  １１６ａは、ＩＰＬが進行中であることをストレージ・コントローラ１２０に通知するコマンドをストレージ・コントローラ１２０に送信する（ステップ２０４）。コマンドは、２つの状態を有する単一のコマンド、例えば、「セット」及び「リセット」状態を有するＩＰＬインジケータとすることができる。あるいは、コマンドは、２つの別個のコマンドのうちの１つとすることができ、後述するように第２のコマンドは「ＩＰＬ完了」インジケータを有する。コマンドは、単一コマンド又は２つのコマンドのうちの１つのどちらの場合であっても、ほとんどの例外条件を通じて許容される、例えば、「Ｒｅｓｅｒｖｅ」、「Ｌｏｎｇ  Ｂｕｓｙ」などのような、既存の確定システム動作（ＤＳＯ：defined system operation）コマンドの新規な指令の一部、又は新規なｚ／Ｏｓコマンドとすることができる。
【００１２】
ここで図３に移り（ステップ２０６）、ストレージ・コントローラ１２０は、ＬＰＡＲ１１６ａからのコマンドを受信し（ステップ３００）、ＬＰＡＲ１１６ａのアドレス又は他のアイデンティティをデータ構造体１３０の中に保存する（ステップ３０２）。望ましくは、データ構造体１３０は、ＩＰＬを受けている１つよりも多くのＬＰＡＲのアドレスを保存できるほど十分に大きい。また、望ましくは、ＬＰＡＲのアドレスはＬＰＡＲ１１６ａのワールドワイド・ネットワーク・ノード番号（ＷＷＮＮ）を含む。対照的に、ワールドワイド・ポート番号（ＷＷＰＮ）はホストアダプタ・ポートを特定するだけであり、これは、本発明では十分に特定的ではない。データ構造体１３０は、レジスタ、メモリ１２２内の位置、ルックアップテーブル、又はＬＰＡＲ１１６ａのアイデンティティを保存することが可能な、ストレージ・コントローラ１２０に関連付けられたその他の任意の構造体とすることができる。
【００１３】
ストレージ・コントローラ１２０は、パック変更状態割込みを開始する場合（図４、ステップ４０４）、ＰＰＲＣ関係にあるすべてのデバイス、並びにすべての既知のパス及びパスグループに対する、ＷＷＮＮのようなアドレスのリストを生成する（ステップ４０６）。リストを、第２のデータ構造体１３２に保存することができる。第１のデータ構造体１３０と同様に、第２のデータ構造体１３２は、レジスタ、メモリ１２２内の位置、ルックアップテーブル、又はパック変更状態の受信者のアドレスを保存することが可能な、ストレージ・コントローラ１２０に関連付けられたその他の任意の構造体とすることができる。次いでアドレスを待ち行列に入れる代わりに、ストレージ・コントローラ１２０は、最初に、ＩＰＬを受けているＬＰＡＲを特定する第１のデータ構造体の中のアドレスをいずれも比較する（ステップ４０８）。ＬＰＡＲ１１６ａのアドレスがデータ構造体リスト１３２の中に見出された場合、そのアドレスはリストから削除される（ステップ４１０）。次に、又はＬＰＡＲ１１６ａのアドレスがリスト１３２の中に見出されない場合は、ストレージ・コントローラ１２０は、リスト１３２の中に残っているアドレスを待ち行列に入れ、パック変更割込みをそれらのアドレスにのみ送信する（ステップ４１２）。したがって、ＬＰＡＲ１１６ａ及びＩＰＬを受けている他のＬＰＡＲはいずれも、そのような割込みと競合する必要がない。
【００１４】
ＬＰＡＲ１１６ａのＩＰＬが完了したなら（ステップ２０８、図２）、ＬＰＡＲ１１６ａは、ＩＰＬが完了したことを示すコマンドをストレージ・コントローラに送る（ステップ２１０）。図５に移動し（ステップ２１２）、ストレージ・コントローラ１２０はコマンドを受信する（ステップ５１４）。上述のように、コマンドは、元のコマンドの第２の状態であってもよく、又は別個のコマンドであってもよい。ストレージ・コントローラ１２０は、ＬＰＡＲ１１６ａから第２のコマンドを受信すると、第１のデータ構造体１３０からＬＰＡＲ１１６ａのアドレスを削除し（ステップ５１６）、ＬＰＡＲ１１６ａがその後のパック変更割込み状態を受けることを可能にする。
【００１５】
本発明を、完全に機能するデータ処理システムについて説明してきたが、当業者であれば、本発明のプロセスを命令のコンピュータ可読媒体の形態及び多様な形態に分散させることが可能であること、並びに、本発明が、その分散を実行するために実際に使用される信号伝搬媒体の特定のタイプにかかわらず適用されることを認識することに、留意することが重要である。コンピュータ可読媒体の例は、フロッピーディスク、ハードディスク・ドライブ、ＲＡＭ、及びＣＤ−ＲＯＭのような記録可能型媒体、並びにデジタル及びアナログ通信リンクのような伝送型媒体を含む。
【００１６】
本発明の説明は例示及び説明の目的のために提示されたものであり、網羅的であることも、本発明を開示された形態に限定することも意図するものではない。多くの改変及び変形が当業者には明らかである。実施形態は、本発明の原理、実際の用途を最もよく説明するため、及び意図される特定の使用に適した種々の改変を含む種々の実施形態について当業者が本発明を理解することを可能にするために、選択され、説明された。さらに、上記では方法及びシステムに関して説明してきたが、当該技術分野における要求は、ホスト内に確立された論理区画（ＬＰＡＲ）の初期プログラムロード（ＩＰＬ）を管理するための命令を含むコンピュータ・プログラム、又はホスト内に確立された論理区画（ＬＰＡＲ）の初期プログラムロード（ＩＰＬ）を管理するためのコンピュータ・システムにコンピュータ可読コードを統合することを含む、コンピュータ・インフラストラクチャを配備するための方法によっても満たすことができる。
【符号の説明】
【００１７】
１００：データ処理システム
【図１】
0004675434.tif 000002
【図２】
0004675434.tif 000003
【図３】
0004675434.tif 000004
【図４】
0004675434.tif 000005
【図５】
0004675434.tif 000006