(57)【要約】【課題】Ｉｍｍｅｄｉａｔｅ  Ｄａｔａバッファの割当量をその時々の状況に応じ動的に決定・変更できるようにしてｉＳＣＳＩ機器の性能を向上させる。【解決手段】ネットワーク情報記録装置にログイン可能なホスト毎に優先値を管理して、各ホストの優先値に応じたＩｍｍｅｄｉａｔｅ  Ｄａｔａバッファの割り当てを行う。この優先値はデータ転送長やコマンド重要度により変動させる。定期的あるいは任意に優先値の再計算を行い、ホストに再ログイン要求を出してログインネゴシエーションを再実行することにより、バッファ割当量を動的に変更してその時々に最適なバッファ割当状態を構築する。【選択図】        図２
2004362459.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続され複数の上位装置からログイン可能な情報記録装置において、前記上位装置からライトコマンドとともに送られるライトデータを一時的に記憶するバッファと、前記情報記録装置にログインする上位装置に前記バッファ容量の一部を割り当てるバッファ割り当て手段とを備え、当該バッファ割り当て手段は、上位装置毎に管理される優先値に基づいて前記情報記録装置にログインする上位装置毎のバッファ割当量を決定することを特徴とするネットワーク情報記録装置。
【請求項２】
請求項１に記載の情報記録装置において、前記バッファ割り当て手段は、少なくとも上位装置毎に予め設定された初期優先値の情報と、所定の基準値の情報とが登録された記憶領域を備え、上位装置のログイン時に当該上位装置に係る初期優先値が前記基準値以上である場合にのみ前記バッファ容量の一部を割り当てることを特徴とするネットワーク情報記録装置。
【請求項３】
請求項１または２に記載の情報記録装置において、前記バッファ割り当て手段は各上位装置へのバッファ割当量を、当該上位装置の優先値／前記バッファを割り当てる総ての上位装置の優先値合計×前記情報記録装置のバッファ容量として算出することを特徴とするネットワーク情報記録装置。
【請求項４】
請求項３に記載の情報記録装置において、前記情報記録装置が、１の上位装置について算出されたバッファ割当量が所定値に満たない場合に、前記１の上位装置より優先値が低い他の上位装置へのバッファ割当量を所定条件に基づき開放して前記１の上位装置の割当量に充当するバッファ開放手段を備えることを特徴とするネットワーク情報記録装置。
【請求項５】
請求項２ないし４のいずれかに記載の情報記録装置において、前記情報記録装置が、前記バッファが割り当てられた各上位装置のログイン時からのデータ転送長および／またはコマンド重要度を蓄積する記憶領域と、これら上位装置のデータ転送長および／またはコマンド重要度と前記初期優先値とに基づいて各上位装置の優先値の再計算を行う優先値再計算手段とを備えるとともに、前記バッファ割り当て手段は、前記優先値再計算手段により再計算された優先値に基づいて前記バッファの再割り当てを行うことを特徴とするネットワーク情報記録装置。
【請求項６】
請求項５に記載の情報記録装置において、前記優先値再計算手段は各上位装置の優先値を、（当該上位装置の総転送長／前記バッファを割り当てる総ての上位装置の総転送長合計）＋（当該上位装置のコマンド重要度合計／前記バッファを割り当てる総ての上位装置のコマンド重要度合計）＋当該上位装置の初期優先値として再計算することを特徴とする情報記録装置。
【請求項７】
請求項４ないし６のいずれかに記載の情報記録装置において、前記バッファの開放または再割り当ては、前記上位装置に再ログインを要求し、当該上位装置による再ログイン時のネゴシエーションで前記バッファの割り当ての拒否または割当量の変更を行うことにより達成することを特徴とするネットワーク情報記録装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はネットワーク情報記録装置に関し、特に、ｉＳＣＳＩで規定されるＩｍｍｅｄｉａｔｅ  Ｄａｔａ転送方式に対応した情報記録装置に関する。
【０００２】
【従来の技術】
ＨＤＤやディスクアレイ装置などの入出力に使用されるＳＣＳＩインターフェースをＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ  ／  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）で行えるようにしたｉＳＣＳＩがＩＥＴＦ（Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ）により認められている。これはＳＣＳＩコマンドやレスポンスをＴＣＰパケットにカプセル化して、ＳＣＳＩトランスポートをＩＰネットワークによるトランスポートに置き換えるデータ転送方式である。
【０００３】
ｉＳＣＳＩによる転送方式のうち、Ｉｍｍｅｄｉａｔｅ  Ｄａｔａ転送方式と呼ばれるものがある（例えば、非特許文献１）。例えばディスクアレイ装置において、通常のデータ転送ではホストがライトコマンドを発行するとディスクアレイ装置がデータ転送要求をホストに返信し、その後ホストからのデータ転送が開始される。これに対しＩｍｍｅｄｉａｔｅ  Ｄａｔａ転送では、ディスクアレイ装置からのデータ要求を待つことなく、ホストがライトコマンドの発行とともにデータ送信を開始する。Ｉｍｍｅｄｉａｔｅ  Ｄａｔａ転送ではコマンドとデータが同時受信されるため、ディスクアレイ装置側のバッファに十分な空き容量が必要とされる。
【０００４】
ｉＳＣＳＩ方式においてＩｍｍｅｄｉａｔｅ  Ｄａｔａ転送の使用／不使用や、Ｉｍｍｅｄｉａｔｅ  Ｄａｔａ転送可能な最大データ長であるＦｉｒｓｔ  Ｂｕｒｓｔ  Ｌｅｎｇｔｈキーなどのパラメータはホストのログイン時に行われるネゴシエーションで決定される。このネゴシエーションにおいて、ホストとディスクアレイ装置の双方が”Ｉｍｍｅｄｉａｔｅ  Ｄａｔａ＝Ｙｅｓ”と宣言することによりＩｍｍｅｄｉａｔｅ  Ｄａｔａ転送が可能となる。また、Ｉｍｍｅｄｉａｔｅ  Ｄａｔａ転送の最大転送長はホストとディスクアレイ装置が互いに宣言するＦｉｒｓｔ  Ｂｕｒｓｔ  Ｌｅｎｇｔｈキーによって決定され、両者の宣言した値の小さい方が採用される。ホストの要求する転送長よりディスクアレイ装置が宣言する転送長が短かい場合、ホストはキー値を超えたＩｍｍｅｄｉａｔｅ  Ｄａｔａ転送を行うことができない。Ｉｍｍｅｄｉａｔｅ  Ｄａｔａ転送はログイン時に決定されるパラメータに従って行われ、途中でパラメータを自由に変更することはできない。
【０００５】
一方、マルチタスクオペレーションシステムによるメモリ制御において、メモリ残量が少ない場合に緊急度の低いタスクから優先順位を基にメモリを解放し、新しいタスクに割り当てるメモリ管理システムがある（例えば、特許文献１）。
【０００６】
【非特許文献１】
ＩＰ  Ｓｔｏｒａｇｅ  Ｗｏｒｋｉｎｇ  Ｇｒｏｕｐ、”ｄｒａｆｔ−ｉｔｅｆ−ｉｐｓ−ｉｓｃｓｉ−２０．ｔｅｘｔ”、［ｏｎｌｉｎｅ］、平成１５年１月１９日、インターネット＜ＵＲＬ：  ｈｔｔｐ：／／ｗｗｗ．ｈａｉｆａ．ｉｌ．ｉｂｍ．ｃｏｍ／ｓａｔｒａｎ／ｉｐｓ／ｄｒａｆｔ−ｉｅｔｆ−ｉｐｓ−ｉｓｃｓｉ−２０．ｔｘｔ＞
【特許文献１】
特開２０００−２９３３８６号公報
【０００７】
【発明が解決しようとする課題】
ｉＳＣＳＩはＩＰベースのＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）の構築を可能とする技術であり、ディスクアレイ装置はネットワーク上に設置され複数のホストがログイン可能となる。しかしながら装置が有するＩｍｍｅｄｉａｔｅ  Ｄａｔａバッファは有限であるため、装置にログインする総てのホストにＩｍｍｅｄｉａｔｅ  Ｄａｔａバッファを十分に確保することができないという問題が生ずる。より具体的には、総てのホストに対しＩｍｍｅｄｉａｔｅ  Ｄａｔａ転送を十分に利用可能とするためにはディスクアレイ装置にセッション数×最大ＩＯ数分のＩｍｍｅｄｉａｔｅ  Ｄａｔａバッファが必要となるが、装置側のバッファが有限であるためセッション数、ホスト数が増大すると総てのホストに対し必要量を確保することができなくなる。
【０００８】
例えば、ディスクアレイ装置が各ホストに１０メガバイトのＩｍｍｅｄｉａｔｅ  Ｄａｔａバッファを割り当てるよう構成されている場合、２００台のホストがログインしようとすると装置に必要なメモリ容量は合計２ギガバイトとなる。ディスクアレイ装置に搭載されているメモリが２ギガバイト以下である場合、ディスクアレイ装置は総てのログイン可能なホストにＩｍｍｅｄｉａｔｅ  Ｄａｔａバッファを割り当てることができない。
【０００９】
また、ログイン可能なホスト総てにＩｍｍｅｄｉａｔｅ  Ｄａｔａバッファを均等に割り当てようとすれば、各ホストに割り当てられるＩｍｍｅｄｉａｔｅ  Ｄａｔａバッファは、ディスクアレイ装置が有するＩｍｍｅｄｉａｔｅ  Ｄａｔａバッファの容量を、ログイン可能なホストの最大数で割った数となる。例えば１メガバイトのＩｍｍｅｄｉａｔｅ  Ｄａｔａバッファを有するディスクアレイ装置に２００台のホストがログイン可能な場合、各ホストが使用可能なＩｍｍｅｄｉａｔｅ  Ｄａｔａバッファは僅か５キロバイトとなる。
【００１０】
逆に、ログインしたホストに十分な量のＩｍｍｅｄｉａｔｅ  Ｄａｔａバッファを割り当てようとすれば、ある一定数のホストにしかＩｍｍｅｄｉａｔｅ  Ｄａｔａ転送を許可することができなくなる。例えば、ディスクアレイ装置の有するＩｍｍｅｄｉａｔｅ  Ｄａｔａバッファが１０メガバイトで、各ホストにＩｍｍｅｄｉａｔｅ  Ｄａｔａバッファが１メガバイト割り当てる場合、最初にログインした１０台のホストでＩｍｍｅｄｉａｔｅ  Ｄａｔａバッファの容量が足りなくなり、以降にログインするホストはＩｍｍｅｄｉａｔｅ  Ｄａｔａ転送を行うことができない。
【００１１】
本発明はこのような問題に鑑みなされたものであり、Ｉｍｍｅｄｉａｔｅ  Ｄａｔａバッファをその時々の状況に応じて適切に割り振ることによりディスクアレイ装置などのｉＳＣＳＩ機器ひいてはシステム全体の性能向上を図ることを目的とする。すなわち、Ｉｍｍｅｄｉａｔｅ  Ｄａｔａ転送方式に対応する情報記録装置において、ホスト毎に優先値を管理して装置のＩｍｍｅｄｉａｔｅ  Ｄａｔａバッファの有効利用を図ることにより、優先値の高いホストの性能を最大限生かすようにしたネットワーク情報記録装置を提供することを目的とする。
【００１２】
【課題を解決するための手段】
この目的を達成するために、本発明にかかるネットワーク情報記録装置は、ネットワークに接続され複数の上位装置からログイン可能な情報記録装置において、前記上位装置からライトコマンドとともに送られるライトデータを一時的に記憶するバッファと、前記情報記録装置にログインする上位装置に前記バッファ容量の一部を割り当てるバッファ割り当て手段とを備え、当該バッファ割り当て手段は、上位装置毎に管理される優先値に基づいて前記情報記録装置にログインする上位装置毎のバッファ割当量を決定することを特徴とする。
【００１３】
このように、情報記録装置にログインする上位装置毎に優先値を管理し、当該優先値に基づいてバッファ割当量を決定するようにすれば、優先的にコマンドを処理する必要がある上位装置へのバッファ割当量を多く、そうでない上位装置へのバッファ割当量を少なくすることができる。したがって、優先度の高い上位装置の性能を最大限生かすことが可能となり、バッファの有効活用によりシステム全体の処理性能を向上することができる。
【００１４】
この情報記録装置において、前記バッファ割り当て手段は、少なくとも上位装置毎に予め設定された初期優先値の情報と、所定の基準値の情報とが登録された記憶領域を備え、上位装置のログイン時に当該上位装置に係る初期優先値が前記基準値以上である場合にのみ前記バッファ容量の一部を割り当てるようにすることが望ましい。予め上位装置毎に初期優先値を定めておき、基準値以下の場合にはバッファを割り当てないようにすれば、優先度の低い上位装置がバッファを占有して後からログインする上位装置にバッファを割り当てられないという事態を回避することができる。
【００１５】
前記バッファ割り当て手段は各上位装置へのバッファ割当量を、当該上位装置の優先値／前記バッファを割り当てる総ての上位装置の優先値合計×前記情報記録装置のバッファ容量として算出することができる。これにより優先値の高い上位装置に多くのバッファを割り当てることができ、バッファの有効活用を達成することができる。
【００１６】
この場合、前記情報記録装置がさらに、１の上位装置について算出されたバッファ割当量が所定値に満たない場合に、前記１の上位装置より優先値が低い他の上位装置へのバッファ割当量を所定条件に基づき開放して前記１の上位装置の割当量に充当するバッファ開放手段を備えることが有効である。この構成により、例えば新規上位装置のログイン時にバッファの空き容量が少ない場合、優先値を比較して既にログインしている上位装置に割り当てられているバッファを新規ログイン装置に割り当てることができる。
【００１７】
さらに、本発明の情報記録装置は、前記バッファが割り当てられた各上位装置のログイン時からのデータ転送長および／またはコマンド重要度を蓄積する記憶領域と、これら上位装置のデータ転送長および／またはコマンド重要度と前記初期優先値とに基づいて各上位装置の優先値の再計算を行う優先値再計算手段とを備えるとともに、前記バッファ割り当て手段は、前記優先値再計算手段により再計算された優先値に基づいて前記バッファの再割り当てを行うことが望ましい。定期的あるいは任意のトリガをもって優先値の再計算を行い、再計算した優先値に基づいて各ホストのバッファ割当量を動的に変更することにより、その時々の状況に適したバッファ割当状態を実現することができる。
【００１８】
この場合、前記優先値再計算手段は各上位装置の優先値を、（当該上位装置の総転送長／前記バッファを割り当てる総ての上位装置の総転送長合計）＋（当該上位装置のコマンド重要度合計／前記バッファを割り当てる総ての上位装置のコマンド重要度合計）＋当該上位装置の初期優先値として再計算することが有効である。データ転送長が多くコマンド重要度の高い上位装置の優先値を増加させて多くのバッファを割り当てることができる。
【００１９】
上述したバッファの開放または再割り当ては、前記上位装置に再ログインを要求し、当該上位装置による再ログイン時のネゴシエーションで前記バッファの割り当ての拒否または割当量の変更を行うことにより達成することができる。
【００２０】
【発明の実施の形態】
本発明の実施の形態を、添付の図面を参照しながら以下に詳細に説明する。図１は本発明にかかるネットワーク情報記録装置の一実施例であるディスクアレイ装置の構成の概要を示すブロック図である。ディスクアレイ装置２はＩＰネットワーク１０に直接接続されたｉＳＣＳＩ機器であり、ネットワーク１０上のホスト１からの要求によってディスク７に対するデータの読み出しや書き込みを行う。ディスクアレイ装置１は、ホスト１とのやりとりを処理するホストアダプタ３と、ディスク７を制御するディスクアダプタ６を備える。ホストアダプタ３はＣＰＵとメモリを備え、ホスト１とディスクアレイ装置２間で行われるデータ転送やログイン受付などの処理を行う。ディスクアダプタ６はディスク７へのデータ書き込み／読み出しを行う。
【００２１】
図２は、ホストアダプタ３におけるＩｍｍｅｄｉａｔｅ  Ｄａｔａバッファ割当機構の構成を示すブロック図である。ホストアダプタ３は、ホスト１とのログイン／ログアウトやデータ転送等の処理を行うホスト通信手段３１と、ホスト１のログイン時にネゴシエーションを行ってＩｍｍｅｄｉａｔｅ  Ｄａｔａ転送などｉＳＣＳＩで規定される各種パラメータを決定するログイン判断手段３２と、Ｉｍｍｅｄｉａｔｅ  Ｄａｔａ転送においてライトコマンドと同時に送られる転送データをバッファするＩｍｍｅｄｉａｔｅ  Ｄａｔａバッファ３３と、優先値等の各種テーブルが登録されるデータ格納領域３４と、ホスト毎にＩｍｍｅｄｉａｔｅ  Ｄａｔａバッファ３３を割り当てるバッファ割当手段３５と、必要に応じてホストごとの優先値を再計算する優先値再計算手段３６と、所定の場合に優先値の低いホストの割当バッファを開放して他のホストの割当バッファに充当するバッファ開放手段３７とを備えている。
【００２２】
図３は、データ格納領域３４に登録されるテーブル例を示す図である。図３（ａ）に示す初期優先値テーブルには、ディスクアレイ装置２へのログインを許可されている総てのホストの識別情報（ホストＩＤ）と、各ホストの初期優先値が登録される。ホストＩＤには、例えばｉＳＣＳＩで規定されるＩｎｉｔｉａｔｏｒＮａｍｅパラメータやＩｎｉｔｉａｔｏｒＡｌｉａｓパラメータ、認証キー、ＴＣＰ／ＩＰのＩＰアドレス、ＭＡＣアドレスなど、ネットワーク通信で利用される識別子を用いることができる。初期優先値はティスクアレイ装置２の管理者が予め任意に設定する値であり、優先的にＩｍｍｅｄｉａｔｅ  Ｄａｔａバッファを割り当てたいホストには高い値を、処理を優先する必要があまりないホストには低い値を設定する。
【００２３】
図３（ｂ）に示すログインホスト優先値管理テーブルには、ディスクアレイ装置２にログインしているホストのＩＤ、初期優先値、ログイン以降の総転送長、ログイン以降のコマンド重要度合計、現在の優先値、割当バッファ量などが登録される。このログインホスト優先値管理テーブルは、優先値再計算手段３２による優先値の再計算や、バッファ割当量の変更時などに参照される。
【００２４】
各ホストの総転送長およびコマンド重要度合計はホスト通信手段３１により随時更新されるものとする。ここで、転送長はライトデータ転送完了時に転送し終えたデータ長を加算することにより求められる。コマンド重要度は、例えば、予めホストからのコマンドにかかるＩ／Ｏ毎に重み付けした値を設定しておき、Ｉ／Ｏを処理するごとにその値を加算して求めることができる。例えば、ユーザデータのライトコマンドには高い値を設定し、ディスクアレイ装置の状態監視や統計情報の操作などに用いられるコマンドには低い値を設定する。このように設定すると、頻繁にユーザデータを書き込むホストのコマンド重要度は高い値となり、装置２の稼働状況をチェックする管理端末のようなホストのコマンド重要度は低い値となる。なお、データ格納領域３４には初期優先値テーブルやログインホスト優先値管理テーブルの他に上述のＩ／Ｏごとの加算値テーブルや後述するログイン基準値などが登録されているものとする。
【００２５】
このように構成された実施例の動作について４図以降を参照しながら説明する。図３は、ホスト１のログイン時にＩｍｍｅｄｉａｔｅ  Ｄａｔａバッファを割り当てる工程を説明するフローチャートである。ホスト通信手段３１がホスト１からのログイン要求を受信すると（ステップＡ１）、ログイン判断手段３２がデータ格納領域３４の初期優先値テーブルを参照し、ログイン要求に含まれるホストＩＤをもとに当該ホストの初期優先値を抽出する（ステップＡ２）。
【００２６】
その後、ｉＳＣＳＩで規定されるＩｍｍｅｄｉａｔｅ  ＤａｔａパラメータやＦｉｒｓｔＢｕｒｓｔＬｅｎｇｔｈパラメータについてホスト１とネゴシエーションが開始される（ステップＡ３）。このとき、ホスト１がＩｍｍｅｄｉａｔｅ  Ｄａｔａ転送の利用を要求するパラメータを送信している場合（ステップＡ４）、ログイン判断手段３２はステップＡ２で抽出した初期優先値が所定の基準値以上であるか否かを判定する（ステップＡ５）。この基準値はディスクアレイ装置２の管理者により予め設定された値であり、管理者はホスト毎の初期優先値とともにＩｍｍｅｄｉａｔｅ  Ｄａｔａ転送を許可するボーダーとして基準値を定めておく。
【００２７】
ログインホストの優先値が基準値以下である場合にログイン判断手段３２はＩｍｍｅｄｉａｔｅ  Ｄａｔａ＝ＮｏすなわちＩｍｍｅｄｉａｔｅ  Ｄａｔａ転送を許可しない旨のログインレスポンスを返信する（ステップＡ１０）。この場合Ｉｍｍｅｄｉａｔｅ  Ｄａｔａ転送は無効となり、以降にそのホストとは通常の（Ｉｍｍｅｄｉａｔｅ  Ｄａｔａ転送を用いない）方式でデータ転送が行われる。
【００２８】
ステップＡ５の判断でログインホストの初期優先値が基準値以上である場合、優先値再計算手段３６が現在Ｉｍｍｅｄｉａｔｅ  Ｄａｔａ転送を許可しているログイン済みホストの優先値の再計算を行う（ステップＡ６）。この優先値の再計算処理を図５のフローチャートを用いて説明する。
【００２９】
図５に示すように、各ホストの優先値の再計算は、各ホストのライトコマンド割合とコマンド重要度割合を算出して、これらを初期優先値と合計することにより行われる。すなわち、まず「各ホストのライトコマンド割合＝当該ホストの総転送長／バッファを割り当てる全ホストの総転送長合計」を計算して各ホストのライトコマンド割合を求める（ステップＢ１）。次に、「各ホストのコマンド重要度割合＝当該ホストのコマンド重要度合計／バッファを割り当てる全ホストのコマンド重要度合計」を計算して各ホストのコマンド重要度割合を求める（ステップＢ２）。その後、「各ホストの優先値＝当該ホストのライトコマンド割合＋コマンド重要度割合＋初期優先値」を計算して各ホストの優先値を算出する（ステップＢ３）。優先値再計算手段３２は現在ログインしている総てのホストについて優先値の再計算を行い、記憶領域３４のログインホスト優先値管理テーブルの値を更新する（ステップＢ４）。
【００３０】
現在ログインしている各ホストの優先値の再計算が終了したら、バッファ割当手段３５によりＩｍｍｅｄｉａｔｅ  Ｄａｔａバッファ３３の割当処理が行われる（図４ステップＡ７）。この処理を図６のフローチャートを用いて説明する。
【００３１】
バッファ割当手段３５はログインホスト優先値管理テーブルを参照し、優先値に基づいて新規ログインホストの割当バッファ量を算出する（ステップＣ１）。割当バッファ量は、例えば「Ｉｍｍｅｄｉａｔｅ  Ｄａｔａバッファ割当量＝当該ホストの優先値／バッファを割り当てる全ホストの優先値合計×バッファ容量（ただし、割当量≦予め定めた最大値）」で算出する。次に、算出した割当量が装置のバッファ割り当て可能な最低値以上であるか確認する（ステップＣ２）。割り当てるＩｍｍｅｄｉａｔｅ  Ｄａｔａバッファの容量があまりに少なければ処理性能の向上は達成できないからである。この最低値は予め装置の処理性能やバッファ容量等に基づいて管理者が設定しておくものとする。ここで算出された割当量が基準値以下であれば、そのホストへのバッファへのＩｍｍｅｄｉａｔｅ  Ｄａｔａバッファの割り当ては行わない（ステップＣ１０へ）。
【００３２】
バッファ割当手段３５は、算出したバッファ割当量が最低値以上であればそのホストのＩｍｍｅｄｉａｔｅ  Ｄａｔａバッファ割当量の確保を試みる（ステップＣ３）。ここで、Ｉｍｍｅｄｉａｔｅ  Ｄａｔａバッファに十分な空きがあればバッファが確保され（ステップＣ４：ＹＥＳ）、Ｉｍｍｅｄｉａｔｅ  Ｄａｔａバッファの割当は成功となる（ステップＣ９へ）。
【００３３】
一方、その時点でＩｍｍｅｄｉａｔｅ  Ｄａｔａバッファが数台のホストに割り当てられており、空きバッファ容量が少なく新規ログインホストのために算出した割当量を確保できない場合がある（ステップＣ４：ＮＯ）。この場合、ディスクアレイ装置２は、新規ログインホストより優先値の低いホストのＩｍｍｅｄｉａｔｅ  Ｄａｔａバッファを開放して新規ログインホストに充当するという処理に移行する。バッファ割当手段３５は、現在ログインしているホストのうち新規ログインホストより優先値が低いホストを優先値の低い順から検索し、新規ログインホストのバッファ割当量が充足するまで割当バッファを振り替えるホストを抽出する（ステップＣ５）。この検索は、ログインホスト優先値管理テーブルを参照して優先値の低いホスト順に割当バッファ量を加算していくことにより行われる。
【００３４】
この検索が成功した場合、すなわち優先値の低い１以上のホストのバッファ割当量を開放することにより新規ログインホストの割当量が確保できることが判明した場合（ステップＣ６：ＹＥＳ）、バッファ開放手段３７が該当するホストに対し再ログイン要求動作を行う（ステップＣ７）。この再ログイン要求動作は、ｉＳＣＳＩで規定されるＡｓｙｎｃｈｒｏｎｏｕｓ  ＭｅｓｓａｇｅやＴＣＰ／ＩＰプロトコルのＦＩＮ、ＲＳＴによるコネクションの切断など、ホストからの再ログインが期待される動作を行うことにより実施する。再ログイン要求動作を受けたホストはディスクアレイ装置から一旦ログアウトして占有していたリソースを開放するため、開放されたＩｍｍｅｄｉａｔｅ  Ｄａｔａバッファを新規ログインホストに割り当てることができる（ステップＣ８）。このようにしてバッファが確保され、Ｉｍｍｅｄｉａｔｅ  Ｄａｔａバッファの割り当ては成功となる（ステップＣ９）。なお、ここで抽出され再ログイン要求を出したホストに対しては、再ログイン時のネゴシエーションでＩｍｍｅｄｉａｔｅ  Ｄａｔａ＝Ｎｏを宣言し、Ｉｍｍｅｄｉａｔｅ  Ｄａｔａ転送を不許可とする。
【００３５】
一方、ステップＣ６においてホストの検索が失敗した場合、すなわち新規ログインホストより優先値の低いホストの割当バッファを総て開放しても必要な割当量を確保できない場合、そのホストのバッファ確保は不可能としてＩｍｍｅｄｉａｔｅ  Ｄａｔａバッファの割り当ては行わない（ステップＣ１０）。図４のフローチャートに説明を戻すと、Ｉｍｍｅｄｉａｔｅ  Ｄａｔａバッファの割り当てが成功した場合はホストにＩｍｍｅｄｉａｔｅ  Ｄａｔａ＝Ｙｅｓ（図４ステップＡ９）、失敗した場合はＩｍｍｅｄｉａｔｅ  Ｄａｔａ＝Ｎｏ（ステップＡ１０）のログインレスポンスを送信する。以上のようにディスクアレイ装置を制御すれば、優先度の高いホストに優先的にＩｍｍｅｄｉａｔｅ  Ｄａｔａバッファを割り当てることができ、Ｉｍｍｅｄｉａｔｅ  Ｄａｔａバッファの有効活用ひいてはシステム全体の性能向上を達成することができる。
【００３６】
なお、図４に示すフローチャートにおいてステップＡ６で優先値の再計算を行っているが、新規ログイン時の割り当て処理においてこの行程は必須ではなく、ステップＡ５からステップＡ７へ移るようにしてもよい。また、図５に示す優先値の再計算の方法は上述したものに限らず他の算出方法であってもよい。さらに、図６においてステップＣ５以降で他ホストからのＩｍｍｅｄｉａｔｅ  Ｄａｔａバッファの転用を行っているが、これも必須ではなく新規ログインホストへのＩｍｍｅｄｉａｔｅ  Ｄａｔａバッファの空き容量が足りない場合には割り当て失敗と判断するようにしてもよい。
【００３７】
次に、図７を用いてディスクアレイ装置２におけるＩｍｍｅｄｉａｔｅ  Ｄａｔａバッファの動的再割当処理を説明する。本発明にかかるディスクアレイ装置２は、定期的あるいは任意のトリガを以てホストの優先値の再計算を行い、その値に基づきログインしている各ホストへＩｍｍｅｄｉａｔｅ  Ｄａｔａバッファの再割り当てを行う。この動的再割り当てを行うトリガとしては、管理者の操作・設定、新規ホストのログイン検出、ホストのログアウト検出などを用いることができる。また、Ｉｍｍｅｄｉａｔｅ  Ｄａｔａバッファの利用状況を監視し、あるホストの使用頻度が一定以上になったら再割り当てを行うようにしてもよい。
【００３８】
図７に示すように、Ｉｍｍｅｄｉａｔｅ  Ｄａｔａバッファの再割り当てではまずログインホストの優先値の再計算を行う（ステップＤ１）。この再計算は優先値再計算手段３６により図５ステップＢ１〜Ｂ３の行程と同様に行われる。再計算でいずれのホストの優先値にも変動がない場合、割当量を変更する必要はないとして処理を終了する（ステップＤ２：ＮＯ）。優先値の変動があった場合、Ｉｍｍｅｄｉａｔｅ  Ｄａｔａバッファ割当手段３５がＩｍｍｅｄｉａｔｅ  Ｄａｔａバッファの再割当を行う（ステップＤ３）。これは、図６ステップＣ１〜４と同様に「Ｉｍｍｅｄｉａｔｅ  Ｄａｔａバッファ割当量＝当該ホストの優先値／全ホストの優先値合計×バッファ容量（ただし、割当量≦予め定めた最大値）」を計算して各ホストのバッファ割当量を求め（ステップＤ３）、算出した割当量が最低値以上であるかを判別する（ステップＤ４）。
【００３９】
バッファ割当手段３５は、再計算した数値が最低値以上であれば図３（ｂ）に示す優先値管理テーブルの割当バッファ量を更新するとともに、そのホストに対し再ログイン要求動作を行う（ステップＳ５）。これを受けたホストによる再ログイン時のネゴシエーションで、再計算したバッファ割当量をパラメータ（ＦｉｒｓｔＢｕｒｓｔＬｅｎｇｔｈキー値）として決定する。
【００４０】
一方、バッファ割当手段３５は、算出した割当量が最低値以下となってしまったホストに対して再ログイン要求動作を行い（ステップＤ６）、当該ホストの再ログイン時のネゴシエーションでＩｍｍｅｄｉａｔｅ  Ｄａｔａバッファの利用を不許可とする。このようにＩｍｍｅｄｉａｔｅ  Ｄａｔａバッファの再割り当てを行うことにより、その時々の状況に最も適したバッファ割り当て状態を実現することができる。
【００４１】
なお、図４に示す新規ログインホストへのバッファ割当処理においてステップＡ６で各ホストの優先値を再計算しているが、ここで再計算された優先値に基づいて各ホストのバッファ割当量を変更するようにしてもよい。
【００４２】
本発明の好適な実施例について説明したが、本発明は上記実施例に限られるものではなく、他の様々な実施例として構成することができる。例えば、本発明にかかるネットワーク情報記録装置はディスクアレイ装置に限らず他の装置であってもよい。また、上記実施例ではｉＳＣＳＩ方式のＩｍｍｅｄｉａｔｅ  Ｄａｔａ転送について記載しているが、本発明はライトコマンド発行後にコマンド受信側からのデータ転送要求を待たずにデータ転送が行われる転送方法を採用するプロトコルを用いる装置であれば幅広く適用することができる。また、実施例では再ログイン時にＩｍｍｅｄｉａｔｅ  Ｄａｔａ転送の許可／不許可やＦｉｒｓｔＢｕｒｓｔＬｅｎｇｔｈキー値を変更するようにしたが、例えばＭａｘＣｏｎｎｅｃｔｉｏｎｓなどログイン時のネゴシエーションでしか設定できない他のｉＳＣＳＩパラメータを変更する構成としてもよい。
【００４３】
【発明の効果】
以上に詳細に説明したように、本発明にかかるネットワーク情報記録装置は、ログインするホスト毎に優先値を管理し、当該優先値に基づいてバッファ割当量を決定する。これにより、優先的にコマンドを処理する必要があるホストへのバッファ割当量を多く、そうでないホストへのバッファ割当量を少なくすることができ、優先度の高いホストの性能を最大限生かしてシステム全体の処理性能を向上することができる。
【００４４】
また、定期的あるいは任意のトリガをもって優先値の再計算を行うとともに、ホストに再ログイン要求を出してログインネゴシエーションを再実行することによりパラメータを変更可能に構成しているので、再計算した優先値に基づいてバッファ割当量を動的に変更することができ、その時々の状況に最適なバッファ割当状態を構築することができる。
【図面の簡単な説明】
【図１】本発明の実施形態に係るディスクアレイ装置の構成を示す概略ブロック図である。
【図２】図１に示すホストアダプタの構成を示すブロック図である。
【図３】図２に示す記憶領域に登録されるテーブル例を示す図である。
【図４】ディスクアレイ装置のログイン判断処理を説明するフローチャートである。
【図５】ディスクアレイ装置の優先値再計算処理を説明するフローチャートである。
【図６】ディスクアレイ装置のバッファ割当処理を説明するフローチャートである。
【図７】Ｉｍｍｅｄｉａｔｅ  Ｄａｔａバッファ割当量の動的変更処理を説明するフローチャートである。
【符号の説明】
１    ホスト
２    ディスクアレイ装置
３    ホストアダプタ
３１  ホスト通信手段
３２  ログイン判断手段
３３  Ｉｍｍｅｄｉａｔｅ  Ｄａｔａバッファ
３４  データ格納領域
３５  バッファ割当手段
３７  バッファ開放手段
【図１】
2004362459.tif 000003
【図２】
2004362459.tif 000004
【図３】
2004362459.tif 000005
【図４】
2004362459.tif 000006
【図５】
2004362459.tif 000007
【図６】
2004362459.tif 000008
【図７】
2004362459.tif 000009