• Keine Ergebnisse gefunden

Command Description

Im Dokument Functional Specifications ~ (Seite 102-105)

The COPY command copies data directly between the Drive and another SCSI device. The original Initiator initiates the COPY ope-ration, but the actual data transfer will occur without further Initiator intervention.

When executing the COpy command the Drive takes two roles; man-aging the copy operation and doing the actual data transfer. The management part reads and checks the Copy Parameter List, takes care of error handling etc. The management part operates as an Initiator for both the other SCSI device and also for the internal data transfer part.

The internal data transfer part operates much like the "normal"

TDC 4100 Drive when executing the READ and WRITE commands.

Typically the COPY command is used to move data to or from some Hard Disk. The Drive can then manage a full Backup or Restore operation.

The Copy Operation starts when the COPY Command and the COPY Parameter List has been transferred to the Drive. Note that the whole Parameter List is transferred in one single transfer. The Drive will then disconnect from the Initiator. This means that the Initiator must support disconnection for the COpy command to work. If this is not so the Drive will abort the COpy command with CHECK CONDITION status (See also Section 8.7.1).

The Drive will process all Segment Descriptors (or until an error has been detected) before re-connecting to the original Initiator.

When a COpy operation leads to reading or writing from beginning of media, the Drive will position the tape and the head as if a normal READ or WRITE operation has started.

If the tape operation is to start from another position than BOM, it is the Initiator's responsibility to position the tape before issuing the COPY command. Any necessary error recovery procedures for any device are also the responsibility of the Initiator (See also Section 8.7.2) To allow the Drive to work with all kinds. of hard disk controllers, both 6 and 10 byte READ and WRITE commands are offered. The decision of which type of READ IWRITE command to be used is made by analyzing the direct device start block address, specified in the Segment Descriptor List. When a start address greater than (2**21-1) is specified, the 10 byte command is used, else the standard 6 byte command it used. It is the responsibility of the Initiator to be sure of that the direct device involved in the COpy command supports the 10 byte READIWRlTE command when the start address does not fit into the specified 21 bit Logical Block Address field in the standard 6 byte READIWRITE command. When processing a Segment Descriptor the Drive will issue a sequence of READIWRITE commands to the direct access device.

8-7 SCSI-2 Functional Specifications

Tandberg Data Copy

Even if the direct access device does support disconnection or not, it is recommended that the Drive should be configured in such a way that it will request only small amounts of' data at a time, data which are already in the the Drive data buffer or which there is reserved space for in the buffer. It also means that the Drive will have control over the utilization of the SCSI bus (the direct access device is only selected when the Drive is ready for a data transfer). This makes sense because a streaming tdpe device like the Drive usually has a much lower average data transfer rate than most direct access devices (typically the direct access device is a hard disk). However, since direct device disconnects during the COPY command are supported by the Drive, it is up to the Initiator to configure the SCSI devices involved to obtain the best overall system performance. (See also section 8 . 4 ) . 1 For every Segment Descriptor in the Parameter List the sequence will be like this:

1) The Drive issues a READ CAPACITY command to establish the current direct access device block size (See also Section 8.5).

2) The Drive issues a 6 or 10 byte READ or WRITE command following the rules described above.

The number of blocks requested for transfer is controlled by the COpy THRESHOLD parameter in the MODE SELECT block (the default is normally 8 blocks, see also Section 8.4.2). The Logical Block Address in the first Command Descriptor Block issued to the Direct Access Drive, is copied from the Segment Descriptor. The Logical Block Address for the next command blocks are

incremented by the number of blocks transferred.

3) The data is transferred to I from the direct access device from I to the data buffer in the Drive. From here it goes from I to the tape.

4) Point 2 and 3 are repeated until the total number of blocks specifzed in the current Segment Descriptor List has been

transferred (this will sometimes mean that the last READ I WRITE command will request less than COpy THRESHOLD blocks).

5) Points 1, 2, 3 and 4 are repeated for each Segment Descriptor in the Segment Descriptor List.

8-2 SCSI-2 Functional Speclffcations

( 8.2. Copy Command Descriptor Block

BYTE BIT 7 6 5 4 3 2 1 o

00 0 0 0 1

I

1 0 0 0

01 Logical Unit Number (LUN)

I

RESERVED

I

PAD

02 Length of Parameter List 03

04

05 Control Byte

Table: COPY Command Block

LUN Logical Unit. Must be set to zero (only one LUN in the Drive).

PAD The pad option (pAD) MUST be set to zero.

Length of Parameter Ust

Total length of the parameter block including the Copy Header List and all Segment Descriptors. A zero value means copy of no data. For an ac-tive copy the Length must be equal to or larger than 4 (at least the Copy Header List must be transferred). The maximum value is 3076. This cor-responds to 256 Segment Descriptors (12 bytes long) and a single Header.

8-3 SCSl-2 Functional Specifications

BYTE

00 01 02 03

BIT 7

Tandberg Data Copy

Im Dokument Functional Specifications ~ (Seite 102-105)