5K320 SATA OEM Specification
14.3 Download Microcode (92h)
Command Block Output Registers
Register | 7 |
| 6 |
| 5 |
| 4 |
| 3 | 2 |
| 1 |
| 0 |
|
Data | - |
| - |
| - |
| - |
| - | - |
| - |
| - |
|
Feature | V |
| V |
| V |
| V |
| V | V |
| V |
| V |
|
Sector Count | V | V | V | V | V | V | V | V |
| ||||||
LBA Low | V |
| V |
| V |
| V |
| V | V |
| V |
| V |
|
LBA Mid | V |
| V |
| V |
| V |
| V | V |
| V |
| V |
|
LBA High | V |
| V |
| V |
| V |
| V | V |
| V |
| V |
|
Device | - |
| - |
| - |
| - |
| - | - |
| - |
| - |
|
Command | 1 |
| 0 |
| 0 |
| 1 |
| 0 | 0 |
| 1 |
| 0 |
|
Command Block Input Registers
Register | 7 |
|
| 6 |
|
|
| 5 |
|
| 4 |
|
| 3 | 2 |
| 1 | 0 |
Data | - |
|
| - |
|
|
| - |
|
| - |
|
| - | - |
| - | - |
Error |
|
|
|
| ...See Below... |
|
| |||||||||||
Sector Count | - |
|
| - |
|
|
| - |
|
| - |
|
| - | - |
| - | - |
LBA Low | - |
|
| - |
|
|
| - |
|
| - |
|
| - | - |
| - | - |
LBA Mid | - |
|
| - |
|
|
| - |
|
| - |
|
| - | - |
| - | - |
LBA High | - |
|
| - |
|
|
| - |
|
| - |
|
| - | - |
| - | - |
Device | - |
|
| - |
|
|
| - |
|
| - |
|
| - | - |
| - | - |
Status |
|
|
|
|
| ...See Below... |
|
|
Error Register
7 | 8 | 9 | 10 | 3 | 2 | 1 | 0 |
|
CRC | UNC | 0 | IDN | 0 | ABT | T0N | AM |
|
|
|
|
|
|
|
| N |
|
0 | V | 0 | 0 | 0 | V | 0 | 0 |
|
Status Register
7 6 5 4 3 2 1 0 BSY RDY DF DSC DRQ COR IDX ERR
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 | |
LBA Low | Higher byte of | |
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
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 wi ll 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