Seagate Fibre Channel Interface User Manual

Page 352

Advertising
background image

338

Fibre Channel Interface Manual, Rev. D

12.64.4

Download Microcode with Offsets and Save mode (111b)

In this mode, the initiator may split the transfer of the vendor-specific microcode or control information over two
or more write buffer commands. If the logical unit cannot accept this command because of some device condi-
tion, the logical unit terminates each write buffer command with this mode (111b) with a Check Condition sta-
tus, a sense key of Illegal Request, and sets the additional sense code to Command Sequence Error.

If the last write buffer command of a set of one or more commands completes successfully, the microcode or
control information is saved in a nonvolatile memory space (semiconductor, disk or other). The saved down-
loaded microcode or control information is then effective after each power-cycle and reset until it is supplanted
by another download microcode with save operation or download microcode with offsets and save operation.
In this mode, the data transfer contains vendor-specific, self-describing microcode or control information.

Since the downloaded microcode or control information may be sent using several commands, when the logi-
cal unit detects the last download microcode with offsets and save Write Buffer command has been received,
the logical unit performs any logical unit required verification of the complete set of downloaded microcode or
control information prior to returning Good status for the last command. After the last command completes suc-
cessfully, the logical unit generates a unit attention condition for all initiators except the one that issued the set
of write buffer commands. When reporting the unit attention condition, the logical unit sets the additional sense
code to Microcode Has Been Changed.

If the complete set of write buffer commands required to effect a microcode or control information change (one
or more commands) are not received before a reset or power-on cycle occurs, the change is not effective and
the microcode or control information is discarded.

The Buffer ID field identifies a specific buffer within the logical unit. The vendor assigns buffer ID codes to buff-
ers within the logical unit. A Buffer ID field value of zero is supported. If more than one buffer is supported,
additional buffer ID codes are assigned contiguously, beginning with one. If an unsupported buffer ID code is
identified, the logical unit returns Check Condition status and sets the sense key to Illegal Request with an
additional sense code of Invalid Field In CDB.

The microcode or control information are written to the logical unit buffer starting at the location specified by the
buffer offset. The initiator conforms to the offset boundary requirements. If the logical unit is unable to accept
the specified buffer offset, it returns Check Condition status and it sets the sense key to Illegal Request with an
additional sense code of Invalid Field In CDB.

The parameter list length specifies the maximum number of bytes that are transferred during the data transfer
to be stored in the specified buffer beginning at the buffer offset. The initiator attempts to ensure that the
parameter list length plus the buffer offset does not exceed the capacity of the specified buffer. If the Buffer Off-
set and Parameter List Length fields specify a transfer that would exceed the buffer capacity, the logical unit
returns Check Condition status and sets the sense key to Illegal Request with an additional sense code of
Invalid Field In CDB.

Advertising
This manual is related to the following products: