JP4032948B2 - Scsiインタフェース制御装置、プログラム - Google Patents

Scsiインタフェース制御装置、プログラム Download PDF

Info

Publication number
JP4032948B2
JP4032948B2 JP2002354485A JP2002354485A JP4032948B2 JP 4032948 B2 JP4032948 B2 JP 4032948B2 JP 2002354485 A JP2002354485 A JP 2002354485A JP 2002354485 A JP2002354485 A JP 2002354485A JP 4032948 B2 JP4032948 B2 JP 4032948B2
Authority
JP
Japan
Prior art keywords
message
unit
disconnect
scsi interface
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002354485A
Other languages
English (en)
Other versions
JP2004185518A (ja
Inventor
真 中島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2002354485A priority Critical patent/JP4032948B2/ja
Publication of JP2004185518A publication Critical patent/JP2004185518A/ja
Application granted granted Critical
Publication of JP4032948B2 publication Critical patent/JP4032948B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、ホスト(ホストコンピュータ)側インタフェースが複数の周辺装置に対するデータ転送を分割して処理することが不可能なコンピュータシステムであり、ホスト側の入出力インタフェースに独自規格のインタフェースが用いられており、周辺装置側の入出力インタフェースにSCSI(Small Computer Systems Interface)インタフェースが用いられているコンピュータシステムにおけるSCSIインタフェース制御装置に関する。
【0002】
ここで、本発明のSCSIインタフェース制御装置は、上位インタフェースとSCSIインタフェースとの間のプロトコル変換部分に、周辺装置から要求されるディスコネクト(SCSIインタフェースに対するデータ転送中に一時的にデータ転送を止めてSCSIバスを解放すること)を抑止する機能を設けたことを特徴としている。
【0003】
【従来の技術】
本発明で対象とする周辺装置側の入出力インタフェースは、周辺機器(周辺装置)インタフェースとしてANSI(American National Standards Institute)によって標準化されているSCSI規格に応じたインタフェースである。なお、本明細書では、この「SCSI規格に応じたインタフェース」をSCSIインタフェースという。
【0004】
SCSIインタフェースは、小規模システム用の周辺機器インタフェースとして規格化されたものであるが、近年、中/大規模システム用の周辺機器インタフェースとしても多くの装置に採用されている。
【0005】
したがって、従来より、SCSIインタフェースの制御に関しては、各種の技術が開発されている(例えば、特許文献1および特許文献2参照)。
【0006】
SCSIインタフェース上の全ての動作はバス・フェーズという単位に細分化することができ、バス・フェーズとして、バスフリー・フェーズ,アービトレーション・フェーズ,セレクション・フェーズ,リセレクション・フェーズ,コマンド・フェーズ,データ・フェーズ,ステータス・フェーズ,およびメッセージ・フェーズの8種類が定義されている。
【0007】
近年、周辺系入出力インタフェース(周辺装置に対する入出力インタフェース)に独自規格のインタフェースを用いたホストに対して、SCSIインタフェースを用いた周辺装置を接続する機会が多くなってきた。そこで、ホストと周辺装置との間に接続され、ホスト側のインタフェース(上位インタフェース)と周辺装置側のSCSIインタフェースとの間におけるプロトコル変換を行うアダプタであるSCSIインタフェース制御装置を用いて、上記のような機会における接続環境が実現されている。
【0008】
しかし、従来のSCSIインタフェース制御装置では、上位インタフェース仕様の制限によって、以下のような状態に陥ってしまう場合がある。
【0009】
すなわち、SCSIインタフェースにデイジーチェインで接続された複数の周辺装置が存在する構成のコンピュータシステムにおいて、1台の周辺装置(周辺装置Aと呼ぶ)に対するRead/Write時におけるデータ転送開始要求によって上位インタフェースのデータ転送が起動した後に、周辺装置Aがデータ転送を中断し、SCSIインタフェースの論理的切り離しを行った際に、デイジーチェインしている他の周辺装置(周辺装置Bと呼ぶ)が、そのSCSIインタフェースの空き状態を見計らってデータ転送開始要求を行った場合に、上位インタフェースには周辺装置Aに対するデータが流れてきているのにもかかわらず、SCSIインタフェースは周辺装置Bに占有されている状態となり、上位インタフェースが期待している周辺装置以外の周辺装置(上記の例では周辺装置B)にデータが流れてしまい、インタフェース障害が発生してしまう(図11参照)。
【0010】
この場合に、従来の技術では、一般的に、モードセレクトコマンドにより、周辺装置に対して、データ転送中のディスコネクト処理を規制(禁止)するためのDTDC(Data Transfer Disconnect Control)という制御フラグを設定する方法が用いられている。
【0011】
しかし、周辺装置によっては、モードセレクトコマンドの中にDTDCを設定することができない装置が存在する。
【0012】
そこで、このような周辺装置(モードセレクトコマンドの中にDTDCを設定することができない装置)を対象とする従来の技術では、データ転送のインタフェース障害を回避するために、周辺装置Aに対してRead/Writeを行っているときには周辺装置Bに対してコマンドを発行するのを待ち合わせるようにしていた(図12参照)。
【0013】
なお、先に引用した特許文献1および特許文献2に記載された技術と本願発明のSCSIインタフェース制御装置との差異について、以下に付記する。
【0014】
本願発明のSCSIインタフェース制御装置には、図2中のデータ残余カウントレジスタ60,メッセージレジスタ61,データ転送ディスコネクト判定部62,ディスコネクト抑止設定フラグ63,ディスコネクト抑止設定フラグ63,およびメッセージリジェクト送出判定部64を備えるディスコネクト抑止部6等の特有の構成要素が設けられている。そして、そのような従来にない構成によって、後述のように、ターゲット(周辺装置)側がデータ転送中にディスコネクトを行おうとした場合に、ディスコネクトメッセージをリジェクトすることで、データ転送開始から終了するまでSCSIバスが解放されることなく、データ転送が行えるようになるという効果がある。このような構成および効果を有する本願発明は、特許文献1および特許文献2に記載された技術とは明確に異なるものである。
【0015】
【特許文献1】
特開平3−105541号公報(第10頁、図2)
【0016】
【特許文献2】
特開平4−36853号公報(第3−4頁、図1)
【0017】
【発明が解決しようとする課題】
上述した従来の技術による解決法(周辺装置Aに対してRead/Writeを行っているときに周辺装置Bに対してコマンドを発行するのを待ち合わせる解決法)では、デイジーチェインで接続された複数の周辺装置に対するRead/Writeの多重処理ができないため、ある周辺装置(上例の周辺装置A)のRead/Write処理が周辺装置内部の再試行処理等により間延びした場合に、待ち合わせている他の周辺装置(上例の周辺装置B)に対するRead/Write処理が遅れるという問題点があった。
【0018】
本発明の主な目的は、上述の点に鑑み、Read/Write処理においてデータ転送中にはディスコネクトを抑止でき、かつ、データ転送中以外のディスコネクト時には多重処理を可能とし、ある周辺装置に対するRead/Write処理の実行に関して他の周辺装置の処理遅延の影響を受けないようにすることができるSCSIインタフェース制御装置を提供することにある。
【0019】
【課題を解決するための手段】
本発明のSCSIインタフェース制御装置は、周辺系入出力インタフェースに独自規格のインタフェースを用いたホストと接続する上位インタフェース部と、入出力インタフェースにSCSIインタフェースを用いた複数の周辺装置と接続するSCSIインタフェース部と、ホストのインタフェースと周辺装置のSCSIインタフェースとの間のプロトコル変換を行うプロトコル変換部とを有するSCSIインタフェース制御装置において、ホストと周辺装置との間のデータ転送中に、周辺装置からディスコネクト要求が発生した場合に、ディスコネクトを抑止するための指示を発行しデータ転送中のディスコネクトの抑止を行うディスコネクト抑止部を有し、SCSIインタフェース部は、ディスコネクト抑止部からディスコネクト抑止の指示を受けるとディスコネクト要求に対するリジェクトメッセージを周辺装置に送出するメッセージリジェクト処理部を有し、ディスコネクト抑止部は、SCSIインタフェース部から受信したデータ残余カウントを保持するデータ残余カウントレジスタと、SCSIインタフェース部によってメッセージフェーズ中に得られたメッセージを保持するメッセージレジスタと、データ残余カウントレジスタとメッセージレジスタとを参照してデータ転送中にディスコネクト要求が発生したか否かを判定するデータ転送ディスコネクト判定部と、ディスコネクト抑止を示す情報が設定されるディスコネクト抑止設定フラグと、ディスコネクト抑止設定フラグの情報およびデータ転送ディスコネクト判定部の出力からメッセージリジェクトメッセージを発行すべきか否かを判定し、発行すべきと判断した場合にメッセージリジェクトメッセージ送出指示をSCSIインタフェース部に出力するメッセージリジェクト送出判定部とを有することを特徴とする。
【0020】
ディスコネクト抑止設定フラグは、周辺装置の接続状況がデイジーチェイン構成のとき、ディスコネクト抑止を示す情報が設定されることを特徴とする
【0021】
SCSIインタフェース部は、周辺装置の接続状況を判定しディスコネクト抑止設定フラグにディスコネクト抑止を示す情報を設定するディスコネクト抑止設定フラグ設定部と、データ転送処理の開始から終了の過程で転送対象のデータに関するデータ残余カウントの値を更新し更新した値をデータ残余カウントレジスタに送信し設定するデータ残余カウント更新部と、ディスコネクトメッセージを含むメッセージが発生した場合にメッセージをメッセージレジスタに送信し設定するメッセージ設定部とを有することを特徴とする。
【0022】
ディスコネクト抑止設定フラグの設定を外部からの指示・入力に基づいて行う手段を有し、SCSIインタフェース部は、データ転送処理の開始から終了の過程で転送対象のデータに関するデータ残余カウントの値を更新し更新した値をデータ残余カウントレジスタに送信し設定するデータ残余カウント更新部と、ディスコネクトメッセージを含むメッセージが発生した場合にメッセージをメッセージレジスタに送信し設定するメッセージ設定部とを有することを特徴とする。
【0023】
本発明のプログラムは、周辺系入出力インタフェースに独自規格のインタフェースを用いたホストと接続する上位インタフェース部と、入出力インタフェースにSCSIインタフェースを用いた複数の周辺装置と接続するSCSIインタフェース部と、ホストのインタフェースと周辺装置のSCSIインタフェースとの間のプロトコル変換を行うプロトコル変換部とを有するSCSIインタフェース制御装置用のプログラムであって、SCSIインタフェース制御装置を、ホストと周辺装置との間のデータ転送中に、周辺装置からディスコネクト要求が発生した場合に、ディスコネクトを抑止するための指示を発行しデータ転送中のディスコネクトの抑止をディスコネクト抑止部により行う手段と、SCSIインタフェース部は、ディスコネクト抑止部からディスコネクト抑止の指示を受けるとディスコネクト要求に対するリジェクトメッセージを周辺装置にメッセージリジェクト処理部により送出する手段として機能させ、ディスコネクト抑止部は、SCSIインタフェース部から受信したデータ残余カウントをデータ残余カウントレジスタに保持する手段と、SCSIインタフェース部によってメッセージフェーズ中に得られたメッセージをメッセージレジスタに保持する手段と、データ残余カウントレジスタとメッセージレジスタとを参照してデータ転送中にディスコネクト要求が発生したか否かをデータ転送ディスコネクト判定部により判定する手段と、ディスコネクト抑止を示す情報がディスコネクト抑止設定フラグにより設定される手段と、メッセージリジェクト送出判定部によりディスコネクト抑止設定フラグの情報およびデータ転送ディスコネクト判定部の出力からメッセージリジェクトメッセージを発行すべきか否かを判定し、発行すべきと判断した場合にメッセージリジェクトメッセージ送出指示をSCSIインタフェース部に出力する手段として機能させ、SCSIインタフェース部は、周辺装置の接続状況を判定しディスコネクト抑止設定フラグにディスコネクト抑止を示す情報をディスコネクト抑止設定フラグ設定部により設定する手段と、データ残余カウント更新部によりデータ転送処理の開始から終了の過程で転送対象のデータに関するデータ残余カウントの値を更新し更新した値をデータ残余カウントレジスタに送信し設定する手段と、メッセージ設定部によりディスコネクトメッセージを含むメッセージが発生した場合にメッセージをメッセージレジスタに送信し設定する手段として機能させることを特徴とする。
【0026】
【発明の実施の形態】
次に、本発明について図面を参照して詳細に説明する。
【0027】
(1) 第1の実施の形態
【0028】
図1は、本発明の第1の実施の形態に係るSCSIインタフェース制御装置(SCSIインタフェース制御装置2)を含むコンピュータシステムの構成を示すブロック図である。
【0029】
図1を参照すると、このコンピュータシステムは、ホスト1と、ホスト1の入出力インタフェース(周辺系入出力インタフェース)と周辺装置8〜10の入出力インタフェースであるSCSIインタフェースとの間のプロトコル変換・接続を行うSCSIインタフェース制御装置2と、SCSIバス7と、周辺装置8〜10とを含んで構成されている。なお、周辺装置の数が3台に限定されないことはいうまでもない。
【0030】
SCSIインタフェース制御装置2は、ホスト1との接続・インタフェース(上位インタフェース)を実現する上位インタフェース部3と、周辺装置8〜10との接続・インタフェース(SCSIインタフェース)を実現するSCSIインタフェース部5と、上位インタフェースとSCSIインタフェースとの間のプロトコル変換を行うプロトコル変換部4と、本発明に特有のディスコネクト抑止部6とを含んで構成されている。
【0031】
なお、図1中のホスト1および周辺装置8〜10の詳細な構成は、本発明とは直接関係しない(従来技術と同様である)ので、その説明を省略する。
【0032】
図2は、図1中のSCSIインタフェース部5およびディスコネクト抑止部6の詳細な構成を示すブロック図である。
【0033】
SCSIインタフェース部5は、従来から存在する一般的なインタフェース機能を実現する処理部とともに、周辺装置の接続状況を判定してその接続状況がSCSIインタフェースにデイジーチェインで接続された複数の周辺装置が存在する構成(本明細書では、単に「デイジーチェイン構成」と呼ぶことがある)であると判断した場合にディスコネクト抑止部6内のディスコネクト抑止設定フラグ63に「ディスコネクト抑止」を示す情報を設定するディスコネクト抑止設定フラグ設定部50と、データ転送処理の開始から終了の過程で転送対象のデータに関するデータ残余カウントの値を更新してその値をディスコネクト抑止部6内のデータ残余カウントレジスタ60に送信し設定するデータ残余カウント更新部51と、ディスコネクトメッセージを含むメッセージが発生した場合(メッセージフェーズ中にメッセージを取得した場合)にそのメッセージをディスコネクト抑止部6内のメッセージレジスタ61に送信し設定するメッセージ設定部52と、ディスコネクト抑止部6からメッセージリジェクトメッセージ送出指示を受けた場合に該当する周辺装置8/9/10に対してメッセージリジェクトメッセージを出力するメッセージリジェクト処理部53とを含んで構成されている。
【0034】
ディスコネクト抑止部6は、SCSIインタフェース部5から受信したデータ残余カウントを保持するデータ残余カウントレジスタ60と、SCSIインタフェース部5によってメッセージフェーズ中に得られたメッセージを保持するメッセージレジスタ61と、データ残余カウントレジスタ60とメッセージレジスタ61とを参照してデータ転送中にディスコネクト要求が発生したか否かを判定するデータ転送ディスコネクト判定部62と、周辺装置の接続状況がデイジーチェイン構成の場合に「ディスコネクト抑止」を示す情報が設定されるディスコネクト抑止設定フラグ63と、ディスコネクト抑止設定フラグ63の内容およびデータ転送ディスコネクト判定部62の出力からメッセージリジェクトメッセージを発行すべきか否かを判定し発行すべきと判断した場合にメッセージリジェクトメッセージ送出指示をSCSIインタフェース部5に出力するメッセージリジェクト送出判定部64とを含んで構成されている。
【0035】
なお、上記の図1および図2におけるディスコネクト抑止部6,データ転送ディスコネクト判定部62,およびメッセージリジェクト送出判定部64は、ハードウェアである回路として実現されることが一般的である。だたし、ソフトウェアやファームウェアとしても実現可能であることはいうまでもない。
【0036】
図3は、SCSIインタフェース制御装置2の基本的な動作フローを説明するための図である(図3では、例として、Writeコマンドの実行に基づくデータ転送時の動作フローを示している)。この動作フローは、ホスト1におけるWriteコマンド発行ステップA30,データ転送ステップA31,およびデータ転送終了報告ステップA32と、SCSIインタフェース制御装置2におけるWriteコマンド発行ステップB30,Writeデータ受信準備完了通知ステップB31,およびWriteコマンド処理終了報告ステップB32と、周辺装置8におけるWriteデータ受信準備完了通知ステップC30,データ転送終了報告ステップC31,およびWriteコマンド処理終了報告ステップC32とからなる。
【0037】
図4は、SCSIインタフェース制御装置2のデータ転送中にディスコネクトが発生した場合の動作フローを説明するための図である(図4では、例として、Writeコマンドの実行に基づくデータ転送中にディスコネクトが発生した場合の動作フローを示している)。この動作フローは、ホスト1におけるWriteコマンド発行ステップA40,データ転送ステップA41,データ転送ステップA42,およびデータ転送終了報告ステップA43と、SCSIインタフェース制御装置2におけるWriteコマンド発行ステップB40,Writeデータ受信準備完了通知ステップB41,メッセージリジェクトメッセージ送出ステップB42,およびWriteコマンド処理終了報告ステップB43と、周辺装置8におけるWriteデータ受信準備完了通知ステップC40,ディスコネクトメッセージ送信ステップC41,データ転送終了報告ステップC42,およびWriteコマンド処理終了報告ステップC43とからなる。
【0038】
図5は、SCSIインタフェース制御装置2におけるディスコネクト抑止設定フラグ設定処理を示す流れ図である。この処理は、周辺装置接続状況判定ステップS50と、「ディスコネクト抑止」設定ステップS51とからなる。
【0039】
図6は、SCSIインタフェース制御装置2のSCSIインタフェース部5におけるデータ転送中ディスコネクト発生対応処理を示す流れ図である。この処理は、データ転送開始時データ残余カウントレジスタ値更新ステップS60と、データ転送終了判定ステップS61と、データ残余カウントレジスタ値減少ステップS62と、ディスコネクト要求発生判定ステップS63と、ディスコネクトメッセージ格納ステップS64と、メッセージリジェクトメッセージ送出指示有無判定ステップS65と、メッセージリジェクトメッセージ出力ステップS66と、ディスコネクト処理ステップS67とからなる。
【0040】
図7は、SCSIインタフェース制御装置2のディスコネクト抑止部6におけるデータ転送中ディスコネクト発生対応処理を示す流れ図である。この処理は、データ転送ディスコネクト判定部条件判定ステップS70と、メッセージリジェクト送出判定部条件判定ステップS71と、メッセージリジェクトメッセージ送出指示発行ステップS72とからなる。
【0041】
次に、図1〜図7を参照して、上記のように構成された本実施の形態に係るSCSIインタフェース制御装置(SCSIインタフェース制御装置2)の動作について詳細に説明する。
【0042】
初めに、本発明に関する動作説明の前提として、図1に示す構成のコンピュータシステムにおけるデータ転送に関する基本的な動作(ここでは、ホスト1から周辺装置8にWriteコマンドが発行された場合のデータ転送に関する動作)について説明する(図1および図3参照)。なお、この動作シーケンス時には、ディスコネクト抑止部6は起動しない。
【0043】
まず、ホスト1が、SCSIインタフェース制御装置2に対して、Writeコマンドの発行を行う(ステップA30)。
【0044】
SCSIインタフェース制御装置2は、上位インタフェース部3によって、このWriteコマンドを受け取り、プロトコル変換部4によって、このWriteコマンドの情報を基に、SCSIプロトコル変換を行い、SCSIインタフェースに適合するWriteコマンドを生成する。その上で、SCSIインタフェース部5を用いて、周辺装置8に対して、当該Writeコマンドの発行を行う(ステップB30)。
【0045】
周辺装置8は、そのWriteコマンドを受信してWriteデータ(Writeコマンドに基づく転送対象のデータ)の受信準備を行うと、Writeデータ受信準備が完了した旨をSCSIインタフェース制御装置2に伝えるために、SCSIバス7をデータ・アウト・フェーズに遷移させる(ステップC30)。
【0046】
これにより、SCSIインタフェース制御装置2は、上位インタフェース部3を用いて、周辺装置8のWriteデータ受信準備が完了した旨をホスト1に伝える(ステップB31)。
【0047】
ホスト1は、Writeデータ受信準備が完了した旨の連絡を受けて、データ転送(ホスト1から周辺装置8へのSCSIインタフェース制御装置2を介した当該Writeデータの転送)を開始する(ステップA31)。
【0048】
このデータ転送が終了すると、ホスト1は、SCSIインタフェース制御装置2に対してデータ転送終了報告を送信する(ステップA32)。同様に、周辺装置8も、SCSIインタフェース制御装置2に対してデータ転送終了報告を送信する(ステップC31)。これにより、データ転送が完了する。
【0049】
その後、周辺装置8は、Writeコマンドによる処理が終了したことをSCSIインタフェース制御装置2に報告(送信)する(ステップC32)。その情報を受信したSCSIインタフェース制御装置2は、その情報に基づきホスト1に対してWriteコマンドによる処理が終了したことを報告する(ステップB32)。
【0050】
上記の一連の動作により、図3に示すWriteコマンド処理(Writeコマンドに基づく処理)が完了する。
【0051】
次に、上記のようなデータ転送中にディスコネクトが発生した場合の動作について説明する(図1,図2,および図4参照)。
【0052】
ステップA40,ステップB40,ステップC40,およびステップB41の処理を経て、ステップA41でデータ転送が開始されるまでの一連の処理は、上述の図3におけるステップA30,ステップB30,ステップC30,およびステップB31の処理を経て、ステップA31でデータ転送が開始されるまでの一連の処理と同様である。
【0053】
ここで、このデータ転送中に、周辺装置8が、SCSIバス7をメッセージ・イン・フェーズに遷移させて、ディスコネクトメッセージをSCSIインタフェース制御装置2に送信した場合を考える(ステップC41)。
【0054】
この場合には、SCSIインタフェース制御装置2は、SCSIインタフェース部5およびディスコネクト抑止部6(図2参照)によって、次のような動作を行う。なお、この場合に、データ残余カウントレジスタ60には、データ転送中であることから0以外の値が格納されており、メッセージレジスタ61にはディスコネクトメッセージが格納されている。また、ディスコネクト抑止設定フラグ63には、「ディスコネクト抑止」を示す値が設定されている。
【0055】
ディスコネクト抑止部6内のデータ転送ディスコネクト判定部62は、メッセージレジスタ61にメッセージが格納されたことを契機に起動し、データ残余カウントレジスタ60の内容(0ではないデータ残余カウントの値)とメッセージレジスタ61の内容(ディスコネクトメッセージ)とから「データ転送中にディスコネクト要求が発生した」と判断し、メッセージリジェクト送出判定部64の起動を行う。
【0056】
メッセージリジェクト送出判定部64は、ディスコネクト抑止設定フラグ63の内容(「ディスコネクト抑止」を示す値)からメッセージリジェクトメッセージを送出すべきと判断し、SCSIインタフェース部5に対してメッセージリジェクトメッセージ送出指示を行う。
【0057】
そして、SCSIインタフェース制御装置2は、このメッセージリジェクトメッセージ送出指示に基づいて、SCSIインタフェース部5内のメッセージリジェクト処理部53によって、メッセージリジェクトメッセージをSCSIバス7を介して周辺装置8に送出する(ステップB42)。
【0058】
周辺装置8は、ステップC41のディスコネクトメッセージの送信に対してSCSIインタフェース制御装置2からメッセージリジェクトメッセージを受信すると、データ・アウト・フェーズに戻す。これにより、ホスト1は、周辺装置8へのデータ転送を継続する(ステップA42)。
【0059】
全てのデータ転送が終了すると、ホスト1は、SCSIインタフェース制御装置2に対してデータ転送終了報告を送信する(ステップA43)。同様に、周辺装置8も、SCSIインタフェース制御装置2に対してデータ転送終了報告を送信する(ステップC42)。これにより、データ転送が完了する。
【0060】
その後、周辺装置8は、Writeコマンドによる処理が終了したことをSCSIインタフェース制御装置2に報告(送信)する(ステップC43)。その情報を受信したSCSIインタフェース制御装置2は、その情報に基づきホスト1に対してWriteコマンドによる処理が終了したことを報告する(ステップB43)。
【0061】
上記の一連の動作により、図4に示すWriteコマンド処理が完了する。
【0062】
次に、図5〜図7の流れ図を参照して、上記のようなデータ転送中のディスコネクト要求の発生時における動作を実現するためのSCSIインタフェース制御装置2内のSCSIインタフェース部5およびディスコネクト抑止部6の処理(動作)について詳細に説明する。
【0063】
第1に、ディスコネクト抑止設定フラグ63の設定処理時の動作について説明する(図5参照)。
【0064】
SCSIインタフェース部5内のディスコネクト抑止設定フラグ設定部50は、周辺装置の接続状況を判断し、デイジーチェイン構成(SCSIインタフェースにデイジーチェインで接続された複数の周辺装置が存在する構成)であるか否かを判定する(ステップS50)。具体的には、全てのSCSI−ID(IDentification)に対してセレクションを行い、複数のSCSI−IDよりセレクションの応答がある場合に、デイジーチェイン構成であると判断する。
【0065】
ディスコネクト抑止設定フラグ設定部50は、ステップS50で「周辺装置の接続状況がデイジーチェイン構成である」と判定した場合には、ディスコネクト抑止部6内のディスコネクト抑止設定フラグ63に「ディスコネクト抑止」を示す情報を設定する(ステップS51)。図1に示す構成においては、周辺装置8〜10が存在しているので、この設定が行われる。
【0066】
第2に、データ転送中に周辺装置側からディスコネクト要求(ディスコネクトメッセージの送出)が生じた場合のSCSIインタフェース部5における動作(処理)について説明する(図6参照)。
【0067】
SCSIインタフェース部5内のデータ残余カウント更新部51は、データ転送が開始されると、転送対象のデータの全データ量を示す値となるように、ディスコネクト抑止部6内のデータ残余カウントレジスタ60中のデータ残余カウントの値を更新する(ステップS60)。
【0068】
以後、データ転送の進捗過程で、データ残余カウント更新部51は、データ転送が終了したか否かを判定した上で(ステップS61)、データ転送が完了するまで、順次、データ残余カウントレジスタ60の値を減じていく(ステップS62)。
【0069】
メッセージ設定部52は、上記のようなデータ転送中に、周辺装置側からディスコネクト要求が発生したか否かを判定する(ステップS63)。そして、ステップS63で「ディスコネクト要求が発生した」と判定した場合には、ディスコネクト抑止部6内のメッセージレジスタ61にディスコネクトメッセージを格納する(ステップS64)。
【0070】
メッセージリジェクト処理部53は、上記のディスコネクトメッセージに対するものとしてディスコネクト抑止部6からメッセージリジェクトメッセージ送出指示を受けたか否かを判定し(ステップS65)、ステップS65で「メッセージリジェクトメッセージ送出指示を受けた」と判定した場合には周辺装置8に対してディスコネクトを抑止するためのメッセージリジェクトメッセージを出力する(ステップS66)。
【0071】
一方、メッセージリジェクト処理部53が、ステップS65で「メッセージリジェクトメッセージ送出指示を受けていない」と判定した場合(ディスコネクトメッセージを送出してから一定時間その応答がない場合)には、SCSIインタフェース部5は、ディスコネクト処理を行う(ステップS67)。ここで、本実施の形態では、ディスコネクトメッセージを送出してから一定時間その応答がない場合に、「メッセージリジェクトメッセージを出力しない」と判断するようにしているが、同様の場合にディスコネクト抑止部6からSCSIインタフェース部5に対してメッセージリジェクトメッセージを出力すべきでない旨の指示が行われるようにすることも可能である。
【0072】
第3に、データ転送中に周辺装置側からディスコネクト要求(ディスコネクトメッセージの送出)が生じた場合のディスコネクト抑止部6における動作(処理)について説明する(図7参照)。
【0073】
ディスコネクト抑止部6内のデータ転送ディスコネクト判定部62は、データ残余カウントレジスタ60およびメッセージレジスタ61の内容に基づいて以下のaおよびbに示すような条件(データ転送中ディスコネクト発生条件)を満たすか否かを判定する(ステップS70)。
【0074】
a.データ残余カウントレジスタ60内のデータ残余カウントの値が0ではない。すなわち、データ残余カウントレジスタ60に、データ転送中であることを示す値が設定されている。
【0075】
b.メッセージレジスタ61にディスコネクトメッセージが格納されている。すなわち、周辺装置側からのディスコネクト要求が発生している。
【0076】
データ転送ディスコネクト判定部62は、ステップS70で「データ転送中ディスコネクト発生条件を満たす」と判定した場合には、メッセージリジェクト送出判定部64を起動する。
【0077】
起動されたメッセージリジェクト送出判定部64は、ディスコネクト抑止設定フラグ63がディスコネクト抑止状態である(「ディスコネクト抑止」を示す情報が設定されている)か否かを判定する(ステップS71)。
【0078】
メッセージリジェクト送出判定部64は、ステップS71で「ディスコネクト抑止設定フラグ63がディスコネクト抑止状態である」と判定した場合には、メッセージリジェクトメッセージ出力起動(メッセージリジェクトメッセージ送出指示の発行)をSCSIインタフェース部5に対して実施する(ステップS72)。
【0079】
(2) 第2の実施の形態
【0080】
図8は、本発明の第2の実施の形態に係るSCSIインタフェース制御装置中のSCSIインタフェース部5およびディスコネクト抑止部6の詳細な構成を示すブロック図である。
【0081】
なお、先述の図1は、本発明の第2の実施の形態に係るSCSIインタフェース制御装置(SCSIインタフェース制御装置2)を含むコンピュータシステムの構成を示すブロック図でもある。
【0082】
本実施の形態は、上記の第1の実施の形態に対する変形形態に該当する。すなわち、本実施の形態では、SCSIインタフェース部5内にディスコネクト抑止設定フラグ設定部50が存在せず、外部からの指示・入力に基づいてディスコネクト抑止部6内のディスコネクト抑止設定フラグ63の設定が行われる。
【0083】
図2に示すように、第1の実施の形態に係るSCSIインタフェース制御装置では、ディスコネクト抑止部6内のディスコネクト抑止設定フラグ63に対する設定処理は、SCSIインタフェース部5内のディスコネクト抑止設定フラグ設定部50によって行われていた。
【0084】
これに対して、本実施の形態では、ディスコネクト抑止設定フラグ63に対する設定処理は、例えば、オペレータ等による外部からの操作(指示・入力)に基づいて行われる。
【0085】
なお、上記以外の構成および動作については、本実施の形態(第2の実施の形態)も第1の実施の形態も同様のものとなる。
【0086】
(3) 第3の実施の形態
【0087】
図9は、本発明の第3の実施の形態の構成を示すブロック図である。
【0088】
図9を参照すると、本発明の第3の実施の形態は、図1および図2に示した第1の実施の形態に対して、ディスコネクト抑止制御プログラム90を備える点が異なっている。
【0089】
ディスコネクト抑止制御プログラム90は、SCSIインタフェース制御装置2に読み込まれ、当該SCSIインタフェース制御装置2の動作をSCSIインタフェース部5およびディスコネクト抑止部6として制御する。ディスコネクト抑止制御プログラム90の制御によるSCSIインタフェース部5の動作(ディスコネクト抑止設定フラグ設定部50,データ残余カウント更新部51,メッセージ設定部52,およびメッセージリジェクト処理部53に関する動作)およびディスコネクト抑止部6の動作(データ残余カウントレジスタ60およびメッセージレジスタ61が存在することを前提とするデータ転送ディスコネクト判定部62,ディスコネクト抑止設定フラグ63,およびメッセージリジェクト送出判定部64に関する動作)は、第1の実施の形態におけるSCSIインタフェース部5およびディスコネクト抑止部6に関する動作と全く同様になるので、その詳しい説明を割愛する。
【0090】
(4) 第4の実施の形態
【0091】
図10は、本発明の第4の実施の形態の構成を示すブロック図である。
【0092】
図10を参照すると、本発明の第4の実施の形態は、図1および図8に示した第2の実施の形態に対して、ディスコネクト抑止制御プログラム100を備える点が異なっている。
【0093】
ディスコネクト抑止制御プログラム100は、SCSIインタフェース制御装置2に読み込まれ、当該SCSIインタフェース制御装置2の動作をSCSIインタフェース部5およびディスコネクト抑止部6として制御する。ディスコネクト抑止制御プログラム100の制御によるSCSIインタフェース部5の動作(データ残余カウント更新部51,メッセージ設定部52,およびメッセージリジェクト処理部53に関する動作)およびディスコネクト抑止部6の動作(データ残余カウントレジスタ60およびメッセージレジスタ61が存在することを前提とするデータ転送ディスコネクト判定部62,ディスコネクト抑止設定フラグ63,およびメッセージリジェクト送出判定部64に関する動作)は、第2の実施の形態におけるSCSIインタフェース部5およびディスコネクト抑止部6に関する動作と全く同様になるので、その詳しい説明を割愛する。
【0094】
【発明の効果】
以上説明したように、本発明によると、以下に示すような効果が生じる。
【0095】
第1の効果は、ホスト側インタフェースが複数の周辺装置に対するデータ転送を分割して処理することが不可能なコンピュータシステムであり、ホスト側の入出力インタフェースに独自規格のインタフェースが用いられており、周辺装置側の入出力インタフェースにSCSIインタフェースが用いられているコンピュータシステムにおいて、周辺装置の接続状況がSCSIインタフェースにデイジーチェインで接続された複数の周辺装置が存在する構成(デイジーチェイン構成)である場合に、上位インタフェースのデータ転送が完了するまでの間に他の周辺装置からデータ転送が開始されることがなくなることにより、上位インタフェース側にてデータ転送のタイムアウトによるインタフェース障害が発生しなくなるということにある。
【0096】
第2の効果は、上位インタフェース側にてデータ転送の際におけるインタフェース障害が発生しなくなることから、Read/Write等のデータ転送を伴うコマンドをデータ転送中以外に複数の周辺装置に対して多重に発行することが可能となり、コンピュータシステムにおける多重処理の性能が向上するということにある。
【0097】
すなわち、SCSIインタフェースに対するデータ転送中のディスコネクト抑止部を設けることにより、ホスト側インタフェースが複数の周辺装置に対するデータ転送を分割して処理することができないコンピュータシステムにおいて、データ転送中以外のディスコネクト時に多重処理が可能となり(データ転送中のディスコネクトを抑止することにより、SCSIインタフェースにデイジーチェインで接続された複数の周辺装置に対するRead/Write処理の多重処理を可能とし)、ある周辺装置に対するRead/Write処理の実行に関して他の周辺装置の処理遅延の影響を受けなくすることができるという効果が得られる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態および第2の実施の形態に係るSCSIインタフェース制御装置を含むコンピュータシステムの構成を示すブロック図である。
【図2】図1に示すSCSIインタフェース制御装置内のSCSIインタフェース部およびディスコネクト抑止部の詳細な構成を示すブロック図である。
【図3】図1に示すSCSIインタフェース制御装置の動作を説明するための図(SCSIインタフェース制御装置の基本的な動作フローを説明するための図)である。
【図4】図1に示すSCSIインタフェース制御装置の動作を説明するための図(SCSIインタフェース制御装置のデータ転送中にディスコネクトが発生した場合の動作フローを説明するための図)である。
【図5】図1に示すSCSIインタフェース制御装置におけるディスコネクト抑止設定フラグ設定処理を示す流れ図である。
【図6】図1に示すSCSIインタフェース制御装置のSCSIインタフェース部におけるデータ転送中ディスコネクト発生対応処理を示す流れ図である。
【図7】図1に示すSCSIインタフェース制御装置のディスコネクト抑止部におけるデータ転送中ディスコネクト発生対応処理を示す流れ図である。
【図8】本発明の第2の実施の形態に係るSCSIインタフェース制御装置内のSCSIインタフェース部およびディスコネクト抑止部の詳細な構成を示すブロック図である。
【図9】本発明の第3の実施の形態の構成を示すブロック図である。
【図10】本発明の第4の実施の形態の構成を示すブロック図である。
【図11】従来の技術の動作を説明するための図である。
【図12】従来の技術の動作を説明するための図である。
【符号の説明】
1 ホスト
2 SCSIインタフェース制御装置
3 上位インタフェース部
4 プロトコル変換部
5 SCSIインタフェース部
6 ディスコネクト抑止部
7 SCSIバス
8,9,10 周辺装置
50 ディスコネクト抑止設定フラグ設定部
51 データ残余カウント更新部
52 メッセージ設定部
53 メッセージリジェクト処理部
60 データ残余カウントレジスタ
61 メッセージレジスタ
62 データ転送ディスコネクト判定部
63 ディスコネクト抑止設定フラグ
64 メッセージリジェクト送出判定部
90,100 ディスコネクト抑止制御プログラム

Claims (5)

  1. 周辺系入出力インタフェースに独自規格のインタフェースを用いたホストと接続する上位インタフェース部と、入出力インタフェースにSCSIインタフェースを用いた複数の周辺装置と接続するSCSIインタフェース部と、前記ホストの前記インタフェースと前記周辺装置の前記SCSIインタフェースとの間のプロトコル変換を行うプロトコル変換部とを有するSCSIインタフェース制御装置において、前記ホストと前記周辺装置との間のデータ転送中に、前記周辺装置からディスコネクト要求が発生した場合にディスコネクトを抑止するための指示を発行しデータ転送中のディスコネクトの抑止を行うディスコネクト抑止部を有し、前記SCSIインタフェース部は、前記ディスコネクト抑止部からディスコネクト抑止の指示を受けるとディスコネクト要求に対するリジェクトメッセージを前記周辺装置に送出するメッセージリジェクト処理部を有し、前記ディスコネクト抑止部は、前記SCSIインタフェース部から受信した転送対象のデータ量を示すデータ残余カウントを保持するデータ残余カウントレジスタと、前記SCSIインタフェース部によってメッセージフェーズ中に得られたメッセージを保持するメッセージレジスタと、前記データ残余カウントレジスタと前記メッセージレジスタとを参照して前記転送対象のデータ量がゼロでないときにディスコネクト要求が発生したか否かを判定するデータ転送ディスコネクト判定部と、ディスコネクト抑止を示す情報が設定されるディスコネクト抑止設定フラグと、前記ディスコネクト抑止設定フラグの情報が設定され、かつ、前記データ転送ディスコネクト判定部により前記転送対象のデータがゼロでないときにディスコネクト要求が発生したと判断された場合にメッセージリジェクトメッセージ送出指示を前記SCSIインタフェース部に出力するメッセージリジェクト送出判定部とを有することを特徴とするSCSIインタフェース制御装置。
  2. 前記ディスコネクト抑止設定フラグは、前記周辺装置の接続状況がデイジーチェイン構成のとき、ディスコネクト抑止を示す情報が設定されることを特徴とする請求項1記載のSCSIインタフェース制御装置。
  3. 前記SCSIインタフェース部は、前記周辺装置の接続状況を判定し前記ディスコネクト抑止設定フラグにディスコネクト抑止を示す情報を設定するディスコネクト抑止設定フラグ設定部と、データ転送処理の開始から終了の過程で転送対象のデータに関するデータ残余カウントの値を更新し更新した値を前記データ残余カウントレジスタに送信し設定するデータ残余カウント更新部と、ディスコネクトメッセージを含む前記メッセージが発生した場合に前記メッセージを前記メッセージレジスタに送信し設定するメッセージ設定部とを有することを特徴とする請求項1または2記載のSCSIインタフェース制御装置。
  4. 前記ディスコネクト抑止設定フラグの設定を外部からの指示・入力に基づいて行う手段を有し、前記SCSIインタフェース部は、データ転送処理の開始から終了の過程で転送対象のデータに関するデータ残余カウントの値を更新し更新した値を前記データ残余カウントレジスタに送信し設定するデータ残余カウント更新部と、ディスコネクトメッセージを含む前記メッセージが発生した場合に前記メッセージを前記メッセージレジスタに送信し設定するメッセージ設定部とを有することを特徴とする請求項1または2記載のSCSIインタフェース制御装置。
  5. 周辺系入出力インタフェースに独自規格のインタフェースを用いたホストと接続する上位インタフェース部と、入出力インタフェースにSCSIインタフェースを用いた複数の周辺装置と接続するSCSIインタフェース部と、前記ホストの前記インタフェースと前記周辺装置の前記SCSIインタフェースとの間のプロトコル変換を行うプロトコル変換部とを有するSCSIインタフェース制御装置用のプログラムであって、SCSIインタフェース制御装置を、前記ホストと前記周辺装置との間のデータ転送中に、前記周辺装置からディスコネクト要求が発生した場合に、ディスコネクトを抑止するための指示を発行しデータ転送中にディスコネクトの抑止をディスコネクト抑止部により行う手段と、前記SCSIインタフェース部は、前記ディスコネクト抑止部からディスコネクト抑止の指示を受けるとディスコネクト要求に対するリジェクトメッセージを前記周辺装置にメッセージリジェクト処理部により送出する手段として機能させ、前記ディスコネクト抑止部は、前記SCSIインタフェース部から受信した転送対象のデータ量を示すデータ残余カウントをデータ残余カウントレジスタに保持する手段と、前記SCSIインタフェース部によってメッセージフェーズ中に得られたメッセージをメッセージレジスタに保持する手段と、前記データ残余カウントレジスタと前記メッセージレジスタとを参照して前記転送対象のデータ量がゼロでないときにディスコネクト要求が発生したか否かをデータ転送ディスコネクト判定部により判定する手段と、ディスコネクト抑止を示す情報がディスコネクト抑止設定フラグにより設定される手段と、前記ディスコネクト抑止設定フラグの情報が設定され、かつ、前記データ転送ディスコネクト判定部により前記転送対象のデータがゼロでないときにディスコネクト要求が発生したと判断された場合にメッセージリジェクト送出判定部によりメッセージリジェクトメッセージ送出指示を前記SCSIインタフェース部に出力する手段として機能させ、前記SCSIインタフェース部は、前記周辺装置の接続状況を判定し前記ディスコネクト抑止設定フラグにディスコネクト抑止を示す情報をディスコネクト抑止設定フラグ設定部により設定する手段と、データ残余カウント更新部によりデータ転送処理の開始から終了の過程で転送対象のデータに関するデータ残余カウントの値を更新し更新した値を前記データ残余カウントレジスタに送信し設定する手段と、メッセージ設定部によりディスコネクトメッセージを含む前記メッセージが発生した場合に前記メッセージを前記メッセージレジスタに送信し設定する手段として機能させるためのプログラム。
JP2002354485A 2002-12-06 2002-12-06 Scsiインタフェース制御装置、プログラム Expired - Fee Related JP4032948B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002354485A JP4032948B2 (ja) 2002-12-06 2002-12-06 Scsiインタフェース制御装置、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002354485A JP4032948B2 (ja) 2002-12-06 2002-12-06 Scsiインタフェース制御装置、プログラム

Publications (2)

Publication Number Publication Date
JP2004185518A JP2004185518A (ja) 2004-07-02
JP4032948B2 true JP4032948B2 (ja) 2008-01-16

Family

ID=32755457

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002354485A Expired - Fee Related JP4032948B2 (ja) 2002-12-06 2002-12-06 Scsiインタフェース制御装置、プログラム

Country Status (1)

Country Link
JP (1) JP4032948B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090198876A1 (en) * 2008-01-31 2009-08-06 Jimmy Kwok Lap Lai Programmable Command Sequencer

Also Published As

Publication number Publication date
JP2004185518A (ja) 2004-07-02

Similar Documents

Publication Publication Date Title
EP0113683B1 (en) Burst mode data block transfer system
US20020186401A1 (en) Facsimile apparatus
TWI484346B (zh) 最適化網路連接器並減少中斷
WO2006114822A1 (ja) Dmaコントローラ、ノード、データ転送制御方法、及びプログラム
US9584268B2 (en) Device level enablement of a communications protocol
JP2005018509A (ja) 記憶システム、バックアップシステム及びバックアップ方法
JP4032948B2 (ja) Scsiインタフェース制御装置、プログラム
JP2007219696A (ja) 制御装置およびそのファームウェア活性交換制御方法
JP2000347980A (ja) 周辺装置、周辺装置の制御方法、記憶媒体、及び、情報処理システム
JP2011090485A (ja) パイプ調停回路、パイプ調停方法
EP2096550B1 (en) Information processing apparatus and control method thereof
JPWO2020157594A5 (ja)
JP4193754B2 (ja) データ二重化方法とプログラム
JPH08329023A (ja) 並列電子計算機システム
US7028117B1 (en) Structure for handling packetized SCSI protocol data overruns in a multi-data channel host adapter
JPH11252150A (ja) ネットワーク接続装置、及びネットワーク接続制御方法
JP2848297B2 (ja) マルチプロセッサ割り込み制御システム
JP3477819B2 (ja) 画像読み取り装置及び情報処理システム
US7085864B1 (en) Method and structure for handling packetized SCSI protocol data overruns in a multi-data channel host adapter
JP2005115464A (ja) データ処理装置およびデータ制御ユニット
JP2022095198A (ja) 情報処理装置
JP2541686B2 (ja) 入出力制御方法
JPH0535661A (ja) Scsiコントロ−ラic
JP2001256171A (ja) データ転送方法及びモジュール
EP0128204A1 (en) System for regulating data transfer operations

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040427

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20050124

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20050309

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060424

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060523

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060621

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070109

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20070119

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070309

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070312

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070502

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20071002

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071015

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101102

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111102

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees