(57)【要約】  記憶装置は、光ファイバチャネルループに他の１又は複数のデバイスと共にループ接続され、ループの一方向にデータを伝送する。調停部はデータの伝送要求が発生したときに、ループに調停信号を送信してループ占有権を獲得する。測定部はループに調停信号を送信してからループ占有権を獲得するまでのレイテンシ時間を測定し、バースト長設定部が測定されたレイテンシ時間が短いほどバースト長を長くし、レイテンシ時間が長いほどバースト長を短くするように可変設定したフレームデータを伝送先に伝送する。
2009050806.tif 000002
【特許請求の範囲】
【請求項１】
ファイバ線路により他の１又は複数のデバイスのポートと共にループ接続され、前記ループの一方向にデータを伝送する記憶装置に於いて、
データの伝送要求が発生したときに、前記ループに調停信号を送信してループ占有権を獲得する調停部と、
前記調停部により前記ループに調停信号を送信してから前記ループ占有権を獲得するまでのレイテンシ時間を測定する測定部と、
前記測定されたレイテンシ時間に応じて前記ループに伝送するデータのバースト長を可変設定するバースト長設定部と、
前記設定されたバースト長のフレームデータを、前記ループを介して伝送先に伝送するフレーム伝送部と、
を備えたことを特徴とする記憶装置。
【請求項２】
請求項１記載の記憶装置に於いて、前記バースト長設定部は、前記レイテンシ時間が短いほど前記バースト長を長くし、レイテンシ時間が長いほど前記バースト長を短くするようにバースト長を可変設定することを特徴とする記憶装置。
【請求項３】
請求項１記載の記憶装置に於いて、前記バースト長設定部は、複数の範囲に分割したレイテンシ時間に対応する異なるバースト長を登録したテーブル情報をメモリに保持し、前記測定されたレイテンシ時間による前記テーブル情報の参照により、対応するバースト長を取得して設定することを特徴とする記憶装置。
【請求項４】
請求項１記載の記憶装置に於いて、前記バースト長設定部は、前記ループの異なるデータ伝送速度毎に、レイテンシ時間とバースト長との対応関係を登録したテーブル情報をメモリに保持することを特徴とする記憶装置。
【請求項５】
請求項１記載の記憶装置に於いて、前記調停部は、
伝送要求がないときは受信した信号をそのまま送信するバイパスモードの状態にあり、
データの伝送要求が発生した時は、アイドル信号と他ポートから受信した優先度の低い調停信号を、優先度の高い自己の調停信号に置換して送信し、
前記置換して送信した自己の調停信号の前記ループから受信したときにループ占有権を獲得したと判断して前記バイパスモードを解除し、全ての受信信号を取り込んで不要な信号を破棄するループ開放モードに移行し、
続いて伝送先にポート開放信号を送信してループ開放モードに移行させることにより１対１結合を確立して前記フレーム伝送部にバースト長のフレームを伝送させ、
前記フレーム伝送を終了した時にループ閉鎖信号を送信して伝送先ポート部をバイパスモードに移行させると共に、前記ループから前記ループ閉鎖信号を受信したときに前記１対１結合を終了してバイパスモードに移行することを特徴とする記憶装置。
【請求項６】
ファイバ線路により他の１又は複数のデバイスのポートと共にループ接続され、前記ループの一方向にデータを伝送する記憶装置のデータ伝送方法に於いて、
データの伝送要求が発生したときに、前記ループに調停信号を送信してループ占有権を獲得する調停ステップと、
前記調停ステップにより前記ループに調停信号を送信してから前記ループ占有権を獲得するまでのレイテンシ時間を測定する測定ステップと、
前記測定されたレイテンシ時間に応じて前記ループに伝送するデータのバースト長を可変設定するバースト長設定ステップと、
前記設定されたバースト長のフレームデータを、前記ループを介して伝送先に伝送するフレーム伝送ステップと、
を備えたことを特徴とするデータ伝送方法。
【請求項７】
請求項６記載のデータ伝送方法に於いて、前記バースト長設定ステップは、前記レイテンシ時間が短いほど前記バースト長を長くし、レイテンシ時間が長いほど前記バースト長を短くするようにバースト長を可変設定することを特徴とするデータ伝送方法。
【請求項８】
請求項６記載のデータ伝送方法に於いて、前記バースト長設定ステップは、複数の範囲に分割したレイテンシ時間に対応する異なるバースト長を登録したテーブル情報をメモリに保持し、前記測定されたレイテンシ時間による前記テーブル情報の参照により、対応するバースト長を取得して設定することを特徴とするデータ伝送方法。
【請求項９】
請求項６記載のデータ伝送方法に於いて、前記バースト長設定ステップは、前記ループの異なるデータ伝送速度毎に、レイテンシ時間とバースト長との対応関係を登録したテーブル情報をメモリに保持することを特徴とするデータ伝送方法。
【請求項１０】
請求項６記載のデータ伝送方法に於いて、前記調停ステップは、
伝送要求がないときは受信した信号をそのまま送信するバイパスモードの状態にあり、
データの伝送要求が発生した時は、アイドル信号と他ポートから受信した優先度の低い調停信号を、優先度の高い自己の調停信号に置換して送信し、
前記置換して送信した自己の調停信号を前記ループからの受信したときにループ占有権を獲得したと判断して前記バイパスモードを解除し、全ての受信信号を取り込んで不要な信号を破棄するループ開放モードに移行し、
続いて伝送先にポート開放信号を送信してループ開放モードに移行させることにより１対１結合を確立して前記フレーム伝送部にバースト長のフレームを伝送させ、
前記フレーム伝送を終了した時にループ閉鎖信号を送信して伝送先ポート部をバイパスモードに移行させると共に、前記ループから前記ループ閉鎖信号を受信したときに前記１対１結合を終了してバイパスモードに移行することを特徴とするデータ伝送方法。
【請求項１１】
ファイバ線路により他の１又は複数のデバイスのポートと共にループ接続され、前記ループの一方向にデータを伝送する記憶装置の伝送制御回路に於いて、
データの伝送要求が発生したときに、前記ループに調停信号を送信してループ占有権を獲得する調停回路と、
前記調停回路により前記ループに調停信号を送信してから前記ループ占有権を獲得するまでのレイテンシ時間を測定するタイマ回路と、
前記測定されたレイテンシ時間に応じて前記ループに伝送するデータのバースト長を可変設定するバースト長設定レジスタ回路と、
前記設定されたバースト長のフレームデータを、前記ループを介して伝送先に伝送するフレーム伝送回路と、
を備えたことを特徴とする伝送制御回路。
【請求項１２】
請求項１１記載の伝送制御回路に於いて、前記バースト長設定レジスタ回路は、前記レイテンシ時間が短いほど前記バースト長が長くなり、レイテンシ時間が長いほど前記バースト長が短くなるようにバースト長を可変設定することを特徴とする伝送制御回路。
【請求項１３】
請求項１１記載の伝送制御回路に於いて、バースト長設定レジスタ回路は、複数の範囲に分割したレイテンシ時間に対応して異なるバースト長を登録したテーブル情報をメモリに保持し、前記測定されたレイテンシ時間による前記テーブル情報の参照により、対応するバースト長を取得して設定することを特徴とする伝送制御回路。
【請求項１４】
請求項１１記載の伝送制御回路に於いて、バースト長設定レジスタ回路は、前記ループの異なるデータ伝送速度毎に、レイテンシ時間とバースト長との対応関係を登録したテーブル情報をメモリに保持することを特徴とする伝送制御回路。
【請求項１５】
請求項１１記載の伝送制御回路に於いて、前記調停回路は、
伝送要求がないときは受信した信号をそのまま送信するバイパスモードの状態にあり、
データの伝送要求が発生した時は、アイドル信号と他ポートから受信した優先度の低い調停信号を、優先度の高い自己の調停信号に置換して送信し、
前記置換して送信した自己の調停信号を前記ループから受信したときにループ占有権を獲得したと判断して前記バイパスモードを解除し、全ての受信信号を取り込んで不要な信号を破棄するループ開放モードに移行し、
続いて伝送先にポート開放信号を送信してループ開放モードに移行させることにより１対１結合を確立して前記フレーム伝送部にバースト長のフレームを伝送させ、
前記フレーム伝送を終了した時にループ閉鎖信号を送信して伝送先ポート部をバイパスモードに移行させると共に、前記ループから前記ループ閉鎖信号を受信したときに前記１対１結合を終了してバイパスモードに移行することを特徴とする伝送制御回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイバチャネルループに接続されて上位装置との間でデータを伝送する記憶装置、データ伝送方法及び伝送制御回路に関し、特に、ループのトラフィック状態に応じたバースト長により、データを伝送する記憶装置、データ伝送方法及び伝送制御回路に関する。
【背景技術】
【０００２】
従来、サーバ等のストレージサブシステムにあっては、サーバにチャネル接続した制御モジュールの配下に、ファイバチャネルループ（以下「ＦＣループ」という）によりデバイスとして多数の磁気ディスク装置をループ接続している。【０００３】
ＦＣループのインタフェース規格としては、例えば米国規格協会ＡＮＳＩ（Ａｍｅｒｉｃａｎ  Ｎａｔｉｏｎａｌ  Ｓｔａｎｄａｒｄ  Ｉｎｓｔｉｔｕｔｅ）によるＸ３．２３０がＦＣ−ＰＨ（Ｆｉｂｅｒ  Ｃｈａｎｎｅｌ  ＰＨｙｓｉｃａｌ  ａｎｄ  Ｓｉｇｎａｌｉｎｇ  Ｉｉｎｔｅｒｆａｃｅ）が１９９４に規定され、ＦＣ−ＡＬ（Ａｒｂｉｔｒａｔｅｄ  Ｌｏｏｐ）については１９９５年に規定されている。【０００４】
ＦＣループに対する磁気ディスク装置などのデバイスの接続インタフェース部はポートと呼ばれており、送信側デバイスと受信側デバイスのポート間で情報を交換するためには、送信側と受信側の２つのポートがループ占有権を獲得する必要がある。ループ占有権の獲得のために別ポートにアクセスしたいポートはＦＣインタフェース規格ＦＣ−ＡＬに定められたアービトレーション動作（調停動作）を行う。【０００５】
ループ占有権が特定のポートに偏らないようにアービトレーションはアクセスフェアネスアルゴリズムに従って行なわれ、各ポートがループ占有権を獲得できる頻度は平等である。【０００６】
ループ占有権獲得の頻度は各ポート平等であるが、ループ占有後の情報の伝送量は各ポートによって異なるため、ループ占有時間という点では平等ではない。【０００７】
図１２は従来のＦＣループにおいて、第１ポートの１回の伝送量が少なく、第２ポートの１回の伝送量が多い場合のループ占有時間を示している。図１２において、ループ占有権獲得の頻度は第１ポートも第２ポートも平等であるが、第１ポートの１回の伝送量が少なく、第２ポートの１回の伝送量が多いため、第１ポート占有時間はＴ１と短いが、第２ポートの占有時間はＴ２と長くなり、ループ占有時間という点では平等ではない。このため、少量の情報を伝送したいポートが他のポートの多量の情報を伝送するためのトラフィックにより長い時間待たされることになる。【０００８】
図１３（Ａ）は、ホストの第１ポートがデバイスの第３ポートにコマンドを発行できるリソースがあるが、他のデバイスの第２ポートのバースト伝送に邪魔されてコマンド発行できずに待たされる状態を示している。【０００９】
ここで、磁気ディスク装置における少量のトラフィックは、コマンド、ステータス、データ要求フレームなど情報交換のための重要な情報を含んでいることが多い。これはホストがデバイスからのステータスフレームを受信して新たなコマンドを発行し、またデバイスはホストからのコマンドを受信してからコマンドの処理を開始するからである。【００１０】
更に、ループを他のポートが占有中の時間もデバイス側ではコマンドのリオーダリング（処理時間が短くなるようにコマンドを並び替えて処理する機能）などの先行実行処理ができるため、少量の伝送はできるだけ早く行う方がシステム全体としてのスループットが向上する。【００１１】
図１３（Ｂ）は第２ポートのバースト伝送の占有時間が短い場合であり、ホストの第１ポートからデバイスの第３ポートに対するコマンド発行が他のデバイスの第２ポートのトラフィックにより邪魔されないため、ループを第２ポートが占有中の時間もデバイス側でコマンドのリオーダリングなどの先行処理ができる。【００１２】
しかし、ＦＣループの各ポートの１回の伝送量を少なくした場合には、ループ占有時間は各ポート平等に近づくが、１回の伝送量を少なくすることで情報を分割して伝送することとなり、分割伝送にあってはループ占有と開放を複数回繰り返すためにオーバーヘッドが増えることになる。【００１３】
例えば図１４（Ａ）のように、ＦＣループ上にループを使用したいポートが第１ポートの１つしか存在しなかった場合、他のデバイスのポートがアイドル状態でループが占有されないにも係らず、データを分割伝送のためにループ占有と開放を回繰り返しており、オーバーヘッドが増える。このような場合には図１４（Ｂ）のように、データを分割せずに一気にバースト伝送する方が効率がよい。
【特許文献１】特開平９−１８５５８０号公報
【特許文献２】特開２００４−９４４５２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
しかしながら、このような従来のＦＣループを使用したデータ伝送にあっては、ループのトラフィック状態によって最適なバースト長というものが存在するにも拘らず、ループにポート接続した磁気ディスク装置は、装置がデフォルトで持っている最大バースト長に従って常に一定の最大バースト長でデータ伝送を行っており、データ伝送の効率が悪いという問題がある。【００１５】
磁気ディスク装置のもつデフォルトの最大バースト長は、モードセレクトコマンドで設定を変更することが可能であるが、装置起動の初回のみ設計パラメタとして予め決めている最大バースト長をコマンドにより初期設定し、その後の運用中は初期設定した一定のバースト長を使用しており、バースト長がループのトラフィック状態に依存していないため、各ポートの様々な情報の伝送量に対しループを効率的に使用して伝送できないという問題がある。【００１６】
更に、ＦＣインタフェースではトラフィックを管理する特定のアービターという機能がないため、ループ上にどのくらいのトラフィックがあるのかを各ポートは知ることができず、ループのトラフィック状態によって最適なバースト長を決めることができないという問題がある。【００１７】
本発明は、ループのトラフィックを間接的に把握してトラフィックに応じた最適なバースト長を設定して、ループを効率的に使用することを伝送可能とする記憶装置、データ伝送方法及び伝送制御回路を提供することを目的とする。
【課題を解決するための手段】
【００１８】
（記憶装置）
本発明は、ファイバ線路により他の１又は複数のデバイスのポートと共にループ接続され、ループの一方向にデータを伝送する記憶装置に於いて、
データの伝送要求が発生したときに、ループに調停信号を送信してループ占有権を獲得する調停部と、
調停部によりループに調停信号を送信してからループ占有権を獲得するまでのレイテンシ時間を測定する測定部と、
測定されたレイテンシ時間に応じてループに伝送するデータのバースト長を可変設定するバースト長設定部と、
設定されたバースト長のフレームデータを、ループを介して伝送先に伝送するフレーム伝送部と、
を備えたことを特徴とする。【００１９】
ここで、バースト長設定部は、レイテンシ時間が短いほどバースト長を長くし、レイテンシ時間が長いほどバースト長を短くするようにバースト長を可変設定する。【００２０】
バースト長設定部は、複数の範囲に分割したレイテンシ時間に対応して異なるバースト長を登録したテーブル情報をメモリに保持し、測定されたレイテンシ時間によるテーブル情報の参照により、対応するバースト長を取得して設定する。【００２１】
バースト長設定部は、ループの異なるデータ伝送速度毎に、レイテンシ時間とバースト長との対応関係を登録したテーブル情報をメモリに保持する。【００２２】
調停部は、
伝送要求がないときは受信した信号をそのまま送信するバイパスモードの状態にあり、
データの伝送要求が発生した時は、アイドル信号と他ポートから受信した優先度の低い調停信号を、優先度の高い自己の調停信号に置換して送信し、
置換して送信した自己の調停信号をループから受信したときにループ占有権を獲得したと判断してバイパスモードを解除し、全ての受信信号を取り込んで不要な信号を破棄するループ開放モードに移行し、
続いて伝送先にポート開放信号を送信してループ開放モードに移行させることにより１対１結合を確立してフレーム伝送部にバースト長のフレームを伝送させ、
フレーム伝送を終了した時にループ閉鎖信号を送信して伝送先ポート部をバイパスモードに移行させると共に、ループからループ閉鎖信号を受信したときに１対１結合を終了してバイパスモードに移行する。【００２３】
（データ伝送方法）
本発明は、光ファイバ線路により他の１又は複数のデバイスのポートと共にループ接続され、ループの一方向にデータを伝送する記憶装置のデータ伝送方法に於いて、
データの伝送要求が発生したときに、ループに調停信号を送信してループ占有権を獲得する調停ステップと、
調停ステップにより前記ループに調停信号を送信してからループ占有権を獲得するまでのレイテンシ時間を測定する測定ステップと、
測定されたレイテンシ時間に応じてループに伝送するデータのバースト長を可変設定するバースト長設定ステップと、
設定されたバースト長のフレームデータを、前記ループを介して伝送先に伝送するフレーム伝送ステップと、
を備えたことを特徴とする。【００２４】
（伝送制御回路）
本発明は、光ファイバ線路により他の１又は複数のデバイスのポートと共にループ接続され、ループの一方向にデータを伝送する記憶装置の伝送制御回路に於いて、
データの伝送要求が発生したときに、ループに調停信号を送信してループ占有権を獲得する調停回路と、
調停回路により前記ループに調停信号を送信してからループ占有権を獲得するまでのレイテンシ時間を測定するタイマ回路と、
測定されたレイテンシ時間に応じてループに伝送するデータのバースト長を可変設定するバースト長設定レジスタ回路と、
設定されたバースト長のフレームデータを、ループを介して伝送先に伝送するフレーム伝送回路と、
を備えたことを特徴とする。
【発明の効果】
【００２５】
本発明によれば、ループ上にどのくらいのトラフィックがあるのかということを直接は知ることができないことから、ループに接続されるポート数が多くなるほど、ポートがループ占有権を要求してからループ占有権を獲得するまでの時間（レイテンシ時間）が長くなるという特徴を利用し、ループに対しループ占有権の獲得を要求してから獲得するまでのレイテンシ時間をトラフィックを間接的に表す情報として測定し、レイテンシ時間が長い場合はループ上のトラフィックが多いと判断してバースト長を小さくしてデータ伝送を行い、レイテンシ時間が短い場合はループ上のトラフィックが少ないと判断してバースト長を大きくしてデータ伝送を行い、これによりトラフィックに応じた最適バースト長で各ポートが情報を伝送することを可能にし、光ファイバチャネルループの使用効率を向上し、結果としてホストに対し複数の磁気ディスク装置をループ接続したシステム全体のスループットが向上することができる。
【図面の簡単な説明】
【００２６】
【図１】本発明が適用されるストレージサブシステムを示したブロック図
【図２】図１のデバイスインタフェースにドライブを接続するＦＣループの基本構成を示した説明図
【図３】本実施形態が適用される磁気ディスク装置を示したブロック図
【図４】図３の磁気ディスク装置に設けた本実施形態によるＦＣインタフェースポート部とハードディスクコントローラのＦＣインタフェース制御部を示したブロック図
【図５】本実施形態で使用するバースト長設定テーブルを示した説明図
【図６】本実施形態により測定されたレイテンシ時間とバースト伝送を示したタイムチャート
【図７】ＦＣループに伝送されるフレームを示した説明図
【図８】ＦＣループのループ占有権の獲得と開放に使用されるプリミティブ信号の一覧を示した説明図
【図９】本実施形態によるＦＣループに対するアービトレーション処理を示したフローチャート
【図１０】本実施形態によるフェアネスコントロールを示したフローチャート
【図１１】本実施形態によるレイテンシ時間に応じたバースト長の可変設定による評価を示した説明図
【図１２】従来のＦＣループにおけるポートのループ占有時間を示したタイムチャート
【図１３】他のポートのバースト伝送に邪魔されてコマンド発行できない状態と、バースト長が短い場合に他のポートのバースト伝送に邪魔されずに発行できる状態を示したタイムチャート
【図１４】ループの空き状態で短いバースト長の設定によりデータを分割伝送する場合と、分割せずにいっきにバースト伝送する場合を比較して示したタイムチャート
【発明を実施するための最良の形態】
【００２７】
図１は本実施形態が適用されるストレージサブシステムを示したブロック図である。図１において、ディスク制御装置１０はチャネルアダプタ１６−１、１６−２、制御モジュール１８−１、１８−２、ドライブエンクロージャ２０−１、２０−２を備えている。ディスク制御装置１０には例えばチャネルアダプタ１６−１によって上位装置としてグローバル系のサーバ１２が接続され、またチャネルアダプタ１６−２によってオープン系のサーバ１４が接続されている。【００２８】
制御モジュール１８−１、１８−２は同じ構成を有し、メインＣＰＵ２２−１、２２−２、サブＣＰＵ２４−１、２４−２、デバイスインタフェース２６−１、２６−２、共用メモリ２８−１、２８−２、ＤＭＡ処理部３０−１、３０−２を設けている。【００２９】
更にドライブエンクロージャ２０−１、２０−２には本実施形態の磁気ディスク装置３２−１１〜３２−１ｎ、３２−２１〜３２−２ｎが設けられている。【００３０】
制御モジュール１８−１、１８−２につき、制御モジュール１８−１を例にとって説明する。制御モジュール１８−１にあっては２台のＣＰＵとして、メインＣＰＵ２２−１とサブＣＰＵ２４−１を設けており、１台の制御モジュール１８−１で実質的に２台の制御モジュールを設けたのと同等の処理機能を実現している。【００３１】
また制御モジュール１８−１に設けたメモリは、メインＣＰＵ２２−１とサブＣＰＵ２４−１に対し共用メモリ２８−１として使用されており、共用メモリ２８−１にはキャッシュメモリとしての使用領域及び構成管理の対象となる構成テーブルの割り当て領域が確保されている。【００３２】
デバイスインタフェース２６−１からはドライブエンクロージャ２０−１、２０−２にファイバチャネルループ（以下「ＦＣループ」という）３４−１、３４−２が引き出され、それぞれのループに磁気ディスク装置３２−１１〜３２−１ｎ、３２−２１〜３２−２ｎを接続している。【００３３】
同様に、デバイスインタフェース２６−２からはドライブエンクロージャ２０−１、２０−２にＦＣループ３４−３、３４−４が引き出され、それぞれのループに磁気ディスク装置３２−１１〜３２−１ｎ、３２−２１〜３２−２ｎを接続している。【００３４】
ＦＣループ３４−１〜３４−４のそれぞれは、ＡＮＳＩのファイバチャネル標準に準拠した場合、１ループにつき最大１２６ポートを接続でき、このためデバイスインタフェース２６−１、２６−２に１ポートずつ割り当てると、残りのポートに最大１２５台の磁気ディスク装置が接続可能である。【００３５】
図２は図１のデバイスインタフェースにドライブを接続するＦＣループの基本構成を示した説明図である。ＦＣループ３４は、１Ｇｂｐｓ、２Ｇｂｐｓ、４Ｇｂｐｓの伝送速度をもつ高速データ伝送ネットワークであり、ＳＣＳＩなどのチャネル接続インタフェースの特徴と、イーサネット（Ｒ）のようなネットワーク接続インタフェースの特徴を併せ持つインタフェースである。【００３６】
ＦＣループ３４の主なアプリケーションは、図１のストレージサブシステムに示したようなストレージエリアネットワークＳＡＮであり、サーバ群をディスク制御装置１０を介したスイッチネットワークで接続し、ストレージリソースを効率良く使用するリソリューションを提供する。【００３７】
図２において、ＦＣループ３４には、ホスト側となるデバイスインタフェース２６に加え、この例では５台の本実施形態による磁気ディスク装置がポート接続される。【００３８】
あるポートに情報伝送要求が発生すると、後の説明で明らかにするＡＮＳＩのファイバチャネル標準のＦＣ−ＡＬに従ってＦＣループの占有権を獲得し、伝送元のポートから伝送先のポートを１対１に結合した状態でコマンドフレーム、ステータスフレーム、データ要求フレーム、データフレームなどの情報を、ＦＣ−ＰＨの規格に従って一方向に伝送する。【００３９】
図３は本実施形態が適用される磁気ディスク装置のブロック図である。図３において、ハードディスクドライブ（ＨＤＤ）として知られた磁気ディスク装置３２は、ディスクエンクロージャ３６と制御ボード３８で構成される。ディスクエンクロージャ３６にはスピンドルモータ４０が設けられ、スピンドルモータ４０の回転軸に磁気ディスク（記憶媒体）４６−１、４６−２を装着し、一定速度例えば４２００ｒｐｍで回転させる。【００４０】
またディスクエンクロージャ３６にはボイスコイルモータ４２が設けられ、ボイスコイルモータ４２はヘッドアクチュエータ４４のアーム先端にヘッド４８−１〜４８−４を搭載しており、ディスク媒体４６−１、４６−２の記録面に対するヘッドの位置決めを行う。【００４１】
ヘッド４８−１〜４８−４は記録素子と読出素子が一体化された複合型のヘッドである。記録素子には長手（面内）磁気記録型の記録素子または垂直磁気記録型の記録素子が使用される。垂直磁気記録型の記録素子の場合、磁気ディスク４６−１、４６−２には、記録層と軟磁性体裏打ち層を備えた垂直記憶媒体を使用する。読出素子にはＧＭＲ素子やＴＭＲ素などの磁気抵抗素子を使用する。【００４２】
ヘッド４８−１〜４８−４はヘッドＩＣ５０に対し信号線接続されており、ヘッドＩＣ５０は上位装置となるディスク制御装置１０からのライトコマンドまたはリードコマンドに基づくヘッドセレクト信号で１つのヘッドを選択して書込みまたは読出しを行う。またヘッドＩＣ５０には、ライト系についてはライトドライバが設けられ、リード系についてはプリアンプが設けられている。【００４３】
制御ボード３８にはＭＰＵ５２が設けられ、ＭＰＵ５２のバス５４に対し、ＲＡＭを用いた制御プログラム及び制御データを格納する揮発メモリ５６、ＦＲＯＭ等を用いた制御プログラムを格納するプログラムメモリ５８、ボイスコイルモータ４２及びスピンドルモータ４０を制御するモータ駆動制御部６０が設けられている。【００４４】
またＭＰＵ５２のバス５４には、ＦＣインタフェースポート部６２、ＦＣインタフェース制御部７４のハードウェアを備えたハードディスクコントローラ６４、バッファメモリ６８を制御するバッファメモリ制御部６６、ライト変調部及びリード復調部として機能するリードチャネル７０が設けられている。【００４５】
ＭＰＵ５２には、ファームウェアプログラムの実行により実現される機能として入出力処理部７２が設けられる。【００４６】
なお、制御ボード３８の実装面積に応じて、各種制御回路である、ＭＰＵ５２、ＦＣインタフェースポート部６２、ハードディスクコントローラ６４、バッファメモリ制御部６６、及びリードチャネル７０は、個々のＬＳＩ回路に構成することもできるし、例えばＭＰＵ５２、ハードディスクコントローラ６４及びリードチャネル７０のように複数を選択して１つのＬＳＩ回路として構成することもできる。【００４７】
磁気ディスク装置３２は、ホスト側となるディスク制御装置１０からのコマンドに基づき書込処理及び読出処理を行う。ここで、磁気ディスク装置における通常の動作を説明すると次のようになる。【００４８】
ディスク制御装置１０からのライトコマンドとライトデータをＦＣインタフェースポート部６２で受けると、ライトコマンドをＭＰＵ５２に設けた入出力処理部７２で解読し、受信したライトデータを必要に応じてバッファメモリ６８に格納した後、ハードディスクコントローラ６４で所定のデータ形式に変換すると共にＥＣＣ符号化処理によりＥＣＣ符号を付加し、リードチャネル７０におけるライト変調系でスクランブル、ＲＬＬ符号変換、更に書込補償を行った後、ライトアンプからヘッドＩＣ５０を介して選択した例えばヘッド４８−１のライトヘッドからディスク媒体４６−１に書き込む。【００４９】
このときＭＰＵ５２からＤＳＰなどを用いたモータ駆動制御部６０にヘッド位置決め信号が与えられており、ボイスコイルモータ４２によりヘッドをコマンドで指示された目標トラックにシークした後にオントラックしてトラック追従制御を行っている。【００５０】
一方、ディスク制御装置１０からのリードコマンドをＦＣインタフェースポート部６２で受けると、リードコマンドをＭＰＵ５２の入出力処理部７２で解読し、ヘッドＩＣ５０のヘッドセレクトで選択されたリードヘッドから読み出された読出信号をプリアンプで増幅した後に、リードチャネル７０のリード復調系に入力し、パーシャルレスポンス最尤検出（ＰＲＭＬ）などによりリードデータを復調し、ハードディスクコントローラ６４でＥＣＣ復号処理を行ってエラーを訂正した後、バッフメモリ６８にバッファリングし、ＦＣインタフェースポート部６２からリードデータをディスク制御装置１０に伝送する。【００５１】
図４は図３の磁気ディスク装置３２に設けた本実施形態によるＦＣインタフェースポート部６２とハードディスクコントローラ６４のＦＣインタフェース制御部７４の詳細を示したブロック図である。【００５２】
図４において、ＦＣインタフェースポート部６２には受信部７６と送信部７８が設けられている。受信部７６と送信部７８はＦＣループ３４のポートを構成しており、それぞれＦＣループのファイバ線路を接続している。【００５３】
受信部７６と送信部７８を備えたＦＣインタフェースポート部６２は、ＦＣループのＡＮＳＩ標準構成におけるファイバチャネル物理及び信号インタフェースＦＣ−ＰＨに準拠しており、メディアタイプコネクタ、電気光特性などを決める物理メディアであるＦＣ−０レイヤ、伝送プロトコル８Ｂ／１０Ｂ符号化などの符号化／復号化を行うＦＣ−１レイヤ、及びフレーム組立プロトコルであるフレーミングプロトコルを行うＦＣ−２レイヤで構成されている。【００５４】
ハードディスクコントローラ６４に設けられたＦＣインタフェース制御部７４には、制御部８０、タイマ８２、ＳＲＡＭ８４及び最大バースト長レジスタ８６が設けられている。また制御部８０には調停部９０、測定部９２、バースト長設定部９４及びフレーム伝送部９５が設けられ、バースト長設定部９４に対応して、ＳＲＡＭ８４にはバースト長設定テーブル８８が格納されている。【００５５】
制御部８０、調停部９０、測定部９２、バースト長設定部９４及びフレーム伝送部９５のそれぞれは論理ＬＳＩによるハードウェア回路でとして実現されている。【００５６】
制御部８０に設けた調停部９０は、ＭＰＵ５２の入出力処理部７２による上位装置からのコマンド受信などにより情報の伝送要求が発生したときに、ＦＣインタフェースポート部６２を介してＦＣループ３４に調停信号を送信してループ占有権を獲得する。【００５７】
測定部９２は、調停部９０によりＦＣループ３４に調停信号を送信してからループ占有権を獲得するまでのレイテンシ時間をタイマ８２を使用して測定する。【００５８】
即ち測定部９２は、調停部９０がＦＣループ３４に調停信号を送信した際にタイマ８２を起動し、この送信信号がループを周回して戻ってくることにより受信された際のループ占有権の獲得の判断時にタイマ８２を停止し、このときのタイマ８２の測定時間をレイテンシ時間として取得する。【００５９】
バースト長設定部９４は、測定部９２により測定されたレイテンシ時間に応じて、ＦＣループ３４に伝送する情報のバースト長を可変設定する。即ちバースト長設定部９２は、レイテンシ時間が短いほどバースト長を長くし、レイテンシ時間が長いほどバースト長を短くするように、バースト長を可変設定する。【００６０】
具体的には、バースト長設定部９４は、ＳＲＡＭ８４に格納されたバースト長設定テーブル８８を、測定されたレイテンシ時間により参照し、対応するバースト長を取得して際バースト長レジスタ８６設定する。【００６１】
図５は本実施形態で使用するバースト長設定テーブルを示した説明図である。図５（Ａ）はＦＣループの伝送速度が１Ｇｂｐｓの場合のバースト長設定テーブル８８−１を示している。このバースト長設定テーブル８８−１にあっては、レイテンシ時間１μｓ以下、１μｓ以上２μｓ未満、２μｓ以上３μｓ未満、３μｓ以上４μｓ未満、４μｓ以上のそれぞれにつき、バースト長として４００００バイト、３８０００バイト、３００００バイト、２８０００バイト及び２００００バイトを設定しており、レイテンシ時間が短いほどバースト長が長く、レイテンシ時間が長いほどバースト長が短くなるようにしている。【００６２】
図５（Ｂ）はＦＣループ３４の伝送速度が２Ｇｂｐｓの場合に使用されるバースト長設定テーブル８８−２を示しており、図５（Ａ）の１Ｇｂｐｓに対応したバースト長設定テーブル８８−１に対し、レイテンシ時間が半分の時間となっている点が相違する。【００６３】
再び図４を参照するに、制御部８０に設けたフレーム伝送部９５は、バースト長設定部９４により最大バースト長レジスタ８６に設定されたバースト長のデータフレームを作成し、ＦＣループ３４を介して伝送先のポートに伝送する。【００６４】
ここで、伝送する情報のサイズが設定されたバースト長以内であれば１回のデータフレームの伝送で終了するが、伝送しようとする情報が設定されたバースト長より長い場合には、情報を設定されたバースト長単位に分割して、複数回、データフレームを伝送することになる。【００６５】
図６は本実施形態により測定されたレイテンシ時間に基づくバースト伝送を示したタイムチャートである。【００６６】
ここで図２のＦＣループにおける上位装置となるデバイスインタフェース２６のポートをＰ０、ＦＣループ３４に接続した５台の磁気ディスク装置３２−１〜３２−５のポートをＰ１〜Ｐ５とする。【００６７】
図２のＦＣループ３４において、例えばポートＰ１を有する磁気ディスク装置３２−１において複数のコマンド伝送要求が発生し、同時に次のポートＰ２を有する磁気ディスク装置３２−２でも情報伝送要求が発生していたとする。この場合、ポートＰ１、Ｐ２のそれぞれからのＦＣループ３４に対する調停信号の送信による占有権の獲得要求に対し、例えば優先度が高いポートＰ１がループ占有権を獲得し、図６（Ａ）に示すように、ポートＰ１伝送データ１２０−１をＦＣループに送信したとする。【００６８】
Ｐ１ポート伝送データ１２０−１の伝送が終了すると、続いて次のコマンドを伝送するための伝送要求を出すが、このとき磁気ディスク装置３２−２のポートＰ２からもループ獲得のための調停信号が出力されているため、フェアネスアルゴリズムに従って次にポートＰ２がループ占有権を獲得し、ポートＰ２伝送データ１２２を伝送する。【００６９】
一方、第１ポートＰ１にあっては、時刻ｔ１で最初のポートＰ１伝送データ１２０−１の伝送を終了して、再度、ＦＣループ３４に対しループ占有権を獲得するための調停信号を送信しており、この時刻ｔ１で図４の測定部９２がタイマ８２を起動している。【００７０】
ポートＰ２伝送データ１２２の伝送が終了すると、ＦＣループのループ占有権は開放されるため、時刻ｔ１で調停信号を送出したポートＰ１が、時刻ｔ２でＦＣループのループ占有権を獲得する。この時刻ｔ２でループ占有権を獲得すると、時刻ｔ１で起動した図４のタイマ８２が停止し、タイマ８２には時刻ｔ１から時刻ｔ２までの時間Ｔ１、即ちレイテンシ時間Ｔ１が測定されている。【００７１】
このため図４に示したバースト長設定部９４は、タイマ８２により測定したレイテンシ時間Ｔ１により、例えば図５（Ａ）に示したバースト長設定テーブル８８−１を参照し、例えばレイテンシ時間Ｔ１が１μｓ以下で短かったとすると、最も長いバースト長４００００バイトを最大バースト長レジスタ８６に設定し、時刻ｔ２から設定した４００００バイトのバイト長を持つデータフレームを作成して、ポートＰ１伝送データ１２０−２をＦＣループに送信する。【００７２】
このようにＦＣループのレイテンシ時間Ｔ１が短い場合には、ＦＣループのトラフィックが低い状態であることから、長いバースト長を設定し、短いバースト長により分解することなく、一気に情報をＦＣループにより相手先に伝送することができる。【００７３】
図６（Ｂ）は、図２のＦＣループ３４において磁気ディスク装置３２−１のポートＰ１に情報伝送要求が発生した際に、同時に他の３台の磁気ディスク装置３２−２〜３２−４で情報伝送要求が発生していた場合である。【００７４】
この場合には、優先度の最も高いポートＰ１が、まずループ占有権を獲得して、ポートＰ１伝送データ１２０−１を伝送し、伝送終了で次の情報伝送のために、時刻ｔ１でループに対し占有権獲得のための調停信号を送出する。【００７５】
しかし、フェアネスアルゴリズムにより、同時に情報伝送要求のために調停信号をＦＣループ３４に送信しているポートＰ２、Ｐ３、Ｐ４の順にＦＣループ３４が獲得され、ポートＰ２伝送データ１２２、ポートＰ３伝送データ１２４及びポートＰ４伝送データ１２６が順次伝送され、その後に、時刻ｔ１で送信した調停信号によるループ占有権の獲得が時刻ｔ２で行われる。この場合にポートＰ１は時刻ｔ１から時刻ｔ２までの時間Ｔ２を、タイマ８２によりレイテンシ時間として測定する。【００７６】
ポートＰ１で測定したレイテンシ時間Ｔ２は、その間に３ポート分の伝送データによるループ制御が行われているため、例えば図５（Ａ）の４μｓ以上の長い時間となり、レイテンシ時間Ｔ２が長いことで、ＦＣループ３４のトラフィックが高いものと判断し、最も短いバースト長２００００バイトを最大バースト長レジスタ８６に設定し、設定したバイト長のデータフレームをポートＰ１伝送データ１２０−２として送信することになる。【００７７】
再び図４を参照するに、図６に示したようなレイテンシ時間の測定結果に基づいてバースト長を可変設定する本実施形態のＦＣインタフェース制御部７４は、具体的にはＡＮＳＩのファイバチャネル標準で規定されたファイバチャネル調停ループ（ＦＣ−ＡＬ）に、本実施形態によるレイテンシ時間を測定してバースト長を可変設定する機能を加えた処理を実行することになる。【００７８】
また、ハードディスクコントローラ６４に設けたＦＣインタフェース制御部７４を構成する制御部８０は、タイマ８２、ＳＲＡＭ８４及び最大バースト長レジスタ８６と共に、論理ＬＳＩによるハードウェア回路として実現されており、情報伝送要求発生時にループ占有権の獲得、レイテンシ時間の測定、バースト長の設定、フレーム伝送といった一連の処理を、ハードウェアにより高速に処理することになる。【００７９】
次に図４のＦＣインタフェース制御部７４を実現するＡＮＳＩのファイバチャネル標準におけるＦＣ−ＡＬについて説明する。【００８０】
図７はＦＣループで伝送されるフレームを示した説明図である。図７において、フレーム９６はヘッダ９８とデータフィールド１００で構成される。【００８１】
ヘッダ９８には、種別１０２、行先アドレス１０４、管理情報１０６、発行元アドレス１０８、データ構造形式１１０、フレーム制御１１２、シーケンスＩＤ１１４、データフィールド制御１１６及びシーケンスカウント１１８などが含まれている。【００８２】
種別１０２はＲ−ＣＴＬ（Ｒｏｕｔｉｎｇ  Ｃｏｎｔｒｏｌ）として定義され、リンクコントロールフレーム、リンクデータフレーム、デバイスデータフレームなどのフレームの種類を表している。【００８３】
行先アドレス１０４はＤ−ＩＤ（Ｄｅｓｔｉｎａｔｉｏｎ  Ｉｄｅｎｔｉｆｉｅｒ）として定義され、フレームの行先のアドレスである。【００８４】
管理情報１０６はＣＳ＿ＣＴＬ（Ｃｌａｓｓ  Ｓｐｅｃｉｆｉｃ  Ｃｏｎｔｒｏｌ）として定義され、スタートオブフレーム（ＳＯＦ）に識別されるサービスクラスの管理情報が入る。【００８５】
発行元アドレス１０８はＳ−ＩＤ（Ｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒ）として定義され、フレームの発行元のアドレスである。【００８６】
データ構造形式１１０はＴＹＰＥ（Ｄａｔａ  Ｓｔｒｕｃｔｕｒｅ  Ｔｙｐｅ）として定義され、フレーム種別に応じたデータ構造を定義する。【００８７】
フレーム制御１１２はＦ−ＣＴＬ（Ｆｒａｍｅ  Ｃｏｎｔｒｏｌ）として定義され、フラグやコードからなるフレームの伝送シーケンスの制御に使用する。【００８８】
シーケンスＩＤ１１４はＳＥＱ−ＩＤ（Ｓｅｑｕｅｎｃｅ  Ｉｄｅｎｔｉｆｉｅｒ）と定義され、混在伝送を行うために必要なフレームの所属するシーケンスを表す。【００８９】
データフィールド制御１１６はＤＦ−ＣＴＬ（Ｄａｔａ  Ｆｉｅｌｄ  Ｃｏｎｔｒｏｌ）と定義され、データフィールド１００の先頭に任意に追加するヘッダの有無と種類を表示する。【００９０】
シーケンスカウント１１８はＳＥＱ−ＣＮＴ（Ｓｅｑｕｅｎｃｅ  Ｃｏｕｎｔ）と定義され、フレームの順番を表す。【００９１】
図７のフレーム９６において、データはバースト長の設定により決まる有限長のフレームに乗せるため、バースト長を超えるデータについては分割して伝送する。即ち、フレームはデータ伝送の最小基本単位となる。【００９２】
このようなフレームに対し、シーケンスは同方向に伝送されるフレームの集合であり、フレームより長いデータは複数フレームに分割して伝送するが、この場合に各フレームにシーケンス番号が設定され、分割されたフレームの順番を示すことになる。【００９３】
通常、磁気ディスク装置におけるリードコマンドやライトコマンドにおけるデータ伝送は複数フレームに分割したシーケンス伝送を行うことになる。【００９４】
図８はＦＣループのループ占有権の獲得と開放に使用されるＦＣ−ＡＬのプリミティブ信号の一覧を示した説明図である。【００９５】
本実施形態のＦＣループにあっては、図７に示したデータをやり取りするためのフレーム９６に加え、ＦＣループの占有権を獲得し開放するための図８に示すプリミティブ信号の２つが使用される。【００９６】
図８において、プリミティブ信号はＡＲＢｘ信号、ＯＰＮｘ信号、ＣＬＳ信号、ＬＩＰ信号及びＭＲＫ信号の５つを使用する。【００９７】
ここでＡＲＢｘ信号及びＯＰＮｘ信号に付加されたｘは、備考に示すようにＦＣループ内の物理アドレスを示しており、若い番号ほど、そのポートの優先度が高いことになる。【００９８】
ＡＲＢｘ信号はＦＣループを占有しようとするポートが送信する信号である。ＯＰＮｘ信号はＡＲＢｘ信号の送信により、アービトレーションに勝ってループ占有権を獲得したポートが、行先のポートに対し送信して１対１のポイントツーポイント結合を確立するために送信する信号である。【００９９】
ＣＬＳ信号はループを占有したポートが占有を終了するときに送信する信号である。【０１００】
ＦＣループの獲得と開放に必要な信号は、この３つのＡＲＢｘ信号、ＯＰＮｘ信号及びＣＬＳ信号である。それ以外にＬＩＰ信号はループエラーを検出するかエラーリカバリのために送信される。またＭＲＫ信号はループ中の複数デバイスの同期を取るために送信する。【０１０１】
図９は本実施形態によるＦＣループに対するアービトレーション処理を示したフローチャートであり、図２のＦＣループ３４に接続した磁気ディスク装置３２−１のポートＰ１の処理を例に取って説明すると次のようになる。ここでポートＰ１のアドレスをｎ、ホスト側となるデバイスインタェース２６の持つポートＰ０のアドレスをｍとする。【０１０２】
図９において、図２に示した磁気ディスク装置３２−１において情報伝送要求がないアイドル状態にあっては、ステップＳ１でバイパスモードが設定されている。バイパスモードは、図４に示したＦＣインタフェースポート部６２において、ＦＣループ３４から受信部７６で受信した信号を、そのまま送信部７８からＦＣループ３４に送信するバイパス動作を行っている。【０１０３】
続いてステップＳ２で、磁気ディスク装置３２−１でデータ伝送要求が発生したとすると、ステップＳ３に進み、アイドルまたは優先度の低い他のポートからＡＲＢｘ信号の受信を判別すると、ステップＳ４に進み、アイドルまたは受信したＡＲＢｘ信号を優先度の高い自分のＡＲＢｎ信号に置換してＦＣループ３４に送信する。続いてステップＳ５で、置換したＡＲＢｎ信号の送信と同時に図４に示したタイマ８２を起動し、レイテンシ時間の測定を開始する。【０１０４】
ステップＳ４で磁気ディスク装置３２−１のポートＰ１からＦＣループ３４に送信されたＡＲＢｎ信号は、他の磁気ディスク装置３２−２〜３２−５及びデバイスインタフェース２６のそれぞれのポートＰ２〜Ｐ５、Ｐ０に情報伝送要求がなくアイドル状態にあったとすると、そのままポートを順次通過し、ＦＣループ３４を周回して、発行元のポートＰ１に戻って受信される。【０１０５】
この自分で送信したＡＲＢｎ信号のループからの受信をステップＳ６で判別すると、ステップＳ７でタイマ８２を停止し、レイテンシ時間Ｔを取得する。【０１０６】
またステップＳ８で、ステップＳ６における自分自身が送信したＡＲＢｎ信号のループからの受信に基づき、ループ占有権を獲得したと判断し、ステップＳ１で設定していたバイパスモードを解除し、オープンモードに移行する。【０１０７】
オープンモードはポートＰ１で受信した全ての入力を取り込み、不要な信号は破棄することになる。このため、他のポートＰ２〜Ｐ５、Ｐ０のいずれかがループ占有権を獲得するためにＦＣループ３４にＡＲＢｘ信号を送っても、オープンモードが設定されているポートＰ１で破棄されるため、ポートＰ１がＦＣループ３４を占有している状態で他のポートがループを占有することはできない。【０１０８】
次にステップＳ９でポートＰ１は伝送先となる物理アドレスｍを持つデバイスインタフェース２６のポートＰ０に対しＯＰＮｍ信号を送信し、ポートＰ０をオープンモードに移行させる。【０１０９】
これによって、伝送元となるポートＰ１と伝送先となるポートＰ０がオープンモードに移行し、それ以外のポートＰ２〜Ｐ５はアイドルモードであり、アイドルモードでループ占有のためのＡＲＢｘ信号を送信しても、オープンモードにあるポートＰ１またはＰ０で破棄されるため、伝送元ポートＰ１と伝送先ポートＰ０が１対１のポイントツーポイントでの結合状態を確立する。【０１１０】
続いてステップＳ１０で、ステップＳ７で獲得したレイテンシ時間に応じたバースト長を図４のバースト長設定テーブル８８から読み出して最大バースト長レジスタ８６に設定し、ステップＳ１１で最大バースト長レジスタ８６の設定バースト長により、図７に示したようなフレームを組み立て、ポートＰ１からＦＣループ３４を介してポートＰ０に伝送する。【０１１１】
続いてステップＳ１２でフレーム伝送終了の有無をチェックしている。フレーム伝送は、設定したバースト長より伝送したい情報が長ければ、分割したフレーム伝送となる。【０１１２】
ステップＳ１２でフレーム伝送終了を判別すると、ステップＳ１３に進み、ポートＰ１からＣＬＳ信号をＦＣループ３４に送信し、オープンモードにある伝送先のポートＰ０がＣＬＳ信号を受信し、これによりオープンモードをバイパスモードに移行させる。【０１１３】
続いてステップＳ１４でポートＰ１から送信したＣＬＳ信号がＦＣループ３４を巡回して受信されることが判別されると、ステップＳ１に戻ってバイパスモードを設定することにより、ポイントツーポイントの結合を解除し、ステップＳ２で次のデータ伝送要求を待つことになる。【０１１４】
図１０は本実施形態におけるＦＣインタフェース制御部７４によるフェアネスコントロールを示したフローチャートであり、このフェアネスコントロールにより全てのポートが均等にループを占有することが可能となる。【０１１５】
図１０のフェアネスコントロールを、図２のＦＣループに設けた磁気ディスク装置３２−１のポートＰ１について説明すると次のようになる。【０１１６】
図１０のステップＳ１にあっては、ポートＰ１がループ占有権を獲得してオープンモードに移行したか否かチェックしており、図９のアービトレーション処理におけるステップＳ６の自分自身のＡＲＢｎ信号の受信により、ステップＳ８でループ占有権の獲得が判別されると、ステップＳ２に進んでフラグをセットする。【０１１７】
ステップＳ２のフラグのセットは、ループを獲得したオープンモードからフレーム伝送終了で再びアイドルモードに戻っても継続される。【０１１８】
続いてステップＳ３においてアイドルモードでループ獲得要求を判別すると、ステップＳ４に進み、このときフラグはセット状態にあることから、受信した他のポートからのＡＲＢｘ信号を最低優先度のＡＲＢ（Ｆ０）信号に置換してループに送信する。【０１１９】
このように一度フラグをセットすると、アイドル状態でポートＰ１は常に最低優先度のＡＲＢ（Ｆ０）信号を送り続けるため、他のポートＰ２〜Ｐ５及びＰ０で伝送要求が発生していれば、そのポートの優先度は必ず高い優先度であることから、ＡＲＢ（Ｆ０）信号は優先度の高いＡＲＢｘ信号に置換され、フラグをセットしているポートＰ１以外のポートがループ占有権を獲得することができる。【０１２０】
ポートＰ１でフラグをセットした後、他のポートＰ２〜Ｐ５及びＰ０の全てで順次ループ占有権が獲得されてフラグがセットされると、ポートＰ１から送信している優先度最低のＡＲＢ（Ｆ０）信号は他のポートＰ２〜Ｐ５及びＰ０で置換されることなく、そのままバイパスし、ＦＣループ３４を巡回して再びポートＰ１で受信されることになる。【０１２１】
このため、ステップＳ５で自分自身で送信したＡＲＢ（Ｆ０）信号のループからの受信を判別すると、ステップＳ６でフラグをリセットする。フラグがリセットされると、その後、ステップＳ７でループ獲得要求があれば、ステップＳ８で、受信したＡＲＢｘ信号を自分自身の優先度の高いＡＲＢｎ信号に置換して送信する図９に示したアービトレーション処理が可能となり、再びループ占有権を獲得することできる。【０１２２】
この図１０に示すようなフェアネスコントロールをポートＰ１〜Ｐ５及びＰ０のすべてが実行することにより、一度ループ占有権を獲得してオープンモードとなったポートは、他のすべてのループ獲得要求のためのＡＲＢ信号を出しているポートが、ループ占有権を獲得してオープンモードになってフラグをセットするまでループを占有することができず、同時にループ占有権獲得のためにＡＲＢ信号を出していた全てのポートが均等にループを占有するフェアネスコントロールが実現できる。【０１２３】
図１１は本実施形態によるレイテンシ時間に応じたバースト長の可変設定による評価を示した説明図である。図１１（Ａ）は評価対象とするＦＣループであり、ホスト側となるデバイスインタフェース２６に対し本実施形態の磁気ディスク装置を７台、ＦＣループ３４に接続している。【０１２４】
図１１（Ａ）のような評価用のＦＣループ３４において、図１１（Ｂ）は、７台の磁気ディスク装置３２−１〜３２−７のそれぞれについて、バースト長を変化させたときのシステムが１秒間に処理した入出力数ＩＯＰＳを示している。【０１２５】
図１１（Ａ）の評価用のＦＣループにつき、磁気ディスク装置３２−１、３２−２の２台に他の磁気ディスク装置３２−３〜３２−７のトラフィックを邪魔するような長いバースト長、例えば５１２キロバイトのリードコマンドを発行する。【０１２６】
この状態で、残り５台の磁気ディスク装置３２−３〜３２−７に負荷が掛かるような短いバースト長となる２キロバイトのリードコマンドを多量に発行する。例えば２キロバイトのリードコマンドを各磁気ディスク装置当たり６４コマンド発行する。【０１２７】
このようなＦＣループ３４におけるトラフィックの高負荷状態にあっては、５１２キロバイトの情報伝送を行う２台の磁気ディスク装置３２−１、３２−２におけるループ占有権獲得のためのレイテンシ時間が長くなり、図１１（Ｂ）におけるバースト長として短い方の１００００バイトまたは８０００バイトが設定されることになり、ＩＯＰＳに示す５６３７や５７２４といった十分なＩＯ数の向上が行われ、結果的にシステム性能が向上し、全体としてのスループットを高めることが確認できている。【０１２８】
なお、上記の実施形態はＡＮＣＩによるファイバチャネル標準に従った実施形態を例にとるものであったが、本発明はこれに限定されず、適宜のファイバチャネルのインタフェース制御に適用することができる。【０１２９】
また本発明はその目的と利点を損なうことのない適宜の変形を含み、更に上記の実施形態に示した数値による限定は受けない。
【図１】
2009050806.tif 000003
【図２】
2009050806.tif 000004
【図３】
2009050806.tif 000005
【図４】
2009050806.tif 000006
【図５】
2009050806.tif 000007
【図６】
2009050806.tif 000008
【図７】
2009050806.tif 000009
【図８】
2009050806.tif 000010
【図９】
2009050806.tif 000011
【図１０】
2009050806.tif 000012
【図１１】
2009050806.tif 000013
【図１２】
2009050806.tif 000014
【図１３】
2009050806.tif 000015
【図１４】
2009050806.tif 000016
【国際調査報告】
2009050806.tif 000017
2009050806.tif 000018