(57)【特許請求の範囲】
【請求項１】
複数の下位装置と接続してデータの授受を行うＳＣＳＩインタフェースと、
前記データの授受を制御する制御回路と、
この制御回路の制御により、複数の前記下位装置の内、データの授受を行っている特定下位装置のＳＣＳＩポインタを前記データの授受の実行中は保持するカレントポインタレジスタと、
前記制御回路の制御により、このカレントポインタレジスタに保持されているＳＣＳＩポインタをセーブし、また、前記カレントポインタレジスタにリストアするセーブポインタレジスタと、
前記特定下位装置を識別するための識別子を保持するカレントターゲットアドレスレジスタと、
リコネクト要求に含まれる前記特定下位装置の識別子と前記カレントターゲットアドレスレジスタに保持されている識別子とを比較照合するターゲットアドレス比較回路と
を備え、
前記制御回路は、前記ターゲットアドレス比較回路の比較照合で、前記カレントターゲットアドレスレジスタに保持されている識別子と前記特定下位装置の識別子とが一致した場合、前記セーブポイントレジスタにセーブされているＳＣＳＩポインタを前記カレントポイントレジスタにリストアすることなく前記特定下位装置とのデータの授受を継続するように制御する
ことを特徴とするＳＣＳＩポインタ制御方式。
【請求項２】
請求項１記載のＳＣＳＩポインタ制御方式において、
前記特定下位装置との接続停止に伴う前記カレントポインタをセーブポインタにセーブする要求を受け付けて、カレントポインタレジスタに格納されているカレントポインタをセーブポインタレジスタにセーブする要求のフラグを記憶するカレントポインタセーブ状況管理部を備え、
前記制御回路は、前記ターゲットアドレス比較回路の比較照合で、前記カレントターゲットアドレスレジスタに保持されている識別子と前記特定下位装置の識別子とが一致しない場合、前記カレントポインタセーブ状況管理部に前記フラグが記憶されていなければ、前記セーブポインタレジスタに記憶されている前記特定下位装置のＳＣＳＩポインタを前記カレントポインタレジスタにリストアする
ことを特徴とするＳＣＳＩポインタ制御方式。
【請求項３】
請求項２記載のＳＣＳＩポインタ制御方式において、
前記制御回路は、前記カレントポインタセーブ状況管理部に前記フラグが記憶されていれば、このフラグの記憶を消去し、前記カレントポインタレジスタに記憶されているＳＣＳＩポインタを前記セーブポインタレジスタにセーブし、前記セーブポインタレジスタに記憶されている前記特定下位装置のＳＣＳＩポインタを前記カレントポインタレジスタにリストアする
ことを特徴とするＳＣＳＩポインタ制御方式。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＳＣＳＩバスを用いてデータの転送を制御するときに用いられるＳＣＳＩポインタ制御方式に関する。
【０００２】
【従来の技術】
この種の制御において、従来では、下位装置からメッセージ（Ｓａｖｅ  Ｄａｔａ  Ｐｏｉｎｔｅｒ）でカレントポインタのセーブ操作の指示があった場合、カレントポインタをセーブポインタにセーブする動作が必ず行われていた。また、リコネクト動作時には、セーブポインタをカレントポインタにリストアするリコネクト動作が、必ず行われていた。
【０００３】
【発明が解決しようとする課題】
従来では、以上に説明したように構成されていたので、下位装置からメッセージを受領した後、ＳＣＳＩインタフェースのディスコネクトを行い、この後リコネクトされるまでの間に、その他のＩ／Ｏプロセスを起動させることができなかった。また、他のＳＣＳＩＩＤとロジカルユニット番号を有する下位装置からのリコネクト要求が発生しない場合には、カレントポインタの書き換えが発生しないので、カレントポインタのセーブ動作とリコネクト動作は必要のない余分な処理となる。
【０００４】
本発明は、以上のような問題点を解消するためになされたものであり、ＳＣＳＩバスを用い、無駄がなくより効率の良い状態でデータの転送ができるようにすることを目的とする。
【０００５】
【課題を解決するための手段】
本発明のＳＣＳＩポインタ制御方式は、複数の下位装置と接続してデータの授受を行うＳＣＳＩインタフェースと、データの授受を制御する制御回路と、この制御回路の制御により、複数の下位装置の内、データの授受を行っている特定下位装置のＳＣＳＩポインタをデータの授受の実行中は保持するカレントポインタレジスタと、制御回路の制御により、このカレントポインタレジスタに保持されているＳＣＳＩポインタをセーブし、また、カレントポインタレジスタにリストアするセーブポインタレジスタと、特定下位装置を識別するための識別子を保持するカレントターゲットアドレスレジスタと、リコネクト要求に含まれる特定下位装置の識別子とカレントターゲットアドレスレジスタに保持されている識別子とを比較照合するターゲットアドレス比較回路とを備え、制御回路が、ターゲットアドレス比較回路の比較照合で、カレントターゲットアドレスレジスタに保持されている識別子と特定下位装置の識別子とが一致した場合、セーブポイントレジスタにセーブされているＳＣＳＩポインタをカレントポイントレジスタにリストアすることなく特定下位装置とのデータの授受を継続するように制御するようにしたものである。
この発明によれば、ターゲットアドレス比較回路の比較照合で、カレントターゲットアドレスレジスタに保持されている識別子と特定下位装置の識別子とが一致すると、セーブポインタレジスタとカレントポインタレジスタとの間の、セーブ動作とリストア動作とが行われることなく、特定下位装置との接続が継続される。
【０００６】
上記発明において、特定下位装置との接続停止に伴うカレントポインタをセーブポインタにセーブする要求を受け付けて、カレントポインタレジスタに格納されているカレントポインタをセーブポインタレジスタにセーブする要求のフラグを記憶するカレントポインタセーブ状況管理部を備え、制御回路は、ターゲットアドレス比較回路の比較照合で、カレントターゲットアドレスレジスタに保持されている識別子と特定下位装置の識別子とが一致しない場合、カレントポインタセーブ状況管理部にフラグが記憶されていなければ、セーブポインタレジスタに記憶されている特定下位装置のＳＣＳＩポインタをカレントポインタレジスタにリストアする。
【０００７】
また、上記発明において、制御回路は、カレントポインタセーブ状況管理部にフラグが記憶されていれば、このフラグの記憶を消去し、カレントポインタレジスタに記憶されているＳＣＳＩポインタをセーブポインタレジスタにセーブし、セーブポインタレジスタに記憶されている特定下位装置のＳＣＳＩポインタをカレントポインタレジスタにリストアする。
【０００８】
【発明の実施の形態】
以下、本発明の実施の形態について図を参照して説明する。
図１は、本発明の実施の形態におけるＳＣＳＩポインタ制御方式を適用した入出力制御装置１００の構成を示す構成図である。本実施の形態におけるＳＣＳＩポインタ制御方式は、ＳＣＳＩインタフェースを介してＳＣＳＩ規格の下位装置（ターゲット）とのデータ転送を行う入出力制御装置（ＳＣＳＩ規格のイニシエータ）に関するものであり、Ｉ／Ｏプロセスの実行を制御・管理するＳＣＳＩポインタのセーブ／リストアのうち、余分な動作をなくすことでデータ転送の性能向上を目的とするものである。
【０００９】
図１において、入出力制御装置１００は、ＳＣＳＩインタフェースを下位装置（ターゲット）とのＩ／Ｏインタフェースとして使用し、ＳＣＳＩインタフェース１０９を制御するＳＣＳＩインタフェース制御回路１０３を有している。また、上位装置とのＩ／Ｏインタフェース１１０を司る上位インタフェース制御回路１０１を有している。また、ＳＣＳＩインタフェース制御回路１０３や上位インタフェース制御回路１０１の制御を含め、入出力制御装置１００の全体の制御を司る入出力制御装置制御回路１０２を有している。
【００１０】
カレントポインタレジスタ１０４は、現在実行中のＩ／ＯプロセスのＳＣＳＩポインタを保持している。セーブポインタレジスタ１０５は、下位装置の「ＳＣＳＩ  ＩＤ」数とロジカルユニット数の組み合わせの個数のＳＣＳＩポインタを保持している。また、下位装置の「ＳＣＳＩ  ＩＤ」に対するロジカルユニット番号（ＬＵＮ）毎に１組のＳＣＳＩポインタが割り当てられている。セーブポインタレジスタ１０５は、必要が生じた場合に入出力制御装置制御回路１０２からの指示で、カレントポインタレジスタ１０４に格納されているＳＣＳＩポインタをセーブしたり、また同じく入出力制御装置制御回路１０２からの指示で、カレントポインタレジスタ１０４にＳＣＳＩポインタをリストアする。
【００１１】
カレントポインタセーブ状況管理部１０６は、カレントポインタセーブ要求フラグを記憶していて、新たなＩ／Ｏプロセス実行時とリコネクト処理時に入出力制御装置制御回路１０２が参照し、カレントポインタをセーブポインタにセーブするか否かの判定に使用される。
カレントターゲットアドレスレジスタ１０７は、Ｉ／Ｏプロセスが実行されている最中の下位装置の「ＳＣＳＩ  ＩＤ」とロジカルユニット番号、あるいは、Ｉ／Ｏプロセス実行中にディスコネクトされた場合に、バスフリーフェーズの間はディスコネクト要求してきた下位装置の「ＳＣＳＩ  ＩＤ」とロジカルユニット番号を記憶している。
【００１２】
カレントターゲットアドレスレジスタ１０７に記憶されている下位装置の識別子である「ＳＣＳＩ  ＩＤ」およびロジカルユニット番号は、以下に示す状況において、リコネクト要求が出された下位装置の「ＳＣＳＩ  ＩＤ」およびロジカルユニット番号との比較を、ターゲットアドレス比較回路１０８が行うときに使用される。比較が行われる状況は、データ転送中のディスコネクトによりデータ転送が中断され、データ転送の中断の後にリコネクトによりデータ転送が再開された状況である。
【００１３】
ターゲットアドレス比較回路１０８は、この状況でＳＣＳＩインタフェース制御回路１０３から読み出されるリコネクト要求が出された下位装置の識別子と、カレントターゲットアドレスレジスタ１０７に記憶されている識別子とを比較する。
この比較結果は、入出力制御装置制御回路１０２に通知され、一致した場合にはカレントポインタのセーブ／リストアを行わずにデータ転送処理を続行する。
【００１４】
以上に説明した入出力制御装置１００において、ＳＣＳＩインタフェース制御回路１０３を介して、下位装置からのメッセージ（Ｓａｖｅ  Ｄａｔａ  Ｐｏｉｎｔｅｒ）でカレントポインタのセーブ操作の指示があった場合に、本実施の形態では、以下に示すように制御するようにした。
まず、上記指示があった時点では、カレントポインタレジスタ１０４で表示されるカレントポインタをセーブポインタレジスタ１０５へセーブせず、カレントポインタセーブ状況管理部１０６にあるカレントポインタをセーブポインタにセーブしていないことを示すカレントポインタセーブ要求フラグのセットのみ行う。
【００１５】
この後で、つぎの２つの場合について、カレントポインタをセーブポインタにセーブするようにした。まず、第１は、リコネクト動作が行われてリコネクトしてきたターゲットの「ＳＣＳＩ  ＩＤ」とロジカルユニット番号に対して、カレントポインタに関するターゲットの「ＳＣＳＩ  ＩＤ」とロジカルユニット番号をカレントターゲットアドレスレジスタ１０７から読み出してターゲットアドレス比較回路１０８で比較を行い、この比較で一致せず、かつカレントポインタセーブ要求フラグがセットされている場合である。また、第２は、ＳＣＳＩバスがディスコネクト中に新たなＩ／Ｏプロセスが起動され、かつカレントポインタセーブ要求フラグがセットされている場合である。
【００１６】
また、セーブポインタのリストア動作では、まず、リコネクトしてきたターゲットの「ＳＣＳＩ  ＩＤ」とロジカルユニット番号に対して、カレントポインタに関するターゲットの「ＳＣＳＩ  ＩＤ」とロジカルユニット番号とを、カレントターゲットアドレスレジスタ１０７から読み出す。つぎに、読み出した「ＳＣＳＩ  ＩＤ」とロジカルユニット番号との比較を、ターゲットアドレス比較回路１０８行い、この比較が一致しなかった場合にセーブポインタをカレントポインタにリストアする。
本実施の形態では、以上に示したように、セーブポインタとリストアポインタのセーブ／リストアを行い、余分なセーブ／リストアをなくしてデータ転送の性能を向上させるようにした。
【００１７】
以下、本実施の形態における入出力制御装置１００の動作について、より詳細に説明する。
はじめに、比較のために、従来におけるデータ転送の流れを説明する。まず、データ転送中にディスコネクト要求があった場合、図２に示すように、Ｉ／Ｏプロセスの起動後、データ転送実行中に下位装置からディスコネクト要求があった場合、従来では、データフェーズにおいてメッセージインフェーズに移行してから「Ｓａｖｅ  Ｄａｔａ  Ｐｏｉｎｔｅｒ」メッセージを受領し（ステップＳ２０１）、ディスコネクトメッセージを受領し（ステップＳ２０２）、この後、必ず、カレントポインタをセーブポインタにセーブし（ステップＳ２０３）、この後、要求のあったディスコネクトを行い（ステップＳ２０４）、バスフリーフェーズに移行するようにしていた。
【００１８】
また、データ転送中のディスコネクトの後、下位装置からリコネクト要求があった場合、図３に示すように、従来では、ＳＣＳＩインタフェースリコネクト（ステップＳ３０１）の後、アービトレーションフェーズから、リセレクションフェーズを経てメッセージインフェーズとなってから、必ずセーブポインタからカレントポインタへリストアを行っていた（ステップＳ３０２）。
【００１９】
以上に示した従来の方式に対し、本実施の形態では、まず、データ転送中にディスコネクト要求があった場合、図４に示すように、「Ｓａｖｅ  Ｄａｔａ  Ｐｏｉｎｔｅｒ」メッセージ受領し（ステップＳ４０１）、ディスコネクトメッセージを受領し（ステップＳ４０２）、この後、カレントポインタセーブ状態管理部１６のカレントポインタ要求フラグのセットのみを行い（ステップＳ４０３）、カレントポインタのセーブポインタへのセーブは行わずに、ＳＣＳＩインタフェースのディスコネクトを行う（ステップＳ４０４）。
【００２０】
また、データ転送中のディスコネクトの後、下位装置からリコネクト要求があった場合、本実施の形態では、図５に示すように、まず、ＳＣＳＩインタフェースリコネクト（ステップＳ５０１）後、カレントターゲットアドレスレジスタ１０７から読み出した下位装置の「ＳＣＳＩ  ＩＤ」とロジカルユニット番号と、ＳＣＳＩインタフェース制御回路１０３から読み出したリコネクト要求してきた下位装置の「ＳＣＳＩ  ＩＤ」とロジカルユニット番号との比較を、ターゲットアドレス比較回路１０８で行う（ステップＳ５０２）ようにした。
【００２１】
ステップＳ５０２の比較で、「ＳＣＳＩ  ＩＤ」とロジカルユニット番号が一致しなかった場合、まず、カレントポインタセーブ状況管理部１０６のカレントポインタセーブ要求フラグのチェックを行う（ステップＳ５０３）。ステップＳ５０３のチェックでカレントポインタセーブ要求フラグがセットされていた場合には、カレントポインタセーブ要求フラグをリセットし（ステップＳ５０４）、カレントポインタレジスタ１０４のカレントポインタをセーブポインタレジスタ１０５にセーブし（ステップＳ５０５）、セーブポインタレジスタ１０５に予めセーブしてあるセーブポインタをカレントポインタレジスタ１０４にリストアする（ステップＳ５０６）。
【００２２】
ステップＳ５０３のチェックで、カレントポインタセーブ要求フラグがリセットされていた場合は、ステップＳ５０６に移行し、セーブポインタレジスタ１０５にセーブしてあるセーブポインタのカレントポインタレジスタ１０４へのリストアのみを行う。
一方、ステップＳ５０２の比較で、下位装置の「ＳＣＳＩ  ＩＤ」とロジカルユニット番号とが一致した場合は、カレントポインタのセーブ／リストアを行わずに中断していたデータ転送処理を再開する。
【００２３】
また、本実施の形態では、図６のフローに示すように、Ｉ／Ｏプロセス起動時に、カレントポインタセーブ状況管理部１０６のカレントポインタセーブ要求フラグのチェックを行い（ステップＳ６０１）、カレントポインタセーブ要求フラグがセットされていた場合には、カレントポインタセーブ要求フラグをリセットし（ステップＳ６０２）、カレントポインタレジスタ１０４のカレントポインタをセーブポインタレジスタ１０５にセーブする（ステップＳ６０３）。
【００２４】
したがって、例えば、３つの下位装置Ａ，下位装置Ｂ，下位装置Ｃが、ＳＣＳＩインタフェース１０９に接続されて３多重で動作している場合、下位装置Ｂと下位装置Ｃがすでにディスコネクト状態で、下位装置Ａがディスコネクトしたときは、カレントポインタレジスタ１０４には下位装置ＡのＳＣＳＩポインタが保持されている。この状態で、下位装置Ｂがリコネクトすると、カレントポインタレジスタ１０５のカレントポインタ（下位装置ＡのＳＣＳＩポインタ）は、セーブポインタレジスタ１０５にセーブされ、下位装置ＢのＳＣＳＩポインタが、新たなカレントポインタとしてカレントポインタレジスタ１０５にリストアされる。
【００２５】
この後、下位装置Ｃがリコネクトをすると、上述した実施の形態では、カレントポインタセーブ状況管理部１０６に保持されていたフラグがリセット（消去）されているため、カレントポインタのセーブ動作は行われない。このように、上述した実施の形態によれば、無駄な動作が省かれるようになり、より迅速にデータ転送の中断処理や再処理が行われるようになる。
【００２６】
【発明の効果】
以上説明したように、本発明によれば、カレントターゲットアドレスレジスタを用意し、これに保持されている識別子と下位装置の識別子とが一致すると、この下位装置との接続を継続するようにしたので、セーブポインタレジスタとカレントポインタレジスタとの間の、無駄なセーブ動作とリストア動作とを省けるようになり、無駄がなくより効率の良い状態でデータの転送ができるようになるというすぐれた効果が得られる。
【図面の簡単な説明】
【図１】本発明の実施の形態におけるＳＣＳＩポインタ制御方式を適用した入出力制御装置の構成を示す構成図である。
【図２】従来のデータ転送の流れを説明するフローチャートである。
【図３】従来のデータ転送の流れを説明するフローチャートである。
【図４】図１の入出力制御装置におけるデータ転送の流れを説明するフローチャートである。
【図５】図１の入出力制御装置におけるデータ転送の流れを説明するフローチャートである。
【図６】図１の入出力制御装置におけるデータ転送の流れを説明するフローチャートである。
【符号の説明】
１００…入出力制御装置、１０１…上位インタフェース制御回路、１０２…入出力制御装置制御回路、１０３…ＳＣＳＩインタフェース制御回路、１０４…カレントポインタレジスタ、１０５…セーブポインタレジスタ、１０６…カレントポインタセーブ状況管理部、１０７…カレントターゲットアドレスレジスタ、１０８…ターゲットアドレス比較回路、１０９…ＳＣＳＩインタフェース、１１０…Ｉ／Ｏインタフェース。
【図１】
0003632611.tif 000002
【図２】
0003632611.tif 000003
【図３】
0003632611.tif 000004
【図４】
0003632611.tif 000005
【図５】
0003632611.tif 000006
【図６】
0003632611.tif 000007