JPH0944444A - Scsiコントロール装置 - Google Patents

Scsiコントロール装置

Info

Publication number
JPH0944444A
JPH0944444A JP7198558A JP19855895A JPH0944444A JP H0944444 A JPH0944444 A JP H0944444A JP 7198558 A JP7198558 A JP 7198558A JP 19855895 A JP19855895 A JP 19855895A JP H0944444 A JPH0944444 A JP H0944444A
Authority
JP
Japan
Prior art keywords
phase
scsi
data
register
initiator
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.)
Pending
Application number
JP7198558A
Other languages
English (en)
Inventor
Keiji Kaneoka
圭史 兼岡
Yasushi Ueda
泰志 上田
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP7198558A priority Critical patent/JPH0944444A/ja
Publication of JPH0944444A publication Critical patent/JPH0944444A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Bus Control (AREA)

Abstract

(57)【要約】 【目的】 SCSIコントローラ装置に関し、SCSI
フェーズの遷移の中で発生したエラー処理を、従来コン
トロールプログラム自身によって行っていたことによ
る、オーバヘッドを低減し、SCSI処理の高速化を図
る。 【構成】 フェーズ書き込みレジスタ111に書き込ま
れた次に実行するフェーズを、フェーズ生成ブロック1
2に入力し、SCSIバスの信号を変更する。同時にフ
ェーズモニタレジスタ131にも、実行するフェーズを
書き込む。異常が発生したとき、コントロールプログラ
ムは、直前に実行したフェーズをフェーズモニタレジス
タ131を確認することにより把握する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、外部周辺記憶装置等の
ターゲットと、ホストシステムに相当するイニシエータ
とを結ぶ汎用バスインターフェースであるSCSI(S
mall Computer System Inte
rface)バスのプロトコル制御を行う、SCSIコ
ントロール装置に関するものである。
【0002】
【従来の技術】近年、外部周辺記憶装置の多様化にとも
ない、標準化されたI/Oチャネルインターフェースが
注目されている。このようなインターフェースとして、
マルチタスクを実現することのできる、ディスコネクト
/リコネクト機能を設けたSCSIインターフェース
は、今後の拡張性等に優れていることもあり普及してき
ている。
【0003】一般にSCSIバスの制御は、イニシエー
タ(例えばホストコンピュータ)とターゲット(例えば
CD−ROMドライブ)との間で、SCSIコントロー
ル装置のコントロールプログラムが、マイクロプロセッ
サを介して実行する命令によって実行される。
【0004】図3に一般的なSCSIフェーズの遷移の
一例を示す。ここで説明するSCSIフェーズの遷移
は、ホストコンピュータがCD−ROMドライブからデ
ータを読み出す例を示している。SCSIプロトコルが
定義するフェーズは、バスフリーフェーズ(301)か
ら始まる。
【0005】イニシエータは、SCSIバスの使用権利
を獲得するために、アービトレーションフェーズ(30
2)を実行し、SCSIバスの調停を行いSCSIバス
の使用権を獲得する。次にイニシエータは、通信相手を
選択するためにセレクションフェーズ(303)を実行
しターゲットを選択する。このフェーズにおいてイニシ
エータは、SCSIバスのATN信号(送出すべきメッ
セージを持っていることをターゲットに報告するための
信号)を駆動し、ターゲットにメッセージアウトフェー
ズの実行を要求する。
【0006】選択されたターゲットは、ATN信号を確
認し、メッセージアウトフェーズ(304)を実行し、
イニシエータからのメッセージを受信できるようにす
る。ターゲットはメッセージアウトフェーズにおいて、
イニシエータから、イニシエータとターゲット間の通信
上の関係を示すアイデンティファイメッセージを受信す
る。
【0007】メッセージアウトフェーズ実行後、ターゲ
ットはイニシエータからコマンドを受信するコマンドフ
ェーズ(305)を実行し、イニシエータはリードコマ
ンドを発行する。リードコマンドを受信したターゲット
は、データインフェーズ(306)を実行し、データを
イニシエータに転送する。ターゲットはデータの転送を
終了した後に、コマンドの実行結果をイニシエータに報
告するステータスフェーズ(307)、ターゲットがイ
ニシエータにメッセージを送出するメッセージインフェ
ーズ(308)、SCSIバスを解放するバスフリーフ
ェーズ(309)を実行し終了する。
【0008】ところで上記SCSIフェーズ遷移の中
で、例えばデータインフェーズにおいて、イニシエータ
で何らかの異常が発生した場合、イニシエータはデータ
インフェーズ(306)中にSCSI ATN信号を駆
動し、ターゲットにメッセージアウトフェーズの実行を
要求する。ターゲットはSCSI ATN信号を確認す
ると、メッセージアウトフェーズ(310)を実行し、
イニシエータは、イニシエータにおいてエラーが発生し
たことを示すイニシエータディテクティッドエラーメッ
セージを送出する。
【0009】イニシエータディテクティッドエラーメッ
セージを受信したターゲットは、イニシエータディテク
ティッドエラーメッセージ受信前のフェーズを確認す
る。そしてイニシエータのデータポインタの復帰のため
に、リストアポインターズメッセージをメッセージイン
フェーズ(311)で送信後、再びデータインフェーズ
(312)を実行しデータを再転送する。ターゲットは
データの転送を終了した後に、ステータスフェーズ(3
07)、メッセージインフェーズ(308)、バスフリ
ーフェーズ(309)を実行し終了する。
【0010】
【発明が解決しようとする課題】ところで上述のように
異常が発生した場合の、異常発生前のフェーズを確認す
るエラー処理に備えるため、従来のSCSIコントロー
ル装置では、コントロールプログラムにより、実行され
たフェーズのうち、エラー処理にて必要になるフェーズ
をすべて記憶するよう制御している。しかしながら、コ
ントロールプログラムによる制御では、マイクロプロセ
ッサの処理のオーバーヘッドが大きくなり、またエラー
処理にも時間がかかるという問題がある。
【0011】また2つ以上のフェーズを、コントロール
プログラムの介入無しで実行させるような場合において
は、コントロールプログラムは、エラー処理が必要かど
うかを常に監視しなければならない上に、異常発生時に
どのフェーズで中断されたかを把握するため、実行され
る一連のフェーズを記憶する制御もしなければならず、
プログラムが複雑になってしまう問題がある。
【0012】そこで本発明は、コントロールプログラム
によって、実行するフェーズを記憶する制御を行わず、
ハードウエアでエラー処理時に必要となるフェーズを自
動的に記憶するよう構成することにより、マイクロプロ
セッサのオーバヘッドを低減させることを目的とする。
【0013】
【課題を解決するための手段】上記課題を解決するため
に、本発明のSCSIコントロール装置は、イニシエー
タにSCSIバスを介して接続されるとともに、ターゲ
ットのマイクロプロセッサに接続され、前記SCSIバ
スの制御をおこなうSCSIコントロール装置であっ
て、イニシエータとの間でデータを送受信するレジスタ
ブロックと、前記マイクロプロセッサよりデータを入力
し、SCSIフェーズを設定するためのデータを発生す
るフェーズシーケンサブロックと、前記フェーズシーケ
ンサから出力されるフェーズデータとフェーズクロック
を入力とし、1つ以上連続してSCSIプロトコルの定
めるフェーズ信号を出力するSCSIフェーズ生成ブロ
ックと、前記フェーズデータとフェーズクロックを入力
とし、直前に実行されたフェーズが保存され、マイクロ
プロセッサからの読み出しに応じて、保存したフェーズ
をマイコンバスに出力するレジスタとを備えたことを特
徴とするものである。
【0014】
【作用】上記構成のSCSIコントロール装置によれ
ば、実行されたフェーズのうち、エラー処理に必要とな
る直前のフェーズをレジスタに記憶しており、コントロ
ールプログラムは、エラー処理時に前記レジスタの値を
読み出しさえすればよく、コントロールプログラム自身
によるフェーズの記憶の制御は不要となる。
【0015】
【実施例】以下、本発明の実施例を図面に基づいて説明
する。図1は一実施例におけるSCSIコントロール装
置を示すブロック図、図2はエラー発生時のコントロー
ルプログラムの処理フローを示したものである。
【0016】図1において、11は次に実行するSCS
Iフェーズのデータ14とその変更タイミング(フェー
ズクロック15)を出力するフェーズシーケンサブロッ
クであり、111はコントロールプログラムが1つ以上
の次に実行するSCSIフェーズをマイクロプロセッサ
を通じて書き込むためのフェーズ書き込みレジスタであ
る。フェーズ書き込みレジスタ111に連続して複数の
フェーズを実行するような命令が書き込まれた場合は、
1つのフェーズが終了した時点で、フェーズ終了信号f
が入力され次に実行すべきフェーズデータ14とフェー
ズクロック15が出力される。
【0017】12はフェーズシーケンサブロック11よ
り出力されたフェーズデータ14に基づいて、フェーズ
クロック15のタイミングでSCSIバスの信号を変更
するフェーズ生成ブロック、13は、フェーズシーケン
サブロック11より出力されたフェーズデータ14、フ
ェーズクロック15よりフェーズ生成ブロック12がS
CSIバスの信号を変更する直前のフェーズデータを取
り込むフェーズモニタブロックであり、131はエラー
発生時にコントロールプログラムがマイクロプロセッサ
を通して読み出すためのフェーズモニタレジスタであ
る。16は、イニシエータとの間でデータを送受信する
ためのレジスタブロックである。上記図1の装置におい
て、従来用いられてきたSCSIコントロール装置に新
たに付加した構成は、フェーズモニタブロック13であ
る。
【0018】上記装置において、図3に示すフェーズの
遷移は、まずフェーズシーケンサブロック11のフェー
ズ書き込みレジスタ111に、イニシエータからのコマ
ンドやSCSIバスの信号に応じて、次に実行するSC
SIフェーズの書き込みを行う。そして次のフェーズデ
ータ14と、フェーズを変更するときのタイミングで出
力されたフェーズクロック15とがフェーズ生成ブロッ
ク12に入力され、SCSIバスの信号が変更される。
【0019】この時、フェーズモニタブロック13に
も、フェーズデータ14とフェーズクロック15とが入
力され、フェーズモニタレジスタ131によって、実行
直前のフェーズが格納される。フェーズモニタレジスタ
131は、2つのフェーズを格納する領域を備えてお
り、その前に実行したフェーズも格納することができ
る。フェーズが次々と遷移するにつれ、2つ以上前のフ
ェーズに関するデータは、順次消去されることとなる。
【0020】図3に示すようなSCSIのフェーズ遷移
において、データインフェーズで何らかの異常が発生し
た場合のコントロールプログラムの処理を、図2に示す
フローに従って説明する。データインフェーズ306中
にエラーが発生した場合(21)、まずエラー発生要因
により、異常発生時に実行されたフェーズを確認する必
要があるかどうか判断する(22)。そこでフェーズを
確認する必要の無いとき、すなわちターゲットにおいて
エラーが発生しコマンドをエラー終了させるようなとき
は、そのままエラー処理(24)を実行する。
【0021】直前のフェーズを確認する必要のあると
き、すなわちイニシエータがエラーを検出し、ターゲッ
トが動作の再実行をするために前のフェーズを確認する
必要があるようなときは、マイクロプロセッサを通し
て、フェーズモニタレジスタ131を読み出すことによ
り、必要な数のフェーズを確認し(23)、その内容に
よりエラー処理を実行する(24)。
【0022】なお、一連のフェーズ制御時においてフェ
ーズ間でコントロールプログラムの制御無しで、連続し
て複数のフェーズを実行するような場合には、コントロ
ールプログラムは、フェーズモニタレジスタ131を読
み出すだけでエラー処理に必要なフェーズを確認するこ
とができるため、単にエラー発生か正常終了かを判別
し、以降の処理をするだけで、フェーズ実行中のフェー
ズ記憶管理も、エラー発生時の実行済みフェーズの割り
出しも必要ないため、上述のようにフェーズモニタレジ
スタに、直前に実行したフェーズを記憶する構成は、コ
ントロールプログラムが簡略化できる、コントロールプ
ログラムの処理数が削減できる、フェーズ制御における
マイクロプロセッサのオーバーヘッドが削減できるなど
有効なものである。
【0023】また上記実施例において、フェーズモニタ
ブロック13に設けるフェーズモニタレジスタ131の
個数は、3つ以上設けても良いが、一般的なSCSIフ
ェーズの遷移では、少なくとも2つのフェーズが判れ
ば、エラー復帰できるので、フェーズモニタレジスタは
少なくとも2つあればよい。
【0024】
【発明の効果】以上のように本発明によれば、エラー処
理に必要となる、異常が発生する前に実行したSCSI
のフェーズは、コントロールプログラムがマイクロプロ
セッサを通して、レジスタを読み出すことで確認できる
ようにしている。このため従来のように、コントロール
プログラム自身が、SCSIの前のフェーズを記憶しな
くてもよくなるため、コントロールプログラムは簡略化
され、オーバヘッドが少なくなってSCSI処理を高速
化することができる。
【図面の簡単な説明】
【図1】本発明のSCSIコントロール装置を示すブロ
ック図
【図2】同装置に用いるエラー発生時のコントロールプ
ログラムのフローチャート
【図3】イニシエータがターゲットからデータを読み出
すときのフェーズの遷移図
【符号の説明】
11 フェーズシーケンサブロック 111 フェーズ書き込みレジスタ 12 フェーズ生成ブロック 13 フェーズモニタブロック 131 フェーズモニタレジスタ 14 フェーズデータ 15 フェーズクロック 16 レジスタブロック

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】イニシエータにSmall Comput
    er SystemInterface(以下SCSI
    と呼ぶ)バスを介して接続されるとともに、ターゲット
    のマイクロプロセッサに接続され、前記SCSIバスの
    制御をおこなうSCSIコントロール装置であって、 イニシエータとの間でデータを送受信するレジスタブロ
    ックと、 前記マイクロプロセッサよりデータを入力し、SCSI
    フェーズを設定するためのデータを発生するフェーズシ
    ーケンサブロックと、 前記フェーズシーケンサから出力されるフェーズデータ
    とフェーズクロックを入力とし、1つ以上連続してSC
    SIプロトコルの定めるフェーズ信号を出力するSCS
    Iフェーズ生成ブロックと、 前記フェーズデータとフェーズクロックを入力とし、直
    前に実行されたフェーズが保存され、マイクロプロセッ
    サからの読み出しに応じて、保存したフェーズをマイコ
    ンバスに出力するレジスタとを備えたSCSIコントロ
    ール装置。
JP7198558A 1995-08-03 1995-08-03 Scsiコントロール装置 Pending JPH0944444A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7198558A JPH0944444A (ja) 1995-08-03 1995-08-03 Scsiコントロール装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7198558A JPH0944444A (ja) 1995-08-03 1995-08-03 Scsiコントロール装置

Publications (1)

Publication Number Publication Date
JPH0944444A true JPH0944444A (ja) 1997-02-14

Family

ID=16393184

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7198558A Pending JPH0944444A (ja) 1995-08-03 1995-08-03 Scsiコントロール装置

Country Status (1)

Country Link
JP (1) JPH0944444A (ja)

Similar Documents

Publication Publication Date Title
US4860244A (en) Buffer system for input/output portion of digital data processing system
JP3313007B2 (ja) マイクロコンピュータ
US4562533A (en) Data communications system to system adapter
EP0062667A1 (en) IMPROVED INTERRUPTION ARBITRATION SYSTEM.
US5537582A (en) Bus interface circuitry for synchronizing central processors running at multiple clock frequencies to other computer system circuitry
JP3753835B2 (ja) コンピュータシステムのモニタ装置及びモニタ方法
JPH03196225A (ja) プログラマブル割込みコントローラ
JPH05265943A (ja) シリアルデータ転送装置
US4740910A (en) Multiprocessor system
JPH0944444A (ja) Scsiコントロール装置
US7219353B2 (en) Finite state machine with a single process context for a RAID system
JPH01258163A (ja) ダイレクトメモリアクセス制御装置
JP2988879B2 (ja) バス変換装置
JP2522412B2 (ja) プログラマブルコントロ―ラと入出力装置の間の通信方法
JPH1185673A (ja) 共有バスの制御方法とその装置
JPS63228856A (ja) 通信制御装置
JPH09128331A (ja) Scsiコントロール装置
RU2018944C1 (ru) Устройство для сопряжения эвм с внешними объектами
SU1425607A1 (ru) Устройство дл программного управлени
US5680646A (en) Input/output control system
JP2539050B2 (ja) 磁気ディスク装置の二重アクセス制御装置
EP1380954B1 (en) Computer system and data processing method
JPS6111867A (ja) インタフエ−ス制御における異常処理方式
JPH02166519A (ja) マイクロプログラム制御方式
JPH02730B2 (ja)