(57)【特許請求の範囲】
【請求項１】
複数のデータにより構成される一連のデータを受信する受信制御部と、
前記受信したデータが複数のデータにより構成される一連のデータの先頭である場合に、当該一連のデータの全てのデータに共通する識別番号と前記識別番号に対応する制御情報を生成する識別番号生成手段と、
前記受信したデータが複数のデータにより構成される一連のデータの二番目以降である場合に、前記受信した二番目以降のデータが有する識別番号と、前記生成された制御情報が有する識別番号を比較し、前記受信した二番目以降のデータが有する識別番号と前記生成された制御情報が有する識別番号が一致する場合には、さらに、前記受信した二番目以降のデータが有する制御情報と、前記生成された制御情報を比較することにより、前記受信した二番目以降のデータが正常であるか否かを判断する演算手段と、
前記受信した先頭のデータに対する応答として、前記生成された前記識別番号を前記受信したデータの送信元に対して送信するとともに、前記受信した二番目以降のデータに対する応答として、前記受信した二番目以降のデータが正常であると前記演算手段が判断した場合は前記受信した二番目以降のデータの送信先に対してデータの転送を続行し、前記受信した二番目以降のデータに異常があると前記演算手段が判断した場合はデータの転送を終了させる転送制御部とを有することを特徴とするデータ転送装置。
【請求項２】
前記受信した先頭のデータはさらに、識別番号を有するか否かを表す情報を有し、前記データが識別番号を有していることを表す場合には、前記識別番号生成手段は新たな識別番号を生成することなく、前記データが有する認識番号を前記記憶手段に格納することを特徴とする請求項１記載のデータ転送装置。
【請求項３】
複数のデータにより構成される一連のデータを受信する受信制御部と、
前記受信したデータが複数のデータにより構成される一連のデータの先頭である場合に、当該一連のデータの全てに共通し前記データが有する識別番号を認識するとともに、当該一連のデータの転送制御に使用するための新たな制御情報を生成する識別番号認識手段と、
前記受信したデータが複数のデータにより構成される一連のデータの二番目以降である場合に、前記受信した二番目以降のデータが有する識別番号と、前記生成された制御情報が有する識別番号を比較し、前記受信した二番目以降のデータが有する識別番号と前記生成された制御情報が有する識別番号が一致する場合には、さらに、前記受信した二番目以降のデータが有する制御情報と、前記生成された制御情報を比較することにより、前記受信した二番目以降のデータが正常であるか否かを判断する演算手段と、
前記受信した先頭のデータに対する応答として、前記認識された前記識別番号を前記受信したデータの送信元に対して送信するとともに、前記受信した二番目以降のデータに対する応答として、前記受信した二番目以降のデータが正常であると前記演算手段が判断した場合は前記受信した二番目以降のデータの送信先に対してデータの転送を続行し、前記受信した二番目以降のデータに異常があると前記演算手段が判断した場合はデータの転送を終了させる転送制御部とを有することを特徴とするデータ転送装置。
【請求項４】
前記制御情報は、前記識別番号の他に前記データの整合性を検査するための情報を有することを特徴とする請求項１乃至３記載のデータ転送装置。
【請求項５】
複数の入出力装置との間でデータ転送を行うデータ転送装置のデータ転送方法において、
複数のデータにより構成される一連のデータを受信するステップと、
前記受信したデータが複数のデータにより構成される一連のデータの先頭である場合に、当該一連のデータの全てのデータに共通する識別番号と前記識別番号に対応する制御情報を生成するステップと、
前記受信したデータが複数のデータにより構成される一連のデータの二番目以降である場合に、前記受信した二番目以降のデータが有する識別番号と、前記生成された制御情報が有する識別番号を比較するステップと、
前記受信した二番目以降のデータが有する識別番号と前記生成された制御情報が有する識別番号が一致する場合に、前記受信した二番目以降のデータが有する制御情報と、前記生成された制御情報を比較することにより、前記受信した二番目以降のデータが正常であるか否かを判断するステップと、
前記受信した先頭のデータに対する応答として、前記生成された前記識別番号を前記受信したデータの送信元に対して送信するとともに、前記受信した二番目以降のデータに対する応答として、前記受信した二番目以降のデータが正常であると判断した場合は前記受信した二番目以降のデータの送信先に対してデータの転送を続行し、前記受信した二番目以降のデータに異常があると前記演算手段が判断した場合はデータの転送を終了させるステップとを有することを特徴とするデータ転送方法。
【請求項６】
前記受信した先頭のデータはさらに、識別番号を有するか否かを表す情報を有し、前記データが識別番号を有していることを表す場合には、制御情報を生成するステップにおいては新たな識別番号を生成することなく、前記データが有する認識番号を前記記憶装置に格納することを特徴とする請求項５記載のデータ転送方法。
【請求項７】
複数の入出力装置との間でデータ転送を行うデータ転送装置のデータ転送方法において、
複数のデータにより構成される一連のデータを受信するステップと、
前記受信したデータが複数のデータにより構成される一連のデータの先頭である場合に、当該一連のデータの全てに共通し前記データが有する識別番号を認識するとともに、当該一連のデータの転送制御に使用するための新たな制御情報を生成するステップと、
前記受信したデータが複数のデータにより構成される一連のデータの二番目以降である場合に、前記受信した二番目以降のデータが有する識別番号と、前記生成された制御情報が有する識別番号を比較するステップと、
前記受信した二番目以降のデータが有する識別番号と前記生成された制御情報が有する識別番号が一致する場合に、前記受信した二番目以降のデータが有する制御情報と、前記生成された制御情報を比較することにより、前記受信した二番目以降のデータが正常であるか否かを判断するステップと、
前記受信した先頭のデータに対する応答として、前記認識された前記識別番号を前前記受信したデータの送信元に対して送信するとともに、前記受信した二番目以降のデータに対する応答として、前記受信した二番目以降のデータが正常であると前記演算手段が判断した場合は前記受信した二番目以降のデータの送信先に対してデータの転送を続行し、前記受信した二番目以降のデータに異常があると前記演算手段が判断した場合はデータの転送を終了させるステップとを有することを特徴とするデータ転送方法。
【請求項８】
前記制御情報は、前記識別番号の他に前記データの整合性を検査するための情報を有することを特徴とする請求項５乃至７記載のデータ転送方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の入出力装置を有する計算機システムにおいて、入出力装置と本体計算機との間における高速かつ信頼性の高い新たなデータ転送を実現する計算機システムに関するものである。
【０００２】
また、本発明は、そのような計算機システムにおけるインタフェースを制御するためのインタフェース制御装置に関するものでもある。一層詳細には、本発明は、本体装置に備えられるインタフェース制御装置に関するものでもある。
【０００３】
【従来の技術】
複数の入出力装置を備える計算機システムにおいては、各入出力装置と本体計算機に備えられているインタフェース制御装置との間でデータ転送が行われる。
【０００４】
従来から、一つのインタフェース制御装置には複数の入出力装置が接続されている。インタフェース制御装置は、受信するデータが複数の入出力装置のいずれからのものなのかを判断して動作する必要がある。
【０００５】
このため、一つのインタフェース制御装置に接続されている複数の入出力装置の各々には、他のいずれの入出力装置とも重複しないような番号（以下「デバイス機番」という。）が、予め付されている。
【０００６】
インタフェース制御装置は、データ転送の開始に先立ち、デバイス機番を入出力装置に通知する。入出力装置は、この通知により、どの入出力装置とのデータ転送が開始されるのかを判断している。
【０００７】
次に、入出力装置からインタフェース制御装置に対して、データ転送開始の通知に対する許可が報告される。これで、インタフェース制御装置と入出力装置とは結合状態となる。データ転送が開始される。
【０００８】
データ転送により転送されるデータの量は、可変である。データの量は、状況によってさまざまな値が設定される。いずれにしても、インタフェース制御装置と入出力装置との結合状態は、入出力装置が転送しようとするデータの全ての受け渡しが終了するまで解除されない。
【０００９】
【発明が解決しようとする課題】
すなわち、インタフェース制御装置は、複数の入出力装置のいずれとも結合可能である。さらにインタフェース制御装置は、いずれの入出力装置ともデータ転送が可能である。しかし、インタフェース制御装置は、一つの入出力装置との間でデータ転送を行うために結合状態となっているときには、他の入出力装置との間でデータ転送することができない。
【００１０】
したがって、ほぼ同時に、数台の入出力装置がインタフェース制御装置にデータ転送を要求した場合、実際にデータ転送を行うことができる入出力装置はその中の一台きりである。残りの入出力装置は、インタフェース制御装置といずれかの入出力装置との間で行われているデータ転送が終了するまで、データ転送を待つこととなる。
【００１１】
また、インタフェース制御装置のデータ転送能力の向上が、データ転送能力の向上に繋がるわけではない。もし、入出力装置からのデータ転送が低速であれば、データ転送速度は入出力装置に引きずられるからである。
【００１２】
以上のように、インタフェース制御装置が、複数の入出力装置と接続されている構成においては、インタフェース制御装置及び各入出力装置の転送能力を十分に活かしきれていなかった。
【００１３】
【課題を解決するための手段】
このような問題を解決するために、インタフェース制御装置と各入出力装置とのデータ転送をパケット形式にすることが考えられる。
【００１４】
各入出力装置は、データ転送に際し、転送しようとするデータを一定量に分割する。入出力装置は、分割したデータをパケット形式でインタフェース制御装置に転送する。一つの入出力装置は、１パケットを構成するのに十分な量のデータを準備した時点でパケットを作成する。その後入出力装置は、このパケットをインタフェース制御装置に転送する。入出力装置からインタフェース制御装置へのパケットの送出は、入出力装置が転送しようとする全てのデータの送出が終了するまで続けられる。
【００１５】
このような構成で、インタフェース制御装置の転送速度が入出力装置のデータ準備速度よりも高速な場合、インタフェース制御装置へのパケットの転送は時間的に断続的なものとなる。つまり、最初のパケットの転送が完了してから、次のパケットの転送が開始されるまでに、一定の時間を要することとなる。
【００１６】
このとき、複数の入出力装置が同時にデータ転送を要求したとする。すると、ある入出力装置からインタフェース制御装置へ転送されるパケットとパケットとの時間的な隙間に、他の入出力装置からインタフェース制御装置へ送出されるパケットの転送を割り込ませることができる。これにより入出力装置は転送待する必要がなくなる。これを、ある程度の時間で見れば、複数の入出力装置からインタフェース制御装置へ多重転送を行っているということにもできる。この結果、インタフェース制御装置の転送能力を最大限活用することができる。
【００１７】
しかし、インタフェース制御装置の立場に立って考えると、内部処理が煩雑になるという問題がある。インタフェース制御装置は、パケットを受信する毎に、その送信元を確認する必要が生じるからでる。このような構成の下では、受信するパケット毎に送出元の入出力装置が異なる可能性がある。したがって、インタフェース制御装置は、全てのパケットについて、その正当性及び送出元の確認をする必要が生じる。これは、インタフェース制御装置にとって大きな負荷となる。
【００１８】
このことは、例えば、従来三つの入出力装置から、それぞれ４２７６０バイトのデータが二つづつ送信される場合を考えれば明白である。従来であれば、それぞれのデータ転送は連続して行われていた。したがって、インタフェース制御装置は、各入出力装置からの送信要求があった場合にのみ、その送信元を確認するだけで済む。結局、インタフェース制御装置は、計６回の送信元確認のみを行えば足りた。
【００１９】
しかし、今回の構成では、例えば１パケットに含まれるデータ量を４０９６バイトとすると、一連のデータ転送ごとに１１個のパケットを送出することになる。インタフェース制御装置はパケットを受け取るたびに、そのパケットがどの入出力装置から送信されたものであるか、どのデータ転送の一部であるか、及びそのパケットが正当なものであるかの判断を計６６回行う必要が生じる。
【００２０】
このように、パケット形式の転送を行う場合のインタフェース制御装置の負荷は、従来に比較し、相当大きなものとなる。このため、インタフェース制御装置におけるパケット毎の判断を効率良く行わないと、オーパーヘッドが原因となって、転送効率の向上が思うように達成できないという事態が生じる。
【００２１】
上述した課題を解決するため、本発明に係るデータ転送装置は、複数のデータにより構成される一連のデータを受信する受信制御部と、前記受信したデータが複数のデータにより構成される一連のデータの先頭である場合に、当該一連のデータの全てのデータに共通する識別番号と前記識別番号に対応する制御情報を生成する識別番号生成手段と、前記受信したデータが複数のデータにより構成される一連のデータの二番目以降である場合に、前記受信した二番目以降のデータが有する識別番号と、前記生成された制御情報が有する識別番号を比較し、前記受信した二番目以降のデータが有する識別番号と前記生成された制御情報が有する識別番号が一致する場合には、さらに、前記受信した二番目以降のデータが有する制御情報と、前記生成された制御情報を比較することにより、前記受信した二番目以降のデータが正常であるか否かを判断する演算手段と、前記受信した先頭のデータに対する応答として、前記生成された前記識別番号を前記受信したデータの送信元に対して送信するとともに、前記受信した二番目以降のデータに対する応答として、前記受信した二番目以降のデータが正常であると前記演算手段が判断した場合は前記受信した二番目以降のデータの送信先に対してデータの転送を続行し、前記受信した二番目以降のデータに異常があると前記演算手段が判断した場合はデータの転送を終了させる転送制御部とを有することを特徴とする。
また、前記受信した先頭のデータはさらに、識別番号を有するか否かを表す情報を有し、前記データが識別番号を有していることを表す場合には、前記識別番号生成手段は新たな識別番号を生成することなく、前記データが有する認識番号を前記記憶手段に格納するようにしてもよい。
さらに、本発明に係るデータ転送装置は、複数のデータにより構成される一連のデータを受信する受信制御部と、前記受信したデータが複数のデータにより構成される一連のデータの先頭である場合に、当該一連のデータの全てに共通し前記データが有する識別番号を認識するとともに、当該一連のデータの転送制御に使用するための新たな制御情報を生成する識別番号認識手段と、前記受信したデータが複数のデータにより構成される一連のデータの二番目以降である場合に、前記受信した二番目以降のデータが有する識別番号と、前記生成された制御情報が有する識別番号を比較し、前記受信した二番目以降のデータが有する識別番号と前記生成された制御情報が有する識別番号が一致する場合には、さらに、前記受信した二番目以降のデータが有する制御情報と、前記生成された制御情報を比較することにより、前記受信した二番目以降のデータが正常であるか否かを判断する演算手段と、前記受信した先頭のデータに対する応答として、前記認識された前記識別番号を前記受信したデータの送信元に対して送信するとともに、前記受信した二番目以降のデータに対する応答として、前記受信した二番目以降のデータが正常であると前記演算手段が判断した場合は前記受信した二番目以降のデータの送信先に対してデータの転送を続行し、前記受信した二番目以降のデータに異常があると前記演算手段が判断した場合はデータの転送を終了させる転送制御部とを有することを特徴とする。
また、前記制御情報は、前記識別番号の他に前記データの整合性を検査するための情報を有するようにしてもよい。
次に、本発明に係るデータ転送方法は、複数の入出力装置との間でデータ転送を行うデータ転送装置のデータ転送方法において、複数のデータにより構成される一連のデータを受信するステップと、前記受信したデータが複数のデータにより構成される一連のデータの先頭である場合に、当該一連のデータの全てのデータに共通する識別番号と前記識別番号に対応する制御情報を生成するステップと、前記受信したデータが複数のデータにより構成される一連のデータの二番目以降である場合に、前記受信した二番目以降のデータが有する識別番号と、前記生成された制御情報が有する識別番号を比較するステップと、前記受信した二番目以降のデータが有する識別番号と前記生成された制御情報が有する識別番号が一致する場合に、前記受信した二番目以降のデータが有する制御情報と、前記生成された制御情報を比較することにより、前記受信した二番目以降のデータが正常であるか否かを判断するステップと、前記受信した先頭のデータに対する応答として、前記生成された前記識別番号を前記受信したデータの送信元に対して送信するとともに、前記受信した二番目以降のデータに対する応答として、前記受信した二番目以降のデータが正常であると判断した場合は前記受信した二番目以降のデータの送信先に対してデータの転送を続行し、前記受信した二番目以降のデータに異常があると前記演算手段が判断した場合はデータの転送を終了させるステップとを有することを特徴とする。
また、前記受信した先頭のデータはさらに、識別番号を有するか否かを表す情報を有し、前記データが識別番号を有していることを表す場合には、制御情報を生成するステップにおいては新たな識別番号を生成することなく、前記データが有する認識番号を前記記憶装置に格納するようにしてもよい。
さらに、複数の入出力装置との間でデータ転送を行うデータ転送装置のデータ転送方法において、複数のデータにより構成される一連のデータを受信するステップと、前記受信したデータが複数のデータにより構成される一連のデータの先頭である場合に、当該一連のデータの全てに共通し前記データが有する識別番号を認識するとともに、当該一連のデータの転送制御に使用するための新たな制御情報を生成するステップと、前記受信したデータが複数のデータにより構成される一連のデータの二番目以降である場合に、前記受信した二番目以降のデータが有する識別番号と、前記生成された制御情報が有する識別番号を比較するステップと、前記受信した二番目以降のデータが有する識別番号と前記生成された制御情報が有する識別番号が一致する場合に、前記受信した二番目以降のデータが有する制御情報と、前記生成された制御情報を比較することにより、前記受信した二番目以降のデータが正常であるか否かを判断するステップと、前記受信した先頭のデータに対する応答として、前記認識された前記識別番号を前前記受信したデータの送信元に対して送信するとともに、前記受信した二番目以降のデータに対する応答として、前記受信した二番目以降のデータが正常であると前記演算手段が判断した場合は前記受信した二番目以降のデータの送信先に対してデータの転送を続行し、前記受信した二番目以降のデータに異常があると前記演算手段が判断した場合はデータの転送を終了させるステップとを有することを特徴とする。
また、前記制御情報は、前記識別番号の他に前記データの整合性を検査するための情報を有するようにしてもよい。
【００２２】
【発明の実施の形態】
本発明は上記目的を達成するため次の構成を備える。
【００２３】
第一の構成を以下に述べる。
【００２４】
本発明に係るインタフェース制御装置では、受信したパケットが入出力装置から転送される一連のパケットの先頭である場合に、この一連のデータ転送を制御するための新たなデバイス制御情報を作成する。この際、インタフェース制御装置は、インタフェース制御装置内で唯一となる識別番号も同時に選定する。インタフェース制御装置は、新たに生成されたデバイス制御情報とこの識別番号とを、一定の法則の元に対応付ける。
【００２５】
選定された識別番号は、入出力装置から継続して送信されるパケットに格納させなければならない。したがって、インタフェース制御装置は、入出力装置から送信された先頭パケットの応答として、この識別番号を入出力装置に返送することとなる。入出力装置は、続くパケットの全てに、インタフェース制御装置から送信された識別番号を格納して送出する。このようにして、データ転送が継続する。
【００２６】
以上が第一の構成である。
【００２７】
第二の構成を以下に述べる。
【００２８】
本発明に係る入出力装置は、一連のデータ転送の先頭パケットに、入出力装置内で唯一となる識別番号を格納して、計算機に当該パケットを転送する。インタフェース制御装置は、受信したパケットが入出力装置から転送される一連のパケットの先頭である場合に、この一連のデータ転送を制御するための新たなデバイス制御情報を作成する。この際、インタフェース制御装置は、パケットに格納されていた識別番号を一定の法則の元に新たに再生されたデバイス制御情報と対応付ける。
【００２９】
以上が第二の構成である。
【００３０】
いずれにしても、パケットに識別番号を格納することで、インタフェース制御装置は、同一の入出力装置から送出される複数のデータ転送が同時に発生しても、各々を適確に区別することができる。
【００３１】
上記のいずれの構成についても、受信したパケットが一連のパケットの先頭でない場合には、そのパケットに識別番号が格納されている。したがって、インタフェース制御部は、識別番号に対応するデバイス制御情報を特定することができる。インタフェース制御部は、識別番号からデバイス制御情報を特定するのに、前述したような一定の法則を用いる。
【００３２】
インタフェース制御装置は、デバイス制御情報を参照して、パケットの正当性判断等を含む、データ転送の制御を行う。
【００３３】
以上により、本発明に係るインタフェース制御装置は、複数の入出力装置から同時にデータを受信することができ、かつ装置内部のオーバヘッドを減少させることもできるので、高速なデータ転送を行うことが可能となる。
【００３４】
【実施例】
以下、本発明の好適な実施の形態を添付図面に基づいて詳細に説明する。なお、図中同一の符号が付されているものは、同一の機構を示すものとする。
【００３５】
図２は、本発明に係る計算機システムの一例を示すブロック図である。
本体計算機２１０は、外部の入出力装置２２０〜２２２とのデータ転送を制御するためのインタフェース制御装置２１１を備えている。
【００３６】
この図では、入出力装置２２０〜２２２は、複数の物理ディスクを有するディスクサーバとなっている。しかし、入出力装置は、単体のディスク装置であっても差し支えない。
【００３７】
インタフェース制御装置２１１と、各入出力装置２２０〜２２２とは、パケット形式のデータ転送が可能なインタフェース２３０で接続されている。
【００３８】
このインタフェース２３０の例としては、シリアルインタフェース（例えば、光インタフェースが好適）をあげることができる。このインタフェースとして、具体的には、ファイバーチャネルを使用することができる。
【００３９】
図３に、本発明に係る計算機システムの別の一例をブロック図で示す。
【００４０】
この構成が図２の構成と異なる点は、インタフェース制御装置２１１と入出力装置３２０〜３２２とがスイッチャー３４０を介して接続されている点である。
【００４１】
また、入出力装置３２０〜３２２は、単体のディスク装置となっている。しかし、入出力装置は、図２の構成と同様に複数の物理ディスクを有するディスクサーバとなっていても差し支えない。
【００４２】
インタフェース制御装置２１１とスイッチャー３４０とを接続するインタフェース３３０は、図２の場合と同様にパケット形式のデータ転送が可能なものとなっている。一方、スイッチャー３４０と入出力装置３２０〜３２２とを接続するインタフェース３３１〜３３は、どのようなものであっても差し支えない。
【００４３】
インタフェース３３１〜３３で、パケット形式のデータ転送が行われる場合には、スイッチャー３４０は、入出力装置から受け付けた順に、パケットをインタフェース３３０に送出すればよい。
【００４４】
インタフェース３３１〜３３で、パケット形式のデータ転送が行われない場合には、スイッチャー３４０は、各インタフェース３３１〜３３を介して転送されるデータを、一定の単位ごとに分割する。そして、スイッチャー３４０は、分割したデータをパケットに形成してインタフェース３３０に送出しなければならない。
【００４５】
図４に、本発明に係るパケットのフォーマットを示す。一つのパケット４１０は、パケットの先頭を示すスタート・オブ・フレイム（以下、「ＳＯＦ」という。）４１１、パケットの性質や属性を示すヘッダー部４１２、転送されるデータ４１３、エラー検出符号（以下、「ＣＲＣ」という。）４１４、及びパケットの終端を示すエンド・オブ・フレイム（以下、「ＥＯＦ」という。）４１５により構成される。
【００４６】
ヘッダー部４１２は、更に、送信相手装置のアドレスを示すデスティネーション・ポート・アドレス（以下、「ＤＡ」という。）４１６、送信元装置のアドレスを示すソース・ポート・アドレス（以下、「ＳＡ」という。）４１７、データ転送を行っているデバイス機番４１８、識別番号４１９、制御情報４２０等から構成されている。
【００４７】
一連のデータを構成する複数のパケットの識別番号４１９には全て同一の値が格納されている。制御情報４２０には、通し番号が格納されている。この投資番号は、あるパケットが、一連のデータを構成する複数パケットの何番目のものであるかを示す。
【００４８】
インタフェース制御装置２１１は、ＳＯＦ４１１、ＣＲＣ４１４、ＥＯＦ４１５を参照することで、パケット自体の構成が正常であるか否かを判断できる。また、インタフェース制御装置２１１は、ヘッダー部４１２に格納されているＤＡ４１６を参照することで、パケットが自分宛てのものか判断することができる。インタフェース制御装置２１１は、ＳＡ４１７及びデバイス機番４１８を参照することでデータ送信元の入出力装置を特定することができる。インタフェース制御装置２１１は、識別番号４１９を参照することでパケットが属する一連のデータ転送を特定することができる。インタフェース制御装置２１１は、、制御情報４２０を参照することで、一連のデータ転送の中におけるパケットの位置を特定することができる。
【００４９】
図１は、本発明に係るインタフェース制御装置２１１のブロック図である。
【００５０】
外部入出力装置２２０等やスイッチャー３４０から転送されてくるパケット１１６は、受信制御部１１０が受信する。本実施例では、受信御部１１０は、内部に複数の受信バッファ１１７を備えた構造を想定している。受信したパケットは、受信した順番に、受信バッファ１１７に格納されていく。一つの受信バッファには、一つのパケットのみが格納される。
【００５１】
受信制御部１１０が受信したパケットがいずれかのバッファに格納されると、その旨が転送制御部１１５に通知される。転送制御部１１５は、受信バッファ１１７に格納されているパケットの制御情報４２０を参照する。転送制御部１１５は、受信したパケットが、一連のデータの先頭であるのか、あるいは二番目以降であるのかを判断する。
【００５２】
ここでは、まず、受信したパケットが一連のデータの先頭である場合について説明する。
【００５３】
転送制御部１１５は、新たなデータ転送が開始された旨を識別番号生成部１１２に通知する。
【００５４】
識別番号生成部１１２は、自装置が新たなデータ転送を開始するための準備を始める。自装置では、複数のデータ転送が継続している可能性がある。このため、転送制御部１１５は、それぞれのデータ転送を他のデータ転送と区別する必要がある。
【００５５】
このため、本発明に係るインタフェース制御装置２１１では、各データ転送と識別番号とを対応付けて管理する。これにより、複数のデータ転送が同時に継続している場合であっても、転送制御部１１５は、データの所属の混乱を避けることができる。したがって、新たに開始されるデータ転送に対応付けられる識別番号は、その時点で継続中の他のデータ転送で使用されていない番号であれば、どのようなものであっても差し支えない。言い換えれば、この識別番号は、新たにデータ転送を開始する時点で、装置内に唯一の番号であれば足りる。この識別番号の選定は、過去に使用されたことがあるか否かを問題としない。
【００５６】
識別番号生成部１１２は、新たに開始されるデータ転送の制御に使用するためのデバイス制御情報１１４も、この時点で新たに作成する。デバイス制御情報１１４は、続くパケットの正常性等を検証するために使用される。
【００５７】
ここで、一端、説明をデバイス制御情報１１４の構造に移す。
【００５８】
デバイス制御情報１１４の一例を、図５に示す。
【００５９】
一連のデータ転送で使用される複数のパケットは、全てその転送元と転送先とが同一である必要がある。元々、転送されるべきデータは、一つの入出力装置から一つの本体計算機へ転送されるべき一塊のデータである。そして、複数のパケットは、この一塊のデータを分割したものである。したがって、データ転送途中に、送信元の異なるデータが混在すことは考えられない。このため、データの受け取り先を示すデスティネーション・アドレス５１１、ソース・アドレス５１２、デバイス機番５１３を保存することとしている。
【００６０】
転送されるべき一連のデータと、デバイス制御情報１１４とは、識別番号で対応付けを行っている。したがって、この対応付けに矛盾を生じていないことを検証するために、識別番号５１４が格納されている。
【００６１】
データは、複数のパケットに分割されて転送される。受信側は、受信した複数のパケットを、分割した順番どおりに復元する必要がある。このため、パケットの制御情報４２０には、そのパケットが何番目のパケットであるのかを示す通し番号が格納されている。また、データは先頭から順番に転送される。したがって、ある識別番号に対応付けられたパケットだけを見た場合、受信したパケットの制御情報４２０に格納されている通し番号は昇順に一つずつ増加していくこととなる。デバイス制御情報１１４に格納されているカウンタ５１５は、受信したパケットの順番の正当性を検証するために使用される。識別番号生成部１１２は、デバイス制御情報１１４を作成するときに、カンウタ５１５の値に先頭値とし格納する。先頭値には、０又は１が使用されるのが一般的であるが、本実施例では１を使用するものとする。
【００６２】
デバイス制御情報１１４は、続くパケットを受信したときに、識別番号から一意に特定できなければならない。したがって、本実施例では、デバイス制御情報１１４の格納されているメモリ上のアドレスは、識別番号を行って法則で変換することにより得ることができる構成となっている。すなわち、各デバイス制御情報が２５６（１６進数で表記すると０ｘ０１００）バイトから成るとして、先頭のデバイス制御情報の開始アドレスを０とし、続くデバイス制御情報の開始アドレスを２５６（１６進数で表記すると０ｘ０１００）とする。
【００６３】
識別番号０に対応するデバイス制御情報はアドレス０から開始するものとし、識別番号１に対応するデバイス制御情報はアドレス２５６（１６進数で表記すると０ｘ０１００）から開始するものとする。以降このように対応付けることとして、識別番号ｎに対応するデバイス制御情報の開始アドレスは、ｎ×２５６（１６進数で表記するとｎ×０ｘ０１００）で求めることとしている。
【００６４】
もちろん、メモリの使用効率を考慮して、識別番号とデバイス制御情報との対応を示す情報を別に持つこととしても差し支えない。この場合、新たなパケットを受信したときにこの情報を生成し、一連のデータ転送が終了した時点で対応情報を削除する必要がある。
【００６５】
ここで、説明を元に戻す。
【００６６】
識別番号生成部１１２は、選択した識別番号を、新たなデータ転送に使用する識別番号として通知するための応答パケットを、送信制御部１１１に備えられている送信バッファ１１８に格納する。識別番号生成部１１２は、応答の準備ができたことを転送制御部１１５に通知する。転送制御部１１５は、識別番号生成部１１２が送信制御部１１１のバッファに準備したパケットを、データ転送元に送信するよう、送信制御部１１１に依頼する。この送信は、受信したパケットの応答となる。
【００６７】
以上で、受信したパケットが一連のデータの先頭である場合についての説明を終了する。
【００６８】
次に、受信したパケットが一連のデータの二番目以降である場合について説明する。
【００６９】
転送制御部１１５は、二番目以降のパケットを受信した旨を演算部１１３に通知する。
【００７０】
演算部１１３は、受信制御装置１１０に備えられている受信バッファ１１７を参照する。演算部１１３は、受信したパケットに格納されている識別番号を確認する。演算部１１３は、識別番号を手がかりにして、受信したパケットに対応するデバイス制御情報を決定する。本実施例では、識別番号を２５６（１６進数で表記すると０ｘ０１００）倍した値を開始アドレスとするデバイス制御情報が対応することとなる。
【００７１】
演算部１１３は、確認のために、パケットに格納されている識別番号４１９とデバイス制御情報が示している識別番号５１４とを比較する。通常両者は同一である。これが一致しない場合は、インタフェース制御装置内で内部矛盾が発生している場合である。このような場合は、インタフェース制御装置は、直ちに処理を中断し、エラー・リカバリー処理に移行しなければならない。
【００７２】
両者が一致していれば、演算部１１３は、パケットに格納されているＤＡ４１６、ＳＡ４１７、デバイス機番４１８と、デバイス制御情報１１４が示しているデスティネーション・アドレス５１１、ソース・アドレス５１２、デバイス機番５１３とを比較する。両者が一致していなければ、ここで処理を終了し、その旨を転送制御部１１５に通知する。両者が一致していれば、データの送信元と受信先とが正しいので、正常である。
【００７３】
演算部１１３は、パケットに格納されている制御情報の中の通し番号とデバイス制御情報に示されているカウンタ値とを比較する。本実施例では、パケットに格納される通し番号は、１から始まり１づつ昇順に変化していくこととなっている。したがって、パケットに格納されている通し番号は、デバイス制御情報に格納されているカウンタ値に１加えたものになっていれば正常である。
【００７４】
演算部１１３は、パケットに格納されている通し番号も正常であると判断した後に、デバイス制御情報のカウンタ値を１増加させる。演算部１１３は、転送制御部１１５にパケットが正常であることを通知する。
【００７５】
転送制御部１１５は、演算部１１３の判断結果に基づき、パケットの内容が正常である場合にはデータ転送を続行する。
転送制御部１１５は、パケットの内容が異常である場合にはデータ転送を異常終了させ、その旨をデータ送信元に通知して、処理を終了する。
【００７６】
次に、本発明に係る別の実施例を説明する。
【００７７】
図６は、本発明に係るインタフェース制御装置のブロック図である。前述の実施例と相異する点は、本実施例に係るインタフェース制御装置は識別番号生成部１１２を備えておらず、変わりに識別番号認識部を備えている点である。
【００７８】
受信制御部１１０が受信したパケットがいずれかの受信バッファ１１７に格納されると、その旨が転送制御部１１５に通知される。転送制御部１１５は、バッファに格納されているパケットの制御情報４２０を参照する。転送制御部１１５は、受信したパケットが、一連のデータの先頭であるのか、あるいは二番目以降であるのかを判断する。
【００７９】
受信したパケットが一連のデータの先頭である場合、転送制御部１１５は、新たなデータ転送が開始された旨を識別番号認識部６１２に通知する。
【００８０】
識別番号認識部６１２は、新たに開始されるデータ転送の制御に使用するためのデバイス制御情報を、この時点で新たに作成する。本実施例においては、データ転送の制御に使用される識別番号は、データ転送元によって指定されることとなる。識別番号は、先頭のパケットに格納されてインタフェース制御装置１１１に送信される。このため、識別番号認識部６１２は、この番号に対応したアドレスから開始されるデバイス制御情報を作成する必要がある。
【００８１】
前述の実施例に対応させれば、識別番号ｎに対応して作成されるデバイス制御情報の開始アドレスは、ｎ×２５６（１６進数で表記するとｎ×０ｘ０１００）に決定される。
【００８２】
ここで作成されるデバイス制御情報１１４の内容も、前述の実施例と異なるところはない。
【００８３】
もちろん、メモリの使用効率を考慮して、識別番号とデバイス制御情報との対応を示す情報を別に持つこととしても差し支えないことは、前述の実施例の場合と同様である。
【００８４】
データ転送元は、一連のデータ転送で使用する識別番号を既に知っている。したがって、本実施例に係るインタフェース制御装置では、受信したパケットに対する応答に、必ずしも識別番号を格納する必要はない。
【００８５】
受信したパケットが一連のデータの二番目以降である場合については、前述の実施例と異なるところがないので、説明を省略する。
【００８６】
以上二つの実施例は、説明の明確化のために、識別番号生成部１１２又は識別番号認識部６１２を備えるインタフェース制御装置を開示した。しかし、以上の説明が、図７に示す識別番号生成部１１２と識別番号認識部６１２との両者を備えるインタフェース制御装置を排除するものではない。
【００８７】
この場合には、インタフェース制御装置に転送される先頭パケットに格納されている制御情報４２０の中に、データ転送の制御に使用される識別番号として当該パケットに格納されている値を使用するのか、あるいはインタフェース制御装置が識別番号を指定する必要があるのかの情報も格納する必要がある。この情報は、通常、そのパケットが先頭である場合にのみ意味を持つ。
【００８８】
図７に示すインタフェース制御手段の場合、転送制御部１１５は、先頭パケットの受信を認識した際に、パケットに格納されている制御情報４２０を参照する。転送制御部１１５は、この時点で、インタフェース制御装置２１１が識別番号を指定する必要があるのか、あるいは入出力装置によって識別番号が指定されているのかを判断する。
【００８９】
転送制御部１１５は、識別番号をインタフェース制御装置２１１が指定する必要があるのなら識別番号生成部１１２に先頭パケットの受信を通知する。転送制御部１１５は、識別番号が入出力装置によって指定されているのなら識別番号認識部６１２に先頭パケットの受信を通知する。
【００９０】
以降は、それぞれ、前述した二つの実施例と同様の手順によってデータ転送が続行される。
【００９１】
以上、本発明につき、好適な実施例を挙げて種々説明した。しかし、本発明はこれら実施例に限定されるものではなく、発明の精神を逸脱しない範囲内で多くの改変を施し得るのはもちろんである。
【００９２】
本発明に係る計算機システム及びインタフェース制御装置は、今後予想されるデータの大容量化、入出力装置の激増、ネットワーク技術の向上に伴い、情報処理システムの中核を担う高信頼性大容量高速コンピュータシステムとして非常に有効な技術である。
【００９３】
また、データ転送経路には光ファイバの利用が適しており、電気ケーブルを使用したものと比較して、計算機システムの設置作業の簡素化や設置スペースの削減にも貢献すると考える。
【図面の簡単な説明】
【図１】インタフェース制御装置の一例を示す構成図である。
【図２】本発明に係る計算機システムの一例を示す構成図である。
【図３】本発明に係る計算機システムの一例を示す構成図である。
【図４】パケットのフォーマットの一例を示す模式図である。
【図５】デバイス制御情報の一例を示す模式図である。
【図６】インタフェース制御装置の一例を示す構成図である。
【図７】インタフェース制御装置の一例を示す構成図である。
【符号の説明】
２１０  本体計算機
２１１  インタフェース制御装置
２２０〜２２２  入出力装置
２３０  パケット形式インタフェース
３２０〜３２２  入出力装置
３３０  パケット形式インタフェース
３３１〜３３３  インタフェース
４１０  パケット
４１１  スタート・オブ・フレイム（ＳＯＦ）
４１２  ヘッダー部
４１３  データ部
４１４  エラー検出符号（ＣＲＣ）
４１５  エンド・オブ・フレイム（ＥＯＦ）
４１６  デスティネーション・ポート・アドレス（ＤＡ）
４１７  ソース・ポート・アドレス（ＳＡ）
４１８  デバイス機番
４１９  識別番号
４２０  制御情報
１１０  受信制御部
１１１  送信制御部
１１２  識別番号生成部
１１３  演算部
１１４  デバイス制御情報
１１５  転送制御部
１１６  パケット
１１７  受信バッファ
１１８  送信バッファ
５１１  デスティネーション・アドレス
５１２  ソース・アドレス
５１３  デバイス機番
５１４  識別番号
５１５  カウンタ
６１２  識別番号認識部
１０  サーバ
２０  記憶装置
２１  物理的な記憶デバイス
３０  ファイル制御装置
３１  制御部
３２  制御記憶
４０  キャッシュメモリ
４１  制御記憶
４２−１  データ優先情報
４２−２  連続データ情報
４２−３  キャッシュメモリ管理情報
４５  演算処理部
５０  論理的な記憶デバイス
５１  論理的な記憶デバイス
【図１】
0004207323.tif 000002
【図２】
0004207323.tif 000003
【図３】
0004207323.tif 000004
【図４】
0004207323.tif 000005
【図５】
0004207323.tif 000006
【図６】
0004207323.tif 000007
【図７】
0004207323.tif 000008