Interface
Command block registers contain the cylinder, the head, and the sector addresses of the sector (in the CHS mode) or the logical block address (in the LBA mode) where the error occurred, and remaining number of sectors of which data was not transferred.
At command issuance (I/O registers setting contents)
1F7H(CM) | 0 | 0 | 1 | 0 | 0 | 0 | 0 | R |
1F6H(DH) | × | L | × | DV | Start head No. /LBA |
| ||
|
|
|
|
| [MSB] |
|
|
|
|
|
|
|
|
|
|
|
|
1F5H(CH) | Start cylinder No. [MSB] / LBA |
|
|
| ||||
1F4H(CL) | Start cylinder No. [LSB] / LBA |
|
|
| ||||
1F3H(SN) | Start sector No. / LBA [LSB] |
|
|
| ||||
1F2H(SC) | Transfer sector count |
|
|
|
| |||
1F1H(FR) | xx |
|
|
|
|
|
|
|
R= 0 →with Retry R = 1 →without Retry
At command completion (I/O registers contents to be read)
1F7H(ST) | Status information |
|
| |||
|
|
|
|
|
|
|
1F6H(DH) | × |
| L | × | DV | End head No. /LBA |
|
|
|
|
|
| [MSB] |
|
|
|
|
|
| |
1F5H(CH) | End cylinder No. [MSB] / LBA | |||||
1F4H(CL) | End cylinder No. [LSB] / LBA | |||||
1F3H(SN) | End sector No. / LBA [LSB] | |||||
1F2H(SC) | 00 (*1) |
|
|
|
| |
1F1H(ER) | Error information |
|
| |||
|
|
|
|
|
|
|
*1 If the command is terminated due to an error, the remaining number of sectors of which data was not transferred is set in this register.
(2) READ MULTIPLE (X’C4’)
This command operates similarly to the READ SECTOR(S) command. The device does not generate an interrupt (assertion of the INTRQ signal) on each every sector. An interrupt is generateed after the transfer of a block of sectors for which the number is specified by the SET MULTIPLE MODE command.