• Keine Ergebnisse gefunden

Exception Handling

Im Dokument Functional Specifications ~ (Seite 114-117)

See sections on Error Conditions For All Commands, Deferred Errors, Error Conditions For Media Access Commands and Buffer Parity Errors.

There are two classes of error conditions which may occur during a COPY operation.

The first class is the Management Errors. These are detected by the management part of the Drive. The management part are responsible for checking the COPY command and para~eter blocks. It is the management part that interprets and splits the Segment Descriptors into multiple READIWRITE commands.

The second class is the Data Transfer (or Target) errors. These are detected by the data transfer part of the Drive. The data transfer part takes care of the actual tape read and write process.

This class includes error conditions like Filemark Detected, Logical End Of Partition, megal Length etc.

8-73 SCSI-2 Functional Specifications

Bad Command Block

Tandberg Data Copy

8.7.1. Management Errors

When a Management Error has been detected, the Drive will react as follows:

1) Terminate the COPY command with CHECK CONDITION status.

2) Sets V ADD bit. Sets the Sense Key in the Sense Data List to the code that describes the error condition.

3) The Segment Number in the Sense Data List (byte 01) is set to the number of the segment where the error occurred.

4) The Information Bytes are updated with the difference between the requested and the actually processed blocks I bytes for the current segment.

Possible Error Codes are shown in the table below:

I

Description

I

Drive Error Code

Illegal Copy Function E$SIE_CHDF

Bad Header E$SIE CHDI

No Disconnect Allowed E$SIE CILC

Inexact Segment: Odd Number E$SIE CODD Inexact Segment: Tape Residual E$SIE_CRES

Too Large Logical Address E$SIE CSGA

Bad 10 or LUN E$SIE CSGI

Partial Descriptor Received E$SIE_CSGP Parity Error in Parameter or Data E$SIP ClOT Target Illegal Block Size E$SIP CILB

Target Selection Tme-out E$SIP CISE

Target Phase Sequence Error E$SIP clsa

Bad Command Block E$STE IFIC

Too ShortILong Header E$STE PLEN

Table: COPY Management Errors

The COPY command descriptor had illegal values in some fields. (See also the Section on GENERAL EXCEPTION HANDLING).

8-14 SCSI-2 Functional Specifications

-

--No Disconnect

The original Initiator transferred the COPY command to the Drive without granting disconnection (ATN not set or Disconnect Grant bit in IDENTIFY message not set).

The Copy Function specified in the Header was not 00 (backup) or 01 (restore).

One or more of the reserved fields in the Header was not set to zero.

The received Header has less or more than the normal 4 bytes.

The Direct Access Device Logical Block Address field specified an address larger than (2'*'*21 - 1) and the Direct Access Device did not support the 10 byte READ/WRITE command. The largest address that will fit into a 6 byte READ or WRITE command descriptor block is (2'*'*21 - 1).

The LUN was not zero for the Drive or the Source ID was not the ID of the Drive (Copy Function

=

Restore) or the Destination ID was not the ID of the Drive (Copy Function

=

Backup).

The last Segment Descriptor in the Segment Descriptor List had less than 12 bytes.

The management part of the Drive has detected a bus parity error on either data or parameters transferred from the random access device.

The random access device did not respond to a selection within a 250 ms time-out period.

The random access device did not transfer any Status byte or any Message byte or entered one of the two illegal bus phases.

The block size found on the random access device was not in the set of legal sizes (256. 512.1024.2048 or 4096 bytes).

See Section 8.7.1.1.

See Section 8;7.1.1. '7nsufficient Number of Tape BlockB'~

8-15 SCSI-2 Functional Specifications

Tandberg Data Copy

8.7.1.1. Inexact Segment Errors

CAT Option Enabled

As long as the CAT option is active there will never be any inexact seg-ment errors when data is transferred to the tape (copy. function Code = 0). The Drive will catenate the last source block of a segment with the first source block of the next segment if the last source block does not end exactly at the end of the destination block. Note that the CAT option is not allowed on the last segment in the COPY command. It is required that the sum total of all segments in a COPY command fits into an integral number of 512 byte blocks. If this is not the case the Drive will flag an Inexact Segment Error for the last segment by terminating the COpy operation with CHECK CONDITION status. This can happen during both BACKUP and RESTORE. Enough data only to complete the last source block will be transferred from the segment in error. The Error Code will be set to E$SIE_CODD.

CAT Option Disabled

When the CAT option is not enabled the total amount of data in a seg-ment must always fit into an integral number of 512 bytes blocks. If this is not the case, the Drive will flag an inexact segment error by terminat-ing the COpy operation immediately with CHECK CONDITION status.

This can happen during both BACKUP and RESTORE. No data will be transferred for the segment in error. The Error Code will. be set to E$SIE_CODD.

Insufficient Number of Tape Blocks

When the block size is larger than 512 an inexact segment error will be flagged if the residual number of blocks on the tape is to few to fill a complete direct access block. This can happen during RESTORE only if the data transfer part of the Drive encounters an unexpected Filemark, End Of Recorded Area (BLANK CHECK) or a Bad Block. All data up to the last residual block(s) will be transferred toIfrom the direct access device. The last incomplete block is not transferred. CHECK CONDITION status is sent to the original Initiator. The Error Code will be set to E$SIE_CRES. The tape position will be immediately after the last transferred block. This means that there will be one or more (maximum 7) blocks left on the tape. It is up to the Initiator to recover these blocks. The real cause of error can then be discovered. Note that it is up to the original Initiator to generate tapes (to end a tape write operation 01' write Filemarks) so that an inexact segment error like this does not occur. Normally this is no problem as long as the direct access device used during RESTORE has the Same block size as the one used during BACKUP for a particular tape.

Im Dokument Functional Specifications ~ (Seite 114-117)