(57)【要約】【課題】ループ状ネットワークに接続されたノードに対して効率的な処理を実行させる、あるいはエラー発生の低減を図る。【解決手段】本発明の一実施形態は、ファイバ・チャネル仲裁型ループ・ネットワークと、そのネットワークに接続されたホスト・コントローラ２及び複数のＨＤＤ１ａ−1ｄとを有する。ネットワーク上の一つのポートは、ＬＩＰ順序セットと共に、ループ初期化処理を制御するパラメータを、ネットワークに出力する。各ポートは、受信したパラメータに従ってループ初期化処理を実行し、さらに、受信したパラメータ付ＬＩＰ順序セットを、ネットワークの下流側に転送する。【選択図】図２
2008060636.tif 000002
【特許請求の範囲】
【請求項１】
ループ状ネットワークとそのループ状ネットワークに接続された複数のノードとを有するループ状ネットワーク・システムであって、
前記ループ状ネットワークにおけるデータ通信のためにノードが実行する初期化処理を制御するパラメータを、前記ループ状ネットワークの下流側に送信する制御ノードと、
前記パラメータを受信し、その受信したパラメータに従って前記初期化処理を実行し、さらに、前記受信したパラメータを前記ループ状ネットワークの下流側に転送する被制御ノードと、
を有するシステム。
【請求項２】
前記初期化処理を制御するパラメータは、前記初期化処理の実行開始命令に付加されて前記ループ状ネットワークのノード間を伝送される、
請求項１に記載のシステム。
【請求項３】
前記複数ノードの少なくとも一部は、前記初期化処理を制御するパラメータを記憶している不揮発性記憶媒体を更に備え、
前記パラメータと共に、そのパラメータを前記不揮発性記憶媒体に保存するか否かの指示が転送される、
請求項１に記載のシステム。
【請求項４】
ループ状ネットワークに接続されてデータ通信を行うデータ記憶装置であって、
前記ループ状ネットワークを介してパラメータを受信する受信部と、
前記受信部が受信したパラメータに従って、前記ループ状ネットワークの上流側から、前記ループ状ネットワークにおけるデータ通信のための初期化処理を実行する初期化制御部と、
前記受信部が受信した前記パラメータを、前記ループ状ネットワークの下流側に転送する送信部と、
を備えるデータ記憶装置。
【請求項５】
前記初期化処理を制御するパラメータを記憶している不揮発性記憶媒体を更に備え、
前記パラメータと共に受信した指示に従って、前記不揮発性記憶媒体に記憶された前記パラメータを上書きする、
請求項４に記載のデータ記憶装置。
【請求項６】
前記受信部は、前記初期化処理の実行開始命令と共に前記初期化処理を制御するパラメータを受信し、
前記送信部は、前記初期化処理の実行開始命令と共に前記初期化処理を制御するパラメータを送信する、
請求項４に記載のデータ記憶装置。
【請求項７】
ループ状ネットワークと
前記ループ状ネットワークに接続された複数のノードと、を有し、
前記複数のノードの一つのノードは、ループ閉塞状態にあると判定すると、ループ閉塞状態においても各ノードがそれに従った処理を行う制御信号を、予め設定された識別子と共に送信し、
前記複数のノードの他のノードは、前記送信された制御信号に従った処理を開始する共に、前記識別子に従ってその制御信号の通常処理の少なくとも一部を省略する、
ループ状ネットワーク・システム。
【請求項８】
前記制御信号はループ初期化処理を指示し、
前記複数のノードの各ノードは、前記ループ初期化処理における前記ループ状ネットワークのアドレス取得処理を省略する、
請求項７に記載のシステム。
【請求項９】
ループ状ネットワークに接続されてデータ通信を行うデータ記憶装置であって、
ループ閉塞状態にあることを判定する判定部と、
ループ閉塞状態にある場合に、ループ閉塞状態においてもそれに従った処理を行う制御信号を、予め設定された識別子と共に送信する送信部と、
前記制御信号に対応した通常処理の少なくとも一部を省略して、その制御信号対応した処理を行う制御部と、
を有するデータ記憶装置。
【請求項１０】
前記制御信号はループ初期化処理を指示し、
前記制御部は、前記ループ状ネットワークにおけるアドレス取得処理を省略する、
請求項９に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ループ状ネットワーク・システム及びそれに含まれるデータ記憶装置に関し、特にファイバ・チャネル仲裁型ループ（Fibre Channel Arbitrated Loop）等のループ状の情報伝送路を介して複数の装置が接続された構成の情報処理システムにおけるノードの動作制御に関する。
【背景技術】
【０００２】
現在、記憶装置等のインターフェースにおいては、取り扱うデータの大容量化に伴い、データ転送の高速化、ホスト・コントローラあたりの接続装置台数、接続距離の増大化が望まれており、これらの要求を満たすため、近年ファイバ・チャネル仲裁型ループ（Fibre Channel Arbitrated Loop：ＦＣ＿ＡＬ）というインターフェースを用いたデータをシリアルに高速転送を行う装置から構成されるシステムが増えてきている。
【０００３】
一般に、ファイバ・チャネル仲裁型ループを含むコンピュータシステムにおける装置の相互接続においては、各装置が情報の交換を行う上で接続されている装置各々が、ある種の一意の電子アドレスまたは識別情報を有する必要がある。このアドレスをＡＬ＿ＰＡ（Arbitrated Loop Physical Address）と呼び、一般にループ上に接続された全てのノードが電源投入時にループ初期化処理に参加することで取得することができる。ここで、ネットワークに接続されるノードは、ホスト・コントローラとその他の装置とを含む。
【０００４】
ループ初期化処理の動作、およびファイバ・チャネル装置固有のいくつかの機能に関しては、モード・ページ１９ｈ（ファイバ・チャネル・ポート・コントロール・ページ）にパラメータを設定することで制御することができる。現在用意されているパラメータとして、ＤＴＯＬＩ（Disable Target Originated Loop Initialization）、ＤＴＩＰＥ（Disable Target Initiated Port Enable）、ＡＬＷＬＩ（Allow Login Without Loop Initialization）、ＲＨＡ（Require Hard Address）、ＤＬＭ（Disable Loop Master）、ＤＤＩＳ（Disable Discovery）、ＰＬＰＢ（Prevent Loop Port Bypass）、ＤＴＦＤ（Disable Target Fabric Discovery）、ＲＲ＿ＴＯＶ（Resource Recovery Time‐out Value）がある。
【０００５】
ループ初期化処理は、電源投入、またはシステム・リセットの後、少なくとも１つのノードのポートが、ＬＩＰ（Loop Initialization Primitive）順序セットを送信することで開始される。ポートは、ネットワークに接続されたノードの、通信を実行する部分である。ＤＴＯＬＩはノードがループ上に接続された時に自らＬＩＰ順序セットを送信するか否かを制御する。ちなみにループ上の全てのノードのポートがＤＴＯＬＩ有効となっている場合、ループ初期化開始の信号であるＬＩＰ順序セットを送信するポートが存在しないことになるため、ループ初期化が実行されずホスト・コントローラと装置間の情報のやりとりは実施できなくなるため注意を払う必要がある。
【０００６】
図２２にループ初期化処理の流れを示す。送信されたＬＩＰ順序セットを受信した各ポートは（Ｓ２２０１）、ＡＬ＿ＴＩＭＥ間ＬＩＰ順序セットを無視した後、または無視しながらループ初期化処理で扱うフレームを制御するセレクト・マスタ（Loop Initialization Select Master（ＬＩＳＭ））フレームを生成し、送信する（Ｓ２２０２）。ＬＩＳＭフレームを生成する各ノードは、ファイバ・チャネルのワールドワイドな識別番号（world-wide name）をフレームの一部として有している。各ポートは、ＬＩＳＭフレームを受信すると、フレーム内の識別番号を自ポートの識別番号と比較する。そして、ＬＩＳＭフレーム内の識別番号より小さい識別番号を有している場合、その装置は、そのフレーム内の識別番号を自身の識別番号に置換え、その変更したＬＩＳＭフレームを次のポートへ送信する。
【０００７】
受信するポートがＬＩＳＭフレーム内の識別番号より大きい識別番号を有している場合、その装置は、変更していないＬＩＳＭフレームを次の装置に送信する。最終的に、すべてのＬＩＳＭフレームが、そのループに接続されたすべてのノードのうちの１つの最小識別番号を含むこととなる。そして、この最小識別番号を有するノードがループ・マスタとなる。図２２ではループ・マスタとなったポートの処理はＳ２２０３からＳ２２１１、非ループ・マスタとなったポートの処理はＳ２２２０からＳ２２２８となる。
【０００８】
ループ・マスタは、Ａｒｂ(Ｆ０)信号を送信してＬＩＳＭ処理が完了したことをループ上の各ポートに知らせる（Ｓ２２０３、Ｓ２２２０）。ここで、ＤＬＭはノードがループ・マスタになることを許可するか否かを制御する。ちなみにループ上の全ノードがＤＬＭによりループ・マスタになることを許可されていない場合は、ループ初期化処理は完了しないので設定には注意を払う必要がある。
【０００９】
ループ・マスタとなったノードのポートは、次にループ上のポートのＡＬ＿ＰＡを決定するために一続きのフレームを生成する。このフレームはフレーム識別部とアドレス情報部に分かれ、後者は、１２７ビットの数値を有し、各ビットは１つのＡＬ＿ＰＡに対応している。各ポートは以下に述べるルールで自ポートが取得したいＡＬ＿ＰＡに対応するビットにフラグをセットして後段のポートへ送信する。こうしてループ・マスタとなったポートへフレームが戻ってくれば、ループ・マスタとなったポートはルールに従い、アドレス情報部はそのままで、フレーム識別部を切り替え、後段へ送信する流れとなる。
【００１０】
最初にループ・マスタとなったポートはファブリック・アサインド（Loop Initialization Fabric Assigned（ＬＩＦＡ））フレームを生成し、下流のポートへ送信する（Ｓ２２０４）。他のポートは受信した後段のポートへ送信する（Ｓ２２２１）。これはポートがファイバ・チャネル・ファブリックへのポートでもあるか否かを判断するために使用される。ここで、ＤＴＦＤはポートがファブリックへのポートであるか否かを制御する。
【００１１】
次にループ・マスタとなったポートはフレーム識別部をループ初期化先行アドレス（Loop Initialization Previous Acquired（ＬＩＰＡ））フレームに切り替え、後段のポートへ送信する（Ｓ２２０５）。各ノードは、現在実行中のループ初期化より前に既に取得したＡＬ＿ＰＡがあれば対応するフラグをアドレス情報部へセットし後段のポートへ送信する（Ｓ２２２２）。
【００１２】
次にループ・マスタとなったポートはフレーム識別部をループ初期化ハード・アサインド（Loop Initialization Hard Assigned（ＬＩＨＡ））に切り替え、後段のポートへ送信する(Ｓ２２０６)。他のポートは必要な処理をして後段のポートにそのフレームを転送する（Ｓ２２２３）。今回のループ初期化がループ上の全ポートで最初のループ初期化である場合には、ＬＩＨＡフレームのアドレス情報部にはまったくビットがセットされていないことになる。各ポートはＬＩＨＡフレームを受信した時、１２７ビットのアドレス情報部にそのハード・アドレスに対応するビットをセットする。対応するビットが既にセットされている場合は、次に述べるソフト・アドレッシングでＡＬ＿ＰＡの取得を試みる。
【００１３】
次にループ・マスタとなったポートはフレーム識別部をループ初期化ソフト・アサインド（Loop Initialization Soft Assigned（ＬＩＳＡ））フレームに切り替え、後段のポートへ送信する（Ｓ２２０７）。他のポートは必要な処理をして後段のポートにそのフレームを転送する（Ｓ２２２４）。各ポートは、ＬＩＳＡフレームを受信すると、前述したＬＩＨＡフレームまでの処理の中でアドレスが選択できなかった場合、アドレス情報部を参照していずれかの使用可能なループ・アドレスを選択し、フレーム内の１２７ビットのアドレス・ナンバにその適当なビットをセットし、そのフレームを次のポートへ送信する。
【００１４】
ここで、ＲＨＡはソフト・アドレッシングを実施するか否かを制御する。ちなみにＲＨＡが有効なポートでコネクタ部の設定が同一のポートがループ上に複数存在した場合は、ループ・マスタに一番近いポートのみＬＩＨＡの処理で対応するＡＬ＿ＰＡを取得することができるが、それ以外のポートはこのループ初期化でＡＬ＿ＰＡを取得することができないため、本制御を使用する場合はコネクタのアドレス設定に注意を払う必要がある。
【００１５】
次にループ・マスタとなったポートは戻ってきたＬＩＳＡフレームから、ループ上の全てのポートがループ・ポジション・マップをサポートしているか否かを判定する（Ｓ２２０８）。他のポートも同様の処理を行う（Ｓ２２２５）。一つでも未サポートのポートがループ上に存在すれば、ループ・マスタはＣＬＳ信号を送信する(Ｓ２２１１)。ＣＬＳ信号を受信したポートは後段のポートにＣＬＳ信号を送信する（Ｓ２２２８）。ループ・マスタにＣＬＳ信号が戻った時点でループ初期化処理の完了となる。
【００１６】
また、ループ・ポジション・マップを全ポートがサポートしているならば、ループ・マスタとなったポートは新たにループ初期化報告（Loop Initialization Report Position）フレームを生成して、自ポートの情報をセットした後、後段のポートへ送信する（Ｓ２２０９）。このフレームはフレーム識別部と１２８バイトのＡＬ＿ＰＡ情報部からなる。ＡＬ＿ＰＡ情報部の先頭1バイトはループ上のポートオフセット数を表し、２バイト目以降は実際に各ポートが取得したＡＬ＿ＰＡがセットされる。ＬＩＲＰを受信したポートはＡＬ＿ＰＡ情報部のポートオフセット数に対応した場所に、取得したＡＬ＿ＰＡをセットして後段のポートへ送信する。また、ＡＬ＿ＰＡを取得していなければ受信したＬＩＲＰをそのまま後段のポートへ送信する（Ｓ２２２６）。
【００１７】
次にループ・マスタとなったポートは戻ってきたＬＩＲＰフレームのフレーム識別部をループ初期化ループポジション（Loop Initialization Loop Position（ＬＩＬＰ））に切り替え、後段のポートへ送信する（ステップＳ２２１０）。他のポートは必要な処理をして後段のポートにそのフレームを転送する（Ｓ２２２７）。ＬＩＬＰを参照することで今回のループ初期化に参加しているポートの数、ループ・マスタとなっているポートのＡＬ＿ＰＡやそれ以降のポートのＡＬ＿ＰＡの順序を把握することができる。
【００１８】
最後にループ・マスタとなったポートにＬＩＬＰが戻ってくると、前述したようにループ・マスタとなったポートはＣＬＳ信号を送信し（Ｓ２２２１）、ループ上をＣＬＳ信号が１周し（Ｓ２２２８）、ループ・マスタにＣＬＳ信号が戻った時点でループ初期化処理の完了となる。
【００１９】
前述したモード・ページ１９ｈにおいては、ＤＴＩＰＥは装置がループ上に接続された時に、自らPort Bypass CircuitをEnableにするか、Loop Port Enable信号（ＬＰＥ）を受信までPort Bypass CircuitをDisableにするかを制御する。ＡＬＷＬＩは装置がループ初期化処理を実施しなくてもＬＯＧＩＮ処理が実施できるか否かを制御する。この場合のＡＬ＿ＰＡは直接コネクタに設定された情報を元に決定されるため、ループ上でアドレス競合問題が発生する可能性があり、注意が必要である。
【００２０】
ＤＤＩＳはループ初期化処理完了後に通常行われるホスト・コントローラにより実施されるディスカバリ処理を抑止するか否かを制御する。ＰＬＰＢはLoop Port Enable信号（ＬＰＥ）やLoop Port Disable信号（ＬＰＢ）を無視するか否かを制御する。最後にＲＲ＿ＴＯＶはループ初期化後のポートの認証期間の時間を設定するのに使用される。なお、ＦＣ＿ＡＬと異なるが、ループ状ネットワークに接続されたノードのパス設定について特許文献１に開示されている。
【特許文献１】特開２００４−１４０５７０号公報
【発明の開示】
【発明が解決しようとする課題】
【００２１】
前述したように、現在ループ初期化処理、およびファイバ・チャネルのその他の制御用パラメータとして、モード・ページ１９ｈ（ファイバ・チャネルポートコントロールページ）が用意されており、このパラメータを任意に設定することでシステムに合った制御を実施することができる。
【００２２】
しかし、図２３に示すように、これらのパラメータを装置の動作に反映させる為には、予めループに接続される前にフラッシュ・メモリ等の不揮発性部品に設定値を保存しておくことが必要であった。具体的には、電源投入時（Ｓ２３０１）に不揮発性部品からモード・パラメータ１９ｈを読み出し（Ｓ２３０２）、ループ初期化制御テーブルにセットする（Ｓ２３０４）。そのため、ループ上の装置の1台でも設定値が誤っていたり、参照に失敗したりするとループ上のポートが期待外の動作をするため、システム側で予期せぬ障害が発生したり、ループ閉塞となる場合がある。
【００２３】
あるいは、図２３に示すように、このモード・ページの変更を実施するには、一度ループ初期化を完了しホスト・コントローラ及び装置がＡＬ＿ＰＡを取得した後に、ＬＯＧＩＮ処理、モード・セレクト・コマンド処理（Ｓ２３０３）を実行する。この処理には相応の時間がかかるという問題もある。あるいは、ループに接続される複数のポートに対して、同一のパラメータを設定する場合は、夫々のポートに対して個別にＬＯＧＩＮ処理、モードセレクト処理の実行が必要であるため、更に時間がかかる。
【００２４】
あるいは、ＬＩＰ順序セットは前述したＡＬ＿ＰＡ取得目的の他にも、ノイズ等によるループ上の信号欠落によりループ・ハングに陥った場合の回復手段としても使用することができる。これは、各ポートは、ＬＩＰ順序セット受信時に、現在Ｉ／Ｏ処理実行中でも最優先でループ初期化に参加しなければならないためである。この時のループ初期化においてループ初期化フレームが壊れたりすると、ループ上の各ポートのＡＬ＿ＰＡが変化してしまいシステム障害が発生する可能性もある。
【課題を解決するための手段】
【００２５】
本発明の一つの態様は、ループ状ネットワークとそのループ状ネットワークに接続された複数のノードとを有するループ状ネットワーク・システムである。このシステムは、前記ループ状ネットワークにおけるデータ通信のためにノードが実行する初期化処理を制御するパラメータを、前記ループ状ネットワークの下流側に送信する制御ノードを有する。さらに、前記パラメータを受信し、その受信したパラメータに従って前記初期化処理を実行し、さらに、前記受信したパラメータを前記ループ状ネットワークの下流側に転送する被制御ノードを有する。各ノードが、初期化処理を制御するパラメータを転送し、それに従って初期化処理を行うことで、効率的な処理が可能となる。
【００２６】
前記初期化処理を制御するパラメータは、前記初期化処理の実行開始命令に付加されて前記ループ状ネットワークのノード間を伝送されることが好ましい。これによって、効率的なデータ転送を行うことができる。また、前記複数ノードの少なくとも一部は、前記初期化処理を制御するパラメータを記憶している不揮発性記憶媒体を更に備え、前記パラメータと共に、そのパラメータを前記不揮発性記憶媒体に保存するか否かの指示が転送されることが好ましい。不揮発性記憶媒体に格納することで、そのパラメータをネットワークを介して取得することなく使用できると共に、保存の有無を指定することで状況に応じた制御が可能となる。
【００２７】
本発明の他の態様は、ループ状ネットワークに接続されてデータ通信を行うデータ記憶装置である。このデータ記憶装置は、前記ループ状ネットワークを介してパラメータを受信する受信部と、前記受信部が受信したパラメータに従って、前記ループ状ネットワークの上流側から前記ループ状ネットワークにおけるデータ通信のための初期化処理を実行する初期化制御部と、前記受信部が受信した前記パラメータを、前記ループ状ネットワークの下流側に転送する送信部を備える。初期化処理を制御するパラメータを転送し、それに従って初期化処理を行うことで効率的な処理が可能となる。
【００２８】
前記初期化処理を制御するパラメータを記憶している不揮発性記憶媒体を更に備え、前記パラメータと共に受信した指示に従って、前記不揮発性記憶媒体に記憶された前記パラメータを上書きすることが好ましい。また、前記受信部は、前記初期化処理の実行開始命令と共に前記初期化処理を制御するパラメータを受信し、前記送信部は、前記初期化処理の実行開始命令と共に前記初期化処理を制御するパラメータを送信することが好ましい。
【００２９】
本発明の他の態様は、ループ状ネットワークと、前記ループ状ネットワークに接続された複数のノードを有するループ状ネットワーク・システムである。前記複数のノードの一つのノードは、ループ閉塞状態にあると判定すると、ループ閉塞状態においても各ノードがそれに従った処理を行う制御信号を、予め設定された識別子と共に送信する。前記複数のノードの他のノードは、前記送信された制御信号に従った処理を開始する共に、前記識別子に従ってその制御信号の通常処理の少なくとも一部を省略する。上記制御信号を使用することでループ閉塞状態が解消されると共に、通常処理の少なくとも一部を省略することで処理時間の短縮及び通常処理にともなうエラーの可能性を低減することができる。
【００３０】
好ましい例において、前記制御信号はループ初期化処理を指示し、前記複数のノードの各ノードは、前記ループ初期化処理における前記ループ状ネットワークのアドレス取得処理を省略する。これによって、アドレス取得処理における処理時間の短縮と、エラーの可能性を低減することができる。
【００３１】
本発明の他の態様は、ループ状ネットワークに接続されてデータ通信を行うデータ記憶装置である。このデータ記憶装置は、ループ閉塞状態にあることを判定する判定部と、ループ閉塞状態にある場合にループ閉塞状態においてもそれに従った処理を行う制御信号を、予め設定された識別子と共に送信する送信部と、前記制御信号に対応した通常処理の少なくとも一部を省略して、その制御信号対応した処理を行う制御部を有する。制御信号を使用することでループ閉塞状態が解消されると共に、通常処理の少なくとも一部を省略することで処理時間の短縮及び通常処理にともなうエラーの可能性を低減することができる。好ましくは、前記制御信号はループ初期化処理を指示し、前記制御部は前記ループ状ネットワークにおけるアドレス取得処理を省略する。
【発明の効果】
【００３２】
本発明により、ループ状ネットワークに接続されたノードに対して効率的な処理を実行させる、あるいはエラー発生の低減を図ることができる。
【発明を実施するための最良の形態】
【００３３】
以下に、本発明を適用可能な実施の形態が説明される。説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡略化がなされている。又、各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略されている。以下においては、データ記憶装置の一例であるハードディスク・ドライブ（ＨＤＤ）を例として、本発明の実施形態を説明する。ノードの一例であるＨＤＤはループ状態ネットワークに接続され、ループ状ネットワークと各ノードとが、ネットワーク・システムを構成する。
【００３４】
本形態の特徴点は、ループ状ネットワークに接続されたＨＤＤの処理の制御にあるが、最初に、ＨＤＤの構成を説明する。図１は、ＨＤＤ１の全体構成を模式的に示すブロック図である。図１に示すように、ＨＤＤ１は、エンクロージャ１０内に、データを記憶するディスクの一例である磁気ディスク１１、ヘッド素子部１２、アーム電子回路（アームエレクトロニクス：ＡＥ）１３、スピンドル・モータ（ＳＰＭ）１４、ボイス・コイル・モータ（ＶＣＭ）１５、そしてアクチュエータ１６を備えている。ＨＤＤ１は、エンクロージャ１０の外側に固定された回路基板２０を備えている。回路基板２０上には、リード・ライト・チャネル（ＲＷチャネル）２１、モータ・ドライバ・ユニット２２、ハードディスク・コントローラ（ＨＤＣ）とＭＰＵの集積回路（以下、ＨＤＣ／ＭＰＵ）２３、ＲＡＭ２４及びＥＥＰＲＯＭ２５などの各ＩＣを備えている。尚、各回路構成は一つのＩＣに集積すること、あるいは、複数のＩＣに分けて実装することができる。
【００３５】
ＳＰＭ１４は、そこに固定されている磁気ディスク１１を、所定の角速度で回転する。ＨＤＣ／ＭＰＵ２３からの制御データに従って、モータ・ドライバ・ユニット２２がＳＰＭ１４を駆動する。本例の磁気ディスク１１は、データを記録する記録面を両面に備え、各記録面に対応するヘッド素子部１２が設けられている。各ヘッド素子部１２はスライダ（不図示）に固定されている。また、スライダは、ヘッド移動機構の一例であるアクチュエータ１６に固定されている。データのリード及びライト時において、スライダは回転する磁気ディスク１１上を浮上する。アクチュエータ１６はＶＣＭ１５に連結され、回動軸を中心に回動することによって、ヘッド素子部１２（及びスライダ）を磁気ディスク１１上において半径方向に移動する。
【００３６】
モータ・ドライバ・ユニット２２は、ＨＤＣ／ＭＰＵ２３からの制御データに従ってＶＣＭ１５を駆動する。ヘッド素子部１２には、典型的には、ライト・データに応じて電気信号を磁界に変換するライト素子及び磁気ディスク１１からの磁界を電気信号に変換するリード素子を備えている。なお、磁気ディスク１１は、１枚以上あればよく、記録面は磁気ディスク１１の片面あるいは両面に形成することができる。また、本発明をリード素子のみを備えるデータ記憶装置に適用することができる。
【００３７】
ＡＥ１３は、複数のヘッド素子部１２の中からデータ・アクセスが行われる１つのヘッド素子部１２を選択し、選択されたヘッド素子部１２により再生される再生信号を一定のゲインで増幅（プリアンプ）し、ＲＷチャネル２１に送る。また、ＲＷチャネル２１からの記録信号を選択されたヘッド素子部１２に送る。ＲＷチャネル２１は、ライト処理において、ＨＤＣ／ＭＰＵ２３から供給されたライト・データをコード変調し、更にコード変調されたライト・データをライト信号に変換してＡＥ１３に供給する。リード処理において、ＲＷチャネル２１はＡＥ１３から供給されたリード信号を一定の振幅となるように増幅し、取得したリード信号からデータを抽出し、デコード処理を行う。読み出されるデータは、ユーザ・データとサーボ・データを含む。デコード処理されたリード・データは、ＨＤＣ／ＭＰＵ２３に供給される。
【００３８】
ＨＤＣ／ＭＰＵ２３において、ＭＰＵはＲＡＭ２４にロードされたマイクロ・コードに従って動作する。ＨＤＤ１の起動に伴い、ＲＡＭ２４には、ＭＰＵ上で動作するマイクロ・コードの他、制御及びデータ処理に必要とされるデータが磁気ディスク１１あるいはＨＤＣ／ＭＰＵ２３内のＲＯＭなどからロードされる。また、必要な各パラメータが、ＥＥＰＲＯＭ２５からＲＡＭ２４にロードされる。ＨＤＣはロジック回路として構成され、ＭＰＵと一体的に様々な処理を実行する。例えば、ＨＤＣ／ＭＰＵ２３は、コマンド実行順序の管理、ヘッド素子部１２のポジショニング制御、インターフェース制御、ディフェクト管理などのデータ処理に関する必要な処理を行う。本形態のＨＤＣ／ＭＰＵ２３は、特に、ＨＤＤ１が参加するループ状ネットワークにおけるインターフェース処理及び内部処理を実行する。
【００３９】
次に、本発明のループ状ネットワークの例として、図２に示すような、１つのホスト・コントローラ２と４つのＨＤＤ１ａ−１ｄとを有するシングルループ接続のファイバ・チャネル・アービトレイティッドシステム（ＦＣ−ＡＬシステム）を説明する。ＦＣ−ＡＬシステムにおいて、ノードの一つであるホスト・コントローラ２のポートは、他の各ポート（ＨＤＤ１ａ−１ｄ）に実行させるループ初期化処理を制御するパラメータを含むＬＩＰ順序セットを生成し、ループ状ネットワークの下流側のポートに送信する。各ポートは、そのパラメータを含むＬＩＰ順序セットを受信すると、そのパラメータを保持すると共に、更に下流のＨＤＤ１若しくはホスト・コントローラ２へ転送する。各ポートは、保持したパラメータに従ってループ初期化処理を実行する。ループ初期化処理において、ループ上の各ノード（ポート）のアドレスが決定される。
【００４０】
各ポートは、自身に実装された機能として、ループ初期化処理を実施する。具体的には、図３のブロック図に模式的に示すように、ＨＤＣ／ＭＰＵ２３が処理を行うことで、ループ初期化制御部２３１として機能する。ループ初期化制御部２３１は、ＥＥＰＲＯＭ２５に格納された図４に示すモード・ページ１９ｈのうち、ループ初期化処理の制御に関するパラメータをＲＡＭ２４にロードし、ループ初期化制御テーブル２４１にセットする。
【００４１】
ループ初期化制御部２３１はＬＩＰ（Loop Initialization Primitive）順序セットを受信すると、そのＬＩＰ順序セットが通常のＬＩＰ順序セットか、ループ初期化処理動作のパラメータが含まれたＬＩＰ順序セットかを判定する機能を有する。そして、ループ初期化処理動作のパラメータが含まれたＬＩＰ順序セットであると判定した場合、そのパラメータをＲＡＭ２４のループ初期化制御テーブル２４１にセットする。さらに、ループ初期化制御部２３１は、ループ初期化制御テーブル２４１にセットしたパラメータに従って、ループ初期化処理を実行し、ループ上のアドレスを決定する。
【００４２】
従来のＦＣ−ＡＬシステムにおいて使用されているＬＩＰ順序セットは以下の５つである。（１）ＬＩＰ（Ｆ７，Ｆ７）：Loop Initialization no valid ＡＬ＿ＰＡ、（２）ＬＩＰ（Ｆ８，Ｆ７）：Loop Failure no valid ＡＬ＿ＰＡ、（３）ＬＩＰ（Ｆ７，ＡＬ＿ＰＳ）：Loop Initialization valid ＡＬ＿ＰＡ、（４）ＬＩＰ（Ｆ８，ＡＬ＿ＰＳ）：Loop Failure valid ＡＬ＿ＰＡ、（５）ＬＩＰ（ＡＬ＿ＰＤ，ＡＬ＿ＰＳ）：reset Ｌ＿Ｐｏｒｔ。
【００４３】
ここで、上記のＬＩＰ順序セットの記述は、ＬＩＰ（「宛先アドレス」，「送信元アドレス」）といった構成となっている。Ｆ７は、未だＡＬ＿ＰＡが割り振られていない状態におけるブロードキャストを意味し、Ｆ８は、所定期間信号を受信しなかった場合に発信されるＬＩＰ順序セットにおいて用いられるブロードキャストを意味する。ＡＬ＿ＰＤはDestination側のＡＬ＿ＰＡ、ＡＬ＿ＰＳはSend側の装置のＡＬ＿ＰＡを表す。即ち、従来のＬＩＰ順序セットにおいては、ループ状に接続された全てのＨＤＤのポートに対して送信する場合でも、Ｆ７、Ｆ８のような仮のアドレスが指定されていた。
【００４４】
これらのＬＩＰ順序セットに対し、本実施形態に係るＬＩＰ順序セット（ＬＩＰ（ｙｙ，ｘｘ））として、以下のものを説明する。一つは、ループ初期化動作パラメータ保存モード：ＬＩＰ（ＦＥ，ｘｘ）であり、もう一つは、ループ初期化動作パラメータ非保存モード：ＬＩＰ（ＦＤ，ｘｘ）、（ｘｘはループ初期化制御パラメータ）である。本実施形態に係るこれらのＬＩＰ順序セットは、図２に示すようにループ状に接続された各ＨＤＤ１ａ−１ｄに対して一括して初期化制御用のパラメータを設定するために送信されるものであり、上記に説明した従来のＬＩＰ順序セットのように宛先アドレスおよび送信元アドレスを必要としないため、特にＬＩＰ順序セットのＡＬ＿ＰＤ、ＡＬ＿ＰＳは規定しない。
【００４５】
ｘｘについては表１に示す現状のモード・ページ１９ｈ（ファイバ・チャネル・コントロール・ページ）のバイト３のパラメータをそのまま載せる方法もあるが、その値によってはファイバ・チャネル信号としてコード・エラーで認識できない場合があり、かつモード・ページ１９ｈのバイト３以外のパラメータの設定も実施することを考慮する。
【００４６】
ループ初期化動作パラメータ保存モードと、ループ初期化動作パラメータ非保存モードとに分けることにより、各ＨＤＤ１ａ−１ｄは、ループ初期化制御テーブル２４１にパラメータをセットした後に、ＥＥＰＲＯＭ２５にそのパラメータを保存するか否かを判断する。即ち、ループ初期化動作パラメータ保存モードのＬＩＰ順序セットを受信したＨＤＤ（ポート）は、受信したパラメータを用いて、ＥＥＰＲＯＭ２５に格納されているモード・ページ１９ｈの対応する情報を上書きする。
【００４７】
ループ初期化動作パラメータ非保存モードのＬＩＰ順序セットを受信したＨＤＤは、ＥＥＰＲＯＭ２５に格納されているモード・ページ１９ｈの対応する情報を上書きしない。その結果、従来のモード・セレクト・コマンドによる制御に対して、モード・ページの変更を、ＡＬ＿ＰＡを取得していない状態、ＬＯＧＩＮ処理を実行していない状態でも実行できる。
【００４８】
本発明の例として、図２の各装置の設定値が図５及び図６に示した値である場合について、以下に各装置の動作を説明する。図６は、予め各ＨＤＤ１ａ−１ｄのＥＥＰＲＯＭ２５に保存されているモード・ページ１９ｈ（ファイバ・チャネル・コントロールページ）の値、コネクタのジャンパ設定値、およびジャンパ設定値に対応するＡＬ＿ＰＡを表したものである。なお、ループ・マスタを決めるための各ポートのファイバ・チャネルのワールドワイドな識別番号（world-wide name）の大小関係は、（ＨＤＤ１ａ）＜（ホスト・コントローラ２）＜（ＨＤＤ１ｂ）＜（ＨＤＤ１ｃ）＜（ＨＤＤ１ｄ）とする。従って、ループ・マスタはＨＤＤ１ａ（装置１）となる。また、コネクタのジャンパ設定値が、装置３は本来０８ｈとなるべきが、０７ｈとなっているものとする。
【００４９】
また、ホスト・コントローラの期待するループ初期化動作、およびファイバ・チャネル制御パラメータは、以下に記載の通りであるとする。
（１−ａ）ホスト・コントローラはループ・マスタになる。
（１−ｂ）ループ上のＨＤＤ４台のＡＬ＿ＰＡは、以下を期待するものとする（ＨＤＤ１ａ−１ｄのジャンパ設定を以下のＡＬ＿ＰＡに対応して設定する）。ＨＤＤ１ａ：ＤＣｈ、ＨＤＤ１ｂ：ＤＡｈ、ＨＤＤ１ｃ：Ｄ９ｈ、ＨＤＤ１ｄ：Ｄ６ｈ
（１−ｃ）各ＨＤＤ１ａ−１ｄは、ソフトアサインを実行しない。
【００５０】
また、その他のファイバ・チャネル動作については以下の通りとする。
（１−ｄ）ファブリックアサインを抑止する。
（１−ｅ）バイパス・プリミティブを無視する。
（１−ｆ）全ＨＤＤ１ａ−１ｄの認証期間を２秒とする。
（１−ｇ）上記ループ初期化動作、およびファイバ・チャネル動作の設定は電源ＯＦＦ後も維持される。
【００５１】
電源が投入されると、ループ上の各ＨＤＤ１ａ−１ｄは一般に、ＥＥＰＲＯＭ２５に保持されたモード・ページ１９ｈ（ファイバ・チャネル・コントロール・ページ）の値を読み込み、図７の状態となる。各ＨＤＤ１ａ−１ｄは、ループ初期化動作制御テーブルの値をもとに、その後ループ初期化処理を開始する。しかし、このとき実際に行われるループ初期化動作は、図５及び図８に示すようになる。つまり、以下の通りとなる
【００５２】
（２−ａ）ループ・マスタは装置１となる。
（２−ｂ）ＨＤＤ１ｃはソフトアサインを実施し、ＡＬ＿ＰＡ＝ＥＦｈを取得する。
（２−ｃ）ＨＤＤ１ａからＨＤＤ１ｄはバイパス・プリミティブが有効となる。
（２−ｄ）ＨＤＤ１ｄの認証期間は１秒となる。
従って、ホスト・コントローラ２の期待と異なるループ初期化動作を行ってしまう。
【００５３】
ここで、ホスト・コントローラが期待するループ初期化動作の制御は、以下の通りである。
（１−ａ）は、ＨＤＤ１ａ−１ｄのＤＬＭ（ビット４）をＯＮ設定する。
（１−ｃ）は、ＨＤＤ１ａ−１ｄのＲＨＡ（ビット３）をＯＮ設定する。
（１−ｄ）は、ＨＤＤ１ａ−１ｄのＤＴＦＤ（ビット７）をＯＮ設定する。
（１−ｅ）は、ＨＤＤ１ａ−１ｄのＰＬＰＢ（ビット６）をＯＮ設定する。
（１−ｆ）は、ＲＲ＿ＴＯＶ Unitsを０３ｈ、Resource Recovery Time-Out Valueを１４ｈに設定する。
【００５４】
以下に、本形態のループ初期化処理について、図９のフローチャートを参照して説明する。ループ初期化制御テーブル２４１及び認証時間の設定においては、６つの設定モードを用意する。これら設定モードの内容及びそのモードに従った処理について後述する。図９において、ループ初期化制御部２３１はＬＩＰ順序セットを受信し（Ｓ９１１）、そのＬＩＰ順序セットを解析する（Ｓ９１２）。
【００５５】
ＬＩＰ順序セットがループ初期化制御要求を有しない場合（Ｓ９１２におけるＮ）、ループ初期化制御部２３１はループ初期化制御テーブル２４１を参照してループ初期化処理及びファイバ・チャネル信号制御を実行する（Ｓ９１８）。このとき、ループ初期化制御テーブル２４１は、電源投入（Ｓ９２１）におけるＥＥＰＲＯＭ２５からのパラメータ読み込み（Ｓ９２２）、あるいはモード・セレクト・コマンドに従って設定されている（Ｓ９２３）。
【００５６】
ＬＩＰ順序セットがループ初期化制御要求を有する場合（Ｓ９１２におけるＹ）、ループ初期化制御部２３１は、ループ初期化制御パラメータを解析する（Ｓ９１３）。その解析を終了するまで、その処理を繰り返す（Ｓ９１４におけるＮ）。その解析を終了すると（Ｓ９１４におけるＹ）、ループ初期化制御部２３１はループ初期化制御テーブル２４１に値をセットする（Ｓ９１５）。
【００５７】
ＬＩＰ順序セットがパラメータ保存要求を有している場合（Ｓ９１６におけるＹ）、ループ初期化制御部２３１は、パラメータをＥＥＰＲＯＭ２５に保存する（Ｓ９１７）。その後、ループ初期化制御部２３１は、ループ初期化制御テーブル２４１を参照してループ初期化処理及びファイバ・チャネル信号制御を実行する（Ｓ９１８）。このとき、ループ初期化制御テーブル２４１は、ステップＳ９１５においてセットした値が登録されている。ＬＩＰ順序セットがパラメータ保存要求を有していない場合（Ｓ９１６におけるＮ）、ループ初期化制御部２３１は、パラメータを保存することなく、ループ初期化処理及びファイバ・チャネル信号制御を実行する（Ｓ９１８）。
【００５８】
なお、ステップＳ９１７のパラメータ保存に時間がかかり、ループ初期化処理時間のタイムアウトが考えられる場合、ループ初期化制御部２３１は、図１０のフローチャートに示すように、保存要求フラグをセットしておき、ループ初期化処理終了後にパラメータ保存処理を実行しても良い。具体的には、図１０において、ループ初期化制御部２３１は、パラメータ保存処理を行うことなくループ初期化処理を実行し（Ｓ９１８）、それを完了した後（Ｓ９３１）に、パラメータ保存要求フラグがセットされているかを判定する（Ｓ９３２）。セットされていない場合は（Ｓ９３２におけるＮ）、パラメータ保存することなく終了する。セットされている場合は（Ｓ９３２におけるＹ）、ループ初期化制御部２３１は、パラメータをＥＥＰＲＯＭ２５に保存する（Ｓ９３３）。
【００５９】
上述の６つの設定モードの例について具体的に説明する。設定モードは、以下通りである。
設定モード０：ループ初期化制御テーブルが設定完了の状態
設定モード１：ループ初期化制御テーブルに設定するモード・ページ１９ｈ  バイト３のＨｉｇｈ側（ビット７からビット４）設定中の状態
設定モード２：ループ初期化制御テーブルに設定するモード・ページ１９ｈ  バイト３のＬｏｗ側（ビット３からビット０）設定中の状態
設定モード３：ループ初期化制御テーブルに設定するモード・ページ１９ｈ  バイト６の（ビット２からビット０）設定中の状態
設定モード４：ループ初期化制御テーブルに設定するモード・ページ１９ｈ  バイト７のＨｉｇｈ側（ビット７からビット４）設定中の状態
設定モード５：ループ初期化制御テーブルに設定するモード・ページ１９ｈ  バイト７のＬｏｗ側（ビット３からビット０）設定中の状態
【００６０】
また、各フィールドのビットのＯＮの設定についてはＬＩＰ（ＦＥ，ｘｘ）、またはＬＩＰ（ＦＤ，ｘｘ）で設定する。ＬＩＰ（ＦＥ，ｘｘ）、またはＬＩＰ（ＦＤ，ｘｘ）受信時の各設定モードにおけるビットの設定、およびＬＩＰ（ＦＥ，００）、またはＬＩＰ（ＦＤ，００）を受信した場合の設定モードの遷移先を図１１の表に示す。
【００６１】
上述した、ループ初期化処理及びファイバ・チャネル動作を実現するためのＬＩＰ順序セット、およびこのＬＩＰ順序セットを受信した場合の設定モード、ループ初期化動作制御テーブル、認証時間（Units、Value）の遷移を図１２の表に示す。この結果、ＨＤＤ１ａ−ＨＤＤ１ｄのループ初期化制御テーブル２４１及び認証時間の値は、図１３の表に示すように更新され、ホスト・コントローラ２が期待する動作を実現することができる。このループ初期化処理の結果、図１４の表に示すようにホスト・コントローラ２が期待するループ初期化が実施される。ＨＤＤ１ｃのＲＨＡがＯＮ設定であり、ＡＬ＿ＰＡを取得しない状態となっている。
【００６２】
以上の処理により、ＨＤＤ１ｄに不備（本実施例においては、ジャンパ設定の間違い）があることが判明し、その不備を取り除いた後に（本実施例においては、ジャンパを設定しなおした後に）再度初期化処理を行うことによって、所望の初期化処理の結果を得ることができる。
【００６３】
図９を参照して説明したフローのステップＳ９１１−Ｓ９１４について、各設定モードの処理をより詳細に説明する。図１５に示すように、ループ初期化制御部２３１は、ＬＩＰ順序セットを受信すると（Ｓ１５０１）、設定モードの判定を行い（Ｓ１５０２−Ｓ１５０７）、各設定モードに従って処理を実行する（Ｓ１５１１−Ｓ１５１６）。
【００６４】
図１６は、設定モード０における処理を示すフローチャートである。ループ初期化制御部２３１は、受信したＬＩＰ順序セット（ＬＩＰ（ｙｙ，ｘｘ））の「ｙｙ」が、「ＦＥ」であるかを判定する（Ｓ１６０１）。「ｙｙ」が「ＦＥ」である場合（Ｓ１６０１におけるＹ）、ループ初期化制御部２３１は、パラメータ保存要求フラグをセットし（Ｓ１６０２）、ループ初期化制御テーブル２４１をクリアする。具体的には、モード・ページ１９ｈ  バイト３に対応するａ、モード・ページ１９ｈ  バイト６に対応するｂ、モード・ページ１９ｈ  バイト７に対応するｃのそれぞれを、０にセットする。ループ初期化制御部２３１は、さらに、設定モードを「０」から「１」へ変更する。
【００６５】
「ｙｙ」が「ＦＥ」でない場合（Ｓ１６０１におけるＮ）、ループ初期化制御部２３１は、パラメータ保存要求フラグをリセットし（Ｓ１６０５）する。次に、ループ初期化制御部２３１は、ＬＩＰ順序セットの「ｙｙ」が、「ＦＤ」であるかを判定する（Ｓ１６０６）。「ｙｙ」が、「ＦＤ」である場合（Ｓ１６０６におけるＹ）、ステップ１６０３の処理を行い、「ｙｙ」が「ＦＤ」でない場合（Ｓ１６０６におけるＮ）、設定モードを「０」の処理が終了する。
【００６６】
図１７は、設定モード１における処理を示すフローチャートである。ループ初期化制御部２３１は、ＬＩＰ順序セット（ＬＩＰ（ｙｙ，ｘｘ））の「ｘｘ」の値を判定し（Ｓ１７０１−Ｓ１７０５）、判定した値に従った処理（Ｓ１７１１−Ｓ１７１５）を実行する。ここで、例えば、ステップＳ１７１２における「ａ←ａ｜０８ｈ」は、ａ（モード・ページ１９ｈ  バイト３に対応）に、０８ｈをセットすることを意味する。
【００６７】
図１８は、設定モード２における処理を示すフローチャートである。ループ初期化制御部２３１は、ＬＩＰ順序セット（ＬＩＰ（ｙｙ，ｘｘ））の「ｘｘ」の値を判定し（Ｓ１８０１−Ｓ１８０５）、判定した値に従った処理（Ｓ１８１１−Ｓ１８１５）を実行する。図１９は、設定モード３における処理を示すフローチャートである。ループ初期化制御部２３１は、ＬＩＰ順序セット（ＬＩＰ（ｙｙ，ｘｘ））の「ｘｘ」の値を判定し（Ｓ１９０１−Ｓ１９０４）、判定した値に従った処理（Ｓ１９１１−Ｓ１９１４）を実行する。ここで、例えば、ステップＳ１９１２における「ｂ←ｂ｜０４ｈ」は、ｂ（モード・ページ１９ｈ  バイト６に対応）に、０４ｈをセットすることを意味する。
【００６８】
図２０は、設定モード４における処理を示すフローチャートである。ループ初期化制御部２３１は、ＬＩＰ順序セット（ＬＩＰ（ｙｙ，ｘｘ））の「ｘｘ」の値を判定し（Ｓ２００１−Ｓ２００５）、判定した値に従った処理（Ｓ２０１１−Ｓ２０１５）を実行する。ここで、例えば、ステップＳ２０１２における「ｃ←ｃ｜０８ｈ」は、ｃ（モード・ページ１９ｈ  バイト７に対応）に、０８ｈをセットすることを意味する。図２１は、設定モード５における処理を示すフローチャートである。ループ初期化制御部２３１は、ＬＩＰ順序セット（ＬＩＰ（ｙｙ，ｘｘ））の「ｘｘ」の値を判定し（Ｓ２１０１−Ｓ２１０５）、判定した値に従った処理（Ｓ２１１１−Ｓ２１１５）を実行する。
【００６９】
尚、上記の説明のように、ループ初期化処理の開始命令であるＬＩＰ順序セットにパラメータが付加されていることが好ましいが、ループ・ネットワーク上を伝送される他のファイバ・チャネル順序セットなど、他の制御信号を使用しても良い。また、上記の説明においては、パラメータｘｘの付加されたＬＩＰ順序セットを受信した場合、受信したパラメータｘｘをループ初期化制御テーブル２４１にセットして、初期化処理を実行する例を説明したが、パラメータｘｘを受信した場合においても、ＥＥＰＲＯＭ２５に格納されたパラメータと受信したパラメータとのいずれかを選択する機能を持たせても良い。
【００７０】
上記の説明のように、ＬＩＰ（ＥＦ，ｘｘ）、ＬＩＰ（ＦＤ，ｘｘ）のように、ループ初期化動作を制御するパラメータｘｘを、ＬＩＰ順序セットに付加してループ・ネットワーク上を伝送することが好ましいが、パラメータｘｘのみを先にループ・ネットワーク上に伝送し、各ＨＤＤ１ａ〜１ｄのループ初期化制御テーブルにパラメータをセットした上で、ＬＩＰ順序セットを送信するようにしても良い。この場合に送信するＬＩＰ順序セットは従来と同様のＬＩＰ順序セットであって良い。
その他の形態．
【００７１】
本発明の好ましい他の形態として、ＦＣ＿ＡＬシステムの様なループ状ネットワークにおいて、ＬＩＰ順序セットの様な優先順位の高い信号を利用して、ループ閉塞の状態を回復する処理を説明する。ＦＣ＿ＡＬシステムにおいては、ループ状に接続されたホスト・コントローラと装置とが調停（Arbitration）信号をやりとりすることによって、１：１の調停が成立し、その装置のポートがオープンとなって通信が行われる。その間、他の装置が送信する調停信号は、調停が成立しているポートによって破棄される。ホスト・コントローラと調停が成立した装置との通信が完了すると、その旨の信号（クローズ信号：ＣＬＳ信号）がループ上を伝送され、オープンとなっていたポートが閉じられることによって、再度他の装置の調停が可能な状態（アイドル状態）となる。
【００７２】
ここで、例えば、クローズ信号がループ状ネットワーク上を一周することなく、ノイズ等の原因により途中で変化若しくは消失してしまった場合、オープン状態のポートが永遠にクローズ信号を受信することがないため、他の装置から送信される調停信号を永遠に破棄し続ける。従って、ループ上ネットワークにおいて新たに調停が成立し得なくなり、ループ閉塞（ハング）状態となってしまう。
【００７３】
この様な状態を解決するために、クローズ信号を送信した後、クローズ信号を受信することなく所定期間経過した場合に、ＬＩＰ順序セットを送信し、ループ初期化処理を行うことによってループ閉塞状態を回復することが考えられる。ＦＣ＿ＡＬシステムにおいて、ＬＩＰ順序セットは最優先で処理される信号であり、各ポートはオープン状態であってもクローズ状態であっても、ＬＩＰ順序セットを受信するとループ初期化に参加しなければならないからである。ＬＩＰ順序セットがループ・ネットワーク上を一周した後、図２２を参照して説明したループ初期化フレームがループ上を伝送され、ループ初期化の最後の段階でクローズ信号がループ・ネットワーク上を一周することによってループ閉塞状態が解消される。
【００７４】
しかしながら、上記の方法によるループ閉塞解消の場合、各ポートにおいて従来技術で図２２を参照して説明したような、ＡＬ＿ＰＡ取得処理も当然行われることとなる。従って、各ポートでの処理時間を考えると最終的にループ閉塞が回復するまでに多くの時間がかかる。また、このループ初期化処理においてループ初期化フレームが壊れると、ループ上の各ポートのＡＬ＿ＰＡが変化してしまい、システム障害が発生する可能性もある。本形態のループ閉塞回復処理は、通常のＬＩＰ順序セットに従って実行される処理の少なくとも一部を省略することによって、上記の問題を可決する。
【００７５】
具体的な本実施形態におけるループ閉塞の回復方法を、図２を用いて説明する。例として、ホスト・コントローラ２と装置の一例であるＨＤＤ１ｃとの間で調停が成立し、ホスト・コントローラ２からＨＤＤ１ｃに送信されたデータがＨＤＤ１ｃに書き込まれる場合を考える。この場合、ＨＤＤ１ｃのレシーブ側ポートはオープン状態であるため、他のポートの調停信号はＨＤＤ１ｃのレシーブ側で破棄される。
【００７６】
ＨＤＤ１ｃにおいてデータの書込みが完了すると、ホスト・コントローラ２とＨＤＤ１ｃとの間での通信が完了したとして、ＨＤＤ１ｃからクローズ（ＣＬＳ）信号が発信される。このクローズ信号はループ・ネットワーク上を、ＨＤＤ１ｄ、ホスト・コントローラ、ＨＤＤ１ａ、ＨＤＤ１ｂという順番で伝送され、ＨＤＤ１ｃに戻る。これにより、ＨＤＤ１ｃのレシーブ側がクローズ状態に戻り、他のノードの調停信号を下流に転送する状態に戻る。
【００７７】
ここで、ＨＤＤ１ｃから送信されたクローズ信号が、ループ・ネットワーク上を一周してＨＤＤ１ｃに戻る前に、ノイズ等の理由によってそのクローズ信号が変化、消失してしまった場合の処理を説明する。なお、各ＨＤＤにおける以下の処理は、それぞれのＨＤＣ／ＭＰＵ２３が実行する。ＨＤＤ１ｃは、クローズ信号を送信すると時間計測を開始する。予め設定された基準期間経過してもクローズ信号が返ってこない（タイムアウト）と、ループ閉塞状態にあると判定する。ＨＤＤ１ｃは、予め定められた識別子である特殊符号として、ＬＩＰ順序セットにループ閉塞フラグを付加し、そのフラグ付ＬＩＰ順序セットを送信する。このＬＩＰ順序セットは、ＨＤＤ１ｃからＨＤＤ１ｄ、ホスト・コントローラ２、ＨＤＤ１ａ、ＨＤＤ１ｂ、ＨＤＤ１ｃとループ・ネットワーク上を一周する。
【００７８】
各ポートは、図２２を参照して従来技術で説明したループ・マスタの決定（Ｓ２２０２）及びネットワーク上のアドレス取得処理（Ｓ２２０３−２２１０、Ｓ２２２０−Ｓ２２２８）の各工程をスキップする。ＨＤＤ１ｃは、自らが送信したＬＩＰ順序セットを受信すると、クローズ信号を発信する。クローズ信号は、ＨＤＤ１ｃからＨＤＤ１ｄ、ホスト・コントローラ２、ＨＤＤ１ａ、ＨＤＤ１ｂ、ＨＤＤ１ｃとループ・ネットワーク上を一周し、処理が終了する。これによって、ＨＤＤ１ｃのレシーブ側ポートはクローズ状態となり、他のポートの調停信号がネットワーク上を正常に転送されるようになる。
【００７９】
この様に、各ポートにおけるアドレス取得処理を省略することによって、ＬＩＰ順序セットの制御信号タイプを使用してループ閉塞状態を回復するとともに、その処理時間を短縮し、また、新たな不具合の発生の可能性を効果的に抑えることができる。なお、上述のように、ループ・マスタの決定及びアドレス取得処理を全てスキップすることが好ましいが、設計によって、ループ・マスタの決定の処理など、アドレス取得以外の一部の処理を行ってもよい。あるいは、アドレス取得を行うことなく、各ポートが、各初期化フレームに情報を追加することなく、単に転送するように構成してもよい。また、ＨＤＤ１ｃ以外のノードが、上記ＬＩＰ順序セットを送信してもよい。また、閉塞状態が解除されるのであれば、ＬＩＰ順序セット以外の制御信号を使用してもよい。
【００８０】
ここで、タイムアウトを検出したＨＤＤ１ｃが再度クローズ信号を送信することによって、ループ閉塞を解消する方法も考えられる。この場合も、ループ閉塞は解消するが、他の不具合が生じる可能性があり好ましくない。例えば、ＨＤＤ１ｃにおいて、再度クローズ信号を送信した後に最初に送信したクローズ信号が返ってきた場合、２度目に送信したクローズ信号がループ・ネットワーク上に残る。このクローズ信号は、後に成立した調停を通信が完了する前に終了させてしまう等の不具合を発生させる可能性がある。
【００８１】
本実施形態のような方法を用いてループ閉塞を回復することにより、ＨＤＤ１ｃがタイムアウトと判断し、ループ閉塞フラグの付加されたＬＩＰ順序セットが送信された後に、クローズ信号が返ってきた場合でも、無駄なクローズ信号がループ状に残るという不具合の発生を避けることができる。
【００８２】
以上、本発明を好ましい実施形態を例として説明したが、本発明が上記の実施形態に限定されるものではない。当業者であれば、上記の実施形態の各要素を、本発明の範囲において容易に変更、追加、変換することが可能である。例えば、本発明は、データ記憶装置をノードとするループ状ネットワーク・システムに好適であるが、他の装置をループ状ネットワークにノードとして接続することができる。
【図面の簡単な説明】
【００８３】
【図１】本発明の実施形態に係るＨＤＤの全体構成を模式的に示すブロック図である。
【図２】本発明の実施形態に係るループ状ネットワーク・システムを模式的に表した図である。
【図３】本発明の実施形態において、ループ初期化処理を実行する各論理構成要素を模式的に示すブロック図である。
【図４】ＦＣ−ＡＬシステムにおけるモード・ページ１９ｈのフォーマットを示す図である。
【図５】所定のパラメータ時における図２の接続でのループ初期化処理の結果の例を表した図である。
【図６】予め各ＨＤＤに保存されているモード・ページ１９ｈの値、コネクタのジャンパ設定値及びジャンパ設定値に対応するＡＬ＿ＰＡの例を示している。
【図７】ＥＥＰＲＯＭに保持されたモード・ページ１９ｈの値を読み込んだＨＤＤの状態を示している。
【図８】図７に対応して実際に行われるループ初期化動作を示している。
【図９】本形態のＬＩＰ順序セットを使用したループ初期化処理を示すフローチャートである。
【図１０】本形態のＬＩＰ順序セットを使用したループ初期化処理の他の例示すフローチャートである。
【図１１】本形態のＬＩＰ（ＦＥ，ｘｘ）、またはＬＩＰ（ＦＤ，ｘｘ）受信時の各設定モードにおけるビットの設定などを示している。
【図１２】本形態のループ初期化処理及びファイバ・チャネル動作を実現するためのＬＩＰ順序セット、およびこのＬＩＰ順序セットを受信した場合の設定モード、ループ初期化動作制御テーブル、認証時間（Units、Value）の遷移を示している。
【図１３】本形態のループ初期化処理により更新された、各ノードのループ初期化制御テーブル及び認証時間の値を示している。
【図１４】本形態のループ初期化処理の結果としての各ノードの設定値を示している。
【図１５】図９における、ＬＩＰ信号解析処理を表したフローチャートである。
【図１６】図９における設定モード０の場合の動作の流れを表すフローチャートである。
【図１７】図９における設定モード１の場合の動作の流れを表すフローチャートである。
【図１８】図９における設定モード２の場合の動作の流れを表すフローチャートである。
【図１９】図９における設定モード３の場合の動作の流れを表すフローチャートである。
【図２０】図９における設定モード４の場合の動作の流れを表すフローチャートである。
【図２１】図９における設定モード５の場合の動作の流れを表すフローチャートである。
【図２２】従来のループ初期化処理の流れを表したフローチャートである。
【図２３】従来のループ初期化処理を表したフローチャートである。
【符号の説明】
【００８４】
１、１ａ、１ｂ、１ｃ、１ｄ  ＨＤＤ、２  ホスト・コントローラ
１０  エンクロージャ、１１  磁気ディスク、１２  ヘッド素子部
１３  アーム・エレクトロニクス、１４  スピンドル・モータ
１５  ボイス・コイル・モータ、１６  アクチュエータ、２０  回路基板
２１  リード・ライト・チャネル、２２  モータ・ドライバ・ユニット
２３  ハードディスク・コントローラ／ＭＰＵ２４  ＲＡＭ、２５  ＥＥＰＲＯＭ
２３１  ループ初期化制御部、２４１  ループ初期化制御テーブル
【図１】
2008060636.tif 000003
【図２】
2008060636.tif 000004
【図３】
2008060636.tif 000005
【図４】
2008060636.tif 000006
【図５】
2008060636.tif 000007
【図６】
2008060636.tif 000008
【図７】
2008060636.tif 000009
【図８】
2008060636.tif 000010
【図９】
2008060636.tif 000011
【図１０】
2008060636.tif 000012
【図１１】
2008060636.tif 000013
【図１２】
2008060636.tif 000014
【図１３】
2008060636.tif 000015
【図１４】
2008060636.tif 000016
【図１５】
2008060636.tif 000017
【図１６】
2008060636.tif 000018
【図１７】
2008060636.tif 000019
【図１８】
2008060636.tif 000020
【図１９】
2008060636.tif 000021
【図２０】
2008060636.tif 000022
【図２１】
2008060636.tif 000023
【図２２】
2008060636.tif 000024
【図２３】
2008060636.tif 000025