Interface
(4) WRITE SECTOR(S) (X’30’ or X’31’)
This command writes data of sectors from the address specified in the Device/Head, Cylinder High, Cylinder Low, and Sector Number registers to the address specified in the Sector Count register. Number of sectors can be specified from 1 to 256 sectors. A sector count of 0 requests 256 sectors. Data transfer begins at the sector specified in the Sector Number register. For the DRQ, INTRQ, and BSY protocols related to data transfer, see Subsection 5.4.2.
If the head is not on the track specified by the host, the device performs an implied seek. After the head reaches to the specified track, the device writes the target sector.
If an error occurs when writing to the target sector, retries are attempted irrespectively of the R bit setting.
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 occurred. 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.
At command issuance (I/O registers setting contents)
1F7H(CM) | 0 | 0 | 1 | 1 | 0 | 0 | 0 | R |
|
|
|
|
|
| |||
1F6H(DH) | x | L | x | 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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|