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