(57)【要約】【課題】  Delayed ACKが働くホスト１からディスクアレイ装置２にRead Commandを発行したときのコマンド処理時間を短縮する。そして、ホスト１の立ち上げ処理やディスク認識処理やバッチ処理などを高速化する。【解決手段】  ホストアダプタ３は、ホスト１へ送信しているＰＤＵ数をカウントして１つのＰＤＵだけを送信しているときに、Nop-In Command PDUホスト１へを送信することによりＡＣＫ信号の応答を早める。また、複数のＰＤＵを送信しているときは、Nop-InCommand PDUの送信を抑止することにより、ＴＣＰ／ＩＰネットワーク１４の負荷を軽減する。【選択図】  図１
2005174097.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワークを介してホストコンピュータに接続された周辺機器に用いられるホストインタフェース制御装置であって、
前記ホストコンピュータは、前記周辺機器からコマンドを受信してから一定時間が経過するか又は前記周辺機器から受信したコマンドが一定数に達するかのどちらか一方が成り立つまで、コマンドに対する応答信号の送出を遅らせる、
このような規定を有する規格に従ってコマンド及びデータを送受信するホストインタフェース制御装置において、
前記ホストコンピュータへ必要なコマンドを送信した後、前記応答信号の送出を早めるために前記ホストコンピュータへ何らかのコマンドを送信する応答信号催促手段を、
備えたことを特徴とするホストインタフェース制御装置。
【請求項２】
前記応答信号催促手段は、前記ホストコンピュータへ送信したコマンド数をカウントする送信コマンド数カウント手段と、前記ホストコンピュータから前記応答信号を受信したら前記コマンド数を初期値に戻す応答信号受信手段と、前記コマンド数が前記一定数未満であれば前記何らかのコマンドを前記ホストコンピュータへ送信するコマンド送信手段とを備えた、
請求項１記載のホストインタフェース制御装置。
【請求項３】
前記応答信号催促手段を動作させるか否かを決める制御信号を入力し、この制御信号に基づき前記応答信号催促手段を制御する制御手段を更に備えた、
請求項１又は２記載のホストインタフェース制御装置。
【請求項４】
前記周辺機器がストレージ装置であり、前記通信ネットワークがＴＣＰ／ＩＰネットワークであり、前記規格がｉＳＣＳＩであり、前記規定がDelayed ACKであり、前記必要なコマンドがData-In
PDUであり、前記何らかのコマンドがNop-In Command PDUである、
請求項１乃至３のいずれかに記載のホストインタフェース制御装置。
【請求項５】
前記Nop-In
Command PDUに代えてData-In PDUとした、
請求項４記載のホストインタフェース制御装置。
【請求項６】
前記ストレージ装置がディスクアレイ装置である、
請求項４又は５記載のホストインタフェース制御装置。
【請求項７】
通信ネットワークを介してホストコンピュータに接続された周辺機器に用いられるホストインタフェース制御方法であって、
前記ホストコンピュータは、前記周辺機器からコマンドを受信してから一定時間が経過するか又は前記周辺機器から受信したコマンドが一定数に達するかのどちらか一方が成り立つまで、コマンドに対する応答信号の送出を遅らせる、
このような規定を有する規格に従ってコマンド及びデータを送受信するホストインタフェース制御方法において、
前記ホストコンピュータへ必要なコマンドを送信した後、前記応答信号の送出を早めるために前記ホストコンピュータへ何らかのコマンドを送信する応答信号催促ステップを、
備えたことを特徴とするホストインタフェース制御方法。
【請求項８】
前記応答信号催促ステップは、前記ホストコンピュータへ送信したコマンド数をカウントする送信コマンド数カウントステップと、前記ホストコンピュータから前記応答信号を受信したら前記コマンド数を初期値に戻す応答信号受信ステップと、前記コマンド数が前記一定数未満であれば前記何らかのコマンドを前記ホストコンピュータへ送信するコマンド送信ステップとを備えた、
請求項７記載のホストインタフェース制御方法。
【請求項９】
前記応答信号催促ステップを動作させるか否かを決める制御信号を入力し、この制御信号に基づき前記応答信号催促ステップを制御する制御ステップを更に備えた、
請求項７又は８記載のホストインタフェース制御方法。
【請求項１０】
前記周辺機器がストレージ装置であり、前記通信ネットワークがＴＣＰ／ＩＰネットワークであり、前記規格がｉＳＣＳＩであり、前記規定がDelayed ACKであり、前記必要なコマンドがData-In
PDUであり、前記何らかのコマンドがNop-In Command PDUである、
請求項７乃至９のいずれかに記載のホストインタフェース制御方法。
【請求項１１】
前記Nop-In
Command PDUに代えてData-In PDUとした、
請求項１０記載のホストインタフェース制御方法。
【請求項１２】
前記ストレージ装置がディスクアレイ装置である、
請求項１０又は１１記載のホストインタフェース制御方法。
【請求項１３】
通信ネットワークを介してホストコンピュータに接続された周辺機器に用いられるホストインタフェース制御プログラムであって、
前記ホストコンピュータは、前記周辺機器からコマンドを受信してから一定時間が経過するか又は前記周辺機器から受信したコマンドが一定数に達するかのどちらか一方が成り立つまで、コマンドに対する応答信号の送出を遅らせる、
このような規定を有する規格に従ってコマンド及びデータを送受信するホストインタフェース制御プログラムにおいて、
前記ホストコンピュータへ必要なコマンドを送信した後、前記応答信号の送出を早めるために前記ホストコンピュータへ何らかのコマンドを送信する応答信号催促手段として、
前記周辺機器に内蔵されたコンピュータを機能させるためのホストインタフェース制御プログラム。
【請求項１４】
前記応答信号催促手段は、前記ホストコンピュータへ送信したコマンド数をカウントする送信コマンド数カウント手段と、前記ホストコンピュータから前記応答信号を受信したら前記コマンド数を初期値に戻す応答信号受信手段と、前記コマンド数が前記一定数未満であれば前記何らかのコマンドを前記ホストコンピュータへ送信するコマンド送信手段とを備えた、
請求項１３記載のホストインタフェース制御プログラム。
【請求項１５】
前記応答信号催促手段を動作させるか否かを決める制御信号を入力し、この制御信号に基づき前記応答信号催促手段を制御する制御手段として、
前記周辺機器に内蔵されたコンピュータを更に機能させるための請求項１３又は１４記載のホストインタフェース制御プログラム。
【請求項１６】
前記周辺機器がストレージ装置であり、前記通信ネットワークがＴＣＰ／ＩＰネットワークであり、前記規格がｉＳＣＳＩであり、前記規定がDelayed ACKであり、前記必要なコマンドがData-In
PDUであり、前記何らかのコマンドがNop-In Command PDUである、
請求項１３乃至１５のいずれかに記載のホストインタフェース制御プログラム。
【請求項１７】
前記Nop-In
Command PDUに代えてData-In PDUとした、
請求項１６記載のホストインタフェース制御プログラム。
【請求項１８】
前記ストレージ装置がディスクアレイ装置である、
請求項１６又は１７記載のホストインタフェース制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信ネットワークを介してホストコンピュータ（以下単に「ホスト」という。）に接続された周辺機器に用いられるホストインタフェース制御装置等に関する。
【背景技術】
【０００２】
現在、ディスクアレイ装置などのストレージ装置をインターネットに直接接続して運用を行うことができるｉＳＣＳＩ（「あいすかじー」と読む。）プロトコルが、米国ＩＥＴＦ（Internet Engineering Task Force）によって提案されている。ｉＳＣＳＩプロトコルとは、ＩＥＴＦがＲＦＣ（Request
For Comments）７９３及びＲＦＣ１１２２で規定しているＴＣＰ（Transmission Control Protocol）上でＳＣＳＩ処理を行うことができるようにしたものである（例えば特許文献１）。
【０００３】
ここで、ｉＳＣＳＩにおけるコマンド処理のインタフェースの流れについて図面を用いて説明する。なお、ｉＳＣＳＩにおけるコマンドは、ＰＤＵ（Protocol Data Unit）という単位で送受信され、その応答としてＴＣＰのＡＣＫ信号が用いられる。
【０００４】
図９は、ホストからディスクアレイ装置に対してＷｒｉｔｅコマンドを発行したときのインタフェースの流れを示したものである。
【０００５】
まず、ホストがWrite
Command PDUを発行すると（ステップ９０１）、ディスクアレイ装置はコマンドを受信したことを示すＡＣＫ信号をホストに返す（ステップ９０２）。続いて、ディスクアレイ装置は、受信バッファの確保など書き込みデータを受け取るための準備をし、準備ができたことを示すR2T
PDUをホストに送信し（ステップ９０３）、ホストからのＡＣＫ信号を待つ（ステップ９０４）。一方、ホストはディスクアレイ装置からR2T PDUを受信することにより、書き込みデータを含んだData-Out
PDUを送信する（ステップ９０５）。これにより、ディスクアレイ装置は、ＡＣＫ信号をホストに送信して（ステップ９０６）、キャッシュメモリや磁気ディスク装置などの記憶媒体に受信データを書き込む。最後に、ディスクアレイ装置はコマンドの実行結果を示すResponse
PDUをホストに送信（ステップ９０７）し、ホストはＡＣＫ信号を送信する（ステップ９０８）。
【０００６】
ここで、ホストがディスクアレイ装置に対してWrite Command PDUを発行してから（ステップ９０１）、Response PDUを受信するまで（ステップ９０７）の時間は、Ｗｒｉｔｅコマンド処理時間９０９となる。
【０００７】
同様に図１０は、ホストからディスクアレイ装置に対してＲｅａｄコマンドを発行したときのインタフェースの流れを示したものである。
【０００８】
まず、ホストがRead
Command PDUを発行すると（ステップ１０１）、ディスクアレイ装置はコマンドを受信したことを示すＡＣＫ信号をホストに返す（ステップ１０２）。続いて、ディスクアレイ装置は、キャッシュメモリや磁気ディスク装置などの記憶媒体からホストへ送るデータを読み出し、Data-In
PDUを作成してホストに送信する（ステップ１０３）。一方、ホストは、ディスクアレイ装置からデータを受信すると、ディスクアレイ装置にＡＣＫ信号を返す（ステップ１０４）。最後に、ディスクアレイ装置はコマンドの実行結果を示すResponse
PDUをホストに送信し（ステップ１０５）、ホストはその応答を示すＡＣＫ信号をディスクアレイ装置に対して送信する（ステップ１０６）。
【０００９】
ここで、ホストがディスクアレイ装置に対してRead Command PDUを発行してから（ステップ１０１）Response PDUを受信するまで（ステップ１０５）の時間は、ホスト見えのＲｅａｄコマンド処理時間１０７となる。
【００１０】
また、ＲＦＣ１１２２にはＡＣＫ信号の応答についての規定がある。これは、Delayed ACKと呼ばれているもので、ネットワークの負荷を軽減するためにＡＣＫ信号の送信を遅らせるものである。規定では、最大で０．５秒間又は２つ以上のパケットを受信するまで、ＡＣＫ信号の送出を遅らせることになっている。
【００１１】
【特許文献１】特開２００３−１６２４９５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、Delayed
ACKに従っているホストをディスクアレイ装置に接続してｉＳＣＳＩを動作させた場合には、次のような問題が生じてしまう。
【００１３】
Ｒｅａｄコマンド処理で、ホストがDelayed ACKの動作を働かせてしまうと、コマンド処理時間（図１０の１０７）が増大してしまい、ディスクアレイ装置が本来持っている性能をフルに発揮できなくなるといった問題が生じてしまう。
【００１４】
その理由は、ディスクアレイ装置がData-In PDUをホストに送信してホストからのＡＣＫ信号を待つ場合（図１０の１０８）、ホストからコマンドが１つしか発行されていないときは、Delayed
ACKの働きによってＡＣＫ応答が最大０．５秒間遅延することによる。
【００１５】
また、Ｗｉｎｄｏｗｓシステムをホストとしてディスクアレイ装置に接続した場合、上記の問題によって、シーケンシャルにＩ／Ｏ処理を実行する、ホストの立ち上げ処理、ディスクの認識処理、アプリケーションによるバッチ処理、などの処理時間が増大してしまう。
【００１６】
そこで、本発明の目的は、周辺機器からコマンドを送信してから一定時間が経過する又は周辺機器から送信したコマンドが一定数に達するのどちらか一方が成り立たなければ、ホストからコマンドに対する応答信号が得られない、という規定を有する規格の範囲内において、ホストからの応答信号を速やかに得ることができる、ホストインタフェース制御装置等を提供することにある。
【００１７】
また、規格がｉＳＣＳＩであり周辺機器がディスクアレイ装置である場合に、本発明の目的は次のように言い換えることができる。第１の目的は、Delayed ACKが動作するホストをディスクアレイ装置に接続したときにおいて、ホストから１つのＲｅａｄコマンドだけを発行した場合でもコマンドの処理時間を低下させることなくコマンド処理が行えるようにすることにある。第２の目的は、Delayed
ACKに対応しているホストをディスクアレイ装置に接続したときにおいて、ホストから複数のコマンドを発行した場合でもネットワークの負荷を増大させることなくコマンド処理ができるようにすることにある。第３の目的は、Delayed
ACKに対応しているホストをディスクアレイ装置に接続しても、ホストの立ち上げ処理、ディスクの認識処理、アプリケーションによるバッチ処理、などの処理時間が増大しないようにすることにある。
【課題を解決するための手段】
【００１８】
本発明に係るホストインタフェース制御装置（請求項１）は、通信ネットワークを介してホストに接続された周辺機器に用いられ、次のような規定を有する規格に従ってコマンド及びデータを送受信する。その規定とは、「ホストは、周辺機器からコマンドを受信してから一定時間が経過するか又は周辺機器から受信したコマンドが一定数に達するかのどちらか一方が成り立つまで、コマンドに対する応答信号の送出を遅らせる。」というものである。そして、本発明の特徴は、ホストへ必要なコマンドを送信した後、応答信号の送出を早めるためにホストへ何らかのコマンドを送信する応答信号催促手段を備えたことにある。
【００１９】
周辺機器からホストへ必要なコマンドを送信した後に更に何らかのコマンドをホストへ送信すると、周辺機器から受信したコマンドが一定数に達することにより、ホストは周辺機器へ応答信号を返す。すなわち、何らかのコマンドをホストへ続けて送信することにより、ホストからの応答信号が速やかに得られるので、周辺機器の本来の処理速度が達成される。
【００２０】
請求項２記載のホストインタフェース制御装置は、請求項１記載のホストインタフェース制御装置において応答信号催促手段が次のような複数の手段を備えている。すなわち、応答信号催促手段は、ホストへ送信したコマンド数をカウントする送信コマンド数カウント手段と、ホストから応答信号を受信したらコマンド数を初期値に戻す応答信号受信手段と、コマンド数が一定数未満であれば何らかのコマンドをホストへ送信するコマンド送信手段とを備えている。
【００２１】
ホストへ送信したコマンド数が一定数に達しているにもかかわらず、続いて何らかのコマンドを送信することは、じきに応答信号が得られるから無意味であるし、通信ネットワークの負荷を増大させることにもなる。そこで、ホストへ送信したコマンド数をカウントし、このコマンド数が一定数未満である場合に限り、何らかのコマンドをホストへ送信する。
【００２２】
請求項３記載のホストインタフェース制御装置は、請求項１又は２記載のホストインタフェース制御装置において、応答信号催促手段を動作させるか否かを決める制御信号を入力し、この制御信号に基づき応答信号催促手段を制御する制御手段を更に備えた、というものである。
【００２３】
例えば、通信ネットワークの負荷が大きいときに、応答信号催促手段が動作するとますます当該負荷が増大してしまう。このような場合は、応答信号催促手段を動作させないことが望ましい。そこで、応答信号催促手段を動作させるか否かを、制御信号によって決める。制御信号を出力する装置は、ホストでも良いし、周辺機器自体でも良いし、通信ネットワークの負荷を制御する装置などでも良い。
【００２４】
請求項４記載のホストインタフェース制御装置は、請求項１又は２記載のホストインタフェース制御装置において、周辺機器がストレージ装置であり、通信ネットワークがＴＣＰ／ＩＰネットワークであり、規格がｉＳＣＳＩであり、規定がDelayed ACKであり、必要なコマンドがData-In
PDUであり、何らかのコマンドがNop-In Command PDUである、というものである。
【００２５】
この場合、Nop-In Command PDUに代えてData-In PDUとしても良く（請求項５）、ストレージ装置がディスクアレイ装置であるとしても良い（請求項6）。
【００２６】
また、本発明に係るホストインタフェース制御方法は上記各手段を各ステップに置き換えたものであり（請求項７〜１２）、本発明に係るホストインタフェース制御プログラムは周辺機器に内蔵されたコンピュータを上記各手段として機能させるものである（請求項１３〜１８）。
【００２７】
規格がｉＳＣＳＩであり周辺機器がディスクアレイ装置である場合に、本発明は次のように言い換えることができる。
【００２８】
(1).Delayed
ACKが働くホストと接続されているｉＳＣＳＩ制御装置において、Data-In PDU送信後にNop-In Command PDUをホストに対して送信する手段によって、ｉＳＣＳＩ規格を満足しながらData-In
PDUに対するＡＣＫ応答を即時に行うようホストに要求することが可能なｉＳＣＳＩ制御方法及びｉＳＣＳＩ制御装置。
【００２９】
(2).(1)に記載されたｉＳＣＳＩ制御装置において、ホストへ送信しているＰＤＵの数をカウントしてNop-In
Command PDUの送信の是非を動的に切り替える手段によって、ネットワークのトラフィックを調整しながらＡＣＫ応答を即時に行うようホストに要求することが可能なｉＳＣＳＩ制御方法及びｉＳＣＳＩ制御装置。
【００３０】
(3).(1)に記載されたｉＳＣＳＩ制御装置において、外部からの指示によってNop-In
Command PDUの送信の是非を切り替える手段により、必要なときだけＡＣＫ応答を即時に行うようホストに要求することが可能なｉＳＣＳＩ制御方法及びｉＳＣＳＩ制御装置。
【００３１】
本発明は、ディスクアレイ装置からホストに対してData-In PDUを送信した直後に、続いてNop-In Command PDUを送信することにより、ホストからディスクアレイ装置へのＡＣＫ応答のタイミングをディスクアレイ装置自らが早めていることを特徴としている。
【００３２】
ここで、Nop-In
Command PDUは、ホストとディスクアレイ装置との間のコネクションが有効であるか否かを確認するコマンドである。これに対する応答として、ホストはNop-Out
Command PDUをディスクアレイ装置に送る必要がある、とｉＳＣＳＩ仕様により規定されている。これにより、Read Commandのコマンド処理時間が短縮され、本来ディスクアレイ装置が有している性能を維持させることができる。
【００３３】
また、ホストにＰＤＵを送信している数をカウントすることにより、複数のＰＤＵをホストに送信している場合には、Nop-In Command PDUを送信しないようにすることを特徴としている。これにより、不必要なNop-In Command PDUの送信を抑止できるので、ネットワークの負荷を軽減することができる。
【００３４】
本発明の作用は次のとおりである。Read Command処理において、ディスクアレイ装置からホストに対してData-In PDUを送信した直後にNop-In
Command PDUを送信すると、２つのＰＤＵをホストが受信したことになる。すると、Delayed ACKの規定によって、ＡＣＫ信号がディスクアレイ装置に対してすぐに送信されることとなる。言い換えれば、ディスクアレイ装置は最大０．５秒よりも短い時間でＡＣＫ信号を受信することができるようになる。
【００３５】
これにより、１つのコマンド処理時間が短縮され、その結果として、ホストの立ち上げ処理、ディスクの認識処理、アプリケーションによるバッチ処理、などの処理時間が短縮される。
【発明の効果】
【００３６】
本発明によれば、ホストへ必要なコマンドを送信した後に更に何らかのコマンドをホストへ送信することにより、周辺機器から送信したコマンドが一定数に達するので、ホストからの応答信号を速やかに得ることができる。したがって、周辺機器の処理速度を向上できる。
【００３７】
また、ホストへ送信したコマンド数をカウントし、このコマンド数が一定数未満である場合に限り、何らかのコマンドをホストへ送信することにより、無駄なコマンドの送信を防止できるとともに、通信ネットワークの負荷の増大を抑制できる。
【００３８】
更に、応答信号催促手段を動作させるか否かを制御することにより、例えば通信ネットワークの負荷状況などに応じたきめ細かい処理を実現できる。
【００３９】
また、本発明の効果は、規格がｉＳＣＳＩであり周辺機器がディスクアレイ装置である場合に、次のように言い換えることができる。
【００４０】
第１の効果は、ホストがRead Commandを１つだけ発行したときにData-In PDU送信後にNop-In Command PDUを送信することにより、ホストからのＡＣＫ信号の送信を早めてコマンド処理時間を短縮することができることである。
【００４１】
第２の効果は、ディスクアレイ装置から送信するＰＤＵの数をカウントして、Nop-In Command PDUの送信の有無を切り替えることにより、ホストが複数のコマンドを発行したときのネットワークの負荷を増大させないことである。
【発明を実施するための最良の形態】
【００４２】
次に、本発明の実施形態について図面を参照して詳細に説明する。ただし、特許請求の範囲における「ホストインタフェース制御装置」、「周辺機器及びストレージ装置」、「通信ネットワーク」、「規格」、「規定」は、それぞれ「ホストアダプタ」、「ディスクアレイ装置」、「ｉＳＣＳＩ」、「Delayed ACK」、「Data-In PDU」、「Nop-In
Command PDU」と具体化して言い換える。また、特許請求の範囲における「応答信号催促手段（ステップ）」、「送信コマンド数カウント手段（ステップ）」、「応答信号受信手段（ステップ）」、「コマンド送信手段（ステップ）」及び「制御手段（ステップ）」は、ホストアダプタ内のコンピュータ及びそのプログラムによって実現されている。
【００４３】
図１は、本発明の第一実施形態を示すブロック図である。以下、この図面に基づき説明する。
【００４４】
ホスト１とディスクアレイ装置２とは、ＴＣＰ／ＩＰネットワーク１４によって接続されｉＳＣＳＩによるコマンド処理を行う。
【００４５】
ディスクアレイ装置２は、ホスト１からのコマンドを処理するホストアダプタ３と、一時的にデータを記憶するキャッシュメモリ１１と、データを保存しておくための複数の磁気ディスク装置１３と、磁気ディスク装置１３を制御するためのディスクアダプタ１２とによって構成される。
【００４６】
また、ホストアダプタ３は、ホスト１に対してＰＤＵの送受信制御を行うホストＩ／Ｆ（インタフェース）制御部４と、キャッシュメモリ１１との間でデータ転送を行うためのキャッシュメモリ制御部１０と、ホストＩ／Ｆ制御部４及びキャッシュメモリ制御部１０を制御するためのＣＰＵ８と、ＣＰＵ８の制御プログラムやホスト１に対して送受信するＰＤＵを記憶するローカルメモリ９とによって構成される。
【００４７】
そして、ホストＩ／Ｆ制御部４は、ホスト１からのコマンドを処理するためのＰＤＵ受信手段５と、ＰＤＵを送信するためのＰＤＵ送信手段６と、ホスト1に送信中のＰＤＵ数をカウントするための送信ＰＤＵ数カウント手段７とを備えている。また、ホストＩ／Ｆ制御部４は、ネットワーク制御ＬＳＩ（ＣＰＵを含む）などによって実現される。
【００４８】
なお、特許請求の範囲に記載の構成要素を「」で示すと、ＰＤＵ送信手段６及び送信ＰＤＵ数カウント手段７が「コマンド送信手段」及び「送信コマンド数カウント手段」に相当し、ＰＤＵ受信手段５の機能の一部が「応答信号受信手段」に相当する。また、図示しないが、「応答信号催促手段及」及び「制御手段」はホストＩ／Ｆ制御部４の機能の一部として実現されており、「制御信号」はＴＣＰ／ＩＰネットワーク１４を介してディスクアレイ装置２の外から入力される。
【００４９】
次に、ホストアダプタ３におけるコマンド処理の動作について、図１に図２〜図７を加えて説明する。なお、図２〜図７におけるステップ番号の最初の数字は、図面の番号に対応している。
【００５０】
図３は、初期化処理を示すフロー図である。
【００５１】
起動時において、ホストアダプタ３は、まず変数ＣＯＵＮＴを０に初期化しておく（ステップ３０１）。そして、ホストアダプタ３は、ホスト１からのコマンド受信待ちとなる。
【００５２】
図２は、Read
Commandのインタフェースの流れを示すシーケンス図である。図４は、コマンドを受信したときの処理の流れを示すフロー図である。
【００５３】
ホストアダプタ３は、ホスト１からコマンドを受信すると（ステップ２０１，４０１）、その応答としてＡＣＫ信号をホスト１に送信する（ステップ２０２，ステップ４０２）。
【００５４】
そして、コマンドがRead Command PDUであるときには（ステップ２０１，４０３）、データ送信処理を行い（ステップ４０６）、レスポンスを送信する（ステップ２０８，４０９）。そして、再びホスト１からのコマンド受信待ちとなる。
【００５５】
また、コマンドがWrite
Command PDUであるときには（ステップ４０４）、データ受信処理を行い（ステップ４０７）、レスポンスを送信する（ステップ４０９）。そして、再びホスト１からのコマンド受信待ちとなる。
【００５６】
また、コマンドがNop-Out
Command PDUであるときで（ステップ２０６，４０５）、かつ、ディスクアレイ装置２が送信したNop-In Command PDUの応答であるときは（ステップ４０８）、そのままホスト１からのコマンド受信待ちとなる。
【００５７】
それ以外のコマンドのときは、コマンドに応じた処理を行ってから（ステップ４１０）、再びホスト１からのコマンド受信待ちとなる。
【００５８】
図５は、データ受信処理（ステップ４０７）の詳細を示すフロー図である。
【００５９】
まず、変数ＣＯＵＮＴに１を加算して（ステップ５０１）、ホスト１にR2T PDUを送信し（ステップ５０２）、ＡＣＫ信号を待つ（ステップ５０３）。ホスト１からＡＣＫ信号を受け取ると、変数ＣＯＵＮＴから１を減算する（ステップ５０４）。続いて、ホスト１からData-Out
PDUを受信したら（ステップ５０５）、受信したデータをキャッシュメモリ１１に書き込み（ステップ５０６）、ＡＣＫ信号をホスト１に送信する（ステップ５０７）。
【００６０】
図６は、データ送信処理（ステップ４０６）の詳細を示すフロー図である。
【００６１】
ホストアダプタ３は、送信データをキャッシュにヒットしたときはキャッシュメモリ１１から、送信データをキャッシュにミスヒットしたときは磁気ディスク装置１３から、それぞれデータを読み出す（ステップ６０１）。そして、変数ＣＯＵＮＴに１を加算し（ステップ６０２）、Data-In PDUをホスト１に送信する（ステップ２０３，６０３）。ここで、変数ＣＯＵＮＴが１であれば、続けてNop-In
Command PDUを送信して（ステップ２０４，６０５）、ホスト１からのＡＣＫ信号を待つ（ステップ６０６）。逆に変数ＣＯＵＮＴが１でなければ、Nop-In
PDUを送信せずにホスト１からのＡＣＫ信号を待つ（ステップ６０６）。そして、ＡＣＫ信号を受信したら（ステップ２０５）、変数ＣＯＵＮＴから１を減算する（ステップ６０７）。
【００６２】
図７は、レスポンス送信処理（ステップ４０９）の詳細を示すフロー図である。
【００６３】
まず、変数ＣＯＵＮＴに１を加算する（ステップ７０１）。そして、ホスト１にResponse PDUを送信して（ステップ７０２）、ＡＣＫ信号を待つ（ステップ７０３）。ホスト１からＡＣＫ信号を受け取ると、変数ＣＯＵＮＴから１を減算する（ステップ７０４）。
【００６４】
このようにして、ディスクアレイ装置２からホスト１に対してＰＤＵが１つだけ送信されているときにのみNop-In PDUを送信する。これにより、ホストの立ち上げ処理、ディスクの認識処理、アプリケーションによるバッチ処理、などの処理時間を短縮できる。
【００６５】
なお、本発明は、ディスクアレイ装置に限らず、ｉＳＣＳＩプロトコルにおけるターゲット装置全般において適用できる。
【００６６】
図８は、本発明の第二実施形態におけるRead Commandのインタフェースの流れを示すシーケンス図である。以下、この図面に基づき説明する。
【００６７】
ホスト１のＡＣＫ信号の応答を早めることができるものであれば、Nop-In PDUを送信する代わりに他のパケットを用いることも可能である。
【００６８】
例えば、Nop-In
PDUの代わりに、直前に送信していたData-In PDUを再送信しても良い。図８はそのときのインタフェースの流れを示した図であり、図２のNop-In
Command PDUの送信（ステップ２０４）をData In PDUの再送パケット（ステップ８０４）に置き換えたものである。ここで、Data-In PDUの再送パケットを使用すると、ホスト１はディスクアレイ装置２からの再送パケットを破棄してしまう。そのため、Nop-In
Command PDUの応答であるNop-Out Command PDUの処理（ステップ２０６，２０７）を省略することもできる。そして、Response
PDU送信時のNop-Out Command PDUに対するＡＣＫ応答（ステップ２０８）も省略することができる（ステップ８０８）。
【００６９】
このようにして、ディスクアレイ装置２からホスト１に対してＰＤＵが１つだけ送信されているときにData-In PDUの再送パケットを送信することでも、ホストの立ち上げ処理、ディスクの認識処理、アプリケーションによるバッチ処理、などの処理時間を短縮できる。
【００７０】
また、パケットの送信数をカウントしてNop-In Command PDUの送信の是非を決定する方法の代わりに、ディスクアレイ装置２の外部からの指示（特許請求の範囲における「制御信号」）によってNop-In
Command PDUの送信の是非を変更するようにしても良い。
【００７１】
最後に、第一及び第二実施形態の効果について述べる。第１の効果は、ホスト１がRead Commandを１つだけ発行したときにData-In PDU送信後にNop-In Command PDUを送信することにより、ホスト１からのＡＣＫ信号の送信を早めてコマンド処理時間を短縮することができることである。第２の効果は、ディスクアレイ装置２から送信するＰＤＵの数をカウントして、Nop-In
Command PDUの送信の有無を切り替えることにより、ホスト１が複数のコマンドを発行したときのネットワークの負荷を増大させないことである。
【図面の簡単な説明】
【００７２】
【図１】本発明の第一実施形態を示すブロック図である。
【図２】第一実施形態におけるRead Commandのインタフェースの流れを示すシーケンス図である。
【図３】第一実施形態における初期化処理を示すフロー図である。
【図４】第一実施形態におけるコマンド受信処理を示すフロー図である。
【図５】第一実施形態におけるデータ受信処理を示すフロー図である。
【図６】第一実施形態におけるデータ送信処理を示すフロー図である。
【図７】第一実施形態におけるレスポンス送信処理を示すフロー図である。
【図８】本発明の第二実施形態におけるRead Commandのインタフェースの流れを示すシーケンス図である。
【図９】従来技術におけるWrite Commandのインタフェースの流れを示すシーケンス図である。
【図１０】従来技術におけるRead Commandのインタフェースの流れを示すシーケンス図である。
【符号の説明】
【００７３】
１  ホスト
２  ディスクアレイ装置
３  ホストアダプタ
４  ホストＩ／Ｆ制御部
５  コマンド受信手段
６  データ送受信手段
７  レスポンス送信手段
８  ＣＰＵ
９  ローカルメモリ
１０  キャッシュメモリ制御部
１１  キャッシュメモリ
１２  ディスクアダプタ
１３  磁気ディスク装置
【図１】
2005174097.tif 000003
【図２】
2005174097.tif 000004
【図３】
2005174097.tif 000005
【図４】
2005174097.tif 000006
【図５】
2005174097.tif 000007
【図６】
2005174097.tif 000008
【図７】
2005174097.tif 000009
【図８】
2005174097.tif 000010
【図９】
2005174097.tif 000011
【図１０】
2005174097.tif 000012