4.4 Maintenance, Diagnostic Commands
C141-C013 267
When abnormal termination for reasons other than ILLEGAL
REQUEST [=5] / Invalid field in CDB [=24-00] or ILLEGAL
REQUEST [=5] / Invalid field in parameter list [=26-00] occurs, the
HDD indicates that downloading of the new microcode failed, and
it is therefore necessary for the INIT to quickly download the new
microcode.
When downloading of microcode is completed, the HDD generates
a UNIT ATTENTION condition for all the INITs except the INIT
that issued the WRITE BUFFER command. At this time, the
additional sense code/additional sense code qualifier indicates
"Microcode has been changed [=3F-01]."
When the HDD is checked and downloading of the microcode is judged to be
possible, the HDD may be in the Not Ready state (the state in which the spindle
motor is not rotating). In this event, the HDD starts the motor, then saves the
microcode to flash ROM and the system area to disk media. Then, the HDD
stops the motor and returns to the Not Ready state.
During downloading of microcode, the supply of power to the drive
must not be cut off (such as an instantaneous power failure). If a
power failure occurs, for instance, while downloading the
microcode to the FLASH-ROM, the HDD may be severely
damaged. The worst-case scenario in this event would be an
inoperable drive.
(6) Mode = 0, 1, 1, 0 : Microcode Download with offsets, without saving
In this mode the INIT may split the transfer of the controller's microcode or
control information over two or more WRITE BUFFER commands.
If the last WRITE BUFFER command of a set of one or more commands
completes successfully, the microcode or control information shall be transferred
to the control memory space of the HDD.
Since the download microcode or control information may be sent using several
commands, when the HDD detects the last download microcode with offsets, the
HDD shall perform the 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 successfully the HDD generates a unit attention
condition for all INITs except the one that issued the set of WRITE BUFFER
commands. When reporting the unit attention condition, the HDD sets the
additional sense code to MICROCODE HAS BEEN CHANGED.
"0" must be specified in the "Buffer ID" field.