Technical information

HGST Ultrastar C15K600 Hard Disk Drive Specification
288
drive shall set the sense key to Illegal Request and additional sense code to Illegal Field In CDB.
Buffer Offset must be zero. If an invalid value is specified, the command is terminated with Check Condition status.
The drive shall set the sense key to Illegal Request and additional sense code to Illegal Field in CDB.
Parameter List Length must be the size of the data set to be downloaded. It may also be set to 0000h in which
case no code is updated and command status is returned. If an invalid value is specified, the command is terminated
with Check Condition status. And the drive shall set the sense key to Illegal Request and additional sense code to
Illegal Field In CDB.
This process generates a unit attention condition for MICROCODE HAS BEEN CHANGED for all Initiators except
the one which sent the WRITE BUFFER command. Upon the completion of the WRITE BUFFER command the new
microcode is immediately ready for operation.
Note: The Download Microcode mode described in this specification is to indicate that the drive will accept a
command with this mode, though it is not expected that a user will ever issue such a command. To use the write
buffer command with this mode, a special microcode version is required from development. If such a microcode is
released from development, then it will include appropriate instructions on the function of new microcode and its
effect on the drive operations after download.
18.59.4
Download Microcode and Save (Mode 00101b) -Single Binary
File
In this mode the data is transferred to the drive to save into the System reserved area on the disk. This is for
functional upgrade and configuration change reflecting the user's requirements and the manufacturer’s reason or
both, and it is stored in the media as a permanent copy. The newly downloaded code becomes effective after the
drive issues and completes a self-initiated Power On Reset.
Note: It requires up to 30 seconds to update the microcode including the Flash ROM update.
Note: New code to be downloaded to the drive will be provided by development either by request of a customer for
an additional function or as a result of a functional change by development. However please note that not all possible
fixes or new functions can be applied to a drive in this manner and that there is a very high dependency on the level
of ROM code contained within the drive. If an invalid code or a code not compatible with the ROM code is
downloaded, the drive will usually reject this code and will continue normal operation. However there is a small
possibility that an invalid code will be accepted. If this occurs, the unit usually becomes inoperable and will have to
be returned to the manufacturer for recovery.
Buffer ID field is used to indicate which portion of the microcode image is being downloaded. To download
microcode, the buffer ID should be set to 00h. Other values are reserved for HGST development purposes only.
18.59.5
Download Microcode and Save (Mode 00111b) - Multiple
Binary Files
In this mode the target receives a segment of the binary microcode file. The Parameter List Length (segment length)
of each segment shall be a multiple of 4K bytes. The total length of all segments received shall be equal to the total
length of the binary microcode file. All segments must be sent in the proper sequential order.
If an invalid Parameter List Length is specified, Check Condition status is returned with sense key of Illegal Request
and additional sense code of Invalid Field in CDB.
The first segment sent in this mode indicates, by default, the first segment of the binary microcode file. If a Check
Condition status is returned in this mode, a Buffer ID == 00h in the subsequent Write Buffer command in this mode
indicates the first segment of the binary microcode file. Otherwise the Buffer ID field is ignored.
The Buffer Offset field is ignored.
After all segments of the binary microcode file have been received, the drive behavior is the same as Download
Microcode and Save (Mode 00101b) - Single Binary File.