360050398

10.8.19 Read Multiple EXT (29h)

COMMAND CODE

0 0 1 0 1 0 0 1

 

REGISTER

 

 

 

REGISTER SETTING

NORMAL COMPLETION

DR

 

 

drive no.

 

no change

LBA

Current

 

LBA(7:0)

HOB=0

 

last address

 

 

Low

Previous

 

LBA(31:24)

HOB=1

 

last address

LBA

Current

 

LBA(15:8)

HOB=0

 

last address

Mid

Previous

 

LBA(39:32)

HOB=1

 

last address

LBA

Current

 

LBA(23:16)

HOB=0

 

last address

High

Previous

 

LBA(47:40)

HOB=1

 

last address

SC

Current

 

sector count(7:0)

HOB=0

 

00H

 

Previous

 

sector count(15:8)

HOB=1

 

00H

FT

Current

 

reserved

HOB=0

 

no change

 

Previous

 

reserved

HOB=1

 

no change

This command is basically identical to Read Multiple command except register setting. This command is available in LBA addressing only.

10.8.20 Write Multiple

(C5h)

 

 

 

 

 

 

 

COMMAND CODE

1 1 0 0 0 1 0 1

REGISTER

 

 

REGISTER SETTING

NORMAL COMPLETION

 

DR

drive number

no change

 

CY

starting cylinder

last possible

 

HD

starting head

last possible

 

SN

starting sector

start sector

 

SC

number of sector to write

00H

 

FT

 

 

no change

 

LBA

starting address

last possible

This command performs similarly to the Write Sectors command except for the following features. The Drive sets BSY immediately upon receipt of the command, and interrupts are not issued on each sector but on the transfer of each block which contains the number of sectors defined by Set Multiple Mode command or the default if no intervening Set Multiple command has been issued.

Command execution is identical to the Write Sectors operation except that no interrupt is generated during the transfer of number of sectors defined by the Set Multiple Mode command but generated for each block. DRQ qualification of the transfer is required only for each data block, not for each sector.

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

When the Write Multiple command is issued, the host sets the number of sectors ( not the number of blocks or the block count ) it requests in the Sector Count Register. 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 Write Multiple command is attempted when Write Multiple command are disabled, the Write Multiple operation shall be rejected with an Aborted Command error.

Disk errors occurred during Write Multiple command are posted after the attempted disk write of the block or partial block which are transferred. The Write Multiple command is terminated at the sector in error , even if it was in the middle of a block. Subsequent blocks are not transferred after an error. Interrupts are generated for each block or each sector, when DRQ is set .

After the transfer of a data block which contains a sector with error, the contents of the Command Block Registers are undefined. The host should retry the transfer as individual requests to obtain valid error information.

Toshiba Corporation Digital Media Network Company

Page 72 of 157

© 2005, Copyright TOSHIBA Corporation All Rights Reserved