RESERVE UNIT16h/56h

This command enables the host to reserve the drive. Reserving a device is a way of ensuring exclusive access to that device from a single initiator for the period of the reservation.

Once reserved, the drive will execute commands received from the reserving initiator or from the third-party initiator if the 3rd-Pty option has been selected. Commands from other initiators will have RESERVATION CONFLICT status reported for them, apart from INQUIRY, REQUEST SENSE, LOG

SENSE, REPORT LUNS, REPORT DENSITY SUPPORT, READ BLOCK LIMITS and RELEASE UNIT.

The INQUIRY, REQUEST SENSE, LOG SENSE, PREVENT/ALLOW MEDIUM REMOVAL (Allow=0), REPORT LUNS, READ BLOCK LIMITS and REPORT DENSITY SUPPORT commands are immune to the effects of a reservation and will continue to execute for all hosts. The RELEASE UNIT command will have GOOD status reported for other hosts, but will have no effect on the reservation.

The reservation will stay in effect until:

The reserving host sends another RESERVE UNIT command.

The reserving host sends a RELEASE UNIT command, clearing the reservation.

A power-on, firmware upgrade or forced eject.

Pre-execution checks:

Illegal Field

Deferred Error

Unit Attention

If the drive is reserved by some other host then reservation conflict status is reported to the host.

Command descriptor block:

6-byte

 

 

7

6

5

4

 

3

2

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

Operation

Code (16h)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

Reserved (0)

3rd Pty(0)

 

Third-Party Device ID (0)

Rsvd(0)

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Reserved (0)

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

Control

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3rdPty

 

This is always zero because third-party reservation is not supported.

 

 

 

 

Third-Party Device ID

This is always zero because third-party reservation is not supported.

 

 

 

 

 

 

 

 

 

 

 

 

164 Commands