Interface
The data stored in the buffer, and CRC code and ECC bytes are written to the data field of the corresponding sector(s). Upon the completion of the command execution, the command block registers contain the cylinder, head, and sector addresses of the last sector written.
If an error occurs during multiple sector write operation, the write operation is terminated at the sector where the error occured. Command block registers contain the cylinder, the head, the sector addresses (in the CHS mode) or the logical block address (in the LBA mode) of the sector where the error occurred. Then the host can read the command block registers to determine what error has occurred and on which sector the error has occurred.
At command issuance (I/O registers setting contents)
1F7H(CM) | 0 | 0 | 1 | 1 | 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.