34 reserve (10) command (56h) – Maxtor 10K V User Manual

Page 194

Advertising
background image

5-136

Maxtor Atlas 10K V

5.34

RESERVE (10) Command (56h)

The RESERVE and the RELEASE commands are used for contention resolution in
multiple-initiator systems. The RESERVE command is used to reserve a logical unit.
If RESERVE (10) is used, then RELEASE (10) is also used. The data format and the
field descriptions are described in Table 5-182 and Table 5-183 respectively. The data
format for the Event Descriptors is described in Table 5-184.

Table 5-182

RESERVE (10) Command Descriptor Block-Data Format

Table 5-183

RESERVE (10) Command-Field Descriptions

Bit

Byte

7

6

5

4

3

2

1

0

0

Operation Code (56h)

1

Reserved

3rdPty

Reserved

LongID

Extent

2

Reservation Identification

3

Third Party Device ID

4 - 6

Reserved

7 - 8

(MSB)

Parameter List Length

(LSB)

9

Control

Field

Description

3rd Pty

When set to 1, it indicates that the Third Party Device ID field is valid.

LongID

When 0, indicates that the third party device associated with the reservation release has a number

smaller than 255 and the ID value can be sent within the CDB. If set = 1, indicates that the third

party device ID is greater than 255, the ID value within the CDB is ignored, and the parameter list

length is at least eight.

Third Party

Device ID

Required and used only when the 3rdPty bit is set, in which case this field specifies the SCSI ID

of the initiator to be granted the reservation of the logical unit. The drive preserves the reservation

until one of the following occurs:

• It is superseded by another valid RESERVE command from the initiator.

• It is released by the same initiator.

• It is released by a TARGET RESET message from any initiator.

• It is released by a hard reset condition.

The drive ignores any attempt to release the reservation made by any other initiator. For example,

if ID7 sends ID2 a Third Party reservation on behalf of ID6 (the target at ID2 gets reserved for the

initiator ID6), then only ID7 can release the target at ID2 (using a Third Party release). ID6 cannot

release the reservation even though the reservation was made on its behalf.

Extent

If 0, requests that the entire logical unit be reserved for use only by the initiator until the request

is supplanted by another valid RESERVE command from the same initiator, or until released via

a RELEASE (10) command from the reserving initiator, a hard reset, or a power on cycle.

If set = 1, the extent reservation option is implemented. This option allows an application client in

a multitasking environment to have multiple reservations.

The size of the extent list is defined by the contents of the Parameter List Length field. The extent

list consists of zero or more descriptors. Each descriptor defines an extent beginning at the speci-

fied logical block address for the specified number of blocks. If the number of blocks is 0, the ex-

tent begins at the specified logical block address and continues through the last logical block

address on the logical unit. The data format of extent descriptors is shown in Table 5-184.

Advertising