7K320 (SATA) OEM Specification
Page 81 of 176
14.3
Download Microcode (92h)
Command Block Output Registers
Command Block Input Registers
Register
7 6 5 4 3 2 1 0 Register
7 6 5 4 3 2 1 0
Data
- - - - -
-
-
- Data
- - - - - -
-
-
Feature
V V V V V V V V Error
...See Below...
Sector Count
V V V V V V V V Sector Count
- - - - - -
-
-
LBA Low
V V V V V V V V LBA Low
- - - - - -
-
-
LBA Mid
V V V V V V V V LBA Mid
- - - - - -
-
-
LBA High
V V V V V V V V LBA High
- - - - - -
-
-
Device
- - - - -
-
-
- Device
- - - - - -
-
-
Command
1 0 0 1 0 0 1 0 Status
...See
Below...
Error Register
Status Register
7 8 9 10 3 2 1 0
7 6 5 4 3 2 1 0
CRC UNC 0
IDN
0 ABT T0N
AM
N
BSY RDY
DF
DSC DRQ
COR IDX
ERR
0 V 0 0 0 V 0 0
0 1 0 1 - 0 0 V
Table 48 Download Command (92h)
Output Parameters To The Device
Feature
Subcommand code.
03h : Download and save microcode with offsets.
07h : Download and save microcode.
Other values are reserved.
Sector Count
Lower byte of 16-bit sector count value to transfer from the host.
LBA Low
Higher byte of 16-bit sector count value to transfer from the host.
LBA High/Mid
Buffer offset (only used for Feature = 03h)
This command enables the host to alter the device's microcode. The data transferred using the
DOWNLOAD MICROCODE commands is vendor specific.
All transfers shall be an integer multiple of the sector size. The size of the data transfer is
determined by the contents of the LBA Low and Sector Count registers. The LBA Low register is
used to extend the Sector Count register to create a 16-bit sector count value. The LBA Low register
is the most significant eight bits and the Sector Count register is the least significant eight bits.
ABT will be set to 1 in the Error Register if the value in the Feature register is neither 03h nor 07h,
or the device is in Security Locked mode. When the reload of new microcode is requested in the data
sent by the host for this Download command, UNC error will be set to 1 in the Error Register if the
device fails to reload new microcode.
In reloading new microcode, when the spin-up of the device is disabled, the device spins down after
reloading new microcode.
A Features register value of 03h indicates that the microcode will be transferred in one or more
Download Microcode commands using the offset transfer method. The buffer offset value is starting
location in the microcode file, which varies in 512 byte increments. It is defined by the LBA High and
LBA Mid registers. The LBA High register is the most significant eight bits and the LBA Mid
register is the least significant eight bits of the buffer offset value.
All microcode segments shall be sent to the device in sequence.
The device will abort the DOWNLOAD MICROCODE command and discard all previously
downloaded microcode, if the current buffer offset is not equal to the sum of the previous