5K320 SATA OEM Specification
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 |
|
|
|
|
| BSY |
| RDY |
| DF |
| DSC | DRQ |
| COR |
|
| IDX |
| ERR | ||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| N |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |||
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.
Lower byte of
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
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
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
84