5.34RESERVE (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-182and Table 5-183respectively. The data format for the Event Descriptors is described in Table 5-184.

Table 5-182RESERVE (10) Command Descriptor Block-Data Format

Bit

7

6

5

 

4

 

3

 

2

1

0

Byte

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Table 5-183RESERVE (10) Command-Field Descriptions

 

 

Field

Description

 

 

3rd Pty

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

 

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

LongID

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.

 

 

 

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.

Third Party

• It is released by the same initiator.

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

Device ID

• 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.

 

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

Extent

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.

5-136 Maxtor Atlas 10K V