Specifications
operations are supported. See also the Identify Drive and Set Features
commands.
5.4.9 Read Multiple command
This command (command code C4
H
) is similar to the Read Sectors
command. Interrupts are not generated on every sector, but on the
transfer of a block which contains the number of sectors defined by a Set
Multiple Mode command.
The number of sectors per block to be transferred without intervening
interrupts is programmed by the Set Multiple Mode command, which
must be executed prior to the Read Multiple command. Interrupts are
generated when DRQ is set to 1 at the beginning of each block or partial
block.
When the Read Multiple command is issued, the Sector Count register
contains the number of sectors (not the number of blocks or the block
count) requested.
If the number of requested sectors is not evenly divisible by the block
count, as many full blocks as possible are transferred, followed by a final,
partial block transfer. The partial block transfer is for
n
sectors, where
n
= Remainder (sector count / block count)
If the Read Multiple command is attempted before the Set Multiple Mode
command has been executed or when Read Multiple commands are
disabled, the Read Multiple operation is rejected with an Aborted Com-
mand error.
Disc errors encountered during Read Multiple commands are posted at
the beginning of the block or partial block transfer, but DRQ is still set
and the data transfer takes place as it normally would, including transfer
of corrupted data, if any.
The contents of the Command Block registers following the transfer of a
data block which had a sector in error are undefined. The host should
retry the transfer as individual requests to obtain valid error information.
Subsequent blocks or partial blocks are transferred only if the error was
a correctable data error. All other errors cause the command to stop after
transfer of the block which contained the error.
48 ATA Interface Reference Manual, Rev. C










