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.
(6)WRITE MULTIPLE (X'C5')
This command is similar to the WRITE SECTOR(S) command. The device does not generate interrupts (assertion of the INTRQ signal) on each sector but on the transfer of a block which contains the number of sectors for which the number is defined by the SET MULTIPLE MODE command.
The implementation of the WRITE MULTIPLE command is identical to that of the WRITE SECTOR(S) command except that the number of sectors is specified by the SET MULTIPLE MODE command are transferred without intervening interrupts. In the WRITE MULTIPLE command operation, the DRQ bit of the Status register is required to set only at the start of the data block, not on each sector.
The number of sectors (block count) to be transferred without interruption is specified by the SET MULTIPLE MODE command. The SET MULTIPLE MODE command should be executed prior to the WRITE MULTIPLE command.
When the WRITE MULTIPLE command is issued, the Sector Count register contains the number of sectors requested (not a number of the block count or a number of sectors in a block).
Upon receipt of this command, the device executes this command even if the value of the Sector Count register is less than the defined block count the value of the Sector Count should not be 0).
If the number of requested sectors is not divided evenly (having the same number of sectors [block count]), as many full blocks as possible are transferred, then a final partial block is transferred. The number of sectors in the partial block to be transferred is n where n = remainder of ("number of sectors"/"block count").
If the WRITE MULTIPLE command is issued before the SET MULTIPLE MODE command is executed or when WRITE MULTIPLE command is disabled, the device rejects the WRITE MULTIPLE command with an ABORTED COMMAND error.
Disk errors encountered during execution of the WRITE MULTIPLE command are posted after attempting to write the block or the partial block that was transferred. Write operation ends at the sector where the error was encountered even if the sector is in the middle of a block. If an error occurs, the subsequent block shall not be transferred. Interrupts are generated when the DRQ bit of the Status register is set at the beginning of each block or partial block.
5 - 23 |