10.8.18 Read Multiple

(C4h)

 

 

 

 

 

 

 

 

COMMAND CODE

 

1 1 0 0 0 1 0 0

REGISTER

 

 

REGISTER SETTING

NORMAL COMPLETION

 

DR

drive number

no change

 

CY

starting cylinder

last possible

 

HD

 

starting head

last possible

 

SN

starting sector

last possible

 

SC

number of sector to read

00H

 

FT

 

 

 

no change

 

LBA

starting address

last possible

The read multiple command performs similarly to the Read Sectors command except for the following features. Interrupts are not issued on each sector, but on the transfer of each block which contains the number of sectors defined by a Set Multiple Mode command or the default , if no intervening Set Multiple command has been issued.

Command execution is identical to the Read Sectors operation except that the number of sectors defined by a Set Multiple Mode command are transferred without interrupts. DRQ qualification of the transfer is required only at the start of a data block transfer, not required for the transfer of each sector.

The block count of sectors to be transferred without intervening interrupts is programmed by the Set Multiple Mode command, which shall be executed prior to the Read Multiple command.

When the Read Multiple command is issued, the Sector Count Register contains the number of required sectors ( not the number of blocks or the block count ) . If the number of required sectors is not evenly divisible by the block count, The redundant sectors are transferred during the final partial block transfer. The partial block transfer shall be for N sectors, where

N = The redundant sector count ( block count )

If the Read Multiple command is attempted when Read Multiple command are disabled, the Read Multiple operation shall be rejected with an Aborted Command error.

Disk errors occurred during Read Multiple command are posted at the beginning of the block or partial block transfer, but DRQ is still set and the data, including corrupted data, shall be transferred as they normally would .

The contents of the Command Block Registers following the transfer of a data block which has a sector in error are undefined. The host should retry the transfer as individual requests to obtain valid error information.

Subsequent blocks or defective blocks are transferred only when the error is a correctable data error. All other errors after the transfer of the block containing the error terminates the command . Interrupts are generated when DRQ is set at the beginning of each block or partial block.

Toshiba Corporation Digital Media Network Company

Page 71 of 157

© 2005, Copyright TOSHIBA Corporation All Rights Reserved