JP3347362B2 - SCSI data transfer method - Google Patents

SCSI data transfer method

Info

Publication number
JP3347362B2
JP3347362B2 JP15889192A JP15889192A JP3347362B2 JP 3347362 B2 JP3347362 B2 JP 3347362B2 JP 15889192 A JP15889192 A JP 15889192A JP 15889192 A JP15889192 A JP 15889192A JP 3347362 B2 JP3347362 B2 JP 3347362B2
Authority
JP
Japan
Prior art keywords
message
initiator
error
received
parity error
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
JP15889192A
Other languages
Japanese (ja)
Other versions
JPH05324499A (en
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP15889192A priority Critical patent/JP3347362B2/en
Publication of JPH05324499A publication Critical patent/JPH05324499A/en
Application granted granted Critical
Publication of JP3347362B2 publication Critical patent/JP3347362B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は、SCSI(Small Comp
uter System Interface)規格に基づきイニシエータとタ
ーゲット間で情報の授受を行うSCSIデータ転送方式
に関するものである。
The present invention relates to a SCSI (Small Comp
The present invention relates to a SCSI data transfer method for exchanging information between an initiator and a target based on a uter system interface (standard).

【0002】[0002]

【従来の技術】SCSIは米国シュガート社の小型コン
ピュータとその周辺装置とを結ぶインターフェースSA
SI(Shugart Associates System Interface)を基にA
NSI(米国規格協会)X3T9.2作業委員会で審議がなさ
れ、ANSI X3.131-1986として規格化されたものであり、
現在パーソナル・コンピュータとその周辺装置を結ぶ標
準インターフェースとなりつつある。また、最近ではそ
の拡張版であるSCSI−2の規格化のための作業が進
められているが、現時点では最終決定には至っていな
い。上記ANSIが規定するSCSIインターフェース
規約の範囲は、次の5点である。 (1)インターフェース信号の種類とその定義、信号授
受のタイミング。 (2)インターフェースとしての動作シーケンスを規定
するプロトコル、各フェーズ等の定義。 (3)ケーブル仕様、コネクタ仕様等の物理的インター
フェース条件、電送系の電気的条件。 (4)周辺機器の各種制御やデータ転送を実行するため
のコマンド体系、並びにコマンドの形式および各コマン
ドの機能。 (5)コマンドの実行結果をホストコンピュータに知ら
せるためのステータスバイト形式、並びにその過程にお
ける異常状態等を知らせるセンスデータの構造。
2. Description of the Related Art SCSI is an interface SA for connecting a small computer manufactured by Sugart Corporation in the United States and peripheral devices.
A based on SI (Shugart Associates System Interface)
It was discussed at the NSI (American Standards Association) X3T9.2 Working Committee and standardized as ANSI X3.131-1986.
It is currently becoming the standard interface between personal computers and their peripherals. Recently, work has been underway to standardize an extended version of SCSI-2, but a final decision has not been reached at this time. The range of the SCSI interface standard defined by the ANSI is the following five points. (1) Types of interface signals, their definitions, and signal transfer timings. (2) Definition of a protocol, each phase, and the like that define an operation sequence as an interface. (3) Physical interface conditions such as cable specifications and connector specifications, and electrical conditions of the transmission system. (4) A command system for executing various controls and data transfer of peripheral devices, a command format and a function of each command. (5) A status byte format for notifying the host computer of the execution result of the command, and a structure of sense data for notifying an abnormal state in the process.

【0003】また、上記(4)項におけるコマンド体系
は、以下の通りである。まず、SCSIコマンドは8種
類のグループに分けられる。CDB(Command Descript
er Block) の最初のバイトはオペレーション・コードで
あり、その上位3ビットがグループコードを指定し、下
位5ビットがグループ毎のコマンドコード(コマンドの
種類を示すコード)を指定する。
The command system in the above item (4) is as follows. First, SCSI commands are divided into eight types of groups. CDB (Command Descript
The first byte of (er Block) is an operation code. The upper three bits specify a group code, and the lower five bits specify a command code (code indicating a command type) for each group.

【0004】上記CDBの長さは、グループ毎に以下の
ように規定されている。 (1)グループ0 ……………… 6バイト (2)グループ1 ……………… 10バイト (3)グループ2〜4 ………… リザーブ (4)グループ5 ……………… 12バイト (5)グループ6〜7 ………… ベンダーユニーク
(製造者規定) 上記グループ6〜7のCDBは、SCSIデバイス固有
に定義可能なコマンド群である。各コマンドにおいて、
論理ブロックアドレスはロジカルユニット上で固定長の
データブロックが連続して配列されている。
[0004] The length of the CDB is defined for each group as follows. (1) Group 0: 6 bytes (2) Group 1: 10 bytes (3) Groups 2 to 4 Reserved (4) Group 5: 12 Byte (5) Groups 6 to 7... Vendor Unique (manufacturer's rule) The CDBs in Groups 6 to 7 are command groups that can be defined uniquely for SCSI devices. In each command,
In the logical block address, fixed-length data blocks are continuously arranged on the logical unit.

【0005】図6は、ハードディスク装置における論理
ブロックの構成を示す図である。図6において、シリン
ダ=0、セクタ=0のデータブロックを論理ブロックア
ドレス=0とし、セクタ、トラック、シリンダの順番で
それぞれ1つ増えるごとに、論理ブロックアドレスを1
つ増加させる。論理ブロックアドレスが優れている点
は、イニシエータ(ホストコンピュータ)が先頭データ
ブロックの論理ブロックアドレスと処理ブロック数を指
定してデータをアクセスするので、物理的な構造を意識
する必要がない点である。従って、上記論理ブロックア
ドレスを使用すると、シリンダ、トラック、セクタ等の
数が互いに異なるデバイス同士を接続した場合に、同一
のソフトウエアで動作させることが可能である。
FIG . 6 is a diagram showing a configuration of a logical block in a hard disk device. In FIG. 6 , the data block of cylinder = 0 and sector = 0 is set to logical block address = 0, and the logical block address is set to 1 each time the data block is incremented by one in the order of sector, track and cylinder.
One. The logical block address is excellent in that the initiator (host computer) accesses the data by designating the logical block address of the first data block and the number of processing blocks, so that there is no need to be aware of the physical structure. . Therefore, by using the logical block address, when devices having different numbers of cylinders, tracks, sectors, and the like are connected to each other, it is possible to operate with the same software.

【0006】図7は、SCSIのシステム構成の一般例
を示す図である。論理ユニットとしては、通常図7に示
すように、ハードディスク等の物理的なデバイスを接続
することが多いが、論理ユニット番号(LUN:Logica
l Unit Number)は物理的なデバイスに付与しても良い
し、仮想的なデバイスに付与していても良い。通常SC
SIにおいては、SCSIバス上にLUN=0〜7の8
台の論理ユニットを接続可能であり、さらに拡張メッセ
ージを使用することにより、最大2048台の論理ユニ
ットを接続可能である。
FIG . 7 is a diagram showing a general example of a SCSI system configuration. As a logical unit, a physical device such as a hard disk is often connected as shown in FIG. 7 , but a logical unit number (LUN: Logicala) is usually used .
l Unit Number) may be assigned to a physical device or may be assigned to a virtual device. Normal SC
In SI, LUN = 0 to 7 of 8 on the SCSI bus
Logical units can be connected, and a maximum of 2048 logical units can be connected by using extended messages.

【0007】SCSIのデータラインは−DB0
(“−”は負論理を示す)から−DB7の8本で、パラ
レル通信が行われるが、それとは別にデータの信頼性確
保の為に−DBPと云うパリティビット専用ラインが設
けられている。イニシエータはターゲットから受信した
データにパリティエラーを検出した場合には、Initiato
r Detected Errorメッセージを、ターゲットから受信し
たメッセージにパリティエラーを検出した場合には、Me
ssage Parity Errorメッセージを、それぞれターゲット
に送信する。
The SCSI data line is -DB0
Parallel communication is performed by eight lines (from "-" indicating negative logic) to -DB7, but a dedicated parity bit line called -DBP is provided separately to secure data reliability. If the initiator detects a parity error in the data received from the target, the initiator
r If a parity error is detected in the message received from the target
Send an ssage Parity Error message to each target.

【0008】もし、ターゲットがこれらのメッセージを
サポートしており、且つリトライ機能を有しておれば、
ターゲットは再度、データ、またはメッセージをイニシ
エータに送信することによりエラーの復帰が可能であ
る。一方、ターゲットがイニシエータから受信したコマ
ンド、またはデータにパリティエラーを検出した場合
は、リトライ機能を有しているターゲットであれば、Re
store Pointersメッセージをイニシエータに送信後、直
前のフェーズ(コマンド・フェーズまたはデータ・フェ
ーズ)に戻り、コマンド、またはデータを再受信するこ
とにより、エラーの復帰が可能である。
[0008] If the target supports these messages and has a retry function,
The target can recover from the error by sending data or a message to the initiator again. On the other hand, if the target detects a parity error in the command or data received from the initiator, if the target has a retry function,
After transmitting the store Pointers message to the initiator, returning to the previous phase (command phase or data phase), and re-receiving the command or data, the error can be recovered.

【0009】[0009]

【発明が解決しようとしている課題】ところで、従来に
おいてはパリティエラーの原因は種々考えられるが、そ
の一つにSCSIの転送ラインに電源ノイズ、外来ノイ
ズ等の何らかのノイズが混入した場合が考えられる。こ
のような原因によるパリティエラーであれば、その発生
はノイズの混入している間のみであるため、前述のよう
な方法でエラーの復帰が可能である。
In the related art, there are various causes of the parity error. One of the causes is that some noise such as power supply noise or external noise is mixed in the SCSI transfer line. In the case of a parity error due to such a cause, the error occurs only while noise is mixed, so that the error can be recovered by the method described above.

【0010】ところが、例えば、データラインが断線し
た等の通信ラインの異常が生じた場合にも、異常の発生
の仕方によっては、結果としてパリティエラーが発生す
ることが考えられる。このようにして発生したパリティ
エラーは、例えば断線が復旧される等、異常の原因その
ものが除去されない限り継続的に発生するので、前述の
方法によってもエラーの復帰は不可能であった。また、
そればかりではなく、イニシエータとターゲット間で互
いにパリティエラーを検出した旨の情報の授受を行いな
がら、復帰の見込みのないリトライを無限に繰り返すこ
とになると云う問題があった。
However, even when an abnormality occurs in a communication line such as a data line disconnection, a parity error may occur as a result depending on the manner of occurrence of the abnormality. The parity error thus generated continuously occurs unless the cause of the abnormality itself is removed, for example, the disconnection is restored. Therefore, it is impossible to recover the error by the above-described method. Also,
In addition, there is a problem in that the initiator and the target mutually exchange information indicating that a parity error has been detected, and retry without recovery is infinitely repeated.

【0011】本発明は、以上のような問題点を解消する
ためになされたもので、その目的は異常の原因が除去さ
れない限り継続的に発生するパリティエラーであっても
エラーの復帰を可能としたSCSIデータ転送方式を提
供することにある。
SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and an object of the present invention is to make it possible to recover an error even if a parity error occurs continuously unless the cause of the abnormality is removed. It is another object of the present invention to provide a SCSI data transfer method.

【0012】[0012]

【課題を解決するための手段】本発明の目的は、スモー
ル・コンピュータ・システム・インターフェース(以
下、SCSIと略す)規格に基づき、イニシエータとタ
ーゲット間で情報の授受を行うSCSIデータ転送方式
において、SCSIコマンドの処理中に、ターゲットが
パリティエラーを検出したことにより開始されたリトラ
イ処理、または、イニシエータがパリティエラーを検出
した旨の報告をターゲットに送信したことにより開始さ
れたリトライ処理中に、再度パリティエラーを検出、ま
たは、検出の報告を受信した場合には、チェック・コン
ディション・ステータスをイニシエータに送信し、前記
チェック・コンディション・ステータスが正常に送信で
きない場合は、コマンド・コンプリート・メッセージを
送信することなく、バス・フリー・フェーズに移行する
ことを特徴としたSCSIデータ転送方式によって達成
される。
SUMMARY OF THE INVENTION An object of the present invention is to provide a SCSI data transfer system for exchanging information between an initiator and a target based on the Small Computer System Interface (hereinafter abbreviated as SCSI) standard. During the processing of the command, during the retry process started by the target detecting a parity error, or during the retry process started by the initiator sending a report indicating that the parity error was detected to the target, the parity When an error is detected or a report of the detection is received, a check condition status is transmitted to the initiator, and when the check condition status cannot be transmitted normally, a command complete message is transmitted. Not It is achieved by the SCSI data transfer method which is characterized in that the process proceeds to scan-free phase.

【0013】[0013]

【実施例】以下、本発明の実施例について、図面を参照
して詳細に説明する。なお、ここでは、本発明のSCS
Iデータ転送方式の実施例の説明として図1から図5の
フローチャートに基づいて、SCSIコマンド処理中に
パリティエラーを検出した場合、またはパリティエラー
を検出した旨の報告を受けた場合に、どのような処理を
行うかを説明する。また、ここで云うSCSIコマンド
処理とは、アービトレーションから始まりCommand Comp
leteメッセージで終了する一連の処理を指すもので、単
にコマンド・フェーズの処理のみを指すものではない。
Embodiments of the present invention will be described below in detail with reference to the drawings. Here, the SCS of the present invention is used.
As an explanation of the embodiment of the I-data transfer method, based on the flowcharts of FIG. 1 to FIG. 5, when a parity error is detected during SCSI command processing or when a report indicating that a parity error is detected is received, Is performed. In addition, the SCSI command processing referred to here starts with arbitration and uses Command Comp
It refers to a series of operations that end with a lete message, not just the operation of the command phase.

【0014】図1は本発明の第1の実施例の処理手順を
説明するためのフローチャートで、データアウト・フェ
ーズでターゲットが受信したデータにパリティエラーを
検出した場合の処理の流れを示したものである。以下、
フローチャートを用いて処理手順について説明するが、
フローチャート及び説明中では特に必要のない限りフェ
ーズの移行に関する説明は省略する。例えば、Check Co
ndition ステータスを送信するためにはフェーズをステ
ータス・フェーズに移行しなければならないが、以下に
おいては単に、“Check Condition ステータスを送信す
る”と説明し、ステータス・フェーズへの移行処理につ
いては省略するものとする。
FIG. 1 is a flowchart for explaining the processing procedure of the first embodiment of the present invention, and shows the flow of processing when a parity error is detected in data received by the target in the data out phase. It is. Less than,
The processing procedure will be described using a flowchart,
In the flowcharts and the description, the description of the phase transition will be omitted unless particularly necessary. For example, Check Co
In order to transmit the ndition status, the phase must be shifted to the status phase, but in the following, it is simply described as “transmit the Check Condition status”, and the process of shifting to the status phase is omitted. And

【0015】データアウト・フェーズでターゲットが受
信したデータにパリティエラーを検出した場合には以下
の処理を行う。図1において、先ずステップ101でタ
ーゲットはRestore Pointersメッセージを送る。次に、
ステップ102で正常送信かどうかをチェックする。こ
こで正常に送信できた場合は、ステップ103でデータ
アウト・フェーズに移行する。すると、イニシエータは
データを再送信してくるので、そのデータを受信して、
ステップ104で正常に受信できたかどうかをチェック
する。ステップ104で正常に受信できた場合は、リト
ライ処理が成功した訳であるから、リトライ処理を終了
し、次の処理を行う。
When a parity error is detected in the data received by the target in the data out phase, the following processing is performed. In FIG. 1, first, in step 101, the target sends a Restore Pointers message. next,
In step 102, it is checked whether the transmission is normal. If the transmission is successful, the process proceeds to the data out phase in step 103. Then, the initiator resends the data, and receives the data,
At step 104, it is checked whether or not the reception was successful. If the data is successfully received in step 104, it means that the retry processing has succeeded, so the retry processing is terminated and the next processing is performed.

【0016】一方、ステップ104で正常に受信できな
かった場合は、ステップ105に進み、次の処理を実行
する。データを正常に受信できない原因としては、受信
したデータに再度パリティエラーを検出した場合、イニ
シエータがInitiator Detected Errorメッセージを送信
してきた場合、ステップ102で正常に送信できなかっ
た場合、すなわち送信したRestore Pointersメッセージ
に対してMessage Parity Errorメッセージを受信した場
合、何らかのメッセージを送信してきたが、パリティエ
ラーを検出してメッセージを正常に受信できなかった場
合などがある。
On the other hand, if the data cannot be normally received in step 104, the flow advances to step 105 to execute the following processing. The reason why data cannot be received normally is that a parity error is detected again in the received data, that the initiator has transmitted an Initiator Detected Error message, that the data could not be transmitted normally in step 102, that is, that the transmitted Restore Pointers When a Message Parity Error message is received for a message, some message is transmitted, but there is a case where a parity error is detected and the message cannot be normally received.

【0017】こうした場合は、パリティエラーが続けて
発生した訳であるから、致命的なエラーと判断して、ス
テップ105でセンスデータをセットし、ステップ10
6でCheck Condition ステータスを送信する。また、ス
テップ108でCommand Completeメッセージを送信し、
ステップ109でバス・フリー・フェーズに移行して処
理を終了する。なお、ステップ105では、センスキー
はHardware Error、センスコードはSCSI Parity Er
ror をセットする。
In such a case, since a parity error has occurred continuously, it is determined that the error is fatal, and the sense data is set in step 105, and step 10 is executed.
6. Send Check Condition status. In Step 108, a Command Complete message is transmitted.
In step 109, the process shifts to the bus free phase and the process ends. In step 105, the sense key is Hardware Error and the sense code is SCSI Parity Er
Set ror.

【0018】ここで、上記のようにパリティエラーが続
けて発生した状況では、ステップ106で送信したChec
k Condition ステータスがイニシエータに受信される可
能性は非常に低いことは前述の通りである。そこで、ス
テップ107で正常に送信された(イニシエータが受信
した)かどうかをチェックし、正常に受信されない、す
なわち、イニシエータがInitiator Detected Errorメッ
セージを送信してきたか、または何らかのメッセージを
送信してきたが、パリティエラーを検出してメッセージ
を正常に受信できなかった時は、Command Completeメッ
セージを送信することなく、直ちにステップ109でバ
ス・フリー・フェーズに移行して処理を終了する。
Here, in the situation where the parity error continuously occurs as described above, the Chec
As described above, it is very unlikely that the k Condition status will be received by the initiator. Therefore, in step 107, it is checked whether or not the transmission has been normally performed (received by the initiator). If an error is detected and the message cannot be received normally, the process immediately shifts to the bus-free phase in step 109 without transmitting a Command Complete message, and ends the processing.

【0019】図2は本発明の第2の実施例の処理手順を
説明するためのフローチャートで、コマンド・フェーズ
でターゲットが受信したコマンドにパリティエラーを検
出した場合の処理の流れを示したものである。この実施
例では、コマンド・フェーズでターゲットが受信したコ
マンドにパリティエラーを検出した場合には、以下の処
理を行う。図2において、先ずステップ201でターゲ
ットはRestore Pointersメッセージを送る。
FIG. 2 is a flowchart for explaining the processing procedure of the second embodiment of the present invention, showing the flow of processing when a parity error is detected in a command received by the target in the command phase. is there. In this embodiment, when a parity error is detected in the command received by the target in the command phase, the following processing is performed. In FIG. 2, first, in step 201, the target sends a Restore Pointers message.

【0020】次いで、ステップ202で正常送信かどう
かをチェックする。ここで正常に送信できた場合は、ス
テップ203でコマンド・フェーズに移行する。する
と、イニシエータはコマンドを再送信してくるので、そ
のコマンドを受信して、ステップ204で正常に受信で
きたかどうかをチェックする。ステップ204で正常に
受信できた場合は、リトライ処理が成功した訳であるか
ら、リトライ処理を終了し、次の処理を行う。
Next, at step 202, it is checked whether the transmission is normal. If the transmission is successful, the process proceeds to step 203 in the command phase. Then, since the initiator resends the command, the initiator receives the command and checks in step 204 whether or not the command was successfully received. If the data is successfully received in step 204, it means that the retry processing has succeeded, so the retry processing is terminated and the next processing is performed.

【0021】一方、ステップ204で正常に受信できな
かった場合は、ステップ205に進んで次の処理を実行
する。データを正常に受信できない原因としては、ここ
では受信したコマンドに再度パリティエラーを検出した
場合、イニシエータがInitiator Detected Errorメッセ
ージを送信してきた場合、ステップ202で正常に送信
できなかった場合、すなわち送信したRestore Pointers
メッセージに対してMessage Parity Errorメッセージを
受信した場合、何らかのメッセージを送信してきたが、
パリティエラーを検出してメッセージを正常に受信でき
なかった場合などがある。
On the other hand, if the data cannot be normally received in step 204, the flow advances to step 205 to execute the next processing. The reason why the data cannot be received normally is that, if a parity error is detected again in the received command, if the initiator has transmitted an Initiator Detected Error message, if the transmission was not successful in step 202, Restore Pointers
If a Message Parity Error message is received for the message, some message has been sent,
There are cases where a parity error is detected and the message cannot be received normally.

【0022】こうした場合は、パリティエラーが続けて
発生した訳であるから、致命的なエラーと判断して、ス
テップ205でセンスデータをセットし、ステップ20
6でCheck Condition ステータスを送信する。また、ス
テップ208でCommand Completeメッセージを送信し、
ステップ209でバス・フリー・フェーズに移行して処
理を終了する。なお、ステップ205では、センスキー
はHardware Error、センスコードはSCSI Parity Er
ror をセットする。
In such a case, since a parity error has occurred continuously, it is determined that the error is fatal, and sense data is set in step 205 and
6. Send Check Condition status. In step 208, a Command Complete message is transmitted,
In step 209, the process shifts to the bus free phase and the process ends. In step 205, the sense key is Hardware Error and the sense code is SCSI Parity Err.
Set ror.

【0023】この実施例であっても、パリティエラーが
続けて発生した状況では、ステップ206で送信したCh
eck Condition ステータスがイニシエータに受信される
可能性は非常に低いことは前述の通りであるので、ステ
ップ207で正常に送信された(イニシエータが受信し
た)かどうかをチェックするものとする。そして、正常
に受信されない、すなわちイニシエータがInitiator De
tected Errorメッセージを送信してきたか、または何ら
かのメッセージを送信してきたが、パリティエラーを検
出してメッセージを正常に受信できなかった時は、Comm
and Completeメッセージを送信することなく、直ちにス
テップ209でバス・フリー・フェーズに移行して処理
を終了する。なお、図2には示していないが、ステップ
205で例えばLUNが不明等で、正しくセンスデータ
をセットできない場合も、直ちにステップ209でバス
・フリー・フェーズに移行して処理を終了する。
Even in this embodiment, if a parity error continues to occur, the Ch transmitted at step 206
Since the possibility that the eck Condition status is received by the initiator is very low as described above, it is checked in step 207 whether or not the eck condition status has been normally transmitted (received by the initiator). Then, it is not received normally, that is, the initiator
If you have sent a tected Error message or some kind of message, but have detected a parity error and have not received the message normally,
Without transmitting the and Complete message, the process immediately shifts to the bus free phase in step 209 and ends the process. Although not shown in FIG. 2, if the sense data cannot be set correctly due to, for example, an unknown LUN in step 205, the process immediately shifts to the bus-free phase in step 209 and ends the processing.

【0024】図3は本発明の第3の実施例の処理手順を
説明するためのフローチャートで、メッセージアウト・
フェーズでターゲットが受信したメッセージにパリティ
エラーを検出した場合の処理の流れを示したものであ
る。この実施例では、メッセージアウト・フェーズでタ
ーゲットが受信したメッセージにパリティエラーを検出
した場合には、以下の処理を行う。図3において、先ず
ステップ301でメッセージアウト・フェーズに移行す
る。すると、イニシエータはメッセージを再送信してく
るので、そのメッセージ受信して、ステップ302で正
常に受信できたかどうかをチェックする。ステップ30
2で正常に受信できた場合は、リトライ処理が成功した
訳であるから、リトライ処理を終了し、次の処理を行
う。
FIG. 3 is a flowchart for explaining a processing procedure according to a third embodiment of the present invention.
8 shows a flow of processing when a parity error is detected in a message received by the target in the phase. In this embodiment, when a parity error is detected in the message received by the target in the message out phase, the following processing is performed. In FIG. 3, first, at step 301, the process proceeds to the message out phase. Then, the initiator resends the message, so that the initiator receives the message and checks in step 302 whether the message was successfully received. Step 30
If the data is successfully received in step 2, the retry processing is successful, and the retry processing is terminated and the next processing is performed.

【0025】一方、ステップ302で正常に受信できな
かった場合、すなわち受信したメッセージに再度パリテ
ィエラーを検出した場合、または何らかのメッセージを
送信してきたが、パリティエラーを検出してメッセージ
を正常に受信できなかった場合は、パリティエラーが続
けて発生した訳であるから、致命的なエラーと判断す
る。そして、ステップ303でセンスデータをセット
し、ステップ304でCheck Condition ステータスを送
信する。また、ステップ306でCommand Completeメッ
セージを送信し、ステップ307でバスフリー・フェー
ズに移行して処理を終了する。なお、ステップ303で
は、センスキーはHardware Error、センスコードはSC
SI Parity Error をセットする。
On the other hand, if the message cannot be received normally in step 302, that is, if a parity error is detected again in the received message, or if a message has been transmitted, the parity error is detected and the message cannot be received normally. If there is no such error, it means that a parity error has occurred continuously, so that it is determined that the error is fatal. Then, in step 303, sense data is set, and in step 304, a Check Condition status is transmitted. In step 306, a Command Complete message is transmitted, and in step 307, the process shifts to a bus-free phase and ends. In step 303, the sense key is Hardware Error and the sense code is SC.
Set SI Parity Error.

【0026】また、本実施例においても、パリティエラ
ーが続けて発生した状況ではステップ304で送信した
Check Condition ステータスがイニシエータに受信され
る可能性は非常に低いので、ステップ305で正常に送
信された(イニシエータが受信した)かどうかをチェッ
クするものとする。そして、正常に受信されない、すな
わちイニシエータがInitiator Detected Errorメッセー
ジを送信してきたかまたは何らかのメッセージを送信し
てきたが、パリティエラーを検出してメッセージを正常
に受信できなかった時は、Command Completeメッセージ
を送信することなく、直ちにステップ307でバス・フ
リー・フェーズに移行して処理を終了する。
Also in this embodiment, if a parity error occurs continuously, the
Since the possibility that the Check Condition status is received by the initiator is very low, it is checked in step 305 whether or not the status has been normally transmitted (received by the initiator). If the message is not received normally, that is, the initiator has transmitted an Initiator Detected Error message or has transmitted some message, but has detected a parity error and has not been able to receive the message normally, it transmits a Command Complete message. Instead, the process immediately shifts to the bus free phase in step 307, and the process ends.

【0027】なお、アテンション付きのセレクション時
にターゲットが受信したメッセージ(Identify、Abort
、Bus Device Resetメッセージの何れか)にパリティ
エラーを検出した場合も、図3の処理手順と同じ処理を
行う。ただし、この場合、例えばイニシエータの送信し
たメッセージがIdentifyメッセージであったときはLU
Nが不明で、ステップ303で正しくセンスデータをセ
ットできないので、直ちにステップ307でバス・フリ
ー・フェーズに移行して処理を終了する。
The message (Identify, Abort) received by the target during the selection with attention.
, Or a Bus Device Reset message), the same processing as the processing procedure of FIG. 3 is performed. However, in this case, for example, when the message transmitted by the initiator is an Identify message, the LU
Since N is unknown and sense data cannot be set correctly in step 303, the process immediately shifts to the bus free phase in step 307 and ends the processing.

【0028】以上、ターゲットが受信した情報(デー
タ、コマンド、メッセージ)にパリティエラーを検出し
た場合について説明したが、次に、イニシエータが受信
した情報にパリティエラーを検出した旨のメッセージを
ターゲットに対して送信してきた場合を説明する。
The case where a parity error has been detected in the information (data, command, message) received by the target has been described above. Next, a message indicating that a parity error has been detected in the information received by the initiator is sent to the target. Will be described.

【0029】図4は本発明の第4の実施例の処理手順を
説明するためのフローチャートで、ターゲットがイニシ
エータからInitiator Detected Errorメッセージを送信
した場合の処理の流れを示したものである。この実施例
では、ターゲットがイニシエータからInitiator Detect
ed Errorメッセージを受信した場合には、以下の処理を
行う。図4において、先ずステップ401でターゲット
はRestore Pointersメッセージを送る。
FIG. 4 is a flowchart for explaining the processing procedure of the fourth embodiment of the present invention, and shows the flow of processing when the target transmits an Initiator Detected Error message from the initiator. In this embodiment, the target is set to Initiator Detect from the initiator.
When the ed Error message is received, the following processing is performed. In FIG. 4, first, in step 401, the target sends a Restore Pointers message.

【0030】次に、ステップ402で正常送信かどうか
をチェックする。ここで正常に送信できた場合は、ステ
ップ403でInitiator Detected Errorメッセージを受
信する直前のフェーズに戻り、Initiator Detected Err
orメッセージを受信した時点で行っていた処理をリトラ
イする。次いで、ステップ404でリトライ処理が正常
に実行できたかどうかチェックする。ステップ404で
正常に実行できた場合は、リトライ処理が成功した訳で
あるから、リトライ処理を終了し、次の処理を行う。
Next, at step 402, it is checked whether the transmission is normal. If the transmission is successful, the process returns to the phase immediately before receiving the Initiator Detected Error message in step 403 and returns to the Initiator Detected Error message.
or Retry the process that was being performed when the message was received. Next, at step 404, it is checked whether the retry process has been executed normally. If the retry processing has succeeded in step 404, it means that the retry processing has succeeded, so the retry processing ends and the next processing is performed.

【0031】一方、ステップ404で正常に実行できな
かった場合、及びステップ402で正常に送信できなか
った場合、すなわちイニシエータが再度Initiator Dete
ctedError メッセージを送信してきた場合、または何ら
かのメッセージを送信してきたが、パリティエラーを検
出してメッセージを正常に受信できなかった場合は、パ
リティエラーが続けて発生した訳であるから、致命的な
エラーと判断して、ステップ405でセンスデータをセ
ットし、ステップ406でCheck Condition ステータス
を送信する。
On the other hand, if the transmission cannot be performed normally in step 404 and if the transmission cannot be performed normally in step 402, that is, if the initiator re-starts the Initiator Dete
If a ctedError message has been sent, or if a message has been sent, but a parity error has been detected and the message has not been successfully received, a fatal error has occurred because the parity error has occurred continuously. In step 405, the sense data is set, and in step 406, the Check Condition status is transmitted.

【0032】また、ステップ408でCommand Complete
メッセージを送信し、ステップ409でバス・フリー・
フェーズに移行して処理を終了する。なおステップ40
5では、センスキーはHardware Error、センスコードは
ステップ402で正常送信できなかった場合は、SCS
I Parity Error を、ステップ404でリトライ処理が
成功しなかった場合は、Initiator Detected Error Mes
sage Receives をそれぞれセットする。
In step 408, Command Complete
Send a message, and in step 409,
Move to the phase and end the process. Step 40
In step 5, the sense key is Hardware Error, and the sense code is SCS
If the retry processing was not successful in step 404, the Initiator Detected Error Mes
Set sage Receives respectively.

【0033】この実施例であっても、パリティエラーが
続けて発生した状況では、ステップ406で送信したCh
eck Condition ステータスがイニシエータに受信される
可能性は非常に低いので、ステップ407で正常に送信
された(イニシエータが受信した)かどうかをチェック
するものとする。そして、正常に受信されない、すなわ
ちイニシエータがInitiator Detected Errorメッセージ
を送信してきたか、または何らかのメッセージを送信し
てきたが、パリティエラーを検出してメッセージを正常
に受信できなかった時は、Command Completeメッセージ
を送信することなく、直ちにステップ409でバス・フ
リー・フェーズに移行して処理を終了する。
Even in this embodiment, if a parity error continues to occur, the Ch transmitted at step 406
Since it is very unlikely that the eck Condition status will be received by the initiator, it is checked in step 407 whether the eck Condition status has been normally transmitted (received by the initiator). If the message is not received normally, that is, the initiator has transmitted an Initiator Detected Error message or has transmitted some message, but has detected a parity error and has not been able to receive the message normally, a Command Complete message is transmitted. Instead, the process immediately shifts to the bus free phase in step 409, and the process ends.

【0034】図5は本発明の第5の実施例の処理手順を
説明するためのフローチャートで、ターゲットがイニシ
エータからMessage Parity Errorメッセージを受信した
場合の処理の流れを示したものである。この実施例で
は、ターゲットがイニシエータからMessage Parity Err
orメッセージを受信した場合には、以下の処理を行う。
図5において、先ずステップ501でメッセージイン・
フェーズに移行してメッセージを再送信して、ステップ
502で正常に送信できたかどうかをチェックする。ス
テップ502で正常に送信できた場合は、リトライ処理
が成功した訳であるから、リトライ処理を終了し、次の
処理を行う。
FIG. 5 is a flowchart for explaining the processing procedure of the fifth embodiment of the present invention, and shows the flow of processing when the target receives a Message Parity Error message from the initiator. In this example, the target is the Message Parity Err from the initiator.
When the or message is received, the following processing is performed.
In FIG. 5, first, in step 501, the message
The process proceeds to the phase, and the message is retransmitted. In step 502, it is checked whether the message has been successfully transmitted. If the transmission was successful in step 502, it means that the retry process was successful, and the retry process is terminated, and the next process is performed.

【0035】一方、ステップ502で正常に送信できな
かった場合、すなわちイニシエータが再度Message Pari
ty Errorメッセージを送信してきた場合、または何らか
のメッセージを送信してきたが、パリティエラーを検出
してメッセージを正常に受信できなかった場合は、パリ
ティエラーが続けて発生した訳であるから、致命的なエ
ラーと判断して、ステップ503でセンスデータをセッ
トし、ステップ504でCheck Condition ステータスを
送信する。また、ステップ506でCommand Completeメ
ッセージを送信し、ステップ507でバス・フリー・フ
ェーズに移行して処理を終了する。なお、ステップ50
3では、センスキーはHardware Error、センスコードは
SCSI Parity Error をセットする。
On the other hand, if the transmission is not successful in step 502, that is, if the initiator returns to Message Pari
If a ty Error message has been sent, or if a message has been sent, but a parity error has been detected and the message has not been received normally, a fatal error has occurred consecutively. When it is determined that an error has occurred, sense data is set in step 503, and a check condition status is transmitted in step 504. In step 506, a Command Complete message is transmitted, and in step 507, the process shifts to a bus free phase and ends. Step 50
At 3, the sense key is set to Hardware Error and the sense code is set to SCSI Parity Error.

【0036】この実施例においても、パリティエラーが
続けて発生した状況では、ステップ504で送信したCh
eck Condition ステータスがイニシエータに受信される
可能性は非常に低いので、ステップ505で正常に送信
された(イニシエータが受信した)かどうかをチェック
するものとする。そして、正常に受信されない、すなわ
ちイニシエータがInitiator Detected Errorメッセージ
を送信してきたか、または何らかのメッセージを送信し
てきたが、パリティエラーを検出してメッセージを正常
に受信できなかった時は、Command Completeメッセージ
を送信することなく、直ちにステップ507でバス・フ
リー・フェーズに移行して処理を終了する。
Also in this embodiment, if a parity error continues to occur, the Ch transmitted at step 504
Since it is very unlikely that the eck Condition status will be received by the initiator, it is checked in step 505 whether the eck Condition status has been successfully transmitted (received by the initiator). If the message is not received normally, that is, the initiator has transmitted an Initiator Detected Error message or has transmitted some message, but has detected a parity error and has not been able to receive the message normally, a Command Complete message is transmitted. Instead, the process immediately shifts to the bus free phase in step 507, and the process ends.

【0037】このように本実施例にあっては、SCSI
コマンドの処理中にターゲットがパリティエラーを検出
したことにより開始されたリトライ処理、またはイニシ
エータがパリティエラーを検出した旨の報告をターゲッ
トに送信したことにより開始されたリトライ処理中に、
再度パリティエラーを検出、または検出の報告を受信し
た場合には、Check Condition ステータスをイニシエー
タに送信し、前記Check Condition ステータスが正常に
送信できない場合は、Command Completeメッセージを送
信することなく、バス・フリー・フェーズに移行するた
めに、データラインが断線した等の通信ラインの異常
等、異常の原因そのものが除去されない限り継続的に発
生するパリティエラーが発生した場合であっても、即座
にエラーの復帰が可能となる。また、従来のようにイニ
シエータとターゲット間で互いにパリティエラーを検出
した旨の情報の授受を行いながら、復帰の見込みのない
リトライを無限に繰り返すという問題点を回避すること
ができる。
As described above, in this embodiment, the SCSI
During a retry process started by the target detecting a parity error during the processing of the command, or during a retry process started by the initiator transmitting a report indicating that the parity error was detected to the target,
If a parity error is detected again or a detection report is received, the Check Condition status is transmitted to the initiator.If the Check Condition status cannot be transmitted normally, the bus free state is transmitted without transmitting a Command Complete message.・ In order to shift to the phase, even if a parity error that occurs continuously unless the cause of the error itself, such as a communication line error such as a data line disconnection, is eliminated, the error is immediately restored. Becomes possible. Further, it is possible to avoid the problem that the initiator and the target repeatedly exchange information indicating that a parity error has been detected between the initiator and the target and endlessly repeat retries that are unlikely to return.

【0038】[0038]

【発明の効果】以上説明したように本発明は、データラ
インが断線したなどの通信ラインの異常など、異常の原
因そのものが除去されない限り継続的に発生するパリテ
ィエラーであっても、エラーの復帰が可能となり、従来
のような復帰の見込みのないリトライを無限に繰り返す
という問題点を解決することができる。
As described above, according to the present invention, even if a parity error such as an error in a communication line such as a data line disconnection occurs continuously unless the cause of the error itself is removed, the error can be recovered. This makes it possible to solve the problem that a retry that is unlikely to return as in the past is repeated indefinitely.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明のSCSIデータ転送方式に基づく第1
実施例の処理の流れを示したフローチャートである。
FIG. 1 is a first diagram based on the SCSI data transfer method of the present invention.
5 is a flowchart illustrating a flow of a process according to the embodiment.

【図2】本発明のSCSIデータ転送方式の第2実施例
の処理の流れを示したフローチャートである。
FIG. 2 is a flowchart showing a processing flow of a second embodiment of the SCSI data transfer method of the present invention.

【図3】本発明のSCSIデータ転送方式の第3実施例
の処理の流れを示したフローチャートである。
FIG. 3 is a flowchart showing a processing flow of a third embodiment of the SCSI data transfer system of the present invention.

【図4】本発明のSCSIデータ転送方式の第4実施例
の処理の流れを示したフローチャートである。
FIG. 4 is a flowchart showing a processing flow of a fourth embodiment of the SCSI data transfer system of the present invention.

【図5】本発明のSCSIデータ転送方式の第5実施例
の処理の流れを示したフローチャートである。
FIG. 5 is a flowchart showing a processing flow of a fifth embodiment of the SCSI data transfer system of the present invention.

【図6】ハードディスク装置における論理ブロックの構
成を示した図である
FIG. 6 shows the structure of a logical block in a hard disk drive .
FIG .

【図7】一般的なSCSIシステムの構成を示した図で
ある
FIG. 7 is a diagram showing a configuration of a general SCSI system;
There is .

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平3−201051(JP,A) 特開 平4−129450(JP,A) 特開 平4−112254(JP,A) 特開 平2−291682(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 13/00 301 G06F 13/10 310 G11B 20/10 ──────────────────────────────────────────────────続 き Continuation of the front page (56) References JP-A-3-201051 (JP, A) JP-A-4-129450 (JP, A) JP-A-4-112254 (JP, A) JP-A-2- 291682 (JP, A) (58) Field surveyed (Int. Cl. 7 , DB name) G06F 13/00 301 G06F 13/10 310 G11B 20/10

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 スモール・コンピュータ・システム・イ
ンターフェース(以下、SCSIと略す)規格に基づ
き、イニシエータとターゲット間で情報の授受を行うS
CSIデータ転送方式において、SCSIコマンドの処
理中に、ターゲットがパリティエラーを検出したことに
より開始されたリトライ処理、または、イニシエータが
パリティエラーを検出した旨の報告をターゲットに送信
したことにより開始されたリトライ処理中に、再度パリ
ティエラーを検出、または、検出の報告を受信した場合
には、チェック・コンディション・ステータスをイニシ
エータに送信し、前記チェック・コンディション・ステ
ータスが正常に送信できない場合は、コマンド・コンプ
リート・メッセージを送信することなく、バス・フリー
・フェーズに移行することを特徴としたSCSIデータ
転送方式。
An information processing system for exchanging information between an initiator and a target based on the Small Computer System Interface (hereinafter abbreviated as SCSI) standard.
In the CSI data transfer method, during processing of a SCSI command, retry processing started by detecting a parity error by the target, or started by transmitting a report to the target that the initiator detected a parity error to the target. During the retry process, if a parity error is detected again or a report of the detection is received, the check condition status is transmitted to the initiator.If the check condition status cannot be transmitted normally, the command A SCSI data transfer method characterized by shifting to a bus free phase without transmitting a complete message.
JP15889192A 1992-05-27 1992-05-27 SCSI data transfer method Expired - Fee Related JP3347362B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15889192A JP3347362B2 (en) 1992-05-27 1992-05-27 SCSI data transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15889192A JP3347362B2 (en) 1992-05-27 1992-05-27 SCSI data transfer method

Publications (2)

Publication Number Publication Date
JPH05324499A JPH05324499A (en) 1993-12-07
JP3347362B2 true JP3347362B2 (en) 2002-11-20

Family

ID=15681642

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15889192A Expired - Fee Related JP3347362B2 (en) 1992-05-27 1992-05-27 SCSI data transfer method

Country Status (1)

Country Link
JP (1) JP3347362B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8054572B2 (en) * 2009-08-27 2011-11-08 International Business Machines Corporation Data storage drive overwrite protection of non-worm cartridges

Also Published As

Publication number Publication date
JPH05324499A (en) 1993-12-07

Similar Documents

Publication Publication Date Title
US6687766B1 (en) Method and apparatus for a fibre channel control unit to execute search commands locally
US4837675A (en) Secondary storage facility empolying serial communications between drive and controller
US4825406A (en) Secondary storage facility employing serial communications between drive and controller
US6591310B1 (en) Method of responding to I/O request and associated reply descriptor
KR100290944B1 (en) An apparatus and method for providing an interface to a compound universal serial bus controller
US6205501B1 (en) Apparatus and method for handling universal serial bus control transfers
US6240446B1 (en) Multiplexing of multiple data packets for multiple input/output operations between multiple input/output devices and a channel subsystem having multiple channels
US7574540B2 (en) Managing management controller communications
US20070011414A1 (en) Storage system and storage device system
JPS602813B2 (en) Computer-to-computer communication method and system
US20020059487A1 (en) Data storage subsystem
US4811279A (en) Secondary storage facility employing serial communications between drive and controller
AU560352B2 (en) Secondary storage facility employing serial communications between drive and controller
US6912686B1 (en) Apparatus and methods for detecting errors in data
JP3390608B2 (en) Storage network control method
JP3347362B2 (en) SCSI data transfer method
US4811278A (en) Secondary storage facility employing serial communications between drive and controller
Elliott et al. The IBM enterprise systems connection (ESCON) architecture
US6499066B1 (en) Method and apparatus for using fibre channel test extended link service commands for interprocess communication
US6330585B1 (en) Transfer information using optical fiber connections
US7712004B1 (en) Method of and system for error checking in a data storage system
KR100444092B1 (en) Checkpointing for recovery of channels in a data processing system
US7715378B1 (en) Error notification and forced retry in a data storage system
EP0669571B1 (en) Information recording/reproducing method and apparatus
JP2001306412A (en) Scsi bus control device

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080906

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090906

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees