(57)【特許請求の範囲】
【請求項１】
複数の記憶部と、前記複数の記憶部からそれぞれ発行される接続要求に応じて各記憶部との接続を確立しアクセスを行なう制御部とを接続する接続装置であって、
受信した複数の接続要求のうち、前記接続に係る優先度を示す優先度情報に基づいて選ばれた接続要求を、前記制御部に送信する接続要求送信制御部と、
前記複数の記憶部のうちのある記憶部からの接続要求の受信に応じて、当該接続要求に含まれる優先度情報を、前記ある記憶部から接続要求を連続して受信しており、且つ、所定の条件を満たす場合に、他の記憶部から受信した接続要求に含まれる優先度情報よりも高い優先度を示すように変更する変更部と、を備えることを特徴とする、接続装置。
【請求項２】
前記記憶部と前記制御部との前記接続が連続して確立された回数を示す連続接続回数と、前記記憶部に前記接続を連続して確立させる回数の閾値を示す連続接続規定回数とを、前記記憶部ごとに対応付けた管理情報を保持する保持部をさらに備え、
前記変更部は、前記ある記憶部に対応する連続接続回数が連続接続規定回数よりも少ない場合、前記所定の条件を満たすと判断することを特徴とする、請求項１記載の接続装置。
【請求項３】
前記ある記憶部に係る優先度情報を、前記接続要求送信制御部において前記他の記憶部に係る優先度情報よりも高い優先度を示すように変更する変更情報を生成する生成部をさらに備え、
前記変更部は、前記ある記憶部からの接続要求を連続して受信し、且つ、前記所定の条件を満たす間、前記生成部により生成された前記ある記憶部に対応する変更情報に基づいて、前記ある記憶部に係る優先度情報を変更することを特徴とする、請求項２記載の接続装置。
【請求項４】
前記優先度情報は、前記記憶部が接続要求を発行してからの待ち時間を示す情報であり、
前記生成部は、前記ある記憶部に係る優先度情報を、前記接続要求送信制御部において前記他の記憶部に係る待ち時間よりも長い待ち時間を示すように変更する前記変更情報を生成することを特徴とする、請求項３記載の接続装置。
【請求項５】
前記保持部は、前記管理情報に、直前に前記制御部との間で前記接続が確立された記憶部であるか否かを示す接続判定情報を、さらに前記記憶部ごとに対応付けて保持するとともに、
前記変更部は、接続要求を発行した記憶部に対応する接続判定情報が、直前に前記制御部との間で前記接続が確立された記憶部であることを示す有効状態である場合、前記接続要求を発行した記憶部を前記ある記憶部と判断することを特徴とする、請求項２〜４のいずれか１項記載の接続装置。
【請求項６】
複数の記憶部と、
前記複数の記憶部からそれぞれ発行される接続要求に応じて各記憶部との接続を確立しアクセスを行なう制御部と、
前記複数の記憶部と前記制御部とを接続する第１接続部と、をそなえ、
前記第１接続部は、
受信した複数の接続要求のうち、前記接続に係る優先度を示す優先度情報に基づいて選ばれた接続要求を、前記制御部に送信する接続要求送信制御部と、
前記複数の記憶部のうちのある記憶部からの接続要求の受信に応じて、当該接続要求に含まれる優先度情報を、前記ある記憶部から接続要求を連続して受信しており、且つ、所定の条件を満たす場合に、他の記憶部から受信した接続要求に含まれる優先度情報よりも高い優先度を示すように変更する変更部と、を備えることを特徴とする、ストレージ装置。
【請求項７】
複数の記憶部と、前記複数の記憶部からそれぞれ発行される接続要求に応じて各記憶部との接続を確立しアクセスを行なう制御部と、前記複数の記憶部と前記制御部とを接続する接続部と、を備えるストレージ装置における、接続要求送信制御方法であって、
前記接続部において、
受信した複数の接続要求のうち、前記接続に係る優先度を示す優先度情報に基づいて選ばれた接続要求を、前記制御部に送信し、
前記複数の記憶部のうちのある記憶部からの接続要求の受信に応じて、当該接続要求に含まれる優先度情報を、前記ある記憶部から接続要求を連続して受信しており、且つ、所定の条件を満たす場合に、他の記憶部から受信した接続要求に含まれる優先度情報よりも高い優先度を示すように変更する、ことを特徴とする、接続要求送信制御方法。
【請求項８】
複数の記憶部と、前記複数の記憶部からそれぞれ発行される接続要求に応じて各記憶部との接続を確立しアクセスを行なう制御部と、前記複数の記憶部と前記制御部とを接続する接続部と、を備えるストレージ装置としてのコンピュータに、
前記接続部において、
受信した複数の接続要求のうち、前記接続に係る優先度を示す優先度情報に基づいて選ばれた接続要求を、前記制御部に送信し、
前記複数の記憶部のうちのある記憶部からの接続要求の受信に応じて、当該接続要求に含まれる優先度情報を、前記ある記憶部から接続要求を連続して受信しており、且つ、所定の条件を満たす場合に、他の記憶部から受信した接続要求に含まれる優先度情報よりも高い優先度を示すように変更する、処理を実行させることを特徴とする、接続要求送信制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、接続装置、ストレージ装置、接続要求送信制御方法、および接続要求送信制御プログラムに関する。
【背景技術】
【０００２】
ストレージシステムにおいて、ＳＡＳ（Serial Attached SCSI（Small Computer System Interface））に対応したＨＤＤ（Hard Disk Drive）等のデバイスを複数搭載する場合、ＳＡＳエクスパンダ（SAS Expander；以下、エクスパンダという）が用いられることがある。
図１０は、ＳＡＳイニシエータ（SAS Initiator；以下、イニシエータという）２００、エクスパンダ３００−１及び３００−２、並びに、複数のＳＡＳドライブ（以下、単にドライブという）４００−１〜４００−６を備えるストレージシステムの構成例を示す図である。
【０００３】
図１０に示すように、ストレージシステムは、コントローラエンクロージャ（Controller Enclosure；以下、ＣＥという）１００ａとドライブエンクロージャ（Drive Enclosure；以下、ＤＥという）１００ｂとを備えるストレージ装置１００、及び、ホストコンピュータ５００を備える。
ホストコンピュータ５００は、ストレージ装置１００が備えるＳＡＳドライブ４００に対するデータの書き込み及び読み出し等のデータアクセス要求を発行する装置であり、ホストコンピュータ５００としてはサーバ等の情報処理装置が挙げられる。
【０００４】
ＣＥ１００ａは、ホストコンピュータ５００からドライブ４００に対するデータアクセス要求に係る制御を行なうものであり、イニシエータ２００、エクスパンダ３００−１、及び、ドライブ４００−１〜４００−３を備える。
ＤＥ１００ｂは、エクスパンダ３００−２、及び、ドライブ４００−４〜４００−６を備える。
【０００５】
なお、以下の説明においてエクスパンダ３００−１及び３００−２を区別しない場合には単に符号３００で示し、ドライブ４００−１〜４００−６を区別しない場合には単に符号４００で示す。さらに、以下、ドライブ４００−１〜４００−６を、それぞれ、図１０中の記号を用いてドライブＡ〜Ｆという場合がある。なお、この記号Ａ〜Ｆは、それぞれ、ドライブ４００のＳＡＳアドレスを示す。
【０００６】
イニシエータ２００は、配下のドライブ４００を管理し、ホストコンピュータ５００からのデータアクセス要求に対して適切なドライブ４００を割り当てるモジュールである。
また、イニシエータ２００は、配下のエクスパンダ３００−１、又は、エクスパンダ３００−１及び３００−２を経由して、アクセス対象のドライブ４００に対するアクセスを行なう。
【０００７】
エクスパンダ３００−１は、ＳＡＳ接続の拡張を行なうためのＳＡＳスイッチであり、ＳＡＳの制御デバイスやＳＡＳの物理ポートであるＰｈｙを備える。
また、エクスパンダ３００−１は、Ｐｈｙを介してイニシエータ２００、ドライブ４００−１〜４００−３、及び、配下のＤＥ１２０内のエクスパンダ３００−２と接続され、イニシエータ２００とアクセス対象のドライブ４００との間のアクセスに係るコマンドやデータ等の情報の転送を行なう。
【０００８】
エクスパンダ３００−２は、エクスパンダ３００−１と同様の構成であり、図示しないＰｈｙ（物理ポート）を介して上位のエクスパンダ３００−１、及び、ドライブ４００−４〜４００−６と接続され、イニシエータ２００とアクセス対象のドライブ４００との間のアクセスに係る情報の転送を行なう。
次に、イニシエータ２００からドライブ４００へのデータの書き込み及び読み出しに係るシーケンスの例を、図１１及び図１２を用いて説明する。
【０００９】
図１１は、ＳＡＳプロトコルにおけるライトコマンドのシーケンスの一例を説明する図であり、図１２は、ＳＡＳプロトコルにおけるリードコマンドのシーケンスの一例を説明する図である。
なお、図１１及び図１２において、ＩＮＩＴはイニシエータ２００を示し、ＴＡＲＧはアクセス対象のドライブ４００を示す。また、破線矢印はＰｒｉｍｉｔｉｖｅ（プリミティブ）を示し、実線矢印はＦｒａｍｅ（フレーム）を示す。なお、図１１及び図１２においては、説明の簡略化のため、エクスパンダ３００を介さずにイニシエータ２００とアクセス対象のドライブ４００とが接続された場合（Ｐ  ｔｏ  Ｐの場合）のコマンドシーケンスを示す。
【００１０】
はじめに、ライトシーケンスについて説明すると、図１１に例示するように、イニシエータ２００がドライブ４００にＯＰＥＮ＿アドレスフレーム（以下、ＯＡＦという）を発行する。ドライブ４００は、フレームを受け取れる状態ならば、ＯＰＥＮ＿ＡＣＣＥＰＴを返し、コネクションが成立する（図１１中（ａ）参照）。
次に、イニシエータ２００がドライブ４００にＷｔ＿ＣＭＤ（ライトコマンド）を発行する。ドライブ４００は、Ｗｔ＿ＣＭＤを正常に受け取れた場合、ＡＣＫを返す（図１１中（ｂ）参照）。
【００１１】
そして、イニシエータ２００及びドライブ４００が互いにＤＯＮＥ，ＣＬＯＳＥを出し合い、コネクションを閉じる（図１１中（ｃ）参照）。なお、以下、（ｃ）のシーケンスをまとめて一点鎖線矢印で「クローズ（ＣＬＯＳＥ）処理」として表す。
次いで、ドライブ４００がイニシエータ２００にＯＡＦを発行すると、イニシエータ２００がドライブ４００にＯＰＥＮ＿ＡＣＣＥＰＴを返し、コネクションが成立する（図１１中（ｄ）参照）。
【００１２】
さらに、ドライブ４００がイニシエータ２００にＸＦＥＲ＿Ｒｄｙを発行して、コネクションを閉じる（図１１中（ｅ）参照）。イニシエータ２００は、このＸＦＥＲ＿Ｒｄｙに含まれるＢＵＲＳＴ  ＬＥＮＧＴＨ（バースト長，またはＢＵＲＳＴ  ＳＩＺＥ（バーストサイズ）；以下、ＢＳともいう）の値に応じて、次のコネクションでドライブ４００が受け取る書込データ（Ｗｔ＿ＤＡＴＡ）のデータ量を決定する。
【００１３】
そして、イニシエータ２００がＯＡＦを発行してコネクションが成立すると（図１１中（ｆ）参照）、イニシエータ２００は、（ｅ）で受け取ったＸＦＥＲ＿ＲｄｙのＢＳで指定されただけの書込データをＤＡＴＡ＿ＦＲＡＭＥにのせてドライブ４００に送る（図１１中（ｇ）参照）。なお、ドライブ４００は、送られてきたＤＡＴＡ＿ＦＲＡＭＥが正しい場合にＡＣＫを返すとともに、ＤＡＴＡ＿ＦＲＡＭＥを受信できる場合にＲＲＤＹを返す。
【００１４】
書込データの送信が終了すると、クローズ処理を行ない、コネクションを閉じる（図１１中（ｈ）参照）。
なお、（ｇ）で送りきれなかった書込データがある場合は、ドライブ４００が再度ＸＦＥＲ＿Ｒｄｙを発行し、書込データを受け取る（図１１中（ｉ）参照）。
すべての書込データを受け取ったドライブ４００は、コネクションを成立させて、Ｇｏｏｄ＿Ｓｔａｔｕｓをイニシエータ２００に送り、ライトシーケンスが終了する（図１１中（ｊ）参照）。
【００１５】
続いて、リードシーケンスについて説明すると、図１２に例示するように、図１１の（ａ）と同様にコネクションが成立すると、イニシエータ２００がドライブ４００にＲｄ＿ＣＭＤ（リードコマンド）を発行する。ドライブ４００は、Ｒｄ＿ＣＭＤを正常に受け取れた場合、ＡＣＫを返し、コネクションを閉じる（図１２中（ｋ）参照）。
次いで、ドライブ４００がイニシエータ２００にＯＡＦを発行すると、イニシエータ２００がドライブ４００にＯＰＥＮ＿ＡＣＣＥＰＴを返し、コネクションが成立する（図１２中（ｌ）参照）。
【００１６】
コネクション成立後、ドライブ４００は、読出データ（Ｒｄ＿ＤＡＴＡ）をイニシエータ２００に転送する（図１２中（ｍ）参照）。なお、一度にデータを転送できない場合、再びコネクションを確立して、Ｒｄ＿ＤＡＴＡを転送する（図１２中（ｎ）参照）。
正常にデータを転送できた場合、ドライブ４００は、Ｇｏｏｄ＿Ｓｔａｔｕｓをイニシエータ２００に送り、リードシーケンスが終了する（図１２中（ｏ）参照）。
【００１７】
ところで、上述したＯＡＦには、ＡＷＴ（Arbitration Wait Time）が含まれる。ＡＷＴは、ドライブ４００がコネクションを要求してからの待ち時間を表し、エクスパンダ３００は、複数のドライブ４００からＯＡＦを受けると、このＡＷＴが大きいＯＡＦを発行したドライブ４００を優先してイニシエータ２００に転送し、コネクションを成立させる。
【００１８】
以下、ストレージシステムにおいて、複数のドライブ４００からイニシエータ２００にＯＡＦが発行された場合のコネクションの確立手順について、図１３〜図１５を用いて説明する。
図１３〜図１５は、図１０に例示するストレージシステムにおける、イニシエータ２００とドライブ４００との間のコネクションの確立手順の一例を説明する図である。
【００１９】
なお、図１３〜図１５においては、ＯＡＦをＯＰＥＮ  ＦＲＡＭＥと表している。
エクスパンダ３００−２は、ある一定時間、配下のドライブＤ〜ＦからＯＡＦを受け付ける。以下、この一定時間をＯＡＦ受付時間という。
例えば、ドライブＤ及びＦが、イニシエータ２００とのコネクションを確立するため、エクスパンダ３００−２に対してＯＡＦを発行したとする（図１３中（１）参照）。
【００２０】
ＯＡＦ受付時間の経過後、エクスパンダ３００−２は、受け付けたドライブＤ及びＦからのＯＡＦのうちの、ＡＷＴが最も大きいＯＡＦをエクスパンダ３００−１に送る。この場合、ドライブＤのＡＷＴとドライブＦのＡＷＴとが等しいため、エクスパンダ３００−２は、例えばＳＡＳアドレスの値が大きいドライブＦのＯＡＦをエクスパンダ３００−１に送る（図１３中（２）参照）。
【００２１】
一方、エクスパンダ３００−１も、一定時間（ＯＡＦ受付時間）、ドライブＡ〜Ｃ及び配下のエクスパンダ３００−２からＯＡＦを受け付ける。ＯＡＦ受付時間の経過後、エクスパンダ３００−１は、受け付けたドライブ４００のＡＷＴが最も大きいＯＡＦをイニシエータ２００に送る。図１３に示す例では、送られてきたＯＡＦはエクスパンダ３００−２から送信されたドライブＦのＯＡＦのみであるため、エクスパンダ３００−１は、ドライブＦのＯＡＦをイニシエータ２００に送信する（図１３中（３）参照）。
【００２２】
次いで、図１４中（４）に示すように、イニシエータ２００は、ＯＡＦを受け付けると、ＯＰＥＮ＿ＡＣＣＥＰＴを、エクスパンダ３００−１，エクスパンダ３００−２を経由して、受け付けたＯＡＦの発行元であるドライブＦに送信する。
ドライブＦは、ＯＰＥＮ＿ＡＣＣＥＰＴを受信すると、イニシエータ２００に所定のフレームを転送する（図１４中（５）参照）。
【００２３】
全てのフレームを転送し終わると、ドライブＦは、イニシエータ２００とＤＯＮＥ，ＣＬＯＳＥプリミティブを送信し合い、クローズ処理を行なう（図１４中（６）参照）。
ここで、図１３中（１）においてドライブＤがＯＡＦを送信してから、図１４中（６）においてドライブＦのコネクションが終了するまで、２００μｓかかったとする。
また、図１５中（７）に示すように、ドライブＤ及びＦが、エクスパンダ３００−２の新たなＯＡＦ受付時間内にＯＡＦを発行したとする。このとき、ドライブＤは、図１３中（１）で発行したＯＡＦからの待ち時間（μｓ）をＡＷＴにセットして、発行するＯＡＦに含める。なお、各ドライブ４００は、コネクションの確立を行なう場合、定期的にＯＡＦを発行する。
【００２４】
ＯＡＦ受付時間の経過後、エクスパンダ３００−２は、受け付けたドライブＤ及びＦのＡＷＴが最も大きいＯＡＦをエクスパンダ３００−１に送る。この場合、ドライブＤのＡＷＴ（２００μｓ）がドライブＦのＡＷＴ（０μｓ）よりも大きいため、エクスパンダ３００−２は、ドライブＤのＯＡＦをエクスパンダ３００−１に送る（図１５中（８）参照）。
【００２５】
また、エクスパンダ３００−１には、ＯＡＦ受付時間内に、エクスパンダ３００−２からのドライブＤのＯＡＦと（図１５中（８）参照）、ドライブＡからのＯＡＦとが発行されたとする（図１５中（９）参照）。
ＯＡＦ受付時間の経過後、エクスパンダ３００−１は、受け付けたエクスパンダ３００−２からのＯＡＦのＡＷＴ（２００μｓ）と、ドライブＡのＯＡＦのＡＷＴ（０μｓ）とを比較して、値が大きい方、つまりエクスパンダ３００−２から発行されたドライブＤのＯＡＦをイニシエータ２００に発行する（図１５中（１０）参照）。
【００２６】
そして、イニシエータ２００は、ＯＡＦを受け付けると、ＯＰＥＮ＿ＡＣＣＥＰＴを、エクスパンダ３００−１，エクスパンダ３００−２を経由して、受け付けたＯＡＦの発行元であるドライブＤに送信し、コネクションが成立する（図１５中（１１）参照）。
【先行技術文献】
【特許文献】
【００２７】
【特許文献１】特開２００４−１１８５４６号公報
【発明の概要】
【発明が解決しようとする課題】
【００２８】
ところで、上述の如く、ストレージシステムにおいて、ＳＡＳプロトコルによるライトシーケンスでは、イニシエータ２００からドライブ４００への書込データ転送に先立って、書込対象のドライブ４００からコマンド（ＸＦＥＲ−Ｒｄｙ）が発行される（図１１中（ｅ）参照）。
ＸＦＥＲ−Ｒｄｙには、ドライブ４００がそのコネクションで受け取る書込データサイズを示すＢＳが含まれ、イニシエータ２００は、ＢＳに応じて書込データ転送を行なう。
【００２９】
ここで、ドライブ４００がビジー（Busy）状態の場合、つまり、コネクションのクローズ処理後、すぐに新たなＯＡＦを発行する場合を考える。このとき、ストレージシステムにおいてバースト長（ＢＳ）が異なるドライブ４００が混在すると、バースト長の短いドライブ４００の性能が落ち込んでしまうという問題がある。
例えば、図１０に例示するストレージシステムにおいて、ドライブＡ及びＢからＯＡＦが発行される場合、ドライブＡのバースト長がドライブＢのバースト長よりも短いときのデータ転送の動作例を図１６を用いて説明する。
【００３０】
図１６は、バースト長が異なるドライブＡ及びＢが混在するストレージシステムにおけるデータ転送の動作例を示す図である。
図１６に例示するように、ドライブＡのＢＳが３０Ｋバイトであり、ドライブＢのＢＳが１５０Ｋバイトである場合について考える。
はじめに、ドライブＡ及びＢが、エクスパンダ３００−１のＯＡＦ受付時間内にＯＡＦを発行する。エクスパンダ３００−１は、受け付けたＯＡＦのＡＷＴの値が等しいため、ＳＡＳアドレスが大きいドライブＢのＯＡＦをイニシエータ２００に送信して、ドライブＢとイニシエータ２００との間でコネクションが成立する（図１６中（ｉ）参照）。
【００３１】
次いで、ドライブＢは、イニシエータ２００に、ＢＳを含むＸＦＥＲ＿Ｒｄｙを送信すると、イニシエータ２００は、ＸＦＥＲ＿Ｒｄｙで要求されたデータ量分の書込データ（１５０Ｋバイト）を送信し、送信が完了するとコネクションを閉じる（図１６中（ii）参照）。
コネクションが閉じたため、エクスパンダ３００−１は、再びＯＡＦを受け付ける。このとき、ドライブＡは、前回のＯＡＦからの待ち時間であるＡ１μｓをＡＷＴにセットしたＯＡＦを、エクスパンダ３００−１に発行する。また、ドライブＢは、０μｓをＡＷＴにセットしたＯＡＦを発行する。エクスパンダ３００−１は、受け付けた複数のＯＡＦのうち、ＡＷＴの値が大きいドライブＡのＯＡＦをイニシエータ２００に送信し、ドライブＡとイニシエータ２００との間でコネクションが成立する（図１６中（iii）参照）。
【００３２】
次いで、ドライブＡは、イニシエータ２００に、ＸＦＥＲ＿Ｒｄｙを送信すると、イニシエータ２００は、ＸＦＥＲ＿Ｒｄｙで要求されたデータ量分の書込データ（３０Ｋバイト）を送信し、送信が完了するとコネクションを閉じる（図１６中（iv）参照）。
次のＯＡＦ受付時間においては、ドライブＡは、０μｓをＡＷＴにセットしたＯＡＦを、エクスパンダ３００−１に発行する。また、ドライブＢは、前回のＯＡＦからの待ち時間であるＢ１μｓをＡＷＴにセットしたＯＡＦを発行する。エクスパンダ３００−１は、ＡＷＴの値が大きいドライブＢのＯＡＦをイニシエータ２００に送信し、ドライブＢとイニシエータ２００との間でコネクションが成立する（図１６中（ｖ）参照）。
【００３３】
なお、図１６中（ｖ）以降も、ドライブＡ及びＢが連続してＯＡＦを発行する場合は同様である。つまり、次のＯＡＦ受付時間経過時には、ＡＷＴがＡ２μｓのＯＡＦを発行したドライブＡがコネクションを獲得し、その次のＯＡＦ受付時間経過時においては、ＡＷＴがＢ２μｓのＯＡＦを発行したドライブＢがコネクションを獲得する。
このように、一度のコネクションで転送できるデータサイズであるＢＳが異なるドライブ種を混在させると、一度のコネクションでドライブＢは１５０Ｋバイトのデータを受信することができるのに対し、ドライブＡは３０Ｋバイトしかデータを受信することができない。従って、図１６に例示するように、ドライブＡ及びＢがいずれもＯＡＦを連続して発行する場合、ドライブＡは、次の３０Ｋバイトのデータを受信する際に、ドライブＢが１５０Ｋバイトのデータを受信するのを待たなければならず、ドライブＡのようにＢＳの小さいドライブ種が本来の性能に比べて大きく落ち込むという問題が起きる。この傾向はＢＳの小さいドライブ種であって高性能なドライブのときに、より顕著になる。
【００３４】
なお、図１６では、エクスパンダ３００−１が配下のドライブＡ及びＢからのＯＡＦを受信する場合を例に挙げたが、上述した問題は、エクスパンダ３００−１がさらにエクスパンダ３００−２からのＯＡＦを受信する場合や、エクスパンダ３００−２が配下のドライブＤ〜ＦからのＯＡＦを受信する場合も同様である。
また、図１６では、ドライブ４００への書込動作の例について説明したが、上述した問題は、性能差のある複数のドライブ４００がイニシエータ２００にＯＡＦを発行する場合であれば、読出動作や他の動作においても同様である。
【００３５】
なお、ＢＳが異なるドライブが混在する場合に限らず、書込／読出速度やディスク回転数等の種々の要因で性能の異なるドライブが混在する場合にも、高性能なドライブ種が本来の性能に比べて大きく落ち込むという問題が発生する。
上述の点に鑑み、本件の目的の１つは、性能差のある複数の記憶部が混在する場合のストレージ装置の性能低下を抑止することである。
【００３６】
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の１つとして位置付けることができる。
【課題を解決するための手段】
【００３７】
本件の接続装置は、複数の記憶部と、前記複数の記憶部からそれぞれ発行される接続要求に応じて各記憶部との接続を確立しアクセスを行なう制御部とを接続する接続装置であって、受信した複数の接続要求のうち、前記接続に係る優先度を示す優先度情報に基づいて選ばれた接続要求を、前記制御部に送信する接続要求送信制御部と、前記複数の記憶部のうちのある記憶部からの接続要求の受信に応じて、当該接続要求に含まれる優先度情報を、前記ある記憶部から接続要求を連続して受信しており、且つ、所定の条件を満たす場合に、他の記憶部から受信した接続要求に含まれる優先度情報よりも高い優先度を示すように変更する変更部と、を備えるものである。
【００３８】
また、本件のストレージ装置は、複数の記憶部と、前記複数の記憶部からそれぞれ発行される接続要求に応じて各記憶部との接続を確立しアクセスを行なう制御部と、前記複数の記憶部と前記制御部とを接続する第１接続部と、をそなえ、前記第１接続部は、受信した複数の接続要求のうち、前記接続に係る優先度を示す優先度情報に基づいて選ばれた接続要求を、前記制御部に送信する接続要求送信制御部と、前記複数の記憶部のうちのある記憶部からの接続要求の受信に応じて、当該接続要求に含まれる優先度情報を、前記ある記憶部から接続要求を連続して受信しており、且つ、所定の条件を満たす場合に、他の記憶部から受信した接続要求に含まれる優先度情報よりも高い優先度を示すように変更する変更部と、を備えるものである。
【００３９】
さらに、本件の接続要求送信制御方法は、複数の記憶部と、前記複数の記憶部からそれぞれ発行される接続要求に応じて各記憶部との接続を確立しアクセスを行なう制御部と、前記複数の記憶部と前記制御部とを接続する接続部と、を備えるストレージ装置における、接続要求送信制御方法であって、前記接続部において、受信した複数の接続要求のうち、前記接続に係る優先度を示す優先度情報に基づいて選ばれた接続要求を、前記制御部に送信し、前記複数の記憶部のうちのある記憶部からの接続要求の受信に応じて、当該接続要求に含まれる優先度情報を、前記ある記憶部から接続要求を連続して受信しており、且つ、所定の条件を満たす場合に、他の記憶部から受信した接続要求に含まれる優先度情報よりも高い優先度を示すように変更するものである。
【００４０】
また、本件の接続要求送信制御プログラムは、複数の記憶部と、前記複数の記憶部からそれぞれ発行される接続要求に応じて各記憶部との接続を確立しアクセスを行なう制御部と、前記複数の記憶部と前記制御部とを接続する接続部と、を備えるストレージ装置としてのコンピュータに、前記接続部において、受信した複数の接続要求のうち、前記接続に係る優先度を示す優先度情報に基づいて選ばれた接続要求を、前記制御部に送信し、前記複数の記憶部のうちのある記憶部からの接続要求の受信に応じて、当該接続要求に含まれる優先度情報を、前記ある記憶部から接続要求を連続して受信しており、且つ、所定の条件を満たす場合に、他の記憶部から受信した接続要求に含まれる優先度情報よりも高い優先度を示すように変更するものである。
【発明の効果】
【００４１】
開示の技術によれば、性能差のある複数の記憶部が混在する場合のストレージ装置の性能低下を抑止することができる。
【図面の簡単な説明】
【００４２】
【図１】一実施形態としてのストレージシステムの構成例を示す図である。
【図２】本実施形態に係るイニシエータが保持するドライブ種情報の一例を示す図である。
【図３】本実施形態に係るエクスパンダが保持するＡＷＴ管理テーブルの一例を示す図である。
【図４】本実施形態に係るエクスパンダの動作例を説明するフローチャートである。
【図５】本実施形態に係るエクスパンダにおけるＯＡＦの受信に係る動作例を説明するフローチャートである。
【図６】本実施形態に係るストレージシステムにおけるデータ転送の動作例を示す図である。
【図７】本実施形態に係るイニシエータによる、システム起動時においてドライブ種の性能情報が分からない場合の連続接続規定回数の設定の動作例を説明するフローチャートである。
【図８】本実施形態に係るイニシエータによる、活性増設時においてドライブ種の性能情報が分からない場合の連続接続規定回数の設定の動作例を説明するフローチャートである。
【図９】本実施形態の変形例に係るイニシエータが保持するドライブ種情報を示す図である。
【図１０】ストレージシステムの構成例を示す図である。
【図１１】ＳＡＳプロトコルにおけるライトコマンドのシーケンスの一例を説明する図である。
【図１２】ＳＡＳプロトコルにおけるリードコマンドのシーケンスの一例を説明する図である。
【図１３】図１０に例示するストレージシステムにおける、イニシエータとドライブとの間のコネクションの確立手順の一例を説明する図である。
【図１４】図１０に例示するストレージシステムにおける、イニシエータとドライブとの間のコネクションの確立手順の一例を説明する図である。
【図１５】図１０に例示するストレージシステムにおける、イニシエータとドライブとの間のコネクションの確立手順の一例を説明する図である。
【図１６】バースト長が異なる複数のドライブが混在するストレージシステムにおけるデータ転送の動作例を示す図である。
【発明を実施するための形態】
【００４３】
以下、図面を参照して実施の形態を説明する。
〔１〕一実施形態
〔１−１〕ストレージシステムの構成例
図１は、一実施形態としてのストレージシステムの構成例を示す図であり、図２は、イニシエータ２が保持するドライブ種情報２２ａの一例を示す図、図３は、エクスパンダ３−１及び３−２がそれぞれ保持するＡＷＴ管理テーブル３２ａの一例を示す図である。
【００４４】
図１に例示するように、ストレージシステムは、図１０に例示するストレージシステムと同様に、コントローラエンクロージャ（ＣＥ）１ａとドライブエンクロージャ（ＤＥ）１ｂとを備えるストレージ装置１、及び、ホストコンピュータ５を備える。
ホストコンピュータ５は、ストレージ装置１が備えるＳＡＳドライブ４に対するデータの書き込み及び読み出し等のデータアクセス要求を発行する装置であり、ホストコンピュータ５としてはサーバ等の情報処理装置が挙げられる。
【００４５】
ＣＥ１ａは、ホストコンピュータ５からドライブ４−１〜４−６に対するデータアクセス要求に係る制御を行なうものであり、イニシエータ２、エクスパンダ３−１、及び、ドライブ４−１〜４−３を備える。
ＤＥ１ｂは、エクスパンダ３−２、及び、ドライブ４−４〜４−６を備える。
なお、以下の説明においてエクスパンダ３−１及び３−２を区別しない場合には単に符号３で示し、ドライブ４−１〜４−６を区別しない場合には単に符号４で示す。また、以下、ドライブ４−１〜４−６を、それぞれ、図１中の記号を用いてドライブＡ〜Ｆという場合がある。なお、この記号Ａ〜Ｆは、それぞれ、ドライブ４のＳＡＳアドレスを示す。
【００４６】
ドライブ（記憶部）４は、ＳＡＳ規格に対応したＨＤＤやＳＳＤ（Solid State Drive）等の記憶装置であって、エクスパンダ３と接続される。
また、ドライブ４は、図１１及び図１２を用いて既述のように、イニシエータ２とコネクションを確立することにより、イニシエータ２との間でデータの転送を行なう。
さらに、ドライブ４は、ライトシーケンスにおいて、イニシエータ２からの書込データの転送に先立って、ＢＳをＸＦＥＲ＿Ｒｄｙに含めて送信することで、イニシエータ２からＢＳで示されるデータ量の書込データを受信して記憶領域に格納する。また、ドライブ４は、リードシーケンスにおいて、イニシエータ２にＢＳで示されるデータ量の読出データを記憶領域から転送する。
【００４７】
なお、ＢＳは、上述の如く、ドライブ４が一度のコネクションで転送することのできるデータサイズを示す情報であり、本実施形態に係るドライブＡ〜Ｆは、それぞれ、異なるＢＳを持つものとする。
また、ドライブ４は、図１３〜図１６を用いて既述のように、コネクションの確立を行なう場合、定期的にイニシエータ２に対するＯＡＦ、つまり接続要求を発行する。このＯＡＦには、上述の如く、ドライブ４がコネクションを要求してからの待ち時間を表すＡＷＴ（優先度情報）が含まれる。
【００４８】
〔１−２〕イニシエータの説明
イニシエータ（制御部）２は、配下のドライブ４−１〜４−６を管理し、ホストコンピュータ５からのデータアクセス要求に対して適切なドライブ４を割り当てるモジュールである。
また、イニシエータ２は、配下のエクスパンダ３−１、又は、エクスパンダ３−１及び３−２を経由して、複数のドライブ４からそれぞれ発行されるＯＡＦ（接続要求）に応じて各ドライブ４とのコネクション、つまり（論理的な）接続を確立しアクセスを行なう。
【００４９】
イニシエータ２は、プロセッサ２１及びメモリ２２を備える。
プロセッサ２１は、種々の制御や演算を行なうＣＰＵ（Central Processing Unit）やＭＰＵ（Micro Processing Unit）等の処理装置であり、図示しないＲＯＭ（Read Only Memory）等に格納されたプログラムを実行することにより、イニシエータ２における種々の機能を実現する。本実施形態においては、プロセッサ２１は、ホストコンピュータ５からドライブ４に対するデータアクセス要求に係る処理の実行等を行なう。
【００５０】
また、本実施形態に係るプロセッサ２１は、取得部２１ａ及び決定部２１ｂとしての機能を備える。
取得部２１ａは、ストレージ装置１に備えられたイニシエータ２配下のドライブ４が持つ特性に応じた特性情報を、ドライブ４ごとに取得するものである。
なお、特性情報としては、ドライブ４のＢＳや、ドライブ４のデバイス情報（性能情報）等が挙げられる。
【００５１】
本実施形態に係る取得部２１ａは、特性情報としてドライブ４ごとのＢＳを取得する。
また、取得部２１ａは、取得したＢＳを、メモリ２２内のドライブ種情報２２ａに、ドライブ種（ドライブ４）ごとに設定する。
ここで、取得部２１ａは、例えばストレージ装置１の「POWER_ON時」や「ドライブ４の活性増設時」等、ドライブ４の構成が変わる可能性のあるタイミングで、搭載されているドライブ種のＢＳを取得する。
【００５２】
なお、予め特性情報（ＢＳ）が分かっているドライブ種については、ドライブ種とＢＳとを対応付けて、所定の記憶領域（例えばメモリ２２）に予め格納しておくことができる。これにより、取得部２１ａは、ストレージ装置１に搭載されるドライブ４の種類が決定している場合には、ストレージ装置１に搭載されるドライブ４に対応するドライブ種のＢＳを、所定の記憶領域から取得することができる。
【００５３】
また、ストレージ装置１に搭載される一部又は全部のドライブ種のＢＳが所定の記憶領域に格納されていない場合、つまりＢＳが予め分からない場合、取得部２１ａは、ＢＳが分からないドライブ４について、特定記憶領域から読み出しを行ない、読み出したデータを同じ領域に書き込むことにより、ＢＳを取得する。つまり、取得部２１ａは、特定記憶領域に対する読み出し及び書き込みにより、ドライブ４から発行されるＸＦＥＲ＿Ｒｄｙを受信することで、ＸＦＥＲ＿Ｒｄｙに含まれるＢＳ値を取得することができる。
【００５４】
例えば、取得部２１ａは、ＢＳが分からないドライブ４について、任意のアドレスからデータを読み出し、同じアドレスに読み出したデータを書き込むことにより、ドライブ４が保持しているデータを変更せずに書き込みを発生させて、ＢＳを取得することができる。なお、取得部２１ａは、ＢＳが分からないドライブ４について、特定記憶領域に対して、読み出しを行なわずに所定のデータを書き込むことにより、ドライブ４からＢＳを取得しても良い。
【００５５】
決定部２１ｂは、ストレージ装置１のシステム構成が変化した場合、取得部２１ａが取得したドライブ種ごとの特性情報（ＢＳ）に基づいて、ドライブ種ごとの連続接続規定回数を決定し、ドライブ種情報２２ａに設定する（更新する）ものである。
また、決定部２１ｂは、決定したドライブ種ごとの連続接続規定回数を、対応するドライブ４が接続されたエクスパンダ３に送信し、各エクスパンダ３の後述するメモリ３２が保持するＡＷＴ管理テーブル３２ａに設定させる。
【００５６】
ここで、連続接続規定回数は、ドライブ４にイニシエータ２との間でコネクションを連続して確立させる回数の閾値（例えば上限）を示す情報である。
連続接続規定回数の具体的な決定方法を説明すると、決定部２１ｂは、取得部２１ａにより特性情報としてＢＳが取得された場合、全てのドライブ種中の最大のＢＳを持つドライブ種を基準として、連続接続規定回数を決定（算出）する。より具体的に、決定部２１ｂは、連続接続規定回数を求めたいドライブ種のＢＳで、全てのドライブ種中の最大のＢＳを除算することにより、除算結果（商）を連続接続規定回数として決定する。
【００５７】
メモリ（第２保持部）２２は、種々のデータやプログラムを一時的に格納する記憶装置であって、プロセッサ２１がプログラムを実行する際に、データやプログラムを一時的に格納・展開して用いる。なお、メモリ２２としては、例えばＲＡＭ（Random Access Memory）等の揮発性メモリが挙げられる。
また、本実施形態に係るメモリ２２は、所定の記憶領域に、図２に例示するドライブ種情報２２ａを、例えばテーブル形式で保持する。
【００５８】
ドライブ種情報（記憶部情報）２２ａは、取得部２１ａが取得した、ドライブ種の分類の基準となる特性情報（図２においてはＢＳ）と、決定部２１ｂが決定した連続接続規定回数とを、ドライブ種ごとに対応付けた情報である。本実施形態においては、上述の如く各ドライブ４はそれぞれ異なるＢＳを持つため、ドライブ種としてドライブＡ〜Ｆが設定されている。なお、図２に示す例では、ＢＳがＫバイト単位で設定されている。
【００５９】
なお、図２に例示するように、全てのドライブ種の中で最大のＢＳは、ドライブＢのＢＳである１５０Ｋバイトである。従って、決定部２１ｂにより決定され、ドライブ種情報２２ａに設定される連続接続規定回数は、それぞれ以下のようになる。
つまり、ＢＳが３０ＫバイトであるドライブＡの連続接続規定回数は、１５０Ｋバイト／３０Ｋバイト＝５となり、ＢＳが１５０ＫバイトであるドライブＢの連続接続規定回数は、１５０Ｋバイト／１５０Ｋバイト＝１となる。同様に、ドライブＣの連続接続規定回数は、１５０Ｋバイト／７５Ｋバイト＝２となり、ドライブＤの連続接続規定回数は、１５０Ｋバイト／１００Ｋバイト＝１（小数点以下切り捨て）となる。また、ドライブＥの連続接続規定回数は、１５０Ｋバイト／３５Ｋバイト＝４（小数点以下切り捨て）となり、ドライブＦの連続接続規定回数は、１５０Ｋバイト／５０Ｋバイト＝３となる。
【００６０】
なお、連続接続規定回数には整数が設定されるため、図２に例示するドライブＤ及びＥのように演算の結果割り切れない場合、決定部２１ｂは、小数点以下を切り捨てる、或いは、四捨五入する等の処理を行なう。
〔１−３〕エクスパンダの説明
次に、図１の説明に戻り、エクスパンダ３について説明する。
【００６１】
エクスパンダ（接続装置，接続部，第１接続部）３−１及びエクスパンダ（接続装置，接続部，第２接続部）３−２は、それぞれＳＡＳ接続の拡張を行なうためのモジュールであり、同様の構成を備える。
エクスパンダ３は、ＳＡＳの制御デバイスとして機能するプロセッサ３１及びメモリ３２を備えるとともに、ＳＡＳの物理ポートであるＰｈｙ（図示省略）を備える。
【００６２】
また、エクスパンダ３−１は、Ｐｈｙを介してイニシエータ２、ドライブ４−１〜４−３、及び、配下のＤＥ１ｂ内のエクスパンダ３−２と接続され、イニシエータ２とアクセス対象のドライブ４との間のアクセスに係るコマンドやデータ等の情報の転送を行なう。
一方、エクスパンダ３−２は、Ｐｈｙ（物理ポート）を介してエクスパンダ３−１（イニシエータ２）、及び、ドライブ４−４〜４−６と接続され、イニシエータ２とアクセス対象のドライブ４との間のアクセスに係る情報の転送を行なう。
【００６３】
以下、エクスパンダ３−１及び３−２の詳細な構成について説明するが、これらの構成は略同一のため、共通する点について代表してエクスパンダ３−１を用いて説明する。
プロセッサ３１は、種々の制御や演算を行なうＣＰＵやＭＰＵ等の処理装置であり、図示しないＲＯＭ等に格納されたプログラムを実行することにより、エクスパンダ３における種々の機能を実現する。本実施形態においては、プロセッサ３１は、イニシエータ２とドライブ４との間のアクセスに係る情報に関する処理の実行等を行なう。
【００６４】
また、本実施形態に係るプロセッサ３１は、接続要求送信制御部３１ａ、変更部３１ｂ及びタイマ３１ｃとしての機能を備える。
接続要求送信制御部３１ａは、エクスパンダ３に接続された配下の複数のドライブ４から受信した複数のＯＡＦ（接続要求）のうち、コネクションに係る優先度を示すＡＷＴ（優先度情報）に基づいて一のＯＡＦを選ぶものである。そして、接続要求送信制御部３１ａは、ＡＷＴに基づいて選ばれたＯＡＦを、イニシエータ２に送信する。すなわち、接続要求送信制御部３１ａは、ドライブ４間でアクセス競合が発生した場合、ＳＡＳプロトコルに従い、ＯＡＦに含まれるＡＷＴが最も大きいＯＡＦを送信したドライブ４を優先して、コネクションを成立させる。
【００６５】
なお、エクスパンダ３−２の接続要求送信制御部３１ａは、ドライブＤ〜Ｆから発行されたＯＡＦから選択されたＯＡＦを、エクスパンダ３−１を介してイニシエータ２に送信する。このＯＡＦは、エクスパンダ３−１の接続要求送信制御部３１ａにより、ドライブＡ〜Ｃから発行されるＯＡＦと調停される。つまり、エクスパンダ３−１の接続要求送信制御部３１ａは、エクスパンダ３−２からのＯＡＦとドライブＡ〜Ｃからの複数のＯＡＦとのうち、ＡＷＴに基づいて選ばれたＯＡＦを、イニシエータ２に送信する。
【００６６】
変更部３１ｂは、複数のドライブ４のうちの、あるドライブ４からのＯＡＦを連続して受信し、且つ、所定の条件を満たす間、あるドライブ４から受信したＯＡＦに含まれるＡＷＴを、他のドライブ４から受信したＯＡＦに含まれるＡＷＴよりも高い優先度を示すように変更するものである。
具体的には、変更部３１ｂは、あるドライブ４からのＯＡＦを連続して受信し、且つ、所定の条件を満たす間、タイマ３１ｃにより生成されたあるドライブ４に対応するＡＷＴタイマの値に基づいて、あるドライブ４に係るＡＷＴを変更する。
【００６７】
ここで、あるドライブ４とは、前回、イニシエータ２との間でコネクションが確立されたドライブ４であり、後述するＡＷＴ管理テーブル３２ａ内のコネクション判定フラグの状態で示される。なお、以下、あるドライブ４を所定のドライブ４ともいう。
また、所定の条件とは、連続してコネクションが確立された回数が所定の回数未満である状態であり、後述するＡＷＴ管理テーブル３２ａ内の連続接続規定回数及び連続接続回数によって定められる。
【００６８】
タイマ（生成部）３１ｃは、所定のドライブ４に係るＡＷＴを、接続要求送信制御部３１ａにおいて他のドライブ４に係るＡＷＴよりも高い優先度を示すように変更するＡＷＴタイマ値（変更情報）を生成する。
ここで、上述の如く、ＡＷＴ（優先度情報）は、ドライブ４がＯＡＦを発行してからの待ち時間を示す情報であり、接続要求送信制御部３１ａは、複数のＯＡＦが発行されると、最大のＡＷＴを含むＯＡＦを選択する。
【００６９】
つまり、タイマ３１ｃは、所定のドライブ４に係るＡＷＴを、接続要求送信制御部３１ａにおいて他のドライブ４に係る待ち時間よりも長い待ち時間を示すように変更する情報であるＡＷＴタイマ値を生成する。そして、変更部３１ｂは、このＡＷＴタイマ値を所定のドライブ４に係るＡＷＴに加算することで、所定のドライブ４に係るＯＡＦの優先度を上げるのである。
【００７０】
なお、タイマ３１ｃは、複数のドライブ４それぞれに対応したタイマであり、ドライブ４ごとに、上述のような時間の経過に応じて値が変化するＡＷＴタイマ値を生成する。
メモリ（保持部，第１保持部）３２は、種々のデータやプログラムを一時的に格納する記憶装置であって、プロセッサ３１がプログラムを実行する際に、データやプログラムを一時的に格納・展開して用いる。なお、メモリ３２としては、例えばＲＡＭ等の揮発性メモリが挙げられる。
【００７１】
また、本実施形態に係るメモリ３２は、所定の記憶領域に、図３に例示するＡＷＴ管理テーブル３２ａを、例えばテーブル形式で保持する。
ＡＷＴ管理テーブル（管理情報）３２ａは、連続接続規定回数と、連続接続回数と、ＡＷＴタイマと、連続接続要求フラグと、コネクション判定フラグとを、ドライブ４（ＰｈｙＩＤ）ごとに対応付けた情報である。
【００７２】
ここで、エクスパンダ３は、図示しないＰｈｙＩＤ（ポートＩＤ）によって配下のドライブ４を認識しているため、ＡＷＴ管理テーブル３２ａに含まれる情報は、ＰｈｙＩＤごとに対応付けられている。
ＡＷＴタイマは、タイマ３１ｃにより生成され常にカウントアップするＡＷＴタイマ値が、ドライブ４（ＰｈｙＩＤ）ごとに設定されるものであり、変更部３１ｂにより、所定のドライブ４に対応するＡＷＴタイマ値が参照されて用いられる。なお、図３に示す例では、ＡＷＴタイマ値がμ秒単位で設定されている。
【００７３】
なお、ＡＷＴ管理テーブル３２ａのＡＷＴタイマには、タイマ３１ｃにより生成（カウント）されるＡＷＴタイマ値そのものが設定されても良く、また、タイマ３１ｃにより生成されるＰｈｙＩＤごとのＡＷＴタイマ値を特定するための情報が設定されても良い。以下、これらをまとめて、単に「ＡＷＴタイマ値」という。
連続接続要求フラグ（接続要求情報）は、ドライブ４が連続してＯＡＦを発行しているか否かを示す情報であり、例えば、ドライブ４（ＰｈｙＩＤ）ごとに、連続してＯＡＦを発行している場合には有効状態を示す“１”が、連続してＯＡＦが発行されていない場合には無効状態を示す“０”が設定される。
【００７４】
変更部３１ｂは、ドライブ４ごとに、ＯＡＦ受付時間（接続要求受付時間）の間にＯＡＦを受信したか否かを判断し、ＯＡＦを受信した場合には連続接続要求フラグに“１”を、受信していない場合には“０”を設定する。
そして、変更部３１ｂは、ＯＡＦを発行したドライブ４に対応する連続接続要求フラグが有効状態、つまり連続してＯＡＦを発行していることを示す場合、このドライブ４が連続してＯＡＦを発行していると判断する。
【００７５】
コネクション判定フラグ（接続判定情報）は、前回、イニシエータ２との間でコネクションが確立されたか否かを示す情報である。換言すれば、コネクション判定フラグは、対応するドライブ４が、直前にイニシエータ２との間でコネクションが確立されたドライブ４であるか否かを示す情報である。
例えば、コネクション判定フラグは、ドライブ４（ＰｈｙＩＤ）ごとに、直前にイニシエータ２との間でコネクションが確立されたドライブ４である場合には有効状態を示す“１”が、直前にイニシエータ２との間でコネクションが確立されたドライブ４ではない場合には無効状態を示す“０”が設定される。
【００７６】
変更部３１ｂは、ドライブ４とイニシエータ２との間でコネクションが確立された場合に、コネクションが確立されたドライブ４に対応するコネクション判定フラグに“１”を設定し、コネクションが確立されなかったドライブ４に対応するコネクション判定フラグに“０”を設定する。
そして、変更部３１ｂは、ＯＡＦを発行したドライブ４に対応するコネクション判定フラグが有効状態、つまり、対応するドライブ４が、直前にイニシエータ２との間でコネクションを確立したドライブ４であることを示す場合、このＯＡＦを発行したドライブ４を所定のドライブ４と判断する。
【００７７】
つまり、このコネクション判定フラグは、変更部３１ｂにより、ＯＡＦを発行したドライブ４が所定のドライブ４であるか否かを判断し、ＡＷＴタイマ値を加算（シフトアップ）させるか否かの判断に用いられる。
なお、変更部３１ｂは、ＯＡＦ受付時間に配下のいずれのドライブ４からもＯＡＦを受信しなかった場合には、配下のドライブ４に対応する全ての連続接続要求フラグ及びコネクション判定フラグに“０”を設定、つまりリセット（初期化）する。
【００７８】
連続接続規定回数は、図２を用いて既述のように、ドライブ４にコネクションを連続して確立させる回数の閾値を示す情報であり、イニシエータ２の決定部２１ｂから受信して、例えば更新部３１ｂにより設定される。
なお、イニシエータ２は、予めストレージ装置１内の配下のデバイスの構成情報を収集・保持しており、エクスパンダ３のどのＰｈｙ（物理ポート）にどのドライブ４が接続されているかを認識している。つまり、イニシエータ２は、構成情報に基づいて、エクスパンダ３−１，３−２それぞれに接続されているドライブ種を、対応するＰｈｙＩＤとともに識別することができる。
【００７９】
従って、イニシエータ２の決定部２１ｂは、エクスパンダ３−１，３−２それぞれに対して、ＰｈｙＩＤと当該ＰｈｙＩＤに接続されたドライブ種に応じた連続接続規定回数とを対応付けた情報を送信する。これにより、エクスパンダ３の変更部３１ｂは、受信した情報に基づいて、ＡＷＴ管理テーブル３２ａに連続接続規定回数を設定することができる。
【００８０】
連続接続回数は、ドライブ４とイニシエータ２とのコネクションが連続して確立された回数を示す情報である。
なお、上述の如く、エクスパンダ３（接続要求送信制御部３１ａ）は、イニシエータ２により確立されたドライブ４とのコネクションが終了する度に、所定のＯＡＦ受付時間（接続要求受付時間）の間、複数のドライブ４それぞれからのＯＡＦを受け付ける。
【００８１】
すなわち、連続接続回数は、複数の連続したＯＡＦ受付時間に亘って、ドライブ４がコネクションを連続して獲得した回数を示す情報である。
連続接続回数の値は、ＯＡＦを発行したドライブ４とイニシエータ２との間で連続してコネクションが確立された場合に、変更部３１ｂによりカウントアップされる。
ここで、変更部３１ｂは、所定のドライブ４に対応する連続接続回数が連続接続規定回数よりも少ない場合、所定の条件を満たすと判断する。
【００８２】
つまり、連続接続規定回数及び連続接続回数は、変更部３１ｂにより、所定のドライブ４が所定の条件を満たしているか否かの判断を行なうために用いられる。
すなわち、変更部３１ｂは、複数の連続したＯＡＦ受付時間に亘って、連続接続要求フラグが有効状態を示す所定のドライブ４からＯＡＦを受信し、且つ、当該所定のドライブ４に対応する連続接続回数が連続接続規定回数よりも少ない場合、当該所定のドライブ４に係るＡＷＴにＡＷＴタイマ値を加算するものである。
【００８３】
なお、変更部３１ｂは、ＯＡＦ受付時間が終了すると、各ドライブ４に対応するＡＷＴ管理テーブル３２ａを更新する。
具体的には、連続接続回数の設定値は、変更部３１ｂにより、対応するドライブ４からＯＡＦが送信されなかった場合、又は、連続接続回数が連続接続規定回数と等しい場合に“０”にリセット（初期化）される。
【００８４】
また、ＡＷＴタイマの設定値は、変更部３１ｂにより、連続接続要求フラグが“０”の場合、又は、連続接続回数が連続接続規定回数と等しい場合に“０”にリセット（初期化）される。
さらに、連続接続要求フラグの設定値は、変更部３１ｂにより、対応するドライブ４からＯＡＦが送信されなかった場合に“０”にリセット（初期化）され、対応するドライブ４からＯＡＦが送信されたが連続接続要求フラグが“０”である場合に“１”がセットされる。
【００８５】
ここで、図１６を用いて既述のように、ドライブ４が送信するＯＡＦ中のＡＷＴの値は、コネクションが確立されると、ドライブ４自身によって“０”にリセットされる。従って、一度のコネクションで転送できるデータサイズであるＢＳが異なるドライブ種を混在させると、ＢＳの小さいドライブ種であって、特に高性能なドライブが、本来の性能に比べて大きく落ち込むという問題が生じる。
【００８６】
そこで、本実施形態に係るストレージ装置１は、ＢＳが小さく連続してコネクションを確立させたいドライブ４に対しては、通常、ドライブ４がコネクションを獲得すると“０”になるＡＷＴに、エクスパンダ３側でＡＷＴタイマ値を加算して、実質的に長い待ち時間が経過したことを示すＡＷＴとなるようにしている。つまり、エクスパンダ３は、連続してコネクションを確立させたいドライブ４に対しては、ドライブ４からのＯＡＦのＡＷＴが“０”にならないようにしている。
【００８７】
これにより、本実施形態に係るストレージ装置１によれば、変更部３１ｂにより、ＢＳが小さく、優先して接続させたいドライブ４に対して、連続接続回数が連続接続規定回数に達するまで、ＯＡＦ中のＡＷＴをプラスにシフトさせて、優先してコネクションを獲得させることができる。
〔１−４〕ストレージ装置の動作例
〔１−４−１〕エクスパンダの動作例
次に、上述の如く構成された本実施形態に係るストレージ装置１（ストレージシステム）におけるデータ転送の動作例を図４及び図５を参照しながら説明する。
【００８８】
なお、図４は、本実施形態に係るエクスパンダ３の動作例を説明するフローチャートであり、図５は、エクスパンダ３におけるＯＡＦの受信に係る動作例を説明するフローチャートである。
はじめに、図４に例示するように、エクスパンダ３により、配下のドライブ４（及び下位のエクスパンダ３）からＯＡＦが受け付けられ（ステップＳ１）、一定時間（例えばｔ１）経過後、ＯＡＦの受付が終了する（ステップＳ２，図６に示す（ａ）〜（ｇ）の各ＯＡＦ受付時間参照）。
【００８９】
次いで、エクスパンダ３により、各ドライブから受け付けたＯＡＦがあるか否か、つまり少なくとも一つのドライブ４からＯＡＦを受け付けたか否かが判断される（ステップＳ３）。ＯＡＦを受け付けていない場合（ステップＳ３のＮｏルート）、変更部３１ｂにより、全てのドライブ４の「コネクション判定フラグ」及び「連続接続要求フラグ」に“０”がセットされ（ステップＳ４）、ステップＳ１の処理に移行する。
【００９０】
一方、少なくとも一つのドライブ４からＯＡＦを受け付けた場合には（ステップＳ３のＹｅｓルート）、エクスパンダ３により、配下のドライブ４ごとに、「ＯＡＦの有無の判定」、「ＡＷＴ管理テーブル３２ａの更新」、「受信したＯＡＦのＡＷＴの加算」の各処理が行なわれる（ステップＳ５）。
具体的には、図５に例示するように、変更部３１ｂにより、配下のドライブ４ごとに、ＯＡＦが送信されたか否かが判断される（ステップＳ１４）。
【００９１】
ＯＡＦが送信されていないと判断された場合には（ステップＳ１４のＮｏルート）、変更部３１ｂにより、ＡＷＴ管理テーブル３２ａの対応するドライブ４の「連続接続回数」が“０”にリセットされるとともに（ステップＳ１５）、「連続接続要求フラグ」に“０”がセットされ（ステップＳ１６）、当該ドライブ４に係るステップＳ５の処理が終了する。
【００９２】
一方、ステップＳ１４において、ＯＡＦが送信されたと判断された場合には（ステップＳ１４のＹｅｓルート）、変更部３１ｂにより、対応するドライブ４の「連続接続要求フラグ」が有効状態を示す値（例えば“１”）であるか否かが判断される（ステップＳ１７）。
「連続接続要求フラグ」が“１”でない場合には（ステップＳ１７のＮｏルート）、変更部３１ｂにより、対応するドライブ４の「連続接続要求フラグ」に“１”がセットされるとともに（ステップＳ１８）、「ＡＷＴタイマ値」が“０”にリセットされ（ステップＳ１９）、当該ドライブ４に係るステップＳ５の処理が終了する。
【００９３】
一方、ステップＳ１７において、「連続接続要求フラグ」が“１”である場合には（ステップＳ１７のＹｅｓルート）、変更部３１ｂにより、ＡＷＴ管理テーブル３２ａの対応するドライブ４の「連続接続回数」が「連続接続規定回数」と等しいか否かが判断される（ステップＳ２０）。このステップＳ２０の判定によって、変更部３１ｂは、規定回数以上、ＡＷＴをシフトアップさせないようにしている。
【００９４】
ステップＳ２０において、等しいと判断された場合には（ステップＳ２０のＹｅｓルート）、変更部３１ｂにより、対応するドライブ４の「ＡＷＴタイマ値」が“０”にリセットされるとともに（ステップＳ２１）、「連続接続要求フラグ」に“０”がセットされ（ステップＳ２２）、当該ドライブ４に係るステップＳ５の処理が終了する。
一方、ステップＳ２０において、「連続接続回数」が「連続接続規定回数」と等しくないと判断された場合には（ステップＳ２０のＮｏルート）、変更部３１ｂにより、対応するドライブ４の「コネクション判定フラグ」が有効状態を示す値（例えば“１”）であるか否かが判断される（ステップＳ２３）。
【００９５】
ステップＳ２３において、「コネクション判定フラグ」が“１”でない場合には（ステップＳ２３のＮｏルート）、変更部３１ｂにより、当該ドライブ４はコネクションが確立されていないと判断され、ＡＷＴに「ＡＷＴタイマ値」が加算されない。そして、当該ドライブ４に係るステップＳ５の処理が終了する。
一方、ステップＳ２３において、「コネクション判定フラグ」が“１”である場合には（ステップＳ２３のＹｅｓルート）、変更部３１ｂにより、対応するドライブ４から発行されたＯＡＦのＡＷＴに、「ＡＷＴタイマ値」が加算され（ステップＳ２４）、当該ドライブ４に係るステップＳ５の処理が終了する。
【００９６】
次いで、図４の説明に戻ると、接続要求送信制御部３１ａにより、ステップＳ５においてドライブ４ごとにＡＷＴが調整されたＯＡＦのうち、最も大きいＡＷＴを持つＯＡＦが複数あるか否かが判断される（ステップＳ６）。
最も大きいＡＷＴを持つＯＡＦが複数ない場合には（ステップＳ６のＮｏルート）、接続要求送信制御部３１ａにより、最も大きいＡＷＴを持つＯＡＦが、上位のイニシエータ２又は上位のエクスパンダ３に送信される（ステップＳ７）。
【００９７】
一方、最も大きいＡＷＴを持つＯＡＦが複数ある場合には（ステップＳ６のＹｅｓルート）、接続要求送信制御部３１ａにより、最も大きいＡＷＴを持つ複数のＯＡＦの中で、ＳＡＳアドレスが最も大きいドライブ４から送信されたＯＡＦが、上位のイニシエータ２又は上位のエクスパンダ３に送信される（ステップＳ８）。
接続要求送信制御部３１ａによりＯＡＦが上位に送信されると、エクスパンダ３により、上位のイニシエータ２又は上位のエクスパンダ３から、例えば所定の時間内にＯＡＦに応じてＯＰＥＮ＿ＡＣＣＥＰＴが送信されたか否かが判断される（ステップＳ９）。
【００９８】
ＯＰＥＮ＿ＡＣＣＥＰＴが送信されていない場合（ステップＳ９のＮｏルート）、ステップＳ１の処理に移行する。
一方、ＯＰＥＮ＿ＡＣＣＥＰＴが送信された場合（ステップＳ９のＹｅｓルート）、エクスパンダ３により、ＯＰＥＮ＿ＡＣＣＥＰＴがＯＡＦの送信元に中継され、コネクションが確立される（ステップＳ１０）。
【００９９】
ステップＳ１０においてコネクションが確立されると、変更部３１ｂにより、ＡＷＴ管理テーブル３２ａのコネクションが確立されたドライブ４に対応する「連続接続回数」が１カウントアップされ、「コネクション判定フラグ」に“１”がセットされる。また、ＡＷＴ管理テーブル３２ａのコネクションが確立されていないドライブ４に対応する「コネクション判定フラグ」に“０”がセットされる。（ステップＳ１１）。
【０１００】
そして、エクスパンダ３により、コネクションが確立した上位のイニシエータ２（又は上位のエクスパンダ）と配下のドライブ４又は下位のエクスパンダ３との間で送信されるデータが中継される（ステップＳ１２）。なお、データの送信の終了に伴いコネクションが終了すると（ステップＳ１３）、ステップＳ１の処理に移行する。
次に、上述の如く構成されたストレージシステムにおいて、複数のドライブ４からＯＡＦが発行された場合のエクスパンダ３の動作例を図４〜図６を参照しながら説明する。
【０１０１】
なお、図６は、本実施形態に係るストレージシステムにおけるデータ転送の動作例を示す図である。
ここで、図６においては、エクスパンダ３−１のＰｈｙＩＤ＝“０”にドライブＡが、ＰｈｙＩＤ＝“１”にドライブＢが、それぞれ接続され、ドライブＡ及びＢから、複数の連続したＯＡＦ受付時間に亘ってＯＡＦが発行される場合について説明する。
【０１０２】
以下、図６に例示するように、ドライブＡのＢＳが３０Ｋバイトであり、ドライブＢのＢＳが１５０Ｋバイトである場合について考える。なお、ＡＷＴ管理テーブル３２ａの「連続接続回数」、「ＡＷＴタイマ」及び「連続接続要求フラグ」の初期値は、いずれも“０”である。
はじめに、ドライブＡ及びＢが、エクスパンダ３−１のＯＡＦ受付時間内にＯＡＦを発行し、エクスパンダ３−１がＯＡＦの受け付けを終了する（図６中（ａ）参照）。
【０１０３】
このときのＡＷＴ管理テーブル３２ａは、変更部３１ｂにより、ドライブＡ及びＢに対応するＰｈｙＩＤ＝“０”及び“１”の「連続接続要求フラグ」に“１”がセットされ、「ＡＷＴタイマ」が“０”にリセットされる（図５のステップＳ１８及びＳ１９参照）。
なお、例えば、エクスパンダ３−１のＰｈｙＩＤ＝“２”に、ＯＡＦを発行しないドライブＣが接続されている場合、ＡＷＴ管理テーブル３２ａは、変更部３１ｂにより、対応する「連続接続回数」及び「連続接続要求フラグ」に“０”がセットされる（図５のステップＳ１５及びＳ１６参照；以下、図６（ｂ）〜（ｇ）において同様）。
【０１０４】
接続要求送信制御部３１ａは、受け付けたドライブＡ及びＢのＯＡＦのＡＷＴの値が等しいため、ＳＡＳアドレスが大きいドライブＢのＯＡＦをイニシエータ２に送信し、ドライブＢとイニシエータ２との間でコネクションが成立する（図６中（ｉ）参照）。
次いで、ドライブＢは、ＢＳを含むＸＦＥＲ＿Ｒｄｙをエクスパンダ３−１を経由してイニシエータ２に送信すると、イニシエータ２は、ＸＦＥＲ＿Ｒｄｙで要求されたデータ量分の書込データ（１５０Ｋバイト）を送信する。送信が完了すると、イニシエータ２はコネクションを閉じる（図６中（ii）参照）。なお、変更部３１ｂにより、ドライブＢに対応する「連続接続回数」がカウントアップされて“１”になるとともに、「コネクション判定フラグ」に“１”がセットされる。また、ドライブＡに対応する「コネクション判定フラグ」に“０”がセットされる（図４のステップＳ１１参照）。
【０１０５】
コネクションが閉じたため、エクスパンダ３−１により、再度ＯＡＦが受け付けられる。このとき、ドライブＡは、前回のＯＡＦからの待ち時間（Ａ１μｓ）をＡＷＴにセットしたＯＡＦを発行し、ドライブＢは、待ち時間（０μｓ）をＡＷＴにセットしたＯＡＦを発行する（図６中（ｂ）参照）。
このときのＡＷＴ管理テーブル３２ａは、ドライブＡについては、対応する「コネクション判定フラグ」が“０”であるため、ＡＷＴタイマ値が常にカウントアップする「ＡＷＴタイマ」の設定値を除き変更されない（図５のステップＳ２３のＮｏルート参照）。一方、ドライブＢについては、対応する「連続接続回数」が「連続接続規定回数」と等しく“１”であるため、変更部３１ｂにより、「連続接続回数」及び「ＡＷＴタイマ」がそれぞれ“０”にリセットされる（図５のステップＳ２１及びＳ２２参照）。
【０１０６】
接続要求送信制御部３１ａは、受け付けたＯＡＦのＡＷＴの値が大きいドライブＡのＯＡＦをイニシエータ２に送信し、ドライブＡとイニシエータ２との間でコネクションが成立する（図６中（iii）参照）。また、ドライブＡによるＸＦＥＲ＿Ｒｄｙの送信により、イニシエータ２から書込データ（３０Ｋバイト）が送信され、コネクションが閉じる（図６中（iii）参照）。なお、変更部３１ｂにより、ドライブＡに対応する「連続接続回数」がカウントアップされて“１”になるとともに、「コネクション判定フラグ」に“１”がセットされる。一方、ドライブＢに対応する「コネクション判定フラグ」に“０”がセットされる（図４のステップＳ１１参照）。
【０１０７】
コネクションが閉じると、エクスパンダ３−１により、再度ＯＡＦが受け付けられる。このとき、ドライブＡは、待ち時間（０μｓ）をＡＷＴにセットしたＯＡＦを発行し、ドライブＢは、前回のＯＡＦからの待ち時間（Ｂ１μｓ）をＡＷＴにセットしたＯＡＦを発行する（図６中（ｃ）参照）。
このときのＡＷＴ管理テーブル３２ａは、ドライブＡについては、対応する「連続接続回数」が「連続接続規定回数」よりも小さい“１”であり、「コネクション判定フラグ」が“１”であるため、変更部３１ｂにより、ドライブＡのＯＡＦのＡＷＴに、図６中（ａ）からカウントアップされたＡＷＴタイマ値“Ａ２”が加算される（図５のステップＳ２４参照）。一方、ドライブＢについては、対応する「コネクション判定フラグ」が“０”であるため、ＡＷＴタイマ値が常にカウントアップする「ＡＷＴタイマ」の設定値を除き変更されない（図５のステップＳ２３のＮｏルート参照）。
【０１０８】
つまり、変更部３１ｂは、ＢＳの小さいドライブＡのＡＷＴに“Ａ２μｓ”を加算してシフトアップさせることにより、ドライブＡのＯＡＦに、擬似的に図６の（ｂ）のコネクションが確立されなかった場合のＡＷＴをセットする。
そして、変更部３１ｂにより、ドライブＡのＡＷＴ“Ａ２μｓ”と、ドライブＢのＡＷＴ“Ｂ１μｓ”とが比較され、ＡＷＴの大きいドライブＡのＯＡＦのコネクションが成立される。なお、コネクションが成立したドライブＡは、ＸＦＥＲ＿Ｒｄｙ送信後、書込データ（３０Ｋバイト）を受信し、コネクションを閉じる。
【０１０９】
図６の（ｃ）と同様に、ドライブＡは、連続した複数のＯＡＦ受付時間（ｄ）〜（ｆ）に亘って、ＡＷＴ“０μｓ”がセットされたＯＡＦを発行する。そして、変更部３１ｂは、ドライブＡに対応する「ＡＷＴタイマ」の値をＯＡＦのＡＷＴに加算し、コネクションが確立されると「連続接続回数」をカウントアップする（図６中（iv）参照）。
図５及び図６に例示するように、変更部３１ｂは、ドライブＡのＡＷＴのシフトアップを複数回繰り返し、コネクションを連続して５回確立させることで、擬似的にドライブＡのＢＳをドライブＢのＢＳである“１５０Ｋバイト”と等しくすることができる。
【０１１０】
ＯＡＦ受付時間（ｇ）において、ＢＳが平準化される回数（５回）、ドライブＡのコネクションを確立させたので、変更部３１ｂは、ドライブＡのシフトアップを終了する。すなわち、図６中（ｆ）においてドライブＡのコネクションが確立され、「連続接続回数」が“５”にカウントアップされている（図４のステップＳ１１参照）。従って、ＯＡＦ受付時間（ｇ）経過後のＡＷＴ管理テーブル３２ａは、ドライブＡについては、対応する「連続接続回数」が「連続接続規定回数」と等しく“５”であるため、変更部３１ｂにより、ドライブＡの「連続接続回数」及び「ＡＷＴタイマ」がそれぞれ“０”にリセットされる（図５のステップＳ２１及びＳ２２参照）。
【０１１１】
そして、接続要求送信制御部３１ａは、受け付けたＯＡＦのＡＷＴの値が大きいドライブＢのＯＡＦをイニシエータ２に送信し、ドライブＢとイニシエータ２との間でコネクションが成立する（図６中（ｖ）参照）。
以上のように、エクスパンダ３が、ドライブ４ごとの特性情報（例えばＢＳ）に応じた回数に基づいて、ＡＷＴを擬似的にシフトアップさせることにより、ＢＳが小さいことによるストレージ装置１（ドライブ４）の性能の落ち込みを防ぐことができる。
【０１１２】
なお、図５及び図６を用いた説明において、エクスパンダ３−１に着目したが、エクスパンダ３−１に接続され、エクスパンダ３−１の接続要求送信制御部３１ａ、変更部３１ｂ、タイマ３１ｃ及びメモリ３２と同等の構成を備えるエクスパンダ３−２においても、同様である。
すなわち、エクスパンダ３−１の接続要求送信制御部３１ａは、複数のドライブ４−１〜４−３からそれぞれ受信した複数のＯＡＦに含まれるＡＷＴと、エクスパンダ３−２の接続要求送信制御部３１ａから受信したＯＡＦに含まれるＡＷＴとに基づいて一のＯＡＦを選び、選ばれたＯＡＦを、イニシエータ２に送信する。より具体的には、エクスパンダ３−１の接続要求送信制御部３１ａは、エクスパンダ３−２配下のドライブ（所定のドライブ）４が連続してコネクションを獲得している場合、エクスパンダ３−２の変更部３１ｂによってＡＷＴタイマが加算された（変更された）ＡＷＴを含むＯＡＦを受け取る。
【０１１３】
従って、イニシエータ２に直接接続されているエクスパンダ３−１は、配下のドライブ４からのＯＡＦと、配下のエクスパンダ３−２からの変更されたＡＷＴを含むＯＡＦと、を調停して、調停結果として選ばれたＯＡＦをイニシエータ２に送信するのである。
〔１−４−２〕イニシエータの動作例
次に、イニシエータ２（決定部２１ｂ）によるエクスパンダ３の連続接続規定回数の設定処理について、図７及び図８を参照しながら説明する。
【０１１４】
なお、上述の如く、システム起動時や活性増設時等にストレージ装置１のシステム構成が変化した場合、配下のエクスパンダ３に接続されたドライブ種の特性情報（例えばＢＳ）が予め分かっている場合には、決定部２１ｂにより、連続接続規定回数が算出され、エクスパンダ３の持つＡＷＴ管理テーブル３２ａの連続接続規定回数に設定される。
以下、配下のエクスパンダ３に接続されたドライブ種の一部、又は、全部の特性情報が予め分からない場合のイニシエータ２の処理について説明する。
【０１１５】
図７は、本実施形態に係るイニシエータ２による、システム起動時においてドライブ種の特性情報が分からない場合の連続接続規定回数の設定の動作例を説明するフローチャートである。また、図８は、本実施形態に係るイニシエータ２による、活性増設時においてドライブ種の特性情報が分からない場合の連続接続規定回数の設定の動作例を説明するフローチャートである。
【０１１６】
はじめに、システム起動時における、ドライブ種の特性情報が分からない場合の連続接続規定回数の設定の動作例を説明すると、イニシエータ２は、図７に示すように、搭載されているドライブ４の搭載位置番号とドライブ種とを、メモリ２２に記憶する（ステップＳ３１）。なお、この搭載位置番号は、エクスパンダ３を特定する番号とエクスパンダのＰｈｙＩＤとが対になったものとすることができる。例えば、エクスパンダ３−１のＰｈｙＩＤ＝“２”に搭載されているドライブの搭載位置番号は、“０１０２”である。
【０１１７】
次いで、イニシエータ２により、ドライブ種情報２２ａに登録されていないドライブ種があるか否かが判断される（ステップＳ３２）。
ドライブ種情報２２ａに登録されていないドライブ種がある場合（ステップＳ３２のＮｏルート）、取得部２１ａにより、未登録のドライブ４の中で搭載位置番号が最も小さいドライブ４が選択される（ステップＳ３３）。
【０１１８】
そして、取得部２１ａにより、選択したドライブ４の特定記憶領域がリードされ、リードしたデータが同じ領域にライトされることにより、ＢＳ値が取得される（ステップＳ３４）。
ＢＳ値を取得すると、取得部２１ａにより、ドライブ種情報２２ａにそのドライブ種とＢＳの値とが登録され（ステップＳ３５）、ドライブ種情報２２ａに登録されていないドライブ種が他にあるか否かが判断される（ステップＳ３２）。
【０１１９】
一方、ステップＳ３２において、ドライブ種情報２２ａに登録されていないドライブ種がない場合（ステップＳ３２のＮｏルート）、決定部２１ｂにより、現在配下のエクスパンダ３に搭載されているドライブ種の中で、最も大きいＢＳの値がＢＳｍａｘとして取得される（ステップＳ３６）。
そして、決定部２１ｂにより、配下のエクスパンダ３に搭載されているドライブ種ごとのＢＳ値でＢＳｍａｘが割られ、それぞれ対応する連続接続規定回数として算出される。また、その連続接続規定回数がドライブ種情報２２ａに設定（又は更新）される（ステップＳ３７）。なお、上述の如く、ＢＳ値でＢＳｍａｘを割り切れない場合には、小数点以下が切り捨てられ、又は、四捨五入される。
【０１２０】
最後に、決定部２１ｂにより、全てのドライブ種（ドライブ４）に対して、エクスパンダ３の持つＡＷＴ管理テーブル３２ａの連続接続規定回数の内容が、ドライブ種情報２２ａ（及び搭載位置番号）を参照して更新される（ステップＳ３８）。
次に、活性増設時における、ドライブ種の特性情報が分からない場合の連続接続規定回数の設定の動作例を説明すると、イニシエータ２は、図８に示すように、活性増設されたドライブ４の搭載位置番号とドライブ種とを、メモリ２２に記憶する（ステップＳ４１）。
【０１２１】
次いで、イニシエータ２により、活性増設されたドライブ４のドライブ種がドライブ種情報２２ａに登録されているか否かが判断される（ステップＳ４２）。
ドライブ種情報２２ａに登録されていない場合（ステップＳ４２のＮｏルート）、取得部２１ａにより、活性増設したドライブ４の特定記憶領域がリードされ、リードしたデータが同じ領域にライトされることにより、ＢＳ値が取得される（ステップＳ４３）。
【０１２２】
ＢＳ値を取得すると、決定部２１ｂにより、ドライブ種情報２２ａにそのドライブ種とＢＳの値とが登録され（ステップＳ４４）、増設されたドライブ４のＢＳの値が、現在ドライブ種情報２２ａに登録されているドライブ種の中で最も大きいか否かが判断される（ステップＳ４５）。
最も大きいと判断された場合（ステップＳ４５のＹｅｓルート）、決定部２１ｂにより、配下のエクスパンダ３に搭載されているドライブ種ごとのＢＳ値で、増設されたドライブ種のＢＳ値が割られ、それぞれ対応する連続接続規定回数として算出される。また、その連続接続規定回数がドライブ種情報２２ａに設定（又は更新）される（ステップＳ４６）。なお、上述の如く、ＢＳ値で増設されたドライブ種のＢＳ値を割り切れない場合には、小数点以下が切り捨てられ、又は、四捨五入される。
【０１２３】
最後に、決定部２１ｂにより、全てのドライブ種（ドライブ４）に対して、エクスパンダ３の持つＡＷＴ管理テーブル３２ａの連続接続規定回数の内容が、ドライブ種情報２２ａ（及び搭載位置番号）を参照して更新される（ステップＳ４７）。
一方、ステップＳ４５において、増設されたドライブ種のＢＳ値が現在ドライブ種情報２２ａに登録されているドライブ種の中で最大ではないと判断された場合（ステップＳ４５のＮｏルート）、決定部２１ｂにより、増設されたドライブ種のＢＳ値で、予め算出しておいたＢＳｍａｘが割られ、対応する連続接続規定回数として算出される。また、その連続接続規定回数がドライブ種情報２２ａに設定される（ステップＳ４８）。
【０１２４】
そして、決定部２１ｂにより、増設したドライブ種（ドライブ４）だけ、エクスパンダ３の持つＡＷＴ管理テーブル３２ａの連続接続規定回数の内容が、ドライブ種情報２２ａ（及び搭載位置番号）を参照して更新される（ステップＳ４９）。
なお、ステップＳ４２において、活性増設されたドライブ４がドライブ種情報２２ａに登録されている場合（ステップＳ４２のＹｅｓルート）、ステップＳ４９の処理に移行する。
【０１２５】
以上のように、イニシエータ２は、配下のエクスパンダ３に接続されたドライブ種の一部、又は、全部の特性情報が分からない場合においても、個々のドライブ種ごとに特性情報を取得して、連続接続規定回数を設定することができる。
上述のように、本実施形態に係るエクスパンダ３によれば、複数のドライブ４のうちの、あるドライブ４からのＯＡＦ（接続要求）を連続して受信し、且つ、所定の条件を満たす間、あるドライブ４から受信したＯＡＦに含まれるＡＷＴ（優先度情報）が、他のドライブ４から受信したＯＡＦに含まれるＡＷＴよりも高い優先度を示すように変更される。
【０１２６】
これにより、例えば、特性情報（例えばＢＳ）が小さいドライブ４のコネクション（接続）の優先度を上げることにより、性能差のある複数の記憶部が混在する場合のストレージ装置の性能低下を抑止することができる。
また本実施形態に係る機能をエクスパンダ３に集約することにより、ドライブ４のインタフェースの変更を行なわずに済み、既存のシステム構成に最低限（エクスパンダ３）の変更を加えるだけ済むため、コストの増加を抑止することができる。
【０１２７】
より具体的に、本実施形態に係るエクスパンダ３によれば、連続接続回数と連続接続規定回数とをドライブ４ごとに対応付けたＡＷＴ管理テーブル３２ａがメモリ３２に保持され、変更部３１ｂにより、所定のドライブ４に対応する連続接続回数が連続接続規定回数よりも少ない場合、所定の条件を満たすと判断される。すなわち、所定のドライブ４からのＯＡＦを連続して受信し、且つ、所定の条件を満たす間、当該ドライブ４の優先度が高くなるようにＡＷＴが変更される。
【０１２８】
従って、単にドライブ４の優先度が高くなるようにＡＷＴを変更するだけでなく、上述した所定の条件を満たす間、連続してコネクションを成立させることができ、ＢＳの小さいドライブ４の性能の沈み込みを解消することができる。
また、本実施形態に係るエクスパンダ３によれば、所定のドライブ４に係るＡＷＴを、接続要求送信制御部３１ａにおいて他のドライブ４に係るＡＷＴよりも高い優先度を示すように変更するＡＷＴタイマ（変更情報）を生成するタイマ３１ｃが備えられる。
【０１２９】
従って、コネクション（接続）の優先度を上げたい（例えばＢＳが小さい）ドライブ４のＯＡＦのＡＷＴの値をエクスパンダ３で例えばプラス側にシフトさせることができ、ドライブ種ごとに設定した回数連続してコネクションを成立させ、ドライブ４の性能の沈み込みを防ぐことができる。
なお、ストレージシステムにおいて、ＳＡＳプロトコルによる書込シーケンスでは、ドライブ４から送信されるＸＦＥＲ＿Ｒｄｙに含まれるＢＳ値が、予め各ドライブ４に同じＭＢＳ（Maximum Burst Size）値（例えば１６０Ｋバイト）を設定しているにも関わらず、小さい値（例えば３２Ｋバイト）となる場合がある。
【０１３０】
仮に、第１〜３のドライブ４が同一イニシエータ２の配下にあり、第１及び第２のドライブ４が、いずれもＢＳ値がＭＢＳ値と同じ１６０ＫバイトのＨＤＤであり、第３のドライブ４のＢＳ値がＭＢＳ値より小さい３２ＫバイトのＳＳＤである場合について考える。この場合、３つのドライブ４のコネクション設定が競合した場合、最大１６０Ｋバイト×２回分のアクセスの間、第３のドライブ４であるＳＳＤのアクセスが待たされることとなり、著しい性能低下影響を受けてしまう。
【０１３１】
本実施形態に係るエクスパンダ３によれば、上述した場合、つまり、ＢＳ値がＭＢＳ値よりも小さい値となってしまう場合においても、第３のドライブ４であるＳＳＤは、一度コネクションを獲得すると、連続接続規定回数（１６０Ｋバイト／３２Ｋバイト＝５）の間、連続してコネクションを確立することができるのである。
また、本実施形態に係るエクスパンダ３によれば、特性情報としてのＢＳ及び優先度情報としてのＡＷＴの２つの既存の設定値に基づいて、各ドライブ４の相対的な関係によって、コネクションを確立させるＯＡＦの選択に係る判断・制御を行なうことになる。
【０１３２】
従って、デバイスの増減によってバス上のデバイス構成が変わる度に、手動で優先値のチューニングのための設定変更を行なう必要がなく、ストレージ装置１のシステム構成が変更された場合でも、変更後の構成に合わせて、自動で柔軟に制御を行なうことができる。
さらに、本実施形態に係るエクスパンダ３によれば、メモリ３２のＡＷＴ管理テーブル３２ａに、コネクション判定フラグ（接続判定情報）が、さらにドライブ４ごとに対応付けて保持される。そして、変更部３１ｂにより、ＯＡＦを発行したドライブ４に対応するコネクション判定フラグが有効状態である場合、当該ＯＡＦを発行したドライブ４が所定のドライブ４である、つまり、ＡＷＴをプラス側にシフトさせるドライブ４であると判断される。
【０１３３】
従って、上述した所定の条件を満たしている間、直前にイニシエータ２との間でコネクションを確立したドライブ４に、確実にコネクションを確立させることができる。
また、本実施形態に係るイニシエータ２によれば、ドライブ４が持つ特性に応じた特性情報（ＢＳ）を、ドライブ４ごとに取得する取得部２１ａと、複数の特性情報に基づいて、ドライブ４ごとの連続接続規定回数を決定して、エクスパンダ３に送信する決定部２１ｂとが備えられる。
【０１３４】
これにより、エクスパンダ３は、ストレージ装置１のシステム構成に応じた各ドライブ４の連続接続規定回数を確実に取得することができる。
また、イニシエータ２には、特性情報と連続接続規定回数とをドライブ４ごとに対応付けたドライブ種情報（記憶部情報）２２ａがメモリ２２に保持され、ストレージ装置１のシステム構成が変更された場合、当該ドライブ種情報２２ａが更新される。
【０１３５】
従って、システム構成が変更された場合でも、変更後の構成に合わせて、自動で柔軟に設定値を更新することができる。
〔２〕変形例
上述した一実施形態においては、イニシエータ２（決定部２１ｂ）は、ドライブ４が持つ特性に応じた特性情報としてＢＳの情報を用いて、連続接続規定回数を決定したが、これに限定されるものではない。
【０１３６】
例えば、本変形例に係る特性情報として、ドライブ４が持つ特性に応じた性能情報を用いて連続接続規定回数を決定しても良い。つまり、本変形例においては、デバイス（ドライブ４）の性能差を考慮して、デバイスの優先度を決定することができる。
すなわち、一実施形態においては、ＢＳが小さいドライブ４の優先度（つまり、連続接続規定回数）を上げることにより、連続して転送するデータ量と、ＢＳが大きい他のドライブ４が一度のコネクションで転送するデータ量とを平準化していた。
【０１３７】
一方、本変形例においては、データ転送速度やシークタイムなど、性能が高いドライブ４の優先度（連続接続規定回数）を上げることにより、ストレージ装置１全体の性能を向上させることができる。
以下、図９を参照しながら、特性情報として性能情報を用いる場合を説明する。
図９は、本実施形態の変形例に係るイニシエータ２が保持するドライブ種情報２２ｂを示す図である。
【０１３８】
なお、イニシエータ２の取得部２１ａ、決定部２１ｂ及びドライブ種情報２２ｂ以外の構成については、上述した図１に例示する一実施形態に係るストレージ装置１と同一又は略同一のため、重複した説明は省略する。
以下、性能とは、データ転送速度とシークタイムとを表すものとする。
本変形例に係るイニシエータ２（決定部２１ｂ）は、ドライブ４の性能と相関のある、ＨＤＤやＳＳＤなどの「ドライブ種類」、及び、「ディスク（Ｄｉｓｃ）回転数」等のデバイス情報（性能情報）を判断材料として、優先度（連続接続規定回数）を決定する。
【０１３９】
例えば、図９に例示するように、取得部２１ａは、ストレージ装置１に搭載されたドライブ４について、性能情報に応じた分類を行なう。例えば、取得部２１ａは、「ＳＳＤ」、「７．２Ｋｒｐｍ（revolution per minute）のＨＤＤ」、及び、「１５Ｋｒｐｍ」のＨＤＤ」といった情報を取得する。
イニシエータ２（決定部２１ｂ）は、これらの性能情報を、総合的に判断し、性能が高い順に並べる。例えば、「ＳＳＤ」、「１５Ｋｒｐｍ」のＨＤＤ」、及び、「７．２ＫｒｐｍのＨＤＤ」の順となる。
【０１４０】
そして、決定部２１ｂは、これらの「ドライブ種類」及び「ディスク（Ｄｉｓｃ）回転数」の関係から、性能の高い順に連続接続規定回数が大きくなるように決定する。
一例として、図９に示すように、連続接続規定回数は、「ＳＳＤ」が３回、「１５ＫｒｐｍのＨＤＤ」が２回、「７．２ＫｒｐｍのＨＤＤ」が１回となるように決定される。
このように、特性情報としての性能情報に基づき、連続接続規定回数を決定することにより、一実施形態で述べたものと同様の効果を奏することができるほか、ＢＳが同じ値であっても、より性能情報の高いドライブ４の連続接続規定回数を上げることにより、ストレージ装置１全体の性能をさらに向上させることができる。
【０１４１】
なお、取得部２１ａは、特性情報として、一実施形態に係るＢＳ及び本変形例に係る性能情報の両方を取得しても良く、決定部２１ｂは、複数のドライブ４間で、ＢＳ及び性能情報を総合的に考慮して、各ドライブ４に対応する連続接続規定回数を決定しても良い。
〔３〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、かかる特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
【０１４２】
例えば、上述した一実施形態及び変形例に係るエクスパンダ３が備えるタイマ３１ｃとしての機能は、プロセッサ３１が備えず、他のデバイスにより実現されても良い。
また、ＡＷＴ管理テーブル３２ａには、ＡＷＴタイマが含まれなくても良く、変更部３１ｂは、タイマ３１ｃから直接ＡＷＴタイマ値を取得しても良い。
さらに、上述した一実施形態及び変形例においては、変更部３１ｂは、所定のドライブ４から受信したＯＡＦのＡＷＴに、タイマ３１ｃにより生成されたＡＷＴタイマ値を加算したが、これに限定されるものではない。
【０１４３】
例えば、変更部３１ｂは、所定のドライブ４から受信したＯＡＦのＡＷＴに所定値を加算しても良く、所定のドライブ４に係るＡＷＴを他のドライブ４から受信したＯＡＦのＡＷＴよりも高い優先度を示すように変更することができれば、この所定値は可変な値でも固定の値でも良い。この場合、タイマ３１ｃは、所定値を生成する生成部として機能し、ＡＷＴ管理テーブル３２ａのＡＷＴタイマには、タイマ３１ｃにより生成された所定値が設定される。
【０１４４】
また、上述した一実施形態及び変形例に係るストレージ装置１は、１つのイニシエータ２と、縦続接続（カスケード接続）された２つのエクスパンダ３とを備えているが、この構成に限定されるものではない。
例えば、冗長化された複数のイニシエータ２が備えられても良い。この場合、取得部２１ａ及び決定部２１ｂとしての機能、並びに、ドライブ種情報２２ａは、各イニシエータ２に備えられても良く、１つのイニシエータ２に代表して備えられても良い。
【０１４５】
さらに、３つ以上のエクスパンダ３が縦続接続されても良く、冗長化された複数系列のエクスパンダ３が備えられても良い。この場合においても、各エクスパンダ３は、配下のドライブ４からのＯＡＦと、下位のエクスパンダ３からのＡＷＴが変更されたＯＡＦとから一のＯＡＦを選び、選ばれたＯＡＦを上位のエクスパンダ３に送信することができるように構成される。
【０１４６】
なお、取得部２１ａ、決定部２１ｂ、接続要求送信制御部３１ａ、変更部３１ｂ及びタイマ３１ｃとしての機能を実現するためのプログラム（接続要求送信制御プログラム）は、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ等），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ＋Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋ＲＷ，ＨＤ  ＤＶＤ等），ブルーレイディスク，磁気ディスク，光ディスク，光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。また、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信回線を介してコンピュータに提供するようにしても良い。
【０１４７】
取得部２１ａ、決定部２１ｂ、接続要求送信制御部３１ａ、変更部３１ｂ及びタイマ３１ｃとしての機能を実現する際には、内部記憶装置（本実施形態ではメモリ２２又は／及びメモリ３２、又は、図示しないＲＯＭ）に格納されたプログラムがコンピュータのマイクロプロセッサ（本実施形態ではプロセッサ２１又は／及びプロセッサ３１）によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしても良い。
【０１４８】
なお、本実施形態において、コンピュータとは、ハードウェアとオペレーティングシステムとを含む概念であり、オペレーティングシステムの制御の下で動作するハードウェアを意味している。また、オペレーティングシステムが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、ＣＰＵ等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえており、本実施形態においては、ストレージ装置１（イニシエータ２又は／及びエクスパンダ３）がコンピュータとしての機能を有しているのである。
【０１４９】
〔４〕付記
以上の実施形態に関し、更に以下の付記を開示する。
（付記１）
複数の記憶部と、前記複数の記憶部からそれぞれ発行される接続要求に応じて各記憶部との接続を確立しアクセスを行なう制御部とを接続する接続装置であって、
受信した複数の接続要求のうち、前記接続に係る優先度を示す優先度情報に基づいて選ばれた接続要求を、前記制御部に送信する接続要求送信制御部と、
前記複数の記憶部のうちの、ある記憶部からの接続要求を連続して受信し、且つ、所定の条件を満たす間、前記ある記憶部から受信した接続要求に含まれる優先度情報を、他の記憶部から受信した接続要求に含まれる優先度情報よりも高い優先度を示すように変更する変更部と、を備えることを特徴とする、接続装置。
【０１５０】
（付記２）
前記記憶部と前記制御部との前記接続が連続して確立された回数を示す連続接続回数と、前記記憶部に前記接続を連続して確立させる回数の閾値を示す連続接続規定回数とを、前記記憶部ごとに対応付けた管理情報を保持する保持部をさらに備え、
前記変更部は、前記ある記憶部に対応する連続接続回数が連続接続規定回数よりも少ない場合、前記所定の条件を満たすと判断することを特徴とする、付記１記載の接続装置。
【０１５１】
（付記３）
前記ある記憶部に係る優先度情報を、前記接続要求送信制御部において前記他の記憶部に係る優先度情報よりも高い優先度を示すように変更する変更情報を生成する生成部をさらに備え、
前記変更部は、前記ある記憶部からの接続要求を連続して受信し、且つ、前記所定の条件を満たす間、前記生成部により生成された前記ある記憶部に対応する変更情報に基づいて、前記ある記憶部に係る優先度情報を変更することを特徴とする、付記２記載の接続装置。
【０１５２】
（付記４）
前記優先度情報は、前記記憶部が接続要求を発行してからの待ち時間を示す情報であり、
前記生成部は、前記ある記憶部に係る優先度情報を、前記接続要求送信制御部において前記他の記憶部に係る待ち時間よりも長い待ち時間を示すように変更する前記変更情報を生成することを特徴とする、付記３記載の接続装置。
【０１５３】
（付記５）
前記生成部は、前記複数の記憶部それぞれに対応したタイマにより構成され、前記記憶部ごとに、時間の経過に応じて値が変化する前記変更情報を生成することを特徴とする、付記３又は付記４記載の接続装置。
（付記６）
前記保持部は、前記管理情報に、対応する記憶部が、直前に前記制御部との間で前記接続が確立された記憶部であるか否かを示す接続判定情報を、さらに前記記憶部ごとに対応付けて保持するとともに、
前記変更部は、接続要求を発行した記憶部に対応する接続判定情報が、直前に前記制御部との間で前記接続が確立された記憶部であることを示す有効状態である場合、前記接続要求を発行した記憶部を前記ある記憶部と判断することを特徴とする、付記２〜５のいずれか１項記載の接続装置。
【０１５４】
（付記７）
前記変更部は、前記ある記憶部から接続要求を受信し、且つ、前記ある記憶部に対応する連続接続回数が連続接続規定回数と等しい場合、前記生成部に対して前記ある記憶部に対応する変更情報を初期化させるとともに、対応する連続接続回数を初期化することを特徴とする、付記６記載の接続装置。
【０１５５】
（付記８）
前記保持部は、前記管理情報に、前記記憶部が連続して接続要求を発行しているか否かを示す接続要求情報を、さらに前記記憶部ごとに対応付けて保持するとともに、
前記変更部は、前記接続要求を受信した記憶部に対応する接続判定情報が有効状態であるとともに、対応する接続要求情報が連続して接続要求を発行していることを示す有効状態であり、且つ、対応する連続接続回数が連続接続規定回数よりも少ない場合、前記記憶部に係る優先度情報を変更することを特徴とする、付記６又は付記７記載の接続装置。
【０１５６】
（付記９）
前記変更部は、前記ある記憶部から接続要求が発行されていない場合、対応する連続接続回数を初期化するとともに、対応する接続要求情報を無効状態に設定することを特徴とする、付記８記載の接続装置。
（付記１０）
前記変更部は、前記接続要求情報が無効状態である記憶部から接続要求を受信した場合、対応する接続要求情報を有効状態に設定するとともに、前記生成部に対して対応する変更情報を初期化させることを特徴とする、付記８又は付記９記載の接続装置。
【０１５７】
（付記１１）
前記接続要求送信制御部は、前記制御部により確立された前記記憶部との接続が終了する度に、所定の接続要求受付時間の間、前記複数の記憶部それぞれからの接続要求を受け付けるとともに、
前記変更部は、複数の連続した接続要求受付時間に亘って、前記ある記憶部から接続要求を受信し、且つ、前記ある記憶部に対応する連続接続回数が連続接続規定回数よりも少ない場合、前記ある記憶部に係る優先度情報を変更することを特徴とする、付記２〜１０のいずれか１項記載の接続装置。
【０１５８】
（付記１２）
前記連続接続規定回数は、前記記憶部が持つ特性に応じた特性情報に基づいて、予め設定されることを特徴とする、付記２〜１１のいずれか１項記載の接続装置。
（付記１３）
複数の記憶部と、
前記複数の記憶部からそれぞれ発行される接続要求に応じて各記憶部との接続を確立しアクセスを行なう制御部と、
前記複数の記憶部と前記制御部とを接続する第１接続部と、をそなえ、
前記第１接続部は、
受信した複数の接続要求のうち、前記接続に係る優先度を示す優先度情報に基づいて選ばれた接続要求を、前記制御部に送信する接続要求送信制御部と、
前記複数の記憶部のうちの、ある記憶部からの接続要求を連続して受信し、且つ、所定の条件を満たす間、前記ある記憶部から受信した接続要求に含まれる優先度情報を、他の記憶部から受信した接続要求に含まれる優先度情報よりも高い優先度を示すように変更する変更部と、を備えることを特徴とする、ストレージ装置。
【０１５９】
（付記１４）
前記第１接続部は、
前記記憶部と前記制御部との前記接続が連続して確立された回数を示す連続接続回数と、前記記憶部に前記接続を連続して確立させる回数の閾値を示す連続接続規定回数とを、前記記憶部ごとに対応付けた管理情報を保持する第１保持部をさらに備え、
前記変更部は、前記ある記憶部に対応する連続接続回数が連続接続規定回数よりも少ない場合、前記所定の条件を満たすと判断することを特徴とする、付記１３記載のストレージ装置。
【０１６０】
（付記１５）
前記制御部は、
前記記憶部が持つ特性に応じた特性情報を、前記記憶部ごとに取得する取得部と、
前記取得部が取得した複数の特性情報に基づいて、前記記憶部ごとの前記連続接続規定回数を決定して、前記第１接続部に送信する決定部と、を備え、
前記第１接続部は、前記決定部から送信された前記連続接続規定回数を、前記第１保持部に保持された前記管理情報に設定することを特徴とする、付記１４記載のストレージ装置。
【０１６１】
（付記１６）
前記制御部は、
前記取得部が取得した前記特性情報と、前記決定部が決定した前記連続接続規定回数とを、前記記憶部ごとに対応付けた記憶部情報を保持する第２保持部をさらに備え、
前記ストレージ装置のシステム構成が変化した場合、前記第２保持部に保持された前記記憶部情報を更新することを特徴とする、付記１５記載のストレージ装置。
【０１６２】
（付記１７）
前記取得部は、前記記憶部の特定記憶領域に対するデータの書き込みを行なうことにより、前記記憶部の特性情報を取得することを特徴とする、付記１５又は付記１６記載のストレージ装置。
（付記１８）
前記第１接続部に接続され、前記第１接続部の前記接続要求送信制御部及び前記変更部と同等の接続要求送信制御部及び変更部を備える第２接続部をさらに備え、
前記第１接続部の前記接続要求送信制御部は、前記複数の記憶部からそれぞれ受信した複数の接続要求に含まれる前記優先度情報と、前記第２接続部の接続要求送信制御部から受信した、前記複数の記憶部とは異なる複数の記憶部のうちのある記憶部からの接続要求に含まれる、前記第２接続部の変更部によって変更された優先度情報とに基づいて選ばれた接続要求を、前記制御部に送信することを特徴とする、付記１３〜１７のいずれか１項記載のストレージ装置。
【０１６３】
（付記１９）
複数の記憶部と、前記複数の記憶部からそれぞれ発行される接続要求に応じて各記憶部との接続を確立しアクセスを行なう制御部と、前記複数の記憶部と前記制御部とを接続する接続部と、を備えるストレージ装置における、接続要求送信制御方法であって、
前記接続部において、
受信した複数の接続要求のうち、前記接続に係る優先度を示す優先度情報に基づいて選ばれた接続要求を、前記制御部に送信し、
前記複数の記憶部のうちの、ある記憶部からの接続要求を連続して受信し、且つ、所定の条件を満たす間、前記ある記憶部から受信した接続要求に含まれる優先度情報を、他の記憶部から受信した接続要求に含まれる優先度情報よりも高い優先度を示すように変更する、ことを特徴とする、接続要求送信制御方法。
【０１６４】
（付記２０）
複数の記憶部と、前記複数の記憶部からそれぞれ発行される接続要求に応じて各記憶部との接続を確立しアクセスを行なう制御部と、前記複数の記憶部と前記制御部とを接続する接続部と、を備えるストレージ装置としてのコンピュータに、
前記接続部において、
受信した複数の接続要求のうち、前記接続に係る優先度を示す優先度情報に基づいて選ばれた接続要求を、前記制御部に送信し、
前記複数の記憶部のうちの、ある記憶部からの接続要求を連続して受信し、且つ、所定の条件を満たす間、前記ある記憶部から受信した接続要求に含まれる優先度情報を、他の記憶部から受信した接続要求に含まれる優先度情報よりも高い優先度を示すように変更する、処理を実行させることを特徴とする、接続要求送信制御プログラム。
【符号の説明】
【０１６５】
１，１００    ストレージ装置
１ａ，１００ａ    コントローラエンクロージャ
１ｂ，１００ｂ    ドライブエンクロージャ
２    イニシエータ（制御部）
２１    プロセッサ
２１ａ    取得部
２１ｂ    決定部
２２    メモリ（第２保持部）
２２ａ    ドライブ種情報（記憶部情報）
２００    イニシエータ
３    エクスパンダ（接続装置，接続部）
３−１    エクスパンダ（接続装置，接続部，第１接続部）
３−２    エクスパンダ（接続装置，接続部，第２接続部）
３１    プロセッサ
３１ａ    接続要求送信制御部
３１ｂ    変更部
３１ｃ    タイマ（生成部）
３２    メモリ（保持部，第１保持部）
３２ａ    ＡＷＴ管理テーブル（管理情報）
３００，３００−１，３００−２    エクスパンダ
４，４−１〜４−６    ドライブ（記憶部）
４００，４００−１〜４００−６    ドライブ
５，５００    ホストコンピュータ
【図１】
0005842639.tif 000002
【図２】
0005842639.tif 000003
【図３】
0005842639.tif 000004
【図４】
0005842639.tif 000005
【図５】
0005842639.tif 000006
【図６】
0005842639.tif 000007
【図７】
0005842639.tif 000008
【図８】
0005842639.tif 000009
【図９】
0005842639.tif 000010
【図１０】
0005842639.tif 000011
【図１１】
0005842639.tif 000012
【図１２】
0005842639.tif 000013
【図１３】
0005842639.tif 000014
【図１４】
0005842639.tif 000015
【図１５】
0005842639.tif 000016
【図１６】
0005842639.tif 000017